Altifigence Academy

22 / 63 · Concept

Transitions synchrones et rôle de l'horloge

Interpréter un système synchrone comme des registres lisant le même état précédent.

Tout l'état se met à jour sur un même front

Pour l'état QkQ_k et l'entrée XkX_k d'un circuit synchrone, le contrat essentiel est :

Qk+1=F(Qk,Xk),Yk=G(Qk,Xk)Q_{k+1}=F(Q_k,X_k),\qquad Y_k=G(Q_k,X_k)

F calcule l'état suivant et G la sortie. L'horloge ne décide pas du calcul, mais de l'instant où son résultat sera stocké. Plusieurs registresRegistre Circuit stockant plusieurs bits d'état. Les registres synchrones du cours capturent leur entrée définie sur un front d'horloge. En savoir plus déterminent chacun leur prochaine valeur à partir du même état précédent.

Q traverse F pour former l'entrée d'état suivant. La valeur stockée revient comme Q de l'intervalle suivant : distinguez calcul entre fronts et stockage au front.

Calculer l'état suivant depuis l'état précédent
  1. État courant Q: Maintenir entre les fronts
  2. F(Q, X): Calculer avec l'entrée et l'état précédent
  3. Mémoriser au front: Le résultat devient le prochain Q

La période doit satisfaire le chemin le plus lent

Il faut du temps pour qu'une nouvelle valeur sorte du registre de départ, puis traverse la logique et atteigne le registre suivant. Il faut aussi conserver la marge setupSetup Durée minimale de stabilité de la donnée avant le front de capture. En cas de violation, le résultat mémorisé n'est pas garanti. En savoir plus avant le prochain front. Un code court ne garantit pas une fréquence élevée.

Une période de 10 ns correspond à 100 MHz.

f=1Tf=\frac{1}{T}

Ne sautez pas les conversions : l'inverse de 1 ns vaut 1 GHz, celui de 1 ps vaut 1 THz. La période choisie en simulation programme les stimuli ; elle ne mesure pas la fréquence supportée par le matériel physique.

Interpréter les signaux entre les fronts

Une sortie de registre conserve son état jusqu'au prochain front valide, tandis qu'une sortie combinatoire peut changer entre les fronts. Les exceptions dépendent notamment du resetReset Commande ramenant l'état à la valeur initiale spécifiée. Son caractère synchrone/asynchrone et sa priorité sur les autres commandes doivent être définis. En savoir plus, synchrone ou asynchrone. Les travaux pratiques fournis utilisent une horloge unique et un reset synchrone.

Définissez validité des entrées, instant de mise à jour et instant d'observation avant de lire les chronogrammes. Les équations d'état sont plus exactes que l'idée logicielle « une ligne de code exécutée par cycle ».

Essayez vous-même

Quelle est la période à 200 MHz ? Avec deux registres sur la même horloge, a<=d; b<=a;, b reçoit-il le a mis à jour sur ce front ?

Lire l’explication

La période vaut 5 ns. b reçoit a d'avant le front. Les deux registres calculent depuis le même état précédent : la nouvelle donnée d ne traverse pas les deux étages en un seul front.

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.