Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.
18457 Discussions

Quartus Programmer Behavior with SoC Device

RandyR
New Contributor I
317 Views

I am using a Terasic DE10-Standard board containing a CycloneV SX device.  So far all projects are just using the FPGA fabric, and not the ARM subsystem.

After creating a new Quartus project and banging out some Verilog (all in the GUI), the programmer is launched.  The programmer open with a single "device" shown, 5CSXFC6D6F31.  Programming fails since the SoC portion of the part is also in the JTAG chain.  So, hit the auto detect button, enter the correct value for device 2 (5CSVFC6D6), and the graphic shows to parts - SOCVHPS followed by 5CSEBA6.  Assigning the programming to the non-SoC device file results in a third "device" in the chain, the original 5CSXFC6D6F31.  Still cannot program, first must delete the 5CSEBA6.

After all those steps, all is well.  And, saving the programmer configuration file sorts this out, as subsequent programming episodes open up the programmer with the correct setup.

Why does Quartus not initially recognize that there is an SoC in the chain?  And, why do I have to delete a device in the chain after adding programming file?  

Shouldn't this just work?

Cheers

0 Kudos
1 Solution
YuanLi_S_Intel
Employee
304 Views

Hi Randy,


I am glad that it works for now. Yes, the reason is because you were putting 1 programming file while having 2 device in the programmer. Thus, you will need to delete the other devices and put the bitstream into the device that it is intended to be programmed.


Thank You.


Bruce


View solution in original post

2 Replies
YuanLi_S_Intel
Employee
305 Views

Hi Randy,


I am glad that it works for now. Yes, the reason is because you were putting 1 programming file while having 2 device in the programmer. Thus, you will need to delete the other devices and put the bitstream into the device that it is intended to be programmed.


Thank You.


Bruce


View solution in original post

RandyR
New Contributor I
230 Views

I would like to review this again, but ask the question differently.

For a CycloneV design, I want to program the FPGA fabric using a .sof file.  Since the specific device is defined in Quartus, and the .sof file must contain the specific device ID, why can't Quartus programmer recognize the fact that there is an HPC block, and that the second device in the chain (FPGA fabric) is the correct device?

1)  Is there a way to add a device to the Select Device window that opens after pressing the Auto Detect button in the Quartus Programmer GUI?  

At this point I select the 5CSXFC6D6 device (closest to my 5CSXFC6D6F31).  But, when I add a file, a third device is added to the chain.  

RandyR_0-1608657461622.png

Why can't the programmer 

1)  recognize the correct device?

2)  allow me to select the correct device from the Select Device window?

3)  simply change the selected device to the correct device when the file is added?

Bottom line, why all the added steps when using a CycloneVSX device?

Thanks, Randy

 

Reply