1 HOLA status – February 2011 ● What's been done: ● Firmware for Cyclone IV FPGA for Tang's board – Emulation of TLK2501 transmission protocol – Flow control.

Slides:



Advertisements
Similar presentations
DUAL-OUTPUT HOLA FIRMWARE AND TESTS Anton Kapliy Mel Shochet Fukun Tang Daping Weng.
Advertisements

Digital Phase Follower -- Deserializer in Low-Cost FPGA
PeterJ Slide 1 Sep 4, B/10B Coding 64B/66B Coding 1.Transmission Systems 2.8B/10B Coding 3.64B/66B Coding 4.CIP Demonstrator Test Setup.
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
FTK-ROD FLOW CONTROL Anton Kapliy Enrico Fermi Institute University of Chicago March
The 8085 Microprocessor Architecture
DUAL-OUTPUT HOLA MAY 2011 STATUS Anton Kapliy Mel Shochet Fukun Tang.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 6: Digital Data Communications Techniques.
UCHOLA Firmware and Tests UCHOLA Design Team Anton Kapliy Mel Shochet Fukun Tang Lauren Tompkins Daping Weng Enrico Fermi Institute University of Chicago.
Transmission Modes Different ways of characterizing the transmission.
Data Communications Chapter 6 The Data Communications Interface.
WIRELESS MODEM for 950 MHz DIGITAL COMMUNICATION Nerdev Sharma
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Time Division Multiplexing School of Physics and Astronomy Department of Particle Physics Elissavet Papadima 29/5/2014.
Improving Networks Worldwide. UNH InterOperability Lab Serial Attached SCSI (SAS) Clause 6.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 5 - Encoding and Data Link Basics.
PeterJ Slide 1 Sep 4, B/10B Coding 64B/66B Coding 1.Transmission Systems 2.8B/10B Coding 3.64B/66B Coding 4.CIP Demonstrator Test Setup.
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
 8251A is a USART (Universal Synchronous Asynchronous Receiver Transmitter) for serial data communication.  Programmable peripheral designed for synchronous.
Data Link and Flow Control Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific.
Intel: Lan Access Division Technion: High Speed Digital Systems Lab By: Leonid Yuhananov & Asaad Malshy Supervised by: Dr. David Bar-On.
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)
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Unit 1 Lecture 4.
1 Business Telecommunications Data and Computer Communications Chapter 6 The Data Communications Interface.
11 th April 2003L1 DCT Upgrade FDR – TSF SessionMarc Kelly University Of Bristol On behalf of the TSF team Firmware and Testing on the TSF Upgrade Marc.
GBT protocol implementation on Xilinx FPGAs Csaba SOOS PH-ESE-BE-OT.
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
DHH progress report Igor Konorov TUM, Physics Department, E18 DEPFET workshop, Bonn February 7-9, 2011 Outline:  Implementation synchronous clock distribution.
The AM Chip Ser/Des IP Protocol – Test Procedure Matteo Beretta
Serial Communications
The HCS12 SCI Subsystem A HCS12 device may have one or two serial communication interface. These two SCI interfaces are referred to as SCI0 and SCI1. The.
SpaceFibre Physical Layer Testing
William Stallings Data and Computer Communications
Serial mode of data transfer
The 8085 Microprocessor Architecture
LAMB: Hardware & Firmware
Flip Flops Lecture 10 CAP
Control of ASICs via GBTx
Clocks A clock is a free-running signal with a cycle time.
A few notes on Altera transceivers
Erno DAVID, Tivadar KISS Wigner Research Center for Physics (HU)
Data Communication Networks
The 8085 Microprocessor Architecture
Serial I/O and Data Communication.
Data Link Layer What does it do?
E3165 DIGITAL ELECTRONIC SYSTEM
On Behalf of the GBT Project Collaboration
Digital Fundamentals with PLD Programming Floyd Chapter 10
Source: Serial Port Source:
Asynchronous Serial Communications
Serial Communication Interface: Using 8251
Impact of Serializer/Deserializer Architecture on ETD High-Speed Links
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
The 8085 Microprocessor Architecture
Measuring propagation delay over a coded serial communication channel using FPGAs P.P.M. Jansweijer, H.Z. Peek October 15, 2009 VLVnT-09 Athens.
Source: Serial Port Source:
New DCM, FEMDCM DCM jobs DCM upgrade path
MPC–SP Synchronization
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Source: Serial Port Source:
The AM Chip Ser/Des IP Protocol – Test Procedure Matteo Beretta
Chapter 13: I/O Systems.
Serial Communications
William Stallings Data and Computer Communications
Fixed Latency Serial Links with FPGA-embedded SerDes for SuperB
Data Link Layer. Position of the data-link layer.
Introduction Communication Modes Transmission Modes
Presentation transcript:

1 HOLA status – February 2011 ● What's been done: ● Firmware for Cyclone IV FPGA for Tang's board – Emulation of TLK2501 transmission protocol – Flow control from either DAQ or FTK ● Timing closure (per static TimeQuest analysis) ● Got familiar with SOLAR/FILAR device drivers & user libraries that we can use to set up a test stand ● What needs to be done: ● Finish up a full FEMB/LSC/LDC/ROMB testbench in Modelsim ● Test on practice synchronization with TLK2501 ● Build a test stand and run stress tests

2 FIFO 40 MHz 50 MHz Big picture: old LSC core Interface to TLK TLK2501 chip (LSC side) FPGA TLK2501 chip (DAQ LDC) Serial connection (via optical transceiver) FPGA provides a parallel interface to an outside SERDES device (TLK-2501), which feeds serial signal to an optical transmitter. Note that TLK-2501 alone costs more than the entire FPGA that we are planning to use. (only forward channel shown) D[16] + 2 control 100 MHz

3 FIFO 40 MHz 50 MHz Big picture: new LSC core Interface to TLK ALTGX wrapper FPGA D[16] + 2 control 100 MHz Serial connections (via optical transceiver) (only forward channel shown) TLK2501 chip (FTK LDC) TLK2501 chip (DAQ LDC) OLD LSC CORE (altera SERDES megafunction) TX_CL K The original LSC core is slightly modified: ● ALTGX fetches data into the phase comp FIFO using a special clock (TX_CLK), propagated back to the LSC core ● For better metastability protection, 50 MHz clock made related to TX_CLK ● Flow control from FTK (see a later slide)

4 Old LSC core ALTGX wrapper Differential transmitter pins (DAQ & FTK) Differential receiver pins TLK interface What the top-level entity looks like

5 What the ALTGX wrapper looks like ALTG X tx wrapper Emulation of TLK2501 transmission rx wrapper Interpreting data from TLK2501 (one per channel – DAQ and FTK)

6 Checking functionality of tx wrapper: Checking functionality of rx wrapper:

7 FIFO 40 MHz 50 MHz Big picture: XOFF and return channel XOFF basically acts as a READ-ENABLE for the main data FIFO. It blocks further data transmission until the receiver of the data (LDC & ROMB) informs us that the data can be sent again. While XOFF is asserted, the link will be sending IDLE's downstream. For the new LSC core, we have two return channels (from trigger and FTK). Either one will be able to set XOFF (in other words, it's a logical-OR). Note that the new LSC core will only look for XOFF/XON on the FTK return channel, and will ignore all other return channel codes from FTK. READ-ENABLE / XOFF

8 Resource Utilization ● All available transmitters and receivers ● 2/3 PLLs ● One for the transceiver block ● Another for internal frequency halving ● Around 10% of logic elements ● 0.5% of internal RAM ● Can use the rest for test patterns FPGA floor plan

9 Supplemental slides (some details about transceivers)

10 Transceiver datapath Lock byte boundary by detecting a 10-bit comma character from TLK2501 Since comma always appears in LSB byte, we can also use it to establish byte order Circled in RED: 8b/10b encoder/decoder and CDR unit. 8b/10b is required to maintain high transition density in the received data stream. It also provides a basic error detection mechanism – see next page.

11 8b/10b ● bit characters => bit characters ● Larger 10-bit phase space => ● Select mappings with {5/5,6/4,4/6} bit parity ● E.g, – 6/4, sent if “RD-” ● Every 6/4 or 4/6 has a complement: ● E.g, – 4/6, sent if “RD+” ● To maintain overall DC balance and uniform transition density, RD+ and RD- alternate ● Error detection: unused 10-bit code OR disparity violation.

12

13 TLK2501 synchronization TLK2501 only synchronizes on this comma In order to guarantee that K28.5 commas with correct disparity are received by TLK synchronization circuit, the first IDLE must be selected judiciously depending on running disparity. If a wrong IDLE is sent (e.g., /I2/ after RD+ or /I1/ after RD-), TLK receiver will assert error on received data.

14 ALTGX 8b/10b limitation ● 8b/10b encoder does not provide running disparity, so we can't send the correct IDLE Altera has an 8b/10b megafunction that support 16b/20b cascading, but it is not free (from one of Altera implementation guides)

15 Alternative lookup-based solution ALTGX provides optional interface to force running disparity to an arbitrary value Flip LUT data[8 ] clk disparity_flippe d Tells whether the encoded version of this 8bit word would flip running disparity Given 16-bit data from LSC core, the upper and lower 8 bits are simultaneously sent to two flip LUTs. One clock later, we receive corresponding disparity_flipped bits. Together with running disparity in the end of last 16-bit data block, they tell us: ● Disparity encoding for upper and lower 8 bits of current word ● Running disparity in the end of transmission of current 16-bit word

16 Supplemental slides (other)

17 Timing closure No red here = good

18 Transceiver reset sequence Transmission is easy: just need PLL to lock Reception is more complicated. In the end, we wait for CDR's to lock Wrote an FSM for the reset sequence, but discovered that “reset on power-on” coupled with altgx_reconfig is sufficient to synchronize transceivers on the Altera test board. Therefore, this reset sequence is not included in the current version of the firmware.

19 8b/10b logic implementation 8b/10b map is usually implemented as a complex network of gates. This was the subject of a 1984 patent from IBM. 16b/20b implementation is the subject of more recent patents (2007) A simpler option is a MRAM-based lookup table for the entire mapping. But this would take up ~10% of Cyclone IV resources. For this reason, we chose to utilize an existing 8b/10b module from Altera, but provide our own disparity calculation