CS 220 - Lab 2: The Core of the Onion: Logic Circuit Design
Due 5:00pm September 24, 2003
General Lab Goals
This lab introduces the fundamentals of logic circuits, elementary circuit
design, and the LogicWorks software package. In addition to this lab sheet,
you should have a copy of the LogicWorks Tutorial handout, which
will help you become familiar with using LogicWorks to design circuits on
the Mac.
Accessing Course Software (revision of procedure from Lab 1)
Your personal Bowdoin username and password provide access to the
software for this course. On an iMac in Searles 224, the following
steps will connect you:
1. Pull down Go -> Connect to Server on the
main menu, and then enter the Address: afp://collaboration
2. Enter your personal username and password
3. Select Computer Science, and a new icon called
Computer Science will appear on the desktop
4. Open the folder Computer Science -> csci220
There, the following folders are particularly useful for completing
this and other assignments in this course.
csci220 -> Users -> <your username>
is a folder in which you can save work from week to week during the semester.
csci220 -> Drop Box is the place where
you can submit an electronic copy of your completed work when you finish
an assignment.
Lab Work:
To begin running LogicWorks, double-click on the LogicWorks application.
1. Complete pages 45-70 of the LogicWorks Tutorial and save the
final circuit you develop (at page 70) as lab2yourname.1
This Tutorial will give you some basic skills for creating and exercising
logic circuits. Completing this Tutorial may take an hour or two of lab
time.
2. Design and implement a circuit of your own that will calculate the
following boolean function. Be sure to label all the inputs and the output.
Inputs Output
A B C D
----------------- ------
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Test your circuit, by using the timing diagram and observing the changes
in output D as you change the values of inputs A, B, and C. What is
the boolean expression that this circuit represents?
3. Revise this circuit so that it achieves the same output with fewer
gates. One way to do this is to consider the use of "negative logic."
That is, first design and implement another circuit to output 1 whenever
D is 0, and 0 whenever D is 1. Then feed that output through a final NOT
gate so that it computes the original function. Save your resulting circuit
as lab2yourname.2 What is the boolean expression that
this circuit represents?
4. How many gates did your original circuit require (question 2)? How
many did your revised circuit require (question 3)?
5. Answer questions #1, 4, 6, 7, and 9 on page 198 of your text.
Hand In:
On the due date, turn in hard copies of your circuit designs and your answers
to questions 2 through 5. Also, drag an electronic copy of the circuit
file lab2yourname.2 that you designed for question 3 to the
csci220 -> Drop Box folder on the desktop.