Computer Science 220
Assembly Language & Computer Architecture
Fall 2011, Siena College
Lecture 0x0d: Encoders and Decoders; Adders
Date: Thursday, October 20, 2011
Agenda
- Announcements
- Reminder: Logisim circuits available in shared area, Logisim
- Exam 1 due
- Unix Tip of the day: bc
- Multiplexers and Demultiplexers
- Encoders and Decoders
- Adding Circuits
- Half adders
- Full adders
- Ripple-carry adders
- Subtractors
- More efficient adders
Lecture Assignment 0x0d
Due at the start of class, Tuesday, October 25.
Please submit answers to these questions
either as a hard copy (typeset or handwritten are OK) or by email to
jteresco AT siena.edu by the start of class. Please use a clear subject line
when submitting by email (e.g., CS 220 Lecture
Assignment 0x0d, Joe Student). We will discuss these
questions at the start of class, so no late submissions are
accepted.
Please note that this is a larger than usual lecture assignment, so be
sure to allocate some time to complete it.
- We constructed a NAND gate from two transistors in series. What
function of three inputs is obtained by placing three transistors in
series? (2 points)
- Show that the NOR gate is universal by building circuits to
compute NOT, AND, and OR using only NOR gates.
- 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 | gray code |
000 | 000 |
001 | 001 |
010 | 011 |
011 | 010 |
100 | 110 |
101 | 111 |
110 | 101 |
111 | 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. (3 points)
- Construct the simplest, most elegant circuit you can to convert
a binary number (on three inputs) to a gray code number (on three
outputs). (3 points)
Examples