Ero sivun ”VHDL-kieli FPGA-suunnittelussa/VHDL:stä kortille -tutoriaali” versioiden välillä

Wikikirjastosta
Poistettu sisältö Lisätty sisältö
Shinpou (keskustelu | muokkaukset)
Shinpou (keskustelu | muokkaukset)
Rivi 1: Rivi 1:
{{kesken}}
{{kesken}}
==Tämä tutoriaali==
==Tämä tutoriaali==
Tässä tutoriaalissa keskitymme yksinkertaisen ja mahdollisimman kohdekorttiriippumattoman FPGA-logiikan luomiseen. Siihen miten tuo logiikka saadaan yhdistettyä kortin fyysisiin laitteisiin (pinneihin) ja miten FPGA-ydin lopulta saadaan ajettua FPGA-evaluaatiokortille ja toimimaan.
Tässä tutoriaalissa keskitymme yksinkertaisen ja mahdollisimman kohdekorttiriippumattoman FPGA-logiikan luomiseen. Siihen miten tuo logiikka saadaan yhdistettyä kortin fyysisiin laitteisiin (pinneihin) ja miten FPGA-ydin lopulta saadaan ajettua FPGA-evaluaatiokortille ja toimimaan. Tutoriaalissa käytetään Xilinxin ISE 9.2i ohjelmistoa, ja Spartan-3E evaluaatiokorttia. Muuta ei tämän tutoriaalin noudattamiseen tarvita.


==VHDL:stä FPGA:ksi==
==VHDL:stä FPGA:ksi==

Versio 23. toukokuuta 2008 kello 20.45


Tämä sivu tai sen osa on keskeneräinen. Voit auttaa Wikikirjastoa täydentämällä sivua.

Tämä tutoriaali

Tässä tutoriaalissa keskitymme yksinkertaisen ja mahdollisimman kohdekorttiriippumattoman FPGA-logiikan luomiseen. Siihen miten tuo logiikka saadaan yhdistettyä kortin fyysisiin laitteisiin (pinneihin) ja miten FPGA-ydin lopulta saadaan ajettua FPGA-evaluaatiokortille ja toimimaan. Tutoriaalissa käytetään Xilinxin ISE 9.2i ohjelmistoa, ja Spartan-3E evaluaatiokorttia. Muuta ei tämän tutoriaalin noudattamiseen tarvita.

VHDL:stä FPGA:ksi

Nykypäivän markkinoiden tekemä suuri haaste elektroniikkasuunnittelijoille on jatkuva ja nopea kehitys. Tehty tuote saattaa olla vanha jo ennen kaupan hyllylle ehtimistä. Tästä syystä suunnittelijalta vaaditaankin kyky tuoda laitteet käyttäjälle nopeasti ja kustannustehokkaasti. Perinteiset elektroniikkaprojektejen suunnitteluvaiheet ja toteutus tahtovat kuitenkin viedä aikaa ja työntekijöiden resursseja enemmän kuin niitä on tarjoilla. Tämä on todellisuudessa se syy ja markkinavaltti johon FPGA tarjoaa ratkaisun. FPGA:n voi kuvitella ohjelmana jolla on laitetason suorituskyky - ja on loppuenlopuksi laite.

Usein FPGA-logiikkaa luodaan laajentamaan laitteen sisäisiä oheislaitteita. FPGA:ta voidaan käyttää luomaan virtuaalisia oheislaitteita, tai käyttää sovittimena olemassaolevalle ulkoiselle laitteelle. Hyvä esimerkki tästä on esimerkiksi digiboksi, jossa on useita eri video- ja audioliitäntöjä. Nämä useat eri liitännät saattavat vaatia normaalilla laitesuunnittelulla useita erilaisia mikropiirejä jotka tarjoavat mahdolliselle mikroprosessorille liitännät näihin oheislaitteisiin. Kaikki laitteen video-enkoodaukset ja protokollat vaatisivat oman piirinsä joka hoitaisi työn. Usein piirejä tarvitaan siksi, että mikroprosessorin sisäinen nopeus ei riitä esim nopeutta vaativiin video-operaatioihin. Tälläisessä tilanteessa rahaa ja aikaa säästetään luomalla video-enkooderit ja dekooderit sekä mahdollisten ulkoisten oheislaitteiden sovitinpiirit FPGA-suunnittelulla. Mikro-ohjaintakaan ei tarvita, sillä FPGA-ytimen sisään voidaan luoda ohjelmallinen mikro-ohjain jota usein myös tarvitaan.

FPGA-suunnittelu yleensä aloitetaan määrittelemällä mitkä osat logiikasta halutaan toteuttaa FPGA:lla ja mitkä osat ohjelmallisesti sisäisellä mikro-ohjaimella. Usein laitteiden yleisen kokonaisuuden ajaminen tehdään mikroprosessorilla ja nopeutta vaativat tehtävät suoritetaan puhtaalla FPGA:lla.

Tässä tutoriaalissa keskitymme tuon puhtaan FPGA-logiikan luomiseen, miten tuo logiikka saadaan yhdistettyä kortin fyysisiin laitteisiin ja miten FPGA-ydin lopulta saadaan ajettua FPGA-evaluaatiokortille ja toimimaan.