Top Banner
Chapter 10_1 Digital Logic
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.

Dec 26, 2015

Download

Documents

Betty York
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: 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