Spring Semester 2008

January 28, 2008 – May 2, 2008

Assignment 2: Circuits

Out on: February 4, 2008
Due by: February 11, 2008, noon (before lecture)
Collaboration: None

Overview

The second assignment covers basic material on circuits of the kind we covered in the second week.

Problem 1: Bigger Gates

Show that we can build and gates (or gates) with n inputs from and gates (or gates) with only two inputs. How "deep" are these "big gates"? That is, how many "small gates" do you have to cross to get from an input to the output of the "big gate"? Make sure the design you describe leads to "big gates" of minimal depth...

Problem 2: Conjunctive Normal Form

In lecture we discussed disjunctive normal form (DNF), which represents a boolean function as a sum of products of literals. We also showed how to derive DNF from a truth table. Conjunctive normal form (CNF) represents a boolean function as a product of sums of literals instead. Give a generic rule for deriving CNF from a truth table.

Problem 3: Demultiplexer

In lecture we went through the design of a 2-to-1 multiplexer, but we only briefly sketched the design of a 1-to-2 demultiplexer. So for this problem, design the 1-to-2 demultiplexer in all it's gory details. :-)

Problem 4: Universal Gates

Show that you can build the and, or, and not gates that we've been using out of only (a) nand gates, (b) nor gates. Make sure you have the truth tables to convince us! Speculate (or do some research, but remember to quote your sources) on why this is important for actual (hardware!) integrated circuits (ICs).

Deliverables

Please turn in a simple Unix text file (not M$ Word, not PDF, just plain ASCII text) with your answers. It should be formatted in a decent way of course, and it should contain your contact information. The file name should be cs102-assignment-2-login with login replaced by your Unix login name (so I would use cs102-assignment-2-phf).

Bonus Problem

If you really want to impress us, try the following. Show how you can build a 4-to-1 multiplexer from a number of 2-to-1 multiplexers. Can you generalize this further? Is there a difference between multiplexers built out of smaller multiplexers and those built out of "raw" gates? Note that we won't give you extra points for this, but we'll give you extra kudos. :-)