CPE 201/EE 236 Lab 7
(UNR/2005 Spring)
ROM Design with Decoder and Diodes
Introduction (5 points):
Decoders can be described simply as min-term detectors. For example,
a 3-to-8 decoder will indicate which one of eight possible min-terms was
received as an input. One of eight output lines will become active low
(with 74138 and 74155) in response to the appropriate min-term input.
However, that definition of a decoder does
not do justice to what a decoder can actually do. Decoders are used internally
in CPU's to "decode" opcodes and generate the control logic necessary
for a CPU to function. Also, decoders can be used to create non-volatile
memory such as ROM (read-only memory.
A 3-to-8 decoder can be used along with some
diodes and resistors to implement a ROM that consists of 8 words that are
4 bits in size.
Objective (5 points):
The purpose of this lab is to design a 3x8
decoder, assemble a simple 8x4 ROM, and design and simulate a 16x4 ROM
with 74138, 74155, and diodes and resistors.
Procedure (80 points):
1. Pick up some resistors and learn how to read resistor color codes
with one of the links
at our lab homepage. Calculate
their resistance values with another
link. What are the values of the resistors you will use in this lab (5
points)?
2. Pick up some diodes, learn diode's functions and
usage
via the links at our lab homepage,
and test diode in the breadboard (using a diode, a resistor, +5 voltage
power supply, ground, and display---pay attention to diode's anode/cathode
ends) (You do NOT have to show the testing results to TA). Have you tested
a diode in your breadboard? (5 points to yes).
3. We can use diode's permitted forward-biased and prohibited
reverse-biased features to design ROM. A typical 8x2 ROM with values
of 012 and 112 at addresses 0116 and
0516 can be constructed as shown in the following schematic:
4. We will use 74155, Dual 2-to-4 Decoder, to design 8x4 ROM on
the breadboard. We have to create a 3-to-8 decoder from 74155 at first
and then design the 8x4 ROM following the above example. Given a new chip
such as 74155, we can use EWB to see its truth table (right click on the
chip and choose the "help" menu item) so as to connect t he chip properly.
But sometimes, we get ambiguous information (this is the case with 74155
in EWB). In such a case, we have to use chip's datasheets. I have put some
useful datasheet links at our lab homepage. It is always a good
idea to use datasheet to double check chip's truthtable and logic diagram.
One screen shot of 74155's datasheet is shown in the following:
- Create a 3-to-8 decoder from 74155 (you can also refer to the page
450 of the textbook for the connection) with EWB, include the circuit in
your lab reports (10 points).
- Design on the breadboard an 8x4 ROM with the word 01012
at address 0116, the word 11012 at address
0316 , and the word00012 at address 0616.
Show the results to the TA (30 points).
5. Design a 16x4 ROM in EWB that has the following values stored at
the corresponding addresses (with two 74138 and some diodes and resistors).
First, connect two 74138 to create a 4-to-16 decoder; and then design the
ROM. Include the circuit in your lab report (20 points):
| 016 |
01002 |
816 |
01112 |
| 116 |
00002 |
916 |
00002 |
| 216 |
01102 |
A16 |
00002 |
| 316 |
00002 |
B16 |
10002 |
| 416 |
00002 |
C16 |
00002 |
| 516 |
11112 |
D16 |
00002 |
| 616 |
00002 |
E16 |
00002 |
| 716 |
00002 |
F16 |
00012 |
6. To design a circuit (with active high outputs) that will
detect the prime numbers between 0 and 7 inclusive (2, 3, 5, 7) with a
74138 chip and one or more 7400 chips, we have first to figure out the
correct logic expression for this circuit. Write and include this
logic expression in your lab report (remember, 74138 that has active low
output and 7400 is a 2-input gate chip (10 points).
Conclusion (5 points):