Vycitani designu s FPGA

Galloth lordgalloth@gmail.com
Středa Březen 11 12:05:16 CET 2009


Pred nejakou dobou to byl primo muj ukol na projektu liberouter
(dodnes me strasne mrzi, ze jsem to nevyresil a chci se k tomu vratit)
a ten ukol jeste stale neni vyreseny. Tolik k motivaci.

Nejde o to, vycitat stav cipu opakovane, ale napriklad v pripade
chyby. Jedna se o navrh sitoveho akceleratoru v FPGA. V soucasne dobe
se jedna o nejake Virtex5. A obcas se vyskytne problem, ze vsechno v
simulacich bezi, v hardarovych testech take, ale pri pripojeni na
zivou sit se treba po hodine zasekne design. (Pripad je jen pro
ilustraci) A nikdo nevi co se stalo. A proto se prislo s myslenkou, ze
jedna s moznosti je v tento okamzik zastavit FPGA a vycist z nej
veskera konfiguracni data. Z nich by se potom zjistil obsah registru a
paměti. Tato znalost by se pak použila v simulacich pro presne
odhaleni chyby.

Co se tyce zastaveni FPGA, z jiz zminovanych App Note jsem nabyl dojmu
ze to prave pres ten JTAG jde.

Co se tyce simulaci, simulavani celeho designu casove extremne
narocne. V ramci prace se samozrejme provadeji i obycejne simulace i
verifikace v system verilogu (do tech ale nevidim vubec, jen ze se
ptate:-) ) a delka jejich trvani je casto i nekolik dni na pomerne
nadupanych strojich. Nicmene proste se neda overit vsechno. Navic
musite pocitat i s tim, ze je chyba v Xilinxich corech. Pokud vim
(nekde jsem cetl na netu), tak treba Xilinxi PCI Express Core obsahuje
v nekterych verzich chyby.

Honza

Dne 11. březen 2009 11:38 dejfson <dejfson@gmail.com> napsal(a):
> nevim. abych pravdu rekl moc se mi tento pristup nezda. kdyz jede fpga
> na 200MHz, jak z nej chcete vycist
> vsechny informace (fpga se neda zastavit v urcitem stavu)? Jedina
> moznost co je mi znama je pouzit logicky analyzator uvnitr chipu
> (e,g,chipscope)
> a pripojit na nej signaly ktere Vas zajimaji. Pro debugovani slouzi
> vyhradne simulator a zmineny chipscope. Simulatory jsou na vyborne
> urovni a pokud do simulace zahrnete i udaje o zpozdenich primo od
> kompilatoru, je vysledek simulace adekvatni 99.999999% realite za
> predpokladu ze nezvrtate elektronickou cast. co se tyce boundary
> scanu, ten neni urcen na takove vycitani.
> boundary scan je primarne urcen na testovani spoju mezi jednotlivymi
> cipy. mate na desce 10 cipu, kazdy ma 400 nozicek, jsou navzajem
> propojeny. pokud je kazdy z tech cipu vybaveny jtag bscan portem, da
> se napsat sada
> vektoru ktera vam otestuje, zdali mate vsechny cipy na desce
> propojene. tohle se ovsem nepouziva u vyroby
> deseti kusu nejakeho pripravecku. bscan je na masovou produkci protoze
> je cely ten spas dost drahy (=drahe zarizeni na testovani, drahy cas
> vyvojare ktery musi napsat ty vektory, drahy cas vyvojare schematu
> ktery musi spravne pospojovat ty cipy :)
>
> takze bych Vam doporucil - pokud mate ve svem VHDL kodu nejakou chybu
> - napiste si poradny vhdl testbench
> a odsimulujte to i s casovym zpozdenim. za predpokladu ze se dostanete
> k lepsim nastrojum, muzete pouzit
> takove pecky jako PSL SUGAR pro overeni spravnosti funkce.
>
> z devadesati procent jsou veskere chyby VHDL designu zpusobene
> nespravnym prechodem z jednotlivych
> clock domen a nespravnym osetrenim asynchronich vstupu proti hazardu
>
> mimochodem - muzu se zeptat k cemu to ma byt dobre? vypada to ze se
> hodlate pustit do vyroby nejakeho zarizeni
> ktere budete prodavat po tisicovkach :)
>
> Dne 11. březen 2009 11:07 Galloth <lordgalloth@gmail.com> napsal(a):
>> ChipScope k dispozici je, ale cilem neni precist jen jeden nebo vice
>> registru, ale kompletne vsechny registry a pameti.  Podle Aplikacni
>> noty 139 (Configuration and Readback of Virtex FPGAs Using (JTAG)
>> Boundary Scan.) a 138 (Virtex FPGA Series Configuration and Readback).
>> Jsem nabyl dojmu, ze by to mělo jit, takže jsem chtěl vedět jestli to
>> někdo už dělal a jake s tim ma zkušenosti. Mužete mi když tak
>> vysvětlit, proč to neni možne a popřípadě pokud to jde s pomocí
>> ChipScope jak to udělat?
>>
>> Co se tyce simulaci, tak ty se samozrejme pouzivaji, ale pokud vim,
>> trvaji někdy i v řadu dnu a obcas se v nich prostě nepodaři chybu
>> obevit. Prave proto by se vycitani velmi hodilo. Ze zachybovaneho FPGA
>> vyčtete obsahy registru a paměti a vidite, co chybu zpusobilo a mužete
>> se ji pokusit v simulacich vytvořit rychleji.
>>
>> Honza
>>
>> Dne 11. březen 2009 10:43 Jan Smrz <jan.smrz@honeywell.com> napsal(a):
>>>   Bohuzel, pres JTAG lze zpetne precist jen konfiguraci, nikoliv
>>> pozadovane obsahy registru apod. K tomu ucelu se tam vetsinou vklada
>>> dalsi logika prave pro tyto testovaci ucely. Xilinx nabizi tez nastroj
>>> pro takove ladeni pojmenovany ChipScope, neni vsak zadarmo :-(
>>>
>>>   Pro ladeni FPGA doporucuji spise dukladnou simulaci.
>>>
>>>   J.S.
>>>
>>>
>>> Galloth wrote:
>>>> Zdravim konferu,
>>>> kdyz se tu ted tolik mluvi o FPGA, tak se tu treba vyskytne nekdo, kdo
>>>> uz resil podobny problem. Mam FPGA a vysynthetizovany design, ktery
>>>> jsem do nej nahral. Nyni je mym ukolem vycist kompletne cely design z
>>>> FPGA zpet do souboru pres JTAG.
>>>>
>>>> Cilem je ziskat informaci o tom, co se v FPGA delo popripade deje v
>>>> dany okamzik, to znamena, precist obsahy jednotlivych registru a
>>>> pameti v  FPGA, ne cracknout design, takze pokud je treba nejake
>>>> upravy pred nahranim designu do FPGA, neni to problem. Moc dekuji za
>>>> pripadne rady.
>>>>
>>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list@list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>
>>
>>
>> --
>> Jan Kastil
>> galloth@jabbim.cz
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



-- 
Jan Kastil
galloth@jabbim.cz



Další informace o konferenci Hw-list