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:
74155


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):