Title: S??d?ast???? ?????a
1???-210 S?ed?asµ?? ??f?a??? S?st?µ?t?? ?e?µe????
???µ??? 2008
- S??d?ast???? ?????aµµat???µe?e? ??????? ??at??e??
??d?s???sa ?a??a ?. ???a??
?a?ep?st?µ?? ??p??? ?µ?µa ??e?t??????? ???a?????
?a? ???a????? ?p?????st??
2?e??????
- ?????aµµat???µe?e? ??????? ??at??e??(Programmable
Logic Devices PLDs) - ???µ? µ??? ??????s?? (Read-Only Memory -- ROM)
- ?????aµµat???µe??? ??????? p??a?a? (Programmable
Logic Array -- PLA) - ?????aµµat???µe?? ?????? p??a?a (Programmable
Array Logic -- PAL) - ?????aµµat???µe?e? ??????? ??at??e?? VLSI(FPGAs,
CPLDs, ?t?)
?a? ?µ?? d?af?????!
3?????aµµat???µe?e? ??????? ??at??e??
(Programmable Logic Devices-PLDs)
- ??p?p???µ??a ?????? ?????µata p?? µp????? ?a
p????aµµat?st??? a?????a, ?ts? ?ste ?a
???p???s??? ??a s???e???µ??? ?????µa - ?????aµµat?sµ?? d?ad??as?a (?/W ? S/W)
?a????sµ?? ??????? p?? ?a ???p????e? ap? ??a PLD
4?????aµµat???µe?? ?????? G?at?
- Ge????ta (?e????)
- ??? ??????µ??? ? pa?a???? IC se µe???e? p?s?t?te?
- ?????? s?ed?asµ?? apa?t???ta? µ??? se µ?????
p?s?t?te? - ??e???eta? ??a IC p?? ?a µp??e? ?a
- ?a???ete se µe???e? p?s?t?te?
- ?a ?p?st????e? p?????? s?ed?asµ??? se µ?????
p?s?t?te? - ??a p????aµµat???µe?? ?????? ??µµ?t? µp??e? ?a
- ?atas?e?aste? se µe???e? p?s?t?te?
- ?????aµµat?ste? ?ts? ?ste ?a ???p??e? µe????
a???µ? d?af??et???? s?ed?asµ?? µ????? pa?a?????
5?????aµµat???µe?? ?????? ?p?p??s?eta
??e??e?t?µata
- ????? PLDs e??a? field-programmable, d??.,
µp????? ?a p????aµµat?st??? e?t?? t?? e???stas???
?atas?e??? - ?a pe??ss?te?a PLDs e??a? d?a?????µa (erasable)
?a? epa?a-p????aµµat???µe?a (re-programmable). - ?p?t??pe? e??µ???s? µ?a? s?s?e??? ? d?????s?
?a??? - ?p?t??pe? t?? epa?a???s?µ?p???s? t?? s?s?e??? ??a
d?af??et??? s?ed?asµ? ?a??te?? d??at?
epa?a???s?µ?p???s?! - ?da????? ??a e??ast???a?? µa??µata
- ?a PLDs µp????? ?a ???s?µ?p??????? ??a ??a
p??t?t?p? s?ed?asµ?, ? ?p???? ?a ???p????e?
te???? se ?a?????? IC. - ????? p??t?t?pa ??a t?? ???????e?a epe?e??ast??
t?? Intel Pentium, ???p??????a? a????? ap? e?d???
s?st?µata ßas?sµ??a se ??a µe???? a???µ? ap?
p????aµµat???µe?e? s?s?e??? VLS?!
6?????aµµa??µe?e? ?e???????e?
- ???s?µ?p?????ta? ??a
- ???se?? e?????? (?a??pt?µe??? p????aµµat?sµ??mask
programming, fuse, antifuse, st???e?? µ??µ??
single-bit) - ?t?s?µ? p?????? a?a??t?s?? (st???e?a µ??µ??)
- ??e??? a??a??? t?a???st?? t? f??t?? f????ete se
µ?a floating p??? t?a???st?? µe d??f??e?
µe??d??? - ??a?????µ?
- ??e?t???? ??a?????µ?
- Flash (?p?? ??a t?? µ??µ? Flash)
7?a?a?t???st??? ?e???????a?
- ????µ? de? µp??e? ?a afa??e?e? ??te ?a? ?a
?a??-p????aµµat?ste? - ?a??pt?µe??? p????aµµat?sµ??
- Fuse
- Antifuse
- ?pa?a-p????aµµat???µe??
- ???s????? (Volatile) ??? ? ?s??? t??
????????µ???? ?a?e? t?te ???eta? ?a? ?
p????aµµat?sµ?? t?? - St???e?? µ??µ?? Single-bit
- ??-p??s????? (Non-Volatile)
- ??a?????µ?
- ??e?t???? ??a?????µ?
- Flash (?p?? t?? µ??µ? Flash)
8?????aµµat???µe?e? ??at??e??
- ???µ? ???? ??????s?? (ROM) ??a? sta?e???
a???µ?? ap? p??e? AND ?a? µ?a p????aµµat???µe??
d??ta?? p???? OR. - ?????aµµat???µe?? ?????? ???a?a (PAL)Ò µ?a
p????aµµat???µe?? d??ta?? ap? p??e? AND p??
t??f?d?t??? µ?a sta?e?? d??ta?? p???? OR. - ?????aµµat???µe??? ??????? ???a?a? (PLA) - µ?a
p????aµµat???µe?? d??ta?? ap? p??e? AND p??
t??f?d?t??? µ?a p????aµµat???µe?? d??ta?? p????
OR. - S???et? ?????aµµat???µe?? ?????? ???ta?? (CPLD)
/?????aµµat???µe??? ???a?a? ?ed??? ????? (FPGA)
p?? p???p???e? d?µ?? ß??pe pa???t?µa t??
ß?ß???? ??a p????aµµat???µe?e? ??????? d?at??e??
VLSI
9?????aµµat???µe?e? ??at??e?? (s??.)
- ???????ta?, s??????, se 2 µ???
- (1) ???ta?? AND ?p?s??,
- (2) ???ta?? OR
I1 I2 In
I1
. . .
A
A
F
F
I2
x
x
x
In
?
F I1I2In
I1 I2 In
I1
. . .
F
F
In
x
x
F I1 In
10ROM, PAL ?a? PLA
??s?d??
???d??
(a) ROM (PROM)
???d??
??s?d??
(ß) PAL
??s?d??
???d??
?) PLA
11???µ? ???? ??????s?? (Read-Only Memory -- ROM)
- ?? p????aµµat???µe?e? ROM (PROM) ?????
- N ??aµµ?? e?s?d??,
- M ??aµµ?? e??d??, ?a?
- 2N ??d???p???µ????? e?a??st????? (?
d?e????se??). - ?µet?ß??t? d??ta?? AND µe 2N e??d??? p??
???p??e? ????? t??? e?a??st????? (s?????? µe
Decoder). - ?????aµµat???µe?? d??ta?? OR µe M e??d??? p??
s??µat??e? µ???? ?a? M a????sµata e?a??st????. - ??a p????aµµa ??a ??a ROM ? PROM e??a? ??a?
p??a?a? a???e?a? µe p???ap?? a???µ? e??d??. - ??? ????µe e?s?d? 1 t?te ???eta? µ?a ???s?
(s??des?) st?? a?t?st???? e?a??st??? ??a t??
a?t?st???? ???d? - ??? ????µe 0, de? ???eta? ?aµ?? ???s?
- ?p????µe ?a t? d??µe sa? µ?a µ??µ? µe t??
e?s?d??? ?? d?e????se?? ded?µ????, ??a ROM ?
PROM!
12???µ? ???? ??????s?? (Read-Only Memory -- ROM)
0
M-1
1
0
1
N
M
2N x M PROM
2N-1
2N x M bits
N ????e? t?? a???µ? t?? p??a??? d?e????se?? (
2N-1) ? ????e? t? µ??e??? t?? ded?µ???? p??
f??????ta? st?? ???e d?e????s?
13ROM -- ?a??de??µa
- ?a??de??µa 8 X 4 ROM (N 3 e?s?d??, M 4
???d??) - ? d??ta?? "AND" e??a? ??a?ap???d???p???t?? µe
3 - e?s?d??? ?a? 8 e??d???
- p?? ???p??e? ????? t??? e?a??st?????.
- ? p????aµµat???µe?? d??-
- ta?? "OR ???s?µ?p??e? µ?a???et? ??aµµ? ??a
t?? a?apa??stas? ???? t?? e?s?d?? st?? p??? ?R.
??a x st?? d??ta??, a?t?st???e? st??
p??s??t?s? t?? e?a??st???? st? OR - ?a??de??µa G?a e?s?d?
- (A2,A1,A0) 001, ? ???d?? e??a?
- (F3,F2,F1,F0 ) 0011.
- ?? e??a? ?? s??a?t?se?? F3, F2 , F1 ?a? F0 se
s??s? µe t??? ????? - (A2, A1, A0)
14ROM ?a??de??µa (s??.)
0
3
1
2
0
1
1
1
1
2
1
3
4
1
1
1
5
6
1
1
1
7
23 x 4 bits
F0 ?m(1, 5, 7) F1 ?m(1, 4) F2 ?m(0,
7) F3 ?m(2, 5, 7)
15ROM -- ?a??de??µa (s??.)
- ?ed?µ???? µ?a? ROM µe?????? 2nxM, µp????µe ?a
???p???s??µe ?p???d?p?te ?????µa µe n e?s?d???
?a? ? e??d???. - ???
- ???p???ste t? ?????µa ??a t?? p?? ??t?
s??a?t?se??, ß?s? t?? d?p?a??? PROMF0(a,b,c)
ababcF1(a,b,c) abcabbcF2(a,b,c)
abc
16?????aµµat???µe?? ?????? ???a?a (Programmable
Array Logic -- PAL)
- ?? a?t??et? t?? ROM, µ?a p????aµµat???µe??
d??ta?? ap? ANDs s??d?asµ??? µe aµet?ß??ta ORs. - ?e?????t?µa ?? ROM e???e?ta? t?? ???p???s?
?p????d?p?te M s??a?t?se?? µe N e?s?d???. ?? PAL
e??a? pe?????st???, af?? ??e? s???e???µ??? a???µ?
e?s?d?? st?? p??e? OR. - ??e??e?t?µata
- G?a ded?µ??? es?te???? p???p????t?ta, ??a PAL
µp??e? ?a ??e? µe?a??te?a N ?a? M - ??p??a PALs ????? e??d??? p?? µp????? ?a
s?µp????????, p??s??t??ta? s??a?t?se?? POS - ?e? ?p?????? ???p???se?? p???ap??? ep?p?d?? st?
ROM (????? e??te????? e??se?? ap? t?? ???d? st??
e?s?d?). ?? PAL ??e? e??d??? ap? ????? OR ??
es?te?????? e?s?d??? se ????? t??? ????? AND,
?????ta? t?? ???p???s? ?????µ?t?? p???ap???
ep?p?d?? ef??t?.
17PAL -- ?a??de??µa
AND gates inputs
0
9
1
2
3
4
5
6
7
8
X
- PAL µe 4-e?s?d???, 4-e??d??? ?a? µe
aµet?ß??t??? ????? OR 3-e?s?d?? - ???e? e??a? ?? e??s?se?? ap? t? F1 µ???? t?
F4
1
X
F
X
2
1
3
X
X
X
4
X
X
F
5
2
X
X
6
X
X
7
- F1 AB C
- F2 ABC AC AB
- F3
- F4
F
X
X
8
3
X
9
X
X
10
X
X
F
11
4
X
12
0
9
1
2
3
4
5
6
7
8
18?????aµµat???µe??? ??????? ???a?a? (Programmable
Logic Array -- PLA)
- S?????t??? µe ROM ?a? PAL, t? PLA e??a? t? p??
e?????t?, af?? ??e? µ?a p????aµµat???µe?? d??ta??
ap? ANDs s??d?asµ??? µe µ?a p????aµµat???µe??
d??ta?? ap? ORs. - ??e??e?t?µata
- ??a PLA µp??e? ?a ??e? µe???? N ?a? M ?a? ?ts?
ep?t??pe? t?? ???p???s? e??s?se?? p?? e??a?
µ?-p?a?t???? ??a ??a ROM - ??a PLA ep?t??pe? se ????? t??? ????? ????µ????
?a µp????? ?a e?????? µe ??e? t?? e??d???,
?epe????ta? ?ts? t? p??ß??µa t?? ????st?? e?s?d??
sta PAL ORs - ??p??a PLAs ????? e??d??? p?? µp????µe ?a p????µe
t? s?µp????µa t???, p??s??t??ta? ?ts? s??a?t?se??
POS - ?e???e?t?µata
- S????, ? a???µ?? ???? ????µ???? µe???e? t??
efa?µ??? e??? PLA. ? ße?t?st?p???s? 2-ep?p?d??
?????µ?t?? µe p???ap??? e??d??? µe???e? t??
a???µ? t?? ???? ????µ???? se µ?a ???p???s?,
ß?????ta? ?ts? t?? p??sa?µ??? t?? se ??a PLA.
19PLA -- ?a??de??µa
- ???e? e??a? ?? e??s?se?? ??a t? F1 ?a? F2
- ?p??e? t? PLA ?a ???p???se? t?? s??a?t?se?? ?????
t?? XOR p??e?
- PLA 3-e?s?d??, 3-e??d?? µeµe 4 ????? ????µ????