CMX
CMX firmware code in-line documentation
 All Classes Namespaces Files Functions Variables
CMX_VME_defs.vhd
Go to the documentation of this file.
1 
7 
8 LIBRARY ieee;
9 USE ieee.std_logic_1164.all;
10 USE ieee.numeric_std.all;
11 
12 --------------------------------------------------------------------------------
13 package CMX_VME_defs is
14 --------------------------------------------------------------------------------
15 
17  constant ADDR_REG_RO_test : integer := 16#0100#;
18  constant ADDR_REG_RW_test : integer := 16#0102#;
19 
22  constant ADDR_REG_RO_backplane_forward : integer := 16#0104#;
23 
25  constant ADDR_REG_RW_IDELAY_BACKPLANE : integer := 16#0144#;
26 
27 
29  constant ADDR_REG_RO_EV_COUNTER : integer:= 16#0464#;
30 
34  constant ADDR_REG_RO_PARITY_ERROR_COUNTER : integer:= 16#0468#;
35 
37  constant ADDR_REG_RW_COUNTER_RESET : integer:= 16#04A8#;
38 
39 
41  constant ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_WORD : integer := 16#04AA#;
42 
44  constant ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_CONTROL : integer := 16#04B6#;
45  constant ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_STATUS : integer := 16#04B8#;
46 
47  constant CONST_DPR_CONTROL_SPY : std_logic_vector(3 downto 0) :="0001";
48  constant CONST_DPR_CONTROL_PLAYBACK : std_logic_vector(3 downto 0) :="0010";
49  constant CONST_DPR_CONTROL_VERIFY : std_logic_vector(3 downto 0) :="0011";
50 
51  constant CONST_DPR_STATUS_NORMAL : std_logic_vector(2 downto 0) :="001";
52  constant CONST_DPR_STATUS_WAIT_INHIBIT : std_logic_vector(2 downto 0) :="010";
53  constant CONST_DPR_STATUS_WAIT_READ : std_logic_vector(2 downto 0) :="011";
54  constant CONST_DPR_STATUS_WAIT_WRITE : std_logic_vector(2 downto 0) :="100";
55  constant CONST_DPR_STATUS_WRITE : std_logic_vector(2 downto 0) :="101";
56  constant CONST_DPR_STATUS_READ : std_logic_vector(2 downto 0) :="110";
57 
59  constant ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_START_ADDRESS : integer := 16#04BA#;
60 
62  constant ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_CHECK_ERROR : integer := 16#04DA#;
63 
66  constant ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_NOERROR_COUNTER : integer := 16#051a#;
67 
70  constant ADDR_REG_RW_CLOCK_MANAGER_RESET : integer := 16#055a#;
71 
73  constant ADDR_REG_RO_IDELAYCTRL_RDY : integer := 16#055c#;
74 
76  constant ADDR_REG_RO_IDELAYCTRL_RST : integer := 16#055e#;
77 
79  constant ADDR_REG_RO_IDELAYCTRL_WAS_RST : integer := 16#0560#;
80 
82  constant ADDR_REG_RW_INPUT_MOD_RESET : integer := 16#0562#;
83 
85  constant ADDR_REG_RO_INPUT_MOD_COUNTER_ENABLE : integer := 16#0564#;
86 
89  constant ADDR_REG_RW_CTP_TESTER_DATA_SELECT : integer := 16#0566#;
90 
92  constant ADDR_REG_RW_TOPOTR_GTX_RESET : integer := 16#0568#;
93 
96  constant ADDR_REG_RW_RX_POLARITY : integer := 16#056A#;
97 
99  constant ADDR_REG_RW_TX_POLARITY : integer := 16#0570#;
100 
104  constant ADDR_REG_RW_JET_THRESHOLD_BLOCK : integer := 16#0576#;
105 
110  constant ADDR_REG_RW_DAQ_SLICE : integer := 16#11F6#;
111 
114  constant ADDR_REG_RW_DAQ_RAM_OFFSET : integer := 16#11F8#;
115 
117  constant ADDR_REG_RW_BCID_RESET_VAL : integer := 16#11FA#;
118 
120  constant ADDR_REG_RW_DAQ_ROI_RESET : integer := 16#11FC#;
121 
122 
124  constant ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_WORD : integer := 16#11FE#;
125 
127  constant ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_CONTROL : integer := 16#120A#;
128  constant ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_STATUS : integer := 16#120C#;
129 
131  constant ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_START_ADDRESS : integer := 16#120E#;
132 
135  constant ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_CHECK_ERROR : integer := 16#1210#;
136 
140  constant ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_NOERROR_COUNTER : integer := 16#1250#;
141 
145  constant ADDR_REG_RW_SPY_MEM_WRITE_INHIBIT : integer := 16#1290#;
146 
149  constant ADDR_REG_RW_CTP_OUTPUT_COUNTER_RESET : integer := 16#1292#;
150 
153  constant ADDR_REG_RW_CTP_SPY_MEM_WORD : integer := 16#1294#;
154 
156  constant ADDR_REG_RW_CTP_SPY_MEM_CONTROL : integer := 16#129C#;
157 
159  constant ADDR_REG_RO_CTP_SPY_MEM_STATUS : integer := 16#129E#;
160 
162  constant ADDR_REG_RW_CTP_SPY_MEM_START_ADDRESS : integer :=16#12A0#;
163 
167  constant ADDR_REG_RO_CTP_SPY_MEM_CHECK_ERROR : integer :=16#12A2#;
168 
169 
172  constant ADDR_REG_RO_CTP_SPY_MEM_NOERROR_COUNTER : integer := 16#12AA#;
173 
175  constant ADDR_REG_RW_RTM_INPUT_COUNTER_RESET : integer :=16#12AE#;
176 
179  constant ADDR_REG_RW_RTM_SPY_SOURCE_MEM_WORD : integer := 16#12B0#;
181  constant ADDR_REG_RW_RTM_SPY_SOURCE_MEM_CONTROL : integer := 16#12B8#;
183  constant ADDR_REG_RO_RTM_SPY_SOURCE_MEM_STATUS : integer := 16#12BA#;
184 
186  constant ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_WORD : integer := 16#12BC#;
187  constant ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_CONTROL : integer := 16#12C4#;
188  constant ADDR_REG_RO_RTM_SPY_SYSTEMDS2_MEM_STATUS: integer := 16#12C6#;
189 
191  constant ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_WORD : integer := 16#12C8#;
192  constant ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_CONTROL : integer := 16#12D0#;
193  constant ADDR_REG_RO_RTM_SPY_SYSTEM_MEM_STATUS: integer := 16#12D2#;
194 
197  constant ADDR_REG_RW_RTM_SPY_SOURCE_MEM_START_ADDRESS :integer := 16#12D4#;
199  constant ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_START_ADDRESS :integer := 16#12DA#;
200  constant ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_START_ADDRESS :integer := 16#12E0#;
201 
206  constant ADDR_REG_RO_RTM_PARITY_ERROR_COUNTER : integer :=16#12E6#;
207 
212  constant ADDR_REG_RO_RTM_SPY_SOURCE_MEM_CHECK_ERROR : integer :=16#12F2#;
213 
216  constant ADDR_REG_RO_RTM_SPY_SYSTEMDS2_MEM_CHECK_ERROR : integer :=16#12FE#;
217 
220  constant ADDR_REG_RO_RTM_SPY_SYSTEM_MEM_CHECK_ERROR : integer :=16#130A#;
221 
223  constant ADDR_REG_RO_CLOCK_MANAGER_STATUS : integer := 16#1316#;
224 
226  constant ADDR_REG_RW_DELAY_INPUT_DATA_ADDER : integer := 16#1318#;
227 
230  constant ADDR_REG_RW_BACKPLANE_INPUT_CHANNEL_MASK : integer := 16#131A#;
231 
233  constant ADDR_REG_RW_RTM_OUTPUT_COUNTER_RESET : integer := 16#131C#;
234 
237  constant ADDR_REG_RW_RTM_OUTPUT_SPY_SYSTEM_MEM_WORD : integer := 16#131E#;
238 
240  constant ADDR_REG_RW_RTM_OUTPUT_SPY_SYSTEM_MEM_CONTROL : integer := 16#1326#;
241  constant ADDR_REG_RO_RTM_OUTPUT_SPY_SYSTEM_MEM_STATUS : integer := 16#1328#;
242 
247 
250 
251 
254  constant ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET: integer := 16#1338#;
255 
257  constant ADDR_REG_RW_SUMET_MASK: integer := 16#135E#;
258 
260  constant ADDR_REG_RW_MISSET_MASK: integer := 16#1360#;
261 
264  constant ADDR_REG_RO_CLOCK_DETECT_COUNTER: integer := 16#1362#;
265 
270  constant ADDR_REG_RW_QUIET_FORCE: integer := 16#1382#;
271 
272 
274  constant ADDR_REG_RW_RTM_INPUT_CHANNEL_MASK : integer := 16#1384#;
275 
287  constant ADDR_REG_RO_DAQ_ROI_STATUS : integer := 16#1386#;
288 
290  constant ADDR_REG_RW_DAQ_ROI_GTX_RESET : integer := 16#1388#;
291 
293  constant ADDR_REG_RO_TOPOTR_GTX_STATUS : integer := 16#138A#;
294 
296  constant ADDR_REG_RW_RATE_COUNTER_INHIBIT : integer := 16#138C#;
297 
299  constant ADDR_REG_RW_RATE_COUNTER_RESET : integer := 16#138E#;
300 
302  constant ADDR_REG_RO_RATE_NORMALISATION_COUNTER : integer := 16#1390#;
303 
305  constant ADDR_REG_RO_MULT_LOCAL_COUNTER : integer :=16#1394#;
306 
309  constant ADDR_REG_RO_MULT_REMOTE_COUNTER : integer :=16#13F8#;
310 
312  constant ADDR_REG_RO_MULT_TOTAL_COUNTER : integer :=16#14BA#;
313 
315  constant ADDR_REG_RO_TOB_COUNTER : integer :=16#151E#;
316 
318  constant ADDR_REG_RO_LOCAL_BACKPLANE_OVERFLOW_COUNTER : integer :=16#155E#;
319 
321  constant ADDR_REG_RO_GLOBAL_BACKPLANE_OVERFLOW_COUNTER : integer :=16#159E#;
322 
324  constant ADDR_REG_RO_TOTAL_OVERFLOW_COUNTER : integer :=16#15A2#;
325 
329  constant ADDR_REG_RO_BC_RESET_ERROR_COUNTER : integer := 16#15A6#;
330 
332  constant ADDR_REG_RW_BC_RESET_ERROR_COUNTER_RESET : integer := 16#15A8#;
333 
335  constant ADDR_REG_RO_SUM_ET_COUNTER : integer := 16#15AA#;
336 
338  constant ADDR_REG_RO_MISSING_ET_COUNTER : integer := 16#15CA#;
339 
341  constant ADDR_REG_RO_MISSING_ET_SIGN_COUNTER : integer := 16#160A#;
342 
344  constant ADDR_REG_RO_SUM_ET_WEIGHTED_COUNTER : integer := 16#162A#;
345 
347  constant ADDR_REG_RO_MISSING_ET_RES_COUNTER : integer := 16#164A#;
348 
350  constant ADDR_REG_RO_PRESENCE_COUNTER : integer :=16#166A#;
351 
354  constant ADDR_REG_RW_DISABLE_OVERFLOW_MASK : integer := 16#19EC#;
355 
357  constant ADDR_REG_RO_SYSMON_DATA_BLOCK : integer := 16#19EE#;
358 
359 
361  constant ADDR_REG_RW_MISS_E_THR_BLOCK : integer := 16#1A0E#;
362 
364  constant ADDR_REG_RW_MISS_E_RES_THR_BLOCK : integer := 16#1A2E#;
365 
367  constant ADDR_REG_RW_SUM_ET_THR_BLOCK : integer := 16#1A4E#;
368 
370  constant ADDR_REG_RW_SUM_ET_RES_THR_BLOCK : integer := 16#1A5E#;
371 
373  constant ADDR_REG_RW_XS_T2_A2_THR_BLOCK : integer := 16#1A6E#;
374 
376  constant ADDR_REG_RW_T_MISS_E_MIN_PARAM_BLOCK : integer := 16#1A8E#;
377 
379  constant ADDR_REG_RW_T_MISS_E_MAX_PARAM_BLOCK : integer := 16#1AAE#;
380 
382  constant ADDR_REG_RW_T_SUM_E_MIN_PARAM_BLOCK : integer := 16#1ACE#;
383 
385  constant ADDR_REG_RW_T_SUM_E_MAX_PARAM_BLOCK : integer := 16#1ADE#;
386 
388  constant ADDR_REG_RW_XS_B2_PARAM_BLOCK : integer := 16#1AEE#;
389 
397  constant ADDR_REG_RO_CLOCK_DIFF_DETECT_COUNTER : integer := 16#1AFE#;
398 
399 
404  constant ADDR_REG_RO_CLOCK_DIFF_DURATION_COUNTER : integer := 16#1B3E#;
405 
410  constant ADDR_REG_RO_CLOCK_DIFF_RATCHET_UP_COUNTER : integer := 16#1B7E#;
411 
414  constant ADDR_REG_RO_CLOCK_DIFF_RATCHET_DOWN_COUNTER : integer := 16#1BBE#;
415 
416 
417 
418 
425  constant ADDR_REG_RO_CMX_FLAVOR : integer := 16#4998#;
426 
428  constant ADDR_REG_RO_VERSION_COMMON : integer := 16#5000#;
429  constant ADDR_REG_RO_VERSION_FLAVOR_COMMON : integer := 16#5004#;
430  constant ADDR_REG_RO_VERSION_FLAVOR_LOCAL : integer := 16#5008#;
431 
432 
433  ----------
434  function vme_ren (
435  ia_vme: integer; -- VME location
436  addr_vme: std_logic_vector (15 downto 0); -- VME address bus
437  ncs: std_logic; -- chip select, active low
438  rd_nwr: std_logic) -- strobe, active high
439  --
440  return std_logic; -- read enable for location ia_vme
441 
442  ----------
443  function vme_wen (
444  ia_vme: integer; -- VME location
445  addr_vme: std_logic_vector (15 downto 0); -- VME address bus
446  ncs: std_logic; -- chip select, active low
447  rd_nwr: std_logic) -- strobe, active high
448  --
449  return std_logic; -- write enable for location ia_vme
450 
451 
452 end CMX_VME_defs;
453 
454 
455 
456 --------------------------------------------------------------------------------
457 package body CMX_VME_defs is
458 --------------------------------------------------------------------------------
459 --------------------------------------------------------------------------------
460 
461 
462 
463  ----------
464  function vme_ren (
465  ia_vme: integer; -- VME location
466  addr_vme: std_logic_vector (15 downto 0); -- VME address bus
467  ncs: std_logic; -- chip select, active low
468  rd_nwr: std_logic) -- 1=read, 0=write
469  --
470  return std_logic is -- read enable for location ia_vme
471  ----------
472  --
473  variable iaddr_vme: integer range 0 to 65535; -- 16-bit address
474  begin
475  --
476  iaddr_vme := to_integer(unsigned(addr_vme));
477  if (iaddr_vme = ia_vme/2) and (ncs = '0') and (rd_nwr = '1') then
478  return '1';
479  else
480  return '0';
481  end if;
482  --
483  end vme_ren;
484 
485 
486 
487 
488  ----------
489  function vme_wen (
490  ia_vme: integer; -- VME location
491  addr_vme: std_logic_vector (15 downto 0); -- VME address bus
492  ncs: std_logic; -- chip select, active low
493  rd_nwr: std_logic) -- 1=read, 0=write
494  --
495  return std_logic is -- write enable for location ia_vme
496  ----------
497  --
498  variable iaddr_vme: integer range 0 to 65535; -- 16-bit address
499  begin
500  --
501  iaddr_vme := to_integer(unsigned(addr_vme));
502  if (iaddr_vme = ia_vme/2) and (ncs = '0') and (rd_nwr = '0') then
503  return '1';
504  else
505  return '0';
506  end if;
507  --
508  end vme_wen;
509 
510 
511 end CMX_VME_defs;
512 
513 
integer :=16#120C# ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_STATUS
integer :=16#15AA# ADDR_REG_RO_SUM_ET_COUNTER
8 32-bit sum ET threshold counters, 16 adresses, last one 15C8
integer :=16#0104# ADDR_REG_RO_backplane_forward
integer :=16#0100# ADDR_REG_RO_test
test RO register
integer :=16#0560# ADDR_REG_RO_IDELAYCTRL_WAS_RST
states if IDELAYCTRL has been reset
integer :=16#1250# ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_NOERROR_COUNTER
integer :=16#12FE# ADDR_REG_RO_RTM_SPY_SYSTEMDS2_MEM_CHECK_ERROR
integer :=16#1A2E# ADDR_REG_RW_MISS_E_RES_THR_BLOCK
8 31-bit MISS_E_RES THRESHOLDS, 16 address, last one 1A4C
integer :=16#12DA# ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_START_ADDRESS
one register each for the start adresses for the system and ds2 rams
integer :=16#1A0E# ADDR_REG_RW_MISS_E_THR_BLOCK
8 31-bit MISS_E THRESHOLDS, 16 address, last one 1A2C
integer :=16#1AFE# ADDR_REG_RO_CLOCK_DIFF_DETECT_COUNTER
integer :=16#11F8# ADDR_REG_RW_DAQ_RAM_OFFSET
integer :=16#120E# ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_START_ADDRESS
one 8-bit words (upper 8 bits unused)
integer :=16#0102# ADDR_REG_RW_test
test RW register
std_logic_vector (3 downto 0) :="0001" CONST_DPR_CONTROL_SPY
integer :=16#0568# ADDR_REG_RW_TOPOTR_GTX_RESET
TOPO TR GTX RX (bit 0) TX (bit 1) reset.
integer :=16#166A# ADDR_REG_RO_PRESENCE_COUNTER
224 32-bit counters, 448 addresses, last one is 19EA
integer :=16#1AAE# ADDR_REG_RW_T_MISS_E_MAX_PARAM_BLOCK
8 31-bit T_MISS_E_MAX PARAM, 16 address, last one 1ACC
integer :=16#1AEE# ADDR_REG_RW_XS_B2_PARAM_BLOCK
8 15-bit XS_B PARAM, 8 address last one 1AFC
integer :=16#1316# ADDR_REG_RO_CLOCK_MANAGER_STATUS
PLL status (bit 0 is DS1 MMCM lock and bit 1 is for DS2 MMCM)
integer :=16#0144# ADDR_REG_RW_IDELAY_BACKPLANE
400 delay values last address is 16#0462#
integer :=16#14BA# ADDR_REG_RO_MULT_TOTAL_COUNTER
25 32-bit global rate counters (50 addresses), last one is 151C
integer :=16#1292# ADDR_REG_RW_CTP_OUTPUT_COUNTER_RESET
integer :=16#12D0# ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_CONTROL
std_logic_vector (2 downto 0) :="101" CONST_DPR_STATUS_WRITE
integer :=16#12AE# ADDR_REG_RW_RTM_INPUT_COUNTER_RESET
reset for the RTM input module counters
integer :=16#04B6# ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_CONTROL
control and status words with states defined below
integer :=16#1318# ADDR_REG_RW_DELAY_INPUT_DATA_ADDER
Delay for the input adder data.
integer :=16#04A8# ADDR_REG_RW_COUNTER_RESET
counter reset - resets counters of events and errors
integer :=16#12C8# ADDR_REG_RW_RTM_SPY_SYSTEM_MEM_WORD
same for the system RTM spies
integer :=16#12F2# ADDR_REG_RO_RTM_SPY_SOURCE_MEM_CHECK_ERROR
integer :=16#12AA# ADDR_REG_RO_CTP_SPY_MEM_NOERROR_COUNTER
integer :=16#15A8# ADDR_REG_RW_BC_RESET_ERROR_COUNTER_RESET
hold bit 0 high to reset the BCRESET error counter
integer :=16#055e# ADDR_REG_RO_IDELAYCTRL_RST
current IDELAYCTRL reset status
integer :=16#19EC# ADDR_REG_RW_DISABLE_OVERFLOW_MASK
integer :=16#19EE# ADDR_REG_RO_SYSMON_DATA_BLOCK
reserve 16 addresses for the sysmon, in first implementation 15 are used
integer :=16#162A# ADDR_REG_RO_SUM_ET_WEIGHTED_COUNTER
8 32-bit weighted/restricted sum ET threshold counters, 16 adresses, last one 1648 ...
integer :=16#055a# ADDR_REG_RW_CLOCK_MANAGER_RESET
integer :=16#1ADE# ADDR_REG_RW_T_SUM_E_MAX_PARAM_BLOCK
8 15-bit T_SUM_E_MAX PARAM, 8 address, last one 1AEC
integer :=16#11FA# ADDR_REG_RW_BCID_RESET_VAL
what is the value of the BCID we are get when the BC reset is received
integer :=16#1A5E# ADDR_REG_RW_SUM_ET_RES_THR_BLOCK
8 15-bit SUM_ET_RES THRESHOLDS, 8 address, last one 1A6C
integer :=16#15A6# ADDR_REG_RO_BC_RESET_ERROR_COUNTER
std_logic vme_wenia_vme,addr_vme,ncs,rd_nwr,
integer :=16#1386# ADDR_REG_RO_DAQ_ROI_STATUS
integer :=16#135E# ADDR_REG_RW_SUMET_MASK
mask for the restricted range sum ET
integer :=16#138E# ADDR_REG_RW_RATE_COUNTER_RESET
bit 0 set resets (and holds reset) the rate counters
integer :=16#1338# ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET
integer :=16#138A# ADDR_REG_RO_TOPOTR_GTX_STATUS
bit 0 gives status of RX; bit 1 gives status of TX
integer :=16#0468# ADDR_REG_RO_PARITY_ERROR_COUNTER
integer :=16#04B8# ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_STATUS
integer :=16#1ACE# ADDR_REG_RW_T_SUM_E_MIN_PARAM_BLOCK
8 15-bit T_SUM_E_MIN PARAM, 8 address, last one 1ADC
integer :=16#04AA# ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_WORD
six consecutive addresses ending at 4B4
integer :=16#5000# ADDR_REG_RO_VERSION_COMMON
version registers
std_logic_vector (3 downto 0) :="0011" CONST_DPR_CONTROL_VERIFY
integer :=16#129E# ADDR_REG_RO_CTP_SPY_MEM_STATUS
status word for the CTP spy memory
integer :=16#1210# ADDR_REG_RO_INPUT_SPY_MEM_SYSTEM_CHECK_ERROR
integer :=16#12A0# ADDR_REG_RW_CTP_SPY_MEM_START_ADDRESS
start address for the CTP Spy memory
integer :=16#131E# ADDR_REG_RW_RTM_OUTPUT_SPY_SYSTEM_MEM_WORD
std_logic_vector (2 downto 0) :="110" CONST_DPR_STATUS_READ
std_logic vme_renia_vme,addr_vme,ncs,rd_nwr,
integer :=16#1B7E# ADDR_REG_RO_CLOCK_DIFF_RATCHET_UP_COUNTER
integer :=16#1326# ADDR_REG_RW_RTM_OUTPUT_SPY_SYSTEM_MEM_CONTROL
output RTM spy control and status
integer :=16#12D2# ADDR_REG_RO_RTM_SPY_SYSTEM_MEM_STATUS
integer :=16#1336# ADDR_REG_RW_RTM_OUTPUT_SPY_SYSTEM_MEM_START_ADDRESS
start address for the RTM spy memory
integer :=16#1294# ADDR_REG_RW_CTP_SPY_MEM_WORD
integer :=16#12B8# ADDR_REG_RW_RTM_SPY_SOURCE_MEM_CONTROL
control
integer :=16#11F6# ADDR_REG_RW_DAQ_SLICE
integer :=16#160A# ADDR_REG_RO_MISSING_ET_SIGN_COUNTER
8 32-bit missing ET significance threshold counters, 16 adresses, last one 1628
integer :=16#0566# ADDR_REG_RW_CTP_TESTER_DATA_SELECT
integer :=16#12BA# ADDR_REG_RO_RTM_SPY_SOURCE_MEM_STATUS
status
integer :=16#132A# ADDR_REG_RO_RTM_OUTPUT_SPY_SYSTEM_MEM_CHECK_ERROR
integer :=16#13F8# ADDR_REG_RO_MULT_REMOTE_COUNTER
integer :=16#151E# ADDR_REG_RO_TOB_COUNTER
16 32-bit tob counters (32 adresses), last one is 155C
integer :=16#0562# ADDR_REG_RW_INPUT_MOD_RESET
async register for controlling the reset of the input module
integer :=16#12E6# ADDR_REG_RO_RTM_PARITY_ERROR_COUNTER
std_logic_vector (2 downto 0) :="011" CONST_DPR_STATUS_WAIT_READ
integer :=16#131C# ADDR_REG_RW_RTM_OUTPUT_COUNTER_RESET
error counter reset register for the RTM output module
integer :=16#120A# ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_CONTROL
control and status words with states defined below
integer :=16#1B3E# ADDR_REG_RO_CLOCK_DIFF_DURATION_COUNTER
integer :=16#1384# ADDR_REG_RW_RTM_INPUT_CHANNEL_MASK
mask for the RTM inputs.
integer :=16#4998# ADDR_REG_RO_CMX_FLAVOR
integer :=16#12C6# ADDR_REG_RO_RTM_SPY_SYSTEMDS2_MEM_STATUS
integer :=16#1A8E# ADDR_REG_RW_T_MISS_E_MIN_PARAM_BLOCK
8 31-bit T_MISS_E_MIN PARAM, 16 address, last one 1AAC
integer :=16#12A2# ADDR_REG_RO_CTP_SPY_MEM_CHECK_ERROR
integer :=16#1A6E# ADDR_REG_RW_XS_T2_A2_THR_BLOCK
8 31-bit XS_T2_A2 THRESHOLDS, 16 address, last one 1A8C
integer :=16#1382# ADDR_REG_RW_QUIET_FORCE
_library_ IEEEIEEE
Definition: CMX_version.vhd:9
integer :=16#12B0# ADDR_REG_RW_RTM_SPY_SOURCE_MEM_WORD
std_logic vme_renia_vme,addr_vme,ncs,rd_nwr,
integer :=16#1290# ADDR_REG_RW_SPY_MEM_WRITE_INHIBIT
integer :=16#04BA# ADDR_REG_RW_INPUT_SPY_MEM_SOURCE_START_ADDRESS
16 9-bit words (upper 7 bits unused), ending address 4D8
std_logic_vector (2 downto 0) :="001" CONST_DPR_STATUS_NORMAL
integer :=16#12C4# ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_CONTROL
integer :=16#1360# ADDR_REG_RW_MISSET_MASK
mask for the restricted range missing ET
integer :=16#1388# ADDR_REG_RW_DAQ_ROI_GTX_RESET
bit 0 reset DAQ, bit 1 resets ROI GTX (should be done at the same time)
integer :=16#1BBE# ADDR_REG_RO_CLOCK_DIFF_RATCHET_DOWN_COUNTER
integer :=16#0570# ADDR_REG_RW_TX_POLARITY
3 consecutive addresses for the TX polarity
integer :=16#11FC# ADDR_REG_RW_DAQ_ROI_RESET
the LSB of this will cause the DAQ machinery to be reset
integer :=16#055c# ADDR_REG_RO_IDELAYCTRL_RDY
this register reports the status of the io delay control circuits
std_logic_vector (2 downto 0) :="100" CONST_DPR_STATUS_WAIT_WRITE
integer :=16#164A# ADDR_REG_RO_MISSING_ET_RES_COUNTER
8 32-bit weighted/restricted missing ET threshold counters, 16 adresses, last one 1668 ...
integer :=16#12BC# ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_WORD
same for the ds 2 RTM spies
integer :=16#04DA# ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_CHECK_ERROR
16 24-bit error latches last one is 16#0518#
integer :=16#12D4# ADDR_REG_RW_RTM_SPY_SOURCE_MEM_START_ADDRESS
integer :=16#12E0# ADDR_REG_RW_RTM_SPY_SYSTEMDS2_MEM_START_ADDRESS
std_logic_vector (3 downto 0) :="0010" CONST_DPR_CONTROL_PLAYBACK
integer :=16#5008# ADDR_REG_RO_VERSION_FLAVOR_LOCAL
integer :=16#1328# ADDR_REG_RO_RTM_OUTPUT_SPY_SYSTEM_MEM_STATUS
integer :=16#15A2# ADDR_REG_RO_TOTAL_OVERFLOW_COUNTER
32-bit total (backplane OR number of TOBs) overflow counter, 2 adresses
integer :=16#1394# ADDR_REG_RO_MULT_LOCAL_COUNTER
25 32-bit local rate counters (50 addresses), last one is 13F6
integer :=16#0464# ADDR_REG_RO_EV_COUNTER
32-bit event counter for the input module maxes out but doesn't overturn goes to 466 ...
integer :=16#1362# ADDR_REG_RO_CLOCK_DETECT_COUNTER
std_logic_vector (2 downto 0) :="010" CONST_DPR_STATUS_WAIT_INHIBIT
integer :=16#0576# ADDR_REG_RW_JET_THRESHOLD_BLOCK
test registers
integer :=16#11FE# ADDR_REG_RW_INPUT_SPY_MEM_SYSTEM_WORD
six consecutive addresses ending at 1208
integer :=16#051a# ADDR_REG_RO_INPUT_SPY_MEM_SOURCE_NOERROR_COUNTER
integer :=16#138C# ADDR_REG_RW_RATE_COUNTER_INHIBIT
bit 0 set stops the rate counters synchroneously
integer :=16#056A# ADDR_REG_RW_RX_POLARITY
integer :=16#129C# ADDR_REG_RW_CTP_SPY_MEM_CONTROL
control word word for the CTP spy memory
integer :=16#130A# ADDR_REG_RO_RTM_SPY_SYSTEM_MEM_CHECK_ERROR
integer :=16#1390# ADDR_REG_RO_RATE_NORMALISATION_COUNTER
32 bit rate normalisation counter (2 addresses)
integer :=16#159E# ADDR_REG_RO_GLOBAL_BACKPLANE_OVERFLOW_COUNTER
32-bit global backplane overflow counter, 2 addresses
integer :=16#1A4E# ADDR_REG_RW_SUM_ET_THR_BLOCK
8 15-bit SUM_ET THRESHOLDS, 8 address, last one 1A5C
integer :=16#155E# ADDR_REG_RO_LOCAL_BACKPLANE_OVERFLOW_COUNTER
16 32-bit local backplane overflow counters, last one is 159C
integer :=16#5004# ADDR_REG_RO_VERSION_FLAVOR_COMMON
integer :=16#131A# ADDR_REG_RW_BACKPLANE_INPUT_CHANNEL_MASK
integer :=16#15CA# ADDR_REG_RO_MISSING_ET_COUNTER
8 32-bit missing ET threshold counters, 16 adresses, last one 15E8
std_logic vme_wenia_vme,addr_vme,ncs,rd_nwr,
integer :=16#0564# ADDR_REG_RO_INPUT_MOD_COUNTER_ENABLE
counter enable values for the input module