CE 433 Spring 2022
Data Storage Tutorial
Taylor Nakai
tsnakai@fortlewis.edu
Introduction:
In
this homework, we were given the tasks of implementing SR Latches, SR
Flip Flops, D Latches, D Flip-Flops, JK Flip-Flops, T Flip-Flops, and
Read Only Memory (ROM) in verilog and simulating in vivado. This was a
great introduction into data storage units.
Task 1:
In task 1, we were given the task of implementing SR
Latches, SR Flip Flops, D Latches, D Flip-Flops in verilog and
simulating in vivado. Once the module and testbench were completed we
were able to run a behavioral simulation to verify the logic. Figure 1
shows the code and simulation of the SR Latch. Figure 2 shows the code and simulation of the SR Flip Flop. Figure 3 shows the code and simulation of the D Latch. Figure 4 shows the code and simulation of the D Flip Flop.
SR Latch:
Figure 1. SR latch code implementation with vivado simulation.
SR Flip-Flop:
Figure 2. SR flip-flop code implementation with vivado simulation.
D Latch:
Figure 3. D latch code implementation with vivado simulation.
D Flip Flop:
Figure 4. D flip-flop code implementation with vivado simulation.
Task 2:
In task 2, we were given the task of implementing edge triggered JK flip flop and T flip-flop in verilog and
simulating in vivado. Once the module and testbench were completed we
were able to run a behavioral simulation to verify the logic. Figure 5
shows the code and simulation of the edge triggered JK flip flop. Figure 6 shows the code and simulation of the T flip-flop.
JK Flip Flop:
Figure 5. JK flip-flop code implementation with vivado simulation.
T Flip Flop:
Figure 6. T flip-flop code implementation with vivado simulation.
Task 3:
In
task 3, we were tasked with constructing a rom memory in verilog. We
were able to read 8-bit binary numbers, 4 hex data, and 3-bit binary
numbers. Figure 7 shows the code and simulation of a rom memory using
8-bit numbers. Figure 8
Figure 7. ROM memory using 8-bit binary code implementation with vivado simulation.
Figure 8. ROM memory using hex number code implementation with vivado simulation.
Figure 9. ROM memory using 8-bit binary code implementation with vivado simulation.
Figure 10. ROM memory using 3-bit binary code implementation with vivado simulation.
Figure 11. Extracting data from the ROM IP core code implementation with vivado simulation.
Discussion:
By completing this homwork, it allowed me to be more comfortable working with SR Latches, SR Flip Flops, D Latches, D Flip-Flops, JK Flip-Flops, T Flip-Flops, and Read Only Memory (ROM).
I liked this tutorial as it allowed us to see the different memory
capabilities available. Overall, I think this homework was a really fun
one and I look forward to the next!
............................................................