Flux de déclenchement basé sur l’état de SignalTap* II

author-image

Par

Le flux de déclenchement basé sur l’état vous permet de définir un flux de déclenchement personnalisé pour organiser vos conditions de déclenchement. Ces exemples montrent des modèles pour des scénarios courants de déclenchement de flux et illustrent divers scénarios où le flux de déclenchement basé sur état est utile. Pour tous ces exemples, vous pouvez coller la description de flux directement dans l’onglet de flux de déclencheur basé sur l’état de SignalTap II à l’aide du mode d’affichage Tous les états dans une fenêtre et modifier la description en fonction de votre scénario de débogage.

Déclencheur sur un événement absent pour plus grand ou égal à 5 cycles d’horloge

Configuration de la condition de déclencheur

Une condition de base de déclencheur est définie dans l’onglet de configuration à la valeur désirée. TrigCond1 illustré dans la figure ci-dessous est un alias pour la configuration de la valeur AA à l’aide d’une configuration de table mnémonique.

Description de flux de déclenchement basée sur l’État

assurez-vous que si la condition contenant l’action du déclencheur est la première,

puisque les instructions conditionnelles sont basées sur la priorité.

si ( c1 > = 5)

déclencheur;

sinon si ( ! condition1 )

incrément c1;

sinon si ( condition1 & c1 < 5 )

réinitialiser c1;

Résultat de l’analyse des données

Déclencheur sur l’événement absent pour moins de 5 cycles d’horloge

Configuration de la condition de déclencheur

Une condition de base de déclencheur est définie dans l’onglet de configuration à la valeur désirée. TrigCond1 illustré dans la figure ci-dessous est un alias pour la configuration de la valeur AA à l’aide d’une configuration de table mnémonique.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 & c1 > 0 & c1 < 5)

déclencheur;

sinon si ( ! condition1 & c1 < 6)

incrément c1;

sinon si ( condition1 & c1 > 5 )

réinitialiser c1;

Dans le cas d’une longue séquence où Condition1 ne se produit pas, la condition booléenne c1 <6 a été ajoutée dans la seconde autre instruction si conditionnelle pour empêcher le compteur d’envelopper.

Résultat de l’analyse des données

Déclencheur sur la 5ème occurrence d’une valeur de groupe

Configuration de la condition de déclencheur

Une condition de base de déclencheur est définie dans l’onglet de configuration à la valeur désirée. TrigCond1 illustré dans la figure ci-dessous est un alias pour la valeur AA setup à l’aide d’une configuration de table mnémonique

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( c1 > = 5)

déclencheur;

sinon si ( condition1 )

incrément c1;

Résultat de l’analyse des données

Déclencheur sur la 5ème transition d’une valeur de groupe

Méthode n ° 1: Utilisation d’un déclencheur sensible aux bords

Configuration de la condition de déclencheur

Dans ce cas, nous pouvons définir une condition de déclencheur sensible aux bords pour détecter toutes les transitions de bus vers la valeur de groupe souhaitée. Nous avons besoin d’une détection de bord pour n’importe quel bit sur notre bus de données logiquement ANDed avec une comparaison avec notre valeur de groupe souhaitée. Une condition avancée de déclenchement est nécessaire dans ce cas. La configuration de l’éditeur avancé de condition de déclencheur est affichée ci-dessous.

Description de flux de déclenchement basée sur l’État

État ST1 :

si (c1 >= 5)

déclencheur;

sinon si (condition1)

incrément c1;

Résultat de l’analyse des données

Méthode n ° 2: Utilisation d’un déclencheur simple et du flux de déclenchement basé sur l’état

Configuration de la condition de déclencheur

Puisque la configuration d’une condition avancée de déclencheur pour une grande valeur de bus peut être encombrante, cette méthode alternative emploie un déclencheur de base et emploie l’écoulement de déclenchement basé sur état pour détecter la transition du bus à la valeur de groupe désirée.

Description de flux de déclenchement basée sur l’État

État ST1 :

si (condition1)

commencer

incrément c1;

goto ST2;

fin

État ST2 :

si (c1 >= 5)

déclencheur;

état d’attente; restez dans cet état jusqu’à ce que la condition 1 soit fausse à ignorer

toutes les occurrences de condition1 qui ne sont pas des transitions de bus

sinon si (! condition1)

commencer

goto ST1;

fin

Résultat de l’analyse des données

Notez qu’il y a une légère différence de comportement dans la façon dont les données sont capturées par rapport à la première méthode. Dans ce cas, un déclencheur sensible au niveau est utilisé pour la condition de déclencheur. Si la valeur de bus est garée à la valeur de groupe souhaitée au début de l’analyse des données, cette méthode inclut la valeur de groupe dans le nombre. Étant donné que la première méthode ne compte qu’une transition de bus vers la valeur de groupe souhaitée, la première méthode ignorerait la première occurrence de la valeur de groupe si la valeur de groupe est déjà garée sur le bus au début de l’acquisition.

Déclencheur après condition1 est suivi de condition2

Configuration de la condition de déclencheur

Trois conditions de déclenchement de base sont définies dans l’onglet de configuration aux valeurs désirées. Les deux premières conditions de déclenchement sont définies sur les valeurs de groupe souhaitées. La troisième condition de déclenchement est destinée à capturer un certain type de transaction inactive à travers le bus entre la première et la deuxième condition. Vous pouvez mettre cette condition de déclenchement comme « ne se soucie pas » si elle est plus appropriée. Notez l’utilisation de mnémoniques pour TrigCond1, TrigCond2 et IDLE.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si ( condition1 || condition3 )

goto ST2;

sinon si (condition2 )

goto ST3;

sinon si ( ! condition2 )

goto ST1;

État ST3 :

déclencheur;

Résultat de l’analyse des données

Déclencheur sur Condition1 immédiatement suivi de Condition2

Configuration de la condition de déclencheur

Deux conditions de déclenchement de base sont définies aux valeurs de groupe souhaitées. Encore une fois, notez l’utilisation de mnémoniques pour TrigCond1 et TrigCond2.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si ( condition1 )

goto ST2;

sinon si (condition2 )

déclencheur;

autrement

goto ST1;

Résultat de l’analyse des données

Déclencheur sur Condition2 ne se produisant pas entre condition1 et condition3

Configuration de la condition de déclencheur

Trois conditions de déclenchement de base sont définies aux valeurs de groupe souhaitées. Notez à nouveau, l’utilisation de mnémoniques.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si ( condition3 )

goto ST4;

sinon si ( ! condition2 )

goto ST3;

autrement

goto ST1;

État ST3 :

si ( condition3 )

goto ST4;

État ST4 :

déclencheur;

Résultat de l’analyse des données

Déclenchement sur la 5ème occurrence consécutive de condition1

Configuration de la condition de déclencheur

Une condition de base de déclencheur est définie dans l’onglet de configuration à la valeur désirée. TrigCond1 illustré dans la figure ci-dessous est un alias pour la configuration de la valeur AA à l’aide d’une configuration de table mnémonique.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( c1 > = 5 )

déclencheur;

sinon si ( condition1 )

incrément c1;

sinon si ( ! condition1 )

réinitialiser c1;

Résultat de l’analyse des données

Déclencheur après une violation de séquence : Condition1-> Condition2-> Condition3-> Condition4

Configuration de la condition de déclencheur

Quatre conditions de déclenchement de base sont configurées aux valeurs de séquence souhaitées. Les mnémoniques sont utilisés pour les quatre conditions de déclenchement affichées.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST3;

sinon si ( condition2 )

goto ST4;

sinon si ( condition3 )

goto ST5;

sinon si ( condition4 )

goto ST2;

autrement

déclencheur;

État ST2 :

si ( condition4 )

goto ST2;

sinon si (condition1 )

goto ST3;

autrement

déclencheur;

État ST3 :

si (condition1)

goto ST3;

sinon si (condition2)

goto ST4 ;

autrement

déclencheur;

État ST4 :

si (condition2)

goto ST4;

sinon si (condition3)

goto ST5;

autrement

déclencheur;

état ST5 :

si (condition3)

goto ST5;

sinon si ( condition4)

goto ST2;

autrement

déclencheur;

Résultat de l’analyse des données

Déclencheur sur une séquence d’arêtes

Configuration de la condition de déclencheur

Trois conditions de déclenchement de base sensibles aux bords sont configurées pour la séquence souhaitée. Cet exemple recherche un bord ascendant sur le canal 1, un bord de chute sur le canal 2, suivi d’un bord ascendant sur le canal 3.

Description de flux de déclenchement basée sur l’État

État ST1 :

si (condition1)

goto ST2;

État ST2 :

si (condition2)

goto ST3;

État ST3 :

si (condition3)

déclencheur;

autrement

goto ST1;

Résultat de l’analyse des données

Déclenchement sur condition1 suivi de condition2 après 5 cycles d’horloge

Configuration de la condition de déclencheur

Deux conditions de déclenchement de base sont définies aux valeurs de groupe souhaitées. Notez à nouveau, l’utilisation de mnémoniques pour TrigCond1 et TrigCond2.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si ( condition1)

goto ST2;

sinon si ( ! condition2 )

incrément c1;

sinon si (condition2 & c1 >= 5)

déclencheur;

sinon si (condition2 & c1 < 5)

goto ST1;

Résultat de l’analyse des données

Déclencheur à la condition1 suivi de la condition2 dans 5 échantillons

Configuration de la condition de déclencheur

Deux conditions de déclenchement de base sont définies aux valeurs de groupe souhaitées. Notez à nouveau, l’utilisation de mnémoniques pour TrigCond1 et TrigCond2.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si ( condition1)

goto ST2;

sinon si ( ! condition2)

incrément c1;

sinon si (condition2 & c1 < = 5)

déclencheur;

sinon si (condition2 & c1 > 5)

goto ST1;

Résultat de l’analyse des données

Déclencheur à condition1 non suivi de condition2 dans 5 échantillons

Configuration de la condition de déclencheur

Deux conditions de déclenchement de base sont définies aux valeurs de groupe souhaitées. Notez à nouveau, l’utilisation de mnémoniques pour TrigCond1 et TrigCond2.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition1 )

goto ST2;

État ST2 :

si (c1 == 5)

déclencheur;

sinon si ( condition1)

goto ST2;

sinon si ( ! condition2)

incrément c1;

Résultat de l’analyse des données

Déclencheur après 5 transitions consécutives

Configuration de la condition de déclencheur

Cet exemple a besoin d’une condition de déclenchement pour capturer n’importe quelle activité de transition sur le bus surveillé. Une condition de déclenchement avancée est nécessaire puisqu’une condition de OU est exigée.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( c1 == 5 )

déclencheur;

sinon si ( ! condition1)

réinitialiser c1;

sinon si ( condition1 )

incrément c1;

Résultat de l’analyse des données

Déclencheur lorsque condition1 se produit moins de 5 fois entre condition2 et condition3

Configuration de la condition de déclencheur

Cet exemple nécessite trois conditions de déclenchement sensibles aux bords, chaque condition de déclencheur contenant une comparaison avec la valeur de groupe souhaitée. Cela peut être fait à l’aide de l’éditeur de condition de déclencheur avancé. La figure ci-dessous montre un exemple pour l’une des trois conditions de déclenchement sensibles aux bords.

Description de flux de déclenchement basée sur l’État

État ST1 :

si ( condition2)

commencer

réinitialiser c1;

goto ST2;

fin

État ST2 :

si (condition3 )

goto ST3;

sinon si ( condition2)

goto ST1;

sinon si ( condition1 )

incrément c1;

sinon si ( condition3 & (c1 > = 5 ))

goto ST1;

État ST3 :

déclencheur;

Résultat de l’analyse des données

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.