bulio algebra ir log elementa

170
Skaitmeninė logika Būlio algebra ir loginės schemos Pranas Kanapeckas Pagrindinės Būlio algebros sąvokos. Būlio algebra – tai algebra ( B, ·, + , ¯ , 0 , 1), kuri sudaro aibė B (turinti mažiausiai du elementus 0 ir 1), kurioj apibrėžtos tokios trys operacijos: IR operacija · (Būlio daugyb arba konjunkcija), ARBA operacija + (Būlio sudėtis arb disjunkcija), ir NE operacija ¯ (neigimas arba inversija). Būlio (loginiu) kintamuoju vadiname dydį x , kuris gali įgyt tik dvi reikšmes: 0 ir 1. Būlio (logine) funkcija vadiname funkciją, kurios argumenta yra Būlio kintamieji ir kuri įgyja dvi reikšmes: 0 ir 1. Kadangi funkcijos reikšmė prie kiekvieno kintamųjų rinkini gali įgyti tik 0 arba 1 ir n kintamųjų skirtingų rinkini skaičius yra , tai skirtingų funkcijų skaičius N yra lygus . Vieno kintamojo Būlio funkcijos pateiktos 1.1 lentelėje. 1.1 lentelė x 0 1 0 0 0 1 1 0 1 1 Funkcija su visomis kintamųjų reikšmių kombinacijomis lygi nuliui, o funkcija - vienetui: Todėl šios funkcijos vadinamos išsigimusiomis. Funkcijos reikšmės sutampa su kintamojo reikšmėmis:

Upload: dovydas-cerkus

Post on 03-Apr-2015

1.231 views

Category:

Documents


2 download

TRANSCRIPT

Skaitmeninė logikaBūlio algebra ir loginės schemos

Pranas Kanapeckas

Pagrindinės Būlio algebros sąvokos.

Būlio algebra – tai algebra ( B, ·, + , ¯ , 0 , 1), kurią sudaro aibė B (turinti mažiausiai du elementus 0 ir 1), kurioje apibrėžtos tokios trys operacijos: IR operacija · (Būlio daugyba arba konjunkcija), ARBA operacija + (Būlio sudėtis arba disjunkcija), ir NE operacija ¯ (neigimas 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 kuri

į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 , tai skirtingų funkcijų skaičius N yra lygus.

Vieno kintamojo Būlio funkcijos pateiktos 1.1 lentelėje.

1.1 lentelė

x 0 1

0 0

0 1

1 0

1 1

Funkcija su visomis kintamųjų reikšmių kombinacijomis lygi nuliui, o funkcija vienetui:

Todėl šios funkcijos vadinamos išsigimusiomis.Funkcijos reikšmės sutampa su kintamojo reikšmėmis:

Funkcija įgyja kintamojo reikšmėms priešingas reikšmes, todėl vadinama inversija arba neigimu:

Literatūroje galima aptikti įvairius pagrindinių Būlio funkcijų žymėjimus.Būlio daugyba arba konjunkcija žymima ženklais ·, , &, pavyzdžiui, x·y, , x&y.Būlio algebroje daugybos ženklas dažniausiai praleidžiamas (rašoma xy).Būlio sudėtis arba disjunkcija žymima ženklais + ir , pavyzdžiui, x+y, . Ženklą + vartoti galima tik tuomet, kai tuo pačiu metu nėra kalbama apie aritmetinės ir

loginės sudėties operacijas. Inversijai žymėti naudojami ženklai ¯ ir ¬, pavyzdžiui, , ¬x.Šios trys pagrindinės operacijos aprašytos 1.2 - 1.4 lentelėse.

1.2 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

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ė

Funkcija x1 x2 Funkcijos žymėjimas

Funkcijos pavadinimas00 01 10 11

f0 0 0 0 0 0 Konstanta 0 f1 0 0 0 1 x1x2 Konjunkcija f2 0 0 1 0 x1∆x2 Draudimas f3 0 0 1 1 x1 Kintamasis x1

f4 0 1 0 0 x2∆x1 Draudimas f5 0 1 0 1 x2 Kintamasis x2

f6 0 1 1 0 x1 ∆x2 Sudėtis moduliu 2 f7 0 1 1 1 x1+x2 Disjunkcija f8 1 0 0 0 x1 ↓ x2 Pirso funkcija f9 1 0 0 1 x1 ≡ x2 Ekvivalentiškumas f10 1 0 1 0 Inversija x2

f11 1 0 1 1 x2 → x1 implikacija f12 1 1 0 0 Inversija x1

f13 1 1 0 1 x1 → x2 Implikacija f14 1 1 1 0 x1 | x2 Šeferio funkcija

f15 1 1 1 1 1 Konstanta 1

Pagrindiniai Būlio algebros dėsniai.

Žemiau pateiktos pagrindinių Būlio algebros dėsnių išraiškos poromis, nes Būlio algebroje veikia dualumo dėsnis, pagal kurį jas galima gauti vieną iš kitos. Šis dėsnis teigia: išraiškoje pakeitus disjunkciją konjunkcija, konjunkciją – disjunkcija, vienetą – nuliu, nulį – vienetu ir skliaustais išlaikius tą pačią veiksmų tvarką, bus gauta išraiška, vadinama dualiaDualumas reiškia, kad jei teisinga kokia nors išraiška, jai duali išraiška taip pat bus teisinga.

Pagrindiniai Būlio algebros dėsniai yra šie:

1a) x · x = x1b) x + x = x

2a) x · y = y · x – komutatyvumas2b) x + y = y + x

3a) x · (y · z) = (x · y) · z – asociatyvumas3b) x + (y + z) = (x + y) + z

4a) x · (y + z) = (x y) + x z4b) x + y ·z = (x + y) · (x + z) – distributyvumas

5a) x · 1 =1 · x = x5b) x + 0 =0 + x = x5c) x + 1 =1 + x = 15d) x · 0 =0 · x = 0

6a) x · = 06b) x + = 1

7) = x

8a) x + xy =x8b) x · (x+y) =x

9a) x + y =x+y9b) x ( +y) =xy

10a) = – De Morgano dėsnis10b) = +

De Morgano dėsnis tinka bet kokiam kintamųjų skičiui.

= · · …· = + +··· + .

11a) xy+ y = y11b) (x + y) · ( + y) = y

12) Skleidimo teorema (kartais vadinama Šenono skleidimo teorema): .

Pilnoji funkcijų sistema

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 inversijaBazei sudaryti pakanka ir vienos (vadinamos universalia) ARBA-NE (Pirso) arba

IR-NE (Šeferio) funkcijos.

Loginių elementų žymėjimas

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.

1.13 lentelė. Loginiai elementai

Elemento grafinis žymuoOperacija Paaiškinimas

TEK MILSPEC

Konjunkcija

Disjunkcija

Elemento grafinis žymuoOperacija Paaiškinimas

TEK MILSPEC

Inversija

Šeferio funkcija

Pirso funkcija

Suma moduliu 2

Ekvivalentiškumas

Lentelėje pateikti dviejų dažniausiai naudojamų dviejų sistemų (TEK, kuri rekomenduota tarptautinės elektrotechnikos komisijos ir MILSPEC, kuri naudojama Jungtinėse Amerikos Valstijose).loginių elementų grafiniai žymėjimai.

Potencialiniai ir impulsiniai loginiai elementai

Loginiai elementai (LE) klasifikuojami į potencialinius, impulsinius ir dinaminius. Laiko tarpas (ž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 automatinio laiko momentais .Realaus signalo trukmė negali būti trumpesnė nei

(žiūr. pav. 1.1 d). Impulsinio signalo pavyzdys pateiktas 1.11 pav.

1.11 pav. Realus impulsinis signalas a) ir idealizuotas jo vaizdavimas b) ir c)

Potencialinio signalo vienetinė reikšmė gali būti laiko intervale ne trumpesniame kaip takto ilgis. Jeigu potencialinio signalo persijungimo momentai sutapatinti su automatinio laiko momentais , tai potencialinio signalo ilgis gaunasi kartotinas diskretiškumo intervalui : Potencialinio signalo pavyzdys pateiktas 1.12 pav.

1.12 pav. Realus potencialinis signalas a) ir idealizuotas jo vaizdavimas

Potencialiniuose elementuose loginio signalo reikšmę (loginis nulis ar loginis vienetas) atitinka elektrinio signalo įtampos aukštas ( ) arba žemas ( ) lygis loginio elemento išvestyje.

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.

Loginių elementų parametrai

Loginių elementų statinės charakteristikos ir parametrai

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.

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 , kur Uin – loginio elemento įvesties įtampa, o Uiš – išvesties

įtampa. Statinė perdavimo charakteristika pateikta 1.14 pav.a.

1.15 pav. Invertuojančio loginio ekemento perdavimo charakteristika a) ir perdavimo charakteristikos juosta b)

Perdavimo charakteristikos taškai A0 ir A

1 atitinka loginio vieneto U

1 ir loginio nulio

U0 lygiams loginio elemento išvestyse. Perdavimo charakteristikos ir tiesės, jungiančios

taškus A0 ir A

1 susikirtime gaunamas nestabilus darbo taškas, kuriame schemos stiprinimo

koeficientas

. (1.39)

Slenkstinius taškus ir atitinka slenkstinės įėjimo įtampos ir . Įėjimo

įtampų zona vadinama elemento aktyviąja (loginiams

elementams nenusakoma) zona, kurioje . Slenkstiniuose taškuose ir loginio

elemento stiprinimo koeficientas . Taigi loginių elementų išvestyse turi būti

išpildomos sąlygos:

ir . (1.40)

Naudojantis loginio elemento perdavimo charakteristikomis galima nustatyti tokius

statinius loginio elemento parametrus:

loginio signalo amplitudę UAU1-U0; loginio elemento atsparumas trikdžiams , kai įvestyje yra

loginis nulis (tai toks maksimalus trikdžio įtampos dydis, kuriam esant,

elementas dirba teisingai); loginio elemento atsparumas trikdžiams , kai įvesties įtampa

atitinka loginį vienetą.

Atsparumo trikdžiams suma Taigi, kuo mažesnis elemento

aktyviosios zonos plotis UAZ , tuo schema atsparesnė trikdžiams. Norint pasiekti didesnį

atsparumą trikdžiams reikia siekti, kad perjungimo slenksčiai ir būtų kiek galima

arčiau reikšmės .

Efektyvi atsparumo trikdžiams didinimo priemonė yra loginių elementų, kurių

perdavimo charakteristika turi histerezę, panaudojimas. Toks elementas pavaizduotas 1.16

pav.

1.16 pav. Loginio elemento su histereze žymėjimas a) ir jo perdavimo charakteristika

Šiuo atveju ir , kur – histerezės kilpos plotis.

Keičiant loginio elemento darbo sąlygas, keičiasi LE perdavimo charakteristikos.

Jas atvaizdavus viename grafike, gaunama perdavimo charakteristikos juosta (1.16 pav.,

b), iš kurios nustatomi statiniai parametrai, paprastai pateikiami nelygybėmis:

, , , , .

Loginių elementų įėjimo charakteristikos leidžia nustatyti loginių

elementų įvesčių sroves. Paprastai (tai yra srovė išteka iš elemento įvesties), kai

įvestyje yra loginio nulio įtampa ir (t. y. srovė įteka į elemento įvestį), kai įvestyje

yra loginio vieneto įtampa.

Loginių elementų išvesčių srovių priklausomybę nuo apkrovos galima nustatyti

naudojantis išėjimo charakteristikomis. Skirtingai nuo perdavimo ir įėjimo charakteristikų

yra dvi išėjimo charakteristikos: , kai išvestyje yra loginis nulis, ir , kai

išvestyje yra loginis vienetas. Kai loginio elemento išvestis sujungta tik su kitų elementų

įvestimis, įtekanti srovė ir ištekanti srovė priklauso nuo prie išvesties

prijungtų loginių elementų įvesčių kiekio n. Loginių elementų išėjimo charakteristikos

pateiktos 1.17 pav.

1.17 pav. Loginio elemento išėjimo charakteristikos

Išėjimo charakteristikų nuolydis priklauso nuo loginio elemento išvesties varžos,

kuri dažniausiai yra netiesinė. Naudojantis išėjimo charakteristika nustatomos

maksimalios leidžiamos srovės ir , prie kurių loginių elementų išvestyse bus

loginiai lygiai ir , o taip pat maksimalų apkrovimą n. Naudojant vienodus

parametrus turinčius elementus santykiai ir parodys maksimalų loginio

elemento apkrovimą, prie kurio lygiai loginio elemento išvestyje tenkina sąlygas:

ir . Prie loginio elemento išvesties galima prijungti ne daugiau kaip n

elementų (literatūroje n dar vadinamas išvesties išsišakojimo koeficientu), kur:

. (1.41)

Labai svarbus statinis loginių elementų parametras yra jų sunaudojamas galingumas.

Vidutinė loginių elementų vartojamoji galia:

, (1.42)

kur – loginio elemento maitinimo įtampa, ir – iš maitinimo šaltinio tekanti srovė, kai įėjimo įtampa atitinka loginį nulį ir loginį vienetą.

Loginių elementų suvartojamąją galią galima sumažinti naudojant mažesnę maitinimo įtampą (kas ir daroma procesoriuose), tačiau tuomet keičiasi ir loginiai lygiai, o tuo pačiu mažėja ir atsparumas trikdžiams. Maitinimo įtampos reikšmė turi atitikti loginių elementų maitinimo įtampų standartą (standartinės įtampos – 1,2V, 1,6V, 2,0V, 2,4V, 3,0V, 4,0V, 5,0V, 6,0V, 9,0V, 12,6V, 27V).

Perjungiant loginius elementus iš vienos būsenos į kitą srovė maitinimo grandinėje

žymiai padidėja. Todėl loginiai elementai suvartoja papildomą dinaminę galią Pd, kurios

dydis proporcingas perjungimo dažniui f. Loginio elemento suvartojama galia P

perjungimo režime bus:

, (1.43)

kuri yra didesnė už galią , kurią loginis elementas suvartoja statiniame režime.

Dažniausiai žinynuose pateikiama loginių elementų suvartojama galia, kai jis dirba

maksimaliu jam leistinu perjungimo dažniu .

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.

1.18 pav. Invertuojančio loginio elemento perinamųjų procesų laiko diagramos

Šiame pavyzdyje parodyti pagrindiniai dinaminiai parametrai. Perjungimo laikai

ir nusako kaip greitai loginis elementas pereina iš būsenos, atitinkančios loginį vienetą,

į būseną, atitinkančią loginį nulį ir atvirkščiai. Šiems laikams nustatyti naudojami 0,1 ir

0,9 amplitudžių įvesties ir išvesties signalų lygiai, kaip parodyta 1.18 pav. Reikia

pažymėti, kad nustatant perėjimo laikus SEL šeimos elementams naudojami 0,2 ir 0,8

amplitudžių lygiai. Vėlinimo laikams ir nustatyti naudojami 0,5 įvesties bei išvesties

įtampų amplitudžių lygiai.

Praktikoje loginių elementų veikimo sparta apibūdinama vidutiniu signalo

loginiame elemente vėlinimo laiku , kur ir – laiko intervalai, kai įtampa

išvestyje atitinkamai kinta nuo loginio 0 iki loginio 1 ir atvirkščiai.

Vėlinimo laikai ir labai priklauso nuo apkrovos (kiek loginių elementų įvesčių

n prijungta prie loginio elemento išvesties) ir apkrovos talpos (parazitinės montažo

talpos). Didėjant ir didėja ir loginio elemento sparta, nes greičiau užsikrauna

parazitinės talpos. Daugeliui schemų galioja priklausomybė , todėl dažnai

naudojamas loginių elementų parametras, vadinamas perjungimo darbu:

. (1.44)

Šis parametras yra pastovus keičiantis perjungimo dažniui f ir charakterizuoja

schemotechninio ir loginio projektavimo lygį. Perjungimo darbas kiekvienais metais

mažėja ir dabar yra 10-12

-10-15

J (džiaulio). Puslaidininkinėms schemoms teorinė riba

J. Kartais dar naudojamas atvirkštinis dydis – loginio elemento kokybė .

Perjungimo darbo ir loginio elemento vėlinimo priklausomybė nuo suvartojamos galios

pateikti 1.19 pav.

1.19 pav. Loginių elementų vėlinimo ir perjungimo darbo priklausomybė nuo suvartojamo galingumo

Praktiškai visi loginių elementų parametrai priklauso nuo temperatūros. Paprastai

didėjant temperatūrai loginių elementų parametrai blogėja. Puslaidininkinės schemos gali

dirbti nuo -60˚C iki +125˚C, tačiau daugumos loginių elementų, skirtų naudoti ne

pramoninėje aparatūroje, darbo temperatūrų diapazonas apribotas nuo -10˚C iki +70˚C.

Būlio funkcijų vaizdavimas.

Žinoma daug funkcijos vaizdavimo būdų. Panagrinėsime kai kuriuos iš jų.

Funkcijos teisingumo lentelė.

n kintamųjų Būlio funkcijos apibrėžimo sritimi yra visos galimos kintamųjų reikšmių kombinacijos. Funkcijos teisingumo lentelėje kiekvienai kintamųjų reikšmių kombinacijai 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ę 1 kintamųjų reikšmių kombinacijose, kuriose vienetų skaičius yra nelyginis.

Sprendimas pateiktas 3.1 lentelėje, kurioje išvardytos visos kintamųjų reikšmių kombinacijos.

3.1. lentelė

x1 x2 x3 f(x1, x2, x3)

0 0 0 0

0 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

Šis vaizdavimo būdas yra vaizdus, tačiau kai n > 6, teisingumo lentelė yra sunkiai 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 funkcija lygi 0). Duoto pavyzdžio sumažinta lentelė tokia:

3.2. lentelė

x1 x2 x3 f(x1, x2, x3)

0 0 1 10 1 0 11 0 0 11 1 1 1

Normalinės formos.

Normaliąja forma vadinama standartinio pavidalo išraiška. Pateiksime keletą sąvokų.Kintamąjį arba jo inversiją apibendrintai vadinsime raide. Raidė žymima ženklu ~ virš

kintamojo arba simboliu e. Pavyzdžiui, , . Antruoju atveju priimta, kad , jei ir

, jei .Konjunkcija vadinama elementaria, jei ją sudaro nepasikartojančios raidės.Elementarių konjunkcijų pavyzdžiai:

, , .

Disfunktyvine normaline forma (DNF) vadinama nepasikartojančių elementarių konjunkcijų disjunkcija.

Funkcijos, užrašytos DNF, pavyzdys.

+ .

Elementari konjunkcija, kurią sudaro visos raidės, nuo kurių priklauso funkcija, vadinama mintermu ir žymima :

,

Indeksas i rodo kintamųjų rinkinio numerį ir gali būti išreikštas taip:

Pavyzdys 3.2. Tegul turime keturių kintamųjų funkcijos mintermą

.

Kadangi šiame minterme , tai e1 = 0, , tai e2 = 1, , tai e3 = 0, , tai e4 = 1.Mintermo indeksas i:

i = 0*23 + 1*22 + 0*21 + 1*20 = 5.Todėl mintermas = m5.

Disjunktyvinė normalinė forma vadinama tobula (TDNF), jei ją sudarančios elementarios konjunkcijos yra mintermai.

Trijų kintamųjų funkcijos, užrašytos TDNF, pavyzdys:

+.

Disjunkcija vadinama elementaria, jei ją sudaro nepasikartojančios raidės.Elementarių disjunkcijų pavyzdžiai:

; ; .

Konjunktyvine normaline forma (KNF) vadinama nepasikartojančių elementarių disjunkcijų konjunkcija.

Funkcijos, užrašytos KNF, pavyzdys.

.

Elementari dizjunkcija, kurią sudaro visos raidės, nuo kurių priklauso funkcija, vadinama makstermu ir žymima :

,

Pavyzdys 3.3. Tegul turime keturių kintamųjų funkcijos makstermą.

Kadangi šiame maksterme , tai e1 = 1, , tai e2 = 0, , tai e3 = 1, , tai e4 = 0.Makstermo indeksas i:

i = 1*23 + 0*22 + 1*21 + 0*20 = 10.

Todėl makstermas = M10.

Konjunktyvinė normalinė forma vadinama tobula (TKNF), jei ją sudarančios elementarios disjunkcijos yra makstermai.

Trijų kintamųjų funkcijos, užrašytos TKNF, pavyzdys:

Pagal mintermo ir makstermo apibrėžimus galime užrašyti:

;, jei i ≠ j;.

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ą.

Pavyzdys 3.4. Funkciją, pavaizduotą teisingumo lentele, parašyti TDNF ir TKNF.

x1 x2 x3 f(x1, x2, x3)

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 01 1 0 11 1 1 1

Iš lentelės matome, kad funkcija lygi vienetui prie rinkinių (001), (100), (110), (111), todėl funkcija TDNF atrodo taip:

+ + + .

Funkcija lygi nuliui prie rinkinių (000), (010), (011), (101), todėl funkcija TKNF atrodo taip:

.

Funkcija iš DNF pervedama į TDNF taip.

Tegul p – elementari konjunkcija įeinanti į funkcijos DNF ir

neturinti kintamojo . Kintamojo įjungimui į konjunkciją p naudomaja lygybė

.

Kiekvienai elementariai konjunkcijai ir visiems kintamiesiems, neįeinantiems į konjunkciją, nuosekliai taikant aukščiau paminėtą lygybę, gauname funkcijos IDNF.

Pavyzdys 3.5. Duotą funkciją, užrašytą DNF, pervesti į TDNF.

+ +

Sprendimas. Elementari konjunkcija bus mintermas, jei į ją įeis visi kintamieji, nuo kurių priklauso funkcija. Elementariai konjunkcijai trūksta raidžių , elementarioms konjunkcijoms ir trūksta raidės .

+ + + + + .

Jeigu gautoje išraiškoje yra vienodų konjunkcijų, tai paliekame tik vieną.Į pirmas dvi konjunkcijas įvedame trūkstamą raidę

+ + + + + + + .

Išbraukiame vienodas konjunkcijas, palikdami tik po vieną.

+ + + + + .

Atsakymas. + + + + + .

Analogiškai, KNF pervedama į TKNF.

Kintamojo įjungimui į elementarią disjunkciją q, neturinčią kintamojo , naudomaja lygybė:

.

Kiekvienai elementariai disjunkcijai ir visiems kintamiesiems, neįeinantiems į disjunkciją, nuosekliai taikant aukščiau paminėtą lygybę, gauname funkcijos TKNF.

Pavyzdys 3.6. Duotą funkciją, užrašytą KNF, pervesti į TKNF.

( ) ( ).

Sprendimas. Elementari disjunkcija bus makstermas, jei į ją įeis visi kintamieji, nuo kurių priklauso funkcija. Elementariai disjunkcijai trūksta raidžių , elementarioms disjunkcijoms ( ) ir ( ) trūksta raidės .

=

Išbraukiame vienodas disjunkcijas, palikdami tik po vieną.

.

Atsakymas..

Skaitmeninė forma.

Skaitmeninį tobulos disjunktyvinės normalinės formos užrašą sudaro numeriai mintermų, kuriems funkcijos reikšmė lygi vienetui.

3.5 pavyzdyje nagrinėtą funkciją galima pavaizduoti taip:

Skaitmeninį tobulos konjunktyvinės normalinės formos užrašą sudaro numeriai makstermų, kuriems funkcijos reikšmė lygi nuliui.

3.6 pavyzdyje nagrinėtą funkciją galima pavaizduoti taip:

Veičo (Karno) diagramos.

Veičo diagrama - tai speciali lentelė, nurodanti Būlio funkcijos reikšmes prie kiekvieno kintamųjų rinkinio. Vaizduojant n kintamųjų funkciją 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ą.

3.2 pav.

Kadangi funkcija trijų kintamųjų, tai galimi aštuoni skirtingi mintrmai: , ,

, , , , , .

Matome, kad kiekvieną diagramos langelį atitinka vienas mintermas. Panagrinėkime diagramos langelį, pažymėtą . Šiame langelyje įrašytas

mintermas , nes langelis priklauso kintamiesiems Veičo diagramos sudaromos taip, kad du gretimi langeliai skirtųsi tik vieno

kintamojo reikšme. Pavyzdžiui, 3.2pav. pirmoje eilutėje pirmame stulpelyje yra mintermas , o antrame langelyje – mintermas . Abejuose mintermuose bendri kintamieji

yra ir , o skiriasi tik kintamojo reikšmė.

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ą . Dvejetainė indekso reikšmė bus 1011, o dešimtainė – 11.

Mintermų indeksais patogu naudotis, kai funkcija pateikiama skaitmenine forma.

3.2 pav.

Panagrinėję 3.3pav. ir 3.4pav. pateiktas Veičo diagramas, galima pastebėti, kad 5 kintamųjų diagrama sudaryta iš dviejų 4 kintamųjų diagramų, o 6 kintamųjų – iš keturių diagramų.

Dažniausiai praktikoje, pateikiant Būlio funkciją, parašytą disjuntyvine

normaliąja forma, į Veičo diagramos langelius įrašomos tik vienetui lygios funkcijos reikšmės, o nuliui lygias funkcijos reikšmes atitinkantys langeliai paliekami tušti.

3.3 pav.

3.4 pav.

Pavyzdys. Pavaizduokime trijų kintamųjų funkciją F( , , ) = + + + + .

Veičo diagrama.Ši funkcija užrašyta tobuloje disjunktyvinėje normalinėje formoje, nes visos

konjunkcijos yra mintermai. Duota funkcija 3.5 pav. pavaizduota Veičo diagrama. Šios diagramos kairiajame langelio kampe įrašytas mintermo indeksas.

Funkcijos mintermą diagramoje atitinka įrašytas vienetas į 6 langelį, mintermą - įrašytas vienetas į 7 langelį, mintermą - įrašytas vienetas į 3 langelį, mintermą - įrašytas vienetas į 1 langelį, mintermą - - įrašytas vienetas į 0 langelį.

3.5 pav.

Pavyzdys. Pavaizduokime trijų kintamųjų funkcijąF( , , ) = + + +

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 . Diagramoje kintamiesiems ir bendri langeliai yra 6 ir 7, todėl į šiuos langelius ir įrašyti vienetai.

3.6 pav.

3.7 pav. pavaizduota konjunkcija . Diagramoje kintamiesiems ir bendri langeliai yra 0 ir 1, todėl į šiuos langelius ir įrašyti vienetai.

3.7 pav.

3.8 pav. pavaizduota konjunkcija. Diagramoje kintamiesiems ir bendri langeliai yra 4 ir 6, todėl į 4 langelį įrašytas vienetas. Į 6 langelį vieneto nerašome, nes į šį langelį jau buvo įrašytas vienetas vaizduojant konjunkciją .

1 1

3.8 pav.

3.9 pav. pavaizduota konjunkcija. Diagramoje kintamiesiems ir bendri langeliai yra 0 ir 2, todėl į 2 langelį įrašytas vienetas. Į 0 langelį vieneto nerašome, nes į šį langelį jau buvo įrašytas vienetas vaizduojant konjunkciją .

3.9 pav.Pavyzdys. Pavaizduokime keturių kintamųjų funkciją

F( , , , )= + + + .

Veičo diagrama.

3.10 pav. nuosekliai parodyta funkcijos vaizdavimas keturių kintamųjų

a) b)

+

c) d)

+ + + + +

3.10 pav.

Pavyzdys. Pavaizduokime penkių kintamųjų funkcijąF( , , , , )= + + + + .

Veičo diagrama.

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.

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.

Karno diagramas patogu naudoti kai funkcija duota skaitmeninėje formoje.

Pavyzdys. Pavaizduokime keturių kintamųjų funkcijąF( , , , )=.

Karno diagrama.

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.

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.

Pavyzdys. Pavaizduokime penkių kintamųjų funkcijąF( , , , , )=.

Karno diagrama.

Kiekvieną dešimtainį skaitmenį pervedame į dvejetainę skaičiavimo sistemą penkiomis dvejetainėmis skiltimis. . Kiekvieną dvejetainę skiltį pažymime kintamuoju, pavyzdžiui, pirmą skiltį x1, antrą – x2, trečią – x3, ketvirtą – x4 penktą – x5.

Duotą funkciją pavaizduojame Karno diagrama (3.17 pav.).

Būlio funkcijų minimizavimas.

Dažnai tą pačią Būlio funkciją galima išreikšti įvairiai. Pavyzdžiui, duota funkcija

F( , , , 4X )= 4x

2X1X + 4x3X2X + 3

x2X1X + 4x

2X1X + 3

X2X1X

.Šią Būlio funkciją galima išreikšti ir taip:

F( , , , 4X )= 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x +. 4x3x2x1x +

4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x = 4x3x + 4x3x1x + 4x3x2x

3x2x1x = 4x1x + 4x3x + 4x3x2x =. 4x1x + 4x3x + 3x2x .

Yra ir daugiau šios funkcijos užrašymo variantų.

Būlio funkcijų minimizavimas – procesas, kurio metu iš visų galimų funkcijos loginių išraiškų randama išraiška, tenkinanti pasirinktą minimalumo kriterijų. Kaip minimalumo kriterijus gali būti naudojamas raidžių skaičius funkcijos loginėje išraiškoje.

Minimizavimo metodus galima suskirstyti į šias grupes:1) bandymų ir klaidų metodai – minimizuojama, remiantis projektuotojo žiniomis ir

patyrimu;2) euristiniai metodai – minimizavimo metodika susisteminta, bet efektyvi tik tam

tikrai funkcijų klasei; optimalaus sprendimo negarantuoja;3) tikslieji – parenkamas optimalus variantas.

Pirmajai grupei priskiriami metodai, kai minimizuojama remiantis pagrindiniais Būlio algebros dėsniais. Funkcijos minimalumas priklauso nuo projektuotojo patyrimo ir duotosios funkcijos pobūdžio.

Panagrinėkime pavyzdį:

F= 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x +

4x3x2x1x + 4x3x2x1x + 4x3x2x1x .Pirmąsias keturias konjunkcijas sugrupuokime taip:

( 4x3x2x1x + 4x3x2x1x )+( 4x3x2x1x + 4x3x2x1x )=

3x2x1x ( 4x + 4x )+ 3x2x1x ( 4x + 4x )= 3x2x1x + 3x2x1x =

2x1x ( 3x + 3x )= 2x1x .

Gauname tokią funkcijos loginę išraišką:

F= 2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x .

Toliau pertvarkysime remdamiesi neigimo eliminavimo dėsniu (9b).

F= 2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x =

1x ( 2x + 4x3x2x (+ 4x3x ))+ 4x3x2x1x + 4x3x2x1x =

1x ( 2x + 4x3x + 4x3x )+ 4x3x2x1x + 4x3x2x1x =

2x1x + 4x3x1x + 4x3x1x + 4x3x2x1x + 4x3x2x1x =

4x3x1x + 4x3x1x + 2x ( 1x + 4x3x1x (+ 4x3x ))=

4x3x1x + 4x3x1x + 2x ( 1x + 4x3x + 4x3x )=

4x3x1x + 4x3x1x + 2x1x + 4x3x2x + 4x3x2x .

Gautos išraiškos toliau pertvarkyti negalima. Tačiau ji yra neminimali. Pabandykime duotos funkcijos konjunkcijas grupuoti kitaip.

F=+ 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x + 4x3x2x1x

+ 4x3x2x1x =

( 4x3x2x1x + 4x3x2x1x )+( 4x3x2x1x + 4x3x2x1x )+( 4x3x2x1x +

4x3x2x1x )+( 4x3x2x1x + 4x3x2x1x )=

4x3x2x ( 1x + 1x )+ 4x3x1x ( 2x + 2x )+ 4x3x1x ( 2x + 2x )+ 4x3x2x ( 1x +

1x )=

4x3x2x + 4x3x1x + 4x3x1x + 4x3x2x .

Palyginus šią išraišką su anksčiau gautąja, matome, kad konjunkcija 2x1x yra perteklinė.

Būlio funkcijų minimizavimas Veičo (Karno) diagramomis.

Būlio funkcijų minimizavimas Veičo (Karno) diagramomis vykdomas 3 etapais:

1) funkcija pavaizduojama diagramoje;2) pagal vienetų jungimo taisykles visi diagramos vienetai sujungiami į junginius;3) užrašoma funkcijos minimali forma disjunktyvinėje normalinėje formoje.Funkcijos vaizdavimas Veičo (Karno) diagramoje buvo nagrinėtas

3.3 skyrelyje.Antrame minimizavimo etape diagramoje esančius vienetus sujungiame į

junginius taip, kad junginių skaičius būtų mažiausias ir kiekviename junginyje sujungtų vienetų skaičius būtų maksimalus, leidžiamas vienetų jungimo taisyklėse.

Į vieną junginį jungiamų vienetų skaičius lygus 2 sveikam laipsnio rodikliui, t.y. į vieną junginį jungiami 2, 4, 8, 16 ir t.t. vienetai.Pateiksime vienetų jungimo taisykles Veičo (Karno) diagramose. Žemiau pateiktose Veičo diagramose užrašyta konjunkcija, atitinkanti pavaizduotą junginį.

Du vienetai jungiami į vieną junginį (4.1 pav.), jeigu:

1) jie yra greta vienas kito vienoje eilutėje arba viename stulpelyje (a);2) jie yra vienos eilutės arba vieno stulpelio galuose (b).

a)

b)

4.1 pav.

Keturi vienetai jungiami į vieną junginį (4.2 pav.), jeigu:

1) jie išsidėstę kvadratu (a);2) yra dviejų gretimų stulpelių ar eilučių galuose (b);3) jie yra vienoje eilutėje arba viename stulpelyje (c);4) yra diagramos kampuose (d).

a) b)c)

d)

4.2 pav.

Aštuoni vienetai jungiami į vieną junginį (4.3 pav.), jeigu:1) jie yra dvejuose gretimuose stulpeliuose arba dvejose gretimose eilutėse (a);2) jie yra kraštiniuose stulpeliuose arba kraštinėse eilutėse (b).

a) b)

4.3 pav.

Kai kintamųjų skaičius didesnis už keturis, tai vienetai Večo diagramoje papildomai dar jungiami, jeigu jie yra dviejų gretimų diagramų vienodose vietose.

4.4 pav. pavaizduota šešių kintamųjų Veičo diagrama. Diagrama sudaryta iš keturių kintamųjų keturių diagramų. Diagramą nurodo kintamieji ir . Pavzdžiui, diagramai

gretimos diagramos yra ir , diagramai gretimos diagramos yra ir .

Jeigu 63 langelyje yra vienetas, tai jį galima jungti su vienetu, esančiu 62 langelyje arba su vienetu, esančiu 59 langelyje arba su vienetu, esančiu 47 langelyje arba su vienetu, esančiu 61 langelyje arba su vienetu, esančiu 55 langelyje arba su vienetu, esančiu 31 langelyje.

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, tačiau šis vienetas yra junginio viduje (vadinsime vidiniu vienetu).

4.5 pav.

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 , nes abu junginio vienetai priklauso kintamiesiems , , , Kintamasis iš konjunkcijos iškrenta, nes trylikto langelio vienetas priklauso kintamajam , o penkiolikto langelio vienetas – kintamajam .Paaiškinsime detaliau. Trylikto langelio vienetas atitinka mintermą ,

o penkiolikto langelio vienetas - mintemą . Junginį užrašome mintermais ir pertvarkome gautą išraišką.

+ = ( + ) = .

Antro ir dešimto langelių junginys atitinka konjunkciją , nes abiem junginio vienetams bendri kintamieji yra , ir . Kintamasis iš konjunkcijos iškrenta, nes dešimto langelio vienetas priklauso kintamajam , o antro langelio vienetas – kintamajam

.

Jei kintamųjų skaičius nedidesnis už keturis, tai Karno diagramose vienetų jungimo taisyklės ir būtinų junginių nustatymo metodika tokia pat kaip ir Veičo diagramose. Paaiškinsime pavyzdžiu.

Tegul turime Karno diagramoje pavaizduotą Būlio funkciją (4.6 pav.).Pagal dviejų vienetų jungimo taisyklę galima sujungti 0 ir 4 langelyje esančius

vienetus. Nustatysime, ar būtinas junginys.Tikriname vieneto, esančio 4 langelyje, ryšį su išoriniais vienetais. 6 ir 12

langeliuose vienetų nėra, o 5 ir 0 langeliuose yra vienetai. 0 langelio vienetas vidinis, o 5 – išorinis, todėl ir ryšio nėra. Toliau tikriname 15 ir 5 langelius. 15 langelyje yra vienetas, tačiau šis vienetas yra junginio viduje (vadinsime vidiniu

Kai kintamųjų skaičius didesnis už keturis, tai vienetai Karno diagramoje papildomai dar jungiami, jeigu jie yra dviejų gretimų diagramų simetrinėse vietose.

4.7 pav. pavaizduota šešių kintamųjų Karno diagrama. Jeigu 9 langelyje yra vienetas, tai jį galima jungti su vienetu, esančiu 1 langelyje

arba su vienetu, esančiu 25 langelyje arba su vienetu, esančiu 41 langelyje arba su vienetu, esančiu 8 langelyje arba su vienetu, esančiu 11 langelyje arba su vienetu, esančiu 13 langelyje. Vieneto, esančio 9 langelyje, ryšys su išoriniais vienetais tikrinamas su tais pačiais langeliais.

Veičo (Karno) diagramų metodu Būlio funkcijos minimizuojamos taip:pagal vienetų jungimo taisykles visi diagramos vienetai sujungiami į junginius taip, kad junginių skaičius būtų mažiausias ir į kiekvieną junginį sujungiant maksimalų vienetų skaičių, kuris leidžiamas pagal vienetų jungimo taisykles. Pirmiausia reikia 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.

Pavyzdys. Minimizuoti keturių kintamųjų Būlio funkciją.

F= 3x1x + 4x3x2x + 4x2x1x + 4x3x2x + 4x3x2x1x .

1. Būlio funkciją pavaizduojame Veičo diagramoje (4.6 pav.).

1 12

1 14

6

4

13

1 15

7

5

1 9

1 11

1 3

1

1 8

1 10

2

1 0

X1

X2

X3

X4

4.6 pav.

2. Vienetus reikia sujungti į junginius. Pirmiausia sujungiame būtinus junginius. (4.7 pav.)

Aštuntame, devintame, dešimtame ir vienuoliktame langeliuose esantys vienetai sudaro kvadratą, todėl juos galima sujungti į junginį. Šis junginys yra būtinas. Tai matome iš devintame langelyje esančio vieneto. Šis vienetas neturi ryšio su išoriniais vienetais (pirmame ir dvyliktame langeliuose vienetų nėra, o aštuntame ir vienuoliktame langeliuose esantys vienetai yra vidiniai).

Dešimtame, vienuoliktame, keturioliktame ir penkioliktame langeliuose esantys vienetai yra viename stulpelyje, todėl jie sudaro junginį ir jis yra būtinas. Tai matome iš penkioliktame langelyje esančio vieneto. Šis vienetas neturi ryšio su išoriniais vienetais (tryliktame ir septintame langeliuose vienetų nėra, o keturioliktame ir vienuoliktame langeliuose esantys vienetai yra vidiniai).

Aštuntame, dešimtame, dvyliktame ir keturioliktame langeliuose esantys vienetai yra dviejų gretimų stulpelių galuose, todėl jie sudaro junginį ir jis yra būtinas. Tai matome iš dvyliktame langelyje esančio vieneto (tryliktame ir ketvirtame langeliuose vienetų nėra, o aštuntame ir keturioliktame langeliuose esantys vienetai yra vidiniai).

Trečiame ir vienuoliktame langeliuose esantys vienetai yra greta vienas kito eilutėje, todėl jie sudaro junginį ir jis yra būtinas. Tai matome iš trečiame langelyje esančio vieneto (pirmame, antrame ir septintame langeliuose vienetų nėra, o vienuoliktame langelyje esamas vienetas yra vidinis).

Nuliniame ir aštuntame langeliuose esantys vienetai yra eilutės galuose, todėl jie sudaro junginį ir jis yra būtinas. Tai matome iš nuliniame langelyje esančio vieneto (pirmame, antrame ir ketvirtame langeliuose vienetų nėra, o aštuntame langelyje esamas vienetas yra vidinis).

Matome, kad visi vienetai yra sujungti ir minimizavimo rezultatą sudaro tik būtini junginiai.

1 12

1 14

6

4

13

1 15

7

5

1 9

1 11

1 3

1

1 8

1 10

2

1 0

X1

X2

X3

X4

1

2

3

4

5

4.7 pav.

3. Užrašysime funkciją disjunktyvinėje normalinėje formoje. Junginiai sužymėti skaičiais nuo 1 iki 5.

Pirmas junginys atitinka konjunkciją 4x1x , antras - 2x1x , trečias - 3x1x , ketvirtas

– 4x3x2x , penktas, - 4x3x2x .Funkcijos minimali forma yra

F= 3x1x + 2x1x + 3x1x + 4x3x2x + 4x3x2x .

Pavyzdys. Minimizuoti keturių kintamųjų Būlio funkciją.

F= 4x2x + 3x2x1x + 4x3x2x + 4x2x1x + 4x3x1x + 3x2x1x .1. Būlio funkciją pavaizduojame Veičo diagramoje (4.8 pav.).

.

1 12

1 14

1 6

1 4

1 13

1 15

7

1 5

1 9

1 11

3

1

8

1 10

1 2

0

X1

X2

X3

X4

4.8 pav.

2. Vienetus reikia sujungti į junginius (4.9 pav.). Pirmiausia sujungiame būtinus junginius.

4, 6, 12, ir 14 langeliuose esančius vienetus galima sujungti į junginį (keturi vienetai vienoje eilutėje). Šis junginys yra nebūtinas (12 langelio vienetui išorinis vienetas yra 13 langelyje, 14 langelio vienetui – išoriniai vienetai 10 ir 15 langeliuose, 11 langelio vienetui – išorinis vienetas 9 langelyje), 10 langelio vienetui – išorinis vienetas 2 langelyje), todėl jų ir nejungiame

10, 11, 14, ir 15 langeliuose esančius vienetus galima sujungti į junginį (keturi vienetai viename stulpelyje). Šis junginys yra nebūtinas (14 langelio vienetui išorinis vienetas yra 12 langelyje, 15 langelio vienetui – išorinis vienetas 13 langelyje), 11 langelio vienetui – išorinis vienetas 9 langelyje, 10 langelio vienetui – išorinis vienetas 2 langelyje), todėl jų ir nejungiame.

12, 13, 14, ir 15 langeliuose esančius vienetus galima sujungti į junginį (keturi vienetai išsidėstę kvadratu). Šis junginys yra nebūtinas (12 langelio vienetui išorinis vienetas yra 4 langelyje, 13 langelio vienetui – išoriniai vienetai 5 ir 9 langeliuose,14 langelio vienetui – išoriniai vienetai 5 ir 9 langeliuose,15 langelio vienetui – išorinis vienetas 11 langelyje), todėl jų ir nejungiame.

9, 11, 13, ir 15 langeliuose esančius vienetus galima sujungti į junginį (keturi vienetai išsidėstę kvadratu). Šis junginys yra būtinas, nes 9 langelio vienetas neturi ryšio su išoriniais vienetais.

2, 6, 10, ir 14 langeliuose esančius vienetus galima sujungti į junginį (vienetai yra dviejų gretimų stulpelių galuose). Šis junginys yra būtinas, nes 2 langelio vienetas neturi ryšio su išoriniais vienetais.

4, 5, 12, ir 13 langeliuose esančius vienetus galima sujungti į junginį (vienetai yra dviejų gretimų eilučių galuose). Šis junginys yra būtinas, nes 5 langelio vienetas neturi ryšio su išoriniais vienetais.

1 12

1 14

1 6

1 4

1 13

1 15

7

1 5

1 9

1 11

3

1

8

1 10

1 2

0

X1

X2

X3

X4

4.9 pav.

3. Užrašysime funkciją disjunktyvinėje normalinėje formoje.

F= 3x2x + 4x3x + 4x1x .

Pavyzdys. Minimizuoti keturių kintamųjų Būlio funkciją.

F= 3x2x1x + 4x2x1x + 4x2x1x + 4x3x2x + 3x2x1x .

Sprendimas. Pavaizduota Būlio funkcija ir būtini junginiai pateikti 4.10 pav.Daugiau būtinų junginių nėra. Liko nesujungti trys vienetai ir juos reikia sujungti į junginius

taip, kad junginių skaičius būtų mažiausias ir į kiekvieną junginį sujungiant maksimalų vienetų skaičių, kuris leidžiamas pagal vienetų jungimo taisykles.

1 12

14

6

4

1 13

1 15

7

5

9

1 11

1 3

1

8

10

1 2

1 0

X1

X2

X3

X4

4.10 pav.

Iš 4.10 pav. matyti, kad vienetų jungimo yra du lygiaverčiai variantai: vienas junginys bus 13 ir 15 langelių vienetai ir kitas junginys – 0 ir 2 langelių vienetai arba 11 ir 15 langelių vienetai ir kitas junginys– 2 ir 3 langelių vienetai. Imame tik vieną jungimo variantą. 4.10 pav. parodyti duotos funkcijos junginiai.

1 12

14

6

4

1 13

1 15

7

5

9

1 11

1 3

1

8

10

1 2

1 0

X1

X2

X3

X4

4.11 pav.

Atsakymas. F = 3x2x1x + 4x3x1x + 3x2x1x + 4x2x1x .

Pavyzdys. Minimizuoti penkių kintamųjų Būlio funkciją.

F= 4x3x1x + 5x3x2x + 5x3x2x1x + 5x4x2x1x + 5x4x3x1x + 5x4x2x1x +

5x4x3x2x .

Sprendimas. Pavaizduojame Būlio funkciją Veičo diagramoje ir vienetus sujungiame į junginius (4.12 pav.).

28

30

1 22

1 20

12

14

1 6

1 4

1 29

31

23

1 21

1 13

15

7

5

1 25

1 27

1 19

17

1 9

11

3

1

24

1 26

1 18

1 16

8

10

1 2

1 0

X4 X4

X3

X2

X1

X2

X5

4.12 pav.

Pirmiausia randame būtinus junginius. 9, 13, 25, 29 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 9 langelyje (1, 8 ir 11 langeliuose vienetų nėra, o 13 ir 25 langeliuose

esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją 5x4x2x .0, 2, 4, 6, 16, 18, 20, 22 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas,

pavyzdžiui, 4 langelyje (5 ir 12 langeliuose vienetų nėra, o 0, 6, ir 20 langeliuose esantys vienetai

yra vidiniai). Šis junginys atitinka konjunkciją 5x2x .18, 19, 26, 27 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas, pavyzdžiui,

26 langelyje (10, 24 ir 30 langeliuose vienetų nėra, o 18 ir 27 langeliuose esantys vienetai yra

vidiniai). Šis junginys atitinka konjunkciją , 4x3x1x . Daugiau būtinų junginių nėra. Liko nesujungtas vienetas 21 langelyje. Šį vienetą galima sujungti su 20 langelio vienetu arba 13 langelio vienetu. 4.12 pav. 21 langelio vienetas sujungtas su 20 langelio vienetu (konjunkcija

4x3x2x1x ).

Atsakymas. F = 5x2x + 5x4x2x + 4x3x1x + 4x3x2x1x .

Pavyzdys. Minimizuoti šešių kintamųjų Būlio funkciją.

F= 5x4x3x1x + 6x4x3x2x + 5x4x2x1x + 4x3x2x1x + 5x4x3x1x + 6x4x2x1x +

5x4x2x1x + 6x4x3x2x1x + 6x5x4x3x2x + 6x5x3x2x1x + 5x4x3x2x1x .

Sprendimas. Pavaizduojame Būlio funkciją Veičo diagramoje ir vienetus sujungiame į junginius (4.13 pav.).

1 60

62

54

1 52

1 28

30

22

1 20

1 61

1 63

55

1 53

1 29

1 31

23

1 21

57

1 59

51

49

25

1 27

19

17

56

58

50

48

1 24

1 26

1 18

1 16

1 44

46

38

1 36

1 12

14

6

1 4

1 45

47

1 39

1 37

1 13

15

7

1 5

41

43

1 35

33

1 9

1 11

3

1

40

42

34

32

1 8

1 10

2

0

X2

X3 X3

X4

X4

X5 X5

X6

X6

X1

4.13 pav.

Pirmiausia randame būtinus junginius. 35 ir 39, langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 35 langelyje (3, 33, 43 34 ir 51 langeliuose vienetų nėra, o 39 langelio

vienetas yra vidinis). Šis junginys atitinka konjunkciją 6x5x3x2x1x .27, 31, 59, ir 63 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 59 langelyje

(57, 51,58 ir 43 langeliuose vienetų nėra, o 27 ir 63 langeliuose esantys vienetai yra vidiniai). Šis

junginys atitinka konjunkciją 6x5x3x2x .16, 18, 24, 26 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 18 langelyje

(19, 22, 2 ir 50 langeliuose vienetų nėra, o 16 ir 26 langeliuose esantys vienetai yra vidiniai). Šis

junginys atitinka konjunkciją 6x4x2x1x .

60, 61, 52, 53, 28, 29, 20, 21,44, 45, 36, 37, 12, 13, 4, 5 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas, pavyzdžiui, 60 langelyje (56 ir 62 langeliuose vienetų nėra, o

52, 28, 61 ir 44 langeliuose esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją 5x4x

. Daugiau būtinų junginių nėra. Liko nesujungti vienetai 8, 9, 10, ir 11 langeliuose. Juos galima

sujungti į vieną junginį. Šis junginys atitinka konjunkciją .4x3x2x1x .

.

Atsakymas.F= 5x4x + 6x5x3x2x + 6x4x2x1x + 6x5x3x2x1x +.4x3x2x1x

Pavyzdys. Minimizuoti keturių kintamųjų Būlio funkciją Karno diagramų metodu.

F( , , , )=. .

Sprendimas. Pavaizduojame Būlio funkciją Karno diagramoje ir vienetus sujungiame į junginius (4.14 pav.).

Pirmiausia randame būtinus junginius. 0,1,4 ir 5, langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 1 langelyje (3 ir 9 langeliuose vienetų nėra, o 0 ir 5 langelių vienetai yra vidiniai). Šis junginys atitinka konjunkciją .

0, 2, 8, ir 10 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 8 langelyje (9, ir 12 langeliuose vienetų nėra, o 0 ir 10 langeliuose esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją .

0, 2, 4, 6 langelių vienetai sudaro būtiną junginį. Tai rodo vienetas 6 langelyje (7 ir 14 langeliuose vienetų nėra, o 2 ir 4 langeliuose esantys vienetai yra vidiniai). Šis junginys atitinka konjunkciją .

Daugiau būtinų junginių nėra. Liko nesujungti vienetai 11, 13 ir 15 langeliuose. Juos galima sujungti į du junginius po du vienetus įvairiai. 4.14 pav.13 langelio vienetas sujungtas su 15 langelio vienetu (konjunkcija ) ir 11 langelio vienetas sujungtas su 10 langelio vienetu (konjunkcija ).

Atsakymas. F = + + + + . .

Pavyzdys. Minimizuoti penkių kintamųjų Būlio funkciją Karno diagramų metodu.

F( , , , , )=. .

Sprendimas. Pavaizduojame Būlio funkciją Karno diagramoje ir vienetus sujungiame į junginius (4.15 pav.).

Pavyzdys. Minimizuoti šešių kintamųjų Būlio funkciją Karno diagramų metodu.

F( , , , , , )=. .

Sprendimas. Pavaizduojame Būlio funkciją Karno diagramoje ir vienetus sujungiame į junginius (4.15 pav.).

Kvaino – Makklaskio metodas

Kvaino – Makklaskio metodas priklauso tiksliųjų metodų grupei. Prieš šio metodo aprašymą įvesime kelias sąvokas.

Elementarią konjunkciją vadinsime funkcijos implikante, jei visuose kintamųjų rinkiniuose, su kuriais , funkcija .

Funkcijos implikantė vadinama paprastąja arba pirmine implikante, jei, pašalinus iš bent vieną raidę, likusioji dalis nėra funkcijos 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:

, (1.28)

čia - 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 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 kubai sudaro pirminių implikančių aibę .

Pavyzdys. Duota Būlio funkcija:

. (1.29)

0-kubų kompleksą sudaro 15 kubų, kuriuos išdėstome indekso didėjimo tvarka,atskirdami grupes su vienodu indeksu horizontaliu brūkšniu:

00001 00110* 00111* 10111* 11111*00010* 01010* 01101* 11101* ---------01000* 01100* 10110* ---------------- 10010* 11001*

11000* -----------------

Atlikę visus galimus gretimų grupių jungimus, gauname kompleksą . 0-kubai, kurie buvo sujungti, pažymėti „*“.

00-10* 0011-* -0111* 1-1110-010 -0110* -1101 111-1-0010* 0110- 1011-* -------010-0 10-10* 11-0101-00 1100- ---------1000 ----------------Tą patį atliekame su komplekso kubais, formuodami kubus. Pasikartojančius

kubus išbraukiame:-0-10 -011--0-10 -011-

Taigi pirminių implikančių aibė Z tokia:+

.

Minimalaus padengimo radimas

Šiame etape reikia iš visos pirminių implikančių aibės atrinkti kiek galima mažesnį implikančių poaibį, kad implikančių disjunkcija padengtų visus minimizuojamos funkcijos mintermus. Tai patogu atlikti grafiškai, naudojantis implikančių lentele. Ji sudaroma taip: kiekvieną lentelės eilutę sudaro pirminė implikantė, o stulpelį – minimizuojamos funkcijos mintermas.langelyje atitinkančiame j-jį mintermą įrašomas ženklas ×, jei i-ji implikantė padengia j-jį mintermą, t. y. visos implikantės dvejetainio kodo reikšminės skiltys sutampa su atitinkamomis mintermo skiltimis. Implikančių padengimo minimizuojamos funkcijos mintermus pateikta 1.10 lentelėje.

1.10 lentelė. Mintermų padengimas implikantėmis

00001

00010

00110

01010

01100

10010

11000

00111

01101

10110

11001

10111

11101

11111

00001 0-010 × ×010-0 × ×01-00 × ×-1000 × ×0110- × ×1100- × ×-1101 × ×11-01 × ×1-111 × ×111-1 × ×-0-10 × × ×-011- × × ×

Apibrėžkime dar dvi sąvokas.Pirminė implikantė vadinama esmine, jeigu ji įeina į kiekvieną galimą funkcijos

išraišką.Esminių implikančių visuma vadinama funkcijos branduoliu. Esmines implikantes

padengimo lentelėje randame pagal tai, kad jos dengia mintermus , kurių nedengia kitos implikantės. Jei kuriame nors padengimų lentelės stulpelyje yra vienintelė atžyma, tai tą atžymą atitinkančioje eilutėje įrašyta implikantė yra esminė.

1.10 lentelėje esminių implikančių atžymos apibrėžtos apskritimu. Funkcijos branduolį sudarančios implikantės padengia ir kitus mintermus (00010, 00110, 10110, 10111). Sudarančias branduolį implikantes ir jų padengiamus mintermus galima eliminuoti iš lentelės galime eliminuoti iš lentelės ir toliau nagrinėti gautąją sumažintą lentelę. Mūsų atveju tai 1.11 lentelė.

1.11 lentelė. Sumažinta padengimo lentelė

01000

01010

01100

11000

0110

11001

11101

11111

a 0-010 ×b 010-0 × ×c 01-00 × ×d -1000 × ×e 0110- × ×f 1100- × ×g -1101 × ×h 11-01 × ×i 1-111 ×j 111-1 × ×

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ą dengia implikantės a, b ir c, o mintermą - implikantės b ir d, tai šių mintermų padengimo sąlygas galima užrašyti kaip disjunkcijas:

, . (1.30)

Kad būtų padengti abu mintermai, reikia šias disjunkcijas sujungti konjunkcijos ženklu:

. (1.31)

Tai turėtų būti atlikta kiekvienam mintermui.pertvarkiu gautąją išraišką į disjungtyvinę normaliąją formą ir supaprastinę ją pagal absorbcijos teoremą ir idempotentyvumo aksiomą, gausime visus galimus neperteklinius padengimo variantus, iš kurių atrinksime minimalų.

1.11 lentelėje esančias pirmines implikantes pažymime ir formuojame išraišką:

. (1.32)

Pertvarkę šią išraišką gauname:

(1.33)

Gauta išraiška rodo, kad yra tik vienas minimalus sprendinys - , be to yra 12 padengimo variantų kai pakanka penkių pirminių implikančių, ir dar 7 variantai, kai reikia šešių implikančių.

Prie gautojo minimalaus padengimo pridėję esmines pirmines implikantes, gausime tokią minimalią funkcijos išraišką:

. (1.34)

Šią išraišką sudaro septynios konjunkcijos, raidžių skaičius – 27. pradinėje išraiškoje buvo 15 mintermų ir 75 raidės.

Pateiktas pavyzdys rodo, kad pagal Petriko metodą reikia daug skaičiavimų. Jeigu ciklinėje padengimo lentelėje yra stulpelių, kurių kiekviename yra atžymų, tai suformuota disjunktyvinė normalioji forma turės

(1.35)

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ė turi atžymas visuose stulpeliuose, kuriuose turi eilutė ( ), tai eilutę pašaliname – eilučių dominavimo taisyklė;

2. jei stulpelis turi atžymas visose eilutėse, kuriuose turi stulpelis ( ), tai stulpelių 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 ir . Pašalinę eilutes ir pamatysime, kad pirminės implikantės ir tapo pseudoesminėmis. Jas įjungiame į padengimą. Pašalinę eilutes ir , o taip pat jų dengiamus mintermus gauname 1.12 lentelę.

1.12 lentelė. Pertvarkyta padengimų lentelė

01100

11000

01101

11001

c 01-00 ×d -1000 ×e 0110- × ×f 1100- × ×g -1101 ×h 11-01 ×

Pakartojus šią procedūrą, galima išbraukti eilutes , , ir . Eilutės ir kartu dengia visus stulpelius. Taigi ciklinės lentelės padengimas . Šis sprendinys sutampa su sprendiniu, gautu Petriko metodu, bet jį gauti reikia mažiau pastangų.

Nepilnai apibrėžtų funkcijų minimizavimas

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.

1.11 pav. Segmentinis indikatorius ir šviečiantys segmentai vaizduojant skaitmenis

Kiekvieną skaitmenį atitinka šviečiančių segmentų kombinacija. Panagrinėkime, kaip valdymo schema formuoja signalą segmentui e valdyti. Šis segmentas šviečia indikuojant skaitmenis 0, 4, 5, 6, 8, 9.skaitmenys koduojami keturių skilčių kodais, todėl segmento valdymą nusako išraiška:

, (1.37)

nes keturių skilčių kodą galima laikyti atitinkamu mintermu. Šios funkcijos Karno diagrama pavaizduota 1.12 pav.

1.12 pav. Segmento valdymo funkcijos Karno diagramaMinimizavus šią funkciją gausime:

. (1.38)

Atkreipkime dėmesį į tai, kad kodai 1010, 1011, 1100, 1101, 1110 ir1111 skaitmenims koduoti nenaudojami. Vadinasi, tokių kodų valdumo schemos įvestyse S3, S2, 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.

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.39)

Palyginę šią išraišką su anksčiau gauta, matome, kad ji trumpesnė ir paprastesnė: 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 , t. y. reokia 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 mintermus. Dėl šios priežasties gali būti, kad kai kurios pirminės implikantės nedengia nė vieno mintermo (iš ) ir atitinkamos padengimo lentelės eilutės tuščios. Tokias implikantes reikia pašalinti.

3.

Būlio funkcijų sistemų minimizavimas

Jeigu m ( ) Būlio funkcijų priklauso nuo tų pačių kintamųjų:

,

, (1.40)

. . . . . . . . . . . . . . . .

,

sakoma, kad turime Būlio funkcijų sistemą. Taip yra ir 1.11 pav. parodytoje schemoje: segmentų valdymą aprašančios funkcijos priklauso nuo tų pačių kintamųjų .

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 (žiūr. 1.12 pav.). Minimizavus kiekvieną funkciją atskirai gauname:

,

, (1.41)

.

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ų:

, (1.42)

kur ri – i-osios konjunkcijos raidžių skaičius, dj – konjunkcijų skaičius funkcijų išraiškose. Skaičiuojant konjunkcijų realizacijos kainą neįskaitomi tie disjunktyvinės normaliosios formos nariai, kurie išreiškiami viena raide, o skaičiuojant disjunkcijų realizacijos kainą – funkcijos, išreikštos viena konjunkcija.

Nagrinėjamos funkcijų sistemos visų funkcijų sudėtingumas bus:

,

, (1.43)

.

Nagrinėjant šių funkcijų sudėtingumą kaip funkcijų sistemos sudėtingumą, įvertiname, kad trys konjunkcijos pasikartoja. Todėl:

,

. (1.44)

Pabandykime rasti naują sprendinį, kad . 1.14 pav. pateiktos visų trijų funkcijų, sudarančių sistemą, Karno diagramos.

1.14 pav. Funkcijų sistemos atskirų funkcijų Karno diagramos

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.

1.15 pav. Implikantės bendros kelioms funkcijoms

Matome, kad visų trijų funkcijų bendrai daliai gauname implikantes , ir . Funkcijų fe ir fg bendros implikantės - , ir . Funkcijų fe ir fc bendros implikantės - , , ir . Funkcijų fg ir fc bendros implikantės - ,

, ir .Sudarome bendrą visoms trims funkcijoms padengimo lentelę, į kurią įtraukiame

šias bendras implikantes, o taip pat kiekvienos atskiros funkcijos implikantes. Nedengiančių nei vieno vieneto į padengimo lentelę neįtraukiame.

1.13 lentelė Funkcijų fe, fe, fg padengimo lentelė

Funkcija fe fg fc

Mintermai

implikantės

0000

0100

0101

0110

1000

1001

0010

0011

0100

0101

0110

1000

1001

0000

0010

0011

0101

0110

1000

fe fc fg

-101 × × -110 × × ×1--0 × × ×

fe fg -1-0 × × × ×-10- × × × ×

Funkcija fe fg fc

Mintermai

implikantės

0000

0100

0101

0110

1000

1001

0010

0011

0100

0101

0110

1000

1001

0000

0010

0011

0101

0110

1000

1--- × × fe fc -000 × × × ×

fc fg-01- × × --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ę.

1.14 lentelė. Supaprastinta padengimų lentelė

Funkcijos fe fg fc

Mintermai

Implikantės

0000

0100

0110

0100

0110

0000

0100

1000

fe fc fg-110 × × ×1--0 ×

fe fg-1-0 × × × ×-10- × ×

fe fc -000 × × ×fc fg --10 ×fg --00 × ×fc -0-0 × ×

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

Implikantės

0000

0000

0110

1000

fe fc fg-110 ×1--0 ×

fe fc -000 × × ×fc fg --10 ×fg --00 ×fc -0-0 × ×

Iš lentelės matosi, kad geriausiai likusius mintermus padengia -000 ir --10 implikančių rinkinys. Gavome tokias funkcijų išraiškas:

(1.45)

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ą:

(1.38)

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ę , 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.

3.1 pav. Kombinacinė schema

Kilpa – tai uždara schemos grandinė, kurioje i-ojo elemento išvesties signalas 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 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.

3.2 pav. Nuoseklioji schema

Tokią trigerinių schemų struktūrą patogu nagrinėti, remiantis baigtinių automatų teorija. Trigerinės loginės schemos (automato) būseną lemia vektorius Z, o vektorius U sužadina atminties elementus.

Kadangi kombinacinėse loginėse schemose nėra atminties, tai jos kartais vadinamos automatais su nuline atmintimi arba nulinės eilės automatais.

Kombinacinės loginės schemos

Kombinacinės loginės schemos yra sudarytos iš elementarių loginių elementų. Jos projektuojamos tokia tvarka:

1. Nustatomos loginės funkcijos ir jų argumentai (loginiai kintamieji).2. Sudaroma loginė funkcija, kurią turi vykdyti projektuojamoji schema, loginė

funkcija gali būti pateikta teisingumo lentele arba loginės funkcijos kanoninės disjunkcinės formos išraiška.

3. Minimizuojant loginės funkcijas vienu iš žinomų metodų (Karno diagramų, Kvaino ir Maklaskio ir t. t.), gaunama minimali loginės funkcijos išraiška. Šią išraišką galima pertvarkyti taip, kad ją būtų patogiau sudaryti iš loginių elementų. Sintezei naudojant integrines schemas, realizuojančias specialios bazės elementus (multiplekserius, dešifratorius ir t. t.), pasinaudojus Bulio funkcijų dekompozicija, gaunamos išraiškos su skliaustais. Taikomi specialūs kombinacinių schemų sintezės metodai, leidžiantys gauti schemas su minimaliu integrinių grandynų kiekiu.

4. Paruošta loginė funkcija realizuojama norimais loginiais elementais. Gaunama kombinacinė loginė schema.

5. Susintezavus kombinacinę schemą sudaromas kontrolinis testas, tai yra kintamųjų seka, kurią perdavus į suprojektuotos schemos įvestis galima patikrinti, ar ji tinkamai veikia.

Pavyzdys. Turime funkciją , kurios teisingumo lentelė pateikta 3.1 lentelėje.

3.1 lentelė. Kombinacinės schemos teisingumo lentelė

x1 x2 x3 x4 y0000000011111111

0000111100001111

0011001100110011

0101010101010101

0001111100011011

Naudodamiesi lentele užrašome schemos realizuojamos funkciją normaliąja disjunkcine forma:

(3.1)

Pasinaudoję Karno diagrama gausime minimalią projektuojamosios schemos atliekamos funkcijos išraišką:

. (3.2)

Tokią išraišką (kaip ir kiekvieną išraišką, užrašyta normaline disjunkcine forma) galima realizuoti panaudojant trijų rūšių elementus: IR, ARBA ir NE. Kombinacinė schema, realizuojanti funkciją (3.2), pavaizduota 3.3 pav.

3.3 pav. Kombinacinė schema, gauta naudojant IR, ARBA, NE elementus

Funkciją (3.2) užrašome su skliaustais:

. (3.3)

Panaudoję De Morgano taisyklę, gausime:

. (3.4)

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.

3.4 pav. Kombinacinė schema, gauta naudojant IR-NE loginius elementus

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

ir . (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ų ir (nes tik iš tų schemos įvesčių signalai pateks į loginio elemento įvestis) kombinacijas: , ir . Pirmoji kombinacija patikrina, ar elementas tinkamai vykdo IR-NE funkciją, o kitos dvi kombinacijos – ar tikrinamojo elemento įvestys yra prijungtos prie schemos įvesčių ir

, t. y. ar nėra nutrūkę sujungimo takeliai. Įvesties signalų kombinacija yra perteklinė, nes, jeigu schema teisingai funkcionuoja perdavus pirmąsias tris įvesčių signalų kombinacijas, ji visuomet teisingai funkcionuos ir perdavus kombinaciją . 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

, ir , visam perrinkimui vietoj aštuonių užtektų keturių įvesties signalų kombinacijų: , , ir .Visų kombinacinės schemos loginių elementų tikrinimo testas su elementų išvesčių

reikšmėmis pateiktas 3.2 lentelėje.

3.2 lentelė. Kombinacinės schemos funkcionavimo tikrinimo testas

x1 x2 x3 x4 LE1 LE2 LE3 LE4 Tikrinamieji elementai

0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1

1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1

LE1 LE4 LE1 LE2 LE1 LE2 LE2 LE3 LE3 LE4 LE3 LE4

Tokiai kombinacinei schemai patikrinti pakanka šešių įvesčių signalų kombinacijų rinkinio. Atliekant pilną perrinkimą, reikėtų šešiolikos kombinacijų. Kai įvesčių mažai, galima patikrinti perrinkus visas įvesčių signalų reikšmių kombinacijas, tačiau jei jų daug, tai padaryti sunku ar net neįmanoma dėl didelių laiko sąnaudų. Laiko sąnaudoms

sumažinti kartais sudaromi testai, kuriais tikrinamos ne visų loginių elementų, o tik visos schemos vykdomos funkcijos. Toks nepilnas testas dažnai vadinamas funkciniu testu.

Sintezuojant kombinacines logines schemas su l išvesčių, sudaroma loginių funkcijų sistema:

(3.5)

Sintezuojant tokią kombinacinę schemą, galima nagrinėti atskirai kiekvieną funkciją ir ją dengti loginiais elementais. Tačiau daugeliu atveju turėsime perteklinę kombinacinę schemą. Optimaliam rezultatui gauti taikomi sintezės metodai, kurių pagrindinė idėja – panaudoti atskirą funkciją ar jos dalį kitai funkcijai realizuoti. Tai leidžia sumažinti bendrą loginių elementų skaičių. Pavyzdžiui, turime dvi funkcijas :

(3.6)

Minimizavę kiekvieną išraišką atskirai, gausime tokias išraiškas:

(3.7)

Kombinacinė schema, realizuojanti šias funkcijas, parodyta 3.5 pav.

3.5 pav. Kombinacinė schema su dviem išvestimis

Kartu minimizuodami funkcijas, gausime:

(3.8)

Tokiu atveju gausime kombinacinę schemą, kuri pavaizduota 3.6 pav.

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 , kur – 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 į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ų ( ) 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:

, (3.9)

turime pilnąjį šifratorių (iš n į m). Dažnai naudojami šifratoriai, kurių

. (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ų atsiranda loginio vieneto lygis ir šifratoriaus išvestyse formuojamas keturių skilčių kodas

. Kadangi šiuo atveju , 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 ir . Kaip veikia toks šifratorius, aprašyta 3.3 lentelėje.

3.3 lentelė. Šifratoriaus funkcionavimo lentelė

EI x0 x1 x2 x3 x4 x5 x6 x7 y2 y1 y0 Eo

0 1 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 1 00 0 0 1 0 0 0 0 0 0 1 0 00 0 0 0 1 0 0 0 0 0 1 1 00 0 0 0 0 1 0 0 0 1 0 0 00 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 1 0 1 1 0 00 0 0 0 0 0 0 0 1 1 1 1 00 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 1

Iš lentelės sudarome išvesties signalų funkcijas:

(3.11)

kurias vykdo kombinacinė schema, pavaizduota 3.7 pav.

3.7 pav. Kodo šifratoriaus schema (a) ir jo žymuo (b)

Šifratorius žymimas raidėmis CD (angl. coder).Prioritetinių šifratorių vykdoma funkcija sudėtingesnė. Dažniausiai jie naudojami

pertraukimų aptarnavimo schemose. Dirbant kompiuteriui ir kitiems skaitmeniniams įrenginiams, dažnai reikia nustatyti bendrų išteklių naudojimo prioritetą, jei keli įrenginiai pareikalauja aptarnauti tuo pačiu metu. Todėl kiekvienam pretendentui suteikiamas atitinkamas prioritetas. Panagrinėkime prioritetinį šifratorių, surašantį klientus į eilę. Tarkim, prie prioritetinio šifratoriaus įvesčių yra prijungti aštuoni klientai . Klientas su didžiausiu indeksu turi aukščiausią prioritetą, t. y. klientas turi pirmenybę prieš klientą . Prioritetinis šifratorius skiriasi nuo dvejetainio šifratoriaus tuo, kad jo įvestyse nebūtinai turi būti unitarinis kodas – tuo pačiu metu aptarnavimo gali pareikalauti keli klientai. Prioritetinis šifratorius tokiu atveju išvestyse suformuoja aukščiausią prioritetą turinčio kliento kodą. Kaip ir dvejetainiai šifratoriai, prioritetiniai šifratoriai gali būti pilnieji ir nepilnieji.

Kaip funkcionuoja aštuonių įvesčių prioritetinis šifratorius, parodyta 3.4 lentelėje.

3.4 lentelė. Prioritetinio šifratoriaus funkcionavimo lentelė

EI x0 x1 x2 x3 x4 x5 x6 x7 y2 y1 y0 Eo G0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 0 0 0 0 0 1 0 10 1 0 0 0 0 0 0 1 0 0 10 1 0 0 0 0 0 1 1 0 10 1 0 0 0 1 0 0 0 10 1 0 0 1 0 1 0 10 1 0 1 1 0 0 10 1 1 1 1 0 1

EI x0 x1 x2 x3 x4 x5 x6 x7 y2 y1 y0 Eo G0 0 0 0 0 0 0 0 0 0 0 0 1 01 0 0 0 0 0

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:

(3.12)

Tokio šifratoriaus grafinis žymuo ir dviejų šifratorių pakopinis jungimas, siekiant padidinti prioritetų skaičių, parodyti 3.8 pav.

3.8 pav. Prioritetų skaičiaus didinimo schema

Š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 bus loginis vienetas, kuris perduodamas į pirmojo šifratoriaus CD1 įvestį ir blokuoja jo darbą. Tik nesant jokios 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.

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ėę.

3.5 lentelė. Dešifratoriaus „iš 3 į 8“ teisingumo lentelė

x1 x2 x3 y0 y1 y2 y3 y4 y5 y6 y7

0 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

Iš lentelės matome, kad dešifratorius yra mintermų indikatorius, nes kiekvieną išvestį atitinka atskiras mintermas:

(3.13)

Tokio dešifratoriaus schema pateikta 3.9 pav.

3.9 pav. Dešifratorius: a – principinė schema, b – grafinis žymuo

Toks dešifratorius darosi daug sudėtingesnis didėjant įvesčių skaičiui. Šio dešifratoriaus sudėtingumas pagal Kvaino skalę

. (3.14)

Dėl tos priežasties schemai supaprastinti dešifratoriai daromi dviejų pakopų. Panagrinėkime dviejų pakopų dešifratorių, turintį keturias įvestis. Jo schema pateikta 3.10 pav.

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ę

. (3.15)

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.

DC

0

1

2

01234567

EIIN

3x

0y

2y

4y

6y5y3y

1y

7y

2x1x

3.11 pav. Dešifratorius „iš 3 į 8“ su leidimo įvestimi ir inversinėmis išvestimis

Dešifratoriaus išvesties signalas vėlinamas tik invertoriuje ir IR elemente, kaip 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ų . Siekiant padidinti išvesčių skaičių, dešifratoriai jungiami pakopomis. Tam naudojami dešifratoriai su leidimo įvestimi. Toks pakopinis dešifratorių jungimas parodytas 3.12 pav.

3.12 pav. Pakopinis dešifratorių jungimas

Gauname dešifratorių iš 5 į 32. Į dešifratorių DC1 paduodamos dvi aukščiausiosios įvesties kodo skiltys. Šio dešifratoriaus išvesties signalai išrenka atitinkamai vieną iš dešifratorių DC2, DC3, DC4 arba DC5. Išrinktasis dešifratorius dešifruoja tris žemiausiąsias įvesties kodo skiltis.

Dešifratoriai plačiai naudojami adresams nustatyti atmintinėse.Dešifratorius patogu naudoti sudarant kombinacines schemas su keletu išvesčių,

aprašomas Bulio funkcijų sistema. Tarkim, mums reikia sudaryti kombinacinę schemą su dviem išvestimis, realizuojančią funkciją

(3.16)

Tokia kombinacinė schema parodyta 3.13 pav.

3.13 pav. Kombinacinė schema, sudaryta naudojant dešifratorių

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.

3.6 lentelė. Dvejetainio kodo atitiktis Grėjaus kodui

x3 x2 x1 y3 y2 y1

0 0 0 0 0 00 0 1 0 0 10 1 0 0 1 10 1 1 0 1 01 0 0 1 1 01 0 1 1 1 11 1 0 1 0 11 1 1 1 0 0

Kodo keitiklį galima sudaryti naudojant dešifratorių ir šifratorių. Kodo keitimo operacija atliekama atitinkamai sujungus dešifratoriaus išvestis ir šifratoriaus įvestis.Tie sujungimai lengvai nustatomi iš kodo keitiklio teisingumo lentelės. Kodo keitiklis šifratoriaus ir dešifratoriaus pagrindu parodytas 3.14 pav.

3.14 pav. Kodo keitiklio sudarymas naudojant šifratorių ir dešifratorių

Tą patį kodo keitiklį galima sudaryti ir iš loginių elementų, naudojantis anksčiau pateikta kombinacinių schemų projektavimo metodika. Trijų skilčių dvejetainio kodo keitimo į Grėjaus kodą minimizuotos funkcijos:

(3.17)

Tokia keitiklio schema pateikta 3.15 pav.

3.15 pav. Kodo keitiklis loginių elementų pagrindu

Tada kodo keitiklio schema bus paprastesnė, nei sudaryta naudojant dešifratorių ir šifratoriumi.

Kita plačiai naudojama kodo keitiklių klasė – dvejetainio-dešimtainio (arba šešioliktainio) kodo keitikliai į segmentinį kodą. Jie dažnai naudojami indikatoriniams prietaisams valdyti. Tokio keitiklio schema parodyta 3.16 pav.

3.16 pav. Dvejetainio-dešimtainio kodo keitiklio į septynių skilčių kodą prijungimo prie septynių segmentų indikatoriaus schema

Tokie kodo keitikliai sujungti su septynių skilčių indikatoriumi rodo arba dešimtainius (skaičius 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), arba šešioliktainius (skaičiai 09 ir simboliai A, b, c, d, E, F) simbolius.

Multiplekseriai

Multiplekseris (angl. multiplexer), arba duomenų selektorius (komutatorius), – į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.

3.17 pav. Multiplekseris kaip komutatorius

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.

3.18 pav Multiplekserio grafinis žymuo

Tokio keturių skilčių multiplekserio teisingumo lentelė pateikta 3.7 lentelėje.

3.7 lentelė Multiplekserio teisingumo lentelė

EI D0 D1 D2 D3 A1 A2 Y1 00 0 0 0 00 1 0 0 10 0 0 1 00 1 0 1 10 0 1 0 00 1 1 0 10 0 1 1 00 1 1 1 1

Iš lentelės galime sudaryti analitinę išraišką, aprašančią multiplekserio veikimą:

. (3.18)

Tokį multiplekserį lengva sudaryti naudojant IR ir ARBA loginius elementus. Keturių skilčių multiplekserio schema parodyta 3.19 pav.

3.19 pav. Keturių skilčių multiplekserio loginė schema

Analogiškai projektuojami ir daugiau išvesčių turintys multiplekseriai. Standartiniuose korpusuose įstatomų multiplekserių mikroschemos turi ne daugiau kaip šešiolika įvesčių.

Kai reikia komutuoti daug įvesčių, multiplekserius galima sujungti pakopomis (piramide). Pavyzdžiui, sujungus penkis keturių skilčių multiplekserius, galima gauti šešiolikos skilčių multiplekserį, kaip parodyta 3.20 pav.

3.20 pav. Multiplekserių jungimas pakopomis

Į pirmąją pakopą jungiamas multiplekserių skaičius, užtikrinantis reikiamą informacinių įvesčių skaičių. Bendras adresų skaičius

, (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 funkcijų. Realizuojant m argumentų loginę funkciją, galima naudoti multiplekserį su 2m informacinių įvesčių. Tuomet funkcija realizuojama padavus kintamuosius į adresines įvestis ir loginius nulius arba loginius vienetus.

Pavyzdys. Turime funkcijos teisingumo lentelę (3.8 lentelė).

3.8 lentelė. Multiplekseriu realizuojamos funkcijos teisingumo lentelė

x1 x2 x3 y0 0 0 10 0 1 00 1 0 10 1 1 01 0 0 11 0 1 11 1 0 01 1 1 1

Naudojant aštuonių skilčių multiplekserį, prie įvesčių A0, A1 ir A2 prijungiami kintamieji, o prie informacinių įvesčių – loginiai lygiai, atitinkantys 3.8 lentelės y stulpelį. Funkcijos realizacija aštuonių skilčių multiplekseriu pateikta 3.21 pav.

3.21 pav. Trijų kintamųjų funkcijos realizacija aštuonių skilčių multiplekseriu

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ą:

; (3.20)

čia

(3.21)

Funkcijos , vadinamos liekamosiomis (suderinančiosiomis) paduodamos į atitinkamas multiplekserio įvestis. Kintamieji, kurių atžvilgiu skaidoma funkcija, gali būti laisvai pasirenkami. Nuo kintamųjų pasirinkimo priklauso liekamųjų funkcijų sudėtingumas.

Lengviausiai multiplekseriais realizuojama funkcija, kai m-n=1. Pavyzdys. Realizuokime anksčiau nagrinėtą funkciją, naudodami multiplekserį su

keturiomis informacinėmis įvestimis. Užrašykime tą funkciją disjunkcinę normaliąja forma:

. (3.22)

Išskaidę šią funkciją pagal Šenoną, gausime išraišką:

(3.23)

Kaip realizuojama ši funkcija naudojant multiplekserį su keturiomis informacinėmis įvestimis, parodyta 3.21 pav.

3.21 pav. Funkcijos realizacija multiplekseriu su keturiomis informacinėmis įvestimis

Anksčiau minėta, kad nuo kintamųjų pasirinkimo priklauso liekamųjų funkcijų sudėtingumas. Panagrinėkime keturių argumentų funkciją.

Pavyzdys. Pabandykime multiplekseriu su keturiomis informacinėmis įvestimis realizuoti tokią funkciją:

. (3.24)

Išskaidžius funkciją kintamųjų x1 ir x2 atžvilgiu gausime:

(3.25)

Šios funkcijos realizacija parodyta 3.22 pav.

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:

. (3.26)

Kaip realizuota šitaip išskaidyta funkcija. parodyta 3.23 pav.

3.23 pav. Keturių argumentų funkcijos realizacija multiplekseriu su keturiomis informacinėmis įvestimis išskaidžius funkciją

Išskaidžius funkciją kintamųjų x3 ir x4 atžvilgiu, gaunamos paprastesnės dalinės funkcijos, o kartu ir paprastesnė loginė schema.

Demultiplekseriai

Demultiplekseris (angl. demultiplexer) – įtaisas, kuris pagal n skilčių adreso kodą 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.

3.24 pav. Demultiplekseris kaip komutatorius

Kaip veikia demultiplekseris su keturiomis išvestimis, parodyta 3.9 lentelėje.

3.9 lentelė Demultiplekserio su keturiomis išvestimis veikimas

A0 A1 x y0 y1 y2 y3

× × 0 0 0 0 00 0 1 1 0 0 01 0 1 0 1 0 00 1 1 0 0 1 01 1 1 0 0 0 1

Iš lentelės gauname analitines išraiškas, aprašančias demultiplekserio darbą:

(3.27)

Demultiplekserio loginė schema parodyta 3.25 pav.

3.25 pav. Demultiplekserio loginė schema

Nesunku pastebėti, kad demultiplekseryje įvesties signalą x pakeitus leidimo signalu EI schema veiks kaip dešifratorius su išvesties signalo leidimo signalu. Dėl tos priežasties kai kurių serijų mikroschemos neturi demultiplekserių, o dešifratoriai su leidimo įvestimi vadinami dešifratoriais-demultiplekseriais. Jie žymimi DX.

Jei reikia, demultiplekserius, kaip ir multiplekserius, galima jungti pakopomis.

Kombinaciniai sumatoriai

Kompiuteryje aritmetinė sudėties operacija naudojama labai dažnai, ne tik sudedant 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ą

. (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 ir . Reikia rasti . Rezultatą pradedame skaičiuoti nuo žemiausiosios skilties.

, (3.29)

čia k – skaičiavimo sistemos modulisToliau (nors galima skaičiuoti ir tuo pačiu metu kaip ir skaičiuojant žemiausiosios

skilties reikšmę) skaičiuojama, ar yra pernaša į aukštesniąją skiltį c0:

. (3.30)

Tada skaičiuojama antrosios skilties reikšmė

, (3.31)

kur , ir pernaša į aukščiausiąją skiltį:

. (3.32)

Toliau skaičiuojama trečiosios skilties reikšmė

. (2.30)

Taigi skaičiuojamas kiekvienos skaičiaus skilties rezultatas qi ir pernaša ci:

(3.33)

Tokiu pat būdu atliekama sudėtis ir kompiuteryje. Skirtumas tik toks, kad naudojama ne dešimtainė, o dvejetainė skaičiavimo sistema, t. y. .

Įrenginys, skaičiuojantis vienos skilties rezultatą ir pernašą, kai , 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.

3.10 lentelė. Vienskilčio sumatoriaus išvesties signalų reikšmės

ai bi pi qi ci

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

Iš lentelės gauname tokias sumos ir pernašos funkcijų išraiškas:

(3.34)

Sumatoriaus loginė schema parodyta 3.27 pav.

3.27 pav. Vienskilčio sumatoriaus loginė schema

Sumatoriaus funkciją realizuojančios kombinacinės schemos pernašos vėlinimas tp

bus 3tv, kur tv vieno elemento, kurio pagrindu sudaryta sumatoriaus schema, vėlinimas.Paprastai sumatorius su dviem įvestimis (nėra pernašos įvesties pi) literatūroje

vadinamas pusiau sumatoriumi.Nuosekliai sujungę n vienskilčių sumatorių, gausime nuoseklųjį sumatorių, kurio

loginė schema parodyta 3.28 pav.

3.28 pav. Nuoseklusis sumatorius

Šiame sumatoriuje pernaša perduodama nuosekliai, tai yra nepalankiausiu atveju (kada pernaša bus perduota per visas skiltis) pernašos signalas vėluos . Kadangi nežinoma, keliose skiltyse bus formuojamos pernašos, nustatoma ilgiausia iš visų galimų sumavimo trukmė.

Pernaša per visas skiltis labai retas atvejis. Pernaša vidutiniškai perduodama per nvid

skilčių:

(3.35)

Šia savybe pasinaudojama asinchroniniuose sumatoriuose. Asinchroniniame 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 tarpu įvestyje pernašos signalas yra p , o kai pernašos nėra, – signalas s:

(3.36)

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:

, (3.37)

čia (3.38)

Tuomet pernašos skaičiuojamos pagal išraiškas:

(3.39)

Į (3.37) irašę ci-1 išraišką, gausime:

(3.40)

Lygiagrečiojo dviejų skilčių sumatoriaus pernašą formuoja schema, parodyta 3.29 pav.

3.29 pav. Dviskilčio lygiagrečiojo sumatoriaus pernašos formavimo schema

Lygiagrečiajame sumatoriuje naudojamo vienskilčio sumatoriaus schema paprastesnė, nes nereikia formuoti pernašos, o reikia tik sumos išvesties. Lygiagrečiojo sumatoriaus struktūra parodyta 3.30 pav.

3.30 pav. Lygiagrečiojo sumatoriaus struktūra

Šiame paveiksle KSn-1, ..., KS1, KS0 pažymėtos pernašas formuojančios kombinacinės schemos. Visose skiltyse pernaša suvėlinama vienodai – . Pernašos formavimo schemos sudėtingumas

. (3.41)

Schema darosi sudėtingesnė didėjant n, pavyzdžiui, kai , schemos sudėtingumas . Schemai supaprastinti naudojami nuosekliai jungiami keli

lygiagrečiosios pernašos sumatoriai. Sumatoriaus n skilčių skaidoma į dalių, kurių

kiekviena yra m-skiltis lygiagretusis sumatorius, o tarp dalių pernaša vyksta nuosekliai. Toks sumatorius parodytas 3.31 pav.

2.31 pav. Nuosekliai lygiagretus sumatorius

Tokiao sumatoriaus pernašos vėlinimo trukmė

. (3.42)

Sumatoriaus, parodyto 2.31 pav., pernašos vėlinimo trukmė .Nuosekliąsias pernašas tarp lygiagrečiųjų pernašų dalių galima pakeisti

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. .

Aritmetinės atimties operacijai atlikti naudojami atimties įrenginiai. Vienos skilties atimties įrenginio funkcionavimas pateiktas 3.11 lentelėje.

3.11 lentelė. Vienskilčio atimties įrenginio išvesties signalų reikšmės

ai bi pi qi ci

0 0 0 0 00 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 1

Vienskilčio atimties įrenginio sumos signalo qi reikšmės sutampa su vienskilčio sumatoriaus sumos išvesties reikšmėmis, o pernašos ci reikšmės skiriasi, nes pernaša atitinka vieneto skolinimą iš aukštesniosios skilties, tai yra dvejetainio skaičiaus 10 (dešimtainio skaičiaus du) pridėjimą. Atimties įrenginio loginė schema yra labai panaši į sumatoriaus loginę schemą. Praktikoje atimties įrenginiai naudojami retai, nes atimties operaciją paprasta atlikti pakeičiant ją atėminio atvirkštinio kodo pridėjimu:

(3.43)

Atėminio papildomas kodas gaunamas invertavus tiesioginį kodą ir perdavus loginį nulį į žemiausios sumatoriaus skilties pernašos įvestį p.

Kombinaciniai skaitikliai

Kombinaciniais skaitikliais vadinamos kombinacinės schemos, atliekančios operacijas arba , arba jas abi. Atitinkamai skaitikliai vadinami sumuojančiaisiais, atimančiaisiais arba reversiniais. Kombinacinių skaitiklių operacijos panašios, kaip ir kombinacinių sumatorių, tik čia nėra antrojo operando. Vienskiltis kombinacinis skaitiklis turės tik dvi įvestis – operandą ai ir pernašą pi, taip pat dvi išvestis – sumą qi ir pernašą ci. Vienskilčio sumuojančiojo ir atimančiojo kombinacinių skaitiklių išvesties signalų reikšmės pateiktos 3.12 lentelėje.

3.12 lentelė. Vienskilčio keitiklio išvesties signalų reikšmės

Sumuojantysis kombinacinis skaitiklis

Atimantysis kombinacinis skaitiklis

ai pi qi ci ai pi qi ci

0 0 0 0 0 0 0 00 1 1 0 0 1 1 11 0 1 0 1 0 1 01 1 0 1 1 1 0 0

Sujungę n vienskilčių skaitiklių, gausime dvejetainį kombinacinį skaitiklį. Pernašas tokiame skaitiklyje galima formuoti taip pat kaip ir dvejetainiuose sumatoriuose, tai yra kombinaciniai skaitikliai gali būti nuoseklūs, asinchroniniai arba lygiagretūs.

Skaitmeninės palyginimo schemos

Skaitmeninės payginimo schemos (skaitmeniniai komparatoriai) priklausomai nuo įvesties kodų formuoja loginės sąlygos S reikšmę. Bendruoju atveju loginė sąlyga užrašoma taip:

(3.58)

arba

; (3.59)

čia: A ir B – n skilčių operandai, K – n skilčių konstanta, * – palyginimo operacija (=, ≠, <, >, ≤, ≥).

Palyginimo schemos, kaip ir bet kuri kombinacinė schema, sintezuojamos sudarant teisingumo lentelę. Iš jos sudaroma palyginimo funkcijos analitinė išraiška, kurią minimizavus gaunama loginė schema.

Pavyzdys. Suprojektuokime palyginimo schemas, lyginančias keturių skilčių operandą A su konstanta . Tikrinamos sąlygos S1, S2 ir S3:

(3.60)

Šių sąlygų reikšmės esant įvairioms operando A reikšmėms, pateiktos 3.14 lentelėje.

3.14 lentelė. Sąlygų reikšmių priklausomybė nuo operando reikšmės

Operandas A S1 S2 S3

a3 a2 a1 a0

0 0 0 0 0 1 10 0 0 1 0 1 10 0 1 0 0 1 10 0 1 1 0 1 10 1 0 0 0 1 10 1 0 1 0 1 10 1 1 0 0 1 10 1 1 1 0 1 11 0 0 0 0 1 11 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 0 1 01 1 0 0 0 1 01 1 0 1 0 1 01 1 1 0 0 1 01 1 1 1 0 1 0

Iš lentelės gauname sąlygų analitines išraiškas:

(3.61)

Šių palyginimo schemų loginės schemos parodytos 2.38 pav.

3.38 pav. Palyginimo su konstanta schemos

Lyginant du dvejetainius žodžius A ir B, dažniausiai netikrinamos sąlygos S1, S2 ir S3:

(3.62)

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.

3.15 lentelė. Dviejų skilčių žodžių palyginimo schemos išvesties signalai

a1 a0 b1 b0 S1 S2 S3

0 0 0 0 0 1 00 0 0 1 1 0 00 0 1 0 1 0 00 0 1 1 1 0 00 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 1 0 00 1 1 1 1 0 01 0 0 0 0 0 11 0 0 1 0 0 11 0 1 0 0 1 01 0 1 1 1 0 01 1 0 0 0 0 11 1 0 1 0 0 11 1 1 0 0 0 11 1 1 1 0 1 0

Iš lentelės sudarę išvesties signalų funkcijas ir jas minimizavę, gausime:

(3.63)

Šias funkcijas vykdys kombinacinė schema, parodyta 3.39 pav.

3.39 pav. Dviejų skilčių palyginimo schemos: loginė schema (a), grafinis žymuo (b)

Iš palyginimo funkcijų išraiškų matyti, kad vienos skilties lygybės sąlyga yra

iii baS 2 , (3.64)

o sąlyga „daugiau“ –

. (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

, 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 , reikia pagal tą patį algoritmą nagrinėti kitą, žemesniąją, skiltį. Dviejų skilčių žodžiams palyginti galime užrašyti:

, (3.66)

čia . (3.67)

Lygindami n skilčių žodžius, gausime tokią išraišką:

. (3.68)

Gauta išraiška, o kartu ir jos schema nėra minimali, tačiau ji patogi tuo, kad galima panaudoti papildomas įvestis , 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:

. (3.69)

Analogiškos išraiškos gaunamos ir užrašius kitas sąlygas. Dviejų skilčių loginė palyginimo schema su papildomomis įvestimis schema parodyta 3.40 pav.

3.40 pav. Dviejų skilčių palyginimo schema su išplėtimo galimybe

Loginėms sąlygoms A < B ir A > B nustatyti galima panaudoti sumatorių. Loginę sąlygą A > B atitinka skirtumo B-A neigiamas ženklas. Atimties operacija keičiama žodžių B ir A papildomo kodo sudėtimi, t. y. . Jei iš aukščiausiosios skilties pernašos nebus, tai A > B. Reikėtų atkreipti dėmesį, kad šiuo atveju gausime klaidingą lyginimo rezultatą, kai A=0, nes nulio atvirkštinis kodas yra nulis. Todėl tokiu atveju reikia papildomai tikrinti, ar lyginamas skaičius nelygus nuliui.

Trikdžiai kombinacinėse schemose

Nors loginiai elementai, iš kurių sudarytos kombinacinės schemos, yra labai patikimi, tačiau ir jose gali pasitaikyti klaidų. Klaidų gali atsirasti schemose, turinčiose bent vieną elementą su dviem ir daugiau įvesčių. Idealios schemos, kurių elementai nevėlina signalų, veikia be klaidų. Realiose schemose, kurių signalų atskirose įvestyse vėlinimo trukmės skiriasi, gali atsirasti trumpalaikių klaidų, vadinamų trikdžiais. Trikdžiai būna statiniai ir dinaminiai.

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.

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 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

. Nagrinėjamoje schemoje įvesčių signalams keičiantis iš loginio nulio lygio į loginio vieneto lygį laiko intervale 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.

Statinė klaida atsiras tik tada, kai vėlinamas signalas įvestyje prieš lygių keitimosi 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)

Šiuo atveju trikdys pasirodo laiko intervale , įvesčių signalams keičiantis 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ų lygiams dviejose ir daugiau įvesčių.

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ą:

. (3.70)

Šią funkciją realizuos schema, parodyta 3.44 pav.

3.44 pav. Loginę funkciją (2.67) vykdanti schema (a) ir jos laiko diagramos (b)

Šioje schemoje pereinant iš būsenos į būseną dėl vėlinimo inverteryje laiko intervale 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:

. (3.71)

Tokios modifikuotos funkcijos realizacijos loginė schema pateikta 3.45 pav.

3.45 pav. Modifikuotą loginę funkciją (3.71) su papildomu IR-NE elementu vykdanti schema (a)

ir jos laiko diagramos (b)

Šiuo atveju loginio elemento, vykdančio funkciją , išvestyje keičiantis argumentui x2 laiko intevale bus loginio vieneto lygis ir trikdys išvestyje y nepasirodys.

Funkciniai trikdžiai schemos išvestyje atsiranda kintant ne mažiau kaip dviem argumentų reikšmėms. Pavyzdžiui, turime funkciją

. (3.72)

Pereinant iš būsenos į būseną , dėl signalų vėlinimo gali būti pereinama per būsenas ar . Išvestyje gaunamas statinis trikdys, t. y. klaidingas perėjimas iš loginio vieneto į loginį nulį. Analogiškai gaunamas statinis funkcinis perėjimas iš loginio nulio į loginį vienetą trikdys pereinant iš būsenos į būseną . Pereinant iš būsenos į būseną , keičiasi visi trys 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.

3.50 pav. Sinchroninės nuosekliosios schemos struktūra

Atėjus sinchronizavimo signalui į atminties elementus įrašoma nauja informaciją (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.

3.51 pav. Sinchroninių nuosekliųjų schemų parengties (tS) ir išlaikymo (tH) trukmės

Įvertinus signalų parengties ir išlaikymo trukmes galima tiksliai priimti ir įrašyti informaciją į atminties elementus. Nepatenkinę šių sąlygų neišvengsime neapibrėžtumo, nes neaišku, kokia informacija bus įrašyta į atminties elementus. Kelios vienodos schemos gali pradėti veikti skirtingai dėl atminties elementų parametrų sklaidos.

Asinchroninėse schemose sinchronizavimo signalai nenaudojami. Kad jos veiktų be klaidų, pirminiai įvesčių signalai turi būti nusistovėję, tai yra būti be trikdžių. Asinchronines schemas dėl jų jautrumo trikdžiams sunkiau projektuoti, todėl jos naudojamos rečiau. Asinchroninės schemos veikia sparčiau nei sinchroninės, nes nereikia „laukti“ sinchronizavimo signalo, t. y. mažiau sugaištama laiko.

Trigeriai

Kiekviena nuoseklioji schema turi atminties elementus. Informacijai saugoti nuosekliosiose schemose naudojami trigeriai. Trigeris yra elementas, turintis dvi stabilias būsenas. Viena iš tų būsenų paprastai vadinama vienetine, kita – nuline. Trigeris dažniausiai turi vieną išvestį Q, vadinamą tiesiogine, arba vienetine, įvesimi (kartais naudojama ir kita inversinė arba nulinė išvestis ) ir kelias valdymo įvestis, kurių skaičius ir paskirtis priklauso nuo trigerio tipo. Trigerio išvestyje Q bus loginio vieneto signalas (inversinėje išvestyje loginio nulio lygis), kai trigeris yra vienetinės būsenos, ir loginio nulio lygis (inversinėje išvestyje loginio vieneto lygis), kai trigeris yra nulinės būsenos.

Dviejų stabilių būsenų atminties elementą – trigerį sudaro dvi stiprinimo pakopos, 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.

3.52 pav. Atminties elemento schema: a – sudaryta iš tranzistorinių stiprinimo pakopų,

b – sudaryta iš inverterių

Sakykim, kad tranzistorius T1 yra atviras. Žemas įtampos lygis jo kolektoriuje palaiko tranzistorių T2 uždarytą. Šio tranzistoriaus kolektoriuje bus aukštas įtampos lygis, 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.

3.53 pav. Trigerių klasifikacija

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.

3.19 lentelė. SR trigerio teisingumo lentelė

Įvestys IšvestysPastabos

0 0 0 0 1 pastovi būsena informacijos saugojimas0 0 1 1 0 pastovi būsena

1 0 0 1 0 pasikeičianti būsena

loginio vieneto įrašymas

1 0 1 1 0 pastovi būsena0 1 0 0 1 pasikeičianti

būsena loginio nulio įrašymas0 1 1 0 1 pastovi būsena1 1 0 x x

draudžiama įvesčių reikšmių kombinacija1 1 1 x x

Teisingumo lentelėje nurodytos pastovios būsenos, tai yra kai trigerio išvestyje nesikeičia loginis lygis:

, (3.79)

ir pasikeičiančios būsenos, kai trigerio išvestyje keičiasi loginis lygis,

. (3.80)

Įvesčių kombinacija S = R = 1 draudžiama, nes tokiu atveju negalima nusakyti trigerio būsenos, tai yra jis dirba ne kaip atminties elementas. Iš teisingumo lentelės sudarome trigerio charakteringąją lygtį:

. (3.81)

Pritaikię De Morgano taisyklę, gauname:

SQRSQRQ ttt 1 . (3.82)

Šią lygtį atitinka SR trigerio schema, sudaryta iš ARBA – NE elementų (3.54 pav.).

3.54 pav. SR trigerio: a – schema, sudaryta iš ARBA-NE elementų; b – grafinis žymuo; c – laiko diagramos

Kadangi trigerio schemą sudaro du loginiai elementai su grįžtamaisiais ryšiais, tai, pasiuntus į S įvestį vienetinį signalą, trigerio išvestyse loginiai lygiai keisis skirtingais laiko momentais: – praėjus laikui po signalo S pasirodymo, o – praėjus laikui

. Perdavus signalą` R, pirmiau pasikeis loginis lygis išvestyje , o paskui išvestyje, kaip parodyta 3.54 pav., c. Čia – trigerio vėlinimo trukmė, – loginio elemento vidutinis vėlinimas. Kad informaciją būtų galima patikimai priimti, trigerio įvestyje informacinio signalo trukmė turi būti .

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.

3.55 pav. SR trigerio: a – būsenų diagrama; b – veikimo algoritmo struktūrinė schema

SR trigerio veikimo algoritmas parodytas 2.55 pav., b. Išnagrinėjus šį algoritmą matyti, kad jis atitinka SR trigerio būvio reikšmių lentelę ir būsenų diagramą.

Kadangi turi būti įvykdyta sąlyga , SR trigerio charakteringąją lygtį galima užrašyti taip:

. (3.83)

Pritaikę De Morgano teoremą, gausime išraišką:

. (3.84)

Pagal šią lygtį iš IR-NE loginių elementų galime sudaryti trigerio schemą. Ji parodyta 3.56 pav.

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 . Kaip matome, ir šiame SR trigeryje išvesties signalo vėlinimo trukmė

. (3.85)

Jei sinchroninio trigerio išvesties signalus praleisime tik esant sinchronizavimo impulsui C, turėsime sinchroninį SR trigerį (kartais žymimą SRC) su tiesiogine C įvestimi. Tokio trigerio būsenos reikšmių lentelė (3.20 lentelė) papildoma sinchronizavimo impulsu C.

3.20 lentelė. Sinchroninio SR trigerio teisingumo lentelė

Įvestys IšvestysPastabos

0 x x 0 0

pastovi būsenainformacijos saugojimas

0 x x 1 11 0 0 0 01 0 0 1 11 0 1 0 0 pastovi būsena

loginio nulio įrašymas1 0 1 1 0 pasikeičianti būsena

1 1 0 0 1 pasikeičianti būsena

loginio vieneto įrašymas

1 1 0 1 1 pastovi būsena1 1 1 x x draudžiama įvesčių reikšmių kombinacija

Šio trigerio charakteringoji lygtis yra:

(3.86)

arba

. (3.87)

Čia C – sinchronizavimo impulsas, – narys, rodantis informacijos saugojimo režimą, – narys, apibūdinantis trigerio darbą asinchroniniu režimu, kai . Išvesties signalų sklidimą (praleidžia, nepraleidžia) valdo loginis elementas IR. Toks trigeris lengvai sudaromas iš loginių elementų IR-NE, kaip parodyta 3.57 pav.

3.57 pav. Sinchroninio SR trigerio: a – schema, sudaryta iš IR-NE elementų; b – grafinis žymuo;

c – laiko diagramos

Sinchroninio trigerio vėlinimas

. (3.88)

Vėlinimą šiame trigeryje padidina įvesties signalų valdymo schema. Kad trigeris stabiliai veiktų, reikia, kad:

- įvesties signalas nusistovėtų trigerio įvestyje laiku (parengties laiku) anksčiau nei sinchronizavimo impulsas C. (Parengties laikas nurodomas žinynuose.);

- įvesties signalas (S arba R) būtų išlaikomas laiką (išlaikymo laiką) pasirodžius sinchronizavimo impulsui C;

- sinchronizavimo impulso C trukmė turi būti ilgesnė už .Reikia atkreipti dėmesį, kad kai sinchronizavimo impulso trukmė ilga, pasikeitus

įvesties signalui, trigeris gali keisti būseną pakartotinai ( momentu). Todėl rekomenduojama sinchronizavimo signalą parinkti kaip galima trumpesnį, bet turi būti

. Jei abu įvesties signalų (S ir R) lygis bus aukštas, abiejose trigerio išvestyse (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 , o . Taip pašalinamas draudžiama signalų kombinacija . Asinchroninio D trigerio išvesties signalas Q būtų toks pats, kaip ir informacinis įvesties signalas D, tik pavėlintas laiku .(trigerio vėlinimo trukme), tai yra

. Dėl šios priežasties naudojamas tik sinchroninis D (žymimas CD) trigeris, kurio veikimas aprašytas 3.21 lentelėje.

3.21 lentelė. Sinchroninio D trigerio būsenų reikšmės

C D Qt Qt+1 Pastabos0 0 0 0

informacijos saugojimas

0 0 1 10 1 0 00 1 1 11 0 0 0

informacijos įrašymas

1 0 1 01 1 0 11 1 1 0

Sinchroninio D trigerio funkcinė schema parodyta 3.58 pav.

3.58 pav. Sinchroninio D trigerio funkcinė schema (a) ir grafinis žymuo (b)

Pasinaudoję 2.21 lentele, sudarome CD trigerio charakteringąją lygtį:

.

Sinchroninio D trigerio būsenų diagrama parodyta 3.59 pav., a. Ji labai panaši į SR trigerio būsenų diagramą. CD trigeris veikia tinkamai įvertinus parengties ( ) ir išlaikymo ( ) trukmes. Tai parodyta laiko diagramose 3.59 pav., b.

3.59 pav. Sinchroninio D trigerio būsenų diagrama (a) ir laiko diagramos (b)

Atėjus sinchronizavimo impulsui C, trigerio išvestyje Q pakartojamas įvesties signalas D (gali būti perduotas atsiradęs trikdys). Dėl to sinchroniniai statinio valdymo D trigeriai (statiniai D trigeriai) vadinami skaidriaisiais trigeriais.

JK trigeriai (universalieji)Asinchroniniai JK trigeriai turi dvi įvestis: J (angl. jump), nustatančią trigerį į

vienetinę būseną, ir K (angl. keep), nustatančią trigerį į nulinę būseną. Tarp JK trigerių įvesčių ir išvesčių yra kryžminis grįžtamasis ryšys, todėl leidžiama įvesties signalų kombinacija .

Asinchroninio JK trigerio veikimas aprašytas 3.22 lentelėje.

3.22 lentelė. JK trigerio teisingumo lentelė

J K Qt Qt+1 Pastabos0 0 0 0

saugo informaciją0 0 1 11 0 0 1

vieneto įrašymas1 0 1 10 1 0 0

nulio įrašymas0 1 1 01 1 0 1 skaičiavimo

režimas1 1 1 0

Iš lentelės sudarome JK trigerio charakteringąją lygtį:

. (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.).

3.60 pav. Asinchroninio JK trigerio funkcinė schema (a) ir grafinis žymuo (b)

Iš funkcinės schemos matyti, kad, esant įvesties signalams , dėl teigiamojo grįžtamojo ryšio trigeris pradeda generuoti. Trigerio būsenų diagrama ir laiko diagramos parodytos 3.61 pav.

3.61pav. Asinchroninio JK trigerio būsenų diagrama (a) ir laiko diagramos (b)

Kad trigeris nepradėtų generuoti, įvesties signalų kombinacija turi trukti laiką (pažymėkime tS), ne ilgesnį už trigerio vėlinimo trukmę , t. y. . Neįvykdžius šios sąlygos, trigeris pradeda generuoti stačiakampius impulsus, kurių pasikartojimo periodas . Toks atvejis laiko momentu parodytas 3.61 pav., b.

Panaudojus sinchronizavimo impulsą C, gausime sinchroninį statinio valdymo JK trigerį. Jis parodytas 3.62 pav.

3.62 pav. Sinchroninio statinio valdymo JK trigerio funkcinė schema (a) ir grafinis žymuo (b)

Sinchroninio JK trigerio (kartais žymimo CJK) charakteringoji lygtis yra:

. (3.90)

Šis trigeris į įvesties signalus J ir K reaguoja tik esant sinchronizavimo signalui. Tokio trigerio laiko diagramos parodytos 3.63 pav.

3.63 pav. Sinchroninio statinio valdymo JK trigerio laiko diagramos

Trigeris generuoja impulsus laiko tarpe t1–t2, kai ir (laiko tarpas) su periodu , ir, pasibaigus sinchronizavimo impulsui, trigerio būsena neapibrėžta (laiko tarpas t2–t3). Kad sinchroninis JK trigeris tinkamai veiktų, reikia, kad:

- signalai įvestyse tenkintų nustatymo (ts) ir išlaikymo (tH) laiko trukmes;- įvesties signalų reikšmių kombinacija , tęstųsi ne ilgiau už trigerio

vėlinimo trukmę tt.Kad įvykdyti šias sąlygas, į trigerio grįžtamo ryšio grandines įjungiami vėlinimo

elementai tv, kurie 3.62 pav. pavaizduoti punktyrinėm linijom. Tada .JK trigeris universalusis, nes iš jo galima gauti kitus trigerius. Nepadavus signalų

kombinacijos , trigeris veiks kaip SR trigeris. Sujungus J įvestį per inverterį, gausime D trigerį.

T trigeriai (skaičiavimo)T trigeris – atminties elementas su viena skaičiuojančiąją įvestimi T, keičiančia

trigerio būseną į priešingą. Jis veikia taip pat, kaip ir JK trigeris, kai . Sujungus JK trigerio įvestis J ir K kartu, gaunama T įvestis. Kaip veikia T trigeris, parodyta 3.23 lentelėje.

3.23 lentelė. Asinchroninio T trigerio būsenų reikšmės

T Qt Qt+1 Pastabos0 0 0

saugo informaciją0 1 11 0 1 skaičiavimo

režimas1 1 0

Iš asinchroninio T trigerio būsenų reikšmių lentelės sudaroma charakteringoji lygtis:

. (3.91)

Sinchroninio trigerio charakteringoji lygtis yra:

. (3.92)

T trigerio funkcinė schema yra panaši į JK trigerio schemą. Ji parodyta 3.64 pav.

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)

Kartais T trigerio grafiniame žymėjime vietoj T rašoma +1. T trigerio būsenų diagramos ir laiko diagramos parodytos 3.65 pav.

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 ( ).

Sujungę D trigerio inversinę išvestį su D įvestimi, kaip parodyta 3.66 pav., gausime T trigerį, kuriame sinchroninė įvestis taps T įvestimi.

3.66 pav. T trigerio, sudaryto iš CD trigerio, funkcinė schema (a) ir grafinis žymuo (b)

Dvitakčiai trigeriaiStatiniai 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.

3.67 pav. Dvitakčio JK trigerio funkcinė schema (a) ir grafinis žymuo (b)

Nuoseklią teigiamojo grįžtamojo ryšio grandinę nutraukia tas trigeris, kurio valdymo įvestyje veikia signalas . 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.

3.68 pav. Dvitakčio (MS) JK trigerio būsenų diagrama (a) ir laiko diagramos (b)

M trigerio įvesties signalas pakeičia išvesties Q būvį tik pasibaigus sinchronizavimo 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ą .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.

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 ir jo išlaikymo laiko sąlygos galioja ir sinchronizavimo impulsui pasibaigiant. Kad tinkamai veiktų dvitaktis trigeris, įvesties signalas D turi nesikeisti laiko intervalą ts prieš sinchronizavimo impulso pabaigą.

Analogiškai dirba ir dvitaktis SR trigeris.

Dinaminiai trigeriaiFrontais 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 3.70 pav.

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 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 anksčiau, nei pasirodys

teigiamas sinchronizavimo impulso frontas;- įvesties signalas po sinchronizavimo impulso teigiamojo fronto turi būti

išlaikomas ne trumpiau kaip laiką .Praktikoje dažnai naudojami „trijų trigerių“ dinaminiai trigeriai, kartais vadinami

šešių elementų trigeriais. Tokių trigerių loginė schema parodyta 3.71 pav.

3.71 pav. „Trijų trigerių“ dinaminio SR trigerio funkcinė schema (a) ir grafinis žymuo (b)

Tai dviejų pakopų trigeris. Elementai E5 ir E6 sudaro pagrindinį (išvesties) trigerį, o E1 ir E2 bei E3 ir E4 – pagalbinius (komutuojamuosius) trigerius. Iš pagalbinių trigerių informacija perrašoma į pagrindinį trigerį, kai sinchronizavimo impulsas pereina iš vieneto į nulį. Laiko diagramos, iliustruojančios šio trigerio veikimą, parodytos 3.72 pav.

3.72 pav. „Trijų trigerių“ dinaminio SR trigerio laiko diagramos

Pažiūrėję į funkcinę schemą matome, kad elementai E2, E3, E5, E6, atmetus kryžminius ryšius tarp elementų E2, E3, sudaro statinius sinchroninius SR trigerius, reaguojančius į įvesties informaciją, kai sinchronizavimo impulsas . Kad trigeris būtų jautrus tik sinchronizavimo impulso pokyčiui, reikia nepraleisti įvesties signalo

nusistovėjus loginio vieneto lygiui sinchronizavimo impulso įvestyje . Tai daro loginiai elementai E1 ir E4, nepraleidžiantys įvesties signalų, iki nenusistovės . Kai

, elementų E2 ir E3 išvestyse bus aukštas lygis ( ), o elementų E1 ir E4 išvestyse bus invertuoti įvesties signalai, kurie perduodami į elementų E2, E3 įvestis. Atėjus signalui , schema reaguoja į įvesties signalus. Jei , turime saugojimo režimą. Jei , , taške b2 atsiras loginio nulio lygis ir pagrindinis trigeris (E5, E6) pereis į loginio vieneto būseną. Kryžminis ryšys tarp elementų E2, E3 sudaro trigerį, kuris saugos būseną , . Signalas neleis pagrindiniam trigeriui reaguoti į išorinių S ir R signalų pokyčius. Situacija pasikeis tik atėjus signalui , kai signalai , tačiau yra blokuojami elementai E2, E3. Įvesties signalai S ir R turi poveikį pagrindiniam trigeriui tik tol, kol elementai E2 ir E3 keičia būseną.

Tačiau atidžiau panagrinėjus, kaip šis trigeris veikia, išryškėja esminis jo trūkumas: perdavus žemo lygio S ir R signalus sinchronizavimo impulso priekinio fronto metu ir vėliau, pakeitus S ir R signalų reikšmes nepasibaigus sinchronizavimo impulsui, trigeris reaguoja į tuos pokyčius keisdamas būseną. Dėl šios priežasties dinaminiai SR trigeriai paprastai negaminami, o dažniausiai naudojami dinaminiai D trigeriai. Tokio trigerio schema parodyta 3.73 pav.

3.73 pav. „Trijų trigerių“ dinaminio D trigerio funkcinė schema

Šioje schemoje yra ir asinchroninės įvestys ir , kurios leidžia nustatyti trigerį į norimą padėtį. Taip pat yra gaminami ir dinaminiai JK trigeriai (pavyzdžiui, 74ALS109). Toks trigeris neturi anksčiau aprašyto RS trigerio trūkumo dėl JK trigeryje esančių grįžtamųjų ryšių iš išvadų ir .

Pastaruoju metu pradėti naudoti vienos pakopos vidinio vėlinimo trigeriai JK (T) su šešių elementų valdomu frontu. Tokio trigerio loginė schema ir laiko diagramos parodytos 3.74 pav.

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 (skaičiavimo režimas). Pradiniu momentu . Trigerio darbui užtikrinti turi būti

tenkinama sąlyga , kur t – pirmojo ir antrojo elementų vėlinimas (vidinis vėlinimas), - 2IR elementų vėlinimas, – 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 trigeriai gali būti valdomi įvairiais signalais, ir tai parodoma grafiniame jų žymėjime. Labiausiai paplitę trigerių grafiniai žymėjimai parodyti 3.75 pav.

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 signalai. Skirtingo tipo D trigerių išvesčių signalai parodyti 3.76 pav.

3.76 pav. Įvairių D trigerių darbo laiko diagramos

Matome, kad dinaminis trigeris, valdomas neigiamojo fronto (Q4), informaciją įrašo kaip ir dviejų pakopų tiesioginio valdymo trigeris (Q5).

Kai įvesčių signalai netenkina nustatymo (tS) ir išlaikymo (tH) laikų sąlygų (tai yra tuo metu keičiasi informacinių signalų reikšmės), sinchroniniuose trigeriuose gali atsirasti anomalių (klaidingų) būsenų. Tokiu atveju, trigeriui keičiant būseną, procesas gali nutrūkti atėjus signalui, draudžiančiam priimti informaciją. Trigeris pereis į kitą arba grįš į ankstesnę būseną. Kartais trigeris gali pasilikti ir neapibrėžtos būsenos, kai išvesties įtampos lygis yra tarpinis tarp loginio nulio ir loginio vieneto lygių. Projektuojant schemas būtina neleisti susidaryti anomalioms sąlygoms.

Be anksčiau nagrinėtų, gaminami ir kombinuotieji trigeriai. Tokie trigeriai turi papildomų įvesčių, skirtų pradinei trigerio būsenai nustatyti. Pavyzdžiui, sinchroninis JK trigeris, asinchroniškai nustatomas į nulinę ( ) ar vienetinę ( ) būseną (3.77 pav.).s

3.77 pav. Sinchroninis JK trigeris su asinchroninėmis SR įvestimis

Šio trigerio funkcionavimas aprašytas 3.24 lentelėje.

3.24 lentelė. Kombinuotojo JK trigerio funkcionavimas

S R C J K Qt Qt+1

0 1 X X X X 1 Asinchroninis nustatymas į vienetą

1 0 X X X X 0 Asinchroninis nustatymas į nulį

0 0 X X X X XX Draudžiamas rinkinys1 1 1 1 Q Skaičiavimo režimas1 1 0 1 X 0 Nulio įrašymas1 1 1 0 X 1 Vieneto įrašymas1 1 0 0 Q Q Informacijos saugojimas1 1 1 X X Q Q Informacijos saugojimas1 1 0 X X Q 0 Informacijos saugojimas

Lentelėje simbolis rodo, kad trigeris reaguoja į neigiamąjį frontą. Kartais

naudojama rodyklė ↓. Jei trigeris reaguoja į teigiamąjį frontą, žymima simboliu arba ↑.

Tokiame trigeryje aukščiausią valdymo prioritetą turi asinchroninės įvestys, ir tik esant neaktyviems asinchroninių įvesčių lygiams veikia sinchroninės įvestys. Taigi, kad trigeris reaguotų į sinchronizavimo impulsą C, įvestyse S ir R turi būti vienetiniai lygiai.

Baigtiniai automatai

Žodis „automatas“ turi dvi prasmes:

- automatas – įrenginys, kuris vykdo tam tikras funkcijas be žmogaus pagalbos (pavyzdžiui, ESM įkrautos programos vykdomos savarankiškai);

- automatas – techninių automatų matematinis modelis. Šia prasme automatas, parodytas 3.78 pav., yra juoda dėžė, turinti įvestis , išvestis

ir vidinių būsenų aibę .

3.78 pav. Automatas kaip juoda dėžė

Jei aibės X, Y, A yra baigtinės, turime baigtinį automatą. Baigtiniai automatai, sukurti loginių elementų pagrindu, dažnai vadinami skaitmeniniais automatais.

Baigtinio automato matematiniam modeliui išsamiai aprašyti reikia turėti:1) įvesties signalų aibę ;2) išvesties signalų aibę ;3) automato būsenų aibę ;4) pradinę automato būseną ;5) perėjimų funkciją ;6) automato išvesčių funkciją .Š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

(3.93)

Muro automato išvesties signalai priklauso tik nuo jo būsenų ir nepriklauso nuo įvesties signalų.

Milio automatas aprašomas lygtimis

(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) b) c) 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).

3.79 pav. Milio automato grafas

Muro automatas dažniau aprašomas pažymėta (jungtine) perėjimų lentele, kurioje kiekvienam stulpeliui, be būsenos, priskiriamas dar ir išvesties signalas (-ai), formuojamas (-i) esant tai automato būsenai. Tokia lentelė parodyta 3.26 lentelėje.

3.26 lentelė. Muro automato perėjimai

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.

3.80 pav. Muro automato grafas

Kiekvienai automato būsenai vaizduoti naudojama skirtinga loginių lygių kombinacija, saugojama atminties elementuose. Jei automatas turi S būsenų, joms užkoduoti reikės n trigerių, kur

. (3.95)

Kiekviena būsena užkoduojama unikalia trigerių padėčių kombinacija, pavyzdžiui, a1, a2, a3, a4 Û 00, 01, 10, 11.

Automatas gali būti perteklinis, tai yra gali turėti nereikalingų būsenų. Prieš sintezuojant automatą reikia minimizuoti, tai yra rasti jam ekvivalentišką automatą. Minimizuojant Milio automatą visos pradinio automato būsenos grupuojamos į nesusikertančias klases, o po to kiekvienai klasei priskiriama ekvivalentinė būsena. Dvi būsenos laikomos ekvivalentinėmis, jei, pasiuntus bet kokį signalą, kiekvienos būsenos automato išvesties signalai bus tie patys. Imkime Milio automatą, aprašytą 3.27 lentelėje.

3.27 lentelė. Milio automato perėjimai ir išvestys

a1 a2 a3 a4 a5 a6 a1 a2 a3 a4 a5 a6

x1 a3 a4 a3 a4 a5 a6 x1 y1 y1 y1 y1 y1 y1

x2 a5 a6 a5 a6 a1 a2 x2 y1 y1 y2 y2 y1 y1

Pasinaudoję išvesčių lentele, sudarome dvi nepersidengiančias klases – B1 ir B2. Atlikę pirmąjį grupavimą, gausime 3.28 lentelę:

3.28 lentelė. Milio automato perėjimai ir išvestys po pirmojo grupavimo

B1 B2

a1 a2 a5 a6 a3 a4

x1 B2 B2 B1 B1 B2 B2

x2 B1 B1 B1 B1 B1 B1

Pasinaudoję šia ir 3.27 lentelėmis, sudarome tris klases: C1, C2 ir C3. Atlikę antrąjį grupavimą, gausime tokią lentelę:

3.29 lentelė. Milio automato perėjimai ir išvestys po pirmojo grupavimo

C1 C2 C3

a1 a2 a5 a6 a4 a3

x1 C3 C3 C2 C2 C3 C3

x2 C2 C2 C1 C1 a1 C2

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

Pradinio automato grafas pateiktas 3.81 pav.

3.81 pav. Neminimizuoto Milio automato grafas

Minimizuoto automato grafas pateiktas 3.82 pav.

3.82 pav. Minimizuoto Milio automato grafas

Minimizuojant Muro automatą būsenos grupuojamos į ekvivalentines klases, kaip ir Milio automato, tačiau čia ekvivalentinėmis būsenomis laikomos vienodai pažymėtos būsenos.

Kiekvieną Milio automatą galima pakeisti ekvivalentiniu Muro automatu ir atvirkščiai. Muro automatas būsenų turi daugiau arba tiek pat, kiek jam ekvivalentiškas Milio automatas. Jei Milio automatui iš vienos būsenos pereinant į skirtingas būsenas formuojami skirtingi išvesties signalai, tai ekvivalentiniame Muro automate reikės panaudoti kelias būsenas, formuojančias skirtingus išvesties signalus. Automatui, parodytam 3.82 pav., ekvivalentiškas Muro automatas, parodytas 3.83 pav., turės keturias būsenas, nes atsiras būsena , kuriai esant bus formuojamas išvesties signalas y2. Tai akivaizdu, pažvelgus į jo pažymėtą perėjimų lentelę.

3.83 pav. Muro automato grafas (a) ir jo pažymėta perėjimų lentelė (b)

Projektuojant valdymo įrenginius, automato išvesčių signalai atitinka valdymo signalus, kurie nustato elementarių operacijų, vadinamų mikrooperacijomis, valdomų automato išvesčių signalais, seką. Mikrooperacijų vykdymo seka vadinama mikroprograma, o automatas, formuojantis mikrooperacijų valdymo signalus, –mikroprograminiu automatu (Milio, Muro).

Mikroprogramas įprasta vaizduoti mikroprogramų grafais (veikimo algoritmų 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.

3.84 pav. Mikroprogramų grafai: a – Mili, b - Muro

Mikroprogramos grafe parodytas signalas B, paleidžiantis automatą. Šis grafas vaizdžiai parodo perėjimų tarp būsenų sąlygas ir nurodo atliekamas operacijas. Kai B=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).

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.

3.85 pav. Milio automato struktūra

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.

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).

3.86 pav. Muro automato struktūra

Abiejų automatų struktūroje matome panašius elementus: kombinacinę schemą KS1, formuojančią trigerių sužadinimo signalus, tai yra perėjimų funkcijas; kombinacinę 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, 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 etapai:

- pradinių funkcionavimo duomenų pateikimas;- 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 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.

3.87 pav. Milio automato veikimo grafas

Šio automato veikimo algoritmą galima aprašyti mikroprogramos grafu, kuris parodytas 3.88 pav.

3.88 pav. Milio automato mikroprogramos grafas

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.

3.31 lentelė. Milio automato veikimo lentelė

Esamoji būsena Įvestys Išvestys Kita būsenaTrigeriųsužadinimosignalai

Q0 Q1 Q1 Q0 D1 D0

a1 0 0 0 1 0 0 a2 0 1 0 1

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

a3 1 0 1 0 0 0 1 a4 1 1 1 1

1 1 1 1 0 a3 1 0 1 0

0 0 1 0 a1 0 0 0 0

a4 1 1 0 0 0 1 0 a0 0 0 0 0

Pasinaudoję 2.30 lentele, gausime trigerių sužadinimo (D) ir išvesties (y) signalų funkcijas:

;

;

; (3.96)

;

.

Automato schema pateikta 3.89 pav.

3.89 pav. Milio automato schema

Į visus automato trigerius duodamas tas pats sinchronizavimo impulsas C.

Milio automato išvesčių signalai priklauso ne tik nuo automato būsenos, bet ir nuo įvesčių signalų reikšmių. Todėl šio automato išvesčių signalai gali keistis, kai automatas yra vienos būsenos, pasikeitus įvesties signalams. Kartais tai yra teigiamybė, o kartais nepageidaujama, kad išvesties signalai keistųsi takto metu, tai yra kol automato būsena nesikeičia. Todėl, pereinant iš būsenos ai į būseną aj, naudojamos papildomos būsenos ak ir al, iš kurių besąlygiškai pereinant į būseną aj bus suformuoti atitinkami išvesties signalai yk

ir yl, kaip parodyta 3.90 pav. Mikroprogramos grafe bus naudojama papildoma sąlyga – signalo xp reikšmės tikrinimas – ir formuojami atitinkami signalai yk arba 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.

3.91 pav. Muro automato grafas

Pasinaudojant automato grafu sudaroma Muro automato veikimą aprašanti 3.32 lentelė.

3.32 lentelė. Milio automato veikimo lentelė

Dabartinė būsena Įvestys Išvestys Kita būsenaTrigerių sužadinimo

signalaiQ2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

a1 0 0 1 0 1 0 0 a2 0 1 0 0 X 1 X X 1

1 1 a4 1 0 0 1 X 0 X X 1

1 a3 0 1 1 0 X 1 X X 0

a2 0 1 0 1 0 0 a3 0 1 1 0 X X 0 X 1a3 0 1 1 0 0 0 0 1 a5 1 0 1 1 X X 1 X 0a4 1 0 0 0 0 1 0 a5 1 0 1 X 0 0 X 1 X

1 0 a3 0 1 1 X 1 1 X 1 X

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

Naudojame tris sinchroninius JK trigerius, nes automatas turi penkias būsenas. Būsenas koduojame dvejetainiu kodu, tai yra a1 – 001, a2 – 010 ir t. t. Lentelėje simbolis X rodo, kad gali būti tiek loginis, vienetas tiek loginis nulis. Pavyzdžiui, žymėjimas JK – 1X rodo, kad JK trigeris pereis į vienetinę būseną sužadintas signalu 10 arba 11. Tarkime, kad

, . Gausime tokias trigerių sužadinimo ir išvesčių funkcijas:

;

;

;

; (3.97)

;

;

;

.

Muro automato loginė schema parodyta 3.92 pav. Kuriant automatą panaudotas dvejetainis dešifratorius „iš 3 į 8“.

3.92 pav. Muro automato loginė schema

Projektuojant reikia numatyti galimybę automatą nustatyti į pradinę būseną. Tam dažniausiai naudojamas papildomas nustatymo signalas, duodamas į trigerių asinchroninio valdymo įvestis. Nustatymo į pradinę būseną signalas 3.92 pav. neparodytas.

Skaitmeninių schemų sinchronizavimas

Sudėtingų skaitmeninių schemų patikimam darbui užtikrinti naudojama sinchronizacija, pašalinanti signalų lenktynių sukeliamas kritines situacijas.

Schema valdoma sinchronizavimo impulsais, siunčiamais į atskiras loginių schemų dalis ir leidžiančiais atminties elementams priimti informaciją. Informacijos apdorojimo greitis priklauso nuo sinchronizavimo impulsų pasikartojimo dažnio. Skaitmenines informacijos apdorojimo schemas galime įsivaizduoti kaip kombinacinių schemų (KS) ir atminties elementų (AE) pasikartojančią seką, kuri parodyta 3.93 pav.

3.93 pav. Skaitmeninių įrenginių informacijos apdorojimo trakto apibendrinta struktūra

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ų.

3.94 pav. Sinchronizavimo impulsų parametrai

Impulso trukmė turi būti pakankama, kad informacija būtų patikimai įrašyta. Ji priklauso nuo naudojamų trigerių parametro , pateikiamo naudojamų trigerių techniniuose aprašymuose. Taigi, būtina įvykdyti sąlygą

. (3.98)

Trigeris pereis į naują būseną, praėjus laikui arba , kuris dažniausiai yra ilgesnis už . 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ų . Šį skirtumą pažymėkime . Pasikeitus trigerio būsenai kombinacinėje schemoje formuojami nauji signalai, kurie, praėjus maksimaliai kombinacinės schemos vėlinimo trukmei , patenka į atminties elementų įvestis. Ši nauja informacija turi nesikeist parengties laiką prieš duodant sinchronizavimo impulsą. Taigi sinchronizavimo signalo pauzės trukmė turi tenkinti sąlygą:

. (3.99)

Taktinių impulsų periodas

. (3.100)

Skaitmeniniai signalai vėlina ne tik loginiuose elementuose, bet ir sklisdami jungiamosiomis linijomis tarp elementų. Signalų vėlinimo jungiamosiose linijose įtaka labiausiai juntama, kai naudojamos didelės integracijos schemos. Projektuojant sinchronizavimo sistemą būtina atsižvelgti ir į vėlinimą jungiamosiose linijose. Taip pat turi būti įvertintas ir sinchronizavimo impulsų generatoriaus impulsų periodo nestabilumas, kad schemose būtų išvengta anomalių būsenų.

Atitinkami reikalavimai turi būti keliami ir sinchronizavimo impulsų srauto stabilumui. Esant labai lėkštiems frontams, elementų išvesties grandinės gali išsilikti veikiamos tiesioginių srovių ilgą laiką, be to, dėl atminties elementų suveikimo slenksčių sklaidos jie persijungs skirtingais laiko momentais (tai būdinga KMOP elementams). Trigerių persijungimo skirtingu momentu poveikis toks pats, kaip ir tada, kai sinchronizavimo impulsai patenka į elementus skirtingu metu, nors sinchronizavimo impulsas tas pats.

Dažniausiai naudojama vienfazė sinchronizacija, kai į visus AE duodamas tas pats sinchronizavimo impulsas (3.93 pav. į AE1 ir AE2 patenka tas pats sinchronizavimo impulsas). Vienfazė sinchronizacija yra paprasčiausia ir užtikrina didelę schemos veikimo spartą. Ji tinkama, kai naudojami dinaminio valdymo trigeriai.

Dažnai naudojama dvifazė (ar daugiau kaip dviejų fazių) sinchronizavimo sistema, kurioje sinchronizavimo signalų C1 ir C2 laikai nesutampa. Jie parodyti 3.95 pav.

3.95 pav. Dvifazių sinchronizavimo signalų laiko diagrama

Naudojant statinio valdymo trigerius (jie paprastesni) 2.92 pav. parodytoje struktūroje vienfazė sinchronizavimo sistema netiks, nes, atėjęs sinchronizavimo signalas nesulaikomai sklis per visą schemą. Naudojant dvifazę sinchronizaciją, AE1 elementai bus valdomi C1, o AE2 elementai – C2. Tada C1 impulsas įrašys informacija į AE1, o impulsas C2 – į AE1. Dvifazė sinchronizavimo sistema leidžia naudoti paprastus vienos pakopos trigerius.

Dvifazės sistemos sinchronizavimo signalų parametrai skaičiuojami taip pat, kaip ir vienfazės sistemos.

Daugiafazė sinchronizacija (sinchronizavimo signalų daugiau kaip du) leidžia padidinti skaičiavimo sistemų veikimo spartą organizuojant įrenginio skirtingos

greitaveikos dalių keitimąsi informacija. Atskiroms schemoms sinchronizuoti daugiafazė sinchronizacija paprastai nenaudojama.

Kontroliniai klausimai

Bulio algebra1. 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 elementai6. 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:

1. Kaip skirstomos loginės schemos?2. Kokios skaitmeninės schemos vadinamos kombinacinėmis?3. Kokios skaitmeninės schemos vadinamos nuosekliosiomis (trigerinėmis)?

Kombinacinės loginės schemos

4. Kokia tvarka projektuojamos kombinacininės schemos?5. Kuriam tikslui naudojama De Morgano taisyklė?6. Kontrolinio testo sudarymo esmė.7. Kas per schema yra šifratorius?8. Kada naudojami šifratoriai?9. Kam skirtas dešifratorius?10. Kokia yra kodo keitiklio paskirtis?11. Kodėl multiplekseriai ir demultiplekseriai vadinami komutatoriais?12. Kodėl multiplekseriai yra universalūs loginiai elementai?13. Kokią aritmetinę operaciją atlieka kombinaciniai sumatoriai?14. Kokias operacijas atlieka vienskiltis sumatorius?15. Kodėl nuoseklusis sumatorius sumuoja ilgai?16. Kaip sutrumpinama sumavimo lygiagrečiojo pernešimo sumatoriuje trukmė?17. Kaip atliekama atimties operacija?18. Kokios skaitmeninės sulyginimo schemos yra paplitusios?19. Kada kombinacinėse schemose atsiranda statinis trikdys?

Nuosekliosios loginės schemos

20. Kodėl nuosekliosios loginės schemos skirstomos į asinchronines ir sinchronines?21. Kas tai yra sinchroninių nuosekliųjų schemų parengties ir išlaikymo trukmės?22. Kas tai yra trigeris?23. Kaip klasifikuojami trigeriai pagal jų funkcionavimą ir valdymą?24. Kaip veikia SR trigeriai?25. Koks skirtumas yra tarp asinchroninio ir sinchroninio SR trigerių charakteringųjų

lygčių?26. Kodėl D trigeriai vadinami vėlinimo trigeriais?27. Kaip veikia JK trigeriai?28. Kokias sąlygas turi tenkinti įvesties signalai, kad JK trigeris nepradėtų generuoti?29. Kodėl JK trigeris yra universalus?30. Kaip veikia T trigeris?31. Kokiomis savybėmis pasižymi dvitakčiai trigeriai?32. Kodėl praktikoje dažnai naudojami dinaminiai trigeriai?33. Kokie elementai naudojami baigtinio automato matematiniame modelyje?34. Kaip aprašomas Muro automatas?35. Kaip aprašomas Milio automatas?36. Nuosekliųjų loginių schemų (mikroprograminių automatų) projektavimo etapai.37. Kaip sudaroma automato (veikimo) perėjimų lentelė?38. Kodėl sudėtingų skaitmeninių schemų patikimas darbas užtikrinamas jas

sinchronizuojant?