Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

Chain description file (CDF) working in Quartus Programmer GUI but not in CMD tools

Hello all!

I am currently using the following method to program and verify a CFI Flash device that's not serially on the JTAG chain:

https://www.altera.com/support/support-resources/knowledge-base/solutions/rd05122014_736.html

This method calls for the use a .cdf file, which I made using the Quartus programmer. This method has worked before, but recently, I'm experiencing new trouble where the Flash device would fail to verify whenever I call up the CDF through the CMD line tool (quartus_pgm) but would pass when I open up the same CDF through the quartus programmer. Here's exactly what I got:

When running through CMD, I failed with the following response:

c:\altera\15.0\quartus\bin64>quartus_pgm -c usb-blaster[usb-0] c:\firmware\fpga_verify.cdf

info: *******************************************************************

info: running quartus ii 64-bit programmer

info: version 15.0.0 build 145 04/22/2015 sj web edition

info: copyright (c) 1991-2015 altera corporation. all rights reserved.

info: your use of altera corporation's design tools, logic functions

info: and other software and tools, and its ampp partner logic

info: functions, and any output files from any of the foregoing

info: (including device programming or simulation files), and any

info: associated documentation or information are expressly subject

info: to the terms and conditions of the altera program license

info: subscription agreement, the altera quartus ii license agreement,

info: the altera megacore function license agreement, or other

info: applicable license agreement, including, without limitation,

info: that your use is for the sole purpose of programming logic

info: devices manufactured by altera and sold by altera or its

info: authorized distributors. please refer to the applicable

info: agreement for further details.

info: processing started: wed oct 19 16:27:31 2016

info: command: quartus_pgm -c usb-blaster[usb-0] c:\firmware\fpga_verify.cdf

info (213045): using programming cable "usb-blaster [usb-0]"

info (209060): started programmer operation at wed oct 19 16:27:39 2016

info (209006): device 1 cfi flash 1 is spansion s29gl01gs (16 bits data bus)

info (209005): programming status: verify on flash device 1 (spansion s29gl01gs)

at device chain position 1

info (209021): performing crc verification on device(s)

error (209048): verify (block 0x03086000-0x03086800) failure on device number 1

error (209012): operation failed

info (209061): ended programmer operation at wed oct 19 16:29:26 2016

error: quartus ii 64-bit programmer was unsuccessful. 2 errors, 0 warnings

error: peak virtual memory: 1033 megabytes

error: processing ended: wed oct 19 16:29:26 2016

error: elapsed time: 00:01:55

error: total cpu time (on all processors): 00:00:22

c:\altera\15.0\quartus\bin64>

When running through the Quartus programmer GUI, however, I would always pass with the following response:

info (209060): started programmer operation at wed oct 19 16:32:32 2016

info (209006): device 1 cfi flash 1 is spansion s29gl01gs (16 bits data bus)

info (209005): programming status: verify on flash device 1 (spansion s29gl01gs) at device chain position 1

info (209021): performing crc verification on device(s)

info (209005): programming status: verify on flash device 1 (spansion s29gl01gs) at device chain position 1 is successful

info (209011): successfully performed operation(s)

info (209061): ended programmer operation at wed oct 19 16:37:28 2016

Trying multiple times, I found that this behavior was repeatable. Does anybody have any idea why this would happen? The CDF file should be good as it works in the Quartus Programmer GUI and it works in the CMD line for other cards in the past. At first, I wanted to think that it was my card that was defective, but it passes via the Quartus Programmer GUI! What an odd contradiction! Any help with this would be greatly appreciated!

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    This may be too simple, but have you tried requesting a list of available programming hardware in the shell? My USB Blaster doesn't always show up as USB-0. I would hope if that was the case the error message would have said so, but it is worth double checking.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Ghogerheiden.

    I did indeed try that and confirmed that the cable name being used in the CMD line matched that from the GUI. An interesting finding was that I don't see this issue on other computers where I tried it, just that one computer specifically. I'm curious to how settings for Quartus could affect the results of a verify like this...I would've assumed that the CMD executable and GUI use the same API? Maybe Quartus needs a reinstall on that computer....
  • YBenO's avatar
    YBenO
    Icon for New Contributor rankNew Contributor

    Hello ,

    I entered to make an automatic test bench of a card, and in the test sequences one makes the download of the program of the FPGA , Mode : Active Serial Program. that it finds in a file (.pof) towards the card, by using the quartus II software , and in the procedure of my test bench, this phase must be automatic, without the intervention of quartus II software, and this is done automatically in labview test sequences.

    I have already worked with the command line on the Mode: JTAG, but I'm blocking now in the mode: Active Serial Program.

    command line: quartus_pgm.exe "-i -c USB-Blaster -m JTAG -o iPv; C: file.jic"

    and I got this error message:

    Error (213012): Specify a Chain Description File

    Error (23028): Unknown argument "(V0.66)\LOG001252_40MHZ_0066_FPGA.pof". Refer to --help for legal arguments.

    Usage:

    ------

    quartus_pgm [-h | --help[=<option|topic>] | -v]

    quartus_pgm -c <cable name> filname.cdf --- If you want to use cdf file

    quartus_pgm -c <cable name> -m <programming mode> -o <value> [-o <value>...] --- If you want to use individual programming file(s)

    quartus_pgm -l --- to display the list of available hardware

    quartus_pgm -c <cable name> -a --- to display the list of devices connected to the cable