El flujo de activación basado en el estado le permite definir un flujo de activación personalizado para organizar sus condiciones de activación. Estos ejemplos muestran plantillas para situaciones de flujo de activación comunes e ilustran varias situaciones en las que el flujo de activación basado en el estado es útil. Para todos estos ejemplos, puede pastar la descripción de flujo directamente en la ficha de flujo disparador basado en el estado SignalTap II mediante el modo de visualización Todos los estados en una ventana y modificar la descripción para adecuarse a su escenario de depuración.
Disparador en un evento Desatado durante 5 ciclos de reloj mayores que o iguales a 5
Configuración para la condición de disparador
Una condición de disparador básico se define en la ficha de configuración al valor deseado. TrigCond1 que se muestra en la ilustración a continuación es un alias para el valor AA setup utilizando una configuración de tabla Mnemonic.
Descripción del flujo de activación basado en el estado
asegúrese de que la condición que contiene la acción del disparador sea primero,
dado que las declaraciones condicionales se basan en la prioridad.
if ( c1 > = 5)
disparador;
else if ( ! condition1 )
incremento c1;
else if ( condición 1 && c1 < 5)
reseteo c1;
Resultado del análisis de datos
Disparador en Event Desatador durante menos de 5 ciclos de reloj
Configuración para la condición de disparador
Una condición de disparador básico se define en la ficha de configuración al valor deseado. TrigCond1 que se muestra en la ilustración a continuación es un alias para el valor AA setup utilizando una configuración de tabla Mnemonic.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 && c1 > 0 && c1 < 5)
disparador;
else if ( ! condition1 && c1 < 6)
incremento c1;
else if ( condición 1 & c1 > 5 )
reseteo c1;
En el caso de una secuencia larga en la que no se produce la Condición 1, se agregó la condición De <6 a <6 en el segundo caso, si se trata de una declaración condicional para evitar que el contador sea objeto de un ataque de consternación.
Resultado del análisis de datos
Disparador en la 5ta ocurrencia de un valor de grupo
Configuración para la condición de disparador
Una condición de disparador básico se define en la ficha de configuración al valor deseado. TrigCond1 que se muestra en la ilustración a continuación es un alias para el valor AA setup utilizando una configuración de tabla Mnemonic
Descripción del flujo de activación basado en el estado
estado ST1:
if ( c1 > = 5)
disparador;
else if ( condición 1 )
incremento c1;
Resultado del análisis de datos
Disparador en la quinta transición de un valor de grupo
Método #1: Uso de un disparador sensible al perímetro
Configuración para la condición de disparador
En este caso, podemos definir una condición de disparador sensible al perímetro para detectar todas las transiciones de bus al valor de grupo deseado. Requerimos una detección de perímetro para cualquier bit en nuestro bus de datos lógicamente ANDed con una comparación con nuestro valor de grupo deseado. En este caso, es necesario contar con una condición de disparador avanzado. A continuación, se muestra la configuración del editor avanzado de condiciones de activación.
Descripción del flujo de activación basado en el estado
estado ST1:
si (c1 >= 5)
disparador;
else si (condición 1)
incremento c1;
Resultado del análisis de datos
Método #2: Uso de un disparador simple y el flujo de activación basado en el estado
Configuración para la condición de disparador
Dado que configurar una condición de disparador avanzado para un valor de bus de gran tamaño puede ser complicado, este método alternativo utiliza un disparador básico y utiliza el flujo de activación basado en el estado para detectar la transición del bus al valor de grupo deseado.
Descripción del flujo de activación basado en el estado
estado ST1:
if (condición 1)
Comenzar
incremento c1;
goto ST2,
Final
estado ST2:
si (c1 >= 5)
disparador;
condición de espera; permanecer en este estado hasta que la condición 1 sea falsa para ignorar
todas las ocurrencias de la condición 1 que no son transiciones de bus
si (! condición1)
Comenzar
goto ST1;
Final
Resultado del análisis de datos
Tenga en cuenta que hay una ligera diferencia en el comportamiento de cómo se capturan los datos en comparación con el primer método. En este caso, se utiliza un disparador sensible al nivel para la condición de disparador. Si el valor del bus está aparcado en el valor de grupo deseado al comienzo del análisis de datos, este método incluye el valor de grupo en el recuento. Dado que el primer método solo cuenta una transición de bus al valor de grupo deseado, el primer método ignoraría la primera ocurrencia del valor del grupo si el valor del grupo ya está estacionado en el bus al comienzo de la adquisición.
El disparador después de la condición1 es Seguido por Condition2
Configuración para la condición de disparador
Se definen tres condiciones de disparador básicas en la ficha de configuración con los valores deseados. Las dos primeras condiciones de disparador se establecen en los valores de grupo deseados. La tercera condición de disparador está destinada a capturar algún tipo de transacción en inactividad a través del bus entre la primera y la segunda condición. Puede poner esta condición de disparador como "no le importa" si es más apropiado. Observe el uso de Mnemonics para TrigCond1, TrigCond2 y IDLE.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if ( condición 1 || condición 3 )
goto ST2,
else if (condición 2)
goto ST3;
else if ( ! condition2 )
goto ST1;
estado ST3:
disparador;
Resultado del análisis de datos
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if ( condición 1 )
goto ST2,
else if (condición 2)
disparador;
Más
goto ST1;
Resultado del análisis de datos
Disparador en la condición 2 que no se produzca entre la Condición1 y la Condición3
Configuración para la condición de disparador
Se definen tres condiciones de disparador básicas para los valores de grupo deseados. Tenga en cuenta, de nuevo, el uso de Mnemonics.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if ( condición 3 )
goto ST4;
else if ( ! condition2 )
goto ST3;
Más
goto ST1;
estado ST3:
if ( condición 3 )
goto ST4;
estado ST4:
disparador;
Resultado del análisis de datos
Disparador en la 5ª ocurrencia de la condición 1
Configuración para la condición de disparador
Una condición de disparador básico se define en la ficha de configuración al valor deseado. TrigCond1 que se muestra en la ilustración a continuación es un alias para el valor AA setup utilizando una configuración de tabla Mnemonic.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( c1 > = 5 )
disparador;
else if ( condición 1 )
incremento c1;
else if ( ! condition1 )
reseteo c1;
Resultado del análisis de datos
Disparador después de un incumplimiento de la secuencia: Condition1-> Condition2-> Condition3-> Condition4
Configuración para la condición de disparador
Se configuran cuatro condiciones de disparador básicas según los valores de secuencia deseados. La Mnemonics se utiliza para las cuatro condiciones de activación que se muestran.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST3;
else if ( condición 2 )
goto ST4;
else if ( condition3 )
goto ST5;
else if ( condition4 )
goto ST2,
Más
disparador;
estado ST2:
if (condición 4)
goto ST2,
else si (condición 1)
goto ST3;
Más
disparador;
estado ST3:
if (condición 1)
goto ST3;
else si (condición 2)
goto ST4;
Más
disparador;
estado ST4:
if (condición 2)
goto ST4;
else si (condición 3)
goto ST5;
Más
disparador;
estado ST5:
si (condición 3)
goto ST5;
else if (condición 4)
goto ST2,
Más
disparador;
Resultado del análisis de datos
Disparador en una secuencia de bordes
Configuración para la condición de disparador
Se configuran tres condiciones de activación básica sensibles al perímetro para la secuencia deseada. Este ejemplo busca una ventaja creciente en el canal 1, un borde de descenso en el canal 2, seguido de un borde creciente en el canal 3.
Descripción del flujo de activación basado en el estado
estado ST1:
if (condición 1)
goto ST2,
estado ST2:
if (condición 2)
goto ST3;
estado ST3:
si (condición 3)
disparador;
Más
goto ST1;
Resultado del análisis de datos
Disparador en la condición1 seguido de Condition2 después de 5 ciclos de reloj
Configuración para la condición de disparador
Se definen dos condiciones de disparador básicas para los valores de grupo deseados. Tenga en cuenta, nuevamente, el uso de Mnemonics para TrigCond1 y TrigCond2.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if ( condición 1)
goto ST2,
else if ( ! condition2 )
incremento c1;
si (condición 2 > c1 >= 5)
disparador;
si (condición2 y c1 < 5)
goto ST1;
Resultado del análisis de datos
Disparador en condición1 seguido de Condition2 en 5 muestras
Configuración para la condición de disparador
Se definen dos condiciones de disparador básicas para los valores de grupo deseados. Tenga en cuenta, nuevamente, el uso de Mnemonics para TrigCond1 y TrigCond2.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if ( condición 1)
goto ST2,
else if ( ! condition2)
incremento c1;
si (condición2 > c1 <= 5)
disparador;
si (condición2 y c1 > 5)
goto ST1;
Resultado del análisis de datos
Disparador en la condición 1 No seguido de Condition2 en 5 muestras
Configuración para la condición de disparador
Se definen dos condiciones de disparador básicas para los valores de grupo deseados. Tenga en cuenta, nuevamente, el uso de Mnemonics para TrigCond1 y TrigCond2.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 1 )
goto ST2,
estado ST2:
if (c1 == 5)
disparador;
else if (condición 1)
goto ST2,
else if ( ! condition2)
incremento c1;
Resultado del análisis de datos
Activar después de 5 transiciones transitorias transitorias
Configuración para la condición de disparador
Este ejemplo necesita una condición de disparador para capturar cualquier actividad de transición en el bus supervisado. Se necesita una condición de disparador avanzado, ya que se requiere una condición OR.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( c1 = 5 )
disparador;
else if ( ! condition1)
reseteo c1;
else if ( condición 1 )
incremento c1;
Resultado del análisis de datos
Disparador cuando la condición 1 se produce menos de 5 veces entre condition2 y Condition3
Configuración para la condición de disparador
Este ejemplo requiere tres condiciones de disparador sensibles al perímetro con cada condición de disparador que contiene una comparación con el valor de grupo deseado. Esto se puede hacer utilizando el editor avanzado de condiciones de activación. La ilustración siguiente muestra un ejemplo de una de las tres condiciones de disparador sensibles al perímetro.
Descripción del flujo de activación basado en el estado
estado ST1:
if ( condición 2)
Comenzar
reseteo c1;
goto ST2,
Final
estado ST2:
if (condition3)
goto ST3;
else if (condición 2)
goto ST1;
else if ( condición 1 )
incremento c1;
else if ( condición3 && (c1 > = 5))
goto ST1;
estado ST3:
disparador;