Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Synkronisen sekvenssipiirin suunnittelu ja toteutus

Samankaltaiset esitykset


Esitys aiheesta: "Synkronisen sekvenssipiirin suunnittelu ja toteutus"— Esityksen transkriptio:

1 Synkronisen sekvenssipiirin suunnittelu ja toteutus
HTOL Digitaalitekniikan perusteet Luku 1 Sivu 1 () Luentokalvoseloste Fe Synkronisen sekvenssipiirin suunnittelu ja toteutus

2 Harjoitustyön 2 tavoitteet
opitaan piirisuunnitteluprosessin vaiheita opitaan dokumentointia opitaan suunnittelemaan synkroninen sekvenssipiiri ASM-menetelmällä annetun määrittelyn pohjalta tutustutaan VHDL-kuvauskieleen opitaan käyttämään piirisuunnitteluohjelmaa suunnitelman syöttöön (Design Entry) VHDL-kuvauskielellä suunnitellun piirin kääntämiseen (Compilation) eli sovittamiseen PLD-piiriin piiritoteutuksen tutkimiseen PLD-piirin simulointiin PLD-piirin ohjelmointiin opitaan testaamaan toteutettu piiri

3 Harjoitustyön 2 sisältö, vaiheet, ajoitus ja työkalut
Aiheen valinta ja varaus Tee työselostusta kaikkien vaiheiden aikana! Lohkokaaviosuunnittelu ASM-kaavion laadinta HT-kerralla 1 ATK-luokassa Kynällä ja paperilla Office-sovelluksilla 1 ASM-kaavio loppuun VHDL-kuvauksen laadinta HT-kerralla 2 ATK-luokassa Office-sovelluksilla Quartus II -ohjelmalla 2 VHDL loppuun ja käännös Toteutuksen tutkiminen Simulointi HT-kerralla 3 ATK-luokassa Quartus II -ohjelmalla Office-sovelluksilla 3 Päälohkokaavion piirtäminen Testauksen suunnittelu HT-kerralla 4 ATK-luokassa Quartus II -ohjelmalla Office-sovelluksilla 4 Ohjelmointi Piirin toiminnan testaus HT-kerralla 5 ATK-luokassa Harjoitustyöalustalla Office-sovelluksilla 5 HT-kerta 6 on varattu työn loppuunsaattamiseen tarvittaessa

4 Harjoitustyön 2 dokumentointi, luovutus, arvostelu ja palautus
Henkilökohtainen työselostus dokumenttipohjalle laadittuna Quartus II -suunnittelutiedostot arkistoituna ja liitettynä työselostukseen Sijoita työselostus suunnittelutiedostoarkistoineen Tuubiin viikon 13/2009 (tietotekniikan ryhmät) tai viikon 23/2009 (hyvinvointiteknologian ryhmä) loppuun mennessä Työ arvostellaan skaalalla hyväksytty - hylätty Tieto hyväksymisestä Tuubissa Hylätty työ palautetaan täydennettäväksi tai korjattavaksi Tuubiin Korjattu työ tulee toimittaa Tuubiin siellä mainittuun päivämäärään mennessä

5 Työympäristön valmistelu ATK-luokassa
1 Työympäristön valmistelu ATK-luokassa F:  Data (F:) - DigTeknPiir Digitaalitekniikka (piirit) -opintojakson pääkansio - HarjTyo2Opiskelijatunnuksesi Harjoitustyön 2 pääkansiosi HarjTyo2RyhmasiSukunimesiEtunimesi.doc Työselostus 1) Tee tietokoneen F:-levylle alla esitetyt kansiot (ellei niitä jo ole) 2) Talleta työselostuspohja opintojakson verkon harjoitustyösivulta kansioon seuraavalla nimellä ja avaa se Wordiin 3) Avaa tämä ohje opintojakson harjoitustyösivulta Adobe Readeriin Täydennä työselostusta riittävän usein työtä tehdessäsi!

6 Määrittely ja sen tarkennus
1 Määrittely ja sen tarkennus Esitä tehtävän määrittely lyhyesti omin sanoin Tarkenna tarvittaessa aiheen kuvauksessa esitettyä määrittelyä Mieti erityisesti epänormaaleja tilanteita Mieti myös tilanteita, joissa käyttäjä toimii väärin tai hölmösti Kuvaa, miten piirin pitää näissä tapauksissa toimia Täydennä tätä osuutta työn kuluessa tarvittaessa. Työselostus 4

7 Päälohkokaavion laadinta
Super- mainos Mealyn koneena 1 Esi- merkki Päälohkokaavion laadinta Tee työ joko ensin kynällä ja paperilla ja sitten PowerPointilla tai pelkästään PowerPointilla Päälohkokaaviossa vain yksi lohko Piirin tulosignaalit ja lähtösignaalit Tulot ja lähdöt saat tehtävän kuvauksesta Nimeä piiri ja signaalit heti harkitusti Käytä piirin nimessä vain kirjaimia a … z, enintään 8 merkkiä esimerkissä jksmealy Piirrä signaaliviivat ja esitä signaalinimet esimerkissä yo, hh, clk, reset, herk, jask ja kupp Käytä signaalinimissä vain pieniä kirjaimia a … z ja numeroita, enintään 8 merkkiä Signaalinimet s11, s13, s21, s s81, s83 ja d1, d2 ... d8 on varattu. Älä käytä niitä yo jksmealy herk hh jask clk kupp reset Muista clk ja reset! Työselostus 5

8 1 ASM-suunnittelu 2 Valitse toteutusperiaate ja -tapa Työselostus 6.1
Esi- merkki ASM-suunnittelu Huomaa reset! reset 2 Valitse toteutusperiaate ja -tapa Mieti kellosignaalin käyttö ja kellotaajuus/kellojakson pituus tilasiirtymien ajastus (käyttötapa 1) käyttäjän toimenpiteen odotus (käyttötapa 2) satunnaisuuden tekeminen (käyttötapa 3) Määrittele alkutila, jossa laite on, kun sen toiminta alkaa Laadi ASM-kaavio anna jokaiselle tilalle oma lyhyt symbolinen nimi älä esitä kaaviossa tilakoodeja ASM-kaavion laadinta on toisaalta luovuutta, toisaalta tiukkaa määritelmän seurantaa edellyttävä työ Etene tila kerrallaan, kunnes kaikki mahdollisuudet on läpikäyty Älä hellitä, kaikkiin tehtäväaiheisiin löytyy kohtuullisen yksinkertainen ASM-ratkaisu! Työselostus 6.1 ei h herk hh 1 jask kupp Työselostus 6.2 hj herk, jask hh 1 kupp herk, jask kupp hjk yo 1 Kellojakso 2 s

9 Työn tallettaminen harjoitustyökerran lopussa
1 Työn tallettaminen harjoitustyökerran lopussa 2 Talleta omaan harjoitustyön 2 pääkansioosi F:-levyllä seuraavat tiedostot: työselostus (Word) Quartus II -projektitiedostot arkistoituna tiedostona (.qar) Project  Archive Project… Kopioi koko harjoitustyön 2 pääkansiosi sisältö muistitikulle Lähetä em. kaksi tiedostoa varmuuden vuoksi itsellesi sähköpostilla Voit myös käyttää Tuubin välitallennusmahdollisuutta Nämä varmistelut saattavat tuntua ylimitoitetuilta Käytännön kokemus on osoittanut, että kaikkea voi sattua joku on poistanut F:-levyllä olevat tiedostosi muistitikkusi sisältö on yllättäen hävinnyt tai muuttunut et pääse sähköpostiin jne... 3 4 5

10 Työn jatkaminen seuraavalla harjoitustyökerralla
HTOL Digitaalitekniikan perusteet Luku 1 Sivu 10 () Luentokalvoseloste Fe 2 Työn jatkaminen seuraavalla harjoitustyökerralla 3 Tarkasta, että työympäristösi on edelleen kunnossa katso kalvoa Työympäristön valmistelu ATK-luokassa (sivu 5) Ellei ole, saata se kuntoon (kopioi tiedostot F:-levylle tarvittaessa sähköpostista tai muistitikulta) Avaa työselostuksesi (Word) tämä ohje (Adobe Reader) Jos olet jo tehnyt työtä Quartus II:lla käynnistä Quartus II tee sitten sivulla 15 esitetyt asiat avaa lopuksi Quartus II -projekti F:-levyltä File  Open Project...  .qpf-tiedosto 4 5 Tee työtä vain F:-levyltä! Muista!

11 Quartus II -ohjelman esittely
2 Quartus II -ohjelman esittely Ohjelma digitaalipiirien suunnittelun syöttöön lohkokaavioina piirikaavioina tekstitiedostoina korkean tason kuvauskielellä valmislohkoina sovittamiseen Alteran valmistamiin ohjelmoitaviin logiikkaverkkoihin toiminnan verifiointiin (simulointi ja valmiin piirin toiminnan tutkiminen) verkkojen ohjelmointitiedostojen laadintaan ja ohjelmointiin Kattava kokonaisohjelmisto työn eri vaiheisiin (ei määrittelyyn) Suhteellisen helppokäyttöinen ja nopea oppia Soveltuu hyvin hierarkkiseen suunnitteluun sekä top-down että bottom-up (harjoitustyössä käytetään tätä) Windows XP ja Vista sekä Linux-ympäristöihin Verkosta ( saa ilmaisen Windows-Web-version 8.1 käytämme näitä

12 Harjoitustyön 2 Quartus II -suunnitteluprosessi
3 Harjoitustyön 2 Quartus II -suunnitteluprosessi 4 Vaihe Työkalut Keskeiset tiedostot Raportit Lopputulos 5 VHDL-kuvauk- sen syöttö jksmealy.vhd Tekstieditori Käännös eli sovitus piiriin Kääntäjä Käännösraportit Tietokanta (db) jksmealy.xxx.rpt jksmealy.fit.eqn Raportti-ikkuna Lausekeraportti Toteutuks. tutk. Raportti-ikkuna Simulointi Aaltomuotoeditori jksmealy.vwf jksmealy.sim.rpt Simul.-raportti Simulaattori Käännösraportit Päälohko- kaavion piirto ja käännös Lohko- ja pk-edit. paalohko.bdf paalohko.xxx.rpt Kääntäjä Ohjelmoitu piiri harjoitus- työalustalla paalohko.pof Ohjelmoija Ohjelmointi

13 Quartus-työkansion tekeminen
2 Quartus-työkansion tekeminen Tee harjoitustyön 2 pääkansioosi työkansio Quartus II -ohjelman tekemille tiedostoille ja tietokannalle Anna kansiolle nimeksi suunniteltavan piirin nimi eli sama nimi, joka sillä on päälohkokaaviossa (katso sivu 7) esimerkissä jksmealy  Data (F:) - DigTeknPiir Digitaalitekniikka (piirit) -opintojakson pääkansio - HarjTyo2Opiskelijatunnuksesi Harjoitustyön 2 pääkansiosi - jksmealy jksmealy-piirin Quartus II -työkansio Sijoita kaikki tekemäsi Quartus II -tiedostot tähän työkansioon Älä siirtele tiedostoja kansiosta toiseen Älä tee uusia kansioita Quartus II -tiedostoille

14 Quartus II -ohjelman käynnistys
2 Quartus II -ohjelman käynnistys Käynnistä Quartus II (kestää jonkin aikaa…) Työtila käyttäjän tiedostoille (piiri- ja lohkokaaviot jne.) ja raporteille Projekti-ikkuna: hierarkia, tiedostot, suunnitteluyksiköt Tehtäväikkuna: projektin vaiheet ja eteneminen Tilanneikkuna: tehtävän suorituksen eteneminen Sanomaikkuna: sanomat, virheilmoitukset yms. Selosterivi: esimerkiksi painikkeiden kuvaukset

15 Quartus II:n asetusmuutokset
2 Quartus II:n asetusmuutokset Avaa asetusmuutosikkuna: Tools  Options... Tee seuraavat asetusmuutokset Quartus II:een aseta kääntäjä tekemään lauseketiedostot ja simulaattori päivittämään aikakaavio: Category:  General  Processing valitse aseta aaltomuotoeditorin kokonaisaika ja aika-askel Category:  Waveform Editor muuta Default File End Time:n arvoksi 103 us muuta Default Grid Period:in arvoksi 100 ns napsauta

16 Uuden projektin käynnistys
2 Uuden projektin käynnistys Jokainen suunnittelutyö on Quartus II:ssa projekti Projektilla on oma kansio, jossa sen tietokanta (db) ja tiedostot ovat Tiedostoilla on hierarkia: yksi suunnittelutiedostoista on päätiedosto Käynnistä uusi projekti projektivelhon (Project Wizard) avulla File  New Project Wizard… valitse projektikansioksi luomasi Quartus II:n työkansio (selaa :lla) esimerkissä jksmealy kirjoita projektin ja päätiedoston nimeksi piirin nimi napsauta kahdesti valitse käytettävä piiriperhe ja piiri Family: MAX3000A Target device: Specific device selected in 'Available devices' list Available devices: EPM3064ALC44-10 napsauta

17 ASM-kaavion kuvaaminen VHDL-kuvauskielellä 1
2 ASM-kaavion kuvaaminen VHDL-kuvauskielellä 1 Tee uusi VHDL-kuvaustiedosto File  New... tai  Design Files  VHDL File Talleta tyhjä tiedosto heti Quartus II -työkansioosi File  Save As... anna tiedostonimeksi piirin nimi (esimerkissä jksmealy) tiedostonimessä vain englannin kielen pieniä kirjaimia varmista, että on valittuna ja paina Kirjoita tiedoston alkuun kommenttiriveinä seuraavat tiedot: Digitaalitekniikka (piirit) Harjoitustyö 2 Työaiheesi numero ja nimi VHDL-kuvaus Nimesi ja opiskelijanumerosi Opiskelijaryhmäsi Päivämäärä

18 ASM-kaavion kuvaaminen VHDL-kuvauskielellä 2
3 Laadi ASM-kaaviosi pohjalta piirin VHDL-kuvaus voit käyttää apuna opintojakson harjoitustyösivulla olevaa esimerkkiä Mooren kone: jksmoore.vhd Mealyn kone: jksmealy.vhd kopioi esimerkki verkosta harjoitustyökansioosi voit avata esimerkin joko Quartus II:een tai Muistioon (Notepad) Muita apuja: oppikirja opetuskalvosarjan VHDL-luku 4 Ole tarkkana syntaksin suhteen: esimerkiksi puolipistevirhe voi aiheuttaa virheilmoitussuman käännettäessä Muista tallettaa tiedostosi riittävän usein! Työselostus 7.1

19 VHDL-kuvauksen määrittely päätason suunnitteluyksiköksi
2 VHDL-kuvauksen määrittely päätason suunnitteluyksiköksi 3 Valitse projekti-ikkunan (Project Navigator) välilehti Files Valitse VHDL-tekstitiedosto esimerkissä jksmealy.vhd Määrittele se päätason suunnitteluyksiköksi Project  Set as Top-Level Entity

20 VHDL-kuvauksen tarkastus
2 VHDL-kuvauksen tarkastus 3 Tarkasta VHDL-kuvauksesi virheettömyys Processing  Start  Start Analysis & Synthesis tai Mikäli saat virheilmoituksia sanomaikkunaan (Messages): Kaksoisnapsauta ilmoitusta, niin se VHDL-kuvauksen rivi, johon tai jonka lähistölle virhe liittyy, tulee valituksi Korjaa ensimmäinen virhe ja tarkasta VHDL-kuvaus uudelleen, kunnes tarkastus onnistuu ilman virheitä Työselostus 7.2

21 Mitä käännöksessä tehdään?
3 Mitä käännöksessä tehdään? Käännöksessä on neljä osaa analyysi ja synteesi (Analysis & Synthesis) piiriin sovittaminen (Fitting, työkalu Fitter) ohjelmointitiedostojen laatiminen (Assembly, työkalu Assembler) ajoitusanalyysi (Timing analysis, työkalu Classic Timing Analyzer) Analyysivaiheessa Quartus II -ohjelma analysoi suunnittelutiedostot ja raportoi löytämistään muotovirheistä. Synteesissä muodostetaan suunnittelutiedostoista yhteinen tietokanta Fitter sovittaa suunnitelman ohjelmoitavaan logiikkaverkkopiiriin ohjelmalle voidaan antaa vapaus valita parhaiten sopiva piirityyppi piirityyppi voi olla valittu (esimerkiksi EPM3064ALC44-10) Assembler tekee ohjelmointitiedostot piirien ohjelmointia varten Ajoitusanalyysissa selvitetään piirien viiveet ja analysoidaan viiveisiin liittyviä virhetoimintamahdollisuuksia Käännösraportista nähdään monenlaisia käännökseen liittyviä tietoja

22 Käännös eli sovitus ohjelmoitavaan logiikkaverkkoon
3 Käännös eli sovitus ohjelmoitavaan logiikkaverkkoon Käynnistä käännös Processing  Start Compilation tai Tehtävä- (Tasks) ja tilanneikkuna (Status) näyttävät käännöksen eri vaiheet ja niiden suoritusasteen Sanomaikkuna ilmoittaa käännöksen etenemisestä sekä antaa tarvittaessa varoituksia ja virheilmoituksia seuraavat varoitukset saat; niistä ei tarvitse välittää: Korjaa virheet Käännä uudelleen, kunnes käännös on virheetön

23 Tilakoodien tutkiminen
3 Tilakoodien tutkiminen Käännöksen alkaessa tulee näkyville käännösraportti-ikkuna Valitse ikkunan kohdasta Analysis & Synthesis alakohta State Machines aukeavassa taulukossa on esitetty kääntäjän antamat tilakoodit kussakin tilassa esimerkki: jksmealy Esitä oman piirisi tilakoodit Tilojen symboliset nimet Quartus II:n kiikkujen tilasignaaleille antamat nimet ja tilakoodit Koodaustapa: minimimäärä bittejä Tilassa h tilakoodi on 01 Työselostus 8.1

24 Piiritoteutuksen ajoitusparametrien tutkiminen
3 Piiritoteutuksen ajoitusparametrien tutkiminen Valitse käännösraportti-ikkunan kohdasta Timing Analyzer alakohta Summary Taulukosta näet piiritoteutuksen ajoitusparametrit Esimerkki: jksmealy Esitä ajoitusparametrien arvot työselostuksessa olevassa taulukossa Parametri Parametrin arvo Vain Mealyn koneessa Työselostus 8.2

25 3 Kiikkutyyppien ja lausekkeiden tutkiminen 1 (lisätehtävä, ei pakollinen) Valitse käännösraportti-ikkunan kohdasta Fitter alakohta Equations Quartus II esittää funktion jokaisen tulotermin omalla rivillään Esimerkki: jksmealy:n toisen kiikun signaalit ja tyyppi --A1L14Q is tila.state_bit_1 at LC2 A1L14Q_p1_out = A1L13Q & !A1L14Q; A1L14Q_p3_out = A1L13Q & !yo; A1L14Q_or_out = A1L14Q_p1_out # A1L14Q_p3_out; A1L14Q_reg_input = A1L14Q_or_out; A1L14Q = TFFE(A1L14Q_reg_input, GLOBAL(clk), !reset, , ); Tulojen summan lauseke: # = TAI Tulotermit: & = JA, ! = EI q0 · q1 q0 · yo t1 = q0 · q1 + q0 · yo SOP-lauseke, koska ei ole !-merkkiä Kiikun lähtö- signaalin sisäinen nimi (nykyisen tilan bitti 1, q1) Kiikun tyyppi (T) Kiikun tulo- signaalin sisäinen nimi (seuraavan tilan bitti 1, t1) Kiikun kello- signaali Kiikun nollaus- signaali

26 Tulotermin lauseke: & = JA, ! = EI
3 Kiikkutyyppien ja lausekkeiden tutkiminen 2 (lisätehtävä, ei pakollinen) Esimerkki: jksmealy:n lähtösignaali kupp --A1L7 is kupp~57 at LC4 A1L7_p1_out = A1L14Q & hh; A1L7_p2_out = A1L14Q & A1L13Q; A1L7_p3_out = hh & A1L13Q; A1L7_or_out = A1L7_p1_out # A1L7_p2_out # A1L7_p3_out; A1L7 = A1L7_or_out; Jos olisi A1L7 = !(A1L7_or_out); lauseke olisi I-SOP-muotoinen Lähtösignaalin kupp sisäinen nimi on A1L7 Tulojen summan lauseke: # = TAI Tulotermin lauseke: & = JA, ! = EI q1 · hh q1 · q0 hh · q0 SOP-lauseke kupp = q1 · hh + q1 · q0 + hh · q0 Työselostus 8.3

27 3 Mitä simulointi on? Simuloinnissa tutkitaan piirin käännöksen signaalien arvoja eli vasteita, kun sen tulosignaaleille annetaan erilaisia arvoja eli herätteitä Voidaan tutkia lähtösignaaleja (signaalin arvo ja viive) ASM:n tiloja (tilan symbolinen nimi ja viive) Simuloinnilla pyritään varmistumaan seuraavista asioista: piiri toimii määrittelyn mukaisesti normaaleissa käyttötilanteissa piiri toimii hyväksyttävästi poikkeustilanteissa Simuloinnin herätetiedosto tehdään aaltomuotoeditorilla (Waveform Editor) Herätetiedostoon tehdään erilaiset herätteet peräkkäin, aiempia ei poisteta Simulointi tehdään simulaattorilla (Simulator)

28 Simuloinnin herätetiedoston laadinta 1
3 Simuloinnin herätetiedoston laadinta 1 Luo aaltomuotoeditorilla uusi aaltomuototiedosto File  New... tai  Verification/Debugging Files  Vector Waveform File Talleta tyhjä tiedosto heti Quartus II -työhakemistoosi File  Save as... anna ASM-kaavion tiedostonimi, tarkenne .vwf esimerkissä jksmealy.vwf Etsi simuloitavat tulo- ja lähtösignaalit Edit  Insert  Insert Node or Bus…  varmista, että kohdassa Filter lukee Pins: unassigned tai Pins: all napsauta kaikki tulo- ja lähtösignaalit ilmestyvät vasemmanpuoleiseen ruutuun Lisää simuloitavat signaalit aaltomuototiedostoon kaikki tulo- ja lähtösignaalit ilmestyvät oikeanpuoleiseen ruutuun napsauta kahdesti

29 Simuloinnin herätetiedoston laadinta 2
3 Simuloinnin herätetiedoston laadinta 2 Lisää tilasignaali aaltomuototiedostoon Edit  Insert  Insert Node or Bus… kirjoita kenttään Name VHDL-kuvauksessa esittelemäsi tilasignaalin nimi esimerkissä tila arvot alemmissa kentissä muuttuvat kenttään Type: tulee MACHINE napsauta Järjestä signaalit uuteen järjestykseen napsauta signaalia (muuttuu vaaleansiniseksi), valitse se hiirellä ja vedä uuteen paikkaan tulot ylimmiksi: ensin reset, sitten clk ja sitten muut tulot tilasignaali keskelle lähdöt alimmiksi

30 Simuloinnin herätetiedostoesimerkki 1
3 Simuloinnin herätetiedostoesimerkki 1 Esimerkki simuloinnin herätetiedostosta (jksmealy.vwf) ennen tulosignaalien aaltomuotojen määritystä Laadintaohjeet jatkuvat seuraavalla sivulla Tulosignaalien arvo on 0 Tilan ja lähtösignaalien arvo on määrittelemätön

31 Simuloinnin herätetiedoston laadinta 3
Tutustu pystytyökalurivin painikkeisiin ja niiden toimintaan Muuta näytön skaala sopivaksi View  Fit in Window saat skaalan sellaiseksi, että koko simulointiaika näkyy valitse suurennus/pienennystyökalu hiiren vasen painike suurentaa hiiren oikea painike pienentää myös Shift + vasen painike pienentää suurenna skaalaa niin, että saat yhden simulointijakson (100 ns) näytöllä noin viiden millimetrin mittaiseksi Valitse valintapainike

32 Simuloinnin herätetiedoston laadinta 4
3 Simuloinnin herätetiedoston laadinta 4 Alusta piiri nollaussignaalilla reset: aseta se 1:ksi ensimmäisen simulointijakson (100 ns) ajaksi valitse hiirellä vetämällä k.o. jakso ja käytä asetuspainiketta Määrittele kellosignaali clk kellosignaalipainikkeella valitse koko kellosignaali napsauta kellosignaalipainiketta muuta arvoiksi Period: 200 ns, Offset: 100 ns ja napsauta muuta lopuksi kellosignaalin ensimmäinen 1-jakso (100 ns) 0:ksi valitse hiirellä vetämällä k.o. jakso ja käytä nollauspainiketta Nyt piirillä on oikein toimiva alustus aluksi piiri nollataan (saatetaan alkutilaan) eikä kellosignaalia anneta nollauksen jälkeen piirille annetaan jatkuva kellosignaali

33 Simuloinnin herätetiedoston laadinta 5
Esi- merkki 3 Simuloinnin herätetiedoston laadinta 5 reset Määrittele muille tulosignaaleille aaltomuodot pyri käymään läpi kaikki tai ainakin merkittävimmät ASM-kaavion vaihtoehtoiset etenemisreitit muuta tulosignaalien arvoja vain kellosignaalin laskevien reunojen kohdalla käytä nollaus-, asetus- ja reunan siirtopainikkeita Talleta simuloinnin herätetiedosto Tee määrittely ja simulointi vaiheittain määrittele aluksi tulosignaalit niin, että käydään läpi yksi etenemisreitti simuloi jatka määrittelyä edellisen perään seuraavalla etenemisreitillä simuloi uudelleen jne. Reitti 1 ei Reitti 2 h herk Reitti 3 hh 1 jask kupp hj herk, jask hh 1 kupp herk, jask kupp hjk yo 1 kellojakso 2 s

34 Simuloinnin herätetiedostoesimerkki 2
3 Simuloinnin herätetiedostoesimerkki 2 Esimerkki simuloinnin herätetiedostosta (jksmealy.vwf), kun tulosignaalien arvot on määritelty: Simulointijakso 100 ns

35 3 Simulointi 1 Käynnistä simulaattori
Processing  Start Simulation tai Simulaattori ajaa simulaation ja tekee simulointiraportin Simulation Report - Simulation Waveforms-ikkuna aukeaa erillinen ikkuna kertoo simuloinnin onnistumisesta tai virheistä sulje se napsauttamalla Valitse raportista Simulation - Summary näet simuloinnin kattavuuden (Simulation Coverage) eli sen, mikä osa erilaisista vaihtoehdoista on käyty simuloinnissa läpi simuloinnin kattavuuden tulee helpohkoissa aiheissa olla % ja muissakin ainakin luokkaa 80 % Työselostus 9.1

36 Siirtyminen yötoimintaan ja yötoiminta
3 Simulointiesimerkki Esimerkin jksmealy simulointitiedosto, kun simulointi on tehty Simulointiohjeet jatkuvat seuraavalla sivulla Päivä- toiminta Happy Hour -toiminta Siirtyminen yötoimintaan ja yötoiminta

37 3 Simulointi 2 Valitse aaltomuototiedosto esimerkissä jksmealy.vwf
Quartus II kysyy, päivitetäänkö aaltomuototiedoston simulointitulokset napsauta Käy läpi simulointitulos vertaa tulosta toiminnan määrittelyyn ja ASM-kaavioon Ellei simulointitulos vastaa haluttua toimintaa etsi poikkeaman syy tutki ASM-kaaviosi: kuvaako se toiminnan halutunlaisena tutki, vastaako VHDL-kuvauksesi ASM-kaaviota tee korjaus tai korjauksia ASM-kaavioon tai VHDL-kuvaukseen tarkasta, talleta ja käännä VHDL-kuvaus uudelleen simuloi uudelleen, kunnes saat haluttua toimintaa vastaavan tuloksen Kun simulointitulos vastaa kaikin osin haluttua toimintaa, kopioi aaltomuotokaaviosi työselostukseen Työselostus 9.2 Työselostus 9.3

38 Päälohkokaavion piirtämisen valmistelu 1
4 Päälohkokaavion piirtämisen valmistelu 1 Piiri ohjelmoidaan logiikkaverkkoon, joka on harjoitustyöalustassa Logiikkaverkkoon ohjelmoidaan myös alustan käyttöön tarvittavat kosketinvärähtelyjen poistopiirit ja alustussignaalin invertoiva EI-piiri Lisäpiirit on valmiiksi piirretty päälohkokaavion pohjaan pohja ja siihen liittyvät muut tiedostot ovat opintojakson harjoitustyösivulla Quartus II -arkistona paalohko.qar Kopioi tiedosto paalohko.qar Quartus II -työkansioosi Avaa projekti paalohko (noudata ohjetta pilkuntarkasti!) File  Open Project… Open Project -ikkuna aukeaa valitse paalohko.qar ja napsauta Restore Archived Project -ikkuna aukeaa älä hyväksy Quartus II:n ehdottamaa Destination folder: -kansiota paalohko_restored, vaan valitse ( ) Destination folder: -kenttään Quartus II -työkansiosi (esimerkissä jksmealy)

39 Päälohkokaavion piirtämisen valmistelu 2
4 Päälohkokaavion piirtämisen valmistelu 2 Projektin paalohko avaaminen jatkuu... napsauta Quartus II ilmoittaa, että uusi projekti sulkee käynnissä olevan ja kysyy, haluatko jatkaa. Napsauta Project Restoration Complete -ikkuna aukeaa. Napsauta Open Project -ikkuna aukeaa. Valitse paalohko.qpf ja napsauta Lisää laatimasi VHDL-kuvaus paalohko-projektiin Project  Add/Remove Files in Project...  Settings: paalohko  Files Select File -ikkuna aukeaa valitse VHDL-kuvauksesi esimerkissä jksmealy.vhd napsauta Files-ikkunassa ja

40 Päälohkokaavioesimerkki
4 Päälohkokaavioesimerkki Päälohkokaavion piirtämisohjeet alkavat seuraavalta sivulta VHDL-kuvauksen symboli Kosketinvärähtelyjen poistopiirit

41 Päälohkokaavion piirtäminen 1
4 Päälohkokaavion piirtäminen 1 Avaa VHDL-kuvauksesi ikkuna Project Navigator-ikkuna  Files-välilehti kaksoisnapsauta VHDL-tiedostosi nimeä Luo VHDL-kuvaukselle lohkosymboli File  Create/Update  Create Symbol Files for Current File  Valitse aktiiviseksi välilehti, jossa päälohkokaavio paalohko.bdf on Valitse kirjoitustyökalu ja muuta piirustusalustan vasemman yläkulman seuraavat tiedot vastaamaan omaa työtäsi Työaiheesi numero ja nimi Nimesi ja opiskelijanumerosi Opiskelijaryhmäsi Päivämäärä Nouda VHDL-kuvauksesi symboli valitse symbolityökalu valitse VHDL-kuvauksesi symboli kirjastosta Project (napsauta ) Sijoita symboli värähtelynpoistopiirin ja lähtöliittimien väliin

42 Päälohkokaavion piirtäminen 2
4 Päälohkokaavion piirtäminen 2 Älä poista ylimääräisiä tulo- tai lähtöliittimiä Älä muuta tuloliittimissä olevia signaalinimiä s11, s s81, s83 äläkä lähtöliittimissä olevia signaalinimiä d1, d2 ... d8 Yhdistä VHDL-kuvauksen symboli signaaliviivoilla muuhun piiriin yhdistä symbolin kellotulo clk-tuloliittimeen yhdistä symbolin nollaustulo EI-piirin lähtöön yhdistä symbolin muut tulosignaalit värähtelynpoistopiirin lähtöihin s1:stä alkaen jätä käyttämättä jäävät s-signaalit kytkemättä yhdistä symbolin lähdöt lähtöliittimiin d1:stä alkaen kytke käyttämättä jäävät lähtöliittimet maasymboliin (GND) Liitä päälohkokaavio työselostukseen Laadi signaalien vastaavuustaulukko kuvaa oman piirisi sekä päälohkokaavion s- ja d-signaalien vastaavuus Työselostus 10.1 Työselostus 10.2

43 Päälohkokaavion määrittely päätason suunnitteluyksiköksi
4 Päälohkokaavion määrittely päätason suunnitteluyksiköksi Valitse projekti-ikkunan (Project Navigator) välilehti Files Valitse tiedosto paalohko.bdf Määrittele se päätason suunnitteluyksiköksi Project  Set as Top-Level Entity

44 Käännös eli sovitus ohjelmoitavaan logiikkaverkkoon
4 Käännös eli sovitus ohjelmoitavaan logiikkaverkkoon Käynnistä käännös Processing  Start Compilation tai Tilanneikkuna näyttää käännöksen eri vaiheet ja niiden suoritusasteen Sanomaikkuna ilmoittaa käännöksen etenemisestä sekä antaa tarvittaessa varoituksia ja virheilmoituksia seuraavat varoitukset saat; niistä ei yleensä tarvitse välittää: Korjaa virheet Käännä uudelleen, kunnes käännös on virheetön Maahan kytketyt lähdöt Käyttämättömät tulot

45 Projektin arkistointi ja arkiston liittäminen työselostukseen
4 Projektin arkistointi ja arkiston liittäminen työselostukseen Projektin arkistotiedosto sisältää yhtenä pakattuna tiedostona projektin keskeiset tiedostot Projekti voidaan tarvittaessa käynnistää arkistotiedostosta Arkistotiedostoa käytetään harjoitustyön arvioinnissa Arkistoi projekti Valitse Project-valikosta projektin arkistointi Project  Archive Project… Archive Project -ikkuna aukeaa Kirjoita kohtaan Archive file name: paalohko (se todennäköisesti on siinä jo valmiiksi) Napsauta ja vielä uudelleen Liitä arkisto työselostukseen siinä esitetyllä tavalla Työselostus 11

46 Piirin hierarkian tutkiminen (lisätehtävä, ei pakollinen)
4 Piirin hierarkian tutkiminen (lisätehtävä, ei pakollinen) Voit käännöksen jälkeen halutessasi tutkia piirin hierarkiaa eli lohkorakennetta Project Navigator -ikkunan Hierarchy-välilehdestä näet, miten lohkot koostuvat toisistaan ja niiden järjestyksen lohkohierarkiassa lohko- tai piirikaaviosta kaksoisnapsauttamalla lohkoa tai piiriä, jolloin sen sisältämä kuvaus aukeaa uuteen ikkunaan Työselostus 12

47 Testaussuunnitelman laatiminen
4 Testaussuunnitelman laatiminen 5 Laadi piirin testaussuunnitelma alustus ASM-kaavion eri reittien läpikäynti herätteet eli tulosignaalien arvot odotetut vasteet eli lähtösignaalien arvot Esimerkki piirin testaussuunnitelman alkuosasta on seuraavalla sivulla (jksmealy) Työselostus 13

48 Testaussuunnitelman alkuosan esimerkki
4 Testaussuunnitelman alkuosan esimerkki 5 N:o Nykyinen tila Heräte Odotettu vaste Todellinen vaste OK/ Ei OK Tes- taaja Aktiiviset lähdöt Seuraava tila Aktiiviset lähdöt Seuraava tila 1 Mikä hyv. reset = 1 ei 2 ei hh = 0 yo = 0 h 3 h hh = 0 yo = 0 herk hj 4 hj hh = 0 yo = 0 herk, jask hjk 5 hjk hh = 0 yo = 0 herk, jask, kupp ei 6 ei hh = 1 yo = 0 h 7 h hh = 1 yo = 0 herk, jask, kupp hj 8 hj hh = 1 yo = 0 herk, jask, kupp hjk 9 hjk hh = 1 yo = 0 herk, jask, kupp hjk

49 Ohjelmoinnin valmistelu
5 Ohjelmoinnin valmistelu Kopioi Quartus II -työkansiosi sisältö muistitikulle Siirry tietokoneelle, jossa on ohjelmointikaapeli Käynnistä Quartus II (ellei jo ole käynnissä) Avaa paalohko-projekti muistitikulta Quartus II -työkansiostasi File  Open Project...  paalohko.qpf Valitse projekti-ikkunan (Project Navigator) välilehti Files Valitse tiedosto paalohko.bdf Määrittele se päätason suunnitteluyksiköksi Project  Set as Top-Level Entity Käynnistä käännös Processing  Start Compilation tai Totea käännöksen onnistuminen vain sallitut varoitukset (katso sivua 44) tulo- ja lähtöliittimien päissä ovat liitäntänastojen numerot

50 Harjoitustyöalustaan tutustuminen
5 Harjoitustyöalustaan tutustuminen Valodiodit D1-D8 (lähtösignaalit) Tutustu harjoitustyöalustaan, erityisesti kello- ja alustusosaan Ohjelmoi- tava logiikka- verkko (PLD-piiri) Virtalähde- liitin JTAG-liitin (ohjelmointi USB- Blasterilla) Kytkimet S1-S8 (tulosignaalit) Rinnakkais- liitin (ohjelmointi rinnakkais- liitäntä- kaapelilla) Käsi 1 Hz 1 1 1 1 1 1 1 1 Aut. 1 MHz Kello- lamppu Kello- painike Kello- kytkin Kello- taajuus Alustuspainike

51 Ohjelmoitavan logiikkaverkon ohjelmointi
5 Ohjelmoitavan logiikkaverkon ohjelmointi Liitä harjoitustyöalusta tietokoneeseen USB-Blasterilla (Terasic Blaster) niin, että lattakaapelin punainen reuna on ylöspäin Kytke sähkö harjoitustyöalustaan Tarkasta, että vihreä valodiodi palaa Käynnistä ohjelmointi Tools  Programmer tai Tarkasta, että aukeavan ohjelmointivälilehden ylimmässä kentässä lukee USB-Blaster [USB-0] jos lukee No Hardware, napsauta valitse kohtaan Hardware type: USB-Blaster [USB-0] ja napsauta Tarkasta, että kohdassa File on tiedostonimi paalohko.pof kohdassa Device on piirin tyyppi EPM3064AL44 Rastita Program/Configure ja Verify Napsauta

52 Piirin toiminnan alustava testaus
5 Piirin toiminnan alustava testaus Irroita virtaliitin ja USB-Blaster harjoitustyöalustasta Siirry aiemmalle tietokoneellesi, mikäli ohjelmoinnissa on ruuhkaa Liitä virtaliitin uudelleen harjoitustyöalustaan Tee toiminnan alustava testaus valitse automaattinen kellosignaali valitse työsi aiheen kannalta sopiva kellotaajuus, joko 1 Hz tai 1 MHz alusta piiri painamalla alustuspainiketta anna kytkimillä sopivia herätteitä eli tulosignaalien arvoja katso valodiodeista piirin vasteita eli lähtösignaalien arvoja Esimerkki alustavasta testauksesta (jksmealy) Työselostus 14 Heräte Vaste hh = 0, yo = 0 Valot vilkkuvat päivätoiminnan mukaan hh = 1, yo = 0 Valot palavat Happy Hour -toiminnan mukaan hh = 1, yo = 1 Valot palavat koko ajan yötoiminnan mukaan hh = 0, yo = 1 Valot palavat koko ajan yötoiminnan mukaan

53 Piirin toiminnan järjestelmällinen testaus
5 Piirin toiminnan järjestelmällinen testaus Tee piirin järjestelmällinen testaus valitse käsin annettava kellosignaali käy laitteen toiminta läpi testaussuunnitelman mukaisesti täydennä testaussuunnitelman kopio testausraportiksi lisää todelliset vasteet lisää OK/Ei OK -maininta lisää testaajan puumerkki Esimerkki piirin toiminnan järjestelmällisen testauksen testausraportista on seuraavalla sivulla (jksmealy) Täytä työselostuksen alku ja poista punaiset ohjetekstit ennen sen tallettamista Tuubiin Työselostus 15 Työselostus 1-3

54 Esimerkki testausraportin alkuosasta
5 Esimerkki testausraportin alkuosasta N:o Nykyinen tila Heräte Odotettu vaste Todellinen vaste OK/ Ei OK Tes- taaja Aktiiviset lähdöt Seuraava tila Aktiiviset lähdöt Seuraava tila 1 Mikä hyv. reset = 1 reset = 1 ei ei ei ei OK Fe 2 ei hh = 0 yo = 0 h h OK Fe 3 h hh = 0 yo = 0 herk hj herk hj OK Fe 4 hj hh = 0 yo = 0 herk, jask hjk herk, jask hjk OK Fe 5 hjk hh = 0 yo = 0 herk, jask, kupp ei herk, jask, kupp ei OK Fe 6 ei hh = 1 yo = 0 h h OK Fe 7 h hh = 1 yo = 0 herk, jask, kupp hj herk, jask, kupp hj OK Fe 8 hj hh = 1 yo = 0 herk, jask, kupp hjk herk, jask, kupp hjk OK Fe 9 hjk hh = 1 yo = 0 herk, jask, kupp hjk herk, jask, kupp hjk OK Fe

55 Entä jos tulee ongelmia? - yleistä
Tarkista perusasiat oletko luonut tai avannut projektin? onko projektin päätiedostoksi määritelty käsiteltävä tiedosto? onko oikea ikkuna valittuna? (valikko muuttuu sovellusta vastaavaksi) onko oikea työkalu valittuna? (pystyrivin valikko) oletko kääntänyt VHDL-kuvauksen tai päälohkokaavion uudelleen muutosten jälkeen? Käytä Quartus II:n erilaisia aputoimintoja Help-valikon eri vaihtoehdot, erityisesti How to Use Help Help Index painikkeella täsmäapu painamalla F1 Tee yhteistyötä: kysy naapurilta, häneltä voi löytyä ratkaisu ATK-luokassa: hälytä Ferro paikalle, ellei muu auta Lähetä Ferrolle sähköpostia (muista kuvata ongelma riittävän tarkasti) tai käytä työtilan keskustelupalstaa Tuubissa

56 Entä jos tulee ongelmia? - erityisvinkkejä
Jos painikkeet ovat harmaita etkä voi valikoistakaan valita piirikaavion tarkastusta tai käännöstä, et ole luonut tai avannut projektia. Tee se! Jos aaltomuotoeditori näyttää vain samaa arvoa koko alueella, kokeile View  Fit in Window Mikäli työtilasta häviävät välilehtien valintaliuskat, valitse Tools  Options  Category:  General  Jos kaikki tuntuu menevän pieleen eikä mikään toimi sulje Quartus II poista Quartus II -työkansiosta tietokanta (kansio db) ja kaikki muut kuin .qpf-, .qsf-, .bdf-, .bsf-, .vhd- ja .vwf-tiedostot sulje ja uudelleenkäynnistä tietokone käynnistä Quartus II, avaa projekti ja aloita uudelleen


Lataa ppt "Synkronisen sekvenssipiirin suunnittelu ja toteutus"

Samankaltaiset esitykset


Iklan oleh Google