Top Banner
01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006
30

01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

Mar 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

01Introduction to Digital Logic

ENGR 3410 – Computer ArchitectureMark L. Chang

Fall 2006

Page 2: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

2

Acknowledgements

• Patterson & Hennessy: Book & Lecture Notes• Patterson’s 1997 course notes (U.C. Berkeley CS 152, 1997)• Tom Fountain 2000 course notes (Stanford EE182)• Michael Wahl 2000 lecture notes (U. of Siegen CS 3339)• Ben Dugan 2001 lecture notes (UW-CSE 378)• Professor Scott Hauck lecture notes (UW EE 471)• Mark L. Chang lecture notes for Digital Logic (NWU B01)

Page 3: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

3

Example: Car Electronics• Door ajar light (driver door, passenger door):

• High-beam indicator (lights, high beam selected):

Page 4: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

4

Example: Car Electronics (cont.)• Seat Belt Light (driver belt in):

• Seat Belt Light (driver belt in, passenger belt in, passenger present):

Page 5: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

5

Basic Logic Gates• AND: If A and B are True, then Out is True

• OR: If A or B is True, or both, then Out is True

• Inverter (NOT): If A is False, then Out is True

AB Out

Out

Out

AB

A

Page 6: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

6

Digital vs. Analog

Analog: values vary over a broad range continuously

Digital: only assumes discrete values

+5

V

–5

T ime

+5

V

–5

1 0 1

T ime

Page 7: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

7

• Analog systems:slight error in input yields large error in output

• Digital systems:more accurate and reliablereadily available as self-contained, easy to cascade building blocks

• Computers use digital circuits internally• Interface circuits (i.e., sensors & actuators) often analog

Advantages of Digital Circuits

Page 8: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

8

Binary/Boolean Logic

• Two discrete values: yes, on, 5 volts, TRUE, "1" no, off, 0 volts, FALSE, "0"

• Advantage of binary systems: rigorous mathematical foundation based on logic

the three preconditions must be true to imply the conclusion

IF the garage door is openAND the car is runningTHEN the car can be backed out of the garage

IF the garage door is openAND the car is runningTHEN the car can be backed out of the garage

both the door must be open and the carrunning before I canback out

IF passenger is in the carAND passenger belt is inAND driver belt is inTHEN we can turn off the fasten seat belt light

IF passenger is in the carAND passenger belt is inAND driver belt is inTHEN we can turn off the fasten seat belt light

Page 9: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

9

Combinational vs. Sequential Logic

No feedback among inputs and outputs. Outputs are a function of the inputs only.

Network implemented from logic gates.The presence of feedback distinguishes between sequentialand combinational networks.

---

X1X2

Xn

Logic

Network

Z1Z2

Zm

---

Sequential logic

---

X1X2

Xn

Logic

Network

Z1Z2

Zm

---

Combinational logic

Page 10: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

10

Black Box (Majority)• Given a design problem, first determine the function• Consider the unknown combination circuit a “black box”

A B C

Out

Truth Table

Page 11: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

11

“Black Box” Design & Truth Tables• Given an idea of a desired circuit, implement it

– Example: Odd parity - inputs: A, B, C, output: Out

Page 12: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

12

Truth Tables

Algebra: variables, values, operations

In Boolean algebra, the values are the symbols 0 and 1 If a logic statement is false, it has value 0 If a logic statement is true, it has value 1

Operations: AND, OR, NOT

0 0 1 1

X Y X AND Y

0 1 0 1

0 0 0 1

X Y X OR Y

0 0 1 1

0 1 0 1

0 1 1 1

X NOT X

0 1

1 0

Page 13: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

13

Boolean Equations

Boolean Algebravalues: 0, 1variables: A, B, C, . . ., X, Y, Zoperations: NOT, AND, OR, . . .

NOT X is written as XX AND Y is written as X & Y, or sometimes X YX OR Y is written as X + Y

A

0011

B

0101

Sum

0110

Carry

0001

Sum = A B + A B

Carry = A B

OR'd together product terms for each truth table

row where the function is 1

if input variable is 0, it appears in complemented form;

if 1, it appears uncomplemented

Deriving Boolean equations from truth tables:

Page 14: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

14

Boolean Algebra

A

00001111

B

00110011

Cin

01010101

Sum

01101001

Cout

00010111

Another example:

Sum = A B Cin + A B Cin + A B Cin + A B Cin

Cout = A B Cin + A B Cin + A B Cin + A B Cin

Page 15: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

15

Boolean Algebra

Reducing the complexity of Boolean equations

Laws of Boolean algebra can be applied to full adder's carry out function to derive the following simplified expression:

Cout = A Cin + B Cin + A B

Verify equivalence with the original Carry Out truth table:

place a 1 in each truth table row where the product term is true

each product term in the above equation covers exactly two rows in the truth table; several rows are "covered" by more than one term

A 0 0 0 0 1 1 1 1

C in 0 1 0 1 0 1 0 1

B 0 0 1 1 0 0 1 1

C out 0 0 0 1 0 1 1 1

B C in

A C in

A B

Page 16: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

16

Representations of Boolean Functions• Boolean Function: F = X + YZ

Truth Table:

X Y Z F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Circuit Diagram:

Page 17: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

17

Why Boolean Algebra/Logic Minimization?

Logic Minimization: reduce complexity of the gate level implementation

• reduce number of literals (gate inputs)

• reduce number of gates

• reduce number of levels of gates

fewer inputs implies faster gates in some technologies

fan-ins (number of gate inputs) are limited in some technologies

fewer levels of gates implies reduced signal propagation delays

number of gates (or gate packages) influences manufacturing costs

Page 18: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

18

Basic Boolean Identities:

• X + 0 = X * 1 =

• X + 1 = X * 0 =

• X + X = X * X =

• X + X = X * X =

• X =

Page 19: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

19

Basic Laws• Commutative Law:

X + Y = Y + X XY = YX

• Associative Law:X+(Y+Z) = (X+Y)+Z X(YZ)=(XY)Z

• Distributive Law:X(Y+Z) = XY + XZ X+YZ = (X+Y)(X+Z)

Page 20: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

20

Boolean Manipulations

• Boolean Function: F = XYZ + XY + XYZ

Truth Table:

X Y Z F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Reduce Function:

Page 21: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

21

Advanced Laws

X+XY =

XY + XY =

X+XY =

X(X+Y) =

(X+Y)(X+Y) =

X(X+Y) =

Page 22: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

22

Boolean Manipulations (cont.)

• Boolean Function: F = XYZ + XZ

Truth Table:

X Y Z F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Reduce Function:

Page 23: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

23

Boolean Manipulations (cont.)

• Boolean Function: F = (X+Y+XY)(XY+XZ+YZ)

Truth Table:

X Y Z F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Reduce Function:

Page 24: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

24

DeMorgan’s Law

(X + Y) = X * Y

(X * Y) = X + Y

Example:

Z = A B C + A B C + A B C + A B C

Z = (A + B + C) * (A + B + C) * (A + B + C) * (A + B + C)

DeMorgan's Law can be used to convert AND/OR expressionsto OR/AND expressions

DeMorgan's Law can be used to convert AND/OR expressionsto OR/AND expressions

X 0 0 1 1

Y 0 1 0 1

X 1 1 0 0

Y 1 0 1 0

X + Y X•Y

X 0 0 1 1

Y 0 1 0 1

X 1 1 0 0

Y 1 0 1 0

X + Y X•Y

Page 25: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

25

DeMorgan’s Law example

If F = (XY+Z)(Y+XZ)(XY+Z),

F =

Page 26: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

26

NAND and NOR Gates• NAND Gate: NOT(AND(A, B))

• NOR Gate: NOT(OR(A, B))

0 0 1 1

X Y

0 1 0 1

1 1 1 0

X NAND Y

X Y

0 0 1 1

0 1 0 1

1 0 0 0

X NOR Y

Page 27: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

27

NAND and NOR Gates• NAND and NOR gates are universal

– can implement all the basic gates (AND, OR, NOT)

NAND NOR

NOT

AND

OR

Page 28: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

28

Bubble Manipulation• Bubble Matching

• DeMorgan’s Law

Page 29: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

29

XOR and XNOR Gates

• XOR Gate: Z=1 if X is different from Y

• XNOR Gate: Z=1 if X is the same as Y

X Y Z0 0 00 1 11 0 11 1 0

X Y Z0 0 10 1 01 0 01 1 1

XY Z

ZXY

Page 30: 01 Introduction to Digital Logic ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.

30

Boolean Equations to Circuit Diagrams

F = XYZ + XY + XYZ

F = XY + X(WZ + WZ)