Beam Secondary Shower Acquisition System: Igloo2 GBT Implementation tests at 5Gbps Student Meeting Jose Luis Sirvent PhD. Student 09/06/2014 1.

Slides:



Advertisements
Similar presentations
01/11/2002SNS Software Final Design Review1 V123S Event Link Encoder, Transmission System and PLL Receiver Thomas M. Kerner (BNL) SNS Global Controls.
Advertisements

1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Leveraging Software to Enhance Timing Analysis for Actel RTAX-S Devices Johnny Chung Corporate Applications Engineering Actel Corporation MAPLD 2005.
Beam Secondary Shower Acquisition System: Analogue FE installation schedule and Digital FE Status BE-BI-BL Jose Luis Sirvent Blasco
Reconfigurable Computing - Clocks John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound, Western Australia.
Lecture 8: Clock Distribution, PLL & DLL
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
GEM Design Plans Jason Gilmore TAMU Workshop 1 Oct
Capacitance Sensor Project
Shell and Flashing Images Commands and upgrades. RS-232 Driver chip – ST3232C Driver chip is ST3232C Provides electrical interface between UART port and.
SRS-DTC Links WG5 RD51 Miniweek Alfonso Tarazona Martínez, CERN PH-AID-DT.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
© H. Heck 2008Section 4.41 Module 4:Metrics & Methodology Topic 4: Recovered Clock Timing OGI EE564 Howard Heck.
The GANDALF Multi-Channel Time-to-Digital Converter (TDC)  GANDALF module  TDC concepts  TDC implementation in the FPGA  measurements.
P. Jansweijer Nikhef Amsterdam Electronics- Technology October 15, 20091VLVnT-09 Athens Measuring propagation delay over a coded serial communication channel.
FPGA IRRADIATION and TESTING PLANS (Update) Ray Mountain, Marina Artuso, Bin Gui Syracuse University OUTLINE: 1.Core 2.Peripheral 3.Testing Procedures.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
GBT Interface Card for a Linux Computer Carson Teale 1.
10/07/2014.
Beam Secondary Shower Acquisition System: QIE10 Front-End, Remote Initialization BE-BI-BL Jose Luis Sirvent Blasco 2 Jose Luis Sirvent.
Beam Secondary Shower Acquisition System: Igloo2 SERDES Manual Initialization Student Meeting Jose Luis Sirvent PhD. Student 31/03/2014.
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
C. Combaret DIF_GDIF_MDIF_D ASU 6x 24 HR2 ASU USB Hub RPi USB2 DCC SDCC RPi USB 1 hub+Rpi for 4 cassettes 1 DCC for 8 cassettes (1 spare) Trigger.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
GBT on Igloo2 Meeting Jose Luis Sirvent PhD. Student 06/05/2014
1 S PACE W IRE C OMPONENTS : S PACE W IRE CODEC IP U PDATE Chris McClements, Steve Parkes Space Technology Centre University of Dundee Kostas Marinas European.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
High Speed Digital System Lab Final Presentation 1 semester project  Instructor: Mony Orbach  Students: Pavel Shpilberg Ohad Fundoianu.
Mathias Reinecke CALICE week Manchester DIF development – Status and Common Approach Mathias Reinecke for the CALICE DAQ and Front-End developers.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Mid presentation Part A Project Netanel Yamin & by: Shahar Zuta Moshe porian Advisor: Dual semester project November 2012.
TELL1 command line tools Guido Haefeli EPFL, Lausanne Tutorial for TELL1 users : 25.February
Common test for L0 calorimeter electronics (2 nd campaign) 4 April 2007 Speaker : Eric Conte (LPC)
Beam Secondary Shower Acquisition System: 2014_11_24_GBT_On_Igloo2 Release BE-BI-BL Jose Luis Sirvent Blasco 2 Jose Luis Sirvent Blasco.
CRU Weekly Meeting Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU) 18 November, 2015.
Trigger Workshop: Greg Iles Feb Optical Global Trigger Interface Card Dual CMC card with Virtex 5 LX110T 16 bidirectional.
ECE 3450 M. A. Jupina, VU, 2016 Capacitance Sensor Project Goal: Creation of a digital capacitance sensor circuit where a variation in capacitance changes.
CMX firmware development Pawel Plucinski Stockholm University Stockholm University CMX firmware status G-Link and GTX serializer Clock manager Memory Conclusions.
Beam Secondary Shower Acquisition System: Igloo2_UMd_Mezzanine and QIE10 preliminary testing PART II BE-BI-BL Jose Luis Sirvent Blasco
NA 62 TTC partition timing T.Blažek, V.Černý, R.Lietava, M.Kovaľ, M.Krivda Bratislava, Birmingham We are developing procedures for timing parameter adjustment.
J. Ye SMU Joint ATLAS-CMS Opto-electronics working group, April 10-11, 2008 CERN 1 Test Results on LOC1 and Design considerations for LOC2 LOC1 test results:
Rutherford Appleton Laboratory September 1999Fifth Workshop on Electronics for LHC Presented by S. Quinton.
Beam Secondary Shower Acquisition System: Igloo2 GBT Starting with LATOP version Student Meeting Jose Luis Sirvent PhD. Student 16/06/
1 Timing of the calorimeter monitoring signals 1.Introduction 2.LED trigger signal timing * propagation delay of the broadcast calibration command * calibration.
GBT protocol implementation on Xilinx FPGAs Csaba SOOS PH-ESE-BE-OT.
DHH Status Igor Konorov TUM, Physics Department, E18 PXD DAQ workshop Münzenberg –June 9-10, 2011.
Compute Node Tutorial(2) Agenda Introduce to RocketIO How to build a optical link connection Backplane and cross link communications How to.
Status and Plans for Xilinx Development
Firmware and Software for the PPM DU S. Anvar, H. Le Provost, Y.Moudden, F. Louis, E.Zonca – CEA Saclay IRFU – Amsterdam/NIKHEF, 2011 March 30.
Trigger for MEG2: status and plans Donato Nicolo` Pisa (on behalf of the Trigger Group) Lepton Flavor Physics with Most Intense DC Muon Beam Fukuoka, 22.
C.Beigbeder, D.Breton, M.El Berni, J.Maalmi, V.Tocut – LAL/In2p3/CNRS L.Leterrier, S. Drouet - LPC/In2p3/CNRS P. Vallerand - GANIL/CNRS/CEA SuperB -Collaboration.
Grzegorz Kasprowicz1 Level 1 trigger sorter implemented in hardware.
DHH progress report Igor Konorov TUM, Physics Department, E18 DEPFET workshop, Bonn February 7-9, 2011 Outline:  Implementation synchronous clock distribution.
Experience with igloo2 FPGAs in the CMS HCAL upgrade Tullio Grassi Univ of Maryland, USA 10 Feb 2016.
GBT-FPGA Tutorial Introduction 27/06/2016GBT-FPGA Tutorial – 27/06/20161.
Use of FPGA for dataflow Filippo Costa ALICE O2 CERN
Improving IEEE 1588 synchronization accuracy in 1000BASE-T systems
Status of the FPGA Firmware of the HF FE
KM3NeT CLBv2.
Student Meeting Jose Luis Sirvent PhD. Student 26/05/2014
Creation of a reference design in standard mode
The Control of Phase and Latency in the Xilinx Transceivers
Student Meeting Jose Luis Sirvent PhD. Student 17/02/2014
Test Bench for Serdes Radiation Qualification
Bit Multiplexed Real Time Network –
Measuring propagation delay over a coded serial communication channel using FPGAs P.P.M. Jansweijer, H.Z. Peek October 15, 2009 VLVnT-09 Athens.
Fixed Latency Serial Links with FPGA-embedded SerDes for SuperB
Presentation transcript:

Beam Secondary Shower Acquisition System: Igloo2 GBT Implementation tests at 5Gbps Student Meeting Jose Luis Sirvent PhD. Student 09/06/2014 1

0. The Set-up 0.1 Material used and system status: 2 The modified version of GBT_FPGA for Igloo2 was finally implemented 2.5Gbps & 5Gbps. Some constraints have to be optimized for correct operation of 5Gbps after every compilation. The GBT Firmware was finally organized & commented properly, including an error counter and Boards auto-detection. The Console Application was modified and re-structured to include the error counter. Tullio already offered a very valuable information from his measurements. Needed to verify timing details to check if we can recover the LHC clock on the front-end system. (Study the recovered Clk phase, link latency and ref frequency tolerance TX  RX).

0.2 GBT-FPGA Overview in Igloo2: (Clock Management as in Virtex 6) Tx_CLK (240MHz) Rx_CLK (240MHz) TX_Data_P (4.8Gbps) TX_Data_N (4.8Gbps) Rx_Word ( MHz TX_Frame_CLK (40MHz) Data_In (84 TX_Word_CLK (240MHz) RefCLK1_P (120MHz) RefCLK1_N (120MHz) RX_Data_P (4.8Gbps) RX_Data_N (4.8Gbps) GBT_TX Scrambler Encoder Gearbox Tx_Word (20 240MHz GBT_MGT SERDES_0 Vendor Specific IP TX_PLL GBT_RX Gearbox Decoder Descrambler Data_Out (84 40Mhz GBT_BANK (Very simplified view) RX_Frame_CLK (40MHz) RX_Word_CLK (240MHz) RX_PLL SERDES_INIT_MASTER APB_BUS 3

4 0.3 Clock relationships: Understanding some details of the clock recovery

1. Clock Recovery (Phase) 1.1 Word_CLK (SERDES TX_CLK & RX_CLK 5Gbps) 5 Yellow  EPCS_TX_CLK (Board 1) Blue  EPCS_RX_CLK (Board 2) Test performed resetting every time the boards: Observed random phase difference There are 20 possible lock steps Possible to know RX_WORD_CLK phase based on RX_BITSLIP_NUMBER. Study the possibility to tune in the SERDES the EPCS_RX_CLK internally as done in Virtex 6 Similar results obtained when doing manual RX Reset and CDR Lock steps.

6 1. Clock Recovery (Phase) 3.2 Checking that the Word_CLK’s phase difference depends of RX_BITSLIP The test were done resetting the boards: As spected there is a high correlation between RX_BITSLIP_NUMBER and the phase difference between TX_WORD_CLK (Board #1) and RX_WORD_CLK (Board #2) The Phase pi corresponds to bit displacement. The measurements were taken using the scope cursors, so there are some measurement error, but the tendency is clear.

7 1. Clock Recovery (Phase) 1.2 Frame_CLK 5Gbps) Yellow  FRAME_TX_CLK (Board 1) Blue  FRAME_RX_CLK (Board 2) These are the clocks after the TX & RX PLLs, based on EPCS_ TX & RX _CLK The test were done resetting the boards: As previously the phase variation is random. This would be our CLK for acquisition electronics. The PLL can lock on any of the 6 rising edges of RX_WORD_CLK. Possible to optimize phase variations adjusting the PLL CLK phase on based on RX_HEADER_FLAG. To be seen if only adjusting Frame_Clk the link provides deterministic latency.

8 2. Link latency (5Gbps) 2.1 Observing the Match_Flag signal (Memory based Gearbox) Yellow  TX_MATCH_FLAG (Board 1) Blue  RX_MATCH_FLAG (Board 2) These are flags that goes to 1 when certain frame is detected The test were done resetting the boards: As expected the latency is not deterministic, with a pseudorandom behaviour. The Phase differences on the Word & Frame Clocks are the responsible of this delay variation. If we are able to align the clocks properly the link delay would be “more stable”.

9 2. Link latency (5Gbps) 2.1 Observing the Match_Flag signal (Register based Gearbox) Yellow  TX_MATCH_FLAG (Board 1) Blue  RX_MATCH_FLAG (Board 2) These are flags that goes to 1 when certain frame is detected The test were done resetting the boards: As expected the latency is not deterministic, with a pseudorandom behaviour. The Phase differences on the Word & Frame Clocks are the responsible of this delay variation. If we are able to align the clocks properly the link delay would be “more stable”.

10 3. RX_Header Flag (5Gbps) 3.1 Comparing phase respect Board1 TX_Word_CLK (Register based Gearbox) Yellow  EPCS_TX_CLK (Board 1) Blue  RX_HEADER_FLAG (Board 2) RX_HEADER_FLAG goes to 1 when the word received contains the GBT Header. The test were done resetting the boards: As expected the latency is not deterministic, with a pseudorandom behaviour. The Phase difference on the Word clocks is the responsible of this delay variation (20 possible phases). If we are able to align the word clocks properly the phase would be constant.

11 3. RX_Header Flag (5Gbps) 3.2 Checking that the RX_HEADER phase depends of RX_BITSLIP The test were done resetting the boards: As done previously with the WORD_CLK’s. RX_HEADER_CLK status it’s updated on the RX_WORD_CLK rising edges. RX_HEADER_CLK is used as a sync signal in Virtex 6 version to align RX_FRAME_CLK (in that example the RX_WORD_CLK has been already tunned based on BITSLIP_Number) Measurements taken more carefully, clear tendency.

12 3. Ref. Frequency tolerance 3.0 How to transmit LHC Clock to the Front-End Electronics TX_PLL x3 LHC Clock Mhz TX_SERDES SERDES Ref_Clock Mhz Surface FPGA Tunnel FPGA RX_SERDES RX_PLL /6 Optial Link 4.809Gbps SERDES EPCS_RX_CLK Mhz (Word_Clock) Local SERDES REF_CLK 120Mhz LHC Clock Mhz (RX_Frame_Clock) It will be possible to work with such difference on the REF_CLKs? Do we recover the correct EPCS_RX_CLK when the REF_CLK are different? Which are the difference limits on REF_CLKs? If the TX REF_CLK varies during transmission the link will suffer errors?

LHC operations require a clock tolerance of 50 ppm (the LHC clock varies during operation). We’ll play with Ref_CLK’s around 125Mhz (the local osc of the Dev.Kit) A safe region was found for 2.5 & 5Gbps – Board 1  Mhz – Board 2  ± 0.5 Mhz – Difference  0.8%  8000 ppm >> 50 ppm (we met the specs) Tullio’s measures – EPCS_DEMO 3.125Gbps – Difference  2.3Mhz  1.8%  18400ppm Ref. Frequency tolerance 3.1 Link performance over Ref_Clk differences on TX & RX Board 1 Local Ref_CLK 125Mhz Board 2 Variable Ref_CLK – Mhz

LHC operations require a clock tolerance of 50 ppm (the LHC clock varies during operation). We’ll play with Ref_CLK’s around 125Mhz (the local osc of the Dev.Kit) A safe region was found for 2.5 & 5Gbps – Board 1  Mhz – Board 2  ± 0.5 Mhz – Difference  0.8%  8000 ppm >> 50 ppm (we met the specs) Tullio’s measures – EPCS_DEMO 3.125Gbps – Difference  2.3Mhz  1.8%  18400ppm Ref. Frequency tolerance 3.1 Link performance over Ref_Clk differences on TX & RX Board 1 Local Ref_CLK 125Mhz Board 2 Variable Ref_CLK – Mhz SAME RESULTS FOR 2.5 AND 5Gbps

4. Clocks Frequency Stability 4.1 Freq Histogram of the TX & RX Word CLKs (250Mhz) 15 EPCS_TX_CLK (Board 1) EPCS_RX_CLK (Board 2) EPCS_TX_CLK (Board 2) EPCS_RX_CLK (Board 1) Clocks Stability: – For Both clocks (TX_WORD_CLK & RX_WORD_CLK), independently of their Ref_CLK source it was observed certain frequency dispersion. – EPCS_TX_CLK  STDEV ~ 6.1MHz (24400ppm) – Frame_TX_CLK  STDEV ~ 41kHz (985ppm) – EPCS_RX_CLK  STDEV ~ 3.7MHz (14800ppm) – Frame_RX_CLK  STDEV ~ 45kHz (1081ppm) Possible Reasons: – Not really well understood – Part of the SERDES Specifications? – More care needed on routing/ Implementation? Some questions to think about: – Impact on system performance? – Could we tolerate this variations?

16 4. Clocks Frequency Stability 4.2 Freq Histogram of the TX & RX Frame CLKs ( After PLLs 41.6Mhz) Frame_TX_CLK (Board 1) Frame_RX_CLK (Board 2) Frame_TX_CLK(Board 2) Frame_RX_CLK (Board 1) Clocks Stability: – For Both clocks (TX_WORD_CLK & RX_WORD_CLK), independently of their Ref_CLK source it was observed certain frequency dispersion. – EPCS_TX_CLK  STDEV ~ 6.1MHz (24400ppm) – Frame_TX_CLK  STDEV ~ 41kHz (985ppm) – EPCS_RX_CLK  STDEV ~ 3.7MHz (14800ppm) – Frame_RX_CLK  STDEV ~ 45kHz (1081ppm) Possible Reasons: – Not really well understood – Part of the SERDES Specifications? – More care needed on routing/ Implementation? Some questions to think about: – Impact on system performance? – Could we tolerate this variations?

5.Compilation Resources 5.1 Comparison using Memory & Register Based Gearbox 17 Memory Gearbox Register Gearbox The GBT_FPGA code was compiled successfully on Igloo2 with the following resource usage: No Clock phase alignment has been yet performed for the on Igloo2 version. Implemented using the two gearbox possibilities for clock domain crossing available on Xilinx V6 example. Memory Gearbox : Two port memories Register Gearbox : Through registers. Still TODO  Aligh the FRAME_CLK (We’ll use the information of BITSLIPNUMBER for and RX_HEADER_FLAG for this)

6.Constraining the Design 6.1 On Synplify Pro & on Smart-Time editor. 18 Constraint Clocks on Synplify  Constraint Clocks on Smart-Time  Allow multicycle path on Smart-Time  (Between TX_FIFO & SERDES_TX)

7. Synchronizing SERDES, GBT_TX & GBT_TX 7.1 Maintaining CLK/DATA phase relationships Buffered EPC_TX_CLK & EPCS_RX_CLK: – Helps to reduce the CLK Skew through global resources (and therefore reach the clk contraints for GBT_TX & GBT_RX) – However the buffered VS non buffered versions have different phases. – Synchronization CLK / TX & RX Data needed (done through Registers & Delay lines)  File: Igloo2_gtx_std.vhdl 19 Adjustable Delay

7. Synchronizing SERDES, GBT_TX & GBT_TX 7.1 Maintaining CLK/DATA phase relationships Buffered EPC_TX_CLK & EPCS_RX_CLK: – Helps to reduce the CLK Skew through global resources (and therefore reach the clk contraints for GBT_TX & GBT_RX) – However the buffered VS non buffered versions have different phases. – Synchronization CLK / TX & RX Data needed (done through Registers & Delay lines)  File: Igloo2_gtx_std.vhdl 20 MultiCycle path (2) Adjustable Delay

7. Synchronizing SERDES, GBT_TX & GBT_TX 7.1 Maintaining CLK/DATA phase relationships Buffered EPC_TX_CLK & EPCS_RX_CLK: – Helps to reduce the CLK Skew through global resources (and therefore reach the clk contraints for GBT_TX & GBT_RX) – However the buffered VS non buffered versions have different phases. – Synchronization CLK / TX & RX Data needed (done through Registers & Delay lines)  File: Igloo2_gtx_std.vhdl 21 MultiCycle path (2) Adjustable Delay EPCS_TX_CLK EPCS_TX_CLK_BUFF GBT_TX_DATA GBT_TX_DATA_DELAYED

7. Synchronizing SERDES, GBT_TX & GBT_TX 7.1 Maintaining CLK/DATA phase relationships Buffered EPC_TX_CLK & EPCS_RX_CLK: – Helps to reduce the CLK Skew through global resources (and therefore reach the clk contraints for GBT_TX & GBT_RX) – However the buffered VS non buffered versions have different phases. – Synchronization CLK / TX & RX Data needed (done through Registers & Delay lines)  File: Igloo2_gtx_std.vhdl 22 MultiCycle path (2) Adjustable Delay EPCS_RX_CLK EPCS_RX_CLK_BUFF EPCS_RX_DATA EPCS_RX_DATA_DELAYED MultiCycle path (2)

8.Post-Layout Implementation Report 8.1 Reaching constraints 23 We have to play a bit with the TX & RX delays in order to respect the Max & Min Delay analysis on Smart- Time. NOTE!!: Every time the design is changed and a new compilation (and place&route) is performed the reports change, and under certain circumstances the constraints are not met, therefore more efforts on design constraining have to be done (or we leave this as it is now and we’ll take care about it later when the final design is done). – Currently Experimenting some difficulties to reach the constraints… new ideas are more than welcome!! – Maybe bigger Igloo2 FPGAS with more resources can reach easier the specifications (or at least with bigger margin). – In spite of the limitations on WORD_CLK_RX & WORD_CLK_TX at 241Mhz / 246Mhz, the test were done at 250Mhz with satisfactory result.

9. The beauty is inside: GBT_On_Igloo2 9.1 All the implementation 24 PLLs

9. The beauty is inside: GBT_On_Igloo2 9.2 GBT_BANK 25

9. The beauty is inside: GBT_On_Igloo2 9.3 GBT_BANK/GBT_TX 26

9. The beauty is inside: GBT_On_Igloo2 9.4 GBT_BANK/GBT_RX 27

9. The beauty is inside: GBT_On_Igloo2 9.5 GBT_BANK/MGT 28 Global Clock Network

10. Code Availability 10.1 First release on Dropbox/SVN First release STD version available for download (09/06/2014) : – In DropBox: – In SVN (Use Tortoise or other SVN client): Diamond detector Readout Electronics/GBT_On_Igloo2/Firmware/GBT_FPGA_Igloo2/STD What is provided: – Libero 11.3 Project with GBT_on_Igloo2 code: (2014_06_09_GBT_On_Igloo2_M2GL_EVAL_KIT.rar) Features: GBT Protocol (STD Version) on Igloo2 with UART communication through USB port. Constraints are not always met, so care must be taken when new changes are performed analysing timing reports. All the necessary VHDL files are in : GBT_On_Igloo2_M2GL_EVAL_KIT\hdl Programming file (stp) available in : GBT_On_Igloo2_M2GL_EVAL_KIT\designer\GBT_On_Igloo2_M2GL_EVAL_KIT\export In case of trouble, just let me know!! there are many things to – Console Application UART_APP_V3.0: (2014_06_09_UART_APP_V3.0.rar) Features: Controls the workflow of the GBT implementation on Igloo2 and checks different signal values and parameters of the link (RX_BITSLIP_NUMBER, Error number…), Boards Auto-Detection. Microsoft Visual Studio 2008 Project: UART_APP_V3.0\UART_APP.sln Executable File: UART_APP_V3.0\Release\UART_APP.exe – Readme File: (2014_06_09_Readme.pdf) Features: Short guide to implement the design on the Dev.Kit and run the application 29