cms-L1TK / firmware-hls

HLS implementation of the tracklet pattern reco modules of the Hybrid tracking chain
15 stars 24 forks source link

Update to TP pt lut reading for timing #303

Closed jasonfan393 closed 10 months ago

jasonfan393 commented 11 months ago

PR updates the pt LUT reading in disk/overlap TP, using ternary operators instead of a switch. This brings timing for overlap TPs more in line with barrel TPs.

HLS timing estimate for L1D1C: 4.596ns -> 3.465ns.

Edit: Added an odd hack in L3L4 TP, to reduce LUT usage. stubptouter LUT is read in a similar manner to the overlap/disks, which greatly reduces LUTs for some reason.

Edit 2: removed the hack and replaced with simple fix to the pt lut sizes - produces even better results in terms of resources and timing

table of resource/timing in affected modules post implementation: Current: CLB LUT FF DSP BRAM SRL synth timing impl timing
D1D2C 890 3516 5499 52 14 107 3.294 3.797
D3D4C 760 3013 4926 44 14 117 3.301 3.753
L1D1C 890 3596 5245 42 8 159 3.322 3.774
L3L4C 1427 6207 5481 62 8 142 3.48 3.696
L2D1C 787 3223 4735 44 8 126 3.329 3.888
PR:                
D1D2C 863 3424 5507 52 6 107 3.294 3.74
D3D4C 752 2999 4934 44 6 117 3.301 3.98
L1D1C 940 3646 5091 42 8 158 3.322 3.693
L2D1C 764 3171 4686 44 8 125 3.329 3.819
L3L4C 1029 4388 5473 62 8 142 3.48 3.709