1 / 56

Synkronisen sekvenssipiirin suunnittelu ja toteutus

Synkronisen sekvenssipiirin suunnittelu ja toteutus. Harjoitustyön 2 tavoitteet. opitaan piirisuunnitteluprosessin vaiheita opitaan dokumentointia opitaan suunnittelemaan synkroninen sekvenssipiiri ASM-menetelmällä annetun määrittelyn pohjalta tutustutaan VHDL-kuvauskieleen

kieu
Download Presentation

Synkronisen sekvenssipiirin suunnittelu ja toteutus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Tuubiinviikon 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 Tuubiinsiellä mainittuun päivämäärään mennessä

  5. 1 Työympäristön valmistelu ATK-luokassa F:  Data (F:) - DigTeknPiir Digitaalitekniikka (piirit) -opintojakson pääkansio - HarjTyo2Opiskelijatunnuksesi Harjoitustyön 2 pääkansiosi - 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. 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. Super- mainos Mealyn koneena 1 Esi- merkki Päälohkokaavion laadinta • Tee työ joko ensin kynällä ja paperilla ja sittenPowerPointilla 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ään8 merkkiä • Signaalinimet s11, s13, s21, s23 ... 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 Esi- merkki ASM-suunnittelu Huomaa reset! 2 reset • 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 0 1 jaskkupp Työselostus 6.2 hj herk, jask hh 0 1 kupp herk, jaskkupp hjk yo 1 Kellojakso 2 s 0

  9. 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. 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) • katso kalvoa Työympäristön valmistelu ATK-luokassa (sivu 5) • 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. 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 (www.altera.com) saa ilmaisen Windows-Web-version 8.1 käytämme näitä

  12. jksmealy.vhd paalohko.pof 2 3 Harjoitustyön 2 Quartus II -suunnitteluprosessi 4 Vaihe Työkalut Keskeiset tiedostot Raportit Lopputulos 5 VHDL-kuvauk- sen syöttö 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.vwfjksmealy.sim.rpt Simul.-raportti Simulaattori Käännösraportit Päälohko-kaavion piirtoja käännös Lohko- ja pk-edit. paalohko.bdfpaalohko.xxx.rpt Kääntäjä Ohjelmoitu piiri harjoitus- työalustalla Ohjelmoija Ohjelmointi

  13. 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. 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. 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 • muutaDefault Grid Period:in arvoksi 100 ns • napsauta

  16. 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 • esimerkissä jksmealy • 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. 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. 2 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. 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. 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. 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. 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. 3 Tilakoodien tutkiminen • Käännöksen alkaessa tulee näkyville käännösraportti-ikkuna • Valitse ikkunan kohdasta Analysis & Synthesis alakohtaState 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. 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 alakohtaEquations • 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. 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 olisiA1L7 = !(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. 3 Simuloinnin herätetiedoston laadinta 1 • Luoaaltomuotoeditorilla 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 • napsauta • kaikki tulo- ja lähtösignaalit ilmestyvät oikeanpuoleiseen ruutuun • napsauta kahdesti

  29. 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. 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. 3 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. 3 Simuloinnin herätetiedoston laadinta 4 • Alusta piirinollaussignaalillareset: aseta se 1:ksi ensimmäisen simulointijakson (100 ns)ajaksi • valitse hiirellä vetämällä k.o. jakso ja käytä asetuspainiketta • Määrittele kellosignaaliclk 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. 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 seuraavallaetenemisreitillä • simuloi uudelleen jne. Reitti 1 ei Reitti 2 h herk Reitti 3 hh 0 1 jaskkupp hj herk, jask hh 0 1 kupp herk, jaskkupp hjk yo 1 kellojakso 2 s 0

  34. 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 90 - 100 % ja muissakin ainakin luokkaa 80 % Työselostus 9.1

  36. 3 Simulointiesimerkki • Esimerkin jksmealy simulointitiedosto, kun simulointi on tehty • Simulointiohjeet jatkuvat seuraavalla sivulla Päivä- toiminta Happy Hour -toiminta Siirtyminen yötoimintaanja 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. 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.qarQuartus 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. 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. Valitsepaalohko.qpf ja napsauta • Lisää laatimasi VHDL-kuvaus paalohko-projektiin Project  Add/Remove Files in Project...  Settings: paalohko Files • napsauta • Select File -ikkuna aukeaa • valitse VHDL-kuvauksesi • esimerkissä jksmealy.vhd • napsauta • napsauta Files-ikkunassa ja

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

  41. 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. 4 Päälohkokaavion piirtäminen 2 • Älä poista ylimääräisiä tulo- tai lähtöliittimiä • Älä muuta tuloliittimissä olevia signaalinimiä s11, s13 ... 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. 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. 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. 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. 4 Piirin hierarkian tutkiminen (lisätehtävä, ei pakollinen) • Voit käännöksen jälkeen halutessasi tutkia piirin hierarkiaa eli lohkorakennetta • Project Navigator -ikkunanHierarchy-välilehdestä • näet, miten lohkot koostuvattoisistaan ja niiden järjestyksenlohkohierarkiassa • lohko- tai piirikaaviostakaksoisnapsauttamalla lohkoa tai piiriä, jolloin sen sisältämä kuvaus aukeaa uuteen ikkunaan Työselostus 12

  47. 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. 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. 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. 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) 1 Hz Käsi 1 1 1 1 1 1 1 1 Aut. 1 MHz 0 0 0 0 0 0 0 0 Kello- lamppu Kello- painike Kello- kytkin Kello- taajuus Alustuspainike

More Related