Could someone check out my use of the quartus_pgm command? I have one Arria V FPGA on the JTAG bus. Its .sof image is supposed to have code that would allow me to program a serial configuration device.
To program the blank Arria V, I use this command:
$ quartus_pgm -m jtag -o p;soffile.sof
To program the loaded Arria V's serial configuration device, I use:
$ quartus_pgm -m jtag -o p;jicfile.jic
$ quartus_pgm -m jtag -o pi;jicfile.jic
$ quartus_pgm -m jtag -o pvbi;jicfile.jic
Don't worry about shell escapes for the embedded ';', I am using fork and exec so no shell sees the arguments to quartus_pgm.
My USB-Blaster is Rev C. My OS is Ubuntu 18.04.
Please let me know how to get the .jic file into my flash device using Linux.
Hi JHatt7 ,
Have you try program your .jic file using Quartus Programmer? Is it working?
Based on your attachment .txt, you got an ERROR ID. This error mean the Programmer cannot communicate with JTAG chain.
There are several reason for this:
- the board is not powered on
- the programming hardware is not connected
- OR there is a problem with the board, such as a short circuit.
Kindly tried program your .jic file with Quartus Programmer.
And let me know the result.
I am confused with what software I can use to 'try program your .jic file using Quartus Programmer ...'
I presume you want me to use the Microsoft Windows operating system. This this correct? I have access to one of these and presuming I am correct, I now have a software selection of products that are available for this platform that are similar to but not the same name as 'Quartus Programmer'.
I see three flavors of Quartus Prime Standard Edition: Pro, Standard, and Lite. Do any of these meet our needs for what you would like me to do?
I am informed from my IT group that the Quartus Prime Standard Edition Lite does not require a license. Would this meet our needs?
Quartus Programmer tools come with Quartus software. Quartus Programmer tools allows you to program and configure Intel FPGA.
You also can download the stand-alone software of Quartus Programmer tools from Intel FPGA website ( http://fpgasoftware.intel.com/18.1/?edition=standard&platform=windows&download_manager=dlm3 )
Below is Quartus Programmer tools looks like:
You can try program your .jic file using Quartus Programmer first.
And let me know the result.
As can be seen in the image below, I was able to program my .jic file into my serial flash! Thank you for helping me with the required Windows software!!!
The programming took about 6 minutes. Is this normal?
I now know that I do not have a problem with my CCA or my .sof image or my .jic image. Now, how do I load the .jic file using Linux? I test and program my CCAs through an automated Perl script on Linux.
I can load my .sof image without a problem using quartus_pgm. So how do I load the .jic file from the Linux command line?
To WolfGang or to anyone else who may know, I need to program my serial flash with Linux commands. How is this to be done? Can this question be escalated to someone who knows the answer?
Since you able to program it with Windows version, I dont think you have an issue with .jic file/broad issue. Thus, I suspect it might be your Linux administrator is the issue here.
Have you tried to download Quartus Programmer (linux version) into your linux system? - (just for your experimental test only)
Did you able to program .jic file with Quartus Programmer (linux version)?
Yes, I too suspect the Linux administrator. Since that is me, I admit that my feet are made of clay and I make mistakes all the time.
If you refer to the initial question on this thread, you'll see the commands I use in Linux and also their options which I pulled from the Linux documentation.
Reviewing my original complaint, I can use quartus_pgm to program the .sof image, but I get errors attempting to program the .jic file (see the attached text file in the original question). I believe that the Linux code is properly installed since it works just fine with the .sof file. So after finding and borrowing a Windows machine, loading Windows software, I see that Windows programming works. With addition of the important detail that my .jic file works on the target hardware (an important and worthwhile expenditure of effort); I am back to where I started in this thread. I don't have Windows. I have Linux. My automated program to load these circuit cards is on Linux.
Do you know of ANYONE inside Intel or Altera that might be able to help here?
I'm apologize I didn't know who can help regarding this Linux issue.
I found something that might be help you. You can try it out. let's me know if it is working.
Thank you for your attention, but the link you provided me was for someone who wanted to read back a .jic file. I want to write one. Additionally, the person's complaints were against the 16.0.2 version of the software. I am running the 18.1.0 version.
Do you have a way to escalate this issue within Intel? Could you recommend a different support mechanism other than this "Community?"
I'm apologize for not being so clear to you.
What I meant was you can try to program Chain Description File (.cdf) file instaed of .jic file.
I not sure whether it will work or not, but you try it on your design.
If you want to escalate this issue, you can reach out to your local Field Distributor.
They will help you to file the request via Intel® Premier Support (IPS).
I apologize for the inconvenience.
Since I am not attempting anything immoral, illegal, or even fattening; I really thought Intel would have a ready answer for my very simple question. There is documentation on what arguments to provide the Linux program. I used them. They don't work. I ask why not and cannot get an answer through "Community."
Yes, I created a .cdf file using Windows tools, edited the file name, and used it on Linux. It too breaks.
So, you are telling me that if I were to pay for Intel Premier Support, I may get an answer. My first post was on September 17. Today is October 7. This "Community" help has been a waste of my time.
I'm apologize for inconvenience.
This is not a often issue that we see in Linux. It's take time to debug what is actually happening here.
Have you tried program .JIC using Quartus Programmer GUI in Ubuntu? (Do you have same issue?)
Have you tried using other Ubuntu version?
And, have you tried .jic file using Command Line ($ quartus_pgm -m jtag -o p;jicfile.jic) in Windows? (can you program it in windows?).
I am not running a GUI on Linux. This procedure is to be AUTOMATED. GUIs are for humans and are not conducive for automation. Also you assume this procedure will be run from a GUI. The test procedure I wrote for my CCA must also be able to be run from an ssh(1) session. Whether I am able to program my .jic file from GUIs on Mac, Windows, or Linux is at this time irrelevant. We got the information we needed from the Windows machine's GUI. That experiment told us that the CCA is OK. Do you know the step by step procedure the Qaurtus Programmer uses on Windows?
How do I do the same trick in Linux?
You asked if quartus_pgm ran on the Windows machine. Where are we going? Back to Windows? I am interested in a Linux command line interface (CLI) solution.
Yes, I understand your concern to follow procedure of your project to be Automated.
My intention asking you to do 3x experiment above because I want to understand the root cause of this issue. Whether this issue come from Command Line or Quartus Programmer in Linux or etc2.
As you never told me whether you have tried program it using Quartus Programmer GUI in Linux or not. Please screenshot and attach the error message if you got any.
What do you mean by " the step by step procedure the Qaurtus Programmer uses on Windows”? Do you mean step by step to program using Command Line in Windows?
“You asked if quartus_pgm ran on the Windows machine.”
I just need to understand whether you have any issue using quartus_pgm in Windows.
Can you give me a link to the Linux GUI that you want me to load? Will it interfere with the software already loaded on that machine?
On the Windows machine, where in the Windows file system does the installer place the quartus_pgm. I need to look for it. You assume that it would take the same arguments that Linux took.
On the step by step procedure of Quartus Programmer, being inside Intel, you must have access to some of the design documents for Quartus Programmer. Perhaps from the theory of operation document, you can see that when Quartus Programmer has a .jic file to program into the serial flash; it first calls A, then runs B, and then makes a call to C. Also I would presume that there might be a log file somewhere that can document the conversation the software has with the Blaster. Do you know where this might be?
Thank you for following up with me. But I cannot help but think that the author of quartus_pgm would be able to solve this mystery in about 3 minutes. Can you contact this person?
I found QuartusProgrammerSetup-188.8.131.525-linux.run. I ran it on my Linux machine. It recognized that I already had 18.1 installed. Would I like to update? I said yes. At the end it launched the System Console program. See the attached image. I was also able to run previously working test code after the update.
Do you know what this program is supposed to do? I pressed the Load Design ... button and it let me browse for .sof files. I saw no options for .jic files. After I chose a .sof file, it did nothing. Is System Console what you want me to run on Linux?
Below picture is the Stand-Alone software that I want you to try.
If you have any error massage when open this software, please refer to following KDB/workaround:
This is Quartus Programmer GUI looks like in my Linux (Red Hat (Santiago)):
If possible, can you try to reinstall your Quartus Programmer in your Linux? (I know you already have Quartus Programmer 18.1 in your system)
System Console: Usually we use System console as an FPGA system debugging tool OR we use to read/write Avalon-MM salve using Master.
Below is example on how we can use System Console in our design/project:
Intel has many things called Quartus and both products and concepts related to Programmer. You kept asking me about Quartus Programmer and running the GUI on my Linux machine. I thought that running the installation tool for Quartus Prime Programmer and Tools would launch the GUI you were interested in. It is just that this Quartus Prime Programmer and Tools GUI calls itself System Console.
But watching your youtube video (the audio is awful), I see this man launching something and he gets a GUI that looks similar to what you have posted and the Windows version of the same.
So I looked around in the installed software and found quartus_pgmw. I launched it. Now I have a programmer window that looks like the Windows program.
The next time you tell a customer to run something, be specific. I need to know to run: <installed dir>/intelFPGA/18.1/qprogrammer/bin/quartus_pgmw. This is what I need to run, not Quartus Programmer. Quartus Programmer is too ambiguous.
As can be seen above, I was able to go through the same steps as I used on Windows. However, I get the same Linux errors.
The errors are the same as what I see using the Linux CLI commands.
As per your diagram above, you were able to program your .jic file into your flash even though you have Error (209040).
(Info (209061): Successfully performed operation(s)) = indicate your program are successful.
After power cycle, did your program loaded correctly into FPGA? (using Quartus Programmer Linux GUI)
Remember that the image passed along to you, I had over 1,600 reported errors. After a power cycle, my program did not load correctly into my FPGA. There is an LED on the CCA that should come on if correctly programmed. After the errors, the serial flash part seems fouled.
I've gone back to the Linux CLI commands. After all, this is where I need to wind up if my procedure is to be automated. I see the same errors with the quartus_pgm program.
However, using the CLI command I get a success rate of about 75%. I also find that if I immediately retry after a failed attempt, I have a high probability of success. Each run takes about 5 minutes. Therefore, collecting statistics devours wall-clock time. I've written a Perl script to run for a few hours. We'll see how this comes out.
I have access to a Windows machine. I downloaded Quartus Prime Software and wanted to execute it since there seems to be a lot of Windows examples in your documentation, but few with Linux. However, I have no license. We are in the role on this project as manufacturer. Our images are provided to us from the customer. So I am stuck with an .sof and a .jic file.
Can you get for me a temporary license so I can run the Quartus program on Windows? Also, you say Quartus Programmer. I see a download for Quartus Prime Software. Is there a difference? Which should I use?
Setting aside all other considerations, which quartus_pgm option should I be using to load the .jic file on Linux? I need to stop guessing.