23 / 24 · Concept
Mesurer les performances et revoir la conception
Définissez les fenêtres d’observation, diagnostiquez les blocages et délimitez les preuves du modèle.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
Revérifier les contrats numérique et temporel
Un calcul correct n’est qu’une partie de l’achèvement. Vérifiez l’admission d’entrée, la conservation sous blocage, la vidange finale et les limites de réinitialisation. Indiquez la fenêtre d’observation, les entrées acceptées, les sorties livrées, les blocages d’entrée/sortie et les latences des transactions. Les entrées présentées mais refusées par un tampon plein ne doivent pas compter comme travail terminé.
Supposons que douze résultats soient transférés entre immédiatement après le front 0 et immédiatement après le front 20, soit une fenêtre de vingt intervalles d’horloge. Le débit observé est 0.6 transaction par cycle. Avec une période de cinq nanosecondes, la fenêtre est 100 ns et la cadence 120 millions de transactions par seconde. Distinguez cette cadence observée du maximum structurel sans blocage de 200 millions. Une production clairsemée et de fréquents blocages du récepteur demandent des remèdes différents malgré des cadences identiques.
Utilisez les étiquettes pour associer livraison et acceptation. Tag7 accepté au front 4 et livré au front 11 a une latence de sept cycles, soit 35 ns. Il dépasse la latence sans blocage de trois cycles du projet sans impliquer de perte. Notez une plage ou un tableau par élément, et pas seulement une moyenne. Les assertions de latence fixe ne conviennent qu’aux chemins sans blocage.
| Observation | Cause possible | Prochaine vérification |
|---|---|---|
| FIFO souvent pleine | Récepteur ou étage suivant lent | Output-ready et valid des étages |
| Sortie souvent vide | Entrées clairsemées ou bulles | Entrées acceptées et mouvement des étages |
| Long chemin ready | Nombreuses liaisons combinatoires de tampons | Temporisation d’implémentation |
| Mauvais ordre d’étiquettes | Désalignement des champs associés | Étiquettes et valid des étages |
Des tampons plus profonds absorbent les rafales mais peuvent augmenter l’attente. Occupation permanente, cadence d’arrivée et temps de séjour sont liés ; n’appliquez pas aveuglément des moyennes de régime permanent à de courtes fenêtres de démarrage, vidange ou annulation.
Revoyez largeurs, signe, réduction, mouvement de valid, remplacement, annulation par reset, temporisation mémoire et politique de dépendances. La réussite Node établit une exécution de modèle entier, et non une compilation HDL ou une temporisation après placement. Pour des extensions comme la saturation, les codes d’opération ou les réponses mémoire, modifiez ensemble le contrat et les vérifications de référence. Une extension du chemin de données doit préserver stockage, acceptation et interprétation autant qu’ajouter un opérateur.
Essayez vous-même
Trente résultats sont transférés pendant cinquante intervalles d’horloge de période quatre nanosecondes. Trouvez le débit observé par cycle et par seconde. Trouvez aussi la latence de tag3 accepté au front 8 et livré au front 15.
Lire l’explication
Le débit est 0.6 transaction/cycle. La fenêtre de 200 ns donne 150 millions de transactions/seconde. La latence de tag3 est sept cycles, soit 28 ns. Rapportez ces observations séparément des performances maximales sans blocage.