LOGIQUE PROGRAMMABLE EN VERILOG
Chapitre 1. Introduction
Chapitre 2. Traitement combinatoire et syntaxe du langage
2.1. Le module
2.2. Les entrées - sorties
2.3. Les niveaux logiques
2.4. Le corps du programme
2.4.1. en instanciant
2.4.2. en créant
2.5. Les opérations logiques binaires
2.6. Les opérations logiques unaires
2.7. Les opérations arithmétiques
2.8. Les bus
2.9. La déclaration de paramètre
2.10. La concaténation
2.11. Exemple: l'additionneur 1 bit complet
2.12. Taille et codage des nombres
2.13. Extension des modules
2.14. Avantages et Inconvénients des différentes approches sur un exemple
2.15. Exercices
2.16. Solution des exercices
Chapitre 3. L'usage de l'outil QUARTUS II
Chapitre 4. Description comportementale
Chapitre 5. Projets : énoncés
Chapitre 6. Projets : vers la solution
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante

2.4.1. en instanciant

Si on a remarqué dans la bibliothèque des ressources, une fonctionnalité qui correspond à la fonction ET à 2 entrées. Son prototype est le suivant :


module And2 (a, b, S) ;

Par nos compétences et acquis précédents, nous savons mettre en cascade les fonctions ET pour obtenir des ET à plus d’entrées. C'est ce que l'on retrouve sur le logigramme ci-dessous :


Des liaisons internes (n1 et n2) sont nécessaires sans pour cela qu’il s’agisse d’entrée ou de sortie. Ces connexions seront déclarées du type wire. Ce sont des liaisons équipotentielles ou des fils.

Un « wire » est une interconnexion interne simple, une équipotentielle.

Ainsi on pourra obtenir le programme suivant :

module ET4 (a, b, c, d, S) ;
input a, b, c, d ;
output S ;
wire n1, n2 ;

And2 ET1 (a, b, n1) ; // On prend un composant du type And2 que l’on nomme ET1
And2 ET2 (c, d, n2) ;
And2 ET3 (n1, n2, S) ;

endmodule

Explication : And2 ET2 (c,d,n2); revient à avoir pris un composant appelé ET2 de type And2 (ET à 2 entrées) et avoir relié ses entrées à c et d et sa sortie à n2.

Conseil : les indentations et sauts de ligne ne sont pas obligatoires, mais apportent une réel confort de lecture

Remarque : ce programme réalisé en technologie classique avec des portes ET à 2 entrées génèrerait des temps de propagation doublés. Ce  ne sera pas le cas avec les composants programmables : l'implantation réelle donnera la même fonctionnalité, mais la description n'impose pas la réalisation.


Ainsi, le fichier contenant ce qui suit donne le même résultat à la compilation.

module ET4 (a, b, c, d, S); input a, b, c, d; output S; wire n1, n2; And2 ET1(a, b, n1); And2 ET2(c, d, n2); And2 ET3(n1, n2, S); endmodule

Il n'est pas aussi facile à lire et à comprendre, c'est pourquoi, on conseille de mettre une instruction par ligne et de pratiquer avec des indentations pour les structures de contrôle. De même, il peut être plus difficile à débogguer en cas d'erreur.

 
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante