CSE370 Laboratory Assignment 3
Using Decoders and Multiplexors to Implement Boolean Functions
Distributed: October 19
Due: By end of lab session
Objectives
In this laboratory assignment you
will continue to learn how to use the Aldec Active-HDL tool. This time
the focus will be on schematic and Verilog modules. You will also see how
Verilog modules can be used as test fixtures to help you verify your
circuit. By the end of this lab you should feel comfortable creating a
module based on a schematic, creating a Verilog module directly, and setting up
a test fixture.
In the hardware portion of this lab, you will use decoders and multiplexors in
your kit to implement a full-adder circuit.
Beginning with this lab, you
will be working in pairs. The pairings will be posted in the lab.
However, you should each complete the tutorial section individually, and only
work together when implementing your circuits on the protoboard.
Tasks
- Complete the first section
of next ActiveHDL tutorial that
covers test fixtures. It would be best if you do this before the lab since
you will have to complete the entire tutorial as part of the homework.
You'll be asked to use a test fixture to verify the schematic for a full
adder circuit. This first section is quite short, but it is very
important. You'll be creating and testing many of your own modules over
the rest of the quarter, and now is the time to get comfortable with the
process.
- In the previous homework
assignment, you used a decoder along with a couple OR gates to implement a
full-adder. Start a new schematic,
and use a 3:8 decoder (the '138 chip) and gates to implement a full adder
with the c74XX packages in the lib370 library. These are identical to the
real chips in your kit. Remember to
use de Morgan’s law to pick the right packages. Create a test circuit schematic using
the test fixture given in the
tutorial to test your design. As you design your circuit, be sure to
use the chip maps as a guide, and pay close
attention to the "enable" semantics on the decoder chip.
- You can also implement a
full-adder using multiplexors. Use
one standard 4:1 multiplexor ('153) for each output (sum and carry-out),
along with inverters as necessary, to implement a full-adder. Note that
the '153 chip actually contains two independent multiplexors, so you only
need one of these chips total. Do not use the 'mux4' part in lib370; use
'c74153.' Create a test circuit
schematic as in Part 2 to test your design. Again, pay attention to the
enable semantics for the '153.
- Implement both circuits from
parts 2 and 3 using your prototyping board. Connect the inputs to switches (use the
same switches for the two circuits) and the outputs to lights.
- Show the simulation results
and the working circuit to a TA and have them check you off as having
completed this laboratory assignment. They may ask you to show them your
work and explain your design files and circuit. Hand in your schematics for parts 2 and
3. Do not hand in waveforms this time.
Comments to: cse370-webmaster@cs.washington.edu