Xilinx ISim

Witam Pytanie do Kolegów "rzeźbiących" w środowisku Xilinx ISE. Czy jest możliwość zmuszenia symulatora ISim do pokazywania opóźnień powstających w blokach kombinacyjnych? Na ten moment podczas symulacji ISim pokazuje zerowe opóźnienia i układ na symulatorze "działa", a po wgraniu do FPGA mam zachowanie wskazujące na zatrzaskiwanie danych w przerzutnikach nim ustalą się stany na wyjściu układu kombinacyjnego.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk
Loading thread data ...

Już nieaktualne.

Pozdrawiam

Reply to
Grzegorz Kurczyk

W dniu wtorek, 15 lipca 2014 11:07:32 UTC+2 użytkownik Grzegorz Kurczyk napisał:

Pomimo nieaktualności pytania/wątka, sugeruję 'ograniczone zaufanie' do wyników symulacji. Symulator swoje (teoria), a oscyloskop swoje (praktyka). Bywa tak, że na symulatorze jest LIPTON, a w praktyce jest OK. Albo na odwyrtkę, bo też tak bywa. To są 'śliskie' tematy, dlatego sugeruję najsampierw sprawdzić ideę (behavioral simulation). Jak będzie wynik do dupy, to nawet nie podchodź do sprawdzania na 'żywym organiźmie', bo będzie jeszcze bardziej do dupy.

Korzystaj z symulatorów, ale z pewnym marginesem zaufania. Oscyl prawdę Ci powie !!

Reply to
stchebel

W dniu 26.07.2014 o 00:24, snipped-for-privacy@gmail.com pisze:

Tak jak pisałem w modelu behawioralnym układ "działa", a po implementacji "w krzemie" miałem pewną dozę losowości. Układ jest już dość złożony (wymyślone własne CPU-16bit z peryferiami, kontroler SDRAM, grafika VGA i GPU 2D) Metodę "oscyloskopową" oczywiście stosuję z użyciem 96kanałowego analizatora logicznego 500Ms/s ale jest to dość upierdliwe z powodu m.in. małej ilości niewykorzystanych pinów I/O i jak chcę przeanalizować zależności między np. magistralą danych CPU i adresami, to już mi brakuje pinów. Z drugiej strony ta metoda też jest obarczona błędem, bo wyprowadzenie jakiegoś sygnału na zewnątrz wprowadza dodatkowe opóźnienie z bloku I/O więc Oscyl nie koniecznie powie prawdę o chwili pojawienia się zbocza we wnętrzu układu. Można (co też stosuję) zaimplementować "oscyloskop" cyfrowy we wnętrzu FPGA, podpiąć do pod interesujące linie i gadać z nim przez JTAG-a, ale to też ma swoje minusy bo po pierwsze musi być jeszcze miejsce w układzie na zaimplementowanie oscyloskopu, a po drugie dodanie tego oscyloskopu do projektu powoduje, że badany blok zostanie inaczej "skompilowany" w krzemie (np. zbraknie multiplekserów w CLB, to sobie "wydłubie" multiplekser w LUT)

W każdym razie symulacja Post-Route dała mi odpowiedź, w którym miejscu mam "wąskie" gardło i wystarczyła zmiana implementacji multipleksera adresów w CPU oraz rezygnacja z magistral dwukierunkowych aby wszystko zaczęło pięknie działać :-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.