Aurora Transceiver for the PLB

Overview In this tutorial we will create a peripheral containing the Aurora core to implement a high speed serial transceiver with a RocketIO MGT. It will be an improved version of the Aurora transceiver developed in the tutorial titled Create an Aurora Transceiver. The improvement is achieved by connecting the peripheral to the PLB rather than the OPB, which allows much faster data transfer by virtue of a wider bus and Direct Memory Access capability. [Read More]

Known Issues

Below we describe various problems with the XUPV2P board and/or XPS software, and the solution or work-around. No Vista Support for 9.1 or Older Presently, the EDK and ISE platforms versions 9.1 and older do not support Vista. You must upgrade to version 9.2 to operate under Vista. The Onewire Problem Conditions I am using the Digilent XUPV2P board with Xilinx Platform Studio v8.2i. I connect to my XUPV2P board via USB (i. [Read More]

Create an Aurora Transceiver

Overview In this tutorial we will create a peripheral containing the Aurora core to implement a high speed serial transceiver with a RocketIO MGT. The peripheral can be used to connect two XUPV2P boards using the SATA connectors and transfer data between them at 1.5Gbps. To test the design using only one XUPV2P board, we will instantiate two Aurora peripherals, assign them to different RocketIO MGTs and place a SATA cable between them to create a loop-back connection. [Read More]

Create an Oscillator with a RocketIO MGT

Overview In this tutorial we will use a RocketIO MGT for possibly its simplest application, a programmable oscillator. This can be achieved by feeding the MGT with a repetitive data pattern (e.g. “10101010101010101010”). By changing the data pattern we can adjust the output frequency and duty cycle. Figure: The Oscillator peripheral --> The diagram above illustrates the oscillator peripheral. In it we use 4 registers to store a 4 x 32 bit repeating pattern to be fed to the RocketIO primitive (GT_CUSTOM). [Read More]

Peripherals FAQ

When I make changes to a peripheral, what is the most efficient way to re-build the project? How can I avoid having to re-build the entire project? Sometimes we are developing a peripheral and we have to re-build and test it several times over. In this situation, we don’t have to “Clean Hardware” and re-build the entire project from scratch every time. Instead, we can make use of an option in the . [Read More]

RocketIO FAQ

RocketIO Frequently Asked Questions Here is a list of common questions about RocketIO: What is the best way to get started developing with the RocketIOs? The RocketIOs are very sophisticated devices and require a lot of time to understand and integrate into your designs. Fortunately, Xilinx provides many tools and examples to help you get developing faster. Here are our suggestions: Download the Aurora IP core from the Xilinx website. [Read More]

Reference Documents

Here are links to some useful reference documents:

Xilinx
Xilinx University Program Virtex-II Pro Development System
Hardware Reference Manual

Xilinx
XUPV2P Schematics
Complete Schematics for the XUPV2P Development Board

Xilinx
Embedded System Tools Reference Manual
Embedded Development Kit EDK 8.1i

Xilinx
Xilinx Synthesis Technology (XST) User Guide
Describes XST Support for HDL

Xilinx
Xilinx RocketIO Transceiver User Guide
User Guide for the RocketIO Multi-gigabit Transceiver

Integrating a VHDL Design into a Peripheral

Overview This tutorial is similar to the previous one titled: Integrating a Blackbox into a Peripheral however in this case, instead of integrating an .ngc file into a peripheral, we integrate one or more VHDL files. Sometimes we have a VHDL design that we developed in ISE, or some other program, and we would like to bring it into the EDK as a peripheral. In this tutorial, we will create the same multiplier peripheral as was created in the previous tutorial. [Read More]

Other Tutorials and Examples

Here are links to some useful tutorials and examples hosted on other websites, including Xilinx: Xilinx EDK Concepts, Tools, and Techniques A Hands-on Guide to Effective Embedded System Design Xilinx Creating an OPB IPIF-based IP and Using it in EDK Adding Custom Logic to an Embedded Design Xilinx Using the RocketIO Controller in Virtex-II Pro for Frequency Multiplication An example design similar to the Oscillator example on this website Digilent [Read More]

Create a Simple Timer Peripheral

Overview In this project, we will add code to a peripheral template generated by the Peripheral Wizard to create a simple timer. The timer peripheral will be used by the PowerPC to make the LEDs flash with a fixed period. Figure: The Timer peripheral The timer will use two registers, one to store the delay period and the other for starting, stopping and checking if the timer has expired. We will call the first register the delay register and the second register the control register. [Read More]