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);
24 -- Memory wiring for Master CPU
27 we_m : in std_logic_vector(3 downto 0);
28 addr_m : in std_logic_vector(9 downto 0);
29 din_m : in std_logic_vector(31 downto 0);
30 dout_m : out std_logic_vector(31 downto 0)
34 architecture rtl of lx_rocon_dmem is
36 signal wre_i_s : std_logic_vector(3 downto 0);
40 wre_i_s <= bsel_i when (wre_i = '1') else "0000";
42 I_RAMB: xilinx_dualport_bram_write_first
56 addra => adr_i(11 downto 2),