Skip to content
Peter Kazanzides edited this page Apr 28, 2016 · 2 revisions

This page documents the procedure for programming and testing the FPGA / QLA boards.

Part I: Set up on Windows and Linux Machines

On Windows machine:

  1. Connect USB/JTAG programming cable from Windows computer to FPGA board
  2. Run "iMPACT 64 bit" as Administrator
  3. Select YES if asked for permission
  4. Open project: FPGA1394Eth-QLA.ipf (Desktop\JHU\Firmware-Rev5\FPGA1394Eth_QLA)
  5. Click OK, Click OK again if Error window pops up
  6. Left click the Xilinx FPGA chip
  7. Double-click "Get Device ID" at the lower left panel to test if cable connection is good

On Linux machine:

  1. Go to programming directory:
     cd
     cd jhu/build/programmer

Part II: Program FPGA EEPROM

Use one of the following two options to program the EEPROM (FLASH) device:

(3 min) Use Xilinx iMPACT

  1. Left Click FLASH chip (M25P16)
  2. Double-click "Program" to burn firmware into EEPROM

(0.5 min) Use Xilinx iMPACT to program FPGA and Linux programmer to program EEPROM

  1. Left click the Xilinx FPGA chip
  2. Double-click "Program" to burn firmware into FPGA (this is volatile)
  3. Connect FireWire cable to FPGA board -- do not power off FPGA board
  4. On Linux machine, run programmer (uses FPGA1394Eth-QLA.mcs)
         ./pgm1394 0
  1. Choose option 1 to program EEPROM
  2. Choose option 2 to verify programming

Part III: Program FPGA Serial Number (Linux computer)

  1. On Linux machine, run programmer (uses FPGA1394Eth-QLA.mcs)
         ./pgm1394 0
  1. Choose option 4 to program FPGA Serial Number
  2. Type in the FPGA S/N
  3. Choose option 0 to exit the programmer

Part IV: Verify FPGA Programming (Linux computer)

  1. Remove USB/JTAG programming cable and FireWire cable
  2. Power cycle FPGA board
  3. Wait for "FPGA Prog" LED on FPGA board to illuminate
  4. Connect FireWire cable
  5. On Linux, type the following; board works if you see two nodes (fw0, fw1):
        ls /dev/fw*

Part V: QLA Programming and Testing (Linux computer)

  1. Connect FPGA to QLA board (record QLA S/N if obscured by FPGA board)
  2. Connect DB9 and SCSI68 cables from QLA to test board
  3. Connect power to FPGA board
  4. Connect motor power supply to QLA board (should be about 15V)
  5. On Linux machine, change to programming directory if not already there (Part I, Linux Step 1)
  6. On Linux machine, run programmer (uses FPGA1394Eth-QLA.mcs)
         ./pgm1394 0
  1. Choose option 5 to program QLA Serial Number
  2. Type in the QLA S/N (recorded in Step 1)
  3. Choose option 0 to exit programmer
  4. Go to directory with test programs:
        cd
        cd jhu/build/tests
  1. Run QLA test program
        ./qlatest 
  1. Sequentially choose options 1-6 to run tests
  2. Choose option 0 to exit test program
  3. Program saves log file QLA_XXXX-XX.log, where xxxx-xx is QLA serial number