Busy Box and related/BusyBox Registers: Difference between revisions

From ift
mNo edit summary
(Updated Trigger Modules Regesiter definition)
Line 231: Line 231:
!width="170"|Name                   
!width="170"|Name                   
!Address   
!Address   
!Mode 
!Type  
!width="90"|Bit slice  
!Description
!Description
|----
|----
|rowspan="11"|Control              
|
|rowspan="11"|0x3000  
 
|RW
<nowiki>Control[23:0]</nowiki>     
|[0]
|
|Serial B channel on/off Default: 1
0x3000
|----
|
|RW
RW
|[1]
|
|Disable_error_masking 0
 
|----
<nowiki>[0] Serial B channel on/off </nowiki>          ''Default:   ''1''
|RW
 
|[2]
<nowiki>[1] </nowiki>      Disable_error_masking       ''0''
|NA 0
 
|----
<nowiki>[2] NA</nowiki>                          ''0''
|RW
 
|[3]
<nowiki>[3] L0 support </nowiki>                      ''1''
|L0 support 1
 
|----
<nowiki>[4:7] </nowiki>      ''(Not Used)''
|RW
 
|[4:7]
<nowiki>[8] L2a FIFO storage mask</nowiki>              ''1''
|Not Used
 
|----
<nowiki>[9] L2r FIFO storage mask</nowiki>              ''1''
|RW
 
|[8]
<nowiki>[10] L2 Timeout FIFO storage mask</nowiki>          ''1''
|L2a FIFO storage mask 1
 
|----
<nowiki>[11] L1a message mask </nowiki>              ''1''
|RW
 
|[9]
<nowiki>[12]</nowiki>      '' ''Trigger Input Mask Enable       ''0''
|L2r FIFO storage mask 1
 
|----
<nowiki>[13:15] </nowiki>      ''(Not Used)''
|RW
 
|[10]
<nowiki>[16] </nowiki>      Bunch_counter overflow           -
|L2 Timeout FIFO storage mask 1
 
|----
<nowiki>[17] Run Active </nowiki>                      -
|RW
 
|[11]
<nowiki>[18] Busy (receiving sequence)</nowiki>              -
|L1a message mask 1
 
|----
<nowiki>[19] </nowiki>      ''Not Used''
|RW
 
|[12]
<nowiki>[23:20] CDH version </nowiki>                  0x2
|Trigger Input Mask Enable 0
|-
|----
|
|RW
Module Reset
|[13:15]
|
|Not Used
0x3001
|----
|
|RW
T
|[16]
|
|Bunch_counter overflow
Reset Module
|----
|-
|RW
|
|[17]
NA
|Run Active -
|
|----
0x3002
|RW
|
|[18]
|
|Busy (receiving sequence) -
|-
|----
|
|RW
NA
|[19]
|
|Not Used
0x3003
|----
|
|RW
|
|[23:20]
|-
|CDH version 0x2
|
|----
Reset Counters
|Module Reset        
|
|0x3002   
0x3004
|T    
|
|N/A       
T
|Reset Module
|
|----
Write to this registers will reset the counters in the module
|Reset Counters       
|-
|0x3008   
|
|T   
Issue Testmode
|N/A       
|
|Write to this registers will reset the counters in the module
0x3005
|----
|
|Issue Testmode      
T
|0x300A   
|
|T    
Debug: Issues testmode sequence. Note that serialB channel input MUST be disabled when using this feature.  
|N/A       
|-
|Debug: Issues testmode sequence. Note that serialB channel input MUST be disabled when using this feature.
|
|----
 
|rowspan="2"|L1_Latency          
<nowiki>L1_Latency[15:0]</nowiki>     
|rowspan="2"|0x300C   
|
|RW  
0x3006
|[15:12]  
|
|Uncertainty region +- N. default value 0x2 (50 ns)  
RW
|----
|
|RW   
 
|[11:0]    
<nowiki>[15:12] Uncertainty region +- N. default value 0x2 (50 ns)</nowiki>     
|Latency from L0 to L1. default value 0x0D4 (5.3 us)
 
|----
<nowiki>[11:0] Latency from L0 to L1, default value 0x0D4 (5.3 us) </nowiki>     
|L2_Latency MAX       
|-
|0x300E   
|
|RW  
 
|[15:0]    
<nowiki>L2_Latency[31:0]</nowiki>     
|Max Latency from BC0 to L2. default value 0x4E20 (500 us)
|
|----
0x3007
|L2_Latency MIN       
|
|0x300F   
RW
|RW   
|
|[15:0]    
 
|Min Latency from BC0 to L2. default value 0x0C80 (80 us)
<nowiki>[15:0] Max Latency from BC0 to L2, default value 0x4E20 (500 us)</nowiki>     
|----
 
|L1_msg_latency MAX   
<nowiki>[31:16] Min Latency from BC0 to L2, default value 0x0C80 (80 us)</nowiki>     
|0x3014   
|-
|RW   
|
|[15:0]    
L2_Extdended
|Max Latency from BC0 to L1 msg. default value 0x0028 (1 us)
 
|----
<nowiki>Latency[31:0]</nowiki>     
|L1_msg_latency MIN   
|
|0x3015   
0x3009
|RW   
|
|[15:0]    
RW
|Min Latency from BC0 to L1 msg. default value 0x0F8 (6.2 us)
|
|----
 
|Pre_pulse_counter   
<nowiki>[15:0] Max Latency from BC0 to L2 Extended window end, default value 0x4E48 (501 us)</nowiki>     
|0x3016   
 
|R   
<nowiki>[31:16] Min Latency from BC0 to L2 Extended window start, default value 0x0C80 (80 us)</nowiki>     
|[15:0]    
|-
|Number of decoded pre-pulses.
|
|----
 
|BCID_Local           
<nowiki>L1_msg_latency[31:0]</nowiki>     
|0x3018   
|
|R   
0x300A
|[11:0]    
|
|Number of bunchcrossings at arrival of L1 trigger.
RW
|----
|
|L0_counter           
 
|0x301A   
<nowiki>[15:0] Max Latency from BC0 to L1 </nowiki>      msg, default value 0x0028 (1 us)
|R   
 
|[15:0]    
<nowiki>[31:16] Min Latency from BC0 to L1 </nowiki>      msg, default value 0x0F8 (6,2 us)
|Number of L0 triggers
|-
|----
|
|L1_counter           
Pre_pulse_counter
|0x301C   
 
|R    
<nowiki>[15:0]</nowiki>     
|[15:0]   
|
|Number of L1 triggers
0x300B
|----
|
|L1_msg_counter       
R
|0x301E   
|
|R   
Number of decoded pre-pulses.
|[15:0]    
|-
|Number of successfully decoded L1 messages
|
|----
BCID_Local
|L2a_counter         
 
|0x3020   
<nowiki>[11:0]</nowiki>     
|R   
|
|[15:0]    
0x300C
|Number of successfully decoded L2a messages
|
|----
R
|L2r_counter         
|
|0x3022   
Number of bunchcrossings at arrival of L1 trigger.
|R   
|-
|[15:0]    
|
|Number of successfully decoded L2r messages
 
|----
<nowiki>L0_counter[15:0]</nowiki>     
|Bunchcounter         
|
|0x3026   
0x300D
|R   
|
|[11:0]   
R
|Debug: Number of bunchcrossings
|
|----
Number of L0 triggers
|SingleHammingErrorCnt
|-
|0x302C   
|
|R   
 
|[15:0]    
<nowiki>L1_counter[15:0]</nowiki>     
|Number of single bit hamming errors
|
|----
0x300E
|DoubleHammingErrorCnt
|
|0x302D   
R
|R   
|
|[15:0]    
Number of L1 triggers
|Number of double bit hamming errors
|-
|----
|
|MsgDecodingErrorCnt 
 
|0x302E   
<nowiki>L1_msg_counter[15:0]</nowiki>     
|R    
|
|[15:0]   
0x300F
|Number of message decoding errors
|
|----
R
|SeqTimoutErrorCnt   
|
|0x302F   
Number of successfully decoded L1 messages
|R   
|-
|[15:0]    
|
|Number of errors related to sequence and timeouts.
 
|----
<nowiki>L2a_counter[15:0]</nowiki>     
|Buffered_events     
|
|0x3040   
0x3010
|R   
|
|[4:0]     
R
|Number of events stored in the FIFO.
|
|----
Number of successfully decoded L2a messages
|DAQ_Header01         
|-
|0x3042   
|
|R   
 
|[15:0]    
<nowiki>L2r_counter[15:0]</nowiki>     
|Latest received DAQ Header 1 [15:0]
|
|----
0x3011
|DAQ_Header01         
|
|0x3043   
R
|R   
|
|[15:0]    
Number of successfully decoded L2r messages
|Latest received DAQ Header 1 [31:16]
|-
|----
|
|DAQ_Header02         
NA
|0x3044   
|
|R   
0x3012
|[15:0]    
|
|Latest received DAQ Header 2 [15:0]
|
|----
|-
|DAQ_Header02         
|
|0x3045   
Bunchcounter
|R   
 
|[15:0]    
<nowiki>[11:0]</nowiki>     
|Latest received DAQ Header 2 [31:16]
|
|----
0x3013
|DAQ_Header03         
|
|0x3046   
R
|R   
|
|[15:0]    
Debug: Number of bunchcrossings
|Latest received DAQ Header 3 [15:0]
|-
|----
|
|DAQ_Header03         
hammingErrorCnt
|0x3047   
 
|R   
<nowiki>[31:0]</nowiki>     
|[15:0]    
|
|Latest received DAQ Header 3 [31:16]
0x3016
|----
|
|DAQ_Header04         
R
|0x3048   
|
|R   
 
|[15:0]   
<nowiki>[15:0] Number of single bit hamming errors [31:16] Number of double bit hamming errors</nowiki>     
|Latest received DAQ Header 4 [15:0]
|-
|----
|
|DAQ_Header04         
ErrorCnt
|0x3049   
 
|R    
<nowiki>[31:0]</nowiki>     
|[15:0]   
|
|Latest received DAQ Header 4 [31:16]
0x3017
|----
|
|DAQ_Header05         
R
|0x304a   
|
|R    
 
|[15:0]   
<nowiki>[15:0] Number of message decoding errors </nowiki>     
|Latest received DAQ Header 5 [15:0]
 
|----
<nowiki>[31:16] Number of errors related to sequence and timeouts.</nowiki>     
|DAQ_Header05         
|-
|0x304b   
|
|R    
Buffered_events
|[15:0]   
 
|Latest received DAQ Header 5 [31:16]
<nowiki>[4:0]</nowiki>     
|----
|
|DAQ_Header06         
0x3020
|0x304c   
|
|R    
R
|[15:0]   
|
|Latest received DAQ Header 6 [15:0]
Number of events stored in the FIFO.
|----
|-
|DAQ_Header06         
|
|0x304d   
 
|R    
<nowiki>DAQ_Header01[31:0]</nowiki>     
|[15:0]   
|
|Latest received DAQ Header 6 [31:16]
0x3021
|----
|
|DAQ_Header07         
R
|0x304e   
|
|R    
Latest received DAQ Header 1
|[15:0]   
|-
|Latest received DAQ Header 7 [15:0]
|
|----
 
|DAQ_Header07        
<nowiki>DAQ_Header02[31:0]</nowiki>     
|0x304f   
|
|R    
0x3022
|[15:0]   
|
|Latest received DAQ Header 7 [31:16]
R
|----
|
|Event_info    
Latest received DAQ Header 2
|0x3050   
|-
|R   
|
|[12:0]    
 
|Latest Received Event information:
<nowiki>DAQ_Header03[31:0]</nowiki>     
|----
|
|colspan="2" rowspan="10"|
0x3023
|R    
|
|[12]     
R
|Include payload
|
|----
Latest received DAQ Header 3
|R   
|-
|[11]       
|
|Event has L2 Accept trigger
 
|----
<nowiki>DAQ_Header04[31:0]</nowiki>     
|R   
|
|[10]       
0x3024
|Event has L2 Reject trigger
|
|----
R
|R   
|
|[9]      
Latest received DAQ Header 4
|Calibration trigger event
|-
|----
|
|R   
 
|[8]      
<nowiki>DAQ_Header05[31:0]</nowiki>     
|Software trigger event
|
|----
0x3025
|R   
|
|[4:7]    
R
|Calibration/SW trigger type (= RoC)
|
|----
Latest received DAQ Header 5
|R   
|-
|[3]      
|
|NA(=‘0’)
 
|----
<nowiki>DAQ_Header06[31:0]</nowiki>     
|R   
|
|[2]      
0x3026
|NA(=‘0’)
|
|----
R
|R    
|
|[1]      
Latest received DAQ Header 6
|Region of Interest announced (=ESR)
|-
|----
|
|R   
 
|[0]      
<nowiki>DAQ_Header07[31:0]</nowiki>     
|NA(=’0’)
|
|----
0x3027
|Event_error         
|
|0x3052   
R
|R   
|
|[15:0]    
Latest received DAQ Header 7
|Latest Received Event error conditions:
|-
|----
|
|colspan="2" rowspan="16"|
Event_info
|R   
 
|[15]      
<nowiki>[17:0]</nowiki>     
|L1 message arrives outside legal timeslot
|
|----
0x3028
|R   
|
|[14]      
R
|Missing L1
|
|----
Latest Received Event information:
|R   
 
|[13]       
<nowiki>[0] ‘0’</nowiki>        
|Boundary L1
 
|----
<nowiki>[1] Region of Interest announced (=ESR)</nowiki>     
|R   
 
|[12]       
<nowiki>[2] ‘0’</nowiki>        
|Spurious L1
 
|----
<nowiki>[3] ‘0’</nowiki>     
|R   
 
|[11]       
<nowiki>[4:7] Calibration/SW trigger type (= </nowiki>      RoC)
|Missing L0
 
|----
<nowiki>[8] Software trigger event</nowiki>     
|R   
 
|[10]       
<nowiki>[9] Calibration trigger event</nowiki>     
|Spurious L0
 
|----
<nowiki>[10] Event has L2 Reject trigger</nowiki>     
|R   
 
|[9]      
<nowiki>[11] Event has L2 Accept trigger</nowiki>     
|TTCrx Address Error (not X”0003”)
 
|----
<nowiki>[12] Include payload</nowiki>     
|R   
 
|[8]      
<nowiki>[17:13] SCLK phase when (L0/L1)trigger arrives</nowiki>     
|NA (= ‘0’)
|-
|----
|
|R   
Event_error
|[7]      
 
|Incomplete L2a Message
<nowiki>[24:0]</nowiki>     
|----
|
|R   
0x3029
|[6]      
|
|Incomplete L1 Message
R
|----
|
|R   
Latest Received Event error conditions:
|[5]      
 
|Unknown Message Address Received
<nowiki>[0] Serial B Stop Bit Error</nowiki>     
|----
 
|R   
<nowiki>[1] Single Bit Hamming Error Individually </nowiki>      Addr.
|[4]      
 
|Double Bit Hamming Error Broadcast.
<nowiki>[2] Double Bit Hamming Error Individually </nowiki>      Addr.
|----
 
|R   
<nowiki>[3] Single Bit Hamming Error Broadcast.</nowiki>     
|[3]      
 
|Single Bit Hamming Error Broadcast.
<nowiki>[4] Double Bit Hamming Error Broadcast.</nowiki>     
|----
 
|R   
<nowiki>[5] Unknown Message Address Received</nowiki>        
|[2]      
 
|Double Bit Hamming Error Individually Addr.
<nowiki>[6] Incomplete L1 Message</nowiki>     
|----
 
|R   
<nowiki>[7] Incomplete L2a Message</nowiki>        
|[1]      
 
|Single Bit Hamming Error Individually Addr.
<nowiki>[8] NA </nowiki>        
|----
 
|R    
<nowiki>[9] </nowiki>      TTCrx Address Error (not X”0003”)
|[0]       
 
|Serial B Stop Bit Error
<nowiki>[10] Spurious L0 </nowiki>        
|----
 
|Event_error         
<nowiki>[11] Missing </nowiki>      L0
|0x3053   
 
|R   
<nowiki>[12] Spurious L1</nowiki>     
|[8:0]    
 
|Latest Received Event error conditions:
<nowiki>[13] Boundary L1</nowiki>     
|----
 
|colspan="2" rowspan="9"|
<nowiki>[14] Missing L1</nowiki>     
|R    
 
|[8]       
<nowiki>[15] L1 message arrives outside legal timeslot</nowiki>     
|NA (= ‘0’)
 
|----
<nowiki>[16] L1 message missing/timeout</nowiki>     
|R   
 
|[7]      
<nowiki>[17] L2 message arrives outside legal timeslot</nowiki>     
|L2 message content error
 
|----
<nowiki>[18] L2 message missing/timeout</nowiki>     
|R    
 
|[6]       
<nowiki>[19] Boundary L2 Message</nowiki>     
|L1 message content error
 
|----
<nowiki>[20] NA</nowiki>     
|R   
 
|[5]      
<nowiki>[21] </nowiki>      Prepulse error (=0; possible future use)
|Prepulse error (=0; possible future use)
 
|----
<nowiki>[22] L1 message content error</nowiki>     
|R   
 
|[4]      
<nowiki>[23] L2 message content error</nowiki>     
|NA (= ‘0’)
 
|----
<nowiki>[24] NA</nowiki>     
|R    
|-
|[3]       
|
|NA (= ‘0’)
 
|----
<nowiki>L1_MessageHeader[11:0]</nowiki>     
|R   
|
|[2]      
0x3030
|L2 message missing/timeout
|
|----
R
|R    
|
|[1]       
Debug: Latest received L1 Message
|L2 message arrives outside legal timeslot
|-
|----
|
|R   
 
|[0]      
<nowiki>L1_MessageData1[11:0]</nowiki>     
|L1 message missing/timeout
|
|----
0x3031
|
R
|
Debug: Latest received L1 Message
|-
|
 
<nowiki>L1_MessageData2[11:0]</nowiki>     
|
0x3032
|
R
|
Debug: Latest received L1 Message
|-
|
 
<nowiki>L1_MessageData3[11:0]</nowiki>     
|
0x3033
|
R
|
Debug: Latest received L1 Message
|-
|
 
<nowiki>L1_MessageData4[11:0]</nowiki>     
|
0x3034
|
R
|
Debug: Latest received L1 Message
|-
|
 
<nowiki>L2aMessageHeader[11:0]</nowiki>     
|
0x3035
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData1[11:0]</nowiki>     
|
0x3036
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData2[11:0]</nowiki>     
|
0x3037
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData3[11:0]</nowiki>     
|
0x3038
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData4[11:0]</nowiki>     
|
0x3039
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData5[11:0]</nowiki>     
|
0x303A
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData6[11:0]</nowiki>     
|
0x303B
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2aMessageData7[11:0]</nowiki>     
|
0x303C
|
R
|
Debug: Latest received L2a Message
|-
|
 
<nowiki>L2rMessageHeader[11:0]</nowiki>     
|
0x303D
|
R
|
Debug: Latest received L2r Message
|-
|
RoIMessageHeader
 
<nowiki>[11:0]</nowiki>     
|
0x303E
|
R
|
Debug: Latest received RoI Message
|-
|
 
<nowiki>RoIMessageData1[11:0]</nowiki>     
|
0x303F
|
R
|
Debug: Latest received RoI Message
|-
|
 
<nowiki>RoIMessageData2[11:0]</nowiki>     
|
0x3040
|
R
|
Debug: Latest received RoI Message
|-
|
 
<nowiki>RoIMessageData3[11:0]</nowiki>     
|
0x3041
|
R
|
Debug: Latest received RoI Message
|-
|
FIFO_read_enable
|
0x3080
|
T
|
Debug: Triggers a readout pulse to FIFO
|-
|
FIFO_DAQHeader
 
<nowiki>[31:0]</nowiki>     
|
0x3081
|
R
|
Debug: Output of FIFO
|}
|}

Revision as of 06:44, 24 April 2012

Busy Box Status and Control Registers
Name Address Mode Description Default Value
TX module(15:0) 0x0001 RW For sending messages to DRORCs.
  • Bit 7:0 is TX data.
  • Bit 15:8 gives channelnumber in hexadecimal. Any value greater than the actual number of channels will result in a broadcast on all channels.
0x0000
RX memory 0x1000-0x1FFF RW Memory where all messages received from DRORCs will be stored. One message is stored over 4 addresses:
  • Address ending "00" - 0x0 & RequestID(3:0) & OrbitID(23:16)
  • Address ending "01" - OrbitID(15:0)
  • Address ending "10" - 0x0 BunchCountID(11:0)
  • Address ending "11" - DRORCID(7:0) & ChannelNumber(7:0)
0x0000
RX memory pointer(13:0) 0x2000 R Holds the value where the next message will be written in RX memory. The RX memory pointer will increase by 4 for each message. 0x0000
EventID FIFO count(3:0) 0x2001 R Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any. 0x0000
Current EventID(35:32) 0x2002 R The EventID which is currently being matched. 0x0000
Current EventID(31:16) 0x2003 R 0x0000
Current EventID(15:0) 0x2004 R 0x0000
Newest EventID(35:32) 0x2005 R The EventID most recently received from the Trigger system. 0x0000
Newest EventID(31:16) 0x2006 R 0x0000
Newest EventID(15:0) 0x2007 R 0x0000
L1 Trigger Timeout(15:0) 0x2008 RW Time in 10 us resolution the 'busy' will be asserted after an L1A trigger. Note: The busy will not be deasserted if the buffers are full. 0x000A
Busy Condition(15:0) 0x2009 RW Status and control registers concerning the BUSY generation
  • Bit 15 - Busy because TTCrx_ready is low.
  • Bit 14 - Busy because MEB count >= MEB limit
  • Bit 13 - Busy because L1 timeout is active.
  • Bit 12 - Busy because Trigger Receiver Module is busy receiving a sequence.
  • Bit 11 - Busy because the maximum Trigger Burst length has been exceeded.
  • Bit 10 - Busy because two buffers are, or have been used, in new sparse mode
  • Bit 9:8 - Unused
  • Bit 7:4 - Current MEB count.
  • Bit 3:0 - MEB Limit: Limit for the maximum number of MEBs to count before busy will be asserted.
0x0000
Halt FSM matching(0) 0x200A RW If LSB is set to 1 the internal State Machine (FSM) will halt in a wait state and will stop requesting EventIDs from the DRORCs. 0x0001
Force match(0) 0x200B T Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched. Note : FSM must be halted before this has any effect. N/A
Re-Request Timeout(15:0) 0x200C RW Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs. 0x07FF
Current RequestID(3:0) 0x200D R Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs. 0x0000
Retry Count(15:0) 0x200E R Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID. 0x0000
Busy time(31:16) 0x2010 R Holds value of counter for number of clock cycles BUSY has been asserted. 0x0000
Busy time(15:0) 0x2011 R 0x0000
RX mem filter(15:0) 0x2012 RW Allows filtering of messages that are stored in RX memory.
  • Bit 7:0 is the pattern that will be matched with the channelnumber of the message.
  • Bit 15:8 allows enableing matching of individual bits 7-0.
0x0000
Number of Channels 0x2014 R Number of channels (in hexadecimal) the firmware includes. This is a generic set at compile-time. N/A
Firmware Revision 0x2015 R Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 54 0x0036
Stresstest Enable(0) 0x2016 RW Duplicates input on channel 0 to all other channels. Used for testing the device with all channels enabled when only one physical DRORC is available. 0x0000
Burst Size(5:0) 0x2017 RW The maximum burst size. A value of 0 disables the Burst Interlock feature. Maximum value is 63. 0x0000
Burst Interlock Leak Time(15:0) 0x2018 RW Leak time for the Burst Interlock "leaky bucket" defined in steps of 10 us. Maximum leak time is 655.4 ms. 0x0000
Trigger Mode(2:0) 0x2019 RW Control registers concerning the BUSY/trigger mode
  • Bit 2 - Not used
  • Bit 1 - New sparse mode enabled
  • Bit 0 - Not used
0x0000
Current Trigger Event Info(12:0) 0x2050 R Holds the Event Info for current eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Current Trigger Event Error(24:16) 0x2051 R Holds the Event Error for current eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Current Trigger Event Error(15:0) 0x2052 R Holds the Event Error for current eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Newest Trigger Event Info(12:0) 0x2054 R Holds the Event Info for newest eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Newest Trigger Event Error(24:16) 0x2055 R Holds the Event Error for newest eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Newest Trigger Event Error(15:0) 0x2056 R Holds the Event Error for newest eventID as reported by the TRM. See TRM registers for bitmapping. 0x0000
Channel Registers 0x21XX RW 'XX' in the address gives the channelnumber in hexadecimal.
  • Bit 0 is enable(1)/disable(0)
  • Bit 1 indicates that the current EventID has been matched on this channel.
0x0001


Trigger Receiver Module Status and Control Registers
Name Address Type Description

Control[23:0]

0x3000

RW

[0] Serial B channel on/off Default: 1

[1] Disable_error_masking 0

[2] NA 0

[3] L0 support 1

[4:7] (Not Used)

[8] L2a FIFO storage mask 1

[9] L2r FIFO storage mask 1

[10] L2 Timeout FIFO storage mask 1

[11] L1a message mask 1

[12] Trigger Input Mask Enable 0

[13:15] (Not Used)

[16] Bunch_counter overflow -

[17] Run Active -

[18] Busy (receiving sequence) -

[19] Not Used

[23:20] CDH version 0x2

Module Reset

0x3001

T

Reset Module

NA

0x3002

NA

0x3003

Reset Counters

0x3004

T

Write to this registers will reset the counters in the module

Issue Testmode

0x3005

T

Debug: Issues testmode sequence. Note that serialB channel input MUST be disabled when using this feature.

L1_Latency[15:0]

0x3006

RW

[15:12] Uncertainty region +- N. default value 0x2 (50 ns)

[11:0] Latency from L0 to L1, default value 0x0D4 (5.3 us)

L2_Latency[31:0]

0x3007

RW

[15:0] Max Latency from BC0 to L2, default value 0x4E20 (500 us)

[31:16] Min Latency from BC0 to L2, default value 0x0C80 (80 us)

L2_Extdended

Latency[31:0]

0x3009

RW

[15:0] Max Latency from BC0 to L2 Extended window end, default value 0x4E48 (501 us)

[31:16] Min Latency from BC0 to L2 Extended window start, default value 0x0C80 (80 us)

L1_msg_latency[31:0]

0x300A

RW

[15:0] Max Latency from BC0 to L1 msg, default value 0x0028 (1 us)

[31:16] Min Latency from BC0 to L1 msg, default value 0x0F8 (6,2 us)

Pre_pulse_counter

[15:0]

0x300B

R

Number of decoded pre-pulses.

BCID_Local

[11:0]

0x300C

R

Number of bunchcrossings at arrival of L1 trigger.

L0_counter[15:0]

0x300D

R

Number of L0 triggers

L1_counter[15:0]

0x300E

R

Number of L1 triggers

L1_msg_counter[15:0]

0x300F

R

Number of successfully decoded L1 messages

L2a_counter[15:0]

0x3010

R

Number of successfully decoded L2a messages

L2r_counter[15:0]

0x3011

R

Number of successfully decoded L2r messages

NA

0x3012

Bunchcounter

[11:0]

0x3013

R

Debug: Number of bunchcrossings

hammingErrorCnt

[31:0]

0x3016

R

[15:0] Number of single bit hamming errors [31:16] Number of double bit hamming errors

ErrorCnt

[31:0]

0x3017

R

[15:0] Number of message decoding errors

[31:16] Number of errors related to sequence and timeouts.

Buffered_events

[4:0]

0x3020

R

Number of events stored in the FIFO.

DAQ_Header01[31:0]

0x3021

R

Latest received DAQ Header 1

DAQ_Header02[31:0]

0x3022

R

Latest received DAQ Header 2

DAQ_Header03[31:0]

0x3023

R

Latest received DAQ Header 3

DAQ_Header04[31:0]

0x3024

R

Latest received DAQ Header 4

DAQ_Header05[31:0]

0x3025

R

Latest received DAQ Header 5

DAQ_Header06[31:0]

0x3026

R

Latest received DAQ Header 6

DAQ_Header07[31:0]

0x3027

R

Latest received DAQ Header 7

Event_info

[17:0]

0x3028

R

Latest Received Event information:

[0] ‘0’

[1] Region of Interest announced (=ESR)

[2] ‘0’

[3] ‘0’

[4:7] Calibration/SW trigger type (= RoC)

[8] Software trigger event

[9] Calibration trigger event

[10] Event has L2 Reject trigger

[11] Event has L2 Accept trigger

[12] Include payload

[17:13] SCLK phase when (L0/L1)trigger arrives

Event_error

[24:0]

0x3029

R

Latest Received Event error conditions:

[0] Serial B Stop Bit Error

[1] Single Bit Hamming Error Individually Addr.

[2] Double Bit Hamming Error Individually Addr.

[3] Single Bit Hamming Error Broadcast.

[4] Double Bit Hamming Error Broadcast.

[5] Unknown Message Address Received

[6] Incomplete L1 Message

[7] Incomplete L2a Message

[8] NA

[9] TTCrx Address Error (not X”0003”)

[10] Spurious L0

[11] Missing L0

[12] Spurious L1

[13] Boundary L1

[14] Missing L1

[15] L1 message arrives outside legal timeslot

[16] L1 message missing/timeout

[17] L2 message arrives outside legal timeslot

[18] L2 message missing/timeout

[19] Boundary L2 Message

[20] NA

[21] Prepulse error (=0; possible future use)

[22] L1 message content error

[23] L2 message content error

[24] NA

L1_MessageHeader[11:0]

0x3030

R

Debug: Latest received L1 Message

L1_MessageData1[11:0]

0x3031

R

Debug: Latest received L1 Message

L1_MessageData2[11:0]

0x3032

R

Debug: Latest received L1 Message

L1_MessageData3[11:0]

0x3033

R

Debug: Latest received L1 Message

L1_MessageData4[11:0]

0x3034

R

Debug: Latest received L1 Message

L2aMessageHeader[11:0]

0x3035

R

Debug: Latest received L2a Message

L2aMessageData1[11:0]

0x3036

R

Debug: Latest received L2a Message

L2aMessageData2[11:0]

0x3037

R

Debug: Latest received L2a Message

L2aMessageData3[11:0]

0x3038

R

Debug: Latest received L2a Message

L2aMessageData4[11:0]

0x3039

R

Debug: Latest received L2a Message

L2aMessageData5[11:0]

0x303A

R

Debug: Latest received L2a Message

L2aMessageData6[11:0]

0x303B

R

Debug: Latest received L2a Message

L2aMessageData7[11:0]

0x303C

R

Debug: Latest received L2a Message

L2rMessageHeader[11:0]

0x303D

R

Debug: Latest received L2r Message

RoIMessageHeader

[11:0]

0x303E

R

Debug: Latest received RoI Message

RoIMessageData1[11:0]

0x303F

R

Debug: Latest received RoI Message

RoIMessageData2[11:0]

0x3040

R

Debug: Latest received RoI Message

RoIMessageData3[11:0]

0x3041

R

Debug: Latest received RoI Message

FIFO_read_enable

0x3080

T

Debug: Triggers a readout pulse to FIFO

FIFO_DAQHeader

[31:0]

0x3081

R

Debug: Output of FIFO