Kodutöö #3 - Automaadi süntees

Kodutöö eesmärgiks on realiseerida automaat. Automaadi aluseks olev graafskeem ja kasutatav elementbaas valitakse matriklinumbri alusel:
1. Jääk 9-ga jagamisel annab graafskeemi numbri ja automaadi tüübi (GSA1-GSA6 ja Mealy/Moore).
2. Jääk 7-ga jagamisel annab väljundkombinatsioonid (O1-O4).
3. Jääk 5-ga jagamisel annab sisendmuutujad (C1-C4). "not" tähendab seda, et GSA tingimuslikult plokil on "+" ja "-" ära vahetatud.
4. Jääk 3-ga jagamisel annab kasutatava elementbaasi. Elementide suurused ja viited pole antud töös olulised.

NB! Kui avastate, et kellelgi on samasugused lähtetingimused (graaf ja elementbaas), siis valige mõni tabelis mitteleiduv sisendite ja/või väljundite kombinatsioon (kooskõlastatult õppejõuga) ja märkige see kindlasti ära ka aruandes.

jagaja -> 9 7 5 3
jääk Tüüp Väljundid Sisendid Elementbaas
0 GSA1
Mealy
O1 = "y1, y2"
O2 = "y2, y3"
O3 = "y3, y4"
O4 = "y1, y4"
C1 = "x1"
C2 = "x2"
C3 = "x3"
2-and, 3-and,
2-or, 3-or,
2-xor, not,
JK-triger
1 GSA1
Moore
O1 = "y2, y3"
O2 = "y1, y4"
O3 = "y2, y4"
O4 = "y1, y3"
C1 = "x2"
C2 = "x3"
C3 = "x1"
2-nand, 3-nand,
4-nand, not,
D-triger
2 GSA2
Mealy
O1 = "y3, y4"
O2 = "y1, y2"
O3 = "y1, y3"
O4 = "y2, y4"
C1 = "x3"
C2 = "x2"
C3 = "x1"
2-nor, 3-nor,
4-nor, not,
D-triger
3 GSA2
Moore
O1 = "y1, y3"
O2 = "y2, y3"
O3 = "y1, y4"
O4 = "y2, y4"
C1 = "not x1"
C2 = "not x2"
C3 = "x3"
4 GSA3
Moore
O1 = "y2, y4"
O2 = "y1, y3"
O3 = "y3, y4"
O4 = "y1, y2"
C1 = "not x3"
C2 = "not x2"
C3 = "x1"
5 GSA4
Mealy
O1 = "y1, y4"
O2 = "y3, y4"
O3 = "y2, y3"
O4 = "y1, y2"
6 GSA4
Moore
O1 = "y1, y2"
O2 = "y2, y3"
O3 = "y2, y4"
O4 = "y3, y4"
7 GSA5
Moore
8 GSA6
Moore

GSA1
GSA2
GSA3
GSA4
GSA5
GSA6

Näiteks vastab matriklinumbrile 999999:
1. GSA1 Mealy
2. O1="y1,y2"; O2="y2,y3"; O3="y3,y4"; O4="y1,y4"
3. C1="not x3"; C2="not x2"; C3="x1"
4. 2-and, 3-and, 2-or, 3-or, 2-xor, not, JK-triger

Vastav graafskeem on toodud paremal.


Tähtaeg

Nominaaltähtaeg on 19. detsember. Erandjuhul ja mõjuval põhjusel on lubatud ka hilisem esitamine, kuid sellisel juhul tuleb eelnevalt kokku leppida, et oleks tagatud tööde kontroll enne eksamit. Mõjuva põhjuseta hilinenud töö punkte korrutatakse 0,985-ga iga hilinenud päeva kohta (0,9 nädala kohta). Korrektselt vormistatud tööd eraldi kaitsmist ei vaja. Vigade parandused on lubatud eeldusel, et enne eksamit on ka parandused esitatud.

Ülesanded

1. Teisendada graafskeem automaadi tabeliks või olekudiagrammiks sõltuvalt automaadi tüübist. Taotleda tuleks olekute vähimat arvu.

2. Kodeerida automaadi olekud arvestades kasutatava mäluelemendi tüüpi. Aruandes tuleb esitada ka kodeeringu põhjendus. Mitme erineva kodeeringu proovimisel/hindamisel tuleks sellele ka viidata.

3. Sünteesida ja minimeerida siirde- ja väljundfunktsioonid. Minimeerimismeetod on vaba, kuid võimaluse korral tuleks arvestada ka kasutatavat elementbaasi (ja seda kommenteerida).

4. Teisendada saadud funktsioonid (mitmetasemeliseks) skeemiks kasutades ette antud elementbaasi. Kuna elementide parameetreid pole ette antud, siis minimaalsuse/optimmalsuse nõue käib ainult loogika-elementide arvu kohta. Tulemuseks saadud skeemi võib esitada nii graafiliselt kui ka võrranditena.

5. Valideerida skeemi korrektsust modelleerimise teel. Modelleerimiseks võib kasutada suvalist VHDL simulaatorit. Tulemustes peab kajastuma automaadi tabeli ja skeemi käitumiste võrdlus. Oluline on, et kõik siirded oleksid kaetud.

Kokku 15 punkti.

Näidislahendus, näidislahendus #2

Vormistamine

Töö peab olema esitatud kas trükituna, elektrooniliselt või parandusteta käsikirjas.
Elektroonilisel esitusel on soositud formaadiks Portable Document Format (.PDF) võ mõni muu üldlevinud formaat, kus lehekülje kujundus ei sõltu printerist. Kõik ülejäänud formaadid on ebasoosingus ja on lubatud ainult erikokkuleppel. Siia kuuluvad nii HTML (ka lingina), Rich Text Format (.RTF), MS Word Document (.DOC, DOCX), LibreOfiice/OpenOffice Document (.ODT, .SXW) kui ka StarOffice Document (.SDW). Fail (või link) tuleks üles laadida Moodle'sse (või saata e-postiga LRV (at) ati.ttu.ee ).


tagasi