![]() ece533 | doering | ece labs | ece | rhit |
|
![]() |
Continue gaining familiarity with Digilent D2SB/DIO4 FPGA prototyping board |
![]() |
Design and implement a sequential circuit |
![]() |
Apply principle of pulse-width modulation (PWM) to vary effective intensity of an LED |
![]() |
NC-Sim or ModelSim Verilog behavioral simulator |
![]() |
Xilinx WebPack ISE 6.3 FPGA implementation tools |
![]() |
Digilent D2SB/DIO4 board combination |
![]() |
Parallel port cable |
![]() |
DC power supply |
![]() |
PLD Oasis > Tutorials/Documents > From Concept to Bitstream -- A "How-To" Guide for Xilinx FPGAs |
![]() | |
![]() |
PLD Oasis > Software > Installation instructions for version 6.1 and ModelSim XE-II 5.7 plug-in (works for WebPack ISE version 6.3, too) |
![]() |
PLD Oasis > Software > UCF Generators for D2SB/DIO4 board set |
![]() |
PLD Oasis > Hardware > Board tester bitstream files (useful for verifying the correct operation of all switches and LEDs) |
Recommended: Install WebPack and ModelSim on your own computer system; see above for the link to instructions.
Review the step-by-step instructions file "From Concept to Bitstream" if you are still experiencing any problems using the Xilinx CAD tools.
Read the Synthesis Design Rules document. Your design must conform to ALL of the listed design rules except the signal naming conventions at the bottom of the document.
Reflect on how varying the "on" time of a periodic rectangular waveform will result in an apparent change in the intensity of the LED. This technique for intensity variation is called pulse width modulation, or PWM. Choose a frequency that is above the "flicker fusion frequency" of the human visual system, which is about 30 Hz. The higher the frequency the more stable the appearance of the LED, but a frequency that is too high will not allow the LED to turn on and off properly.
Design a circuit module that will meet the following minimum requirements:
Accepts eight inputs to be passed to the eight discrete LEDs
Accepts a three-bit integer that represents the desired intensity of the LEDs (0 corresponds to completely off, 7 corresponds to maximum possible, with linear variation in between)
Operates from 50 MHz clock source
Includes master reset from pushbutton
Choose one or more of the following embellishments:
Accepts LED and/or intensity inputs from combination of switches and pushbuttons
Accepts LED and/or intensity inputs from a source internal to the FPGA (e.g., counter, shift register, bit rotater, etc.)
Accepts LED and/or intensity inputs from parallel port
Displays presently-selected intensity value on one of the seven-segment display digits
Anything else you think would be interesting
Produce a detailed hardware diagram that illustrates the circuit you will place into the FPGA.
Write a Verilog description that translates your diagram from the previous step.
Debug your circuit using a testbench Verilog file and behavioral simulation.
Create a UCF file using the D2SB/DIO4 UCF generator spreadsheets.
Use the Xilinx WebPack tool to create an FPGA bitstream file for your design.
Test and evaluate your design on the D2SB/DIO4 board.
Brief memo that describes your design process and results (include one campus mail box number at the top of the memo). Include the following attachments:
Block diagram or circuit diagram of your design
Behavioral simulation results (waveform plot, with handwritten annotations to explain how you know that your circuit is working properly)
Verilog synthesizable .v file
Verilog testbench .v file
UCF file
Demonstration of finished project to instructor (obtain initials)
Beginning of next week's lab
|