Fluxo de acionamento baseado em estado SignalTap* II

author-image

Por

O fluxo de acionamento baseado em estado permite definir um fluxo de acionamento personalizado para organizar suas condições de acionamento. Esses exemplos mostram modelos para cenários comuns de fluxo de acionamento e ilustram vários cenários em que o fluxo de gatilho baseado no estado é útil. Para todos esses exemplos, você pode colar a descrição do fluxo diretamente na guia de fluxo de gatilho baseado em estado SignalTap II usando o modo de exibição Todos os Estados em uma janela e modificar a descrição para atender ao seu cenário de depuração.

Aciona um evento ausente para ciclos maiores ou iguais a 5 clocks

Configuração para a condição do gatilho

Uma condição básica do gatilho é definida na guia de configuração para o valor desejado. TrigCond1 mostrado na figura abaixo é um alias para a configuração de AA de valor usando uma configuração de tabela Mnemonic.

Descrição do fluxo de acionamento baseado em estado

certifique-se de que a condição contendo a ação do gatilho seja a primeira,

uma vez que as declarações condicionais são baseadas em prioridade.

se (c1 >= 5)

gatilho;

mais se (! condição1)

incremento c1;

mais se (condição1 && c1 < 5)

redefinir c1;

Resultado da análise de dados

Gatilho no evento ausente para menos de 5 ciclos de clock

Configuração para a condição do gatilho

Uma condição básica do gatilho é definida na guia de configuração para o valor desejado. TrigCond1 mostrado na figura abaixo é um alias para a configuração de AA de valor usando uma configuração de tabela Mnemonic.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1 && c1 > 0 && c1 < 5)

gatilho;

mais se (! condição1 && c1 < 6)

incremento c1;

mais se (condição1 && c1 > 5)

redefinir c1;

No caso de uma longa sequência em que a condição 1 não ocorre, a condição booleana c1 <6 foi adicionada na segunda, se a declaração condicional impedir que o contador embrulho.

Resultado da análise de dados

Gatilho na 5ª ocorrência de um valor de grupo

Configuração para a condição do gatilho

Uma condição básica do gatilho é definida na guia de configuração para o valor desejado. TrigCond1 mostrado na figura abaixo é um alias para o valor de configuração de AA usando uma configuração de tabela Mnemonic

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (c1 >= 5)

gatilho;

mais se (condição1)

incremento c1;

Resultado da análise de dados

Aciona a 5ª transição de um valor de grupo

Método nº 1: usando o gatilho sensível à borda

Configuração para a condição do gatilho

Para este caso, podemos definir uma condição de gatilho sensível à borda para detectar todas as transições de barramento para o valor de grupo desejado. Exigimos uma detecção de borda para qualquer bit em nosso barramento de dados logicamente ANDed com uma comparação com o nosso valor de grupo desejado. Neste caso, é necessário uma condição avançada de gatilho. A configuração do editor de condição de gatilho avançada é mostrada abaixo.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (c1 >= 5)

gatilho;

mais se (condição1)

incremento c1;

Resultado da análise de dados

Método nº 2: usando um gatilho simples e o fluxo de acionamento baseado em estado

Configuração para a condição do gatilho

Como a configuração de uma condição de gatilho avançada para um grande valor de barramento pode ser complicada, este método alternativo usa um gatilho básico e usa o fluxo de acionamento baseado em estado para detectar a transição do barramento para o valor de grupo desejado.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

Começar

incremento c1;

goto ST2;

Final

estado ST2:

se (c1 >= 5)

gatilho;

condição de espera; permanecer neste estado até que a condição 1 seja falsa para ignorar

todas as ocorrências de condição1 que não são transições de barramento

mais se (! condição1)

Começar

goto ST1;

Final

Resultado da análise de dados

Observe que há uma ligeira diferença no comportamento de como os dados são capturados em comparação com o primeiro método. Neste caso, um gatilho sensível ao nível é usado para a condição do gatilho. Se o valor do barramento estiver estacionado no valor de grupo desejado no início da análise de dados, este método incluirá o valor do grupo na contagem. Como o primeiro método conta apenas uma transição de barramento para o valor de grupo desejado, o primeiro método ignoraria a primeira ocorrência do valor de grupo se o valor do grupo já estiver estacionado no barramento no início da aquisição.

Acionador após a condição1 é seguido pela condição2

Configuração para a condição do gatilho

Três condições básicas de gatilho são definidas na guia de configuração para os valores desejados. As duas primeiras condições de gatilho são definidas para os valores de grupo desejados. A terceira condição de gatilho é destinada a capturar algum tipo de transação ociosa no barramento entre a primeira e a segunda condições. Você pode colocar esta condição de gatilho como "não se preocupe" se for mais apropriado. Observe o uso de Mnemonics para TrigCond1, TrigCond2 e IDLE.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição 1 || condição3)

goto ST2;

mais se (condição2)

goto ST3;

mais se (! condição2)

goto ST1;

estado ST3:

gatilho;

Resultado da análise de dados

Gatilho na condição1 imediatamente seguido pela condição2

Configuração para a condição do gatilho

Duas condições básicas de gatilho são definidas para os valores de grupo desejados. Mais uma vez, observe o uso de Mnemonics para TrigCond1 e TrigCond2.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição1)

goto ST2;

mais se (condição2)

gatilho;

Mais

goto ST1;

Resultado da análise de dados

Gatilho na condição2 não ocorrendo entre a condição1 e a condição3

Configuração para a condição do gatilho

Três condições básicas de gatilho são definidas para os valores de grupo desejados. Note novamente, o uso de Mnemonics.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição3)

goto ST4;

mais se (! condição2)

goto ST3;

Mais

goto ST1;

estado ST3:

se (condição3)

goto ST4;

estado ST4:

gatilho;

Resultado da análise de dados

Aciona a 5ª ocorrência consecutiva da condição1

Configuração para a condição do gatilho

Uma condição básica do gatilho é definida na guia de configuração para o valor desejado. TrigCond1 mostrado na figura abaixo é um alias para a configuração de AA de valor usando uma configuração de tabela Mnemonic.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (c1 >= 5)

gatilho;

mais se (condição1)

incremento c1;

mais se (! condição1)

redefinir c1;

Resultado da análise de dados

Acionamento após uma violação da sequência: Condição1-> condição2-> condição3-> Condição4

Configuração para a condição do gatilho

Quatro condições básicas de gatilho são configuradas para os valores de sequência desejados. As mnemônicas são usadas para todas as quatro condições de gatilho mostradas.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST3;

mais se (condição2)

goto ST4;

mais se (condição3)

goto ST5;

mais se (condição4)

goto ST2;

Mais

gatilho;

estado ST2:

se (condição4)

goto ST2;

mais se (condição1)

goto ST3;

Mais

gatilho;

estado ST3:

se (condição1)

goto ST3;

mais se (condição2)

goto ST4;

Mais

gatilho;

estado ST4:

se (condição2)

goto ST4;

mais se (condição3)

goto ST5;

Mais

gatilho;

estado ST5:

se (condição3)

goto ST5;

mais se (condição4)

goto ST2;

Mais

gatilho;

Resultado da análise de dados

Aciona em uma sequência de bordas

Configuração para a condição do gatilho

Três condições básicas de gatilho sensíveis à borda são configuradas para a sequência desejada. Este exemplo procura uma borda ascendente no canal 1, uma borda em queda no canal 2, seguida de uma borda ascendente no canal 3.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição2)

goto ST3;

estado ST3:

se (condição3)

gatilho;

Mais

goto ST1;

Resultado da análise de dados

Gatilho na condição1 seguido pela condição2 após 5 ciclos de clock

Configuração para a condição do gatilho

Duas condições básicas de gatilho são definidas para os valores de grupo desejados. Note novamente, o uso de Mnemonics para TrigCond1 e TrigCond2.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição1)

goto ST2;

mais se (! condição2)

incremento c1;

mais se (condição2 && c1 >= 5)

gatilho;

mais se (condição2 && c1 < 5)

goto ST1;

Resultado da análise de dados

Gatilho na condição1 seguido pela condição2 dentro de 5 amostras

Configuração para a condição do gatilho

Duas condições básicas de gatilho são definidas para os valores de grupo desejados. Note novamente, o uso de Mnemonics para TrigCond1 e TrigCond2.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (condição1)

goto ST2;

mais se (! condição2)

incremento c1;

mais se (condição2 && c1 <= 5)

gatilho;

mais se (condição2 && c1 > 5)

goto ST1;

Resultado da análise de dados

Gatilho na condição1 não seguido pela condição2 dentro de 5 amostras

Configuração para a condição do gatilho

Duas condições básicas de gatilho são definidas para os valores de grupo desejados. Note novamente, o uso de Mnemonics para TrigCond1 e TrigCond2.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição1)

goto ST2;

estado ST2:

se (c1 == 5)

gatilho;

mais se (condição1)

goto ST2;

mais se (! condição2)

incremento c1;

Resultado da análise de dados

Gatilho após 5 transições consecutivas

Configuração para a condição do gatilho

Este exemplo precisa de uma condição de gatilho para capturar qualquer atividade de transição no barramento monitorado. Uma condição avançada de gatilho é necessária, uma vez que é necessária uma condição de OR.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (c1 == 5)

gatilho;

mais se (! condição1)

redefinir c1;

mais se (condição1)

incremento c1;

Resultado da análise de dados

Aciona quando a condição1 ocorre menos de 5 vezes entre a condição2 e a condição3

Configuração para a condição do gatilho

Este exemplo requer três condições de gatilho sensíveis à borda com cada condição de gatilho contendo uma comparação com o valor de grupo desejado. Isso pode ser feito usando o editor de condição de gatilho avançada. A figura abaixo mostra um exemplo para uma das três condições de gatilho sensíveis à borda.

Descrição do fluxo de acionamento baseado em estado

estado ST1:

se (condição2)

Começar

redefinir c1;

goto ST2;

Final

estado ST2:

se (condição3)

goto ST3;

mais se (condição2)

goto ST1;

mais se (condição1)

incremento c1;

se (condição3 && (c1 >= 5 ))

goto ST1;

estado ST3:

gatilho;

Resultado da análise de dados

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.