Qu'est-ce que Liste de sensibilité ?

Liste des signaux écrite dans @( ) après always en Verilog, qui déclenchent l'exécution du bloc. Un oubli dans un circuit combinatoire crée un écart entre la simulation et le circuit.

Nom japonais: センシティビティリスト

« Liste de sensibilité » apparaît dans 4 questions d'entraînement réparties sur 1 thèmes, dont HDL et vérification.

Domaine: HDL et vérification

S'entraîner : questions sur Liste de sensibilité

Que signifie l'écriture « always @(*) » en Verilog ?

  1. AElle représente une bascule exécutée à chaque front montant d'horloge
  2. BElle n'est exécutée qu'une fois au début de la simulation
  3. CElle représente un circuit combinatoire, exécuté chaque fois que l'un des signaux lus dans le bloc change
Afficher la réponse et l'explication

Réponse : C. Elle représente un circuit combinatoire, exécuté chaque fois que l'un des signaux lus dans le bloc change

Le contenu de @( ) après always est la liste de sensibilité, qui spécifie les signaux dont le changement déclenche l'exécution du bloc. « * » revient à y placer automatiquement tous les signaux lus dans le bloc, ce qui représente correctement un circuit combinatoire. Une liste écrite à la main est sujette aux oublis ; pour les circuits combinatoires, il est plus sûr d'utiliser « @(*) » ou always_comb de SystemVerilog.

Quel est le rôle des outils de lint utilisés en vérification HDL ?

  1. AUn appareil retirant les déchets (peluches) de la puce
  2. BUn outil affichant joliment les chronogrammes de simulation
  3. CExaminer la description sans simulation pour détecter des problèmes comme les incohérences de largeur, les verrous non voulus ou les écritures non synthétisables
Afficher la réponse et l'explication

Réponse : C. Examiner la description sans simulation pour détecter des problèmes comme les incohérences de largeur, les verrous non voulus ou les écritures non synthétisables

Les outils de lint examinent statiquement la description HDL au regard de règles et signalent les écritures syntaxiquement correctes mais susceptibles de poser problème : affectation entre signaux de largeurs différentes, oubli dans la liste de sensibilité, inférence de verrous, mélange d'affectations bloquantes et non bloquantes, mauvaise gestion des horloges, etc. Exécutables sans écrire de tests, ils réduisent l'effort de vérification ultérieur lorsqu'ils sont utilisés dès les premières phases de conception.

« Liste de sensibilité » dans les explications

Questions mentionnant « Liste de sensibilité » (4)

  1. Que signifie l'écriture « always @(*) » en Verilog ?
  2. Voulant un circuit combinatoire, on a écrit le code ci-dessus. Quel problème peut survenir ?
  3. Quel est le type et le comportement de la réinitialisation dans la description ci-dessus ?
  4. Quel est le rôle des outils de lint utilisés en vérification HDL ?

Termes associés

Circuit combinatoire Verilog SystemVerilog Synthèse logique Réinitialisation asynchrone Lint Inférence Affectation bloquante Affectation non bloquante Banc de test (testbench)

Retour au glossaire