Computer Organization
Computer Science 251
Dickinson College
Spring Semester 1997
TTh 2:00 - 3:15
South College 04
Class #4 - Logic Simplification & 1 Bit Addition.
Reading Assignment 
SCO - Tannenbaum - Chapter 3, section 3.1.4, 3.2.3 - section on adders.
Thought Questions 
3.1.4
- Can you think of any reasons / situations where it might be better to use negative logic (0V = True and 5V = False) instead of positive logic?
- What is the "dual" of a Boolean function and how do you find it? Are the identities in Fig. 3.6 the only Boolean functions that have duals?
3.2.3 section on adders
- Can we build the half-adder in fig. 3.18 using only NAND gates? What would it look like? What about the full adder in fig. 3.19?
- What ways can you think of to eliminate the delay from a ripple carry adder as suggested by the last sentence of the section? On what does the carry in to each bit depend?
Homework Solutions 
Homework Assignment 
Due 2/6/96
- For the function F(a,b,c,d) = b + bcd + !bcd + ab + !ab + !bc
Note: !a is "not a" which is usually an a with a bar above it.
That isn't easy to do on a web page so I used !a.
Also !ab means (!a)b.
- Write out the truth table for the function F.
- Use Boolean Algebra to simplify the function F.
- Draw a cirucit that implements the simplified function F.
- Use the Boolean Algebra to verify the following relation:
- (a + b)(!a + c)(b + c) = (a + b)(!a + c)
- Express the following Boolean function in sum-of-products form:
- F(A,B,C,D,E) = (!(AC) + !D)(!(B + CE))
Programming Project 
- Project 2: 1 Bit Half and Full Adders
- In project 2 you will implement circuitry to perform 1 bit half and full addition. These cirucits will be built using the logic gates you built in project #1. These adders will form the heart of the Arithmetic Logical Unit for your simulated computer.
These pages designed and maintained by Grant Braught
Braught@Dickinson.edu