Some Basic Questions for Newbs
Hello,
My team is very new to this platform. I was hoping if people wouldn't mind answering some basic questions so that we don't waste our time researching solutions that don't exist.
I am the test engineer, not the ultimate programmer of this system.
We inherited a system built around a Cyclone10 + 1Gb flash. We have a JIC file that I use with the Quartus comment line to JTAG to new devices. Once this is done, the image contains code/IP that allows us to update secondary images through a USB interface on our system (That is, we only use Quartus for the initial JTAG, not for any subsequent flash updates).
Using Quartus 21.1 (I believe)
The JIC is 128MB, and takes 3+ minutes to program. Apparently the entire flash is written, and mostly it's set to 0xFF to erase what was there. We were told this was done to ensure the device is clean when running JTAG, sort of like a reset.
As I am in charge of the initial factory programming, I know which boards have not been programmed, and in that case I don't need to write the entire flash.
When I ask the programmers if they can "shorten" the JIC, or only write a portion of it (around 12MB), they are unsure. They are only working with rbf/rpd files, and have no experience producing a JIC for initial JTAG.
Since I call the command line programming tool, I know that the JIC must contain a lot of the necessary parameters for programming, since basically I just point to it and the programming device.
So here are the basic questions:
1) In general, do we need to erase/initialize the entire flash on a new flash/FPGA? I suspect that was only done to make sure any old versions/data was erased during initial development. But that was set up by a vendor that doesn't exist anymore.
2) If that's not necessary, can the programmer command call be modified to only program the necessary portion of the JIC? I think this might save several minutes of time.
3) Can the JIC be edited to change the amount of data programmed?
We need to learn how to handle all this internally, but it would be helpful to know if these things are possible, so we don't waste time chasing them.
I appreciate any help, even simple Yes/No answers, but of course, letting me know what words to search for or even manual pages would be very helpful. Thank you!