Altifigence Academy

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.

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.

ObservationCause possibleProchaine vérification
FIFO souvent pleineRécepteur ou étage suivant lentOutput-ready et valid des étages
Sortie souvent videEntrées clairsemées ou bullesEntrées acceptées et mouvement des étages
Long chemin readyNombreuses liaisons combinatoires de tamponsTemporisation d’implémentation
Mauvais ordre d’étiquettesDé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.

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