HDL et vérification
Voulant un circuit combinatoire, on a écrit le code ci-dessus. Que produit la synthèse logique ?
always @(*) begin
if (en)
y = d;
end
- AUn circuit combinatoire où y vaut automatiquement 0 quand en vaut 0
- BUne bascule D cadencée par l'horloge
- CUn verrou non voulu, car y doit conserver sa valeur quand en vaut 0
Afficher la réponse et l'explication
Réponse : C. Un verrou non voulu, car y doit conserver sa valeur quand en vaut 0
En l'absence d'affectation de y lorsque en vaut 0, y doit mémoriser sa valeur précédente. Un circuit combinatoire n'ayant pas de fonction de mémorisation, la synthèse logique crée un verrou pour conserver la valeur. Les verrous compliquent l'analyse temporelle et peuvent provoquer des dysfonctionnements dus au bruit ; on les évite s'ils ne sont pas voulus. En affectant une valeur dans tous les cas, par exemple avec « else y = 0; », on obtient un circuit combinatoire.