Académique Documents
Professionnel Documents
Culture Documents
The purpose of this exercise was to get familiarized with digital design using the Xilinx
Vivado Software Tools and the Nexys4 Artix-7 FPGA board. A tutorial for implementing a counter
that counts from 0 to 256 was followed, analyzed and deployed in the Nexys4 board. Following
the tutorial, a generic N-bit sequential up-down counter with asynchronous active-low reset, a
synchronous parallel load, and a clock enable was written. The generic up-down counter was then
instantiated as a 4-bit up-down counter in a test bench and tested with different stimuli such as,
testing for up/down count, testing parallel load, and testing asynchronous reset. The test bench was
then simulated in the Xilinx Vivado simulator and the simulation was checked for functional
correctness. After the simulation was checked to be correct, the design was synthesized in Vivado
and the implementation was run. The bit stream was then generated from the implementation and
programmed into the device. The program was then run in the device and the exercise was found
to be successful after verifying the LED outputs against the waveforms in the simulation.
Design Methodology
First, the code for the up counter in the tutorial was analyzed. The code for the up counter
provided two implementations of the clock process one which ran faster and the other which ran
slower. The faster running clock was used to visualize the waveforms in the simulation and the
slower clock was used in the synthesized design, so that it was easier to see the behavior of the
counter. Figure 1 shows waveforms that demonstrates the functionality of the counter for the faster
running clock.
After the tutorial was successfully completed, a VHDL design for an up-down counter was
written. The up-down had a synchronous control signal called UP that would select whether to
count forward by 1 or decrement by 1. Moreover, the counter had an asynchronous active-low
reset and a parallel load signal with a load enable. Figure 2 shows the RTL diagram drawn before
writing the VHDL code.
After the simulation was checked for functional correctness, the circuit was then synthesized
and implemented, and the bit stream was generated and programmed into the device. The program
was then run on the device with various inputs and the LED outputs were matched against the
simulation results to verify the circuit.
Results and Analysis
Figure 3 shows the simulation results obtained from simulating the Up counter in the
Figure 4 shows the simulation results obtained from simulating the 4 bit up-down
counter.
Conclusion
Conclusion
In this exercise, Xilinx Vivado Software Tools were used to design, simulate, synthesize
and deploy counters on the Nexys4 Artix-7 FPGA board. The designed circuits were verified
through simulation in Vivado simulator. By inputting different values in the programmed FPGA
board, the simulation and LED outputs were checked for parity and the circuits were verified to
be correct. Moreover, design cycle of a digital logic unit in FPGA was learned in this exercise.