Configuring the FPGA
To be able to program the FPGA on the development board we need a communication channel from our host computer to the FPGA and a way to transfer programming files to program the FPGA.
Using the Xilinx Platform Cable USB
Up to now the normal way to program the FPGA on the development board would be to use the Xilinx Platform Cable. For more information read the last section.
The integrated solution
On the Spartan-6 LX9 MicroBoard the USB to JTAG circuitry has been integrated on the board in the form of an Atmel AT90USB162 AVR microcontroller. The USB-A board connector connects to a full-speed (12 Mbps) peripheral port on the AT90USB162 device.
Atmel AT90USB162 AVR Microcontroller
.An additional Xilinx Platform Cable connector is provided (J6) for connecting a standard USB to JTAG interface. Both configurations make use of custom Digilent firmware loaded into the AT90USB162 device during manufacture. For more information see the Xilinx Spartan-6 FPGA LX9 MicroBoard User Guide.
A software driver package from Digilent is used in the host computer to facilitate all configuration and data transfer to/from the development board.
Digilent Adept is a powerful application which allows for configuration and data transfer with Xilinx logic devices. Adept 2 is a complete redesign of the original Adept framework. Adept 2 has been streamlined into a single application which expands upon the original Adept feature set. Not only does Adept 2 provide JTAG configuration and data transferring, it also adds board verification and I/O expansion features.
Installing software driversThe software is not activated during a normal installation of Design Suite, but all the software is part of the installation and can be found here:
To install the software we run the install script:
--> sudo ./install_digilent.sh /opt/Xilinx/13.2/ISE_DS/ISE
The Diligent plugin is installed here:
Checking the installation
Let's see if the cable drivers were installed and if we have a working communication to our board. We will use the FPGA device configuration tool from Xilinx called
iMPACT FPGA configuration tool
iMPACT, a tool featuring batch and GUI operations, allows us to perform Device Configuration and File Generation.
- Device Configuration enables you to directly configure Xilinx® FPGAs or program Xilinx CPLDs and PROMs with the Xilinx cables (Parallel Cable IV, Platform Cable USB, or Platform Cable USB II). Operating in Boundary-Scan mode, iMPACT can configure or program Xilinx FPGAs, CPLDs, and PROMs.
- File Generation enables us to create the following types of programming files; System ACE™ CF, PROM, SVF, STAPL, and XSVF files.
iMPACT also enables us to do the following:
--> impact &
- Readback and verify design configuration data
- Debug configuration problems
- Execute SVF and XSVF files
In the welcome window select <Configure device using Boundary-Scan (JTAG)> and automatically connect to a cable and identify the boundary-scan chain.
The tool finds the Spartan-6 device on the board (the only one connected to the boundary-scan chain) and reads out the identity code.
Xilinx Platform Cable USB
Using the Platform Cable USB box is a much faster way to program our FPGA. Let's see if we can get it working.
Xilinx is using Cypress FX2 USB controller in its Platform Cable USB box , these devices are capable of getting their firmware from PC when they got connected to USB port. So, we should prepare the required firmware and firmware loading tool in our Linux system. Here is what we have to do:
Install the fxload package.
--> sudo apt-get install fxload
Install the libusb-dev package
--> sudo apt-get install libusb-dev
Fixing the rules file
Copy the rules file ".../13.2/ISE_DS/ISE/bin/lin64/xusbdfwu.rules" and put the file in the directory: /etc/udev/rules.d
Use lin64 for Ubuntu 64 bits and lin for Ubuntu 32 bits.
Edit the rules file
Edit the rules and make the following changes (see below). Use lin64 for Ubuntu 64 bits and lin for Ubuntu 32 bits.
Use this command to restart udev:
--> sudo service udev restart
Connect the USB cable
Connect the platform cable usb to our system, its lamp should light up, if the lamp is off after connection to computer, it means that firmware has not transfered to the device successfully.
--> impact &
The cable will be detected and the boundary scan chain is identified. We are ready to configure the FPGA.
Top Previous Next