Microsemi In-Circuit FPGA derinimas
Informacija apie produktą
Specifikacijos
- Įrenginio tipas: Microsemi SmartFusion2 SoC FPGA
- Išleidimo data: 2014 m. gegužės mėn
- Derinimo galimybės: FPGA derinimas grandinėje, įterptinis loginis analizatorius
- Maksimalus duomenų fiksavimo dažnis: iki 100 MHz
Abstraktus
FPGA yra galingi dizaino elementai įterptosiose sistemose su daugybe dizaino pranašumųtag...tačiau šie įrenginiai gali būti sudėtingos konstrukcijos su sudėtingomis konstrukcijos problemomis, kurias reikia derinti. Atsekti konstrukcijos problemas, tokias kaip apibrėžimo klaidos, sistemos sąveikos problemos ir sistemos laiko klaidos, gali būti sudėtinga. Įtraukus derinimo galimybes į FPGA, galima gerokai pagerinti aparatinės įrangos derinimą ir išvengti daugybės valandų nusivylimo. Šiame straipsnyje aprašomi keli skirtingi FPGA derinimo grandinėje metodai, nustatomi pagrindiniai kompromisai ir, pasitelkiant pavyzdį...ample dizainas, skirtas Microsemi SmartFusion®2 SoC FPGA įrenginiui, parodys, kaip naujos galimybės gali būti naudojamos norint pagreitinti derinimą ir testavimą.
Įvadas
FPGA yra plačiai paplitę ir galingi dizaino elementai, kuriuos dabar galima rasti beveik visose įterptosiose sistemose. Didėjant pajėgumams, įtraukiant sudėtingus lusto funkcinius blokus ir pažangias nuosekliąsias sąsajas, šie įrenginiai taip pat gali turėti sudėtingų projektavimo problemų, kurias reikia derinti. Naudojant pažangias FPGA problemas, tokias kaip funkcinės apibrėžimo klaidos (FPGA arba sistemos lygiu), funkcinės sistemos sąveikos problemos, sistemos laiko nustatymo problemos ir signalo tikslumo problemos tarp IC (pvz., triukšmas, skersinis pokalbis ar atspindžiai), sekimas tampa daug sudėtingesnis. Modeliavimas tikrai labai padeda identifikuoti daugelį projektavimo problemų, tačiau daugelis realaus pasaulio sąveikų nepasireikš, kol dizainas nebus įdiegtas aparatinėje įrangoje. Siekiant supaprastinti procesą, buvo sukurti keli skirtingi sudėtingų dizaino problemų derinimo būdai. Kruopštus kiekvieno iš šių pagrindinių metodų, įskaitant įvairius advan, supratimastages ir trūkumaitages, yra naudinga sprendžiant, kuri technika ar technikų derinys tinka konkrečiam dizainui.
Buvęsample FPGA dizainas, skirtas Microsemi SmartFusion2 SoC FPGA įrenginiui, gali būti naudojamas parodyti kai kuriuos pranašumus.tages ir trūkumaitagšių standartinių technikų, taip pat naujausių grandinės derinimo galimybių. Šis iliustratyvus pvzampparodys, kaip šie įvairūs metodai gali būti naudojami siekiant pagreitinti aparatinės įrangos problemų nustatymą ir pašalinimą aparatūros derinimo metu.
Kodėl FPGA derinimas yra esminis sistemos projektavimo ir kūrimo aspektas?
FPGA turi du pagrindinius naudojimo modelius, kurie juos išskiria iš kitų dizaino elementų. FPGA gali būti naudojami gamybiniame produkte arba gali būti naudojami kaip kūrimo priemonė, siekiant įrodyti arba prototipuoti gamybos dizaino koncepciją. Kai naudojami kaip gamybos priemonė, FPGA gali būti daug lankstesnis tikslas nei ASIC arba CPU pagrįstos gamybos transporto priemonės. Tai ypač svarbu naujam dizainui, kuris dar nebuvo įdiegtas aparatinėje įrangoje. Projektus su skirtingomis architektūrinėmis galimybėmis galima lengvai sukurti ir išbandyti, kad būtų nustatytas optimalus dizainas. FPGA su lustiniais procesoriais (SoC FPGA) taip pat leidžia pakeisti CPU pagrįstą apdorojimą su aparatinės įrangos palaikomomis FPGA pagreičio funkcijomis. Šie advantagTai gali žymiai sutrumpinti laiką, reikalingą naujų produktų projektavimui, patvirtinimui, testavimui ir gedimų analizei.
Kai naudojamas dizaino prototipams, galbūt gamybiniam ASIC, FPGA lankstumas yra pagrindinis pranašumas. Tikra aparatinės įrangos platforma, net ir neveikianti visu greičiu, leidžia daug lengviau gauti išsamią sistemos našumo metriką, pralaidumo analizės duomenis ir architektūros koncepcijos įrodymo rezultatus. FPGA palaikymas sugriežtintų pramonės standartinių magistralių (pvz., PCIe®, Gigabit Ethernet, XAUI, USB, CAN ir kitų) diegimams supaprastina su šiomis sąsajomis susijusį testavimą. Naujausios FPGA šeimos su įtaisytaisiais ARM procesoriais (SoC FPGA) leidžia lengvai sukurti prototipus su įterptais procesoriais. Anksčiau sukurtą procesoriaus kodą galima perkelti į prototipą ir sukurti naują kodą lygiagrečiai su techninės įrangos projektavimo pastangomis.
Šis standartinio procesoriaus ir standartinių sąsajų magistralių derinys leidžia panaudoti didelę galimų kodų bibliotekų, tvarkyklių, funkcinių API, realaus laiko operacinių sistemų ir net pilnų operacinių sistemų ekosistemą, kad būtų galima daug greičiau sukurti veikiantį prototipą. Be to, sutvirtėjus dizainui, FPGA prototipas gali būti naudojamas norint užfiksuoti didelius modeliavimo testų rinkinius (tiek stimului, tiek atsakui), kurie atspindi tikrus sistemos duomenis. Šie duomenų rinkiniai gali būti neįkainojami kuriant galutinį ASIC ar kito gamybos diegimo modeliavimą. AdvanastagNaudojant FPGA kaip projektavimo prototipą, galima žymiai sutrumpinti galutinio produkto įgyvendinimo projektavimo, patvirtinimo, testavimo ir gedimų analizės laiką.
Abiejuose šiuose įprastuose FPGA naudojimo modeliuose FPGA, kaip dizaino tikslo, lankstumas yra pagrindinis pranašumas.tage. Tai reiškia, kad daugelis dizaino pakeitimų ir iteracijų būtų norma, todėl galimybė greitai derinti projektavimo klaidas būtų labai svarbi norint įgalinti kuo daugiau dizaino parinkčių. Be veiksmingos derinimo galimybės didžioji dalis advantagFPGA dizaino lankstumas sumažės dėl papildomo derinimo laiko. Laimei, FPGA taip pat gali suteikti papildomų aparatinės įrangos funkcijų, kurios labai supaprastina derinimą realiuoju laiku. Prieš nagrinėdami šias galimybes, pirmiausia pažvelkime į dažniausiai pasitaikančias problemas, su kuriomis gali susidurti FPGA dizainas, kad turėtume tinkamą pagrindą įvertinti įvairių derinimo įrankių efektyvumą ir su tuo susijusius kompromisus.
Įprastos FPGA dizaino derinimo problemos
Kartu su išplėstomis šiuolaikinių FPGA galimybėmis, padidėjęs sudėtingumas apsunkina klaidų neturinčių konstrukcijų kūrimą. Iš tikrųjų apskaičiuota, kad derinimas gali sudaryti daugiau nei 50 % įterptųjų sistemų projektavimo ciklo. Kadangi pateikimo į rinką laikas ir toliau trumpina kūrimo ciklą, pradinės sistemos aparatinės įrangos derinimas nustumiamas į antrą planą – pernelyg dažnai daroma prielaida, kad patikrinimas (pats savaime yra didelė dalis)tage) išskleis visas klaidas prieš pradinį sistemos paleidimą. Pažvelkime į kelis dažniausiai pasitaikančius sistemos problemų tipus, kad geriau suprastume iššūkius, su kuriais susidurs tipinis dizainas pradinio sistemos paleidimo metu.
Funkcinio apibrėžimo klaidas gali būti dvigubai sunku rasti, nes dizaineris neteisingai suprato konkretų reikalavimą, todėl klaidą galima nepastebėti net atidžiai žiūrint į projekto detales. BuvęsampĮprasta funkcinio apibrėžimo klaida būtų ta, kai būsenos mašinos perėjimas nepatenka į tinkamą būseną. Klaidos taip pat gali pasirodyti sistemos sąsajose kaip sąveikos problema. Sąsajos delsa, pvzample, gali būti neteisingai nurodytas, dėl to gali atsirasti netikėto buferio perpildymo arba pertrūkio.
Sistemos lygio laiko nustatymo problemos yra dar vienas labai dažnas projektavimo klaidų šaltinis. Visų pirma asinchroniniai įvykiai yra dažnas klaidų šaltinis, kai sinchronizavimo ar kirtimo laiko domeno efektai nėra kruopščiai apsvarstyti. Veikiant dideliu greičiu tokio tipo klaidos gali būti labai problemiškos ir gali pasirodyti labai retai, galbūt tik tada, kai pasireiškia konkretūs duomenų modeliai. Daugelis įprastų laiko pažeidimų patenka į šią kategoriją ir paprastai juos labai sunku, o gal net neįmanoma imituoti.
Laiko pažeidimai taip pat gali būti dėl mažo signalo tikslumo tarp integrinių grandynų, ypač sistemose, kuriose kiekvienai grandinei yra keli maitinimo bėgiai. Dėl žemo signalo tikslumo gali atsirasti signalo triukšmas, skersinis pokalbis, atspindžiai, per didelė apkrova ir elektromagnetinių trukdžių (EMI), kurios dažnai pasireiškia kaip laiko pažeidimai. Maitinimo problemos, pvz., pereinamieji procesai (ypač sistemos paleidimo ar išjungimo metu), apkrovos svyravimai ir dideli galios išsklaidymo įtempiai taip pat gali sukelti paslaptingų klaidų, kurių dažnai nėra lengva atsekti iki maitinimo šaltinio. Net jei dizainas yra visiškai teisingas, plokštės gamybos problemos gali sukelti klaidų. Sugedusios litavimo jungtys ir netinkamai pritvirtintos jungtys, pvzample, gali būti klaidų šaltinis ir netgi gali priklausyti nuo temperatūros ar plokštės vietos. Naudojant pažangias FPGA pakavimo technologijas gali būti sunku patikrinti spausdintinės plokštės signalus, todėl norint pasiekti norimą signalą dažnai gali būti sunku. Dažnai daugelis dizaino problemų nesukuria tiesioginės klaidos ir turi plisti per dizainą, kol klaida iš tikrųjų pasireiškia. Pradinės klaidos atsekimas iki pagrindinės priežasties dažnai gali būti varginantis, sudėtingas ir daug laiko reikalaujantis uždavinys.
Pavyzdžiui,ampPavyzdžiui, vienas neteisingas bitas vertimo lentelėje gali nesukelti klaidos iki daugelio ciklų. Kai kurie įrankiai, kuriuos aptarsime vėliau šiame straipsnyje ir kurie naudoja specialią derinimo įrangą grandinėje, yra specialiai skirti tam, kad šios „klaidų paieškos“ būtų greitesnės ir lengvesnės. Prieš gilindamiesi į šių įrankių detales, pirmiausia panagrinėkime populiarią programinės įrangos pagrindu sukurtą derinimo technikos modeliavimą, kad geriau suprastume pažangą.tages ir trūkumaitagmodeliavimo naudojimas derinimui.
Modeliavimo naudojimas derinimui
Paprastai projektavimo modeliavimo metu visi realūs komponentai projekte ir už jo ribų yra matematiškai modeliuojami kaip programinės įrangos procesai, kurie nuosekliai vykdomi standartiniame CPU. Įvairių paskatų taikymas dizainui ir laukiamos išvesties palyginimas su modeliuojamo dizaino išvestimi yra paprastas būdas pastebėti akivaizdžiausias projektavimo klaidas. Langas, rodantis tipišką modeliavimo eigą, pateiktas 1 paveiksle žemiau. Aiškus advanastagSimuliacijos, palyginti su aparatinės įrangos pagrindu sukurtu derinimu, skirtumas yra tas, kad simuliaciją galima atlikti programinėje įrangoje – nereikia jokio tikrojo aparatinės įrangos pagrindu sukurto projektavimo ir bandymų stendo. Simuliacija gali greitai aptikti daugelį projektavimo klaidų, ypač susijusių su neteisingomis specifikacijomis, sąsajos reikalavimų nesusipratimu, funkcijų klaidomis ir daugeliu kitų „šiurkščių“ tipų klaidų, kurias lengva aptikti naudojant paprastus stimulų vektorius.
Modeliavimas yra ypač efektyvus, kai projektuotojas gali naudotis daugybe stimulų derinių ir gauti rezultatai yra gerai žinomi. Tokiais atvejais modeliavimas gali atlikti beveik išsamų projekto patikrinimą. Deja, dauguma projektų neturi lengvos prieigos prie išsamių testų rinkinių, o jų kūrimo procesas gali užimti daug laiko. Sukurti testų rinkinį, apimantį 100 % projekto, yra praktiškai neįmanoma dideliems FPGA pagrindu sukurtiems projektams, todėl reikia naudoti trumpesnius kelius, kad būtų galima aprėpti pagrindinius projekto elementus. Kitas modeliavimo sunkumas yra tas, kad tai nėra „realaus pasaulio“ įgyvendinimas ir negali užfiksuoti asinchroninių įvykių, dideliu greičiu vykstančių sistemos sąveikų ar laiko pažeidimų. Galiausiai, modeliavimo procesas gali būti labai lėtas, o jei reikia daug iteracijų, modeliavimas greitai tampa daugiausiai laiko reikalaujančia ir dažnai brangiausia kūrimo proceso dalimi.
Kaip alternatyva (arba galbūt geriau, kaip priedas prie modeliavimo) FPGA dizaineriai nustatė, kad jie gali pridėti derinimo aparatūrą į FPGA dizainą, kad galėtų stebėti ir valdyti pagrindinius įrenginio signalus. Šie metodai iš pradžių buvo sukurti kaip ad hoc metodai, tačiau palaipsniui peraugo į standartinę aparatinės įrangos derinimo strategiją. Šis in-circuit derinimo galimybių naudojimas suteikia reikšmingą pranašumątages FPGA pagrindu sukurtiems projektams, o kitame skyriuje bus nagrinėjamos trys dažniausiai naudojamos strategijos ir įvairūs jų pranašumai.tages ir trūkumaitages.
Įprasti FPGA derinimo būdai
Dažniausiai naudojami FPGA derinimo grandinės pajėgumų diegimo būdai naudoja įterptąjį loginį analizatorių, išorinę bandymo įrangą arba specialią signalo zondo aparatinę įrangą, įterptą į FPGA audinį. Įterptasis loginis analizatorius paprastai įgyvendinamas naudojant FPGA audinį ir įterpiamas į dizainą. JTAG prievadas naudojamas prieigai prie analizatoriaus, o užfiksuoti duomenys gali būti rodomi kompiuteryje. Kai naudojama išorinė bandymo įranga, bandoma FPGA konstrukcija modifikuojama taip, kad pasirinkti vidiniai FPGA signalai būtų nukreipiami į išvesties kaiščius. Tada šiuos kaiščius galima stebėti naudojant išorinę bandymo įrangą. Kai naudojama speciali signalo zondo aparatinė įranga, realiuoju laiku galima nuskaityti platų vidinių signalų pasirinkimą. Kai kurios zondavimo priemonės netgi gali būti naudojamos rašyti į registro ar atminties vietas, taip dar labiau pagerinant derinimo galimybes. Pažvelkime į advaną išsamiautages ir trūkumaitagkiekvieno iš šių metodų, tada pažiūrėkite į buvampdizainą, kad pamatytumėte, kaip šie skirtingi metodai gali paveikti bendrą derinimo laiką.
In-Circuit FPGA derinimo įterptas loginis analizatorius
Integruotojo loginio analizatoriaus koncepcija buvo tiesioginis ad-hoc grandinės derinimo galimybių, kurias dizaineriai įdiegė pirmą kartą panaudoję FPGA, rezultatas. Įterptieji loginiai analizatoriai pridėjo naujų galimybių ir panaikino reikalavimą dizaineriui kurti savo analizatorių. Dauguma FPGA siūlo šias galimybes, o trečiosios šalys siūlo standartinius analizatorius (Identify®, iš Synopsys, yra vienas populiarusample), kurios gali lengvai susieti su aukštesnio lygio įrankiais, kad dar labiau pagerintų našumą.
Loginio analizatoriaus funkcionalumas įterpiamas į dizainą, naudojant FPGA audinį ir įterptuosius atminties blokus kaip sekimo buferius, kaip parodyta 2 paveiksle. Taip pat sukuriami paleidimo ištekliai, kad būtų galima lengvai pasirinkti ir užfiksuoti sudėtingas signalų sąveikas. Prieiga prie analizatoriaus, skirta valdyti ir perduoti duomenis, paprastai pasiekiama naudojant standartinį JTAG prievadą, kad būtų supaprastinti sąsajos reikalavimai. Užfiksuoti duomenys gali būti rodomi kompiuteryje naudojant bendrą viewprograminė įranga ir paprastai atspindi loginio simuliatoriaus bangos formos išvestį viewstiliaus.
AdvanastagŠio metodo esmė yra ta, kad nenaudojami jokie papildomi FPGA įvesties / išvesties kaiščiai, tik standartinis JTAG signalus. Įterptųjų loginio analizatoriaus IP branduoliai paprastai yra palyginti nebrangūs ir kai kuriais atvejais gali būti esamos FPGA sintezės arba modeliavimo įrankių pasirinkimas. Kai kuriais atvejais įterptinis loginis analizatorius taip pat gali suteikti papildomų išėjimų nenaudojamuose įėjimuose/išvaduose, jei taip patogiau. Vienas iš minusųtagŠio metodo trūkumas yra tas, kad reikia daug FPGA išteklių. Visų pirma, jei naudojami sekimo buferiai, tai sumažins prieinamų blokinių atminties vienetų skaičių. Jei reikia plataus buferio, tai taip pat bus kompromisas atminties gylio atžvilgiu (nes platesnės atminties naudojimas lemia mažesnį atminties gylį) – didelis trūkumas.tage kai naudojate mažesnius įrenginius. Galbūt didžiausias šios technikos trūkumas yra tas, kad kiekvieną kartą, kai koreguojama zondo padėtis, būtina iš naujo kompiliuoti ir perprogramuoti dizainą. Naudojant didelį įrenginį, šis procesas gali užtrukti daug laiko. Dėl to, kaip signalo zondai yra išdėstyti konstrukcijoje, gali būti sunku susieti signalo laiko ryšius. Be to, vėlavimai tarp signalo zondų nėra nuoseklūs, todėl laiko ryšius sunku palyginti. Tai ypač sunku lyginant asinchroninius signalus arba signalus iš skirtingų laiko sričių.
FPGA derinimas grandinėje – išorinė bandymo įranga
In-circuit derinimo kodo naudojimas kartu su išorine bandymo įranga buvo natūralus vystymasis, kai išorinis loginis analizatorius jau buvo prieinamas sistemos testavimui. Sukūrus paprastą derinimo kodą, skirtą vidiniams bandymo signalams identifikuoti ir pasirinkti bei pritaikyti juos FPGA įvestims/išvadams, kaip parodyta 3 paveiksle, buvo galima panaudoti pažangias analizatorių galimybes (pvz., didelius sekimo buferius, sudėtingas paleidimo sekas ir kelias). viewparinktys), kad sukurtumėte paprastas, bet galingas derinimo aplinkas. Sudėtingesnės grandinės galimybės, skirtos išplėstinėms paleidimo parinktims, gali sumažinti reikalingų išėjimų skaičių. Pavyzdžiui,ample, pasirinkti konkrečius adresus plačioje magistralėje gali būti pernelyg sudėtinga, jei reikalingi išoriniai kontaktai.
Naudojant vidinę FPGA logiką žymiai sumažėja įvesties/išvesties reikalavimai ir netgi galima ieškoti konkrečių adresų modelių (galbūt skambučio ir grįžimo sekos), kad būtų galima derinti sudėtingesnes problemas. Jei yra bendra vartotojo sąsaja, tai gali supaprastinti mokymosi kreivę ir pagerinti produktyvumą.
AdvanastagŠio požiūrio esmė yra ta, kad jis padidina išorinės bandymo įrangos kainą, todėl nėra papildomų įrankių sąnaudų. Kai kurias derinimo grandinės IP šerdis galima įsigyti iš įrangos gamintojų arba FPGA gamintojų, jos gali būti labai mažos arba net nemokamos. FPGA išteklių, reikalingų signalo atrankos logikai įgyvendinti, kiekis yra labai mažas, o kadangi sekimo funkcija atliekama naudojant išorinį loginį analizatorių, blokinių atmintinių nereikia. Kadangi pasirinkimo logika yra nebrangi, taip pat galima palaikyti daugybę kanalų su plačiu paleidimu. Loginis analizatorius gali veikti tiek laiko, tiek būsenos režimu, o tai padeda atskirti kai kurias laiko nustatymo problemas.
TrūkumastagŠis metodas gali apimti poreikį įsigyti loginį analizatorių, jei jis dar nėra priskirtas projektui. Šis nepasitenkinimastagDaugeliu atvejų to gali pakakti atgrasyti nuo šio požiūrio. Tačiau atminkite, kad tampa prieinamos kai kurios nebrangios loginio analizatoriaus parinktys, kuriose ekranui naudojamas kompiuteris arba planšetinis kompiuteris, todėl ši parinktis yra daug ekonomiškesnė atliekant paprastus derinimo reikalavimus.
Sunaudotų FPGA kontaktų skaičius gali būti dar vienas trūkumastage ir jei reikia stebėti plačias magistrales, reikia daug planuoti plokštės išdėstymą ir pridėti derinimo jungtis. Šį reikalavimą dažniausiai sunku numatyti ankstyvame projektavimo etape ir kitas nepageidaujamas sudėtingumas. Panašiai kaip ir naudojant įterptąjį loginį analizatorių, išorinio bandymo strategija reikalauja perkompiliuoti ir perprogramuoti dizainą, kai reikia kiekvieno naujo eksperimento.
Bendras disadvanastagŠių dviejų metodų privalumai – lusto išteklių naudojimas (kuris taip pat gali turėti įtakos projekto laiko nustatymui ir sukurti papildomus derinimo reikalavimus), poreikis perkompiliuoti ir perprogramuoti projektą (kuris gali pridėti valandas ar net dienas prie derinimo grafiko), išankstinis planavimas, reikalingas tikėtiniems bandymų scenarijams nustatyti, ir papildomų lusto įvesties/išvesties išteklių naudojimas sukūrė poreikį sukurti metodą be šių trūkumų. Vienas iš atsakymų buvo specialios derinimo logikos įtraukimas į FPGA struktūrą kai kuriuose įrenginiuose. Rezultatas buvo derinimas grandinėje naudojant aparatinės įrangos zondus.
FPGA derinimo grandinėje aparatinės įrangos zondai
Aparatūros zondų naudojimas labai supaprastina FPGA derinimo būdus. Ši technika, įdiegta kaip „Live Probe“ funkcija SmartFusion2®SoC FPGA ir IGLOO®2 FPGA įrenginiuose, prideda specialias zondo linijas prie FPGA audinio, kad būtų galima stebėti bet kurio loginio elemento registro bito išvestį. Kaip parodyta 4 paveiksle pateiktoje blokinėje diagramoje, aparatūros zondai yra prieinami dviem zondo kanalais A ir B.
Pasirinkti registro išėjimai (zondo taškai), kaip ir tie, kurie gaunami paveikslėlio apačioje, nukreipiami virš dviejų zondo kanalų ir, jei jie pasirinkti, gali būti taikomi A arba B kanalui. Šie realaus laiko kanalo signalai gali būti siunčiami į tam skirtus zondo A ir zondo B kaiščius įrenginyje. Probe A ir Probe B signalai taip pat gali būti nukreipti viduje į integruotą loginį analizatorių.
Atkreipkite dėmesį, kad zondo kaiščių laiko charakteristikos yra reguliarios ir nežymiai skiriasi nuo vieno zondo taško iki kito, todėl daug lengviau palyginti realaus laiko signalų laiko charakteristikas. Duomenys gali būti fiksuojami iki 100 MHz dažniu, todėl jie tinka daugeliui tikslinių konstrukcijų.
Galbūt svarbiausia, kad zondo taškų vietos, nes jos nėra pasirinktos įgyvendinant projektą (jos parenkamos naudojant specialią aparatinę įrangą, kol dizainas veikia FPGA), galima greitai pakeisti tiesiog siunčiant pasirinkimo duomenis į įrenginį. Nereikia dizaino perkompiliuoti ir perprogramuoti.
Siekiant dar labiau supaprastinti „Live Probe“ funkcijos naudojimą, susietas derinimo programinės įrangos įrankis turi prieigą prie visų zondo signalų vietų per automatiškai sugeneruotą derinimo funkciją. file. Kaip parodyta 5 paveiksle, signalo pavadinimą galima pasirinkti iš signalų sąrašo ir pritaikyti norimam kanalui. Tai galima padaryti net projektuojant, kad zondavimo veikla projekte būtų sklandi ir labai efektyvi.
Daugeliu atvejų aparatinės įrangos zondo galimybes, pvz., „Live Probe“, galima naudoti kartu su anksčiau aprašytu įterptuoju loginiu analizatoriumi ir išoriniais bandymo metodais.
Kaip parodyta 6 paveiksle, „Live Probe“ galimybė pasirinkti signalus „skubiai“ leidžia greitai ir lengvai pakeisti stebimus signalus, nereikalaujant iš naujo kompiliuoti projekto. Išorinis loginis analizatorius arba osciloskopas gali lengvai stebėti zonduojamus signalus, kaip parodyta paveikslėlio viršutinėje dešinėje dalyje ant specialių zondo išvesties kontaktų. Kaip alternatyva (arba net papildomai) vidinis loginis analizatorius (ILA identifikavimo blokas, parodytas paveikslėlyje) gali būti naudojamas zondo kontaktams stebėti. Zondo signalus gali užfiksuoti ILA ir stebėti bangos formos lange. Zondo vietas galima keisti nereikalaujant iš naujo kompiliuoti tikslinio projekto.
Atkreipkite dėmesį, kad papildomos paleidimo ir sekimo galimybės gali būti naudojamos siekiant pagerinti zondo funkcionalumą, todėl lengva pastebėti net sudėtingas dizaino problemas.
„SmartFusion2 SoC FPGA“ ir „IGLOO2 FPGA“ įrenginiuose taip pat yra papildomų aparatinės įrangos derinimo galimybių. Viena iš šių galimybių, vadinama „Active Probe“, gali dinamiškai ir asinchroniškai skaityti arba rašyti į bet kurį loginio elemento registro bitą. Įrašyta reikšmė išlieka vieną takto ciklą, todėl gali tęstis įprastas veikimas, todėl tai yra labai vertinga derinimo priemonė. „Active Probe“ yra ypač įdomus, jei reikia greitai stebėti vidinį signalą (galbūt tiesiog patikrinti, ar jis aktyvus arba norimoje būsenoje, pvz., atstatymo signalas), arba jei reikia greitai patikrinti loginę funkciją įrašant į zondavimo tašką.
(galbūt norint inicijuoti būsenos mašinos perėjimą greitai nustatant įvesties reikšmę, kad būtų galima išskirti valdymo srauto problemą).
Kita „Microsemi“ teikiama derinimo galimybė yra „Memory Debug“. Ši funkcija leidžia dizaineriui dinamiškai ir asinchroniškai skaityti arba rašyti į pasirinktą FPGA audinio SRAM bloką. Kaip parodyta derinimo įrankio ekrano kopijoje (7 pav.), pasirinkus skirtuką Atminties blokai, vartotojas gali pasirinkti norimą skaityti atmintį, atlikti momentinės atminties fiksavimą, modifikuoti atminties reikšmes ir įrašyti reikšmes atgal į įrenginį. Tai gali būti ypač naudinga tikrinant arba nustatant duomenų buferius, naudojamus ryšių prievaduose, skirtuose skaičiavimui orientuotiems įbrėžimams arba net kodui, vykdomam integruotojo procesoriaus. Sudėtingų nuo duomenų priklausančių klaidų derinimas yra žymiai greitesnis ir lengvesnis, kai prisiminimus galima stebėti ir valdyti taip greitai.
Kai dizainas bus derinamas, gali būti pageidautina išjungti aparatūros derinimo galimybes, kad būtų apsaugota slapta informacija. Užpuolikas gali naudoti tas pačias priemones, kad nuskaitytų svarbią informaciją arba pakeistų sistemos nustatymus, kurie leistų lengvai pasiekti jautrias sistemos dalis. „Microsemi“ pridėjo papildomų funkcijų, leidžiančių dizaineriui apsaugoti įrenginį po derinimo. Pavyzdžiui,ampPrieiga prie „Live Probe“ ir „Active Probe“ gali būti užrakinta, kad būtų visiškai išjungta funkcija, kaip galimos atakos priemonės (tai netgi pašalina galimybę zondo veiklai sukurti bet kokius maitinimo srovės modelius, kuriuos būtų galima naudoti bandant netiesiogiai stebėti zondo duomenis). Arba prieiga prie pasirinktų dizaino dalių gali būti užrakinta, kad būtų išvengta prieigos tik prie tų dalių. Tai gali būti patogu, jei tik dalis konstrukcijos turi būti saugi, kad likusi dalis būtų prieinama atliekant bandymus lauke arba atliekant klaidų analizę.
In-Circuit derinimo palyginimo diagrama
Dabar, kai detalus review iš trijų pagrindinių grandinėje esančių aparatūros derinimo metodų buvo aprašyta suvestinė diagrama, kaip parodyta 8 paveiksle, kurioje išsamiai aprašomi įvairūs pranašumaitages ir trūkumaitagkiekvieno metodo. Atminkite, kad kai kurie metodai gali būti naudojami kartu (Live Probe ir Internal Logic Analyzer (ILA), pvz., Synopsys Identify, pvz.ample), matome kiekvieno metodo pagrindinius stipriuosius ir silpnuosius aspektus. Vidinio aparatūros derinimo galimybių rinkinys („Live Probe“, „Active Probe“ ir „Memory Debug“ – bendrai vadinamas „SmartDebug“) yra silpniausias, palyginti su kitais metodais, kai kalbama apie bendrą galimų zondų skaičių (raudonas apskritimas), ir yra silpnesnis nei geriausias (geltonas apskritimas), kai atsižvelgiama į fiksavimo greitį (išorinė bandymo įranga gali būti greitesnė).
ILA pagrįsti metodai, tokie kaip Synopsys Identify, yra silpniausi, palyginti su kitais metodais ir kai atsižvelgiama į FPGA išteklių reikalavimus. Išorinės bandymo įrangos metodai yra silpniausi dėl daugelio priežasčių, o sąnaudos, projekto laiko poveikis ir zondo judėjimo išlaidos (dėl būtinybės iš naujo sudaryti projektą) yra sunkiausios. Galbūt optimalus sprendimas yra „SmartDebug“ ir vienos iš kitų technikų derinys, kad būtų galima sumažinti „SmartDebug“ kanalų skaičiaus silpnumą ir zondo taško judėjimą.tagTaip pat sumažėjo kitų technikų.
Signalų klasifikacijos
Galima naudingai atskirti kai kuriuos dažniausiai pasitaikančius signalų tipus ir tai gali padėti planuojant derinimo metodą. Pavyzdžiui,ampPavyzdžiui, signalai, kurie nesikeičia, išskyrus sistemos paleidimo metu, pvz., sistemos atstatymas, blokų atstatymas arba inicijavimo registrai, gali būti klasifikuojami kaip statiniai signalai. Šių tipų signalus efektyviausiai galima pasiekti naudojant priemonę, kuri gali lengvai stebėti ir valdyti signalą, nereikalaujant ilgo pakartotinio kompiliavimo ciklo. „Active Probe“ yra puiki priemonė statiniams signalams derinti. Panašiai signalai, kurie keičiasi dažniau, bet didžiąją laiko dalį vis dar yra statiniai, gali būti klasifikuojami kaip pseudostatiniai ir taip pat efektyviausiai derinami naudojant „Active Probe“. Signalai, kurie dažnai keičiasi, pvz., laikrodžio signalai, gali būti klasifikuojami kaip dinaminiai ir nėra taip lengvai pasiekiami naudojant „Active Probe“. „Live Probe“ yra geresnis pasirinkimas šiems signalams stebėti.
Paprastas derinimo naudojimo atvejis
Dabar, kai geriau suprantame įvairias grandinės derinimo parinktis, pažvelkime į paprastą dizainą, pvz.ampkad pamatytumėte, kaip šie metodai veikia. 9 paveiksle parodytas paprastas FPGA dizainas SmartFusion2 SoC FPGA įrenginyje. Mikrovaldiklio posistemis (MSS) iš naujo nustatomas naudojant CoreSF2Reset Soft IP bloką. Šio bloko įėjimai yra įjungimo atstatymas, vartotojo audinio atstatymas ir išorinis atstatymas. Išvestys yra vartotojo audinio atstatymas, MSS atstatymas ir M3 atstatymas. Klaidos simptomai yra tai, kad įvesties / išvesties neveikia, nors įrenginys sėkmingai išeina iš POR būsenos. Paveiksle taip pat pavaizduotos trys skirtingos šios klaidos derinimo parinktys: Mėlynas langelis (pažymėtas ETE) skirtas išorinės bandymo įrangos metodui; žalias langelis (pažymėtas ILA) skirtas vidinio loginio analizatoriaus metodui; o oranžinė dėžutė (pažymėta AP) skirta Active Probe metodui. Darysime prielaidą, kad galimos pagrindinės klaidos priežastys yra netinkamai nurodytos „CoreSF2Reset Soft IP“ bloko atstatymo įvestys.
Dabar pažvelkime į trijų iš anksčiau aprašytų grandinės metodų derinimo procesą.
Išorinė bandymo įranga
Taikant šį metodą, daroma prielaida, kad bandymo įranga yra prieinama ir nenaudojama aukštesnio prioriteto projekte. Be to, svarbu planuoti iš anksto, kad būtų prieinami kai kurie FPGA įėjimai/išėjimai, kuriuos būtų galima lengvai prijungti prie bandymo įrangos. PCB antraštė, pvzamp...būtų labai naudinga ir sumažintų laiką, sugaištą bandant nustatyti ir prisijungti prie „tikėtino įtariamojo“ arba galimo kontaktų trumpojo jungimo zondavimo metu. Reikės perkompiliuoti projektą, kad būtų pasirinkti signalai, kuriuos norime tirti. Tikimės, kad „nelupsime svogūno“ ir turėsime pasirinkti papildomus signalus tolesniam tyrimui, nes dažnai mūsų pradinis tyrimas tik sukelia daugiau klausimų. Bet kokiu atveju, perkompiliavimo ir perprogramavimo procesas gali užtrukti daug laiko, o jei dėl jo pažeidžiami laiko nustatymai, reikia perprojektuoti (visi žinome, kaip vargina bandymas išspręsti laiko uždarymo problemas, ypač kai atliekate projekto pakeitimus, kad rastumėte projekto klaidą – visas procesas gali užtrukti nuo minučių iki valandų)! Taip pat svarbu atsiminti, kad jei projekte nėra laisvų vartotojo įvesties / išvesties prievadų, šio metodo negalima įdiegti. Be to, šis metodas yra struktūriškai įsibrovęs į projektą, o su laiku susijusios klaidos gali išnykti arba vėl atsirasti tarp iteracijų.
Vidinis loginis analizatorius
Naudojant šį metodą, ILA turi būti įterptas į dizainą naudojant audinio išteklius, o tada jį reikia iš naujo sukompiliuoti. Atminkite, kad jei ILA jau buvo sukurtas, signalai, kuriuos norime ištirti, gali būti neįtaisyti, todėl taip pat reikės iš naujo kompiliuoti. Šis procesas gali pakeisti pradinį dizainą ir pažeisti laiko apribojimus. Jei laikomasi laiko, dizainą reikia perprogramuoti ir iš naujo inicijuoti. Visas šis procesas gali užtrukti kelias minutes ar net valandas, jei perkompiliavimo laikas yra ilgas ir reikia atlikti kelis kartus. Šis metodas yra struktūriškai įkyrus ir gali sukelti panašių problemų, kaip aprašyta naudojant aukščiau pateiktą metodą.
Aktyvus zondas
Naudojant šį metodą, aktyvųjį zondą galima nukreipti į įvairių atstatymo signalų šaltinį, kurie visi gaunami iš registro išvesties (kaip įprasta bet kurioje geroje skaitmeninio projektavimo praktikoje). Signalai parenkami po vieną iš Active Probe meniu, parodyto 10 pav. Pasirinktos signalo reikšmės gali būti nuskaitomos ir rodomos „Active Probe“ duomenų lange. Bet kokie klaidingi teiginiai yra lengvai atpažįstami. Šį testą galima atlikti iš karto, nereikia perkompiliuoti ir perprogramuoti įrenginio, be to, jis nėra struktūrinis ar procedūrinis kišimasis. Visas procesas trunka vos kelias sekundes. Šis metodas taip pat gali sukurti valdomumą (asinchroniškai keisti reikšmes), o kiti du metodai neleis. Šiame konkrečiame buvampatstatymo signalą, gautą iš registro, galima lengvai patikrinti ir nustatyti, kad jis yra aktyvioje būsenoje.
Momentinis atstatymo signalo perjungimas gali būti pasiektas asinchroniškai manipuliuojant registru, generuojančiu likusius signalus.
Sudėtingesnis derinimo naudojimo atvejis
Aukščiau pateiktas dizainas buvo labai paprastas ir naudingas kaip įvadas į aprašytų projektavimo metodų naudojimą, tačiau sudėtingesnis pavyzdysample gali būti dar iliustratyvesnis. Daug kartų susidomėjimo signalas nėra statinis signalas, kaip buvo mūsų paprastame buvample, bet yra dinamiškas. Įprastas dinaminis signalas yra tarpinis laikrodis, galbūt naudojamas nuosekliosios sąsajos rankos paspaudimo laikui nustatyti. 11 paveiksle parodytas toks dizainas su vartotojo Soft IP šerdimi, šiuo atveju pasirinktine nuoseklia sąsaja, prijungta prie sistemos APB magistralės. Klaidų simptomai yra tokie, kad vartotojo tinkintoje nuosekliojoje sąsajoje nevykdoma jokia veikla, o kai APB magistralės valdiklis išduoda operaciją, kad pasiektų nuosekliąją sąsają, ji pereina į išimties būseną, rodančią neteisingą rankos paspaudimą. Panašu, kad šios sąlygos atmeta statinę priežastį, pvz., neteisingą atstatymo signalą, nes operacijos būsenos mašina neveikia taip, kaip tikėtasi, todėl atsiranda išimtis. Manoma, kad pagrindinė priežastis yra laikrodžio dažnio generatorius vartotojo IP branduolyje.
Jei jis neveikia tinkamu dažniu, gali atsirasti aprašytų klaidų.
Šioje situacijoje tikriausiai būtų geresnė strategija „Active Probe“ metodą pakeisti „Live Probe“. Tai iliustruoja aukščiau esančiame paveikslėlyje oranžinės spalvos LP dėžutė, naudojant JTAG signalas zondo šaltinio pasirinkimui.
Išorinė bandymo įranga
Šiuo atveju metodika labai panaši į anksčiau aprašytą paprastą pvzample. Vartotojo laikrodžio signalas išvedamas į bandymo tašką (tikiuosi, antraštėje), todėl reikia daug laiko atimančio perkompiliavimo. Taip pat gali būti naudinga pateikti atskaitos signalą, galbūt sistemos laikrodį, kuris naudojamas vartotojo IP laikrodžiui kaip palyginimo signalas. Mums vėl reikės perkompiliuoti ir perprogramuoti, todėl visas procesas gali užtrukti daug laiko.
Vidinis loginis analizatorius
Šis atvejis labai panašus į paprastą buvample. Turi būti įterptas ILA arba apibrėžtas norimas signalas ir vykdomas perkompiliavimo ir perprogramavimo ciklas. Dėl visų anksčiau aprašytų problemų derinimo ciklas trunka ilgą laiką. Tačiau yra ir papildomo sudėtingumo. Laikrodis, valdantis ILA, turi būti sinchroninis ir idealiu atveju daug greitesnis, palyginti su laikrodžiu, kurį reikia stebėti iš vartotojo minkštojo IP branduolio. Jei šie laikrodžiai yra asinchroniniai arba neturi teisingų laiko ryšių, duomenų fiksavimas bus nenuspėjamas ir galimas derinimo proceso painiavos šaltinis.
Atkreipkite dėmesį, kad jei vartotojo minkštas IP laikrodis nėra sugeneruotas mikroschemoje (galbūt jis atkurtas iš nuosekliosios sąsajos), dizaineriui gali tekti pridėti laikrodžio modulį, kad sugeneruotų greitesnį ILA laikrodį naudojant papildomus išteklius ir galbūt sukuriant laiko pažeidimą.
Tiesioginis zondas
Naudojant šį metodą, „Live Probe“ galima greitai nurodyti vartotojo laikrodžio šaltinį ir bet kurį kitą laikrodžio šaltinį iš registro, kad būtų nustatyta pagrindinė klaidos priežastis. Tiesioginis zondas parodys pasirinktus signalų išėjimus realiuoju laiku, todėl bet kokį signalų laiko ryšį nustatyti bus daug lengviau. Visas procesas trunka vos kelias sekundes.
Kitos nuosekliųjų sąsajų derinimo funkcijos
Taip pat svarbu pažymėti, kad SmartFusion2 SoC FPGA ir IGLOO2 FPGA įrenginiuose yra daug papildomų derinimo galimybių, kurios gali būti naudojamos nuosekliosiose sąsajose, pvz., ankstesniame buv.ampprojektavimas, kuriame klaidos yra dar sudėtingesnės. SERDES Debug, pvzample, suteikia specifines derinimo galimybes skirtoms didelės spartos nuosekliosioms sąsajoms. Kai kurios SERDES derinimo funkcijos apima PMA testavimo palaikymą (pvz., PRBS modelio generavimą ir grįžtamojo ryšio testavimą), kelių SERDES testavimo konfigūracijų palaikymą su registro lygio perkonfigūravimu, kad būtų išvengta viso projektavimo srauto naudojimo atliekant konfigūracijos pakeitimus, ir tekstines ataskaitas, kuriose rodomi sukonfigūruoti protokolai, SERDES konfigūracijos registrai ir juostos konfigūracijos registrai. Šios funkcijos palengvina SERDES derinimą ir gali būti naudojamos kartu su „Live Probe“ ir „Active Probe“, siekiant paspartinti sudėtingų grandinių derinimą.
Anksčiau aprašytas atminties derinimo įrankis taip pat gali būti naudojamas kartu su SERDES Debug, siekiant pagreitinti testavimą. Kadangi atminties buferius galima greitai ir lengvai patikrinti ir pakeisti naudojant atminties derinimo įrankį, galima greitai sukurti „bandymo paketus“ ir stebėti kilpinio ryšio arba tarpsisteminio ryšio rezultatus. Kūrėjas gali pasinaudoti šiomis galimybėmis ir taip sumažinti specializuotų „bandymo laidų“, kurie sunaudoja papildomą FPGA struktūrą ir gali turėti įtakos lustų laikui, poreikį.
Išvada
Šiame straipsnyje išsamiai aprašyti keli skirtingi FPGA ir SoC FPGA derinimo grandinėje įgyvendinimo būdai – integruoto loginio analizatoriaus naudojimas, išorinės bandymo įrangos naudojimas ir specialių zondavimo grandinių, integruotų į FPGA struktūrą, naudojimas. Įtraukus specializuotas ir specialias zondavimo grandines, tokias kaip „Active Probe“ ir „Live Probe“, kurias siūlo „Microsemi“ „SmartFusion2 SoC FPGA“ ir „IGLOO2 FPGA“ įrenginiuose, derinimo procesas gerokai paspartėjo ir supaprastėjo. Galimybė greitai modifikuoti vidinių signalų pasirinkimą (nereikia atlikti labai daug laiko reikalaujančio perkompiliavimo ir perprogramavimo ciklo) ir galimybė zonduoti vidinius signalus (nereikia naudoti FPGA struktūros ir galimų laiko pažeidimų) buvo pagrindiniai pranašumai.tages derinant FPGA dizainą. Be to, buvo aprašytas kelių metodikų, kurie gali veikti kartu, kad būtų užtikrinta dar išsamesnė derinimo galimybė, naudojimas. Galiausiai du buvęample debug naudojimo atvejai buvo pateikti siekiant iliustruoti kompromisus tarp aprašytų metodų.
Norėdami sužinoti daugiau
- IGLOO2 FPGA
- „SmartFusion2“ sistemos lustų rinkiniai (FPGA)
Microsemi Corporation (Nasdaq: MSCC) siūlo platų puslaidininkių ir sistemų sprendimų portfelį ryšių, gynybos ir saugumo, aviacijos ir pramonės rinkoms. Produktai apima didelio našumo ir spinduliuotei atsparius analoginius mišraus signalo integrinius grandynus, FPGA, SoC ir ASIC; galios valdymo produktai; laiko matavimo ir sinchronizavimo įrenginiai bei tikslūs laiko sprendimai, nustatantys pasaulio laiko standartą; balso apdorojimo įrenginiai; RF sprendimai; atskiri komponentai; saugumo technologijos ir keičiamo dydžio anti-tamper produktai; maitinimo per Ethernet integriniai grandynai ir vidurio spinduliai; taip pat individualaus projektavimo galimybės ir paslaugos. „Microsemi“ būstinė yra Aliso Viejo, Kalifornijoje, ir visame pasaulyje turi apie 3,400 darbuotojų. Sužinokite daugiau adresu www.microsemi.com.
© „Microsemi Corporation“, 2014 m. Visos teisės saugomos. Microsemi ir Microsemi logotipas yra Microsemi Corporation prekių ženklai. Visi kiti prekių ir paslaugų ženklai yra atitinkamų jų savininkų nuosavybė.
„Microsemi“ įmonės būstinė
- Vienas Įmonė, Aliso Viejo CA 92656 JAV
- Viduje JAV: +1 800-713-4113
- Lauke JAV: +1 949-380-6100
- Pardavimai: +1 949-380-6136
- Faksas: +1 949-215-4996
- El. paštas: sales.support@microsemi.com
DUK
- Kl .: koks yra didžiausias įrenginio duomenų fiksavimo dažnis?
A: Įrenginys palaiko duomenų rinkimą iki 100 MHz dažniu, todėl tinka daugumai taikinių. - K: Ar man reikia iš naujo kompiliuoti dizainą, kai derinimui naudoju zondo grandines?
A: Ne, zondavimo taškų vietas galima greitai pakeisti nereikalaujant perkompiliuoti projekto ar perprogramuoti.
Dokumentai / Ištekliai
![]() |
Microsemi In-Circuit FPGA derinimas [pdfInstrukcijos In-Circuit FPGA derinimas, FPGA derinimas, derinimas |