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
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
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;