Forum Discussion

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

Cyclone II programming problems

Hi all --

I've built a few PCBs based on Cyclone II FPGAs. Some of these boards, and especially the last, suffer from an annoying problem:

When connecting the FPGA to the JTAG cable, Quartus II detects and correctly identifies the Cyclone II. When I program the FPGA with a sof file, Quartus II shows me this:

Info: Started Programmer operation at Tue Jul 31 16:22:13 2007

Info: Configuring device index 1

Info: Device 1 contains JTAG ID code 0x020B20DD

Info: Configuration succeeded -- 1 device(s) configured

Info: Successfully performed operation(s)

Info: Ended Programmer operation at Tue Jul 31 16:22:15 2007

Very nice. However, the program is not loaded on the FPGA! This can also be verified by the current drawn: when programming the CylconeII, the current consumed goes up by 10 mA, and afterwards it drops again.

At this moment, the FPGA is configured as in Figure 13-25 on page 13-63 of the CycloneII handbook, only the serial ram device has not been soldered on the board. Both MODE0 and MODE1 have been connected to ground. I'm using a USB blaster, running at 3.3V. Pullups are also conected to 3.3V. Only, I'm using 1.2kOhm resistors everywhere, I don't think this can be the cause?

With previous boards, after 10 programming attemps it worked and afer a week of FPGA usage, it worked from the first time. This latest design however does not load at all.

Any comments on this are much appreciated!

Riemer

17 Replies

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

    Hello,

    it would be interesting, which USB Blaster revision shows the error. With revisison B, a ca. 100 ohms series resistor at TCK (there's already a 10 ohms resistor mounted as R14) could also help in many cases.

    Regards,

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

    --- Quote Start ---

    Hi there Dennis,

    First off, sorry for this short mail but we are currently at CeBit so I don't have much spare time.

    I was able to track the problem down by trying to configure the FGPA with an old parallel ByteBlaster instead of the USB blaster. This worked fine, so I looked at the difference between their signals. Seems like the overshoot of the USBblaster is too large, so I placed a small capacitor (I think some tens of picofarads, could be more) between TCK and ground.

    This completely solved the problem!

    Let me know if this works for you as well.

    Kind regards,

    Riemer Grootjans

    --- Quote End ---

    Hi Riemer,

    Appreciate your time to post a reply.

    I've done exactly following your method but the FPGA still failed to configure. Instead, I have my first 2 PCBs that working fine on both JTAG and AS programming. But my 3 PCBs after that were only able to configure through AS but not JTAG at all. I'm wonder what else will be the cause.

    From my observations, the nCONFIG cant be pulled high to VCC (sometimes at the 1.xx V level) when power up the board. CONFIG_DONE has no response at all while downloading through JTAG. nSTATUS sometimes showing a pulse train and sometimes may not.

    Both JTAG and AS showing "Info: Configuration succeeded -- 1 device(s) configured" with no error.

    Hope you able to enlighten me with other posibble solutions.

    Regards,

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

    Hello Dennis,

    from your report, I guess that's a special problem related to your hardware and most likely can't be identified without examining all hardware details (supply voltages, circuitry at all pins affecting configuration). Also an assembly issue or part defect should be considered. I assume, that AS and JTAG configuration actually was using an identical compiled design (sounds obvious, but ain't necessarily so...).

    However, I didn't experience a similar problem with a lot of Cyclone II designs during the last years. If it's caused by JTAG signal quality (particularly ringing TCK), as other reports suggest, this should be seen watching the respective signals.

    Regards,

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

    --- Quote Start ---

    Hello Dennis,

    from your report, I guess that's a special problem related to your hardware and most likely can't be identified without examining all hardware details (supply voltages, circuitry at all pins affecting configuration). Also an assembly issue or part defect should be considered. I assume, that AS and JTAG configuration actually was using an identical compiled design (sounds obvious, but ain't necessarily so...).

    However, I didn't experience a similar problem with a lot of Cyclone II designs during the last years. If it's caused by JTAG signal quality (particularly ringing TCK), as other reports suggest, this should be seen watching the respective signals.

    Regards,

    Frank

    --- Quote End ---

    Hi Frank,

    Thanks for the reply.

    For hardware wise related issues, several attempts had been applied through. For your information, all the PCBs were fabricated at the same time by 1 vendor (means same batch). I also tried to isolate all the supply voltage circuitry and pumped in external supply but still getting the same resuly. I even assembly the board with the mere basic FPGA and JTAG circuitry only with external supply.

    The weird situation is:

    2PCBs have no problem on JTAG and AS.

    3PCBs have no problem on AS but JTAG.

    In conclusion, all the AS is working fine but not JTAG on 3 PCBs. So i cant relate the problems on boards/assembly/chips issue.

    I'll try to capture and compare the screenshot for all the JTAG signals on working PCB vs non-working PCB.

    Regards,

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

    Hello,

    I see, that you have been working very seriously on the problem. However, the issue looks really strange and unusual to me, there must be a simple, understandable reason.

    To my opinion, Cyclone II configuration is rather easy to get along with, e. g. AS configuration memory programming is more sensitive to signal quality issues than JTAG. I can program Cyclone II JTAG with USB Blaster through a 1 meter IDC cable with no problems on all boards, I have ever used. I still wonder, if there is something special in wiring of configuration related pins in your design.

    Regards,

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

    Hi,

    I'm able to solve (or maybe partially solve) the JTAG problem by enable the "Halt on-chip configuration controller" under Quartus II software. This option prevent AS reconfiguration loops from the blank series configuration device.

    I wonder isn't that the main cause of the problem as if not mistaken, JTAG configuration takes precedence over other configurations.

    Further more, my other 2 PCBs have not such symptom with that option turned off. And also, JTAG not working even with the absent of series configuration device, hence "Halt on-chip configuration controller" options should not applicable to it.

    Regards,

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

    Hello Dennis,

    thanks for mentioning the interesting option. I wasn't aware of it's existence, but also didn't experience yet similar problems. If the description given in the Quartus Handbook is correct, I wonder why the option has been almost hidden in options menu?

    --- Quote Start ---

    halt on-chip configuration controller

    Halts the on-chip auto-configuration controller of the FPGA device for AS configuration, or the configuration device for PS or Fast Passive Parallel (FPP) configuration to allow JTAG configuration through a download cable. If you want to configure your FPGA through JTAG

    while the FPGA MSEL pins are set to AS mode, you should halt the on-chip configuration controller if any of the following occurs:

    ● the active serial configuration device connected to your FPGA is blank

    ● the active serial configuration device is not present

    ● an error occurs during AS configuration prior to JTAG configuration

    quartus ii version 7.2 handbook

    --- Quote End ---

    Regards,

    Frank