Programming the Balloon's CPLD is done via its JTAG port, using a Xilinx-compatible dongle. See BalloonJTAGing for an overview of hardware options. The software used is BalloonBinaryLoader

bbl --cpld (if your .bblrc has the correct filename and location configured)

This uses the playsxvf tool, supplied by Xilinx to send the correct bitstream down the JTAG port to the device. The playsxvf sources are included in BalloonBinaryLoader and installed as part of bbl.

The preparation of the vhdl logic into .xsvf file is done with the Xilinx iMPACT tool, supplied as part of their WebPACK See BalloonVHDL for details.

Balloon 3

The device is a Xilinx XCR3256XL (Spartan 3 family). It is programmed using the JTAG port on J12 on the topside of the board.

bbl --cpld (using bblrc settings)

or in full:

bbl --cpld --logicdirectory balloon/svn/trunk/vhdl --logicfile l3image.xsvf

This is now available for both Windows and GNU/Linux, but it is a monstrously large download - set aside an afternoon and 3GB of disk for v9. You have to register to download it.

Balloon 2

The device is a Xilinx XCR3128XL-CS144. It is programmed using the 10-pin connector (J9) on the underside of the board.

The whole process of programming the CPLD using playxsvf is documented in the readme file

There is a gotcha with programming the CPLD on boards which have the audio hardware on them. Because the connections to the audio codec are shared with the CPLD's JTAG pins on Balloon2, the audio hardware much be switched on during CPLD programming. We have a tool to do this, slightly confusingly named balloon-audio-off, which is included with BalloonBinaryLoader, and you can see the readme file at svn:// which describes the whole process.

bbl --cpld (using bblrc settings)

or in full:

bbl --cpld --logicdirectory balloon/balloon2/205g --logicfile 070803_NAND_ground.xsvf

Converter for older Xilinx tools

A simple (windows exe) tool to convert SVF files (ASCII version) into XSVF (binary version) are made available by Xilinx at but we also mirror them on Husaberg at This is needed for use with older version of the iMPACT tool which only output SVF files, not XSVF files.

Balloonboard: BalloonCPLDProgramming (last edited 2009-02-22 21:00:13 by localhost)