Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

registerIndices.h

Go to the documentation of this file.
00001 /************************************************************************************
00002  * registerIndices.h
00003  *
00004  *  synopsis: Constructs ID numbers, sequential integers starting at 0, for each
00005  *           register in the DSPs memory map.  LAST_ROD_REG, defined below, is the
00006  *           ID of the last register; it is one less than the number of registers. The
00007  *           IDs run from 0 to LAST_ROD_REG.  An array of structures, rodRegister[],
00008  *           which contains information about the registers is indexed by these IDs.
00009  *
00010  *  related files:
00011  *   accessRegister.c: Routines for reading and writing to the registers in the DSP
00012  *                     memory map and for initializing the rodRegister array with
00013  *                     information about each register, e.g. its register's address.
00014  *   rodConfiguration.h: Has constants which are specific to each ROD, e.g. is it SCT
00015  *                      or pixel, how many formatter FPGAs are there...
00016  *
00017  *  Damon Fasching, UW Madison                            fasching@wisconsin.cern.ch
00018  *  Douglas Ferguson, UW Madison   (510) 486-5230         dpferguson@lbl.gov
00019  *
00020  *  modifications/bugs    
00021  *   - Modified the router registers to reflect new map (changes to trapping
00022  *     registers, and event-based trapping).                           18.04.02 dpsf
00023  *   - changed the BOC section to reflect the revised map. Extra space has been
00024  *     inserted in the MDSP register map between and within sections to allow
00025  *     for future changes without having to completely re-write the test stand
00026  *     rwRegField text (and any existing primitives & lists on the test stand which
00027  *     use rwRegField. Thus, the first register of each section is defined as (for ex.):
00028  *     #define RTR_TRAP_CMND_0(slv)       (17 + EVT_MEM_STATUS + slv)  -- 16 spare
00029  *     indices have been inserted between the EFB registers and the router registers. 
00030  *     If extra registers are needed in any section, they should be put in the
00031  *     appropriate spare slot; the definition of the first register of the next
00032  *     section should be left AS IS. Just check to make sure that the spare space
00033  *     has not been exceeded (highly unlikely, since changes from now on should be
00034  *     minor).                                                         24.04.02 dpsf
00035  *   - Updated the formatter registers here and in accessRegister.c to
00036  *     match the new formatter VHDL code.                             02.04.03 dpsf
00037  *   - Updated the registers here and in accessRegister.c to
00038  *     reflect a few new ROD registers & bit re-definitions.          04.04.03 dpsf
00039  ************************************************************************************/
00040 #ifndef REGISTER_INDICES
00041 #define REGISTER_INDICES
00042 
00043 #include "rodConfiguration.h"
00044 
00045 #define NUM_FE_OCC_REGS      3
00046 #define NUM_DATA_LINK_MASKS  3
00047 #define NUM_DM_LUTS          0xC 
00048 #define NUM_FE_OCC_STAT_REGS 8
00049 #define N_MODE_BITS          2
00050 #define N_ROD_MASK_LUTS      8
00051 #define N_ROD_SP             2
00052 #define N_ROD_SP_REG         2
00053 /* Formatter FPGA registers */
00054 
00055 #define FMT_LINK_EN(fmt)              (fmt)
00056 #define FMT_EXP_MODE_EN(fmt)          (1 +(FMT_LINK_EN(FORMATTERS_PER_ROD-1)) +fmt)
00057 #define FMT_CONFIG_MODE_EN(fmt)       (1 +(FMT_EXP_MODE_EN(FORMATTERS_PER_ROD-1)) +fmt)
00058 #define FMT_EDGE_MODE_EN(fmt)         (1 +(FMT_CONFIG_MODE_EN(FORMATTERS_PER_ROD-1)) +fmt)
00059 #define FMT_READOUT_TIMEOUT(fmt)      (1 +(FMT_EDGE_MODE_EN(FORMATTERS_PER_ROD-1)) +fmt)
00060 #define FMT_DATA_OVERFLOW_LIMIT(fmt)  (1 +(FMT_READOUT_TIMEOUT(FORMATTERS_PER_ROD-1)) +fmt)
00061 #define FMT_HEADER_TRAILER_LIMIT(fmt) (1 +(FMT_DATA_OVERFLOW_LIMIT(FORMATTERS_PER_ROD-1)) +fmt)
00062 #define FMT_ROD_BUSY_LIMIT(fmt)       (1 +(FMT_HEADER_TRAILER_LIMIT(FORMATTERS_PER_ROD-1)) +fmt)
00063 #define FMT_PXL_LINK03_L1A_CNT(fmt)   (1 +(FMT_ROD_BUSY_LIMIT(FORMATTERS_PER_ROD-1)) +fmt)
00064 #define FMT_PXL_LINK47_L1A_CNT(fmt)   (1 +(FMT_PXL_LINK03_L1A_CNT(FORMATTERS_PER_ROD-1)) +fmt)
00065 #define FMT_LINK_DATA_TEST_MUX(fmt)   (33 +(FMT_PXL_LINK47_L1A_CNT(FORMATTERS_PER_ROD-1)) +fmt)
00066 /* +4*8 reserved IDs */
00067 #define FMT_MB_DIAG_REN(fmt)          (1 +(FMT_LINK_DATA_TEST_MUX(FORMATTERS_PER_ROD-1)) +fmt)
00068 #define FMT_LINK_OCC_CNT(fmt,lnk)     (1 +(FMT_MB_DIAG_REN(FORMATTERS_PER_ROD-1)) \
00069                                          +(fmt*LINKS_PER_FORMATTER) +lnk)
00070 
00071 #define FMT_TIMEOUT_ERR(fmt)          (1 +(FMT_LINK_OCC_CNT((FORMATTERS_PER_ROD-1), \
00072                                                             (LINKS_PER_FORMATTER-1))) \
00073                                         +fmt)
00074 #define FMT_DATA_OVERFLOW_ERR(fmt)    (1 +(FMT_TIMEOUT_ERR(FORMATTERS_PER_ROD-1)) +fmt)
00075 #define FMT_HEADER_TRAILER_ERR(fmt)   (1 +(FMT_DATA_OVERFLOW_ERR(FORMATTERS_PER_ROD-1)) +fmt)
00076 #define FMT_ROD_BUSY_ERR(fmt)         (1 +(FMT_HEADER_TRAILER_ERR(FORMATTERS_PER_ROD-1)) +fmt)
00077 
00078 #define FMT_DATA_FMT_STATUS(fmt)      (1 +(FMT_ROD_BUSY_ERR(FORMATTERS_PER_ROD-1)) +fmt)
00079 #define FMT_STATUS(fmt)               (1 +(FMT_DATA_FMT_STATUS(FORMATTERS_PER_ROD-1)) +fmt)
00080 #define FMT_VERSION(fmt)              (1 +(FMT_STATUS(FORMATTERS_PER_ROD-1)) +fmt)
00081 #define FMT_MODEBIT_STAT_05(fmt)      (1 +(FMT_VERSION(FORMATTERS_PER_ROD-1)) +fmt)
00082 #define FMT_MODEBIT_STAT_6B(fmt)      (1 +(FMT_MODEBIT_STAT_05(FORMATTERS_PER_ROD-1)) +fmt)
00083 
00084 
00085 #ifdef COMMENTED  /* old formatters */
00086 #define LNK_FMT_ERR_FLAGS(fmt, lnk)  (fmt*LINKS_PER_FORMATTER + lnk)
00087 #define LNK_FMT_CONFIG(fmt, lnk)      \
00088      (1 + (LNK_FMT_ERR_FLAGS((FORMATTERS_PER_ROD-1), (LINKS_PER_FORMATTER-1))) + \
00089       fmt*LINKS_PER_FORMATTER + lnk)
00090 #define READOUT_TIMEOUT(fmt)          \
00091      (1 + (LNK_FMT_CONFIG((FORMATTERS_PER_ROD-1), (LINKS_PER_FORMATTER-1))) + fmt)
00092 #define DATA_OVERFLOW_LIMIT(fmt)      \
00093      (1 + (READOUT_TIMEOUT(FORMATTERS_PER_ROD-1)) + fmt)
00094 #define HEADER_TRAILER_LIMIT(fmt)     \
00095      (1 + (DATA_OVERFLOW_LIMIT(FORMATTERS_PER_ROD-1)) + fmt)  
00096 #define ROD_BUSY_LIMIT(fmt)           \
00097      (1 + (HEADER_TRAILER_LIMIT(FORMATTERS_PER_ROD-1)) + fmt)
00098 
00099 #define ERROR_MASK(efb, lnk) (17 + ROD_BUSY_LIMIT(FORMATTERS_PER_ROD-1) + \
00100                               efb*DATA_LINKS_PER_EFB + lnk)
00101 
00102 #endif
00103 
00104 /* Event Fragment Builder FPGA registers */
00105 #define ERROR_MASK(efb, lnk) (25 + FMT_MODEBIT_STAT_6B(FORMATTERS_PER_ROD-1) + \
00106                               efb*DATA_LINKS_PER_EFB + lnk)
00107 #define FORMAT_VRSN_LSB      (1 + ERROR_MASK((EFBS_PER_ROD-1),(DATA_LINKS_PER_EFB-1)))
00108 #define FORMAT_VRSN_MSB      (1 + FORMAT_VRSN_LSB)
00109 #define SOURCE_ID_LSB        (1 + FORMAT_VRSN_MSB)
00110 #define SOURCE_ID_MSB        (1 + SOURCE_ID_LSB)
00111 #define EFB_CMND_0           (1 + SOURCE_ID_MSB)
00112 #define EFB_FORMATTER_EN     (1 + EFB_CMND_0)
00113 #define EFB_RUNTIME_STAT_REG (1 + EFB_FORMATTER_EN)
00114 #define EVENT_HEADER_DATA    (1 + EFB_RUNTIME_STAT_REG)
00115 #define EV_FIFO_DATA1        (1 + EVENT_HEADER_DATA)
00116 #define EV_FIFO_DATA2        (1 + EV_FIFO_DATA1)
00117 
00118 #define EVT_MEM_MODE         (1 + EV_FIFO_DATA2)
00119 #define EVT_MEM_CMND_STAT    (1 + EVT_MEM_MODE)
00120 #define EVT_MEM_RESET        (1 + EVT_MEM_CMND_STAT)
00121 #define EVT_MEM_FLAGS        (1 + EVT_MEM_RESET)
00122 #define EVT_MEM_A_WRD_CNT    (1 + EVT_MEM_FLAGS)
00123 #define EVT_MEM_B_WRD_CNT    (1 + EVT_MEM_A_WRD_CNT)
00124 #define EVT_MEM_PLAY_EVENT   (1 + EVT_MEM_B_WRD_CNT)
00125 #define EVT_MEM_STATUS       (1 + EVT_MEM_PLAY_EVENT)
00126 #define EFB_CODE_VERSION     (1 + EVT_MEM_STATUS)
00127 
00128 /* Router FPGA registers- note that addresses in router are done in 4 blocks
00129  * (1 block per slv) of CMD0(slv), CMD1(slv), .... INT_DELAY _CNT, ..., while here
00130  * they are indexed (used in the rodRegister structure in accessRegister.c) as
00131  * CMD0(0), ... CMD0(3), CMD1(0)...  The addressing for rodRegister is done in
00132  * accessRegister.c  dpsf. */
00133 #define RTR_TRAP_CMND_0(slv)       (16 + EFB_CODE_VERSION + slv)
00134 #define RTR_TRAP_CMND_1(slv)       (1 + RTR_TRAP_CMND_0(N_SLV_DSPS-1)  + slv)
00135 #define RTR_TRAP_RESET(slv)        (1 + RTR_TRAP_CMND_1(N_SLV_DSPS-1)  + slv) 
00136 #define RTR_TRAP_STATUS(slv)       (1 + RTR_TRAP_RESET(N_SLV_DSPS-1)   + slv)
00137 #define RTR_TRAP_MATCH_0(slv)      (1 + RTR_TRAP_STATUS(N_SLV_DSPS-1)  + slv)
00138 #define RTR_TRAP_MOD_0(slv)        (1 + RTR_TRAP_MATCH_0(N_SLV_DSPS-1) + slv)
00139 #define RTR_TRAP_MATCH_1(slv)      (1 + RTR_TRAP_MOD_0(N_SLV_DSPS-1)   + slv)
00140 #define RTR_TRAP_MOD_1(slv)        (1 + RTR_TRAP_MATCH_1(N_SLV_DSPS-1) + slv)
00141 #define RTR_TRAP_XFR_FRM_SIZE(slv) (1 + RTR_TRAP_MOD_1(N_SLV_DSPS-1)   + slv)
00142 #define RTR_TRAP_FIFO_WRD_CNT(slv) (1 + RTR_TRAP_XFR_FRM_SIZE(N_SLV_DSPS-1) + slv)
00143                    /* 1 unused half-word/slv in router, reserved here (1 word/hw) */
00144 #define RTR_TRAP_EVT_CNT(slv)      (5 + RTR_TRAP_FIFO_WRD_CNT(N_SLV_DSPS-1) + slv)
00145 #define RTR_TRAP_INT_DELAY_CNT(slv) (1 + RTR_TRAP_EVT_CNT(N_SLV_DSPS-1) + slv)
00146                       /* 3 unused hw before beginning of next slave address block */
00147 #define RTR_CMND_STAT              (13 + RTR_TRAP_INT_DELAY_CNT(N_SLV_DSPS-1))
00148 #define RTR_SLNK_ATLAS_DUMP_MATCH  (1 + RTR_CMND_STAT)
00149 #define RTR_SLNK_ROD_DUMP_MATCH    (1 + RTR_SLNK_ATLAS_DUMP_MATCH)
00150 
00151 #define RTR_CODE_VERSION           (1 + RTR_SLNK_ROD_DUMP_MATCH)
00152 #define RTR_OUTPUT_SIGNAL_MUX      (1 + RTR_CODE_VERSION)
00153 
00154 /* ROD resources interface FPGA (RRIF) registers */
00155 #define RRIF_CODE_VERSION         (16 + RTR_OUTPUT_SIGNAL_MUX)
00156 #define RRIF_CMND_1               (1 + RRIF_CODE_VERSION)
00157 #define RRIF_CMND_0               (1 + RRIF_CMND_1)
00158 #define ROD_MODE_REG              (1 + RRIF_CMND_0)
00159 #define FE_MASK_LUT_SELECT        (1 + ROD_MODE_REG)
00160 #define RRIF_STATUS_1             (1 + FE_MASK_LUT_SELECT)
00161 #define RRIF_STATUS_0             (1 + RRIF_STATUS_1)
00162 #define FE_CMND_MASK_0_LO         (3 + RRIF_STATUS_0)
00163 #define FE_CMND_MASK_0_HI         (1 + FE_CMND_MASK_0_LO)
00164 #define FE_CMND_MASK_1_LO         (1 + FE_CMND_MASK_0_HI)
00165 #define FE_CMND_MASK_1_HI         (1 + FE_CMND_MASK_1_LO)
00166 #define CALSTROBE_DELAY           (1 + FE_CMND_MASK_1_HI)
00167 #define CAL_CMND                  (1 + CALSTROBE_DELAY) 
00168 #define FRMT_RMB_STATUS           (3 + CAL_CMND)
00169 #define EFB_DM_FIFO_FLAG_STA      (2 + FRMT_RMB_STATUS)
00170 #define EFB_DM_WC_STA_REG         (1 + EFB_DM_FIFO_FLAG_STA)
00171 #define INP_MEM_CTRL              (1 + EFB_DM_WC_STA_REG)
00172 #define DBG_MEM_CTRL              (1 + INP_MEM_CTRL)
00173 #define CFG_READBACK_CNT          (1 + DBG_MEM_CTRL)
00174 #define IDE_MEM_CTRL              (2 + CFG_READBACK_CNT)
00175 #define IDE_MEM_STAT              (1 + IDE_MEM_CTRL)
00176 #define INTRPT_TO_SLV             (7 + IDE_MEM_STAT)
00177 #define INTRPT_FROM_SLV           (1 + INTRPT_TO_SLV)
00178 
00179 #define DFLT_ROD_EVT_TYPE         (1 + INTRPT_FROM_SLV)
00180 #define CRTV_ROD_EVT_TYPE         (1 + DFLT_ROD_EVT_TYPE)
00181 #define CAL_L1_TRIG_TYPE_0        (1 + CRTV_ROD_EVT_TYPE)
00182 #define CAL_L1_TRIG_TYPE_1        (1 + CAL_L1_TRIG_TYPE_0)
00183 #define CAL_L1_ID_0               (1 + CAL_L1_TRIG_TYPE_1)
00184 #define CAL_L1_ID_1               (1 + CAL_L1_ID_0)
00185 #define CAL_BCID                  (1 + CAL_L1_ID_1)
00186 
00187 #define FE_OCC_CNTR_RESET(msk)    (16 + CAL_BCID + msk) 
00188 #define FE_OCC_CNTR_LOAD(msk)     (1 + FE_OCC_CNTR_RESET(NUM_FE_OCC_REGS-1) + msk)
00189 #define FE_OCC_LOAD_VALUE         (1 + FE_OCC_CNTR_LOAD(NUM_FE_OCC_REGS-1))
00190 #define DATA_LINK_MASK(msk)       (1 + msk + FE_OCC_LOAD_VALUE)
00191 #define FE_OCC_CNTR(occ)          (1 + DATA_LINK_MASK(NUM_FE_OCC_REGS-1) + occ)
00192 
00193 #define DM_DFLT_LUT(mbLut)        (16 + FE_OCC_CNTR(NUM_FE_OCC_STAT_REGS-1) + mbLut)
00194 #define DM_CRTV_LUT(mbLut)        (1 + DM_DFLT_LUT(NUM_DM_LUTS-1) + mbLut)
00195 #define CORRECTED_EVENTS_FIFO     (1 + DM_CRTV_LUT(NUM_DM_LUTS-1))
00196 
00197 
00198 #define RMB_DFLT_LUT(lutset, fmt, mb)  (16 + CORRECTED_EVENTS_FIFO + \
00199          (FORMATTERS_PER_ROD*N_MODE_BITS)*lutset  +(N_MODE_BITS)*fmt +mb)
00200 
00201 #define RMB_CRTV_LUT(lutset, fmt, mb)  (1 + \
00202          RMB_DFLT_LUT((N_ROD_MASK_LUTS-1),(FORMATTERS_PER_ROD-1),(N_MODE_BITS-1)) + \
00203          (FORMATTERS_PER_ROD*N_MODE_BITS)*lutset  +(N_MODE_BITS)*fmt +mb)
00204 
00205 /* Old definitions for backward compatability; default set is #0 */
00206 #define RMB0_DFLT_LUT(fmt)    RMB_DFLT_LUT(0, fmt, 0)
00207 #define RMB1_DFLT_LUT(fmt)    RMB_DFLT_LUT(0, fmt, 1)
00208 #define RMB0_CRTV_LUT(fmt)    RMB_CRTV_LUT(0, fmt, 0)
00209 #define RMB1_CRTV_LUT(fmt)    RMB_CRTV_LUT(0, fmt, 1)
00210 
00211 #define CMND_MASK_LUT(lutset, sp, lohi) (1 + \
00212          RMB_CRTV_LUT((N_ROD_MASK_LUTS-1),(FORMATTERS_PER_ROD-1),(N_MODE_BITS-1)) + \
00213          (N_ROD_SP*N_ROD_SP_REG)*lutset  +(N_ROD_SP_REG)*sp +lohi)
00214 
00215 
00216 
00217 
00218 
00219 
00220 
00221 /* BOC (optocard) registers */
00222 #define FIRST_BOC_REG             (16 + CMND_MASK_LUT((N_ROD_MASK_LUTS-1),(N_ROD_SP-1),(N_ROD_SP_REG-1)))
00223 
00224 #define STREAM_INHIBIT_MASK(clnk) (FIRST_BOC_REG + clnk)
00225 #define MARK_SPACE(clnk)          (1 + STREAM_INHIBIT_MASK(CTRL_LINKS_PER_ROD-1) + clnk)
00226 #define COARSE_DELAY(clnk)        (1 + MARK_SPACE(CTRL_LINKS_PER_ROD - 1) + clnk)
00227 #define FINE_DELAY(clnk)          (1 + COARSE_DELAY(CTRL_LINKS_PER_ROD - 1) + clnk)
00228 
00229 #define LASER_CURR_DAC(clnk)      (1 + FINE_DELAY(CTRL_LINKS_PER_ROD - 1) + clnk)
00230 #define IN_LINK_DATA_DELAY(lnk)   (1 + LASER_CURR_DAC(CTRL_LINKS_PER_ROD - 1) + lnk)
00231 
00232 #define BPM_CLOCK_PHASE           (1 + IN_LINK_DATA_DELAY(DATA_LINKS_PER_ROD-1))
00233 #define BREG_CLOCK_PHASE          (3 + BPM_CLOCK_PHASE)
00234 #define VERNIER_CLOCK_STEP_PHASE0 (1 + BREG_CLOCK_PHASE)
00235 #define VERNIER_CLOCK_STEP_PHASE1 (1 + VERNIER_CLOCK_STEP_PHASE0)
00236 
00237 #define STROBE_DELAY(sdlnk)       (3 + VERNIER_CLOCK_STEP_PHASE1 + (sdlnk ))
00238 #define IN_DATA_RX_THRESH_DAC(lnk)  (1 + STROBE_DELAY(STROBE_DELAYS_PER_BOC-1) + lnk)
00239 
00240 #define BOC_RESET                 (1 + IN_DATA_RX_THRESH_DAC(DATA_LINKS_PER_ROD-1))
00241 #define BOC_STATUS                (1 + BOC_RESET)
00242 #define BPM_RESET                 (3 + BOC_STATUS)
00243 #define TX_DAC_CLEAR              (4 + BPM_RESET)
00244 #define RX_DAC_CLEAR              (1 + TX_DAC_CLEAR)
00245 #define RX_DATA_MODE              (2 + RX_DAC_CLEAR)
00246 #define VERNIER_CLOCK_FINE_PHASE  (5 + RX_DATA_MODE)
00247 #define CLOCK_CONTROL_BITS        (2 + VERNIER_CLOCK_FINE_PHASE)
00248 
00249 #define BOC_FIRMWARE_VERSION      (3 + CLOCK_CONTROL_BITS)
00250 #define BOC_HARDWARE_VERSION      (1 + BOC_FIRMWARE_VERSION)
00251 #define BOC_MODULE_TYPE           (1 + BOC_HARDWARE_VERSION)
00252 #define BOC_MANUFACTURER          (1 + BOC_MODULE_TYPE)
00253 #define BOC_SERIAL_NUMBER         (13 + BOC_MANUFACTURER)
00254 
00255 #define LAST_BOC_REG              (BOC_SERIAL_NUMBER)
00256 #define LAST_ROD_REG              (LAST_BOC_REG)
00257 
00258 /* Define the fields (widths and locations) in each register and their legal values. */
00259 
00260 /* FMT_READOUT_TIMEOUT */
00261 #define FMT_READOUT_TIMEOUT_O          0
00262 #define FMT_READOUT_TIMEOUT_W          8
00263 
00264 /* FMT_DATA_OVERFLOW_LIMIT */
00265 #define FMT_DATA_OVERFLOW_LIMIT_O      0
00266 #define FMT_DATA_OVERFLOW_LIMIT_W      9
00267 
00268 /* FMT_HEADER_TRAILER_LIMIT */
00269 #define FMT_HEADER_TRAILER_LIMIT_O     0
00270 #define FMT_HEADER_TRAILER_LIMIT_W     5
00271 
00272 /* FMT_ROD_BUSY_LIMIT */
00273 #define FMT_ROD_BUSY_LIMIT_O           0
00274 #define FMT_ROD_BUSY_LIMIT_W           8
00275 
00276 /* FMT_PXL_LINK(03 & 47)_L1A_CNT */
00277 #define FMT_PXL_LINK_W                 4
00278 #define FMT_PXL_LINK0_O                0
00279 #define FMT_PXL_LINK1_O                4
00280 #define FMT_PXL_LINK2_O                8
00281 #define FMT_PXL_LINK3_O                12
00282 #define FMT_PXL_LINK4_O                0
00283 #define FMT_PXL_LINK5_O                4
00284 #define FMT_PXL_LINK6_O                8
00285 #define FMT_PXL_LINK7_O                12
00286 
00287 /* FMT_LINK_DATA_TEST_MUX */
00288 #define FMT_LINK_DATA_TEST_MUX_O       0
00289 #define FMT_LINK_DATA_TEST_MUX_W       4
00290 
00291 /* FMT_LINK_OCC_CNT */
00292 #define FMT_LINK_OCC_CNT_O             0
00293 #define FMT_LINK_OCC_CNT_W             9
00294 
00295 /* FMT_STATUS */
00296 #define FMT_STAT_TRIG_CNT_O            0
00297 #define FMT_STAT_TRIG_CNT_W            5
00298 /* bit 5 not used */
00299 #define FMT_STAT_LINK_MB_FIFO_NE_O     6
00300 #define FMT_STAT_LINK_MB_FIFO_FULL_O   7
00301 #define FMT_STAT_ACTIVE_LINK_O         8
00302 #define FMT_STAT_ACTIVE_LINK_W         4
00303 #define FMT_STAT_CHIP_HAS_TOKEN_O     12
00304 #define FMT_STAT_HOLD_OUTPUT_O        13
00305 
00306 #define FMT_STAT_MASTER_SLAVE_O       14
00307 #define FMT_STAT_DLL_LOCKED_O         15
00308 
00309 /* FMT_VERSION */
00310 #define FMT_CODE_VERSION_O            0
00311 #define FMT_CODE_VERSION_W            8
00312 #define FMT_BOARD_VERSION_O           8
00313 #define FMT_BOARD_VERSION_W           8
00314 
00315 
00316 
00317 
00318 
00319 
00320 
00321 
00322 
00323 
00324 #ifdef COMMENTED /* old formatters */
00325     /* LNK_FMT_ERR_FLAGS */
00326     #define FIFO_WRD_CNT_O         0
00327     #define FIFO_WRD_CNT_W         8
00328     #define DATA_OVFLW_ERR_O       8
00329     #define TIME_OUT_ERR_O         9
00330     #define ROD_BUSY_ERR_O        10
00331     #define HEADER_TRAILER_ERR_O  11
00332     #define NORMAL_NOT_RAW_O      12
00333     
00334     /* LNK_FMT_CONFIG */
00335     #define STATIC_MASK_O     0                    
00336     #define CONDENSED_MODE_O  1
00337     #define CONFIG_MODE_O     2
00338     #define EDGE_MODE_O       3
00339 #endif
00340 
00341 /* EFB_CMND_0 */
00342 #define EFB_SEND_EVENTS_O      0
00343 #define EFB_MASK_BCID_O        1
00344 #define EFB_N_PXL_ACCEPTS_O    2
00345 #define EFB_N_PXL_ACCEPTS_W    4
00346 #define EFB_DATA_LINK_SEL_O    6
00347 #define EFB_DATA_LINK_SEL_W    3
00348 
00349 /* EFB_FORMATTER_EN  */ 
00350 #define EFB_FORMATTER_EN_O 0
00351 #define EFB_FORMATTER_EN_W 8    /* one bit for each formatter FPGA */
00352 
00353 /*EFB_RUNTIME_STAT_REG*/
00354 #define  FIFO_1_ALMOST_FULL_O          0x0
00355 #define  ERR_SUM_FIFO_1_ALMOST_FULL_O  0x1
00356 #define  EV_ID_FIFO_EMP_ERR1_O         0x2
00357 #define  FIFO1_PAUSE_TO_FORMATTER_O    0x3
00358 #define  FIFO_2_ALMOST_FULL_O          0x4
00359 #define  ERR_SUM_FIFO_2_ALMOST_FULL_O  0x5
00360 #define  EV_ID_FIFO_EMP_ERR2_O         0x6
00361 #define  FIFO2_PAUSE_TO_FORMATTER_O    0x7
00362 #define  HALT_OUTPUT_FROM_ROUTER_O     0x8
00363 
00364 /*  EVENT_HEADER_DATA  */
00365 #define  EVENT_HEADER_DATA_O   0
00366 #define  EVENT_HEADER_DATA_W   16
00367 
00368 /* EV_FIFO_DATA1 */ 
00369 #define EV_FIFO_DATA1_O    0
00370 #define EV_FIFO_DATA1_W    12
00371 
00372 /* EV_FIFO_DATA2 */ 
00373 #define EV_FIFO_DATA2_O    0
00374 #define EV_FIFO_DATA2_W    12
00375 
00376 /* EVT_MEM_MODE (values) */
00377 #define EVT_MEM_MODE_O    0
00378 #define EVT_MEM_MODE_W    3
00379 #define DATA_TAKING     0x0     /* normal data path */
00380 #define PLAY_TO_ROUTER  0x1     /* load via rod bus, play EVENT_MEM event to router */
00381 #define RODBUS_ACCESS   0x2     /* load via rod bus, read via rod bus */
00382 #define TRAP_REAL_DATA  0x4     /* play through normal data path, trap in EVENT_MEM */
00383 
00384 /* EVT_MEM_CMND_STAT */
00385 #define EVT_MEM_SEL_O       0
00386 #define EVT_MEM_SEL_W       3
00387 #define A_SELECT          0x1
00388 #define B_SELECT          0x2
00389 #define C_SELECT          0x4
00390 #define OUTPUT_FRAGMENT_O   3
00391 #define OUTPUT_FRAGMENT_W   1
00392 #define OUTPUT_FRAGMENT   0x1
00393 #define BUS_ENABLED_O       4
00394 #define BUS_ENABLED_W       3
00395 #define A_BUS_ENABLED     0x1
00396 #define B_BUS_ENABLED     0x2
00397 #define C_BUS_ENABLED     0x4
00398 
00399 /* EVT_MEM_RESET */
00400 #define RESET_EVT_MEM_O   0
00401  
00402 /* EVT_MEM_FLAGS */
00403 #define EFB_EVT_MEM_A_EMPTY_O      0
00404 #define EFB_EVT_MEM_A_AE_O         1
00405 #define EFB_EVT_MEM_A_FULL_O       2
00406 #define EFB_EVT_MEM_A_AF_O         3
00407 #define EFB_EVT_MEM_B_EMPTY_O      4
00408 #define EFB_EVT_MEM_B_AE_O         5
00409 #define EFB_EVT_MEM_B_FULL_O       6
00410 #define EFB_EVT_MEM_B_AF_O         7
00411 #define EFB_EVT_MEM_C_EMPTY_O      8
00412 #define EFB_EVT_MEM_C_FULL_O       9
00413 
00414 /* EVT_MEM_PLAY_EVENT */
00415 #define PLAY_EVENT_O  0
00416 
00417 
00418 /* RTR_TRAP_CMND_0/1(slv) (only bit 0-4 in 1) */
00419 #define RTR_TRAP_ATLAS_EVT_TYPE_O   0
00420 #define RTR_TRAP_TIM_EVT_TYPE_O     1
00421 #define RTR_TRAP_ROD_EVT_TYPE_O     2
00422 #define RTR_TRAP_ERROR_FMT_O        3
00423 #define RTR_TRAP_EXCLUSION_FLAG_O   4
00424 #define RTR_TRAP_ALL_EVT_SLINK_O    5
00425 #define RTR_TRAP_DATA_MODE_O        6
00426 
00427 /* RTR_TRAP_RESET(slv) */
00428 #define RTR_TRAP_RESET_O      0
00429 #define RTR_TRAP0_LOAD_NEW_O  1
00430 #define RTR_TRAP1_LOAD_NEW_O  2
00431 
00432 /* RTR_TRAP_STATUS(slv) */
00433 #define RTR_TRAP_ENABLE_FROM_DSP_O   0  /* READ ONLY */
00434 #define RTR_INTERRUPT_OK_FROM_DSP_O  1  /* READ ONLY */
00435 #define RTR_TRAP_FIFO_EMPTY_O        2  /* READ ONLY */
00436 #define RTR_TRAP_FIFO_FULL_O         3  /* READ ONLY */
00437 #define RTR_TRAP0_IDLE_O             4  /* READ ONLY */
00438 #define RTR_TRAP1_IDLE_O             5  /* READ ONLY */
00439 #define RTR_TRAP0_READY_O            6  /* READ ONLY */
00440 #define RTR_TRAP1_READY_O            7  /* READ ONLY */
00441 #define RTR_SLAVE_CLK_SYNC_O         8  /* READ ONLY */
00442 
00443 /* RTR_TRAP_MATCH_X(slv) (X= 0 or 1) */
00444 #define RTR_TRAP_MATCH_O      0 
00445 #define RTR_TRAP_MATCH_W      8
00446 
00447 /* RTR_TRAP_MOD_X(slv) */
00448 #define RTR_TRAP_MODULUS_O    0 
00449 #define RTR_TRAP_MODULUS_W    8
00450 #define RTR_TRAP_REMAINDER_O  8 
00451 #define RTR_TRAP_REMAINDER_W  8
00452 
00453 /* RTR_TRAP_XFR_FRM_SIZE(slv) */ 
00454 #define RTR_TRAP_XFR_FRM_SIZE_O  0
00455 #define RTR_TRAP_XFR_FRM_SIZE_W  10
00456 
00457 /* RTR_TRAP_FIFO_WRD_CNT(slv) */  
00458 #define RTR_TRAP_FIFO_WRD_CNT_O  0
00459 #define RTR_TRAP_FIFO_WRD_CNT_W  10
00460 
00461 /* RTR_TRAP_EVT_CNT(slv)   */ 
00462 #define  RTR_TRAP_EVT_CNT_O      0
00463 #define  RTR_TRAP_EVT_CNT_W      16
00464 
00465 /* RTR_TRAP_INT_DELAY_CNT(slv) */ 
00466 #define  RTR_TRAP_INT_DELAY_CNT_O       0
00467 #define  RTR_TRAP_INT_DELAY_CNT_W       6   /* delay= 25 ns per count */
00468 
00469 /* RTR_CMND_STAT */
00470 #define RTR_DUMP_ATLAS_EVT_TYPE_O       0
00471 #define RTR_DUMP_TIM_EVT_TYPE_O         1
00472 #define RTR_DUMP_ROD_EVT_TYPE_O         2
00473 #define RTR_INHIBIT_SLNK_WE_O           3
00474 #define RTR_RESET_SLNK_O                4
00475 #define RTR_SET_SLNK_TEST_O             5
00476 #define RTR_CALIB_BACK_PRES_EFB_O       6
00477 #define RTR_SLINK_DOWN_OVERRIDE_O       7
00478 /* bit 7 not used */
00479 #define RTR_SLNK_XOFF_STAT_O            8
00480 #define RTR_SLKN_BAD_STAT_O             9
00481 #define RTR_STOP_OUTPUT_O              10
00482 #define RTR_CLK_DLL_LOCKED_O           11
00483  
00484 /* RTR_SLNK_ATLAS_DUMP_MATCH */
00485 #define RTR_ATLAS_EVT_TYPE_O  0
00486 #define RTR_ATLAS_EVT_TYPE_W  8     /* ATLAS SPECIFIC EVENT TYPE FOR MATCH */
00487 #define RTR_TIM_EVT_TYPE_O    8
00488 #define RTR_TIM_EVT_TYPE_W    2     /* TIM SPECIFIC EVENT TYPE FOR MATCH*/
00489  
00490 /* RTR_SLNK_ROD_DUMP_MATCH  */  
00491 #define  RTR_SLNK_ROD_DUMP_MATCH_O   0
00492 #define  RTR_SLNK_ROD_DUMP_MATCH_W  16
00493  
00494 
00495 /* BOC Registers  */
00496 /*BOC  STREAM_INHIBIT_MASK(clnk) */  
00497 #define  BOC_STREAM_INHIBIT_O  0
00498 #define  BOC_STREAM_INHIBIT_W  1
00499 /*BOC  MARK_SPACE_(clnk) */ 
00500 #define  MARK_SPACE_O  0
00501 #define  MARK_SPACE_W  6
00502 /*BOC  COARSE_DELAY(clnk) */ 
00503 #define  COARSE_DELAY_O         0
00504 #define  COARSE_DELAY_W         5
00505 /*BOC  FINE_DELAY(clnk) */ 
00506 #define  FINE_DELAY_O           0
00507 #define  FINE_DELAY_W           7
00508 
00509 /* LASER_CURR_DAC(clnk)  */
00510 #define  LASER_CURR_DAC_O 0
00511 #define  LASER_CURR_DAC_W 8
00512 /* IN_LINK_DATA_DELAY(lnk)*/
00513 #define  IN_LINK_DATA_DELAY_O  0
00514 #define  IN_LINK_DATA_DELAY_W  8
00515 
00516 /* BPM_CLOCK_PHASE */
00517 #define  BPM_CLOCK_PHASE_O     0
00518 #define  BPM_CLOCK_PHASE_W     8
00519 /* BREG_CLOCK_PHASE */
00520 #define  BREG_CLOCK_PHASE_O     0
00521 #define  BREG_CLOCK_PHASE_W     8
00522 /* VERNIER_CLOCK_STEP_PHASE0 */
00523 #define  VERNIER_CLOCK_STEP_PHASE0_O     0
00524 #define  VERNIER_CLOCK_STEP_PHASE0_W     8
00525 /* VERNIER_CLOCK_STEP_PHASE1 */
00526 #define  VERNIER_CLOCK_STEP_PHASE1_O     0
00527 #define  VERNIER_CLOCK_STEP_PHASE1_W     8
00528 
00529 /*   STROBE_DELAY(sdlnk) */           
00530 #define   STROBE_DELAY_O        0
00531 #define   STROBE_DELAY_W        8
00532 /* IN_DATA_RX_THRESH_DAC(lnk)  */ 
00533 #define   IN_DATA_RX_THRESH_O    0
00534 #define   IN_DATA_RX_THRESH_W    8
00535 
00536 /* BOC_RESET  */
00537 #define    BOC_RESET_O       0             
00538 #define    BOC_RESET_W       1
00539 /* BOC_STATUS */
00540 #define    BOC_STATUS_O      0              
00541 #define    BOC_STATUS_W      8     /* READ ONLY */
00542 /* BPM_RESET  */
00543 #define    BPM_RESET_O       0             
00544 #define    BPM_RESET_W       1
00545 /* TX_DAC_CLEAR */
00546 #define    TX_DAC_CLEAR_O    0                
00547 #define    TX_DAC_CLEAR_W    1
00548 /* RX_DAC_CLEAR */
00549 #define    RX_DAC_CLEAR_O    0                
00550 #define    RX_DAC_CLEAR_W    1
00551 /* RX_DATA_MODE */
00552 #define    RX_DATA_MODE_O    0                
00553 #define    RX_DATA_MODE_W    3
00554 /* VERNIER_CLOCK_FINE_PHASE */
00555 #define    VERNIER_CLOCK_FINE_PHASE_O   0                 
00556 #define    VERNIER_CLOCK_FINE_PHASE_W   8
00557 /* CLOCK_CONTROL_BITS */
00558 #define    CLOCK_CONTROL_BITS_O   0                 
00559 #define    CLOCK_CONTROL_BITS_W   4
00560 
00561 /* BOC_FIRMWARE_VERSION  */
00562 #define    BOC_FIRMWARE_VERSION_O   0                  
00563 #define    BOC_FIRMWARE_VERSION_W   8    /* READ ONLY */
00564 /* BOC_HARDWARE_VERSION  */
00565 #define    BOC_HARDWARE_VERSION_O   0                  
00566 #define    BOC_HARDWARE_VERSION_W   8    /* READ ONLY */
00567 /* BOC_MODULE_TYPE  */
00568 #define    BOC_MODULE_TYPE_O   0                  
00569 #define    BOC_MODULE_TYPE_W   8         /* READ ONLY */
00570 /* BOC_MANUFACTURER  */
00571 #define    BOC_MANUFACTURER_O   0                  
00572 #define    BOC_MANUFACTURER_W   8        /* READ ONLY */
00573 /* BOC_SERIAL_NUMBER  */         
00574 #define    BOC_SERIAL_NUMBER_O  0                 
00575 #define    BOC_SERIAL_NUMBER_W  8        /* READ ONLY */
00576 
00577 
00578 
00579 /* RRIF_CMND_0 */
00580 #define FMT_MB_RST_OUT_O                 0 /*  formatter mode bits reset */
00581 #define FMT_MB_RST_OUT_W                 2 
00582 #define EFB_EDM_RST_OUT_O                2 /*  efb dynamic mask bits reset */
00583 #define INP_MEM_RST_O                    3
00584 #define DBG_MEM_A_RST_O                  4
00585 #define DBG_MEM_B_RST_O                  5 
00586 #define TIM_FIFO_RST_O                   6
00587 #define TRIG_FIFO_RST_O                  7 
00588 #define TRIG_FIFO_RETRANSMIT_O           8
00589 #define INMEM_FIFO_RETRANSMIT_O          9
00590 #define DBGMEMA_FIFO_RETRANSMIT_O        10
00591 #define DBGMEMB_FIFO_RETRANSMIT_O        11
00592 #define ECR_ID_COUNTER_RESET_O           12
00593 #define SP1_FRAME_SYNC_OFFSET_O          13
00594 #define SP1_FRAME_SYNC_OFFSET_W          5
00595 #define FSX_CLKX_OUTPUT_ENABLE_O         18
00596 //bits 19-23 not used
00597 #define SLOW_SDSP_CLOCK_ENABLE           24
00598 
00599 #define MDSP_TOUT_ENABLE                 25
00600 #define MDSP_INT4_ENABLE                 26
00601 #define MDSP_INT5_ENABLE                 27
00602 #define MDSP_INT6_ENABLE                 28
00603 #define MDSP_INT7_ENABLE                 29
00604 #define SDSP_INT_ENABLE                  30
00605 #define VME_INT_ENABLE                   31
00606 
00607 /* RRIF_CMND_1 */  
00608 #define FE_CMND_OUTPUT_ENABLE_O          0
00609 #define FE_SP0_FR_DSP_TIM_O              1 
00610 #define FE_SP0_FR_DSP                    1
00611 #define FE_SP0_FR_TIM                    0
00612 #define NEW_MASK_READY_O                 2  /* self clearing */
00613 #define FE_OCC_CNTR_O                    3  /* FE occupancy counter */
00614 #define CMD_PULSE_CTR_RESET_O            4  
00615 #define CMD_PULSE_CTR_ENABLE_O           5
00616 #define CMD_PULSE_CTR_LOAD_O             6
00617 #define TRG_DECODER_RESET_O              7
00618 #define TRG_DECODER_ENABLE_O             8
00619 #define FORM_RMB_FLUSH_O                 9
00620 #define FORM_RMB_ENABLE_XFR_O           10
00621 #define EFB_DYN_MSK_FLUSH_O             11
00622 #define EFB_DYN_MSK_ENABLE_XFR_O        12
00623 #define EFB_DYN_MSK_EVT_HDR_CNT_LD_O    13
00624 #define EFB_DYN_MSK_EVT_MSK_CNT_LD_O    14  
00625 #define TEST_BENCH_RESET_O              15
00626 #define TEST_BENCH_ENABLE_O             16
00627 #define TEST_BENCH_RUN_O                17
00628 #define SP_TRIGGER_SIGNAL_DECODER_EN_O  18  /* 0=> Off, 1=> Enabled */
00629 #define CONFIGURATION_READBACK_O        19  /* 0=> Off, 1=> Enabled */
00630 #define FE_MASK_LOAD_ENABLE_O           20  /* 0=> Off, 1=> Enabled */
00631 #define STATIC_BCID_ENABLE_O            21  /* 0=> Off, 1=> Enabled */
00632 #define STATIC_L1ID_ENABLE_O            22  /* 0=> Off, 1=> Enabled */
00633 #define CMB_DYN_MASK_RDY_O              23  /* self clearing */
00634 
00635 #define INPUT_FIFO_PLAY_INHIBIT_O       24
00636 
00637 #define FIFO_CTRL_MUX_O                 25 /* U FIFO (in, debug, event) MUX control */
00638 #define FIFO_CTRL_MUX_W                 1 /* U */
00639 #define FIFO_RESET                   0    /* U FIFO rst:debug FIFO block control */
00640 #define ROD_BUS_FIFO_ACCESS          1    /* U allows FIFO access over the ROD bus */
00641 
00642 #define DATA_PATH_SELECT_O              26 /* U data path mode selector */
00643 #define DATA_PATH_SELECT_W               2 /* U */
00644 #define TEST_BENCH_DATA_PATH          1    /* enable test bench data path */
00645 #define STANDARD_DATA_PATH            2    /* enable run time data path */
00646 
00647 #define ROD_TYPE_O                      31
00648 #define ROD_TYPE_SCT                0
00649 #define ROD_TYPE_PIXEL              1 
00650 
00651 /* RRIF_STATUS_1 */
00652 #define  TIM_CLK_OK_O         0  /* TRUE IS OK*/
00653 #define  BOC_CLK_OK_O         1  /* TRUE IS OK*/
00654 #define  BOC_BUSY_O           2  /*  TRUE IS BUSY */
00655 #define  CFG_READBACK_DONE_O  3
00656 #define  CAL_TEST_RDY_O       4
00657 #define  TRIG_FIFO_EF_O       5 
00658 #define  TRIG_FIFO_FF_O       6
00659 #define  RMB_FIFOA_EF_O       7  /* FORM MODEBIT FIFOA EMPTY FLAG */
00660 #define  RMB_FIFOA_FF_O       8  /* FORM MODEBIT FIFOA FULL FLAG */
00661 #define  RMB_FIFOB_EF_O       9  /* FORM MODE FULL FLAG,BIT 0 BANK A,BIT 1 BANK B */
00662 #define  RMB_FIFOB_FF_O       10 /* FULL IS TRUE */
00663 #define  HEADER_TRAIL_LMT_O   11 /* FORM TRAILER LIMIT,BIT 0 BANK A,BIT 1 BANK B*/
00664 #define  HEADER_TRAIL_LMT_W 2    /* LIMIT IS TRUE */
00665 #define  ROD_BUSY_O           13 /* ROD BUSY,BIT 0 BANK A, BIT 1 BANK B */
00666 #define  ROD_BUSY_W         2    /* BUSY IS TRUE */
00667 #define  DM_FIFO_EF_O         15 /* DYN MASK FIFO EMPTY FLAG, EMPTY IS TRUE */
00668 #define  DM_FIFO_FF_O         16 /* DYN MASK FIFO FULL FLAG, FULL IS TRUE */
00669 #define  EFB_EV_ID_EMP_ERR_O  17 /* EFB EVENT EMPTY FLAG, ERROR IS TRUE 
00670                                     (FORMATTER PLAYS DATA BEFORE ID IN EFB) */
00671 #define  EVT_MEM_A_EMP_O      18 /* EVENT MEMORY A EMPTY, EMPTY IS TRUE */
00672 #define  EVT_MEM_A_FULL_O     19 /* EVENT MEMORY A FULL, FULL IS TRUE */
00673 #define  EVT_MEM_B_EMP_O      20 /* EVENT MEMORY B EMPTY, EMPTY IS TRUE */
00674 #define  EVT_MEM_B_FULL_O     21 /* EVENT MEMORY B FULL, FULL IS TRUE */
00675 #define  FE_CMD_PULSE_CNT_O   22 /* CNT # TRIG DATA,IT HAS NOT SENT TO FORMATTERS */
00676 #define  FE_CMD_PULSE_CNT_W    8
00677 #define  FE_OCC_CNTRS_EF_O    30 /* TRUE IF ALL FRONT END COUNTER ARE ZERO */
00678 #define  MODE_BITS_ERR        31 
00679 
00680 /* RRIF_STATUS_O */
00681 #define  RS0_ROD_TYPE_O           31 
00682 #define  RS0_DSP_PRESENT_O(slv)   (27 +slv) 
00683 
00684 /* FE_CMND_MASK_LO     */ 
00685 #define  FE_CMD_MASK_LO_O      0 /* COMMAND MASK 0 FOR LINKS 0(BIT 0) TO 31 */
00686 #define  FE_CMD_MASK_LO_W     32
00687 
00688 /* FE_CMND_MASK_HI     */
00689 #define  FE_CMD_MASK_HI_O      0 /* COMMAND MASK 0 FOR LINKS 32(BIT 0) TO 47(BIT 15)*/
00690 #define  FE_CMD_MASK_HI_W     16
00691 
00692 /* CALSTROBE_DELAY       */
00693 #define  CALSTROBE_DELAY_O     0 /* DELAY IN CLK40 TICK FROM TEST PULSE TO TRIG GEN*/
00694 #define  CALSTROBE_DELAY_W     6
00695 
00696 /* CAL_CMND              */
00697 #define  CAL_CMD_O             0 /* REG THAT IS SHIFTED OUT SERIAL ON COMD ???*/
00698 #define  CAL_CMD_W            26
00699 
00700 /* FRMT_RMB_STATUS    */
00701 #define  MB_FIFO_A_EMP_O       0
00702 #define  MB_FIFO_A_FULL_O      1
00703 #define  MB_FIFO_A_WC_O        2
00704 #define  MB_FIFO_A_WC_W        8
00705                            /* 10 TO 15 NOT USED  */
00706 #define  MB_FIFO_B_EMP_O      16
00707 #define  MB_FIFO_B_FULL_O     17
00708 #define  MB_FIFO_B_WC_O       18
00709 #define  MB_FIFO_B_WC_W        8 
00710                            /* 26 TO 31 NOT USED */ 
00711 
00712 /* EFB_DM_FIFO_FLAG_STA  */
00713 #define  L1ID_BCID_FIFO_EMP_O            0  /*L1 & BC ID FIFO EMPTY, EMPTY IS TRUE*/
00714 #define  TRIG_TYP_FIFO_EMP_O             1  /*TRIG TYP FROM TIM FIFO EMP. EMP IS TRUE*/
00715 #define  L1ID_BCID_TT_FIFO_EMP_O         2  /*FIFO OF ABOVE 21 FIFO EMP. EMP IS TRUE*/
00716 #define  DEFAULT_DYN_MASK_FIFO_EMP_O     3  /*DYN MASK FIFO EMP, EMP IS TRUE*/
00717 #define  CORR_TRIG_DYN_MASK_FIFO_EMP_O   4  /*CORR DNT MASK FIFO EMP, EMP IS TRUE */
00718 //bits 5-7 not used.
00719 #define  L1ID_BCID_FIFO_FULL_O           8  /*L1 & BC ID FIFO FULL, FULL IS TRUE*/
00720 #define  TRIG_TYP_FIFO_FULL_O            9  /*TRIG TYP FROM TIM FIFO FULL. FULL IS TRUE*/
00721 #define  L1ID_BCID_TT_FIFO_FULL_O        10 /*FIFO OF ABOVE 21 FIFO FULL. FULL IS TRUE*/
00722 #define  DFLT_MASK_FIFO_FULL_O           11 /*DEFAULT DYN MASK FIFO FULL, FULL IS TRUE*/
00723 #define  CORR_TRIG_DYN_MASK_FIFO_FULL_O  12 /*CORR DYN MASK FIFO FULL, FULL IS TRUE */
00724 
00725 /* EFB_DM_WC_STA_REG     */                         
00726 #define  EVENT_ID_COUNT_O       0  /* WORD COUNT FOR EVENT ID FIFO  */
00727 #define  EVENT_ID_COUNT_W       6
00728 //bits 6-7 not used
00729 #define  EVENT_TRIG_COUNT_O     8  /* WORD COUNT FOR EVENT TRIG FIFO  */
00730 #define  EVENT_TRIG_COUNT_W     6
00731 //bits 14-15 not used
00732 #define  EVENT_MASK_COUNT_O    16  /* WORD COUNT FOR EVENT DYN MASK FIFO  */
00733 #define  EVENT_MASK_COUNT_W     6
00734 //bits 22-23 not used
00735 #define  EVENT_HEADER_COUNT_O  24  /* WORD COUNT FOR EVENT HEADER FIFO  */
00736 #define  EVENT_HEADER_COUNT_W   6
00737  
00738 /* INP_MEM_CTRL          */
00739 #define  INMEM_A_WC_O           0  /*INMEM A WC OR GEN PURPOSE DEBUG COUNTER */
00740 #define  INMEM_A_WC_W          16
00741 #define  INMEM_B_WC_O          16  /*INMEM B WC OR GEN PURPOSE DEBUG COUNTER */
00742 #define  INMEM_B_WC_W          16
00743 
00744 /* DBG_MEM_CTRL          */
00745 #define  DBGMEM_A_WC_O          0  /*DBGMEM A WC OR GEN PURPOSE DEBUG COUNTER */
00746 #define  DBGMEM_A_WC_W         16
00747 #define  DBGMEM_B_WC_O         16  /*DBGMEM B WC OR GEN PURPOSE DEBUG COUNTER */
00748 #define  DBGMEM_B_WC_W         16
00749 
00750 /* CFG_READBACK_CNT          */ 
00751 #define  FIFO_WRITE_CNT_O        0  /* FIFO writing time, in clock ticks. */
00752 #define  FIFO_WRITE_CNT_W        16
00753 #define  DELAY_FIFO_WRITE_O      16  /* Delay in ticks before the FIFO begins trapping data, */
00754 #define  DELAY_FIFO_WRITE_W      16  /* when the cfg readback bit is set in RRIF CMD 1 */
00755 
00756 /* IDE_MEM_CTRL          */
00757 #define  EN_INMEM_A_COUNT_O     0 /* ENABLE INPUT MEMORY A COUNTER */
00758 #define  LOAD_INMEM_A_COUNT_O   1 /* LOAD INPUT MEMORY A COUNTER */
00759 #define  EN_INMEM_B_COUNT_O     2 /* ENABLE INPUT MEMORY B COUNTER */
00760 #define  LOAD_INMEM_B_COUNT_O   3 /* LOAD INPUT MEMORY B COUNTER */
00761 #define  EN_DBGMEM_A_COUNT_O    4 /* ENABLE DEBUG MEMORY A COUNTER */
00762 #define  LOAD_DBGMEM_A_COUNT_O  5 /* LOAD DEBUG MEMORY A COUNTER */
00763 #define  EN_DBGMEM_B_COUNT_O    6 /* ENABLE DEBUG MEMORY B COUNTER */
00764 #define  LOAD_DBGMEM_B_COUNT_O  7 /* LOAD DEBUG MEMORY B COUNTER */
00765 #define  EN_EVTMEM_A_COUNT_O    8 /* ENABLE EVENT MEMORY A COUNTER */
00766 #define  LOAD_EVTMEM_A_COUNT_O  9 /* LOAD EVENT MEMORY A COUNTER */
00767 #define  EN_EVTMEM_B_COUNT_O   10 /* ENABLE EVENT MEMORY B COUNTER */
00768 #define  LOAD_EVTMEM_B_COUNT_O 11 /* LOAD EVENT MEMORY B COUNTER */
00769 #define TEST_FIXTURE_MODE_O    12 /* SELECTION OF TEST BENC MODES */
00770 #define TEST_FIXTURE_MODE_W     6 /* LIST OF MODES ????????      */
00771 
00772 /* IDE_MEM_STAT */
00773 #define INP_MEM_A_DONE_O                  0  /* IN MEM COUNTER, ZERO IS TRUE */
00774 #define INP_MEM_B_DONE_O                  1  /* IN MEM COUNTER, ZERO IS TRUE */
00775 #define DBG_MEM_A_DONE_O                  2  /* IN MEM COUNTER, ZERO IS TRUE */
00776 #define DBG_MEM_B_DONE_O                  3  /* IN MEM COUNTER, ZERO IS TRUE */
00777 #define CFG_READBACK_WRT_CNT_DONE_O       4
00778 #define CFG_READBACK_DELAY_CNT_DONE_O     5
00779 #define OPERATION_DONE_O                  6  /* TEST BENCH OPER COMPLETE, COMP IS TRUE*/
00780 #define MEM_OP_DONE_W                     2  /*  00 AND 11 IS ONLY VALUE USED */  
00781 #define INMEM_A_EMP_O                     8
00782 #define INMEM_A_FULL_O                    9
00783 #define INMEM_B_EMP_O                     10
00784 #define INMEM_B_FULL_O                    11
00785 #define DBGMEM_A_EMP_O                    12
00786 #define DBGMEM_A_FULL_O                   13
00787 #define DBGMEM_B_EMP_O                    14
00788 #define DBGMEM_B_FULL_O                   15
00789 #define TIM_FIFO_EF_O                     16  /*  INTERN TIM FIFO EMPTY, EMPTY IS TRUE*/
00790 #define TIM_FIFO_FF_O                     17  /*  INTERN TIM FIFO FULL, FULL IS TRUE*/
00791 #define TIM_FIFO_WC_O                     18  /*  INTERN TIM FIFO CURR WORD COUNT */ 
00792 #define TIM_FIFO_WC_W                     13  
00793 
00794 /* INTRPT_TO_SLV         */ 
00795 #define MASTER_TO_SLV_INT_O    0  /* MASTER TO SLAVE HPI INT,BIT 0 IS SLAVE 1,*/ 
00796 #define MASTER_TO_SLV_INT_W    4  /* BIT 3 IS SLAVE 4 ??????? */
00797 
00798 /* INTRPT_FROM_SLV       */
00799 #define SLAVE_TO_MAST_INT_O    0
00800 #define SLAVE_TO_MAST_INT_W    4
00801 
00802 /* FE_OCC_CNTR_RESET(msk) */
00803 #define FE_OCC_CNTR_RST_O      0  /* RESET FOR 32 LINKS */
00804 #define FE_OCC_CNTR_RST_W     32
00805 
00806 /* FE_OCC_CNTR_LOAD(msk) */
00807 #define FE_OCC_CNTR_LOAD_O     0  /* LOAD FOR 32 LINKS */
00808 #define FE_OCC_CNTR_LOAD_W    32
00809 
00810 /* FE_OCC_LOAD_VALUE     */
00811 #define FE_OCC_LOAD_VAL_O      0  /* VALUE LOADED TO FE OCC COUNTERS */
00812 #define FE_OCC_LOAD_VAL_W      4
00813 
00814 /* DATA_LINK_MASK(msk)   */
00815 #define DATA_LINK_MASK_O       0
00816 #define DATA_LINK_MASK_W      32
00817 
00818 /* FE_OCC_CNTR(occ)     */
00819 #define  FE_OCC_CNTR_VAL_0_O    0
00820 #define  FE_OCC_CNTR_VAL_0_W    4
00821 #define  FE_OCC_CNTR_VAL_1_O    4
00822 #define  FE_OCC_CNTR_VAL_1_W    4
00823 #define  FE_OCC_CNTR_VAL_2_O    8
00824 #define  FE_OCC_CNTR_VAL_2_W    4
00825 #define  FE_OCC_CNTR_VAL_3_O   12
00826 #define  FE_OCC_CNTR_VAL_3_W    4
00827 #define  FE_OCC_CNTR_VAL_4_O   16
00828 #define  FE_OCC_CNTR_VAL_4_W    4
00829 #define  FE_OCC_CNTR_VAL_5_O   20
00830 #define  FE_OCC_CNTR_VAL_5_W    4
00831 #define  FE_OCC_CNTR_VAL_6_O   24
00832 #define  FE_OCC_CNTR_VAL_6_W    4
00833 #define  FE_OCC_CNTR_VAL_7_O   28
00834 #define  FE_OCC_CNTR_VAL_7_W    4
00835 
00836 /* RMB0_DFLT_LUT(fmt)    */
00837 #define  FMAT_MODE_BIT0_LINK_0_O    0
00838 #define  FMAT_MODE_BIT0_LINK_1_O    1
00839 #define  FMAT_MODE_BIT0_LINK_2_O    2
00840 #define  FMAT_MODE_BIT0_LINK_3_O    3
00841 #define  FMAT_MODE_BIT0_LINK_4_O    4
00842 #define  FMAT_MODE_BIT0_LINK_5_O    5
00843 #define  FMAT_MODE_BIT0_LINK_6_O    6
00844 #define  FMAT_MODE_BIT0_LINK_7_O    7
00845 #define  FMAT_MODE_BIT0_LINK_8_O    8
00846 #define  FMAT_MODE_BIT0_LINK_9_O    9
00847 #define  FMAT_MODE_BIT0_LINK_10_O  10
00848 #define  FMAT_MODE_BIT0_LINK_11_O  11
00849 #define  FMAT_MODE_BIT1_LINK_0_O    0
00850 #define  FMAT_MODE_BIT1_LINK_1_O    1
00851 #define  FMAT_MODE_BIT1_LINK_2_O    2
00852 #define  FMAT_MODE_BIT1_LINK_3_O    3
00853 #define  FMAT_MODE_BIT1_LINK_4_O    4
00854 #define  FMAT_MODE_BIT1_LINK_5_O    5
00855 #define  FMAT_MODE_BIT1_LINK_6_O    6
00856 #define  FMAT_MODE_BIT1_LINK_7_O    7
00857 #define  FMAT_MODE_BIT1_LINK_8_O    8
00858 #define  FMAT_MODE_BIT1_LINK_9_O    9
00859 #define  FMAT_MODE_BIT1_LINK_10_O  10
00860 #define  FMAT_MODE_BIT1_LINK_11_O  11
00861 
00862 /* RMB0&1_CRTV_LUT(fmt)    */
00863 #define  FMAT_CRTV_BIT0_LINK_0_O    0
00864 #define  FMAT_CRTV_BIT0_LINK_1_O    1
00865 #define  FMAT_CRTV_BIT0_LINK_2_O    2
00866 #define  FMAT_CRTV_BIT0_LINK_3_O    3
00867 #define  FMAT_CRTV_BIT0_LINK_4_O    4
00868 #define  FMAT_CRTV_BIT0_LINK_5_O    5
00869 #define  FMAT_CRTV_BIT0_LINK_6_O    6
00870 #define  FMAT_CRTV_BIT0_LINK_7_O    7
00871 #define  FMAT_CRTV_BIT0_LINK_8_O    8
00872 #define  FMAT_CRTV_BIT0_LINK_9_O    9
00873 #define  FMAT_CRTV_BIT0_LINK_10_O  10
00874 #define  FMAT_CRTV_BIT0_LINK_11_O  11
00875 #define  FMAT_CRTV_BIT1_LINK_0_O    0
00876 #define  FMAT_CRTV_BIT1_LINK_1_O    1
00877 #define  FMAT_CRTV_BIT1_LINK_2_O    2
00878 #define  FMAT_CRTV_BIT1_LINK_3_O    3
00879 #define  FMAT_CRTV_BIT1_LINK_4_O    4
00880 #define  FMAT_CRTV_BIT1_LINK_5_O    5
00881 #define  FMAT_CRTV_BIT1_LINK_6_O    6
00882 #define  FMAT_CRTV_BIT1_LINK_7_O    7
00883 #define  FMAT_CRTV_BIT1_LINK_8_O    8
00884 #define  FMAT_CRTV_BIT1_LINK_9_O    9
00885 #define  FMAT_CRTV_BIT1_LINK_10_O  10
00886 #define  FMAT_CRTV_BIT1_LINK_11_O  11
00887 
00888 /* DFLT_ROD_EVT_TYPE     */
00889 #define  DFLT_ROD_EVT_TYPE_O   0
00890 #define  DFLT_ROD_EVT_TYPE_W   16
00891 
00892 /* DM_DFLT_LUT(mbLut)    */
00893 #define  EFB_DF_DYN_MASK_BIT0_LNK0_O  0  /* WORD HAS SAME PAT FOR EACH LINK */
00894 #define  EFB_DF_DYN_MASK_BIT1_LNK0_O  1   
00895 #define  EFB_DF_DYN_MASK_BIT0_LNK1_O  2  
00896 #define  EFB_DF_DYN_MASK_BIT1_LNK1_O  3   
00897 #define  EFB_DF_DYN_MASK_BIT0_LNK2_O  4  
00898 #define  EFB_DF_DYN_MASK_BIT1_LNK2_O  5   
00899 #define  EFB_DF_DYN_MASK_BIT0_LNK3_O  6  
00900 #define  EFB_DF_DYN_MASK_BIT1_LNK3_O  7   
00901 #define  EFB_DF_DYN_MASK_BIT0_LNK4_O  8  
00902 #define  EFB_DF_DYN_MASK_BIT1_LNK4_O  9   
00903 #define  EFB_DF_DYN_MASK_BIT0_LNK5_O 10  
00904 #define  EFB_DF_DYN_MASK_BIT1_LNK5_O 11   
00905 #define  EFB_DF_DYN_MASK_BIT0_LNK6_O 12  
00906 #define  EFB_DF_DYN_MASK_BIT1_LNK6_O 13   
00907 #define  EFB_DF_DYN_MASK_BIT0_LNK7_O 14  
00908 #define  EFB_DF_DYN_MASK_BIT1_LNK7_O 15   
00909 
00910 /* CRTV_ROD_EVT_TYPE     */
00911 #define  CRTV_ROD_EVT_TYPE_O   0
00912 #define  CRTV_ROD_EVT_TYPE_W   16
00913 
00914 /* DM_CRTV_LUT(mbLut)    */
00915 #define  EFB_CR_DYN_MASK_BIT0_LNK0_O  0  /* WORD HAS SAME PAT FOR EACH LINK */
00916 #define  EFB_CR_DYN_MASK_BIT1_LNK0_O  1   
00917 #define  EFB_CR_DYN_MASK_BIT0_LNK1_O  2  
00918 #define  EFB_CR_DYN_MASK_BIT1_LNK1_O  3   
00919 #define  EFB_CR_DYN_MASK_BIT0_LNK2_O  4  
00920 #define  EFB_CR_DYN_MASK_BIT1_LNK2_O  5   
00921 #define  EFB_CR_DYN_MASK_BIT0_LNK3_O  6  
00922 #define  EFB_CR_DYN_MASK_BIT1_LNK3_O  7   
00923 #define  EFB_CR_DYN_MASK_BIT0_LNK4_O  8  
00924 #define  EFB_CR_DYN_MASK_BIT1_LNK4_O  9   
00925 #define  EFB_CR_DYN_MASK_BIT0_LNK5_O 10  
00926 #define  EFB_CR_DYN_MASK_BIT1_LNK5_O 11   
00927 #define  EFB_CR_DYN_MASK_BIT0_LNK6_O 12  
00928 #define  EFB_CR_DYN_MASK_BIT1_LNK6_O 13   
00929 #define  EFB_CR_DYN_MASK_BIT0_LNK7_O 14  
00930 #define  EFB_CR_DYN_MASK_BIT1_LNK7_O 15  
00931 
00932 /* CORRECTED_EVENTS_FIFO */
00933 #define  CRTV_EVNT_FIFO_O  0
00934 #define  CRTV_EVNT_FIFO_W 16
00935 
00936 /* CAL_L1_TRIG_TYPE */
00937 #define  CAL_L1_TRIG_TYPE_O     0
00938 #define  CAL_L1_TRIG_TYPE_W    10
00939 /* CAL_L1_ID */
00940 #define  CAL_L1_ID_O            0
00941 #define  CAL_L1_ID_W           24
00942 
00943 #endif

Generated on Mon Dec 15 19:36:12 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3