Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

WebPack ISE + ModelSim XE - szczegółowość symulacji

28 Mar 2006 14:18 2036 7
  • Poziom 19  
    Od jakiegoś czasu bawię się tym zestawem programów. Dotychczas nie tworzyłem nic specjalnie skomplikowanego - dekodery, mierniki częstotliwości, transceiver RS232 itp. Zastanawia mnie jedno - na ile szczegółowa jest symulacja post place & route? Teoretycznie model do takiej symulacji składa się z podstawowych elementów (primitives), wraz z wprowadzanymi przez nie opóźnieniami itd. Czy fakt, że taki model działa poprawnie w symulacji daje poważne nadzieje, że zadziała on w rzeczywistości? Mówię o normalnych warunkach pracy, przy częstotliwościach 5-10 razy mniejszych niż estymowane przez narzędzia do syntezy maksymalne częstotliwości taktowania układu. Jakie są Wasze doświadczenia? Jeśli symulacja taka nie jest wymiernym wskaźnikiem poprawności działania, to nie chcę po prostu marnować czasu na poprawianie układu pod kątem takiej symulacji.
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 21  
    Wszystko zależy od złożoności układu i warunków pracy układu. Dla duzych projektów taka analiza może byc wymogiem formalnym bo pozwala sprawdzić wszystkie możliwe koincydencje wynikające z rzeczywistych zakresów (pasma) opóźnień w sygnałów i bloków elementarnych (Ważne gdy parametry częstotliwościowe projektowanego układy są zbliżone do maksymalnych dla danej kości). W praktyce amatorskiej dużo szybciej jest sprawdzić czy działa w rzeczywistym układzie.Inną rzeczą jest ogromny nakład pracy na przygotowanie symulacji otoczenia układu we wszystkich możliwych warunkach.
  • Poziom 20  
    symulacja post route ma olbrzymie znaczenie szczególnie w przypadku skomplikowanych modeli np. procesorów, kontrolerów itd..
    pozwala wyłapać nasze błędy i niedociągnięcia z etapu projektowania,
    przygotowuje sobie zestaw testów, pisze do symualcji na tych testach skrypt i puszczam sobie to przed syntezą na zwykłym modelu, później te same testy puszczam po syntezie na netliście i na koniec po implementacji, obserwuje różnice, to daje mi dobre podstawy do odpalania układu w sprzęcie,
    po załadowaniu do fpga, nie mam już możliwości testowania na tak niskim poziomie,
    z doświadczenia mówie że bardzo dużo błędów wychodzi po post route tak więc nie radze omijać i nie uważam żeby była to strata czasu a żadna firma profesjonalna nie może sobie pozwolić na ignorowanie tego etapu

    w przypadku prostych układów symualcja postroute pozwala zorientowac się co się dzieje w układzie, można powiedziec nauczyć czy pokazać jakie pojawiają się błędy, czasem w najmniej oczekiwanym miejscu

    miłej zabawy :D
  • Poziom 17  
    niestety zlozonosc niektorych projektow oraz czasochlonnosc symulacji juz na poziomie kodu funkcjonalnego wymusza ominiecie symulacji po implementacji. jesli kod funkcjonalny symuluje sie 1 dzien to po implementacji wyszedlby tydzien jak nie wiecej...
    Moja metoda na to, to board i chipscope oraz inkrementalne testowanie poprzedzone dokladnym przegladnieciem logow P&R itd i constrainowaniem...
  • Poziom 19  
    To rozumiem, rozumiem, ale zapytam po prostu - jeśli coś działa w symulacji post place & route, to jakie są szanse na działanie ukłądu w rzeczywistości? Pomijam problemy na styku FPGA-reszta świata ;). Chodzi mi tylko i wyłącznie o logikę - na ile wiernie symulacja post place & route z użyciem primitives pozwala przewidzieć działanie układu? Zaznaczam, że nie mam zamiaru nawet zbliżać się do maksymalnej częstotliwości taktowania, podanej przez soft do syntezy.
  • Poziom 21  
    Oczywiście że będzie tak samo działać. Ale pamiętaj że pewnośc masz tylko dla wymuszeń (i ich sekwencji) dokładnie takich jakie zadałeś w symulacji. Nie ma chyba metody która pozwoliła by przesymulować złożone układy pod kątem WSZYSTKICH możliwych koincydencji zmian stanów wejściowych. Dlatego stosuje się raczej konstrukcje synchroniczne z zapasami na wszystko czego się nie da przewidzieć itd itp. temat rzeka. Ja traktuje takie symulacje raczej jako ciekawostkę i pożyteczne narzędzie dydaktyczne. W praktyce nie miałem potrzeby szukania co nie działa na takim poziomie. Dużo łatwiej jest dobrze przemyśleć konstrukcję układu na początkowym etapie projektowania. Jest uzasadnienie do stosowania takiej symulacji ale to już napisałem wcześniej.
  • Poziom 20  
    griva napisał:
    niestety zlozonosc niektorych projektow oraz czasochlonnosc symulacji juz na poziomie kodu funkcjonalnego wymusza ominiecie symulacji po implementacji. jesli kod funkcjonalny symuluje sie 1 dzien to po implementacji wyszedlby tydzien jak nie wiecej...
    Moja metoda na to, to board i chipscope oraz inkrementalne testowanie poprzedzone dokladnym przegladnieciem logow P&R itd i constrainowaniem...


    no przyznam się że ja pamiętam jeszcze czasy kiedy trwało to kilka tygodni ale jak coś chce się sprzedawać to niestety musi to mieć solidne podstawy do prawidłowego działania i musi być przetesotowane tak jak trzeba
    teraz już to tyle nie trwa nawet dla dużych i skomlikowanych układów, fakt że testy po implementacji są strasznie długie wielokrotnie dłuższe ale dzisiaj po pierwsze komputery są wielokrotnie szybsze i wydajniejsze no i zawsze można sobie tak środowiko testowe skonfigurować aby testować jeden projekt na kilku - kilkunastu komputerach co skraca czas testowania wielokrotnie - sam tak robiłem

    co do testowania i czy daje ono nam pewność to powiem tak, zależy przede wszystkim od testera, jeśli napisze testy takie jak trzeba tzn. takie które sprawdzą wszystko to jest duża szansa, bo właściwie dopiero testy postroute dają nam największą pewność prawidłowego działania układu
    są specjalne narzędzia służące do sprawdzania pokrycia testami wszystkich ścieżek w naszym układzie "codecover" , profesjonalne wykonania wymagają aby pokrycie było na poziomie 90-100%
    :D
  • Specjalista PLD
    Panowie,

    mam pytanie troszke off-topic, ale skoro juz temat zwiazany z ISE jest to zapytam.

    czy moze ktos z Szanownych kolegow posiada wersje ewaluacyjna lub wie skad mozna sciagnac EDK 8.1i , ktora byla jakis czas temu dostepna na stronie Xilinxa ?

    Sciagnalem ja wtedy ale windows jak to windows rozkraczyl sie haniebnie i zezarl wszystko co bylo na dysku :( .
    Nie mam zatem juz mojej wersji EDK.
    Wdzieczny bede za pomoc w tej kwestii.
    Wlasnie skonczylem projektowac swoja wersje procesora MicroBlaze ( w VHDL )i chcialbym ja przetestowac na jakims powazniejszym programie. Stad tez zalezy mi szczegolnie na asemblerze i kompilatorze C z pakietu EDK.
    Testowanie procesora programami pisanymi w jezyku maszynowym jest bardzo zmudne i juz mi sie odechciewa takiej metody.
    Na stronie Xilinxa sa sciagalne zrodla mb-gcc, ale jako ze nigdy nie bawilem sie z narzedziami linuchowatymi, nie wiem co z wszystkimi tymi plikami zrobic, a nie chce robic doktoratu z linucha tylko po to by napisac pare programow dla mojego MicroBlaze.

    Wdzieczny bede za kazda pomoc w tej materii.

    Pozdrawiam, yego