Experiment 2

This experiments is mainly an introduction to the CAD tools which will be used throughout the whole semester. Your first task is to simulate and implement a circuit prepared by the instructor. All the files necessary to perform the experiment are available here. This archive should contain:

Perform the following:

  1. Simulate the circuit on the behavioral level using Active-HDL. Change the test bench (only timing issues) so that you will be able to see at least three different combinations of control signals, and observe at least four changes on segments signals per one combination of control signals as shown below.
  2. Simulation Waveform

  3. Synthesize the code in FPGA Express (Xilinx OEM), or if you get mysterious errors try Synplify PRO. The circuit is going to be run on the FPGA board, therefore target it to the XC4010XLPC84 device. Use the UCF file provided by the instructor.
  4. Check thoroughly implementation reports. Pay attention to pin allocations.
  5. Set the clock frequency on the FPGA board to 1MHz.
  6. Download your bitstream (.bit file) to FPGA board using XESS software.

Reverse engineer the code and identify all components that constitute the circuit. Plot a clear block diagram of this circuit.

Your second task is to design and implement a similar circuit that uses the LED decoder designed during the experiment 1. Implement a 4-bit counter which counts up or down depending on the state of a user input (from a parallel port on the FPGA board). The output of this counter should be decoded by your LED decoder and displayed on the 7-segment LED.

Perform the following:

  1. Simulate the circuit on the behavioral level using Active-HDL. Your test bench should allow counting up and down for full counting cycle (all 16 values).

  2. Synthesize the code in FPGA Express (Xilinx OEM), or if you get mysterious errors try Synplify PRO. The circuit is going to be run on the FPGA board, therefore target it to the XC4010XLPC84 device. Prepare your own UCF file with pin allocations according to the XS40 board documentation.
  3. Check thoroughly implementation reports. Pay attention to pin allocations.
  4. Set the clock frequency on the FPGA board to 1MHz.
  5. Download your bitstream (.bit file) to FPGA board using XESS software.
  6. Your circuit should show counting up and down slow enough to observe it on LED. Make sure to slow down the on-board clock. Use first part of this experiment as a reference.

In the lab report include:

  1. Block diagram of the circuit given by instructor. This task requires reverse engineering of the VHDL code.
  2. Short description of your understanding of the circuit operation. Can you compute how fast are the changes on the segments signals when 1MHz clock is applied to the entire circuit?
  3. Printout of the circuit sourcecode.
  4. Printout of the test bench that is modified as required.
  5. Output from the functional simulation performed using your changed test bench. Hint: one page is enough.
  6. Block diagram of the circuit displaying hex numbers on LED.
  7. Description of the operation of your circuit.
  8. Printout of the circuit sourcecode.
  9. Printout of the test bench that tests your LED circuit.
  10. Output from the functional simulation for your LED circuit.

Tuesday Thursday
Experiment Date 02/04/2003 02/06/2003
Report Due 02/11/2003 02/13/2003

Please email your suggestions to Pawel Chodowiec, Nghi Nguyen or Kris Gaj.