Kurssin aiheena ohjelmoitavat CPLD- ja FPGA-piirit Verilog-kielellä. Keskitymme Xilinxin piireihin ja ISE kehitysympäristöön. Kurssilla tarvitaan Digitaalitekniikka-1, Logiikkapiirien alkeet -kurssin tai vastaavat tiedot sekä oma tietokone jossa joko:
Windows 7
Ubuntu 14.04 tai uudempi (toimii myös virtuaalikoneessa Windows 8/10 tai OS X)
Huomaa, että kehitysympäristö on aika raskas, eikä sen asentaminen tai käyttäminen ole mutkatonta. Jos tuntuu, että tarvitset asennusapua, tule nyt torstaina viimeiselle alkeiskurssin luennolle tai tiistain labi-iltaan.
Tälle kurssille ei tarvitse vielä omaa FPGA-kehityslautaa, mutta jos sellaisen kuitenkin haluaa hankkia, kannattaa hankinnasta (50-100e) ensin keskustella kurssin vetäjien kanssa.
Nyt ensimmäisellä kerralla aloitetellaan pienellä teoriaosuudella ohjelmoitavien CPLD-piirien sisäisestä toiminnasta ja aloitellaan ISE:llä piirtämään yksinkertainen logiikkakytkentä. Verilog-kieleen paneudutaan vasta seuraavalla kerralla.
Huomenna jatketaan ISE:en tutustumista, kerrataan sama piirrosesimerkki kuin viimeksi ja sitten tehdään vastaava Verilog:lla. Samalla myös tarkistetaan että kaikki saavat myös ohjelmointilaitteen ajurit toimimaan.
Jos on ISE asennettuna, niin hyvin kerkiää mukaan vaikka viime kerta olisi jäänyt välistä.
Tulipa työeste huomiselle. Joten kysynkin että onko kukaan koettanut kurottaa kurssille etäyhteyden välityksellä? Oulusta saakka ajattelin kurkistella.
Labilta ei vielä ole kokeiltu, mutta voidaan huomenna vaikka skypeä koittaa. Tarkoitus olisi jossain vaiheessa kyllä saada labilta ‘lähetystä’ ulos tämmöisiin etäjuttuihin.
Viimeksi päästiin jo alkuun Verilogin kanssa, ja saatiin jo laskurikin vilkuttelemaan binäärisekvenssiä ledeissä. Tämän viikon istunnossa kerrataan vielä, miten se laskuri syntyikään ja kehitellään siitä erilaisia variaatioita.
Nyt torstaina olisi jo kello 17:00 Verilog kertausta niille, joilta on edellisiä kertoja jäänyt väliin. Kuudelta sitten jatketaan normaalisti siitä, mihin viime viikolla jäätiin.
Paiskasin päivän tuotoksia githubiin, https://github.com/ojousima/helsinkihacklab-deep-verilog. En lupaa mitään mistään, katsokaa disclaimer README.md:ssä. Jos useampikin henkilö innostuu käyttämään githubia kurssin koordinoitiin, ehdottaisin “master”-repositorion siirtämistä HelsinkiHacklab-organisaation alle josta kukin voi forkata sen itselleen.
Jatkossa oletetaan, että kaikki osaavat sujuvasti tehdä ISE:llä projekteja, eli jos tuntuu että kaipaa vielä harjoitusta tuolla on nyt ohjeet siitäkin.
Torstaina tehdään erilaisia digitaali-analogi-muuntimia (D/A, DAC). Rakennellaan ainakin PWM, Delta-Sigma 1-bit ja 8-bit R-2R vastusverkko. Näiden läpi soittelemme chipmuzaakkia ja vertailemme kuulostaako samalle.
Lopuksi katsaus yksinkertaiseen nelilaskimeen jonka tuollaiseen 9572 CPLD piiriin saa mahdutettua.
Nyt jätetään DAC:it ainakin toistaiseksi ja testaillaan protokortilla olevan 7-segmenttinäytön ohjaamista. Päästään tutustumaan samalla näytön multipleksaamisen käsitteeseen.
Viimeksi harjoittelimme segmenttinäyttöjen ohjaamista ja multiplexausta. Nyt on kuitenkin tullut peruskurssin asiat käytyä läpi ja CPLD:n rajat vastaan. Pidämme pääsiäistauon ja sen jälkeen homma jatkuu FPGA-piirien kanssa eteenpäin jatkokurssilla.