AM+FPGA Mezzanine Card Status Zhen Hu, Fermilab February 3, 2016
Scope of This Talk Pa,ern ¡ Data ¡Sourcing ¡ Data ¡Delivery ¡ Track ¡Fi8ng ¡ Recogni2on ¡ Emulate ¡data ¡coming ¡ Deliver ¡stubs ¡to ¡the ¡pa9ern ¡ Fast ¡PR ¡using ¡AM ¡ Calculate ¡track ¡parameters ¡ from ¡DTC ¡ recogni:on ¡engine ¡ in ¡FPGA ¡ § Pattern Recognition Mezzanine (PRM) Firmware § Core piece of firmware implemented that interacts with the Associative Memory (AM) § Developed from scratch with low latency goals for L1 ~1µs for PR & Track Fitting 1. Local address (inside a module) è global address (in the full tracker) 2. Fast Pattern Recognition with coarse resolution, while the full resolution stubs stored in a "smart library” (data organizer) 3. When patterns found (roads), the full resolution stubs have to be retrieved from data organizer very fast Director's ¡Review ¡– ¡ Mezzanine Card Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 2 ¡
Outline § Hardware: Pattern Recognition Mezzanine (PRM) § Firmware § Overview of PRM firmware ü A fast, reasonably sized AM in ultrascale FPGA ü Data Organizer for low latency, high speed pipelined operation ü Stub local to global address conversion on the fly § Current status § Firmware fully developed , now bench test the performance with different types of events ü Start with single muon ü Then add 140/200 PU, high energetic jets … Goal: test with processing full trigger tower stubs o Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 3 ¡
PRM: UltraScale+UltraScale/VIPRAM Mezzanine § Prototype pattern recognition engine for L1 tracking trigger demonstration § Dual Kintex UltraScale FPGAs § 36 Mb low latency DDR II+ static RAM VIPRAM ¡ § Socket for Next Generation VIPRAM ASIC (Vertically Integrated Pattern Recognition Associative Memory) SRAM ¡ Master ¡ Slave ¡ firmware ¡ Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 4 ¡
Pattern Recognition Engine Flow Δt3 ¡ Δ t2 Master FPGA Roads with all Comb Track associated Clean tracks Clean fitting stubs up up stage Stubs ¡library ¡ Stubs ¡library ¡ Data ¡Organizer ¡ Stubs from Pulsar for a given BX and Trigger Tower Incoming stubs Roads fired (<100) ~ few x100 per layer AM ¡pa9erns ¡stored ¡ Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 5 ¡
Pattern and Superstrip (ss) § A pattern is a low resolution track § Made of 1 superstrip per layer § A superstrip is a group of adjacent strips § Fountain superstrip configuration § “Fountain” defined by natural spread in ϕ o Due to multiple scattering, secondary interactions § Different z-segmentations 7mm ¡ § The working point chosen in this talk: § Scale factor (sf) for the fountain superstrip d ϕ = 1 § Number of z-segmentation (nz) = 4 § Pattern back size = 1862K @95% 1mm ¡ Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 6 ¡
PRM Core Module (1) AM in FPGA Master FPGA Track Comb Clean § AM in FPGA: very closely follows the fitting Clean up stage up AM ASIC (chip) design Data ¡Organizer ¡ § Match two silicon tiers in ASIC with two modules in FPGA firmware AM ¡pa9erns ¡stored ¡ o CAM Tier -> a 2D array of Pattern Modules – 4k patterns LUT = 50% KU040 Utilization o I/O Tier -> fired roads serialization and output I/O TIER § Pipelined operation Road Address Input o CAM tier: processes pattern matching with Stubs Road Flags stubs for current event N o I/O tier: outputs road addresses for event N-1 CAM TIER ASIC ¡ at the same time firmware ¡ § Logic is optimized for Road Road Road Flags Layer Pattern Address Data Serialization Module Inputs 7-Series/UltraScale architecture Logic Array "I/O Tier" Clock Clock "CAM Tier" Control Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 7 ¡
I/O Tier: Road Serialization COL 32 x 32 Array Sort VECTOR Nodes Road ¡fired ¡ COL MUX projec:on ¡ Road Address PRI ENC COLUMN-OR BITS COL NUM § Synchronous, pipelined operation Fast ¡output ¡ § Zero suppressed output as ¡in ¡ASIC ¡ § Low latency: first road out 7 clock cycles after EOE (end of event) Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 8 ¡
PRM Core Module (2) Data Organizer § A critical module for fast stub storage and fast interactions with AM § Input stubs (full resolution) temporarily stored in data organizer while AM doing pattern matching § Once the patterns are found (road), sent back to data organizer and retrieve the full resolution stubs for each fired road Master FPGA § This is a new design after a few iterations Track Comb Clean fitting Clean up § Low latency for L1 operation stage up o Avoids conventional read-modify-write cycles Data ¡Organizer ¡ o Takes advantage of the BlockRAM “read first” mode § Fully pipelined operation to match AM readout o The data organizer must concurrently store stubs for event N AM ¡pa9erns ¡stored ¡ while recalling stubs for event N-1 § The data organizer stores stubs in RAM at the address pointed to by the ss ID § Super strip ID 10 bits à 1k memory locations § Store up to 4 stubs (local or global) per super strip § Masking and scrubbing logic insures old stubs are not read out Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 9 ¡
Data Organizer: Block Diagram eoe_reg 0 1 2 3 4 5 6 count_reg old_count_reg EOE 0 1 2 3 4 5 6 WSSID 0 1 2 3 4 5 6 (write address) wssid_reg 0 1 0 1 0 1 0 1 wea_reg DIN A A A A din_reg 0 1 2 3 2k x 64 Dual-Port BRAM in "Read First" mode B B B B RSSID (read address) dout0_reg dout1_reg dout2_reg dout3_reg It ¡writes ¡like ¡a ¡FIFO(first ¡in ¡first ¡out), ¡but ¡reads ¡like ¡a ¡memory ¡ Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 10 ¡
PRM Core Module (3) Local to Global Conversion § Why? hist_r hist_r Global ¡ R ¡ hist_r Global-R(cm) 22.5 Entries 961 Mean 479.5 § Stub received in local coordinates, and converted to RMS 278 22.4 global coordinates ( for ss, track fitting … ) 22.3 o Local coordinate (in red): – ModuleID, n StubAddr (for ϕ ), Z local 22.2 o Global cylindrical coordinate (in blue): 22.1 – ϕ , Z, and R 22 Local ¡ n StubAddr ¡ ¡ ¡ ¡ 0 100 200 300 400 500 600 700 800 900 StubAdd § How? § The global coordinates of the edges of a module is known given the module ID 300 400 500 600 700 o ModuleID -> Global (r a , ϕ a , Z a ), ( r b , ϕ b , Z b ) hist_phi hist_phi Global ¡ ϕ ¡ hist_phi φ 0.45 Entries 961 Global- § Global ϕ or R is an approximate linear function of Mean 322.8 0.4 RMS 228.6 n StubAddr in a small range 0.35 FPGA ¡friendly ¡ 0.3 o Fitted with 8 linear functions 0.25 o ϕ = ϕ i + n StubAddr * Δϕ i 0.2 0.15 o R = R i + n StubAddr * Δ R i 0.1 § Global Z is a linear function of Z local 0.05 0 Local ¡ n StubAddr ¡ ¡ ¡ ¡ 0 100 200 300 400 500 600 700 800 900 o Z =Z a + Z local * Δ Z (width per Z segment) StubAdd Fit to get ϕ i , R i , Δϕ i , Δ r i in 8 sub-ranges Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 11 ¡
PRM GTH Performance PRM Firmware Block Diagram Example ¡with ¡1 ¡muon ¡ (SSID ¡= ¡SuperStrip ¡ID) ¡ If ¡in ¡a ¡busy ¡environment ¡ ¡ Track ¡Fi\ng ¡ Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 12 ¡
Bench Test the Firmware performance CMS Preliminary Phase II Simulation 150 y [cm] § PRM Firmware is fully developed p = 5 GeV T,0 η = 1.1/3 0 = 3 /8 φ π 0 § Bench test: check if all the modules in PRM firmware 100 work as expected § Gradually increase the complexity; carefully verify the firmware functions piece by piece 50 § Single muon event 0 0 50 100 § 4 muons in one event: AM, … x [cm] CMS Preliminary Phase II Simulation 150 § Single muon + PileUp: Data Org, … r [cm] p = 5 GeV T,0 = 1.1/3 η 0 φ = 3 π /8 0 § Single muon + Jet(200 GeV): … Divide ¡and ¡conquer ¡ 100 § Multi events, full tower, … 50 Board ¡level ¡test: ¡select ¡40 ¡modules ¡(within ¡the ¡purple ¡box) ¡ covering ¡single ¡muon ¡tracks ¡with: ¡ ¡ ¡ η ¡= ¡1.1/3, ¡ϕ ¡= ¡3π/8, ¡ ¡p T ¡ > ¡3 ¡GeV, ¡ ¡|z 0 |<4cm 0 0 50 100 z [cm] Director's ¡Review ¡– ¡Mezzanine ¡Card ¡Status ¡ Zhen ¡Hu, ¡February ¡3, ¡2016 ¡ 13 ¡
Recommend
More recommend