Méthodologie de conception

La conception Verilog adopte principalement une méthodologie de conception descendante (top-down). C'est-à-dire que l'on définit d'abord les fonctions du module de niveau supérieur, puis que l'on analyse les sous-modules nécessaires requis pour former le module de niveau supérieur ; on décompose et conçoit ensuite davantage chaque module jusqu'à atteindre les blocs fonctionnels de niveau inférieur qui ne peuvent pas être décomposés davantage. Ainsi, un grand système peut être raffiné en plusieurs petits systèmes, et réparti entre davantage de concepteurs en termes de temps et de charge de travail, ce qui améliore la vitesse de conception et raccourcit le cycle de développement.

Flux de conception

Le flux de conception Verilog comprend généralement les étapes suivantes :

Analyse des besoins

Le personnel doit analyser et comprendre les exigences fonctionnelles proposées par l'utilisateur, établir un plan global du système de circuits, établir des spécifications techniques détaillées et déterminer une solution préliminaire. Par exemple, pour concevoir un écran électronique, il est nécessaire de prendre en compte le mode d'alimentation, la fréquence de fonctionnement, la taille du produit, le coût, la consommation d'énergie, etc., et si la mise en œuvre du circuit utilise des dispositifs ASIC ou FPGA/CPLD.

Partitionnement fonctionnel

Après avoir correctement analysé les exigences de circuit de l'utilisateur, la conception globale de la fonction logique peut être réalisée, en concevant les fonctionnalités, les interfaces et la structure globale de l'ensemble du circuit, en tenant compte de la division des modules fonctionnels et des idées de conception, des interfaces et du timing de chaque sous-module (y compris le timing des interfaces et le timing des signaux internes), etc., et en attribuant raisonnablement les tâches de conception des sous-modules aux membres de l'équipe projet.

Description textuelle

Vous pouvez utiliser n'importe quel éditeur de texte ou un environnement d'édition HDL dédié pour concevoir et modéliser le circuit numérique requis, et l'enregistrer en tant que.vfichier.

Simulation fonctionnelle (pré-simulation)

Compiler le fichier de modélisation, effectuer une vérification par simulation fonctionnelle sur le circuit modèle, et trouver et corriger les erreurs de conception.

La vérification par simulation à ce stade ne prend pas en compte les facteurs de temporisation tels que les retards de signal ; elle vérifie uniquement l'exactitude logique.

Synthèse logique

La synthèse est le processus de conversion de la description de haut niveau de la conception (modélisation Verilog) en une netlist au niveau des portes, en fonction de la bibliothèque de cellules standard et de contraintes de conception spécifiques. Le but de la synthèse logique est de produire la structure au niveau des portes du circuit physique, d'effectuer un certain degré d'optimisation en logique et en timing, de rechercher un équilibre entre la logique, la surface et la consommation d'énergie, et d'améliorer la testabilité du circuit.

Cependant, toutes les instructions Verilog ne sont pas synthétisables en cellules logiques, par exemple les instructions de délai.

Placement et routage

D'après la netlist et les fichiers de contraintes générés par la synthèse logique, effectuez le placement-routage du circuit au niveau portes à l'aide des différentes bibliothèques de cellules standard de base fournies par le fabricant. À ce stade, le circuit numérique conçu en Verilog a été réalisé sous la forme d'un circuit numérique composé de bibliothèques de cellules standard.

Simulation temporelle (post-simulation)

Après le placement-routage, le modèle de circuit contient déjà les informations de délai. Utilisez les paramètres précis obtenus lors du placement-routage pour vérifier les temporisations du circuit avec un logiciel de simulation. Les différences dans les dispositifs de cellules et les schémas de placement-routage peuvent affecter les temporisations du circuit et, dans les cas graves, des erreurs peuvent survenir. Après l'apparition d'erreurs, il peut être nécessaire de modifier à nouveau le RTL (description au niveau transfert de registres, c'est-à-dire la description Verilog initiale) et de répéter les étapes suivantes. Ce processus peut être répété plusieurs fois jusqu'à ce que toutes les erreurs soient complètement éliminées.

Téléchargement FPGA/CPLD ou fabrication ASIC

Après avoir terminé toutes les étapes ci-dessus, vous pouvez utiliser les outils de développement pour télécharger le fichier cible du circuit numérique conçu dans la puce FPGA/CPLD, puis le déboguer et le vérifier sur la carte de circuit imprimé.

S'il doit être implémenté sur un ASIC, la puce doit être fabriquée. Généralement, lors de la fabrication de la puce, la vérification des fonctions logiques doit également être effectuée d'abord sur une carte FPGA.