Luennot
Sivukartta
Sanasto
Laskuharjoitukset
|
ASM -esim 1: yksinkertainen tilaketju
Toiminnan määrittely
Suunnitellaan valomainos, jossa teksti vilkkuu oheisen kaavion mukaan. Valopaneeli
on ensiksi tyhjä, sitten paneeliin ilmestyy yksi kerrallaan sanat HERKUTTELE, JASKAN ja KUPPILASSA. Tämän jälkeen näyttö tyhjenee jälleen.
Jokainen erilainen valonäyttö on yksi tila. Sanat ovat laitteen antosignaaleja. Kellojakso on 2 sekuntia:
|
|
Lohkokaavio
Lohkokaavio määrittelee piirin toiminnalliset osat. Laatiminen ei ole välttämätöntä, mutta voi selkeyttää
suunnittelua isompien piirien ollessa kyseessä. Tässä esimerkissä rakennetaan neljätilainen sekvenssipiiri.
Tilat toistuvat peräkkäin aina samanlaisina ja samassa järjestyksessä (piiri on siis teoreettisesti laskuri, joka laskee 0 --> 3), joten ottosignaaleja
ei kellon lisäksi ole:
|
|
ASM -kaavio
Jokaiselle tilalle täytyy määritellä tilalohko, nimi ja tilakoodi.
Tilakoodit voidaan valita halutusti, kunhan se on jokaiselle tilalle yksilöllinen. Yleensä pyritään
nimeämään tilat jossakin loogisessa järjestyksessä. (Esim. 4 tilaa: 00, 01, 10, 11). Tilakoodin koko pyritään
pidetään mahdollisimman pienenä, koska mitä suurempi tilakoodi on, sitä enemmän tarvitaan kiikkuja. Käytännössä bittien määrä juontuu 2-kantajärjestelmän mukaisesti. Mikäli
piirissä on s tilaa, tarvitaan bittejä k = log2s kokonaisluvuksi pyöristettynä. Ylimääräisiä
bittikombinaatioita kutsutaan käyttämättömiksi tiloiksi. Tilakoodien valinta vaikuttaa siis piirin monimutkaisuuteen.
Suoraan ei kuitenkaan voida päätellä, mikä koodivalinta olisi optimaalisin.
Tilat voidaan nimetä mielivaltaisella tavalla. Järkevää on kuitenkin nimetä ne nimillä, jotka jotenkin kuvaavat ko. tilaa. Esimerkissämme tilat on nimetty:
EI (näytöllä ei ole mitään, tilakoodi=00), H (näytöllä lukee HERKUTTELE, tilakoodi=01), HJ (näytöllä lukee HERKUTTELE JASKAN, tilakoodi=10), sekä HJK (näytöllä lukee HERKUTTELE JASKAN KUPPILASSA, tilakoodi=11)
|
|
Jos kaivataan täsmällisempää lohkokaaviota, voidaan se tehdä esim. ASM-kaavion perusteella:
D-kiikkujen määrä (2 kpl) saadaan suoraan tilakoodin suuruudesta (4 tilaa = 2 numeroa). Se, että kiikut ovat juuri D-kiikkuja on vedetty hatusta ja kiikkujen tyyppi otetaan huomioon kunnolla vasta kombinaatiopiiriä suunnitellessa.
Tässä kuvassa Q0 ja Q1 (sekä niiden komplementit) ovat nykytilan signaaleja ja D0 sekä D1 ovat uuden tilan signaaleja. Kombinaatiopiiri on esitetty vasta lohkokaaviotasolla.
Seuraavalla sivulla käydään läpi kombinaatiopiirin muodostaminen.
|