Uploaded by Gonastysia Precelek

Podstawy elektroniki cyfrowej - J.Kalisz

advertisement
Józef Kalisz
PODSTAWY
ELEKTRONIKI
CYFROWEJ
Wydanie 3 zmienione
WYDAWNICTWA KOMUNIKACJI I ŁĄCZNO$CI
WARSZAWA
Okładkę projektowa~
Tadeusz Piecrzyk
Układ
typograficzny: Tadeusz Pietrzyk
Redaktor. mgr in7_ Elżbieta Gawin
Redaktor techniczny: Jerzy Korpalski
Korekta: Alina Podmiotko
621.38. 181.4
Książka sranowi monografię obejmującą podstawy teorii układów cyfrowych oraz rechniki
wyt warzania i konsrrukcję cyfrowych układów scalonych. Obsurnie omówiono właści wości
funkcjonalne i zasady stosowania układów TIL, ECL, MOS i CMOS i programowalnych układów
logicznych PLO oraz FPGA wraz z symulacją komputerową układów cyfrowych oraz językami
programowania HOL(Abel, Verilog) i VHOL. Opisano wiodące osiągnięcia mikroelektroniki wraz
z najnowszymi osiągnięciami w tej dziedzinie. Wiele opisywanych zagadnień jest ilustrowanych
programami komputerowymi w języku Turbo Pascal.
Książka jesr przewaczona d la pracowników naukowych i inżyruerów oraz studenrów szkól
wyższych.
Podręcznik akademicki dotO't\:any przez Ministers t·wo Edukacji Narodov.·ej
ISBN
83-206-ł 255- 1
© Copyright by Wydawnictwa Komunikacji i
Warsza wa 1991, 1998
Łączności
WydawnictV1•a Komunikacji i Łączności sp. z o.o.
ul. Kazimierzowska 52, 02-546 Warszawa
tel. (022) 49-27- Sł; fax (022) 49-23-22
Dział handlowy (022) 49-23-45
Pro~·adzimy sprz.edaż wysylko·wą książek
Księgarnia firmowa w siedzibie wydawnicrwa
ret (022) 49-20-32, czynna pon.-pt. w godz. 10°0- 18°0
e-mail wkl@wklcom.pl
Oferta WKŁ w inrernecie http://www.wkl.com.pl
Warszawa 1998. Wydarue 3
Orukarrua Naukowo-Techniczna
w Warszawie. Zam. 621/ 11/98
sp. z o.o.
SPIS TREŚCI
1
PODSTAWY MATEMATYCZNE
I. I.
1.2.
1.3.
1.4.
l.S.
2
2.2.3.
2.2.4.
2.2.S.
2.2.6.
2.2.7.
2.3.
2.4.
3
Określenia podstawowe/34
Kody liczbowe/ 37
Kody naturalne/37
Konwersja licib przedst.awionych w kodach naturalnych o
wacb/43
Uzupełnienia liczb/ 48
Zapis licib dwójkowych ze :znakiem/ 50
Kody dwójkowo-<lziesiętne (BCD)/ 52
Kody reOeksyjne/ 55
Zmiennoprzecinkowa reprezentacja liczb/ 57
Kody alfanumeryc:zne/61
Kody zabezpieczające pr,cd blędami/65
Literatura/72
ARYTMETYKA DWÓJKOWA
3.1.
3.2.
3.3.
3.4.
5
11
,SUOJt4
J4
Rachunek zdań/I I
Rachunek zbiorów/ 16
Rachunek kwantyfikatorów/22
Relacje i funkcje/ 25
Algebra Boole'a/29
Literatura/33
CYFROWY ZAPIS INFORMACJI
2.1.
2.2.
2.2.1.
2.2.2.
Sfl'()llO
Działania
różnych
podsta-
""""' 73
arytmetyczne na liczbach dwójkowych bez znaku/73
arytmetyczne na liczbach dwójkowych ze :znakiem/81
Działania arytmetyczne na liczbach dziesiętnych kodowanych dwójkowo
(BCD)/89
Działania arytmetyczne na liczbach zrniennoprzecinkowych/92
Literaturaf93
Działania
SPIS TRESCI
4
PODSTAWY TEORII UKŁADÓW CYFROWYCH
4.1.
4.1.1.
4.l.2.
4.1.3.
4.1.3.1.
4.1.3.2.
4.1.4.
4.1.5.
4.1.6.
4.2.
4.2.1.
4.2.2.
4.2.2.1.
4.2.2.2.
4.2.3.
4.2.4.
4.2.4.1.
4.2.4.2.
4.2.4.3.
4.2.4.4.
4.2.5.
4.2.5.1.
4.2.5.2.
4.2.5.3
4.2.5.4.
4.3.
4.3.1.
4.3.2.
5
94
Układy kombinacyjne/95
Funkcje przełączające i formy boolowskie/95
Rodzaje form boolowskicb/ 101
Minimalizacja form boolowskich/ 110
Siatki Karnaugh/ 113
Inne metody minimalizacyjne/ 117
Podstawowe uldady kombinacyjne: bramki. Symbole graficzne/1 18
Złożone uklady kombinacyjnc/ 126
Zjawisko hazardu/ 132
Uklady sekwcncyjnc/ 136
Właściwości i sposoby o pisu układów sekwencyjnych/ 136
Podstawowe układy sekwencyjne: przerzutniki. Symbole graficzne/ 145
Przerzutniki asynchroniczne/ł 47
Przerzutniki synchroniczne/ 150
Metody syntezy układów sekwencyjnych/160
Synteza układów asynchronicznych/ 163
Określenie pierwotnej tablicy przejść i wyjść/ł63
Redukcja pierwotnej tablicy przejść i wyjść/ł65
Kodowanie stanów wewnętrznycb/1 68
Określenie struktury bloku przejść ó i bloku wyjść ,\/171
Synteza układów syncbronicznych/ 178
Utworzenie tablicy przejść i wyjść/178
Minimalizacja liczby stanów w tablicy przejść i wyjść/180
Kodowanie stanów wcwnętrznych/1 86
Określanie struktury bloku przejść tl i wyjść ,\/186
Programy komputerowe do syntezy i symulacji układów cyfrowych/ 188
Użycie symulatora TLS do analizy układów kombinacyjnych/ 191
Użycie symulatora TLS do analizy układów sekwencyjnych/ 192
Literatura/ 194
CYFROWE UKŁADY SCALONE
Podstawowe określenia i klasyftkacja/ 196
Rys historyczny/ 199
Zasadnicze parametry cyfrowych układ ów scalonycb/ 200
5.1.
5.2.
5.3.
5.3.1.
5.3.2.
5.3.3.
5.3.4.
5.4.
Obudowy/ 208
5.5.
Nie23wodnośćf215
Szybkość działania/200
Moc strat/ 201
Odporność na
zakłóccnia/203
Zgodność łączeniowa
Literatura/ 222
6
strOfltl
i
obciąź.alność/207
SlrOtta
196
SPIS TRESCI
6
WYTWARZANIE C YFROWYCH UKLAOÓW SCALONYCH
6.1.
6.2.
6.2.I
6.2.2.
6.2.3.
6.2.4.
6.3.
6.3. 1.
6.3.2.
6.3.3.
6.3.4.
6.4.
6.S.
6.6.
7
7. 1
7.2.
7.2.1.
7.2.2.
7.2.3.
7.2.4.
7.2.5.
7.2.6.
7.2.6.1.
7.2.6.2.
7.3.
7.3.1.
7.3.2.
7.3.3.
7.3.4.
7.4.
7.4.1.
7.4.2.
7.5.
7.5.1.
7.5.1.1.
7.5.1.2.
7.5.1.3.
7.5.1.4.
7.5.1.5.
7.5.2
7.5.3.
7.6.
7.7.
7
„,.... 223
Wytwarzanie płytek podloiowych/ 223
Proces planamy/ 226
Obszary izolacyjne/228
Litografia/229
Domieszkowanie/234
Wykonanie połączcń/236
Elementy układów scałonych/238
Tranzystory bipolarnc/ 238
Diody/243
Tranzystory polowe/246
Rczystory/25 I
Wytwarzanie bipolarnych układów scalonycb/253
Wytwarzanie układów scalonych MOS/262
Wytwananic układów scalonych C MOS/268
Literatura/273
BUDOWA I C HARAKTERYSTYKI CYFROWYCH UK ŁADÓW
SCALONYCH
'"""' 274
Najprostsze bramki/ 274
Układy TIL/275
Podsta wowa bramka TIL/ 276
Inne rodzaje bramck/289
Układy z wyjściami do poląC?.cń szynowych/293
Przcrwtniki/297
Układy monostabilne i astabilne/ 300
Ulepszone serie układ ów TI'L/ 304
Serie S i LS/ 305
Serie ALS, F i AS/3 10
Ulcłady ECL/314
Podstawowe bramki ECL/318
Inne układy o małym stopniu sealcnia/326
Układy do rozprowadzania sygnałów zcgarowychf33 I
Zasady projektowania systemowego z użyciem układów ECL/334
Układy MOS/338
Układy statycznc/ 339
Układy d ynamicznc/342
Układy CM OS/347
Postawowc układy C MOS/350
Budowa i właściwości/350
Szybkość działania/361
Moc stral/363
Odporność na
zakłóccnia/364
Zgodność łączeniowa i obciąttlność/366
o małym stopniu
dynamiczne/380
Ulcłady BiCMOS/387
Układy GaAs/389
Literatura/393
Inne
układy
Układy
scałenia/369
SPIS TRE$CI
8
strona 394
CYFROWE BLOKI FUNKCJONALNE
8.1.
8.2.
8.2.1.
8.2.2.
8.2.3.
8.2.3.J.
8.2.3.2.
8.2.3.3.
8.2.4.
8.2.5.
8.2.6.
8.2.7.
8.3.
8.3.1.
8.3.2.
8.4.
8.4.1.
8.4.1.1 .
8.4.1.2.
8.4.1.3.
8.4.2.
8.4.2.l.
8.4.2.2.
8.4.2.3.
8.4.2.4.
8.4.2.5.
8.4.2.6.
8.4.2.7.
9
Podstawowe definicje/ 394
Układy kombinacyjncf397
Multipleksery i demultipleksery/397
Zastosowanie multiplekserów do syntezy układów kombinacyjnych/400
Konwertery kodów/ 403
Kodery/ 403
Dekodery/ 404
Konwertery kodu N8 na kod BCD i odwrotnie/ 408
Komparatory cyfrowe/413
Sumatory/ 41 5
Układy arytmetyczno-togiczne/ 425
Multiplikatory/ 426
Błoki sekwencyjne/ 430
Rejestry/ 430
Liczniki/ 434
Bloki pamięciowe/449
Pamięci o swobodnym dostępie (RAM)/452
Pamięci statyczne (S·RAM)/453
Pamięci dynamiczne (D ·RAM)/458
Ulepszone odmiany pamięci D-RAM/ 474
Pamięci stałe/484
Pamięci
RO M/ 484
PROM/ 488
Pamięci EPROM/ 490
Pamięci EEPROM/ 495
Pamięci błyskowe - Flash/504
Moduły pam ięci błyskowych - Flash/ 508
Inne rod1.aje pamięci/515
Literatura/524
Pamięci
PROGRAMOWALNE I SPECJALIZOWANE
C YF ROW E
9.1.
9.J.I.
9.1.1.1.
9.1.1.2.
9.1.1.3.
9.1.2.
9.1.3.
9.1.3.1.
9.1.3.2.
9.1.4.
9.1.5.
9.2.
9.2.1.
9.2.2.
8
Układy
UKŁA DY
programowalne/527
Programowalne struktury logiczne (PLD)/528
U kłady FPLA/ 528
U kłady PROM/ 53 1
U kłady PAL/ GAL/ 53 1
Złożone programowalne struktury logiczne (CPLD)/54 J
Projektowanie z układami PLD/ CPLD/553
Język ABEL-HDL/ 556
Języki VHDL i Verilog/568
Uklady FPGA/ 572
Projektowanie z układami FPGA/583
U kłady specjalizowane (ASIC)/584
Matryce bramkowe (GA)/586
Matryce komórkowe (SC) i wbudowane (EA)/59 1
stro11a 525
SPI S TRESCI
9.2.3.
9.2.4.
10
Układy indywidualne (FC) i k.omórkowe (CB)/593
Projektowanie ukladów ASIC/594
Literatura/ 596
$1TQfł(J
ZESPOŁY, URZĄDZENIA I SYSTEMY CYFROWE
10.1.
10.2.
10.3.
10.3.1.
10.3.2.
10.3.3.
10.3.4.
10.3.4.1.
10.3.4.2.
11
Mikroprogramowanc uklady sterujące/599
Mikroprogramowane uklady opcracyjne/611
Mikrokomputery/613
Struktury podstawowe/ 613
Architektura komputerów/622
Programowanie ko mputerów/625
Mikroprocesory/631
Ewolucja rozwojowa mikroprocesorów/631
Architektura mikr opro<:esorów/637
Literatura/648
ZASTOSOWANIA CYFROWYCH UKŁADÓW SCALONYCH
W TECH NICE IMPULSOWEJ
I I.I.
11.2.
11.3.
12
12. ł.
"'°"" 649
Uklady monostabilne/650
Układy astabilne/657
Detektory zboczy impulsów/661
Literatura/664
POŁĄCZENIA CYFROWYCH UKŁADÓW SCALONYCH
12.2.
12.3.
12.4.
12.5.
598
Linie transmisyjne/666
Odbicia i przesluch/669
Zaklóccnia/672
Polączenia w ukladach TTL/676
Polączcnia w ukladach ECL/677
Literatura/685
DODATEK/686
Symbole graficzne ukladów cyfrowych zgodne z
Literatura/697
SKOROWIDZ/698
normą
ICE/686
MrMa
665
PRZEDMOWA DO WYDANIA TRZECIEGO
Trzecie wydanie książki zostało znacznie zmienione w porównaniu z poprzednimi. Główne zmiany polegały na wprowadzeniu nowego i szerszego omówienia
najnowszych rodzajów cyfrowych układów scalonych, zwłaszcza układów
programowalnych PLO, CPLD i F PGA (rozdział 9), a także pamięci pół­
przewodnikowych S-RAM, O-RAM, EEPROM i Flash oraz mikroprocesorów.
Opisano zasady stosowania języka ABEL do opisu i syntezy układów
PLD/C PLD. Wyodrębniono problematykę tworzenia połączeń cyfrowych ukła­
dów scalonych (rozdział I 2), co nabiera szczególnej wagi wobec ciągłego wzrostu
szybkości działania układów. Wprowadzono również bardzo wiele zmian
o charakterze poprawek i ulepszeń tekslu.
Aby ograniczyć objętość książki do rozmiaru akceptowalnego przez
Wydawnictwo i Czytelników wiele tekstu i rysunków z poprzedniego wydania
książki zostało usunięte. Dotyczy to w szczególności rozdziału 6. Duża liczba
skreśleń dotyczyła również tekstu poświęconego układom i aplikacjom już
przestarzałym w 1997 roku.
Autor starał się wykryć i wyeliminować błędy z tekstu, ale trudno je było
wszystkie dostrzec przy tak dużej objętości książki. W związku z tym autor
będzie bardzo wdzięczny tym Czytelnikom, którzy zechcą nadesłać swoje
krytyczne uwagi odnośnie do wykrytych usterek, jak również z propozycjami
poprawek, uzupełnień i rozszerzeń (a także skreśleń). Uwagi proszę nadsyłać
pocztą elektroniczną na adresjkalisz@wel.wat.waw.pl lub na nazwisko autora
i adres pocztowy: Instytut Systemów Łączności, Wojskowa Akademia Techniczna, ul. Kaliskiego 2, O1-489 Warszawa.
Wiele osób było zaangażowanych w proces tworzenia tri.eciego wydania
tej książki. Wszystkim tym osobom autor pragnie wyrazić najgłębsze podziękowanie.
W szczególności autor pragnie podziękować swym współpracownikom
w Zakładzie Techniki Cyfrowej Instytutu Systemów Łączności WAT oraz
licznym studentom, którzy poprzez wykrywanie usterek oraz propozycje poprawek i uzupełnień znacząco przyczynili się do udoskonalenia treści książki.
Książka nie powstałaby w obecnej postaci bez serdecznej pomocy
i znakomitej współpracy z red. Elżbietą Gawin. Nieocenioną pomoc i życzliwość
okazał autorowi red. Krzysztof Wiśniewski. Współpraca z Dyrekcją Wydawnictwa była bardzo efektywna i prowadzona w doskonalej atmosferze. Autor
bardzo dziękuje Redaktorowi Naczelnemu Bogumiłowi Zielińskiemu za znaczną
i życzliwą pomoc przy opracowaniu książki oraz za wyrozumiałość wobec
różnych pomysłów autora.
Autor
Podkowa Leśna, 1998
10
1
PODSTAWY MATEMATYCZNE
Teoria cyfrowego zapisu informacji oraz teoria układów cyfrowych oparte są na
podstawach matematyki, takich jak logika matematyczna i teoria mnogości.
W niniejszym rozdziale są omówione skrótowo te dziedziny, które będą
wykorzystywane w dalszej c-tęści tekstu: rachunek zdań, zbiorów i kwan·
tyfikatorów, opis relacji i funkcji oraz algebra Boole'a.
RACHUNEK ZDAŃ
1.1
Rachunek zdań jest zasadniczą częścią logiki matematycznej. Zajmujemy się
w nim tylko takimi zdaniami, którym możemy przyporząd kować wartość
logiczną prawdy lub jej zaprzeczenia - fa/$zu. Nie mogą to być zatem zdania
pytające i rozkazujące, lecz wyłą<.<:nie orzekające. Oto przykłady zdan prawdziwych
woda jest cieczą
kot jest zwierzęciem
3+4 = 7
i fałszywych
woda jest gazem
kot jest rybą
3+4 = 5
Wyrażenia rachunku zdań są budowane z symboli następujących ro·
dzajów:
- zmiennych zdaniowych, reprezentujących zdania, np. p, q, r,
- spójników zdaniowych.
- nawiasów.
Zdaniu prawdziwemu, np. p, przyporządkowujemy wartość logiczną w(p)
oznaczaną symbolem I lub T (z ang. true), czyli w(p) = I albo w(p) = T,
11
\. PODSTAWY MATEMATYCZNE
na1omias1 zdaniu fałszywemu przyporządkowujemy wartość logiczną O lub F
(z ang. fa/se). W dalszym 1ekście będą stosowane symbole I, O.
Spójniki zdaniowe są również określane jako funklory zda11io1wórcze,
gdyż łącznie ze zmiennymi zdaniowymi tworzą nowe zdania. Najczęściej
używanymi spójnikami są zwroty dwuargumen1owe
••• I •••
... lub ...
..., 10 ...
... wtedy i tylko wledy, gdy ...
jeżeli
oraz 2wro1 jednoargumentowy
nieprawda,
że
...
Wymienione spójniki w rachunku zdań mają tę wspólną własność, że
wartość logiczna zdań utworzonych z ich pomocą zależy tylko od wartości
logicznych łączonych zdań, a zupełnie nie zależy od ich sensu. Spójniki (fun ktory)
ta kie określa się jako eks1e111;jo11a/11e.
Zdanie o postaci „p i ą" nazywamy koniunkcją (iloczynem logicznym)
zdania p i q oraz piszemy symbolicznie przy użyciu znaku „czapeczki" jako
"p 11q". Zdanie o postaci „p lubą " nosi nazwę alternatywy (sumy logicznej) zdań
p. q i zapisujemy je przy użyciu znaku ,,kubeczka" jako „pv q". Zdanie o postaci
,jeżeli p. to q" nazywamy implikacją o poprzedniku p i następniku q i zapisujemy je
przy użyci u symbolu strzałki prawostronnej jako „p => q". Zdanie o pos1aci „p
wtedy i tylko wtedy, gdy ą" zwie się równoważnością o członach pi q, i zapisujemy
przy użyciu symbolu strzałki dwustronnej jako „p=q". Wreszcie zdanie
o postaci „nieprawda, że p" nazywamy negacją zdania p i zapisujemy je przy
użyciu znaku negacji -, jako -, p, czytając je krótko ,,nie p".
Oprócz wyżej przedstawionych symboli spójników zdaniowych, w literaturze spotyka się wiele innych symboli, które bywają stosowane w różnych
kombinacjach. Symbole te są następujące:
-
dla
dla
dla
dla
dla
koniunkcji: p /\ q, p·t1, pq, pr.q, p&q, Kpq,
alternatywy: p v ą, p+ q, puq. Apq,
implikacji: p=» ą, p ~ q, p :::i ą. Cpq,
równoważności : P""'<i· p: q, 11-ą, Epq
negacji: -, p, p', - p, p, Np.
Symbolika operatorów prefiksowych A, C, E, K, N została wprowadzona
przez polskiego logika J. Łukasiewicza.
Spójniki jednoargumentowe (tj. jednozdaniowe) mogą być, ogólnie
biorąc, cztery. Oznaczając je symbolami s1(i = I, 2, 3, 4), można je zdefiniować dla
dowolnego zdania p związkami: s 1 (p) p (zdanie bez zmiany), s 2 (p)
p
(negacja zdania), s 3 (p) = l (stała l) i s4 {p) = O(stała O). Podobnie można określić
=
12
= -,
1 I RACHUNEK ZOAN
16 spójników dwuargumentowych (są one omówione w p. 4.1.1). Można
wykazać, że przy użyciu spójnika zwanego kreską ( dyzjunkcją) Shejfera
pjq
!JJ-, (p A ą)
lub spójnika zwanego
strzałką
Peirce'a
p!ą ~-,(p v ą)
można określić
wszystkie pozostałe spójniki jedno- i dwuargumentowe.
zmienne zdaniowe p, q mogą przybierać tylko dwie wartości
logiczne (O, 1), za tem najprostszą metodą definicj i wymienionych spójników jest
określenie wartości logicznej zda11, stosujących te spójniki, w sposób pokazany
w tabl. 1.1, gdzie argumentami są wartości logiczne zmiennych pi q. Na przyklad,
Ponieważ
Tablica I.I
Równoważność
Zdania
Ko niunkcja Alternatywa
(p i q)
(p lub q)
Implikacja
(jeśli p to q)
(p wtedy i 1ylko
wtedy, gdy q)
Negacja
(nic p)
Zmienoe
zdaniowe
p
q
o
o
o
p " q
p
V
q
p
„
q
p "' q
IP
o
I
I
I
I
o
o
I
I
o
I
I
o
o
I
o
o
o
I
I
I
I
I
I
o
w(O=O) = I, w(0<> 1) = O itd. Użyty znak równoważności występuje między
zdaniami logicznymi i, jak widać z tablicy, równoważność p <> q zachodzi wtedy
i tylko wtedy, gdy p i q mają tę samą wartość logiczną. Nie oznacza to jednak
równoważności tekstów zdań p i q, ponieważ spójnik "" jest, podobnie jak
pozostałe tu omawiane, spójnikiem ekstensjonalnym. Na przykład, prawdziwe
jest zdanie (woda jest cieczą)= (3 +4 = 7), a także (kot jest rybą)-(3 + 4 = 5).
Związki między zdaniami stosującymi te spójniki, a także zawierającymi
stale O, I, określa się przez podanie praw rachunku zdań, zwanych wutologiami.
Są to takie schematy zdań złożonych, które są zawsze prawdziwe, niezależnie od
wartości zdań składowych. Wystepuje w nich zawsze spójnik równoważności lub
implikacji. Sprawdzanie tautologii wykonuje się metodą zero-jedynkową, polegającą na podstawianiu za zdania składowe wszystkich możliwych kombinacji
zer i jedynek, i wykorzystaniu definicji z tabl. I.I. Sprawdzane twierdzenie jest
13
1 PODSTAWY MATEMATYCZNE
tautologią, jeśli
fałszywego.
w wyniku sprawdzenia ani razu nie otrzymuje
Ważniejsze tautologie są wymienione niżej.
W odniesieniu do alternatywy i koniunkcji
l)
prawa
prawa
prawa
istnieją:
p A p.::.p
przemienności
p V q.::.qV p,
3)
zdania
idempotemności
p V p<>p,
2)
się
p A p.::.q A p
łączności
p v (ą v r)<>(p v ą) v r
p A(q A r).::.(p Aq) A r
4)
prawo
a)
rozdzielności
b)
względem
koniunkcji
alternatywy
p A (ąvr)-(p A ą) v (p A r)
prawa
pochłaniania
p V(p Aq)=p,
6)
względem
p v (ą A r)<»(p v ą) A (p v r)
i koniunkcji
5)
alternatywy
prawa
p A(p V q)=p
określające własności stałych
p VO<»p,
p A l<»p
oraz
7)
p V I <•>I, p A0-::.0
Warto zwrócić uwagę. że w przeciwieństwie do arytmetyki, w logice rola
koniunkcji i alternatywy jest symetryczna_ W arytmetyce liczb dziesi~tnycb nie ma
odpowiednika prawa 4a, gdyż nie może my napisać np. x+(y·z) ~ (x+ y)-(x+z).
Dalsze różnice występują również w prawach (5) i (7).
Przy wykorzystaniu spójników koniunkcji, alternatywy i negacji formułuje się
8)
prawa
określające własności negacji:
a) prawo
wyłączonego środka
p v -, p=I
co oznacza,
14
że
z dwóch
zdań
sprzec:z:nych jedno jest prawdziwe,
1.1.·RACH UNEK ZDAN
oraz
b) prawo sprzeczno.fri
p l\-, p=O
co oznacza,
i fałszywe,
9)
że żadne
zdanie nie
może być równocześn ie
prawdziwe
prawo podwójnego przeczenia
• • p=p
IO) prawa De Morgana*
-, (p Vq)<=> o p l\ o q
-, (p /\ q)<=> o pV• q
z których na mocy (9) wynika
także
p V q<=> o (op lloq)
p ll q<=> o
(• p V• ą)
Przedstawione tautologie, oprócz (9), stanowią dualne pary. Oznacza to,
że w obrębie każdej pary jeden związek można otrzymać z drugiego przez
zamianę spójników I\ na V i odwrotnie, oraz stałych O ma I i odwrotnie.
Właściwość tę określamy jako zasadę dua/11ości w rachunku zdań.
Wiele tautologii wykorzystuje spójniki implikacji. Interpretację tego
spójnika podaje definicja
11)
(p => q)<=>(o p V q)
Implikacja p => q jest fałszywa wtedy i tylko wtedy, gdy jej poprzednik jest
prawdziwy (w(p) = I) i następnik fałszywy (w(ą) = O). We wszystkich innych
przypad kach implikacja jest prawdziwa (por. tabl. 1.1). A zatem prawdziwe są
implikacje
a)
b)
c)
(kot jest rybą), to (3 + 4 = 7),
jeżeli (kot jest zwierzęciem), to (3 + 4 = 7),
jeżeli (kot jest rybą), to (3 + 4 = 5),
jeżeli
natomiast
d)
fałszywa
jeżeli
jest implikacja
(kot jest
zwierzęciem),
to (3 + 4 = 5).
Jak widać, sens tekstowy implikacji w rachunku zdań odbiega od
potocznego „wynikania". W odniesieniu do przypadku (b), gdy (I= I) = I,
• Augustus De Morgan, logik angielski (1806-1871)
15
1. PODSTAWY MATEMATYCZNE
formułuje się przydatną w logice regułę odrywania, która brzmi: jeśli prawdziwa
implikacja ma prawdziwy popr7.ednik, to musi być również prawdziwy jej
następnik.
Jeżeli
12)
implikacja jest obustronna, to znaczy
że
jest
równoważnością
(p=ą) = [(p= ą) fl (ą c>p))
Niektóre inne tautologie
13)
związane
z
implikacją
to:
prawo transpozycji (przestawiania)
(p=ą)=(•ą=
14)
prawo
•p)
przechodniości
relacji implikacji
[(p = ą) fl (ą = r)] = (p E>r)
prawa Claviusa
15)
=• p) =• P
a)
(p
b)
(•p=p)=p
Powyższy wybór praw definiujących rachunek zdań nie jest jedynym,
a w szczególności nie jest zbiorem minimalnym, czyli pewne prawa w tym zbiorze
można wyprowadzić w oparciu o inne z tego samego zbioru.
Rachunek zdań można również sformulować inaczej. W aksjomatycznym
ujęciu rachunku zdań przyjmuje się pewne nieliczne pojęcia pierwotne, związane
z nimi aksjomaty (tj. zdania, których prawdziwości już się nie udowadnia) oraz
definicje, które łącznie slużą jako podstawa do określenia wszystkich innych
praw logicznych. Na przykład, system Łukasiewicza jest oparty o dwa pojęcia
pierwotne (implikację i negację), związane z nimi trzy aksjomaty oraz trzy
definicje (określające koniunkcję, alternatywę i równoważność w zależności od
implikacji i negacji). Istnieje również aksjomatyka rachunku zdań oparta na
tylko jednym aksjomacie.
Początki rachunku zdań sięgają czasów starożytnych (szkola stoików,
111 w. p.n.e.). Szybki rozwój tej dziedziny nastą pil jednak dopiero w XIX w. dzięki
pracy matematyka angielskiego G. Boole"a [2], którego uważa się za twórcę
współcz.esnej logiki matematyczcj, a także dzięki pracom A. De Morgana, G.
Fregego i C. S. Peirce'a. W XX w. zaznaczył się także wpływ polskiej szkoly
logicznej (J. Łukasiewicz).
RACHUNEK ZBIORÓW
Pojęcie
jest jednym z podstawowych pojęć w matematyce.
Znaczenie tego pojęcia jest powszechnie zrozumiałe. Jako przyklady można
przytoczyć zbiór liter alfabetu, zbiór liczb naturalnych, zbiór aksjomatów pewnej
zbioru
16
(mnogości)
1 .2
1.2. RACHUNEK ZBIOROW
teorii . Przedmioty należące do danego zbioru nazywamy elementami, przy czym
ich liczba może być skończona lub nieskończona. Zbiór można zdefiniować przez
wymienienie jego elementów, na przykład
A = {a, b, c}
przy czym kolejność ich wpisania jest dowolna. Zdanie „elemeni b
zbioru A" można zapisać
należy
do
be A
Podobnie zapisujemy „element d nie
należy
do zbioru A"
d ~A, czyli • (d EA)
Zbiór, który nie zawiera żadnego elementu, określa się jako pusty i oznacza
symbolem 0. Podzbiorem zbioru A nazywamy dowolny zbiór B, którego
wszystkie elementy należą do zbioru A, co zapisujemy stosując symbol inkluzji s
BsA lub A ;;;1B
Mówimy również, że zbiór B jest zawarty w A lub że A zawiera B. Definicję relacji
inkluzji można zapisać w postaci równoważności zdań
(B~A)=(dla każdego
Jeżeli
x: xeB=xeA)
B nie jest podzbiorem A, to piszemy
B ';;/A lub A ;/. B
Podzbiór B należący do A nazywamy właściwym, jeśli B "# A. Zapisujemy to
stosując znak inkluzji właściwej c , tj. B c A.
Wykorzystując definicję inkluzji można wykazać, że dla dowolnych
zbiorów A, B, C są słuszne związki
a)
b)
c)
d)
e)
B, 0 s C czyli zbiór pusty jest zawarty w każdym zbiorze,
B, C s C czyli każdy zbiór jest swoim podzbiorem,
(A s B /\ B s C) =(A s C): prawo przechodniości dla relacji inkluzji,
(A S B AB S A)=(A = B),
(A "# B) =(A ';;/ B v B ';;/ A).
0 sA, 0
A s A, B
s
s
Rachunek zbiorów można przedstawić w postaci aksjomatycznej, podobnie jak rachunek zdań . Przyjmując jako pojęcia pierwotne pojęcie zbioru i relację
przynależności elementu do zbioru (e) można wymienić następujące cztery
podstawowe aksjomaty, .podane przez E. Zermelo w 1904 r.:
I.
Aksjomat równości zbiorów: jeśli zbiory A i B mają te same elementy, to
zbiory A i B są równe. Równość zbiorów wyraża się symbolem „ = "
i definiuje implikacją zdań
(dla
17
każdego
x: x e A<=> x e B) = (A = B)
I , PODSTAWY MATEMATYCZNE
li.
Aksjomat sumy: dla dowolnych zbiorów A i 8 istnieje zbiór, którego
elementami są wszystkie elementy zbioru A i wszystkie elementy zbioru 8,
i który nie zawiera innych elementów. Oznaczając sumę zbiorów
A i B jako Av8, warunek konieczny i dostateczny na to, aby xeAv8,
1..apisuje się w postaci
(xe AvB)-(xe A V XE 8)
Ili.
Aksjomat różnicy: dla dowolnych zbiorów A i B istnieje zbiór, którego
elementami są te elementy zbioru A, które nie są elementami zbioru
8 i który nie zawiera żadnych innych elementów. Różnicę zbiorów
A i 8 oznaczamy jako A - 8. Z definicji różnicy wynika warunek
(xeA- 8)-(xe A 11 xj 8)
1V.
Aksjomat istnienia: istnieje co najmniej jeden zbiór.
Relację zawierania zbiorów można zdefiniować za pomocą aksjomatów (1)
i (Tl) oraz twierdzenia, że dla dowolnych zbiorów A, 8 , C, D obowiązują związki
As AvB
B s;; AvB czyli suma zbiorów zawiera każdy ze składników,
(A s;; C /\ B s;; C) => (AvB s;; C)czyli każdy zbiór, który zaw iera dwa dane
zbiory zawiera także ich sumę,
(A sB 11 C s;; D) =>(AvC s;; BvD): prawo dodawania stronami ink luzji,
(As;; B)=(AvB = 8): właściwa definicja inkluzji przez sumę i równość
zbiorów.
Przez iloczyn zbiorów A i 8 rozumiemy część wspólną tych zbiorów, czyli
zbiór zawierający te i tylko te elementy, które jednocześnie należą do zbioru
A i do zbioru 8. Iloczyn zbiorów A i 8oznacza się jako AnB. Aby xeAn8, musi
być spełniony warunek
(xeAnB)-(xe A 11 xeB)
Do zdeli niowania iloczynu za pomocą różnicy i równości zbiorów wykorzystujemy twierdzenie, że dla dowolnych zbiorów A i B
An8=A-(A-8)
Jeżeli
AnB = 0, to mówimy ie zbiory A i 8 są rozłączne.
Zbiór pusty można określić za pomocą różnicy jako 0 = A - A dla
dowolnego zbioru A.
Dla każdego podzbioru 8 s;; A zbiór tych wszystkich elementów x e A,
które nie należą do zbioru 8 , nazywa się dopełnieniem (uzupel.nieniem) B' zbioru
B (w zbiorze A) i deliniuje jako
B'=A-B
18
1.2. RACHUNE:K Z810A0W
Oznacza to, że dla każdego B s; A i każdego x e A jest spełniony warunek
(xe B') =(xtf. B) =-, (x E 8)
W zastosowaniach teorii mnogości zazwyczaj traktuje się zbiory jako
podzbiory pewnego uniwersalnego zbioru, zwanego przestrzenią. W arytmetyce
nieskończony zbiór wszystkich liczb naturalnych nazywa się przestrzenią
,,V = { f, 2, 3„..}, zbiór wszystkich nieujemnych liczb całkowitych nazywa się
przestrzenią% 0 = %u {O} = {O, I, 2, 3„.. } i zbiór wszyst kich lic-.lb calkowitych
nazywa się przestrzenią :fr = {O, ± l , ± 2, ± 3„..}. W analizie przestrzenią
dt nazywamy zbiór wszystkich liczb rzeczywistych*. Ogólnie dla zmiennej
x przyjmuje się przestrzeń X. Jeśli U oznacza daną przestrzeń. to dopełnieniem
dowolnego zbioru A c U jest zbiór A' U - A. Stąd wynika, że jeśli A U to
U'= 0 i 0 ' = U.
Omówione działania inkluzji, sumy, różnicy i iloczynu zbiorów są
zilustrowane na przykładzie dwóch nierozłącznych zbiorów A s; U i B s; U,
(rys. l.1) w postaci tzw. wykresów Ve111ia. Pole określone przez obrys zewnętrzny
=
=
Rys. I.I.
Wykresy Venna
obydwu pól A i B reprezentuje sumę AuB, a pole ich wzajemnego przenikania
przedstawia iloczyn A118. Ponieważ Av B s; U, zatem (AvB)' =U - ( Av B).
Łatwo zauważyć, że gdyby zbiory A i B były rozłączne, to AnB = 0.
Przy ograniczeniu się do działań iloczynu n, sumy u i negacji ' można
sformulować prawa rachunku zbiorów w pełni analogiczne do przedstawionych
wcześniej (p. I.I) praw rachunku zdań, a więc:
J)
AuA = A, AnA =A
(ide111poten111ość),
2)
Au B = Bv A, An B = Bn A
(prze111ie1111ość),
„
• Symbole .A', .N" !T i iJt
(przestrzeni).
19
będ~
utywanc w dalszym
tekście do
omaC7.ania 1ych zbiorów
t. PODSTAWY MATEMATYCZNE
3)
Au(BuC) = (AuB)uC,
At1 (Bt1C} = (At1B) t1 C
4)
Au (Bt1C} = (AuB)t1 (AuC),
A t1 (BuC) = (A t1 B) u(At1C}
5)
Au(At1B) =A,
6)
Au0 = A,
At1U = A
7)
Au U= U,
At10 = 0
8)
AuA' = U,
At1A' = 0
9)
(A')'= A .
10)
(AuB)' = A't1 B', (At1B}' = A'u B'
Istnieje
(lączno.fć)
(rozdzielnośc')
(pochłanianie)
At1 (AuB) = A
(własności stałych)
(dalsze
własności stałych)
(własności uzupełnienia)
(podwójne
uzupełnienie)
(prawa De Morgana)
także
wiele innych praw rachunku zbiorów, w tym prawa
dotyczące różnicy zbiorów i tzw. różnicy symetrycznej. Jest ona definiowana dla
dowolnych dwóch zbiorów A i B jako
A-'--B = (A - B) u (B - A)
Oprócz podanych wcześniej czterech podstawowych aksjomatów rachunku zbiorów, do szerszej analizy wprowadza się dalsze trzy aksjomaty,
związane z definicjami predykatu, zbioru potęgowego i rodziny :zbiorów.
Predykat (funkcja zdaniowa, formula zdaniowa) jest poprawnym wyraże­
niem opisującym pewną własność lub relację, które zawiera pewne wolne
zmienne (co najmniej jedną) i które staje się zdaniem (prawdziwym lub
fałszywym), gdy na miejsce zmiennych podstawimy ich wartości. Na przykład
w przestrzeni Yt liczb rzeczywistych predykat x 2 > 4 staje się zdaniem p'rawdziwym dla x > 2 i fałszywym dla x ,;;; 2. Oznaczając <p(x) = (x 2 > 4) otrzymujemy np. <p(l.5) = O i <p(7) = l. Mówimy, że x = p spełnia predykat <p(x), jeśli
<p(p) = I.
Użycie predykatu jest często wygodne również w zwykłej algebrze. Na
przykład zamiast pisać
x2 + 5
y= { 2
X
gdy X~ 0
gdy X< 0
po zastosowaniu predykatu
y = x 2 +5p
można napisać
gdziep = (x~O).
Zbiór tych wszystkich wartości zmiennej x e X, przy których predykat
staje się zdaniem prawdziwym (czyli zbiór x-ów, które spełniają ten predykat)
oznacza się jako
20
1.2. RACHUNEK ZBIOROW
{xeX: q>(x)}
lub prościej
{x: q>(x)}
Na przykład, w przestrzeni f!ł liczb rzeczywistych zbiór {x: (x >O)} jest
zbiorem wszystkich liczb dodatnich, a zbiór {x: (x 2 < O)} jest zbiorem pustym.
Aby dowolny element a e X należał do zbioru {x: q>(x)}, potrzeba
i wystarcza aby zdanie q>(a) było prawdziwe. Można to zapisać symbolicznie
następująco
dla
każdego
a: [a e {x: q>(x)}J <=-q>(a)
Jeśli
dane są dwa predykaty q>(x) i l{t(x), x e X, to spełnione są następujące
wzory wiążące odpowiednie zbiory
{x:
{x:
{x:
{x:
q>(x) v l{t(x)} = {x: q>(x)} u {x: l{t(x)}
q>(x) Al{t(x)} = {x: q>(x)} r'\ {x: l/t(x)}
q>(x) A[l{t(x)]'} = {x: q>(x)} - {x: i/J(x)}
[q>(x))'} = {x: q>(x)}'
Zbiór
potęgowy
danego zbioru U jest zbiorem wszystkich podzbiorów
tego zbioru i oznacza się symbolem 2u lub &(U). Jeieli zbiór U ma 11 ~ I
elementów, to do zbioru 2u należy zbiór U, zbiór pusty 0 i 2• - 2 podzbiorów
właściwych zbioru U, czyli łącznie zbiór
zawiera 2" elementów.
Jeżeli elementami zbioru X są zbiory, to zbiór X nazywamy rodziną
zbiorów, a sumę zbiorów tej rodziny oznaczamy przez u X.
Wspomniane dalsze trzy aksjomaty zostały także wprowadzone do teorii
mnogości przez E. Zermelo:
V.
Aksjomat podzbiorów (wyróżniania): dla każdego zbioru X i każdego
predykatu q>(x), dla którego zakresem zmienności x jest X, istnieje zbiór
złożony z tych i tylko tych elementów x zbioru X, które spełniają ten
predykat. Innymi słowy, w każdym danym zbiorze X predykat q>(x)
wyróżnia pewien podzbiór elementów, które go spełniają.
VI.
Aksjomat zbioru potęgowego: dla każdego zbioru X istnieje rodzina
zbiorów (oznaczana symbolem zx), której elementami są wszystkie
podzbiory zbioru X i tylko one.
VII. Aksjomat wyboru: dla każdej rodziny zbiorów niepustych i rozłącznych
istnieje zbiór, który z każdym ze zbiorów tej rodziny ma jeden i tylko
jeden wspólny element.
Jeżeli zbiory X i Y są zbiorami skończonymi i zawierają tę samą liczbę
elementów, to mówimy, że są one równoliczne (symbolicznie X - Y). Liczebność
zbioru X zawierającego n elementów wyraża się liczbą kardynalną lub mocą
X = n, pny czym 0 = O.
Zatem
zu
(X =Y )-=-(X-Y)
21
1 PODSTAWY MATEMATYCZNE
Pojęcia
mocy i równoliczności zbiorów generalnie definiuje się w ten sposób, aby
one również zbiory nieskończone. Np. zbiory liczb naturalnych
parzystych i nieparzystych mają tę samą moc i są równoliczne.
Teoria mnogości została sformulowana w drugiej połowie XIX w. przez
G. Cantora. Pierwszy układ aksjomatów tej teorii podał E. Zermelo w 1904 r.
Znaczący wpływ na rozwój tej dyscypliny wywarli również matematycy polscy,
zwlaszcza W. Sierpiński.
obejmowały
RACHUNEK KWANTYFIKATORÓW
1 .3
W przedstawionym wcześniej rachunku zdań (p. I.I) brak jest symbolicznego
zapisu zwrotów "dla każdego" ("d la wszystkich") i "istnieje" („d la pewnego").
Rolę tę spełniają kwantyfikatory.
Jeśli predykat rp(x)staje się zdaniem prawdziwym dla każdego x e X ~ 0 ,
to wlaściwość tę zapisujemy przy użyciu symbolu kwant.yfikatora ogólnego V
(z ang. for All) w postaci wzoru
V <P<x>
••X
lub
V rp(x)
który czytamy: dla każdego x spclniony jest predykat q>(x).
Podobnie, jeśli istnieje jakieś xe X'# 0, spełniające predykat rp(x), to
wlaściwość tę zapisujemy przy użyciu kwancyflkaiora szczegółowego (eg-tys tencjalnego)
3 (z ang. Exists) w postaci wzoru
3 rp(x)
„x
lub
3 rp(x)
X
który czytamy: istnieje x spełniające predykat rp(x).
Zmienną x w powyiszych wyrażeniach nazywamy zmienną związaną
odpowiednim kwantyfikatorem, natomiast zmienną x w samym predykacie
nazywamy zmienną wolną. Podobnie w matematyce, np. w wyrażeniu x 2 - 5 =O
2
x jest zmienną wolną, natomiast w wyrażeniu
Jx dx zmienna x jest związana
o
przez operator całkowy.
Jeśli zbiór X jest skończony, np. X = {x 1 , x 2,„., x.}. to kwantyfikator
ogólny może być zastąpiony przez iloczyn logiczny zdań
V q>(x) «>q>(x 1)Aq>(x 2) i\ ... i\ rp(x.)
xeX
a kwantyfikator
3
x.X
22
szczegółowy
przez sumę
rp(x)=rp(x 1)v rp(x 2 ) v ... v rp(x.)
logiczną zdań
1.3. RACHUNEK KWANTYFI KATOROW
Kwantyfikatory można zatem interpretować jako uogólnienie iloczynu
i sumy logicznej dla nieskończonej liczby zdań składowych.
Istnieją również kwantyfikatory o zakresie ograniczonym przez predykat
o postaci
'V qi(x)
oraz
"'(x)
3 qi(x)
of<(<)
które interpretujemy odpowiednio jako „dla każdego x e X spełniającego
predykat l/J(x) spełniony jest predykat ip(x)" i „istnieje xe X spełniające predykat
l/J(x), takie że jest spełniony predykat <p(x)". Ponieważ zgodnie z aksjomatem
podzbiorów (V w p. 1.2) każdy predykat l/J(x) wyróżnia w zbiorze X pewien
podzbiór W c X, zatem powyższe kwantyfi katory można także zapisać w postaci
'V
<p (x)
oraz
xe W
3
ip(x)
x e lł'
Następujące równoważności umożliwiają przejście
od kwantyfikatorów
o zakresach ograniczonych przez predykat do wyrażeń, w których takie
kwantyfikatory nie występują
'V ip(x)= 'V [(l/J(x) =ip(x)]
"(X)
oraz
X
3 qi(x)-=> 3 [l/J(x) A ip(x)]
~ (X)
X
Kwantyfikatory umożliwiają przekształcenie predykatów w zdania (prawdziwe lub fałszywe). W tym celu należy przed danym predykatem dopisać tyle
kwantyfikatorów, aby związać wszystkie wolne zmienne występujące w tym
predykacie. W praktyce oznacza to użycie tylu kwantyfikatorów, ile jest
zmiennych, np.
'V qi(x),
X
'Vx yte3Y rp(x, y).
Zasięgiem
kwant)fikatora nazywamy wyrażenie następujące bezpośred­
nio po kwantyfikatorze, które ujmuje się w nawiasy, jeżeli wymaga tego jasność
zapisu.Kwantyfikator wiąże odpowiednie zmienne tylko wtedy, gdy znajdują się
w jego zasięgu. Na przykład w predykacie
~(y) ='V [(ip(x, y) v 3 l/J(x, y)]
X
)'
zmienna y występuj ąca w predykacie qi(x, y) jest wolna, gdyż nie leży w zasięgu
żadnego kwantyfikatora.
Prawa rachunku kwantyfikatorów stanowią schematy zdań zawsze
prawdziwych, podobnie jak tautologie rachunku zdań. Prawa te jednak nie mogą
być sprawdzane metodą zero-jedynkową Gak ma to miejsce w rachunku zdań)
23
1 POOSlAWY MATEMATYCZN E
i
wymagają odrębnych
dowodów. T ylko w s-zczególnych przypadkach, gdy
wyrażenia z kwantyfik atorami stanowią zdania, związki między nimi mogą być
określone prawami rachunku zdań.
Prawa dotyczące rozdzielności kwantyfikatorów są następujące:
[~ ip(x) ll ~ l{l(x}]<=> ~ [ip(x) ll l{l(x))
[~ ip(x) v ~ l{l(x}]<=>~ [ip(x)v l{l(x)]
[~ ip(x) v ~ l{l(x)]=> ~ [ip(x) v l{l(x)]
3 [ ip(x)Al{l(x)] => 3 ip(x)11 3 t{l(x)
X
X
X
Powyższe implikacje
nie mogą być zastąpione równoważnościami. Na przykład,
jeśli w ostatnim wzorze przyjmiemy ip(x) = (x = I) i t{l(x) = (x = 0), to po prawej
stronie tego wzoru występuje zdanie prawdziwe, a po lewej fałszywe.
Uogólnione prawa De M organa dla kwantyfikatorów opisują się związkami
-, V ip(x) = 3
X
-, ip(x)
X
-, 3 ip(x) = V -, qi(x)
X
X
przy czym negacje lewych stron tych równoważności mogą być oczywiście
przeniesione na prawe strony.
Przy zastosowaniu predykatów dwu zmiennych, porządek w jakim
występują po sobie dwa kwantyfikatory ogólne lub dwa szczególne jest obojętny.
Zazwyczaj pisze się
V
X1
zamiast
V
V
:t1
oraz 3 zamiast 3 3 . Natomiast przy
X'1
X'1
użyciu
pary różnych kwantyfikatorów jest inaczej i prawo przestawiania kwantyfikatorów opisuje wzór
3 V tp(x, y) => V 3 ip(x, y)
X
)'
)'
X
W podręcznikach teorii mnogości za.zwyczaj stosuje się inne oznaczenie
kwantyfikatorów (/\ dla kwantyfikatora ogólnego i V dla kwantyfikatora
szczegółowego). Nie zostaly one użyte w niniejszym tekście, aby uniknąć
niejednóznaczności przy stosowaniu symbo lu uogólnionej sumy logicznej zmiennych boołowskich (p. 1.5).
Początki rachunku kwantyfikatorów sięgają drugiej połowy XIX w.
(G. Frege, 1879 i C.S. Peirce, ok. 1885).
24
1,4, RELACJE I FUNKCJE
1.4
RELACJE I FUNKCJE
W teorii mnogości relacje i funkcje określa się przy użyciu pojęcia pary. Istnieją
dwa rodzaje par: pary nieuporządkowane i pary uporządkowane. Pierwsze są po
prostu zbiorami dwuelementowymi, w których kolejność elementów jest bez
znaczenia, tj. {a, b} = {b, a }. W drugich kolej ność elementów jest już istotna.
Parę uporządkowaną o poprzednika a i następnik.u b, którą oznaczamy
symbolem (a, b), uważamy za różną od pary (b, a), jeśli a'# b. Określamy ją
definicją podaną przez K uratowskiego
(a, b) ={{a}, {a, b}}
Jeśli
a'# b, to (a, b) '# (b, a), gdyż w myśl tej definicji (b, a)=
= { { b}, {a, b}} i' {{a}, {a, b}}. Ogólnie pary (a, b) i (c, d) są sobie równe tylko
wtedy, gdy mają identyczne poprzedniki i identyczne następniki, tj.
((a, b)
= (c, d)]<=>[(a = c) A(b = d)]
lloczynem (produktem) kartezja1iskim zbiorów X i Y, który oznaczamy
symbolem X x Y, nazywamy zbiór wszyst kich par uporządkowanych (x, y),
gdzie x e X i y e Y Jeśli X jest zbiorem n-elementowym i Y jest zbiorem
111-elementowym, to iloczyn X x Y jest zbiorem złożonym z nm elementów,
którymi są pary (x, y).
W analogiczny sposób określa się iloczyny kartezjańskie wielu zbiorów,
np. X X Yx Z, X X X X X = X 3, X X X X .•. (11 razy) =
Jeśli X = {O, I}, LO
oznaczamy ten charakterystyczny zbiór symbolem B i iloczyn kartezjański 83
zawiera 2 3 = 8 trójek uporządkowanych (ściślej: ciągów 3-elementowych),
a iloczyn B" zawiera 2" ciągów n-elementowych („n-tek").
Relację binarną (dwuczłonową) stanowi związek między elementami
x i y par uporząd kowanych (x, y) e X x Y, wyrażany predykatem dwu zmien·
nych cp(x, y). Relację taką oznacza się symbolem x{J y, co oznacza, że istnieją
pary uporządkowane (a, b)eX x Y, dla których zachodzi równoważność
apb <=> cp(a, b). Zapis x p y czytamy: x pozostaje w relacji p z y. Zgodnie
z aksjomatem podzbiorów (V w 1.2) relacje binarne są podzbiorami iloczynu
kartezjańskiego, czyli dla dowolnej relacji p można określić zbiór
x·.
R = {(x, y):xpy} s Xx Y
który w praktyce tak dalece utożsamia się z relacją p, że mówi się ,.x pozostaje
w relacji R z y". Odwrotnie, każdy podzbiór R s X x Y może być uważany za
relację p, spełniającą warunek
xpy<»(x, y)eR
Na przykład, relacja p = (x < y) wyznacza zbiór R = { (x, y): (x < y)},
czyli zbiór punktów na półpłaszczyźnie położonej nad prostą x = y.
25
1
POOSTĄWV
MATEMATYCZNE
Zbiór poprzedn ików x par uporząd kowanych (x, y) wyznac-wnych przez
relację p nazywamy dziet/zi11ą ~ (p) tej relacji
fl (p)
= {xeX: 3 (xpy)}
1
Podobnie, zbiór następników y par ( x, y) wyznaczonych przez
p nazywamy przeciwdziedzi11ą !'A*(p} tej relacji
~*(p) = {ye Y:
relację
3 (xpy)}
X
Sumę ~ (p) u~* (p)
nazywamy polem relacji p.
W szczególnym przypadku, gdy Y =X, iloczyn kartezjański X x X= X 2
stanowi zbiór wszystkich par ze zbioru X. Relację pokreśloną na takim zbiorze
nazywamy:
zwrotną, jeśli
Vxp x
•
syme1ryczną, jeśli
przechodnią, jeśli
V
i.1.ex
V
(xp y = yp x).
[(xp y Ayp z)"" xpz],
~.y.: t X
relacją równoważ11ości, jeśli
jest zwrotna. symetryczna i przechodnia.
Na przykład, relacja identyczności = jest równoważnością. Relacja
,,. jest zwrotna i przechodnia, lecz nie jest symetryczna. Dla tej relacji i zbioru
X = {O. I, 2} otrzymujemy X 2 ={(O, O), ( 0, 1), ( 0, 2), ( 1, O). ( I, 1), ( !, 2),
( 2,0),(2, 1),(2,2)},natomiast R = {(0,0),(0, 1),(0,2). ( 1, 1),( 1,2),(2,2)}.
Dla danych dwóch zbiorów X i Y,funkcją o arg11memaclr x e X i wartoś­
ciaclr ye Y nazywamy relację binarną, określoną podzbiorem f r;;. X x Y, która
spełnia warunek, że dla każdego argumentu x istnieje dokładnie jedna wartość
yo własności (x, y) ef Zbiór argumentów (X) stanowi dziedzinęfimkcji, a zbiór
wartości funkcji oznaczany symbolem f(X) stanowi przeciwdziedzinę fimkcji.
Oczywiście f(X) c;; Y.
Zamiast pisać ( x, y)e/ zwykle piszemy y = f(x) i wówczas funkcję
f można zdefiniować jako zbiór par uporządkowanych
f
= {(x, y): y = /(x)}
Mówimy, żefjest funkcją (odwzorowaniem, przekształceniem) określoną
na zbiorze X i o wartościach w zbiorze Y (fodwzorowuje X w Y) oraz zapisujemy
f: X .... Y (strzałkę czytamy „w"). Należy odróżnić symbole f i /(x): pierwszy
oznacz.a samą funkcję (zbiór), a drugi wartość funkcji dla argumentu x.
Dla pewnego zbioru A i;;; X , symbolem /(A) oznaczamy obraz zbioru
A wyznaczony przez funkcję .1; czyli zbiór wartości y funkcji f d la argumentów
xeA
26
1.4. RELACJE I FUNKCJE
f(A) = {y:
:J [(x e A) A(y = f(x))]} ~ Y
X
Jeśli
f
A= X, to obraz/(A) stanowi
przeciwdziedzinę/(X).
Odwrotnie, przeciwobrazem zbioru Be Y wyznaczonym przez funkcję
nazywamy zbiór 1- '(B) złożony z takich argumentów x, że f(x) e B, czyli
1- 1(B) =
{x:f(x)e B} ~X
Aby uniknąć dwuznaczności w powyższych dwóch definicjach założono,
i B rf: Y. Dla każdego podzbioru B ~ Y zachodzi tożsamość
że Arf: X
f(f - '(B))
=B
X jest zbiorem liczb naturalnych % , to funkcję f: X-+ Y nazywamy ciągiem nieskończonym .. Jeśli X c .1V jest zbiorem skończonym, np.
X= {l, 2, ..., k}, to funkcję f : X-+ Y nazywamy ciągiem skoń.czonym
k-elementowym i zazwyczaj oznaczamy przez (a 1, a 2, ..., ak).
Dla dowolnych zbiorów skończonych X , Y, jeśli X zawiera 11 elementów
i Y zawiera m elementów, to istnieje m• funkcj i odwzorowujących X w Y.
Oznaczając zbiór wszystkich funkcji f : X-+ Y symbolem YX, mamy w tym
przypadku VX = m•.
Przy niewielkich, skończonych dziedzinach najprostszą metodą okreś­
lenia funkcj i jest podanie wykazu bądź tablicy przyporządkowań elementów
obrazu elementom dziedziny. Np. dla X = {a, b, c} i f(A) = {b, g} można
zdefiniować funkcję f(x) podając trzy przyporządkowania (symbol >-+), czyli f:
a>-+g, b>-+b, c>-+g. Te przyporządkowania reprezentują zbiór trzech par
uporządkowanych/= {(a, g), (b, b), (c, g)}.
Funkcję f(x) nazywamy różnowartościową łub iniektywną (iniekcją,
przekształceniem jednojednoznacznym „ 1- 1"), jeśli dla różnych argumentów
przyjmuje różne wartości, czyli gdy spełniony jest warunek
Jeżeli
V V
xl EX xzeX
[x 1 # x 2 = f(x 1) # f(x 2 )]
w obrębie funkcji ciągłych funkcje stale rosnące lub stale
obraz funkcji /(X) może tu być podzbiorem
właściwym przeciwdziedziny Y.
Funkcję f: X -+ Y nazywamy suriektywną łub suriekcją (symbolicznie
f: X--+--+ Y), jeśli jej obraz /(X) jest całą przeciwdziedziną, czyli gdy f(X) = Y.
Mówimy, że suriekcja jest odwzorowaniem zbioru X „na" zbiór Y. Funkcja ta
może nie być różnowartościowa.
Funkcję nazywamy bijektywną łub bijekcją (symbolicznie/: X <-+ Y), gdy
jest ona jednocześnie iniekcją i suriekcją.
Może również istnieć funkcja, która nie jest ani iniekcją, ani suriekcją ani
bijekcją. Określamy ją jako odwzorowanie zbioru X „w" zbiór Y. Na przykład,
Warunek ten
spełniają
malejące. Należy podkreślić, że
27
1. POOSTAWY MATEMATYCZNE
liczb całkowitych), wówczas funkcja y = - x jest
bijekcją, funkcja y = 2x jest iniekcją, a le nie jest suriekcją (gdyż obraz l(X)
obejmuje tylko liczby parzyste w przestrzeni !t), a funkcja y = x 2 nie jest ani
iniekcją (gdyż x 2 = ( - x) 2) ani suriekcją (gdyż obraz l(X) jest, podobnie jak
poprzednio, podzbiorem właściwym przestrzeni .2'), czyli nie może być również
gdy X
= Y = !t (przestrzeń
bijekcją.
Wymienione cztery rodzaje funkcji oraz dwa rodzaje relacji są poglądowo
zilustrowane na rys. 1.2. Jak widać z tabl. 1.2, wymienione cztery rodzaje funkcji
mogą być interpretowane jako elementy zbioru wyznaczonego przez iloczyn
kartezjański 25 x 2r, gdzie S = {„na"} i T = {„ 1- 1"}.
o
X
RELA CJA
y
d
y
I NIEKCJA
X
- 1„
••
••
• •
b
X
FUNKCJA
„w"
c
X
SURIEKCJA
„no„
• ••
•
e
X
RELACJA. FUNKCJA
f
y
y
BIJEKCJA
C!>
C!>
C!>
C!>
C!>
C!>
O>
C!>
C!>
Rys. I. 2 Graficzna reprcuntacja
„. r •> „ootji. d) Uridtji, c)
a) ttbtji. b) IW>t tji
bijcie"'
~
1111on1 po•
·-"""id>. w-i..,.i. ..i..,. i
r„tc;ę
Dla iniekcji i bijekcjilistnieje równiei fimkcja odwrotnal- 1 , spełniająca
równości
1- •(f(x)) = x, l(f- 1 (y)) = y
oraz
(f" 1)- 1 =I
czyli I jest również funkcją odwrotną do funkcji 1- 1 •
28
1.5. ALGEBRA BOOLE'A
Tablica 1.2
RODZAJE FUNKCJI
(„1 -1")'
„1- l"
(,,na")'
funkcja ,.n'"
iniekcja
„na"
suriekcja
bijekcja
Szczególnym rodzajem funkcji jest permutacja f: X.__, X, która zgodnie
z zasadą Dirichleta jest zawsze bijekcją, jeśli X jest dowolnym zbiorem
skończonym.
W pewnych przypadkach funkcja[: X -+ Y może być niezdefiniowana dla
pewnych argumentów xeX (np. funkcje y = l/x i y = lnx są nieokreślone dla
x = O), natomiast może być zdefiniowana d la pewnego podzbioru właściwego
A c X . Funkcję taką, tj. g: A--+ Y nazywamy częściową (niezupełną, zredukowaną do zbioru A) i oznaczamy symbolem f i A (rys. 1.3).
y
X
Rys. J. J
Przyklad bijekcji jako
funkcji częściowej
ALGEBRA BOOLE'A
1 .5
Symbolicznym sposobem opisu dowolnej dziedziny matematycznej, zwanej
najczęściej systemem algebraicznym lub algebrą, jest układ przedmiotów
(A.f1,f2· ...• /.)
w którym A jest niepustym zbiorem i / 1 • f„ ..., J. są operacjami w A. Te
ostatnie są funkcjami typu f : Am --+A (czyli funkcjami 111 zmiennych
przebiegających zbiór A i o wartościach należących do A) i nazywane są
m-argumentowymi operacjami (działaniami) w A. W szczególności, przy m = 2
otrzymuje się dwuargumentową (binarną) operację w A (np. sumowanie zbiorów),
m = I oznacza operację jednoargumentową (unarną, np. dopełnienie zbioru),
a m =O oznacza operację zeroargumentową (wyróżniony stały element w A,
29
1. PODSTAWY MATEMATYCZNE
np. 0 ). Mówimy, że zbiór A jest zamk11ięty ze względu na te operacje, gdyż dla
wszyst kich argumentów należących do A wartości wszystkich funkcji/, .f2 , „„!,,
również należą do A.
Algebrą Boole'a nazywamy co najmniej dwuelementowy zbiór zamknięty
ze względu na dwa działania dwuargumentowe, jedno działanie jednoargumentowe i dwa działania zeroargumentowe, taki że dla jego wszystkich elementów
spelniony jest określony zespól aksjomatów. Nazwa algebry pochodzi od
jednego z jej twórców (George Boole, 1815- 1864, [2)).
Algebra Boole'a moie służyć do opisu rachunku zbiorów (bez użycia
relacji e) oraz rachunku zdań. Jeśli U jest dowolnym niepustym zbiorem, to
system (2u. v, n, ', 0 , U) jest algebrą Boole'a. W szczególności jeżeli zbiór
U zawiera /1 elementów, to otrzymujemy 2"-elementową algebrę Boole'a. Przy
n = 1 mamy system ({0 , U}. v . n.', 0, U) stanowiący, łącznie z zespołem praw
(I) + (IO) podanym w p. 1.2, dwuelementową algebrą Boole'a. Podobnie rachunek
zdań można opisać dwuelementową albegrą Boole'a <{O, I}, v, /I , -, , O, I )
spełniającą równości (I) + ( IO) podane w p. I. I.
W dalszym tekście pod nazwą „algebra Boołe'a" będzie rozumiana
zerojedynkowa algebra sygnałów binarnych, sformułowana do tego celu przez
C. E. Shannona w 1938 r. [IO). W algebrze tej operację sumy oznacza się
symbolem + lub v, operację iloczynu symbolem · lub /I i operację negacji
(uzupełnie nia) znakiem - łub '. W dalszym tekście będą przyjęte operatory
binarne „v " i ,;", aby uniknąć dwuznaczności przy jednoczesnym stosowaniu
operatorów arytmetycznych. Stąd operator „ +" będzie oznaczać wyłącznie
dodawanie arytmetyczne, a do oznaczania operacji mnożenia arytmetycznego
będzie służyć znak „ x ".Znaki ,;" będą w tek ście pomijane,je7..eli nie utrudni to
wlaściwej interpretacji danego zapisu. Operator unarny „-" oznacza negację
(uzupełnienie).
Operator „v " {„ku beczek") wymawia się jako „plus" {logiczny) albo „lub",
np. a v bczytamy „a plus b" (wiedząc, że jest to dodawanie logic-.tne)albo "a lubb".
O perator ,;" wymawia się jako „razy" (mnożenie logiczne) albo „i", np. a·b
czytamy „ab" lub „a razy b" (wiedząc, że jest to mnożenie logiczne) albo „a i b".
Symbol negacji „-" wymawia się jako „nie'', np. a czytamy „nie a".
Zerojedynkowa algebra Boole'a sygnałów binarnych jest zatem opisana
przez sys tem
( B,
V,
„-.
O, 1)
gdzie 8 ~ {O, 1} jest zbiorem, w którym są określone operacje dwuargumentowe
„v " i,;" i operacjajednoargumen towa ,; ",zgodnie z aksjomatami analogicznymi
do równości (1) ~ (10) podanych w p. I.I i 1.2 Dla dowolnych zmiennych
boolowskic/1, tj. zmiennych przyjmujących wartości ze zbioru 8 , np. x, y. z,
istnieją następujące prawa algebry Boole'a:
30
1,5. ALGEBRA BOOLE'A
I)
XV X = X,
2)
x v y = y V x.
3)
x v (y vz) = (x v y) v z
x·(y·z) = (x · y) · z
4)
x v (y·z) = (x v y)·(x v z)
x ·(y v z) = (x · y) V(x ·z)
5)
x v (x ·y) =x.
6)
x v O = x,
x· I = x
7)
XVl = I,
x·O= O
8)
XVX= I,
x·x =
9)
X= X
JO)
xVy =
x·x = x
(idempolentno.fo)
x·y = y·x
(przemienności
(łączność)
x-(x v y) =
(rozdzielność)
x
(pochłanianie)
(własności siałych)
(dalsze
własności stałych)
(własności nega~ii)
0
(podwójna negacja)
x·y,
x·y
= xvy
(prawa de Morgana)
Podobnie jak w rachunku zdań i zbiorów, do powyższych praw,
z wyjątkiem (9), odnosi się zasada dualności. Stanowi ona, że w obrębie danego
prawa każdy związek można otrzymać z drugiego pruz zamianę operatorów
V na · i odwrotnie oraz stałych O na I i odwrotnie.
Można
jeszcze
zapisać
oczywiste
równości
0=1
T=O
1V l = l
I· I = I
I V0=0 Vl=I
1·0=0 · 1 = 0
oraz drugie prawo
pocliłaniania
x v :i·y=x v y
X • (x V y) = X· y
Liczba aksjomatów, które są niezbędne do zdefiniowania a lgebry Boole'a,
może być mniejsza. Często jest cytowany układ sześciu aksjomatów, sformułowany przez E. V. Huntingtona [4]. Obejmuje on cztery wyróżnione
aksjomaty 2, 4, 6 i 8 oraz następujące dwa, ujęte już w podanej głównej definicji
a lgebry Boole'a:
a)
wszystkie działania w zbiorze A są zamknięte, tj.
V
x,yeA
31
(x v yEA)' (x · yE A)
1.
b)
PODSTAWY MATEMATYCZNE
istnieją
przynajmniej dwa elementy x. y e A, takie
że
x i' y.
Pozostałe sześć
praw 1, 3, 5, 7, 9 i 10 może być zatem traktowane jako
zbiór twierdzeń, których słuszność można wykazać wykorzystując aksjomaty 2,
4, 6 i 8. Istnieją także inne układy aksjomatów Huntingtona [5].
Prawa De Morgana potocznie formułuje się następująco: negacja sumy
jest równa iloczynowi jej zanegowanych składników oraz negacja iloczynu jest
równa sumie jego zanegowanych czynników. Dla n zmiennych x" i= I, 2, ...,
n prawa De Morgana można zapisać w postaci uogólnionej jako
•
<V x,) =
n• x,
l= l
i= 1
•
•
i• l
i= l
oraz
<O x,) = V x,
gdzie symbol Voznacza uogólnioną sumę logiczną
•
V x1 =
x 1 vx 2 v ... v x.„
i• 1
a symbol
n oznacza uogólniony iloczyn logiczny
n•
Xi= X 1 ·xz···Xn
I= I
Z uwagi na silny związek algebry sygnałów binarnych z rachunkiem zdań
(zwanym również rachunkiem logicznym) przy opewwaniu algebrą Boole'a
często stosuje się przymiotnik „logiczny" w znaczeniu "boolowski" (np. iloczyn
logiczny, mnożenie logiczne, stan logiczny, logiczne „O" i „I "). Ma to na celu
podkreślenie, że nie chodzi w danym przypadku o operacje czy argumenty
nieboolowskie, w szczególności arytmetyczne. Mówimy także o „funkcji logicznej" w znaczeniu „boolowskiej", czyli funkcji na algebrze Boole'a i o „układzie
logicznym" jako o układzie realizującym funkcję logiczną (boolowską). W dalszym tekście określenia „logiczny" i „boolowski" będą traktowane jako równoznaczne.
32
1.S. ALGESRA BOOLE'A
LITERATURA
t. Birkhoff G ., Bartec T. C.: Współczesna algebra stosowa1J0, PWN, Warszawa 1983
2. BooleG.: An inuest.igation ofthe lawsoftlw11ght, Open Court, Chicago 1854 (Do"er Publications,
New York, 1954)
3. Grzegorczyk A.: Zarys logik; matematycznej , PWN, Warszawa 1984
4. Huntington E. V.: Sets of independent postulatesfor che algebra oflogic, Trans. Am. Malh Soc„
Vol. 5, 1904, 288-309
5. Huntington E. V.: New sets of independenc posculates for the algebra of logic, Trans. Am. Math.
Soc„ Vol. 35, 1933, 274-304
6. Kuratowski K.: Wstęp do teorii mnogości i copolvgii. PWN, Warszawa I 977
7. Kuratowski K.• Mostowski A.: Teoria 1nnogo.ici. PWN, Warsza;,.\'a 1978
8. Majewski W„ Albicki A.: Algebraiczna teoria awomaców. WNT, Warszawa 1980
9. Rasiowa H.: W.Stęp do matematyki współczesnej, PWN, Warszawa 1984
10. Shannon C. E.: Symbolic analysis of relay and swicching circuits, Trans. AIEE, Vol. 57, 1938,
713.723
li.
ł/ istory
of logic, Encyclopacdia Britannica, Vol. 14, 1963, 305-323
2
CYFROWY ZAPIS INFORMACJI
OKREŚLENIA PODSTAWOWE
2.1
Przechowywanie, przetwarzanie i przesyłanie informacji stanowią od wieków
przedmiot ludzkiego zainteresowania. Przechowywanie (pamiętanie) informacji
·realizuje się przez operację zapisu (tekstowego lub graficznego). Najprostsze
informacje zapisuje się tekstowo przy użyciu pojedynczych znaków, takich jak
cyfry i litery. Bardziej złożone informacje zapisuje się tekstowo w postaci
odpowiednio dłuższych łańcuchów znakowych. Aby wykonać operację zapisu,
najpierw należy utworzyć alfabet i język nad tym alfabetem.
Alfabet defin iuje się jako skończony, niepusty zbiór różnych znaków (np.
A = {a. b..... z}, D = {O, 1,..., 9}), który :zazwyczaj jest uporządkowany, tzn. dana
jest kolejność znaków alfabetu. Służy on do tworzenia słów informacyjnych, czyli
skończonych łańcuchów znaków (np. A 1 = bdaaf). W praktyce, zwłaszcza
w telekomunikacji, słowa nazywa się również ciągami. Liczba n znaków
tworzących słowo (ciąg) A; jest określana jako długość słowa (ciągu) n(A ;), np.
n(ccag) = 4.
Na słowach określa się operację złożenia (dostawienia, zetknięcia, konkatenacji). Złożeniem słów A 1 i A ;jest słowo A 1 powstałe przez zetknięcie ze sobą
łańcuchów znaków stanowiących te słowa w taki sposób, że słowo A;iest wpisane
z lewej strony, a słowo A; z prawej, przy czym n(AJ = n(A1) + n(A). Operację
złożenia zapisuje się przy użyciu znaku kółeczka „•", kwadracika „o", a czasem
również znaku dodawania „ + ", :zależnie od przyjętej konwencji. Na przykład,
dla podanych wyżej słów A 1 i A1
A1
= A 1° A; = bdaafccag
Stosowane
są także
nawiasy ostre, np. (A 1, A;) zamiast A 1 • A;.
pojedynczy znak można interpretować jako słowo jednoznakowe, zatem każdy łańcuch znaków tworzących słowo można określić jako
wynik operacji złożenia pojedyncznych znaków, np. A 1 = bdaaf = b 0 d 0 a 0 a 0 f.
Ponieważ
34
2. 1. OKRESLENIA PODSTAWOWE
Jeżeli
alfabet zawiera tylko dwa znaki, to nosi on nazwę a!fabet11
być dowolne dwa różne znaki, np. a i b, Li H ,
lecz najczęściej stosuje się cyfry O i l i wówc-tas alfabet dwójkowy oznacza się
symbolem 8 = {O, l }. Słowa utworzone nad takim alfabetem określa się jako
słowa dwójkowe (binarne). Najkrótsze słowo dwójkowe, zawierające tylko jeden
znak (n = I), określa się jako bit. Słowo z n = 4 określa się jako tetroda lub kęsek
(nibble), a z n = 8 jako bajt (byte).
Językiem nazywa się niepusty, skończony zbiór różnych słów nad danym
alfabetem. Znaczenia tych słów tworzą semantykę języka, a reguły ich używania
dwójkowego (binarnego). Mogą to
stanowią składnię języka.
Słowo dwójkowe o długości n stanowi n-tkę uporządkowaną, będącą
elementem zbioru 8 ", który zawiera 2" takich słów (p. 1.4). Na przykład przy
n = 3 zbiór 8 3 zawiera 8 słów: 8 3 = {OOO, 001, 010, 011, 100, 101, I IO, 111}.
Zatem dowolny niepusty podzbiór J ~ B" może stanowić pewien język nad
alfabetem dwójkowym.
Liczbę i numerację bitów w słowie dwójkowym określa się przez
podanie formatll słowa. Typowym sposobem zdefiniowania formatu słowa
jest przedstawienie słowa w postaci indeksowanego łańcucha znakowego,
co umożliwia operowanie na bitach (traktowanych jako litery a nie liczby)
i ich składanie w nowe słowa. Wówczas format słowa X można zapisać
w postaci X [a, b, ..., n], gdzie liczby a. b. . n są wzrastającymi numerami
pozycji bitów w łańcuchu. Liczby te dobiera się ze zbioru A' lub A'0 •
Jeśli numeracja ta jest ciągła od k do m, to zapis formatu słowa można
uprościć do postaci podobnej do stosowanej w języku Algol: X [k : m]. Na
przykład, jeśli A(O : 3) = 1010 i B[O: 7) = 10001101, to można określić słowo
C[0:4) = A[O, l] • B[5 :7] = 10101. Pojedynczy bit na pozycji i słowa X zapisuje się jako X [i]. Opisany sposób jest równoważny definicji formatu
słowa jako jednowymiarowej tablicy znakowej czyli wektora. Stosowane są
również inne konwencje oznaczeniowe, np. A(O- 3), B (O :7), C(0 .. 5).
Jeżeli z jednej st rony mamy zbiór I informacji /, a z drugiej strony
dysponujemy takim zbiorem A słów A, że można określić związek między
pewnymi elementami obydwu tych zbiorów w postaci zbioru par uporząd­
kowanych ( / , A), to mówimy, że informacje I są kodowane przez słowa A.
Ogólnie, kod jest definiowany jako zbiór R tych par, wyznaczony przez relację
kodową p (patrz rys. 1.2 a-f)
„.
R ={(I, A)e / x A :lp1 A}
W praktyce zazwyczaj mamy do czynienia z kodami
funkcję kodową
J..: I -+ A ,
35
czyli A = f,.(I)
określonymi
przez
2. CYFROWY ZAPIS INFORMACJI
o postaciach opisanych w p. 1.4. Wiele kodów opisuje się bijekcją, przyjmując
nazwę kodów bijektywnych (rys. I .2e, f), a niektóre iniekcją (rys. l .2d, f) i dlatego
są nazywane kodami iniektywnymi.
Jeśli dana funkcja kodowa jest nieokreślona dla pewnych elementów
zbioru I , czyli jest funkcją częściową (patrz rys. 1.3), to opisany nią kod również
określa się jako częściowy (niekompletny). Natomiast jeśli przeciwdziedzinaf.(/)
danej funkcji kodowej jest podzbiorem właściwym zbioru A, tj.f.(l ) c A, to kod
opisywany tą funkcją nazywany jest nadmiarowym. Kodem takim może być kod
iniektywny i kod opisany funkcją „w" (rys. l.2b, d). Nadmiarowość jest
charakterystyczną cechą kodów BCD (p. 2.2.5) oraz kodów kontrolnych (p. 2.4).
Przez wybór różnych podzbiorów par ze zbioru I x A można utworzyć
wiele różnych kodów. W kodach dwójkowych, służących do kodowania
m informacji, liczbę bitów n w słowach kodowych zbioru A należy tak dobierać,
aby liczebność N = 2" zbioru A była nie mniejsza od m:
Do zakodowania pierwszej informacji istnieje N możliwości, do zakodowania drugiej mamy N -1, dla trzeciej N -2 itd. Liczbę różnowartościowych
kodów kompletnych lub nadmiarowych, czyli opisywanych funkcjami bijekcji
lub iniekcji, można zatem określić jako
N x(N-l)x(N-2)x ... x(N-m+ I ) = N!/(N - m)!
co w praktyce daje bardzo duże wartości (p. 2.2.5). Są one jednak mniejsze od
liczby A 1 wszystkich możliwych kodów, równej Nm (p. 1.4), gdyż kody
niekompletne oraz kody opisywane funkcjami suriekcji i „w" zostały wykluczone.
Kodowanie stanowi zatem operację zapisu informacji przy użyciu odpowiedniego kodu. W technice cyfrowej pojęcie kodowania stosuje się zazwyczaj
wówczas, gdy zbiór I stanowi dziedzinę funkcjif. i obejmuje ciągi nad alfabetem
źródłowym (zrozumiałym przez człowieka). Zbiór A zawiera natomiast ciągi nad
alfabetem wynik.owym (zrozumiałym przez układ bądź system cyfrowy), czyli nad
a lfabetem dwójkowym B. Dziedzinę I określa się ogólnie jako język źródłowy,
a przeciwdziedzinaf.(/) ~ A stanowi język wynikowy (potocznie mówi się ,język
kodu"). Ciągi A ef.(/) zwykle się określa jako ciągi kodowe. Służą one do zapisu
danych w kodzie f..
Na przykład, jeśli A = B3, to język ten może służyć do zakodowania
najwyżej ośmiu (2 3 = 8) informacji, np. liczb ze zbioru I = {O, I, 2, ... , 7}, w różny
sposób. Przy zastosowaniu naturalnego kodu dwójkowego (p. 2.2. I) następujące
przyporządkowania określają bijekcję f.: I <-> A
01-+000
Jt-+001
21-+ 0IO
31-+0l I
36
2.2. KODY LICZBOWE
4>-+ 100
5>-+ 101
61-> I LO
7>-+111
Każde z tych przyporządkowań reprezentuje parę uporządkowaną ( l, A) , np.
( 5, 101). Par takich w zbiorze lx A istnieje w tym przypadku 8 x 8 = 64, lecz
tylko osiem z nich wchodzi do zbioruf,..
W powyższym przykładzie przedstawiony został kod kompletny. Jeśli
jednak zwiększyć liczbę m słów informacyjnych I powyżej ośmiu, np. / - {O, I, 2,
3, 4, 5, 6, 7, 8}, to otrzymany kod będzie częściowy (niekompletny). Z kolei przy
zmniejszeniu liczby m poniżej ośmiu ot rzymuje się kod nadmiarowy.
O peracja dekodowania opisuje się runkcją odwrotną 1.- I = L, która
istnieje dla kodu iniek tywnego i bijektywnego (p. 1.4).
Powyższe operacje kodowania i dekodowania stanowi ą szczególne
przypadki ogólnej operacji, zwanej potocznie, lecz niezbyt ściśle konwersją
kodów. Ściślej biorąc, jest to konwersja (tłumactenie) języków, ogólnie języka
wejściowego X na język wyjściowy Y, poprtez określenie pojedynczego kodu
t ranslacyjnego w postaci pewnego zbioru par uporz.1dkowanych ( X, Y) e X x Y,
gdzie Xe Xi Ye Y są odpowiednimi słowami. Kod taki definiuje się jako relacjęp,
lub runkcję J. w sposób opisany w p. J.4.
W literaturze jest podawana także definicja kodu j ako zbioru odwrotnych
par (A, / )e A x I , ze zbiorem A zawierającym dziedzinę relacj i kodowej bądź
będącym dziedzim1 runkcji kodowej .
Kody liczbowe stosuje się do zapisu informacji liczbowych. Jeżeli
informacje obejmują nie tylko liczby, lecz także litery i odpowiednie znaki
interpunkcyjne, to kod stosowany do zapisu takich informacji tekstowych
określa się jako alfanumeryczny.
Do wykrywania (detekcji) i ewentualnego poprawiania (korekcji) błędów,
które mogą powstać w praktyce przy przesyłaniu lub podczas przechowywania
informacji kodowanych cyfrowo, służą odpowiednie kody zabezpieczaji1ce przed
błędami. Są to specjalne kody nadmiarowe, ok rcślane jako ko111ro/11e, gdyż służą
do kontroli wierności informacji.
KODY LICZBOWE
Kod y naturalne
2.2
2.2.1
Najbardziej rozpowszechnionymi kodami liczbowymi są kody zwane na111ral·
nymi. Zapis liczb w kodzie naturalnym jest pozycyjny. O zoacza to, ie w słowie
kodowym A reprezentującym liczbę dziesiętną L(A) każdy znak a1 przyjętego
alfabetu zajmuje ściśle określoną pozycję (i), przy czym tej pozycji jest przypo·
rządkowana odpowiednia waga w1 = p1, gdzie stała p jest tak zwaną podstawą
37
2. CYFROWY ZAPIS INFORMACJI
przyjętego
kodu liczbowego. Stąd też mówimy, że kod nat11ra/11y jest kodem
pozycyjnym, wagowym, o stałej podstawie. Powszechnie stosowany naturalny kod
dziesiętny (w skrócie ND) ma oczywiście podstawę p = 10.
Na przykład, naturalna liczba dziesiętna A = 2578 jest interpretowana
jako
L(A) = 2xJ0 3 +5xJ0 2 +7xJ0 1 +8xl0°
lub inaczej
3
L(A) =
La
1
101
gdzie a0 = 8, a 1 = 7, a2 = 5 i a 3 = 2.
Jak widać, liczba L(A) jest identyczna ze słowem dziesiętnym A, które ją
reprezentuje. Wynika to z potocznego zastosowania kodu dziesiętnego jako
kodu zewnętrznego (wejściowego i wyjściowego) dla ukladów (systemów)
cyfrowych, w celu zapisu i odczytu informacji liczbowych przez czlowieka.
Przy zapisie liczb w postaci odpowiednich słów kodowych A czasem
należy wyraźnie wskazać na podstawę użytego kodu liczbowego, aby uniknąć
niejednoznaczności. Realizuje się to przez zapis typu AP lub (A)P , np. 2143 8 lub
(2143) 10, albo przez wprowadzenie odpowiedniego przedrostka lub przyrostka
znakowego, np. BlOlO, 2CD7H (B - kod dwójkowy, H - szesnastkowy).
Wielkość przyjętego alfabetu liczbowego, czyli liczba różnych znaków,
które mogą być stosowane do zapisu liczb w kodzie liczbowym o podstawie p,
jest także równa p, obejmując znaki a,e{O, l, ... ,p-1}. Na przykład, w kodzie
dziesiętnym (p = 10) posługujemy się dziesięcioma symbolami ze zbioru {O, I,
2, ... , 9}
Odpowiednie formuły wiążące slowa kodowe z nieujemnymi liczbami
rzeczywistymi są następujące:
I.
Nieujemna liczba całkowita L ~ O, przedstawiona w kodzie naturalnym
o podstawie p w postaci slowa A o długości 11
A=a._ 1 . •. a, ... a 1 a0 •
O~a,~p-1
jest równa
11-
L(A) = a. _ 1 pn - I +a. _ 2 pn -
2.
2
+ ... +a , p
I
l
+ a0 p = L... a,p i
O
'\'
(2.1)
l= O
Nieujemna liczba ułamkowa O~ L < 1, przedstawiona w kodzie naturalnym o podstawie p w postaci słowa A o długości m
A = a _ , a _ 2 .„ a;-„a - m+ia - m, O ~ a1 ~ p - 1
jest równa
- 1
L(A) = a _ 1 p - 1 +a _ 2 p - 2 + ... + a_„+ 1 P-m+•+a_mp - "' =
L
}= -m
1pi
t1
(2.2)
38
2.2. KODY LICZBOWE
3.
Nieujemna liczba rzeczywista L ~ O, mająca część całkowitą i ułamkową,
przedstawiona w kodzie naturalnym o podstawie p w postaci słowa
A o długości (n+ m)
A = a„ _ 1 an _ 2 ... a 1 a0 a_ 1 a_ 2 ... a_m
jest równa
•- I
L(A) =
L
a,p•
(2.3)
k= -m
Niezależnie
od rodzaju liczby (całkowita, ułamkowa czy ogólnie biorąc
rzeczywista), słowo kodowe zawierające n dowolnych symboli przyjętego
alfabetu może reprezentować najwyżej p• różnych liczb. Najmniejsza z nieb jest
zerem, a największa zależy od tego, czy jest to liczba całkowita, czy ułamkowa.
Maksymalna wartość liczby całkowitej jest równa
L max = p" - 1
(2.4)
a dla liczby 11/amkowej L < 1
(2.5)
Na
całkowitą
przykład,
ma
czterocyfrowe
słowo
w kodzie ND
reprezen tując liczbę
wartość maksymalną
Lm„ = 104 - 1 = 9999
a
reprezentując liczbę ułamkową
Lmax = 1-10- 4 = 0.9999
W niniejszej książce przy zapisie liczb niecałkowitych zamiast symbolu
przecinka dziesiętnego będzie stosowana kropka. Konwencja ta jest zgodna
z notacją liczb rzeczywistych we współczesnych językach programowania
komputerowego i jest często stosowana w literaturze specjalistycznej z zakresu
techniki cyfrowej. Ułatwia na przykład zapis ciągu liczb rzeczywistych (np. O.I,
0.2, 0.3, ...) i przedziału o krańcach wyznaczonych przez lic-.tby rzeczywiste (np.
[0.17, 0.44)).
Naturalny kod dziesiętny (ND) jest stosowany powszechnie z uwagi na
wielowiekową tradycję, popularność i zrozumiałość. Jest on jednak w użyciu
dopiero od około dziesięciu wieków. W starożytnym Rzymie też był stosowany
kod dziesiętny, lecz nie był to naturalny kod dziesiętny. Stosowane wtedy (i
jeszcze dzisiaj na receptach lekarskich) były następujące symbole: I = 110,
V = 5 10, X = 1010 , C = 100 10 , D = 50010 , M = 1000 10 . Np. rok 1990 można
wyrazić jako MCMXC, gdzie CM = 1000-100 i XC = 100- 10. W kodzie tym
brak było symbolu zera. Koncepcja zera była jednak j uż znana w starożytnej
Mezopotamii, gdzie był stosowany pozycyjny kod liczbowy o 60 symbolach.
39
2. CYFROWY ZAPIS INFORMACJI
Jakkolwiek kod ten został zarzucony ok. 1700 r. p.n.e., to jednak jego wpływ trwa
do dzisiaj: godzina ma 60 minut, minuta 60 sekund, kolo ma 6 x 60 = 360 stopni.
Naturalny kod dziesiętny został opracowany w Indiach około piątego wieku n.e.
i udostępni ony cywilizacji europejskiej przez Arabów.
W technice cyfrowej najczęściej jest stosowany naturalny kod dwójkowy
(binarny) z p = 2, oznaczany literami NB (Natura/ Binary). Dla nieujemnych
liczb calkowityc/1, zapisanych w postaci słowa
B = b. _ 1 b. _ 2 ••• b1 ••• b 1 b0 ,
b,e{O, l}
otrzymujemy zgodnie z wzorem (2.1)
reprezentację dziesiętną
jako
n- 1
L(B) =
L b,2
1
(2.6)
i= O
przy czym L„1• = O i zgodnie z wzorem (2.4)
L„0 x=2" - 1
Na
przykład,
I
X
(2.7)
liczba dwójkowa 1011 2 jest
23 + OX 22 + l
X
2 1 +I
X
równoważna
liczbie
dziesiętnej
2° = 1110
Dla liczb ułamkowych stosuje się w podobny sposób wzór (2.2). Nieujemna
liczba ułamkowa przedstawiona w kodzie NB słowem zerojedynkowym
B = b _ 1 b _ 2 ..• b;-··b - m+ib - .„
b;e{0,1 }
jest równa
- 1
L(B) =
L
b;2j
(2.8)
j= - m
przy czym Lmi• = O i zgodnie z wzorem (2.5) L.,., = 1-2- "'.
(2.9)
Na przykład, jeśli liczba dwójkowa 1011 2 reprezentuje liczbę ułamkową
(0.IOl l)i, to jej reprezentacja dziesiętna będzie równa
I x2 - •+ox2- 2 +1 x2 - 3 +1 x2 - 4 =0.687510
Dla nieujemnych liczb rzeczywistych o części całkowitej i ułamkowej
się ogólny związek (2.3). Na przykład liczba dwójkowa 1011.1011 2 ma
reprezentację dziesiętną równą I J.6875 10 .
W słowie dwójkowym bit związany z najw iększą wagą (skrajny z lewej
strony) nazywamy najwyższym lub najbardziej znaczącym bitem (MSB - Most
Significant Bit), a bit związany z najmniejszą wagą (skrajny z prawej strony)
- najniższym lub na;mniej znaczącym bitem (LSB - Least Significant Bit).
stosuje
40
2.2. KODY LICZ80W(
Jak powiedziano wcześniej, liczba słów w zbiorze stanowiącym język
kodu dwójkowego zależy tylko od długości n tych slów kodowych i jest równa
N = 2". Wynika stąd, że dla zakodowania liczby m informacji elementarnych jest
potrzebny kod dwójkowy o długości słów nie mniejszej niż
nmin = log2 111::::: 3.32 log 10 111
a
ponieważ długość słowa
jest
liczbą całkowitą,
n= INT(nm;„) + (FRC(n„,0 ) >O)
(2.10)
zatem
(2.11)
INT(n„,.) - część całkowita
gdzie:
liczby nmin obliczonej z (2. IO),
liczby nmin>
(FRC (nminl > 0) - predykat, przyjmujący wartość l przy spełnieniu lub
wartość O przy niespełnieniu.
FRC(nmin) - część ułamkowa
Na przykład, dla m = 7 otrzymujemy nmio ::::: 2.81, czyli n = 3. Podobnie
dla m = IO otrzymujemy 11„,. ::::: 3.32 czyli 11 = 4.
Kod dwójkowy kojarzy się zwykle z pracami G. Boole' a ( 1854) oraz
C. E. Shannona (1938). Początki dwój kowego kodu liczbowego sięgają jednak
XVII w. (F. Bacon, 1605). W XVIII w. naturalny kod dwójkowy prt.edstawił
G. W. Leibniz. Na początku XIX w. wstała opracowana przez J. M. Jacquarda
pierwsza maszyna tkacka z elementami sterowania cyfrowego ( 1805), a dopiero
potem nastąpiło opracowanie algebry logiki przez G . Boołe'a ( 1854) oraz
dwuwartościowego alfabetu telegrafic-Lnego przez J. Baudota (1874).
Zapis dużych liczb w naturalnym kodzie dwójkowym oznacza wprowadzanie dlugich słów złożonych z zer i jedynek, co przy „ręcznym" operowaniu
liczbami jest niewygodne i sprzyja powstawaniu błędów. Dla skrócenia zapisu
liczb dwójkowych wprowadzono zatem kody o podstawie p = 2', gdzie r > I
jest liczbą naturalną. Najczęściej są stosowane dwa takie kody: kod ósemkowy
(r = 3) i kod szesnastkowy (r = 4), oznaczany czasem dla wygody literami
HEX (z ang. liexadecimal). W zapisie liczb kodu szesnastkowego częst o
stosuje się przedrostek $ lub przyrostek H. Liczby są przedstawione w tych
kodach zgodnie z ogólnymi wzorami (2.1) do (2.3).
W tablicy 2.1 są przytoczone reprezentacje niektórych liczb w różnych
kodach. Jak widać, w kodzie szesnastkowym są wprowadzone symbole literowe
A, B, ..„ F do zapisu liczb dziesiętnych odpowiednio IO, 11, ..„ 15. Każdą tetradę
z naturalnego kodu dwójkowego można więc zapisać tylko jednym symbolem
z szesnastu możl iwych (0, I, .. „ 9, A, B, .. „ F). Umożliwia to znaczne skrócenie
zapisu liczb dwójkowych.
41
2. CYFROWY ZAPIS INFORMACJI
Ruu.zntr-ACJA tfJEX;T()1t,Y(H UCU W
l.02HYCK
Tobika 2.1
I.ODACH SATUkAU'll"Y(:H
Kod
dziesiętny
(ND)
Naturalny kod
dwójkowy (N8)
o
o
I
2
3
4
I
IO
li
100
101
11 0
Lli
1000
1001
5
6
1
8
9
IO
li
12
13
L4
15
L6
17
18
19
20
21
31
32
40
50
60
63
64
70
100
127
128
200
255
256
1000
1023
1024
42
1010
1011
1100
1101
ILLO
LLli
10000
IOOOl
10010
10011
10100
IOLOI
11111
100000
101000
110010
11 1100
Lli LI L
1000000
10001 10
1100100
111111 1
10000000
11001000
11111111
LOOOOOOOO
IL li LO I OOO
1111111111
I 0000000000
Kod
ósemkowy (0C7)
o
Kod szesnast·
kowy (HEX)
o
I
I
2
2
3
4
5
6
1
10
11
3
4
12
13
14
IS
16
17
20
21
22
23
24
A
2S
37
40
50
62
74
77
100
106
144
177
200
310
377
400
1750
1777
2000
s
6
7
8
9
B
c
o
e
F
10
11
12
13
14
IS
IF
20
28
32
3C
3F
40
46
64
7F
80
CB
FF
100
3E8
JFF
400
2.2. KODY LICZBOWE
Konwersja liczb przedstawionych w kodach
naturalnych o różnych podstawach
2.2.2
Konwersję liczp o różnych podstawach wykonuje się w oparciu o dwa proste
algorytmy, związane z konwersją liczb całkowitych i ułamkowych. Celem
konwersji jest określenie liczby o podstawie y, reprezentującej liczbę o podstawie
x. W praktyce najczęściej x = 10 i y = 2, co oznacza konwersję dziesięt­
no-dwójkową. Poniżej podane są reguły konwersji dla liczb nieujemnych.
Konwersja
dziesiętnych
liczb
całkowitych
jest dana dziesiętna liczba całkowita L, to równoważną jej liczbę
Bo podstawie p otrzymuje się w wyniku interacyjnego dzielenia przez podstawę
p. W wyniku pierwszego dzielenia otrzymuje się
Jeżeli
L
b
p
p
0
-= ao+-
gdzie: a0 - liczba całkowita,
b0 ~ p - I - reszta.
Dalsze dzielenia wykonuje
równego zeru:
się
tak
długo,
dopóki me otrzyma
a0
b,
-=a1+P
p
a•. , = O+~
p
p
Poszukiwana liczba B o podstawie p ma
postać
B = (b.b• . , „. b, b0 )p
Przykład. Przekształcić liczbę
61
I
T =30+ 2
b0 = 1
~=
b,
2
43
15
=o
61 10 na jej
równoważnik
dwójkowy.
się
a.
2. CYFROWY ZAPIS INFORMACJI
15
I
- =7+2
b, = I
2
7
I
- =3+2
2
3
I
I
1
2
2
2= 1 +2
b4 = I
-= 0+Stąd 61 io =
111101 ,.
Poniższy program, napisany w popularnym języku komputerowym
Turbo Pascal umożliwia konwersję dodatnich, całkowitych liczb dziesiętnych na
liczby o dowolnej podstawie z zakresu [2, 16].
prova• Koca l i
{ Prietwaria dtleaietnQ łt c ib41 ca lkowlta
na lictbe o innej podstawie 1 16 }
uae1 Crti
var
liczbo.
longtnt:
baza, u
byte;
•t
begin
ł
o
atrtnrl 40J;
•trlng( iJ;
ClrScr; GoToXY( I. 10);
Write(' Wpisz licz btt dtiealetno. ..
');
Readln( liczba);
Write('Wpi&t nowa podstnwe .•.
..•
');
Readln(baza);
s :• .
repeat
u :. liczba llOd baza;
St r (u. t);
lf u > 9 tben t
S
: :
t
+
!• Cbr(u + 55);
Sj
liczba : = liczba div bezo:
u.ntil liczba = O;
Wri teln;
Wr ite('Prietworiona liczbo jett rowna:
s)
e nd .
Konwersja dziesiętnych liczb ułamkowych
Jeżel i dana jest dziesiętna liczba ułamkowa l, to równoważną jej liczbę
Bo podstawie pot rzym uje się w wyniku iteracyjnego mnożenia przez podstawę p.
W wyniku pierwszego mnożenia o trzymuje się
lp
= b _ , +d,
gdzie: b _ 1 ~ p-1 to liczba
d, - nowy ułamek.
44
całkowita,
2.2. KODY LICZBOWE
Dalsze mnożenia wykonuje się tak długo, dopóki nie ornyma się żądanej liczby
cyfr w liczbie o podstawie p (czyli żądanej liczby bitów pny p = 2) lub dopóki nie
otrzyma się ułamka dm = O
d 1 p = b_2 +d 2
dzp = b _3 +d3
dm - 1P = b _m+dm
Jeśli d„ > O, to błąd wynikający z zaokrąglenia jest równy p-"'d..,. Poszukiwana
liczba B o podstawie p ma postać
B = (O.b_ ,b _z ···b- m)P
Przykład. Przekształcić liczbę
0.2110 na jej
równoważnik
dwójkowy.
0.2 l x2=0+0.42 b _ 1 = 0
0.42 X 2 = 0 + 0.84 b _ 2 = 0
0.84 x 2 = 1+0.68
b_ 3 = 1
0.68x2 = 1+0.36 b _4 = 1
0.36x2 = 0+0.72 b_5 = 0
0.72x2=1 + 0.44 b_6 =1
itd.
Stąd 0.21 1 0 = (0.001101.„)i.
Poniższy program Konuła w języku Turbo Pascal służy do konwersji
dziesiętnych liczb ułamkowycf1 na liczby o podstawie z zakresu (2, 16].
Maksymalna liczba cyfr w przetwarzanej lic.zbie wynosi 30.
progra• Konula;
(
Przetwarza dziesietna li c zbe
ułamkowa ł
na liczbe o innej podstawie i
usee Crt;
var
1 iczba
bo.zo, n, u
t
16
O
}
real;
byte;
otring[2 ) ;
begin
ClrScr:
GoToXY(l, 10);
Write('Wpisz
li czbę
ułamkowa ...
•);
Readln(liczba);
Wri te( ' Wpisz nowa podst owe ... •);
Read ln (bata);
n : . O; Writeln;
Write( 'Przetworzona liczba jest równa:
repeat
l iczba :a li czba - baza;
u :. Trunc(liczba);
Str(u, t);
if u> 9 then t :• Chr(u + 55);
Write(t);
liczba :• liczba - u;
n :. Succ(n);
until (liczba • 0) or (n • 30)
end.
45
. ' );
2. CYFROWY ZAPIS INFORMACJI
Jeżeli przekształcona
liczba ma część całkowitą i ułamkową, to obydwie
części przetwarza się oddzielnie według opisanych wyżej algorytmów.
Pnykład: Przekształcić liczbę
a)
61.2 110 na liczbę w kodzie szesnastkowym.
część całkowita
61
16 = 3, reszta
13,0
= 0 16 = b0
3
= O, reszta 3 = b 1
16
b)
część ułamkowa
16 = 3.36
b _I = 3
0.36 X 16 = 5.76
b_2 = 5
0.76 X 16 = 12.16
0.16x 16 = 2.56
b_3 = 1210 =
b_. = 2
0.56 X 16 = 8.96
b_ 5 = 8 itd.
0.21
X
c,6
W rezultacie liczba szesnastkowa b 1 b0 b_,b_ 2 b_ 3 b_ 4 b_ 5 jest równa
3D.35C28 16 . W tym zapisie cyfra b _5 oznacza najmniej znaczącą cyfrę (LSD
- Least Sig11ifican1 Digit), a cyfra b, oznacza najbardziej znaczącą cyfrę (MSD
- Most Significant Digit). Błąd zaokrąglenia wynosi 0.96 x 16- 5 , tak że właściwe
jest przyjęcie b- s "'9. Otrzymany wynik można łatwo sprawdzić przy użyciu
wyników z poprzednich przykładów, gdyż konwersję zapisu szesnastkowego na
dwójkowy otrzymuje się przez łatwy rozkład każdego symbolu liczby szesnastkowej na odpowiednie tetrady:
(11 1101.0011 0101 1100 0010 IOOih = 3D.35C29 16
Konwersję całkowitych liczb
żna wykonać na podstawie (2.6),
dwójkowych na dziesiętne najłatwiej monatomiast konwersję ułamkowych liczb
dwójkowych na dziesiętne według (2.8). W obydwu przypadkach pomocna jest tablica potęg liczby 2 (tabl. 2.2). W tablicy tej umieszczono również skrótowe oznaczenia liczb większych od tysiąca, powszechnie stosowane do oznaczania pojemności pamięci. Na przykład, układ pamięciowy
zawierający 1024 słów jednobitowych ma pojemność równą IK x I, czyli
I kilobit (I Kb), a pamięć zawierająca 65536 słów ośmiobitowych ma pojemność
równą 64K x 8, czyli 64 kilobajty (64 KB).
Konwersję liczby szesnastkowej na dziesiętną wykonuje się według
jednego z wzorów (2.1), (2.2), (2.3), przyjmując p = ł6. Program Kosd jest
prostym programem w języku Turbo Pascal do konwersji całkowitych liczb
szesnastkowych na dziesiętne:
46
2.2 KODV llCWOWE
TABLICA POT(O LłCUY 2
Tablica 2.2
2"
n
1
2
o
'8
2
16
)2
4
s
6
7
8
9
10
11
12
1)
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
)0
)I
)2
I
)
"
1
2
4
8
17
)4
68
I
2
4
8
16
33
67
1)4
268
S36
07)
147
294
S89
179
3S9
719
128
2S6
512
1 024
2 048
4 096
8 192
16 )84
)2 768
65 536
1) 1 072
262 144
524 288
048 576
097 152
194 304
)88 608
777 216
5S4 4)2
108 864
217 728
43S 456
870 912
741 824
48) 648
967 296
934 S92
869 184
738 )68
476 736
47
li Kl
<2Kl
OK>
C8Kl
C16K)
()2K)
C64K)
C128K>
C256K)
C512K)
( 1K)
C2Kl
C4Kl
C8Kl
Cl6K)
))
)4
35
35
2-•
1.0
o.s
0.2S
0.12S
0.062 s
0.0)1 2S
0.01S 62S
0.001 812
O.OO) 906
0.001 9S3
o .ooo 976
o.ooo 488
o.ooo 244
o.ooo 122
o.ooo 061
o.ooo 0)0
o.ooo 01S
o.ooo 007
o.ooo 003
o.ooo 001
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
o.ooo ooo
O.OOO OOO
s
2S
12S
562
281
140
070
035
517
2S8
629
814
907
9S3
476
2)8
119
059
029
014
007
00)
001
ooo
ooo
ooo
ooo
ooo
ooo
OOO
5
25
625
)12
156
S78
789
)94
697
)48
674
8)7
418
209
604
802
901
450
725
862
931
465
232
116
osa
029
014
5
25
12S
062 s
531 25
265 625
6)2 812
)16 406
158 20)
579 101
289 550
644 77S
322 )87
161 19)
58o 596
290 298
645 149
322 574
661 287
830 643
41S )21
207 660
10) 8)0
SSI 91S
s
25
125
562
781
390
695
647
923
461
2)0
615
307
6S3
826
913
456
228
5
2S
625
)12
656
828
914
9S7
478
739
869
934
467
733
366
5
2S
12s
062
0)1
51S
257
628
814
407
703
8S1
5
25
62S
812
906
4S)
226
613
806
5
25
12S
562 5
281 2S
640 62S
2. CYFROWY ZAPIS INFORMACJI
progra.e Kosd;
{ Przetwarza całkowita liczbe szesnastkowa
Dopusiczalne so małe l itery a .. t }
ł
O na dziesietna.
uses Crt:
var
f
I
longint;
byle;
r
i
•c
string(8 );
charj
begin
ClrScr; GoToXY(l, 10);
Write (' Wpisz liczbe 6%esnastkowa...
Readln(s);
r
f
:= O;
');
:• O;
for i : • l to Length(s) do
begin
c : : s (i );
jf c in ['0'..'9' ) then r : a r • 16 + Ord(c)
48
el se i f c In ['A ' .. 'F' ) the n r !• r • 16 + Ord(c)
el se i f c in (' •... ' t. l thon r : . r • 16 + Ord(c)
el se t : a
- -
1
55
87
end;
Wri teln ;
if t =O tben Wr ite('Rownowa ina liczba dziesietna jest
rowna: • , r)
ełse Write('Mylny zapis liczby szesnastkowej!')
end.
M ożna również wykorzystać
znacznie prostszy program:
prograa Konad;
{ Przetwarza całkowita liczbe siesnastkow4 ł O na dziesietna .
Dopuszczalne se małe litery a .. f }
uses Crt;
var
r
longint;
integer;
a
atring[8);
•
begin
ClrScr; GoToXY(l, 10) ;
Write('Wpi st liczbe szesnastkowa...
Readln(s);
Val('$' + s , r, a)i
')i
Write lni
if a • O tben Wr ite
else
( 'Równowatna 1iczba dziesietna jest równa:
zapia liczby szesnastkowej!')
r)
Write('ł1ylny
end.
U zupełnieni a
liczb
2.2.3
Każdą liczbę zapisaną
w kodzie naturalnym można również przedstawić
w odpowiednim kodzie uzupełnieniowym. Dla każdego naturalnego kodu
liczbowego o podstawie p istnieją dwa rodzaje takich uzupełnień:
a)
uzupełnienie do podstawy p, oznaczone symbolem Up ,
b)
uzupełnienie
do zmniejszonej podstawy p - 1, oznaczane symbolem
U(p-1).
Dla liczb o podstawie p = IO i p = 2 otrzymuje
uzupełnienia: U 10, U9 i U2, U I.
48
się
odpowiednio
2.2. KODY LICZBOWE
Uzupełnienie
U(p-1)
Dla liczby nieujemnej L o podstawie p, długości części całkowitej równej n ;;i: O
i długości części ułamkowej równej m ~ O, uzupełnienie do zmn iejszonej
podstawy jest równe
U(p - 1) (L) = p• - p - "'-L
Reguła
przez
odjęcie
praktyczna: uzupełnienie U(p - 1) liczby nieujemnej otrzymuje się
każdej cyfry tej liczby od (p- 1).
Przykłady:
U9(347) = 652
U9(67.324) = 32.675
U9(0) = 9
U9(0.0) = 9.9
W przypadku liczb dwójkowych operacja uzupełnienia do I nosi również
nazwę dopełnienia i oznacza zastąpienie każdej jedynki przez zero i odwrotnie,
czyli negację wszystkich bitów danej liczby.
Przykłady:
U/(łOl
101) = 0 10010
u1(01.1011) = 10.0100
U1 (O) = I
U 1 (O.O) = !.I
Uzupełnienie
Up
Dla liczby nieujemnej L o podstawie p i długości części całkowitej równej n ;;i: O
uzupełnienie do podstawy jest równe
Up(L) = p"-L
Up(O) = O
dla
L >O
Reguła
praktyczna I: uzupełnienie Up liczby nieujemnej otrzymuje się
przez dodanie jedynki na najmniej znaczącej pozycji jej uzupełnienia U (p - 1).
Reguła praktyczna 2: uzupełnienie Up liczby nieujemnej otrzymuje się
przez pozostawienie wszystkich mniej znaczących zer bez zmiany, odjęcie
pierwszej niezerowej najmniej znaczącej cyfry od podstawy p, a następnie
odjęcie pozostałych bardziej znaczących cyfr od zmniejszonej podstawy (p-1 ).
Przykłady:
UJ0(3410) = 6530 = 104 - 3470 (n = 4)
UJ0(0.3947) = 0.6053 = 1-0.3947 (n = O)
U/0(32.194) = 67.806 = 102 - 32.194 (n= 2)
UJO(O) =O
49
2. CYFROWY ZAPIS INFORMACJI
W przypadku liczb dwój kowych (p = 2), zgodnie z regułą 2, uzupełnie­
nie do 2 można ot rzymać pozostawiając wszystkie mniej znaczące zera i pierwszą najmniej znaczącą jedynkę niezmienione, a następnie negując pozostałe
bity.
Przykłady:
U2(10! 100) = 010100
U2(01. 1010) = IO.Ol IO
U2(0) = O, U2(0.0) =O.O
Przedstawianie liczb dwójkowych w kodach uzupełnieniowych U I i U2
wykonuje się w układach cyfrowych, aby wykonać arytmetyczną operację
odejmowania (rozdz. 3). Układy cyfrowe nie umożliwiają bowiem bezpośred­
niego odejmowania liczb dwójkowych, mogą tylko dodawać.
Zapis liczb dwójkowych ze znakiem
2.2.4
Do tej pory zajmowaliśm y się tylko liczbami bez znaku, które są interpretowane
jako nieujemne. W zbiorze liczb rzeczywistych istnieją jednak również liczby
ujemne, które w dziesiętnym systemie liczbowym oznacza się znakiem „ - ".
Podobnie dodatnie liczby dziesiętne oznacza się znak iem „ + ". W dwójkowym
systemie liczbowym znaki te mogą być wprowadzone tylko w postaci odrębnego
biw znaku, którego wartość równa I symbolizuje umownie zna k „ - ",a wartość
O odpowiada znakowi „ + ".
Istnieją trzy zasadnicze sposoby kodowania liczb dwójkowych ze znaIdem:
znak-moduł (ZM),
znak-uzupełnienie do I (ZU /),
znak-uzupełnienie do 2 (Z U 2).
Kody te stosuje się do liczb całkowitych i ułamkowych, czyli ogólnie
biorąc liczb rzeczywistych. W niektórych polskich podręcznikach kody uzupeł­
nieniowe liczb ze znakiem są również oznaczane symbolami U I i U2.
KodZM
W dziesiętnym systemie liczbowym liczba taka jak - 715.46 jest reprezentowana
przed znak ( - ) i modu/ 715.46. Podobnie w dwójkowych systemie liczbowym,
liczba przedstawiona w kodzie ZM składa się (od strony lewej do prawej) z bitu
znaku, po którym następuje kropka, oraz z bitów znaczących, określających
wartość bezwzględną liczby czyli jej moduł. Kropka ta ma znaczenie tyl ko
w zapisie „na papierze", aby wyraźnie wydzielić bit znaku. W praktyce układowej
jest ona pomijana.
50
U. KOOY UCZ80Wt
CzTEJt.OBIT~'E L1cz1v ie Zl'ilAKIEM w KODACH
1ab/lca :u
ZM, 7.tll I lłll
Lie7.ba
dzicsi~tna (w nawiasach
ulamkowa)
Liczba dwójkowa
ZM
Z Ui
I.I I I
I.I IO
I. IO I
1.100
I.Oli
l.OIO
1.001
I.OOO
I.OOO
1.001
1.0IO
1.011
1.1 00
1.101
I.I IO
I.I I I
o.ooo
o.ooo
0.001
o.oto
O.Oli
0.1 00
0. 101
0. 110
O. li I
0.001
o.oio
O.O t I
0.1 00
0.1 01
O. I IO
O.I I I
-8 (-1)•
-7 (--0.875)
-{; (--0.7S)
-S (--0.62S)
-4 (--0.5)
-3 (--0.375)
-2 (--0.2S)
-I (--0. t 2S)
-O
o
+O
I (0.12S)
2 (0.2S)
3 (0.375)
4 (0.S)
5 (0.62S)
6 (0. 7S)
7 (0.87S)
•)specjalna konwencja dla najmniejsuj Uczby
owacza - 1.
ułam kowej
ZU2
I.OOO
1.001
1.010
I.Ol I
1. 100
1. 101
I. I IO
1.111
o.ooo
0.001
0.010
O.Oli
0. 100
0. 101
0. 11 0
0. 11 1
w kodzie Z U1: zapis 1.000„.0
W kodzie ZM liczby dodatnie i ujemne o tych samych wartościach
bezwzględnych różnią się tylko bitem znaku. Na przykład, dla liczb ca łkowitych
otrzymujemy przyporządkowania
+ 12,0 ..... 0. 11002
- 12,0..... 1.11002
liczb
Te same zapisy liczb dwójkowych można także otrzymać przy kodowaniu
ze znakiem:
ułamkowych
+ 0.751 0H 0. l 1002
- 0.75 10 ..... 1.11002
przy czym kropka spełn ia już dwie funkcje, gdyż służy do wydzielania bitu znaku
i jednocześnie jest punktem dziesiętnym. W praktyce układowej kropka ta jest
jednak pomijana, gdyż zwykle przyjmuje się, że dany zapis reprezentuje al bo
liczbę całkowitą a lbo liczbę ułamkową (o zerowej części całkowitej).
Dalsze przykłady są przedstawione w tabl. 2.3.
51
2. CYFROWY ZAP1S INFORMACJI
Kod ZU1
W kodzie ZU I reprezentacja liczby dodatniej jest identyczna jak w kodzie ZM.
Natomiast lic-.:ba ujemna jest reprezentowana przez bit znaku równy I i przez
uzupełnienie jej modułu do I. Na przykład,
+ 1210 >-+0. 11002
+0.75 10 >-+0.1 1002
-1210 >-+ 1.0011 2
-0.75 10 >-+ 1.0011 2
Jak pokazano w tabl. 2.3, kody ZM i Z U I wprowadzają pewną anomalię,
a mianowicie dwie różne liczby reprezentujące zero. Te dwa zera określa się
umownie jako „dodatnie" i „ujemne" zero.
KodZU2
W kodzie ZU 2 reprezentacja liczby dodatniej jest identyczna jak w poprzednich
dwóch kodach. Natomiast liczba ujemna jest reprezentowana przez bit znaku
równy 1 i przez uzupełnienie jej modułu do 2. Na przykład, przy zapisie liczb
całkowitych
+ 12 10 >-+ 0.1100 2
- 1210>-+ 1.01002
a przy zapisie lic-lb ułamkowych
+ 0.75 10 >-+ O.l 1002
-0.75, 0 >-+ 1.01002
W tablicy 2.4 są pokazane 8-bitowe reprezentacje liczb ze znakiem
w kodzie Z U 2. W tym przypadku za kres kodowanych liczb całkowitych
obejmuje liczby od -128 do + 127. W przypadku formatu 16-bitowego zakres
ten wynosi od - 32768 do + 32767.
Można zauważyć, że uzupełnienia liczb ze znakiem wykonuje się tak samo
jak liczb bez znaku. Liczby nieujemne mają zerowy bit znaku i zera na
nieznaczących wyższych pozycjach modu łu. Podobnie liczby ujemne mają
jedynkowy bit znaku i jedynki na nieznaczących pozycjach uzupełnionego
modułu. Oznacza to, że bit znaku jest powiela11y na nieznaczących pozycjach
modułu lub jego uzupełnienia.
Kody
dwójkowa - dzies iętne
(BCD)
2.2.5
Aby liczby dziesiętne mogły być użyte w systemie cyfrowym, muszą być
przetworzone na kod dwójkowy, np. naturalny NB, lub zapisane w kodach
dwójkowych noszących wspólną nazwę kodów BCD (Binary-Coded- Decimal).
W kodzie BCD każda cyfra liczby dziesiętnej jest oddzielnie kodowana
dwójkowe w postaci odpowiedniego słowa. Cała Liczba dziesiętna jest kodowana
dwójkowe przez złoieoie słów dwójkowych, reprezentujących wszyst kie cyfry tej
52
2.2. KODY LICZBOWE
Tablica 1.4
0bOOBITOWE LIClllY ZE ~AKJ.EM W KOOACH ZUl I Jl!K
Liczba dwójkowa w kodzie ZU2 Liczba
dziesiętna
(ND)
Liczba dwójkowa
w kodzie HEX
10000000
10000001
10000010
10000011
- 128
-127
-126
-125
80
81
82
83
11111110
11111111
-2
FE
FF
-I
o
00000000
o
00000001
00000010
00000011
I
I
2
3
2
3
+ 125
+ 126
70
7E
+127
7F
01111101
01111110
01111111
liczby. Ponieważ liczba różnych cyfr w systemie dziesiętnym wynosi m = IO,
zatem do zapisu lych cyfr w kodzie dwójkowym są potrzebne słowa co najmniej
4-bitowe, czyli z n = 4 (p. (2.11)). Słowo takie umożliwia zapisanie N = 24 = 16
różnych liczb (w kodzie szesnastkowym od Odo F lub w kodzie dziesiętnym od
O do 15), c-~yłi 6 z nich jest w tym przypadku zbędne. Oznacza to, że wszystkie
kody BCD są kodami nadmiarowymi. Wybierając różne dziesiątki z szesnastu
możliwych slów kodowych i przyporządk owując je dziesięciu cyfrom 0,1,„„9
w różnych kombinacjach można otrzymać teoretycznie bardzo dużą liczbę
możliwych kodów BCD, równą N!/(N - 111)! = 16!/6! = 2.9x t0 10 .w praktyce
stosuje się jednak tylko kilka z nich (tabl. 2.5). Najpopularniejszym jest kod
BCD 8421, obejmujący pierwsze JO liczb z 4-bitowego naturalnego kodu
dwójkowego (por. tabl. 2.1). Zwyczajowo określa się go po prostu jako „kod
BCD" (bez dopisku „8421 "). Kody 2421 i X S3 są kodami „samouzupełniającymi"
w tym sensie, że uzupełnienie do I liczb dwójkowych w tych kodach daje
uzupełnienie do 9 odpowiednich lic:ib dziesiętnych. Upras = to wykonanie
niektórych operacji arytmetycznych.
53
2. CYFROWY ZAPIS INFORMACJI
Thblica 2.5
Koov 8CD
2421
I
XS3·
z 10
7-seg.ine.nt.
ND
8421
(Aikena)
X S3
-Graya
(pierścieniowy)
abcdefg
o
0000
0000
1
000 1
00 10
00 11
0100
0101
0 110
0 11 1
1000
1001
0001
00 10
00 11
0100
1011
1100
110 1
1110
1111
00 11
0100
OIOI
0 110
0 111
1000
1001
1010
1011
1100
0010
0 110
0 111
0101
0 100
1100
110 1
11 11
1110
1010
000000000 1
0000000010
0000000100
000000 1000
0000010000
0000100000
000 1000000
0010000000
0100000000
1000000000
11 11110
0110000
110 1101
111 1001
01 10011
10 110 11
2
3
4
5
6
7
8
9
IOll Jll
1110010
1111111
1111011
Specjalnym rodzajem kodu BCD jest kod „ I z JO" (pierści.eniowy),
będący jedną z odmian kodu „m z 11". Kod ten jest najprostszym koncepcyjnie
kodem do wprowadzan ia do układu cyfrowego cyfr kodu dziesiętnego przez
dziesięć wzajemnie wyłączalnych klawiszy lub do wyświetlania przez układ
jednej z dziesięciu cyfr kodu dziesiętnego. Zastosowania takie są powszechne
w relacjach człowiek- układ (system) cyfrowy. Stąd też przyjęto w technice
cyfrowej określenia: koder - układ służący do przetwarzania liczb w kodzie
„I z JO" na liczby w innym kodzie BCD i dekoder - układ służący do
przetwar?.an ia liczb w innym kodzie BCD na liczby w kodzie „ I z I O".
Do grupy dekoderów zalicza się także układy służące do sterowania
niektórych optyc-,mych wskaźników cyfrowych przez konwersję liczb przedstawionych w kodzie BCD na liczby w kodzie wskaźn ików 7-segmentowych.
Kod ten jest stosowany do wyświetlania cyfr dziesiętnych w większości
kalkulatorów i w przyrządach pomiarowych. Każda cyfra jest tworzona
przez „zapalen ie" odpowiednio dobranych segmentów a...g wyświetlacza
(rys. 2.1).
a
,j-:f
if
d
Rys. 2.1
Oznaczenia segmentów wy.S.,i,•ictlacza
?-segmentowego
Układy służące
do wszystkich pozostałych przemian między słowami
w różnych kodach określa się zwyczajowo, lecz niezbyt ściśle, jako konwertery
kodów (p. 2.1). Zalicza się do nich konwertery NB-BCD i BCD-NB.
54
2.2. KODY LICZBOWE
2.2.6
Kody refleksyjne
W refleksyjnym systemie liczbowym dowolne dwie kolejne liczby różnią się tylko
o I na jednej pozycji. Kody refleksyjne (Graya) o ta kiej właściwości są stosowane
głównie w urządzeniach slu7,ących do cyfrowego pomiaru analogowych wielk ości mechanicznych, takich jak przesuw liniowy lub kąt obrotu. Przy użyci u do
lego celu kodującego zespolu styków jest praktycznie niemożliwe zapewnienie
idealnie jednoczesnej zmiany sta nu na dwu lub więcej stykach, co przy
zastosowaniu kodu nierefleksyjnego prowadziłoby do dużych błędów pom iaru
w procesie przełączania (rys. 2.2).
b
Rys. 1. 2 Tar= kodowe do cyfrowego pomiaru
a)
b)
WC'l2 1
tarcia 2
kąta
obrotu
ctterob1to wym l odem /lo'8. ł::tónl m• • :ntto••K duit błędy. np.. prey pne,pau tt. .u.au 1111 u 0000.
cnttabitov.ym a:o0em G,..,.._ db kt6rej mak.J)małoy błąd odczytu ~ ± 1(2 LSB
Przykłady
kodów refleksyj nych są podane w tabl. 2.6. Jak widać na
refleksyj nego kodu dziesiętnego, po wzrastającej sekwencj i liczb
O, I, „„ 9 następuje malejąca sekwencja 19, 18, ..., IO, po której nastą piła by
sekwencja rosnąca 20, 21, ..., 29, potem malejąca 39, 38, ...,.30 itd.
Dla naturalnych liczb dziesiętnych o postaci d. _ 1 •. • d, „ . d0 generacja liczb
w refleksyjnym kodzie dziesiętnym, przed stawionym w tabl. 2.6, następuje na
podstawie reguł
przykładzie
tik = d.., jeśli du 1 jest parzyste,
tik = 9 - d.., jeśli dt+ 1 jest nieparzyste,
gdzie d,; (k = O, I, ..., n-l)jesl cyfrą dziesiętną liczby w kodzie refleksyj nym, przy
czym d. jest przyjmowane jako parzyste.
55
2. CYFROWY ZAPIS INFORMACJI
Tablica 1.6
Kod dziesiętny
naturalny
Kod dziesięlny
refleksyjny
o
o
I
I
2
3
4
2
3
4
5
5
6
7
8
9
IO
li
12
13
14
15
16
17
18
19
20
21
6
7
8
9
19
18
17
16
15
14
13
12
li
Kod dwójkowy
naturalny
IO
20
21
o
Kod dwójkowy
refleksyjny (Graya)
o
I
I
IO
11
li
100
101
110
111
1000
1001
1010
JOi i
1100
1101
I I IO
1111
10000
10001
10010
1001 1
10100
10101
110
111
101
100
1100
1101
1111
1110
1010
1011
1001
1000
11000
11001
11011
11010
11 110
11 111
IO
PrzetwarU1nie liczb przedstawionych w refleksyjnym kodzie dziesi~tnym
na liczby w kodzie naturalnym jest wykonywane zgodnie z regułami
jeśli
jeśli
d<+ t jest parzyste,
d„ t jest nieparzyste,
przy czym d. jest przyjmowane jako parzyste.
Liczba dwójkowa zapisana w kodzie NB w postaci słowab. _ t ••• b• ... b,b0
może być przetworzona na liczbę b'. - • ... b\ ... b' 1b' 0 w kodzie Graya przy użyciu
operacji sumowania modu Io 2 (p. 3. 1. tabl. 3.1) według wzoru
k = 0, I, ..., n - I
przy czym b. = O. Oznacza to, że bit b'k w generowanym słowie jest taki sam jak
odpowiedni bit b.,jeśli poprzedni bardziej znaczący bit bu 1 jest równy O, lub jest
negacją bitu b•• jeśli bk+ 1 = I.
Do przetwarzania odwrotnego posługujemy się podobnym związkiem
b. = b'. Eflbk+t•
przy czym b. = O.
56
k - O, I, ..., 11 - I
2.2. KOOY llCZBOWE
Zauważmy, że
sekwencja kodu reOeksyjnego jest symetryczna względem
dla sąsiednich długości słów kodowych, z wyjątkiem
najwyższej pozycji. Stąd też pochodzi nazwa kodu reOeksyjnego, którego tablicę
dla sąsiednich długości, lecz bez najwyższej pozycji, można podzielić na dwie
części, stanowiące swoje wzajemne odbicia zwierciadlane (refleksje).
punktu
środkowego
Zmiennoprzecinkowa reprezentacja liczb
2.2.7
Omawiane do tej pory liczby przy przedstawiane w tak zwanej reprezentacji
stałoprzecinkowej (fixed-point noration), w której położenie punktu dziesiętnego
(kropki) jest stałe, niezależnie od wielkości liczb, np. A - 47567.31,
B = 0.000075244. Je7..eli takie, znacznie różniące się od siebie, liczby mają być
przedmiotem obróbki w systemie cyfrowym, który przetwarza tylko dane np.
IO-cyfrowe w formacie XXXXX.XXXXX, to wprowadzenie ich do systemu
w oryginalnej postaci będzie związane z dużym błędem obcięcia liczby B:
B = 0.000075244
obcięte
Stosuje się wówczas skalowanie liczby, polegające na tak im przedstawieniu danej liczby, aby możliwe wszystkie jej cyfry znaczące zostały objęte
formatem obróbki w systemie. Dla liczby B jest możliwych kilka takich
przedstawień, np. 0.75244 x 10- 4 , 7.5244 x 10- s itd. Przyjmując pierwsze z nich
i zakładając, że na liczbach A i B ma być wykonana operacja mnożenia,
otrzymujemy
AX B
Mnożenie
= (47567.3 1 X 0.75244} X 0.000 I
w nawiasach może teraz być wykonane na wszystkich cyfrach
lecz otrzymany wynik musi być jeszcze pomnożony przez 10- •.
Operację skalowania można wykonać na liczbach o dowolnej podstawie,
w tym również na liczbach dwójkowych. W tym przypadku mnożenie przez 2- •
wykonuje się bardzo prosto przez przesunięcie w prawo wszystkich bitów danej
liczby o k pozycji. Mnożeniu przez 2• odpowiada analogiczne przesunięcie
w lewo.
Gdy różnice rzędów wielkości liczb podlegających obróbce są znaczne,
a ograniczenie długości słowa danych systemu spowodowałoby duże błędy
wynikające z obcięcia przy stalopozycyjnym zapisie liczb (skalowanych lub nie),
wówczas stosuje się zmiennoprzecinkowy zapis liczb (floati11g-poi111, notation).
Zapis ten, określany również jako zmie1111opozycyj11y, jest ogólnie stosowany do
obliczeń naukowych i inżynierskich.
Reprezentację zmiennoprzecinkową dziesiętnej liczby rzeczywistej L definiuje się jako takie złożenie słów dwójkowych M i W, czyli M • W, że
znaczących,
57
2. CYFAOW'f ZAPIS INFORMACJI
L = L(M o W) = L(M) X
(2. 12)
pdL(W)
M - mantysa, liczba ułamkowa ze znakiem, przedstawiona w jednym z trzech kodów ZM, ZUJ, Z U2,
słowo W - wykładnik lub cecha, liczba całkowita ze znakiem przedstawiona również w jednym z trzech kodów (niekoniecznie
tym samym co M),
p - wspólna podstawa kodów zastosowanych do zapisu słów
Mi W,
d - liczba naturalna (zwykle równa I).
Liczba zmiennoprzecinkowa jest znormalizowa11a,jeśli mantysa spełnia warunek
gdzie:
słowo
p - d
~
IL(M)I <I
(2. 13)
Dobranie takiego wykładnika W, aby spełnić ten warunek określa się jako
normalizacja. Podczas tej czynności następuje odpowiednie przesunięcie pozycji
kropki dziesiętnej („przecinka"). co uzasadnia nazwanie tej notacji zmiennoprzecinkową.
jednobajtowe słowa dwójkowe M i W w kodzie
ZU2 przedstawić liczbę dziesiętną L = - 4.25 w dwójkowym zapisie zmiennoprzecinkowym, znormalizowanym.
Pnyklad.
Przyjmując
I.
Przekształcenie
liczby L na liczbę dwój kową daje w kodzie ZU2
Z U2(L) • 1.001.11, gdzie pierwsza kropka z lewej strony służy umownie
tylko do wydzielenia bitu znaku, a druga jest punktem dziesiętnym.
2.
Normalizacja wymaga przesunięcia punktu dziesiętnego w lewo o trzy
pozycje, aby spełnić warunek 0.5 ~ IL(M)I = I i wówczas
L = L (l.Ollll)x2 3
3.
Stosując 8-bitowy kod ZU2 dla słów mantysy i wykładnika otrzymujemy
dwójkowy zapis zmiennoprzecinkowy
M• W = 1.0111 1000.0000011
--..---.----....-~
M
W
przy czym bity przed kropkami wskazują na odpowiednie znaki (należy
jeszcze raz podkreślić, że kropki te nie są kodowane i umieszczone
w powyższym zapisie tylko dla łatwiejszej interpretacj i).
4.
Sprawdzenie:
L (M )xpl.lWI = -(2- • +2 - s) x2 3 = - 0.53125x2 3 = - 4.25
które
Istotną zaletą reprezentacji zmiennoprzecinkowej jest duży
można w ten sposób przedstawić. Pnyjmując, że słowo M
58
zakres liczb,
ma m bitów
2.2. KODY LICZBOWE
i słowo W ma w bitów można obliczyć, że jeśli obydwa te słowa są zapisane
w kodzie ZM lub Z U I, to zakres liczb zmiennoprzecinkowych będzie określony
jako
L(M• W) e [- L„„ (M• W), Lm,..(M• W)]
gdzie
Lmax(M•W) = Lmu.li (M)x 2lm,,.<••'>= (1 - 2"' + ' )22w - L1-22
w- 1_ ,
Jak widać, zakres ten zależy głównie od liczby bitów wykładnika . Przy
zastosowaniu kodu ZU2 dla słów mantysy i wykładnika otrzymuje się wynik
zbliżony:
L (MoW)e[ - 22w-t - 1, ( 1- 2- „ +1) 22w - 1_ l]
gdyż najmniejszą liczbą ułamkową, stanowiącą mantysę, którą można
w kodzie Z U2, jest - I (zapis I .()()·„O).
Minimalna liczba dodatnia różna od zera, która
w zapisie zmiennoprzecinkowym, jest równa.
przed-
stawić
R
może być wyrażona
= L*(M)+2L,,;.IW>
gdzie L *(M) = 2 - 1 jest najmniejszą dodatnią mantysą znormalizowaną. Najmniejszy wykładnik przy opisaniu go kodem ZM i ZUi jest równy
Lm;n( W) = -L„,,(W) = - (2"' - l - 1)
i wówczas R
= 2- 2 "'- 1• Przy kodzie ZU2 w wykładniku otrzymujemy
Lm;n( W)
= L(f.00„·0) = -
2"'- 1
i wtedy
R = 2-2w-•-1
Ta
duża
zaleta notacji zmiennoprzecinkowej jest w praktyce okupiona
czasem obliczeń i bardziej złożonym systemem cyfrowym niż przy
użyciu zapisu stałoprzecinkowego, a także zm11iejszoną rozdzielczością w przeliczeniu na bit, gdyż bity „znaczące" liczby L(M• W) dotyczą tylk o mantysy. Przy
danych z ostatniego przykład u 8-bitowa mantysa (łąc-mie ze znakiem) daje
rozdzielczość równą 2 - 7 ""7.8 x I0 - 3 , czyli zaledwie 2 cyfry dziesiętne, natomiast 16-bitowa notacja stałoprzecinkowa (łącznie ze znakiem) zapewnia
rozdzielczość 2 - 15 "" 3. 1 x 10- 5 czyli 4 cyfry dziesiętne. Dlatego przy obliczeniach z liczbami zmiennoprzecinkowymi są wymagane odpowiednio duże
mantysy, gdyż w przeciwnym razie błędy zaokrągleń mantysy mnożone przez
duże czynniki 2l(K1 mogą prowadzić do znacznego pogorszenia dokładności
wyników. Na przykład, przy stosowanej w programach mikrokomputerowych
mantysie 3-bajtowej (łącznie ze znakiem) otrzymuje się rozdzielczość równą
2 - 23 "" 1.2x10- 1 , podobnie przy mantysie 4-bajtowej otrzymuje się
2 - l i "" 4.7 x 10- 10, a przy mantysie 6-bajtowej 2- 4 7 "" 7.1 x IO- 1 5•
zwiększonym
59
2. CYFROWY 2.APIS INFORMACJI
Liczba zmiennoprzecinkowa zero nie ma reprezentacji znormalizowanej.
Jest ona zwykle reprezentowana zerową mantysą (L(M) = O) i minimalnym
wykladnikiem (LmmCW)). Takie przedstawienie zmiennoprzecinkowego zera
umożliwia zachowanie dokładności przy wykonywaniu operacji dodawania
i odejmowania liczb zmiennoprzecinkowych. W takich operacjach najpierw
wyrównuje się wykladniki, a następnie dodaje (odejmuje) mantysy. Pny
wyrównywaniu wykładników zw iększa się mniejszy wykładnik, bo zmniejszanie
większego wykładnika oznac-.tałoby przesuwanie w lewo bitów znaczących
mantysy i prowadziłoby do przekroczenie dopuszczalnego zakresu wynikające­
go z normalizacji mantysy. Gdyby zero nie było opisane najmniejszym wykład­
nikiem, wtedy mogłoby się zdarzyć podczas wyrównywania zwiększenie wykład­
nika drugiego argumentu (o niezerowej mantysie), czyli przesunięcie bitów jego
mantysy w prawo, co spowodowałoby odrzucenie mniej znaczących bitów tej
mantysy. W wyniku tego następowałoby zmniejszenie dokładności obliczeń.
Liczba zmiennoprzecinkowa jest również interpretowana w obliczeniach
jako zero, jeśli pojawi się niedomiar, czyli wykładnik mniejszy od Lm;.( W).
W systemach cyfrowych stosuje się różne zapisy zmiennoprzecinkowe.
Dotyczy to nie tylko liczby bitów mantysy i wykładnika, ale i ich kodowania. Na
przykład.jeśli mantysa jest przedstawiona w kodzie ZM, to najbardziej znaczący
bit mantysy (za znakiem) może być w zapisie pominięty, gdyż w znormalizowanej
liczbie zmiennoprzecinkowej jest on wtedy zawsze równy I. W pewnych
komputerach stosuje się reprezentację „szesnastkową", którą można otrzymać
gdy we wzorach (2.12) i (2.13) podstawi się d = 4. W wykładniku można pominąć
bit znaku, jeśli wprowadzi się „przesunięty" nieujemny wykładni k W' spelniający
równanie
L(W) = L (W)+2· gdzie m jest
liczbą
bitów
1
wykładnika.
Przykładowo,
przy m = 8 największy wykładnik L.,..(W') jest równy
2 - I = 255, czyli L....,(W) = 255 - 128 = + 127, natomiast przy Lm,.( W) = O
otrzymujemy L,,.;.(W) = - 128. Oznacza to, że odpowiednie wielkości L.,.,„
(M • W) i R są takie same, jak przy użyciu bitu znaku w wykładniku.
Przesunięte wykładniki są zawsze liczbami nieujemnymi, czyli ich porównywanie
jest technicznie łatwiejsze niż przy wykładnikach ze znakiem, który musi
być wtedy uwzględniony. Ponieważ minimalny przesunięty wykladnik jest
równy O, dlatego w tym przypadk u zmiennoprzecinkowym zapisem zera
jest proste zlożenie OoO.
8
Przykład. Obliczyć
zakres liczb dodatnich i rozdzielczość dla zmiennoprzecinkowego formatu danych, gdz.ie zastosowano przesunięty wykładnik i nic
uwzględniono najbardziej znaczącej jedynki znormalizowanej mantysy, przed stawionej w kodzie ZM.
60
2.3. KODY ALFANUMERYCZNE
Znak
man tyły
o
Mantysa
\łykładn l k
9 10
1
Pierwsze
[
słowo
15
o
15
16•bltowe
Drugi e
słowo
16-b itowe
Numer
bitu
I.
Wykładnik
[O - 2
8
=-
L(W) zawiera się w zakresie
256, 29 - I - 28 = 255)
2.
Najmniejszą niezerową liczbą dodatnią otrzymujemy przy minimalnej
mantysie (1.00„.0)z, gdzie kropka jest punktem dziesiętnym, a jedynka nie jest na
pozycji bitu znaku, lecz wynika z normalizacji i przesunięcia w lewo o jedną
pozycję bitów mantysy Gedynka ta nie jest faktycznie zawarta w powyższym
formacie danych). Podobnie największą liczbą dodatnią ot rzymuje się przy
maksymalnej mantysie równej (I. I I I ... Ih "" 2 10• Dlatego zakres liczb dodatnich
wyrażanych tym formatem wynosi
(J
3.
X
2-
256 ::::
8.636 X 10-
Rozdzielczość
2- 23
=:,:
78 ,
2 X 2255
=:,:
1.158 X 1077 )
wynika z liczby bitów mantysy (22 + I
f.19 X 10-
„pominięty"):
7
co odpowiada dokładności sześciu - siedmiu cyfr dziesiętnych.
Zmiennoprzecinkowy format liczb jest ustalony w systemach cyfrowych
przez sprzęt lub oprogramowanie bądź łącznie przez sprzęt i oprogramowanie.
Norma amerykańska IEEE 854 określa wiele standaryzowanych formatów dla
obliczerl zmiennoprzecinkowych, które zostaly uwzględni one m.io. przy projektowaniu specjalistycznych scalonych koprocesorów arytmetycznych (np. Intel
8087, Motorola. MC68881 ). Format liczb zmiennoprzecinkowych jest również
zawsze zdefiniowany w językach programowania. Na pnyklad podstawowa
wersja języka Turbo Pascal operuje na 6-baj towych słowach reprezentujących
liczby rzeczywiste (real). Jeden bajt opisuje wykładnik (dla tego mak symalny
wykładnik
jest równy 2 127 :::: 1.7 x 1038 • a
minimalny meuiemny
128
39
2:::: 2.9 x 10), natomiast pięć bajtów zawiera mantysę (stąd rozdzielczość
2 - 39 :::: 2 x 10- 12, czyli dokładność 11 cyfr dziesiętnych).
KODY ALFANUMERYCZNE
2.3
Informacje są przedstawiane nie tylko w postaci liczbowej, ale i tekstowej. W cel u
wprowadzenia informacji tekstowej do systemu cyfrowego, jej przetworzenia,
zapamiętania i wyprowadzenia niezbędny jest kod, który umożl iwia dwustronną
61
2. CYFROWY ZAPIS INFORMACJI
· translację znaków alfabetu tekstowego (czyli liter i cyfr) na odpowiednie słowa
dwójkowe. Kody, które umożliwiają taką translację, określa się jako alfa-
numeryczne.
Z uwagi na powszechne zastosowanie tych kodów w telekomunikacji
zawierają one również znaki kontrolne, służące do sterowania odpowiednich
urządzeń wejścia/wyjścia podczas przesyłania informacji. Ponadto zawierają one
znaki interpunkcyjne i podstawowe znaki matematyczne.
W telegrafii od wielu lat stosowany jest 5-bitowy kod telegraficzny
Baudota, znany obecnie pod nazwą kodu telegraficznego cc1n· nr 2 i związany
ze sposobem dziurkowania pięciu pozycji na taśmie papierowej. Każdy znak
tekstowy i techniczny jest w tym kodzie reprezentowany przez 5-bitowe słowo
kodowe.
Poza tym kodem stosuje się wiele innych kodów 5-, 6-, 7-, i 8-bitowych.
Objęty normą międzynarodową ISO 646-1983 (ISO- International Organiza1ion
for Standardization) jest kod 7-bitowy, czyli obejmujący 128 znaków.
Amerykańską wersją 7-bitowego kodu ISO jest kod ASCII (czyt.
aski, American Standard Code for lnformation lntercha11ge) objęty normą
ANSI X3.4-1986. Jest on pokazany w tabl. 2.7, w której na dziesięciu pozycjach
podano również niektóre litery polskie (przestarzały standard tzw. klawiatury
maszynistki).
Pierwsze 32 7-bitowe słowa kodów ISO i ASCII są słowam i sterującymi.
Słowa te są podzielone na następujące grupy:
TC
- słowa sterujące transmisją informacji w sieci telekomunikacyj nej,
FE
- słowa sterujące układem tekstu,
OC
- słowa sterujące pracą urządzeń wejścia/wyjścia,
IS
- separatory informacji.
Znaczenie poszczególnych słów sterujących jest następujące:
NUL
- brak informacji (znak pusty),
SOH (TC!)
- początek nagłówka,
STX (TC2)
- początek tekstu,
ETX (TC3)
- koniec tekstu,
EOT (TC4)
- koniec transmisji,
ENQ (TC5)
- zapytanie,
ACK (TC6)
- potwierdzenie (odpowiedź pozytywna),
BEL
sygnał dźwiękowy,
BS (FEO)
- cofnięcie o I pozycję,
HT (FEi )
- tabulacja pozioma,
LF (F E2)
- wysuw jednego wiersza,
VT (FE3)
tabulacja pionowa („HOME" w mikrokomputerach I BM
PC),
FF (FE4)
62
-
wysuw strony,
2.3. KOOV AlFANUM ERYCZNE
51eOM1081T0WY KOD ALfANU~tERYCZNY
(STANDARD MASZYNISTKI)
ASCII
Z WYMI ENNYMI LITERAMI POLSKl ~tl
Oznaczenia: ND liczba dziesiętna, HEX - liczba s1.csnastkowa, ZN - znak,
ZS - wak sterujący (symbol • oznacza klawisz Ctrl),
NA - skrótowa nazwa znaku sterującego
zs
ND HEX Z.N
o
oo
I
01
02
Ol
04
2
3
4
s
6
7
8
9
IO
li
12
13
14
IS
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
os
~
·Ą
•
•e
•
•
•
·c
·o
OC
9
o
STX
34
• K VT
d
)
"o•
li
12
Il
14
15
16
17
18
19
IA
IB
JC
ID
IE
IF
!
-
·v
·w
· x CAN
• y EM
· z SUB
t
-'.... .,·c
--
OLE (TC7)
-
DCi
DC2
DC3
DC4 (STOP)
ESC
FS
„
os
•-
us
']
•
•
40
41
42
43
44
SYN
ETB
11
37
38
39
45
§
i
!!
36
• L FF
SI
OLE
· Q DC i
' R DC2
·s DC3
• T DC4
• u NAK
•
3S
•M CR
' N SO
·o
•p
CR (FE5)
SO
SI
63
32
33
• ·c
D
ND HEX ZNAK ND HEX ZNAK ND HEX ZNAK
SOH
ETX
EOT
· ie ENQ
• f ACK
BEL
• H BS
· 1 HT
• J LF
ł
•
IO
•@ NUL
o
07
08
09
OA
OB
OD
OE
OF
NA
RS
Thblica Z.7
46
47
48
49
20
SP
64
40
@ ~
21
22
23
24
!
6S
A
•s
66
41
42
43
25
26
27
28
29
2A
28
2C
2D
2E
2F
30
31
32
„
67
68
44
%
&
69
(
)
72
73
+
74
7S
76
4S
46
47
48
49
4A
4B
•
I
o
I
70
71
77
4C
B
c
D
E
F
o
H
I
J
K
L
4D M
4E N ·
4F o
78
79
80
81
82
83
SO
p
51
S2
53
Q
R
s
T
SI
52
S3
))
34
2
3
4
84
54
35
5
8S
SS
u
54
6
7
8
9
86
56
V
87
88
89
:
90
;
91
57
58
59
SA
SB
w
57
SB
S9
36
37
38
39
3A
38
60
K
<
92
se
61
62
63
3D
3E
3F
>
93
94
95
SD
SE
SF
SO
55
56
-
?
X
y
z
I t
\ l
J ń
ś
-
96
97
98
99
100
101
102
103
104
105
106
107
60
'ą
61
62
63
a
64
69
d
c
f
g
h
i
6A
6B
k
6S
66
67
68
IOS
6C
109
110
111
11 2
11 )
114
115
116
11 7
118
119
120
121
122
123
124
125
126
127
6D
6E
6F
70
71
72
73
b
e
J
I
m
n
o
p
q
r
$
74
7S
76
I
77
w
78
•
79
u
V
)'
7A z
78 { ó
7C I I
7D '' z.
7E ~ ć
7F DEL
powrót karetki,
zmiana kodu (do miejsca wystąpienia znaku SI),
powrót do kodu podstawowego,
zmiana znaczenia określonej liczby słów kodu w celu
przesiania rozkazu dla systemu transmisj i,
sterowanie urządzeń wejścia/wyjścia, polegające w szc-.regół·
ności na ich włączaniu i wyłączaniu (uruchamianiu i zatrzymywaniu),
2. CYFROWY ZA.PIS INFORMACJI
NAK (TCS)
SYN (TC9)
ETB (TCIO)
CAN
-
EM
SU B
ESC
FS (IS4)
GS (IS3)
RS (IS2)
US (!SI)
-
brak potwierdzenia (odpowiedź negatywna),
synchronizacja spoczynkowa,
koniec transmisji bloku danych,
anulowanie błędnej informacji o określonej liczbie znaków,
poprzedzającej znak CAN,
koniec nośnika informacji (np. taśmy),
zastąpienie błędnego znaku,
zmiana znaczenia następnego slowa kodu,
separator pól (plików), „CU RSOR RIGHT' w IBM PC,
separator grup, „CURSOR LEFT" w IBM PC,
separator rekordów (zapisów), „CU RSOR UP"' w I BM PC,
separator jednostek. „CURSOR DOWN" w IBM PC.
W pierwszej kolumnie tabl. 2.7 są również podane znaki graficzne i znaki
sterujące, s1osowaae w komputerach kompa1ybilnych z IBM PC przy jednoczesnym użyciu klawisza CONTROL (skró1 Ctrl, symbol Ą). Znak o numerze 32,
oznaczony li1erami SP (space), oznacza spację (pojedynczy odstęp między
znakami 1eks1u), a znak I 27 - DEL (delete) oznacza kasowanie poprzedzającego
znaku.
Zazwyczaj znaki są kodowane w pos1aci słów ośmiobitowych (bajtów)
i ósmy bil może być wykorzys1any do tzw. kontroli parzys1ości w celu
wykrycia pojedynczych błędów w lych bajlach (p. 2.4). W komputerach
zazwyczaj wykorzystuje się ósmy bil do kodowania doda1kowego zestawu
znaków o numerach od I 28 do 255 (numery ie stanowią wartości dziesiętne
baj1ów reprezentujących poszczególne znaki). Jesl 10 ogólnie stosowana metoda
kodowania specjalnych znaków alfabetów narodowych. Z wielu systemów
kodowania polskich liler w kompulerach najczęściej stosuje się następujące
standardy:
Laiin-2 (Slavic, strona kodowa
852) - w systemie operacyjnym MS DOS,
Windows EE (Eastern Europe, strona kodowa 1250) - w spolszczonym
MS Windows 3.1 PL i MS Windows 95 PL,
ISO Latin-2 (ISO 8859-2) w systemie operacyjnym UNIX, w sieci
Internet.
środowisku
Są
one pokazane w tabl. 2.8, wraz z anglojęzyczną stroną kodową 437 (English).
W kodach Windows EE i /SO Llllin-2 podano tylko numery polskich liter.
a leży również wymienić kod UN I CO DE (JSO/I EC- 10646) o postaci 16i 31-bitowej, który umoiliwia zapis praktycznie wszystkich, wystarczająco
szeroko stosowanych, znaków alfabetów narodowych aa świecie.
64
2.4. KODY ZAB EZPIECZAJĄC E PRZED BŁĘDAM I
POLSKIE LITERY W NAJCZJ;ŚCIEJ STOSOWANYCH KODACli
Oznaczenia: N O - liczba dziesiętna,
EN - IBM English (Code page 437),
L2 - IBM Lalin·2 (Code page 852),
EE - IBM Windows EE (Code page 1250),
ISO - ISO Latin-2 (IS0-8859-2)
ND EN
u
EE ISO
128 i; ~
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
u
ii
i
i
i
i
i
i
••
•• •
A
ć
~
I
ó
I
ó
I
ź
i
i
A A
Ą
ć
t t
"'
JE
il
ś
t
Ł
i
o
t:
ś
ij
ś
o o
o o
e
c
t
t'
V
ł,
Pl
X
f
c
i\
i
i
u u
ń
Ń
ł,
ł,
i\
• ł
i\
ś
i
Ę
168 l
169
' ę
170
171 'h i
172 '!. ć
173 I
ł
174
175
•
176
177
178 ~~
i~
179 I
I
180 -I
181 =I
182
A
183
t
184 "I ~
185 i
o§
.. .
...
...
u r
u
'ó 'ó
--
o o
b
EE ISO
·~
167 •
~
ł
u
ND EN
160
161
162
163
164
165
Tablica 2.8
186
•
i
KODY
I
187 'il
188 dl
189
190 .i
191
_.
t
ż
•
I
1
I
ż
I
ś
•
'il
dl
i
ż
ż
, ,
ż
i
u
ND EN
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
EE ISO
ND EN
u
ó
n
ó
L
L
.L
.L
214 (I(
2l5 8
T
T
226
I- I-
- -
+I- +A
I-
i
f'
""
rr
I.
,,!!,,
...I=
=
+
..L
"""
.,.
dh
ć
Ę
ć
Ę
'iF
IF
-
~:-
a
d
D
Ń
Ń
i>
t. E
ó
ó
T
a
b
F
.-
+
+
-'
Ń
j
i
•
-'
r
---I
r
I
ZABEZPIECZAJĄCE
I
I
t
PRZED
227
228
229
230
231
232
233
234
235
236
237
238
239
140
141
242
243
244
245
246
247
248
249
250
251
252
253
254
255
r
„
Ń
ń
i:
"
µ
n
ś
~
j
4>
R
'8o
(1
„
~
!!
:I:
l!:
s
J
+
•"'
ć
ć
ę
ę
ń
ń
ó
ó
f
(I
y
y
I
(
n
EE ISO
-.
.
.
§
+
.
./
u
"
R
2
t
• •
BŁĘDAMI
2.4
Przy przechowywaniu i przesyłaniu informacji w postaci cyfrowej należy liczyć
się z pewnymi błędami, zwanymi „przekłamaniami". Mogą one być wywołane
m.in. przez odpowiednio silne zakłócenia energetyczne i zjawisko przesłuchu .
W telekomunikacji przesyłanie danych cyfrowych określa się ogólnie jako
przesyłanie sygnałów ziarnistych, tzn. skwantowanych w wartości i dyskretnych
w czasie. Kanał telekomunikacyjny, który jest przystosowany do przesyłania
65
2. CYFROWY ZAPIS INFORMACJI
takich sygnałów, jest nazywany kanałem ziarnistym (dyskretnym). W szczególności, przy przesyłaniu informacji kodowanych dwójkowo, mówimy o sygnałach
binarnych i kanale bi1uimym. Błędy, które mogą zniekształcić informację
przesyłaną kanałem binarnym, zależą od rodzaju użytego rozwiązania technicznego, np. przy łączu radiowym występują zakłócenia transmisji wywołane
warunkami atmosferycznymi (trzaski pochodzenia burzowego, zaniki sygnałów
odbieranych).
Błędy takie występują czasem grupowo, jeśli dane cyfrowe pochodzą
z pamięci masowych o napędzie mechanicznym (np. z dysków lub taśm
magnetycznych).
Kod y służące do kontroli wierności informacji kodowanych cyfrowo
oheśła się jako kontrolne. Istnieją dwa zasadnicze rodzaje takich kodów [8- 10]:
kody detekcyjne - służące wyłącznie do wykrywania błędów,
kody korekcJifne - służące nie tylko do wykrywania, ale i do korygowania
tych błędów.
Inny podział kodów kontrolnych dzieli je na blok{>we (gdzie kolejne
informacje są kodowane niezależnie od siebie, czyl i bez użycia pamięci)
i nieblokowe, określane również jako splotowe (gdy wynik kodowania informacji
zależy także od pewnej liczby informacji kodowanych poprzednio, narzucając
konieczność stosowania pamięci).
Kody kontrolne są głównie stosowane w telekomunikacji. Słowa stanowiące język kodu są tam zwyczajowo określane jako ciągi, a słowa dwójkowe
jako ciągi binarne. To nazewnictwo będzie też użyte w poniższym opisie kodów
kontrolnych.
Jednym z parametrów kodu jest odlegloJć Hamminga między dwoma jego
ciągami o tej samej długości. Odległością d(A 1 , A.) między dwoma ciągami A 1
i A• o jednakowej długości, niekoniecznie kolejnymi, nazywa się liczbę pozycji, na
których te ciągi różnią się. Oznacza to, że d(A 1 , A.)= Owtedy i tylko wtedy, gdy
A1 = A„ a poza tym d(A 1 , A1 ) >O. W kodzie dwójkowym jest to zatem liczba
bitów, która musi być zmieniona przy przejściu z jednego ciągu (A 1) na inny (A.).
P rzy zdefiniowaniu wagi ciągu binarnego A , oznaczonej symbolem 11{A),
jako liczby jedynek w tym ciągu, można także określić odległość między ciągarni
binarnymi w'postaci
d(A 1, A.) = w(A 1 E0 A•)
gdzie:
EE> - symbol sumowania modulo 2,
A1 e:> A. -
ciąg
otrzymany w wyniku sumowania modulo 2 elementów
ciągów A1 , A. występujących na tych samych pozycjach.
Sumowanie modulo 2 jest zdefiniowane w p. 3.1 (tabl. 3.1).
Minimalna odleglo.fć kodowa określana jest na zbiorze A ciągów kodowych A jako
66
2.4. KODY ZABEZPIECZAJĄCE PRZED
BŁĘDAM I
li= min[d(A 1 , AJ],
l•k
i jeśli te ciągi są n-bitowymi ciągami binarnymi, to można je tak ponumerować,
aby f, k e {O, I, 2,„., 2"-1}.
Jeżeli kod n-bitowy służy do zapisu 2• różnych informacji, to oznacza że
jest on kompletny i ma il = l. W takim przypadku wystarczy zmiana tylko
jednego bitu w ciągu kodowym, wywołana jakimś zakłóceniem pracy systemu,
aby ciąg ten reprezentował już inną informację.
Warunkiem, aby dany kod miał właściwości kontrolne, jest il ~ 2.
W praktyce oznacza to albo wybór odpowiedniego kodu informacyjnego (tj.
reprezentującego informacje źródłowe) z il = 2, albo wprowadzenie do ciągów
kodu informacyjnego dodatkowych bitów kontrolnych. W najprostszym przypadku wykonuje się operację złożenia ci ągów informacyjnych z jedno- lub
ki lkubitowymi ciągami kontrolnymi. Złożenie pojedynczego bitu kontrolnego
z ciągami dowolnego kodu informacyjnego z li = I oznacza, że dowolne dwa
ciągi tak utworzonego kodu będą się różnić między sobą co najmniej dwoma
bitami. Kod taki charakteryzuje się zatem minimalną odległością il - 2 i może
być użyty do wykrywania pojedynczych blędów w badanych ciągach. Ogólnie,
największą krotność wykrywanych błędów można obliczyć jako
k„ =li - I ,
natomiast
największą krotność
korygowanych
blędów
jako
k„ = !NT[(il - 1)/2]
gdzie symbol I NT[x] oznacza część całkowitą liczby rzeczywistej x, a zatem kod
korekcyjny musi mieć il ;i: 3.
Popularnym kodem liczbowym z il = 2, który umożliwia także wykrywanie błędów, jest kod BCD „I z IO", którego każdy ciąg zawiera tylko jedną
jedynkę (tabl. 2.5). Oszczędniejszymi, jeśli rozważać długość ciągów kodowych,
kodami liczbowymi z il = 2, są kody BCD o stałej liczbie jedynek równej 2.
W praktyce najczęściej stosuje się jednak kodowanie informacji źródło­
wych w oszczędnym kodzie informacyjnym z il = I, przy czym dla każdego ciągu
tego kodu określa się jednocześnie dodatkowy ciąg kontrolny, który jest
następnie składany lub kombinowany z danym ciągiem informacyjnym. Kody
kontrolne, których ciągi kodowe stanowią złożenia tych dwóch części, określa się
jako systematyczne.
Najprostszym i najczęściej stosowanym kodem systematycznym z il = 2,
służącym do wykrywania błędów, jest kod z kontrolą parzysrości. Każdy
informacyjny ciąg kodowy składa się z dodatkowym bitem parzyswści, który jest
tak dobrany, aby waga każdego takiego z.łożonego ciągu była parzysta. Istnieje
też zasada odwrotna, polegająca na tak im dobieraniu dodatkowego bitu. aby
waga ciągu złożonego była nieparzysta. W takim przypadku jest to kod
67
2. CYFROWY ZAPIS INFORMACJI
PRZYK.LAOY K<>t>óW Z B ł'fEM PARZYSTOSCI (Jl>
I NU~PAR2 YSTOSCI (")
Liczba
dziesiętna
Tablica 2.9
Kody z LI
Kod
z LI
=
I
=2
a2a1ao
a2a1aop
a2a1aon
o
o oo
o o oo
I
OO I
OIO
OI I
I OO
I OI
I I O
I I I
OO I I
OI 0 I
OI I 0
I OO I
I OI O
I I OO
I I I I
0 OO I
O0 I 0
0 I 0 0
0 I I I
I 0 0 O
I0 I I
I I OI
I I I O
2
3
4
5
6
7
z kontrolą nieparzystości. Ma on tę zaletę w porównaniu z poprzednim, że
umożliwia wykrycie awarii w transmisji, gdy odbierane są same zera. Natomiast
kod z bitem parzystości interpretowałby tę informację po prostu jako zero
(tabl. 2.9). Można zauważyć, że bity parzystości i nieparzystości stanowią swe
dopełnienia.
W praktyce, po stronie nadawczej informacyjne ciągi binarne są doprowadzane do układu zwanego generatorem parzystości, który dla każdego
ciągu generuje składany z nim dodatkowy bit (p łub n, zależnie od przyjętej
1.asady). Tak zwiększone o jeden bit ciągi są transmitowane przez kanał binarny
i doprowadzane do układu zwanego kontrolerem łub testerem parzystości. Układ
ten sprawdza odbierane ciągi pod względem parzystości ich wag i sygnalizuje
błąd (ew. żądanie powtórnej transmisji), jeśli sprawdzona parzystość nie zgadza
się z przyjętą zasadą. Sprawdzanie to jest wykonywane w układzie przez ocenę
wyniku sumowania modulo 2 wszystkich bitów kontrolowanego ciągu. Wynik
równy Ooznacza parzystość, a wynik równy l oznacza nieparzystość (p. 3.1, tabl.
3.1, a także p. 4.1.1 i tabl. 4.3). Generator parzystości w taki sam sposób
kontroluje ciąg informacyjny, aby wygenerować odpowiedni stan bitu parzystości łub nieparzystości.
Przy użyciu kodu z kontrolą parzystości łub nieparzystości jest możliwe
wykrycie tylko nieparzystej liczby błędów (1, 3, 5„.). Błędy parzyste nie są
wykrywane.
Pozycja dodatkowego bitu kontrolnego w przesyłanym ciągu nie jest
istotna, a le musi być znana i jednakowa we wszystkich ciągach przesyłanych
przez kanał binarny, aby uniknąć błędnego zaliczenia tego bitu do ciągu
informacyjnego.
Dołączenie lub włączenie ciągu kontrolnego do ciągów kodu informacyjnego oznacza, że każdy utworzony w ten sposób kod kontrolny jest kodem
68
2.4.
~ODY ZABEZPIE CZAJĄCE
PRZED
BŁĘDAM I
nadmiarowym w sensie definicji podanej w p.2.1. Ogólnie można powiedzieć, że
istnienie właściwości kontrolnych kodu implikuje jego nadmiarowość. Twierdzenie odwrotne jest już nieprawdziwe, gdyż istnieją kody nadmiarowe, które nie
mają właściwości kontrolnych (np. kod BCD 8421).
Zdolność wykrywania błędów może być jednak dodatkowo zwiększona,
jeżeli kod informacyjny jest również kodem nadmiarowym. Jeśli jest to np. kod
BCD 8421, to wyposażenie odbiornika ciągów kodowych w dodatkowy układ
wykrywający stany (A, B,„„ F) 16 zwiększy możliwości detekcji blędów w odbieranej informacji.
Rozwinięciem kodu z pojedynczym bitem parzystości jest kod z grupą
bitów kontro/11ych, stosowany ro.in. do wyk rywan ia błędów w pamięciach
dyskowych firmy IBM.
Blok danych jest dzielony modulo 2 przez pewną stałą, iloraz jest
odrzucany, a reszta (czyli pewien ciąg bitów) jest dopisywana do bloku. Tak
utworzony nowy blok jest już podzielony przez daną stalą bez reszty, jeśli jest
bezbłędny. Dopisywany ciąg bitów jest określeniem akronimem CRC (Cyc/ie
Redundancy Clieck).
Wymienione kody zalicza się do wspólnej grupy kodów systematycznych
.ilorazowych. Nazywa się je tak, gdyż w kodach tych binarny ciąg kontrolny
określa się generalnie jako resztę z dzielenia modulo 2 ciągu informacyjnego
(interpretowanego jako wielomian binarny) przez pewien inny wielomian
binarny, tzw. wielomian generujący kod, którego postać określa rodzaj i nazwę
danego kodu kontrolnego. Bezbłędne ciągi takiego kodu charakteryzują się tym,
że dzielą się bez reszty przez wielomian generujący. Powstanie niezerowej reszty
umożliwia wykrycie obecności przynajemniej jednego blędu. Istnieją również
kody ilorazowe służące nie tylko do detekcji, ale i do korekcji błędów
określonego rodzaju (np. kod Fire'a).
Problemem korygowania błędów w przesyłanych danych może być
rozwiązywany w różny sposób. Jednym z prostych, ale kosztownych sposobów,
jest zwiększenie liczby kanałów do przesyłania tych samych informacji. Przykładowo, przy trzech k anałach, po stronie odbiorczej porównuje si~ kolejne bity
informacyjne otrzymywane równolegle z tych kanałów i podejmuje się decyzję
o wyborze „prawidłowego" bitu na podstawie prostego kryterium większoś­
ciowego (2 z 3). Sposób ten zabezpiecza dane od błędów powstałych w jednym
z kanałów np. w rezultacie awarii. Błędy, które powstaną jednocześnie w dwu
kanałach, pozostaną jednak niewykryte.
Innym sposobem, który umożliwia wykrycie i skorygowan ie blędów, jest
zastosowanie kodów parzystości blokowej, zwanych inaczej geometrycznymi. Na
rys. 2.3 przedstawiono przykład takiego kodu w zastosowaniu do prostokątnej
tablicy danych o 7 wierszach i 5 kolumnach. Do każdego wiersza dodaje się
kontrolny bit nieparzystości, a do każdej kolumny kontrolny bit parzystości. Bity
te są również niezależnie testowane na przecięciu kolumny i wiersza utworzonych
69
2. CYFROWY ZAPIS INFORMACJI
o
n;
o
o
1
1
Pi -
1
1
o
o o
1
I
1
o
o
o o
1 o o o
o 1 o 1
© o 1
o o o 1
@] 1 o o
1
n,
n,
1
n,
1
1
1
1 n,
o n,
li] "•
1 n,
n• p =O
P, P, P, P, Ps
n;
b
o
I
1
o
1
1
o o
1
o
o
ro„'"ól
1 o '•o.
t.: _ __ o:
1
o
o 1
1
1
~„
1
® o
1
+
o
'
1
[j]
1
o o
'.,;
"
::i
c
„"„
1
1
·;;-
o
',;;
[QJ
o o o
p. -
„o•
o.
"
~
Rys. 2. 3
Przykład
kodu
n= p = 1
:zastosowania · ko rekcyjnego
blokowej
parzystości
a) 1.ablica nadawana.
b) t:1.błiea O<.kbfana
przez nie. Przedstawiony kod umożliwia wykrycie wszystkich błędów pojedynczych i wskazuje ich położenie w tablicy przez znalezienie odpowiednich bitów
kontrolnych wiersza i kolumny, jako ich współrzędnych. Umożliwia to skorygowanie błędnego bitu. Przykładowo, jeśli znak CD z nadawanej tablicy (rys. 2.3a)
został odebrany jako @ w odbiorniku (rys. 2.3b), to sygnałem istnienia
pojedynczego błędu jest nierówność wyników testów n = p. Porównując bity
kontrolne p, i n; z tablicy odebranej i otrzymane w wyniku przetestowania tej
tablicy, znajduje się współrzędne błędu, który należy skorygować.
W podobny sposób można wykryć pary błędów i trzeba porównać
kolejno bity kontrolne tablicy nadawczej i odbiorczej. Jest to zaletą kodu
geometrycznego, gdyż w praktyce często występują błędy seryjne w transmisji
powstałe w wyniku zakłóceń zewnętrznych o określonym czasie trwania.
W takich przypadkach częstość błędów podwójnych jest znacznie większa od tej,
którą można obliczyć na podstawie częstości błędów pojedynczych. M ożna
jednak zauważyć, że pewne błędy parzyste ulokowane symetrycznie w stosunk u
do współrzędnych nie są wykrywalne (np. gdy bity O objęte na rys. 2.3b linią
przerywaną zostaną odebrane jako jedynki).
Jak już podano, właściwość wykrywania i korygowania błędów jest
charakterystyc-.m a dla kodów o minimalnej odległości LI , równej co najmniej 3.
Kodem takim jest często stosowany kod Hamminga, który w swej podstawowej
70
2.4. KODY
ZABEZPI ECZAJĄC E
PRZED
BŁĘDAMI
L tCZBA err()w KONTR.01,.NYCH KODU H.AMMJNGA
OD Dl.UGOŚCI CIĄOÓ\\' INFORMACYJNYCH
w ZA1,.E.tNO$CI
Tablica 2.10
K
I
2
3
4
1
4
5
6
7
26
3
7
15
31
57
120
127
11
63
postaci służy do wykrywania i korygowania pojedynczych błędów w ciągach
kodowych. Ciąg w kodzie Hamminga stanowi kombinację I bitów z kodu
informacyjnego i określonej liczby K kontrolnych bitów parzystości, przy czym
musi być spełniony warunek
2K - l ;i: K + I
skąd wynikają
liczby podane w tabl. 2.10. Całkowita
Hamminga jest równa
długość
n ciągu w kodzie
n = K+I
przy czym bity tego ciągu numeruje się zaczynaj ąc od I (nie od O). Wszystkie bity,
których numer jest potęgą dwójki (a więc I, 2, 4, 8,...) są kontrolnymi bitami
parzystości, a pozostałe niosą informację źródłową. Zgodnie z danymi z tabl.
2.10, np. dla 7-bitowych słów kodu ISO lub ASCII są potrzebne 4 bity kontrolne,
przy czym są one generowane według zależności
K 1 = / 3 $ / 5 $ / 7 $ / 9 $ / 11
K2
K4
= l3Ef> / 6Ef>l1©I,o©I11
= Is $ I 6 ffi I7
(2.14)
Ka = 19 $1 10 $1 11
gdzie symbolami I; oznaczono bity informacyjne w I I-bitowym
ciągu łącznym
I 11 I 10 19 Ka1 7 16 1s K 4 13 K 2 K,
W celu wykrycia i zidentyfikowania błędu (który może istnieć w bitach
informacyjnych lub w bitach kontrolnych) oblicza się dla danego ciągu bity
kontrolne według (2.14) i tworzy się ciąg
B = KaK 4 K 2 K 1
przypisując
mu wagi 8, 4, 2, 1 tak jak w kodzie NB. Równoważna liczba
dziesiętna L(B) równa Ooznacza, że badany ciąg nie zawiera pojedynczego błędu,
natomiast liczba ta różna od zera bezpośrednio wskazuje na pozycję błędnego
71
2. CYFROWY ZAPIS INFORMACJI
bitu. Np. ciąg B = O1O1, dla którego L(B) = 5 wskazuje, że bit I 5 jest błędny, co
umożliwia jego prostą korekcję.
Dla I = 4 w zależnościach (2.14) nie ma pozycj i K 8 , 19 , 110 iI 11 .
Jak wyni ka z tablicy 2.10, d la 16-bitowych ciągów informacyjnych
(I = 16) wystarczy K = 5 bitów kontrolnych. Jednakże przez zastosowanie
jeszcze jednego bitu kontrolnego można zapewnić nie tylko korekcję wszystkich
błędów pojedynczych, lecz także wykrywanie wszystkich błędów podwójnych.
Sposób taki jest stosowany w niek tórych komputerach w celu zabezpieczen ia się
przez tzw. miękkimi błędami (soft errors), pochodzącymi z przejściowo niepoprawnego działania półprzewodnikowych pamięci dynamicznych wielkiej skali
integracji.
LITERATURA
AschoIT V.: A11s der Frii/Jgeschicllle des 8i11iir-Code. AEO, 35 198 1, H. 2, 57
Budkowski S., Papliński A., Sosnowski J.: Zespoly i 11rzqdze11ia cxfmwe, WNT, Wars7.awa 1979
Doll D. R.: Dala communica1ions, J. \Viley. 1978, rozdz. 6.
Dróżdż J.: Podstawy transmisji danych (red. Z. Baran), WKL, Warszawa 1982, ro1,dz. 10- 14
Heath F. G.: Origi11s of t.lie bi11ary cotfe. Scientific American, 227, 1972, No 2, 76
Ostro\\•ski P.• Dąbrowski M .: Sys1e1ny i :>ieci teleiąjOrn1atyl'z11e. WK.L, \Vars1..awa 1979
Sobczak W.: S1.a1ys1yfz 1ul reoria systrn1ó\v przesyJania i11for111acji, WKŁ. Warsza\\'a 1984
Vanstone S. A„ Oorschot P. C.: A" introduction to el'ror t·orrecti11g codes 1vitlt app/i('r11ions, Kluwer
Aeadeinic Publishers, Boston 1989
9. Houghton A.: The e11gineer's 1mor <·o<li11g ha11book, Chapman & Hall, London 1997
IO. Mochnacki W.: Kody korei«'J:ine i kryp109raji<1, Oficyna Wydawnicza Politechniki Wrocła wskiej,
l.
2.
3.
4.
5.
6.
7.
8.
Wrocław
1997
3
ARYTMETYKA DWÓJKOWA
Podstawowe reguły arytmetyki dwójkowej będą w niniejszym rozdziale omówione najpierw dla liczb dwójkowych bez znaku, czyli nieujemnych (p. 3.1). Następ­
nie będą omówione działania arytmetyczne na liczbach dwójkowych ze znakiem,
czyli dodatnich i ujemnych (p. 3.2), na liczbach dziesiętnych kodowanych
dwójkowo w kodzie BCD (p. 3.3) i na liczbach zmien noprzecinkowych (p. 3.4).
Treść rozdziału jest ograniczona do podstawowych czterech działań arytmetycznych: dodawania, odejmowania, mnożenia i dzielenia liczb dwójkowych.
DZIAŁANIA
ARYTMETYCZNE NA LICZBACH
DWÓJKOWYCH BEZ ZNAKU
3.1
Poni.ższe działania będą
one słuszne także
rzeczywistych.
omówione w odniesieni u do liczb całkowitych, lecz są
dla liczb ułamkowych i ogólnie biorąc, nieujemnych liczb
Dodaw ani e
W celu dodania dwu liczb dwójkowych Pi Q dokonuje się sumowania par bitów
na poszczególnych pozycjach, rozpoczynając od najmniej znaczącego bitu.
Podo bnie j ak w arytmetyce dziesiętnej należy przy sumowan iu bitów na każdej
(i-tej) pozycji uwzględnić bit prze11iesie11ia (c1) z niższej pozycji. Jeśli przyjąć
oznaczenia dodawanych liczb całk owitych
1
P = P. - 1P. - 2···P•···Po
Q = q• _ lq• - 2···q1 ··· qo
F = f. - 1f.-2···f. ... fo
sumy
to dodawanie bitów na poszczególnych pozycjach przebiega zgodnie z regułami
podanymi w tabl. 3.1. W wyniku dodawania na każdej pozycji otrzymuje si~ bit
sumy (f,) oraz bit przeniesienia na wyższą pozycję (ci+ 1) .
73
3. ARYTM ETYKA OW0JK0WA
R rout.Y DODAWANIA BtTOW f'RtY SUMOWANIU LICZB DWÓJKOWYCH
REOUl.Y SUMOWANIA MODULO ?).
Tablica 3.1
(UNIĄ PR ZER YWA NĄ OBJĘTO
Argumenty
c,
r--
- -
o
o
I
I
o
I
I
I
o
L
o o
I
I
I
J,
q,
P•
o
o
Na
Wynik
--- - -
o
I
,.__
o
- o- - I
I
o
I
-
C1 • l
---,
0
I
I
I
I
I
_O_J
I
o
o
o
o
o
I
o
I
I
przykład
pozycja: 4321 O
p = 1001
Q = 1101
wynik
Y= IOll O
tJ
Reguły
z tabl. 3.1
2 C1+ 1
L(P) = 9
L(Q) = 13
L(Y) = 22
tJ
mogą być także
opisane
formułą
+f; = p, + ą, +c,
i dlatego wyrażenie określające słowo dwójkowe Y, stanowiące wynik dodawania
liczb P, Q i ewentualnego przeniesienia „wstępnego" c0 E {O, I}, można przedstawić w postaci
P+Q+c0 = Y = c0 • F
L(P)+L(Q)+c0
= L(Y) = L(c. • F)
czyli
L(Y) = 2" c. + L(F)
W powyższym omówieniu operacji dodawan ia sygnał przeniesienia jest
transmitowany przez kolejne pozycje, w najgorszym przypadku od wejścia c0 aż
do wyjścia c,. Jest to najprostsza koncepcyjnie, lecz najwolniejsza metoda
sumowania z przeniesieniami tworzonymi szeregowo, czyli jak się to skrótowo
określa, „z przeniesieniami szeregowymi". Inne szybsze metody sumowania są
omówione w rozdziale 7.
74
3.1. DZI AŁAN IA ARYTMETYCZNE NA LICZBACH OWOJKOWYCH
Dodawanie pojedynczych bitów przy nieuwzględnieniu przemes1ema
pozycji (c; = 0) i bez generacji przeniesienia na wyższą pozycję nosi
nazwę sumowania modu/o 2, a jego reguły są podane w tabl. 3. 1 (w części
obwiedzionej linią przerywaną). Sumę modulo 2 oznacza się symbolem „$". Dla
bitów P; i ą;
z
niższej
f;
= P; Ef;l ą;
W zasadzie liczby dwójkowe mogą być dodawane tylko parami, to znac-q
że nie można dodawać „słupków" utworzonych z liczb dwójkowych. Dodawanie
większej liczby argumentów dwójkowych wykonuje się zazwyczaj przez sekwencyjne dodawanie poszczególnych argumentów. Na przykład, w celu dodania
liczb A, B, C i D dodaje się najpierw A+ B = W,, a następnie W, + C = W2
i W2 + D = W Taki proces sumowania kolejnych argumentów określa się jako
sumowanie akumulacyjne. Metody jednoczesnego dodawania wielu liczb dwójkowych są omówione w [5].
Odejmowanie
W dwójkowym systemie liczbowym nie ma operacji odejmowania analogicznej
do tej, która jest powszechnie używana w dziesiętnym systemie liczbowym.
W związku z tym również układy cyfrowe nie mogą wykonywać takiej operacji
odejmowania - mogą tylko dodawać. Dlatego, aby wykonać operację odejmowania liczb dwójkowych, należy dokonać zabiegu, który umożliwi wykorzystanie do tego celu operacji dodawania.
Zabiegiem takim jest przedstawienie odjemnika w jednym z kodów
uzupełnieniowych i następnie wykonanie operacji dodawania z odjemną. Stosuje
się to również do dziesiętnego systemu liczbowego. Na przykład, można obliczyć
w pamięci różnicę odejmuj ąc
54
- 30
24
albo,
jemy
przedstawiając
odjemnik 30 ja ko
uzupełnienie
do 9 (czyli 69) otrzymu-
54
+ 69
r I
I
- 123
tJ
li
4+24
75
przeniesienie zwrotne wskazuje na
dodatni znak wyn iku
3. ARYTMETYKĄ OWOJKOWA
Jak widać, w celu uzyskania poprawnego wyniku, należy jedynkę
z pozycji przeniesienia przenieść na pozycję najniższą (jest to tzw. przeniesienie
z wrotne lub cykliczne) i dodać. Jeżeli zamienimy miejscami odjemną i odjemnik,
to różnica będzie ujemna:
30
+ 45
r -- 075
I
I
I
1.J
4
- 24
uzupelnien ie do 9 liczby 54
wynik ujemny w kodzie U9
uzupełnienie
do 9 liczby 75
Poprawny wynik w kodzie ND otrzymuje się zatem po uzupelnieniu do
9 otrzymanej sumy. Brak przeniesienia (0) w sumie oznacza wyn ik ujemny i konieczność uzupelnienia sumy w celu uzyskania wyniku w kodzie ND. Odwrotnie,
jeśli w sum ie występuje przeniesienie (1), to znaczy że wyn ik jest dodatni.
W dwójkowym systemie liczbowym analogiem dziesiętnego uzupełnienia
do 9 jest kod U I . Stosując kod NB mamy
NB(54) = 110110
U/(54) = 001001
NB(30) = 011110
U I (30) = 100001
i
operację
54- 30 = 24 wykonuje się jako sumowanie
110110
+ 100001
1010111
'-'
L,
+011000
NB(54)
u1(30)
przeniesienie zwrotne
+ 24
i rozpoznanie znaku wyniku następuje tak samo jak w systemie
Podobnie prą różnicy ujemnej
Oli 110
+00 1001
0100111
t
l
- 011000
76
NB(30)
U I (54)
wynik ujemny w kodzie U I
(uzupełnienie do I liczby 100111 )
- 24
(uzupełnienie
do I liczby I OO 111)
dziesiętnym.
3.1. OZIALANIA ARYTMETYCZNE HA LICZBACH OWOJKOWYCH
Wykorzystując uzupełnienie
do podstawy danego systemu liczbowego
eliminuje się przeniesienia zwrotne i dlalego operacja odejmowania staje się
prostsza. Wykorzystując uzupelnienia do 2 liczb dwójkowych, dla argumentów
z poprzedniego przykladu otrzymuje się U 10(30) = 70 i U2(30) = 100010, skąd
54
+70
:l: 24
N B(54)
U2(30)
+24
110110
+ IOOOIO
t 011000
tJ
tJ
+
+
Poprawne wynik i otrzymuje się przy pom i n ięciu w sum ie jedynek wynikających
z przeniesienia z najwyższych pozycji, ale trzeba pam iętać, że wskazują one na
dodatni znak wyniku tak wykonanego odejmowania. Zam ieniając odjemną
z odjemnikiem i obliczając U/0(54) = 46 i U2(54) = 001010 o trzymujemy
30
+46
076
tJ
I
1
-24
011110
+001010
0101000
(uzupełnienie
do IO liczby
liczby 76)
tJ
!
- 011000
N 8 (30)
Ul (54)
wynik ujemny w kodzie U2
(uzupełn ien ie do 2 liczby
101000)
- 24
czyli brak przeniesień z najwyższej pozycji sumy wskazuje na wynik ujemny
i konieczność uzupełnienia sumy do podstawy danego systemu liczbowego,
w celu otrzymania nie uzupełnionego modulu wyn iku.
Jak widać, aby odejmować nieujemne liczby dwójkowe, nie jest konieczne
przedstawianie ich w postaci liczb ze znakiem.
Mnożenie
Podstawowa metoda mnożenia liczb dwójkowych jest podobna do mnożenia
liczb dziesiętnych i polega na określeniu, a następnie dodaniu iloczynów
częściowych . Przy mnożeniu liczb dwójkowych Pi Q iloczyny częściowe są równe
mnożnej P,jeśli odpowiednim czynnikiem z mnożnika jest bit I, lub równe zeru,
jeśli tym czynnikiem jest bit O. Operacja mnożenia polega zatem na realizacji
ciągu przesunit,)ć mnożnej w lewo (opera to r SHL) i akumulujących dodawań
(opera tor ADO). Ilustruje to poniższy przykład mnożenia liczb calk owitych:
L(P) = 21 i L(Q) = 19, których iloczyn wynosi L(P x Q) = 399:
77
3. ARYTMETYKA DWÓJKOWA
p
10101
X 10011
10101
10101
111 111
10101
Wynik F: 110001111
Q
p
SHL P
ADD
SHL P, SHL P, SHL P
ADD
Przykład
ten jest ilustracją odręcznej metody „papieru i ołówka".
W realizacji maszynowej nie przesuwa się mnożnika, lecz kolejne iloczyny
częściowe (w prawo). Pity każdym przesunięciu w prawo (operator SHR)
iloczynu częściowego przesuwa się w prawo także mnożnik, tak że badany bit
mnożnika znajduje się zawsze na najmniej znaczącej pozycji. Na zwolnioną
najwyższą pozycję mnożnika wprowadza się najniższy bit przesuwanego iloczynu częściowego. W ten sposób po zakończeniu mnożenia słowo mnożnika Q jest
zastąpione przez mniej znaczące bity iloczynu F. Przy takim postępowaniu
powyższy przykład można przedstawić w postaci:
p
Q
10101
10011
10101
01010
10101
10011
11001
11001
111 11
0 11 11
00111
11001
ADD
li 100
SHR
SHR
SHR
p
10101
111 10
11111
11111
11000
1100
ll 111
01111
OOOll
Wynik F:
Przykład
p
SHR
p
ADO
SHR
procedury mikroprocesorowej, realizującej ten algorytm, jest
podany w p. 10.3.3 (tabl. 10.2).
W ogólnym przypadku przy mnożeniu a-bitowej liczby P przez b-bitową
liczbę Q otrzymuje się iloczyn F o liczbie bitów równej a + b.
Oznacza to, że jeśli obydwie mnożone liczby mają tę samą długość słowa,
to wynik wymaga podwójnej długości słowa. W powyższym przykładzie
dziesiąty bit, wynikający z mnożenia dwu liczb 5-bitowych, jest równy O na
dziesiątej (najwyższej) pozycji.
Szybsze metody mnożenia są omówione w p. 3.2 w odniesieniu do liczb ze
znakiem.
78
3.1. Oli.Al.ANIA ARYTMETYCZNE NA LICZBACH DWOJKOWYCH
Dzielenie
W najprostszy koncepcyjnie sposób operację dzielenia liczb dwójkowych
wykonuje się metodą porównawczą, a więc podobnie do dzielenia dziesiętnego,
wykonując ciąg kolejnych mnożeń i odejmowań. Ponieważ odjemnikiem jest
zawsze dzielnik, przy operacji odejmowania wpisuje się go w kodzie uzupeł­
nieniowym, najczęściej UZ. Ilustruje to przykład dzielenia liczby l(P) = 110
przez L(Q) = 5:
10110+-wynik F
dzielna P - 1101110 ~ 101,
UZ(5) = 011
011
l
i
00111
dzielnik Q
dzielnik Q w kodzie UZ
011
w kodzie NB
0101
011
0000
W procesie dzielenia występuje sekwencyjnie operacja porów11a11ia z dzielnikiem reszt częściowych o liczbie bitów równej liczbie bitów dzielnika (w tym
przypadku 3). Jeśli dzielnik jest większy, wpisujemy do wyniku O, przesuwamy się
z dzielnikiem o jedną pozycję w prawo i wykorzystujemy kolejny bit dzielnej. Jeśli
jest mniejszy lub równy, to wpisujemy do wyniku I, pod resztę częściową
wpisujemy dzielnik w kodzie UZ i dokonujemy sumowania, po czym wykorzystujemy kolejny bit dzielnej, dokonujemy porównania itd. Przy realizacji
maszynowej proces ten przebiega inaczej: kolej ne reszty c-tęściowe przesuwa się
o jedną pozycję w lewo, przy czym na pozycję LSB wprowadza się kolej ne bity
dzielnej, a dzielnika się nie przesuwa.
W powyższym przykładzie dzielenie kończy się bez reszty, ale w ogólnym
przypadku wynik dzielenia otrzymuje się z resztą niezerową.
W innej metodzie dzielenia zwanej res1ycucyjną w kaźdym kroku
następuje odejmowanie dzielnika i następnie badanie znaku różnicy. Jeśli znak
ten jest ujemny, to oznacza, że trzeba wrócić do poprzedniej postaci reszty
częściowej („restytuować" ją), co realizuje się przez dodanie nie uzupełnionego
dzielnika. Proces ten jest objaśniony na przykładzie dzielenia liczby L(P) = 456
przez L(Q) = 24:
N8(456) = 111001000
NB(24) = 11000
UZ(24) - 01000
79
3 ARYTMETYKA DWÓJKOWA
F= 10011
111001000+ 11000
010001
odjęcie dzielnika
( +)
001001
wynik doda tni
01000
odjęcie dzielni ka
wynik ujemny
(- )
10001
11000
dodan ie dzielnika
0 10010
odtworzen ie poprzedniej reszty cz.
01000
odjęcie dzieln ika
(-)
11010
wyn ik ujemny
dodanie dzielnika
11000
100100
odtworzenie poprzedniej reszty cz.
odjęcie dzielnika
01000
011000
wynik dodatni
( +)
01000
odjęcie dzielnika
00000
wynik dodatni, reszta zerowa.
( +)
Odejmowanie dzielnika wykonuje się przez dodanie jego uzupelnienia do
2. Każdorazowo po odjęciu dziel nika następuje sprawdzenie znaku wyni ku
i jeżeli znak ten jest dodatni, to wpisuje się I do wyniku i przechodzi się do
następnego kroku odejmowania przez wy korzystanie następnego bi tu dzielnej.
J eżeli znak jest ujemny, to trzeba powrócić do poprzed niej postaci reszty
częściowej i w t ym cel u dodaje się dzielnik w postaci nie uzupelnionej. Przy
kolejnych odejmowan iach wykonuje się przesunięcie dzielnika o jedną pozycję
w prawo, a po wykorzystaniu wszystkich bitów dzielnej ostatnia reszta częściowa
stanowi resztę z dzielenia.
Przy realizacji maszynowej nie przesuwa się dzielnika w prawo, lecz
kolejne reszty częściowe w lewo.
W szybszej metodzie nierestyrucyjnej unika się zabiegów odtwarzania
reszt częściowych i dzielnik jest w każdym kroku dodawany lub odejmowany od
reszty częściowej. Metoda ta jest omówiona w p. 3.2 w odniesieniu do liczb ze
znakiem.
/
Działania
na
dużyc h
li czbach
stałoprzecinkowych
W wiciu typowych zastosowan iach podstawowym formatem danych jest bajt,
który daje możliwość zapisan ia liczb ca lkowitych w zakresie od Odo zaledwie
255. Aby móc operować większymi liczbami, stosuje się formaty danych dwu- lub
więcej-bajtowe. Jeśli uklad cyfrowy może akceptować do jednoczesnego przetwarzania tylko dane jednobajtowe, to wynika stąd konieczność sekwencyjnego
przetwarzania kolejnych bajtów. Ilustruje to poniższy przykład dodawania liczb
dziesiętnych
80
3 ..2. OZIAt.ANIA ARYTMETYCZN E NA LICZBACH OW0JK0WYCH ZE ZNAKI EM
46813 + 52388 = 9920 I
czyli w kodzie szesnastkowym
B6DD 16 + CCA416 = 18381 16
bajt 1
bajt O
10110110
11011101
11001100
+ 10100100
1 10000011
10000001
+
LJ
1
Najpierw dodaje się niższe bajty (O) obydwu liczb, a następnie wyższe (1),
z uwzględnieniem przeniesienia z poprzedniej operacji. Jak widać, również przy
sumowaniu wyższych bajtów nastąpiło generowanie jedynkowego bitu przeniesienia. Ponieważ przyjęty format danych w tym przypadku obejmował 16 bitów,
bit przeniesienia z najwyższej pozycji przekracza ten format i stąd nosi nazwę
nadmiaru lub przepel11ie11ia (overjlow).
Przy odejmowaniu wielobajtowych liczb bez znaku odjemnik najczęściej
przedstawia się w kodzie U2 i następnie dodaje do odjemnej. W tym celu najpierw
przedstawia się wszystkie bajty odjemnika w kodzie U 1 i dodaje I do najniższej
pozycji najniższego bajtu (O).
Jeżeli z najwyższej pozycji tego bajtu generowane jest przeniesienie
jedynkowe, to należy je dodać do najniższej · pozycji wyższego bajtu (1).
Podobnie należy dodać wszystkie dalsze przeniesienia z bajtów niższych
do wyższych.
DZIAŁANIA
ARYTMETYCZNE NA LICZBACH
DWÓJKOWYCH ZE ZNAKIEM
3 .2
Przy działaniach aa liczbach dwójkowych z osobnym bitem znaku, również
wynik otrzymuje się od razu z bitem znaku, spełniającym podobną rolę
do bitu przeniesienia z najwyższej pozycji przy odejmowaniu liczb bez znaku.
Liczby ze znakiem zwykle normalizuje się tak, aby reprezentowały one albo
liczby całkowite, albo liczby ułamkowe (ułamki właściwe) w jednym z trzech
zapisów: ZM, ZU 1 lub ZU2 (p. 2.2.4). Poniższe działania będą omówione
na przykładach liczb całkowitych, lecz są one słuszne również dla liczb
ułamkowych.
Dodawanie i odejmowanie
Biorąc pod uwagę, że P-Q = P +( -Q), dodawanie i odejmowanie liczb
dwójkowych ze znakiem wykonuje się według tych samych reguł. Najczęściej
81
3. ARYTMETYKA OWOJKOWA
stosowane są kody Z Ui i ZU2. Na przykład, przy zastosowaniu kodu ZUi ,
dodajemy liczby łącznie z bitem znaku:
+ 12
+-37
- 25
0.001100
1.011010
1.100110
ZUi(+ 12)
ZUl( - 37)
- 25 w kodzie ZUi
i przy przeciwnych znakach argumentów
- 12
+ +37
+ 25
1.110011
0.100101
10.011000
I
'1
0.011001
ZUl( - 12)
ZUl(+37)
przeniesienie zwrotne
+25 w kodzie ZUi
Te same działania w kodzie ZU2 są prostsze, gdyż nie wymagają stosowania
przeniesienia zwrotnego. Równiei dodajemy liczby łącznie z bitem zna ku:
0.001100
1.011011
1.100111
ZU2(+ 12)
ZU2( - 37)
-25 w kodzie ZU2
1.110100
0.100101
i 0.011001
ZU2( - 12)
ZU2( + 37)
+ 25 w kodzie ZU2
tJ
Nadmiar (przepełnienie) przy działaniach na liczbach ze znakiem jest
bardziej grożay niż na liczbach bez znaku, bo w pewnych przypadkach może
doprowadzić do błędnego wyniku danego działania. Nadmiar może wystąpić,
jeśli dwie dodawane liczby są jednocześnie dodatnie łub jednocześnie ujemne.
Wówczas przeniesienie jedynkowe z najwyższego bitu modułu sumy, jeiełi
wystąpi, powoduje zmianę znaku wyniku i nie jest uwzględnione w module
wyniku. Na przykład, przyjmując kod ZU2,
+69
+103
+ + 172
0.1000101
0.1100111
1.0101100
- 84 w kodzie ZU2'!
tJtJ
/
\
c' =O c„ = I
Sytuację taką można
zawsze wykryć, obserwując dwa bity przeniesień
generowane w czasie dodawania: c, - z bitu znaku i c„ - z najwyższego
bitu modułu sumy. Nadmiar powodujący błędny wynik ma miejsce tylko
wtedy, gdy
82
3.2. OZIALANIA ARYTMETYCZNE NA LICZBACH OW0JK0WYCH ZE ZNAJ(IEM
c, $ c„ = 1
a więc tylko wówczas, gdy c, = Oi c„ = I lub c, = I i c„ = O. Można zauważyć, że
w poprzednich przykładach poprawne wyniki były uzyskiwane przy spełnionym
warunku c, = c„ = O albo c, = c,,, = I.
W celu zlikwidowania nadmiaru należy zwiększyć długość słowa danych
przynajmniej o jeden bit. Przy stosowaniu mikroprocesorów, które operują
słowami bajtowymi, oznacza to użycie dla danych formatu dwubajtowego.
Wówczas
bajt I
bajt O
0.0000000
0.0000000
0.0000000
01000101
01100111
!0!01 100
t
I
+ ł72
o
Porównując
bity określające znak wyników otrzymanych z działań na
liczbach bez znaku i na liczbach ze znakiem można zauważyć, że pod pewnym
względem są to relacje przeciwstawne: wynik działania na liczbach bez znaku był
dodatni, jeśli na najwyższej pozycji słowa wyn ikowego otrzymywana była
jedynka, natomiast w liczbach ze znakiem bit równy l na pozycji znaku wskazuje
zawsze na znak minus.
Mnożenie
i dzielenie
Koncepcyjnie najprostsze operacje mnożenia i dzielenia liczb ze znakiem
otrzymuje się wówczas, gdy liczby te są zapisane w kodzie ZM. Wtedy bowiem
działania mnożenia i dzielenia wykonuje się na modułach liczby, czyli jak na
liczbach bez znaku, w sposób opisany poprzednio w p. 3.1. Znak wyniku ustala
się osobno, sumując module 2 bity znaku argumentów.
Jeżeli liczby są przedstawione w kodzie uzupełnieniowym ze znakiem
(ZU 1 lub ZU2), to na liczbach ujemnych można dokonać ponownego uzupeł­
nienia modułu, przechodząc w ten sposób do kodu ZM, czyli do sytuacji opisanej
poprzednio. Uzupełnienie otrzymanego wyniku wykonuje się t ylko wtedy, jeśli
wynik ma być ujemny.
Gdy do zapisu mnożonych liczb jest stosowany kod ZU2, wtedy jedną ze
stosowanych metod jest metoda Robertsona.. Jeżeli obydwie te liczby są dodatnie,
to mnożenie następuje oczywiście jak dla liczb bez znaku. Gdy obydwie liczby są
ujemne, wtedy należy obliczyć uzupełnienia do 2 tych liczb i też wykonać
mnożenie jak dla liczb bez znaku. Jeżeli mnożna jest ujemna a mnożnik dodatni,
to także wykonuje się mnożenie jak dla liczb bez znaku, lecz wymagane jest
83
3 ARY1METYKA OWOJKOWA
dopisanie jedynek po lewej stronie mnożnej, przepisywanej jako iloczyn
częściowy. W reszcie, jeżeli mnożna jest dodatnia a mnożnik ujemny, to dokonuje
się ich przemnożenia przez - I lub zamiany, aby uzyskać dodatni mnożnik
i operację mnożenia wykonuje się tak samo jak w poprzednim przypadku.
Przedstawiono to na następujących przykładach:
+23
I)
+5
X
+115
- 23
2)
liczba 10-bitowa
dopisane jedynki
+5
X
liczba 5-bitowa ze znakiem
liczba 5-bitowa ze znakiem
0.1011 1
0.00101
0.0000010111
0.000101 I I
0.000111001 1
'Io
ze znakiem
1.01001
0.00101
- 11 5
I 11
1.1110001101
W praktyce do mnoi.enia dużych liczb ze znakiem w kodzie ZU2 zwykle
stosuje się szybszą metodę Bootha, a tak:i.e jej modyfikacje. W klasycznej metodzie
Bootha wykorzystuje się tę właściwość liczb dwójkowych, że ci11g m jedynek
w zapisie liczby, tj.
m jedynek
00011 ··· llOOO
można zastąpić
zapisem
00100 ··· OTOOO
(m - 1) zer
gdzie symbol T oznacza minus 1. Odpowiada to przedstawieniu maksymalnej
wartości dziesiętnej dla m-bitowej liczby dwójkowej, która jest równa
Otfuc.n: PUY MNC>lENIU
(b• •I,
ł1
LICZI W l.OOZll lł/1 MtTOOĄ IOOTHA
Tablit:a J.1
• KOLUNt lnY M!<OZNIKA)
b„ ....
b,
o
o
o
I
o
Operacja
na pozycji (I<+ I)
żadna
dodaj mnożną
odejmij mnożną
żadna
84
3.2.
DZIAŁ.AN IA ARYTMETYCZNE NA LICZBACH OWOJKOWYCH
ze ZNAKIEM
Lm••= 2"' - I. Algorytm mnożenia oparty jest na badaniu par bitów mnożnika
od najmniej znaczącego bitu, przy czym zakłada się, że na prawo od
tej pozycji jest cyfra O. Zależnie od rodzaju danej pary wykonuje się dodawanie
lub odejmowanie mnożnej, bądź też nie wykonuje się żadnej z tych operacji
(tabl. 3.2). Zakończeniem każdego kroku jest przesunięcie wyniku uzyskanego
w tym kroku o jedną pozycję w prawo (SHRA). Jeśli mnożone liczby są liczbami
n-bitowymi (łącznie z bitem znaku), to wynik mnożenia wyraża się liczbą
(2n- l)-bitową. Przedstawiono to na przykładzie mnożenia liczb L(P) = 23
i L(Q) = - 19:
począwszy
p
Q
c
010111
101101
o
101001
110100
010111
001100
0001 10
101001
101111
110111
111011
010111
010010
001001
101001
Wynik F : 110010
101101
110110
110110
110110
011011
011011
011011
101101
110110
110110
110110
011011
011011
01101
o -P
1
I
1
o
o
o
1
I
I
I
o
o
SHRA
+P
ADD
SHRA
-P
ADD
SHRA
SHRA
+P
ADD
SH RA
-P
- 437
R początkowo zawiera tylko mnożnik Q. Przy kolejnych przesuQ jest przesuwany w prawo, a na opróżnione pozycje z lewej
strony wprowadzane są niższe bity iloczynu F. Dodatkowy bit c tworzy wraz
z najniższym bitem słowa R parę, która jest badana po każdym przesunięciu.
Oznaczona symbolem SHRA operacja przesunięcia stanowi przesunięcie
arytmetyczne dla liczb w kodzie ZU2. Przy takim przesunięciu bit znakowy
liczby przesuniętej jest zawsze taki sam jak bit znakowy liczby przed przesunię­
ciem. Zwróćmy także uwagę, że operacje dodawania i odejmowania występują
przemiennie, a liczba przesunięć wynosi (11- l).
Metoda Bootha przyspiesza operację mnożenia jeśli w mnożniku występują dłuższe ciągi jedynkowe. Natomiast gdy w mnożniku występują liczne
izolowane jedynki, wtedy metoda Bootha staje się wolniejsza od metody
konwencjonalnej, gdyż dla każdej izolowanej jedynki wykonuje się jedno
dodawanie i jedno odejmowanie mnożnej.
Słowo
nięciach mnożnik
85
3. ARYTMETYKA DWÓJKOWA
W usprawnionej metodzie Bootha wykonuje się takie przekodowanie
aby zwiększyć liczbę bitów zerowych mnożnika w postaci ciągów zer.
Na przykład ciąg jedynek z „wtrąconym" zerem można przedstawić jako
mnożnika
11...1011...1 = 100... 0TO...OI
m bitów
m+ I bitów
W wyniku przekodowania otrqmuje się zapis mnożnika, w których
zawarta jest minimalna liczba bitów niezerowych, przy czym każdy bit niezerowy
jest oddzielony przez co najmniej jedno 7.Cro. Z tego względu przekodowanie
takie określa się często jako kanoniczne. Algorytm mnożenia opiera się na
badaniu kolejnych par bitów mnożnika, lecz jest bardziej złożony niż w klasycznej metodzie Bootha.
Przyspieszenie mnożenia można także uzyskać przez zastosowanie
algorytmu, który bada bity mnożnika w sukcesywnych grupach trójkowych (5).
Dzielenie liczb ze znakiem, przedstawionych w kodach uzupelnieniowych
ZUi lub ZU2, można wykonać przez przekodowanie liczb ujemnych na zapis
ZM, wykonanie dzielenia na dodatnich modułach i obliczenie uzupełnienia
wyniku, jeśli ma on być ujemny. Znak ilorazu otrzymuje się przez sumowanie
module 2 znaków dzielnej i dzielnika. Do dzielenia liczb w kodzie ZM stosuje się
metody omówione w p. 3.1, tj. metodę porównawczą lub metodą restytucyjną,
stanowiącą w istocie specjalny przypadek metody porównawczej (gdy porównanie reszty częściowej i dzielnika wykonuje się metodą odejmowania). Metodę
nierestytucyjną, stosuje się do dzielenia liczb przedstawionych zarówno w kodzie
ZM jak i ZU2.
Omówimy stosowanie metody nierestytucyjnej dla liczb zapisanych
w kodzie ZU2.
Najpierw wykonuje się test istnienia nadmiaru. W tym celu dzielnik
(Q) dodaje się łub odejmuje od (do) najbardziej znaczących bitów dzielnej
(P) i bada się znak wyniku (pierwszej reszty częściowej) zgodnie z regułami
podanymi w tabl. 3.3. Jak widać, nadmiar występuje tylko wówczas, gdy rezuł0xRESLENlE NADMIARU, POPR.AWNEOO ILORAZU I f POPRAWNEJ RESZTY R
Tablica 3.3
PRZY OZ.IEUNIU LICZB V.' K.ODZ.I Ę: l Cl1 Mef()OĄ NI ER ESTYTUCYJNĄ
Bitv znaku
Dzielna
Dzielnik
(reszta
Znak
Operacja
o
I
I
I
o
I
86
o
wskazujący
Tloraz
nadmiar
częściowa)
o
wyniku
} odejmowanie
o
} dodawanie
o
I
I
I
Reszta
R
/'
/'
U2( R')
+
/' +
/'
R'
I
I
R'
U2( R)
3.2. OZłAlAN I A ARYTMETYCZNE NA LIC28ACH DW0JK0WYCH ZE ZNAKIEM
0KRl!S:L.ANl~ k.OLEJNY( H 8 JTÓW ll.ORAZU I KOLEJN YCH Oł'ERACJI
TWOR.Zf..NIA RESZT
Tllblica 3.4
C'ZĘSCIOWYCU
Bily znaku
reszty częściowej
i dzielni ka
Kolejny bil
ilorazu
jednakowe
I
o
różne
Naslępna
operacja
odejmowanie
doda\vanie
tat operacji ma ten sam znak co dzielna. W takiej sytuacji trzeba odpowiednio
zmodyfikować postać argumentów aby zlikwidować nadmiar, np. przez ope·
rację skalowan ia. Jeśli nadmiar nie występuje, to określa się pierwszy bit
(znaku) ilorazu przez porównanie bitów znaku reszty częściowej i dzielnika
zgodnie z regułami tabl. 3.4. Następnie przesuwa się resztę częściową o jedną
pozycję w lewo, wprowadzając na opróżnianą pozycję kolejny bit dzielnej
i wykonuje się operację wynikającą z tabl. 3.3. Znak nowej reszty częściowej
porównuje się ze znakiem dzielnika itd. Czyrmości te powtarza się aż do
wyczerpania wszystkich bitów dzielnej, po czym jeszcze raz wykonuje się
porównanie bitu znaku reszty częściowej ze znakiem dziel nika i wykonuje
operację zgodnie z tabl. 3.4. W rezultacie o trzymuje się iloraz /' i resztę
R'. Liczby te należy ewentualn ie skorygować, co zależy od znaków dzielnej
i dzielnika (tabl. 3.3).
Zakładając długość słowa P równą 2n i długość słowa Q równą 11,
algorytm dzielenia można sformułować następująco:
I.
Wykonaj test nadmiaru. Jeśli nadmiar występuje, przejdź do procedury
korekcyjnej, w przeciwnym razie określ bit znaku ilorazu.
2.
D la i równego od l do n wykonaj:
a) przesuń dzielną o jedną pozycję w lewo i wprowadź na opróżnioną
pozycję kolejny bit dzielnej,
b) oblicz nową resztę częściową wykonując operację wynikającą z tabl.
3.3,
c)
określ
kolejny bit ilorazu (tabl. 3.4).
resztę wykonując czynności
3.
Oblicz
4.
Oblicz poprawny iloraz I i
2b.
poprawną resztę
R zgodnie z tabl. 3.3.
W rezultacie otrzymuje się (n + 1)-bitowy iloraz i 11-bitową resztę. Ilustruje
to poniższy przykład dzielenia liczby L(P) = - 75 przez L(Q) = 6:
P = ZU2( - 75) = I.Ol 10101
Q = ZU2(6)
= 0.110
-Q = ZU2( - 6) =1.010
87
3. ARYTMETYKA OWOJKOWA
I '= 10011
10110101 + 0110
OllOJ
+Q
0001
ADD (nie ma nadmiaru, znak ilorazu: I)
iii
SHL (przesuw reszty cz. i wpisanie bitu
dzielnej)
0010
1010
1100
1001
0110
111 1
1110
0110
0100
1001
1010
0011
1010
R' = 1101
-Q
ADD (bit ilorazu: O)
I
I
- Q (korekta reszty)
ADD
Poprawny iloraz I otrzymuje
się
zgodnie z tabl. 3.3 jako I = I'+ 1 =
otrzymuje się jako U2(R') =
= 0011 = 3 10. Rezultat dzielenia wynosi zatem -(12+3/6) = - 12.5.
Operacja dzielenia jest tradycyjnie uważana za najwolniejszą i najtrudniejszą z podstawowych działań arytmetycznych. W celu przyspieszenia jej
realizacji zostały opracowane bardziej wydajne metody niż opisana metoda
nierestytucyjna [5].
= 1.0100 = -12 10. Podobnie
poprawną resztę
Zaokrąg l an ie
Ogólnie biorąc, w rezultacie mnożenia dwóch n-bitowych liczb bez znaku
otrzymuje się liczbę 2n-bitową, a przy mnożeniu dwóch n-bitowych liczb
włącznie z bitem znaku otrzymuje się liczbę (2n - 1)-bitową.. Przy pewnych
działaniach, np. przy dzieleniu i pierwiastkowaniu, wynik może mieć dowolnie
dużo bitów, zależnie od wymaganej dokładności. Jeśli jednak wynik ma być
przedstawiony w postaci liczby o mniejszej liczbie bitów, to najprostszą operacją
jest obcięcie „zbytecznych" mniej znaczących bitów. Przy wielokrotnym powtarzaniu obcięcia liczb podczas liczenia należy się jednak liczyć ze wzrostem
błędu ostate<.."Znego wyniku. Korzystniejsze jest zaokrąglanie, polegające na
takim określeniu m-bitowej liczby, aby możl.iwie zapobiec narastaniu lub
akumulowaniu się błędów zaokrąglenia podczas liczenia.
88
3.3. DZIAŁAN IA ARYTM ETYCZNE NA LICZBACH DZI ES I ĘTNYCH KODOWANYCH OW0JK0W0
Najbardziej znana metoda zaokrąglania polega na dodaniu I na najwyż­
szej pozycji w odciętej części zaokrąglonej liczby i dodanie wyn ikłego stąd
przeniesienia (O lub 1) do skróconej liczby. Na przykład:
obcięcie
10100101
dodanie
10101
zaokrąglona
liczba
Postępowanie
takie odpowiada w przybliżeniu zasadzie zaokrąglania do
po obcięciu (round to nearest). Różnica powstaje tylko wówczas,
gdy część obcięta jest równa 100...0, czyli gdy liczba nieobcięta jest dokładnie
w połowie między dwoma najbliższymi liczbami po obcięciu. Wówczas bowiem
zasada zaokrąglania „do najbliższej" stanowi, że najmniej znaczący bit zaokrąg­
lonej liczby powinien być równy O. Na przyk ład, przy zaokrągleniu liczby
10101100 zgodnie z tą zasadą otrzymuje się liczbę 1010, a stosując powyższą
metodę dodawania jedynki otrzymuje się 1011. Natomiast przy zaokrągleniu
liczby 10111100 otrzymuje się wyniki zgodne: 1100.
najbliższej liczby
DZIAŁANIA
ARYTMETYCZNE NA LICZBACH
DZIESIĘTNYCH KODOWANYCH DWÓJKOWO
(BCD)
3.3
Treść
niniejszego podrozdziału jest ograniczona do działań na liczbach bez
znaku w kodzie BCD 8421.
Jak opisano w p. 2.2.5, liczby dziesiętne w kodzie BCD są przedstawiane
w ten sposób, że każdej cyfrze dziesiętnej odpowiada tetrada bitów. Działania
arytmetyczne na takich liczbach wymagają specjalnych zabiegów. Na przykład,
przy „zwykłym" dwójkowym dodawaniu liczb
23
+47
70
00100011
01000111
01101010
~---...-
610
1010
otrzymuje się dla mniej znaczącej cyfry wyniku niedozwoloną w kodzie BCD
liczbę 10 10 = A 16. Aby otrzymać prawidłowy wynik, należy wykonać korektę
każdej tetrady wyniku jeśli (a) w czasie dodawania pojawiło się przeniesienie
jedynkowe z najwyższej pozycji danej tetrady, lub (b) tetrada reprezentuje liczbę
dziesiętną większą od 9. Korekta polega na odjęciu od danej tetrady liczby 1010,
89
3. ARYTMETYKA OWOJKOWA
czyli dodaniu uzupełnienia U2(1010 2) = 0110 2, przy czym proces korekcji
rozpoczyna się od najniższej tetrady, a przy korekcie wyższej tetrady uwzględnia
się przeniesienie z niższej tetrady. W powyższym przykładzie spełniony jest
warunek (b) w odniesieniu do niższej tetrady. Zatem
01101010
+0110
01110000
\)
Inny
(7010)
przykład:
68
+39
107
01101000
+00111001
10100001
warunek (a) w
niższej
tetradzie
\)
1
0110
101001I1
.....___,
1
L---~
0110
10000
1~
(I O 7)10
korekta niższej tetrady
warunek (b) w wyższej tetradzie
korekta
wyższej
tetrady
Z procesu korekcji można wyeliminować operacje komparacji, wymagane przez warunek (b), przez zastosowanie innego algorytmu, który wykorzystuje
dwa bity przeniesień występujące przy dodawaniu dwu cyfr BCD zawartych
w jednym bajcie. Algorytm dodawania dwóch bajtów jest następujący:
I.
Dodaj dwójkowo liczbę 66 16 do dodajnej.
2.
Dodaj dodajnik do sumy z kroku 1. Generowane w tym kroku
przeniesienie c z najwyższej (siódmej) pozycji sumy stanowi właściwe
przeniesienie dla każdej cyfry w następnym bajcie.
3.
Za leżnie od stanu przeniesień c i h (z trzeciej pozycji sumy) dodaj
dwójkowo odpowiedni składnik K do sumy z kroku 2. Pomiń ewentualne
przeniesienie z pozycji siódmej. Składnik K dobiera się z tablicy
c
h
K
o
o
o
I
o
9A 16
A0 16
FA 16
I
0016
I
I
90
DZIAŁANIA ARYTMETYCZNE NA LICZBACH DZI ESIĘTNYCH KODOWANYCH 0\.V0Jl(0W0
3.3.
Stosowanie tego algorytmu przedstawiono na przykładzie dodawania
dwu liczb dziesiętnych 2987 + 3479 = 6466. Każdy składnik tej sumy jest
reprezentowany w kodzie BCD 8421 przez dwa bajty. Zakładając, że operujemy
na pojedynczych bajtach, dodajemy najpierw niższe bajty obu składników, czyli
87 +79 = 166:
10000111
+ 01100110
11101101
+ 01111001
- -101100110
tJ
66,6
krok I
dodajnik (79)
krok 2
tJ
I
c =I
\
h= I
+ 00000000
01100110
_____,,_,_,
!
(I
dodajna (87)
6
dla eh = li jest K = 00l6
00,6
krok 3
!
6) 10
Następnie dodajemy wyższe bajty, uwzględniając przeniesienie z sumy
niższych
bajtów, tj. (29+ 1)+34 = 64
00110000
+ OllOOllO
10010110
+ 00110100
11001010
u u
I
\
c=O h=O
+ 100.11010
:J:____,._,...,
01100100
(6
dodajna (30)
66,6
krok I
dodajnik (34)
krok 2
dla eh = OO jest K = 9A 16
9A 16
krok 3
4) IO
Składając wyniki otrzymane przy pierwszym i drugim zastosowaniu tego
algorytmu dodawania otrzymuje się wynik końcowy (6466 10).
Odejmowanie liczb dziesiętnych zapisanych w kodzie BCD zastępuje się przez
dodawanie uzupełnienia odjemnika {do 9 lub do I O) do odjemnej (p. 3.1 ). Pewne
ułatwienia obliczeniowe można uzyskać stosując w tym przypadku zapis liczb
w kodzie XS3 (z nadmiarem 3), gdyż uzupełnienie liczby dziesiętnej do 9 jest
równoznaczne z negacją wszystkich bitów w kodzie XS3.
91
3, ARYTMETYKA OWOJKOWA
DZIAŁANIA
ARYTMETYCZNE NA LICZBACH
ZMIENNOPRZECINKOWYCH
3 .4
D odawanie i odejmowanie liczb zmiennoprzecinkowych (p. 2.2.7) wymaga
najpierw wyrównania wykładników, a następnie właściwą operację dodawania
lub odejmowania dokonuje się na mantysach jak na stałoprzecinkowych
liczbach ze znakiem. W celu wyrównania wykładników mniejszy z nich odejmuje
się od większego i mantysę związaną z tym mniejszym przesuwa się w prawo
o liczbę pozycji równą otrzymanej różnicy. Na przykład, w celu dodani a liczb
M • W równych P = 0.10110010 • 0. IOOO i Q = 0.11001011 • 0.0101 odejmujemy
wykładniki 0.1000-0.0101 czyli dodajemy drugi z nich w kodzie ZU2
0.1000
+ 1.1011
0.0011
(3 10)
po czym przesuwamy w prawo
dodawanie mantys
mantysę
liczby Q o trzy pozycje i wykonujemy
0.10110010
+ 0.00011001011
0.11001011011
Otrzymana suma stanowi mantysę wyniku dodawania, a jego wykładnik jest
równy O.I OOO.
Jeśli w wyniku operacji dodawania w mantysie sumy pojawi się przeniesienie na pozycję znaku, to należy go skorygować przez przesunięcie tej mantysy
w prawo o jedną pozycję i zwiększenie wykładnika sumy o I.
Jeśli w wyniku operacji odejmowania w mantysie różnicy pojawi się zero
na najbardziej znaczącej pozycji tej mantysy, to na.leży znormalizować mantysę
przez jej przesuwanie w lewo i zmniejsza nie wykładnika tak długo, aż na tej
pozycji pojawi się bit l. Oczywiście nie dotyczy to mantysy zawierającej same
zera. Zwykle procedurę no rma lizacyjną wykonuje się po każdej operacji
arytmet ycznej.
Do wykonania działań mnożenia i dzielenia wyrównywanie man tys nie
jest potrzebne. Przy mnożeniu mantysy S<i mnożone jak liczby ze zna kiem,
a wykładniki dodawane. Dzielenie wykonuje się podobnie przez dzielenie mantys
jak liczb ze znakiem i odejmowanie wykładn ików.
Niedomiar przy działaniach na liczbach zmiennopozycyjnych występuje
wtedy, gdy w trakcie obliczeń pojawi się liczba o wykładniku mniejszym od
Lm;.(W) (p. 2.2.7). Może on być interpretowany jako zero, albo zainicjować
92
3.4.
OZlAŁAN I A
ARYTMETYCZNE NA LICZBACH ZMI ENNOPRZECINKOWYCH
wykonanie denormalizacji mantysy. W ostatnim przypadku kosztem zmniejszenia dokładności otrzymuje się jednak wynik niezerowy.
Nadmiar ma miejsce wtedy, gdy w trakcie obliczeń pojawi się liczba
o wykładniku większym od Lm„( W) = 2"'- 1 - 1 (p. 2.2.7). Może to spowodować
błąd w obliczeniach i dlatego w praktyce pojawienie się nadmiaru wymaga
sygnalizacji lub uruchomienia procedur korekcyjnych.
LITERATURA
I.
2.
3.
4.
5.
6.
Ecadie D.: Nowoczesne masz)•ny i system)• cyfrowe, WNT, Warszawa 1975
Flores I.: Arytmetyka maszyn cyfrowych, WNT, Wars1.awa 1970
Mano M. M.: Archltekt.ura komputerów, WNT, Warszawa 1988
Mowie I. F.: A systematic approach 10 digirnl logic design, Addison- Weslcy, 1976
Scott N.: Computer number systems and arithmetic, Preotice-Hall, 1985
Pochopień B.: Arytmetyka syst.emów CJfrowych. Skrypt Politechniki Śląskiej Nr I 548, Gliwice
1990
4
PODSTAWY TEORII UKŁADÓW CYFROWYCH
Układ cyfrowy można w ogólnej postaci przedstawić jako wielobiegunnik
o n binarnych sygnałach wejściowych i m binarnych sygnałach wyjściowych
(rys. 4.1 ), opisanych łącznie wektorami: wejściowym X = (x 1 , x 2 , . .. , x.) i wyjściowym Y = (y 1 , y 2 , . .„ y„). Nadając zmiennym x i y wartości zerojedynkowe
otrzymujemy konkretny stan wejściowy X; (np. X 25 = (O, 1, I, O, O, I) i podobnie
konkretny stan wyjściowy Y,. Zbiór X występujących stanów X; stanowi
w ogólnym przypadku podzbiór iloczynu kartezjańskiego B" (p. 1.4), który
zawiera 2" = N ciągów o n elementach zerojedynkowych
X ~ B·
Stany X; :zazwyczaj numeruje się w ten sposób, że je {O, l , 2,..., N - 1} = N. Na
przykład, dla n = 2 można utworzyć zbiór X = B 2 = {X 0 , X 1 , X 2 , X 3}=
= {OO, Ol, 10, 11 }. gdzie d la uproszczenia zapisu stanów X; pominięto przecinki.
·ny·
xz .
. Y2
.
.
.
.
Ym
Xn
Wygodnie jest
n
Rys. 4.1
Schemat funkcjonalny
również stosować
wskazującym bezpośrednio
= {O, I, 2,..., 7}.
na
układu
cyfrowego
oznaczenie N. zamiast N, z indeksem
Np. N 3 =
liczbę sygnałów wejściowych.
Zbiór X stanowi język wejściowy układu cyfrowego (w literaturze jest
w tym znaczeniu określenie „alfabet wejściowy" w odniesieniu
do ,,liter" X;).
Podobnie można opisać zbiór Y stanów Y,, czyli język wyjściowy układu
cyfrowego, przez podzbiór iloczynu kartezjańskiego B"' czyli
także stosowane
y~
B"'
przy czym jeśli oznaczyć
94
zm = M , to le {O,
I, 2,„„ M - 1}
=M.
UKŁADY
4.1.
KOMBINACYJNE
Według powyższych
definicji, zbiory X i Y nie muszą zawierać wszystkich
możliwych stanów X i i Y,,czyliniezawszespełnionesą warunki X = B", Y = B"'.
Odpowiada to realnym układom cyfrowym.
Jeśli w dowolnej chwili czasu t stan wyjściowy Y' układu zależy wyłącznie
od obecnego w tej chwili stanu wejściowego X', czyli
Y' = f(X')
to taki układ cyfrowy określa się jako kombinacyjny (bez pamięci). W przeciwnym
razie układ określa się jako sekwencyjny (z pamięcią). W takich układach,
wskutek właściwości pamiętania stanów z poprzednich chwil, stan wyjść Y'
zależy nie tylko od stanu aktualnego X', lecz również od poprzednich stanów
wejść X. Stany te w układach sekwencyjnych są zwyk le określane w pewnych
dyskretnych chwilach czasowych, a nie w czasie ciągłym. Jeżeli kolejne chwile
czasowe, liczone wstecz od pewnego momentu t, oznaczymy przez t 1, t 2, ..., to
w ogólnym przypadku, dla układu sekwencyjnego
= f(X', X ' - '', X' - ''. ...)
Y'
UKŁADY
Funkcje
Cyfrowy
układ
KOMBINACYJNE
przełączające
4.1
i formy boolowskie
kombinacyjny z rys. 4.1 opisuje
4.1.1
się funkcją
f:X - Y
natomiast dla
każdego sygnału wyjściowego
y, (i = I, 2„.., m)
można określić
funkcję
f;: X-B
którą można również zapisać
w postaci
Y1 = fi(X)
fi,
która każdemu stanowi wejściowemu X 1e X jednoznacznie
przyporządkowuje stan O lub I sygnału wyjściowego y, e B, nazywa się funkcją
przelączającą układu cyfrowego. Jest to funkcja na algebrze Boole'a sygnałów
binarnych i stąd określa się ją również jako funkcję boo/owską lub funkcję
Funkcję
logiczną.
Funkcje przełączające są przedstawiane analitycznie przez formy boolowskie. Forma boolowska (wyrażenie boolowskie, wielomian boolowski) stanowi
wyrażenie utworzone z pewnej liczby symboli zmiennych boolowskich i ewentualnie stałych Oi I przez zastosowanie skończonej liczby operacji boolowskich:
95
4. PODSTAWY TEORII UKŁADÓW CYFROWYCH
sumy ( v ), iloczynu (-) i negacji C ). Formę boolowską otrzymuje się również
wówczas, gdy zmienne boolowskie zostaną zastąpione innymi formami boolowskimi.
Na przykład:
f 1 (X) =
x 1 V x 2 x3 V x 1 x 2 x4
f2(XJ = X2X3X5 V(x, Vx4)(X2 VX3X5)
f3(X) = f ,(X) Vfz(XJ.
Dwie formy boolowskie są rów11oważ11e, jeśli określają tę samą funkcję
funkcja przełączająca może być przedstawiona przez
nieskończenie wiele równoważnych form boolowskich. Na przykład, dlaf(x) = x
można znaleźć f(x) = x v x , x v x v x , x · x, x · x · x itd. Przy określaniu funkcji
przełączającej przez formę boolowską często nazywa się j ą postacią tej funkcji.
Dwie formy boolowskie są d11a/11e, jeśli po zamianie w jednej z nich
symboli „V" na ,;"i odwrotnie oraz stałych O na 1 i odwrotnie, otrzymuje się
drugą formę. Odpowiada to zasadzie dualności, podanej w p. 1.5.
Uogólnienie prawa De Morgana na funkcje przełączające stanowi wzór
Shannona
przełączającą. Każda
.f(xI > Xz, „. ,x•• V, ·) = f(,i,. Xz, "', x., .,V)
lub w uproszczonej postaci
,f(X, V,·) = f(~. ·, V)
Z powyższej równości wynika, że negację funkcji przełączającej otrzymuje się
przez negację każdej zmiennej oraz zmianę operatorów „v " na ,;" i odwrotnie
w formie boolowskiej tej funkcji . Na przykład, negacją formy
f(X) = x 1X2 V X1X3 V x 1X2X3
jest forma
.f(X) = (x, VXz)(x, VX3)(x, VX2 VX3)
Przy stosowaniu wzoru Shannona do bardziej złożonych form boolowskich należy przestrzegać pewnych dodatkowych reguł.
Jeśli funkcja negacji (kreska) obejmuje więcej niż jedną zmienną (np.
pewne wyrażenie będące częścią formy }), to stosowanie wzoru Shannona
sprowadza się tylko do usunięcia tej negacji (kreski), czyli bez dalszych zmian
zanegowanego wyrażenia. Jeśli formafzawiera wyrażenie ujęte w nawiasach, to
wzór Shannona stosuje się stopniowo, rozpoczynając od wyrażeń w najbardziej
wewnętrznych nawiasach. Na przykład dla formy
z= ab(bc v iI) = (ii v b)(bc v d)
96
4.1.
stosując
UKŁAOY
KOMBINACYJNE
wzór Shannona otrzymujemy
formę
i= abV (b v C) d
łatwo zauważyć, można ją także uzyskać
Jak
bez
pośrednich przekształceń ,
traktując
iloczyn ab jako pojedynczą zmienną.
Funkcje przełączające mogą być także przedstawiane za pomocą tablic
stanów (tablic prawdy, tablic funkcyjnych). Tablica stanów dla funkcji
y1 = f,(X) n zmiennych zawiera 2" wierszy i n+ I kolumn, gdyż każdy wiersz
tablicy zawiera n stanów wejść oraz jeden stan sygnału y,. Liczba wszystkich
możliwych funkcji przełączających dla n zmiennych wejściowych wynosi
yx
= B8" = (2) 2"
(p. 1.4). Przy n = I można sformułować 4 funkcje jednoar-
gumentowe
f(x) = X
f(x) = x
f(x) = l
f(x) =O
Dla
każdej
z nich
przeniesienie
negacja (uzupełnienie)
stała l
stała O
można utworzyć tablicę
stanów, jak pokazano na rys. 4.2.
Rys. 4.1.
Przedstawianie funkcji pn.elączających jednej zmiennej
przy pomocy tablicy stanów
Przy n = 2 otrzymuje się 16 funkcji, w tym również cztery wymienione
poprzednio przy n = l. Są one pokazane w tabl. 4.1, w której każda kolumna
przedstawia tablicę stanów jednej funkcji J; dla i = 0,1, .. „ 15. W tabl. 4.2 są
podane formy boolowskie dla tych funkcji, a także wyrażenia operatorowe
z użyciem operatorów nieboolowskich Geżeli istnieją) i nazwy funkcji. J ak widać,
przy 11 = 2 otrzymujemy dwie funkcje będące stałymi, cztery funkcje unarne (dwa
przeniesienia i dwie negacje) oraz dziesięć funkcji binarnych.
Funkcje przełączające, dla których istnieją nazwy operatorowe, określa
się jako podsiawowe. Funkcje podstawowe w sensie algebry Boole'a to jednak
tylko suma OR (LUB), iloczyn AND (I) i negacja NOT (NIE). Funkcje te są
roz.surzalne dla dowolnej liczby argumentów (por. wyrażenia V i n w p. 1.5)
z wyjątkiem negacji, która jest funkcją jednoargumentową.
97
4. PODSTAWY TEORII UKlAOOW CYFROWYCH
FUNKCJE PRlELĄCZAJĄCE DWÓCH ZJ.łl ENN"YCH
/ 1 Jl /J /4 f,
X1
x,
o
o
o o o
I
o o
o o o
1
o I
1
I
fo
o o o
o o I
I
I
o
o 1 o
Sym bol
operatora
/\
0Pts FUNKCJI
Wyrażeoie
fo = o
f , = X1X1
f, = X1X1
f, = X1
f · = X 1X2
f, = x,
= X1.1'.2VX1i2
=
Is =
J.
f,
o o
o
I
1
I
1
o
I
!;
!;
I
I
I
o
I
EB
V
I• f•
I
!10
I
o o
o o
o 1
o
j
+
Zastosowanie
operatorów nie-
!11
I
I
o
o
I
I
I
o
,
=>
:::>
fu /JJ /,.
I
1
I
1
o
o
'
o
o
I
I
=>
:::>
Tablica 4.2
angielska
XJ
6
X1
Stala 0
iloczyn
iloczyn z zakazem
X2
6
Xl
iloczyn z zakazem
AND
przeniesienie
przeniesienie
X 1 @ X2
I
1
I
1
NaZ\va funkcji
polska
I
ALBO
EX-OR, XOR
funkcja
LUB
LUB-NIE
(skró t LUN)
ALBO-NIE
(skró t ALBON)
OR
NOR
suma
x 1
.~2
nierówności
(x 1 #xi)
X1 V Xz
Xt VXz
;;::: .Y1X2v X1X2
/10 =
x,
/11 =
X t V i2
X1 j x,
x10 x2 = x1 Eł>x2,
(x 1 = xi)
NIE
(skrót N)
funkcja (strzalka)
Pcirce'a
EX-NOR, XNOR funkcja
EQUALITY,
EQUIVALENCE
NOT
negacja
/1 2 -
-~1
fu =
.Yi V X2
f„ = -X1Xz
równości
implikacja:
X2 ;;:a.Xt
jeśli X1~
f„ =
I
1
I
j, ,
Nazwa operatora funkcji
boolowskich
f,
f•
PRULĄCZAJĄC\'CH 0\llÓCH ZMIENNYCH
boolowskie
I•
Tablica 4.1
NIE
(skrót N)
NOT
x , ~x 2
to
X1
negacja
implikacja:
x 1 , to Xz
funkcja (kreska)
Shcffcra
stała I
jeśli
x, I
X1
I-NIE
(skrót IN)
NAND
I
Funkcja nierówności XOR (ang. EXCLUSIVE - OR, poi. ALBO) jest
określona dla dwu zmiennych związkami
y = x , Etlx2 = (x , V X2)(i, V i2) = il X2 V x, X2
98
4.1 . Ul<lAOY KOMBINACYJNE
lub predykatem
y
= (x 1 #
x2)
Oznacza to, że y = I wtedy i tyl ko wtedy, gdy stany logiczne zmiennych
x , i x 2 nie są równe (innymi słowy wtedy, gdy stan logiczny I ma albo
zmienna x" albo zmienna x 2 , ale nie obydwie). Funkcja ta ma także wiele
innych nazw: WYŁĄCZNIE LUB, suma wyłączająca, suma modu/o 2, różnica
symetryczna. Stosuje się także nazwę funkcji nieparzystości, gdyż przyjmuje
ona wartość logiczną I, gdy w funkcji XOR wielu zmiennych (np. gdy
y = x 1 $ x 2 $ x 3 $ ... $ x.) liczba jedynek odpowiadających stanom poszczególnych zmiennych jest nieparzysta (I, 3, 5, ...), czyli gdy jest sumowana modulo
2 nieparzysta liczba jedynek. Związki manipulacyjne funkcji XOR są zestawione
w tabl. 4.3.
Zw1ĄZKJ MANIPULACYJNE FUNKCJI XOR. (ALB())
X1
X1
X
EB
EB
$
$
.~z
= Xi $
= Q
X2
Xz =X1
X2
X
x@X •
=
Xi
Ef)
Xz
a
Tablica 4.3
X1
0
x2
I
x$1 = .<
x$0=x
I $ I = O
1 $0= 1
o$ o= o
Jeśli x1
$ x1
=
y. to x1 E& y • x2 i x2 EB y
=
x,
Funkcja równo.fri XNOR (ang. EXCLUSIVE-NOR, EQUALI1Y, EQUIVALENCE, COINCIDENCE, poi. ALBO-NIE, w skrócie ALBO N) jest negacją
funkcji XO R:
y = x 1 0x 2 = x 1 $x 2 = x 1 x 2 V x
i opisuje
się
1x 2
predykatem
y = (x 1 = x 2 )
Funkcja XN OR przyj muje wartość logiczną I wtedy i tylko wtedy, gdy stany
logiczne zmiennych x 1 i x 2 są równe. Ma ona wiele nazw: WYŁĄCZ­
NIE- LUB- NIE, fu nkcja równoważności, fu11kcja parzystości (gdyż przyjmuje
stan l tylko wówczas, gdy jej argumenty zawierają parzystą liczbę jedynek:
0,2,4, ... , funkcja komparacji (układ realizujący tę funkcję nazywa się komparatorem).
Operatory nieboolowskie, zwłaszcza często używane symbole $ i 0 są
stosowane do zapisu form boolowskich w skróconej postaci. Należy jednak
zwrócić uwagę, że np. wyrażenie z = a$ b nie jest formą boolowską, a równoważne logicznie wyrażenie Z = iib V
już nią jest.
ao
99
4. PODSTAWY TEORII UKŁADÓW CYFROWYCH
Nazwy operatorowe służą głównie do skrótowego nazewnictwa funkcji,
stosowane jako operatory prefiksowe do opisu funkcji przełączają­
cych w postaci wyrażeń operatorowych. Na przykład, forma boolowska
są również
y = x1 x 2 v x3 x4 x 5
może być
przedstawiona w postaci
wyrażenia
operatorowego
Y = OR (AND (NOT (XI), X2), AND (NOT (X3), X4, X5))
Powstaje pytanie, czy z funkcji wymienionych w tabl. 4.1 i 4.2 można
utworzyć zbiory niewielu funkcji, umożliwiające realizację każdej funkcji przełą­
czającej. Otóż zbiory takie istnieją i nazywa się je systemami funkcjonalnie
pełnymi (SFP).
System taki definiuje się jako zbiór operacji, który umożliwia przedstawienie każdej funkcji przełączającej w postaci wyrażenia zawierającego
wyłącznie operatory wchodzące do tego systemu i który traci tę właściwość po
zmniejszeniu go o choćby jedną operację. Podstawowym SFP jest zbiór
boolowski {v,
ale istnieją również inne systemy, z których najbardziej są
znane:
a)
{v, - }, czyli funkcje OR, NOT (LUB, NIE); iloczyn otrzymuje się z prawa
De Morgana: x 1 · x 2 = x1 v i 2
b)
{
czyli funkcje AND, NOT (I, NIE); sumę otrzymuje się również
z prawa De Morgana: x 1 v x 2 = x1 • i 2
c)
{!}, czyli funkcja NOR (LUB- N IE, w skrócie LUN), zwana również
strzal/<4 Peirce'a; negację otrzymuje się z x ! x = x, sumę z x 1 l x 2 =
= x 1 v x 2 , iloczyn z x1 !x2 = x 1 ·x 2
d}
{I}, czyli funkcja NAND (I- NIE, w skrócie IN), zwana również kreską
Sheffera; negację otrzymuje się z x Ix = x, sumę zx, I x2 = x, v x 2 , iloczyn
z x 1 Ix 2 = x 1 · x 2
e)
{ó, l}, gdyż lóx = x, x 1óx 2 = x 1 ·x 2, x1ó x 2 = x 1 V x 2
f)
{=,O}, gdyż x = O= x,x1 =>x 2 = x 1 V x 2 , x 1 =>x 2 = x 1 · x 2
g)
{ => , - }, czyli system Łukasiewicza; sumę otrzymuje się z x1 => x 2 =
= x 1 v x 2 , iloczyn z x 1 => x2 = x 1 • x 2
Jak widać, podstawowy SFP jest nadmiarowy w sensie liczby stosowanych operatorów, gdyż wystarczą systemy (a) i (b). Na szczególną uwagę
zasługują systemy (c) i (d), gdyż umożliwiają one opis każdej funkcji przełączają­
cej za pomocą tylko jednego operatora. W praktyce oznacza to, że układ cyfrowy
realizujący każdą funkcję przełączającą można zbudować z „uniwersalnych"
elementów logicznych wykonujących operacje NOR (LUN) łub NAND (IN).
Było to wykorzystywane w początkach rozwoju mikroelektroniki, gdy podjęto
produkcję takich elementów, zwanych bramkami. Gdy później zaczęto wytwarzać wiele specjalizowanych układów scalonych o znacznym stopniu złożo­
ności logicznej, znaczenie tego wniosku stało się tylko teoretyczne.
„ -},
„ -},
100
4.1.
UKŁADY
KOMBINACYJNE
Rodzaje form boolowskich
4 .1.2
Funkcje przełączające mogą być przedstawiane analitycznie w wielu postaciach.
Ogólnie biorąc, są to formy boolowskie lub wyrażenia nieboołowskie (tzn.
wykorzystujące operatory nie zawarte w definicji algebry sygnałów binarnych,
p. 1.5), które są przekształcalne do form boolowskich. W związku z tym
ograniczymy się do opisu rodzajów form boolowskich. Najpierw jednak
wprowadzimy odpowiednie nazewnictwo.
Litera/em nazywa się symbol zmiennej (x) lub jej negacji (x). Jako
symboliczne oznaczenie literału przyjmuje się
x• = {x
e=
gdy
x gdy
I
e= O
gdzie e jest zerojedynkowym wskaźnikiem literału (a nie potęgą w sensie
matematycznym). Dla n zmiennych x" x2 ,„„x. można określić literały x~1.
x;z, „., x~· oraz najwyżej 2" = N wektorów wskaźnikowych o postaci
„
E, = (e11 ,e 2 „„ e.,J.
ke {O, I, 2, „„ N - I} = N
przy czym każdy wektor E4 e B" zawiera wyłącznie elementy zerojedynkowe.
Wyrazem lub termem iloczynowym (sumac)1nym) nazywa się iloczyn (sumę)
literałów, w którym (której) żadna zmienna nie występuje więcej niż jeden raz.
Iloczynem (sumą) pełnym (pełną) n zmiennych nazywa się term iloczynowy
(sumacyjny), zawieraj ący n literałów. Iloczyn (sumę) pełny (pełną) określa się
również jako kanoniczny wyraz iloczynowy (sumacyjny) lub krótko minterm
(maksterm). Liczba różnych mintermów (makstermów), które można utworzyć
dla funkcji n zmiennych, jest równa 2" = N . Nazwa minterm pochodzi stąd, że
przyjmuje on wartość logiczną I tylko przy jednym stanie wejść. Analogicznie
nazwa maksterm pochodzi stąd, że przyjmuje on wartość l dla wszystkich stanów
wejść, z wyjątkiem jednego. Na przykład, dla funkcji trzech zmiennych term
x1 x 2 x3 jest mintermem, a term x1 x 3 nim nie jest. Minterm x1 x 2 i 3 prLyjmuje
wartość 1 tylko przy X = (0, !, O). Analogiczny maksterm x 1 v x 2 v x3 przyjmuje
wartość I dla wszystkich stanów X z wyjątkiem stanu X = (!,O, !).
Do oznaczania mintermów przyjmiemy symbol
P.(X) = x~ u
x~21 „. x!•k,
ke N
Jak widać, wektor E• reprezentuje zerojedynkowo minterm P„ utworzony
z literałów. Wygodnie jest stosować oznaczenia Pk(X), gdzie liczba n umieszczona na pozycji wykładnika wskazuje na liczbę zmiennych. Podobnie wygodne
jest oznac-Lenie N. zamiast N.
Przyjmuje się konwencję, że wektor E1 po pominięciu przecinków
i nawiasów tworzy n-bitową liczbę dwójkową b1 w kodzie NB, przy czym litera
k reprezentuje wartość dziesiętną liczby b•:
101
4. PODSTAWY TEORII UKŁ.AOOW CYFROWYCH
Konwencja ta umożliwia łatwy, numerycmy zapis mintermów w postaci liczb b1
lub k. W tym celu literały zmieniamy następująco: każdy symbol x zastępujemy
przez O, a x przez 1. Na przykład, x 1 x 2 x 3 1-+ b1 = 100 2 1-+ k = 4io, czyli min term
x 1 x2 x3 = Pl(X) może być reprezentowany liczbą k = 4.
Aby taki numeryczny zapis mintermów był prawidłowy, niezbędne jest
uporządkowanie ich symbolicznego zapisu: literały w mintermach powinny
następować po sobie (od strony lewej do prawej) według wzrastających indeksów
zmiennych lub według alfabetu, jeżeli są użyte symbole literowe zmiennych. Np.
minterm P~ 6 = x 1 x 2 x3 x 4 Xs1-+ l 10!02 1-+ 2610 jest iloczynem uporządkowanym,
natomiast minterm P = x 1 x 3 x 2 x 4 xs , już nie jest, mimo że pod względem
logicznym te obydwa wyrażenia są równoważne.
Minterm P1 (X;) przyjmuje wartość I tylko dla j = k. Na przykład, dla
X 13 = E 13 = 01101 mamy P 13 (X 13 ) = 0° · 11 · 11 ·0° · 11 = I· I· 1·1·1 = 1, natomiast dla tego samego wektora E 13 = O11 OI i X 2 s = li 001 # X 13 otrzymujemy P 13 (X 2 sl = 1°· 11 ·01 ·0°·1 1 = O· l ·O· l ·I= O.
Maksterm definiuje się następująco:
S,(X) ~ P. (X)
Stosując
uogólnione prawo de Morgana otrzymujemy
S1(X) = xfu vxj2• v ... v x!•>,
keN
przy czym s.(X1) = O i S1 (Xi) = I dla każdego j 'I k. Można również stosować
symbol S;(X).
Dla danych z poprzedniego przykładu przy X 13 = E 13 = 01101 mamy
S13 (X 13 ) = 0 1 v 1°v ! 0 v O' v 1° = Ov Ov Ov Ov O = O.
Podkreślmy, że każdy możliwy minterm P,(X) bądź maksterm S,(X) jest
wyrazem symbolicznym, zawierającym wyłącznie literały, natomiast przy
X= X iUeN) każdy minterm P,(X) bądź maksterm S, (X1) staje się równy
O lub I.
Rozłożeniem (rozbiciem) sumacyjnym funkcji przełączającejf(x 1 ,x 2 , .. •, x,)
względem zmiennej x 1 nazywa się działanie
f (x t> x 2 , •.. , x,) = x,f(I , x 2 , ... , x,) v x1f(O, x 2 , „., x,).
Podstawiając zamiast x 1 kolejno O i I do obydwu stron tej równości
otrzymuje się tożsamość. Na przykład, przy rozłożeniu funkcji
f(x 1 , x 2 ) = x 1 x 2 VX1 = x 1 (x 2v 0) Vx 1 (0 v I)
przyjmując
102
x 1 = O otrzymujemy J
= I, a przy x 1 =I otrzymujemy x 2 = x„
4.1. UKLAOY KOMBINACYJNE
Proces rozkładania można w podany sposób kontynuować względem
następnej zmiennej (np. x 2). Wówczas każdy wyraz poprzedniej sumy rozkłada
się na dwa
v x1x 2/(0, I, x 3„ ..,x.) v x1.i2/(0,0, x 3, „.,x.)
co dla poprzedniego przykładu daje sumę mintermów
gdyż/(1, I) =/(O, I) = f(O, O)= I i /(I , 0) = O.
Rozłożen ie sumacyjne funkcji pnełączającej względem
nych tej funkcji zapisuje
wszystkich zmien-
się następująco
2"- t
/(xpx 2, ... ,x.) =
V (x~ax~2• ... x~·>)/(X,)
t =O
albo krócej
2" - 1
V
f(X) =
P,(X)f(X.)
Taką formę boołowską, stanowiącą sumę min termów, nazywa się kanoniczną formą sumacyjną. Każdą funkcję przełączającą można przedstawić w tej
postaci. Oczywiście w tej sumie występują tylko takie mintermy P•,d la których
f(X J = 1, gdyż P, ·O = O. Wprowadzając zbiór T(z ang. 1rue - prawdziwy) liczb
k taki, że
T = {k :f(X,) = I} s;; N
kanoniczną formę sumacyjną można opisać wyrażeniem
l 1T
a także określić funkcję / 1 w postaci
f,:T-J
Wygodnie jest stosować oznaczenie T. zamiast T, gdyż wskaźnik 11 bezpośrednio wskazuje na liczbę zmiennych. Np. przy n = 3 może być T = (O, I, 3}, co
mogłoby się odnosić do dowolnego n ;;ii 2, natomiast oznaczenie T3 = {O, I, 3}
usuwa tę niejednoznaczność.
Jeśli
V /(X,) =
1, czyli forma boolowska n zmiennych zawiera N minter-
t • l'I
mów, to znaczy
103
że
T= N i wtedy f( X) - I.
4. PODSTAWY TEORII
UKŁAOOW
CYFROWYCH
Opisany poprzednio sposób numerycznego zapisu mintermów poprzez
podanie odpowiednich liczb dwój kowych b lub liczb dziesiętnych k, znacznie
ułatwia zapisanie kanonicznych form sumacyjnych. Na przyklad, funkcję
f(X) = x1 x2 X3 V x1 x2 x3 vx1 x2 x 3 v x1 x 2 x 3 można zapisać w postaci zbioru liczb
dwójkowych T8 = {OOO, 100, 101, 111} lub jeszcze krócej, w postaci zbioru
Trównoważnych liczb dziesiętnych: T3 = {O, 4, 5, 7} c N3 .
Zdefiniujmy zbiór F (z ang. fa/se -
fałszywy) następująco
F = {k:f(Xk) = O} s: N
Podobnie jak oznaczenie T,,, również oznaczenie F. jest precyzyjniejsze niż F,
gdyż bezpośrednio wskazuje na liczbę 11 zmiennych funkcji f
Funkcję przełączającą określa się jako zupełną, jeśli spełniony jest
warunek Tv F = N, czyli F = T'. Zwróćmy uwagę, że istnieje implikacja
(Tv F = N)= (X = B"). Negacja ·zupełnej funkcji przełączającej opisuje się
zatem formą
J(X) =
Zbiór F
V Pk(X),
F = T'
umożliwia też określenie
funkcji
f 0 :F-l
Dla funkcji
zupełnych słuszna
V f 1 (X) vf 0 (X) =
x.x
jest
zależność
1
Przy stosowaniu numerycznego zapisu kanonicznej formy sumacyjnej
zmiennych, całkowitym liczbom dziesiętnym k z przedziału [O, N - I ],
określającym kolejne min termy, można przyporządkować jedynki na odpowiednich pozycjach w nowej N-bitowej liczbie dwójkowej B., zwanej liczbą charakterystyczną zupełnej funkcji pnelączającej . Liczbę tę można również przedstawić
w postaci dziesiętnej (LJ lub szesnastkowej (H.) otrzymując w ten sposób
najkrótszy zapis zupełnej funkcji przełączającej o niewielkiej liczbie zmiennych.
11
Przykład. Określić
liczby charakterystyczne dla funkcji
rem T3 = {O, 4, 5, 7}.
Określamy przyporządkowania
765432 1 0
!
! !
!
B3 = I O I I O O O 1
a zatem L 3 = 177 i H 3
104
= Bł.
określonej
zbio-
4.1. UICł.AOY KOMBI NACYJN E
Program Zapis w języku Turbo Pascal, przedstawiony obok, umożliwia
szybkie określenie liczb B, L i H dla zadanego zbioru T.
Można również postępować odwrotnie, to znaczy określać zbiór T na
podsta wie zadanej liczby charakterystycznej.
Przykład. Określić kanoniczną formę sumacyjną
dla funkcji
przełączają­
cej o liczbie charakterystycznej L 3 = 27.
Przedstawiamy liczbę 27 jako liczbę dwój kową
27
=
16 +8+ 2+1
czyli
83 = O O O I I O I I
l !
! !
7 6 5 4 3 2 I O
Stąd
T3 = {O, l, 3, 4} czyli f(X) =
x1 x2 i 3 V i 1 -~ 2 x 3 V i x 2 x 3 V X 1 i 2 i 3.
Wykorzystuj ąc
uogólnione twierdzenie De Morgana (p. 1.5) możemy
zapis zupełnej funkcji przełączającej f(X) także w postaci iloczynu
makstermów, zwanej kanoniczną formą iloczynową
otrzymać
f(X)
=
fl S.(X),
F = T'
keP
Wynika stąd zasada równoważności form kanonicz nycli, według której dla każdej
kanonicznej formy sumacyjnej, opisującej zupełną funkcję przełączającą, można
określić równoważną kanoniczną formt;: iloczynową według wzoru
V P.(X) = n s.(X)
lceT
jeśli
F = T'
łe F
Przykład. Określić rów noważne
formy kanoniczne dla
przełączającej
opisanej liczbą charakterystyczną H 3
Przedstawiamy liczbę 1C 16 jako liczbę dwójkową
=
zupełnej
I C.
00011 1 00
! ! !
7654 3210
czyli T3 = {2, 3, 4} i F 3
= N 3 -T3 = {O,
l , 5, 6, 7}
Zatem
/(X)= X 1X2X3 Y X1X2X3 V X1X2X3 = (x, V X2 V X3) (x , V xz V .X3) ·
·(x, V x2 V i3)
105
(.X , V i2 V X3)
(i, V i2 Y X3)
funkcji
pr oP'a• Zapi s ;
( Obllc:z..a l i c zby char ekt ery1tyc s ne 8 , L, H :z.up•łnej funkcji
przeła c zej a cej dl o s oda nero z bioru T o nojwytej 32 111„nt•ch )
ueea Crt:
ver
••tot
r
otrlnc ! 2 J:
p
q
etrln• (•J:
otrlnc( IO):
•u
atrl D•( 32) i
orr_, I 1. . 32 I of byte ;
l nt•1•r :
booleen ;
a, b, c, d, l, k
f
berin
GoToXY(3, 8 ) ;
Ct rScr;
t
:•
o.. l l i
t
() :
Wrlte ł n('Wpie:z. elementy ib loru T (koniec wpiaywenie: Enter)
Writeln ;
repea t
Re ad l n(r);
Val(r , o, b);
if b • o tbea t =• t + l • I :
untll '> > o;
ClrScr; TextCo l or(81 oc k ); Text 8ack,-rou.nd( Wbite) ;
Write (' El e-enty zbior u T: ');
for o :. O to 31 do
if o ln t theo Wr lte ( a .
');
NoniVideo ;
{ Obllc:z.enle ll c s by 8 )
Gol'OXY( l, S ); Hl a bVlde o:
Vrite l n ('Llczby c bar okt ery at y czne funkcj i przeł aczaj a cej:•):
Wrl t e lo ;
Write ( ' B • • );
FillCbar( a, SizeOf ( a ) , '0') ; t :•folie;
for a : • O to 31 do
lf o int tben 1 (32 - a ) l • ' l':
k : • O;
repeat k : . Succ (k) unt ll 1 (k ) • 'l ' ;
for i : • k to 32 do
bellD
Write(a(l ) )i u (I) :• Ord(a(I)) - •8
Write l n;
{
Oblicze ni e
d :a 10;
q
:•
end;
l lc~by L
I
I:
repeat
t
:. false;
for i
=•
b ! • 1;
k t o 31 do
be(iD
abl 1 + u ( 1 + 1) :
l f o < 10 then be1l a b : • a ;
if a >• 10 t .be n
a :• b
beCiD
b :a 4 - 10;
u(i + l) : . 1;
if not t tb•n c : • i + l i
f
:.
true
end; .
end;
k :a c ;
q[dJ :. Chr(b + • &) ;
d :• Pred(d);
unt11 f • fo l se;
Wri teln( ' L • • , q) :
( Obllc:z.enl e li csby H )
Write('H • '): f : • t o l ae ;
for e : • o to 7 do
begin
b : • O;
p
:. Copy( a, e ebl 2 + 1, • );
for i
: a ~ dowo.to 1 do
be(ln
c : a Ord (p(l)J - •a:
b :. b + c •bi
l)
end ;
ił b > O then. f : . t rue;
if (b • O) all<I f t ben Wr l t o('O ' );
t t b in ( 1 . . 9) ~ben Write(b)i
if b > 9 tben Wrlto(Chr(b + 5 5 ))
<• -
end; NormVt deo ;
end.
u(l +l) : . O end ;
' );
4.1.
UKŁADY
KOMBINACYJ NE
Przedstawienie funkcji przełączającej w kanonicznej formie iloczynowej
można także uzyskać stosując iteracyjnie rozłożenie (rozbicie) iloczynowe tej
funkcji. Dla rozłożenia
ceniem
f(x,, x 2
, •.•,
względem
jednej zmiennej (x 1) opisuje
x.) = [x 1 v f(O, x 2
, .•• ,
x,,)) [.X 1 v f(J, x 2
, ... ,
się
to
przekształ­
x.))
Przykład.
= (x1 V J) (.X 1 V X2) = X 1 V X 2
X2)
= x 1x2 V i
1
Stosując
powtórne
rozłożenie względem
f(x,, Xz)
= (Xz V .X,)
f(xl>
x 2 otrzymujemy
(.X2 V J) =i, V X2
W tym przypadku kanoniczna forma iloczynowa jest bardzo prosta i zawiera
tylko jeden makstcrm. Identyczny wynik otrzymuje się po zastosowaniu wzoru
opisującego kanoniczną formę iloczynową, gdyż, jak można zauważyć we
wcześniej podanym przykładzie rozbicia sumacyjnego tej funkcji, T2 = {O, I, 3}.
Ponieważ N, = {O, 1, 2, 3}, zatem Fz = {2}. Stądf(x,, X2) = s~ (X) = i, V Xz.
W pewnych formach boolowskich występuj ą również iloczyny lub sumy
niepełne, to znaczy takie, w których Liczba literałów jest mniejsza od liczby
zmiennych. Ogólnie biorąc, postać funkcji przełączającej stanowiącą sumę
iloczynów (pełnych lub nie) nazywa się formą sumacyjną (normalną postacią
sumy), a stanowiącą iloczyn sum (pełnych lub nie) nazywa się formą iloczynową
(normalną postacią iloczynu). Forma kanoniczna stanowi zatem szczególny
przypadek for my boolowskiej.
Wzór Shannona stosuje się do każdej formy boolowskiej, a więc
niekoniecznie kanonicznej. Dla formy z podanego przykładu otrzymuje się
wynik niemal automatycznie
f(x 1, x 2 ) = x 1 x 2 v .x 1 =
(x 1 v i 2)x 1 =
x 1i 2 =
x1 v x 2
Jak podano wcześniej, fun kcję przełączającą nazywamy zupełną, jeśli
Tv F = N. M ogą jednak zaistnieć sytuacje, gdy na wejściach układu kombinacyjnego nie występują wszystkie możliwe stany wejściowe lub gdy stan
sygnału wyjściowego y 1 układu nie jest określony Gest obojętny) przy pewnych
stanach X/ Wówczas funkcję przełączającą możemy opisać przez zredukowanie
dziedziny funkcji.f;(X) do pewnego zbioru X, c B", zawieraj ącego tylko te stany
wejść, dla których funkcja przełączająca przybiera wartość Olub I. Taką funkcję
przełączającąf;I X, : B" -> B nazywa się częściową (p. 1.4). Drugim sposobem opisu
tej sytuacji jest nie redu kowanie dziedziny funkcji, lecz rozszerzenie jej przeciwdziedziny o nieokreślony stan wyjściowy układu. Mówimy, że funkcja przełącza­
jąca jest niezupełna, gdy jest spełniony warunek Tv F # N i istnieje niepusty
zbiór D takich liczb k (określających wektory Ek), dla których wartość funkcji
przełączającej jest równa Olub I. Ten „dowolny" stan oznacza się w literaturze
107
4. POOSlAWY
Tł ORll U KŁ.AOOW CYFROWYCH
symbolami „ x " (krzyżyk), „ - " (kreska), „~ " (przekreślone zero) lub literą „d"
(don't care - nie troszcz się). Stosując symbol d zbiór D definiuje się jako
D = {k:f(X,) = d} c N,
Spełnione są zależności
TuF u D - N
oraz
przy czym funkcja fAX) jest zdefiniowana jako
J,,:D- 1
lub
J,,(X) =
V P, (X)
natomiast funkcja
niezupełna
h jako
h: B" - {O, l, d}
Nie-lupelną funkcję przełączającą
pomocą
dowolnych dwóch
spośród
h można zatem jednoznacznie opisać za
trzech zbiorów T, F, D lub dwóch z trzech
funkcji / 1, / 0 , J,,.
W szczególnym przypadku, jeżeli liczba eleme ntów zbioru D jest większa
niż liczba elementów zbiorów Ti F, to taka funkcja niezupełna jest nazywana
funkcją słabo określoną.
W praktyce zbiór D jest z reguły włączany częściowo lub w całości do
zbioru T. Zależy to od potrzeb wynikających z procesu minimalizacj i formy
boolowskiej reprezentującej funkcję /(X) (p. 4.1.3). Jeżeli zbiór D włączymy do
zbioru T, albo do zbioru F, albo częściowo do zbioru Ti częściowo do zbioru
F, to wówczas funkcja przełączająca niezupełna przekształca się w zupełną.
Przyjmując
x• =
w miejsce poprzedniej
nową konwencję
xgdye = I
i gdy e = O
{
x v i = l gdy e = x (stan dowolny)
można rozszerzyć
zapis numeryczny formy sumacyjnej w ten sposób, aby
każdemu znakowi x w zapisie wektora Et odpowiada! znak x w odpowiedniej
liczbie dwójkowej b,. W ten sposób można przedstawiać numerycznie również
iloczyny niepełne, np. dla wektora Ek - (l , O, x, I, x, O) otrzymujemy zapis
b, = lOx I xO, który w istocie reprezen tuje zbiór czterech liczb dwójkowych:
{100100, 1001 IO, 101100, 101110}. Odpowiedni iloczyn niepełny ma postać
x 1x2 1x,li 6 = x 1i 2 x,i 6 .
108
4.1.
UKŁADY
KOMBINACYJNE
PR.ZYKlAD TABLICY STANÓW l''UNKCJI
Tablica 4.4
CZTERECH Z:MIEN'NYCH
Stan
X1X2 X 3 X4
y
o
o oo o
I
2
3
OOO I
OO1 O
OO1 I
O I OO
O I OI
O I 1O
O I 1 I
I OOO
I OO1
I O I O
I O I I
I 1OO
I 1O1
I I 1O
I I 1 1
o
o
o
d ( = 1)
o
o
o
I
o
o
4
5
6
7
8
9
IO
11
12
13
14
15
I
d ( = O)
o
o
d ( = I)
do kanonicznej formy sumacyjnej są również włączone wyrazy
pochodzące ze zbioru D, to w zapisie numerycznym liczby odpowiadające tym
wyrazom umieszcza się w nawiasach. Na przyklad, w zbiorze T8 = {01 11, 1010,
1011, (0011, 1111)} i w równoważnym zbiorze T4 = {7, 10, li, (3, 15)} liczby
umieszczone w nawiasach pochodzą ze zbioru D. Odpowiada to tablicy stanów
funkcji y = f(X) pokazanej w tabl. 4.4.
Jak można było zauważyć, operacjom na algebrze sygnałów binarnych
odpowiadają operacje na algebrze zbiorów. Na przykład, jeśli
Jeżeli
f1(X)
=
V P,(X),
T{ = F 1 i
to
f2(X) =
V P,(X),
Tź = F 2 ,
istnieją związki
1, (X) =
v P,(x) = n s.cx)
keF,
h<XJ =
k• T 1
v P,(X) ns.cx)
=
ke Pi
kET 1
koT 1v T 1
11 ex) I 2<X) =
109
v
.1i:e1·,,.....1· 2
P,(X) =
n
~F, v F 1
s.cx>
4. PODSTAWY TEORII UKlA00W CYFROWYCH
Minimalizacja form boolowskich
4.1.3
Proces przekształcania form boolowskich, w celu otrzymania możliwie najprostszych postaci końcowych, jest ok reślany jako ich minimalizacja. Najczęściej
stosowane kryterium minimalizacji wynika z dążenia do minimalizacji kosztu
projektowanego układu i formułuje się następująco:
I)
minimalna forma sumacyjna (iloczynowa) zawiera minimalną liczbę
iloczynów (sum), oraz
2)
żaden z iloczynów (sum) nie może być zastąpiony przez inny o mniejszej
liczbie literałów.
Jest to minimalizacja koncepcyjnie najprostsza - dwupoziomowa, czyli
ograniczona do poszukiwania najprostszej struktury logicznej AND-OR (lub
OR-AND), zwanej również strukturą PLA (Programmed Logic Array, p. 8.5.1.).
Do oszacowań liczbowych stosuje się wskaźnik złożoności formy boolowskiej, stanowiący sumę liczby termów i łącznej liczby tworzących je literałów.
W celu minimalizacji kosztu projektowanego układu, wskażnik ten powinien być
jak najmniejszy.
Najprostszą metodą minimalizacyjną, stosowaną tylko dla funkcji o malej
liczbie zmiennych (najwyżej 4-6), jest grafie-ma metoda siatek Karnaugh, przedstawiona w p. 4.1.3.l. Jest ona łatwa w użyciu i ma duże walory dydaktyczne.
Do minimalizacji form o większej liczbie zmiennych stosuje się metody
tablicowe, realizowane przez odpowiednie programy komputerowe. Klasyczną
metodą tablicową jest metoda Quine'a-McCluskeya (w skrócie Q- M) (3, 4),
opisana również w [5, 6, 9- 12, 15] oraz w poprzednich wydaniach niniejszej
książki. W metodzie tej, jak również w innych podobnych metodach opisanych
w literaturze (np. CAMP (15)), wymaga się aby forma podlegająca minimalizacji
była na początku przedstawiona w postaci sumy min termów czyli jako kanoniczna
forma sumacyjna. Stąd metody takie określa się jako „oparte na mintermach".
Podane wymaganie stanowi istotne ograniczenie przy minimalizacji form
o dużej liczbie zmiennych. Jeśli na przykład w formie sumacyjnej 20 zmiennych
występuje term dwuliterałowy, to musiałby on zostać przekształcony do sumy
2 18 mintermów aby zastosować metodę Q- M lub podobną. Oznacza to duże
obciążenie komputera i długi czas przetwarzania. Dlatego stosowanie metody
Q-M jest ogranicwne do form o najwyższej 10-12 zmiennych.
Wady tej nie mają nowsze metody minimalizacji, które wykorzystują
reprezentację form boolowskich w postaci „kostek" (cubes), które mogą być
przetwarzane bezpośrednio. Najbardziej znanymi metodami„opartymi na kostkach" są metody użyte w programie ESPRESSO (5, 14-23] (p. 4.1.3.2).
Dalej przedstawione są podstawowe pojęcia i ogólny sposób postępowa­
nia przy minimalizacji form boolowskicb.
Mówimy, że funkcja boolowska g implikuje inną funkcję boolowską f
(w zapisie g = f), jeśli dla każdej kombinacji zmiennych, dla której g = I,
110
4.1.
UKŁADY
KOMBINACYJNE
otrzymuje się/= I (ale niekoniecznie odwrotnie). Określenie „implikuje" pochodzi
od nazwy funkcji implikacji (por. tabl. 4.2), wprowadzonej pierwotnie jako
działanie w rachunku zdań (p. I. I). Jeśli g =>f, to funkcję g nazywamy implikantem
funkcji/. W szczególności każdy iloczyn bądż suma iloczynów, wchodząca w skład
sumacyjnej formy boolowskiej, jest implikantem funkcji opisanej tą formą.
W odniesieniu do zbioru T, odpowiada to inkluzji każdego podzbioru H ~ T
Prostym implikantem funkcji boolowskiej n zmiennych,/, opisanej formą
sumacyjną, nazywamy iloczyn p zawierający m literałów, m ~n, będący implikantem funkcji/, czyli p = f, lecz który po odrzuceniu jakiegokolwiek literału
przestaje być implikantem.
Na przykład w funkcji f = x1 vx1 x 2 literał xdest implikantem prostym,
natomiast x1 x 2 nie jest implikantem prostym, gdyż zmienna x 2 może być
odrzucona nie zmieniaj ąc funkcji przełączającej f.
Załóżmy, że funkcję boolowską można przedstawić w postaci /= h v g,
gdzie h jest sumą boolowską implikantów prostych i g jest implikantem
nieprostym, stanowiącym iloczyn literałów. Zatem można znaleźć taki iloczyn
g*, że dla pewnej zmiennej x, będzie albo g = x1g*, albo g = x,g*, przy czym
g* =>f. Również g => g*, gdyż dla tych kombinacji argumentów, dla których
g = l, również musi być g* = I. Zatem możemy zastąpić g przez g* o liczbie
literałów o jeden mniejszą. Postępowanie to można kontynuować tak długo,
dopóki nie otrzyma się implikanta prostego.
Każdą formę boolowską można przekształcić do postaci sumy zawierają­
cej wyłącznie implikanty proste.
Jak wyżej wspomniano, do celów minimalizacji można przedstawić
funkcję boolowską n zmiennych w postaci n-wymiarowej kostki (n-kostki).
Każdy wierzchołek n-kostki reprezentuje jeden z 2" możliwych mintermów
i może być oznaczony przez liczbę dwójkową bk (np. lOOl)lub równoważną liczbę
k (np. 9). Funkcję boolowsk ą można przedstawić na n-kostce przez zaznaczenie
wszystkich wierzchołków, dla których ke T. Przy funkcji niezupełnej należy
odrębnie oznaczyć wierzchołki, dla których k e D.
Definiujemy i-{sub)kostkę jako zbiór 2' wierzchołków n-kostki, opisaną
przez n - i zmiennych. Każdy wierzchołek n-kostki stanowi zatem O-kostkę,
opisaną przez n zmiennych (minterm). Krawędź łącząca dwa sąsiednie wierzchołki stanowi I-k ostkę, opisaną przez n - I zmiennych. Dwa wierzchołki nazywamy
sąsiednimi, jeśli oznaczające je liczby dwójkowe różnią się na tylko jednej pozycji.
Sumę takich dwu rnintermów można zastąpić jednym iloczynem niepełnym
w wyniku redukcji jednej zmiennej (x v x = I). Jest to podstawowa czynność
w procesie minimalizacji.
Podobnie 2-kostka jest kwadratem, 3-kostka sześcianem itd. Na przy2
kład, na 3-kostce można wyróżnić 2 3 = 8 wierzchołków (O-kostek), 2 x 3 = 12
krawędzi (I-kostek) i 2 1 x 3 = 6 boków (kwadratów, 2-kostek), co ilustruje
rys. 4.3a.
111
4. PODSTAWY TEORII UKŁADÓW CYFROWYCH
a
b
3(0111
3
7 (111 1
7
+"
+'
sno11
I
I
•2
I
2!0101~/
01000 )
-·
4(100 )
x
/
6
/
/
1
><
2)--~
611101
/
/
„
5
X
o
• T
XD
Rys. 4.3ab. Geometryczna reprezeniacja funkcji boolowskiej
trżech
zmiennych
a) Ił-kostka dla tri«b zmX:nnyt"h
b) oznaczenie preykładowej runktji nic:zupdnej
Przykład
T3
pokazany na rys. 4.3b ilustruje
funkcję opisaną
zbiorami
= {O, 4, 6, 7} i D3 = {3, 5}. Jak widać, dwa mintermy (O-kostki) z sąsiednich
wierzchołków Oi 4 można zastąpić jednym iloczynem niepełnym (I-kostką)
x2 x3 •
Mówimy, że I-kostka pokrywa (zawiera) dwie O-kostki. Podobnie cztery O-kostki
4, 5, 6, 7 (po włączeniu min termu 5 do zbioru T) są pokryte przez jedną 2-kostkę
x1 . W ten sposób można uzyskać formę minimalną o postaci x2 x3 v x1
i wskaźniku złożoności równym 5 (dla porównania, kanoniczna forma sumacyjna tej funkcji ma współczynnik złożoności równy 16).
W ogólnym przypadku, jeśli kostka c1 pokrywa (zawiera) kostkę c1, to
zapisujemy to w postaci c1 ~ c1 . Kostka C; jest imp/ikantem funkcji f, jeśli
C; s;; Tv D. Kostka prosta (implikant prosty) jest taką kostką c,, która nie jest
pokryta przez żadną inną kostkę w n-kostce. W przykładzie z rys. 4.3b żadna
z czterech O-kostek O, 4, 6, 7 nie jest kostką prostą, natomiast trzy !-kostki (O, 4),
(4, 6) i (6, 7) są kostkami prostymi, jeśli min term 5 nie jest włączony do zbioru T.
Po tym włączeniu I-kostki (4, 6) i (6, 7) nie są już kostkami prostymi, ponieważ są
pokryte przez 2-kostkę (4, 6, 7, 5).
Zbiór C = {c 1 c 2 , .„, c.} kostek zawartych w n-kostce stanowi pokrycie
funkcji boolowskiejf,jeśli te kostki zawierają wszystkie wierzchołki wyznaczone
przez zbiór T, ewentualnie pewne wierzchołki wyznaczone przez zbiór D, i nie
zawierają żadnych wierzchołków wyznaczonych przez zbiór F. Pokrycie proste
zawiera wyłącznie kostki proste. Istotna prosta kostka (istotny prosty implikant)
jest taką kostką prostą, która zawiera O-kostkę (minterm) nie zawartą w żadnej
innej kostce prostej. W przykładzie z rys. 4.3b I-kostka (O, 4) i 2-kostka (4, 6, 7, 5)
są istotnymi prostymi kostkami.
Zbiór wszystkich istotnych implikantów prostych danej funkcji boolowskiej nazywa się jądrem. Nieredukowalna forma boolowska, określona dla danej
funkcji przelącwjącej, stanowi taką sumę implikantów prostych, że wyrażenie
112
4.1 . U KlAOY .C:OMBINACYJNE
otrzymane po odrzuceniu któregokolwiek z nich nie reprezentuje już tej funkcji.
W ogólnym przypadku, dla danej funkcji można otrzymać więcej niż jedną
nieredukowalną formę boolowską, ale każda z nich zawiera to samo jądro.
Ogólna procedura minimalizacji formy boolowskiej przy niewielkiej
liczbie zmiennych zawiera następujące, kolejne czynności:
określenie zbioru wszystkich prostych implikantów, czyli pokrycia prostego,
określenie zbioru istotnych prostych implikantów, czyli jądra,
określenie zbioru nieredukowalnych form boolowskich,
w oparciu o przyjęte kryterium minimalności wybranie jednej z nieredukowalnych form boolowskich jako formy minimalnej.
W ogólnym przypadku forma minimalna zawiera jądro oraz pewien
podzbiór implikantów prostych, nie będących istotnymi.
Siatki Karnaugh
4.1.3.1
Przedstawienie graficzne funkcji przelączającej w postaci odpowiednio oznaczonego wykresu, umożliwiającego proces minimalizacji, zostało najpierw zaproponowane przez E. W. Veitcha w 1952 r. Modyfikacja tej metody, opracowana w 1953 r. przez M. Karnaugh (czyt. kano) [ I], jest ogólnie stosowana pod
nazwą siatek (tablic, map) Karnaugh jako najprostsza metoda minimalizacji
form boolowskich o niewielkiej liczbie zmiennych.
Siatka Karnaugh jest uporządkowaną strukturą prostokątną, złożoną
z prostokątów elementarnych (kratek), z których każdy reprezentuje jeden
mintenn. Przy n zmiennych siatka Karnaugh zawiera 2" kratek, obejmując
wszystkie możliwe min termy. Rozkład kratek jest taki, że dowolne dwie sąsiednie
kratki (tj. stykające się bokami) różnią się stanem tylko jednej zmiennej (zasada
kodu Graya). Na rys. 4.3 przedstawiono przykłady siatek Karnaugh dla 11 = 2,
3 i 4.
Podana wyżej właściwość siatki Karnaugh, dotycząca dwóch sąsiednich
kratek, dotyczy tylko kratek mających wspólne boki. Drugą istotną właściwości
siatki Karnaugh jest to, że każda kratka siatki styka się swymi bokami z tyloma
różnymi kratkami sąsiednimi, ile wynosi liczba zmiennych. W odniesieniu do
kratek położonych na brzegach siatki oznacza to, że górny i dolny wiersz oraz
podobnie lewą i prawą kolumnę brzegową siatki można uważać za sąsiednie.
Można sobie zatem wyobrazić, że siatka Karnaugh jest w rzeczywistości
oklejona z czterech stron odpowiednimi wierszami (kolumnami) brzegowymi
z przeciwległej strony siatki. Ogólnie można powiedzieć, że siatka Karnaugh jest
otoczona ze wszystkich stron (włączając rogi) takimi samymi ośmioma siatkami.
Poszczególne mintermy aa siatce Karnaugh oznacza się przy użyciu
zapisu, w którym zmienne proste zastępowane są cyfrą I, a zmienne zanegowane
cyfrą O, np ABCD1-+0l11 2 1-+7 10 • Linia skośna w lewym górnym rogu i od-
113
4. PODS TAWY TEORII UJ<lAOOW CYFROWYCH
o
AB
o
o
o
1
1
i\ii
AB
2
3
AB
AB
1
b
c
A
Ol
11
10
oo
1
o
3
2
oo -- - ABCO iiiico iiiico i\ il co
n ~2
A BC
o
1
co
oo
01
ii iic
iisc
ABC ABC
A~ l:
ABC
ABC ABl:
n,J
11
10
01
11
10
4
5
ABCO
li B~ O
13
12
7
6
AB(O ABCG
15
14
ABCO ABCD ABCO ABC D
8
9
11
10
ABCÓ ABCD ABCO ABCD
Rys. 4.4. Siat ki Karnaugh d la n zmie oaych
a) n = 2, b) n
= ), ć) n c
4
powiednie symbole literowe wskazują, że np. na siatce z rys. 4.4c zmienne A i B są
reprezentowane zapisem dwójkowym z lewej strony siatki (w odniesieniu do
odpowiednich wierszy), przy czym lewa cyfra reprezentuje A, a prawa B. Zmienne
Ci D są reprezentowane podobnie na górze siatki (w odniesieniu do odpowiednich kolumn), przy czym lewa cyfra reprezentuje C, a prawa D. Liczby
umieszczone w kratkach siatek z rys. 4.4 reprezentują równoważniki dziesiętne
odpowiednich mintermów.
Funkcję przełączającą, zapisaną w kanonicznej formie sumacyjnej, oznacza się na siatce Karnaugb przez wpisanie cyfry I w kratkach odpowiadających
wszystkim min termom sumy. Kratki nie zajęte oznacza się cyfrą Olub pozostawia
się puste. Jeżeli dana funkcja jest funkcją niezupełną, to mintermy należące do
zbioru D oznacza się na siatce Karnaugh symbolami „ x ", „ - ", „0" lub „d" .
W poniższych przykładach będzie stosowany symbol ( - ).
Właściwy proces minimalizacji polega na „sklejaniu" sąsiedniobocznych
kratek oznaczonych symbolem „I " lub „ - " w możliwie największe pola
prostokątne (k-kostki), zawierające 2" kratek (k = I, 2, ...). Pola takie, które
obwodzi się linią ciągłą, reprezentują implikanty (kostki) proste. Ogólnie na
siatce Karnaugh implikant prosty określa się jako zgrupowanie kratek, które nie
może być włączone w całości do jeszcze większego zgrupowania. Owie sąsiednie
kratki jedynkowe (I -kostka) wskazują na zbędność jednej zmiennej, zgodnie
z zasadą ABv AB= A, np. A°lłCl> v A'BCTJ = A'BD(Cv C) = ABD (rys. 4.5).
Podobnie pole zawierające cztery zajęte kratki (2-kostka) oznacza możliwość
wyeliminowania dwóch zmiennych, np. ABCDv ABCD v ABCD v ABCD = if.D
(rys. 4.5). Przedstawiona na siatce forma przykładowa, zawierająca osiem
mintermów, sprowadza się do zbioru pięciu implikantów prostych. Różne pola
mogą się wzajemnie pokrywać gdyż, jak wiemy, x v x = x.
Aby określić, czy implikanty proste otrzymane na siatce Kamaugh są
implikantami istotnymi, posługujemy się następującym twierdzeniem: jeśli
114
4.1. UKŁAOY KOMBINACYJ NE
A
co
oo
01
11
oo
1
1
01
1
1
11
1
10
1
10
1
G:::
-- YADv BCO v ACDv AB C
Y;ABO
'ABO v AO v ABC
Rys. 4.5
Minima.lizacja formy
Y = ABCDv ABCDv ABCDv
v ABCDv ABCDv ABCDv
v ABCDv ABCD
przynajmniej jedna kratka w polu reprezentującym dany implikant prosty nie jest
również objęta polem należącym do innego imp/ikanra prostego, to taki implikant
prosty jest istotny. Zatem jądro dla funkcji z rys. 4.5 tworzą dwa istotne
implikanty proste: ABD i AD. Pozostałe trzy implikanty proste nie są istotnymi.
Zbiór nieredukowanych form boolowskich zawiera dwie formy:
y = ABD V AD V BCD V ACD = ABD V AD V ABC
i od razu widać, że druga z nich jest formą minimalną.
Ogólnie, obecność na siatce 2k sąsiednich kratek jedynkowych oznacza
możliwość eliminacji k zmiennych, pod warunkiem, że kratki te tworzą pole
prostokątne. Oznacza to utworzenie k-kostki.
Inny przykład stosowania siatki Karnaugh do minimalizacji form
boolowskich zilustrowano na rys. 4.6. Celem jest minimalizacja formy sumacyjnej f = Xi XzX3 V X1Xz X4 V X1 XzX4 V X1XzX3X4 V X1XzX3X4 V X1 X2X3X4 V
V x 1 x 2 x 3 x4 V x 1 x2 x3 x4 . Oznaczenie zajętych kratek na siatce Karnaugh realizuje się po przekształceniu pierwszych trzech składników tej sumy w odpowiednie
mintermy, tj. x1 x2 x3 = x1x2x3(x4Vx4) = x1x2x3X4Vx1x2x3x4 itd. Przy pewnej wprawie czynność tę można uprościć, wyznaczając właściwe mintermy
bezpośrednio na siatce Karnaugh. Po odpowiednim sklejeniu kratek otrzymujemy formę zawierającą wyłącznie implikanty proste: f = x1 .i 3 v x 2 x4 v x2 x4 v
V x3 x4 v x2 x3 , przy czym pierwsze trzy są implikantami istotnymi. Formy
nieredukowalne są dwie i każda z nich zawiera, oprócz. jądra, jeden z dwóch
pozostałych implikantów prostych. Dla obydwu form wskaźnik złożoności jest
taki sam (12), a zatem obydwie reprezentują formy minimalne.
X3 X4
oo
01
11
oo
1
1
1 J
01
1
1
11
1
10
1
•2
115
10
r·a~~
I
o
.-- ...
''
t.~- l ~)
1
•''~„o""''
1
1
„· o ~,
1
1' '
' '
Rys. 4.6
Siatka Karoaugh z polami jedynek i zer
4. PODSTAWY TEORII UKŁAOOW CYFROWYCH
zero, można określić minimalną formę
będącą negacją wyrażenia reprezentowanego przez kratki jedynkowe. Czyn·
ność tę w powyższym przykładzie wykonano sklejając na siatce z rys. 4.5 kratki
zerowe linią przerywaną. Wówczas otrzymuje się formę = x 1 x 2 x 4 v x 2 x 3 x 4 V
v x2 x 3 x4 , zawierającą wyłącznie jądro. Stosując wzór Shannona znajdujemy
minimalną formę iloczynowąf = (x 1 v x2 v x4 )(x 2 v x3 v x4 )(x 2 v x3 v x.J. Można
zauważyć, że wskaźnik tej formy minimalnej jest również równy 12.
Warto zauważyć, że forma opisana zbiorem T4 = {O, 2, 8, IO}, czyli
czterema jedynkami umieszczonymi w czterech rogach siatki czterech zmiennych, sprowadza się do formy minimalnej równej/= x2 x4 .
Wykonując minimalizację dla funkcji niezupełnej, przedstawionej po·
przednio w tabl. 4.4, otrzymuje się formę/= x 3 x 4 V x 1 x2 x 3 (rys. 4.7). Jak widać,
przyporządkowanie stanom dowolnym wartości równej Olub I jest uzasadnione
potrzebą sklejenia kratek w polu x 3 x 4 .
J
Sklejając
kratki
zawierające
J
'
.
X X
2
oo
01
11
oo
--
01
1
11
10
-
10
1
Rys. 4.7
1
Minimalizacja formy boolowsltiej
reprezentującej funltcj~ niezupełną
Przy liczbie zmiennych większej od czterech stosowanie siatki Karnaugh
staje się bardziej złożone. Ponieważ każda kratka styka się swymi bokami
z tyloma różnymi kratkami, ile wynosi liczba zmiennych, stąd np. przy pięciu
zmiennych wymagałoby to otoczenia każdej kratki pięcioma innymi kratkami,
co w prostokątnej strukturze płaskiej nie jest możliwe. Trudność ta jest usuwana
przez zastosowanie struktury „zwierciadlanej" pokazanej na rys. 4.8, w której
połówkom siatki stanowiącym z osobna siatki czterech zmiennych, przyporząd·
kowano stany Ci C. Podwójna linia środkowa może być uważana za lustro, tak
że dowolna kratka x oprócz sąsiednich czterech „ własnych" kratek ma również
sąsiednią piątą kratkę po drugiej stronie siatki, na pozycji będącej odbiciem
zwierciadlanym pozycji kratki x. Siatka ta może być równie dobrze przed·
stawiona w strukturze pionowej, gdzie polówkom siatki będą odpowiadać stany
A i A.
Podobna procedura może być także zastosowana przy sześciu zmiennych.
Wtedy siatka Karnaugha składa się z czterech siatek czterech zmiennych. Siatka
ta jest pokazana na rys. 4.9.
116
4.1.
UKŁADY
KOMBINACYJNE
DE
AB
MO 001
oo
n11
n10
11n
111
1nn
1n1
::!:]
G:::
01
1
1
1
1
11
1
1
1
1
10
1
Rys. 4.8
Siatki Karnaugh i przykłady sklejeń
dla rormy boolowskiej pięciu
uniennych
1 )
AB COE
ooo
001
011
010
ooo
I
001
1
011
110
11 1
1
1
1
-I
010
r2::
~
111
101
1
I
:2J
I
1
1
1
1
2l
1
1
1
Rys. 4.9
Siatka Kamaugh i przyklady
l1
100
100
1
~
110
101
1
I
dla formy boolowskicj
zmiennych
skłejen
sześciu
Zasada sklejania w tym przypadku brzmi: dwie kratki jedynkowe
z dwóch sąsiedniobocznych siatek czterech zmiennych mogą być sklejone,
jeśli zajmują tę samą zwierciad.lanie pozycję na tych siatkach. Zasada ta
rozciąga się również na pola zawierające 2• kratek. Przykłady takich sklejeń
pokazano na rys. 4.8 i 4.9.
Metoda siatek Karnaugh jest wygodna do szybkiej i łatwej minimalizacji
form boolowskicb, jeśli liczba zmiennych nie przekracza c-t:terech. Przy pięciu
lub sześciu zm iennych stosowanie siatek Karnaugh jest również możliwe,
jakkolwiek jest bardziej złożone. Przy większej liczbie zmiennych stosowanie
siatek Karnaugh staje się tak trudne, że w praktyce nie jest stosowane.
Inne metody minimalizacyjne
4 .1.3.2
Oprócz opisanej wyżej, elementarnej metody siatek Karnaugb, istnieje wiele
innych bardziej wydajnych metod minimalizacyjnych. Można tu wymienić
wzmiankowaną wcześniej metodę Q- M [3-4], metodę iteracyjnej zgodności
117
4. PODSTAWY TEORII UKt.AOOW CYFROWYCH
(9, 18), która nie wymaga przedstawiania minimalizowanej funkcji w postaci
kanonicznej oraz metodę bezpośredniego przeszukiwania (10). Obszerna dyskusja metod minimalizacyjnych jest zawarta w (2, 6, 12, 14, 15, 17, 18, 20).
Przy dużej liczbie zmiennych najczęściej stosowany jest opracowany na
uniwersytecie w Berkeley (USA) program komputerowy ESPRESSO (5), który
umożliwia szybkie uzyskanie bardzo dobrych rezultatów, jakkolwiek bez
gwarancji uzyskania absolutnie minimalnej formy sumacyjnej. Algorytm tego
programu jest heurystyczny, tzn. polega na poszukiwaniu wyniku przez stosowanie prób i błędów. Szeroko stosowany nowszy program ESPRESSO-Il umoż­
liwia w większości przypadków otrzymanie wyników minimalnych lub niemal
minimalnych (z dokładnością do jednego lub dwu termów), nawet przy
kilkudziesięciu zmiennych i setkach termów.
Program ESPRESSO jest obszernie omówiony wjęzyku polskim w książ­
kach (22, 23] (p. także p. 4.3).
Osobną grupę stanowią metody minimalizacyjne układu form boolowskich, odnoszące się do układów kombinacyjnych wielowyjściowych. W tym
przypadku poza wymaganiem minimalnej złożoności każdej z form wymaga się
również, aby miały one jak najwięcej wspólnych termów, co umożliwia
uproszczenie i zmniejszenie kosztów projektowanego układu. Bardzo skutecznym programem minimalizacyjnym do takich zadań jest program ESPRESSO-MV (19).
Podstawowe układy kombinacyjne: bramki.
Symbole graficzne
4.1.4
Przy analizie
układów
cyfrowych istotne znaczenie ma wybór odpowiedniego
rodzaje graficznych symboli elementów logicznych: symbole o kształcie prostokątnym i symbole o kształtach
zr6ż11icowan ych.
Pierwsze z nich mają zunifikowany kształt prostokątny, a funkcje
elementów są oznaczane odpowiednimi symbolami literowymi, umieszczonymi
wewnątrz symboli graficznych. Symbolika ta jest zalecana przez Między­
narodową Komisję Elektrotechniczną (IEC), która w 1972 r. wydała publikację
117-15, a następnie w 1981 r. publikację 113-7 i w 1983 r. publikację 617-12.
W drugim rodzaju symboliki funkcje elementów są określone przez
zróżnicowane kształty symboli. Symbole te zostały pierwotnie wprowadzone
w 1962 r. przez normę amerykańską MIL-STD.8068 i następnie szeroko
zastosowane w przemyśle. Obydwa rodzaje symboli (drugi z nich w zmodyfikowanej postaci) zostały w 1973 r. objęte normą amerykańską ANSI Y32.14-1973
(IEEE Std 91-1973), a następnie w 1984 r. normą ANSI/IEEE Std 91-1984,
kompatybilną z wymienioną publikacją IEC 617-12.
języka graficznego. Istnieją zasadniczo dwa
118
4 , 1. UKł.AOY KOMBINACYJNE
Na rysunku 4.10 są pokazane symbole podstawowych układów kombinacyjnych o kształcie prostokątnym i kształtach zróżnicowanych oraz wskaź­
niki negacji i polaryzacji. Na podstawie tych symboli można tworzyć symbole
bardziej złożonych układów ze wskaźnikami negacji - w systemie abstrakcyjnych
stanów zerojedynkowych, oraz ze wskaźnikami polaryzacji - w systemie wymiernych fizycznie poziomów ,,niskich" i „wysokich". Symbole o kształtach zróż­
nicowanych, ilustrujące połączenia funkcyjne DA NO i DOR mają rozmiary
dwukrotnie mniejsze od analogicznych symboli AND i OR.
a
Nazwo
elementu
Symbol e o ksz tofci e Symbol e o kształt ach
prostokq.tnym
zr 6żn i cowonych
ł!EC,
ANSI/I EEEI
Strono
IANSI/IE EE)
Strono
wejśc~ściowo
XORIAL80)
Bufor
niewzmocniojqcy
Jnwer ter,negotor
NOT INIE)
OANOIZI)
OORIZU8)
Element
opó żni oj qcy
Wskaźni k
negacji
Wskaźnik
nolorvzoeii
b
Strono
wyj śc i owo
=[j-
DD=D-
-0-D-
-[>--[>-
ANOłl)
ORILU8)
Strono
wejściowa
=rJ-
fi•ub r-
$$-
IEJ-lub ~
-LJ--
-<JC)-
o
t::.
Rys. 4.10
Symbole
p<>dSlawowych
układów
kombinacyjnych
a) zestaw symboli,
b) zwięk~'lCnie JK:lb)' OJ;-Cjst
W zasadzie przyjmuje się, że przy użyciu podstawowych symboli
o kształtach zróżnicowanych liczba wejść bez wskaźników negacji nie powinna
przekraczać 4, a liczba wejść ze wskaźnikami negacji nie powinna przekraczać 3.
119
4. POOSl AWY TEORII UKLAOOW CYFROWYCH
Dalsze zwiększanie liczby wejść przedstawiono na rys. 4.10. Zwiększenie liczby
wejść przy użyciu symboli o kształcie prostokątnym wykonuje się łatwo przez
odpowiednie zwiększenie wysokości symbolu.
Przy stosowaniu symboli prostokątnych schemat logiczny zmniejsza się
i upraszcza, gdyż symbole te mogą się ze sobą stykać poziomymi bokami. Symbol
literowy określający funkcję logiczną umieszcza się tylko w najwyższym
prostokącie (jeżeli dotyczy on wszystkich zetkniętych ze sobą prostokątów).
Zasadą jest, u wszystkie wejścia umieszcza się z lewej strony symbolu
prostokątnego, a wszystkie wyjścia z jego prawej strony. Od góry i od dołu nie
umieszcza się żadnych końcówek.
Klasyczne symbole prostych bramek o kształtach zróżnicowanych są
lepiej czytelne i łatwiejsze w interpretacji od symboli IEC o kształcie prostokąt­
nym. Dlatego są one najczęściej stosowane w praktyce. Z drugiej strony symbole
bardziej zlożonych układów cyfrowych nie są objęte standaryzacją symboli
o kształtach zróżnicowanych, a są szczegółowo zdefiniowane w systemie symboli
prostokątnych. Z tych powodów w praktyce często stosuje się jednocześnie
obydwa rodzaje symboli: dla podstawowych bramek - symbole zróżnicowane,
a dla pozostałych układów - symbole prostokątne. Taka symbolika jest
stosowana m.in. przez firmę Texas Jnstruments w katalogach i publikacjach
firmowych. Pewną wadą symboli prostokątnych dla zlożonych układów cyfrowych (np. liczników) są dość skomplikowane i mało czytelne oznaczenia
literowe, służące do opisu układu. Trudno jest jednak w prosty sposób objaśnić
graficznie budowę i działanie złożonych, wielofunkcyjnych układów cyfrowych.
Istotną zaletą symboli prostokątnych jest kompletność opisu, realizowana m.in.
przez odrębne oznaczen ia wejść z układem Schmitta, wyjść z otwartym
kolektorem, wyjść trójstanowych i buforów mocy. Szczegółowy opis systemu
symboli prostokątnych IEC podany jest w Dodatku.
Wskaźniki negacji i wskaźniki polaryzacji stosuje się do konstrukcji
schematów logicznych w odpowiednio dwóch różnych systemach oznaczeń. Przy
konstrukcji schematów logicznych w konwencji abstrakcyjnych stanów logic-'nych (O, I), tzn abstrahując od występujących w realnych układach poziomów
wielkości fizycznych (np. napięć) reprezentujących te stany, stosuje się wskaźniki
negacji. Ten system oznaczeń określa się jako system wskaźników negacji (SWN).
Przy konstrukcji schematów logicznych w konwencji poziomów wielkości
fizycznych, mierzonych na wejściach i wyjściach realnych układów cyfrowych,
stosuje się wskaźniki polaryzacji. Ten system oznaczeń określa się jako system
wskflźników polaryzacji (SWP). Przyjmuje się umownie, że w sensie logicznym
wyróżnia się dwa przeciwstawne poziomy wielkości fizycznej: poziom bardziej
dodatni, określany jako poziom wysoki i oznaczany literą H (Higli), oraz poziom
mniej dodatni, określany jako poziom niski i oznaczany literą L (Low).
Każdy schemat logiczny może być zatem skonstruowany jako „teoretyczny" lub „praktyczny". Schemat wykonany prLy użyciu SWN może być schema120
4 t.
U KŁADY
KOMBINACYJNE
tem „praktycznym", jeśli dodatkowo wprowadzona będzie konwencja tzw. logiki
dodatniej lub ujemnej, o czym będzie mowa nieco dalej. Systemy te w zasadzie nic
powinny być stosowane jednocześnie.
Należy podkreślić, że funkcja symbolu podstawowego (np. AND, OR) jest
całkowicie niezależna od obecności bądź braku jakichk olwiek wskaźników.
Dowolny symbol X złożony z symbolu podstawowego i określonych wskaź­
ników należy rozumieć w ten sposób, że wejścia i wyjścia symbolu podstawowego
są połączone z końcówkami symbolu X (stanowiącymi faktyczne wejścia
i wyjścia symbolu X) za pośrednictwem wskaźników pełniących tylko rolę
inwerterów stanu (SWN) lub poziomu (SWP), lecz nie zmieniających funkcji
symbolu podstawowego. W związku z tym operuje się pojęciami „wewnętrz­
nego" stanu logicznego i „zewnętrznego" stanu logicznego lub poziomu:
wewnętrzny stan logiczny ozoac-la stan logiczny istniejący wewnątrz
symbolu podstawowego na jego wejściu lub wyjściu,
zewnętrzny stan logiczny lub poziom oznacza stan logiczny lub poziom
istniejący na zewnątrz symbolu:
a) na linii (końcówce) wejściowej przed jakimkolwiek wskaźnikiem na
wejściu,
b) na linii (końcówce) po jakimkolwiek wskaźniku na wyjściu.
System
wskaźników
negacji (SWN)
SWN jest oparty na następujących regułach:
I)
brak wskaźnika negacji (kółeczka) między symbolem podstawowym
a jego końcówką oznacza, że stan wewnętrzny jest taki sam jak
zewnętrzny,
2)
obecność wskaźnika negacji oznacza,
stanu
ie stan
wewnętrzny jest negacją
zewnętrznego.
Należy podkreślić, że obecność
lub brak wskaźnika negacji nie ma
i.adnego związku z poziomami wielkości fizycznych na końcówkach realnych
układów. Z reguły (2) wypływa wniosek. 7.e obecność wskaźnika na wejściu
symbolu podstawowego elementu logicznego oznacza negację odpowiedniej
zmiennej wejściowej w zapisie matematycznym funkcji logicznej, realizowanej
przez ten element. Natomiast obecność wskaźnika negacji na wyjściu symbolu
elementu oznacza negację tej funkcji.
Zastosowanie tych reguł ilustrują pnykłady pokazane na rys. 4.11i4.12,
na których są przedstawione symbole równoważne (zgodnie z prawem De
Morgana) podstawowych bramek z inwersją (rys. 4.11) i bez inwersji (rys. 4.12).
W polskich skrótowych oznaczeniach literowych dla realizowanych funkcji
położenie litery N odpowiada miejscu użycia wskaźników negacji na symbolach.
W przeciwieństwie do terminologii angielskiej oznaczenia te zapewniają łatwo
zrozumialą, krótką i wygodną fonetycznie formę zapisu podstawowych fun kcji.
121
4, PODSTAWY TEORII
UKŁADOW
CYFROWYCH
o
NANDUNI
••----fil__ y:
NegotiveOR INUBl
„.,
·•=u-1
.,
··~
~ Równowa.Zne - - -- '
b
=r::FI'
NORILUNI
AND(NI)
x1 -P1l______y :: x, vx2
x,
X1 ~
c
Y= ii v"X;
y-=Xj5'2
X2
~ Równowożne---_,
•-Q-r:x
•--0---y:i
' - - Równoważne
Rys. 4.11 Symbole
---....J'
ró"'l'loważne
elemen16w logicznych z
inwersją
a) NAh'D (I-NIE. ltl). b) NOR (LUB-NIE. L UN). c) NOT (NIE. N)
0
Nogohve NORINUNI
ANDlll
lC , -f&l_y::x1 x,
„··=fJ-,
··~
' -- - Równowotne - -- '
b
x,
ORiLUBl
~
Negohv• NANO(NI NI
><1 ~
'---
y: i1 V il
Y=X1V"2
.,
--9'1...__y=i;Vi
., ~
- Równoważne - -- '
Rys. 4.12 Symbole
równoważne
bez inwersji
a) A:-10 (I) b) OR (LUB)
System wskaźników ncgaCjt JCSt stosowany z obydwoma rodzajami
symboli (o kształcie prostokątnym i ksztaltach zróżnicowanych).
System wskaźników negacji może być użyty do opisu realnych układów,
jeżeli dodatkowo wprowadzone zostaną jednoznaczne związki między abstrakcyjnymi stanami O, 1 i realnymi poziomami L, H. Istnieją tylko dwie konwencje
(przeciwstawne), które określa się jako „logika dodatnia" i „logika ujemna".
Definicje tych konwencji w odniesieniu do schematów logicznych są następujące:
logika dodatnia oznacza, że na wszystkich końcówkach symboli stan I jest
równoważny poziomowi wysokiemu H, a stan O jest równoważny
poziomowi niskiemu L,
logika ujemna oznacza, i.e na wszystkich końcówkach symboli stan I jest
równoważny poziomowi niskiemu L, a stan Ojest równoważny poziomowi wysokiemu H.
Przy opisie schematowym realnego układu przy użyciu SWN niezbędne
jest zatem dodatkowe określenie słowne, która z tych konwencji została użyta
122
4.1. UKŁADY KOMBINACYJNE
w danym przypadku. Na rys. 4.13 jest przedstawiony symbol elementu NAND
w logice dodatniej i elementu NOR w logice ujemnej.
Wprowadzenie konwencji logiki dodatniej lub ujemnej nie ma żadnego
odzwierciedlenia w postaci grafic-.mej symbolu i w opisie matematycznym jego
funkcji logicznej. Symbole AND, NAND, OR itd. oznaczają tylko abstrakcyjne
funkcje logiczne, sprecyzowane matematycznie lub/i przy użyciu tablicy stanów
zerojedynkowycb.
a
r - - - - NANO- - - - -,
I
I
I
I
I
Symbol
I
I
. I
Negoqo 1
I podstawowy
1
IAND I
I I NOT~
I
I
x,
.--I
L- 0
I
H-
I
F= AB
I
/
1( /
&
L---,
1
A=x 1
1
0 -L I
F bl-'---"--i---- - - y = F= i';'"X2
I
I
1 1-H
IL- O
B=- x 2
I H- 1
x,
I
I
I
I
L- - - - - -- :..1
I
x, x,
I
Konwencjo logiki dodatniej
L
L
H
H
L
H
L
H
Poziomy
z ewnetrzne
,·
b
r - - NOR- -
I
I
1
I
rl'..:1
I
I
Symbot
F -Av
;.1
H- O A=x,
IH~ o
I
I
I
F
o o o
o 1 o
1
o o
1
1
1
y
H
H
H
L
Stany
'łl"ew n ę t r zne
---- 1
I
I Negocjo I
I // „
rr-- ---,
10 - H
x --'---ł B - x
I
B
podstawowy I ( NOT\)
B I
I L -1
'
A
- z
I
F t:.;.:-.,---t11 - L I
I
I
L - -- - - ' I
L --- - - - _ J
- - - y = F =~2
I
I
~
Konwencjo logiki ujemnej I
x,
L
L
H
H
.,
A
B
F
y
1
1
1
o
1
1
1
H
L
H
L
H
o
1
o o o
H
H
L
Rys. 4. 13 Stosowanie systemu wskaźników negacji oraz konwencji logiki dodatniej
i ujemnej przedstawione na przykładzie opisu
a) elementu N.A.NO w l()giet" dodatniej, b) eJcmento NOR
123
w
logice ujemnej
' PODSTAWY TEORII UKtAOOW CYFROWYCH
Zastosowanie ko nwencji logiki ma charakter alterna tywny, Lzn. nie
obydwu konwencji do o pisu tego samego schematu. Dlatego SWN jest również określany jako „system logiki dodatniej lub
ujemnej" lub „system jednej logiki".
można jednocześnie stosować
System
polaryzac ji (SWP)
wskaźników
SWP jest oparty na następujących regułach:
brak wsk aźnika polaryzacji (t rójkącika) między symbolem podstawowym
a jego końcówką oznacza, że poziom wysoki H na końcówce jest
równoważny wewnętrznemu stanowi logicznemu 1 (wynika stąd także, że
poziom niski L na końcówce jest równoważny wewnętrznemu stanowi O),
obecność wskaźnika polaryzacji oznacza, że poziom wysoki H na
końcówce jest równoważny wewnętrznemu stanowi logicznemu O (wyni ka stąd także, że poziom niski L na końcówce jest równoważny
wewnęl rzncmu sta nowi I).
Zastosowanie tych reguł ilustrują przykłady pokazane na rys. 4.1 4. J ak
widać, brak wskaźnik a pola ryzacji oznacza konwencję logiki doda tn iej, a obecność tego wsk aźn ika oznacza konwencję logiki ujemnej. Obydwie konwencje są
tu zatem stosowa ne razem, na odpowiednich końcówkach symboli. Dlatego
SWP jest określany jako „system logiki mieszanej''.
a
1symbol 1 Wsk.0Żnik11
1 pOdsta ... 1 poziomu
I wowy
I
I
I
I (AND) 1I
,....- )
I
' F:AB I ( '
.,
H- 1 A
••
H..,.. l B
o I
t
L- O
„„
Alfobtt P
1
I
F P "-,_-L
1
L'- 0 .__~
o-
Y
H
H
I
dodatnio
8
Allobtt P
,........,
F
y
x,
o o o
.,
H
L
L
H
l
H
H
L
H
H
H
A
l
H
L
H
o
1
1
8
1 o
o o
,
1
L
A
8
F
L
L
H
H
L
H
L
H
L
L
l
~
Poziomy
S ło ny
wr:wn.ętrzne
zewn ę trz ne
Poziomy
wewnrtrzne
b
Wskoinik1 Symbol
1
1
poziomu I poo1ta - :
1
I wowy I
l,
I
'
IORI
I
I
x,
I
'""" 1 f• Av BI
x,
I ~A > 1
_H__ _.O
L._ I
X2
H ._~ 8
l .... , ....._
F
__,
1
..., H Y
Q i- L
L
L
H
H
„,, ,
A
L
H
L
1
H
Rys. 4. 14 Zastosowanie systemu
a) bam.ta N'AND (11''). b)
124
l'Ó'Jrr~~
B
F
, ,
o
1
o
o o o
wsk aźników
y
H
H
H
L
H
~
Poziomy
zewnftrznt
Logi ko
ujemna
L09\ko
L
L
H
Allobeł
Ćwiczenie
dla Czyte lnika
y
H
H
H
L
polaryzacji:
bramka Nqari'iir OR (NUB)
4,1,
UKŁADY
KOMBINACYJNE
Jakkolwiek SWP może być stosowany z obydwoma rodzajami symboli
(o kształcie prostokątnym i kształtach zróżnicowanych), to w praktyce stosuje się
go najczęściej z symbolami o kształcie prostokątnym.
Formalne nazewnictwo układów cyfrowych przy użyciu SWP jest
złożone. Symbol pokazany na rys. 4.14a należałoby określić jako „dwuwejściowy
element AND ze wskaźnikiem polaryzacji na wyjściu" lub „dwuwejściowy
element AND z wyjściem w logice ujemnej''. Określenia te wynikają z założenia,
ujętego w publikacji IEC 617-1 2, że działanie elementów logicznych opisuje się
przy użyciu wewnętrznych stanów logicznych wyłącznie z a lfabetu B = {O, 1}.
Przy opisie realnych układów, gdy mamy do czynienia z poziomami L, H, jest
konieczne przyjęcie odpowiednich przyporządkowań (O 1-+ L, l 1-+ H lub odwrotnie) przy przejściu ze stanów wewnętrznych na poziomy zewnętrzne. Prostszy
opis i łatwiejszą interpretację symboli realnych układów otrzymuje się przy
użyciu algebry Boole'a realnych sygnałów binarnych ( P, V, ·, - , L, H ) ze zbiorem
P = {L, H} (p. 1.5). Funkcje logiczne z tabl. 4.1, 4.2 i 4.3 oraz opisy bramek można
wyrazić wówczas przy użyciu wyłącznie a lfabetu P. Wskaźnik poziomu pełni
wtedy rolę analogiczną do wskaźnika negacji w SWN, oznaczając już nie miejsce
zastosowania logiki ujemnej, lecz po prostu inwersję poziomu wewnętrznego
przy przejściu do poziomu zewnętrznego lub odwrotnie. Ta konwencja będzie też
stosowana w dalszym tekście. Układ z rys. 4.14a nazywamy zatem krótko:
„dwuwejściowa bramka NAND (IN)". Jest to krótszy zapis niż przy użyciu SWN,
w którym jest wymagana dodatkowa uwaga „ w logice dodatniej".
Tablice funkcyjne pokazane na rys. 4.14a ilustrują przejście ze stosowania
dwóch a lfabetów B i P na jeden alfabet P.
Jako dalszy przykład można także przytoczyć reprezentację logiczną
tranzystora npn, przedstawioną na rys. 4.15. Tranzystor ten może być określony
a
~
8~K
d
e
B
E
L
X
K
H
X
H
H
H
L L
+
E
b
:~K
e
c
:~K
125
E
Rys. 4.15
Reprezentacja logiczna tranzystora np11
a) $Chemat elcktnw:n)'.
b) 1.ałlO!IOWllln łt symb<.>h1 ANO.
c) i.as1osowank symbolu OR,
d) tablica runłC)jna,
c) równo'A•ainy
łogiClniit układ
dwutranzys1orowy
4. PODSTAWY TEORII UKŁAOOW CYFROWYCH
jako układ o dwu wejściach (baza Bi emiter E) oraz jednym wyjściu (kolektor K).
Symbol logiczny tranzystora można utworzyć przy wykorzystaniu symbolu
bramki AND (rys. 4.l 5b). Napięcie kolektora tranzystora jest „niskie", jeśli
napięcie bazy jest „wysokie" i napięcie emitera „niskie". Dlatego na końcówkach
emitera i kolektora musi być użyty wskaźnik polaryzacji, a na końcówce bazy
wskaźnika tego nie będzie.
Zgodnie z prawem De Morgana runkcja logiczna układu może być
zmieniona. T ranzystor moi.e być zatem reprezentowany również symbolem OR
(rys. 4. I 5c) ze wskaźnikiem polaryzacji umieszczonym na końcówce bazy.
Oczywiście, gdy emiter tranzystora jest „wysoko" (tzn. ma bardziej dodatnie
- „wysokie" napięcie) łub jeśli baza tranzystora jest „nisko", wówczas kolektor
tranzystora jest „wysoko".
W podobny sposób można przedstawić logicznie tranzystor pnp.
Często spotykany i wygodny w zastosowaniach jest układ połączeń
realizujący runkcję DANO (Distributed AND, Zwarte I, skrót Zl), wykonywany
przez zwarcie wyjść ~.z otwartym kolektorem" tranzystorów npn łub "z otwartym
drenem" tranzystorów z kanałem n) z dwóch lub więcej odpowiednich układów
scalonych (rys. 4.10). Podobnie realizuje się funkcję zwarciową DOR (Distributed
OR, Zwarte LUB, skrót ZUB) przez zwarcie wyjść (,;z otwartym emiterem"
tranzystów npn lub „z otwartym drenem" tranzystorów z kanałem p) z dwóch lub
więcej odpowiednich układów scalonych (rys. 4.10). Według zaleceń normalizacyjnych IEC funkcje DANO i DOR oznacza się graficznie małym
kwadracikiem wewnątrz symbolu prostokątnego (o ile się go stosuje).
Złożone układy
kombinacyjne
4 .1.5
Przez odpowiednie połączenie pewnej liczby podstawowych elementów logicznych można utworzyć mniej lub bardziej złożone układy kombinacyjne.
W prostych przypadkach układy takie buduje się z bramek scalonych małej skali
integracji.
Kolejność postępowania przy syntezie kombinacyjnego układu logicznego może być sformułowana następująco:
I)
określenie runkcji przełączającej odpowiednio do postawionych wymagań (np. za pomocą tablicy stanów lub zbiorów Ti D),
2)
wykonanie minimalizacji formy boolowskiej,
3)
sporządzenie schematu układu, odpowiadającego zminimalizowanej formie boolowskiej,
4)
optymalizacja konfiguracji schematowej.
Czynności ujęte w punktach I. i 2. zostały już omówione poprzednio.
Obecnie zastanowimy się nad czynnościami z punktów 3. i 4. Realizacja punktu
3. zależy od rodzaju układów cyfrowych, które przyjmuje się za elementarne, co
odpowiada przyjęciu określonego SFP (p. 4.1.1). Klasycznym tego rodzaju
126
4.1.
UKŁADY
KOMBINACYJNE
funktorem podstawowym jest element realizujący funkcję NAND (IN) oraz
równoważną funkcję Negative-OR (NUB) (rys. 4.11). Z takich elementów, jak
z cegiełek, można budować układy kombinacyjne, realizujące zadane funkcje.
Symbole funktorów równoważnych umożliwiają tworzenie latwo czytelnych schematów układów kombinacyjnych na podstawie odpowiednich regul.
Ich podstawę stanowi zasada, że przy budowie układu złożonego z elementów
NAND (IN) schemat układu powinien zawierać wlaściwie polączone zarówno
symbole NAND (IN), jak i równoważne symbole Negative-OR (NUB) (rys. 4.11).
Uogólniając to można powiedzieć, że układ cyfrowy powinien być reprezentowany schematem, zawierającym symbole funktorów równoważnych (komplementarnych).
Przy stosowaniu elementów NAND do syntezy układu opisanego formą
sumacyjną, reguły stosowania symboli funktorów równoważnych są następujące:
I)
bramkę wyjściową, na której wyjściu otrzymuje się stany lub poziomy
logiczne realizujące pożądaną funkcję, określa się jako reprezentującą
pierwszy (nieparzysty) poziom układu; graficznym symbolem tej bramki
jest symbol Negative-OR (NUB).
2)
bramki których wyjścia są przyłączone do wejść bramki wyjściowej,
określa się jako reprezentujące drugi (parzysty) poziom układu; graficznymi symbolami tych bramek są symbole NAND (IN),
3)
dalsze poprzedzające bramki reprezentują odpowiednio dalsze nieparzyste i parzyste poziomy, przy czym na poziomach nieparzystych stosuje się
symbole Negative-OR (NUB), a na poziomach parzystych symbole
NAND (IN),
4)
w zasadzie każda linia połączeniowa między wyjściem jednej bramki a wejściem drugiej powinna mieć na obydwu końcach symbole wskaźnika negacji
(kółeczko) lub polaryzacji (trójkącik) lub nie powinna ich mieć w ogóle,
5)
zmienne wprowadzane na wejścia ze wskaźnikami negacji lub polaryzacji
są reprezentowane w formie boołowskiej przez swe dopełnienia,
6)
zmienne wprowadzane na wejścia bez wskaźników negacji lub polaryzacji
są reprezentowane bez dopełnienia w formie boolowskiej.
Wymienione reguły ilustruje przykład pokazany na rys. 4.16. Zgodnie
z regułą 5. zmienna wejściowa x 1 występuje w formie boolowskiej w postaci
zanegowanej, a zmienna wejściowa x 3 występuje w niej bez negacji. Istotoą
właściwością reguły 4. jest to, że obecność wskaźników negacji na obydwu
końcach linii, łączącej wyjście jednej bramki z wejściem drugiej, jest równoważna
z brakiem tychże wskaźników z punktu widzenia funkcji przełączającej realizowanej wspólnie przez te bramki. Ilustruje to przykład pokazany na rys. 4.17. Od
reguły tej istnieją wyjątki, związane z połączeniami w obrębie jednego poziomu,
jak również przy realizacji sprzężeń zwrotnych w układach sekwencyjnych.
Przykład występowania takiej wyjątkowej sytuacji jest pokazany na rys. 4.18.
Celem jest realizacja układowa funkcji
127
4. PODSTAWY TEORII UKlAOÓW CYFROWYCH
o
Poziomy uktodu
4
3
I
2
y
b
4
3
2
y
Przykład
Rys. 4.16
stosowania symboli
a) funktorów tó„·ńowat.nych, b) wyl4cznie symboli NAND
x,
&
x,
y
x,
y:: X1 X l V X3x,
Rys. 4. I 7
Przykład ilustrujący regułę
4
o
84
x,
b
Poziomy
2
.,
82
&
81
B3
&
,..,
y
R)'s. 4.18
a)
128
Przykład odstępstwa od reguły 4
z regułą, b) uklad oiagod.ny z rrgułą
ukł.ad ą.odoy
4.1.
UKŁADY
y=
KOMBINACYJN E
x1 x 2 v x 3 (x 1 v x,)
Na rys. 4.18a przedstawiono
bezpośrednie
odwzorowanie schematowe tego
związku. Łatwo można zauważyć, że bramki B3 i B4 stanowią w istocie te same
elementy, o tych samych zmiennych wejściowych i wyjściowych. Dlatego układ
z rys. 4.18a można przedstawić w postaci pokazanej na rys. 4.l 8b.
Interesujący przykład stanowi realizacja funkcji XOR (ALBO). Nasuwającym się od razu rozwiązaniem jest układ pokazany na rys. 4.19a, zawierający
trzy bramki i dwa inwertery. Po przekształceniu wzoru definicyjnego
= X1 X2 V X1X2 = X1 (xl V X2) V X2(.X, V x,)
y
można jednak zrealizować prostszy układ, pokazany na rys. 4.19b, zawierający
cztery bramki dwuwejściowe.
Realizację bramkową funkcji XNOR (ALBON), będącej negacją funkcji
XOR (A LBO), stanowi układ komparatora, przedstawiony na rys. 4.20a. Układy
z rys. 4.19 i rys. 4.20 są komplementarne, tzn. realizują wzajemne dopełnienia.
Przy negacji jednej zmiennej wejściowej lub przy negacji na wyjściu, układy te
zmieniają wzajemnie role.
o
.,
y=x,i2 v i 1 x2
x,
b
x,
y
x,
Rys.. 4.19 Realizacja funkcji XOR (ALBO) przy
użyciu
SWP
a) z trzema tltmentami NAND i d\li'Otna ir1wer1erami,
b) z c:zt«tma elementami NAND,
Inny przykład stosowania symboli funktorów równoważnych przedstawiono na rys. 4.21, na którym jest pokazany układ reprezentujący formę
Y = AB(C v f>E) v FG(R v J) v J K(LM v N v O)
= AB(C v f>E) v (F v G)(R v J) v J(K: v NO(L v M))
Konstrukcja układu na podstawie przytoczonych reguł jest bardzo łatwa.
Również czynność odwrotna, tj. określenie formy boolowskiej na podstawie
129
4. PODSTAWY TEORII UKlAOOW CYFROWYCH
a
b
Rys. 4.20. Real.izacja funkcji XNOR (ALBO-NIE, ALBON) przy
użyciu
SWN
2) 1 trr.ema dcmcnti1mi Nl\NO i d""'Vm41 inwe.ncru.mi. b) .symbole logic;lllC kompani toru
y
L
M
K
Rys. 4.21
Przykład
w
stosowania symboli funktorów
wielopoziomowym
równoważnych
układzie
układu
z rys. 4.21, nie sprawia żadnych trudności nawet mało wprawnemu
projektantowi. Kolejne poziomy na schemacie logicznym układu reprezentują na
przemian funkcje NAND (IN) oraz Negative-OR (NUB), odpowiednio do zapisu
danej formy boolowskiej. Jak ilustruje powyższy przykład, zadaną formę należy
tak pr7-ekształcić, aby znaki negacji obejmowały tylko pojedyncze zmienne.
Gdy pożądana jest realizacja funkcji przełączającej o postaci zanegowanej (>'), wówczas przyjmuje się bramkę wyjściową o symbolu NAND, a ponadto
bramkę tę przyjmuje się jako reprezentującą umownie drugi (parzysty) poziom.
Dalsze bramki określa się zgodnie z regułą 3. Tego rodzaju konfiguracja
schematowa dla funkcji ji może być znaleziona dla każdego układu reprezenlującego funkcję y. Synteza układu logicznego realizującego funkcję ji odpowiada
funkcji określonej przez zera na siatce Karnaugh.
Symbole funktorów równoważnych stosuje się również w oparciu
o symbole o kształcie zróżnicowanym, które zapewniają jeszcze lepszą czytelność
schematu logicznego.
130
4.1. Ul<ŁAOY KOMBINACYJNE
Do optymalizacji kombinacyjnych
stosowane następuj ące kryteria:
1)
2)
3)
4)
układów
logicznych
najczęściej są
minimalna złożoność układowa,
minimalne opóźnienie propagacji,
minimalny koszt,
maksymalna niezawodność.
Kryterium I umożliwia realizację układu o minimalnej liczbie bramek,
tzn. wykluczającego ewentualność budowy równoważnego logicznie układu
o jeszcze mniejszej liczbie bramek. Jeśli mogą istnieć układy o tej samej liczbie
bramek, to układem optymalnym jest ten, który zawiera bramki o najmniejszej
sumarycznej liczbie wejść. Z praktycznego punktu widzenia wymaganie minima.1nej złożoności układowej jest jednak związane z liczbą użytych układów
scalonych. Należy przy tym uwzględnić cechy strukturalne układów, gdyż
z reguły jeden układ scalony małej skali ingracji zawiera cztery bramk i
dwuwejściowe lub trzy bramki trzywejściowe, lub dwie bramki czterowejściowe,
lub jedną bramkę ośmiowejściową.
Kryterium 2 narzuca budowę układu logicznego o możliwie najmniejszej
liczbie poziomów (równej najwyżej trzem), tj. o strukturze możliwie równoległej.
Układ zrealizowany zgodnie z tym kryterium nie zawsze spełnia kryterium I.
Natomiast kryterium 3. jest zawsze zbieżne z kryterium I.
Kryteria 3 i 4 mogą być również przyjęte razem jako podstawa procesu
optymalizacji. Ponieważ prowadzą one w przeciwne kierunki, optymalizacja
układu sprowadza się do określenia racjonalnego kompromisu między minimalizacją kosztów a maksymalizacją niewwodności układu.
Do projektowania logicznego układów cyfrowych, zwłaszcza o dużej
złożoności (LSlfVLSI) stosuje się również specjalne metody, mające na celu
zapewnienie poprawnego działania układów przy pewnych uszkodzeniach
(fault-tolerant design) oraz zapewnienie odpowiedniej testowalności (1esiable
logic design, design for testability). Pierwsza z nich opiera się na zasadzie
wprowadzenia redundancji układowych lub/i kodów korekcyjnych aby wpewnić lepszą niezawodność pracy. Druga służy do takiego projektowania układów,
aby zmniejszyć koszty ich testowania, gdyż przy wytwarzaniu złożonych
układów scalonych koszty te mogą być dominujące.
W praktyce, układy kombinacyjne są wykonywane ze scalonych bramek
małej skali integracji tylko w bardzo prostych przypadkach, gdy stosowanie
metod minimalizacyjnych jest również bardzo proste. Przy bardziej złożonych
formach boolowskich, gdy liczba zmiennych nie jest większa od pięciu, można
stosować multipleksery średniej skali integracji, które umożliwiają łatwą i tanią
realizację układową form boolowskich przy prostych regułach minimalizacyjnych (p. 8.2.2). Przy złożonych formach powyżej pięciu zmiennych najbardziej
celowe jest użycie programowalnych układów cyfrowych wielkiej skali integracji,
131
4. PODSTAWY TEORII
UKŁAOOW
CYFROWYCH
takich jak PLO, CPLD, EPROM, EEPROM, FPLA, FPGA. Wymienione
układy i ich stosowanie są omówione w rozdziałach 8 i 9.
Zjawisko hazardu
4 .1 .6
Hazardem w układach kombinacyjnych określa się krótkie zakłócenia szpilkowe, pojawiające się na wyjściu układu podczas procesów przejściowych.
Zjawisko hazardu może wystąpić wówczas, gdy choćby jeden sygnał jest
przesyłany dwoma drogami o różnych opóźnieniach, prowadzącymi do jednej
bramki. Na wyjściu tej bramki może powstać krótkotrwały impuls, wynikający
a
••
&
Yo I
.,
.,
~1
y
L_
I
I
I
I..- -
b
X1 =X3 : 1
.,_J
I
I
-I
Y,
I
I
1' I
r
.:_i
Y,
-I
F
I
I
I
1'
I
I
I
Y,
y
Hazard statyczny
c
I
-i
•
X;r X3
oo
I
01
o
1
Rys. 4.22
11
10
1
n
1 ' 1
1-
Występowanie
a)
pnyk~.ad o"''Y układ,
c)
si.iłk.a
132
;.!..
Karnaugh
impulsów hazardu statycznego
b) pr.r.ebi-eji
CU$0\1.'e
opisująca daną formę:
pri)· impulsowej :ani.anie. sygnalu x1,
boolOW$tit
4.1. UKŁADY KOMBINACYJNE
z różnicy tych opóźnień. Może on czasem spowodować mylne działanie dalszego
układu. Na przykład, dla ukladu z rys. 4.22a, opisanego formą y = x 1 x 2 v x 2 x 3 ,
można wykreślić przebiegi czasowe pokazane na rys. 4.22b. Wskutek opÓŻ·
niającego działania inwertera trzeciego poziomu, na wyjściu ukladu pojawia się
krótki impuls, o szerokości odpowiadającej opóźnieniu t tego inwertera. W tym
przypadku mówimy o hazardzie statycznym „w jedynkach", ponieważ za.
kłócanym stanem prawidłowym na wyjściu y jest stan 1.
Możliwość wystąpienia hazardu można w prostych przypadkach wykryć
aa siatce Karnaugh, jeśli forma boolowska jest reprezentowana przez stykające
się grupy, odpowiadające implikantom prostym. Stykanie się takich grup
wskazuje na obecność hazardu. Aby uniknąć hazardu, należy wprowadzić
dodatkową bramkę reprezentującą pozostały implikant Gak pokazano na
rys. 4.22c linią przerywaną), mimo że jest to zbyteczne z punktu widzenia
minimalizacji danej formy. Po wprowadzeniu dodatkowej bramki, zapewniającej
y 4 = I przy x 1 = x 3 = I, impuls hazardu z przebiegu sygnalu y zostaje wyeliminowany.
W układach wielopoziomowych można również zaobserwować zjawisko
hazardu dynamicznego. Polega ono na pojawieniu się na wyjściu ukladu impulsu
szpilkowego bezpośrednio po zmianie poziomów logicznych z O na I a lbo z I na
O, co przypomina oscylacje w niedotłumionym liniowym układzie dynamicznym.
Hazard dynamiczny może wystąpić, gdy choćby jeden sygnał jest przesyłany do
wyjścia trzema drogami o różnych opóźnieniach. Sytuację taką przedstawiono
na rys. 4.23, gdzie impuls hazardu statycznego „w zerach" sygnału y 4 przenosi się
na wyjście y jako impuls hazardu dynamicznego.
Układ
z rysunku 4.23a odwzorowuje schematowo formę
y = x 1 v (x 1 v x 2)(x1 v x 3 ), którą można sprowadzić przy użyciu siatki Karnaugh
(rys. 4.23c) do postaci minimalnej y = x 1 v x 3 (rys. 4.23d). W tym układzie przy
x 3 =O żadne zjawisko hazardu nie wystąpi. Jednak jeśli sygnały zmienią się
jednocześnie w sposób pokazany na rys. 4.23e, to na wyjściu y pojawi się szpilka
hazardu statycznego.
Uogólniając powyższe przykłady można powiedzieć, że impulsy hazardowe mogą się pojawić na wyjściu układu kombinacyjnego, gdy:
choćby jeden sygnał wejściowy dochodzi do wyjścia drogami o różnych
opóźnieniach,
przy jednoczesnej zmianie dwóch lub więcej sygnałów wejści owych
przechodzą one do wyjścia drogami o różnych opóźnieniach,
układ zapewnia dla wszystkich sygnałów wejściowych drogi o jed·
nakowych opóźnieniach, lecz sygnały te zm ieniają swe stany logiczne
niejednocześnie.
W układach wyłącznie kombinacyjnych impulsy hazardowe z reguły nie
są niebezpieczne. Z uwagi na niezerowe czasy przelączeń fizycznych ukladów
cyfrowych (równych dla układów elementarnych ok. t/ 2) impuls hazardowy
133
4. PODSTAWY' TEORII UKt.AD0W CYFROWYCH
o
c
x,
x,
X3
x,
1
o
X3
;>1
1
y
oo
01
11
10
I
1
1
1
1
1
b
l<.2: )('l:
„
o
d
x,~y
., ~
I
I
Y1
-it
e
Y2
x,
_J
Y3
Y,
v,
y
I
Rys. 4.13
a)
Występowanie
impulsów hazardu dynamicz.nego
ullad. b) przebiegi czasowe przy impulsowej zmianie sygnału Xi. c) si.alka Karnaugb. d) uklad
form~ uninimaliz.o~n~ . e) pn:c:biegi cusowe w układzie (d) prl)' jtdno<:lC$11Cj unU.nie sygBalów X1 i x1
przykłado...,y
reali :tU.iłCY
o teoretycznej szerokości 't w praktyce ma postać impulsu trójkątnego o szerokości odpowiednio mniejszej. Niebezpieczeństwo mylnego działania układu cyfrowego może natomiast powstać wówczas, gdy układ kombinacyjny współ­
pracuje lub wchodzi w skład układu sekwencyjnego asynchronicznego. Problem
ten będzie opisany w p. 4.2.4.
Układy generujące impulsy hazardowe są również celowo wykorzystywane w praktyce. Są to często stosowane układy detektorów początku
i końca impulsu wejściowego. Do uzyskania impulsów wyjściowych o pożą­
danej szerokości zwiększa się opóźnienie jednego z torów sygnału wejścio­
wego przez połączen ie kaskadowe dodatkowych inwerterów lub bramek,
jak pokazano na rys. 4.24, 4.25 i 4.26. Są to tzw. układy „logicznego różniczkowania". W układzie z rys. 4.26 przy zastosowaniu parzystej liczby
inwerterów otrzymuje się dodatnie impulsy wyjściowe, natomiast przy liczbie
nieparzystej otrzymuje się impulsy ujemne. Jeśli sygnał wejściowy jest w postaci
symetrycznej fali prostokątnej, to układ ten stanowi prosty podwajacz czę­
stotliwości. Zamiast parzystej liczby inwerterów można zastosować prosty
układ całkujący RC.
134
4. \ . VKt.AOY KOMBINACYJNE
a
„
·---'D -QQtj-y
-r
1'
""
b
X
Rys. 4.U
Detekto r narastającego
zbocza in1pulsu
'A•ejściowego
a) ul:lad, b) prr.cb.cgi
a
X
r
t
cuso.,.,~
1'
T
----CHJ:-D:t]t---Y
b
X
I
I
Y,
y
I
n
I
w
-
Rys. 4.25
I
Detektor opadającego
I
-!....i~
zbocza impulsu
- ---.LJ
0
~
T
wejściowego
a) akbd. b) prttblcp aawr•e
T
t
1'b
· -- --
y
b
X
Yo
I
I
I
I
I
I
I
I
:-=i
I
y
I
I
.!!....J
w
Rys. 4.16 Detektor obydwu zboczy impulsu
•) układ. b) . . . - . . -
135
~
W!_;
wejściowego
4. PODSTAWY TEORII UKŁAOOW CYFROWYCH
UKŁADY
SEKWENCYJNE
4.2
Właściwości
i sposoby opisu układów
sekwencyjnych
4 .2.1
W odniesieniu do rysunku 4.1 reprezentującego układ cyfrowy jako „czarną
skrzynkę",
przypomnijmy, że stan wejść jest określony wektorem
X = (x 1 ,x2 , .•• ,x.), x; E B, który może przyjmować wartości ze zbioru X , tj.
XEX<;; B". Podobnie stan wyjść jest określony wektorem Y= (y1 ,y 2 , . •• ,y„).
yE B, który może przyjmować wartości ze zbioru Y, tj. YE Y s;; B'".
Pamiętanie stanów logicznych w układzie sekwencyjnym modeluje się
przez określenie stanów Q1(i = I, 2, ... , k) elementów pamięciowych (przerzutników) układu, czyli stanu wew11ę1rz11ego, danego wektorem
A= (Q,,Q 2 , •.• , QJ,
Wektor ten
Qe B
może przyjmować wartości
języka wewnętrznego
ze zbiorów stanów wewnętrznych, czyli
A
AEA s;; 8 1
Zbiór A jest zwany również „alfabetem wewnętrznym" w odniesieniu do „liter"
oznaczających stany A. Maksymalna liczba tych stanów w zbiorze A wynosi
21 = K (gdy A = B').
W uk ładach sekwencyjnych zwi11zki między stanami X, Yi A określa się
w postaci dwóch funkcji. Pierwsia z nich określa dla wektorów A'. X' następny
(tj. opóźn iony o pewien czas r)stan wewnętrzny A'+' i nosi nazwęfimkcji przejść fJ
A'+' = b(A', X')
Można
je zapisać
również prościej
A'= b(A,X)
Natomiast druga funkcja określa stan wyjść Yukladu i nosi nazwęfu11kcji wyjść i..
Funkcja ta jest funkcją przełączającą i może mieć postać opisującą tiw. aur omar
Mealy'ego (rys. 4.27a)
Y' = 2(A',X')
lub opisującą automat Moore'a (rys. 4.27b), w którym stan wyjściowy Y' zależy
w sposób jawny tylko od stanu wewnętrznego A' (zależność od X jest pośrednia,
gdyż A zależy od X )
Y' = J.(A')
Powyżsiy
zapis oznacza, że
Q1(i = 1,2, ..„k) wektora A, opisuje
136
każdą zmienną
się
równaniem:
sra11u, czyli
każdy
element
4.2. U KŁADY SEKWENCYJNE
a
y
b
y
Rys. 4.17
Podstawowe modele
a)
•~1o.na:t ~łuł)"'eso.
układów
sekwencyjnych:
b) i;.utoma.t Moore·•
QI= ó,(Q , ,Q2 ,„„Qk; x„x 2 ,„„x.)
Każdą zmienną wyjściową Y;U
= 1, 2, .„, 111) zapisuje się dla automatu Mealy'ego
jako
Y1 = l1(Q1>Qz,„„ Qk; x,,xz,.„,xJ
a dla automatu Moore'a
Y1 = l1(Q, • Qz„.„ Q.)
Funkcje
oi ). ukladu sekwencyjnego opisują się zatem układem równań
o =(o ,, Óz, „„ó,) i
2 = (..l, ,.lz„„,J.,.)
Automat, czyli model matematyczny układu sekwencyjnego, może być
zatem opisany przez piątkę ( A, X, Y, ó, .l), przy czym funkcje wyj ść ;. w automacie Meały'ego i Moore'a w ogólnym przypadku różnią się od siebie, co
zaznacza się czasem przez wprowadzenie dodatkowych oznaczeń (np. i. 1 i ).z).
Przy braku pamięci układ sekwencyjny staje się kombinacyjnym, a funkcja
). staje się funkcją przełączającą tego układu.
Jeśli zbiory A, X i Y są skończone, to tworzony przez nie automat określa
się jako skończo11y. Z określenia i l jako funkcji wynika, że dany automat jest
deterministyczny. Istnieją również automaty probabilistycz11e, w których operuje
się prawdopodobieństwami stanów wewnętrznych A i stanów wyjść Y. Podobnie
jak kody i funkcje przełączające, automat określa się jako zupe/11y, jeżeli dla
wszystkich par (A, X ) ze zbioru A x X istnieją określone wartości funkcji i J..
W przeciwnym razie au1omat jest niezupełny.
Blok realizujący funkcję ó stanowi blok pamięci, natomiast blok realizują­
cy funkcję ). jest układem kombinacyjnym. Jeśli blok ó rozbijemy w sposób
pokazany na rys. 4.28 na dwa bloki: pierwszy(µ), zawierający wyłącznie zestaw
elementów pamięciowych (przerzutników) czyli rejestr, oraz drugi (y), będący
układem kombinacyjnym, przygotowuj:1cym sygnały dla bloku µ, to schemat
blokowy automatu Mealy'ego można przekształcić do postaci pokazanej na rys.
4.28. W tym przypadku blok kombinacyjny jest utworzony z bloków y i 2.
Wekto r W oznacza sian wzbudzeń elementów pamięci
o
o
137
4.. PODSTAWY TEORII
UKŁADOW
CYFROWYCH
o
A'
I.. y•
W 1:f(A1 ,X1)
\
I
ZE GARł C )
b
Rys. 4.28
Modyfikacje struktury
kwencyjnego :
układu
se-
a) rozbicie: bloku 15 na czę:SC
kombinac)'jR1 '/ i p11omię;ciow4 µ. b) integrac:.ja
bloków kombinacy}nytb 7 i J..
S)'gtl.81 zegarowy (ZEGAR) V."")'Stwujc t)·lko
w
ZEGAR IC)
W= (q 1 , q2 , .„, q1) ,
układach
synchronicznych.
qE B
gdzie liczba I
sygnałów
wzbudze1i q
pamięciowych
(zwykle 2k
~
zależy
od rodzaju
użytych
elementów
I ~ k), przy czym
We {W" W2 ,.„, WL} = W ,
L ~2
1
Zależnie
od trybu pracy układy sekwencyjne dzieli się na układy
asynchron iczne i synchroniczne.
Układy asynchroniczne nie mają wejścia sterującego (synchronizuj ącego,
zegarowego). Reagują one natychmiast na każdą zmianę stanu wejściowego X,
a jakakolwiek zmiana stanów A lub Ymoże w tych układach wystąpić jedynie po
zmianie stanu X. Każdy nowy stan wewnętrzny A'+' ustala się po niezerowym
opóżnieniu czasowym r, wynikającym z niezerowych cz.asów propagacji w elementach, z których jest zbudowany dany układ. Zakładając, że opóżnienie
czasowe jest zawarte tylko w bloku pamięciowym µ (rys. 4.28), można definicję
funkcji /t podać w postaci
A 1 + • = µ(W')
łub
łub
A'= µ(W' -')
krótko
A'= µ(W)
W tym przypadku blok µ zawiera wyłącznie przerzutniki bez wejścia
sterującego (zegarowego), zwane asynchronicznymi. W układach asynchronicznych cały blok może być jednak układem kombinacyjnym, a funkcja pamięci
może być wówczas uzyskana przez sprzężenie zwrotne, obejmujące ten blok.
o
138
4.2. UKŁADY SEKWENCYJNE
Opóźnienie czasowe elementów bloku wprowadza niezbędne przesumęc1e
czasowe 't między wejściami i wyjściami bloku (tj. między „przyczyną" i „skutkiem"). W celu uzyskania funkcji pamięci blok ó musi zawierać nieliniowe
elementy wzmacniające, objęte pokazanym na rysunku sprzężeniem zwrotnym.
Sprzężenie zwrotne musi być dodatnie (zasada przerzutnika Eccles-Jordana).
Układ asynchroniczny, podobnie jak opisany niżej układ synchroniczny, może
być reprezentowany zarówno automatem Mealy'ego (rys. 4.27a, 4.28), jak
i automatem Moore'a (rys. 4.27b).
W układach asynchronicznych opóźnienia '• sygnałów Q,(i = I, 2 , ... , k)
w wektorze A są, ogólnie biorąc, niejednakowe. Aby zapewnić jednoznaczność
analizy, zakłada się, że w układach asynchronicznych nigdy nie występują ściśle
jednoczesne zmiany sygnałów w wektorach A i X, tzn. przy każdorazowej
zmianie stanu X i A zmienia się stan tylko jednego elementu w tych wektorach.
Zmiana stanu X jest dopuszczalna tylko wtedy, gdy stan wewnętrzny automatu
nie ulega zmianie, czyli jest stabilny (gdy A'+• = A').
W wyniku zmiany stanu X może się także pojawić jeden lub więcej stanów
wewnętrznych niestabilnych (gdy A' +• i' A'), po których powinien nastąpić stan
stabilny, chyba że układ pracuje w sposób regeneracyjny, powtarzając periodycznie określone sekwencje stanów (taki rodzaj pracy może być pożądany lub nie).
Jeśli po zmianie stanu X nastąpiło p stanów niestabilnych a następnie stan
stabilny, to łączny czas potrzebny do ustalenia się stanu stabilnego wynosi
(p + l)r. Minimalny odstęp czasowy między sąsiednimi zmianami stanu X moż­
na zatem określić jako
Tm > (Pmu + 1) 't
gdzie Pmujest maksymalną liczbą stanów niestabilnych występujących w danym
układzie przy przejściu z jednego stanu stabilnego do drugiego.
Układy synchroniczne reagują na zmianę stanu wejściowego X tylko
w dyskretnych chwilach czasowych, określonych przez zewnętrzny sygnał
periodyczny, niewchodzący do wektora X i zwany sygnałem sterującym (zegarowym, synchronizującym, taktującym) C. Sygnał ten jest doprowadzony do bloku
pamięciowego układu (ó lub µ) w sposób pokazany przykładowo na rys. 4.28.
Każdy kolejny stan wewnętrzny w układzie synchronicznym jest wytwarzany
synchronicznie z impulsami sterującymi i może być oznaczony liczbą naturalną,
odpowiadającą zwiększającej się liczbie impulsów sterujących (zegara), liczonej
od pewnego umownego zera lub umownej chwili t. W układach synchronicznych
nie występują stany niestabilne. Kolejne stabilne stany wewnętrzne ustalają się
w każdym takcie po opóźnieniu<, które musi być mniejsze niż odstęp T0 między
kolejnymi impulsami sterującymi (okres zegara). Funkcję przej ścia układu
synchronicznego zapisuje się w postaci podobnej do postaci dla układu
asynchronicznego, z tą różnicą, że zamiast symbolu r wprowadza się cyfrę I,
symbolizującą odległość czasową jednego okresu zegarowego
139
4. PODSTAWY TEORII U KŁAOOW CYFROWYCH
A'+I
= ó(A',X')
lub
lub krótko, tak samo jak dla
A' = ó(A'- 1 ,x•- 1 i
układu
asynchronicznego:
A'= ó(A,X)
Dla
układu
z rys. 4.28b mamy
A'+ 1 =µ(W')
lub
A' = µ(W' - 1)
lub krótko
A'= µ(W)
Oznaczenie „I + l" nie jest formalnie najlepsze i dlatego dla umownego
n i chwil i., i. + 1 stosuje się także w literaturze oznaczenia A" , A"+1 lub A., A.+ 1 .
O ile w układach asynchronicznych stały stan logiczny (O lub I) na wejściu
jest traktowany jako pojedynczy sygnał, to w układach synchronicznych taki
stały stan logiczny na wejściu, trwający na N taktów zegara, traktuje się jako
N kolejnych sygnałów. Jeżeli zatem w układzie sekwencyjnym występuje
konieczność odróżniania sąsiednich w czasie, jednakowych stanów wejść (np.
przekazywanych szeregowo), to układ ten musi być synchroniczny. Typowymi
operacjami synchronicznymi są operacje obliczeniowe. Składają się one w ogólnym przypadku z sekwencji wielu synchronizowanych zegarem kroków, w których następuje odczyt informacji zawartej w układach pamięciowych (rejestrach),
przetwarzanie jej w odpowiednich układach operacyjnych oraz wpisanie wyniku
do innych (lub tych samych) rejestrów. Typowymi układami asynchronicznymi
są niektóre układy automatyki przemysłowej, takie jak np. sterowniki dźwigowe
i układy alarmowe.
U kłady asynchroniczne są znacznie rzadziej stosowane w systemach
cyfrowych niż układy synch roniczne. Główną tego przyczyną jest fakt, że
w układach asynch ronicznych wskutek niejednakowych opóźnień elementów
układu i jego różnych dróg sygnałowych występuje niebezpieczeństwo wystąpienia przejściowych i stabilnych n iepożądanych reakcji na zmianę stanu
wejściowego. Zjawiska te określa się jako wyścigi i hazardy. Ich analiza
i wprowadzenie odpowiednich środków zapobiegawczych są łatwe w prostych
układach, lecz przy zwiększaniu złożoności układów analiza ta k bardzo się
komplikuje, że radykalnym środkiem zaradczym jest wprowadzenie dyskretyzacji poszczególnych kroków realizowanej operacji, czyli zastosowanie
układów synchronicznych. W układach tych wyścigi i hazardy nie występują,
a ponadto synteza tych układów jest prostsza.
Należy zauważyć, że każdy układ synchroniczny może być rozpatrywany
jako asynchroniczny, jeśli sygnał sterujący zostanie włączony do wektora X .
Niektóre układy asynchroniczne można również przedstawić jako synchroniczne, jeżeli jeden z sygnałów wejściowych wpływa na ustalen ie się stanów
140
4..2.
UKŁADY
wewnętrznych
SEKWENCYJNE
tak jak sygnał sterujący. Tego rodzaju konwersja jest korzystna,
projektowanie.
Układy synchroniczne określa się jako autonomiczne, jeżeli nie mają
żadnych wejść x.
Ogólnie biorąc, uk łady asynchroniczne mogą w dwojaki sposób reagować na sygnały wejściowe. Jeśli układ reaguje bezpośrednio na stan wejściowy X,
czyli poziomy fizyczne sygnałów wejściowych, to układ taki określa się jako
statyczny. Jeżeli natomiast układ reaguje na zmiany stanu X, oznaczane
symbolicznie X'- 1/X', to układ nazywamy dynamicznym. w tym przypadku
tylko zmiana sygnału wejściowego ze stanu O na I (0/ 1) jest interpretowana jako
x = 1 (lub x = O, zależnie od przyjętej konwencji). Ponieważ zmiana ta jest
w realnych układach krótkotrwała, oznacza to, ie stany X są „widziane" przez
układ wyłącznie w postaci krótkotrwałych impulsów szpilkowych, występują­
cych w czasie zmian stanów wejściowych. Układ statyczny o 11 sygnałach
wejściowych ma N = 2" możliwych stanów X . Natomiast w układzie dynamicznym, jeśli założymy, że przy zmianie stanu X zmienia się tylko jeden sygnał x, to
po każdym stanie xr- t może nastąpić n różnych stanów X ', czyli istnieje
N4 = n2" wejściowych stanów dynamicznych x•- 1;x•. Oznacza to, że przy tej
samej liczbie wejść układy dynamiczne mogą zapewnić większe możliwości
sterowania niż statyczne, a lbo że przy tych samych możliwościach operacyjnych
układy dynamiczne mogą mieć mniej wejść i prostszą budowę niż statyczne.
Podział na układy statyczne i dynamiczne jest również stosowany
w odniesieniu do układów synchronicznych, dla których określenia „statyczny"
i „dynamiczny" dotyczą reakcji układu na sygnał sterujący. Synchroniczny układ
statyczny jest określany jako ,,sterowany (wyzwalany) poziomem'', natomiast
synchroniczny układ dynamiczny jako „sterowany (wyzwalany) zboczem". Istnieją również układy sterowane (wyzwalane) impulsem, co oznacza pewne
połączenie sterowania poziomem i zboczem (p. 4.2.2).
Każdy układ sekwencyjny można zaprojektować jako automat Mealy'ego lub Moore'a. Nie zawsze można przewidzieć, która struktura jest prostsza
realizacyjnie. Dlatego w celu znalezienia prostszego rozwiązania często jest
wymagane sprawdzenie obydwu postaci.
Opis zewnętrzny (końcówkowy, funkcjonalny) układu sekwencyjnego
wiąże ze sobą przebiegi sygnałów wejściowych z odpowiednimi przebiegami
sygnałów wyjściowych. Nie umożliwia to jeszcze pełnego określenia struktury
układu, gdyż znajomość zbiorów X i Y jest niewystarczająca (zbiór A i funkcje
ó i A. pozostają nieznane). Określenie minimalnego zbioru A oraz najprostszych
funkcji ó i A. staje się zatem zadaniem syntezy układu sekwencyjnego.
Naturalnym opisem zewnętrznym jest opis słowny, mimo że w wielu
przypadkach jest on zbyt mało precyzyjny. Opis ten jest często stosowany do
formułowania założeń projektowych lub funkcjonalnych układu. Dość często,
zwłaszcza w układach asynchronicznych, stosuje się opis zewnętrzny w postaci
ułatwia
141
4. PODSTAWY TEORII UKŁADOWCYFROWYCH
x,
x,
Rys. 4.29
y
Przykład
wykresu czasowego
sygnałów zewnętrznych układu
sekwencyjnego
wykresu czasowego przebiegów sygnałów X i Y, co umożliwia jasne określenie
zależności czasowych między tymi sygnałami. Przykład takiego wykresu jest
podany na rys. 4.29. Często stosowane dodatkowe strzałki wskazują na
wzajemną zależność (przyczynę i skutek) zmian stanów. Jeżeli takim samym
stanom X odpowiadają różne stany Y, to oznacza że układ jest sekwencyjny.
Inną formę opisu zewnętrznego, równoważną wykresowi czasowemu,
stanowią przyporządkowane sobie ciągi zerojedynkowe sygnałów X i Y, które
przedstawia się w postaci tablicy.
Opis pełny układu sekwencyjnego określa wszystkie elementy piątki ( A,
X, Y, 2). W tym celu stosuje się opis graficzny w postaci grafu zorientowanego
z etykietą (zwanego grafem przejść i wyjśc), tablice przejść i wyjść (stanowiące
odpowiednik grafów) oraz macierze przejść i wyjść. Jeżeli zmiany stanów A nie
następują w momentach określonych przez dyskretną skalę czasu (tj. przebieg
zegara), to znaczy że dany układ jest asynchroniczny.
Konstrukcję grafów i tablic przejść i wyjść zilustrowano przykładami
z rys. 4.30, gdzie (a) odpowiada automatowi Mealy'ego, a (b) innemu automatowi
Moore'a. W obydwu przypadkach wierzchołki grafów są oznaczone (zaetykietowanc) symbolami stanów A. W układzie Mealy'ego gałęzie grafu są opisane przez
parę symboli stanów (X, Y). W układzie Moore'a gałęzie grafu są oznaczone
symbolami stanów X, natomiast stan wyjść Yprzypisuje się wierzchoł.kom grafu,
gdyż w tym układzie zależą one tylko od stanów A.
Tablica przejść opisuje funkcję czyli każdej obecnej parze stanów (A, X)
przyporządkowuje następny („nowy", „przyszły") stan A, oznaczany krótko
symbolem A'. Tablica wyjść ilustruje funkcję 2. Dla układu Mealy'ego stanowi
ona odrębną tablicę, natomiast w układzie Moore'a jest ona scalona z tablicą
przejść, tworząc tablicę przejść i wyjść. Z dwóch tablic układu Mealy'ego można
również utworzyć jedną tablicę przejść i wyjść, jeżeli każdej kratce tablicy
przeporządkuje się dwa stany: A i Y.
Tablicę przejść i wyjść układu Moore'a można łatwo przetworzyć
w tablicę równoważnego układu Mealy'ego, jeżeli stany Y wprowadzi się do
wewnątrz tablicy przejść, jak pokazano na rys. 4.30b. Jeśli oznaczymy funkcję
o,
o,
142
4.2. UKlAOY SEKWENCYJN E
o
AX
AX
Xt x,
A, Az At
Az A3 Az
Grot
+
A3 Az A,
A
przejść i wyjść
x, x,
At v, v,
Az v, v,
A3 Yz
v,
-
X
A
x,
Xt
At Az'/2 Ai.Y2
A, A1,Y3 A1,Y1
A, A1,Y2 A,,Y,
y
Tablico
A', Y
Tablico
przej ść.
Tobtica
wyjŚĆ
prz~~ć i
Wyj'SC
b
x,
Xz
AX
Xt Xz x,
At Az A, A3
Az A, At Az
y
v,
v,
A3 A, A3 A, Yt
A
Xz
Rys. 4.30 Przyklady
1.1kłlld
Meal)"cgo, b)
A' .Y'
To~\;~o przejść i
WYJSC okładu
Moore'o
Graf prze)ść i wyJść
:k)
A3 AhY2 A'l1Y1 A2,Y2
pełnego opisu układu
Moore'a
przejŚĆ i
wyjść rownowożnego
Tablico
uk !lldu Meotyego
sekwencyjnego w poscaci symbolicznej
układ
wyjść układu
Mealy'ego przez A. 1 (A',X') = Y' i funkcję wyjść układu Moore'a
przez A. 2 (A') = Y', to wykorzystując funkcję przejść A'+ '= o(A',X') w postaci
A' = o(A' - 1 , x•- 1)
otrzymujemy
22(A')
=
.l,(o(A' - 1 ,x'- 1)) = A.t(A' - 1 ,x'- 1)
=
Y'
czyli
y•+•
=
2T(A',X')
lub krócej
Y' = .l.1(A,X)
gdzie .l! jest funkcją wyjść równoważnego układu Mealy'ego. Oznacza to, że
stany wyjść tak określonego układu pojawiają się jeden takt później niż
w definicyjnym układzie Mealy'ego.
Konwersja tablicy przejść i wyjść układu Mealy'ego w równoważną
zewnętrznie tablicę Moore'a jest bardziej złożona, gdyż każdemu stanowi
143
4, PODSTAWY TEORII UKlAOOW CYFROWYCH
A tablicy Mealy'ego trzeba przyporządkować tyle stanów a równoważnej tablicy
Moore'a, ile różnych stanów Y było w nim skojarzonych w tablicy Mealy'ego.
W tym celu zazwyczaj buduje się tablicę pośrednią, w której każdej parze (A, Y)
przyporządkowuje się pewien stan a z nowego zbioru A, odpowiadającego
tablicy Moore'a. Przedstawiono to na przykładzie z rys. 4.31. Tabl.ica Mealy'ego
(a) z rys. 4.31a jest przekształcona w tablicę pośrednią (b), a następnie zgodnie
z procedurą wskazaną liniami przerywanymi w tablicę Moore'a (c).
o
AX
A,
x,
x,
A2,Y2 A, .Y2
Az A„ Y3
A,
Az,Y1
A2.Y2 A1 , Y3
b
A
x, x,
At
Az.Yz
p,,,,v,
~~
~ A3,Y3 Az,V,
Az
A1
c
'>co:: ><o;
Az 1Y2 Ai,Y3
/,(, /o'.
x, x,
A
y
v,
v,
03 a, Os v,
o, o, o, v,
o,
03
a,
a, a, a,
o, o, o, Y3
Rys. 4.31 Konwersja przykładowej tablicy p rz.eJSC
Mealy'ego (a) w równoważną tablicę
(c) przy użyciu tablicy pośredniej (b)
Powyższe przykłady
układu
układu
1 wyJSC
Moore'a
oparte były na zbiorach X, A , Y określonych
w postaci symbolicznej. Jeżeli natomiast symbolicznym elementom tych zbiorów
zostaną przyporządkowane odpowiednie stany zerojedynkowe, to grafy i tablice
przejść i wyjść można przedstawić w postaci zakodowanej, jak pokazano na
przykładach z rys. 4.32 (odpowiadających rys. 4.30).
Do opisu małych układów sekwencyjnych, zwłaszcza przerzutników,
stosuje się także tablice funkcyjne , stanowiące odpowiedniki tablic stanów
w układach kombinacyjnych. Tablica funkcyjna w wygodny do interpretacji
sposób przyporządkowuje każdemu stanowi wejść X' e X w chwili t odpowiedni
stan wyjść y• +• w chwili (t + t), względnie y •+ 1 w chwili (t + I), przy czym stan
wyjść wyrażany jest nie tylko przez stany logiczne (O, !) lub poziomy (L, H), lecz
144
4.2. UKŁADY SEKWENCYJNE
o
X ={0.11 .
A=[00.01,10j , Y ={10,11.01)
o 11
,10
X
A
1.01
b
A
o 1
oo 01 oo
01 10 01
x ={00.11.101
A ={10.11.ool
X
1
11
oo 11
o
01 01 10
10 01 oo
10 11 01
A
y
v . {1.0]
oo
10
AX
oo 11 10 y
10 11 10 oo o
11 oo 10 11 o
oo
oo
Rys. 4.32
Prżyklady
a) u.kl.;id Mealy'ego. b)
10
oo 11
1
z rys. 4.30 w postaci zakodowanej
układ
Moore'a
także
przez „poprzednie" stany wyjść Y'. W tablicach funkcyjnych kolejność
zapisu poszczególnych stanów X ' nie ma żadnego znaczenia i najczęściej
uszeregowuje się je zgodnie z tablicą kodu NB.
Podstawowe układy sekwencyjne:
przerzutniki. Symbole graficzne
4.2.2
Przerzutnikami nazywamy układy sekwencyjne Moore'a, które mają jednobitowy stan wewnętrzny, identyczny ze stanem wyjściowym: A = Q = Y,
A = Y = B oraz stan wejściowy równy stanowi wzbudzeń: X = W Stan logiczny
przerzutnika jest równoważny stanowi wyjścia (Q). Mówimy, że przerzutnik jest
elementarnym automatem dwustanowym, gdyż Qe{O, l}. Gdy przerzutnik
znajduje się w jednym z tych dwóch stanów, wykluczających się wzajemnie,
wówczas zmiana stanu przerzutnika może nastąpić jedynie w wyniku podania na
jego wejścia nowych informacji (lub wyłączenia zasilania).
145
4, PODSTAWY TEORII UKŁAOOW CYFROWYCH
o. ~ (W)
X:\'/ {
.''
?
f
Zegor (CI--- Cm
Y:O
vdi
Rys. 4.33
Ogólny symbol przerzutnika
Symbolem graficznym przerzutnika - zgodnie z zaleceniami IEC (Pub!.
617-12) - jest prostokąt lub kwadrat (rys. 4.33). Przerzutnik ma pewnę liczbę
wejść (przynajmniej dwa) i wyjść Gedno lub dwa). Mogą być następujące wejścia:
informacyjne X (oznaczane zależnie od typu przerzutnika symbolami S, R, J, K,
D, 1) i sterujące (wyzwalające) C, tradycyjnie określane jako zegarowe i oznaczane w literaturze także symbolami CP, CK, CLK lub po prostu CLOCK - zegar.
Wyjścia Y stanowią zwykle komplementarną parę (Q, Qi.
Tak jak wszystkie układy sekwencyjne, przerzutniki dzieli się na asynchroniczne (bez odrębnego wejścia sterującego C) i synchroniczne (z wejściem
sterującym C). Jeśli jednak sygnał sterujący włączymy do stanu wejściowego X,
to przerzutnik synchroniczny może być uważany za asynchroniczny. Dlatego
można powiedzieć, że wszystkie przerzutniki mogą być określane jako układy
asynchroniczne. W dalszej treści będzie jednak utrzymany podział przerzutników na asynchroniczne i synchroniczne.
Na rysunku 4.33 przedstawiono ogólny symbol przerzutnika. Litery a ...f
oznaczają wejścia informacyjne, a litera m stanowi rezultat stosowania notacji
zależnościowej od wejścia sterującego C, występującej oczywiście tylko w przerzutnikach synchronicznych. Literę tę w danym typie przerzutnika zastępuje się
liczbą (np. I lub 2), którą umieszcza się również przed określonym symbolem
wejścia informacyjnego (np. zamiast a piszemy 1D lub zamiast b piszemy 2K).
Oznacza to, że stany wewnętrzne tak oznac-~onych wejść informacyjnych
wpływają na działanie przerzutnika tylko przy stanie wewnętrznym C = 1,
natomiast przy stanie wewnętrznym C = Ostany te nie mają żadnego wpływu na
działanie przerzutnika. Wejścia informacyjne, które są związane taką notacją
zależnościową z wejściem sterującym C, określa się jako synchroniczne. Pozostałe
wejścia informacyjne są wejściami asynchronicznymi.
Do opisu właściwości logicznych przerzutników wykorzystuje się wiele
sposobów. Do podstawowych z nich należą tablice przejść, tablice funkcyjne,
tablice wzbudzeń i funkcje przejść (równania funkcyjne). Poza tym są stosowane
także grafy przejść i wykresy czasowe.
Tablica przejść i tablica funkcyjna ilustrują w różny sposób tę samą
zależność Q' = o(Q, W). Przy opisywaniu konkretnych układów scalonych
tablice funkcyjne (zwane także tablicami prawdy) są zazwyczaj przedstawiane
przy użyciu poziomów fizycznych L, H (zamiast stanów logicznych O, l), a na
symbolach graficznych stosuje się wskaźniki polaryzacji (SWP, p. 4.1.4). Tablica
wzbudzeń przedstawia zbiór stanów wzbudzeń W potrzebnych do uzyskania
146
•~. U KLA.OYSEICWENCVJ NE
czterech możliwych zmian stanu Q _, Q'. Równanie funkcyjne przerzutnika
przedstawia funkcję przejść Q' = .S(Q, W) jako formę boolowską.
Istnieją cztery zasadnicze typy przerzutników: SR, O, J K i T. Będą one
omówione niżej jako układy asynchroniczne i synchroniczne. Podane przykłady
budowy nie są jedyne; w szczególności układy zbudowane z bramek NAND (ł N)
można zbudować także z bramek NOR (LUN).
4.2.2.1
Przerzutniki asynchroniczne
Najprostszym przerzutnikiem asynchronicznym jest statyczny przerzutnik SR
(Set-Reset) o budowie pokazanej na rys. 4.34a. Aby go odróżnić od synchronicznego statycznego przerzutnika SR, są stosowane także w literaturze oznaczenia
sr lub wz, odpowiednio do zmienionych symboli sygnałów wejściowych. Jest
stosowane także oznaczenie RS.
a
b
s--JSl-a
R--Li-P
d
c
$łon
0
SR
logiezrWe
zo!!:.ooiony
'\,.li!!l.,...Wl!,-!-11!...,-!1.IL,
o o o 1 1 o -
1•1
I
s R a·
o o Q
o 1 o
1
1
o
1
1
1
p'
p
1
o
o o
1
-
Stan l<>gicznie
zobron1ony
a
e
o-o· s R
o o o X
o 1 1 o
1 o o 1
1 I
• o
SR •10
01
x - stan O lub 1
Rys. 4.34 Pnerzutnik a.synchroniczny statyczny SR
a) budowa • ~ I)
NOR (LUN). b) .,..boi _..1n;1:a, <) 1&blica pntjić. d) l&blica l\mkyJU. •) Qblico
,,.r pncjlt
147
4 PODSTAWY TEORII UICtADOW CYFROWYCH
Stany wewnętrzne i zewnętrzne wejść S, R są jednakowe (rys. 4.32b).
Zmiany stanów przerzutnika są wywołane wprowadzeniem na odpowiednie wejścia stanu logicznego 1, zgodnie z tablicą przejść (rys. 4.34c). Przerzutnik
ten może zmieniać stan tylko wówczas, gdy S = R. Przy SR = 00 przerzutnik
pozostaje w stanie„nie zmienionym" czyli Q' = Qi odpowiednio P' = P. Stan ten
zależy od tego, które z wejść było „ostatnio" w stanie I, tzn. czy przed stanem
SR =OO był stan Ol czy 10. Stan SR = 11 jest logicznie zabroniony, gdyż od
przerzutników wymaga się, aby na ich wyjściach zawsze były komplementarne
stany logiczne. Oznacza to, że w przerzutniku SR powinien być spełniony
warunek S · R = O. Jak widać z tablicy funkcyjnej (rys. 4.34d) przy SR = 11
otrzymuje się Q' P' Oi dlatego w przerzutniku SR drugie wyjście oznacza się
nie symbolem Q, lecz innym (P).
~isując równania opisujące bramki NOR z rys. 4.34a w postaci
Q' R v P i P S v Q otrzymujemy równanie funkcyjne przerzutnika SR:
= =
=
=
Q' = R(S v Q)
spełnianiu
które przy
warunku S · R = O można
o
uprościć:
b
~
s-<fSl--o
Jl--4!_j-p
c
d
SR~ logicznie zo broniony
01 11 10
1
o oo
o I
-
I
o o
I o
t
s
ł• t
R Cl P'
,
1
o o
o 1 1 o
I
o o 1
I
1 o p
Stan
-
l o~icznit
zabroniony
rt
e
o- o·
~
R
o o 1 •
o 1 o 1
1 o 1 o
1
I
X
10
1
Rys. 4.JJ Przerzutnik asynchroniczny statyczny
SR
a) budowa 1 bnmc.k NAND OJrl). b) 'Ylnbo1 pnwtUlftik.t. c) cablica prttjit., d) cablic:a
-
148
o .,.r pnqll
tllftk~
e) tablica
4.2. U~ŁAOY SEICWENCYJNE
Q' = R(S v Q) v SR = S v QR
W podobny sposób można opisać działanie przerzutnika SR wykonanego
z dwóch bramek NAND (rys. 4.35a). Dla zaznaczenia, że przerzutnik ten zmienia
stan w odpowiedzi na stan O sygnałów S lub g, na schemacie z rys. 4.35a
zastosowano symbole równoważne bramek NAND. Stany wewnętrzne i zewnęt­
rzne wejść S, R nie są już jednakowe i stanowią swe dopełnienia (rys. 4.35b).
Równanie funkcyjne tak zdefiniowanego przerzutnika SR otrzymuje się w tej
samej postaci co poprzednio:
Q'=S V QV R=SV QR
gdyż warunek „ustawienia" (set) przerzutnika pozostaje taki sam (Q = I gdy
S = I i R = O).
Jeżeli przerzutnik reaguje wyłącznie na zmiany stanów wejściowych
(zbocza impulsów wejściowych), to jest on przerzutnikiem dynamicznym. Najprostszą realizację tej zasady stanowi dodanie na wejścia przerzutnika statycz-
o
•Ucc
Przerzutnik
stotyczny SR
, - - - ---1
R,
JL c
I
so--ł
o
o
·n
o
d
o
'.n :
l.\.
JL c
t
Ro--ł
I
R,
c
L-- -
-
b
R
R
O
I
__ J
+Uce
...rL c
So--ł
u.
...rL c
R o--ł
R
R
O
Rys. 4.36 Przerzutniki asynchroniczne dynamiczne
a) budow~ przeriutn.ił:a SR, b) &)'mboł przerzutnikn SR. c) budowt1 pm:rt1.1ln1k1t
Uw-.1g;i:
ponieważ:
n.1 "">epc;i;u;h
Ulłi()S()warUt OO'J\3C;i:eń
149
poka'lltn)'ł;h
ukl:idów open1jc
s~ poiłomam.i
SWP, Cl.}'łi ti6jkącik6 w zamiast k6łecicl(.
SR. d) 3)'mbol prtt:r-tulnika SR
rr,yctnymi . ....1;·lścl wtte byi<>by
4. PODSTAWY TEORII UKŁA00W CVFAOWYCH
nego prostych układów różniczkujących RC, jak pokazano na rys. 4.36. W ten
sposób otrzymuje się asynchroniczne dynamiczne przerzutniki SR i SR. Dzielniki
napięcia R 1- R 2 w przerzutniku dynamicznym SR (rys. 4.36a) dobiera się tak, aby
napięcie na wejściach przerzutnika statycznego było równe typowemu napięciu
wyjściowemu tych bramek na poziomie niskim (UL). Zapewnia to pewne
wyzwalanie przerzutnika impulsami dostarczanymi z innych układów scalonych
z tej samej klasy co użyte bramki. Podobnie w przerzutniku dynamicznym SR
z rys. 4.36b dzielniki napięcia R 3 - R4 projektuje się tak, aby napięcie na wejściach
przerzutnika statycznego było równe typowemu napięciu wyjściowemu tych
bramek na poziomie wysokim (U8 ). Jak widać, przerzutnik asynchroniczny
dynamiczny SR reaguje tylko na zbocza narastające impulsów wejściowych,
a przerzutnik asynchroniczny dynamiczny SR tylko na zbocza opadające
impulsów wejściowych. Układy takie okazują się w praktyce bardzo użyteczne.
Ich działanie logiczne opisuje się tymi samymi tablicami i grafami jak dla
przerzutników statycznych, jeśli sygnały na wejściach składowych przerzutników statycznych przyjmiemy w postaci krótkich impulsów szpilkowych,
odpowiadających aktywnym zboczom na wejściach przerzutników dynamicznych. W przerzutniku dynamicznym SR będą to szpilki dodatnie, a w przerzutniku dynamicznym SR ujemne. Z uwagi na znikomą możliwość niespełnienia
warunku S · R = O w przerzutniku dynamicznym SR oraz warunku S v R = 1
w przerzutniku dynamicznym SR, obydwa wyjścia tych przerzutników oznacza
się komplementarnie (Q, Q).
Przerzutniki synchroniczne
Istnieją następujące
4 .2.2 .2
typy przerzutników synchronicznych: JK, SR, D i T.
Zależnie od sposobu wyzwalania, wyróżnia się (według normy IEC
617-12) cztery rodzaje takich przerzutników (rys. 4.37):
a)
zatrzaskowe (latch),
b)
wyzwalane zboczem (edge-triggered),
c)
wyzwalane impulsem (pulse-triggered),
d)
z blokadą danych (data-lock-out).
Dwa z nich (rys. 4.37cd) mają wejścia dynamiczne, oznaczone trójkącikami. Wejście dynamiczne interpretuje się w ten sposób, że związany z nim
stan wewnętrzny (w tym przypadku C) jest przejściowo równy 1 tylko podczas
zmiany stanu wewnętrznego: z O na I Geśli wejście to jest bez wskaźnika negacji)
lub z 1 na O Geśli wejście ma wskaźnik negacji). W każdym innym czasie stan
wewnętrzny na wejściu dynamicznym jest równy O. W symbolu przerzutnika
z blokadą danych jest wprowadzony symbol opóźnionego wyjścia „-..,", który
oznacza, że zmiana stanu przerzutnika jest wstrzymana do momentu, gdy sygnał
inicjujący zmianę (C) osiągnie początkowy stan zewnętrzny. Do prawidłowego
działania wszystkich przerzutników (z wyjątkiem zatrzaskowego) wymaga się,
150
4.2. UKŁADY SEKWENCYJNE
o
c
Rys. 4.37
Oznaczenie sposobu
steruj ącego C
działania
sygnału
a) sterowanie statyctDC w prunutnikach n tnas.ko·
wych.
d
b
b) $lero~nje impulsowt- w pmrzutnikacb
wyZW*lanych impulstm,
c) mrowa.nie dynamiczne
w pmrzutmk;a.c;h
„yzwalanfcb lbocum.
d) sterowanie d)mmkwe w pqrn.ut.n.ikach
z
blok~d~
dany(:h
o
b
c
~=fl-:
R~Q
&
Rys. 4.38 Przerzutnik zatrzaskowy SR
a) budowa. b)
żeby
~ymbole
stan wewnętrzny każdego wejścia związanego z wejściem C nie zmieniał się
w czasie gdy C = I.
Budowa zatrzaskowego przerzutnika SR jest pokazana na rys. 4.38a.
Sygnały wejściowe tego przerzutnika są przenoszone (z negacją) przez bramki
wejściowe tylko przy stanie sygnału sterującego C = l i wówczas przerzutnik ten
opisuje się takimi samymi tablicami jak przerzutnik asynclironiczny statyczny
SR z rys. 4.35. Przy C = Ostan Q przerzutnika synchronicznego nie zależy jednak
od stanów wejściowych S, R, natomiast jego wartość (O lub I) określa się
z podanego wcześniej równania funkcyjnego Q' = ~(S v Q), gdzie wartość
stanów S, R i Q odnoszą się do chwili zmiany stanu sygnału zegarowego Cz I na
O(oznacza się to symbolicznie jako C = 1/0 lub C = !). Oznacza to, że w chwili
C = 1/0 stan Q zostaje trwale zapamiętany, co odpowiada „zatrzaśnięciu"
informacji wejściowej (stąd nazwa przerzutnika).
Jeżeli w tym układzie wejście R zostanie połączone poprzez inwerter
z wejściem S, to otrzymany układ określa się jako zatrzaskowy przerzumik D
(rys. 4.39). Zasadniczą funkcją układu jest przenoszenie stanów sygnału z wejścia
D na wyjście Q w czasie trwania impulsu zegarowego (tj. przy C = I) oraz, przy
C = O, przechowywanie tego stanu, który istniał na wejściu D w chwili, gdy
C = 1/0. Odpowiada temu równanie funkcyjne przerzutnika D:
151
4. POD$TAVłY TEORII U Kt.AOOW CVFROWYCH
b
o-fl-:
c--h_j,-a
c
d
OD
o
o o
1 o
1
1
1
e
f
a-o
o
o o o
o
1
1
o o
1
1
0• 1
1
o
1
Rys. 4.39 Przen:ulnik zatrzaskowy
a) budowa b) symbole, c)
&abłilCI pr:rcjłić,
d)
ta bl ~
funkcyjna, c) Lablica
~bud;,ei\ ,
o ir1r pnc;K
Q' =D
Oczywiście przenoszenie sianu
D na wyjście Q przy C = 1 jest czynnością
rrywialną. nie wymagającą funkcji pamięci. Istotna jest naromiast czyn ność
zapamiętywania stanu D w chwili C = 1/0 na leoretycznie dowolnie długi czas,
przy którym C = O (rys. 4.40). Podobnie jak w poprzednim przerzutniku,
przypomina to czynność ,,zatrzaskiwania" informacji wejściowej przy C = ł/O
i dlatego przerzutnik ten nazywa się zatrzaskowym lub po prostu ,,zatrzaskiem"
(late/i). Literę D w nazwie zazwyczaj się opuszcza, gdyż poprzedni typ przerzutnika (zatrzaskowy SR) jest stosowany bardzo rzadko jako odrębny układ.
Natomiast zespoły (czwórki i ósemki) przerzutników zatrzaskowych D są
wykonywane w licrnych odmianach jako układy scalone do typowych za.
stosowań jako małe pamięci pośredniczące (buforowe). Prostszą budowę przerzurnika zatrzaskowego przedstawiono na rys. 4.41.
Przerzutnik JK różni się zasadniczo tym od przerzutnika SR, że
wykorzystuje zabroniony poprzednio stan wejść równy 1 do uzyskania sta nu
wyjścia
Q' = {2.
Klasyczny przykład to przerz utnik J K wyzwalany impulsem. Jest to układ
wykorqstujący obydwa zbocza impulsu sterującego do zmiany stanu przerzur-
152
4.2.
UKŁADY
SEKWENCYJNE
o
c
_J
t/
Zatrzask
Zatrzask
''i.___,--v
L-
- 1.>....>
Q
R ys. 4.40. Przykładowe przebiegi czasowe, ilustrująre dzialanie pnerzu1nika
za1rzaskowcgo (strzałkami oznaczono wocza •.za1rzaskująre" sygnalu C)
Rys. 4.41
Prostsza budowa przerzulnika
zatrzaskowego
takiego przerzutnika stanowi użycie dwóch kaskadowo
zatrzaskowych przerzutników SR w sposób pokazany na rys.
4.42a. W układzie tym przerzutnik M pełni funkcję „pana" (Master), a przerzut·
nik S „sługi" (Slave). Stąd też pochodzi zwyczajowa angielska nazwa tego
przerzutnika: Master-Slave, w skrócie M-S. Dzięki temu, że sygnał sterujący
C blokuje bramki I, 2 przy C = O albo bramki 3, 4 przy C = I, nie istnieje
możliwość powstania oscylacji wskutek sprzężenia zwrotnego. Przebiegi czasowe w tym układzie przy J = K = 1 są podane na rys. 4.42b, zaś kolejne operacje
nika.
Prostą realizację
połączonych,
są następujące:
izolacja układu M od S (zablokowanie bramek 3, 4),
wprowadzenie informacji wejściowej do układu M (tylko jedna z bramek
I, 2 może być otwarta wskutek sprzężenia zwrotnego z wyjść Q, Q),
3)
izolacja układu M od wejścia (zablokowanie bramek I, 2),
4)
przeniesienie informacji z układu M („pana") do S („sługi").
Aby zapewnić taką kolejność operacji, bramki 1 + 4 i inwerter I muszą być
odpowiednio zaprojektowane. Można jednak układ przerzutnika JK wyzwalanego impulsem zrealizować prościej, jak pokazano na rys. 4.43, gdzie nie są
wymagane specjalnie projektowane bramki.
Zwiększenie możliwości układu osiąga się przez wyposażenie przerzutnika w dodatkowe wejścia asynchroniczne: ustawiające S i zerujące R, które
umożliwiają zmianę stanu przerzutnika niezależnie od stanu na wejściu sterują­
cym C (rys. 4.44). Jest to w istocie połączenie przerzutnika synchronicznego JK
wyzwalanego impulsem i przerzutnika asynchronicznego statycznego SR.
Równanie funkcyjne przerzutnika JK ma postać
I)
2)
Q' = JQv KQ
153
4. PODSTAWY TEORII UKŁAOOW CYFROWYCH
o
M
s
s
)
s
c
R
K
b
o
ij
J•K •1
c1--~2
O--
I
I
V
a:.=::::\,__-t--~
Q
c
C
JUJ
Cl
Q
K
1K
O
e
In
l
l
Q
oo 01 11
o o o 1
1 1 o o
J
łn.1
a· o·
o o o o
o 1 o 1
1 o 1 o
1 1 il o
J
K
K
10
1
1
a
o-a·
o o o
o 1 1
X
1
o
X
1
1
1
X
o
K
X
R ys. 4.42
Przerzutnik JK wyzwalany impulsem
a) zasada budowy,
g
JK~1 0,11
01.11
154
b} przebiegi czasowe przy J = K = 1,
<:) s)·mbol grafia.n)-.
d) 1ab!K.:.1 pm:jść.
e) 1ablica funkqjna,
f) cablica "'7.buduń,
g) graf pn.ejSC
4.2. UKlAOY SEKWENCYJNE
1-1---00
c
.,..-+--oii
~~
Rys. 4.43 Prostszy
układ
przerzutnika JK wyzwalanego impulsem
o
so-~~~~~~~~~~~~~~
co--
b
s
J
c
K
li
-, a
-, o
Rys. 4.44 Przerzutnik JK wyzwalany impulsem, z dodatkowym
i zerującym R)
wejściem asynchronicznym (ustawiającym S
a) schemat Jogieiny. b) symb<>I grafiCVlY
Schematy logiczne scalonych przerzutników JK wyzwalanych impulsem
mają nieco inną budowę, co wynika z użytych technologii. Działanie tych
układów, widziane na końcówkach, jest logicznie jednak takie samo, jak
układów z rys. 4.42, 4.43 i 4.44.
Pewną wadą przerzutnika JK wyzwalanego impulsem jest warunek, aby
stany na wejściach J , K nie ulegały zmianie podczas impulsu sterującego (gdy
stan wewnętrzny C = I), gdyż w przeciwnym razie działanie przerzutnika może
być nieprawidłowe. Oznacza to podatność przerzutników wyzwalanych impulsem na zakłócenia sygnałów J, K , pojawiające się przy C = I. Wady tej nie mają
przerzutniki wyzwalane zboczem, w których wprowadzenie danych z wejść
informacyjnych i odpowiednia zmiana stanu wyjść następuje synchronicznie
155
4. PODSTAWY TEORII UKLAOOW CYFROWYCH
z jednym zboczem impulsu sterującego. W przerzutniku JK wyzwalanym
zboczem zmiany stanów J , K podczas trwania impulsu sterującego są już
dopuszczalne. Należy podkreślić, że w przerzutniku wyzwalanym zboczem
podczas trwania impulsu sterującego jest stan wewnętrzny C = O.
Budowa przerzutników wyzwalanych zboczem wykorzystuje podstawowy układ zatrzaskowy przerzutnika SR, pokazanego na rys. 4.38. Przez
wprowadzenie dodatkowych bramek i sprzężeń otrzymuje się układ przerzutnika
SR wyzwalanego zboczem, zawierający 8 bramek NAND i 2 inwertery (rys. 4.45).
Układ ten ustala stany wyjściowe Q, Q odpowiednio do stanów wejściowych S,
R i zgodnie z tablicą przejść z rys. 4.35c, lecz synchronicznie z narastającym
zboczem impulsu sterującego.
b
SBS
C
R
Cl
IR
o
0
Rys. 4.45 Przerzutnik SR wyzwalany zboczem
a) tu.adowa, b) $)'ml>ol
Pokazany układ przerzutnika SR wyzwalanego zboczem może być łatwo
w uniwersalny przerzutnik JK wyzwalany zboczem, przez zastąpienie inwerterów wejściowych bramkami NAND. Sygnał S zastępuje się
przez JQ, a sygnał R przez KQ (rys. 4.46).
Przerzutniki wyzwalane zboczem są niezastąpi one w tych zastosowaniach, gdzie stany na wejściach informacyjnych nie mogą być utrzymywane
przekształcony
156
4.2. U KLAOY $f:l(WENCYJNE
o
KO--+--l
b
'
JBJ
C
K
C1
1K
o
O
c
J
K
c
_J
C1
Q
_J
Rys. 4.46. Przcnutnik JK wyzwalany zboczem
• ) bi,Jdo.,.... b) ł)1Dbol et pmbiqi cz;uo• -e
bez wiiany w czasie trwania impulsu sterującego. Uklad przerzutoika SR
wyzwalanego zboczem może być uproszczony w takich zastosowaniach, gdzie
występują wylącznie komplementarne stany wejściowe (S = R), czyli wyeliminowany jest stan wejściowy S = R = O (stan S = R = I jest zabroniony
na mocy definicji przerzutnika SR). Wówczas układ przerzutnika SR z rys.
4.45 może być uproszczony do postaci pokazanej na rys. 4.47. Stąd można
łatwo otrzymać schemat przerzutnika D wyzwalanego zboczem (rys. 4.48).
157
4. PODSTAWY TEORII UKtADOW CYFROWYCH
s
co--....
Rys. 4.47 Budowa przerzutnika SR
wyzwalanego zbocum i działającego
prawidłowo, jeśli spełni ony jest
warunek S = R
c
o
c
Cl
b
ono
C
Cl
---'----L-----L---~
o
il
Rys. 4.48. Przerzutnik O wyzwalany zboczem
a) txado-.-.. b) qmbol, c} pn.ebtegj a.uowe
Jest on opisany tymi samymi tablicami co przerzutnik zatrzaskowy z rys. 4.39,
z jedną różnicą. W układzie z rys. 4.39 zatrzask następował przy zmianie stanu
wewnętrznego C = 1/0, a przy C = I każda zmiana stanu D przenosiła się na
wyjście, natomiast w przerzutniku wyzwalanym zboczem wpisanie i ,,zatrzaś­
nięcie" informacji z wejścia D następuje momentalnie przy zmianie stanu
158
4.2.
UKŁADY
SEKWENCYJNE
zewnętrznego
z O na l (gdy stan wewnętrzny C = !) i poza tym przerzutnik
nie reaguje na zmiany stanu wejściowego D. Jeśli stan na wejściu D ustala
się krótko po „wpisującym" zboczu impulsu sterującego, to takie działanie
przerzutnika D reprezentuje funkcję opóźnienia, gdyż stan ten zostanie przeniesiony na wyjście Q dopiero synchronicznie z następnym „wpisującym"
zboczem impulsu sterującego. Jeśli sygnał sterujący jest okresowym sygnałem
zegarowym, to odpowiada to opóźnieniu bliskiemu okresu zegara. Stąd też
pochodzi symbol D (delay).
Podobnie wygodne w zastosowaniach są przerzutniki z blokadą danych na
wejściach informacyjnych. Blokada ta dopuszcza zmiany stanów na tych
wejściach podczas impulsu sterującego (gdy C = I). Wpisywanie danych z wejść
informacyjnych następuje w tych przerzutnikach tak samo jak w przerzutnikach
wyzwalanych zboczem, lecz odpowiednie zmiany na wyjściach następują dopiero
po powrocie sygnału sterującego do początkowego stanu zewnętrznego (tak jak
w przerzutnikach wyzwalanych impulsem).
Przerzutnik D można łatwo przekształcić w asynchroniczny przerzut11ik T,
jeśli wejście D zostanie połączone z Q, a wejście sterujące C oznaczy się symbolem
T. Jest to układ bistabilny, dzielący częstotliwość impulsów podawanych na
wejście Tprzez dwa i dlatego określany jako „dwójka licząca" (rys. 4.49a). Ten
sam wynik można otrzymać stosując przerzutnik JK (rys. 4.49b, c).
o
b
C
stan 1
lJ
T
T
T
Q
Cl
K
Rys. 4.49. Asynchroniczny pr7.erzutnik T
a)otrcymany i pn..en.ulnika O W)'i\\'a.lanego zboCllem., b) otrzyman)' l pmnutnika JK "")'l"''aJaoego 'lbocwn, c) Inny
sposób wył:()l".l::)1łan ia pn,trtutnik.a JK
Synchroniczny przerzutnik T można otrzymać z przerzutnika JK przez
zwarcie wejść JK w jedno, oznaczone symbolem T(rys. 4.50). Dlatego też nie
wytwarza się przerzutników T jako odrębnych układów scalonych. Tablica
przejść, tablica funkcyjna i tablica wzbudzeń przerzutnika T stanowią oczywiście
części odpowiednich tablic przerzutnika JK (rys. 4.42).
Równanie funkcyjne przerzutnika T otrzymuje się z równania przerzutnika JK podstawiając J = K = T
Q' = 7Qv 7Q = TffiQ
Przyrównując prawe strony równań
funkcyjnych różnych przerzutników
można uzyskać konwersję jednego przerzutnika w drugi. Na przykład, przyrów-
159
4. PODSTAWY TEORII UKLADOW CYFROWYCH
o
T=aJOTBO
b
C
C
C1
1K
~
Cl
Q
i)
e
d
c
t
o o
1
1
o
a
1
a-0 T
o o o
1
t.
łn .1
o
a'
o a
,
1
1
o
1
o
1
1
o
T
,
Rys. 4.50 Prurzu1nik T
a)
_ .y
z pmnucnika
•) t>.blica -
o
IK. b) 'Y'"bol. c) 1abloao ...,.;;<. d) tablioa f..U,jna.
· I) .,., pn<jlt
b
r - - - - - - ----,
:
o.r ea
:
I
r --- - - - --- .-,
I
O
D
I
I
=1
T•D@O
li
1T
o
C o~----pC
I
L---- - - - - -...J
Rys. 4.51 Konwersja
a}
pnemitnił:
między
T ueatizo• ·a11y
pn)'
przerzutnikami T i D
pomocy prurz.utnib O. b) odwrocnie
nując
równania przerzutnika T i przerzutnika D otrzymujemy D =
Wynikające stąd możliwości zilustrowano na rys. 4.51.
Metody syntezy
układów
sekwencyjnych
re Q.
4.2.3
Zadanie syntezy układu sekwencyjnego polega na określeniu takiej struktury
układu, który przy znanym pocz.1tkowym stanie wewnętrznym A i zadanym
ciągu X stanów wejściowych generuje pożądany ciąg Ystanów wyjściowych.
Zadanie to można rozwiązywać w różny sposób.
Tak zwane klasyczne metody syntezy, sformułowane m.in. przez D. A.
Huffmana, G. H. Mealy'ego i E. F. Moore'a wykorzystują elementarne układy
logiczne,jakimi są bramki i przerzutniki. Stosowanie tych metod jest praktycznie
ograniczone do liczby zmiennych wejściowych nie większej od trzech i liczby
stanów wewnętrznych nie większej od ośmiu, gdyż "ręczne" projektowanie przy
większych liczbach zmiennych wejściowych i stanów wewnętrznych jest bardzo
uciążliwe. Liczby te można nieco zwiększyć po zastosowaniu technik dekom-
160
ł.2.
UKt.AOY SEXWENCYJNE
pozycji (podzjału układu na mniejsze części, które są łatwiejsze w projektowaniu)
lub/ i przy projektowaniu wspomaganym komputerem. Najczęściej jest to jednak
niecelowe, gdyż w praktyce wytwarza się już wiele typów scalonych układów
cyfrowych o dużej złożoności (średniej i wielkiej skali integracji) i bazowanie na
układach wyłącznie elementarnych (malej skali integracji) byłoby nieopłacalne
i techniczn ie przestarzałe. Dlatego też często s tosuje się inne, bardziej efektyw ne
metody, wykorzystujące bardziej złożone układy cyfrowe jako „cegiełki ". Uklady
scalone tego rodzaju określa się jako bloki f unkcjonalne lub moduły. Syn tezę
układu cyfrowego złożonego z takich bloków funkcjonalnych wykonuje się
zazwyczaj metodą mikroprogramowania, poprzez określenie wszystkich elementarnych operacji w projektowanym układzie.
Poniżej będą krótko omówione klasyczne metody syntezy. Zasady
mikroprogramowania będą przedstawione w rozdz. 9, po omówieniu bloków
funkcjonalnych (rozdz. 8).
D o syntezy układu sekwencyjnego niezbędne są informacje o żądanych
właściwościach funkcjonalnych układu, czyli jego opis zew11ętrz11y, wyróżniający
wszystkie możliwe stany stabilne układu. Stany te są określone przez różne pary
(X, Y) zewnętrznych stanów stabilnych, czyli odpowiadają stabilnym stanom
wewnętrznym (pamięci A) układu. Jak już napisano wcześniej (str. 142), stosuje
się następujące formy opisu zewnętrznego:
a)
wykresy czasowe lub ciągi zerojedynkowe dla przebiegów stanów X i Y,
z wprowadzonymi numerami wszystkich możliwych i różniących się od
siebie stanów stabilnych (X, Y),
b)
grafy przejść i wyjść.
Opis (a) stosuje się najczęściej dla układów asynchronicznych, a opis (b)
dla układów synchronicznych, o ile rodzaj układu (asynchroniczny lub synchroniczny) może być określony już na etapie formułowania założeń dla
projektowanego układu.
Kolejne czynności w procesie syntezy są następujące:
I.
Przedstawienie właściwości funkcjonalnych układu w formie tablicy
przejść i wyjść.
Jeżeli układ jest układem asynchronicznym, w którym występują stany
niestabilne, to opisuje się go pierwotną tablicą przej.M i wyj.fć. Liczba
kolumn tej tablicy jest równa liczbie stanów wejściowych X, a liczba
wierszy jest równa liczbie różnych stanów stabilnych (X, Y) układu, przy
czym każdy wiersz tablicy odpowiada numerowi stanu pamięci i zawiera
tylko jeden stan stabil ny. Pierwotna tablica przejść i wyjść opisuje
automat Moore'a.
2.
Minimalizacja liczby stanów wewnętrznych, czyli redukcja tablicy przejść
i wyjść, w celu otrzymania minimalnej liczby potrzebnych elementów
pamięciowych.
Jeżeli właściwości
161
funkcjonalne
układu są już
opisane
tablicą przejść
4. PODSTAWY TEORII UKlAD0W CYFAOWVCH
i wyjść w wyniku czynności (I), to znaczy, że jest określony automat
„pierwotny" Mp = ( A p, X , Y,
.l.p). Minimalizacja polega na poszu kiwaniu aut.omaiu 111i11ima/11ego MM= ( A„, X , Y, óM, )."), speł­
niającego dwa warunki:
a) jego liczby stanów wewnętrznych (ii„) nie można zmniejszyć,
b) automaty M i M"' dzialają runkcjonalnie (końcówkowo) tak samo, tj.
w odpowiedzi na ciąg wejściowy 5l obydwa generują identyczne ciągi
wyjściowe Y(wszędzie tam, gdzie stany są określone).
Kodowanie stanów tablicy przejść i wyjść.
Stany wejść (X) i wyjść (Y) są zwykle określone dwój kowo w fazie
formułowania pierwotnego opisu układu. Czynność kodowania ogranicza się zatem do przyporządkowania wszystkim symbolicznym stanom
wewnętrznym A odpowiednich wektorów (Q 1 , Q,, ... , Q,) o elementach
zerojedynkowych (Qe B), czyli określen ia fonkcji różnowartościowej
o,„
„
3.
x :A _, B'
Przy kodowaniu w stanów wewnętrznych przy
o k bitach wymaga się spełnienia nierówności
użyciu
bloku
pamięci
k ~ IV~ 2'
Przy w = k otrzymuje się kodowanie liniowe w kodzie pierścieniowym „ I
z k", rozrzutne ze względu na liC'lbę bitów pamięci, lecz upraszczające
w układzie Moore'a budowę bloku wyjściowego A., który realizuje
wówczas wyłącznie runkcje OR. Częściej stosowane jest kodowanie
dwójkowe w kodzie N B łub Graya, w którym minimalna wartość
k wynika ze związku
2'
1
< w~2'
Są
to najprostsze koncepcyjnie i użyt kowo sposoby kodowania, stosowane powszechnie w układach sy11chro11icz11ych. Istnieją również inne
sposoby, które umożliwiają w układach synchronicznych uproszczenie
budowy bloku wzbudzeń lub/ i bloku wyjściowego.
W szczególnym przypadku blok wyjściowy). w układzie Moore'a może
być całk owicie wyeliminowany, jeśli dobierzemy k = m oraz kod pamięci
identyczny z zadanym kodem wyjść (w ten sposób budowane są m.in.
układy łic-lników).
4.
W ukladach asynchro11icznych kodowanie wykonuje się w ten sposób, aby
wyeliminować możliwość wystąpienia tzw. wyścigów krytycznych.
Ok reślenie struktury bloku przejść (ó) i bloku wyjść (A.).
Czynność ta polega najpierw na wyborze struktury bloku pamięci.
W układach asynchronicznych może on być zrealizowany przez blok
kombinacyjny, objęty dodatnim sprzężeniem zwrotnym lub przez zespół
162
4.2.
UKŁADY
SEKWENCYJNE
przerzutników asynchronicznych SR lub SR. W układach synchronicznych blok pamięci jest tworzony wyłącznie z przerzutników synchronicznych (SR, JK , D, T). Zadanie syntezy sprowadza się do określenia
kombinacyjnych funkcji wzbudzeń W (rys. 4.28) i funkcji wyjść )~
z jednoczesnym zapewnieniem w układach asynchronicznych braku
zjawiska hazardu (p. 4.1.6), zwlaszcza w bloku wzbudzeń (y). Po okreś­
leniu tych funkcji wykonuje się syntezę ukladową przy użyciu teoretycznie
dowolnych elementów systemu funkcjonalnie pelnego, na przyklad
elementów NAND lub NO R.
Synteza układów asynchronicznych
4.2.4
Przedstawione w tym rozdziale metody syntezy dotyczą układów asynchronicznych statycznych. Układy asynchroniczne dynamiczne mają zwykle strukturę
prostszą niż statyczne, ale są bardziej wrażliwe na zakłócenia.
Określenie
i
pierwotnej tablicy
wyjść
Pierwotną tablicę przejść
przejść
4.2.4.1
i wyjść ukladu można otrzymać różnymi sposobami,
od formy opisu zewnętrznego i rodzaju układu. Opis zewnętrzny
powinien określać wszystkie możliwe różne stany stabilne układu, a także
sekwencje wymagające pamiętania Jeśli układ jest opisany wykresami czasowymi, w praktyce o ograniczonej długości, to może się zdarzyć, że nie obejmują
one wszystkich możliwych sytuacji, jakie w rzeczywistości mogą powstać. To
samo dotyczy ciągów zerojedynkowych. Na przykład, gdy projektowany układ
ma reagować na sekwencję x, x 2 = OL-00-01-00-10 (czyli wyróżniać sytuację, gdy
impuls sygnału x 1 następuje po dwóch kolejnych impnlsach x 2 ), to każdy z tych
impulsów i dzielących je przerw (OO) trzeba oznaczyć innym numerem stanu
pamięci, mimo występowania jednakowych stanów (X, Y).
Rozważmy układ o dwóch wejściach i jednym wyjściu (rys. 4.52a), nie
wyróżniający żadnych specjalnych sekwencji X i opisany wykresami czasowymi
(rys. 4.52b), na których można wyróżnić 7 stanów stabilnych. Równoważne opisy
w postaci ciągów zerojedynkowych i grafu automatu Moore'a są pokazane na
rys. 4.52c, d.
Pierwotną tablicę przejść i wyjść tego u kładu ilustruje rys. 4.52e. Liczba jej
kolumn jest równa liczbie różnych stanów wejściowych X, a liczba wierszy jest
równa liczbie stanów stabilnych układu. Do takiej tablicy wpisujemy najpierw
stany stabilne (w kółeczkach): a więc stan CD ma miejsce przy x 1 x 2 = 11 i A = I
itd., jak łatwo zauważyć na poprzednich formach opisu zewnętrznego. Następnie
wpisujemy stany niestabilne, występujące krótkotrwałe wówczas, gdy zmienił się
już stan wejść X, lecz stan wewnętrzny A jeszcze się nie zmienił. Przykładowo, gdy
zależnie
163
• . PODSTAWY TEORII U ICŁADOW CYFROWYCH
o
I
I
ytL~~~~~~-'-~~:~~~~~~--'~.-1
c
A
1
.,
2
1
1
1
1
d
X,
y
1
o
o o
1 o
7
o
1
1
1
1
1
2
3
o
o
o o
o o
o
4
1
6
1
1
1
1
1
s o 1
3 o o
s o 1
1
1
1
1
1
1
6
4
1
o
1
f
e
' z
oo
1
2
3
-
01 11 10
y
CD
o
7
2
- 1 ® o
® s - 4 1
3
3
-
6
5 3
®
6
-
1
s ®
4
1
4
6
-
7
3
®
1
©
- o
A',Y
164
1
A
(1,2,7)
oo
y
01 11 10
o b{2)@@ o
13.4,5,6 1b
@@@ @
A',V
Rys. 4.5:1 Przykład ( I) pocZ11tkowych
etapów syntezy układu asynchronicznego
•) .mem.a
bloli:o-y.
b) „yt_n:sy
~t.
c) dui zerojcdynko„-c.
cl) gn.f automara btoorc·a.
.-...'Otm
tabbca ~ i •')jłt.
t) uechat Q"l"an3 tablia pntjif i ...,)ić
c)
4.2.
UKŁADY
SEKWENCYJN E
przy A = <D stan X zmieni się z 11 na Ol , to będzie to odpowiadać stanowi 7.
Kolejnym krokiem jest wykrycie stanów nieokreślonych, występujących przy
jed11oczes11e.i zmianie dwóch (lub ogólnie biorąc, więcej) sygnałów wejściowych .
Ponieważ zmiana z Il na OO może wystąpić (wskutek nieuniknionych, lecz
nieznanych opóźnień w układzie) albo na drodze 11 -01 -00 albo 11 -10-00, zatem
stan OO jest w tym przypadku nieokreślony. Dlatego w wierszu I na pozycji
x 1 x 2 = Owpisujemy kreskę, oznaczającą nieokreśloność. Podobnie postępujemy
w pozostałych wierszach.
Jeśli teraz w tablicy są jeszcze puste kratki, to oznacza, że opis zewnętrzny
nie obejmuje wszystkich teoretycznie możliwych stanów stabilnych układu,
których liczba wynosi 2•+m (bez uwzględ nienia ewent ual nych sekwencji wymagających pamiętania). Jeśli pewne stany zostały pominięte celowo Gak w naszym
przykładzie stan 8 odpowiadający x 1 x 2 = OO i y = O), to można wprowadzić do
pustej kratki numer stanu stabilnego, występujący przy danej zmianie stanu
X i zanegowanym sygnale wyjściowym. W naszym przykładzie występuje to przy
X = OO i A = 4,7, gdzie został wpisany numer 3. Innym rozwiązaniem jest
wprowadzenie numeru stanu występującego tylko niestabilnie (8).
Jeśli układ wyróżnia pewne sekwencje X wymagające pamiętania, to numery stanów niestabilnych wynikają wprost z opisu tych sekwencji. Uustruje to przykład układu opisanego na rys. 4.53, gdzie stan y = I występuje tylko przy stanie
x 1 = I, następującym po dwóch kolejnych impulsach x 2 = I. Pomimo, że w ukladzie występują tylko 4 różne stany stabilne (x 1 x 2 y = 000, 010, 100, 101), to należało wprowadzić dodatkowe 3 stany do zapamiętania sekwencji generującej y = I.
Redukcja pierwotnej tablicy
i wyjść
przejść
4.2.4.2
Zmniejszenie liczby stanów wewnętrtnych, ujętych w pierwotnej tablicy przejść
i wyjść, można osiągnąć przez łączenie wierszy, czyli zamianę dwóch wierszy jednym, o ile spełnione są określone warunki. Podstawowym wanmkiemjest oczywiś­
cie całkowite spełnien ie wymagań funkcjonalnych (końcówkowych), wynikają­
cych z opisu zewnętrznego danego układu. Jeżeli w wyn ik u takiego postępo­
wania minimalizacyjnego ot rzyma się tablicę, w której liczby stanów wewnętrz­
nych już nie można zmniejszyć, to znaczy, że opisuje ona automat minimalny.
W celu ułatwien.ia opisu minimalizacj i wprowadzone zostaną pewne
nowe określenia, zbieżne z podanymi w (9, 10]:
1.
D wa stany wewnętrzne lub sygnały są niesprzeczne, gdy są jednakowe lub
gdy choćby jeden z nich jest nieokreślony (oznaczony kreską w tablicy).
Relację niesprzeczności (o symbolu ~.która jest zwrotna i symetryczna,
definiuje się równoważnością
(<p ~y) '°"' (<p = y) V(<p = X)
165
4, POOSTAWV TEORII UKLA00W CYFROWYCH
o
Xż
V
1
t
t
2
3
456767
r1
r1
6
r i1
7
2
3
4
3
t
r i1
t
1
6
r1
, r,
r
2
1
r
,
rh
r1
r1
I
1
b
c
d
X1Xz
A
1
2
3
4
5
6
7
OO
y
01 11 10
- -
o
o
4 ®
- o
4 3 - 5 o
6 - - ® 1
©1 - 7 o
6 - - 0 o
2
1
@
3
-
X
7
oo
1
2
2
@
ł 3-4 )3
16·7 ) 4
5
0 1 11 10
- o
4
o
-5 o
- © o
- ® 1
<D 3
0®
©1
4
-
-
A,V
Rys. 4.53
Przy kład
(2)
a) wykresy ciasowc, b)gr;if
pm:jSć i wyjść
i
"''>i*• c)
'
A,V
etapów syntezy
pierwo1na t.abJjca
pntjść
układu
i
wyjść.
asynchronicznego
d) zredukowana
krzyżyk
tabłic;i
( x) jest symbolem nieokreśloności. Na przykład
A 3 ~(x), Y4 = !Oxx ~ x OO x = Y6
Dwa stabilne stany wewnętrzne A 1, A 1 są pseudorównoważne, jeśli
występują przy tym samym X, mają niesprzeczne stany wyjściowe f i ich
stany następne są dla każdego X niesprzeczne lub pseudorównoważne.
Pseudorównoważność oznacza się symbolem „~" i stąd, zgodnie z powygdzie
2.
początkowych
prl.Cj~
V
ższą definicją,
(A,~ A;l-3 [ó(A, , X) = A1=ó(A;,X) = A;] AV [..t(A,,X) ~
X
X
~.ł(Ai, X)] i\ V {[ó(A,, X) ~ó(A,, X)] V [ó(A,, X)~ ó(A,,X)]}
X
166
4.2.
UKŁADY
SEKWENCYJNE
Dwa wiersze pierwotnej tablicy przejść i wyjść mogą być zastąpione
jednym, jeśli:
zawierają one stany pseudorównoważne, lub
dla każdego X zawierają one pary stanów niesprzecznych, niezależnie od
stanu wyjść Y.
W pierwszym przypadku jeden z wierszy można skreślić (zwykle ten
o większym numerze), natomiast w drugim przypadku wiersze można połączyć
w jeden wiersz o dwóch stanach stabi lnych. W podobny sposób można
postępować z większą liczbą wierszy, o ile spełniają one wymienione warunki.
Przy łączeniu wierszy zawierających stany pseudorównoważne warunek niesprzeczności stanów następnych jest latwy do sprawdzenia, nato·
miast warunek pseudorównoważności stanów następnych jest nieco trudniejszy. Można jednak zauważyć, że sprowadza się on do badania innych
stanów stabilnych, znajdujących się w jednej kolumnie, pod kątem pseu dorównoważności. Możliwe są takie przypadki pseudorównoważności warunkowanej wzajemnie przez dwie lub więcej par stanów, na przykład we
fragmencie tablicy
gdzie stany 1,2 i 3,4 są parami pseudorównoważne, czyli mogą być zastąpione
stanami (l,2) i (3,4).
Jeśli łączy się wiersze zawierające stany pseudorównoważne, lub gdy
w przypadku (2) łączy się wiersze o niesprzecznych stanach wyjść Y, to otrzymuje
się zredukowaną tablicę układu Moore'a. Można także łączyć wiersze zawierają­
ce pary stanów niesprzecznych, lecz o sprzecznych stanach wyjść, otrzymując
w ten sposób tablicę przejść i wyj ść układu Mealy'ego. Zwykle ta tablica jest
mniejsza od poprzedniej, lecz nie musi to oznaczać większej prostoty całego
układu, gdyż blok funkcji J.(A, X) w układzie Mealy'ego jest generalnie bardziej
złożony niż blok funkcji l.(A) w układzie Moore'a.
Przykłady redukcji pierwotnych tablic przejść i wyjść są pokazane na rys.
4.52fi 4.53d. Na drugim z nich wprowadzono nowe oznaczenie stanu 3 (wynikającego z połączenia stanów 3 i 4 w tablicy pierwotnej) i podobnie nowe
oznaczenie stanu 4.
W procesie minimalizacji są stosowane także wykresy redukqjne i tablice
trójkątne, które są przydatne zwłaszcza wówczas, gdy istnienie stanów pseudorównoważnych zależy od spełnienia warunku pseudorównoważności stanów
następnych. Tablice te będą omówione w p. 4.2.5.2.
167
4. PODSTAWY TEORII
UKŁAOOW
CYFROWYCH
Kodowanie stanów
wewnętrznych
4.2 .4 .3
Poprawność działania układów asynchronicznych bardzo zależy od przyjętego
sposobu kodowania, ze względu na możliwość wystąpienia tzw. wy.foigów
krytycznych. Zjawisko wyścigów ma miejsce wówczas, gdy przy przejściu ze
stanu obecnego A, do stanu następnego A1 w zapisach tych stanów zmieniają się
przynajmniej dwa bity jednocześnie.
W przykładowej tablicy pokazanej na rys. 4.54 zjawisko wyścigu występuje w kolumnie X I i X 2 · w pierwszej z nich, przy przejściu o(A4, X ,) =
= A2 =o(I0 ,00) =Ol zmiana stanu A = Q, Q2 z JO na Ol oznacza zmianę
obydwu bitów A jednoc-leśnie. Wskutek niezerowej różnicy opóźnień na drogach
Q,: l -+O i Q2 : O-+ I mogą w czasie tej zmiany wystąpić stany przejściowe OO i I I.
Jak widać z tablicy, obydwa te stany prowadzą jednak do jednego stanu
stabilnego A 2 =Ol. Wyścig, który po obydwu stanach przejściowych kończy się
jednakowym stanem stabilnym, ma nazwę wyścigu niekrytycznego. Nie narusza
on poprawnej pracy układu, jeśli chodzi o jego stany stabilne. Wyścig, który
występuje w kolumnie zawierającej tylko jeden stan stabilny, jest zawsze
wyścigiem niekrytycznym.
o
X=)C1 xz
X1
X2
X3
X4
A,o,o, '--~oo~_.:0~1c__.:1.!_1-~10!..._
Az,01
Al: 11
A4 ~ 1 0
O', O"
b
o,
Rys. 4.54
Przykład
(3) zredukowanej tablicy
zjawisko
wyścigu i oscylacji (a) oraz
odpowiadający jej graf pr7.ejść (b)
przejść
o,
168
i
wyjść. ilustruj ący
4.2, UKt.AOY SEKWENCYJNe
W kolumnie X 2 obserwujemy wyścig krytyczny, gdyż przy przeJsc1u
ó(A 3 , X 2) = A , <=>ó(l l.01) ~ OO zmiana A z 11 na OO może generować stany
przejściowe IO i Ol , które prowadzą do ró.lnych stanów stabilnych. Stanem
prawidłowym jest stan A 2 = Ol (na zasadzie idealnego przejścia A : 11 - OO,
a dalej 00->0l - @),natomiast stan A 4 - IO jest stanem błędnym. Wyścig
krytyczny może wystąpić wówczas, gdy w danej kolumnie jest więcej niż jeden
stan stabilny i zmiana A występuje na więcej niż jednym bicie.
Jeżeli w danej ko lumnie obserwujemy przejście między przynajmniej
dwoma stanami niestabilnymi, przy czym kolejne (sąsiednie) stany A różnią
się tylko jednym bitem, to takie przejście określa się jako cykliczne. Obserwujemy
je w tablicy z rys. 4.54, w kolumnie X 3 . Można zauważyć, że działanie
układu będzie szybsze, jeśli w kratce A4 , X 3 wpiszemy zamiast stanu OO
stan 11. Oznacza to zastąpienie przejścia cyklicznego przejściem pojedynczym
do stanu stabilnego 11 .
W kolumnie X 4 wyst\)puje wyścig niekrytyczny, gdyż zawiera ona tylko
jeden stan stabilny. Jednaki e, je7..eli przy dwu bitowej zmianie ó(A 4 , X 4 ) = A 1
występuje stan przejściowy A 3 , to wówczas nastąpi odtworzenie stanu A4 ,
następnie znowu A 3 itd., czyli nastąpi proces regeneracyjny (oscylacja). Zjawisko
to jest równie niepożądane jak wyścig krytyczny.
Kod owanie przy
użyciu
grafu
przejść
Sytuacje występujące przy kodowaniu moi.na, przy niewielkiej liczbie stanów A,
łatwo zilustrować graficznie za pomocą grafii przejść. opisującego wszystkie
występujące w tablicy przejścia li między stanami A. Przy k = 2 graf przejść
opiera się na strukturze kwadratu, a przy k - 3 na st rukturze sześcianu. Punkty
(węzły) grafu przejść oznacza się sym bolami stanów, występujących w zredukowanej tablicy przejść (stan wyjść jest w tym przypadku zbędny) i każde przejście
ó(A,, X) = A1 oznacza połączenie linią punktów A,, A 1 (strzałki nie są konieczne).
Jeżeli do kodowania kolejnych stanów A przyjmiemy dwójkowy kod Graya,
charakteryzujący się jednobitowymi zmianami kolejnych liczb dwójkowych, to
wszystkie połączenia punktów grafu, nie będące przekątnymi, odpowiadają
jednobitowym zmianom stan ów A (są to tzw. linie cykliczne). Oznacza to brak
możliwości wystąpienia wyścigów, zarówno krytycznych jak i niekrytycznych.
Dlatego wymaga się, aby kodowanie tablicy przejść odpowiadało grafowi przejść
bez przekątnych. Jeżeli w grafie takie przekątne występują, to często okazuje się,
że trzeba wprowadzać dodatkowe stany A, co odpowiada zwiększeniu tablicy
przejść, czyli czynność odwrotną do wykonanej poprzednio redukcji. Zwykle nie
wywołuje to zwiększenia liczby k sygnałów Q.
Ogólnie, jeżeli k ;;, p, gdzie p jest maksymalną liczbą linii wychodzących
z jednego punkiu na grafie przejść, to zawsze istnieje sposób kodowan ia
zapewniający brak zjawiska wyścigu krytycznego. Przy k < p tej gwarancji nie
169
4. PODSTAWY TEORII UIClAOOWCYFROWYCH
ma, lecz nie oznacza to, że taka możliwość nie istnieje, gdyż wyścig może być
niekrytyczny.
Postać grafu przejść dla tablicy z rys. 4.54a jest pokazana na rys. 4.54b.
Występowanie dwóch przekątnych wskazuje od razu na obecność wyścigów,
przy czym k = 2 i p = 3, czyli k < p. Ponieważ występuje wyścig krytyczny
i w grafie nie ma „wolnych» linii cyklicznych, które mogłyby zastąpić przekątne,
należałoby zwiększyć liczbę k do trzech i zastąpić przekątne odpowiednimi
przejściami cyk licznymi. Bliższa analiza tablicy pokazuje, że jest jednak prostsza
możliwość. W kolumnie X 2 wyścig krytyczny można wyeliminować przez
zastąpienie w kratce (A 3 , X 2) stanu A 1 = OO stanem A 2 = 01. Można tak zrobić,
gdyż:
stan A2 jest następnikiem A 1 w tej kolumnie (X 2 ), tak że stanem stabilnym
będzie A 2 zgodnie z lablicą,
stan A 2 jest stanem sąsiednim A 1 na grafie przejść,
działanie układu w odniesieniu do stanów stabilnych pozostaje prawidłowe.
usunięta została przekątna
A 3 -A 1 . W podobny sposób
można zrobić poprawkę w kolumnie X 4 , gdzie grozi oscylacja. Przez zastąpienie
w kratce (A 4 , X 4 ) stanu A 2 = 0 1 stanem A 1 =OO procesy przejściowe w kolumnie X 4 zawsze kończą się stanem stabilnym A 1 . Należy zauważyć, że przekątna
A4 - A 2 pozostaje, ale wynikający z niej wyścig w kolumnie X 1 jest niekrytyczny.
Kodowanie tablicy przejść z przykładu z rys. 4.53d jest pokazane na rys.
4.55ab. W tym przypadku k = 3 i p = 3, czyli kodowanie bez wyścigów
krytycznych jest zagwarantowane. Trzeba w tym celu wprowadzić trzy dodatkowe stany A (bez zwiększania liczby k), aby przekątne zastąpić przejściami
W len sposób
a
b
a,a,a 3
X 1 X2
oo 01 11
ooo oo 1, <®
7
a,
@'
0 11'
0 11
<0
@])'
0 10
([j])
001
101
100
'ooo -
- - - - - - -
1 10 '010
11 1
a,
Rys. 4.55 Kodowanie tablicy
przejść 2
a) par pm:j&C. b) iakodowana tablica piujit
170
-
rys. 4.53d
10
-
OlO W
• 1
101 (7)
0 10 . 2
. 111161
11 o· 3
@
'
@:!])
5
1 10
6
100 7
ooo
8
y
o
o
o
o
1
:;--1
o
o
4.2. UKlAOY SEKWENCYJNE
cyklicznymi, jak pokazują linie przerywane na rys. 4.55a. W trzech najwyższych
kratkach kolumny x 1 x 2 = IO należy też wprowadzić wskazane strzałkami nowe
stany niestabilne.
Określenie
struktury bloku przejść (ó)
i bloku wyjść (l )
asynchronicznych blok przejść może być zrealizowany w dwóch
postaciach (rys. 4.56), zarówno dla automatu Mealy'ego, jak i Moore' a.
Pierwszą wersję bloku
stanowi układ kombinacyjny (rys. 4.56a) złożony
wyłącznie z elementów logicznych dowolnego systemu funkcjonalnie pełnego,
np. z elementów NAND. F unkcja pamięci jest realizowana przez odpowiednie
sprzężenia zwrotne, obejmujące ten blok, przy czym niezbędne opóźnienie
między Qi i Q, jest zawarte w elementach bloku (por. rys. 4.28a). Aby
sprzężenia zwrotne prowadziły do wytworzenia funkcji pam ięci, muszą być
one dodatnie. Synteza polega na określeniu analitycznym funkcji Qi = o,(A, X),
i = 1,2, „. , k, przy czym pętle sprzężeń zwrotnych są realizowane niejako
automatycznie przez zwarcie wyjść Q; tego bloku z odpowiednimi „wejściami"
Q, wchodzącymi w skład wektora A. Układ pokazany na rys. 4.56a reprezentuje
automat Mealy'ego, lecz po usunięciu wejść X z bloku .i. zmienia się w automat
Moore'a. Wybór rodzaju automatu następuje wcześniej, przy określeniu zredukowanej tablicy przejść i wyjść.
Druga wersja bloku ojest pokazana na rys. 4.56b. W tym przypadku blok
ten jest rozbity na dwa pod bloki: układ kombinacyjny y i blok pamięci µ, przy
czym ten drugi stanowi zespół k elementów pamięciowych asynchronicznych
statycznych, czyli przerzutników statycznych SR łub Sit W tym przypadku
zadanie syntezy sprowadza się do określenia funkcji W= y(A, X). Ponieważ
sygnały S •' R.(p = I, 2„„, k), wchodzące w skład wektora W, służą do sterowania
wejść przerzutników, funkcję y nazywa się funkcją wzbudzeń. Podobnie jak
poprzednio, układ ten może być zrealizowany jako automat Mealy'ego lub, po
usunięciu wejść X z bloku .i., jako automat Moore'a.
Zadanie syntezy w obydwóch przypadkach sprowadza się zatem do
określenia funkcji przełączających, reprezentujących bloki lub y, w postaci form
boolowskich oraz do ich minimalizacji. To samo dotyczy bloku .i., który
z definicji jest blokiem kombinacyjnym. Możliwość wystąpienia zjawiska
hazardu jest szczególnie niebezpieczna w blokach ó i y, gdyż efekt hazardu może
być zapamiętany. Ogólnie, synteza bloków
y i ). powinna prowadzić do
rozwiązań, w których hazard nie istnieje lub jest nieszkodliwy (np. w bloku A., gdy
odbiornikami sygnałów wyjściowych y są elementy o relatywnie dużej bezwład­
ności, np. żarówki, przekaźniki itp.).
W
układach
4.2.4.4
różnych
o
o
o,
171
4, POOSTAWY TEORII UKLAOOW CYFROWYCH
o
L
I o,
'-;"'
c.....J..
r-- y,
l,
'
ó
i - -Y2
I
I
o,
'
''
I
J\
'
I
I
I
I
I
'
~
b
l_[---------,
r - ---,
4 s
L..j.
.&..l_R
1
,1
I
I
.,
I
.,
1 -
I
I
'
I
I ·
. I
r
I
I
:
'
I I
I I
I
:
I I
l...
·
I
I
I
o,
~
I
I
I
Rys. 4.56 S1ruktury
i
kombinac)jnyin
wcł1odząc)'m
układów
blokłem
4i, b)
I
y,
Y2
I
I
I
I
O-,
A
j l
I
1-ó
).I
o.
'
I
I
''
L _ - --- - _ _ _ J
a)
--
1·
4s ' '
R„ I
!I
'-- 7- I
'
o,
asynchronicznych typu Mealy'ego
i ut)'tiern 1.CSpOh.J pn:erzulnik0\11·
istatycviych SR \\' bloku ''·
do bloku 6
Najpierw omówimy sposób syntezy układu zawierającego wyłącznie
kom binacyjny blok o. Na podstawie za kodowanych tablic przejść i wyjść można
określić funkcje
i 2, czyli wyrażenia
o
QI= 01(Q,,Q„ ...,Q„x1>x 2 , ••• ,x.),
oraz dla
układ u
Mealy'ego:
Y; = A;(Q,,Q 2 , .•• , Qk, x 1 ,x 2 , .•• ,x.),
a dla
układu
172
i = l,2, ... ,k
Moorc'a:
j = 1, 2, ...,n
4..2. U KŁADY SEICWENCVJNE
Wyrażen ia
le przedstawiają funkcje przeh1czające, czyli określa się je przy
zastosowaniu znanych metod minimalizacyjnych. Na przykład, z tabl icy przejść
pokazanej na rys. 4.54a można otrzymać dwie tablice przejść, pokazane na rys.
4.57a, b. Stąd otrzymuje się formy boolowskie
Jak widać z rys. 4.57a, obecność dwóch przylegających do siebie
grup Q2 x, i Q, Q2 x 2 wskazuje na niebezpieczeństwo wystąpienia hazardu
w jedynkach. Zjawisko to, polegaj<)Ce na występowaniu na wyjściu ukladu
kombinacyjnego zaklóceń w postaci kró tkich impulsów szpilk owych, jest
szczególnie niebezpiec-me wówczas, gdy może być podtrzymane w układzie
w wyniku dzialania sprzężenia zwrotnego lub w przerzutniku. Ponieważ
może to oznaczać blędne działanie układu, fukcje przejść ó1 powinny być
formułowane w sposób wykluczający występowanie ha.z ardu. W tym celu
wprowadza się do formy określającej ó1 i wskazującej na możliwość wystą pienia
hazardu dodatkowy składnik, pokrywający częściowo grupy „hazardowe"
w tablicy przejść. Pokazano to na rys. 4.57a linią przerywaną, czemu w formie
Q, odpowiadałby skladaik Q, x x 2 • Należy jednak dodać, że obecność przylegających grup nie nawsze oznacza wystąpienie hazardu b11dż jego szkodliwość, co wymaga oddzielnej analizy. W naszym przykladzie (rys. 4.54a)
hazard w postaci krótkotrwałego impulsu Q, =O może się pojawić przy
x 1 x 2 = 11 i przy zmianie Q1 Q2 = 10 na 11 lub odwrotnie. Jednakże możliwy
stan przejściowy Q'1 Q'2 = Ol prowadzi do tego samego i jedynego stanu
stabilnego 11 w tej kolumnie, czyli w tym przypadku hazard nie jest szkodliwy
i wprowadzenie skladnika „antyhazardowego~ Q, x, x 2 jest zbędne.
o
b
o,o,x, x,
X 1X2
'
oo 01 11
oo o o o
10
o
oo
1
11
o o
o o
I
10
o
I
1
01
( 1
oo
01
11
10
1
1
I
01
=1
o
1
1
1
1 "~ 1
11
1
1
1
o
o
10
1
o
1
o
1
I
•
li,
d,
Rys. 4.57 Indywidualne tablice prujść o trzymane z 1ablicy z rys.4.54a
(przy wprowada:tniu tam stanów nies1abilnych u~tyeb w nawiasach)
173
4. PODSTAWY TEORII UKŁADÓW CYFROWYCH
o
c
b
o,o,o
x, xz
'
oo
o
01
11
10
oo
01
11
10
o
-
1
1
o
-
o
t
o
1
-
o
1
1
-
1
-
1
1
1
-
1
1
1
-
1
o
-
o
1
o
-
1
o
o
-
o
o
-
-
1
I 1
-
o
11 1
-
-
-
1
1 I'
- - -
o
101
-
-
-
'
- --·-'
1
-
-
-
o
-
-
-
o
10 0
-
-
-
o
-
-
-
o
- -
-
o
03
oo 01
ooo o o
11
10
-
o
o
o
-
011
o
o
010
o
110
0 01
'
--
---- --- ,--'
'
I
rf,
Rys. 4.58 Indywidualne tablice
~
przej ść
o -
Cl,
olrzymane z lablicy z rys. 4.55b
W podobny sposób można postąpić z tablicą przejść z rys. 4.55b,
zestaw tablic pokazanych na rys. 4.58 (znaczenie pogrubienia
niektórych symboli będzie omówione później). W rezultacie 01rzymuje się formy
otrzymując
Q', = Q3 x 1 v Q, Q2 x 1
Q2 = Q3x2VQ2.X2v <!, <22<23x, v Q, Q,
Q3 = <21 Q3v Q,.x. x,
przy czym
składnik
Q, Q2 w formie Q2 reprezentuje
grupę antyhazardową.
Funkcję wyjść J.i układu Moore'a określa się na podstawie zakodowanej
tablicy wyjść. Stabilne stany wyjść tej tablicy są podane w zredukowanej tablicy
przejść i wyjść. Natomiast niestabilne stany wyjść określa się „antyhazardowo"
w zależności od stanu poprzedniego i następnego: jeśli te dwa stany są
jednakowe, to stan pośredni powinien być taki sam, natomiast jeśli następuje
zmiana tych stanów, to s tan pośredni moie być dowolny. Oznacza to sekwencje
OOO, 111, Ox I, l xO. Dla tablicy z rys. 4.53d i tablicy przej ść z rys. 4.55b otrzymuje
się w ten sposób tablicę wyjść pokazaną z prawej strony rys. 4.55b. Funkcja
wyjściowa y wyraża się formą boolowską stanowiącą sumę jej wszystkich
implikantów, czyli łych iloczynów literałów Q1Q~ Q3, dla których y = 1.
Wykonując prostą minimalizację otrzymuje się z rys. 4.55b funkcję wyjść
174
4.2. UKlAOY SEKWENCYJNE
y
Rys. 4.59 Schemat
kombinacyjny blok
układu
opisanego tablicami z rys. 4.55b
4.58,
:zawierającego
przejść
Przy zastosowaniu do syntezy układowej elementów NAND i inwerterów
otrzymuje się układ pokazany na rys. 4.59.
Równoważne funkcjonalnie rozwiązanie można otrzymać stosując blok
µ złożony z przerzutników statycznych SR. W tym celu należy wyznaczyć
bezhazardową funkcję wzbudzeń W= (S p R „S 2 , R 2 ,S 3 , R3 ). Można to zrobić
metodą analityczną, polegającą na przyrównaniu każdej z form Qi odpowied·
niego równania przerzutnika: w przypadku przerzutnik ów SR i SR równania
Q' = S VliQ, z właściwymi indeksami (I, 2, ...). Następnie dokonuje się po·
równania współczynników. W ostatnim przykładzie, stosując przerzutniki SR
(z elementów NAND) można to dla Q~ zapisać w formie
skąd otrzymujemy
S, = Q3 x 1 oraz /i 1
= Q2 x 1 . Podobnie można określić
funkcje wzbudzeń dla pozostałych przerzutników. Najczęściej jednak do okreś­
lenia funkcji wzbudzeń układu stosuje się metodę tablicową, wykorzystującą
175
4, PODSTAWY TEORII U.:lAOOW CYFROWYCH
zakodowane tablice przejść oraz tablice wzbudzeń używanego typu przerzutnika. Tablice wzbudzeń statycznych przerzutników SR i SR zostały podane już
uprzednio (rys. 4.34e i 4.35e), a poniżej są przytoczone łącznie (łatwo zauważyć, że
są komplementarne):
S R
Q-+ Q'
o o
o 1
o
0
X
1
o
X
o
J
O
I
o
l
0
X
X
W oparciu o wybrany typ przerzutnika tworzy się tablice wzbudze1i
W tym celu dla każdej kratki zakodowanej tablicy przejść odczytuje się
następstwo Q;-+ Q;, następnie znajduje się w tablicy wzbudzeń wybranego
przerzutnika odpowiednie stany wejściowe (w naszym przypadku S, R lub S, ~
i wpisuje się je do nowej tablicy o tych samych współrzęd nych co tabl ica przejść.
Na przykład, dla tablicy z rys. 4.58a i przerzutnika typu SR można znaleźć tablicę
wzbudzeri układu, pokazaną na rys. 4.60. Po typowych zabiegach minimalizacyjnych i sprawdzeniu, czy nie istnieje niebezpieczeństwo hazardu, otrzymuje się
następujące funkcje wzbudzeń
układu.
X., X,
o,o,o3
oo 01
ooo 1. - 1-
11 10
-
1-
o01
o11
1 - t-
-
0.1
1 - 1.-
-
0.1
o10
1. - 1,-
-
1.-
- - - .1
- - - - .1
- - - - .1
- - - 1.0
s, .R,
10 1. 0
111
101
100
S1 = Q3 x1 ,
Rys. 4.6fl
Tablica wzbudzeń przerzutnika
wyni kająca z rys. 4.58a
SR(Q 1)
R1 = Q,x 1 VQ3
Należy utworzyć
tyle samo tablic wzbudzeń układu, ile jest przerzutników
w blokuµ. Można jednak tego uniknąć, modyfikując zapisy symboli w tablicach
przejść przez pogrubienie symboli tych stanów Q; (wewnątrz tablicy), które
różnią się od stanów Q, (oznaczonych z lewej strony tablicy), jak pokazano na rys.
4.58. Określenie funkcji wzbudzeń polega na wykonaniu minimalizacji na
określonych niżej zbiorach T, F, D, prą jednoczesnym zapewnieniu braku
hazardu w tak tworzonych funkcjach wzbudzeń.
176
4.2.
UKŁADY
SEKWENCYJN E
Przy stosowaniu przerzutników SR, dla funkcji S zbiory te są zdefiniowane
następująco:
Ts={l , 1, ...}
F5
= {0,0,„.,0,0„.}
D5 = {1, I,„.}
i dla funkcji R:
TR= {0,0,„.}
FR= {l, l , „.,l,l„.}
DR= {0, 0,„.}
Przy stosowaniu przerzutników SR zamienia się zbiory Ti F:
T5 = F 5 = {o.o.„.. o,o„.}
F5 = T5 = {1, 1,„.}
Ds= Ds = {!, !, „.}
TR= FR= {1, 1,„., l, 1...}
FP, = TR = {O.O,„.}
DR= DR= {0,0, „.}
Przykładowo
oznacza to, że sygnał S musi mieć wartość 1 tam, gdzie
w tablicy przejść występują symbole l , a może mieć wartość I tam, gdzie w tablicy
występują symbole I.
Na podstawie tablic z rys. 4.58 można określić te same wyrażenia dla S 1
i R1 , co poprzednio z tablicy wzbudzeń, a dla pozostałych dwóch przerzutników
funkcje wzbudzeń są następujące:
S2 = Q 3 X1 V Q 3 X2 V QI V Q2
R2 = X2 V Q3
S3
= Q 2 V x , V X2
R3 = Q,
Wynikająca stąd
struktura układu zbudowanego z elementów NAND
i inwerterów jest pokazana na rys. 4.61. Elementy NAND dostarczające sygnały
wzbudzeń przedstawiono symbolami równoważnymi, aby lepiej unaocznić
zbieżność układową z wzorami. Jak widać, układ ten charakteryzuje się niemal tą
samą złożonością co poprzedni, wymagając przy tym dodatkowej syntezy funkcji
wzbudzeń.
177
4. PODSTAWY TEORII UKlAOOW CYFROWYCH
y
Rys. 4.61 Schema1 ukladu_oyisanego tablicami z rys. 4.55b i 4.58,
z przerzuinikami SR
zawierającego
blok
prn:jść
Synteza
układów
synchronicznych
Utworzenie tablicy
Pierwszą czynnością
przejść
i
wyjść
4 .2.5
4.2.5.1
w syntezie układów synchronicznych jest, podobnie jak
w układach asynchronicznych, sformułowanie runkcjonalnego opisu układu. Na
podstawie opisu słownego najczęściej tworzy się grar przejść i wyjść (Mealy'ego
lub M oore'a), a następnie tablicę przejść i wyjść.
Jako przykład rozważmy układ z rys. 4.53, projektowany poprzednio jako
asynchroniczny. Układ ten ma generować na wyjściu y stan 1 tylko wówczas, gdy
po dwóch kolejnych stanach x 1 x 2 = 01 nastąpi stan 10. We wszystkich innych
sytuacjach powinno być y = O.
W takim układzie można wyróżnić następujące sytuacje:
gdy brak jest stanów x 1 x 2 =Ol, y =O,
gdy wystąpił jeden stan Ol, y = O,
gdy wystąpiły dwa kolejne stany OI, y = O,
gdy po dwóch kolejnych stanach Ol nastąpił stan IO, y = I.
Zgodnie z tym można skonstruować grar przejść i wyjść przedstawiony na
rys. 4.62b. Jest to graf układu Mealy'ego, zgodny z opisem słownym, który jak
opisano wcześniej można przekształcić do postaci automatu Moore'a. W ukła­
dzie przyjęto możliwość wystąpienia stanu x 1x 2 = 11, gdyż w układzie synchronicznym jednoczesna zmiana sygnałów wejściowych jest dopuszczalna.
Ogólnie biorąc, zastępowanie stanów nieokreślonych stanami określonymi nie
jest jednak zalecane, by nie zmniejszać efektywności minimalizacji.
Wynikająca z grafo tablica przejść i wyjść jest pokazana na rys. 4.62c.
178
4.2.
UKŁADY
SEKWENCYJNE
a
e
l
t
I
l
I
l
t
X
'
I
r
l
r
I
I
t
y
A
2
1
3
2
1
L
2
1
3
3I
b
oo.o
10,0
11 ,0
00.1
10.1
11,1
1,0
c
A X1X2
oo
01 11 10
1 1.0 2.0 1,0 1.0
X1 )'2
A
OO 0 1 11 10
V
1
1
2
1
1
o
2 1.0 3.0 1. 0 1.0
2
1
3
1
1
3 1. 0 3.0 1. 0 4.0
4 1.1 2.1 1.1 1, 1
3
1
3
1
4
o
o
4
1
2
1
1
1
Rys. 4.62
Przykład początkowych
u kładu
etapów syntezy układu synchronicznego, analogicznego do
opisanego przebiegami z rys. 4.53a
a) prubkgi czasowe. b) graf przejść i '4yj~. c) tablica prr.ejU i W>:i:Sć ukll.ldu w 111o~rsji ~1cały"<go
i
~łoore'11
179
4. PODSTAWY TtORll UKV.OOW CYFROWYCH
Minimalizacja liczby stanów w tablicy
przej ść i wyjść
4 .2.5.2
Liczbę stanów wewnętrznych w tablicy przejść i wyjść można zmniejszyć, gdy
przynajmniej dwa stany (dwa wiersze) można zastąpić jednym bez naruszenia
prawidłowości działania układu. Do określenia, kiedy tak ą operację można
wykonać, są przydatne następujące definicje, zbieżne z podanymi w (9, IO].
Dwa stany wewnętrzne A;. A1 określa się jako zgodne, jeśli dla każdego
X mają one niesprzeczne stany wyjść Y i ich stany następne A;, Aj są niesprzeczne lub zgodne. Przyjmując symbol „ - " do oznaczenia zgodności, można
relację zgodności stanów A;. Ai zapisać w formie
,l-V [.A(A;, X) ~ A(A
(A; - A
J• X)] /\
X
11'V {[c5(A 1 , X)~ cS(Ai,X)) v (cS(A 1,X)-cS(A1,X)J}
}(
Relacja zgodności jest zwrotna i symetryczna, ale nie jest pnechodnia
(p. 1.4).
Stany A1, A1określamy jako wprost zgod11e, jeśli dla każdego X mają one
niesprzeczne stany wyjść i jeśli ich wszystkie stany następne są niesprzeczne lub
równe A 1, A1 względnie A./> A 1•
Stany A1, A1 są warunkowo zgodne, jeśli dla każdego X mają one
niesprzeczne stany wyjść i jeśli ich zgodność zależy od zgodności stanów
następnych, tj. gdy istnieją przynajmniej dwa różne stany następne, poza A;. A 1
i A 1, A 1•
Stany A„ A1 są wprosi niezgod11e, jeśli stany wyjść w wierszach A" A1 są
sprzeczne co najmniej w jednej kolumnie.
Dwa stany zgodne A 1, A1 można zastąpić jednym nowym stanem Ak• co
zapisujemy w postaci A, ;i: {A 1, A1}. Jeśli istnieją trzy stany parami zgodne:
A, - A 1, A 1 - A 0 , A 1 - A 0, to tworzą one zbiór stanów zgodnych {A 1, A1, A.},
który może być zastąpiony jednym stanem, czyli At ;;i: {A;, A 1, A.}. Ana logicznie
można określić zbiory wielu stanów wzajemnie zgodnych, które można zastąpić
pojedynczym stanem. Wynikałby stąd prosty sposób wykonywania minimalizacji, polegający na określeniu rodziny maksymalnych zbiorów stanów zgodnych
{S,, S2 , „. SP}, prq czym każdy zbiór zastępuje się jedn ym stanem wewnętrznym.
Ponieważ jednak relacja zgodności nie jest przechodnia, więc zbiory S mogą nie
być rozłączne. Wynika stąd, i.e liczba p takich zbiorów może być nawet większa
od liczby stanów w tablicy podlegającej min imalizacji. Proces minimalizacji
będzie zatem polegał na poszukiwaniu rodziny zbiorów R , uzyskanych po
odpowiedniej selekcji i ewentualnie korekcji zbiorów S.
180
•.2. U KŁADY SEKWf.NCYJNE
Jeżeli
rodzinę zbiorów S oznaczymy przez 4> .,.. =
to poszukiwana rodzina minimalna 4>min = {R 1 , R2 „ .. R,},
oczywiste warunki:
'
maksymalną
= {S„S2 „ ... S,},
musi
a)
b)
I)
2)
spełniać
automat minimalny MM , dla którego AM= {A 1 ,A2 „„.A,}, A 1 ~ R,,
i = I , 2„.„ r, musi działać tak samo jak Mr (p. str. 162),
nie istnieje liczba stanów mniejsza od r i spełniająca warunek (a).
Aby warunek (a) był spełniony, muszą być spełnione wymagania:
pełności: rodzina <I>min musi zawierać wszystkie stany A e A"' czyli
R 1 u R2 u ... u R, =u <I>min = A p (mówimy, że rodzina 4>mln jest pokryciem zbioru Ap),
zamknięcia: dla wszystkich stanów A należących do dowolnego zbioru
R1 e 4> mln• ich stany następne, określone przez funkcję l>,, (A, X) przy
dowolnym X , muszą należeć do jakiegoś zbioru R,e <Pm1n:
\:/ 3 [A e R1 = l>,(A,X)e R,]
A .X R.
przy czym zbiór R 1 może być równy R,.
Spełnienie warunku (a) oznacza, że przejścia w automacie AM są takie
same jak w automacie Ar i jednoznaczne po zastąpieniu zbiorów R1 przez stany
A, (tzn. gdy A1 ;;;. R1).
W pewnych przypadkach, gdy niektóre maksymalne zbiory S z rodziny
<I>"""' nie spełniają wymagania zamknięcia, można je przekształcić w takie zbiory
niemaksymalne R, które spełniają to wymaganie. Algorytmizacja tych czynności
jest jednak złożona i zwykle stosuje się metodę prób i błędów.
Na podstawie powyższych rozważań można sformułować następujące
kolejne czynności, tworzące proces minimalizacji:
I)
wyznaczenie wszystkich par stanów zgodnych,
2)
określenie rodziny <Pm•• wszystkich maksymalnych zbiorów stanów
zgodnych,
3)
określenie rodziny 4> min• spełniającej warunki pełności i zamknięcia,
4)
opisanie automatu minimalnego na podstawie rodzin y 4>min·
Przy minimalizacji automatów zupełnych, których tablice przejść i wyjść
nie zawierają stanów nieokreślonych, proces ten znacznie się upraszcza. Wówczas bowiem w definicji stanów zgodnych relacja niesprzeczności staje się
równością, a sama relacja zgodności staje się przechodnia, czyl i staje się
równoważnością. Wynika stąd, że zbiory S są rozłąc:-~ne, czyli 4>m„, = <1>m1n
i wymieniona czynność (3) jest zbędna.
Poniżej będą opisane procedury minimalizacyjne dla automatów synchronicznych zupełnych, a następnie niezupełnych, wykorzystujące tzw. metodę
zgodności par [9, I O). Inna metoda („rozdzielanych zbiorów") jest opisana
w (9, 10).
181
4. PODSTAWY TEORII UKŁADÓW CYFROWYCH
Min imalizacja aut omat ów synchronicznych
zupełnych
Metoda zgodności par polega na tym, że wszystkie możliwe pary stanów, które
można określić z zadanej tablicy przejść i wyjść, są badane, czy spełniają warunki
zgodności. W tym celu najpierw bada się i akceptuje lub odrzuca wszystkie pary
pod względem równości wyjść. Niech zbiorem par spełniających ten warunek
będzie
L0
czyli
=
{(A,, A) :V [J.(A,, X)= A.(A i• X)]}
X
Następnie pary ze zbioru L 0 bada się, czy spełniają warunek zamknięcia,
sprawdza się zbiory stanów następnych, tworząc zbiór L 1 :
L 1 = {(A,,A 1):[(A1,A1) s L 0 ] A
A[
y(.5(A,, X),
.5(A1, X)) !: L 0 ]}
Proces ten powtarta
ogólnym (k = O, I , „„ z)
się, tworząc
kolejne zbiory zgodnie ze wzorem
Lk+ 1 = {(A 1,A1) : [(A, , A1) !: L,] A
A[y(.5(A,, X), .5(AJ> X) !: L•]}
przy czym L, = L:+ 1 stanowi zbiór wszystkich par stanów zgodnych. Jeżeli
natomiast 3 Lk + 1 = 0, to oznacza, że brak jest stanów zgodnych i dana tablica
k
jest minimalna.
Na przykład, dla prostej tablicy z rys. 4.62c mamy
L 0 = {l,2;1,3;2,3}
L 1 = {1,2}
L 2 = 0, czyli tablica ta jest już minimalna.
Dla tablicy z rys. 4.63a można określić następujące zbiory:
o
A X
oo
01 11 10
y
1
4
s
3
2
2
3
6
4
1
o
o
3
1
3
6
2
1
/i.X
G 1
4
5
1
1
5
2
G
3
6
6
1
3
4
o
o
5
A',y
182
b
Rys. 4.63
oo
01
11 10
y
o
b
c
b
o
o
b
o
b
c
o
1
c
o
b
b
c
o
l/.. y
Przykład
minimalizacji
liczby stanów automatu
zupełnego
a) tablica pn:ej ić i
minim;iliw,(M,
b) ta sama tablica
po minimalizacji
wyjiić
pr.eed
4 2. UKlAOY SEKWENCYJNE
L 0 ={ 1,2; 1,5; 1,6;2,5;2,6;3,4;5,6}
L 1 = { 1,2; 3,4; 5,6}
Li = Li
Oznaczając
tablicę
A.;;,, {A 1 , A2}. Ab;;,, {A 3 ,A,} i A,;;, {A 5 ,A 6 } otrzymuje się
automatu minimalnego,
pokazaną
na rys. 4.63b.
Minimalizacja automatów synchronicznych
niezupeł nych
W praktyce w większości przypadków spo tykamy się z au tomatami niezupeł·
nymi, w których niektóre stany tablicy przejść i wyjść są nieokreślone. Nawet jeśli
dany automat jest zupełny, to często podczas kodowania okazuje się, że trzeba go
przedstawić jako niezupełny. Zachodzi to, gdy liczba stanów wewnętrznych
automatu zupelnego nie jest równa 2•, gdzie /1 jest lic-.i:bą natura lną . Na przykład,
automat zupełny opisany tablicą o X = x 1 x 2, Y= y i A = {A1 ,A 2 „.„ A6 } przy
kodowaniu dwójkowym stanów A będzie musiał zawierać 8 stanów, skąd
wynikają 4 nieokreślone stany A' i 2 nieokreślone stany Y.
Ogólnie biorąc, przy formułowaniu opisu automatu nadawanie stanom
nieokreślonym wartości określonych jest niewskazane, gdyż ogran icza to
możliwości minimalizacji. Zadaniem minimalizacji jest bowiem maksymalne
wykorzystanie możl iwości oferowanych przez stany nieokreślone, aby uzyskać
automat o możliwie jak najmniejszej liczbie stanów wewnętrznych .
Metoda zgodności par, opisana niżej dla automatów niezupełnych, może
być także stosowana dla automatów zupełnych. Wykorzystuje ona tzw. tablicę
trójkątną do ok reślania par stanów zgodnych. Dla przykładowej tablicy przejść
i wyjść z rys. 4.64a tablica trójkątna ma postać pokazaną na rys. 4.64b.
Numeracja wierszy i kolumn tablicy trójki1tnej jest taka, że kratki odpowiadają
wszystkim możliwym parom stanów z tablicy przejść i wyjść, czyli wszystkim
możliwym parom wierszy z tej tablicy.
o
A
b
X
o
1
1
z
1
3
2
4
-
5
6
6
3
1
y
' -o
'
5
1
5
3
1
2
./
3
1. 2
4.5
4
4.5
5
1.6
./
6
1.3
3.4
3.5
c
1
-
3.6
AX
b
(1261 b
o o
5
Rys. 4.64. Przyklad minimalizacji licz.by Sianów automatu niezupełnego
183
t~l.1„. <)
o
(134510
4
a) llbllCI pnlt)łt i ")'jłt pmd ~ b) Ubl><o
o miinuuluO"'-anq liabit ~'
o ,
iablica pntji< i • })il
1
o
4. PODSTAWY TEORII UICtAOOW CYFROWYCH
Wypełnianie kratek tablicy trójkątnej przebiega następująco. Do danej
kratki wpisujemy znak x (przekreślamy ją), jeśli odpowiadające jej stany Al> A1
są wprost niezgodne. Podobnie wpisujemy do kratki znak
jeśli odpowiada
ona stanom wprost zgodnym. Jeśli natomiast stany A,, A i wyznaczające daną
kratkę są warunkowo zgodne, to wpisujemy do niej wynikające z tych stanów
różne stany następne, poza A 1, A i A 1' Ai.
1
Rodzina 4>m„ może być określona przez żmudne badanie zgod ności
wynikających z tablicy trójkątnej. W tym celu tworzymy zestaw par sta nów,
które nie są wprost niezgodne. W naszym przykładzie, rozpoczynając od prawej
strony tablicy trójkątnej i pomijaj:1c na razie przecinki między numerami sta nów,
mamy następujące pary:
J,
5: .56
4 : ll6. 96
3: .)4, )5
2: )6
I : }1', J.1, )4, }'5, J-<l
Badając
te pary staramy się utworzyć z nich większe zbiory stanów
wzajemnie zgodnych, skreślając pokrywane przez nie pary. Łatwo można
zauważyć, że {56, 45, 46} ~ 456, {34, 35, 45} ~ 345 itd„ otrzymujemy więc zestaw
trójek pokrywających w tym przykładzie wszystkie pary:
M ożna więc utworzyć
zestaw
pokrywający
poprzedni:
1345, 1456, 126
czyli rodzina 4>..... zawiera zbiory
s, = {1,3,4,5}
s, = {l,4,5,6}
S3 = {1,2, 6}
Ten sam wynik można uzyskać wykorzystując pary stanów wprost
niezgodnych [IO). W tym celu najpierw wypisujemy z tablicy trójkątnej pary
(A..,+ A,) stanów wprost niezgodnych, określonych przez przekreślone kratki.
W naszym przykładzie są to pary tworzące zbiór
Z= {(A2 , A3), (A 2 ,A 4 ), (A 2 ,A 5), (A 3 ,A6 )}
Następnie
tworzymy zdanie
a=
•
A (g,.; v g,J
i• l
184
4.2.. UKt.A_OY SEK'WENCYJNE
gdzie: g - zdanie „usuń ze zbioru A stan A ;",
n - liczba par w zbiorze z.
Po wykonaniu mnożeń i działań g otrzymujemy sumę iloczynów,
określającą rodzinę 4>.,.,. W naszym przykładzie zdanie a ma postać
Ograniczając się
do
działań
na indeksach otrzym ujemy
(2 V24 V23 V34)A(23 V26 V35 V56) =
= 23 V 26 V 235 V256 V234 V246 V2345 V2456 V
v .l1v 236 v 4J'Sv 2356 v ~v 2346 v 345 v 3456
gdzie ,,liczby" powtarzające się zostały skreślone. Wykonując działania zgodnie
ze zdaniem g otrzymujemy iloczyny indeksów reprezentujące zbiory S z rodziny
4> maJt:
a= 1456 v 1345 v l;ł6 v t,'A v 1)6v 1)5v ;.{) v }1 v I}ł$ v
v J4 v .0v t26 v}1
Skreślając te zbiory, które są podzbiorami większych zbiorów, otrzymujemy te same zbiory S 1, S2, S3 co poprzednio.
W celu otrzymania rodziny cf> 01111 wybieramy z rodziny 4> mi" te zbiory,
które łącznie spełniają warunek pełności, a następnie badamy je, czy spełniają
warunek zamknięcia. W naszym przykładzie warunek pełności spełnia rodzina
{SpS3 }. Do sprawdzenia warunku zamknięcia tworzymy tablicę kontrolną,
określającą stany następne w zbiorach S 1 i S3
s. = 1345~!26
[12-6
455-
x=O
x=I
z której wynika, że warunek zamknięcia jest
odpowiednie inkluzje). A zatem
cf)min =
113
443
spełniony (strzałki wskazują
na
{R , • R2}
gdzie R 1 = S 1 i R 2 = S3 . Wynikająca stąd tablica przejść i wyjść automatu
minimalnego jest pokazana na rys. 4.64c.
W ogólnym przypadku, jeśli warunek zamknięcia nie jest spełniony, to
w celu otrzymania rodziny cf> min do zbiorów spełniających warunek pełności
należy dołączyć dodatkowy zbiór rodziny <I>.,.., albo też podzbiór właściwy
R c S tak dobrany, aby spełnić warunek zamknięcia. Może też zais1nieć
potrzeba dołączenia więcej niż jednego zbioru (podzbioru).
185
4, POOSl AWV TEORII UKt.ADOW CYFROWYCH
Kodowanie stanów
4.2 .5.3
wewnętrznyc h
Kodowanie stanów wewnętrznych w układach synchronicznych jest znacznie
prostsze niż w układach asynchronicznych, gdyż nie występuje w nich niebezpieczeństwo wyścigów. Najczęściej są stosowane kody NB i Graya, jakkolwiek
jest możliwe również użycie innych kodów, umożliwiających uproszczenie
budowy bloku wzbudzeń (Jl) lub bloku wyjść (..1.), a także dostosowanych do typu
użytych przerzutników.
o
c
b
X1 X ]
o,o, oo 01 11 10 y
oo oo Ot oo oo o
01 oo t1 oo oo o
11 oo 11 oo 10 o
10 oo Ot oo oo 1
o, o,
X1X1
oo 01 1t 10
oo o.- o.- o.- o.01 Il- 1.- u- o.11 - .1 -.o - .1 -.o
o,02
10 -.1 - .1 -,1 -.1
X1 X]
oo 01
11 10
oo o.- 1. - o.- o01 - .1
-.o - .1
11 -.1
-.o
-.1 - .1
o.-
1-
o.- o.-
10
- .1
l 1 =11.,x 2
K 2 :x1 v 3t'2
Rys. 4.65 Przykład kodowania stanów (a) i określania funkcji wzbudzcil (b,c)
w oparciu o tablicę przejść i wyjść z rys. 4.62c
Na
przykład, stosując
kod Graya do tabl icy automatu Moore'a z rys.
na rys. 4.65a. Tablicę tę można
bezpośrednio wykorzystać do syntezy kombinacyjnej bloku ó, gdyż jest opisana
ona tak samo jak siatka Karnaugh. Jeżeli natomiast kod Q1 Q2 nie jest wybrany
jako kod Graya, to do celów minimalizacji form boolowskich opisujących
funkcje wzbudzeń, trzeba odpowiednio zmodyfikować postać zakodowanej
tablicy przejść i wyjść. Oznacza to takie przestawienie wierszy tej tablicy, aby
uzyskać z lewej strony tablicy opis kodu Graya. Na przykład, gdyby tablica z rys.
4.62c była zakodowana w kodzie NB, to do celów minimalizacji należałoby
zamienić miejscami dwa dolne wiersze.
4.62c
można otrzymać lablicę pokazaną
Określenie
struktury bloku
i bloku wyjść ().)
Pierwszą czynnością
przejść
(15)
4.2.5.4
na tym etapie syntezy jest wybór typu przerzutników, które
w bloku ó. Najczęściej stosowanymi, synchronicznymi przerzutnikami scalonymi malej skali integracji są:
mają być użyte
186
.-.2. U~t.AOV SEKWENCYJNE
przerzutnik D wyzwalany zboczem,
przerzutnik JK wyzwalany zboczem,
przerzutnik J K wyzwalany impulsem.
Przerzutniki Ti SR nie są wytwarzane jako układy małej skali integracji,
a ich stosowanie w układach o większej skali integracji jest sporadyC?.ne. Z tego
względu ograniczymy się do przerzutników Di JK,jako elementów tworzących
zespół pamięciowy 11 w bloku ~ (rys. 4.28).
Do wyznaczenia funkcji wzbudzeń W= y(A , X), realizowanej przez blok
wzbudzeń y, wykorzystuje się tablice wzbudzeń pr.lCrzutników O (rys. 4.39e) i JK
(rys. 4.42f), przytoczone łącznie niżej:
Q-+Q'
D
J
K
o o o
o I I
I o o
o
X
1
X
X
1
X
o
Dalsze postępowanie jest analogiczne do opisanego poprzednio dla
asynchronicznych. Synteza blok ów kombinacyjnych y i .i.jest prostsza,
gdyż nie jest wymagane wykrywanie i pr'.lCCiwdzialanie zjawiskom hazardu.
Na podstawie wybranego typu prlerzutnika tworzy się wblice wzbudzeń
układu. Na przykład, dla tablicy z rys. 4.65a i przerzutnika JK (których będzie
dwa) otrzymujemy tablice pokazane aa rys. 4.65b, c. Na podstawie tych tablic
otrzymujemy funkcje wzbudzeń
układów
= X1X2Q2,
!2 = X1X2
JI
K 1 =i 1i 2 V X 1X2 V (i2
K 2 =x 1 V i 2
Ten sam rezultat można otrzymać wprost z tablicy przejść i wyisc,
wprowadzając pogrubienie tych symboli stanów Qi, które różnią się od Qi.
Określenie funkcji wzbudzeń polega wówc-zas na wykonaniu zabiegów minimalizacyjnych na okre.ś lonych niżej zbiorach T, F, D w sposób objaśniony przy
omawianiu układów asynchronicznych (s. t 77).
Przy stosowaniu przerzutników JK zbiory te są zdefiniowane nastę­
pująco:
0 ={1, 1, ... }
F1 = {0,0, ...}
D1 ={0,0, ... , 1, l, ...}
TK = {0,0, ...}
FK ={J, 1, ... }
DK ={ I , 1, ... ,0,0, ...}
187
4. PODSTAWY TEORII
U KŁAOOW
CYFROWYCH
Ponieważ dla przerzutników D obowiązuje równanie Q' = D, zatem dla
tego typu pr~rzutników funkcję wzbudzeń D można określić bezpośrednio
z zakodowanej tablicy przejść, bez potrzeby wprowadzania pogrubionych
symboli.
Funkcję wyjść w naszym przykładzie otrzymujemy z tablicy przejść
i wyjść (rys. 4.65a) w postaci
Y = QIQ2
1
••--
x,
.,
1''
,_
&
1
t>-- 1l
>--
-
~-
-
&
j
~
~
o--
,_
~-
-
1
C>-
J
u-
o,
lK
&
-
Cl
o,
'--
L
~
I
1
1
~y
ii,
Zęgor
kl
Rys. 4.66 Schemat logiczny układu opisanego tablicami z rys. 4.65,
przerzutniki J K, elementy NAND i inwertery
wykorzystujący
Wynikający stąd schemat logiczny układu przedstawiono na rys. 4.66.
Jego złożoność jest mniejsza niż w realizacjach asynchronicznych (rys. 4.59 i 4.61 ),
a ponadto synteza jest prostsza ze względu na brak wyścigów i nieszkodliwość
hazardu w układach synchronicznych. Dlatego w praktyce chętniej są projektowane układy synchroniczne, które są także mniej wrażliwe na zakłócenia
zewnętrzne niż układy asynchrooiczoe.
PROGRAMY KOMPUTEROWE DO SYNTEZY
I SYMULACJI UKŁADÓW CYFROWY CH
4 .3
Aby ułatwić i przyspieszyć projektowanie układów cyfrowych opracowano wiele
wspomagających ten proces programów komputerowych. Większość tych
programów była opracowana w ośrodkach uniwersyteckich. Posługują się one
188
4.3. PROGRAMY KOMPUTEROWE OO SYNTEZY I SYMULACJI UKlAOOW CYFROWYCH
różnymi językami
opisu układów, mają różne walory użytkowe i na ogól
niewielką skalę upowszechnienia. Największą popularność uzyska! program
ESPRESSO [5] (wzmiankowany wcześniej w p. 4. 1.3.2) i obszerniejszy program
SIS [21 ], opracowane na Uniwersytecie Kalifornijskim w Berkeley (USA).
Obydwa le programy są omówione szczegółowo w [22, 23].
Pakiet SIS zawiera program ESPRESSO do dwu- i wielopoziomowej
minimalizacji układ ów kombinacyjnych oraz umożliwia projektowanie i optymalizację układów sekwencyjnych (synchronicznych i asynchronicznych).
Ponadto w pakiecie zawarty jest fit er, czyli program służący do wprowadzenia
uzyskanych równań boolowskicb do konfiguracji realnych układów scalonych,
z użyciem dodatkowych bibliotek komórek układów FPGA (rozdz. 9). SIS
wchodzi w skład wielu komercyjnych kompilatorów PLO i stanowi ogólnie
przyjętą bazę porównawczą dla innych tego typu opracowań.
Pakiet SIS w wersji oryginalnej napisany został w języku C prz.ez zespól
badawczy CAD (http://www-cad.eecs.berkeley.edu) na platformę UN IX. Pakiet
(wraz z opis.em [2ł] w formacie Postscript) jest dostępny z serwera flp
Uniwersytetu w Berkeley pod adresem
ftp://ic.eecs.berkeley.edu/ pub/ Sis.
Do szybkiej symulacji i weryfikacji układów cyfrowych służy interaktywny
program VIS, dostępny w lym samym katalogu („,/pub/Vis) lub ze strony
http://www-cad.eecs.berkeley-edu/ Respep/ Research/ vis.
Wersję SIS 1.2 przetworzono na platformę DOS na Uniwersytecie Bristol
w Anglii i jest ona dostępna w postaci wynikowej pod adresem
ht1p://www.pac1.srf.ac.uk/ ~ paul/dos is
wraz z (bardzo) obszernym podręcznikiem u żytkowania w postaci pliku ASCII.
Tamże podane są również adresy alternatywnych serwerów.
Korzystanie z UN IX-owego i DOS-owego pakietu SIS jest dość żmudne
z uwagi na specyficzny język opisu oraz dużą liczbę poleceń i opcji, które
trzeba wprowadzać tekstowo. W praktyce najefektywniejszym sposobem korzystania z systemu SIS jest użycie jednego z popularnych kompilatorów
PLO (np. firm Synario, X ilinx, Philips). Pracują one na platformie Windows,
umożliwiają prosty opis układu z użyciem ję-ąka ABEL-HOL lub przez
wprowadzenie schematu logicznego oraz zapewniają w pełni zautomatyzowany
proces optymalizacji. Dokładniejsze informacje podane są w p. 9. l.3. Tam7..e
omówione są języki opisu układów (HOL - Hardware Descrip1io11 Language),
najczęściej stosowane w praktyce: ABEL-HOL, VHDL i Verilog.
Do analizy niewielkich układów cyfrowych przydatne są również proste
programy komputerowe, które umożliwiają symulację ich działania. Jednym
z nich jest opisany niżej symulator logiczny TLS [ 13]. Program 1en wykorzystuje
popularny język programowania Turbo Pascal, to znaczy symulację układów
cyfrowych realizuje się w oparciu o ich opis w tym języku. Oznacza to,
189
4 PODSTAWY TEORII UKtAOOW CYFROWYCH
że
symulator TLS jest praktycznie dostępny dla każdego, bez dodatkowych
kosztów i konieczności uczenia się zasad odrębnego języka.
Symulator TLS stanowi zbiór plików dyskowych, napisanych w języku
źródłowym Turbo Pascal. Część z nich , obejmująca zbiorcze dek laracje typów
o raz biblioteki procedu r i funkcji, jest skompi lowana i stanowi wydzielone
moduły (z rozszerzeniem TPU w nazwach). Przy typowym zastosowaniu
komputera klasy I BM PC z twardym dyskiem, pliki te umieszcza się w wydzielonym katalogu TLS, łącznie z kompilatorem języka Turbo Pascal (pliki
TURBO.EXE i TURBO.TPL). Symulacja projektowanego układu polega na
utworzeniu i wykonaniu odpowiednigo programu. W tym celu wykorzystuje się
wybrane funkcje i procedury biblioteczne, slużące do:
opisu układu,
generacji wejściowych wektorów testowych,
obrazowania wyników (typowo w postaci tablicy stanów).
Pliki potrzebne do realizacji programu są do niego dolączanc przy użyciu
słowa kluczowego uses (skompilowane moduly) lub dyrektywy SI (pliki w języku
źródłowym).
Moduł deklaracyjny DEC zawiera deklaracje typów i zmiennych globalnych. Podano uproszczoną postać jednego wariantu tego modułu:
unit Dec;
{ Modu! deklaracji typów i zmiennych
inte r fa ce
t ype
B • O.. l;
r2 • array[O .. l] of B;
r3 • array[0 .• 2] of B;
rl6
br4
br8
s2
sJ
var
•
•
•
•
•
}
array [0 .. 15] of B;
array[0 .. 3] of boolean;
array[0 .. 7] of boolean;
s tring( 2];
string[ J];
sl6 • s tr ing [l6];
m, n, l : shortint;
vl. v2,
fl, f2,
. .. , v20
... , f20
Bt
boolean;
function Ran : B;
i•ple•entatlon
f ·u n ction Ra.n;
v o.r u
rea l;
beg in
u :• Random;
if u < Q. 5 then Ran : • O olse Ran := I
end;
end.
Zadeklarowanie wybranych nazw zmiennych globalnych upraszcza pisanie programów użytkowych. Nazwy m, 11, I są wybierane do zastosowań
190
•.3 PROGRAMY KOMPUTEROWE 00 SYNTEZV I SYMULACJI U KŁADÓW CYFROWYCH
w instrukcjach iteracyjnych, a nazwy 1•/ -'- v20 ifl -'-.120 dla zmiennych wymagają­
cych przejściowego pamiętania podczas wykonywania programów. Prosta
runkcja Ran służy do losowej generacji bitów o wartości O lub I.
Symulowane układy są opisywane przez zestaw równań reprezentujących
odpowiednie mikrooperacje. Dane wejściowe i wyj ściowe wewnątrz symulowa nego uk ładu są przedstawiane w najprostszych przypadkach jako zmienne
jedno bitowe, przyjmujące wartości ze zbioru {O, l }, albo jako tablice jednowymiarowe. W ostatnim przypadku, przy zapisie liczb dwójkowych o postaci
a„ -1 an -2 ··· ao
takie same indeksy są również stosowane przy adresowaniu elementów tablicy. Na
przykład liczba dwójkowa 10110 jest zapisywana w tablicy A: r5 = (0, I , I, O, I),
czyli A(O] = a0 , A[I] =a, itd. Dane wprowadzane przez użytkownika są cz.ęsto
dla wygody typu łańcuchowego, czyli mają postać stów, podobnie jak wyniki
symulacji. Do konwersji typów służą odpowiednie procedury.
Użycie
symul atora T LS do analizy
kombinacyjnych
układów
4.3.1
Najprostszym koncepcyjnie blokiem kombinacyjnym jest siec bramk owa.
utworzona przez odpowiednie poląc-tenie bramek elementarnych (tak ich jak
AN D , NAND , OR, N O R i XOR) oraz inwerterów. Do opisu takiej sieci stosuje
•o
„
V,
Xz
_,
"z
x,
y
••
R)'s. 4.f>l
Schema1 logicwy sieci
bramkowej symulowanej
programem Nc1sim
••
progra• NetSim;
{ Okreala
uaes Dec,
Ga.te ,
Crt;
v ar
tab t i ~e
atanow
pr~ykJadow e j
sieci bramkowej
{ Ogó lna eie•e dek l aracyjna }
{ Bibllo toka funkcji bramko wych}
X : r6;
{Tablico ZMlonnych wejsciowych}
function Net(X
r6) : 8;
{ Zapis siec i bramkowej }
beg in
v l : : NAND2 ( X(O), X(l));
v2 : : XNOR2 (X(2) , X(J ));
Net : : NORJ(XNORl(vl, vl), ANDJ(vl, vl, X(4)), XOR2(v2,
INV(X(5))) )
end ;
($1
Stete }
{ Generator
besin State end.
191
w e~t orow
te&to• ych l
•ył• letleci
teblicy stenów }
4. PODSTAWY TEORII
UKŁAOOW
CYFROWYCH
się postać
funkcji, po jednej dla każdego wyjścia. Wewnątrz sieci, jeśli sygnał
wyjściowy dowolnej bramki służy do sterowania więcej niż jednej bramki, to
wartość tego sygnału ok reśla się najpierw przy użyciu zmiennych pośrednich vl,
v2 itd . Kolejność opisu odpowiada kierunkowi przepływu sygnałów w sieci.
Ilustruje to poniiszy przykład symulacji sieci bramkowej pokazanej na rys. 4.67.
Moduł GATE zawiera biblioteczne funkcje bramek elementarnych
o liczbie zmiennych wejściowych równej liczbie wejść (od 2 do IO). Na przyklad:
function
beg in
functio n
beg i n
f unction
beg i n
tunction
be( in
A.ND2(dl, d2 : B) : B; { Dwuwejtciowa bramka AND }
AJłD2 :c dl end d2
end;
NAND2(d l , d2 : 8) : Bi { Dw u wejścio wa bramka HAND }
NAND2 :• AND2(d l, d2) xor 1 e nd ;
XOR2(d l , d2 : B) : B; { Dwuwejścio wa br amka XOR }
XOR2 : = d l xor d2 end ;
INV(dl : B) : B;
{ Inwerter }
I NV :. dl xor 1 end;
Procedura State służy do zobrazowania tablicy stanów symulowanej sieci
logicznej o liczbie zmiennych wejściowych nie większej od 7, ma ona postać:
procedure State;
{ Wyświetla tablice stanow sieci logicznej }
i , j, k, ux
var
: s horti n t
be gi n
ClrScr ;
ux :. Pred(SizeOt(X)) ;
FillChar(X, SizeOf( X) , O);
Wr iteln('TABLICA STANOW X:y') ; Wr iteln;
fo r i :z O t o Pred( 2 shl ux) do
begi n
GoToXY(i d i v 16• 10 + 1 , ( i mod 16) + 4);
f o r j :. ux downto O do Write(X[j]);
Write(' :• , Net(X)) ;
{ Generator wektorow testowych X }
k
:- - 1;
repe at
k : = Succ( k);
X[ k ) :. X[k) xor l ;
until (X[k) • 1) o r (k = Succ(ux))
end
end;
Odrębny moduł
biblioteczny GATER zawiera opisy bramek przy użyciu
zmiennych wejściowych w postaci tablic, zdefiniowanych w module DEC.
Dalsze przykłady opisu i symulacji bloków kombinacyjnych są podane
w rozdz. 8, przy omawianiu poszczególnych rodzajów bloków funkcjonalnych.
Użycie
symulatora TLS do analizy
sekwencyjnych
układów
4.3.2
Układy sekwencyjne są modelowane w sposób zbliżony do opisu układów
kombinacyjnych. Symulacja działania wymaga czynności inicjalizacji stanów elementów pamięciowych, podobnie jak w realnych układach elektronicznych. W
192
4 3 PROGRAMY KOM PUTEROWE OO SYNTEZY I SYM ULACJI UK.U.DOW CYFROWVCH
najprostszych pr.typadkach działanie układu symuluje się przez wielokrotne powtarzanie procedury opisującej układ, przy odpowiednio zmienianych sygnałach
wejściowych. Pamiętanie stanów poprzednich jest wykonywane automa tycznie
podczas realizacji programu, poprzez wykorzystanie zmiennych globalnych.
Przy najprostszej symulacji logicznej, to znaczy bez uwzględniania
uzależnień czasowych, nie jest możliwa analiz.a zjawisk hazardów i wyścigów.
Z tego względu symulacja układów asynchronicznych może być prowadzona
tylko zgrubnie. Bardziej reprezentatywna jest symulacja układów synchronicznych, w których hazardy są nieszkodliwe a wyścigi nie występują.
W prostych programach symu lacyjnych wykorzystuje się te same co
poprzednio moduły DEC i GATE(ewcntualnie GATER) oraz doda tkowy mod uł
biblioteczny przerzutników (FF) i wh1czane pliki odpowiednich procedur
tablicujących. Poniicj przedstawiony jest program symulujący działanie układu
synchronicznego z rys. 4.66.
progr... SNe t Sim;
uaes Dec, Go t e, FF, Crt;
sekwencj e syrnelów wejściowych )
il : rlO = (O, O, O, 1, 1, O, 1, O, O, O);
i2 : r-10 = (O, I, 1, O, O, 1, O, 1, I, l);
{ Op is przykładowej sieci se kwencyjnej )
procedura SNet( x l, x2, c , r : B: var Ql, Q2 , y: ą);
begin
vl :• INV(xl);
v2 : • I NV(x2);
v 3 :. AND3(vl, x2 , Q2);
v4 :• OR3(AND2( xl, x2 ), AND2(vl, v2), INV(Q2));
v5 :a AND2(vl, x2);
v6 :a OR2( x l, v2);
const
{
Przy kładowa
Jl(l(c, r, v3, v4, Ql, f l);
J Kl(c, r, v5 , v6, Q2, f2);
y :• AND2(Ql, INV (Q2))
end ;
{$I Tab21 }
begin Tab21
end.
W programie tym użyty jest model przerzutnika JK wyzwa lanego impulsem i zerowanego pr.cy R = O, w postaci procedury zawartej w module FF:
procedure JKl(C, R, J, K : B; var Q : B; vor f
var
u : byte;
begin
if R • O then Q : = O
elae lf (C • O) and f
b<>gln
then
u :. J ahl 1 or K;
C488 U Of
1
2
Q :. o;
Q :a l;
3 : Q : . Q xor 1
end
end;
if C ond R • 1 tben f:• true elae t:s folse
end ;
193
: booleon);
4. PODSTAWY TEORII
UKŁAOOW
CYFROWYCH
Zmienna/jest tu wprowadzona w celu wykrycia obydwu stanów sygnału
C.
Procedura Tab2 I tablicuje stany wejść x I, x2 i wyjścia y układu:
sterującego
procedure Tab21 j
var
cp : B;
begln
ClrScr;
SNet(O, O, O, O, v 7, v8, v9);
Inicja ł lz.acja
{
n :z O; cp : = li
WC'iteln(' n
xl
x2
Ql
Q2
y ') ;
Wri te ln ( '--- - - - - - - - - - - - - - - - - - - - - •);
)
Writeln;
repeat
cp : • cp xo r 1 ;
SNet(il(n], i2(n ], cp, 1, v 7, v8, v9);
if cp • O then
begin
Write l n('
n
end;
=•
until n •
end ;
, n,
v7 , '
Succ( n)
•
v8, '
i l [ n),
i2{n],'
v9);
10
Można również wykorzystać inną procedurę tablicującą, w której
przebiegi wejściowe xl, x2 są generowane losowo przy użyciu funkcji Ran
zawartej w module DEC.
Przykłady opisu i symu lacji sekwencyjnych bloków funkcjonalnych
podane są w rozdz. 8.
LITERATURA
I. Karnaugh M.: 711e niap niethodfor synthesis of con1bi11ational logic circuits, AIEE Trans. Comm.
and Elcctronic.,, Vol. 72, Part I, November 1953, 593- 599
2. Kcmtopf P., Michalski A.: »)'brane zagadnienia syntezy ko111bi11acyjnych układów logicznych,
PWN, Warszawa 1972
3. Quine W. V.: Tlie problem of simplifying cruth fimetions, Amer. Math. Mootly, Vol. 59, 1952,
521- 531
4. McCluskey E. J.: Minimization of Boolean fimetions, Bell System Tech. J., Vol. 35, 1956,
1417- 1444
5. Brayton R. K., Hachtel G. O., McMullen C. T., Sangiovanni-Vincentelli A. L.: Logic minimiza1ion
algorirhmfor VLSJ symhesis, Kluwer Academic Publishers, 1984
6. Praca zbiorowa: CJfrowe układy telekomunikacyjne, pod red. Majewskiego W., Łuby T., WKL,
Warszawa 1986
7. Molski M.: Modułowe i mikro programowane układy cyfrowe, WKL. Warszawa 1986
8. Mowie F. J.: A systemacie approaeh w digiral logie desigrr, Addisoo-Wesley, Reading 1976
9. Lee S. C.: Digital eircuirs and logie design, Prentice-Hall. Englewood Cliffs 1976
IO. Traczyk W.: Uklady CJfrowe. Podstawy teoretycz1w i metody syntezy, WNT, Warszawa 1986
11. D ietmeyer O. L.: Legie design of digital systems, Attyn and Bacon, 1988
12 McCluskey &J.: Legie design principles, Prentice-Hall, 1986
194
4.3. PROGRAMY KOMPVTeROWE 00 SYNTEZ'r' I SYMULACJI UKŁADÓW CYFROWYCH
13. Kalisz J.: Genera/.purpose languages si1nulate simple circuit.s, EON. September 17. 1990,
205- 214
14. Majewski Vl„ Luba T.~ Jasiński K.. Zbierzcho\\'Ski B.: ProgranuHvalne „iodufJ' Jogicz11e w syntezie
układów cyfrowych, WKŁ, Wars1.awa, 1992
15. Biswas N. N.: Logic design theory, Prentice-Hall International, 1993
16. Almaini A. E. A.: Electronic logic systems, Prentice Hall International (U K) Limited, 1994
17. Michel P„ Lauther U„ Duzy P. (Ed.): 111e synthesis approacl1 to digiwl syst.em design, Kluwer
Academic Publishers, 1992
18. Wakerly J. F.: Digital design, princip/es and practices, Prcnticc-Hall lnlernatio nal, 1994
19. Rudełl R. L., Sangiovanni-Vinoentelli, A.: 1\1ultip/e-valued n1inimization for PLA optimization.
lEEĘ Trans. CAD, Vol. CAD·6, No. S, 1987, 727- 750
20. Lala P.G.: Practical digital /ogic design and t.esting, Prentice-Hall, Inc., 1996
21. Sentovich E. M. et al.: SIS: a sysremfor sequentia/ circui1 synthesis, ERL Mem. No. UCB/ERL
M92/ 41, 4 May 1992
22. Luba T.. Nowicka M., Perkowski M., Rawski M.: J'lowoczesna S)'ttteza logiczna, Oficyna
Wydawnicza Politechniki Wa rszawskiej, 1997
23. Łuba T., Jasiński K „ Zbierzchowski B.: Specj"/izowane układy cy/owe w str11kt11rach PLD i FPGA,
WKL, 1998
5
CYFROWE
UKŁADY
SCALONE
PODSTAWOWE OKREŚLENIA
I KLASYFIKACJA
5.1
Mikroelektronika jest dziedziną elektroniki, związaną z wytwarzaniem układów
elektronicznych w postaci zminiaturyzowanej, której charakterystyczną cechą
jest scalenie wszystkich lub części elementów tworzących takie układy. U kład
scalony (integrated circuit - TC) stanowi fizycznie wykonany mikrominiaturowy
układ elektroniczny, którego część lub wszystkie elementy i ich połączenia są
wytworzone we wspólnym procesie technologicznym, wewnątrz lub na powierzchni wspólnego podłoża. W czasie procesu technologicznego wytwarza się
jednocześnie wiele takich struktur układowych w postaci kostek (płatków, chip)
półprzewodnikowych, najczęściej krzemowych, które po przetestowaniu umieszcza się w odpowiednich obudowach (znacznie większych od struktur). Obudowy
te chronią struktury od szkodliwych wpływów otoczenia i ułatwiają realizację
połączeń zewnętrznych. Do celów aplikacyjnych układem (modułem) scalonym
nazywa się półprzewodnikową strukturę układową, umieszczoną w obudowie,
z wyprowadzonymi końcówkami.
Cyfrowe układy scalone, które jako elementy czynne wykorzystują
tranzystory bipolarne (npn lub p11p), nazywa się bipolarnymi. Podobnie układy
z tranzystorami unipolarnymi określa się jako unipolarne. Układy bipolarne są
wykonywane w podłożu krnmowym technologią epiplanamą, podobnie jak
większość układów unipolarnych. Niewielka część układów unipolarnych jest
wytwarzana w podłożu z arsenku galu.
N ii.ej wymienione jest siedem klas cyfrowych układów scalonych, z których pierwsze cztery osiągnęły wysoki poziom technologiczny i znaczne upowszechnienie rynkowe oraz w dalszym ciągu są ulepszane jakościowo i rozszerzane asortymentowo. Nazewnictwo literowe klas wywodzi się z terminologii
angielskiej, związanej z charakterystycznymi cechami konfiguracji elektronicznej
podstawowego funktora logicznego lub z użytą technologią. Są to następujące
klasy:
196
5.1. PODSTAWOWE OKRE$lENIA I KLASYFIKACJA
TTL (Transistor-Transistor Logic) - układy TIL,
ECL (Emitter - Co11pled Logic) - układy o sprzężeniu emiterowym,
MOS (Metal-Oxide-Semicond11ctor) - układy MOS,
CMOS (Complementary MOS) - układy komplementarne MOS,
BiCMOS (Bipolar-CMOS) - układy „mieszane": bipolarne-CMOS,
I 2 L (Integrated lnjection Logic) - układy iniekcyjne,
CTD (Charge Tra11sfer Device) - układy o sprzężeniu ładunkowym,
GaAs MESFET (Galli11m Arsenide Metal-Semico11d11ctor Field-Ejfect
Transistor) - układy GaAs.
Klasy TIL, ECL i I 2 L obejmują układy bipolarne, a pozostałe klasy (z
wyjątkiem BiCMOS) dotyczą układów unipolarnych. U kłady MOS dzielą się na
dwie główne podklasy PMOS i NMOS, zależnie od typu przewodnictwa kanału
użytych tranzystorów. W układach CMOS stosowane są tranzystory M OS
o obydwu typach przewodnictwa (p i n). W układach BiCMOS stosowane są
dodatkowo tranzystory bipolarne npn.
W miarę upływu czasu pewne technologie stają się przestarzałe i dlatego
starzeją się technologicznie również układy scalone. Na rysunku 5.1 przedstawiono typowy przebieg „czasu życia" różnych technologii cyfrowych układów
scalonych. Jak widać, najświeższe serie TTL to: serie ALS, F i AS, natomiast serie
LS, Si wszczególności seria standardowa (TIL) stają się już przestarzale. Układy
TTL generalnie ustępują miejsca nowszym technologiom CMOS i BiCMOS,
zwłaszcza niskonapięciowym (LV - Low Voltage).
Al$
LV,l.VC,LCX
I
I
ALVT
I
V.'prowodzenie
Wzrost
199 6
& Bipo la rne
+ CMOS
e BiCMOS
Zależnie
Dojr~łoSć
Starzenie
sięj przestorzołośC
Rys. 5.1
Clas życia cyfrowych
uk ładów scalonych
o różnych technologiach
(Texlls lnstruments, 1996)
od stopnia złożoności, czyli liczby elementów zawartych w ukła­
dzie scalonym na kostce półprzewodnikowej, początkowo wyróżniano odpowiedni stopień scalenia (skalę inte{1racji) układu. Przyjęto z grubsza, że
197
5. CYFROWE
UKŁADY
SCALONE
układy małego
stopnia scalenia - małej skali integracji - SSI (Small Scale
Integration), zawierają do stu elementów,
układy średniego stopnia scalenia - średniej skali integracji - MSI
(Medium Scale Integration), zawierają od stu do tysiąca elementów,
układy dużego stopnia scalenia - wielkiej skali integracji LSI - (Large
Scale Integration), zawierają od tysiąca do stu tysięcy elementów,
układy o bardzo dużym stopniu scalenia - bardzo wielkiej skali integracji
- VLSI (Very Large Scale Integration), zawierają od pięćdziesięciu tysięcy
do miliona i więcej elementów.
Podaną klasyfikację
spowodowane jej
stopnia integracji obecnie stosuje się rzadko, co jest
i brakiem istotnego znaczenia.
scalenia umożliwiają technologie MOS. Wynika to
małą precyzją
Największy stopień
z następujących powodów;
I.
W układach MOS zamiast konwencjonalnych rezystorów dyfuzyjnych są
stosowane tranzystory. Skutkiem tego jest duża oszczędność powierzchni
(powierzchnia tranzystora MOS może być znacznie mniejsza od powierzchni potrzebnej dla równoważnego rezystora). Dalsze zmniejszenie
powierzchni wynika z braku złączy izolacyjnych w układach MOS,
w których izolacja międzyelementowa jest cechą właściwą strukturalnie
i nie wymaga specjalnych zabiegów ani dodatkowej powierzchni.
2.
Technologia MOS umożliwia budowę układów pamięci dynamicznych,
w których jedna komórka zawiera tylko jeden tranzystor MOS i jeden
mikrokondensator, co zajm uje bardzo małą powierzchnię. W układach
bipolarnych komórkę pamięci stanowi przerzutnik bistabilny, zawierają­
cy co najmniej dwa tranzystory i dwa rezystory, co zajmuje odpowiednio
większą powierzchnię.
układach
niż
układach
3.
Moc strat w
4.
Przeciętna gęstość defektów na płytce krzemowej jest mniejsza w ukła­
dach MOS niż w układach bipolarnych. Tranzystor MOS jest bowiem
wytwarzany jako przyrząd o strukturze w zasadzie powierzchniowej
(poziomej), natomiast tranzystor bipolarny ma zasadniczo strukturę
pionową, o bardzo malej (poniżej I µm) grubości bazy.
MOS jest mniejsza
w
bipolarnych.
Cyfrowe układy scalone są wytwarzane w dwu zasadniczych odmianach
aplikacyjnych, a mianowicie jako układy uniwersalne i układy specjalizowane
(ASIC - App/ication Specific Integrated Circuits). Pierwsze z nich są produkowane we wszystkich stopniach scalenia do uniwersalnych zastosowań.
Układy z grupy ASIC (p. 8.5) są natomiast wyłącznie układami LSI i VLSI,
które są projektowane i wytwarzane do ściśle określonych zastosowań. Umożliwiają one zmniejszenie rozmiarów, mocy strat i kosztu projektowanych
urządzeń.
198
5.2. RYS HISTORYCZNY
RYS HISTORYCZNY
5.2
Pierwsze próby scalania elementów w kostce półprzewodnikowej podjął J. Kil by
(Texas Jnstruments, USA) w 1958 r. Pierwszym układem cyfrowym, którego
wszystkie elementy były wykonane w jednym krysztale krzemu, był przerzutnik
zawierający dwa tranzystory, dwa kondensatory i osiem rezystorów. Tranzystory były wykonane przy użyciu technologii mesa, kondensatory jako spolaryzowane wstecznie złącza pn, a rezystory jako wyizolowane paski krzemowe.
Wszystkie te elementy były połączone ze sobą w strukturę układową za pomocą
złotych drucików. Czas od zrodzenia się idei scalania elementów układów
w jednym krysztale do jej realizacji praktycznej był krótszy od trzech miesięcy.
Układy te zostały po raz pierwszy zaprezentowane publicznie w USA
w marcu 1959 roku pod nazwą solid circ11its.
Zasadniczą wadą układów Kil by'ego była konieczność wykonywania
indywidualnych połączeń między elementami układu za pomocą złotego drutu.
Decydowało to o wysokim koszcie układu, małym uzysku produkcyjnym
i niezadowalającej niezawodności. Pokonanie tych trudności stało się możliwe
przez zastosowanie technologii planarnej, wynalezionej przez J. A. Hoerniego
(Fairchild, USA) w 1958 r. w odniesieniu do indywidualnych tranzystorów
krzemowych. Twórcą pierwszego układu w pełni scalonego, wykonanego
technologią planarną, był badacz amerykański R. Noyce (F airchild). W lipcu
1959 r. zgłosił on patent na krzemowy układ scalony wykonany technologią
planarną, przy użyciu wstecznie spolaryzowanych złączy pn do wzajemnej
izolacji elementów układu. Wszystkie połączenia elementów w układzie były
wykonane przy użyciu jednej, odpowiednio wytrawionej warstwy metalu,
naparowanej na izolacyjną warstwę dwutlenku knemu.
Dalszy rozwój nastąpił bardzo szybko, zwłaszcza po opracowaniu w 1960
r. w Bell Telephone Laboratories (USA) metody epitaksji. Pierwsze seryjnie
produkowane cyfrowe układy scalone (układy RTL, Fairchild i Texas Instruments) pojawiły się już w 1961 r. W tym samym roku zostały opracowane
pierwsze układy TTL (J. Buie z Pacific Semiconductor), a w Polsce opracowano
półprzewodnikowe przyrządy wielozłączowe, realizujące funkcje liczników (A.
Ambroziak, Polska Akademia Na11k [I]). W 1962 r. rozpoczęto produkcję
układów DTL (Signetics, Fairchild) i opracowano pierwsze układy ECL
(Motorola)oraz pierwsze układy MOS (S. Hofstein i F. Heiman z RCA). W 1963 r.
wprowadzono seryjną produkcję układów TTL (rodzina SUHL, Sylvania),
następnie rozwiniętą na skalę światową przez firmę Texas I nstrumems w rodzinie
SN54/74. Układy CMOS zostały opracowane również w 1963 r. Jednak
technologia unipolarna została wystarczająco udoskonalona dopiero w końcu
lat sześćdziesiątych, gdy pojawiły się pierwsze układy pamięciowe MOS (1968),
a następnie układy kalkulatorowe MOS (1970) i mikroprocesory MOS (1971).
Układy 12 L zostały opracowane w 1972 r. W latach siedemdziesiątych i osiem-
199
5. CYFROWE U KŁAD Y SCALONE
dziesiątych nastąpił
szybki rozwój technologii wytwarzania układów scalonych,
w celu osiągnięcia jak największego stopnia ~-alenia, największej szybk ości
działania i najniższych kosztów. Ewolucja stopnia scalenia w czasie była
następująca: układy SSI - 1961, MSI
1964, LSI - 1968, VLSI - 1975.
ZASADNICZE PARAMETRY CYFROWYCH
UKŁADÓW SCALONYCH
Z punktu widzenia projektanta,
istot ne są następujące parametry:
wykonystującego
cyfrowe
układy
5.3
sca lone,
szybkość działania,
moc strat,
odporność
na
zakłócenia,
zgodność lączeniowa
i obciążalność.
Przy konstrukcji systemów cyfrowych powinny być znane rówmez
wlaściwości obudów oraz niezawodność cyfrowych układów scalonych.
Szybkość działani a
5.3.1
Podstawową miarą szybkości działania uk ładu cyfrowego jest czas
propagacji 1,
sekwencyjnych, często tliwość impulsów sterujących. Czas
propagacji, określany również jako czas opóżnienia, definiuje się jako odstęp
czasowy między zboczem impulsu wejściowego i wywołanym przezeń zboczem
impulsu wyjściowego, przy umownie określonym poziomie napięcia na tych
zboczach {rys. 5.2). Istnieją dwa zasadnicze czasy propagacji: przy przejściu
napięcia wyjściowego U 0 układu z poziomu niskiego, czyli mniej dodatniego L,
do wysokiego, czyli bardziej dodatniego H {In.fi), i odwrotnie, przy przejściu
z poziomu wysokiego do niskiego (tr11 J. Wartość 1, określa się w związku z tym
jako większy z tych dwóch czasów ł ub jako średnią arytmetyczną lnu i I riw tj.
oraz, w
układach
IP = (lpLff+lrTIJ/2.
Wartości czasów propagacji obowiązują tylko w odniesieniu
określonych warunków pomiarowych, tj . przy w pełni zdefi niowanych
do ściśle
pa rametsprecyzowanym
rach impulsu wejściowego, ok reślonym napięciu zasilającym,
obciążeniu i temperaturze.
Szczególnie istotne znaczenie. zwłaszcza w układach unipolarnych, ma
obciążenie pojemnościowe, na które składają się pasożytnicze pojemności
wejściowe sterowanych układów i pasożytnicze pojemności ścieżek łączących.
W praktyce modeluje się te obciążenia p17,ez skupioną 1'Qjemność C1, o jednej
z dwu umownych wartości: 15 pF łub 50 pF {p. rys. 7.12).
200
5.3. ZASADNICZE PAAAMETRY CYFROWYCH UKt.AOOW SCALONYCH
o
Nol>'fO•
z:osiloJące Uc:c
JPrqo
ł zosiloJqcy I ce
Maso
b
\~~ ~-·i_aiu...p...,....-"1
~---
u,- - - '
------- - - -Rys. S.2
t PU<
tij .ikbd qfr~7 ~racntov. any
prtt:i ,.C'l;;I~ $kr7Jnłf·,
Uo---~
bf "ł4'_.M
' - - --1/
Na~.c
u,- --- ---- --/
Iwo
Umowne punkty zmiany sianu
i ft.Im
prubtql Clił.IO•~
p1oao-·e Ur oznllQiil
1UT\(ll'ny pullom 11a pięc111 ,
odpol'i:1 dający zmianie sta11u
lo~ao
Z punktu widzenia szybkości działania przewagę mają układy bipolarne,
które np. w klasie ECL osi ągają opóźnienia propagacji 300 ps (SSI) i 10 ps (LSI)
oraz częstotliwości pracy 0.5+ 5.5 GHz. Układy unipolarne na ogół nie
przekraczają częstotliwości 500 MHz (z wyjątkiem układów GaAs, które
osiągają częstotliwość kilkunastu GHz).
MOC STRAT
5.3.2
Moc strat P układu określa się jako P = U cel co gdzie Ucc jest nap1ęc1em
zasilającym i I ce jest prądem pobieranym ze źródła zasilania. Podobnie jak
popr.tednio, dla dwóch stanów logicznych na wyjściu, można określić moc
P1.. = UcclccdPrzy poziomie niskim na wyjściu) i Pu = Ucclccu(PrzY poziom ie
wysokim na wyjściu). Moc średnią przy danym okresie przełąc1.eń
T= t..,0 1.. + tw0u można w przybliżeniu określić jako
P = (P1,.L„01.. + Pulw0u)f T
jeżeli
okres Tjest wystarczająco długi, by można pominąć wpływ skończonych
czasów narastania i opadania zboczy. Podczas przełączeń niektóre układy
scalone, np. TTL, pobierają znacznie większy prąd zasilania niż w stanie
ustalonym. W ogólnym przypadku, przyjmuj itC I cdt) jako przebieg prądu
zasilania w czasie, średn ia moc strat P wyrazi się zależnością
p
Ucc TJ
=To
l cc(t) dt =Ucelce.i.
201
5. CYFROWE UKŁAOY SCALONE
gdzie leci, jest średnią wartością prądu zasilania, w praktyce mierzoną łatwo
miliamperomierzem.
Przy określaniu mocy strat P w układach TTL należy również uwzględnić
dodatkową moc strat, wynikającą z obecności prądu wyjściowego I OL• który
stanowi sumę prądów wejściowych, wypływających na poziomie L z przyłączonych wejść innych układów (p. 7.2.J). Jeśli zatem badany układ jest
przyłączony do N wejść innych układów, to wynikająca stąd dodatkowo
moc strat jest równa Nl 0 u„Uo1.• gdzie U0 dest napięciem wyjściowym badanego
układu na poziomie L.
Ze wzrostem częstotliwości f = l/T moc strat z reguły się zwiększa,
pozostając w dalszym ciągu zależna od wartości I cc1. i I ecu· Typowe zależności
średniej mocy strat od częstotliwości dla różnych serii układów scalonych TTL są
pokazane na rys. 5.3, gdzie N oznacza liczbę układów z tej samej serii,
stanowiących obciążenie danego układu.
W odróżnieniu od układów TTL, układy ECL przy N = O nie zwiększają
mocy strat przy wzroście częstotliwości, gdyż zasada ich działania polega na
przełączaniu stałego prądu . Ilust racją tego jest przytoczona porównawczo na
rys. 5.3 charakterystyka mocy strat popularnej serii MECL !OK (Motorola).
io3 ----------------~-------mV/ p
ECL
ALS
ECL:lh'- .2V
c,,o
10·' ~----l--..,...;;.c....-1------ł-----l--TTL,CMOS:
u,,„s.ov
c,,SOpF
10->·L...,---.J..,.---...J...,---....L- - - - - 1 . - - - -l.,--- C - 10·.1
10 ·1
10·?
Rys. 5.3. Typowe
zależności średniej
wyjątkiem układów
202
10
101
MH2:
10 3
mocy strat P pojedynczej bramki od często tliwości
serii układów scalonych TTL, ECL i CMOS (CL= 50 pF
ECL, d la których CL = 5 pF)
przełą czania/ dla różnych
z
1
5.3. ZASADNICZE PARAMETRY CYFROWYCH UKŁAOOW SCALONYCH
Wartość
w sposób istotny od obciążenia. Przy
powoduje znaczny
wzrost P przy wzroście częstotliwości. Efekt ten jest szczególnie widoczny
w układach scalonych CMOS o bardzo małej mocy strat w stanie statycznym.
Do zgrubnej oceny układów cyfrowych bywa czasem stosowany współ­
czynnik dobroci D, będący iloczynem czasu propagacji i mocy strat
mocy strat
zależy
obciążeniu pojemnościowym prąd ładowania pojemności
D = t,P
Odporność
na
zakłócenia
5.3.3
Bardzo istotnym parametrem scalonego układu cyfrowego jest jego odporność
na zakłócenia, mogące wywołać niepożądaną, choćby krótkotrwałą, zmianę
stanu na wyjściu. Z punktu widzenia źródła zakłóceń można wymienić:
zakłócenia napięcia zasilającego,
zakłócenia
uziemieniowe,
w liniach transmisyjnych,
zakłócenia odbiciowe w liniach transmisyjnych,
Należy również wyróżnić zakłócenia generowane wewnątrz systemu
cyfrowego podczas procesów przełączania oraz zakłócenia zewnętrzne, wywoła­
ne m.in. włączaniem i wyłączaniem odbiorników dużych mocy, np. silników
obrabiarek itp.
Wielkość zakłóceń odnosi się zwykle do wejścia układu cyfrowego, który
na rys. 5.4 jest określony jako sterowany.
zakłócenia przesłuchowe
Ze kłócenia
napięcia
zasiłoJqcego
Uktod
sterujqcy
Zakłócenia
w linii
transmisyjnej
Uklod
sterowony
Rys. 5.4
Oddziaływanie zakłóceń
układy
na
cyfro we
Zoktócenlo
uziemieniowe
Rys. 5.5
Łańcuch
in"•erteró"'
Przy analizie wpływu zakłóceń na pracę układów cyfrowych, operuje się
kilku modelami i definicjami. Często stosowanym modelem jest łańcuch wielu
połączonych szeregowo inwerterów (rys. 5.5). Wykreślając na wspólnym rysunku
ich charakterystyki przejściowe otrzymuje się pole charakterystyk, które jest
203
5. CYFROWE UKl.AOY SCALONE
wynikiem technologicznego rozrzutu parametrów oraz wpływu temperatury,
napięcia zasilają.cego i obciążenia. Pole to nazywa się również charakterystyką
przejściową
dla najgorszego przypadku.
Przyjm ując oznaczenia
podane na rys. 5.5, propagację sygnału cyfrowego
inwerterów można określić prostą graficzną metodą iteracyjną,
zilustrowaną na rys. 5.6. Dwa pola charakterystyk przejściowych P, i P2 są
wyznaczone przez rozrzut zależności odpowiednio Y,_(E1 ), Y,_ +,(EH 1),•••
i EH 1(Y.), Eu 2(Y.+ 1), •.•. Oznacza to, że pole P , odnosi się do inwerterów
oznaczonych przez k, k + l, itd„ natomiast pole P2 do inwerterów k', (k + I)', itd.
Pola te mają trzy wspólne obszary A, 8 i C. Oznaczaj ąc granice obszaru
C w kierunku poziomym jako napięcia progowe Un i Un1 można wyróżnić trzy
przypadki:
1.
E1 < U n· Można wykazać, że dla dowolnej wartości E, mniejszej od U TL>
w miarę propagacji sygnału przez kolejne dalsze inwertery, sygnał będzie
dążył do obszaru A. Na rys. 5.6 jest pokazany przykład propagacji
sygnału, która zwykle stabilizuje się po kilku stopniach.
2.
E, > U TH· Podobnie jak poprzednio, sygnał E, po kilku stopniach osiąga
obszar 8 (rys. 5.6).
3.
U n~ E, ~ U ru· W tym przypadku nie można określić, do którego
z obszarów stabilnych (A lub 8) będzie dążył sygnał E1. W związku z tym
należy traktować obszar C jako niedozwolony z punktu widzenia
prawidłowej propagacji sygnału.
w
łańcuch u
X.\.,,-
s
Rys. 5.6
Określenie czuł ości
zakłóceniowej melodą graficzną
Na podstawie powyższego omówienia można określić czułość zakłó­
ceniową S. Jest ona różnicą maksymalnego napięcia wejściowego na poziomie
niskim i minimalnego napięcia progowego (S,) łub różnicą minimalnego
napięcia wejściowego na poziomie wysokim i maksymalnego napięcia progowego (S ul·
204
6.3. ZASADNICZE PARAMETRY CYFROWYCH UKŁADÓW SCALONYCH
Klasyczna definicja marginesu zakłóceń jest związana również z propagacją zakłóceń w łańcuchu inwerterów (rys. 5.5). Jeśli na wejściu k-tego inwertera
pojawi się zakłócenie sygnału /J.Ek, to na wyjściu tego inwertera otrzymuje się
zakłócenie o wartości
które jest transmitowane przez dalsze stopnie. Aby w czasie tej propagacji
wartość sygnału pochodzącego od zakłóceń malała w kolejnych stopniach,
niezbędne jest spełnienie warunku
Na polu charakterystyk przejściowych punkty dla najgorszego przypadku wyznacza się na dolnej obwiedni dla poziomu niskiego i na górnej obwiedni
dla poziomu wysokiego. W ten sposób otrzymuje się najmniejsze marginesy
zakłóceń, odpowiadające najgorszemu przypadkowi (rys. 5.7).
V
Punkt jed nostkowego wzmocnienia
no poziomie niskim (najgorszy przypodek ł
Punkt jednostkowego wzmocnienia
no poz iomie wysokim (najgorszy przypadek I
I ML
I•
R ys. 5.7.
I
E
I
Określenie
graficzne marginesów
zakłóceń
Najbardziej rozpowszechnioną definicję marginesu zakłóceń przedstawiono na rys. 5.8. Pole charakterystyk przejściowych U 0 (U ,) zastępuje się strefą
złożoną z trzech prostokątów, wyznaczoną głównie przez współrzędne dwu
punktów (A i B) leżących w odpowiednich zagięciach charakterystyk granicznych. Odcięta punktu A jest maksymalnym dopuszczalnym napięciem wejś­
ciowym na poziomie niskim (Unmaxl• a odcięta punktu B jest minimalnym
dopuszczalnym napięciem wejściowym na poziomie wysokim (Um„;nl·
Jeżeli odpowiednie graniczne napięcia wyjściowe oznaczyć jako U 01••„,
i U oum;., to marginesy zakłóceń można określić jako różnice
205
5. CYFROWE
UKŁADY
SCALONE
Obszar P
Uo
--- --- --
UoHll'lox
No wyjści u
~
Poziom
wysokilH)
UOHll'lil'I
I
I
I
I
PrzełQczonie
I
I
I
I
UoLmo.:
UoL"'il'I
I
rI --r--
Poziom
niski(t)
I
I
t-- 1--- -
Un.~JJOLmo• UtL111oa
I
I
I
1
1
Poziom 1
niski( L)
I
ullirnll'I Uołłinin Ui.Hmo.:
I
I
I
I frzełQ- I a Poziom
czonie
Ur
I
1
1 <}:::li Na wejściu
wysoki ł Hl
Rys. 5.8. Praktyczne określenie statycznego marginesu zakłóceń
MLmin = U I L.ma.x - U OL.max
M Hmin = UOff min - U I Hmin
przy czym dla oszacowania jednej wartości marginesu zakłóceń przyjmuje się
mniejszą z dwóch wartości MI.min> M Hmin·
Zgodnie z normą IEC 748- 2(1985) Digital integrated circuits do oznaczenia gwarantowanych wartości napięć i prądów zamiast indeksów max, min
stosuje się litery odpowiednio A, B. Wówczas marginesy zakłóceń zapisuje się
w skróconej postaci jako
M Lmin = U ILA - U OLA
Mllmin = Uouo-UIHB
Jak można zauważyć na rys. 5.13, strefy poziomów niskiego i wysokiego
na wejściu są większe od analogicznych stref na wyjściu odpowiednio o MI.min
i M Hmin· Przy połączeniu łańcuchowym układów o charakterystyce przejściowej
z rys. 5.8, stabilne stany logiczne na wejściach i wyjściach układów są wyznaczone
przez granice obszarów P i R.
W praktyce wartości graniczne najgorszego przypadku UoLm•» Unmu•
U11I mfo i Uonmin są ustalane przez wytwórców cyfrowych układów scalonych
w sposób nieco arbitralny, lecz umożliwiający łatwe wykonywanie testów
kontrolnych.
W praktyce do celów porównawczych i ilustracyjnych często operuje się
typowymi charakterystykami przejściowymi, na podstawie których można
określić typowe wartości marginesu zakłóceń (przy typowej temperaturze
otoczenia, np. + 25°C, oraz przy typowym napięciu zasilania i obciążeniu).
206
5.3. ZASADNICZE PARAMETRY CYFROWYCH UKlAOOW SCALONYCH
Omawiane wyżej marginesy zakłóceń są marginesami statycznymi, tzn.
związanymi z zakłóceniami statycznymi. Określenie „zakłócenia statyczne" jest
pozornie sprzeczne, gdyż zakłócenie na ogół kojarzy się z procesami przejś­
ciowymi. Pojęcie to jest jednak usprawiedliwione, gdyż przy dużej szybkości
działania cyfrowych układów scalonych (czas propagacji od kilku do kilkudziesięciu nanosekund), zakłócenie impulsowe o czasie trwania np. jednej
mikrosekundy może być już traktowane jako długie i w tych warunkach
dynamiczny margines zakłóceń mierzony w stosunku do amplitudy impulsu
zakłócającego jest równy wielkości otrzymanej przy pomiarze faktycznie statycznym.
Przy transmisji sygnałów cyfrowych mogą również wystąpić zakłócenia
związane z przesłuchem Geśli kilka linii jest prowadzonych blisko siebie na pewnej
długości, co powoduje sprzężenie pojemnościowe i indukcyjne między liniami)
oraz zakłócenia odbiciowe, wywołane niedopasowaniem impedancji charakterystycznej linii transmisyjnej z impedancją obciążenia.
Zgodność łączeniowa
i
obciążalność
5.3.4
System cyfrowy składa się z odpowiedniej liczby połączonych ze sobą układów
scalonych. Im większy i bardziej złożony jest system, tym większa jest liczba
użytych układów scalonych, przy czym często ze względów technicznych
i ekonomicznych należy ze sobą łączyć układy scalone z różnych serii i klas. Stąd
zdolność bezpośredniej współpracy różnych rodzajów cyfrowych układów
scalonych stanowi ich istotny parametr techniczny. Układy A są zgodne
lączeniowo (kompatybilne) z układami B, jeśli zarówno bezpośrednie połączenie
wyjścia układu A z wejściem układu B, jak i bezpośrednie połączenie wyjścia
układu B z wejściem układu A zapewnia elektrycznie poprawną współpracę
obydwóch łączonych układów.
Cyfrowe układy scalone są projektowane głównie do współpracy z ukła­
dami z tej samej serii. Do ilościowego określania możliwości takiej współpracy
jest wprowadzone pojęcie znormalizowanego obciążenia N. Obciążenie to jest
miarą liczby wejść układów z tej samej serii, które są przyłączone jednocześnie do
jednego wyjścia. Maksymalna wartość Nmu jest określana jako obciążalność
wyjściowa (fan-out) lub po prostu obciążal110.fć. W układach scalonych TTL jest
ona standardowo równa I O, co wynika z ograniczeń wywołanych obciążeniem
statycznym. W układach ECL, MOS i CMOS obciążalność statyczna jest
znacznie większa, lecz praktycznie dopuszczalna liczba N zależy od wartości
pojemności obciążenia, która ogranicza szybkość procesów przełączania.
Przy wzajemnym łączeniu układów scalonych z różnych serii, lecz
w obrębie jednej klasy, należy uwzględnić odpowiednie poprawki, zwiększające
lub zmniejszające wartości N ma.-
207
5. CYFROWE
UKŁADY
SCALONE
scalonych z różnych klas często występuje
konieczność stosowania odpowiednich układów po.fredniczących (translatorów)
łub dodatkowych elementów, umożliwiających łączenie układów o różnym
trybie pracy i różnych napięciach wejściowych i wyjściowych (zarówno na
niskim, jak i na wysokim poziomie logicznym).
Najczęściej jest stosowane określenie zgodności łączeniowej z układami
TTL, co się tłumaczy bardzo szerokim upowszechnieniem tej klasy. Zdolność
bezpośredniej współpracy z układami lTL, co stanowi dużą zaletę, mają układy
NMOS i CMOS (przy uwzględnieniu określonych katalogowo ograniczeń,
dotyczących N m„).
Przy
łączeniu układów
OBUDOWY
5.4
Kostki krzemowe, na których są wykonywane powszechnie stosowane układy
scalone, mają stosunkowo niewielkie rozmiary. Typowe układy TTL o małym
stopniu scalenia (SSI) mieszczą się na kostkach o rozmiarach około I x I x 0.3
mm, a kostki typowych układów MOS LSI mają rozmiary ok. 5 x 5 x 0.4 mm.
Kostki te są delikatne i podatne na szkodliwe wpływy otoczenia. Dlatego
w końcu procesu technologicznego kostki są umieszczane w znacznie większych
obudowach, które spełniają następujące zadania:
ochrona kostek krzemowych przed szkodliwymi fizykochemicznymi
wpływami środowiska,
ochrona przed uszkodzeniami mechanicznymi,
ułatwienie rozpraszania ciepła wydzielanego w wyniku strat energii
w kostkach krzemowych podczas pracy,
umożliwienie łatwego montażu obudowy na płytce z obwodem drukowanym dzięki znormalizowanym i wytrzymałym mechanicznie końcówkom
zewnętrznym.
Cyfrowe układy scalone są najczęściej wytwarzane w dwóch rodzajach
obudów: w plastykowych i ceramic-t nych.
Najczęściej są stosowane obudowy plastyk.owe, gdyż charakteryzują się
niskim kosztem produkcji i dużą odpornością mechaniczną. Stosowane do tego
celu nowoczesne tworzywa epoksydowe zapewniają dużą odporność na wilgoć
i wnieczyszczenia zewnętrzne. Obudowa plastykowa tworzy z kostką krz.emową
układu scalonego jednolitą całość, która powstaje w wyniku wlania kostki, wraz
z wyprowadzeniami obudowy, płynnym tworzywem w odpowiedniej wtryskarce.
Dlatego układy w obudowach plastykowych są bardzo odporne na uszkodzenia
mechaniczne.
Obudowy ceramiczne charakteryzują się bardzo dużą odpornością na
działanie szkodliwych czynników chemicznych i zapewniają bardzo dobrą
hermetyzację. Dlatego określenia „obudowa ceramiczna" i „obudowa hermetyczna" są tradycyjnie stosowane jako synonimy. Obudowy te są wykonywa-
208
U . OBUDOWY
ne konstrukcyjnie w postaci pudełek ceramicznych z hermetycznie zamkniętą
komorą wewnętrzną, w której znajduje się kostka krzemowa. Obudowy te są
jednak znacznie droższe od obudów plastykowych i nie dorównują im odpornoś­
cią na uszkodzenia mechaniczne.
Wyróżnia się następujące,
podstawowe rodzaje obudów:
obudowy z końcówkami do montażu wgłębnego (przez otwory w płytach
montażowych),
obudowy z
końcówkami
do
montażu
powierzchniowego (SMT - Sur-
face-Mount Technology).
Najczęściej
stosowane obudowy do
montażu wgłębnego są następujące:
DIP (Dual In-line Package): obudowa dwurzędowa,
SDIP (Shrink DIP): ścieśniona obudowa dwurzędowa,
HDIP (Heat-dissipa1i11g DIP): obudowa dwurzędowa z rozpraszaczem
ciepła,
SIL (Single In-line Package): obudowa
jednorzędowa
(grzebieniowa,
montowana pionowo),
PGA, PGAP (Pin-Grid Array Package): obudowa z siatką końcówek
szpil kowych, z reguły ceramicwa.
Do montażu powierzchniowego najczęściej stosuje się następujące obudowy:
SO, SOP (Small Outline Package): obudowa miniaturowa z końcówkami
paskowymi, wygiętymi na kształt litery „L",
SOJ (SO J-lead Package): obudowa miniaturowa z końcówkami bocznymi o profilu Litery ,)", bardzo popularna w układach pamięciowych,
SSOP (Shri11k SOP): ścieśniona obudowa miniaturowa,
QFP (Quad Fiat Package): prostokątna lub kwadratowa obudowa
plaska, z końcówkami paskowymi „ L" na dwu lub czterech bokach,
SQFP (Shrink QFP): ścieśniona kwadratowa obudowa płaska,
PLCC (Plastic leaded Cliip Carrier): obudowa plastykowa z wyprowadzeniami bocznymi ,,J", zazwyczaj kwadratowa.
Stosowane są również ceramiczne obudowy „bezkońcówkowe" CLCC
(Ceramic leadless Chip Carrier), których wyprowadzenia są wykonane w postaci
drobnych paseczków na bokach obudowy.
Typowe liczby końcówek w obudowach dwurzędowych, miniaturowych
i płaskich, stosowanych dla układów cyfrowych, są równe: 8, 14, 16, 18,
20, 22, 24, 28, 32, 40, 48, 52, 64, ~8. Obudowy PLCC mają liczbę końcówek
podzielną przez cztery i typowo równą: 20, 28, 32, 44, 52, 68, 84. Największą
liczbę końcówek zapewniają obudowy płaskie (QFP) i obudowy z siatką
końcówek szpilkowych (PGA): 68, 80, 100, 128, 160, 192, 208, 232, 240
i więcej. W ceramicznych obudowach PGA wytwarza się m.in. popularne
mikroprocesory 32- i 64-bitowe.
209
5. CYFROWE UKŁADY SCALONE
Struktura
wew nętrzna
i rozmiary typowej, plastykowej obudowy dwu-
rzędowej (DIP) o 14 końcówkach są pokazane na rys. 5.9. Na rysunku 5.10
a
Dobro p r zewodnoSć ciep lno
materi ału p lastykowe.go oqroniczo
wzrost temper ciury kostk1
Materiał obudowy przylega
ściśle do wyprowodzef\, nie
dopuszczojqc do
wilgoci
Kołic6w k o 14
Jedno I ila obudowo podtrzymuje
d r uty
łoczqce ,
zopewniojq,c
znocznq odporność no udary,
wibracj e i pr zyspieszeni a
Sztywne końców ki
umoźli,wi aj ą. au tomo tyczny
monto z
Wyi;irowodzenio są silnie
zwu;Jzone z obudowo , zop ew
niojCtc stobilnoSC m@cho-
Zgrvb~nio końcówek umożl iw iajo..
płytk9,
n icznq
UJ.-- - _ utrzymonie obudowy ponad
Końc6wko
montoZowo, zopewniojac wentylOCJE'
i eliminujo.C wilgoć spod obudowy ~
7
Szkielet metolowy
uł at wi aj ą.cy rozpro -
szanie
Końc6wko 8
ci e pł o
-
b
19,Smo•
g
~'~
UO
8 25 ma• -
I
'
I
N
~
~ -~
~
~
~
-
~.
.....
-
~
-
'c.. ~
~
~--
.....
~
•.
~--
-
0,SJ
J,60
J,OS
ma>
12'
~
.
·~·
.
_J 2,2 -1-.1_1~1-1--1_1
;
I
-
O.SI
- ·
' 0,76
.I....
.
mO •
ml n
'
Ii I
1
~c
oo
ii: E
'
wnętr zo
I
I
1- 0.32
mo x
I'
I
I
,,li
11
+
li
~-i?B -1.
10
8,3
g
8
· - - - · - --
Rys. 3.9.
Dwurzędowa
obudowa plastykowa o 14 końcówk ach (Philips SOT-27)
a) budo,,.,'8. b) rozmiary i $pos0b oin;a~:i:1..-ń
210
k.ońcó.,.,-tk
I
5.4 . OBUDOWY
5.2
Rys. 5.JQ. M iniaturowa obudowa plastykowa o 14 końcówkach (Philips S014)
pokazano przykład plastykowej obudowy miniaturowej (SO). W rzucie bocznym
charakterystyczne wygięcia końcówek w kształcie litery „L", przystosowane do montażu powierzchniowego. Zwraca uwagę dwukrotne zmniejszenie odstępów między osiami końcówek: z 2,54 mm (0,1 cala) do 1,27 mm
(0,05 cala). W obudowach ścieśnionych SSOP odstęp ten zmniejszono jeszcze
dwukrotnie (do 0,65 mm). W obudowach płaskich QFP (rys. 5.11) stosuje się
odstęp 1,27, 1,0 i 0,8 mm, a w obudowach ścieśnionych SQFP 0,65 i 0,5 mm.
Na rysunku 5.12 pokazano wygląd i rozmiary przykładowej obudowy
PLCC o 20 końcówkach. W rzucie bocznym widać charakterystyczny profil
wygięcia końcówek o kształcie litery „J". Konstrukcję i rozmia ry obudowy PGA
o 84 końcówkach ilustruje rys. 5.13.
Obudowy DIP, SIL, PGA, SOJ i PLCC mogą być umieszczane w specjalnych podstawkach. Ułatwia to znacznie wymianę układu scalonego w przypadku
jego uszkodzenia lub przy zmianie układu na lepszy.
Obudowa spełnia również istotną funkcję rozpraszania ciepła, na które
zamienia się energia elektryczna pobierana przez układ scalony ze źródła
zasilania. Zależnie od wartości mocy strat P układu, właściwości cieplnych
obudowy i warunków ch łodzenia ustala się tempera tura kostk i krzemowej
i temperatura obudowy. Ponieważ górna dopuszczalna temperatura 1Jma. kostki
jest zwykle ograniczona przez wytwórców do wartości l50°C lub I 75°C, istotne
jest określenie warunków rozpraszania ciepła wydzielanego w kostce. W celu
obliczenia temperatury kostki posługujemy się wzorem analogicznym do prawa
Ohma w elektrotechnice, wiążącym różnicę temperat ur I!.. Tna barierze cieplnej ze
strumieniem cieplnym o mocy P i rezystancją cieplną O bariery
widać
211
5. CYFROWE V Kł.ADY SCALONE
O,!Ml
JL_Q&
Rys.
\O
j .J I
Przykład
10 0,30
obudowy płaskiej QFP
o 44 końcówkach (Phillps
12
SOT389-1)
t.T= PO
W oparciu o ten
związek można obliczyć temperaturę
1j = T.+t.T= T.+P81•
gdzie:
1j kostki
(5.1)
T. -
temperatura otoczenia (ambient)
Oi< - rezystancja termiczna obudowy między kostką (złączami ju11c1io11)
i otoczeniem:
o'° =o}<+o,.
gdzie: 01, - rezystancja termiczna między kostką i obudową (case)
8„ - rezystancja termiczna między obudową i otoczeniem.
Ponieważ wielkość 81, jest niezależna od użytkownika, może on do pewnego
stopnia wpływać tylko na T,, i O,., tak dobierając warunki chłodzenia, aby nie
przekroczyć dopuszczalnej wartości 7Jm,.- A zatem
p mu (T.,) = ('T;m„ - T.,)/O}•
Typowa dwurzędowa obudowa plastykowa o 14 końcówkach charakteryzuje się rezystancją termiczną o}o ~ 100°C/W. Zakładając 7j..., = 150°C
i T. = 70°C otrzymujemy P'"" (70°C) = 0.8 W. Oznacza to, że dopóki moc st rat
układu nie przekroczy 0.8 W i temperatura otoczenia nie zwiększy się ponad
212
5.4. OBUDOWY
>---kwodrot
~
2.29
r=::-:1
3J)4
4.19
Pł oszciyzno
montozu
4,57
4321201918
s
17
6
16
7
15
8
14
0,51MIN
Rys. 5./2
Wygląd
o 20
i rozmiary obudowy PLCC
końcówkach
(Texas lnstrun1ents)
70°C, dopóty temperatura kostki krzemowej nie przekroczy dopuszczalnej
wartości J50°C. W celu uzyskania jak naj lepszej niezawodności pracy układu,
różnica między rzeczywistą temperaturą kostki i temperaturą dopuszczalną
powinna być jak największa.
Obudowy ceramiczne zapewniają lepsze rozpraszanie ciepła. Typowa
wartość rezystancji termicznej dla takich obudów dwurzędowych o 14 końców­
kach wynosi 60°C/ W. Jednakże nowsze konstrukcje obudów plastykowych,
dzięki zastosowaniu miedzianych ażurów końcówkowych oraz dodatkowych
rozpraszaczy ciepła, nie są gorsze pod tym względem od obudów ceramicznych.
Rozpraszacze ciep/a stanowią niewielkie paski a luminiowe, umieszczone pod
ażurem podczas formowania obudowy tak, że mają one kontakt termiczny
z kostką krzemową, stanowiąc jednocześnie jednolitą całość z obudową.
Przy analizie mocy strat niektórych układów MOS LSI przyjmuje się, że
moc strat układu Pnie jest stała, lecz zmienia się zależnie od temperatury kostki
T; zgodnie z przybliżonym związkiem [6].
P ~ K/('f;+273°C)
(5.2)
gdzie K jest stałą, charakterystyczną dla danego układu. Na podstawie (5.2) i (5.1)
można obliczyć wielkość K jako
213
5. CYFROWE UKt.AOY SCALONE
l/Jskoźni k i
końcówki A1
•
Opcjo
2,Si. (0,'1'")-l
l
!--
::
©©©©©©©©e ©©
_J[
K @@)@)@@)@)@@)@)@@) , ~
T
J @©
©©©
t:; H @@)
~G@@@
©©
I
@@
@@@
~F@@)@)
@@©
~ E ©@©
@@©w.,
"
„ ,ro?n1ono
~
-
l
o
©©
©©
©@)@)
© ©
e © @) © © @ @ © @ @) @ ©
A @) @ @ @ @ @ © @ © © @
1 2 3 4 s 6 7 a 9 10 11
c ©@)@)
K = (T,, + 273°C) P + 910 P2
koncówko C3
Rys. 5.13
Przykład obudowy ceramicznej
PGA z siatką 84 końcówek
>'Zpilkowych (Texas lnsrrume111s)
(5.3)
gdzie P jest mocą strat podaną (pomierzoną) dla określonej (zwykle minimalnej)
temperatury otoczenia T,,. Chcąc obliczyć moc strat układu dla r;.,•.,, należy
rozwiązać powyższe równanie kwadratowe względem P, przy podstawieniu
T. = r;,„„ oraz obliczonej poprzednio wartości K. Na przykład, mikrokomputer
jednokostkowy MC6805U2 ma następujące dane firmowe (Mot.orola) dla dwurzędowej obudowy plastykowej: O;a = 100°C/W, 7J„„ = 150°C, P = 600mWprzy
Ucc = 5.75Vi T. = 0°C.TemperaturakostkiprzyT,, = 0°Cwynosizgodniez(5.1 ).
214
5.5. NIEZAWOONOSC
1j = 0+0.6· 100 = 60°C
i stała K jest równa, zgodnie z (5.3)
K = 273·0.6+100 · 0.62 -== 200
Moc strat przy
T..ma• =
70°C oblicza
się
na podstawie równania (5.3) jako
P('T.,) = (- (T.,+273) + ((T.,+273) 2 +40i0 K)i)/ 2010 =
= (-343 +(343 2 +4 · 100· 200)i)/ 200 = 0.508 w
Największa
zasilania, gdy 1j =
z (5.2)
moc strat układu
r.,. Dla opisanego
po włączeniu
przy 1j = OOC otrzymujemy
występuje bezpośrednio
przykładu,
Pm" ::::: 200/(0 + 273) ::::: 0.733 W
NIEZAWODNOŚĆ
5.5
Układy
scalone, podobnie jak wszystkie inne elementy składowe sprzętu
elektronicznego, mają skończoną tnvalość (czas życia), czyli ograniczony czas
t > O poprawnego działania. Trwałość jest zmienną losową, zarówno w odniesieniu do konk retnego układu scalonego, jak i do sprzętu, który zawiera
takie układy. Trwałość zależy od warunków eksploatacji, jak i zestawu
wymagań, których spełnienie stanowi o prawidłowości dzia.lania ukladu scalonego bądź sprzętu. N iezawodno.fć R(t) danego produktu definiuje się jako
prawdopodobieństwo, że po pomyślnym przejściu testów produkcyjnych będzie
on działać zgodnie z określonymi wymaganiami i w określonych warunkach
użytkowania co najmniej przez dany okres czasu t. Praktyczne stosowanie
teorii niezawodności jest określone licznymi normami międzynarodowymi:
IEC 271(1974), 319(1978) i 409(1981) oraz normą krajową PN-77/N-04005.
Niechf(t) stanowi funkcję gęstości prawdopodobieństwa trwalości t danego elementu, to znaczy że prawdopodobieństwo uszkodzenia tego elementu
między t i t + .1.t jest równe f(t) .1.t. Wówczas prawdopodobie1istwo uszkodzenia
element u w przedziale od O do t jest określone dystrybuantą
I
F(t)
= JJ(x)dx
o
i niezawodność elementu wyrazi
R (t)
= 1-
F(t),
t
się funkcją:
>o,
Funkcja R (t) jest zazwyczaj funkcją monotonicznie
przebieg funkcji R (t) ilustruje rys. 5.14.
215
malejącą. Przykładowy
5. CVFAOWE UIC'.lADY SCALONE
R(t)
1,0 .
0,5
10
20
30
40
t ł miesiqce J
Rys. 5.14
Przykładowy
pr7.ebieg funkcji R(r)
Chwilowa intensywność uszkodzeń, zwana także funkcją ryzyka i definio-
wana związkiem
2(1) = - 1- dF(i)
R(t)
dt '
t >O
jest najczęściej stosowanym wskaźnikiem zmian niezawodności w czasie. Na
podstawie poprzednich wzorów
.ł(i)
=
f(t)
I dR(t)
1- F(t) = - R(t) dt
Do zapisu niezawodności elementu wystarcza więc jedna z funkcjif(t), f(t), R(t)
lub .ł(t). Funkcje F(t) i R (t) są bezwymiarowe, natomiast funkcje flt) i .ł(t) mają
wymiar odwrotności czasu.
Chwilową intensywność uszkodzeń można także zapisać w postaci
2(t) = -~(lnR(t))
de
skąd
wynika,
że
I
R(t) = exp( - J 2(x)dx)
o
Funkcję gęstości
f(t) = .ł(t)R(t) można zatem przedstawić jako
I
f(t) = .ł(t) exp ( - J .ł(x) dx)
o
Średnia trwałość element u m, stanowi pierwszy moment zmiennej losowej
o
wartościach t
m, =
216
"'f tf(t) dt
o
5.5. HIEZAWOONOSC
Jeśli
lim (t R (t)) = O, to
m, =
'°
JR(t)dt
o
Wariancja trwałości jest określona przez drugi moment centralny
uf= '°J(t-m,)2 /(t)dl =
o
"'
2J 1R(t)d1-111~
o
Typowa "wanienkowa" postać charakterystyki intensywności uszkodzeń
A.(t)jest pokazana na rys. 5.15. Wyróżnia się na niej trzy charakterystyczne części
- okresy. Część I jest związana z początkowym, opadającym odcinkiem
charakterystyki, co jest wynikiem defektów wprowadzonych już w czasie
produkcji (tzw. okres śmiertelności niemowlęcej). Część II, w której intensywność
uszkodzeń jest zazwyczaj w przybliżeniu stała, stanowi właściwy okres użyt­
kowania. Występujące w tym okresie uszkodzenia mają charakter losowy. Część
Ili jest związana z zużyciem („starością'') elementów. Układy scalone zazwyczaj
nie osiągają tego okresu podczas normalnej pracy, gdyż wcześniej następuje ich
zestarzenie technologiczne i są wymieniane (tj. zbudowany z nich sprzęt) na
nowocześniejsze. W celu wykrycia i odrzucenia układów z defektami, które
spowodowałyby uszkodzenia w okresie l, przy produkcji układów scalonych do
specjalnych zastosowań stosuje się wzmożone kontrole między poszczególnymi
fazami procesu technologicznego, a gotowe układy poddaje się starze11i11
wstępnemu (ro.in. szokom termicznym, wygrzewaniu w podwyższonej tem·
peraturze i zasilaniu podwyższonym napięciem). Próby te są określone właś­
ciwymi normami (np. w USA norma MIL 883). W nowoczesnych technologiach
Liczba układów odrzuconych po starzeniu wstępnym nie przekracza ok. 0.05 %.
Dla ufytecznego odcinka Il charakterystyki z rys. 5.15, podstawiając
A.(t) = const = J. > O otrzymujemy
AO J
Rys. 5.15. Typowy p=bieg ultiności
217
intensywności uszkodzeń
od czasu
5. CYFROWE UKŁADY SCALONE
f(t) = .A.exp( - .A.t)
czyli rozkład wykładniczy o parametrach 111, = <1, = 1/l Wówczas R (t) =
= exp(-.A.t) i F(t) = 1- exp( - .A.t). Jeśli .A.t <<I, to można zastosować przybliżenie
R (t) = exp(-,l t) "' I -.A. t
Założenie o stałej intensywności). (t)
na użytecznym odcinku charakterystyki (li) nie zawsze jest spełnione. Zamiast tego często obserwuje się łagodny
wzrost lub spadek intensywności. Sytuację taką modeluje się przez użycie
rozkładu Weibulla, opisanego funkcją gęstości
f(t) = .A.ót6 - ' exp( - 2t6)
t >O
współczynnikiem kształtu.
gdzie ó jest
2(t)=.A.ot6 -
1
Wtedy
intensywność uszkodzeń
t>O
Przy ó < I intensywność uszkodzeń maleje monotonicznie w czasie, przy ó > I
monotonicznie wzrasta, a przy ó = I jest stała, czyli otrzymujemy rozkład
wykładniczy. Rozkład Weibulla z ó = 0.5 bywa stosowany do oceny niezawodności cyfrowych układów scalonych. Innym rozkładem stosowanym do modelowania zmian intensywności jest rozkład lognormalny (2,4].
W praktyce do oceny niezawodności układów scalonych z akceptowanych w produkcji układów wybiera się losowo próbkę o pewnej liczności
n i poddaje się j ą określonym wymuszeniom środowiskowym i elektrycznym
w ustalonym czasie t, po czym określa się liczbę r układów uszkodzonych.
Estymatorem niezawodności jest miara
R "' (n -r)/n
Przy założen iu rozkładu wykładniczego estymator średniej intensywności uszkodzeń oblicza się jako
2=
r/(nt)
Estymator .średniej trwa/ofri (czasu do uszkodzenia, MTTF - Mean Time to
Failure) określa się jako
l "'
t/2 = nt /r
Wartości intensywności uszkodzeń). są podawane w wymiarze
10- 6/h,
%/ IOOOh (tj. 10- 5/h) albo w jednostkach FIT (Failures In Ilme) i równych
10- 9/h. Zaleca się (IEC Pub!. 319), aby przy podawaniu wartości miar
intensywności uszkodzeń był określony również czas r trwania testu (wartości
zalecane to I ooo h i 2000 h).
218
5.5. NIEZAW0DNO$C
Ponieważ estymatory są również zmiennymi
losowymi, zatem do oszacowania średniej wartości intensywności uszkodzeń należy określić koniec A.9
przedziału ufności przy wybranym poziomie ufności /J, zazwyczaj równym 0.6 lub
0.9. Wielkość 2wt1 przyjmuje wartości zmiennej losowej o rozkładzie x 2 (chi
kwadrat) [ 4], czyli A.9 można obliczyć jako
A.9 (p, n, r, t) =
x2 (cx, v)/ (2nt)
gdzie: a. = I - p,
v = 2 (r + I) - liczba stopni swobody rozkładu
/(a, v), podanych w tablicach statystycznych.
x2
o
wartościach
Wartości
A.,(p, r) można też łatwo określić przy użyciu stablicowanych wspól·
czynników przeliczeniowych A.~/l [3]. Na przykład, dla r = 1,2,3 współczynniki
te wynoszą przy fJ = 0.6 odpowiednio 2.0, 1.6, 1.4, a przy P= 0.9 odpowiednio:
3.9, 2.7, 2.3. W publikacji IEC 409(1981) jest podany jeszcze inny sposób
obliczania końca przedziału ufności dla estymatora intensywności uszkodzeń,
wykorzystujący tablicę współczynników.
Przyczyny
lić
uszkodzeń
cyfrowych
układów
scalonych
można
pedzie-
na:
defekty kostki krzemowej, a więc defekty struktury wywołane zanieczyszczeniami wprowadzanymi w procesach dyfuzji, przebicia spowodowane
defektami izolatora bramkowego (głównie Si0 2 ) w układach MOS,
defekty powierzchniowe i defekty metalizacji (mikropęknięcia, elektromigracja, zie kontakty);
defekty związane z procesem montażu kostk i w obudowie, a zwłaszcza
z połączeniami drutowymi między polami kontaktowymi kostki i wyprowadzeniami wewnątrz obudowy (rys. 5.9a);
defekty budowy, np. utrata hermetyczności obudowy ceramicznej w rezultacie niewłaściwego jej zamknięcia lub naprężenia.
Wywołane tymi przyczynami uszkodzenia mogą być zupelne (katastroficzne),
gdy następuje zniszczenie układu lub utrata właściwości uniemożliwiająca
jego zastosowanie, albo parametryczne, czyli powodujące zmiany parametrów
elektrycznych układu poza granice określone w normach lub warunkach
technicznych.
Intensywność uszkodzeń ,l cyfrowych układów scalonych MOS LSI
i VLSI zawiera się zazwyczaj w granicach 100-1000 FIT, czyli jest rzędu 10- 1/h.
Odpowiada to trwałości 1/ A. równej 106 + 107 godzin, czyli 117- 1170 lat, co
oczywiście wyklucza badanie trwałości pojedynczych układów (11 = I). W praktyce zwykle bada się próbki o liczności n= 50 + 500 układów, ale i wtedy czas
badania w normalnych warunkach eksploatacyjnych byłby bardzo długi.
Dlatego, aby skrócić czas badania niezawodności, wykonuje się badania
przyspieszone, w których badane układy poddaje się działaniu znacznie wyższej
219
5. CYFROWE UKŁAOY SCALONE
temperatury niż w normalnych warunkach. Wysoka temperatura kostki wynika
wówczas zarówno z podniesionej temperatury otoczenia T,,, jak i z energii
cieplnej rozpraszanej w kostce (gdyż badane układy są zasilane normalnym lub
podwyższonym napięciem). Efektem takiego postępowania jest znaczne skrócenie trwałości badanych układów. Otrzymane wyniki są następnie ekstrapolowane na temperaturę z zakresu normalnego użytkowania.
Wykorzystując model Arrheniusa, który opisuje proces degradacji trwało­
ści obiektów fizycznych przy wzroście temperatury, można przeliczyć trwałość
z temperatury badania T,, na temperaturę „normalną" Tm przez użycie wspólczy1111ika przyspieszenia F:
1
1
F""
- - ))
exp(~(k T„
T,,
energia wzbudzenia (w cyfrowych układach scalonych równa ok.
I eV),
k - stała Boltzmanna (k = 8.62·10- s eV/K).
Temperatury T,, i T„ wyrażone w skali bezwzględnej dotyczą kostki krzemowej
(złączy), a temperaturę otoczenia T. w czasie badania zwykle ustala się na
poziomie I 25°C lub dobiera się tak, aby temperatura T,, była bliska maksymalnie
dopuszczalnej temperaturze kostki (zazwyczaj 7Jm„ = 150°C przy stosowaniu
obudów plastykowych i 7Jmax = 175°C przy obudowach ceramicznych). Zgodnie
z równaniem (5.1), temperatury T,, i T„ są zatem nieco wyższe niż odpowiadające
im temperatury otoczenia.
gdzie: E0
-
Przykład. W badaniach mik roprocesorów M C6800 w firmie M oiorola [ 6]
n = 135 układów w obudowach plastykowych poddano testowi przyspieszonemu przy T. = I 25°C, uzyskując nt (125°C) = 135576 układogodzin.
Współczynnik przyspieszenia przy T„ = 365 K (będącej przy T. = 70°C)
i T,, = 415 K (będącej przy T. = I 25°C) wynosi F ""' 49, czyli równoważna liczba
ukladogodzin przy temperaturze T. = 70°C jest równa m: (70°C) = Fm
(125°C) ""' 6.6· 106 . Ponieważ w czasie testu wykryto jedno uszkodzenie (r = 1),
zatem liczba stopni swobody rozkładu x2 wynosi v = 4. Przy założonym
poziomie ufności fJ = 0.9 mamy a = 1- fi = 0.1 i z tablic rozkładu x2 otrzymujemy wartość x2 (0.1,4) ""'7.78. Miara ).9 intensywności uszkodzeń wynosi zatem
7.78/(2 · 6.6 · 106 ) = 5.9 · 10- '/ h = 590 FIT, czemu odpowiada trwałość
l /.i.9 = 1.7 · 106 h = 194 lata. Warto zauważyć, że ten rezultat można otrzymać
obliczając I. = 1/(6.6 · 106 ) = 1.52 · 10- 7 i stosując omówiony poprzednio przeli9(1.. = 3.9 dla r = l.
cznik
Oszacowanie niezawodności układów scalonych może być uzyskane nie
tylko na podstawie badań fizycznych, lecz również przez prognozowanie, które
może wyprzedzać produkcję tych układów. W praktyce najczęściej są stosowane
metody prognostyczne opisane w amerykańskim podręczniku wojskowym
Military Handbook 217C i pr.tytoczone w [3).
liczbę
J./·
220
5.5. NIEZAWODNDSC
W praktyce często stosuje się przybliżone oszacowanie, zgodnie 2 którym
średnia intensywność uszkodzeń układów scalonych wzrasta dwukrotnie przy
wzroście temperatury kostki o IO K. Układ scalony o dużej mocy strat, pracujący
w urządzeniu bez wentylacji, może mieć temperaturę kostki wyższą od temperatury otoczenia o 40-60 K. Odpowiednio zainstalowany wentylator może
obniżyć ten przyrost temperatury do l O 30 K, czego wynikiem może być ok.
IO-krotne zmniejszenie intensywności uszkodzeń tego układu. Między innymi
dlatego współczesne mikroprocesory są chłodzone specjalnymi wentylatorkami.
Niezawodność urządzenia, zawierającego pewną liczbę m elementów,
można określić następująco. Zakładamy, że aby system działał prawidłowo, to
jego wszystkie elementy muszą działać prawidłowo. Jeśli oznaczymy odpowiednie intensywności uszkodzeń przez 2 1, 2 2 „„, J.„, to niezawodność urządzenia
będzie wyrażona przez iloczyn niezawodności elementów składowych
R (t) = R, (t)' R 2 (1)'·· R„(1) =
= exp ( - ). 11) · exp ( -). 2 1)' ·· exp( - J.„1) = exp( - J.1)
czyli niezawodność urządzenia jest również funkcją wykładniczą, a intensywność
uszkodzeń urządzenia ().) jest sumą intensywności elementów składowych.
Opierając się na tych danych uzyskanych od wytwórców elementów, można
określić nie-~wodność urządzenia. W tablicy 5.1 podane są prtykladowe
wartości intensywności uszkodzeń dla typowych elementów urządzeń elektronicznych [7). Na przykład, niezawodność urządzenia zawierającego 1 mikroprocesor VLSI, 12 układów scalonych LSI, 5 układów MS!, 3 układy SSI, 12
rezystorów, 22 kondensatory blokujące i 1 złącze 50-stykowe na jednej płytce
drukowanej, można obliczyć następująco:
). = 500+ 12·250+5 · 160+3·90+ 12 · 10+22· ł5+50· 10+
+ 1000 FIT= 6520 uszkodzeń na 109 godzin
czyli
średnia trwałość
(MTIF)
urządzenia
wynosi 1/ i.
~
17.5 lat.
TYPOWE INTENSYWNOŚCI USZKODZĘN ĘLĘM F.NTÓW
ELEKl"RONlCZNVCH PRZY TEMPERATUR:W
Elemenl
UkJad scalony SSI
Układ MSI
Układ LSI
Układ VLSI
Rezystor
Kondensator blokujący
Złącze krawędziowe (na styk)
Płytka drukowana
221
+ ss•c
Tablica 5.1
Intensywność us•kodzcń
(FIT)
90
160
250
500
10
IS
10
1000
5. CYFROWE
UKŁADY
SCALONE
LITERATURA
I. Ambroziak A.: A semiconductor f'U/Se counter, Bull. Aca d. Po l. Sci, Ser. tech. 9, 1961 , 179
2. G laser A. 8 ., Subak-Sharpe G . E.: Integrated tircuit. engi11eeri11g, Addison·Wesley, 1977
3. Gładysz H., Peciakowski E.: Niezawodność element6w elektronicznych, WKL, Warszawa 1984
4. Grzesiak K .: N ieza~:odność urządzeń elektronicznych, PWN, \Varszawa 1965
5. Kohoneo T.: Elementy i uklady elektronicznych maszyn cyjrowych, WNT, Warszawa 1975
6. Single-chip microcomputer data 1984/85, Mo torola Semiconductors
7. Wakerly J. F.: Digital design - Principles and pr<>ctices, Second Edition, Prentice-Hall International, 1994
6
WYTWARZANIE CYFROWYCH UKŁADÓW
SCALONYCH
Niniejszy rozdział zawiera znacznie skróconą treść w porównaniu z rozdziałem
„Technologia cyfrowych układów scalonych" zawartym w poprzednich wydaniach tej książki. Konieczność wykonania tych skrótów wynikła z potrzeby
znacznego rozszerzenia dalszych rozdziałów, zwłaszcza rozdz. 9.
Kompleksowy proces wytwarzania cyfrowych układów scalonych na
podłożu krzemowym składa się z wielu autonomicznych procesów cząstk owych,
z których niektóre są powtarzane. Wszystkie te procesy można z grubsza
podzielić na cztery zasadnicze części. Pierwsza z nich obejmuje czynności
związane z oczyszczaniem krzemu, wytwarzan iem monokryształów krzemu
i krzemowych płytek podłożowych. Druga część obejmuje cztery zasadnicze
czynności, które określa się razem jako proces planarn.v: izolacja, litografia,
domieszkowanie i wytwarzanie warstw przewodzących. Trzecią część stanowią
czynności związane z umieszczeniem krzemowych kostek układów scalonych
w obudowach, a czwarta część obejmuje czynności testowania układów podczas
procesu wytwórczego i na jego ko11cu. Trzy ostatnie części t worzą właściwy
proces wytwórczy układów scalonych. Niezbędnymi materiałami wstępnymi dla
tego procesu są krzemowe płytki podłożowe i kompletny projekt technologiczny
danego typu układu scalonego.
WYTWARZANIE PŁYTEK PODŁOŻOWY C H
6.1
Krzem w postaci zwykłego piasku jest najpierw czyszczony chemi(.-znie do
otrzymania czystości ok. 99.9%, a następnie stapiany w pręty. Pręty te określa się
jako polikrystalicz11e, gdyż składają się one z wielkiej liczby kryształów o losowej
orientacji wzajemnej. Zanieczyszczenia, zbierające się na obrze-'ach tych kryształów, są usuwane w procesach topienia strefowego. Usunięcie szkodliwych
zanieczyszczeń jest niezbędne, aby następnie wprowadzić określoną ilość
223
6. WYTWARZANIE CYFROWYCH UKł.AOOW SCALONYCH
znanych domieszek i otrzym ać w ten sposób półprzewodni k właściwego typu
i o żądanej rezystancji właściwej.
W metodzie topienia strefowego wykorzystuje się fakt, że substancje
zanieczyszczające mają zwykle niższą temperaturę topnienia niż czysty krzem .
Pręt z polikrystalicznego krzemu wprowadza się do rury kwarcowej z gazem
obojętnym, takim jak hel lub argon, i przy użyciu pola elektrycznego wielkiej
częstotliwości stapia się pręt na małym odcinku (strefie), jak pokazano na
rys. 6.1. Zanieczyszczenia zbierają się w miejscach, gdzie temperatura stopu
jest najniższa, tj. na obrteżach strefy topnienia. Przy stopniowym przesuwaniu
strefy topnienia z jednego końca na drugi zanieczyszczenia zostają zebrane
na końcu pręta i mogą być łatwo usunięte. Przesuwanie strefy topnienia
następuje przez przemieszczanie cewk i, wytwarzającej pole elektryczne wielkiej
częstotliwości.
Cewko
o o o o"o
Zanieczyszczenia
~ ~
-M
Prę t
polikrystolieznego
y
~,___ _ __~
krzemu
Gaz
( hel,argonl
obojęt ny
00000
Przemieszczenie
cewki
\Rura kwarcowa
Rys. 6.1
Oczyszczanie
po likrystalicznego krzemu
topienia strefowego
me t odą
W wyniku procesu oczyszczania otrzymuje się pręt czystego (tj . o wystarczająco małej ilości zanieczyszczeń resztkowych) polikrystalicznego krzemu.
Polikryscaliczna struktura pręta jest rezu ltatem losowego charakteru zestalania
się stopu, gdyż w wielu miejscach na obrzeżu strefy topienia tworzą się
wzajemnie niezależne kryształy, które następnie rosną i wreszcie zwierają
się ze sobą w sposób nieregularny. Obszary styku kryształów zakłócają
rozkład rezystancji w pręcie, podczas gdy do wytwarzania ukladów scalonych
niezbędny jest rozklad jednorodny. Wymagania te spełn ia struktura mo110krystalicz11a: pręt, stanowiący zbiór atomów regularnie rozłożonych we wspólnej,
jednorodnej siatce krystalicznej.
Wytwarzanie prętów monokrystalicznych jest dokonywane zwykle metodą Czochralskiego.
Czysty polikrystaliczny krzem umieszc-a się w tyglu kwarcowym
i stapia polem elektrycznym o wielk iej częstotliwości w atmosferte argonu,
aby zapobiec utlenianiu krzemu. Temperaturę stopu stabilizuje się na poziomie
1433°C, tj. ok. I 3K powyżej temperatury topnienia krzemu. Do roztopionego
krzemu dodaje się równ ież niewielkie ilości potrzebnych domieszek, aby
otrzymać półprzewodnik o żądanym typie przewodnictwa i określonej rezystancji właściwej.
224
6.1. WYTWAA.ZANIE Pt.YTEK POOŁOŻOWYC H
Prof. dr Jan Czochralski (1885- 1953) - wybitny polski uczony, profesor
zwyczajny metalurgii i doktor Honoris Causa Politechniki Warszawskiej .
W czasie badań w Niemczech, w roku 1916 odkrył on nową metodę otrzymywania monokryształów w postaci cienkich pręcików, którą opublikował w roku
1918 (Zeitscl1rijifiir physikalische Chemie 92, 219 (1918)). Obszerne omówienie
sylwetki, osiągnięć naukowych i niełatwej drogi życiowej prof. J . Czochralskiego
jest zawarte w książce prof. Józefa Żmii Ot.rzymywanie monokryształów, PWN,
Warszawa 1988, oraz w referacie prof. Józefa Żmii Prof dr Jan Czochralski i jego
wkład do nauki, Mat. Konf. Nauk. Jurata 85, Wyd. Wojskowa Akademia
Techniczna, Warszawa 1987, str. 8+ 19.
W kierunku roztopionego krzemu opuszcza się precyzyjnie zorientowany
kryształ zarodnikowy i jego dolną część zanurza się do stopu (rys. 6.2). Zarodnik
jest następnie stopniowo wyciągany w górę i jednocześnie obracany. Następuje
wyciąganie monokryształu zapoczątkowanego przez zarodnik, polegające na
stopniowym zestalaniu się materiału półprzewodnika we wspólną z zarodnikiem
regularną i jednorodną siatkę krystaliczną. W rezultacie otrzymuje się pręt
o typowej średnicy 12.5 cm (5 cali) i długości ok. l m (są wytwarzane również
pręty o większej średnicy i długości).
ł Wyciąganie
Zarodnik
Wyci qgony
pr~t
monokrysto liczne90
krzemu
Roztopiony
kr zem
z domieszkami
--ii-Argon
Rys. 6.2
Wytwarzanie pręta
monokrystaliczoego
krzemu metodą
Czochralskiego
Domieszki wprowadzone do krzemu są pierwiastkami z trzeciej i piątej
kolumny układu okresowego. Domieszki trójwartościowe służą do wytwarzania
półprzewodnika typu p i noszą nazwę domieszek akceptorowych. D omieszki
225
&. WYTWARZANIE cYFROWYCH UKŁAOOW SCALONYCH
pięciowartościowe służą
do wytwarzania półprzewodni ka typu 11 i nazywają się
dom ieszkami donorowymi. Najczęściej stosowane domieszki podane są niżej .
domieszki do11orowe (lypu 11):
fosfor P, arsen As, antymon Sb
domieszki akceptorowe (typu p):
bor B,
gał
Ga, ind In, aluminium Al
Pręt
monokrystaliczny jest cięty piłą diamentową na płytki o średnicy
użytego pręta i grubości 0.4 + 0.5 mm. które są następnie szlifowane, polerowane
i trawione chemicznie do osiągnięcia gładkości powierzchni o ptycznych. Płytki te
określa się jako podłożowe, gdyż na nich (i w nich) w wyniku dalszych procesów
technologicznych wytwarza się struktury scalone. Tak przygotowane płytki
podłożowe, o typo wej grubości 0.3 + 0.4 mm, slanowią punkt wyjściowy do
dalszych czynności wchodzących w skład procesu wytwórczego.
PROCES PLANARNY
6.2
Proces planarny, opracowany w latach 1958- 60 przez J. A. Hoc rniego i innych,
obejmuje wszystkie zasadnicze czynności potrzebne do wytworzen ia w płytce
podłożowej cyfrowych układów scalonych, zawierających elemen ty czynne
(tranzystory) i bierne (diody, rezystory) oraz ich połączenia, w wielu kolejnych
krokach. Określenie „planarny~. kt óre można inaczej przedstawić jako „płasz­
czyznowy", odnosi się do geometrii struktury tranzystora łub układu scalonego
wytwarzanego tą metodą, a w szczególności do dostępności powierzchniowej do
wszystkich złączy tranzystora. W istocie strukt ury te, jakkolwiek są trójwymiarowe i wytwarzane w głąb płytki podłożowej, zachowują względ nie płaską
powierzch nię w sekwencji kolejnych czynności technologicznych.
Przyk ład prostej struktury tranzystora 11pn połączonego z rezystorem jest
pokazany na rys. 6.3. Jak widać, tranzystor jest wykonany w postaci kilkuwarstwowej „kanapki" umieszczonej w „k ieszeni" na powierzchni płyt k i podłożowej.
Rezystorem jest pasek półprzewodnika o tej samej rezystywności, co jedna
z warstw tranzystora, najczęściej typu p. Symbolami p + i 11 + są oznaczone
obszary półprzewodni ka silnie domieszkowanego.
Zwróćmy uwagę na proporcje wymiarowe. P rzy typowej grubości płytki
podłożowej, równej 0.4 mm, łączna grubość warstw, w których są tworzone
struktury scalonych elementów, wynosi 3 + 5 µm , czyli zaledwie o k. I % grubości
płytki. Oznacza to, że układy scalone są wytwarzane w bardzo cienkiej „skórce"
na powierzchni płytki krzemowej.
Struktury tranzystora i rezystora są odizolowane elektrycznie od siebie i innych elementów układu scalonego przez dwa spolaryzowane wstecznie
226
6,2. PROCES PLANARNY
o
Podłoże
9
Tranzystor :..„ł_
,....r----
paso żytn iczy
P"P
'
c
!
B•o>-~--t
)
E
c
Me lol
Warstwo zagrzebano
Pod łoże
Rys. 6.3.
Przykładowa
struktura cranzyscora
r1p11
p
scalonego z rezystorem
a)scbemat cle-łaryczn)', b) $Cłiemat loPOgr.al'ian)'.C) przekrój p17.cz śtodek suuk1ury (ry$t11'ltk: oricnutc)jny beztachowania
$kali)
złącza
pn, gdzie obszar p stanowi podłoże wraz z okalającymi te struktury
obszarami p+, a obszar n stanowi warstwa epitaksjalna wraz z warstwą
zagrzebaną n+. W takim najprostszym przypadku mówimy o izolacji złączowej
bipolarnego układu scalonego.
Jeśli jeden koniec rezystora jest połączony z dodatnim napięciem
zasilającym (znak + na rysunku), to koniec ten łączy się również z obszarem
n pod rezystorem, aby zmniejszyć efekty pasożytnicze.
Celem procesu planarnego jest wykonanie jednocześnie bardzo wielu
podobnych struktur, tworzących wiele oddzielnych układów na płytce podłożowej. Aby na powierzchni płytki otrzymać warstwę innego półprzewodnika,
227
6. WYTWAAZ.AHIE CYFROWYCH UKlAOOW SCALONYCH
wykonuje się domieszkowanie, czyli wprowadzenie do płytki pod łożowej okreś­
lonego rodzaju i ilości domieszki, która lącznie z domieszk11 istniejącą już
w płytce stanowi o rodzaju otrzymywanego półprzewodnika i jego rezystywności. Aby warstwy takie otrzymać w postaci wydzielonych plasterków (do
wykonania tranzystorów) lub pasków (do wykonania rezystorów), wykonuje się
domieszkowanie lokalne. W tym celu najpierw wykonuje się na całej płytce
operację izolacji, k tórą w najprostszym przypadku stanowi utlenianie przypowierzchniowej warstewki krzemu. Przekształca się ona w nieprzepuszczalny dla
wprowadzanej domieszki izolator (dwut lenek krzemu SiOj, a następnie wykonuje się w tej warstwie tlenkowej otwory, zwane "oknami", przez które można
prowadzić operację domieszkowania lokalnego. Ta operacja przygotowawcza
nosi nazwę licografli. Kilkakrotne powtórzenie cyklu litografii i domieszkowania
lokalnego umożliwia jednoczesne wykonanie na płytce podłożowej wielu (rzędu
milionów) struktur tranzystorów, diod i rC'lystorów. Aby je połączyć elektrycznie
w odpowiednie konfiguracje układowe, wykonuje się dodatk owy proces litografii, odsłaniający w oknach kontakcy, czyli wyprowadzenia łąC7.eniowe tych
elementów. Następnie pokrywa się calą płytkę warstwą metaliczną (zazwyczaj
aluminium) i w końcowym procesie litografii odsiania się tę warstwę w takich
miejscach, aby po jej wytrawieniu o trzymać żądany układ połączeń elementów.
W każdym procesie litograficznym wytwarza się na płytce okna o innych
kształtach, rozmiarach i umiejscowieniu. Dlatego do wykonania każdego
procesu litografii potrzebny jest projekt topograficzny, w postaci od powiedniej
maski.
Końcowy etap produkcji to czynności testowania układów na płytce,
podziału płytki na oddzielne kostki (zawierające oddzielne struktu ry układowe),
umieszczenie kostek w obudowach i wykonanie badań końcowych.
Obszary izolacyjne
6 .2.1
Obszary izolacyjne są wytwartane w układach scalonych zarówno przejściowo
(w t rakcie litografii), jak i trwale. Służą one do elektrycznej izolacji określonych
obszarów półprzewodnika wewnątrl elementarnych struktur tranzystorów, do
izolacji wzajemnej tych struktur między sobą, do izolacji sieci połączeń
metalicznych na powierzchni kostek układowych oraz do ochrony powierzchni
kostek przed szkodliwymi wpływami środowiska. Obsza ry te mają postać
cienkich warscw, wytwarzanych na powierzchni płytk:i, lub ścianek izolacyjnych,
wytwarzanych w fosach okalających struktury tranzystorów i rezystorów.
Warstwę izolacyj ną, której zasadnie-tym celem jest ochrona powierzchni krzemu
przed szkodliwymi wpływami środowisk a, określa się jako pasywującą, a proces
jej wytwarazania nazywa się pasywacją.
Powszechnie stosowanym materiałem izolacyjnym jest dwutlek krzemu
SiO„ często stosowany łącznie z innym dielektrykiem, azotkiem krzemu Si 3 N 4 .
Wytwarzanie obszarów izolacyjnych z dwutlenku krzemu realizuje się dwoma
228
6.2. PROCES PLANARNY
zasadniczymi metodami, którymi są utlenianie termiczne i osadzanie chemiczne
z fazy lotnej.
Warstwy izolacyjne z azotku krzemu są stosowane aby uzyskać lepsze
ochronne właściwości przed penetracją szkodliwych domieszek. Warstwy azotkowe nie przepuszczają bowiem jonów metali, a w szczególności jonów sodu
(Na+), które przenikając pr~z warstwy tlenkowe mogą spowodować niewłaś­
ciwe działanie elementów półprzewodnikowych. Ponieważ stała dielektryczna
azotku krzemu jest większa od stałej dielektrycznej dwutlenku krzemu, zatem dla
zwiększenia sztywności mechanicznej można wytworzyć grubszą warstwę azotkową o tych samych właściwościach dielektrycznych co cieńsza warstwa
tlenkowa.
Litografia
6.2.2
Zasadniczym wynikiem topograficznego projektowania układu scalonego
jest precyzyjny rysunek, przedstawiający rozmieszczenie struktur tranzystorów i rezystorów oraz ich wzajemnych połączeń na kostce krzemowej. Aby
wykonać te struktury, należy w trakcie procesu wytwórczego wykonać wiele
operacji domieszkowania lokalnego. W celu polączeuia struktur trzeba wykonać
co uajmniej jedną operację metalizacji w połączeniu z trawieniem lokalnym. Te
lokalne operacje są wykonywane przez odpowiednie okna w materiale izolacyjnym, przy czym ich rozmiary, kształt i rozmieszczenie są różne d la każdej
operacji. Wynika stąd, że globalnym wynikiem projektu topograficznego musi
być zestaw rysunków okien, dla wszystkich operacji lokalnych. Zestaw ten
otrzymuje się z komputera na podstawie zasadniczej topografii układu oraz
odpowiedniej biblioteki fizycznych modeli użytych strukt ur elementarnych.
Tradycyjnie rysunki te nazywa się projekt.ami masek. Proces odwzorowania tych
rysunków na płytce krzemowej nosi nazwę litografii. Często tym mianem
obejmuje się również fizyczny proces wykonania o kien, czyli trawienie loktilne.
Tak rozszerzona definicja jest przyjęta w niniejszym tekście.
Dokładność odwzorowania kształtów okien na płytce krzemowej, cqli
rozdzielczość litografii, jest zasadniczym czynnikiem decydującym o minimalnych rozmiarach struktur, a tym samym o stopniu scalenia układów i ich
właściwościach użytkowych. Główne ograniczenie rozdzielczości jest wynikiem
zjawiska dyfrakcji. Wielkość dyfrakcji jest odwrotnie proporcjonalna do długości
fal użytych cząstek, która jest funkcją ich energii (rys. 6.4). Można w przybliżeniu
przyjąć równoważną długość fali jako teoretycznie dotną granicę rozdzielczości
uzyskiwanej dla danego rodzaju litografii. W praktyce jednak występują liczne
inne ograniczenia, któe istotnie pogarszają faktycznie uzyskiwaną rozdzielczość,
zwłaszcza w tych „lepszych" rodzajach litografii.
Procesy litografii są realizowane w trzech zasadniczych odmianach,
w zależności od szerokości wiązki użytego prom ieniowania. Przy użyciu szerokiej
229
6 WYTWARZANIE CYFROWYCH UXU.OOW SCALONYCH
~ 10„0
.„...,
§-10·11
5
Rys. 6.4
Równowaina długość fali
ciąstck jako funkcja ich
energii (2)
wiązki
pokrywa ona przez maskę całą powierzchnię płytki, natomiast wąska
wiązka pokrywa tylko jej fragment. Wynika stąd duża wydajność obróbki dla
szerok iej wiązki. Przy użyciu wiązki skt~pio11ej wytwarza ona na plytce tylko
niewielką plamkę, której odpowiednie przesuwanie służy do "wymalowania" na
plytce odpowiednich wzorów. Jest to metoda najwolniejsza, ale dokladniejsza.
Początkowo najpopularniejsza była szerokowiązkowa litografia opty·
czna (fotolitografia). Pierwszym etapem tego procesu jest wykonanie masek
w postaci plytek szklanych o wymiarach dostosowanych do obrabianych
płytek krzemowych. W tym celu plytka maski pokrywana jest warstewką
światloczulej emulsji lub chromu i w precyzyjnym procesie fotografic-.mym
umieszcza się na niej wiele identycznych rysunków jednoukładowych (obraz
podobny do prostokątnej mozaiki podlogowej). Każdy kolejny proces litografii
wymaga użycia odrębnej maski.
W celu przeniesienia obrazu maski na plytkę krzemową nanosi się na jej
powierzchnię, pokrytą uprzednio pasywującą warstwą dwutlenku krzemu,
specjalną emulsję, czulą na użyte do kopiowania promieniowanie, zwaną także
rezys1em. W tradycyjnej technologii jest to emulsja negatywowa, czula na
promieniowanie ultrafioletowe, która polimeryzuje się w miejscach naświet­
lonych i pozostaje w tych miejscach po wywołaniu. Emulsja ta jest rozprowadzana równomiernie na calej plytce za pomocą szybkoobrotowej wirówki
i następnie wysuszana. Po utwardzeniu płytkę przykrywa się maską w urządze­
niu kopiującym. Po precyzyjnym ustaleniu wzajemnego polo~..cnia, płytkę
naświetla się przez maskę wiązką promieniowania ultrafioletowego. Następnie
płytkę poddaje się działaniu wywoływacza, który usuwa niespolimeryzowaną
230
6-2. PROCES PLANARNY
o
s~
(
1'11 li 1111 !i li lip tli li li li li li li 111 il łlµm
Podłoze
I
b
krzemowe
Fotor~zyst
i li i il i li li i i i i i i i
d
iii li li il il ił li
ł
"I0
I' iii!,,, Ił li" li, li,,
i
li ' li ·
5
Rys. 6.5. Klasyczny proces fotolitografii z
µm e
jI i i i I I i I I i
r:
użyciem
ii
Ili!! 111111 11
11,,",'I
,
,
emulsji negatywov.'ej
a) "'")'tworzenie ochronnej .,..'trs-twy dcnko""-ej, h) n2łott:nie ernulsji świ;uloetułej (fo1ort:iys1u). <:J n~5""ietJenje płytki wi•zk-4
promieniowania ułltafM>letowcgo poprzez maskę. d) Uiunięicie nienaS-wittlontj (niot tpolimerrzowanotj emul~j i).
e) wytra"'·ienie warst'A'Y tlenkowej w odsJoni~ych obszarach. f) 11!.Uoięicie pozostalicj emulsji
emulsję, odsłaniając
w miejscach nie naświetlonych warstwę Si0 2 . Kolejną
C'Lynnością jest trawienie w odpowiedniej kąpieli chemicznej. W jego wyn iku
zostają usunięte odsłonięte fragmenty warstwy Si0 2 , co umożliwia bezpośredni
dostęp do materiału podłoża przez tak wykonane okna. Pozostałą emulsję usuwa
się w innej kąpieli chemcznej. Omówiony proces przedstawiono na rys. 6.5.
Powyższa klasyczna metoda, w której przy kopiowaniu następuje
bezpośredni styk maski z płytką krzemową, nosi nazwę fotolitografii stykowej. Jej
zasadniczą wadą jest szybkie zużywanie się masek roboczych w wyni ku
uszkodzeń emulsji światłoczułej podcz.as dociskania maski do płytki oraz przy
korekcie ich wzajemnego położenia (centrowaniu).
W nowoczesnych technologiach stosuje się głównie dwie odmiany
litografii projekcyjnej, w której przenoszenie obrazu maski na płytkę krzemową
następuje przez jego rzutowanie, przy wykorzystaniu promieniowania wysokociśnieniowej łukowej lampy rtęciowej w zakresie 300+ 600 nm.
Pierwsza odmiana (rys. 6.6a) wykorzystuje odbiciowy system optyczny
1 x z otworem względnym ok. 0.16 (czyli również maskę w skali I: l),
zobrazowujący całą powierzchnię płytki w procesie przemiatania (sca1111i11g
projection). Użycie optyki odbiciowej, które umożliwia wykorzystanie pełnego
zakresu promieniowania źród ła oraz zobrazowanie całej powierzchni płytki
zapewniają najwyższą, ze wszystkich znanych metod litografii, wydajność
obróbki. Wadami tej metody są: konieczność wytwarzania kosztownych masek
w skali 1: I oraz wymaganie utrzymania ostrości zobrazowania na calej
powierzchni płytki. Dolna granica rozdzielczości tej popularnej metody, wynosi
ok. 2 µm.
231
6. WYTWAfUANIE CYFROWYCH
o
Źród to świolfo
Płytko
krzemowa
ł
UKŁAOOW
SCALONYCH
b
MOSkO
Centrowani e
optyczne
System
soczewkowy
Płytko
Reflektor
wtórny
kr zemowa
System
przes uwu
krokowego
Interfer ometr
toserowy
Ret lektor
pierwotny
Komputer
c
Okienko
t>er ytowe
Masko
d
Konwertery C/A
; blok
slerujqcy
wiqzkq
Komputer
Pr ojekl
top09roficzny
R)•S. 6.6
Główne
stosowane systemy
Kostko
li1ograficzne [2]
a) o<lbiciowy system projekcyjny.
b) $01;.CCwkowy powicląj4cy ll)'stem
projekc)jny (0$W).
c) syuem li1ogrslii rcncg_et10"A'Słdcj.
d) system litografii eltktrooo>A'tj
+
+
!='!-- Soczewki
skupiajqce
System
Od chyłania
Wiqzko
• 1 ~_...._,le~ek~tronów
+,
Znoczn1k
ustawczy
PłylkO
krze mowo
Druga odmiana fotolitografii projekcyjnej (rys. 6.6b) wykorzystuje soczewkowy system optyczny, pomniejszający 5 x do IO x, z otworem względnym ok.
0.3. System działa jako rzutnik sekwencyjnie powielający wzór jednego układu
z łatwiejszej do wykonania maski w skali od 5: l do 10: l na kolejne fragmenty
232
6.2. PROCES Pl.AHAANY
powierzchni płytki krtemowej (direc1-s1ep-011-wafer (DSW) optical projec1ion
aligner}. Użycie optyki soczewkowej wymaga wybran ia do naświetlania tylko
pojedynczego prążka z widma promieniowania lampy rtęciowej (typowo prążek
I: 365 nm). System taki zapewnia znaczn ie lepszą rozdzielczość (0.35 + I ftm)
oraz lepszą zdolność centrowania, która nie odnosi się już do calej płytki,
lecz do każdego rzutowanego obrazu uklado•vego z osobna. Przy odpowiednim
ulepszeniu soczewkowego systemu optycznego oraz użyciu krótszej długości
fali promieniowania z zakresu głębokiego ultrafioletu (prążki 248 i 193 nrn)
możliwie będzie osiągnięcie tą techniką granicznej rozdzielczości sięga­
jącej O.I µm.
Ulepszenia fotolitografii projekcyjnej obejmują m.in . emu lsje pozytywowe, które mają lepsze wlaściwości od negatywowych, oraz emulsje i rój warstwowe,
które dodatkowo zapewniają lepszą planarność warstwy emulsji i redukcję odbić
optycznych. Istotnym ulepszeniem jest także zastosowanie metod suchego
trawienia zamiast mokrego (kąpielowego).
Osiągnięcie rozdzielczości poniżej I µm umożliwiają także procesy
litograficzne wykorzystujące szeroką wiązkę promieniowania rentg~nowskiego
(X) oraz skupioną wiązkę elektronów. Obydwie te metody umożliwiają osiąg­
nięcie granicznych rozdzielczości rzędu O. I µm.
Zasadę litografii rentgenowskiej przedstawiono na rys. 6.6c. Metoda
ta wykorzystuje szeroką wiązkę miękkiego promieniowania X (fotony o energii
ok. 0.5 +IO keV) w sposó b zbliżony do klasycznej fotolitografii bezstykowej.
Maska jest wykonywana w skali I: I, przy czym jako materiał pochłaniający
promieniowanie X zazwyczaj jest stosowane złoto. Ponieważ równoważna
długość fali promieniowania X jest rzędu ł am (rys. 6.4), pogorszenie rozdzielc-.i:ości spowodowane dyfrakcją jest pomijalne, natomiast istotne stają
się zniekształcenia geometryczne wynikłe z nieidealnie punktowego źródła
promieniowania, istnienia szczeliny między maską i płytkit (IO + 100 µm)
oraz braku możliwości skupiania stożkowa tej wiązki promieniowan ia. G łó­
wnymi przeszkodami w upowszechnien iu tej metody są wysoki koszt i trudności
technologiczne wytwarzania precyzyj nej maski oraz relatywnie duża gęstość
defektów litografii [5]. Zaletami są niewielki koszt źródła promieniowania
i duża szybkość obróbki płytek, gdyż są one naświetlane jednocześnie w całości,
a nie sekwencyjnie.
Na rysunku 6.6d przedstawiono budowę systemu litografii elektro11owej.
W systemie tym niepotrzebne są maski, gdyż skupiona wii1zka elektronów
służy bezpośrednio do kreślenia, przy użyciu sterowanych komputerowo elektrod oraz scc7.ewek elektrycznych i magnetycznych, odpowiednich wzorów
na emulsji płytki krzemowej. Jest to istotną zaletą tej metody, gdyż c-tas
i koszt związane z wykonywaniem precyzyjnych masek są wyeliminowane,
a tak?.e usunięte jest istotne źródło defektów na płytce, spowodowane defektami
maski. Wydajność systemów litografii elektronowej jest mniejsza niż systemów
233
6. WVTWAR1..ANIE CYFROWYCH UKŁAOOW SCALONYCH
z szeroką wiązką, ze względu na powolność kreślenia kolejnych wzorów.
Wadami systemów litografii elektronowej są również relatywnie duża złożoność
techniczna i wysoki koszt.
Systemy litografii elektronowej są często stosowane do wytwarzania
precyzyjnych masek dla systemów fotolitografii, eliminując w ten sposób proces
wytwarzania dużych oryginałów masek i ich czasochłonnego pomniejszania
fotograficznego.
Ostatnią z głównych metod litografii jest litografia jonowa, w której
stosuje się zarówno skupioną, jak i szeroką wiązkę jonów. Korzystną cechą tej
technologii jest duża wrażliwość powszechnie stosowanej emulsji na ekspozycję
jonową. Ponadto poszerzenie skupionej wiązki w wyniku rozproszenia w emulsji
jest dla jonów znacznie mniejsze niż dla elektronów. Systemy ze skupioną wiązką
jonów są także wykorzystywane do precyzyjnego, lokalnego domieszkowania
o lateralnie zmiennym profilu, czego nie umożliwiają ogólnie stosowane systemy
szerokowiązkowe (implantatory jonów).
Trawienie jest procesem lokalnego usuwania warstwy rezystu, dielektryka
(Si0 2, Si 3 N 4), krzemu lub metalu. Istnieją dwie zasadnicze technologie trawienia:
mokra i sucha.
Domieszkowanie
6.2.3
Istnieją trzy zasadnicze sposoby domieszkowania półprzewodnika krzemowego:
dyfuzja, implantacja i epitaksja. Pierwsze dwa stosuje się głównie do domieszkowania lokalnego, to jest tylko w niektórych o bszarach płytki, do których został
utworzony dostęp w czasie litografii (przez wytworzenie odpowiednich okien
w warstwie izolacyjnej lub/i emulsji). Trzeci sposób stosuje się do domieszkowania globalnego, na całej powierzchni płytki krzemowej, w rezultacie czego
wytwarzana jest warstwa epitaksjalna.
Dyfuzja
Przy podgrzaniu płytki z monokryształu krzemu do odpowiednio wysokiej
temperatury wiele atomów uzyskuje energię termiczną umożliwiającą przezwyciężenie sil wiązania krystalicznego i opuszcza węzły siatki krystalicznej,
wędrując w inne miejsca kryształu. Te opróżnione węzły określa się jako
wakansy. Jeśli wtedy do powierzchni płytki doprowadzi się atomy domieszki, to
będą one wnikać w głąb płytki zajmując odpowiednie wakansy. Proces ten nosi
nazwę dyfuzji zamiennowęzlowej. Ma on miejsce przy wprowadzaniu do płytek
podłożowych typowych domieszek donorowych i akceptorowych. W okreś­
lonym obszarze domieszka dyfundowana może „przezwyciężyć" domieszkę,
znajdującą się uprzednio w krysztale, powodując w tym obszarze zmianę typu
półprzewodnika z p na n lub odwrotnie. Koncentracja dyfundowanej domieszki
234
6.2 PROClS PLANARNY
obniża się
w miarę oddalania od powierzchni płytki i w m•CJSCU, gdzie
koncentracje obydwu domieszek stają się sobie równe, tworzy zh1cze pn.
Powolny przebieg dyfuzj i umożliwia dokładną kontrolę koncentracji domieszek
i jej rozkładu w półprzewodniku. Zwykle stosuje się domieszki w postaci gazowej
lub w postaci cienkich warstw (np. sil nie domieszkowanego dwutlenku krzemu)
osadzanych na płytkach przed rozpoczęciem procesu właściwej dyfuzji.
Przy kilkakrotnie powtarzanych procesach dyfuzji mus-ią być również
uwzględnione efekty poszczególnych procesów, które się wzajemnie łączą. Stąd
domieszki stosowane w pierwszych procesach dyfuzji powinny mieć mniejszy
współczynnik dyfuzji niż w procesach późniejszych. W p rzeciwnym razie dyfu.z ja
w pierwszych warstwach będzie również szybko postępować w dalszych
procesach.
Poza dyfuzją w kierunku prostopadłym do powierzchni półprzewodnika
ma miejsce również dyfuzja lateralna w kierunkach bocznych na granicach
wytworzonego litograficznie okna, co jest zwykle niepożądane, lecz jest wykorzystywane do wytwarzania tranzystorów bocznych Oateralnych) pnp.
Implantacja
Implantacja, czyli wszczepianie jonów, polega na bombardowaniu powierzchni
płytki krzemowej jonami domieszek o dużej energii {10+300 keV), uzyskiwanej
w wyniku przyspieszenia jonów w polu elektrycznym. Głębokość wprowadzania
domieszek zależy od energii, lecz nie przekraC7.a I µm, czyli jest znacznie mniejsza
od głębokości osiągalnej w procesach dyfuzji. Z tego względu implantację jonów
stosuje się często jako zamiennik predyfuzji.
Zaletą domieszkowania implantacyjnego jest anizotropia tego procesu,
gdyż jony wnikają w półprzewodnik pionowo z bardzo małymi odchyleniami
bocznymi. Umożliwia to zm niejszenie rozmiarów struk tur elementów w procesie
skalowania i zwiększenie gęstości ich upakowania w układach o dużym stopniu
scalenia (LSl i VLSI). Ponieważ implantacja jest procesem niskotemperaturowym, unika się szkodliwych efektów związanych z obróbką wysokotemperaturową, takich jak deformacja płytek i niepożądana redystrybucja domieszek.
Wadami procesu implantacji jonów są: ograniczona głębokość domieszkowania,
konieczność wygrzewania i duży koszt urządzeń technologicznych.
Epit aksja
Epitaksją
nazywa się proces narastania równomiernie domieszkowanej warstwy
półprzewodnika na powierzchni płytki krzemowej przy zachowaniu jednolitej
struktury monokrystalicznej z materiałem podłoża. Nazwa epitaksji pochodzi
z języka greckiego (epi - na, taxis - wytwarzanie). Zaletą warstw epitaksjalnych
jest to, że ich stopień domieszkowania jest niezależny od domieszkowania
235
O WYTWARZANIE CYFA:OWVCH UKtAOOW SCALONYCH
podłoża,
co umożliwia otrzymanie bardzo dobrych, lekko domieszkowanych
warstw na si lnie domieszkowanych podłożach o dowolnym typie przewodności.
Właściwość ta jest wykorzystywana prą produkcji bipolarnych cyfrowych
układów scalonych, w których podłoże jest typu p, a warstwa epitaksjalna typu 11,
zapewniając izolację złączową między sąsiednimi elementami scalonymi w danej
strukturze. Złącze 10 ma cha rakter skokowy. Warstwy epitaksjalne wykorzystuje
się także przy wytwarzaniu nowoczesnych układów scalonych C MOS. Grubość
warstwy epitaksjalnej wynosi od I do 20 µm. Wszystkie elementy ukJadów
scalonych są wykonywane w tej warstwic w rezultacie kolejnych czynności
litografii i domieszkowania lokalnego.
Warstwę epitaksjalną można równiei otrzymać na innym materiale niż
podłoże. Proces taki nazywa się heteroepitaksją. K rzemowe warstwy heteroepitaksjalne na podłożu dielektrycznym wytwarza się w celu uzyskania izolacji
dielektrycznej struktur elementów w układach sca lonych. Technologie wykorzystujące tego rodzaju izolację dielektryczną określa się skró tem SOI (Silico11-0n-lllsu/ator). U m ożl iwiają one eliminację szkodliwych elemen tów pasożyt­
niczych między elementami układów scalonych. co zapewnia znaczne zwięk­
szenie szybk ości działania tych układów. Klasycznym materiałem podłoża
izolacyjnego jest szafir (Al 20 3 ) i otrzymany wówczas rodzaj strukt ur określa się
skrótowo jako „krzem na szafirze" (SOS - Silico11-011-Sapplrire). Przeszkodą
w szerszym wprowadzeniu tej technologii jest jej duży koszt. Zmniejszenie
kosztów i lepsze parametry teclmiczne otrzymuje się przy wykorzystaniu
dwutlenku krzemu Si0 2 jako podłoża izolacyjnego.
Wykonanie
6.2.4
wykonane kompletne struktury elementów wchodzące w skład
scalonych na wspólnej płytce podłożowej, w kolejnych procesach
technologicznych wytwarza się odpowiednie połączenia między tymi elementami. W tym celu w najprostszym przpadku stosuje się dwukrotnie proo:s
Litograficzny i jeden proces metalizacji. Pierwszy p roces Litografii służy do
odsłonięcia w warstwic izolacyjnej okien do wykonania kontaktów z łączonymi
elementami. W procesie metalizacji na całą powierzchnię płytki podłożowej jest
nanoszona cienka (I + 1.5 ~un) warstwa metalu, zazwyczaj a luminium. Drugi
proces litografii służy do usunięcia (wytraw ienia) metalu w wybranych obszarach
płytki w taki sposób, aby otrzymać sieć metalicznych ścieżek międzykontak­
towych, tworzącą żądany układ połączeń.
W układach o dużym stopniu scalenia (LSI, VLSf) często jest wymagana więcej niż jedna warstwa połączeń. Wówczas metaliczne warst wy połączeniowe wytwarza się kolejno nad sob<i. oddzielając je od siebie warstwami
izolacyjnymi.
Gdy
są już
połączeń
układów
236
8.2. PROCES PLANARNY
Klasyczną metodą
nanoszenia warstwy aluminium jest 11apt1rowa11ie.
Proces ten przebiega w komorze próżniowej, w której umieszcza się płytki
krzemowe oraz tygiel zawierający aluminium roztopione przez nagrzewanie
indukcyjne (rys. 6. 1I).
Inną stosowaną metodą nanoszenia warstw metalicznych jest 11apyla11ie,
czyli osadzanie metalu z fazy stałej. Cząsteczki napylanego materiału są
wytwarzane w rezultacie bombardowania utworzonej z niego katody dodatnimi
jonami, pochodzącymi z wyładowania jarteniowego w gazie obojętnym, np.
w argonie. W ulepszonych metodach napylania stosuje się magnetron jako
źródło jonów.
W nowszych technologiach wytwarzania ukladów LSI i VLSI warstwy
metaliczne są wyk onywane nie z czystego aluminium, lecz ze stopu a luminum,
krzemu ( I + 2%) i miedzi(! +4%). Dodatek krzemu przeciwdziała nadżerkom
powierzchni kontaktów, a dodatek miedzi zmniejsza prawdopodobieństwo
uszkodzenia połączeń wskutek zjawiska elektromigracji metalu.
Zjawisko elektromigracji polega na przemieszczeniu się atomów metalu
wzdłuż przewodn ika wskutek przepływającego nim prądu elektrycznego. Zjawisko to potęguje się w miarę wzrostu gęstości prądu I/ A (/ jest prądem
a A przekrojem przewodnika). W warunkach typowych d la ścieiek metalicznych
w układach scalonych, gdzie I/ A = 103 + 106 A/cm 2 , następuje przem ieszczanie
atomów metalu wzdłuż granic ziaren tworzących ścieżkę pr7,ewodzącą, w kierunku od katody d o anody. Przy niejednorodności st ru ktury przewodnika
przepływ tych atomów staje się również niejednorodny, co prowadzi do
wytworzenia w przewodniku lokalnych pustych jamek i odwrotnie - lokalnych
przerostów metalu. Jamki w miarę upływu czasu przeradzają się w szczeliny,
które zmniejszają użyteczne prtekroje A i tym samym zwiększają lokalne
gęstości prądu, co jeszcze przyspies1.a proces. W rezultacie przekrój może
stać się tak mały, że ten obszar w przewodniku ulega stopieniu , co prowadzi
do przerwania połączenia. Pokazano to na rys. 6.7, na którym po lewej
stronie przerwanego połączenia występują lokalne jamy, a po prawej stronie
przerosty meta lu.
Rys. 6.7
Przykład
ścieżki
U!Ukodzenia
metalicznej
powstałego wskutek
zjawiska clcktromigracji
(4]
237
6.. WYTWARZANIE CYFROWYCH
UKŁAOOW
SCALONYCH
Czteroprocentowy dodatek miedzi do stopu aluminium i krzemu (2%)
umożliwia znacznie polepszen ie trwa łości połączeń.
Jako materiał ścieżek połączeniowych stosuje się także silnie domieszkowany knem polikrystaliczny, zwłaszc-.ui w układach M OS zawierających
tranzystory z bramką krzemową. Główną wadą takich połączeń jest ich
relatywnie wysoka rezystancja, co w połączeniu z pojemnościami pasożytniczymi
tworzy stale czasowe RC współmierne, a nawet większe od czasów propagacji
bramek ukladu. Aby zmniejszyć rezystancje połączeń uzyskiwanych z warstwy
polikrzemowej, często wytwarza się na jej powierzchni cienką wa rstwę krzemkową, op. dwukrz.emku wolframu WSi 2 , tytanu TiSi 2 lub tantalu TaSi 2 [ 5].
W tym celu odpowiedni metal jest osadzany na warstwie silnie domieszkowanego polikrzcmu, po czym podwyższa się temperaturą płytki. Przy pewnej
temperatune charakterystycznej dla danego krzemku, tworzy się dwukrzemek
danego metalu.
ELEMENTY UKŁADÓW SCALONYCH
6.3
Podstawowymi elementami aktywnymi układów scalonych są tranzystory. Przy
ich wytwarzaniu stosuje się opisany poprzednio proces planarny. Ogólnie dzieli
się tranzystory na bipolarne i unipolarne (polowe). Przymiotniki odzwierciedlają
mechanizm przewodzenia prądu : w tranzystorach: bipolarnych bio rą w tym
udział obydwa (st.ą d „bi") rodzaje nośników, tj. elektrony o ładunku ujemnym
i dziury o ładunku dodatnim, natom iast w tranzystorach unipolarnych przepływ
prądu jest realizowany przez nośniki tylko jednego (stąd „uoi ") rodzaju, czyli
a lbo elektrony, albo dziury.
W cyfrowych układach scalonych jako elementy bierne stosuje się diody
i rezystory, natomiast kondensatory w zasadzie nie są wykorzystywane. Wyjątek
stanowią dynamiczne układy unipolarne, a w szczególności pamięci dynamiczne
MOS.
Rezystory układów scalonych są również elementami pólprzewodni·
kowymi, gdyż są wykonywane w postaci pasków odpowiednio dom ieszko·
wanego półprzewodnika. W monolitycznych układach cyfrowych nie stosuje
się innych rodzajów rezystorów, a w szczególności rezystorów osadzanych
cienkowarstwowo.
Tra nzystory bipolarne
6 .3.1
Scalone tranzystory bipolarne stanowią czterowarstwowe stru ktury planarne
(por. rys. 6.3). Tranzystory planarne, wytwarzane indywidualnie, również
stanowią struktury czterowarstwowe. Są one jednak wytwarzane na podłożu 11 +,
przy czym końcówka kolektora jest przytwierdzona bezpośrednio do dolnej
powierzchni podłoża. Tego rodzaju geometria nie jest możliwa w klasycznie
wytwarzanych układach scalonych, gdzie nie może być żadnych kontaktów na
238
8.3. ELEMENTY UKlAOOW SCALONYC'H
dolnej powierzchni kostki podłożowej. W procesie wytwarzania układu scalonego jego poszczególne elementy są wzajemnie izolowane i następnie łączone
elektrycznie zgodnie ze schematem ideowym. Typowy bipolarny układ scalony
wytwarza się na podłożu krzemowym typu p, a kolektory tran zystorów
np11 mają wyprowadzenia na górnej powierzchni kostki. Każdy tranzystor
jest otoczony wewnątrz kostki krzemowej złączem pn między kolektorem
a podłożem. Złącze to jest spolaryzowane zaporowo, co zapewnia pożądaną
izolację międzyelementową.
Jak widać z rysunku 6.3c, epitaksja lna warstwa kolektorowa jest rozbita
w układzie scalonym na wiele wzajemnie odizolowanych plasterków, w których
są wytwarzane tranzystory, diody i rezystory.
Właściwości funkcjonalne (końcówkowe) tranzystora i ich związek z jego
geometrią i profilem domieszkowania określa się przy użyciu odpowiednich
modeli teoretycznych. Do analizy cyfrowych układów scalonych stosuje się
najczęściej klasyczne modele Ebersa- Molla i Gummela- Poone'a oraz ich
modyfikacje. Do celów poglądowych można się posłużyć uproszczonym modelem, pokazanym na rys. 6.8a, który ilustruje statyczne działanie tranzystora
w obs1.ar1~ aktywnym. Zależność I J.U 8 r;) stanowi charakterystykę wej.iciową
tranzystora w układzie wspólnego emitera i jest opisywana w pierwszym
przybliżeniu klasycznym wzorem Shockley'a dla idealnego złącza p-11:
18
= l ,exp(U8 E/<p 1-- 1)
gdzie: I • - stała, zwana prądem nasycenia,
<t>r - potencjał elektrokinetyczny (napięcie Boltzmanna), wyra7..any wzo.
rem
<t>r = k Tfq
gdzie: k = 1.38· I0- 23 JfK - stała Boltzmanna,
T - temperatura złącza w skali bezwzględnej,
ą = l.6 · 10- ' 9 C - ładunek jednostkowy.
Przy T = 300 K otrzymujemy wartość <pr{300K):::: 26 mV.
Przy polaryzacji zaporowej (U Rt < 0) powyższy wzór teoretycznie pozostaje
słuszny, lecz w praktyce szybko dominującą składową prądu I 8 staje się prąd
upływu J6 80, wywołany nieidealnością złącza. Charakterystyka I 8'. U 86 ) typowego tranzystora 11p11 małej mocy jest pokazana na rysunku 6.8b.
Prąd kolektora l e jest równy
l e= PIB
p jest współczynnikiem wzmocnienia
prądowego tranzystora, najczęściej
50+300.
Charakterystyka przejściowa fc(U ul jest pokazana na rys. 6.8b i na rys.
6.8c dla różnych temperatur złączy tranzystora.
gdzie
wynoszącym
239
6 WYTWARZANIE CYFROWYCH UIClAOOW SCALONYCH
o
b
B
-
c
le
j'" ni.
Ue.c
'
101
''"'••le
E
1cr'()5
06
0.7
0.8
,
09 IJoclVJ 1
d
c
1
2
-
3
4
5
Uc,IYI
e
le
<
Jll 1
Uca<O
E
R)'s. 6.8. Działanie 1ranzys1ora bipolurncgo
a) uproszczony mode:l Slatyqny w .mnie 1ktywn)'lll ( nonn~l nym), b> i c) cl\arak1erys1)'ln1•~jidowa I ,J..U..J i pn(iAc.uw1
I t (U.V. d) cbaraluerys:1yk11 • ·yJiciowa I t·{U cJ. Cl uptól:IJCtOfl y model dla stanu nas:yttnia
W cyfrowych u kładach scalonych tranzystory często pracują w trybie
nasycenia, gdy Uce < UBE• a w szc-.tególności w trybie głębokiego nasycenia, gdy
napięcie Ucc wynosi O.I ~0.2 V, czyli jest bliskie zera (rys. 6.8d). Wtedy
rezystancja tranzystora między kolektorem i emiterem rcu.1 jest również bardzo
mała i wynosi dla tranzystorów małej mocy ok. 10 n. Zapewnienie głębokiego
240
93. ELEMENTY UKŁADÓW SCALONYCH
nasycenia wymaga odpowiednio silnego przesterowania tranzystora prądem
bazy, gdyż 'etat - 1/ 18 • Uproszczony model tranzystora dla stanu nasycenia jest
pokazany na rys. 6.8e.
Charakterystyki wyjściowe Ic(UcJ mają w obszarze aktywnym niezerowe nachylenie, które wzrasta z wielkością prądu bazy I 8 • Jest to wywołane
zjawiskiem zmniejszania się efektywnej szerokości bazy (efekt Early'cgo).
W tranzystorze scalonym npn ładunek magazynowany w stanic nasycenia
jest tworzony przez. nadmiarowe nośniki mniejszościowe, a więc przez elektrony
w obszarze bazy i dziury w słabo domieszkowanym obszarze kolektora.
Wartość czasu magazynowania 1, tranzystora przy przełączaniu jest propor·
cjonalna do czasów życia tych nośników. Aby zmniejszyć te cz.asy życia,
a tym samym wartość c„ jest stosowane domieszkowanie z.lotem, którego
atomy działają jako centra rekombinacyjne w półprzewodniku. Tym samym
maleje również wartość p, co jest na ogół niepożądane (z wyjątkiem tranzystorów
pasożytniczych). Domieszkowanie zlotem powoduje również pewien wzrost
rezystancji właściwej półprzewodnika, co z kolei oznacza wzrost r, i U etat·
Poziom domieszkowania złotem jest zatem ustalany na drodze kompromisu,
przy jednoczesnym usytuowaniu warstwy zagrzebanej 11 + możliwie blisko
złącz.a baza- kolektor.
Charakterystyczne dla cyfrowych układ ów scalonych TTL są tranzystory
wieloemiterowe. Elementy te mogą mieć od dwóch do ośmiu praktycznie
niezależnych wyprowadzeń emiterowych, jak pokazano na rys. 6.9.
p
Rys. 6.9.
Przykład
struktury tranzystora lrójcmitero wego
a) prxk rój, b) srmbol clcklf)'ClJIY
W układach scalonych niejednokrotnie występuje potrzeba stosowania
tranzystorów pnp. W klasycznej technice monolitycznej są one wytwarzane
głównie w dwóch konfiguracjach strukturalnych jako tranzystory boczne
Oateralne) i tranzystory podłożowe.
Tranzystory boczne pnp mogą być wytwarzane jednocześnie z tranzystorami npn na wspólnym podłożu, nie wymagając dodatkowych czynności
maskowania i dyfuzji. Typową strukturę takiego tranzystora pricdstawiono na
rys. 6.10. Warstwa epitaksjalna 11, która w tranzystorach 11p11 służy jako obszar
kolektora, jest wykorzystana do wytworzenia bazy. Dyfuzja domieszki p, która
241
6. WYTWARZANIE CYFROWYCH U KLAOOW SCALONYCH
Kolektor
Emiter
Baza
POdtoi e p
Rys. 6.10. Struktura tranzystora bocznego pnp (nie pokazano metalizacji)
w tranzystorach npn jest wykorzystywana do wytworzenia baz i rezystorów,
w tranzystorze bocznym służy do wytwo rzenia plasterków emitera i kolektora.
Dyfuzja emiterowa n + w strukturach npn jest wykorzystana do wytworzenia
kontaktu z bazą. Warstwa zagrzebana 11 + umożliwia znaczną redukcję prądów
upływu, związanych z pasożytniczą strukturą tranzystorową pnp w kierunku
podłoża (dzięki niekorzystnemu dla niej profilowi domieszkowania), oraz
zmniejszenie rozproszonej rezystancji bazy.
Struktura tranzystora bocznego jest równoległa do powierzchni kostki.
Z uwagi na małą wydajność emitera i relatywnie dużą grubość bazy wywołaną
tolerancją maskowania i wymaganym napięciem przebicia, wzmocnienie prądo­
we p tranzystora bocznego pnp jest znacznie mniejsze niż w odpowiednim
tranzystorze np11. Również znacznie mniejsza jest częstotliwość graniczna /-,,
zależna głównie od czasu przelotu nośników przez bazę. Typowe wartości
wynoszą: P':::: IO + 100,fr <>< 5 + 50 MHz.
Tranzystory podłożowe pnp otrzymuje się przy użyciu warstwy bazowej p jako emitera, warstwy epitaksjalnej n jako bazy i podłoża p jako
kolektora (rys. 6.11). W celu osiągnięcia określonej, malej grubości bazy
jest konieczna precyzyjna kontrola procesu wytwarzania warstwy epitaksjalnej.
Istotnym ograniczeniem tej struktury jest użycie podłoża jako kolektora:
ponieważ podłoże jest zawsze uziemione i ogólnie ma najniższe napięcie
w układzie (aby zapewnić zaporową polaryzację wszystkich złączy pn między
plasterkami warstwy epitaksjalnej i podłożem), zatem tranzystory podłożowe
mogą być wykorzystywane tylko w konfiguracji układowej wtórnika emiterowego. Typowe wartości uzyskiwanych parametrów wynoszą P z: I O+ I OO,
fr -:::: 10+ 100 MHz.
Bozo
Emiter
Kolektor
Rys. 6.11
Struktura tranzystora
podlożo wego pnp
242
6.3. ELEMENTY UKŁAOÓW SCALONYCH
6.3.2
Diody
Jak pokazano na rys. 6.3c, tranzystory bipolarne w monolityczny.m układzie
scalonym tworzą struktury czterowarstwowe, złożone z warstw emitera, bazy,
kolektora i podłoża. W związku z tym diody pn w bipolarnych układach
scalonych mogą być utworzone przez odpowiednie wykorzystanie tych warstw,
a w szczególności przez odpowiednie połączenie struktur tranzystorowych.
W ten sposób można otrzymać sześć konfiguracji diodowych, pokazanych na rys.
6.12. Mają one różne właściwości sta tyczne i dynamiczne.
Najwyższe napięcie przebicia mają diody wykorzystujące złącze kolek tor- baza (rys. 6.J 2c, d, e). Złącza te dopuszCT.ają napięcie wsteczne równe co
najmniej 20 V, podczas gdy przebicie złącza baza-emiter następuje przy napięciu
5 + 7 V. Przebicie złącza kolektor-podłoże następuje przy stosunkowo wysokim
napięciu, powyżej 50 V.
o
b
c
d
e
f
<>-C
~
o----C
le • O
u, •• o
1, · O
~ em
Bez
Uera
~
o-(}o
u.,.o
Rys. 6.1 2
UCE•O
wsteczny maj ą diody o małej powierzchni złącza, tj.
baza-emiter (rys. 6.1 2a, b). Dioda z rys. 6.12f, wykorzystująca obydwa złącza, ma największy prąd wsteczny.
Z każdą diodą w układzie scalonym jest związana pewna pojemność
złączowa diody oraz pojemność pasożytnicza, związana ze złączem kolektor-podłoże. Najmniejszą pojemność złączową mają diody (rys. 6. J2a, b),
a największą dioda (rys. 6.121). Najmniejszą pojemność pasożytniczą ma dioda
(rys. 6.12a), która jest oddzielona od podłoża warstwą kolektorową.
W zastosowaniach impulsowych istotne znaczenie ma wartość czasu
przełączania diody t,„ wynikającego z efektu magazynowania ładunku. Najmniejszą wartość t„ ma dioda (rys. 6.l 2b), natomiast najdłuższy czas przełączania
ma dioda (rys. 6.12e), w której jednocześnie przewodzą obydwa złącza.
Najmniejszy
prąd
Możliwe konfiguracje połączeń tranzystorów
stosowanych jako diody
wykorzystujące złącze
243
&. WYTWARZANIE cYFROWYCH UXŁ.AOOW SCALONYCH
W wielu diodach scalonych występują niekorzystne uplywności związane
z pasoży tniczymi tranzystorami pnp (por. rys. 6.3a). Jedyną diod11, w której nie
występuje to zjawisko, jest dioda (rys. 6.12b). W tej konfiguracji to złącze
kolektor- baza struktury npn, które odpowiada złączu baza- emiter w strukturze
pnp jest zwarte, co uniemożliwia dzialanie pasożytniczego tranzystora pnp.
W ukladacb scalonych najczęściej są stosowane diody z rys. 6. I 2a i b.
W przypadku (a) charakterystyka statyczna diody, tj. zależność /(U), opisuje się
wzorem Shockleya dla złącza p-n. W przypadku (b) ma miejsce akcja tranzystorowa, czyli skala prądu ulega przemnoieniu przez współczynnik (fJ + ! ).
Oprócz opisanych wyżej diod ze złączem p-n szerokie zastosowanie
w ukladach scalonych znalazly diody ze złączem metal- pólprzewodnik, znane
jako diody Schottky'ego. Mają one duże zalety w stosunku do poprzednich diod:
znikomy (praktycznie zerowy) czas przełączania t.,.
:znacznie mniejsze napięcie przewodzenia przy małych prądach.
Charakterystyki statyczne diody p11 i diody Schottky'ego przedstawiono
porównawczo na rys. 6.13. Postać tej ostatniej, tzn.jej nachylenie oraz wielkość
napięcia progowego, w znacznym stopniu zależy od rodzaju użytego metalu.
W bipolarnych ukladach scalonych często stosuje się platynę.
10
I
lmAl
.
I
Dioda pn
OiOOy
Sc/\ottky·t90
J
5
I
I J
,/ I
.lV
0.2
0.4
Rys. 6.IJ
Porównunic charakterystyk
typowej diody p11 i diod
'
V
0.6
0.8 UIVI
Schottky'cgo małej mocy
w różnych wykonaniach
Diody Schottky'ego są wykorzystywane glównie w ukladach scalonych
TTL jako nieliniowe sprzężenie zwrotne między kolektorem i bazą w tranzystorach pracujących w nasyceniu, stąd zwanych tranzystorami Schottky'ego (rys.
6. I 3a). Dzięki malej wartości napięcia progowego dioda Schottky'ego uniemoż­
liwia w tej konfiguracj i osiągnięcie stanu głębokiego nasycenia przez tranzystor,
czego wynikiem jest istotna redukcja czasu wylączania tranzystora, spowodowana zmniejszeniem efektu magazynowania. Jest to znana z układów dyskretnych
koncepcja diody Bakera, zwykle germanowej, wprowadzanej jako sprzężenie
244
6.3. ELEMENlY UKł.AOÓW SCALONYCH
zwrotne między bazą i kolektorem tranzystora krzemowego. Czas magazynowania w tranzystorze Schottky'ego jest praktycznie równy zeru, co widocznie
kontrastuje z typową wartością ok. 7 ns dla klasycznego tranzystora domieszkowanego zlotem lub ok. 30 ns dla tranzystora bez domieszkowania. Duże
różnice istnieją również w odniesieniu do wartości napięć nasycenia. Tranzystor
Schottky'ego ma napięcie nasycenia UCEsa• równe typowo 0.25 V (tzn. ok.
dwukrotnie więcej niż tranzystor konwencjonalny) i może utrzymać UCE•"' <
< 0.5 V przy prądzie kolektora równym 20 mA i prądzie bazy równym I mA. Ponieważ napięcie przewodzenia diody Schottky'ego ma mniejszy (ok. - 1.5 mV/ K)
współczynnik cieplny niż napięcie przewodzenia złącza baza-emiter (ok.
- 2 mV/K), zatem napięcie Ucc•• 1 obniża się przy wzroście temperatury.
a
b
Izolacjo
Worstwo
epltoksjolno
Pod łoże
Warstwo
zagrzebano
Pierścień
ochronny
Izo lacjo
Rys. 6.14. Scalenie diody Schottky'ego z tranzysto rem npn
a)
rOwnowai:oośić
symboli, b) $trull:l\.1r.ł półprtiewodnikowa
Na rysunku 6.14b jest pokazana typowa struktura tranzystora Schot·
tky'ego. Dioda Schottky'ego jest wytworzona w taki sposób, że kontakt
metaliczny bazy jest rozciągnięty na obszar kolektora i między krzemową
warstwą epitaksjalną n a warstwą krzemku platyny tworzy się złącze metal-półprzewodnik. Katoda diody jest zatem związana z kolektorem, a anoda
z bazą. Wokół złącza metal-półprzewodnik jest niekiedy wytwarzany (metodą
implantacji lub dyfuzji) dodatkowy pierścień ochronny typu p, służący do
eliminacji szkodliwych efektów brzegowych.
245
6. WYTWARZANIE CYFROWVCH UKLAOOW SCALONYCH
Zastosowanie w układach scalonych TIL tranzystorów Schottky'ego
umożliwia eliminację domieszkowania zlotem, stosowanego w serii standardowej w celu skrócenia czasu magazynowania w tranzystorach pracujących
w nasyceniu. To z kolei powoduje ko rzystne zwiększenie współczynnika
wzmocnienia prądowego w tranzystorach oraz zmniejszenie szeregowej rezystancji kolektorów.
Tranzystory polowe
6.3.3
W cyfrowych układach scalonych opartycb na krzemie stosuje się tranzystory
polowe z izolowaną bramką (TG FET - lnsulated- Gate Fieltl- Effect 'Iransistor)
o generalnej strukturze przewodnik-izolator-półprzewodnik (CIS - Conductor
- lnsulator- Semicontluctor). Jako przewodnik stosowany jest metal (mówimy
wtedy o strukturze MIS - Metal- Insulator-Semiconductor) lub silnie domieszkowany krzem polikrystaliczny, a jako izolator dwutlenek krzemu. Najprostszą
strukturą jest metal-(dwu)tlenek (krzemu) - półprzewodnik (MOS - Meral-Oxide-Semiconductor). Zwyczajowo wszystkie krzemowe układy cyfrowe
z tranzystorami polowymi określa się skrótem MOS, niezależnie od modyfikacji
strukturalnych.
Zależnie od typu przewodnictwa kanału, tranzystory MOS dzieli się na
p-kanałowe, wykonywane na podłożu n, oraz n-kanałowe, wytwarzane na
podłożu p. W pierwszych przepływ prądu jest realizowany przez dziury,
a w drugich przez elektrony. Ponieważ ruchliwość elektronów jest ok. 2.5-krotnie
większa od ruchliwości dziur, tranzystory n-kanałowe są szybsze od analogicznych tranzystorów p-kanałowych.
Niezale-.inie od typu przewodnictwa kanalu, tranzystory MOS dzieli się
na dwa rodzaje: tranzystory z kanałem zubożanym, które są w stan ie prtewodzenia przy napięciu U as między bramką (G) i źródłem (S) równym zeru, oraz
tranzystory z kanałem wzbogacanym, które nie przewodzą przy Uc;s = O. Na rys.
6.15 przedstawiono zasadniczą budowę, sym bole i charakterystyki przejściowe
IJUGs) przy U05 = const dla tranzystorów MOS różnych typów. Należy
o
b
I Konar p I
Źródło Bronko
S
G
en.n
I Kona< n I
S
O
Podłoże
G
o
p
Rys. 6.15. Tranzysrory potowe
a) uruktura „ taft.do•qo ttlll)'Slon. 1'10S. b) struktura „t~ tn.nz:)'Slon ~•OS..
246
N
...,
c
MOS Z KANAŁEM
TRANZYSTORY
„,..
ZUBOŻANYM
.j>.
M
~
I
M
I
KANA<. p
i!:
Symbol•
bez. wyróżnien ia
M
~
konc.ówek O i S
-1o1-o
o
o
c
o
"~
,.J~ ,.J~ ,.J~ oo-j~ oo--j~ oo-j~ oo-1~
s
s
""'
s
,...._ _ _ _ _ _ __
110
s
S y mbol e
5losow o ne w ks 1q,zce
I
I
. .
KANAŁ n
o
o
o
s
s
s
__/
~
,.J~: ,.J~ ,.J~ oo-j~ oo-j~ o---1~ o~
s
przejściowe
tranzystorów MOS z
:;:
"'
E
Uy s uOSl•UI
-Uos
Io
Symbole bet wyróin iqnio
k oncÓwek O
c) symbole i charakterystyki
o
o
k anałem zubożanym.
i
S
u,• Uos1.11J
Uos
~o
:r
N
d
TRAN ZYSTORY MO S Z KANAtEM
„
„>~
WZBOGACANYM
~
oo
*
Io
~G~1+ G~
o
s
s
I
I
r-
·:_J·
'o-1~
~
s
""--------
kon cówek O i S
,._j~ oo-j~
s
Symbole
I
b•z wyr initnio
o
o
GcJ
Symbt/•
I
KANAt p
słosowone
KANAtn
'-4~
s
s
d) symbole i chnrukterystyki
o
s
przejściowe
~
z
;;;
~
~
„
o
~
n
:r
u,
w
c
-UGs
!1"'r
~
I
o
z
..(
o
o
s
tranzystorów MOS z
~
>
o
o
::;
ksi qice _ _ _ /
,.J~i ,.J* ,.J~ oo-j~ '~~ '~~ '~~
o
-1.
Symbole bez wyróżnienia
koncówek O i S
kanałem
wzbogacanym
:r
'•
Ur
Uos
6.3. ELEMENTY UKt.AOOW SCALONYCH
a
b
i/
i
I
Obszar
Obszar
nienasycenia nosycenia
2o
•8
Io
mA
18
j
I
J
6
V
I
4
/
l A' l
T - 25°C
2.0
...
+
•6
1.0
5.0
•5
3.0
2.0
V
'
.
I
I
o
~ I=
•
u0 5 -10VI
5 .0
3.0
r... = 2s0 c
U, = - 3V
I
I
/
2
10
I-" •7
I
,,..
20
mA
1.0I~
•4
o.os
/..- i
0.03
0.02
I
8
,
- 4 - 3 -2 - 1 O 1 2 3 4 5 6 7V8
+3
I/
6
4
-
r
;
Rys. 6.16
I
2 /
,,,.
o
o
+2
I
Przykładowe
Uos e. OV
,
Lbs
2 4
Io= loss
--
0.5
- 1.0
6 8 10 12 14 16 18 20 22 2 4V26
1.5
charakterystyki
tranzystora NMOS z kanalern
zubożanym
a) chataktcrys1yka W)'jkiowa.
b) charakccry$tyka pm:jkiowa
zaznaczyć, że
przy zamianie końcówek drenu i źródła charakterystyki statyczne
tranzystorów MOS pozostają takie same. Na charakterystykach przejściowych
zaznaczono charakterystyczne napięcia progowe UT oraz, dla tranzystorów
z kanałem zubożanym, prądy loss = l 0(U Gs = 0).
Zależnie od relacji między napięciami UT• UGs i Uos tranzystory MOS
mogą pracować w dwóch głównych trybach:
nienasycenia - gdy O.;; IVvsl < 1Uos-U 1·1
łub
nasycenia - gdy IVvsl ;;,, IVGs - Uri·
Odpowiada to dwóm charakterystycznym obszarom na charakterystykach wyjściowych I 0 ( Uvs) I UGS = const tranzystora MOS, jak pokazano na
rys. 6.16 dla przykładowego tranzystora NMOS z kanałem zubożanym.
W zakresie nienasycenia charakterystyka przejściowa tranzystora pracującego
z uziemionym źródłem (Us = O) opisuje się przybliżonym wzorem
249
6. WYTWARZANIE CYFROWYCH U KtAOOW SCALONYCH
W zakresie nasycenia,
podstawiając
U05 = U05 - Ur, otrzymuje siQ
Io"" P(Uos - Url 2/ 2
Symbol
Poznacza parametr
/J = µC 1Z/L
gdzie: µ C; -
ruchliwość nośników
jednostkę
Z L -
w krzemie,
warstwy izolatora podbramkowego,
powierzchni,
pojemność
przypadająca
na
sz.erokość kanału,
długość kanału.
Miarą wzmocnienia tranzystora polowego MOS jest transkonduktancja gm,
definiowana jako
Na podstawie poprzednich wzorów daje to dla trybu nienasycenia
g„ ""P IUosi
i dla trybu nasycenia
g„ "" /JIU Gs- Uri = 21,j(UGs- Ur)
W celu uzyskania pożądanych wielkości g„ odpowiednio dobiera się
parametry projektowo-technologiczne, którymi w tym przypadku są pojemność
C1 i stosunek Z/ L. Minimalna długość kanału Ljest ograniczona w tranzystorach
układów cyfrowych głównie przez precyzję procesów litograficznych i efekty
dyfuzji lateralnej w czasie wytwarzania kieszeni drenów i źródeł. Tranzystory
n-kanałowe mają większą transkoaduklancję niż p-kanałowe, gdyż, jak już
wspomniano wcześniej, ruchliwośćµ. elektronów w kanale 11 jest ok. 2.5-krotn.ie
większa niż ruchliwośćµ, dziur w kanale p. Ko nduktancja wyjściowa tranzystora
polowego, czyli przewodność kanału, definiuje się jako nachylenie cbarakt.erystyki wyjściowej tranzystora (rys. 6.16a) w określonym punkcie pracy
(I O> U osl
iJio
g,, =-ou DS
Dla trybu nienasycenia daje to
Yo"" /J(Uos-Ur -Uosl
250
6.3. ELEMENTY LIKU.DOW SCALONYCH
Dla trybu nasycenia zgodnie z powyższą definicją otrzymuje się g., = O.
Jednakże w praktyce zawsze jest g„ > O. Jest to spowodowane zjawiskiem
skracania efektywnej długości kanału (analogicznym do zjawiska Early'ego
w tranzystorach bipolarnych).
Dynamiczna rezystancja kanału stanowi odwrotność konduktancji
' •· ~ lfg.,
W zastosowaniach układowych szczególnie istotna jest wartość rezystan cji kanału w obszarze nienasycenia. Jak wynika z poprzedniego wzoru, wartość
'•"maleje ze wzrostem UGs· Ponadto przy odpowiednio dużym aa pięciu UGS• gdy
U05 - Ur » U DS• zależność l 0 (U os) staje się w przybliżeni u liniowa, co oznacza,
że wartość rezystancji dynamicznej r jest równa rezystancji statycznej ros·
M ożna zauważyć, że dla przykładowej charakterystyki z rys. 6.16a 'os"' 200 n.
W prak tyce dla tranzystorów malej mocy ot rzym uje się typowe wartości r/Js
w zakresie IO + 1000 n.
Z powyższego omówienia wynikają uproszczone modele tranzystora
polowego MOS dla małych częstotliwości, po kazane na rys. 6.17.
„
a
b
Rys. 6.17. Uproszczone modele tranzystora
•lmoddopny.
MOS dla malych CZ\'Stotliwoś<:i
b) model dl~ stanu ....1ątttni;.1
W tranzystorach cyfrowych układów scalonych jest istotna także wartość
i stabilność napięcia progowego Ur• którego wielkość najczęściej ustala się przy
użyciu metody implantacji jonów.
Rezystory
scalonych rezystory są wytwarzane również jako
W tym celu najczęściej wykorzystuje się warstwy pół­
przewodnikowe wytwarzane do budowy innych elementów (np. tranzystorów
bipolarnych), bądź też półprzewodnik warstwy rezystorowej uzyskuje się
na drodze odrębnego domieszkowania. Rezystory wykonuje się zazwyczaj
w postaci pasków półprzewodnikowych o grubości danej warstwy, przy
czym długość i szerokość paska dobiera się stosownie do wymaganej wielkości
rezystancji.
W cyfrowych
układach
6.3.4
półprzewodnikowe.
25 1
6 WYTWARZANIE CYFROWYCH UKt.AOOW SCALONYCH
o
P~ie
met
p}:.
1=~p~=~[~=Sllzolocjo
O,
_,
warstwa
epitoksjolno
p
t __
_ _ _ __
_ _ __
-J -- Podłoże
b
ObSzor p
lw= two bozowo )
Obszor n
!warstwo el)itok sjOłnol
Podłoże p
Rys. 6.18. Rezystor bazowy
a) n rulaura. b) schcm..1 uiatwc:rr ~ clerntncami paioot)'lnlCl)mi
struktura rezystora bazowego jest pokazana na rys. 6. 18a.
Warstwa epitaksjalna n, osadzona na podłożu p, zapewnia pożądaną izolację.
W celu zmniejszenia pasożytniczych pojemności złączowych i wyeliminowania
wpływu pasożytniczych tranzystorów p11p (warstwa bazy, warstwa epitaksjalna,
podłoże), obszar warstwy epitaksjalnej pod rezystorem często łączy się z najwięk­
szym dodatnim potencjałem dostępnym w układzie, czyli najczęściej z dodatnim
napięciem zasilającym układ. W ten sposób otrzymuje się zaporową polaryzację
obydwu złączy p-n struktury pasożytniczej pnp.
Przy typowej rezystancji R, wa rstwy p, równej 200 Q/0, do wytworzenia
rezystora I k!ljest potrzebny pasek z pięciu szeregowo połączonych kwadratów,
czyli I/ w = 5. Rezystor taki może być np. o szerokości IO µm i długości 50 µm.
Tolerancja technologiczna rezystorów półprzewodnikowych jest generalnie dość
duża i wynosi dla rezystorów bazowych 15 + 25%, a dla innych typów
rezystorów półprzewodnikowych często jeszcze więcej. Wynika to z ograniczonej
dokładności procesów litograficznych i domieszkowania. Znacznie lepsza dokładność (I+ 3%) można uzyskać w odniesieniu do stosunku dwóch rezystorów
tego samego t ypu, wykonywanych jednocześnie w tym samym układzie scalonym. Właściwość ta ma istotny wpływ na metodologię projektowania układów
scalonych.
Przy rezystancji R, warstwy bazowej równej ł00 + 200 Q/O można
wykonać rezystory o wartości od ok. 100 O do ok. 20 kO. Współczynnik
temperaturowy rezystorów bazowych jest dość duży i wynosi ok. 2 · I0- 3/K przy
R, = 200 0 / 0 .
Przykładowa
252
6.4. WYTWARZANIE BIPOLARNYCH UKt.AOOW SCAlONYCH
Mniejsze wielkości rezystancji o trzymuje się przy użyciu rezystorów
emilerowych, tj. wykorzystujących warscwę emiterową. Warstwy em icerowe 11 +
mają stosunkowo małą rezystancję powierzchniową (2-;- 5 !1/0 ), co umożliwia
wykonywanie rezystorów w zakresie od kilku do kilkuset omów. Współczynnik
temperaturowy rezystorów emiterowych jest mniejszy niż rezystorów bazowych
i wynosi typowo ok. 1.5 x 10- 4 /J<.
Inne stosowane struktury rezystorów 10 rezystory objętościowe i kana/owe.
D o wytwarzania rezystorów scalonych stosuje się również mecodę
implantacji jonów, typowo jonów boru. Metoda ta umożliwia osiągnięcie dobrej
precyzji, zwlaszcza przy większych wartości ach rezystorów, gdyż umożliwia
wytworzenie stabilnych warstw domieszkowanych o dużej rezystancji powierzchniowej. W niektórych ukladach pamięci sta tycznych MOS RAM stosuje się
implantowane rezystory polikrzemowe o rezystancji rzędu 10 10 n, co umożliwia
uzyskanie bardzo małej mocy strat i bardzo małych rozmiarów komórek
pamięciowych.
WYTWARZANIE BIPOLARNYCH UKŁADÓW
SCALONYCH
Poniższe
6.4
omówienie odnosi się do wytwarzania cyfrowych układów scalonych
TIL z serii standardowej o małym i średnim stopniu scalenia. Zasadniczy proces
technologiczny obejmuje wszystkie czynności, które wykonuje się na całej płytce
podłożowej. Proces ten rozpoczyna się od wytworzenia warstwy tlenkowej na płyt­
ce przed pierwszym cyklem litografii i domieszkowania, a kończy się na wytworzeniu ostatniej warstwy tlenkowej, pasywująccj wykonane na płytce układy.
Pierwszym etapem produkcyjnym, pokazanym na rys. 6.19a, jest wytworzenie plasterków warstwy zagrzebanej 11 + w miejscach, gdzie mają być
umieszczone tranzystory. W tym celu oczyszczoną płytkę podloiową typu
p pokrywa się warstwą Si0 2 w procesie utleniania termicznego i wykonuje się
pierwszy cykl litografii dla odsłonięcia okien do dyfuzji domieszki donorowej (11),
najczęściej arsenu lub antymonu.
W drugim etapie produkcyjnym na płytce podłożowej wytwarza się
warstwę epitaksjalną typu n (rys. 6.19b~ Zazwyczaj grubość tej warstwy wynosi
2-;- 5 µm, a rezystywność O.I -;- 5 Ocm. Wykonaną warstwę epitaksjalną pokrywa
się izolującą warstwą Si0 2 •
Kolej ny etap stanowi wytworzenie obszarów izolacyjnych wokól tranzystorów i rezystorów. W tym celu po drugim cyklu litografii przez otwarte okna
wykonuje się dyfuzję domieszki akeeptorowej (p), z reguły boru (rys. 6.l 9c), po
czym pokrywa si~ płytkę warstwą tlenkową.
Następną czynnością jest domieszkowanie obszarów baz i rezystorów
bazowych. Po t rzecim cyklu litografii wykonuje się dyfuzję boru (rys. 6.19d~ przy
253
6. WYTWARZANIE CYFROWYCH UKŁAOOW SCALONYCH
a
Dyfuzjo crsenu
1111 li
s.o,
~:.:"!4('.~:••m11fuo111111 111 11111000011m100••0•0000}
b
Osadzenie warstwy epitaksjalnej
I I I I I I I I I I I I I I
c
~
Dyfuzjo beru
Ili
Ili
Il i
Oyfuz,a boru
d
i ii
1111
e
p
R ys. 6.19. Zasad niczy proces technologiczny wytwarzania
Lranzystora scalonego 11pn
a) wytwarzanie warstwy zag_rubantj 11' . b) osadzenie warstwy epitaksjalnej.
c) wytworumic odizolowanyoh "'')'$P..
d) wytwor;_.enic W<llf$1wy ~~.owej ,
e) wy'lw()r?blic wal'$twy ani l tn)'A-tj i wyp10wf1.dztń k<>lek1ora,
f) wykonanie polljCl('ó D\dalicznycb
254
6.4.. WV1WAA2ANIE 81POL.ARNYCH UKLAOOW SCALONYCH
czym grubość warstwy p wynosi około 3 11m, a jej rezystancja powierzchniowa ok.
200 n;o. Po zakończeniu dyfuzji p0wicrzchnię płytki utlenia się, wytwarzając
ochronną warstwę tlenkową p0dobnie jak uprzednio.
W kolejnym, czwartym cyklu litografii odsiania się odp0wiednie obszary
baz do domieszkowania obszarów emiterów tranzystorów orazjednocześnieczęść
obszarów kolekto rów do wytworzenia konta któw omowych. Jako domieszkę
stosuje się fosfor, tworząc silnie domieszkowane wysepki półprzewodnika 11 • (rys.
6.19e). Grubość tej warstwy przekracza 2 µm, tak że końcowa szerokość bazy
wynosi 0.3 + 0.7 µm. Rezystancja p0wierzchniowa warstwy wynosi 2 + 5 Q/O. Na
końcu procesu wytwarza się warstwę ochronną Si0 2 •
W celu skrócenia czasu życia nośników mniejszościowych, a więc czasu
przeciągania w tranzystorach pracujących w nasyceniu, stosuje się teraz dyfuzję
złota. Proces ten realizuje się przez osadzenie próżniowe na tylnej (dolnej)
p0wierzchni płytki cienkiej warstwy złota i umieszczenie płytki na kilka minut
w piecu dyfuzyjnym w temperaturze ok. I I00°C, a następnie jej gwałtowne
ochłodzenie.
Piąty
cykl litografii służy do odsłonięcia tych obszarów elementów
które służą jako kontakty do wykonania właściwych połączeń elektrycznych, zgodnie ze schematem układu. Tak więc odsiania się wysepki
kon taktowe kolektorów, baz i emiterów tranzystorów, jak również rezystorów i diod.
Ostatnim etapem zasadniczego procesu technologicznego jest wykonanie
połączeń metalicznych. Po naniesieniu warstwy metalu wykonuje się szósty cykl
litografii, na końcu którego wytrawia się warstwę metalu w takich miejscach, aby
pozostały tylko poi.ądane ścieżki połączeniowe. Do ochrony p0wierzchni płytki
często stosuje się dodatkowo osadzenie na niej warstwy szkła niskotemperaturowego, czyli pasywującej warstwy tlenkowej CYD. Wtedy siódmy cykl litografii,
odsłaniający okna kontaktowe do wykonania połączeń zewaętrtnych, kończy
zasadniczy proces technologiczny. W rezultacie otrzymuje się płytkę o przykładowej postaci p0kazaaej na rys. 6.20, na której widać siatkę prostokątnych
struktur układowych .
układu,
Rys. 6.20
Plytka kn.emowa z wyko na nymi
strukturami ukladów scalonych
255
6. WYTWAA2.ANIE CYFROWYCH UKŁADÓW SCALONYCH
Układy scalone na płytce podlegają teraz dokładnemu badaniu optycznemu i elektrycznemu. Do wyprowadzeń zewnętrznych kolejnych układów są
przyciskane ostro zakończone sondy pomiarowe urządzenia sprawdzającego
(testera), sterowanego automatycznie przez komputer. Wszystkie układy, znajdujące się na płytce, są poddawane testom funkcjonalnym. Uklady nie spełniające
wymagań technicznych zostają oznaczone optycznie kolorowym tuszem i wykluczone z dalszych operacji technologicznych.
Po wykonaniu badań testowych, na płytce rysuje się ostrzem diamentowym
siatkę rozdzielającą wszystkie uklady. Po tej czynności płytka jest łamana wzdłuż
linii siatki przez przyciśnięcie jej do metalowej półkuli. W wyniku tego wszystkie
układy zostają rozdzielone na osobne kostki o charakterystycznym, malowniczym
rysunku połączei\ metalicznych (rys. 6.2!). Inną, bardziej nowoczesną i precyzyjną,
metodą podziału płytki na kostki jest cięcie płytki za pomocą strumienia
Va:,
16
.--- - - - - - 15
1t.
13
12
11
10
L - --
- -9
Masa
Rys. 6.21. Przykładowa kostka krzemowa z wykonanym układem scalonym 74LSl38
(Advanced Micro Devu·es), z charakterystycznymi ~.worokątnymi polami kontaktowymi
(ro1mia ry kostki 1.7 x 1.7 x 0.35 mm)
Lie?by (Yl;n1tc:~1ji numery ko6t0wcl: w obudowie dwu riędowej . Zwracaj;·1 uw;i" grube ścieżki zasilani:a (Ued
i INIS)' "1l'Olcół kosdd
256
6.4. WYTWARZANIE BI POLARNYCH UKł.A.00W $CAl.0NYCH
c
o
„. ,...o;,.
·~
e
·'.\ JS·
I
·~'
I
f
b
d
g
Rys. 6.22. Końcowe etapy procesu wytwarzania układów scalonych
a) pnygotow;anłe mccałowego $1.kitlclu obudowy \\'taz z końcówkami (aiuru), b) priyrv.·ierdzenie k~lk i do ażuru,
c) wykonanie połą.cur\ drutowycb (,..szycic1. d} opcjonalne pokrycie k.0$lkl v.'at$1Włt ochronną, e} ufomov.•anie
i 2atttkni~cie. obudowy, Qufonnowaoic końcówek, s>o~ laśm nośnych
laserowego. Oznaczone uprzednio układy wadliwe są odrzucane, a pozostałe
zostają przytwierdzone do metalowych szkieletów (ażurów) obudów (rys. 6.22a, b),
za pomocą lutowania eutektycznego lub klejenia. Następnie wykonuje się kolejno
połączenia drutowe między końcówkami obudów i polami kontaktowymi kostek
(rys. 6.22c). Połączenia wykonuje się drutem złotym lub złoconym o średnicy
17 + 50 µm, stosując najczęściej metodę łączenia termokompresyjnego (kulkowego), względnie przy użyciu drutu aluminiowego, metodą zgrzewania ultradźwiękowego. Czynność ta jest bardzo krytyczna z punktu widzenia niezawodności pracy. Duża część wad i uszkodzeń, wykrywanych w czasie badań fabrycznych
i w czasie eksploatacji układów, ma swoje źródło w niewłaściwych połączeniach
między kostką i obudową. Stanowi to jedną z przyczyn uzasadniających
zwiększanie skali integracji układów scalonych.
Dalszy proces jest przedstawiony na rys. 6.22e, f, g. Materiałem najpopularniejsi.ej obudowy dwurzędowej (p. 5.4, rys. 5.9) jest tworzywo termoutwardzalne,
zwykle żywica epoksydowa. Ostateczne formowanie obudowy i jej zamykanie
wykonuje się w odpowiednich prasach metodą prasowania przetłocznego.
Obudowy dwurzędowe mogą być również produkowane jako ceramiczne,
co narzuca nieco inny proces technologiczny. Układy scalone mogą być produkowane także w obudowach innego rodzaju, np. do montażu powierzchniowego (p. 5.4).
257
6. WYTWARZANIE CYFROWYCH
UKŁADOW
SCALONYCH
Końcowym
etapem produkcji jest kontrola gotowych układów w odniesieniu do gwarantowanych przez wytwórcę parametrów statycznych i dynamiczoych o raz wykonanie napisów, określających typy układów scalonych.
Ulepszenia technologiczne
Opisany poprzednio elementarny proces technologiczny jest stosowany do
wytwarzania najprostszych i najstarszych układów scalonych, np. ze standardowej
seńi 54/74 układów cyfrowych TTL. W nowoczesnych technologiach stosuje się
wiele modyfikacj i mających na celu polepszenie właściwości wytwarzanych
układów, głównie:
a)
b)
c)
zwiększenie szybkości działania,
zmniejszenie mocy strat,
zmniejszenie rozmiarów tranzystorów.
Wymagania (a) i (b) są generalnie przeciwstawne. Czas propagacji t„
będący miarą szybkości działania układu (p. 5.3.1) przy małej mocy strat
jest określony głównie przez stałe czasowe związane z pasożytniczymi pojemnościami elementów i ich połączeń w układzie. Przy zmniejszaniu rezystancji,
czyli zwiększaniu prądów i mocy strat w układzie, czas propagacji się zmniejsza.
Dolne ograniczenie tego zmniejszenia wynika z wartości częstotliwości granicznej
fr· Ponieważ po przekroczeniu pewnej optymalnej wartości prądu kolektora
częstotliwość fr maleje (w rezultacie zjawisk Webstera i Kirka), a ponadto
istotną rolę zaczynają odgrywać rezystancje rozproszone bazy i kolektora,
praktyczny związek czasu propagacji z mocą strat ma postać pokazaną na
rys. 6.23. Wymaganie (c) jest zazwyczaj zbieżne z poprzednimi i ma na celu
osiągnięcie możliwie największego stopnia scalenia. Aby osiągnąć szybkość
działania zbliżoną do limitu określonego przez f 1„ układy bipolarne muszą
mieć relatywnie dużą moc strat, co jest główną przeszkodą w osiąganiu większych
stopni scalenia.
2
Rys. 6.23
Typowy związek czasu propagacji t,
i mocy strat P dla bipolarnych układów
cyfrowych pracujących bez nasycenia
ograniCJJenie spowodowane pojemnościami
pasolytniayroi.
2 - oaranict.cnic spowodowane maleniem fr
i obecl,okią ttz.yf;lancji rol.pr<)W)n}'Ch baty i kołek lora
I -
tog P
258
6.4. WYTWARZANIE BIPOLARNYCH Ul<lA00W SCALONYCH
Pierwszym, istotnym ulepszeniem technologicznym
stało się
w latach
siedemdziesiątych zastąpienie bocznej izolacji złączowej scalanych elementów
przez izolację dielektryczną. Wszystkie elementy układu są wtedy otaczane fosami,
wypełnionymi wrośniętym
dwutlenkiem krzemu. Zostało to wprowadzone ro.in.
w technologiach ISOPLANAR (Faircl1i/d) i LOCOS (Philips). Technologie te
określa się łącznie jako technologie z boczną izolacją tlenkową.
Pierwsze kroki w procesie ISO PLANAR są takie same jak poprzednio, to
znaczy w podłożu p wytwarza się lokalne plasterki warstwy zagrzebanej 11 +
i następnie cienką warstwę epitaksjalną n o typowej grubości 1.2 + 2 µm. Następnie
wytwarza się trójwarstwowy płaszcz izolacyjny tlenkowo-azotkowy (rys. 6.24a).
Dolna warstwa tlenkowa jest potrzebna do zatrzymania trawienia warstwy
azotkowej, a górna do maskowania warstwy azotkowej. Kolejną czynnością jest
odsłonięcie okien do warstwy epitaksjalnej w tych miejscach, gdzie mają być
wytworzone fosy izolacyjne. W tym celu najpierw wykonuje się lokalne trawienie
azotku poprzez maskę tlenkową. Następnie są wyt rawiane o bydwie warstwy
tlenkowe: górna (służąca poprzednio jako maska) i dolna (w miejscach odsłoniętych po wytrawieniu warstwy azotkowej). W rezultacie otrzymuje się
struk turę pokazaną na rys. 6.24b. Następną czynnością jest trawienie fos
w warstwie epitaksjalnej, na głębokość równą ok. 55% pożądanej grubości
tlenkowej warstwy izolacyjnej (rys. 6.24c). Z kolei wykonuje się utlenianie
termiczne, aż do zrównania się powierzchni tlenku w wypełnianych fosach
z powierz.chnią warstwy tlenkowej pod warstwą azotkową. Warstwa tlenkowa
wrasta wtedy również na ok. 45% w głąb płytki, całkowicie przenikając warstwę
epitaksjalną. Wreszcie usuwa się pozostałą warstwę azotkową (rys. 6.24d).
W praktyce powierzchnia tlenku nie jest idealnie plana rna, gdyż w środ k u fos
występuje obniżenie poziomu, a przy brzegach fos następuje przewyższenie
i lokalne przegrubienie warstwy tlenkowej pod warstwą azotkową, co prowadzi do
charakterystycznego zn iekształcenia profilu brzegowego tlenku, przypominające­
go ptasi dziób. Domieszkowanie obszarów bazy (p) oraz emitera i kolektora (n +)
jest wykonywane przy użyciu procesów dyfuzji lub implantacji jonów. Po
metalizacji i wytworzeniu połączeń uzyskuje się postać pokazaną na rys. 6.24e.
Przy celowo pokazanym niedokładnym ulokowaniu kontaktów, widać w jaki
sposób "ptasie dzioby" mogą ograniczać powierzchnię kontaktów i ich wzajemną
odległość. Dodatkowa ściana izolacyjna między obszarami kolektora i bazy służy
do zmniejszenia pasożytniczych pojemności.
Proces izoplanarny, wprowadzony w 1971 r„ podlegał kolejnym ulepszeniom
(ISO PLAN AR- II, ISOPLANAR- S), mającym na celu uzyskanie jak najmniejszych
rozmiarów struktur i jak największej szybk ości działania. Proces ten został wykorzystany do produkcji ro.in. bardzo szybkich układów scalonych ECL z serii FIOOK
oraz bardzo szybkich układów TTL z serii FAST. W procesie ISOPLANAR-S
uzyskano częstotliwość graniczną tranzystorów sięgającą 7 + 8 GHz, co umoż­
liwiło uzyskanie czasów propagacji wewnętrznych bramek około 300+400 ps.
259
6. WYTWARZANIE CYFROWYCH Ul(tA00W SCALONYCH
o
Warstwo
zagrzebano n•
Podłoże
T
w
A
E
p
E
N
b
$i3 N4
Si02
p
T
E
L
N
I
A
N
c
p
Sio,
d
p
e
c
E
B
Si0 2
Rys. 6.24. Zasadnicze fazy wytwarzania tranzystora npn w procesie technologicwyro
ISOPLANAR
a) W)'t"''orunit "'':UStW)' 1.agrttl)anej. warsl „'Y tpitak~jahi.ej i 1lenkowo-aio1kowej warslwy ito13.cyjnej.
b) wykonanie okien w wanuwie i1.olacyjntj, c) W)'ptłnienit f0$ i.7.olacyjnych dwu1ltnkitm krzemu, d) wyu3wiwje 'A'łLrSl„')'
azotkowej, e) W)'konanie lok1ilnego domies:tk-O\\'ania obszarów bazy, t-mitera i kolektora oraz wytwon:toie poląettń
~wo~rviych (uwid0ctniono
260
pr.tyk.ladow:t nied okł.adnoie lokowania ko ntaktów)
6.4. WYTWARZANIE BIPOLARNYCH UKŁAOOW SCALONYCH
W nowszych technologiach bipolarnych zostały wprowadzone dalsze,
istotne ulepszenia: struktury samocentrujące, izolacja transzejowa i polikrzemowy kontakt emitera. Modyfikacje te mają na celu, podobnie jak poprzednio
boczna izolacja tlenkowa, osiągnięcie dalszego zmniejszenia rozmiarów tranzystora (zarówno poziomych, jak i pionowych), czyli jego przeskalowania,
aby zwiększyć gęstość scalenia i szybkość działania układów bipolarnych.
Przykład samocentrującej struktury SA (Se!f-Aligned) tranzystora npn
jest pokazany na rys. 6.25. Kontakt metaliczny z obszarem emiterowym
11 + nie jest tu bezpośredni, lecz za pośrednictwem poziomego paska polikrzemowego silnie domieszkowanego arsenem. Pasek ten również służy
jako źródło domieszki podczas dyfuzji wytwarzającej obszar emiterowy n+.
Po utlenieniu polikrzemu i selektywnym wytrawieniu warstwy Si0 2 nad
obszarem bazy, wykonuje się kontakt metaliczny do bazy, który jest samocentrujący w stosunku do emitera. W rezultacie osiąga się znaczne zmniejszenie rozmiaru „wszerz" struktury w porównaniu z poprzednimi, w których
wykonanie kontaktu do bazy wymagało zapewnienia dość dużej odległości
od kontaktu emitera.
n•
p-
Rys. 6.25
Przykład samocentrującej
struktury
tranzystora np11 [6]
Izolacja transzejowa (trench, deep-groove) polega na wykonaniu bocznych
ścieżek izolacyjnych wokół każdej struktury tranzystora, które sięgają znacznie
głębiej niż przy klasycznej izolacji tlenkowej. W tym celu wytrawia się znacznie
głębsze fosy (transzeje), które sięgają poniżej warstwy zagrzebanej, utlenia się ich
wewnętrzne ścianki i wypełnia polikrzemem (wypełnienie dwutlenkiem krzemu
staje się trudne technologicznie, jeśli warstwa tlenkowa przekracza 2 11m). W ten
sposób osiąga się dalszą redukcję pasożytniczej pojemności między kolektorem
a podłożem.
Zastosowanie polikrzemu jako materiału pośredniczącego w kontakcie
między metalem i obszarem n + emitera umożliwia eliminację zjawiska malenia
wzmocnienia prądowego w tranzystorach o bardzo płytkich złączach . Zmniejszenie to ma miejsce przy dużym przeskalowaniu rozmiarów struktur.
Przykład struktury tranzystora npn, mającej wszystkie trzy wymienione
cechy, jest pokazany na rys. 6.26b, w porównaniu ze strukturą o „normalnej"
bocznej izolacji tlenkowej. W strukturze samocentrującej z rys. 6.26b zastosowano podwójny, polikrystaliczny kontakt bazy w celu zmniejszenia zewnęt­
rznej rezystancji rozproszonej bazy (Rbxl oraz polikrystaliczny kontakt emitera.
261
6. WYTWARZANIE CYFROWYCH UKŁAOOW SCALONYCH
b
a
r
A Ea s 1 • 2 µm1
Ace =4 • 5µm1
Acs = 8x 12 JJml
R••
Cee
Ces
=400ll
=8fF
=49 fF
Aee = 1 x 2 µm1
Ac 8 =3• 2 JJm2
Acs ::. 3• 7 µm 2
R, 11
::
50.Q:
Cee = 2.4ff
Ces =4.8 ff
Rys. 6.26. Porównanie „normalnej" struktury tranzystora 11pn 7. boczną izolacją tlenkową (a) ze
i polikrzemowym emiterem (b) (7). Nie pokazano
metalizacji. Symbole A oznaczają powierzchnie odpowiednich złączy
strukturą samocentrującą z izolacją transzcjową
Wskutek znacznego zmniejszenia rozmiarów tranzystora i wprowadzenia izolacji transzejowej pojemność posożytnicza między kolektorem i podłożem (C,.)
została zredukowana dziesięciokrotnie.
WYTWARZANIE UKŁADÓW
SCALONYCH MOS
6.5
Zasadniczy proces technologiczny rozpoczyna się od wytworzenia płytki podłożowej z krzemu typu n o rezystywności 3 + 5 !'lcm, która jest utleniana
powierzchniowo na grubość ok. I µm (rys. 6.27a). Następnie litograficznie
wytwarza się maskę z oknami na wyspy drenów i źródeł tranzystorów oraz
wykonuje się dyfuzję domieszki typu p, zwykle boru (rys. 6.27b). Następnie
wykonuje się ut lenianie powierzchni i w kolejnym procesie maskowania ustala
się wyspy bramek. Po wytrawieniu tlenku w obszarach bramek wykonuje się
precyzyjne utlenianie powierzchni krzemu w celu wytworzenia ściśle określonej,
cienkiej (ok. 100 om) warstwy izolacyjnej (rys. 6.27c). Warstwa tlenku oddziela
powierzchnię półprzewodnika od elektrod bramek, produkowanych następnie
(po maskowaniu kontaktów) w procesie metalizacji i wytrawiania połączeń (rys.
6.27d). Cały proces obejmuje zatem cztery maskowania: dreny i źródła, bramki,
262
5.5. WVTWARV.NIE U<V.00W SCALONYCH MOS
Struktury PMOS nie wymagają wytwarzania izolacji
przewodzenie między wyspami dyruzyjnymi drenu
i źródła następuje tylko w kanale utworzonym w wyniku oddzialywania napięcia
bramki. Długość bramki L , musi być większa od długości kanału L, aby
uwzględnić tolerancje topograficzne procesu. Powoduje to jednak zwiększenie
pojemności między bramką i :źródłem (C„) oraz między bramką i drenem (C,.,), co
negatywnie wpływa na szybkość przełączania tranzystora.
kontakty i
połączenia.
międzyelementowej, gdyż
b
„
Dyfuzjo okceptorowo
Rys. 6.27. Uprosiczooy proces technologiczny PMOS
a} płyl\:a pcw:llo1owa 't waf"3t Wlł Otn\:ową.. b) miukowanlc oblliarów dttnu i źródla orat. dyfuzj.11 boru.,
c) wy1wamnlc denłdcj wanJ:l'•'Ydenku w obsnru bti1mkl, d) ma~kowanic kon1akt61A•. mccalbacjn i W)'lfll\loianic
polł(:ul\
Najbardziej krytyczną operacją technologiczną w opisanym procesie jest
wytwarzanie i zabezpieczenie podbramkowej warstwy tlenkowej na powierzchni
półprzewodnika. Zanieczyszczenia powierzchni, zwłaszcza przez jony alkaliczne
(reprezentujące szkodliwy ładunek powie rzchniowy), często są powodem złej
stabilności tranzystorów MOS, od zwiercied lającej się m.in. przez krótkoi długoczasowy dryf wartości napięcia progowego, co w zasad niczy sposób
wpływa na stabilność i niezawodność pracy ukladów.
Zanieczyszczen ia jonowe stanowią również jeden z powodów powszechnego początkowo stosowauia struktu r wyłącz.nie z kanałami typu p. Większość
jo.nów zanieczyszczeń ma ładunek dodatni, a ponadto, w związku z raptownym
uskokiem struktury półprzewodnika typu n na styku z warstwą tlenkową,
wytwarza się dodatni ładunek powierzchniowy związany z defektami struktury
krystalicznej. W strukturze p-kanalowej dodatni ładunek w obszarze bram ki
działa przeciwnie w stosunku do ujemnego napięcia sterującego bramki,
potrzebnego do zapewnienia przewodzenia. Ładunek ten wywołuje niekorzystne
zwiększenie wielkości napięcia progowego. Zwykłe jest to jednak mniej niepożą­
dane niż zmniejszanie napięcia progowego, które miałoby miejsce przy strukturze z kanałem typu 11, wywołując stale przewodzenie w zanieczyszczonych
strukturach.
263
6. WYTWARZANIE CYFROWYCH UK.U .DOW SCALONYCH
Technologia PMOS jest relatywnie tania i prosta. Była stosowana do
wytwarzania układów o niewielkiej szybkości działania, do masowych zastosowań rynkowych (np. programatory do pra lek i radioodbiorników, zegary-budziki, proste kalkulatory itp.).
W miarę udoskonalania technologii, a zwłaszcza czystości obróbki
powieri.chni knemu w obszarach bramek tranzystorów MOS, technologia
NMOS została zaakceptowana powszechnie. Układy NMOS mają następujące
zasadnicze zalety w stosunku do układów PMOS:
większa szybkość działania, wynikająca z ok. 3-krotnie większej ruchliwości µ nośników typu n (elektronów) niż nośników typu p (dziur) oraz
mniejszych efektów pasożytniczych, związanych z mniejszymi rozmiarami struktur NMOS;
większa gęstość scalenia struktur półprzewodnikowych, wynikająca ze
zmniejszenia ich rozmiarów (ponieważ gęstość prądu unoszenia jest
wprost proporcjonalna do ruchliwości nośników, zatem do uzyskania tej
samej wielkości prądu w strukturze NMOS wystarczy 2 ~ 3-krolnie
mniejsza powierzchnia), stosowania mniejszego napięcia zasilającego
i występowania mniejszych napięć na złączach;
możliwość bezpośredniej współpracy z układami scalonymi TIL.
Technologia NMOS jest bardziej złożona i droższa. Tranzystor NMOS,
wykonany analogicznie jest tranzystor PMOS w sposób pokazany na rys. 6.27,
ma ujemne napięcie progowe, czyli jest tranzystorem z kanałem zubożanym.
Oznacza to, że przy U Gs = O kanał n jest przewodzący w wyniku istnienia
warstwy inwersyjnej. Aby wytworzyć tranzystor z bramką aluminiową, kanałem
wzbogacanym i dodatnią wartością napięcia progowego, należy wykonać
dodatkowe, precyzyjne domieszkowanie typu p obszaru kanału, co z reguły
wykonuje się metodą implantacji jonów. Z tego samego względu, aby pnerwać
przewodzące kanały między tuż obok siebie ulokowanymi tranzystorami, należy
wykonać dodatkowe domieszkowanie typu p obszarów ochronnych (np. pierś­
cieni) wokół tranzystorów NMOS. Obszary te zwyczajowo nazywa się stoperami.
Struktura tranzystora NMOS z bramką metalową jest pokazana na rys.
6.28. Przykładowy proces technologiczny składa się z następujących, zasadniczych czynności.
Maska I: wykonanie okien do obszarów źródeł i drenów oraz domieszkowanie
n+ tych obszarów poprzez dyfuzję lub implantację fosforu.
Maska 2: wykonanie stoperów poprzez domieszkowanie borem i wytworzenie
warstwy tlenku niskotemperatu rowego (CVD) o grubości ok. 1.2 µm.
Tlenek ten zwyczajowo ok.reśla się jako polowy, w odróżnieniu od
cienkiej warstwy tlenku termicznego pod bramką, którą określa się
jako tlenek bramkowy,
Maska 3: wykonanie cienkich tlenków bramkowych, po c-.tym następuje implantacja jonów boru (w celu ustalenia pożądanej wartości napięcia
264
6 5. WYTWARZANI E UKlADOW SCALONYCH MOS
Termiczny ttenek tH'omkowy
G
-1,2µ
O
Metol
Tlenek potowy ICVOI
. 7·· .
Stoper kOnolU
lmplontowont JO<'IYboru
ł NA:!!! 2 •10'6crri 3 )
typu p z krzemu
łN„=1 -101Sem'"l1
PO<łlote
ł NA =i 1017cni3 J
<100>
G
s
LJ§J•0-
·- r~
.... „.T
I
I
,- ~.!. .„. „ •.J..
n•
@Dó: o
zI
I
"\
n...
Rys. 6.28. Strulcrura tranzystorów NMOS z bramką metalową
progowego) i związane z nią wygrzewa nie. Implantacja następuje
poprzez tlenek bramkowy, przy czym tlenek polowy służy jako
maska.
Maska 4: wykonanie o kien do kon taktów źródeł i drenów oraz metalizacja
powierzchni płytki poprzez naniesienie warstwy aluminium.
Maska 5: wykonanie połączeń i tlenkowa pasywacja powierzchni płytki.
Maska 6: otwarcie okien do kontaktów zewnętrznych w warstwie pasywującej.
Ulepszenia techn ologiczn e
Podobnie jak w przypadku układów bipolarnych, postęp w technologii układów
MOS ma na celu zwiększenie szybkości d2ialania, zmniejsi:anie mocy strat
i zmniejszanie rozmiarów tranzystorów. Dąży się więc do uzyskania jak
najszybszych układów o jak największym stopniu scalenia i akceptowalnym
koszcie. Z uproszczonej teorii skalowania tranzystorów MOS wynika, że przy
zmniejszeniu wymiaru charakterystycznego (szerokości linii) o pewien wspólc-.i;ynnik k > 1, opóźnienie propagacji maleje w przybliżeniu w stosunku 1/ k i moc
strat maleje w pr.tybliżeniu w stosunku 1/k 2 • Wynik i praktyczne jednak
zazwyci:aj odbiegają od tej teorii .
Zmniejszenie rozmiarów tranzystora i zwięks1..enie jego szybkości działa­
nia mo2na osiągnąć także bez zmniejszania wymiaru charakterystycznego
i związanego z tym polepszania rozdzielczości w procesach litograficznych.
265
$, WYTWARZANIE CYFROWYCH U Kl.A0 0W SCALONYCH
Skrócenie długości kanału i zmniejszenie pojemności pasożytniczych bramki jest
możliwe przy zastosowaniu tranzystorów z bramką krzemową. Bram ka ta jest
stosowana zarówno w tranzystorach PMOS, jak i NMOS.
Zasadnicze fazy procesu wytwarzania tranzystora NMOS z bramką
krzemową są pokazane na rys. 6.29. Nie uwzględniono na nim czynności
domieszkowania obszaru kanału (do ustalenia wielkości napięcia progowego)
oraz domieszkowania stoperów. Powierzchnia płytki jest pokrywana tlenkiem na grubość ok. I /tm, po czym następuje selektywne wytrawienie
Si0 2 z obszarów, gdzie mają być wykonane tranzystory (a). Następnie na
płytce wytwarza się cienką (ok. 100 nm) warstwę tlenku termicznego i osadza
się na niej warstwę krzemu polikrystalicznego (b), po czym litograficznie
usuwa się tę warstwę z wyjątkiem obszarów bramek i tych obszarów, gdzie
mają być wykonane połączenia z krzemu polikrystalicznego. Następnie wytrawia się warstwę tlenkową znad obszarów drenów i źródeł tranzystorów
i wykonuje się dyfuzję domieszki typu n, najczęściej fosforu (c). W wyniku
dyfuzji następuje nie tylko wytworzenie domieszkowanych wysp źródeł i drenów, lecz także silne domieszkowanie odsłoniętych obszarów polikrystalicznego krzemu (dyfuzja domieszek w krzemie polikrystalicznym następuje szybciej). Dalszą operacją jest pokrycie całej powierzchni warstwą tlenkową,
w wyniku czego bramki krzemowe i krzemowe ścieżki połączeniowe zostają
całk owicie wtopione w warstwę izolacyjną. W kolejnym procesie fotolitograficznym wytwarza się maskę odsłaniającą kontakty do tranzystorów i ścieżek
połączeniowych, po czym następuje metalizacja i wytworzenie połączeń metalicznych (d).
Dużą zaletą
bramki krzemowej jest właściwość samocentrowania, polegająca na tym, źe obszary drenu i źródła są dość dokładnie dopasowane wymiarami
do obszaru bramki. Jest to rezultatem użycia bramki krzemowej jako maski przy
dyfuzji domieszki w odsłonięte obszary drenu i źródła (rys. 6.29c). Przy użyciu do
domieszkowania metody implantacji j onów otrzymuje się jeszcze lepsze dopasowanie obszaru bramki z obszarem drenu i źródła. Nie występuje wtedy zjawisko
dyfuzji lateralnej, które ma zawsze miejsce przy klasycznej dyfuzji, powodując
lekkie zazębienie obszaru bramki z obszarami drenu i źródła. Właściwości
samocentrowania nie ma struktura z bramką aluminiową (rys. 6.28), w której
obszar bramki jest określany przez rozmiary elektrody metalowej wytwarzanej
po ostatnim kroku maskowania. Niedokładności procesu litograficznego narzucają konieczność wytwarzania wtedy bramki o długości większej niż długość
kanału, czyli częściowego przykrycia obszarów drenu i źródła przez obszar
bramki.
Struktury tranzystorów z bramką krzemową mają znacznie (ok. 2-krotnie) mniejszą powierzchnię niż struktury z bramką aluminiową. Głównie jest to
wywołane właściwością samocentrowania bramki krzemowej i związanym z tym
266
U. WYlWARZANIE UKlAOOW SCALONYCH MOS
Tlenek CVO
a
"'
pHO Ilem)
b
Krzem pollkryslallczny
termiczny
p
c
DYFUZJA DONOROWA
~lllll
lll
p
Rys. 6.19
d
ŹrÓdło lS)
Dren ID)
Sromka krzemowa IG l
p
Zasadnicze fazy wytwarzania
tranzystorów N MOS z bramką
knem ową
.a) odsłanianie ~to.> CtaftJ')ltC!f6w,
b) utłmianw tttmiC':mt i oudu•k
W1rjfW)' kt'lltl'lla polikty1Caha:ar:~
C1 d)-fuzja donoron • o.bton-rec okury
drcoów i &ódeł oni do krumu
polikry1tabCl'MłQ,
d} lill$kowanie kontalnów, tl'ld~htaqa
1
-.·)·trawi:ui.it
po~ettń
brakiem nadmiernych powierzchni, potrzebnych do uwzględnienia 1olerancji
maskowania w technologii klasycznej.
Bramka krzemowa umożliwia zatem zmniejszenie wartości pojemności
pasożytniczych bramka--<lren i bramka-źródło, co w istotny sposób wpływa na
zwiększenie szybk ości działania tranzystorów MOS.
Zauważmy, że w strukturze układu zawierającego tranzystory z bramką
krzemową są możliwe trzy poziomy i rodzaje ścieżek połączeniowych: dyfuzyj ne
(n+), z krzemu polikrystalicznego i metalowe. Umożliwia to osiągnięcie dużej
gęstości integracji.
267
5. WYTWARZANIE CYFROWYCH UKLAOOW SCALONYCH
Wytwarzanie
Układy
układ ów
scalonych CMOS
6.6
CMOS są budowane z tranzystorów MOS o obydwóch typach
przewodnictwa kanału (p i 11). Główną zaletą tych układów jest znikoma moc
strat w stanie statycznym.
Podstawową komórką CMOS jest para tranzystorów komplementarnych (PMOS i NMOS) z kanałem wzbogacanym, tworząca układ inwertera
w sposób pokazany na przykładowej strukturze z rys. 6.30. Jak widać, dreny
obydwu tranzystorów są połączone, tworząc wyjście układu. Ponieważ do
wytworzenia komplementarnych tranzystorów MOS są potrzebne podłoża
o odmiennym typie przewodnictwa, w podłożu n wytwarza się najpierw
dyfuzyjnie lub implantacyjnie pewien obszar p, zwany jamą p. W tej jamie
następnie wytwarza się tranzystor 11-kanalowy i obok niej p-kanałowy. W pokazanej struktune dodatkowo są dyfuzyjnie wytwarzane pierścienie ochronne
wokół każdego tranzystora (pierścień p • wokół tranzystora n-kanałowego
i pierścień 11 • wokół tranzystora p-kanałowego) w celu eliminacji pasożytniczych
kanałów i sprzężeń międzyelementowych. Pierścień ochronny p •jest połączony
z masą (Uss = O) i kontaktem do jamy p, a pierścień 11 • jest połączony z dodatnim
napięciem zasilającym U 00 i kontaktem do podłoża 11. Wynikiem tego jest
zaporowa polaryzacja złącza p-11 między jamą i podłożem. Kontakty do podłoża
i jamy nie muszą być wykonywane dla każdego tranzystora oddzieln ie, gdyż
w jednej jamie może być wykonane wicie tranzystorów tego samego typu,
a w podłożu są wykonywane wszystkie tranzystory drugiego typu.
Powyższa struktura CMOS z jamą typu p i tranzystorami z bramką
aluminiową jest strukturą klasyczną. Została ona jako pierwsza zastosowana
w praktyce w wyniku naturalnego rozwoju układów PMOS. Alternatywnym
rozwiązaniem jest struktura z jamą typu n, wykonaną na podłożu typu p.
Zaletami struktury z jamą p są.: generalnie lepsza równowaga parametrów
obydwu tranzystorów, zmniejszona wrażliwość na defekty radiacyjne i łatwiejsze
wykonywanie domieszkowania jamy p. W związku z tym technologia CMOS
z jamą p jest nadal szeroko stosowana, m.in. do wytwarzania układów
z popularnych serii 4000, przy jednoczesnym wykorzystaniu bramek krzemowych i długości kanału 3 + 5 µm.
Zaletami technologii CMOS z jamą 11 są m.in.: większa szybkość
tranzystorów n-kanałowych (gdyż nic są one wykonyv;ane w przeciwdomieszkowanej jamie p) i kompatybilność z technologią NMOS. Większy prąd pod loża
tranzystorów n-kanałowych, pochodzący z jonizacji zderzeniowej (tworzen ia par
elektron-dziura) wywołanej gorącymi elektronami, ma ułatwiony splyw w strukturze z jamą n. W szczególności, korzystając ze wspólnego podłoża typu p, można
wytwarzać mieszane uklady cyfrowe CMOS/NMOS. Dlatego technologia
CMOS z jamą 11 jest powszechnie stosowana do wytwarzania układów mikroprocesorowych oraz pamięci RAM i EPROM.
268
6.5. WYTWARZANIE UKŁAOOW SCALONYCH CMOS
a
Wejśc ie
x
Kontakt
po d łożem
t
Ko nał
n
p
p •źródło
p• dren
Pierśc i eń
Konał
Podłoie
p
Jamo p
ochronny n•
n
Kontokt z )omq p
Uoo
b
Diody
\
Tl - k anał
Uoo l
x
Uss = o- -
pasożytnicze
p
- - - - -1-+--<>YL Uoo
-- Uss=.O
Rys. 6.30. Podstawowa komórka CMOS (inwerter)
a) struktura scalona,. b) schemat dcktrya;ny
Trzecią odmianę
podstawowej komórki CMOS stanowi struktura z dwoma jamami, niezależnie tworzonymi we wspólnym podłożu. Jama p jest tworzona
dla tranzystora n-kanałowego i jama n dla tranzystora p-kanałowego. Umożliwia
to niezależną optymalizację profili domieszkowania, zmniejszenie pojemności
złączowych i osiągnięcie większej gęstości scalenia. Większa złożoność i koszt
tego procesu powoduje, że jest on stosowany przy wytwarzaniu układów
z tranzystorami o długości kanału L ,:;; 1.5 µm.
Tranzystory tworzące układ CMOS muszą być między sobą specjalnie
269
6. WYTWARZANI E CYFROWYCH UtCł.AOOW SCALONYCH
izolowane, aby wyeliminować możliwość powstania pasożytniczych kanałów
między nimi i, w szczególności, aby nie dopuścić do powstania zjawiska
zatrzaskiwania pasożytniczych tranzystorów bipolarnych. Klasyczną metodą
izolacji jest stosowanie pierścieni ochronnych. Metoda tajednak ma ograniczone
zastosowanie w nowszych technologiach z uwagi na konieczność poświęcenia na
ten cel relatywnie dużej powierzchni kostki, co ogranicza wzrost gęstości
scalenia. Najpopularniejszą metodą izolacji jest boczna izolacja tlenkowa, znana
z procesów ISOPLANAR i LOCOS. Jest ona powszechnie stosowana, w połą­
czeniu ze strukturami z jamą p i tranzystorami z bramką krzemową, do
wytwarzania szerokiej gamy układów CMOS o długości kanału 2.5 -;- 5 µm ,
w tym szybkich układów z serii HE4000B (Philips) i MC74HC (Motorola).
Kolejnym ulepszeniem jest zastosowanie wysokooporowej warstwy epitaksjalnej na niskooporowym podłożu, co m.in. zmniejsza podatność układu na
zatrzaskiwanie i zmniejsza pojemności pasożytnicze.
Na rysunku 6.31 przedstawiono trzy omówione struktury wykorzystujące
izolację tlenkową, tranzystory z bramką krzemową i warstwę epitaksjalną (8).
Źródła obydwu tranzystorów w pokazanych przekrojach nie mają bezpośred­
nich kontaktów metalicznych. Są to tzw. kontakty zagrzebane, w których
o
pasie dzioby"
Tlenek
cvo
Tlenek potowy
n•
Jamo
__ ____~'?!~ _!!e!_to~sJ.o!!lo_n____
_
POdto>!e n•
b
Jama n
- - - - - - Wo~łw.JIJ!E)łQ_k~~"-P- - - - Podfoźe
p•
c
p
p•
Rys. 6.31. Trzy podstawowe warianty budowy
polowym typu LOCOS i tranzystorami z
układów
CMOS z tlenkiem
bramką kncmową
a) z jamą typu p, b)7.jamą typu Ił. i:) td.,..'Om.fl j~m<&mi (t)'~ p i 1t)(niezaznaczono kontaktów U t>1>i Ua;~
270
8-5. WYTWARZANIE UKlADOW SCALONYCH CMOS
obszary źródeł p + i n+ są przedłużone do sąsiednich struktur, służąc jako lokalne
połączenia.
Wymienione zjawisko za.irzaskiwania (lat.cit-up) jest charakterystyczne
dla układów C MOS. Po wstaje ono w wyniku dodatniego sprzężenia zwrotnego
między pasożytniczymi tranzystorami bipolarnymi pnp i npn, stowarzyszonymi
z komplementarnymi tranzystorami stru ktury CMOS. Przy wystąpieniu tego
zjawiska, analogicznego do włączenia tyrystora, następuje przepływ prądu
stałego przez tranzystory pasożytnicze, co może doprowadzić do termicznego
zniszczen ia układu, a co najmniej do zatrzymania jego działania na czas
zatrzaśnięcia.
Struktura pasożytnicza pnpn, w której występuje tyrystorowe zjawisko
zatrzaśnięcia stanu przewodzenia, jest pokazana na rys. 6.32. W przykładzie
z jamą p tworzy się w niej pionowy tranzystor pasożytniczy 11pn i w podłożu
poziomy tranzystor pasożytniczy pnp. Z tranzystorami tymi są stowarzyszone
rozproszone rezystancje pasożytnicze między bazą tranzystora 11p11 i kontaktem
do jamy (r;) oraz między bazą tranzystora pnp i kontaktem do podłoża (r,J.
o
b
c
I
'
'•
1,..
y
••
Ir
'J
D
Rys. 6.32. Przyczyny zjawiska zatrzaskiwania
1:) puoi:)1-.. lranr)'Mory bipolarne w IU\ltłum
suot aary f)'flltOrOWCj. c) ~)"\•
271
CMOS. b) diana1 dd:trycmy pt;lCłi)'łnlU.C'J
~~ ~ t)·f'}'$tora
6. WYTWARZANIE CYFROWYCH UKŁADÓW SCALONYCH
Zjawisko zatrzaśnięcia powstaje wtedy, gdy obydwa tranzystory przewodzą
i wzmocnienie w pętli dodatniego sprzężenia zwrotnego stanie się większe od
jedności. Może to wystąpić, gdy napięcie zasilające U 00 krótkotrwale, lecz
wystarczająco się zwiększy (powodując przepływ prądu przez r C,; i r;), bądź
gdy nadmiernie zwiększy się (powyżej Uss) lub zmniejszy (poniżej zera) napięcie
na końcówce y, w rezultacie oddziaływania przyłączonych do tego wyjścia
zewnętrznych układów lub przyrządów. Zatrzaśnięcie może również wystąpić,
jeśli napięcie U00 - Uss przekroczy wartość napięcia przebicia złącza p-n między
jamą i podłożem. Ponieważ wejścia zewnętrzne (x) układów CMOS są z reguły
zabezpieczane przed szkodliwymi przepięciami przy użyciu diod połączonych
wewnętrznie ze ścieżkami Uss i U00, przejściowe spadki napięć powstające na
pasożytniczych rezystancjach tych ścieżek w obecności zewnętrznych przepięć
„
mogą również spowodować zatrzaśnięcie.
Zjawisko zatrzaskiwania jest samopodtrzymujące, jeśli prąd struktury
pasożytniczej I
jest większy od wartości progowej I H• zwanej prądem
podtrzymania (rys. 6.32c). Z kolei aby wystąpiło to zjawisko, jest konieczne
przekroczenie przez I,.. wartości progowej I r · Tak więc działania zabezpieczające mają na celu zwiększenie wartości Ir i I"' bądź przynajmniej
zapewnienie I,.. < I u·
Istnieje wiele sposobów technologicznych mających na celu zwiększenie
odporności układów CMOS na zjawisko zatrzaskiwania [2, 8). Klasycznym
sposobem jest stosowanie pierścieni ochronnych, pełniących również funkcje
kontaktów do podłoża i jamy. Ma to na celu obniżenie wartości rezystancji
rozproszonych r• i ' ;• bocznikujących odpowiednie złącza baza-emiter tranzystorów pasożytniczych.
Wysoką odporność na zatrzaskiwanie uzyskuje się przez zastosowanie
izolacji transzejowej w połączeniu z warstwą epitaksjalną na niskooporowym
podłożu . Radykalnym, lecz kosztownym sposobem jest zastosowanie podłoża
izolacyjnego, czyli technologii SOI, co praktycznie wyklucza zjawisko zatrzaskiwania w wyniku eliminacji tranzystorów pasożytniczych.
Technologie jedno- i submikronowe są znaci.nie bardziej złożone. Regułą
jest stosowanie struktur CMOS z dwoma jamami i warstwy epitaksjalnej na
niskooporowym podłożu. Aby wyeliminować niestabilności wywołane generacją
gorących nośników, stosuje się środki zmniejszające pole elektryczne w kanale
w pobliżu drenu. Najczęściej stosowane rozwiązania (rys. 6.33) to lekko
domieszkowane dreny (LDD - Lightly Doped Drain) lub dreny z podwójną dyfuzją
(DDD - Doubly Diffused Drain).
Umożliwiają one zmniejszenie natężenia pola w obszarze zubożenia przy
drenie. W celu wytworzenia drenów LDD najpierw wykonuje się wokół bramki
boczną warstewkę tlenku dystansującego (oxide spacer), tak aby w czasie
implantacji obszaru drenu powierzchnia pod tym tlenkiem była słabiej domieszkowana.
„.
272
6.5, WYTWARZANIE UKŁADÓW SCALONYCH CMOS
a
b
Tlenek dystonsujqcy
Poli krzem
~
p
Polikrzem
I ooo I
p
Rys. 6.33. Modyfikacje technologiczne dla przeciwdziałania szkodliwym
1jawiskorn, wywołanym przez gorące nośniki
a) $lr\lkluril l.00, b) łlniktura ODO
Użycie
technologii CMOS z jamą n umożliwia względrue łatwe wykonanie pionowych tranzystorów bipolarnych npn, z których każdy jest
umieszczany w oddzielnej izolującej jamie n, służącej jako kolektor. Implantacja
obszarów n+ dla źródeł i drenów tranzystorów NMOS zapewnia kontakty
emitera i kolektora, a kontakt do bazy, wytwarzanej oddzielną implantacją,
otrzymuje się podczas implantacji obszarów p+ dla tranzystorów PMOS.
Scalenie tranzystorów bipolarnych z komórkami CMOS (technologia BiCMOS)
umożliwia wykonanie szybkich buforów bipolarnych o malej impedancji
wyjściowej , służących do sterowania dłuższych linii połączeniowych na kostce
oraz jako układy wyjściowe do sterowania zewnętrznych obciążeń pojemnościowych. Umożliwia to zwiększenie szybkości działania układów i częściowo
zabezpiecza je przed zjawiskiem zatrzaskiwania przez separację zewnętrznych
wyjść układu od wewnętrznych komórek CMOS.
LITERATURA
I. Marciniak W.: Przyrz.ądy pólprzewodnilwwe i uklady scalone, WNT, Warszawa 1979
2. Stecie I A. J.: Particle-beamfabrication and in-Silu processing ofint.egrated circuits> Proc. IEEE. vol.
74, No. 12, December 1986, 1753-1774
3. Marcoux P. J.: Dry etching: an overview, Hewlett-Packard J., August 1982, 19-23
4. Merchant P. P.: Elec<romigration: an overview, Hewlett-Packard J., August 1982, 26-31
5. lepselter M. P. et al.: A Systems approach to 1 - µm NMOS, Proc. IEEE, v. 71, No. 5, May 1983,
640-656
6. lohstroh J.: Devices and circuits for bipolar (V) LSI, Proc. IEEE, v. 69, No. 7, July 1981,
812- 826
7. Niog T. H., Tan O. O.: Bipolar 1re11ds, Proc. IEEE, v, 74, No. 12, Dcccmbcr 1986, 1669- 1677
8. Holton W. C., Cavin R. K.: A perspective 011 CMOS tech110/ogy tre11ds, Proc. IEEE, v. 74, No. 12,
December 1986, 1646-1668
9. Beck R. B.: Technologia krzemowa, PWN, Warszawa, 1991
IO. Diłlinger T. E.: VLSI engineering, Prcntice Hall Int., Englcwood Cliffs, 1988
273
7
BUDOWA I CHARAKTERYSTYKI
CYFROWYCH UKŁADÓW SCALONYCH
NAJPROSTSZE BRAMKI
7.1
Bramki AND {I) i OR (LUB) można zbudować jako proste układy diodowo-rezystorowe (rys. 7. I). Układy takie mogą być realizowane jako bardzo
szybkie (t, < 100 ps) przy użyciu diod Schottky'ego. Można je także łączyć
w struktury kaskadowe typu AND-OR- AND ... Bramki AND i OR nie tworzą
jednak systemu funkcjonalnie pełnego (SFP - p. 4.1.l), gdyż nie umożliwiają
wykonania negacji boolowskiej. Możliwości ich zastosowania do syntezy
układów kombinacyjnych są zatem ograniczone. Ponadto ich możliwości
sterowania większych obciążeń, zwłaszcza pojemnościowych, są niewielkie
z uwagi na relatywnie duże impedancje wyjściowe. Dlatego układy diodowe nie
były wytwarzane jako scalone, a ich zastosowanie jest ograniczone do sporadycznych, prostych przypadków.
Budowę podstawowych bramek z historycznie pierwszych klas układów
scalonych pokazano na rys. 7.2. Bramka NOR z klasy RTL (Resistor- Transistor
Logic) {rys. 7.2a) ma opóźnienie t, = 12 ns i moc strat P = 12 mW. Relatywnie
duży prąd wejściowy bramki RTL przy poziomie H powoduje zmniejszanie
marginesu zakłóceń przy zwiększaniu liczby N sterowanych bramek. Dlatego
liczba sterowanych bramek jest ograniczona. Warto jednak pamiętać, że z takich
układów był zbudowany komputer pokładowy amerykańskiego lądownika
księżycowego w misji Apollo.
Prądy wejściowe podstawowej bramki NAND z klasy DTL (Diode- Tra11sistor Logic) (rys. 7.2b) są już praktycznie pomijalne p1-zy poziomic H na
wejściach. Ponadto bramka ta umożliwia realizację funkcji zwarciowej DAND.
Bramka ulepszona z serii DTL 930 Firmy Fairchild (rys. 7.2c) jest szybsza, dzięki
wprowadzonemu wtórnikowi emiterowemu. Wymaga ona tylko jednego napię­
cia zasilającego. Na podstawie podobnej struktury układowej zostały opracowane układy z klasy HTL (High 1hresltold Logic), o napięciu zasilania
+ 15 V i marginesie zakłóceń 5 V.
274
7.2.
UKŁADY
Til
o
a
+Ucc
..::}.~
Xz
b
~
x,
Xz
Y=X 1 V X2
R
c
o
•lite
R
iANCl°-ORl
x,
.,
y:x,
X? V X 3 V X4
x,
x,
. ,o--l<E!_J
- oo
Rys. 7.1 Bramki diodowe
R)'s. 7.2 Budowa bramek w pierwszych
scalonych
układach
a) ANO, b) OR, c) ANO-OR
a) NOR RTL. b) NAND OTL,
UKŁADY
Układy
TTL
~)
NAND OTµL
7.2
1TL (Transistor-Transistor Logic) są najpopularniejszymi układami cyfrowymi, stosowanymi w praktyce od lat sześćdziesiątych, kiedy to zostały wprowadzone na rynek światowy przez firmę Texas Instruments. Asortyment typów układów
jest ogromny, a ponadto są one dostępne w różnych obudowach i w kilku seriach,
różniących się szybkością działania, mocą strat i kosztem. Podstawowe parametry techniczne układów TIL z różnych serii zestawione są w tabl. 7.1. Jak widać,
można wyróżnić trzy grupy tych serii, zależnie od użytej technologii.
Na wcześniejszym rys. 5.1 pokazano przebieg „czasu życia" układów TTL
z różnych serii w porównaniu z układami CMOS i BiCMOS. Najbardziej
dojrzałe i perspektywiczne serie TTL to serie ALS, F i AS, natomiast serie LS,
S i w szczególności seria standardowa (fTL) stają się już przestarzałe i nie są
zalecane do nowych projektów.
275
7, BUDOWA I CHARAKiERYSlYKI CYFROWYCH UKŁA,OOW SCALONYCH
Tablica 7.1
ZESTAWIENIE ZASADNICZYCH PARAMETRÓW SERII W RODZINIE UKlA()ÓW 'ITL
Seria
Technologia izolacji
złączowej z domieszko-
wanicm zlotem
H
Standardowa
Parametr
Ci.as propagacji
T,,„ (os) przy N ~ 10
Moc strat na bramkę
(mW)
Współczynnik dobroci
Technologia
izolacji zlączowej z d iodami
Schottky'ego
Technologia izolacji
tlenkowej z d iodami
Schottky'ego
s
LS
F
ALS
AS
Schottszybka
mocy Schott- ky'ego
ulepszo- ulepszo(prlCS- (przes- ky'ego malej FAST na LS
na S
tarzała)
tarzała)
mocy
L
małej
IO
6
33
3
9
3.5
5
1.7
10
23
I
19
2
5.5
1
8
t,,Y, ·P, „(pJ)
100
138
33
57
18
19.2
5
13.6
Maksymalna częstotliwość
pracy rfm„),„ (MHz)
25
50
3
125
33
150
50
200
0.4
l
0.5
ł
0.4
l
0.4
2
16
20
3.6
20
8
20
8
20
l.6
10
2
0.18
20
2
IO
0.4
20
0.6
33
0.2
10
0.5
48
P,„
D,1P •
1
Prąd wyjściowy
loffmu(mA)
Prąd wyjści owy
lotmu(mA)
Prąd wejściowy
//Lmu(mA)
Obciążalność N max
Sposób oznaczeń
40
układów
scalonych TTL ilustruje przykład:
SN74ALS112N
Pierwsze dwie łub trzy litery (tutaj SN - Solid Network) wskazują na wytwórcę
(SN wskazuje na Texas lnstruments). Cyfry 74 oznaczają „komercyjny" zakres
temperatury O... + 70°C (cyfry 54 wskazywałyby na „wojskowy" zakres temperatury - 55... + 125°C). Kolejne litery służą do oznaczenia serii łub rodziny
układów cyfrowych. W podanym przykładzie jest to seria ALS z rodziny TTL.
Następne dwie, trzy łub cztery cyfry oznaczają typ układu. W omawianym
przykładzie l l2 oznacza układ zawierający dwa przerzutniki JK wyzwalane
zboczem ujemnym, z oddzielnymi wejściami S i R. Końcowe litery (jedna, dwie
łub trzy) oznaczają rodzaj obudowy (w tym przypadku litera N oznacza obudowę
plastykową dwurzędową).
Podstawowa bramka TTL
7 .2 .1
Na rysunku 7.3a jest pokazany schemat elektryczny dwuwejściowej bramki
NAND z serii standardowej TTL. Cztery takie bramki znajdują się w układzie
scalonym 7400.
276
7.2.
UKŁADY
TIL
o
c
b
--------ollJc~SV
Rl
~kil
Rz
.6k S!
x, x,
y
L
X
H
X
L
H
H
H
L
~=D-3
~=D-6
1 ~=[)-e
&
12-1\....11
13-L../-
Rys. 7.3. Podstawowa bramka NAND (IN) z serii standardowej 1TL
a) sdiemat. b) u1blica $tanów. c) symbó)c grafM:Vle układu 1400
Charakterystyki końcówkowe tej bramki, w tym poziomy napięć i odpowiednie wielkości prądów, odnoszą się do wszystkich układów z serii
standardowej. Oznacza to łatwe łączenie układów: z nielicznymi wyjątkami,
każde wyjście układu może być połączone z dziesięcioma wejściami innych
układów z tej samej serii.
Wszystkie tranzystory układu, z wyjątk iem T3, znajdują się w stanie
nasycenia lub w stanie odcięcia, zależnie od poziomów logicznych na wejściach.
Tranzystor wieloemiterowy Tl jest odpowiednikiem diodowej bramki AND
z rys. 7.la. Tranzystor T2 działa dwojako: jako wtórnik emiterowy i inwerter.
Dioda DI zapewnia odcięcie tranzystora T3, gdy tranzystory T2 i T4 są w stanie
nasycenia, tj. gdy na wyjściu jest poziom L. Tranzystory T3 i T4 tworzą układ
wyjściowy, zapewniający małą impedancję wyjściową zarówno przy poziomie L,
jak i H na wyjściu. Rezystor R3 ogranicza prąd wyjściowy w przypadku zbyt
dużego obciążenia na poziomie H (np. przy zwarciu wyjścia do masy) oraz
w procesie przełączania. Diody ograniczające D 2 i D 3 ułatwiają realizację
dłuższych połączeń między układami.
Cztery bramki są umieszczone w jednym układzie scalonym 7400,
o oddzielnych wejściach i wyjściach oraz wspólnym połączeniu
napięcia zasilającego i masy. Przy stosowaniu symboliki IEC opis logiczny
umieszcza się tylko w głównym elemencie zespołu elementów o wspólnych
blokach (rys. 7.3b).
Przy zwiększeniu liczby wejść bramek odpowiednio maleje liczba bramek zawartych w jednym układzie scalonym SSI. l tak np. jeden układ
scalony może zawierać również trzy bramki trzywejściowe, dwie bramki
czterowejściowe lub jedną bramkę ośmiowejściową. W każdym przypadku
wszystkie bramki danego układu scalonego są wytwarzane na jednej wspólnej
kostce krzemowej.
Układy TIL o większym stopniu scalenia (MSl i LSI) są zbudowane
z prostszych bramek NAND, o schemacie pokazanym na rys. 7.4. Uproszczenie
tworząc 7..espół
277
1. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKLAOOW $CAL0ttYC>1
L\::c"SV
--- . ,
---,
4kR
4kll.
I
I
y
I
I
!_ ___ _ JI
I
L ____
J
Rys. 7.4
Dwie 11 wcwnęt rzne' ' bramki NAND
i sposób ich połąC2eń
o
budowy wynika
I
I
stąd, że obciążenia „wewnętrzne" są
zewnętrzne, zwłaszcza
znacznie mniejsze niż
przy Nm.,.= JO. P onadto wpływ zakłóceń jest także
mmeJSZy.
Stan statyczny bramki
Dla uproszczenia przyjmiemy stałą, niezależną od prądu wartość spadku napię­
cia na diodzie o przewodzących złączach baza-emiter, równą 0.7 V. Napięcia
w punktach A, B, C, F, G schematu z rys. 7.5 są określone odpowiednio jako U A•
U8 itd. Napięcia na wejściach bramki są przyjęte jako równe napięciom wyjś­
ciowym innych bramek z tej samej serii, w tym przypadku serii standardowej.
Temperatura otoczenia jest przyjęta jako równa + 25°C, a napięcie zasilające
Uce jako równe + 5.0 V, z wyjątkiem przypadków, w których podano inaczej.
Ll<c
R,
R,
F
T3
t!"I.li
l1H-
- ~ ftl
Rys. 7.5
G
R,
l
Sc.hemat podstawowej bramki
NANO z pokazanymi kierunkami
wejściowych i wyjściowych
prądów
Zgodnie z ogólnie przyjętą konwencją, prądy wpływające do układu
(traktowanego jako czwórnik) są oznaczone jako dodatnie, natomiast prądy
wypływające z końcówek układu jako ujemne.
Stan
włączenia
W stanie włączenia na obydwu wejściach bramki jest poziom H (wartość typowa
Urn= 3.5 V), co powoduje, że na wyjściu bramki jest poziom L (rys. 7.6).
Tranzystory T2 i T4 są w stanie nasycenia, T3 jest odcięty, a Tl pracuje w trybie
inwersyjnym. Napięcia w układzie bramki mogą być określone następująco:
278
7.2 UKt.AOY TTL
b
Stan
wyfqczenio
o
1C ·Pot1om
óO'M>lny
w scanie
a) •~b) ~oa
Uc = 0.7 V, U 8 = Uc+0.7 = 1.4 V, UA = U 8 +0.7 = 2.J V, Uc = UG+0.2 =
= 0.9 V (typowa wartość napięcia kolektor- emiter tranzystora T2 znajdującego
się w stanie nasycenia jest równa 0.2 V), UP ~ Ucc· Typowa wartość napięcia
wyjściowego na poziomie L wynosi U 01_,"' = 0.2 V, przy maksymalnym prądzie
obciążenia IoLmax równym 16 mA. Poglądowy schemat bramki w stanie
włączenia przedstawia rys. 7.7a.
W stanie włączenia zarówno prąd wejściowy Im , jak i wyjściowy
(obciążenia) I 0 w istocie wpływają do bramki. Wyjście bramki stanowi „zlew"
(sink), do którego wpływają prądy obciążenia, dostarczane przez przyłączane do
tego wyjścia inne bramki.
Dla typowych wartości rezystorów układu z rys. 7.3 można obliczyć
wartości płynących przez nie prądów. Przez rezystor R 1 płynie prąd
I 111 = (5-2.1)/(4·103 ) = 0.7 mA, przez R 2 płynie /R 2 =(5-0.9)/(1.6 ·103 ) =
= 2.6 mA, a przez R 4 płynie I R4 = 0.7/(1·10 3) = 0.7 mA. Prąd bazy tranzystora
T4 wynosi zatem IR, + Irt 2 - IR 4 = 2.6 mA. Typowe wzmocnienie prądowe
tranzystora T4 jest równe 40. Dlatego nawet przy maksymalnym prądzie
obcią:i-..enia (wpływającym do kolektora tranzystora T4), równym IoLm-.=
= 16 mA, tranzystor T4 jest przesterowany prądem bazy równym 2.6- 16/ 40 =
= 2.2 mA, zapewniając dobre nasycenie.
W stanie włączenia tranzystor wejściowy TI jest spolaryzowany odwrotnie (tryb pracy inwersyjnej), w której kolektor i emiter zmieniają wzajemnie swe
role) i przez jego bazę płynie prąd równy IR 1 = 0.7 mA. Zgodnie z inwersyjnym
trybem pracy do każdego emitera wpływa zatem prąd Im = {11 1R • (plus prąd
upływu), gdzie Pr jest inwersyjnym współczynnikiem wzmocnienia tranzystora
Tl. Maksymalny prąd wejściowy jest ograniczany przez wytwórców do wartości
I 111m„= 40 µA (w najgorszych dopuszczalnych warunkach pracy). A by spełnić
ten warunek, należy zapewnić fJ 1 < 0.025.
Maksymalny prąd obciążenia o gwarantowanej wartości I oi „.,= 16 mA
jest wystarczający do przyłączenia na wyjście bramki dziesięciu podobnych
bramek łub wejść innych układów TTL z serii standardowej. Wyj ście bramk i
może zapewnić poziom L również dla wi~kszych prądów obciążenia, lecz
„
279
7, BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOOW SCALONYCH
o
L\:c ,5y
R,
R
4kQ
.6kG
0.9V
loL
IJH
1,.
°'" lu'"
(3,SVł
R,
13.SVl
1~
(0.2V)
1kG
b
-------- -->---<> L\:c•SV
R,
.6kQ R
F
c
4,9V
--I
4.9SV
TJ
-ltL
.2V
01
X
(pazjQmdQWOlny(
UIL
( 0.2Vł
300
Rys. 7.7
Poglądowe schcmuly
ias1ępczc
podslawowcj
bramki NANO w sianie
·>~·-
b)">~
Nół rysunł• ~ ~nit ~
_..,.
wówczas napięcie wyjsc1owe U OL wzrasta. Zależności nap1ęc1a wyjsc1owego
U 0 L od prądu obciążenia I 0 L i temperatury otoczenia, przedstawione na
rys. 7.8, stanowią charakterystyki wyjściowe bramki w stanie włączenia. Na
rysunku zaznaczono również największą wartość napięcia wyjściowego
U OL mu = 0.4 V, gwarantowaną przez wytwórców dla najgorszych (lecz dopuszczalnych) warunków pracy. Rezystancja wyjściowa bramki wynosi w tym
stanie ok. I O n (wartość typowa).
Aby utrzymać bramkę w stanie włączenia, najniższe napięcie wejściowe
poziomu H musi być wystarczająco duże, aby zapewnić gwarantowany poziom
L na wyjściu. Przyjmuje się U 111 m;n = 2.0 V.
Przy zwarciu wejść bramki całkowity prąd wejściowy jest sumą prądów
wejściowych zwartych wejść. Oznacza to, że przy zwarciu wszystkich wejść
bramki (np. czterowejściowej) i przyłączeniu ich do poziomu H , całkowity
maksymalny prąd wejściowy może osiągnąć wartość równą 4 x 40 µA = 160 µA.
280
12.. UKlAOY ITL
w.--~--.~---,,-~.-~-.,.~~..-~--.~--,,-~.-~-.,.~----.
V
Uo
40
80
60
mA 100
101!1.""3•
Rys. 7.8 Charakterystyki
stanic wląacnia
wyjściowe
podstawowej bramki TTL z serii standardo=j
w
Stan
wyłączenia
na jednym z wejść bramki jest poziom L, wówczas bramka jest
i na jej wyjściu jest poziom H (rys. 7.7b). Tranzystor Tl znajduje się
w nasyceniu, tranzystory T 2 i T4 nie przewodzą, a T3 pracuje liniowo jako
wtórnik emiterowy. Napięcie w punkcie A jest równe U = U n+ O. 7 - 0.9 V
i w punkcie B jest U 8 = Un +O.I = 0.3 V (typowa wartość napi11cia kolektor-emiter tranzystora Tl w nasyceniu wynosi ok. O.I V), tak że tranzystor T2 nie
może przewodzić. Napięcie wyjściowe może być określone jako
Gdy
choćby
wyłączona
„
gdzie: U BEJ - napięcie baza-emiter tranzystora T3,
Uo1 - napięcie przewodzenia diody DI ,
/J3 - współczynnik wzmocn ien ia prądowego tranzystora TJ.
Podstawiając typowe wartości otrzymujemy U0 "''" = 5-0.7 - 0.7 - 0.l = 3.5 V.
Jak widać z rysunku 7.7b, w stanie wyłączenia zarówno prąd wejściowy
ln,jak i wyjściowy(obciążenia) 1011 wypływają z bramki. Prąd wejściowy 1,dest
„wlewany" do wyjścia bramki sterującej wraz z podobnymi prądami wejś­
ciowymi pozostałych bramek, przyłączonych do wyjścia bramki sterującej.
W starue wyłączenia stosunkowo duży prąd, wynoszący 1111 = (Ucc- U,,.)/ R 1 = 1.03 mA, płynie tylko przez rezystor R1. Zapewniona przez
wytwórców wartość prądu J1L nie może przekroczyć wartości mak symalnej
l n mu = -1.6 mA w dopuszczalnych warunkach p racy.
281
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOOW SCALONYCH
analizowanej bramki jest przyłączone do
dziesięciu wejść innych bramek z tej samej serii, maksymalny prąd obciąż.enia
wynosi 10 H max= - 0.4 mA. Bramka może być bardziej obciążona, ale wówczas
napięcie wyjściowe Uon staje się odpowiednio mniejsze. Zależności napięcia UoH
od prądu 1011 , przedstawione na rys. 7.9, stanowią charakterystyki wyj.friowe
bramki w stanie wyłączenia. Na rysunku zaznaczono również najmniejszą
wartość napięcia wyjściowego U oH mln = 2.4 V, gwarantowaną przez wytwórców
w najgorszych, dopuszczalnych warunkach pracy. Rezystancja wyjściowa w tym
stanie wynosi ok. 100 n (wartość typowa).
Przy
założeniu, że wyjście
5 ~~~~~~~~~~~~~~~~~~~~~~~~
V U0
Ucc•S.OV
U1l • 0.4 V
4
Obszar
procy
Io
01
0.4
10
20
I
IQIJH -.ox
los
mA
40
Prqd
zwarciowy
Rys. 7.9 Charakterystyki wyjściowe podstawowej bramk.i T fL z serii
standarowej w stanie wyłączenia
Aby utrzymać bramkę w stanie wyłączenia, największe napięcie wyjpoziomu L musi być wystarczająco małe, aby zapewnić gwarantowany
poziom H na wyjściu. Napięcie to przyjmuje się jako U n max = 0.8 V.
Zależność napięcia wyjściowego U 011 od napięcia zasilającego U ce jest
bezpośrednia. Charakterystyka wyjściowa w stanie wyłączenia przesuwa się
w górę lub w dół o wartość zmiany napięcia zasilającego, odpowiednio dodatniej
lub ujemnej.
Przy zwarciu wejść bramki całkowity prąd wejściowy pozostaje praktycznie taki sam, niezależnie od liczby wejść bramki, na których jest poziom L.
Oznacza to, że przy zwarciu wejść bramki, np. czterowejściowej i przyłączeniu ich
do poziomu L, prąd wejściowy będzie praktycznie taki sam, jak dla jednego tylko
wejścia bramki, na którym jest poziom L.
ściowe
282
7 2. UKt.AOY TI'L
Przełączanie
Proces
bramki
włączenia
Załóżmy, że początkowo
bramka jest w stanie wyłączenia, przy czym jedno z jej
wejść jest na poziomie H, a drugie na poziomie L. Proces włączenia następuje
przy zmianie poziomu na drugim wejściu z L na H, tak aby ostatecznie obydwa
(w przypadku bramki wielowejściowej - wszystkie) wejścia bramki były na
poziomie H.
Początkowo typowe napięcie na drugim wejściu jest zatem równe
U,= Un = 0.2 V. P rzy wzroście tego napięcia najpierw zaczyna przewodzić
tranzystor T2 (przy U, równym ok. 0.5 V, gdyż wówczas U 8 = 0.6 V). Następuje
okres liniowej pracy tranzystora T2, który działa wtedy jako prosty wzmacniacz
w układzie wspólnego emitera z ujemnym prądowym sprzężeniem zwrotnym,
mający wzmocnienie napięciowe równe R 2/ R 4 = 1.6. Przy liniowym zwiększaniu
U1 następuje zatem liniowy wzrost napięcia w punkcie G i liniowy spadek
napięcia w punkcie C (rys. 7.5). Ponieważ tranzystor TJ działa w dalszym ciągu
jako wtórnik emiterowy, zmiana napięcia w punkcie C jest przenoszona na
wyjście ze stałym przesunięciem napięciowym, równym sumie spadków napięcia
na złączu baza-emiter tranzystora TJ i na diodzie D 1. Po zwiększeniu napięcia
wejściowego do wartości ok. 1.4 V, napięcie w punkcie G osiąga wartość równą
0.7 V i następuje włąc-tenie tranzystora T4. P owoduje to również radykalne
zwiększenie wzmocnienia wzmacniacza zbudowanego na tranzystorze T2, gdyż
przewodzące złącze baza-emiter tranzystora T4 silnie zmniejsza ujemne sprzęże­
nie zwrotne, powodowane poprzednio przez rezystor R4 • Ponieważ napięcie U 8
jest teraz równe sumie spadków napięć na przewodzących złączach baza-emiter
tranzystora T2 i T4, przy dalszym zwiększaniu napięcia U 1 napięcie U 8 pozostaje
praktycznie stałe. Następuje więc zmiana polaryzacji tranzystora Tl, który
zaczyna pracować w trybie inwersyjnym. Tranzystor T2 wchodzi w stan
nasycenia, powodując odcięcie tranzystora T3.
Przy zmianie napięcia wejściowego, wystarczająco wolnej do pominięcia
procesów przejściowych, można otrzymać zależność U0 (U,), zwaną napięciową
charakterystyką przejściową bramki (rys. 7.!0a). W przedziale 0.5 V< U,<
< 1.3 V napięcie U0 maleje liniowo, zgodnie z liniowym trybem pracy stopnia
wzmacniającego z tranzystorem T2. Na krótkim odcinku 1.3 V < U 1 <
< 1.5 V rozpoczyna się przewodzenie tranzystora T4, czemu odpowiada nagłe
zmniejszenie U 0 . Wartość napięcia wejściowego UI> przy którym napięcie to
staje się równe napięciu wyjściowemu U°' stanowi umowny próg zmiany stanu
logicznego układu i nazywa się napięciem progowym Ur bramki albo po prostu
"progiem". Napięcie to można praktycznie zmierzyć po połączeniu wszystkich
wejść bramki z jej wyjściem. Typowa wartość napięcia progowego UT bramek
TTL z serii standardowej wynosi ok. 1.4 V przy 20"C, ale do celów testowych
przyjmuje się wartość umownie równą 1.5 V.
283
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOOW SCALONYCH
o
4
l
V Uo
3
7400
~
Uo;•SV
No 10
T0 1: 25°C
2
Rys. 7.10
Charakterystyka przejściowa
podstawowej bramki NAND TfL
z serii standardowej
U1
o
b
1
u,
3
2
V
a) postał t)'powa,
b) włcino$ć charakteryst)'ki
bramki od tcmpeJatury
4
pn.:tjściowtj
s
V Uo
:125°C
•
'
I
3 ' - ooc
+70°C
~
-SS C
A
2.4V----e-- - -,
I
2
I'
~
1
•125°C
~
I
l·70°CI
I
-
' \,,,ooe
./
,~- ss•c
1• 25°C
uor.;::-
I
LQ.4V- - - - l---1-O.SV
o
0.5
ł
Un.~ot
--\- - ~ - L..T- 1 - - 1.0
1.S
.._ą_
2.0
u[~mln
___ _ . - --u1___
2.5
V
3.0
Zmiany charakterystyki przejściowej U0 (U1) bramki przy zmianach
temperatury przedstawiono na rys. 7.lOb. Zaznaczono również na nim charakterystyczne napięcia i punkty A, B, odpowiadające oznaczeniom z rys. 5.13.
Współc-,:ynni k temperaturowy napięcia progowego Ur wynosi ok. -3 mV/K.
Napięcie U0 (0) zmienia się wraz z temperaturą, ze współczynnikiem temperaturowym równym ok. 4 mV/K.
Proces
wyłączenia
Proces wyłączenia przebiega odwrotnie do procesu włączenia. Początkowo na
obydwóch wejściach jest poziom H, czyli typowe napięcia wejściowe są równe
U1 = Urn = 3.5 V. Przy zmniejszaniu się napięcia wejściowego układ bramki nie
reaguje na zmianę U1 , dopóki napięcie wejściowe nie zbliży się do wartości
284
7.2.
UKŁADY
TI"L
równej ok. 1.5 V. Wówcz,as tranzystor TJ zmienia polaryzację i wchodzi
w nasycenie powodując przy dalszym zmniejszaniu napięcia wejściowego
odcięcie tranzystorów T2 i T4. Tranzystor T2 szybciej wychodzi z nasycenia niż
T4, gdyż tranzystor Tl (będący już w stanie nasycenia) zapewnia niskooporowe
połączenie bazy T2 z masą, a ponadto tranzystor T4 przewodzi w stanie
włączenia większy prąd obciążenia i jest silniej przesterowany prądem bazy.
Napięcie w punkcie C zwiększa się, podczas gdy napięcie wyjściowe U0 pozostaje
stałe (jak długo tranzystor T4 pozostaje w stanie nasycenia). Gdy różnica napięć
Ue - Uo osiągnie wartość równą ok. 1.4 V, tranzystor T3 zaczyna przewodzić.
Prąd kolektora T4 wtedy zwiększa się, przyspieszając wyjście tranzystora T4
z nasycenia. Przy wystarczająco dużej wartości ładunku zmagazynowanego
w tranzystorze T4 jest możliwe również przejściowe nasycenie tranzystora T3,
gdy napięcie UP spada poniżej Uc· Powoduje to przejściowe zwiększenie prądu
zasilania lee pobieranego przez bramkę, który jest wówczas ograniczony przede
wszystkim przez rezystor R 3 . Amplituda l ee m tego impulsu prądowego może się
znacznie zwiększyć przy pojemnościowym obciążeniu bramki (rys. 7.11). Zjawisko to może być przyczyną zaklóceń w pracy systemu cyfrowego, jeśli wiele takich
przełączeń następuje jednocześnie i doprowadzenia zasilania do układów
scalonych nie są wystarczająco blokowane pojemnościowo do masy.
H-~
L
-------'-------!'
-Iccma:
14mA
przy c , = 50 pF
IccLa 3.4 mA
Rys. 7.11
Zmiany prądu zasilania
bramki przy przelączaniu
Po wyjściu tranzystora T 4 ze stanu nasycenia napięcie wyjściowe U0
szybko zwiększa się i gdy napięcie wejściowe U1 staje się mniejsze od ok. 0.7 V,
napięcie wyjściowe osiąga wartość typową dla poziomu H, równą Uon = 3.5 V.
Jeśli proces wyłączenia jest wystarczająco powolny i można pominąć
procesy przejściowe w układzie bramki, to charakterystyka przejściowa U0 (U 1)
jest taka sama, jak przy wystarczająco powolnym procesie włączenia (rys. 7.10).
Szybkość procesów przełączania określa się przez podanie czasów
propagacji Lnn• LPHL i tP (p. 5.3.1). Jeden z układów do ich pomiaru jest pokazany
na rys. 7. I 2a. Odpowiednie przebiegi napięć są przedstawione na rys. 7.12b, na
którym określono również czasy trwania zboczy impulsów na wyjściu układu
285
7, BUDOWA I CHARAkTERYSTY.CI CYFROWYCH U KŁAO OW SCALONYCH
a
y
E
2.4V
L
01
02
03 04
Gel"lerotor
impulsów
Bramko
badano
b
i{----- -
~
--i t,
t, 14-
u - - - - -1- +
IH
E
u,- ~
ull
-
I -- -
-
-- -
~
I~-
- -
r- -- - - -- -
t4-
h f - - - - - - 3V
~ -900/e
- -
I +
-
- T ·- - -1o'lo
łwJH
- 1.SV
o
I
i - IPLH-i
-iE-- 90%(80%)
l..liH -----~[
'I - - - - - - - v
u, - - - - -r - - - - - - - - -
u.,,-- - - - - - -+ -r
-
- -
-
-
-
-
łtML_. I I ~ •
-
-
tn.H.
L - 1sv
~ ~ - -10%(20°/o)
I I I•
i.---- ł w oL
Rys. 7. 12
Pnełączanie bramki 1TL
układ pomiarowy, b) definicje mierron)'cb czasów
a)
pndącttti
(tn "' trHl). Wszystkie diody DI „ . D4 są krzemowe, impulsowe, typu 1N3064 lub
równoważne. Cl zawiera w sobie pojemność sondy oscyloskopu i złącza
pomiarowego. Dla N = 10 przyjm uje się zwykle Cl równe 15 lub 50 pF,
RL = 400 n i R' L = 8.2 kQ (rezystor R' l reprezentuje obciążenie bramki przy
poziomie wysokim na wyjściu). Gdy użyty oscyloskop ma wejście niskoomowe
(np. 50 Q), wejście to przyłącza się do układu pomiarowego za pośrednictwem
rezystora R' 1,. Wartość tego rezystora jest wtedy zwykle zmniejszana do około
I kQ, aby wyeliminować wpływ reak tancyjnych elementów pasożytniczych
związanych z R' L· Jak wynika z rys. 7.9, amplituda impulsu wyjściowego również
wtedy nieco maleje.
Charakterystyka
Zależność
wejściowa
11 (U 1) jest zwana charakterystyką wejściową bramki (rys. 7.13a}. Na
początkowym odcinku charakterystyki, tj. przy O < U 1 < 1.3 V prąd wejściowy
maleje liniowo, zgodnie z zależnością
286
7.2. UKŁADY TIL
I, = (Ucc - U1 - Uss1)/R,
W przedziale 1.3 V < U1 < 1.6 V następuje weJsc1e tranzystora Tl w tryb
inwersyjny, w związku z czym przy U1 = 1.6 V następuje zmiana kierunku prądu
11 • Przy U 1 > 1.6 V bramka pozostaje w stanie włączenia i prąd wejściowy - 11
stopniowo zwiększa się przy zwiększaniu U 1 •
W praktycznych zastosowaniach często jest potrzebna znajomość charakterystyki wejściowej bramki w zakresie napięcia wejściowego U1 większym od
nominalnego, tj. normalnie zaleconego przez wytwórców (O ~ U1 ~ 5.5 V).
Zależność ta jest przedstawiona na rys. 7.13b, gdzie można wyróżnić dwa
charakterystyczne przedziały: (a) przy u I <o i (b) prz ul > 5.5 V. w zakresie (a)
o
1.2
I
mA ..;::Ir
1.0
~
0.8
I
7400
l\:c= SV
r• •2s•c
......,
I
I
0.6
I
I
1k'1
•SV~
0.4
u,
o.z
I
lu:-
I I
o
2
1
-ooos
4 V
3
"-
-0.010
b
3
mA
I
·I,\
2
I
I
I
t \'
o2
7400
l,\:'c<SV
r, .2s•c
-1
'
'
•SV
u,
'
o
~
1,
Ui
2
4
6 'I
I
-1
I
I
I
I
I
I
-2
287
\ 8
I
I
I
I
I
I
I
I
V
Rys. 7.13
Typowe charakterystyki
wejściO\\'C podsta\\1owej
bramki TTL z serii
standardowej
a) w normaln)'IJI nitrtłit pracy.
b) w rot'*>:tnonym zakresie prac)'
J - b1'3mka z diodami obcinają<')'mi.
1 - bez diod
obcinają<:)"Cb
1. BUDOWA I CHARAKTERYSTYKI CYFROWYCH
UKŁAOOW SCALONYCH
prąd l 1
bramki wyposażonej w wejściowe diody ograniczające (rys. 7.3a) szybko
po przekroczeniu progu przewodzenia diody, równego ok. 0.6 V.
Aby bramka nie uległa zniszczeniu, prąd ten nie powinien przekroczyć 20 mA dla
serii 54/74. Jeżeli bramka nie jest wyposażona w diody ograniczające, to próg
wzrostu prądu wejściowego jest zwiększony o napięcie nasycenia tranzystora Tl,
gdyż wtedy wzrost prądu wejściowego jest spowodowany przewodzeniem
pasożytniczej diody między kolektorem tranzystora Tl i podłożem. W zakresie
(b) przy typowej wartości U1 równej ok. 9 V, następuje gwałtowne zwiększenie
prądu l 1 wskutek przebicia złącza emiter- baza tranzystora Tl. Przebicie to
następuje zazwyczaj przy U 1 > 8 V, lecz w zależności od użytej technologii może
również wystąpić przy napięciu mniejszym (6-;- 7 V). W praktyce może to
oznaczać zniszczenie bramki, gdyż prąd przebicia płynący przez tranzystory Tl,
T2, T4 nie jest ograniczony żadnym rezystorem. Dlatego, jeśli zasilacz napięcia
Ucc produkuje duże skoki napięcia podczas włączania lub wyłączania, to przy
łączeniu wejść TTL z napięciem Uce (reprezentującym poziom H) należy
stosować rezystory ograniczające (I -;- 5 k!l).
zwiększa się
Parametry gwarantowane i typowe
Parametry podstawowej bramki NAND, jak też wszystkich innych ukła­
dów scalonych z rodziny TTL, są podawane przez wytwórców w dwóch
zasadniczych kategoriach: jako gwarantowane i typowe. W obu przypadkach
wartości parametrów odnoszą się zawsze do określonych warunków pomiarowych, tj. konkretnego układu pomiarowego oraz wartości odpowiednich
parametrów w tym układzie. Wartości gwarantowane są mierzone zwykle
w warunkach odpowiadających umownemu najgorszemu przypadkowi i określonemu przez zbiór najbardziej niekorzystnych (w dopuszczalnych granicach)
wartości parametrów układu pomiarowego i źródła sygnałów testujących.
Wartości te mogą być minimalne lub maksymalne, zależnie od tego, które
z nich odpowiadają najgorszym w danym przypadku warunkom pracy badanego
układu scalonego. Wartości typowe odnoszą się z reguły do U cc = 5 V i
r. = 2s c.
0
Margines
zakłóceń
W układach TTL z serii standardowej przyjmuje się, że napięcie wyjściowe
w najgorszym przypadku nie może przekroczyć przy poziomie L wartości
UoL mu= 0.4 V i nie może być mniejsze przy poziomie H od wartości
U 011 m;n = 2.4 V (rys. 7.12). Podobnie jako najgorsze napięcia wejściowe przyjmuje się odpowiednio Unm••= 0.8 V i Urn m;n = 2 V. Wynikają stąd gwarantowane wartości marginesów zakłóceń (p.5.3.3):
288
1.2. UKLAOY TTL
MLmln = UILmax- UOLnuu=
0.8-0.4
=
0.4 V
Należy zaznaczyć, że
zgodnie z normą JEC 748- 2 (1985) Digital integratetl
circuits do oznaczania gwarantowanych wartości napięć i prądów zamiast
indeksów max i min stosuje się odpowiednio litery A i B.
W typowych warunkach marginesy te są większe i przyjmuje się, że są one
równe I V.
Inne rodzaje bramek
7 .2.2
Inwertery. bufory i bramki mocy
inwertera y = x, jeśli wszystkie jej
wejścia są połączone razem lub jeśli do sterowania jest wykorzystane tylko
jedno wejście, a pozostałe wejścia są przyłączone do źródła napięcia o poziomie
H. Ponieważ oznacza to marnotrawstwo niepotrzebnych wejść, zostały skonstruowane specjalne układy scalone, zawierające inwertery o schemacie podobnym do pokazanego na rys. 7.3 z tym wyjątkiem, że mają one tylko
jedno wejście. W typowej obudowie 14-końcówkowej znajduje się sześć takich
inwerterów (7404).
Dla zapewnienia Nma,> 10, czyli prądu obciążenia większego od IoLm•"
dwa łub więcej inwerterów (bądż bramek) może być połączonych równoległe,
tzn. można zewrzeć odpowiednie wejścia tak łączonych układów oraz zewrzeć
ich wyjścia.
Do zastosowań nie wymagających inwersji zostały opracowane układy
zwane buforami. Układy takie (np.7407) realizują prostą funkcję y = x, reprezentują od strony wejścia N = I i zapewniają na wyjściu N max= IO.
Bramki logiczne i bufory, które są przystosowane konstrukcyjnie do
sterowania obciążeń większych niż standardowe, tj. N mu > 1O, określa się
jako bramki i bufory mocy . Typowym przykładem jest układ 7440 zawierający
dwie czterowejściowe bramk i NAND. Bramki te mają obciążalność N max= 30,
tj. I OL m.x = 48 mA i I Oli max= - 1.2 mA. Schemat takiej bramki mocy jest
pokazany na rysunku 7. t 4a. Bramki te są także użyteczne do sterowania
obciążenia o dużej składowej pojemnościowej, umożliwiając osiągnięcie mniejszych opóźnień propagacji niż przy stosowaniu bramek standardowych.
Umieszczony wewnątrz symbolu z rys. 7.14b mały trójkącik oznacza
funkcję wzmocnienia. W układach cyfrowych TTL odpowiada to zwiększeniu
obciążalności N max powyżej typowej wartości równej 1O.
Bramka NAN D
289
może spełniać funkcję
1. BUDOWA I CHARAICTERYSTYJCI CYFROWYCH UKt.A00W SCALONYCH
o
. - --.----,r-oUcc
100Jl
••
·- -
"<0 - - - '
b
Rys. 7.U
Bramka mocy 7440
•) xhcm.at, b) t)'mbol t11lf1CU1y
Bramki NAND z
układem
Schmitta (S/ NAND)
W wielu zastosowaniach trzeba przekształcić stosunkowo wolnozmienne sygnały, dostarczane przez różnego rodzaju przetworniki i układy pomiarowe,
w impulsy o odpowiednio stromych zboczach do sterowania układów scalonych
TTL. Przy przesyłaniu informacji cyfrowych między różnymi częściami systemów cyfrowych z reguły jest pożądane zapewnienie możliwie największej
odporności na zakłócenia Warunki te w znacznej mierze są spełnione po
zastosowaniu układu progowego z histerezą, znanego w układach elektronicznych pod nazwą układu Schmitta.
W sta ndardowej serii układów TTL są produkowane m.in. układy 74 ł 3
(zawierające dwie czterowejściowe bramki S/NAND) i 74132 (zawierające cztery
takie bramki). Schemat bramki 7413 jest pokazany na rys. 7.15.
o
Ut<
R,
R,
4~0
.6 R9
kQ
.,
.,
,.,
"'
05
300
06
y
R,
460.Q
Ra
01 02 03 0 4
Rys. 7.15 Bramka NAND
aJ $Checlut. b)
ł)lftbol
290
srafJCmy
R•
1.Skr.ł
J..
i
ukladem Schmina (1/2 741 3)
b
~
7.2.
UKŁADY
TIL
Tranzystor wejściowy Tl działa jako zespół czterodiodowy, gdyż jego
złącze baza- kolektor jest zwarte. Tranzystory Tl i T3 tworzą właściwy układ
Schmitta, tranzystor T4 stanowi stopień pośredniczący, a tranzystory T5, T6 i T7
tworzą układ wyjściowy typowego układu TTL.
Głównymi parametrami wejściowymi układu są napięcia progowe U;
i U:; oraz histereza u.= u; - u:; (rys. 7.16).
4
V
4:c' :5V
I.Io
T0 =•25oC
..:J= ....
3
2
1
Ut
o
0.5
tS
1.0
2.0
lĄ,
u;
u~
V 2. 5
Rys. 7.16
Typowa charakterystyka
przejściowa bramki
S/ NAND o schemacie
z rys. 7. ISa
( U1 oznacza napięcie na
zwartych razem "'ejściach
X1, X2, X3, .t4)
Bramki S/NAND mają bardzo liczne zastosowania. Najpowszechniejsze
jest formowanie impulsów, zwłaszcza przy silnych zakłóceniach (rys. 7.17).
W przypadku, gdy amplituda zakłóceń przekracza ok. 1.2 V (U oH mln - Ui...,= 2.4-1.l = 1.3 V lub Utmin - UoLmu= 1.5 - 0.4 = l.J V), należy na
wejściu bramki zastosować dodatkowo filtr dolnoprzepustowy RC lub bardziej
u,
I
I
I
I.Io
IL.___.J
Rys. 7.17
Zastosowanie bramki
SfNAND do formowania
impulsów v.·ejściowycb
w obecności silnych
zakłóceń
(Ut odnosi si~ do zwart)'ch
W.tt)'lllkicłi we,Pć bramki}
skuteczny filtr LC. Zastosowanie filtru RC (rys. 7.18) jest zasadniczo ograniczone do tych przypadków, gdy źródło impulsów wejściowych ma pomijalnie
małą rezystancję wejściową oraz Uoi ~O V. Wówczas wartość rezystora Rp
można obliczyć jako
291
1. BUDOWA I CHARAXTERYSTYKI CYFROWYCH UKtAOOW SCALONYCH
Rys. 7./8
Zastosowanie dodatkowego filtru
przeciwzakłócen iowego
na wejściu
bramki S/NAND
Użycie
rezystora RF o większej wartości może grozić tym, że w najgorszym przypadku sygnał na wejściu bramki nie będzie mógł zmniejszyć się poniżej
poziomu u:;. (gdyż Urmt• = 0.6 V), co wykl ucza właściwą pracę ukladu. Wartość
CF określa się ze związku
Cp = 1/(2n Rpf~)
J.
gdzie /,jest częstotliwością graniczną ( - 3 dB) filtru. Przy f > charakterystyka
częstotliwościowa filtru opada 6 dB na oktawę. Diody wejściowe dodatkowo
zabezpieczają wejście bramki przed nadmiernymi przepięciami.
Innym typowym zastosowaniem bramki S/NAND jest przemiana napięcia sinusoidalnego na prostokątne (ry. 7.19). Dzielnik rezystorowy R 1 ,
R2 wytwarza (wraz z rezystorem wewnętrznym R , z rys. 7.15a) napięcie
na wejściu bramki równe (Ut+ Uj.)/2. Wartości typowe to R, = 1.8 kfl
i R 2 = 470 kfl, względnie przy R, =oo , R 2 = 1.8 kfl. Pojemność sprzęgająca
powinna spelniać warunek 2nfCR 2 » I, gdzie f jest cz.ęstotliwością sygnału
wejściowego.
Rys. 7.19
Zastosowanie bramki SJNAND
do pr=iany napięcia
sinusoidualncao na
prostokątn e
Bramka S/ NAND może być również wykorzystana do budowy prostego
multiwibratora astabilnego (rys. 7.20a). Przy zwartych czterech wejściach
i wartościach początkowych Uc = U:;. i U 0 = U 08 napięcie Uc wykładniczo
wzrasta i po osiągnięciu Uc = Uj: następuje przełączenie bramki na U 0 = UoL•
po czym napięcie Uc wykładniczo opada. Przy osiągnięciu Uc = u:;. następuje
ponowne przełączenie bramki i proces rozpoczyna się od początku, wytwarzając
ciąg impulsów na wyjściu. Dolączenie dodatkowej diody D i rezystora R'
umożliwia symetryzację przebiegu wyjściowego.
Taki generator impulsów może być latwo kluczowany. W tym celu
wykorzystuje się jedno wejście bramki do sterowania impulsem kluczującym.
Kluczowanie jest synchroniczne na poC7,ątku paczki wyjściowych impulsów
ujemnych, lecz nie jest synchroniczne na jej końcu. Ulepszony uklad generatora
292
7.2.
UKŁADY
TIL
O
R'
r --c:::}--f;;>f-,
Klue20v.un;e
~:
ILO!l R
:
xo--
Y--Lru-uitI
~
(1nF)
x- - r - - - l -
I
I
ł 1.8MHz)
f74132
b
R
390Jl.
Rys. 720
Mulltiwibrator astabilny
a)
tłuczo"''anie
nie. w
pełni
z
bramką
syoch.roniczne.. b)
S/ NAND
kłocz.owan.ie.
w
pełni
synchroniczne
z rys, 7.20b jest kluczowany synchronicznie na początku
impulsów (w tym przykładzie dodatnich),
Układy
z
wyjściami
do
połączeń
końcu
paczki
szynowych 7 .2 .3
W technice cyfrowej szczególną rolę odgrywają połączenia szynowe. Nazwą
szyny określa się wspólny przewód, do którego jest przyłączonych N 0 wyjść
układów cyfrowych i N wejść układów cyfrowych. Celem takiego „zwarciowego"
połąc-.renia wyjść jest najczęściej selektywne przesyłanie danych z jednego wyjścia
(z grupy N 0 wyjść) do odbiornika (lub odbiorników) przyłączonego swymi
wejściami do szyny. Wyjścia przyłączane do szyny nie mogą mieć struktury
opisanej poprzednio (rys. 7.3a), gdyż powodowałoby to przepływ dużych prądów
skrośnych między odmiennie sterowanymi wyjściami i ustalenie na szynie napięć
o nieokreślonych poziomach. Do tego celu stosuje się wyjścia z „otwartym"
kolektorem (w technice MOS z „otwartym" drenem) lub wyjścia trójstanowe.
Wyjścia z otwartym kolektorem zostaną opisane na przykładzie budowy
bramki NAND 7401, pokazanej na rys. 7,21. Na schemacie nie ma, w porównaniu ze schematem podstawowej bramki NAND z rys. 7.3a, tranzystora TJ,
diody DI i rezystora R 3. Zatem przy poziomie H na wyjściu rezystancja
wyjściowa jest określona przez wartość zewnętrznego rezystora R1, , włączanego
między wyjście bramki i źródło napięcia zasilającego Ucc· Rezystor ten jest
niezbędny, aby zapewnić na wyjściu bramki poziom H, gdy tranzystor T4 jest
odcięty. Symbol podkreślonego kwadracika umieszczony przy wyjściu (rys.
7.21b) oznacz.a otwarty kolektor tranzystora npn (lub otwarty dren tranzystora
MOS z kanałem n).
293
1. BUDOWA I CHAAAICTEAYSTYKI CYFAOWVCH UKLAOOW SCALONYCH
o
R,
<kl!
X
X
Rys. 7.ll
Bramie.a NAND z ocwanym
kolekton:m (1/4 7401)
b
a) 1ebcmat.
b) l)'mbot graficzoy
Połączenie dwóch łub więcej wyjść z otwartym kolektorem
realizację funkcji zwarciowej DANO (Distributed AND, ZWARTE I,
oznacza
skr. ZJ).
zdefiniowanej graficznie na rys. 7.22. Przykładowy układ pokazany na rys. 7.23a
realizuje funkcję Negative-OR-AND (NUB I), gdzie funkcja AND jest realizowana jako DAN O. Zgodnie z prawem De Morgana funkcję układu można
również wyrazić jako AND-OR- NOT (rys. 7.23b), gdzie funkcja OR jest
w istocie funkcją zwarciową DOR (Distributed OR, ZWARTE LUB, skr. ZUB).
Zasadniczą zaletą funkcji zwarciowych jest łatwość ich realizacji, zwłaszcza dla
wielu argumentów.
o
TTL
r~
L_
,. ' o
'
olbo
r- r-
b
ot bo
R)'s. 7.11
Symbole graficzne funkcji
DANO
R)'S. 7.21
Realizacja funkcji logicznych
pn:C'Z zwieranie \\'yjść z otwartym kolektorem
•) ukbd l f\lnltcjll DANO, b)
uk._d a f'Unkcją DOR
tÓWl'lowtiny
Rezystancja RL, przyłączana między zwierane WYJSC•a z otwartym
kolektorem i źródło napięcia Ucc• jest wybierana w wyniku kompromisu_
Wartość RL .,,„ jest ograniczona przez napięcie U08 mln = 2.4 V (w najgor-
294
7.2.
UKŁADY
n L
szym przypadku) oraz przez maksymalnie dopuszczalny czas propagacji przy
obciążeniu pojemnościowym i dopuszczalną odporność na zakłócenia, natomiast wartość RL min jest ograniczona przez napięcie UoLmax= 0.4 V (w najgorszym przypadku) oraz dopuszczalną moc strat.
Poziom H (U OH min = 2.4 V)
W ogólnym przypadku może być razem połączonych N wejść bramek oraz N 0
wyjść bramek. Prąd płynący przez rezystor RL może być określony jako
Wartość rezystora RL można obliczyć jako
RLmax = (U ce - Uou m;J / ILm""
Przyjmując Ucc = 5 V, IIHmax= 40 µA przy Ummin = 2.4 V oraz l oumax=
= - 250 µA (dla bramki 7401), otrzymujemy np. przy N= 3 i N 0 = 4 wartość
RLmax = 2321
n.
Poziom L (Uoimax= 0.4 V)
Przyjmując
podobnie jak poprzednio połączone razem N wejść oddzielnych
bramek i N 0 wyjść bramek można stwierdzić, że najgorszy przypadek istnieje
wówczas, gdy tylko jedna z N 0 bramek przyłączonych wyjściem do RL jest
w stanie włączenia, a pozostałe (N0 - l) bramek jest w stanie wyłączenia. Suma
prądów 1L +N l IL m„płynie wówczas tylko przez jeden tranzystor T4, stwarzając
najtrudniejsze warunki do zapewnienia UoLmax= 0.4 V. Wartość RL może być
obliczona ze związku
R
_
Lm.in -
Ucc - UOLm••
foLmax+N/ILmax
Przyjmując Ucc = 5 V, loLmax = 16 mA i J/L max = -1.6 mA otrzymujemy przy N = 3 wartość RLmin = 411 n.
Przy poziomie H na wyjściu ukJadu DANO jego rezystancja wyjściowa
jest równa rezystancji obciążenia RL (czyli jest stosunkowo duża). Dlatego czas
propagacji tn 11 , przy dużej liczbie (N0 + N) i związanym z tym dużym
obciążeniem pojemnościowym układu, jest znacznie większy niż w standardowych układach TIL z dwutranzystorowym układem wyjściowym. Również
odporność na zakłócenia układu DANO jest wtedy (przy U 0 = U 08) odpowiednio gorsza.
Lepsze parametry struktury szynowej zapewnia zastosowanie układów
scalonych TIL z blokadą wyjść, określanych jako układy trójstanowe.
295
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlADOW SCALONYCH
Budowę układu
scalonego z wyjściem trójstanowym przykładowo ilustruje schemat inwertera mocy pokazany na rys. 7.24a. Układ ten jest wyposażony
w dodatkowe wejście blokujące e. Przy e = L tranzystory T7 i T8 nie przewodzą
i inwerter działa normalnie. Natomiast przy e = H tranzystory te są w stanie
nasycenia, co powoduje, że tranzystory 72, T4 i 15 nie przewodzą, niezależnie od
stanu na wejściu x. Jeśli bowiem przyjmiemy, że napięcie na kolektorze T8
wynosi 0.2 V, to na bazie T3 jest 0.9 V. Tranzystor T3 przewodzi, czyli na bazie
T4 jest 0.2 V, co oznacza odcięcie T4. Tranzystor T5 jest odcięty w rezultacie
nieprzewodzenia T2. Wyjście y może być wtedy uważane za odcięte od reszty
układu.
Wyjście trójstanowe oznacza się symbolem trójkącika 'Il (rys. 7.24b).
Wejście zezwolenia (odblokowujące) oznacza się literami EN (Enable).
Zazwyczaj wyjście trójstanowe ma większą obciążalność niż standardowe
N max= IO, czyli jest to wyjście mocy. Na symbolu graficznym oznacza się to
trójkącikiem C>. Na rys. 7.25 przedstawiono symbol graficzny zespołu czterech
trójstanowych inwerterów mocy, zawartych w układzie 74F240. Górny element
rysunku oznacza wspólny blok komrolny, co oznacza, że wejście EN jest
przyłączone równolegle do czterech buforów.
o
Ucc
R1
X
b
·~
X
R,
o
y
y
Rys. 7.25
Symbol graficzny
jednego z dwu zespołów
inY. erterów
1
Rys. 7.24. Inwerter trójstanowy
a) sdieinat, l>} $yml:x>I graliC211y
trójstanowych,
zawartych w układzie
74F240
Układy trójstanowc mogą być łączone wyjściami pod warunkiem takiego
sterowania, że wyjścia nie zablo kowane będą miały takie same poziomy, zgodnie
z odpowiednimi poziomami na wejściach i realizowanymi przez te układy
funkcjami logicznymi. Różne poziomy na połączonych razem wyjściach nie
296
1.2. UKlAOY TTL
o
b
Ucc
Rys. 7.26
Struktury
SZ)'TIO\\te
a) l. 1.1\:ładami o \\')jścłach
z 0 1wartym kolck1orem.
b) z ukladami o wyjściach
tróp.lanowych
zablokowanych są oczywiście n iemożliwe. Nie można jednak łączyć razem takich
wyjść, które w stanie nie zablokowanym mają różne poziomy nawet tylko
przejściowo. W przypadku połączenia takich wyjść płynąłby między nimi
znaczny prąd, ograniczony głównie wartością rezystora R 5 z jednej strony
i wartością progu nasycenia tranzystora T5 z drugiej strony. Dlatego też układy
z wyjściami trójstanowymi są tak projektowane, aby ich czas zablokowania był
krótszy od czasu odblokowania.
Struktury szynowe z wyjściami z ot wartym kolektorem i z wyj ściami
trójstanowymi przedstawiono na rys. 7.26. Symbolem CL oznaczono skupioną
pojemność pasożytniczą, równoważną sumie pojemności pasożytniczych N 0
wyjść, N wejść, połączeń do szyny oraz samej szyny. Stala czasowa <,
która ogranicza szybkość przełączeń z poziomu L na H, jest w technice
trójstanowej znacznie mniejsza. Dlatego wyjścia trójstanowe stosuje się powszechnie w połączeniach szynowych.
Przerzutniki
7.2.4
Przerzutniki TT L są wytwarzane w licznych odmianach. W zależności od
sposobu wyzwalania, można je podzielić na następujące głównie grupy (por.
rys. 4.37):
przerzutniki statyczne SR, np. 74279 (rys. 7.27a),
przerzutniki zatrzaskowe, np. 7475 (rys. 7.27 b),
297
7. BUDOWA I CHAAAKTE.A't'STYICI CYFROWYCH U KŁAOOW SCALONYCH
przerzutniki JK wyzwalane impulsem, op. 74107 (rys. 7.27c),
przerzutniki JK z blokowanymi wejściami informacyjnymi, np. 741 11
(rys. 7.27d),
przerzutniki JK wyzwalane zboczem, np. 74LS113 (rys. 7.27e),
przerzutniki D wyzwalane zboczem, np. 7474 (rys. 7.27f).
Budowa logiczna przerzutników była omówiona w p. 4.2.2.
Symbole graficzne przerzutników według normy IEC różnią się pod
pewnymi względami od symboli tradycyjnie stosowanych. Poza wprowadzeniem
notacji zależnościowej od wejścia C przez odpowiednie numery i wykluczeniem
litery „stanu" Q z symbolu, istotna różn ica dotyczy charakteru wejścia C w przerzutnikach wyzwalanych impulsem (MS). W przerzutnikach tych wprowadzono
na wyjściach znak „ I", oznac-.tający wstrzymanie zmiany poziomu na tak
oznaczonym wyjściu, dopóki sygnał wejściowy inicjujący tę zmianę nic powróci
do poziomu pierwotnego (dopóki sygnał C nie powróci do wewnętrznego stanu
O, bądź wewnętrznego poziomu L). Następuje to przy tylnym zboczu tego
sygnału. Zgodnie z definicją z normy IEC, obecność znaku „ I" oznacza również,
że w czasie trwania sygnału inicjującego zmianę stanu przerzutnika (tzn. gdy ma
on wewnętrzny stan l, bądź wewnętrzny poziom H), żaden z sygnałów
wejściowych związanych funkcjonal nie z sygnałem inicjującym nie może ulegać
o
b
ł7'75
'
7
c
d
l2 7•107
74111
s
IJ
-,
l
4
IJ
Cl
2
1K
,
l
7
6
R
e
Rys. 7.27
Przerzutniki TIL
747•
5
Cl
2
C1
6
aJSR.
b) Ult'UJkOW)' {pit• ).
c) JK. ~•)' im.pulic:"
d) JK z -
donydl.
<l JK ..,,,......, ....,._
Q
298
o..,....c..,_
1.2. UKLAOY Tll
zmianie. Na przykład, dla przerzutnika 74107 (rys. 7.27c) oznacza to, że w czasie
trwania impulsu sterującego C dane na wejściach informacyjnych J, K muszą
pozostać bez zmiany. W poprzednim systemie oznaczeń wejście C było
zaopatrzone w kółeczko, oznaczające, że „zmiana stanu przerzutnika następuje
przy ujemnym zboczu impulsu »zegarowego".
Ponadto, obecność kilku tak samo oznakowanych wejść (np. rys. 7.27a)
oznacza, że wejścia te są związane ze sobą funkcją logiczną OR.
Przerzutniki JK wyzwalane zboczem są zwykle wyzwalane zboczem
ujemnym (opadającym) impulsu sterującego. Przerzutniki D zazwyczaj są
wyzwalane zboczem dodatnim (narastającym).
Do prawidłowej pracy przerzutnika muszą być spełnione określone
warunki. Poza warunkami oczywistymi, takimi jak zapewnienie prawidłowego
napięcia zasilającego i właściwe spr.tęgnięcie pojemnościowe końcówek Uce
i masy, niezbędne jest spełnienie warunków dynamicznych. Są one określane
katalogowo przez podanie:
1)
minimalnych wartości:
- szerokości impulsu sterującego l..cmin•
- szerokości impulsów na wejściach si R: lw$min i lwRmln•
- czasu 14Stalenia (setup time) stabilnych danych na wejściach informacyjnych, mierzonego wstecz od tego zbocza impulsu sterującego,
które powoduje zmianę stanu przerzutnika - 1„mtn•
- czasu podtrzymania (hold time) stabilnych danych na wejściach
informacyjnych, mierzonego w prz6d od tego zbocza impulsu sterują­
cego, które powoduje zmianę stanu przerzutnika - c•min•
2)
maksymalnej wartości częstotliwości impulsów sterujących fe„„·
J
K
Dane
stabilne
C- - . . JI
R----'---+------..1r--Cl------+-'
a------+--.
,_
Rys. 7.28. Parametry dynamicuic związane 1.e zmianą stanu
przemnnih JK wyzwalanego impulsem z rys. 7.27c
299
1, BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOOW SCALONYCH
„
Istotnym parametrem dynamicznym przerzutnika jest czas propagacji t Wartość t, mierzy się w przód od lego zbocza impulsu (sterującego C, ustawiającego
S lub zerującego R), które powoduje zmianę stanu przerzutnika, do wiodących
zboc-t:y generowanych w ten sposób impulsów na wyj ściach. Przy zmianie
poziomu na wyjściu z L na H, opóźnienie to ok reśla się jako t l'Lll• a przy zmianie
poziomu z H na L - jako tn11 (tj. tak samo jak w bramk ach).
Wymienione czasy twe> t„s. 1„R, 1„, 10 i I• mierzy się w odniesieniu do
napięcia progowego, które umownie przyjmuje się jako równe Ur = 1.5 V.
Przedstawiono to na przykładzie pokazanym na rys. 7.28 dla przerzutnika JK
z rys. 7.27c (por. rys. 5.6).
Układy
monostabilne i astabilne
7 .2 .5
W klasie ITL jest wytwarzanych kilka typów scalonych układów monostabilnych, mających bardzo dobre parametry techniczne oraz uniwersalne zastosowania.
Jeden z n.ich (74121) jest pokazany na rys. 7.29. Wyzwalanie jest
stałoprądowe (progowe). tzn. następuje przy określonym poziomie napięcia na
zboczu impulsu wejściowego. Układ ma osobne wejścia do wyzwalania narastającymi lub opadającymi zboczami impulsów, z jednoczesnym zapewnieniem
możliwości bramkowania (zakazu) wejścia, aktualnie użytego do wyzwalania.
Dwa komplementarne wyjścia układu mają standardową obciąża lność
N...,. = 10.
A, ~3'---'>ł
A2 -'''---"'I
8 s
Rys. 7.29
Uklad mo oostabilny 741 21
Wejścia A 1 , A 2 są przeznaczone do wyzwalania układu opadającymi
zboczami impulsów (minimalna szybkość l V/J1s) pod warunkiem, że na wejściu
B jest poziom H. Wejście B jest połączone z układem Schmitta, umożliwiając
stabilne wyzwalanie uniwibratora narastającymi zboczami impulsów o bardzo
wolnym narastaniu (do I V/s), pod warunkiem, że przynajmniej na jednym
z wej ść A 1, A 2 jest poziom L.
Z chwilą wyzwolenia praca układu jest całkowicie niezależna od dalszych
zmian poziomów na wejściach i czas trwania impulsu wyjściowego jest określony
300
1.2.
UKŁADY
nl
tylko przez zewnętrzny obwód RC. Impulsy wejściowe mogą mieć dowolną
długość w stosunku do impulsów wyjściowych.
Omawiany przerzutnik jest przerzutnikiem z niepod1rzymywalr1ym wyzwalaniem (11011-retriggerable). Oznacza to, że ponowne podanie na wejście
układu impulsu wyzwalającego jeszcze w czasie trwania impulsu wyjściowego nie
powoduje zmiany czasu trwania tego impulsu wyjściowego. Przerzutniki lego
rodzaju uzupełnia się na symbolu IEC opisem „1 .Jlv (rys. 7.29). Linie wejściowe
przekreślone krzyżykami oznaczają połączenia nie związane z sygnałami cyfrowymi (podobnie oznacza się linie zasilania i masy, o ile są narysowane).
Czas trwania impulsów wyjściowych przerzutnika 74 121 jest równy
i •. = CR ln2, gdzie C oznacza sumę pojemności wewnętrznej układu (ok. 20 pF)
i pojemności zewnętrznej Cr, przyłączonej między końcówkami 10 i Il. Wartość
R może być określone przez:
rezystor wewnętrzny układu, równy ok. 2 k!l przy zwarciu końcówek
9 i 14 (Ued.
tylko przez rezystor zewnętrzny Rr, zapewniający lepszą stabilność
termiczną (rezystor ten włącza się między końcówkami 11 i 14, przy czym
końcówkę 9 pozostawia się wolną),
przez sumę rezystancji wewnętrznej 2 kQ i zewnętrznej (przy włączeniu
rezystora zewnętrtnego Rr między końcówkami 9 i 14).
Zakres zmiany pojemności C wynosi ok. 20 pF + 1000 µF, a zakres
zmiany rezystancji R wynosi 2+40 kQ, umożliwiaj<1cc generację impulsów
o szerokości od ok. 30 ns (przy wewnętrznych elementach R i C) do 40 s.
Maksymalne wypełnienie okresu powtarzania impulsów wynosi 2/3 przy
R = 2 kQ i wzrasta do 0.9 przy R = 40 kQ. Średnie opóźnienie układu wynosi ok.
40 ns, co ogranicza jego zastosowanie przy większych częstot.liwościach.
Uniwibrator 74121 charakteryzuje się bardzo dobrą stałością szerokości
tw impulsu wyjściowego w zależności od temperatury 7;,. W zakresie O+ 50 °C
współczynnik stałości temperaturowej wynosi +0.0056%/K, co umożliwia
stosowanie tego elementu w układach formowania impulsów o dużej precyzji.
W celu osiągnięcia maksymalnej stałości temperaturowej należy stosować
odpowiednio dobrej jakości elementy zewnętrzne Cr i Rr = R.
Układy pokazane na rysunku 7.30ab umożliwiają generację impulsu
uniwibratora po pewnym opóźnieniu 1, w stosun ku do impulsu wyzwalającego,
pod warunkiem, że impuls wyzwalający jest dłuższy od 14- W układzie z rys. 7.30a,
w którym jest użyta bramka z otwartym kolektorem (7401), wartość opóźnienia
można w przybliżeniu określić jako t 4 = 0.3C 1 R 0 , gdzie R 0 = R, 11 2 k!l. Należy
pamiętać, że R,„ 111 "" 360 Q. W układzie z rys. 7.30b przy R2 = 100 Q można
otrzymać przybliżoną relację t 4 [µs] "" 1.2 C 2 [nF).
Układ z rysunku 7.30b może być wykorzystany, do generacji impulsu
zerującego system przy włączeniu napięcia zasilającego. W tym celu wejścia A,
i A 2 należy uziemić, a R2 połączyć z Uce (bramka 7400 jest zbyteczna). Wartość
301
7. BUDOWA I CHARAKTERYSTYKI C'YFROWYCH
uic:t.A.OOw
SCALONYCH
74121
o
!Jl
ZokozlHlq
L-
c,
R,
Ucc
R1 >360A
I
b
74121
IJ"l
Rys. 7.JO
Pnyklady wyzwalania z
opóźnieniem
opóźnienia 1, należy
uniwibratora 74121
tak dobrać, aby bylo ono znacznie dluższe od czasu
w chwili włączenia.
Specjalną klasę uniwibratorów sca lonych stanowią układy monostabilne z podtrzymywalnym wyzwalaniem (re1riggerable), jak np. 74122 i 74123.
Układy te umożliwiają utrzymanie napięć wyjściowych w stanie quasi-stabilnym przez dowolnie długi czas, jeśli na wejście wyzwalające jest podany
ciąg impulsów o okresie T krótszym od nominalnego czasu t.., s tanu quasi -stabilnego, tj . szerokości impulsu wyjściowego uniwibratora. Większość ukła­
dów jest wyposażona również w wejście zerujące, umożliwiające zak ończenie
impulsu wyjściowego w dowolnej chwili po wyzwoleniu. Symbole graficzne
IEC takich przerzutników opisuje się znakiem „.JL.", jak pokazano na
przykładzie z rys. 7.31a.
Układ z rysunku 7.31 b przedstawia prostą realizację generatora astabilnego. Wartość pojemności C dobiera się w zależności od żądanej symetrii
generowanego przebiegu.
W praktyce, jeśli wymagania odnośnie stabilności i dokladności czasu
trwania impulsów wyjściowych uniwibra tora nic są zbyt duże (I + 10%), często
narastania
302
napięcia zasilającego
7.2.
UICł.AOY
Til
b
a
~74123
'-o
I'
Rys. 7.3 J Uklad monostabilny z podt.rzymywalnym wyzwalaniem 74 123
a) 5ymbol JEC, b) 1..as.tosowan.ie jako
gcoeratOf~
•1t11bilnc10
stosuje się układy monostabilne tworzone z bramek NAND lub przerzutników
scalonych oraz obwodu RC.
W klasie TIL są wytwarzane również scalone układy astabilne. Układ
745124 (rys. 7.32) zawiera dwa generatory o różnorodnych możliwościach.
Częstotliwość przebiegu prostokątnego na wyjściu każdego z nich może być
określona albo przez kondensator zewnętrzny CA.fJMHz) "' 500/ C, [pF]),
albo rezonator kwarcowy w zakresie 50 kHz + 85 MHz, przy czym wypełnienie
przebiegu wynosi 50%. Przy stosowaniu kondensatora c. wartość częstotliwości
może być zmieniana zależnie od wartości napięć na wejściach RNG i FC (rys.
7.32b). Wejście RNG (Ra11ge) służy do określania zakresu regulacji częstotliwości
((O.O l+! )/, przy U R.NG = 1+ 5 V). Wartość częstotliwości w tak określonym
zakresie może być regulowana napięciem regulacyjnym U Fc(Frequency Co11trol).
Ponadto układ jest także wyposażony w wejście zezwolenia EN. Wejście to
umożliwia synchroniczne kluczowanie generatora (praca start-stopowa) w ten
b
1kll
11)k
112 7<512<
lkll
1ki
WeJŚCit
kluczowon10
lkll
Rys. 7.31 Uklad astabilny 74Sl24
• ) symbol .,.rany, b)
303
pr.t)tild tl$łOliOWUi.:I
10k ll
1. BUDOWA I CHAAAKTERYS1YKI CYFROWYCH U KlAOOW SCALONYCH
sposób, że zarówno pierwszy, jak i ostatni impuls w serii generowane przy stanie
wewnętrznym EN = I jest taki sam jak pozostałe. Generator ta ki ma w symbolu
IEC opis „!G !" (rys. 7.32a). Podobnie generator zapewniający tylko synchronizację początku serii miałby oznaczenie „!G", a wyłącznie przy synchronizacji końca
obowiązuje opis „G !". Znak „f'I" oznacza sygnał a nalogowy. Układ ma osobne
końcówki zasilania i masy dla układu oscyla to ra i synchronizatora logicznego,
aby zmniejszyć ich wzajemny wpływ.
Przy stosowaniu kondensatora exwspółczynnik stałości temperaturowej
układ u wynosi ok. 0,005%/K, a współczynnik stałości względem zmian napięcia
zasilania Ucc wynosi ok. 0,4%/V.
W praktyce układ ten stosuje się zazwyczaj z kondensatorem c„
wykorzystując możliwości regulacji częstotliwości. Przy stosowaniu rezonatorów kwarcowych stosuje się prostsze układy z bra mkami NAND.
Ulepszone serie
układ ów
7.2.6
TIL
O prócz serii standardowej 54/74 istnieją serie H, L, S, LS, AS, ALS i F. Dwie
pierwsze są całkowicie przestarzałe i dlatego nie są stosowane we współczesnym
sprzęcie. Zasadnicze właściwości bramek podstawowych z pozostałych serii są
pokazane na rys. 7.33 i 7.34, na których dla porównania umieszczono również
da ne „ko nkurencyj nych" układów CMOS, HC i AC (patrz także rys. 5.3). Jak
widać na rys. 7.34, serie AS, ALS i F znajd ują się najbliżej ideału (środka
współrzędnych).
~
c
2
„uo
„o•
•,
"'
•O
Ga As
ti,..
-•
AS
s
o
'&
.!,
o
„o
N
a:
F
LS
ALS
CMOS
0.1
1100001
11200 l
ECL
12001
112SI
11501 TTL
ł3Jl
ISO ! AC
ISO!
llSOI
I' I
10
100
1000
Czfs łotliwośG procy ł MH z I
10000
Rys. 7.33. Zakres CZ\1Sto11iwaści pracy ukladów TTL z różnych serii
304
7.2. UKLAOY TIL
I
TTLslondord
• (196q
10
LS
• 119751
„ •'HC
.= 8 Hl980
=fr
o
o
"'
a.
o
li 6
„
ALS
·;:
•119&1 1
·"'·gc 4 \c( 19ss1
•N
F
o
s
• 11980)
• 0975)
I
2
.AS
11981)
o
o
I
2
4
'
6
•
8
I
10
12
14
16
Moc stroi lmW)
Rys. 1.34. Op6tnienie propagacji i moc strat
Serie Si LS
•
18
układów
20
1TL z
'
22
różnych
serii
7.2.6 .1
Nowe i ulepszone jakościowo odmiany układów scalonych ITL zostały opracowane w wyniku zastosowania diod Schot1ky'ego jako sprzężeń zwrotnych mię­
dzy kolektorem a bazą w tranzystorach bipolarnych npn. Struktura takiego tranzystora Schottky"ego (rys. 6.19) uniemożliwia osiągnięcie stanu głębokiego nasycenia. Można zatem uzyskać znacznie szybsze przełączenie tranzystora ze stanu
przewodzenia do stanu odcięcia w wyniku braku efektu przeciągania (p. 6.3.2).
Schemat podstawowej bramki 74SOO jest przedstawiony na rys. 7.35a.
Wszystkie tranzystory (z wyjątkiem TI) są tranzystorami Schottky'ego. Rozmiary tranzystorów są w przybliżeniu dwukrotnie mniejsze niż w układach
ITL z serii standardowej. Wpływa to na zmniejszenie szkodliwych efektów
pasożytniczych i umożliwia uzyskanie bardzo krótkiego czasu propagacji (3 ns).
Tranzystor T5 jest połączony z tranzystorem T3 w układzie Darlingtona
(podobnie jak w bramce mocy z rys. 7. I4a). Zapewnia to większą szybkość
działania i mniejszą impedancję wyjściową.
Tranzystor 'ro wraz z rezystorami R, i R6 tworzą układ służący
do korekcji charakterystyki przejściowej (rys. 7.35b), aby stała się o na zbliżona
do idealnej, czyli bardziej prostokątna niż charakterystyka bramki z serii
305
7, BUDOWA I CHARAKTEflYSTYKI CYFROWYCH UKŁADÓW SCALONYCH
o
b
Ucc
R,
2.skn
5
R2
R,
go on
TS
son
I
74soo
u.
V
Ucc = sv
N = IO V
T0 = 25°C
T3
-
T1
3
R,
y
3.Sk.!l
T4
• ' o--.----'
01
R,
R•
soon
250.!l
2
1
u,
02
o
2
3
V 4
Rys. 7.35. Bramka NAND 74SOO
41) Khem;it, 1:>) typ<>wa cliitraklety$1)'ka pncjSciowa
standardowej (rys. 7.10). Ten układ korektora charakterystyki (squaring network)
jest typowy dla wszystkich bramek z diodami Schottky'ego. Przy zmianie
napięcia U 8 na bazie tranzystora T2 z poziomu L na H tranzystor T2 nie
przewodzi aż do osiągnięcia progu U8 = 2 UBE· Dopiero przy U8 > 2 UBE
zaczyna przewodzić T2 i następuje zmniejszanie się napięcia na jego kolektorze.
Napięcie to przenosi się przez T5 i T3 na wyjście, a jednocześnie zaczyna
przewodzić T4. Korektor działa również korzystnie na przełączanie tranzystora
T4 i ogranicza wartość przejściowych impulsów prądu zasilania, pobieranych
przez bramkę podczas przełączania.
W układach z serii S gwarantowana wartość U oLmax jest zwiększona
o O.I V w stosunku do układów z pozostałych serii i wynosi 0.5 V. Odpowiada to
zmniejszeniu marginesu zakłóceń M Lm;n' który w tej serii wynosi 0.3 V.
Diody ograniczające, wprowadzone na wejścia układów z serii S (D1 i D2
na rys. 7.35a), są również diodami Schottky'ego. Mniejsze napięcie przewodzenia
tych diod zapewnia lepsze zabezpieczenie przed ujemnymi przepięciami na
wejściach niż przy zastosowaniu diod złączonych, w konwencjonalnych ukła­
dach TTL. Ponieważ charakterystyka wejściowa układu z serii S stanowi przy
U1 < Olepsze przybliżenie "idealnego" zakończenia typowej linii transmisyjnej,
przy typowych impedancjach charakterystycznych linii (ok. 100 O), zwykle nie
wymaga się wprowadzania dodatkowych rezystorów dopasowujących.
Układam.i umożliwiającymi w znacznej mierze osiągnięcie zarówno malej
mocy strat, jak i dużej szybkości działania są układy z serii LS (Low-power
Schottky). W praktyce zastąpiły one niemal całkowicie układy z serii standardowej. Moc strat pojedynczej bramki LS wynosi ok. 2 mW, czyli 5-krotnie mniej
306
7.2. UKt.A.OY TTL
o
@]
Rz
7.6k
R,
r 2. --~110.12
R,
b
.
18kló'I
~1 25°C
03
~·
4
x,
V
04
.,
Dl
'----+-----ł'
T4
-ss•c
'
R,
SkQ
'
\\
Lb
3
o--l--+--1<4--<i>----ł T1
54LSOO
Ucc•SV
• 2S•C
2
02
o
u,
0.5
1.0
15
2.0
V 2.5
Rys. 7.36. Bramka NAND 74LSOO
•) 5<:bcm.at. b) typowa cb:ataku:t)'ilykil prujściowil
niż w serii standardowej, a maksymalna częstotliwość zega rowa przerzutników
jest równa 33 MHz.
Schemat podstawowej bramki 74LSOO firmy Motorola jest pokazany
na rys. 7.36a. Wejściowy układ AND jest zrealizowany jako diodowy, podobnie
jak w bramkach DTL (p. 7.1). Przy zastosowaniu diod Schottky'ego jest
to układ szybszy niż klasyczna struktura wieloemiterowa, stosowana w serii
standardowej. Ponadto zaletą układu diodowego jest większe dopuszczalne
napięcie wejściowe (równe co najmniej 7 V), gdyż typowe napięcie prubicia
diod wejściowych wynosi 15 V. Wadą tej konfiguracj i jest natomiast obniżona
wartość napięcia progowego, które wynosi Ur = 2U 86 - U os = 1.4-0.3 =
= I.I V (Uos jest progowym napięciem przewodzenia diody Schottky'ego).
Pozostała część układu bramki jest podobna do układu 74SOO z rys. 7.35a,
ale wartości rezystorów są odpowiednio zwiększone i rezystor R 6 jest połączony
nie z masą, lecz z wyjściem . W wyniku tej modyfikacji, przy bardzo małym
obciążeniu otrzymuje się zwiększoną wartość napięcia UoH = 4.4 V przy
T. = 25°C (rys. 7.36b). N apięcie to jest wtedy w przybliżeniu równe napięciu
Ucc pomniejszonemu o wartość napięcia U 80 tranzystora T2. W typowych
warunkach prąd wejściowy I 111 jest równy ok. I µA, co przy N = I O daje
obciążenie prądowe wyjścia bramki równe zaledwie I O µA . Przy większym
prądzie obciążenia napięcie wyjściowe jednak szybko spada i przebieg charakterystyki wyjściowej, pokazanej na rys. 7.37a, staje się zbliżony do analogicznej charakterystyki układów z serii standardowej (rys. 7.9). Maksymalna
wartość prądu wejściowego na poziomie H wynosi I mmax = 20 µA , a na
poziomie L I ILmox = -0.4 mA. Wynika stąd, że wyjście układu z serii stan-
307
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKLAOOW SCALONYCH
o
b
4.5
V
u,.
I
Ucc' =- 5.0 y
o .1s~-~--~-~-­
v Uot
L.O
~
3.0
UoL11111lJ-( •0.Sl----1'==~
1~25<11C
"~·c
55°C
~
''
1D
~
c_
1
o
0
10
20
30
IOM
mA 40
Rys. 7.37. Charakterystyki wyjiciowc bramki 74LSOO
a) n.a poziomie H. b) Ba poziomie l.
dardowej zapewnia obciążalność N max = 40 w odniesieniu do wejść układów
z serii LS. Układy w obrębie serii LS 74 zapewniają N max = 20.
Dioda D6 służy do przyspieszenia rozładowania pojemności obciążenia
przy zmianie poziomu na wyjściu z H na L. Dioda D5 służy do przyspieszenia
odcięcia tranzystora T2 podczas przełączania.
Podobnie jak układy z serii S, układy z serii LS mają nieco pogorszony
margines zakłóceń ML = 0.3 V, gdyż gwarantowane napięcie U 01,m„=
= 0.5 V (przy l 0 L = 8 mA) jest o 0.1 V wyższe niż w serii standardowej.
W celu podwyższenia napięcia progowego Ur na wejściach niektórych
układów MSl z diodami Scbottky'ego jest stosowana sieć diodowa, pokazana na
rys. 7.38a. Ponieważ przy U1 = Ur diody DJ i D4 jednocześnie przewodzą i ich
napięcia przewodzenia wzajemnie się kompensują, napięcie progowe jest równe
Ur""' 2 UBE::::< 1.4 V. Dioda D3 służy do przyspieszenia zmiany napięcia na bazie
tranzystora Tl z poziomu H na L,jeżeli taka sama zmiana na wejściu jest szybsza
(jeśli tak nie jest, to dioda D2 pozostaje odcięta).
Aby ograniczyć wartość prądu l m zamiast diody D4 jest stosowany
również tranzystor p11p (rys. 7.38b), który działa jako wtórnik emiterowy przy
U1 ~Ur""'2U 88 ::::< 1.4 V. Aby skompensować napięcie U8E tranzystora pnp,
dioda DJ jest wykonywana jako zwykła dioda złączowa. Tranzystor ten jest
zazwyczaj wykonywany jako podłożowy, tj. jego kolektor jest utworzony
w warstwie podłożowej p, baza w warstwie epitaksjalnej n i emiter w „normalnej"
warstwie bazowej p. Wadą tej struktury w klasycznej technologii z izolacją
złączową jest niewielka szybkość działania i mały współczynnik wzmocnienia
prądowego.
308
7.2. UKł.AOY TIL
Na wejściach są stosowane także konfiguracje z tranzystorami npn. Na
rys. 7.38c przedstawiono budowę takiego układu wejściowego, w którym wartość
prądu IE""' (Ucs - U sE)/R 2 i wartość rezystancji R3 są tak dobrane, aby przy
U1 = U n napięcie w punkcie B było mniejsze od 2 U 8 r i powodowało odcięcie
tranzystorów 13 i T4. Dioda D2, która tworzy wraz z TJ tranzystor Schottky'ego,
przewodzi tylko przy U 1 > Uce· Zaletami rozwiązania z tranzystorami 11p11 na
wejściach jest mały prąd wejściowy (rzędu l µA) i prostota wykonania
tranzystora npn.
Niektóre układy scalone TTL MSI i LSI są wykonywane „wewnątrz"
przy użyciu innej szybkiej techniki, np. ECL, i układami TTL są tylko
końcówkowo. Na wejściach i wyjściach wtedy stosuje się odpowiednie konwertery. Przykłady takich konwerterów wejściowych są pokazane na rys. 7.38d,e.
a
Uct
R,
D4
c
Uec
03
R,
DJ
D1
Dl
R,
R,
D2
u_,
T2
R2
b
Ucc
R,
R2
03
d
L\;(
DJ
02
R,
R1
T2
T1
u•' 2u,,,. Uos
01
e
Ucc
R,
R,
R3
FI,
Rys. 7.38
Konfigur.icjc wejściowe
układów TfL z diodami
Schottky'ego
a) siei: d iod~wa.
b) zasrooowanic tranzystora fn'IP,
c) zastosowanie. tranzystora npn,
d, e) konwettery lTL/ECL
309
DJ
04
T3
Rs
DS
D&
7, BUDOWA I C HARAK.TERYSTYK.1 CYFROWYCH UKt.A00W SCAi.ONYCH
Pierwszy z nich jest modyfikacją układu z rys., 7.38c, drugi po typowym wejściu
diodowym zawiera parę tranzystorów o sprzężeniu emiterowym, która wytwarza
komplementarne sygnały wyjściowe. U kład ten stosuje się również w układach
TIL bez diod Schottky'ego.
Serie ALS, F i AS
7.2.6.2
Układy TTL z serii ALS, F i AS są wynikiem dalszych ulepszeń technołogiC-L·
nych, mających na celu zwiększenie szybkości działania przy jak najmniejszej
mocy strat (tabl. 7.1, rys. 5.3). Ulepszenia technologiczne polegają głównie na
zmniejszeniu geometrii tranzystorów, zastosowaniu bocznej izolacji tlenkowej
zamiast złączowej oraz użyciu implantacji jonów do precyzyjnego domiesz·
ko wania.
Bramka N AND z serii ALS (Advanced Low-power Schottky) pokazana na
rys. 7.39a, wyróżnia się naj lepszym współczynnikiem dobroci (D = 5) spośród
wszystkich serii układów TTL. Porównując ją z bramką z serii LS (rys. 7.36a)
można zauważyć następuj ące modyfikacje:
zastosowanie na wejściu tranzystora pnp (w podobny sposób jak na
rys. 7.38b, lecz z użyciem szybkiego wtórnika emiterowego T3 zamiast
diody DJ),
ok. dwukrotnie większe wartości rezystorów R 1 i R 2 ,
dodatkowa dioda ograniczająca D7 na wyjściu, wprowadzona w celu
ułatwienia współpracy z nie dopasowanymi liniami połączeniowymi.
W wyniku tych zmian układowych oraz nowej technologii osiągnięta została
dwukrotnie mniejsza moc strat (1 mW) i dwukrotnie krótszy czas propagacji (5 ns).
Bramka NAND z serii F (FAST - szybka), pokazana na rys. 7.39b,
zawiera na wejściach diody złączowe (Dl, D2) zamiast tranzystorów pnp
(użytych w bramce ALS). Nie zastosowano w tej bramce diod Schottky'ego
aby zw.iększyć napięcie progowe Ur· Wynosi ono w przybliżeniu 2 U 8 8 ,
podobnie jak w bramce ALS. Diody Dl , D2 są utworzone przez złącza
baza- kolektor. Dlatego napięcie przebicia jest większe (min. 7 V) niż w klasycznej
strukturze tranzystora wieloemiterowego (gdzie napięcie przebicia złączy emiter- baza może być bliskie 5 V).
Układ diodowcrtranzystorowy D9+ D1 J, 17 został wprowadzony w bram·
ce F w celu przyspieszenia przełączenia na wyjściu z poziomu L na H.
Taka zmiana napięcia na emiterze tranzystora T5 przenosi się przez diodę
pojemnościową D9 na bazę tranzystora T 7, powodując jego chwilowe prze·
wodzenie. Umożliwia to radykalne zmniejszenie efektu Millera związanego
z tranzystorem T3, czyli szybkie rozładowanie pojemności pasożytniczej kolektor-baza tego tranzystora. Wynikiem tego jest skrócenie czasu narastania
sygnału wyjściowego. Opisany układ jest nazywany eliminatorem efektu Millera
(Mil/er killer).
310
7.2. UKŁADY n L
a
u,,
IALSI
R,
R,
40kll
R•
15kll
35 ll
TS
x,
03
01
T7
os
R,
5 kll
y
04
.,
06
07
T4
T2
T8
R,
R,
2.Skll
6kn
02
Ro
20kll
.L
b
Uoc
ID
10kSl
10kSl
45ll
4.1 kll
Dl
x,
TS
T1
05
.,
[)6
03
07
02
08
04
T6
S k!l
y
09
T2
T3
1skn
R ys. 7.39
Bramki NAND
z. ulepszonych serii TTL
a) seria ALS. b) seria F
2k!l
3kll
0 11
D10
D12
.L
Typowe charakterystyki bramek z serii ALS i F są pokazane na rys. 7.40,
na którym dla porównania podano również charakterystyki bramek LS. Postęp
technologiczny, związany ze zmniejszaniem geometrii tranzystorów w kolejnych
seriach S, LS, ALS i F, przedstawiono na rys. 7.41.
311
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKł.ADOW SCAt.ONYCH
a
b
5
V
o
lice : SV
Uo
Ta; 25°C
µA
4
r,
I
OL~
·100
3
L
AL
·200
F
2
·300
...- v
L...--
i--
v
~
!...--L-
i.-
- r!...--
Ucc= SV
1
o
T0 =25°C
- 400
Ur
0.5
tO
1.5
2.0
U1
V 2.5
c
O 0.2 0.4 0.6 0.8 1.0 1.2 1.4
V 1.8 2.0
d
1.01~-----~--~
V
Uo,
ALSOO
3.0 Hl--~+->.---.------1
LSOO
V
Io"
0'---'-
' - - - -.'10""0--'-m-A_,450
Ioo.
OO
20
40
mA 60
Rys. 7.40. Charakterystyki końcówkowe układów z ulepszonych serii TTL
a) charat 1erys1yki pr-.i:ejśclo"'<=· b) charakcerystyki -.---ejkiowt, c) charat 1erys1yki 111·yj5c:iowe na poziomie H.
d) charaJcttr)'llyki wr.jkio"'"'C na poziomie L
Najszybszymi i najbardziej złożonymi układami w klasie TTL są układy
z serii AS (Advanced Schottky). Ich zasadnicze parametry (t• = 1.7 ns, P = 8 mW)
oraz typowy margines zakłóceń (I V) są lepsze niż w konkurencyjnych układach
ECL IOK. Podstawowa bramka NAN D z serii AS (rys. 7.42) jest jednak bardziej
skomplikowana niż klasyczna bramka z serii standardowej (rys. 7.3a), zawiera
bowiem po 11 tranzystorów, diod i rezystorów.
Układ wejściowy bramki AS jest podobny do zastosowanego w bramce
ALS (rys. 7.39a), lecz kolektor tranzystora T3 jest połączony przez diodę D5
z emiterem tranzystora T5, zamiast przez rezystor R 3 do Uce· Wejściowe diody
ograniczające Dl, D2 są wykonane jako tranzystory, aby zabezpieczyć wejścia
także przed dodatnimi przepięciami (np. elektrostatycznymi). Wówczas bowiem
złącza baza- kolektor tych tranzystorów pracują w trybie przebicia, skutecznie
odprowadzając ładunek z wejść do masy. Zamiast diody D6 z rys. 7.39a
312
7.2. UKLA.OY n L
Kolektor C
c
c
Emiter E
E
E
B
B
DS
(is
DS
Dioda
Schottkyf!9o
:r:•
I zolacja
ztqczo~
c -:- ~
--r--·
n--.-1--n
p•
s
Csoptonor n
Jsoplonor
ALS
LS
F
R ys. 7.41. Zmniejszenie geometrii tra nzystorów Schottky'ego w kolejnych seriach: S, LS,
ALS i F
Ucc
R,
R,
Rz
tOkn
2kn
Rn
SOkn
28.Q
TS
R
T3
TB
tkn
DS
06
08
no
Rs
Rio
09
30kSI
2kll
y
D10
T4
0 11
Tli
R,
04
1 kll
x,o-- -__.,._ _,
R,
07
2kR
T2
T9
T7
02
R9
1oon
Re
25kll
.i
R ys. 7.42. Schemat bramki NAND z serii AS
zastosowano tranzystor 115, który może być łatwo kluczowany w przypadku
wyjść trójstanowych. Układ T8, DB, D9, R6, R7 stanowi dodatkowy stabilizator
najniższego napięcia wyjściowego, który przy ujemnym napięciu na wyjściu
313
7, BUDOWA I CHARAKTER YSTYKI CYFROWYCH U Kt.AOOW SCALONYCH
dostarcza dodatkowy prąd z emitera tranzystora no, odciążając diodę DI I.
Eliminator efektu Millera (T9, D7, R 8 , R 9 ) jest podobny do układu w bramce
FAST, a korektor charakterystyki przejściowej (17, R 3, R 4)jest analogiczny do
stosowanych we wszystkich bramkach Schottky'ego.
Do wytwanania układów z serii A LS i AS w firmie Texas Instruments są
stosowane dwie technologie (rys. 7.43). W nowszej technologii IMPACT
(rys. 7.43b) wprowadzono dodatkową izolację tlenkową obszaru emitera oraz
zmniejszono rozmiary struktury.
Jak widać z.e schematów z rys. 7.40 i 7.42, układy bramek z ulepszonych serii
TTL są bardziej złożone niż układy z serii standardowej, lecz w wyniku
zastosowania nowoczesnych technologii (zmniejszonych wymiarów tranzystorów)
zajmują one w przybliżeniu tę samą powierzchnię na kostce krzemowej. Ponadto,
w układach TTL SSI i MSI koszt kostki krzemowej z układem scalonym jest
zazwyczaj porównywalny łub mniejszy od kosztów związanych z obudowaniem
(połączenia do końcówek zewnętrznych, obudowa) i testowaniem układu.
W układach LSI z serii ulepszonych są stosowane wewnątrz inne
struktury bramkowe niż pokazane na rys. 7.40 i 7.42. Ponieważ wewnątrz układu
na kostce nie ma potrzeby sterowania takich obciążeń jak na wyjściu układu ani
nie są potrzebne takie marginesy zakłóceń jak na wejściach , zasadniczym
wymaganiem jest obniżenie mocy strat i zwiększenie szybkości działania (p. 7.6).
Na przykład bramki „wewnętrzne" w układach LSI z serii FAST charakteryzują
się czasem propagacji ok. l ns i mocą strat ok. I mW.
a
b
aozo
Kolektor
SIO,
p
p
R ys. 7.4J. Struktury tranzystorów Schottky'cgo stooowanc w układach ALS
J
i AS firmy
Ttxa.r lrutrumt.nts
a) konwmc)ona...1 tturySlot z
UKŁADY
ECL
boczn:1J
UiołacM
lknkOWl. bł lhllZJ'Słot W)1'.0G-p--uy w ltdudop1 IMPACT
7.3
Klasa układów EC L (Emitter-Coupled Log ie), określane są w polskim nazewnictwie jako układy o sprzężeniu emiterowym. Ich najważoiejszymi cechami są bardzo
duża szybkość działania, różnicowy tryb pracy, mały poziom generowanych
zakłóceń i dość wysoki koszt. Typowe czasy propagacji układów ECL wynoszą
314
1.3. UKlAOY l Cl
0.2+2 ns, a ich maksymalna częstotliwość pracy zawiera się w zakresie
125 MHz +S.5 G Hz.
Pierwsze scalone układy ECL zostały opracowane przez firmę M otoro/a
w 1962 roku (rodzina MECL I) i miały typowy czas propagacji równy
8 ns oraz maksymalną częstotliwość zegarową równą 30 MH z. W roku
1966 pojawiła się rodzina M ECL li (4 ns, 70 MHz), a w roku 1968 rodzjna
MECL III (I ns, 500 MHz).
W roku 1971 wprowadzono ekonomiczną rodzinę MECL 10000 (2 ns,
150 MHz), oznaczaną skrótowo jako !OK (tabl. 7.2). Układy z tej rodziny
opracowano również pod kątem minima lizacji mocy strat. W podstawowych
Tablica 7.2
lAsA.oNJCZE PARAM B1'RY V K LADÓW SCALONYC H ECL
-~·
Parametr
Opóźnienie
IOK
lOH
lOOK
2
0.15
I.O
IOE
IOOE
JOEL
IOOEL
0.25
0.23
Czas trwania zbocza (typ). (ns)
3.5
Częstotliwość zegaro wa / -
150
I
1.5
330
25
25
40
0.36
0.4
1400
25
35
35
SO
35
83
53
53
25
68
53
28
9
101
18
pro pagacji 1, (typ), (ns)
(typ), (MHz)
Moc strat na bramkę P (typ), (mW)
Całkowita moc strat na bramkę przy zasto·
sowaniu rezystora obciągającego 2 kO (typ),
(mW)
Całkowita moc s trat na bramkę przy za.
stosowaniu dopaso~· anej linii son (typ>.
(mW)
Współezynnik do b1oci r, · P (typ), (pJ)
Maksymalny prąd wyjściowy, (mA)
Obciążalność staloprądowa
Pojemność wejściowa
Rezystancja
C, (typ). (pF)
wyjści owa
Najdłuższe połączenie
N_ ,
R0 (typ). (O)
niedopasowane, (cm)
50
50
92
2.9
550
2800
73
50
2.8
1.5
7
IS
6
4
2
I
bramkach wynosi ona 25 mW (bez obciążenia). W rok u 1981 została opracowana
szybsza rodzi na IOH (1 ns, 330 MHz) o tej samej, małej mocy strat. Rodzina IOH
praktycznie zastąpiła rodzinę MECL Il i i umożliwiła znaczne zwiększenie
szybkości działania systemów wykorzystujących poprzednio rodzinę lOK, przy
tej samej mocy strat.
Przy stosowaniu układów z rodziny !OK wymaga się dobrej stabilizacji
napięcia zasilającego, ze względu na du7.ą wrażliwość napięcia wyj ściowego Uot
(a tym samym marginesu zakłóceń) na zmia ny tego napięcia. Układy z ulepszonej
rodziny lOH mają nową konstrukcję z kompe11sacją 11apięefową (pierwotnie
wprowadzoną przez firmę Fairchild w rodzinie FlOK), czego wynikiem jest
znaczne zmniejszenie wpływu zmian napięcia zasilającego.
Nowatorska konstrukcja szybkich układów ECL z kompensacją napięcio·
wą i remperaturowq została wprowadzo na w roku 1973 (3, 4] przez firmę
315
7. BUOOWA I CHARAKTERYSTYKI CYFROWYCH U KlAOOW SCALONYCH
Fairchild w rodzinie FIOOK, obecnie wytwarzanej przez firmę National, a także
- w rodzinie IOOK - przez firmy Philips i Motorola. Układy Le wyróżniają się
bardzo dobrą stabilnością charakterystyk przejściowych i napięcia progowego
bramki nie tylko przy zmianach napięcia zasilającego, ale także w szerokim
zakresie temperatury otoczenia. W rezultacie otrzymuje się większe i stabilne
wartości marginesu zakłóceń. Więcej informacji na ten temat podano w (i].
Uk.Jady z rodziny IOK są wyko nywane z użyciem klasycznej technologii
z izolacją złączową. Gęstość scalenia układów z serii !OK wynosi typowo ok. 10
bramek/mm 2 , przy częstotliwości granicznej fr tranzystorów równej typowo
1.5 GHz (dane firmy Philips). Układy z nowszych rodzin IOH i IOOK są
wyt warzane z użyciem technologii z boczną izolacją tlenkową. Technologia firmy
Fairchild nosi nazwę ISOPLANAR 11, firma Motorola stosuje technologię
o nazwie MOSA IC (Motorola Oxide Self Aligned Implanted Circuits), fima Philips
technologię SUBI LO (SUBnanosecond Isolation by Lateral Oxidatfon). Na
rysunku 7.44 zilustrowano różnice geometrii i parametrów tranzystorów stoso·
MECL 10 H
MECL 10 1<
E
n rn n rrn n
"'
LJ
I
:-
I ,,
I '
I I . I
••
lJ lJ'
~.~J L.J
'I
I O
I
LJ
I
I
I.
Emitor 3 )Jm • 8 )Jm
Powi• r zchnio 592 ym2
t 1 • 3. ~ GHz
Cc 1 • 0 .16 pF
Cu • 0.07 pF
Ces• 0. 18 pF
Emitor 4 ym • 20 l'm
Powi4rJchnio 4323 }'mi
·'
r, = t.6 GHz
C0 1
= 0.46 pF
c„•
Ces „
0.1& pf
0.83 pF
Rys. 1.44. Różn ice geometrii i parametró w tranzystorów stosowanych
w
układach
l!CL z rodzin IOK i IOH fi rmy M ororolt1
wanych w układach z rodzin I OK i JOH firmy Motorola. Częstotliwość graniczna
fr tranzystorów w układach z rodziny IO H wynosi typowo 3.5 GH z, a w układach
z rodziny IOOK oko lo 5 GHz, przy czym gęstość scalenia wynosi ok. 20
bramek/mm 2 (Philips).
W ro ku ł988 firma Motorola wprowadzila bardzo szybkie układy ECL
w rodzinie ECLinPS (ECL i11 picoseconds). Uk lady te osiągają czas propagacji
bramek równy 250 psi częstotliwość zegarową przerzutników sięgającą ł .4 GHz
(tabl. 7.2). Układy ECLinPS są wytwarzane w seriach IOE (z kompensacją
napięciową) i łOOE (z kompensacją napięciowo-termiczną), kompa tybilnych
z seriami odpowiednio IOH i JOOK. Układy z tych serii mają identyczne
316
1.3. UKŁADY ECL
parametry dynamiczne, a rozmą się odpornością na wpływ temperatury,
dopuszczalnym zakresem napięcia zasilającego i minimalnie parametrami
statycznymi (amplitudą logiczną). Ponadto w odmianie !OOLVEjest wytwarzana
niewielka grupa układów o obniżonym napięciu zasilania ( - 3.3 V). Układy
z serii E są umieszczane w małych obudowach PLCC o 28 końcówkach,
zapewniających mniejsze opóźnienia i elementy pasożytnicze niż tradycyjne
obudowy DI P.
Najnowsze i najszybsze układy ECL wprowadziła firma M ocorola
w rodzinie ECLinPS LITE, wytwarzanej w technologii MOSAIC II I. Rodzina ta
zawiera proste układy cyfrowe (np. pojedyncze bramki OR/NOR, pojedyncze
przerzutniki D i JK, pojedyncze odbiorniki do linii transmisyjnej), umieszczone
w miniaturowych, 8-końcówkowych obudowach SOIC. Dzięki bardzo małym
.wymiarom obudowy i nowym projektom (o zwiększonej mocy strat w przeliczeniu na bramkę) uzyskano znacznie większą szybkość działania (tabl. 7.2).
Rodzina ta zawiera następujące serie:
IOEL (kompensowane napięciowa) i lOOEL (kompensowane aapięcio­
wo-tennicznie), kompatybilne z układami z serii odpowiednio IOH
i IOOK, o identycznych parametrach dynamicznych,
JOELTi IOOELT, obejmującej translatory ECL{TTL i TTL/ ECL w róż­
nych standardach,
IOOLVEL o obniżonym napięciu zasilania (-3.3 V).
Zgodność łączeniowa układów EC L z różnych rodzin jest bardzo dobra.
Przy łączeniu układów niekompensowanych (!OK) z układami kompensowanymi napięciowa ( IOH) lub napięciowa-termicznie ( IOOK) może jednak wystąpić
pogorszenie marginesu zakłóceń, zwłaszcza przy różnych temperaturach i napię­
ciach zasilających tych układów.
Oprócz podanych już rodzin uniwersalnych układów scalonych ECL
niektóre firmy wytwarzają specjalizowane układy ECL do określonych zastosowań. Jedną z nich jest firma Plessey, która wytwarza szereg bardzo szybkich
układów ECL do zastosowań telekomunikacyjnych. Są to m.in. różne cyfrowe
syntezery częstotliwości o maksymalnej częstotliwości sięgającej 2.7 GHz
i dzielniki częstotliwości o współczynnikach podziału od 2 do 32 i maksymalnej
częstotliwości pracy sięgającej 5.5 G Hz.
Do wytwarzania bardzo szybkich, specjalizowanych układów ECL
o bardzo wielkiej skali integracji (VLSI) stosuje się bardzo zaawansowane
technologie. Na przykład, technologia USICOS o rozdzielczości 0.3 µm,
opracowana w firmie H icachi, umożliwiła wytworzenie tranzystorów scalonych
o częstotliwości granicznej 50 GHz i osiągnięcie opóźnienia bramki ECL
równego zaledwie 27 ps [5]. Stosuje się również istotne ulepszenia uk ladowe [6].
Jednym z popularnych zastosowań układów ECL w szybkich systemach
cyfrowych jest r ozprowadzanie syg11alów zegarowych. Zagadnienie to jest omówione w p. 7.3.3.
317
1. BUDOWA I
CHA.RAKTEAYSTYKł
CYFROWYCH
UKŁAOOW
SCALONYCH
7.3.1
Podstawowe bramki ECL
Schemat podstawowej, dwuwejściowej bramki NOR z rodziny IOK jest pokazany na rys. 7.45a. Zasadniczy układ bramki jest zrealizowany w konfiguracji
różnicowego klucza prądowego o dwóch komplementarnych wyjściach i dwóch
wejściach. Typowe napięcia zasilaji1ce są równe Ucci = U cez = O, U ee
- 5.2
V. Napięcie U 88, które ustala wartość progu logicznego bramki, jest dostarczane
z dodatkowego układu, który jest również wykorzystywany do polaryzacji
pozostałych bramek, znajdujących się w tym samym układzie scalonym (na tej
samej kostce półprzewodnikowej). Prą T. = + 25°C napięcie progowe jest
równe U 88 = - 1.29 V. Diody Dl i D2 kompensują dryf temperaturowy układu
w ten sposób, że przy zmianie poziomów logicznych na wyjści u, wywołanej
zmianą temperatury, wartość U 88 zawsze znajduje się w połowie zakresu
logicznego (U08 - U 0 J.
Na komplementarnych wyjściach bramki znajdują się wtórniki emitcrowe (7:5, 70). Zapewniają one przesuwanie poziomów stałoprądowych, potrzebne
do sterowania innych podobnych bramek, oraz małą impedancję wyjściową,
która jest niezbędna do efektywnego sterowania linii transmisyjnych z do-
=
u,,,
o
R,
220Jl.
Ucc1
I
Ri
I
I
245Jl.
I
I
lf'ozoostołe
bromki
Juktodu
I
01 I
02
.,••
R,
6.1kfl
b
I
I
I
I
.98e~
I
I
U«
Rys. 1.45. Dwuwejściowa bramka OR/NOR z rodziny !OK (10102)
a) tchcmat. b) ró••DCrW&ux •rmbok 1opant
318
7.3.
UKŁADY
ECl
pasowanym obciążeniem. Wtórniki te mają otwarte emitery, co oznacza się na
symbolach IEC znakiem „o", umieszc-.tonym przy każdym wyjściu (rys. 7.45b).
Wynika to stąd, że bramki ECL są zaprojektowane do stosowania z dopasowanymi na końcu liniami transmisyjnymi, a ponieważ rezystor dopasowujący
stanowi duże obciążenie dla wtórnika, więc dodatkowy wyjściowy re-tystor
obciągający (wewnętrzny) oznaczałby niepotrzebną moc strat.
Bramka ma wprowadzone dwie końcówki zasilania od strony kolektorów: U cci i U cc 2 • Napięcie U cc2 zasila wtórniki wyjściowe, a napięcie
Ucci zasila resztę układ u. Oddzielne obwody zasilania stosuje się w celu
zmniejszenia wpływu skoków prądu wyjściowego (zwłaszcza przy sterowaniu
obciążenia pojemnościowego i linii transmisyjnych) na działanie klucza prą­
dowego. Obydwie końcówki Ucci i Ucc2 powinny być przyłączone do masy
jak
najkrótszą drogą.
rezystory R,, R8 umożliwiają pozostawienie nie używanych
wejść bramek jako otwarte, odprowadzając prąd upływu z baz odciętych
tranzystorów wejściowych. Na schematach analogicznych bramek z serii IOK
firmy Philips są przedstawione dodatkowe rezystory, włączone szeregowo z bazą
każdego tranzystora wejściowego (zaznaczone linią przerywaną na rys. 7.45).
Rezystory takie są powszechnie stosowane w szybkich układach impulsowych
z tranzystorami o sprzężeniu emiterowym, w celu redukcji pasożytniczych
oscylacji („dzwonienia'} Typowe wartości tych rezystorów wynoszą 25 + 75 n.
Łatwo można obliczyć (p. poprzednie wydania tej książki)
Wejściowe
UoLiyp :;;;; I.7 V
oraz
U 01111P :;;;; 0.9 V
czyli amplituda logiczna wynosi 0.8 V.
Typowe charakterystyki przejściowe bramki są pokazane na rys. 7.46a.
Je-i.;eli napięcie na wejściu x 1 pozostaje na poziomie L, a na wejściu x 2 wzrasta
z poziomu U li.mu do U mm;., IO napięcie na wyjściu y 2 zmienia poziom z H na L.
Przy dalszym wzroście napięcia wejściowego napięcie U ,n dalej maleje. Po
osiągnięciu przez napięcie wejściowe wartości U m "" -0.4 V następuje nasycenie sterowanego tranzystora wejściowego. Przy dalszym wzroście napięcia
wejściowego napięcia wyjściowe również wzrasta, gdyż wówczas złącze baza-kolektor tranzystora w stanie nasycenia jest spolaryzowane w kierunku
przewodzenia. Ponieważ napięcie wejściowe o wartości - 0.4 V jest znacznie
większe od wartości U on mu = - 0.81 V, przy normalnej pracy taka sytuacja nie
występuje.
Charakterystyki wyjściowe bramki są pokazane na rys. 7.46b. Są one
takie same dla wszystkich układów z serii !OK. Pokazane proste obciążenia
dotyczą wartości rezystora obciążającego RL, przyłączonego z drugiej strony do
napięcia UTT = - 2 V. Tego typu konfiguracja jest typowa przy stosowaniu RL
319
7. 8U00WA I CHARAKTERYSTYKI CYFROWYCH UKŁAOOW SCALONYCH
o
- 0.65
Uo
I
I
- 0.75 '-'2s 0 c -1s0 c
V
-.
-,
-o.as
\
-0.95
- 1.05
'
O°C
-1.15
-1.25
\
~5°C
o•c
I
Ili
\1111
I
Wyjście OR
\ n.1
VI. f\
/AA'
- 1.35
- 1.45
,,
- 1.55
- 1.65 i . - 2'"5°C
-1.75
{\
Obszar nasycenia
\
"
·}~ oc
~
'-o~~
- 1.85
-1.95
-2.0 5
-2.0
b
,1s•c
,
'-.
,..._
\
'
- 1.4
•Uo
-0.6
I/
1'-
-1.0
I /
I
- 1. 4
-1.a
Urr --
-2.2
100
I
I
I
-i.o - o.a - o.6 - o.4 -0.2 v
-1.2
1
I/
I// /
~ ......
o
/
./
4.0 a.o
/
,
-
~
.;'
~
,....
Ucc
35ll V
I/
_... ......
'lf:l.
UoH --
V
/
I/
!/
I
50 I /
I/
/
•
V
/
'
/
L.,
o-
----u.,
25ll
I
o-
20
z4
2a
Uo
~
11; R<
U 1 r=- 2V·
36 40 u
mA
Rys. 7.46. Typowe charakte rystyki b!"amki z rodziny IOK przy U
; r, = o+ + 1s•c
16
;>1
l
u„•-s.2v •
Io
12
l
o•c
u,
.
150 n
~5°C
~ '-
Proste obciaienio
V
15•c•
•SCle
./. NOR
WyJ
- i.a - 1.6
- 0.2
I
32
„ = -5.2 V
a) ch:arak1ery:Styk1 pmjściowc. b) charakterystyki wyjścio.,.,'t i p<0$1e <>bciątto ia. Rr. pnył~aonego do nap~ia
U TT
= - 2V
jako dopasowania linii transmisyjnej, przyłączonej do wyjścia bramki. Jeśli
nie trzeba stosować takiego dopasowania, to do wyjścia bramki przyłącza
się rezystor RE. Rezystor RE jest z drugiej strony dołączony do napięcia
Uu i ma odpowiednio większą wartość. Celem stosowania Iakiego rezystora,
zwanego również obciągającym (pull-down), jest wymuszenie odpowiedniej
wartości prądu wtórnika wyjściowego bramki (typowo kilka, kilkanaście
mA), aby zmniejszyć jego impedancję wyjściową i przyspieszyć proces przełączania poziomów napięcia wyjściowego. Należy podkreślić, że przylączenie
zewnętrznego rezystora Ri, lub RE do wyjścia ukladu ECL jest niezbędne,
aby zapewnić odpowiednio szybkie dzialanie ukladu. W niektórych zastoso320
7.3. UKlAOY ECl
waniach jest poi.yteczne przyłączenie Re także do WYJSC nie używanych
(komplementarnych), aby zapewnić symetrię obciążenia (czyli stalą wartość
prądu zasilania oraz mniejsze zakłócenia generowane na liniach zasilania).
Wyjścia bramek ECL mogą być także łączone razem (wewnątrz lub
zewnątrz układu). Bramki realizują wtedy funkcję zwarciową DOR (rys. 7.47).
Aby nie pogorszyć szybkości działania takiej konfiguracji, liczba łączonych wyjść
nie powinna być większa od pięciu.
Funkcje
ECL
DDR
Br[}
ol bO
f-
olbo
.,
Rys. 7.47
Funkcja zwarciowa DOR
Bramki ECL z rodzin kompensowanych napięciowo (IOH, IOE, IOEL)
bardziej złożoną budowę, pokazaną na przykładzie dwuwejści owej bramki
O R/NOR z rys. 7.48a. Prąd emiterów klucza 77 , T2- T3 jest dostarczany przez
generator prądowy T4, R 8 , sterowany napięciem U es z odrębnego stabilizatora
(rys. 7.48b), wykonanego na tej samej kostce. Zapewnia to znacznie lepszą stałość
napięć UoL przy zmianach Uu:· Podobnie lepsza jest stałość napięcia progowego
U88 przy zmianach UEe
Różnice wartości czasów przełączeń układów z rodzin IOK i IOH
przedstawiono na oscylogramach na rys. 7.49.
Bramki ECL z rodziny kompensowanych napięciowo i termicznie
(IOOK, IOOE, IOOEL) mają, przy zachowaniu zasadniczego układu stabi lizatora
napięć U 88 i Ucs z rys. 7.48b, dodatkowo wbudowany dwójnik R6 - DI/D2
(rys. 7.48a). Umożliwia to znaczne polepszenie stałości napięć wyjściowych
i napięcia progowego przy zmianach U ss i 7;..
Zasilanie układów ECL jest tradycyjnie ujemne. Wynika 10 stąd, ż.e
wartości napięć wyjściowych Uou i UOL są bezpośrednio przywiązane do
napięcia Uce· Gdy Uce = O, to problem zależności napięć wyjściowych od zmian
napięcia U cc praktycznie nie istnieje. Zakłócenia „uziemieniowe" na masie
(końcówki Ucc 1 i Ucc2 ) są również zazwyczaj mniejsze niż na szynie zasilania
(U u)· Wynika stąd , że przy ujemnym zasilaniu otrzymuje się większe, korzystniejsze wartości marginesu zakłóceń.
Tolerancje napięcia U lit są następujące:
rodzina IOK: - 5.2 V ± 2%,
rodziny IO H, IOE, IOEL: -5.2 V ± 5%,
rodziny IOOK, IOOE, IOOEL: od - 4.2 V do - 5.46 V.
mają
321
1. BUOOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOOW SCALONYCH
l
a
Ucc1
u••
„
T7 ,__ _
T6
R„
v,
tobiłi zolor
napi ęć
Uee i Ucs
X,
Ucs
X
t1Jcs~13V
R,
L---+--+ -'------..,,..+ - -ou„
• -tyl ko w u k łOd och lJOK '100E 'lJOEL
~w
~.
a) budowa dwuwejściowej bra mki OR/ NOR z kompensowanych rodzin ECL,
b) układ stabilizatora napięć pomocniczych U88 i Ues
Wyj śc i e NOR
';!o
~
„MC 10101
' :/
\
MC10H t01
I- łp d•-
J
0.92ns
tpd•·
...
2.0 7ns
'
I-
I /
MC10H10 1
~
~
""
tpd • •
I
-
I
tpd••
0.88ns
I
)
OR
I '
'(/
Uo
c;:;
A
2.tOns
MC I OH IOl -l.52
MC IOIOI - 2.62
u, '
'
'~
,„ ..
łr (ns) :
Wyjście
MCIOH 101
..
· 'MCIOH101
)(
1.10ns
V
'/
...
t1 Ins i:
MC IOHI Ol -1.49
MC 1010 1 - 2.4
~
Yo
U1
"U1
..
u,· ~
•Uo
,
,'(
I
MC tOIOl_ >--
,
tpd • •
MC10H 101
2.0 Sns - >--
łpd·1.0Bns
'
t, (ns):
MC tOH IOI -t.48
MC l0101 - 2.51
'
MC 1010 1
/
I/'\ :\.
"
łpd··
2 .2Sns
I
llll t lllł
-.......
-
·-
t1 ł ns ) :
MCIOH101 -t.42
MC10 101 - 2.4 5
Rys. 7.49 Porównanie szybkości działania układów z rodzin IOK i IOH firmy Motorola (przykład
i MCIOHIOI, zawierających 4 dwuwcjściowe bramki OR/NOR)
układów MCIOIOI
322
7.3. U KtAOY ECL
Jeśli
projektowane urządzenie zawiera uklady TTL lub CMOS (zasilane
standardowym napięciem + 5 V) i układy ECL, to te ostatnie mogą być zasilane
napięciem dodatnim, czyli U cci = U cc 2 = + 5 V i U EE = O. Taki sposób
zasilania układów ECL określa się jako PECL (Positive ECL). Wymaga to
bardziej precyzyjnego i lepiej filtrowanego zasilania napięciem + 5.0 V lub
+5.2 V, aby ograniczyć wzrost marginesu zakłóceń. Jeśli jednak w danym
zastosowaniu układy ECL wykorzystują połączenia różnicowe, to wtedy ewentualny wzrost zakłóceń na szynie zasilania nic ma żadnego wpływu na margines
zakłóceń układów ECL gdyż, jak wiadom o, od biorniki sygnałów różnicowych są
niewrażliwe na zakłócenia nieróżnicowe (common mode).
W wielu zastosowaniach wygodnym sposobem zasilania układów ECL
jest zapewnienie dwóch napięć: U ce = + 2 V i U EE = - 3.2 V, czemu odpowiada
U TT = O. Umożliwia to sterowanie układów impulsami z typowych źródeł
przystosowanych do obciążeń 50 n przyłączonych z drugiej strony do masy.jak
również przyłączanie wyjść układów do takich obciążeń. Ułatwia to również
badanie układów ECL (standardowe układy pomiarowe do badań dynamicznych parametrów układów ECL są właśnie tak zasilane, aby umożliwić
bezpośrednie połączenia z wejściam i 50 O szybkich oscyloskopów). Ponadto
rezystory obciążające RE i RL są wtedy z drugiej strony łączone bezpośrednio
z masą, co zapewnia większą szybkość działania i mniejszą moc strat niż przy
stosowaniu jednego napięcia U EE= - 5.2 V. Zwyczajowo ten dwunapięciowy
sposób zasilania układów ECL nazywa się „standardem masy".
Moc strat układów ECL jest sumą kilku składników (rys. 7.50}. Przy
rozpatrywaniu pojedynczej bramki, której wyjście jest połączone z wejściem
innej bramki (ewentualnie za pośrednictwem linii transmisyjnej), moc strat jest
określona przez:
a
Ucc
c
z
b
d
nr
131
[[
Rys. 7.50. Skladowc mocy strat
uk ładów
ECL
a) moc łlrtt bmntł P pod.łwana bWotowo. b) l!IOOt """ ~nc ~ ~ Iła;. C) moce jtr•I ~nir
1 obeit - niem lł4, d) moc a.rr11 bnmłi pn:)' ~11 po,cm1ll0ileio•J ""
323
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKLADOW SCALONYCH
moc strat pojedynczej bramki P (przy otwartych wejściach
i wyjściach), podawaną katalogowo,
2)
moc strat bramki wywołaną przez ewentualne przyłączenie na wyjściu
bramki rezystora obciągaj ącego RE, przyłączonego z drugiej strony do
napięcia zasilającego U EE•
3)
moc strat rozpraszaną w tym rezystorze,
4)
moc strat bramki wywołaną dopasowaniem linii transmisyjnej, tzn. przy
przyłączeniu na końcu linii rezystora RL o wartości równej impedancji
charakterystycznej użytej linii transmisyjnej, przyłączonego z drugiej
strony do napięcia pomocniczego U TT = - 2 V,
5)
moc strat traconą w tym rezystorze,
6)
moc strat bramki wywołaną ładowaniem i rozładowaniem pojemności
obciążenia na wyjściu bramki.
Składowa (1) jest zwykle podawana w katalogach firmowych i wynosi
przykładowo 25 mW na bramkę (typowa wartość średnia dla układów !OK
i IOH).
Składowa (2) pojawia się wówczas, gdy dwie bramki ECL znajdują się na
tyle blisko siebie, że nie trzeba stosować dopasowanej na końcu linii transmisyjnej. Ponieważ wyjście bramki stanowi otwarty emiter, a na wejściu bramki jest
relatywnie duża rezystancja (typowa wartość 50 k!l), więc stosowanie zewnętrz­
nego rezystora obciągającego jest wówczas konieczne. Przy zastosowaniu
rezystora o wartości 2 k!l moc strat bramki wzrasta o 2.5 mW (tabl. 7.3).
I)
własną
Moc STRAT BRAMKI fCL· PRŁY OOOJĄŻEł'IU
rezystor
lub
dopasowanie linii
Obciążenie:
obciągający
ł50
n
Tablica 7.3
REZ.YSTOROWY"M ( UO·TOROLA)
Moc s1ra1 w tran- Moc strat w rezyzystorze wyjściostorze obciągająwym bramki ECL
cym
(mW)
(mW)
Całkowi la
strat
obciążeniem
(mW)
do -2.0 v
5.0
4.3
IOO n do -2.0 V
1.5
6.5
ł4
10
15
8.7
13
18.7
28
15
18.3
9.7
7.2
4.9
2.5
140
57.2
30.2
22.6
15.4
7.7
165
75.5
39.9
29.8
20.3
10.2
75
50
82
n
n
n
n
n
n
n
do
do
do
ł30
do
270
do
510
do
680
do
I kfl do
2 kfl do
Składowe
-2.0
- 2.0
masy
- 5.2
- 5.2
- 5.2
5.2
- 5.2
- 5.2
v
v
i
v
v
V
V
V
V
moc
wywołana
9.3
(2), (3), (4) i (5) są określone dla różnych rezystorów w tabl. 7.3.
Przy zastosowaniu dopasowanej linii transmisyjnej o impedancji 50 n, moc strat
bramki wzrasta o 15 mW, a całkowita moc strat wzrasta o 28 mW, czyli wynosi
324
7.3. UKt.AOY ECl
53 mW przy użyciu bramki !OK. Przy zastosowaniu rezystora obciągającego
2 k!l całkowita moc strat wynosi 35 mW. Jest to najmniejsza całkowita moc strat
w przeliczeniu na jedną bramkę !OK.
Przy analizie moc strat całego system u należy zwrócić uwagę na dwie
istotne okoliczności.
- zwykle większość układów w systemie pracuje przy małych i średnich
częstotliwościach, a większy nacisk kładzie się na minimalne opóź­
nienie propagacji,
- oszacowanie mocy strat w przeliczeniu na jedną podstawową bramkę
małej skali integracji nie oddaje faktycznego stanu rzeczy, jeżeli
w systemie stosuje się wicie (z reguły większość) układów o średnim
i dużym stopniu scalenia, których moc strat w przeliczeniu na jedną
bramkę wewnętrzną jest znacznie mniejsza.
Margines zakłóceń oblicza się w sposób podany w p. 5.3.3. Napięcia
UIL mu• Uot.mu• Uoum•• i U1u..m są określane przy stałych wartościach napięcia
zasilającego i temperatury a nawet ściśle zdefiniowanych warunkach chlodzenia
(zgodnie z normą JEC 748-2, 1985 napięcia te oznacza się symbolami UILA•
U0 ,_„, Uous· Uuu>· Jest to istotna różnica w porównaniu z układami TIL, dla
których przytoc-.wne wartości napięć są gwarantowane w całym dopuszczalnym
przedziale zmian temperatury i napięcia zasilającego.
Przy połączeniu układów !OK otrzymuje się przy jednakowej temperaturze obydwóch układów najmniejszą wartość marginesu zakłóceń równą
125 mV, a przy krańcowo różnych temperaturach (0°C i 70°C) zaledwie ł5 mV.
Różnice napięć zasilających współpracujące układy również powodują zmniejszenie margines u zakłóceń. Jeśli przykładowo (rys. 7.5 ł b) bramka sterująca jest
zasilana napięciem U EE = - 5.2 V - 5% = - 5.46 V, a bramka sterowana jest
zasilana napięciem - 5.2 V+ 5% = -4.94 V, to przy zalożeniu bramek z serii
IOK i ich jednakowej temperatury równej + 25°C dane firmy Motorola są
następujące: Uoumin = -0,988 V, Uo1.m„ = -1.71 V, Ummin = - 1.056 V
i U11,.,.„ = - 1.426 V, skąd Mu = 68 mV i M1. = 284 mV. Jak widać, margines
zakłóceń M 11 zmniejszył się z 125 mV do 68 mV, a w praktyce może być gorzej,
jeśli obydwa układy mają różne temperatury.
Stosowanie układów kompensowanych napięciowo ( łOH, łOE, łOEL) lub
napięciowo i termicznie (!OOK, !OOE, łOOEL) umożliwia otrzymanie większych
wartości marginesów zakłóceń w różnych warunkach pracy. Jak widać z tablicy
podanej na rys. 7.5lc, wartości marginesu zakłóceń w układach ECL są znacznie
mniejsze niż w układach TTL (-0.2 V w porównaniu z l V). Różn ice stosunków
marginesu zakłóceń do amplitudy logicznej nie są jednak tak duże (0.2 V/
/0.8 V = 0.25 dla EC L w porównaniu z I V/ 3 V "" 0.33 dla TTL).
Bardzo dużą zaletą układów ECL jest różnicowy tryb pracy, charakterystyczny dla symetrycznych kluczy prądowych, stosowanych w tych układach
(p. rys. 7.45, 7.48). W tym trybie prąd zasilania pozostaje praktycznie stały przy
325
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁAOOW SCALONYCH
a
u••
UoHmo,_•---+--
NOR
Uolmin - --
b
+--+-- - OR
+-- -- t- - -
Zokłócerio
7 .
~- - --~
Uo
c
U1
Margines zakłóceń
przy jednakowej terrperałurze układów (mV)
min
typ
125
210
10H,10E , tOEL
150
270
IOOK,100E ,t00EL
140
210
10 K
Rys. 7.51. Margines
zakłóceń układów
ECL
a) ekstremalne wielkoSci aa~ b) określenie 111.irgin~u uklOOeli, c;) wartości ma.rgiDCSu zakłóceń dl.;i układów ECL
~ róln)'ch rodzin
zmianie stanów na wyjściach różnicowych. Oznacza to istotne zmniejszenie
zakłóceń generowanych na liniach zasilania, w porównaniu z układami pracują­
cymi w trybie niesymetrycznym (TTL, CMOS).
Inne
Układy
układy
o
małym
stopniu scalenia
7.3.2
ECL o małym stopniu scalenia obejmują, poza omówionymi uprzednio
najprostszymi bramkami OR/NOR, wiele innych bramek, ich kombinacje oraz
przerzutniki. W układach tych, jak również w układach o większym stopniu
scalenia, wykorzystuje się pewne charakterystyczne sposoby realizacji funkcji
logicznych AND i OR.
326
7.3.
UKŁADY
ECL
Ucc2
Vcc1
R,
Ra
Rio
T8
T1
T9
y,
Y2
ANO
NANO
R
x,
.,
U99
02
T2
R„
03
T7
01
Oo
innych
bromek
u„
T10
T6
04
llcs
t----~-
05
R,
Rg
~.__
R12
_____._____..______..__ _._ ---o u«
Rys. 7.52. Budowa bramki AND{NAND (Philip.< 10104), ilustrująca zastosowanie
bram_lc:owania szeregowego
Jednym z tak.ich sposobów jes bramkowanie szeregowe. Przykładowa
bramka AND/NAND zawarta w układzie 10104 (rys. 7.52) zawiera dwa klucze
tranzystorowe T3-T5 i T4- 77, przy czym pierwszy z nich jest bramkowany przez
drugi. F unkcja AND ma stan I, gdy jednocześnie przewodzą tranzystory TJ i T4.
Aby utrzymać dużą szybkość przełączania, istotne jest, by tranzystory klucza
T4- 77 nie wchodziły w stan nasycenia. W tym celu jest wytwarzane odrębne
napięcie progowe klucza T4- 77 (UFF). Napięcie U FF jest obniżone w stosunku do
U88 o ok. 1.3 V. Analogicznie jest przesuwane napięcie z wejścia x 2 , poprzez
napięcie baza-emiter tranzystora T2 i napięcie przewodzącej diody Dl . Bramkowanie szeregowe - prosta, bardzo szybka i o małych stratach technika - jest
szeroko wykorzystywana w bardziej złożonych układach ECL. Przykład prostej
budowy bramki XOR/XNOR (10107) jest pokazany na rys. 7.53. Napięcie
zasilające Ulit w układach ECL zostało wybrane jako równe - 5.2 V właśnie
dlatego, że jest ono zbliżone do minimalnej wartości napięcia, umożliwiającej
realizację potrójnego bramkowania szeregowego (4 x 1.3 V = 5.2 V).
Na rysunku 7.54 pokazano sposób lączenia kolektorów, który umoż­
liwia prostą realizację funkcji AND wewnątrz układu. W pokazanej bramce
NOR-AND funkcję AND uzyskano przez zwarcie kolektorów tranzystorów
327
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKł.AOÓW SCALONYCH
u,,,
o---------------~
r+--..-------...--ł------.---..---0 Ucci
Tli
y, o-- -4----
_ _ _ ....______.__....____..._-o u„
~--_.,__
Rys. 7.53. Budowa bramki XOR/XNOR (Mororola 10107)
x, <>--
--< ;.1
x,o--~
~-...1
X 3 0 - -...I
x.n---ł
Re
Ro
T9
j Io
TJ
u,,,
y
T5
x,
x,
)C 3
>c4
Rys. 7.54. Łączerue kolektorów do realizacji funktji DA ND
T3 i T8, które maj ą wspólny rezystor podciągający Re i wspólny wyjściowy
wtórnik emiterowy 19. Jest to znana z układów TTL konfiguracja funkcji
zwarciowej DANO (por. rys. 7.21+7.23). Aby napięcie wyjściowe nie było za
małe gdy na wszystkich czterech wejściach jest poziom L, wprowadzono
ogranicznik dolnej wartości UOL• składający się z tranzystora T4 i rezystora R 0 •
328
1.3.
U KŁADY
ECL
Napięcie
na połączonych kolektorach nie może spaść poniżej wartości
- (/ oRo +UBE4).
Innym sposobem budowy złożonych funkcji logicznych jest łączenie
emi1erów w celu realizacj i runkcji zwarciowej DOR (por. rys. 7.47). Sposób ten
przedstawiono na rys. 7.55, na którym cztery funkcje wyjściowe otrzymuje się po
zastosowaniu tylko dwóch kluczy emiterowych i dwóch połączeń DOR.
Rezystory obciągające Re w połączeniach wewnątrzukładowych mogą mieć
większe wartości niż w połączeniach zewnętrznych (typowo I + 5 k!l).
L___ _ _. . __
_.._-+-<>-+--<>--- _._- -<>Uu
•:, o----- -- - -- ---t---'
l - - -Rys. 7..55.
lączenie
- --
-
- - O.X1 V Xt Y
i')
emiterów do realizacji funkcji OOR
Często stosowane są układy ECL noszące nazwę odbiorników do linii
transmisyjnych, które mają dwa różnicowe wej ścia i jedno lub dwa różnicowe
wyjścia. Są to w istocie proste jednostopniowe wzmacniacze różnicowe. Są
one umieszczone po trzy lub C-ltery w jednym układzie scalonym razem
ze stabilizowanym źródłem napięcia progowego, które może być zewnętrznie
przyłączone do dowolnego wejścia każdego wzmacniacza. Przykładem takiego
układu jest typ 10116 z rodziny IOK, który zawiera trzy wzmacniacze i źród ło
napięcia U BB> o budowie pokazanej na rys. 7.56. Istnieją trzy wersje tego
ukladu, różniące się szybkością działania: 10116, 10216 i !OHI 16. Czasy
propagacji i trwania zboczy impulsów wyjściowych wynoszą odpowiednio
2, 1.5 i I ns.
Stosowane symbole grafie-me odbiornik a do linii transmisyjnej
są pokazane na rys. 7.56bc. Znak przypominający prawostronny nawias
329
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UJ<t.AOOW SCA.LONYCH
a
y,
Jeden z ł rz~h wzmacniaczy
zowor tychw układ zie
10116
ŹrÓdło nop1eC
pomocniczych
Uae i Ucs
c
11.ys. 7.56
Odbiornik do linii
transmisyjnej 10116
a) schemat,
b)gymb<>I łfil fłCUly IEC,
c) symbol kltiyciny
kwadratowy wewnątrz symbolu IEC oznacza, że do utworzenia wejściowego
logicznego są potrzebne sygnały wszystkich (w tym przypadku dwóch)
sygnału
wejść.
Układ może być sterowany w sposób różnicowy (przez doprowadzenie
na wejścia x 1 i x 2 sygnałów komplementarnych linią dwuprzewodową) łub
w sposób nieróżnicowy (przez doprowadzenie na jedno z wejść sygnału sterującego i połączenie pozostałego wejścia z końcówką napięcia progowego
U88). Połączenia różnicowe ECL nie generują szkodliwych przesłuchów i zakłóceń elektromagnetycznych, generowanych w systemie podczas przełączeń.
Dla porównaniu, niesymetryczne struktury i połączenia układów TTL/CMOS
generują podczas przełączeń relatywnie duże zakłócenia na szynach zasilających.
Również odporność na zakłócenia układów sterowanych różnicowo jest znacznie lepsza niż układów sterowanych nieróżnicowo, gdyż zakłócenia nieróżnicowe na wejściach odbiornika różnicowego odejmują się od siebie.
Te korzystne cechy są w szczególności wykorzystywane w układach opisanych
dalej.
330
7.l. UKŁADY ECL
Układy
do rozprowadzania
zegarowych
sygnałów
7.3.3
W nowoczesnych systemach cyfrowych jednym z istotnych problemów projektowych jest właściwe doprowadzenie szybkich sygnałów zegarowych do różnych
układów systemu. W idealnym systemie momenty przełączeń sygnałów zegarowych na wejściach wszystkich sterowanych układów są idealnie jednoczesne.
W praktyce występuje jednak zjawisko pewnego przesunięcia w c-t.asie tych
przełączeń w różnych miejscach systemu, co może prowadzić do rozsynchronizowania i w rezultacie niewłaściwego działania systemu. Zjawisko to,
określane jako "przesunięcie zegarowe" lub krótko ,,skos zegarowy"' (clock skew),
stanowi jedną z głównych przyczyn, ograniczających wzrost częstotliwości pracy
szybkich systemów cyfrowych, w tym komputerów. Okazuje się, że zastosowanie
układów ECL do rozprowadzania sygnałów zegarowych dużej częstotliwości
może zapewnić mniejszy skos zegarowy niż alternatywne rozwiązania z układa­
mi TIL/CMOS.
Wyróżnia się następujące rodzaje skosu zegarowego.
I.
Skos wypełnienia. Różnice w czasach propagacji tnn i tPnt układów
transmitujących sygnał zegarowy wywołują zmianę współczynnika wypeł­
nienia przebiegu zegarowego. Zjawisko to jest szczególnie szkodliwe
w systemach wykorzystujących obydwa zbocza sygnału zegarowego, np.
w nowoczesnych mikroprocesorach. Układy ECL, dzięki symetrycwej
strukturze różnicowej, zapewniają niemal zerowy skos wypełnienia.
2.
Skos międzywyjściowy. M oże on wystąpić w postaci przesunięć momentów przełączeń sygnałów zegarowych na wyjściach układu generującego
te sygnały dla różnych układów sterowanych w systemie.
3.
Skos rozrzutu technologicznego i środowiska pracy. Czasy propagacji
układów scalonych zależą od zmienności procesów technologicznych
(różne układy tego samego typu mają zawsze nieco różniące się od siebie
wartości czasów propagacji), od rzeczywistych napięć zasilających układy
scalone w systemie, oraz od temperatury otoczenia. Trzeba uwzględnić
fakt, że często w systemie występują „gorące punkty" wywołane loka.lnie
źle działającą wentylacją łub/i lokalnym zwiększeniem gęstości montażu
układów scalonych.
Wymienione trzy rodzaje skosów są mniejsze, gdy używamy układy ECL
niż gdy używamy układy TIL/CMOS. Ponieważ generalnie skos jest tym
większy, im dłuższy jest CT.as propagacji układu, zatem krótkie czasy propagacji
układów ECL zapewniają mniejsze wartości skosu w systemie.
W szczególności korzystne jest zastosowanie połączeń różnicowych z ukła­
dami ECL, które zapewniają ekstremalnie niskie wartości skosu (poniżej 50 ps).
Momenty przełączeń sygnałów róinicowych nie zależą bowiem od zakłóceń
331
7. BUOOWA I CHARAKTERYSTYKI CYFROWYCH U KlAOOW SCALONYCH
„ 1.20
"E
·~ 104
"
tl.03
i
J1.1s
1.()2
jI 1.10
l01
1.00 ECL
. 0.99
J
i
0.96
0.97
o.
0.95
0.94
Q.96
1.02
1.00
1.10
Znormo!imv.one ZOSilani e
1.
I.O
oo
80
łJO
Temperaturo("C)
Rys. 7,j7, Wpływ środowisk.a pracy na czasy propagacji ul:.ładów ECL i TTL/ CMOS (Motorola [S])
i innych
nieróżnicowych
zmian
sygnału.
Korzystnie dla u.kJadów ECL wypada
również porównanie z układami TfL/CMOS zależności ich czasów propagacji
od napięcia zasilającego i temperatury (rys. 7.57). Przy zastosowaniu tego
samego, dodatniego napięcia zasilania do układów TfL/ CMOS i do układów
ECL (czyli PECL - Positive ECL) nie są wymagane żadne dodatkowe, ujemne
napięcia zasilające.
Przykład zastosowania układów ECL do rozprowadzania sygna łów
zegarowych do układów ECL i TTL/CMOS w systemie jest pokazany na
rys. 7.58. Układ Eli I jest 9-wyjściowym rozdzielaczem zegara, o gwarantowanym skosie poniżej 50 ps. Układ H64 I jest 9-wyjściowym translatorem
PECL/TfL o gwarantowanym skosie międzywyjściowym poniżej 0.5 ns i skosie
rozrzutu technologicznego poniżej 1 ns. W ten sposób można otrzymać
łącznie 81 wyjść zegarowych. W łączach El 11 - EI 11 trzeba wląc-zyć dodatkowe
opóźnienia, aby skorygować różnicę opóźnień między układem E l 11 (typowo
0.5 ns) a układem H64 l (typowo 5.5 ns). Oc-zywiście, jeśli na wyjściach
stosuje się wyłącznie układy Eł I I (tylko wyjścia PECL) łub wyłącznie układy
H64 I (tylko wyjścia TfL), to żadne dodatkowe opóźnienia ko rekcyjne nie
są potrzebne.
Do precyzyjnego opóźniania sygnałów ECL można wykorzystać specjalizowane układy opóźniające E 195 lub E196. Schemat logiczny układu
E l96 pokazany jest na rys. 7.59. Łańcuch komórek opóźniających jest programowany 7-bitowymi danymi, wpisywanymi z wejść D do odpowiednich
zatrzasków. Umożliwia to uzyskanie opóźn ienia między wejściami IN a wyjściam i Q w typowym zakresie 2240 ps (od 1390 do 3630 ps) z rozdzielc-.wścią
ok. 20 ps (najmniej znac-Lący bit na wejściach D). Dodatkowe analogowe
wejście FTUNE umożliwia płynną regulację opóźnienia przez zmianę napięcia
sterującego na tym wejściu. W ten sposób można osiągnąć rozdzielczość
regulacji opóźnienia rzędu pojedynczych pikosekund. Charakterystykę regulacji
opóźnienia w układzie 10El96 ilustruje rys. 7.60. Prostszy układ E l95 nie
332
7.3.
U~lAOY
ECL
~ --- --- -- 1
1Em
I
I
I
oo
I
•
I
IOCL
•
•
I
I
I
I
I
IL __ _ __ __ J
fHSi.1 _ ____ __1
I
I
08
I
,,?--;+--,
IL __ ______ _J
I
oo
I
•
•
I
I
•
I
I
I
Int
I
I
IL._ _ _ _ _ _ _ _ _ _ J
Rys. 7.58. Przykład rozprowadzania sygnalów zegarowych do wyjść ECL i TIL (Moiorola
( S])
IN
m
EN
Zatrzask
oo
01 oz
03 04 05 06
07
Rys. 7.59. Uproszczony schemat logiczny programowanego ukladu opó:i:niająeego
MCIOE196/MCIOOE196 (Motorola). • Opóźnienia tych bramek są o 25% lub 50% dłuższe od
opóioienia standardowego (ok. 80 ps).
ma wejścia FTUNE i tym samym możliwości płynnej regulacji opozmenia.
Wejścia LEN, SET MIN, SET MAX, D7 oraz wyjścia CASCADE umożliwiają
szeregowe połączenie takich układów w celu zwiększenia zakresu regulacji
opóźnienia.
Programowalne i wieloodczepowe układy opóźniające o dłuższych
zakresach i większych rozdzielczościach wytwarza firma Dallas Semico11ductor
w technologii CMOS (rodzina DSlOOO).
333
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁAOOW SCAi.ONYCH
100
90
'
L '\
80 L
~:
·e
.~
,f.
50
~
·~
L
'\..
L
" """
L
·a40 L
o
30 '20 L
10 L
q5
.
... .
.
-4
"'
Rys. 7.6-0
""'
-J
-2
FTUNEIVJ
Zależność opóźnien ia
.
układu
. .
o
na
(Mororola)
Zasady projektowania systemowego
z użyciem układów ECL
N ie
używane wejścia
i
EI 96 od napięda
FTU N f;
wej ściu
7 .3.4
wyjścia
Nie używane wejścia mogą pozostawać otwarte, jeśli powm1en być na nich
ustalony poziom L. Jest to wynikiem obecności wejściowych rezystorów
obciągających. Jeśli natomiast na danym wejściu powinien być ustalony poziom
H , to nie należy tego wejścia łączyć bezpośrednio z U cc• lecz za pośrednictwem
diody krzemowej. Chodzi o to, aby na wejściu nie pojawiło się napięcie większe
od - 0.4 V, gdyż prowadziłoby to do nasycenia tranzystora wejściowego (por.
rys. 7.46a).
Należy zwrócić uwagę, że układy odbiorników do linii transmisyjnych
nie są wyposażone na wejściach w rezystory obciągające, charakterystyczne
dla pozostałych układów ECL. Jeśli zatem jakiś odbiornik w układzie pozostaje
nie używany, to jedno jego wejście powinno być przyłączone do U 88, a drugie
do UeE·
Wyjścia nie używanych układów mogą pozostawać otwarte. Nie używane
(zazwyczaj komplementarne) wyjścia używanych układów mogą w zasadzie
również pozostawać otwarte, jednakże zaleca się je obciążać podobnie jak
wyjścia używane. Zapewnia to stałość prądu zasilania przy przyłączeniu i ma
korzystny wpływ na parametry impulsowe przesyłanych sygnałów.
Płytki
drukowane
Należy stosować płytki
drukowane dwustronnie z otworami metalizowanymi
lub płytki wielowarstwowe, konieczne przy częstotliwości zegarowej powyżej
200 MHz. Płytki wielowarstwowe umożliwiają większą gęstość upakowania
elementów na określonej powierzchni, krótsze połączenia między układami,
334
7.3. UK.LADY ECL
bardzo dobre rozprowadzenie masy i zasilania. Oznacza to zmniejszenie wpływu
szkodliwych zjawisk pasożytniczych i zwiększenie szybkości działania systemu.
Przy stosowaniu płytek dwustronnych zaleca się przeznaczyć jedną stronę
laminatu na powierzchnię jednolitej masy, która powinna pokryć co najmniej
70% powierzchni płytki. Zapewnia to dobre warunki do odsprzęgania układów
(przy zastosowaniu kondensatorów blokujących) oraz właściwą bazę do realizacji linii mikropaskowych.
Jeśli na płytce drukowanej ścieżki sygnałowe są wykonywane po obydwu
stronach, to w celu zmniejszenia zjawiska przesłuchu należy w miarę możności
zapewnić prostopadłość linii prowadzonych nad sobą.
Powierzchnia masy powinna być doprowadzona do 10% końcówek
równomiernie rozmieszczonych w złączu krawędziowym płytki. Zmniejsza to
impedancję masy i tym samym wartość zakłóceń uziemieniowych.
Końcówki Ucci i Ucci układów powinny być przyłączone bezpośrednio
do powierzchni masy.
Jeżeli na płytce znajduj ą się elementy pobierające impulsowo duże prądy,
np. przekaźniki, żarówki, tranzystorowe układy impulsowe większej mocy itp., to
masa dla tych elementów powinna być elektrycznie oddzielona na płytce od masy
układów scalonych ECL. Obydwie masy należy połączyć razem poza płytką,
w jednym punkcie masy systemu.
Wszystkie ścieżki drukowane powinny być jak najkrótsze.
Zasilanie
Jakkolwiek układy ECL pracują funkcjonalnie poprawnie przy dość dużych
zmianach napięcia zasilającego (5 + 10%), to w celu uzyskania możliwie dużego
marginesu zakłóceń korzystnie jest zapewnić stabilność napięcia zasilającego
U EE nie gorszą niż I%.
W celu zapewnienia wystarczająco dużego marginesu zakłóceń napięcie
Uu: w różnych miejscach systemu nie powinno różnić się więcej niż o 50 mV.
Wartość międzyszczytowa zakłóceń uziemieniowych na końcówkach
Ucci i Ucc 2 układów nie powinna przekraczać 50 mV.
Na każdej płytce drukowanej linia U EE powinna być blokowana kondensatorem (najlepiej elektrolitycznym tantalowym) o pojemności l + 10 µF.
Każda grupa l + 4 układów scalonych powinna być blokowana kondensatorem bezindukcyjnym (najlepiej ceramicznym monolitycznym) o pojemności
IO+ 100 nF, włączonym między U ee i masę. Przy stosowaniu układów bardzo
szybkich z rodzin lOH i IOOK należy każdy z nich blokować kondensatorem bez
końcówek drutowych, bezpośrednio między punktem lutowniczym końcówki
UEE układu i powierzchnią wspólnej masy. Przy stosowaniu standardu masy
(p. 7.3.1) należy w identyczny sposób blokować napięcia U cc = + 2 V
i Uu:= -3.2 V.
335
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH VKt.AOÓW SCALONYCH
Obc iążalność
Granic-zna obciążalność prądowa układów ECL jest relatywnie duża i wynosi
10 ..,, = 50 mA. W praktyce nie należy stosować mniejszych rezystancji obciążenia niż 25 n do - 2 V, czemu odpowiada I oHmu = 40 mA (por. rys. 7.46b).
W praktyce istotna jest wartość obciążalności znormalizowanej N, która jest
ograniczona głównie przez pojemność obciążenia. Czas opadania sygnału
wyjściowego wydłuża się o ok. 100 ps na każde blisko dołączone wejście, przy
obciążeniu 50!2 do -2 V lub przy 270!ldo -5.2 V. Jeśli zastosowano obciążenie
100 !l do - 2 V lub 510 n do 5.2 V, to spowolnienie czasu opadania również
wzrasta dwukrotnie i wynosi ok. 200 ps na każde wejście. Aby wykorzystać
dynamiczne możliwości układów ECL, należy zatem zapewnić N < 10.
Każde wykorzystywane wyjście musi mieć przyłączony zewnętrzny
rezystor obciążający RE, przyłączony z drugiej strony do napięcia U f f lub
napięcia pomocniczego U TT = - 2 V, względnie rezystor Ri dopasowujący
odbiorczy koniec linii transmisyjnej (por. tabl. 7.3). Stosowanie rezystorów
przyłączonych do napięcia U n zapewnia większą szybkość działania i mniejszą
moc strat.
Łączenie bezpośrednie wyjść różnych układów ECL tworzy funkcję
zwarciową DOR. Przy wartościach rezystora obciągającego 50+ 270 n opóź­
nienie propagacji wzrasta o ok. 50 ps na każdy dołączony emiter, który
reprezentuje równoważne obciążenie pojemnościowe równe ok. 2 pF.
Chłodzenie
Układy
z rodzin MECL lOK i lOH nie mają dużych wymagań odnośnie
chłodzenia, gdyż ich moc strat jest względnie niewielka. Maksymalna temperatura kostki krzemowej w tych układach jest równa 1j .,., = + 125°C.
Przykładowo, układ 10100 zawierający 4 bramki NOR z obciążeniami 50 n do
- 2 V ma łączną moc strat równą typowo P = UEE I EE,,.+ 4P 0 = 5.2 V·
· 21 mA+4 · 15mW = 169 mW, gdzie P0 jest mocą strat tranzystorów wyjściowych (por. tabl. 7.3). Przy montażu tego układu na płytce drukowanej, bez
chłodzenia wymuszonego i przy T. = + 25°C, otrzymuje się zgodnie z wzorem
(5.1) zaledwie
1j = 25 + 0.169 X 100 = 42°C
przy założeniu reśzystancji termicznej O;. = I00°C/W dla obudowy plastykowej.
Przy maksymalnej temperaturze otoczenia T. = + 85°C otrzym ujemy
1j = 102°C < 7Jm„· Ponieważ jednak układy z rodzin lOK i IOH nie są
kompensowane temperaturowo (co wpływa bardzo negatywnie na margines
zakłóceń), należy unikać w systemie zbyt dużych różnic temperatury takich
współpracuj ących układów. Dlatego zaleca się stosowanie chłodzenia wymuszonego do rozpraszania ciepła z większych płytek drukowanych.
336
7.3. UKt.AOY ECL
Układy
z rodziny IOOK mają znacznie większą moc strat niż układy
z rodzin !OK i !OH, i dlatego przy ich stosowaniu warunki chłodzenia są
ostrzejsze.
Układy sprzęgające
ECLfTTL
Łączenie układów ECL z układami TTL wymaga stosowania odpowiednich
konwerterów. Układy takie są wytwarzane jako scalone, np. układ 10124 zawiera
4 konwertery TTL/ECL, a układ 10125 zawiera 4 konwertery ECL/TTL.
Typowy czas propagacji tych układów wynosi ok. 5 ns.
Układ 10124 (rys. 7.6la) ma wejście strobujące Gł, które umożliwia
blokowanie wszystkich czterech translatorów TTL/ECL poziomem L (TTL).
Translatory mają wyjścia komplementarne, co może być wykorzystywane do sterowania bezpośrednio różnicową linią transmisyjną, np. współ­
krętną. W tym przypadku, na końcu linii są przyłączane odbiorniki różni­
cowe ECL.
Translatory ECL(ITL z układu 10125 (rys. 7.6lb) mają wejścia różnicowe
i mogą być wykorzystane również jako odbiorniki sygnałów różnicowych,
a
6
5
b
1012•
tl
2
TIL/ECl <::<
1
~
4
10
c
12
13
UREF
13
4
5
10
15
14
14
11
I ECL/TTL
11
1
3
15
12
7
10125
3
2
7
6
11Ueel
uoc=•sv
l/4 10 125
ECL/ TTL
--łF. - -'
!). lnF
56
510.!l.
lkll.
u„= -5. 2V
Rys. 7.61. Scalone 1tanslatory poziomów logicznych
i) symbol graftetny t~nslatora TTL/OCL typu 10124 (Philips), b) S)'mbol grafiany 1ramlatota ECl.fITL 1ypu 10125
(Philips), c) J.ail0$0wanle ukl~ u 1012S do 1rarulacji swałów ECL w stalldardzie masy na S)'gn.ały 'ITL
337
7, 8U00WA I CHARAKTERYSTYKI CYFROWYCH UKŁAOOW SCALONYCH
przesyłanych
liniami symetrycznymi. Przy translacji sygnałów nieróżnicowych
jedno wejście translatora przyłącza się zewnętrznie do wyprowadzonego na
osobną końcówkę napięcia U 88 = - 1.3 V. Sposób wykorzystania translatorów
z układu 10125 do konwersji sygnałów nieróżnicowych ECL w standardzie masy
na sygnały TTL pokazano na rys. 7.6tc.
Do translacji sygnałów PECL{ ITL i odwrotnie również służą specjalizowane układy (np. układ EL90 (Motorola) zawiera trzy translatory
ECL/ PECL, układ EL91 zawiera trzy translatory PECL/ ECL).
Przy translacji pojedynczych sygnałów stosowanie układów zawierających kilka translatorów jest nieuzasadnione. Można wtedy wykorzystać
translatory dyskretne (rezystorowo-tranzystorowe), opisane w poprzednich
wydaniach tej książki. Pojedyncze, szybkie translatory TTL/ PECL i PECL/TTL
zawarte są w miniaturowych układach odpowiednio ELT20 i ELT21.
UKŁADY
Zależnie
MOS
7 .4
od typu przewodnictwa kanału w strukturach polowych, układy
MOS dzieli się na dwie podklasy: PMOS i NMOS. Technologia wytwarzania
układów NMOS jest trudniejsza. Dlatego najpierw opracowano i upowszechniono układy PMOS. Dopiero później zaczęto produkować seryjnie układy
NMOS, które zapewniają większą szybkość działania, większą gęstość integracji
i kompatybilność współpracy z układami TTL. Nin iejszy rozdział jest poświęcony układom MOS z tranzystorami o jednym typie przewodnictwa,
w zasadzie bez wyróżniania konkretnego typu. Symbole tranzystorów MOS
były przedstawione na rys. 6.20.
Asortyment układów MOS zawiera niemal wyłącznie układy wielkiej
i bardzo wielkiej skali integracji. Większość układów MOS to pamięci i układy
mikroprocesorowe.
Cyfrowe układy MOS są realizowane schematowo w dwojaki sposób:
jako układy statyczne lub dynamiczne. Układy statyczne stanowią pod względem
budowy logicznej dość wierne odbicia analogicznych układów bipolarnych.
Wadami tej konfiguracji są relatywnie duża moc strat i duża złożoność
układowa. Układy dynamiczne umożliwiają redukcję tych wad, jednak wymagają odpowiedniej synchronizacji pracy.
Do układów MOS zalicza się w zasadzie również układy z tranzystorami
komplementarnymi PMOS i NMOS, określane skrótowo jako układy komplementarne MOS (CMOS - Complementary MOS). Z uwagi na wiele różnic
między układami CMOS i „klasycznymi" układami MOS (w konfiguracjach
scbematowych, skali integracji i asortymencie układowym), układy CMOS
zostały wydzielone w niniejszej książce jako osobna klasa układów cyfrowych
(p. 7.5).
338
7.4.
UKŁADY
MOS
Układy
statyczne
7.4.1
Najprostszym statycznym układem logicznym, który jest również podstawą
realizacji bardziej złożonych funkcji logicznych, jest inwerter (rys. 7.62a).
Tranzystor T0 , który zapewnia inwersję sygnału wejściowego, jest tranzystorem
z kanałem wzbogacanym. Zmiana napięcia wyjściowego może nastąpić tylko
przy IU 11> 1uę1, gdzie uę jest napięciem progowym tranzystora T0 . Pojemność
CLjest sumą pojemności pasożytniczych, związanych z przyłączonymi do wyjścia
innymi układami, drenem tranzystora T0 i obciążeniem L.
a
lloo
b u.
Uoo
c
------,
UoH
l
I
I
.....-9horakterystyko
idealna
I
I
L
I
I
I
- - - - -ouo
I
u
0
,
I
Charakterystyko
r zeczywista
I
- - -L ___ l _ ___-:::
__ __
I
I
Uoo/2
Rys. 7.6Z. Inwerter statyczny MOS
ł) $Cłiemat,
b) chatakteryst)'ka pntjściowa, c) obcią.Unie w pos1aci 11:u 11.ys1ora „fOS 2 kanarem -.:ub<>Zanym
Najprostsze obciążenie w postaci rezystora dyfuzyjnego w praktyce nie
jest stosowane, gdyż do realizacji rezystancji o wartości 20 + 100 kQ musiałaby
być użyta bardzo duża powierzchnia kostki półprzewodnikowej. Nie jest to do
przyjęcia zarówno z punktu widzenia oszczędności miejsca, jak i z uwagi na
zjawiska pasożytnicze (rozłożona pojemność ścieżki rezystorowej). Często
natomiast stosuje się wysokooporowe, miniaturowe rezystory polikrzemowe,
zwłaszcza w układach pamięci NMOS i CMOS.
Jako obciążenia nieliniowe z reguły stosuje się tranzystory MOS.
Obciążeniem może być tranzystor MOS z kanałem wzbogacanym (pracujący
w trybie nasycenia. lub nienasycenia), lecz największą stromość charakterystyki przejściowej inwertera (rys. 7.62b) zapewnia tranzystor TL z kanałem
zubożanym, pracujący jako źródło prądowe (rys. 7.62c). Jako obciążenie
może być również zastosowany tranzystor PMOS z bramką trwale połączoną
z masą, pracujący w trybie nienasycenia. Taką konfigurację określa się jako
pseudo-N MOS.
Jeżeli
zasilające
przyjmiemy, że tranzystory inwertera są typu N MOS, to
U 00 jest dodatnie.
339
napięcie
7.
euoow... I CHllAAICTEAYSTYKI CYFROWVCH UKl.ADOW SCALONYCH
Na rysunku 7.63 zilustrowano działanie inwertera z rys. 7.62 podczas
Rodzina charakterystyk prądowo-napięciowych, rozpoczynają­
cych się od początku układu współrzędnych, dotyczy tranzystora wejściowego.
Linia kropkowana jest charakterystyką prądowo-napięciową tranzystora obciążającego, przywiązaną w postaci zwierciadlanej do punktu A 1 (U 00).
przełączania.
O 10
~--r--- u,
t
····„„.
'Ua.
.
Uo
A
Uoo
,l
l\io"Uo
•I
Uos
~
b
Uo
UQoł• Uoo ---~
Rys. 7.63
u., - - - - - t
--- -
u~
340
Charakterystyki
_:-:_:_=-------
prądowo-napi~owe,
ilustrująoc dzialaoie
U,
inwenera z rys. 7.62
7.4. UKlAOY MOS
Przyjmując, że początkowo napięcie wejściowe jest U n < uę, napięcie
U0 będzie równe U 08 = U 00. Przy skokowej zmianie napięcia wejściowego
do wartości U IH punkt pracy przemieszcza się skokowo (wskutek włączenia
tranzystora wejściowego) z punktu A 1 do punktu A 2• Potem następuje proces
rozładowania pojemności CL od napięcia U 08 do U01, , kończący się w punkcie
A3 . Przy następnej skokowej zmianie napięcia wejściowego z wartości UIH
na Un punkt pracy przemieszcza się z A 3 do A 1 , przy czym następuje
ładowanie pojemności CL od napięcia U 01, do U 08. W ten sposób wyznaczona
jest dynamiczna trajektoria punktu pracy układu (A 1 -A 2 -A 3 -A 1 ). Wartość
prądu płynącego przez Cdest określona przez wysokość trajektorii dynamicznej.
Przy wystarczająco powolnych zmianach napięcia wejściowego, gdy procesy
przejściowe można pominąć, punkt pracy przemieszcza się tylko po statycznej
charakterystyce obciążenia (A 1 - A 3 - AJ Zauważmy, że różnica dotyczy
tylko procesu włączenia, gdy Un -+ U IH i U011 -+ U ov Odcięta punktu
bieżącego A wyznacza stosunek podziału napięcia U 00 między tranzystor
wejściowy (U0 ) i obciążenie (U 00 - U 0 ).
Stromość spadku charakterystyki przejściowej inwertera (rys. 7.62b)
oraz wartość napięcia UOL zależą w decydującym stopniu od stosunku rezystancji obciążenia do rezystancji przewodzącego tranzystora wejściowego.
Należy przy tym zwrócić uwagę, że stromość charakterystyki zależy od
stosunku rezystancji dynamicznych (przyrostowych), a wartość napięcia U OL
od stosunku rezystancji statycznych (ustalając się wówczas, gdy przy określonym
napięciu U111 przez tranzystor wejściowy i tranzystor obciążenia płynie jednakowy prąd). W każdym ustalonym punkcie pracy (a więc również przy
U 0 = U 0 J inwerter można sobie wyobrazić jako dwurezystorowy dzielnik
napięcia (przy czym rezystory te są nieliniowe). Ponieważ napięcie U OL
zależy od stosunku tych rezystorów przy U 1 = U 18, nazwano układy wykazujące
tę właściwość stosunkowymi (ratioed), „wspólczynnikowymi" lub „podziało­
wymi". Dla zwiększenia marginesu zakłóceń jest pożądane osiągnięcie minimalnej wartości U OL• czyli maksymalnego stosunku tych rezystancji. Osiąga
się to przez odpowiednie projektowanie geometrii kanałów tranzystorów
wejściowego i obciążającego. Ponieważ rezystancja kanału tranzystora MOS
jest wprost proporcjonalna do stosunku L/Z (L jest długością kanału, z jego
szerokością), zapewnienie odpowiednio małego napięcia U 01, wymaga spełnienia
relacji (L/ Z)„. « (L/Z).~, w odniesieniu do obydwu tranzystorów inwertera.
Tranzystory obciążające powinny mieć zatem relatywnie „długi" kanał (niekiedy
znajduje to wyraz w ich nazewnictwie).
Układy najprostszych statycznych bramek logicznych są pokazane
na rys. 7.64.
Na podstawie pokazanych prostych konfiguracji bramek można realizować bardziej złożone kombinacyjne układy logiczne oraz przerzutniki. Układ
przerzutnika statycznego SR jest pokazany na rys. 7.65. W podobny sposób
341
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlAOÓW SCALONYCH
a
Rys. 7.64.
Układy
najprostszych bramek logicznych MOS
a) bramka NANO, b) bramka NO!l
~---+---<"O
.__..._.~R
Rys. 7.65
Statyczny przerzutnik SR
z tranzystorami MOS
buduje się inne przerzutniki oraz bardziej złożone układy sekwencyjne. W praktyce jednak bardziej złożone układy logiczne MOS realizuje się zwykle w technice
dynamicznej. Zapewnia ona mniejszą moc strat, prostszą budowę schematową
i związaną z tym mniejszą powierzchnię na kostce półprzewodnikowej. Ułatwia
to zwiększenie stopnia scalenia układów oraz większą szybkość działania.
Układy
dynamiczne
7.4.2
Rezystancja wejściowa bramki i rezystancja dren-źródło w nieprzewodzącym
tranzystorze MOS mają bardzo duże wartości, rzędu odpowiednio 10' 2 i 109 n.
Nawet niewielkie pojemności, które zależą od fizycznej struktury tranzystora i są
w przybliżeniu określane jako skupione pojemności związane z końcówkami,
mogą w tych warunkach powodować wytworzenie relatywnie dużych stałych
czasowych (np. I pF · 109 n = I ms). Magazynowanie ładunku z taką stałą
czasową umożliwia próbkowanie napięcia na pojemności w mniejszych odstępach czasu (np. co l µs) do wykonywania wielu operacji logicznych. Podczas
próbkowania napięcie na pojemności nie musi być podtrzymywane w sposób
wymagający pobierania energii ze źródła zasilania układu. Koncepcja ta
umożliwia zatem obniżenie mocy strat układu oraz bardzo prostą realizację
układów pamięciowych. Ponadto jest możliwe skonstruowanie układów, w których wartość napięcia wyjściowego U OL nie zależy od stosunku rezystancji
obciążenia do rezystancji przewodzącego kanału tranzystora. Układy te są
określane jako bezstosunkowe (ratioless) lub „niepodziałowe".
342
7,4, UKt.AOY MOS
Układy
dynamiczne MOS realizują swe funkcje wykorzystując następujące, zasadnicze operacje: próbkowanie (realizowane przez kluczowanie, tzn.
włączanie i wyłączanie obciążenia) i pamiętanie informacji. Operacje te są
wykonywane w układzie synchronicznie z dostarczanymi z zewnątrz wielofazowymi impulsami zegarowymi. W większości układów dynamicznych MOS
stosuje się synchronizację dwufazową łub czterofazową.
Prosty układ bezstosunkowego inwertera dwufazowego przedstawiono na
rys. 7.66a. Symbolami <P 1 i <1> 2 oznaczono dwa synchronizujące sygnały zegarowe
o okresie T., przesunięte w fazie i nie pokrywające się wzajemnie w czasie (rys.
7.66b). Sygnał <1> 1 służy do chwilowego włączania tranzystora T2, a sygnał <1> 2 do
chwilowego włączania tranzystora T3, przeznaczonego do transmisji napięcia
z pojemności C 1 do C2, przy czym C2 « C 1 .
Działanie układu jest następujące. W chwili t 0 następuje zmiana napięcia
U1 z U m na U n i jednocześnie włączenie obciążenia (T2) zgodnie z <P 1.
Następuje ładowanie pojemności C 1 prądem przepływającym przez T2 i napięcie
Uc 1 ustala się na poziomie U DD· W momencie t 1 tranzystor T2 zostaje
wyłączony. Następnie Uci zostaje zapamiętane do momentu 12, gdy otwiera
się tranzystor transmisyjny T3, powodując przelanie części ładunku z C 1
do C2 i związane z tym zmniejszenie Uci· W chwili t 3 tranzystor T3 zostaje
wyłączony i napięcie Uc 2 zostaje zapamiętane w C2 • W chwili t 4 rozpoczyna
się podobna operacja, lecz związana z przejściem U1 z poziomu L na H.
W czasie między t4 i t 5 przewodzą jednocześnie obydwa tranzystory Tl
i T2 (istnieją in.ne układy inwerterów, w których takie zjawisko nie występuje),
a napięcie Uci ustala się na poziomie określonym przez stosunek repre·
zentowanych przez nie rezystancji statycznych. W chwili I 5 obciążenie zostaje
wyłączone, co umożliwia dalsze rozładowanie C 1 do poziomu L. W chwili
t 6 zostaje włączony tranzystor transmisyjny, co umożliwia ustalenie napięcia
Uc 2 na poziomie równym O.
Jak widać, układ pobiera prąd zasilania tylko krótko przy ładowaniu Cl
(chwila t 0 ) i w czasie, gdy jednocześnie przewodzą obydwa tranzystory Tl i T2
(między 14 i t 5 ). Oznacza to znaczne zmniejszenie mocy strat w stosunku do
układów statycznych.
Okres T. sygnału <1> 1 (równy okresowi 1'2 ) odpowiada ,jednotaktowemu"
opóźnieniu propagacji przy synchronizowanym przesuwie danych cyfrowych.
Ponieważ opóźnienie pokazanego inwertera jest równe „połowie taktu", zatem
przyłączenie do wyjścia układu M następnego takiego samego inwertera S (lecz
z tranzystorem obciążającym sterowanym zegarem 1'2 i tranzystorem transmisyjnym sterowanym zegarem <P1 , jak pokazano na rys. 7.66a), umożliwia
osiągnięcie opóźnienia równego T., czyli przesuwu jednego bitu danych wejś­
ciowych, bez inwersji logicznej, w czasie r_.
Budowa inwertera dynamicznego typu stosunkowego jest pokazana na
rys. 7.67a. Pierwszy z nich, synchronizowany przez <P 1 , spełnia rolę sekcji
343
7. 8U00WA I CHARAKTERYSTYKI CYFROWYCH U Kt.AOOW SCALONYCH
a
.
1
i~~~~~~;-1----:
I
I
T2
I
I
-- ~ „ I" "~,. . . .~1~~
I
I
L __ ___ _ c!.'.':.c!. ___ J
M
I" I~
L_ --~=_s _____ JI
S
Rys. 7.66. Dynamiczny inwerter dwufawwy typu bczstosunkowego
a) budowa ł• polu ~ym liriił prm-yqft4J.
bi pndwgi cr:uo'ft
M (MASTER), podobnie jak w statycznych przenutnikach wyzwalanych
impulsem. Drugi spełnia analogicznie rolę sekcji S (SLA VE), odwracając stany
wyjściowe sekcji M. Aby maksymalna wartość napięcia na pojemnościach
pamiętających była równa U DD> amplituda sygnałów zegarowych <Il 1 i <ll 2 musi
być większa od (U 00 +UT), gdzie UT jest największym napięciem progowym
w grupie tranzystorów T2, T3, T5 i T6. Wartość napięcia wyjściowego UoLmu
344
7.4. UKlADY MOS
o
, -- - - - --,
°'l
100
(
I
00
I
--~'I
I
n
c,I i
IL
l
~
1
~
~6
i
: I
I
I °'"
I
1·:
11
____ __ ___ J L - - - - - - - __ J
M
S
I
b
Pamiętanie w C1
Odświeżanie
I
'r.
~,
Fb.mietoniew C11 I T-.!::
~„t
Fl:J::m:'.::ię~to=n=
'e=lw:C:'.'::t
I
I
lloó~
U I
Uc;U01---,..._-J
I
-
Pa miętanie w
C1
·lJoHmin
Ol.mox--
I Pomietonie wC2
Pomtetonie w C1
u.,---.....t::====~v
Llo1.mo•-f' - - - - - - - - I
OdSwieżorue
Rys. 7.67. Dynamiczny inwerter dwufazowy lypu stosunkowego
a) budowa (v.· polu obw~ooym
zależy
linią pt7.trywaną).
b) przebiegi c.:iaso~
od stosunku rezystancji kanałów przewodzących tranzystorów Tl, T2
(i analogicznie T4, T5 w drugim inwerterze). Oznacza to konieczność odpowiedniego projektowania geometrii tych tranzystorów. Jak widać z rys. 7.67b,
przebieg U 02 jest opóźniony w stosunku do U 1 o czas równy jednemu okresowi
zegarowemu T,,, co odpowiada jednotaktowemu opóźnieniu jednego bitu przy
przesuwie szeregowym. Przy przesuwie jednakowych stanów logicznych występuje konieczność odświeżania ładunku w pojemnościach pamiętających (przy
przesuwie poziomów L - w C 1 i przy przesuwie poziomów H - w C2 ). To
ogranicza minimalną częstotliwość pracy.
Szybkość działania układu jest ograniczona przez czas trwania procesu
przejściowego, związanego z .ładowaniem pojemności C 1 i C2 . Sygnał <1> 1 musi
być wystarczająco długi do naładowania C 1, a sygnał <1> 2 musi być wystarczająco
długo do naładowania C2 • Czas trwania procesu ładowania w każdym inwerterze
zależy głównie od rezystancji obciążenia (T2 lub T5} i pojemności pamiętających
(odpowiednio C 1 lub C 2). Czas trwania procesu rozładowania jest funkcją
345
1 BUDOWA I CHARAKTERYSTYKI CYFROWYCH Utc:lAOOW SCALONYCH
rezystancji przewodzących tranzystorów (Tl lub T4) i pojemności (odpowiednio
C 1 lub CJ. Ponieważ rezystancje przewodzących tranzystorów wejściowych Tl
i T4 muszą być znacznie mniejsze od rezystancj i obciążeń (odpowiednio T2 i T5)
aby zapewnić wystarczająco małą wartość napięcia U OLmu• czas ładowania jest
znacznie dłuższy od czasu rozładowania.
Opisane układy par inwerterów M - S stanowią klasyczne, sześciotran­
zystorowe komórki dynamicznych rejestrów przesuwających MOS LSl. Mniejsza, pięciotranzystorowa komórka rejestru jest omówiona w (1). Tamże s11
przedstawione układy dynamiczne MOS z synchronizacją trzyfazową i czterofazową oraz układy statyczno-dynamiczne.
W podobny sposób jak inwertery dynamiczne są budowane bardziej
złożone układy kombinacyjne. Na rys. 7.68 pokazano przykłady budowy bramek
dynamicznych bezstosunkowych typu NAND i NOR. Ogólne zasady budowy
dynamicznych układów MOS są przedstawione na rys. 7.69.
DJ
a
.,<>-j
l
c,
b
Y•'X'i"R"i
c,
RyJ. 7.68. Oynamicz.oe bramki MOS typu bczs1osunk owego
• ) NAND• .,_ NOM.
a
b
Uklod
logiczny
statyczny
RyJ. 7.69
Zloione układy dynamicwe
M OS rypu bc7stosunkowego
a).....S.budoo-y.
b) ...,t lad
346
c,
l
c,
I I
.,<>-j
~J'
o,
I I
Y •~
'
7.5. U KV.OY CMOS
UKŁADY
CMOS
Układy komplementarne CMOS stanowią specyficzną podklasę układów
7.5
MOS.
one charakterystyczną techniką układową, wykorzystującą
komplementarne tranzystory PMOS i NMOS do budowy układów cyfrowych
bez jakichkolwiek elementów rezystorowych. Układy CMOS wytwarza się
w specjalnym procesie technologicznym, który umożliwia wykonywanie komplementarnych tranzystorów MOS we wspólnej strukturze scalonej (p. 6.6).
Układy CMOS stopniowo wypierają układy TTL i stanowią najbardziej
perspektywiczną technologię układów cyfrowych (p. rys. 5.1). Najwa7.niejsze
zalety układów CMOS to bardzo ma/a moc strat w stanie statycznym i przy
małych częstotliwościach, oraz możliwość pracy przy ob11iżo11ym napięciu
zasilania, co umożliwia znacznie zmniejszyć moc strat przy większych częstot­
liwościach. Układy CMOS były początkowo wykorzystywane przy napięciu
zasilania równym 5 V ±0.5 V, aby zapewnić pełną kompatybilność zasilania
z układami TTL. Aby obniżyć moc strat przy wyższych częstotliwościach,
w najnowszych urlądzeniach z układami CMOS stosuje się obniżone napięcie
zasilania równe 3.3 V ± 0.3 V. Napięcie to stanowi nowy standard zasilania
cyfrowych układów scalonych (norma J EDEC 8.J). Do takiego napięcia zasilania
są przystosowane również najnowsze mikroprocesory, pamięci, „niskonapięcio­
we" rodziny układów SSI/MSI i układy specjalizowane. Układy trzywoltowe są
wytwarzane submikronowymi technologiami, umożliwiającymi znaczne zmniejszenie geometrii struktur scalonych w wyniku przeskalowania struktur pięcio­
woltowych. W rezultacie układy trzywoltowe osiągają większą szybkość działa­
nia niż układy pięciowoltowe. Ponieważ moc strat układów CMOS zależy od
kwadratu napięcia zasilającego (p. 7.5.1.3), więc w układach trzywoltowych
uzyskuje się zmniejszenie mocy strat w stosunku 52/ 3.3 2 ::::: 2.3, co oznacza
istotną oszczędność energii zasilania i energii potrzebnej do ch łodzenia, a także
- w urządzeniach przenośnych, zasilanych bateriami - większą wygodę użyt­
kowania.
Inne korzyści wynikające z obniżonego zasilania to niższy poziom generowanych zakłóceń elektrycznych i elektromagnetycznych. Uzyskuje się również
lepszą niezawodność pracy, ponieważ przy niższym napięciu zasilania łatwiej
wyeliminować erekt generacji gorących nośników w strukturach submikronowych (por. rys. 6.38), który może prowadzić do podwyższenia napięć progowych,
uniemożliwiając działanie układu. Także prawdopodobieństwo przebicia tlenku
bramkowego jest niższe przy obniżonym napięciu zasilania.
Układy CMOS można ogólnie podzielić na cztery główne kategorie:
1.
Układy do zastosowań masowych, o niewielkiej szybkości działania.
Typowymi przykładami są układy zegarkowe i proste, nieprogramowane
układy kalkulatorowe. Napięcie zasilania tych układów wynosi typowo
I + 1.5 V. Układy te nie są objęte ogólnie przyjętą standaryzację typów.
Wyróżniają się
347
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH U KlAOOW SCALONYCH
2.
Układy
programowalne (takie jak uklady PLO i FPGA) i specjalizowane
(ASIC - Application-Specific Integrated Circuits). Uklady te są omówione
w rozdziale 9.
3.
Uniwersalne układy cyfrowe LSI i VLSI, głównie uklady mikroprocesorowe (rozdz. IO) i pamięciowe (p. 8.4}.
4.
Uniwersalne układy cyfrowe SSI i MSI, stanowiące funkcjonalne odpowiedniki ukladów TrL.
Typowe napięcie zasilające, równe 5 V, mają cztery rodziny SSI/ MSI
z grupy 4: 4000B, HC, AHC i AC (tabl. 7.4). Pierwszą byla rodzina ukladów
niebuforowanych 4000A, opracowana w firmie RCA na początku lat siedemdziesiątych, przy zastosowaniu technologii 9 µm i bramek metalowych.
Rodzina ta została następnie zastąpiona przez ulepszoną rodzinę uklad ów
buforowanych 4000B, wytwarzanej w technologii bramek krzemowych 6 µm
(np. rodzina HE4000B firmy Philips). Charakteryzuje się ona szczególnie
dużym zakresem napięcia zasilającego, lecz niewielką szybkością dzialania.
Uklady z tej rodziny nie są zgodne końcówkowo i oznaczeniowo z ukladami
TIL. Pełną zgodność końcówkową, oznączeniową i funkcjonalną z układami
TIL mają układy CMOS z szybkich rodzin HC (High-speed CMOS), AHC
PORÓWNANIE PARAMETRÓW U KŁADÓW TT~ I CMOS
(WARTOŚCI TYPOWE PRZY Uoc • 5V, C4 • j()pf i
~
p
r.-
„25~c.
CMOS
TTL
LS
ALS
F
Napięcie zasilające Ucc (V) St S'I'. 5 ± 10% 5±5%
Mocstra1 na bramk~ w sta·
nic s1a1ycznym
(mW)
I
2
5.5
O.as propagacji •, ,,,. (ns)
przy Ci = SO pF
9
5
3.5
Maksymalna ~1olliwość
pracy /_(MHz)
ISO
33
50
Prądy wyjściowe (mA):
0.4
0.4
I
l oumu. przy Uonmin
P,„
l o1.m11.- przy UoLrn.u
Tablica 7.4
8
8
20
20
20
200
0.4
600
0.3
40008
HC
AHC
AC
FACT
3 18
2-6
2- S.S
2 6
0.001
0.0025
0.0025
0.0025
125
8
5.2
5.5
4
SO
115
160
4 mA
2.1 mA
8 mA
24 mA
przy 2.5V przy4.5V przy 4.5 V przy 3.8V
0.44mA
4mA
8mA
24mA
prą0.4V przy0.4V pny0.4V przy 0.4V
Prądy wejściowe (µA~
/IH~
1„....
Margines
400
zaklóreń
M ...[V)
0.3
20
O.I
O.I
0.3 Ua:
l
I
l
I
028 Vtt cqk I Z.SV pnJ Vtt • • JV
OllU l ,AV
348
I
I
pn)
U«• S..OY
7.5. U KŁADY CM OS
(Advanced HC) i AC (Advanced CMOS). Popularna rodzina HC wytwarzana jest
w technologii 3 µmi zawiera układy kompatybilne oznaczeniowo i funkcjonalnie
z układami z rodziny LS TTL. Rodzina AC jest wytwarzana w' technologii I µm
i była najpierw wprowadzona z oznaczeniem firmowym FACT (Fairchild
Advanced CMOS Technology).
Jale widać z tabl. 7.4, układy CMOS są dobrymi zamiennikami ukJadów
TIL. Poza wymienionymi zaletami, układy CMOS mogą pracować w szerszym
zakresie temperatury otoczenia, a także zapewniają lepsze możliwości sterowania dużych obciążeń. Układy z rodziny AC umożliwiają bezpośrednie sterowanie
obciążeń 50-omowycb.
Układy z podanych „pięciowoltowych" rodzin mogą również pracować
przy obniżonym napięciu zasilania, lecz wtedy ich szybkość pracy znacznie
spada. Przykładowo, typowe opóźnienie bramki 74AHCOO wynosi
5.2 os przy 5 V zasilania i 8 ns przy 3.3 V. Ponadto, układy pięciowoltowc zasilane
napięciem 3.3 V nie mogą być łączone z układami zasilanymi napięciem
5 V w jednym urządzeniu, z uwagi na diod y złączowe na wejściach i wyjściach.
UkJady trzywoltowe są natomiast tak projektowane, aby mogły współpracować
z układami pięciowoltowymi.
Zestawienie parametrów układów CMOS z czterech rodzin trzywoltowych przedstawione jest w tabl. 7.5. Rodziny LV (Low Voltage), LVC (LV
CMOS) i HLL (High-speed Low-power Low-voltage) są wytwarzane pri.ez firmę
Philips i z pewnymi modyfikacjami przez firmę Texas Instruments. Rodzina LVX
jest wytwarzana przez firmę Motorola.
ZlsTAWlENIE PAL\Ml!n0W UKJ.ADÓW CMOS
l ROOZJN O NAPIĘCIU ZASILANIA 3.3V ;tG.lV
(WARTOSCI TYPOWI! PRZY Utt: • D V, C• c lOpF; T. • +2"Q
Rodzina
Parametr
Napięcie zasilające
U ce (V)
1„„
Czas propagacji
(ns)
przy CL • SOpF
Maksymalna częs1011iwość
pracy /_ (MHz)
Tablica 7.5
LV
LVC
HLL
LCX
1.0-3.6
1.2- 3.6
1.2- 3.6
2- 3.6
9
4.6
2.1
4.S
70
2SO
JSO
min. ISO
24/24
0.6
24/24
-40+ +85
- 40 + +85
Prądy wyjściowe (mA ~
loLmufloHlllV.
Technologia (µm)
Temperatura pracy (' C)
Układy z
6/6
24/24
2
0.6
- 40 + + 12S - 40 + +85
rodziny LV zapewniają przy zasilaniu 3.3 V podobne parametry
co układy z rodziny HC przy 5 V (tabl. 7.4). Podobnie układy z rodzin LVC i LVX
mogą zastąpić układy z rodzin AC i AH C.
349
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKLAOOW SCALONYCH
W typowych zastosowaniach komputerowych układy CMOS MS! są
często stosowane jako różnego rodzaju bufory magistralowe do mikroprocesorów i pamięci, zazwyczaj o 8- lub 16-bitowym formacie danych. Do szybkich
mikroprocesorów i pamięci wymaga się możliwie najszybszych ukladów peryferyjnych. Jedną z takich rodzin układów wielobitowychjest rodzina HLL, której
szybkość dzialania jest dwukrotnie większa niż układów z rodziny F TTL.
Układy HLL są umieszczane w nietypowych obudowach z kilkoma centrycznie
umieszczonymi po obu bokach końcówkami zasilania i masy. W ten sposób
osiąga się niższy poziom zakłóceń generowanych przez przełączane układy na
szynach zasilających.
Obszerne omówienie układów CMOS jest zawarte w [8, 9).
Podstawowe
układy
7.5.1
CM OS
Poniżej będą
omówione podstawowe struktury układów CMOS o małym
stopniu scalenia. Z podobnych struktur są budowane także liczne układy CMOS
MSI i LSI, w których moc strat nie stanowi iakiego czynnika ograniczającego
wielkość stopnia scalenia, jak ma to miejsce w układach TIL i ECL.
Budowa i
właściwości
7 .5.1 .1
Podstawowym ukladem CMOS jest inwerter, składający się z dwóch komplementarnych tranzystorów MOS, połączonych w sposób pokazany na rys.
7.70. W każdym z dwóch możliwych stanów logicznych przewodzi tylko jeden
tranzystor układu. Jeśli U1 "" Uss =O, to pnewodzi tranzystor PMOS, a tranzystor NMOS jest odcięty, czyli na wyjściu ustala się napięcie U011 • U00. Jeśli
natomiast
U o&» to przewodzi tranzystor NMOS i tranzystor PMOS jest
odcięty, czyli na wyjściu otrzymuje się napięcie U 0 ,_"" U ss = O. Rezystancje
nieprzewodzących kanałów są bardzo duże, rzędu 109 n. Jeszcze większe są
rezystancje wejściowe bramek, rzędu 10 12 n. Natomiast rezystancje przewodzą­
cych kanałów są typowo równe 200 + I 000 O, a w najszybszych układach są one
około IO-krotnie mniejsze. Moc strat w stan ie statycznym wynika zatem głównie
z upływności związanych z elementami pasożytniczymi (por. rys 6.35b).
Na rysunku 7.71 przedstawiono przykładową statyczną charakterystykę
pnejściową inwertera, którą można podzielić na pięć zakresów, stosownie do
różnych trybów pracy tranzystorów. Zakresy te są następujące:
u, ""
r: o..;;
li:
Ili:
IV:
V:
u, E; u„".
UTN <:;;U , E; U 0 - IUrpl.
U0 -IUTPI <:;; U,<:;; U0 + UrN•
U 0 + Ur„ E; U 1 E; U 00 - IUTPI•
Uoo - IUTPI E; U,~ Uoo·
350
TI
Tl
TI
TI
Tl
nienasycony,
nienasycony,
nasycony,
nasycony,
odcięty,
T2
T2
T2
T2
T2
odcięty;
nasycony;
nasycony;
nienasycony;
nienasycony;
7
5.. U KŁADY CMOS
11 111 IV
V
loo 200
µA
Uoo-- r
_)
u,
Uss
Ur
5 V
Rys. 7.71
Cbaralc1erys1yka prttjściowa
inwertera CMOS
Rys. 7.70. Schemat inwertera C MOS
gdzie UTP i Urn są napręcrami progowymi tranzystorów odpowiednio
p-kanałowego (Tl) i n-kanałowego (Tl).
W zakresie I i II inwerter może być zatem reprezentowany od strony
wyjścia przez relatywnie małą rezystancję (R 011 ::::: 200 + 1000 Q) między wyjściem
i napięciem zasilającym U DI» W zakresach I V i V podobna rezystancja R0 może
być widziana między wyjściem a masą . W zak resie III obydwa tranzystory
pracują w trybie nasycenia i rezystancja wyjściowa jest kilkakrotnie większa.
Statyczna charakterystyka przejściowa inwertera może być wyrażona
analitycznie przy użyciu znanych wzorów określających zależność prądu płyną­
cego przez tranzystor MO S od napięć Un U 65 i U vs· Wartości prądów
płynących przez tranzystory inwertera mogą być określone następującymi
„
wyrażeniami:
tranzystor Tl w zakresie nienasycenia
I VI' = - p„ [(U o- U DDl (U, - U oo- U rrl - (U o- U DD) 2/2]
tranzystor Tl w zakresie nasycenia
i'op = - {l„ (U 1 - U DD - U1"p) 2j 2
tranzystor T2 w zakresie nienasycenia
I DN = p„[Uo(U,- Un,) - U~/2]
tranzystor T2 w zakresie nasycenia
1'0 N = {J„(U1 - Ur„) 2 /2
przy czym współczynnik
w p. 6.3.3.
p
w odniesieniu do obydwu tranzystorów
został
określony
Charakterystykę przejściową
podstawie warunku I'Dr
go U" inwertera
351
=-
w obszarze III można wyznaczyć na
I' 0,~· Stąd otrzymuje się wartość napięcia progowe-
1. BUDOWA I CHAAAKTEAYSTYICI CYFROWYCH
UKŁAOOW
SCALONYCH
W celu uzyskania maksymalnej odporności na zakłócenia wymaga się,
aby napięcie UP było możliwie bliskie wartości U0 of2, było możliwie stałe przy
zmianach temperatury i miało najmniejszy rozrzut. Wartość UP = U0 of2 ustala
się przy projektowaniu inwertera przez odpowiedni dobór Ur"" U TN• Pr i PN·
W celu zapewnienia symetrii charakterystyki przejściowej można przyjąć
U TN = - U u i PN = Pr· Przy tych samych długościach L kanałów i tych samych
jednostkowych pojemnościach C1 izolatora podbramkowego w obydwu tranzys·
torach, z równości p„ = Pr wynika warunek
Z,= Z.(µJµ,) ~ (2 + 3)Z.
Szerokość
z,
bramki tranzystora PMOS powinna być zatem 2 + 3-krotnie
bramki tranzystora NMOS. Oznacza to odpowiednie
zwiększenie rozmiarów tranzystora PMOS i zwiększenie powierzchni zajmowanej przez inwerter na kostce krzemowej. W praktyce, gdy UrN <IV r„1 (typowe
wartości to U TN = 0.6 V i U TP = - I V), w celu zapewnienia U = U 0 of2
zwiększenia te muszą być jeszcze znaczniejsze.
Dryf termiczny napięcia U jest niewielki (rzędu pojedynczych procentów), natomiast rozrzut wielkości U może być znaczący. Ogranicza to wartości
gwarantowanych marginesów zakłóceń.
Cała charakterystyka przejściowa inwertera może być wyrażona analitycznie w postaci następujących związków, odniesionych do wymienionych pięciu
zakresów pracy inwertera:
większa
od
szerokości
„
„
„
I:
II:
Uo =Voo
U 0 = U,- Uu+[(U 00 - Uu- U 1) 1 -
II I:
u,= Ur przy u„-Vr„ ~ U 0
IV:
U0 =
V:
~
p„ (U 1 - UrH) 1 ]~
fJ
„
u„ - Urr
U1 - UrN - [(U 1 -Ur~·) 2 - ~: (U 1 -U 00 -Urrl 2]~
U0 = 0
Równania te zapewniają dużą zbieżność z wynikami eksperymentalnymi.
Na podstawie uproszczonego modelu inwertera może być również
określone jego działanie dynamiczne. Przy pominięciu pojemności pasożyt­
niczych tranzystorów i uwzględnieniu tylko pojedynczej skupionej pojemności
CL czas opóźnienia inwertera można określić następująco.
Załóżmy, że początkowo na wyjściu inwertera jest poziom H, czyli na
pojemności CL jest napięcie U 0 ,,. Napięcie na wejściu inwertera zmienia się
w postaci skoku jednostkowego od Odo U 00. Po tej zmianie napięcie wyjściowe
352
7.5. UKŁA DY CMOS
najpierw pozostaje równe U DD> gdyż napięcie na kondensatorze nie może się
zmieniać w sposób raptowny. A zatem tranzystor TI zostaje odcięty i tranzystor
T 2 znajduje się w stanie nasycenia. Kondensator CL rozładowuje się prądem
o w przybliżeniu stałej wartości, równej I' DN· Ten proces trwa aż do chwili gdy
tranzystor T2 osiągnie próg trybu nienasycenia, czyli gdy U 0 = U 00 - U r N· Cz.as
opóźnienia, potrzebny do osiągnięcia tego stanu, jest równy.
,
i.1
2CLUrn
= CLUTN / l DN= fJN (U DD - uT N )2
Dalsze rozładowanie kondensatora C1.. następuje prądem I Dl« Proces ten
w przybliżeniu zamodelować przez zastąpienie nieliniowej rezystancji ros
tranzystora T2 rezystancją liniową
można
Ro= (Uoo - UrNl f l'oN
i wówczas rozładowanie kondensatora
obwodu RC:
można opisać
typowym wzorem dla
U 0 (t) = (U 00 - U r N) exp[-(t-i.1) / (R0 CL)]
Z warunku U0 (tr 8J = U1)/)/2 można obliczyć
trnL
= t,, +RoCLln (2(1- UrNI U00)] =
= 2-r {UrN f(UDD - UTN) + ln [2(1 - UrNf U oo)]}
gdzie
CL
-r= - - - = - - -
{JN(Uoo - UTN)
Przy typowych
wartościach
U TN równych 0.6 """ I.O V
można otrzymać
przy-
bliżony związek
"tpffL"'
1.4 1:
Na przykład, dla CL = 50 pF, PN = I mA/V2 , U00 = 5 V i UTN = I V można
obliczyć -r = 12.5 ns i trHL "' 17.5 ns.
W podobny sposób można określić czas opóźnienia tr1n, gdy następuje
ładowanie kondensatora CL przez przewodzący tranzystor Tl , a tranzystor T2
jest odcięty.
Przy powolnej zmianie napięcia wejściowego u, w zakresach II, III i IV
(rys. 7.71) przez obydwa tranzystory inwertera płynie prąd skrośny ze źródła
zasilania. Jednak przy szybkim przełączaniu sytuacja wygląda inaczej, zwłaszcza
gdy czas trwania zbocza (czyli czas narastania t, łub opadania t1) impulsu
wejściowego jest krótszy od analogicznego czasu trwania zbocza impulsu
wyjściowego (co może mieć miejsce przy dużej pojemności obciążenia CJ. Jeśli
353
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH
U Kł.AOOW
SCALONYCH
z poziomu H (U 00) na L (U ss = 0), to można
przyjąć że pode-Las tej zmiany napięcie U0 jest podtrzymywane niezmiennie na
poziomie L, utrzymywanym przez pojemność Cu W tych warunkach przez
tranzystor T2 nie płynie żaden prąd, nie ma więc również prądu skrośnego.
Podobna sytuacja ma miejsce przy szybkiej zmianie U1 z poziomu L na H.
Dynamiczna charakterystyka przejściowa przybiera wtedy postać zbliżoną do
kwadratu o bokach równych U00 . W tych warunkach moc strat inwertera
CMOS przy przełączaniu zależy wyłącznie od wartości pojemności Cv napięcia
U00 i częstotliwości f (p. 7.5.1.3).
Specjalne zwiększanie pojemności c„ aby stworzyć opisane warunki
jest oczywiście niecelowe, gdyż spowalnia pracę układu i powoduje zwiększenie
wtedy
napięcie
U 1 zmienia
się
a
p
x1 ~--------1------<> Uoo
.,
r-i
• • o-- - - ---
-----nJ
II
i
p
i--,
_,L__ __.__
_..._
9 9u9
...,
y -:. x
1
„x
2
v . „ vXn
IN.AND!
b
~-~il~-+--Po U.o
I
x•
.,
•
•
Rys. 7.72
x,
Podstawowe bramki CMOS
o) NOR, b) NAND
354
7.5.
UKŁADY CMOS
prądu skrośnego w
bramkach sterowanych przez wolnozmienne zbocza. W prakdo tego, aby wyrównać czasy przełączeń na wejściach i wyjściach
układów. W tych warunkach moc strat, wprowadzana przez prżeJsc1owe
prądy skrośne, stanowi zazwyczaj mniej niż 10% całkowitej mocy strat
tych układów [10).
Elementarne bramki CMOS typu NOR i NAND mają budowę pokazaną
na rys. 7.72a, b. Bramka NOR jest budowana przez łączenie szeregowe
tranzystorów p-kanałowych i równolegle tranzystorów n-kanałowych, natomiast w bramce NAND proces łączenia jest odwrotny. Bramki tego rodzaju
określa się jako nie buforowane. Były one wytwarzane w łatach siedemdziesiątych
w ramach podstawowej, nie buforowanej serii 4000A wprowadzonej przez
firmę RCA.
Wadą bramek nie buforowanych była zależność wielkości napięcia
progowego bramki od liczby użytych do sterowania wejść bramki, co pogarszało
margines zakłóceń. Drugą wadą układów nie buforowanych była silna zależność
czasu propagacji od stromości zboczy sygnału wejściowego. W związku z tym
zostały wprowadzone ulepszone, buforowane układy CMOS. Wymienione
wady układów nie buforowanych zostały usunięte przez wprowadzenie do
układów bramkowych dodatkowych inwerterów, pełniących funkcję buforów
wyostrzających charakterystyki przejściowe (dzięki dodatkowemu wzmocnieniu). Ulepszenie to wywołuje co prawda wydłużenie czasów propagacji, ale
przy wprowadzeniu nowszych, szybszych technologii ten szkodliwy efekt
jest niewielki. W taki sposób są realizowane wszystkie układy CM OS SSl/MSI
opracowane w latach osiemdziesiątych (tabl. 7.4). Układy z buforowanej
serii 4000 oznacza się dodatkową literą B (bujjered), np. 400ł B. Nieliczne
układy nie buforowane oznacza się literami U lub UB (unbuffered).
Buforowanie może być praktycznie realizowane różnymi sposobami.
Generalnie istnieją trzy takie sposoby w odniesieniu do podstawowych bramek SSI:
tyce
dąży się
buforowanie na wyjściu,
buforowanie na wejściach,
buforowanie na wyjściu i na
wejściach.
Buforowanie na wyjściu przedstawiono na rys. 7.73. Polega ono na
dodaniu na wyjściu podstawowego układu bramki dwóch szeregowo połączo­
nych inwerterów, pełniących wspólnie funkcję wzmacniacza nieodwracającego.
W rezultacie otrzymuje się wyraźnie wyostrzone charakterystyki przejściowe
(rys. 7.73c) oraz lepsze charakterystyki dynamiczne (rys. 7.73d). Należy jednak
dodać, że układy buforowane z rodziny HE4000B firmy Philips są wytwarzane
w unowocześnionej technologii 6 µm, z boc-.:ną izolacją tlenkową (LOCMOS)
i bramkami krzemowymi.
355
7. BUDOWA I CHARAKT ERYSTYKI CYFROWYCH UKŁADÓW SCALONYCH
Q
c
b
y
=x,-;-x;
Bramko
niebu forowano
Bromko
buforowano
OL__..l)...J..J,......L...:::::..~-U~1_,
O
5
10
V 15
d
6~~~~~~~~~~~~~~~
U0 ,b rom ko bufor owano
V U11 U0
4
2
0.4
Rys. 7.73. Bufo ro wanie na
0.8
1.0
Czas l}'sl
0.6
wyjściu,
na
0.2
przyk ładzie dwuwejściowej
0.4
bramki NOR typu HEF 40018
firmy Philips
a) sdiemat dckU)'CUly (gwiazdka 0'1.nac:ia W)jście analogicznaj bramki nie bufór<>wanej). b) róv.·noważny Khem.<111 logiczny,
c) cha~ktcrystyki pnx:j kło,,.'t, d) przebiegi v.'}'jści ov.-e przy sterowa.niu sygnalatni o róf n.ej s.t.i<>rn<>ści ibc>i.'ty (().1 J.1$ i I s)
Buforowanie na wejściach stosuje się do wyostrzania sygnałów wejś­
ciowych. Zazwyczaj jest ono łączone z buforowaniem na wyjściu. Przykładem
może być budowa bramki CD4001B firmy RCA, pokazana na rys. 7.74. W tym
356
7.5.
UKŁADY
CMOS
a
Uoo
u,,=o
b
x,
-
Rys. 7.74. Buforowanie na wejściach i wyjści u na przykładzie
bramki NOR typu CD4001B firm y RCA
dwuwejści owej
a)
~llf4l ~l&tryNny, b)
schemat loglc:nJ'
przypadku bramką podstawową jest bramka NAND z buforowanymi inwersyjnie obydwoma wejściami i wyjściem. Układ zawiera jeden inwerter więcej
w porównaniu z układem poprzednim (rys. 7.73a), lecz liczba poziomów inwersji
pozostaje ta sama (rys. 7.73b). Ten sposób buforowania zapewnia nieco lepszą
odporność na zakłócenia niż tylko buforowanie na wyjściu.
Układy CMOS z rodzin szybkich (HC, AHC AC), kompatybilnych
z układami TTL, są generalnie wytwarzane jako buforowane, lecz w dwóch
zasadniczych odmianach. Pierwsza z nich cechuje się wejściowym napięciem
progowym UP leżącym w pobl i żu wartości UDD/ 2. Opisane powyżej struktury
buforowane należą właśnie do tej grupy układów CMOS, przeznaczonych do
sterowania przez układy z tej samej grupy. Aby umożliwić bezpośrednie
sterowanie układów CMOS przez ukJady TTL, jest wytwarzana druga grupa
układów CMOS, których wejściowe napięcie progowe jest ustalone na poziom ie
TTL-owskim, czyli ok. 1.4 V. Łatwo zauważyć, że łącząc wyjście układu LS TTL
z wejściem układu CMOS z pierwszej grupy nie można zapewnić gwarantowanej
poprawnej pracy przy poziomie H, gdyż U oH m;n (LS TTL) = 2.5 -7- 2.7 V,
a napięcie prngowe Up (CMOS}= 5/ 2 = 2.5 V. Dlatego układy CMOS
z TTL-owskim napięciem progowym są na wejściach wyposażone w specjalne
357
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁADÓW SCALONYCH
O
Układ zobezpieczojqcy
pr zed uszkodzeniami
pr zebiciowymi
, _______ )_..,
I
I
I
02
DJ
P2
I
I
I
.
I
I
Pl
i
.
Wejscie I -100 ll
170 ll
IiR•Z_YSłor
pollkrzemowy
01
I
._..__ Oo uk ład u
t09iczne90
'11
N2
I
L________'-_- _-:J--.----<'-- - -- -+----<o Uss =O
b
s
V
u.
4
l
74HCT
74HC
2
1
o
u,
2
l
4 V S
Rys. 7.75. Bufor wej śdowy ukladów
74HCT (Philips)
a) $Chcmat. b) porównanie cłtarakterystyk pmjścitH'')'ch
bufory obniżające napięcie progowe (rys. 7.75). Układy te są zazwyczaj oznaczane dodatkową literą T w zapisie typu, np. 74HCTOO.
Jak widać z rys. 7.75, dioda D3 obniża napięcie zasilania pierwszego
inwertera. Gdy napięcie wejściowe jest równe O (na poziomie L), to napięcie
wyjściowe tego inwertera jest podciągane do napięcia U vv przez przewodzący
tranzystor P2, calkowicie odcinając tranzystor P3.
W wyniku oddziaływań zewnętrznych, w układach CMOS mogą wystąpić dwa szkodliwe zjawiska: zjawisko zatrzaskiwania i zjawisko przebicia
dielektryka bramkowego. Zatrzaskiwanie zostało omówione w p. 6.6. W nowoczesnych, szybkich rodzinach układów CMOS próg jego występowania został
przesunięty tak dalece, że prawdopodobieństwo jego występowania w typowych
warunkach użytkowania jest znikomo małe. Grożne w skutkach może być
jednak zjawisko przebicia.
358
7.5.
UKŁADY
CMOS
Napięcie
przebicia warstwy dielektryka w tranzystorze MOS jest rzędu
100 V, natomiast rezystancja wejściowa tranzystora jest rzędu 1012 n. W odróżnieniu od tranzystorów bipolarnych, które mogą być testowane w obszarze
przebicia, tranzystor MOS może ulec trwałemu uszkodzeniu w wyniku pojedynczego przebicia dielektryka pod bramką. Ponieważ rezystancja wejściowa
na elektrodzie bramki jest bardzo duża, przebicie może nastąpić w wyniku
gromadzenia ładunku elektrostatycznego, np. podczas manipulacji układami
CMOS przy montażu. Niebezpieczne są wszelkie tworzywa sztuczne, z którymi
styka się montażysta, przykładowo: podłoga, fotel lub wykładzina stołu montażowego wykonane z tworzyw sztucznych, jak również części odzieży wykonane
ze sztucznych włókien. Warto zwrócić uwagę, że człowiek idący po gładkiej
podłodze z tworzywa sztucznego może się naładować do potencjału 4 + 15 kV,
który przy zetknięciu z bramką tranzystora MOS przez pojemność ciała
(ok. 300 pF) może go trwale uszkodzić.
W celu zmniejszenia niebezpieczeństwa uszkodzenia układów CMOS
statyczny, wszystkie te układy są wewnętrznie wyposażane na
wejściach w odpowiednie układy zabezpieczające (rys. 7.75, 7.76). Przy stosowaniu rezystorów dyfuzyjnych wykorzystuje się także stowarzyszone z nimi diody
lub tranzystory pasożytnicze (por. rys. 6.23b). Aby ograniczyć wartość prądu
udarowego przy nagłych zmianach na wejściu, w niektórych układach stosuje się
dodatkowe, „prawdziwe" rezystory polikrzemowe (rys. 7.76). Standardowa
metoda testowania odporności układów na uszkodzenia przebiciowe wykorzystuje układowy model „ludzkiego ciała" pokazany na rys. 7.76e (norma Mil-Std
883B, Method 3015). Stosuje się również inne testy, wykorzystujące model
„maszyny" (Philips).
przez
ładunek
Układy CMOS o obniżonym napięciu zasilającym (UDD = 3.3 V) mają
zazwyczaj (oprócz rodziny LV) inne wejściowe układy zabezpieczające, które
umożliwiają poprawną współpracę z układami CMOS zasilanymi typowym
napięciem 5 V.
Należy podkreślić, że układy
pokazane na rys. 7. 76 nie zabezpieczają
struktur scalonych przed wszystkimi, praktycznie możliwymi narażeniami.
Dlatego obowiązują następujące zasady obchodzenia się z układami CMOS:
układy CMOS powinny być magazynowane i transportowane w opakowaniach z materiału antystatycznego Gest niedopuszczalne stosowanie
typowych pojemników lub/i nośników plastykowych),
przy montażu i kontroli układy CMOS powinny być umieszczane na
metalowych, uziemionych stołach lub w metalowych, uziemionych pojemnikach, przy czym operator powinien być również uziemiony (realizuje
się to najłatwiej przez założenie na przeguby rąk operatora uziemionych
bransolet),
359
7, BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁA DÓW SCALONYCH
a
0~Uoo
WejŚcieo;;-.,....-C=:JF-...-- Oo układu
Rodzi no LOOOB ( RCA I
z bromkq m eto lową.
1,5 kll
!dyl.I j ~ 03
.__ __,_ _ Uss
~
0 1,
b
Uoo
01
R,
-LOOll
Rodzino HE LOOOB ł Philips I
z br am ką. krze m ową,
02
lpoli krzem)
' - - -Uss
c
~-----Uoo
R„
01
R„
50+170 llldyf.I
Rodzino HC (Motorolo, Phi lips)
I00• 150ll
I pol ikr zeml
d
Rodzino AC I Tl , Phil ips I
'-+----..-----u„
e
l5 kil
Źródło
Badany
układ
wysokiego
napię_cio
2 kV
Rys. 7.76. Zabezpieczanie wejść ukła dów CMOS przed uszkodzeniami przcbiciowymi na
wejściach
a) układ t.ahezpio::za.j ący w rodzinie 40008 (RCA} z bramk ą mctalov.'<J. b) układ stosowany w rodzinie HE.40008 (Philips)
stosowany w rodzinie HC {Pllilips, ł.łPl<WQ/<)), d) ukłm.I .s1oww11ny w r<xh.:inic AC (Te-xos
Instr1111ttnu. Philips), c) standardowy układ tcslowy
1. bramką krzemową, <ł układ
nie nałe-ż.y wprowadzać układów CMOS lub wyciągać ich do/z podstawek pomiarowych lub płytek drukowanych przy włączonym napięciu
zasilającym,
360
7.6.
UKŁADY
CMOS
urządzenia
i prżyrządy stosowane przy manipulacji z układami CMOS
(np. kolby lutownicze) muszą być dobrze uziemione.
Diody zabezpieczające mogą ulec uszkodzeniu przy ich przeciążeniu,
np. przy bezpośrednim łączeniu wejść układów CMOS z układami cyfrowymi
o innych napięciach zasilających lub ze złączami krawędziowymi płytek
druk owanych. W takich sytuacjach należy stosować dodatkowe zabezpieczenia
zewnętrzne (rys. 7.77) lub specjalne bufory C MOS z innymi układami za.
Złqc;ze
R
Oo wejieio
k.rowędziowe )>--ll..---łc:::::Jł--- ukłoOU CMOS
Y.
Rys. 7.77
Zabezpieczające połączenie
złącza krawęc!Vowego
IOO kll
płytce
na
drukowanej
z wejściem
układu
C MOS
bezpieczającymi. Rezystory o typowej wartości R, = I O k!l + I MO, włączane
szeregowo z wejściami lrzeba tak.że stosować, gdy używamy uklady CMOS
do kształtowania i generacji impulsów w oparciu o obwody RC, jeśli do
tych wejść są pnylączone kondensatory o pojemności większej od ok.
500 pF lub jeśli na tych wejściach występują pnebiegi napięciowe przek raczające
zakres dopuszczalny. Na pr-.tykład, dla rodziny HE4000B dopuszczalny zakres
napięcia wejściowego wynosi (-1.5 V, U 00 +0.5 V). a dla rodziny HC
wynosi (- 1.5 V, U 00 + 1.5 V). Odpowiednie maksymalne, dopuszczalne prądy
wejściowe wynoszą ± 10 mA i ±20 mA. Na leży też pamiętać, że nawet
ograniczone przewodzenie diod wejściowych może modyfik ować stale czasowe
RC, użyte do formowania dlugości lub częstotliwości powtarzania impulsów.
Ponadto, rezystor szeregowy R„ tworzy z pojemnością wej ściową C, układu stałą czasową R,C,, która zwiększa czas propagacji ukladu (typowo
ok. 6 ns/k!l).
Na pozostawionym swobodnie wejściu układu CMOS może się pojawić
w czasie pracy potencjał o nieokreślonej wartości, który może zakłócić prawidłowe dzialanie ukladu. Dlatego generalną zasadą jest, aby w urządzeniu żadne
wejście jakiegokolwiek układu CMOS nie pozostawało swobodne. Wejścia nie
używane należy przyłączyć do masy lub napięcia zasilającego, stosownie do
funkcji logicznej (np. nie używane wejścia bramek NOR należy polączyć z masą,
a nie używane wejścia bramek NAND należy połączyć z U mil·
Wyjścia układów CMOS są zabezpieczone diodami stowarzyszonym i
z drenami tranzystorów wyjściowych (por. rys. 6.35b).
Szybkość działania
Podstawowe miary
ukladów cyfrowych: czas propagacji
pracy fmu byly omówione w p. 5.3.J, a ich
w odniesieniu do układów CMOS zost.a.ły podane w tabl. 7.4.
t, i maksymalna
wartości
szybkości działania
7 .5.1.2
361
częstolliwość
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKtAOOW SCALONYCH
I
T„ • •25°C
ns t.
175
20
/
150
.......
Ucc '• S.OV
r, =25°c
ns t.
16
·"'/
\)OO~__...
125
100
/
,,.,....
V-
75
\OV
~
/
8
1SV
50
~
HC
12
~
4
,,,.
~
F
~s
AC\
25
o
10
c,
20
30
40
SO
60
70
80
90
c,
100
pF
o
20
40
60
80
100
pF
Rys. 7.78. Typowa zależność czasu propagacji
Rys. 7.79. Zależności czasu propagacji od
bramki C04001B (RCA) od pojemności
obciążenia
i napiQCia zasilającego
pojemności obcią7.enia dla szybkich rodzin
1,
c.
C MOS i ich odpowiedników TIL
Dane te dotyczą określonych warunków testowania, co w szczególności
dotyczy pojemności obciążenia Cv Ponieważ w typowych warunkach pracy
rezystancja wejściowa jest pomijalnie duża (maksymalna wartość prądu wejściowego nie pro::kracza I µA), przy zwiększeniu obciążenia układu CMOS
wejściami innych układów CMOS obserwuje się powiększenie czasu propagacji,
wynikłe ze stalej czasowej R 0 CL, gdzie R 0 jest rezystancją wyjściową układu
sterującego i CL reprezentuje sumę pojemności wejściowych z układów sterowanych. Rezystancja R0 jest jednak liniowa tylko w ograniczonym zakresie
prądu wyjściowego, zarówno wpływającego jak i wypływającego. Określenia
funkcji 1,(CJ można dokonać analitycznie na podstawie wzorów z p. 7.5.1.1
i znajomości charakterystyk wyjściowych układu (por. rys. 7.84) lub można
wykorzystać dane firmowe. Na rys. 7.78 pokazano przykładową postać takiej
charakterystyki dla bramki z serii 40006 firmy RCA. Przyjmując typową
wartość C, = 5 pF można określić pogorszenie 1, wynikle ze zwiększenia
znormalizowanego obciążenia N. Z powyższej charakterystyki można także
określić prostą zależność 1,(CJ, która przy U 00 = + 5 V ma postać
1,[ns] ~ 75 + CL[pf]
Podobne zależności dla szybkich rodzin CMOS i ich odpowiedników TTL (LS
i F) przedstawiono na rys. 7.79.
Czasy propagacji układów CM OS zwiększają się przy wzroście temperatury. Na przykład, w rodzinie HC współczynni k wzrostu ót,Jll Twynosi ok.
0.35%/K.
362
7.5. UKLAOY CM OS
7.5.1.3
Moc s trat
Moc strat P układów CMOS jest, ogólnie biorąc, sumą dwóch składników: mocy
statycznej (bez przełączania układu) i mocy dynamicznej (przy przełączaniu
układu). Pierwszy składnik jest w układach CMOS znikomo mały (tabl. 7.4)
i dlatego o mocy strat tych układów decyduje składnik drugi. Rozważmy
przykład inwertera CMOS z rys. 7.70, zasilanego napięciem U 00. Przy pominię­
ciu mocy strat wywołanej stałym prądem upływu oraz impulsowym prądem
skrośnym (płynącym chwilowo przez tranzystor pi n-kanałowy struktury CMOS
przy wolnozmiennych zboczach impulsu wejściowego), można sform ułować
model pokazany na rys. 7.80. W modelu tym przebieg prądu I 00 w obrębie
jednego okresu T ~ '• +t 2 =!//zapisuje się w przybliżeniu jako
a
b
u,
c
Rys. 7.80
Określenie ś redniej
mocy strat dla
inwertera CMOS:
11• pO~~nia układu.
b) upr052Czony model,
e) 1ypo•-e prubirgi czMOwe
/ 00(1)~
U 00 exp ( - - ' - )
R
C,_R
przy czym Rjest rezystancją przewodzącego kanału. Średnia moc strat wyraża się
zależnością
ui0
r
o
(
t
)
P = Uoofoou ~ TR Jexp -C R dt
/,
i po wykonaniu całkowania przy założeniu,
terystyczny wzór
363
że
C,_R « Totrzymuje się charak-
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH U Kl.AOOW SCALONYCH
P ~ UAoCLf
Należy podkreślić,
1.c w tym przypadku
wielkość
P nie
zależy
od symetrii
przebiegu wejściowego, gdyż ładowanie pojemności CL następuje tylko jeden raz
w okresie T, a inne składowe mocy strat zostały pominięte.
Dla układów CMOS powyższy wzór często stosuje się w postaci
P = (CL +Cpo)UAof
gdzie C„0 jest zastępczą, własną pojemnością obciążenia układu, wynikającą
z istnienia wewnętrznych, pasożytniczych pojemności. Wartość C„ 0 można
określić z powyższego wzoru, mierząc P przy CL= O i częstotliwości f wystarczająco wysokiej, aby można było pom inąć moc statyczną (op. f = I MHz).
Wówczas
Cro= P(f}/(Uiof)
= lvof(U ooJ)
Typowa wartość C„ 0 jest również podawana w danych firmowych. Na przykład
dla bramek 74HCOO i 74ACOO podaje się C„ 0 = 20 pF.
Zależności mocy strat od częstotliwości dla podstawowych bramek
CMOS z różnych rodzin zostały pokazane wcześniej na rys. 5.3. Jak widać z tego
rysunku, układy CMOS mają wyraźną przewagę nad układami TIL przy
małych częstotliwościach. Jednak powyżej pewnej częstotliwości progowej ich
moc strat staje się współmierna z moc;1 strat układów TTL z serii LS, ALS i F.
Można jednak zauwa.ż.yć, że w złożonym układzie bądź urządzeniu CMOS
zazwyczaj tylko niewielka procentowo liczba bramek ulega przełączaniu jednocześnie. Zysk mocy, wynikły ze stosowania układów CMOS w porównaniu
z układami TIL, jest zatem z reguły bardzo duży.
Od porność
na
zakłócenia
7 .5.1 .4
na zakłócen i a w układach cyfrowych jest
napięciowy margines zakłóceń (p. 5.3.3). Jest on dla układów CMOS definiowany
w ten sam sposób jak dla innych układów cyfrowych, wykorzystując oznaczenia
z rys. 5.8. Minimalna wartość marginesu zakłóceń (p. 5.3.3) na poziomie L wynosi
dla układów z rodziny CD4000B przy U00 = 5 V
Ogólnie
przyjętą miarą odporności
M /;mln ~
u,Lmax- UOLmu=
1.5-0.05 = 1.45 V
i na poziomie H
M flonln - UOllmin - U/Hniln = 4.95 - 3.5 = 1.45 V
Minimalna wartość marginesu zakłóceń w obydwu przypadkach jest zatem taka
sama. Można zauważyć, że
M
„,,;u00 =
364
t.45/ 5 = 0.29
7.5. UKlADY CMOS
czyli margines zaklóceń jest bliski 30% wartości U 00. Jest to znacznie lepszy
wynik niż dla układów TTL, gdzie M m;„ = OJ-;-0.4 V, co odpowiada 6-;-8%
napięcia U ce·
Podobne wyniki otrzymuje się dla szybkich układów CMOS z rodzin HC
i AC. Przy minimalnym napięciu zasilania U00 = 4.5 V
MLm;n = 1.35 - 0.1 = 1.25 V
Mum;n = 4.4-3.15
=
1.25 V
co oznacza, że M m;n = 1.25 V oraz
Mm;JUDD = 1.25/4.5 = 0.28
czyli margines zakłóceń jest niemal taki sam jak w rodzinie CD4000B. Tak malą
wrażliwość na zaklócen.ia otrzymuje się m.in. dzięki niemal idealnej postaci
charakterystyki przejściowej w tych układach oraz jej dużej stałości przy
zmianach temperatury. Przedstawiono to na przykładzie z rys. 7.81.
5 .---,---.-~,..-,..."'~,----,--,~.--.
I'
V
4
u;;-- lloo ,I5,Q,„.1---14'tt'+--+~+--+---l--I
: ''
I I
I I
l---+---+~+--1-tl..+~+---+~l---t----i
,,
Oo
2
Ui
3
4
v
Rys. 7.81
ć
Zależnoś
charakterystyki
przejściowej
s bramki 74HCOO od temperatury (Motorola)
Podane wyżej oszacowania dotyczą najgorszego przypadku, to znaczy
skrajnie niekorzystnych warunków temperaturowych. W warunkach typowych
(T. = + 25°C) otrzymuje się dla rodzin szybkich (HC, AC) przy Uvv = 4.5 V
M,,P = 2.1 V
oraz
M,r.fUvv = 2.1/4.5 = 0.47
czyli bardzo blisko ideału (M,,P = 0.5 U 00). Dla porównania, typowa wartość
marginesu zakłóceń w układach TIL .przy Ucc = 5.0 V wynosi l V.
Aby dokonać bardziej miarodajnego porównania odporności zakłócenio­
wej układów CMOS i układów TIL, trzeba porównać nie tylko wartości ich
napięciowych marginesów zakłóceń, ale również ich rezystancje wyjściowe R0 .
Oddziaływanie zewnętrznych źródeł zakłóceń można w uproszczeniu modelować w sposób pokazany na rys. 7.82, gdzie Z oznacza zastępczą impedancję
wyjściową źródła zakłócenia w odniesieniu do linii łączącej bramkę sterującą ze
sterowaną. Wartość napięcia zakłóceń na tej lini i, którą możemy porównać
365
7. BUDOWA I CHARAKTERYSTYKI
CYFłlOW'VCH
UKt.AOOW SCALONYCH
llk!od steru)qcy
Uo
l)i ~-~
~K>--..----<H
Uk ład
sterowoiy
Z -impedancjo
sprzęgu
Rys. 7.81
Uproszczony model
oddziaływania
zakłÓ<leó, uwzgl~niający n:zystnntję
wyjściową
ukladu
sterującego
z wartością marginesu zak.łóceń jest wprost proporcjonalna do stosunku R0 / Z.
Przyjmując tę samą wartość Z dla porównywanych układów, porównanie
wrażliwości na zakłócenia można zatem wyrazić stosunkiem zmodyfikowanych
marginesów zakłóceń:
M* CMosfM*TTL
= (McMosfMTnHRoTTJRocMos)
Porównując
w ten sposób układy z rodziny CD4000B (przy
U0 0 = Ucc = 5 V) z układami TIL, otrzymujemy w najgorszym przypadku
około dziesięciokrotne pogorszenie
M!1n(co•oooafM!io(TTL):::: (1.45/0.3)(100/ 1000) = 0.48
co oznacza, że układy CMOS z rodzi ny CD4000B są w istocie dwukrotnie
bardziej podatne na zakłócenia niż układy TTL.
Znacznie lepsze są pod tym względem układy CMOS z rodzin szybkich.
Porównując rodzinę HC z rodziną LS TIL można obliczyć przy UcctCMOS> =
= 4.5 V i Ucc<TTLI = 5 V
M!tntHc/M!tn(LS)"" (1.25/0.3)(100/ 100) = 4.8
co oznacza, i.e układy HC są około pięciokrotnie mniej wrażliwe na zakłócenia
od układów LS TTL. Podobne oszacowania otrzymuje się taki.e dla wa runków
typowych.
Analogicznie można porównać układy CMOS z rodziny AC z jej
najbliższym odpowiednikiem z rodziny F TTL:
M:.;n<„c/M!tn<FI = (1.25/0.3)(30/30) = 4.8
Podane oszacowania są oczywiście zgrubne, lecz ilustrują istotę problemu. Bardziej dokładne wyniki można otrzymać określając ściślej rezystancje
wyjściowe porównywanych układów na podstawie odpowiednich charakterystyk wyjściowych oraz katalogowych wartości granicznych.
Zgodn ość łączeniowa
i
o bc iążalność
Najczęściej występuje potrzeba połączeń układów
zapewnieniu wspólnego
366
napięcia zasilającego,
7 .5.1 .5
CMOS z układami TTL. Przy
równego 5 V, połączenia takie
7.5.
UKŁADY
CMOS
można wykonać
wprost, pod warunkiem nieprzekroczenia dopuszczalnej oboraz przy ewentualnym dopasowaniu napięć progowych.
Przy łączeniu CMOS -> TTL należy tylko uwzględnić odpowiednią
wydajność prądową na poziomie L danego układu CMOS. Na przykład,
układ CD4001B zapewnia U0 L ~ 0.4 V przy l 0 L ~ 0.44 mA w zakresie
temperatury - 40.;- +85°C. Oznacza to, że do wyjścia takiego układu można
przyłączyć tylko jedno wejście układu LS TTL, które ma Inm„= 0.4 mA
(patrz tabl. 7.4).
Przy łączeniu TTL -> CMOS problem obciążalności prądowej nie
występuje, gdyż prąd wejściowy układów CMOS jest pomijalnie mały. Trzeba
jednak podwyższyć napięcie poziomu H, gdyż przy TTL-owskim napięciu
Uoumin = 2.4„.2.7 V standardowy układ CMOS pracuje w pobliżu swego
napięcia progowego (rys. 7.81). Wynikiem tego jest niebezpieczne zmniejszenie
marginesu zakłóceń (formalnie biorąc, M Hmin = 2.4 - 3.5 < O). Ponadto, jak
widać na rys. 7.71, przy tak obniżonym napięciu wejściowym przez tranzystory
inwertera wejściowego CMOS płynie prąd skrośny, zwiększając moc strat.
Aby podwyższyć napięcie poziomu H należy zastosować dodatkowy rezystor
(rys. 7.83).
Można jednak uniknąć podwyższania poziomu H przez zastosowanie
układu CMOS z TTL-owskim napięciem progowym, zazwyczaj oznaczanym
literą T w zapisie typu (np. 74HCT245). Przykład takiego układu pokazano na
rys. 7.75a.
Nie należy stosować układów z serii HCTprzy sterowaniu ich przez ukJady
CMOS, gdyż oznacza to znaczne zmniejszenie marginesu zakłóceń:
MLm'• = 0.8-0.l = 0.7 V (zamiast 1.5-0.1 = 1.4 V przy łączeniu
CMOS-+ CMOS i napięciu zasilania U 00 = 5.0 V).
ciążalności
4.7kt!
U oo
TTl f---+----1 CMOS
Rys. 7.JlJ
Łącz.cnie wyjścia układu
z
wejściem układu
ITL
C MOS
Przy stosowaniu układów niskonapięciowych CMOS (zasilanych napię­
ciem 3.3 V - p. tabl. 7.5) do sterowania układów TTL nie występują problemy
dopasowania napięciowego. Podobnie jak poprzednio, należy tylko uwzględnić
odpowiednią wydajność prądową na poziomie L układu CMOS sterującego
układem (układami) TTL. Przy połączeniu odwrotnym (TTL -+ CMOS 3.3. V)
367
1. BUDOWA ł CHARAKTERYSTYXł CYFROWYCH U KŁAOOW SCALONYCH
a
mA
0.S
1.0
1.S
2.0 2.S 3.0
4.0
3.0 <.O 4.S
V
3.S 3.0 2 .S 2.0
lS
lO 0.S O.O
V
b
200
mA
-200
[ .I
/
r.,
150
J """
'I
'/
Uoo- 5.SV
I
5.0 V
.,.... 1--
- ISO
Uoo=
- 100
50
-50
u.._
5./ (v
/
4.SV
100
o
o
r••
mA
I
/
/
1-L--
/
' / 4.5
V
~I
o
I
I
u...
7v6
s
'
J
2
o
Rys. 7.84. Charakterystyki wyjściowe ukladów CMOS
a) charaktery~tyld ul:ladów łlC (AfQtQroła)r. b> lypo•-e cłl 1ual:lcf)'M,Yki 11kbd6w AC ( t\łoWQ/(I)
przydatne są rezystory podciągające (podobn ie jak na rys. 7.83), przyłączone do
napięcia 3.3 V, gdyż UoHmin(TfL) = 2.4 V.
Układy CMOS ze wszystkich rodzin o wspólnym napięciu zasilającym
mogą być ze sobą łączone bez żadnych ograniczeń związanych z wydajnością
prądową wyjść. Główne ograniczenie wynika z obciążenia pojemnościowego,
które zwiększa czas propagacji (por. rys. 7. 78, 7. 79).
Układy niskonapięciowe CMOS mają zazwyczaj (oprócz układów z rodziny LV) wejścia przystosowane do sterowania przez układy pięciowołtowe
CMOS. Aby zrealizować połączenie odwrotne (3.3 V - 5 V) należy zastosować
układy pięciowoltowe z ITL-owskim napięciem progowym (rodzina HCT)
w celu zwiększenia marginesu zakłóceń. Wówczas Mumi. = 2.8 - 2.0 = 0.8 V.
368
7.5. UKŁADY CMOS
Natomiast połączenie wyjścia układu trzywoltowego z wejściem standardowego,
pięciowoltowego układu spowodowałoby
MHmln
= 2.8 - 3.15 <O!
Do oszacowania obciążalności prądowej układów CMOS potrzebna jest
znajomość ich charakterystyk wyjściowych na poziomie L(prąd wpływający) i na
poziomie H (prąd wypływający). W układach najszybszych (AC) umożliwia to
m.in. określenie ich zdolności sterowania dopasowanymi liniami transmisyjnymi. Charakterystyki takie są pokazane na rys. 7.84.
Inne
układy
o
małym
stopniu scalenia
7.5.2
Bramki transmisyjne CMOS
Charakterystycznym dla techniki CMOS układem jest przełącznik bilateralny,
w technice cyfrowej zwany zazwyczaj bramką transmis)yną. Przykład budowy
takiego
układu (
!
4016B)jest pokazany na rys. 7.85a. Gdy e = H, czyli Gl = L
i G2 = H, to przełącznik jest włączony (zwarty"), to znaczy że między końców­
kami A i B jest relatywnie mała rezystancja stałoprądowa R 0 " , umożliwiająca
transmisję sygnałów w obu kierunkach (końcówki A i B są elektrycznie
równoważne). Napięcie wejściowe U;, musi spełniać warunek Uss ~ U" ~ UDD·
Przy e = L czyli Gl = H i G2 = L przełącznik jest wyłączony („otwarty")
i rezystancja między końcówkami jest bardzo duża.
Na schemacie logicznym w symbolice IEC z rys. 7.85b w bloku „styków"
przełącznika jest użyta notacja zależności transmisyjnej (litera X). Przeciwnie
skierowane strzałk i na końcówkach A i B wskazują na bilateralność przełącz­
nika, lecz nie są obowiązkowe. Jeżeli układ jest wykorzystany do transmisj i
sygnałów analogowych, to nad tymi liniami mogą być umieszczone wskazujące
na to znaki „ri".
Typowe charakterystyki przełącznika 40!6B w stanie włączenia przedstawiono na rys. 7.85d. Gdy napięcie U;, zbliża się do U00, to małą rezystancję
R0 N zapewnia tranzystor p-kanałowy. Natomiast gdy U1, zbliża się do Uss• to
małą rezystancję R 0 N zapewnia tranzystor n-kanałowy. W tych warunkach
tranzystory odpowiednio n- lub p-kanałowy nie przewodzą, gdyż ich napięcia
U Gs są mniejsze od odpowiednich napięć progowych. Przy napięciu U"
znajdującym się w środkowej części przedziału (U ss• U 00) słabo przewodzą
obydwa tranzystory i wypadkowa rezystancja R 0 " jest mniejsza od rezystancji
każdego z nich. Przy U00 = 5 V ta rezystancja osiąga wartość 8 kO. W stanic
wyłączenia (e = L) maksymalny prąd upływu na końcówce A lub B wynosi
200 nA przy uDD = 15 V.
369
7. BUDOWA I CHARAKTERYSlYl<I CVFROWYCH U KŁADÓW SCALONYCH
o
B
u••
·{
G2
Gl
Uss
A
b
•
1--~n'--~B
A,..___,_n,_,
'----'
d
c
ll.
•
\.. '-5'
I...
\
200
\
I
I
I
U--= 10V
'
"\
A
100
Rys. 7.85
Pr7.ełąc•nik
bilateralny CMOS (bramka
transmisyjna) z układu 40168 (Philips)
a) ~hem:i.1 eleklrycr.ny,
b) schemat loglemy w symbolice rec.
c) 9Chcmat logiczny w symbolice klaS)'ctl'lej,
d) typowe zak1.no.ki rezystancji R"'' od napięcia
U"
/
7'
"
~
>...
./
I./
'-'
o
o
ISV
---u,,
•
8
12
V 16
Mniejsze wartości rezystancj i R0 N zapewnia ulepszony układ przełącz­
nika o schemacie pokaz,anym na rys. 7.86a (
~ 4066B).
Dodatkowy
układ
trójtranzystorowy służy do wytworzenia odpowiedniego uapięcia podłoża
tranzystora n-kanałowego w przełączniku. W rezultacie wzrost rezystancji
tranzystora n-kanałowego przy wzroście U,_
, następuje wolniej niż w poprzednio
opisanym układzie podstawowym i wypadkowa rezystancja R0 N jest znacznie
mniejsza (rys. 7.86b). Jednakże, aby uniknąć przepływu prądu do źródła UDD
z końcówki A gdy prąd przełącznika płynie w kierunku końcówki B, wartość
spadku napięcia między końcówkami A i B nie może przekroczyć 0.4 V.
370
7.5.
UKŁADY
CMOS
a
B
•
A
Ro•
-
300 ....
Uoo= SV
200
"
100
IOV
1sv>-
...
~
o
o
'U·
s
I "
10
V 1S
Rys. 7.86. Ulepszony przełącznik bilateralny
CMOS z układu 40668 (Philips)
a) &diem~•. b) 7-ak:iJ1QJt Ro,y (Uli)
Opisane przełączniki bilateralne są wykorzystywane do kluczowanego
zarówno sygnałów analogowych, jak i cyfrowych. W ostatnim
przypadku należy zwrócić uwagę na dwie właściwości:
jeśli rezystancja obciążenia na wyjściu układu jest bardzo duża (np.
bramka tranzystora MOS), to może się zdarzyć, i.e stanie się ona
porównywalna z rezystancją RoFF przełącznika w stanie wyłączenia. Na
wyjściu układu pojawi się wtedy zbyt duża część napięcia wejściowego
(pogorszenie efektu kluczowania);
jakkolwiek przy obydwu ustalonych poziomach logicznych (H i L)
przesyłanego sygnału CM OS rezystancja R0 N przełącznika jest minimalna, to jednak w procesie przejściowym jest ona znacznie większa
(zwłaszcza przy Uvv = 5 V). Prowadzi to do wydłużenia przesyłanych
zboczy sygnału, jeśli na wyjściu przełącznika są duże pojemności pasożyt­
nicze związane z obciążeniem.
przesyłania
371
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKlA00W SCALONYCH
Bramki transmisyjne NMOS - przełączniki CBT
Do kluczowanej transmisji sygnałów można także wykorzystać proste, jednotranzystorowe bramki transmisyjne, stosowane między innymi w układach
dynamicznych MOS (p. 7.4.2). Bramkę stanowi pojedynczy tranzystor NMOS,
kluczowany napięciem na bramce. Oznacza to istotne uproszczenie budowy
bramki transmisyjnej, zmniejszenie jej rozmiarów i związanych pojemności
pasożytniczych. Są to cechy korzystne. Jeśli jednak sygnałem sterującym jest
typowy sygnał cyfrowy CMOS o amplitudzie równej U DD• to oznacza, że
maksymalny sygnał wyjściowy bramki transmisyjnej będzie ograniczony do
wartości U00 - Un gdzie Ur jest napięciem progowym tranzystora transmisyjnego. Przy U00 = 5 V i Ur :::l 1.5 V maksymalne napięcie poziomu wysokiego
będzie zatem ograniczone do wartości 3.5 V. Jeśli takie napięcie będzie podane na
wejście typowego inwertwera CMOS, to jego tranzystor PMOS nie będzie
odcięty i przez obydwa tranzystory inwertera będzie płynąć pewien prąd skrośny
(por. rys. 7.71), co oznacza zwiększenie mocy strat. Ponadto margines zakłóceń
zostanie istotnie zmniejszony. Dlatego przy stosowaniu takich jednotranzystorowych bramek transmisyjnych w układach CMOS stosuje się specjalne
rozwiązania układowe w celu odtworzenia poziomu wysokiego o wartości bliskiej
U00 na wyjściu bramki transmisyjnej.
W nowoczesnych systemach cyfrowych jedną z istotnych operacji jest
bardzo szybkie, ukierunkowane przesyłanie wielobitowych danych cyfrowych
między różnymi blokami systemu. Mo:ie to być na przykład przesyłanie danych
magistralą w systemie multiprocesorowym, przesyłanie danych do/z banków
pamięci w trybie przeplotu, lub przesyłanie danych w centralach telekomunikacyjnych. Do takich zastosowań została opracowana przez firmę Texas Instruments specjalna rodzina wielobitowych (4-, 8-, 10-, 16-, 18- i 24-bitowycb)
przełączników o nazwie CBT (CrossBar Technology) [11). Przełącznikiem jest
jednotranzystorowa bramka transmisyjna, czyli tranzystor NMOS z krótkim
kanałem, sterowany poprzez bufor sygnałem sterującym (rys. 7.87). Napięcie
Rys. 7.87
Pojedynczy
pnełącznik
CBT
progowe Ur tego tranzystora wynosi ok. 1 V, czyli napięcie wyjściowe jest
ograniczone do wartości U 00 -1 V (rys. 7.88a). Nie wyróżnia się kierunku
przesyłania informacji, czyli wejściem może być zarówno końcówka A (z
wyjściem na B) jak i B (z wyjściem na A). Dzięki specjalnej technologii uzyskano
bardzo małą rezystancję włączenia R0 N (rys. 7.88b). Ponieważ sygnał jest
przesyłany przez tranzystor przełącznikowy w sposób bierny (bez wzmacniania),
372
7.5. U KŁADY CMOS
06
I
I
/lJc
isN 74CBT 32441
5
V
>
Ucc c5V
/
>
/
t
>
UccslV
/
1~
·O
•7V
/
/
...,.
~e
-1
o
>
u ;,.5V I
J
V
>
t
>
:...----'"
:
o
'
•UV
6
7
No.piecie wej.śc iowe I V ł
lJa ;JV
">
5
4
J
'
I
~,1v I
J
I
/
~
.' .2.
~
/
_....
.
J
4
'
J
'
'
5
.
6
Nopifecie wejściowe I V J
Rys. 7.88. Charakterystyki
Instruments)
przełączników
CBT w układzie SN74CBT3244 (Texas
a) iale-ń1oK n.1pi~a wyjKio„>ego pridtcmika od nil~ 111-ejklo\\-cgo i r.a.sil.ająoego.
b) ~)e~()it rety~ancj i R.0 ,.. pr-.i:el-4ct"nika od n.;ipi~1:1 ""'ejściowcgo i la!iilaj 'ł(:ego
zatem czas propagacji jest bardzo krótki (0.25 ns przy transmisji sygnału
o amplitudzie 3 V i zasilaniu 5 V). Czas opóźnienia od wejścia sterującego wynosi
ok. 6 ns.
Na rysunku 7.89 przedstawiono przykład zastosowania układu
'CBT16233 do transmisji danych do/z banków pamięciowych z przeplotem
[li]. Układ 'CBTl6233 (zawarty w 56-końcówk owej obudowie SSO) działa
jako multiplekser grupowy 32 na 16 bitów i jako demultiplekser grupowy
16 na 32 bity. Gdy używamy układów pamięciowych o przykładowym czasie
dostępu 60 ns, odczyt słowa danych z banku 1 następuje po czasie 60 ns,
ale odczyt z banku 2 może nastąpić już po 6 ns (czas propagacji od wejścia
sterującego układu 'CBT16233). W ten sposób łączny czas dostępu do pamięci
został skrócony niemal dwukrotnie w porównaniu ze sekwencyjnym adresowaniem dwu banków.
373
7. BUDOWA I CHARAUERYSTYKI CYFROWYCH UKŁAOOW SCALONYCH
Al . . An
banki
'CBT 16233
Seł
o
Seł
1
bonk2
-.,__ _ __ _, 00„cns
1
Rys. 7.89.
Przykład
o
zas1osowania przełączników CBT do realizacji przeplotu
pamięci
.lll--cm
11
12
.1---001
13
010
Oo wyjścia OOO 14
r-1-11----+-łt--
011
100
15
16
101
17
Oo wyjścia 011 18
t11
b
rJeden
- - z-pieciu
--- - --1
kanałów
1A1
1
~-...-<"- 181
I
I
I
I
I
I
I
I
I
_ ..__,l;...192
1A2
_ _ _ _JI
L-- -
ex---,,_+-_,
BE - - - -'----'
Rys. 7.9-0. Zastosowanie przch!czników CBT do wyboru drogi
sygnałów
w matrycy
przełączającej
a) pnyklado'<'-e sterowanie matr}-cy. b) budowa jednej z pi~ u komOcek prtielącując~h. w wartych w układzie 'CBT3}83
374
7.5. U KŁADY CMOS
D rugi przykład, pokazany na rys. 7.90a, ilustruje sposób tworzenia drogi
sygnału telekomunikacyjnego z użyciem układu 'CBT3383 [I I). Układ ten
zawiera pięć dwubitowych komórek przesyłowych o schemacie pokazanym na
rys. 7.90b. Sygnał zezwolenia BE = L umożliwia zwieranie przełączników za
pomocą sygnału BX. Przy BX = H następuje zamiana torów: I AI -1 B2,
1A2-IBI. Przy BX = L zwarte są przełączniki w tych samych torach.
Ciekawym zastosowaniem przełączników CBT jest zmniejszenie amplitudy sygnałów pochodzących z układów CMOS o zasilaniu 5 V, w celu
sterowania układów o napięciu 3.3 V. Jak widać z rys. 7.88a, napięcie wyjściowe
przełącznika jest ograniczone do wartości UDD- I V. Jeśli zatem zmniejszyć
napięcie zasilania UDD do wartości 4.3 V, to ogran iczenie na wyjści u nastąpi na
poziomie 3.3 V. W tym celu można wykorzystać diodę krzemową w sposób
pokazany na rys. 7.91. Dziesięciobitowy przełącznik 'CBTD 3384 ma już
wbudowaną tę diodę.
5.0
b
o
,r---,,,,_:ł.
Diodo
krzemowo
/
V
Uwc .u...,4.0
\
I
F
Uw,
li
·'\\
li
2.0
o
\
J
3.0
1.0
I
,-u.-
\\
\
I
li
,\
li
u
2
3
4
Czos
5
6
'"
7ns &
Rys. 7.91. O bni7.enie •.asilania układu CBT do konwersji sygnałów z układów CMOS o zasilaniu 5 V
na sygnały sterujące układy o 1.asilaniu 3 V
a) przytla.d pc>ląeień, b} prttbl'Sl cnsowt. NI
~jściu
i
wyjśiciu pntł:4C7.nilrn
QS3l84 (Quality SnnicrnidwcttJr)
F unkcja ogranicznika jest również przydatna do skutecznego
wyskoków napięciowych sygnału, powstałych w wyniku zakłóceń.
Układy
z
wyjścia mi
tłumienia
trójstanowymi
W technice C MOS do kluczowanego przesyłania sygnałów cyfrowych często
stosuje się układ inwertera t rójstanowego, o schemacie pokazanym na rys. 7.92.
Przy e = H kluczujące tranzystory 77 i T4 przewodzą i układ zachowuje się jak
zwykły inwerter, natomiast przy e = L tranzystory 77 i T4 są odcięte i wyjście
układu znajduje się w stanie wielkiej impedancji. Układ ten zapewnia znacznie
lepszą izolację między wejściem i wyjściem w stanie wyłączenia i nie dopuszcza do
tłumienia sygnału wejściowego. Jeśli można przyjąć, że obciążeniem układu jest
tylko pewna skupiona pojemność pasożytnicza C (tzn. składowa rezystancyjna
375
1 . BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKt.AOOW SCALONYCH
b
o
•
T1 1p)
X
oy
I
I
TJ In t
y
X
T2 l pl
..i...
"T"
c
......
I
c
1
T4 lnl
e
•
EN
V
y
Uss
c2 Mos
Rys. 7.92. lnwcr1cr 1rójstanowy CMOS
a) llCbem•t ekktryczny, b) !ICbcmat łogit:tft)', c• l)'mbol łosicl:ny
obciążenia
jest pomijalnie duża), to w fazie odcięcia WYJSC1a inwertera na
C będzie pamiętany ten poziom napięcia, który został tam ustalony
w fazie aktywnej. Oczywiście to pamiętanie jest w praktyce krótkotrwałe (rzędu
milisekund), z uwagi na niezerowe prądy upływu, ale w porównaniu z szybkością
procesów przełączeń (rzędu dziesiątek nanosekund) jest relatywnie długie.
Właściwość ta jest wykorzystywana do realizacji układów dynamicznych CM OS
(p. 7.5.3). Czterotranzystorowa struktura inwertera CMOS, kluczowanego
komplementarnymi sygnałami <P, <P, nosi także nazwę dynamicznego zatrzasku
CMOS, należącego do rodziny układów dynamicznych C2 MOS (C/ocked
CMOS). Należy zaznaczyć, że zatrzask ten wprowadza inwersję sygnału
pojemności
wejściowego.
zasilanych obniżonym napięciem zasilającym (U 00 =
= 3.3 V) wyjścia trójstanowe muszą być tak skonstruowane, aby w stanie
wielkiej impedancji umożliwić współpracę z szyną, na której mo7.e się pojawić
typowe napięcie 5 V (na przykład z wyjścia innego układu C MOS, zasilanego
napięciem 5 V). Nie nadaje się do tego klasyczny inwerter wyjściowy P5,
N5 z rys. 7.93, ponieważ pasożytnicza dioda między drenem P5 a podłożem
(połączonym z U 00, p. rys. 6.35) zwiera wtedy szynę do U 00 . Dlatego
w układach niskonapięciowych CMOS z wyjściami trójstanowymi napięcie
podłoża wyjściowego tranzystora PMOS jest w stanie wielkiej impedancji
ustalane przez dodatkowy układ albo na poziomie U Dl>' albo na poziomie
U0 (zależnie od tego, który jest większy).
W
układach
376
7.5.
UKł.AOY
CMOS
o
~~~~...-~~~...-~~~~--~~~--~~~~---" Uoo
Pl
P2
P3
PS
Nl
N2
NJ
e
b
.~
x~Y
Rys. 7.93. Bufor trójstanowy CMOS (Philips)
a) schemal ekklryCU1y, b) ł)'mboJ 1-0giC?J\f
Przerzutniki
Prosty przerzutnik SR CMOS (rys. 7.94a) można utworzyć jako małą modyfikację układu z rys. 7.65. Dwa inwertery Pl, NI i P2, N2 objęte są pętlą dodatniego
sprzężenia zwrotnego, a tranzystory N 3 i N 4 służą do sterowania. Rezystancje
kanałów tych tranzystorów muszą być wystarczająco małe, gdyż podczas
sterowania tworzą się inwertery stosunkowe. Na przykład przy Q = H (gdy P2
przewodzi) i ustaleniu R = H (gdy N4 przewodzi) napięcie na końcówce
Q powinno spaść poniżej progu przełączania inwertera P1, N 1. Oznacza to, że
tranzystory N3 i N4 muszą mieć odpowiednio zwiększone rozmiary (szerokości
kanałów).
Wymagań takich nie ma w układzie przerzutnika SR z rys. 7.94b. Chwilowy
stan S = H (przy R = H) powoduje nie tylko przewodzenie N3, lecz również
odcięcie P2, czyli w rezultacie ustawienie przerzutnika w stan Q = H. Podobnie
przy R = Li S = L otrzymuje się Q = L. Przy braku sterowania tranzystory P2
i NI przewodzą, a P3 i N3 nie przewodzą, czyli tranzystory Pl, N2 tworzą
aktywny inwerter, zapewniający dodatnie sprzężenie zw rotne w pętli z inwerterem P4, N4.
377
7. 8U00WA I CHARAKTERYSTYKI CYFROWYCH
UKŁAOOW
SCALONYCH
o
l --l---+------00
P~---!-..L...1
b
c
o
Rys. 7.94.
Przykłady
przerzulnikó w CMOS
I)
b)
ą
<><ra_.„...,. pnnmmilc SR..
.........,..„...,
pnmvtDit SR,
prac:rzutftik u1n.1.t.:owy O
Opisana poprzednio struktura kluczowanego inwertera jest wykorzystywana do budowy przerzutników synchronicznych CMOS. Rys. 7.94c ilustruje
przykładową budowę przerzutnika i.atr1..askowego D z asynchronicznym wejś­
ciem zerującym R. Zawiera on dwa takie inwertery (ITI i JT2), kluczowane na
przemian przez komplementarne sygnały zegarowe. Przy C = H i C = L
i.atrzask jest „przeźroczysty'', czyli zmiany stanu na wejściu D przenoszą si~ na
378
7.5. UKŁADY CMOS
wyjście Q. Inwerter /Tl jest wtedy aktywny, a /7'2 nieaktywny. W momencie gdy
sygnały i.egarowe zmieniają swoje stany na przeciwne, następuje zablokowanie
inwertera ITI i odblokowanie IT2, który zamyka pętlę dodatniego sprzężenia
zwrotnego z inwerterem wyjściowym. Zerowanie przerzutnika następuje przy
R = L, niezależnie od stanu sygnałów i.egarowych.
Typowym przykładem zastosowania opisanych poprzednio bramek
transmisyjnych CMOS jest budowa przerzutnika JK typu 74HC76/ 74HCl 12,
pokazana na rys. 7.95. Jest to przerzutnik wyzwalany zboczem opadającym
impulsu sterującego C. Układ zawiera dwa składowe przerzutniki SR, zwyczajowo oznaczane jako sekcje M i S, przy czym w dowolnej chwili zamkniętą pętlę
dodatniego sprzężenia zwrotnego ma tylko jeden z nich. Sześć składowych
bramek transmisyjnych BJ + B6 jest sterowanych komplementarną parą sygnałów CL, CL, uzyskiwanych z pary dodatkowych inwerterów G1O i G11.
o
"<>--;:============r:=======~--~~~~----l'
M
s
b
Rys. 7.95. Przenutnik JK CMOS. wyzwalany ujemnym
zboczem ('HC76fHCI 12)
a) schemat łogicmy. b) symbol gra(w;i:ny
Załóżmy,
i.e początkowo Q = L i S = R = J = K = H. Zatem na wyjściach bramek G3, G4 i G7 jest poziom H, a na wyjściach GS i Gó jest poziom L,
gdyż przerzutnik M jest aktywny, a przerzutnik S jest nieaktywny (rozwarta
bramka B5). Przy zmianie poziomu sygnału C z L na H następuje zamknięcie
bramek transmisyjnych poprzednio otwartych i otwarcie bramek poprzednio
zamkniętych, czyli BI , B4 i B5 są zwarte, a B2, B3 i 86 są rozwarte. W rezultacie
na wyjściu G4 ustala się poziom Li na wyjściu G5 poziom H. Stan przerzutnika
nie uległ zmianie, gdyż jest podtrzymywany przez obecnie aktywny przerzutnik
S, który został odcięty od M (rozwarta bramka Bó). W tym stanie tylko
379
7 BUDOWA I CHAAAKTERYSTYXł CYFROWYCH V KtAOOW SCALONYCH
przerzutnik M może reagować na zmiany na wejściach informacyjnych J, K.
Przy opadającym zboczu sygnału C na wyjściach Q i G6 następuje zmiana
poziomu z L na H, a na Q i G7 zmiana z H na L.
Wejścia asynchroniczne S i R są aktywne na poziomie L, niezależnie od
stanu wejść C, J, K.
Układy
dynamiczne
7.5.3
Stosowanie opisanych powyżej podstawowych układów CMOS do realizacji
układów LSI/VLSI umożliwia obniżenie mocy strat w porównaniu z techniką
N MOS, lecz niestety kosztem zwiększenia powierzchni, zajmowanej przez układ
na kostce krzemowej. Wynika to stąd, że:
szerokość bramki tranzystora PMOS jest zazwyczaj 2 ~ 3-krotnie więk­
sza od szerokości bramki tranzystora NMOS (p. 7.5.1.1),
bramki CMOS wymagają użycia większej liczby tranzystorów (przy
n wejściach liczba tranzystorów w bramce CMOS wynosi 2n, a w bramce
NMOS tylko n+ I; por. rys. 7.64 i 7.72).
Aby zmniejszyć liczbę tranzystorów bramki CMOS, można zastosować
układ pseudo-N MOS, w którym jako obciążenie układu NMOS (por. rys. 7.64)
jest zastosowany tranzystor PMOS z bramką trwale połączoną z masą. Jest to
uklad statyczny, który przy y = L pobiera stały prąd zasilania, czyli jego średnia
moc strat jest znacznie większa niż w bramce CM OS. Ponadto, stały prąd
tranzystora PMOS działa spowalniająco na przełączanie y = H/L.
Aby jednocześnie uzyskać małą powierzchnię (złożoność) układu i małą
moc strat, stosuje się rozwiązania układowe określane jako dynamiczne, analogicznie do układów MOS. Formalnie biorąc, są to układy sekwencyjne, gdyż ich
stany „obecne" zależą również od stanów „poprzednich" (p. 4.2.ł). Faktycznie
służą one jednak głównie do sekwencyjnej realizacji układów kombinacyjnych,
czyli do sekwencyjnego określania wartości funkcji przełączających. Uk łady te
można z grubsza podzielić na dwie kategorie: uklady asynchroniczne i synchroniczne. W obydwu przypadkach konieczne jest stosowanie dodatkowych
sygnałów sterujących łub zegarowych (co najmniej jednego).
Do budowy dynamicznych układów kombinacyjnych CMOS szeroko
stosowana jest asynchroniczna technika domino [12]. Przykład bramki AND
wykonanej w ten sposób jest pokazany na rys. 7.96a. Układ ma dwa charakterystyczne tryby działania. Zależnie od stanu sygnału sterującego c następuje albo
ładowanie wstępne pojemności C (pr:z:y c - L) albo określenie wartości funkcji
przełączającej (przy c = H). Podczas ładowania na wyjściu bramki ustala się
poziom L, niezależnie od stanów wej ściowych , gdyż tranzystor T5 jest odcięty.
W fazie określenia wartości funkcji na wyjściu może zostać podtrzymany poziom
L (jeśli choćby jeden z sygnałów x 1 , x 2, x 3 ma poziom L) lub zostanie ustalony
380
7.5. UKŁAOY CMOS
poziom H (gdy x 1 = x 2 = x 3 = H) w wyniku rozładowania pojemności C przez
tranzystory T2 + T5.
W ogólnym przypadku, komórkę domino otrzymuje się przez wprowadzenie kombinacyjnej, statycznej sieci logicznej, złożonej z tranzystorów
n-kanałowych, między dreny tranzystorów sterowanych sygnałem c. Sposób
połączenia takich komórek jest pokazany na rys. 7.96b. Wszystkie komórki są
synchronizowane tym samym sygnałem sterującym c. Przy c = H następuje
generacja szeregowych przeniesień między sąsiednimi komórkami, co nasuwa
skojarzenie z popychaniem kolejnych kostek łańcucha w grze domino (stąd
pochodzi nazwa tej metody). Ponieważ ładowanie następuje jednocześnie we
wszystkich komórkach, a określenie funkcji następuje kolejno w poszczególnych
przewodzące
a
N - CMOS
Inwerter
statyczny
Co--...-- - < 1
b
r------...-- - - ---.---oUoo
y
BL
BL
BL
Rys. 7.96. Układ domino
a)
przykład
381
komórki rcali:zuj.ąocj funkcK AND. b) sposób pol.ączcó komórek domino (BL - blok logicmy
Nt.łOS)
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁADÓW SCALONYCH
komórkach, zatem czas trwania stanu c = H może być potrzebny znacznie
dłuższy od czasu trwania stanu c = L. Jeśli sygnał c jest sygnałem zegarowym, to
powinien on mieć postać odpowiednio niesymetrycznej fali prostokątnej.
Układy domino są niewrażliwe na zjawisko wyścigu, które oznacza
niepożądane rozładowanie pojemności uprzednio naładowanej wstępnie, w wyniku procesów przejściowych. Ogólnie biorąc, aby to osiągnąć, muszą być
spełnione dwa warunki:
w czasie fazy ładowania na wejściach logicznych komórki muszą być
ustalone poziomy odcinające tranzystory wejściowe (w tym przypadku
poziomy L),
w czasie fazy określenia funkcji na każdym wejściu logicznym może
wystąpić najwyżej jedna zmiana poziomów (w tym przypadku z L na H).
Wadą techniki domino jest brak funkcji inwersji, co wymaga stosowania - do
uzyskania wyprowadzeń zewnętrznych z inwersją - dodatkowych inwerterów
statycznych. Inwertery nie mogą być jednak wtrącane szeregowo w łańcuch
komórek domino. Ponieważ liczba tranzystorów komórki wynosi n+ 4, opłacal­
ność techniki domino staje się wyraźna dopiero przy większej liczbie wejść n.
Inną wadą układów domino jest występowanie szkodliwego zjawiska
redystrybucji ładunku z pasożytniczych pojemności w bloku logicznym NMOS
do „właściwej" pojemności pamiętającej C. W pewnych okolicznościach może to
spowodować mylne działanie układu.
Funkcje przełączające mogą być również realizowane przez układy
działające synchronicznie. Układ taki jest zbudowany również z łańcucha
kolejno połączonych komórek, z tym że określenie wartości funkcji i jej
przesunięcie do następnej komórki następuje nie asynchronicznie, jak w technjce
domino, lecz synchronicznie, zgodnie z odpowiednimi sygnałami zegarowymi.
Jeśli układ realizuje najprostszą funkcję y = x, to jego działanie sprowadza się do
przesunięcia informacji wejściowej łańcucha w kierunku wyjścia z opóźnieniem
równym mT,,, gdzie m jest liczbą komórek łańcucha i T,, jest okresem sygnału
zegarowego. Układ taki stanowi dynamiczny rejestr przesuwający.
Najprostszym koncepcyjnie układem dynamicznym CMOS tego typu jest
opisany już poprzednio (rys. 7.92) inwerter trójstanowy, czyli odwracający zatrzask
dynamiczny. Łącząc dwa takie zatrzaski kaskadowo w sposób pokazany na rys.
7.97a, otrzymuje się układ opóźniający synchronizowaną informację wejściową
o jeden takt sygnału zegarowego. Układ taki zwany jest dynamicznym przerzutnikiem D lub jednobitową komórką dynamicznego rejestru przesuwającego. Przy
<P = Li <P = H jest aktywny inwerter /2 a inwerter Il jest odcięty, natomiast przy
<P = H i <P = L jest odwrotnie. Oznacza to, że w żadnej chwili układ nie jest
"przezroczysty" od wejścia x do wyjścia y, co jest warunkiem poprawnego
działania przerzutnika D. Pojemność pasożytnicza C na wyjściu każdego inwertera służy do przejściowego pamiętania poziomu napięcia istniejącego na wyjściu
inwertera w momencie jego przejścia do stanu wielkiej impedancji. Wynika stąd
382
7.5. UKlADY CMOS
a
11
C'MOS
X<:>---!--
12
C2 MO S
z
...
+---+---Oy
b
11
IZ
, - -:;;;..._
Aktywne i nwertery:
1 11
I 12 I 11
I
12
11
I
P~mię~ani~ p~zio~u
"? POJemnosc1
j--;-'-_i
z
12
H
Co
I
I
I
T0
No pojemności Cb
~.._~~r'~-+---~
I ~~~'J-~L..l._r--y
f
T0
l,_---~
Rys. 1.97. Dwufa1.owy pri.erzut nik dynamiczny D, zbudowany z dwu
inwerterów trójstanowych CMOS
a) sc~maL, b) pn.ebiegj C?-3$0„ 't
dalsze ograniczenie cięstotliwości sygnałów <P i <P, które przyjmuje się o postaci
symetryC20ej fali prostokątnej. Ponieważ układ wymaga dwóch komplementarnych sygnałów zegarowych, zatem określa się go jako dwufazowy. Pokazane na
rysunku momenty zmian poziomów sygnału x są przywiązane ciasowo do
opadających zboczy zegara <I!, aby symulować zmiany y takiego samego układu,
użytego do sterowania pokazanego układu. Należy zaznaczyć, że do poprawnego
działania układu jest niezbędne, aby zmiany sygnału x nie wyprzedzały zmian
sygnałów <P i <P. Przy nawet niewielkim opóźnieniu fazy zegara w stosunku do x
(w sposób pokazany strzałkami na rys. 7.97b), może nastąpić zniekształcenie
383
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH U Kt..AOOW SCAlONYCH
prubiegów sygnałów z i y. To szkodliwe zjawisko określa się jako skos zegarowy
(clock skew). Podobnie szkodliwe zniekształcenie sygnału wyjściowego występuje
przy nieidealnej synchronizacji zboczy sygnałów <P i <P. Zjawisko to określa się
mianem hazardu zegarowego.
Prostszy,jednofazowy układ dynamicznego przerzutnika Dotrzymuje się
przy nieco innym kluczowaniu inwerterów, jak pokazano na rys. 7.98. Obydwa
inwertery są synchronizowane tym samym zegarem i realizuj ą następujące
operacje:
C1 MOS
o
C2 MOS
~--------.-----o
z
-
IJoo
- . --o Y
:!:c
.L
b
S kos zegarowy niebezpieczny
/
I
I
)(
ł
I
1
ŁW 1
z
sl<Os
I
•
zegorowyl b ezpieczny I
I
I
I
'
I
I
I
I
PAM
I
I
'Sto4 x
:
I
"-t- ...:_;:.::::..._J
I
I'--'r-~1--------;--;--
I
i
I
I
1$tany z
I
I
02tAO
PM
ŁW
I
I
y
I
:
I
PAM1ROZŁA
I
'
PAM
ŁW
I
P;!-M
Słany
y
:
I
I
I
I
I
I
PAM
tW
i PAM
:
I
I
I
I
Ran.AO PAM I ROZŁAO
Rys. 7.98. Jednofazowy pnerzutnik dyoamicwy O CMOS
a) schemat. b) prubiegi cr.a3owc
przy x<P =
przy x<P =
przy x<P =
poziomu -
384
LL - ładowanie wstępne (ŁW) pojemności pamiętającej C;
HH - rozładowanie (ROZŁAD) pojemności C;
LH lub HL - brak zmian na wyjściu inwertera (pamiętanie
PAM).
7.5. UKt.AOY CMOS
Nie występuje tu już zjawisko hazardu zegarowego, ale niebezpieczeń­
stwo skosu zegarowego istnieje nadal, jeśli ma miejsce opóźnienie fazy sygnału
I/> względem x (pokazane strzałkami w prawo na rys. 7.98b). Przesuwając się
natomiast z sygnałem x w prawo o 1/4 okresu zegara otrzymuje się bezpieczny
r.,
±ir.,.
margines skoku zegarowego równy
P róbkowanie stanów logicznych
sygnałów x i y powinno następować przy <P = H.
Jednostronnie bezpieczny skos zegarowy ma również dynamiczny odwracający przerzutnik D pokazany na rys. 7.99 [13). Łącząc wyjście y z wejściem
x otrzymuje się dwójkę liczącą, czyli układ dzielący częstotliwość impulsów
o
C1- MOS
N-C2MOS
~-----~---~~--"'Uoo
z
xo--+
.___ _„y
V
....
"T"
I
.J..
...1.
.J..
..I..
"T"
.J..
"T"
b
X
p
Ł
Ł
z
R
R
I
V
p
I
I
t
y
R I
I t
I
P I p
t
I
I
ł.
I
I
Ł
I
I
p
I
I p
I
I
I
I
I
I
p
I
IR
Ł
p
I
I
I
I
I
I
I
t
I
I
I
p
I
I
I
I
p
p
I
I
R
p
Ł
Ł
I
I
I
I
I
R
p
Ł
,t
Rys. 7.99. Odwracający jednofazowy przerzu1nik dynamiczny D CMOS
a) schtmi11, b) przebiegi cza3owc
385
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKt.AOOW SCALONYCH
wyjściowych
przez dwa. Zawiera on dziesięć tranzystorów, czyli o sześć
mniej w porównaniu z analogicznym układem statycznym i jest potencjalnie
bardzo szybki.
Do realizacji funkcji przełączających w łańcuchu synchronizowanych
zegarem komórek stosuje się różne techniki. Jedna z nich o nazwie NORA [14]
stosuje dwufazowe, trójstopniowe sekcje, składające się z dynamicznego stopnia
odwracającego N-CMOS, podobnego stopnia odwracającego P- CMOS i inwertera trójstanowego (rys. 7.100). Dodatkowo wprowadzane są - w razie
potrzeby- dwa inwertery statyczne. Dwa pierwsze stopnie mogą być zamienione
miejscami, a także można usunąć jeden z nich.
N- CMOS
P - CM OS
-, ....
I
I
I
I
X2
ł-+--1--d
_ __
'
.,,y
J...
I
I
0--1--1--- - l
x,
I
...
T
I
~„_.,,~J
...L
T
....
I
I
Rys. 7./00. Sekcja </J komórki NORA
Przy <P = L i <P = H w obydwu pierwszych stopniach następuje ładowa­
nie wstępne, a inwerter trójstanowy jest odcięty. W tym stanie powinno też
nastąpić ustalenie się poziomów na zewnętrznych wejściach logicznych sekcji.
Przy <P = H i <P = L następuje określenie wartości funkcji przełączającej
i ustalenie jej na wyjściu aktywnego inwertera trójstanowego.
Pokazana sekcja nosi nazwę sekcji <P. Przy zamianie miejscami sygnałów
<P i <P otrzymuje się sekcję <P. Łącząc kaskadowo takie dwie sekcje otrzymuje się
komórkę logiczną NORA. Jak widać, sekcje tworzące komórkę realizują naprzemiennie operacje ładowania wstępnego/pamiętania i realizacji funkcji/przesuwu. Komórki układowe NORA są niewrażliwe na zjawisko wyścigu, gdyż spełniają
386
7.6 . UKl.ADY a;CMOS
dwa warunki, wymienione uprLednio przy omawianiu układów domino. Układy
NORA są także do pewnego stopnia odporne na zjawisko skosu zegarowego
między sygnałami <I>, <I> i sygnałami wejściowymi. Zastosowania tej techniki
obejmują układy bardziej złożone niż elementarne bramki, gdyż liczba tranzystorów komórki wyra7..a się przy trzech stopniach zależnością n + 9, a przy dwóch
stopniach zależnością n+ 6. Na przykład, trójwejściowa bramka AND wymagała­
by użycia w dwóch stopniach 9 tranzystorów. Z drugiej strony, pełny jedno bitowy
sumator można wykonać w komórce NORA zawierającej tylko 32 tranzystory.
Technikę jednofazową pokaz.ano na rys. 7.101 [13]. Podstawowa komórka zawiera dwie sekcje: pierwsza składa się z dynamicznego stopnia odwracającego N- CMOS i półkluczowanego inwertera N-C 2 MOS, a druga
z dynamicznego stopnia odwracającego P-CMOS i półkluczowanego inwertera
P- C 2 MOS. Sekcje te działają podobnie jak w technice NORA, z tym że komórka
jest synchronizowana jednofazowo. Łatwość synchronizacji jest okupiona
większą złożonością układową (dwa tranzystory więcej niż w technice NORA),
tak że łączna liczby tranzystorów komórki wynosi n+ 11.
P- CMOS
N• CMOS
---..,
,....-- -..,
.. ....,
..._!_J
I
I
I
I
•2o-H
•1o-f-i
'---
I
LL,.,,
I
I
I
I
I
x+---4
I
I
I
I
I
I
I
I
'-----
_,J
I
li"' '
I
I
I
I
I
--'\--'
Blok P MOS
Blok HMOS
<0-4-~~~~~~~-4-~~-'~~~~~~~~~
Rys. 7.101 .
Przykład
budowy komórki synchronizowanej jednofazowo
UKŁADY
BiCMOS
7.6
W nowoczesnych urządzeniach cyfrowych często występuje potrzeba przesyłania
szybkich sygnałów cyfrowych przez wielobitową strukturę magistralową, przyłączoną do wielu wejść i wyjść stowarzyszonych układów. Oznacza to, że
z każdą szyną (przewodem) magistrali związana jest dość duża pojemność
387
7. BUDOWA I CHARAKTERVSTVKI CVFRO\VVCH Ul<'.t.ADÓW SCAi.ONYCH
pasożytnicza. Wejście
trójstanowe, sterujące szyną, musi zatem w procesie
warunki do szybkiego ładowania i rozładowania tej
pojemności (por. rys. 7.26b). Im szybsze są te procesy, tym większa może być
częstotliwość sygnałów transmitowanych magistralą i tym samym wydajność
urządzenia. Oznacza to, że wyjście trójstanowe powinno mieć jak największą
wydajność prądową i jak najmniejszą rezystancję wyjściową w obydwu stanach
logicznych. Wymagania takie są zazwyczaj lepiej spełniane przez układy
bipolarne niż alternatywne układy CMOS. Z drugiej strony mała moc strat
układów CMOS predystynuje tę technikę do realizacji układów wejściowych
i przetwarzających dane. Stąd powstały układy CMOS z bipolarnymi układami
wyjściowymi określane nazwą BiCMOS.
Układy BiCMOS wytwarza się niemal wyłącznie jako wspomniane
wcześniej wielobitowe (8- i 16-bitowe) sterowniki magistratowe. Są one wytwarzane między innymi w pięciowoltowej rodzinie ABT (Advanced BiCMOS
Technology) i nowszych, trzywoltowych rodzinach LVT i LVT16 przez firmy
Philips i Texas lnstruments. Typowe czasy propagacji buforów '244 z tych rodzin
wynoszą odpowiednio 2.9, 2.4 i 2.4 ns przy Ci = 50 pF.
Schemat typowego inwertera BiCMOS pokazuje rys. 7.102. Przy x = L
przewodzą tranzystory Pl , P2, N3 i Tl , pozostałe nie przewodzą, i na wyjści u jest
y = H. Przy x = H jest odwrotnie. Ponieważ wyjściowe tranzystory bipolarne
Tl, T2 są połączone równolegle z tranzystorami MOS (odpowiednio P2, N4),
więc napięcie wyjściowe zmienia się w pełnym zakresie od OV (poziom L) do U DD
(poziom H).
Wadą układów BiCMOS jest znacznie bardziej skomplikowana technologia niż przy wytwarzaniu układów CMOS. Oznacza to również odpowiednio
wyższą cenę. Dlatego do tych samych zastosowań opracowano również w „czystej" technologii CMOS 0.6 µm konkurencyjne układy trzywoltowe w rodzinach
HLL i AL VC (Philips, Texas Instruments) o typowym c-asie propagacji 2.1 ns
(przy CL = 50 pF).
przełączania zapewnić
~----.----.---ouoo
r - -t - - - l --Oy
Rys. 7.102. Inwerter BiCMOS
388
7.7.
UKŁADY
GaAs
UKŁADY
GaAs
7.7
Wszystkie poprzednio opisane cyfrowe układy scalone wykorzystywały krzem
jako materiał bazowy. Zastosowanie nowego materiału w postaci arsenku galu
(GaAs) umożliwiło istotne polepszenie szybkości działania [15).
W układach cyfrowych GaAs stosuje się n-kanałowe tranzystory polowe
z bramką złączową. Najczęściej są to tranzystory ze złączem metal-półprzewod­
nik (Schottky'ego), oznaczane symbolem MESFET (Metal- Semiconductor
Field- Ejfect Transistor). Są również stosowane tranzystory polowe ze złączem
p-n, tradycyjnie określane jako złączowe (JFET - Ju11ctio11 FET). Wybór tych
rodzajów tranzystorów wynika z porównania właściwości arsenku galu i krzemu
[14). Zasadniczą zaletą arsenku galu jest znacznie (ok. 6-krotnie) większa
ruchliwość elektronów (np. przy koncentracji domieszek N = 1017 cm - 3 dla
GaAs otrzymuje się µ."' 5000 cm 2/Vs, natomiast dla Si ok. 800 cm 2/Vs).
Wynikają stąd różnice parametrów tranzystorów o podobnych geometriach,
a więc transkonduktancji Bm• która jest wprost proporcjonalna do µ, oraz
częstotliwości granicznej fr, która jest wprost proporcjonalna do Bm· Przy
typowo stosowanych w układach GaAs krótkich długościach bramki
(L9 = 0.5 + I µm) należy również uwzględnić poprawkę wynikającą z nasycenia
prędkości unoszenia (różnica na korzyść GaAs jest dwukrotna).
Tranzystory polowe z bramką izolowaną (IGFET) są bardzo rzadko
wykorzystywane w układach cyfrowych GaAs, z uwagi na niezadowalające
parametry techniczne i trudności technologiczne. W szczególności, ładunek
stanów powierzchniowych Q„ jest w tranzystorach GaAs o 2 do 3 rzędów
wielkości większy niż w tranzystorach Si, co istotnie utrudnia realizację
tranzystorów o stabilnych napięciach progowych. Bardzo trudne jest również
wytwarzanie cienkich warstw dielektryka bramkowego o bardzo dobrej jakości.
Tranzystory bipolarne GaAs analogiczne do krzemowych, tzn. homo·
złączowe, nie mają sensu użytkowego, gdyż ruchliwość dziur w GaAs jest
mniejsza niż w Si. Również znacznie krótszy jest czas życia nośników mniejszoś­
ciowych. Natomiast tranzystory bipolarne heterozłączowe GaAs mają możliwo­
ści o rząd lepsze od tranzystorów MESFET GaAs ifr = 100 + 200 GHz).
Stwarza to dalsze perspektywy rozwoju układów cyfrowych GaAs. Zasadniczą
przeszkodę stanowią jednak trudności technologiczne. Układy cyfrowe GaAs
wykonuje się w podłożu półizolacyjnym (rezystywność 107 + 109 !km), nie
domieszkowanym lub słabo domieszkowanym akceptorowo (zazwyc-z.aj stosuje
się ind In). W ten sposób osiąga się bardzo dobrą izolację scalanych
elementów, co jest kolejną zaletą GaAs. Poszczególne elementy są wytwarzane
w takim podłożu przez lokalne, kilkakrotne domieszkowanie metodą implantacji
jonów (zazwyczaj krzemu lub selenu), podobnie jak w typowym procesie
planarnym (p. 6.2). Jako materiał warstw izolacyjnych stosuje się zazwyczaj
azotek krzemu Si 3 N 4 , a także P-SiN i - w warstwach pośrednich - Si0 2 .
389
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKLADOW $CAl0 NYCH
Podstawowa struktura tranzystora GaAs MESFET jest bardzo prosta
(rys. 7.103). Obszar kanału jest tworzony przez cienką (100+ 200 nm) warstwę
typu n (typowo N 4 "' 2 · 1017 cm - 3) , łączącą obszary 11 • drenu i źródła. Bramka
metalowa o typowej długości L, = 0.6 + 1 µm jest wykonywana z różnych metali
o
b
Oielekl ryk
Półizolocyjne podłoże GoAs
c
Obszary
i mplantowane
Rys. 7.103. Trao~ystor GaAs MESFET
a) pod$ta.,.,·owa $1ruktura, b)łymbol •nni ystora normalnie włączonego (D·1'.fESFEn.
c) symbol 1ran%)'$lOrt nonnalnlt wylącio neg<> (E·M€Si:E1)
(Ti/Pt/Au, WSi„ WN.), podobnie jak kontakty omowe (Au- Ge, Au-Ge/Ni).
Przez technologiczny dobór grubości kanału i poziomu jego domieszkowania,
można regulować wartość napięcia odcięcia UP i prądu I Dss = ID (U GS = O).
W ten sposób można uzyskać nie tylko typowy tranzystor MESFET normalnie
włączony (l Dss > O, U, < 0), czyli z kanałem zubożanym (D-MESFET, depletion
mode), ale taki.e tranzystor MESFET normalnie wyłączony (IDss = O, UP > O),
czyli z kanałem wzbogacanym (E- MESFET, e11hanceme11t mode). Przy stosowaniu tranzystorów D- MESFET można uzyskać większą amplitudę logiczną
U = UG max- U czyli różnicę między maksymalnym dodatnim napięciem
bramki UG...,. które nie powoduje jeszcze znaczącego przewodzenia złącza
(typowo UG"'" = 0.6 + 0.8 V), a napięciem odcięcia UP < O (typowo U "' I V).
Natomiast stosując tranzystory E- MESFET otrzymuje się mniejszą amplitudę
logiczną U "' UG max i mniejszą moc strat, lec-.i: generalnie również mniejszą
szybkość działania (dłuższy czas propagacji).
Jak wspomniano, w układach cyfrowych GaAs stosuje się także klasyczne
polowe tranzystory złączowe (JFET). Są one trudniejsze w produkcji od
tranzystorów MESFET, ponieważ do wytworzenia tranzystora JFET jest
wymagana dodatkowa implantacja ścieżki p + do wytworzenia bramkowego
złącza p +-n. Konieczna jest przy tym precyzyjna kontrola głębokości tego złącza
w celu ustalenia dokładnej wartości napięcia odcięcia. Zaletą tych tranzystorów
jest większa dopuszczalna wartość UG max "' I. I V, co umożliwia zwiększenie
amplitudy logicznej.
Pierwsze układy cyfrowe GaAs były budowane przy wykorzystaniu
tranzystorów D-MESFET i techniki BFL (Bu.ffered FET Logic). Schemat
przykładowej bramki NOR BFL jest pokazany na rys. 7.104. Jest to układ
„
390
7.7.
UKŁADY
GaAs
a
lBFtl
+ Uoo
H
01
T2
02
T3
x,
x,
y=x 1 x 2 vx1
X,
TS
IsoFLj
b
c
lsLcF I
+ Uoo
x,
X,
„
.,
01
+Uoo
02
03
DL
os
-u„
- Uss
Rys. 7.104. Struktury logiczne GaAs z tranzystorami D-MESFET
a) układ 8F4 b)
układ
SOFL. c) uklad SLCF
dwustopniowy, składający się ze stopnia inwersyjnego i wtórnika źródłowego
z diodami przesuwającymi poziomy napięcia wyjściowego. Tranzystor Tl stanowi obciążenie aktywne pierwszego stopnia, a T4 pełni funkcję źródła prądowego.
Układy BFL są szybkie, lecz mają relatywnie dużą moc strat i wymagają dwóch
napięć zasilających uak wszystkie układy z tranzystorami D- MESFET).
Układy SDFL(Schottky Diode FETLogic) również wykorzystują tranzystory D-MESFET (rys. 7.104b). W tym przypadku pierwszy stopień realizuje
klasycznie funkcję OR przy użyciu diod Schottky'ego (por. rys. 7.lb),a drugi
stopień jest inwerterem. Do realizacji bardziej złożonych funkcji tranzystor T3
jest wykonywany jako dwubramkowy i wówczas drugi stopień realizuje funkcję
NAND . Dioda D5 służy do przesunięcia poziomu napięcia, a źródło prądowe
(Tl) do wymuszenia stałej wartości prądu płynącego przez tę diodę.
391
7. BUDOWA I CHARAKTERYSTYKI CYFROWYCH UKŁADÓW SCAlONYCH
W technice SLCF (Schottky-diode Level-slrifter Capacitor-coupled FET
Logic) zastosowano diody Schottky'ego o celowo zwiększonej pojemności, aby
przyspieszyć przełączanie bramki (rys. 7.104).
Wykorzystanie tranzystorów E- MESFET umożliwia budowę bardzo
prostych struktur układowych, o jednym napięciu zasilającym i bardzo małej
mocy strat. Ich wadami są natomiast mniejsza amplituda logiczna w porównaniu
z układami D- MESFET (a więc mniejsza odporność na zakłócenia), oraz
konieczność precyzyjnej kontroli napięcia odcięcia UP tranzystorów E- M ESFET, a także rozrzutu tego napięcia w tranzystorach jednocześnie wytwarzanych
na płytce GaAs. Zapewnienie niewielkiego rozrzutu UP (rzędu 30 mV lub mniej)
stanowi trudny problem technologiczny.
Najprostsze układy z tranzystorami GaAs typu E- MESFET i E-J FET są
wykonywane w technice DCFL (Direct-Coupled FET Logic), analogicznej do
klasycznej techni ki DCTL w układach bipolarnych. Budowa bramki NOR
DCFL jest pokazana na rys. 7.105a. Aby polepszyć jej możliwości sterowania
obciążeń pojemnościowych, stosuje się dodatkowe bufory o postaci pokazanej
na rys. 7.105b.
Zmniejszenie wymagań odnośnie do precyzji wartości napięć odcięcia
uzyskuje się przy wykorzystaniu tranzystorów niecalkowicie normalnie wy/ączo-
o
b
R
R
c
ILPFLl
„
T2
x,
"
~--4---+----<,__-ouo o
"1
Ds
T3
TL
Tl
x,
x,
R,
Rys. 7./05. S1ruktury logiczne GaAs z tranzystorami E-M ESFET
a) podstawo•·ai bramka NOR OCFL. b) bufor odwracając)' DCFL. c) uklad LPfL
392
T2
7.7.
U KŁADY GłAI
nych (quasi-E), o
napięciu odcięcia
w zakresie -0.4-;- +O.I V. Jedno ze
stosowanych rozwiązań układowych LPFL (Low Power FET Logic) jest
pokazane na rys. 7.105c. Układ umożliwia na wejściu realizację funkcji zwarciowej DOR, pod warunkiem, że każde wejście jest sterowane z oddzielnego
wtórnika źródłowego (takiego jak T2, T3 i T4).
Główna zaleta układów cyfrowych GaAs - duża szybkość działania
- w wielu zastosowaniach jest porównywalna z wynikami uzyskiwanymi
w zaawansowanych, subrnikronowych technologiach bipolarnych i CMOS.
Układy GaAs są stosowane głównie jako układy specjalne (do zastosowań wojskowych, kosmicznych, telekomunikacyjnych), w których jest
wymagana ekstremalnie duża szybkość działania. Typowymi przykładami są
układy cyfrowe bardzo wielkiej częstotliwości, np. dzielniki częstotliwości.
Bardzo duże koszty technologiczne i stosunkowo duża moc stra t ograniczają
jednak użycie układów GaAs w szerszych zastosowaniach.
LITERATURA
I. Kalisz J.: Cyfrowu uklady scalone w iechnice sysiemowej, MON, Warszawa 1977
2. Pieńkos J., Turczyński J.: Uk/ady scalone TfL w systemach cyfrowych, WK L. Warszawa 1986
3. Muller H. H., Owens W. K., Verhofstadt P. W.J.: Fully compensaied emitm-coupltd logic:
eliminating the drawbacks of con"'11tional ECL. IEEE J. Solid-State Circ., Vol. SC-8, No. 5,
October 1973, 362
4. Dhaka V. A„ M uschinske LE„ Owens W. K.: Subna-.ind emiu.r-coupl..t logic gott cirCJ1it
u.sing lsop/anar li. Ibid.. 386
5. Ta.maki Y. tt al.: AJuanced process deuice technology for 0.3-µm high-performance bipolar LS/'s.
IEEE Trans. Elcctr. Dcv„ Vol. 39, No. 6, June 1992, 1387-1391
6. Cbuang C. T. tt al.: High-speed low-power ECL d rcuit with AC-coupled .<e/f·biased dy11wnic
current source and actlve-pul/-down emi1ter{ollower s1<1ge, IEEE J. Solid-State Circ., Vol. 27, No. 8,
August 1992, 1207- 1210
7. Pearson T.: F.CL clock distribution 1ech11iques. Motorola Application Note AN1405, 1996
8. Gajewski P„ Turczyński J.: C)frowe układy scalone CMOS, WKl., Warszawa 1990
9. Shoji M.: CMOS digital circuit technology, Prentie<>Hall International, 1988
10. Rabaey J. M.: Digital inugraud circuits, Pttntice-lfall, 1996
li. Forstner P.: Crossbar technology, Texas lnstruments Application Note, August 1995
12. Kra.mbeck R. li. et al.: High·SP<?td compa<t circuiu with CMOS, IEEE J. Solid-State Circuits, v.
SC-17, 1982. No. 3. 6 14-619
13. Ji-Ren V. et al.: A trut single-phase-clock dynamie CMOS circuir uchniq11e. IEEE J. Solid-State
Circuits, vol. SC-22, 1987, No. 5, 899-901
14. Goncalves N. F., De Man H.J.: NO RA: A racefree dynamie CMOS 1ech11it111e.for 11ipeli11ed logic
s1ruc1ures, IEl!E J. Solid-State C ircuits, v. SC-18. 1983, No. 3, 26 1-266
IS. Long S. L, But ner S. E.: Gollium arsenidedigital integroted cirCJlit design, McGraw-Hill Publ. Co.,
New York 1990
8
CYFROWE BLOKI FUNKCJONALNE
PODSTAWOWE DEFINICJE
8.1
W poprzednich rozdziałach opisano realizacje -zarówno logiczne, jak i fizyczne
- podstawowych układów cyfrowych. W układach kombinacyjnych takimi
elementami logicznymi są bramki, w układach sekwencyjnych - przerzutniki.
Obecnie zajmiemy się bardziej zlożonymi układami zbudowanymi z takich
elementów, realizującymi określone funkcje.
Układ cyfrowy określa się jako blokfimkcjonalny, jeśli:
składa się z pewnej liczby powiązanych ze sobą elementów logicznych
(kombinacyjnych lub/i sekwencyjnych),
realizuje jedną lub więcej funkcji, zależnie od stanu wejść sterujących,
przy określonym stanie wejść sterujących realizuje tylko jedną określoną
funkcję.
Bloki funkcjonalne, realizujące typowe funkcje logiczne i arytmetyczne, są
wytwarzane jako układy scalone MSI i LSI. Bloki te mogą służyć do tworzenia
bardziej złożonych zespołów funkcjonalnyclr.
x=oos
Y=FoR
X
BF
Rys. 8.1
Ogólny symbol bloku
funkcjonalnego
Ogólny symbol bloku funkcjonalnego BF jest pokazany na rys. 8.1.
Binarne sygnały wejściowe X bloku dzielą się na wejściowe sygnały informacyjne
D (dane podlegające przetworzeniu w BF) i sygnały sterujące S. Binarne sygnały
wyjściowe Y bloku dzielą się na wyjściowe sygnały informacyjne F (uzyskane
394
8.1. PODSTAWOWE DEFINICJE
w wyniku przetworzenia sygnałów D) oraz sygnały kontrolne R. Odpowiednio
oznacza się wejścia i wyjścia.
Podane oznaczenia D, S, Fi R dotyczą wektorów binarnych, np. D = (d 0,
d 1 , •.. , d 7 ), z których po odrzuceniu nawiasów i przecinków można otrzymać ciągi
znakowe (słowa), np. d0 d 1 •..d 1 . Słowa wejściowe X i wyjściowe Y stanowią
złoi.enia odpowiednich słów składowych: X= D• Si Y = F• R. Jeśli układ nie ma
wejść S, to D = X. Podobnie jeśli nie ma wyjść R, to F = Y Opis formatu słów
jest podany w p. 2.1.
Realizacja przy określonym stanie wejść sterujących tylko jednej okreś­
lonej funkcji oznacza wykonanie mikrooperacji, czyli określonej czynności
logicznej łub arytmetycznej, która jest wykonywana przez blok przy pojedynczym stanie s, sygnałów sterujących. Stan ten można wyrazić słowem zerojedynkowym lub zapisać go w postaci równoważnego iloczynu literałów (np. 100101
lub s1 s1 s3 s,s5 s6 , p. 4. 1.2). W ostatnim przypadku stan ten nosi nazwę funkcji
sterującej, która - ogólnie biorąc - moi.e mieć postać nie tylko pojedynczego
iloczynu, lecz również bardziej złożonej formy boolowskiej. W przypadku bloku
sekwencyjnego wykonanie mikrooperacji odpowiada takiej funkcji bloku, która
jest wykonywana w czasie jednego taktu pracy bloku (w układach asynchronicznych takt jest określony przez odstęp czasowy między kolejnymi zmianami stanu
pamięci układu, a w układach synchronicznych takt jest określony przc·z okres
sygnału zegarowego). Zestaw wszystkich mikrooperacji, wykonywanych przez
dany blok funkcjonalny, stanowi jego opis funkcyjny.
Mikrooperację µ wykonywaną przez blok kombinacyjny moi.na zapisać
w postaci funkcji µ: D .... Y i warunkującego jej realizację stanu sterowania S,
w postaci
s.: Y= µ(D)
Zapis s.: jest równoważny wyrażeniu
jeśli S = s. to (gdy s. wyraża się słowem zerojedynkowym)
albo
jeśli
s. =
I to (gdy s. wyraża się iloczynem literałów).
Przy użyciu angielskich słów kluczowych stosuje się słowo if zamiast jeśli
oraz then zamiast to.
Relacja S = s. bądź s. = I stanowi predykat (p. 1.2), którego spełnienie
warunkuje wykonanie mikrooperacji µ.Dlatego w praktyce predykat taki często
nazywa się waru11kiem. Zależnie od przyjętego alfabetu rachunku zdań - zazwyczaj {O, I} lu b (true,false} - spełniony predykat staje się zdan iem o wartości
I łub true, a niespełniony predykat zdaniem o wartości Olub fa/se . W dalszej
części tego rozdziału stosowany będzie alfabet {O, I}. Wyjątkiem jest zapis
w języku Pascal, w którym do tego celu jest przyjęty alfabet {rrue, fałse},
określany jako boolowski (boołean).
395
8 CYFROWE BLOKI FUNKCJONALNE
Na przyklad, mikrooperację następnika,
stanie S[I, 2] = Ol, można zapisać w postaci:
S 1s2
realizowaną przykładowo
przy
=Ol:Y=D +I
gdzie słowa Y i D
w postaci
są
traktowane jako liczby. Najprostszy zapis otrzymuje
się
s,s2: Y= D+ I
gdzie s1s2 interpretuje się już nic jako złożenie literałów, lecz jako iloczyn
boolowski. Tę samą mikrooperację można także wyrazić w języku Pascal:
if (si =O) and (s2 = I) then Y: = Succ(D)
przez bardziej złożoną
Na przykład, mikrooperację poprzednika, realizowaną
przy stanie S = s,s2 v s3.S4 = I , można zapisać w postaci
Stan sterowania
może być również wyrażony
postać funkcji sterującej.
przykładowo
s,sl V S3S4: y = D- 1
Mikrooperacja
operacji porównania
może być także wyrażana
predykatem, np. w mikro-
r = (y =z)
Oznacza to, że sygnał kontrolny r przyjmuje wartość I tylko wtedy, gdy zmienne
y i z mają te same wartości.
Jeżeli stan sterowania opisuje się określonym słowem dwójkowym,
złożonym z pewnej liczby bitów, to nazywa się go również mikrorozkazem,
powodującym wykonanie określonej mikrooperacji.
W zapisie mikrooperacji dla bloków sekwencyjnych zazwyczaj stosuje się
znaki := lub +-. Po prawej stronie takiego znaku występuje zmienna w stanie
poprzednim, a po lewej stronie tego znaku w stanie następnym. W najprostszej
mikrooperacji przypisania
8 := A lub B+-A
zapis ten oznacza, że zmienna 8 przyjmuje wartość A. Jeżeli słowa A i B są
umieszczone w odpowiednich rejestrach, to zapis B +- A ooznacza „prześlij A do
B" Gest to zasadnicza operacja języka przesiań rejestrowych, stosowanego do
prostego opisu systemów cyfrowych).
Opisywane poniżej bloki funkcjonalne będą przedstawione za pomocą
symboli graficznych według zaleceń !EC. Symbole ogólne operują stanami
zewnętrznymi równymi stanom wewnętrznym (p. 4.1.4). Natomiast symbole
przykładowych ukladów scalonych wprowadzają odpowiednie rozróżnienia
tam, gdzie użyte są wskaźniki poziomu. Oznaczenia typów układów scalonych
podane w konwencji 'XXX (np. ' 151) odnoszą się do układów z popularnych klas
TIL i HCMOS (np. 74151, 54LSl5ł , 74HC151).
396
8_2.. UKŁADY KOMBINACYJNE
Do opisu mikrooperacji wykonywanych przez bloki jest zastosowany
tak że język Turbo Pascal. Odpowiednie procedury wchodzą w skład symulatora
komputerowego TLS, opisanego w p. 4.3.
UKŁADY
8.2
KOMBINACYJNE
8.2.1
Multipleksery i demultipleksery
Układy multiplekserów
i demultiplekserów są określane jako bloki komutacyjne.
multiplekserem umożliwia wybór i przesianie na wyjście
y
z N wejść informacyjnycli d•. Numer wejścia k E {O, I, ...,
N - l } = N jest wyznaczany przez stan A wejść adresowyclt, określany krótko
jako adres. MuJtiplekser realizuje zatem funkcję wielopolożeniowego przełącz­
nik a z cyfrowym wyborem pozycji. Przy powszechnie stosowanym do adresowania kodzie NB liczba N wejść informacyjnych jest związana z liczbą n wejść
adresowych zależnością N = 2". Format slowa adresowego odpowiada
n-bitowemu kodowi NB, to znaczy A [n - l : OJ, co np. przy n = 3 daje A (2: OJ
i A = a2 a1 a0 • W często stosowanych oznaczeniach wejść adresowych w postaci
liter A, 8, C, D litera A oznacza zawsze najmniej znac-4cy bit, a pozostale litery
oznaczają bity na odpowiednio wyższych pozycjach.
Zazwyczaj układy multiplekserów mają również dodatkowe wejścia
sterujące zwane zezwalającymi (E lub EN, z ang. Enable). Słowo steruj ące Sjest
wtedy złożeniem S = A • E, natomiast funkcja sterująca jest iloczynem logicznym:
S = A· E, w którym słowa A i E są również traktowane jako iloczyny logiczne.
Symbol graficzny multipleksera, którego słowo E jest jednobitowe (czyli
E = e), jest pokazany na rys. 8.2a. Notacja zależnościowa G oznacza funkcję
AND, to znaczy, że wewnętrzny stan wejść, uzależnionych od stanu G, pozostaje
w relacji AND ze stanem G. Funkcję multipleksera Hl z Ntt można zatem opisać
Układ zwany
sygnału z jednego
formą boolowską
b
o
EN
MUX
-- ~ }G_q_
'
'''
- o
o{ o.~ -- .'
+1::
y
N-I
n -1
-
1
~
N- 1
Rys. 8.1 Ogólny symbol graficzny
a) nulllipleU<n, b) dmlu lupkk""'
397
'i
·l-t~ ~
EN
~
1
-.
o =
'
'
ox
o
o }G..Q._ 1
N· 1
n-1
d
N-1
Yo
I'
- y,
'
•'
I
••
.
.••
-
8. CYFROWE BlOKI FUNKCJONALN(
1'1-1
y= e
V P,(A)d,
t=O
gdzie: k = L (A)
P• - iloczyn pełny (minterm) zdefiniowany w p. 4.1.2.
Funkcję tego multipleksera można Leż opisać związkiem
i\'- I
y =e
V (L(A) = k)dk
k• O
gdzie wyrażenie L(A) = k stanowi predykat. Predykat ten, podobnie jak
poprzednio iloczyn Pk(A), pelni runkcję przełącznika wybierającego tylko jedno
wejście d, ze zbioru {d 0 , d1 , ••• , dN _1}, co odpowiada opisanej notacji
zależnościowej G. Mikrooperację multipleksowania można zapisać w postaci
(k e N)
Demultiplekser spełnia funkcję odwrotną do multipleksowania. Umoż­
liwia to przesłanie sygnału z wejścia d na wybrane jedno z N wyjść Yt·
odpowiednio do stanu A wejść adresowych. Działanie demultipleksera opisuje
związek
k = O, I, ..., N -
ł
lub
Y•
= e(L(A) = k)d,
Mikrooperację
k
„ O, l, ...,
N- I
demultipleksowania zapiszemy w postaci
eP,(A): y, = d,
(k e N)
Symbol ogólny demultipleksera przedstawia rys. 8.2b.
Scalone uklady multiplekserów i demultiplekserów MSI są wytwarzane
w wielu odmianach w klasach TTL, ECL i C MOS. Przykład multipleksera" ł z 8"
typu '15 l z klasy TTL jest pokazany na rys. 8.3. W symulatorze TLS opisuje go
procedura
procedure KUX 151(A: r3; O : r8; e : B; vary, w: 8);
bes i n
if e •
l tben y :• O
elae y : • D[(A[2 ) ohl I or A[IJ) a hl
w :• y xor l
end;
I or A[O ] ];
W celu zwiększenia liczby N, która w pojedynczym układzie scalonym nie
przekracza 16, układy takie moina łączyć w większe zespoły, określane jako
multipleksery piramidalne. Przyklad ukladu demultipleksera jest omówiony w p.
8.2.3.2.
Rozszerzenie opisanych prostych bloków, służących do komutowania
informacji jednobitowej, stanowią bloki komutujące słowa wielobitowe. Taki
398
8.2.
U ICŁAOY
KOMBINACYJNE
multiplekser grupowy służy do wybierania jednego z wielu słów wejściowych (D 0 ,
D1, D2 , ••• ). Demu ltiplekser grupowy kieruje jedno slowo wejściowe D do jednego
z wielu wyjść grupowych.
Zespól połączeń między wyjściami mu ltipleksera grupowego i odpowiednimi wejściami demultipleksera grupowego stanowi magistralę. Funkcję wprowadzenia sygnałów na magistralę można również zrealizować za pomocą
a
7
A{:oo, -
11
o, -
10
9
-
3
2
.,••••
o ••
••
'1Sl
MUX
- EN
o}G70
4
I
IS
•••• - "
••
13
12
2
5
-y
6
--
o
1
2
,
)
5
6
1
b
-;-
•
•• 0 - •• 0 - o, 0 - -
-I
-
~
-
-- -
-
~ -
~
~
-
-
-
-
l
... ,_ .....
-
H -
--
-----
:--i
w=j
i-J -
~ i--
--
--
-- "'
~
-
>----
Rys. 8.J
Mul1iplekser · 1s1
•) $)'ftlbol, b)
399
idwm.11
y
8. CYFROWE BLOKI FUNKCJONALNE
zespołu układów
z wyjściami trójstanowymi lub z otwartym kolektorem.
polegam.in. na tym, że gdy używamy multipleksera, wówczas z każdym
przewodem magistrali związana jest pojemność tylko jednego wyjścia, natomiast
przy stosowaniu wyjść trójstanowych z każdym przewodem magistrali jest
związanych N wyjść, czyli łączna pojemność jest N-krotnie większa. Ponadto
w pierwszym przypadku stan wejść sterujących jest kodowany dwójkowo (kod
NB), natomiast w drugim jest w kodzie „1 z N".
Różnica
Zastosowanie multiplekserów do syntezy
układów kombinacyjnych
8.2.2
Ogólna postać kanonicznej formy sumacyjnej (p. 4.1.2) i formy boolowskiej,
opisującej multiplekser są wyraźnie podobne. Dobierając takie wartości k, przy
których d• = l, można określić dowolny zbiór T (p. 4.1.2). Oznacza to, że
multiplekser o n wejściach adresowych może realizować dowolną funkcję
przełączającą n zmiennych, przez ustalenie na odpowiednich wejściach d• stanu
O lub I. Można jednak do tych wejść przyłączyć alternatywnie jedną zmienną
(prostą lub zanegowaną), co oznacza, że multiplekser o n wejściach adresowych
można wykorzystać do realizacji dowolnej funkcji przełączającej n+ I zmiennych, którą oznaczymy przez f(x 0 , x 1• „ .• x.). Zadanie syntezy polega na
określeniu stanów poszczególnych wejść.
Postępowanie
I.
2.
3.
4.
5.
przy syntezie jest
następujące:
Wybieramy multiplekser o liczbie n wejść adresowych mniejszej o I od
liczby zmiennych zadanej funkcji przełączającej.
Dla wygody oznaczamy zmienne x zgodnie z pozycjami (n+ 1)-bitowego
kodu NB (np. X= x 3 x 2 x 1x 0 ) i podajemy zmienne x na wejścia a o tych
samych indeksach (x 0 -+ a0 • . ..• x._ , -+ a. - 1).
Przedstawiamy funkcję przełączającą taką formą sumacyjną f, której
skladniki stanowią lub zawierają iloczyny pełne (mintermy) w odniesieniu
do zmiennych x. _ 1, x. - 2 , .. „ x 0 . Składniki te mogą mieć zatem postać
PHX) albo x.Pł(X) albo x.Pł(X).
Wyznaczamy wejścia d., do których ma być przyłączony stan I. Numery
k tych wejść są określone przez równoważniki dziesiętne tych składników
formy f, które nie zawierają zmiennej x., czyli k = L(PZ).
Wyznaczamy numery wejść dk, do których ma być przyłączona zmienna
x•. Są one określone przez równoważniki dziesiętne k tych iloczynów
PZ(X), które w danej formie są mnożone z x•. Do tych wejść, do których
już poprzednio przyłączono stan I, nie przyłącza się zmiennej x•. gdyż
X V I = I.
400
82.
6.
7.
UKŁADY
KOMBINACYJNE
Podobnie określa się numery wejść d4 dla zmiennej x •• a na tych wejściach
na których wyznaczono stany x. i
ustala się stan I.
Na pozostałych wejściach ustala się stan O.
x..
Przykład. Określić połączenia
y
1), 2)
multipleksera realizującego funkcję przełączającą
= XzX I VX1Xo V X2X1 Xo
wybieramy multiplekser o dwóch wejściach adresowych H'153) i łączymy
wejścia adresowe jak pokazano na rys. 8.4.
ł '153
EN
••
••
MUX
O}G
O
1 3
o
t --
<>y
1
Rys. 8.4
2
Przykład
wykorzys1ania
multipleksera do n:aliucji runkcji
pr?..Clączającej
3)
4)
5)
6)
7)
y= x
x x x x1x0 V x 1 x 1x0
i. 2 1x0 V 2 1 0 V
wejście o stanie I jest
wyznaczone przez trzeci składnik: L(Ol) = I;
wejścia zmiennej x1 są wyznaczane przez pierwszy i drugi składnik:
L(Ol) = I i L (OO) =O, przy czym wejście l zostało już przyłączone
poprzednio do stanu I;
wejście zmiennej x 2 jest wyznaczone przez czwarty składnik:
L(IO) = 2;
„nieobsadzone~ wejście 3 łączymy ze stanem O.
Przy syntezie można również czasem wykorzystać wejście zezwolenia e.
W niektórych przypadkach można również wyeliminować inwerter zm iennej x 0 ,
jeżeli dokona się innego przyporządkowania zmiennych wejściom adresowym
(np. zamieniając x 1 z x.).
Program M uxGen4 w języku Turbo Pascal [3) umożliwia automatyczną
syntezę układu, realizującego dowolną, zupełną funkcję przełączającą czterech
zmiennych z zastosowaniem typowego multipleksera scalonego '151. Danymi
wejściowymi są elementy zbioru T4 , czyli te liczby kEN4 = {O, I, ... , 15}, dla
których/(X 4) = I. Program umożliwia syntezę układu dla czterech przypadków,
odpowiadających różnym przyporządkowaniom zmiennych x 0 , x„ x 1 , x 3 do
wejść a0 , a„ a1 i d4 •
Na przykład, dla zbioru T = {1,3, 7, 10, 15} w wersji 3 (a0 - x 2 ,a 1 - x 3 ,
a 1 - x 0) otrzymuje się d• =I, d 2 = d 5 = d 7 = x 1 i na pozostałych wejściach
d stan O, co oznacza eliminację inwertera zmiennej x 1 .
401
8. CYFROWE BLOKI FUNKCJONALNE
program MuxGen4:
{ Mu l tiplekserowy g enerator funkc j i czterech zmiennych
uees Cr t ;
var
t , v
set o f O . . 15 ;
~
string ( 2 );
m, n, I
intege r;
}
begin
Cl rScr;
t
:•
GoToXY(3 , 8);
() ;
Wr ite l n( '
Wp i sz e lementy zbioru T z przedziału (O, 15 )' );
( ko niec wp isywania: Enter ) ') ;
Writel n('
repeat
Read ln (u ) i
Vał(u ,
ltl, n);
if n = O then t
u_n til n > O;
:= t
+
(m);
ClrScr; TextCoJor(Black ) : TextBac kgro und(Wh ite);
Write('Elcmenty zbi oru T : ') ;
t or m: • O to 15 do
if min t then Wr i te (m,
') :
Writeln; Writeln ;
for . I
:
=
1 to 4 do
begin
case 1 of
1:
2:
3:
4:
Wr i te ln( •
Wr ite ln ('
Wri t e ln('
Wr ite ln( •
Wersja 1: aO-xO,
Wersja 2: a0- x3,
Wersja 3: a0-x2,
Wersja 4: ao- x 1,
end;
NormVide o:
form :. O to 7 do
I! ( m In t) and (m + 8 in
a1 -x 1,
a l - xO,
al - x3,
al - x2,
a2-x2 ') :
a2 - xl' );
a2 - x0');
a2 - x3');
t )
then Wri te(' d', m. • • 1 ')
el se
if min t then Write( 'd ', m,
,.. IN\'( x ', 4 -
l,
')
');
Wr i t e ln:
for m :• 8 to 15 do
if (m in t) and not(m - 6 i n t)
then
Write('d' , m -
Wri tel n;
Writetn('Na
8, • = x', 4 -
pozostałych wejściach
d
1, •
u stal ić
') ;
stan 0'):
Writeln :
V
: •
() j
tor n :. O to 15 do
i f n in t then
if n < 6 then v :. v + (n shl 1)
el&e v : = v + (( n shl 1) - l ');
t := v;
TextCotor(B l ack) ; TextBackground(White);
end
e nd .
Analogiczny program
umożliwia syntezę układu
kombinacyjnego realizującego dowolną zupełną funkcję przełączającą pięciu zmiennych z zastosowaniem multipleksera „ 1 z 16" typu '1 50. Ponieważ ma on tylko jedno, zanegowane
wyjście, syntezę układu należy prowadzić dla zbioru F 5 = N5 - JS = 15.
W przypadku funkcji niezupełnych zbiór D zazwyczaj włącza się albo do
zbioru T, albo do zbioru F, albo częściowo do zbioru Ti częściowo do zbioru F.
W ten sposób można czasem uniknąć stosowania zmiennej x., czyli dodatkowego inwertera.
402
8.2 . U KŁADY KOMBINACYJNE
Konwertery kod ów
8.2.3
Rodzaje kodów i sposoby ich konwersji były omow1one w rozdziale 2.
Poniżej są omówione niektóre najczęściej stosowane konwertery kodów (KK).
W tej grupie układów cyfrowych wyróżnia się specjalnymi nazwami kodery
-
X/ Y
'''
'''
''
.'
~
'
'' '
'
Rys. 8.5
Ogólny symbol konwertera kodów
i dekodery. Do najczęściej stosowanych konwerterów kodów należą również
konwertery kod u NB na BCD i odwrotnie. Układy konwerterów są wytwarzane
jako układy MSI, głównie w klasach TIL, ECL i CMOS. Ogólny symbol
graficzny konwertera kodu jest pokazany na rys. 8.5, przy czym zamiast
liter X , Ymogą być w konkretnym układzie wpisane oznaczenia identyfik ujące
rodzaje kod u.
Kod ery
8.2.3.1
Układy
cyfrowe do przemiany słów kodu „1 z N" na odpowiadające im słowa
w dowolnym innym kodzie noszą nazwę koderów. Przy stosowaniu kodów
kontrolnych mianem kodera określa się także układ służący do konwersji słów
informacji źródłowej (w określonym kodzie) na słowa w kodzie kontrolnym.
Jeśli kodem słów wejściowych jest kod „ I z N'", to wejścia tik kodera
numeruje się w ten sposób, aby było prawdziwe zdanie
V L(F) =
k
« N
gdzie N = {0, 1, ... ,N - l}.
Przykład
budowy logicznej kodera „ I z 10"/BCD 8421 jest pokazany na
rys. 8.6, na którym X = D i Y = F . Poziomem aktywnym na wejściach i wyjściach
jest poziom H. Jest to prym itywny układ stosowany w kodowaniu ręcznym, np.
za pomocą dziesięciu przełączników klawiszowych. Dziesią ty klawisz służy tylko
do zwalniania pozostałych, zapewniając tym samym na wszystkich dziewięciu
wejściach x 1 •. . x 9 poziom L. Odpowiada to stanowi x.0 = H. Każde wejście
x 1 „. x 9 musi byś połączone z masą przez odpowiedni rezystor, aby w stanie
nieaktywnym wytworzyć poziom L. Sposób połączeń bramek układu wynika
bezpośrednio z tablicy stosowanych kodów (por. tabl. 2.5).
403
8. CYFROWE BLOKI FUNKCJONALNE
• 1 Kod
z 10•
c===========:: : : >
.., ••
., .,••
••
.
••, .
:. 1
~1
I
___.,
-
- Yo
y,
__..
Y2
......
I
-
.
„••
BCD
Kod8421
L
<>---
-
.
Rys. 8.6. Przykład budowy kodera . t
i
1
10"/ BCD 8421
Układy
konwerterów kodu w praktyce nie buduje się z elementów SSL,
lecz stosuje się odpowiednie układy MSI. Przykładem scalonego kodera „ Iz
10"/BCD 8421 jest układ ' 147, którego symbol pokazano na rys. 8.7. Poziomem
••
.,
„
••
••
12
13
1
2
. 3
••.,
••
••
'14?
„
1
2
3
4
. 5
4
-
5
10
.
6
7
8
9
HPRl/BCO
1
2
'8
g
~
7
6
14
Yo
Y,
Y1
y,
Rys. 8.7
Symbol scalonego kodera • 147
aktywnym na wejściach i wyjściach układu jest poziom L. Układ ten jest
nazywany jako priorytetowy, co oznacza, że przy jednoczesnej aktywacji kilku
wejść układ realizuje kodowanie w odniesieniu do wejścia o najwyższym
numerze. Jeśli na żądanym wejściu nie ma poziomu L, to jest kodowany stan O.
Odpowiada temu oznaczenie „HPRI" (Highest Priority).
Dekodery
8 .2.3.2
Układy konwerterów kodów, które zmieniają słowa w dowolnym kodzie na
słowa w kodzie „! z N", określa się jako dekodery. Umożliwiają one określenie
zbioru pojedynczych (jednobitowych) decyzji na podstawie wejściowego słowa
404
&2.
UKŁADY
KOMBINACYJNE
informacyjnego. Najczęściej stosowane dekodery służą do konwersji N B/„I z N"
i BCD/„ 1 z 10". Do sterowania cyfrowych wskaźnik ów 7-segmcntowych stosuje
się również dekodery kodu BCD na kod wskaźnika ?-segmentowego. Mikrooperacje dekodowania można zapisać w odniesieniu do rys. 8.5 i przy F = Y jako
S: Y•
= P.(D)
S: Y•
= (L(D) = k)
łub
Gdy układ dekodera ma wyjście zezwolenia e, to jego działanie opisuje
związek
Yt = eP.(D)
łub
Yt = e(L(D) = k)
Po formalnym przemianowaniu wejść danych D na wejścia adresowe
A i wejścia zezwalającego e na wejście danych d łatwo można zauważyć, że
dekoder spełnia funkcję demultipleksera. Dlatego często nazwy tych układów są
łączone.
Przykładowy układ dekodera/demultipleksera '138 pokazano na rys. 8.8.
Symbole tego układu są różne i zależą od tego, czy układ spełnia funkcję
dekodera, czy demultipleksera. Jako dekoder (rys. 8.8b) układ realizuje funkcję
Yt = EP.(D), gdzie E = e1 e2 el i k =O, I, ... , 7. Jako demultiplekser (rys. 6.8c)
realizuje funkcję Yt EP.(A)d, gdzie E = e2 el, d = e 1 i k =O, 1, ... , 7.
Do sterowania ?-segmentowych wskaźników cyfrowych, zwłaszcza pół­
przewodnikowych, stosuje się dekodery realizujące konwersję kodu BCD 8421
na 7-bitowy kod wska.źnika ?-segmentowego. Sposób przedstawiania cyfr
dziesiętnych z użyc.iem takiego wska.żnika pokazano na rys. 8.9. Cyfry tak
tworzone we wskaźnikach półprzewodnikowych (z diodami elektroluminescencyjnymi) są zwykle nieco pochylone w prawo, co zapewne lepszą czytelność.
Jednym z typowych dekoderów do sterowania takich ?-segmentowych
wskaźników jest układ '47A. Ma on dość skomplikowany symbol graficzny IEC
pokazany na rys. 8.10. Wyjścia dekodera są nazwane literami a...g, czyli zgodnie
z typowymi symbolami segmentów wskaźnika, i są oznaczone wskaźnikami
poziomu. Zapalenie segmentu następuje, gdy na danym wyjściu jest poziom L.
Układ ma cztery wejścia kodu BCD 8421 i trzy wejścia funkcyj ne:
wejście wygaszania, spełniające również funkcję wyjścia wygaszania zera
- BI/ RBO (Bla11kfr1g fllput/R ipple Blanking Output),
wejście wygaszani~ra - RB! (Ripple Blankiny lnput),
wejście testowe - LT (Lamp Test).
=
---
405
8. CYFROWE BLOKI FUNKCJONALNE
a
.,.,
.,
do
~.
1
&
EN
V
-
1
V
&
-
-
-
-
V
Y,
~
-
"
~
~
~
~
Y1
~
"
V
~
-
>-
b
c
'138
1
do
od,
{
V
d,
.,
„.,
V
'
3
•
'
B!N/OCT
1
2
'
'--
-
&
5
-
o
15 -
1
2
3
13
12
'
11 y,
10 Ys
9
s
EN 6
7
1L
7
V
~
Yo
Y1
Y2
Y1
Yo
Y7
'ł 38
DX
1
A ro
o, - 23
a,
.,.,
d =t ,
JG~
V
V
6
L
<
V
o
1
2
3
L
.
~
s
6
7
1•
1'
13
12 11
V
10 -
97 V
Rys. 8.8 Dckodcr/demultiplekser '138
a) bud°"• b) 1ymbol dek~ra, c:) symboł dnnuhiplclt:wn
Poziom L na
kolektorem) zapewnia
wejściu
BI
(wyjście
RBO jest wyjsc1em z otwartym
wyłączenie wszystk ich wyjść, czyli wygaszenie całego
od stanów na innych wejściach. Przy sta nie LT = H,
RB/ = L i L(D) = O (oznacz.enie na symbolu CT = O) otrzymuje się również
wygaszenie całego wskaźnika (w tym przypadku O), a ponadto na wyjściu RBO
ustała się poziom L. Przy stanie BI = H i LT = L wszystkie wyjścia dekodera
zostają włączone, powoduj ąc zapalenie siedmiu segmentów wskaźnika do celów
testowych. Na symbolu układu litera Voznacza notację zależnościową O R, litera
wskaźnika, niezależnie
406
8.2. UKŁADY KOMBINACYJNE
5
Il I -::I I U
L 1
UIL-1 /_LI I
n _uI
0
Rys. 8.9 Przedstawienie cyfr dzfosiętnych przy utyciu
wskatników sicdmiosegroentowycb
'47A
BIN/7-SEG C>
IT1 I
RB! ~SL__t:.ł-&I
G21
LT ()'1..- - - l
1--~~
CDVP31
R
o{: o1'----1~
d,
d,
4
8
o 20.21 Q P....U<:>-- - - - - -C~tte.
D20,21 Q f:>-'~ - - - - - - -C:::lf4E!--ł
c 20.21Q
d 20.21 Q
• 20.21 Q P--"O
, 20.21 Q
g 20.21 Q_.p.....;c:o- - - - - - - -C:::J+-IEI~
_____
...._
T1 :
r
o
6
Rys. 8./0 Dekoder · 47A i sposób jego polączcnia ie wskatnikiem sicdmiosegmentowym
G notację zależnościową AND i [Tł) oznacza odnośnik do tablicy
wyjściowego, pokazanej obok. Jak widać tablica Tl obejmuje również
kodu
znaki
generowane przez dekoder przy sianach wejść nie objętych kodem BCD 842 l.
W niektórych 1.astosowaniach stosuje się również pełne dekodowanie czterobitowego kodu NB przy użyciu wskaźnika ?-segmentowego. Otrzymuje się
wówczas litery kodu szesnastkowego o postaci A, b, C, d, E, F.
7-segmentowe wskaźniki półprzewodnikowe są wykonywane w dwóch
zasadniczych odmianach konstru kcyjnych: ze wspólną katodą i ze wspólną anodą.
Do wskaźników ze wspólną katodą należy stosować dekoder o wyjściach
aktywnych na poziomie H, a do wskaźników ze wspólną anodą dekoder
o wyjściach aktywnych na poziomie L. Innymi słowy, wskaźnik re wspólną
katodą wymaga dekodera tworzącego źródło prądu wpływającego do wskaź­
nika, natomiast wskaźnik ze wspólną anodą wymaga dekodera umożl iwiającego
spływ do masy prądu płynącego przez wskaźnik.
407
8. CYFROWE BLOKI FUNKCJONALNE
Pokazany na rysunku 8.10 przykładowy wskaźnik ze wspólną anodą
(CQVP31) współpracuje z opisanym dekoderem '47A. Wartość rezystorów
R oblicza się jako
R = (Ucc - Up-U0 J/IF
gdzie UF jest napięciem przewodzenia na segmencie przy prądzie I F· Wartość
tego napięcia zależy od materiału półprzewodnikowego, z którego wykonano
diody luminescencyjne oraz od liczby diod tworzących jeden segment. Przy
segmentach jednodiodowych:
UF ~ 2.1
V dla fosforku galu (GAP)
UF ::::: I.7 V dla fosforku arsenku galu (GaAsP)
i odpowiednio przy segmentach dwudiodowych
Ur ::::: 4.2 V (GaP)
UF ::::: 3.4 V (GaAsP)
W układzie z rys. 8.10 UF= 1.7 V i U 0L = 0.4 V, skąd przy Ucc = 5 V
i IF = 20 mA otrzymujemy R = 145 n. Minimalna wartość R jest określona
przez maksymalną wartość prądu, który może płynąć przez segment lub wpływać
do wyjścia dekodera na poziomie L (w powyższym przypadku
100 O).
R""
Konwertery kodu NB na kod BCD
i odwrotnie
8.2.3.3
W kombinacyjnych blokach funkcjonalnych stosuje się dwie zasadnicze metody
konwersji kodów NB/ BCD/ NB: tablicową i sumacyjną. Jednoczesne wykorzystanie obydwu tych metod określa się jako metodę iablicowo-sumacyjnq.
Istnieją również inne metody, stosowane w blokach sekwencyjnych:
metoda licznikowa i metoda Couleura (BIDEC), wykorzystująca tzw. algorytm
dodawania trójki. Algorytm ten jest realizowany uk:ładowo wieloma sposobami,
a także jest stosowany w procedurach komputerowych.
Konwertery NB/BCD
Metoda tablicowa wykorzystuje ogólny algorytm dzielenia liczby całkowitej Oub
mnożenia liczby ułamkowej) w kodzie wejściowym przez podstawę kodu
wyjściowego (w sposób przedstawiony w p. 2.2.2). Dla danej długości słowa kodu
wejściowego można otrzymać w ten sposób tablicę zawierającą wszystkie różne
słowa kodu wejściowego i odpowiadające im słowa kodu wyjściowego.
Tablicę taką można fizycznie umieścić w scalonej pamięci stałej (ROM),
stanowiącej wtedy blok funkcjonalny konwertera kodu. Pojemność takiej
pamięci wykładniczo wzrasta z długością słowa przetwarzanego i dlatego przy
dłuższych słowach stosuje się łączenie układów ROM o mniejszej pojemności
w struktury iteracyjne.
408
8,2.
UKŁADY
KOMBINACYJNE
Algorytm dzielenia przez dziesięć, stosowany pny konwersji liczby
całkowitej B w kodzie NB na liczbę D w kodzie BCD 8421, polega na iteracyjnym
dzieleniu przez dziesięć w kodzie NB i pamiętaniu kolejnych reszt Ti+1• Reszty te
są tetradami spełniającymi warunek L(T,+ 1 < 1010):
CiflO= C1+1 + T,+ 1/ 10,
i=O, l, ... , m- 1
gdzie: C0 = B,
liczba całkowita,
m - wyznaczane z warunku C„ _ 1 <IO (wówczas T„ = c„_,)
Wynik D stanowi słowo dwójkowe będące złożeniem tetrad T.,, T,,, _ 1 . .• T 1•
L(C1+ 1)
-
Przykład. Wykonać konwersję
1.
liczby 75 w kodzie NB (B = 1001011) na BCD.
Wykonujemy dzielenie B/ 1010 metodą porównawczą
0111 = T2
1001011
-;- 1010
10110
10001
10110
01111
0110
0101 = T 1
C 1 = 111 2 = 7 10 < 10 10, dalsze dzielenie jest zbędne i uzyskuje
się wynik D = T2 T, = 01110101.
W klasie TTL są wytwanane układy konwerterów NB/BCD typu ' 185,
stanowiące pamięci ROM i zawierające tablicę konwersji dla 5-bitowych slów
w kodzie NB. Ponieważ najmniej znaczący bit jest wspólny dla obydwu kodów
NB i BCD, więc tablica zawarta w pamięci nie obejmuje tego bitu. Symbol układu
i sposób połączeń pokazano na rys. 8.11. Notacja zależnościowa V oznacza
funkcję OR w odniesieniu do wyjść oznaczonych symbolem ex, czyli przy G = H
2.
Ponieważ
'185
(I)
"&
dn
d,
d2
10
11
V</:
I
2« Q
4d. Q
"'
"'~
2
~
"'
g
MSB
12
d,
13
d,
14
2
8"' ta
'8
10« Q
16
32
20„ Q
40cl..0.
"l"Q
" 1".Q
l
LSB
BIN/BCO
15
Yo
Yi
2
3
Y1
4
Y3
s
y,
6
Ys
} LSO ! jednoslki I
o
} MSO ( dziesio,1 k; I
7
--g
-
Rys. 8.11. Symbol koowerlcra scalonego '185 i sposób jego połączenia
409
i
u
8. CYFROWE BLOKI FU NKCJONALNE
na wyjściach tych też jest poziom H. Wszystkie wyjścia układu są wyjściami
z otwartym kolektorem. Przy długości słów wejściowych większej od 5 układy te
można łączyć w struktury iteracyjne.
Procedura Con _ !85 opisuje działanie układu '185 w symulatorze T LS.
procedore Con_185(D : r5; g : B; var Y : r6);
var
i, k : byte;
begin
i f g • 1 the n FillChar(Y, 6, 1) elee
beg in
FillCbar(Y, 6, O); k:• O;
tor i : . 4 downto O do k =• k ahl 1 + D[i);
i :• (k ob i 1) llOd 10;
i f (i and 2) • 2 t hen Y(O]
i f (i and 4 ) • 4 t hen Y(l]
i f (I and 8) • 8 then Y[2]
i : . (k ahl 1) d i v 10;
Y [3) : • i ao d t;
i f (i and 2) • 2 tben. Y(4)
if (i and 4) • 4 t h e n Y(5)
end
:• l;
: . l;
: . l;
: . li
:. l
end i
Metoda sumacyjna polega na sumowaniu składników dziesiętnych,
w wyniku rozkładu wag kolejnych cyfr liczby dwójkowej. Waga
dowolnego bitu liczby w kodzie NB może być bowiem przedstawiona w postaci
powstałych
2•
'" d1I<Y
=L
J =O
gdzie k =O, 1, 2 , ... i współczynniki d;e {O, I, ... , 9} są przedstawione jako tetrady
BCD. Konwerter kombinacyjny wykonujący tę operację składa się z sumatorów
dziesiętnych (BCD). Jest to rozwiązanie o relatywnie dużej złożoności układowej,
gdyż sumatory dziesiętne nie są wytwarzane jako scalone bloki funkcjonalne.
Metoda tablicowo-sumacyjna łączy metodę tablicową z sumowaniem
BCD. Wejściowe słowo dwójkowe dzieli się na odpowiednią liczbę segmentów,
podlegających z osobna konwersji na kod BCD metodą tablicową przy użyciu
niewielkich pamięci stałych. Otrzymane wyniki częściowe dodaje się przy użyciu
sumatorów BCD. Zaletą metody jest niewielka wymagana pojemność pamięci
ROM, a wadą - konieczność stosowania specjalnie zaprogramowanych pamięci
ROM i złożonych układowo sumatorów dziesiętnych.
Konwerter y BCD/NB
Konwertery BCD/ NB są budowane przy wykorzystaniu metod analogicznych
do stosowanych w konwerterach NB/BCD. Algorytm konwersji polega na
iteracyjnym mnożeniu przez dziesięć w kodzie NB kolejnych wyników W
i dodawaniu do iloczynu kolejnych tetrad T z liczby BCD:
W; = ""1+1 ·10+7;,
gdzie W„
i = m-1, m- 2, ... ,0
= T„ (najbardziej znacząca tetrada).
410
8.2.
UKŁADY
KOMBINACYJN E
Przykład: Wykonać konwersję
liczby 75 10 = 011 10101 8co na
liczbę
w kodzie NB.
X
0111
1010
1110
111
1000110
+
0101
(T0 )
10010112 = 75 10 (W0
-
wynik)
Ten sam wynik otrzymuje się zastępując mnożenie przez dziesięć
mnożeniem przez pięć i przesuwając dwójkowy wynik o jedno miejsce w lewo.
Metoda tablicowa wykorzystująca ten algorytm, jest stosowana z użyciem
układów scalonych '184, które mogą być łączone w struktury iteracyjne.
Szczególnie prosta jest metoda sumacyjna, w której operacje konwersji są
wykonywane przez proste sumatory dwójkowe, a nie sumatory BCD jak
w konwersji N B/ BCD. Metoda tablicowo-sumacyjna jest układowo prostsza niż
w konwersji NB/BCD, gdyż zamiast sumatorów BCD są stosowane wyłącznie
sumatory dwójkowe, lecz nie jest prostsza od metody sumacyjnej.
W metodzie sumacyjnej wykorzystuje się fakt, że każdą cyfrę dziesiętną
zapisaną w kodzie BCD można przedstawić jako sumę liczb dwójkowych
o postaci
n
H>12• =
I
a, 21
i=O
gdzie: j = 0,1,2„„
k = 0,1,2,3
a1e{O,l}.
W celu konwersji całego słowa BCD na kod dwójkowy należy zsumować
odpowiednie rozkłady dwójkowe wszystkich cyfr w słowie BCD. Na przykład,
trzycyfrową liczbę całkowitą A = S • D • .!,w której J oznacza tetradę jednostek:
J = j 3 j 2 j 1 j 0 , D tetradę dziesiątek: D = d 3 d 2 d 1 d0 i S tetradę setek:
S = s 3 s 2 s 1 s 0 , można przedstawić w postaci
B= 100·S+ 10 ·D+J
= (64+32+4)S+(8 + 2)D + J
= (2 6 + 25 + 2 2)S+(2 3 +2 1)D+.T
Mnożenie danej
tetrady przez 2• realizuje się jako jej przesunięcie w lewo
o k pozycji i w rezultacie pozostaje tylko sumowanie:
411
8. CYFROWE BLOIU FUNKCJONALNE
Kod NB
I
10 0-~
1 ---o
J ,,
-
--
--
.,
-
J, ·t
-
SO
I
°}Pr
ii -i, -
s,
Kod BCD
co
Cl
]p
I
~
..s,Ls, -
··-
.
:lQ ·[
o - Cl
s { s,
-
o
-
-
_f
co ~
}P I
dod, d2 d,-
]Q
o-
Cl
co
I
Rys. 8.12.
Przykład
konwersji kodu NB na kod BCD 8421 przy
-
tt:
I
-
--
uźyciu
LJo=- ]PL
]Q·[
o-
Cl
--0
--0
--0
--0
co - - 0
metody sumacyjnej
)3 J2 J, Jo
d 3 d 2 d 1 d0
S3S2 SlSO
S3
d3d2 dt do
S2 S1So
S3S2S 1 So
b9 b8 b7 b6 b5 b4 b3 b2 b 1 b0
Zapis ten
można uprościć
S3SzS1 So
S3S2S1So
do postaci
o h Jz J, Jo
o dJd2d1do
S3S2S1So
d3d2d1 do
b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
której odpowiada układ pokazany na rys. 8.12. Układ ten składa się z pięciu
czterobitowych sumatorów dwójkowych, opisanych w p. 8.1.5. W podobny
sposób można budować konwertery BCD/ NB dla większych Liczb. Należy przy
tym zwracać szczególną uwagę na właściwą generację i transmisję przeniesień
(wyjścia CO, wejścia Cl).
412
82. UKtAOV KOMBI NACVJ NE
W praktyce już się zazwyczaj nie używa opisanych rozwiązań układo­
wych. Konwersje kodów wykonuje się zazwyczaj programowo używając ogólnie
dostępnych, tanich i wydajnych mikrokontrolerów lub mikroprocesorów scalonych wielkiej skali integracji.
8.2.4
Komparatory cyfrowe
Układy zwane komparatorami służą do porównywania dwóch lub więcej liczb
dwójkowych. W związku z tym zalicza się je do grupy układów arytmetycznych, których działanie funkcjonalne dotyczy danych wejściowych, traktowanych jako liczby. Budowę i działanie wewnętrzne tych układów opisuje się jednak
w ten sam sposób jak układów logicznych, np. przez podanie odpowiednich form
boolowskicb.
Proste komparatory umożliwiają tylko określenie, r:z.y porównywane
lir:z.by są sobie równe, czy nie. Układy bardziej rozbudowane umożliwiają
również określenie, która z porównywanych liczb jest większa.
Najprostszy komparator realizuje funkcję równości XNO R. określoną
dla dwóch jednobitowych liczb p i q związkiem (p. 4.1. 1)
e
= p(f)q = pq v pij = (p = ą)
Budowa i symbole graficzne tego elementu były pokazane na rys. 4.20.
Jeśli
P i Q stanowią liczby wielobitowe P = P. - 1 ... p1 Po
i Q = ą. _ 1 ••• q 1 q0 , to określenie ich równości wykonuje się na podstawie
komparacji par bitów na tych samych pozycjach. Oznaczając e1 = p1 qi,
funkcję komparacji można zapisać w postaci iloczynu boolowskiego
e
Może być ona zrealizowana w jednym z układów pokazanych na rys. 8.14. Są to
układy o strukturze równoległej. M ożna także zrealizować wolniejszy układ
komparatora o strukturze szeregowej.
Po
'Io-..,
Pi
'\, -
..,
I
•
Pn.I
ql'I_' -
•
Pn„1
-,____J
Rys. 8.IJ. Komparaior liczb wielobitowycb
zbudowany z uiyciem bramek XNOR i bramki
AND
413
'łn-1
-
-,___J
Rys. 8.14. Kompar.uor liczb wielobitowycb
zbudowany z bramek XOR i bramki NOR
8. CYFROWE BLOKI FUNKCJONALNE
Dla określenia równości trzech liczb jedno bitowych p, q, r należy określić
funkcję
e = (p EB ą) (p EB r)
która dla n-bitowych liczb przyjmuje
postać
iloczynu boolowskiego
• - I _ _ _ _ __
fl (p1 E0 ą1) (p1EB r 1)
e=
l=O
Związek
ten można rozszerzać na większą grupę liczb.
Popularnym komparatorem scalonym jest układ '85, którego symbol
pokazano na rys. 8.15. Jest to uniwersalny komparator czterobitowy, umoż­
liwiający porównanie dwóch liczb dwójkowych lub dziesiętnych {przedstawionych w kodzie BCD) P, Q i generujący trzy możliwe i wzajemnie wyłączające się
wyniki porównania:
'&5
~
Il
12
10
'
'
'I
IL
11
9
O}PCOMP
3
p >Q
>
-
P= Q
<
P< Q
s
9
6
•
7
Ja
fl.ys. 8.JS
Symbol komparaiora scalonego
·ss
e = H, jeśli P = Q,
g = H,jeśli P > Q,
I = H, jeśli P < Q.
Uk lad
opisują następujące
g = (e1 V l1)
równania logiczne
3
2
3
i=O
J• O
k. =j+ t
J
2
n e,v V ii1q1 n e. v p3ą3
l=(e1v g 1)fle1v V P;ti;
1-=0
j• O
J
fl
e. v p3 q3
ł-=J + I
Układy te mogą być lączone szeregowo w odpowiednio większe zespoly
w celu komparacji dluiszych słów. Wyjścia e, g, I układu porównującego mniej
znaczące bity przyłącza się do odpowiednich wejść e1, g1> 11 układu porów-
414
8.2. U KŁADY KOM BINACYJNE
nującego
bardziej znaczące bity. Układ wykorzystany do porównania najniż­
szych bitów musi mieć na wejściu e1 poziom H, a na wejściach g 1 i 11 poziom L.
Przy długich słowach krótszy czas komparacji uzyskuje się po zastosowaniu
konfiguracji równoległej.
Mikrooperację komparacji wykonywaną przez układ '85 można zapisać
w postaci układu równań
e=e1 · (P = Q)
I= (P < Q)v l,·(P = Q)
g = (P > Q) v g,·(P = Q)
Procedura Comp _ 85 opisuje
działanie układu
'85 w symulatorze TLS.
procedur• Comp_ 8!$(P, Q : r~; g i, ei, li : 8; vnr
var
a, b , i
:
byte;
beain
a :• O: b :• O;
for ł : . 3 downto O do
i• e, ) : B);
be•łn
a :. o •hl 1 or P(i ) ;
b :. b Ibi I or Q(i)
end;
if a • b tben e
:~
ei elae e :• O:
if ( a < b) or ((li = l) and (o• b)) then 1 : • 1 elae I :.
o:
lf (o > b) or ((gi • I) and (o • b)) then g :. 1 elso g ' " o
end;
Sumatory
8.2.5
Sumatory są układami arytmetycznymi, służącymi do dodawania liczb dwójkowych (zasady dodawania liczb dwójkowych omówiono w rozdziale 3).
Struktury sumatorów zależą od rodzaju kodu, w którym są przedstawione
dodawane liczby wejściowe. W większości przypadków są to liczby w kodzie NB
lub w kodzie BCD i stąd wyróżniamy sumatory dwójkowe i sumatory dziesiętne
(BCD). Liczby wejściowe mogą być w ogólnym przypadku liczbami bez znaku
lub ze znakiem, mogą być liczbami całkowitymi, ułamkowymi lub zawierającymi
część całkowitą i ułamkową, wreszcie mogą być liczba mi zmiennoprzecinkowymi.
Najpierw zajmiemy się sumatorami służącymi do dodawania liczb
dwójkowych be? znaku, przedstawionych w kodzie N B. Układ zwany pólsumaiorem operuje na jednobitowych liczbach wejściowych p, q i generuje bit
sumy fi bit przeniesienia c. Równanie arytmetyczne półsumatora można zapisać
w postaci
2c+f = p +q
gdzie cyfra 2 wskazuje na wyższą pozycję bitu c, czyli słowo wyniku jest złożeniem
c 0 f Równania logiczne opisujące półsumator są następujące:
415
8. CYFROWE BLOKI FUNKCJONALNE
Rys. 8.16
Budowa logiczna
układu
półsumatora
! = p<ł?lq
c = pq
Przykładowy
schemat logiczny takiego półsumatora pokazano na rys. 8.16.
W ogólnym przypadku dodawania liczb wielobitowych układ realizujący
tę operację na danej pozycji i musi być wyposażony w dodatkowe wejście,
umożliwiające wprowadzenie przeniesienia c, z poprzedniej pozycji (i - 1).
Równanie arytmetyczne takiego układu zwanego sumatorem jednobitowym jest
identyczne z podanym w p. 3.1:
2c1+ 1 + /; = p1 +ą 1 + c 1
Słowo
wyjściowe
sumatora jednobitowego jest zatem dwubitowe:
f,. Mikrooperację dodawania jednopozycyjnego (na pozycji i) można
Y = c1 + 1 •
zatem opisać
związkiem
Równania logiczne opisujące działanie sumatora można określić na podstawie tabl. 3.1 w wielu postaciach. Na przykład, pomijając dla uproszczenia
indeksy „i", na podstawie siatek Karnaugh (rys. 8. l 7a, b) można określić związki
f = pqc v pijc v pijc v pqc
c1 = pq v pc v qc =
pą vc(p v ą)
Powyższe
formy boolowskie są samodualne, tzn. spełniają warunek
] (X)= f(fi) (por. wzór Shannona w p. 4.1.1). Można je również przedstawić
w postaci
!= p<ł?Jq<ł?lc
c1 = pqV c(p <ł?J q)
Na rysunku 8. l 7c pokazano konstrukcję logiczną sumatora złożonego
z dwóch półsumatorów. Ponieważ jest to układ szeregowy, zatem jego szybkość
działania jest stosunkowo mała. Szybszy układ równoległy można otrzymać jako
bezpośrednią realizację podanych wyżej związków, otrzymanych z siatek
Karnaugh.
416
8.2.
UKŁADY
KOMBINACYJ NE
Symbol graficzny sumatora jednobitowego pokazano na rys. 8. l 7d.
Zgodnie z zaleceniami IEC wejście sygnału przeniesienia (c) oznacza się literami
CI (Carry lnput), a wyjście sygnału przeniesienia (c 1) - literami CO (Carry
Output). Identyfikatorem bloku jest znak !:.
b
Q
pq,
c
pq,
oo
o o
01 11
10
1
o
1
1
o
1
o
1
c
oo
o o
1 o
c
d
P~f
~~ c,
c,
Rys. 8./7 Sumator jednobi1owy
a) określenie wyniku f b) ok:rdlenie przeniesienia r,. c) budO'A'a z pólsumatoró'A'. d) s)mbol ogO!ny
Procedura Add opisuje sumator jednobitowy w symulatorze TLS.
procedure Add(p, q, ci : B; var s, co : B);
var .
u : Bi
begin
u :• p xor q;
s : • u xor ci:
co
:~
p and q or ci and u
end;
W celu dodawania liczb wicłobitowych, sumatory jednobitowe są łączone
w większe zespoły. Na rys. 8. I 8a pokazano układ sumatora równoległego
z przeniesieniami szeregowymi, do którego liczby P i Q doprowadza się
równoległe, lecz w którym propagacja przeniesień następuje szeregowo. Podobnie były budowane pierwsze scalone sumatory czterobitowe w klasie TTL ('83).
Jak łatwo zauważyć, przy takim rozwiązaniu moi.e być konieczna transmisja
kolejnych przeniesień przez wszystkie sumatory składowe, co oznacza relatywnie
długi czas wykonywania dodawania, zwłaszcza przy liczbach wiełobitowycb.
Dlatego częściej są stosowane sumatory równoległe z przeniesieniami równoleglymi Gednoczesnymi, antycypowanymi, ang. look- ahead).
Technika dodawania z przeniesieniami równoległymi polega na jednoczesnym wytworzeniu właściwych przeniesień na podstawie wyłącznie
stanów wejściowych, czyli liczb Pi Q i przeniesienia wstępnego c0 . Przeniesienia
te są następnie wykorzystywane przez jednobitowe sumatory składowe do
417
8 . CYFROWE BLOKI FUNKCJONALNE
wytworzenia właściwych bitów sumy. Sumator z przeniesieniami równoległymi
zawiera zatem dwa bloki logiczne: blok generacji przeniesień i blok sumujący
(rys. 8.18b).
Przeniesienie wprowadzone na pozycję (i+ l)(i = O, I, ..., n- I), może być
określone w postaci:
C;+t
= P;ą; V c;(p; V ą;)
a po wprowadzeniu oznaczeń
gi =
P;Q;
= P; V ą;
lt;
jako
a
--
l:
--
-'\, -
Cl
col
-
l:
P,
I
Cl
.'
t,
coil
Rys. 8.18
Sumator równoległy
l prttnłtsicniami s:eeregowymi,
b) z pr.«11i~łeniami równołeglymi
a)
b
p
11
I-
.
-
.
Q
~
-418
Blok
Bl ok ..
ge n~ro~J •,
Sumujqcy
przen1ts1en
-
~
F
8.2.
U KŁ.AOY
KOMBINACYJ NE
Zauważmy, że
w
wyrażeniu
tym
może być również
wykorzystana
funkcja XOR, tj. h1 = p1 $ q1• Umożliwia to wykorzystanie zwykłego pół­
sumatora do generacj i ą 1 i h1• Jednak łatwiejsza w realizacji jest oczywiście
funkcja OR.
Wprowadzając kolejne podstawienia dla i , i - I, i - 2, „„ ł , O otrzymujemy
Przyjmując
c0
= g _ 1 możemy
c, + , =
dla zewnętrznego przeniesienia
to wyrażenie zapisać w postaci
1
;
/•- 1
lt. = j+I
wstępnego
c0 oznaczenie
v u, n h.
Jak widać, przeniesienie wnoszo ne na pozycję (i+ I) może być wytworzone na podstawie odpowiednich iloczynów g1 = p1 ą1 i sum h• = p1 v ą1 .
Zadanie to jest wykonywane przez blok generacji przeniesień.
Bit sumy na pozycji i może być określony w postaci
Blok
sumujący
wytwarza wynik dodawania w postaci liczby dwójkowej
F=f. - 1f. - 2.„f.„. fo
Typowym sumatorem scalonym tego rodzaju jest uklad '283. Jest to
sumator czterobitowy, którego schemat logiczny pokazano na rys. 8.19a,
a symbol graficzny na rys. 8.19b. W układzie tym zarówno przeniesienia do
kolejnych stopni sumatora, jak też wyjściowy sygnał przeniesie nia c4 są
generowane równolegle. W ulepszonym ukladzie '83 (wytwa rzanym także pod
oznaczeniem '83A), dla którego również obowiązuje symbol z rys. 8.19b, wstała
utrzymana szeregowa propagacja pt7.eniesień między kolejnymi stopniami, lecz
sygnał c4 jest generowany w sposób równoległy. W ten sposób przy połączeniu
szeregowym takich układów uzyskuje się szybką propagację przeniesień między
układami. Zwiększony, w stosunku do układu o równoległych przeniesieniach
wewnętrznych, czas propagacji przeniesień w stopniach wewnętrznych każdego
układu przestaje być istotny w porównaniu z łącznym czasem propagacji
przeniesień międzyukładowych.
W ogólnym przypadku, dla sumatora 11-pozycyjnego (np. '83, dla którego
n = 4) mik rooperację dodawania można zapisać w postaci
419
8. CYFROWE BLOKI FUNKCJONALNE
a
1
1
<o,_
l>--i
rt
--
--
;. 1
r f-<
&
>-
u
,-
,-
-
&
1
r
L
,_
I-o
-
>1
w-
I-o
•
~>1
Lr
~
~
P-
~ ---<
,___
~
cą
,_
;.1
r-
1
I--
&
i--
b
'28J
Po
J
P, -:17",-P1 12
Pi 6
q. 2
q, l'S
ct1
11
}' r
O}
Q
'·----ą,
1
I
ur
I
3
10
co
9
~
1
3
Cl
' '•
13
'•
,,'•
nb
c.
>1
«
-
Ry„. 8.19. Sumalo r '283
a) tKldowa logiczna.. b) ~:ytnbol gr11f11C1.ny
Dalej przytoczona jest procedura Adder _ 83, opisująca sumator '83
w symulatorze TLS. Wykorzystuje ona podaną poprzednio procedurę Add. Są
one zawarte we wspólnym mod ule ARIT (wraz z innymi proced urami opisujący­
mi arytmetyczne bloki funkcjonalne).
420
'•
'·
I-o ,,
I-o ,,
~
;.1
&
=1
~
i----t..-
-- '
- --
P,
L-J
,_
>1
;. 1
~
&
8.2. UKŁADY KOMBINACYJNE
procedure Adder 83(P, Q
var
j
byte;
begin
for j
r4; Cl
B; var S
r4; var CO
8);
:• O to 3 do
begin
Add(P[j), Q(j), CI, S[j), CO);
CI : • CO
end
nd;
Prosty program symulacyjny SymAdd4 jest użyteczny do celów dydaktycznych:
program Syll'l.Add4;
{ Program symulacyjny sumatoro
uaea Dec, Arit, Crt;
var
XP, XQ, YS
r4;
cO, c4
c~terobitowego
)
B;
begin
InpAdd4(XP, XQ, cO);
Adder_ 83(XP, XQ, cO, YS, c4);
DispAdd4(YS, c4)
end .
Wykorzystane w tym programie dodatkowe procedury (zawarte w module ARJT) mają postać:
procedure InpAdd4(var P, Q : r4; var
var
a, b
i
CI : B);
54;
byte;
begin
ClrScr; GoToXY(18, 8)i
Write('Wpisz czterobitow4 liczbe P • ');
Readln(a);
for i == 1 to 4 do P(i-1 ) :. Ord(a(5-i)) - 48;
GoToXY(l8, 9);
Write('Wplsz czterobitowa liczbe Q • ');
Readln(b);
for i : . I to 4 do Q[i- 1] :o Ord(b(5-i)) - 48;
GoToXY( 18, 10);
Write('Wpisz bit przeniesienia CI •
');
Readln(CI)
end;
procedure DispAdd4(S
r4; CO
B)i
begin
GoToXY(47, 11);
Writeln(' -~~·>;
GoToXY(40 , 12);
Writeln('Suma: ',CO, 8(3], 8 (2 ), 8(1), S(O])
end;
Przy c0 = I i jednym z argumentów równym zeru sumator może służyć do
realizacji funkcji następnika (inkrementera). Na przykład, przy Q = O
c. • F = P+ I
Aby otrzymać funkcję poprzednika (dekrementera)
c. • F = P-1
należy dodać do P uzupełnienie jedynki
przy c0 =O.
421
do dwóch, czyli Q = U2(00„. I) = 11...1
8. CYFROWE BLOKI FUNKCJONALNE
Przedstawione
powyżej
zasady dodawania z przeniesieniami równoległymi mogą być rozciągnięte na zespoły wielobitowe. Przy zastosowaniu typowych czterobitowych sumatorów scalonych zazwyczaj naj racjonalniejszym
rozwiązaniem jest jednak szeregowe łączenie tych układów, bez dodatkowych
układów logicznych. Gdy jest wymagana bardzo duża szybkość dodawania,
stosuje się scalone czterobitowe układy arytmetyczno-logiczne (ALU), do
których są również wytwarzane scalone generatory przeniesień równoległych
(p. 8.2.6).
' 83
p
j:
} r o
-
1:
k
--
=1
'86
--
-
-
.._
-
CI
k : Q:
k = 1:
co --Oo.
(do następnych
sumo torów)
F= P•Q
F=P - O.
Rys. 8.20 Wykorzystanie sumatora ' 83 lub '283 do sumowania i odejmowarua liczb
dwójkowych
Zgodnie z zasadami omówionymi w rozdz. 3, sumatory mogą być także
użyte do realizacji odejmowania Aby odjąć od odjemnej P odjemnik Q, należy
dodać do liczby P uzupełnienie liczby Q. Najprostszy i najszybszy układ
otrzymuje się przy zastosowaniu uzupełnienia do 2. Przykład takiego układu
pokazano na rys. 8.20, na którym P i Q są liczbami bitowymi be-z znaku. Układ
'86 zawieraj ący 4 bramki XOR umożl iwia przy dodawaniu wprowadzenie do
sumatora liczby Q bez żadnej zmiany lub, przy odejmowaniu, ze wszystkimi
bitami zanegowanymi. Przy k = 1 następuje zatem uzupełnienie liczby Q do 2.
Jak podano w rozdz. 3, przy zapisie U2 znak wyniku zależy od bitu przeniesienia
z najwyższej pozycji (c4 = O oznacza wyni k ujemny, a c4 = l wynik dodatni).
Pokazany u kład odejmujący może być rozszerzony na większą liczbę
bitów, np. przez dod anie jednego sumatora '83 i jednego układu '86 na każde
dodatkowe cztery bity.
W pewnych zastosowaniach pożądane jest wykonanie operacji arytmetycznych na liczbach w kodzie BCD. Między innymi ma to miejsce w kalkulatorach i urządzeniach obrazujących, w których informacje liczbowe są
422
8.2
U KŁADY
KOMBINACYJNE
przeds1awiane w zapisie dziesiętnym i w których najczęściej należy unikać
dodatkowych układów konwersji NB/ BCD.
Najpopularniejszym kodem BCD jest kod 8421. Zgodnie z zasadami
dodawania liczb BCD, podanymi w p. 3.3, przy dodawaniu dwóch jednocyfrowych liczb dziesiętnych w kodzie BCD otrzymana suma może zawierać się
w granicach od Odo 19 (9 + 9 +I z przeniesienia), a ponieważ kod BCD obejmuje
tylko liczby od Odo 9, za1em istnieje konieczność korekcji „niewłaściwych" sum
(od 10 do 19). Korekcja polega na odjęciu liczby dziesięć (10 10) od sumy, jeśli jest
ona większa lub równa dziesięciu, z jednoczesną generacją przeniesienia.
Operacje te przedstawiono w tabl. 8. 1. Wymagane odjęcie liczby 10 10 może być
zrealizowane przez dodanie uzupełnienia dwójkowego tej liczby w kodzie NB
(10102). Uzupełnienie to jest równe 0110 2 , czyli liczbie dziesiętnej 6. Funkcję
przeniesienia dziesiętnego można określić na podstawie tablicy 8.1 i siatki
Karnaugh (rys. 8.21) w postaci:
c'o = c. vf,/3 v/2/3
przy czym z siatki Karnaugb 01rzymuje się składniki / 1/ 3 i / 2/ 3 (dla liczb
w zakresie od 10 do 15), a z tablicy 8.1 otrzymuje się składnik c4 (dla liczb
w zakresie od 16 d o 19).
00DA\\'AKI! I KOREKCIA SUMY LICZB DZfESlefNYCll
w KODZIE eco 1421
Tflbilc11 8. I
Liczba
Suma nie skoryaowo na
Suma skorygowana
dziesi~ina
c•f.f,f,fo
r'"f,f,J,fo
o
I
2
3
4
s
6
7
8
9
10
li
12
13
14
IS
16
17
18
19
423
()()()()()
00001
00010
00011
00100
00101
00110
00111
01000
01001
OIOIO
0101 1
011 00
011 01
01110
011 11
10000
10001
10010
10011
~
to samo
(korekcjn
zbyteczna)
J
10000
10001
10010
10011
IO IOO
IOIO I
10110
IOll I
11000
11001
8 CYFROWE BLOKI FUNKCJONALNE
lI i0
'• oo ooo
f'
01
11
10
01
o o o
o o o o
11
1
1
1
1
10
o o
1
1
Oodojn
p
a{v
ik{:
Dodaj n
Q
c
Rys. 8.21
Określ enie
funkcji generującej przeniesienia w sunlntorzc
dziesięrnym przy I0,0 .;; f, f, .f, f, .;; 15„
1'JQ '.r
rI
r
J
Cl
-
co ~
o
'--- rA
Rys. 8 .22
Budowa logiczna sumatora
dziesiętne go ( BCD)
'
.___
J".r
}Q
3
--
co
CI
-
V
~1
~
~
c'•
~
~
Schemat logiczny sumatora dziesiętnego realizującego powyższe operacje
jest przedstawiony na rys. 8.22. W celu otrzymania sumatora wielodekadowego
można takie układy łączyć szeregowo, podobnie jak sumatory jednobitowc na
rys. 8. I 8a. Wejściu c w najniższej tetradzie należy wtedy przyporządk ować stan O.
Tę samą operację można także wykonać dodając dwie liczby BCD w czterobitowym sumatorze dwójkowym i przetwarzając sumę (wraz z bitem przeniesienia) w konwerterze dwójkowo-dzicsiętnym, zrealizowanym np. w postaci
pamięci stałej (por. rys. 8.12).
Odejmowanie liczb dziesiętnych kodowanych dwójkowo rea lizuje się
podobnie jak odejmowanie liczb dwójkowych, to znaczy prtcz dodawanie
odpowiednich uzupełnień. Przy wybortc rodzaju uzupełnienia należy uwzględ­
nić trudności układowe jego wytworzenia, gdyż układ generacji uzupełnień
występuje w danej dekadzie zwyk le dwukrotnie: przy formowaniu odjemni ka
i przy konwersji otrzymanej różnicy tjeśli jest ona ujemna, a wynik trzeba
otrzymać w tym samym kodzie co składniki wejściowe). Traktując liczby
P i Q jako liczby dziesiętne, posługujemy się uzupełnieniami do 9 i do IO.
Ponieważ jednak każdą tetradę kodu BCD 842ł można również traktować jako
424
8.2. UKLAOY KOMBINACYJNE
należącą do
kodu szesnastkowego, zatem mogą być stosowane uzupełnienia do
dowolnej liczby w zakresie od 9 do 15. Szczególnie wygodnie jest uzupełnienie do
15. Polega ono na negacji wszystkich bitów liczby BCD będącej odjemni kiem, co
odpowiada uzupełnieniu do I wszystkich jej tetrad, t rak towanych jako liczby
w kodzie NB.
U kłady
8.2.6
arytmetyczno- logiczne
D o budowy systemów cyfrowych o uniwersalnym przeznaczeniu są przydatne
układy cyfrowe, które umożliwiają wykonanie pewnego zestawu operacji
arytmetycznych i logicznych na danych wejściowych. Rodzaj realizowanej
operacji zależy od stanu wejść sterujących ta kiego układu, który nosi nazwę
jednostki arytmetyczno-logicznej (ALU - Ari1h111etic-Logic Unit). Dane wejś·
ciowe stanowią dwa słowa P, Q, które przy operacjach arytmetycznych są
traktowane jako liczby, a przy operacjach logicznych jako zlożenia bitów. Układ
ALU zazwyczaj współpracuje z zespołem rejes trów, służących do przechowywania danych wejści owych i wyjściowych.
Przykladcm scalonego ukladu A LU jest układ 74F382, operujący na
słowach czterobitowych i umożl i wiający realizację 8 mikrooperacji arytmetycznych, zależnie od stanu trzech wejść sterujących. Sym bol tego uk ladu jest
pokazany na rys. 8.23, a zestaw mikrooperacji w tabl. 8.2 (mnożenie jest
wyłącznie logiczne). Wszystkie operacje logiczne są wykonywane równolegle
na wszystkich bitach argumentów, np. jeśli P = LLHH i Q - LHLH, to
Pv Q = LHHH i PQ = LLLH .
Tablica 8.2
F ur<KCJE UKLAOU AR YTM ETYC7.N().LOGIC'LNEGO 74>"81
Wejści a sterujące
Wynik operacji
s,
So
F
L
L
H
L
H
L
H
L
S2
L
L
L
L
H
H
H
H
Wyjście
L
H
"'
L
LLLL
Q-P - l +r0
P-Q -l+r0
P + Q +t0
P Q) Q
P VQ
PQ
H
HHHH
"'L
H
OVR (overflow) służy do wykrywania przepełnienia przy operacjach na liczbach w kodzie ZU2 i przyjmuje poziom H gdy
425
8. CYFROWE BLOICI FUNKCJONALNE
74F 382
5
So
6
s.
Si
O}
7
_
is_ć
3
11121 BI (IJ
3 Cl (1)
„
4
1
2
19
16
2
Q3
7
2
Co
p3
OALU
M-
17
16
R ys. 8.23. Symbol
r
e
p
a
1
p
a
9
2
f'
p
a
p
a
układu
Io
4
BO/COr.1
BO/COL_
e
(1 ,2) BO
3CO
11
13
:=r:,..__
14
12
f3
arytmc1ycz.no-logiczncgo 74F382
Układ
74F382 jest bardzo szybki: czas propagacji przy realizacji dowolnej funkcji na argumentach wejściowych nie przekracza typowo 7 ns. Nadaje się
on zatem do budowy szybkich, specjalizowanych procesorów arytmetyczno-logicznych o znacznie szybszym działaniu niż typowe mikrokontrolery
scalone. U mieszczony jest w relatywnie niewielkiej, 20 końcówkowej obudowie
dwurzędowej.
M ulti pl ikatory
Układy
8.2.7
multiplikatorów są przeznaczone do mnożenia liczb w zapisie dwójkowym. Wykonywane są one w dwu podstawowych wersjach, jako:
równolegle, w których mnożone liczby są podawane jednocześnie na
wejścia równoległe multiplikatora i operacja mnożenia jest wykonywana
przez uk ład kombinacyjny,
szeregowo-równolegle, w których jedna z mnożonych liczb jest podawana
równolegle na wejścia multiplikatora, a druga szeregowo, czyli operacja
mnożenia jest wykonywana przez układ sekwencyjny.
Zajmiemy się multiplikatorami równoległymi, nie wymagającymi sterowania
sekwencyjnego. Najprostszym koncepcyjnie multiplikatorem jest scalona tabliczka mnożenia, czyli tablica wartości iloczynów, która może być zreal izowana
w postaci układu pamięci stałej (ROM). Pojemność pamięci jednak silnie wzrasta
przy zwiększaniu liczby bitów mnożnej i mnożnika. Na przykład przy cztcrobitowych argumentach P, Q słowo wyjściowe F jest ośmiobitowe, czyli pojem426
82
UKŁADY
KOMBINACYJNE
ność pamięci wynosi M
= 28 x 8 = 256 x 8 = 2048, co jest relatywnie małą liczbą,
natomiast przy argumentach 8-bitowych otrzymujemy już M = 2 16 x 16 =
= 1048576. Multiplikator taki moi.na na przykład zbudować z dwu równolegle
adresowanych układów pamięci EPROM o pojemności 64K x 8, o typowym
czasie propagacji poniżej IOO ns.
Rozważmy realizację multiplikatora wykorzystującego klasyczne układy
kombinacyj ne. Ograniczając się na razie do argumentów P, Qw postaci liczb bez
znaku w kodzie NB, tj.
„ - 1
P=
L:
p,2•,
l=O
iloczyn algebraiczny tych liczb otrzymuje się w postaci
m- 1
F = PxQ =
11 -
I
L L p 1 ą1 2r+1
l=O J• O
gdzie iloczyny algebraiczne Pr q/ mogą być również traktowane jako iloczyny
boolowskie (p A ą), a czynnik 2 +J reprezentuje przesuw iloczynu Pr ą; o (i+JJ
pozycji w lewo. Na przykład, przy mnożeniu liczb czterobitowych P = p 3p 2p 1p0
i Q = ą 3 ą 2 ą 1ą 0 otrzymujemy tablicę mnożenia w postaci
fs
Jo
Aby otrzymać 8-bitowy wynik mnożenia F, należy określić 16 jednobitowych iloczynów p 1 ą1 za pomocą dwuwejściowych bramek AND i dokonać
sumowania w odpowiednich kolumnach za pośrednictwem zbioru 12 sumatorów jedno bitowych, w sposób pokazany przykładowo na rys. 8.24. M ultipłikator
mnożącym-bitową liczbę P przez n-bitową liczbę Q musiałby zawierać (m - J)n
sumatorów i nm bramek AND. Na przykład, dla m = n = 8 oznaczałoby to
7 x 8 = 56 sumatorów i 8 x 8 = 64 bramki AND.
Inny sposób polega na rozkładzie stów argumentów na mniejsze,
wykonaniu mnożeń na mniejszych liczbach przy użyciu pamięci stałych (ROM)
i następnie zsumowaniu iloczynów częściowych. Przy rozkładzie argumentów na
dwie części, tzn. przedstawiając liczby P i Q w postaci
427
8 . CYFROWE BLOKI FUNKCJONALNE
P3'10
P , j } - P, q,J
q,
o
o<i< 3
P, Cl-o
P,'lo
o
o
O<j.; 3
Po'l1
f,
Rys. 8.24
'Io
Przykład
fo
budowy mulliplikatora kombinacyjnego 4 x 4
p = p J p 2 = p I 2' + p 2
Q = Q. • Qi= Q12' + Q2
0
otrzymujemy iloczyn
F
= p XQ = (P, 2' + P2HQ12'+Q2) =
= P 1Q1 2.+'+ P 1Q2 2' + P 2 Q12' +P 2 Q2
Jeżeli iloczyny częściowe P;Q1 mogą być otrzymywane przy użyciu
relatywnie niewielkich pamięci stałych, to stosując odpowiedni zestaw sumatorów można otrzymać wynik F. Na przykład, d la liczb 8-bitowych można określić
rozbicie z r = s = 4:
P1
~
P2
.--A---.,
P = P1P6PsP40000+0000p3P2P1Po
Q=
ą,q6qsq• OOOO+OOOOą3q2q1qo
Do wykonania mnożenia P x Q są potrzebne zatem 4 „małe" multiplikatory ROM 4 x 4. Sposób połączenia tych układów z sumatorami czterobitowymi pokazano na rys. 8.25. Identyfikatorem układów multiplikatorów jest
znak „n".
428
8.2.
UKU.OY K0 M81NACYJNE
""~
11'
Bity
}
0-3
}~
o,c:::::>
I:
I:
f'
Bity 4· 7
r{
}
4-7
o,
I:
I:
F
p
Bity 8-11
o,
8-11
I:
o
co
Cl
P,
o
o,
Bity 12-15
Rys. 825 Budowa multiplikaloru kombinacyjnego 8 x 8 przy
12-IS
użyciu
metody
tablicowo-sumucyjnej
W analogiczny sposób można zbudować szybki mu ltiplikator 16 x 16. Na
przyklad, wykorzystując pamięci EPROM 64K x 8 typu 7C285-75 (Cypress
Semico11ductor) o czasie dostępu 75 as, o raz sumatory 74F283 (Texas fl!strumem s)
o czasie propagacji 5 as (łącznic 18 ukladów scalonych), można zbudować taki
multiplikator o cwsie propagacji poniżej 120 ns.
Najprostsze multiplika tory scalone sta nowią moduly, umożliwiające
realizację mnożenia liczb bez znaku w kodzie NB. Moduły takie łączy się
w struktury iteracyjne, wykonujące jednobitowe mnożenia i dodawania, w sposób pokazany w przykładowej tablicy mnożenia na początku tego podrozdziału.
Przyk ładowo, uklad MC14554B (z seri i C MOS 4000) stanowi multiplikato r
2-bitowy (2 x 2) realizujący fun kcję
c oF = Px Q+K+M
gdzie: P = p 1p0 i Q = q 1q0 - argumenty mnożenia,
K = k, k 0 WCJSCia przcnies1en,
M = m 2 m 1 1110 - wynik z poprzed nich modułów w strukturze,
c - sygnał wyjści a przeniesienia.
429
a CYFROWE Bl09<1 FUNKCJONALNE
o
Po
ko
r1
I
I
c f
L __
I
b
k
'
q
p
Rys. 8.16
ko---r-~~;-ii--~--4~
Multiplikaror scalony
2 X 2 typ MC l4554
c
l1Che11'1&1 oaótny,
b) scMm.at loaiC:i:ny
komórki uktld11
a)
clemenl~rDCJ
Schemat funkcjonalny układu przedstawiono na rys. 8.26. Łatwo można
zauważyć jego zbieżność z podaną wcześniej tablicą mnożenia, na której liniami
przerywanymi zaznaczono sposób łączenia takich modułów. Ogólnie, dla
m-bitowej liczby P i n-bitowej liczby Q do budowy multiplikatora P x Q trzeba
mn/4 takich modułów.
BLOKI SEKWENCYJNE
Rej estry
Nazwą rejestru określa się blok złożony z
8 .3
8.3 .1
pewnej liczby 11 przerzutników, którego
zawartość określa się jednym słowem 11-bitowym, przy czym wprowadzenie
(wpisywanie) i wyprowadzenie (odczyt} tego słowa może następować równolegle
lub szeregowo. W pierwszym przypadku jest to rejestr rów110/egly, a w drugim
rejestr przesuwający (gdy choćby jedna z operacji wprowadzania i wyprowadzania jest wykonywana szeregowo). Jeśli informacja jest wprowadzana równolegle
i wyprowadzana szeregowo, to rejestr nazywamy równoleglo-szeregowym. Analogiczn ie, gdy informacja jest wprowadzana szeregowo i wyprowadzana równolegle, to rejestr określa się jako szeregowo-rów110/egly.
430
8.3, BLOKI SEKWENCYJNE
o
b
'75
6--110
1 -~
y
o
y
Rys. 8.27
Symbole przykladowych
n:jcstrów równolcglych
a)
układ
·1s, b)
układ
· 115
Rejestry równoległe określa się również jako rejestry buforowe. Jako
scalone są one wytwarzane jako zespoły 4, 6 lub 8 przerzutników
zatrzaskowych łub przenutników D wyzwalanych zboczem. Symbole przykładowych rejestrów tego rodzaju pokazano na rys. 8.27. Niektóre scalone
rejestry równoległe mają trójstanowe wyjścia, co umożliwia bezpośrednie
przyłączenie tych wyjść do magistrali systemowej.
Mikrooperację wpisywania do rejestru z rys. 8.27a można zapisać
w postaci:
układy
C1C2 :
Y: - D
Wpisywanie do rejestru z rys. 8.27b ma
postać:
er: Y: = D
Jest w nim również możliwa asynchroniczna mikrooperacja zerowania:
r: Y = o
W symu latorze TLS rejestr '175 jest opisany
analogiczną do modelu przerzutnika D.
procedur•
RSG 175( C, R : 8; o : r•i var Y, W
var - i
: bytei
be1ln
procedurą
r4: var f
REG _ l75
booleao):
l t R •O tben PlllCber(Y, 4, O)
elee l t (C • I) and f tben for I : . O to 3 do
begin
Y(i]
W(l ]
:a D(i ];
: • Y(i] zor I
end:
if (C • O) and (R • 1) tbeo f :. true elae f :• false
ondi
Rejestr przesuwający stanowi grupę przerzutników D, JK łub dynamicznych SR, połączonych kaskadowo w ten sposób, że synchronicznie z wejś­
ciowymi impulsami zegarowymi stan logiczny każdego przerzutnika zostaje
przesunięty do następnego przenutnika w łańcuchu lub na zewnątrz układu.
431
8. CYFROWE BLOKI FUNKCJONALNE
Przykład
realizacj i rejestru przesuwającego jest pokazany na rys. 8.28a.
Przykład szeregowego wprowadzania słowa 1001 do rejestru przedstawiono
w tablicy z rys. 8.28b, gdzie zapisem „ + I" oznaczono kolejne impulsy zegarowe c.
b
c
d
o
o o o o
1 - f- 1 '-o "o"o
o- f- o" 1 " o'-o
o- e- o"o'-1 "o
1 - e- 1"'o'o"1
+1
•1
•1
•1
Y i;yo~ Y2Y3
X
Rys. 8.28
Przykład
rejestru
przesuwającego
;a) budowa, b)
działanie
'164
y
Rys. 8 .29
Symbol scalonego rejestru
przesuwającego
Przykład
• 164
scalonego rejestru przesuwającego '1 64 pokazano na rys. 8.29.
Jest to rejestr 8-bitowy, z równoległymi wyjściami i wspólnym wejściem
zerującym. Strzałka „-+" wskazuje na kierunek przesuwu w prawo, następujące­
go przy kolejnych impulsach zegarowych. Identyfikatorem rejestru przesuwają­
cego jest oznaczenie ,,S RG" (shift register) z następującą po nim liczbą
wskazującą na pojemność („długość"), czyli liczbę bitów rejestru. Mikrooperacje
realizowane przez rejestr '164 ilustruje procedura SRG _ t64.
432
8.3. BLOKI SEKWEN CYJNE
B; var Y
SRG 16'(C, dO.dl, R
- 8;
r 8i var t
boolean);
byte;
becin
if R •O tben Fil!Char(Y, 8 , O)
elae if (C • l) end t t ben
begin
d :. dO and dli
for I : a 7 do..,.to
Y(O) : a d
do Y(I) : a Yll -
1 );
end ;
i f (C • 0) and (R • l) then t : = true e l ae t :• falae
end;
o
c
n-bitowy rejestr przesuwo,qcy
-
Cl/-
-----„
10
I
-----I
=
-
Uktod
kombinacyj
'
, ;>
WyjŚCoQ
szeregowe
lub
równ ol egłe
ny
XOR
b
L\:t
Sygnał
ze90rowy
250 k Hz
'164
&
'164
•1s4
10
1/4 4030
=1
Rys. 8.30 Rejestr liniowy
a) usada budowy, b) pnyklad budo•'Y ttnetalora
433
ciągów pieudolosowycłl
~64
a. CYFROWE 8l.0JCI fUNKCJONAl.HE
W klasie TIL rejestry przesuwające mają równoległe wejścia albo
Ograniczenie liczby końcówek w t ypowej obudowie oznacza
również ograniczenie pojemności tych rejestrów do ośmiu bitów. Rejestry
o znacznie większej pojemności są wytwarzane w klasie M OS jako rejestry
szeregowe. Są to rejestry dynamiczne, tzn. wykorzystujące dynamiczne komórki
przesuwające, omówione w p. 7.4.2 i 7.4.3. Rejestry te są wykorzystywane
m.in. jako cyfrowe linie opóźniające o opóźnieniu równym 11T0 • gdzie 11 jest
liczbą bitów rejestru i T0 jest okresem sygnału zerowego.
Ciekawym zastosowaniem rejestrów przesuwających jest generacja cią­
gów i liczb pseudolosowych. Dla rejestru przesuwającego o długości 11 można
zbudować taki układ kombinacyjny XOR, generujący sygnał podawany na
wejście szeregowe rejestru i sterowany sygnałami z niektórych wyjść równoległych, że długość cyklu takiego układu bQdzie równa 2"-1. Zawartość rejestru,
którą można t raktować jako 11-bitową liczbę dwójkową, zmienia się w obrębie
jednego cyklu w sposób losowy, podobnie jak w ciągach otrzymywanych na
każ<lym wyjściu (rys. 8.30a). Układy takie określa się jako rejestry /i11iowe. Przy
niektórych długościach rejestru z przedziału 2 ,;; 11 ,;; 31 jako układ kombinacyjny potrzebny do wytworzenia cyklu o dlugości 2• - 1 może być użyta pojedyncza
bramka XOR. Prtykładowo, przy 11 - 31 jedno wejście bramki XOR należy
przyłączyć do wyjścia szeregowego rejestru, a drugie do wyjścia ze stopnia 3, przy
czym należy zapewnić, aby stan zerowy rejestru był wyk luczony, gdyż trwałby on
stale (O (!:) O= 0).
inny przykład pokazano na rys. 8.30b. Jest to wzorcowe źródlo szumu
białego do testowania układów akustycznych HI-FT (4). Uklad zapewnia
równomierność widma mocy nie gorszą niż ± 1 dB w zakresie częstotliwości od
25 Hz d o 20 kHz. Przelącznik P służy do wstępnego wprowadzenia choćby jednej
jedynki (poziomu H)do rejestru przy inicjalizacji. W ( 4) podano obszerną tablicę
innych podobnych układów z czasem trwania sekwencji do I 02 dni (przy
częstotliwości zegarowej 250 kHz). Sposób łączenia generatorów ciągów pseudolosowych w jeden generator, o ekstrema lnie długim czasie powtarza nia sekwencji
(ponad 91 3 lat przy IO MHz), opisano w [5].
równoległe wyjścia.
Liczniki
Układy
8.3.2
cyfrowe rejestrujące liczbę impulsów, podanych w określonym przedziale czasu na ich wejście, określa się jako licz11iki. Są to uk łady sekwencyjne
zawierające pewną liczbę n ;i.. 1 przer.wtników synchronicznych, odpowiednio ze
sobą połączonych. Elementarnym licznikiem może być zatem pojedynczy
przerzutnik, pod warunkiem odpowiedniego dobran ia sygnałów wzbudzeń. Jest
to przerzutnik T (p. rys. 4.49 i 4.50). W licznikach dwójkowych n stanowi liczbę
bitów licznika, czyli liczbę znaków w liczbie dwójkowej, reprezentującej stan
434
8 .3, BLOKI SEKWENCYJNE
(zawartość informacyjną)
licznika. Np. stan licznika dwójkowego czterobitoweDCBA.
Liczbę stanów licznika nazywa się długością cyklu m ~ 2". Ogólnie,
jeśli licznik ma m różnych stanów, przez które przechodzi cyklicznie, to określa się go jako licznik modulo m. Kolejne stany numeruje się liczbami O, I, 2, ... ,
go
można określić liczbą dwójkową
m-1.
Zgodnie z klasyczną teorią układów sekwencyjnych liczniki są układami
Moore'a, w których stan pamięci A jest równy stanowi wyjść Y. Wszystkie liczniki
stanowią synchroniczne układy sekwencyjne. Zazwyczaj liczniki nie mają wejść
X (X = 0) czyli są to układy autonomiczne.
Najpopularniejsze czynniki scalone to licznik i dwójkowe (NB ) z 11 = 4
i m = 24 = 16 oraz liczniki dziesięllle (BCD) z n = 4 i m = 10. Istnieją także
liczniki pierścieniowe, wykorzystujące kod „I z n", liczniki Graya i inne.
Liczniki dzieli się także na: liczące w przód („do góry"), jeśli ich zawartość
wzrasta w trakcie liczenia kolejnych impulsów wejściowych, na liczące wstecz („w
dół"), jeśli jest odwrotnie, oraz na rewersyjne, tzn. liczące w przód lub wstecz,
zależnie od wybranego trybu pracy.
Tradycyjnie przyjęło się dzielić liczniki na „synchroniczne" i „asynchroniczne". Do pierwszej grupy zal icza się te liczniki, w których zmiany
stanu przerzutników następują jednocześnie, czyli wejścia zegarowe wszystkich
przer.wtników składowych są połączone równolegle. Do drugiej grupy zalicza
się liczniki, w których zmiany stanów przerzutników nie występują jednocześn ie,
lecz kolejno, gdyż wejście zegarowe każdego przerzutnika jest połączone
z wyjściem przerzutnika pop17.edzającego w uk ładzie licznika, tworząc strukturę
szeregową. Ponieważ, jak podano wcześniej , wszystkie liczniki są synchronicznymi układami sekwencyjnymi, w niniejszym omówieniu powyższe dwa
rodzaje liczników będą nazywane, aby uniknąć niejednoznaczności określeń,
jako odpowiednio równolegle i szeregowe (ripple).
Rozważmy przykład syntezy licznika równoległego z m = 8, liczącego
w przód w kodzie NB (ryc 8.31). Licznik musi zawierać 3 przerzutniki (2 3 = 8)
i ma zakodowaną tablicę przejść w postaci pokazanej na rys. 8.3la. Transformując ją do postaci pokazanej na rys. 8.31 b i stosując metodę opisaną w p. 4.2.5.4,
można określić odpowiednie funkcje wzbudzeń. Przy zastosowaniu przerzu tników D otrzymujemy:
Do = Qo, D1 = Q1Qo VQ1Qo, Dz= QiQo VQ2Q1 v Q2Q 1Qo
Natomiast przy zastosowaniu przerzutników JK
J 0 = K 0 = 1,
J, = K 1 = Q0 ,
Prostszą strukturę
J 2 = K 2 = Q,Q 0
liczników z przerzutnikami JK pokazano na rys. 8.3 lc.
Wykonując w podobny sposób syntezę licznika 4-bitowego można
otrzymać układ z rys. 8.32a. Sygnał przeniesienia, określający stan wzbudzeń
435
8. CYFROWE BLOKI FUNKCJONALNE
o
_4,o,a,
ooo o o
oo 1 o
o
o1 o o 1 1
o1 1
o o
1 oo 1 o 1
1 01 1 1 o
1 1
o
111
b
oo
I
o, ooo 01 1 1 10
o o o1 ot o 1 oo o1 t
1 1 O I 1 I O ooo 1 1 1
1
o o o
A: ~ olo~ d 0
Ci, Ci, 0'0
c
o--.~ 1 J
1-+--
1J
H lJ
C1
C1
1K
C1
o,
o,
1K
K
c o-.o------_._------~
d
Zegor
c
Oo
a,
---il
o, -..-~1
_,_--i
. _ I_
:
I
I
I
I
6 I 7 I Oi 1 I 2 13 I 4 I s I 6 I 7
I
!
I
I I
...-.Cy kl li czeni a --~
I ! I
!
I
_
I
Io !
I
I 1-
I I
Sta ny
lici n iko
modu lo 8
Rys. 8.31. Przykład syntezy lic-la ika równolcglcgo z m = 8
liczącego w kodzie NB
a) iakodowal\D. tablica pn:ejSC. b) siatka Karnaugb, c) budowa logie7:na licm.ika. d) przykład OVo'C ptzcl>icgi. cusowe
każdego
przerzutnika, w ogólnym przypadku jest funkcją stanów wyjść wszystkich poprzedzających go przerzutników: Po = I, p, = Q0 , p2 = Q,Q 0 ,
p 3 = Q2 Q 1 Q0 itd. W ogólnym przypadku będzie Pt = J. = K, = Q, _1 „. Q1 Q0 .
Pr.redstawiony przykład ilustruje budowę licznika równoległego z przeniesieniami równoległymi (jednoczesnymi). Wadą tego rozwiązania jest szybko
zwiększająca się liczba wejść bramek AND generujących kolejne przeniesienia.
Wady tej nie ma struktura licznika równoległego z przeniesieniami szeregowymi,
pokazana na rys. 8.32b. Układ ten jest jednak wolniejszy od poprzedniego, gdyż
436
8.3. BLOKI SEKWENCYJN E
kolejny impuls zegarowy może wystąpić dopiero wówczas, gdy do ostatniego
stopnia dotrze ustabilizowany sygnał przeniesienia. O ile zatem w liczniku
z przeniesieniami równoległymi minimalny okres zegara jest równy sumie czasu
propagacji przerzutnika (t,) od wejścia C do wyjścia Q, czasu propagacji bramki
AND (t,b) i czasu ustalenia (t,.,.)
To m;n = t,(C -+ Q) + tpb + t,.
to w liczniku n-bitowym z przeniesieniami szeregowymi o kres ten jest dłuższy:
To m;n = t,(C-+ Q) +(n-2)tpb+t.,.
Koncepcyjnie najprostszą strukturę licznika dwójkowego stanowi układ
szeregowy, pokazany na rys. 8.32c. Każde ogniwo tego łańcucha stanowi
przerzutnik T ze stanem T= I, czyli dwójka licząca, dzieląca częstotliwość
o
&
... - &
L
~
Il
u
-
bc1
'- 1K
'
Oo
Pz
'--
11
Il
~~
- '- 1K
&
~
"3
'---
Il
~
L l>c 1
'--'-
-
-
o,
bc1
L
1K
._
~
1J
L
hK
-
o,
I-
bci
a,
"
b
1l
u
-L
1>c1
1K
e
1J
L
&
&
-
1K
a,
.....
-
~
~
~
L
l -'- b-C1
Oo
-&
~
.....
Il
_,_ t>C1
L
1K
1J
~
C1
a,
L
1K
I-
a,
u
c
10
e"--
- l-..c 1
10
t---1>c1
ł---b C1
L--hC1
Rys. 8.32. Struktury liczników dwójkowych
a) licznik rówookgly 2. pmnies.i1mianli równolcifymi, b) licznik równoległy z pn:tnicsieniami szeregowymi,
c) łianik szcrcgow)'
437
._
8, CYFROWE BI.OKI FUNl(CJ0NAlNE
sygnału wejściowego
przez dwa. Można ją otrzymać z przerzutnika JK łącząc
= Q, albo z przerzutnika O łącząc D = Q. Maksymalna
częstotliwość impulsów wejściowych jest wyznaczona przez pierwszy przerzutnik
(T0 m;• = l/Jm,J, czyli z tego punktu widzenia jest to układ szybszy od licznika
równoległego. Jednakże łatwo zauważyć, że ustalenie się stanu całego licznika
jest w najgorszym przypadku sumą 11 czasów propagacji t 9 (C -+ Q), co w pewnych
zastosowaniach może być niekorzystne. W czasie ustalania się stanu licznika
występują stany pośrednie, różne od stanu początkowego i końcowego. Z tego
względu odczyt ustalonego stanu licznika szeregowego wymaga odpowiedniego
J = K = I lub J =
Q, K
opóźnienia.
Licznik szeregowy, pokazany na rys. 8.32c, jest licznikiem liczącym
w przód. Jeśli jednak połączyć kolejne przerzutniki wyjściami Q na wejścia C, to
tak połączony licznik szeregowy będzie liczyć wstecz:
... 3, 2, I, O, 15, 14, 13, ....
w przód można wykorzystać jako licznik liczący wstecz,
negacje jego wyjść. Tak więc licznik z rys. 8.32c będzie liczyć
wstecz, jeśli do odczytu jego stanu wykorzystamy wyjścia zanegowane
Q przerzutników.
Na rysunku 8.33a pokazano budowę scalonego 4-bitowego licznika
Licznik
liczący
wykorzystując
o
1J
„
1J
Cl
„
IJ
„
„
IJ
IK
IK
R
R
~}
01
o,
o
03
e,
r,
r,
b
&
'93
RCTR4
CT•O
(2 IZfl
C I 4 I Z21
2C(6J "l
438
Rys. 8.33
Scalony licznik dwójkowy '93
11)
bud().,.,11, b) $ym!)ol grafiCln)'
8.3. BLOKI SEKWENCYJ NE
szeregowego '93, a na rys. 8.33b jego symbol graficzny. Identyfikatorem
11-bitowego licznika szeregowego jest oznaczenie „RCTRn" (z ang. Ripple
Counter). Układ zawiera cztery przerzutniki, przy czym wyjście Q0 pierwszego
z nich nie jest przyłączone do pozostałych trzech, które tworzą licznik szeregowy
modulo 2 3 = 8. Aby funkcjonalnie utworzyć liczn ik czterobitowy, czyli modulo
24 = l6, należy połączyć zewnętrznie wyjście Q0 z wejściem c 2 . Wejścia
oznaczone symbolami r 1, r 2 służą do asynchronicznego zerowania licznika, tzn.
że przy r 1 = r 2 = H wymusza się stan Q = Q 3 Q 2 Q 1Q 0 = LLLL, czyli L(Q) = O,
niezależnie od stanu sygnałów sterujących c1 i c2 . Funkcja zerowania jest
oznaczona zapisem „CT = O" (z ang. Content - zawartość), co oznacza, że
CT= L(Q).
Procedura CTR_ 93 opisuje licznik '93 w symulatorze TLS.
procedure CTR 93(cl, rl, r2 : B; var Q : r4 ; var F : br4);
{ Lictnik '93 z poleczeniem QO-c2 (modulo 16) }
var R : O.. 1:
begin
R : . rl a.nd rl xor li
FFT(cl, R, Q[O] , F[O));
FFT(Q[OJ, R, Q[I], F(l)) ;
FFT(Q[l], R, Q(2), F (2 ]);
FFT(Q[2), R, Q(J], F (3))
end;
Została
w nim wykorzystana procedura FFT
opisująca
przerzutnik T:
procedure FFT(C, R : Bi vor Q : B: v o.r f : booleon );
{
Przeriutnik T wyzwalany impu l sem, zerowany przy R
=
O }
be&in
lf R • O then Q :. O
elae if (C • 0) and f then Q =• Q xor l i
it C a.nd R = 1 then f :. t rue elae f := false
end;
Układ
scalony '393 (wytwarzany w rodzinach LS, HC i LV) zawiera dwa
podobne liczniki 4-bitowe, które połączone szeregowo tworzą licznik 8-bitowy
(moduło 256). Mają one pojedyncze wejścia zerujące i trwałe połączone ze sobą
dwa pierwsze przerzutniki.
Scalone liczniki równoległe są zazwyczaj budowane z przeniesieniami
równoległymi. Popularnymi licznikami 4-bitowymi tego rodzaju są liczniki
'16lf'162. Są to liczniki programowalne, to znaczy mają również wejścia
równolegle D (podobnie jak rejestr równoległy) i wpis danych z tych wejść jest
realizowany synchronicznie z impulsem zegarowym. Licznik '162 ma również
zerowanie synchroniczne, natomiast licznik '161 ma zerowanie asynchroniczne
(podobnie jak opisany wcześniej licznik '93).
Schemat logiczny i symbol licznika 74F163A (Texas Instrwnents) o maksymalnej częstotliwości zegarowej 120 MHz przedstawiono na rys. 8.34. Schemat
ten reprezentuje wszystkie układy 'I 63A. Aby umożliwić liczenie, obydwa wejścia
zezwalające (ENP, ENT) muszą mieć aktywny poziom H. Na przykładowych
439
8. CYFROWE BLOK.I FUNKCJONALNE
~
1
I
t
'j
10
.... _!_ I
lNT
CLX
A
H)
2
R
CO!
'-"
'\
~
ł
i",
•
,, •co
o
V
• •
c
•
rcc
l
~
\
Q2
„
„
i , 2TIC3
1,lD
'"
I
rcc
-I
~
\
••
::i
•
12
Q2
l, 2TIC3
1,30
'"
r<(_J
Rys. 8.34.
,.
i, tl/C3
1,30
G2
-
o
QI
Q2
'"
LOAO -
I
'"
1\
-<
I
„
Q2
"
i , ZTC
1, >0
Równoległy
"'
licznik cztcrobitowy 74 Fl63A (7txas /nsiruments)
Jl) ilC:hern.111 lopcz-ny licznik~ b) &ełw;nat lop:my jodncao 1 0 1crtieh pnerw1nilió'A' licznika. c-) symb<>I 1r1rtcmy I EC
przebiegach czasowych (rys. 8.35) przedstawiono kolejno: synchroniczne zero·
wanie, synchroniczny wpis danych (HH LL = I 2 1 0 ), liczenie i zakaz liC"tenia. Jak
widać, zarówno funkcja zerowania ( CLR )jak i funkcja ładowania równoleglego
(LOAD) są realizowane synchronicznie z narastającym zboczem impulsu
zegarowego CLK. Podobnie jak przy wykorzystywaniu pojedynczych przerzutników (p. rys. 7.28), sygnały wejściowe licznika muszą spełniać określone
katalogowo uwarunkowania czasowe. Na przykład, aktywny poziom L na
wejściach CLR i LOAD musi się pojawić wcześniej niż impuls zegarowy o czas
ustalenia 1„ (w liczniku 74F163A równy typowo 8.5 os).
440
8.3 BLOKI SEKWENCYJNE
b
c
CTllOIVIO
t
•
!NT
,„,
CU<
10
.
L
T
·5 CT•
...'"
o
3CT. 15
„
G3
RCO
(l4
2
._, CS/2,3,4 •
3
• •
c •
o •
'· 50
I
t
2
•
I
Możliwości
r
•„•
12
11
tworzenia licznik ów wielobitowych z układami '163A przedstawiono na rys. 8.36. Do tego celu wykorzystuje się wyjścia przeniesienia
szeregowego RCO (Ripple Carry 0111p11t). Układ w pełni równoległy (rys. 8.36a)
zapewnia jednoczesność zmian wszyst kich stanów wejściowych, natomiast uk ład
równoleglo-szeregowy (rys. 8.36b) ma większą częstotliwość wejściową, gdyż nie
występują w nim ograniczenia wynikające z szeregowej propagacji przeniesień
między licznikami 4-bitowymi.
Układy liczników dziesiętnych (BCD) zawierają cztery przerzutniki JK
lub D, połączone w sposób umożliwiający otrzymanie kodu wyjściowego BCD
8421. Najczęściej są stosowane układy szeregowe o strukturze 2 5 (złożone
z jednego przerzutnika dzielącego przez dwa i trzech tworzących licznik mod uIo
5) oraz równoległe z przeniesieniami równoległymi.
Syntezę licznika równoległego mod ul o 5 pokazano na rys. 8.37. Z zakodowanej tablicy przejść otrzymuje się siatkę Kamaugh. Przy przyjęciu przerzutników JK, zgodnie z metodą opisaną w p. 4.2.5.4, otrzymuje się funkcje
wzbudzeń:
441
8 . CYFROWE BLOl(t FUNKCJONALNE
CLR
LOAO
A
Wejścia
danych
[------------------------
----;---.-~
B
-~-'~~[~------------------------
c
_J
o
_J
[
[
_______________________ _
_______________________ _
CLK
ENP
ENT
/
o„
----
---Oe ------ac::::~
Oo ::::~,---------..___ ___.__ _ _ _ _ _ __
I
I
RCQ ___....___.1.___~_
I•
1
12
13
14
I
__.r-1~---~l-------15
o
21
Liczenie - ---•""'~ZoKoz ticzt'nio - - .
Synchr.
wpis
Synchr.
zerowanie
Rys. 8.35. PrzykJadowe przebiegi czasowe w liczniku 74F163A
J 3 = Q2 Q1 ,
K 3 = 1,
J 2 = K 2 = Q1 , J 1 = Q3 , K 1 = 1
Realizację układu przedstawiono na
dziesiętnych
rys. 8.37c. W popularnych licznikach
('90) stosuje się nieco inną konfigurację „szeregowo-równoległą",
pokazano na rys. 8.38. Wejścia r 1 , r 2 służą do zerowania licznika, a wejścia ut> liz
do ustawienia stanu Q = Q3 Q2 Q1Q0 = HLLH, czyli L(Q) = 9. Jeżeli wejścia te
nie są używane, to należy je połączyć z masą, gdyż w przeciwnym przypadku
licznik będzie trwale zatrzymany. Wyjście Q0 łączy się z wejściem c„
W pewnych zastosowaniach istotna jest t ylko funkcja podziału modulo
10 i to, aby sygnał wyjściowy miał symetryczny przebieg. Licznik '90 pracujący jako dzielnik częstotliwości w „normalnym" trybie pracy (2-5), dostarcza
na wyjściu Q3 sygnał w postaci fali prostokątnej z poziomem H trwającym
2T0 i poziomem L trwającym 8T0 (przebieg o wypełnieniu równym 0.2).
Jeżeli natomiast licznik połączymy w strukturze 5- 2, czyli sygnał wejściowy
doprowadzimy do Cz i Q3 połączymy z c 1 , to na wyjściu Q0 otrzymamy
442
8.3. BLOKI $EKWENCVJNE
co-+-~~~~~~~~---~~~~~~~~
bcrn
Rys. 8.36. Struktury liczników wielobitowych z licznika mi czterobitowymi '163A
a) licznik równolcgl)'. b} licznik
r6.,.•nołcglo-s.uttgowy
o
a,o,o,
ooo
oo1
o1 o
o1 1
1 oo
o o
o
o
o
b
ol
o o
o o o
oo
' 1
oo 01 11 1 o
o 0 0 1 o1 o 1 o o o1 1
1 ooo - -
0 3 Oi o~
c
1J
1----
C1
1K
.-i1J
C1
02
1K
co-_.~~~~~~_.~~~~~~~~--'
Rys. 8.37. Synteza licznika
równol egłego
modulo 5
a) zakodo11oua tablica przc-jlić, b) si.alla K.atnaugh, <:) budowa logie7.na
443
8. CYFAOWC BLOKI FUNKCJONALNE
o
.--~~~~..-~~~~~~~~~~-o o,
c ,.o-~~~~~~~~-1-.--~~~--1~~~~~-1-~~~~~
1
'90
RCTR 01V10
b
T=O
1c
I4 J
C
I6 I
Rys. 8.38
U cznik dziesi ę t n y '90
a) budowa kigicin:., b} 1ymbol 1niriany
o
o,
c,
+5
1,n
I;
b
c,
,,
o,~~
o,_;,j w
L_
T=\Olfi
+5
-~~
~ ~-
Rys. 8.39. Zast osowanie licznika '90 jako dzielnika częstodiwości przez 10
a) 'l MC$)WCU)'aftyft!I pndliqiem 'fi)')łcio•Jm.. bł l S)'ftlCU)'TinJl'll pnitbiq;i.?1111 WFyj4aowyrD
444
8.3. BLOKI SEKWENCYJNE
symetryczną falę prostokątną
o wypełnieniu 0.5, lecz kod wyjściowy nie
kodem BCD 8421, lecz kodem bikwinamym (8.39ab).
Układ scalony '390 zawiera dwa podobne, szeregowe liczniki BCD, które
połączone szeregowo tworzą licznik dwudekadowy (modulo 100). Popularne
równolegle liczniki BCD to układy' 160(162 z wejściami równoległymi, podobne
do liczników modulo 16 typu '16Jf l63.
Liczniki mogą być również budowane z wykorzystaniem rejestrów
przesuwających. Jeśli w rejestrze n-bitowym jest zawarta tylko jedna jedynka (lub
tylko jedno zero), to po połączeniu wyjścia szeregowego Yn - i z wejściem
szeregowym dotrzymuje się licznik pierścieniowy(ring counter). W takim rejestrze
pozycja „krążącej jedynki" (lub zera) wskazuje na liczbę zliczonych impulsów
zegarowych. Kodem wyjściowym jest kod „1 z n". Wadą tych liczników jest
długość cyklu równa liczbie 11 przerzutników. Oznacza to ich nieefektywne
wykorzystanie w porównaniu z licznikami o kodzie NB, w których długość cyklu
jest równa 2". Pewną zaletą jest natomiast brak konieczności dekodowania stanu
licznika. Liczniki pierścieniowe są bardzo rzadko stosowane z uwagi na dużą
liczbę potrzebnych przerzutników oraz konieczność zapewnienia dla prawidłowej pracy licznika tylko jednej jedynki (lub zera) w rejestrze (co wiąże się
z koniecznością wprowadzenia dodatkowych układów).
Przykładowy program symulacyjny TLS RingCtr ilustruje działanie
8-bitowego licznika pierścieniowego z automatycznym ustalaniem pojedynczej
krążącej jedynki, odpowiednio do schematu pokazanego na rys. 8.40. Sygnał il na
wyjściu bramki NOR powoduje wpisanie jedynki (poziom H) tylko wówczas, gdy
na wyjściach S[O] ... S[6] jest stan O (poziom L).
będzie już
program RingCtr:
uses Dec, Gater, Reg, Cr t ;
conet
S
r8 s ( 1, 1, l, O, 1, O, 1, 1 );
var
T
r8;
c, d
begin
{
Załotony
stan poczatkowy
}
B:
ClrScr;
c
: a t; T ( 7]
== o:
Writeln(' Stan S') ; Wri t e l n;
for m :. 1 to 40 do
begin
c : . c xor 1 ;
for n ==O to 6 do T[n) =• S[n);
d : . NORr8(TJ;
SRG_164(C, d, d, 1, $, f l );
if c • 1 then
begin
for n := 7 do.rnto O do Wr ite(S(n]);
W ritełn
end
end
end .
Jeżeli wyjście
z
wejściem
szeregowe rejestru przesuwającego zostanie połączone
szeregowym poprzez inwerter, to otrzymamy układ licznika pseudo-
445
8 CYFROWE BLOKI FUNKCJONALNE
'He 154
c
-- c
~
SRG8
c11R
•
~
'
10
IHC)4078
jlł1
sro1
T'n'
Si l I
Tl11
~
Rys. 8.40
Przykład budowy
piericieniowcgo modulo 8
z automatyczną korekcją
~p
n iewlaściwych
stanów
pierście11iowego
(Johnsona). Licznik ten ma większą długość cyklu niż licznik
pierścieniowy, równą 211. Dekoder stanów wyjściowych licznika zawiera tylko
jedną bramkę dwuwejściową na każde wyjście, czyli jest relatywnie prosty. ·
Scalony licznik dziesiętny tego rodzaju jest wytwarzany w klasie CMOS (40178).
Ma on również wbudowany dekoder.
Skróco11y licznik pseudopierście11iowy ma długość cyklu zm niejszoną
o jeden, czyli równą 211-1. Sygnał podawany na wejście szeregowe d rejestru,
czyli wejście D pierwszego przerzutnika, jest określony funkcją
Dla dzielników modulo 3 i modulo 5 jest to rozwiązanie najprostsze,
np. dla modulo 5 wypełnienie sygnału wyjściowego równe 0.4.
Jednak uzyskany kod wyjściowy nie jest kodem NB. Układy takie stosuje się
m.in. w scalonych dzielnikach dziesiętnych wielkiej częstotliwości .
Do budowy dzielników dziesiętnych wielkiej częstotliwości, przy zastosowaniu przerzutników D z klasy ECL, jest stosowana także konfiguracja
pokazana na rys. 8.41. Wyjściowy przebieg prostokątny ma wypełnienie równe
0.6, lecz kod wyjściowy nie jest kodem BCD 8421.
zapewniające
;.1
- s.2v
10
10
47nF
~
180Q
Cl
62'2
Rys. 8.41. Dzielnik
446
Cl
cz~totliwości
modulo 10 z przerzutnikami ECL
8.3. BLOKI SEKWENCYJN E
widać,
liczniki mogą wykonywać różne mikrooperacje, zależnie od
możliwości funkcjonalnych. Na przykład, licznik '90 w połączeniu 2- 5 może
w obrębie każdego cyklu wykonywać:
Jak
mikrooperację
liczenia w przód
c(r1 r 2)(u 1 u:z.l : L(Q): = L(Q)+ l
mikrooperację
zerowania
r 1r 2(u 1 u 2): L(Q): = O
mikrooperację
usta wiania
dziewiątki
(r 1r 2 )u 1 u2 : L(Q): = 9
Jeśli
licznik jest zbudowany jako zwarta całość, np. jako układ scalony
(lub blok złożony z układów scalonych), i występuje potrzeba skrócenia długości
cyklu, to można to zrobić ogólnie bi orąc dwoma sposobami. W obydwu
przypadkach wprowadza się odpowiednie sprzężenie zwrotne.
Pierwszy sposób polega na wykryciu przez odpowiedni dekoder (najczęściej bramkę AND) stanu L(Q) = k, równego żądanej długości cyklu m,
a następnie wprowadzenie impulsu wyjściowego z tego dekodera na wejście
zerują.ce licznika. Pokazano to na przykładzie licznika modulo 6 z rys. 8.42.
o
-&
-
- --,
b
CTo O
,_
r
c
-
RCTR 4
I 1I
&
co-
I 21 Z11 ->-
ZZ I
2C ( 8 l
I
1C
Rys. 8.42.
14 I
Przykłady
+
s
->-R
s krócenia
d l ugoś<:i
cyklu licznika
a)""' ol: ładrit '93 modulo 6, b) w ljczniku wielobi to1~•ym
bramka NAND związana z dwoma
jest krótkotrwałe wystąpienie
stanu L(Q) = 6 (przechodzącego w stan 0), co w pewnych zastosowaniach
może być szkodliwe. Procedura CTR_93_mod_6 opisuje Laki licznik w symulatorze TLS.
Dekoderem stanu 6 jest
wewnętrzna
wejściami zerującymi. Wadą
447
tego
rozwiązania
8 CYFROWE BLOK.I FUN KCJONALNE
pro~edu.re CTR 93 aod 6(c1
var R: 0 .. 1; - -
8; va r Q
r4; var F
br~) i
betrin
R : o Q(l) a nd Q[l) • or 1:
FFT(cl, R, Q(O), F(O));
FFT(Q[O), R, Q(l), F(l));
PFT(Q[l), R, Q[l), F[l));
FFT(Q [l) , R, Q(3) , F[3));
if Q[l ) and Q(l) • l tben
bel' in
Fil!Char(, 4, O) ;
FillChar(F, 4, fallO)
end
end;
W większych blokach stosuje się wydlużenie impulsu zerującego do wartości
1„(c = H) przez zastosowanie dodatkowego przerzutnika statycznego SR (rys.
8.42b). W ten sposób unika się niecalkowitego wyzerowania liczni ka. Eliminację
przejściowego stanu L(Q) = k można uzyskać, jeśli dany licznik scalony Oub
blok) ma możność synchronicznego zerowania (np. opisany poprzednio 'I 63A).
Wówczas wykrywa się dekoderem stan L(Q) = k -1 , który synchronicznie
z k-tym impulsem zegarowym powoduje wyzerowanie licznika.
W drugim sposobie wykorzystuje się wejścia równolegle D licznika. Jeśli
na tych wejściach ustali się stan L(D) = O, a sygnał z dekodera stanu L(Q) = k
licznika wprowadzi się na wejścia zezwalające wpisu równoleglego (przy wpisie
synchronicznym wykrywa się stan k- I), to otrzymuje się dzialanie identyczne
z opisanym poprzedn io. Jeśli nato miast na wejścia równoległe wprowadzi się
stan L(D) #O i do zezwolenia wpisu wykorzysta się wyjściowy impuls przeniesienia, to zależn ie od stanu wejść D można latwo i bez dekodera stanu licznika
otrzymać różne stosunki podzialu, jednak cykl licznika nie będzie się rozpoczynał od stanu O lecz od L(D), a kończy) na 2" - I (dla licznika dwójkowego) lub
9 (d la licznika dziesiętnego). Przy L(D) # O i dekodowaniu stanu L(Q) = k
licznika do generacji asynchronicznego impulsu wpisującego otrzymuje się
liczni k o cyklu rozpoczynającym się od L(D) i kończącym się na L(Q) - k - I.
Ucc
CLR
'16JA
e·~_.__,__D:.,,o"' C
&
o
o,
Rys. 8.43. Zastosowanie lianoka '163A do realizacji cyklu licicnia modulo 10 ze stanem
4 i końcowym 13
początkowym
448
8.4. BLOKI
PAMIĘCIOWE
Rysunek 8.43 ilustruje wyko rzystanie opisanego wcześniej licznika ' 163A
do realizacji licznika modu Io I O, lecz ze stanem minimalnym równym 4 (wpisywanym na wejścia D) i stanem maksymalnym równym 13 (dekodowanym przez
bramkę NAND). Kod wyj ściowy licznika stanowi podzbiór czterobitowego
kodu NB. Wpis danych następuje synchronicznie z impulsem zegarowym, po
ustaleniu stanu licznika równego 13.
BLOKI
PAMIĘCIOWE
8.4
Bloki pamięciowe służą do przejściowego lub trwałego przechowywania informacji cyfrowych. Układy scalone realizujące funkcję pamięci są wytwarzane
w bardzo szerokim asortymencie. Najprostszymi układami pamięciowymi są
zwykle przerzutniki, które stanowią pamięci jednobitowe, czyli podstawowe
komórki pamięciowe. Zloione układy pamięciowe mogą zawierać dużą liczbę
takich lub innych komórek, tworzących odpowiednio dużą pojemność pamięci.
Pamięci cyfrowe są funkcjonalnie organizowane w ten sposób, aby
zapamiętywać N słów odczytywanych z pamięci, przy czym każde slowo
wyjściowe zawiera w bitów. Calkowita pojemność C pamięci wynosi zatem N x w
bitów. Jeśli słowo wyjściowe jest ośmiobitowe, czyli ma postać bajtu, to
pojemność pamięci wynosi N bajtów.
Pojemności dużych pamięci wyraża się w kilobitach (K lub Kb),
megabitach (M lub M b), kilobajtach (KB) i megabajtach (MB). Symbol
K oznacza 2 10 = 1024, a symbo l M oznacza 220 = 1048576 (por. tabl. 2.2). Na
przykład, przy N = 2 16 = 65536 i w - I otrzymuje się C =N= 64 Kb, a przy
w = 8 mamy C = 0.5 Mb = 64 KB. Pamięci przeznaczone do typowych
zastosowań mikrokomputerowych mają najczęściej w = 4, 8 lub 9.
Scalone pamięci półprzewodnikowe wytwarzane są w dwu zasadniczych
odmianach, jako pamięci 11/otne i nie11lotne. Zawartość informacyjna pamięci
ulotnych jest bezpowrotnie tracona po wyłączeniu zasilania, natomiast zawartość pamięci nieulotnych jest trwale zapamiętana w ich strukturach półprzewod­
nikowych i nie zanika po wylączeniu zasilania.
Pamięci
RAM
Najszerzej stosowanymi pamięciami ulotnymi są pamięci umożliwiające zarówno szybki zapis jak i szybki odczyt słowa danych do/z pamięci. Tradycyjnie
pamięci te określa się jako pamięci o swobodnym dostępie - RAM (Random-Access Memory). Nie jest to nazwa najtrafniejsza, gdyż wyróżnia tylko cechę
swobodnego, równouprawnionego dostępu do dowolnej komórki pamięci w danym czasie, w odróżnieniu od pamięci o szeregowym dos1ępie, na przyklad rejestrów przesuwających. Właściwszą nazwą bylaby "pamięć czytaj/pisz" (RWM
- Read/l#ite Memory), a.le akronim „RAM" zos tal jui: przyjęty powszechnie do
449
8. CYFROWE BLOKI FUNKCJONALNE
skrótowego nazewnictwa pamięci typu RWM i w tym znaczeniu będzie również
stosowany w tej książce. Trzeba jednak podkreślić, że wszystkie wymienione
dalej pamięci nieulotne są w istocie pamięciami o swobodnym dostępie.
Pamięci RAM stanowią większość spośród wszystkich cyfrowych ukła­
dów scalonych, wytwarzanych na świecie w końcu XX wieku. Wyni ka to
z eksplozji komputerowej na rynkach światowych. Postęp technologii mikroelektronicznych jest ukierunkowany głównie na wytwarzanie pamięci scalonych
RAM o jak największej pojemności i szybkości działania. Pierwsze pamięci
O-RAM, opracowane na początku lat siedemdziesiątych, miały pojemność
zaledwie I K b. W roku 1997 pamięci D- RAM o pojemności 16 Mb i 64 Mb były
wytwarzane seryjnie i pojawiły się pierwsze pamięci o pojemności I Gb.
Pamięci
ROM
Pamięci
nieulotne określa się jako stale. Podstawowym rodzajem pamięci stałej
jest pamięć typu „tyl ko czytaj" - ROM (Read-only Memory). Zawartość
informacyjna tych pamięci jest ustalana w czasie produkcji dzięki użyciu
odpowiedniej maski w procesie planarnym (p. 6.2). Stąd pamięci te określa się
również jako „programowane maską". Dane wprowadzone do tych pamięci
w czasie produkcji nie mogą być już później zmieniane. Aby osiągnąć niski koszt,
układy te musz11 być produkowane w dużych seriach, zazwyczaj do zastosowań
masowych.
Pamięci
PROM
Do pamięci nieulotnych zalicza si~ również programowane pamięci stałe
- PROM (Programmable ROM). Te pamięci są fabrycznie wytwarzane jako
„czyste", natomiast wprowadzenie zawartości informacyjnej do pamięci, czyli jej
zaprogramowanie następuje u wytwórcy sprzętu, wykorzystującego te pamięci.
Oznac-a to w istocie zapis, jednak7.c trwa on wielokrotnie d łużej niż odczyt.
Ponadto programowanie pamięci PROM realizuje się przez umieszczen ie jej
w odrębnym, specjal nym urządzeniu, zwanym programatorem pamięci scalych.
Programator współpracuje z komputerem, skąd pobierane są dane do zapamię­
tania w układzie PROM. Po zaprogramowaniu, zawartość pamięci PROM nie
może być zmienia11a (to znaczy, że nic może być ponownie programowana)
podobnie jak w pamięci ROM. Pamięci PROM są zatem określane jako
programowane jednorazowo u użytkownika.
Pamięci
EPROM
Pamięci
nieulotne EPROM (Erasable PROM)są również fabrycznie wytwarzane
jako „czyste", lecz umożliwiają wielokrotne kasowanie i programowanie zawarto-
450
8.4. BLOKI
PAM I ĘCI OWE
ści.
Kasowanie następuje w urządzeniu zwanym kasownikiem, a programowanie
- tak jak dla pamięci PROM - w programatorze.
Pamięci
EEPROM
Pamięci
nieulotne EEPROM (Electrically Erasable and Programmable ROM) są
także wytwarzane jako „czyste". Ich podstawową zaletą jest to, że ich zawartość
może być modyfikowana bez potrzeby stosowania odrębnego kasownika
i programatora. Wprowadzenie nowych danych może być zrealizowane w sprzę­
cie, bez potrzeby wyjmowania układu pamięciowego do kasownika i programatora, jak to ma miejsce w pamięciach EPROM. Taki zapis danych trwa
jednak wielokrotnie dłużej niż odczyt.
Pamięci błyskowe
Odmianą pamięci
-
FLASH
FLASH („błysk"). Umożliwiają one
jednoczesne („błyskawiczne") elektryczne kasowanie całej pamięci w celu
zaprogramowania nowej zawartości. Są one tańsze od klasycznych pamięci
EEPROM i dlatego często stosowane w sprzęcie masowego użytku.
Pamięci
EEPROM
są pamięci
LIFO. FIFO i CAM
Specyficznymi odmianami pamięci półprzewodnikowych są pamięci stosowe
- LIFO (Last-ln-First.-Out), pamięci kolejkowe - (First- In-First-Out) oraz
pamięci skojarzeniowe lub adresowane zawartością - CAM (Content-Addressable
Memory, associative memory). Będą one omówione w dalszej ~ści niniejszego
rozdziału.
Klasyfikacja pamięci półprzewodnikowych jest przedstawiona w tablicy
8.3. Układy te, ogólnie biorąc, są wyk onywane w technologii bipolarnej
R ODZAJE PAMIĘCI POLPRZĘWOON IK.OW YCH
Pamięci
Pamięci
o dostępie
swobodnym
R AM
Pami ęci
ulotne
Pamięci
bez swobodnego
dos1ępu
-------+---------!
• statyczne &-RAM
• stosowe - LIFO
• dynamiczne D-R AM • kolejkowe -
FIFO
• skojarzeniowe CAM
• rejeSITy
przesuwaj ące
451
Tablica 8.3
nieulotne
• programowane maską - ROM
• programowane jed norazo\vo - PROl\'1
• kaso\\•alne i programowalne wielokrotnie
- EPROM
• elektrycz.nie kasowalne i programowalne
wielokrolnie - EEPROM
• elekt rycznie kasowalne w ca łoSci i progra·
mowalne wielokrotnie - FLASH
• pamięci S-RAM z pod1nymującą baterią
litową
8 cYFROWE BLOKI FUNKCJONALNE
i unipolarnej. Wyłącznie w technologii MOS są wytwarzane pamięci D-RAM,
EPROM, EEPROM i FLASH. Technologie MOS i CMOS są całkowicie
dominujące w budowie pamięci RAM o najwyższych pojemnościach, gdyż
zapewniają najmniejszą moc strat i najniższy koszt w przeliczen iu na bit.
Szybkość dziala11ia pamięci pólprzewod nikowych określa się przez podanie czasów dostępu przy odczycie i zapisie oraz długości cyklu odczytu i zapisu.
Parametry te są omówione dalej, w odniesieniu do pamięci RAM .
Pamięc i
Pamięci
o swobodnym
dostępie
(RAM)
8.4.1
RAM umożliwiają zarówno szybki zapis, jak i odczyt danych. Dzielą się
one na statyczne (S·RAM), w których komórkami pamięciowymi s11 tranzystorowe przerzutniki statyczne SR, oraz dynamiczne (O-RAM). wykonywane
w technologii MOS, w których komórki pamięci mogą zawierać tylko jeden
tranzystor. W tych ostatnich przechowywanie jednego bitu informacji polega na
przechowywaniu ładunku w mikrokoodensatorze scalonym, stanowiącym komórkę pamięci. Z uwagi na ulotność tego ładunku, pamięci dynamiczne
wymagają periodycznego odświeżania zawartości. Jest to jednak kompensowane
przez bardzo małe rozmiary komórki, a tym samym znacz.nie mniejszą powierzchnię kostki pamięci dynamicznej w porównaniu z pamięcią statyczną o tej samej
pojemności. Dlatego też koszty pamięci dynamicznych w przeliczeniu na bit są
znacznie mniejsze.
Zespól wszystkich komórek pamięciowych danego układu tworzy matrycę pamięciową, czyli strukturę prostokątną w postaci siatki, której każda klatka
reprezentuje jedną komórkę (rys. 8.44). Poziome paski komórek nazywa się
wierszami, a pionowe kolum11ami. Dostęp do wierszy realizuje się za pomocą linii
slowa, a dostęp do kolumn za pomocą linii bitu. Ustalenie aktywnego stanu
logicznego na jednej z istniejących linii słowa wybiera (adresuje) związany z nią
wiersz komórek. Podobnie ustalenie aktywnego stan u logicznego na określonej
linii bitu wybiera związaną z nią kolumnę. Każde przecięcie wiersza z kolumną
wyznacza jedną komórkę pamięciową w danej matrycy. Aby umożliwić zapis
i odczyt stanu z określonej komórki n ależy zatem zaadresować odpowiednią linię
słowa i odpowiednią linię bitu.
W najprostszym przypadku cały wiersz może stanowić słowo o długości
słowa wyjściowego. Przy większych pojemnościach i małych długościach słowa
prowadziłoby to jednak do budowy matrycy w postaci bardzo długiego paska,
gdzie występowałyby bardzo duże pojemności pasożytnicze długich linii bitu
oraz znaczne kłopoty topologiczne. Dlatego zazwyczaj matryca pamięciowa ma
postać prostoką ta o stosunku boków nie pr1..ekraczającym I : 4.
Adresowanie wierszy i kolumn w matrycy następuje w kodzie „ / z N". Aby
zmniejszyć lic-.t:bę wej ść adresujących układ pam ięciowy, czyli liczbę bitów adresu
pamięci, przedstawia się go w kodzie N 8.
452
8.4. BLOKI PAM IĘCIOWE
li niesłCMO
Kolumno
Wyjścia
donyc.h
we/wy
Wz mocnioc~ Odczytu
Ukł ady
Dekoder
odresowy
kolumn
Wejścia
L-.-J---L- -.--------1'<
Ukłod
Sterujący
Rys. 8.44. Zasada budowy
donych
1
w
o~~ość słowo
wejsciowego/wyjściowego
układu pamięci półprzewodnikowej
(RAM)
Przy użyciu stowarzyszonych z matrycą dekoderów wybiera się okrewiersz i kolumnę (kolumny). Do realizacji zapisu dane z wejścia (wejść)
danych pamięci wprowadza się do wybranej komórki (komórek) przy użyciu
odpowiednich układów sterujących, scalonych wspólnie z matrycą pamięciową.
Podobnie do odczytu danych z komórek matrycy służą odpowiednie układy
zwane wzmacniaczami odczyt.u. Ponadto układ pamięci zawiera układy buforowe
(związane ze wszystkimi wejściami i wyjściami) oraz główny układ sterujący,
umożliwiający wybór trybu pracy (zapis/ odczyt) i aktywizację/dezaktywi­
zację układu pamięciowego na podstawie odpowiednich sygnałów wej-
ślony
ści owych .
Pamięci
statyczne (S-RAM)
8 .4 .1.1
W technologii MOS komórkę pamięci statycznej RAM można zrealizować
w postaci pokazanej na rys. 8.45. Komórkę tworzy przerzutnik statyczny
SR, gdzie jako obciążenia L mogą być wykorzystane tranzystory z kanałem
zubożanym (p. rys. 7.62). Tranzystory T5 i T6 stanowią bilateralne bramki
transmisyjne, sterowane linią słowa z dekodera adresu wierszy. Wybór kolumny
następuje przez podanie poziomu H na wejście J.fybór bitu z dekodera
adresu kolumn.
Mniejsze rozmiary komórki i mniejszą moc strat uzyskuje się jednak gdy
jako obciążenia L stosuje się wysokooporowe (10 10 -10' 2 il) rezystory z krzemu
453
8. CYFROWE BLOKI FUNKCJONALNE
LS
Komplementorno linio
bitu
Linio
bitu
-'--"----------"~-'- - - - - \YL
1
Wybór
bi tu
:
: Linio
1
rL.~·~JT_B~~~!._~~T.....J
Bl._j
słowo
wzmocnioa
odczytu
+
W'lmocniocz
zapisu
A3
0 10 )
Rys. 8.45.
Przykład
y
Wzmo cnłocz
A2
zapisu
0 11)
budowy komórki w statycznej
pamięci
MOS/RAM
polikrystalicznego, słabo domieszkowanego z użyciem implantacji jonów. Dzięki
umieszczeniu ich 11ad strukturami tranzystorów ·Tl i T3, powierzchnia komórki
może być znacznie mniejsza od powierżehni komórki z obciążeniami ,,zubożonymi".
Najmniejszą moc strat ma komórka CMOS o strukturze przerzutnika SR
pokazanej wcześniej na rys. 7.94a (bez tranzystorów N3 i N4).
Dostęp do komórki uzyskuje się przez uaktywnienie linii słowa, czyli
wybranie wiersza (poziom H na tej linii powoduje przewodzenie tranzystorów
transmisyjnych TS i T6) oraz uaktywnienie pary linii bitu, czyli wybranie
kolumny (poziom H na wejściu „Wybór bit u" powoduje przewodzenie tranzystorów transmisyjnych kolumny, oznaczonych symbolami TB i TB). Po uzyskaniu
dostępu do komórki można zrealizować operację zapisu lub odczytu. Zapis
uzyskuje się przez wymuszenie na liniach bitu odpowiednich stanów komplementarnych przez układy sterujące zapisu. Odczyt realizuje się poprzez
odpowiedni wzmacniacz odczytu, przy nieaktywnych wyjściach {stan wielkiej
impedancji) wzmacniaczy zapisu.
Przykład budowy małej, klasycznej pamięci statycznej CMOS RAM typu
CY7C 148 (I K x 4) (firmy Cypress Semiconductor) pokazano na rys. 8.46a.
Matryca pamięciowa zawiera 4096 komórek w strukturze 64 wierszy i 64
kolumn. Adresowanie czterobitowego słowa pamięci jest wykonywane przez
dwa dekodery dziesięciobitowego adresu A, przy czym do wyboru jednego z 64
wierszy służy dekoder wiersza, a do wyboru jednej czwórki z 64 kolumn służy
dekoder ko lumn. Przy zapisie czterobitową informację wejściową D należy
454
8.4. BLOKI PA MIĘCI OWE
o
X/Y
OgO- (81N/"10F64'J
Os O -
o,o-
.
Oo O 0-A o, 0--
pomtęciowa
.
64 włefsze
o,
030-
d1
64kolumny
BIN/'10P16"1
"'0--
~N
O/Y
do /vo
J
o, o ooo--
1p
,
C> 17
fy,
d,/y,
Molryco
64 .
łf64
~N
_...
Uk tody we/wy _...
do kolumn
~
d3/ 'tJ
-......
<>v
...~
-~-
. . ._ & Jzopisz twrite-l
rl-J>
.
~
~
Odczytaj (reodl
~
b
c
o'
5
6
RAM1k•4
A,
As
7
4
3
?A 10~4
2
1
17
••A3
16
••A,
Ao
A1
A2
14
GNO
15
13
12
A1
I/Oo
1/0,
1/02
11
vo,
10
Wf
9.
1n
Li:,
C11READI
C2 IWR ITE]
„
8
EN
,
r
,20
1L
O/Y
Ucc
es
16
15
13
18
17
l._r;7A.1
L._
Rys. 8.46. Pamięć statyczna CMOS typu
CY7Cl 48 (Cypress Semit-011d11ctor)
L._
;:i) bOOowa logi1.-l.na,
b)$ymbol &r::afici11y IEC.
12
11
c) ()1.nac1enia ko1'1cówt k ukladu
t.._
8. CYFROWE BLOKI FUNKCJONALNE
wprowadzić do jednej czwórki
kolumn, co odpowiada użyciu czterech demultiplekserów „I na 16". Przy odczycie informację z jednej czwórki kolumn należy
wyprowadzić na wyj ście Y, co reprezentuje funkcję czterech multiplekserów „16
na I". Układ ma czterobitowe wejścia i wyjścia danych na wspólnych końców­
kach. Wybór wejść i wyjść jest związany z operacją zapisu lub odczytu. Jest to
wykonywane przez podanie odpowiedniego sygnału na wej ście WE (l#ite
Enable), gdzie kreska negacji oznacza aktywny poziom L. Wyjścia danych są
t rójstanowe, co umożliwia ich łączenie równoległe z wyjściami innych podobnych układów na wspólnej magistrali. W tym celu wykorzystuje się wejście
selekcjonujące CS (Chip Select), które przy CS= L powoduje uaktywnienie
układu i odblokowanie wejść lub wyjść danych. Przy CS = H układ przechodzi
w stan obniżonej mocy poprzez wylączenie zasi lania dekoderów. Oznacza to
istotną oszczędność: moc strat w stanie aktywnym wynosi 440 mW, natomiast
w stanie obniżonej mocy tylko 82.5 mW. Symbol IEC układu CY7Cl48
pokazano na rys. 8.46b.
Wlaściwości dynamiczne układów pamięci półprzewodnikowych są
określane przez zespól parametrów czasowych (dynamicznych), które ilustrują
zachowanie się tych układów podczas sterowania. Definicje tych parametrów
są zazwyczaj podawane w postaci odpowiednich wykresów czasowych.
Przykład określenia parametrów dynamicznych układu CY7C 148 pokazano na rys. 8.47. Najistotniejszym z nich jest czas dostępu, ogólnie definiowany
jako maksymalny czas między momentem ustalenia się określonego, stabilnego
stanu wejść adresowych lub sterujących, a momentem ustabilizowania się stanu
wyjść danych (przy odczycie) lub stanu wejść danych (przy zapisie). Do oceny
szybkości działania układów pamięciowych najczęściej jest stosowany czas
dostępu od wejść adresowych (1,y). mierzony przy operacji odczytu (WE= H,
CS= L) od momentu ustalenia stanu wejść adresowych do momentu ustalenia
stanu wyjść danych, czyli gdy dane wyj ściowe są „ważne" i gotowe do dalszego
wykorzystania.
Uklady pamięciowe określonego typu są zazwyczaj segregowane na
podtypy, zależn ie od maksymalnej wartości czasu t.AA· Na przyk ład, układy
CY7C!48 są selekcjonowane na trzy grupy o maksymalnych czasach dostępu
równych 25, 35 i 45 ns. Na rysunku 8.47 podano w nawiasach okrągłych
odpowiednie liczby dla pamięci najszybszych (CY7Cl48-25).
Czasy dostępu definiuje się także w odniesieniu do innych wejść niż
adresowe, a więc odnośnie zmiany sygnału CS lub WE.
Do parametrów dynamicznych za licza się także czasy cyklu. Ogólnie, czas
cyklu jest deliniowany jako minimalny czas wykonywania operacji odczytu lub
zapisu, po którym może nastąpić kolejna operacja. Wyróżnia się czas cyklu
odczytu tRc oraz czas cyklu zapisu Lwc·
Charakterystyczne dla pamięci sta tycznych jest to, że ich czas dostępu od
wejść adresowych t AA jes1 równy czasowi cyk lu t Re· Odwrotność c-asu cyklu
456
8.4, BLOKI PAMIĘCI OWE
a
Poprzedni
adres
'
Adres
IRC
~ ~
IoDane
b
.'
Adres stabilny
'oHlOJ ~-=4
Paprzedrie dane
wyj ściowe
(25)
251
~vv
~
Ważne
dane
I . - - - - - - - - - - twe (25) - - - - - - - - - !
Adres
' - - - - - - - - •cwl201 - - - - - - - i
es
Dane
wejściowe
,.....,...j,~
.:..::.~~µ....._ _ _ _ __
r-'7777?7°*"7.,..,.,~
_ _ _ __ _ __..4"'"-""-"-'~'"'""~
- - - - ------../f'4---====--I---'
lwzl8J-i
towlOJ-l
- - - - - - - - - - - - ' - -- - , )wysoko impedancjo 1(----w~jśeciowe
Oone nieokreślone
..
.,
o
Rys. 8.47. Definicje d ynamicznych parametrów
CY7Cl48 (Cypress Semiconductor)
pamięci
s tatycznych RAM na
przykładzie układu
a) odczyt. b) zapis
(1/ tRcl stanowi szybkość pracy pamięci i wyraża się w megahercach (MHz).
Istotnym parametrem układu pamięci jest moc strat. Podaje się ją
globalnie dla danego układu lub w przeliczeniu na bit (do celów porównawczych). Na przykład maksymalna moc st rat układu CY7Cl48 wynosi 440 mW,
czyli 107 11W/bit.
M inimalizację mocy strat pamięci można uzyskać wieloma sposobami.
Jednym z pierwszych stosowanych sposobów było wprowadzanie układu
pamięci w opisany wyżej stan spoczynkowy (obniżonej mocy strat, ang. power
down, standby) w czasie gdy stan wejścia zezwalającego CS jest nieaktywny.
Polega to na odcięciu lub ograniczeniu zasilania do bloków peryferyjnych
matrycy pamięciowej (dekodery, wzmacniacze odczytu i zapisu) i ograniczeniu
zasilania samej matrycy, tak aby przez przewodzące tranzystory komórek płynął
tylko minimalny prąd podtrzymujący zawartość informacyjną. W nowszych
pamięciach, aby zmniejszyć moc strat i skrócić czas dostępu od wejść adresowych, stosuje się specjalny układ detektora zmian stanu wejść adresowych (ATD
-Address 1Tansition Detector). Po wykryciu takiej zmiany układ ATD powoduje
przejście pamięci ze stanu spoczynkowego w stan aktywny na czas nieco większy
od czasu trwania operacji odczytu (który generalnie jest dłuższy lub równy
457
8. CYFROWE BLOKI FUNKCJONALNE
czasowi operacji zapisu), po czym układ znowu powraca do stanu spoczynkowego. W dużych pamięciach matryca pamięciowa jest dzielona na sekcje (np.
matrycę IM dziel.i się na 16 lub 32 sekcje) przy użyciu podziału linii słowa, tak że
w stanie aktywnym pamięci jest dostępna tylko jedna, wybrana adresem sekcja,
natomiast pozostałe są w stanie spoczynkowym, łącznie z ich układami
towarzyszącymi. Przy podziale na 16 sekcji, np. 64 kolumny x 1024 wiersze
każda, linia słowa każdej sekcji steruje tylko 64 komórkami. Umożliwia to także
znaczne skrócenie czasu dostępu w rezultacie zmniejszenia obcią:i.enia linii
pojemnościami pasożytniczymi.
Duże pam ięci S-RAM wymagają relatywnie dużej powierzchni kostki
krzemowej (ok. I cm 2). Aby wyeliminować pojedyncze defekty i zwiększyć uzysk
produkcyjny, producenci wprowadzają na kostkę dodatkowe, redundancyjne
komórki (np. 8 zapasowych wierszy łub I zapasowy wiersz i I kolumna w każdej
sekcji). Podczas testowania runkcjonałnego układu, w przypadku wykrycia
pojedynczego derektu odcina się promieniem laserowym wadliwy wiersz (kolumnę) i na to miejsce przyłącza się zapasowy wiersz (kolumnę). Innym sposobem
korekcji błędów jest zastosowanie dodatkowych układów detekcji i korekcji
błędów, przy wykorzystaniu odpowiednich kodów kontrolnych. W celu skrócenia czasu testowania pamięci są wprowadzane także układy ułatwiające
testowanie i nawet układy automaty<--znego testowania.
Pamięci
dynamiczne ( O- RAM)
8 .4 .1.2
W przeliczeniu na jeden bit informacji najmniejszą powierzchnię kostki krze-
mowej, najmniejszą moc strat i najmniejszy koszt zapewniają pamięci dynamiczne. Projektowanie i wytwarzanie pamięci dynamicznych MOS RAM
stanowi wiodącą w świecie dziedzinę mikroelektroniki. Dlatego też niektóre
charakterystyczne problemy budowy tych pamięci zostaną omówione nieco
szerzej.
Komórka pamięci dynamicznej zawiera tylko dwa elementy: tranzystor
MOS i mikrokondensator, jak pokazano na rys. 8.48a. Pojemność C, tego
mikrokondensatora, o typowej wartości ok. 50 fF (50 x 10- lS F), stanowi
w istocie sumę dwóch składowych: pojemności c. kondensatora MOS i pojemności złączowej C; między źródłem t ranzystora i podłożem (zazwyczaj
C0 = (5.;- 10) C;). T ranzystor MOS stanowi przełącznik łączący lub odłączający
kondensator C, od I.inii bitu, zależnie od stanu napięcia na bramce, czyli linii
słowa. Pamiętanie bitu informacji wynika z dwóch stanów ładunku zmagazynowanego w kondensatorze C,: stanu neutralnego i stanu naładowania. Stany te
umownie repreuntują stany dwójkowe odpowiednio Oi I. O ile stan Ojest stanem
trwałym w czasie, o tyle stan ł jest stanem nietrwałym, gdyż kondensator C, ulega
stopniowemu rozładowaniu wskutek nieuniknionych upływności. Aby nie
dopuścić do rozladowania kondensatora i tym samym do przejścia stanu I w stan
458
8.4. BLOKI PAM IĘCIOWE
O, ładunek istniejący w kondensatorze w stanie 1 musi być co jakiś czas
(zazwyczaj co kilka milisekund) regenerowany w procesie zwanym odświeżaniem.
Z tego właśnie względu komórkę taką określa się jako dynamiczną. Tak samo
nazywa się pamięć wykorzystującą takie komórki.
Istnieje wiele odmian budowy komórek dynamicznych. Najprostszą
z nich (rys. 8.48) opisał odkrywca koncepcji komórek dynamicznych R. Dennard
w 1968 r. W komórce tej są zastosowane metalowe elektrody bramki i górnej
ok ładki kondensatora c•. Drugą okładkę stanowi część domieszkowanego
obszaru n+, umieszczona bezpośrednio pod okładką zewnętrzną i scalona
z obszarem n+ źródła tranzystora. Stan trwały (0) jest reprezentowany przez
paczkę elektronów normalnie obecną w obszarze domieszkowanym donorowe
(typu n). Natomiast stan nietrwały (1) otrzymuje się przez usunięcie ich
odpowiednio dużej liczby poprzez tranzystor T. Napięcie U00 w tej komórce jest
zazwyczaj równe zeru, czyli górna okładka kondensatora jest połączona z masą.
Wtedy nietrwały stan l komórki, odpowiadający wysokiemu poziomowi H na
a
;
-
linio
I
~
1 '-'Do zewnętrznej)
G
c,
I ;DT
s
b
0
tar
}
C; C,
rllsslNapięcie podtoio)
'
l inio bitu
D
s.łOWO
, ; fN-opoęcie okłodk>
k
f"',,.okladko
am 0 ~ zewnętrzna C0
Ok lodka
wewnętrzna
Co
Pod toże p
R ys. 8.48
Dynamiczna komórka
pamięciowa
Podłoże p
459
a) skład clek1ryc:l.ny,
b) struktura Dcnnarda,
cl struktura K os.onocł:y'cgo
8. CYFROWE 8 LOKI FUNKCJONALNE
okładce zespolonej ze źródłem tranzystora, jest równoważny z naladowa11iem
kondensatora.
W komórce Kosonocky'ego (rys. 8.48c) dolną okładkę kondensatora
MOS stanowi warstwa inwersyjna. Jest ona tworzona przez przyłączenie górnej
okładki do odpowiednio dużego napięcia dodatniego U 00, tzn. o wartości
większej od napięcia progowego inwersji. W tej komórce stan nietrwały (ł= H)
odpowiada zmniejsze11iu napięcia na kondensatorze, czyli zmniejszeniu jego
ładunku .
Na rysunku 8.49 pokazano przykład struktury prostej komórki z jednym
poziomem polikrzemu i metalową linią bitu [8). Kontakt łączący linię bitu
z obszarem 11 + służy do połączenia drenów dwóch komórek (po lewej stronie
pokazanej komórki znajduje się druga, której przekrój jest zwierciadlanym
odbiciem pierwszej). Struktura ta jest stosowana w pamięciach O-RAM o pojemności 4 + 64 Kb.
Charakterystycznym zjawiskiem dla pamięci O-RAM jest występowanie
przejściowych, „miękkich" błędów (soft. errors), powodowanych przez rozpad
cząsteczek ix. Błędy te mają charakter losowy i mogą bardzo rzadko występować
w zupełnie dobrze działających komórkach.
Cząsteczki IX są emitowane w wyniku rozpadu radioaktywnego uranu
i toru, których śladowe ilości znajdują się w typowo stosowanych materiałach
obudów. Miękki błąd może powstać, gdy trajektoria przypadkowej cząsteczk i
przecina strukturę kondensatora komórki w stanie I. Przy przelocie przez
podłoże cząsteczki tworzą pary nośników elektron- dziura. W komórce Kosonocky'ego elektrony te są zbierane w obszarze zubożenia (dolna okładka kondensatora w stanie I), co zwiększa napięcie kondensatora i może doprowadzić do
zmiany stanu komórki z ł na O.
W celu zmniejszenia powierzchni kostki krzemowej w układach pamię­
ciowych o bardzo dużej pojemności (powyżej 4 Mb) generalnie stosuje się
technologię o wymiarze charak terystycznym poniżej 0.7 µm. Również zamiast
klasycznych kondensatorów pltmarnych stosuje się kondensatory wglęb11e, przez
wytrawienie odpowiednio głębokich dołków (rowków) i wykorzystanie ich
boków na okładki kondensatora.
Istnieją dwie zasadnicze odmiany tych kondensatorów. W pierwszej
z nich okładka kondenstora, która jest połączona z drenem tranzystora komórki,
jest utworzona na zewnątrz dołka, natomiast druga okładka jest umieszc-.wna
wewnątrz. Odpowiada to „zwinięci u w głąb" planarnego kondensatora sta;idardowej komórk i, tak że jego okładka górna staje się okładką wewnętrzną,
a okładka dolna okładką zewnątrzną. Przykład realizacji takiej komórki,
zastosowanej w konstrukcji pamięci o pojemności 4 Mb, pokazano na rys. 8.50
[9]. Można ją nazwać komórką rowkową (tre11ch cell). W podanym przykładzie
komórki pamięciowe są umieszczane w płytk iej jamie p w celu zmniejszenia
częstości „mięk kich" błędów, wywołanych c-.i;ąsteczk ami IX.
460
8.4. BLOKI
PAM I ĘCIOWE
Metalowo hnio bitu
o
n•
Vlorstwo
lnw~ rSyJn O
Dren
Podłoże
p
b
~---
- ---
'
--- --- w
wa -~ - - - .
1...-- --t-i
r-
'
------ _J
,.... - - -- - - -
I
'
-----Por1krzemowo
linio srowa
'
I
-1. _ -
linio bitu
X
I
!
----- · t-i
-
L
L
Metolowa
- -,
...J
~
1-J
Ok ła dko
polikrzemowo
Rys. 8.49. Komórka z jednym poziomem polikrzcmu i metalową
linią
bitu
a) pntkrój strukluty, b) l'>PG1ntf1.11 komOrki
Druga odmiana kondensatorów wgłębnych ma ok ładkę wewnętrzną
z tranzystorem komórki, a okładka zewnętrzna stanowi otaczające,
silnie domieszkowane podłoże p +. Przykład budowy takiej komórki, określanej
skrótem BSE (Buried-Storage-Electrode), pokazano na rys. 8.51 [10). Zasadniczymi zaletami takiej konstrukcji w stosunku do poprzedniej są:
połączoną
tylko dwa poziomy połączeń (linie słowa i bitu), gdyż zewnętrzna okładka
kondensatora jest związana z uziemionym podłożem p +, dodatkowo
zapewniając dużą odporność na zakłócenia,
znacznie zmniejszona podatność na zakłócenia przesłuchowe i przebicia
między kondensatorami blisko sąsiadujących komórek,
większa odporność
na „miękkie" błędy wywołane cząsteczkami a, co
wynika z umieszczenia aktywnej elektrody kondensatora w bardzo
małym obszarze wewnątrz dołka.
461
a. CYFROWE 61.01(1 FUNKCJONALNE
Konctensotor Linio stowo
l 1n10 bi tu
(polo-2)
(pol1krzeme1<> ( pol o- 1)
Linio słowo
\
(Al)
\
I
I
nI
I
I
I
I
I
I
I
'?
'
I
Jamo p
~
'
Podłoże p
1
1
L - - - - - - - - - ____ _ J
Rys. 8.50
Struktura komó rki rowkowej [9)
Najmniejszą powierzchnię zajmuje komórka stosowa (STC - Stacked-Capacitor Cell) (14]. W tej komórce kondensator jest 11alożo11y nad
tranzystorem i linią bitu. Przy zastosowaniu technologii 0.4 11m otrzymano
pojemność kondensatora równą ok. 25 ff i powierzchnię komórki ok. 1.7 µm 2.
W pamięciach dynamicznych RAM najtrudniejszą w realizacji operacją
jest odczyt. Należy bowiem wtedy wykryć na linii bitu niewielką zmianę napięcia,
wywołaną przyłączeniem do tej linii jednej komórki (przez aktywizację linii
słowa), przy czym stosunek pojemności pamiętającej C, do łącznej pojemności
pasożytniczej linii bitu (C 8 ) jest zazwyczaj znacznie mn iejszy od jedności.
Generalnie stosowaną zasadą przy projektowaniu wzmacniaczy odczytu jest
ustalenie najpierw na linii bitu odpowiedniego napięcia równowagi, które
następnie ulega pewnemu niewielkiemu odczyleniu (w dół lub w górę) w wyniku
przyłączenia kondensatora komórki do linii bitu.
Na rysunku 8.52a pokazano przykład budowy wzmacniacza odczytu
stosowanego w pamięciach, wytwarzanych technologią CMOS. Aby zmniejszyć
pojemność pasożytniczą linii bitu, powszechnie stosuje się podział linii bitu na
mniejsze odcinki związane z sekcjami pamięciowymi, z których tylko jedna jest
w danym czasie wybierana adresem. W pokazanym przykładzie sekcja ma dwie
części, zawierające po 128 komórek pamięciowych. Do jednego wzmacniacza
odc-qtu i wspólnych linii wejścia/wyjścia danych jest przyłączana w czasie zapisu
i odczytu tylko jedna część (sygnały kluczujące SL i SM). W każdej części, poza
462
8.4. BLOKI
PAM I ĘCI O\VE
Linio słowo
(polikrzemek)
L1n10 bitu (Al)
p
p•·-----Aktyy,•no okł ad ko
k.ondensotoro
Dielektryk:
k onc:l~otoro
Pod łoze l)"•(okfodko kondensotoro)
Rys. 8.51
Struktura komó rki BSE [ IO)
właściwymi
komórkami pamięciowym~ są zawarte także dwie ta kie same komórki referencyjne (C 0 = C,), na których ustala się napięcie referencyjne przed
odczytem. Kolumna w sekcji jest tworzona przez dwie linie bitu BL i BL, biegnące fizycznie obok siebie i określane jako składane. Zapewnia to współbieżność
sygnałów zakłócających na wejściach wzmacniacza odczytu, czyli zwiększenie
odporności na zakłócenia. W celu zmniejszenia pola elektrycznego w cienkim
dielektryku tych kondensatorów nieaktywne okładki kondensatorów komórek
są przyłączone do napięcia UP równego połowie napięcia zasilającego (U cc/2).
Przy odczycie najpierw wykonuje się ładowanie wstępne linii bitu BL i "Hr.
W tym celu włącza się tranzystory kluczujące T0 , Ti„ TR 1 i TR 2 sygnałami SL
i .PR (SM pozostaje nieaktywne) i wytwarza się sygnał <Pp, który włącz.a
tranzystory Tp 1 , Tn, Tn i powoduje ustalenie na obydwu liniach BL i "HL
napięcia UP· Jednocześnie wytwarza się sygnały DW0 i DW, , co powoduje
ustalenie się napięcia UP również na a ktywnych ok.ładkach kondensatorów CD
w komórkach referencyjnych.
Następnie
aktywizuje się wybraną dekoderem linię słowa, np. WL 1, oraz
linię DW0 , związaną z komórką referencyj ną drugiej linii bitu. Przy odczycie
stanu I ilustruje to rys. 8.52b, a przy odczycie stanu Orys. 8.52c. Kondensator C„
na którym było pamiętane napięcie U,- Ur = - U cc/2 lub U cc/2, czyli umowny
stan 1 lub O, zostaje przyłączony do linii bitu BL. Ponieważ pojemność C,
kondensatora pamiętającego jest znacznie mniejsza od pojemności pasożytniczej
C8 na linii BL, więc zmiana napięcia na tej linii jest bardzo mała
!l U =(U. -
up)/(I + CB/ C,)
i w praktyce wynosi ok. 200 mV. Ta niewielka różnica napięć na liniach BL i BL
podlega wzmocnieniu we wzmacniaczu odczytu (tranzystory n-kanałowe T, 1
463
8.. CYFROWE 8 1.01(1 FUNKCJONALNE
~~ ~.o-j4"
o
SL
b
\lo\.1 ,
refereneyjnyc;.h
wzmocniocz 'l/imocniOez
odczytu
odno'wla,q;y
Linie
Lldoo
We/WY
łodowonio
wstępnegO
c
0Wc
""-,O
u,,.--~-- ---
,-------·
Zdegenerowany l
$10ń
SM
13, '---'
Rlro k!lmórek
pom!ęciow'(Ch
i'
lll
-' L
1l8 komórek
:'
04iwieienit
1
!.kinu t
U
Lini e
" ei B
o
I
I
I
I
l.,
't cdC)w(Jl'fe
li
lwstfphe
I
I
1
.....,odc.zytu
I
I Wykrywani e
1 s~onu 1
I
'
'„
I
l~ytu
1 $tonu 1
1
I
: 'NykfyW(Jl"lie
I
I
L.-==--
:
l.... ....
"Himocnit~ '„ ~
wirnoenie,;it-, Regenerocjo
'
i
' ... ,
stonu O
:
stCl:l"'lu 0
1
1
Rys. 8.52. Przykład sekcji pamięci CMOS DRAM zawierającej 256 komó rek pamięciowyc h,
dzielonej na dwie połowy wykorzystujące wspólny wzmacniacz odczytu
a) sichcmat. b) odczyt mnu I. c) odayt $t~nu O
i T,2 ) po przyłączeniu masy narastającym zboczem sygnału <1>5 . Poziom wysoki na
jednej z linii BL i BL (oraz poziom niski na drugiej) ustala się po włączeniu
wzmacniacza odnawiającego (tranzystory p-kanałowe T1u i TR 2) opadającym
zboczem sygnału <PR• który przyłącza napięcie zasilające Ucc do tego wzmacniacza. Ustalony w tym statycznym przerzutniku SR bit informacji zostaje
przesłany w postaci dwu komplementarnych poziomów napięcia na linie We/Wy
przez tranzystory przełączające 1Y1 i m. sterowane przez dekoder kolumn
sygnałem <I>„ Odczytany stan komórki jest ustalany ponownie w tej komórce,
czyli następuje odświeżenie jej zawartości. Sygnały WL i DW, sterujące dostępem
464
8.4. BLOKI
PAM l ~CIOWE
IWEI
I
~----.i
m
Buf<>< danych
J-
Generator
zegomwy2
wejściowych
~
A 2----t
Wejścia ~!:::.~
.
0dr'esowe AS- - - l
A&- --l
A7 - -"i
A6 - -"i
Bvf0< danych 1 - --'
wyjściowycłl
.
r - - --"1 odritSu
Ukłod sterujQ-..
n
kolumn
'--~-~-'
1
r~lli!.!..=
01c-lcy odświeio - 14-
I . niemilicznik
~-.,,, Bufory
IOEI
O.koder
1~
koC~um~n~1~
10~1~n----"""i
;:
I
I
I
ł
BufO<y
Aa-A1- - - - t
000-0031
:4
1-'--'--"I
adresu
A9 ---t_~-:::-:::-:::::::-i
;t..:w:;~•r~
sm~
(1~0l_J
Wzmocniocze
odczytu
uk<ody l/O
1-----·
-
1024 • 4
f
RAS
- - - - --t
~nttotor :.___
zegarowy 1
Generator
no pięcia
poloryzujqcego
Rys. 8.53. Schemat blokowy pamięci O-RAM I M x 4 typu MCM54400A (Motorola)
do komórek pamiętających, muszą mieć amplitudę większą od sumy Ucc
i napięcia progowego Ur tranzystorów w komórkach, aby przy odświeżaniu
i zapisie poziomu wysokiego można było przenosić przez te tranzystory napięcie
Uce· Dlatego sygnaly te są wytwa rzane na kostce przy użyciu podciąga11ia
pojemnofriowego (bootstrapping).
Jako przykład budowy pamięci O- RAM, rysunek 8.53 przedstawia
schemat bloko wy pamięci MCM54400A (Motorola), wykonanej w technologii
CMOS 0.7 µm, o pojemności I M x 4 czyli cztery megabity [ 11). Wejścia
i wyjścia 4-bitowycb danych są na tych samych końcówkach DQO-DQ3.
Wejścia sterujące są dwa: W- wejście zezwolenia zapisu (symbol równoważny
do WE) oraz G - wejście sterujące wyjściowe bufory trójstanowe (symbol
równoważny do OE). Matryca pamięciowa podzielona jest na cztery sekcje
l024 x 1024. Pełny adres dla 1 M słów (dokładnie 1048576 = 2 20, p. tabl.
2.2) wymaga 20 bitów.
Aby zmniejszyć rozmiary i liczbę końcówek obudowy, w pamięciach
dynamicznych powszechnie stosuje się zasadę 11111/tipleksowania adresu. Polega
ona na tym, że ad res jest wprowadzany na dwukrotnie m niejszą liczbę końcówek
adresowych (w tym przypadku 10) w dwóch kolejnych fazach, synchronizowanych przez sygnały zegarowe odpowiednio RAS i CAS.
465
8. CYFROWE BlOICI FUNKCJONALNE
o
... ----- .....
"~~-----·
___
__
i---- --•cs•- -,.,..
- --....,__..,
~- 'e.<s--~
,---'--'--.1-- -- -- - - -
DOD · OO>"°" - - - - - - ...,._, ---+---~
Uoi. (W)soka - r q a l
b
IUS
U111 - - - -- ; .
~------ ' ""' - - - - - - - l 1
u, -
en u„ Ull -
Ad,.. U„ -
1 AAH
"7''7'>7\~;:;:=--.l_
u.-D.C>f.:;t'~~!...Jf\l.V\;-.1!2!!!!:!!!-.Y'ID.D.J.~~l.Cl(.J.Ol.JL~ICID.J.Ol.JLY\
'os~
000 • 003 Vou - - - -U0t. -
·'0tt-j
yl\,__ _ __ _ __
- - - - - Wolne
Wl!l<IC'Weclone
Rys. 8.)4. Przebiegi czasowe w
-
Hl(lH- l - - - - -
pamięci MCM54400A (Mororola)
Ił)~'"' odcl:,1u. b) cykl zapisu. c) odct'ył kol~ny..-h d11nych
to1>
'.t)łll 1m trybie stronicov1")'m iF~t P"llł' ,\todi:
ł PAIJ
Podstawowe operacje na pamięci O-RAM 10 odczyt, zapis i odświe:a11ie.
Ka.7.da z nich jest wykonywana w ctasie odpowiedniego cyk/11. Przebieg cyklu
odczytu w najprosiszym trybie swobod11y111 (ra11dom) pokazano na rys. 8.54a:
466
8 ..ł. &LOK.I
OOO· DO>Uoot - -
-
PAMIĘCłOWE
-
-
-
-
-<I
UOl -
najpierw na wejścia adresowe A0-A9 wprowadza się połowi;! adresu, czyli
IO bitów, które muszą się ustabilizować w czasie 1.tSR;
następnie opadające zbocze sygnału RAS (Row Address Sirobe) wpisuje
połowę adresu do rejestru adresowego wierszy i aktywizuje wzmacniacze
odczytu: jeden z 1024 wierszy w każdej sekcji matrycy zostaje wybrany
i wszystkie 1024 bity z tego wiersza zostają odczytane przez 1024
wzmacniacze odczytu; dane na wejściach adresowych muszą być jeszcze
podtrzymywane w czasie I R;1 11 ;
na wejścia adresowe wprowadzana jest druga polowa adresu, która musi
się ustabilizować w czasie I ;1s6
opadające zbocze sygnału 'C'AS (Colum11 Address St.robe) wpisuje tę
połowę adresu do rejestru adresowego kolumn; w każdej sekcji następuje
wybranie jednego z l 024 bitów i cztery wybrane w ten sposób bity są
przesyłane do bufora wyjściowego; dane na wejściach adresowych muszą
być podtrzymywane w czasie tc„ 11 ;
opadające zbocze sygnału G otwiera trójstanowy bufor wyjściowy i po
czasie tG„ na wyjściach DQO DQJ są ważne dane do wysłania z pamięci.
Do oceny szybkości działania pamięci O-RAM najczęściej stosuje się czas
dostępu IRAC (rys. 8.54a), zwany również latencją RAS. W omawianej pamięci
wynosi on 60, 70 i 80 ns (zależnie od wersji). Czas cyk/11 t Re wynosi odpowiednio
110, 130 i 150 ns. Odwrotność czasu cyklu (l/tRc) stanowi szybkość pracy pamięci
467
8. CYFROWE BLOKI FUN l(CJONALNE
i wyraża się w megahercach (MHz). Wartości pozostałych (jak widać, dość
licznych) parametrów dynamicznych pamięci są ściśle określone w danych
katalogowych jako wartości gwarantowane. Zależnie od parametru, może to być
wartość maksymalna (op. !«.<o le.tel lub minimalna (np. lius, Lc„ 5 ).
Rysunek 8.54b ilustruje przykład przebiegu cyklu zapisu. Początek jest
podobny jak przy odczycie i polega na wprowadzeniu pierwszej części adresu.
Sygnal zezwolenia zapisu Wmusi się pojawić przed aktywnym zboczem sygnału
CAS o czas twcs• i podobnie dane do zapisu muszą być obecne przed tym
zboczem o czas tos. Czas cyklu zapisu jest taki sam jak czas cyklu odczytu.
W malych pamięciach O-RAM stosowany był tryb stronicowania (page
mode). w którym adres wiersza (,,stronicy~) jest utrzymywany jako stały
(RAS = L) przy kolejnych dostępach do kolumn podczas strobowania ujemnymi
zboczami sygnałów CAS. Skraca to czas dostępu do kolejnych danych. Tryb
stronicowania jest użyteczny w takich zastosowaniach, gdy wysokie jest
prawdopodobieństwo kolejnych danych na tej samej stronie, na przykład
w zastosowaniach graficznych.
W nowoczesnych, dużych pamięciach O-RAM (również w omawianym
tutaj przykladzie) powszechnie jest stosowany tryb szybkiego s1ronicowania (fast
page mode). W tym trybie (rys. 8.54c) bufory adresowe kolumn są otwierane już
przy opadającym zboczu sygnału RAS (który pozostaje na poziomie L) i działają
jak przezroczyste zatrzaski gdy CAS = H, natomiast każde kolejne, opadające
zbocze sygnalu CAS powoduje zablokowanie tych zatrzasków. Oznacza to, że
adres kolumn w wierszu (w naszym przykładzie I 024-bitowym) może się już
ustalać podczas gdy CAS = H, nie czekając na opadające zbocze tego sygnalu.
Czas cyklu w tym trybie (t.-c)jest znacznie skrócony. W omawianym przykładzie
(rys. 8.54c) wynosi on odpowiednio 45, 45 i 50 ns.
Istotnym problemem przy stosowaniu pamięci dynamicznych jest konieczność periodycznego odświeżania ich zawartości. Polega to na kolejnym
odświeżaniu wszystkich wierszy w matrycy pamięciowej. Należy zauważyć, że
przy każdej operacji odczytu również następuje odświeżenie calcgo wybranego
adresem wiersza. Maksymalny odstęp czasowy między dwoma kolejnymi
odświeżeniami jednego wiersza stanowi cykl odświeżania TR. Olugość cyklu
odświeżania zależy od architektury pamięci oraz użytej technologii i wynosi
zazwyczaj 2 ms dla pamięci O-RAM o pojemności 16 K, 4 ms dla ukladów 256 K.
8 ms dla I M, 16 ms dla 4 M, i 32 ms dla 16 M. Odświeżanie może być realizowane
w trybie całościowym (burst), gdy wszystkie wiersze matrycy są raz odświeżane
jeden za drugim w każdym cyklu TR, lub w trybie rozlożonym (distributed), gdy
odświeżanie kolejnych wierszy jest równomiernie rozlożone w obrębie każdego
cyklu TR. Czas potrzebny na odświeżenie jednego wiersza jest równy czasowi
cyklu IRc ·
Na przykład, w omawianej pamięci 54400A-60 o czasie dostępu IR.te = 60
os, cyklu odświeżania TR = 16 ms, i cyklu odczytu tRc = 110 ns, czas potrzebny
468
8.4. BLOKI PAM IĘCIOWE
b
HOIH - - - - - - - - -- - - - -
(Wysoka impedancja)
c
u
l!AS
tł -
__...,, - - - - - •..... - - - - < L---- --1>---
u, 'COP
CISu„ -
u, -
'ASA
Ważne
dane: '«yjśd ow e
Rys. 8.55. Przebiegi czasowe przy operacji odświeżania w pamięci dynamicznej RAM na przykładzie
MCM54400A (Motorola)
a) cytl od.Swiciania metodą o·tk~ iUS Cs.tany na \\'Cjkłach Wi G5' oboXcnc.>.
układu
ra
b)<:ykl odiwiciania mccodą
pn:cd RA S ~any
<:)cykl odłwieiłnia mcCodą ukrptq po odcef(ic
469
rui
wejściach Wi A() - A9 q oboję1ne),
8. CYFROWE BLOKI FUNKCJONALNE
na odświeżenie wszystkich I 024 wierszy (jednocześnie w czterech sekcjach
matrycy) wynosi 1024 x O.I I µs = ll3 µs, czyli ok. 0.7% cyklu TR.
Najprostsza koncepcyjnie metoda „t ylko RAS" polega na periodycznej
aktywizacji sygnału RAS przy kolejno zmienianych adresach wierszy (rys. 8.55a).
Wymaga to użycia zewnętrznego układu sterującego wraz z licznikiem do
wytwarzania kolejnych adresów.
Aby ułatwić realizację procesu odświeżania, w nowoczesnych pamięciach
D-RAM (również w pamięci 54400A z rys. 8.53) umieszczony jest specjalny układ
sterujący i licznik, który umożliwia odświeżanie bez potrzeby zewnętrznej
generacji adresów. W tym celu stosuje się następujące dwie metody:
metodę CAS przed RAS oraz
metodę ukrytą.
Metoda CAS przed.RAS (rys. 8.55b) wykorzystuje
wewnętrzny
licznik
odświeżania (rys. 8.53) do wytworzenia adresu następnego wiersza do od świeżenia. Adres ten jest zwiększany o I przy każdej kolejnej sekwencji CAS przed
RAS, która powoduje aktywizację licznika. W tym celu najpierw należy
przełączyć sygnał CASz H na L przy RAS = H, a po czasie lcsR przełączyć sygnał
RAS z H na L przy W = H. Sygnał CAS musi pozostawać potem na poziomie L
przez czas lcnR·
Odświeżanie metodą ukrytą (hidden) może być wykonywane w końcu
cyklu odczytu lub zapisu (realizowanego przez sekwencję RAS - CAS) przez
utrzymanie stanu CAS = L i wytworzenie po cz.asie l RAS dodatkowego impulsu
RA S o długości tRP (rys. 8.55c). Przy odświeżaniu po odczycie dane na wyjściach
pozostają wtedy ważne z poprzedniej operacji i mogą być przesłane do innego
miejsca systemu, czyli odświeżanie przez wewnętrzny licznik następuje równolegle („w ukryciu"). Jest to w istocie odmiana metody poprzedniej, ale z ważnymi
danymi na wyjściach.
Pamięci dynamiczne o dużej pojemności, podobnie jak duże pamięci
statyczne, zajmują relatywnie dużą powierzchnię kostki krzemowej . Skutkiem
tego jest zwiększone prawdopodobieństwo niesprawnej pamięci w wyniku
jednego lub kilku defektów w strukturze. Aby wykorzystać takie niesprawne
kostki, umieszcza się na wszystkich kostkach zapasowe wiersze i kolumny (np.
w pamięci I Mb 4 wiersze i 4 kolumny, a w pamięci 4 Mb 8 wierszy i 8 kolumn). Ta
redundancja umożliwia zastąpienie uszkodzonej kolumny lub/ i wiersza przez
spalanie laserowe lub elektryczne odpowiednich polączeń na kostce. Zatem
kosztem kilkuprocentowego zwiększenia powierzchni kostki można otrzymać
znaczne zwiększenie uzysku produkcyjnego.
Moduły pamięci
O-RAM
Do typowych zastosowań komputerowych pamięci D-RAM są umieszczane
w specjalnych modułach o postaci malych płytek drukowanych, które umieszcza
się w odpowiednich gniazdach na płytach glównych komputerów. Wszystkie
470
8,•. BLOKI
PAMIĘCIOWE
układy pamięciowe modułu są
adresowane równolegle, natomiast długość słowa
danych modułu jest iloczynem liczby układów razy długość słowa pojedynczego
układu.
Często stosowanym modułem jest 72-stykowy moduł SIMM (Single-ln.fine J\1emory Module). Przykład takiego modułu MCM321 30 (Moiorola) o pojemności I Mx 32 bity ilustruje rys. 8.56. Zawiera on osiem wcześniej omówionych układów MCM54400AN w standardowych, 26-końcówkowych obudowach SOJ, oraz osiem kondensatorów blokujących o pojemności 0.22 pF,
umieszczonych po jednym pod każdym układem pamięciowym. Moc strat modułu MCM32l30-60 (o czasie dostępu 60 os) wynosi w stanic aktywnym 5.28 W.
Struktura logiczna modułu jest pokazana na rys. 8.56d. Do automa tycznego wykrycia obecności zainstalowanego modułu i jego czasu dostępu służą
styki wykrywające (Presence Detect) PDl - PD4 (rys. 8.56e). Scalony sterownik
pamięci, zawarty zazwyczaj w zestawie specjalizowanych układów scalonych
(chipset) na płycie głównej komputera, odczytuje tę informację w celu ustalenia
optymalnego trybu sterowania pamięcią.
W modułach pamięciowych stosuje się od czterech do dziesięciu styków
wykrywających PD. Do wykrywania cech bardziej złożonych modułów równoległy format styków PD jest jednak niewystarczający. W takich przypadkach
stosuje się format szeregowy, wykorzystujący dodatkową pamięć EEP ROM
(typowo układ 24C02 o pojemności 256 x 8) na module. Odczyt informacji z tej
pamięci następuje na podstawie protokołu szeregowego l 2 C i pięciu styków:
SCL, SDA i trzech bitów adresowych dla ośmiu modułów.
Wykrywanie i usuwanie
błędów
Pamięci D-RAM podlegają różnego rodzaju zakłóceniom, w wyniku czego
w przechowywanych danych mogą pojawić się błędy. Mogą to być omówione
wcześniej błędy ,,miękkie", czyli przejściowe (powodowane przez cząsteczki ex) lub
błędy „twarde", czyli powstałe w wyniku trwałego uszkodzenia pamięci. W celu
ochrony pamiętanej informacji stosuje się różne metody. Jedną z nich jest
wprowadzenie na kostkach pamięciowych dodatkowych układów do wykrywania błędów pojedynczych, przez zastosowan ie kodu parzystości. Inna polega na
wprowadzeniu układów do wykrywania i korekcji błędów, na podstawie kodu
Hamminga lub kodu parzystości blokowej (p. 2.4). Jednak koszt takich
usprawnień jest na tyle duży, że w praktyce jest rzadko spotykany. Zazwyczaj
ochrona danych przed błędami realizowana jest na poziomie mod ulów pamięcio·
wych przez odpowiedni sterownik pamięci (np. sterownik w układzie 82439HX,
wchodzący w skład zestawu (chipset) firmy Jn1el dla komputerów Pentium).
Sterownik taki może być zaprogramowany (przez procedurę startową BIOS
w komputerach PC) do stosowania określonej metody, pod warunkiem, że został
użyty odpowiedni modul pamięciowy.
471
8. cYFROWE BLOKI FUNKCJONALNE
o
c
Styl<
Nazwo
Styk
Nazwa
Styl<
Nazwa
Styk
Nazwa
Styt<
I
u„
13
A1
25
0022
37
NC
A2
26
27
007
38
NC
0023
39
u„
A7
40
.,
CASO
NC
Ucc
2
ooo
14
3
0016
15
A3
4
16
17
18
M
5
8
001
0017
002
7
0018
19
8
9
003
0019
20
21
NC
004
IO
Ucc
22
11
NC
12
NJ
A5
A6
28
29
30
Nazw•
Styk
Nazwa
49
008
61
0013
50
51
0024
62
83
0030
0014
52
53
•2
CAS3
54
0025
0010
0026
64
CASZ
0031
0015
NC
CAS1
RASO
NC
55
56
57
0011
0027
87
NC
58
31
A6
A9
0020
005
32
33
34
RAS2
43
44
45
46
23
0021
~
NC
•7
w
24
008
36
NC
48
NC
NC
009
65
66
POI
P02
P03
0012
0028
88
69
70
P04
59
Ucc
11
NC
80
0029
n
Uss
pamięć
O-RAM
Rys. 8.56. Moduł pamięciowy SIMM MCM32130 (Motorola) 7.awierający
o pojemności I M x 32 bity
a) widok uwnłHtny, b) oum«a.cja k ołlcbwc:k (widok 2 góry), c) oznaczenia kor\c.\111--ek, d) ,slruktuna loticina, e) rio:i:iomy logiczoc na
koi11;ów••eh •łut~yc,:b do automacyc-111cjtC> wy• rywania c:z.a.w d~lłf>U uiytyth ukladów
472
8.4. BLOKI
PAMIĘCIOW E
d
CAS
MS
~G
I
~
w
U2
w
U3
w
I
w
G
w
006
009
0010
0011
l/01
0012
l/02
l/03
AO-A9 l/04
0013
0014
0015
0016
l/02
0017
l/03
AfJ-A9 l/04
0018
0019
w
l
~
~
G
U7
w
l/02
l/03
I
U6
~
G
l/01
Nl-A9 l/04
I
CAS
~
l/01
l/02
l/03
AO - A9 l/04
us
~
-r
007
I
m
..,r;--
006
ł/04
I
U4
RAS
G
004
005
l/01
~
~
ł/01
l/02
l/03
I
I
G
003
I
l:AS
l:AS
-r
002
AfJ-A9
I
m
l/03
NJ - A9 l/04
U1
RAS
RAS
G
001
'
m
*
ooo
l/02
UO
w
<!
l/01
l/01
002
l/03
NJ-A9 004
I
001
l/02
003
NJ-A9 l/04
0024
0025
0026
0027
0028
0029
~
0031
I
I
NJU~ =----------------1r------- -1uo-u1
w
A9
0.22 µF (MIN)
Uss-~~~~~~~~~~~~~-+-~~~~~~--
e
SM
60ns
70 "'
PD1
P02
u„
u„
P03
NC
u„
u„
u„
P04
NC
NC
473
8. CYFROWE BLOKI FUNKCJONALNE
Najczęściej stosowane 32-bitowe moduły pamięciowe nie są dostosowane
do jakiej kolwiek ochrony przed błędami. Aby umożliwić najprostsze wykrywanie pojedynczego błędu w każdym bajcie, należy wprowadzić jeden
dodatkowy bit parzystości dla każdego bajtu na module. Takie moduły mają
zatem format 36-bitowy. Mogą one być stosowane w komputerach nie dostosowanych do kontroli parzystości (dziewiąty bit jest wtedy ignorowany), ale
nie odwrotnie.
Testowanie parzystości realizowane jest przez sterownik pamięci. Układ
82439HX generuje podczas zapisu jeden bit parzystości dla każdego bajtu
w 64-bitowym formacie danych, co wymaga użycia przynajmniej jednej pary
modułów 36-bitowych SIMM lub jednego modułu 72-bitowego DIMM. Sprawdzanie następuje podczas odczytu.
Lepszą ochronę danych zapewnia użycie metody ECC (Error Checking
and Correcting). W najprostszym, typowym przypadku stosowany jest kod
Hamminga, który dla 64 bitów danych wymaga dodania 7 bitów kontrolnych
(p. 2.4), czyli w praktyce jednego bajtu (razem 72 bity). W ten sposób
można osiągnąć wykrycie i skorygowanie pojedynczych błędów oraz wykrycie
błędów podwójnych w słowie 72-bitowym. Sterownik pamięci generuje bajt
kon trolny przy zapisie i testuje 72-bitowe słowo przy odczycie. Przy wykryciu
pojedynczego błędu jest on automatycznie korygowany, lecz zawartość pamięci
pozostaje bez zmiany. Użycie metody ECC wymaga zastosowania odpowiedniego sterownika pamięci (układ 82439HX ma taką opcję, lecz wymagany
jest również odpowiedni BIOS) oraz specjalnych modułów, np. 36- lub 72-bitowych ECC, o innym rozkładzie styków. Moduły SIMM 36-bitowe (72-stykowe) ECC mają w celu ich rozpoznania przez system styk (48) połączony
z masą. Stosowane są również 40-bitowe (72-stykowe) moduły SIMM ECC,
w których cztery bajty reprezentują dane i jeden bajt zawiera bity kontrolne.
Zabezpieczenie przed błędami wymaga użycia kosztowniejszych modułów pamięciowych, a ponadto spowalnia pracę komputera, który musi mieć
dodatkowy czas na generowanie i testowanie dodatkowych bajtów kontrolnych.
Ponieważ nowoczesne układy pamięciowe mają bardzo niską stopę błędów
przejściowych i wysoką niezawodność, więc dla większości zastosowań nie
opłaca się wprowadzać dodatkowej ochrony przed błędami pamięci. Och ronę
taką wprowadza się w komputerach do zastosowań profesjonalnych, na
przykład w serwerach sieciowych, w komputerach bankowych i w systemach
wojskowych.
Ulepszone odmiany pamięci O-RAM
Układy pamięci
są
masowo stosowane w komputerach, do tworzenia
bloków pamięci głównej i w specjalizowanych kartach graficznych. Ich udział
w światowym rynku scalonych układów pamięciowych sięga 70% [12). Przy tak
474
O-RAM
8.4 .1.3
8.4. BLOKI
PAM I ĘCIOWE
masowym zapotrzebowaniu olbrzymi wysiłek technologiczny jest kierowany na
uzyskanie maksymalnej szybkości pamięci O-RAM przy ich minimalnym
koszcie i mocy strat w przeliczeniu na bit.
Najszybszymi pamięciami są pamięci statyczne (S-RAM), w których
pojedynczą komórkę pamięciową stanowi jeden przerzutnik SR (p. 8.4.1.1).
Komórka pamięci D- RAM jest jednak znacznie mniejsza, gdyż zawiera tylko
jeden tranzystor i jeden mikrokondensator (p. 8.4.1.2). Wynika stąd znacznie
niższy koszt pamięci dynamicznej w porównaniu z kosztem pamięci statycznej
o tej samej pojemności. Ponadto maksymalna pojemność pamięci dynamicznych
jest przy danym poziomie technologicznym około czterokrotnie większa niż
pamięci statycznych. Dlatego pamięci O-RAM nie mają praktycznie innej
alternatywy w typowych zastosowaniach komputerowych, mimo mniejszej
szybkości działania niż pamięci S-RAM.
Główne ograniczenia szybkości układów O-RAM są następujące:
odc-Lyt stanu kondensatora w komórce O-RAM jest destrukcyjny, co
wymaga czasu na powtórny zapis z odświeżeniem po odczycie,
potrzebny jest czas na proces ładowania wstępnego linii bitu (p. rys. 8.52),
adres w pamięciach D-RAM jest ustalany w czasie kolejno w dwu etapach
przy typowym multipleksowaniu adresu,
niezbędne, periodyczne odświeżanie zawartości całej matrycy pamięcio­
wej wymaga pewnego czasu.
Zwiększenie szybkości pamięci O-RAM jest tym bardziej istotne, że od
początku lat 90-tych szybkość nowych mikroprocesorów wzrasta znacznie
szybciej (rys. 8.57). Większą szybkość pamięci dynamicznych osiąga się przez
ulepszanie trybu dostępu do danych w klasycznych pamięci asynchronicznych
O-RAM oraz przez opracowanie nowych pamięci synchronicznych SD-RAM.
Większość układów pamięciowych, stosowanych w latach 1996, 1997
stanowiły asynchroniczne układy O-RAM pracujące w trybie swobodnego
dostępu RANDOM (p. rys. 8.54ab) oraz szybkim trybie stronicowym FAST
PAGE (FP - p. rys. 8.54c). Dalsze ulepszenia szybkiego trybu stronicowego
w pamięciach asynchronicznych (rys. 8.58) uzyskano w układach o skrótowych
nazwach angielskich
EDO (Extended Data Out),
BURST EDO (BEDO),
PIPELINE BURST EDO (PBEDO).
Następną generację pamięci O-RAM stanowią pamięci synchroniczne SD-RAM,
o dostępie synchronizowanym zegarem systemowym. Specyficzną odmianę
szybkich pamięci synchronicznych, pracujących równolegle na IO-bitowej
magistrali, stanowią pamięci Rambus, stosowane głównie w urządzeniach
graficznych. Budowa i protokoły transmisji bardzo szybkich bloków pamięcio­
wych zostały także ujęte w amerykańskich normach IEE 1596.4 (RamLink)
i 1596.7 (SyncLink).
475
8. CYFROWE BLOKI FUNKCJONALNE
400
3SO
i
300
-
J
-
- PROCESORY
250
- - 0 - SD· RAM
200
-
+-- FP/EDO O· RAM
100
-
.Qo--
150
O· RAM
50
oi
o;
!!!
N
~
,.,
"'
!!!
„
~
§?
g
~ ~
N
I.oto
szybkości działania
Ry:1. 8.Jl. Poró wnanie wzrostu
różnych
mikroprocesorów i
pami~
dynamicznych
rypów ( 12]
70
PlPEllNE 8URST EDO
(PBEOOI
60
BURST EDO !Bl:OOI
FAST PAGE (FP)
10
RANDOM
Odnwony po!Nęci o•~~ O·RAM
Rys. 8.J8 Szybkość różnych odmian asynchroniczn)'Cb pami\'ci D· RAM (12]
Pami ęci
EDO O-RAM
Pamięci „o wydłużonym czasie danych" (Extended
Data Out), ok reślane również
jako pamięci z trybem „hiperstronicowym" (H yperpage), umożliwiają istotne
skrócenie cyklu strony lpc i jednocześnie wydłużenie czasu dostępu do danych
(stanu DANE WAŻNE) w porównaniu z pamięciami pracującymi w trybie
szybkiego stronicowania FP (por. rys. 8.54c). Niemn iej istotne jest to, że zalety te
osiągane są bez żadnych dodatkowych kosztów (ta sama powierzchnia krzemu,
te same obudowy i rozkład końcówek co w pamięciach FP). Jeśli porównać
pamięci EDO i FP o tej samej szybkości trybu stronicowego, to pamięci EDO
mają niższy koszt.
476
8.4. BLOKI
PAMI ĘC I OWE
Na rysunku 8.59 przedstawiono przykładowe przebiegi czasowe dla cykli
odczytu stronicy w pamięciach FP i EDO o tym samym czasie dostępu tRAC =
= 70 ns [13). Bufory wyjściowe w pamięci FP przyjmują stan wielkiej impedancji
w momencie kończenia narastającego zbocza sygnału CAS, natomiast w pamię­
ciach EDO wprowadzone na wyjściach są zatrzaski, które przechowują dane
wyjściowe dłużej, nawet po wpisaniu nowego adresu kolumn (przez czas Lcou).
Oznacza to, że procesy ładowania wstępnego kolumn i zatrzaśnięcia nowego
adresu są jakby ukryte i przebiegają w czasie, gdy na wyjściach są jeszcze dane
z poprzedniego adresu kolumn (efekt zakładkowania). Parametr ton w pamięci
EDO nie jest definiowany, natomiast definiuje się czas tcow W obydwu typach
pamięci
wierszy jest zatrzaskiwany opadającym zboczem sygnału RAS,
kolumn jest zatrzaskiwany opadającym zboczem sygnału CAS,
kolumn jest ustalany przy CAS = H.
rys. 8.59b, w pamięci EDO możliwe jest zakładkowanie czasów
dostępu tcPA.• dzięki czemu osiąga się skrócenie czasu cyklu t pc z 45 ns do 32 ns,
czyli zwiększenie szybkości odczytu z 22 MHz do 31 MHz. Oznacza to, że pamięć
EDO O-RAM o czasie dostępu 70 ns ma ten sam czas cyklu odczytu strony co
pamięć F P O-RAM o czasie dostępu 40/50 ns. W pamięciach o czasie dostępu
60 ns osiąga się analogicznie skrócenie tpc z 35 ns do 25 ns, czyli zwiększenie
szybkości z 28.6 MHz do 40 MHz.
Ponadto osiąga się istotne wydłużenie czasu dostępu do danych: z 5 ns
(rys. 8.59a) do 12 ns (rys. 8.59b), co ułatwia przesłanie danych do systemu.
Opadające zbocze sygnału CAS może być wykorzystane do synchronizacji
próbkowania danych z wyjść pamięci . Trzeba jednak zwrócić uwagę, że
w pokazanym trybie odczytu pamięci EDO na jej wyjściach nie ma stanu
wysokiej impedancji, co może utrudniać współpracę z innymi źródłami danych
na tej samej magistrali. Stan ten można uzyskać przez użycie sygnału OE = H lub
WE = L. W typowych komputerach przystosowanych do pamięci FP styk OE
zazwyczaj trwale połączony z masą, a uzyskanie stanu wielkiej impedancji na
wyjściach realizowane jest przez narastające zbocze sygnału CAS.
Pamięci EDO nie są zatem całkiem kompatybilne z pamięciam i FP
i wymagają użycia odpowiednich sterowników. Nawet jeśli użyty sterownik
umożliwia użycie pamięci EDO, to jeszcze nie oznacza, że potrafi wykorzystać
opisane wcześniej zalety tej pamięci. Do pełnego jej wykorzystania potrzebny jest
zatem odpowiednio zbudowany i optymalnie skonfigurowany sterownik.
W modułach EDO O-RAM (na przykład w typowych 72-stykowych
modułach SIMM) czas dostępu kodowany jest, podobnie jak w modułach
pamięci FP, przez stany na czterech stykach wykrywania obecności PD. Cecha
wskazująca, że dany moduł ma pamięć FP lub EDO nie jest jednak kodowana
stykowo. Wykrycie rodzaju pamięci zainstalowanej w komputerach PC jest
realizowane przez system operacyjny BIOS (Basic Input/Output System), umieszadres
adres
adres
Jak widać z
477
8. CYFROWE BLOKI FUNKCJONALNE
a
jest zołrzosk iwony
opodoj qcym zboczem
Ad ~s Jo;ołu m n
m
20
5
Don<! 3
Drugi
P ierwszy dostęp
Trzec::i dos tęp
dostęp
Norosłojqce
zbocze C AS
odcino wyjŚCi o
b
Adres kolumn jest z olrzoskiwony
m
opodojqcym zboczem CAS
U 1H •
U 1L . ~-=~-=_,.,---==::=::::=>.
'
'I
U IH •
c;:s u,L
-
Adres A
•
10
'
8„ .
KOL1
L •
l PAo:40
WyjScio
Q8~ :+Hi-Z­
Pi erwszy dostęp
:' Trzeci
Oone pozostojq ważne
_
po noros tojqcym zbOczu CAS
~
Dowolne dane na
wejśc ioch
~ NieokreŚIOl)f dane n o wyj Scioch
Rys. 8.59 Porównanie działania
[ 13)
pamięci
FP i EDO O-RAM przy odczycie w obrębie jednej stronicy
a) odcz)·l w pami~ FP {r,._. • 45 n.s. dane • ·aine pruz S n11).
bi odczyt w pam~i l!-1)0 (tPC - 32 n:s, dJine 11o·;t·Cne pń;CZ 12 os)
czony w układzie pamięci ROM lub EEPROM Flash na płycie głównej
komputera. Odpowiednie parametry, określające sposób sterowania użytej
pamięci, są wprowadzane do rejestrów konfiguracyjnych sterowania pamięci
D-RAM, umieszczonego w jednym z układów zestawu steruj ącego (chipset}
komputera. Proces ten jest zazwyczaj realizowany au tomatycznie podczas startu
478
8.4. BLOKI
PAM I ĘCI OWE
systemu. Jeśli użyty BIOS oie Jest tak doskonały, lecz potrafi wykorzystać
moduły pamięci EDO i FP po odpowiedniej deklaracji użytkownika (typowo
w opcji CHIPSET SETUP w komputerach PC), to pozostaje metoda prób
i błędów (Internet: http://sysdoc.pair.com/bios.html).
Pamięci
BURST EDO O-RAM
Pamięci „seryjne" (burst) EDO umożliwiają dostęp do całej stronicy danych bez
potrzeby dostarczania kolejnych adresów dla kolumn. Potrzebny jest najpierw
adres wiersza wybierający stronicę, a następnie tylko jeden adres kolumny. Po
odczycie danych z tego adresu seria następnych adresów kolumn jest generowana przez wewnętrzny licznik adresowy, czego wynikiem jest znacznie krótszy cykl
odczytu. Pamięci takie są szczególnie użyteczne do zastosowa1i graficznych,
wymagających często sekwencyjnego'odczytu całych kolejnych stronic z pamięci.
Pamięci
PlPELINE BURST EDO O- RAM
Pamięci
seryjne EDO z zakładkowaniem („potokowe" - pipeline) umożliwiają
wewnętrzne adresowanie znacznie mniejszych serii niż cała strona, zazwyczaj
ograniczonych do czterech lub ośmiu kolejnych adresów. W czasie generowania
serii adresów może być wpisany adres początkowy następnej serii (efekt
zakładkowania), co znacznie skraca czas dostępu do danych z tego adresu. Przy
64-bitowej magistrali osiągalna szybkość transmisji danych z tymi pamięciami
wynosi ok. 500 MB/s [ 12].
Pamięci
synchroniczne SD-RAM
W typowych zastosowaniach komputerowych dostęp do pamięci jest realizowany asynchronicznie przez procesor lub sterownik pamięci z użyciem sygnałów
RAS, CAS i odpowiednich adresów, w sposób pokazany na r ys. 8.59. Szybkość
odczytu w trybach FP i EDO, wyrażana przez częstotliwość równą l/ tpc. jest
ograniczona przez długość wykonywanych kolejno procesów ładowania wstęp­
nego, dekodowania adresów, odczytu danych i ich przesłania przez bufory
wyjściowe. Uzyskiwana szybkość wynosi od ok. 20 MHz (FP) do 30 - 40 MHz
(EDO). Ponieważ szybkość zegara procesora jest z reguły wyższa, zatem przy
korzystaniu z pamięci musi on przystosować się do jej cyklu przez wprowadzenie
„stanów oczekiwania" (waii state), czyli „pustych" cykli zegarowych, w czasie
których nie wykonuje on żadnej pracy poza czekaniem. Oznacza to spowolnienie
pracy całego urządzenia.
Istotne przyspieszenie można uzyskać przez zastosowanie pamięci synchronicznych, czyli sterowanych synchronicznie przez zegar systemowy. Pamięć
synchroniczna ma na swoich wejściach i wyjściach przerzutniki zatrzaskowe, do
których wpis następuje zawsze synchronicznie z odpowiednim (zazwyczaj
narastającym) zboczem zegara. Pracą pamięci steruje wewnętrzny sterow nik
w postaci układu sekwencyjnego, zgodnie z poleceniami wpisywanymi syn-
479
8. CYFROWE BLOKI FUNKCJONALNE
chronicznie z zewnątrz przez wejścia sterujące pamięci. Po wpisaniu odpowiedniego polecenia (np. odczytu) i adresu procesor może się zająć inną pracą, a po
określonej liczbie cykli zegara może odczytać dane z buforów wyjściowych.
Kolejne czynności wykonywane wewnątrz pamięci mogą być podzielone na
etapy wykonywane zakladkowo (pipe/ining), co pozwala znacznie skrócić cykl
odczytu w trybie seryjnym, który jest typowy dla pamięci synchronicznych.
Jako przykład można przedstawić układ pamięci synchronicznej
MT48LC2M8AlS-lO o pojemności 16 Mb (2M x 8) i minimalnym czasie cyklu
równym 10 os, firmy Micron Tecl1110/ogy. Jest ona zorganizowana wewnętrznie
w postaci dwu banków o 2048 wierszach i 512 kolumnach 8-bitowych. Pozwala
to na przeplot operacji ładowania wstępnego i dostępu w tych bankach, co
zwiększa szybkość pamięci.
W czasie inicjalizacji pamięci poleceniem LOAD MODE REGISTER do
jej Rejestru T rybu Pracy (MODE REGISTER) wpisywane są z 11 wejść
adresowych dane ok reślające sposób działania pamięci, a w szczególności
długość serii (l, 2, 4, 8 kolumn lub cała strona),
typ serii (sekwencyjny lub z przeplotem),
wielkość latencji CAS (I , 2 lub 3 cykle zegara).
Latencja CAS (CAS latency) jest opóźnieniem wstępnym, mierzonym
liczbą cykli zegarowych, od chwili wpisu polecenia odczytu (READ) do chwili
otrzymania na wyjściach pierwszej porcji danych w serii. Jest ona ściśle związana
z liczbą etapów zakladkowania wewnątrz pamięci.
Przebiegi czasowe podczas operacji odczytu seryjnego stronicy przy
latencji równej 2 pokazano na rys. 8.60. Dostęp seryjny rozpoczyna się od
polecenia aktywizującego ACTI VE, które powoduje wpis adresu wiersza (stronicy) i wpis bitu BA do wyboru jednego z dwu banków. Po czasie Lxcv wytwarzane
jest polecenie odczytu (READ), które wpisuje adres pierwszej kolumny w żądanej
serii. Po upłynięciu czasu latencji na wyjściach DQ pojawiają się dane z tej
kolumny. Dzięki wewnętrznemu licznikowi adresów i zakladkowaniu procesu
adresowania dane z adresu kolumny zwiększonego o jeden pojawią się zaledwie
jeden okres zegara później. Podobnie szybko pojawiają się kolejne dalsz.e dane.
Po zakończeniu odczytu calej strony seria rozpoczyna się autonomicznie od
nowa. Aby ją zakończyć (lub obciąć) należy wydać polecenie zakończenia serii
BURST TERM I N A TE z wyprzedzeniem x = latencja - I.
Przez podanie nowego polecenia READ z wyprzedzeniem x przed
odczytem ostatniego słowa z bieżącej serii, można otrzymać ciągły potok danych,
bez przerwy wprowadzanej przez latencję. Dotyczy to nie tylko odczytu
kolejnych serii, lecz także odczytu pojedynczych bajtów o różnych (przypadkowych) adresach kolumn na tej samej stronicy, wpisywanych z kolejnymi
poleceniami READ.
W opisywanym układzie, przy latencji równej l, 2 i 3 otrzymuje się
szybkość odczytu seryjnego równą odpowiednio 33, 66 i 100 M Hz.
480
8.4. 8L0KI PAM I ĘC I OWE
Pttno ~rono ooc:y10N1 - '
Sttio e:cit~ $!roł'l'y n..t IUll'<l)'
St-ł ':.lJl!'IO •
!ąfOQ on'ff; Qd.tc"n'°
81JAST T(llfo!IN,,,_f(
~ o o..otrot ~ no ••Jkio cł\
~ Nit0kfł'1CN: 0011<: nG "'fiłea«,h
Rys. 8.60 Prl:ebieg odciytu stronicy w
pamięci synchronicwej SD-RAM MT48LC2M8A IS (Micron
Tech1wlogy) o pojemności 16 Mb (2 M ><8~ Przyjęto latencję równą 2.
Sygnał
CKE (ClocK Enable) służy do czasowego zablokowania zegara.
Przy CKE = L następuje ,,zawieszenie" pracy pamięci: wszystkie pozostałe
wejścia są nieaktywne, a wewnętrzny licznik adresów serii jest zatrzymany.
Sygnał DQM (aktywny poziom L) służy do maskowania (blokowania) wejść przy
zapisie i blokowania (stan wielkiej impedancj i) wyjść trójstanowych przy
odczycie.
Odświeżan ie zawartości pamięci jest realizowane w trybie AUTO REFRESH, analogicznym do metody „CAS przed RAS", stosowanej w konwencjonalnych pamięciach O-RAM. Polecenie AUTO REFRESH musi być przekazywane z~ sterownika zewnętrznego, lecz kolejne adresy wierszy są generowane
przez wewnętrzny licznik. Cała matryca omawianej pamięci (4096 wierszy) musi
być odświeżana co 64 ros. Jeśli w czasie wpisywania polecenia A UTO REFRESH
jest CKE= L, to pamięć wchodzi w tryb SELF REFRESH, w którym cały
proces odświeżania jest sterowany autonomicznie przez wewnętrzny sterownik.
Osiem takich układów pamięci synchronicznych umieszczone jest na
typowym, 168-stykowym module DI MM o pojemności 2 M >< 64 = 16 MB
(Micron Tech110/ogy). Do wykrycia obecności modułu w systemie oraz odczytu
481
8. CYFROWE BLOKI FUNKCJONALNE
jego parametrów służy dodatkowa pamięć EEPROM o pojemności 256 bajtów.
Polowa tej pojemności jest zaprogramowana przez wytwórcę i może być
odczytana przez system p rzy użyciu pięciu ko11cówek do transmisj i szeregowej,
zgodnie z protokołem T2C.
Jak widać z rys. 8.57, pamięci synchroniczne SD-RAM umożliwiają
osiągnięcie znacznie większej szybkości niż konwencjonalne pamięci asynchroniczne FP/ EDO. Są one przewidziane do zastosowania na większą skalę
w nowej generacji komputerów PC. Już w 1996 roku firma Intel dostarczała
zestaw sterowników (chipset) 82437/ 8VX, który umożliwia wykorzystywanie
pamięci synchronicznych. Na komputerowych płytach głównych z tym zestawem są w tym celu umieszczane specjalne gniazda do 168-stykowych
modułów DIMM.
Pamięci
synchroniczne RAM BUS (RO-RAM)
Dalsze zwiększenie szybkości pamięci synchronicznych osiągane jest przez
układy opracowane przez japońską firmę Rambus (http://www.rambus.com).
Układy te są przyłączane do sterownika pamięci za pośrednictwem jednej,
wspólnej magistrali IO-bitowej, którą są przesyłane sygnały sterujące, adresy
i dane (rys. 8.61) w sposób przypominający protokół H P-BUS. Ponadto
wszystkie układy są synchronizowane zegarem o typowej częstotliwości
266 MHz. Ponieważ do transmisji adresu i danych wykorzystywane są obydwa zbocza zegara, więc efektywna, maksymalna szybkość transmisji wynosi
533 MB/s. Jedna magistrala ze sterownikiem tworzy pojedynczy ,,kanał". Przy
dwu równoległych kanałach otrzymuje się szybkość 1066 MB/s.
Szybkość 533 MB/s otrzymuje się taki;e przy wykorzystaniu „zwykłych"
pamięci synchronicznych SD-RAM przy transmisji słów 64-bitowych i zegarze
66 MHz. Przy zastosowaniu pam ięci Rambus prostsza (i tańsza) jest jednak
konstrukcja bloku pamięciowego, gdyż unika się kosztownej i kłopotliwej
w projektowaniu sieci połączeń oraz dużych (zazwyczaj 168-stykowych) gniazd
do modułów DIMM. Sterownik jednego kanału pamięci Rambus ma tylko
31 końcówek (dla dwu kanałów - 62 końcówki), podczas gdy sterownik
pamięci SD-RAM o formacie 64-bitowym wymaga użycia 120 końcówek .
Moduł pamięci Rambus umieszczany jest w niewielkim gnieździe 36-stykowym
RSocket, podobnym do gniazd dla modułów SIMM.
Ste rownik
pemieci
Rambus
Rys. 8.61 Magistrala
482
łączeniowa pamięci
Rambus
8.4. BLOKI
PAMIĘCIOWE
Ponieważ pamięci
Rambus wykorzystują te same matryce pamięciowe
oraz układy adresowania i odczytu co pamięci SD-RAM i pamięci EDO/FP,
więc ich koszt jest zbliżony. Ich zalety sprawiają, że są one konkurencyjne
w stosunku do pamięci SD RAM i ich stosowanie będzie się rozszerzać zarówno
do budowy bloków pamięci głównej w komputerach, jak też do budowy pamięci
w szybkich kartach graficznych, zwłaszcza do przetwarzania obrazów trójwymiarowych. Pamięci Rambus zostały z powodzeniem zastosowane m.in.
w stacji roboczej Si/ico11 Graphics /ndigo, w kartach akceleratorów graficznych
Creative Labs Grap/1ics B/aster M A334 PC i Cirrus Logic lag1111a oraz
w urządzeniu do gier Ni11tendo 64.
Rozwój t echno l ogii
pamięci
O-RAM
Postęp technologiczny w zakresie rozwoju pamięci dynamicznych O -RAM
ilustruje tablica 8.4. W uzupełnieniu pokazanych danych liczbowych należy
dodać, że w miarę wzrostu pojem1_1ości pamięci maleje ich napięcie zasilania
Wynika to z rosnących ograniczeń technologicznych (generacja gorących
elektronów, zbyt duże natężenie pola elektrycznego w cienkich dielektrykach),
jak również z potrzeby ograniczenia mocy strat. Często napięcie zasilania
matrycy pamięciowej jest zmniejszane na kostce o 0.7 - 1.7 V w stosunku do
napięcia zasilającego układ końcówkowo.
Tablica 8.4
PARAMETI<Y PAMIĘCI DYNAMICZNYCH Z LAT 1990. 96
Poiemność parni~
Właściwości
parni~
(Mb)
4
16
64
256
1024
(µm)
0.7
o.s
0.35
0.25
0.15
Powierzchnia (mm 2)
83
104 + 141
180+234
246 + 333
582+ 715
30+50
30 + 40
25+40
25 + 30
25
(Jun1)
4.7+9
3+ 4.1
l.S+ 1.8
0.55+ 0.72
0.29+0.33
Czas d05t~pu la.c (ns)
17+46
20+ 50
29+40
30 + 36
3 1+ 35
Rozdzielczość
Pojemność
technologii
C, (fF)
Powierzcbnia komórki
Klasyczne napięcie zasilania równe 5 V (wewnątrz 3.3 V) jest stosowane
tylko przy relatywnie niewielkich pamięciach (do 4 Mb). Pamięci o pojemnościach od 16 do 64 Mb są zazwyczaj zasilane napięciem 3.3 V (wewnątrz
2.5 - 2.6 V), a pamięci o wyższych pojemnościach napięciem 2.5 V (wewnątrz
1.8 V).
483
8. CYFROWE BLOKI FUNKCJONALN E
Pamięci stałe
8.4.2
Pamięci określane
jako stale umożliwiają szybki odczyt danych zapisanych
trwale (nieulotnie) w odrębnym procesie zwanym programowaniem pamięci. Dane
te są odczytywane w postaci słów ci liczbie bitów w praktyce nie mniejszej od
czterech (typowe długości słów wyjściowych to 4, 5, 7 i 8). Do grupy pamięci
stałych zalicza się następujące rodzaje pamięci:
pamięci stałe programowane jednorazowo maską w czasie procesu
technologicznego - ROM (Read-Only Memory), zarówno bipolarne, jak
i MOS;
pamięci stałe programowane jednorazowo przez użytkownika, o niekasowalnej zawartości - PROM (Programmable ROM), bipolarne; ponadto
OTP EPROM (MOS);
pamięci stałe programowane elektrycznie wielokrotnie z kasowaniem
zawartości światłem nadfioletowym - EPROM (Erasable PROM), tylko
MOS;
pamięci stałe programowane elektrycznie wielokrotnie z elektrycznym
kasowaniem :zawartości- EEPROM (Elect.rically Erasable PROM), oraz
pamięci błyskowe (Flash), tylko MOS.
Pa mięci
Pamięci
ROM
8.4.2.1
ROM stanowią najtańsze, w przeliczeniu na bit, nieulotne półprzewod­
nikowe nośniki informacji. Pamięci ROM o dużej pojemności są wytwarzane
głównie jako układy CMOS, natomiast szybkie pamięci ROM o relatywn ie małej
pojemności są wytwarzane jako układy bipolarne.
Budowa komórek pamięci ROM jest bardzo prosta, ponieważ stany
logiczne tych komórek są trwałe. Po zaadresowaniu komórki, czyli ustaleniu na
linii słowa (M.) poziomu H (stanu I w logice dodatniej) stan komórki jest
przenoszony na linię bitu (BL). Linie słowa są sterowane przez wyjścia dekodera
adresu wierszy, a linie bitu są wybierane przez multiplekser sterowany adresem
kolumn.
Budowa typowych komórek pokazana jest na rys. 8.62. Komórka (a)
zawiera pojedynczą diodę (stan I) lub nie (stan O). Wadą komórki jest mała
szybkość, ponieważ przy zmianie poziomu na linii słowa z L na H wyjście
dekodera musi ładować pojemności pasożytnicze CL we wszystkich liniach bitu,
które w danym wierszu mają komórki jedynkowe.
Komórka (b) jest znacznie szybsza, gdyż tranzystor działający jako
wtórnik emiterowy szybko ładuje pojemność CL w linii bitu. Tranzystor
w komórce (c) jest tak konstruowany, aby uzyskać małą rezystancję przewodzącego kanału. Wtedy uzyskuje się szybkie rozładowanie pojemności
CL w celu uzyskania na linii bitu stanu O. Obciążeniem L jest :zazwyczaj
4 84
S.•. BLOKI PAMIECtOWf
iBl
o
r----- Wt.
'
Stan 1
''
L - - --,-- -s to ii
WLA \.
c
b
I
I
:.)
o ....
______
J
r --
Odczyt
t
c, ......
T
Odczyt
___
~
\I _
Odczyt
Ra
r--
-'c, ......
I
'
.......
'
..&...
Rys. 8.61 Komórki
..)I
pamięci
ROM
a) komórk• dKldowa, b) l:omórka t. trao1yitorcm bipolarnym.<:) kom6rk11
l
u an1ystortm
IBL
I
'
~łOS
tranzystor p-kanalowy z bramką uziemioną lub tranzystor 11-kanalowy z kanalem zubożanym.
Komórki typu (a) i (b) tworzą na linii bitu wielowejściową bramkę
logiczną OR (por. rys. 7.lb), a komórki (c) tworzą na linii bitu bramkę NOR
(por. rys. 7.2a).
Budowa i właściwości pamięci ROM będą omówione na przykładzie
pamięci MOS. Ogólny schemat pamięci MOS ROM jest przedstawiony na rys.
8.63a. Pojemność C pamięci w p rzedstawionym ogólnym przypadku jest równa
Nw, gdzie N = 2" jest liczbą słów i w jest liczbą bitów w słowie wyjściowym
(zazwyczaj w ;l!: 4). Wybieranie określonych komórek pamięci następuje przez
dwuwymiarowe adresowanie, przy użyciu oddzielnego dekodera do wyboru
wierszy i ogólnie zes polu w multiplekserów do wyboru kolumn dla każdego bitu
słowa wyjściowego. Organizacja taka umożliwia budowę symetryc-1:nej matrycy
pamięciowej, co jest najbardziej pożądane 1..e względów konstrukcyjnych (najprostsza budowa dekoderów, śred nio najkrótsze linie sygnałowe). Taką samą
organizację logiczną stosuje się przy budowie dużych pamięci bipolarnych ROM.
Sygnał OE (Output E11able) słu:ly do sterowania trójst.anowych buforów
wyjściowych, a sygnał CE (Chip Enable) przy poziomie H wprowadza układ
w stan nieaktywny, w którym zasilanie wewnątrz pamięci jest odcięte i moc sirat
pamięci jest bard zo mała.
Programowanie pamięci następuje przez selektywne wytwa rzanie tranzystorów MOS w odpowiednich komórkach, czyli wytwarzanie bramek tranzystorów na cienkiej warstwie tlenkowej. Pokazano 10 na rys. 8.63b, na którym jest
przedstawiony przekrój wykonanego w ten sposób tranzystora NMOS. Odpowiada to wytworzeniu i przyłączeniu bramki tranzystora do odpowiedniej linii
wiersza w matrycy (rys. 8.63a). W tych miejscach, gdzie tranzystory nie powinny
być wytworzone, nie jest wytrawiana gruba warstwa tlenku, co uniemożliwia
akcję tranzystorową. W ten sposób, przy zaadresowaniu danego wiersza,
485
8. CYFROWE BLOKI FUNKCJ ONALN E
o
We)Scio
WytXJr
wierszo
odr esowe
Oo
o,
Dekoder
k-bitowegJ
kO<lu
dwójkowego
2
no kOd F--l-t---1-1---1-l~---+­
„ , z 2k „
2•-1
WyOOr
kolurnrry
<=i
2
o,
o „ . , o-.,~---''-----~
On· 10"''----''-----~
3
Zespbł w multiplekserOw odresowQ"lych
In - kl „ bitowym kodem dwbjkowym
2 ----- ---- w
CE o--
- .__-<l
OEo--
-
EN ZespOt w trÓj stonowyc.h buforÓw wyjSoowych
--<I
2--------- -
w
VJyjŚCi o doiych V
b
Dyfuzje n •
Cienko
warstwo tten k.u
(lronZystorJ
Grubo
wcr5'łwo łlenkv
I brok tranzystora I
o s;o,_ _ .
~
MetoUzocjo
Rys. 8.63
Budowa pamięci MOS ROM
a) ~LPd niety lldlema1.
b) SHl.lklUta
486
WyjScio
Podloże IYIJV p
8.A. BLOKI
PAMIĘCIOWE
wszystkie przyłączone do niego tranzystory wejdą w stan przewodzenia, czyli na
odpowiednich kolumnach pojawi się poziom L. Wybór odpowiednich kolumn,
repre-tentujących słowo w-bitowe, następuje w zespole w multiplekserów.
Programowanie pamięci MOS ROM następuje zatem podczas procesu
technologicznego przez wprowadzenie odpowic;c!nich masek, zgodnie z zawartoś­
cią informacyjną dostarczoną wraz z zamówieniem przez użytkownik a. Dlatego
pamięci te określa się jako programowa11e maską. Programowanie maskowe
stanowi oczywiście proces jednorazowy i nieodwracalny. W związku z tym
konstruktorzy dość niechętnie st osują pamięci ROM, gdyż jakakolwiek modyfikacja zawartości pamięci po jej zaprogramowaniu jest wyk Iuczona. Ponadto
opłacalność tych pamięci staje się wyraźna dopiero przy długich seriach produkcyjnych. Dodatkowym kłopotem jest koniec-lJloŚĆ odczekania przez użytkownika
pewnego czasu po złożeniu zamówienia (zazwyczaj kilka - kilkanaście tygodni),
zanim zostaną wytworzone układy pamięci ROM z określoną zawartością.
Znaczną część stosowanych w praktyce pamięci ROM stanowią układy
o pewnej typowej zawartości. Należą do nich między innymi ge11era1ory znaków,
służące do konwersji kodów alfanumerycznych (np. 7-bitowego kodu ASCI I) na
kod symboli mozaikowych , stosowanych przy wyświetlan iu inform acji w monitorach a lfanumerycznych . Ka7..da litera jest „składana" z punktów mozaiki,
o przykładowych wymiarach 5 x 7, 7 x 9, 9 x 14, a nawet 13 x 16 punktów. Inne
typowe zastosowania to konwertery kodów i (4 x 4) multiplikatory. Pamięci
MOS ROM są również szeroko stosowane w urządzeniach mikroprocesorowych
do trwałego pamiętania programów (np. do obsługi pralek, magnetowidów itp.).
Typowe pojemności mieszczą się w zakresie 4Kb~ J6Mb, a czasy dostępu
w zakresie 100~450 ns.
Pamięć stała stanowi kombinacyjny układ cyfrowy. Przy 11 wejściach
adresowych (A) i w-bitowym słowie wyjściowym Y, w odniesieniu do wyjścia y1
(0 ~i~ w-1) otrzymuje się formę boołowską
y, = Y[i]
2"- l
=eV P1 (A)G1 [t]
e=CE·OE,
gdzie: P1 - iloczyn pełny (mintcrm), zdefiniowany w p. 4.1.2,
G, - słowo danych, zapamiętywane pod adresem A spełniającym waru nek P,(A) = !.
Forma ta może reprezentować dowolną ruokcję przełączającą 11 zmiennych pod
warunkiem odpowiedniego doboru wartości Gt [i] E {0,1 }. Oznacza to, że w celu
wykorzystania pamięci stałej do realizacji („generacji") danej runkcji przełączają­
cej 11 zmiennych, należy po prostu wpisać do pamięci tablicę stanów tej Cunkcji
w odniesieniu do wybranego wyjścia. Pamięć stała o w wyjściach danych może
zatem służyć do prostej realizacji w funkcji przełączających 11 zmiennych. Zalet~
takiego postępowania jest prostota, gdyż jakiekolwiek czyn ności minimalizacyj-
487
8. CYFROWE BLOKI FUNKCJONALNE
jest natomiast bardzo szybki wzrost pojemności
pamięci przy zwiększaniu liczby zmiennych, gdyż zwiększenie tej liczby o jeden
powoduje dwukrotny wzrost pojemności pamięci.
Jeśli liczba 11, zmiennych implementowanej funkcj i jest większa od
liczby n wejść adresowych w dostępnych układach pamięciowych, to w celu
zwiększenia dlugości łącznego słowa adresowego trzeba użyć większą liczbę
p, układów. Zgodnie z ogólnymi zasadami zwiększania bloków pamięciowych
liczba ta jest równa.
ne
są zbędne. Isto tną wadą
p, =
2·.-•,
gdzie n,
~
n.
Na przykład, przy n, -n = I otrzymuje się p, = 2. Dwa układy pamięciowe łączy
równolegle wyjściami i wejściami adresowymi (wykorzystując n, - I zmiennych), a pozosta łą zmienną przyłącza się do wejścia zezwalającego jednej pamięci
w postaci prostej i do wejścia zezwalającego drugiej pamięci w postaci
za negowanej. Jeśli n,~ n, lecz liczba w1 realizowa nych funkcji przełączających
jest większa od w, to trzeba rozszerzyć długość słowa wyjściowego i wówczas
liczba potrzebnych układów jest równa
się
p1 = INT(w1/w+ I), gdz.ie w1 >w.
Jeśli jednocześnie
określa
n, >
11
iloczyn
i w1 > w, to
liczbę
p potrzebnych
układów
P = P,P,
Mikrooperacja odczytu danych z
eP.(A}:
Y=G.
Pamięci
pamięci
ROM
może być
zapisana w postaci
ke N ={O, l, ...,N - 1}
PROM
Trudność stosowania pamięci
8.4.2 .2
ROM, wynikająca z konieczności indywidualnego
wytwarzania na konkretne zamówienie oraz relatywnie długiego czasu realizacji
za mówienia, powoduje, że stosowa nie pamięci stałych, programowanych maskowo jest uzasadnione tylko przy od powiednio dużym zapotrzebowaniu. Przy
niewiel kich potrzebach ilościowych, zwłaszcza w fazie projektowan ia i konstrukcji systemu, bardziej wskazane jest stosowanie pamięci stałych programowanych
elektrycznie(PRO M}. Układy PROM, które mogą być swobodnie programowane przez konstrukt ora systemu, są wytwarzane seryjnie jako „czyste", czyli pełne
zer lub jedynek (za leżn ie od konstrukcji pamięci). Programowan ie polega na
wprowadzeniu zmian w wybranych komórkach pamięci przez poddanie układu
odpowiednim wymuszeniom elektrycznym w specjalnym przyrlądzie zwanym
programatorem pamięci PROM.
Programowanie pamięci bipolarnych PROM polega zazwyczaj na selektywnym przepalaniu, przez wymuszenie odpowiedn ich dużych i długich impul -
488
8.4. BLOKI
PAMIĘC IOWE
r - - - - - -----1
L\:c
s
•S
'
I
bił
o
lice
I
I
I
I
I
I
I
I
bi 1
bit w-1
s
A
lice
L_ _ ___ - __ __ J
.' ' - -- -- -- -- -- -- -- -- _rov,
,
~-
o•.
s
.•'' s
•
0 - - - - -- j t>
Rys. 8.64 Zasadniczy schemat
przykładowej
bipolarnej
pamięci
PROM o
małej
pojemności
sów prądowych, połączeń między emiterami tranzystorów matrycy a liniami
bitowymi. Połączenia przepalane są wykonywane jako specjalnie przewężone
. ścieżki z krzemu polikrystalicznego lub jako niewielkie rezystory nichromowe.
Do programowania stosuje się także niszczenie odpowiednich złączy baza-emiter
w procesie przebicia lawinowego.
Uproszczony przykład budowy pamięci bipolarnej PROM o małej
pojemności pokazano na rys. 8.64, na którym w emiterach tranzystorów matrycy
zaznaczono wężykami połączen ia przepalane (S). Pokazana pam ięć ma wyjście
z otwartym kolektorem (TJ) i w stanie nie zaprogramowanym (gdy wszystkie
połączenia S istnieją) jest zapełniona zerami. W celu zaprogramowania okreś­
lonego słowa należy je wybrać adresem, podnieść napięcie zasi lające Ucc (typowo
z 5 V do 12 V) i przyłożyć kolejno na wyjścia, na których ma nastąpić
programowanie, impulsy napięciowe o amplitudzie typowo równej ok.
IO V i czasie trwania ok. 500 11s. Przed przystąpieniem do programowania
blokuje się układ przez ustalenie na wejściu zezwolenia pamięci stanu e = L,
powoduj ąc odcięcie wszystkich tranzystorów wyjściowych TJ , które nie przewodzą podczas programowania.
W pokazany sposób są realizowane pam ięci PROM o małej pojemności,
up. 32 x 8 = 256 bitów. Do wytwarzania pamięci PROM o dużych pojemnoś­
ciach stosuje się odpowiednio duże matryce pamięciowe i zespoły multiplekserów wyjściowych, podobnie jak w poprz.ednio opisanych pamięciach ROM.
489
8, CYFROWE B ł.OKI FUNKCJONAl.NE
Bipolarne pamięci PROM są w klasie lTL wykonywane najczęściej
z tranzystorami Schottky'ego. Zapewnia to znacznie krótsze czasy dostępu niż
w pamięciach MOS-ROM. Są również wykonywane szybkie pamięci PROM
ECL. Ich typowe czasy dostępu wynoszą !0+ 50 ns, a pojemności od 256
(zazwyczaj 32 x 8) do 128 K (16 K x 8) bitów. Moc strat tych układów jest
relatywnie duża i typowo wynosi 0.5 +0.65 W.
W praktyce pamięci bipolarne PROM są stosowane bardzo rzadko.
Zostały one niemal całkowicie wyparte przez pamięci MOS EPROM, omówione
dalej. Tradycyjnie pamięci bipolarne uważane były za szybsze od pamięci MOS,
jednak pamięci MOS opracowane w nowych technologiach są równie szybkie,
a nawet szybsze niż ich odpowiedniki bipolarne.
Pamięci
Układy pamięci
EPROM
8.4.2.3
EPROM są wykonywane w technologii MOS i umożliwiają
wielokrotne programowanie i kasowanie zawartości. Komórkę pamięciową
układu EPROM stanowi tranzystor, w którym wykorzystuje się zjawisko
trwałego magazynowania ładunku w podbramkowej warstwie dielektrycznej,
wprowadzonego praz wymuszenie napięciowe. Zjawisko takie występuje w strukturach z polaryzowalnym dielektrykiem, takim jak azotek krzemu (struktura
MNOS) i tlenek aluminium (struktury MAS, MAOS). Trudności realizacyjne
i niezawodnościowe związane z tymi strukturami sprawiły, że najszersze
upowszechnienie zyskała opracowana w firmie Intel (15) struktura FAMOS
(Floating gate Avalanche-injected MOS) zwana również strukturą swobodnej
bramki (floating gate). Na postawie struktury FAMOS jest wytwarzanych wiele
typów układów EPROM o organizacji dostosowanej do budowy systemów
mikroprocesorowych, w których układy te są powszechnie stosowane.
Przekrój struktury FAMOS pokazano na rys. 8.65a. Podana skala (I 11m)
dotyczy popularnego układu 2716 o pojemności 16 K (2048 x 8). Struktura
FAM OS przypomina zwykły tranzystor MOS z bramką krzemową. Struktura ta
zawiera jednak dodatkową „swobodną" bramkę, wykonaną również z krzemu
polikrystalicznego i zawieszoną w dwutlenku krzemu między bramką sterującą
i obszarem kanału, bez żadnych wyprowadzeń zewnętrznych. Bramka ta służy do
trwałego przechowywania ładunku, wprowadzonego do niej w trakcie programowania.
Struktura taka stanowi jednobitową komórkę matrycy pamięciowej, jak
pokazano na rys. 8.65b. Programowanie komórki (rys. 8.66a) następuje przy
ustaleniu wystarczająco dużych napięć dodatnich na bramce sterującej i drenie.
Wówczas elektrony w obszarze zubożonym są przyspieszane w kierunku
największego natężenia pola, znajdującego się wokół drenu. Po osiągnięciu
obszaru, w którym natężenie pola przekra~'V! ok. 105 V/cm, elektrony zyskują
tak dużą energię, że nazywa się je „gorącymi" (hot). Elektrony te oznacza się
490
8.4. BLOKI PAM I ĘCIOW E
elektronów, znajdujących się w obszarze
ma wystarczająco dużą energię, do pokonania bariery energetycznej Si/Si02 (ok. 3.2 eV) między podłożem i cienkim (poniżej 100 nm)
dielektrykiem pod swobodną bramką. Ponieważ na bramce sterującej jest
ustalone odpowiednio duże napięcie dodatnie, wskutek sprzężeń pojemnoś­
ciowych bramka swobodna również przybiera potencjał dodatni, przyciągając
i „łapiąc" te elektrony. Nie mogą j uż one opuścić swobodnej bramki, gdyż
otaczający ją dwutlenek krzemu jest jednym z najlepszych znanych izolatorów.
symbolem e- .
Część „gorących"
odcięcia kanału,
a
S!..L.I
D
G
BrCl'Tlko
sterująco
Żródlo
Otlszor
;mplontowony p
Podłoże p
b
Linio
b itu
G
Li nio
stowo
Rys. 8.65 Struktura FAMOS
a) prl.Ckrój. b)
$)'mboł
e1d:1I)Uo)·
W ten sposób swobodna bramka gromadzi ładunek ujemny. Efektem tego jest
zwiększenie wartości napięcia progowego, związanego z bramką sterującą,
o .dUr = -.dQFGfC, gdzie L!QFG stanowi przyrost ladun.ku swobodnej bramki
i C jest pojemnością między bramką swobodną i bramką sterującą (rys. 8.66c).
Przy odczycie wartość napięcia przykładanego do bramki sterującej jest większa
od UT(I)> lecz mniejsza od U T(I > + .d Ur = Urto>· Umożliwia to wykrycie stanu
komórki: O - stan nieprzewodzenia (po zaprogramowaniu) lub 1 - stan
przewodzenia (po skasowaniu lub pamięci jeszcze nie używanej).
491
8 . CYFROWE 6LOKI FUNKCJONALNE
.-15v
o
PROGRAMOWANIE
•16V
WOl'Słwo
Obszar
odciecio
inwersyjna
Obszor
z<Jbo!Of'o/
kanału
b
ov
KASOWANIE
Pr0f'ńieni()NO:n1e
yf
uv
p
c
Io
Po skasowaniu
(sto n 1)
Po zoprogn:Jmowo niu
ł sło n
OI
Odczyt '1 '
Odczyt ·o·L---rL---1---~-----
Rys. 8.66
Programo,vanic i kasowanie
za,va rtości struktury
FAM OS
Nopi ę-Gie
a) programowanie, b) kasowanie.
odczytu
~) <:h:·1r~k 1 er)'lłyl:i clekłT)-Clne
Kasowanie zawartości komórki jest jednoznaczne z kasowaniem całej
EPROM i polega na naświetleniu kostki układowej ze źródła promieniowania nadfioletowego (U V). Źródłem jest lampa rtęciowa ze szkłem kwarcowym, która wytwarza promieniowanie nadfioletowe o długości 2537 A(4.9 eV).
Obudowa układu pamięci musi więc być wyposażona w okienko ze szkła
kwarcowego, co w istotny sposób zwiększa jej koszt. Przy kasowaniu (rys. 8.66b)
fotony są absorbowane przez elektrony w swobodnej bramce, zwiększają energię
elektronów i powodują, że opuszczają one tę bramkę, wchodzą do otaczające30
tlenku i zostają wyciągnięte przez bramkę sterującą lub podłoże wskutek
istnienia pół lokalnych (naładowana bramka swobod na ma potencjał ujemny,
natomiast przy kasowaniu bramka, źródło, dren i podłoże mają w przybliżeniu
pamięci
492
8 4 BLOKI PAMIĘCIOWE
zerowy potencja!). Wzbudzenie elektronów następuje głównie z pasma walencyjnego, co wymaga energii co najmniej 4.3 eV, a częściowo także z pasma
przewodnictwa, co wymaga tylko 3.2 eV.
Do kasowania jest wymagana dawka promieniowania nadfioletowego
o typowej wartości 15-25 Ws/cm 2 • Przy stosowaniu typowych kasowników UV
wymagany czas naświetlania wynosi zwykłe ł5 + 45 minu t i z zasady nie
powinien być przekraczany. Nadm iernie duża dawka wplywa szkodliwie na
trwałość i niezawodność pamięci.
Należy zaznaczyć, że światło słoneczne, nawet po filtracji atmosferycznej,
zawiera fotony o energii sięgającej 4. ł eV. Również światło lamp jarzeniowych
i żarowych ma składowe o minimalnej długości fali około 3000 A, co odpowiada
energii 4.1 eV. Po wystawieniu zaprogramowanej pamięci EPROM na bezpośrednie działanie światła słonecznego lub sztucznego również następuje kasowanie jej zawartości, jakkolwiek znacznie wolniejsze niż w urządzeniu do kasowania, zawierającym odpowiednio silną lampę UV. Tym niemniej należy przyjąć
zasadę, aby zaprogramowanych pamięci EPROM nie wystawiać na dłuższe
działanie światła słonecznego lub zwykłego światła pokojowego. Normalne
sztuc-we świ atło pokojowe z lamp jarzeniowych może spowodować skasowanie
zawartości po l -;-3 latach, natomiast światło słoneczne może skasować pamięć
już po ok. 7 dniach. Dlatego popularne jest zalepianie okienek w obudowach
zaprogramowanych pamięci EP ROM paskiem nieprzezroczystego materiał u.
Ulotność informacji pamiętanej w pamięci EPROM jest niezwykle mala.
Badania niezawodnościowe układów 27ł6 firmy /111el doprowadziły do oszacowania 2 x 10- •% uszkodzeń wskutek ulotności w czasie JO lat.
Pamięci EPROM są wytwarzane w dużym asortymencie, o pojemności
od 16 Kb do 8 Mb i długości słowa wyjściowego 8 lub 16 bitów. Stosowana jest
niemal wyłącznie technologia CMOS ze strukturami z jamą 11. Zmniejsza to
niebezpieczeństwo powstania efektu zatrzaskiwania (p. rys. 6.37) podczas programowania, gdy z komórek NMOS do podłoża płynie relatywnie duży prąd.
Schemat blokowy i rozkład komórek popularnego ukladu CMOS
EPROM 27C64 firmy Microchip są pokazane na rys. 8.67ab. Bramki AND
ilustrują działanie sygnałów: aktywizującego CE (Chip Enable), odblokowujące­
go wyjścia trójstanowe OE (Output Enable) i zezwalającego na programowanie
PGM (Program).
Układ 27C64 charakteryzuje się maksymalnym c-asem dostępu od wejść
adresowych lub wej ść CE równym od 120 do 250 ns, zależnie od odmiany
produkcyjnej. Odpowiednie przebiegi czasowe ilustruje rys. 8.68. Mak symalna
moc strat w stanie aktywnym wynosi 100 mW, a w stanie spoczynkowym (przy
CE~ H) zaledwie 0.5 mW.
Początkowo, a takie po każdym kasowaniu, wszystkie bity pami~i są
w stanie 1 (poziom H na wyjściach). Programowanie polega zatem na wpisaniu
zer w żądane miejsca matrycy. Programowanie wykonuje się w specjalnym
493
8. CYFROW E 8L0t:.I
FUNKCJONALN E
o
Arz I
I
I
I
I
I
Matryco
•
l56
• ·256x
65536bitów '
pom ięciOYto
8rruttipl•k...-ÓW
'
32no 1
• 8 dem<Ałiplekserów '
1no32
I
!___
•
Bufory wyjŚĆ
trójstonowyd'l
i wejść
progromowonio
-
Dekoder
kolumn
1 z32
I
Ao
.
Dekoder
wierszy
1 z 256
1------1
a,
Oo
Wyjścia dorrych/
~jścio
Sion spoczynkowy(Q'.,H)
progromowanio
Pmgramo'NOnie
PGM
OE
Stan aktywny
CE
b
Ua:
PGM
NC
AS
A9
t:!
n
a>
~
A11
OE
A10
CE
07
06
as
Rys. 8.67 Pamięć CMOS EPROM 27C64
(Microchip Technolo(JY)
04
03
a)
H
Waz
Adres
A
łc:bemat
blokowy.
b) rodd\WJ koócówek
adres
L
H
CE
L
H
'OE
L
Wyiścio
H
Hi h Z
00 ·07 l
Woźne dane
'••-;120ns
Rys. 8.68 Przebieg) czasowe podczas odczyt u danych z pamięci EPROM 27C64A- I2 o czasie
dostępu 120 ns (Microchip
494
TechnolQ{ly)
8.4 BlOKI
PAMIĘCIOWE
urządzeniu,
zwanym programatorem pamięci EPROM, który współpracuje
z komputerem. Większość programatorów jest wykonana jako urządzenia
uniwersalne, umożliwiające programowanie różnych typów pamięci EPRO M.
Typ i producent programowanej pamięci mogą być automatycznie identyfikowane przez programator, który odczytuje z pamięci dwa bajty identyfikacyjne.
W szybkich pamięciach CMOS EPROM osiągane są bardzo krótkie
czasy dostępu, nawet ponii.ej 50 ns. Na przykład, firma Cypress Semiconductor
wytwarza pamięci CY7C266, kompatybilne z omówionym wcześniej typem
27C64, które mają czas dostępu od 20 do 45 ns, zależnie od wersji. Jednakże
układy te mają znacznie większą moc strat: 660 mW w stanie aktywnym i 85 mW
w stanie spoczynk owym.
Istotnym użytkowo parametrem pam ięci EPROM jest ich wytrzymałość
na wielokrotne programowa nie i kasowanie. J e~t ona rzadko specyfikowana
przez producentów; w praktyce należy się liczyć z maksymalną liczbą cykli
programowania/kasowania rzędu 102 -;-10 3 .
Pamięci EPROM są również wytwarzane w tanich obudowach plastykowych, bez okienka kwarcowego. Pamięci takie nazywa się jako programowane jednorazowo (OTP - One-Time Programmable), lub po prostu
PROM. łeb zaletą jest niższy koszt, co ma znaczen ie w takich zastosowaniach,
gdzie nie jest potrzebna funkcja reprogramowania. Pewną wadą jest natomiast
brak możliwości testowania u wytwórcy, co oznacza, że kilka procent sprzedanych układów może być wadliwych.
Pamięci
EEPROM
Zasadniczą wadą pamięci
8 .4 .2.4
EPROM jest to, że operacja kasowania wymaga
każdorazowo umieszczenia tych pamięci w kasowniku naświetlającym je
promieniowaniem U V w czasie 15-;-45 minut. Kasowaniu podlega cała zawartość pamięci, nawet wówczas, gdy istnieje potrzeba modyfikacji choćby tylko
jednego bitu. Ponadto jest wymagane użycie drogiej obudowy z okienkiem ze
szkła kwarcowego. Wad tych nie mają pamięci EEPROM, które są kasowalne
elektrycznie. Najszersze upowszechnienie zyskały struktury ze swobodną bramką, analogiczną do stosowanych w pamięciach EPROM.
Struktura tranzystora pamiętającego ze swobodną bramką, opracowana
w firmie l111el [16],jest pokazana na rys. 8.69a (pokazane połączenia elektryczne
źródła, bramki sterującej i drenu przedstawiono wyłącznie ilustracyj nie, a nie
strukturalnie). Struktura ta nosi nazwę firmową FLOTOX (Floating Gate
Tunnel Oxide) i przypomina strukturę FA MOS, z wyjątkiem dodatkowej,
bardzo cienkiej (ok. 10 nm) warstwy tlenkowej ponad drenem. Warstwa
ta umożliwia przepływ elektronów w procesie tunelowym Fowlera-Nordheima
z drenu do bramki swobodnej lub odwrotnie, zależnie od ich wzajemnej
495
8. CYFROWE 8 L0KI FUNKCJONALNE
Bramka swobodna
(poli k rzem pierw szego poziomu)
Pod łoże
p
Bramko sterujoca
łpoli krzem drug~iego
poziomu I
Tlenek
broml<owy
Rys. 8.69 Struktura FLOTOX
stoso"•ana w pamięciach
EEPROM
polaryzacji. Przy UG > O i UD = O bramka swobodna jest pojemnosc1owo
sprzężona z dodatnim potencjałem bramki sterującej i elektrony są do niej
przyciągane z drenu. Z kolei przy UG = O i U 0 > O następuje rozładowanie
swobodnej bramki.
W pierwszym przypadku otrzymuje się zwiększenie napięcia progowego
Ur tranzystora (w praktyce do ok. IO V). W drugim przypadku następuje
zmniejszenie Ur poniżej zera (do ok. -2 V), tak że otrzymuje się tranzystor
z kanałem zubożanym i odcięcie prądu drenu staje się niemożliwe przy użyciu
typowego, nieujemnego napięcia dostarczanego przez dekoder adresu na linię
słowa. Ponadto wartości napięć progowych zależą od długości procesów
programowania i zmieniają się w czasie, zależnie od liczby cykli programowania.
Dlatego jednobitową komórkę pamięci EEPROM tworzy się przez połączenie
tranzystora FLOTOX z „normalnym" tranzystorem MOS w sposób pokazany
na rys. 8.70.
Zapis danych do wybranych adresem komórek pamięci musi być
zawsze poprzedzony kasowaniem ich zawartości. Oznacza to wprowadzenie
swobodnych bramek wszystkich tranzystorów FLOTOX tych komórek w stan
naładowania (rys. 8.71a). Cenną zaletą pamięci EEPROM w porównaniu
z pamięcią EPROM, jest możliwość kasowania elektrycznego poszczególnych
bajtów. Sposób realizacji zapisu pokazano na rys. 8.71b. Ponieważ kasowanie
wybranego bajtu jest niczym innym jak zapisem bajtu zawierającego same
jedynki, cala operacja zmiany zawartości jednego bajtu wymaga dwóch kolejnych zapisów: najpierw zapisu bajtu jedynkowego, a następnie selektywnego
wpisu zer.
Odczyt danych następuje przy podaniu napięcia + 5 V na linię programowania i linię słowa. Komórka z naładowaną bramką swobodną pozostanie
wtedy w stanie nieprzewodzenia, natomiast komórka rozładowana będzie
przewodzić.
Ważnym
w praktyce parametrem jest wytnymałość pamięci EEPROM
na wielokrotne kasowanie/ programowanie. Bardzo cienka warstwa tlenku
496
8.4. BLOKI
PAM I ĘC I OWE
Srom ko
sterujqco (linio progra mowania l
Sromka
setekt:yj no ł lini o sta wo )
i:::::J~~@J~?J1t';~6~~~~Jltini o
n
'---'~-'
bilu
n•
'-- - - ;
p•
Tl enek bramkowy I SO nm)
Dielektryk tunelujocy
(8 nml
•
Rys. 8.70 Przykładowa struktura komó rki
o
L i nło titu
ov
pamięci
EEPROM
b
+18V(zopis zero!
OV(utr zymonie
jedynki)
Kolumno 1
Kolumno 2
Tranzystor
selekcyjny
•20V - - -e--'1-1---
łinio słowo
OV
18 V
Tranzystor
pomi~tajqcy ri ~H-
FLOTOX
•20V
linia
- --+----+--
pcogromowonła
Roztodowonie
swoboctnej
bromki
Rys. 8.71 Programowanie komórki
a)
Cl)'OnMć
tunelującego
pamięci
pierwsza - kasov.'aoic (tłSl~lenie jedynek), b)
B<ok
zmiany
todunku
EEPROM
0;y nnośl:
druga -
~lekt)'Wny u.pis
zer
podlega bowiem w czasie tych procesów bardzo dużemu natężeniu
pola elektrycznego, w rezultacie czego następuje powolna degeneracja tej
warstwy. Zazwyczaj po przekroczeniu ok. I 0 5 cykli kasowania/ programowania
następuje powolna degeneracja napięć progowych tranzystora FLOTOX w stanach Oi 1, czyli napięcia te powoli zbliżają się do siebie. W rezultacie, zazwyczaj
powyżej 106 cykli, napięcia te stają się na tyle bliskie sobie, że wzmacniacz
odczytu nie może już poprawnie odczytać stanu komórki, czyli pamięć staje się
niesprawna. Operacje odczytu nie pogarszają żywotności pamięci EEPROM,
gdyż nie wymagają one stosowania wysokich napięć na końcówkach tranzystorów pamiętających.
Aby wydłużyć „czas życia" pamięci EEPROM stosuje się różne środki.
Przede wszystkim usprawnia się technologie, aby uzyskać wysokiej jakości
warstwy tlenku tunelującego. Stosowane są również komórki z dwuwarst-
497
8 CYFROWE
BŁOKI
FUNKCJONALNE
wowym, tlenkowo-azolkowym dielektrykiem tunelującym. Aby zmnieJszyć
ryzyko błędu odczytu slanu l (po naładowaniu bramki swobodnej) stosuje się
również podwójne komórki. Każda taka komórka zawiera dwie polówki, czyli
opisane wcześniej komórki dwutranzystorowe, programowane identycznie,
z wyjściami doprowadzonymi do wejść bramki OR. Na wyjściu bramki
otrzymuje się poprawny odczy t poziomu H, dopóki przynajmniej jedna połówka
jest nieuszkodzona. Prawdopodobieństwo uszkodzenia jednej komórki jest
bardzo małe, natomiast prawdopodobieństwo jednoczesnego uszkodzenia oby·
dwu polówek, będące iloczynem odpowiednich prawdopodobieństw, jest znacznie mniejsze.
Układy pamięci EEPROM są wykonywane w dwu podstawowych
wersjach, jako równolegle (czyli z klasycznym, równoleglym adresowaniem
i równołeglym zapisem/odczytem danych) oraz jako szeregowe, w których
połączenia z układem pamięci mogą być ograniczone do zaledwie dwu lub trzech
przewodów. W tym przypadku sygnały sterujące, adres i dane są przesyłane
szeregowo.
Przykladem równoległej pamięci EEPROM jest układ 28C64A o struktu rze pokazanej na rys. 8.72 a. Jest to pamięć o zasilaniu + 5 V i pojemności 64Kb
(8K x 8), kompatybilna końcówkowo z wcześniej opisaną pamięcią EPRO M
27C64 (rys. 8.67). Kasowanie, zapis i odczyt danych następuje w formacie
bajtowym. Wejścia adresowe i bufory We/Wy są wyposaione w przerzu tniki
zatrzaskowe. Dzięki temu podczas operacji zapisu bajlu adres i dane są
Oo
a
o,
b
Ucc
AOl'IBSY
A12
Układ
Bufory
sterujQ<y
W<l\Yy
W(
NC
AB
A9
AS
N
A11
n
15(
"
er
a>
Generała<
nopięcio
progromQWOnta
Ao
AZ
-
Sterowo.nie
kolumn
V
~
~
o
N
Matryco
Oekoder
X
An
Rys. 8.72
.,
tcłlnm.t
Pamięć równoległa
blok°"'}, b) roit·bd
498
pamięciowo
61.kb
CMOS EEPROM 28C64A (Microchip Technology)
„~
Al()
)>
17
Dekoder
:;:
Ol
06
05
04
03
8.4. BLOKI PAMIĘCI OWE
wpisywane błyskawicznie do zatrzasków, a zewnętrzna magistrala adresowa
i danych jest zwolniona do innych celów. Proces zapisu danych z zatrzasków
do komórek pamięci jest realizowany autonomicznie wewnątrz układu, który
w tym czasie przechodzi w stan „zajętości" (busy). Stan ten jest sygnalizowany
poziomem H na wyjściu RDY/ BSYz otwartym drenem, co umożliwia łączenie
równoległe takich wyjść z kilku układów. Ponieważ zapis może być realizowany
tylko przez zmianę stanów 1 na O (p. rys. 8.71), zatem adresowany bajt
jest przed zapisem automatycznie kasowany. Czas cyk lu zapisu trwa najwyżej
I ms lub 200 µs (w wersji 28C64AF), lecz typowe wartości tego czasu
są o połowę mniejsze.
Wykrycie zakończenia cyklu zapisu można zrealizować dwoma sposobami. Pierwszy polega na badaniu stanu wyjścia RDY/ BSY, a drugi na sprawdzaniu
zapisu danych przez ich odczyt (Data Polling). Próba odczytu podczas trwania
zapisu daje na końcówce Q? uzupełnienie bitu wpisywanego, natomiast na
pozostałych końcówkach QO - Q6 stany są nieokreślone. Po zakończeniu zapisu
można prawidłowo odczytać ostatnio wpisany bajt.
Podwyższone napięcia, potrzebne do operacji kasowania i programowania adresowanych bajtów, wytwarzane są wewnątrz układu, który nie wymaga
żadnych dodatkowych napięć zasilających poza jednym ( + 5 V).
Zawartość całej pamięci może być skasowana (stan I we wszystkich
komórkach) przez podanie na końcówkę OE napięcia + 12 V i ustalenie stanu
lłE = CE = L na czas równy IO ms.
Czas dostępu od wejść adresowych (t,ul w układzie 28C64A wynosi
150-250 ns, zależnie od wersji układu. Moc strat w stanie aktywnym wynosi
150 mW, a w stanie spoczynkowym 0.5 mW. Czas utrzymywania danych
(retencja) jest szacowany na co najmniej 200 lat. Liczba cykli kasowania/ programowania pojedynczych bajtów wynosi co najmniej 105 .
Istotne zalety - w porównaniu z pamięciami równoległymi - mają
szeregowe pamięci EPROM. Wymagają one zaledwie dwóch lub trzech połączeń
sygnałowych do adresowania, transmisji danych i sterowania. Oznacza to ponad
3-krotne zmniejszenie liczby końcówek obudowy (typowa obudowa pamięci
szeregowej EEPROM ma zaledwie 8 końcówek) i około IO-krotne zmniejszenie
powierzchni zajmowanej przez obudowę i połączenia drukowane. Mała liczba
połączeń oznacza również dużą wygodę dla układów współpracuj ących (na
przykład mikrokontrolera).
Moc strat pamięci szeregowych jest około IO-krotnie mniejsza niż
pamięci równoległych (przy tym samym napięciu zasilania). Pamięci szeregowe
są wytwarzane również w odmianach o szerokim zakresie zmian napięcia
zasilającego, na przykład od 1.8 V do 6 V. Użycie napięcia l.8 V zamiast
typowego napięcia 5 V oznacza dalsze istotne obniżenie mocy strat, co ma
zasadnicze znaczenie w miniaturowym sprzęcie przenośnym (na przykład
w telefonach komórkowych).
499
8. CVFAOWE 61.0KI FUNKCJONAl.NE
Zalety te powodują że szeregowe pamięci EEPROM są masowo stosowane w sprzęcie powszechnego użytku i w zastosowaniach profesjonalnych. Ich
wadą jest tylko ograniczona szybkość działania, co wynika z komunikacji
szeregowej.
Najczęściej stosowane są następujące protokoły transmisji szeregowej:
2-przewodowy protokół 12 C (IIC - I nter Integrated Circuit), opracowany
w firmie Philips,
3-przewodowy protokół SPI (Serial Peripheral Interface), opracowany
w firmie Motorola,
3-przewodowy protokół Microwire, opracowany w firmie National
Semiconductor.
Wszystkie te protokoły są synchroniczne, to znaczy wykorzystują sygnał
zegarowy do synchronizacji procesu przesyłania informacji cyfrowych.
Popularny protokół 12 C stosuje się przy częstotliwości standardowej
równej 100 kHz lub 400 kHz. Stosuje się również kompatybilny protokół SE2,
o częstotliwości l MHz. Pozostałe dwa protokoły 3-przewodowe stosuje się przy
c-~stotliwości 1- 3 MHz. Obszerne informacje aplikacyjne można znaleźć
w literaturze firmowej, m.in. firmy Microchip (http://www.microchip.com) oraz
firmy Philips [ 17].
Przykładem szeregowej pamięci EEPROM jest układ 24FC65 (Microchip) o pojemności 8 K x 8 = 64 Kb i protokole szeregowym SE2 (rys. 8.73).
Część pamięci o postaci bloku 4 Kb jest wykonana z komórek o podwyższonej
wytrzymałości na wielokrotne kasowanie i programowanie (gwarantowane
IO mln cykli). To umożliwia jego wykorzystanie do przechowywania danych
o większej częstości zmian niż dane w pozostałym bloku 60 Kb (gwarantowane
100 tys. cykli). Układ zawiera scalony generator podwyi.szonego napięcia do
programowania oraz wejściową pamięć kieszeniową (cache) w postaci bufora
pamięci FIFO (p. 8.4.3) o pojemności 8 stronic po 8 bajtów czyli 64 bajty.
a
Al)
A1
b
~
Dekoder
X
SCL
Układ
sterujący
SOA
Oe koder
V
Al)
Ucc
S4kb
A1
NC
Zotrzo.ski
A2
SCL
Matryco
pami~łOWO
stronic
Pomieć
kieszeniowa
Rys. 8.73
Pamięć
szeregowa CMOS EE.PROM 24FC65 (Microchip Tech110/ogy)
<') łehcmal błoł:<:>wy, b) rod::lad końcó'Aotk
500
Uss
8.4. BLOKI
PAM IĘCIOWE
Do sterowania, adresowania i dwukierunkowej transmisji danych do/z
pamięci służą tylko dwie końcówki: SCL (Serial CLock) i SDA (Serial Data/Address). Są one przyłączone do dwuprzewodowej magistrali szeregowej 12 L,
jak pokazano na przykładzie z rys. 8.74a. Impulsy sygnału SCL są wytwarzane
przez sterownik (master), czyli układ sterujący i synchronizujący przesyłanie
danych przez linię SDA (typowym sterownikiem jest mikroprocesor lub mikrokontroler). Końcówka SDA służy jako wejście lub wyjście danych, zależnie od
trybu pracy układu przyłączonego do magistrali. Końcówki AO, A I i A2 służą do
ustalenia adresu ukladowego w każdym układzie scerowanym (slave) USx, gdzie
xe {O, 1„.. 7} jest rów noważnikiem dziesiętnym słowa adresowego A2A I AO. Do
magistrali można zatem przyłączyć najwyżej osiem pamięci o różnych adresach.
Końcówki SDA w każdym układzie współpracującym z magistralą są wewnątrz
dołączone do wyjścia z otwartym drenem (i do wejścia odpowiedniego bufora),
czyli do linii SDA trzeba przyłączyć zewnętrzny rezystor podciągający RL
o typowej wartości ok. 1 kf.l.
Do magistrali w ogólnym przypadku może być przyłączony więcej niż
jeden sterownik, a le w danym czasie tylko jeden z nieb może zarządzać ruchem na
magistrali.
Postawowe operacje na magistrali ilustruje rys. 8.74b. Brak zajętości
magistrali (A) ma miejsce przy SCL = SDA = H. Polecenie START (B) i STOP
(C) jest wytwarzane przez sterownik odpowiednio na początku i końcu każdego
polecenia zapisu i odczytu z pamięci. Są to odpowiednie zmiany stanu na linii
SDA przy SCL = H. Poza tym stan na linii SDA może się zmieniać tylko przy
SCL = L, a przy SCL = H stan linii SDA musi być stabilny (D).
Po sygnale START sterownik wysyła baje sterujący, przedstawiony na rys.
8.74cd w zapisie zerojedynkowym. Najpierw przesyłany jest czterobitowy kod
typu układu sterowanego (dla układu 24FC65 jest to 1010), a następnie
trzy bitowy adres układowy jednego układu sterowanego na magistrali. Ostatnim
bitem bajtu sterującego jest sygnał Rf W, który stanowi o odczycie (stan I) lub
- w przykładzie z rys. 8.74d - o zapisie (stan O). Po przesłaniu całego bajtu
sterującego zaadresowany układ potwierdza przyjęcie tego bajtu sygna/em
potwierdzenia A (Acknowledge) czyli SDA = L w czasie dodatkowego impulsu
SCL = H generowanego w tym celu przez sterownik.
Z kolei sterownik przesyła do wybranej pam ięci 13-bi towy adres danych,
o postaci dwu kolejnych bajtów. Najpierw przesyłany jest bardziej znaczący bajt
z trzema zerami na najwyższych pozycjach, a następnie mniej znaczący bajt. Po
przesianiu każdego bajtu pamięć potwierdza jego odebranie jak poprzednio,
sygnałem A. Ostatnim bajtem przy operacji zapisu jest bajt danych, przesyłany
z układu sterownika do przerzutników zatrzaskowych w układzie pamięci. Po
wytworzeniu sygnału STOP pamięć przechodzi w stan wewnętrznego zapisu
danych do matrycy pamięciowej, w czasie którego pamięć nie odpowiada
sygnałem A po zaadresowaniu.
501
8. CYFROWE BLOKI FUNKCJONALNE
Uoc
a
SCL
SDA
set
SOA
SCL
SOA
us~
Sterownik
A2 A1
USS
US7
AO
Uoc
b
(A)1
ł~IAl
(0)
(8 )
SCL I
I
I
I
I
SOA~
:
:
:"I
I
/i
I
I
I
f START i
I
1
Ston
I
I
I
I
I
I
I
I
I
I
I
I
: :! \ !/:
!--.---!1
STOP
stabilny
Bajt steruJqcy
Storl I
c
"- I
1
I
;
I
I
Kod uklodu
(24 FC 551
I
I
I
I
d
~
~
Słowo
Bajt stecujqcy
odresu (1 J
SDA~oEEFJo,olololol
.
us"'?';'{~
I
T
E
Słowo
~
~
Oone
odresu IO)
I I I I lol I I I I I I I lol I I I I I I I lo[?l
'\ ~
A
c
K
A
c
K
t3 „ bitowy odres
danyc:łl
w pa mięci
Rys. 8.74 Budowa i działanie magistrali I' C z użyciem pamięci szeregowej EEPROM 24FC65
(Microchip Technology)
a) !ilrvktura ogólna magistrali 12C, b) pc>d~t<lwóweopc:racje na magisuali, c) fotma1baj1u $ltn.1~ocgo. ~) pmbicg na linii SDA priy
?.apisie błjlu do pami~ci o adtcsie układow)'ltl 11 I, ... 1
8.4. BLOKI PAM I ĘC I OWE
Podczas odczytu sterownik nie wytwarza sygnału A po odczycie bajtu
danych.
Oprócz typowego zapisu i odczytu pojedynczego bajtu danych, pamięć
24FC65 umożliwia również inne tryby pracy. W trybie zapisu stronicowego (page
write) możliwe jest przesłanie do pamięci kieszeniowej (cache) w układzie większej
liczby bajtów jeden za drugim (najwyżej osiem stronic, czyli do 64 bajtów). W tym
celu sterownik nie gener uje sygnału STOP po wysłaniu pierwszego bajtu danych,
lecz wysyła drugi bajt, trzeci itd . Po przyjęciu każdego bajtu rejestr wskaźnika
adresu jest automatycznie zwiększany o jeden. Dopiero po wysłaniu ostatniego
bajtu generowany jest sygnał ST OP, który uruchamia proces zapisu danych
z pamięci kieszeniowej do matrycy EEPROM. Czas cyklu i.apisu stronicy wynosi
najwyżej 5 ms.
Podobnie w trybie odczytu sekwencyjnego (sequentia/ ret1d), jeśli po
odczycie jednego baj tu danych sterownik nie wytworzy sygnału STOP, lecz
sygnał A, to pamięć 24FC65 wyśle na magistralę drugi bajt, później trzeci itd.,
dopóki sterownik nie wytworzy sygnału STOP. Wskaźnik adresu pamięci jest
inkrementowany automatycznie, co pozwala odczytać nawet całą zawartość
pamięci (nawet kilka razy) w jednej operacji, czyli po wpisaniu jednego adresu
początkowego.
Szeregowe pamięci EEPROM są stosowane w popularnych, „mądrych"
kartach pamięciowych o nazwie angielskiej Smart Card (http://www.smartcardsys.com), stosowanych m.in. w telefonach komórkowych GSM jako karty
identyfikacyjne użytkownika, a w Niemczech jako elektroniczne odpowiedniki
książeczek ubezpieczeniowych (Krankenkassenkarte). Karty te są bardzo perspektywiczne: w przyszłości zastąpią dowody osobiste, karty kredytowe i telefoniczne oraz będą służyć jako polisy ubezpieczeniowe, elektroniczne portmonetki
i środki płatnicze w komunikacji. Są one objęte przepisami normy ISO/ IEC 7816
(Identification Cards - Integrated Circuits with Comacts) i wytwarzane przez
wiele firm, m.in. Philips(http://www-eu.philips.com/ pbs/ pbs_sc.html), Bull CPB
(http://www.cp8.bull.net), Scl1lumberger (http:f/www.slb.com/et), ORGA
(http://ww.orga.co.uk), Siemens-Nixdorf (http://www.smartcardsys.com/sni/ ·sni.html) i SCM Microsystems (http://www.scmmicro.com). Niektóre karty nie
muszą być wkładane fizycznie do czytników, wystarczy zbliżenie do czytnika
znajduj ącego się np. za ścianą lub za drzwiami. Zasilanie tych kart jest pobierane
z czytnika drogą sprzężenia magnetycznego między anteną czytnika i anteną
w karcie. Takie karty ustąpią przepustki i będą służyć jako klucze w zam kach
elektronicznych. Waźne dane osobowe i finansowe są na kartach szyfrowane za
pomocą kodu RSA (Philips). Nazwa polska dla karty Smart Card nie jest jeszcze
ogólnie przyjęta w chwili pisania tego tekstu (czerwiec 97); być może będzie to po
prostu „karta elektroniczna" lub krótko „elkarta", albo - na wzór niemiecki
„chipkarta" (czipkarta)? Będzie ich prawdopodobnie kilka rodzajów, co dodatkowo utrudni nazewnictwo.
503
8. CYfROWl BLOKI FUNKCJONALNE
Pami ęci błyskowe
- Flash
8 .4.2.5
Specyfic-aią od mianę pamięci EEPROM stanowią pamięci kasowalne elektrycznie w całości lub w dużych blokach podczas szybkiej operacj i kasowania. Są to
pamięci błyskowe, określane w j ęzyku angielskim jako Flas/1 EEPROM . N ie
umożliwiają one kasowania pojedynczych bajtów. W od różnieniu od dwutranzystorowej struktury komórek pamięci EE PROM (rys. 8.70, 8.71), komórki
pamięci błyskowych są jednotranzystorowe, a więc mniejsze. Oznacza to niższy
koszt w przeliczeniu na bit.
Pamięci błyskowe zastosowano najpierw w tych urządzen iach, gdzie
zasadniczym trybem pracy tych pamięci był odczyt, a zmiana zawartości była
wykonywana raczej rzad ko. Typowy przyk ład stanowią pamięci z podstawowym systemem operacyjnym BIOS na płytach głównych i na kartach graficznych
komputerów. W miarę zwiększania pojemności i obniżania kosztów pamięci
błysk owe zaczęły stanowić alternatywę dla klasycznych pamięci masowych
o napędzie mechanicznym, takich jak dyski twarde i dyskietki. Pamięci blyskowe
oferują znacznie mniejsze wymiary i wagę, lepszą niezawodność i przenośność,
oraz niższą moc strat. Ich wadami są dość wysoki koszt i mniejsza pojemność
w porównaniu do dysków twardych.
Struktura przykładowej komórki pamięci błyskowej, wykonanej w technologii C MOS 0.6 1im firmy Ince/ i nazwanej jako ETOX IV (EPROM with
Tunnel OXitle), pokazana jest na rys. 8.75 [ 18). Jest ona podobna do struktury
FAM OS (rys. 8.65, 8.66), lecz grubość warstwy tlenku między bramką swobodną
a obszarem kanału wynosi zaledwie 10 nm. Charakterystyczne dla komórek
ETOX jest to, ie programowanie komórki (wpis zera - rys. 8.75a) jest
realizowane przez wstrzykiwanie gorących elektronów, czyli tak jak w pamię­
ciach EPROM . Natomiast kasowanie komórki (wpis jedynki - rys. 8.75b) jest
wykonywane w procesie tunelowym Fowłera-Nordheima, czyli ta k jak w pamię­
ciach EEPROM. W [18] omówiona jest również struktura komórek Triple-Poły,
stosowanych przez firmę SanDisk.
Istnieją dwa podstawowe rodzaje arch itektury pamięci błyskowych, które
określa się skrótowo jako NOR i NA ND (rys. 8.76). \V stru kturze NOR,
stosowanej przez firmę Intel, wiele tranzystorów komórek jest przyłączone
drenami do wspólnych lin.ii bitu. Komórki ETOX są kasowane w sposób
pokazany na rys. 8.75b, poprzez uziemienie bramki sterującej i przyłączenie
żródła do podwyższonego napięcia dodatniego UPP (metoda HSE: Hig/1- voltage
Source with grou11ded-ga1e Erase). Stosowane są również inne metody kasowania. Na przykład, firma AMD stosuje metodę NGSE (Negative Gate with posiiive
Source Erase), w której źródło przyłącza się do niewielkiego napięcia dodatniego
(ok. + 5 V), a na bramce ustała się podwyższone napięcie ujemne (ok. - 10 V).
Napięcie progowe przy kasowaniu musi być ściśle kontrolowane: musi być ono
dodatnie, aby przy zerowym napięciu bramki sterującej przez tranzystor
504
8.4. BLOKI
a
PAM I ĘCIOWE
U - 12V
'1
Bn:Jnko
$W(IÓO(ll'IO
IPROGRAMOWANIE I
IBromko slerujgoo I
U0 •Upp
Źródło n•
Podłoże
_[
b
Bramko steru·
I0
Garark! swobodna I
p
Podłoże
Rys. 8.75 Soruktura ko mórki pamięci błyskowej (Flaslo) o technologii ETOX IV (/111e/) (1 8)
<a) proces progr~1m(>wl'lni :l, b) iuoces k11.~ow3ni:i
komórki nie płynął prąd, ale nie może być zbyt duże, a by uzyskać możliwie duży
zakres rozróżnialności stanów logicznych komórki. Odczyt w struk turze NOR
jest bardzo prosty i polega na zaadresowaniu jednej linii słowa WL (napięcie
dodatnie ok. + 5 V) przy uziemionych źródłach tranzystorów komórek oraz
odczycie stanów na liniach bitu BL.
Struktury NAND (rys. 8.76b) mają prostszą budowę, lecz ich czas dostępu
w trybie odczytu jest znacznie dłuższy wskutek spowalniającego działania
szeregowego łańcucha komórek. Podczas odczytu na jednej z linii słowa WL
ustala się napięcie o wartości leżącej pomiędzy napięciem progowym po
kasowaniu i napięciem progowym po zaprogramowanin (p. rys. 8.66c), natomiast
na pozostałych liniach słowa ustala się napięcie wyższe niż napięcie progowe po
zaprogramowaniu, tak że wszystk ie niezaadresowane komórki łańcucha są
w stanie przewodzenia. Zarówno programowanie jak i kasowanie realizowane
jest w procesie tunelowym Fowlera- Nordheima. W odróżnieniu od struktur
NOR, po skasowaniu napięcie progowe w komórkach struktur NAND nie musi
być ściśle kontrolowane, co stanowi zaletę. Struktury NAND są stosowane
w pamięciach błyskowych m.in. firm Toshiba i Samsung.
505
8. CYFROWE BLOKJ FUN KCJONALNE:
o
BI.O
8U
Bl2
BL
b
Rys. 8.76 Architeklury
pami~-ci
błyskowych:
>) NOI\. b) NANO
Na rysunku 8.77 przedstawiono symbol logiczny i rozkład końcówek
w przykładowej pamięci błyskowej typu Am29FOIO (AMD), o pojemności
128 K x 8 b = I Mb. Matryca pami~i jest typu NOR i jest zorganizowana
w postaci 8 sektorów po 16 KB, które mogą być niezależnie kasowa ne (wszystkie
506
8.4. BLOKI
PAMIĘCIOWE
a
Am 29F010
AO-A16
000-007
---1
CE(E)
-
-
OE(G)
-
- - ' WE(W)
-1
b
-"' -'°
<O
4 3
•
A7
A6
6
AS
A4
A3
A2
7
A1
AO
DOO
(.)
z
<( <(
8
Am29F010
9
10
11
12
13
28
27
26
25
24
23
22
21
A14
A13
AS
A9
A11
OE (G)
A10
CE (E)
007
Rys. 8.77
-
"'
oo
oo
Pamięć błyskowa
Am29FOIO (AMD)
Cl)
Cl)
::>
M
v '° <O
o
o
oo
o o oo
a) S)"'mbol logiciny,
b) rozkbd koócówc-k w obudovo'ie
PLCC
bity w stan I). Nie jest wymagane do tego celu żadne inne napięcie poza
standardowym napięciem zasilania +5 V.
Standardowym trybem pracy pamięci, ustalanym automatycznie po
włączeniu zasilania, jest tryb odczytu. Czas dostępu w tym trybie wynosi od 45 do
120 ns, zależnie od wersji układu. Uruchomienie pozostałych trybów pracy (zapis
507
8. CYFROWE BLOKI FUNKCJONAl.NE
bajtu, kasowanie sektora lub kasowanie całej pamięci) wymaga dość złożonego
sterowania. Aby uniemożliwić przypadkowe skasowanie zawartości pamięci,
kasowanie sektora jest procesem wymagającym sześciu cykli sterowania, w czasie których podaje się kolejno na wejścia pamięci odpowiednie adresy i dane,
zgodnie z przepisami wytwórcy. Zapis bajtu wymaga czterech cykli, przy czym
oczywiście możliwa jest wyłącznie zmiana stanów bitów z 1 na O. Aby przywrócić
stan 1 choćby jednego bitu w sektorze uprzedn io zaprogramowanym, trzeba
skasować cały sektor. Czas zapisu bajtu wynosi minimum 14 JlS, a czas kasowania
sektora minimum 2.2 s.
W nowszych pamięciach błyskowych wprowadza się komórki o wielo·
poziomowym programowaniu napięć progowych. W przykładowym układzie
pamięci o pojemności 128 M b (16 MB) o st rukt urze NAND, wykonanym
w firmie Samsung z użyciem technologii CMOS 0.4 µm (19), zastosowano trzy
poziomy programowania i jeden poziom kasowania, czyli jedna komórka
umożliwia przechowywanie dwu bitów (rys. 8.78a). Aby uzyskać wysoką precyzję
rozkładu trzech dodatnich napięć progowych, wprowadzono przyrostowe
programowanie impulsowe z bieżącą kontrolą. Matryca 64 M komórek jest
utworzona w postaci 16 K wierszy i 4 K (plus dodatkowe 128) kolumn oraz dzieli
się na 1024 bloki po 16 KB (rys. 8.78b). Każdy blok odpowiada jednemu
wierszowi o 4 K łańcuchów NAN D po 16 komórek, c-.i;yli po 32 b. Każdy wiersz
dziel i się na dwie stronice po 512 + 16 bajtów. Programowanie i odczyt realizuje
się w jednostkach stron ic, natom iast kasowanie w blokach 16 KB. Typowy czas
programowania stronicy wynosi 900 ~ts, czemu odpowiada szybk ość programowania ok. 0.5 MB/s. Maksymalna szybkość odczytu wynosi 14 MB/s.
Moduły pamięci błyskowych
- Flash
8 .4.2.6
Do zastosowań w komputerach przenośnych typu „informat ki" (1101ebook) oraz
typu „informika" (palmto p), jak równ ież do wielu innych urządzeń przenośnych,
takich jak na przykład cyfrowe aparaty fotograficzne i telefony komórkowe,
wytwarlane są specjalne, miniaturowe moduły pamięci błyskowych (Flash).
Najczęściej stanowią one funkcjonalne odpowiedniki dysków twardych bądź
typowych dyskietek. Moduły te są wytwarzane w postaci kart lub kostek,
których wymiary, sposób połączeń i programy obsługi są standaryzowane. Mają
one liczne zalety w porównaniu z dyskami magnetycznymi:
miniaturowe wymiary i wagę,
mniejszy pobór energii,
lepszą niezawodność i długowieczność,
lepszą odporność na wstrząsy,
szerszy zakres temperatury pracy,
bezszmerowość pracy - nie wymagają stosowania napędów mechanicznych.
508
8.ł.
BLOKI
PAMIĘCIOWE
a
n;
'
2fJV
I, 0.8V I
I
Q4V I
II
I
I
I
~
I
- 2.0
0.4
)
I
I
I
I
I
I
I
I
I
I
I
I
I
•I
I
I
I
I
I
I
I
Vr
2.8
1.6
V
·oo·
· 01·
' 10"
b
I o 0.8V
I
Butor stronicy 1 ~k«>*ł' kcturM
110 o
110 ,
1102
110 3
1104
110 5
1106
110 7
Blok O
Blok 1
Molryco 64 M
Blok I023
!Mor 110
ooo
Rys. 8.78
001
• • •
Pamięć błyskowa
006 001
128 Mb (Samsung) (19]
a} roztlad napię(: programowan\J w dwutMIO'WłJ
b) 1,11pros:vaon1 łehcmal tilalo..-y uklll.du
ł.omórte pamięci.
Pamięć błyskowa jest niewrażliwa
na działanie pól magnetycznych, które
mogą uszkodzić dane pamiętane na dyskietkach. Gniazda dla typowych kart są
latwo dostępne od zewnątrz (zazwyczaj z boku) urządzeń je stosujących i nic
wymagają ingerencji wewnątrz urządzenia uak przykładowo karty grałiczne PCI
w komputerach).
Wadami kart pamięci błyskowych w p0równaniu z nośnikami magnetycznymi jest ich wyższa cena w przeliczeniu na bajt oraz ograniczona
p0jemność.
W 1997 roku byly znane
kowych:
509
następujące
rodzaje
modułów pamięci błys­
ł.
CYFROWE BLOKI FUNKCJONALNE
karty PC Card, często określane jako „karty PCMCIA",
karty kompaktowe: Compact Flash (CF),
karty miniaturowe: Miniature Card (MC),
pólprzewodnikowe dyskietki: Solid State Floppy Disk Card (SSFDC).
moduły SIMM: Flash Single-In- Line Memory Mod11/e.
Pierwszym, szeroko stosowanym w praktyce standardem stał się standard
P CM CIA. Akronim ten pochodzi od nazwy stowarzyszenia Personal Computer
Memory Card Interna1io11Cll Associatio11, zorganizowanej w roku 1989 przez
grupę firm zainteresowanych wytwarzaniem i upowszechnieniem takich standaryzowanych kart., które mogą zawierać pamięć nieulotną łub różne urządzenia
wejścia/wyjścia (najczęściej modemy i karty sieciowe). Stowarzyszenie PCMCIA
(www.pc-card.com) opracowało kilka wersji standardu takich kart, które noszą
nazwę PC Card. Wersja o numerze 2.1 zostala wprowadzona w roku 1993,
natomiast w roku I 995 zostało wprowadzone znaczne rozszerzenie tego
standardu, obejmujące m.in. magistralę 32-bitową Card Bus, tryb DMA
i zasilanie napięciem 3.3 V.
Standard PCMCIA obejmuje trzy typy kart. Wszystkie mają tę samą
długość (85.6 mm) i szerokość (54.0 mm), co odpowiada rozmiarom typowych
kart kredytowych (rys. 8.79a). Typ I, Il i III mają grubość odpowiednio 3.3, 5.0
i 10.5 mm (rys. 8.79b). Z jednej strony karty umieszczone jest 68-stykowe gniazdo
szpilkowe, o standardzie opracowanym przez japońskie stowarzyszen ie JEIDA
(Japan Electronics llldustry Development Association). Cieńsza karta (np. typu I)
może być umieszczona w kieszeni dla grubszej karty (op. typu II lub III), ale
oczywiście nie odwrotnie.
lstalacja karty PC Card jest równie prosta jak włożenie dyskietki:
wystarczy ją wsunąć w odpowiedni otwór w urządzeniu tak, aby jej gniazdo
trwałe połączyło się z wtykiem. Dużą zaletą kart PC Cart/ jest możliwość
ich wkładania, wyjmowania i zamiany „na gorąco" (hot swapping), to znaczy
bez potrzeby wyłączania urządzenia (komputera). Specjalne wydłużenie styków
zasilania w złączu karty zapewnia, że przy wkładaniu najpierw włącza się
zasilanie karty, a przy wyjmowaniu odwrotnie. Automatyczna konfiguracja
przy wkładaniu karty następuje po odczytaniu przez komputer danych opisujących właściwości karty (CIS - Card lnformation Strucwre), zawartych
w odrębnej pamięci na karcie. Do obsługi karty służy oprogramowanie
Card ar1d Socket Services, które zazwyczaj stanowi część systemu operacyjnego
komputera. Również BIOS komputera musi być odpowiednio przystosowany
do zapewnienia właściwej konfiguracji karty. W pewnych przypadkach potrzebne są również aktualne sterowniki programowe (drivers).
Istnieją dwa typy interfejsów kart PCMCIA: klasyczny i najbardziej
rozpowszechniony, 16-bitowy PC Card (zbliżony do standardu ISA dla
magistrali komputerowych) i nowszy, szybszy, 32-bi towy CardBus (zbliżo­
ny do standardu PCI), wprowadzony w roku 1995. Zasilanie kart z parnię510
8 4 BlOKI
PAMI ĘCIOWE
o
~--1-[68 -sty«owe
5'.0mm
gnlo2do szpilkowe
--~=~--
Rys. 8.19 Wymiary i typy ka rt PC MC IA (PC Card)
ciami blyskowymi było początkowo zróżnicowane: + 5 V do odczytu i
+ 12 V do programowania i kasowania. Później upowszechni! się standard
jednolitego zasilania + 5 V, a następnie zostal także wprowadzony jednolity
standard + 3.3 V.
Karty PCMCIA z pamięciami błyskowymi są wytwarzane w dwu
głównych kategoriach:
o adresowaniu liniowym, umoż.liwiającym dostęp do pojedynczvch bajtów
lub 2/4 - bajtowych słów w sposób typowy dla pamięci półprzewod­
nikowych RAM, oraz
o adresowaniu sektorowym, umożliwiających dostęp do pojedynczych
sektorów pamięci (o typowej wielkości 5 12 bajtów) w sposób typowy dla
obsługi plików w systemach operacyjnych.
Karty o adresowaniu liniowym (Linear Flash Cards) umożliwiają bezpośrednie
włączenie ich pamięci do zasobów pamięci komputera, w którym są stosowane.
Umożliwia to bezpośrednie wykonywanie programów zapamiętanych na karcie
(XIP - eX ecute-In- Place). W typowym komputerze, aby wykonać program
pamiętany na dysku, trzeba go najpierw załadować (w całości lub części) do
pamięci RAM. Gdy używa się karty o adresowaniu liniowym krok ten jest
zbyteczny, a ponadto uzyskuje się oszczędność pamięci RAM . Jeśli natomiast
511
8. CYFROWE BlOKI FUNK.CJONAlNE
karty w sposób typowy d la pamięci masowych,
przez system operacyjny komputera (czyli przy użyciu standardowych sektorów logicznych i plików), to trzeba użyć dodatkowej warstwy
oprogramowania translacyjnego. Stosuje się do tego celu dwa programy: FFS
(Flash File System) - zazwyczaj w nowszej wersji FFS2 oraz FTL (Flash
Translation Layer). Program FT L jest szybszy (zwłaszcza gdy używa się kart
o większej pojemności). Istnieją wersje programu FTL dla różnych systemów
operacyjnych, w tym DOS, Windows 3.1, Windows 95 i Windows CE. Programy
te muszą być wykonywane przez procesor komputera.
Działanie programu FTL przedstawia rys. 8.80. Program ten stanowi
warstwę pośrednią między systemem plików (np. DOS) i oprogramowaniem
Card and Socket Services. Program FTL dzieli odrębnie kasowalne bloki pamięci
błyskowej na sektory Read/ l#ite (R/W) o tej samej wielkości co sektory DOS
(512 bajtów). Jednak system DOS umożliwia modyfikację dowolnych sektorów
w dowolnym czasie, natomiast zapis do sektora w pamięci błyskowej jest
możliwy tylko po uprzednim skasowaniu całego bloku. Dlatego po otrzymaniu
żądania zapisu z DOS program FTL skierowuje je do pierwszego wolnego (to
znaczy jeszcze niezapisanego po skasowaniu bloku) sektora w pamięci błyskowej
na karcie. Zawartość kolejnych sektorów DOS może być zatem umieszczona
w różnych blokach i sektorach w pamięci błyskowej.
Karty pamięci błyskowych o adresowaniu liniowym są wytwau.ane
zazwyczaj jako karty typu I, z użyciem układów pamięci błyskowych o architekturze NOR. Do głównych wytwórców zalicza się firmy Int.el (www.intel.com),
AMD (www.amd.com) i Simple Technology (www.simpletech.com/pccard). Na
przykład, karty z serii D firmy AM D są wytwarzane o pojemności od 4 do 32 MB
z użyciem układów pam ięci błyskowych Am29F016C (o pojemności 16 Mb
i kasowalnych blokach 16 KB) i są zasilane wyłącznie napięciem + 5 V.
trzeba
wykorzystać pamięć
obsługiwanych
,,...-
........
Sektory ~
./
' o
"-..
z
~
~
1
2
3
6
7
8
/
_
R/W l
Sel<ł.12
fTL
/
..........
_;,,
Pr~kłod :
ź<iclo donycti
OO
14 -
12
13
../
16
17
18
3-
z sek toro 14fTLskierowuje
żQdonie do
bloku RJW21
Numer sektora
f"unkcjo FTL
512
-
-
---r--
....
.....
--...._
--...._ „RIW21
"
Sektl4
>
L--==--';..._~
Rys. 8.80 Zasada działa nia programu FTL
RNl5 RIW6 RJW1
Skosowony
Sekt.O
f. ·,
..........
4
11
DOS
~
eł< l65
RNl2 RNl3
Sel<t.6 Sekt.19
Mopo lokocji fizycz nych w pomięci
błysl<owej
ogicznie
Wolny
lskosowony
f1zyczniel
8_4. BLOKI
PAM IE,CłOWE
Maksymalny czas dostępu wynosi 150 ns, a czas kasowa nia jednego bloku
wynosi typowo l s.
Karty o adresowaniu sektorowym zawierają oprócz pamicci blyskowej
specjalny mikrokontro ler, który do wspólpracy z kompu terem rea lizuje funkcję
standardowego interfejsu ATA (AT At1aclm1e111). W ten sposób karta imituje
twardy dysk i nie wymaga już stosowania dodatkowego oprogramowania
translacyjnego, angażującego procesor komputera. Z drugiej strony karty te są
droższe od poprzednich i mają większą moc strat (mikrokontroler) oraz nie
umożliwiają realizacji funkcj i XIP.
Karty te są wytwarzane zazwyczaj ja ko karty PCMCIA typu Il i zaw ierają układy pamięci błyskowych o architekturze NAND. Do głównych wytwórców
tych kart należy lirma Sa11Disk (www.sandisk.com) i wspomniana poprzednio
lirma Simple Tech11ology.
Ka rty lirmy SanDisk z serii Flash Disk Type I I A TA są wytwarzane
o pojemności od 2 do 85 M B, a grubsze karty Type 111 o pojemności od 110 do
220 MB (w roku 1997). Zasadniczą wadą tych kart jest ich relatywnie wysoki
koszt, wynoszący w 1997 roku ok. 20$/M B.
Złącza PCMCIA są standard owo wbudowane we wszystkich nowoczesnych komputerach przenośnych. Aby jednak użyć kartę PCM CIA w sta nda rdowym „biurkowym" komputerze PC, trzeba go wyposażyć w czytnik kart
PCMCIA (PCMCI A card reader/writer). Czytniki takie są oferowane przez wiele
lirm, np. Adtron, CN F, CSM i Data/O. Czytni k po zainstalowaniu jest zazwyczaj
automatycznie wykrywany przez system operacyjny lłindows 95. Procedura
dodania złącza PC MCIA jest również dostępna z menu Mój komputer/ Panel
sterowania. Po włożeniu karty system ją natychmiast automatycznie wykrywa
i przyporządkowuje kolejną literę napędu w menu Mój kompurer.
Zgodnie z trendem miniaturyzacji przenośnego sprzętu elektronicznego
został zaproponowany przez firmę Sa11Disk w roku 1994 nowy standard CF dla
kart pamięci blyskowych, zwanych kompaktowymi (Compact F/aslr). Do promocji
tego standardu zostało w roku 1995 utworzone stowarzyszen ie Compact Flash
Associatio11 (www.compactflash .org), analogiczne do PCMClA. Ka rla CF
stanowi w istocie zminiaturyzowaną odmianę karty PCMCIA typu I z adresowaniem sektorowym przez interfejs ATA (zawiera wbudowany mikrokontroler).
Powierzchnia karty CF została istotnie zmniejszona, tak że jej wymiary są
następujące: 43 x 36 x 3.3 mm. Oznacza to jedną czwartą obj~tości karty
PCMCI A t ypu li. Złącze również zostalo zmniejszone i zawiera tylko 50 styków.
W razie potrzeby, karta CF może być umieszczona w prostej , biernej karcie
adapterowej PCMCIA typu II i pracować jak karta PC Card.
Dzięki swym małym rozmiarom karty CF zostały z powodzeniem
zastosowane w nowych, cyfrowych aparatach fotograficznych. Jedna karta
CF o pojemności 2 MB może zapamiętać 20-24 cyfrowo skompresowanych
zdjęć z 24-biiO\vą rozd.zielczością koloru. Po jej przeniesieniu do komputera
513
8. CYFROWE BLOKI FUNKCJONALNE
b
Słyk• l!051loniQ i do wykrywonio włottnio korty
Obsodo
~lostykowo
ł QCze
elastomerowe
Rys. 8.SI Karta miniaturowa (Miiliawre Card)
a) W)'miary, b) zł;ic;tc dastomcrow~
z
drukarką kolorową
można otrzymać
praktycznie natychmiast.
Zawartość karty można przenieść na dysk komputera lub skasować. W ten
sposób jedna karta może być używana ponad I OO lat do wykonania setek
tysięcy zdjęć. Nie istnieje problem „naświetlenia filmu do końca", a wykonane
zdjęcia można łatwo przesyłać pocztą elektroniczną i przechowywać. F otografowanie stanie się mniej kosztowne, gdyż nic trzeba będzie kupować ciągle
nowych rolek filmu.
Karty CF umożliwiają bardzo elastyczne, alternatywne zasilanie: + 5 V
oraz + 3.3 V. Oznacza to, że karta CF pracuje przy każdym z tych dwu napięć
usilających. Dostępne w roku 1997 karty CF miały pojemność 2, 4, IO i 15 MB.
Mniejszymi odpowiednikami kart PCMCIA o adresowaniu liniowym są
karty mi11iaturowe (Miniature Cart/). Standard MC został wprowadzony przez
stowarzyszenie firm o nazwie Mi11iature Card lmpleme111ers Forum (www.mcif.
.org). Są to karty w założeniu wielofunkcyjne, czyli oprócz pamięci błysko­
wych mogą zawierać pamięć RAM lub ROM. Rozm iary mają zbliżone do kart
CF (rys. 8.8 1a), lee-.: mają inny typ złącza. Na „przedniej" (wsuwanej) krawędzi
mają tylko trzy styki (masa, Ucc i styk C/NS do wykrywania wkładania karty).
Główne 60-stykowe złącze znajduje się też z przodu, lecz pod spodem karty (rys.
8.81 b). Jest to złącze elastomerowe, wykonane z naprzemiennych warstw
przewodzącego i nieprzewodzącego silik onu. Po włożeniu karty warstwy te
514
fotografie
8.4. BLOKI
PAMI ĘCIOWE
ulegają ściśnięciu i wtedy ich rezystancja znacznie maleje, tworząc dobre
i niezawodne kontakty elektryczne. Karty te są również obsługiwane przez
program FTL i mogą być umieszczane w złączach PC Card z użyciem
odpowiednich adapterów.
Pamięci błyskowe są również wytwarzane w postaci innych modułów. Niektóre
z nich
są
wymienione
niżej.
Półprzewodnikowa dyskietka (Solid- State Floppy Disk - SSDFC) w postaci układu scalonego z pamięcią błyskową 2 MB. Do jej użycia
potrzebny jest dodatkowy adapter do złącza PC Card z mikrokontrolerem AT A.
Dysk błyskowy (Flaslt Drive) z interfejsem IDE, do wbudowania na stale
wewnątrz urządzenia (SanDisk).
Moduł błyskowy SIMM, głównie do zastosowań w drukarkach i urządze­
niach sieciowych.
Inne rodzaje
pamięci
8.4.2.7
Poniżej będą krótko omówione pamięci kolejkowe (FIFO), stosowe (LIFO)
i skojarzeniowe (CAM).
Pamięć kolejkowa stanowi odmianę pamięci szeregowej, charakteryzującej się następującymi cechami:
wprowadzanie i wyprowadzanie danych następuje asynchronicznie lub
synchronicznie na niezależnych wejściach i wyjściach pamięci,
kolejność wyprowadzania danych jest narzucona przez kolejność wprowadzania,
wprowadzane słowa danych są automatycznie zbierane w komórkach
najbliższych do wyjść, dzięki czemu są one dostępne bezpośrednio po
wprowadzeniu.
Ten tryb pracy przyczynił się do powstania skróconej nazwy pamięci
- FIFO (First- In, First- Out). Pracę pamięci FIFO obrazowo ilustrują przykłady,
związane z obsługą konsumentów stojących w kolejce w celu zakupu np. lodów.
Liczba osób w kolejce (zawartość pamięci) zależy od szybkości dochodzenia
nowych klientów i szybkości ubywania klientów z kolejki w trakcie obsługi.
Przyjmując dla uproszczenia, że przybywający klienci nie mają znajomych wśród
osób stojących w kolejce, ani tzw. zarezerwowanych miejsc (,ja tu stałem"), tryb
przesuwu osób w kolejce, od chwili przybycia do odejścia, może być określony
przez wymienione wyżej trzy zasady.
Głównymi parametrami pamięci FIFO są pojemność C (nazywana tutaj
„głębokością") i czas przejścia t1 . Znaczenie C jest oczywiste, natomiast t 1 określa
odstęp czasu potrzebny na przejście słowa danych po jego wprowadzeniu z wejść
do wyjść pustej pamięci. Wartość t1 zależy w znacznej mierze od konstrukcji
515
8. CYFROWE BLOKI FUNKCJONA.LNE
pamięci.
Istotna jest również maksymalna szybkość wprowadzania i wyprowadzania danych.
Istnieją dwie zasadnicze metody konstrukcji pamięci FIFO: w oparciu
o rejestr przesuwający lub pamięć RAM. Pierwsza metoda umożliwia najprostszą budowę pamięci, która jednak ma relatywnie długi czas t . Druga metoda
1
umożliwia uzyskanie krótkiego czasu t 1 , lecz budowa pamięci jest bardziej
skomplikowana.
Zasadę stosowania pierwszej metody pokazano na rys. 8.82. Przykładowy
trzybitowy układ zawiera rejestr danych (o si.eregowych wejściach i wyjściach)
i związany z nim rejestr prowadzący o dwóch wejściach sterujących (wejście
wprowadzenia SI, wejście wyprowadzenia SO) i dwóch wyjściach sygnalizacyjnych, zwanych również wskaźnikami stanu (I R - gotowość wejścia, OR
- gotowość wyjścia). Działanie u kładu jest takie, aby przy wprowadzaniu
kolejnych słów danych przesuwać je do najdalszych od wejścia nie zajętych
komórek. Funkcję "przeprowadzania" słów danych między kolejnymi grupami
przerzutników rejestru danych spełnia rejestr prowadzący, przy użyciu "wiodą­
cego" znacznik a (marker) o stanie logicznym równym l, przesuwanym asynchronicznie do najdalszego przerzutnika o stanie równym O. Jeśli przykładowo
stan początkowy rejestru jest tak i, 'l.e Q, = Q2 = O i Q3 = I (tzn. dwie pierwsze
komórki są wolne, a trzecia jest zajęta), to bramki BI , B2 i B4 są odblokowane,
a bramka B3 jest zablokowana. Ponieważ IR= l, zatem można wprowadzić
jedno słowo do rejestru danych, synchronicznie z sygnałem sterującym SI = I.
Stan Q, = I stanowi znacznik (bl okujący BI), który się jednak natychmiast
przesuwa do przerzutnika Pl, blokuj ąc bramkę B2 i odblokowuj ąc z powrotem
81. Chwilowy stan S2 = I powoduje również zmianę stanu przerzutnika Pl
z powrotem do stanu Q, = O, który generuje znowu IR= I, sygnalizując
gotowość do następnego wpisu. Przy odczycie Geśli OR= I, tzn. jeśli znacznik
sygnalizuje obecność słowa danych na wyjściu), można odczytać informację
z wyjścia rejestru danych, generując następnie sygnał SO= I, co powoduje
skasowanie znacznika w P3, odblokowanie B3 i przesunięcie znaczników
i prowadzonych pri.ez nie danych o jedną pozycję.
Należy zauważyć, że sygnał wyjściowy l R na wyjściu bramki B7 oznacza
nie tylko stan gotowości przerzutnika PI , lecz także właściwe ustawienie
przerlutnika SR utworzonego z bramek B5- 86. Właściwe ustawienie począt­
kowe otrzymuje się w wyniku ch oćby chwilowego stanu SI = O, gdyż wprowadzanie kolejnych danych musi być synchronizowane dyskretnymi impulsami
sterującymi (i.egarowymi). Podobne działanie ma układ sterowania odczytu
(przerzutnik B8- B9, bramki 84, BIO).
Czas przejścia c1 jest mierzony po wyzerowaniu rejestru prowadzącego
(czyli w opróżnionej pamięci) od rosnącego zbocza sygnału SI, który ustala
znacznik w pierwszym przerzutniku tego rejestru, do rosnącego zbocza sygnału
OR, który sygnalizuje obecność znacznika w ostatnim przerzutniku. Podobnie
516
8.4. BLOKI PAM I ĘCIOWE
Oo pozostofych bitów
~
o
~
~
o
2
;;;
</)
15
M
"'o
o
o
Sł'Ów
</)
15
15
Cl
C1
R
1R
_jł~~T.!!_ ~f'!YC.!!
REJESTR
o
_
PROWADZĄCY
P1
PJ
s
i-.-
R
R
R
B7
&
--<S
JR
R ys. 8.82 Zasada budowy
OR
pamię<:i
FIFO w oparciu o rejestr
przesuwający
przy pełnej pamięci, czas przejścia dotyczy „ruchu" braku znacznika z ostatniej
komórki (co następuje przy odczycie) do pierwszej komórki.
Podobne działanie ma miejsce przy odczycie. Ponieważ sygnał zerujący
MR kasuje tylko wszystkie znaczniki w rejestrze prowadzącym, zatem na wyjściu
danych utrzymuje się ustalone poprzednio (ostatnie) słowo, przy czym oczywiście
OR = O. Taka sama sytuacja ma miejsce po opróżnieniu pam ięci w takt sygnału
SO. Należy pamiętać, że stan OR = I sygnalizuje obecność tylko ważnych
dan ych do odczytu, czyli przy stanie OR = O dane na wyjściach należy
ignorować.
Rysunek 8.83 ilustruje budowę i działanie synchronizowanej pamięci
FIFO 256 x I, wykorzystującej dwuportową pamięć S-RAM. Dwie takie pamięci
FIFO są zawarte w układzie SN74ACT2228 (Texas Instruments) (20). Wybór
komórek przy zapisie kolejnych bitów i ich odczycie następuje za pomocą
517
8. CYFROWE BL01(1 FUNKCJONALNE
a
o
+
Synchroniczne
sterowonie
Odczyte m
RDCLK
ROEN
Kom6rko 1
.
-
~
Wskoinik
~
Komór ko 2
Odc.zyttJ
f-,/
Owuportowo
pomi ę ć
5 „RAM
WRTCLK
Synchr oniczne
s te rowa nie
zapise m
WRTEN
••
·•
-
WskoŹnik ~
zapisu
t-V
256.c 1
Komór ko 255
Komór ko 256
+
Rejestr
a
•
Generocja
zerujqcy
HF
sta nu
U kład
'----
AF/AE
flog
~
IR
.
OR
b
WRTCLK
WRTEN
I
I
I
I
I
'*
DM., @•2 ~ •• tAAI•• ą ·:·· ~ 81:29 ą ~·· ~ ~.,
RC>CLK
~~~J!l_
I
I
I
I
RDEN _--·----------'------r'----~'----~'----~'-~·~
AF/AE
IR
Rys. 8.83 Synchronizowana
pa mięć
FIFO 256 x I (1/2 SN74ACT2228, Texas fostr11menrs)
a) budowa logiczna. b) pnebiegi ttl:l.$()\W'e przy t.'ip~ie. c} prubtcgi CU1.sowc przy odczycie
dwu liczników adresowych: wskaźnika zapisu i wskaźnika odczytu. Czynności
zapisu i odczytu są synchronizowane (clocked) w tym sensie, że kolejne dane
z wejścia D są wpisywane narastającym zboczem zegara wpisuj ącego WR'ICLK,
518
8.4. BLOKI
PAM IĘC I OWE
(
Qlł'f
~--------------------------Hl
WRTCUC
""'"-.---'
OR
AFIAE
"'
IR
gdy na weJSC1u zezwolenia zapisu WR1EN i na WYJSC1u gotowosc1 zapisu
IR są poziomy H. Analogicznie odczyt z pamięci na wyjście Q następuje
synchronicznie z narastającym zboczem zegara czytającego RDCLK gdy
na wejściu zezwolenia odczytu RDEN i na wyjściu gotowości odc-ątu OR
są poziomy H. Sygnały zegarowe zapisu i odczytu mogą być wzajemnie
asynchroniczne. Flaga IR jest synchronizowana wewnętrznie z zegarem zapisu
WRJCLK, a flaga OR jest synchronizowana z zegarem odczytu RDCLK.
Taka synchronizacja zapewnia poprawność dzialania pamięci przy asynchronicznym wpisie i odczycie danych. Ponadto uklad pamięci generuje flagę
zapelnienia połowicznego HF (Half- Full) i nagę 'n iemal pelna/ niemal pusta'
AF/AE (Almost- Full/Almost- Empty). Pierwsza jest ustawiana gdy liczba zapamiętanych bitów jest równa lub większa niż połowa glębokości pamięci
FIFO. Druga jest ustawiana gdy pam ięć zawiera osiem lub mniej pustych
komórek i gdy pamięć zawiera osiem lub mniej zapisanych komórek. Ilustrują
to prtebiegi pokazane na rys. 8.83ab. Częstotliwość sygnalów zegarowych
może sięgać 22 M Hz, a czas dostępu wynosi 20 ns.
Firma Texas Instr11me11ts wytwarza uklady pamięci F IFO w bardzo
dużym asortymencie i o różnych trybach synchronizacji (20).
Pamięci F IFO mają liczne zastosowania. Najczęściej są one stosowane
jako pamięci buforowe między systemami cyfrowymi o różniących się lub/i
niesynchronizowanych szybkościach przetwarzania danych. Dane mogą być
519
ł
CYFROWE 8LOICI ruNKCJONALNE
wprowadzane i wyprowadzane z pamięci FI FO w sposób ciągły lub nieregular·
ny, np. seriami o różnej długości i różnych wzajemnych odstępach czasowych.
Podobne działanie do opisanych pamięci FIFO mają pamięci stosowe
LIFO (LAsr- fo, First- 0111), w których kolejność wyprowadzania danych jest
odwrotna do kolejności wprowadzania. Na.zwa pamięci stosowej pochodzi
z typowej analogii np. stosu talerzy w kuchni, na wierzch którego kolejno kładzie
się świeżo umyte talerze i z którego na bieżąco również zdejmuje się kolejne
talerze w celu ich wykorzystania. Pamięci LI FO nie są jednak wytwarzane jako
odrębne układy scalone. Zwane skrótowo jako ,,stosy" stanowią one typowe
bloki składowe mikroprocesorów, gdzie służą m.in. do pamiętania adresów
powrotnych przy realizacji podprogramów.
W wielu praktycznych zastosowaniach poszukuje się określonych informacji w dużych zbiorach danych, przy czym adresy tych informacji nie są znane.
Na przykład, w dużym zbiorze liczbowym wyników eksperymentu poszukuje się
konkretnych liczb zawartych w określonym przedziale. Przy gromadzeni u tych
danych w klasycznej pamięci RAM trzeba je kolejno odczytywać i ewent ualnie
sortować zgodnie z określonym algorytmem. Jest to proces sekwencyjny, który
może trwać relatywnie długo. W takich przypadkach znaczne przyspieszenie
wyszukania żądanych informacji zapewnia użycie pamięci skojarzeniowych,
zwanych również pamięciami adresowanymi zawarwścif1 (CAM - Coment
Addressable Memory). Pam ięć CAM umożliwia szybkie, jednoczesne (a nie
sekwencyj ne) badanie całego zbioru zawa rtych w niej słów danych oraz wykrycie
jego podzbiorów spełniających określone relacje odnośnie danych. Proces ten
polega na równoległym porównaniu wszystkich słów danych ze słowem
wzorcowym podanym w tym czasie na wejście wzorcujące pamięci. Wynikiem
porównania może byc brak skojarzenia bądż wykrycie jednego lub wielu
skoja rzeń. Operacja porównania może być modyfikowana przez maskowanie
(tzn. nieuwzględnianie przy porównywaniu) poszczególnych bitów we wszystkich słowach pamięci. Dzięki temu można wykrywać określone podzbiory
danych. Można zauważyć, że skojaneniowy sposób wyszukiwania informacji
jest charakterystyczny również dla mózgu ludzkiego, oczywiście w znacznie
bardziej złożonej postaci.
Prosty przykład struktury pamięci skojarzeniowej, stosowanej jako
szybka kartoteka, pokazano na rys. 8.84. Z lewej strony jest pokazany
blok słów jednocześnie porównywanych ze słowem wzorcowym, a z prawej
strony blok słów poszukiwanych danych. Zakładając, że w bloku skojarzeniowym nie ma jednakowych słów, przy wystąpieniu zgodności między
którymś z zawartych w nim słów i słowem wzorcowym następuje aktywizacja
odpowiedniej linii adresowania liniowego pamięci danych i wyprowadzenie
na wyjścia wyszukanego w ten sposób słowa danych . Można sobie wyobrazić,
że prtyk ład ten reprezen tuje listę personalną z dwoma rubrykami, z których
pierwsza zawiera nazwy różnych zawodów, a druga dane personalne osób
520
8.4, BLOKI PAM I ĘC I OWE
S:rowo wzorcowe
V\'ejŚC10
wzorc:ujqce
abc.d e t
Linie adresowania
tin1owego
f'-r'-r'-r'-r'-r'-1-_L~--r--r--r--r--r--r--rl
o b e del
gh
ij
klm o
Blok
Po mięć.
skojarzeniowy
donych
gh
1
j
k
ł
mn
WyJ ŚCIO dOnyeh
Rys. 8.84 Zasada
działania pamięci
skojarzeniowej (CA M)
o tych zawodach. Jeśli chcemy szybko znaleźć odpowiedź na pytanie, czy
wśród tych osób znajduje się inżynier, a jeśli tak, to ja kie są jego dane,
wystarczy podać na wejście bloku skojarzeniowego słowo wzorcowe reprezentujące zawód inżyniera. Sygnał zgodności wskaże od razu właściwy adres
w pamięci danych i na wyjściach pojawi się poszuk iwana informacja, np.
Jan Kowalski, ur. 15.07.1956, zam. Warszawa, ul. Reja 56 m 6. Łatwo
zauważyć, że postępowanie klasyczne (przy użyciu pam ięci RA M), czyli od·
czytywanie i sprawdza nie kolejnych słów, było by procesem wielokrotnie d łu­
ższym, zwłaszcza przy dużych zbio rach danych.
Można zauważyć, że struktura z rys. 8.84 może być reprezentowana
jednym blokiem skojarzeniowym z zamaskowanymi bitami g, h , „„ m.
Operację porównywania słowa wzorcowego ze słowem zawartym w pamięci CAM wykonuje się przez wykorzystanie funkcji XNOR (p. 4.1.1 ,
8.2.4). Dla n-bitowych liczb P i Q określenia ich równości wykonuje się
na podstawie iloczynu wyników porównania wszystkich par bitów na tych
samych pozycjach:
n - 1 _ __
e
=
n P1€f:> ą;
J=O
Sygnał zgodności e = I otnymuje się tylko przy całkowitej zgod ności
nywanych słów. Natomias t sygnał niezgodności
porów-
n -1
e =V P1EI7ą;
j=O
czyli stan e = Ootrzymuje się przy niezgodności choćby tylko na jednej pozycji
porównywanych słów.
521
8. CYFROWE BLOKI FUN KCJONALNE
W pamięciach CAM operacja porównania może być maskowana, czyli okreW tym celu do komórki bitu} doprowadza
się sygnał maskujący ci> który przy ci = I powoduje maskowanie, a przy ci= O
umożliwia porównanie. Wówczas sygnał zgodności bit u j zapisuje się w pamięci
ślone bity mogą być nie uwzględniane.
o
Linie bitu j
'6I \
Linio stowa i (adres ł
w, -+-l--1~--"""''----,----+--+-.------1Linio zgodności słowo i
&
e, --1--l--JL.-L..._L.______-1--1.-1-- - -..;.-1-& 85
o
&
&
82
&
'---.,-/
Odczy1
Bit wzorcowy
lub maskowanie
l inie bitu j
b
bjo
- -- -+-- - - - - -- -- -._JL.__ Linio
stowo i
w
Uoo
(od res ~
1
Komórka
c:iami ęciow
S· RA M
Sromki
XNOR
Linio
e, - - --'--l-- -"-- - -- - -----JL.--z:9odn0Sci
stowa I
Rys. 8.85 Komórki
pamięci
CAM
;)) tKidow;i klasyQ;Dej komór);j CA„1. b) scłlemsl 10-ttan2.y$10rO.,.,'f!j komórti :>lo11owanej w pamięci CMOS CAM
o pojemn<:>!ei 8 Kb ( 21) (z wyj,.tkiem dwóch trancys1orów PMOS wtt)'stkie ltan't)'łt()ry ~typu Nri.tOS)
522
8.4. BLOKI PAM I ĘCIOWE
e, =
p1 ®q1 V C1
Operacja porównywania jest zasadniczą, charak1eryslyczną operacją
wykonywaną przez pamięci CAM. Poza tym umożliwiają one normalne operacje
zapisu i odczytu. Przykład budowy klasycznej komórki pamięci CAM pokazano
na rys. 8.85a. Jako właściwa komórka pamiętająca jest wykorzystany statyczny
przerzutnik zatrzaskowy SR (bramki BI+ B4). Przy operacji zapisu dostęp do
komórki jest otwierany adresem w, = I i bit informacji jest wprowadzany
z komplementarnych linii zapisu z10 , z1 ,. Przy operacji odczytu ustala się stan
z10 = z1, =O i następnie w, = I. W rezultacie stan p1 komórki z wyjścia 83 zoslaje
przenoszony z negacją (85) na linię odczytu 61. Linia ta łączy się równolegle
z otwartymi kolektorami bramek B5 we wszystkich komórkach na pozycji
jw słowach pamięci. Przy operacji porównania ustala się stan z10 = z1, = O, na
linie ą10 , ą1 , wprowadza się komplementarnie porównywany bit u słowa
wzorcowego i adresuje się słowo i stanem w, = I. Ponieważ bramki z 01warlym
kolektorem B6 i B7 łącznie z funkcją DAND na ich wyjściach realizują funkcję
XNOR gdy ą10 = ij11
e;; =
fP;; ą;,) (pij ą;ol = (Pi; V ii;1HP;; V ii1ol
zatem na linii zgodności słowa i otrzymuje się stan I tylko przy
wszystkich bitów tego słowa pamięci ze słowem wzorcowym:
zgodności
n- I
e, =
n e,}
J=O
Maskowanie bitu j otrzymuje
się
przez ustalenie stanu q10 = ą11 = O.
Schemat bardzo małej komórki stosowanej w pamięci CMOS CAM
o pojemności 8 Kb (256 x 32) pokazano na rys. 8.85b (21]. Ponieważ górna
część komórki jest identyczna z komórką pamięci CMOS S- RAM, zatem
operacje zapisu i odczytu wykonuje się tak samo jak w zwykłej pamięci
statycznej RAM. \V celu wykonania operacji porównania linię zgodności
słowa e, ładuje się wstępnie do poziomu H i przy w, = L wprowadza się
komplementarnie na linie b10, b1 , bit wzorcowy. Przy wystąpieniu niezgodności
jedna z par tranzystorów tworzących bramkę XNOR przewodzi, powodując
rozładowanie Inii ei do poziomu L. Maskowanie bitu j następuje przy ustaleniu
b;o = b;1 = L.
Przy realizacji operacji porównania w praktyce często występują zgodności z więcej niż jednym słowem w pamięci CAM, zwlaszcza przy maskowaniu
większej liczby bitów. Wówczas trzeba zapamiętać adresy wi skojarzonych słów,
zazwyczaj do ich kolejnego odczytania. Do tego celu służy odrębny rejestr
adresowy, stowarzyszony z koderem priorytetowym, wybierającym kolejne
adresy przy odczycie.
523
8 CVFROW E BLOKI FUNKCJONALNE
LITERATURA
I. Molski M.: Modu/owe i mikroprogramow<1/11e uklady ryfowe, WKŁ, Wa rszawa 1986
2. Traczyk W.: Układy cyfro't'l·e. Podstcnvy leOr('tyC'ztte I u1e1ody syntezy, \VNT, Warszawa 1986
3. Kalin J.: Program sers up m11/1ip/e,<er CIS loglc clilp, EON, Septembcr 29, 1988, 195-196
4. Damashck M" Shift rtgisler „·i1hf„Jback generarts "·hii. noise, Elcctronics. May 27. 1976.
107- 109
5. Aodcl$0n L H.: U11I1ing munber genera1orsfor long bil pa11ern5.. Elcctronics, No•embcr 9. 1978,
134-136
6. Rabacy J. M.: Digi111I illlegroted d rcuils - A de>ign perspectfre, Prenticc Hall, 1996
7. Wakcrly J. F.: Digillll design - Principles ant/ prttrtit'es, Second Edition. Prcnticc Hall, 1994
8. Rideoul V. L.: Ont'-dt•vice cells for dynamie rtuu/0111 arce.u me111ories: a 1uroril1I. I EEE Trans.
Electron Deviccs. v.ED-26, No.6, June 1979. 839- 852
9. Furuyama T. el. al.: A11 experimental 4-Mbit CMOS DRAM, IEEE J. Solid -State Circuits, v.
SC-21, No. 5. Octobcr 1986, 605-6 10
10. Takada M . e1. al.: A 4„Wbit DRAM '"i1l1 lralf-Inrerna/-tV)ltage bi1-li11e predrarge, IEEE J.
Solid-Stale Crrcuits. v.SC-21, No. 5. Octobcr 1986. 6 12- 616
11. Dynamie RAMs nad memory modules. Motorola Data Book DL 155/ 0 . Rcv. 2. 1996
12. Prince Il.: 11/gh pnformance mtnU>rits. J. Wilcy. 1996
13. Rtduce DRAM C)'r lf ri""'s wiih txi.11ded data-out , Technical Note TN-04-21, Rcv. 3/97. Micron
Technology
14. Taguchi M. el. al.: A 40-ns 64 Mb DRAM wi1lr 64·1> para/le/ data bus arrl1itec111re, IEEE J.
Solid-State Circuits, v. 26, No. li, No"ernbcr 1991, 1493- 1497
15. Frohman O.: F' AN/OS - A nelv se,uiconductor t lu1rt1e Slórfł(Jl' tle vice, Solid State Slcctronics, v. 17,
1974, 517 529
16. Johnson W. S. " ttl.: 16-K EE-PROM relies 011 11111nelin11 Jor byi.-.rasable program storage,
Electronics, Fcbruary 28, 1980, 113- 117
17. The l:C·bus and how to use ir. Philips Data Handbook IC12 (l'C Periplreruls~ 1996
18. Bucbeckcr A. K.• Mitchcll Ili A. C.: EWX IV Fla.h memory technolog)'- Eng. Rept. E R· 33, Intel,
No\'embcr 1994
19. Tae-Sung Jung et 111.: A I I 7-mnr1 3.J-V m•I)' 118-Mb m11l1ilnvl N AND j111sh memor)>for ma"s
storage applic11tio11", IEEE J. Solid-State Circuits. '" 3 1, No. 11, No\'embcr 1996, 1575
20. High-perforuu111re FIFO 1neniories tlesig11('r's Juuulbook, Texas lnstrurncnls 1996, Lit. No.
SCAA0 12A
2 I . Kadota Jol . et al.: A11 8kbit con1ent-addressuble t11ul ree111ra1111uemory, I EEE J. Solid-State Circuits.
v.SC-20. No. 5, Octobcr 1985, 95 1-956
9
PROGRAMOWALNE I SPECJALIZOWANE
UKŁADY CYFROWE
Cyfrowe układy scalone są wytwarzane w trzech zasadniczych kategoriach, jako
(rys. 9.1):
układy standardowe - wytwarzane masowo układy nieprogramowalne,
przeznaczone do wielu uniwersalnych zastosowań, bez sprecyzowania
odbiorców;
układy programowalne - wy twarzane ta k jak układy standardowe, lecz
programowane indywidualnie do konkretnych zastosowań;
układy specjalizowane (ASIC - Applicacion-Speciflc lnte{1rmet/ Circuits)
- wytwarzane tylko do konkretnych zastosowań, na indywidualne
zamówienia.
CYFROWE UKlADY SCALONE
I
I
I
UKŁADY
$TAl'l)AA00WE
(NIEPROGRAMOWALNE,
WYTWARZANE MASOWC)
SSI, MSI, LSI, VLSI
UKlAOV PAOGRAMOWALNE
(WYTWARZANE MASOWC)
1.$1, \Il.SI
'
I
Progr<1mowalne
Slruk1ury
I
I
I
Progromc>w#lne
M&ll"/00
bramkowe
GA
Matiyce
Ul<lady
I
PlO
11CPLD
-1
EJ
'
PROMI
R)'-'· 9.1 K lasyfikacja cyfrowych
525
I
'
PAL
układów
t.SJ, VL$ 1
I
l
I
WYTWARZANE NA ZAMÓYłlEN!E)
I
matryce bf8mkowe
FPGA
logiczne
UKlAOY SPECJALIZOWANE · A$łC
(NEPROORAMOWALNE.
scalonych
- SC...„
~idoolno
FC
9. PROGRAMOWALNE I SPECJALIZOWANE UKł.AOY CYFROWE
Układami
standardowymi są omawiane w poprzednich rozdziałach
nieprogramowalne układy z typowych rodzin (na przykład z rodzin 74XX TIL)
o ściśle określonych funkcjach i ustalonych wewnętrznych konfiguracjach
logicznych. Do tej kategorii zalicza się również uniwersalne układy wielkiej skali
integracj i, takie jak mikroprocesory i pamięci.
Budowa urządzeń elektronicznych z układami standardowymi polega
na wykonaniu odpowiedniego projektu, wyborze typów układów standardowych i połączeniu ich na płytkach drukowanych. Jest to technologia
klasyczna, w której budowane są urządzen ia relatywnie duże, drogie i pobierające dużo energii.
Rozwój technologii w mikroelektronice stale zm ierza w kierunku zwię­
kszania funkcjonalności układów (a więc również ich złożoności logicznej)
oraz ich szybkości działania, przy jednoczesnej minimalizacji ich mocy strat
i rozmiarów, oraz przy możliwie najniższych kosztach . W wielu zastosowan iach
optymalne rozwiązania uzyskuje się używaj ąc niestandardowych układów
wielkiej skali integracji. Indywidualn ie zaprogramowany układ programowalny
lub układ specjalizowany LSI umożl iwia zastąpienie pewnej grupy (kilku
- kil kunastu, a nawet kilkudziesięciu) układów uniwersalnych SSI i MS!,
a nawet zintegrowanie kilku układów LSI. W ten sposób można osiągnąć
istotne zmniejszenie rozm iarów, wagi, mocy strat i kosztów urządzenia. Ponadto
można uzyskać polepszenie niezawodności i zwiększenie szybkości działania
wskutek eliminacji połączeń drukowanych między układami uniwersalnymi.
Istotną zaletą układów programowalnych (po zaprogramowaniu) i specjalizowanych jest ich wewnętrzna „skrytość", gdyż projekt i struktura logiczna
takiego układu jest znana tylko projektantowi i praktycznie jest niemożliwa
do odtworzenia przez innych. W ten sposób producenci urządzeń mogą
zabezpieczyć swoje wyroby przed naśladownictwem i kradzieżą oryginalnych
rozwiązań technicznych.
Układy programowalne dzieli się na dwie zasadnicze kategorie, którymi są:
programowalne struk tury logiczne .(PLO - Programmable Logic Deuice)
i złożone programowalne struktury logiczne (CPLD - Complex PLD),
programowalne matryce bramkowe (FPGA - Field Programmable Gate
Array).
Układy PLO dzielą się dodatkowo na układy FPLA, PROM i PAL, które będą
omówione dalej.
Układy programowalne są wytwarzane masowo, tak jak układy standardowe. Każdy z nich zawiera pewną liczbę bramek i przerzutników, zazwyczaj
zorganizowanych w postaci zbioru niepołączonych i nieskonfigurowanych wewnętrznie komórek łub bloków logicznych. Programowanie układu polega na
wykonaniu odpowiednich połączeń elektrycznych wewnątrz i między tymi
komórkami (blokami) w celu utworzenia żądanej konfiguracji logicznej układu.
526
9.1.
UKŁADY
PROGRAMOWALNE
Zadanie to jest wykonywane przez projektantów Uf'żądzeń (użytkowni­
ków) z użyciem odpowiednich urządzeń (programatorów) i programów komputerowych.
Układy specjalizowane (ASIC) dzieli się na następujące rodzaje:
matryce bramkowe (GA - Gate Array),
matryce komórkowe (SC - Standard Cell),
układy indywidualne (FC - Full Cuscom).
W odróżnieniu od układów programowalnych, te układy są w całości
wytwarzane i konfigurowane logicznie w trakcie odpowiednich procesów
technologicznych u producenta. W układach tych można osiągnąć lepsze
parametry techniczne (zwłaszcza szybkość działania) i większą złożoność
logiczną niż w układach programowalnych. Można na przykład wykonać na
jednej kostce krzemowej specjalizowany układ z rozbudowaną częścią analogową, procesorem sygnałowym i pamięcią RAM i EEPROM. Koszt projektowania
i wytwarzania tych układów jest jednak wysoki, tak że ich stosowanie jest
opłacalne tylko przy dużej skali produkcji seryjnej. Mimo to zastosowania
układów ASIC w nowoczesnych urządzeniach cyfrowych są powszechne.
Typowymi układami ASTC są m.in. układy akceleratorów graficznych w kartach
graficznych komputerów PC.
UKŁADY
Charakterystyczną
PROGRAMOWALNE
programowalnych są programowalne
połączenia elektryczne wewnątrz struktury krzemowej. Zależnie od użytej
technologii, połączenia te są realizowane za pomocą różnego rodzaju łącz­
ników. W technologii bipolarnej często stosowane są łączni k i typu „bezpiecznika" (fuse) o postaci ścieżek nichromowych (Ni-Cr) lub tytanowo-wolframowych (Ti-W), które są przepalane w wybranych miejscach. Oznacza
to, że układ z łącznikami bezpiecznikowymi ma początkowo połączone wszystkie
możliwe punkty. Innym rodzajem łączników są diody niszczone w procesie
przebicia. Są to „antybezpieczniki" (aniifuse), które początkowo są wszystkie
rozwarte. W układach FPGA realizowanych technologią CMOS stosuje się
antybezpieczniki dielektryczne i polikrzemowe amorficzne. Wszystkie łączniki
bezpiecznikowe i antybezpiecznikowe mogą być programowane tylko jednokrotnie.
W układach programowalnych, wytwarzanych w technologii CMOS,
najczęściej stosowane są łączniki w postaci tranzystorów NMOS, sterowanych
przez stowarzyszone komórki pamięci nieulotnej typu EPROM, EEPROM lub
FLASH. Stosowane są również odrębne pamięci S-RAM. Ten rodzaj łączników
umożliwia wielokrotne programowanie układu, co jest szczególnie istotne w fazie
projektowania lub przy wprowadzaniu ulepszeń projektowych.
527
cechą
układów
9.1
9. PROGRAMOWALNE I SPECJALIZOWANE
U KŁAOY
CYFROWE
Programowalne struktury logiczne (PLO)
9 .1.1
Najprostszymi i najtańszymi układami programowalnymi są programowalne
struktury logiczne (PLD - Programmable Logic Device). Układy te są tak
projek towane przez wytwórców, aby każdy typ pokrywał pewien obszar
podobnych, potencjalnych zastosowań. Są one wytwarzane i sprzedawane tak
samo jak układy standardowe. Natomiast użycie układu P LD do konkret nego
zastosowania sprzętowego wymaga uprzedniego skonfigurowania jego połączeń
wewnętrznych, co generalnie jest wykonywane przez klienta, czyli zazwyczaj
u wytwórcy urządzeń wykorzystujących układy P LD.
Układy PLD mogą być określone jako układy uniwersalne, które
mogą być skonfigurowane do realizacji wielu różnych modułów funkcjonalnych.
Ograniczeniem jest relatywnie niewielka złożoność logiczna układów PLD,
wyrażana do celów porównawczych przez liczbę bramek logicznych w kostce,
zazwyczaj nie przekra<..-zającą I OOO. Przy większych projektach stosuje się
złożone układy PLD (CPLD - Complex PLD) o liczbie bramek od 1000
do 15000, a nawet więcej.
Układy PLD są wytwarzane jako układy kombinacyjne (zawierające
bramki AND i OR oraz programowalne inwertery) o raz jako układy sekwencyjne (uzupełnione na wyjściach o zestaw przerzutników D czyli rejestr). Charakterystyczną cechą układów PLD jest regularność struktur sieci bramkowych,
wytwarzanych w postaci prostokątnych matryc.
Analizując układy PLD/CPLD często operuje się nazwą „iloczynu
(logicznego)" jako składnika sumy logicznej. Wygodn ie jest w tym znaczeniu
używać krótszej nazwy „term" (z angielskiego product term), która również będzie
stosowana w poniższym tekście (p. 4.1.2).
Układy
9.1.1.1
FPLA
Największe możliwości
funkcjonalne zapewniają
układy
FPLA (Field- PrO(Jram-
mab/e Logic Array), które mają programowalne dwie sieci bramek (AND i OR).
Ilustruje to rys. 9.2, gdzie punkty na sieci oznaczają programowalne połączenia
odpowiednich wejść bramek. Jeśli układ ma 11 wejść, to na wyjściu każdej bramki
AND otrzymuje się iloczynowy implikant realizowanej funkcji (term), a na
wyjściu każdej bramki OR sumę wybranych implikantów (termów). Jeśli układ
ma m wyjść, to znaczy że może realizować m funkcji logicznych o 11 zmiennych.
Zasadniczym ograniczeniem jest to, że liczba dostępnych bramek AND w ukła­
dzie FPLA jest znacznie mniejsza niż teoretyczna liczba maksymalna dla
n zmiennych, równa 2". Stan O na wyjściu bramki AND otrzymuje się przez
przyłączenie jej dwu wejść do dwu linii, na których jest postać prosta
i zanegowana jednej zmiennej wejściowej, zgodnie z prawem Boole'a: xx = O.
528
9.1.
UKŁAD Y
PROGRAMOWALNE
Połączenia
punktowe na rysunku 9.2 nie oznaczają bynajmniej bezpozwierania elektrycznego. Bramki AND i OR są bowiem realizowane
bezpośrednio w matrycy, jak ilustruje przykład bipolarnego układu FPLA,
pokazany na rys. 9.3. Zastosowano tu łączniki bezpiecznikowe, połączone
szeregowo z diodami, tworzącymi diodowe bramki AND (por. rys. 7.la). Aby, na
przykład, na wejściu inwertera BI utworzyć iloczyn x 1x 2 x3 , to należy przepalić
średniego
Rys. 9.2 Zasada budowy
układu
FPLA
u..,
~
'
~
.~
>
x,
~
x,
~
8 1\
u
"
y,
Yt
y,
Rys. 9.3
529
Prqkład
bipolarnego ukladu FPLA z
lącznikami
bezpiecznikowymi
9 PflOGRAMOWALNE I SPECJALl'ZOWAN E U KŁAOV CVFflOWE
wszystkie bezpieczniki dołączone do linii wejściowej inwertera BI , oprócz trzech
zaznaczonych kółeczkami. Na wyjściach inwerterów z pierwszej matrycy
otrzymuje się zatem funkcje NAND. Druga matryca jest realizowana identycznie
jak pierwsza, z inwerterami na wyjściach, tworząc drugą matrycę NAND. Łączna
struktura NAND- NAND jest równoważna strukturze AND-OR.
Można zauważyć, że gdyby w tym przykładzie zastosowano antybezpieczniki (początkowo rozwarte), to na leżałoby je zewrzeć tylko w trzech zaznaczonych punktach.
W układach PLO często stosuje się na wyjściach dodatkowe bramki
XOR, które umożliwiają programowaną negację (lub nie) sygnałów wyjścio­
wych, zgodnie z wzorami (p. tabl. 4.3): X EB I = i . Xe o = x. Bufory wyjściowe
są zazwyczaj trójstanowe (p. 7.2.3), z programowalnym wejściem zezwolenia/blokady. Przy zablokowanym wyjściu trójstanowym końcówka wyjściowa
może być wykorzystana jako dodatkowe wejście, zwiększając możliwości
logiczne układu.
Uproszczoną budowę logiczną przykładowego bipolarnego układu
FPLA typu PLHS153 (Philips) pokarano na rys. 9.4. Ma on 8 wejść / 0 .:,.. / 7 i 10
wyjść/wejść B0 .:,.. 8 9 . Kaida z 32 bramek AND umożliwia tworzenie termu
Do
o,
o<>-;--CL:t====t===t==t
1
1,~-·==·········==·······-=t=·-==t=·
····-=1'
·--·· '§)
~~­
~ ,,
'
Xo
R)'s. 9.4 Uproszczony schemat
530
'
>tll>f>-- - - --1-!-o
Bo
lołie>ny układu
FPLA typu PLHSI S3 (Philips)
9.1. UKŁADY PROGRAMOWALNE
o najwyżej 18 literałach (zmiennych logicznych w postaci prostej i zanegowanej).
Analogicznie każda z I Obramek OR umożliwia sumowanie do 32 termów. Układ
umożliwia również programowanie negacji sygnałów wyjściowych bramkami
XOR i programowalne sterowanie wyjściowymi buforami trójstanowymi. Wprowadzenie do matrycy AN D sygnałów z końcówek wyjścia/wejścia umożliwia
zwiększenie liczby aktywnych wejść kosztem liczby wyjść. Na przykład, wykorzystując tylko jedno wyjście, można zrealizować funkcję wyrażaną przez sumę do
32 termów o 8 + 9 = 17 literałach każdy. Zaletą układów FPLA jest możliwość
wsp6ldzielenia tych samych termów między różne bram.ki OR.
Złożonymi układami o architekturze FPLA są układy z seri.i GAL6000
firmy Lattice, wykonane w technologii CMOS z programowalnymi komórkami
EEPROM [4).
W praktyce struktury FPLA często wykorzystuje się do realizacji
złożonych konwerterów kodu. W układach sterowników komputerowych
struktura FPLA służy do przetwarzania stosunkowo krótkich słów operacyjnych na dłuższe słowa adresowe pamięci mikroprogramów. W mikroprocesorach stosuje się w tym celu struktury PLA, czyli struktury programowane
maskowo przez wytwórcę a nie przez użytkowników. W praktyce układy scalone
FPLA często określa się również jako układy PLA, pomijając literę F.
Układy
PROM
9.1.1.2
Jeśli
w układzie FPLA matrycę AND wykonać jako nieprogramowalną, to układ
FPLA przekształca się w układ pamięci nieulotnej (PROM, EPROM, EEPROM, FLASH), pod warunkiem że zbiór bramek AND obejmuje wszystkie
możliwe min termy Gest ich 2" przy 11 zmiennych wejściowych - w tym przypadku
z wejść adresowych) i wyjścia nie są używane jako wejścia. Przy zastosowaniu
układów PROM jako uniwersalnych układów kombinacyjnych (p. 8.4.2.1),
uzyskuje się łatwy wybór implikantów do realizacji dowolnej funkcji przełączają­
cej o liczbie zmiennych nie większej od liczby wejść adresowych. Wadą układów
jest podwajanie pojemności pamięci przy każdorazowym wzroście liczby
zmiennych o jeden. Ogranicza to takie zastosowania pamięci stałych do liczby
zmiennych równej 10-14.
Układy
Jeśli
w
układzie
PAL/ GAL
FPLA
matrycę
9.1 .1 .3
AND
pozostawić jako programowalną,
a matto otrzymuje się popularną strukturę
logiczną PLD określaną jako PAL (Programmable Array Logic). Pierwsze
układy PAL zostały opracowane w roku 1978 w firmie Monolitlric Memories,
przejętej następnie przez firmę AMD. Układy PAL były pierwotnie wytwarzane
rycę OR wykonać jako nieprogramowalną,
531
9. PROGRAMOWALNE I SPECJALIZOWANE
UKŁAOY
CYFROWE
jako układy bipolarne, kompatybilne z układami TTL i programowalne
jednokrotnie. Obecnie są stosowane niemal wyłącznie podobne układy wytwarzane w technologii CMOS, spopularyzowane w latach osiemdziesiątych
przez firmę Lactice Semiconductor Corporation (adres w Internecie
http://www.latticesemi.com) pod nazwą GAL(Generic Array Logic). Zapewniają
one niższą moc strat, możliwość wielokrotnego programowania oraz stuprocentowe testowanie wytwarzanych układów. Tej ostatniej cechy nie mogą mieć
układy programowalne jednokrotnie, w których zawsze występuje nieco ukła­
dów niesprawnych fabrycznie (zazwyczaj 2- 5%).
Układy PAL/GAL nie mają wady układów PLO typu PROM, w których
matryca AND musi pokrywać wszystkie możliwe mintermy dla danej liczby
zmiennych wejściowych. Można wybrać i zaprogramować - podobnie jak
w układach FPLA - tylko potrzebne termy. Ponadto można zastosować metody
minimalizacyjne do dalszego ograniczenia Liczby termów. Ponieważ jednak
matryca OR jest nieprogramowalna, więc tylko ograniczona l.iczba termów
(typowo 8 lub IO} może być doprowadzona do wejść jednej bramki OR. Jeden
term może być doprowadzony do wejścia tylko jednej bramki OR. Jeśli ten sam
term jest potrzebny do wejść dwu lub więcej bramek OR, to trzeba go tworzyć
z osobna dla każdej bramki OR. Można jednak ominąć to ograniczenie
korzystając ze struktury dwupoziomowej (opisanej wcześniej na przykładzie
układu PLHS153) przy jednoczesnym zwiększeniu liczby dostępnych termów.
W technologii CMOS matrycę AND tworzy się w postaci struktur
tranzystorowych EPROM, EEPROM lub FLASH. Spośród dwu ostatnich,
u~
-
Mikcje DANO
Rys. 9.5 Zasada budowy programowalnej ma trycy
AND z komórkami pamięci EEPROM
(/ - wejścia logiczne, s - stany logiczne komó rek
EEPROM, P - wejścia programowania)
532
9.1. UICt.ADV PROGRAMOWALNE
kasowanych elektrycznie, mniejsze rozmiary komórki, lepszą niezawodność
i większą liczbę cykJi kasowania/programowania zapewniają komórki pam ięci
błyskowej FLASH (p. 8.4.2.5).
Rysunek 9.5 ilustruje zastosowanie komórek EEPROM (por. rys. 8.71).
Bramki AND są tworzone przez struktury zwarciowe DANO (por. rys. 7.23a).
Tranzystor PMOS stanowi obciążenie aktywne dla otwartych drenów tranzystorów NMOS.
Najprostszym układem GA L, wytwarzanym w technologii CMOS/
EEPROM, jest typ GALI 6V8 (Lattice) o uproszczonym schemacie funkcjonalnym pokazanym na rys. 9.6a. Zawiera on 8 dedykowanych wejść I , 8 końcówek
o
I/CU(
8
lf
OtMC
<(
c
ł~
8
~"
,!
g
(13. 18)
8
e
~
12
OLMC
Q.
OOĘ
11
c
b
PLCC
'
'
'
.
.
.•
DIP
"""I ,
\9
GAL16V8
Widok z góty
\.J
„
""'
''°°
,,
""'
•.O.O
' °"
''°"
•.O.O
H
u.
I.O.O
''
LO.O
GAL16V8
tS
I.O.O
"""
•.O.O
.L.
Rys. 9.6
Układ
••
""'
u I.OE
GALl6V8 (Latrice Semiconductor Cor/)Qratio11)
a) uptM:ttz()ny sic::htma1fun k<:j<>nalny, J;) r()lkl:W k<>ńcó'A•tk w <>budowie Pl.CC.c) roU:lad lc<>ńcÓ'A'tk w <>bl.tdowi~ DIP
533
9. PROGRAMOWALNE I SPECJALIZOWANE
współdzielonych
CYFROWE
Q - wyjście przerzutnika) i dwie
dwufunkcyjne końcówki wejściowe: l / CLK (wejście/wejście zegara) i I/ OE
(wejście/wejście zezwolenia buforów trójstanowych - Output Enable). Matryca
programowalna zawiera 64 bramki AND o 32 wejściach. Układ zawiera
8 uniwersalnych makrokomórek OLMC (Output Logic Macrocel(), które
umożliwiają zaprogramowanie układu w trzech trybach pracy: w dwu trybach
kombinacyjnych - prostym i złożonym, oraz w trybie sekwencyjnym - rejestrowym. Każda makrokomórka zawiera 8-wejściową bramkę OR, bramkę XOR
do programowalnej negacji sygnałów wyjściowych oraz przerzutnik D. Ponieważ wejścia zegarowe wszystkich 8 przerzutników są połączone razem z wejściem
l / CLK, więc w układzie tym nie można realizować układów szeregowych
(„asynchronicznych"), w których wejścia zegarowe są łączone z wyjściami
poprzedzającymi przerzutników w strukturze łańcuchowej.
Oznaczenia końcówek układu w obudowach PLCC i DIP pokazane są na
rys. 9.6bc. Warto zauważyć, że w obydwu obudowach wyprowadzenia układu są
na końcówkach o tych samych numerach.
Schemat logiczny układu GAL16V8 pracującego w trybie prostym przedstawiono na rys. 9.7a, a podstawowe możliwości konfiguracyjne makrokomórki
wyjściowej pokazane są na rys. 9.7bcd. W tym trybie końcówki I i 11 są zaprogramowane jako wejścia do matrycy AND. Wejścia XOR w komórkach mogą być
zaprogramowane dwojako: albo jako połączone z masą (stan O), albo połączone
z Ucc (stan I), umożliwiając przesłanie sygnału wyjściowego z bramki OR bez
negacji lub z negacją. Bufory trójstanowe na końcówkach pracujących jako wyjścia (O) są odblokowane (rys. 9.7b), a na końcówkach pracujących jako wejścia (I)
są zablokowane (rys. 9.7d). W 8 istniejących makrokomórkach 6 końcówek może
być zaprogramowane jako wejścia, to znaczy za wyjątkiem końcówek 15 i 16.
Łączna liczba wejść może więc osiągnąć 16: 8 „normalnych" + 2 (końcówki
I i li) +6(końcówki 1/0). Ponieważ bramki OR mają w tym trybie po 8 wejść,
więc na wyjściach 15 i 16 można uzyskać realizację dwu funkcji przełączających
o 8 iloczynach 16 zmiennych. Zwiększenie liczby termów można uzyskać
wykorzystując kolejno sprzężenia zwrotne z 6 makrokomórek: z pierwszej 8,
z pozostałych pięciu po 7 i z wyjściowej 7, czyli razem 50 ilo<..-zynów IO zmiennych
na jednym lub obydwu wyjściach (15, 16). Oczywiście struktura wielopoziomowa
pociąga za sobą proporcjonalne zwiększenie czasu propagacji układu.
Trzeba podkreślić, że przedstawione możliwości programistyczne nie
oznaczają, że projektant musi osobiście wyznaczać tryb pracy i punkty
programowania ukladu. Czynności te są realizowane przez specjalistyczne
oprogramowanie projektowe (kompilator logiczny PLO), na podstawie sformułowanego przez projektanta opisu funkcjonalnego układu cyfrowego
(p. 9.1.3). Tryb prosty jest wybierany automatycznie, jeśli na wyjściach mają
być realizowane fun kcje kombinacyjne i nie jest wymagane programowane
lub zewnętrzne sterowanie buforami trójstanowymi.
534
(J -
wejście,
UKŁADY
O-
wyjście,
9. 1.
UKŁADY
PROGRAMOWALNE
o
I/O
b
c
.-----------u--·
I
I
>-::l)---!,--ł":>o-0110
I
I
I
•
XOR
I
I
~ -------- -----:
--------------.
·pyllO
I
~-------------·
Rys. 9.7 Układ GAL16V8 (latrie<
Semiconductor Corporation)
skonfiguro\\'any w trybie prostym
a) schema1 logicmy, b) koftcówka wyjjcto11o·a O a
Spt?(:imicm rwrocnym (opróct k~-c,J; IS i 16\.
c) kofto6.,.•ka wyjśc:io•'a O bez Sprtłten11 z.wrotnego
(konicówk:i 15 i 16). d> końcó-wt'ka ""'CJŚaO"'·•
I (wu.y~llde :i W)'J41l:icm l: ońa)wc.\: IS i 16)
535
9. PROGRAM OWALNE I SPECJALIZOWANE UKLA.OY CYFROWE
o
-
l
o
---
•
•
12 16 2IO
:t<
„ ""'
,_,.
-------
-
2
---
OLMC
h
-
19
f:li
----
=:
------
tttlt!ttt
OLMC
n
18
3
--
·-·
-----
-·
-
:
:
:
:
~::::
-~
~
~-........
~
9
b
........
t: >....
""]
12
OLMC
li
r-- - - - - - - -- ---,
I
I
>---f'--l >o-.-a
'°
XOR
--------------'
c
~-----!
1
XOR
Cl-al/O
:
'----- - -- - -- - -_,
Rys. 9.8 Uklad GAL16V8 (Lau.ice Semiconductor Corporation) skonfigurowany w lrybie
złożo nym
a) uproszczoa.y sc.:hcmat logia;ny. b)
12 i 19)
536
końcówka dwu1dcnmk.owa I/() (końcówki
13- 18).,c)
k.ońo(>wk :111>·yjkiow11 O (1ylko
9.1. UKŁADY PROGRAMOWALNE
Jeśli takie sterowanie jest potrzebne, to układ pracuje w trybie złożonym,
zilustrowanym na rys. 9.8 i odpowiadającym popularnym układom PAL t6L8
i 16P8. K ońcówki I i Il są dedykowanymi wejściami (I), można wykorzystać
najwyżej 6 końcówek jako I/ O (13 do 18), natomiast końcówki 12 i 19 są
wyłącznie wyjściami (0).
Jeśli projekt wymaga użycia przerzutników, to układ pracuje w trybie
rejestrowym (rys. 9.9a}. Każda makrokomórka OLMC może wykorzystywać
przerzutnik O w sposób pokazany na rys. 9.9b, przy czym wejście zegarowe
i wejście zezwolenia buforów trójstanowych są wspólne dla wszystkich komórek
(wydzielone końcówki I i Il), a bramka OR ma 8 wejść iloczynowych. Dowolna
makrokomórka OLMC (nawet wszystkie 8) może też być zaprogramowana jako
kombinacyjna z końcówką 1/ 0 (rys. 9.9c), przy czym bramka OR ma wtedy
7 wejść iloczynowych.
Wszystkie przerzutniki są automatycznie ustawiane w stan O (Q = L)
podczas włączania zasilania układu.
Podczas programowania można wpisać do układu 64-bitowe słowo
„elektronicznego podpisu użytkownika"' UES (User Electronic Sig11a1ure), które
umożliwia zapis i odczyt informacji identyfikującej dany uklad lub system. Uklad
zawiera również „komórkę bezpieczeństwa" (security cell) w celu zabezpieczenia
przed odczytem i kradzież.1 zaprogramowanej konfiguracji układowej. Komórkę
tę można ustawić programatorem w stan aktywny, po pomyślnym zaprogramowaniu i sprawdzeniu poprawności dzialania ukladu. Po tak im ustawieniu
nie jest już możliwe odczytanie i weryfikacja zaprogramowanej konfiguracji
połączeń w programatorze, ale można odczytać „podpis elektroniczny". Komórkę bezpieczeństwa można wyzerować tylko przez całkowite skasowanie zawartości układu.
Układ
GALl6V8 umożliwia emulację 21 typów układów PAL. Maksymalny czas propagacji wynosi, zależnie od odmiany, od 5 do 25 ns,
a maksymalna moc strat od 275 mW (odmiana „ćwierć mocy" - Q1wrter Power)
do 575 mW. Dla wszystkich układów GAL producent gwarantuje co najmniej
100 cykli programowania/kasowania i pamiętanie zaprogramowanej konfiguracji przez co najmniej 20 łat.
Omawiany uklad GALl6V8 jest wytwarzany w kilku odmianach.
Przykładowo, typ GALl6V8Z jest wyposażony na wejściach w układy detekcorów zboczy (ITD - lnput 11-ansicion Detection), które przy braku zmian
stanów na wejściach automatycznie wprowadzają układ w stan spoczynkowy
(standby mode), przy którym prąd zasilania jest ograniczony do zaledwie
100 µA. Stąd pochodzi nazwa tej odmiany: „zerowa moc'" (Zero Power).
Czas czekania od ostatniego zbocza na wejściach do wprowadzenia stanu
spoczynkowego wynosi od 60 do 150 ns. Przy pojawieniu się jakiejkolwiek
zmiany na wejściach układ automatycznie przechodzi w tryb roboczy z opóźnieniem od 6 do 15 ns.
537
9. PROGRAMOWALNE I SPECJALIZOWANE
UKŁADY
CYFROWE
o
O '
ł
l211:Z02•NPTO
OLMC 19
1-C::.0,-<:> 19
OLMC 12
1-C>-,r<> 12
b
CU(
f--+1:>o--1:l
110
I
I
I
I
3::1++;-~~~~~-'
OE
:
~- ------- ---- ---
c
fi-----idy·
I
I
„ __ ___ - - - - - - - - ·
Rys. 9.9 Układ OALl6V8 (Lattice Semiconductor Corporation) skonfigurowany w trybie
rejestrowym
•} uprouczon.y khmut loak'zay, b) kOl\cówk• rtjełttowa O (kolkówti 12- 19). c) koftc:Owk.a ltombiMC'Jjalia
I/O
(ltołocóml2-19J
Z innych układów GA L warto wymienić typy GAL20XV!O i GAL22V IO.
Pierwszy z nich ma I O dedykowanych wejść I, IO końcówek trójfunkcyjnych
1/ 0 /Q i dwie końcówki wejściowe dwufunkcyjne, takie same jak w układzie
GA LI 6V8. Jest on szczególnie przydatny d o budowy specjalizowanych liczników, dekoderów i układów arytmetycznych, dzięki wprowadzeniu do makro-
538
9.1. UKt.AOY PROGRAMOWALNE
a
OE
r--------------„
I
I
I
I
, _ _____ _________ 1
!--+++-- - -----' •
CLK
b
OE
r--------------„
)----+f'>o-..-01i0
,_______________,
Rys. 9.10 Makrokomórka z
Corporation)
bramką
XOR
układu
GAL20XVIO (Lattice Semiconductor
a) koiioówka rej1:3trowa O, b) ko6cówta kombinacyjna I/O
komórek bramki XOR o obydwu wejściach doprowadzonych do matrycy AND
(rys. 9.10). Bramka XOR na wejściu przerzutnika D umożliwia przekształcenie go
w przerzutnik T (por. rys. 4.5la).
Bardzo popularnym „koniem roboczym" PLD jest uniwersalny układ
GAL22VIO. Ma on zróżnicowaną liczbę wejść iloczynowych w bramkach OR
makrokomórek OLMC. Odpowiednie pary makrokomórek mają po 8, 10, 12, 14
i 16 wejść. Schemat logiczny makrokomórki przedstawiono na rys. 9.11. Jak
AA
SP
SO $ 1
$2
Rys. 9.1 J Uniwersalna makrokomórka O LMC układu GAL22VJO (Latrke Semironducror
Corporarion)
539
9. PROGR.AMOWAlNE I SPECJ.AllZOWAHE VKlAOY CYFROWE
widać, może być
ona zaprogramowana w trybie kombinacyjnym lub rejestrowym. Tryb i polaryzacja sygnału wyjściowego jest ustalana przez multiplekser
„4 na I", zależnie od zaprogramowanych wartości bitów SO i SI. Sygnał
sprzężenia zwrotnego może być pobierany albo z wyjścia przerzutnika albo
z końcówki wyjściowej, zależnie od stanu bitu S2. Przerzutnik D ma dwa
dodatkowe wejścia do asynchronicznego zerowania (A R) i do synchronicznego
ustawiania (SP). Wejścia te są połączone równoległe we wszystk ich IO przerzutnikach układu, umożliwiając jednoczesne zerowanie lub ustawianie całego
rejestru wyjściowego. Odpowiednie dwie linie sterujące są wprowadzone do
matrycy AND.
Obydwa wymienione układy GAL20XVIO i GAL22VIO są umieszc-ane
w 28-końcówkowej obudowie PLCC lub 24-końcówkowej obudowie DIP.
Podobnie jak poprzednio opisane uklady GAL I 6V8, mają one możliwość zapisu
i odczytu „podpisu elektronicznego" oraz są wyposażone w „komórkę bezpieczeństwa".
Najszybsza odmiana układu GAL22VIO ma czas propagacji 5 ns
i częstot liwość pracy sięgającą 200 MHz. Moc strat przy 15 MHz wynosi
450 mW (warto wspomnieć, że analogiczny układ P5Z22VIO firmy Philips
z serii ZeroPower wymaga tylko 15 mW przy 15 MHz i zaledwie 140 mW przy
200 MHz). U kład GAL22L V10 o obniżonym napięciu zasilania (3.3 V) osi ąga
4 ns i 250 MHz.
U kład GAL22V!Ojest również wytwarzany w wersji programowalnej „w
systemie" (ISP - In-System Programmable) jako typ ispGAL22V IO, wylącznie
w 28-końcówkowej obudowie PLCC. Cztery nie używane poprzednio końcówki
tej obudowy są wykorzystane do czteroprzewodowej, szeregowej transmisji
danych w celu programowania układu w docelowym urządzeniu, bez potrzeby
wyjmowania programowanego ukladu i stosowania odrębnego programatora.
Oznacza to dużą wygodę przy projektowaniu urządzenia i umożliwia obniżenie
jego kosztów. Polepsza się również jego niezawodność, gdyż układ może być
przylutowany na stałe w urządzeniu, czyli nie występują problemy niezawodnoś­
ciowe związane z połączeniami stykowymi w gniazdach stykowych.
Istnieją dwa zasadnicze sposoby programowania układów ISP. Pierwszy
z nich polega na użyciu specjalnego kabla, łączącego cztery końcówki programowanego układu (wyprowadzone na specjalne miniaturowe złącze stykowe
na płytce drukowanej urządzenia) z portem równoleglym standardowego
komputera PC, w którym wykonuje się odpowiedni program (rys. 9.12).
Potrzebne do tego celu oprogramowanie użytkowe jest dostępne w firmie
Lauice. Drugi sposób może być wykorzystany w urządzeniach, które już
zawierają mikroprocesor. Przez dodanie odpowiednich procedur do programu
mikroprocesora można go wykorzystać tak7,e do programowania układu
(układów) ISP. Przykłady takich procedur w języku źródłowym (C) są również
dostępne w firmie La11ice.
540
9.1 UKLAOY PAOGAAMOWALHE
Program
1te1ujący
olł)()AL
Karta drukowana
........
,...,...
-
u~enia użytkowego
• •sutwhm
Rys. 9.12 Programowanie
układu
.... .._
ispOAL pn.ez od rębny komputer (4)
Do celów programowania można również łączyć kaskadowo układy ISP
w sposób pokazany na rys. 9.13. W takiej konfiguracji potrzebne jest tyl ko jedno
czteroprzewodowc łącze do procesora programującego.
iłOGĄI..
Rys. 9.JJ Kaskadowe
ispGAL
~'°"'' ' GM
ispOAL do programowania (4)
łączenie układów
Do rodziny układów GAL firmy Latrice należą również bardziej złożone
w szczególności układy z serii GAL6000. Są to układy o architekturze
układy,
FPLA.
Złożone
programowalne struktury
logiczne (CPLD)
układy CPLD mają większą złożoność
od 1000 do 15000 bramek, a nawet więcej.
Drugą charakterystyczną cechą układów CPLD jest inna architektura. W ogólnej budowie układu CP LD można wyróżnić pewną liczbę blokówfimkcjonalnych
BF o strukturze podobnej do struktur PAL/ GAL, łączonych za pośred nictwem
programowalnej matrycy połączeń PM P (rys. 9.14). Matryca ta ma zazwyczaj
postać zespołu multiplekserów, których celem jest skierowanie sygnałów wejś­
ciowych na określone programowo wyjścia. Każdy blok BF zawiera pewną
liczbę (zazwyczaj krotność liczby 16) programowa.lnych makrokomórek, które
W porównaniu z
układami
9.1.2
PLO,
logiczną, gdyż zawierają przeciętnie
541
9. PROGRAMOWALNE I SPECJALIZOWANE UKLAOY CVFROWE
Rys. 9.14 Zasada budowy ukladu CPLD [S]
realizują funkcje logicroe układu. W niektórych układach są także wytwarzane
makrokomórki zagrzebane, których wyjścia nie są dołączone do końcówek
układu, lecz wprowadzone jako „sprzężenia zwrotne" do matrycy PMP. Bloki
wejść/wyjść I/ O (lnput/Output) zawierają zespoły komórek wyjściowych (zawierających bufory trójstanowe) i buforów wejściowych oraz- w niektórych układach
- programowalne magistrale wyjściowe, umożliwiające łatwe połączenie jego
makrokomórek z różnymi końcówkami układu (w ograniczonym zakresie).
Istnieje wiele odmian układów C PLD, wytwarzanych przez różnych
producentów. Ograniczone rozmiary niniejszej książki nie pozwalają omówić ich
szczegółowo. Można przykładowo wymienić układy z rodzin XC7300 i XC9500
(Xilinx), pLSI/ ispLSI 1000/2000/3000 (Lattice), Flash370i (Cypress), CoolRunner (X PLA) PZ3000/ PZ5000 (Philips), MACH (Vantis - AMD), MAX i FLEX
(Altera), oraz ATF i ATV (Almei). Różnią się one architekturą, złożonością,
technologią i parametrami elektrycznymi. W obrębie każdej rodziny układy są
wykonywane w seriach różniących się szybkością działania (na przykład o czasie
propagacji 5, I O i I 5 os), dopuszczalnymi temperaturami pracy i odpowiednio
różnymi cenami.
Układy CPLD są wytwar.tane niemal wyłącznie w technologii CMOS.
Do programowania była początkowo stosowana technologia pamięci stałych
EPROM. Obecnie stosuje się znacznie wygodniejsze technologie pamięci
z reprogramowaniem elektrycznym, czyli pamięci EEPROM i pamięci błyskowe
(Flash). W tej kategorii najwygodniejsze w praktyce są układy programowalne
„w systemie", podobnie jak omówiony wcześniej układ ispGA L22V 10.
Porównując różne rodziny układów CPLD trzeba zwracać uwagę na
typowe parametry, takie jak szybkość działania i moc strat, a także na liczbę cykli
rcprogramowania, jeśli układy mają być wielokrotnie programowalne.
Pn;y porównywaniu architektur układów CPLD trzeba zwrócić szczególną uwagę na sposób reali1.acji sumy większej liczby termów w makrokomórkach
oraz na to, jakie są możliwości wykorzystania tych samych termów w różnych
makrokomórkach (współdzielenie sharing).
542
9.1.
UKŁADY
PROGRAMOWALNE
Omówimy krótko układy z rodziny XC9500 (Xilinx, www.xilinx.com)
[5, 6). Są to układy wytwarzane w technologii CMOS 0.6 µm, programowalne
elektrycznie „w systemie" (ISP), o złożoności od 800 do 12800 bramek
lub 36 do 576 makrokomórek. Do programowania zostały zastosowane
komórki pamięci błyskowej (Flash), o maksymalnej liczbie cykli reprogramowania szacowanej na co najmniej 10000. Maksymalny czas propagacji
między koócówkami wynosi, zależnie od typu układu, od 5 ns do 15 ns,
a maksymalna częstotliwość pracy systemu wynosi odpowiednio od 125
do 95 MHz. Układy są zasilane napięciem + 5 V i, jeśli wymagane jest
dopasowanie wyjść do standardu CMOS 3.3 V, dodatkowo napięciem +3.3 V.
Sygnały wejściowe mogą być w standardzie TTL i CMOS 5 V i 3.3 V.
Wyjścia układów umożliwiają wprowadzenie prądu obciążenia I OL o wartości
sięgającej 24 mA.
Architekturę układów CPLD z serii XC9500 ilustruje rys. 9.15 [5]. Każdy
układ zawiera pewną liczbę 11 bloków funkcjonalnych (BF) i bloków wejś­
cia/wyjścia (BIO) oraz programowalną matrycę połączeń (PMP) o firmowej
nazwie Fast CON N ECT Switch Matrix. Matryca PMP umożliwia różnorodne
łączenie wyjść bloków BF i BIO z wejściami bloków BF. Pogrubione strzałki
wskazują na bezpośrednie połączenia bloków BF z blokami BIO. Sterowni k
JTAG służy do testowania układu, a sterownik ISP do programowania matrycy
połączeń i bloków funkcjonalnych. Oprócz uniwersalnych końcówek wejś-
·~ [
1
JTAG
•
1
$1 ~'1"1ik
l
I/O
I/O
l
o:
"e,
<
''""''
-
I/O
(610)
I/O
llO
IJOJGTS
i
1
ł• ~
~
~
I
2 lub4,
l
J
Rys. 9./5 Architektura
543
36
•
{i
3
układów
-
I
36
~
'
""'"'
l/OIGCK
tlOIGSR
Sterownik ISP
JTAG
38
~
61'1
Makrok.omórló
1 do 18
li
I
BFZ
~..a.krokom~i
1do 18
I li
l
BFn
rr
Makrokomórł<.i
1 dO 18
CPLD z serii 9500 (Xi/inx)
rr
9. PROGRAMOWALNE I SPECJALIZOWANE UKŁADY CYFROWE
cia/wyjścia (1/0) występują również końcówki trójfunkcyjne: 1/0/GCK (GCK
- Global Clock- Globalny Zegar), 1/0 / GSR (GSR - Global Set/ Reset- Globalny
Set/Reset) i I/O/GTS (GTS - Global 11tree-State Control - Globalne sterowanie
wyjść trójstanowych).
Ogólną budowę bloku funkcjonalnego BF przedstawiono na rys. 9.16.
Do programowalnej matrycy AND doprowadzone jest 36 sygnałów wejściowych, czyli 72 sygnały w postaci prostej i zanegowanej. Termy zaprogramowane w matrycy można doprowadzić do 18 makrokomórek bloku
BF. Ponieważ blok BF ma 36 wejść i 18 wyjść, więc nosi on również
nazwę „PAL-owską": 36V 18.
matryca AND
.
T
1
6
<
Progt6mowa1na
18
Z matrycy
PMP
36
r ~8
-µ.::::::
18
Oo matrycy PMP
OUT
Oo bloków
PTOE )
llO
MakrokOmórn 1e
f
Globalny
Semtsłt
;f
Globalne
$)'gnały
zegarowe
Rys. 9.16 Blok fun kcjonalny (BF)
układów
CPLO z serii 9500 (Xi/inx)
Na rysunku 9.17 przedstawiono budowę logiczną makrokomórki. Głów­
ne wejścia to pięć bramek AND, które realizują pięć zaprogramowanych ter mów
w matrycy AND. W jednym bloku BF można zatem wytworzyć do 90 (5 x 18)
różnych termów. A lokator termów(AI) zawiera 8 programowalnych demultiplekserów DX i 3 bramki O R, które umożliwiają wykorzystanie pięciu „własnych"
termów makrokomórki, przesianie ich do sąsiednich makrokomórek lub
wykorzystanie termów wytworzonych w sąsiednich makrokomórkach. Przerzutnik makrokomórki może być skonfigurowany jako typ D lub T z użyciem bramki
XOR (p. rys. 4.51). Można go również ominąć w zastosowaniach kombinacyjnych. Wybór żródel sygnałów zapewniają programowalne multipleksery MUX.
Sygnały S i R są asynchroniczne i mogą być pobierane z matrycy AND jako
„termowe" lub z szyny globalnej dla całego uk ładu. Sygnał zegarowy może być
również wytwarany przez matrycę AND jako „termowy" (do realizacji układów
szeregowych - „asynchronicznych") lub pobierany z jednej z trzech globalnych
544
9.1.
UKŁADY
PROGRAMOWALNE
.....
Glob:llne
-·~
:eg~rowt
/
Globalny
SeuFłese1'-
"lt.
3
MUX
ox
MUX
do
""'
Zogar "tormowy"
Reset "tetn"IOWY'
t
zniuleJ
makrokom6tł6
Oo ŃZSlElf
makrokornónO
Rys. 9.17 Budowa logi01.na makrokomórki
układów
CPLD z serii 9500 (Xili11x)
szyn zegarowych. Podczas włączania zasilania stan przerzutnika jest wymuszany
w sposób zdefiniowany przez użytkownika lub domyślnie jest ustalany jako O.
Sygnał zezwolenia bufora trójstanowego może być wytwarzany w matrycy AND
jako odpowiednio dobrany term (PTOE) lub można do tego celu wybrać w bloku
BIO jeden z dostępnych sygnałów globalnych GTS.
Alokator AT umożliwia dysponowanie zarówno „własnymi" termami,
jak też termami „ukradzionymi" z sąsiednich makrokomórek. Ilustrują to
przykłady alokacji termów pokazane na rys. 9.18. Jak widać, już powyżej
pięciu termów trzeba ,,zubażać" sąsiednie makrokomórki. Ponadto szeregowa
struktura sumy oznacza zwiększenie opóźnień propagacji termów dodawanych
szeregowo. Oznacza to, że różne termy mogą mieć różne opóźnienia, co
może tworzyć nawet niebezpieczeństwo wystąpienia hazardu (p. 4.1.6). Jeśli
w różnych sumach trzeba wykorzystać ten sam term, to trzeba go tworzyć
oddzielnie dla każdej sumy (brak możliwości współdzielenia termów). Podane
cechy stanowią pewne wady omawianej architektury. Nie należy ich jednak
wyolbrzymiać, gdyż w praktyce przypadki występowania więcej niż pięciu
termów są rzadkie, a dodatkowe opóźnienie propagacji termów z sąsiedniej
makrokomórki n ie przekracza 1.5- 2 ns.
545
9. PROGRAMOWALHE I SPECJALIZOWANE UIClAOY CYFROWE
Rys. 9.18 Przyk.lad wykorzystania alokator6w termów (Al) do zwięksuoia liczby
termów na wyjściu jednej makrokomó rki kosztem sąsiednich makrokomó rek w układach
CPLO z serii 9500 (Xilinx)
Sposób sterowania matrycą połączeń PMP ilustruje rys. 9.19. Wszystkie
wyjścia bloków BIO (odpowiadające końcówkom wejściowym I) i wszystkie
wyjścia bloków BF są doprowadzone do kolumn matrycy PM P. Każdy
z tych sygnałów może być wybrany d o tworzenia odpowiednich termów
w matrycach AND bloków BF, przy uwzględnieniu ograniczenia wynikającego
z maksymalnej liczby 36 wejść matrycy AND w jednym bloku BF. Sygnały
wewnętrzne, pochodzące z V'tyjść BF, mogą być w matrycy łączone do realizacji
funkcji logicznej DAND, co zwiększa m ożliwości logiczne układu. Czynności
te, podobnie jak wszystkie czynności związane z programowaniem połączeń
układu, są wykonywane automatycznie przez oprogramowanie projektowe,
bez konieczności zaangażowania projektanta w szczegóły łączeniowe i technologiczne.
546
9.1. UKŁADY PROGRAMOWALNE
PMP
18
18
(36);
(38):
1
'-----możliwe funkeje
Rys. 9.19
DANO
Współpraca
wejścia/wyjścia
matrycy połączeń (PMP) z blokami funkcjonalnymi (BF) i blokami
(810) w ukladach CPLO z serii 95-00 (Xilinx)
Czterokońcówkowy
port JTAG i sterownik JT AG, zaznaczone na
schemacie z rys. 9.15, umożliwiają wykonanie pełnego testowania układu po
zaprogramowaniu, zgodnie z normą IEEE Boundary-Scan Standard 1149.1.
SkrótJTAG pochodzi od nazwy grupy roboczej Joint Test Action Group w IEEE
(illstitute of E/ectTica/ and E/ectronics Engineers w USA). Norma obejmuje
specyfikacje elektryczne i zestaw instrukcji dla programów testujących. Dokład­
niejsze omówienie metod testowania układów z serii XC9500 na podstawie
protokołu JTAG zawarte jest w notach aplikacyjnych [6]. Ten sam port JTAG
służy do programowania układów. Sposób programowania „w systemie" jest
praktycznie taki sam jak pokazany wcześniej na rys. 9.12. Można również
programować układy w odrębnym programatorze i następnie montować je
w urządzeniu docelowym. Trzecią możliwością jest użycie małego mikroprocesora łub scalonego mikrokontrolera w urządzeniu (na tej samej płycie
drukowanej) do programowania układu CPLD. Taki mikroprocesor (mikrokontroler) może się komunikować z urządzeniami zewnętrznymi za pośrednictwem
typowych łączy (np. RS232).
Układy z serii XC9500 mogą być zabezpieczone programowo przeciw
odczytowi mapy połączeń jak i przeciw niezamierzonemu programowaniu
i kasowaniu. Wybrane łub wszystkie makrokomórki układu mogą być pro-
547
9. PROGRAMOWALNE I SPECJALIZOWANE UKŁADY CYFROWE
gramowo usta wione w trybie obniżonej mocy, jeśli może być tolerowane
czasów propagacj i w takich komórkach.
Podobną architekturę makrokomórek mają układy CPLD z serii
MAX7000 firmy Altera (www.altera.com). W matrycy AND mają one dodatkowo I 6 linii (kolumn), do których mogą być doprowadzone zanegowane
termy z 16 makrokomórek w PBL (po jednym z każdej). Termy te są
równolegle dostępne na wejściach AND wszystkich makrokomórek w
PBL. Układy z serii MAX7000A są programowalne w systemie (ISP) i są
zwiększenie
a
z matiycy
PMP
...,..,...,.,.
wejścia
doPMP
li:' i-i;;;51-o
~
:11--@l-o
·~
Matryca ANO
36 x20
łH•Vt-~
----.n:---------·
.--- ---------i
Ml<2
i----1+1+~
MKI
f----+H+.
.---
I
I
---Ts.---------'
----------:
I
MKO
wspOldziel:;----rr--------_:
termów
I
CR
Rys. 9.20 Budowa logiczna układów CPLD z rodz.in pLSl/ispLSI 1000/2000/ 3000 (Larrice)
a) budowa błoku runkcjonillDCgQ, b) magj111r3b wyjściowa w układ.ach i rodziny 2000
548
9.1. Ul(lAOY PROGRAMOWALNE
szybkie (maksymalna częstotliwość liczników sięga 186 MHz), lecz mają dużą
moc strat.
Układy CPLD z rodzin pLSI/ispLSI 1000/ 2000/3000 (Lattice) charakteryzują się specyficzną budową bloków funkcjonalnych BF (rys. 9.20a). Matryca
AND umożli wia zaprogramowanie 20 termów, które mogą być przyłączone do
wejść 4 bramek OR i 4 bramek XOR w makrokomórkach. Wyjścia bramek OR
są przyłączone do czterech kolumn małej matrycy, która umożliwia sumowanie
termów z dwu lub więcej bramek OR. Oznacza to współdzielenie termów między
komórkami. Jak pokazano na przykładzie z rys. 9.20a, do makrokomórki MKO
jest doprowadzona suma 13 termów, do MK I - 4, do MK2 - 3 i do MK3 - 7.
Największa liczba termów na wejściu jednej makrokomórki wynosi oczywiście
20, przy czym na wejściach pozostałych makrokomórek mogą być wtedy tylko
podzbiory tych samych termów.
Bramki XOR są w szczególności przydatne przy projektowaniu układów
arytmetycznych i do zmiany rodzaju przerzutników z D na T (p. rys. 4.51).
W innych zastosowaniach mogą być programowo pominięte i wtedy liczba wejść
bramek OR zwiększa się o jeden.
Osiem bloków BF tworzy „megablok". U kłady CPLD o większej
złożoności zawierają odpowiednio większą, parzystą l iczbę megabloków. Wyjścia makrokomórek z poszczególnych blok ów mogą być w programowany
sposób przyłączane do różnych szyn magistrali wyjściowej (Outp11t Ro11ting PooO.
W układach z rodziny 2000 jedna taka magistrala jest przywiązana do każdych
czterech bloków, czyli każdy megablok zawiera dwie magistrale (rys. 9.20b).
Każda szyna magistrali jest trwale połączona z wejściem jednego bufora
trójstanowego w komórce 1/0, czyli z określonym numerem końcówki w obudowie układu. Możliwe jest zatem elastyczne dowiązan ie wyjść makrokomórek do
różnych końcówek I/ O w obrębie jednej magistrali. Można równ.ież połączyć
wyjścia makrokomórek z końcówkami I/ O bezpośrednio, bez pośrednictwa
magistrali. To zmniejsza opóźnienie propagacji, ale nie umożliwia swobodnej
alokacji końcówek do makrokomórek. Każda końcówka 1/ 0 jest połączona
z matrycą PMP, umożliwiając speln.ienie funkcję wejścia (przy zablokowanym
buforze trójstanowym) lub sprzężenia zwrotnego (przy buforze odblokowanym).
Układy CPLD firmy Lattice są wytwarzane o różnej złożoności (l iczbie
megabloków), w technologii CMOS EEPROM. Układy ispLSI mogą być
programowalne „w systemie". Gwarantowana liczba cykli reprogramowania
wynosi 100 (pLSI) i 1000 (ispLSI).
Inny sposób alokacji termów jest realizowany w układach CPLD
z rodziny Flash370/ 370i firmy Cypress. Układy te zawierają bloki funkcjonalne
o 16 makrokomórkach (rys. 9.21). Wejściowa matryca AND ma wymiar72 x 86,
czyli umożliwia zaprogramowanie do 86 termów do 36 zmiennych. Wszystkie
linie termów są doprowadzone do alokatora termów w postaci czterech
minimatryc OR. Do każdej makrokomórki można przyłączyć bezpośrednio
549
9. PROGRAMOWALN E I SPECJALIZOWANE UK ŁADY CYFROWE
p
R
Szyny
:zegarowe
Joe
zPMP
2(4)
M:ikrOkotnórt<.a (1 z t6 w 8F)
2
oe
- ----- --- --- - - ---- ---- --------, r
Komód<al/O
-------1
'''
''
'
12
6
'''
p
20
20
t--1--'' :
''
'
'O
rI
20 '
''
''' '''
~
~
~
do PMP
~ ---- ~
80
'
20 •
'~
I
I
doPMP
·-·
c
(clo m;,luQkomórlU
'r---- -.''
'"'20 '•
C ........_ AlOka-~01 termów
::
:
--------J
:zagn:oballt i>
(4 trllnitn31iyoe OA)
'
1--- --·
Rys. 9.21 Budowa logiczna bloku funkcjonalnego w układach CPLD z rodzfoy Flash370i
(Cypress)
sumę do
16 dowolnych termów z minimatrycy. Ponadto te same termy mogą być
wspóldzielone między cztery sąsiednie makrokomórki przez odpowiednie zaprogramowanie polączeń w obrębie każdej minimatrycy. Warto również zauważyć, ie sprzężenia zwrotne do PMP są wykonywane przed komórkami I/O,
a z końcówek I/ O są oddzielnie doprowadzone do PMP połączen ia wejściowe.
Przerzutnik w makrokomórce może być zaprogramowany jako typ D,
T lub typ zatrzaskowy.
Wadami układów z rodziny 370i są niewielka liczba cykli reprogramowania (100) i relatywnie duża moc strat.
Nowatorską architekturę bloków funkcjonalnych i znacznie obniżoną
moc strat (w porównaniu z innymi ukladam i CPLD) mają układy z rodziny
Coo/Rwmer PZ3000/ SOOO firmy Philips (www.coolpld.com), wytwarzane w technologii CMOS. 0.35 µm i 0.5 µm ze strukturam i EEPROM. Podstawowa
struktura tych układów jest taka sama jak na rys. 9.14. Każdy blok funkcjonalny
(rys. 9.22a) zawiera 16 makrokomórek i ma 36 wejść z matrycy PMP (nazywanej
tu jako Z ero-Power Interconnect Array - ZIA). lstotną nowością jest użycie
oprócz „PAL-owskiej" matrycy AND dwu dodatkowych matryc AN D i O R,
które razem tworzą znaną strukturę PLA (por. rys. 9.2-9.4). Dlatego układy o tej
architekturze noszą również firmową nazwę XP LA (eX tended Programmable
Logic Array). Na wejściu każdej makrokomórk i (rys. 9.22b)jest bramka OR, do
której można doprowadzić 5 termów z matrycy PAL oraz - w razie potrzeby
- sumę do 32 termów ze struktury PLA. Termy doprowadzone do matrycy OR
mogą być w niej współdzielone między różne makrokomórki.
550
9 .1.
UKŁADY
PROGRAMOWALNE
a
zPMP
Matyca AND/OR
72x6
6
Sygnaly sterujące CTO • CTS
Z~pól 16
MKO makrok.Omótek
s
Matryca ANO
72•00
16
I/O
(PAL)
16
5
MK15
doPMP
------ ---Millrycti AND
72x32
32
Matryca OR
32 I( 16
16
doPMP
PLA
b
do PMP (ZJ.A) ---~
I/O
im
CTO
CT2
CT•
CT3
•
CTS
o
CT<
o'
Rys. 9.22 Architektura
układów
CPLD z rodziny XPLA PZ3000/5000 (Philips)
a) budowa b111ku runkcjonalnego.
b) 5e~mat łogiczny makrokomórki
makrokomórki są doprowadzone 4 sygnały zegarowe i 6 sygnałów sterujących CTO-CT5. Sygnały CTO i CT! spełniają rolę sygnałów
P i R w przerzutniku, a sygnały CT2- CT5 służą do selektywnego wyboru
sterowania buforami trójstanowymi, co jest potrzebne w zastosowaniach
z magistralą PCI.
Dzięki wprowadzonej strukturze PLA, układy XPLA cechują się duią
elastycznością projektową. Oznacza to, że wprowadzenie zmian w układzie
o ustalonej alokacji sygnałów na końcówkach niemal na pewno (według firmy
Philips na 99.998%) nie zmieni tej a lokacji, czyli w praktyce przykładowo nie
trzeba będzie projektować nowej płyty z obwodami drukowanymi. Drugą
istotną zaletą jest prostota modelu zachowania dynamicznego: opóźnienie
Do
551
każdej
9. PROGRAMOWALNE I SPECJALIZOWANE
U KŁADY
CYFROWE
propagacji i czas ustalenia w przerzutnikach mają tylko dwie wartości: z użyciem
tylko mat rycy PAL i z użyciem matrycy PAL i PLA.
Istotną zaletą układów
XPLA jest równ ież bardzo mala moc strat,
nowym rozwiązaniom układowym programowalnych matryc,
wykorzystujących multipleksery CMOS. W układzie PZ5032 (32 makrokomórki, zasilanie 5 V} moc ta wynosi tylko 204 mW (typowo) przy 100 MHz,
a w stanie statycznym zaledwie 0.25 mW. W ukladzie PZ3032, zasilanym
obniżonym napięciem (3.3 V), otrzymuje się odpowiednio 73 mW i 0.03 mW.
osiągnięta dzięki
Układy
XPLA są wytwarzane o złożoności od 32 do 128 makrokomórek
(od 2 do 8 bloków funkcjonalnych) i o napięciu zasilania równym 5 V i 3.3 V.
Gwarantowana liczba cykli programowania wynosi 1000. Układy te są dostępne
w wersjach programowalnych zewnętrznie i „w systemie" (ISP).
Tablica 9.1 zawiera porównawcze zestawienie kilku parametrów dla
najprostszych odmian układów CPLD, omówionych wcześniej. Umożliwia ono
PORÓWNANIE PODSTAWOWYCH PARAM€1'RÓW cznR ~CH PROSTYCH
Tl1b/i(;(I 9.1.
UKLAi)ÓIV CPLO
Typ>
(Firma) >
XC9536
(X ili11x)
7032A
(Alteró)
2032
(La11.ice)
CY7C371i
(Cypress)
PZ5032
(Philips)
Liczba makrokomórek
36
32
32
32
32
34
36
32
37
32
5- 15
5- 15
7.5-15
8.5- 15
6- 10
100-125
77- 178
80-137
66-143
64- 125
200 przy
I MHz,
360 przy
100 MHz
450- 1100
przy I MHz
204 prą
100 MHz,
0,25 w
Liczba
końcówek
1/ 0
Czas propagacji (ns)
Częstotliwość
(MHz)
Moc strat (mW)
Liczba cykli i sposób
programowania
Technologia
zgrubną ocenę
150 przy
I MHz,
415 przy
100 MHz
st. stat.
10000
In-System.
tylko 5V
>100
progr. zewn„
In-System
100 (pLSI)
1000
(ispLSI,
tylko 5V)
100
In-System
(dod. 12 V)
1000
progr. zewn.,
In-System
0.6 µm
C MOS
Flash
C MOS
EEPROM
CMOS
EE PROM
CMOS
Flash
0.35 11m
i 0.5 µm
CMOS
EEPROM
tych układów. Czas propagacji (wartość maksymalna) dotyczy
drogi w strukturze kombinacyjnej od końcówek wejściowych do wyjściowych.
Podana maksymalna częstotliwość dotyczy konfiguracji, w której wyjścia
552
9.1. Ul<lAOY PROGRAMOWALN E
przerzutników są doprowadzane poprzez wewnętrzne sprzężenia zwrotne i wekombinacyjnego do wejść danych tych przerzutników (typowa konfiguracja licznikowa).
wnętrzną strukturę układu
Projektowanie z
układami
PLD/ CPLD
9.1.3
Proces projektowania można podzielić na trzy etapy, z których każdy zawiera
określone sekwencje czynności (rys. 9.23).
Pierwszym etapem jest wykonanie projektu funkcjonalnego. Najpierw
należy określić cel projektu, a więc sformułować zalożenia projektowe, obejmujące
ZAŁOZEf\IA PROJEKTOWE
PROJEl<f
FUNKCX>t.IAlNY
[
SCKEMAT BLOKOWY.
DEKOMPOZYCJA
PLIK.I HC>t. SCHEMATY,
TABLICE STANÓWJPAZEJŚĆ ,
GRAFY PRZEJŚĆ
WEKTORY TESTOWE
WYBÓR TYPtJ UKt.AOU PLO
KOMPILACJA
PROJEKT
LOGICZNY
f\łNIMAU ZACJALOGICZNA
SYMULACJALOGłCZNA
NIE
PROJEKT POŁĄCZEŃ
W
UKŁADZIE PLO
008RZE?
PROJEKT
FIZVCZNY
NIE
TAK
SYMULACJA CZASOWA
(oPCJONALNIE)
NIE
PUKJEOEC
Rys. 9.23 Cykl projektowania
553
układów
PLO/CPLO
9. PROGRAMOWALNE I SPECJALIZOWANE
UKŁADY
CYFROWE
funkcje i parametry techniczne projektowanego układu, oraz wykonać a11alizę
kosztów projektu i jego realizacji. Projektowany układ przedstawia się w postaci
schematu blokowego i przy większej złożoności dzieli się go na mniejsze bloki,
czyli wykonuje się dekompozycję blokową. Dekompozycja jest celowa nawet przy
relatywnie niewielkiej złożoności, gdyż łatwiej jest wykonać poprawne projekty
logiczne małych bloków. Dekompozycja uszeregowuje mniejsze bloki hierarchicznie, zgodnie z zasadą projektowan ia „od góry w dół" (top-down design).
Następnym etapem jest wykonanie projektu lor1icznego. Jeśli została
wykonana dekompozycja, to wykonuje się projekty poszczególnych bloków,
które następnie są łączone w całość podczas kompilacj i. Podstawowym narzę­
dziem projektanta jest oprogramowanie komputerowe. Począwszy od tego
etapu, służy ono również do realizacji wszystkich następnych etapów projektowania. Pakiet programów potrzebnych do tego celu określa się jako system
projektowy lub kompilator P LD.
Najpierw należy opisać budowę i działanie projektowanego układu
w sposób „zrozumiały" dla komputera. Krótki i łatwy do sformułowania opis
zachowawczy (behawioralny) układów cyfrowych umożliwiają języki wysokiego
poziomu. Są one określane jako języki opisu ukladów cyfrowych (HOL - Hardware Description Language) i służą do tworzenia odpowiedn ich pl ików źródło­
wych przez projektanta. Programy przetwarzające te pliki nazywa się kompilatorami HDL. Kompila tor HOL wchodzi w skład kompilatora PLO.
Najczęściej stosowane języki HOL to ABEL (opracowany w firmie Data
I/ O), VHDL(standardy IEEE 1076, 1164)i VERILOG(standard IEEE 1364). Do
projektowan ia u kładów PLD stosuje się zazwyczaj język ABEL, natomiast do
projektowania układów CPLD stosowane są również pozostałe języki.
Projektowany układ można często opisać w języku HDL w bardzo prosty
sposób przez zapis jego funkcji widzianych na końcówkach, bez wchodzenia
w szczegóły rozwiązań logicznych wewnątrz. Jest to opis zachowawczy, przy
którym zadanie tworzenia struktury logicznej układu w całości jest wykonywane
przez kompilator HOL. Innym sposobem opisu jest opis strukturalny, który
stanowi zapis struktury logicznej układu. Układy kombinacyjne opisuje się
używając równml boolowskich lub/i tablic stanów, a układy sekwencyjne używając
tablic przejść lub/ i tekstowy zapis grafów przej.Vć. Jeśli zastosowany kompilator
PLD zawiera odpowiednie programy dodatkowe, to możliwe jest również
wprowadzenie graficznego opisu układu w postaci schematu logicznego lub grafu
przejJć. Ponadto oheśla się zbiór wektorów testowych w celu sprawdzenia
poprawności działania projektowanego układu. Każdy wektor testowy zawiera
określony stan wejść i odpowiadający mu „prawidłowy" stan wyjść. Kompilator
symuluje działanie układu przy każdym zadanym stanie wejść i sprawdza czy
odpowiedź układu pokrywa się z odpowiedzią podaną w wektorze testowym.
Na tym etapie dokonuje się również próby wyboru docelowego typu
układu PLD/ CPLD. Nie jest to potrzebne do realizacji projektu logicznego, ale
554
9. 1. UKLAOY l'AOGAAMOWALHE
umożliwia
wprowadzenie numeru typu i w szczególności przyporządkowanie
i wyjściowym sygnałom logicznym numerów końcówek wybranego
typu układu i rodzaju obudowy. Numery końcówek wprowadza s ię przez
odpowiednie deklaracje w języku HOL lub przez odpowiednie oznaczenie
końcówek na schemacie logicznym.
Wykonane opisy bloków (w postaci plików HOL lub/i plików schematowych) stanowią dane wejściowe dla kompilatora logicznego. Po wykonaniu
poprawnej kompi lacji następny program wykonuje minimalizację równań
boolowskich lub/ i liczby stanów w układach sekwencyjnych. Na podstawie
przygotowanych wcześniej wektorów testowych wykonywana jest symulacja
logiczna układu. Jeśli wyniki sym ulacji nie są w pełni pozytywne, to trzeba wrócić
do początku projektu logicznego, dokonać odpowiednich korekt i uruchomić
kompilację od nowa. W praktyce może to oznaczać pewną liczbę powtórzeń
kompilacji.
Gdy projekt logiczny jest poprawny, wówczas odrębny program, wchodzą­
cy w skład kompilatora PLO, wykonuje projekt połączeń dla wybranego wcześniej
typu układu PLO. Program ten „wpasowuje" projekt logiczny w sieć połączeń
ukladu PLO i dlatego nosi nazwę angielską.fi11er (liter). Jeśli dla wybranego układu
PLO lub wybranych numerów końcówek wejść i wyjść układu nic uzyskuje się
poprawnego wyniku, to trzeba powtórzyć etapy projektowania logicznego
i fizycznego dobierając nowy typ układu lub/i numery końcówek.
Niektóre litery są wyposażone w opcję automatycznego wyboru docelowego typu układu PLO. Przy wyborze tej opcji wcześniej deklarowany typ
i przyporządkowania końcówek są ignorowane i kompilator wybiera typ i rozkład
końcówek samodzielnie. Jeśli projektant pragnie uzyskać określony rozkład
końcówek w tak wybranym typie, 10 trzeba jeszcze raz wykonać caly poprzedni
proces kompilacji, już z wybranym typem i zadeklarowanym rozkładem koń­
cówek.
Opcjonalna symulacja czasowa umożliwia sprawdzenie dynamicznego
zachowania się układu, a w szczególności sprawdzenia czasów opóźnie1i na
różnych drogach sygnałów w układzie.
Wynikiem projektu fizycznego jest plik J EO EC, który w standaryzowanej
postaci zawiera dane potrzebne do zaprogramowania układu PLO, bądł używając
odrębnego programatora, bądź z zastosowaniem programowania w systemie (p.
rys. 9.12).
Można zauważyć, że w podanym opisie realizacja projektu runkcjonalnego
i logic-tnego jest w zasadzie niezależna od architektury, technologii i typu
docelowego układu PLO. Oznacza to, że duia część kompilatora PLO ma
charakter uniwersalny, wykonując prlCtwarzanie projektu układu wi rtualnego.
Kompilator PLO można więc wykorzystać również do innych celów, czyli do
projektowania innych układów logicznych (nie realizowanych jako PLO) oraz
w dydaktyce. Kompletny kompilator PLO moi.aa zatem konfigurować w sposób
wejściowym
555
9. PROGRAMOWALNE I SPECJALl20WANE UKlADY CYFBOWE
elastyczny, dobierając tylko odpowiedni filer. W ten sposób są tworzone m.in.
kompilatory firmy Data 110 (Synario). Jeśli jednak dany kompilator został
opracowany przez producenta układów PLO tylko dla własnych ukladów. to
wtedy jui takiej elastyczności nie ma i nie można takiego kompilatora wyposażyć
w filer dla innych układów PLO. ·
Język
9.1.3.1
lat osiemdziesiątych, gdy w USA pojawiły się pierwsze uklady PLO,
powstała potrzeba opracowania odpowiedniego oprogramowania do ich opisu
komputerowego i projektowania. Zadanie to podjęła m.in. amerykańska firma
Data 110, która w roku 1983 opracowała pierwszą wersję języka ABEL-HOL
(Advanced Boolean Expression l.Anguage) oraz kompilator ABEL tego języka.
Następnie produkty te były stopniowo udoskonalane i w roku 1997 była jut
dostępna wersja 6.5 kompilatora ABEL finny Synario (należącej do Data 110).
Zarówno język, jak i kompilator ABEL stały się popularnymi, choć nieformalnymi
standardami do projektowania układów PLO.
Poniżej są przedstawione podstawy języka ABEL-HDL, opracowane na
podstawie podręcznika referencyjnego (7, 8). O.bszeme fragmenty opisu tego
języka są również przytoczone w (3). Aby uzyskać lepsui zrozumiałość, podany
opis jest uzupelniony kilkoma przykładami opracowanymi przez autora. Jednakże, aby w pełni wykorzystać duże możliwości i zalety tego języka, trzeba się
zapoznać z kompletnym opisem jego semantyki i skladni (7. 8).
Język ABEL umożliwia tworzenie opisu układów w postaci zachowawczej
(behawioralnej) - poprzez opis funkcji realizowanych prL.ez układ lub w postaci
strukturalnej - poprzez opis budowy ukladu z układów mniejszych lub nawet
z elementarnych bramek. Opis zochowawczy jest z reguły prostszy i wtedy zadanie
tworzenia struktury układowej spada na kompilator. Język ABEL wykorzystuje
dane skalarne (jednobitowe) i zloto11e (wektorowe).
Opis układu w języku ABEL-HOL tworzy się w postaci modułu tekstowego
lub zestawu modułów. Każdy modul zawarty jest w pliku ASCII o indywidualnej
nazwie z rozszerzeniem .ab!. Zasady składni języka są następujące.
•
Jeden wiersz może zawierać do 150 znaków, wyłącznie ASCII.
•
Słowa kluczowe, naiwy i liczby muszą być rozdzielone przez przynajmniej
jedną spację. Wyjątkiem jest wyliczanie nazw lub liczb oddzielonych
przecinkiem, gdzie nie trzeby używać spacji.
Słowa kluczowe mogą być pisane zarówno małymi jak i dużymi literami.
*
Np. Equations, equations i EQUATIONS są równoważne.
W
nazwach wyróżnia si~ znaki małe i duie. Np. Wel, wel i WEl oznaczają
*
trzy różne sygnały.
Nazwy mogą zawierać do 31 znaków: liter (małych i duiych). cyfr oraz
*
symboli tyldy (- ) podkreślenia U. leci. muszą zaczynać się od litery lub
Na
początku
ABEL-HOL
556
9. 1 UKl.ADY PAOGRAMOWAA.J<E
podkreślenia.
W nazwie nie motna stosować spacji -
zamiast spacji
można
stosować podkreślenie.
*
*
•
Bloki (np. zestawy wyrażeń) oznacza się nawiasami klamrowymi { }.
Komentane rozpoczyna sie znakiem lub//. Ważność takiego oznaczenia
kończy się na końcu linii, a także - w przypadku znaku cudzyslowu (") - gdy
używamy drugi raz tego znaku w tej samej linii.
Liczby zapisywane są w formacie 128-bitowym. Domyślnie liczby są
interpretowane jako dziesiętne. Przy stosowaniu kodu dwójkowego lub
szesnasikowego należy siosować przedrostek odpowiednio ' b lub 'h . Na
N
przykład,
·b11010011 = ' hD3.
Łańcuchy znakowe obejmuje si~ symbolami apostrofu (' ).
Stosuje się dwa zbiory symboli operatorów logicznych: domyślny i alternatywny, przedstawione dalej. Aby użyć zbiór alternatywny, należy w c~ci
deklaracyjnej modułu wpisać dyrektywę @ ALTERNATE. Przy stosowaniu
operatorów domyślnych można stosować również standardowe operatory arytmetycwe do zapisu działań arytmetycznych.
*
Zbiór
Zbiór
alternatywny
domyślny
NOT
&
AND
#
$
!$
OR
XOR
XNOR
I
(przedrostek, np. !A, /Q)
•
+
:+:
·•·
Symbole relacji stosowane w predykatach (1,definiowanych w p. 1.2) są nastepujące:
równość
!=
nierówność
mniejszy niż
<
< = mniejszy lub równy
większy ni:i
>
większy lub równy
>
=
Na przykład, zapis Q = P $ ( R ! =S ) oznacza, te Q = P gdy R = s oraz Q = ! P
gdy R !=S.
Priorytet operacji w obliczaniu wyrażeń logicznych (od lewej do prawej
strony w wyrażeniu) jest następujący: ! , & , #, $, ! $, = = , ! = , <, < =, >, > =.
Szczególnie trzeba zwrócić uwage na operatory $ i !$ oraz operatory relacji:
aby uniknąć błędów przy kompilacji należy te operacje stosować z utyciem
nawiasów, np. A& !B # (C$D) # (E = =25).
557
9. PROGRAMOWALNE I SPECJAl.IZOWANE UKUDY CYFROWE
Przy zapisie funkcji kombinacyjnych stosuje sie znak równości =, a przy
funkcjach sekwencyjnych znak przypisania : = (stosuje się go tylko do opisu
działania przerzutników D).
W języku ABEL często stosuje sie „zbiory" (set), które w istocie nie są
zbiorami w ~ensie teońi mnogości (p. 1.2), lecz tablicami jednowymiarowymi czyli
wektorami o jednobitowych elementach (podobnie jak typ array w języku Pascal).
Dlatego w dalszym ciągu będzie stosowana nazwa wektor zamiast „zbiór".
Zawartość wektora zapisuje się przez wyliczenie elementów w nawiasach kwadratowych, np. A= [ QO, Ql, Q2, Q3 , Q4 J. Jeśli na początku symboli stosowany jest
ten sam ciąg znaków i zastosowano numerację w postaci kolejnych liczb na ko1icu
symboli, to można zapis wektora uprościć, np. A= [ QO . . Q4 I . Kolejność motna
odwrócić, np. C = [ C7 . . co J •
Elementy wektorów są indeksowane od lewej strony do prawej z liczeniem
od zera, co umożliwia tworzenie subwektorów i operacje na bitach. Na przykład,
D= [DO . . D1 5);
E=D[6 .. 10);
Aby
"Elementy D6 .. DlO
uzyskać reprezentację bitową,
np. elementu DB, trzeba
zastosować operację
F=D[B] ==1;
Operacje na wektorach mogą znacznie uprościć opis układu. Na przykład,
Q = [ QO .. Q3 J, to definicję sygnału R = QO& ! Ql& ! Q2&Q3; można uprościć
do postaci R = Q = = {l, O , O, l l ; lub jes?.Ci.e prościej R = Q = = 9 ; .
Na wektorach można wykonywać operacje logiczne, arytmetyczne i relacyjne. Generalną zasadą jest wykonywanie oddzielnych operacji na elementach
wektorów o tych samych pozycjach. Operacje na dwu wektorach są dopuszczalne
tylko wówczas, gdy obydwa mają .ten sam wymiar (długość). Na przykład, jeśli
Q= [QO .. Q3) iP= [PO . . P3).toQ&P= [QO&PO, Ql&Pl, Q2&P2, Q3&P3).
jeśli
Podstawowa struktura
*
•
modułu
obejmuje
nagłówek modułu, zawierający słowa
następujące
sekcj e
składowe:
kluczowe
MODULE [nazwa modułu] - obowiązkowe
TITLE [• tytuł'] - opcjonalne
deklaracje, poprzedzone słowem DECLARATIONS (opcjonalnym jeśli
wystepują bezpośrednio po tytule) i zawierające:
nazwę i typ docelowego układu PLO z użyciem słowa
DEVICE (opcjonalnie),
nazwy końcówek wejściowych i wyjściowych z utyciem
słowa PIN oraz ich atrybutów z użyciem słowa ISTY PE,
definicje wektorów, stałych, makr i bloków oraz interfejsów
z innymi modułami,
558
9. 1 UK!.AOY PROGRAMOWAl>IE
*
*
*
równania - poprzedzone nagłówkiem EQUATIONS, tabl.ice stanów
i tablice przejść - poprzedzone nagłówkiem TRUTH_ TABLE (format
tablicy) i tekstowe :r.apisy gr afów przejść - poprzedzone nagłówkiem
STATE_DIAGRAM (format zapisu sta116w) - służące do właściwego
opisu układu,
wektory testowe, poprzedzone nagłówkiem TEST_ VECTORS (fom1at
wek1ara),
zakończenie modułu słowem END.
Zależnie od potrzeb, w module mogą być wprowadzane dyrektywy,
do sterowania prz.etwar:r.aniem zawartości modułu. Oto niektóre z nich:
słuUjce
@ ALTERNATE - :r.astosowanie alternatywnego zbioru operatorów logicznych;
@ CARRY wyrat.enie - liczba przeniesień w złożonych układach, stanowiąca
liczbę bloków połącz.onych szeregowo (nj>. @ CARRY 2 przed opisem
sumatora 8-bitowego będzie oznaczać jego podz.ial na dwa sumatory
4-bitowe z przeniesieniami równoległymi, połącz.one szeregowo);
@ CONST nazwa = wyrażenie - deklaracja zmiennej pomocniczej, wykorzystywana w makrach i pętlach programowych;
@ DCSET - niewypisane stany wyjść w tablicy stanów są deklarowane jako
dowolne (Don 't Care) do lepszej optymalizacji wyrażeń opisujących funkcje
niezupełne; dyrektywa stosowana wymiennie z atrybutem "DC";
@ DCSTATE - niewypisane stany tablicy przejść są deklarowane jako dowolne;
@ I F predykat {blok} - jeśli wartość predykatu jest równa O. to blok tekstowy (np.
zestaw równań) jest pomijany, i odwrotnie;
@ INCLUDE 'nazwa_plik11 • - wpisanie do modułu treści pliku o podanej nazwie
i ścieżce dost~pu, na przykład z biblioteki bloków; przy z.apisie ścieżki
należy
wpisywać
podwójne znaki skośnika, np. @ I NCLUDE
• \\bibl\\ suma . inc • . Podobną funkcję można zrealizować poleceniem
LIBRARY '11azwa_plik11' z domyślnym rozszerzeniem pliku (. inc);
@ ONSET - odwołuje wcześniejszą dyrektywę @ DCSET lub atrybut • OC' ;
@ REPEAT liczba {blok } - powoduje wypisanie bloku liczba razy; stosowane do
krótkiej definicji dużych tablic stanów i dużych zbiorów wektorów
testowych;
@ SETSIZE wektor - zwraca wymiar wektora; np. @ SETSIZE [ Q7 .. QO )
zwraca liczbę 8.
W części deklaracyjnej moi.na
oznaczenie w projekcie, np.
US275
DEVICE
wpisać
planowany typ ukladu PLO i jego
'ispLSI 2032' ;
co pozwala kompilatorowi rozpoznać układ i uwzględnić jego architekturę
podczas kompilacji i optymalizacji. Przy braku tej definicji kompilator dokonuje
syntezy i optymali:r.acji układu „wirtualnego", czyli o nie zdefiniowanej atchitek-
559
9. PROGRAMOWALNE I SPECJALIZOWANE UKŁADY CYFROWE
turze. Istnieje zazwyczaj możliwość wybrania typu układu z odrębnego menu
(listy dostępnych układów) w kompilatorze i wtedy deklaracja DEVICE jes1
nicpotnebna.
Nazwy sygnałów na końcówkach wejściowych i wyjściowych (zazwyczaj
w dwu odrębnych wierszach) wprowadza się pr1.ed słowem PIN. Po słowie PIN
można wpisać deklarowane numery końcówek wybranego typu (i wybranej
obudowy) układu, np.
xl, x2, x3
PIN
18 , 19, 20;
Numery te są uwzględniane przez filer w końcowym etapie projektowania.
Ponadto w wierszu definiującym określone końcówki wyjściowe często wprowadza
się ich atrybury po słowie I STY PE, np.
Q7 .• QO
PIN 1. .8
IS TYPE
'REG'
i
Atrybuty slużą do specyfikacji rodzajów wyjść, poirzebnej
syncezie ukladu winualnego. Najczęściej stosuje się atrybuty:
'BUFFER'
'INVERT'
'XOR'
'COM'
'REG'
'REG_D'
'REG_T'
'OC'
zwłaszcza
pr.i:y
brak inwenera na wyjściu układu
inwerter na wyjściu układu
bramka XOR na wyjściu układu
wyjście układu kombinacyjnego
wyjście przerzutnika synchronicznego
wyjśc ie przerzutnika O
wyjście przerzutnika T
stan dowolny
W części deklaracyjnej można również wprowadzić nazwy stalych i zmiennych, używanych w module. W języku ABEL istnieje zbi6r stałych specjalnych,
którym można nadać własne nazwy w module. Najczęściej stosuje się stałe:
.C.
.o .
.u .
.P.
.X.
wejście
zegarowe, wyzwalanie impulsem
wejście zegarowe, wyzwalanie z.bocz.em opadającym
wejście zegarowe, wyzwalanie zboczem narastającym
wpis danych do rejestru
stan dowolny bitu
Do innych siosowanych deklaracji
należą
nazwy wektorów. Na
przykład,
Q [Ql. .Q8).
W projek1owanych układach często występują wejściowe sygnały kontrolne, które mają charak1er „globalny". czyl i dotyczą na przyklad wszystkich
przerzulników lub wszystkich wyjść. Należą do nich na przykład : sygnał zegarowy,
sygnał zezwalający wyjść trójstanowych orai. sygnaly zerowania i ustawiania
przerzutników. Aby wykorzystać ie sygnały w opisie projeklU, stosuje się nazwy
z rozszerzeniami kropkowymi. Na przykład, jeśli wyjścia przerzutników D opisano
560
9.1
Ul<ł.AOY
PROGRAMOWALNE
wektorem Q, to wejście zegarowe CLK
przerzutników zapisem
układu wiąże się
z wejściami zegarowymi
Q . CLK=CLK;
Jeśli do zapisu funkcji układu wykorzystuje się stany wewnętrzne przerzutników D, to stany te iapisuje się przez rozszerzenie kropkowe . FB (od feedback).
Na przykład, działanie prostego licznika motna zapisać jako
Q :=Q.FB+l;
Pozwala to na usuniecie niejednoznaczności, która mogłaby wystąpić przy
najprostszym zapisie Q : = Q+l. Wtedy bowiem stan Q po prawej stronie
wyrażenia mo7..e się odnosić do końcówki wyjściowej Q układu, do wyjścia
Q przerzutnika D. a nawet do jego wejścia D Geśli jest ono połączone z końcówką
wyjściową popn..ez multiplekser w układzie). Inne, najczęściej stosowane rozszerzenia kropkowe, są następujące:
.AR
.AP
.OE
(.SR)
(.SP)
zerowanie asynchroniczne (synchroniczne)
ustawianie asynchroniczne (synchroniczne)
zezwolenie wyjścia trójstanowego
Stosowanie rozszerzeń łcropkowych nie jest ograniczone do sygnałów
globalnych. Mog<l być one stosowane w odniesieniu, na przykład, do pojedynczego
przerzutnika lub jednego wyjścia trójstanowego. Są to jednak rzadsze
zastosowania.
Stosowanie opisanych podstawowych reguł języka ABEL jest zilustrowane
kilkoma przykładami , zrealizowanymi za pomocą popularnego kompilatora PLO
Latrice isp Synario System 3.0.
Pierwszy przykład modułu "kombi l4" opisuje układ kombinacyjny
o wejściach A, B, ... , H i wyjściach U, V, Y, Z. Wstępnie wybrany został typ
układu GALI 6V8 i numery odpowiednich końcówek (po słowie PIN). Typ ten nie
został zadeklarowany z użyciem słowa DEVICE, gdyż został wybrany w kompilatorze z menu programu zarządzającego (Navigator). Symbol X przyporząd­
kowany jest stanowi dowolnemu . X •. Dwa równania opisują funkcje przełączające
na dwu wyjściach U i V. W drugim równaniu można zwrócić uwagc; na użycie
nawiasów, gdyż funkcje XOR i XNOR mają nitszy pńorytet niż funkcja OR (wydruk
na str. 562).
Słowo TRUTH_TABLE poprzedza zdefiniowanie tablicy stanów, definiującej zależność wyjść Y i Z od wejść E, F, G, H. Taki zapis implikuje, że
wszystkie niewymienione stany wejść generują na wyjściach stany O. Jeśli jednak
- przy funkcjach niezupełnych - istnieją pewne stany wejść, które mogą generować
na wyjściach siany dowolne, to nie należy ich wypisywać w tablicy, lecz
zadeklarować ich wykorzystanie dyrektywą @ DCSET przed zdefiniowaniem
tablicy (albo atrybutem ISTY PE 'OC' dla danego wyjścia). To mo:!c w istotny
sposób uprościć równania logiczne po minimalizacji. Jednak w tym przypadku
561
9. PROGRAMOWALNE I SPECJALIZOWANE VKlADY CYFROWE
TITLE ' Uk.lad kcmbinac:yjny 0271ł
Jan ltowal•ki, Gi9ant ltcmput.r Sp. z o.o., 1997'
D!:CLARATIONS
A,B,C,D,B,F,G,B
0,V,Y,Z
PIH
PIH
2 .. 9;
12,14,16 ,18;
" GAL16V8
X=.X.;
EQOllTIONS
U=! ( !A'11GD) ł U!CGD ł IA'11•C•ID;
V•(B$C) I !(AIC) I (C!$D);
TRtJTJl_T'ABLB
((&,I' ,G,B] -> (Y, Z])
(1,1,0,XJ->(1,0] ;
(O , X, 1 ,0J -> [1, 1];
[0 , 1 , 1,1]->(0,1);
[1 , 0 ,0 ,l] ->(X,1 ] ;
[1,1 ,0,1]-> (l,l] ;
T'2ST_VECTORS
([A,8,C,D,Z,F,G,B) - >[O,V,Y,Z))
[0,1,X,l,1,1,0,X]->(0,1,1,0];
(O,O,X,1,1,1,0,1)->(1,1,1,1];
[X,0,1,1,1,0,0,1) - >[1,1,X,1);
trzeba wypisać wszystkie stany wejść, przy których na wyjściach jest stan
O - w przeciwnym razie stanom tym zostaną przypisane stany wyjściowe X.
Pnykładowe trzy wektory testowe umożliwiają wstępne sprawdzenie
poprawnego działania układu. W ogólnym przypadku zbiór wektorów testowych
powinien być na tyle duiy, aby sprawdzić działanie układu we wszystkich
spodziewanych warunkach pracy.
Kompilator wykonuje minimalizację form boolowskich dla czterech wyjść
w dwu wariantach: bez negacji wyjść i z negacją. W pierwszym przypadku
podstawą minimalizacji jest zbiór T, a w drugim zbiór F (p. 4.1.2, 4.1.3). Poszukuje
się formy sumacyjnej o najmniejszej liczbie. termów. Jeśli taką formą jest wyrażenie
z negacją, to na wyjściu układu wprowadza się inwersję.
W opisanym przykładzie kompilator wykonał raport przedstawiony na
wydruku pokazanym na str. 563.
Jak widać, dla wyjść u i V formy minimalne uzyskuje się przy negacji (odpowiednio I i 2 termy), a dla wyjść Y i z bez negacji (odpowiednio 2 i 3 termy). Wybrane przez kompilator formy są pokazane na wydruku na str. 564 od góry.
Następny przyk ład (moduł kombi15) ilustruje wykonystanie wektorów
(„zbiorów") i predykatów. Badany jest wektor A. traktowany jako liczba w kodzie
NB, z domyślną reprezentacją dziesiętną. Celem jest opracowanie układu kom-
562
9.1 UKt.AOY PROGRAMOWALNE
Synario 3 .00
Design kc.bi1 4 cr„ted Pri Sep 12
T i tleo
Ti.tle :
OO :OO:l ł
1997
Oltl.ad ltcmboi.nacyjny 02714
Jan Kowal.aki, Gi9ant ltomputer Sp. z o . o., 1997
P-Term..a
ran-in
Fan-out
------ --------------3/1
3
l
4/2
2/4
3/4
'44
l
l
l.
12/11
Type
Pin
P .l.n
P .1.n
P.l.n
·-
(attri.but<oo)
----------------o
V
y
z
Be•t P- Tezm. Total: 8
Total Pina : 12
Total Rodea : O
Avera9e P-Tera/Ou.tput: 2
&quationa :
o - ( IB
ł
•
A
!D) ;
V= (!A ' !B
ł B ' !C
• o ' c
•
IB ' !O) ;
(! Z ' G ' !B
y -
• li '
z•
(Z
p '
!G) ;
•• '
IG ' B
!B
' G
!Z'
F '' G);
IB
~verae-Polarity
&quationa:
!U• ( !A' B 'D);
!V
=
(A '
ł B '
!Y
!B & D & !C
! O & C);
(! I: & H
••
•
!F & !G
!E
'
!G
E & G);
!Z = (!E & !F & B
ł IG ' !B
ł
B &G
ł IE '
! G) ;
paratora, który na wyjściu Yl ma stan I gdy A:>l OO (dziesiętnie), na wyjściu Y2
jest stan I gdy A:>200 i A>lOO, i na wyjściu Y3 jest stan I gdy A>200. Jak
widać, zapis predykatowy jest niezwykle prosty (wydruk na str. 564 od dołu).
563
9. PROGRAMOWALNE I SPECJALIZOWANE UKŁADY CYFROWE
Synario 3.00
-
Oevice Utilization Chart
Ul<lad kombinacyjny u2714
Jan Kowalaki, Gi9ant Ka.puter Sp. s o.o., 1997
Pl6V8AS
Pr~r......i
Loqic :
--------------------------------------------------
u
•
V
= I(
y
z
•
!(
(
(
•
•
••
!A '
B ' D ) ;
8 • !O ' C
A • !B ' D '
!G '- I' ' B
!B ' G ' !Z
B '
!C
) ;
) ;
!G ' g
!B '
G '
G '
F &
IE
!& ) ;
l«lDULE kombil5
TITL!! 'Przyklad stosowania wektorow i predykatow w jezyku ABEL'
' i•pLSI 2032';
" Z~ia opcjonalny
PIN
18 .. 22,25 .. 27 , 4 •. 6;
01455
DEVICE
AD .. A7, Y1 . . Y3
As[A7 .. AO);
BQUATIONS
Y1 = A <= 100;
Y2 z (A<= 200)•IY1 ;
Y3 = A > 200;
TBST_ VBCTORS
([AJ
(100] - > ( 1,0, 0) ;
[101 ) -> (0,1,0);
(201) -> (0, 0, li;
->
[Yl . . Y3))
" Wektor A wyrazany d.sieaietnie!
Przykład syntezy układu sekwencyjnego ilustruje przykład modułu usekl2.
Jest to licznik 8-biiowy w kodzie NB z wyjściami trójstanowymi, zrealizowany
w układzie ispGAL22VlO. Licznik ma wejście zegarowe CLK, wejście zerujące
R (stan aktywny I), wejście zezwalające liczenia· EN (stan aktywny O), wyjście
zezwalające liczenia ENO (stan aktywny O) i wejście zezwalające buforów
trójstanowych E (stan aktywny 0) (wydruk oa str. 565).
W zapisie równania licznika zastosowano instrukcję o ogólnej postaci
WHEN predykat THEN mikrooperacja;
przy czym
564
mikrooperację
-
zależnie
ELSE mikrooperacja;
od rodzaju -
można opisać
równaniem
9.1
UKŁADY
PROGRAMOWALNE
TITL& 'Licsn.i.k 8-bitowy a b\t.f'oraai troj•t&Aowyai
Marian Jtot, Bltologicsn• ltcmputery S.A., 1997'
CIJt,R,Df,DO,E
PI.lł
Q7 .. QO
Q . (Q7 .. QOJ;
PDI
CJt,X,Z •
2,4,6,26,11;
25 . . 23,21 .. 17
11
iapGAL22V10 PLCC
ISTYPS 'R&G';
.C.,. X.,.Z.;
BOUATIOHS
"
Rownanie licani ka
1lllBH !Dl TBDI Q :• Q . 111 + 1;
!SHO • (Q.l'B - - 255),!R,!EN;
g
:• g.111;
" lryj•ci• •••walajace licaenia
" Syqnal a99arowy dla praerautnikow
" SycJnal aerujaay dla praerautnikow
" Sygn.al odblokowujaay wy3acia trojatanowe
Q . CLlt • CLlt ;
Q.AR • R;
Q . OE • !&;
TllS'l'_VSCTORS
zf.sz
( [CLJt,R, Dl,Z]
(X,1,X,O] -> (0,1);
(X ,X,1,0) -> [0,1);
[0,X, X,OJ -> [0,1);
(Clt,O,O,O] -> (1,1);
(Clt,0, 0 ,0] -> (2,1);
(X ,1, X,OJ -> (0, 1 );
(Clt,0,0,0) -> (1,1);
[Clt,O,O,OJ -> (2,1);
[CJt,O,O,OJ -> [3,1];
(CJt,0,0,1] -> [Z,1];
(Clt,O,O,O] -> [5 ,1];
(CK,0,1,0] -> (5,1) ;
(Clt,0,0,0) -> [6,1];
->
[Q,J:NO])
R.e•et
"Licaenie aabronion• (ZN = 1)
"Brak impulau aeqa.ra
"Licaeni•
" Lioaeni•
"Zerowani•
"Licaeni•
"Licaenie
"Liczeni•
11
Stan Bi-Z buforow troj•tanowych
"Licaenie
" Zatrzymanie liczenia
"Liczenie
" Generacja 248 wektorow teetowych
6;
" Stala pceoonicsa
@RlliPZA.T 248 (8CONST A• A+ 1; [CX,0 , 0,0] -> [A,1 ];)
@COMST A s
[CK,0,0,0 ] -> [255,0 ];
( Clt,O,O,O] -> [0,1) ;
[CK,0,0,0] -> [1,1];
" O•tatni •t&n cyklu, J:NO • O
Poosatek noweqo cyklu (Q •
0)
z symbolami = lub : =. Zastosowane zosłały objaśnione wcześniej nazwy
z rozszerzeniami kropkowymi. Do generacji wektorów testowych zastosowano
pętlę z dyrektywą @ REPEAT i stalą pomocniczą A.
W powyższym przykładzie sygnał zerowania R (Reset) jest asynchroniczny.
Można jednak wprowadzić zerowanie synchroniczne, potrzebne zwłaszcza w takich układach PLD, w których przerzutniki nie są wyposażone w odrębne,
asynchroniczne wejścia zerujące (np. GAL I 6V8). Aby wykonać zerowanie
synchroniczne trzeba wpisać sygnał R do równania licznika, na przykład w postaci
WHEN !ENTHENQ : = (Q. FB+ l) &!R; ELSEQ :=Q.FB&!R;
Działanie
zerowania synchronicznego
nie dwu wektorów testowych:
565
można sprawdzić
przez wprowadze-
9. PROGRAMOWALNE I SPECJALIZOWANE Ul<l.AOY CYFROWE
l«lDOL& uaelt7
TITL&
1
Prcyklad uk1adu ••kw.ncyjneqo a aapie„ 9rafu prsejac'
Clt,R,&1,&2
Ql,Q2
PIH
PIH
PIH
y
11 , 9,16,17;
• tlklad pLSI2032 PLCC44
39,38
ISTYPS 'RZG';
xsnn •cac,
37
BUITER';
Z-[El,E2);
Q=[Ql,Q2) ;
X, C=. X . ,.C. ;
Specjal,n e atale
$1• [0, 0);
52•(0,1] ;
S3=[1,l);
Oe~inicje
atanow
Sh[l,0);
STATE_DIAGRAM
STATE Sl:
STATE S2:
STATE S3:
STATE S4:
Q
" Graf przejac
IP !El•E2 TllZN S2 BLSS Sl;
IF !Zl.Z2 TBZN S3 BLSS Sl;
IF El•!B2 TllZN SC
BLSE Il' !E1'E2 TllZN S3
EI.SI! Sl ;
Il' !Bl•E2 TllZN S2 ELSE Sl;
EQ()ATIONS
Q . CLl't=CI(;
Q.~R;
Y"(ll<IQ2;
TEST_Vl!!CTORS
([CK,R , El,E2) -> [Ql,Q2,Y))
(X, 1 ,X,X) -> (0 , 0,0);
[0,0, X,X) -> (0,0,0);
[C,0 , 0 , 0) -> (0,0,0);
[C, 0,0,1] -> (0, 1 , 0);
[C ,0,1,1 ] -> [0,0 , 0J;
[C,0,0,1) -> [0,1 , 0];
[C ,0 , 0,1) -> [1, 1 ,0);
(C,0,0 , 1) -> (1,1 , 0);
(C,0,1,0] -> [1,0 , 1);
(C,0,1 , 1) -> (0,0 , 0);
l!:llD
[X, l,X,0] - > (0, 1 ];
"brak zerowania!
[CK, l ,X, 0] - >[0, l ];
"zerowanie synchroniczne
Użycie tekstowego zapisu grafu przejść do opisu przykładu układu
sekwencyjnego z rys. 4.62 ilustruje wydruk modułu u s e k7 . W zapisie tablicy
zastosowano przeznaczoną do tego celu instrukcję
IF predykat THEN stan [ ELSE stan ] ;
gdzie stan oznacza wyrażenie definiujące stan
566
następny,
o
przejściu
uwarun-
9.1 UKŁADY PROGRAMOWALNE
kowanym predykatem. Można zauważyć, że pokazany zapis tablicy ściśle odpowiada grafowi z rys. 4.62b (wydruk na stronie 566).
Jeśli jakieś przejście jest bezwarunkowe, to opisuje się je w postaci
STATE Si: GOTO Sj; .
Do zapisu pn.ejść o wielu warunkach stosuje się instrukcję
CASE predykat : stan;
[predykat : stan; ]
ENDCASE;
Wynik symulacji statycznej, wykonanej przez kompilator, ilustruje rys. 9.24
(por. rys. 4.62a). Odzwierciedla on działanie układu przy zadanych wektorach
testowych.
o
•OO
200
600
800
Cl<
E1
E2
0 1
02
R
V
o
200
400
600
Rys. 9.24 Wynik statycznej symulacji dz.in.łania
800
układu
opisanego prz02 modu! usek7
1_ 14
1_13
1_12
0--1---<T
T
c
1_ 16
a
T
c
c
c
,_.
I. IO
Ry.r. 9.25 Zastosowanie opisu schema1owego (4-bi1owy licznik Graya) do projektu poląezcń w ukladz.ie
PLO (pLSU032-llOLT44)
567
9. PROGAAMOWAl.NE I SPECJALIZOWANE UKlAOY CYFROWE
TI'l'L&
' •-bitowy licznik Graya - wektory testowe '
Clt,Jt
03, .QO
C,X • .C., . I . ;
O= (Q3 .. QOJ;
TEST_VllC"rORS
Plll
PIN
( (CJt,RJ
(X, 1,J -> O;
(O,OJ -> O;
(C, OJ -> 1 ;
(C,OJ -> 3 ;
(C , OJ -> 2;
(C, OJ - > 6;
(C, OJ -> 7 ;
(C,OJ -> 5;
(C, OJ -> 4;
(C, OJ -> 12;
(C, OJ -> 13;
(C, OJ -> 15;
(C, OJ - > 14;
(C, OJ -> 10;
(C,OJ -> 11;
(C,OJ -> 9;
(C,OJ - > 8;
(C,OJ - > 8;
(C,OJ -> 9;
(C,OJ -> 11;
(C,OJ -> 10;
ISTYPll ' R.SG_T';
->
Q)
" Tu si• zaczyna odbicie swierciadl.ane stanov Q
END
Użyty kompilator SYNARIO umożliwia również wprowadzenie opisu
w postaci schematowej, z użyciem wygodnego edytora schematów. Symbole
różnorodnych bramek i przerzutników są dostępne w bibliotece symboli i wywoły­
wane z wygodnego menu. Przykład pokazany na rys. 9.25 prLedstawia schemat
logiczny 4-bitowego licznika Graya. Schemat został utworzony po analizie sekwencji
kodu Graya z tabl. 2.6 (kolumna z prawej strony). W kwadracikach zostały
umieszczone numery końcówek wybranego układu pLSl2032- l l OLT44. W module
LGRAY4 umieszczono zapis wektorów testowych (wydruk na str. 568).
W kompilatorze SYNARIO moduły opisywane w języku ABEL można
definiować w postaci symboli graficznych dla edytora schematowego i lokować je
w odrębnym katalogu bibliotecznym (9). W ten sposób można tworzyć własne
biblioteki symboli różnych, bardziej złożonych bloków logicznych.
Przy dekompozycji projektowanego układu na odrębnie opisywane w języ­
ku HOL bloki trzeba przestrzegać reguł hierarchii i wprowadzać w opisach
modułów deklaracje INTERFACE i
FUNCTIONAL _BLOCK (7, 8). Deklaracje te są wykorzystywane przez program łączący (!inker) podczas kompilacji.
Deklaracje te nie są potrzebne przy łączeniu schematowym symboli graficznych.
układu
568
9.1, UKŁADY PROGRAMOWAt.N E
Bardziej zaawansowane kompilatory PLO umożliwiają również opis
układów sekwencyjnych w postaci graficznej, przez zdefiniowanie grafu stanów.
Umożliwia to program StateCAD (www.statecad.com), stanowiący także
opcję pakietów SYNARIO PIC Design Solution i ABEL Design Software
(od wersji 6).
Języki
VHDL i VERILOG
9 .1 .3.2
W pierwszej połowie lat osiemdziesiątych zostały utworzone, oprócz języka
ABEL, dwa szeroko stosowane języki HOL o dużych możliwościach symulacji,
syntezy i dokumentacji układów cyfrowych: VHOL i Verilog. Ponadto zostały
opracowane dziesiątki języków o zasięgu akademickim, wzmiankowane w p.
4.3. O ile język ABEL był tworzony z myślą o opisie i symulacji układów
PLO (na początku były to proste układy PAL), to języki VHDL i Verilog
od początku miały znacznie bardziej wszechstronne cele i zostały ukierunkowane
na opis i symulację układów i systemów cyfrowych o dużej złożoności.
Języki te umożliwiają symulację opóźnień czasowych, wnoszonych przez symulowane układy, oraz konkurencyjno.ści wielu jednoczesnych procesów przejściowych. Opis układów i systemów może być realizowany jako zacltowawczy
(behawioralny) - przez sprecyzowanie odpowiedn ich funkcji lub strukturalny
- przez opis budowy. Budowę można opisywać na każdym poziomie złożoności:
od poziomu bramek do poziomu skompli kowanych procesorów. Składnia
tych języków jest dość złożona (zwłaszcza języka VHOL), obydwa mają
po 97 słów kluczowych. Obydwa języki wykorzystują dane skalarne (jednobitowe) i złożone (głównie wektorowe).
Pier wsza wersj a języka VHDL została opracowana w ramach programu
badawczego amerykańskiego ministerstwa obrony (Department of Defe11ce) aby
zapewnić kompletność i uniformizację dokumentacji układów i systemów
cyfrowych, zamawianych na potrzeby armii amerykańskiej . Szybko się okazało,
że język ten jest przydatny także w zastosowaniach niewojskowych. W związku
z tym opiekę nad dalszym tworzeniem norm tego języka objął specjalny komi tet
normalizacyj ny w ramach IEEE (Institute of Electrica/ and Electronics E11gi11eers)
i ANSI (American National Standard Institute). W rok u 1987, a następnie 1993,
zostały ogloszone kolejne wersje standardu IEEE Std 1076. Ponadto został
opracowany pakiet biblioteczny I I 64. Formalny standard stal się dużym atutem
języka (złośliwi twierdzą że jedynym), tak że niemal wszyscy wytwórcy układów
CPLO i FPGA i wytwórcy powszechnie stosowanych programów projektowo-symulacyjnych zapewniają możliwości korzystania z tego języka.
Język VHDL jest opisany w wielu książkach anglojęzycznych, na
przykład [ 10-12). Dużo informacji można znaleźć w Internecie, na przykład
569
9. PROGRAMOWAUIE I SPECJALIZOWANE UKŁADY CYFROWE
na stronie hnp: / /vhdl. vhdl.org, a także [ 13). Popularne są równiet poradniki
t.łumacunia opisów w języku ABEL na język VHDL [ 14, 15].
Język Veriłog został opracowany w pierwszej wersji pruz jednego
człowieka (Philip R. Moorby) w firmie Gateway Design Automarion (USA). Do
I 990 roku był on stosowany w symulatorze tylko jednej firmy (Cadence) i nie
podlegał normalizacji. Dopiero po wprowadzeniu inicjatywy języka „otwartego"
i powołaniu grupy normalizacyjnej IEEE 1364, język Veriłog zyskał na
popularności. Jest on wysoko ceniony przez projektantów złożonych układów
cyfrowych LSI i VLSI z uwagi na lepszą przejrzys~ość, prostszą składnię i większą
szybkośt symulacji niż VHDL. Język Veriłog jest jednak wacznie rzadziej
stosowany do projektowania i symulacji układów PLD /CPLD nż VHDL.
Język Veriłogjest opisany w [ 16). Prqkłady można znaleźć w Internecie pod
adresem www.ece.cmu.edu I faculty / thomas .
Język
VH DL
Język
VHDL operuje na następujących rodzajach obiektów: stałe, zmienne,
i pliki. W zapisie nie odróinia się liter małych od dużych i ich stosowanie
jest zazwyczaj podyktowane dążeniem do lepsi.ej czytelności opisu. Podstawową
formą opisu układów cyfrowych jest jednostka projektowa (ENTITY). Reprezentuje ona pewną część projektu o ści~łe zdefiniowanych wejściach i wyjściach (PORT)
oraz architekturze (ARCHITECTURE). Jednostka może
reprezentować cały system, blok systemowy, układ scalony, makrokomórkę,
elementa
Download