EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

31
EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs

Transcript of EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Page 1: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

EE365Adv. Digital Circuit Design

Clarkson University

Lecture #9

Math Units

ROMs

Page 2: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Topics

• Comparators

• Adders

• Multipliers

• ROMs

Rissacher EE365Lect #9

Page 3: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Equality Comparators

• 1-bit comparator

• 4-bit comparator

EQ_L

Rissacher EE365Lect #9

Page 4: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

8-bit Magnitude Comparator

Rissacher EE365Lect #9

Page 5: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Other conditions

Rissacher EE365Lect #9

Page 6: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Adders• Basic building block is “full adder”

– 1-bit-wide adder, produces sum and carry outputs

• Truth table:X Y Cin S Cout

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

Rissacher EE365Lect #9

Page 7: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Full-adder circuit

Rissacher EE365Lect #9

Page 8: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Ripple adder

• Speed limited by carry chain• Faster adders eliminate or limit carry chain

– 2-level AND-OR logic ==> 2n product terms– 3 or 4 levels of logic, carry look-ahead

Rissacher EE365Lect #9

Page 9: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

74x2834-bit

adder

• Uses carry look-ahead internally

Rissacher EE365Lect #9

Page 10: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

“generate”

“propagate”

“half sum”

carry-in from previous stage

Rissacher EE365Lect #9

Page 11: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Ripple carry

between groups

Rissacher EE365Lect #9

Page 12: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Look-ahead carry between

groups

Rissacher EE365Lect #9

Page 13: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

• Subtraction is the same as addition of the two’s complement.

• The two’s complement is the bit-by-bit complement plus 1.

• Therefore, X – Y = X + Y + 1 .– Complement Y inputs to adder, set Cin to 1.

– For a borrow, set Cin to 0.

Subtraction

Rissacher EE365Lect #9

Page 14: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Full subtractor = full adder, almost

Rissacher EE365Lect #9

Page 15: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Multipliers

• 8x8 multiplier

Rissacher EE365Lect #9

Page 16: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Full-adder array

Rissacher EE365Lect #9

Page 17: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Faster carry chain

Rissacher EE365Lect #9

Page 18: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Read-Only Memories

Rissacher EE365Lect #9

Page 19: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Why “ROM”?

• Program storage– Boot ROM for personal computers– Complete application storage for embedded

systems.

• Actually, a ROM is a combinational circuit, basically a truth-table lookup.– Can perform any combinational logic function– Address inputs = function inputs– Data outputs = function outputs

Rissacher EE365Lect #9

Page 20: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Logic-in-ROM

example

Rissacher EE365Lect #9

Page 21: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

4x4 multiplier example

Rissacher EE365Lect #9

Page 22: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Internal ROM

structure

PDP-11 boot ROM(64 words, 1024 diodes)

Rissacher EE365Lect #9

Page 23: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Two-dimensional decoding

?Rissacher EE365Lect #9

Page 24: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Larger example, 32Kx8 ROM

Rissacher EE365Lect #9

Page 25: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Today’s ROMs• 256K bytes, 1M byte, or larger

• Use MOS transistors

Rissacher EE365Lect #9

Page 26: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

EEPROMs, Flash PROMs

• Programmable and erasable using floating-gate MOS transistors

Rissacher EE365Lect #9

Page 27: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Typical commercial EEPROMs

Rissacher EE365Lect #9

Page 28: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

EEPROM programming

• Apply a higher voltage to force bit change– E.g., VPP = 12 V– On-chip high-voltage “charge pump” in newer chips

• Erase bits– Byte-byte– Entire chip (“flash”)– One block (typically 32K - 66K bytes) at a time

• Programming and erasing are a lot slower than reading (milliseconds vs. 10’s of nanoseconds)

Rissacher EE365Lect #9

Page 29: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Microprocessor EPROM application

Rissacher EE365Lect #9

Page 30: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

ROM control and I/O signals

Rissacher EE365Lect #9

Page 31: EE365 Adv. Digital Circuit Design Clarkson University Lecture #9 Math Units ROMs.

Next time

• Latches

• Flip Flops

• Clocking

Rissacher EE365Lect #9