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 de scénarios de flux de déclenchement courants et illustrent divers scénarios dans lesquels le flux de déclenchement basé sur l’état est utile. Pour tous ces exemples, vous pouvez coller la description de flux directement dans l’onglet de flux de déclenchement basé sur l’état SignalTap II en utilisant le mode d’affichage Tous les états dans une fenêtre et modifier la description pour s’adapter à votre scénario de débogage.
Se déclencher en cas d’absence d’un cycle d’horloge supérieur ou égal à 5
Configuration de l’état de déclenchement
L’onglet Configuration définit une condition de déclenchement de base à la valeur souhaitée. TrigCond1 indiqué dans la figure ci-dessous est un alias pour la valeur configurée AA à l’aide d’une configuration de table Mnemonic.
Description du flux de déclenchement basée sur l’état
assurez-vous que si la condition contenant l’action du déclenchement est d’abord,
comme les déclarations conditionnels sont prioritaires.
si (c1 >= 5)
déclenchement ;
sinon si (! condition1)
incrément c1 ;
autrement si (condition1 && c1 < 5)
réinitialiser c1 ;
Résultat de l’analyse des données
Déclenchez l’absence d’un événement pour un cycle d’horloge inférieur à 5
Configuration de l’état de déclenchement
L’onglet Configuration définit une condition de déclenchement de base à la valeur souhaitée. TrigCond1 indiqué dans la figure ci-dessous est un alias pour la valeur configurée AA à l’aide d’une configuration de table Mnemonic.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1 && c1 > 0 && c1 < 5)
déclenchement ;
sinon si (! condition1 && c1 < 6)
incrément c1 ;
sinon si (condition1 && c1 > 5)
réinitialiser c1 ;
Dans le cas d’une longue séquence dans laquelle la condition 1 ne se produit pas, l’état de l’ensilage c1 <6 a été ajouté dans la seconde si la déclaration sous condition empêchait le compteur de s’étendre de manière atordue.
Résultat de l’analyse des données
Déclenchez la 5e apparition d’une valeur de groupe
Configuration de l’état de déclenchement
L’onglet Configuration définit une condition de déclenchement de base à la valeur souhaitée. TrigCond1 indiqué dans la figure ci-dessous est un alias pour la valeur configurée AA à l’aide d’une configuration de table Mnemonic
Description du flux de déclenchement basée sur l’état
État ST1 :
si (c1 >= 5)
déclenchement ;
d’autre si (condition1)
incrément c1 ;
Résultat de l’analyse des données
Déclenchez la 5e transition d’une valeur de groupe
Méthode #1 : Utiliser un élément de déclenchement sensible à la périphérie
Configuration de l’état de déclenchement
Dans ce cas, nous pouvons définir une condition de déclenchement sensible à la périphérie afin de détecter toutes les transitions du bus vers la valeur de groupe souhaitée. Nous avons besoin d’une détection de périphérie pour tout bit sur notre bus de données logiquement AND avec une comparaison à la valeur de groupe souhaitée. Dans ce cas, une condition de déclenchement avancée est nécessaire. Le programme d’installation de l’éditeur de condition de déclenchement avancé est indiqué ci-dessous.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (c1 >= 5)
déclenchement ;
d’autre si (condition1)
incrément c1 ;
Résultat de l’analyse des données
Méthode #2 : À l’aide d’un simple déclenchement et d’un flux de déclenchement basé sur l’État
Configuration de l’état de déclenchement
Comme la configuration d’une condition de déclenchement avancée pour une grande valeur de bus peut être lourde, cette autre méthode utilise un élément de déclenchement de base et utilise le flux de déclenchement basé sur l’état pour détecter la transition du bus vers la valeur de groupe souhaitée.
Description du 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éclenchement ;
conditions d’attente ; rester dans cet état jusqu’à ce que l’état 1 soit faux à ignorer
tous les incidents de condition 1 qui ne sont pas des transitions par bus
sinon si (! condition1)
Commencer
goto ST1 ;
Fin
Résultat de l’analyse des données
Notez qu’il existe une légère différence de comportement entre la capture des données et la première méthode. Dans ce cas, un déclenchement sensible au niveau est utilisé pour l’état du déclenchement. Si la valeur du bus est réservée à la valeur de groupe souhaitée au début de l’analyse des données, cette méthode inclut la valeur du groupe dans le nombre. Comme la première méthode ne compte qu’une transition vers la valeur de groupe souhaitée, la première méthode ignore la première apparition de la valeur du groupe si la valeur du groupe est déjà stationnée sur le bus au début de l’acquisition.
Le déclenchement après la condition 1 est suivi de Condition2
Configuration de l’état de déclenchement
Trois conditions de déclenchement de base sont définies dans l’onglet configuration aux valeurs souhaitées. Les deux premières conditions de déclenchement sont définies sur les valeurs du groupe souhaitées. La troisième condition de déclenchement vise à capturer un type de transaction inactive dans le bus entre les premières et les deuxièmes conditions. Vous pouvez mettre cette condition de déclenchement comme « ne s’en fiche pas » s’il est plus approprié. Notez l’utilisation de Mnemonics pour TrigCond1, TrigCond2 et IDLE.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST2 ;
État ST2 :
si (condition1 || condition3)
goto ST2 ;
d’autre si (condition2)
goto ST3 ;
d’autre si (! condition2)
goto ST1 ;
État ST3 :
déclenchement ;
Résultat de l’analyse des données
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST2 ;
État ST2 :
si (condition1)
goto ST2 ;
d’autre si (condition2)
déclenchement ;
Autre
goto ST1 ;
Résultat de l’analyse des données
Se déclencher sous condition 2 ne se produisant pas entre la condition 1 et la condition 3
Configuration de l’état de déclenchement
Trois conditions de déclenchement de base sont définies en fonction des valeurs du groupe souhaitées. Notez à nouveau l’utilisation de Mnemonics.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST2 ;
État ST2 :
si (condition3)
goto ST4 ;
d’autre si (! condition2)
goto ST3 ;
Autre
goto ST1 ;
État ST3 :
si (condition3)
goto ST4 ;
État ST4 :
déclenchement ;
Résultat de l’analyse des données
Déclenchement lors de la 5e apparition de l’anomalie de la condition 1
Configuration de l’état de déclenchement
L’onglet Configuration définit une condition de déclenchement de base à la valeur souhaitée. TrigCond1 indiqué dans la figure ci-dessous est un alias pour la valeur configurée AA à l’aide d’une configuration de table Mnemonic.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (c1 >= 5)
déclenchement ;
d’autre si (condition1)
incrément c1 ;
sinon si (! condition1)
réinitialiser c1 ;
Résultat de l’analyse des données
Se déclencher après une violation de la séquence : Condition1-> Condition2-> Condition3-> Condition4
Configuration de l’état de déclenchement
Quatre conditions de déclenchement de base sont configurées selon les valeurs de séquence souhaitées. Les mnemonics sont utilisés pour les quatre conditions de déclenchement indiquées.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST3 ;
d’autre si (condition2)
goto ST4 ;
d’autre si (condition3)
goto ST5 ;
d’autre si (condition4)
goto ST2 ;
Autre
déclenchement ;
État ST2 :
si (condition4)
goto ST2 ;
d’autre si (condition1)
goto ST3 ;
Autre
déclenchement ;
État ST3 :
si (condition1)
goto ST3 ;
d’autre si (condition2)
goto ST4 ;
Autre
déclenchement ;
État ST4 :
si (condition2)
goto ST4 ;
d’autre si (condition3)
goto ST5 ;
Autre
déclenchement ;
État ST5 :
si (condition3)
goto ST5 ;
d’autre si (condition4)
goto ST2 ;
Autre
déclenchement ;
Résultat de l’analyse des données
Déclenchez sur une séquence de bords
Configuration de l’état de déclenchement
Trois conditions de déclenchement de base sensibles à la périphérie sont configurées pour la séquence souhaitée. Cet exemple recherche un bord montant sur le canal 1, un bord descendant sur le canal 2, suivi d’un bord montant sur le canal 3.
Description du 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éclenchement ;
Autre
goto ST1 ;
Résultat de l’analyse des données
Déclenchez sous condition 1, suivi de Condition2 après 5 cycles d’horloge
Configuration de l’état de déclenchement
Deux conditions de déclenchement de base sont définies en fonction des valeurs du groupe souhaitées. Notez à nouveau l’utilisation de Mnemonics pour TrigCond1 et TrigCond2.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST2 ;
État ST2 :
si (condition1)
goto ST2 ;
d’autre si (! condition2)
incrément c1 ;
d’autre si (condition2 && c1 >= 5)
déclenchement ;
d’autre si (condition2 && c1 < 5)
goto ST1 ;
Résultat de l’analyse des données
Déclenchement sous condition 1 suivi de la condition 2 dans 5 échantillons
Configuration de l’état de déclenchement
Deux conditions de déclenchement de base sont définies en fonction des valeurs du groupe souhaitées. Notez à nouveau l’utilisation de Mnemonics pour TrigCond1 et TrigCond2.
Description du 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 ;
d’autre si (condition2 && c1 <= 5)
déclenchement ;
autrement si (condition2 && c1 > 5)
goto ST1 ;
Résultat de l’analyse des données
Déclenchez dans la condition 1 non suivie de la condition 2 dans 5 échantillons
Configuration de l’état de déclenchement
Deux conditions de déclenchement de base sont définies en fonction des valeurs du groupe souhaitées. Notez à nouveau l’utilisation de Mnemonics pour TrigCond1 et TrigCond2.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition1)
goto ST2 ;
État ST2 :
si (c1 == 5)
déclenchement ;
d’autre si (condition1)
goto ST2 ;
sinon si (! condition2)
incrément c1 ;
Résultat de l’analyse des données
Déclenchez après 5 transitions de transition en avant
Configuration de l’état de déclenchement
Cet exemple nécessite une condition de déclenchement pour capturer toute activité de transition sur le bus surveillé. Une condition de déclenchement avancée est nécessaire car une condition de ou d’état est nécessaire.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (c1 == 5)
déclenchement ;
sinon si (! condition1)
réinitialiser c1 ;
d’autre si (condition1)
incrément c1 ;
Résultat de l’analyse des données
Se déclencher lorsque la condition 1 se produit moins de 5 fois entre la condition 2 et la condition 3
Configuration de l’état de déclenchement
Cet exemple nécessite trois conditions de déclenchement sensibles à la périphérie avec chaque état de déclenchement contenant une comparaison avec la valeur de groupe souhaitée. Cela peut être réalisé à l’aide de l’éditeur de conditions de déclenchement avancées. Le chiffre ci-dessous montre un exemple d’une des trois conditions de déclenchement sensibles à la périphérie.
Description du flux de déclenchement basée sur l’état
État ST1 :
si (condition 2)
Commencer
réinitialiser c1 ;
goto ST2 ;
Fin
État ST2 :
si (condition3)
goto ST3 ;
d’autre si (condition2)
goto ST1 ;
d’autre si (condition1)
incrément c1 ;
sinon si (condition3 && (c1 >= 5))
goto ST1 ;
État ST3 :
déclenchement ;