W świecie FPGA jakie dokładnie są ograniczenia fałszywej ścieżki dla kompilatora HDL? Dlaczego są przydatne?
W świecie FPGA jakie dokładnie są ograniczenia fałszywej ścieżki dla kompilatora HDL? Dlaczego są przydatne?
Odpowiedzi:
Fałszywe ścieżki to ścieżki pomiaru czasu, które tak naprawdę nigdy nie zostaną wykorzystane w ostatecznym projekcie. Załóżmy, że projektujesz 4-bitowy licznik i okazuje się, że istnieje bardzo wolna ścieżka opóźnienia przy zwiększaniu z 12 do 13. Jeśli twój projekt zawsze resetuje licznik, ilekroć liczba wynosi 9, wtedy ta wolna ścieżka nigdy nie będzie widoczna w rzeczywisty projekt. Wolną ścieżkę oznaczysz jako ścieżkę fałszywą, aby kompilator nie tracił czasu ani nie dodawał żadnej dodatkowej logiki, aby przyspieszyć działanie fałszywej ścieżki.
Fałszywa ścieżka to ścieżka, która istnieje w projekcie, ale nie odgrywa roli w operacji, więc nie jest konieczne uwzględnianie jej w analizie synchronizacji.
Przyczyny mogą być różne, ale ponieważ narzędzie do analizy czasu zwykle nie wie (chociaż istnieją narzędzia, które mogą je wykryć), które ścieżki mogą być użyte, czy nie, musisz to powiedzieć. Jest podobny do ścieżki wielocyklowej, w której można powiedzieć, że do ukończenia określonej ścieżki można użyć więcej niż jednego cyklu.
Przykładem (fałszywej ścieżki) jest rejestr, który można zapisać raz po włączeniu, ale potem pozostaje w tym samym stanie.
Po prostu, fałszywa ścieżka jest ścieżką logiczną, którą chcesz wykluczyć z kontroli, aby sprawdzić, czy spełnia ona harmonogram podczas analizy synchronizacji. Istnieją dwa powody, aby wykluczyć ścieżki, po pierwsze dlatego, że fałszywa ścieżka sprawi, że narzędzia będą ciężej pracować, aby osiągnąć synchronizację dla tego sygnału, co z kolei wpłynie na uzasadnione ścieżki sygnału, prawdopodobnie powodując dodatkowe błędy synchronizacji i ponieważ spowoduje, że kontrola synchronizacji zgłosi awarie ewentualnie odwracając uwagę projektanta od uzasadnionych błędów synchronizacji.
Fałszywe ścieżki są spowodowane ścieżkami logicznymi między niezwiązanymi zegarami asynchronicznymi lub zegarami o tej samej częstotliwości, ale o nieznanej zależności fazowej lub ścieżką, która nigdy nie zostałaby aktywowana podczas normalnej pracy obwodu. Powiedzenie narzędziu, aby zignorowało ścieżkę, nie powoduje, że czas działa, tylko że nie jest sprawdzany. Do projektanta należy ręczne upewnienie się, że dla tych ignorowanych ścieżek sygnału stosowana jest poprawna logika synchronizacji.