Microsemi In-Circuit FPGA atkļūdošana
Informācija par produktu
Specifikācijas
- Ierīces tips: Microsemi SmartFusion2 SoC FPGA
- Izdošanas datums: 2014. gada maijs
- Atkļūdošanas iespējas: In-Circuit FPGA atkļūdošana, iegultais loģikas analizators
- Maksimālā datu uztveršanas frekvence: līdz 100 MHz
Abstrakts
FPGA ir spēcīgi dizaina elementi iegultās sistēmās ar daudzām dizaina priekšrocībāmtages, taču šīm ierīcēm var būt sarežģīts dizains ar sarežģītām dizaina problēmām, kas ir jāatkļūdo. Izsekošana dizaina problēmām, piemēram, definīcijas kļūdas, sistēmas mijiedarbības problēmas un sistēmas laika kļūdas, var būt izaicinājums. In-ķēdes atkļūdošanas iespēju iekļaušana FPGA var ievērojami uzlabot aparatūras atkļūdošanu un izvairīties no daudzu stundu ilgas vilšanās. Šajā rakstā ir aprakstītas vairākas atšķirīgas pieejas FPGA atkļūdošanai ķēdē, identificēti galvenie kompromisi un, izmantojot exampLe design, kas paredzēts Microsemi SmartFusion®2 SoC FPGA ierīcei, parādīs, kā jaunas iespējas var izmantot, lai paātrinātu atkļūdošanu un testēšanu.
Ievads
FPGA ir plaši izplatīti un spēcīgi dizaina elementi, un tagad tie ir atrodami praktiski visās iegultajās sistēmās. Palielinoties jaudai, iekļaujot sarežģītus mikroshēmas funkcionālos blokus un uzlabotas seriālās saskarnes, šīm ierīcēm var rasties arī sarežģītas dizaina problēmas, kas ir jāatkļūdo. Problēmu, piemēram, funkcionālās definīcijas kļūdu (FPGA vai sistēmas līmenī), funkcionālo sistēmu mijiedarbības problēmu, sistēmas laika noteikšanas problēmu un signāla precizitātes problēmu starp IC (piemēram, troksnis, šķērsruna vai atspulgi) izsekošana kļūst daudz sarežģītāka, ja tiek izmantotas uzlabotas FPGA. Simulācija noteikti ir liela palīdzība daudzu dizaina problēmu identificēšanā, taču daudzas reālās pasaules mijiedarbības neparādīsies, kamēr dizains netiks ieviests aparatūrā. Lai vienkāršotu procesu, ir izstrādātas vairākas dažādas metodes sarežģītu dizaina problēmu atkļūdošanai. Rūpīga izpratne par katru no šiem galvenajiem paņēmieniem, ieskaitot dažādus advantages un trūkumitages ir noderīga, apsverot, kura tehnika vai paņēmienu kombinācija ir piemērota konkrētam dizainam.
Bijušaisample FPGA dizainu, kas paredzēts Microsemi SmartFusion2 SoC FPGA ierīcei, var izmantot, lai demonstrētu dažas priekšrocībastages un trūkumitages no šiem standarta paņēmieniem, kā arī jaunākās ķēdes atkļūdošanas iespējas. Šis ilustratīvs example parādīs, kā šīs dažādās metodes var izmantot, lai paātrinātu aparatūras problēmu identificēšanu un novēršanu aparatūras atkļūdošanas laikā.
Kāpēc FPGA atkļūdošana ir būtisks sistēmas projektēšanas un izstrādes aspekts?
FPGA ir divi galvenie lietošanas modeļi, kas tos atšķir no citiem dizaina elementiem. FPGA var izmantot ražošanas produktā vai izmantot kā izstrādes līdzekli, lai pierādītu vai prototipētu ražošanas dizaina koncepciju. Ja tos izmanto kā ražošanas transportlīdzekli, FPGA var būt daudz elastīgāks mērķis nekā ASIC vai CPU balstīti ražošanas transportlīdzekļi. Tas ir īpaši svarīgi jaunam dizainam, kas vēl nav ieviests aparatūrā. Dizainus ar dažādām arhitektūras iespējām var viegli izveidot un pārbaudīt, lai tiktu noteikts optimālais dizains. FPGA ar mikroshēmas procesoriem (SoC FPGA) nodrošina arī kompromisu uz CPU balstītu apstrādi ar aparatūras atbalstītām FPGA paātrināšanas funkcijām. Šie advantagTas var ievērojami samazināt laiku, kas nepieciešams projektēšanai, validācijai, testēšanai un kļūmju analīzei jaunu produktu izstrādei.
Ja to izmanto dizaina prototipēšanai, iespējams, ražošanas ASIC, FPGA elastība ir galvenā priekšrocība. Faktiska aparatūras platforma, pat tāda, kas nedarbojas pilnā ātrumā, ļauj daudz vieglāk iegūt detalizētus sistēmas veiktspējas rādītājus, caurlaidspējas analīzes datus un arhitektūras koncepcijas pierādījumus. FPGA atbalsts rūpnieciskām standarta kopnēm (piemēram, PCIe®, Gigabit Ethernet, XAUI, USB, CAN un citām) rūdītām ieviešanām vienkāršo ar šīm saskarnēm saistīto testēšanu. Jaunākās FPGA saimes ar mikroshēmas ARM procesoriem (SoC FPGA) ļauj viegli izveidot prototipu ieviešanu ar iegultiem procesoriem. Iepriekš izstrādāto procesora kodu var pārnest uz prototipu un izveidot jaunu kodu paralēli aparatūras projektēšanas darbiem.
Šī standarta procesora un standarta interfeisa kopņu kombinācija ļauj izmantot lielo pieejamo kodu bibliotēku, draiveru, funkcionālo API, reāllaika operētājsistēmu un pat pilnu operētājsistēmu ekosistēmu, lai daudz ātrāk izveidotu funkcionējošu prototipu. Turklāt, kad dizains ir nostiprināts, FPGA prototipu var izmantot, lai uzņemtu plašas simulācijas testa kopas (gan stimuliem, gan reakcijai), kas atspoguļo faktiskos sistēmas datus. Šīs datu kopas var būt nenovērtējamas, veidojot galīgās simulācijas ASIC vai citai ražošanas ieviešanai. AdvānstagIzmantojot FPGA kā dizaina prototipu, var ievērojami samazināt galaprodukta ieviešanas projektēšanas, validācijas, testēšanas un kļūmju analīzes laiku.
Abos šajos izplatītajos FPGA izmantošanas modeļos FPGA kā dizaina mērķa elastība ir galvenais ieguvums.tage. Tas nozīmē, ka daudzas dizaina izmaiņas un iterācijas būtu norma, un tādējādi iespēja ātri atkļūdot dizaina kļūdas būtu ļoti svarīga, lai iespējotu pēc iespējas vairāk dizaina iespēju. Bez efektīvas atkļūdošanas iespējas liela daļa advantagFPGA dizaina elastību samazinās nepieciešamais papildu atkļūdošanas laiks. Par laimi, FPGA var nodrošināt arī papildu aparatūras funkcijas, kas ievērojami vienkāršo reāllaika atkļūdošanu. Pirms aplūkot šīs iespējas, vispirms apskatīsim visbiežāk sastopamos problēmu veidus, ar kurām var saskarties FPGA dizains, lai mums būtu atbilstošs pamats, lai novērtētu dažādu atkļūdošanas rīku efektivitāti un ar to saistītos kompromisus.
Biežākās problēmas, atkļūdojot FPGA dizainu
Līdztekus paplašinātajām iespējām, ko sniedz mūsdienu FPGA, ar to saistītā paaugstinātā sarežģītība apgrūtina bezkļūdu dizainu izveidi. Faktiski ir aprēķināts, ka atkļūdošana var aizņemt 50% no iegultās sistēmas projektēšanas cikla. Tā kā laika spiediens tirgū turpina saspiest izstrādes ciklu, sākotnējās sistēmas aparatūras atkļūdošana tiek pārdomāta — pārāk bieži pieņemot, ka verifikācija (pats par sevi ir lielatage no izstrādes grafika), atklās visas kļūdas pirms sākotnējās sistēmas izlaišanas. Apskatīsim tikai dažus izplatītākos sistēmas problēmu veidus, lai labāk izprastu problēmas, ar kurām saskarsies tipisks dizains sākotnējās sistēmas izveides laikā.
Funkcionālās definīcijas kļūdas var būt divtik grūti atrast, jo dizainers ir pārpratis konkrētu prasību, tāpēc kļūdu var nepamanīt pat tad, ja rūpīgi aplūko dizaina detaļas. BijušaisampBieža funkcionālās definīcijas kļūda ir situācija, kad stāvokļa mašīnas pāreja nenonāk pareizajā stāvoklī. Kļūdas var parādīties arī sistēmas saskarnēs kā mijiedarbības problēma. Interfeisa latentums, piemēram,ample, var būt nepareizi norādīts, izraisot neparedzētu bufera pārpildes vai nepietiekamības stāvokli.
Sistēmas līmeņa laika noteikšanas problēmas ir vēl viens ļoti izplatīts projektēšanas kļūdu avots. Jo īpaši asinhronie notikumi ir bieži sastopams kļūdu avots, ja sinhronizācijas vai laika domēna šķērsošanas efekti netiek rūpīgi apsvērti. Darbojoties lielā ātrumā, šāda veida kļūdas var būt ļoti problemātiskas un var parādīties ļoti reti, iespējams, tikai tad, ja parādās specifiski datu modeļi. Daudzi bieži sastopami laika pārkāpumi ietilpst šajā kategorijā, un tos parasti ir ļoti grūti, ja ne neiespējami simulēt.
Laika pārkāpumi var būt arī zemas signāla precizitātes rezultāts starp integrētajām shēmām, jo īpaši sistēmās, kurās katrai ķēdei ir vairākas jaudas sliedes. Zema signāla precizitāte var izraisīt signāla troksni, šķērsrunu, atspīdumus, pārmērīgu slodzi un elektromagnētisko traucējumu (EMI) problēmas, kas bieži parādās kā laika pārkāpumi. Strāvas padeves problēmas, piemēram, pārejas (jo īpaši sistēmas palaišanas vai izslēgšanas laikā), slodzes svārstības un liels jaudas izkliedes spriegums var izraisīt arī mistiskas kļūdas, kuras bieži vien nav viegli izsekot līdz strāvas padeves avotam. Pat tad, ja dizains ir pilnīgi pareizs, dēļu izgatavošanas problēmas var izraisīt kļūdas. Bojāti lodēšanas savienojumi un nepareizi piestiprināti savienotāji, piemēram,ample, var būt kļūdu avots, un tas var būt pat atkarīgs no temperatūras vai paneļa atrašanās vietas. Uzlabotu FPGA iepakošanas metožu izmantošana var apgrūtināt iespiedshēmas plates signālu pārbaudi, tāpēc tikai piekļuve vēlamajam signālam bieži var būt problemātiska. Bieži vien daudzas dizaina problēmas nerada tūlītēju kļūdu, un tām ir jāplūst cauri dizainam, līdz kļūda patiešām izpaužas. Sākuma kļūdas izsekošana līdz pamatcēlonim bieži var būt nomākta, grūts un laikietilpīgs uzdevums.
Piemēram,ample, viens kļūdains bits tulkošanas tabulā var izraisīt kļūdu tikai pēc daudziem cikliem. Daži no rīkiem, par kuriem mēs runāsim vēlāk šajā rakstā un kuri izmanto speciālu ķēdes atkļūdošanas aparatūru, ir īpaši paredzēti, lai padarītu šīs "kļūdu meklēšanas" ātrākas un vienkāršākas. Pirms iedziļināties šo rīku detaļās, vispirms apskatīsim populāru uz programmatūru balstītu atkļūdošanas tehnikas simulāciju, lai labāk izprastu priekšrocību.tages un trūkumitagsimulācijas izmantošana atkļūdošanai.
Simulācijas izmantošana atkļūdošanai
Parasti dizaina simulācijā visi reālās dzīves komponenti dizainā un ārpus tā tiek matemātiski modelēti kā programmatūras procesi, kas tiek izpildīti secīgi standarta centrālajā procesorā. Plaša spektra stimulu piemērošana dizainam un sagaidāmās izvades pārbaude pret simulētā dizaina izvadi ir vienkāršs veids, kā novērst acīmredzamākās dizaina kļūdas. Logs, kas parāda tipisku simulācijas darbību, ir parādīts 1. attēlā zemāk. Skaidrs advantagSimulācijas versijām uz aparatūru balstīta atkļūdošana ir tāda, ka simulāciju var veikt programmatūrā — nav vajadzīgs faktisks uz aparatūru balstīts dizains un testēšanas stends. Simulācija var ātri atklāt daudzas projektēšanas kļūdas, jo īpaši tās, kas saistītas ar nepareizām specifikācijām, saskarnes prasību pārpratumiem, funkciju kļūdām un daudzām citām “rupjām” kļūdām, kuras var viegli atklāt, izmantojot vienkāršus stimulēšanas vektorus.
Simulācija ir īpaši efektīva, ja dizainerim ir pieejamas plašas stimulēšanas kombinācijas un iegūtie rezultāti ir labi zināmi. Šādos gadījumos simulācija var veikt gandrīz pilnīgu dizaina pārbaudi. Diemžēl lielākajai daļai dizainu nav viegli piekļūt plašiem testa komplektiem, un to izveides process var būt ļoti laikietilpīgs. Lieliem, uz FPGA balstītiem dizainparaugiem ir praktiski neiespējami izveidot testa komplektu, kas aptver 100% no dizaina, un ir jāizmanto saīsnes, lai mēģinātu aptvert dizaina galvenos elementus. Vēl viena simulācijas grūtība ir tā, ka tā nav “reālās pasaules” ieviešana un nevar uztvert asinhronus notikumus, ātruma sistēmas mijiedarbību vai laika pārkāpumus. Visbeidzot, simulācijas process var būt ļoti lēns, un, ja ir nepieciešamas daudzas iterācijas, simulācija ātri kļūst par laikietilpīgāko un bieži vien visdārgāko izstrādes procesa daļu.
Kā alternatīvu (vai, iespējams, labāk teikt, kā papildinājumu simulācijai) FPGA dizaineri atklāja, ka viņi var pievienot FPGA dizainam atkļūdošanas aparatūru, lai novērotu un kontrolētu galvenos signālus ierīcē. Šīs metodes sākotnēji tika izstrādātas kā ad hoc pieejas, bet pakāpeniski ir kļuvušas par standarta aparatūras atkļūdošanas stratēģiju. Šī ķēdē esošo atkļūdošanas iespēju izmantošana sniedz ievērojamu priekšrocībutages uz FPGA balstītiem dizainiem, un nākamajā sadaļā tiks pētītas trīs visizplatītākās stratēģijas un to dažādās priekšrocībastages un trūkumitages.
Izplatītas In-Circuit atkļūdošanas pieejas FPGA
Visizplatītākie paņēmieni ķēdes atkļūdošanas iespēju ieviešanai FPGA izmanto vai nu iegulto loģisko analizatoru, ārēju pārbaudes aprīkojumu vai īpašu signālu zondes aparatūru, kas iegulta FPGA audumā. Iegultais loģiskais analizators parasti tiek ieviests, izmantojot FPGA audumu, un tiek ievietots dizainā. DžTAG ports tiek izmantots, lai piekļūtu analizatoram, un uzņemtos datus var parādīt datorā. Ja tiek izmantots ārējais testa aprīkojums, pārbaudāmais FPGA dizains tiek modificēts tā, lai atlasītie iekšējie FPGA signāli tiktu novirzīti uz izvades tapām. Pēc tam šīs tapas var novērot, izmantojot ārējo testa aprīkojumu. Ja tiek izmantota īpaša signāla zondes aparatūra, reāllaikā var nolasīt plašu iekšējo signālu izvēli. Dažas zondes ieviešanas var pat izmantot, lai rakstītu reģistrā vai atmiņas vietās, vēl vairāk uzlabojot atkļūdošanas iespējas. Apskatīsim advanu sīkāktages un trūkumitagkatru no šīm metodēm un pēc tam apskatiet bijušoampdizains, lai redzētu, kā šīs dažādās pieejas var ietekmēt kopējo atkļūdošanas laiku.
In-Circuit FPGA atkļūdošanas iegultais loģikas analizators
Iegultā loģiskā analizatora koncepcija bija tiešs rezultāts ad-hoc ķēdes atkļūdošanas iespējām, kuras dizaineri ieviesa, kad pirmo reizi tika izmantotas FPGA. Iegultie loģiskie analizatori pievienoja jaunas iespējas un novērsa prasību izstrādātājam izstrādāt savu analizatoru. Lielākā daļa FPGA piedāvā šīs iespējas, un trešās puses piedāvā standarta analizatorus (Identify®, no Synopsys, ir viens populārs ex.ample), kas var viegli saskarties ar augstāka līmeņa rīkiem, lai vēl vairāk uzlabotu produktivitāti.
Loģiskā analizatora funkcionalitāte ir ievietota dizainā, izmantojot FPGA audumu un iegultos atmiņas blokus kā izsekošanas buferus, kā parādīts 2. attēlā. Tiek izveidoti arī iedarbināšanas resursi, lai varētu viegli atlasīt un uztvert sarežģītas signālu mijiedarbības. Piekļuve analizatoram kontrolei un datu pārsūtīšanai parasti tiek veikta, izmantojot standarta JTAG portu, lai vienkāršotu saskarnes prasības. Uzņemtos datus var parādīt datorā, izmantojot kopīgu viewprogrammatūru un parasti atspoguļo loģiskā simulatora viļņu formas izvadi viewstils.
AdvānstagŠīs pieejas būtība ir tāda, ka netiek izmantoti papildu FPGA I/O kontakti, tikai standarta JTAG signāliem. Iegultā loģiskā analizatora IP serdeņi parasti ir salīdzinoši lēti, un dažos gadījumos tos var izmantot esošajiem FPGA sintēzes vai simulācijas rīkiem. Dažos gadījumos iegultais loģiskais analizators var nodrošināt arī papildu izejas uz neizmantotajiem I/O, ja tas ir ērtāk. Viens no trūkumiemtagŠīs pieejas pamatā ir tas, ka ir nepieciešams liels daudzums FPGA resursu. Jo īpaši, ja tiek izmantoti izsekošanas buferi, tas samazinās pieejamo bloku atmiņu skaitu. Ja nepieciešams plašs buferis, tas būs arī kompromiss pret atmiņas dziļumu (jo plašākas atmiņas izmantošana rada mazāku atmiņas dziļumu) — liels trūkumstage izmantojot mazākas ierīces. Iespējams, ka lielākais šīs tehnikas trūkums ir tas, ka katru reizi, kad tiek veikta zondes izvietojuma korekcija, ir jāpārkompilē un jāpārprogrammē dizains. Izmantojot lielu ierīci, šis process var aizņemt daudz laika. Tā kā signāla zondes ir novietotas dizainā, var būt grūti korelēt signāla laika attiecības. Turklāt kavēšanās starp signālu zondēm nav konsekventa, un tāpēc laika attiecības ir grūti salīdzināt. Tā ir īpaša grūtība, salīdzinot asinhronos signālus vai signālus no dažādiem laika domēniem.
In-Circuit FPGA atkļūdošana — ārējais pārbaudes aprīkojums
Ķēdes atkļūdošanas koda izmantošana kopā ar ārēju testa aprīkojumu bija dabiska attīstība, kad sistēmas testēšanai jau bija pieejams ārējais loģiskais analizators. Izveidojot vienkāršu atkļūdošanas kodu, lai identificētu un atlasītu iekšējos testa signālus un lietotu tos FPGA I/O, kā parādīts 3. attēlā, bija iespējams izmantot analizatora uzlabotās iespējas (piemēram, lielus izsekošanas buferus, sarežģītas palaišanas secības un vairākas viewopcijām), lai izveidotu vienkāršas, bet jaudīgas atkļūdošanas vides. Sarežģītākas ķēdes iespējas uzlabotām aktivizēšanas opcijām var samazināt nepieciešamo izeju skaitu. Piemēram,ample, konkrētu adrešu atlase plašā kopnē varētu būt pārāk sarežģīta, ja būtu nepieciešami ārējie kontakti.
Iekšējās FPGA loģikas izmantošana ievērojami samazina I/O prasības un var pat meklēt konkrētus adrešu modeļus (iespējams, izsaukuma un atgriešanas secību), lai atkļūdotu sarežģītākas problēmas. Ja ir pieejams kopīgs lietotāja interfeiss, tas var vienkāršot mācīšanās līkni un uzlabot produktivitāti.
AdvānstagŠīs pieejas būtība ir tāda, ka tiek piesaistītas ārējās pārbaudes iekārtas izmaksas, un tādējādi netiek radītas papildu izmaksas par instrumentiem. Daži atkļūdošanas shēmas IP kodoli ir pieejami no iekārtu ražotājiem vai FPGA ražotājiem, un tie var būt ļoti zemi vai pat bez maksas. FPGA resursu daudzums, kas nepieciešams signāla atlases loģikas ieviešanai, ir ļoti mazs, un, tā kā izsekošanas funkcija tiek veikta, izmantojot ārējo loģisko analizatoru, nav nepieciešamas bloku atmiņas. Tā kā atlases loģika ir lēta, var tikt atbalstīts arī liels skaits kanālu ar plašu aktivizēšanu. Loģiskais analizators var darboties gan laika režīmā, gan stāvokļa režīmā, kas palīdz izolēt dažas laika problēmas.
TrūkumstagŠī pieeja var ietvert nepieciešamību iegādāties loģisko analizatoru, ja tas vēl nav piešķirts projektam. Šis netaisnībatage var būt pietiekami, lai atturētu no šīs pieejas daudzos gadījumos. Tomēr ņemiet vērā, ka kļūst pieejamas dažas zemu izmaksu loģiskā analizatora opcijas, kas izmanto datoru vai planšetdatoru displejam, padarot šo opciju daudz rentablāku vienkāršu atkļūdošanas prasību izpildei.
Patērēto FPGA tapu skaits var būt vēl viens trūkumstage un, ja ir jāievēro platas kopnes, ir nepieciešama nozīmīga plātņu izkārtojuma plānošana un atkļūdošanas savienotāju pievienošana. Šo prasību visbiežāk ir grūti paredzēt agrīnā projektēšanas fāzē un citu nevēlamu sarežģītību. Līdzīgi kā iegultā loģiskā analizatora pieeja, ārējā testēšanas stratēģija prasa dizaina pārkompilēšanu un pārprogrammēšanu, kad ir nepieciešams katrs jauns eksperiments.
Kopējais neveiksmestagŠīs divas metodes ir mikroshēmas resursu izmantošana (kas var ietekmēt arī dizaina laika veiktspēju un radīt papildu atkļūdošanas prasības), nepieciešamība pārkompilēt un pārprogrammēt dizainu (kas var pievienot stundas vai pat dienas atkļūdošanas grafikam), iepriekšēja plānošana, kas nepieciešama, lai identificētu iespējamos testa scenārijus, un papildu mikroshēmas I/O resursu izmantošana radīja vajadzību pēc pieejas bez pieejas. Viena no atbildēm bija speciālas atkļūdošanas loģikas pievienošana FPGA audumam dažās ierīcēs. Rezultāts bija atkļūdošana ķēdē, izmantojot aparatūras zondes.
In-Circuit FPGA atkļūdošana — aparatūras zondes
Aparatūras zondes izmantošana ievērojami vienkāršo FPGA atkļūdošanas metodes ķēdē. Šī metode, kas ieviesta kā Live Probe funkcija SmartFusion2®SoC FPGA un IGLOO®2 FPGA ierīcēs, pievieno FPGA audumam speciālas zondes līnijas, lai novērotu jebkura loģiskā elementa reģistra bita izvadi. Kā parādīts blokshēmā 4. attēlā, aparatūras zondes ir pieejamas divos zondes kanālos A un B.
Atlasītās reģistra izejas (zondes punkti), tāpat kā attēla apakšā, tiek maršrutētas virs diviem zondes kanāliem un, ja atlasītas, var tikt lietotas A vai B kanālā. Šos reāllaika kanālu signālus pēc tam var nosūtīt uz ierīces īpašajām zondes A un zondes B tapām. Zondes A un Zondes B signālus var arī iekšēji novirzīt uz iegulto loģisko analizatoru.
Ņemiet vērā, ka zondes tapu laika raksturlielumi ir regulāri un tiem ir nenozīmīga novirze no viena zondes punkta uz otru, padarot daudz vieglāk salīdzināt reāllaika signālu laika raksturlielumus. Datus var uztvert ar frekvenci līdz 100 MHz, tāpēc tie ir piemēroti lielākajai daļai mērķa dizainu.
Iespējams, vissvarīgākais ir zondes punktu atrašanās vietas, jo tās nav atlasītas kā daļa no īstenotā dizaina (tās tiek atlasītas, izmantojot īpašu aparatūru, kamēr dizains darbojas FPGA), var ātri mainīt, vienkārši nosūtot atlases datus uz ierīci. Nav nepieciešama dizaina pārkompilēt un pārprogrammēšana.
Lai vēl vairāk vienkāršotu Live Probe iespējas izmantošanu, saistītajam atkļūdošanas programmatūras rīkam ir piekļuve visām zondes signālu atrašanās vietām, izmantojot automātiski ģenerētu atkļūdošanu. file. Kā parādīts 5. attēlā, signāla nosaukumu var izvēlēties no signālu saraksta un lietot vēlamajā kanālā. To var izdarīt pat dizaina darbības laikā, lai zondēšanas darbība dizainā būtu nevainojama un ļoti efektīva.
Daudzos gadījumos aparatūras zondes iespējas, piemēram, Live Probe, var izmantot kopā ar iepriekš aprakstīto iegulto loģisko analizatoru un ārējām pārbaudes metodēm.
Kā parādīts 6. attēlā, Live Probe spēja atlasīt signālus “lidojumā” ļauj ātri un viegli mainīt novērojamos signālus bez nepieciešamības atkārtoti kompilēt. Ārējais loģiskais analizators vai tvērums var viegli novērot zondētos signālus, kā parādīts attēla augšējā labajā daļā uz īpašajām zondes izvades tapām. Kā alternatīvu (vai varbūt pat papildus) var izmantot iekšējo loģisko analizatoru (ILA identifikācijas bloku, kas parādīts attēlā), lai novērotu zondes tapas. Zondes signālus var uztvert ILA un novērot viļņu formas logā. Zondes atrašanās vietas var mainīt bez nepieciešamības atkārtoti kompilēt mērķa dizainu.
Ņemiet vērā, ka papildu iedarbināšanas un izsekošanas iespējas var izmantot, lai uzlabotu zondes funkcionalitāti, atvieglojot pat sarežģītas dizaina problēmas.
Papildu aparatūras atkļūdošanas iespējas ir pieejamas arī SmartFusion2 SoC FPGA un IGLOO2 FPGA ierīcēs. Viena no šīm iespējām, ko sauc par Active Probe, var dinamiski un asinhroni lasīt vai rakstīt uz jebkuru loģiskā elementa reģistra bitu. Rakstītā vērtība saglabājas vienu pulksteņa ciklu, lai varētu turpināt normālu darbību, padarot to par ļoti vērtīgu atkļūdošanas rīku. Aktīvā zonde ir īpaši interesanta, ja ir nepieciešams ātri novērot iekšējo signālu (iespējams, vienkārši pārbaudīt, vai tas ir aktīvs vai vēlamajā stāvoklī, piemēram, atiestatīšanas signāls), vai ja ir nepieciešams ātri pārbaudīt loģisko funkciju, ierakstot zondes punktā.
(iespējams, lai uzsāktu stāvokļa mašīnas pāreju, ātri iestatot ievades vērtību, lai izolētu vadības plūsmas problēmu).
Vēl viena Microsemi nodrošinātā atkļūdošanas iespēja ir atmiņas atkļūdošana. Šī funkcija ļauj dizainerim dinamiski un asinhroni lasīt vai rakstīt izvēlētā FPGA auduma SRAM blokā. Kā parādīts atkļūdošanas rīka ekrānuzņēmumā (7. attēls), kad ir atlasīta cilne Atmiņas bloki, lietotājs var atlasīt lasīšanai vajadzīgo atmiņu, veikt atmiņas momentuzņēmuma tveršanu, modificēt atmiņas vērtības un pēc tam ierakstīt vērtības atpakaļ ierīcē. Tas var būt īpaši noderīgi, lai pārbaudītu vai iestatītu datu buferus, ko izmanto sakaru pieslēgvietās uz aprēķiniem orientētam blokam vai pat kodam, ko izpilda iegultais CPU. Sarežģītu, no datiem atkarīgu kļūdu atkļūdošana ir ievērojami ātrāka un vienkāršāka, ja atmiņas var novērot un kontrolēt tik ātri.
Kad dizains ir atkļūdots, var būt vēlams izslēgt aparatūras atkļūdošanas iespējas, lai aizsargātu sensitīvu informāciju. Uzbrucējs var izmantot šīs pašas iespējas, lai nolasītu kritisku informāciju vai mainītu sistēmas iestatījumus, kas ļautu viegli piekļūt jutīgām sistēmas daļām. Microsemi ir pievienojis funkcijas, kas ļauj dizainerim aizsargāt ierīci pēc atkļūdošanas pabeigšanas. Piemēram,ampPiekļuvi Live Probe un Active Probe var bloķēt, lai pilnībā atspējotu funkciju kā iespējamu uzbrukuma līdzekli (tas pat izslēdz iespēju, ka zondes darbība rada jebkādus modeļus barošanas strāvā, ko varētu izmantot, lai mēģinātu novērot zondes datus netieši). Alternatīvi, piekļuvi izvēlētajām dizaina daļām var bloķēt, lai novērstu piekļuvi tikai šīm sadaļām. Tas var būt ērti, ja tikai daļai no konstrukcijas ir jābūt drošai, lai pārējā konstrukcija joprojām būtu pieejama lauka testēšanai vai kļūdu analīzei.
In-Circuit atkļūdošanas salīdzināšanas diagramma
Tagad, ka detalizēts review no trim galvenajām ķēdē esošās aparatūras atkļūdošanas metodēm ir aprakstītas kopsavilkuma diagramma, kā parādīts 8. attēlā, kurā sīki aprakstītas dažādas priekšrocības.tages un trūkumitagkatras metodes es. Atcerieties, ka dažas metodes var izmantot kopā (Live Probe un Internal Logic Analyzer (ILA), piemēram, Synopsys Identify, piemēram,ample), mēs varam redzēt katras tehnikas galvenās stiprās un vājās puses. Ķēdē esošās aparatūras atkļūdošanas iespējas (Live Probe, Active Probe un Memory Debug — kopā sauktas par SmartDebug) ir vājākās salīdzinājumā ar citām metodēm, ja runa ir par kopējo pieejamo zonžu skaitu (sarkans aplis), un ir vājākas par labāko (dzeltens aplis), ja ņem vērā uztveršanas ātrumu (ārējais testa aprīkojums var būt ātrāks).
Uz ILA balstītas metodes, piemēram, Synopsys Identify, ir vājākās, salīdzinot ar citām metodēm un ja tiek ņemtas vērā FPGA resursu prasības. Uz ārējām testēšanas iekārtām balstītās metodes ir vājākās vairāku apsvērumu dēļ, un izmaksas, projekta laika ietekme un zondes kustība (sakarā ar nepieciešamību pārkompilēt dizainu) ir visgrūtāk. Iespējams, ka optimālais risinājums ir SmartDebug un vienas no citām metodēm kombinācija, lai varētu mazināt SmartDebug kanālu skaita vājumu un zondes punkta kustību.tagsamazinātas arī citu metožu es.
Signālu klasifikācijas
Noderīgi var atšķirt dažus no visizplatītākajiem signālu veidiem, un tas var palīdzēt, plānojot atkļūdošanas pieeju. Piemēram,ample, signālus, kas nemainās, izņemot sistēmas palaišanas laikā, piemēram, sistēmas atiestatīšanu, bloku atiestatīšanu vai inicializācijas reģistrus, var klasificēt kā statiskus signālus. Šāda veida signāliem visefektīvāk var piekļūt, izmantojot iekārtu, kas var viegli novērot, kā arī kontrolēt signālu, neprasot ilgu pārkompilēšanas ciklu. Active Probe ir lieliska iespēja statisko signālu atkļūdošanai. Tāpat signālus, kas mainās biežāk, bet lielāko daļu laika joprojām ir statiski, var klasificēt kā pseidostatiskus, un arī visefektīvāk tiek atkļūdoti, izmantojot Active Probe. Signālus, kas bieži mainās, piemēram, pulksteņa signālus, var klasificēt kā dinamiskus, un tiem nav tik viegli piekļūt, izmantojot Active Probe. Live Probe ir labāka izvēle šo signālu novērošanai.
Vienkāršs atkļūdošanas lietošanas gadījums
Tagad, kad mums ir labāka izpratne par dažādām ķēdes atkļūdošanas iespējām, apskatīsim vienkāršu dizaina piemēruamplai redzētu, kā šīs metodes darbojas. 9. attēlā parādīts vienkāršs FPGA dizains SmartFusion2 SoC FPGA ierīcē. Mikrokontrollera apakšsistēmu (MSS) atiestata CoreSF2Reset Soft IP bloks. Šī bloka ievades ir ieslēgšanas atiestatīšana, lietotāja auduma atiestatīšana un ārējā atiestatīšana. Izvades ir lietotāja auduma atiestatīšana, MSS atiestatīšana un M3 atiestatīšana. Kļūdas simptomi ir tādi, ka I/O nedarbojas, lai gan ierīce veiksmīgi iziet no POR stāvokļa. Trīs dažādas šīs kļūdas atkļūdošanas iespējas ir parādītas arī attēlā: Zilais lodziņš (apzīmēts ar ETE) ir paredzēts ārējā testa aprīkojuma metodei; zaļais lodziņš (apzīmēts ILA) ir paredzēts iekšējā loģiskā analizatora metodei; un oranžais lodziņš (apzīmēts AP) ir paredzēts Active Probe metodei. Mēs pieņemsim, ka iespējamie kļūdas cēloņi ir nepareizi norādītas CoreSF2Reset Soft IP bloka atiestatīšanas ievades.
Tagad apskatīsim atkļūdošanas procesu trim no iepriekš aprakstītajām ķēdes metodēm.
Ārējās pārbaudes iekārtas
Izmantojot šo metodi, tiek pieņemts, ka testa aprīkojums ir pieejams un netiek izmantots augstākas prioritātes projektā. Turklāt ir svarīgi iepriekš plānot, lai dažas FPGA I/O būtu pieejamas un tās varētu viegli savienot ar testa aprīkojumu. Uz PCB ir galvene, piemēramample, būtu ļoti noderīgi un samazinātu laiku, kas pavadīts, mēģinot identificēt un izveidot savienojumu ar "iespējamo aizdomīgo" vai iespējamo kontaktu īssavienojumu zondēšanas laikā. Dizains būs jāpārkompilē, lai atlasītu signālus, kurus vēlamies izmeklēt. Cerams, ka mēs nelobīsim sīpolus un turpmākai izmeklēšanai būs jāizvēlas papildu signāli, jo bieži vien sākotnējā izmeklēšana rada vairāk jautājumu. Jebkurā gadījumā pārkompilēšanas un pārprogrammēšanas process var aizņemt ievērojamu laiku, un, ja tā rezultātā rodas laika pārkāpumi, ir nepieciešama pārprojektēšana (mēs visi zinām, cik apgrūtinoši var būt mēģinājumi atrisināt laika slēgšanas problēmas, jo īpaši, ja veicat dizaina izmaiņas, lai atrastu dizaina kļūdu — viss process var ilgt no minūtēm līdz stundām)! Ir arī svarīgi atcerēties, ka, ja dizainā nav bezmaksas lietotāja I/O, šo metodi nevar ieviest. Turklāt šī metode ir strukturāli traucējoša dizainam, un ar laiku saistītās kļūdas var pazust vai atkal parādīties starp atkārtojumiem.
Iekšējais loģikas analizators
Izmantojot šo metodi, ILA ir jāievieto dizainā, izmantojot auduma resursus, un pēc tam tas ir jāpārkompilē. Ņemiet vērā, ka, ja ILA jau ir instantierēta, signāli, kurus vēlamies izmeklēt, iespējams, nav instrumentēti, un tam būtu nepieciešama arī atkārtota kompilēšana. Šis process var mainīt sākotnējo dizainu un pārkāpt laika ierobežojumus. Ja laiks ir izpildīts, dizains ir jāpārprogrammē un atkārtoti jāinitializē. Viss process var ilgt vairākas minūtes vai pat stundas, ja atkārtotas kompilēšanas laiks ir garš un ir nepieciešamas vairākas piespēles. Šī pieeja ir strukturāli traucējoša un var radīt līdzīgas problēmas, kas aprakstītas, izmantojot iepriekš minēto metodi.
Aktīvā zonde
Izmantojot šo metodi, aktīvo zondi var norādīt uz dažādu atiestatīšanas signālu avotu, kas visi tiek iegūti no reģistra izejām (kā tas ir ierasts jebkurā labā digitālā dizaina praksē). Signāli tiek atlasīti pa vienam no Active Probe izvēlnes, kas parādīta 10. attēlā. Atlasītās signāla vērtības var nolasīt, un tās tiek parādītas Active Probe datu logā. Jebkuri nepareizi apgalvojumi ir viegli identificējami. Šo pārbaudi var veikt nekavējoties, bez nepieciešamības atkārtoti kompilēt un pārprogrammēt ierīci, un tas nav strukturāli vai procesuāli traucējošs. Viss process aizņem tikai dažas sekundes. Šī metode var arī radīt vadāmību (asinhroni mainot vērtības), ko citas divas metodes nepieļaus. Šajā konkrētajā eksampAtiestatīšanas signālu, kas iegūts no reģistra, var viegli pārbaudīt un atklāt, ka tas tiek turēts aktīvā stāvoklī.
Īslaicīgu atiestatīšanas signāla pārslēgšanu var panākt, asinhroni manipulējot ar reģistru, kas ģenerē pārējos signālus.
Sarežģītāks atkļūdošanas lietošanas gadījums
Iepriekš minētais dizains bija ļoti vienkāršs un ir noderīgs kā ievads aprakstīto projektēšanas metožu izmantošanā, bet sarežģītāks example varētu būt vēl ilustratīvāks. Daudzas reizes interesējošais signāls nav statisks signāls, kā tas bija mūsu vienkāršajā bijušajāample bet ir dinamisks. Kopējais dinamiskais signāls ir starppulkstenis, ko, iespējams, izmanto, lai iestatītu rokasspiediena laiku seriālajam interfeisam. 11. attēlā parādīts šāds dizains ar lietotāja Soft IP kodolu, šajā gadījumā pielāgotu seriālo interfeisu, kas savienots ar sistēmas APB kopni. Kļūdu simptomi ir tādi, ka lietotāja pielāgotajā seriālajā saskarnē netiek veiktas darbības un, kad APB kopnes galvenais izdod transakciju, lai piekļūtu seriālajam interfeisam, tas nonāk izņēmuma stāvoklī, kas norāda uz nepareizu rokasspiedienu. Šķiet, ka šie apstākļi izslēdz statisku iemeslu, piemēram, nepareizu atiestatīšanas signālu, jo šķiet, ka darījuma stāvokļa mašīna nedarbojas paredzētajā ātrumā un tādējādi rada izņēmumu. Tiek uzskatīts, ka galvenais iemesls ir pulksteņa frekvences ģenerators lietotāja IP kodolā.
Ja tas nedarbojas pareizajā frekvencē, var rasties aprakstītās kļūdas.
Šādā situācijā, iespējams, labāka stratēģija ir aizstāt Active Probe pieeju ar Live Probe. Iepriekš redzamajā attēlā to ilustrē oranžas krāsas LP kaste, izmantojot JTAG signāls zondes avota izvēlei.
Ārējās pārbaudes iekārtas
Šajā gadījumā metodika ir ļoti līdzīga iepriekš aprakstītajai vienkāršajai piemample. Lietotāja pulksteņa signāls tiek izvadīts pārbaudes punktā (cerams, galvenē), un ir nepieciešama laikietilpīga pārkompilēšana. Var būt noderīgi arī izcelt atsauces signālu, iespējams, sistēmas pulksteni, kas tiek izmantots, lai kā salīdzināšanas signālu iestatītu lietotāja IP. Mēs atkal būsim pakļauti nepieciešamībai pārkompilēt un pārprogrammēt, lai viss process varētu aizņemt ievērojamu laiku.
Iekšējais loģikas analizators
Šis gadījums ir ļoti līdzīgs vienkāršajam example. Ir jāievieto ILA vai jādefinē vēlamais signāls un jāizpilda atkārtotas kompilēšanas un pārprogrammēšanas cikls. Visas iepriekš aprakstītās problēmas joprojām rada ievērojamu atkļūdošanas cikla laiku. Tomēr pastāv papildu sarežģītība. Pulkstenim, kas vada ILA, ir jābūt sinhronam un ideālā gadījumā daudz ātrākam attiecībā pret pulksteni, kas tiek novērots no lietotāja mīkstā IP kodola. Ja šie pulksteņi ir asinhroni vai tiem nav pareizas laika attiecības, datu tveršana būs neparedzama un var radīt neskaidrības atkļūdošanas procesā.
Ņemiet vērā: ja lietotāja Soft IP pulkstenis netiek ģenerēts mikroshēmā (iespējams, tas ir atkopts no seriālā interfeisa), dizainerim, iespējams, būs jāpievieno pulksteņa modulis, lai ģenerētu ātrāku ILA pulksteni, izmantojot papildu resursus un, iespējams, radot laika pārkāpumu.
Tiešraides zonde
Izmantojot šo metodi, Live Probe var ātri norādīt uz lietotāja pulksteņa avotu un jebkuru citu pulksteņa avotu no reģistra, lai noskaidrotu kļūdas galveno cēloni. Live Probe reāllaikā rādīs atlasītos signālu izvadus, un tādējādi jebkādas laika attiecības starp signāliem ir daudz vieglāk nosakāmas. Viss process aizņem tikai dažas sekundes.
Citas seriālo interfeisu atkļūdošanas funkcijas
Ir arī svarīgi norādīt, ka SmartFusion2 SoC FPGA un IGLOO2 FPGA ierīcēs ir daudz papildu atkļūdošanas iespēju, kuras var izmantot seriālajās saskarnēs, piemēram, iepriekšējā ex.ample dizains, kur kļūdas ir vēl sarežģītākas. SERDES atkļūdošana, piemēramample, nodrošina īpašas atkļūdošanas iespējas īpašajām ātrgaitas seriālajām saskarnēm. Dažas SERDES atkļūdošanas funkcijas ietver PMA testa atbalstu (piemēram, PRBS modeļa ģenerēšanu un cilpas testēšanu) atbalstu vairākām SERDES testa konfigurācijām ar reģistra līmeņa pārkonfigurāciju, lai izvairītos no pilnas dizaina plūsmas izmantošanas konfigurācijas izmaiņu veikšanai, un teksta atskaites, kas parāda konfigurētos protokolus, SERDES konfigurācijas reģistrus un joslu konfigurācijas reģistrus. Šīs funkcijas ievērojami atvieglo SERDES atkļūdošanu, un tās var izmantot kopā ar Live Probe un Active Probe, lai paātrinātu sarežģītu ķēžu atkļūdošanu.
Iepriekš aprakstīto atmiņas atkļūdošanas rīku var izmantot arī kopā ar SERDES Debug, lai paātrinātu testēšanu. Tā kā atmiņas buferus var ātri un viegli pārbaudīt un mainīt, izmantojot Memory Debug, ir iespējams ātri izveidot "testa paketes" un novērot cilpas vai starpsistēmu sakaru rezultātus. Dizainers var izmantot šīs iespējas un tādējādi samazināt vajadzību pēc specializētām "testa instalācijām", kas patērē papildu FPGA audumu un var ietekmēt mikroshēmas laiku.
Secinājums
Šajā rakstā ir sīki aprakstītas vairākas dažādas pieejas FPGA un SoC FPGA atkļūdošanas ieviešanai ķēdē — integrētā loģiskā analizatora izmantošana, ārēja testa aprīkojuma izmantošana un speciālu zondes shēmu izmantošana, kas integrēta FPGA audumā. Tika pierādīts, ka specializētu un speciālu zondes ķēžu pievienošana, piemēram, Active Probe un Live Probe, ko piedāvā Microsemi SmartFusion2 SoC FPGA un IGLOO2 FPGA ierīcēm, ievērojami paātrina un vienkāršo atkļūdošanas procesu. Spēja ātri mainīt iekšējo signālu atlasi (bez nepieciešamības veikt ļoti laikietilpīgu pārkompilēšanas un pārprogrammēšanas ciklu) un spēja pārbaudīt iekšējos signālus (bez nepieciešamības izmantot FPGA audumu un, iespējams, ieviest laika pārkāpumus) tika uzskatīts par galveno priekšrocību.tages, atkļūdojot FPGA dizainu. Turklāt tika aprakstīta vairāku metodoloģiju izmantošana, kas var darboties kopā, lai nodrošinātu vēl visaptverošāku atkļūdošanas iespēju. Visbeidzot, divi bijušieample debug lietošanas gadījumi tika doti, lai ilustrētu kompromisus starp aprakstītajām metodēm.
Lai uzzinātu vairāk
- IGLOO2 FPGA
- SmartFusion2 SoC FPGA
Microsemi Corporation (Nasdaq: MSCC) piedāvā visaptverošu pusvadītāju un sistēmu risinājumu portfeli sakaru, aizsardzības un drošības, aviācijas un rūpniecības tirgiem. Produkti ietver augstas veiktspējas un pret radiāciju izturīgas analogās jaukto signālu integrālās shēmas, FPGA, SoC un ASIC; jaudas pārvaldības produkti; laika noteikšanas un sinhronizācijas ierīces un precīzi laika risinājumi, nosakot pasaules laika standartu; balss apstrādes ierīces; RF risinājumi; diskrēti komponenti; drošības tehnoloģijas un mērogojams anti-tamper produkti; Power-over-Ethernet IC un midspans; kā arī pielāgotas dizaina iespējas un pakalpojumi. Microsemi galvenā mītne atrodas Aliso Viejo, Kalifornijā, un tajā visā pasaulē strādā aptuveni 3,400 darbinieku. Uzziniet vairāk vietnē www.microsemi.com.
© 2014 Microsemi Corporation. Visas tiesības aizsargātas. Microsemi un Microsemi logotips ir Microsemi Corporation preču zīmes. Visas pārējās preču zīmes un pakalpojumu zīmes ir to attiecīgo īpašnieku īpašums.
Microsemi korporatīvā mītne
- Viens Enterprise, Aliso Viejo CA 92656 ASV
- Iekšā ASV: +1 800-713-4113
- Ārā ASV: +1 949-380-6100
- Pārdošana: +1 949-380-6136
- Fakss: +1 949-215-4996
- E-pasts: sales.support@microsemi.com
FAQ
- J: Kāda ir ierīces maksimālā datu uztveršanas frekvence?
A: Ierīce atbalsta datu uztveršanu līdz 100 MHz, kas ir piemērota lielākajai daļai mērķa dizainu. - J: Vai man ir jāpārkompilē dizains, izmantojot zondes shēmas atkļūdošanai?
A: Nē, zondes punktu atrašanās vietas var ātri mainīt, neprasot dizaina pārkompilāciju vai pārprogrammēšanu.
Dokumenti / Resursi
![]() |
Microsemi In-Circuit FPGA atkļūdošana [pdfNorādījumi In-Circuit FPGA atkļūdošana, FPGA atkļūdošana, atkļūdošana |