On Behalf of the GBT Project Collaboration

Slides:



Advertisements
Similar presentations
Lecture 15 Finite State Machine Implementation
Advertisements

FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
E-link IP for FE ASICs VFAT3/GdSP ASIC design meeting 19/07/2011.
Follow-up meeting of the Administrative Agreement between FCT and CERN Vicente Leitão, Pedro (PH/ESE-ME, joined in May 2013) Supervisor: Moreira, Paulo.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
On behalf of the GBT team
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
Calorimeter upgrade meeting - Wednesday, 11 December 2013 LHCb Calorimeter Upgrade : CROC board architecture overview ECAL-HCAL font-end crate  Short.
F.F. - 18/07/ User Guide of the Input Trigger Multiplexer unit with input signal rate counters.
Lecture 20: Communications Lecturers: Professor John Devlin Mr Robert Ross.
VELO upgrade Front-end ECS LHCb upgrade electronics meeting 12 April 2012 Martin van Beuzekom on behalf of the VELO upgrade group Some thoughts, nothing.
Filip Tavernier Karolina Poltorak Sandro Bonacini Paulo Moreira
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
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)
Transfering Trigger Data to USA15 V. Polychonakos, BNL.
GBT SCA overview Slide 1-5 Work status Slide 6-10 Shuaib Ahmad Khan.
A Mini Stereo Digital Audio Processor Design DINESH GUNDU VIGNESH SABARINATH.
OCRP RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
09/02/20121 Delay Chip Prototype & SPI interface Joan Mauricio La Salle (URL) 15/02/2013.
09/02/20121 Delay Chip Prototype & Delay Chip Test Board Joan Mauricio – Xavier Ondoño La Salle (URL) 12/04/2013.
Level-1 Data Driver Card (L1DDC) HEP May 2014 Naxos 08/05/2014HEP 2014, NAXOS Panagiotis Gkountoumis National Technical University of Athens.
CRU Weekly Meeting Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU) 18 November, 2015.
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:
GBT protocol implementation on Xilinx FPGAs Csaba SOOS PH-ESE-BE-OT.
Low Power GBT CMS Tracker Oriented Preliminary Design Specification A. Marchioro, P. Moreira Nov 2011.
Status and Plans for Xilinx Development
Memory Interface EEE 365 [FALL 2014] LECTURER 12 ATANU K SAHA BRAC UNIVERSITY.
— Analog Devices Confidential Information — Applications Issues 1.
LHCb Outer Tracker Upgrade Actel FPGA based Architecture 117 januari 2013 Outline ◦ Front end box Architecture ◦ Actel TDC ◦ Data GBT interface ◦ Data.
Current STS Readout Concept 1 FEB 8 STS-XYTER Electrical Interface SLVS/LVDS pairs/FEB ROB GBTx / VL Optical Interface 4 MM fibers /ROB DPB.
GBT-FPGA Tutorial Introduction 27/06/2016GBT-FPGA Tutorial – 27/06/20161.
9530 T IMING C ONTROL U NIT Features TCU-1 Key Features 250ps timing resolution with < 50ps jitter 8 independent outputs with full individual programming.
Hugo Furtado CERN - Microelectronics Group 11th Workshop on Electronics for LHC and future Experiments Delay25, an ASIC for timing adjustment in LHC Delay25.
End OF Column Circuits – Design Review
AT91 Power Management This training module describes the Power Management options provided by the AT91 family of microcontrollers. These options address.
Class Exercise 1B.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Control of ASICs via GBTx
Creation of a reference design in standard mode
PCIe control interface for user logic.
Data Handling Processor v0.1 First Test Results
Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU)
The Control of Phase and Latency in the Xilinx Transceivers
The 8085 Microprocessor Architecture
GBT-FPGA Tutorial Tips & Tricks 27/06/2016
NSW Electronics workshop, November 2013
Front-end digital Status
Communication Lines Fundamentals.
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
The Xilinx Virtex Series FPGA
Serial Communication Interface: Using 8251
XC4000E Series Xilinx XC4000 Series Architecture 8/98
Serial EEPROM (Atmel 24C-512)
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Interfacing Data Converters with FPGAs
Programmable Data Communication Blocks
The 8085 Microprocessor Architecture
The Xilinx Virtex Series FPGA
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Lecture 26 Logic BIST Architectures
Applications Issues.
Applications Issues.
CBETA bunch pattern and BPM trigger generator Version 2
Fixed Latency Serial Links with FPGA-embedded SerDes for SuperB
Introduction Communication Modes Transmission Modes
Presentation transcript:

On Behalf of the GBT Project Collaboration GBTX: Tips for users Pedro Leitão On Behalf of the GBT Project Collaboration 12/06/2014 CERN, Switzerland http://cern.ch/proj-gbt p.leitao@cern.ch

Summary GBTX: a brief review A simple case-study: Mode/encoding Clock domains Configuration methods Power-up sequence Phase Adjustable Output Clocks E-links How to phase align the data of an e-link group Power consumption example A simple case-study: GBTX transceiver (“master” GBTX) as clock source for multiple GBTXs transmitters http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Mode/encoding GBT Frame encoding Uplink and downlink 80 data bits using 5 groups 32 FEC bits Widebus mode encoding Uplink 112 data bits using 7 groups No FEC correction Downlink uses GBT Frame encoding 8B/10B encoding 88 data bits using 5 ½ groups Slow Control Information (IC and EC channels) Only works in transceiver mode and with GBT Frame or Widebus mode Both present in the uplink and downlink 2 bits for the GBTX’s Internal Control (IC) channel 2 bits for EC (SCA link) http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Clock Domains Receiver mode: BACKEND GBTX CDR SER The CDR locks to the backend’s clock This clock is used for the e-links transmitter and e-links clock The GBTX SERIALIZER can be turned off to save power BACKEND GBTX CDR SER REFCLK E-TX E-CLK E-RX FE http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Clock Domains Receiver mode: Transmitter mode: The CDR locks to the backend’s clock This clock is used for the e-links transmitter and e-links clock The GBTX SERIALIZER can be turned off to save power Transmitter mode: The transmitter uses the REFCLK as a clock source; turning off the GBTX RECEIVER will save power The EPORT-RX uses the SER clock BACKEND GBTX CDR SER REFCLK E-TX E-CLK E-RX FE http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Clock Domains Receiver mode: Transmitter mode: The CDR locks to the backend’s clock This clock is used for the e-links transmitter and e-links clock The GBTX SERIALIZER can be turned off to save power Transmitter mode: The transmitter uses the REFCLK as a clock source; turning off the GBTX RECEIVER will save power The EPORT-RX uses the SER clock Transceiver mode The CDR locks to the backend clock The SER uses the CDR clock and should only present a phase shift The GBTX mode is selected by input pins BACKEND GBTX CDR SER REFCLK E-TX E-CLK E-RX FE http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Configuration methods There are two methods to communicate with the GBTX I2C Direct connection using a standard 7-bit addressing I2C (external pull-up resistors to 1.5V required) Can be connected to the SCA or to an external device for initial prototyping The GBTX is an I2C slave; the address 7’b000_0000 is used for general call Internal Control (IC) channel / External Control (EC) channel (SCA LINK) Requires an high-speed serial link with the GBTX in transceiver mode to work The high-speed serial link can be established using I2C or by a set of fused values which are loaded after a power-on reset An IC wrapper will be available for the GBT-FPGA for easy read/write access (RAM based) The two methods are mutually exclusive and are selected by one input pin The GBTX provides a two-wire link for the VTRX programming After the optimal configuration settings have been found, the GBTX can be fused in order to have the self-configuration feature enabled (3.3V power supply required for fuse programming) All GBTX in transceiver (“master” GBTX) mode should be fused so that they are operational on power-up http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Power-up sequence Ready! Power-on Load Fuses isFused? YES Load Fuses NO NO use IC channel? (input pin) YES Wait for config; write using I2C No high-speed link; GBTX is unreachable Config Done? Config Done? Config is Done Goes through the power-up SM, waits for ready signals Ready! At this stage both the I2C and the IC channel are available http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Phase Adjustable Output Clocks: 8 programmable clocks 40, 80, 160 and 320 MHz Phase shifts of 50 ps The clock source of the phase shifter’s PLL is mode dependent In Transmitter mode, the PLL locks to the REFCLK clock In Receiver mode, the PLL locks to the CDR clock In Transceiver mode, the PLL locks to the CDR clock In receiver/transceiver mode the phase shifter can be used as clock sources for others GBTXs in transmitter mode If phase adjustment of the clocks is not required, the e-link clocks can also provide a stable 40/80/160/320 MHz clock in phase with the source clock. This will help to reduce power http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links Consists of three differential signals dCLK (clock driven by GBTX) dOUT (data line driven by GBTX) dIN (data line from the front-end) Data rate input, output and clock rate can be set independently They can run at 40, 80, 160 and 320 (Mb/s and MHz) Programmable driving current Enable/disable on-chip 100Ω termination Due to the e-links serialization/deserialization architecture, data misalignment (between 40 MHz frame and e-links) can occur (e.g. bit-shifts) Programmable e-link transmitter (eportTX) The dOUT data is driven in anti-phase with the dCLK The front-end should sample the data in the rising edge; dual data rate is also possible Coarse phase adjustment (bit clock) has to be done either in the front-end or in the back-end Programmable e-link receivers (eportRX) Modes Static phase-aligner Automatic phase-aligner Trained phase-aligner n+2 n n+1 dOUT dCLK http://cern.ch/proj-gbt p.leitao@cern

Edge detection/phase aligner algorithm GBTX: a brief review E-links receivers (eportRX) The phase aligner value will depend on the line length The data is delayed in order to have a fine-phase alignment (max. delay is 7/4Tbit) There are 15 taps available dataRate Q D dIN Data Rate Switch sampleSelect [3:0] samplingClock Edge detection/phase aligner algorithm SERdata http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links receivers (eportRX) Only a fine-phase adjustment (max. 7/4Tbit) is available The automatic phase aligner mode is restricted between the [4; 11] tap After a fixed tap, it can vary ± 3 taps Coarse phase adjustment (bit clock) has to be done either in the front-end or in the back-end Automatic phase aligner process: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 D[n] D[n-1] D[n+1] a) b) c) d) e) f) g) h) http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links receivers (eportRX) – How to data align a channel? Example: Group at 160 Mbit/s The automatic phase aligner mode is restricted between the [4; 11] tap SER 40 MHz clock 0000’h SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 0000 http://cern.ch/proj-gbt p.leitao@cern

This will allow to identify the Dn(3) position GBTX: a brief review E-links receivers (eportRX) – How to data align a channel? Example: Group at 160 Mbit/s The automatic phase aligner mode is restricted between the [4; 11] tap Set the data to b‘1000’; This will allow to identify the Dn(3) position SER 40 MHz clock 4848’h SER 120bit frame 1 1 D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 1000 http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links receivers (eportRX) – How to data align a channel? Example: Group at 160 Mbit/s The automatic phase aligner mode is restricted between the [4; 11] tap Set the data to b‘1000’; This will allow to identify the Dn(3) position Provided enough transitions, the eportRX phase aligner locks SER 40 MHz clock 8181’h SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 1000 http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links receivers (eportRX) – How to data align a channel? Example: Group at 160 Mbit/s The automatic phase aligner mode is restricted between the [4; 11] tap Coarse phase adjustment (bit clock) is done in the front-end by pipelining the data Set the data to b‘1000’; This will allow to identify the Dn(3) position Provided enough transitions, the eportRX phase aligner locks Align the channels by bit-shifting the front-end output data SER 40 MHz clock 8888’h SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) bitShift = 1 D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) bitShift = 1 D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 1000 http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review E-links receivers (eportRX) – How to data align a channel? Example: Group at 160 Mbit/s The automatic phase aligner mode is restricted between the [4; 11] tap Coarse phase adjustment (bit clock) is done in the front-end by pipelining the data Set the data to b‘1000’; This will allow to identify the Dn(3) position Provided enough transitions, the eportRX phase aligner locks Align the channels by bit-shifting the front-end output data What if… it falls on the next bunch clock? SER 40 MHz clock 8888’h SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D1(2) D1(3) D1(1) D1(0) D2(3) D0(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 1000 http://cern.ch/proj-gbt p.leitao@cern

What if… it falls on the next bunch clock? GBTX: a brief review E-links receivers (eportRX) – How to data align a group? Example: Implement a 4-bit LFSR pseudo-random pattern (overlaps every 16 words) Use the same pattern in the back-end and perform a bitwise XOR with the received frame Keep shifting the front-end output data until you have bitwise XOR = 4’b0000 BACKEND (Internal [15:0] 4’LFSR) bitwiseXOR (received 4’LFSR) What if… it falls on the next bunch clock? GBTX FE 4’LFSR SER 40 MHz clock 4-bit LFSR SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D1(2) D1(3) D1(1) D1(0) D2(3) D0(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 4’LFSR http://cern.ch/proj-gbt p.leitao@cern

What if… it falls on the next bunch clock? GBTX: a brief review E-links receivers (eportRX) – How to data align a group? Example: Implement a 4-bit LFSR pseudo-random pattern (overlaps every 16 words) Use the same pattern in the back-end and perform a bitwise XOR with the received frame Keep shifting the front-end output data until you have bitwise XOR = 4’b0000 BACKEND (Internal [15:0] 4’LFSR) bitwiseXOR (received 4’LFSR) What if… it falls on the next bunch clock? GBTX FE 4’LFSR SER 40 MHz clock 4-bit LFSR SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) bitShift = 4 D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 4’LFSR http://cern.ch/proj-gbt p.leitao@cern

What if… it falls on the next bunch clock? GBTX: a brief review E-links receivers (eportRX) – How to data align a group? Example: Implement a 4-bit LFSR pseudo-random pattern (overlaps every 16 words) Use the same pattern in the back-end and perform a bitwise XOR with the received frame Keep shifting the front-end output data until you have bitwise XOR = 4’b0000 In order to use this method (data rate dependent): Add a unique pattern which enables you to identify the e-link MSB to your FE and BE e.g, 10’b if 80 Mb/s 1000’b if 160 Mb/s 1000 0000’b if 320 Mb/s Add a 4-bit LFSR pattern for group/frame data alignment to your FE and BE e.g 4LFSR[1:0] if 80 Mb/s 4LFSR[3:0] if 160 Mb/s {4LFSR[3:0], 4LFSR[3:0]} if 320 Mb/s Perform the bitwise XOR using the whole group for group alignment The eportTX (e-link transmitter) can use the same method You only need to do this once – then you can save and reuse the same configuration e.g, use the eportRX trained phase aligner mode You can use the SCA to control the I2C channel of your FE BACKEND (Internal [15:0] 4’LFSR) bitwiseXOR (received 4’LFSR) What if… it falls on the next bunch clock? GBTX FE 4’LFSR SER 40 MHz clock 4-bit LFSR SER 120bit frame D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) bitShift = 4 D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) D0(2) D0(3) D0(1) D0(0) D1(3) D-1(0) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Dn(3:0) = 4’LFSR http://cern.ch/proj-gbt p.leitao@cern

GBTX: a brief review Power consumption example Transciever mode GBT Frame All clocks enabled, multiple group data rates, I2C conn http://cern.ch/proj-gbt p.leitao@cern

Study-case: GBTX transceiver as clock source GBTX transceiver as clock source for multiple GBTXs transmitters BACKEND Transmitter GBTX xPLL (opt. fusing) IC + EC channels “master” GBTX (fused) CDR SER PhaseShifter Output xOSC FE Control EPORTs dIN CLK dOUT SCA eLink - SCA SCOUT SCCLK SCIN FE dIN CLK I2C I2C I2C http://cern.ch/proj-gbt p.leitao@cern

Study-case: GBTX transceiver as clock source GBTX transceiver as clock source for multiple GBTXs transmitters BACKEND Transmitter GBTX xPLL (opt. fusing) IC + EC channels “master” GBTX (fused) CDR SER PhaseShifter Output xOSC EPORTs SCA eLink - SCA SCOUT SCCLK SCIN CLK dOUT dIN FE dIN CLK I2C FE Control I2C I2C http://cern.ch/proj-gbt p.leitao@cern

Study-case: GBTX transceiver as clock source GBTX transceiver as clock source for multiple GBTXs transmitters BACKEND Transmitter GBTX xPLL (opt. fusing) IC + EC channels “master” GBTX (fused) CDR SER PhaseShifter Output xOSC FE Control EPORTs dIN CLK dOUT SCA eLink - SCA SCOUT SCCLK SCIN CLK dIN dIN dIN I2C FE I2C I2C http://cern.ch/proj-gbt p.leitao@cern

Study-case: GBTX transceiver as clock source GBTX transceiver as clock source for multiple GBTXs transmitters BACKEND Transmitter GBTX xPLL (opt. fusing) IC + EC channels “master” GBTX (fused) CDR SER PhaseShifter Output xOSC FE Control EPORTs dIN CLK dOUT SCA eLink - SCA SCOUT SCCLK SCIN CLK dIN dIN dIN I2C FE I2C I2C http://cern.ch/proj-gbt p.leitao@cern

BACKUP SLIDES http://cern.ch/proj-gbt p.leitao@cern.ch

BACKUP SLIDES Align eportRX: find the correct position with the 4’LFSR FE BACKEND GBTX FE 4’LFSR 4-bit LFSR buffer 4’LFSR[0] 4’LFSR[1] 4’LFSR[2] 4’LFSR[3] 4’LFSR[4] 4’LFSR[5] 4’LFSR[6] 4’LFSR[7] 4’LFSR[8] 4’LFSR[9] 4’LFSR[10] 4’LFSR[11] 4’LFSR[12] 4’LFSR[13] 4’LFSR[14] 4’LFSR[15] PositionArray Pos[0] Pos[1] Pos[2] Pos[3] Pos[4] Pos[5] Pos[6] Pos[7] Pos[8] Pos[9] Pos[10] Pos[11] Pos[12] Pos[13] Pos[14] Pos[15] 4’bitwiseXOR result 4’bitwiseXOR result http://cern.ch/proj-gbt p.leitao@cern