180 likes | 316 Views
This document provides an in-depth analysis of the CKM data format, specifically focusing on the TDC (Time-to-Digital Converter) and its structure regarding centenaries and millennium data organization. It emphasizes error checking, the significance of header identification, and efficient data arrangements. Key considerations for unit conversions are highlighted, along with suggestions for handling QIE (Charge Integrating Electronics) data alongside TDC data. It also offers insights into data layout, hit ordering, and the importance of redundant checks for reliability.
E N D
Some Details on CKM Data Format Jinyuan Wu for CKM Collaboration April 2002
Q: TDC Word Bit Layout 0 TDC TS of Hit • The rearrangement is very useful. • TDC word represents unique time. • TDC ordering represents hit ordering. • Caution: TS and TDC are in different units: convert unit while calculating DT. 0 TS of Hit TDC
Q: Error Checking • It’s important to consider it from beginning. • A check sum word is attached at the end of a centenary. (Place holder only for now).
1 1 1 1 0 0 0 0 TS[9:6] TS[9:6] Ch. # Ch. # 1 1 1 1 0 0 1 1 Check sum of past centenary Check sum of past centenary 0 0 0 0 0 0 0 0 0 E E E E E E E E E D D D D D D D D D TS[7:0] TS[7:0] TS[7:0] TS[7:0] TS[7:0] TS[7:0] TS[7:0] TS[7:0] TS[7:0] Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) Centenaries: (TDC Example) Check sum word C. 1 TDC data Roll-over Marker Check sum word C. 0 TDC data Roll-over Marker
15 8 7 0 TDC Data Roll-over Marker 1 1 0 0 TS[9:6] Ch. # Check sum word 1 1 0 1 Check sum of past centenary TDC data 0 E D TS[7:0] Time (1ns/bin) Error bit Earliest Time from CLK leading edge Double hit marker from TDC
Q: Centenary, Millenary • A centenary is 256 CLK cycles. (Or 2.5 to 6.4 ms). • A millenary could be 256 centenaries. (Or 0.65 to 1.6 ms. Use 256 for now, should be determined after having knowledge about switch).
1 1 1 1 0 0 0 0 TS[9:6] TS[9:6] Ch. # Ch. # 1 1 1 1 0 0 1 1 Check sum of past centenary Check sum of past centenary 0 0 0 E E E D D D TS[7:0] TS[7:0] TS[7:0] Time (1ns/bin) Time (1ns/bin) Time (1ns/bin) 1 1 1 1 0 0 0 0 Centenary ID = TS[15:8] Centenary ID = TS[15:8] 1 1 1 1 Millenary Check Sum [11:0] 1 1 1 1 Millenary Word Count [23:12] 1 1 1 1 Millenary Word Count [11:0] 1 1 1 1 Unified Channel Number [23:12] 1 1 1 1 Unified Channel Number [11:0] 1 1 1 1 Reset ID [3:0] Millenary ID [31:24] 1 1 1 1 Millenary ID [23:12] 1 1 1 0 Millenary ID [11:0] Millenary Structure Centenary 255 Centenary 0 Centenary ID word: Inserted while forming Millenary Millenary Header
15 8 7 0 Millenary Header Words Centenary ID One for each centenary 1 1 0 0 Centenary ID = TS[15:8] Optional Redundant check information. Inserted after collecting the whole Millenary 1 1 1 1 Millenary Check Sum [11:0] 1 1 1 1 Millenary Word Count [23:12] 1 1 1 1 Millenary Word Count [11:0] 1 1 1 1 Unified Channel Number [23:12] 1 1 1 1 Unified Channel Number [11:0] 1 1 1 1 Reset ID [3:0] Millenary ID [31:24] The 2nd header word 1 1 1 1 Millenary ID [23:12] The 1st header word 1 1 1 0 Millenary ID [11:0]
Remarks on Millenary • Both header identification and data block size mechanisms are allowed. • Header identification is preferred. • Word count and check sum are used as redundant check.
0-4 0-4 0-4 0-4 0-4 5 7 0-4 5 6 9 0-4 0-4 0-4 Hitlet Hdr 0-4 Q: Hitlet? • Suggested module for now: direct pipeline dump. • When over-threshold data exist, dump: • Header. • 2 empty slots. • Over-threshold slots. • 2 empty tail slots. • Any other data fragments can be chopped from the pipeline dump in software.
PMT QIE TDC Q: (QIE+TDC) or (QIE)+(TDC)? • There is a possibility TDC and QIE data exist in same chip. • Hardware effort is the same for (QIE+TDC) or (QIE)+(TDC). • (QIE+TDC) might have advantage in software stage. • Suggestion: leave both schemes possible, defer the choice until the trigger study result comes out.
15 8 7 0 Veto System Data Roll-over Marker 1 1 0 0 TS[9:6] Ch. # Hitlet Header 1 0 E TS[9:0] QIE only data 0 0 CapID QIE (2 range, 6 mantissa) (QIE+TDC) data 0 1 D Time (1ns/bin) QIE (2 range, 6 mantissa) Check sum word 1 1 0 1 Check sum of past centenary
1 1 0 0 TS[9:6] Ch. # 1 1 0 0 E E TS[9:0] TS[9:0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CapID CapID CapID CapID CapID CapID CapID CapID CapID CapID CapID QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) QIE (2 range, 6 mantissa) 0 1 D Time (1ns/bin) QIE (2 range, 6 mantissa) 1 1 0 1 Check sum of past centenary Hitlets, Centenary Check sum word (QIE+TDC) data QIE only data Hitlet Header Roll-over Marker
Summary (1): (QIE+TDC) Data Hitlet Millenary Centenary 2 Empty QIE words Centenary 255 QIE(+TDC) word(s) Check Sum 0-42 Hitlets, 0-255 words 2 Empty QIE words Hitlet Hdr. Centenary 1 Roll-over marker Centenary ID Centenary 0 M. Header
Further Saving • Use centenary ID only (eliminate roll-over marker). • Eliminate empty centenaries. • Suggestion: don’t worry about it for now but keep it in mind.
Summary (2): TDC Data Millenary Centenary Centenary 255 Check Sum 0-255 TDC words Centenary 1 Roll-over marker Centenary ID Centenary 0 M. Header
The End Thanks