Forum Discussion

Rmc_Arira's avatar
Rmc_Arira
Icon for New Contributor rankNew Contributor
5 years ago

Can't access Jtag error

I am using a MAX 10 device: 10M04SCU169C8G

I used Quartus 17.0 to synthesize and build the FPGA

I have tried using the stand alone programmer versions 17 and 18.

I have tried two different byte blasters.

I have tried on three different computers, all of which have successfully configured Intel/Altera FPGAs in the recent past using the Byte Blaster

When I connect the Byte Blaster and do an "Auto Detect" it properly identifies the part. I have examined the JTAG signals with a scope and everything looks good.

When I try to do any programming operation, including "Blank-Check", I get :

Error (209040): Can't access JTAG chain

A little more background: I work for a company that does contract work. Normally I would be the engineer who did the initial board bring up. For this client, however, they wanted to do the initial bring up and came back to us only when there were issues they couldn't deal with.

The client obviously was able to program the FPGA as it has at least some functionality. There is a 'heartbeat' LED that is blinking in the expected pattern. The FPGA controls other power supplies which have properly sequenced up. So the MAX 10 obviously programmed properly at least once.

In searching this problem I spotted forum messages regarding the use of JTAG pins as general I/O. I actually didn't know I could do that! I am certainly not using any of the JTAG pins as I/O and they do not have any assignments in the .qsf file. The JTAGEN pin is pulled high.

I have tried programming with both the .sof and .pof files, same result.

When I attempt to program or blank check the programmer starts with:

Info (209060): Started Programmer operation at Fri Jul 10 16:19:28 2020
Info (209017): Device 1 contains JTAG ID code 0x0318A0DD

It obviously can communicate with the MAX 10 device as it is able to auto detect it and it can read the JTAG ID code.

Why can't it program/configure the part?

There is one possibility that I have been trying to research but I haven't figured out just yet, and that is the Security Bit. I have never used this option. As I don't know for sure what the client did when they initially loaded the .pof file it is possible that they set this bit.

If the security bit had been set, would it explain this behavior?
If so, how would I unset the bit?

Any other explanations?

Thank you

Rod

8 Replies

  • Rmc_Arira's avatar
    Rmc_Arira
    Icon for New Contributor rankNew Contributor

    Can anyone help on this?

    I read other posts regarding the same error message and some indicated that the USB driver was to blame. I don't understand how the USB Blaster can read the JTAG ID code and still fail, but I tried uninstalling the existing software (including uninstalling the driver associated with the USB device) and then re-installed version 20.2.

    Same symptoms. The device will auto detect but fail to do anything else.

    • NurAiman_M_Intel's avatar
      NurAiman_M_Intel
      Icon for Super Contributor rankSuper Contributor

      Hi,

      Thank you for contacting Intel community.

      Apologize for the delay in response.

      Some device might not support blank check. You may try to program the device without blank check, it should work.

      Thanks.

      Regards,

      Aiman

      • Rmc_Arira's avatar
        Rmc_Arira
        Icon for New Contributor rankNew Contributor

        I tried just programming. That was the first attempt. Clicking on "Blank Check" was just a test to see if anything worked. I figured that if there was a problem with the POF file blank check should still work.,

        I am stuck here. Our client has ten prototype boards that they need to get operational. Once these have been tested they wanted to be in large scale production by the end of the year but that isn't looking promising if I have to re-layout the board to design in a different FPGA.

  • Hi,


    CRC-Error open drain has dual purpose pin which are pull up(enable) and pull down(disable). Intel recommends you to tie the CRC_ERROR pin to VCCIO, GND, or leave the pin unconnected when the CRC error detection circuitry is disabled or when you are not using the CRC_ERROR pin.

    https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/dp/max-10/PCG-01018.pdf


    You can try to go to Quartus -> Convert programming file -> Advance -> Tick both boxes ( Disable EPCS and disable AS mode).


    Regards,

    Aiman