This semester I have the course “Experiments of Digital Circuits”, the content of which is designing digital circuits using Vivado software, and writing Verilog code. Most of the lab papers require generating bitstream for the project and downloading it to Nexys4 DDR board to verify the functionality. Most of the times we just sit in front of the computer, with the board plugged in, and downloading the bitstream.

The downloaded bitstream is volatile, so whenever the board loses its power, or the “PROG” button is pressed, the program is lost and instead, the out-of-box demo program is loaded from the SPI flash.

Here is Digilent’s tutorial about how to program the SPI flash (i.e. replacing the OOB demo program).