Je suis un étudiant en EE et je peux écrire des programmes [au moins simples] dans plus de langues que je n'ai de doigts. Je viens de commencer à apprendre le VHDL et je me demandais quel serait un bon projet pour vraiment connaître la langue et les outils pertinents? J'ai du mal à en trouver un parce que c'est un style de programmation vraiment différent pour moi.
J'ai fait des choses simples comme des ajouts, mais je recherche un projet à plus long terme (c'est-à-dire un mois environ).
Dans le cas où c'est pertinent, j'ai Xilinx Webpack et une carte Digilent Spartan3.
Puisque vous semblez intéressé par la programmation, vous pouvez créer un microprocesseur simple.
la source
Vous devriez consulter opencores.org et y trouver un projet intéressant. Vous pouvez également télécharger le Sigasi HDT , qui vous aidera à vous familiariser avec la grammaire VHDL.
la source
J'ai aimé travailler avec Hans chez hardhack cette année sur le projet Rekonstrukt pour construire un synthétiseur de base dans un FPGA. Les projets LED sont également bons, mais rien de tel que de brancher le FPGA sur une chaîne stéréo. Il ne se construit pas à partir de zéro, comme le ferait un projet LED, car le projet est basé sur un processeur à cœur ouvert qui prend en charge. Donc, au début, vous apprenez à charger le FPGA avec le projet, puis vous pouvez jouer avec les enveloppes dans FORTH. Mais lorsque vous commencez à en savoir plus sur les composants internes du FPGA, c'est lorsque vous souhaitez ajouter des fonctionnalités, ce qui nécessite ensuite de creuser dans le VHDL.
la source
Un projet que j'ai aimé faire implémentait le jeu Milton Bradley Simon sur un FPGA.
Dans mon université, notre classe EDA utilise le même tableau que vous mentionnez. Certains des projets mis en œuvre comprenaient:
Cela peut vous donner quelques idées.
J'appuierai l'idée opencores.org ainsi que la mise en œuvre de votre propre microprocesseur. Puisque vous avez un FPGA Xilinx, vous pouvez également envisager de faire quelque chose avec microblaze ou picoblaze.
Modifier: mise en forme.
la source
J'ai écrit du code vhdl pour xilinx virtex core il y a quelque temps. c'était une implémentation de réveil. C'est ce que j'ai fait:
Rincé, répété 1-3. Je voudrais souligner que la génération de flux binaire est entièrement intégrée à l'IDE de Xilinx. Il vous suffit d'avoir un ensemble clair de logiques à implémenter en HDL; tout le reste est fait par l'IDE.
la source
Un oscillateur à commande numérique serait amusant. Je viens de faire un design avec ma carte compatible Arduino (voir http://tinyurl.com/ydmz2su ) mais ce serait parfait pour un FPGA.
Voici quelques références de conception.
Snell, John 1988 "Conception d'un oscillateur numérique qui générera jusqu'à 256 ondes sinusoïdales à faible distorsion en temps réel" Fondements de l'informatique musicale. Cambridge, Mass.: MIT Press
Moore, F. Richard 1988 "Table Lookup Noise for Sinusoidal Digital Oscillators" Foundations of Computer Music. Cambridge, Mass.: MIT Press
la source
Je fais un peu de CPU. C'est une belle façon arrondie de couvrir toutes les bases.
Vous couvrirez toutes les bases d'un grand projet en VHDL et serez exposé à tous les sujets principaux de la conception VHDL (horloges, entrées, sorties, logique, bus et conception séquentielle de manière la plus visible) ainsi qu'à de nombreux composants électroniques et informatiques de base concepts de conception et d'architecture comme les registres, les opérations de données, la mémoire et l'arithmétique des ordinateurs.
Vous pouvez commencer par simplement ajouter et soustraire, puis ajouter plus de fonctionnalités à mesure que vous apprenez, en progressant vers un ordinateur entièrement fonctionnel (quoique simple ... ou comme je préfère l'appeler "rétro"). Du moins, c'est mon plan.
De plus, avoir votre propre ordinateur personnalisé sur une puce est tout simplement cool :) Comme un Raspberry Pi 16 bits: P
Autres projets FPGA courants:
- Synthétiseur musical
-Générateur d'effets DSP
-Contrôleur / interrupteur MIDI
-Bitcoin miner
-Emulateurs de console de jeux vidéo
- Boucliers Arduino personnalisés
-Processeurs parallèles (très utiles pour certains problèmes mathématiques auxquels les ordinateurs conventionnels ne sont pas excellents)
-Robotique / systèmes de contrôle
-Acquisition de données (quelques modèles d'oscilloscopes pour les FPGA si vous savez comment travailler avec des amplis opérationnels)
Le VHDL à lui seul n'est pas horriblement compliqué. La chose la plus importante à retenir est que vous concevez un circuit numérique électronique physique, et non pas l'écriture d'un programme pour un microcontrôleur. Votre simulation n'est pas un programme qui va fonctionner ligne par ligne, donc ne vous laissez pas tromper par la similitude superficielle avec C, VHDL est un paradigme très différent.
la source