Iseisvaks harjutamiseks - juhtautomaadi süntees

Töö eesmärgiks on realiseerida juhtautomaat. 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.


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

Näidislahendused #1 ja #2.


tagasi