2 use ieee.std_logic_1164.all;
3 use ieee.std_logic_arith.all;
4 use ieee.std_logic_unsigned.all;
6 --------------------------------------------------------------------------------
10 IRF_ADR_W : integer := 5;
11 IRC_BASE : integer := 1);
13 -- Primary slave intefrace
14 ACK_O : out std_logic;
19 IRC_DAT_I : in std_logic_vector (15 downto 0);
20 -- Shared dual-port memory
21 IRF_ACK_I : in std_logic;
22 IRF_ADR_O : out std_logic_vector (IRF_ADR_W-1 downto 0);
23 IRF_DAT_O : out std_logic_vector (15 downto 0);
24 IRF_STB_O : out std_logic;
25 IRF_WE_O : out std_logic);
28 --------------------------------------------------------------------------------
30 architecture behavioral of irc_dump is
32 subtype irf_adr_t is std_logic_vector (IRF_ADR_W-1 downto 0);
34 constant IRC_ADR : irf_adr_t := conv_std_logic_vector(IRC_BASE, IRF_ADR_W);
36 signal INNER_ACK : std_logic := '0';
38 --------------------------------------------------------------------------------
44 IRF_DAT_O <= IRC_DAT_I;
47 IRF_STB_O <= STB_I and not INNER_ACK;
48 IRF_WE_O <= STB_I and not INNER_ACK;
51 process (CLK_I, RST_I) is
53 if rising_edge(CLK_I) then
62 end architecture behavioral;