Professional Documents
Culture Documents
Būlio algebra – tai algebra ( B, ·, + , ¯ , 0 , 1), kurią sudaro aibė B (turinti mažiausiai d
elementus 0 ir 1), kurioje apibrėžtos tokios trys operacijos: IR operacija · (Būlio daugyba ar
konjunkcija), ARBA operacija + (Būlio sudėtis arba disjunkcija), ir NE operacija ¯ (neigim
arba inversija).
Būlio (loginiu) kintamuoju vadiname dydį x , kuris gali įgyti tik dvi reikšmes: 0 ir 1.
Būlio (logine) funkcija vadiname funkciją, kurios argumentai yra Būlio kintamieji ir ku
įgyja dvi reikšmes: 0 ir 1.
Kadangi funkcijos reikšmė prie kiekvieno kintamųjų rinkinio gali įgyti tik 0 arba 1 ir
kintamųjų skirtingų rinkinių skaičius yra 2n , tai skirtingų funkcijų skaičius N yra lygus
n
N = 22 .
Vieno kintamojo Būlio funkcijos pateiktos 1.1 lentelėje.
1.1 lentelė
x1 x2 x1+x2
0 0 0
0 1 1
1 0 1
1 1 1
1.3 lentelė
x1 x2 x1·x2
0 0 0
0 1 0
1 0 0
1 1 1
1.4 lentelė
x x
0 1
1 0
Disjunkcija (1.2 lentelė) lygi 1, jei bent vienas kintamasis lygus vienetui, o konjunkcija (1.3
lentelė) lygi 1, jei abu kintamieji lygūs vienetui.
Dviejų kintamųjų funkcijos (jų yra 16) pateiktos 1.5 lentelėje.
1.5 lentelė
Žemiau pateiktos pagrindinių Būlio algebros dėsnių išraiškos poromis, nes Būlio algebro
veikia dualumo dėsnis, pagal kurį jas galima gauti vieną iš kitos. Šis dėsnis teigia: išraiško
pakeitus disjunkciją konjunkcija, konjunkciją – disjunkcija, vienetą – nuliu, nulį – viene
ir skliaustais išlaikius tą pačią veiksmų tvarką, bus gauta išraiška, vadinama dual
Dualumas reiškia, kad jei teisinga kokia nors išraiška, jai duali išraiška taip pat bus teisinga.
1a) x·x=x
1b) x+x=x
3a) x · (y · z) = (x · y) · z – asociatyvumas
3b) x + (y + z) = (x + y) + z
4a) x · (y + z) = (x y) + x z
4b) x + y ·z = (x + y) · (x + z) – distributyvumas
5a) x · 1 =1 · x = x
5b) x + 0 =0 + x = x
5c) x + 1 =1 + x = 1
5d) x · 0 =0 · x = 0
6a) x· x =0
6b) x+ x =1
7) x =x
8a) x + xy =x
8b) x · (x+y) =x
9a) x + x y =x+y
9b) x ( x +y) =xy
x1 + x 2 +...+ x n = x1 · x2 · …· x n
x1 ·x 2 ·...· x n = x1 + x 2 +··· + xn .
11a) xy+ x y = y
11b) (x + y) · ( x + y) = y
Loginių funkcijų sistema vadinama pilnąja, jeigu bet kurią loginę funkciją galima
išreikšti į sistemą įeinančių funkcijų superpozicija. Pilnoji funkcijų sistema vadinama
minimalia, jeigu iš jos negalima pašalinti nė vienos funkcijos nepažeidžiant sistemos
pilnumo.
Minimali pilnoji funkcijų sistema dažnai vadinama baze.
Vadinamąją Būlio elementų sistemą sudaro konjunkcija, disjunkcija ir inversija
Bazei sudaryti pakanka ir vienos (vadinamos universalia) ARBA-NE (Pirso) arba
IR-NE (Šeferio) funkcijos.
Loginiai elementai tai dažniausiai elektroninės schemos (nors gali būti ir kitokios,
pvz., pneumatinės), kurios realizuoja elementarias Būlio algebros operacijas su
skaitmeniniais signalais. Dažniausiai pasitaikantys loginiai elementai bei jų grafiniai
žymėjimai pateikti 1.13 lentelėje.
x1
y = x1 ∪ x 2 ∪ x 3 Disjunkcija
&
x
x12 1 ≥1
x 1
Elemento grafinis žymuo
Operacija Paaiškinimas
TEK MILSPEC
y =x Inversija
y = x1 & x 2 & x 3
Šeferio
funkcija
≥1
x1 x &
y = x1 ∪ x 2 ∪ x 3 Pirso funkcija
x12 xx11 y = x1 ⊕ x 2
Suma moduliu
2
xx221 ≥1
x123
y = x1 ⊕ x 2
Ekvivalentišku
mas
xx33 ⊕
x1
Lentelėje pateikti dviejų dažniausiai naudojamų dviejų sistemų (TEK, kuri
x123
rekomenduota tarptautinės elektrotechnikos komisijos ir MILSPEC, kuri naudojama
Jungtinėse Amerikos Valstijose).loginių elementų grafiniai žymėjimai.
x2 =1
Potencialiniai ir impulsiniai loginiai elementai
x2 x
Laiko tarpas Ts = t 4 − t1 (žiūr. pav. 1.1 d) vadinamas signalo trukme. Priklausomai nuo
signalo trukmės įprasta signalus (o tuo pačiu ir loginius elementus, kurie juos naudoja)
skirstyti į potencialinius ir impulsinius. Impulsinis signalas (impulsas) yra trumpalaikis ir
laikoma, kad idealus impulsas yra nulinės trukmės ir gali įgauti vienetinę reikšmę tik
2
automatinio laiko momentais t =0, 1, ... .Realaus signalo trukmė negali būti trumpesnė nei
T s ≥ T1 +T2 (žiūr. pav. 1.1 d). Impulsinio signalo pavyzdys pateiktas 1.11 pav.
a)
U
b
1.11 pav. Realus impulsinis signalas a) ir idealizuotas jo vaizdavimas b) ir c)
a
t a)
U
b
Impulsiniuose loginiuose elementuose signalo reikšmė nustatoma pagal tai, ar tam
tikru laiko momentu yra impulsas ar jo nėra (paprastai loginis vienetas, kai impulsas yra).
Tokie elementai tarpusavyje gali būti sujungiami per kondensatorius arba transformatorius
(be galvaninio ryšio).
Dinaminiai loginiai elementai dirba tik periodiškai padavus impulsus į maitinimą ir
įėjimą. Dažnai tokie loginiai elementai realizuojami parazitinėmis talpomis, kuriose
sukaupiamas krūvis įrašant informaciją. Laikui bėgant talpos išsikrauna, todėl įrašytą
informaciją reikia periodiškai atnaujinti (regeneruoti).
Labiausiai paplitę yra potencialiniai ir dinaminiai loginiai elementai.
a
Konstruojant įvairias skaitmenines schemas, realizuojančias sudėtingas logines
funkcijas loginiai elementai gali būti jungiami nuosekliai ir lygiagrečiai. Signalas,
praeidamas visą loginių elementų grandinę, turi būti neiškraipomas, tai yra neturi keistis jo
amplitudė ir trukmė. 1.13 pav. prie pirmojo loginio elemento (LE1) išvesties prijungtos
LE2, LE3, ...,LEn įvestys (schemoje loginiai elementai LE3, ..., LEn neparodyti, pažymėti
tik įvesčių išvadai.
Iin1
LE1
1.13 pav. Loginių elementų jungimas
Kaip parodyta 1.12 pav. loginio vieneto ir loginio nulio lygiai (konkrečios įtampų
reikšmės loginio elemento išvestyse) nėra reglamentuoti, o tik nustatytos maksimali
loginio nulio ir minimali loginio vieneto reikšmės, kurios kiekvienu konkrečiu atveju
priklauso nuo elemento darbo režimo. Šių reikšmių įvertinimui naudojamos statinės
loginių elementų charakteristikos. Jos vadinamos statinėmis, nes jas matuojant signalai
keičiami žymiai lėčiau už loginio elemento signalo vėlinimą ir signalo vėlinimas jose
neatsispindi.
Pagrindinė potencialinių schemų charakteristika yra tiesioginė perdavimo
charakteristika U i 6 = f (U in ) , kur Uin – loginio elemento įvesties įtampa, o Uiš – išvesties
įtampa. Statinė perdavimo charakteristika pateikta 1.14 pav.a.
A0
U iš AS0
1
U max
A0 AS0 1
U min
Uin1
0
0
U AT A1 U AT
1
AS1 U AT U 1AT
0
U max
0
U min
0
U 0 U S0 U S1 U1 U in U max U S0 U S1 1
U min U in
Uiš
Perdavimo charakteristikos taškai A ir A atitinka loginio vieneto U ir loginio nulio
0
U lygiams loginio elemento išvestyse. Perdavimo charakteristikos ir tiesės, jungiančios
0 1
taškus A ir A susikirtime gaunamas nestabilus darbo taškas, kuriame schemos stiprinimo
koeficientas
∆U iš
KU = >> 1 . (1.39)
∆U in
0 1 0 1
Slenkstinius taškus AS ir AS atitinka slenkstinės įėjimo įtampos U S ir U S . Įėjimo
įtampų zona U S −U S vadinama elemento aktyviąja (loginiams elementams nenusakoma)
1 0
0 1
zona, kurioje K >> 1 . Slenkstiniuose taškuose AS ir AS loginio elemento stiprinimo
U
U iš1 ≥ U min
1
ir U iš0 ≤U max
0
. (1.40)
loginis nulis (tai toks maksimalus trikdžio įtampos dydis, kuriam esant,
elementas dirba teisingai);
• loginio elemento atsparumas trikdžiams U 1AT = U 1 −U S1 , kai įvesties įtampa
atitinka loginį vienetą.
Atsparumo trikdžiams suma U AT +U AT = U A −U AZ Taigi, kuo mažesnis elemento
0 1
aktyviosios zonos plotis UAZ , tuo schema atsparesnė trikdžiams. Norint pasiekti didesnį
0 1
atsparumą trikdžiams reikia siekti, kad perjungimo slenksčiai U s ir U S būtų kiek galima
arčiau reikšmės 0.5(U 0 +U 1 ) .
Efektyvi atsparumo trikdžiams didinimo priemonė yra loginių elementų, kurių
perdavimo charakteristika turi histerezę, panaudojimas. Toks elementas pavaizduotas 1.16
pav.
U iš
a)
U1
0
U AT
U 1AT
U0 U S1 U S0 U1 U in
U 1 ≥ U min
1
, U 0 ≤ U max
0 0
, U AT ≥ U S0 −U max
0
, U 1AT ≥ U S1 −U S1 , U A = U min
1
−U max
0
.
įvestyje yra loginio nulio įtampa ir I in ≤ 0 (t. y. srovė įteka į elemento įvestį), kai įvestyje
1
kai išvestyje yra loginis vienetas. Kai loginio elemento išvestis sujungta tik su kitų
elementų įvestimis, įtekanti srovė I iš = nI in ir ištekanti srovė I iš = nI in priklauso nuo prie
0 0 1 1
U iš
( )
U iš0 = f I iš0 ( )
U iš1 = f I iš1
1
U min
U 1AT
U S1
U AZ
U S0
0
U AT
0
U max
n = min ( n 0 , n 1 ) . (1.41)
kuri yra didesnė už galią Pvid , kurią loginis elementas suvartoja statiniame režime.
Dažniausiai žinynuose pateikiama loginių elementų suvartojama galia, kai jis dirba
maksimaliu jam leistinu perjungimo dažniu f max .
Loginių elementų dinaminiai parametrai
Pirmieji, net labai galingi, kompiuteriai atlikdavo dešimtis tūkstančių operacijų per
sekundę, o dabartiniai vidutinės klasės kompiuteriai atlieka šimtus milijonų operacijų per
sekundę. Kompiuterių darbo greitis priklauso nuo daugelio parametrų, tame tarpe ir nuo
jame naudojamų loginių elementų inertiškumo. Padavus signalus į loginio elemento
įvestis, teisingas rezultatas išvestyje atsiranda tik praėjus tam tikram laikui. Loginių
elementų inertiškumui įvertinti naudojami dinaminiai parametrai.
Loginių elementų dinaminiai parametrai nustatomi lyginant elemento įvesties ir
išvesties laikines diagramas, kaip parodyta. 1.18 pav.
t 01 t 10
Uiš
U in1
( )
0,9 U in1 − U in0 + U in0
( )
0,5 U in1 − U in0 + U in0
U in0 ( )
0,1 U in1 − U in0 + U in0
t 10
U iš1
( )
0,9 U i16 − U i06 + U i06
t v10
t v01
( )
0,5 U i16 − U i06 + U i06
U iš0
( )
0,1 U i16 − U i06 + U i06
t 01
AP, tv
1.19 pav. Loginių elementų vėlinimo ir perjungimo darbo priklausomybė nuo
suvartojamo galingumo
n kintamųjų Būlio funkcijos apibrėžimo sritimi yra visos galimos 2n kintamųjų reikšmi
kombinacijos. Funkcijos teisingumo lentelėje kiekvienai kintamųjų reikšmių kombinacija
nurodoma funkcijos reikšmė.
Funkcija, kuri kiekvienoje kintamųjų reikšmių kombinacijoje įgauna reikšmę 0 arba 1
vadinama pilnai apibrėžta.
Pavyzdys 3.1. Sudaryti teisingumo lentelę 3 kintamųjų funkcijos, kuri įgyja reikšmę
kintamųjų reikšmių kombinacijose, kuriose vienetų skaičius yra nelyginis.
Sprendimas pateiktas 3.1 lentelėje, kurioje išvardytos visos 23 = 8 kintamųjų reikšmi
kombinacijos.
3.1. lentelė
Šis vaizdavimo būdas yra vaizdus, tačiau kai n > 6, teisingumo lentelė yra sunkia
aprėpiama. Informacijos apimčiai sumažinti lentelėje pateikiamos tik tos kintamųjų reikšmi
kombinacijos, su kuriomis funkcija lygi 1 (rečiau – tik tos kombinacijos, su kuriomis funkcij
lygi 0). Duoto pavyzdžio sumažinta lentelė tokia:
3.2. lentelė
Normalinės formos.
x1 x 2x4 , x3 x4 , x1 .
e xi, kai ei = 1 ,
xii =
xi, kai ei = 0 .
Indeksas i rodo kintamųjų rinkinio numerį ir gali būti išreikštas taip:
x1x 2 x3x4 .
x1 + x 2 + x4 ; x2 + x3 + x4 ; x 2 .
Elementari dizjunkcija, kurią sudaro visos raidės, nuo kurių priklauso funkcija, vadinam
makstermu ir žymima M i :
e e e
M i = x11 + x 22 +... + x n n . ,
xi, kai ei = 0,
ei =
xi
xi, kai ei = 1.
x1 + x 2 + x 3 + x4
mi = M i ;
M i + M j =1 , jei i ≠ j;
miM i = 0 .
Funkcijos, pavaizduotos teisingumo lentele, užrašymui TDNF reikia iš lentelės išrinkti
tuos rinkinius, prie kurių funkcijos reikšmė lygi vienetui. Jeigu rinkinyje kintamojo reikšmė
lygi vienetui, tai minterme rašome kintamąjį, o jei nulis – tai kintamojo inversiją.
Funkcijos, pavaizduotos teisingumo lentele, užrašymui TKNF reikia iš lentelės išrinkti
tuos rinkinius, prie kurių funkcijos reikšmė lygi nuliui. Jeigu rinkinyje kintamojo reikšmė lygi
nuliui, tai maksterme rašome kintamąjį, o jei vienetas – tai kintamojo inversiją.
Funkcija lygi nuliui prie rinkinių (000), (010), (011), (101), todėl funkcija TKNF atrod
taip:
f(x 1,x 2,x3 ) = (x1 + x 2 + x3 ) (x1 + x 2 + x3 ) (x1 + x 2 + x3 ) (x1 + x 2 + x3 ) .
p = p(x i + xi).
Sprendimas. Elementari konjunkcija bus mintermas, jei į ją įeis visi kintamieji, nuo
kurių priklauso funkcija. Elementariai konjunkcijai x1 trūksta raidžių x2 ir x3 , elementarioms
konjunkcijoms x 2 x3 ir x 2x3 trūksta raidės x1 .
Jeigu gautoje išraiškoje yra vienodų konjunkcijų, tai paliekame tik vieną.Į pirmas dvi
konjunkcijas įvedame trūkstamą raidę x3 .
Atsakymas. f(x 1,x 2,x3 ) = x1x 2x3 + x1x 2 x3 + x1 x 2x3 + x1 x 2 x3 + x1 x 2 x3 + x1x 2x3 .
Skaitmeninė forma.
Veičo diagrama - tai speciali lentelė, nurodanti Būlio funkcijos reikšmes prie kiekvieno
kintamųjų rinkinio. Vaizduojant n kintamųjų funkciją f(x1,x2,...xn ) naudojama
stačiakampė diagrama, turinti 2n langelių. Diagramoje kiekvienas kintamasis užima pusę
diagramos, o likusią dalį – kintamojo inversija. Panagrinėkime trijų kintamųjų funkcijos
Veičo diagramą.
X1 X1
X3
X2
X 1X 2 X X 1 X 2X 3 X X 2X 3 X X2X
3 1 1 3
X2
X1 X X X1 X X 3 X X X3 X X X
2 3 2 1 2 1 2 3
X3 X3
3.2 pav.
Keturių, penkių ir šešių kintamųjų Veičo diagramos pavaizduotos 3.2, 3.3 ir 3.4
paveiksluose. Šiose diagramose langeliuose įrašyti mintermų indeksai. Mintermo indeksas
gaunamas taip: jeigu minterme kintamasis be inversijos, tai rašomas vienetas, o jei su
inversija – nulis. Gautų vienetų ir nulių dešimtainė reikšmė yra mintermo indeksas.
Pavyzdys. Tegul turime mintermą x1 x 2x3x4 . Dvejetainė indekso reikšmė bus
1011, o dešimtainė – 11.
Mintermų indeksais patogu naudotis, kai funkcija pateikiama skaitmenine forma.
3.2 pav.
3.3 pav.
3.4 pav.
X4
langelį, mintermą X 1 X 2X 3 - įrašytas vienetas į 1 langelį, mintermą - X 1 X 2 X 3 - įrašytas
vienetas į 0 langelį.
X1
X2
X3
3.5 pav.
X2
Pavyzdys. Pavaizduokime trijų kintamųjų funkciją
F( X 1 , X 2 , X 3 ) = X 1X 2 + X 1 X 2 + X 1 X 3 + X 1 X 3
Veičo diagrama.
Ši funkcija parašyta disjunktyvinėje normalinėje formoje (ne TDNF, nes
konjunkcijos nėra mintermai), todėl atrodytų, kad, norint pavaizduoti Veičo diagrama,
pradžioje reikia šią funkciją pervesti į TDNF. Tačiau vienas iš Veičo diagramos privalumų ir
yra tai, kad toks pervedimas yra nebūtinas. Vienetai rašomi į tuos diagramos langelius, kurie
yra bendri kintamiesiems, priklausantiems vaizduojamai funkcijos konjunkcijai.
3.6 pav. pavaizduota konjunkcija X 1X 2 . Diagramoje kintamiesiems X 1 ir X 2
bendri langeliai yra 6 ir 7, todėl į šiuos langelius ir įrašyti vienetai.
X1
X2
X3
3.6 pav.
X2
1 1
X3
3.7 pav.
X2
X3
3.8 pav.
X1
X2
X3
3.9 pav.
Pavyzdys. Pavaizduokime keturių kintamųjų funkciją
F( X 1 , X 2 , X 3 , X 4 )= x1 x 4 + x3 x 4 + x2x3x 4 + x1x 2 x3 .
Veičo diagrama.
X4
1 1 1
X3
x1 x
4
x1 x + x x
4 3 4
c) d)
1 1
X1 X1
1 1 1 1 1 1
X2 X2
1 1 1
X4 X4
1 1 1 1
1 1 1 1 1 1
X3 X3
x1 x + x x + x x 3 x x1 x x x x x x x x x
4 3 4 2 4 4 + 3 4 + 2 3 4+ 1 2 3
3.10 pav.
Būlio funkcijos Karno diagrama skiriasi nuo Veičo diagramos tik kintamųjų
išdėstymu. Trijų kintamųjų Karno diagrama parodyta 3.11 pav.
x2x
Diagramoje eilutes atitinka kintamojo x1 reikšmė, o stulpelius – kintamųjų x2 ir x3
reikšmės. Diagramoje stulpeliai sužymėti pagal Grėjaus kodą: dviejų gretimų stulpelių
kombinacijos skiriasi tik viena koordinate.
Keturių kintamųjų Karno diagrama parodyta 3.12 pav. Šioje diagramoje eilutes atitinka
kintamieji x1 ir x2, o stulpelius – kintamieji x3 ir x4.
x1
0
x3x4x5
x1x2 00
00
x4x5x6
x1x2x3 0
01
Karno diagramas patogu naudoti kai funkcija duota skaitmeninėje formoje.
000
Funkcijoje skaitmenys yra indeksai mintermų, prie kurių funkcijos reikšmė lygi
vienetui. Kadangi funkcija yra keturių kintamųjų, tai kiekvieną dešimtainį skaitmenį
pervedame į dvejetainę skaičiavimo sistemą keturiomis dvejetainėmis skiltimis. Kiekvieną
dvejetainę skiltį pažymime kintamuoju, pavyzdžiui, pirmą skiltį x1, antrą – x2, trečią – x3,
ketvirtą – x4.
x1 x2 x3 x4
0 0 0 1
0 1 0 0
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 1 1 1
3.15 pav.
Karno diagramoje kintamųjų x1x2 rekšmės rodo eilutę, o x3x4- stulpelį. Eilutės ir
stulpelio susikirtime rašomas vienetas, jeigu to kintamųjų reikšmių rinkinio funkcijos
reikšmė lygi vienetui.
Pavaizduokime 3.15 pav. pirmą eilutę. Funkcija lygi vienetui prie kintamųjų
reikšmių 0 0 0 1. Karno diagramoje eilutės 0 0 ir stulpelio 0 1 susikirtime rašome vienetą.
Antra eilutė yra 0 1 1 1. Karno diagramoje eilutės 0 1 ir stulpelio 1 1 susikirtime rašome
vienetą. Taip Karno diagramoje pavaizduojame 3.15 pav. visas eilutes.
x3x4x5
x1x2 000
Būlio funkcijų minimizavimas.
Dažnai tą pačią Būlio funkciją galima išreikšti įvairiai. Pavyzdžiui, duota funkcija
X X x X X x X X x X X x X X X
F( X 1 , X 2 , X 3 , X 4 )= 1 2 4 + 2 3 4 + 1 2 3 + 1 2 4 + 1 2 3 .
00
Šią Būlio funkciją galima išreikšti ir taip:
1
x x x x x x x x x x x x x x x x
F( X 1 , X 2 , X 3 , X 4 )= 1 2 3 4 + 1 2 3 4 + 1 2 3 4 + 1 2 3 4 +.
x1 x 2 x3x4 x1x 2 x3x4 x1 x 2 x3 x4 x x x x x x x x x 3 x4 x x x
+ + + 1 2 3 4+ 1 2 3 4 = + 1 3 4
x 2 x 3 x4 x1 x 2 x 3 x x x 3 x4 x 2 x 3 x4 x x x 3 x4 x 2 x 3
+ = 1 4+ + =. 1 4 + + .
x x x x x x x x x x x x x x x x
( 1 2 3 4 + 1 2 3 4 )+( 1 2 3 4 + 1 2 3 4 )=
x x x x x x x x x x x x x x x
1 2 3 ( 4 + 4 )+ 1 2 3 ( 4 + x4 )= 1 2 3 + 1 2 3 =
x x x x x
1 2 ( 3 + x3 )= 1 2 .
x x x x x x x x x x x x x x
F= 1 2 + 1 2 3 4 + 1 2 3 4 + 1 2 3 4 =
x x x (x x x x x x x x x x x x
1 ( 2 + 2 3 4 + 3 4 ))+ 1 2 3 4 + 1 2 3 4 =
x x x x x x x x x x x x x x
1 ( 2 + 3 4 + 3 4 )+ 1 2 3 4 + 1 2 3 4 =
x x x x x4 x x 3 x x1 x x x x x x x
1 2+ 1 3 + 1 4+ 2 3 4 + 1 2 3 4=
x x x4 x x 3 x x x x (x x
1 3 + 1 4 + 2 ( 1 + 1 3 4 + x3x4 ))=
x x x4 x x 3 x x x x x
1 3 + 1 4 + 2 ( 1 + 3 4 + x3x4 )=
x x x4 x x 3 x x x x x x x x x
1 3 + 1 4 + 1 2 + 2 3 4 + 2 3 4.
Gautos išraiškos toliau pertvarkyti negalima. Tačiau ji yra neminimali. Pabandykime duot
funkcijos konjunkcijas grupuoti kitaip.
x x x x x x x x x x x x x x x x x x 2x3 x x x x x
F=+ 1 2 3 4 + 1 2 3 4 + 1 2 3 4 + 1 2 3 4 + 1 4+ 1 2 3 4
x x x x
+ 1 2 3 4=
x x x x x x x x x x x x x x x x x x x x
( 1 2 3 4 + 1 2 3 4 )+( 1 2 3 4 + 1 2 3 4 )+( 1 2 3 4 +
x x 2x3 x x x x x x x x x
1 4 )+( 1 2 3 4 + 1 2 3 4 )=
x x x x x x x x x x x x x x x 3 x4 x
2 3 4 ( 1 + 1 )+ 1 3 4 ( 2 + x 2 )+ 1 3 4 ( 2 + x 2 )+ 2 ( 1+
x1
)=
x x x x x x x x x x x x
2 3 4 + 1 3 4 + 1 3 4 + 2 3 4.
x x
Palyginus šią išraišką su anksčiau gautąja, matome, kad konjunkcija 1 2 yra perteklinė.
1) jie yra greta vienas kito vienoje eilutėje arba viename stulpelyje (a);
2) jie yra vienos eilutės arba vieno stulpelio galuose (b).
X1 X1 x1x3 x a)
x1x 2x3 4
b)
1 X2
1 4.1 pav.
X2
1 1 1
X4 X4
1 1
1
x x x4 x 2 x x4
X3 1 2 3 X3
Keturi vienetai jungiami į vieną junginį (4.2 pav.), jeigu:
a) b)
X1 X1 c)
x x4 x3 x
1 4
d)
X
X2
1 1 X11 x1x3
X2
1 1 1 1
X4 1 X4 1
X2 1
X2
1 1 1 1
1 1 1 1 X
X44
1 1
x x4 1 1 1
X3
3 X3
1 1 1
x x
x 2x 3 4
4 X3
X3
4.2 pav.
a) b)
X1 x4 X1 x4
1 1 1 1 1 1
X2 X2
1 1 1 1 1 1
X4 X4
1 1 1 1 1 1
1 1 1 1 1 1
x1 x
X3 3 X3
4.3 pav.
4.4 pav.
Veičo (Karno) diagramoje esančius vienetus pagal vienetų jungimo taisykles reikia
sujungti į junginius taip, kad junginių skaičius būtų minimalus ir į vieną junginį sujungtų
vienetų skaičius būtų maksimalus (jeigu į vieną junginį galima sujungti, pavyzdžiui,
keturis vienetus, tai negalima jungti į du junginius po du vienetus). Vienas junginys
atitinka vieną konjunkciją, o kuo daugiau vienetų sujungta į junginį, tuo konjunkcija turės
mažiau raidžių. Taip randame funkcijos minimalią formą.
Vienetų jungimą reikia pradėti nuo būtinų junginių. Junginys yra būtinas, jeigu yra
bent vienas vienetas, kuriuos planuojame sujungti į junginį, neturintis ryšių su išoriniais
vienetais. Išoriniai vienetai, tai vienetai, neįeinantys į planuojamų sujungti vienetų grupę.
Ryšys su išoriniais vienetais tikrinamas pagal dviejų vienetų jungimo taisykles.
4.5 pav. Veičo diagramoje pavaizduota Būlio funkcija .Diagramoje kiekvienas
langelis pažymėtas mintermo indeksu. Pagal dviejų vienetų jungimo taisyklę galima
sujungti 13 ir 15 langelyje esančius vienetus. Nustatysime, ar būtinas junginys.
Tikriname vieneto, esančio 13 langelyje, ryšį su išoriniais vienetais. 12 ir 9
langeliuose vienetų nėra, todėl ir ryšio nėra. Toliau tikriname 15 ir 5 langelius. 15
langelyje yra
vienetas,
X1
x1x 2x4 tačiau šis
vienetas yra
12 14 6 4
junginio
X2 viduje
1 1 1
(vadinsime
13 15 7 5
X4 vidiniu
1
vienetu).
9 11 3 1
1 1 1
8 10 2 0
4.5 pav.
x2x3 x4
X3
5 langelyje yra vienetas, kuris yra išorinis. Todėl 13 langelio vienetas turi ryšį su išoriniu
vienetu.
Tikriname junginio vienetą , esantį 15 langelyje. 7, 11 ir 14 langeliuose vienetų
nėra, o 13 langelyje yra vienetas (vidinis) Todėl 15 langelio vienetas ryšio su išoriniais
vienetais neturi ir junginys yra būtinas.
Panagrinėsime junginį, kurį sudaro 2 ir 10 langelyje esantys vienetai. Tikriname 10
langelio vienetą. 11 ir 14 langelyje vienetų nėra, o 2 ir 8 langelyje yra vienetai. 2 langelio
vienetas yra vidinis, o 8 langelio vienetas – išorinis. Matom, kad 10 langelio vienetas turi
ryšį su 8 langelio išoriniu vienetu.
Tikriname 2 langelio vienetą. 0 ir 6 langelyje vienetų nėra, o 3 ir 10 langeliuose
vienetai yra. 10 langelio vienetas yra vidinis, o 8 langelio vienetas – išorinis. Matom, kad
2 langelio vienetas turi ryšį su 3 langelio išoriniu vienetu. Junginys, kurį sudaro 2 ir 10
langelių vienetai, yra nebūtinas, nes tiek 10 langelio vienetas, tiek 2 langelio vienetas turi
ryšius su išoriniais vienetais.
Kai kintamųjų skaičius didesnis už keturis, ryšys su išoriniais vienetais
tikrinamas su langeliais kaip keturių kintamųjų Veičo diagramose ir papildomai su
langeliais, esančiais gretimų diagramų vienodose vietose. Pavyzdžiui, vieneto,
esančio 63 langelyje (4.4 pav.), ryšį su išoriniais vienetais tikriname su šiais langeliais: 62,
59,47, 61, 55, 31.
Minėjome, kad vienas junginys atitinka vieną konjunkciją. Konjunkcija užrašoma
kintamaisiais, kurie yra bendri vienetams, sudarantiems junginį. Pavyzdžiui, 4.5 pav.
junginį, kurį sudaro trylikto ir penkiolikto langelių vienetai, atitiks konjunkcija x1x2x4 ,
nes abu junginio vienetai priklauso kintamiesiems x1 , x 2 , x4 , Kintamasis x3 iš
konjunkcijos iškrenta, nes trylikto langelio vienetas priklauso kintamajam x3 , o
penkiolikto langelio vienetas – kintamajam x3 .Paaiškinsime detaliau. Trylikto langelio
vienetas atitinka mintermą x1x 2 x3x4 ,
o penkiolikto langelio vienetas - mintemą x1x 2x3x4 . Junginį užrašome mintermais ir
pertvarkome gautą išraišką.
Antro ir dešimto langelių junginys atitinka konjunkciją x2x3 x4 , nes abiem junginio
vienetams bendri kintamieji yra x 2 , x3 ir x4 . Kintamasis x1 iš konjunkcijos iškrenta,
nes dešimto langelio vienetas priklauso kintamajam x1 , o antro langelio vienetas –
kintamajam x1 .
000
surasti būtinus junginius. Jeigu suradus būtinus junginius diagramoje lieka
nesujungtų vienetų, tai juos sujungiame minimaliu jungimų skaičiumi ir į kiekvieną
junginį sujungiant maksimalų vienetų skaičių, kuris leidžiamas pagal vienetų
jungimo taisykles.
x x x x x x x x x x x x x x x
F= 1 3 + 2 3 4 + 1 2 4 + 2 3 4 + 1 2 3 4 .
001
1. Būlio funkciją pavaizduojame Veičo diagramoje (4.6 pav.)
.
4.6 pav.
x x x x x x x x x x x x x x x x x
F= 2 4 + 1 2 3 + 2 3 4 + 1 2 4 + 1 3 4 + 1 2 3 .
1. Būlio funkciją pavaizduojame Veičo diagramoje (4.8 pav.).
.
2
4.8 pav.
x x x x x x
F= 2 3 + 3 4 + 1 4 .
x x x x x x x x x x x x x x x
F= 1 2 3 + 1 2 4 + 1 2 4 + 2 3 4 + 1 2 3 .
4.10 pav.
Iš 4.10 pav. matyti, kad vienetų jungimo yra du lygiaverčiai variantai: vienas jungin
bus 13 ir 15 langelių vienetai ir kitas junginys – 0 ir 2 langelių vienetai arba 11 ir 15 langel
vienetai ir kitas junginys– 2 ir 3 langelių vienetai. Imame tik vieną jungimo variantą. 4.10 pa
parodyti duotos funkcijos junginiai.
4.11 pav.
x x x x x x x x x x x x
Atsakymas. F = 1 2 3 + 1 3 4 + 1 2 3 + 1 2 4 .
x x x x x x x x x x x x x x x x x x x x x x
F= 1 3 4 + 2 3 5 + 1 2 3 5 + 1 2 4 5 + 1 3 4 5 + 1 2 4 5 +
x 2 x x x5
3 4 .
Pirmiausia randame būtinus junginius. 9, 13, 25, 29 langelių vienetai sudaro būti
junginį. Tai rodo vienetas 9 langelyje (1, 8 ir 11 langeliuose vienetų nėra, o 13 ir 25 langeliuo
x x x
esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją 2 4 5 .
0, 2, 4, 6, 16, 18, 20, 22 langelių vienetai sudaro būtiną junginį. Tai rodo vieneta
pavyzdžiui, 4 langelyje (5 ir 12 langeliuose vienetų nėra, o 0, 6, ir 20 langeliuose esantys vienet
x x
yra vidiniai). Šis junginys atitinka konjunkciją 2 5 .
18, 19, 26, 27 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas, pavyzdžiu
26 langelyje (10, 24 ir 30 langeliuose vienetų nėra, o 18 ir 27 langeliuose esantys vienetai y
x x x
vidiniai). Šis junginys atitinka konjunkciją , 1 3 4 . Daugiau būtinų junginių nėra. Lik
nesujungtas vienetas 21 langelyje. Šį vienetą galima sujungti su 20 langelio vienetu arba 1
langelio vienetu. 4.12 pav. 21 langelio vienetas sujungtas su 20 langelio vienetu (konjunkci
x1 x x 3 x
2 4 ).
x x x x x x x x x x x x
Atsakymas. F = 2 5 + 2 4 5+ 1 3 4+ 1 2 3 4 .
X3
Sprendimas. Pavaizduojame Būlio funkciją Veičo diagramoje ir vienetus sujungiam
į junginius (4.13 pav.).
4.13 pav.
X4
(19, 22, 2 ir 50 langeliuose vienetų nėra, o 16 ir 26 langeliuose esantys vienetai yra vidiniai). Š
x x x x
junginys atitinka konjunkciją 1 2 4 6 .
60, 61, 52, 53, 28, 29, 20, 21,44, 45, 36, 37, 12, 13, 4, 5 langelių vienetai suda
būtiną junginį. Tai rodo vienetas, pavyzdžiui, 60 langelyje (56 ir 62 langeliuose vienetų nėra,
x x
52, 28, 61 ir 44 langeliuose esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją 4
. Daugiau būtinų junginių nėra. Liko nesujungti vienetai 8, 9, 10, ir 11 langeliuose. Juos galim
x x x x .
sujungti į vieną junginį. Šis junginys atitinka konjunkciją 1 2 3 4 .
.
X2
x x x x x x x x x x x x x x x
Atsakymas.F= 4 5 + 2 3 5 6 + 1 2 4 6 + 1 2 3 5 6 +
x x x3 x .
1 2 4
Pavyzdys. Minimizuoti keturių kintamųjų Būlio funkciją Karno diagramų metodu.
F( X 1 , X 2 , X 3 , X 4 )=. ∨ (0,1,2,4,5,6,8,10,11,13,15) .
Sprendimas. Pavaizduojame Būlio funkciją Karno diagramoje ir vienetus
sujungiame į junginius (4.14 pav.).
Atsakymas. F = x x + x x + x x + x1x 2x + . x1 x x3 .
1 3 2 4 1 4 4 2
F( X 1 , X 2 , X 3 , X 4 , X 5 )=. ∨ (0,2,3,4,8,9,10,11,12,16,20,26,29,30,31) .
Sprendimas. Pavaizduojame Būlio funkciją Karno diagramoje ir vienetus
sujungiame į junginius (4.15 pav.).
x3x4x5
x1x2 00
1
Pavyzdys. Minimizuoti šešių kintamųjų Būlio funkciją Karno diagramų metodu.
00
F( X 1 , X 2 , X 3 , X 4 , X 5 , X 6 )=. .
36 ,38 ,39 ,45 ,47 ,48 ,50 ,52 ,54 ,55 ,58 ,59 ,61,62 ,63 )
01 1
x4x5x6
x1x2x3 00
Kvaino – Makklaskio metodas
Kvaino – Makklaskio metodas priklauso tiksliųjų metodų grupei. Prieš šio metodo
aprašymą įvesime kelias sąvokas.
Elementarią konjunkciją k vadinsime funkcijos f implikante, jei visuose
kintamųjų rinkiniuose, su kuriais k =1 , funkcija f −1 .
Funkcijos f implikantė k vadinama paprastąja arba pirmine implikante, jei,
pašalinus iš k bent vieną raidę, likusioji dalis nėra funkcijos f implikantė.
Minimizuojant funkciją Kvaino – Makklaskio metodu išskiriami du etapai:
1. randama pirminių implikančių aibė;
2. atrenkamas kuo mažesnis pirminių implikančių poaibis, kad jų disjunkcija
padengtų visus mintermus – minimalaus padengimo uždavinys.
Pirminių implikančių radimas
Pirminė s implikacijos randamos remiantis jungimo teorema:
k x +kx = k , (1.28)
čia k - vienoda abiejų konjunkcijų dalis. Todėl Kvainas pasiūlė poromis palyginti
visus mintermus, ieškant sujungimo galimybių ir pažymint sujungiamus mintermus. Po to
poromis palyginamos gautosios implikantės.esant galimybei sujungti dvi iš jų,
formuojama nauja implikantė, turinti viena raide mažiau, kartu pažymint sujungtąsias. Šis
procesas tesiamas, kol galima atlikti bent vieną jungimo operaciją. Nepažymėtieji
mintermai ir implikantės sudaro pirminių implikančių aibę.
Pagrindinis Kvaino metodo trūkumas – būtina poromis palyginti visus mintermus ir
implikantes. Atkreipęs dėmesį į šią aplinkybę, K. Makklaskis pasiūlė metodą modifikuoti
taip:
1. mintermus ir konjunkcijas vaizduoti dvejetainiais vektoriais (juos vadiname
kubais);
2. pagal jungimo teoremą sujungiamose konjunkcijose vienas kintamasis įeina į
vieną konjunkciją be inversijos, į kitą – su inversijos ženklu; kubais
vaizduojant mintermus, sujungiami kubai gali skirtis tik viena koordinate –
vadinasi, palyginti reikia tik tuos kubus, kuriuose vienetų skaičius skiriasi
vienetu.
Kvaino – Makklaskio metodu pirminių implikančių aibė nustatoma taip (remsimės
kubų ir kubų komplekso terminologija):
1. kubų komplekso K 0 kubai išdėstomi vienetų skaičiaus didėjimo tvarka,
atskiriant grupes su vienodu vienetų skaičiumi, kurį vadinsime indeksu.
2. palyginami dviejų grupių, kurių indeksai skiriasi vienetu nuliniai kubai
(kiekvienas su kiekvienu). Jeigu du kubai skiriasi tik viena koordinate, jie
sujungiami į 1-kubą. Simboliu “ * ” pažymime sujungtus 0-kubus. Gautame
1-kube laisvoji komponentė pakeičiama simboliu “ – “.
3. tą patį atliekame su 1-kubų grupėmis. Šiuo atveju naujas 2-kubas gaunamas
tik tuomet, kai sujungiami 1-kubai yra gretimose grupėse, o simbolis “-“ yra
toje pačioje pozicijoje (pvz., 0-101 ir0-111 duoda 2-kubą 0-1-1). Dviejų
grupių jungimo rezultatai, eliminavus pasikartojančius narius, sudaro naują
grupę.
4. veiksmus, aprašytus 3 punkte, kartojame su 2-kubais, 3-kubais ir t. t., kol
galima atlikti nors vieną jungimo operaciją.
5. visi nepažymėti komplekso K = K 0 K 1 K 2 ... kubai sudaro pirminių
implikančių aibę Z .
f = (1, 2, 6, 7, 8, 10 , 12 , 13 , 18 , 22 , 23 , 24 , 25 , 29 , 31 ) . (1.29)
Gauta lentelė vadinama cikline, nes kiekviename stulpelyje yra bent dvi atžymos ir
galima gauti daug padengimo variantų.
Petrikas (S. R. Petrick) pasiūlė algebrinį metodą minimaliam padengimui rasti.
Pažymėkime implikantes raidėmis a, b, c, .... Jei mintermą m1 dengia implikantės a, b ir c,
o mintermą m 2 - implikantės b ir d, tai šių mintermų padengimo sąlygas galima užrašyti
kaip disjunkcijas:
D1 = a + b + c , D2 = b + d . (1.30)
Kad būtų padengti abu mintermai, reikia šias disjunkcijas sujungti konjunkcijos
ženklu:
P = D1 D2 = ( a + b + c )( b + d ) . (1.31)
P = ( b + c + d )( a + b )( c + e )( d + f )( e + g )( f + h )( g + h + j )( i + j ) . (1.32)
f = x1 x 2 x 3 x 4 x 5 + x 2 x 4 x 5 + x 2 x 3 x 4 + x1 x 2 x 3 x 5 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 5 .(1.34)
narių – galimų padengimo variantų. Ženklas „<“ atitinka tą atvejį, kai disjunktyvinė
normalioji forma turės perteklinių narių, kuriuos galima pašalinti pagal absorbcijos
teoremą. Skaičiavimų sumažinimui lentelė pertvarkoma taikant tokias dvi taisykles:
1. jei eilutė a turi atžymas visuose stulpeliuose, kuriuose turi eilutė b ( a ⊇ b ),
tai eilutę b pašaliname – eilučių dominavimo taisyklė;
2. jei stulpelis A turi atžymas visose eilutėse, kuriuose turi stulpelis B ( A ⊇ B ),
tai stulpelių B pašaliname – stulpelių dominavimo taisyklė.
Pritaikius pirmąją taisyklę, gali atsirasti stulpelių, turinčių tik vieną atžymą. Tokias
atžymas atitinkančias pirminės implikantės vadinamos pseudoesminėmis ir įjungiamos į
padengimą.
Įvertindami šias taisykles panagrinėkime 1.8 lentelę. Matome, kad a ⊂ b ir i ⊂ j .
Pašalinę eilutes a ir i pamatysime, kad pirminės implikantės b ir j tapo
pseudoesminėmis. Jas įjungiame į padengimą. Pašalinę eilutes a ir i , o taip pat jų
dengiamus mintermus gauname 1.12 lentelę.
Nagrinėjant ir aprašant Būlio funkcijomis techninių įtaisų darbą, kartais tam tikrų
įvesties signalų kombinacijų nebūna arba negali būti. Tokiu atveju nesvarbu, kokią
reikšmę įgyja funkcija esant tokioms įvesčių signalų kombinacijoms.
Būlio funkcijos, kurių reikšmė apibrėžta ne visoms kintamųjų reikšmių
kombinacijoms, vadinamos nepilnai apibrėžtomis.
Pavyzdys. Elektroniniuose laikrodžiuose naudojama skaitmeninė indikacija, kai
skaitmenys 0 – 9 indikuojami septynių skilčių indikatoriais, kaip parodyta 1.11 pav.
Įvesties
1.11 pav. Segmentinis indikatorius ir šviečiantys segmentai vaizduojant skaitmenis
kodas
segmento valdymą nusako išraiška:
f e = ( 0, 4, 5, 6, 8, 9 ) , (1.37)
Atkreipkime dėmesį į tai, kad kodai 1010, 1011, 1100, 1101, 1110 ir1111
1
skaitmenims koduoti nenaudojami. Vadinasi, tokių kodų valdumo schemos įvestyse S3, S2,
00
S1, S0 niekada nebus (jei laikrodis nesugedęs). Todėl funkcija su mintermais m10, m11, m12,
m13, m14, m15 gali įgyti tiek loginio vieneto, tiek loginio nulio reikšmę. Tai įvertinama
atitinkamuose Karno diagramos langeliuose įrašant ženklą „ד, kaip parodyta1.13 pav.
S 3S 2
S1S001 00
1.13 pav. Funkcijos Karno diagrama įvertinanti neapibrėžtas reikšmes
Funkcijos fe minimaliai išraiškai gauti tikslinga, kad vietoje „ד būtų vienetas
Tuomet gauname tokią išraišką:
1
f e = S1 S 0 + S 2 S1 + S 2 S 0 + S 3 . (1.39)
00
Palyginę šią išraišką su anksčiau gauta, matome, kad ji trumpesnė ir paprastesnė:
11
pirmojoje yra keturiolika simbolių, antrojoje – septyni.
Atsižvelgiant į čia pateiktą medžiagą, pirmąjį nepilnai apibrėžtų funkcijų
minimizavimo Karno diagramomis žingsnį apibrėšime taip:
1. kiekvieną langelį, į kurį įrašytas vienetas, stengiamasi sujungti su visais
galimais langeliais, pažymėtais vienetu ir „ד, siekiant gauti maksimalaus
dydžio junginius; gautieji junginiai atitinka pirmines implikantes.
Antrasis ir trečiasis žingsniai tokie patys, kaip ir minimizuojant pilnai apibrėžtas
Būlio funkcijas.
Minimizuojant Kvaino – Makklaskio metodu nepilnai apibrėžtas funkcijas metodas
modifikuojamas taip:
1. nustatant pirminių implikančių aibę laikoma, kad K = K 1 K × , t. y. reokia
0 0 0
sujungti visus nulinius kubus, su kuriais funkcijos reikšmė lygi vienetui arba
jos reikšmė neapibrėžta.
2. sudarant padengimo lentelę, į ją įtraukiame tik komplekso K 1 mintermus.
0
Dėl šios priežasties gali būti, kad kai kurios pirminės implikantės nedengia
nė vieno mintermo (iš K 10 ) ir atitinkamos padengimo lentelės eilutės
tuščios. Tokias implikantes reikia pašalinti.
3.
Būlio funkcijų sistemų minimizavimas
f 1 = f 1 ( x1 , x 2 , ..., x n ) ,
f 2 = f 2 ( x1 , x 2 , ..., x n ) , (1.40)
................
f m = f m ( x1 , x 2 , ..., x n ) ,
sakoma, kad turime Būlio funkcijų sistemą. Taip yra ir 1.11 pav. parodytoje
schemoje: segmentų valdymą aprašančios funkcijos f a , f b , ..., f h priklauso nuo tų
pačių kintamųjų S 3 , S 2 , S 1 , S 0 .
Kadangi m funkcijų realizacijos sudėtingumas priklauso nuo jų išraiškų
sudėtingumo, aišku, kad Būlio funkcijų sistemos minimizavimo uždavinys yra svarbus.
Vienas iš būdų šiam uždaviniui spręsti – ieškoti kiekvienos funkcijos minimalios išraiškos.
Tačiau minimizuojant kartu visą funkcijų sistemą galima tikėtis geresnių rezultatų.
Pabandykime minimizuoti funkcijas f c , f e , f g (žiūr. 1.12 pav.). Minimizavus
kiekvieną funkciją atskirai gauname:
f e = S 3 +S1 S 0 +S 2 S 0 +S 2 S1 ,
f g = S 3 + S 2 S 0 + S 2 S1 + S 2 S1 , (1.41)
f c = S 2 S1 S 0 + S 2 S1 + S 2 S 0 + S1 S 0 .
Panagrinėję gautąsias išraiškas, matome, kad jose yra bendrų narių, kurie vienodai
pabraukti.
Vertinant funkcijų sistemos sudėtingumą, negalima apsiriboti visų simbolių
skaičiumi kaip minimumo kriterijumi. Aišku, kad realizuojant tokią funkciją loginiais
elementais, konjunkcija, įeinanti į dvi ar daugiau funkcijų, bus realizuota vienu elementu
(IR), kurio išvestis bus prijungta prie tų funkcijų konjunkcijas sujungiančių elementų
(ARBA) įvesčių. Todėl pasirenkame tokį kriterijų:
K F = ∑ri + ∑d j
i j
, (1.42)
∑r
i
i = 3 × 2 + 3 × 2 + 3 + 3 × 2 = 21 ,
∑d
j
j = 4 + 4 + 4 = 12
, (1.43)
K F = 21 + 12 = 33 .
∑r
i
i = 21 − 3 × 2 = 15 ,
K F = 15 + 12 = 27 . (1.44)
Pabandykime rasti naują sprendinį, kad K F < 27 . 1.14 pav. pateiktos visų trijų
funkcijų, sudarančių sistemą, Karno diagramos.
S 3S 2
S 1S 0 00 0
1.14 pav. Funkcijų sistemos atskirų funkcijų Karno diagramos
1 1
Norėdami surasti pirmines implikantes, kurios būtų bendros dviems ar trims
funkcijoms, panagrinėkime karno diagramas, kuriose atvaizduotos bendros visų trijų
funkcijų, o taip pat funkcijų porų fe ir fg , fe ir fc , fg ir fc dalys, kurios atvaizduotos 1.15 pav.
00
S 3S 2
00
S1S0
00
1.15 pav. Implikantės bendros kelioms funkcijoms
implikantės - S S S , S S , S S ir S S .
2 1 0 3 0 2 1 1 0
1.13 lentelė
01 Funkcijų fe, fe, fg padengimo lentelė
Funkcija fe fg fc
Minterm 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1
ai 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0
0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0
0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0
implikantė
11
s
-101 × × ⊗
fe fc fg -110 × × ×
1--0 × × ×
fe fg -1-0 × × × ×
-10- × × × ×
Funkcija fe fg fc
Minterm 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1
ai 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0
0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0
0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0
implikantė
s
1--- × ⊗ × ⊗
fe fc -000 × × × ×
-01- × ⊗ × ⊗
fc fg
--10 × × × ×
fg --00 × × ×
fc -0-0 × × × ×
Esminės × × × × × × × × × × ×
implikantė dengia
Lentelės analizė rodo, kad yra trys esminės implikantės: -101. 1--- ir -01-,
dengiančios po tris funkcijų fe ir fc mintermus ir penkis funkcijos fg mintermus.pašalinę
atitinkamas eilutes ir stulpelius gauname 1.14 lentelę.
Pagal eilučių dominavimo taisyklę galima pašalinti implikantę -10-, nes implikantė
-1-0 dengia daugiau mintermų ir turi tiek pat raidžių. Tuomet -1-0 tampa pseudoesmine
implikante. Dar sykį supaprastinę gauname 1.15 lentelę.
1.15 lentelė. Supaprastinta padengimų lentelė
Funkcijos fe fc
Mintermai 0 0 0 1
0 0 1 0
0 0 1 0
Implikantės 0 0 0 0
-110 ×
fe fc fg
1--0 ×
fe fc -000 × × ×
fc fg --10 ×
fg --00 ×
fc -0-0 × ×
Palyginę šią išraišką su anksčiau gautomis, matome, kad čia kiekvienoje išraiškoje
simbolių skaičius netgi didesnis. Apskaičiuokime gautųjų išraiškų kokybę įvertindami
konjunkcijų pasikartojimą:
∑r
i
i = 3 + 3 + 2 + 2 + 2 = 12 ,
∑d
j
j = 4 + 4 + 4 = 12 , (1.38)
K F = 12 + 12 = 24 .
Gautos išraiškos kaina sumažėjo trimis. 1.15 pav. parodyta kaip šios implikantės
dengia mintermus. Bendras dviejų ar visų funkcijų implikantes atitinkantys junginiai
išskirti štrichinėmis linijomis (išskyrus implikantę S 3 , kuriai realizuoti loginio elemento
nereikia).
LOGINĖS SCHEMOS
Kompiuterių skaitmeniniuose įrenginiuose loginės schemos naudojamos
informacijai apdoroti ir saugoti. Loginės schemos skirstomos į kombinacines ir trigerines
(literatūroje dar vadinamas nuosekliosiomis, sekvencinėmis) schemas. Kombinacinėmis
vadinamos loginės schemos, sudarytos iš sujungtų loginių elementų, neturinčios kilpų ir
atminties elementų, o išvesties signalų vektoriaus Y reikšmes vienareikšmiškai nustato tuo
metu veikiančių įvesčių signalų vektoriaus reikšmės X. Kombinacinė schema parodyta 3.1
pav.
x1
3.1 pav. Kombinacinė schema
x2
Kilpa – tai uždara schemos grandinė, kurioje i-ojo elemento išvesties signalas
K
tiesiogiai ar per kelis elementus patenka į to paties i-ojo elemento įvestį. Loginės schemos
su kilpomis gali veikti kaip atminties elementai.
Nuosekliosios schemos – loginės schemos, sudarytos iš atminties elementų (trigerių
ir pan.) ir loginių elementų, o išvesties signalų reikšmės priklauso ne tik nuo tuo metu
veikiančių įvesčių signalų, bet ir nuo prieš tai buvusių įvesties signalų reikšmių.
Nuosekliosios schemos dar vadinamos trigerinėmis, nes trigeriai naudojami kaip atminties
lo
elementai, arba sekvencinėmis (lot. sequentia – pasekmė), nes dėl atminties ląstelių tokių
schemų išvesčių signalų reikšmės yra ne tik tuo metu pasiųstų signalų reikšmių, bet ir nuo
atminties ląstelių būsenų, kurios priklauso nuo praeityje paduotų įvesties signalų reikšmių.
Nuosekliąsias schemas patogu išskaidyti į dvi dalis: kombinacinę ir atminties
schemas, kaip parodyta 3.2 pav.
xn
y1
3.2 pav. Nuoseklioji schema
x1
Kombinacinės loginės schemos
y = x1 x 2 + x 3 x 4 + x 2 x 4 . (3.2)
x1 1
3.3 pav. Kombinacinė schema, gauta naudojant IR, ARBA, NE elementus
x4
Taip pertvarkytą funkciją lengva dengti IR-NE elementais (tai reiškia, kad ją galima
realizuoti naudojant tik IR-NE elementus). Kombinacinė schema, gauta panaudojant IR-
NE loginius elementus, parodyta 3.4 pav.
LE1
x2
3.4 pav. Kombinacinė schema, gauta naudojant IR-NE loginius elementus
x1
Matome, kad 3.3 pav. pateiktoje schemoje naudojami šeši trijų rūšių elementai, o
&
3.4 pav. pateiktoje schemoje reikia tik keturių vienodų elementų
Ar kombinacinė schema teisingai veikia, galima patikrinti padavus kontrolinį testą
(argumentų kombinacijų seką) ir tikrinant, kokias reikšmes įgyja schemos išvestys.
Kontroliniame teste paprastai sudaromi argumentų rinkiniai, patikrinantys, ar tinkamai
veikia kiekvienas elementas. Kiekvienam elementui surandamas aktyvusis kelias, t. y.
kelias, kuriuo signalas sklinda nuo to elemento iki kombinacinės schemos išvesties.
Parenkant tam tikras kai kurių įvesties signalų reikšmes, užtikrinamos sąlygos signalui
sklisti tuo keliu. Po to sudaromas argumentų kombinacijų rinkinys tam elementui
patikrinti. Sudarę visų elementų tikrinimo rinkinius, gausime kombinacinės schemos
tikrinimo testą, kuris gali būti minimizuotas, jei, tikrinant kai kuriuos elementus,
patikrinamas ir kaip veikia kiti elementai.
Nagrinėjamos schemos (3.3 pav.) elemento LE1 aktyvusis kelias eina per elementus
LE2 ir LE4. Šiooje schemoje elementai LE2 ir LE4 atlieka IR-NE funkciją, todėl į jų
įvestis, nepriklausančias loginio elemento LE1 aktyviajam keliui, turi patekti loginio
vieneto lygiai tuo metu, kai tikrinamas loginis elementas LE1. Ši sąlyga įvykdoma, kai
x2 =1 ir x3 = 0 . (Kartais nepavyksta sudaryti aktyviojo kelio nuo tikrinamojo elemento
išvesties iki projektuojamosios schemos išvesties, tada loginį elementą galima patikrinti
stebint signalą tikrinamojo elemento išvestyje.)
Loginiam elementui LE1 patikrinti reikia paduoti tris įvesčių x1 ir x 4 (nes tik iš tų
schemos įvesčių signalai pateks į loginio elemento įvestis) kombinacijas: x1 x4 , x1 x4 ir
x1 x 4 . Pirmoji kombinacija patikrina, ar elementas tinkamai vykdo IR-NE funkciją, o kitos
dvi kombinacijos – ar tikrinamojo elemento įvestys yra prijungtos prie schemos įvesčių
x1 ir x4 , t. y. ar nėra nutrūkę sujungimo takeliai. Įvesties signalų kombinacija x1 x 4 yra
perteklinė, nes, jeigu schema teisingai funkcionuoja perdavus pirmąsias tris įvesčių signalų
kombinacijas, ji visuomet teisingai funkcionuos ir perdavus kombinaciją x1 x4 . Matome,
kad 2IR-NE elementui patikrinti nereikia perrinkti visų įvesčių signalų kombinacijų, o
vietoje keturių užtenka trijų kombinacijų. Tikrinant loginį elementą 3IR-NE, kurio įvestys
x1 , x2 ir x3 , visam perrinkimui vietoj aštuonių užtektų keturių įvesties signalų
kombinacijų: x1 x 2 x3 , x x x , x x x ir x x x .
1 2 3 1 2 3 1 2 3
y1 = f 1 ( x1 , x 2 ,..., x n );
y 2 = f 2 ( x1 , x 2 ,..., x n );
(3.5)
y l = f l ( x1 , x 2 ,..., x n ).
x
x1 1
x2
3.6 pav. Kombinacinė schema su dviem išvestimis, gauta kartu minimizuojant abi
funkcijas
Kombinacinių schemų pagrindinės charakteristikos yra jų sudėtingumas ir veikimo
sparta. Schemos sudėtingumas vertinamas jai realizuoti panaudotų loginių elementų ar
integrinių grandynų skaičiumi. Teoriniuose skaičiavimuose orientuojamasi į schemos
sudėtingumą pagal Kvaino skalę, t. y. visų loginių elementų įvesčių suma. Schemos
sudėtingumo vertinimo vienetas yra viena loginio elemento įvestis. Inversinės įvesties
sudėtingumo vertė imama lygi dviem. Schemos sudėtingumas lengvai apskaičiuojamas iš
Bulio funkcijų, o klasikiniais funkcijų minimizavimo metodais, naudojant minimalų
integrinių grandynų skaičių, sudaroma minimali schema pagal Kvainą.
Tą pačią funkciją realizuojančios schemos pavaizduotos 3.3 pav. ir 3.4 pav.
Pirmosios schemos sudėtingumas pagal Kvainą yra 11, o antrosios – 8.
Naudojant funkcijų išraiškas su skliaustais gaunamos ne tokios sudėtingos schemos,
kaip naudojant funkcijų išraiškas be skliaustų. Funkcijų sistemą realizuojančių schemų
sudėtingumas priklauso nuo minimizavimo būdo – minimizuojant kiekvieną funkciją
atskirai gaunami blogesni rezultatai nei kartu minimizuojant visą funkcijų sistemą.
Kombinacinės schemos, pavaizduotos 3.5 pav., sudėtingumas yra 25, o pavaizduotos 3.6
pav. – 14.
Schemos veikimo sparta įvertinama maksimaliu nuo įvesties iki išvesties
sklindančio signalo vėlinimu. Veikimo sparta apibūdinama dydžiu k ⋅ t v , kur t v – signalo
vėlinimas viename loginiame elemente, k – kombinacinės schemos pakopų skaičius (t. y.
maksimalus elementų, per kuriuos pereina bet kuris iš įvesčių signalų, skaičius). Nustatant
loginio elemento k, laikoma , kad elementai, kurių išvestys prijungtos prie visos schemos
išvesčių, priklauso nulinei pakopai. Elementas priklauso k-ajai pakopai, jei jo išvestys
sujungtos su pakopos k −1 įvestimis. Kombinacinė schema, pateikta 3.5 pav., turi tris
pakopas, o schema, pavaizduota 3.6 pav., – penkias pakopas.
Realizuodami bet kurią funkciją, išreikštą disjunkcine normaline forma, gausime ne
daugiau kaip trijų pakopų ( k = 3 ) didelės veikimo spartos kombinacinę schemą. Atlikę
funkcijų dekompoziciją (panaudoję funkcijos išraišką su skliaustais) ir ją realizavę,
gausime daugiau pakopų turinčią schemą, kurios veikimo sparta bus mažesnė.
Naudojant loginius elementus galima realizuoti bet kurias funkcijas vykdančias
kombinacines schemas. Kai kurias konkrečias funkcijas realizuojančios kombinacinės
schemos, sudėtos į atskirus korpusus, gaminamos serijomis, todėl padidėja projektuojamų
schemų integracijos laipsnis. Tokios kombinacinės schemos priklausomai nuo jų
atliekamų funkcijų vadinamos šifratoriais, dešifratoriais, multiplekseriais, kodų
formuotuvais, kombinaciniais sumatoriais ir t. t.
Šifratoriai
Šifratoriai skirstomi į dvejetainius (toliau juos vadinsime šifratoriais) ir
prioritetinius. Šifratorius – kombinacinis operacinis, elementas skirtas unitariniam kodui
su n įvesčių paversti į kitokį m-skiltį kodą (m išvesčių). Jei tenkinama sąlyga:
2m = n , (3.9)
2m > n . (3.10)
Tokie šifratoriai vadinami nepilnaisiais šifratoriais. Nepilnojo šifratoriaus pavyzdys
yra „iš 10 į 4“, šifruojantis dešimtainį pozicinį kodą į dvejetainį-dešimtainį kodą. Toks
šifratorius gali būti panaudotas skaičiams įvesti iš klaviatūros (pavyzdžiui, kalkuliatoriuje,
kasos aparate ir t. t.). Nuspaudus klavišą, vienoje iš šifratoriaus įvesčių
xi , kur i =0,1, ,9, atsiranda loginio vieneto lygis ir šifratoriaus išvestyse formuojamas
keturių skilčių kodas y3 y 2 y1 y 0 . Kadangi šiuo atveju m = 4 , bus šešios perteklinės
išvesties kodų kombinacijos, t. y. tų kodų kombinacijų išvestyse niekada nebus.
Šifratoriai gali turėti papildomą išvestį (paprastai žymimą Eo), rodančią, kad nė į
vieną įvestį nepaduotas signalas, ir papildomą įvestį (paprastai žymimą EI), leidžiančią
formuoti išvesties kodą (priešingu atveju formuojamas nulinis kodas).
Panagrinėkime pilnąjį šifratorių, kurio n = 8 ir m = 3 . Kaip veikia toks šifratorius,
aprašyta 3.3 lentelėje.
y0 = ( x1 + x3 + x5 + x7 ) E I ,
y1 = ( x2 + x3 + x6 + x7 ) E I ,
(3.11)
y 0 = ( x 4 + x5 + x 6 + x 7 ) E I ,
( )
Eo = x0 x1 x2 x3 x4 x5 x 6 x7 + E I ,
0 CD
1 y4 1 y0
& 2
3
y1
y2
4
5
6
1 y2 7
&
EI EO
1
Eo
1
E I x0 x1 x2 x3 x4 x5 x6 x7
a) b)
Išvesties signalas G rodo, kad tame šifratoriuje yra užklausa, o Eo rodo, kad
užklausos nėra ir šifratoriaus įvestyse jis naudojamas kitiems šifratoriams valdyti, kai
įvesčių skaičiui padidinti jungiami keli šifratoriai.
Iš lentelės gauname šifratoriaus funkcijas:
( )
y0 = x7 + x6 x5 + x6 x4 x3 + x6 x4 x2 x1 E I ,
( )
y1 = x7 + x6 + x5 x4 x3 + x5 x4 x2 E I ,
y 2 = ( x7 + x 4 + x5 + x 4 ) E I , (3.12)
E0 = x7 x6 x5 x4 x3 x2 x1 x0 E I ,
G = ( x7 + x4 + x5 + x4 + x3 + x2 + x1 + x0 ) E I .
x0 0
x1
3.8 pav. Prioritetų skaičiaus didinimo schema 1
x2 2
Šioje schemoje į šifratorių CD2 perduodamos užklausos su aukštesniais prioritetais
ir jam leidžiama visą laiką dirbti paduodant loginį nulį (žemę) į jo įvestį EI. Esant bent
vienai užklausai (x8, x9, ..., x15) CD2 įvestyse, jo išvestyje E bus loginis vienetas, kuris
0
3
perduodamas į pirmojo šifratoriaus CD1 įvestį E I ir blokuoja jo darbą. Tik nesant jokios
x3
užklausos antrojo šifratoriaus įvestyse leidžiama dirbti pirmajam šifratoriui. Išvestyse y0,
y1, y2, y3 turėsime dvejetainį aukščiausią prioritetą turinčios užklausos kodą nuo 0 iki 15.
4
Dešifratoriai
Dešifratorius – operacinis įtaisas, keičiantis n skilčių pozicinį dvejetaini kodą į 2n
skilčių (iš n į 2n) unitarinį kodą, t. y. kodą, susidedantį iš 2n dvejetainių kintamųjų, iš kurių
vienas bet kuriuo momentu gali įgyti loginio vieneto lygį. Jei dešifratorius turi 2n išvesčių,
turime pilnąjį dešifratorių.
Pateikiame pilnojo trijų įvesčių dešifratoriaus teisingumo lentelėę.
y 0 = x 2 x1 x 0 ,
y1 = x 2 x1 x 0 ,
y 2 = x 2 x1 x 0 ,
y 3 = x 2 x1 x 0 ,
(3.13)
y 4 = x 2 x1 x 0 ,
y 5 = x 2 x1 x 0 ,
y 6 = x 2 x1 x 0 ,
y 7 = x 2 x1 x 0 .
x1
1
3.9 pav. Dešifratorius: a – principinė schema, b – grafinis žymuo
( )
x2
SK = n 2n + 1 . (3.14)
1
x0
1 DC1 0
x1
2 1
2
3.10 pav. Dviejų pakopų dešifratorius
Šis dešifratorius bus lėtesnis, bet jo schema ne tokia sudėtinga. Jos sudėtingumas
pagal Kvaino skalę
SK
n 2
= 2
n
n n2
3
+ 1 + 2 + 1 + 2 n +1 . (3.15)
2 2
Dešifratoriai (ir kai kurios kitos schemos) dažnai turi leidimo EI (angl. Enable Input)
įvestį. Dešifratoriaus išvestyse signalas pasirodys tik padavus aktyvųjį lygį (kartais tai gali
būti loginio nulio lygis) į įvestį EI . Toks dešifratorius parodytas 3.11 pav.
IN
EI DC 0 y0
1 y1
x2
2 y2
x1 0 3 y3
4 y4
x2 1 y5
1 DC2 0
5
6 y6
x3
x3 2 7 y7
2 1
3.11 pav. Dešifratorius „iš 3 į 8“ su leidimo įvestimi ir inversinėmis išvestimis
2
parodyta 2.9 pav., todėl tai yra didelės veikimo spartos elementas. Kadangi dešifratoriaus
išvesčių skaičius yra 2n, paprastai atskiruose lustuose gaminami dešifratoriai, kurių n ≤ 4 .
Siekiant padidinti išvesčių skaičių, dešifratoriai jungiami pakopomis. Tam naudojami
3
dešifratoriai su leidimo įvestimi. Toks pakopinis dešifratorių jungimas parodytas 3.12 pav.
x0
x1
x2
x4
dviem išvestimis, realizuojančią funkciją
y1 = x 1 x 2 x 3 + x 1 x 2 x 3 +x 1 x 2 x 3 +x 1 x 2 x 3 ,
(3.16)
y 2 =x 1 x 2 x 3 + x 1 x 2 x 3 +x 1 x 2 x 3 .
x1 EI
1 DC
x2
3.13 pav. Kombinacinė schema, sudaryta naudojant dešifratorių
2
Kombinacinė schema sudaryta naudojant dešifratorių ir loginius elementus ARBA.
Kombinacinėms schemoms konstruoti dešifratorius tikslinga naudoti tuomet, kai schema
turi kelias išvestis, priklausančias nuo tų pačių argumentų.
Kodo keitikliai
Tie patys signalai įvairiuose įrenginiuose gali būti atvaizduojami skirtingai, t. y.
naudojamos skirtingos signalų kodavimo sistemos. Tokiais atvejais, perduodant
informaciją iš vieno įrenginio į kitą, naudojami kodo keitikliai.
Kodo keitikliai (angl. code converter) bendruoju atveju keičia m skilčių kodą į n
skilčių kodą (paprastai tai yra ne unitarinis kodas, nes tokią operaciją atlieka dešifratorius).
Kodo keitiklio pavyzdžiu gali būti dvejetainio kodo keitiklis į Grėjaus kodą. Trijų skilčių
dvejetainio kodo atitiktis Grėjaus kodui parodyta 3.6 lentelėje.
x1 1 DC
x2
3.14 pav. Kodo keitiklio sudarymas naudojant šifratorių ir dešifratorių
2
Tą patį kodo keitiklį galima sudaryti ir iš loginių elementų, naudojantis anksčiau
pateikta kombinacinių schemų projektavimo metodika. Trijų skilčių dvejetainio kodo
x3
keitimo į Grėjaus kodą minimizuotos funkcijos:
y1 = x1 ⊕ x 2 , 3
y 2 = x2 ⊕ x3 , (3.17)
y3 = x3 .
šifratoriumi.
x1
Tada kodo keitiklio schema bus paprastesnė, nei sudaryta naudojant dešifratorių ir
x2
3.16 pav. Dvejetainio-dešimtainio kodo keitiklio į septynių skilčių kodą prijungimo
prie septynių segmentų indikatoriaus schema
x3
įtaisas, perduodantis vienos iš 2n įvesčių signalą į išvestį. Tą įvestį nustato n skilčių kodas,
paprastai vadinamas multiplekserio adresu. Multiplekseris dirba taip, kaip komutatorius,
kuris perjungiamas ne mechaniškai, o naudojant adreso dešifravimo schemą, kaip parodyta
3.17 pav.
D0
D1
3.17 pav. Multiplekseris kaip komutatorius
D2
Multiplekseris gali dirbti kaip lygiagrečiojo kodo keitiklis į nuoseklųjį, kodą
cikliškai keisdamas adreso kodą pastoviu greičiu.
Multiplekseris paprastai turi 2n duomenų įvesčių, n adresų įvesčių ir vieną išvestį.
Kai kurie multiplekseriai dar turi papildomą įvesčių leidimo signalo įvestį, analogišką tai,
kuri naudojama šifratoriuose ir dešifratoriuose. Keturių skilčių multiplekserio įvesties ir
išvesties signalai parodyti 3.18 pav.
D2
0 × 0 × × 0 1 0
0 × 1 × × 0 1 1
0 × × 0 × 1 0 0
0
0
0
×
×
×
×
×
×
1
×
×
×
0
1
1
1
1
D3
0
1
1
1
0
1
y = Ei A0 A1 D0 +E i A0 A1 D1 +E i A0 A1 D2 +E i A0 A1 D3 .
x
D 1 D0
0
x1 D1
x2 D2
x3
3.20 pav. Multiplekserių jungimas pakopomis
D3
Į pirmąją pakopą jungiamas multiplekserių skaičius, užtikrinantis reikiamą
informacinių įvesčių skaičių. Bendras adresų skaičius
k = n log m ,
A0
(3.19)
čia n – pirmojoje pakopoje naudojamų multiplekserių adresų skaičius;
m – pirmojoje pakopoje naudojamų multiplekserių skaičius.
Prie pirmosios pakopos multiplekserių lygiagrečiai jungiamos žemiausiosios n
(nagrinėjamu atveju dvi) adresų skiltys, o likusios vyriausios k-n skiltys (mūsų atveju taip
pat dvi) jungiamos prie antrosios pakopos multiplekserio.
Multiplekseriai yra universalūs loginiai elementai, kuriais galima realizuoti bet kurią
funkciją. Turint m argumentų, galima realizuoti 2 2 funkcijų. Realizuojant m argumentų
m
1 0 M
0
3.21 pav. Trijų kintamųjų funkcijos realizacija aštuonių skilčių multiplekseriu 1
1
Panagrinėkime atvejį, kai m argumentų funkcija realizuojama n adresų skilčių
multiplekseriu (m>n). Tokiu atveju tikslinga pasinaudoti funkcijos disjunkcinės
normaliosios formos skaidymu pagal Šenoną:
2
0
f ( x 0 , x1 ,..., x m −1 ) = x 0 x1 ... x n −1 f 0 + x 0 x1 ... x n −1 f 1 +... + x 0 x1 ... x n −1 f 2 n ;
3 (3.20)
1 4
f 0 = f ( 0,0,.., 0, x n ,..., x m −1 ),
čia f 1 = f ( 0,0,..., 1, x n ,..., x m −1 ),
(3.21)
f 2 n −1 = f (1,1,..., 1, x n ,... x m −1 ).
y = x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 . (3.22)
y = x1 x 2 ( x 3 ) + x1 x 2 (1) + x1 x 2 ( x 3 ) + x1 x 2 ( x 3 ). (3.23)
x3
1
3.21 pav. Funkcijos realizacija multiplekseriu su keturiomis informacinėmis įvestimis
y = x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4 + x1 x 2 x 3 x 4 . (3.24)
y = x1 x 2 ( x 3 x 4 ) + x1 x 2 ( 0) + x1 x 2 ( x 3 + x 4 ) + x1 x 2 ( x 3 x 4 ) (3.25)
x1
x3
3.22 pav. Keturių argumentų funkcijos realizacija multiplekseriu su keturiomis
informacinėmis įvestimis
Matome, kad šiuo atveju, be multiplekserio, reikia dar trijų elementų. Išskaidę tą
pačią funkciją kintamųjų x3 ir x4 atžvilgiu, gausime:
y = x 3 x 4 ( 0) + x 3 x 4 ( x 2 ) + x 3 x 4 ( x 2 ) + x 3 x 4 ( x1 x 2 ) . (3.26)
x2
signalus iš vienos įvesties nukreipia į vieną iš 2n išvesčių. Demultiplekseris atlieka
funkciją, priešingą multiplekseriui, tai yra komutuoja signalus kaip multiplekseris, tik
įvestys ir išvestys sukeistos vietomis, kaip parodyta 3.24 pav.
x1 x4
x3
3.24 pav. Demultiplekseris kaip komutatorius
x4 x1
x2
Kaip veikia demultiplekseris su keturiomis išvestimis, parodyta 3.9 lentelėje.
x
3.9 lentelė Demultiplekserio su keturiomis išvestimis veikimas
A0 A1 x y0 y1 y2 y3
× × 0 0 0 0 0
0 0 1 1 0 0 0
1 0 1 0 1 0 0
0 1 1 0 0 1 0
1 1 1 0 0 0 1
y 0 = A0 A1 x;
y1 = A0 A1 x;
(3.27)
y 2 = A0 A1 x;
y 3 = A0 A1 x.
A0
skaičius, bet ir atliekant atimties, daugybos, dalybos operacijas, taip pat keičiant kodus,
šifruojant signalus ir t. t. Sudėtį atlieka sumatorius – kombinacinė schema, atliekanti
operaciją
A1
Q = A+B . (3.28)
Reikia atkreipti dėmesį, kad šioje išraiškoje simbolis „+“ reiškia aritmetinę sudėtį, o
ne loginę ARBA operaciją. Jau aritmetikoje mokėmės sudėti ilgesnius ar trumpesnius
skaičius. Sumatorius skirtas atlikti aritmetinei sudėties operacijai su fiksuoto ilgio
skaičiais. Paprastai rezultatas Q ir duomenys (literatūroje jie dažnai vadinami operandais)
A ir B būna žodžiai su vienodu skilčių skaičiumi n. Panagrinėkime, kaip sudedami skaičiai.
Sudėkime skaičius A = { a 2 , a1 , a0 } = 025 ir B = {b2 , b1 , b0 } = 076 . Reikia rasti Q = { q2 , q1 , q0 } .
Rezultatą pradedame skaičiuoti nuo žemiausiosios skilties.
1 + sgn( a0 + b0 − k + 1) 1 + sgn 2
c0 = sgn( a0 + b0 − k + 1) = sgn 2 = 1. (3.30)
2 2
q1 = ( a1 + b1 + p1 ) mod10 = 0 , (3.31)
1 + sgn( a1 + b1 − k + 1) 1 + sgn 1
c1 = sgn( a1 + b1 − k + 1) = sgn 1 = 1. (3.32)
2 2
q2 = ( a 2 + b2 + p2 ) mod10 = 1, p2 = c1 . (2.30)
qi = ( ai + bi + pi ) mod k ,
1 + sgn ( ai + bi − k + 1)
ci = sgn ( ai + bi − k + 1) , (3.33)
2
pi = ci −1 .
Tokiu pat būdu atliekama sudėtis ir kompiuteryje. Skirtumas tik toks, kad
naudojama ne dešimtainė, o dvejetainė skaičiavimo sistema, t. y. k = 2 .
Įrenginys, skaičiuojantis vienos skilties rezultatą ir pernašą, kai k = 2 , vadinamas
vienskilčiu sumatoriumi. Toks įrenginys turi tris įvestis: pirmojo operando ai, antrojo
operando bi ir pernašos pi, ir dvi išvestis: rezultato qi ir pernašos ci. Vienskilčio
sumatoriaus žymuo loginėse ir funkcinėse schemose parodytas 3.26 pav.
3.26 pav. Vienskilčio sumatoriaus žymuo loginėse (a) ir funkcinėse (b) schemose
Kaip veikia sumatorius, parodyta 3.10 lentelėje.
qi = ai bi pi + ai bi pi + ai bi pi + ai bi pi ,
ci = ai bi + ai pi + bi pi .
(3.34)
ai
bi
3.27 pav. Vienskilčio sumatoriaus loginė schema
cn-1
Pernaša per visas skiltis labai retas atvejis. Pernaša vidutiniškai perduodama per nvid
c
skilčių:
n vid = log 2 n (3.35)
SM
sumatoriuje sumavimas baigiamas, kai pernašos suformuotos arba nebus formuojamos
visose sumatoriaus skiltyse. Apie tai informuoja specialus signalas Z. Vienskilčio
sumatoriaus išvestyje pernašą rodo signalas c , o pernašos nebuvimą – signalas r . Tuo
pn-1
tarpu įvestyje pernašos signalas yra p , o kai pernašos nėra, – signalas s:
c i = a i bi + a i p i + bi p i ,
ri = a i bi + a i s i + bi s i .
(3.36)
n
Signalas Z formuojamas naudojantis signalais ri ir ci. Signalas Z rodys laiko
momentą, kada sumavimo operacija baigta ir suformuotas rezultatas Q.
Sumavimas paspartėtų, jei formuodami kiekvienos skilties pernašą iš dėmenų visų
žemesniųjų skilčių reikšmių, nenaudosime pernašos iš žemesniosios skilties, kaip daroma
lygiagrečiosios pernašos sumatoriuje:
ci = γ i + pi −1 βi , (3.37)
čia γ i = a i bi ,
βi = a i + bi . (3.38)
an-1
Tuomet pernašos skaičiuojamos pagal išraiškas:
c0 =γ0 + pβ0 ,
c1 =γ1 + c0 β1 ,
cn −1 =γ n −1 + cn −2 βn −1 .
bn-1 (3.39)
&
a0
3.29 pav. Dviskilčio lygiagrečiojo sumatoriaus pernašos formavimo schema
bbn-1 a n-1 1
0
&
kombinacinės schemos. Visose skiltyse pernaša suvėlinama vienodai – t p = 3t v . Pernašos
formavimo schemos sudėtingumas
S = ( n 3 + qn 2 + 38 n ) .
1
6
KS
a1 n-1 (3.41)
Schema darosi sudėtingesnė didėjant n, pavyzdžiui, kai n = 16 , schemos
sudėtingumas S = 1168 . Schemai supaprastinti naudojami nuosekliai jungiami keli
n
lygiagrečiosios pernašos sumatoriai. Sumatoriaus n skilčių skaidoma į k= dalių, kurių
m
kiekviena yra m-skiltis lygiagretusis sumatorius, o tarp dalių pernaša vyksta nuosekliai.
Toks sumatorius parodytas 3.31 pav.
q24÷q31
2.31 pav. Nuosekliai lygiagretus sumatorius
c31
lygiagrečiąja pernaša, formuojama kombinacinės schemos, veikiančios panašiu principu
kaip ir formuojant lygiagrečiąją pernašą, atskiroje dalyje. Tokio sumatoriaus pernašos
vėlinimas padidės 3tv, t. y. t p = 5t v .
Aritmetinės atimties operacijai C = A − B atlikti naudojami atimties įrenginiai.
SM3
Vienos skilties atimties įrenginio funkcionavimas pateiktas 3.11 lentelėje.
a24÷a31 b24÷b
( )
Q = A − B = A + B +1 . (3.43)
S = A∗B (3.58)
arba
S = A∗K ; (3.59)
Šių sąlygų reikšmės esant įvairioms operando A reikšmėms, pateiktos 3.14 lentelėje.
S3: a3
Lyginant du dvejetainius žodžius A ir B, dažniausiai netikrinamos sąlygos S1, S2 ir
a2
1, kai A < B,
S1 =
0, kai A ≥ B;
1, kai A = B,
S2 = (3.62)
0, kai A ≠ B;
1, kai A > B,
S3 =
0, kai A ≤ B.
Tik vienoje schemos išvestyje S1, S2 ar S3 bus loginio vieneto lygis. Schemos,
lyginančios dviejų skilčių (paprastai skilčių būna daugiau) žodžius A ir B, išvesties
signalai pateikti 3.15 lentelėje.
( )
S1 = a1 b1 + a0 b0 + a 0 b1b0, ,
(
S 2 = a1 ⊕b1 ) (a 0 )
⊕b 0 , (3.63)
( )
S 3 = a1 b1 + a0 b0 + a0 b1 b0 .
a1
Iš palyginimo funkcijų išraiškų matyti, kad vienos skilties lygybės sąlyga yra
S 2i = ai ⊕ bi ,
o sąlyga „daugiau“ –
(3.64)
b1
S 3i = a i bi . (3.65)
Tęsiant tokius samprotavimus galima gauti sąlygą, kad žodis A yra ilgesnis už žodį
B. Panagrinėkime dviejų skilčių žodžių palyginimą. Jei aukštesniosios skiltys nelygios
( a1 ≠ b ) 1 , palyginimo rezultatas nepriklauso nuo žemesniųjų skilčių palyginimo rezultatų, t.
y. A > B jei a1=1 ir b1=0 ir A < B, jei a1=0 ir b1=1. Kai a1 = b1 , reikia pagal tą patį
algoritmą nagrinėti kitą, žemesniąją, skiltį. Dviejų skilčių žodžiams palyginti galime
užrašyti:
Gauta išraiška, o kartu ir jos schema nėra minimali, tačiau ji patogi tuo, kad galima
panaudoti papildomas įvestis S1' , S 2' , S 3' , leidžiančias išplėsti lyginamųjų žodžių skilčių
skaičių. Sudarant dviejų skilčių palyginimo schemą su papildomomis įvestimis, galima
užrašyti sąlygą, kai A > B:
b1
Statinis trikdys atsiranda keičiantis loginiams lygiams elemento įvestyse, bet
nesikeičiant lygiui išvestyje. Panagrinėkime schemą su IR-NE elementu, kuri parodyta
3.41 pav.
a0
3.41 pav. Loginė schema su IR-NE elementu (a), įvesties ir išvesties signalų laiko
diagramos (b)
Tarkim, į abi schemos įvestis x1 ir x2 ateina signalai, kurių lygiai keičiasi laiko
x1
momentais t1 ir t3. Signalas x1 į IR-NE elemento įvestį patenka tiesiogiai, o signalas x2 –
per inverterį. Dėl tos priežasties schemos išvestyje turėtų būti loginio vieneto lygis, kai
x = x . Nagrinėjamoje schemoje įvesčių signalams keičiantis iš loginio nulio lygio į
1 2
loginio vieneto lygį laiko intervale ∆t = t 2 − t1 dėl signalo x2 vėlinimo inverteryje atsiranda
loginio nulio lygis. Šio trikdžio trukmė lygi vėlinimo inverteryje trukmei. Įvesčių
signalams keičiantis iš loginio vieneto lygio į loginio nulio lygį, trikdys išvestyje
neatsiranda.
1
Statinė klaida atsiras tik tada, kai vėlinamas signalas įvestyje prieš lygių keitimosi
x2
momentą t1 bus aktyvus (šiuo atveju loginis vienetas), tai yra gali pakeisti loginio
elemento išvesties lygį, jei kitoje įvestyje bus to paties lygio signalas. Analogiška situacija
susidaro naudojant ARBA (ARBA-NE) elementą ir vėlinant signalą vienoje įvestyje.
Tokia situacija parodyta 3.42 pav.
3.42 pav. Loginė schema su ARBA-NE elementu (a), įvesties ir išvesties signalų laiko
diagramos (b)
x1 1
iš loginio vieneto lygio į loginio nulio lygį.
Dinaminis trikdys atsiranda atėjus statiniam trikdžiui į vieną iš įvesčių, kai kitose
elemento įvestyse bus aktyvūs signalai. Dinaminis trikdys sukelia trūkčiojantį išvesties
signalo perėjimą iš vieno lygio į kitą. Panagrinėkime atvejį, pateiktą 3.43 pav.
Trikdžiai schemose priklausomai nuo jų funkcionavimo skirstomi į loginius ir
funkcinius. Loginiai trikdžiai – tai tokie trikdžiai, kurie atsiranda keičiantis signalo lygiui
tik vienoje įvestyje. Funkciniai trikdžiai – tai trikdžiai, kurie atsiranda keičiantis signalų
1
lygiams dviejose ir daugiau įvesčių.
x
x1
3.43 pav. Dinaminis trikdys IR-NE schemoje (a), laiko diagramos (b)
&
Šioje schemoje laiko momentu t1 įvestyje x2 atsiranda statinis trikdys, sukeliantis
išvestyje trūkčiojantį perėjimą iš loginio nulio į loginį vienetą.
Panagrinėkime tokią minimizuotą funkciją:
y = x1 x 2 + x 2 x 3 .
x2 (3.70)
x1
3.44 pav. Loginę funkciją (2.67) vykdanti schema (a) ir jos laiko diagramos (b)
a)
Šioje schemoje pereinant iš būsenos x1 x 2 x3 į būseną x x x dėl vėlinimo
1 2 3
inverteryje laiko intervale ∆t =t 2 −t1 atsiranda statinis loginis trikdys. Šioje laiko
diagramoje įvertintas tik inverterio vėlinimas, nes kitų elementų vėlinimai šiuo atveju
trikdžio susidarymui įtakos neturi.
Loginį trikdį galima pašalinti funkcijos analitinę išraišką papildžius dar vienu nariu,
neleidžiančiu trikdžiui sklisti link išvesties:
y = x1 x 2 + x 2 x 3 + x1 x 3 .
x3
Tokios modifikuotos funkcijos realizacijos loginė schema pateikta 3.45 pav.
(3.71)
x2 1
x1
x2
3.45 pav. Modifikuotą loginę funkciją (3.71) su papildomu IR-NE elementu vykdanti
schema (a)
ir jos laiko diagramos (b)
x2
Šiuo atveju loginio elemento, vykdančio funkciją y ' = x1 x3 , išvestyje keičiantis
argumentui x2 laiko intevale ∆t = t 2 − t1 bus loginio vieneto lygis ir trikdys išvestyje y
nepasirodys.
1
Funkciniai trikdžiai schemos išvestyje atsiranda kintant ne mažiau kaip dviem
argumentų reikšmėms. Pavyzdžiui, turime funkciją
x3
y = x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 . (3.72)
argumentai, gali atsirasti dinaminis funkcinis perėjimo iš loginio vieneto į loginį nulį
trikdys (žr. 3.27 pav.).
Su trikdžiais kombinacinėse schemose kovojama dviem būdais. Pirmas būdas – taip
suprojektuoti kombinacines schemas, kad jose neatsirastų trikdžių. Funkciniams
trikdžiams pašalinti, išanalizavus signalų sklidimo kelius, reikia sudaryti sąlygas, kad į
loginio elemento įvestis signalai ateitų tuo pačiu metu. Todėl reikia žinoti elementų
vėlinimus, kurių reikšmės paprastai būna nevienodos, o loginius elementus gaminančios
firmos nurodo tik maksimalias reikšmes ir nenurodo minimalių reikšmių. Norint išvengti
loginių trikdžių reikia laikytis šių taisyklių:
• sudaryti minimalią funkcijos išraišką;
• sudaryti papildomus termus, neleidžiančius sklisti trikdžiui (Karno
diagramoje šiuos termus atitinka papildomi loginių vienetų kontūrai);
• sudaryti loginės funkcijos su papildomais termais kombinacinę schemą.
Vieno baito informacijos tikrinimas naudojant lygiškumo kontrolę. Šį trikdžių
pašalinimo būdą realizuoti sunku, todėl jis taikomas retai. Plačiau taikomas antrasis
metodas. Šiuo atveju išvesties signalai nuskaitomi tik praėjus tam tikram laikui po įvesties
signalų pasikeitimo, pasibaigus pereinamiesiems procesams kombinacinėje schemoje.
Nuosekliosios loginės schemos
Nuosekliųjų loginių schemų išvesčių signalų reikšmės priklauso ne tik nuo tuo metu
veikiančių schemos įvesčių signalų (išorinių signalų), bet ir nuo grįžtamojo ryšio signalų
(vidinių signalų), kurie formuojami pačios schemos viduje – elementariuosiuose atminties
elementuose – trigeriuose. Išoriniai signalai kartais dar vadinami pirminiais įvesčių
signalais.
Nuosekliosios loginės schemos nuo kombinacinių skiriasi tuo, kad:
• turi atminties elementus;
• yra grįžtamieji ryšiai (kilpos);
• schemos būsena (atminties ląstelių turinys) turi įtakos schemos veikimui;
• schemos reakcija į įvesties signalus laikui bėgant gali keistis.
Nuosekliosiųjų schemų būsenos laikui bėgant keičiasi. Jų kitimo pobūdis priklauso
tiek nuo išorinių įvesčių signalų, tiek nuo esamos būsenos (tai yra informacijos turinio
atminties elementuose). Priklausomai nuo to, kaip keičiasi būsenos, nuosekliosios loginės
schemos skirstomos į asinchronines ir sinchronines. Asinchroninių schemų būsenos
keičiasi pasikeitus išoriniams įvesties signalams.
Sinchroninių nuosekliųjų schemų būsenos gali keistis tik fiksuotais laiko
momentais. Skaitmeninėse schemose dažnai vartojamas diskretusis laikas, tai yra kai
laikas nusakomas ne sekundėmis ar milisekundėmis, o automatinio laiko (diskretiškumo
intervalų ) momentų (taktų) numeriais t = 0, 1, 2… Schemos būseną nagrinėjamuoju
momentu žymėsime Qt , o kitu momentu – Qt+1. Kaip tik tais diskrečiaisiais laiko
momentais ir gali pasikeisti sinchroninių nuosekliųjų schemų būsenos. Keisti būseną
leidžia specialūs signalai (dažniausiai tai būna pastovaus dažnio stačiakampiai impulsai,
įgyjantys loginio vieneto ir loginio nulio reikšmes), kurie vadinami sinchronizavimo
impulsais ir žymimi C (angl. clock). Sinchronizavimo signalai C paprastai perduodami į
atminties elementus. Sinchroninės nuosekliosios schemos struktūra pateikta 3.50 pav.
Pirminės .
įvestys .
3.50 pav. Sinchroninės nuosekliosios schemos struktūra
.
Atėjus sinchronizavimo signalui į atminties elementus įrašoma nauja informaciją
X
(nauja būsena), formuojami išvesties signalai Y ir nauji atminties elementų sužadinimo
signalai U, kurie lems informaciją, įrašomą į atminties elementus atėjus kitam
sinchronizavimo impulsui.
Sinchroninė schema veiks teisingai, jei:
• prieš pat prasidedant naujam sinchronizavimo impulsui laiko intervalą ts
(vadinamą nustatymo laiku) įvesčių signalai turi nekisti;
• atėjus sinchronizavimo impulsui pirminiai įvesties signalai laiko intervalą tH
(vadinamą išlaikymo arba įtvirtinimo laiku) turi nekisti (iki nusistovės schemos
būsena).
Sąlygos, kurios turi būti įvykdytos sinchroninėse nuosekliosiose schemose,
parodytos 3.51 pav.
C
3.51 pav. Sinchroninių nuosekliųjų schemų parengties (tS) ir išlaikymo (tH) trukmės
D
tarp kurių įvesčių ir išvesčių sudarytas kryžminis teigiamas grįžtamasis ryšys taip, kad iš
vienos pakopos išvesties signalas siunčiamas į antrosios pakopos įvestį. Tokį paprasčiausią
atminties elementą galima gauti panaudojant dvi tranzistorines stiprinimo pakopas. Tokio
trigerio supaprastinta principinė schema (be valdymo grandinių) parodyta 3.52 pav., a.
R1
3.52 pav. Atminties elemento schema: a – sudaryta iš tranzistorinių stiprinimo
pakopų,
b – sudaryta iš inverterių
R3
kuris, perduotas į tranzistoriaus T1 bazę, atidaro tranzistorių T1. Tokia būsena, kai T1
atviras, o T2 uždaras, tarkim, atitinka loginio nulio būseną ir gali trukti tol, kol dėl išorinio
poveikio atsidarys tranzistorius T2 arba išjungsime maitinimo įtampą. Kita stabili būsena
susidaro, kai atidarytas tranzistorius T2 ir žemas įtampos lygis jo kolektoriuje uždaro
tranzistorių T1. Savo ruožtu aukštas įtampos lygis tranzistoriaus T1 kolektoriuje atidaro
tranzistorių T2. Tokia schemos būsena atitinka loginio vieneto lygį. Dviejų stabilių būsenų
elementas gali saugoti vieną bitą informacijos. Reikiamą schemos būseną galima nustatyti
perdavus signalą iš išorės į atitinkamo tranzistoriaus bazę.
Šioje atminties elemento schemoje naudojami invertuojantys tranzistoriniai
stiprintuvai (trigerio negalima pagaminti tiesioginių stiprintuvų pagrindu). Kadangi
inverteris iš esmės yra invertuojantis stiprintuvas, dirbantis įsisotinimo režime, atminties
elementą galima gauti iš dviejų inverterių, tarp kurių yra kryžminis grįžtamasis ryšys, kaip
parodyta 3.52 pav., b. Tokie atminties elementai yra svarbiausioji kiekvieno trigerio dalis.
Skaitmeninėje technikoje naudojami įvairūs trigeriai, skirtingai funkcionuojantys ir
skirtingai valdomi. Jų klasifikacija pagal įvairius kriterijus parodyta 3.53 pav.
T1
3 pav. Trigerių klasifikacija
3.5
Pagal funkcionavimą trigeriai skirstomi į SR, JK, D ir T bazinius trigerius. Be šių,
pagrindinių tipų, naudojami ir kombinuoti trigeriai, kurie atlieka kelių elementarių trigerių
funkcijas, ir sudėtingos įvesčių logikos trigeriai.
Pagal informacijos įrašymo būdą trigeriai būna asinchroniniai (nesinchronizuojami)
ir sinchroniniai (sinchronizuojami). Sinchronizacijos signalai dažnai žymimi raide C (angl.
clock), tačiau kai kuriose taikomosiose programose (pavyzdžiui, Isp Design) raide C
žymima trigerio įvestis, nustatanti trigerį į nulinę būseną (angl. clear). Pagal tai, kaip
sinchronizavimo signalai įrašo informaciją į trigerį, trigeriai skirstomi į valdomus lygiu
(statinius) ir valdomus frontu. Valdymas lygiu suprantamas, kad, esant vienam taktinio
signalo lygiui, trigeriai priima įvesties signalus ir į juos reaguoja, o esant kitam lygiui,
nereaguoja ir nekeičia savo būsenos. Frontu valdomi trigeriai reaguoja į įvesties signalus
tik taktinio signalo loginio lygio kitimo metu (pereinant iš loginio vieneto į loginį nulį arba
atvirkščiai). Kitu laiku nepriklausomai nuo taktinio signalo lygio trigeris nereaguoja į
įvesties signalus. Frontu valdomi trigeriai dažnai vadinami dinaminiais arba dinaminio
valdymo trigeriais. Dinaminė įvestis gali būti tiesioginė arba inversinė. Tiesioginis
dinaminis valdymas reiškia, kad trigeris reaguos taktiniam signalui pereinant iš loginio
nulio lygio į loginio vieneto lygį, o inversinis – pereinant iš loginio vieneto lygio į loginio
nulio lygį.
Pagal perjungimo pobūdį skiriami vienos ir dviejų pakopų trigeriai. Vienos pakopos
trigeriuose į naują būseną pereinama iš karto, o dviejų pakopų trigeriuose – dviem etapais.
Esant vienam taktinio signalo lygiui, informacija įrašoma į trigerio įvesties pakopą, o esant
kitam lygiui, informacija iš pirmosios pakopos trigerio perrašoma į antrosios pakopos
trigerį ir kartu perduodama į išvestį.
SR trigeriai (atskirieji)
Asinchroniniai SR trigeriai turi dvi įvestis: S – nustatančią trigerį į loginio vieneto
būseną ir R – nustatančią trigerį į loginio nulio būseną. Trigeriams aprašyti naudojamos
teisingumo lentelės, Karno diagramos, charakteringosios lygtys ir būsenų diagramos.
SR trigerio veikimas aprašytas 3.19 lentelėje.
Teisingumo lentelėje nurodytos pastovios būsenos, tai yra kai trigerio išvestyje
nesikeičia loginis lygis:
Qt +1 = Qt , (3.79)
Qt +1 =Q t
. (3.80)
( )
Qt +1 = S RQt + S RQ t + S RQt = R SQt + S = R ( Qt + S )
. (3.81)
(
Qt +1 = R ( Qt + S ) = R + Qt + S ). (3.82)
Šią lygtį atitinka SR trigerio schema, sudaryta iš ARBA – NE elementų (3.54 pav.).
Qt
Qt
Qt
Qt Q
S
1
3.54 pav. SR trigerio: a – schema, sudaryta iš ARBA-NE elementų; b – grafinis
žymuo; c – laiko diagramos
vidutinis vėlinimas. Kad informaciją būtų galima patikimai priimti, trigerio įvestyje
informacinio signalo trukmė turi būti t i ≥ 2t vv .
Trigerių veikimas dažnai vaizduojamas būsenų grafais. Būsenų grafo viršūnės
atitinka trigerio būsenas, o lankai – perėjimų tarp būsenų sąlygas. SR trigeris turi dvi
būsenas – a1 (nulinė būsena) ir a2 (vienetinė būsena). SR trigerio būsenų grafas parodytas
3.55 pav.
a1
S R
a2
Qt +1 = R ( Qt + S ) = RQt + S
. (3.83)
Qt +1 = R ⋅ Q t ⋅ S . (3.84)
Pagal šią lygtį iš IR-NE loginių elementų galime sudaryti trigerio schemą. Ji
parodyta 3.56 pav.
S Qt
a1
Qt
S
Q
Qt
R
Qt Q
R
&
3.56 pav. SR trigerio: a – schema, sudaryta iš IR-NE elementų; b – grafinis žymuo; c
– laiko diagramos
Čia naudojami inversiniai S ir R signalai (S , R ) . Kaip matome, ir šiame SR trigeryje
išvesties signalo vėlinimo trukmė
t t = 2t v v .
(3.85)
(
Qt +1 = C Qt + C RQ t + S ) (3.86)
arba
(
Qt +1 = C Qt + C R Q t + S ). (3.87)
S
Qt
Qt
Qt
C
Q
Vėlinimą šiame trigeryje padidina įvesties signalų valdymo schema. Kad trigeris
stabiliai veiktų, reikia, kad:
- įvesties signalas nusistovėtų trigerio įvestyje laiku t S (parengties laiku) anksčiau
nei sinchronizavimo impulsas C. (Parengties laikas nurodomas žinynuose.);
- įvesties signalas (S arba R) būtų išlaikomas laiką t H (išlaikymo laiką)
pasirodžius sinchronizavimo impulsui C;
- sinchronizavimo impulso C trukmė t C turi būti ilgesnė už t H .
Reikia atkreipti dėmesį, kad kai sinchronizavimo impulso trukmė ilga, pasikeitus
įvesties signalui, trigeris gali keisti būseną pakartotinai ( t 5 momentu). Todėl
rekomenduojama sinchronizavimo signalą parinkti kaip galima trumpesnį, bet turi būti
t C > t H . Jei abu įvesties signalų (S ir R) lygis bus aukštas, abiejose trigerio išvestyse
R
(tiesioginėje ir inversinėje) bus aukšti lygiai (laiko tarpas t4–t5), t.y. schema dirbs ne kaip
trigeris, o kaip kombinacinė schema. Pasibaigus sinchronizavimo impulsui trigerio būsena
bus neapibrėžta (laiko tarpas t5–t6 pažymėtas punktyru), tai yra trigeris gali pereiti tiek į
vienetinę, tiek į nulinę būseną (priklausomai nuo to, kurio elemento vėlinimas galinėje
pakopoje mažesnis). Tik atėjus teisingai įvesties signalų kombinacijai trigeris pereis į
žinomą būseną (momentas t6).
D trigeriai (vėlinimo)
Šie trigeriai turi vieną informacinę įvestį D (angl. delay – vėlinti) ir pereina į
būseną, atitinkančią šio įvesties signalo reikšmę. Jis ekvivalentiškas SR trigeriui su viena
informacine įvestimi D, kur S = D , o R = D . Taip pašalinamas draudžiama signalų
kombinacija S = R = 1 . Asinchroninio D trigerio išvesties signalas Q būtų toks pats, kaip ir
informacinis įvesties signalas D, tik pavėlintas laiku t t .(trigerio vėlinimo trukme), tai yra
Q = D . Dėl šios priežasties naudojamas tik sinchroninis D (žymimas CD) trigeris, kurio
veikimas aprašytas 3.21 lentelėje.
Qt Qt
Qt Qt
D
3.58 pav. Sinchroninio D trigerio funkcinė schema (a) ir grafinis žymuo (b)
Qt +1 = CQt +CD .
C
CD
C C
3.59 pav. Sinchroninio D trigerio būsenų diagrama (a) ir laiko diagramos (b)
a1
0 0 0 0
saugo informaciją
0 0 1 1
1 0 0 1
vieneto įrašymas
1 0 1 1
0 1 0 0
nulio įrašymas
0 1 1 0
1 1 0 1 skaičiavimo
1 1 1 0 režimas
Qt +1 = J K Qt + J K Q t + J K Q t = J Q t + K Qt . (3.89)
Iš šios lygties matyti, kad, panaudoję SR trigerį ir sudarę kryžminį ryšį tarp trigerio
įvesčių ir išvesčių, gausime JK trigerį (3.60 pav.).
C
Qt Qt
Qt Qt
3.60 pav. Asinchroninio JK trigerio funkcinė schema (a) ir grafinis žymuo (b)
J
t′S
t S′′
K
Q
K
3.61pav. Asinchroninio JK trigerio būsenų diagrama (a) ir laiko diagramos (b)
&
laiką (pažymėkime tS), ne ilgesnį už trigerio vėlinimo trukmę t t , t. y. t S < tt . Neįvykdžius
šios sąlygos, trigeris pradeda generuoti stačiakampius impulsus, kurių pasikartojimo
periodas T = 2t v . Toks atvejis laiko momentu t 2 parodytas 3.61 pav., b.
Panaudojus sinchronizavimo impulsą C, gausime sinchroninį statinio valdymo JK
trigerį. Jis parodytas 3.62 pav.
Qt Qt
Qt Qt
a1
3.62 pav. Sinchroninio statinio valdymo JK trigerio funkcinė schema (a) ir grafinis
žymuo (b)
Sinchroninio JK trigerio (kartais žymimo CJK) charakteringoji lygtis yra:
(
Qt +1 = C Q1 + C J Qt + K Qt ). (3.90)
tS tC
C
t
J
t
K tH
t
t
Q
tt tt T
t1 t2 t3
(
Qt +1 = CQt + C T Qt + T Qt ). (3.92)
T trigerio funkcinė schema yra panaši į JK trigerio schemą. Ji parodyta 3.64 pav.
Qt
Qt
&
Qt Qt
Qt
(J) Qt
3.64 pav. Asinchroninio T trigerio funkcinė schema (a) ir jo grafinis žymuo (b),
sinchroninio T trigerio funkcinė schema (c) ir jo grafinis žymuo (d)
T
Kartais T trigerio grafiniame žymėjime vietoj T rašoma +1. T trigerio būsenų
diagramos ir laiko diagramos parodytos 3.65 pav.
&
T T
(K)
3.65 pav. Statinio valdymo sinchroninio T trigerio būsenų diagrama (a) ir laiko
diagramos (b)
T trigeris tinkamai veikia, kai sinchronizavimo impulso (sinchroniniam trigeriui)
arba signalo T (asinchroniniam trigeriui) trukmė tS trumpesnė už trigerio vėlinimą tt ( t S < tt
).
Sujungę D trigerio inversinę išvestį Q su D įvestimi, kaip parodyta 3.66 pav.,
t
Qt Qt
Qt Qt
D T
3.66 pav. T trigerio, sudaryto iš CD trigerio, funkcinė schema (a) ir grafinis žymuo
(b)
Dvitakčiai trigeriai
Statiniai JK ir T trigeriai generuoja. Tiesioginiam teigiamajam grįžtamajam ryšiui
panaikinti panaudoti dviejų pakopų, tai yra dvitakčiai trigeriai. Juose du sinchroniniai
trigeriai sujungti nuosekliai. Į pirmąjį siunčiamas tiesioginis sinchronizavimo impulsas, į
antrąjį – invertuotas. Dvitakčio JK trigerio funkcinė schema parodyta 3.67 pav.
QS Q
QM
J
C &
3.67 pav. Dvitakčio JK trigerio funkcinė schema (a) ir grafinis žymuo (b)
C
Nuoseklią teigiamojo grįžtamojo ryšio grandinę nutraukia tas trigeris, kurio
valdymo įvestyje veikia signalas C = 0 . Iš trigerio struktūros matome, kad tokie trigeriai
gali būti sudaryti tik iš sinchroninių SR trigerių.
Pirmojo trigerio išvesties signalas keičia antrojo trigerio būseną, todėl pirmasis buvo
pavadintas M (angl. master – ponas), o antrasis – S (angl. slave – vergas). Todėl toks
trigeris vadinamas MS trigeriu. Grafiniame tokio trigerio žymėjime įrašomos TT raidės, t.
y. rodoma, kad jis sudarytas iš dviejų trigerių. Remiantis bendru trigerio struktūros
aprašymu, galima sudaryti konkretaus MS trigerio (SR, D, JK arba T) schemą.
Panagrinėkime, kaip veikia plačiai naudojamas MS JK trigeris. Jo būsenų diagrama ir laiko
diagramos parodytos 3.68 pav. Šis trigeris, skirtingai nuo anksčiau nagrinėtų, turi ne dvi, o
keturias būsenas:
• pirmoji trigerio būsena a0 atitinka atvejį, kai pirmajame trigeryje (master) ir
antrajame trigeryje (slave) yra loginiai nuliai;
• antroji trigerio būsena a1 atitinka atvejį, kai pirmajame trigeryje (master) yra
loginis vienetas, o antrajame trigeryje (slave) yra loginis nulis;
• trečioji trigerio būsena a2 atitinka atvejį, kai pirmajame trigeryje (master) ir
antrajame trigeryje (slave) yra loginiai vienetai;
• ketvirtoji trigerio būsena a3 atitinka atvejį, kai pirmajame trigeryje (master) yra
loginis nulis, o antrajame trigeryje (slave) yra loginis vienetas.
CJ CK
3.68 pav. Dvitakčio (MS) JK trigerio būsenų diagrama (a) ir laiko diagramos (b)
CJ
impulsui C. Taip trigeryje yra nutrauktas teigiamas grįžtamasis ryšys, nes, jei vienas
trigeris yra aktyvus (t. y. į jį galima įrašyti informaciją), antras tuo metu yra neaktyvus ir
informacijos į jį negalima įrašyti.
Jei J ar K įvestyse atsiranda signalas nepasibaigus impulsui C įvestyje, M trigeris į jį
reaguoja (įrašo atitinkamą informaciją, kuri bus perrašyta į S trigerį pasibaigus
sinchronizavimo impulsui). Analogiškai veikia ir dvitaktis T trigeris.
Kad dvitaktis JK ar T trigeris tinkamai veiktų, turi būti įvykdytos šios sąlygos:
- įvesties signalas turi pasirodyti laiku tS anksčiau, nei pasirodys sinchronizavimo
impulsas;
- įvesties signalas po sinchronizavimo impulso pasirodymo turi būti išlaikytas ne
trumpiau kaip laiką t H .
Dvitakčiai SR ar D trigeriai neturi tiesioginio grįžtamojo ryšio grandinių, todėl
įvesties (M) trigerio būsena keisis nepriklausomai nuo to, kokia bus išvesties (S) trigerio
būsena.
Panagrinėkime, kaip veikia dvitaktis D trigeris, kurio loginė schema ir laiko
diagramos parodytos 3.69 pav.
QM Q
3.69 pav. Dvitakčio D trigerio funkcinė schema (a) ir laiko diagramos (b)
Laiko diagramose parodyta, kad M trigeris yra skaidrus įvesties signalui, t. y. kai jis
aktyvus, nusistovi tokia būsena, koks yra įvesties signalas. Į trigerį S įrašoma tokia
informacija, koks signalas buvo įvestyje prieš sinchronizavimo impulso neigiamąjį frontą.
Taigi signalo nustatymo laiko t S ir jo išlaikymo laiko t H sąlygos galioja ir
sinchronizavimo impulsui pasibaigiant. Kad tinkamai veiktų dvitaktis trigeris, įvesties
D
signalas D turi nesikeisti laiko intervalą ts prieš sinchronizavimo impulso pabaigą.
Analogiškai dirba ir dvitaktis SR trigeris.
Dinaminiai trigeriai
Frontais valdomų dinaminių trigerių veikimą paprasčiausiai galima paaiškinti
naudojant struktūrą, panašią į dvipakopių MS trigerių struktūrą. Tokį dinaminį trigerį
sudaro dvi nuosekliai sujungtos SRC trigerių pakopos. Į pirmąją pakopą perduodamas
invertuotas sinchronizavimo impulsas, o į kitą –tiesioginis.
Populiariausias yra dinaminis D trigeris, nors taip pat naudojami ir dinaminiai SR,
JK ir T trigeriai. Tokio dinaminio D trigerio loginė schema ir laiko diagramos parodytos
C
3.70 pav.
1
Q1 Q Q
Q1 Q
D
1
C
Q1
3.70 pav. Dinaminio D trigerio funkcinė schema (a), grafinis žymuo (b) ir laiko
diagramos (c)
Tarkim, pradiniai trigerių Q1 ir Q lygiai yra žemi. Kol C įvestyje yra žemas lygis, į
D trigerį negali būti įrašoma informacija, nes į antrąjį trigerį neateina sinchronizavimo
1
impulsas. Kai C įvestyje yra loginio vieneto lygis, į D trigerį negalima įrašyti
informacijos, nes tuomet į pirmąjį trigerį neateina sinchronizavimo impulsas. Informaciją į
trigerį galima įrašyti tik sinchronizavimo impulso C priekinio fronto metu, nes leidimas
keisti būseną į antrąjį trigerį ateina anksčiau, negu ateina draudimas į pirmąjį trigerį. Taigi
antrasis trigeris jau valdomas, kai pirmasis dar valdomas (susidaro tiesioginis ryšys nuo
įvesties iki išvesties). Tuo metu, kai dinaminis trigeris perduoda signalą iš išvesties D į
įvestį Q, laiko tarpas yra labai trumpas. Jis lygus loginio elemento, invertuojančio
sinchronizavimo impulsą, vėlinimo trukmei ir sutampa su priekiniu sinchronizavimo
impulso frontu.
Kad dinaminis trigeris tinkamai veiktų, būtina tenkinti šias sąlygas:
- įvesties signalas turi būti nustatomas laiko tarpu t S anksčiau, nei pasirodys
teigiamas sinchronizavimo impulso frontas;
- įvesties signalas po sinchronizavimo impulso teigiamojo fronto turi būti
išlaikomas ne trumpiau kaip laiką t H .
C
Praktikoje dažnai naudojami „trijų trigerių“ dinaminiai trigeriai, kartais vadinami
šešių elementų trigeriais. Tokių trigerių loginė schema parodyta 3.71 pav.
S
&
Q
Q
E1
3.71 pav. „Trijų trigerių“ dinaminio SR trigerio funkcinė schema (a) ir grafinis
žymuo (b)
&
C
S
E2
R
C
Q
S Q
&
Q
R &
Q
3.74 pav. Vidinio vėlinimo JK trigerio funkcinė schema (a) ir jo laiko diagramos (b)
Šio trigerio darbą paaiškina laiko diagramos, kuriose vaizduojamas atvejis, kai
J = K =1 (skaičiavimo režimas). Pradiniu momentu Q = 0 . Trigerio darbui užtikrinti turi
būti tenkinama sąlyga ∆t > t IR + t ARBA −NE , kur ∆ t – pirmojo ir antrojo elementų vėlinimas
(vidinis vėlinimas), t IR - 2IR elementų vėlinimas, t ARBA −NE – 2ARBA-NE elementų
vėlinimas. Informacija į šį trigerį įrašoma neigiamu (krintančiu) sinchronizavimo impulso
C frontu.
Gaminami trigeriai ir jų panaudojimas
Trigeriams valdyti gali būti naudojami skirtingi signalai. Kartais gaminami trigeriai
su neloginėmis įvestimis (įžeminimo, maitinimo ar pagalbinėmis). Tokios įvestys
sankirtose su trigerio ženklu pažymimos žvaigždute (*) ar kitokiu simboliu. Sinchroniniai
a
trigeriai gali būti valdomi įvairiais signalais, ir tai parodoma grafiniame jų žymėjime.
Labiausiai paplitę trigerių grafiniai žymėjimai parodyti 3.75 pav.
&
J
T
3.75 pav. Galimi sinchroninių trigerių sinchronizavimo įvesčių žymėjimai
3.75 pav. parodyti laiko momentai, kuriais trigeriai yra aktyvūs, tai yra leidžia
priimti informaciją Sinchronizavimo impulsų diagramose tie laiko momentai pažymėta
juodai. Signalai trigerio išvestyse priklauso nuo to, kokie yra trigerio sinchronizavimo
C
signalai. Skirtingo tipo D trigerių išvesčių signalai parodyti 3.76 pav.
D T
Q1 D T
Q2 D Q
D3 4
D TT
Q Q5
T T
C C C C C
D
t
C
t
tiesioginis
Q1
t
Q2
t
Q3
statinis v
t
Q4
t
Q5
t
S
T
J
C
K
R
X
2) išvesties signalų aibę Y = { y1 ( t ) , y 2 ( t ) , , y k ( t )} ;
3) automato būsenų aibę A = { a1 ( t ) , a2 ( t ) , , a S ( t )} ;
4) pradinę automato būseną a0 ( t ) ∈ A ;
5) perėjimų funkciją δ( a, x ) ;
6) automato išvesčių funkciją λ( a, x ) .
Šis formalus loginės schemos matematinis modelis, dažnai vadinamas abstrakčiuoju
automatu. Įvesties signalai įgyja logines reikšmes, ir juos vadinsime įvesties kintamaisiais
x. Analogiškai išvesties signalus vadinsime išvesties kintamaisiais y, o schemos būseną
nusakys vidiniai kintamieji a.
Kiekvienu laiko momentu automatas gali priimti įvesties signalus X(t) – įvesties
žodį ir išduoti išvesties signalus Y(t) – išvesties žodį.
Naudojami dviejų modelių automatų: Milio (G.H. Mely) ir Muro (E.F. Moore).
Muro automatas aprašomas lygtimis
a( t + 1) = δ ( a( t ) , x( t ) ) ,
y( t ) = λ ( a( t ) ) . (3.93)
Muro automato išvesties signalai priklauso tik nuo jo būsenų ir nepriklauso nuo
įvesties signalų.
Milio automatas aprašomas lygtimis
a( t + 1) = δ ( a( t ) , x( t ) ) ,
y ( t ) = λ ( a( t ) , x( t ) ) . (3.94)
Šio automato, skirtingai nuo Muro automato, išvesties signalai priklauso ir nuo jo
būsenų, ir nuo įvesties signalų.
Automatus galima aprašyti lentelėmis arba grafais. Milio automatą galima aprašyti
perėjimų ir išvesčių lentelėmis. Tokio aprašymo pavyzdys pateiktas 3.25 lentelėje.
3.25 lentelė. Milio automato perėjimai (a), išvestys (b) bei dalinio automato išvestys
(c)
a) a = δ ( a, x ) b) y = λ( a, x ) c) y = x( a, x )
a1 a2 a3 a4 a1 a2 a3 a4 a1 a2 a3 a4
x1 a4 a3 a2 a1 x1 y1 y2 y3 y4 x1 y2 y1 y3 -
x2 a1 a4 a3 a2 x2 y4 y1 y2 y3 x2 - y3 y1 -
x3 a2 a1 a4 a3 x3 y3 y4 y1 y2 x3 y1 - y4 y4
Automatas vadinamas pilnuoju automatu, jei sudaromi visi galimi perėjimai ir visų
būsenų išvesčių reikšmės yra apibrėžtos, priešingu atveju – daliniu. Dalinio automato
lentelės langeliuose, atitinkančiuose neapibrėžtas būsenas arba išvestis, rašomas brūkšnys.
Automato grafas – tai orientuotas ryšio grafas, kurio viršūnes atitinka būsenos, o
lankai –perėjimus tarp būsenų. Milio automato grafe prie lanko nurodomos ir išvestys.
3.25 lentelėje (a), (b) pateikto Milio automato grafą, kuris parodytas 3.79 pav.,
sudaro keturios viršūnės ir lankai, prie kurių nurodyta perėjimo sąlyga (x) ir išvesties
reikšmė (y).
y1 y2 y3
a1 a2 a3
x1 a3 a2 a1
x2 a1 a3 a2
x3 a2 a1 a3
Muro automatas taip pat gali būti pilnasis arba dalinis. Šio automato grafo, kuris
parodytas 3.80 pav., viršūnėse pažymima būsena ir išvesties signalai.
x2
a1 y1
x1 x3
x1 x3
x2
a3 y3 a2 y 2
x2
x3
x1
Pasinaudoję šia ir 3.27 lentelėmis, sudarome tris klases: C1, C2 ir C3. Atlikę antrąjį
grupavimą, gausime tokią lentelę:
Gausime naują automatą, turintį būsenas C1, C2 ir C3. Jas pažymėsime būsenomis iš
pradinio automato, tai yra a1, a4, a5, išbraukę būsenas a2, a3 ir a6. Gausime ekvivalentinį
automatą, aprašomą 3.30 lentele.
3.30 lentelė. Ekvivalentinio Milio automato perėjimai ir išvestys
a1 a4 a5 a1 a4 a5
x1 a4 a4 a5 x1 y1 y1 y1
x2 a5 a5 a1 x2 y1 y2 y1
x2 /y1
x1 /y1
a6 a1
x2/y1
x2 /y2 x1/y1
x1 /y1
x2 /y1
a5 a2
x2 /y2
x1 /y1
a3 x1/y1
a4 x1 /y1
x2 /y2
a1 x2 /y1
x1 /y1
x1 /y1 x2 /y1
a4
a5 x1/y1
x2 /y2
a1
y1
a1 a4 a5′ a5
a5
y1 a4
y1
a5 a5′ a1 a1
a′5
y2
x2
3.83 pav. Muro automato grafas (a) ir jo pažymėta perėjimų lentelė (b)
x1
struktūrinėmis schemomis). Mikropramų grafą sudaro išvesčių blokeliai (Muro automate
kartu ir būsenų) ir sprendimo priėmimo blokeliai (rombai). Vaizduojant (aprašant)
algoritmus įprasta parodyti veikimo pradžią ir pabaigą (įjungtas/išjungtas maitinimas,
paleidimo/stabdymo signalas ar kt.). Mikroprogramos grafe nurodoma pradžia, iš kurios
pereinama į automato pradinę būseną, o grįžimas į pradinę būseną nurodomas pabaiga.
Anksčiau nagrinėtų Milio ir Muro automatų mikroprogramų grafai parodyti 3.84 pav.
'
a5
1
pabaiga ir pradžia sutampa, tai yra automatas pereina į pradinę būseną ir tęsia darbą.
Nuosekliųjų schemų projektavimas
Projektuojant ir analizuojant sudėtingas logines schemas, būtina naudoti
formaliąsias loginių schemų analizės ir projektavimo priemones, kurios remiasi automatų
teorija. Kadangi dažniausiai projektuojamos sinchroninės schemos, kalbėsime apie
sinchroninius automatus. Baigtinio automato techninė realizacija, pateikta struktūrinės
schemos pavidalu, atsižvelgiant į automato įvesties ir išvesties signalų struktūrą bei
automato vidinę sąrangą, vadinama struktūriniu ar mikroprograminiu automatu.
Mikroprograminio automato įvesties ir išvesties signalai gali būti pakeisti juos koduojant
(pasikeičia signalų skaičius).
y1
Milio ir Muro tipo baigtinių automatų struktūros skiriasi. Milio automato išvesties
signalai priklauso ne tik nuo automato būsenos, bet ir nuo įvesties signalų tuo momentu.
Tai atsispindi ir jo struktūroje, kuri parodyta 3.85 pav.
Pirminės 3.85 pav. Milio automato struktūra
įvestys
Automato struktūroje matome dvi kombinacines schemas. Pirmoji schema (KS1)
suformuoja atminties elementų (vėliau juos vadinsime trigeriais, nes atminties elementams
dažniausiai naudojami trigeriai) sužadinimo signalus U. Antroji (KS2) suformuoja
išvesties signalus Y. Atminties elementai lemia automato būseną, todėl dažnai jų rinkinys
vadinamas būsenos registru.
X
Muro automato struktūra, pavaizduota 3.86 pav., panaši į Milio automato struktūrą.
Čia išvesties signalus formuoja (KS2) tik atminties elementų išvesties signalai (automato
būsenos).
Pirminės
įvestys
X
3.86 pav. Muro automato struktūra
KS1:
schemą KS2, formuojančią išvesties signalus; atminties elementus (būsenos registrus),
lemiančius baigtinio elemento būseną tuo momentu; grįžtamojo ryšio grandines,
nustatančias automato būsenų kaitos seką.
Kai kurie automatai neturi informacinių įvesčių. Tai autonominiai automatai, kurie,
triger
veikiami sinchronizavimo impulsų pereina iš vienos būsenos į kitą pagal algoritmą,
apibrėžtą automato struktūra. Tokių automatų pavyzdys yra skaitikliai.
Yra tokie nuosekliųjų loginių schemų (mikroprograminių automatų) projektavimo
Antrinės
etapai:
- pradinių funkcionavimo duomenų pateikimas;
sužad
- pateikto funkcionavimo formalizavimas;
- būsenų minimizavimas ir kodavimas;
- perėjimų lentelės sudarymas;
- trigerių (atminties elementų) tipo parinkimas, jų sužadinimo ir išvesčių signalų
funkcijų sudarymas;
- trigerių sužadinimo ir išvesčių signalų funkcijų minimizavimas;
- elementinės bazės parinkimas schemotechniniam sprendimui įgyvendinti;
- loginės schemos sudarymas;
- automato išvesčių signalų vėlinimo patikrinimas.
Pradiniai duomenys pateikiami įvairia forma, kad ir žodžiais. Po to pradiniai
duomenys formalizuojami, tai yra sudaromos lentelės formulės, duomenų diagramos ir t. t.
Minimizavus automato būsenas ir jas užkodavus, gaunama perėjimų lentelė. Pasinaudojus
perėjimų lentele, sudaromos trigerių sužadinimo ir išvesčių signalų formavimo funkcijos.
Būsenos dažniausiai koduojamos dvejetainiu kodu. Taip ekonomiškiau automate
panaudojami trigeriai. Tada pakanka panaudoti n > log 2 S trigerių, kur S – projektuojamo
automato būsenų skaičius. Šiuolaikinėse didelės integracijos schemose (DIS) nesunku
sudaryti daug trigerių. Todėl ekonomija nebūtina ir kartais būsenos koduojamos
poziciniais kodais „1 iš S“, tai yra kiekvienai būsenai skiriamas atskiras trigeris. Taip
pasiekiama didesnė projektuojamos schemos veikimo sparta.
Trigerių sužadinimo funkcijos nustato automato perėjimo iš vienos būsenos į kitą
tvarką. Priklausomai nuo sužadinimo funkcijai vykdyti parinktų elementų jų išraiškos
formos gali skirtis.
Panagrinėkime nuosekliųjų schemų (mikroprograminių automatų) projektavimą
detaliau. Mikroprograminio automato veikimas pateiktas grafu, parodytu 3.87 pav.
a1 x1
y2
x1 x1 x2
x1 x 3 y1 y1 y 2
a3 x1 x2
y2 a2
x3 y1 y 2
y3
−
y 3 a4 x1 x 3
y3
B a1
x1
3.88 pav. Milio automato mikroprogramos grafas
1
Pasinaudojus mikroprogramos grafu (automato veikimo grafu), sudaryta perėjimų
lentelė (3.31 lentelė), kurioje nurodoma esama būsena, įvesties signalai (rinkinys),
išvesties signalai, kita būsena ir trigerių sužadinimo signalai.
Keturioms Milio automato būsenoms vaizduoti panaudosime du sinchroninius D
trigerius. Būsenas koduosime taip: a1 – 00, a2 – 01, a3 – 10, a4 – 11.
y1
1 0 1 0 a4 1 1 1 1
1 1 1 1 0 a3 1 0 1 0
a2 0 1 0 0 1 a4 1 1 1 1
1
a3 1 0 0 0 1 a4 1 1 1 1
0
1 1 1 1 0 a3 1 0 1 0
0 0 1 0 a1 0 0 0 0
a2
0
a4 1 1 0 1 0 a0 0 0 0 0
0
Pasinaudoję 2.30 lentele, gausime trigerių sužadinimo (D) ir išvesties (y) signalų
funkcijas:
( ) (
D0 = a1 x 1 + x 3 + a 2 + a 3 x1 x 2 = Q 1 Q 0 x 1 + x 3 + Q 1Q0 + Q1 Q 0 x1 x 2 ;)
D1 = a1 ( x 3 + x1 x 2 ) + a 2 + a 3 x1 = Q 1 Q 0 ( x1 + x 3 ) + Q 1Q0 + Q1 Q 0 x1 ;
( ) (
y1 = a1 x 1 + x1 x 2 + a 3 x1 x 2 = Q 1 Q 0 x 1 + x 2 + Q1 Q 0 x1 x 2 ; ) (3.96)
( )
y 2 = a1 ( x 3 + x1 x 2 ) + a 3 x1 x 2 + x 1 + a 4 x 1 x 3 = Q 1 Q 0 ( x 3 + x1 x 2 ) + Q1 Q 0 x 1 x 3 ;
( )
y 3 = a 2 + a 3 x1 x 2 = Q 1Q 0 x 1 + x 2 + Q1 Q 0 x1 x 2 .
3
2 5
a1 &
D Q10 4 & 1 8
T 6
2 D0
9 1 1
C Q0 1
a2 2
& 1 &
4
5
3 9 1
& a3 3 1 &
2
D1
3 9 1
D T 3 &
1
Q14 3 & a4 4 2
C
C 6
Q1 7 1
1 & y1
3 1
5
7
&
1
x1 5
5
6 7 &
1 9 1
1 &
x2 7
x1 6 1
8 y2
1 3 & 1
6
x3 9 &
8
x2 10
5
1 8 &
3 y3
2 1
x3
xp xp
− yk
− yl
3.90 pav. Milio automato papildomų sąlygų fragmento panaudojimas grafe (a)
ir atitinkamos sąlygos mikroprogramos grafe (b)
Šios problemos nėra naudojant Muro automatą, nes jo išvesties signalai atitinka
būseną. Todėl Muro automatai labai plačiai naudojami, nors dažnai jie būna pertekliniai.
Nagrinėtam Milio automatui (3.87 pav.) sudarome ekvivalentišką Muro automatą, kurio
grafas parodytas 3.91 pav.
x1 a1
a2
y1
x1 , x2
x3 a4
y1 , y 2 x1 , x2
a3 x1 , x3
y3
x1 x3
x1
a5
y2
a3 0 1 1 0 X 1 X X 0
1
a2 0 1 0 1 0 0 a3 0 1 1 0 X X 0 X 1
0
a3 0 1 1 0 0 1 a5 1 0 1 1 X X 1 X 0
0
a4 1 0 0 0 0 1 0 a5 1 0 1 X 0 0 X 1 X
1
a3 0 1 1 X 1 1 X 1 X
0
1 1 a4 1 0 0 X 0 0 X 0 X
a5 1 0 1 a1 0 0 1 X 1 0 X X 0
( ) (
K 0 = a1 x 1 + x 2 + a 2 + a 4 x 1 + x 2 );
(
J 0 = a4 x1 + x 2 );
( )
K 1 = J 1 = a1 x 1 + x 3 + a 3 x 3 + a 4 x1 x 2 ;
K 2 = a5 ; (3.97)
J 2 = a1 x1 x 2 + a 3 ;
y1 = a1 + a 2 + a 4 ;
y 2 = a 4 + a5 ;
y 3 = a3 .
Muro automato loginė schema parodyta 3.92 pav. Kuriant automatą panaudotas
dvejetainis dešifratorius „iš 3 į 8“.
J Q00 0
T 1
C a1 8 J0
DC 1
K 10 1
a2 2
2 4 &
a3 3
3 8
1
J a4 4 9 1
T
C Q1 4 1 & 1 K0
a5 5
K 5 2
a6 6
6 8
J 11 1
C T 2 7
C 1 &
Q2 J1 K 1
K 3 1
12 &
4
7
10
&
x1 7
1
7 &
8
9 J2
1 3 1
5 K2
x2 9 1
x1 10
2
& y1
4
1
4
5 1 y2
x3 11
3
12 y3
1 x2
x3
Kombinacinėse schemose signalų keliai nuo įvesties iki išvesties gali būti skirtingi,
todėl, projektuojant sinchronizavimo sistemą, būtina atsižvelgti į skirtingus signalų
vėlinimus kombinacinėse schemose. Sinchronizavimo impulsai parodyti 3.94 pav. Jų
periodo ilgis priklauso nuo paties sinchronizavimo impulso ilgio ir pauzės tarp impulsų.
{
max tv01 , tv10 }
tH ∆t t tKS max t
S
ti tp
T
Impulso trukmė t i turi būti pakankama, kad informacija būtų patikimai įrašyta. Ji
priklauso nuo naudojamų trigerių parametro t H , pateikiamo naudojamų trigerių
techniniuose aprašymuose. Taigi, būtina įvykdyti sąlygą
ti ≥ t H . (3.98)
Trigeris pereis į naują būseną, praėjus laikui t v10 arba t v01 , kuris dažniausiai yra
ilgesnis už t H . Kadangi darbo metu trigeriai pereis tiek iš vienetinės būsenos į nulinę, tiek
atvirkščiai, skaičiuojant sinchronizavimo impulsų trukmę, reikia atsižvelgti į didžiausią iš
tų reikšmių max {tv01 , tv10 } . Šį skirtumą max {t v01 , t v10 } − t H pažymėkime ∆t t . Pasikeitus trigerio
būsenai kombinacinėje schemoje formuojami nauji signalai, kurie, praėjus maksimaliai
kombinacinės schemos vėlinimo trukmei t KS max , patenka į atminties elementų įvestis. Ši
nauja informacija turi nesikeist parengties laiką t S prieš duodant sinchronizavimo
impulsą. Taigi sinchronizavimo signalo pauzės trukmė t p turi tenkinti sąlygą:
t p ≥ ∆tt + t KS max + t S
. (3.99)
t i1 tp1
C1
t i2 t p2
C2
Kontroliniai klausimai
Bulio algebra
1. Kas yra Bulio algebra ir elementų baigtinė aibė?
2. Kas tai yra loginiai kintamieji?
3. Kas yra Bulio funkcijos?
4. Kokios yra pagrindinės Bulio algebros aksiomos ir teoremos?
5. Kaip vaizduojamos Bulio funkcijos?
6. Kam naudojamos Bulio funkcijų teisingumo lentelės ir analitinės išraiškos?
7. Kam naudojamos Karno (Veičo) diagramos?
8. Kodėl minimizuojamos Bulio funkcijos?
9. Kokią prasmę turi pirminės ir esminės implikantės?
Loginiai elementai
6. Kas yra loginis elementas?
7. Kokios yra loginių elementų žymėjimo sistemos?
8. Impulsinio signalo prasmė?
9. Potencialinio signalo prasmė?
10. Kokie yra statiniai loginių elementų parametrai?
11. Kaip nustatoma loginių elementų maksimali apkrova?
12. Kaip nustatomi loginių elementų dinaminiai parametrai?
Loginės schemos: