Download PowerPoint 프레젠테이션

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

Flip-flop (electronics) wikipedia , lookup

Multidimensional empirical mode decomposition wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Random-access memory wikipedia , lookup

Transcript
Lecture 4. Memory, CPLDs, and FPGAs
1
Read-Only Memory (ROM)

ROM is a combinational circuit with address inputs and data outputs
 Its information is stored in the ROM when it is manufactured.
 Non-volatile memory
 Its contents are preserved even if no power is applied.
[ “Storing” 2n data and each data is b bits ]
[ 8(23) x 4 ROM ]
2
ROM and Decoder

Decoders can be built using ROMs
[ 8(23) x 4 ROM can be used as a 2-to-4 decoder
with an output-polarity control A2 ]
3
ROM and Decoder

The assignment pattern of decoder inputs and outputs to ROM inputs and
outputs is a consequence of the way that the truth table of a ROM is
constructed.
[ Another 8(23) x 4 ROM:
still be used as the 2-to-4 decoder with A0=POL, A1=I0. A2=I1 ]
4
ROM and Multiplier

A ROM’s contents are normally specified by a file that contains one entry
for every address in the ROM.

You can usually write a simple program in a high-level language (e.g., C program)
to calculate what should be stored in the ROM.
address = 12, entry = 02
starting address of each row
5
Internal ROM Structure

The mechanism used by ROMs to “store” information varies with different
ROM technologies.
3-to-8
decoder
If a diode is present,
a 1 is stored;
otherwise, a 0 is a stored.
1110 is stored
word line
bit line
6
MOS ROMs

MOS ROMs actually use a transistor instead of a diode.
7
Two-dimensional decoding


128(27) x 1 ROM ? 7-to-128 decoder ?
 128 7-input NAND gates !!
Two-dimensional decoding is used to reduce the decoder size
 Arranging the ROM cells in an array that is as close as possible to square
128(8x16) ROM cells
(or 128 bits)
Address
A6 A5 A4 A3 A2 A1 A0
=0 0 1 0 1 1 1
Data output?
0
0
0
0 0 0
1
8
Two-dimensional decoding
9
Commercial ROM types

Mask ROM
 Early IC ROMs
 Programmed by the pattern of connections and no-connections in a mask
 Expensive mask charge and 4 weeks required to obtain programmed chips
 Normally used today only in very high-volume applications
10
Commercial ROM types


PROM (Programmable ROMs)
 Manufactured with all of its diodes or transistors “connected”
 Storing data in just a few minutes using a PROM programmer
EPROM (Erasable programmable ROM)
 Programmed like a PROM
 Erased to the all-1s state by exposing it to ultraviolet light using floatinggate MOS
11
Commercial ROM types

EEPROM (Electrically erasable programmable ROM)
 Individual stored bits may be erased electrically
 The floating gates in an EEPROM are surrounded by a much thinner
insulating layer
 Erased by applying a voltage of the opposite polarity
 Writing takes much longer than reading (not good as read/write memory)
 Limited reprogramming because of thin insulating layers
 Typically used for storing data that must be preserved during power-off
 E.g., Default configuration data for a computer.

Flash EPROM (flash memory)
 Large EEPROMs erasing only in fixed-size blocks
 An entire block is erased “in a flash”
12
Commercial ROM types
WE(write-enable)
for programming operations
OE(output-enable)
for enabling outputs
CS(chip-select)
13
ROM Control Inputs and Timing
8-bit
microprocessor
that requires
128 Kbytes of
EEPROM
A[19-0]
: 20-bit address bus
( maximum address
space of 1Mbyte
(220 bytes))
32K x 8
EEPROM
The EEPROM is supposed to be located in the highest 128K of the address space
14
ROM Control Inputs and Timing
CS also serves as a power-down input
CS_L=0 : active mode
CS_L=1 : standby mode
(Power is removed from the ROM.
It consumes less than 10% of
the power it uses in active mode.)
15
Static RAM (SRAM)

RAM (random-access memory)



The time it takes to read or write a bit is independent of the bit’s location in the
RAM
For read/write operations
ROMs are also random-access memory (but main function is reading)

SRAM
 Once a word is written at a location, it remains stored as long as power is
applied to the chip, unless the same location is written again.

DRAM (dynamic RAM)
 The data stored at each location must be refreshed periodically by reading it
and then writing it back again, or else it disappears.
16
Static RAM (SRAM)
WE(write-enable) input
: When WE is asserted,
the data inputs are written into
the selected memory location
Read : CS and OE are asserted
Write : CS and WE are asserted
SRAM cell = each bit of memory
D latch
17
SRAM
1
0
0
1
1
[ 8 x 4 SRAM ]
1
1
0
1
0
0
0
1
1
1
1
1
1
Write operation
1
0
0
1
0
1
1
1
1
18
SRAM
0
1
0
1
1
[ 8 x 4 SRAM ]
1
1
0
1
0
0
0
1
1
1
1
1
1
Read operation
1
1
0
1
0
0
1
0
0
0
0
0
1
19
Dynamic RAM (DRAM)

In order to build RAMs with higher density (more bits per chip)
 One transistor per bit
 A capacitor stores a bit information
1
1
1
To store “1”
0
1
0
To store “0”
20
Dynamic RAM
To read “1”
0
0.5 (precharge to a
voltage halfway
between HIGH
and LOW)
1
1
0.7
0.7
1
1
0.5
A sense amplifier detects 0.7
and recover a 1
21
Dynamic RAM
0.7
0.7
destroyed
bit information “1”
A sense amplifier detects 0.7
and recover a 1 (which is stored in a latch)
Note that reading a cell destroys the original voltage stored on the capacitor,
so that the recovered data must be written back into the cell after reading
22
Dynamic RAM


Contents in DRAM disappear as time goes by
 Charges on a capacitor don’t remain permanently
DRAM-based memory systems use refresh cycles to update every memory cell
periodically
23
Synchronous DRAM (SDRAM)
(bank)
[ 4M (222) x 4-bit DRAM ]
[ CMD[2:0] ]
22-bit address is presented to the chip in two steps at two clock ticks
(1) A[11:0] for 12-bit row address,
(2) A[9:0] for 10-bit column address
24
SDRAM Read Cycle





Precharge (PRE) all of the bit lines in a bank, and wait until the precharge has completed
Apply the row address to A[11:0] and issue the ACTV
 The word line for the selected row is activated, and read and stored in a 4096-bit row latch
Wait a few clock ticks (RAS-CAS delay) for the 4096-bit word just read to stabilize
Apply the column address to A[11:0] and issue the READ
 It is applied to the column multiplexer to select 4 bits out of the 4096-bit row latch to be
delivered to DQ[1:4]
CAS latency for addressed 4 bits to propagate to the DQ[1:4]
 During this time, 4096-bit row latch is also written back into the selected row
25
SDRAM Write Cycle

A microprocessor drives the write-data onto the DQ bus at the same time that it issues
the WRIT
 SDRAM merges the write-data into the addressed column in the row latch
 Then write the entire, updated 4096-bit value back into selected row
26
SDRAM Burst-read and Burst-write cycles


It takes a lot of time and effort to read or write a single location in an SDRAM
 A total of seven clock cycles in our read and write example to transfer a data
Burst-read and burst-write cycles to achieve higher data transfer rates
 Multiple locations in the same row are accessed successively
[ Burst-read cycle with burst length of 4 ]
A typical SDRAM can support burst lengths of 1, 2, 4, or 8 words,
or the entire row latch (called a page, 1024 words in the example)
27
SDRAM Burst-read and Burst-write cycles
[ Burst-write cycle with burst length of 4 ]

Auto-refresh cycle (initiated by the REF command)
 SDRAM reads one row of each bank’s internal array into its row latch, and
writes it back
 No address is applied to the A bus
 SDRAM uses the value of an internal 12-bit refresh counter as the row
address, and increments it after the refresh operation
28
CPLD (Complex PLD)




A collection of individual PLDs on a single chip
Individual PLDs have at least the functionality of the GAL devices
FPGAs are similar to CPLDs in their applications for complex functions
But internal structures of FPGAs aren’t based on PLAs and PAL devices
29
Xilinx CPLD
Architecture of Xilinx XCR3064XL CPLD (Figure based on figures and text owned by Xilinx,
Inc., Courtesy of Xilinx, Inc. © Xilinx, Inc.1999-2003. All rights reserved.)
* From this slide, we take the contents in Fundamentals of Logic Design, by C.M. Roth &
L.L. Kinney, 6th eds. Cengage Learning
30
Xilinx CPLD
CPLD Function Block and Macrocell (A Simplified Version of XCR3064XL)
Function Block
31
Xilinx CPLD
CoolRunner-II Architecture (Figure based on figures and text owned by Xilinx, Inc., Courtesy of
Xilinx, Inc. © Xilinx, Inc. 1999-2003. All rights reserved.)
32
Xilinx CPLD
CoolRunner-II Macrocell (Figure based on figures and text owned by Xilinx, Inc., Courtesy of
Xilinx, Inc. © Xilinx, Inc. 1999-2003. All rights reserved.)
33
Xilinx CPLD
CPLD Implementation of a Mealy Machine
34
FPGA (Field-Programmable Gate Arrays)

IC chip to contain an array of identical logic cells with programmable
interconnections
CLB (configurable logic block)
is a logic cell
[ Layout of a typical FPGA ]
35
FPGA (Field-Programmable Gate Arrays)
LUT (lookup table) : function generator implemented as reprogrammable ROM
[ Simplified Configurable Logic Block (CLB) ]
36
FPGA (Field-Programmable Gate Arrays)
Implementation of a Lookup Table (LUT)
a
b
c
d
F
0
0
·
·
1
0
0
·
·
1
0
0
·
·
1
0
1
·
·
1
0
1
·
·
1
F  a' b' c' d 'a' b' cd  a' bc' d  a' bcd 'ab' c' d  ab' cd 'abc' d 'abcd
37
FPGA (Field-Programmable Gate Arrays)
Decomposition of switching functions (by Shannon’s expansion theorem)
f ( x1 , x 2 ,..., xi 1 ,0, xi 1 ,..., xn )
 xi ' f ( x1 , x 2 ,..., xi 1 ,0, xi 1 ,..., xn )  xi f ( x1 , x 2 ,..., xi 1 ,0, xi 1 ,..., xn )
 xi ' f 0  xi f i
f (a, b, c, d , e)  a' f (0, b, c, d , e)  af (1, b, c, d , e)  a' f0  af1
G (a, b, c, d , e, f )  a' G (0, b, c, d , e, f )  aG (1, b, c, d , e, f )  a' G0  aG1
G0  b' G (0,0, c, d , e, f )  bG (0,1, c, d , e, f )  b' G00  bG01
G1  b' G (1,0, c, d , e, f )  bG (1,1, c, d , e, f )  b' G10  bG11
G(a, b, c, d , e, f )  a' b' G00  a' bG01  ab' G10  abG11
38
FPGA (Field-Programmable Gate Arrays)
f (a, b, c, d , e)  a' f (0, b, c, d , e)  af (1, b, c, d , e)  a' f0  af1
G(a, b, c, d , e, f )  a' b' G00  a' bG01  ab' G10  abG11
39
FPGA (Field-Programmable Gate Arrays)
FPGA Implementation of a Mealy Machine
40
Xilinx FPGA Spartan-6
www.xilinx.com
The 6-input LUT minimizes the required levels of logic, reducing delay
41