--------- SECOND COUNTER ----------------- KUVAUS: Testipenkki on tehty kellottomaksi prosessiksi, jonka simulaattori ajaa kertaalleen läpi. Prosessin sisällä on sijoitettu signaaleihin ja käytetty wait-käskyä lohkon testaukseen. Lohkon oikea toiminta varmistetaan assert-lauseilla. Eri testitapaukset testaavat järjestyksessä: - Laskurin resetoinnin rst_n-signaalilla - Peruslaskennan kellon sekunttien, minuuttien ja tuntien pyöriessä - Laskurin arvon asetuksen set-signaalilla Testipenkissä voi muuttaa laskurin genericien arvoja. KÄÄNTÖJÄRJESTYS: counter.vhdl, second_counter.vhdl tb_counter.vhdl --------- STATE MACHINE ----------------- KUVAUS: Tilakone on simppeli toteutus, jossa on yhdessä rekisterissä nykyinen tila. Ulostuloon on valittu one hot -koodaus, eli yksi ulostulo kerrallaan on aktiivinen. Testipenkki tarkistaa kaikki tilasiirtymät, mutta ei kaikilla eri nappiyhdistelmillä. Toteutus on varsin yksinkertainen, joten osittainenkin testikattavuus riittänee. KÄÄNTÖJÄRJESTYS: state_machine.vhdl tb_state_machine.vhdl ------------------------------------------ KÄÄNTÖKÄSKYT: Lintulassa täytyy ensin hakea modelsim käskyllä: source /share/tktprog/mentor/modeltech-6.3d/modeltech.sh Sekä luoda kirjastot jos näin ei ole vielä tehty: vlib my_lib vmap work $PWD/my_lib vmap Tämän jälkeen vhdl-tiedosto voidaan kääntää käskyllä vcom -check_synthesis POLKU/tiedosto.vhdl Vaihtoehtoisesti voi käyttää ghdl-simulaattoria (ei ole Lintulassa) komennolla "make". AJANKÄYTTÖ: Heikki: 4h Petteri: 2h