Je n'ai absolument aucune expérience en logique programmable, j'utilise principalement des microcontrôleurs dans mes projets mais récemment, je devais travailler avec la vidéo et le microcontrôleur est tout simplement trop lent pour ce dont j'avais besoin, alors j'ai commencé à jouer avec des CPLD.
J'ai pu obtenir de bons résultats avec le CPLD uniquement en utilisant une conception schématique, mais lors de la recherche d'informations sur les CPLD, je suis tombé sur de nombreux exemples en utilisant VHDL et Verilog. Je suis curieux de savoir ce qui pourrait me donner envie de définir mon appareil dans l'une de ces langues. Que peuvent-ils faire que la conception schématique ne peut pas? Sont-ils principalement utilisés pour des fonctions?
Jusqu'à présent, je n'ai utilisé que des CPLD, les conceptions de FPGA bénéficient-elles plus que les CPLD de l'utilisation de ces langues?
la source
Réponses:
La conception schématique n'est utile que lorsque vous ne liez que quelques modules standard (compteurs, additionneurs, mémoire, etc.). Mais l'implémentation d'un algorithme réel (par exemple, un algorithme de hachage de cryptographie) est presque impossible de se passer d'un HDL (comme VHDL ou Verilog), car il n'y a aucun moyen de décrire un système à un niveau de comportement avec des symboles schématiques.
La plupart des projets sont réalisés en HDL de type comportemental car ils sont trop complexes pour être synthétisés à la main et dessinés schématiquement à l'aide de primitives logiques.
Les CPLD sont généralement utilisés pour la logique de collage et moins utilisés pour le traitement, et généralement la logique est facile à implémenter schématiquement, donc je pense que vous avez raison lorsque vous suggérez que les conceptions basées sur FPGA bénéficient davantage de l'utilisation d'un HDL.
la source
Quelques aspects pratiques en plus de l'excellente réponse de Jay:
* Mon bug préféré dans Xilinx ISE était l' incapacité de sélectionner des fils verticaux.
la source
Il existe de nombreux avantages d'un HDL (Hardware Description Languages) en tant que norme d'entrée de conception.
La description de la fonctionnalité peut être à un niveau supérieur, les conceptions basées sur HDL peuvent être synthétisées en une description au niveau de la porte d'une technologie choisie, Une conception HDL est plus facilement comprise qu'une liste nette au niveau de la porte ou une description schématique et des HDL réduire les erreurs en raison de la vérification de type forte.
Les langages de description du matériel VHDL et Verilog ont été conçus pour modéliser le matériel dans le but de modéliser à un niveau d'abstraction plus élevé qui comprend des fonctionnalités telles que la concurrence, le calendrier, la hiérarchie, la réutilisation des composants, le comportement d'état, le comportement synchrone, le comportement asynchrone, la synchronisation et le parallélisme inhérent .
Des problèmes surviennent pendant la synthèse, la mise en correspondance de la description de la conception avec un processus spécifique et la mise en œuvre de la porte. Cela nécessite que vous ne puissiez pas utiliser les fonctionnalités de haut niveau du HDL - vous devez produire "Verilog / VHDL synthétisable"
Vous avez donc HDL pour la synthèse et HDL pour la simulation et le sous-ensemble qui est synthétisable est spécifique à l'outil.
Vous ne pouvez pas passer d'une description de conception comportementale à une net-list / layout. Mais vous pouvez structurer votre conception pour avoir des composants comportementaux qui ont également un aspect synthétisable qui peut être comparé les uns aux autres. Vous commencez avec le comportement, puis une fois que cela fonctionne, vous réécrivez pour la synthèse (qui est un sous-ensemble). Vous passez du général au spécifique et construisez des bancs d'essai en cours de route.
la source
Un autre avantage est que les HDL ont tous les mêmes avantages que les langages de programmation normaux en ce qu'ils peuvent être utilisés dans des systèmes de contrôle de version standard, diff-ed pour examiner les changements, etc.
la source
En plus de ce qui a déjà été dit: la représentation textuelle est tout simplement beaucoup plus facile à gérer, en particulier dans les grands projets. Vous pouvez (quoique avec d'énormes difficultés) convertir n'importe quel HDL synthétisable en schéma, mais des centaines de lignes de texte brut sont plus faciles à travailler que des centaines d'éléments schématiques.
la source