3 use ieee.std_logic_1164.all;
4 use ieee.std_logic_arith.all;
5 use ieee.std_logic_unsigned.all;
6 use ieee.numeric_std.all;
8 use work.lx_rocon_pkg.all;
10 -- 4 kB data memory for Thumbl core
11 -- To be flashed from the Master CPU
13 entity lx_rocon_dmem is
16 -- Memory wiring for Tumbl
19 adr_i : in std_logic_vector(11 downto 2);
21 bsel_i : in std_logic_vector(3 downto 0);
22 dat_i : in std_logic_vector(31 downto 0);
23 dat_o : out std_logic_vector(31 downto 0);
25 -- Memory wiring for Master CPU
28 we_m : in std_logic_vector(3 downto 0);
29 addr_m : in std_logic_vector(9 downto 0);
30 din_m : in std_logic_vector(31 downto 0);
31 dout_m : out std_logic_vector(31 downto 0)
36 architecture rtl of lx_rocon_dmem is
38 signal wre_i_s : std_logic_vector(3 downto 0);
42 wre_i_s <= bsel_i when (wre_i = '1') else "0000";
44 I_RAMB: xilinx_dualport_bram
58 addra => adr_i(11 downto 2),