--******************************************************************************
--* @author SAKULIN Hannes <hsakulin@dsy-srv3.cern.ch>
--* @date $Date: 2005/01/21 10:15:35 $
--* @version $Revision: 1.5 $
--******************************************************************************
--* @short VME Address Map of ROP Chip.
--*
--* All addresses are in bytes (not words)!
--******************************************************************************
--/
package ROPVMEAddrMap is
-------------------------------------------------------------------------------
-- Chip Base Addresses on GMT Board
-------------------------------------------------------------------------------
constant ROP_base : integer := 16#000000#;
constant INF_base : integer := 16#100000#;
constant INC_base : integer := 16#200000#;
constant IND_base : integer := 16#300000#;
constant INB_base : integer := 16#400000#;
constant AUF_base : integer := 16#500000#;
constant LFF_base : integer := 16#600000#;
constant LFB_base : integer := 16#700000#;
constant AUB_base : integer := 16#800000#;
constant SRT_base : integer := 16#900000#;
constant ALL_base : integer := 16#A00000#; ---writing simultaneously to all chips
constant MEM_end : integer := 16#9FFFFE#; -- top address
-------------------------------------------------------------------------------
-- Registers
-------------------------------------------------------------------------------
constant ROP_chip_id0_raddr : integer := 16#00#; -- CHIP ID 0 r
constant ROP_chip_id1_raddr : integer := 16#02#; -- CHIP ID 1 r
constant ROP_chip_rev0_raddr : integer := 16#04#; -- CHIP rev 0 r
constant ROP_chip_rev1_raddr : integer := 16#06#; -- CHIP rev 1 r
constant ROP_JTAG_base : integer := 16#20#; -- base address of JTAG controller
constant ROP_reset_addr : integer := 16#30#; -- reset command reg r/w
constant ROP_reset_dcm_addr : integer := 16#32#; -- reset dcm command reg r/w
constant ROP_command_addr : integer := 16#34#; -- set busy, ready r/w
constant ROP_JTAG_enable_addr : integer := 16#36#; -- bit 0 for Xilinx
-- bit 1 for Altera
constant ROP_prog_enable_addr : integer := 16#40#; -- enable programming reg r/w
constant ROP_nprog_addr : integer := 16#42#; -- nprog reg r/w
constant ROP_init_cmd_addr : integer := 16#44#; -- init command reg r/w
constant ROP_init_status_raddr : integer := 16#46#; -- init status reg r
constant ROP_done_raddr : integer := 16#48#; -- done status reg r
constant ROP_din_INF_addr : integer := 16#4A#; -- din reg INF w
constant ROP_din_INC_addr : integer := 16#4C#; -- din reg INC w
constant ROP_din_IND_addr : integer := 16#4E#; -- din reg IND w
constant ROP_din_INB_addr : integer := 16#50#; -- din reg INB w
constant ROP_din_AUF_addr : integer := 16#52#; -- din reg AUF w
constant ROP_din_LFF_addr : integer := 16#54#; -- din reg LFF w
constant ROP_din_LFB_addr : integer := 16#56#; -- din reg LFB w
constant ROP_din_AUB_addr : integer := 16#58#; -- din reg AUB w
constant ROP_din_SRT_addr : integer := 16#5A#; -- din reg SRT w
constant ROP_dcm_locked_raddr : integer := 16#60#; -- dcm locked status reg r
constant ROP_status0_raddr : integer := 16#62#; -- status0 reg r
constant ROP_status1_raddr : integer := 16#64#; -- status1 reg r
constant ROP_dummy_cmd_addr : integer := 16#66#; -- dummy command reg
constant ROP_dummy_raddr : integer := 16#68#; -- dummy status
constant ROP_LATDelayReg_addr : integer := 16#70#; -- latency
constant ROP_VMEWriteAllMask_addr : integer := 16#72#; -- dummy status
-------------------------------------------------------------------------------
-- Distributed RAM blocks
-------------------------------------------------------------------------------
constant ROP_DistrRam_base : integer := 16#00400#; -- start distributed RAM at
-- 1k
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Block RAM blocks
-------------------------------------------------------------------------------
-- -- blocks at 1k
constant ROP_BlockRam_base : integer := 16#10000#; -- start block RAM blocks
-- -- at 64k
end package ROPVMEAddrMap;
package body ROPVMEAddrMap is
end package body ROPVMEAddrMap;