37 use IEEE.STD_LOGIC_1164.
all;
38 use ieee.numeric_std.
all;
41 use ipbus_lib.ipbus.
all;
47 clk_ipb : in std_logic;
50 ipb_out : out ipb_rbus;
52 we : in std_logic := '0';
53 q : out std_logic_vector(PARAMETER_RAM_DATA_WIDTH-1 downto 0);
54 addr : in std_logic_vector(2 downto 0)
61 component AlgoParameterRAM
65 wea :
in std_logic_vector(
0 downto 0);
66 addra :
in std_logic_vector(PARAMETER_RAM_ADDR_WIDTH
-1 downto 0);
67 dina :
in std_logic_vector(
31 downto 0);
68 douta :
out std_logic_vector(
31 downto 0);
71 web :
in std_logic_vector(
0 downto 0);
72 addrb :
in std_logic_vector(
2 downto 0);
73 dinb :
in std_logic_vector(PARAMETER_RAM_DATA_WIDTH
-1 downto 0);
74 doutb :
out std_logic_vector(PARAMETER_RAM_DATA_WIDTH
-1 downto 0)
80 signal ram_ena : std_logic;
81 signal ram_wea : std_logic_vector(0 downto 0);
82 signal ram_addra : std_logic_vector(PARAMETER_RAM_ADDR_WIDTH-1 downto 0);
83 signal ram_dina : std_logic_vector(31 downto 0);
84 signal ram_douta : std_logic_vector(31 downto 0);
86 signal ram_clkb : std_logic;
87 signal ram_enb : std_logic;
88 signal ram_web : std_logic_vector(0 downto 0);
89 signal ram_addrb : std_logic_vector(2 downto 0);
90 signal ram_dinb : std_logic_vector(PARAMETER_RAM_DATA_WIDTH-1 downto 0);
91 signal ram_doutb : std_logic_vector(PARAMETER_RAM_DATA_WIDTH-1 downto 0);
94 signal ack : std_logic;
95 signal ack2 : std_logic;
97 signal ipbus_write : std_logic_vector(0 downto 0);
98 signal write_enable : std_logic_vector(0 downto 0);
101 ram_dinb <= (others => '0');
103 IPBUS_RAM :
process(clk_ipb)
105 if rising_edge(clk_ipb) then
106 if ipb_in.ipb_strobe = '1' and ipb_in.ipb_write = '1' then
107 ipbus_write(0) <= '1';
109 ipbus_write(0) <= '0';
111 ack2 <= ipb_in.ipb_strobe and (not ack2) and (not ack);
118 ipb_out.ipb_ack <= ack;
119 ipb_out.ipb_err <= '0';
122 write_enable(0) <= we;
123 ALGO_PARAMETER_RAM : AlgoParameterRAM
126 ena => ipb_in.ipb_strobe,
128 addra => ipb_in.ipb_addr
(PARAMETER_RAM_ADDR_WIDTH-
1 downto 0),
129 dina => ipb_in.ipb_wdata,
130 douta => ipb_out.ipb_rdata,