Homework 3

due Thursday, September 25, 4:00 pm (NO LATE HOMEWORK ACCEPTED)

submission using Blackboard


Reading

Volnei A. Pedroni, Circuit Design with VHDL

Optional Reading (for students who need more background about basics of digital system design)

Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, 2nd edition or 3rd edition

Problems

Part 1: Coding

Develop the following complete VHDL code including entity declarations, architectures, and testbenches for circuits described in Pedroni, Circuit Design with VHDL:

Remarks:

Part 2: Simulation

Simulate and verify the operation of all circuits using Active HDL or ModelSim.

Your simulation should run until the entire testbench is complete (i.e. your simulation should go through ALL possible values of at least one data input and all control inputs, while keeping the remaining data inputs constant.)

What to Turn In

Part 1: Coding

Turn in the following 10 files. In the .vhd files, put your name as a comment near the top of each file. Submit all VHDL files using Blackboard.

pencoder.vhd
pencoder_tb.vhd
multdiv.vhd
multdiv_tb.vhd
adder.vhd
adder_tb.vhd
barrelshift.vhd
barrelshift_tb.vhd
comparator.vhd
comparator_tb.vhd

Part 2: Simulation

Save the waveforms from simulation (i.e. in .awf format for Active HDL or .wlf format for ModelSim) and submit all of them using Blackboard.

Each filename should correspond with the test bench. For example, using Active HDL the priority encoder waveform should be called pencoder_tb.awf. Using ModelSim it should be called pencoder_tb.wlf.