You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

SLAC HLS IP


This defines the interfaces between the various processing stages.  These are currently AXI streaming interface and these are the processing stages

  • Sanitizier → Descrambler
  • Descrambler → Corrector
  • Corrector → Convolver/RoiSelector

It is assumed that the outbound stream of the previous stage is the inbound stage of the subsequent stage.

Sanitizier → Descrambler Stream

The AXI stream is defined as

WhatDataWUserWIdWDest

Nbits

Varies204


These widths of WUser, Wid and WDest  are taken from the
surf defaults.

NOTE: shlsip only uses WUser, so WDest could be set to 0 to save resources

The width of the Data field depends to the configuration.  

  • In a 2 x 1 configuration of the ASICS → 192 bits
    • 2 Asics * 6 Streams/Asic * 16 bit/data word   
  • In a 4 x 1 configuration of the ASICS → 384 bits
    • 4 Asics * 6 Streams/Asic * 16 bit/data word

Frame

The sanitizer will organize its output into frames composed of a number of the AXI streaming words defined above.  Each frame will contain all the tile data associate with one 'image'. The sideband data fields, WUser and the last value are used to identify the Start Of Frame (SOF), End of Frame with Errors (EOFE) and the last word in the frame (last) 

NOTE: The value of TUser field on the last word in the frame depends of whether there are no errors in the frame (0) or has errors (1).

WordTUser
No Error/Error

last

0 2

0

10

0

20

0

.

0

0

N-1 

0/1

1

Frame Contents - Proposal

The The first word of the frame shall be a header word followed by the data.

The header will contain fields identifying

  • Frame Sequence Number (32 bits)
  • ASIC identification.           TBD bits)
  • TBD

Each data word will contain 6 x 16 bit words for each ASIC, so 12 x 16 bits for a 2 x 1 and 24 x 16 bits for a 4 x 1 arrangement. The 16-bit word itself shall be formatted as

1514131211109876543210
Gain0ADC value

NOTE: Dionisio at one time indicated that the ASIC returns the data with the gain bit in Bit 0 with the sanitizer moving it to Bit 15. In fact, it is more convenient for the gain bit to be in bit 0.  When the correction, which involves subtracting a dark image value, is done, the result is. that 14-bit unsigned ADC value goes to a 15-bit signed value.  It is more natural that the sign bit occurs in its customary MSB.  

The first data word shall contain the first valid data as read by the sanitizer.  This will be the data associated with the column 0 of each stream, except in ePixHR10k where the hardware presents column 30 of each stream first.  Said another way, the sanitizer need not pad error-free data with any dummy data.  

While currently not used, a trailer word could also be defined.  This could be used to summarize any errors, provide a checksum, etc.  

NOTE: Personally (I JJ) favor a trailer to summarize errors.  While counters are nice and even necessary, the provide little to no help in diagnosing the exact nature and cause of the error.   The descrambler, for example, could use this to note SOF not seen on the first word, error in the sequence number, incorrect value of last, etc. Any such error would set EOFE, but the trailer could provide additional information to help diagnose the error.

TDBs

  1. The exact format of each field in the header word
  2. Whether to move the gain bit to the LSB with the ADC value in bits 1-14 and the MBZ (must be zero) bit in the MSB (bit 15)
  3. What the sanitizer should send in case of errors.  Possibilities are
    1. If a problem with the read of the data from the ASIC
      1. the sanitizer could send the remaining data as all 1s (could repurpose the MBZ as an error bit)


TaskPriorityGoalObservations
Confluence page informationHigh

ePix HR Descrambler 4 x1High

ePix HR Corrector 4x1Low

Add CRYO configuration/templates 64 channels


Add CRYO descrambler


ROI




  • No labels