|
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009
|
|
Lecture 09: Digital Logic, Combinational Circuits
Date: Friday, February 13, 2009
- Announcements
- No class 2/17 since Tuesday is an RPI Monday so I will see you
on Friday.
- I do intend to have office hours on Tuesday - I will send an
email if they are different than the usual time slot during the
afternoon (I may make them a bit later).
- Our final exam has been scheduled for Monday, May 4, 3-6 PM, DCC
324. Please let me know ASAP if you have any conflicting exams.
- Lab 1 access.c - grading changes.
- Lab 4 continues
- tracing through the C code
- MIPS and spim Q&A
- don't wait!
- Lecture assignment recap
- Combinational Logic
- Recap of topics so far
- Karnaugh Maps
- Multiplexers and demultiplexers
- Encoders and decoders
- Adders
Due at the start of class, Friday, February 20.
Turn in short answers to these questions. Please turn in a hard copy
(typeset or handwritten are OK). We will discuss these questions
during class, so no late submissions are accepted. This is a larger
than usual lecture assignment, so be sure to leave some extra time.
It will count more than a typical lecture assignment.
- Gray code is an alternative binary representation of integers.
Interestingly, incrementing a number in gray code causes the
representation to change by exactly one bit. We have seen one context
where this representation is useful when we labeled our Karnaugh maps.
Consider the following table used to convert 3-bit binary integers
into their gray code equivalents:
|
binary | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
|
gray code | 000 | 001 | 011 | 010 | 110 | 111 | 101 | 100
|
- Construct three combinational circuits that compute the 1's
digit, the 2's digit, and 4's digit of gray code. Please use the
general or-of-ands network (the "sum-of-products" we discussed in
class). Do not apply any simplification techniques.
- Construct the simplest, most elegant circuit you can to convert
a binary number (on three inputs) to a gray code number (on three
outputs).
- In class, we saw how any boolean function can be expressed in
disjunctive form -- as a disjunction (or) of a set of terms (often
called min-terms), each of which is a conjunction (and) of
inputs or their negations. This is a handy if you happen to be a
digital circuit designer that has a very large pile of and and
not gates, and one big or gate. But what if instead you
have large piles of or and not gates, but only a single
big and? Show that it is possible to express any boolean
function as the conjunction of a set of terms, each of which is a
disjunction of inputs.
- Prove that deMorgan's law for converting conjunctions to
disjunctions (with negations) holds for n>2 inputs.
- Prove that deMorgan's law for converting disjunctions to
conjunctions (with negations) holds for n>2 inputs.
- Use these to prove the conjecture.
- Suppose you are interested in constructing a circuit that is high
precisely when four input lines DCBA represent a prime in 4-bit
unsigned binary.
- Use a Karnaugh map to generate a logical expression with the
smallest number of terms that computes this function. Do not optimize
the expression further.
- Suppose we didn't care if the function worked on the range
12..15. Use another Karnaugh map to generate a logical expression
with the smallest number of terms that computes this function.