Line 20... |
Line 20... |
USE mblite.core_Pkg.ALL;
|
USE mblite.core_Pkg.ALL;
|
USE mblite.std_Pkg.ALL;
|
USE mblite.std_Pkg.ALL;
|
|
|
ENTITY mblite_soc IS PORT
|
ENTITY mblite_soc IS PORT
|
(
|
(
|
sys_clk_i : IN std_ulogic;
|
sys_clk_i : IN std_logic;
|
dbg_dmem_o_we_o : OUT std_ulogic;
|
dbg_dmem_o_we_o : OUT std_logic;
|
dbg_dmem_o_ena_o : OUT std_ulogic;
|
dbg_dmem_o_ena_o : OUT std_logic;
|
sys_rst_i : IN std_ulogic;
|
sys_rst_i : IN std_logic;
|
sys_ena_i : IN std_ulogic;
|
sys_ena_i : IN std_logic;
|
sys_int_i : IN std_ulogic;
|
sys_int_i : IN std_logic;
|
dbg_dmem_o_adr_o : OUT std_ulogic_vector (31 DOWNTO 0);
|
dbg_dmem_o_adr_o : OUT std_logic_vector (31 DOWNTO 0);
|
dbg_dmem_o_dat_o : OUT std_ulogic_vector (31 DOWNTO 0);
|
dbg_dmem_o_dat_o : OUT std_logic_vector (31 DOWNTO 0);
|
dbg_dmem_o_sel_o : OUT std_ulogic_vector ( 3 DOWNTO 0)
|
dbg_dmem_o_sel_o : OUT std_logic_vector ( 3 DOWNTO 0)
|
);
|
);
|
END mblite_soc;
|
END mblite_soc;
|
|
|
ARCHITECTURE arch OF mblite_soc IS
|
ARCHITECTURE arch OF mblite_soc IS
|
|
|
Line 41... |
Line 41... |
WIDTH : integer;
|
WIDTH : integer;
|
SIZE : integer
|
SIZE : integer
|
);
|
);
|
PORT
|
PORT
|
(
|
(
|
dat_o : OUT std_ulogic_vector(WIDTH - 1 DOWNTO 0);
|
dat_o : OUT std_logic_vector(WIDTH - 1 DOWNTO 0);
|
dat_i : IN std_ulogic_vector(WIDTH - 1 DOWNTO 0);
|
dat_i : IN std_logic_vector(WIDTH - 1 DOWNTO 0);
|
adr_i : IN std_ulogic_vector(SIZE - 1 DOWNTO 0);
|
adr_i : IN std_logic_vector(SIZE - 1 DOWNTO 0);
|
wre_i : IN std_ulogic;
|
wre_i : IN std_logic;
|
ena_i : IN std_ulogic;
|
ena_i : IN std_logic;
|
clk_i : IN std_ulogic
|
clk_i : IN std_logic
|
);
|
);
|
END COMPONENT;
|
END COMPONENT;
|
|
|
COMPONENT sram_4en_init IS GENERIC
|
COMPONENT sram_4en_init IS GENERIC
|
(
|
(
|
WIDTH : integer;
|
WIDTH : integer;
|
SIZE : integer
|
SIZE : integer
|
);
|
);
|
PORT
|
PORT
|
(
|
(
|
dat_o : OUT std_ulogic_vector(WIDTH - 1 DOWNTO 0);
|
dat_o : OUT std_logic_vector(WIDTH - 1 DOWNTO 0);
|
dat_i : IN std_ulogic_vector(WIDTH - 1 DOWNTO 0);
|
dat_i : IN std_logic_vector(WIDTH - 1 DOWNTO 0);
|
adr_i : IN std_ulogic_vector(SIZE - 1 DOWNTO 0);
|
adr_i : IN std_logic_vector(SIZE - 1 DOWNTO 0);
|
wre_i : IN std_ulogic_vector(3 DOWNTO 0);
|
wre_i : IN std_logic_vector(3 DOWNTO 0);
|
ena_i : IN std_ulogic;
|
ena_i : IN std_logic;
|
clk_i : IN std_ulogic
|
clk_i : IN std_logic
|
);
|
);
|
END COMPONENT;
|
END COMPONENT;
|
|
|
SIGNAL dmem_o : dmem_out_type;
|
SIGNAL dmem_o : dmem_out_type;
|
SIGNAL imem_o : imem_out_type;
|
SIGNAL imem_o : imem_out_type;
|
SIGNAL dmem_i : dmem_in_type;
|
SIGNAL dmem_i : dmem_in_type;
|
SIGNAL imem_i : imem_in_type;
|
SIGNAL imem_i : imem_in_type;
|
|
|
SIGNAL mem_enable : std_ulogic;
|
SIGNAL mem_enable : std_logic;
|
SIGNAL sel_o : std_ulogic_vector(3 DOWNTO 0);
|
SIGNAL sel_o : std_logic_vector(3 DOWNTO 0);
|
|
|
CONSTANT std_out_adr : std_ulogic_vector(CFG_DMEM_SIZE - 1 DOWNTO 0) := X"FFFFFFC0";
|
CONSTANT std_out_adr : std_logic_vector(CFG_DMEM_SIZE - 1 DOWNTO 0) := X"FFFFFFC0";
|
CONSTANT rom_size : integer := 13;
|
CONSTANT rom_size : integer := 13;
|
CONSTANT ram_size : integer := 13;
|
CONSTANT ram_size : integer := 13;
|
|
|
BEGIN
|
BEGIN
|
|
|