due to a shortage of devices we have had to build a run of our product with a Cyclone 10CL025 device where we have previously used a 10CL016 device. We use a host CPU and PS programming method plus we have a process for updating firmware in the field and can distribute the necessary file(s) to our customers so:
Is there any way to either,
detect which type of chip is on the board so the correct file can be downloaded and stored ?
Create one file that will program either chip correctly ?
thanks for any advice
Yes, this is the only to read IDCODE. For your case, differentiate with different ID code is not possible. Probably you can consider using raw binary file as programming file such as RBF for both devices.
thanks for clarifying.
Would there be a commonality between a 10CL016 and a 10CL025 chip ? I mean if a VHDL program was compiled in Quartus for the 025, would the first 16/25ths of the file be the correct program to work in the 016 device ?
I have read a bit about Raw Binary file format but I am currently using the Intel Hex format to download into a seperate Flash memory from which it is read by a host CPU at boot-up time.
It would seem that the Hexout file is compressed as it is about 20% of the size of a RAW file, is this correct ?
If this is the case then is it the PS programming interface (inside the FPGA) uncompress it as it is being written into the device?
The differences between 10CL016 and a 10CL025 is the number of logic element. Higher the no. of logic element, the more the logic in the design that it can be loaded in the FPGA. It should be better to compile the design in 016.
I would say the file format are not the same between both of them. But both of them are meant for PS configuration.
You may refer to link below for more information.