Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

Programming files huddle

Altera_Forum
Honored Contributor II
1,596 Views

Hello, 

 

I am using Altera FPGAs and Quartus II for about one and a half years. I finished two own projects with it and I am responsible for the maintenance of an other two. 

 

In my own projects I always used the .sof and .pof programming files to program either the FPGA directly or it's configuration device EPC8. These files I understand pretty good and can use them (after two weeks of research that our EPC8 uses fast passive parallel programming mode which I had to set up in the convert programming files dialog). 

 

Now, the projects I have to maintain always used a .jbc file as programming file. Our guys in the production department just want to use these files because they are used to them. Okay, I thought, then I go to the create/update dialog in order to build these .jbc files from my .pof files. But I am not able to create a working .jbc file out of my .pof. 

 

I go to the programmer in Quartus II, connect my USB-Blaster to my device and the computer, auto-detect the devices, apply my (working) .pof and .sof to the according devices, check all checkboxes for the actions I want to be performed (programming, verify, etc.), go to the create .jbc dialog, chose a filename and a directory and click create file. After a while it says that the file creation was successful.  

Now, when I try to use this just created .jbc file with the command line tool quartus_jli I always get an "error 10: programming failed" message. That's it. 

When I try to program an old .jbc file which was created years ago by a former collegue, it works . . .  

Now, what is wrong in the way I create my own .jbc file? I read in the documentations that my way is correct. But finally it does not work. 

 

Additionally, why are there so many different programming file formats, at all? I understand the difference between .sof and .pof, but when it comes to .jam, .jbc, .svf and .ivc files, I can't see reasons for all the different files . . . . 

 

Maybe someone can help me to clean this huddle up (and provide a working way to create this .jbc file for my production guys). 

 

Thank you, 

Maik
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
772 Views
0 Kudos
Altera_Forum
Honored Contributor II
772 Views

Okay, what I read in this document is more or less the same that I already read elsewhere. In fact it does not say much about the .jbc, at all: 

 

jam byte-code file (.jbc) 

a jbc file is a binary file of a jam file in a byte-code representation. jbc files store  

device programming information used to program, verify, and blank-check one or  

more devices in the quartus ii or max+plus ii programmer or in an embedded  

processor environment. 

f for more information on creating jbc files, search for “jbc” in quartus ii or  

max+plus ii help. 

 

I already read the "more information" about creating the JBC file in the Quartus II help. But, as I described in my opening thread, it does not work, and I don't know why. The only information I have is that the creating of the file was succrssful, but during programming I get that "error 10". 

 

If there is somebody out there who is able to succesfully create a jbc file (out of a .pof or .sof), maybe he would be so kind to write down step by step what he is doing. . . .  

 

Regards, 

Maik
0 Kudos
Altera_Forum
Honored Contributor II
772 Views

You should try to convert the pof or sof file into the jbc file by using the Quartus version that was used to create that pof file. I've never done such kind of conversion up to now, but I'm afraid about a version mismatch which could generate some problems in the conversion. 

It's just a clue... 

 

Cheers. 

OD
0 Kudos
Altera_Forum
Honored Contributor II
772 Views

I was wondering if there has been a solution yet... 

 

I got a similar issue: having compiled an .sof in my QuartusII 10.1 and JTAG programming (or better configuring) with the same release my EP3C10 Cyclone succeeds: 

 

-- 

Info: Configuring device index 1 

Info: Device 1 contains JTAG ID code 0x020F10DD 

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

Info: Successfully performed operation(s) 

-- 

 

But neither 'Create/Update jam/jbc/svf...' nor quartus_cpf generate an 

.jam file that successfully configures the FPGA, JTAG output is:  

 

-- 

Info: Programming status: Device# 1 IDCODE is 020F10DD 

Info: Programming status: configuring SRAM device(s)... 

Info: Programming status: Device configuration failure 

Error: Operation failed 

--- 

 

Also the JTAG waveform shows some difference: 

- .sof case: nSTATUS goes high from pulsing before, CONF_DONE ok 

- .jam case: nSTATUS continues pulsing, CONF_DONE not ok 

 

It seems that the conversion .sof -> .jam lost some crucial configuring. 

 

Also a 'quartus_cpf -c my.cdf my.jam' did not succeed. 

 

Does anybody know what the difference in the sequences could be and how to mitigate it? 

 

Thanks, 

Seb.
0 Kudos
Reply