Home
Index
Annotated List
Hierarchy
Deep Hierarchy
Package Documentation
Files

entity AtlasRODFormatter

Packs readout data according to ATLAS ROD-readout format and SLINK-standard.

More...

Sourcefile...


Used Packages

Generics

Ports

Architectures

Detailed Description

This entity can be used in order to drive a 32 bit duplex SLINK source card with Atlas readout data formatted according to the Atlas ROD format specified in "The event format in the ATLAS DAQ/EF prototype-1" (Atlas Daq note 50: ATL-DAQ-98-129).

The variable data which are placed into the various fields of the Header, Data section and Trailor of the format are provided to the entity via various input ports.

The following restrictions / features are provided:

Examples of usage and diagrams of some formats can be found in the links below.

This entity has been developed for the MUCTPI interface. Therefore some names have meanings which refer to the MUCTPI context: The meaning of VME-Bus is actually some internal data bus via which readout actions can be performed. Candidates are the actually the Data you want to transfer to the SLINK. A Candidate takes one data word.

Generics:

WITH_BUS_ANALYZERdetermines if a Bus Analyzer will be implemented or not (to save resources). (possible values : "YES / NO")
ANALYZER_FIFO_DEPTHgives the depth of the analyzer fifo in words (40 bits wide).
VME_WIDTHis the width of the internal data bus which is used to readout the analyzer-fifo. YOU MUST USE EITHER 8 OR 32 BITS.
WITH_DATA_COUNTERdecides if an internal counter is implemented in order determine the length of the data section. If this information is already present in the design and can be provided via a port to the AtlasRODFormatter you can save resources by non implementing the counter (possible values: "YES / NO").
CANDIDATE_COUNTER_WIDTHhas to be adjusted according to the maxmimal possible length of the data section.
CANDIDATE_WIDTHis the width of the data words you want to send to the SLINK via the AtlasRODFormatter. If your words are less wide than 32 bits you can save resources.

Ports:

clockis usually 40 MHz.
sclris a general reset.
ignoreSlinkStatusif '1' ignores lff and ldown of SLINK.
generateEmptyEventif '1' generates event with empty data section
DAQActivemust be '1' in order to activate the readout process.
StartEventis the trigger to start the readout. It has to asserted until DataSent goes to '0' which indicates that the Controler STM has started (usually it starts only if the SLINK is ready to receive data).
readNextCandidateindicates that the user should provide the next Candidate at the data input.
MoreCandidatesis needed by the internal state machine. It must indicate if there are more data words in the chain after the current Candidate for the current event. It serves as a "data-look-ahaead" bin and optimizes the Formatter for speed.
CandidateValidindicates that the Candidates port contains valid data which must be read in by the Formatter.
Candidatesis the data input.
EVIDneeds to be provided to form the header.
BCIDneeds to be provided to form the header.
TriggerTypeneeds to be provided to form the header.
ErrorFlagscontains the first status word.
StatusFlagscontains the second status word.
CandidateCountneeds to be provided only if no internal Candidate Counter is implemented.
DataSentindicates that the previous event has been sent and that the Formatter is ready for the next event.
AnalyzerModeswitches on the filling of the Analyzer Fifo.
AnalyzerContineousModeIf '1' at each clock cycle a data word is written into the fifo. In this case the readout is triggered by 'StartEvent'. If '0' only valid data (uwen='0') is written into the fifo.
VmeDatavia this port the Analyzer fifo is read out.
advanceAnalyzerFifoincrements the readpointer of the Analyzer Fifo by one during the next clock.
readAnalyzerFifo0if 8 bit VmeData : reads out byte 0
readAnalyzerFifo1if 8 bit VmeData : reads out byte 1
readAnalyzerFifo2if 8 bit VmeData : reads out byte 2
readAnalyzerFifo3if 8 bit VmeData : reads out byte 3
readAnalyzerFifoLowif 32 bit VmeData : reads out 32 bit data from AnalyzerFifo.
readAnalyzerFifoHighreads out the controlbits from the AnalyzerFifo. The following bit mapping holds: bit 0: ureset, bit 1: utest, bit 2: uctrl, bit 3: uwen, bit 4: lff, bit 5: ldown, bit 6: AnalyzerFifoEmpty, bit 7: AnalyzerFifoFull.
lffSLINK line
ldownSLINK line
uresetSLINK line
utestSLINK line
uctrlSLINK line
uwenSLINK line
udSLINK line

See also: DaqProcessor, Lvl2Processor

Diagrams : Output of SlinkAnalyzerFormatter , Format generated for ROIB by MUCTPI , Format generated for ROD by MUCTPI