Mikropolo-logo

Microsemi In-Circuit FPGA Debug

Produkt pre ladenie mikrosemi-in-circuit FPGA

Informácie o produkte

Špecifikácie

  • Typ zariadenia: Microsemi SmartFusion2 SoC FPGA
  • Dátum vydania: máj 2014
  • Možnosti ladenia: Ladenie FPGA v obvode, vstavaný logický analyzátor
  • Maximálna frekvencia zberu dát: až 100 MHz

Abstraktné
FPGA sú výkonné konštrukčné prvky vo vstavaných systémoch s mnohými dizajnovými výhodamitages, ale tieto zariadenia môžu mať zložité návrhy so zložitými problémami s návrhom, ktoré je potrebné ladiť. Sledovanie problémov s návrhom, ako sú chyby definície, problémy s interakciou systému a chyby časovania systému, môže byť náročné. Zahrnutie funkcií ladenia v obvode do FPGA môže dramaticky zlepšiť ladenie hardvéru a vyhnúť sa nespočetným hodinám frustrácie. Tento článok popisuje niekoľko rôznych prístupov k ladeniu v obvode pre FPGA, identifikuje kľúčové kompromisy a prostredníctvom ex...ample design, zameraný na zariadenie Microsemi SmartFusion®2 SoC FPGA, ukáže, ako sa dajú využiť nové možnosti na urýchlenie ladenia a testovania.

Úvod

FPGA sú všadeprítomné a výkonné konštrukčné prvky a teraz sa nachádzajú prakticky v každom vstavanom systéme. S rastúcou kapacitou, zahrnutím zložitých funkčných blokov na čipe a pokročilých sériových rozhraní môžu tieto zariadenia mať aj zložité konštrukčné problémy, ktoré je potrebné odladiť. Sledovanie problémov, ako sú chyby funkčnej definície (na úrovni FPGA alebo systému), problémy s interakciou funkčných systémov, problémy s časovaním systému a problémy s vernosťou signálu medzi integrovanými obvodmi (ako je šum, presluchy alebo odrazy), to všetko sa stáva oveľa zložitejším pri používaní pokročilých FPGA. Simulácia je určite veľkou pomocou pri identifikácii mnohých problémov s návrhom, ale mnohé interakcie v reálnom svete sa prejavia až po implementácii návrhu v hardvéri. Na zjednodušenie procesu bolo vyvinutých niekoľko rôznych techník na ladenie zložitých návrhových problémov. Dôkladné pochopenie každej z týchto kľúčových techník, vrátane rôznych výhodtages a disadvantages, je užitočné pri zvažovaní, ktorá technika alebo kombinácia techník je vhodná pre konkrétny dizajn.
BývalýampNávrh FPGA, zameraný na zariadenie Microsemi SmartFusion2 SoC FPGA, možno použiť na demonštráciu niektorých výhodtages a disadvantagtieto štandardné techniky, ako aj najnovšie možnosti ladenia v obvode. Tento názorný exampUkážeme, ako možno tieto rôzne techniky použiť na urýchlenie identifikácie a eliminácie problémov s hardvérom počas ladenia hardvéru.

Prečo je ladenie FPGA kritickým aspektom návrhu a vývoja systému?
FPGA majú dva hlavné modely použitia, ktoré ich odlišujú od ostatných konštrukčných prvkov. FPGA môžu byť použité vo výrobnom produkte alebo môžu byť použité ako vývojové vozidlo na preukázanie alebo prototypovanie konceptu výrobného dizajnu. Pri použití ako produkčné vozidlo môžu byť FPGA oveľa flexibilnejším cieľom ako výrobné vozidlá založené na ASIC alebo CPU. Toto je obzvlášť dôležité pre nový dizajn, ktorý ešte nebol implementovaný do hardvéru. Návrhy s rôznymi architektonickými možnosťami možno ľahko vytvárať a testovať, aby sa určil optimálny dizajn. FPGA s procesormi na čipe (SoC FPGA) tiež umožňujú kompenzovať spracovanie založené na CPU s hardvérovými akceleračnými funkciami založenými na FPGA. Tieto výhodytages môže dramaticky skrátiť čas potrebný na návrh, validáciu, testovanie a analýzu porúch pri vývoji nových produktov.
Pri použití na prototypovanie dizajnu, možno pre produkčný ASIC, je flexibilita FPGA kľúčovou výhodou. Skutočná hardvérová platforma, dokonca aj tá, ktorá nebeží pri plnej rýchlosti, výrazne uľahčuje získanie podrobných metrík výkonu systému, údajov analýzy priepustnosti a výsledkov overenia koncepcie architektúry. Podpora FPGA pre spevnené implementácie priemyselných štandardných zberníc (ako PCIe®, Gigabit Ethernet, XAUI, USB, CAN a ďalšie) zjednodušuje testovanie spojené s týmito rozhraniami. Najnovšie rodiny FPGA s procesormi ARM na čipe (SoC FPGA) uľahčujú prototypovanie implementácií so vstavanými procesormi. Predtým vyvinutý kód procesora je možné preniesť do prototypu a vytvoriť nový kód súbežne s návrhom hardvéru.

Táto kombinácia štandardného procesora so štandardnými zbernicami rozhrania umožňuje využiť rozsiahly ekosystém dostupných kódových knižníc, ovládačov, funkčných API, operačných systémov v reálnom čase a dokonca aj úplných operačných systémov na oveľa rýchlejšie vytvorenie funkčného prototypu. Navyše, akonáhle je dizajn spevnený, prototyp FPGA môže byť použitý na zachytenie rozsiahlych simulačných testovacích sád (pre stimul aj odozvu), ktoré odrážajú skutočné systémové údaje. Tieto súbory údajov môžu byť neoceniteľné pri vytváraní konečných simulácií pre ASIC alebo inú produkčnú implementáciu. AdvantagPoužitie FPGA ako prototypu dizajnu môže výrazne skrátiť čas potrebný na návrh, overenie, testovanie a analýzu zlyhania pri implementácii konečného produktu.
V oboch týchto bežných modeloch použitia FPGA je kľúčovou výhodou flexibilita FPGA ako cieľa návrhutage. To znamená, že mnohé zmeny a iterácie návrhu by boli normou, a teda schopnosť rýchlo odladiť chyby návrhu by bola kritická pre umožnenie čo najväčšieho počtu možností návrhu. Bez efektívnej schopnosti ladenia veľa výhodtagFlexibilita dizajnu FPGA bude znížená dodatočným časom potrebným na ladenie. Našťastie môžu FPGA poskytovať aj ďalšie hardvérové ​​funkcie, ktoré výrazne zjednodušujú ladenie v reálnom čase. Predtým, ako sa pozrieme na tieto možnosti, pozrime sa najprv na najbežnejšie typy problémov, s ktorými sa môže návrh FPGA stretnúť, aby sme mali správne pozadie na vyhodnotenie účinnosti a súvisiacich kompromisov rôznych nástrojov na ladenie.

Bežné problémy pri ladení návrhov FPGA

Spolu s rozšírenými možnosťami, ktoré prinášajú moderné FPGA, s nimi spojená zvýšená zložitosť sťažuje vytváranie bezchybných návrhov. V skutočnosti sa odhaduje, že ladenie môže zaberať viac ako 50 % cyklu návrhu vstavaných systémov. Keďže tlak na uvedenie na trh naďalej obmedzuje vývojový cyklus, ladenie hardvéru pôvodného systému je odsunuté na vedľajšiu koľaj – až príliš často sa predpokladá, že overenie (samo o sebe veľké percento)tage plánu vývoja), zachytí všetky chyby pred prvým spustením systému. Pozrime sa len na niekoľko bežných typov systémových problémov, aby sme lepšie porozumeli výzvam, ktorým bude typický návrh čeliť počas počiatočného zavádzania systému.

Chyby funkčnej definície môže byť dvojnásobne ťažké nájsť, pretože dizajnér nepochopil konkrétnu požiadavku, takže chybu možno prehliadnuť aj pri pozornom pohľade na detaily návrhu. BývalýampBežná chyba definície funkcie by bola taká, že prechod stavového automatu neskončí v správnom stave. Chyby sa môžu prejaviť aj v systémových rozhraniach ako problém interakcie. Latencia rozhrania, naprample, môže byť nesprávne zadaný, čo môže mať za následok neočakávaný stav pretečenia alebo podtečenia vyrovnávacej pamäte.
Problémy s časovaním na úrovni systému sú ďalším veľmi častým zdrojom chýb návrhu. Najmä asynchrónne udalosti sú bežným zdrojom chýb, keď sa dôkladne nezvážia efekty synchronizácie alebo prechodu časovej domény. Pri rýchlej prevádzke môžu byť tieto typy chýb veľmi problematické a môžu sa prejaviť veľmi zriedka, možno len vtedy, keď sa prejavia špecifické dátové vzory. Mnoho bežných porušení načasovania spadá do tejto kategórie a je zvyčajne veľmi ťažké, ak nie nemožné simulovať.

Poruchy časovania môžu byť tiež výsledkom nízkej vernosti signálu medzi integrovanými obvodmi, najmä v systémoch s viacerými napájacími koľajnicami pre každý obvod. Nízka vernosť signálu môže viesť k šumu signálu, presluchom, odrazom, nadmernému zaťaženiu a problémom s elektromagnetickým rušením (EMI), ktoré sa často prejavujú ako porušenie načasovania. Problémy s napájaním, ako sú prechodné javy (najmä počas spúšťania alebo vypínania systému), kolísanie záťaže a veľké namáhanie straty energie môžu tiež viesť k záhadným chybám, ktoré sa často nedajú ľahko vysledovať späť k zdroju napájania. Aj keď je dizajn úplne správny, problémy s výrobou dosky môžu viesť k chybám. Chybné spájkované spoje a nesprávne pripojené konektory, naprample, môže byť zdrojom chýb a môže dokonca závisieť od teploty alebo umiestnenia dosky. Použitie pokročilých techník balenia FPGA môže sťažiť snímanie signálov na doske s plošnými spojmi, takže len získanie prístupu k požadovanému signálu môže byť často problematické. Mnoho problémov s dizajnom často nespôsobí okamžitú chybu a musia sa preniesť cez dizajn, kým sa chyba skutočne neprejaví. Sledovanie počiatočnej chyby späť ku hlavnej príčine môže byť často frustrujúca, náročná a časovo náročná úloha.

NapríkladampNapríklad, jediný chybný bit v prekladovej tabuľke nemusí viesť k chybe až do niekoľkých cyklov neskôr. Niektoré z nástrojov, o ktorých budeme diskutovať neskôr v tomto článku a ktoré používajú špecializovaný hardvér na ladenie v obvode, sú špecificky zamerané na urýchlenie a zjednodušenie tohto „hľadania chýb“. Predtým, ako sa pustíme do detailov týchto nástrojov, pozrime sa najprv na populárnu simuláciu softvérovej ladiacej techniky, aby sme lepšie pochopili výhody...tages a disadvantagpoužitie simulácie na ladenie.

Použitie simulácie na ladenie
Pri simulácii návrhu sú všetky reálne komponenty vo vnútri a mimo návrhu matematicky modelované ako softvérové ​​procesy, ktoré sa vykonávajú sekvenčne na štandardnom CPU. Aplikovanie širokej škály podnetov na dizajn a kontrola očakávaného výstupu oproti výstupu simulovaného dizajnu je jednoduchý spôsob, ako zachytiť väčšinu zjavných chýb v dizajne. Okno zobrazujúce typický priebeh simulácie je uvedené na obrázku 1 nižšie. Jasná výhodatagVýhodou simulácie oproti hardvérovému ladeniu je, že simuláciu je možné vykonať softvérovo – nie je potrebný žiadny skutočný hardvérový návrh a testovacie prostredie. Simulácia dokáže rýchlo odhaliť mnohé chyby návrhu, najmä tie, ktoré sú spojené s nesprávnymi špecifikáciami, nepochopením požiadaviek rozhrania, chybami funkcií a mnohými ďalšími „hrubými“ typmi chýb, ktoré sa dajú ľahko zistiť pomocou jednoduchých stimulačných vektorov.

Ladenie mikropolovodičov v obvode FPGA (1)

Simulácia je obzvlášť efektívna, keď má návrhár k dispozícii rozsiahle kombinácie stimulov a výsledné výstupy sú dobre známe. V týchto prípadoch dokáže simulácia vykonať takmer vyčerpávajúci test návrhu. Väčšina návrhov bohužiaľ nemá ľahký prístup k rozsiahlym testovacím súborom a proces ich vytvárania môže byť veľmi časovo náročný. Vytvorenie testovacieho súboru, ktorý pokrýva 100 % návrhu, je pre rozsiahle návrhy založené na FPGA prakticky nemožné a na pokrytie kľúčových prvkov návrhu sa musia použiť skratky. Ďalším problémom simulácie je, že nejde o implementáciu v „reálnom svete“ a nedokáže zachytiť asynchrónne udalosti, interakcie systému pri vysokej rýchlosti ani porušenia časovania. Nakoniec, proces simulácie môže byť veľmi pomalý a ak je potrebných veľa iterácií, simulácia sa rýchlo stáva časovo najnáročnejšou a často aj najnákladnejšou časťou vývojového procesu.

Ako alternatívu (alebo možno lepšie povedané, ako doplnok k simulácii) dizajnéri FPGA zistili, že môžu do návrhu FPGA pridať ladiaci hardvér, aby mohli sledovať a ovládať kľúčové signály v zariadení. Tieto techniky sa pôvodne vyvinuli ako ad-hoc prístupy, ale postupne sa vyvinuli do štandardnej stratégie ladenia hardvéru. Toto použitie funkcií ladenia v obvode ponúka významné výhodytages pre návrhy založené na FPGA a ďalšia časť preskúma tri najbežnejšie stratégie a ich rôzne výhodytages a disadvantages.

Bežné prístupy ladenia v obvode pre FPGA
Najbežnejšie techniky na implementáciu funkcií ladenia v obvode v FPGA používajú buď vstavaný logický analyzátor, externé testovacie zariadenie alebo vyhradený hardvér signálnej sondy zabudovaný do štruktúry FPGA. Vstavaný logický analyzátor je typicky implementovaný pomocou FPGA tkaniny a je vložený do návrhu. JTAG port sa používa na prístup k analyzátoru a nasnímané údaje je možné zobraziť na PC. Pri použití externého testovacieho zariadenia sa testovaný dizajn FPGA upraví tak, že vybrané interné signály FPGA sú smerované na výstupné kolíky. Tieto kolíky možno potom pozorovať prostredníctvom externého testovacieho zariadenia. Pri použití špeciálneho hardvéru signálnej sondy je možné čítať široký výber interných signálov v reálnom čase. Niektoré implementácie sondy možno dokonca použiť na zápis do registra alebo pamäťových miest, čím sa ďalej zlepšujú možnosti ladenia. Pozrime sa podrobnejšie na advantages a disadvantages každej z týchto techník a potom sa pozrite na example design, aby ste videli, ako môžu tieto rôzne prístupy ovplyvniť celkový čas ladenia.

In-Circuit FPGA Debug-Embedded Logic Analyzer
Koncept vstavaného logického analyzátora bol priamym výsledkom ad-hoc in-circuit ladiacich schopností, ktoré dizajnéri implementovali pri prvom použití FPGA. Vstavané logické analyzátory pridali nové možnosti a eliminovali požiadavku, aby dizajnér vyvinul svoj vlastný analyzátor. Väčšina FPGA ponúka tieto možnosti a tretie strany ponúkajú štandardné analyzátory (Identify® od Synopsys je jedným z populárnychample), ktoré sa môžu ľahko prepojiť s nástrojmi vyššej úrovne na ďalšie zvýšenie produktivity.

Funkcionalita logického analyzátora je vložená do návrhu pomocou štruktúry FPGA a vložených pamäťových blokov ako vyrovnávacích pamätí, ako je znázornené na obrázku 2. Spúšťacie zdroje sú tiež vytvorené tak, aby bolo možné ľahko vybrať a zachytiť komplexné interakcie signálu. Prístup k analyzátoru na riadenie a prenos údajov sa zvyčajne vykonáva prostredníctvom štandardu JTAG port na zjednodušenie požiadaviek na rozhranie. Nasnímané dáta je možné zobraziť na PC pomocou bežného viewsoftvér a zvyčajne zrkadlí výstupný tvar vlny logického simulátora viewštýl.

Ladenie mikropolovodičov v obvode FPGA (2)

AdvantagTento prístup spočíva v tom, že sa nepoužívajú žiadne ďalšie I/O kolíky FPGA, iba štandardné JTAG signály. IP jadrá integrovaného logického analyzátora sú zvyčajne relatívne lacné av niektorých prípadoch môžu byť alternatívou k existujúcim nástrojom na syntézu alebo simuláciu FPGA. V niektorých prípadoch môže vstavaný logický analyzátor poskytnúť aj ďalšie výstupy na nepoužívaných I/O, ak je to pohodlnejšie. Jeden z disadvanovtagNevýhodou tohto prístupu je, že je potrebné veľké množstvo zdrojov FPGA. Najmä ak sa použijú vyrovnávacie pamäte trasovania, zníži sa počet dostupných blokových pamätí. Ak je potrebná široká vyrovnávacia pamäť, bude to tiež kompromisom oproti hĺbke pamäte (pretože použitie širšej pamäte má za následok menšiu hĺbku pamäte) – čo je veľká nevýhoda.tage pri používaní menších zariadení. Snáď najväčšou nevýhodou tejto techniky je, že zakaždým, keď sa vykoná úprava umiestnenia sondy, je potrebné prekompilovať a preprogramovať dizajn. Pri použití veľkého zariadenia môže tento proces trvať značné množstvo času. Kvôli spôsobu, akým sú signálové sondy umiestnené v dizajne, môže byť ťažké korelovať vzťahy časovania signálu. Okrem toho oneskorenia medzi signálnymi sondami nie sú konzistentné, a preto je ťažké porovnávať časové vzťahy. Toto je osobitný problém pri porovnávaní asynchrónnych signálov alebo signálov z rôznych časových oblastí.

Ladenie FPGA v obvode – Externé testovacie zariadenie
Použitie ladiaceho kódu v obvode v spojení s externým testovacím zariadením bolo prirodzeným vývojom, keď už bol k dispozícii externý logický analyzátor na testovanie systému. Vytvorením jednoduchého ladiaceho kódu na identifikáciu a výber interných testovacích signálov a ich aplikovanie na FPGA I/O, ako je znázornené na obrázku 3, bolo možné využiť pokročilé možnosti analyzátorov (ako sú veľké vyrovnávacie pamäte sledovania, zložité spúšťacie sekvencie a viacnásobné viewmožnosti) na vytvorenie jednoduchých, ale výkonných prostredí na ladenie. Zložitejšie možnosti in-circuit pre pokročilé možnosti spúšťania môžu minimalizovať počet potrebných výstupov. Napríkladample, výber špecifických adries na širokej zbernici môže byť zakázaný, ak by boli potrebné externé kolíky.
Použitie internej logiky FPGA dramaticky znižuje požiadavky na I/O a môže dokonca hľadať špecifické vzory adries (možno volanie a návratovú sekvenciu) na ladenie zložitejších problémov. Ak je k dispozícii spoločné používateľské rozhranie, môže to zjednodušiť krivku učenia a zvýšiť produktivitu.

Ladenie mikropolovodičov v obvode FPGA (3)

AdvantagTento prístup spočíva v tom, že využíva náklady na externé testovacie zariadenie, a preto nevznikajú žiadne dodatočné náklady na nástroje. Niektoré jadrá IP ladiacich obvodov sú dostupné od výrobcov zariadení alebo výrobcov FPGA a môžu byť veľmi lacné alebo dokonca zadarmo. Množstvo zdrojov FPGA potrebných na implementáciu logiky výberu signálu je veľmi malé a keďže funkcia sledovania sa vykonáva pomocou externého logického analyzátora, nie sú potrebné žiadne blokové pamäte. Keďže logika výberu je lacná, môže byť podporovaný aj veľký počet kanálov so širokým spúšťaním. Logický analyzátor môže pracovať v režime časovania aj v režime stavu, čo pomáha izolovať niektoré problémy s časovaním.
NesúladtagTento prístup môže zahŕňať potrebu zakúpenia logického analyzátora, ak ešte nie je priradený k projektu. Toto znevýhodnenietage môže v mnohých prípadoch stačiť na odradenie od tohto prístupu. Všimnite si však, že sú k dispozícii niektoré lacné možnosti logického analyzátora, ktoré na zobrazenie využívajú počítač alebo tablet, vďaka čomu je táto možnosť oveľa cenovo výhodnejšia pre jednoduché požiadavky na ladenie.
Ďalšou nevýhodou môže byť počet spotrebovaných pinov FPGAtage a ak je potrebné dodržať široké zbernice, je potrebné významné plánovanie rozloženia dosky a pridanie ladiacich konektorov. Túto požiadavku je väčšinou ťažké predvídať na začiatku fázy návrhu a ďalšiu nežiaducu zložitosť. Podobne ako v prípade prístupu so vstavaným logickým analyzátorom, stratégia externého testovania vyžaduje prekompilovanie a preprogramovanie dizajnu, keď je potrebný každý nový experiment.

Spoločná nevýhodatagVýhody týchto dvoch techník – použitie zdrojov na čipe (ktoré môžu tiež ovplyvniť časovací výkon návrhu a vytvoriť ďalšie požiadavky na ladenie), potreba rekompilácie a preprogramovania návrhu (čo môže k harmonogramu ladenia pridať hodiny alebo dokonca dni), počiatočné plánovanie potrebné na identifikáciu pravdepodobných testovacích scenárov a použitie dodatočných I/O zdrojov čipu vytvorili potrebu prístupu bez týchto nevýhod. Jednou z reakcií bolo pridanie vyhradenej ladiacej logiky do štruktúry FPGA na niektorých zariadeniach. Výsledkom bolo ladenie v obvode pomocou hardvérových sond.

Ladenie FPGA v obvode – hardvérové ​​sondy
Použitie hardvérových sond dramaticky zjednodušuje techniky ladenia v obvode pre FPGA. Táto technika implementovaná ako funkcia Live Probe na zariadeniach SmartFusion2®SoC FPGA a IGLOO®2 FPGA pridáva vyhradené linky sondy do štruktúry FPGA na sledovanie výstupu akéhokoľvek bitu registra logického prvku. Ako je znázornené na blokovej schéme na obrázku 4, hardvérové ​​sondy sú dostupné v dvoch sondových kanáloch A a B.

Ladenie mikropolovodičov v obvode FPGA (3)

Vybrané výstupy registra (body sondy), ako je ten, ktorý je uvedený v spodnej časti obrázku, sú smerované nad dva kanály sondy a ak sú zvolené, možno ich použiť na kanál A alebo B. Tieto signály kanálov v reálnom čase môžu byť potom odoslané na vyhradené kolíky sondy A a sondy B na zariadení. Signály sondy A a sondy B môžu byť tiež interne smerované do vstavaného logického analyzátora.

Všimnite si, že časovacie charakteristiky kolíkov sondy sú pravidelné a majú zanedbateľnú odchýlku od jedného bodu sondy k druhému, vďaka čomu je oveľa jednoduchšie porovnávať časové charakteristiky signálov v reálnom čase. Dáta je možné zachytiť rýchlosťou až 100 MHz, čo je vhodné pre väčšinu cieľových návrhov.
Snáď najdôležitejšie je umiestnenie bodov sondy, keďže nie sú vybrané ako súčasť implementovaného návrhu (vyberajú sa prostredníctvom špeciálneho hardvéru, zatiaľ čo návrh beží na FPGA), možno rýchlo zmeniť jednoduchým odoslaním údajov o výbere do zariadenia. Nie je potrebné žiadne prekompilovanie a preprogramovanie dizajnu.
Aby sa používanie funkcie Live Probe ešte viac zjednodušilo, pridružený softvérový nástroj na ladenie má prístup ku všetkým umiestneniam signálu sondy prostredníctvom automaticky generovaného ladenia. file. Ako je znázornené na obrázku 5, názov signálu možno vybrať zo zoznamu signálov a použiť ho na požadovaný kanál. Dá sa to urobiť aj počas spustenia návrhu, takže činnosť sondovania v rámci návrhu je bezproblémová a veľmi efektívna.

Ladenie mikropolovodičov v obvode FPGA (5)

V mnohých prípadoch možno hardvérovú sondu, ako napríklad Live Probe, použiť v spojení s predtým opísaným vstavaným logickým analyzátorom a externými testovacími technikami.

Ako je znázornené na obrázku 6, schopnosť Live Probe vyberať signály „za chodu“ umožňuje rýchlo a jednoducho meniť pozorované signály bez nutnosti prekompilácie návrhu. Externý logický analyzátor alebo osciloskop dokáže ľahko pozorovať sondované signály, ako je znázornené v pravej hornej časti obrázku na vyhradených výstupných pinoch sondy. Alternatívne (alebo možno aj navyše) je možné na pozorovanie pinov sondy použiť interný logický analyzátor (blok ILA Identify, zobrazený na obrázku). Signály sondy môže zachytiť ILA a pozorovať ich v okne priebehu. Umiestnenie sond je možné zmeniť bez nutnosti prekompilácie cieľového návrhu.
Všimnite si, že dodatočné schopnosti pre spúšťanie a sledovanie možno použiť na zlepšenie funkčnosti sondy, čo uľahčuje zistenie aj zložitých problémov s návrhom.

Ladenie mikropolovodičov v obvode FPGA (6)

Na zariadeniach SmartFusion2 SoC FPGA a IGLOO2 FPGA sú k dispozícii aj ďalšie možnosti ladenia hardvéru. Jedna z týchto funkcií, nazývaná Active Probe, dokáže dynamicky a asynchrónne čítať alebo zapisovať do ľubovoľného bitu registra logického prvku. Zapísaná hodnota pretrváva počas jedného hodinového cyklu, takže môže pokračovať normálna prevádzka, čo z nej robí veľmi cenný nástroj na ladenie. Active Probe je obzvlášť zaujímavý, ak je potrebné rýchle pozorovanie interného signálu (možno jednoducho na kontrolu, či je aktívny alebo v požadovanom stave, ako napríklad resetovací signál), alebo ak je potrebné rýchlo otestovať logickú funkciu zápisom do bodu sondy.
(možno iniciovať prechod stavového automatu rýchlym nastavením vstupnej hodnoty na izoláciu problému s tokom riadenia).

Ďalšou možnosťou ladenia, ktorú poskytuje Microsemi, je Memory Debug. Táto funkcia umožňuje konštruktérovi dynamicky a asynchrónne čítať alebo zapisovať do vybraného bloku FPGA tkaniva SRAM. Ako je znázornené na snímke obrazovky nástroja Debug Tool (obrázok 7), keď je vybratá karta Memory Blocks (Pamäťové bloky), používateľ môže vybrať požadovanú pamäť na čítanie, vykonať snímku pamäte, upraviť hodnoty pamäte a potom zapísať hodnoty späť do zariadenia. To môže byť užitočné najmä pri kontrole alebo nastavovaní dátových vyrovnávacích pamätí používaných v komunikačných portoch pre výpočtovo orientovaný zápisník alebo dokonca pre kód vykonávaný vstavaným CPU. Ladenie komplexných chýb závislých od údajov je výrazne rýchlejšie a jednoduchšie, keď je možné pamäte pozorovať a kontrolovať tak rýchlo.

Ladenie mikropolovodičov v obvode FPGA (7)

Po odladení návrhu môže byť žiaduce vypnúť funkcie ladenia hardvéru na ochranu citlivých informácií. Útočník by mohol použiť rovnaké prostriedky na čítanie kritických informácií alebo zmenu systémových nastavení, ktoré by umožnili jednoduchý prístup k citlivým častiam systému. Microsemi pridal funkcie, ktoré umožňujú dizajnérovi zabezpečiť zariadenie po dokončení ladenia. NapríkladampPrístup k Live Probe a Active Probe možno uzamknúť, aby sa úplne deaktivovala funkcia ako možný prostriedok útoku (dokonca eliminuje možnosť aktivity sondy, ktorá vytvára akékoľvek vzory v napájacom prúde, ktoré by sa mohli použiť na pokusy a nepriame pozorovanie údajov sondy). Alternatívne môže byť prístup k vybraným častiam dizajnu zablokovaný, aby sa zabránilo prístupu len k týmto častiam. To môže byť výhodné, ak musí byť zabezpečená iba časť dizajnu, čím je zvyšok dizajnu stále dostupný pre testovanie v teréne alebo analýzu chýb.

Porovnávacia tabuľka ladenia v okruhu
Teraz, keď podrobný review z troch hlavných techník ladenia hardvéru v obvode bola popísaná súhrnná tabuľka, ako je znázornená na obrázku 8, ktorá podrobne opisuje rôzne výhodytages a disadvantages každej metódy. Pamätajte, že niektoré techniky možno použiť v spojení (Live Probe a Internal Logic Analyzer (ILA), ako Synopsys Identify, napr.ampnapr.), môžeme vidieť kľúčové silné a slabé stránky každej techniky. Súbor možností ladenia hardvéru v obvode (Live Probe, Active Probe a Memory Debug – spoločne nazývané SmartDebug) je v porovnaní s ostatnými technikami najslabší, pokiaľ ide o celkový počet dostupných sond (červený kruh) a je slabší ako najlepší (žltý kruh), ak sa vezme do úvahy rýchlosť snímania (externé testovacie zariadenie môže byť rýchlejšie).
Techniky založené na ILA, ako je Synopsys Identify, sú najslabšie v porovnaní s inými technikami a pri zohľadnení požiadaviek na zdroje FPGA. Techniky založené na externom testovacom zariadení sú z mnohých hľadísk najslabšie, pričom najnáročnejšie sú náklady, vplyv na načasovanie návrhu a réžia pohybu sondy (kvôli potrebe prekompilovať návrh). Snáď optimálnym riešením je kombinácia SmartDebug a niektorej z ďalších techník, aby bolo možné zmierniť slabosť počtu kanálov SmartDebug a znevýhodniť pohyb sondy.tagznížené aj ostatné techniky.

Ladenie mikropolovodičov v obvode FPGA (8)

Klasifikácia signálov
Medzi niektorými z najbežnejších typov signálov je možné užitočne rozlíšiť, čo môže pomôcť pri plánovaní prístupu ladenia. NapríkladampSignály, ktoré sa nemenia inak ako počas spustenia systému, ako napríklad reset systému, reset blokov alebo inicializačné registre, možno klasifikovať ako statické signály. K týmto typom signálov sa najefektívnejšie pristupuje prostredníctvom zariadenia, ktoré dokáže signál ľahko pozorovať a riadiť bez nutnosti dlhého cyklu rekompilácie. Active Probe je vynikajúci nástroj na ladenie statických signálov. Podobne signály, ktoré sa menia častejšie, ale prevažnú väčšinu času sú stále statické, možno klasifikovať ako pseudostatické a tiež sa najefektívnejšie ladia pomocou Active Probe. Signály, ktoré sa často menia, ako napríklad hodinové signály, možno klasifikovať ako dynamické a nie sú tak ľahko dostupné prostredníctvom Active Probe. Live Probe je lepšou voľbou na pozorovanie týchto signálov.

Jednoduchý prípad použitia ladenia

Teraz, keď sme lepšie pochopili rôzne možnosti ladenia v obvode, pozrime sa na jednoduchý návrh napr.amppozrime sa, ako tieto techniky fungujú. Obrázok 9 zobrazuje jednoduchý dizajn FPGA v zariadení SmartFusion2 SoC FPGA. Mikrokontrolérový subsystém (MSS) je resetovaný blokom CoreSF2Reset Soft IP. Vstupy do tohto bloku sú Reset pri zapnutí, Resetovanie používateľskej tkaniny a Externý Reset. Výstupy sú reset na User Fabric, MSS reset a M3 reset. Symptómy chyby sú, že na I/O nie je žiadna aktivita, aj keď zariadenie úspešne opustí stav POR. Tri rôzne možnosti ladenia tejto chyby sú znázornené aj na obrázku: Modrý rámček (označený ETE) je pre metódu externého testovacieho zariadenia; zelený rámček (označený ILA) je pre metódu Internal Logic Analyzer; a oranžové pole (označené AP) je pre metódu Active Probe. Budeme predpokladať, že potenciálne hlavné príčiny chyby sú nesprávne uplatnené resetovacie vstupy do bloku CoreSF2Reset Soft IP.

Ladenie mikropolovodičov v obvode FPGA (9)

Pozrime sa teraz na proces ladenia troch z predtým opísaných metód v obvode.

Externé testovacie zariadenie
Pri použití tejto metódy sa predpokladá, že testovacie zariadenie je dostupné a nepoužíva ho projekt s vyššou prioritou. Okrem toho je dôležité vopred naplánovať, aby boli k dispozícii niektoré I/O FPGA a mohli byť jednoducho pripojené k testovaciemu zariadeniu. Mať hlavičku na PCB naprampnapr. by bolo veľmi užitočné a minimalizovalo by čas strávený identifikáciou a pripojením k „pravdepodobnému podozrivému“ alebo potenciálnemu skratu pinov počas sondovania. Návrh bude potrebné prekompilovať, aby sa vybrali signály, ktoré chceme preskúmať. Dúfajme, že nebudeme „lúpať cibuľu“ a budeme musieť vybrať ďalšie signály na ďalšie skúmanie, pretože naše počiatočné skúmanie často vedie len k ďalším otázkam. V každom prípade môže proces rekompilácie a preprogramovania trvať značné množstvo času a ak vedie k porušeniam časovania, je potrebný redizajn (všetci vieme, aké frustrujúce môže byť riešiť problémy s časovaním, najmä keď robíte zmeny v návrhu s cieľom nájsť chybu v návrhu – celý proces môže trvať od minút do hodín)! Je tiež dôležité pamätať na to, že ak návrh nemá žiadne voľné používateľské I/O, túto metódu nemožno implementovať. Navyše, táto metóda štrukturálne narúša návrh – a chyby súvisiace s časovaním môžu medzi iteráciami zmiznúť alebo sa znova objaviť.

Interný logický analyzátor
Pomocou tejto metódy sa musí ILA vložiť do návrhu pomocou prostriedkov štruktúry a potom musí byť prekompilovaný. Všimnite si, že ak už bola inštancia ILA vytvorená, signály, ktoré chceme preskúmať, nemusia byť inštrumentované, čo by tiež vyžadovalo prekompilovanie. Tento proces riskuje, že sa zmení pôvodný dizajn a porušia sa časové obmedzenia. Ak je dodržané načasovanie, dizajn je potrebné preprogramovať a znova inicializovať. Celý tento proces môže trvať niekoľko minút alebo dokonca hodín, ak sú časy prekompilovania dlhé a sú potrebné viaceré prechody. Tento prístup je štrukturálne rušivý a môže viesť k podobným problémom ako pri použití vyššie uvedenej metódy.

Aktívna sonda
Pomocou tejto metódy môže byť aktívna sonda nasmerovaná na zdroj rôznych resetovacích signálov, z ktorých všetky pochádzajú z výstupov registra (ako je bežné v každej dobrej praxi digitálneho dizajnu). Signály sa vyberajú jeden po druhom z ponuky aktívnej sondy znázornenej na obrázku 10 nižšie. Vybrané hodnoty signálu je možné prečítať a zobraziť v okne s údajmi aktívnej sondy. Akékoľvek nesprávne tvrdenia sa dajú ľahko identifikovať. Tento test je možné vykonať okamžite bez potreby rekompilácie a preprogramovania zariadenia a nie je štrukturálne ani procedurálne rušivý. Celý proces trvá len niekoľko sekúnd. Táto metóda môže tiež vytvoriť ovládateľnosť (asynchrónna zmena hodnôt), ktorú ostatné dve metódy neumožňujú. V tomto konkrétnom example, signál resetovania, ktorý pochádza z registra, sa dá ľahko zistiť a zistiť, že je udržiavaný v aktívnom stave.

Okamžité prepnutie resetovacieho signálu možno dosiahnuť asynchrónnou manipuláciou s registrom generujúcim pokojové signály.

Ladenie mikropolovodičov v obvode FPGA (10)

Zložitejší prípad použitia ladenia
Vyššie uvedený návrh bol veľmi jednoduchý a je užitočný ako úvod do používania opísaných dizajnérskych techník, ale je to zložitejší príkladample môže byť ešte názornejšie. Mnohokrát signál záujmu nie je statický signál, ako to bolo v našom jednoduchom example ale je dynamická. Bežným dynamickým signálom sú prechodné hodiny, ktoré sa možno používajú na načasovanie handshake pre sériové rozhranie. Obrázok 11 ukazuje takýto dizajn s užívateľským jadrom Soft IP, v tomto prípade zákazkovým sériovým rozhraním pripojeným k systémovej zbernici APB. Symptómy chýb spočívajú v tom, že neexistuje žiadna aktivita na používateľskom vlastnom sériovom rozhraní a že keď master zbernice APB vydá transakciu na prístup k sériovému rozhraniu, prejde do výnimočného stavu indikujúceho nesprávne nadviazanie spojenia. Zdá sa, že tieto podmienky vylučujú statickú príčinu, ako je nesprávny resetovací signál, pretože sa zdá, že automat na stav transakcie nepracuje s očakávanou rýchlosťou, a preto spôsobuje výnimku. Predpokladá sa, že hlavnou príčinou je generátor taktovacej frekvencie v používateľskom IP jadre.

Ak nepracuje so správnou frekvenciou, výsledkom by boli opísané chyby.

Ladenie mikropolovodičov v obvode FPGA (11)

V tejto situácii je pravdepodobne lepšou stratégiou nahradiť prístup aktívnej sondy živou sondou. To je znázornené na obrázku vyššie oranžovým LP boxom s použitím JTAG signál pre výber zdroja sondy.

Externé testovacie zariadenie
Pre tento prípad je metodika veľmi podobná predtým opísanému jednoduchému example. Hodinový signál používateľa sa privedie do testovacieho bodu (dúfajme, že v hlavičke) a je potrebná časovo náročná rekompilácia. Môže byť tiež užitočné uviesť referenčný signál, napríklad systémové hodiny, ktoré sa používajú na natáčanie IP používateľov ako porovnávací signál. Opäť budeme vystavení potrebe prekompilovať a preprogramovať, takže celý proces môže trvať značné množstvo času.

Interný logický analyzátor
Tento prípad je veľmi podobný jednoduchému example. Musí byť vložený ILA alebo definovaný požadovaný signál a musí sa vykonať cyklus prekompilovania a preprogramovania. Všetky vyššie opísané problémy stále vedú k značnému času cyklu ladenia. Je tu však ďalšia zložitosť. Hodiny, ktoré poháňajú ILA, musia byť synchrónne av ideálnom prípade oveľa rýchlejšie vzhľadom na hodiny, ktoré sa majú sledovať z používateľského jadra Soft IP. Ak sú tieto hodiny asynchrónne alebo nemajú správne časové vzťahy, zber údajov bude nepredvídateľný a môže byť zdrojom zmätku pre proces ladenia.
Všimnite si, že ak používateľské hodiny Soft IP nie sú vygenerované na čipe (možno sú obnovené zo sériového rozhrania), dizajnér môže potrebovať pridať modul hodín na generovanie rýchlejších hodín ILA pomocou dodatočných zdrojov a možno aj narušenie časovania.

Živá sonda
Pomocou tejto metódy môže byť Live Probe rýchlo nasmerovaná na zdroj používateľských hodín a akýkoľvek iný zdroj hodín z registra, aby sa zistila hlavná príčina chyby. Živá sonda zobrazí vybrané výstupy signálu v reálnom čase a akýkoľvek časový vzťah medzi signálmi je tak oveľa jednoduchšie určiť. Celý proces trvá len niekoľko sekúnd.

Ďalšie funkcie ladenia pre sériové rozhrania
Je tiež dôležité zdôrazniť, že v zariadeniach SmartFusion2 SoC FPGA a IGLOO2 FPGA existuje mnoho ďalších možností ladenia, ktoré možno použiť na sériových rozhraniach, ako je to v predchádzajúcom príklade.ample design, kde sú chyby ešte komplikovanejšie. SERDES Debug, naprample, poskytuje špecifické možnosti ladenia pre vyhradené vysokorýchlostné sériové rozhrania. Niektoré funkcie ladenia SERDES zahŕňajú podporu testov PMA (ako je generovanie vzorov PRBS a testovanie spätnej slučky) podporu viacerých konfigurácií testov SERDES s rekonfiguráciou na úrovni registrov, aby sa predišlo použitiu úplného toku návrhu na vykonanie zmien v konfigurácii, a textové správy zobrazujúce nakonfigurované protokoly, konfiguračné registre SERDES a registre konfigurácie Lane. Tieto funkcie značne uľahčujú ladenie SERDES a možno ich použiť v spojení s Live Probe a Active Probe na ďalšie zrýchlenie ladenia zložitých obvodov.
Vyššie opísaný nástroj Memory Debug je možné použiť aj v spojení s nástrojom SERDES Debug na urýchlenie testovania. Keďže pamäťové vyrovnávacie pamäte je možné pomocou nástroja Memory Debug rýchlo a jednoducho skontrolovať a zmeniť, je možné rýchlo vytvoriť „testovacie pakety“ a pozorovať výsledky spätnej slučky alebo komunikácie medzi systémami. Návrhár môže tieto možnosti využiť a minimalizovať tak potrebu špecializovaných „testovacích káblov“, ktoré spotrebúvajú dodatočnú FPGA štruktúru a môžu ovplyvniť časovanie čipu.

Záver
Tento článok podrobne popisuje niekoľko rôznych prístupov k implementácii ladenia v obvode pre FPGA a SoC FPGA – použitie integrovaného logického analyzátora, použitie externého testovacieho zariadenia a použitie špecializovaných sondovacích obvodov integrovaných do FPGA štruktúry. Pridanie špecializovaných a špecializovaných sondovacích obvodov, ako napríklad Active Probe a Live Probe, ktoré ponúka spoločnosť Microsemi na zariadeniach SmartFusion2 SoC FPGA a IGLOO2 FPGA, preukázateľne výrazne urýchľuje a zjednodušuje proces ladenia. Schopnosť rýchlo upraviť výber interných signálov (bez nutnosti vykonávať veľmi časovo náročný cyklus rekompilácie a preprogramovania) a schopnosť sondovať interné signály (bez nutnosti použitia FPGA štruktúry a potenciálneho zavedenia porušení časovania) sa ukázali ako hlavné výhody.tages pri ladení návrhov FPGA. Okrem toho bolo opísané použitie viacerých metodológií, ktoré môžu spolupracovať, aby poskytli ešte komplexnejšiu schopnosť ladenia. Nakoniec dvaja exampPríklady použitia ladenia boli uvedené na ilustráciu kompromisov medzi opísanými metódami.

Ak sa chcete dozvedieť viac

  1. FPGA IGLOO2
  2. FPGA SmartFusion2 SoC

Microsemi Corporation (Nasdaq: MSCC) ponúka komplexné portfólio polovodičových a systémových riešení pre komunikačné, obranné a bezpečnostné, letecké a priemyselné trhy. Produkty zahŕňajú vysokovýkonné a radiačne tvrdené analógové integrované obvody so zmiešaným signálom, FPGA, SoC a ASIC; produkty na správu napájania; časovacie a synchronizačné zariadenia a presné časové riešenia, ktoré stanovujú svetový štandard pre čas; Zariadenia na spracovanie hlasu; RF riešenia; diskrétne komponenty; bezpečnostné technológie a škálovateľné anti-tampprodukty; integrované obvody a stredové rozpätia s napájaním cez Ethernet; ako aj možnosti a služby v oblasti zákazkového dizajnu. Spoločnosť Microsemi má sídlo v Aliso Viejo v Kalifornii a zamestnáva približne 3,400 XNUMX zamestnancov na celom svete. Viac informácií nájdete na www.microsemi.com.

© 2014 Microsemi Corporation. Všetky práva vyhradené. Microsemi a logo Microsemi sú ochranné známky spoločnosti Microsemi Corporation. Všetky ostatné ochranné známky a servisné známky sú majetkom ich príslušných vlastníkov.

Sídlo spoločnosti Microsemi

FAQ

  • Otázka: Aká je maximálna frekvencia zberu údajov zariadenia?
    A: Zariadenie podporuje zber dát až do 100 MHz, čo je vhodné pre väčšinu cieľových návrhov.
  • Otázka: Musím prekompilovať dizajn, keď používam obvody sondy na ladenie?
    A: Nie, umiestnenie bodov sondy je možné rýchlo zmeniť bez nutnosti rekompilácie alebo preprogramovania návrhu.

Dokumenty / zdroje

Microsemi In-Circuit FPGA Debug [pdfPokyny
In-Circuit FPGA Debug, FPGA Debug, Debug

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *