SlideShare a Scribd company logo
1 of 3
Hash Sorter - Firmware Implementation and an Application for the Fermilab BTeV
                                 Level 1 Trigger System
                                                      J. Wu, M. Wang, E. Gottschalk, G. Cancelo and V. Pavlicek,
                                                                        Fermilab, Oct. 2003

                                                                                  Hash Sorting for Triplet Matching Acceleration
       Hash Sorter
                                                                                                                   The slopes of matching triplets
 •     Hash sorter logically stores data items (e.g. triplets) into                                                must be approximately equal.
       bins derived from a key value (e.g. slope of the triplets).
 •     Each bin represents a range of the key value.                                          External Triplets                                  Without hash
 •     Each writing or reading takes one memory access (one                                                                                    sorting, all O(n2)
       clock cycle in FPGA implementation).                                                                                                      combinations
                                                                           Triplet Matching                                                    must be checked.
                                                                           Without Hash Sorting

       Data Items                                                                                 Internal
                                                                                                  Triplets

                                       Hash sorted
                                       Data Items                                                                          2000000

                                                              Hash sorted External Triplets                                1500000
                                                                                                                                              seg_match
                                                                                                                                              seg_match_hash

                                                               according to their slopes                                   1000000
                                                                                                                                              total



Hash Sorter                                                                                                                500000


                                                               Triplet Matching                                                 0
                                                                                                                                     0    2          4           6          8          10     12

             Hash sorting ~                                    With Hash Sorting                                                         N umb er o f Int er ac t i o n/B eam C ro s s i ng




           histogram booking
                                                             Hash sorted Internal Triplets                                                      Timing Results
     + saving ID’s of the data items.
                                                              according to their slopes
                                                                                                                       With hash sorting, only these
                                                                                                                     combinations need to be checked.
Firmware Implementation of Hash Sorter                                                                       BTeV Level 1 Pixel Trigger




                                                                                                                                                                                                              External Triplets
                                                                                                                                                                    Internal Triplets
                                                                              •   Internal and external triplets are first
                                                                                  found by the FPGA segment finders.
      DIN                                           DOUT
                                                                              •   Triplets data are sent through the switch.
                                                                              •   The nodes of the track/vertex farm match           30 station pixel detector
             DATA
             RAM
                                                                                  the internal and external triplets to form
                                                                                  tracks for further trigger processes.
                                                                                                                                                         FPGA segment finders
   BEGIN
   COUNT
    END                                 The HashBlk Block                                                                                            Switch: sort by crossing number


                                        (+ DATA RAM)                                                                                                       track/vertex farm
                                                                                                                                                          (~2500 processors)
             Index      Pointer
             RAM         RAM
                                                                                                                                                                 Merge

                                                                                                                                                                                        Trigger decision to
                                                                                                                                                                                           Global Level 1
                                                                  DSP0                          Buffer Manager

                                          InBuff




                                                   HashBlk
                                                                  DSP1




                                                   HashBlk
                                DxBin
                                                                  DSP3 DSP2




     S4STEPS      DSPSEL                           HashBlk                                                             Pre-prototype of the
                                                   HashBlk                                                             Track/Vertex Farm Node


                                                                                                                               •   Triplet data are hash sorted in the
                                                                                                       DSP                         Buffer Manager parasitically.
            Silicon Usage: 1%                                4 x 1%                                                            •   The hash sorted data are sent to the
                                                                                                                                   DSP daughter cards.
                                                                                                       DSP
           Hash Sorter Added to Existing                                                                                       •   DSP’s match the internal and external
           Buffer Manger (xc2v1000)                                                                                                triplets faster with hash sorted data.
BTeV Si Pixel Detector and Its Level 1 Detached Vertex Trigger



                             B-meson



                 p                     p
                        b
                               Tracks Detached from                                                                                  Simulated B Event
                               the Primary Vertex




 CZero




                                                           BTeV
                                                                                                                                                14,080 pixels (128 rows x 110 cols)       sensor module
                                                                                                     50 µm                                                Multichip module


                                                                                                                                                                                              1 cm

                                                                                                                     400 µm
                                                                                                                  Si pixel sensors                               5 cm                         128 rows x
                                                                                                                                                                                             22 columns
                                                                                                                                                                                         5 FPIX ROC’s

                                       Fermilab                                                                     10 cm


                                                                                                                                                          Wire bonds                  HDI flex circuit

                                                                                                                                                                       Sensor module


                                                                                                          6 cm


                                                                 Si-Pixel Detector          380,160 pixels
                                                                                            per half-station
                                                                                     total of 23Million pixels    Pixel detector half-station
                                                                                     in the full pixel detector                                                                  Bump bonds
                                                                                                                                                              Readout module

More Related Content

More from nspp2

poiuyt
poiuytpoiuyt
poiuyt
nspp2
 
poiuyt
poiuytpoiuyt
poiuyt
nspp2
 
poiuyt
poiuytpoiuyt
poiuyt
nspp2
 
New test slideshare file
New test slideshare fileNew test slideshare file
New test slideshare file
nspp2
 
mnbv
mnbvmnbv
mnbv
nspp2
 
bnvbncvb
bnvbncvbbnvbncvb
bnvbncvb
nspp2
 
wsxedcrfv
wsxedcrfvwsxedcrfv
wsxedcrfv
nspp2
 
qazwsx
qazwsxqazwsx
qazwsx
nspp2
 
new my test slideshare
new my test slidesharenew my test slideshare
new my test slideshare
nspp2
 
my test slideshare
my test slidesharemy test slideshare
my test slideshare
nspp2
 
test slideshare
test slidesharetest slideshare
test slideshare
nspp2
 
df sd fsdf
df sd fsdfdf sd fsdf
df sd fsdf
nspp2
 
test slideshare
test slidesharetest slideshare
test slideshare
nspp2
 
sample
samplesample
sample
nspp2
 
privet
privetprivet
privet
nspp2
 

More from nspp2 (16)

poiuyt
poiuytpoiuyt
poiuyt
 
poiuyt
poiuytpoiuyt
poiuyt
 
poiuyt
poiuytpoiuyt
poiuyt
 
New test slideshare file
New test slideshare fileNew test slideshare file
New test slideshare file
 
mnbv
mnbvmnbv
mnbv
 
bnvbncvb
bnvbncvbbnvbncvb
bnvbncvb
 
wsxedcrfv
wsxedcrfvwsxedcrfv
wsxedcrfv
 
qazwsx
qazwsxqazwsx
qazwsx
 
new my test slideshare
new my test slidesharenew my test slideshare
new my test slideshare
 
my test slideshare
my test slidesharemy test slideshare
my test slideshare
 
test slideshare
test slidesharetest slideshare
test slideshare
 
df sd fsdf
df sd fsdfdf sd fsdf
df sd fsdf
 
test slideshare
test slidesharetest slideshare
test slideshare
 
sample
samplesample
sample
 
sss
ssssss
sss
 
privet
privetprivet
privet
 

Test ppt file upload

  • 1. Hash Sorter - Firmware Implementation and an Application for the Fermilab BTeV Level 1 Trigger System J. Wu, M. Wang, E. Gottschalk, G. Cancelo and V. Pavlicek, Fermilab, Oct. 2003 Hash Sorting for Triplet Matching Acceleration Hash Sorter The slopes of matching triplets • Hash sorter logically stores data items (e.g. triplets) into must be approximately equal. bins derived from a key value (e.g. slope of the triplets). • Each bin represents a range of the key value. External Triplets Without hash • Each writing or reading takes one memory access (one sorting, all O(n2) clock cycle in FPGA implementation). combinations Triplet Matching must be checked. Without Hash Sorting Data Items Internal Triplets Hash sorted Data Items 2000000 Hash sorted External Triplets 1500000 seg_match seg_match_hash according to their slopes 1000000 total Hash Sorter 500000 Triplet Matching 0 0 2 4 6 8 10 12 Hash sorting ~ With Hash Sorting N umb er o f Int er ac t i o n/B eam C ro s s i ng histogram booking Hash sorted Internal Triplets Timing Results + saving ID’s of the data items. according to their slopes With hash sorting, only these combinations need to be checked.
  • 2. Firmware Implementation of Hash Sorter BTeV Level 1 Pixel Trigger External Triplets Internal Triplets • Internal and external triplets are first found by the FPGA segment finders. DIN DOUT • Triplets data are sent through the switch. • The nodes of the track/vertex farm match 30 station pixel detector DATA RAM the internal and external triplets to form tracks for further trigger processes. FPGA segment finders BEGIN COUNT END The HashBlk Block Switch: sort by crossing number (+ DATA RAM) track/vertex farm (~2500 processors) Index Pointer RAM RAM Merge Trigger decision to Global Level 1 DSP0 Buffer Manager InBuff HashBlk DSP1 HashBlk DxBin DSP3 DSP2 S4STEPS DSPSEL HashBlk Pre-prototype of the HashBlk Track/Vertex Farm Node • Triplet data are hash sorted in the DSP Buffer Manager parasitically. Silicon Usage: 1% 4 x 1% • The hash sorted data are sent to the DSP daughter cards. DSP Hash Sorter Added to Existing • DSP’s match the internal and external Buffer Manger (xc2v1000) triplets faster with hash sorted data.
  • 3. BTeV Si Pixel Detector and Its Level 1 Detached Vertex Trigger B-meson p p b Tracks Detached from Simulated B Event the Primary Vertex CZero BTeV 14,080 pixels (128 rows x 110 cols) sensor module 50 µm Multichip module 1 cm 400 µm Si pixel sensors 5 cm 128 rows x 22 columns 5 FPIX ROC’s Fermilab 10 cm Wire bonds HDI flex circuit Sensor module 6 cm Si-Pixel Detector 380,160 pixels per half-station total of 23Million pixels Pixel detector half-station in the full pixel detector Bump bonds Readout module