How to create an XSVF file for programming the Balloon 3 CPLD
The usual way of programming the CPLD on a Balloon 3 board is using OpenOCD, typically via bbl. This requires an XSVF file, which is a representation of the contents of the CPLD as a sequence of JTAG operations to be performed.
The Xilinx development tools produce a .jed file by default. It is necessary to convert this file to XSVF format to use it with OpenOCD and bbl. There are various ways of getting the conversion wrong. This is the method which has worked for Chris J.
The conversion is performed using the Xilinx iMPACT tool. This is how. Please note that it is not necessary to have a Balloon 3 board connected to your computer in order to do the conversion.
- Start iMPACT. Don't allow it to load the last project file, or create a new one, if it asks.
Go to File -> New Project. Answer 'yes' to the question 'Do you want the system to automatically create and save a project file for you?'.
- Select the action 'Prepare a Boundary-Scan File'.
- Choose 'XSVF' from the drop-down list.
- Press OK.
Choose an appropriate name and location to save the XSVF file. The conventional filename is l3cpld.xsvf.
When it asks for a configuration file, find your .jed file and click OK.
- Now, there should be a little Xilinx chip icon in the main part of the iMPACT window. Right click on it and select 'Program'.
- In the Programming Properties dialogue box, ensure that 'Verify' and 'Design-Specific Erase Before Programming' are selected.
- Click OK.
When the blue 'Programming Succeeded' message appears, close the XSVF file by selecting Output -> XSVF File -> Stop Writing to XSVF File.
Your XSVF file is now complete and ready to be used by OpenOCD and bbl.