Professional Documents
Culture Documents
TABLE OF CONTENTS
1. INTRODUCTION.............................................................................................................. 7
1.1 INTRODUCTION TO GIGABIT SERIAL IO ........................................................................... 7
1.2 MGT - MEANS TO GIGABIT SERIAL IO ............................................................................ 8
1.2.1 MGTs are Faster..................................................................................................... 9
1.3 GIGABIT SERIAL IO ADVANTAGES ............................................................................... 10
1.4 APPLICATIONS OF GIGABIT SERIAL IO .......................................................................... 10
1.5 INTRODUCTION TO SYSTEM DESIGN USING FPGA ......................................................... 11
1.5.1 Embedded System Design in an FPGA ................................................................. 11
1.5.2 Field Programmable Gate Array (FPGA).............................................................. 11
1.5.3 Technical Reasons to Use FPGAs in System Design ............................................ 11
1.5.4 Applications of FPGAs ........................................................................................ 11
1.5.5 FPGA Manufacturers ........................................................................................... 12
1.5.6 Advantages of XILINX ........................................................................................ 12
1.5.7 XILINX Families ................................................................................................. 12
1.6 COMMUNICATION BETWEEN ICS ................................................................................... 12
1.6.1 System-Synchronous ............................................................................................ 13
1.6.2 Source-Synchronous............................................................................................. 13
1.6.3 Self-Synchronous ................................................................................................. 13
1.7 SUMMARY ................................................................................................................... 14
6. RESULT .......................................................................................................................... 58
6.1 SPECIFICATIONS ........................................................................................................... 58
6.1.1 Project Specifications ........................................................................................... 58
6.1.2 Timing Specifications........................................................................................... 58
6.1.3 Inputs and Outputs ............................................................................................... 58
6.2 SIMULATION RESULTS ................................................................................................. 59
6.2.1 Top Level Module ................................................................................................ 59
6.3 SIMULATION WAVEFORMS ........................................................................................... 59
6.4 CHIPSCOPE PRO RESULTS ............................................................................................. 61
6.5 SYNTHESIS REPORT...................................................................................................... 64
6.6 RTL SCHEMATIC ......................................................................................................... 67
8. APPLICATIONS ............................................................................................................. 69
9. CONCLUSION AND FUTURE SCOPE .......................................................................... 70
9.1 CONCLUSION ............................................................................................................... 70
10. REFERENCES............................................................................................................... 71
APPENDIX ......................................................................................................................... 72
List of Figures
Figure 1 Multiphase data extraction circuit ............................................................................. 9
Figure 28 Second GUI Page for Virtex-5 FPGA Rocket I/O GTP Transceivers .................... 51
Figure 32 Aurora core with one example design and removed frame gen and frame check ... 53
Figure 47 Chipscope Pro result in listing format showing COUNT & TX_DATA ................ 63
List of Tables
1. INTRODUCTION
1.1 Introduction to Gigabit Serial IO
In present day world, communication has become very important role in every aspect
of life including warfare. In warfare, communication plays a vital role in knowing the
information about the enemies and receiving the commands from the control room. Mainly in
submarines as they will be in under seas, they require information about what is happening
and services that it has to provide. Here high speed long distance communication without
transmission losses is the main criteria. The data usage & maintenance has become an
important aspect for usage. This data transfer technique helps to transfer the data in large
amounts.
We had been using parallel transmission technology to achieve high speeds.
In parallel transmission, binary data consisting of 1s and 0s may be organized into groups of n
bits each. By grouping, we can send data n bits at a time instead of one. We use n wires to
send n bits at one time. That way each bit has its own wire, and all n bits of one group can be
transmitted with each clock pulse from one device to another. For n = 8, typically, eight wires
are bundled in a cable with a connector at each end. The advantage of parallel transmission is
speed. All else being equal, parallel transmission can increase the transfer speed by a factor of
n over serial transmission. A significant disadvantage of parallel transmission is cost. Parallel
transmission requires n communication lines (wires in the example) just to transmit the data
stream. Because this is expensive, parallel transmission is usually limited to short distances.
In serial transmission one bit follows another, so we need only one communication
channel rather than n to transmit data between two communicating devices. The advantage of
serial over parallel transmission is that communication is possible with only one channel.
Serial transmission reduces the cost of transmission over parallel by roughly a factor or n.
Since communication within devices is parallel, conversion devices are required at the
interface between the sender and the line (parallel-to-serial) and between the line and the
receiver (serial-to-parallel). Serial transmission occurs in one of two ways; asynchronous or
synchronous.
Asynchronous transmission uses start and stop bits to signify the beginning bit. ASCII
character would actually be transmitted using 10 bits. For example, "0100 0001" would
become "10100 00010". The extra one (or zero, depending on parity bit) at the start and end of
the transmission tells the receiver first that a character is coming and secondly that the
character has ended. This method of transmission is used when data are sent intermittently as
opposed to in a solid stream.
Synchronous transmission uses no start and stop bits, but instead synchronizes
transmission speeds at both the receiving and sending end of the transmission using clock
signals built into each component. A continual stream of data is then sent between the two
nodes.
Multi-Gigabit transceivers (MGTs) are used increasingly for data communications
because they can run over longer distances. The main function of these MGTs is to convert
the parallel data into serial data and vice-versa and this action is performed by configuring the
MGTs using aurora core. These MGTs are present in the FPGA as hard IPs and we have to
interface to our application by configuring hard IPs using soft IPs such as aurora core in order
to achieve the high speed serial data transmission. The MGTs are configured as
either transmitter or receiver to perform the data transmission.
The Rocket IO GTX transceiver is a power-efficient transceiver for Virtex-5 FPGAs.
The GTX transceiver is highly configurable and tightly integrated with the programmable
logic resources of the FPGA. GTX transceivers are placed as dual transceiver GTX_DUAL
tiles in Virtex-5 FXT devices. This configuration allows two transceivers to share a single
PLL with the TX and RX functions of both, reducing size and power consumption. Multi-
Gigabit Transceiver (MGT) is a Serializer/Deserializer (SERDES) capable of operating at
serial bit rates above 1 Gigabit/second to perform the data transmission. The Rocket I0 GTX
transceiver is power-efficient transceiver for Virtex-5 FPGAs.
270
0 90
180
in
clk 0
clk 90
clk 180
clk 270
a
b
c
d
out
(D) Cost
Using MGTs will often result in lower overall system costs. With a smaller, cheaper
package, the connectors can have fewer pins and the board design may be simpler as well.
of the electronic industry military, medical, networking, video, communications etc. They
are also being used on Printed Circuit Board (PCB) assemblies.
memory resources.
Support a wide range of interconnection standards, such as PCI and high speed serial
protocols.
Shorter time to market.
Ability to re-program.
areas. FPGAs especially find applications in any area or algorithm that can make use of the
massive parallelism offered by their architecture.
Actel has anti-fuse and reprogrammable flash-based FPGAs, and also offers mixed
1.6.1 System-Synchronous
System-Synchronous is communication between two ICs where a common clock is
applied to both ICs and is used for data transmission and reception. This method is as shown
in the Figure-3.
Data
Source
Destination
IC
IC
OSC
1.6.2 Source-Synchronous
Source-Synchronous is communication between two ICs where the transmitting IC
generates a clock that accompanies the data. The receiving IC uses this forwarded clock for
data reception and to manage any delays. This model is as shown in Figure-4.
DATA
Source CLK
Destination
IC
IC
1.6.3 Self-Synchronous
Self-Synchronous is communication between two ICs where the transmitting IC
generates a data stream that contains both the data and the clock. The three main blocks of a
self-synchronous interface are parallel-to-serial conversion, serial-to-parallel conversion, and
Clock Data Recovery (CDR). This model is as shown in the Figure-5.
CLK &
Source DATA
IC Destination
IC
Rx_pin
RCLK
Rx_internal
1.7 Summary
To increase the speed in chip-to-chip communication design methods such as signal-,
source- and self-synchronization are used. In self-synchronization, data can be converted from
parallel to serial and serial to parallel, which is performed by MGT on FPGA. MGTs are the
way to go when we need to move lots of data fast, hence the name Rocket IO.
2. PROJECT DESCRIPTION
2.1 Aim of the project
The aim of the project is to transmit data serially at a high speed in Gbps using the
Aurora protocol software transmission module and the hardware features of Rocket IO
transceiver in Virtex-5 FPGA.
ELECTRONIC WARFARE
out from which of the RADARs the pulses are emitted. Finally, emitter is identified and
information is presented to the operator.
Parallel Serial
AURORA MODULE Tx
Tx MGT Tx SFP O
128 BIT DATA (SERDES) F
TRANSCEIVER
(COUNTER OR C
ROCKET IO
FSM) Rx Rx
Rx
Serial
Parallel
2.6.1.1 Xilinx
Xilinx ISE (Integrated Synthesis Environment) is a software tool produced by Xilinx
for synthesis and analysis of HDL designs, enabling the developer to synthesize ("compile")
their designs, perform timing analysis, examine RTL diagrams, simulate a design's reaction to
different stimuli, and configure the target device with the programmer. It is also called as
project navigator. By using VHDL/Verilog we can execute the programs in Xilinx software.
2.6.1.2 VHDL
Very High Speed Integrated Circuit Hardware Description Language is a hardware
description language used in electronic design automation to describe digital and mixed-signal
systems such as field-programmable gate arrays and integrated circuits. VHDL can also be
used as a general purpose parallel programming language.
3. HARDWARE DESCRIPTION
3.1 Xilinx Virtex5 FPGA
Virtex-5 FPGAs with integrated high-speed selection technology and Multi-Gigabit
serial transceivers (MGTs) support the widest range of broadcast video and audio connectivity
standards, including: standard video interfaces for sD-sDi, HD-sDi, Dual link HD-sDi, 3g-sDi
and DVb-asi; as well as aEs3 digital audio interfaces, audio embedding and de-embedding.
- PLL blocks for input jitter filtering, zero delay buffering, frequency synthesis, and
phase-matched clock division.
36-Kbit block RAM/FIFOs
- True dual-port RAM blocks.
- Enhanced optional programmable FIFO logic.
- Programmable
o True dual-port widths up to x36.
o Simple dual-port widths up to x72.
- Built-in optional error-correction circuitry.
- Optionally program each block as two independent 18-Kbit blocks.
65-nm copper CMOS process technology.
1.0V core voltage.
High signal-integrity flip-chip packaging available in standard or Pb-free package
options.
High-performance parallel Select IO technology
- 1.2 To 3.3V I/O operation.
- Source-synchronous interfacing using Chip Sync technology.
- Digitally-controlled impedance (DCI) active termination.
- Flexible fine-grained I/O banking.
- High-speed memory interface support.
Advanced DSP48E slices
- 25 x 18, twos complement multiplication.
- Optional adder, subtracter, and accumulator.
- Optional pipelining.
- Optional bitwise logical functionality.
- Dedicated cascade connections.
Flexible configuration options
- SPI and Parallel FLASH interface.
- Multi-bit stream support with dedicated fallback reconfiguration logic.
- Auto bus width detection capability.
Integrated Endpoint blocks for PCI Express (LXT/SXT)
The Transceiver module is designed to operate at any serial bit range in the range of
600 Mbps to 3.125 Gbps per channel, including the specific bit rates used by the
communications standard list in Table 4.
3.2.2.1 Serializer
The Multi-Gigabit transceiver multiplies the reference frequency provided on the
reference clock input (REFCLK) by 20 or by 10 if half-rate operation is selected. Data is
converted from parallel to serial format and transmitted on the TXP and TXN differential
outputs.
Serializing the data makes greater use of the available resources (pins). A system
processing 64 bits of data at 80 MHz can use a 64-bit data link (with control signals) to
another device.
3.2.2.2 Deserializer
The Rocket IO transceiver core accepts serial differential data on its RXP and RXN
inputs. The clock/data recovery circuit extracts clock phase and frequency from the incoming
data stream and re-times incoming data to this clock. The recovered clock is presented on
output RXRECCLK at 1/20 of the received serial data.
8b/10b Encoding
- A bypassable 8B/10B encoder is included in the transmitter. The encoder uses
the same 256 data characters and 12 control characters (shown in Appendix A,
8B/10B Valid Characters) that are used for Gigabit Ethernet, XAUI, Fiber Channel,
and Infiniband.
- The encoder accepts 8 bits of data along with a K-character signal for a total of
9 bits per character applied. If the K-character signal is High, the data is encoded into
one of the twelve possible K-characters available in the 8B/10B code. (See Table A-2
of Appendix A).
- When 8B/10B encoding is bypassed, the TXCHARDISPVAL and
TXCHARDISPMODE bits become bits b and a, respectively, of the 10-bit
encoded data that the transceiver must transmit to the receiving terminal. Figure
illustrates the TX data map during 8B/10B bypass.
8b/10b Decoding
- An optional 8B/10B decoder is included in the receiver. A programmable
option allows the decoder to be bypassed. When it is bypassed, the 10-bit character
order is as shown in Figure 13.
- The decoder uses the same table that is used for Gigabit Ethernet, Fiber
Channel, and Infini-Band. The decoder separately detects both disparity errors and
out-of-band errors.
- A disparity error occurs when a 10-bit character is received that exists within
the 8B/10B table (Table A-1 of Appendix A), but has an incorrect disparity.
- An out-of-band error occurs when a 10- bit character is received that does not
exist within the 8B/10B table.
- It is possible to obtain an out-of-band error without having a disparity error.
The proper disparity is always computed for both legal and illegal characters. The
current running disparity is available at the RXRUNDISP signal.
- The 8B/10B decoder performs a unique operation if out-of-band data is
detected. When this occurs, the decoder signals the error, passes the illegal 10 bits
through, and places them on the outputs. The decoder also signals reception of one of
the twelve valid K-characters (Table A-2) by way of the RXCHARISK port. In
addition, a programmable comma detect is included. The comma detect signal
RXCOMMADET registers a comma on the receipt of any plus-comma, minus-
comma, or both. Since the comma is defined as a 7-bit character, this includes several
out-of-band characters. RXCHARISCOMMA allows the decoder to detect only the
three defined commas (K28.1, K28.5, and K28.7) as plus-comma, minus-comma, or
both. In total, there are six possible options, three for valid commas and three for any
comma.
Running disparity
DC balance is achieved in the 8b/10b through a method called running
disparity. The primary use of running disparity is to keep track of whether the encoder
has output either more ones or more zeros. The 8b/10b encoding and decoding
functions use a binary variable called running disparity. The variable can have a value
of either positive (RD+) or a negative (RD-).
also immune to electromagnetic interference. Fibers are also used for illumination, and are
wrapped in bundles so that they may be used to carry images, thus allowing viewing in
confined spaces specially designed fibers are used for a variety of other applications,
including sensors and fiber lasers.
network device mother board (for a switch, router, media converter or similar device) to a
fiber optic or copper networking cable. SFP transceivers are designed to support SONET,
Gigabit Ethernet, and Fiber Channel. Completely passive modules have a minimal effect on
serial data traffic.
SFP transceivers are available with a variety of different transmitter and receiver
types, allowing users to select the appropriate transceiver for each link to provide the required
optical reach over the available optical fiber type (e.g. multimode fiber or single-mode fiber).
Optical SFP modules are commonly available in four different categories: 850 nm, 1310nm,
1550nm, and DWDM. SFP transceivers are also available with a "copper" cable interface,
allowing a host device designed primarily for optical fiber communications to also
communicate over unshielded twisted pair networking cable. The optical transceiver which is
used supports high speed serial links over multimode optical fiber at signaling rates up to 4.25
Gbps. SFP transceivers converts the electrical signal to light signal and vice versa.
4. SOFTWARE DESCRIPTION
4.1 Xilinx ISE 12.4
4.1.1 Software Overview
The ISE software controls all aspects of the design flow. Through the
Project Navigator interface, you can access all of the design entry and design
implementation tools. You can also access the files and documents associated with the
project.
1. Toolbar.
2. Sources window.
3. Processes window.
4. Workspace.
5. Transcript window
On the top left are the Start, Design, Files, and Libraries panels, which include display
and access to the source files in the project as well as access to running processes for the
currently selected source. The Start panel provides quick access to opening projects as well as
frequently access reference material (Documentation and tutorials). At the bottom of the
Project Navigator are the Console, Errors, and Warnings panels, which display status
messages, errors, and warnings. To the right is a Multi Document interface (MDI) window
referred to as the Workspace. The Workspace enables you to view design reports, text tiles,
schematics, and simulation waveforms. Each window can be resized, undocked from Project
Navigator, moved to a new location within the main Project Navigator window, tiled, layered,
or closed.
You can use the View > Panels menu commands to open or close panels.
You call use the Layout > Load Default Layout to restore the default window layout.
These windows are discussed in more detail in the following sections.
Design Panel
The Design panel provides access to the View, Hierarchy, and Processes panes.
View Pane
The View pane radio buttons enable you to view the source modules associated with
the implementation or Simulation Design View in the Hierarchy pane. If you select
Simulation, you must select a simulation phase from the drop-down list.
Hierarchy Panel
The Hierarchy pane displays the project name, the target device, user documents, and
design source flies associated with the selected Design View. The View pane at the top or the
Design panel allows you to view only those source files associated with the selected Design
View, such as Implementation or Simulation. Each file in the Hierarchy pane has an
associated icon. The icon indicates the file type (HDL file, schematic, core, or text file, for
(Example). From Project Navigator, select Help > Help Topics to view the ISE Help. If a file
contains lower levels of hierarchy, the icon has, plus symbol (+) to the left of the name. You
can expand the hierarchy by clicking the plus symbol (+). You can open a file for editing by
double-clicking on the filename.
Processes Panel
The Processes pane is context sensitive, and it changes based upon the source
type selected in the Sources pane and the top-level source m your project. From the
Processes pane, you can run the functions necessary to define, run, and analyze your design.
The Processes pane provides access to the following functions:
Design Summary/Reports
Xilinx ISE provides access to design reports, messages, and summary of results data.
Message Filtering can also be performed.
Design Utilities
Xilinx ISE provides access to symbol generation. Instantiation templates, viewing
command line History, and simulation library compilation.
User Constraints
Provides access to editing location and timing constraints
Synthesis
Xilinx ISE provides access to Check Syntax, Synthesis, view RTL or Technology
Schematic, and synthesis reports. Available processes vary depending on the synthesis tools
you use.
Implement Design
Xilinx ISE provides access to implementation tools and post-implementation analysis
tools.
Files Panel
The Files panel provides a flat, sortable list of all the source files in the project. Files
can be sorted by any of the columns in the view. Properties for each file can be viewed and
modified by right-clicking on the file and selecting Source Properties.
Libraries Panel
The Libraries panel enables you to manage HDL libraries and their associated HDL
source files. You can create, view, and edit libraries and their associated sources.
Console Panel
The Console provides all standard output from processes run from Project Navigator.
It displays errors, warnings, and information messages. Errors are signified by a red X next to
the message; while warnings have a yellow exclamation mark (!).
Errors Panel
The Errors panel displays only error messages. Other console messages are filtered
out.
Warnings Panel
The Warnings panel displays only warning messages. Other console messages are
filtered out.
Workspace
The Workspace is where design editors, viewers, and analysis tools open.
These include ISE Text Editor, Schematic Editor, Constraint Editor, Design
Summary/report Viewer, RTL and Technology Viewers, and Timing Analyzer.
Other tools such as the Plan Ahead software for I/O planning and floor planning, ISim, third-
party text editors, XPower Analyzer, and IMPACT open in separate windows outside the
main Project Navigator environment when invoked.
4.1.5 ISim
Xilinx ISim is a Hardware Description Language (HDL) simulator that enables you to
perform functional and timing simulations for VHDL, Verilog and mixed VHDL/Verilog
designs.
Aurora 8B/10B cores automatically initialize a channel when they are connected to an
Aurora channel partner. After initialization, applications can pass data freely across the
channel as frames or streams of data. Aurora frames can be any size, and can be interrupted at
any time. Gaps between valid data bytes are automatically filled with idle to maintain lock
and prevent excessive electromagnetic interference. Flow control is optional in Aurora. It can
be used to reduce the rate of incoming data or to send brief, high-priority messages through
the channel.
Each GTP/GTX/GTH transceiver is driven by an instance of the lane logic module,
which initializes each individual GTP/GTX/GTH transceiver and handles the encoding and
decoding of control characters and error detection. Streams are implemented in the Aurora
8B/10B core as a single, unending frame. Whenever data is not being transmitted, idles are
transmitted to keep the link alive. The Aurora 8B/IOB core detects single-bit and most multi-
bit errors using 8B/10B coding rules. Excessive bit errors, disconnections, or equipment
failures cause the core to reset and attempt to re-initialize a new channel.
Figure-18 shows the Functioning of Aurora when two example designs are
implemented in which one of the example designs receives data when the other transmits.
For simplicity, in the current project only one example design is used where the same
example design transmits as well as receives data. The Figure-19 below demonstrates the
same.
Lane logic: Each GTP/GTX/GTH transceiver is driven by an instance of the lane logic
module, which initializes each individual GTP/GTX/GTH transceiver and handles the
encoding and decoding of control characters and error detection.
Global logic: The global logic module in each Aurora 8B/10B core performs
the bonding and verification phases of channel initialization. While the channel
is operating, the module generates the random idle characters required by the
Aurora protocol and monitors all the lane logic modules for errors.
RX user interface: The RX user interface moves data from the channel to
the application. Streaming data is presented using a simple stream interface
equipped with a data bus and a data valid signal. Frames are presented using a
standard AX14-Stream interface. This module also performs now control functions.
TX user interface: The TX user interface moves data from the application to
the channel. A stream interface with a data valid and a ready signal is used
for streaming data. A standard AX14-Stream interface is used for data frames.
The module also performs flow control TX functions. The module has an interface
for controlling clock compensation (the periodic transmission of special characters
to prevent errors due to small clock frequency differences between connected Aurora
8B/10B cores). This interface is normally driven by a standard clock compensation
manager module provided with the Aurora 8B/10B core, but it can be turned off, or
driven by custom logic to accommodate special needs.
Channel bonding: Channel bonding is the technique of tying several
channels together to create one aggregate channel. Several channel are fed on the
transmit side by one parallel bus and reproduced on the receive side as the
identical parallel bus. The maximum number of serial number of serial differential
pairs that can be bonded is 24.
The framing user interface complies with a local link interface specification.
It comprises the signals are available for designs for designs with framing interfaces.
The streaming interface allows sending data without special frame delimiters.
The Project deals with streaming user interface, which is very simple to operate, and also
user fewer resources than framing.
Streaming TX Ports
The streaming interface allows the Aurora 8B/10B channel to be used as a
pipe. Words written into the TX side of the channel are delivered, in order after some
latency, to the RX side. After initialization, the channel is always available for writing,
except when the DO_CC signal is asserted to send clock compensation sequences.
Applications transmit data through the TX_D port, and use the TX_SRC_RDY_N port
to indicate when the data is valid (asserted Low). The Aurora 8B/10B core will
insert TX_DST_RDY_N (High) when the channel is not ready to receive data.
Otherwise, TX_DST_RDY_N will remain asserted.
When TX_SRC_RDY_N is deserted, gaps are created between words.
These gaps are reserved, except when clock compensation sequences are being
transmitted. Clock compensation sequences are replicated or deleted by the GTP/GTX
transceiver to make up for frequency differences between the two sides of the Aurora
8B/10B channel. As a result, gaps created when DO-CC is asserted can shrink and
grow.
When data arrives at the RX side of the Aurora 8B/10B channel it is presented
on the RX_D bus and RX_SRC_RDY is asserted. The data must be read immediately
or it is lost. If this is unacceptable, a buffer must be connected to the RX interface to
hold the data until it can be used.
reports hardware errors by asserting the HARD_ERR signal. Catastrophic hardware errors can
also manifest themselves as burst of soft errors. The core uses the leaky bucket algorithm
described in the Aurora 8B/10B Protocol Specification to detect large numbers of soft errors
occurring in a short period of time, and will assert the HARD_ERR signal when it detects
them.
Aurora 8B/10B cores with a Local Link data interface can also detect errors in Aurora
8B/10B frames. Errors of this type include frames with no data, consecutive Start of Frame
symbols, and consecutive End of Frame symbols. When the core detects a frame problem, it
asserts the FRAME_ERR signal. This signal is usually asserted close to a SOFT_ERR
assertion, with soft errors being the main cause of frame errors.
Signal Description
TX Overflow/Underflow: The elastic buffer for TX data overflows or
underflows. This can occur when the user clock and the reference clock
sources are not running at the same frequency.
RX Overflow/Underflow: The elastic buffer for RX data overflows or
underflows. This can occur when the clock source frequencies for the two
channel partners are not within 200 ppm.
Bad Control Character: The protocol engine attempts to send a bad
HARD_ERROR control character. This is an indication of design corruption or
catastrophic failure.
Soft Errors: There are too many soft errors within a short period of time.
The Aurora 8B/10B protocol defines a leaky bucket algorithm for
determining the acceptable number of soft errors within a given time
period. When this number is exceeded, the physical connection may be
too poor for communication using the current voltage swing and
preemphasis settings.
Invalid Code: The 10-bit code received from the channel partner was not
a valid code in the 8B/10B table. This usually means a bit was corrupted
SOFT_ERROR in transit, causing a good code to become unrecognizable.
Typically, this will also result in a frame error or corruption of the current
channel frame.
Disparity Error: The 10-bit code received from the channel partner did
not have the correct disparity. This error is also usually caused by
corruption of a good code in transit, and can result in a frame error or bad
data if it occurs while a frame is being sent.
Truncated Frame: A channel frame is started without ending the previous
channel frame, or a channel frame is ended without being started.
FRAME_ERROR Invalid Control Character: The protocol engine receives a control
character that it does not recognize.
No Data in Frame: A channel frame is received with no data
Replacing parallel connections between chips with high speed serial connections can
significantly reduce the number of traces and layers required on a PCB. The Aurora core
provides the logic needed to use MGTs with minimal FPGA resource cost.
Board to Board/Backplane links
Aurora uses standard 8b/10b encoding, making it compatible with many existing
hardware standards for cables and backplanes. Aurora can be scaled, both in line rate
and channel width to allow inexpensive legacy hardware to be used in new, high
performance systems.
To open an existing project, select File > Open Project, or Select one of the recently
used projects in the File menu.
The title bar of the Chip Scope Pro Analyzer and the project tree displays the project
name. If the new project is not saved during the course of the session, a dialog box appears
when the Chip Scope Pro Analyzer tool is about to exit, asking you if you wish to save the
project.
5. PROJECT IMPLEMENTATION
5.1 SOFTWARE IMPLEMENTATION
5.1.1 Generation of Aurora Core by Using Core Generator
Step by step procedure for generating aurora core:
1. Select Xilinx ISE from all programs and select tools and click on it.
2. Select core generator and click on it and core generator window opens.
3. Then select new project and save the coregen in required folder and below window opens.
4. Then select family as Virtex 5, device xc5vfx200t, package ff1738 and speed grade as -1
and click apply ok.
5.Then expand communication and networking which is in left side of window then select
serial interfaces and in that select aurora 8b/10b 5.2 and click on it.
Figure 28 Second GUI Page for Virtex-5 FPGA Rocket I/O GTP Transceivers
6. Aurora 8b 10b window select streaming for interface and for 16 bits select lane width as
2,for 32 select lane width as 4as shown in below figure and click generate.
7. Such that aurora core is generated and this core will be saved in required folder mentioned
by the user.
4. One example design module is removed such that only one aurora module is used for
implementation.
5. In the next process frame gen and frame check is removed and our own logic is attached.
Figure 32 Aurora core with one example design and removed frame gen and frame check
6. By using state machine our own data is passed so, the logic is attached to the program.
7. After saving the program click check syntax for checking errors and after debugging select
simulation and enter the required test bench program.
8. Save the program and click on behavioral check syntax and after select simulate behavioral
model for obtaining the result.
5.1.3 Synthesis
The code is written and checked for any errors by running the Synthesize-XST tool in
the processor window of the Project Navigator in the ISE development tool.
JTAG which acts as interface between the FPGA board and computer
The Virtex-5 FPGA board is dumped with the program using the JTAG and Xilinx
iMPACT Tool. This transmission and reception of data in the FPGA board is observed using
the chipscope probe analyzer.
xc5vfx200t
main.bit
Program Succeeded
6. RESULT
6.1 Specifications
6.1.1 Project Specifications
Software : Xilinx 12.4 ISE
Family : Virtex-5
Device : xc5vfx200t
Package : ff1738
Speed Grade : -1
From the above figure we can see that channel_up and lane_ up signals becomes high so that
the data passes through the channel and lane.
In the above figure tx_src_rdy_n and tx_dst_rdy_n becomes low so that the data starts
transmitting in Tx_d .
In the above figure, when Rx_src_rdy_n becomes low such that the receiver rx_d receives the
data.
The above figure shows the transmission of data by using State Machine where Present state
and Next state show the state of the data being transmitted.
Figure 47 Chipscope Pro result in listing format showing COUNT & TX_DATA
1. The most important advantage is the speed of transmission of data. As we are using
OFC cable that data travels in the speed of light.
2. As the data is transmitted in the form of light there is no interference of noise during
the transmission and hence the loss of data is negligible almost zero.
3. Complexity is reduced due to practical application of OFC a single cable where data is
transmitted serially and in single cable.
4. This technology is used in long distance communication channels.
5. This technology is used in long distance communication channels where installation of
cables in the path of transmission is almost considered.
7.2 Limitations
8. APPLICATIONS
1. This type of communication is used in war fare as the information about the enemies
should be known quickly and without any loses.
2. This communication is mainly applicable in Board-to-Board/Backplane and Chip-to-
Chip communication.
3. This technology is applicable in long distance radar communication without data loss.
10. REFERENCES
1. Chip-scope pro integrated bit error ratio test (IBERT) for virtex-5 FPGA GTX(v2.01a),
DS774 October 19, 2011.
2. Circuit Design with VHDL text book by Volnei A. Pedroni.
3. Logic core IP aurora 8b/10 v5.2 user guide July 23, 2010 by Xilinx.
4. Logic ORE IP FIFO Generator v8.1, DS 317.
5. Data Sheet -850 nm, SFP (Small Form Pluggable), RoHS Compliant, Low Voltage
(3.3V) Digital Diagnostic Optical Transceiver by AVAGO Technologies.
http://www.avagotech.com/docs/AV02-0881EN.
6. High speed serial I/O made simple- A designers guide with FPGA applications book by
Abhijit Athavale and Carl Christensen of Xilinx
7. RocketIO Transceiver User Guide by Xilinx
8. http://www.xilinx.com/publications/archives/books/serialio.pdf
9. ISim User Guide user guide 660 (version 13.1) march 18 , 2011
http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1 /plugin_ism.pdf
10. Aurora 8b/10b protocol specification, 2010 by Xilinx.
http://www.xilinx.com/support/documentation/ip_documentation
Aurora_8b10b_protocol_spec_sp002.pdf.
APPENDIX
APPENDIX-A
APPENDIX B
VALID CONTROL CHARACTERS ( K- CHARACTERS )