CE433 Embedded Devices
Lab 2
- Introduction to FPGA

Connor O'Keefe
Email: cwokeefe@fortlewis.edu

Introduction
This lab is get affiliated with programming and coding for the Basys 3 FPGA.

Materials and Methods
A school laptop was used, gVim, Vivado, and a Basys 3 FPGA.

Procedure
A full tutorial by Dr. Li was followed while succeeded attempts were achieved.


(a)


(b)
Fig 1. An AND gate module (a) and its testbench module (b) using Vivado.
Fig 1 shows the code for an AND gate to be implimented on the FPGA. The code is exactly the same for OR and XOR gates except the ouput is assigned to a | b and a ^ b respectively.

The code was sunthesized, implimented, and a bitstream was generated and uploaded to the FPGA for the AND, OR, and XOR gates. The following videos are in that respective order.





Programming the board from the on-board memory was demonstrated with the AND gate. Shown below.


Results
The FPGA programming using both volatile and nonvolatile methods were a success.

Discussion
Programming the FPGA with simple gates was more than simple. This lab was intended to become familiar with the procedure and expect failure at first.