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

How do I create Jam Byte Code V1.0 files from Quartus II?

Altera_Forum
Honored Contributor II
1,934 Views

I have a legacy system which uses a V1.0 Jam Byte Code "Player" to program several FLEX10K100A devices on a JTAG chain. I now need to update the firmware in one of the devices. Previously we have issed a new ".jbc" file as part of a software update release which then gets copied into the appropriate place and causes the firmware to be updated on re-boot. However, some time has elapsed, and now we want to issue a field update, we find that the embedded player can not handle jbc V2.0. 

 

Updating the embedded player is a non-starter, it is undocumented, developed by someone who left long ago, and, while we appear to have (some of) the source, we don't have the build tools. 

 

So, we would like to be able to generate V1.0 compatible jbc files to be read by our existing player. MaxPlus2 had an option for which variant was generated, so I have downloaded 10.2 Baseline and tried to do it with that. However, it thinks that the .sof generated by Quartus2 9.0 is corrupt. 

 

The design files have evolved and been modified for use as IP in more recent products, so I want to keep a common, Quartus2 compatible set (e.g. .bdf files in place of .gdf). 

 

Is there a version of Quartus2 that I can go back to that would generate V1.0 .jbc files?
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
593 Views

Hello AndyMcC. 

I wonder have you got the answer to generate v1.0 .jbc file.
0 Kudos
Altera_Forum
Honored Contributor II
593 Views

 

--- Quote Start ---  

Hello AndyMcC. 

I wonder have you got the answer to generate v1.0 .jbc file. 

--- Quote End ---  

 

 

No, I am afraid not. In the end we had to recode our byte player using a more modern version and squeeze it into the original product, which meant porting the application code to a new tool set too, much complicating the update/upgrade process.
0 Kudos
Altera_Forum
Honored Contributor II
593 Views

Hi AndyMcC, 

 

Which version of byte player do you use? Do you get .jbc by convert .jam file? Because I met an issue when i use byte player to upgrade 4 devices in chain, the exit_code is 6, which means "unrecognized device".
0 Kudos
Altera_Forum
Honored Contributor II
593 Views

It's 2.2 if I remember correctly. 

 

.jbc files are created from the programmer 'file' menu. you need to have a .cdf chain file that describes your chain and has the requred programming files associated with the devices you want to program, with the options selected as needed for programming, verification, &c.
0 Kudos
Altera_Forum
Honored Contributor II
593 Views

In my company, we succeded to port Jam byte-code Player to DSP2812 to implement 4*PLD upgrade years ago when using quartus 2.2. 

We did in these way: 

First, compile PLD projects to generate .pof, then make a chain file to include 4 .pof file and created JEDEC STAPL Format(.jam) file by .pof files using quartus 2.2; 

Second, we converted .jam file to .jbc file using jbc.exe v2.2 provide by Altera. 

 

Now we upgrade to Quartus V11, and do it in the same ways with new quartus, but it failed to flash 4*our PLD. The exit code is "6". We compare two .pof file, they are the same. 

Then we compare the .jam files, they have big difference. And I noticed that the jam algorithm versions are different. 

Quartus 2.2: 

NOTE "JAM_VERSION" "2.0"; 

NOTE "ALG_VERSION" "33"; 

 

Quartus 11 

NOTE "JAM_VERSION" "2.0"; 

NOTE "ALG_VERSION" "59"; 

 

Then I use quartus 2.2 to create .jam files with .pof files complied by quartus 11, then it can be upgraded successfully. 

So i think this issue is caused by ALG_VERSION. 

I also create .jbc files directly by quartus, but still can't succeed. Which version of Quartus do you use?
0 Kudos
Altera_Forum
Honored Contributor II
593 Views

AndyMcC, did you succeed to upgrade more than one device in a chain? Can you provide how you get jbc-player code? Because I remember V2.2 jbc player only support to recognize uncompressed .jbc file. And Quartus will create compressed .jbc file when Quartus version is upper than V2.0.

0 Kudos
Reply