digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/i207/digit-syst.pdf1 © peeter...
TRANSCRIPT
1
1I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Digitaalsüsteemid, andme- ja juht-osa,
modelleerimise alused
L2. Arvusüsteemid ja kahend-loogika
L3. Loogikafunktsioonide esitamine ja teisendamine
L4. Digitaalsüsteemid, andme- ja juht-osa, modelleerimise alused
2I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Digitaalsüsteem
Süsteemid NB! Piirid pole täpselt paigas…
Mehhaanikasüsteem – liikumine
Elektrisüsteem – elektrienergia
Elektroonikasüsteem – infotöötlus Analoogsüsteem – signaalide esitamine ja
töötlus pidevate suurustena
Digitaalsüsteem – signaalide esitamine jatöötlus diskreetsete suurustena
Sardsüsteem (embedded system) kaasajal (hajutatud) digitaalsüsteem, mis sisaldab nii analoog-
alamsüsteeme aga ka mehhaanilisi ja elektrilisi komponente
Suvaline digitaalsüsteem sissaldab alati analoog, elektrilisi jamehhaanilisi komponente – nt. nivoomuundurid, toide, lülitid, …
2
3I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
kahendarvud /kahendloogika
süm
bolid
/ kü
mne
ndar
vud
reaa
larv
ud
Abstraktsioonitasemed
Arvutisüsteem:CPU + RAM
Loogika-funktsioonid
ProtsessorRTL:
ALU & Co
Assembler /binaarkood
Rakendus-programmid
Progr.keeled
KasutajaliidesOperatsiooni-
süsteem
Loogika-elemendid
Transistorid /traadid
Pooljuhid:Si, GaAs & Co
digitaalsüsteem
4I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Abstraktsioonitasemed
Süsteemi tase moodulid & infokanalid
Algoritmi tase alam-moodulid & protokollid
Register-siirete (RT) tase ALS-d, registrid & siinid
Loogikatase skeem loogikaelementidest
Füüsikatase skeem transistoridest kristalli pinnalaotus
3
5I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Abstraktsioonitasemed
Käitumuslik mõõde
Füüsikaline mõõde
algoritm
süsteemi spetsifikatsioon
register-siirete kirjeldus
loogika-avaldised
diferentsiaalvõrrandid
Struktuurne mõõde
CPU, mälu
protsessor, alamsüsteem
ALU, register, MUX
loogikalüli, triger
transistor
ristkülik / polügon
std.element / alam-element
makro-element
plokk / kiip
kiip / trükkplaat
Skeemi tase
Süsteemi tase
Algoritmi tase
Register-siirete tase
Loogika tase
6I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Abstraktsioonitasemed
Tase Abstraktsioon Vahendid
Süsteem Käitumine ruumis ja ajas,väljaviigud, ajalised piirangud
Plokk-skeemid, diagrammid,kõrgtaseme keeled
Arhitektuur Funktsionaalsete üksusteüldine jaotus
HDL-d, pinnaplaneeringuvahendid ennustamiseks
Registersiire Andmevoo sidumine sõlmedeja mikrokäskudega
Süntees, simuleerimine,resursside kasutamine
Funktsionaalsedmoodulid
Primitiivsed operatsioonid jajuhtimisvahendid
Teegid, moodulitegeneraatorid, skeemisisestus
Loogika Loogikafunktsioonid, skeemidloogikaelementidest
Skeemisisestus, süntees jasimuleerimine, test
Lülitus Transistorskeemideelektrilised omadused
RC ekstraheerimine, ajastusekontroll ja analüüs
Pinnalaotus Geomeetrilised parameetrid Pinnalaotuse redaktor, DRC,laotus ja trasseerimine
4
7I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Disaininäide
Neli kahend-sisendit ja -väljundit nt. 4 lülitit (S1-S4) ja
4 valgusdioodi (L1-L4)
Sisendite muutumine muudab väljundeid kui S1=1 & S2=0, siis
L1←1, muidu L1←0
kui S1=0 & S3↑, siisV++ (V[1]≡L2, V[0]≡L3)
kui S1=1 & S2=1 & S4↓,siis L4← ┐L4
Võimalik programm
int s3p=0, s4p=0, v=0; l4=0;while (1) {if (s1&!s2) l1=1; else l1=0;if (!s1&((s3^s3p)&s3)) v++;if (v>3) v=0;l2=v/2; l3=v%2;if (s1&s2&((s4^s4p)&!s4)) l4~=l4;s3p=s3; s4p=s4; wait_100ms();
}
s1…s4 – lülitid DIP1…DIP4 programmis
l1…l4 – LED-d (tuled) leds – kõik 4 ühes sõnas! üksikute bittidega
manipuleerimine?
8I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Protsessor / kontroller
(C)PU – (Central) Processing Unit sisendid/väljundid (lülitid, lambid, releed, ...)
vahetulemused (nt. muutujad registrites/mälus)
töötlus- e. arvutus-sõlm (nt. aritmeetika-loogikaseade)
juhtosa (käsuloendur ja -register, juhtautomaat, ...)
juhtautomaat
aritmeetika-loogikaseade
registrid sisend/väljund
5
9I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Disaininäide – mikrokontroller
Esialgne programm leds: and -> ‘0’; or -> ‘1’ dubleeritud lugemine
char leds=0,dip3p=0,dip4p=0,v=0;// Initsialiseeriminewhile (1) {if (DIP1&&!DIP2) leds|=0b1000;else leds&=0b0111;if (!DIP1&&((DIP3^dip3p)&&DIP3))
v++;if (v>3) v=0;leds=(leds&0b1001)|(v<<1);if (DIP1&&DIP2&&
((DIP4^dip4p)&&!DIP4))leds^=0b0001;
dip3p=DIP3; dip4p=DIP4;led_out(leds); delay_100ms;
}
ROM – 548 / RAM – 81
Optimeeritud programm ~~ Shannoni arendus
char leds=0,dip3p=0,dip4p=0,v=0;// Initsialiseeriminewhile (1) {
if (DIP1) {if (DIP2) {
if ((DIP4^dip4p)&&!DIP4) leds^=0b0001;leds&=0b0111;
}else leds|=0b1000;
}else {
if ((DIP3^dip3p)&&DIP3) v++;if (v>3) v=0;leds=(leds&0b0001)|(v<<1);
}dip3p=DIP3; dip4p=DIP4;led_out(leds); delay_100ms;
}
ROM – 518 / RAM – 81
10I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Disaininäide – skeem
Tegevused kui S1=1 & S2=0, siis
L1←1, muidu L1←0
kui S1=0 & S3↑, siisV++ (V[1]≡L2, V[0]≡L3)
kui S1=1 & S2=1 & S4↓,siis L4← ┐L4
Kolm parallelset osa kombinatsioon-skeem
loendur + loogika
T-triger + loogika
Kombinatsioon-skeem
L1 ← S1 & !S2
Loendur + loogika
D-tiger – S3p ← S3
v++ ← !S1 & !S3p & S3
L2 ←V[1]; L3 ← V[0]
T-triger + loogika
D-tiger – S4p ← S4
!L4 ← S1 & S2 & S4p & !S4
Asünkroonsed pisihädad
takti ja signaali muutusesünkroniseerimine
vt. S3 muutmist…
6
11I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Disaininäide – skeem
http://www.itcollege.ee/~lrv/I207/switch4led4.txt
12I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Andme-osa & juht-osa
Digitaalsüsteem = andme-osa + juht-osa
7
13I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Andme-osa & juht-osa
Andme-osa (operatsioonosa e. operatsioonautomaat) andmete töötlus (arvutamine) – operatsioonid (loogikafunktsioonid)
andmete salvestamine (mälu) – registrid (mäluelemendid)
taktsignaal
operatsioonid: registri väljund –> registri sisend
register: salvestab tulemusi
Juht-osa (juhtautomaat) operatsioonide järjestamine
tingimuslik järjestamine
(eelmiste) operatsioonide tulemused / välised tingimused (sisendsignaalid)
Algoritm – operatsioonide järjestus / mikroprogramm
Andme-osa & juht-osa
14I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Algoritm operatsioonid
sammud
Andme-osa
Juht-osa
8
15I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Disaininäide #2 – valgusfoor
Valgusfoor kui digitaalsüsteem andmeosa + juhtosa
Kogutsükkel 30 sek., andurid puuduvad roheline 12 sek. punane
kollane 3 sek. kollane+punane
punane 12 sek. roheline
kollane+punane 3 sek. kollane
Andme-osa – loendur (0...14)
Juht-osa – automaat I={<12,≥12}, O={R1,Y1,G1,R2,Y2,G2,rst_cnt(?)}
16I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Valgusfoor – andme-osa
andme-osa
juht-osa
≥12rst_cnt
R1 Y1 G1
Andme-osa = loendur 0…14 → 4 bitti (0…15!)
asünkroonne nullimine kui loendur == 15 (e. 4-NAND)
12 sek. == 0…11
3 sek. == 12…14 e. ≥12
≥12 == 1100+1101+1110(+1111 määramatusena)
≥12 == 11-- (e. 2-AND)
rst_cnt vajalikkus? sõltub juht-osa “tarkusest”
R2 Y2 G2
http://enos.itcollege.ee/~lrv/I207/tlc-datapath.txt
9
17I207 - Digitaalloogika ja -süsteemid – L4© Peeter Ellervee
Valgusfoor – tulemus
http://www.itcollege.ee/~lrv/I207/tlc-applet.txt
18I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Tulemuse kontroll
Modelleerimine mudeli korrektsus? simuleeritavus
Kasutatav keel? C++?
Paralleelsus! C++ lõimed? ADA? Spetsiaalkeeled?
• Veel üks keel! :-(
Valmis-seade/prototüüp …
… või mudel?
10
19I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
SW vs HW
Tarkvara üksik kontrollvoog mitu kontrollvoogu ühel protsessoril mitmel protsessoril
• hajutatud ülesanded - protsessorite vaheline kaugus
sünkroniseerimispunktid (muutujad)
Riistvara paralleelselt töötavad moodulid sünkroniseerimissignaalid
20I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Riistvara modelleerimine
Paralleelselt töötavad moodulid Mudel üksikul protsessoril Tulemus peaks olema korratav Lihtne põhimõte – signaalil uus ja vana väärtus arvutatakse kõikide signaalide uued väärtused signaalidele omistatakse uued väärtused
Analoogsüsteemid igal simulatsioonitsüklil uus arvutus
Digitaalsüsteemid uus arvutus ainult muutunud sisendite korral
11
21I207 - Digitaalloogika ja -süsteemid - L5© Peeter Ellervee
Digitaalsed simulaatorid
Sama-aegsed operatsioonid modelleerimine järjestikulises süsteemis
Simulatsioonitsükkel signaalide järgmiste väärtuste leidmine signaalide jooksvate väärtuste värskendamine
Tsükkelpõhised ja sündmustepõhised cycle-based vs. event-based
Viite modelleerimine ühikviide (unit-delay) nullviide (zero-delay) deltaviide (delta-delay)
22I207 - Digitaalloogika ja -süsteemid - L5© Peeter Ellervee
Ühik- ja nullviide
Ühikviide Peamiselt tsükkelpõhised simulaatorid
Igas simulatsioonitsüklis1. arvuta (kõigi) signaalide uued väärtused
2. värskenda signaalide väärtused
3. suurenda simulatsiooniaega ühe ühiku võrra
Nullviide Sündmustepõhised simulaatorid Simulatsioonitsükkel – tsükkel tsüklis
1. sündmuse alusel arvuta uus väärtus, eemalda sündmus2. lisa uus sündmus sündmuste jadasse3. korda 1-st alates kuni leidub jooksvale hetkele planeeritud sündmusi4. suurenda simulatsiooniaega ühe ühiku võrra
leia uuedväärtused
värskendaväärtused
leia uusväärtus,eemaldasündmus
suurendasimul.aega
lisa uussündmus
12
23I207 - Digitaalloogika ja -süsteemid - L5© Peeter Ellervee
Deltaviide – -viide / -delay
Sündmustepõhised simulaatorid
Simulatsioonitsükkel – tsükkel tsüklis tsüklis1. kõikide sündmuste jaoks arvuta uued väärtused (1. tsükkel)2. eemalda kasutatud ja lisa uued sündmused sündmuste jadasse3. korda 1-st alates kuni leidub jooksvale simulatsiooniajale
planeeritud sündmusi 4. suurenda simulatsiooniaega ühe ühiku võrra
[ja korda tsüklit 1-st alates]
leia uuedväärtusedkõikidelejooksvatelesündmustele
suurendasimul.aega
eemaldavanad jalisa uuedsündmused
24I207 - Digitaalloogika ja -süsteemid - L4© Peeter Ellervee
Motivatsioon
Riistvara kirjelduskeel Hardware Description Language (HDL)
Erinevad abstraktsiooni-tasemed Sama keel kõikidel projekteerimisetappidel
… või vähemalt enamikel projekteerimisetappidel
Sama mooduli erinevate kirjeldustevõrreldavus
Simuleerimine erinevatel kirjeldustasemetel
Dokumenteerimine
Modelleeritav spetsifikatsioon