Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20689 Discussions

Quartus Programmer (quartus_pgmw.exe) 15.1 build 185 Failure to Function on First Attempt

scott2j6
Beginner
2,217 Views

Hey Everyone!

First Time Posting Here, So I am sorry if it is on the wrong board.

I am using Quartus Prime 2 15.1.0 Build 185 10/21/2012 SJ Lite Edition (No Patches Installed)

Dealing with a weird Programming issue...

For whatever reason, When I program the device (MAX10 FPGA), it usually fails on the first attempt, but will pass on the second attempt.

I have tried multiple (custom designed boards) and I don't think it is a hardware issue. 

I have tried multiple different programming options:
Program/Config (Only)
Program/Config & Verify
Program/Config & Verify & Blank Check

It doesnt really seem to matter. 

Anyone have a similar experience?

Spec Info:
Programmer - USB Blaster (verified working)
Device - 10M02SCE144
2021-02-11 13_39_25-ATSMain_JTS2.xls  [Compatibility Mode] - Excel.png2021-02-11 13_41_55-Quartus Prime Programmer Lite Edition - [Chain1.cdf]_.png2021-02-11 13_43_09-CopNetServerLibrary.png

0 Kudos
12 Replies
sstrell
Honored Contributor III
2,202 Views

I usually do an auto detect (click the button) before trying to program any device.  I've found that the enumeration of the JTAG chain is not often done correctly when starting the Programmer, so doing an Auto Detect (and choosing to overwrite the .cdf if asked) does the trick.  If the auto detect asks you to choose a device, you don't necessarily have to choose your exact device because the device will get set correctly once you select your programming file.

0 Kudos
scott2j6
Beginner
2,178 Views

Hi sstrell, 

Thanks for the response.

Unfortunately, I dont think this is the same issue because I am able to program the board on every 2nd attempt without rerunning the programmer software.

Example:
Attempt1 = Failure.
Attempt2 = Pass.
Attempt3 = Failure.
Attempt4 = Pass.

And the cycle will continue. 

0 Kudos
JohnT_Intel
Employee
2,187 Views

Hi,


I would recommend you to disable the "blank" check as the Quartus programming will always performed full erase before programming. This will resolved the issue regarding the 1st programming failure.


0 Kudos
scott2j6
Beginner
2,177 Views

Hi JohnT_Intel,

Thanks for the response.

I have tried everything from leaving blank check unchecked, leaving verify unchecked, ect.

Nothing was successful to get the board to program on the first attempt.

I know an erase is done automatically, but the only two scenarios that I can get a successful programming are:

1) run the programming step 2 times.
2) run the erase operation and then the programming. 


Frustrating for sure.

0 Kudos
JohnT_Intel
Employee
2,169 Views

Hi,


Could you provide the log message when you left the "blank" and "verify" unchecked?


0 Kudos
scott2j6
Beginner
2,150 Views

Hey JohnT_Intel,

Attached is a text file of the message log and a screenshot showing the verify and blank check were unchecked.

Strange it verifies regardless? 

 

0 Kudos
JohnT_Intel
Employee
2,135 Views

Hi,


From the screenshot, you do not tick on the "verify" features but the Quartus still performed verify. May I know if you have another system to try and see if you are facing the same issue?


0 Kudos
scott2j6
Beginner
2,116 Views

Hey John,

I have actually tried this on at least 4 other pc's (2 development computers with full Quartus Installed, 2 quality control computers with bare minimum install) and its behaved the same way. 

Is there perhaps a setting in the Quartus 2 application that would change how the programmer interacts with the .pof file? 

Thanks for your time

0 Kudos
scott2j6
Beginner
2,110 Views

Hey John,

I think I was able to figure it out.... well sort of.

Under the Device Settings, I had the option 'Verify Protect' enabled.

scott2j6_0-1613683634820.png


After disabling it, I have been able to program successfully every time. 

I have tried gathering more information about this setting, but I haven't found much to enlighten me on why this setting was causing my issues.

Do you happen to know anything about this?

Thanks for your time

0 Kudos
JohnT_Intel
Employee
2,108 Views

Hi,


This is a security features in Max 10 device which prevent CFM from being read back by user. Please refer to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_config.pdf Chapter 2.2.2.4


0 Kudos
scott2j6
Beginner
2,103 Views

Hi,

Thanks for the link.

That still doesn't really explain the reason I encountered issues programming the board though. 
Does it?

Thanks for your time.

0 Kudos
JohnT_Intel
Employee
2,094 Views

Hi,


The reason is that the verify feature is disable and Quartus Programmer is trying to verify the CFM.


0 Kudos
Reply