-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathipbus_package.vhd
36 lines (26 loc) · 891 Bytes
/
ipbus_package.vhd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
library IEEE;
use IEEE.STD_LOGIC_1164.all;
package ipbus is
-- The signals going from master to slaves
type ipb_wbus is
record
ipb_addr: std_logic_vector(31 downto 0);
ipb_wdata: std_logic_vector(31 downto 0);
ipb_strobe: std_logic;
ipb_write: std_logic;
end record;
type ipb_wbus_array is array(natural range <>) of ipb_wbus;
-- The signals going from slaves to master
type ipb_rbus is
record
ipb_rdata: std_logic_vector(31 downto 0);
ipb_ack: std_logic;
ipb_err: std_logic;
end record;
type ipb_rbus_array is array(natural range <>) of ipb_rbus;
constant IPB_RBUS_NULL: ipb_rbus := ((others => '0'), '0', '0');
constant IPB_WBUS_NULL: ipb_wbus := ((others => '0'), (others => '0'), '0', '0');
-- For top-level generics
type ipb_mac_cfg is (EXTERNAL, INTERNAL);
type ipb_ip_cfg is (EXTERNAL, INTERNAL);
end ipbus;