EE201: Digital Circuits and Systems: Section 6 - Memory
EE201: Digital Circuits and Systems: Section 6 - Memory
EE201: Digital Circuits and Systems: Section 6 - Memory
Programmable Logic:
1. Programmable Arrays
PLDs, PALs, GALs
2. Complex Programmable Devices
CPLD, FPGA technology
EE201: Digital Circuits and Systems 5 Digital Circuitry page 2 of 22
/S /R Q’
0 0 X
Inverted S-R flip-flop:
0 1 1
1 0 0
1 1 Q
D-type latch
E D /S /R Q’
0 0 1 1 No Change
0 1 1 1 No Change
1 0 1 0 0
1 1 0 1 1
TO READ:
BIT lines are charged high
Enable line WL is pulled high, switching access transistors M5
and M6 on`
If value stored in /Q is 0, value is accessed through access
transistor M5 on /BL.
If value stored in Q is 1, charged value of Bit line BL is pulled up
to VDD.
Value is ‘sensed’ on BL and /BL.
TO WRITE:
Apply value to be stored to Bit lines BL and /BL
Enable line WL is triggered and input value is latched into
storage cell
BIT line drivers must be stronger than SRAM transistor cell to
override previous values
While Enable line is held low, the inverters retain the previous value
EE201: Digital Circuits and Systems 5 Digital Circuitry page 5 of 22
When A = 0,
Latch Enable is off.
o Data cannot be written into the D-type latch
o DOUT = 0.
When A = 1
Latch is Enabled
o If W = 1 (Data-Write)
Data at DIN can be written into the D-type latch
Output gate is enabled
o IF W = 0
New value on DIN is not stored.
Output gate is enabled.
Not very efficient since 1-bit address line can access 2 memory
locations.
This memory is 1-bit X 1-word RAM
o Stores one 1-bit data value
EE201: Digital Circuits and Systems 5 Digital Circuitry page 6 of 22
A W DI FlipFlop Out DO
0 0 0 Q(t-1) 0
0 0 1 Q(t-1) 0
0 1 0 Q(t-1) 0
0 1 1 Q(t-1) 0
1 0 0 Q(t) Q(t)
1 0 1 Q(t) Q(t)
1 1 0 0 0
1 1 1 1 1
DataOut
DI DI
1-Bit Memory Cell
W W 1
A1 A
When address bit AI = 0
Cell1 is disabled and Cell0 is enabled
o IF W = 1 : Value of DIN is written to cell0
o IF W = 0 : Data out is Cell0 OR 0
A4 DI
a A
0
A3 . DO
.
A2 .
.
A1 .
.
a 15
CS
Chip Select
W => to all cells
The CS (chip select) line allows the memory to be doubled with only
one inverter [+ OR gates].
EE201: Digital Circuits and Systems 5 Digital Circuitry page 8 of 22
A1 DI0 . . . .DI3
A2
A3
A4
CS
DO0 . . .DO3
A1 A1 DI0 . . . DI3
A2 A2
A3 A3
A4 A4
A5 CS
DO0 . . . DO3
Data Bus
Allows both other RAM cells and other devices to control data
bus
EE201: Digital Circuits and Systems 5 Digital Circuitry page 9 of 22
DRAM Refresh
o Must read data bit and write value back to cell.
Write Operation
X Y Data I/O C
0 X X -
X 0 X -
1 1 0 0
1 1 1 1
Read Operation
X Y Data I/O C
0 X X C
X 0 X C
1 1 0 0
1 1 1 1
Example
An 8x8 array forms a 64 x 1 dynamic RAM
Example 2
Pin Requirements
12 Address Bits: 6-bit for row and 6-bits for column
3 Control Bits: WE , CS and OE
1 Data I/O bit bus
VDD and GND
Entire IC will require 18 pins
ROM Types:
1) ROM : Most basic memory
2) PROM : Additional functionality on ROM
3) (UV) – EPROM : Can be reprogrammed
4) EEPROM : Can be reprogrammed (easier than EPROM)
5) Flash : Current technology (easier again)
6.3.1 ROM
o Most basic type of ROM is factory-programmed diode matrix
Flash memory stores information in an array of memory cells made from floating-
gate transistors.
EE201: Digital Circuits and Systems 5 Digital Circuitry page 19 of 22
The floating gate may be conductive (typically polysilicon in most kinds of flash
memory) or non-conductive (as in SONOS flash memory)
Flash Disadvantages
As gate insulator is thinned, the number of times it can be written is
reduced. Flash might have 1,000,000 write cycles
Entire block(or page) must be erased at one time in flash,(byte can be
erased in EEPROM)
EE201: Digital Circuits and Systems 5 Digital Circuitry page 21 of 22
Example
C B A a b c d e f g
0 0 0 0 0 0 0 0 0 1
0 0 1 1 0 0 1 1 1 1
0 1 0 0 0 1 0 0 1 0
0 1 1 0 0 0 0 1 1 0
1 0 0 1 0 0 1 1 0 0
1 0 1 0 1 0 0 1 0 0
1 1 0 1 1 0 0 0 0 0
1 1 1 0 0 0 1 1 1 1