-
1. Data: 2014-07-11 13:12:17
Temat: Xilinx ISim
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
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
-
2. Data: 2014-07-15 11:07:32
Temat: Re: Xilinx ISim
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Już nieaktualne.
Pozdrawiam
-
3. Data: 2014-07-26 00:24:37
Temat: Re: Xilinx ISim
Od: s...@g...com
W dniu wtorek, 15 lipca 2014 11:07:32 UTC+2 użytkownik Grzegorz Kurczyk napisał:
> Juďż˝ nieaktualne.
>
>
>
> Pozdrawiam
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 !!
-
4. Data: 2014-07-31 01:04:57
Temat: Re: Xilinx ISim
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
W dniu 26.07.2014 o 00:24, s...@g...com pisze:
> W dniu wtorek, 15 lipca 2014 11:07:32 UTC+2 użytkownik Grzegorz Kurczyk napisał:
>> Juďż˝ nieaktualne.
>>
>>
>>
>> Pozdrawiam
>
> 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 !!
>
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