Create a Project Using the Base System Builder

Tutorial Overview In this example, we will develop a simple FPGA project using the Base System Builder that includes three peripherals: the RS232 UART and two GPIOs. One GPIO will be used for the DIP switches and the other for the LEDs. We will then use a C program to read data from the switches and write it to the LEDs. The result is that the LEDs will display the DIP switch settings. [Read More]

Generating the Aurora Core

Tutorial Overview In this tutorial, we will generate an Aurora IP core using the Xilinx CORE Generator version 10.1. The Aurora core can be used as a high-speed serial communications link for connecting multiple FPGAs or interfacing to other serial devices. Requirements To generate the Aurora core with CORE Generator, you will first need to register with Xilinx to obtain a license to use the Aurora core. It is a free and simple process that involves accepting a license agreement. [Read More]

Integrating a Blackbox into a Peripheral

Tutorial Overview Sometimes we have an .ngc file from CORE Generator (or some other source) that we would like to bring into EDK as a peripheral. This project is a simple example of integrating a blackbox design into a peripheral generated by the Peripheral Wizard. We will first create a blackbox multiplier using the Xilinx CORE Generator and then we will use the generated .ngc file in our peripheral. [Read More]

Integrating a VHDL Design into a Peripheral

Tutorial 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]

Manually Add a Peripheral to a Project

Tutorial Overview In the previous example, we created a project using the BSB and all of the work related to the hardware design was done by the BSB. In this example, we will create the same simple project, but this time we will add the GPIO for the LEDs manually. This way we will learn the process of adding extra peripherals to our design and we will also better understand the hardware design features of XPS. [Read More]

Microblaze 16x2 LCD Driver

Tutorial Overview In this example, we will develop a driver for the 16x2 character LCD on the ML505/6/7 board. The LCD driver will be mostly a Microblaze design, as opposed to being an IP design. The physical interface to the LCD will be made through a GPIO peripheral. The signal timing requirements of the LCD will be achieved by using a Timer peripheral. The functions contained in the software application will control what is shown on the LCD. [Read More]

ML505/6/7 and XUPV5 Boards

Hardware Details The ML505 Evaluation Platform from Xilinx is a development board for the Virtex-5 FPGA. It contains many useful hardware features including: Xilinx Virtex-5 XC5VLX50T FPGA 10/100/1000 tri-speed Ethernet PHY USB host and peripheral controllers Programmable system clock generator Stereo AC97 codec with line in, line out, headphone, microphone, and SPDIF digital audio jacks PS/2 (2) – Keyboard, Mouse RS-232 port 16x2 character LCD Video Input Video (DVI/VGA) Output DIP Switch (8), LEDs (8), and Pushbuttons (5) PCI Express® Edge Connector (x1 Endpoint) SFP (1000Base-X) [Read More]

ML505/6/7 and XUPV5 FAQ

Below are several frequently asked questions about the ML505/6/7 and XUPV5 boards. Click on the question to jump to the answer. If you have a question about the ML505/6/7 or XUPV5 boards, please contact us at the email address given at the end of this page. What is the speed grade of Virtex-5 on my ML505/ML506/ML507/XUPV5 board? What are the differences between the ML505/6/7 and XUPV5 boards? What is the XUPV5 (ML509) board? [Read More]

Timer with Interrupts

Tutorial Overview In this tutorial we will add code to a peripheral template generated by the Peripheral Wizard to create a simple timer. The peripheral will generate an interrupt when the timer expires. The Microblaze will process the interrupt through an interrupt handler function which gets called whenever the interrupt occurs. In this example, we will make the LEDs flash by using the interrupt handler function to switch the state of the LEDs and reset the timer. [Read More]