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.

109 lines
3.0 KiB

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