47
ENGR 303 – Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science Folsom Lake College

ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

  • Upload
    others

  • View
    7

  • Download
    3

Embed Size (px)

Citation preview

Page 1: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

ENGR 303 – Introduction to Logic Design Lecture 2

Dr. Chuck BrownEngineering and Computer Information Science

Folsom Lake College

Page 2: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<2>

• Binary Arithmetic

• Two’s Complement

• Logic Levels

• CMOS Transistors

• Intro Logic Circuits

Outline for Todays Lecture

ENGR 303

Page 3: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<3>

37345168+

10110011+

• Decimal

• Binary

Addition

ENGR 303

Page 4: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<4>

37345168+

8902

carries 11

10110011+

1110

11 carries

• Decimal

• Binary

Addition

ENGR 303

Page 5: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<5>

10010101+

10110110+

• Add the following

4-bit binary

numbers

• Add the following

4-bit binary

numbers

Binary Addition Examples

ENGR 303

Page 6: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<6>

10010101+

1110

1

10110110+

10001

111

• Add the following

4-bit binary

numbers

• Add the following

4-bit binary

numbers

Overflow!

Binary Addition Examples

ENGR 303

Page 7: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<7>

• Digital systems operate on a fixed number of

bits

• Overflow: when result is too big to fit in the

available number of bits

• See previous example of 11 + 6

Overflow

ENGR 303

Page 8: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<8>

• Sign/Magnitude Numbers

• Two’s Complement Numbers

Signed Binary Numbers

ENGR 303

Page 9: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<9>

• 1 sign bit, N-1 magnitude bits

• Sign bit is the most significant (left-most) bit

– Positive number: sign bit = 0

– Negative number: sign bit = 1

• Example, 4-bit sign/mag representations of ± 6:+6 =

- 6 =

• Range of an N-bit sign/magnitude number:

1

1 2 2 1 0

2

0

: , , , ,

( 1) 2n

N N

na i

i

i

A a a a a a

A a

L

Sign/Magnitude Numbers

ENGR 303

Page 10: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<10>

• 1 sign bit, N-1 magnitude bits

• Sign bit is the most significant (left-most) bit

– Positive number: sign bit = 0

– Negative number: sign bit = 1

• Example, 4-bit sign/mag representations of ± 6:+6 = 0110

- 6 = 1110

• Range of an N-bit sign/magnitude number:[-(2N-1-1), 2N-1-1]

1

1 2 2 1 0

2

0

: , , , ,

( 1) 2n

N N

na i

i

i

A a a a a a

A a

L

Sign/Magnitude Numbers agnitude Numbers

ENGR 303

Page 11: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<11>

• Problems:

– Addition doesn’t work, for example -6 + 6:

1110

+ 0110

10100 (wrong!)

– Two representations of 0 (± 0):

1000

0000

Sign/Magnitude Numbers

ENGR 303

Page 12: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<12>

• Don’t have same problems as sign/magnitude

numbers:– Addition works

– Single representation for 0

Two’s Complement Numbers

ENGR 303

Page 13: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<13>

2

1

1

0

2 2n

n i

n i

i

A a a

• Msb has value of -2N-1

• Most positive 4-bit number:

• Most negative 4-bit number:

• The most significant bit still indicates the sign

(1 = negative, 0 = positive)

• Range of an N-bit two’s comp number:

Two’s Complement Numbers

ENGR 303

Page 14: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<14>

2

1

1

0

2 2n

n i

n i

i

A a a

• Msb has value of -2N-1

• Most positive 4-bit number: 0111 (+7)

• Most negative 4-bit number: 1000 (-8)

• The most significant bit still indicates the sign

(1 = negative, 0 = positive)

• Range of an N-bit two’s comp number:

[-(2N-1), 2N-1-1]

Two’s Complement Numbers

ENGR 303

Page 15: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<15>

-8

1000 1001

-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Two's Complement

10001001101010111100110111101111

00000001 0010 0011 0100 0101 0110 0111

1000 1001 1010 1011 1100 1101 1110 11110000 0001 0010 0011 0100 0101 0110 0111

Sign/Magnitude

Unsigned

Number System Range

Unsigned [0, 2N-1]

Sign/Magnitude [-(2N-1-1), 2N-1-1]

Two’s Complement [-2N-1, 2N-1-1]

For example, 4-bit representation:

Number System Comparison

ENGR 303

Page 16: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<16>

• Flip the sign of a two’s complement number

• Method:1. Invert the bits

2. Add 1

• Example: Flip the sign of 310 = 00112

“Taking the Two’s Complement”

ENGR 303

Page 17: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<17>

• Flip the sign of a two’s complement number

• Method:1. Invert the bits

2. Add 1

• Example: Flip the sign of 310 = 00112

1. 1100

2. + 1

1101 = -310

“Taking the Two’s Complement”

ENGR 303

Alternative Two’s Complement Method: starting with the LSB write the same digits until you reach the first 1, keep the 1 and invert all other bits to its left

Page 18: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<18>

• Take the two’s complement of 610 = 01102

• What is the decimal value of 10012?

Two’s Complement Examples

ENGR 303

Page 19: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<19>

• Take the two’s complement of 610 = 01102

1. 1001

2. + 1

10102 = -610

• What is the decimal value of the two’s

complement number 10012?1. 0110

2. + 1

01112 = 710, so 10012 = -710

Two’s Complement Examples

ENGR 303

Page 20: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<20>

+01101010

+11100011

• Add 6 + (-6) using two’s complement

numbers

• Add -2 + 3 using two’s complement numbers

Two’s Complement Addition

ENGR 303

Page 21: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<21>

+01101010

10000

111

+11100011

10001

111

• Add 6 + (-6) using two’s complement

numbers

• Add -2 + 3 using two’s complement numbers

Two’s Complement Addition

ENGR 303

Page 22: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<22>

• Discrete voltages represent 1 and 0

• For example:

0 = ground (GND) or 0 volts

1 = VCC or 5 volts [TTL: VCC CMOS: VDD ]

• What about 4.99 volts? Is that a 0 or a 1?

• What about 3.2 volts?

Logic Levels

ENGR 303

Page 23: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<23>

• Range of voltages for 1 and 0

• Different ranges for inputs and outputs to allow for noise

Logic Levels

ENGR 303

Page 24: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<24>

• Anything that degrades the signal

– E.g., resistance, power supply noise, coupling to neighboring wires, etc.

• Example: a gate (driver) outputs 5 V but, because of resistance in a long wire, receiver gets 4.5 V

Driver ReceiverNoise

5 V 4.5 V

What is Noise?

ENGR 303

Page 25: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<25>

• With logically valid inputs, every circuit element must produce logically valid outputs

• Use limited ranges of voltages to represent discrete values

The Static Discipline

ENGR 303

Page 26: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<26>

Driver Receiver

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput Characteristics

VO H

VDD

VO L

GND

VIH

VIL

Logic High

Input Range

Logic Low

Input Range

Logic High

Output Range

Logic Low

Output Range

Logic Levels

ENGR 303

Page 27: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<27>

Driver Receiver

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput Characteristics

VO H

VDD

VO L

GND

VIH

VIL

Logic High

Input Range

Logic Low

Input Range

Logic High

Output Range

Logic Low

Output Range

NMH = VOH – VIH

NML = VIL – VOL

Noise Margins

ENGR 303

Page 28: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<28>

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL, V

IH

0

A Y

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL

VIH

Unity Gain

Points

Slope = 1

0V

DD / 2

Ideal Buffer: Real Buffer:

NMH = NML = VDD/2 NMH , NML < VDD/2

DC Transfer Characteristics

ENGR 303

Page 29: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<29>

Forbidden

Zone

NML

NMH

Input CharacteristicsOutput CharacteristicsV

DD

VO L

GND

VIH

VIL

VO H

A Y

VDD

V(A)

V(Y)

VOH

VDD

VOL

VIL

VIH

Unity Gain

Points

Slope = 1

0

DC Transfer Characteristics

ENGR 303

Page 30: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<30>

Logic Family VCC or VDD VIL VIH VOL VOH

TTL 5 (4.75 - 5.25) 0.8 2.0 0.4 2.4

CMOS 5 (4.5 - 6) 1.35 3.15 0.33 3.84

LVTTL 3.3 (3 - 3.6) 0.8 2.0 0.4 2.4

LVCMOS 3.3 (3 - 3.6) 0.9 1.8 0.36 2.7

Logic Family Examples

ENGR 303

Page 31: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<31>

g

s

d

g = 0

s

d

g = 1

s

d

OFF ON

• Logic gates built from transistors

• 3-ported voltage-controlled switch– 2 ports connected depending on voltage of 3rd

– d and s are connected (ON) when g is 1

Transistors

ENGR 303

Page 32: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<32>

Silicon Lattice

Si SiSi

Si SiSi

Si SiSi

As SiSi

Si SiSi

Si SiSi

B SiSi

Si SiSi

Si SiSi

-

+

+

-

Free electron Free hole

n-Type p-Type

• Transistors built from silicon, a semiconductor

• Pure silicon is a poor conductor (no free charges)

• Doped silicon is a good conductor (free charges)

– n-type (free negative charges, electrons)

– p-type (free positive charges, holes)

Silicon

ENGR 303

Page 33: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<33>

n

p

gatesource drain

substrate

SiO2

nMOS

Polysilicon

n

gate

source drain

• Metal oxide silicon (MOS) transistors:

– Polysilicon (used to be metal) gate

– Oxide (silicon dioxide) insulator

– Doped silicon

MOS Transistors

ENGR 303

Page 34: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<34>

n

p

gate

source drain

substrate

n n

p

gatesource drain

substrate

n

GND

GND

VDD

GND

+++++++

- - - - - - -

channel

Gate = 0

OFF (no connection

between source and

drain)

Gate = 1

ON (channel between

source and drain)

Transistors: nMOS

ENGR 303

Page 35: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<35>

• pMOS transistor is opposite– ON when Gate = 0

– OFF when Gate = 1

SiO2

n

gatesource drain

Polysilicon

p p

gate

source drain

substrate

Transistors: pMOS

ENGR 303

Page 36: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<36>

g

s

d

g = 0

s

d

g = 1

s

d

g

d

s

d

s

d

s

nMOS

pMOS

OFFON

ONOFF

Transistor Function

ENGR 303

Page 37: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<37>

• nMOS: pass good 0’s, so connect source to GND

• pMOS: pass good 1’s, so connect source to VDD

pMOS

pull-up

network

output

inputs

nMOS

pull-down

network

Transistor Function

ENGR 303

Page 38: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<38>

VDD

A Y

GND

N1

P1

NOT

Y = A

A Y0 1

1 0

A Y

A P1 N1 Y

0

1

CMOS Gates: NOT Gate

ENGR 303

Page 39: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<39>

VDD

A Y

GND

N1

P1

NOT

Y = A

A Y0 1

1 0

A Y

A P1 N1 Y

0 ON OFF 1

1 OFF ON 0

CMOS Gates: NOT Gate

ENGR 303

Page 40: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<40>

A

B

Y

N2

N1

P2 P1

NAND

Y = AB

A B Y0 0 1

0 1 1

1 0 1

1 1 0

AB

Y

A B P1 P2 N1 N2 Y

0 0

0 1

1 0

1 1

CMOS Gates: NAND Gate

ENGR 303

Page 41: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<41>

A

B

Y

N2

N1

P2 P1

NAND

Y = AB

A B Y0 0 1

0 1 1

1 0 1

1 1 0

AB

Y

A B P1 P2 N1 N2 Y

0 0 ON ON OFF OFF 1

0 1 ON OFF OFF ON 1

1 0 OFF ON ON OFF 1

1 1 OFF OFF ON ON 0

CMOS Gates: NAND Gate

ENGR 303

Page 42: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<42>

pMOS

pull-up

network

output

inputs

nMOS

pull-down

network

CMOS Gate Structure

ENGR 303

Page 43: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<43>

How do you build a three-input NOR gate?

NOR Gate

ENGR 303

Page 44: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<44>

B

CY

A

NOR3 Gate

ENGR 303

Page 45: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<45>

A logic circuit is composed of:

• Inputs

• Outputs

• Functional specification

• Timing specification

inputs outputsfunctional spec

timing spec

Introduction

ENGR 303

Page 46: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<46>

• Nodes– Inputs: A, B, C

– Outputs: Y, Z

– Internal: n1

• Circuit elements– E1, E2, E3

– Each a circuit

A E1

E2

E3B

C

n1

Y

Z

Circuits

ENGR 303

Page 47: ENGR 303 Introduction to Logic Design Lecture 2 · 2020. 8. 13. · ENGR 303 –Introduction to Logic Design Lecture 2 Dr. Chuck Brown Engineering and Computer Information Science

<47>

• Combinational Logic

– Memoryless

– Outputs determined by current values of inputs

• Sequential Logic

– Has memory

– Outputs determined by previous and current values of

inputs

inputs outputsfunctional spec

timing spec

Types of Logic Circuits

ENGR 303