CE 433 Spring 2022 Lab 4: Combinational Blocks Taylor Nakai tsnakai@fortlewis.edu
Introduction: In
this lab, we were tasked with using verilog and vivado to create a
two-way traffic light and an one even parity generator (3-bit message
with 1 parity bit). Completing
these tasks will allow us to be more comfortable with using verilog,
vivado, and creating, simulating, and on board verification
combinational logic blocks. Task 1: In
this task, we were tasked with using verilog and vivado to demonstrate
our creation of the two-way traffic light. In order to do this we
needed to create a truth table for all the possible states of one cycle
of the traffic light as shown in Figure 1. Once the truth table was
created we were able to generate the equations needed to implement the
traffice light in verilog, also shown in Figure 1. Once the hand
written part was completed, we were able to use vivado to simulate the
traffic light to determine if the logic was correct, as the code and
simulation is shown in Figure 2. Once the logic was verified we were
able to perform an on board verification to demonstrate the success of
the traffic light shown in Figure 3.,.
Figure 1. Hand written portion showing truth table and associated equations.
Figure 2. The two way traffic light's code and simulation performed in vivado.
Figure 3. Demonstration showing the implementation of the two way traffic light on the Basys 3 board.
Task 2: In this task, we were tasked with using verilog and vivadoto
demonstrate our creation of the one even parity generator (3 bit
message with 1 parity bit) and one even parity checker. Using the code
from a previous assignment, we were able to implement the system.
Figure 4 shows the code and simulation of the one even parity generator (3 bit message with 1 parity bit) and one even parity checker in vivado. Once the logic was verified we were able to perform an on board verification on the basys 3 board as shown Figure 5.
Figure 4. The one even parity generator (3 bit message with 1 parity bit) and one even parity checker's code and simulation performed in vivado.
Figure 5. Demonstration showing the implementation of the one even parity generator (3 bit message with 1 parity bit) and one even parity checker on the Basys 3 board. Discussion: By
completing this lab, we were able to gain more comfortability working
with verilog, vivado, and combinational logic block. We were able to to
gain more experience creating combinational logic blocks, on board
verification, using truth tables to generate the logic equations needed
to implement the system. I think this was a great lab emphasizing the
importance of combinational logic blocks. I believe that these skills
will be useful in the future. Overall, this lab was interesting and I can't wait to learn more.