Kysymys:
Hanke oppia VHDL
jeremy
2009-12-15 14:03:03 UTC
view on stackexchange narkive permalink

Olen EE-opiskelija ja osaan kirjoittaa [ainakin yksinkertaisia] ohjelmia useammalla kielellä kuin minulla on sormia. Olen juuri aloittanut VHDL: n oppimisen ja mietin, mikä hyvä projekti olisi todella oppia tuntemaan kieli ja asiaankuuluvat työkalut? Minulla on vaikeuksia sellaisen keksimisessä, koska se on minulle todella erilainen ohjelmointityyli.

Olen tehnyt yksinkertaisia ​​asioita, kuten lisäaineita, mutta etsin pidemmän aikavälin (eli kuukauden tai niin). ) -projekti.

Jos sillä on merkitystä, minulla on Xilinx Webpack ja Digilent Spartan3 -taulu.

Kahdeksan vastused:
starblue
2009-12-15 19:49:55 UTC
view on stackexchange narkive permalink

Koska tunnet olevasi kiinnostunut ohjelmoinnista, voit rakentaa yksinkertaisen mikroprosessorin.

**Erittäin suositeltavaa. Päätät oppimaan paitsi FPGA- ja VHDL-puolista, myös siitä, miten prosessorit toimivat, mitä tarvitaan prosessoritukityökaluissa jne.
Axeman
2009-12-15 14:55:13 UTC
view on stackexchange narkive permalink

"Hei maailma" -FPGA-projektini oli LED-matriisiohjain, jossa oli PWM ja sarjavirta. Lopputulos oli mukava ( http://lbw.axe-man.org/led1.wmv), mutta myönnän, että olen tehnyt osan siitä Altera Quartus -kaaviokuvaeditorin kanssa nähdäksesi, kuinka VHDL-osat kuvattiin.

tämä on hieno idea; Otin juuri 16x16-ohjaimettoman matriisin ja ohjain olisi hieno. siisti video!
Kaunis video! Ja sitä kaavamaista editoria on tarkoitus käyttää.
user421
2009-12-15 18:54:40 UTC
view on stackexchange narkive permalink

Sinun kannattaa tutustua osoitteeseen opencores.org ja löytää siellä mielenkiintoinen projekti. Voit myös ladata Sigasi HDT: n, joka auttaa sinua nopeuttamaan VHDL-kielioppia.

cyphunk
2009-12-15 18:08:48 UTC
view on stackexchange narkive permalink

Nautin työskentelemästä Hansin kanssa hardhack -ohjelmassa tänä vuonna Rekonstrukt -projektissa rakentaaksesi perussyntetisaattorin FPGA: hon. LED-projektit ovat myös hyviä, mutta ei ole mitään muuta kuin FPGA: n kytkeminen stereoon. Se ei rakenna alusta alkaen, kuten LED-projekti tekisi, koska projekti perustuu avoimeen ytimeen, joka tukee eteenpäin. Joten alussa opit FPGA: n lataamisen periaatteessa projektin kanssa, sitten voit pelata kirjekuorilla FORTHissa. Mutta mistä alat oppia lisää FPGA-sisäosista, kun haluat lisätä toiminnallisuutta, joka vaatii sitten kaivamista VHDL: ään.

David Brenner
2009-12-15 21:34:32 UTC
view on stackexchange narkive permalink

Hanke, josta nautin, oli Milton Bradley Simon -pelin toteuttaminen FPGA: lla.

Yliopistollani EDA-luokkamme käyttää samaa lautaa, jonka mainitsit. Joitakin toteutettuja hankkeita olivat:

  • Kuvankäsittely: mediaansuodatin, histogrammin venytys, reunan tunnistus
  • Salaus: AES, erilaiset hajautusalgoritmit jne.
  • Viestintä: Ethernet, USB, I2C jne.
  • Pelit: Pongi, avaruushyökkääjät jne.

Se voi antaa sinulle ideoita.

Toistan opencores.org-idean ja toteutan oman mikroprosessorin. Koska sinulla on Xilinx FPGA, saatat myös tarkastella jotain tekemistä mikroblaze- tai picoblaze-tekniikoilla.

Muokkaa: muotoilu.

Ishwor Gurung
2009-12-15 19:00:37 UTC
view on stackexchange narkive permalink

Kirjoitin xhdx-virtex-ytimen vhdl-koodin joskus sitten. se oli herätyskellototeutus. Näin tein:

  • Lue paljon vhdl-käyttöoppaan kautta - minun on tarkistettava sitä nyt, mutta pidin sitä melko suoraviivaisena ja helppokäyttöisenä hdl :-)
  • Käytti xilinx-pakettia (kääntäjä, syntetisaattori) bittivirran saamiseksi
  • Ladasi bittivirrat jtag-tunnuksella

Huuhdeltu, toistettu 1-3. Huomautan, että bittivirran sukupolvi on integroitu Xilinxin IDE: hen. Sinulla on vain oltava selkeä logiikkasarja, jota voit käyttää HDL: ssä; kaikki muut tavarat tekee IDE.

jluciani
2009-12-16 05:27:53 UTC
view on stackexchange narkive permalink

Numeerisesti ohjattu oskillaattori olisi hauskaa. Tein juuri suunnittelun Arduino-yhteensopivalla kortillani (katso http://tinyurl.com/ydmz2su), mutta tämä sopisi täydellisesti FPGA: lle.

Tässä on muutama suunnitteluviite.

Snell, John 1988 "Digitaalisen oskillaattorin suunnittelu, joka tuottaa jopa 256 matalan vääristymän siniaaltoa reaaliajassa" Tietokoneen perustukset Musiikki. Cambridge, Massachusetts: MIT Press

Moore, F. Richard 1988 "Tietokonemusiikin perusteet" Table Lookup Noise for Sinusoidal Digital Oscillators ". Cambridge, Massachusetts: MIT Press

user9892
2014-03-13 06:53:38 UTC
view on stackexchange narkive permalink

Se, mitä teen, on vähän CPU: ta. Se on mukava, pyöristetty tapa kattaa kaikki perusasiat.

Kattaa kaikki suuren projektin perusteet VHDL: ssä ja altistuu kaikille VHDL-suunnittelun pääaiheille (kellot, tulot, lähdöt) , logiikka, väylät ja peräkkäinen suunnittelu näkyvästi), samoin kuin monet keskeiset elektronisen ja tietokonesuunnittelun ja arkkitehtuurin käsitteet, kuten rekisterit, datatoiminnot, muisti ja tietokonearitmetiikka.

Voit aloittaa vain lisäämällä ja vähentämällä ja lisäämällä sitten lisää toiminnallisuutta oppimisen aikana ja siirtymällä täysin toimivan (vaikkakin yksinkertaisen ... tai kuten minä mieluummin kutsun sitä "retro") tietokoneeksi . Ainakin tämä on minun suunnitelmani.

Lisäksi oma mukautettu tietokoneesi sirulla on aivan siistiä :) Kuten 16-bittinen Raspberry Pi: P

Muu yleinen FPGA projektit:

-Musiikkisyntetisaattori

-DSP-efektigeneraattori

-MIDI-ohjain / keskeytin

-Bitcoin-kaivosmies

-Videopelikonsoliemulaattorit

- Mukautetut Arduino-kilvet

-Rinnakkaisprosessorit (erittäin hyödyllisiä tietyissä matemaattisissa ongelmissa, joissa perinteiset tietokoneet eivät ole hienoja)

-Robotiikka / ohjausjärjestelmät

-Tietojen hankinta (muutama oskilloskooppimalli siellä FPGA-laitteille, jos osaat työskennellä op-vahvistimien kanssa)

VHDL yksinään ei ole kauheasti monimutkainen. Tärkeintä on muistaa, että suunnittelet fyysistä elektronista digitaalista piiriä, et kirjoita ohjelmaa mikro-ohjaimelle. Simulaatiosi ei ole ohjelma, joka tulee ajamaan periaatteessa rivi riviltä, ​​joten älä anna pinnallisen samankaltaisuuden C: n kanssa hämätä sinua, VHDL on hyvin erilainen paradigma.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...