Kurssi: Digitaalitekniikka-2, Ohjelmoitavien logiikkapiirien perusteet, viimeinen kerta oli 17.3.2016

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)

Käytämme tällä kurssilla Xilinx ISE 14.7 kehitysympäristöä ja sen asentamisesta tarkempia ohjeita: https://kirjoitusalusta.fi/hacklab-x-digi-xilinx-ise

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.

1 Like

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.

Digitaalitekniikka-1 alkeiskurssin materiaalit kertauksena:

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ä.

– M

Ohje Xilinx ISE:n korjaamiseen windows 8/10:lle: http://www.eevblog.com/forum/microcontrollers/guide-getting-xilinx-ise-to-work-with-windows-8-64-bit/

Tulipa työeste huomiselle. Joten kysynkin että onko kukaan koettanut kurottaa kurssille etäyhteyden välityksellä? Oulusta saakka ajattelin kurkistella.

  • T

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.

Ok, kiitos. Katson huomenna päivällä perusviritykset kuntoon. Palataan
aiheseen. Oulusa pitäisi olla klo 17 maissa.

  • T

keskiviikko 3. helmikuuta 2016 Marko Suovula <
notifications@discourse.hacklab.fi> kirjoitti:

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.

Käymme myös ihan vähän teoreettisemmin Verilogin syntaksia ja kurssilla käytettäviä menetelmiä ja notaatioita.

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.

Tänään jatkettiin myös Verilogin syntaksia, seuraavista linkeistä löytyy muistiinpanoja:

Lukuarvot

Operaattorit

Modulit

Kurssin materiaali on toistaiseksi vain kirjoitusalustalla ja löytyy täältä:

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.

Viimeksi menikin laskinta ihmetellessä enemmän aikaa ja kerittiin tekemään vain PWM-generaattori. Huomenna jatketaan tästä ja tehdään muutkin DACit.

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.