Przepływ wyzwalania oparty na stanie SignalTap* II

author-image

Według

Oparty na stanie przepływ wyzwalania umożliwia zdefiniowanie niestandardowego przepływu wyzwalania, aby uporządkować warunki wyzwalania. Te przykłady pokazują szablony dla typowych scenariuszy przepływu wyzwalania i ilustrują różne scenariusze, w których przepływ wyzwalania oparty na stanie jest przydatny. We wszystkich tych przykładach opis przepływu można wkleić bezpośrednio do zakładki Przepływu wyzwalania opartego na stanie SignalTap II za pomocą trybu wyświetlania Wszystkie stany w jednym oknie i zmodyfikować opis, aby pasował do Twojego scenariusza debugowania.

Uruchamianie w przypadku obiegów zdarzeń o większej lub równej 5 cyklach zegara

Konfiguracja stanu wyzwalania

Jeden podstawowy warunek wyzwalania jest zdefiniowany w zakładce konfiguracji do pożądanej wartości. TrigCond1 na poniższym wykresie to alias wartości konfiguracji AA przy użyciu konfiguracji tabeli Mnemonic.

Opis przepływu wyzwalania opartego na stanie

upewnij się, że warunek zawierający działanie wyzwalające jest pierwszy,

ponieważ oświadczenia warunkowe są oparte na priorytetach.

jeśli ( c1 > = 5)

uruchomić;

inaczej jeśli ( ! condition1)

przyrost c1;

inaczej jeśli ( condition1 && c1 < 5)

resetowanie c1;

Wynik analizy danych

Uruchamianie w przypadku obiegów zdarzeń dla mniej niż 5 cykli zegara

Konfiguracja stanu wyzwalania

Jeden podstawowy warunek wyzwalania jest zdefiniowany w zakładce konfiguracji do pożądanej wartości. TrigCond1 na poniższym wykresie to alias wartości konfiguracji AA przy użyciu konfiguracji tabeli Mnemonic.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1 && c1 > 0 && c1 < 5)

uruchomić;

inaczej jeśli ( ! condition1 && c1 < 6)

przyrost c1;

inaczej jeśli ( condition1 && c1 > 5)

resetowanie c1;

W przypadku długiej sekwencji, w której Warunek 1 nie występuje, warunek Przesłankę sekwencyjny (c1 <6) dodano w drugiej, jeśli oświadczenie warunkowe nie pozwala licznikowi na odkszładanie.

Wynik analizy danych

Uruchamianie w przypadku piątej wartości grupowej.

Konfiguracja stanu wyzwalania

Jeden podstawowy warunek wyzwalania jest zdefiniowany w zakładce konfiguracji do pożądanej wartości. TrigCond1 na poniższym wykresie to alias wartości konfiguracji AA przy użyciu konfiguracji tabeli Mnemonic.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( c1 > = 5)

uruchomić;

inaczej jeśli ( warunek1)

przyrost c1;

Wynik analizy danych

Uruchomione po piątej zmianie wartości grupowej

Metoda nr 1: użycie wyzwalacza czułego na brzegu

Konfiguracja stanu wyzwalania

W tym przypadku możemy zdefiniować warunek wyzwalania wrażliwego na brzeg, aby wykryć wszystkie przejścia magistrali do pożądanej wartości grupowej. Wymagamy wykrywania krawędzi w każdym bitie na naszej magistrali danych logicznie ANDed przy porównaniu z naszą pożądaną wartością grupową. W tym przypadku konieczny jest zaawansowany warunek uruchomienia. Konfiguracja z edytora zaawansowanych warunków wyzwalania pokazano poniżej.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli (c1 > = 5)

uruchomić;

inaczej jeśli (warunek1)

przyrost c1;

Wynik analizy danych

Metoda 2: użycie prostego wyzwalacza i przepływu wyzwalania opartego na stanie

Konfiguracja stanu wyzwalania

Ponieważ konfiguracja zaawansowanego stanu wyzwalania dla dużej wartości magistrali może być cumbernika, ta alternatywna metoda wykorzystuje podstawowy wyzwalacz i wykorzystuje oparty na stanie przepływ wyzwalający w celu wykrywania przejścia magistrali do pożądanej wartości grupowej.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli (warunek1)

Rozpocząć

przyrost c1;

goto ST2;

Końcu

stan ST2:

jeśli (c1 > = 5)

uruchomić;

warunku oczekiwania; pozostań w tym stanie, dopóki warunek 1 nie jest fałszywy do zignorowania

wszystkie warunki warunki1, które nie są zmianami w magistrali

inaczej, jeśli (! warunek1)

Rozpocząć

goto ST1;

Końcu

Wynik analizy danych

Należy pamiętać, że istnieje niewielka różnica w zachowaniu sposobu przechwytywania danych w porównaniu z pierwszą metodą. W tym przypadku w warunku wyzwalania używany jest wyzwalacz wrażliwy na poziom. Jeśli wartość magistrali jest parkowana na żądanej wartości grupowej na początku analizy danych, ta metoda uwzględnia wartość grupy w liczbie. Ponieważ pierwsza metoda zlicza jedynie przejście magistrali do pożądanej wartości grupowej, pierwsza metoda zignoruje pierwszą wartość grupową, jeśli wartość grupowa jest już za parkowana w magistrali na początku przejęcia.

Po warunku 1, następuje warunek2.

Konfiguracja stanu wyzwalania

Trzy podstawowe warunki wyzwalania są zdefiniowane w zakładce konfiguracji do pożądanych wartości. Pierwsze dwa warunki wyzwalania są ustawione na pożądane wartości grupowe. Trzeci warunek wyzwalania oznacza przechwytywanie pewnego rodzaju bezczynności transakcji na magistrali między pierwszym a drugim warunkiem. Ten warunek wyzwalania można określić jako "nie przejmuje się", jeśli jest on bardziej odpowiedni. Zanotuj użycie Mnemonics dla TrigCond1, TrigCond2 i IDLE.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli ( warunek 1 || warunki3)

goto ST2;

inaczej jeśli (warunki2)

goto ST3;

inaczej jeśli ( ! condition2)

goto ST1;

stan ST3:

uruchomić;

Wynik analizy danych

Po uruchomieniu z warunkiem1, po którym następuje warunek2

Konfiguracja stanu wyzwalania

Dwa podstawowe warunki wyzwalania są zdefiniowane dla pożądanych wartości grupowych. Po raz kolejny należy zwrócić uwagę na wykorzystanie Mnemonics do TrigCond1 i TrigCond2.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli ( warunek 1)

goto ST2;

inaczej jeśli (warunki2)

uruchomić;

Innego

goto ST1;

Wynik analizy danych

Wyzwalanie stanu 2 nie występujące pomiędzy warunkiem1 a warunkiem3

Konfiguracja stanu wyzwalania

Trzy podstawowe warunki wyzwalania są zdefiniowane dla pożądanych wartości grupowych. Zanotuj ponownie korzystanie z Mnemonics.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli ( warunek3)

goto ST4;

inaczej jeśli ( ! condition2)

goto ST3;

Innego

goto ST1;

stan ST3:

jeśli ( warunek3)

goto ST4;

stan ST4:

uruchomić;

Wynik analizy danych

Wyzwalanie stanu 5. warunku dotyczącego warunku.

Konfiguracja stanu wyzwalania

Jeden podstawowy warunek wyzwalania jest zdefiniowany w zakładce konfiguracji do pożądanej wartości. TrigCond1 na poniższym wykresie to alias wartości konfiguracji AA przy użyciu konfiguracji tabeli Mnemonic.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( c1 > = 5)

uruchomić;

inaczej jeśli ( warunek1)

przyrost c1;

inaczej jeśli ( ! condition1)

resetowanie c1;

Wynik analizy danych

Wyzwalaj po naruszeniem sekwencji: warunek1-> condition2-> Condition3-> Condition4

Konfiguracja stanu wyzwalania

Cztery podstawowe warunki wyzwalania są skonfigurowane do żądanych wartości sekwencji. Mnemonics są używane we wszystkich czterech pokazanych warunkach wyzwalania.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST3;

inaczej jeśli ( warunek2)

goto ST4;

inaczej jeśli ( warunek3)

goto ST5;

inaczej jeśli ( warunek 4)

goto ST2;

Innego

uruchomić;

stan ST2:

jeśli ( warunek 4)

goto ST2;

inaczej jeśli (warunek1)

goto ST3;

Innego

uruchomić;

stan ST3:

jeśli (warunek1)

goto ST3;

inaczej jeśli (warunki2)

goto ST4 ;

Innego

uruchomić;

stan ST4:

jeśli (warunek2)

goto ST4;

inaczej jeśli (warunki3)

goto ST5;

Innego

uruchomić;

stan ST5:

jeśli (warunek3)

goto ST5;

inaczej jeśli ( warunek 4)

goto ST2;

Innego

uruchomić;

Wynik analizy danych

Uruchamianie w sekwencji brzegów sieci

Konfiguracja stanu wyzwalania

Trzy podstawowe warunki wyzwalania wrażliwe na brzeg są skonfigurowane dla pożądanej sekwencji. W tym przykładzie wyszukuje się wznoszącą się krawędź kanału 1, opadającą krawędź kanału 2, a następnie wznoszącą się krawędź kanału 3.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli (warunek1)

goto ST2;

stan ST2:

jeśli (warunek2)

goto ST3;

stan ST3:

jeśli (warunek3)

uruchomić;

Innego

goto ST1;

Wynik analizy danych

Włącz stan1, po którym następuje warunek2 po 5 cyklach zegara

Konfiguracja stanu wyzwalania

Dwa podstawowe warunki wyzwalania są zdefiniowane dla pożądanych wartości grupowych. Uwaga: wykorzystanie Mnemonics do TrigCond1 i TrigCond2.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli ( warunek1)

goto ST2;

inaczej jeśli ( ! condition2)

przyrost c1;

inaczej jeśli (warunek 2 && c1 >= 5)

uruchomić;

inaczej jeśli (warunki2 && c1 < 5)

goto ST1;

Wynik analizy danych

Uruchamianie w stanie 1, po którym następuje warunek2 w ciągu 5 próbek

Konfiguracja stanu wyzwalania

Dwa podstawowe warunki wyzwalania są zdefiniowane dla pożądanych wartości grupowych. Uwaga: wykorzystanie Mnemonics do TrigCond1 i TrigCond2.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli ( warunek1)

goto ST2;

inaczej jeśli ( ! condition2)

przyrost c1;

inaczej jeśli (warunki2 && < c1 = 5)

uruchomić;

inaczej jeśli (warunek2 && c1 > 5)

goto ST1;

Wynik analizy danych

Wyzwalanie przy stanie 1, po którym nie następuje warunek2 w ciągu 5 próbek

Konfiguracja stanu wyzwalania

Dwa podstawowe warunki wyzwalania są zdefiniowane dla pożądanych wartości grupowych. Uwaga: wykorzystanie Mnemonics do TrigCond1 i TrigCond2.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek 1)

goto ST2;

stan ST2:

jeśli (c1 == 5)

uruchomić;

inaczej jeśli ( warunek1)

goto ST2;

inaczej jeśli ( ! condition2)

przyrost c1;

Wynik analizy danych

Uruchamiaj po 5 przejściach w procesie przejściowym dla osób przechodzących na emeryturę

Konfiguracja stanu wyzwalania

W tym przykładzie potrzebny jest warunek wyzwalania, aby uchwycić wszelkie działania związane z przejściem na monitorowanej magistrali. Ponieważ wymagany jest warunek OR, potrzebny jest zaawansowany stan wyzwalania.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( c1 == 5 )

uruchomić;

inaczej jeśli ( ! condition1)

resetowanie c1;

inaczej jeśli ( warunek1)

przyrost c1;

Wynik analizy danych

Wyzwalaj, gdy warunek 1 występuje mniej niż 5 razy między warunkiem2 a warunkiem3

Konfiguracja stanu wyzwalania

W tym przykładzie wymagane są trzy warunki wyzwalania wrażliwe na brzeg, przy których każdy warunek wyzwalania zawiera porównanie z żądaną wartością grupową. Można to zrobić przy użyciu zaawansowanego edytora warunków wyzwalania. Na poniższym rysunku pokazano przykład z jednego z trzech warunków wyzwalania czułych na brzegu.

Opis przepływu wyzwalania opartego na stanie

stan ST1:

jeśli ( warunek2)

Rozpocząć

resetowanie c1;

goto ST2;

Końcu

stan ST2:

jeśli (warunek3)

goto ST3;

inaczej jeśli ( warunki2)

goto ST1;

inaczej jeśli ( warunek1)

przyrost c1;

inaczej jeśli ( condition3 && (c1 >= 5 ))

goto ST1;

stan ST3:

uruchomić;

Wynik analizy danych

Materiały zawarte na tej stronie są tłumaczeniem z języka angielskiego, wykonanym częściowo przez człowieka, a częściowo automatycznie. Materiały te są udostępnione dla Twojej wygody i należy je traktować jedynie jako ogólne źródło informacji. Nie ma jednak gwarancji, że są one kompletne bądź poprawne. Jeśli istnieje jakakolwiek rozbieżność między wersją angielską tej strony a jej tłumaczeniem, wersja angielska jest wersją obowiązującą i ma rozstrzygające znaczenie. Wyświetl anglojęzyczną wersję tej strony.