HDL et vérification

Quelle écriture est couramment utilisée pour éviter les verrous non voulus dans un bloc always combinatoire ?

  1. AÉcrire le plus de branchements possible en omettant else
  2. BAffecter en tête de bloc une valeur par défaut à tous les signaux de sortie avant d'écrire les branchements
  3. CDéclarer tous les signaux de sortie en wire et les affecter dans always
Afficher la réponse et l'explication

Réponse : B. Affecter en tête de bloc une valeur par défaut à tous les signaux de sortie avant d'écrire les branchements

En plaçant en tête de bloc des valeurs par défaut pour les sorties, par exemple « y = 0; valid = 0; », quel que soit le chemin emprunté ensuite dans les branchements, au moins la valeur par défaut est affectée ; il n'y a donc pas de valeur à conserver et aucun verrou n'apparaît. C'est particulièrement utile pour décrire les sorties de machines d'états à nombreuses conditions. Avec always_comb de SystemVerilog, l'outil émet un avertissement lorsqu'un verrou apparaît.

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

Autres questions sur HDL et vérification

  1. Parmi les descriptions Verilog suivantes, laquelle ne devient pas un circuit et est ignorée par la synthèse logique (description destinée à la simulation) ?
  2. Quel circuit obtient-on en synthétisant la description ci-dessus, qui compte les 1 dans d sur 8 bits ?
  3. Quel est le type et le comportement de la réinitialisation dans la description ci-dessus ?
  4. Quelle est la différence entre réinitialisation synchrone et asynchrone ?
  5. Dans un circuit à réinitialisation asynchrone, pourquoi synchronise-t-on la levée de la réinitialisation (passage de 0 à 1) sur l'horloge par deux bascules avant de la distribuer ?

Comparatifs sur ce thème