8b10b Macro. v2.0. This data sheet defines the functionality of Version 1.0 of the 8b10b macro.

Similar documents
Laboratory 4. Figure 1: Serdes Transceiver

EMPTY and FULL Flag Behaviors of the Axcelerator FIFO Controller

Technical Article MS-2714

Single Channel LVDS Tx

Multiplex Serial Interfaces With HOTLink

IEEE Standard (JTAG) in the Axcelerator Family

TAXI -compatible HOTLink Transceiver

TAXI -compatible HOTLink Transceiver

AN-822 APPLICATION NOTE

Dual Link DVI Receiver Implementation

Contents Circuits... 1

SMPTE-259M/DVB-ASI Scrambler/Controller

BUSES IN COMPUTER ARCHITECTURE

Single-channel HOTLink II Transceiver

HOLITA HDLC Core: Datasheet

Design Techniques for Radiation-Hardened FPGAs

2.6 Reset Design Strategy

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

Synchronization Issues During Encoder / Decoder Tests

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

Digital Phase Adjustment Scheme 0 6/3/98, Chaney. A Digital Phase Adjustment Circuit for ATM and ATM- like Data Formats. by Thomas J.

Altera JESD204B IP Core and ADI AD9144 Hardware Checkout Report

Sub-LVDS-to-Parallel Sensor Bridge

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

CONVOLUTIONAL CODING

About... D 3 Technology TM.

CS8803: Advanced Digital Design for Embedded Hardware

JESD204B IP Hardware Checkout Report with AD9250. Revision 0.5

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Universal Asynchronous Receiver- Transmitter (UART)

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

Digital Electronics II 2016 Imperial College London Page 1 of 8

CS8803: Advanced Digital Design for Embedded Hardware

SEMESTER ONE EXAMINATIONS 2002

MC-ACT-DVBMOD April 23, Digital Video Broadcast Modulator Datasheet v1.2. Product Summary

IT T35 Digital system desigm y - ii /s - iii

BER MEASUREMENT IN THE NOISY CHANNEL

VLSI Chip Design Project TSEK06

1. Convert the decimal number to binary, octal, and hexadecimal.

MODULE 3. Combinational & Sequential logic

Synchronizing Multiple ADC08xxxx Giga-Sample ADCs

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

CHAPTER1: Digital Logic Circuits

Chapter 4. Logic Design

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis

INSTRUCTION MANUAL FOR MODEL IOC534 LOW LATENCY FIBER OPTIC TRANSMIT / RECEIVE MODULE

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

NS8050U MICROWIRE PLUSTM Interface

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Clock Domain Crossing. Presented by Abramov B. 1

IN A SERIAL-LINK data transmission system, a data clock

Agilent E4430B 1 GHz, E4431B 2 GHz, E4432B 3 GHz, E4433B 4 GHz Measuring Bit Error Rate Using the ESG-D Series RF Signal Generators, Option UN7

White Paper Lower Costs in Broadcasting Applications With Integration Using FPGAs

Model BE-64. talon 150 E. Arrow Highway, San Dimas, CA TECHNICAL DESCRIPTION. Bus Emulator/Word Generator

Physics 217A LAB 4 Spring 2016 Shift Registers Tri-State Bus. Part I

Dual Link DVI Receiver Implementation

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

IMPLEMENTATION OF USB TRANSCEIVER MACROCELL INTERFACE

Chapter 2. Digital Circuits

Logic Design. Flip Flops, Registers and Counters

Memory, Latches, & Registers

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) COUNTERS

Debugging Memory Interfaces using Visual Trigger on Tektronix Oscilloscopes


CMS Conference Report

VTU NOTES QUESTION PAPERS NEWS RESULTS FORUMS Registers

EE292: Fundamentals of ECE

AN 823: Intel FPGA JESD204B IP Core and ADI AD9625 Hardware Checkout Report for Intel Stratix 10 Devices

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit

Altera JESD204B IP Core and ADI AD9250 Hardware Checkout Report

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

8. Stratix GX Built-In Self Test (BIST)

LSN 12 Shift Registers

Logic Analysis Basics

Logic Analysis Basics

Analyzing 8b/10b Encoded Signals with a Real-time Oscilloscope Real-time triggering up to 6.25 Gb/s on 8b/10b encoded data streams

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

CprE 281: Digital Logic

1ms Column Parallel Vision System and It's Application of High Speed Target Tracking

for Television ---- Formatting AES/EBU Audio and Auxiliary Data into Digital Video Ancillary Data Space

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

VARIABLE FREQUENCY CLOCKING HARDWARE

Introduction to Digital Logic Missouri S&T University CPE 2210 Flip-Flops

Generation and Measurement of Burst Digital Audio Signals with Audio Analyzer UPD

Digital Transmission System Signaling Protocol EVLA Memorandum No. 33 Version 3


Logic Design II (17.342) Spring Lecture Outline

Serial Digital Interface Reference Design for Stratix IV Devices

T1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics

Commsonic. Satellite FEC Decoder CMS0077. Contact information

DEDICATED TO EMBEDDED SOLUTIONS

10 Mb/s Single Twisted Pair Ethernet Proposed PCS Layer for Long Reach PHY Dirk Ziegelmeier Steffen Graber Pepperl+Fuchs

LAX_x Logic Analyzer

Final Exam review: chapter 4 and 5. Supplement 3 and 4

ECE 263 Digital Systems, Fall 2015

Application Note PG001: Using 36-Channel Logic Analyzer and 36-Channel Digital Pattern Generator for testing a 32-Bit ALU

GALILEO Timing Receiver

Transcription:

v2.0 8b10b Macro Product Summary Gigabit Ethernet 8b10b Function 125 MHz Operation Transmit and Receive Function isparity and Illegal Code Error Checking Connects directly to industry-standard Gigabit Ethernet Transceiver devices. Supports either single or dual channel transceiver in a single device. Version This data sheet defines the functionality of Version 1.0 of the 8b10b macro. General escription The 8b10b macro implements the function for the physical coding sublayer for Gigabit Ethernet as defined in the IEEE 802.3z specification. The 8b10b is a marriage of two sub-blocks, the 5b6b and the 3b4b encoder/decoders (ENECs). The purpose of the ENEC is to convert 8-bit data into a 10-bit code that contains an equal number of 0 s and 1 s. In addition, the code is built so that no more than five consecutive 0 s or 1 s are ever transmitted. The 8b10b macro is designed to work with a variety of standard transceiver devices. A set of generic signals provides a data and command interface with the system logic. A system-level block diagram describing the use of the 8b10b macro is shown in Figure 1. The 8b10b macro provides a user interface and a transceiver interface. The user interface consists of transmit data, receive data, and several control and status signals used to qualify the data. To simplify the timing of the user interface, the data transmission is word-wide (16-bits) and operates at 62.5 MHz. This strategy provides a simplified timing interface for system logic yet still meets the 125 megabyte per second requirements for Gigabit Ethernet. The transceiver interface is designed to connect directly to most commercially-available Gigabit Ethernet transceiver devices. The transceiver is responsible for serializing transmit data and deserializing receive data. In addition, the receiver is designed to resynchronize the serial stream whenever an external device detects illegal coding errors. TX_WOR[15:0] TX_K_CHAR[1:0] 8b10b Macro Transmitter TX_ATA[9:0] TRANSCEIVER SERIAL_TX TX_WRn INVALI_K CLK125 RSTn RX_WOR[15:0] RX_K_CHAR[1:0] Receiver RX_ATA[9:0] COMMA_ETECT RBC0 SERIAL_RX COE_ERRORn[1:0] RBC1 WOR_SYNCn COMMA_ET_EN RX_CLK Figure 1 System Block iagram epicting 8b10b Macro Usage May 2000 1 2000 Actel Corporation

8b10b evice Requirements Performance requirements of the 8b10b macro drives device selection. Table 1 defines the minimum device requirements for the A54SXA family. I/O Signal escriptions The 8b10b macro signals are defined in Tables 2 and 3. Table 1 evice Statistics for the 8b10b Macro evice Speed Grade Utilization A54SX08A Standard 96% A54SX16A Standard 48% A54SX32A -1 24% Table 2 Transceiver Interface Signals Name 1 Type escription COMMA_ETECT Input Active high pulse from the transceiver indicating that a comma character has been detected and the received data is aligned with the rising edge of the RBC1 clock. RBC0, RBC1 Input Clock signals recovered from the received data stream. These clocks are 180 degrees out of phase and the rising edge of each clock qualifies receive data. RX_ATA[9:0] Input 10-bit encoded input data from the transceiver qualified by the rising edges of RBC0 and RBC1. COMMA_ET_EN Output Active high signal indicating that the transceiver should align the data stream with the rising edge of RBC1. This output is asserted when the 8b10b detects multiple consecutive encoding errors. TX_ATA[9:0] Output 10-bit encoded output data to the transceiver. Note: 1. Active LOW signals are designated with a trailing lower-case n. 8b10b Transmitter etailed Operation The 8b10b transmitter is a pipelined structure that converts 16-bit command or data information into two 10-bit encoded values. Command and data information are qualified by the TX_K_CHAR[1:0] bus. TX_K_CHAR[1] corresponds to the upper data byte on TX_WOR[15:0] and TX_K_CHAR[0] is for the lower byte. The data on the TX_WOR bus is continuously registered into the transmitter; however, this data is only transferred to the encoder when the TX_WRn signal is driven low for a single cycle. The transmitter will encode and send the upper byte first followed by the lower byte. Because of the pipelined nature of the transmitter, the first encoded data will be driven on the TX_ATA bus several cycles after the TX_WRn pulse. All data input information is valid, though command possibilities are limited. If the transmitter detects a bad command, then it will assert the INVALI_K signal. When the TX_WRn input is inactive, the transmitter will continuously send an ILE2 (K28.5/16.2) command defined in the 802.3 specification. Figure 2 on page 3 illustrates the implementation of the transmitter function. The core of the transmitter consists of a data encoder, a command encoder, and a disparity calculator. Each encoder calculates a 4B and 6B code for the input data. The correct code, command or data, is then selected based on the original input value of TX_K_CHAR. The disparity calculator determines whether encoded values need to be inverted to maintain the correct running disparity. Finally, the code is registered and sent to the transceiver on the TX_ATA bus. 8b10b Receiver etailed Operation The 8b10 receiver is also a pipelined structure that converts two 10-bit encoded values qualified by the clocks RBC0 and RBC1 and converts them to 16-bit command or data information. Command information is indicated by the RX_K_CHAR[1:0] bus signals asserted high. The data on the upper byte of the RX_WOR bus is the first decoded value in the sequence. Several signals qualify the validity of the information on RX_WOR. RX_WOR contains good information whenever COE_ERRORn is inactive (high) and WOR_SYNCn is active (low). If WOR_SYNCn is high or COE_ERRORn is low, this indicates some problem in transmission. Whenever the receiver loses sync (WOR_SYNCn is high), it asserts the COMMA_ET_EN output so that the transceiver resynchronizes the data on subsequent K28.5 commands. When sync is reestablished, the WOR_SYNCn will again be driven low after the pipeline has been flushed of potentially bad data. Figure3onpage4 illustrates the implementation of the 8b10b receive function. Receive data is first loaded into two parallel registers. The first register is active on the rising edge of RBC0 and the second on the rising edge of RBC1. The RBC0 data is then 2

8b10b Macro Table 3 System Interface Signals Name 1 Type escription CLK125 Input Primary 125MHz clock signal for the transmit block of the 8b10b macro. RSTn Input Asynchronous reset signal for the macro. TX_K_CHAR[1:0] Input Active high signal indicating that the TX_WOR[15:0] contains command information. Bit 0 corresponds to the lower byte (bits 7:0) and bit 1 corresponds to the upper byte (bits 15:8) of TX_WOR. TX_WOR[15:0] Input 16-bit input data to the transmitter. Byte 1 is transmitted first followed by byte 0. TX_WRn Input Active low signal that qualifies the TX_WOR data. When this signal is asserted, the data defined on TX_WOR will be registered into the 8b10b macro, encoded, and sent to the transceiver in two consecutive 10-bit transfers. COE_ERRORn[1:0] Output Active low signal indicating that the ENEC has detected an error in the received data stream. Bit 0 corresponds to the lower byte (bits 7:0) and bit 1 corresponds to the upper byte (bits 15:8) of RX_WOR. INVALI_K Output Active high signal indicating that the upstream device requested the ENEC to transmit an invalid command character. This signal is asserted when either of the TX_K_CHAR[1:0] is active, but the associated don on the byte lane of TX_WOR[15:0] does not correspond to a valid command character. RX_CLK Output The receive clock. The rising edge of this clock qualifies RX_WOR[15:0], RX_K_CHAR[1:0], WOR_SYNCn, and COE_ERRORn[1:0]. RX_K_CHAR[1:0] Output Output from the ENEC to the transceiver indicating that the received data is a command code. RX_WOR[15:0] Output 16-bit decoded receive data. The upper byte was received first and the lower byte was received second in the data sequence. WOR_SYNCn Output Active low signal indicating that the received data is correctly aligned. Note: 1. Active LOW signals are designated with a trailing lower-case n. TX_WOR[15:8] TX_K_CHAR1 Encode 6B ata Encode 4B ata -4B/6B TX_ATA[9:0] TX_WOR[7:0] TX_K_CHAR0 K28.5 16.2 Encode 6B Command Encode 4B Command K-4B/6B SELECT_K INVALI_K INVERT_COE isparity Calculation TX_WRn ata Steering CLK_125MHZ Figure 2 8b10b Transmitter Block iagram resynchronized with RBC1 on the next RBC1 rising clock edge. From this point, the two codes are decoded in parallel and move from stage to stage based on the RBC1 clock input. The error check block monitors the incoming codes and checks for illegal codes and/or bad running disparity. When an error in the 8b10b code is detected, the COE_ERRORn is asserted. If several codes in a row are received with errors, then the 8b10b will assume that synchronization with the transceiver has been lost and will deactivate WOR_SYNCn and assert the COMMA_ET_EN signal. The number of 3

consecutive errors required to force a resynchronization is programmable, from 2 to 16 (default is 6). The transceiver then resynchronizes the data on the rising edge of RBC1 using K28.5 codes. A pulse on the COMMA_ETECT input indicates that the transceiver has reacquired sync. The 8b10b responds by deasserting COMMA_ET_EN and asserting WOR_SYNCn. COMMA_ETECT Synchronization Block COMMA_ET_EN WOR_SYNCn RX_ATA[9:0] ecode Block COE_ERRORn[1:0] RBC0 RX_WOR[15:0] RX_K_CHAR[1:0] RBC1 RX_CLK Figure 3 8b10b Receiver Block iagram 4

8b10b Macro Hierarchy of the 8b10b Model The hierarchy of the 8b10b model is shown in Figure 4. The transmitter is the encoder. The encoder is subdivided into the data encoder (enc_d), command encoder (enc_k), and the running disparity calculator (enc_flip). The enc_d is composed of the mux32x6, mux32x1, and mux4x1 modules that create a ROM for data encoding. The receiver is the decoder, which is subdivided into the data decoder (dec_data), running disparity decoder (dec_rd), and the synchronization state machine (sync_fsm). for reference. Input setup requirements are defined in Table 5. Output valid times are defined in Table 6 and Table 7. CLK Inputs Valid T_h ENEC T_su TRANSMITTER RESET_SYNC ECOER Figure 5 Input Timing for 8b10b Signals ENCOER EC_R EC_ATA SYNC_FSM ENC_K ENC_ MUX32X6 MUX32X1 MUX4X1 ENC_FLIP EC_ERR CLK T_val Output elay Figure 4 Hierarchy of the 8b10b ENEC. Utilization Statistics The 8b10b macro uses approximately 250 sequential modules and 350 combinatorial modules in the A54SX-A devices. The macro also uses approximately 70 I/Os and requires two clock networks for the CLK125 and RBC1 inputs. Because of the light loading, the clock input RBC0 can use a regular input. It is possible to implement a dual channel 8b10b in either the A54SX16A or A54SX32A device. System Timing The 8b10b macro is divided into two functions, the transmitter and the receiver. The transmitter is designed to operate at 125 MHz, the receiver at 62.5 MHz. The input setup time for transmitter signals (TX_WOR, TX_K_CHAR, and TX_WRn) are measured with respect to the rising edge of CLK125. The input setup time for the receiver signal RX_ATA is measured with respect to the rising edge of both RBC0 and RBC1. The input setup time for the COMMA_ETECT signal is measured with respect to RBC1 only. Receiver output timing is defined with respect to the rising edge of RX_CLK, an inverted version of RBC1 (refer to Figure 5 and Figure 6). Table 4 defines the internal register-to-register delays for the CLK125MHZ domain (transmitter) and the RBC1 domain (receiver). RBC0 domain to RBC1 domain timing is provided Figure 6 Output Timing for 8b10b Signals Table 4 Internal Reg-Reg elays (ns max) Name SX08A SX16A SX32A-1 CLK125MHZ 7.5 7.5 7.0 RBC1 13.5 15.0 12.5 RBC0 -> RBC1 2.0 2.0 2 Notes: 1. All timing is for worst-case commercial conditions. 2. Expected values from commercially available synthesis tools using standard design practices. 8B10B Waveforms The operation of the 8b10b macro is illustrated in the following waveforms. The function of the 8b10b can be illustrated using 5 different waveforms: Normal transmission Transmission with an invalid K command Normal receive Loss of synchronization with the transceiver Synchronization with the transceiver 5

Table 5 Input Required Set-Up Times (ns max) Name SX08A SX16A SX32A-1 COMMA_ETECT 0.5 0.5 0.5 RX_ATA[9:0] 1.0 1.0 0.5 TX_WRn 0.5 0.5 0.5 TX_K_CHAR 1.0 1.0 0.5 TX_WOR[15:0] 1.0 1.0 0.5 Notes: 1. All timing is for worst-case commercial conditions. 2. Expected values from commercially available synthesis tools using standard design practices. Table 6 Output Valid Times (ns max) Name SX08A SX16A SX32A-1 COMMA_ET_EN 6.0 6.0 6.0 INVALI_K 6.0 6.0 6.0 TX_ATA[9:0] 5.5 5.5 5.5 RX_CLK 6.0 6.0 6.0 Notes: 1. All timing is for worst-case commercial conditions. 2. Expected values from commercially available synthesis tools using standard design practices. A normal transmission begins by placing valid data/command information on TX_WOR and TX_K_CHAR while simultaneously asserting the TX_WRn signal. After several cycles, the encoded data is driven onto the TX_ATA bus. If command information is illegal, the INVALI_K signal will assert for one cycle. Normal 8b10b transmission is illustrated in Figure 7 and an invalid command waveform is shown in Figure 8 on page 7. A normal receive assumes that the 8b10b encoded data on RX_ATA is aligned with RBC1. Encoded data is registered into the 8b10b off the rising edge of both RBC1 and RBC0. Table 7 Receive ata Valid Prior to RX_CLK (ns max) Name SX08A SX16A SX32A-1 COE_ERRORn 6.0 6.0 6.0 RX_K_CHAR 6.0 6.0 6.0 RX_WOR[15:0] 6.0 6.0 6.0 WOR_SYNCn 6.0 6.0 6.0 Notes: 1. All timing is for worst-case commercial conditions. 2. Expected values from commercially available synthesis tools using standard design practices. 3. Hold times for all signals is at least 2ns after the rising edge of RX_CLK. After several cycles, the unencoded data or command is driven onto the RX_WOR and RX_K_CHAR buses. This information is qualified by the rising edge of RX_CLK. The normal 8b10b receive is depicted in Figure 9 on page 7. In some cases, the 8b10b detects an error condition on the incoming data stream. When this occurs, the output COE_ERRORn is asserted. If several consecutive errors are found, the 8b10b will assume that it has lost synchronization with the transceiver and will attempt to resynchronize by asserting the COMMA_ET_EN output as shown in Figure 10 on page 7. When the COMMA_ET_EN output is asserted, the transceiver will scan the incoming data stream for a K28.5 command code and will resynchronize RX_ATA on the rising edge of RBC1. If the data stream is synchronized and a K28.5 command is detected, then the transceiver will indicate synchronization by asserting the COMMA_ETECT signal. After two pulses, the 8b10b will again be synchronized as indicated by the WOR_SYNCn signal in Figure 11 on page 8. CLK125 TX_WOR[15:0] TX_K_CHAR[1:0] 1 2 3 4 5 6 7 8 9 10 11 12 FC01 0203 0405 0607 0809 0A0B 10 00 00 00 00 00 TX_WRn TX_ATA[9:0] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 K28.7 1.0 2.0 INVALI_K Figure 7 Normal Transmit 6

8b10b Macro CLK125 TX_WOR[15:0] TX_K_CHAR[1:0] 1 2 3 4 5 6 7 8 9 10 11 12 0000 0102 0304 0506 0708 090A 10 00 00 00 00 00 TX_WRn TX_ATA[9:0] d0.0 d0.0 d0.0 d0.0 d0.0 d0.0 d0.0 d0.0 d0.0 d0.0 d1.0 INVALI_K Figure 8 Invalid Command RBC1 RBC0 RX_ATA[9:0] 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 RX_CLK RX_WOR[15:0] RX_K_CHAR[1:0] 0000 0000 0000 0001 0203 0405 00 00 00 00 00 00 COE_ERRORn[1:0] WOR_SYNCn COMMA_ET_EN COMMA_ETECT Figure 9 Normal Receive RBC1 RBC0 RX_ATA[9:0] RX_CLK RX_WOR[15:0] RX_K_CHAR[1:0] 0000 00 COE_ERRORn[1:0] WOR_SYNCn COMMA_ET_EN COMMA_ETECT Figure 10 Receive Error 7

RBC1 RBC0 RX_ATA[9:0] 0.0 0.0 K28.5 0.0 0.0 0.0 K28.5 0.0 0.0 0.0 0.0 0.0 COMMA_ETECT RX_CLK RX_WOR[15:0] RX_K_CHAR[1:0] 0000 0000 0000 0000 BC00 0000 00 00 00 00 10 00 COE_ERRORn[1:0] WOR_SYNCn COMMA_ET_EN Figure 11 Synchronization with the Transceiver 8

Actel and the Actel logo are registered trademarks of Actel Corporation. All other trademarks are the property of their owners. http://www.actel.com Actel Europe Ltd. aneshill House, Lutyens Close Basingstoke, Hampshire RG24 8AG United Kingdom Tel: +44-(0)125-630-5600 Fax: +44-(0)125-635-5420 Actel Corporation 955 East Arques Avenue Sunnyvale, California 94086 USA Tel: (408) 739-1010 Fax: (408) 739-1540 Actel Asia-Pacific EXOS Ebisu Bldg. 4F 1-24-14 Ebisu Shibuya-ku Tokyo 150 Japan Tel: +81-(0)3-3445-7671 Fax: +81-(0)3-3445-7668 5172155-0/5.00