Üldinfo
Nõudmised
Eksmieelduse saamiseks peavad kõik laboratoorsed
tööd olema esitatud hiljemalt 23. maiks (kaasa arvatud).
Hiljem esitatud tööd arvesse ei lähe!
Kõik tööd on individuaalsed ja valikuvariant tuleb kirja
panna ülesande võtmisel.
Töid võib sooritada arvutiklassi(de)s selleks ettenähtud aegadel
ning vabal ajal, kui arvutiklassi(de)s pole tunde. Samuti võib seda
teha mujal (kodus, sõbra juures, jne) kui selleks soovi on. Probleemide
tekkides saab konsultatsiooni küsida kas labori ajal või e-maili
teel.
Skeemiredaktorina on soovitav kasutada disainiprogrammi
DixiCAD,
mis jookseb nii UNIX tööjaamadel kui ka PC-del. Lubatud on kasutada
ka teisi skeemi sisestamiseks ja simuleerimiseks sobivaid programme, kuid
esitamisel peab sel juhul olema see programm kaasas.
Tööde kaitsmine
Kaitsmisel tuleb ette näidata:
- Esialgne ülesandepüstitus ja -variant
- Skeem
- Simulatsioonitulemused (peavad näitama kõiki antud
ülesande puhul võimalikke variante)
Kaitsmisel tuleb:
- Seletada oma lahenduse valikut ning tema tööd (soovitavalt HTML-is,
kuidkõlbavad ka teised tekstivormingud)
Kaitsta saab:
- Laboris, esitades töö arvutil.
- E-maili kaudu, saates kõik disaini failid
pakitud kujul ühele eelpool toodud aadressidest. Juurde
tuleb lisada seletus koos ülesandevariandiga.
NB! Viimane variant sobib vaid juhul kui skeemi loomiseks on kasutatud
DixiCADi.
Laboratoorsed tööd
- Koostada kombinatsioonskeem (lühidalt KS), mis juhib 7-segmendi indikaatori
ühte segmenti. /Pikem seletus/
- Koostada skeem, mis realiseerib mingi etteantud mooduliga loenduri.
/Pikem seletus/
- Koostada operatsioonautomaat e. Aritmeetika-Loogika seade (ALU), mis võimaldab
täita nelja funktsiooni. /Pikem seletus/
Töö viiakse läbi PC-del või SUN SPARC arvutitel,
kasutades programmi DixiCAD.
NB! DixiCAD-i kasutamiseks UNIX tööjaamadel tuleb ta
käivitada käsuga dixi ning seda tuleb teha kindlasti mingis alamkataloogis,
mitte otse kodukataloogis!
Pikem seletus
Töö nr. 1.
Koostada KS, mis juhib 7-segmendi
indikaatori ühte segmenti arvude 0-9 korral.
Oletame, et meil on üks
numbriline indikaator, millel tahame esitada arve 0-st 9-ni. Selleks,
et midagi niisugust teha, peame koostama KS-i, mille sisendisse kahendkoodis
antud arv x muudetakse indikaatori segmentide juhtsignaalideks
y1, y2, y3, y4, y5, y6, y7
Nüüd vaatame, kuidas näidatakse indikaatoril numbreid
0-9 ning tähti A, B,
C, D, E, F:
Ülesandest
| Antud laboriülesande puhul tuleb luua KS mis, erinevalt
üldjuhust, realiseerib vaid ühe segmendi
juhtimise loogika.
|
Läbi tuleb teha järgmised etapid:
- Koostada funktsioon y=f(x)
Näiteks, kui meil on antud segment A, siis peab ta
põlema hakkama järgmistel juhtudel
(näidatud punaselt)
Kuna kahendkoodis saab 4 bitiga esitada 16 arvu (0-15), siis arvude 10-15
korral on meie funktsioon määramata.
Selle info põhjal tulebki karnaugh' kaardi abiga
funktioon y välja kirjutada.
- Luua skeem
Saadud funktsiooni põhjal saame, kasutades vastavaid
loogikalülitusi, välja joonistada digitaalskeemi.
Seejärel tuleb see sisestada DixiCAD-i
skeemiredaktorisse.
- Sisestada stiimulid
UNIX masinatel tuleb võtta mingi tekstiredaktor, ning sisestada sinna
stiimuli vektorid. Stiimuli vektor on
skeemi sisenditele mingil taktil antud signaalide kombinatsioon. Kui me
hiljem simuleerime skeemi reaktsiooni, võetakse igal taktil
üks vektor koostatud nimekirjast kuni kas lõpeb simuleerimisaeg
või lõpevad vektorid. Kui viimased saavad otsa enne,
jääb viimase vektori väärtus kuni simuleerimisaja
lõpuni.
PC-del käib asi pisut teisiti - graafiliselt. Seal tuleb käivitada
programm graafiline stiimuliredaktor, mille
abil saab ette anda soovitud sisendsignaalid.
Mõlemal juhul tuleb sisenditele anda signaalid väärtustes
0 ... 9.
- Simuleerida skeemi reaktsioon
Järgnevalt tuleb simuleerida
skeemi reaktsioon vastavalt meie poolt kirjapandud sisendite kombinatsioonidele.
Enne simulaatori käivitamist on tarvis paika panna kaks parameetrit
- skeemi nimi ja simuleerimisaja pikkus. Viimane saadakse stiimulivektorite
arvu korrutamisel kellatakti pikkusega.
Teksti rezhiimis saadakse see eelmises
punktis meie poolt ette antud ASS//-lause kaudu ning lisaks
võib otsa liita veel ühe takti pikkuse, mille DixiCAD oma tarbeks
kasutab. Seega 10 vektori puhul kellataktiga 100ns, saame tulemuseks
1000 + 100 = 1100ns.
Graafiliselt saab stiimulitsülite lõplikku aega näha redaktori
paremas alaservas.
- Analüüsida saadud tulemusi
Selleks, et teada saada kuidas skeem töötab, tuleb vaadelda
sisendeid ja väljundeid (või ka sisepunkte) üheskoos kasutades
signaali analüsaatorit.
Kui programm tööle läheb, tuleb valida akna alaservas
asetsevast menüüst "Select Signals", mispeale tekib
alammenüü, kust tuleb valida "Insert Signal".
Menüü kohal olevasse aknasse tuleb klõpsata hiirega ning
kirjutada soovitud signaalide (skeemi sisendid ja väljundid) nimed.
Mitme signaali lisamisel tuleb nad teineteisest eraldada komaga.
Seepeale peaks ekraanile tekkima mingi sarnane kujutis:
Madal nivoo tähendab nulli, kõrge ühte. Iga kriipsuvahe
märgib üht kellatakti. Kui meil on ees kõik skeemi sisendid
ja soovitud väljundid, saame vaadelda skeemi väljundit vastavalt
sisenditele antud signaalist. Antud juhul on sisenditele X4...X1 antud
arvud 0...9 kahendkujul. Väljund Y kajastab skeemi reaktsiooni nendele
stiimulitele.
Soovi korral saab vaadelda sisendit ka kuueteistkümnendsüsteemis.
Bus name: x <ENTER>
Bits: 4 <ENTER>
Bit(3) x4 <ENTER>
Bit(2) x3 <ENTER>
Bit(1) x2 <ENTER>
Bit(0) x1 <ENTER>
Bus Name: <ENTER>
|
Selleks tuleb valida "Select Signals" -> "Insert Bus" ning
klikkides samasse kastikesse kuhu ennegi. Kui küsitakse siini (Bus)
nime, tuleb anda üks suvaline mis veel ei esine (pole skeemi
sisend, väljund ega sisepunk ja pole ka juba ekraanile valitud
signaali nimi.
Kui meil olid sisendid nimetatud x1, x2 jne, siis on
täiesti sobilik anda nimeks lihtsalt x.
Järgnevalt küsitakse siini laiust. Sinna tuleb kirjutada sisendite
arv. Kui küsitakse vanimat bitti (näiteks Bit(3)), tuleb
sisestada selle sisendi nimi, mis algselt kahendkoodi vanima biti jaoks
valiti, antud näite puhul
x4. Järgnevate bittide puhul tuleb siis vastavalt
ka nimed anda. Kui noorima bitini on välja jõutud, küsib
programm uue siini nime. Kuna me neid rohkem ei taha, siis vajutame kohe
ENTERit. Selleks, et soovitud pilti ette manada, tuleb menüüst
valida "Edit Screen" -> "Redraw Screen"
NB! Kui minimiseerimise
käigus mõni sisend hoopis ära kadus, tuleb nn. fiktiivse siini
loomise käigus olla ettevaatlik, et õigeid tulemusi saada.
Kui väljund on õige iga sisendi korral, siis on töö
arvestamiseks kõlbulik.
Töö nr. 2
Koostada skeem, mis realiseerib mingi
etteantud mooduliga loenduri.
Ülesande idee on teha loendur, mis mingi arvu sammude järel uuesti
nullist alustab, nagu näiteks elektonkella sekundite loendur, mis loeb vahemikus
0-59 ja siis jälle otsast alustab.
Antud juhul võib mooduli valida vahemikust 4...62, välja arvatud kahe
astmed miinus 1(2n-1), s.t. 7, 15, 31, 63. Mooduli väärtusest
sõltub ka vajaminevate trigerite arv.
Skeem tuleb koostada loengus antud "suvalise mooduliga loenduri" baasil vastavalt
valitud moodulile. Kui kasutada trigereid, millel on ka Reset e.
nullimise sisend, tuleb ka sellest teha skeemi sisend, et saaks trigeritele
loendamist lubava signaali ette anda. Nullimine on soovitav teha
sünkroonselt (nullimisel nihutatakse 0 sisse läbi sisendite);
kuid lubatud on ka asünkroonne variant, kus nullimine toimub
Reset sisendi juhtimise teel.
NB! Seejuures tuleb tähele
panna, et kokku ei tohi ühendada skeemist tulevat nullimissignaali ning skeemi
sisendist tulevat juhet. Selle asemel tuleb nad ühendada vastava
elementaarloogika abil.
Sammud, mis läbi tuleb teha, on samad mis eelmisegi ülesande puhul.
Vaid stiimulid tuleb ümber teha nii, et saaks uue skeemi sisenditele
ette anda taktsignaali. PC-l võib selleks kasutada Clock käsku.
Nagu ka esimese töö puhul, saab töö arvestatud juhul, kui
ajadiagrammil on näha, et skeem töötab korrektselt.
Töö nr. 3
Koostada operatsioonautomaat
e. Aritmeetika-Loogika seade (ALU), mis võimaldab täita
nelja funktsiooni.
Koostada operatsioonautomaat
Aritmeetika-Loogika seade (ALU), mis võimaldab täita
nelja funktsiooni:
- Aritmeetikaoperatsioonid:
- liitmistehe (+)
- üks vabalt valitud aritmeetikaoperatsioon (-, *, /, SHR, SHL, ...)
- Loogikaoperatsioonid:
- kaks vabalt valitud loogikaoperatsiooni (AND, OR, NOT, XOR, NAND, ...)
Skeemi põhimõte on toodud järgneval joonisel:
Sisendid A ja B on 4-bitised andmesisendid, C on
2-bitine juhtsisend ning Y on 4-bitine väljund.
Juhtsisendi C abil saab kahendkoodis ette anda soovitud operatsiooni.
Iga funktsiooniplokk (F1 .. F4) sisaldab üht täidetavatest
operatsioonidest. Need kastid on tiglikud, s.t. nad ei pea olema sugugi tehtud
eraldi komponentidena.
Jooniselt võib näha, et kõik funktsionaalplokid arvutavad
oma tulemusi samaaegselt. See, millise tulemus jõuab skeemi väljundisse,
valitakse multiplekseri (MUX) abil kasutades juhtsisendit C.
[Back to DTC Home Page]
[Back to Info Page]
[Back to "Computers I" Page]
© 1999 Priidu Paomets <priidu@pld.ttu.ee>
|