Flujo de activación basado en el estado SignalTap* II

author-image

Por

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

Disparador en la condición 1 seguido inmediatamente por Condition2

Configuración para la condición de disparador

Se definen dos condiciones de disparador básicas para los valores de grupo deseados. Una vez más, observe 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 (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;

Resultado del análisis de datos

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.