chapter 10_1 digital logic. irvine, kip r. assembly language for intel-based computers, 2003. 2 not...

46
Chapter 10_1 Digital Logic

Upload: betty-york

Post on 26-Dec-2015

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Chapter 10_1

Digital Logic

Page 2: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

2

• NOT• AND• OR• XOR• NAND• NOR• Truth Tables

Boolean Operators

Page 3: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

3

• NOT A = Ā• A AND B = AB• A OR B = A + B• A XOR B = 1 if and only if

one of A or B is 1• A NAND B = NOT ( A AND B)• NOR = NOT (A OR B)• Truth Tables

Boolean Operators

Page 4: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

4

Boolean Algebra• Based on symbolic logic, designed by George

Boole• Boolean expressions created from:– NOT, AND, OR

Page 5: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

5

NOT• Inverts (reverses) a boolean value• Truth table for Boolean NOT operator:

NOT

Digital gate diagram for NOT:

Page 6: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

6

AND• Truth table for Boolean AND operator:

AND

Digital gate diagram for AND:

Page 7: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

7

OR• Truth table for Boolean OR operator:

OR

Digital gate diagram for OR:

Page 8: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

8

Operator Precedence• Examples showing the order of operations:

Page 9: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

9

Truth Tables (1 of 3)• A Boolean function has one or more Boolean

inputs, and returns a single Boolean output.• A truth table shows all the inputs and outputs

of a Boolean function

Example: X Y

Page 10: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

10

Truth Tables (2 of 3)• Example: X Y

Page 11: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

11

Truth Tables (3 of 3)• Example: (Y S) (X S)

Two-input multiplexer

Page 12: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Basic Identities of Boolean AlgebraBasic Postulates

A • B = B • A A + B = B + A Commutative Laws

A • (B + C) = (A • B) + (A • C) A + (B • C) = (A + B) • (A + C) Distributive Laws

1 • A = A 0 + A = A Identity Elements

A • = 0 A + = 1 Inverse Elements

Other Identities

0 • A = 0 1 + A = 1

A • A = A A + A = A

A • (B • C) = (A • B) • C A + (B + C) = (A + B) + C Associative Laws

DeMorgan's Theorem

A A

A B A B A B A B

Page 13: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

De Morgan’s Theorem

• A NOR B = (NOT A) AND (NOT B)• A NAND B = (NOT A) OR (NOT B)

Page 14: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Basic Logic Gates

Page 15: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

NAND Gates

Page 16: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

NOR Gates

Page 17: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Sum of products

F = ABC + ABC + ABC

Page 18: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Product of sums

(XYZ) = X + Y + Z (De Morgan)

Page 19: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Product of sums

Page 20: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Simplification of Boolean expression

• Algebraic simplification• Karnaugh maps• Quine McKluskey Tables

Page 21: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Algebraic simplification

Show how to simplifyF = ABC + ABC + ABC

To become

F = AB + BC= B(A + C)

Page 22: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Simplified implementation of F = ABC + ABC + ABC = B(A + C)

Page 23: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Karnaugh Maps

Page 24: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

The use of Karnaugh maps

Page 25: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Overlapping groups F = ABC + ABC + ABC

= B(A + C)

Page 26: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

The Quine-McKluskey Method

Page 27: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

2nd stageAll pairs that differ in one variable

Page 28: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Last stage

Page 29: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Final stage

• Circle each x that is alone in a column.• Then place a square around each X in any row

in which there is a circled X. • If every column now has either a squared or a

circled X, then we are done, and those row elements whose Xs have been marked constitute the minimal expression.

ABC + ACD + ABC + ACD

Page 30: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

NAND

Page 31: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

MultiplexorS2 S1 F

0 0 D0

0 1 D1

1 0 D2

1 1 D3

Page 32: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Multiplexor implementation

Page 33: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Decoder

Page 34: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Use of decoders

To address 1K byte memory using four 256 x 8 bit RAM chips

Page 35: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Small-scale integration

• Early integrated circuit provided from one to ten gates on a chip.

• The next slide shows a few examples of these SSI chips.

Page 36: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators
Page 37: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Programmable Logic Array (PLA)

Page 38: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Programmed PLA

Page 39: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Read-only memory

Page 40: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

A 64 bit ROM

Page 41: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Adders

Page 42: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

4-Bit Adder

Page 43: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Implementation of an Adder

Page 44: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Multi-output adder

The output from each adder depends on the output from the previous adder.

Thus there is an increasing delay from the least significant to the most significant bit.

For larger adders the accumulated delay can become unacceptably high.

Page 45: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

32-Bit Adder using 8-Bit Adders

Page 46: Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 2 NOT AND OR XOR NAND NOR Truth Tables Boolean Operators

Carry look ahead