Note that I'm not using the intel/altera recommended external flash device in my project, I m using something similar from different manufacturer.
Is instantiating the Serial Flash Loader IP inside my Verilog top level module mandatory or is there an other method available as well to do the same?
The idea behind trying this external flash device is, after power cycle the FPGA gets configured by itself using the pre-loaded fpga programming image available in the external flash.
If you are using Serial Flash Loader IP in your design, you must use intel/altera recommended flash. Otherwise, we wouldn't guarantee different manufacturer flash will work with our IP.
However, if you want to use different manufacturer flash in you design, I suggest you to migrate to Quartus Prime 18.1.1 and above.
In Quartus Prime 18.1.1 and above, you can use:
- Generic Serial Flash Interface Intel FPGA IP - get access to 3rd party flash
- Generic Flash Programmer - Create custom 3rd party flash and program to the FPGA (refer below Picture)
I hope this will help.
Hello, Thank you so much for the response. I will try this out. Could you please also let me know if instantiating the Serial Flash Loader IP in my top level Verilog file is mandatory? In other words, can I just program the external flash device using the .jic file through the JTAG interface and FPGA and USB blaster II (without worrying about instantiating the serial flash loader IP)?
Instantiate the Serial Flash Loader IP is not mandatory IF you not accessing the flash (write, read or erase some portion of the flash).
Yes, you no need to worries about instantiating the serial flash loader IP if you just do normal programming jic file.