HDL et vérification

Comment appelle-t-on la forme ci-dessus, où la sortie d'un circuit combinatoire revient à sa propre entrée sans passer par une bascule, et pourquoi faut-il l'éviter ?

assign a = b & c;
assign b = a | d;
  1. ABoucle combinatoire ; elle peut osciller ou ne pas se stabiliser, et rend l'analyse temporelle impossible
  2. BPipeline ; le circuit devient trop rapide
  3. CRegistre à décalage ; des données sont perdues
Afficher la réponse et l'explication

Réponse : A. Boucle combinatoire ; elle peut osciller ou ne pas se stabiliser, et rend l'analyse temporelle impossible

Lorsque a détermine b et b détermine a sans bascule, la valeur circule à chaque délai de porte et peut osciller, ou la valeur finale dépend des différences de délai. Une fonction de mémorisation de type verrou peut aussi apparaître involontairement. L'analyse temporelle statique ne sait pas traiter les chemins en boucle. Lorsqu'une rétroaction est nécessaire, on insère toujours une bascule sur le trajet pour mettre à jour la valeur à chaque cycle d'horloge.

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

Autres questions sur HDL et vérification

  1. Comment la description ci-dessus est-elle généralement traitée lors de la synthèse logique pour FPGA ?
  2. Pour un circuit combinatoire, quelle comparaison est correcte entre une longue chaîne de if/else if et une instruction case à conditions mutuellement exclusives ?
  3. Quelle est la différence entre les opérateurs d'égalité « == » et « === » en Verilog ?
  4. Quelle est la grande différence entre une description en HDL comme Verilog et un programme logiciel en C ou autre ?
  5. Quel est l'objectif de l'utilisation de module en Verilog ?

Comparatifs sur ce thème