HDL et vérification
Dans un banc de test, modifier les entrées du circuit par affectation bloquante au même instant que le front montant d'horloge peut poser problème. Quelle combinaison de raison principale et de remède est correcte ?
- ALa valeur capturée, d'avant ou d'après le changement, dépend de l'ordre d'exécution (course) ; on décale légèrement les entrées par rapport au front d'horloge ou on les modifie par affectation non bloquante
- BLa fréquence d'horloge baisse automatiquement ; on accélère l'horloge
- CL'affectation bloquante est interdite dans les bancs de test ; on utilise uniquement des instructions assign
Afficher la réponse et l'explication
Réponse : A. La valeur capturée, d'avant ou d'après le changement, dépend de l'ordre d'exécution (course) ; on décale légèrement les entrées par rapport au front d'horloge ou on les modifie par affectation non bloquante
Si, au même instant, le banc de test réécrit les entrées et les bascules du circuit les capturent, la valeur capturée sera ancienne ou nouvelle selon l'ordre d'exécution choisi par le simulateur. C'est une course (race) de simulation, dont le résultat peut varier d'un simulateur à l'autre. On l'évite en modifiant les entrées sur le front descendant, en les retardant légèrement, ou en utilisant l'affectation non bloquante ou les clocking blocks de SystemVerilog.