--******************************************************************************
--* @short VME Address Map of Input FPGA
--*
--* all addresses are in bytes (not words)
--******************************************************************************
--* @author SAKULIN Hannes <hsakulin@dsy-srv3.cern.ch>
--* @date $Date: 2005/01/19 15:34:56 $
--* @version $Revision: 1.11 $
--******************************************************************************
--/
package IFVMEAddrMap is
type TBaseArray is array (integer range<>) of integer;
-------------------------------------------------------------------------------
-- Registers
-------------------------------------------------------------------------------
constant IF_chip_id0_raddr : integer := 16#00#; -- CHIP ID 0 r
constant IF_chip_id1_raddr : integer := 16#02#; -- CHIP ID 1 r
constant IF_chip_rev0_raddr : integer := 16#04#; -- CHIP rev 0 r
constant IF_chip_rev1_raddr : integer := 16#06#; -- CHIP rev 1 r
constant IF_SyncConfigReg_addr : TBaseArray (0 to 3) := (
16#20#, -- muon 0
16#22#, -- muon 1
16#24#, -- muon 2
16#26# -- muon 3
);
constant IF_ReadoutSyncReg_addr : integer := 16#28#;
constant IF_LATDelayReg_addr : integer := 16#30#;
constant IF_SimuSpyConfig_addr : integer := 16#32#;
constant IF_SpyDepth_addr : integer := 16#34#;
constant IF_SpyArmPulse_waddr : integer := 16#36#;
constant IF_SpyDone_raddr : integer := 16#38#;
constant IF_dummy_raddr : integer := 16#40#;
constant IF_PhaseMonitorStatusReg_raddr : integer := 16#42#;
constant IF_ErrorMonitorStatusReg_raddr : integer := 16#44#;
constant IF_CompareCounterReset_waddr : integer := 16#46#;
constant IF_PhaseMonitorCounter_raddr : TBaseArray (0 to 3) := (
16#50#, -- muon 0
16#60#, -- muon 1
16#70#, -- muon 2
16#80# -- muon 3
);
constant IF_ErrorMonitorCounter_raddr : TBaseArray (0 to 3) := (
16#90#, -- muon 0
16#A0#, -- muon 1
16#B0#, -- muon 2
16#C0# -- muon 3
);
constant IF_CompareCounterVec_raddr : integer := 16#100#;
-------------------------------------------------------------------------------
-- Distributed RAM blocks
-------------------------------------------------------------------------------
constant IF_DistrRam_base : integer := 16#00400#; -- start distributed RAM
-- at 1k
-------------------------------------------------------------------------------
-- Block RAM blocks
-------------------------------------------------------------------------------
constant IF_BlockRam_base : integer := 16#10000#; -- start block RAM blocks
-- -- at 64k
constant IF_SimuSpyRAM_base : integer := IF_BlockRam_base;
end package IFVMEAddrMap;
package body IFVMEAddrMap is
end package body IFVMEAddrMap;