Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Verilog

Maîtriser Verilog : Tutoriel complet pour la conception de circuits numériques

Aux débuts des circuits intégrés, les ingénieurs devaient dessiner physiquement les transistors et leurs connexions sur papier pour les concevoir en vue de leur fabrication sur silicium. Les circuits plus grands et complexes demandaient plus d'ingénieurs, de temps et de ressources, créant le besoin d'une meilleure méthode de conception.

Le VHDL a été développé pour améliorer le processus en permettant aux ingénieurs de décrire la fonctionnalité du matériel souhaité et de laisser les outils d'automatisation convertir ce comportement en éléments matériels réels comme les portes combinatoires et la logique séquentielle. Verilog a été développé pour simplifier le processus et rendre le Hardware Description Language (HDL) plus robuste et flexible. Aujourd'hui, Verilog est le HDL le plus populaire utilisé dans l'industrie des semi-conducteurs.

En quoi Verilog est-il utile ?

Verilog crée un niveau d'abstraction qui masque les détails d'implémentation et de technologie.

Par exemple, la conception d'un bascule D nécessiterait la connaissance de l'agencement des transistors pour obtenir une bascule à front montant, ainsi que les temps de montée, descente et clk-Q pour verrouiller la valeur. La dissipation de puissance, le timing et la capacité à piloter des nets et d'autres bascules nécessiteraient aussi une compréhension approfondie des caractéristiques physiques d'un transistor.

Verilog permet de se concentrer sur le comportement et de laisser le reste pour plus tard.

Exemple

Le code suivant illustre l'aspect d'un code Verilog. Nous en explorerons les détails dans l'article suivant. Pour l'instant, comprenons simplement que le comportement d'un compteur est décrit. Le code fait compter le compteur vers le haut si le signal up_down est 1, et vers le bas s'il est 0. Il réinitialise aussi le compteur si le signal rstn devient 0, en faisant une réinitialisation active-basse.

module ctr (input up_down, clk, rstn, output reg [2:0] out);
always @ (posedge clk)
if (!rstn) out <= 0;
else begin
    if (up_down) out <= out + 1;
    else out <= out - 1;
end
endmodule

Cet exemple simple montre comment tous les détails d'implémentation physique sont masqués tout en donnant une idée claire du fonctionnement du compteur.

ctr est un module représentant un compteur up/down, et il est possible de choisir l'implémentation physique réelle parmi une grande variété de styles de bascules optimisés pour la surface, la puissance et la performance. Ils sont généralement compilés en bibliothèques et disponibles pour sélection dans les outils EDA à une étape ultérieure du processus de conception.

Maintenant que vous savez ce qu'est Verilog, commençons l'apprentissage !

Verilog

  1. Maîtriser la programmation C : Tutoriel complet pour débutants
  2. Maîtriser la concaténation Verilog : Guide pratique
  3. Comprendre les affectations Verilog : Types, Syntaxe et Bonnes Pratiques
  4. Verilog Blocking vs Non-Blocking : Différences Clés Expliquées
  5. Maîtriser les Fonctions Verilog pour une Conception RTL Efficace
  6. Comprendre les Tasks Verilog : Fonctions vs Tasks, Syntaxe et Utilisation
  7. Générateur d'Horloge Verilog : Guide de Conception et d'Implémentation
  8. Maîtriser les Fonctions Mathématiques Verilog pour une Conception Matérielle Efficace
  9. Maîtriser Verilog $timeformat : Contrôle de Précision et d'Affichage