Vraag:
Project om VHDL te leren
jeremy
2009-12-15 14:03:03 UTC
view on stackexchange narkive permalink

Ik ben een EE-student en kan [tenminste eenvoudige] programma's in meer talen schrijven dan ik vingers heb. Ik ben net begonnen met het leren van VHDL en ik vroeg me af wat een goed project zou zijn om de taal en de relevante tools echt te leren kennen? Ik heb er moeite mee om er een te bedenken omdat het een heel andere stijl van programmeren voor mij is.

Ik heb eenvoudige dingen gemaakt, zoals adders, maar ik ben op zoek naar een langere termijn (bijvoorbeeld een maand of zo ).

Voor het geval het relevant is, heb ik Xilinx Webpack en een Digilent Spartan3-bord.

Acht antwoorden:
#1
+10
starblue
2009-12-15 19:49:55 UTC
view on stackexchange narkive permalink

Omdat je geïnteresseerd lijkt in programmeren, zou je een eenvoudige microprocessor kunnen bouwen.

**Sterk aanbevolen. Je leert niet alleen over de FPGA- en VHDL-kant van de dingen, maar ook over hoe processors werken, wat er nodig is aan ontwikkelingstools om een ​​processor te ondersteunen, enz.
#2
+7
Axeman
2009-12-15 14:55:13 UTC
view on stackexchange narkive permalink

Mijn "hallo wereld" FPGA-project was een LED-arraycontroller met PWM en seriële streaminvoer. Het eindresultaat was mooi ( http://lbw.axe-man.org/led1.wmv) maar ik geef toe dat ik een deel ervan heb gedaan met de Altera Quartus Schematic Editor om te zien hoe VHDL-onderdelen werden beschreven.

dit is een geweldig idee; Ik heb zojuist een 16x16 controllerloze matrix opgehaald en een controller zou geweldig zijn. nette video!
Mooie video! En die schematische editor is er om te gebruiken.
#3
+5
user421
2009-12-15 18:54:40 UTC
view on stackexchange narkive permalink

Bekijk opencores.org en vind daar een interessant project. Je kunt ook de Sigasi HDT downloaden, waarmee je op de hoogte bent van VHDL-grammatica.

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

Ik heb dit jaar met plezier samengewerkt met Hans bij hardhack aan het Rekonstrukt -project om een ​​basissynthisizer in een FPGA te bouwen. LED-projecten zijn ook goed, maar er gaat niets boven het aansluiten van de FPGA op een stereo-installatie. Het is niet vanaf de grond af aan bouwen, zoals een LED-project zou doen, omdat het project is gebaseerd op een open-core processor die vooruit ondersteunt. Dus in het begin leer je hoe je de FPGA in principe met het project laadt, daarna kun je met de enveloppen in FORTH spelen. Maar waar u meer begint te leren over de FPGA-internals, is wanneer u functionaliteit wilt toevoegen, waarvoor u zich vervolgens in de VHDL moet verdiepen.

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

Een project dat ik met veel plezier deed, was het implementeren van het Milton Bradley Simon-spel op een FPGA.

Op mijn universiteit gebruikt onze EDA-klas hetzelfde bord dat u noemt. Enkele van de geïmplementeerde projecten waren:

  • Beeldverwerking: mediaan filter, histogram uitrekken, randdetectie
  • Cryptografie: AES, verschillende hash-algoritmen, enz.
  • Communicatie: Ethernet, USB, I2C, enz.
  • Games: Pong, ruimte-indringers, enz.

Dat kan u enkele ideeën opleveren.

Ik geef het idee van opencores.org een tweede plaats en implementeer je eigen microprocessor. Aangezien je een Xilinx FPGA hebt, zou je ook kunnen kijken naar iets doen met microblaze of picoblaze.

Bewerken: formatteren.

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

Ik heb enige tijd geleden vhdl-code geschreven voor xilinx virtex core. het was een wekkerimplementatie. Dit is wat ik deed:

  • Lees veel door de vhdl-handleiding - ik zou het nu moeten herzien, maar ik vond het vrij eenvoudig en gemakkelijk te gebruiken hdl :-)
  • Xilinx suite (compiler, synthesizer) gebruikt om de bitstream te krijgen
  • De bitstreams geüpload met jtag

Afgespoeld, herhaald 1-3. Ik zou erop willen wijzen dat bitstream-generatie vrijwel allemaal geïntegreerd is in Xilinx's IDE. Je moet gewoon een duidelijke set logica hebben om in HDL te implementeren; al de rest wordt gedaan door de IDE.

#7
+1
jluciani
2009-12-16 05:27:53 UTC
view on stackexchange narkive permalink

Numeriek gestuurde oscillator zou leuk zijn. Ik heb net een ontwerp gemaakt met mijn Arduino-compatibele bord (zie http://tinyurl.com/ydmz2su) maar dit zou perfect zijn voor een FPGA.

Hier zijn een paar ontwerpreferenties.

Snell, John 1988 "Ontwerp van een digitale oscillator die tot 256 sinusgolven met lage vervorming in realtime genereert" Fundamenten van de computer Muziek. Cambridge, Mass .: MIT Press

Moore, F. Richard 1988 "Table Lookup Noise for Sinusoidal Digital Oscillators" Fundamenten van computermuziek. Cambridge, Massachusetts: MIT Press

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

Wat ik doe, is een beetje CPU maken. Het is een mooie afgeronde manier om alle basisprincipes te behandelen.

Je behandelt alle basisprincipes van een groot project in VHDL en wordt blootgesteld aan alle kernonderwerpen in VHDL-ontwerp (klokken, inputs, outputs , logica, bussen en sequentieel ontwerp het meest opvallend), evenals vele kernconcepten voor elektronisch en computerontwerp en architectuur, zoals registers, gegevensbewerkingen, geheugen en computerrekenen.

Je kunt beginnen met alleen optellen en aftrekken en dan meer functionaliteit toevoegen terwijl je leert, werkend naar een volledig functionele (zij het eenvoudige ... of zoals ik het liever "retro") computer noem . Dat is tenminste mijn plan.

Bovendien is het hebben van je eigen op maat ontworpen computer op een chip gewoon cool :) Net als een 16-bits Raspberry Pi: P

Andere veel voorkomende FPGA projecten:

-Muzieksynthesizer

-DSP-effectgenerator

-MIDI-controller / onderbreker

-Bitcoin-mijnwerker

-Video game console emulators

-Aangepaste Arduino schilden

-Parallelle processors (erg handig voor bepaalde wiskundige problemen waar conventionele computers niet zo goed in zijn)

-Robotica / controlesystemen

-Data-acquisitie (er zijn redelijk weinig oscilloscoopontwerpen beschikbaar voor FPGA's als je weet hoe je met opamps moet werken)

VHDL op zichzelf is niet verschrikkelijk ingewikkeld. Het belangrijkste om te onthouden is dat je een fysiek elektronisch digitaal circuit ontwerpt en geen programma schrijft voor een microcontroller. Je simulatie is in feite geen programma dat regel voor regel wordt uitgevoerd, dus laat de oppervlakkige gelijkenis met C je niet voor de gek houden, VHDL is een heel ander paradigma.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...