ARM Technical Support Knowledge Articles

How do I program the FPGA image on my Versatile Board?

Applies to: Versatile Baseboards



There are some situations where the user wants or needs to re-program the FPGA image on board, for example if the FPGA image becomes corrupted and the system does not behave correctly anymore or if the FPGA image needs to be updated to a newer version.


This Knowledge Article explains step by step the procedure to reprogram the FPGA image using the progcards_usb utility on a Versatile board.

Note: If it is not already installed, the USB Config driver must be installed before attempting to use the progcards_usb utility. The USB driver and information on how to install the driver is provided in the VFCD in the default installation path: 

C:\Program Files\ARM\Versatile\PBA8_HBI0178\3.7\1\boardfiles\usb_debug_driver

It is important to follow the next steps in order:

1. Switch off the board and set the CONFIG switch on board to the ON position.

2. Connect the USB cable from the Host PC to the USB Debug port (on older boards like AB/PB926, EB, or PB1176) or to the "Config" port in the front panel of the board (on newer boards like PB11MPCore, PB-A8, and PBX ).

3. Power on the board. Open a command window and navigate to the correspondent "boardfiles" directory in the VFCD for each particular board. For example, the boardfiles directory for the PB-A8 is located in the following default installation path C:\Program Files\ARM\Versatile\PBA8_HBI0178\3.7\1\boardfiles

4. Run the progcards_usb executable image from the command window C:\Program Files\ARM\Versatile\PBA8_HBI0178\3.7\1\boardfiles>progcards_usb.exe

5. Progcards_usb searches for the board description files that match the config scan chain. All board descriptions matching the first part of the chain are presented in a menu like the one shown below and you can choose the file to use:

C:\Program Files\ARM\Versatile\PBA8_HBI0178\3.7\1\boardfiles>progcards_usb.exe
ARM Development Card Logic Programmer
Version 2.70
Attempting to connect to OCD driver.
Found 6 TAP controllers
  TAP3 ispClock5620
  TAP4 XC2C128
  TAP5 XC2C32A
Several possible boards detected at TAP position 0:-
  0: Quit progcards
  1: PB-A8 (HBI-0178C) build 0
  2: PB-A8 (HBI-0178C) build 1
  3: PB-A8 (HBI-0178C) build 2
  4: PB-A8 (HBI-0178C) build 3
  5: PB-A8 (HBI-0178C) skip
Make a choice:

6. Make a choice from the options displayed above based on the Revision of the board and the build number of the FPGA image that you want to program. In the example above, the latest build of the FPGA has been chosen (option 4, build 3). Progcards_usb runs through the steps required to reprogram the FPGA image.

Note: To bypass programming the baseboard or a Logic Tile, the "Skip" option must be selected from the menu. Then, Progcards_usb looks for board description files that match the next segment of the scan chain. 

Make a choice: 4

Step 1: PLD/SVF download of PBA8\PBA8_HBI0178_ISPCLK_5620_build0.svf
  Progress: 100.00%
Step 2: PLD/SVF download of PBA8\PBA8_HBI0178_CFGPLD_XC2C128_build0.svf
  Progress: 100.00%
Step 3: PLD/SVF download of PBA8\PBA8_HBI0178_CSPLD_XC2C32A_build0.svf
  Progress: 100.00%
Please power cycle the board by pressing the power button twice.
Programming paused - press a key continue.
Step 4: FPGA download of via\fpgavia178c.bit
  Progress: 100.00%, Throughput: 168.00k/s, Frame: 190944
Step 5: Intel flash download of PBA8\PBA8_HBI0178_SB_REVC_XC4VLX40_build5.fix
  Progress: 100.00%, Throughput: 32.54k/s
Step 6: Intel flash verify against PBA8\PBA8_HBI0178_SB_REVC_XC4VLX40_build5.fix
  Progress: 100.00%, Throughput: 106.71k/s, Errors: 0%
Step 7: Intel flash download of PBA8\PBA8_HBI0178_DB_REVC_XC5VLX50T_build2.fix
  Progress: 100.00%, Throughput: 40.27k/s
Step 8: Intel flash verify against PBA8\
  Progress: 100.00%, Throughput: 106.69k/s, Errors: 0%

Programming successful.

C:\Program Files\ARM\Versatile\PBA8_HBI0178\3.7\1\boardfiles> 

7. After the FPGA image has been downloaded successfully with "Errors 0%" as shown above switch the board OFF and slide the CONFIG switch to the OFF position.



Article last edited on: 2009-10-07 12:19:39

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential