The following will be discussed in this chapter: Read-only memory can normally only be read, internal organization similar to SRAM, ROMs are effective at implementing truth tables, multiple single-bit functions embedded in a single ROM, also used in computer systems for initialization, very useful for implementing FSMs.
Trang 1Lecture 30
Read Only Memory (ROM)
Trang 2w
° Read-only memory can normally only be read
° Internal organization similar to SRAM
° ROMs are effective at implementing truth tables
• Any logic function can be implemented using ROMs
° Multiple single-bit functions embedded in a single ROM
° Also used in computer systems for initialization
• ROM doesn’t lose storage value when power is removed
° Very useful for implementing FSMs
Trang 3° Data can be read but not changed
• (normal operating conditions)
Data is written to the ROM once, and read from the ROM many times.
A read-only memory (ROM) consists of an array of
semiconductor devices that are interconnected to store a set
of binary data.
Once binary data is stored in the ROM, it can be read out
Trang 4° ROMs are actually combinational devices, not sequential
ones!
• You can’t store arbitrary data into a ROM, so the same address will always
contain the same data.
• You can think of a ROM as a combinational circuit that takes an address as
input, and produces some data as the output.
° A ROM table is basically just a truth table.
• The table shows what data is stored at each ROM address.
• You can generate that data combinationally, using the address as the input.
Trang 5° N input bits
° 2 N words by M bits
° Implement M arbitrary functions of N variables
• Example 8 words by 5 bits:
A B C
Trang 6ROM – Basic Structure
address
data
Trang 7° ROM = "Read Only Memory"
• values of memory locations are fixed ahead of time
° A ROM can be used to implement a truth table
• if the address is m-bits, we can address 2 m entries in the ROM.
• our outputs are the bits of data that the address points to.
• m is the "height", and n is the "width"
Trang 8° Suppose there are 10 inputs
10 address lines (i.e., 2 10 = 1024 different addresses)
° Suppose there are 20 outputs
° ROM is 2 10 x 20 = 20K bits (and a rather unusual size)
° Rather wasteful, since lots of storage bits
• For functions, doesn’t take advantage of K-maps, other
minimization
ROM Implementation
Trang 9Each minterm of each function can be specified
Trang 10m Outputs Lines
.
Trang 16Function
Implementation
3 to 8 decoder
Each column is a new function
Note: two outputs unused!
Trang 18° We can already convert truth tables to circuits
easily, with decoders.
° For example, you can think of this old circuit as a
memory that “stores” the sum and carry outputs from the truth table on the right.
Trang 19• A blank ROM just provides a decoder and several OR gates.
• The connections between the decoder and the OR gates are
“programmable,” so different functions can be implemented.
° To program a ROM, you just make the desired
connections between the decoder outputs and the
OR gate inputs.
Trang 20M exa mpl e
° Blue crosses ( X ) indicate connections between
decoder outputs and OR gates Otherwise there is
no connection.
Trang 21Same Example
° Here is an alternative presentation of the same 8 x 3 ROM,
using “abbreviated” OR gates to make the diagram neater.
° This combinational circuit can be considered a read-only
memory.
• It stores eight words of data, each consisting of three bits.
• The decoder inputs form an address , which refers to one of the eight
available words.
• So every input combination corresponds to an address, which is “read” to
produce a 3-bit data output.
Trang 22ROMs vs RAMs
° There are some important differences between
ROM and RAM.
• ROMs are “non-volatile”—data is preserved even without power
On the other hand, RAM contents disappear once power is lost.
• ROMs require special (and slower) techniques for writing, so
they’re considered to be “read-only” devices
° Some newer types of ROMs do allow for easier
writing, although the speeds still don’t compare
with regular RAMs.
• MP3 players, digital cameras and other toys use CompactFlash,
Secure Digital, or MemoryStick cards for non-volatile storage.
• Many devices allow you to upgrade programs stored in “flash
ROM.”
Trang 23ROM Implementation of a Moore
Machine
° ROMs implement combinational logic
° Note that ROMs do not hold state
° How would you determine the maximum clock
frequency of this circuit?
• Look at the FF to FF path (NS to PS)
Present State
Next State
Outputs Inputs
Trang 24ROM Implementation of a Mealy
Machine
° ROMs implement combinational logic
° Note that ROMs do not hold state
° How would you determine the maximum clock
frequency of this circuit?
• Look at the FF to FF path (NS to PS)
ROM
ROM
Present State
Next State
Outputs Inputs
Trang 25° ROMs provide stable storage for data
° ROMs have address inputs and data outputs
• ROMs directly implement truth tables
° ROMs can be used effectively in Mealy and Moore machines
to implement combinational logic
° In normal use ROMs are read-only
• They are only read, not written
° ROMs are often used by computers to store critical
information
• Unlike SRAM, they maintain their storage after the power is turned off