Computer Science 220
Assembly Language & Computer Architecture

Fall 2011, Siena College

Lecture 0x0d: Encoders and Decoders; Adders
Date: Thursday, October 20, 2011


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 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.

  1. 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)
  2. Show that the NOR gate is universal by building circuits to compute NOT, AND, and OR using only NOR gates.
  3. 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:


    gray code
    000 000
    001 001
    010 011
    011 010
    100 110
    101 111
    110 101
    111 100

    1. 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)
    2. 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)