12
1 1 I207 - 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 2 I207 - 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 ja töö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 ja mehhaanilisi komponente – nt. nivoomuundurid, toide, lülitid, …

Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 2: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 3: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 4: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 5: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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…

Page 6: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 7: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 8: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 9: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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?

Page 10: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 11: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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

Page 12: Digitaalsüsteemid, andme- ja juht-osa, …enos.itcollege.ee/~lrv/I207/digit-syst.pdf1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid – L4 1 Digitaalsüsteemid, andme-

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