Difference between revisions of "Busy Box and related/BusyBox Registers"

From ift
Jump to: navigation, search
m
Line 1: Line 1:
{| border="1" cellpadding="1" cellspacing="0"
+
{| border="1" cellpadding="1" cellspacing="0" |colspan="5"|
|colspan="5"|
 
 
====Busy Box Status and Contol Registers====
 
====Busy Box Status and Contol Registers====
 
|-
 
|-
 
!Address
 
!Address
!Read/Write
+
!Mode
!Name
+
!width="170"|Name
 
!Description
 
!Description
 
!Default Value
 
!Default Value
Line 12: Line 11:
 
|RW
 
|RW
 
|TX module
 
|TX module
|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.
+
|For sending messages to DRORCs.
|TBD
+
* 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
 
|-
 
|-
 
|0x1XXX
 
|0x1XXX
Line 19: Line 20:
 
|RX memory
 
|RX memory
 
|Memory where all messages received from DRORCs will be stored.
 
|Memory where all messages received from DRORCs will be stored.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2000
 
|0x2000
Line 25: Line 26:
 
|RX memory pointer
 
|RX memory pointer
 
|Holds the value where the next message will be written in RX memory.
 
|Holds the value where the next message will be written in RX memory.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2001
 
|0x2001
 
|R
 
|R
|EventID count
+
|EventID FIFO count
 
|Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any.
 
|Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2002
 
|0x2002
 
|R
 
|R
 
|Current EventID(35-32)
 
|Current EventID(35-32)
|The EventID which is currently being matched.
+
|rowspan="3"|The EventID which is currently being matched.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2003
 
|0x2003
 
|R
 
|R
 
|Current EventID(31-16)
 
|Current EventID(31-16)
|
+
|0x0000
|TBD
 
 
|-
 
|-
 
|0x2004
 
|0x2004
 
|R
 
|R
 
|Current EventID(15- 0)
 
|Current EventID(15- 0)
|
+
|0x0000
|TBD
 
 
|-
 
|-
 
|0x2005
 
|0x2005
 
|R
 
|R
 
|Newest EventID(35-32)
 
|Newest EventID(35-32)
|The EventID most recently received from the TTC system.
+
|rowspan="3"|The EventID most recently received from the Trigger system.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2006
 
|0x2006
 
|R
 
|R
 
|Newest EventID(31-16)
 
|Newest EventID(31-16)
|
+
|0x0000
|TBD
 
 
|-
 
|-
 
|0x2007
 
|0x2007
 
|R
 
|R
 
|Newest EventID(15- 0)
 
|Newest EventID(15- 0)
|
+
|0x0000
|TBD
 
 
|-
 
|-
 
|0x2008
 
|0x2008
 
|RW
 
|RW
|L0 trigger timeout
+
|L0 Trigger Timeout
|Number of clock cycles 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full.
+
|Time in 10 us resolution the 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full.
|TBD
+
|0x000A
 
|-
 
|-
 
|0x2009
 
|0x2009
 
|RW
 
|RW
|FEE buffers available
+
|Busy Condition
|Config: Holds the number buffers assumed on the FEE.
+
|Status and control registers concerning the BUSY generation
|TBD
+
* Bit 15 - Busy because TTCrx_ready is low.
 +
* Bit 14 - Busy because MEB count >= MEB limit
 +
* Bit 13 - Busy because L0 timeout is active.
 +
* Bit 12 - Busy because Trigger Receiver Module is busy receiving a sequence.
 +
* 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
 
|-
 
|-
 
|0x200A
 
|0x200A
 
|RW
 
|RW
|Halt FW matching
+
|Halt FSM matching
|If LSB is set to 1 the internal FSM will halt in a wait state.
+
|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.
|TBD
+
|0x0001
 
|-
 
|-
 
|0x200B
 
|0x200B
|w
+
|T
 
|Force match
 
|Force match
|Writing 0x1 when FSM halt is set, will force the FSM to move on to the next EventID even if it is not matched.
+
|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.
|TBD
+
|N/A
 
|-
 
|-
 
|0x200C
 
|0x200C
 
|RW
 
|RW
 
|Re-Request Timeout
 
|Re-Request Timeout
|Number of clock cycles to wait in between sending requests to the DRORCs.
+
|Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs.
|TBD
+
|0x07FF
 
|-
 
|-
 
|0x200D
 
|0x200D
Line 103: Line 106:
 
|Current RequestID
 
|Current RequestID
 
|Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs.
 
|Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x200E
 
|0x200E
 
|R
 
|R
|Retry Count
+
|Retry Count(15-0)
|Number of times requests have been sent to DRORCs.
+
|Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2010
 
|0x2010
 
|R
 
|R
 
|Busy time(31-16)
 
|Busy time(31-16)
|Holds value of counter for number of clock
+
|rowspan="2"|Holds value of counter for number of clock cycles BUSY has been asserted.
|TBD
+
|0x0000
 
|-
 
|-
 
|0x2011
 
|0x2011
 
|R
 
|R
|Busy time(15- 0)
+
|Busy time(15-0)
|cycles BUSY has been asserted.
+
|0x0000
|TBD
 
 
|-
 
|-
 
|0x2012
 
|0x2012
 
|RW
 
|RW
 
|RX mem filter
 
|RX mem filter
|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.
+
|Allows filtering of messages that are stored in RX memory.
|TBD
+
*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
 +
|-
 +
|0x2015
 +
|R
 +
|Firmware Revision
 +
|Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34
 +
|0x0022
 +
|-
 +
|0x2016
 +
|RW
 +
|Stresstest Enable(0)
 +
|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
 
|-
 
|-
 
|0x21XX
 
|0x21XX
 
|RW
 
|RW
 
|Channel Registers
 
|Channel Registers
|'XX' in the address gives the channelnumber in hexadecimal. Bit 0 is enable/disable (0/1) Bit 1 indicates that the current EventID has been matched on this channel.
+
|'XX' in the address gives the channelnumber in hexadecimal.
|TBD
+
*Bit 0 is enable(1)/disable(0)
 +
*Bit 1 indicates that the current EventID has been matched on this channel.
 +
|0x0001
 
|}
 
|}

Revision as of 10:40, 21 October 2009

Busy Box Status and Contol Registers

Address Mode Name Description Default Value
0x0001 RW TX module 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
0x1XXX RW RX memory Memory where all messages received from DRORCs will be stored. 0x0000
0x2000 R RX memory pointer Holds the value where the next message will be written in RX memory. 0x0000
0x2001 R EventID FIFO count Number of eventIDs stored in the FIFO, excluding the eventID currently being matched, if any. 0x0000
0x2002 R Current EventID(35-32) The EventID which is currently being matched. 0x0000
0x2003 R Current EventID(31-16) 0x0000
0x2004 R Current EventID(15- 0) 0x0000
0x2005 R Newest EventID(35-32) The EventID most recently received from the Trigger system. 0x0000
0x2006 R Newest EventID(31-16) 0x0000
0x2007 R Newest EventID(15- 0) 0x0000
0x2008 RW L0 Trigger Timeout Time in 10 us resolution the 'busy' will be asserted after an L0 trigger. Note: The busy will not be deasserted if the buffers are full. 0x000A
0x2009 RW Busy Condition 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 L0 timeout is active.
  • Bit 12 - Busy because Trigger Receiver Module is busy receiving a sequence.
  • 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
0x200A RW Halt FSM matching 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
0x200B T Force match 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
0x200C RW Re-Request Timeout Number of clock cycles (25 ns) to wait in between sending requests to the DRORCs. 0x07FF
0x200D R Current RequestID Holds the RequestID the BusyBox is using to request eventIDs from the DRORCs. 0x0000
0x200E R Retry Count(15-0) Number of times the FSM has sent requests to DRORCs. Will reset to 0 for start of every eventID. 0x0000
0x2010 R Busy time(31-16) Holds value of counter for number of clock cycles BUSY has been asserted. 0x0000
0x2011 R Busy time(15-0) 0x0000
0x2012 RW RX mem filter 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
0x2015 R Firmware Revision Firmware revision in hexadecimal. Holds the revision number of the source in SVN that this FW was compiled from. Current : 34 0x0022
0x2016 RW Stresstest Enable(0) 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
0x21XX RW Channel Registers '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