HDL et vérification

Quelle est la différence entre les types wire et reg en Verilog ?

  1. Areg devient toujours une bascule et wire toujours un circuit combinatoire
  2. Bwire représente une connexion pilotée par une instruction assign ou analogue, reg un signal affecté dans un bloc always, mais reg ne devient pas forcément une bascule
  3. Cwire sert à stocker des nombres, reg des caractères
Afficher la réponse et l'explication

Réponse : B. wire représente une connexion pilotée par une instruction assign ou analogue, reg un signal affecté dans un bloc always, mais reg ne devient pas forcément une bascule

En Verilog, la règle est de déclarer wire les signaux pilotés par une instruction assign ou une sortie de module, et reg les signaux affectés dans un bloc always. reg semble abréger « registre », mais une affectation dans always @(*) donne un circuit combinatoire, pas une bascule. C'est l'écriture, mise à jour ou non sur un front d'horloge, qui détermine s'il s'agit d'une bascule. En SystemVerilog, les deux peuvent s'écrire avec le type logic.

S'entraîner sur ce thème Retour au thème

Autres questions sur HDL et vérification

  1. Quel circuit représente l'instruction assign Verilog ci-dessus ?
  2. Quel circuit la synthèse logique produit-elle à partir de la description Verilog ci-dessus ?
  3. Quel est le comportement de l'affectation non bloquante (<=) en Verilog ?
  4. Dans la description ci-dessus, juste avant le front montant d'horloge, a=0 et b=1. Quelles sont les valeurs de a et b après le front montant ?
  5. Voulant un registre à décalage à deux étages, on a écrit le code ci-dessus avec des affectations bloquantes (=). Quel problème survient ?

Comparatifs sur ce thème