So while I’m experimenting with FPGA boards I generally upload a design into them at runtime via a USB-Blaster JTAG cable, and only rarely do I store a design permanently in a board’s configuration device.
Some of the boards I use have two separate connectors for the USB Blaster – one for direct programming of the FPGA and the other for Active Serial programming of an EPCS series flash device. Others have an onboard microcontroller which handle configuration – and then there’s the Vampire 500 board. This has a single JTAG connector and an EPCS4 configuration device, but no immediately obvious means of programming the EPCS4.
With no direct access to the configuration device, programming has to be done from within the FPGA itself. It’s easy to find examples or descriptions of programming an EPCS with a NIOS II SoPC component, but as I discovered a short while ago, there are simpler methods:
(Copied-and-pasted here for convenience, and instructions changed to suit the Vampire board…)
- Open your Quartus project and compile it.
- Select “File>Convert Programming Files…”.
- Select “JTAG Indirect Configuration File (.jic)” as type of programming file.
- Select “EPCS4” in the “Configuration Device” list.
- By default, it will generate a “output_file.jic” in your project folder. You can modify it in the “File name” field.
- In the bottom list, select “Flash Loader” and press on the “Add Device…” button on the right.
- Select Cyclone II and EP2C8, and press “OK”.
- Now select “Sof Data” and press on the “Add File…” button on the right.
- Select the .sof file of your project and press “Open”.
- Press on the “Generate” button.
- Now, open the Programmer (Tools>Programmer).
- Select the generated .jic file instead of the .sof file.
- Tick “Program/Configure” and press “Start”.