Analyseur de synchronisation

author-image

Par

Une analyse statique complète de la synchronisation comprend l’analyse des chemins de registre à registre, d’E/S et de réinitialisation asynchrone. L’Analyseur de synchronisation utilise les temps requis pour les données, les temps d’arrivée des données et les temps d’arrivée de l’horloge pour vérifier les performances du circuit et détecter d’éventuelles violations de synchronisation. L’Analyseur de synchronisation détermine les relations de synchronisation qui doivent être respectées pour que la conception fonctionne correctement, et vérifie les temps d’arrivée en fonction des temps nécessaires pour vérifier la synchronisation.

Vérification de la configuration de l’horloge

Pour effectuer une vérification de la configuration de l’horloge, l’Analyseur de synchronisation détermine une relation d’installation en analysant chaque lancement et chaque bord de loquet pour chaque chemin de registre à enregistrer. Pour chaque bord de loquet au registre de destination, l’Analyseur de synchronisation utilise le bord d’horloge précédent le plus proche au registre source comme le bord de lancement.

Dans la Figure 1, deux relations d’installation sont définies et étiquetées Configuration A et Configuration B. Pour le bord du loquet à 10 ns, l’horloge la plus proche qui agit comme un bord de lancement est de 3 ns et est étiquetée Setup A. Pour le bord du loquet à 20 ns, l’horloge la plus proche qui agit comme un bord de lancement est de 19 ns et est étiquetée Setup B.

Figure 1. Vérification de l’installation.

L’Analyseur de synchronisation signale le résultat des contrôles d’installation de l’horloge comme des valeurs de slack. Slack est la marge permettant de satisfaire ou de ne pas satisfaire aux exigences de synchronisation. Le slack positif indique la marge par laquelle une exigence est respectée, et le slack négatif indique la marge par laquelle une exigence n’est pas respectée. L’Analyseur de synchronisation détermine la souplesse de configuration de l’horloge, comme le montre l’équation 1 sur les chemins de registre internes à enregistrer.

Équation 1

Slack configuration de l’horloge = Temps de données nécessaire - Temps d’arrivée des données

Données requises = Temps d’arrivée de l’horloge - μtSU - Incertitude de la configuration

Temps d’arrivée de l’horloge = Bord du loquet + Retard du réseau d’horloge vers le registre de destination

Temps d’arrivée des données = Registre source de démarrage edge + clock network delay + μtCO + retard de registre

Si le chemin de données se trouve depuis un port d’entrée vers un registre interne, l’analyseur de synchronisation utilise les équations indiquées dans l’équation 2 pour calculer le temps de jeu de configuration.

Équation 2

Temps de ralentissement de la configuration de l’horloge = Temps de données nécessaire - Temps d’arrivée des données

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge à la source du registre + Délai maximal d’entrée de la broche + broche pour enregistrer le retard

Temps nécessaire pour les données = Bord du loquet + Retard du réseau d’horloge vers le registre de destination - μtSU

Si le chemin de données est un registre interne vers un port de sortie, l’Analyseur de synchronisation utilise les équations indiquées dans l’équation 3 pour calculer le temps de jeu de configuration.

Équation 3

Temps de ralentissement de la configuration de l’horloge = Temps de données nécessaire - Temps d’arrivée des données

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge vers le registre source + μtCO + Registre au retard de broche

Temps nécessaire pour les données = bord du loquet + retard du réseau d’horloge vers l’registre de destination – Délai maximal de sortie de la broche

Vérification de la conservation de l’horloge

Pour effectuer une vérification de la conservation de l’horloge, l’analyseur de synchronisation détermine une relation de prise pour chaque relation d’installation possible qui existe pour toutes les paires de registres source et de destination. L’Analyseur de synchronisation vérifie tous les bords d’horloge adjacents à toutes les relations d’installation pour déterminer les relations d’attente. L’analyseur de synchronisation analyseur effectue deux contrôles de prise pour chaque relation d’installation. La première vérification de prise en main détermine que les données lancées par le bord de lancement actuel n’sont pas saisies par le bord de loquet précédent. La deuxième vérification de prise en main détermine que les données lancées par le bord de lancement suivant ne sont pas saisies par le bord du loquet actuel.

La Figure 2 montre deux relations d’installation étiquetées Configuration A et Configuration B. La première vérification de prise est étiquetée Hold Check A1 et Hold Check B1 pour la configuration A et la configuration B, respectivement. La deuxième vérification de prise est étiquetée Hold Check A2 et Hold Check B2 pour la configuration A et la configuration B, respectivement.

Figure 2. Maintenez la vérification en main.

Dans les relations de prise en main possibles, l’Analyseur de synchronisation sélectionne la relation de prise en main la plus restrictive. La relation de maintien avec la plus petite différence entre le loquet et les bords de lancement (c’est-à-dire, le loquet - le lancement et non la valeur absolue du loquet - lancement) est sélectionnée, car cela détermine le délai minimum autorisé pour le chemin d’inscription. Pour la Figure 2, la relation d’attente sélectionnée est « Hold Check A2 ». L’Analyseur de synchronisation détermine la souplesse de maintien de l’horloge, comme le montre l’équation 4.

Équation 4

Clock Hold Slack = Temps d’arrivée des données - Temps nécessaire pour les données

Temps nécessaire pour les données = Temps d’arrivée de l’horloge +μtH + incertitude de maintien

Temps d’arrivée de l’horloge = Bord du loquet + Retard du réseau d’horloge vers le registre de destination

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge vers le registre source +μtCO+ Registre pour enregistrer le retard

Si le chemin de données se trouve à partir d’un port d’entrée vers un registre interne, l’analyseur de synchronisation utilise les équations indiquées dans l’équation 5 pour calculer le temps de ralentissement.

Équation 5

Temps de ralentissement de la configuration de l’horloge = Temps d’arrivée des données - Temps nécessaire pour les données

Temps d’arrivée des données = Périphérie de lancement + retard du réseau d’horloge pour l’enregistrement à la source + Délai minimum d’entrée de la broche + broche pour enregistrer le retard

Temps nécessaire pour les données = Bord du loquet + Retard du réseau d’horloge vers le registre de destination + μtH

Si le chemin de données est un registre interne vers un port de sortie, l’Analyseur de synchronisation utilise les équations indiquées dans l’équation 6 pour calculer le temps de ralentissement.

Équation 6

Temps de ralentissement de la configuration de l’horloge = Temps d’arrivée des données - Temps nécessaire pour les données

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge vers le registre source + μtCO + Registre au retard de broche

Temps nécessaire pour les données = bord du loquet + retard du réseau d’horloge vers l’registre de destination – Délai minimum de sortie de la broche

Récupération et retrait

Le temps de récupération correspond à la durée minimale pendantée par un signal de contrôle asynchrone, par exemple, et prédéfini, qui doit être stable avant le bord de l’horloge actif suivant. Le calcul du temps de repos de récupération est semblable au calcul du temps de relâchement de la configuration de l’horloge, mais il s’applique aux signaux de contrôle asynchrones. Si le contrôle asynchrone est enregistré, l’Analyseur de synchronisation utilise l’Équation 7 pour calculer le temps de repos de récupération.

Équation 7

Temps de récupération lent = Temps de données nécessaire - Temps d’arrivée des données

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge au registre source + μtCO+ S’inscrire au retard d’inscription

Temps nécessaire pour les données = Bord du loquet + Retard du réseau d’horloge vers le registre de destination - μtSU

Si le contrôle asynchrone n’est pas enregistré, l’Analyseur de synchronisation utilise les équations indiquées dans l’équation 8 pour calculer le délai de récupération.

Équation 8

Temps de récupération lent = Temps de données nécessaire - Temps d’arrivée des données

Temps d’arrivée des données = périphérie de lancement + délai d’entrée maximal + port pour enregistrer le retard

Temps nécessaire pour les données = bord du loquet + retard du réseau d’horloge vers le registre de destination - μtSU

Remarque : si le signal de réinitialisation asynchrone provient d’un port (E/S du périphérique), vous devez effectuer une affectation de retard maximal d’entrée sur la broche de réinitialisation asynchrone pour que l’Analyseur de synchronisation réalise une analyse de récupération sur cette voie.

Le temps de retrait correspond à la durée minimale pendantée par un signal de contrôle asynchrone qui doit être stable après le bord de l’horloge actif. Le calcul du relâchement du temps de retrait de l’Analyseur de synchronisation est semblable au calcul du slack de maintien de l’horloge, mais il s’applique aux signaux de contrôle asynchrones. Si le contrôle asynchrone est enregistré, l’Analyseur de synchronisation utilise les équations indiquées dans l’équation 9 pour calculer le délai de suppression.

Équation 9

Retrait des temps de relâchement = Arrivée des données

Temps – Temps nécessaire aux données

Temps d’arrivée des données = Périphérie de lancement + Retard du réseau d’horloge vers le registre source + μtCOdu registre source + Registre pour enregistrer le retard

Temps nécessaire pour les données = Bord du loquet + Retard du réseau d’horloge vers le registre de destination + μtH

Si le contrôle asynchrone n’est pas enregistré, l’Analyseur de synchronisation utilise les équations indiquées dans l’équation 10 pour calculer le temps de retrait.

Équation 10

Retrait des temps de relâchement = Temps d’arrivée des données - Temps nécessaire pour les données

Temps d’arrivée des données = Périphérie de lancement + Délai minimum d’entrée de la broche + broche minimale pour enregistrer le retard

Temps nécessaire pour les données = Bord du loquet + Retard du réseau d’horloge vers le registre de destination +μtH

Remarque : si le signal de réinitialisation asynchrone provient d’une broche de périphérique, vous devez spécifier la contrainte de délai minimum d’entrée à la broche de réinitialisation asynchrone pour que l’analyseur de synchronisation réalise une analyse de retrait sur cette voie.

Chemins multicycles

Les chemins multicycles sont des chemins de données qui nécessitent plusieurs cycles d’horloge pour verrouiller les données dans le registre de destination. Par exemple, un registre peut être nécessaire pour capturer des données sur chaque seconde ou troisième extrémité montante de l’horloge.

La Figure 3 montre un exemple de chemin multicycle entre les registres d’entrée et le registre de sortie d’un multiplicateur, où la destination localisent les données sur tous les autres bords de l’horloge. Reportez-vous à La commande de l’analyseur de synchronisation set_multicycle_path pour obtenir des informations sur la commande set_multicycle_path.

Figure 3. Chemin multicycle.

Les pages suivantes fournissent des informations sur les commandes de la DDC décrivant les horloges et les caractéristiques de l’horloge.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.