Microsemi En-cirkvita FPGA Sencimigado
Produktaj Informoj
Specifoj
- Aparata Tipo: Microsemi SmartFusion2 SoC FPGA
- Eldondato: majo 2014
- Sencimigaj Kapabloj: En-Cirkvita FPGA Sencimigo, Enkonstruita Logika Analizilo
- Maksimuma Datumkapta Frekvenco: Ĝis 100MHz
Abstraktaĵo
FPGA-oj estas potencaj dezajnelementoj en enigitaj sistemoj kun multaj dezajnavantaĝoj.tages, sed ĉi tiuj aparatoj povas havi kompleksajn dezajnojn kun kompleksaj dezajnaj problemoj, kiujn oni bezonas sencimigi. Trovi dezajnajn problemojn kiel difinajn erarojn, problemojn pri sistema interagado kaj sistemajn tempigajn erarojn povas esti defio. La inkludo de en-cirkvitaj sencimigaj kapabloj en FPGA povas draste plibonigi aparataran sencimigadon kaj eviti sennombrajn horojn da frustriĝo. Ĉi tiu artikolo priskribas plurajn malsamajn alirojn al en-cirkvita sencimigado por FPGA-oj, identigas ŝlosilajn kompromisojn kaj per ekzemplo...ampLa dezajno, celita por Microsemi SmartFusion®2 SoC FPGA-aparato, montros kiel novaj kapabloj povas esti uzataj por rapidigi sencimigadon kaj testadon.
Enkonduko
FPGA-oj estas penetraj kaj potencaj dezajnaj elementoj kaj nun troviĝas en preskaŭ ĉiu enigita sistemo. Kun kreskanta kapacito, inkludo de kompleksaj sur-ĉipaj funkciaj blokoj kaj progresintaj seriaj interfacoj, ĉi tiuj aparatoj ankaŭ povas havi kompleksajn dezajnajn problemojn, kiujn oni devas sencimigi. Spurado de problemoj kiel funkciaj difinaj eraroj (ĉe la FPGA aŭ sistemnivelo), funkciaj sisteminteragaj problemoj, sistemtempaj problemoj kaj signalfidelaj problemoj inter IC-oj (kiel bruo, krucparolado aŭ reflektoj) ĉiuj fariĝas multe pli kompleksaj kiam oni uzas progresintajn FPGA-ojn. Simulado certe estas granda helpo por identigi multajn dezajnajn problemojn, sed multaj realmondaj interagoj ne aperos ĝis la dezajno estos efektivigita en aparataro. Pluraj malsamaj teknikoj por sencimigi kompleksajn dezajnajn problemojn estis evoluigitaj por simpligi la procezon. Zorgema kompreno de ĉiu el ĉi tiuj ŝlosilaj teknikoj, inkluzive de la diversaj avantaĝoj...tages kaj malavantaĝitages, estas utila kiam oni konsideras, kiu tekniko aŭ kombinaĵo de teknikoj taŭgas por specifa dezajno.
EksampLa FPGA-dezajno, celita por Microsemi SmartFusion2 SoC FPGA-aparato, povas esti uzata por demonstri iujn el la avantaĝojtages kaj malavantaĝitages de ĉi tiuj normaj teknikoj same kiel la plej novaj en-cirkvitaj sencimigaj kapabloj. Ĉi tiu ilustra ekzemploampni montros kiel ĉi tiuj diversaj teknikoj povas esti uzataj por rapidigi la identigon kaj forigon de aparataraj problemoj dum aparatara sencimigado.
Kial FPGA-Sencimigado estas Kritika Aspekto de Sistemdezajno kaj Disvolviĝo?
FPGA-oj havas du ĉefajn uzmodelojn, kiuj distingas ilin de aliaj dezajnaj elementoj. FPGA-oj povas esti uzataj en la produktada produkto aŭ povas esti uzataj kiel evoluiga ilo por pruvi aŭ prototipi produktadan dezajnan koncepton. Kiam uzataj kiel produktada ilo, FPGA-oj povas esti multe pli fleksebla celo ol ASIC-oj aŭ CPU-bazitaj produktadaj iloj. Ĉi tio estas precipe grava por nova dezajno, kiu ankoraŭ ne estis efektivigita en aparataro. Dezajnoj kun malsamaj arkitekturaj opcioj povas esti facile kreitaj kaj testitaj, por ke la optimuma dezajno estu identigita. FPGA-oj kun surĉipaj procesoroj (SoC FPGA-oj) ankaŭ ebligas kompromisi CPU-bazitan prilaboradon kun aparataro-helpataj FPGA-bazitaj akcelfunkcioj. Ĉi tiuj avantaĝoj...tages povas draste redukti la tempon bezonatan por projektado, validigo, testado kaj fiaskanalizo por novaj produktevoluigoj.
Kiam uzata por prototipado de dezajno, eble por produktada ASIC, la fleksebleco de FPGA estas ŝlosila avantaĝo. Fakta aparatara platformo, eĉ unu kiu ne funkcias je plena rapideco, multe pli faciligas akiri detalajn sistemajn rendimentajn metrikojn, trairanalizajn datumojn kaj arkitekturajn pruvo-de-konceptorezultojn. FPGA-subteno por harditaj efektivigoj de industriaj normaj busoj (kiel PCIe®, Gigabit Ethernet, XAUI, USB, CAN, kaj aliaj) simpligas la testadon asociitan kun ĉi tiuj interfacoj. La plej novaj familioj de FPGA-oj kun sur-ĉipaj ARM-procesoroj (SoC FPGA-oj) faciligas prototipi efektivigojn kun enigitaj procesoroj. Antaŭe evoluigita procesora kodo povas esti portita al la prototipo kaj nova kodo kreita paralele kun la aparatara dezajna penado.
Ĉi tiu kombinaĵo de norma procesoro kun normaj interfacaj busoj ebligas utiligi la grandan ekosistemon de disponeblaj kodbibliotekoj, peliloj, funkciaj API-oj, realtempaj operaciumoj, kaj eĉ plenaj operaciumoj por multe pli rapide krei funkcian prototipon. Plie, post kiam la dezajno estas solidigita, la FPGA-prototipo povas esti uzata por kapti ampleksajn simuladajn testarojn (por kaj stimulo kaj respondo) kiuj reflektas faktajn sistemajn datumojn. Ĉi tiuj datumaroj povas esti valoregaj por krei la finajn simuladojn por ASIC aŭ alia produktada efektivigo. La avantaĝo...tagLa uzado de FPGA kiel prototipo povas draste redukti la tempon por projektado, validigo, testado kaj fiaskanalizo por la fina produkta efektivigo.
En ambaŭ ĉi tiuj komunaj FPGA-uzaj modeloj, la fleksebleco de la FPGA kiel dezajna celo estas ŝlosila avantaĝo.tage. Tio signifas, ke multaj dezajnaj ŝanĝoj kaj ripetoj estus la normo, kaj tial la kapablo rapide sencimigi dezajnajn erarojn estus kritika por ebligi kiel eble plej multajn dezajnajn opciojn. Sen efika sencimiga kapablo multe de la avantaĝotagLa fleksebleco de FPGA-dezajno malpliiĝos pro la aldona sencimiga tempo bezonata. Feliĉe, FPGA-oj ankaŭ povas provizi aldonajn aparatarajn funkciojn, kiuj draste simpligas realtempan sencimigon. Antaŭ ol rigardi ĉi tiujn kapablojn, ni unue rigardu la plej oftajn specojn de problemoj, kiujn FPGA-dezajno eble alfrontos, por ke ni havu la taŭgan fonon por taksi la efikecon kaj la rilatajn kompromisojn de diversaj sencimigaj iloj.
Oftaj Problemoj Dum Sencimigado de FPGA-Dezajnoj
Kune kun la plivastigitaj kapabloj, kiujn modernaj FPGA-oj alportas, la asociita pliigita komplekseco malfaciligas krei senerarajn dezajnojn. Fakte, oni taksis, ke sencimigado povas preni pli ol 50% de la dezajnciklo de enigita sistemo. Kun premoj de merkatiga tempo daŭre premantaj la disvolviĝan ciklon, aparatara sencimigado de la komenca sistemo estas relegita al postpenso - tro ofte supozante, ke konfirmo (mem granda procento)...tage de la disvolva horaro), kaptos ĉiujn cimojn antaŭ la komenca sistemfunkciigo. Ni rigardu nur kelkajn oftajn specojn de sistemaj problemoj por pli bone kompreni la defiojn, kiujn tipa dezajno alfrontos dum la komenca sistemfunkciigo.
Funkciaj difinaj eraroj povas esti duoble malfacile troveblaj, ĉar la dizajnisto miskomprenis specifan postulon, do la eraro povas esti preteratentita eĉ kiam oni atente rigardas la detalojn de la dezajno. EkzemploampEkzemple, ofta eraro en funkcia difino estus kiam transiro de statmaŝino ne finiĝas en la ĝusta stato. Eraroj ankaŭ povas aperi en sistemaj interfacoj kiel interaga problemo. Interfaca latenteco, ekzempleample, eble estas malĝuste specifita, rezultante en neatendita bufrosuperfluo aŭ subsuperfluo.
Problemoj pri sistemnivela tempo estas alia tre ofta fonto de dezajnaj eraroj. Aparte nesinkronaj eventoj estas ofta fonto de eraroj kiam sinkronigaj aŭ kruciĝantaj tempodomajnaj efikoj ne estas zorge konsiderataj. Kiam oni funkcias rapide, ĉi tiuj specoj de eraroj povas esti tre problemaj kaj povas aperi tre malofte, eble nur kiam specifaj datenpadronoj manifestas sin. Multaj komunaj tempomalobservoj falas en ĉi tiun kategorion kaj kutime estas tre malfacile, se ne neeble simuli.
Tempigaj malobservoj ankaŭ povas esti la rezulto de malalta signalfideleco inter integraj cirkvitoj, precipe en sistemoj kun pluraj potencaj reloj por ĉiu cirkvito. Malalta signalfideleco povas rezultigi signalbruon, krucbabilon, reflektojn, troan ŝarĝon kaj problemojn pri elektromagneta interfero (EMI), kiuj ofte aperas kiel tempigaj malobservoj. Problemoj pri elektroprovizo, kiel pasemaj fenomenoj (precipe dum sistemstartigo aŭ malŝalto), ŝarĝvarioj kaj altaj potencdisipaj streĉoj, ankaŭ povas rezultigi misterajn erarojn, ofte ne facile spureblajn al elektrofonto. Eĉ kiam la dezajno estas tute ĝusta, problemoj pri fabrikado de plato povas rezultigi erarojn. Difektaj lutaĵoj kaj neĝuste fiksitaj konektiloj, ekzemple...ample, povas esti la fonto de eraroj kaj eĉ povas dependi de temperaturo aŭ loko de la plato. La uzo de progresintaj FPGA-pakaĵteknikoj povas malfaciligi la sondadon de signaloj sur la presita cirkvitplato, do nur akiri aliron al dezirata signalo ofte povas esti problema. Ofte multaj dezajnaj problemoj ne kreas tujan eraron kaj devas ondiĝi tra la dezajno ĝis la eraro efektive manifestiĝas. Spuri la komencan eraron reen al la radika kaŭzo ofte povas esti frustranta, malfacila kaj tempopostula tasko.
Por ekzampEkzemple, unu sola bito malĝusta en traduktabelo eble ne rezultigos eraron ĝis multaj cikloj poste. Kelkaj el la iloj, kiujn ni diskutos poste en ĉi tiu artikolo, kiuj uzas dediĉitan encirkvitan sencimigan aparataron, estas specife celitaj por plirapidigi kaj faciligi ĉi tiujn "cimoĉasadojn". Antaŭ ol eniri la detalojn de ĉi tiuj iloj, ni unue rigardu popularan programar-bazitan sencimigan teĥnikon simuladon por pli bone kompreni la avantaĝojn.tages kaj malavantaĝitages de uzado de simulado por sencimigado.
Uzo de Simulado por Sencimigado
Tipe en dezajna simulado, ĉiuj realvivaj komponantoj ene kaj ekster la dezajno estas modelitaj matematike kiel programaraj procezoj, kiuj estas plenumataj sinsekve sur norma CPU. Apliki vastan gamon da stimuloj al la dezajno kaj kontroli la atendatan rezulton kontraŭ la rezulto de la simulita dezajno estas facila maniero kapti plej evidentajn dezajnajn erarojn. Fenestro montranta tipan simuladan funkciadon estas donita en Figuro 1 sube. La klaraj avantaĝoj...tagLa diferenco inter simulado kaj aparatar-bazita sencimigo estas, ke simulado povas esti farita en la programaro — neniu fakta aparatar-bazita dezajno kaj testbenko estas necesaj. Simulado povas rapide kapti multajn dezajnerarojn, precipe tiujn asociitajn kun malĝustaj specifoj, miskompreno de interfacaj postuloj, funkciaj eraroj, kaj multaj aliaj "krudaj" specoj de eraroj, kiuj estas facile detekteblaj per simplaj stimulaj vektoroj.
Simulado estas aparte efika kiam ampleksaj stimulaj kombinaĵoj estas haveblaj al la dizajnisto kaj la rezultantaj eligoj estas bone konataj. En ĉi tiuj kazoj, simulado povas fari preskaŭ ĝisfundan teston de dezajno. Bedaŭrinde, plej multaj dezajnoj ne havas facilan aliron al ampleksaj testserioj kaj la procezo de ilia kreado povas esti tre tempopostula. Krei testserion, kiu kovras 100% de la dezajno, estas preskaŭ neeble por grandaj FPGA-bazitaj dezajnoj kaj mallongigoj devas esti uzataj por provi kovri la ŝlosilajn elementojn de la dezajno. Alia malfacilaĵo kun simulado estas, ke ĝi ne estas "realmonda" efektivigo kaj ne povas kapti nesinkronajn eventojn, rapidrapidajn sistemajn interagojn aŭ tempigajn malobservojn. Fine, la simuladprocezo povas esti tre malrapida kaj se multaj iteracioj estas necesaj, simulado rapide fariĝas la plej tempopostula kaj ofte la plej multekosta parto de la evoluiga procezo.
Kiel alternativo (aŭ eble pli bone dirite, kiel aldono al simulado) FPGA-dizajnistoj trovis, ke ili povus aldoni sencimigan aparataron en la FPGA-dezajnon por observi kaj kontroli ŝlosilajn signalojn ene de la aparato. Ĉi tiuj teknikoj origine disvolviĝis kiel ad-hoc aliroj, sed iom post iom evoluis al norma aparatara sencimiga strategio. Ĉi tiu uzo de en-cirkvitaj sencimigaj kapabloj ofertas signifajn avantaĝojn.tages por FPGA-bazitaj dezajnoj kaj la sekva sekcio esploros la tri plej oftajn strategiojn kaj iliajn diversajn avantaĝojntages kaj malavantaĝitages.
Oftaj En-cirkvitaj Sencimigaj Aliroj por FPGA-oj
La plej oftaj teknikoj por efektivigi en-cirkvitajn sencimigajn kapablojn en FPGA-oj uzas aŭ enigitan logikan analizilon, eksteran testekipaĵon, aŭ dediĉitan signalan sondilan aparataron enigitan en la FPGA-ŝtofon. La enigita logika analizilo estas tipe efektivigita uzante FPGA-ŝtofon kaj estas enigita en la dezajnon. La JTAG haveno estas uzata por aliri la analizilon kaj la kaptitaj datumoj povas esti montrataj sur komputilo. Kiam ekstera testekipaĵo estas uzata, la testata FPGA-dezajno estas modifita tiel ke elektitaj internaj FPGA-signaloj estas senditaj al eliraj pingloj. Ĉi tiuj pingloj tiam povas esti observitaj per la ekstera testekipaĵo. Kiam dediĉita signala sondila aparataro estas uzata, vasta selektado de internaj signaloj povas esti legita en reala tempo. Kelkaj sondilaj efektivigoj eĉ povas esti uzataj por skribi al registroj aŭ memorlokoj plue plibonigante sencimigajn kapablojn. Ni rigardu pli detale la avantaĝojntages kaj malavantaĝitagekzemplojn de ĉiu el ĉi tiuj teknikoj kaj poste rigardu ekzemplonample dezajno por vidi kiel ĉi tiuj malsamaj aliroj povas influi la totalan sencimigan tempon.
En-cirkvita FPGA-sencimig-enkonstruita logika analizilo
La koncepto de la enigita logika analizilo estis rekta rezulto de la ad-hoc en-cirkvitaj sencimigaj kapabloj, kiujn dizajnistoj efektivigis kiam FPGA-oj estis unue uzitaj. Enigitaj logikaj analiziloj aldonis novajn kapablojn kaj forigis la bezonon por la dizajnisto disvolvi sian propran analizilon. Plej multaj FPGA-oj ofertas ĉi tiujn kapablojn kaj triaj partioj ofertas normajn analizilojn (Identify®, de Synopsys, estas unu populara ekzemplo).ample) kiu povas facile interagi kun pli altnivelaj iloj por plue plibonigi produktivecon.
La funkcio de logika analizilo estas enigita en la dezajnon, uzante FPGA-ŝtofon kaj enigitajn memorblokojn kiel spurajn bufrojn, kiel ilustrite en Figuro 2. Ekigantaj rimedoj ankaŭ estas kreitaj tiel ke kompleksaj signalaj interagoj povas facile esti elektitaj kaj kaptitaj. Aliro al la analizilo por kontrolo kaj datumtransigo tipe okazas per la norma JTAG pordo por simpligi interfacajn postulojn. Kaptitaj datumoj povas esti montrataj sur komputilo uzante komunan viewprogramaro kaj tipe spegulas logiksimulilan ondforman eliron viewing-stilo.
La avancotagLa avantaĝoj de ĉi tiu aliro estas, ke neniuj aldonaj FPGA-enigo/eligo-pingloj estas uzataj, nur la normaj JTAG signaloj. La enkonstruitaj IP-kernoj de logika analizilo kutime estas relative malmultekostaj kaj en iuj kazoj povas esti opcio al ekzistanta FPGA-sintezo aŭ simulaj iloj. En iuj kazoj, la enkonstruita logika analizilo ankaŭ povas provizi pliajn eligojn sur neuzataj I/O-oj, se tio estas pli oportuna. Unu el la malavantaĝojtagLa malavantaĝo de ĉi tiu aliro estas, ke granda kvanto da FPGA-rimedoj estas bezonata. Aparte, se spuraj bufroj estas uzataj, tio reduktos la nombron de disponeblaj blokmemoroj. Se larĝa bufro estas bezonata, tio ankaŭ estos kompromiso kontraŭ memorprofundo (ĉar la uzo de pli larĝa memoro rezultas en pli malprofunda memorprofundo) - granda malavantaĝo.tage kiam oni uzas pli malgrandajn aparatojn. Eble la plej granda malavantaĝo de ĉi tiu tekniko estas, ke ĉiufoje kiam oni ĝustigas la lokigon de la sondiloj, necesas rekompili kaj reprogrami la dezajnon. Kiam oni uzas grandan aparaton, ĉi tiu procezo povas daŭri signifan kvanton da tempo. Pro la maniero kiel la signalaj sondiloj estas lokigitaj en la dezajno, povas esti malfacile korelacii signalajn temprilatojn. Krome, la prokrastoj inter signalaj sondiloj ne estas koheraj kaj tial temprilatojn malfacilas kompari. Ĉi tio estas aparta malfacilaĵo kiam oni komparas nesinkronajn signalojn aŭ signalojn el malsamaj tempodomajnoj.
Sencimigado de En-Cirkvita FPGA - Ekstera Testa Ekipaĵo
La uzo de en-cirkvita sencimiga kodo kune kun ekstera testekipaĵo estis natura evoluo kiam ekstera logika analizilo jam estis havebla por sistemtestado. Kreante iom da simpla sencimiga kodo por identigi kaj elekti internajn testsignalojn kaj apliki ilin al FPGA-enigoj/eligoj, kiel montrite en Figuro 3, eblis utiligi la progresintajn kapablojn de la analiziloj (kiel grandaj spuraj bufroj, kompleksaj ekigaj sekvencoj kaj pluraj...). viewing-opcioj) por krei simplajn sed potencajn sencimigajn mediojn. Pli kompleksaj en-cirkvitaj kapabloj por progresintaj ekigantaj opcioj povas minimumigi la nombron da bezonataj eligoj. Ekzempleampekzemple, elekti specifajn adresojn sur larĝa buso povus esti malpermese se eksteraj pingloj estus necesaj.
Uzi internan FPGA-logikon draste reduktas I/O-postulojn kaj eĉ povas serĉi specifajn adrespadronojn (eble voko-kaj-revensekvenco) por sencimigi pli kompleksajn problemojn. Se komuna uzantinterfaco estas havebla, tio povas simpligi la lernadokurbon kaj plibonigas produktivecon.
La avancotagLa avantaĝo de ĉi tiu aliro estas, ke ĝi utiligas la koston de la ekstera testekipaĵo kaj tial ne estas aldona ilokosto. Kelkaj sencimigaj cirkvitaj IP-kernoj estas haveblaj de ekipaĵfabrikistoj aŭ FPGA-fabrikistoj, kaj povas esti tre malmultekostaj aŭ eĉ senpagaj. La kvanto de FPGA-rimedoj bezonataj por efektivigi la signalselektan logikon estas tre malgranda, kaj ĉar la spurfunkcio estas farita per la ekstera logika analizilo, neniuj blokmemoroj estas bezonataj. Ĉar la selektlogiko estas malmultekosta, granda nombro da kanaloj kun larĝa ekigado ankaŭ povas esti subtenataj. La logika analizilo povas funkcii kaj en tempiga reĝimo kaj en stata reĝimo, kio helpas izoli iujn tempigajn problemojn.
La malavantaĝotagEsencoj de ĉi tiu aliro povas inkluzivi la bezonon aĉeti logikan analizilon, se unu ne jam estas asignita al la projekto. Ĉi tiu malavantaĝotage povas sufiĉi por malinstigi ĉi tiun aliron en multaj kazoj. Notu tamen, ke iuj malaltkostaj logikanaliziloj fariĝas haveblaj, kiuj uzas la komputilon aŭ tabulkomputilon por ekrano, igante ĉi tiun opcion multe pli kostefika por simplaj sencimigaj bezonoj.
La nombro de konsumitaj FPGA-pingloj povas esti alia malavantaĝo.tagkaj se oni bezonas observi larĝajn busojn, necesas signifa planado por la aranĝo de la plato kaj aldono de sencimigaj konektiloj. Ĉi tiun postulon plej ofte malfacilas antaŭdiri frue en la dezajnfazo kaj estas alia nedezirata komplekseco. Simile al la aliro de enigita logika analizilo, la ekstera teststrategio postulas rekompilon kaj reprogramadon de dezajno, kiam ĉiu nova eksperimento estas bezonata.
La komuna malavantaĝotagLa diferencoj inter ĉi tiuj du teknikoj — la uzo de sur-ĉipaj rimedoj (kiuj ankaŭ povas influi la tempigan rendimenton de la dezajno kaj krei pliajn postulojn pri sencimigo), la bezono rekompili kaj reprogrami la dezajnon (kio povas aldoni horojn aŭ eĉ tagojn al la sencimiga horaro), la antaŭa planado necesa por identigi verŝajnajn testoscenarojn, kaj la uzo de pliaj ĉipaj I/O-rimedoj kreis bezonon de aliro sen ĉi tiuj malavantaĝoj. Unu respondo estis la aldono de dediĉita sencimiga logiko en la FPGA-ŝtofon de iuj aparatoj. En-cirkvita sencimiga procezo uzante aparatarajn sondilojn estis la rezulto.
Sencimigado de En-Cirkvita FPGA - Aparataj Sondoj
La uzo de aparataraj sondiloj draste simpligas en-cirkvitajn sencimigajn teknikojn por FPGA-oj. Ĉi tiu tekniko, efektivigita kiel Live Probe-funkcio sur SmartFusion2®SoC FPGA kaj IGLOO®2 FPGA-aparatoj, aldonas dediĉitajn sondilliniojn al la FPGA-ŝtofo por observi la eliron de iu ajn logika elementa registrobito. Kiel montrite en la blokdiagramo en Figuro 4, aparataraj sondiloj estas haveblaj en du sondilkanaloj A kaj B.
Elektitaj registraj eligoj (sondilopunktoj), kiel tiu fontata ĉe la fundo de la figuro, estas senditaj super la du sondilkanaloj kaj se elektitaj, povas esti aplikitaj al aŭ la A aŭ B kanalo. Ĉi tiuj realtempaj kanalsignaloj povas esti senditaj al dediĉitaj Sondilo A kaj Sondilo B stiftoj sur la aparato. La Sondilo A kaj Sondilo B signaloj ankaŭ povas esti interne senditaj al enigita logika analizilo.
Notu, ke la tempaj karakterizaĵoj de la sondaj stiftoj estas regulaj kaj havas nekonsiderindan devion de unu sonda punkto al alia, kio multe faciligas la komparon de tempaj karakterizaĵoj de la realtempaj signaloj. Datumoj povas esti kaptitaj ĝis 100MHz, kio taŭgas por la plimulto de celdezajnoj.
Eble plej grave, la lokoj de la sondpunktoj, ĉar ili ne estas elektitaj kiel parto de la efektivigita dezajno (ili estas elektitaj per dediĉita aparataro dum la dezajno funkcias sur la FPGA), povas esti rapide ŝanĝitaj simple sendante la elektodatumojn al la aparato. Neniu rekompilo aŭ reprogramado de la dezajno estas necesaj.
Por simpligi la uzon de la kapablo Live Probe eĉ pli, la asociita sencimiga programaro havas aliron al ĉiuj sondaj signallokoj per aŭtomate generita sencimiga kodo. fileKiel montrite en Figuro 5, la signalnomo povas esti elektita el la signallisto kaj aplikita al la dezirata kanalo. Ĉi tio povas esti farita eĉ dum la dezajno funkcias, tiel ke la sondado ene de la dezajno estas senjunta kaj tre efika.
En multaj kazoj, la aparatara sondilkapablo, kiel Live Probe, povas esti uzata kune kun la antaŭe priskribita enigita logika analizilo kaj la eksteraj testteknikoj.
Kiel montrite en Figuro 6, la kapablo de Live Probe elekti signalojn "dum la flugo" ebligas rapide kaj facile ŝanĝi la observatajn signalojn sen devi rekompili la dezajnon. Ekstera logika analizilo aŭ osciloskopo povas facile observi la observatajn signalojn, kiel ilustrite en la supra dekstra parto de la figuro sur la dediĉitaj eliraj pingloj de la sondilo. Alternative (aŭ eble eĉ aldone al) la interna logika analizilo (la ILA Identify-bloko, montrita en la figuro) povas esti uzata por observi la sondilajn pinglojn. La sondilaj signaloj povas esti kaptitaj de la ILA kaj observitaj sur la ondforma fenestro. La sondilaj lokoj povas esti ŝanĝitaj sen devi rekompili la celan dezajnon.
Notu, ke la aldonaj kapabloj por ekigado kaj spurado povas esti uzataj por plibonigi la funkciojn de sondiloj, faciligante eĉ detekti kompleksajn dezajnajn problemojn.
Pliaj kapabloj por sencimigado de aparataro ankaŭ haveblas ĉe la aparatoj SmartFusion2 SoC FPGA kaj IGLOO2 FPGA. Unu el ĉi tiuj kapabloj, nomata Aktiva Sondilo, povas dinamike kaj nesinkrone legi aŭ skribi al iu ajn bito de logika elemento. Skribita valoro daŭras dum ununura horloĝciklo, do normala funkciado povas daŭri, igante ĝin tre valora ilo por sencimigado. Aktiva Sondilo estas aparte interesa se oni deziras rapidan observadon de interna signalo (eble simple por kontroli, ke ĝi estas aktiva aŭ en la dezirata stato, kiel rekomenciga signalo), aŭ se necesas rapide testi logikan funkcion per skribado al sondpunkto.
(eble por iniciati transiron de la ŝtata maŝino per rapida agordo de eniga valoro por izoli problemon de la stirfluo).
Alia sencimiga kapablo provizita de Microsemi estas Memory Debug (Sencimiga Memoro). Ĉi tiu funkcio permesas al la dizajnisto dinamike kaj nesinkrone legi aŭ skribi al elektita FPGA-ŝtofa SRAM-bloko. Kiel ilustrite en la ekranfoto de la Sencimiga Ilo (Figuro 7), kiam la langeto Memory Blocks (Memoraj Blokoj) estas elektita, la uzanto povas elekti la deziratan memoron por legi, efektivigi momentfoton de la memoro, modifi memorvalorojn, kaj poste skribi la valorojn reen al la aparato. Ĉi tio povas esti precipe utila por kontroli aŭ agordi datenbufrojn uzatajn en komunikaj havenoj por komputado-orientita notbloko aŭ eĉ por kodo efektivigita de enigita CPU. Sencimigi kompleksajn datendependajn erarojn estas signife pli rapida kaj facila kiam memoroj povas esti observitaj kaj kontrolitaj tiel rapide.
Post kiam dezajno estas sencimigita, povas esti dezirinde malŝalti la aparatarajn sencimigajn kapablojn por protekti sentemajn informojn. Atakanto povus uzi ĉi tiujn samajn instalaĵojn por legi kritikajn informojn aŭ ŝanĝi sistemajn agordojn, kiuj povus permesi facilan aliron al sentemaj partoj de la sistemo. Microsemi aldonis funkciojn por permesi al la dizajnisto sekurigi la aparaton post kiam la sencimigado estas finita. EkzempleampEkzemple, aliro al Live Probe kaj Active Probe povas esti ŝlosita por tute malebligi la funkcion kiel eblan atakrimedon (ĝi eĉ forigas la eblecon, ke sondagado kreas iujn ajn ŝablonojn en la proviza kurento, kiuj povus esti uzataj por provi observi sondajn datumojn nerekte). Alternative, aliro al elektitaj partoj de la dezajno povas esti ŝlosita por malhelpi aliron nur al tiuj sekcioj. Ĉi tio povas esti oportuna se nur parto de la dezajno bezonas esti sekura, igante la reston de la dezajno ankoraŭ alirebla por surloka testado aŭ eraranalizo.
Kompara Diagramo de Sencimigaj Encirkvitoj
Nun kiam detala review el la tri ĉefaj en-cirkvitaj aparataraj sencimigaj teknikoj estis priskribitaj, resuma diagramo, kiel montrite en Figuro 8, estis kreita, kiu detaligas la diversajn avantaĝojntages kaj malavantaĝitages de ĉiu metodo. Memorante, ke iuj teknikoj povas esti uzataj kune (Live Probe kaj Internal Logic Analyzer (ILA), kiel ekzemple Synopsys Identify)ample), ni povas vidi la ĉefajn fortojn kaj malfortojn de ĉiu tekniko. La kolekto de en-cirkvitaj aparataraj sencimigaj kapabloj (Live Probe, Active Probe, kaj Memory Debug — kolektive nomataj SmartDebug), estas plej malfortaj kompare kun la aliaj teknikoj rilate al la nombro de totalaj disponeblaj sondiloj (ruĝa cirklo) kaj estas pli malfortaj ol la plej bonaj (flava cirklo) kiam oni konsideras la kaptorapidecon (ekstera testekipaĵo povas esti pli rapida).
ILA-bazitaj teknikoj, kiel Synopsys Identify, estas plej malfortaj kompare kun la aliaj teknikoj kaj kiam oni konsideras la rimedajn postulojn de FPGA. Eksteraj testekipaĵ-bazitaj teknikoj estas plej malfortaj pro pluraj konsideroj, kun kosto, dezajna tempiga efiko, kaj sondilmovada suprekosto (pro la bezono rekompili la dezajnon) la plej ŝarĝaj. Eble la optimuma solvo estas kombinaĵo de SmartDebug kaj unu el la aliaj teknikoj, por ke la nombro da kanaloj-malforteco de SmartDebug povu esti mildigita kaj la sondpunkta movado malavantaĝo.tages de la aliaj teknikoj ankaŭ reduktitaj.
Signalaj Klasifikoj
Utila distingo povas esti farita inter kelkaj el la plej oftaj specoj de signaloj kaj tio povas helpi dum planado de sencimiga aliro. EkzempleampEkzemple, signaloj kiuj ne ŝanĝiĝas krom dum sistemstarto, kiel sistemrekomencigo, bloka rekomencigo aŭ inicialigaj registroj, povas esti klasifikitaj kiel statikaj signaloj. Ĉi tiuj specoj de signaloj estas plej efike alireblaj per instalaĵo kiu povas facile observi kaj kontroli la signalon, sen bezono de longa rekompila ciklo. Active Probe estas bonega instalaĵo por sencimigi statikajn signalojn. Simile, signaloj kiuj ŝanĝiĝas pli ofte sed ankoraŭ estas statikaj dum la vasta plimulto de la tempo, povas esti klasifikitaj kiel pseŭdostatikaj kaj ankaŭ estas plej efike sencimigitaj per Active Probe. Signaloj kiuj ŝanĝiĝas ofte, kiel horloĝsignaloj, povas esti klasifikitaj kiel dinamikaj kaj ne estas tiel facile alireblaj per Active Probe. Live Probe estas pli bona elekto por observi ĉi tiujn signalojn.
Simpla Sencimiga Uzkazo
Nun kiam ni pli bone komprenas la diversajn en-cirkvitajn sencimigajn eblojn, ni rigardu simplan dezajnan ekzemplon.amppor vidi kiel ĉi tiuj teknikoj funkcias. Figuro 9 montras simplan FPGA-dezajnon en SmartFusion2 SoC FPGA-aparato. La Mikroregila Subsistemo (MSS) estas restarigita per la CoreSF2Reset Soft IP-bloko. La enigoj al ĉi tiu bloko estas la Restarigo ĉe Ŝalto, Restarigo de la Uzanto-Ŝtofo, kaj Ekstera Restarigo. La eligoj estas restarigo al la Uzanto-Ŝtofo, MSS-restarigo, kaj M3-restarigo. La erarsimptomoj estas, ke ne estas aktiveco ĉe la Enigoj/Eligoj, kvankam la aparato sukcese eliras el la POR-stato. La tri malsamaj ebloj por sencimigi ĉi tiun eraron estas ankaŭ ilustritaj en la figuro: La blua skatolo (etikedita ETE) estas por la metodo de Ekstera Testa Ekipaĵo; la verda skatolo (etikedita ILA) estas por la metodo de Interna Logika Analizilo; kaj la oranĝa skatolo (etikedita AP) estas por la metodo de Aktiva Sondilo. Ni supozos, ke la eblaj radikaj kaŭzoj de la eraro estas neĝuste asertitaj restarigaj enigoj al la CoreSF2Reset Soft IP-bloko.
Ni nun rigardu la sencimigprocezon por tri el la antaŭe priskribitaj en-cirkvitaj metodoj.
Ekstera Testa Ekipaĵo
Uzante ĉi tiun metodon, oni supozas, ke la testekipaĵo estas havebla kaj ne estas uzata de pli altprioritata projekto. Plie, gravas esti planinta anticipe, por ke iuj FPGA-enigoj/eligoj estu haveblaj kaj facile konekteblaj al la testekipaĵo. Havi konektilon sur la PCB ekzemple.ample, estus tre helpema kaj minimumigus la tempon elspezitan por identigi kaj konekti al "verŝajna suspektato" aŭ la ebla kurtcirklo de stiftoj dum sondado. La dezajno devos esti rekompilita por elekti la signalojn, kiujn ni volas esplori. Espereble, ni ne "senŝeligos la cepon" kaj devos elekti pliajn signalojn por plia esplorado, ĉar ofte nia komenca esplorado nur rezultas en pli da demandoj. Ĉiukaze, la rekompila kaj reprograma procezo povas daŭri signifan kvanton da tempo, kaj se ĝi rezultas en tempigaj malobservoj, restrukturado estas necesa (ni ĉiuj konas kiom frustrante povas esti provi solvi tempigajn fermproblemojn, precipe kiam vi faras la dezajnajn ŝanĝojn por trovi dezajnan cimon - la tuta procezo povas daŭri de minutoj ĝis horoj)! Gravas ankaŭ memori, ke se la dezajno ne havas liberajn uzantajn enigojn/eligojn, ĉi tiu metodo ne povas esti efektivigita. Krome, ĉi tiu metodo estas strukture trudema al la dezajno - kaj tempigaj cimoj povas malaperi aŭ reaperi inter iteracioj.
Interna Logika Analizilo
Per ĉi tiu metodo, la ILA devas esti enigita en la dezajnon uzante ŝtofajn rimedojn, kaj poste bezonas esti rekompilita. Notu, ke se la ILA jam estis ekzemplarigita, la signaloj, kiujn ni volas esplori, eble ne estis instrumentitaj, kio ankaŭ postulus rekompilon. Ĉi tiu procezo riskas ŝanĝi la originalan dezajnon kaj malobservi tempajn limigojn. Se tempigo estas plenumita, la dezajno bezonas esti reprogramita kaj reinicialigita. Ĉi tiu tuta procezo povas daŭri plurajn minutojn aŭ eĉ horojn se la rekompilaj tempoj estas longaj kaj pluraj paŝoj estas necesaj. Ĉi tiu aliro estas strukture trudema kaj povas rezultigi similajn problemojn al tiuj priskribitaj dum uzado de la supra metodo.
Aktiva Sondo
Uzante ĉi tiun metodon, la Aktiva Sondilo povas esti direktita al la fonto de la diversaj restarigaj signaloj, kiuj ĉiuj estas fontataj de registraj eligoj (kiel estas ofte en iu ajn bona cifereca dezajna praktiko). La signaloj estas elektitaj unu post la alia, el menuo de Aktiva Sondilo montrita en Figuro 10 sube. La elektitaj signalvaloroj povas esti legitaj kaj estas montrataj en la datenfenestro de la Aktiva Sondilo. Ĉiuj misasertoj estas facile identigitaj. Ĉi tiu testo povas esti farita tuj sen la bezono rekompili kaj reprogrami la aparaton kaj ne estas strukture aŭ procedure trudema. La tuta procezo daŭras nur kelkajn sekundojn. Ĉi tiu metodo ankaŭ povas krei kontroleblecon (ŝanĝante valorojn nesinkrone), kiun la aliaj du metodoj ne permesos. En ĉi tiu aparta ekzemplo...ampekzemple, la rekomenciga signalo fontata de registro povas esti facile esplorita kaj malkovrita kiel tenata en aktiva stato.
Momenta ŝaltado de la rekomenciga signalo povas esti atingita per nesinkrone manipulado de la registro generanta la ripozajn signalojn.
Pli Kompleksa Sencimigado Uzkazo
La supra dezajno estis tre simpla kaj utilas kiel enkonduko al la uzado de la priskribitaj dezajnoteknikoj, sed pli kompleksa ekzemploampeble estus eĉ pli ilustra. Multajn fojojn la interesa signalo ne estas statika signalo kiel ĝi estis en nia simpla ekzemploampsed estas dinamika. Ofta dinamika signalo estas meza horloĝo, eble uzata por tempigi manpremon por seria interfaco. Figuro 11 montras tian dezajnon kun la uzanta Mola IP-kerno, en ĉi tiu kazo, kutima seria interfaco konektita al la sistema APB-buso. La simptomoj de eraro estas, ke ne estas aktiveco sur la kutima seria interfaco de la uzanto, kaj ke kiam APB-busa majstro eldonas transakcion por aliri la serian interfacon, ĝi eniras esceptan staton indikante malĝustan manpremon. Ĉi tiuj kondiĉoj ŝajnas ekskludi statikan kaŭzon, kiel malĝustan restarigan signalon, ĉar la transakcia statmaŝino ŝajnas ne funkcii je la atendata rapideco kaj tial kaŭzas la escepton. Oni supozas, ke la radika kaŭzo estas la horloĝa frekvencgeneratoro ene de la uzanta IP-kerno.
Se ĝi ne funkcias je la ĝusta frekvenco, rezultus la priskribitaj eraroj.
En ĉi tiu situacio verŝajne estas pli bona strategio anstataŭigi la metodon de la Aktiva Sondilo per la Viva Sondilo. Ĉi tio estas ilustrita en la supra figuro per la oranĝkolora LP-skatolo, uzante la J.TAG signalo por la elekto de la sondilfonto.
Ekstera Testa Ekipaĵo
Por ĉi tiu kazo, la metodologio estas tre simila al la antaŭe priskribita simpla ekz.ampt.e. La uzanta horloĝsignalo estas elkondukita al la testpunkto (espereble sur kaplinio) kaj tempopostula rekompilo estas necesa. Povas ankaŭ esti utile elkonduki referencan signalon, eble sisteman horloĝon uzatan por mezuri la IP-adreson de la uzanto kiel komparsignalon. Ni denove devos rekompili kaj reprogrami, do la tuta procezo povus daŭri signifan kvanton da tempo.
Interna Logika Analizilo
Ĉi tiu kazo estas tre simila al la simpla ekz.ampt.e. La ILA devas esti enigita, aŭ la dezirata signalo difinita, kaj rekompila kaj reprograma ciklo efektivigita. Ĉiuj antaŭe priskribitaj problemoj ankoraŭ rezultas en signifa sencimiga ciklotempo. Tamen ekzistas plia komplekseco. La horloĝo, kiu pelas la ILA-on, devas esti sinkrona, kaj ideale multe pli rapida rilate al la horloĝo observota de la Mola IP-kerno de la uzanto. Se ĉi tiuj horloĝoj estas nesinkronaj, aŭ ne havas la ĝustajn tempigajn rilatojn, datenkapto estos neantaŭvidebla kaj ebla fonto de konfuzo por la sencimiga procezo.
Notu, ke se la uzanta Soft IP-horloĝo ne estas generita sur-ĉipe (eble ĝi estas reakirita de la seria interfaco), la dizajnisto eble bezonos aldoni horloĝmodulon por generi pli rapidan ILA-horloĝon uzante pliajn rimedojn kaj eble kreante tempigan malobservon.
Viva Sondilo
Per ĉi tiu metodo, la Live Probe povas esti rapide direktita al la fonto de la uzanta horloĝo kaj ajna alia horloĝfonto el registro por ĉasi la veran kaŭzon de la eraro. La Live Probe montros la elektitajn signalajn eligojn en reala tempo kaj ajna tempiga rilato inter la signaloj estas tiel multe pli facile determinebla. La tuta procezo daŭras nur kelkajn sekundojn.
Aliaj Sencimigaj Trajtoj por Seriaj Interfacoj
Gravas ankaŭ rimarkigi, ke ekzistas multaj pliaj sencimigaj kapabloj en SmartFusion2 SoC FPGA kaj IGLOO2 FPGA aparatoj, kiuj povas esti uzataj sur seriaj interfacoj, kiel tiu en la antaŭa ekzemplo.ampla dezajno kie eraroj estas eĉ pli komplikaj. SERDES Debug, ekzempleample, provizas specifajn sencimigajn kapablojn por la dediĉitaj altrapidaj seriaj interfacoj. Kelkaj el la SERDES-sencimigaj funkcioj inkluzivas subtenon por PMA-testoj (kiel PRBS-ŝablona generado kaj buklotestado), subtenon por pluraj SERDES-testaj konfiguracioj kun registro-nivela rekonfiguracio por eviti la uzon de la plena dezajnfluo por fari konfiguraciajn ŝanĝojn, kaj tekstajn raportojn montrantajn konfiguritajn protokolojn, SERDES-konfiguraciajn registrojn kaj Len-konfiguraciajn registrojn. Ĉi tiuj funkcioj multe faciligas SERDES-sencimigon kaj povas esti uzataj kune kun Live Probe kaj Active Probe por plue rapidigi sencimigon de kompleksaj cirkvitoj.
La antaŭe priskribita ilo Memory Debug ankaŭ povas esti uzata kune kun SERDES Debug por rapidigi testadon. Ĉar memorbufroj povas esti rapide kaj facile inspektitaj kaj ŝanĝitaj per Memory Debug, eblas rapide krei "testpakaĵetojn" kaj observi rezultojn de bukloreligo aŭ intersistema komunikado. La dizajnisto povas utiligi ĉi tiujn kapablojn kaj tiel minimumigi la bezonon de specialigitaj "testaj kabloj", kiuj konsumas plian FPGA-ŝtofon kaj kiuj povus influi la icotempigon.
Konkludo
Ĉi tiu artikolo detale priskribis plurajn malsamajn alirojn al efektivigo de en-cirkvita sencimigo por FPGA-oj kaj SoC FPGA-oj — la uzon de Integra Logika Analizilo, la uzon de ekstera testekipaĵo, kaj la uzon de dediĉitaj sondilcirkvitoj integritaj en la FPGA-ŝtofon. La aldono de specialigitaj kaj dediĉitaj sondilcirkvitoj, kiel Aktiva Sondilo kaj Viva Sondilo ofertitaj de Microsemi sur SmartFusion2 SoC FPGA kaj IGLOO2 FPGA-aparatoj, montriĝis signife rapidigi kaj simpligi la sencimigan procezon. La kapablo rapide modifi la elekton de internaj signaloj (sen la bezono efektivigi tre tempopostulan rekompilan kaj reprograman ciklon), kaj la kapablo sondi internajn signalojn (sen la bezono uzi FPGA-ŝtofon kaj eble enkonduki tempigajn malobservojn) montriĝis esti grava avantaĝo.tagdum cimigo de FPGA-dezajnoj. Plie, la uzo de pluraj metodologioj, kiuj povas funkcii kune por provizi eĉ pli ampleksan cimigan kapablon, estis priskribita. Fine, du ekzemplojampSencimigaj uzokazaĵoj estis donitaj por ilustri la kompromisojn inter la priskribitaj metodoj.
Por Lerni Pli
- IGLOO2 FPGA-oj
- SmartFusion2 SoC FPGA-oj
Microsemi Corporation (Nasdaq: MSCC) ofertas ampleksan biletujon de duonkonduktaĵoj kaj sistemaj solvoj por komunikado, defendo kaj sekureco, aerospaca kaj industriaj merkatoj. Produktoj inkluzivas alt-efikecajn kaj radiad-harditajn analogajn mikssignajn integrajn cirkvitojn, FPGAojn, SoCojn kaj ASICojn; produktoj pri administrado de potenco; tempaj kaj sinkronigaj aparatoj kaj precizaj tempsolvoj, fiksante la mondan normon por tempo; aparatoj pri voĉa prilaborado; RF-solvoj; diskretaj komponantoj; sekureco teknologioj kaj skalebla anti-tamper produktoj; Potenco-super-Eterreto IC-oj kaj mezintervaloj; same kiel laŭmendaj dezajnaj kapabloj kaj servoj. Microsemi havas sian ĉefsidejon en Aliso Viejo, Kalifornio, kaj havas ĉirkaŭ 3,400 XNUMX dungitojn tutmonde. Lernu pli ĉe www.microsemi.com.
© 2014 Microsemi Corporation. Ĉiuj rajtoj rezervitaj. Microsemi kaj la Microsemi-emblemo estas varmarkoj de Microsemi Corporation. Ĉiuj aliaj varmarkoj kaj servomarkoj estas la posedaĵo de siaj respektivaj posedantoj.
Microsemi Korporacia Ĉefsidejo
- Unu Enterprise, Aliso Viejo CA 92656 Usono
- Ene Usono: +1 800-713-4113
- Ekstere Usono: +1 949-380-6100
- Vendo: +1 949-380-6136
- Faksi: +1 949-215-4996
- Retpoŝto: sales.support@microsemi.com
Oftaj Demandoj
- D: Kio estas la maksimuma datenkapta frekvenco de la aparato?
A: La aparato subtenas datenkapton ĝis 100MHz, taŭgan por plej multaj celdezajnoj. - Ĉu mi bezonas rekompili la dezajnon kiam mi uzas sondilcirkvitojn por sencimigado?
A: Ne, la lokoj de sondpunktoj povas esti rapide ŝanĝitaj sen bezono de rekompilo aŭ reprogramado de la dezajno.
Dokumentoj/Rimedoj
![]() |
Microsemi En-cirkvita FPGA Sencimigado [pdf] Instrukcioj En-cirkvita FPGA-sencimigado, FPGA-sencimigado, Sencimigado |