Question

Je suis un développeur intégré autodidacte. J'utilise principalement des AVR programmés en C et ASM, mais j'ai essayé d'autres systèmes. Je cherche à passer à des dispositifs plus complexes tels que les CPLD et les FPGA, mais je ne sais pas par où commencer. Mes questions et demie sont donc les suivantes:

  1. Préférez-vous le format VHDL ou Verilog et pourquoi?
  2. Quel est le bon moyen pour ceux qui n'ont aucune expérience en HDL de commencer à apprendre une telle bête?
Était-ce utile?

La solution

Achetez un kit de démarrage pas cher chez Xilinx ou Altera (les deux grands joueurs de FPGA). Un kit de démarrage Xilinx Spartan3 coûte 200 $.

Personnellement, je préfère le VHDL. Il est fortement typé et présente des fonctionnalités plus avancées que Verilog. Le VHDL est plus populaire en Europe et Verilog est dominant aux États-Unis.

Achetez un livre (par exemple, Peter Ashendens, Guide du concepteur en VHDL) et commencez à simuler vos conceptions dans un simulateur gratuit. ModelSim de Mentor Graphis est un bon exemple et des versions gratuites sont disponibles (avec une vitesse de simulation réduite).

Créez un projet intéressant (mini cpu, graphisme vga, synthétiseur) et commencez à concevoir. Simulez toujours et assurez-vous que votre conception fonctionne avant de la mettre dans le matériel ...

Si vous ne connaissez pas l’électronique numérique, achetez un livre sur ce sujet également.

Autres conseils

À l’époque où j’ai travaillé sur la conception des ASIC, c’était en verilog. Dans de nombreux cas, en tant que concepteur, vous n'avez pas à choisir: les outils de synthèse ASIC pour un HDL coûtent une somme d'argent importante, et les entreprises n'achètent l'ensemble de la chaîne d'outils que pour un & "Bienheureux &"; la langue. Mon employeur avait standardisé Verilog, c’est ce que nous avons utilisé.

Les outils de synthèse FPGA sont nettement moins chers, vous avez donc plus de liberté en tant que concepteur de FPGA pour choisir votre langage et vos outils préférés.

Des simulateurs Verilog gratuits sont également disponibles sur verilog.net .

Comme @kris l’a mentionné, une carte de démarrage pour FPGA est également un bon choix. Avoir votre code Verilog allumé une LED sur une carte est infiniment plus satisfaisant qu’une forme d’onde du simulateur sur l’écran.

Vérifiez également opencores.org - des articles et beaucoup de code source ouvert sont disponibles dans les deux Verilog et VHDL dont vous pouvez apprendre.

Autant que je sache, VHDL vs Verilog devient tout aussi religieux que Ruby vs Python ou Java vs C #. Différentes personnes ont leurs propres favoris.

Consultez ce site: http://www.fpga4fun.com/

Beaux projets simples utilisant des outils simples. J'ai utilisé l'une de ces cartes il y a quelques années pour construire un petit système d'affichage VGA pouvant servir de panneau d'affichage.

En revoyant sur le site, je songe à me procurer une carte Xylo-LM car elle est dotée d’un processeur ARM, d’une SDRAM et d’un Xilinx Spartan 3e.

Une autre carte que j’avais utilisée auparavant était le XPort 2 de Charmed Labs. Cela se connecte à une Gameboy Advance qui est bien supportée avec des outils de développement open source.

Découvrez: http://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43

Une autre question à considérer est de savoir si vous devez commencer par apprendre un HDL, ou par la logique booléenne, les cartes de Karnaugh, le théorème de DeMorgan, les gates, implémenter l’arithmétique dans les gates, etc. Il est facile d’écrire en HDL non synthétisable. ne pas avoir un modèle mental précis de ce que le matériel sous-jacent va ressembler.

Ce livre est la version Verilog du J'en ai utilisé un au premier cycle, et à mon avis, il a fait un très bon travail. Vous commencez avec le matériel mentionné ci-dessus, ainsi que quelques informations de base sur l’implémentation de portes au niveau des transistors, puis vous présente un HDL et vous permet de construire des blocs matériels structurels et comportementaux de plus en plus complexes. Oui, je sais que cela coûte cher, tout comme la plupart des manuels scolaires, mais c’est une de ces choses pour lesquelles les informations que j’ai pu trouver en ligne, du moins, ont été terriblement inadéquates.

Une fois que vous êtes prêt à choisir un HDL, je recommande vivement Verilog (ayant d'abord appris le VHDL). Oui, le VHDL était autrefois beaucoup plus riche en fonctionnalités que Verilog, mais des révisions ultérieures du langage (Verilog 2001, Verilog 2005, SystemVerilog, etc.) ont choisi la plupart des fonctionnalités intéressantes, et un support beaucoup plus robuste pour la chaîne d'outils. pour Verilog et sa variante de nos jours, en plus d’être la langue dominante utilisée aux États-Unis (selon mon expérience, le VHDL n’est utilisé ici que pour traiter des blocs hérités extrêmes et dans des contextes académiques, en partie à cause des outils mentionnés précédemment). Enfin, une fois que vous avez appris le HDL, vous disposez d'un langage de vérification du matériel (HVL) dans SystemVerilog avec une syntaxe strict-sur-ensemble, ce qui vous évite une bonne partie de l'apprentissage. Pas si pour le VHDL, à ma connaissance.

Altera et Xilinx intègrent des simulateurs dans leurs jeux d’outils gratuits. Ce sont des versions limitées des très populaires outils Mentor ModelSim. Ils prendront en charge la taille des motifs que vous êtes susceptible d’intégrer dans un & Lt; 500 $ US.

Pour le choix du format HDL, Verilog est défini sur C, de même que VHDL, sur ADA. Ainsi, Verilog est plus facile à utiliser, mais vous pouvez faire des erreurs plus facilement. Vérifiez vos avertissements de simulation et de compilation pour éviter ces problèmes.

Verilog est beaucoup plus facile à apprendre et à utiliser une syntaxe plus simple. C'est aussi une nouvelle langue. Deuxièmement, la plupart des gens utilisent verilog. Le VHDL a de nombreux types de données qui lui donnent une courbe d'apprentissage. Une fois que vous connaissez Verilog, il sera plus facile de combler le fossé avec le VHDL. Oh, et il y a aussi des macros dans Verilog qui sont très nettes. J'ai inventé une langue avec elle. Enfin, vous pourrez éventuellement faire du design HW en plusieurs langues. J'ai commencé avec le VHDL, puis j'ai appris verilog et je suis maintenant pro verilog.

J'étais dans le même bateau que vous êtes il y a un semestre. Mon livre préféré était celui-ci , car il parlait des FPGA en examinant la logique numérique . Il présente également des comparaisons côte à côte des codes VHDL et Verilog, de sorte que, au lieu de choisir celui sur lequel les gens peuvent vous pousser, vous pouvez apprendre celui que vous aimez stylistiquement.

Comme pour un FPGA, utilisez le ISE webpack pour faire votre programmation (c'est gratuit) et commencer avec des FPGA comme le Carte FPGA Basys2 . C'est un très petit FPGA qui devrait vous permettre de démarrer à un petit prix, mais qui présente l'avantage supplémentaire d'apprendre très tôt la gestion des ressources et de la mémoire. Vous pouvez utiliser le Adept (également gratuit) de Digilent pour vous simplifier la vie. télécharger votre " compilé " code au tableau.

Bonne chance!

Avant de plonger dans Verilog / VHDL ou d’acheter un kit de développement FPGA, je vous recommande de prendre un cours d’introduction au design numérique. Il existe de bonnes classes OpenCourseWare MIT en ligne.

Bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top