Jak symulować netlistę z bramką zegar?

D

davyzhu

Guest
Witam wszystkich, Kiedy symulować netlistę (Verilog stylu) z bramą zegar, znalazłem wyjście jest bardzo różne z tego co widzę na poziomie RTL (z wieloma "xxxx" czerwony). Więc dodać tfile w NCSim do zabrania opóźnienia i sprawdzić czas w zasięgu globalnym (Ponieważ projekt nie ma pamięci jak RAM / FIFO). Netlistę przebieg wydaje się być lepsze, ale są też jakieś błahe różnice między RTL i netlistę fal dźwiękowych (np. jakiś sygnał jeden zegar góry i jakiś sygnał jeden zegar opóźnieniem). Myślę, że brama zegar nie zachowanie jak oryginalny zegar i wprowadzić wyścigu. Ale jak zrozumieć zachowanie bramą zegar symulacji? Wszelkie uwagi / referencyjne będą mile widziane! Dzięki! Z poważaniem, Davy
 
Myślę, że problem został zauważony może być spowodowane przez inicjalizacji. Należy ustawić wartości inicjalizacji dla wszystkich sygnałów w Leval RTL. W przeciwnym razie, po syntezie, w simualtion bramy poziomie, różnica czasu może spowodować nieoczekiwane wartości lub wartości nieznane.
 
Witam Davy! Możesz syntezy zachowaniu verilog opcja pokojowe nie modyfikować clk.
 
Witam U zrobił to po syntezie, Powód 1: U nie może zainicjowany że brama zegar sygnału zezwolenia lub 2.There może być voilation (setup / hold) .. - Satya
 
Najbardziej prawdopodobną przyczyną, że masz "dziwny" wynik podczas symulacji bramy netlistę z bramką zegarach jest, że różne gated zegary są przypisane w różnych delta-time, a tym samym powoduje, że krawędź wywołane rejestry nie są oceniane / określony na dokładnie taki sam cykl delta. Smal prosty przykład problemy z zegarami bramy w symulacji (gdy nie używa się żadnych terminów) jest pokazana tutaj:
Code:
 przypisać gclk = clk i umożliwić, zawsze @ (posedge clk) rozpocznie b "c" w tym samym cyklu zegara ( ale nie w tym samym cyklu delta). Jeśli dodać małe opóźnienie na "b" i "c", to będzie działać. Jednak opóźnienia w RTL-kod jest brzydki. Po uruchomieniu symulacji na poziomie bramy należy rozrządu danych z narzędzia syntezy, to wszystko będzie 8hopefully) zachowują się jak będzie w rzeczywistości chip. Jak zwykle będę musiał wytłumaczyć się w sposób bardziej skomplikowany sposób niż to konieczne.
 
Dziękujemy! Używam DC wygenerować gated zegara. Słyszałem, zatrzask jest używany tylko w zamkniętych zegar projektowania układów ASIC. Czy to prawda? Myślę, że musi być ogrodzony zegar przyczyną problemu. Widzę przebiegu. I znalazłem jednak danych i zmiana godziny w tym samym czasie, czyli w tym samym czasie delta (I zabronione opóźnienie czasu na zasięg globalny), zegar zmiany następujące zmiany danych. Jak wszyscy wiemy, zmiana danych musi być zgodny z zegarem zmienić. Sądzę więc, że musi być ogrodzony spowodować chaos zegar niektórych sekwencji logika w symulatora. Z poważaniem, Davy
 
Spróbuj zegar pływający POWER kompilator i zapewnienia umożliwić czasu. lub clock_gating_check sprawdzić w PT.
 
[Quote = davyzhu] Bardzo dziękuję! Używam DC wygenerować gated zegara. Słyszałem, zatrzask jest używany tylko w zamkniętych zegar projektowania układów ASIC. Czy to prawda? Myślę, że musi być ogrodzony zegar przyczyną problemu. Widzę przebiegu. I znalazłem jednak danych i zmiana godziny w tym samym czasie, czyli w tym samym czasie delta (I zabronione opóźnienie czasu na zasięg globalny), zegar zmiany następujące zmiany danych. Jak wszyscy wiemy, zmiana danych musi być zgodny z zegarem zmienić. Sądzę więc, że musi być ogrodzony spowodować chaos zegar niektórych sekwencji logika w symulatora. Z poważaniem, Davy [/quote] Witam! Myślę, że co! Jeśli masz używa tylko zatrzask, musisz ustawić zmienną hdlin_latch_always_async_set_reset = "true"
 
Witam Shurik, Czy możesz mi powiedzieć, co narzędzie używasz? Dzięki! Z poważaniem, Davy
 
[Quote = davyzhu] Witam Shurik, Czy możesz mi powiedzieć, co narzędzie używasz? Dzięki! Z poważaniem, Davy [/quote] Witam! dc_shell lub w design_analyzer trybu GUI - $ ynop $ y $
 
witam davyzhu może u proszę powiedzieć, jak do generowania pliku SDF na poziomie pre układ .. Czytałem w ur ur wiadomość symulowanie poziomie bramy netto listę SDF, nie jestem pewien, w jaki sposób wygenerować ten plik na poziomie synsthesis .. może u proszę mi powiedzieć, polecenie używane do Suresh DC
 

Welcome to EDABoard.com

Sponsor

Back
Top