Download random-access memory

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Chap.6
6.1 Memory & Programmable Logic Device Definitions
1


Memory

a collection of cells capable of storing binary information

memory contains electronic circuits for storing & retrieving info
a digital computer

consist of three major units
 processing unit (registers + combinational logic)
 memory unit
 input-output unit
Chap.6
6.1 Memory & Programmable Logic Device Definitions
2

two types of memories

RAM (Random-Access Memory)
 can perform both read & write operation

ROM (Read-Only Memory)
 can perform only the read operation (cannot write)
 the existing information cannot be altered
 a programmable logic device (PLD)
(programming: a H/W procedure that specifies the bits
that are inserted into the H/W configuration of the device)

Programmable Logic Device (PLD)

ROM, PLA, PAL, CPLD, & FPGA

IC with internal logic gates (connected by a programmable process)
 initial state: all the fuses are intact
 programming by blowing those fuses along the paths
6.2 Random-Access Memory (RAM)

memory cells can be accessed for information transfer to
or from any desired random location

with access taking the same time regardless of the location
 random-access memory
(cf) serial memory: magnetic disk, tape

word : binary information in groups of bits in a memory unit

byte : a group of 8 bits
Chap.6
3
6.2 Random-Access Memory (RAM)

Chap.6
4
configuration:
 data input and output lines, address selection lines, & control lines

k address lines: specify the particular word
 address range: 0 to 2k-1
 2k = m (m: total number of words)
6.2 Random-Access Memory (RAM)
(ex) a memory unit w/ 1K words of 16 bits each
 1024 x 2 bytes = 2K bytes
 decimal address: 0 to 1023
 address: 10 bits; data: 16 bits
Chap.6
5
6.2 Random-Access Memory (RAM)

Write & Read Operations

steps of write operation
1) Apply the binary address to the address lines
2) Apply the data bits to the data input lines
3) Activate the Write input

steps of read operation
1) Apply the binary address to the address lines
2) Activate the Read input

control lines
 read & write
 memory select (or chip select) & operation (read/write)
Chap.6
6
6.2 Random-Access Memory (RAM)

Chap.6
7
Timing Waveforms

operation of the memory unit is controlled by an external device (CPU)

CPU is usually synchronized with its own clock pulses
(memory doesn't employ internal clock pulses)

Access time of a memory read operation
 the maximum time from the application of the address
to the appearance of the data at the Data Output

Write cycle time
 the maximum time from the application of the address
to the completion to store a word

CPU must provide the memory control signals to synchronize its
internal clocked operations with read/write operations of the memory
50MHz (= 20ns clock pulse)
6.2 Random-Access Memory (RAM)
write cycle time
access time
Chap.6
8
6.2 Random-Access Memory (RAM)

Properties of Memory

Static RAM (SRAM)
 consist of internal latches that store the binary info
 stored info remains valid as long as power is applied
 easier to use, shorter read and write cycles

Dynamic RAM (DRAM)
 store information in the form of electric charges
 capacitors are provided inside the chip by MOS transistors
 the capacitors must be periodically recharged by refreshing
 reduced power consumption, larger storage capacity

Volatile
 lose stored information when power is turned off
(ex) RAM (static or dynamic)
(cf) non-volatile
(ex) magnetic disk, ROM
Chap.6
9
6.3 RAM Integrated Circuits

Internal Structure


a RAM chip of m words & n bits per word consists of
m x n binary storage cells, and decoders
static RAM

Select = 0, the stored content is held & C=0 & C'=0
Select = 1, the stored content is determined by B & B',
C is the stored value & C' is its complement
Chap.6
10
6.3 RAM Integrated Circuits

Chap.6
11
RAM Bit
Slice Model
6.3 RAM Integrated Circuits

Chap.6
12
16 x 1 RAM Chip

4 address inputs for
the 16 one-bit words

Signals
Data Input,
Data Output,
Read/Write',
Chip Select

4-to-16 line decoder
6.3 RAM Integrated Circuits

Three-state Buffer

have three distinct states
 logic-0, logic-1, high-impedance (Hi-Z) state
 Hi-Z state: open circuit,
(the output appears to be disconnected)

ENABLE input (EN)
Three-state Buffer
Chap.6
13
6.3 RAM Integrated Circuits

Form a multiplexed output line
 truth table (in shaded area) is a 2-way multiplexer with S
Chap.6
14
6.3 RAM Integrated Circuits

Coincident Selection

A decoder with k inputs & 2k outputs requires
2k AND gates with k inputs per gate

employ 2 decoders to reduce the total number of gates
 Coincident Selection'

use 2 k/2-input decoders instead of 1 k-input decoder
 one controls the word select lines,
 the other controls the bit select lines
 two dimensional matrix selection scheme
Row select & Column select
Chap.6
15
6.3 RAM Integrated Circuits

Chap.6
16
16 x 1 RAM chip

4 RAM bit slice
of
4 bits
each
(total
16 RAM cells)

two 2-to-4 line
decoders
 one for 2
MSBs
 one for 2
LSBs
Chap.6
17
(cf) 8 x 2 RAM chip
(8 words of 2
bits each)
3 address bits


two are handled
by the
row decoder
column decoder
has only one
address bit &
produces 2
column select
lines
6.3 RAM Integrated Circuits
(Ex) 32K x 8 RAM

a total of 256K bits (= 218)

square root of 256K is 29
 first 9 bits fed to the row decoder
 remaining 6 bits to the column decoder


without coincident selection,
the single decoder has 15 inputs & 32,768 outputs
(32,800 gates)
with coincident selection,
one 9-to-512 decoder and one 6-to-64 line decoder
(608 gates)
Chap.6
18
6.4 Array of RAM ICs

if required memory size is larger than the capacity of one chip,
combine a number of chips in an array

capacity of memory
 the number of words & the number of bits per word

64K x 8 RAM chip

16 address lines, 8 input & 8 output lines

CS (chip select), R/W' inputs
Chap.6
19
6.4 Array of
RAM ICs

construct 256K x 8 RAM

four 64K x 8 RAM chips

requires 18-bit address
lines

2 MSBs are applied to
a 2 x 4 decoder,

4 outputs are applied to
the CS inputs of the
four chips
Chap.6
20
6.4 Array of RAM ICs

Form a 64K x 16 memory

16 data input & output lines are split between the two chips
Chap.6
21
6.5 Programmable Logic Technologies

Five programmable logic devides (PLDs)


ROM, PLA, PAL, CPLD, & FPGA
Programming technologies

fuse
 oldest of the programming technologies
 each of programmable points consists of a connection,
formed by a fuse
 2 connection states, CLOSED & OPEN

mask programming
 by semiconductor manufacturer

antifuse
 the opposite of a fuse

static RAM bit
 drive the gate of an MOS transistor at the programming point
Chap.6
22
6.5 Programmable Logic Technologies

use of programming technologies

control connections

implement logic by using lookup tables
 input: address inputs for reading the SRAM
 output: stored values for the addressed word

control transistor switching
Chap.6
23
6.6 Read-Only Memory

a memory device in which permanent binary info is stored

once a pattern is established, it stays even when power is off

consist of k address inputs and n data outputs

input: address for the memory;
output: data bits of the stored word, selected by the address
(no data input lines !!)

k address input lines are needed to specify 2k words
Chap.6
24
6.6 Read-Only Memory
(ex) a 32 x 8 ROM
 the unit consists of 32 words of 8 bits each
 a 5 x 32 decoder (5 input lines)
 the internal binary storage of a ROM is specified by a truth table
Chap.6
25
6.6 Read-Only Memory
Chap.6
26
(ex) the contents of a 32 x
8 ROM
programming the ROM
according to the truth table
6.6 Read-Only Memory


Chap.6
27
Types of ROMs

mask programming (ROM)

fuse (PROM)

erasable floating gate technology (EPROM)

electrically erasable technology (EEPROM, E2PROM)
Combinational Circuit Implementation

a decoder generates the 2k minterms of the k input variables

inserting OR gates to sum the minterms of Boolean functions
=> can generate any desired combinational circuit

ROM essentially includes both decoder & OR gates

ROM outputs can be programmed to represent the Boolean functions
in a combinational circuit

ROM may be considered as a comb circuit with (8) outputs,
each is a function of the (5) input variables
A7(I4,I3,I2,I1,I0) =  m(0,2,3,...,29)

widely used to implement complex combinational circuits directly
6.6 Read-Only Memory
Ex 6.1 Design a comb circuit using a
ROM
accepts a 3-bit number &
generates an output binary No. equal
to the square of the input No.
3 inputs & 6 outputs
but B0 = A0; B1 = 1;
 only need 4 outputs
 ROM must be 8 x 4
Chap.6
28
6.6 Read-Only Memory



Programmable Logic Device

an integrated circuit with an array of gates
that are connected by programmable fuses

the gates in a PLD are divided into AND array & OR array
to provide and AND-OR sum of products implementation
PROM

a fixed AND array constructed as a decoder &
programmable connections for the output OR gates

implements Boolean functions in sum-of-minterms form
PAL

a programmable connection AND array & a fixed OR array

AND gates are programmed to provide the product terms,
which are logically summed in each OR gate
Chap.6
29
6.6 Read-Only Memory


PLA

most flexible PLD

both AND & OR arrays can be programmed

product term in the AND array may be shared by any OR gate
to provide the required sum of products implementation
advantage of using the PLD

can be programmed to incorporate a complex logic function
within one IC
Chap.6
30
6.6 Read-Only Memory
Chap.6
31
6.7 Programmable Logic Array (PLA)

PLA is similar to the PROM in concept

but the PLA doesn't provide full decoding of the variables &
doesn't generate all the minterms

decoder is replaced by an array of AND gates
to generate any product term of the input variables

the product terms are then connected to OR gates
to provide the sum of products

internal logic of a PLA w/ 3 inputs & 2 outputs
 each input goes through a buffer and an inverter
 connected through fuses to the inputs of each AND gate
 output of AND gates are connected by fuses to OR gate
 output of OR gates goes to an XOR gate,
where the other input can be programmed to receive a signal
Chap.6
32
6.7 Programmable Logic Array (PLA)
Chap.6
33
F1 = AB' + AC + A'BC'; F2' = AC + BC
6.7 Programmable Logic Array (PLA)
Chap.6
34
the fuse map of a PLA in a
tabular form;
consists of 3 sections
list of the product terms
the required paths between
inputs & AND gates
the path between the AND &
OR gates
a careful investigation must be undertaken to reduce the number of distinct product
terms (since PLA has a finite number of AND gates)
 simplify each Boolean function to a minimum No of terms


obtain both the true & complement of the function
select a comb that gives a minimum No of product terms
6.7 Programmable Logic Array (PLA)
Ex 6.2 Implement the following
functions with a PLA
F1(A,B,C) =  m(0,1,2,4);
F2(A,B,C) =  m(0,5,6,7)
1) true & complement of the
functions are simplified in sum
of products
2) select a combination that gives
a minimum No of product
terms
F1 = (AB +AC +BC)';
F2 = AB + AC + A'B'C'
Chap.6
35
Chap.6
36
6.8
Programmable
Array Logic (PAL)


PLD with a fixed OR array &
programmable AND array
easier to program
(only AND gates are programmable),

not flexible as the PLA

logic configuration of a typical PAL

4 inputs & 4 outputs
6.8 Programmable Array Logic (PAL)

Chap.6
37
4 section in the unit,
 each composed of a 3-wide AND-OR array
 3 programmable AND gates in each section

output terminals are sometimes bidirectional
 F/Fs are often included in a PAL device
 outputs of F/F are fed back through a buffer-inverter gate
(sequential circuits !!)

in designing with a PAL,
 the Boolean functions must be simplified to fit into each section
 a product term cannot be shared
 number of product terms in each section is fixed
 may be necessary to use 2 sections to implement 1 function
6.8 Programmable Array Logic (PAL)
(Ex) W(A,B,C,D) =  m(2,12,13);
X(A,B,C,D) =  m(7,8,9,10,11,12,13,14,15)
Y(A,B,C,D) =  m(0,2,3,4,5,6,7,8,10,11,15)
Z(A,B,C,D) =  m(1,2,8,12,13)
after simplification
W= ABC' + A'B'CD';
X = A + BCD;
Y = A'B + CD + B'D';
Z = ABC' + A'B'CD' + AC'D' + A'B'C'D
= W + AC'D' + A'B'C'D;
Chap.6
38
6.8 Programmable Array Logic (PAL)
- PAL programmable table
W = ABC' + A'B'CD';
Y = A'B + CD + B'D';
X = A + BCD;
Z = ABC' + A'B'CD' + AC'D' + A'B'C'D
= W + AC'D' + A'B'C'D;
Chap.6
39
Chap.6
40