Library of reusable VHDL components
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
2.6 KiB

  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. package WishBoneP is
  4. component WishBoneMasterE is
  5. port (
  6. --+ wishbone system if
  7. WbRst_i : in std_logic;
  8. WbClk_i : in std_logic;
  9. --+ wishbone outputs
  10. WbCyc_o : out std_logic;
  11. WbStb_o : out std_logic;
  12. WbWe_o : out std_logic;
  13. WbAdr_o : out std_logic_vector;
  14. WbDat_o : out std_logic_vector;
  15. --+ wishbone inputs
  16. WbDat_i : in std_logic_vector;
  17. WbAck_i : in std_logic;
  18. WbErr_i : in std_logic;
  19. --+ local register if
  20. LocalWen_i : in std_logic;
  21. LocalRen_i : in std_logic;
  22. LocalAdress_i : in std_logic_vector;
  23. LocalData_i : in std_logic_vector;
  24. LocalData_o : out std_logic_vector;
  25. LocalAck_o : out std_logic;
  26. LocalError_o : out std_logic
  27. );
  28. end component WishBoneMasterE;
  29. component WishBoneSlaveE is
  30. port (
  31. --+ wishbone system if
  32. WbRst_i : in std_logic;
  33. WbClk_i : in std_logic;
  34. --+ wishbone inputs
  35. WbCyc_i : in std_logic;
  36. WbStb_i : in std_logic;
  37. WbWe_i : in std_logic;
  38. WbAdr_i : in std_logic_vector;
  39. WbDat_i : in std_logic_vector;
  40. --* wishbone outputs
  41. WbDat_o : out std_logic_vector;
  42. WbAck_o : out std_logic;
  43. WbErr_o : out std_logic;
  44. --+ local register if
  45. LocalWen_o : out std_logic;
  46. LocalRen_o : out std_logic;
  47. LocalAdress_o : out std_logic_vector;
  48. LocalData_o : out std_logic_vector;
  49. LocalData_i : in std_logic_vector
  50. );
  51. end component WishBoneSlaveE;
  52. component WishBoneCheckerE is
  53. port (
  54. --+ wishbone system if
  55. WbRst_i : in std_logic;
  56. WbClk_i : in std_logic;
  57. --+ wishbone outputs
  58. WbMCyc_i : in std_logic;
  59. WbMStb_i : in std_logic;
  60. WbMWe_i : in std_logic;
  61. WbMAdr_i : in std_logic_vector;
  62. WbMDat_i : in std_logic_vector;
  63. --+ wishbone inputs
  64. WbSDat_i : in std_logic_vector;
  65. WbSAck_i : in std_logic;
  66. WbSErr_i : in std_logic;
  67. WbRty_i : in std_logic
  68. );
  69. end component WishBoneCheckerE;
  70. type t_wishbone_if is record
  71. --+ wishbone outputs
  72. Cyc : std_logic;
  73. Stb : std_logic;
  74. We : std_logic;
  75. Adr : std_logic_vector;
  76. WDat : std_logic_vector;
  77. --+ wishbone inputs
  78. RDat : std_logic_vector;
  79. Ack : std_logic;
  80. Err : std_logic;
  81. end record t_wishbone_if;
  82. end package WishBoneP;