Using Your JTAG Programmer

Windows Drivers Instructions:

1.)  To use the USBoomer, you will need to install at least one driver, the Altera USB-Blaster, if not a second, the FTDI FT245R Driver.  If you are using the official Altera USB-Blaster, then you only need the one driver.  If you are using a third-party programmer, consult their manual.

2.)  Newer versions of Windows carry the newest FTDI drivers, and may automatically recognize the FT245R when you plug in your USBoomer.  You may only need to install the Altera driver.  You will know if your FT245R driver is already installed if Windows recognizes the new device as “USB-Blaster.”  If Windows recognized an FTDI device or FT245RL, you will need to install the FTDI driver.

3.)  FTDI drivers for your USBoomer can be found at theFTDI site, specifically this zip file

4.)  The Altera USB-Blaster driver for both your USBoomer andAltera USB-Blaster can be found in your Altera Quartus II directory:   Altera/10.0/quartus/drivers/usb-blaster/   

USBoomer Quick Start: 

1. Connect your USBoomer, USB-Blaster, or equivalent Altera-compatible JTAG programmer into the ISP Connector, J7, on your Amani.

2. Plug your JTAG Programmer into your USB port.

3. Plug your Amani 64 into a power supply of choice.

Amani 64 Jumpers: If you are using power connector J6, you do not need any Power Jumpers, JP1 – JP3, connected. If you are going to use your Arduino to power the Amani, use JP2. The 5V connection on JPower will be regulated to 3.3V on the Amani.

4. If you are using the USBoomerJTAG development board, you should see the PTGT LED lit, indicating the target device, here the Amani, is powered. PUSB should also be lit, indicating your USBoomer is powered by the USB port. TCK and TDI may be lit depending on the state of the programmer.

5. Open the Programmer either by clicking the Programmer button on the menu bar or by menu Tools: Programmer.

6. You should note USB-Blaster [USB-0] should be displayed in the dialogue box next to Hardware Setup.

If the USB-Blaster is not displayed in the dialogue box next to Hardware Setup, you need to force Quartus II to use your programmer. Press Hardware Setup and be sure there is a USB-Blaster or equivalent device in the “Available Hardware Items” window. Select your device in the “Currently Selected Hardware” drop down menu. You should get used to this process as sometimes Quartus fails to automatically load the device. If your device is not an available hardware item, check your connections and drivers.

7. Push the “Auto Detect” button and your CPLD will be JTAG scanned and displayed.

If EPM3064 is displayed then your Amani 64/USBoomer are ready to go.

USBoomer Abstract:

In order to load content on your Amani 64, you must have an Altera-compatible JTAG in-system programmer (ISP).  Altera, the manufacturer of the EPM3064 CPLD used by the Amani, produces two JTAG ISP devices; the Byte-Blaster and USB-Blaster.  While affordable, the Byte-Blaster interfaces with the soon-t0-be obsolete PC parallel port.  The Altera USB-Blaster interfaces with the modern USB port however is highly expensive.  ($300)

An affordable USB-compatable alternative is the USBoomer JTAG Development Board.  Based upon the Altera USB-Blaster hardware design and a modified version Kolja Waschk’s  open-source firmware, the USBoomer performs the same JTAG functions as Altera’s programmer for only $30.  Because the USBoomer is an open-source development board, you may also modify the design and firmware to meet your own needs.

ISP’s are named thus due to their ability to program the logic device while it is embedded in a functional system. This ability allows designers to update and modify their design without major design changes to the host board or system.



USBoomer Hardware

The USBoomer hardware is based upon three stages:  USB communications, JTAG state machine, and JTAG interface/level shifting.  USB communications are handled by the FTDI FT245R USB FIFO.  The FIFO data is converted to JTAG communications via the state machine carried by the EPM3064 CPLD.  The four JTAG lines as well as Asynchronous Serial Mode communications are then buffered and level-translated by the 74HC541.  This last stage takes its power from the target device to be programmed, thus translating the 3.3V signals on the USBoomer to the voltage of the target system.  Your target board must be powered to be programmed.  The USBoomer derives its own power from the USB port.

To be continued…