1 ee121 john wakerly lecture #6 adders multipliers read-only memories barrel-shifter design example

34
1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

Upload: shawn-mosley

Post on 13-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

1

EE121 John Wakerly Lecture #6

Adders

Multipliers

Read-Only Memories

Barrel-Shifter Design Example

Page 2: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

2

Equality Comparators

• 1-bit comparator

• 4-bit comparator

EQ_L

Page 3: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

3

8-bit Magnitude Comparator

Page 4: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

4

Other conditions

Page 5: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

5

Comparators in ABEL

• Equality checking–PEQQ = ([P7..P0] == [Q7..Q0]);–PEQQ_L = !([P7..P0] == [Q7..Q0]);– 16 product terms

• Magnitude comparison–PGTQ = ([P7..P0] > [Q7..Q0]);–PGTQ_L = !([P7..P0] > [Q7..Q0]);– 255 product terms (try it in Foundation!)

Page 6: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

6

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

Page 7: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

7

Full-adder circuit

Page 8: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

8

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 lookahead

Page 9: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

9

74x2834-bit adder

• Uses carry lookahead internally

Page 10: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

10

“generate”

“propagate”

“half sum”

carry-in from previous stage

Page 11: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

11

Ripple carry

between groups

Page 12: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

12

Lookahead carry between groups

Page 13: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

13

Addition in ABEL

• Easy? – No -- huge number of

product terms!

– On the order of 2n for bit n– @CARRY directive

Page 14: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

14

Subtraction

• 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.

Page 15: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

15

Full subtractor = full adder, almost

Page 16: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

16

Multipliers

• 8x8 multiplier

Page 17: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

17

4x4 multiplier in ABEL

Page 18: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

18

Full-adder array

Page 19: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

19

Faster carry chain

Page 20: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

20

Read-Only Memories

Page 21: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

21

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

Page 22: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

22

Logic-in-ROM example

Page 23: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

23

4x4 multiplier example

Page 24: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

24

Internal ROM

structure

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

Page 25: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

25

Two-dimensional decoding

?

Page 26: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

26

Larger example, 32Kx8 ROM

Page 27: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

27

Today’s ROMs

• 256K bytes, 1M byte, or larger• Use MOS transistors

Page 28: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

28

EEPROMs, Flash PROMs

• Programmable and erasable using floating-gate MOS transistors

Page 29: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

29

Typical commercial EEPROMs

Page 30: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

30

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)

Page 31: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

31

Microprocessor EPROM application

Page 32: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

32

ROM control and I/O signals

Page 33: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

33

ROM timing

Page 34: 1 EE121 John Wakerly Lecture #6 Adders Multipliers Read-Only Memories Barrel-Shifter Design Example

34

Next time

• Sequential circuits (Chapter 7)