63 lines
2.4 KiB
VHDL
63 lines
2.4 KiB
VHDL
-- See the file "LICENSE" for the full license governing this code. --
|
|
|
|
library IEEE;
|
|
use IEEE.STD_LOGIC_1164.all;
|
|
use work.wishbone.all;
|
|
|
|
package config is
|
|
|
|
-----------------------------
|
|
-- RST active level override
|
|
-----------------------------
|
|
constant RST_ACTIVE_HIGH : boolean := false;
|
|
|
|
-----------------------------
|
|
-- mem size (dmem, imem)
|
|
-----------------------------
|
|
constant IMEMSZ : integer := 256; --this is actually WORD-size!
|
|
|
|
-----------------------------
|
|
-- index assignment
|
|
-----------------------------
|
|
-- >> Master indx <<
|
|
constant CFG_LT16 : integer := 0; -- LT16SOC processor core
|
|
constant CFG_MST_TEST : integer := 1;
|
|
|
|
-- >> Slave indx <<
|
|
constant CFG_MEM : integer := 0;
|
|
constant CFG_DMEM : integer := CFG_MEM+1;
|
|
constant CFG_LED : integer := CFG_DMEM+1;
|
|
constant CFG_SW : integer := CFG_LED+1;
|
|
constant CFG_TIMER : integer := CFG_SW+1;
|
|
constant CFG_SCR : integer := CFG_TIMER+1;
|
|
constant CFG_CAN : integer := CFG_SCR+1;
|
|
|
|
-----------------------------
|
|
-- base address (BADR) & mask address (MADR)
|
|
-----------------------------
|
|
-- test slv_base_addr (30bits)
|
|
constant CFG_BADR_MEM : generic_addr_type := 16#00000000#; -- fixed, must start from 0
|
|
constant CFG_BADR_DMEM : generic_addr_type := CFG_BADR_MEM + IMEMSZ*4; --16#00000400#;
|
|
--constant CFG_BADR_NEXTFREEADDRESS : generic_addr_type := 16#00000800#;
|
|
constant CFG_BADR_LED : generic_addr_type := 16#000F0000#;
|
|
constant CFG_BADR_SW : generic_addr_type := 16#000F0004#;
|
|
constant CFG_BADR_TIMER : generic_addr_type := 16#000F0008#;
|
|
constant CFG_BADR_SCR : generic_addr_type := 16#000F00A0#;
|
|
constant CFG_BADR_CAN : generic_addr_type := 16#000F0100#;
|
|
|
|
-- mask addr
|
|
constant CFG_MADR_ZERO : generic_mask_type := 0;
|
|
constant CFG_MADR_FULL : generic_mask_type := 16#3FFFFF#;
|
|
constant CFG_MADR_MEM : generic_mask_type := 16#3FFFFF# - (IMEMSZ*4 -1);
|
|
constant CFG_MADR_DMEM : generic_mask_type := 16#3FFFFF# - (256 -1); -- uses 6 word-bits, size 256 byte
|
|
constant CFG_MADR_LED : generic_mask_type := 16#3FFFFF#; -- size=1 byte
|
|
constant CFG_MADR_SW : generic_mask_type := 16#3FFFFF# - (4 - 1); -- size=4 byte
|
|
constant CFG_MADR_TIMER : generic_mask_type := 16#3FFFFF# - (8 - 1); -- size=8 byte (2 words)
|
|
constant CFG_MADR_SCR : generic_mask_type := 16#3FFFFF# - (8 - 1); -- size=8 byte
|
|
constant CFG_MADR_CAN : generic_mask_type := 16#3FFFFF# - (256 - 1); -- size=256 byte
|
|
|
|
end package config;
|
|
|
|
package body config is
|
|
end config;
|