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