read only memory (rom) - university of...

37
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1 Read Only Memory (ROM) Device that allows permanent storage of information. Device has k input (address) lines and n output (data) lines. We can store 2 k £ n bits of information inside the device. The address lines specify a memory location; The data outputs at any time represents the value stored at the memory location specified on the address lines.

Upload: vuongxuyen

Post on 04-Apr-2018

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

Read Only Memory (ROM)

Device that allows permanent storage of information.

Device has k input (address) lines and n output (data) lines.

We can store 2k £ n bits of information inside the device.

The address lines specify a memory location;

The data outputs at any time represents the value stored at the memory location specified on the address lines.

Page 2: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 2

ROM Block Diagram

High level block diagram for a ROM:

k inputs n outputs2^k x nROM

Page 3: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 3

ROM Block Diagram

Uses an address decoder such that the k address lines selects one word of the 2k

words of data stored in the ROM.

Each of the 2k £ n bits inside of the ROM are programmable via opening and/or closing switches.

A(k-1)

addressdecoder

0/1 0/10/1 0/1

0/1 0/10/1 0/1

0/1 0/10/1 0/1

A(2)

A(1)

A(0)

D(0)D(1)D(2)D(n-1)

read

Page 4: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 4

Implementing Functions With ROM

Can implement multi-input/multi-output logic functions inside of ROM.

Data outputs are the logic functions and the address lines are the logic function inputs.

We create a ROM Table to store the logic functions.

When an input (or address) is presented, the value stored in the specified memory location appears at the data outputs.

Each data output represents the correct value for its logic function.

Page 5: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 5

Implementing Functions With ROM

E.g., Implement the 3-input logics f0 = (0,1,5,7), f1 = (0,1,2,6) and f2 = (2,3,4) using a ROM.

c

b

a

1

A(0)

A(1)

A(2)

D(2) D(1) D(0)

READ EN

8 x 3 ROM

f2 f1 f0

011 (3)

011 (3)

110 (6)

100(4)

100(4)

001 (1)

010 (2)

001 (1)

0

1

6

7

5

4

3

2

3-to-8 decoder

Page 6: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 6

Types of ROM

Several technologies for implementing ROM:

PROM (Programmable Read-Only Memory):

PROM contains fuses giving logic value of 1 to all bits in device. Programming means “blowing” fuses to give some bits a logic value of 0.

Once programmed, that‟s it – programming cannot be changed.

EPROM (Electrically Programmable Read-Only Memory):

Can be “erased” by exposure to UV light. Otherwise, same as PROM.

EEPROM (Electrically Erasable Programmable Read-Only Memory):

Can be “erased electrically”. Otherwise, same as a PROM.

In programming, these devices all have an extra pin (or extra pins) where the programming information (bit stream) is applied to do the programming.

Page 7: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 7

Textbook

ROM are described in Chapter 7, Section 7.5 of the textbook.

Page 8: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 8

Random Access Memory (RAM)

Storage device to which we can both read and write information.

data inputs

data outputs

address

read

write

k

n

n

2^k x nRAM

Page 9: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 9

Random Access Memory (RAM)

S Q

R

output

read/write

select

input

Internally, we need to be able to both read and write to bits of memory.

Consider the following circuit that can function as a bit of memory:

1 bitmemory

read/write

select

outputinput

Note: circuit is not really made like this, but this will function correctly to explain the concept…

Page 10: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 10

Random Access Memory (RAM)

Take 1-bit memory and connect them into an array:

1 bitmemory

read/write

select

outputinput

addressdecoder

A(2)

A(1)

A(0)

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

1 bitmemory

D(0)D(1)D(2)D(n-1)

D(0)D(1)D(2)D(n-1)

data outputs

data inputs

read/write

A(k-1)

Page 11: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 11

Random Access Memory (RAM)

D(n-1) D(2) D(1) D(0)

read/write

dat

a in

put

dat

a in

put

dat

a in

put

dat

a in

put

data ouput

data ouput

data ouput

data ouput

Can also share data lines with both input and output data using tri-state buffers (enabled by the read/write signal):

1 bitmemory

read/write

select

outputinput

Page 12: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 12

Textbook

RAM is described in Chapter 7, Sections 7.2 and 7.3 of the course textbook.

Page 13: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 13

Programmable Logic Array (PLA)

Programmable device capable of implementing functions expressed in SOP.

Consists of input buffers and inverters followed by:

Programmable AND plane, followed by

Programmable OR plane.

Page 14: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 14

Programmable Logic Array (PLA)

input buffers and inverters

AND plane OR plane

Can implement m logic functions of n variables. Limit is the number of product terms that can be generated inside of the device.

Page 15: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 15

Programmable Logic Array (PLA)

f1 f2

x1 x2 x3

Example implementing 2 logic functions of 3 inputs using a 3-5-2 PLA.

Page 16: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 16

Programmable Array Logic (PAL)

Similar to a PLA, but only has a programmable AND plane.

The OR plane is fixed.

Not as flexible as a PLA since only certain AND gates feed each OR gate, but has fewer things that need programming.

Page 17: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 17

Programmable Array Logic (PAL)

f1

f2

x1 x2 x3

Example of a PAL:

Page 18: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 18

Programmable Array Logic (PAL)

Sometimes the outputs are fed back internally and can be used to create product terms.

f2

x3x1 x2

f1

Page 19: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 19

Programmable Logic Array (PLA)

PLA and PAL are described in Chapter 7, Sections 7.6 and 7.7 of the course textbook.

Page 20: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 20

Simple Programmable Logic Device (SPLD)

To implement sequential circuits, take a PAL and add some flip-flops at the output of the OR plane.

For example…

D Q

R

S

from OR plane

to AND plane

Above circuit (plus SOP from the AND plane and OR gate) form a MacroCell.

Several MacroCells together in the same IC is called an SPLD.

Page 21: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 21

Complex Programmable Logic Device (CPLD)

PLA, PAL and SPLD typically contain small number of outputs (e.g., 16 outputs) with many inputs (e.g., 36 inputs) and a fair number of product terms.

Therefore only good for simple circuits where each equation has a wide fanin.

Using a Complex Programmable Logic Device (CPLD) is the “next step” if we have a large complicated circuit…

CLPD consists of many SPLD connected together by a Programmable Routing Fabric all in the same IC.

Page 22: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 22

Complex Programmable Logic Device (CPLD)

Typical architecture (each PAL-like block has many inputs – e.g., 36 - , many product terms – e.g., 80 – and several outputs – e.g., 16).

PAL-like

block

PAL-like

block

PAL-like

block

PAL-like

block

PAL-like

block

PAL-like

block

PAL-like

block

PAL-like

block

IO b

lock

IO b

lock

IO b

lock

IO b

lock

IO b

lock

IO b

lock

IO b

lock

IO b

lock

Inte

rco

nn

ectio

n w

ire

s

Page 23: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 23

Complex Programmable Logic Device (CPLD)

Can “zoom in” around one of the PAL blocks:

Product

Term

Matrix

(PTM)

Product

Term

Array

(PTA)

MacroCell

1

2

3

36

MacroCell

MacroCell

MacroCell

MacroCell

MacroCell

MacroCell

MacroCell

MacroCell

interconnect wires routed

into PAL block using MUX

In addition to programming the AND plane and MacroCells, also need to program the multiplexer select lines to “route” the correct signals into the PAL block.

Page 24: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 24

Types of PLA, PAL, SPLD and CPLD

Programming of these devices is similar to ROM; i.e., these devices are typically either PROM, EPROM or EEPROM.

Programming info is generated (perhaps with a software tool), and the bit stream of program info is provided to one (or a few) additional pins on the device.

Also possible (these days) to have SRAM-based PLDs…

In SRAM devices, the programming info is lost when power is turned off.

Necessary to re-program device every time the system is powered up.

Often to see a configuration EPROM beside an SRAM based PLD on a circuit board.

Two chip solution… The EPROM holds the program that gets applied to the PLD upon power up.

Page 25: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 25

Textbook

SPLD and CPLD are described in Chapter 7, Section 7.8 of the textbook.

Page 26: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

Standard

Logic

Logic

ASIC

Full custom

ICs

Cell-Based

ICs

Gate

Arrays

Programmable

Logic Devices

FPGAsCPLDsSPLDs FPICs

Page 27: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

Introduction to FPGAs (1)

Field Programmable Gate Arrays

Back to basics: all programs are essentially a series of logic operations on bits

The key idea is that FPGAs are custom-designed like ICs (ASICs), but are also software-reprogrammable

Page 28: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

Introduction to FPGAs (2)

You can in some sense think of an FPGA as a grid of wires connecting together logic gates. The joints between the wires are defined when you „configure‟ the device.

These wires have “fuses” between them – and the “fuses” can be “blown” or connected in software.

At least, that was the original idea (Programmable Array Logic) – now they are far more sophisticated.

Page 29: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 29

Field Programmable Gate Array (FPGA)

Another type of programmable device capable of handling large circuits.

Different from a CPLD:

Logic is not implemented in terms of Product Terms/MacroCells

Implemented using Lookup Table (LUT) which are like little memories

Page 30: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device
Page 31: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

Introduction to FPGAs (3)

Instead of just AND/OR gates, FPGAs now use lookup table and flip-flop blocks, and include onboard memory (block RAM), hardware integer multipliers, fast I/O interconnects etc.

Page 32: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

What is a reconfigurable computer?

Idea whereby hardware can modify itself to suit executing program

„Reconfigurable computing‟ is sometimes used to refer to FPGAs alone.

We use the term to refer to hybrid computers that include both conventional microprocessors and FPGA reconfigurable logic.

Page 33: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 33

Field Programmable Gate Array (FPGA)

Typical FPGA consists of many small logic blocks interconnected by programmable routing resources.

Logic Logic Logic Logic

Logic Logic Logic Logic

Logic Logic Logic Logic

Logic Logic Logic Logic

IO b

lock

IO b

lock

IO block

IO block

switch blockconnection block

Page 34: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 34

Field Programmable Gate Array (FPGA)

Can “zoom in” around a logic block.

Logic Logic

IO IO IO IO

Routing resources around the logic blocks need to be programmed so signals get “routed” to where they are needed.

Page 35: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 35

Field Programmable Gate Array (FPGA)

Can “zoom in” inside a logic block (e.g., 3-input logic block):

inputs fromrouting fabric

D Q

R

S

x1 x2 x3

output torouting fabric

0/1

0/1

0/1

0/1

0/1

0/1

0/1

0/1

0/1

Can implement any 3-input function by properly programming the configuration bits.

Page 36: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 36

Types of FPGA

FPGA typically SRAM-based devices, but can be had in PROM, EPROM or EEPROM types.

Page 37: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device

E&CE 223 Digital Circuits and Systems (A. Kennings) Page 37

Summary of CPLD and FPGA

CPLD are:

Course-grained programmable architectures based on Product Term/MacroCell ideas (course-grained since each PAL-like block has many MacroCells, many inputs and many product terms).

Traditionally based on PROM, EPROM, EEPROM (but available SRAM-based).

Low to medium density - capable of implementing small to medium sized circuits.

FPGA are:

Fine-grained programmable architectures based on Lookup Table ideas (fine-grained since each logic block implements a function of few inputs).

Traditionally based on SRAM (but available in PROM, EPROM and EEPROM).

Medium to high density – capable of implementing medium to large sized circuits.