1 memory design ee 208 – logic design chapter 7 sohaib majzoub

54
1 Memory Design Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

Upload: brent-knight

Post on 04-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

1

Memory Design Memory Design

EE 208 – Logic Design

Chapter 7

Sohaib Majzoub

Page 2: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

2Combinational PLDs and PLAsCombinational PLDs and PLAs

• So far the logic you design is fixed before fabrication and it cannot be altered or changed.

• PLD stands for programmable logic device, and PLA stands for programmable logic array.

• PLD/PLA is a programmable logic that allows the designer to modify and change the underlying logic to implement any function after fabrication.

• PLD is a two level AND-OR device that can be programmed to realize any sum of products logic expression.

• Some of the limitations: the number of inputs (n), the number of outputs (m), and the product terms.

Page 3: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

3PLDs and PLAsPLDs and PLAs

• Expressed as nxm PLA with p products: 4x3 PLA (not programmed yet)

Page 4: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

4PLDsPLDs• A compact representation of 4x3 PLA:

Page 5: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

5Programming PLDsProgramming PLDs• At each corner there is a fuse that can be blown

(disconnected) to build the targeted logic function. • Once programmed it cannot changed.

Page 6: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

6Sequential PLDsSequential PLDs

• In addition to the AND-OR logic, DFFs are added to implement sequential state machine.

Page 7: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

7Memory DesignMemory Design

• Memories are circuits or systems that store digital information in large quantities.

• Different forms: SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), E2PROM (Electrically Erasable Programmable ROM), and Flash (a specific type of E2PROM).

• Most of these different types have same structure, organization and access mechanism, but different memory cell.

Page 8: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

8RAM and ROMRAM and ROM

• Random Access Memories: memory locations (addresses) can be accessed in random order at a fixed rate, independent of physical location, for both reading or writing.

• RAM are volatile memories, the information is lost if power supply is interrupted.

• Read Only Memories: have the same access property as RAM (Random Access), however Read Only Memories or ROMs are a non-volatile type of memory.

Page 9: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

9RAMRAM

• Two most common types: SRAM and DRAM.

• SRAM stores the logic value using Static CMOS gates (similar to flipflop circuits). SRAM is considered fast.

• DRAM stores the logic value in capacitors. Susceptible to Noise and Leakage current problems, (hence dynamic, contents need to be refreshed).

• It can be slower than SRAM, but can store much higher bit density (can reach up to 4x SRAM density).

Page 10: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

10

Static RAM Internal Structure

• Uses two back to back inverters as storage cell• Can also be built using D-latch

Page 11: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

11

Dynamic RAM Dynamic RAM CellCell

Bit Line

Word Line

Pass Transistor

Storage Capacitor

Page 12: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

12

DRAM RefreshDRAM Refresh

Time

Vcap

Vcc

0 V

HIGH

LOW

0 stored1 stored

Refresh

Page 13: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

13ROMROM

• The simplest form of ROMs are programmed before manufacturing and the contents cannot change after fabrication.

• PROM are programmable ROM, such that the memory can be programmed after fabrication to store the data.

• After programming, the data cannot change.• EPROM are erasable programmable ROM. All bit

can be erased by exposure to ultraviolet light.• They have transparent windows over the chip to

permit the UV radiation to get into the chip.

Page 14: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

14E2PROME2PROM

• Electrically erasable PROM, instead of using UV light, the erasing process uses electrical means.

• Unlike EPROM, where the exposure to UV erases the whole ROM, E2PROM has an advantage is that it can be selectively erased.

Page 15: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

15Memory OrganizationMemory Organization• The storage array or core is made up of simple cell

circuits arranged to share connections in horizontal rows and vertical columns.

• The horizontal lines, which are driven only from outside the storage array, are called wordlines, while the vertical lines, along which data flow into and out of cells, are called bitlines.

• A cell is accessed for reading or writing by selecting its row and column.

• Each call can store 0 or 1.• Memories may simultaneously select 1, 4, 8, 16, 32,

or 64 columns in one row, which are determined by decoding binary address information.

Page 16: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

16Memory OrganizationMemory Organization

• In a memory cell array with [n,m] address has 2nx2m memory cells.

• The row decoder is an n-bit decoder with n address bits and 2n outputs connected to the wordlines.

• The column multiplexer has m-bit address that selects out of 2m columns, bitlines, which can be of 1, 4, 8, 16, 32, or 64 bits at the same time.

Page 17: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

17Memory OrganizationMemory Organization

Page 18: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

18Two Dimensional Decoding

0

Example: 256 bytes ROM (256 words 1 byte = 256 byte)

1 15. . . . . . . . . .

16 31

. .

. .

.

. .

. .

.

17

. .

. .

.

. . . . . . . . . .

240 255241 . . . . . . . . . .

4-to-16 Row Decoder

0

1

2

3

0

1

15

16-to-18-bit Column Multiplexer

8 bit lines

0123

0 1 15

D[7:0]

A0A1A2A3

A4

A5A6A7

Page 19: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

19Two Dimensional Decoding

0

Example: 16Kbytes RAM (16K words 1 byte = 16Kbyte)

1 127. . . . . . . . . .

128 255

. .

. .

.

. .

. .

.

129

. .

. .

.

. . . . . . . . . .

16256 1638416257 . . . . . . . . . .

1

2

3

4

0

1

127

(7-to-128) decoder(128-to-1) 8-bit Column Multiplexer

8 bit lines

0123

0 1 127

D[7:0]

A00A01A02A03

A08

A09A10A11

5A12

0A07

6A13

456

A04A05A06

(7-t

o-12

8) d

ecod

er(1

-to-

128)

8-b

it R

ow D

eMul

tiple

xer

Input Data Bus

8 bit lines

8 bit lines

Page 20: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

20

Page 21: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

21

Page 22: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

22

Page 23: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

23

Page 24: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

24

Page 25: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

25

Page 26: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

26

Page 27: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

27

Page 28: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

28

Page 29: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

29

Page 30: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

30

Page 31: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

31

Page 32: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

32

Page 33: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

33

Page 34: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

34

Page 35: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

35

Page 36: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

36

Page 37: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

37

Page 38: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

38

Page 39: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

39

Page 40: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

40

Page 41: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

41Field Programmable Gate ArraysField Programmable Gate Arrays

Page 42: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

42Field Programmable Gate ArraysField Programmable Gate Arrays

Page 43: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

43Field Programmable Gate ArraysField Programmable Gate Arrays

Page 44: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

44Field Programmable Gate ArraysField Programmable Gate Arrays

Page 45: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

45Field Programmable Gate ArraysField Programmable Gate Arrays

Page 46: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

46

2.5D Memory Organization2.5D Memory Organization

• 2.5D Memory Organization• The memory organization shown for RAMs and ROMs above suffers from a problem of scale: it works fine when the

number of words in the memory is relatively small but quickly mushrooms as the memory is scaled up or increased in size. This happens because the number of word select wires is an exponential function of the size of the address. Suppose that the MAR is 10 bits wide, which means there are 1024 words in the memory. The decoder will need to output 1024 separate lines. While this is not necessarily terrible, increasing the MAR to 15 bits means there will be 32,768 wires, and 20 bits would be over a million.

• Fig. 1 shows a 16-word memory of 5-bit words using the conventional organization:

Page 47: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

47

• Notice that the decoder gets quite complicated because the number of lines coming out of it is an exponential function of the number of wires coming in. Imagine a 32-bit address! There would be 4 billion wires coming out.

• One way to tackle the exponential explosion of growth in the decoder and word select wires is to organize memory cells into a two-dimension grid of words instead of a one-dimensional arrangement. Then the MAR is broken into two halves, which are fed separately into smaller decoders. One decoder addresses the rows of the grid while the other decoder addresses the columns. Fig. 2 shows a 2.5D memory of 16 words, each word having 5 bits:

Page 48: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

488 by 4 Memory 8 by 4 Memory

• 8 by 4 Memory

Chapter 3 - Part 1 48

Page 49: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

49

Chapter 3 - Part 1 49

Page 50: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

50

Extend size of memory Extend size of memory

• Extend size of memory

Chapter 3 - Part 1 50

Page 51: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

51ROMROM

• Truth Table

Chapter 3 - Part 1 51

Page 52: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

52

Chapter 3 - Part 1 52

Page 53: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

53

Simple Encoder Simple Encoder

Chapter 3 - Part 1 53

Page 54: 1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub

54

Design of 4 to 8 ROMDesign of 4 to 8 ROM

• Design of 4 to 8 ROM

Chapter 3 - Part 1 54