TIM Registers List
M.Postranecky, M.R.M.Warren, J.B.Lane
Draft 0.95
(last modified 19 Apr 2022)
This document is still inder development, feedback is welcome.
atlas-tim@hep.ucl.ac.uk
Contents
The TTC Interface Module (TIM) has a VME slave interface to give
the local processor read and write access to its registers.
This document supports the interface specification
[ref. TIM_interface_RCC].
TIM stand-alone operation is described in
[ref. TIM_manual].
The VME address space is A24 or A32 with the Base Address
offset selected by Geographical Address or switches.
The Base Address uses address lines A31 - A16,
leaving an A16 address space of 64K bytes,
using address lines A15 - A0.
- VME access is D16 only, ie A0 is not used and always assumed to be zero
- Registers are addressed by decoding A15 - A1, with A15 = 0
- Sequencer memory addresses are given by A15 - A1, with A15 = 1
The VME Address is given as hexadecimal bytes in the following tables.
Address Map
Offset by Base Address (A31 - A16) |
Address | D16 Field |
0000 - 003E | Register address space |
0040 - 00FE | TIM3 Extra Register address space |
0100 - 01FE | TIM3 FPGA1 Register address space |
0200 - 7FFE | Reserved address space |
8000
- FFFE | First word of Sequencer RAM
Last word of Sequencer RAM |
- TIM RESET means power-up reset, push-button reset, or vRESET command bit
- reserved bits are either Read/Write or = 0 if Read only
- undefined bits are not implemented and read as any value
Signal Enables    -    ENABLES | Stand-alone External/Internal Signal Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | - | reserved=0 |
1  0x0002 | EnIntTRIG | Enable internal repetitive trigger |
2  0x0004 | EnIntECR | Enable internal repetitive ECReset |
3  0x0008 | EnIntBCR | Enable internal repetitive BCReset |
4  0x0010 | EnRandom | Enable internal trigger randomizer |
5  0x0020 | EnIntFER | Enable internal repetitive FEReset |
6  0x0040 | EnWindow | Enable trigger window |
7  0x0080 | EnIntBusy | Enable internal Busy |
8  0x0100 | EnExtClk | Enable external clock inputs |
9  0x0200 | EnExtTRIG | Enable external trigger inputs |
10  0x0400 | EnExtECR | Enable external ECReset inputs |
11  0x0800 | EnExtBCR | Enable external BCReset inputs |
12  0x1000 | EnExtCAL | Enable external Calibrate inputs |
13  0x2000 | EnExtFER | Enable external FEReset inputs |
14  0x4000 | EnExtSEQ | Enable external Sequencer Go inputs |
15  0x8000 | EnExtBusy | Enable external Busy inputs |
Register resets to 0. Note: external means ECL or NIM front-panel inputs. EnExtCLK disables the internal clock. Note: IntECR is only available if the internal ECR = FER link is inserted (this is the default hardware setup). |
Command & Mode    -    COMMAND | Commands and Mode Settings   -    R/W |
---|
|
---|
Bits | Mode | Field | Function |
0  0x0001 | - | - | reserved=0 |
1  0x0002 | edge | vTRIG | Single trigger |
2  0x0004 | edge | vECR | Single ECReset |
3  0x0008 | edge | vBCR | Single BCReset |
4  0x0010 | edge | vCAL | Single Calibrate strobe |
5  0x0020 | edge | vFER | Single FEReset |
6  0x0040 | edge | vSpare | Single Spare command |
7  0x0080 | level | vBusy | Set Busy |
8  0x0100 | level | vRodBusy | Set RodBusy |
9  0x0200 | level | vBurstMode | Set BURST mode - disable triggers |
10  0x0400 | edge | vBurstGo | Start BURST triggers - Int or Ext |
11  0x0800 | - | - | reserved=0 |
12  0x1000 | level | EnRunMode | Enable Run Mode |
13  0x2000 | level | EnTestBusy | Enable Busy set by next trigger (TestBusy) |
14  0x4000 | level | ClrTestBusy | Clear TestBusy |
15  0x8000 | edge | vReset | Overall TIM RESET |
Register resets to 0. Note: a command bit has one of two modes of operation: 1. level : command is asserted while the bit is set (to 1) 2. edge : command is generated by setting the bit (from 0 to 1, ie the bit must be cleared to re-enable operation) |
Burst Count    -    BURST | Burst Count   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | BurstCount | Number of triggers in BURST |
Register resets to 0. |
Frequency Select    -    FREQUENCY | Trigger/ECR Oscillator Frequency Select   -    R/W |
---|
|
---|
Bits | Field | Function |
0-4 | IntTRIGfreq | Internal trigger look-up table |
5-7 | - | reserved=0 |
8-12 | IntFERfreq | Internal ECR/FER look-up table |
13-15 | - | reserved=0 |
Register resets to 0. |
IntTRIGfreq lookup tableBits (7:0) Hex | Multiplier |
---|
x1 | x10 | x100 | x1000 | Freq (Hz) | 600 | 11 | 09 | 01 | 00 |
---|
300 | 1A | 12 | 0A | 02 | 200 | 1B | 13 | 0B | 03 | 150 | 1C | 14 | 0C | 04 | 120 | 1D | 15 | 0D | 05 | 100 | 1E | 16 | 0E | 06 | 60 | 19 | 11 | 09 | 01 | 50 | 1F | 17 | 0F | 07 |
| IntFERfreq lookup tableBits (15:8) Hex | Multiplier |
---|
x1 | x10 | x100 | x1000 | Freq (Hz) | 0.060 | 11 | 09 | 01 | 00 |
---|
0.030 | 1A | 12 | 0A | 02 | 0.020 | 1B | 13 | 0B | 03 | 0.015 | 1C | 14 | 0C | 04 | 0.012 | 1D | 15 | 0D | 05 | 0.010 | 1E | 16 | 0E | 06 | 0.006 | 19 | 11 | 09 | 01 | 0.005 | 1F | 17 | 0F | 07 |
|
Notes:
1. Example: Write 0E06 hex for triggers at 100 kHz and front-end resets at 1 Hz.
2. If the EnRandom bit is set, the average frequency of the random triggers is one quarter of the above internal trigger frequency table.
Trigger Window    -    WINDOW | Trigger Window Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 5 | WinSize | Trigger window size (0.5ns steps) |
6-7 | - | reserved=0 |
8-13 | WinDelay | Trigger window delay (0.5ns steps) |
14-15 | - | reserved=0 |
Register resets to 0. Note: the Trigger Window register is for External Trigger input only. |
Delay    -    DELAYS | Stand-alone Mode Delays   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 7 | TrigDelay | Stand-alone trigger pipeline delay (clock steps) |
8-13 | ClkDelay | Stand-alone clock delay (0.5ns steps) |
14-15 | - | reserved=0 |
Register resets to 0. |
Status    -    STATUS | General Status   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | ExtBusy | Front-panel Busy Input (post-enable) |
1  0x0002 | MExtBusyout | Masked ExtBusy Output |
2  0x0004 | Busy | TIM stopping triggers internally |
3  0x0008 | Busyout | Front-panel Busy Output |
4  0x0010 | BurstActive | Burst is active (e.g. running: post-go, pre-done) |
5  0x0020 | SeqSrcAct | Sequencer Source Running |
6  0x0040 | SeqSinkAct | Sequencer Sink Running |
7  0x0080 | RodBusyout | Front-panel RodBusy Output |
8  0x0100 | TTCClkOK | TTC system clock present |
9  0x0200 | SAClkOK | Stand-alone clock present |
10  0x0400 | RunMode | TTC system operation |
11  0x0800 | SaMode | Stand-alone operation |
12  0x1000 | - | reserved=0 |
13  0x2000 | TIMOK | Selected Clock is running. |
14  0x4000 | TestBusy | Test-Busy Triggered |
15  0x8000 | LaserInterlock | Laser Interlock on (n/c on TIM3: pulled high) |
|
FIFO Status    -    FIFO | FIFO Status   -    R |
---|
|
---|
Bits | Field | Function |
0- 5 | IDcount | Event ID FIFO Count |
6  0x0040 | IDEF | Event ID Empty Flag |
7  0x0080 | IDFF | Event ID Full Flag |
8-13 | TTcount | Trigger Type FIFO Count |
14  0x4000 | TTEF | Trigger Type Empty Flag |
15  0x8000 | TTFF | Trigger Type Full Flag |
|
Trigger ID Lo    -    L1IDL | Trigger Number LSW   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0-15 | R | L1IDlo | Last trigger number (bits 0-15) |
0-15 | (R/W) | L1IDlo | Load last trigger number (next-1) |
Register resets to 0xFFFF. |
Trigger ID Hi    -    L1IDH | Trigger Number MSB/ ECR-ID   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0- 7 | R | L1IDhi | Last trigger number (bits 16-23) |
0- 7 | (R/W) | L1IDhi | Load last trigger number (next-1) |
8-15 | R | ECRID | ECR counter |
Register resets to 0x00FF. |
Trigger BCID    -    BCID | Trigger Bunch Crossing   -    R(/W) |
---|
|
---|
Bits | Mode | Field | Function |
0-11 | R | BCID | Bunch Crossing number of last trigger |
12-15 | R/W | Offset | BCID offset |
Register resets to 0. |
Trigger Type ID    -    TTID | Trigger Type   -    R(/W) |
---|
|
---|
Bits | Field | Function |
0- 7 | TTID1 | TTC Trigger Type |
8-11 | TTID2 | TIM Trigger Type |
12-15 | - | reserved=0 |
Register resets to 0. |
Run Enables    -    RUN_ENABLE | TTC and Other Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | EnTTCClk | Enable TTC clock |
1  0x0002 | EnL1A | Enable TTC L1Accept Trigger |
2  0x0004 | EnECR | Enable TTC ECReset |
3  0x0008 | EnBCR | Enable TTC BCReset |
4  0x0010 | EnCAL | Enable TTC Calibrate Strobe |
5  0x0020 | EnFER | Enable TTC FEReset |
6  0x0040 | EnSpare | Enable TTC Spare command |
7  0x0080 | EnRodBusy | Enable RodBusy into Busyout |
8  0x0100 | EnExtRodBusy | Enable external RodBusy input |
9  0x0200 | EnID | Enable trigger & bunch ID numbers |
10  0x0400 | EnTYPE | Enable trigger type |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | EnSaECR | Enable counter ECR |
15  0x8000 | EnSaBCR | Enable counter BCR |
Register resets to 0. |
Sequencer Control    -    SEQ_CTL | Sequencer Control   -    R/W |
---|
|
---|
Bits | Mode | Field | Function |
0  0x0001 | level | EnSeqTRIG | Enable L1Accept trigger |
1  0x0002 | level | EnSeqECR | Enable ECReset |
2  0x0004 | level | EnSeqBCR | Enable BCReset |
3  0x0008 | level | EnSeqCAL | Enable Calibrate strobe |
4  0x0010 | level | EnSeqID | Enable SerialID |
5  0x0020 | level | EnSeqTT | Enable SerialTT |
6  0x0040 | level | EnSeqFER | Enable FEReset |
7  0x0080 | level | EnSeqSpare | Enable Spare command |
8  0x0100 | - | - | reserved=0 |
9  0x0200 | level | SeqReset | Reset Sequencer |
10  0x0400 | edge | SeqGo | Start Sequencer |
11  0x0800 | level | EnCyclic | Enable cyclic operation |
12  0x1000 | - | - | reserved=0 |
13  0x2000 | level | SinkReset | Reset Sink |
14  0x4000 | edge | SinkGo | Start Sink (and Source) |
15  0x8000 | level | EnStartSink | Enable Sink trigger |
Register resets to 0. Note: a sequencer control bit has one of two modes of operation: 1. level : command or enable is asserted while the bit is set (to 1) 2. edge : command is generated by setting the bit (from 0 to 1, ie the bit must be cleared to re-enable operation) |
Sequencer End    -    SEQ_END | Sequencer End Count Value   -    R/W |
---|
|
---|
Bits | Field | Function |
0-13 | EndAddr | End/Recycle address |
14-15 | - | reserved=0 |
Register resets to 0. Note: Counts from 0 - e.g. nClocks = (End+1) |
RODBusy Mask    -    RB_MASK | ROD Mask   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | RODmask | RodBusy mask (16 slots: 5-12, 14-21) |
Register resets to 0. Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate, bit 7 is slot 12, bit 8 is slot 14, etc. |
RODBusy Status    -    RB_STAT | RODBusy Status   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | RodBusy | RodBusy status (16 slots: 5-12, 14-21) |
|
RODBusy Latch    -    RB_LATCH | RODBusy Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | RODlatch | RodBusy latch (16 slots: 5-12, 14-21) |
Register resets to 0. Cleared by a WRITE. Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate. |
RODBusy Monitor    -    RB_MON | RODBusy Monitor   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | RODmonitor | RodBusy monitor (16 slots: 5-12, 14-21) |
Register resets to 0. Cleared by a WRITE. Note: the ROD bits are in the order of ROD slot number, eg bit 0 is slot 5 in the ROD crate. |
TTC Data    -    TTC_DATA | TTC Data Monitor   -    R/Z |
---|
|
---|
Bits | Field | Function |
0- 7 | Dout | Long-format data |
8-15 | SubAddr | Sub-address |
Register resets to 0. Cleared by a WRITE. |
TTC Select    -    TTC_SELECT | TTC Data Monitor Select   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 3 | DQselect | Select long-format Data Qualifier |
4-15 | - | reserved=0 |
Register resets to 0. |
TTC BCID    -    TTC_BCID | Last TTC BCID Received   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-11 | TTC_BCID | TTC bunch number |
12-15 | - | reserved=0 |
Register resets to 0. Cleared by a WRITE. |
TTCrx Control    -    TTCRX_CTL | TTCrx Control Register (I2C)   -    R/W |
---|
|
---|
Bits | Field | Function |
0- 7 | Data | TTCrx data (read or write) |
8-12 | Pointer | TTCrx register number |
13  0x2000 | Read | I2C Read (not Write) |
14  0x4000 | Enable | T2: I2C clock enable/T3 R: Error Status, W: Abort |
15  0x8000 | Control | R: I2C Busy / W: I2C Go |
Register resets to 0. |
TTC Status    -    TTC_STATUS | TTC Status   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | BCntRes | BCReset |
1  0x0002 | EvCntRes | ECReset |
2 | Brcst(2) | FEReset bit - system message |
3 | Brcst(3) | Broadcast bit - system message |
4 | Brcst(4) | Broadcast bit - system message |
5 | Brcst(5) | Broadcast bit - system message |
6 | Brcst(6) | Calibrate bit - user message |
7 | Brcst(7) | Broadcast bit - user message |
8  0x0100 | L1Accept | Trigger |
9  0x0200 | BrcstStr1 | Broadcast strobe - system message |
10  0x0400 | BrcstStr2 | Broadcast strobe - user message |
11  0x0800 | DoutStr | Long-format data strobe |
12  0x1000 | DbErrStr | Double error or frame error occured |
13  0x2000 | SinErrStr | Single error occured |
14  0x4000 | TTCReady | TTCrx operating correctly |
15  0x8000 | - | reserved=0 |
|
TIM Output Latch    -    TIM_OUTPUT | TIM Backplane Signals Output Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0  0x0001 | TTCout0 | L1Accept trigger |
1  0x0002 | TTCout1 | ECReset |
2  0x0004 | TTCout2 | BCReset |
3  0x0008 | TTCout3 | Calibrate strobe |
4  0x0010 | TTCout4 | SerialID |
5  0x0020 | TTCout5 | SerialTT |
6  0x0040 | TTCout6 | FEReset |
7  0x0080 | TTCout7 | Spare command |
8-15 | - | reserved=0 |
Register resets to 0. Cleared by a WRITE. |
TIM ID    -    TIM_ID | Hardware and Firmware ID   -    R |
---|
|
---|
Bits | Field | Function |
0- 7 | SerialNo | Serial number |
8-15 | Version | Version number |
|
Enables3    -    ENABLES3 | TIM3 Specific Enables   -    R/W |
---|
|
---|
Bits | Field | Function |
0-2 | - | reserved=0 |
3  0x0008 | - | reserved=0 |
4  0x0010 | L1IDroECRen | Enable L1ID rollover to increment ECR-ID |
5  0x0020 | QpllControlEn | Enable output QPLL lines to TTCrq (see qpll_ctl) |
6  0x0040 | Random2En | Enable Randomiser (version 2) |
7  0x0080 | - | reserved=0 |
8  0x0100 | TrigSeqModeEn | Stand-alone trigs set to generate SeqGo (only) |
9  0x0200 | ShortFPSigsEn | Sets Front-panel L1A,ECR,BCR,CAL,FER & Spare signals pulse width to 25ns (from 40ns) (This will stop these LEDs working correctly on TIM-3E's) |
10  0x0400 | PreBusyBurstEn | Burst counts triggers prior to busy action. Useful for testing trig-in vs trigs-out relationships |
11  0x0800 | SaTtcL1aEn | Enable raw TTC into SA Mode trigger stream (incl. busy + deadtime) |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | - | reserved=0 |
15  0x8000 | - | reserved=0 |
Register resets to 0. |
Control    -    CONTROL | General Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | - | reserved=0 |
1  0x0002 | - | reserved=0 |
2  0x0004 | TrigOsc2En | Enables Trigger Oscillator 2 |
3  0x0008 | FFTVEmerClr | Clear an FFTV emergency state (serious!) |
4-8 | Rand2Freq | Average frequency of Randomiser 2 (see table below) |
9-15 | Rand2ClkDiv | Clock divider for larger bunch spacing tests |
Register resets to 0. |
Random2 Frequency (Control<8:4>) Lookup Table
1F | 1E | 1D | 1C | 1B | 1A | 19 | 18 |
40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz | 40 MHz |
17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
40 MHz | 20 MHz | 10 MHz | 5 MHz | 2.5 MHz | 1.2 MHz | 600 kHz | 300 kHz |
F | E | D | C | B | A | 9 | 8 |
150 kHz | 80 kHz | 40 kHz | 20 kHz | 10 kHz | 5 kHz | 2.5 kHz | 1.2 kHz |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
600 Hz | 300 Hz | 160 Hz | 75 Hz | 40 Hz | 10 Hz | 5 Hz | 1 Hz |
Status3    -    STATUS3 | TIM3 Specific Status bits   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | TTCReady3 | TTCrx operating correctly |
1  0x0002 | QpllPresent | TTCrq/QPLL chip present |
2  0x0004 | QpllError | QPLL Chip Error |
3  0x0008 | QpllLocked | QPLL Locked |
4  0x0010 | TtcClkOK3 | TTC clock is present |
5  0x0020 | - | reserved=0 |
6  0x0040 | SaClkOK3 | SA clock is present |
7  0x0080 | TtcClkEnOK | TTC Clock Selected and Running ('TT' LED) |
8  0x0100 | ExtClkEnOK | Ext Clock Selected and Running |
9  0x0200 | IntClkEnOK | Internal Clock Selected and Running |
10  0x0400 | PllStable | Clock PLL(s) stable after switching clocks |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | spare_in | Spare Input |
15  0x8000 | spare_link | Spare Link |
|
Status Change Latch    -    STATUS_LCH | Status Change Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Status Change Latch | Latches changes in Status Register (6) since last write |
Register resets to 0x0004. Cleared by a WRITE. |
Status3 Change Latch    -    STAT3_LCH | Status3 Change Latch   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Status3 Change Latch | Latches changes in Status3 since last write |
Register resets to 0x0400. Cleared by a WRITE. |
QPLL Control    -    QPLL_CTL | QPLL Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0-3 | QpllF0Select | QPLL f0 Select (bits 3:0) |
4  0x0010 | QpllAutorestart | QPLL Auto-restart/f0 sel bit 4 |
5  0x0020 | nQpllReset | QPLL Reset/f0 Select bit 5 |
6  0x0040 | QpllExtControl | QPLL External Control Enable |
7  0x0080 | QpllMode | QPLL Mode |
8  0x0100 | - | reserved=0 |
9  0x0200 | - | reserved=0 |
10  0x0400 | - | reserved=0 |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | - | reserved=0 |
15  0x8000 | - | reserved=0 |
Register resets to 0x00B0. |
Busy Enable3    -    BUSY_EN3 | Busy Enable3   -    R/W |
---|
|
---|
Bits | Field | Function |
0  0x0001 | enRBbusy | Enable RodBusy into Busy |
1  0x0002 | enXRBbusy | Enable External-RodBusy into Busy |
2  0x0004 | enVRBbusy | Enable VME-RodBusy into Busy |
3  0x0008 | enXBbusy | Enable External-Busy into Busy |
4  0x0010 | enVBbusy | Enable VME-Busy into Busy |
5  0x0020 | - | reserved=0 |
6  0x0040 | - | reserved=0 |
7  0x0080 | - | reserved=0 |
8  0x0100 | enRBbusyout | Enable RodBusy into Busyout |
9  0x0200 | enXRBbusyout | Enable External-RodBusy into Busyout |
10  0x0400 | enVRBbusyout | Enable VME-RodBusy into Busyout |
11  0x0800 | enXBbusyout | Enable External-Busy into Busyout |
12  0x1000 | enVBbusyout | Enable VME-Busy into Busyout |
13  0x2000 | enBSTBbusyout | Enable Burst-Busy into Busyout |
14  0x4000 | enTSTBbusyout | Enable Test-Busy into Busyout |
15  0x8000 | enDTBbusyout | Enable Deadtime-Busy into Busyout |
Register resets to 0x1000. |
Busy Status3    -    BUSY_STAT3 | Busy Status3   -    R |
---|
|
---|
Bits | Field | Function |
0  0x0001 | RodBusy | RB: OR of all RodBusy backplane inputs (post masking) |
1  0x0002 | ExtRodBusy | XRB: External RodBusy (post-enable) |
2  0x0004 | vRodBusy3 | VRB: VME-RodBusy |
3  0x0008 | ExtBusy3 | XB: Front Panel Busy Input (post-enable) |
4  0x0010 | vBusy3 | VB: VME-Busy |
5  0x0020 | BurstBusy3 | BSTB: Burst Ready - awaiting Burst-Go/Burst Done |
6  0x0040 | TestBusy3 | TSTB: Test-Busy Triggered |
7  0x0080 | DeadTimeBusy | DTB: Stand-Alone Signal Dead-Time |
8  0x0100 | ClkSwitchBusy | Timeout after clock-switch/reset to ensure downstream stable |
9  0x0200 | Busy3 | TIM stopping triggers internally |
10  0x0400 | RodBusyout3 | Front-panel RodBusy Output |
11  0x0800 | Busyout3 | Front-panel Busy Output |
12  0x1000 | MExtBusyout3 | Front-panel Masked ExtBusy Output |
13  0x2000 | FFTVEmergency | FFTV System In Emergency State, Triggers Stopped |
14  0x4000 | FFTVBusy | Fixed Frequency Trigger Veto Busy Asserted |
15  0x8000 | FFTVLinkStat | FFTV Disable Link Inserted |
|
Busy Status3 Change Latch    -    BSTAT3_LCH | Catches changes in BSTAT3 since last reset/clear   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Busy Status3 Change Latch | Catches changes in BSTAT3 since last reset/clear |
Register resets to 0x0300. Cleared by a WRITE. |
Overall Busy Count Lo    -    BCOUNTL | Busy Count (15:0) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Overall Busy Count Lo | Busy Count (15:0) - Number of clocks RodBusy is asserted (as sent out of front panel) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Overall Busy Count registers will reset all of them. |
Overall Busy Count Hi    -    BCOUNTH | Busy Count (31:16) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Overall Busy Count Hi | Busy Count (31:16) - Number of clocks RodBusy is asserted (as sent out of front panel) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Overall Busy Count registers will reset all of them. |
Overall Busy Count Ex    -    BCOUNTX | Busy Count (47:32) - Number of clocks RodBusy is asserted (as sent out of front panel)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Overall Busy Count Ex | Busy Count (47:32) - Number of clocks RodBusy is asserted (as sent out of front panel) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Overall Busy Count registers will reset all of them. |
FFTV Match Threshhold    -    FV_MATCH | FFTV Match Threshhold   -    R/W |
---|
|
---|
Bits | Field | Function |
0-3 | FFTV Match Threshhold | Number of Matching Periods needed to Generate Veto |
Register resets to 10. Only values between 2 and 10, otherwise defaults to 10. |
FFTV Count Lo    -    FV_COUNTL | Number of Clocks in FFTVeto Counter (15:0)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV Count Lo | Number of Clocks in FFTVeto Counter (15:0) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the FFTV Count registers will reset all of them. |
FFTV Count Hi    -    FV_COUNTH | Number of Clocks in FFTVeto Counter (31:16)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV Count Hi | Number of Clocks in FFTVeto Counter (31:16) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the FFTV Count registers will reset all of them. |
FFTV Count Ex    -    FV_COUNTX | Number of Clocks in FFTVeto Counter (47:32)    -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV Count Ex | Number of Clocks in FFTVeto Counter (47:32) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the FFTV Count registers will reset all of them. |
FFTV Trigger Count Lo    -    FV_TCOUNTL | Number of Triggers FFTVeto'd (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV Trigger Count Lo | Number of Triggers FFTVeto'd (15:0) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the FFTV Trigger Count registers will reset all of them. |
FFTV Trigger Count Hi    -    FV_TCOUNTH | Number of Triggers FFTVeto'd (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | FFTV Trigger Count Hi | Number of Triggers FFTVeto'd (31:16) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the FFTV Trigger Count registers will reset all of them. |
Trigger Period FIFO Lo    -    TP_FIFOL | Trigger Period FIFO (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger Period FIFO Lo | Trigger Period FIFO (15:0) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Trigger Period FIFO registers will reset all of them. |
Trigger Period FIFO Hi    -    TP_FIFOH | Trigger Period FIFO (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Trigger Period FIFO Hi | Trigger Period FIFO (31:16) |
Register resets to 0x4000. Cleared by a WRITE. A write to the LSW of the Trigger Period FIFO registers will reset all of them. |
Veto ID Lo    -    FV_IDL | Counts Number of times Veto is Asserted (15:0)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Veto ID Lo | Counts Number of times Veto is Asserted (15:0) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Veto ID registers will reset all of them. |
Veto ID Hi    -    FV_IDH | Counts Number of time Veto is Asserted (31:16)   -    R/Z |
---|
|
---|
Bits | Field | Function |
0-15 | Veto ID Hi | Counts Number of time Veto is Asserted (31:16) |
Register resets to 0. Cleared by a WRITE. A write to the LSW of the Veto ID registers will reset all of them. |
Burst Count Hi    -    BURST_HI | Burst Counter (31:16)   -    R/W |
---|
|
---|
Bits | Field | Function |
0-15 | Burst Count Hi | Burst Counter (31:16) |
Register resets to 0. Note: Used in Conjuction with BURST register. Enable L1ID-rollover-to-ECRID (ENABLES3,4) to count 32 bit L1ID |
F2 Timestamp Lo    -    TSTAMPL | F2 Timestamp (15:0)   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | F2 Timestamp Lo | F2 Timestamp (15:0) |
|
F2 Timestamp Hi    -    TSTAMPH | F2 Timestamp (31:16)   -    R |
---|
|
---|
Bits | Field | Function |
0-15 | F2 Timestamp Hi | F2 Timestamp (31:16) |
|
F2 Debug Control    -    DEBUG_CTL | F2 Debug Control   -    R/W |
---|
|
---|
Bits | Field | Function |
0-3 | - | reserved=0 |
4  0x0010 | - | reserved=0 |
5  0x0020 | - | reserved=0 |
6  0x0040 | | |
7  0x0080 | - | reserved=0 |
8  0x0100 | CSBdisable | Disable Clk-Switch Busy |
9  0x0200 | SARBdisable | Disable SA-Mode setting RodBusy |
10  0x0400 | - | reserved=0 |
11  0x0800 | - | reserved=0 |
12  0x1000 | FVdisable | FFTV Veto Disable (needs link in place too) |
13  0x2000 | - | reserved |
14  0x4000 | - | reserved=0 |
15  0x8000 | - | reserved=0 |
Register resets to 0. |
F2 Debug Status    -    DEBUG_STAT | F2 Debug Status   -    R |
---|
|
---|
Bits | Field | Function |
0-3 | - | reserved=0 |
4  0x0010 | - | reserved=0 |
5  0x0020 | - | reserved=0 |
6  0x0040 | - | reserved=0 |
7  0x0080 | - | reserved=0 |
8  0x0100 | - | reserved=0 |
9  0x0200 | - | reserved=0 |
10  0x0400 | - | reserved=0 |
11  0x0800 | - | reserved=0 |
12  0x1000 | - | reserved=0 |
13  0x2000 | - | reserved=0 |
14  0x4000 | - | reserved=0 |
15  0x8000 | - | reserved=0 |
|
Sequencer RAM Address Map
|
|
Address | Byte Field (D16 access only)
|
---|
8000 | First byte of Source data
|
8001 | First byte of Sink data
|
... | ...
|
FFFE | Last byte of Source data
|
FFFF | Last byte of Sink data
|
Notes:
1. The source and sink memories are each 16K bytes long, interleaved with
the source being the least significant byte of each 16-bit word,
giving 32K bytes (16K words) of sequencer memory in total.
2. The memories have no reset and have undefined values after a power-up cycle;
to be safe they should be filled with zeros after each TIM RESET.
Sequencer RAM |
VME Address: 8000-FFFE | R/W |
|
bit | Field | Function
|
---|
0 | SourceTRIG | Source L1Accept trigger
|
1 | SourceECR | Source ECReset
|
2 | SourceBCR | Source BCReset
|
3 | SourceCAL | Source Calibrate strobe
|
4 | SourceID | Source SerialID
|
5 | SourceTT | Source SerialTT
|
6 | SourceFER | Source FEReset
|
7 | SourceSpare | Source Spare command
|
8 | SinkTRIG | Sink L1Accept trigger
|
9 | SinkECR | Sink ECReset
|
10 | SinkBCR | Sink BCReset
|
11 | SinkCAL | Sink Calibrate strobe
|
12 | SinkID | Sink SerialID
|
13 | SinkTT | Sink SerialTT
|
14 | SinkFER | Sink FEReset
|
15 | SinkSpare | Sink Spare command
|
TIM_interface_RCC http://www.hep.ucl.ac.uk/~jbl/SCT/TIM_interface_RCC.html
TIM_manual http://www.hep.ucl.ac.uk/atlas/sct/tim/TIM_manual.html
History:
0.95 17Aug05 MW Excel gen list with all TIM-3 registers set as default
0.9 22Mar05 MW Started adding new TIM3 bits
0.8 22Jun04 JBL L1ID registers reset to -1 (firmware v9)
0.7 11Nov02 JBL Rearrange L1ID registers to add ECRID (firmware v9)
0.6 21Mar02 JBL Redefine some bits
0.5 11Mar01 JBL Move TIM ID & Output, add ROD Latch & Monitor
0.4 24Nov00 JBL Add frequency tables, RAM bits
0.4 24Nov00 JBL Add frequency tables, RAM bits
0.3 09Nov00 JBL Minor update
0.2 21Jul00 JBL Minor update
0.1 03Jul00 JBL First draft on the Web
0.0 02Dec99 MP First draft
Matthew Warren /
warren@hep.ucl.ac.uk
Copyright © 2005 UCL HEP Group.
[Last modified 19 Apr 2022]