7 Memory and ProgrammableLogicProgrammable...
Transcript of 7 Memory and ProgrammableLogicProgrammable...
![Page 1: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/1.jpg)
7 Memory and Programmable LogicProgrammable Logic
2011-05-26 ASIC LAB. 1
![Page 2: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/2.jpg)
7-1 INTRODUCTION7 1 INTRODUCTION
Memory
RAM(random access memory): read and write operation
ROM(read only memory) : only read operation
Programmable Logic DeviceProgrammable Logic Device
PLD(programmable logic device)
PLA( bl l i )PLA(programmable logic array)
PAL(programmable array logic)
FPGA(field programmable gate array)FPGA(field programmable gate array)
2011-05-26 ASIC LAB. 2
![Page 3: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/3.jpg)
7-2 RANDOM-ACCESS MEMORY7-2 RANDOM-ACCESS MEMORY
The address lines select one particular wordparticular word.
A decoder inside the memory accepts this address and opens the paths needed to select the word specified.
2011-05-26 ASIC LAB. 3
![Page 4: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/4.jpg)
1024x16 Memory1024x16 Memory
The 1K * 16 memory has 10 bitsThe 1K * 16 memory has 10 bits in the address and 16 bits in each word.
2011-05-26 ASIC LAB. 4
![Page 5: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/5.jpg)
Write and Read OperationsWrite and Read Operations
Write operation Write operation
1.Transfer the binary address of the desired word to the address lines.
2.Transfer the data bits that must be stored in memory to the data input lines.
3 A ti t th it i t3.Activate the write input
Read operation
1.Transfer the binary address of the desired word to the address lines.
2.Activate the read input.
2011-05-26 ASIC LAB. 5
![Page 6: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/6.jpg)
Timing WaveformsTiming Waveforms
2011-05-26 ASIC LAB. 6
![Page 7: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/7.jpg)
Types of MemoriesTypes of Memories
Random access Memory -each word occupy one particularRandom access Memory each word occupy one particular
location.the access time is always the same
Sequential access Memory-information is read out only when
the required word has been reached. the access time is variable.
Volatile -Memory units lose the stored information when power is turned off.
Nonvolatile-A nonvolatile memory retains its stored information after removal of power. ex) magnetic disk ,ROM(Read Only Memory)
Static RAM-The stored information remains valid as long as power is applied to the unit. Static RAM is easier to use and has shorter read and write cycles.
Dynamic RAM-The capacitors must be periodically recharged by refreshing the dynamic memory. Dynamic RAM offers reduced power consumption and larger storage capacity
2011-05-26 ASIC LAB. 7
consumption and larger storage capacity
![Page 8: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/8.jpg)
7-3 MEMORY DECODING7-3 MEMORY DECODING
The equivalent logic of a binary cell that stores one bit of information
h bi ll bi i i i l fli flThe binary cell stores one bit in its internal flip-flop
It has three inputs and one output. The read/write input determines the cell operation when it is selected.
2011-05-26 ASIC LAB. 8
p p
![Page 9: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/9.jpg)
Internal ConstructionInternal Construction
2011-05-26 ASIC LAB. 9
![Page 10: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/10.jpg)
Internal ConstructionInternal Construction
It has 16 binary cells
Memory enable=0; all outputs of the decoder =0 , f th d l t dnone of the memory words are selected.
Memory enable=1; one of the four words is selected. The read/write input determines the operation.p p
During the read operation, the four bits of the selected word go through OR gates to the output terminalsterminals.
During the write operation, the data available in the input lines are transferred into the four binary cells of the selected word.
2011-05-26 ASIC LAB. 10
![Page 11: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/11.jpg)
Coincident DecodingCoincident Decoding
The basic idea in two-dimensional decoding is to arrangedimensional decoding is to arrange the memory cells in an array that is close as possible as square. In this configuration two k/2-inputconfiguration, two k/2 input decoders are used instead of one k-input decoder.
I th t d d In the two-decoder case,we need 64 AND gates with five inputs in each.
If the word address is 404, X=01100 (12) and Y=10100(20).
2011-05-26 ASIC LAB. 11
![Page 12: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/12.jpg)
Address MultiplexingAddress Multiplexing
To reduce the number of pins in th IC k d i tilithe IC package, designers utilize address multiplexing whereby one set of address input pins accommodates the address componentsthe address components.
Since the same set of pins is used for both parts of the address, the size of the package is decreased significantly.
2011-05-26 ASIC LAB. 12
![Page 13: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/13.jpg)
7-4 ERROR DETECTION AND CORRECTION7-4 ERROR DETECTION AND CORRECTION8-bit data word =>11000100
Bit position 1 2 3 4 5 6 7 8 9 10 11 12Bit position 1 2 3 4 5 6 7 8 9 10 11 12
P1 P2 1 P4 1 0 0 P8 0 1 0 0
P1=XOR of bits(3,5,7,9,11)=0 (XOR performs the oddP1 XOR of bits(3,5,7,9,11) 0 (XOR performs the odd function.)
P2=XOR of bits(3,6,7,10,11)=0
P4=XOR of bits(5,6,7,12)=1
P8=XOR of bits(9,10,11,12)=1
In memory, Bit position 1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 1 1 0 0 1 0 1 0 0
When the 12 bits are read from memory ,The four check bits
C1=XOR of bits (1,3,5,7,9,11) C2=XOR of bits (2,3,6,7,10,11)
C XOR f bit (4 5 6 7 12) C XOR f bit (8 9 10 11 12)
2011-05-26 ASIC LAB. 13
C3=XOR of bits (4,5,6,7,12) C4=XOR of bits (8,9,10,11,12)
![Page 14: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/14.jpg)
Hamming codeHamming code
Si th bit t d ith it C C C C C 0000 (NSince the bits were stored with even parity C=C8C4C2C1=0000 (No error)
Bit position 1 2 3 4 5 6 7 8 9 10 11 12p
0 0 1 1 1 0 0 1 0 1 0 0 No error
1 0 1 1 1 0 0 1 0 1 0 0 Error in bit 1
0 0 1 1 0 0 0 1 0 1 0 0 Error in bit 5
Check bits C8 C4 C2 C1
With error in bit 1 : 0 0 0 0
With error in bit 5: 0 1 0 1
The error can be corrected by complementing the corresponding bit.
2011-05-26 ASIC LAB. 14
![Page 15: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/15.jpg)
Single-Error Correction Double-Error DetectionSingle-Error Correction , Double-Error Detection
The Hamming code can detect and correct only a single error. Multiple errors are not detected.
To correct a single error and detect double errors ,we include the additional parity bit.
If C=0 and P=0 No error occurredIf C=0 and P=0 No error occurred
If C=1 and p=1 A single error occurred , which can be corrected
If C=1 and P=0 A double error occurred which is detected butIf C 1 and P 0 A double error occurred, which is detected but cannot be corrected
If C=0 and P=1 An error occurred in the P13 bit
2011-05-26 ASIC LAB. 15
![Page 16: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/16.jpg)
7-5 READ-ONLY MEMORY7-5 READ-ONLY MEMORY
ROM=Decoder + OR gatesROM=Decoder + OR gates
-permanent binary information is stored.
k input lines and n output linesp p
The number of output lines ,n= the number of bits per word
2011-05-26 ASIC LAB. 16
![Page 17: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/17.jpg)
Read-Only Memory
OM AN d d d b f O
Read-Only Memory
ROM = AND gates connected as a decoder + a number of OR gates
5 X 32 decoder has 32 AND gates and 5 inverters.
32 words
2011-05-26 ASIC LAB. 17
![Page 18: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/18.jpg)
ROM Truth Table(Partial)ROM Truth Table(Partial)
2011-05-26 ASIC LAB. 18
![Page 19: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/19.jpg)
Combinational Circuit ImplementationCombinational Circuit Implementation
‘1’ ‘0’
A7(I4,I3,I2,I0)=Sum of minterms(0,2,3,…,29)
1 0
( )
Input->00011(3)p ( )
Others-> all ’0’
Output->10110010
2011-05-26 ASIC LAB. 19
![Page 20: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/20.jpg)
EXAMPLE 7-1EXAMPLE 7-1
2011-05-26 ASIC LAB. 20
![Page 21: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/21.jpg)
Types of ROMsTypes of ROMs
For large quantities, mask programming is economical .
For small quantities , programmable read-only memory(PROM) is more economical.(all ‘1’s)
PROM- irreversible and permanentPROM- irreversible and permanent
EPROM(Erasable PROM)- can be restructured to the initial value(UV light->discharge)g g
EEPROM(Electrically erasable PROM)- can be erased with electrical signals instead ultra violet light.
2011-05-26 ASIC LAB. 21
![Page 22: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/22.jpg)
Combinational PLDsCombinational PLDs
A combinational PLD is anA combinational PLD is an IC with programmable gates divided into an AND array and an OR array to provide anan OR array to provide an AND-OR sum of product implementation.
Th j PLDThree major types PLDs
(a)fixed AND array +programmable OR arrayp g y
(b)programmable AND array + fixed OR array
(c )programmable AND array + programmable OR array
2011-05-26 ASIC LAB. 22
![Page 23: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/23.jpg)
7-6 PROGRAMMABLE LOGIC ARRAY7-6 PROGRAMMABLE LOGIC ARRAY
Programmable
Programmable
OR array
Programmable AND array
2011-05-26 ASIC LAB. 23
![Page 24: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/24.jpg)
PLA Programming TablePLA Programming Table
The PLA does not provide full decoding of theThe PLA does not provide full decoding of the variables.(decoder <->AND array)
The PLA consists of n inputs ,m outputs , k product t (AND t ) d t (OR t )terms(AND gate) ,and m sum terms(OR gate)
The number of programmed fuses is
whereas that of a ROM is
2 * *n k k m m 2 *n m, whereas that of a ROM is
F1=AB’ + AC + A’BC’
F2= (AC + BC)’
2 * m
F2= (AC + BC)
2011-05-26 ASIC LAB. 24
![Page 25: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/25.jpg)
EXAMPLE 7-2EXAMPLE 7-2
1
2
( , , ) (0,1, 2, 4)
( , , ) (0,5, 6, 7)
F A B C
F A B C
1
2
( ) '' ' '
F AB AC BCF AB AC A B C
2011-05-26 ASIC LAB. 25
![Page 26: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/26.jpg)
7-7 PROGRAMMABLE ARRAY LOGIC7-7 PROGRAMMABLE ARRAY LOGIC
PAL-With a fixed ORarray and a programmable AND array.
-Not as flexible as the PLA(Only the AND gate are programmable.)p g )
2011-05-26 ASIC LAB. 26
![Page 27: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/27.jpg)
Example(PAL)Example(PAL)
( , , , ) (2,12,13)w A B C D ( , , , ) (2,12,13)
( , , , ) (7,8,9,10,11,12,12,14,15)
( , , , ) (0,2,3,4,5,6,7,8,10,11,15)
w A B C D
x A B C D
y A B C D
( , , , ) (1,2,8,12,13,)
' ' ' '
z A B C D
ABC A B CD
' ' ' '
' ' '
w ABC A B CDx A BCDy A B CD B D
' ' ' ' ' ' ' ' '' ' ' ' '
z ABC A B CD AC D A B C Dw AC D A B C D
2011-05-26 ASIC LAB. 27
![Page 28: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/28.jpg)
Fuse Map for PALFuse Map for PAL
2011-05-26 ASIC LAB. 28
![Page 29: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/29.jpg)
7-8 SEQUENTIAL PROGRAMMABLE DEVICES7-8 SEQUENTIAL PROGRAMMABLE DEVICES
1 Sequential(or simple) Programmable Logic Device (SPLD)1. Sequential(or simple) Programmable Logic Device (SPLD)
2. Complex Programmable Logic Device(CPLD)
3. Field Programmable Gate Array(FPGA)3. Field Programmable Gate Array(FPGA)
PAL
2011-05-26 ASIC LAB. 29
![Page 30: 7 Memory and ProgrammableLogicProgrammable …robotics.chonbuk.ac.kr/Courses/2012Spring_DigitalLogic...2011-05-26 ASIC LAB. 3 1024x16 Memory1024x16 Memory The1K*16memoryhas10bitsThe](https://reader033.fdocuments.in/reader033/viewer/2022041616/5e3b6a5fb7a27c1eeb528f7a/html5/thumbnails/30.jpg)
CPLD &FPGA
CPLD a collection of individual PLDs
CPLD &FPGA
CPLD-a collection of individual PLDs
FPGA(Field Programmable Gate Array)
-a VLSI circuit that can be programmed in the user’s location.
-look-up tables multiplexes gates and flip-flops
2011-05-26 ASIC LAB. 30
look up tables,multiplexes,gates, and flip flops