appendix b digital logic. irvine, kip r. assembly language for intel-based computers, 2003. 2 not...

47
Appendix B Digital Logic

Upload: brianne-stanley

Post on 20-Jan-2016

236 views

Category:

Documents


0 download

TRANSCRIPT

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

Appendix B

Digital Logic

Page 2: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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

Page 13: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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: Appendix B 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

Page 47: Appendix B 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.

47

Printing this Slide ShowTo print this slide show with black characters on a white background, do the following:

• Select Print... from the File menu.• Select Handouts in the Print what drop-down box.• Select 2 or 3 in the Slides per page drop-down box.• Select the Pure black and white check box (optional)• Click on OK to begin printing.

Back to the title page