CE 433 Spring 2024
Lab 2: Introduction to FPGA
Sahra Genc
sggenc@fortlewis.edu
LAB 2: Introduction to FPGA
Introduction
The focus of this lab was to build skills with Vivado and FPGA. The
tasks were including to adding design sources, writing testbenches,
running simulations and performing on-board logic verifications. We
coded and verified AND, OR and XOR digital gates and we learned about
volatile and nonvolatile FPGA programming.
Task 1: Go through all the
steps in this lab instruction, report your code, simulation results,
and the on-board verification results.
Figure 1. Module and testbench code for AND gate.
Figure 2. Vivado simulation of AND gate
Figure 3. Testbench code to verify logic on FPGA (same testbench code used for OR and XOR gates)
Video 1. Demonstration showing on-board verification of AND gate with nonvolatile method
Task 2: Use the same procedure to create XOR and OR gates. Run simulations to verify the logic.
Figure 4. Module and testbench code for OR gate
Figure 5. Vivado simulation for OR gate
Figure 6. Module and testbench code for XOR gate
Figure 7. Vivado simulation for XOR gate
Task 3: Use both the volatile and nonvolatile methods (QSPI) to program your FPGA. Show videos for the demonstrations.
Video 2. Demonstration showing on-board verification of OR gate with nonvolatile method
Video 3. Demonstration showing on-board verification of OR gate with volatile method
Video 4. Demonstration showing on-board verification of XOR gate with nonvolatile method
Video 5. Demonstration showing on-board verification of XOR gate with volatile method
Discussion
Completing this lab increased my comfort with Verilog, Vivado, and
FPGA. Getting experince with .bin and .bit files for volatile and
nonvolatile methods was interesting and valuable.