Microsemi-logotip

Microsemi In-Circuit FPGA Debug

Microsemi-In-Circuit-FPGA-debug-proizvod

Informacije o proizvodu

Tehnički podaci

  • Vrsta uređaja: Microsemi SmartFusion2 SoC FPGA
  • Datum izlaska: svibanj 2014
  • Mogućnosti otklanjanja pogrešaka: In-Circuit FPGA Debug, ugrađeni logički analizator
  • Maksimalna frekvencija snimanja podataka: do 100MHz

Sažetak
FPGA su moćni elementi dizajna u ugrađenim sustavima s mnogo naprednih dizajnatages, ali ti uređaji mogu imati složene dizajne sa složenim problemima u dizajnu koje je potrebno otkloniti. Praćenje problema dizajna kao što su pogreške u definiciji, problemi interakcije sustava i pogreške u vremenskom određivanju sustava mogu biti izazov. Uključivanje mogućnosti ispravljanja pogrešaka unutar kruga u FPGA može dramatično poboljšati ispravljanje pogrešaka hardvera i izbjeći bezbroj sati frustracije. Ovaj rad opisuje nekoliko različitih pristupa otklanjanju pogrešaka unutar kruga za FPGA, identificira ključne kompromise i kroz exampdizajn, namijenjen za Microsemi SmartFusion®2 SoC FPGA uređaj, pokazat će kako se nove mogućnosti mogu koristiti za ubrzavanje otklanjanja pogrešaka i testiranja.

Uvod

FPGA su sveprisutni i moćni elementi dizajna i sada se nalaze u gotovo svakom ugrađenom sustavu. S povećanjem kapaciteta, uključivanjem složenih funkcionalnih blokova na čipu i naprednih serijskih sučelja, ovi uređaji također mogu imati složene dizajnerske probleme koje je potrebno otkloniti. Praćenje problema kao što su pogreške funkcionalne definicije (na razini FPGA ili sustava), problemi interakcije funkcionalnog sustava, problemi s vremenskim rasporedom sustava i problemi s vjernošću signala između IC-ova (kao što su šum, preslušavanje ili refleksije) postaju mnogo složeniji kada se koriste napredni FPGA. Simulacija je svakako velika pomoć u identificiranju mnogih problema dizajna, ali mnoge interakcije u stvarnom svijetu neće se pojaviti dok se dizajn ne implementira u hardver. Razvijeno je nekoliko različitih tehnika za otklanjanje pogrešaka složenih problema dizajna kako bi se pojednostavio proces. Pažljivo razumijevanje svake od ovih ključnih tehnika, uključujući razne naprednetages i disadvantages, korisno je kada se razmatra koja je tehnika ili kombinacija tehnika prikladna za određeni dizajn.
Bivšiample FPGA dizajn, namijenjen za Microsemi SmartFusion2 SoC FPGA uređaj, može se koristiti za demonstraciju nekih naprednihtages i disadvantages ovih standardnih tehnika, kao i najnovije mogućnosti otklanjanja pogrešaka unutar kruga. Ovaj ilustrativni prample će pokazati kako se ove različite tehnike mogu koristiti za ubrzavanje identifikacije i uklanjanja hardverskih problema tijekom hardverskog uklanjanja pogrešaka.

Zašto je FPGA ispravljanje pogrešaka kritičan aspekt dizajna i razvoja sustava?
FPGA imaju dva glavna modela upotrebe koji ih razlikuju od ostalih elemenata dizajna. FPGA se mogu koristiti u proizvodnom proizvodu ili se mogu koristiti kao razvojno sredstvo za dokazivanje ili prototip koncepta proizvodnog dizajna. Kada se koriste kao proizvodno vozilo, FPGA mogu biti mnogo fleksibilniji cilj od ASIC-a ili proizvodnih vozila temeljenih na CPU-u. Ovo je osobito važno za novi dizajn, onaj koji još nije ugrađen u hardver. Dizajni s različitim arhitektonskim opcijama mogu se jednostavno izraditi i testirati tako da se identificira optimalni dizajn. FPGA s procesorima na čipu (SoC FPGA) također omogućuju ustupanje procesora temeljenog na procesoru s hardverski potpomognutim funkcijama ubrzanja temeljenim na FPGA. Ovi advantages može dramatično smanjiti vrijeme potrebno za dizajn, validaciju, testiranje i analizu kvarova za razvoj novih proizvoda.
Kada se koristi za izradu prototipa dizajna, možda za proizvodni ASIC, fleksibilnost FPGA je ključna prednost. Stvarna hardverska platforma, čak i ona koja ne radi punom brzinom, znatno olakšava dobivanje detaljnih metrika performansi sustava, podataka analize propusnosti i rezultata dokaza koncepta arhitekture. FPGA podrška za ojačane implementacije industrijskih standardnih sabirnica (kao što su PCIe®, Gigabit Ethernet, XAUI, USB, CAN i drugi) pojednostavljuje testiranje povezano s ovim sučeljima. Najnovije obitelji FPGA s ARM procesorima na čipu (SoC FPGA) olakšavaju izradu prototipa implementacija s ugrađenim procesorima. Prethodno razvijeni kod procesora može se prenijeti na prototip, a novi kod kreirati paralelno s naporima u dizajnu hardvera.

Ova kombinacija standardnog procesora sa standardnim sabirnicama sučelja omogućuje iskorištavanje velikog ekosustava dostupnih biblioteka kodova, upravljačkih programa, funkcionalnih API-ja, operativnih sustava u stvarnom vremenu, pa čak i potpunih operativnih sustava za mnogo bržu izradu radnog prototipa. Osim toga, nakon što se dizajn učvrsti, FPGA prototip se može koristiti za snimanje opsežnih skupova testova simulacije (i za podražaj i za odgovor) koji odražavaju stvarne podatke sustava. Ovi skupovi podataka mogu biti neprocjenjivi u stvaranju konačnih simulacija za ASIC ili drugu proizvodnu implementaciju. NapredaktagUpotreba FPGA kao prototipa dizajna može dramatično smanjiti vrijeme za dizajn, validaciju, testiranje i analizu kvarova za implementaciju konačnog proizvoda.
U oba ova uobičajena modela upotrebe FPGA ključna je prednost fleksibilnost FPGA kao cilja dizajnatage. To znači da bi mnoge promjene dizajna i iteracije bile norma, pa bi stoga sposobnost brzog otklanjanja grešaka u dizajnu bila ključna za omogućavanje što više opcija dizajna. Bez učinkovite mogućnosti otklanjanja pogrešaka veći dio napredovanjatagFleksibilnost dizajna FPGA bit će smanjena dodatnim potrebnim vremenom za otklanjanje pogrešaka. Srećom, FPGA također mogu pružiti dodatne hardverske značajke koje dramatično pojednostavljuju otklanjanje pogrešaka u stvarnom vremenu. Prije nego što pogledamo ove mogućnosti, prvo pogledajmo najčešće vrste problema s kojima se može suočiti FPGA dizajn kako bismo imali odgovarajuću pozadinu za procjenu učinkovitosti i povezanih kompromisa različitih alata za uklanjanje pogrešaka.

Uobičajeni problemi kod otklanjanja pogrešaka u dizajnu FPGA

Zajedno s proširenim mogućnostima koje donose moderni FPGA, povezana povećana složenost otežava stvaranje dizajna bez grešaka. Zapravo, procijenjeno je da otklanjanje pogrešaka može preuzeti više od 50% ciklusa dizajna ugrađenog sustava. Budući da pritisci vremena za izlazak na tržište nastavljaju stiskati razvojni ciklus, otklanjanje pogrešaka u hardveru početnog sustava prebačeno je na naknadnu misao—prečesto se pretpostavlja da će verifikacija (sama po sebi veliki postotak)tage rasporeda razvoja), uhvatit će sve greške prije početnog pokretanja sustava. Pogledajmo samo nekoliko uobičajenih tipova problema sa sustavom kako bismo bolje razumjeli izazove s kojima će se tipični dizajn suočiti tijekom početnog postavljanja sustava.

Pogreške u funkcionalnoj definiciji mogu biti dvostruko teške za pronalaženje budući da je dizajner krivo shvatio određeni zahtjev, tako da se pogreška može previdjeti čak i kada se pažljivo gledaju detalji dizajna. bivšiampPogreška uobičajene funkcionalne definicije bila bi gdje prijelaz stroja stanja ne završi u pravom stanju. Pogreške se također mogu pojaviti u sučeljima sustava kao problem interakcije. Kašnjenje sučelja, nprample, može biti netočno naveden što rezultira neočekivanim stanjem prekoračenja ili prelivanja međuspremnika.
Problemi s vremenom na razini sustava još su jedan vrlo čest izvor grešaka u dizajnu. Osobito su asinkroni događaji čest izvor pogrešaka kada se sinkronizacija ili učinci vremenske domene križanja ne razmotre pažljivo. Kada radite velikom brzinom, ove vrste pogrešaka mogu biti vrlo problematične i mogu se pojaviti vrlo rijetko, možda samo kada se očituju specifični obrasci podataka. Mnoga uobičajena kršenja vremena spadaju u ovu kategoriju i obično ih je vrlo teško, ako ne i nemoguće simulirati.

Poremećaj vremenskog određivanja također može biti rezultat niske vjernosti signala između integriranih krugova, posebno u sustavima s više strujnih tračnica za svaki krug. Niska vjernost signala može rezultirati šumom signala, preslušavanjem, refleksijom, prekomjernim opterećenjem i problemima s elektromagnetskom interferencijom (EMI) koji se često pojavljuju kao poremećaji vremena. Problemi s napajanjem, poput prijelaznih pojava (posebno tijekom pokretanja ili gašenja sustava), varijacija opterećenja i velikih naprezanja disipacije snage također mogu rezultirati misterioznim pogreškama, koje često nije lako pratiti do izvora napajanja. Čak i kada je dizajn potpuno ispravan, problemi s izradom ploče mogu rezultirati pogreškama. Neispravni lemljeni spojevi i nepravilno pričvršćeni konektori, nprample, može biti izvor grešaka i može čak ovisiti o temperaturi ili položaju ploče. Korištenje naprednih tehnika pakiranja FPGA može otežati ispitivanje signala na tiskanoj ploči, tako da sam pristup željenom signalu često može biti problematičan. Često mnogi problemi s dizajnom ne stvaraju trenutačnu pogrešku i moraju se provlačiti kroz dizajn sve dok se pogreška zapravo ne manifestira. Pronalaženje početne pogreške natrag do temeljnog uzroka često može biti frustrirajući, težak i dugotrajan zadatak.

Na primjerample, jedan pogrešan bit u tablici prevođenja možda neće rezultirati pogreškom sve do mnogo ciklusa kasnije. Neki od alata o kojima ćemo raspravljati kasnije u ovom radu, a koji koriste namjenski hardver za otklanjanje grešaka unutar kruga, posebno su usmjereni na brži i lakši "lov na bugove". Prije nego što uđemo u detalje ovih alata, prvo pogledajmo simulaciju popularne tehnike otklanjanja pogrešaka temeljene na softveru kako bismo bolje razumjeli naprednetages i disadvantages korištenja simulacije za otklanjanje pogrešaka.

Korištenje simulacije za otklanjanje pogrešaka
Tipično u simulaciji dizajna, sve komponente stvarnog života unutar i izvan dizajna modeliraju se matematički kao softverski procesi koji se sekvencijalno izvode na standardnom CPU-u. Primjena širokog raspona poticaja na dizajn i provjera očekivanog izlaza u odnosu na izlaz simuliranog dizajna, jednostavan je način za otkrivanje najočitijih grešaka u dizajnu. Prozor koji prikazuje tipični rad simulacije dan je na slici 1 u nastavku. Jasan advantagOd simulacije u odnosu na otklanjanje pogrešaka temeljeno na hardveru, simulacija se može obaviti u softveru — nisu potrebni stvarni dizajn temeljen na hardveru i ispitni uređaj. Simulacija može brzo uhvatiti mnoge pogreške u dizajnu, posebno one povezane s netočnim specifikacijama, nerazumijevanjem zahtjeva sučelja, funkcionalnim pogreškama i mnogim drugim 'grubim' vrstama pogrešaka koje se lako otkrivaju pomoću jednostavnih vektora podražaja.

Microsemi-In-Circuit-FPGA-Debug- (1)

Simulacija je posebno učinkovita kada su dizajneru dostupne opsežne kombinacije podražaja i kada su rezultirajući rezultati dobro poznati. U tim slučajevima, simulacija može napraviti gotovo iscrpan test dizajna. Nažalost, većina dizajna nema jednostavan pristup opsežnim testnim paketima i proces njihove izrade može oduzimati mnogo vremena. Stvaranje paketa testova koji pokriva 100% dizajna praktički je nemoguće za velike dizajne temeljene na FPGA i moraju se koristiti prečaci kako bi se pokušali pokriti ključni elementi dizajna. Još jedna poteškoća sa simulacijom je ta što ona nije implementacija u 'stvarnom svijetu' i ne može uhvatiti asinkrone događaje, interakcije sustava pri brzini ili kršenja vremena. Konačno, proces simulacije može biti vrlo spor i ako je potrebno mnogo ponavljanja, simulacija brzo postaje najdugotrajniji, a često i najskuplji dio razvojnog procesa.

Kao alternativa (ili možda bolje rečeno, kao dodatak simulaciji) dizajneri FPGA otkrili su da mogu dodati hardver za uklanjanje pogrešaka u dizajn FPGA kako bi promatrali i kontrolirali ključne signale unutar uređaja. Ove su se tehnike izvorno razvile kao ad-hoc pristupi, ali su se postupno razvile u standardnu ​​strategiju otklanjanja pogrešaka hardvera. Ova upotreba mogućnosti otklanjanja pogrešaka unutar kruga nudi značajan napredaktages za dizajn temeljen na FPGA, a sljedeći odjeljak će istražiti tri najčešće strategije i njihove različite prednostitages i disadvantages.

Uobičajeni pristupi otklanjanju pogrešaka unutar kruga za FPGA
Najčešće tehnike za implementaciju mogućnosti ispravljanja pogrešaka unutar kruga u FPGA koriste ili ugrađeni logički analizator, vanjsku opremu za testiranje ili namjenski hardver za ispitivanje signala ugrađen u FPGA strukturu. Ugrađeni logički analizator obično se implementira pomoću FPGA tkanine i umeće se u dizajn. JTAG priključak se koristi za pristup analizatoru, a snimljeni podaci mogu se prikazati na računalu. Kada se koristi vanjska ispitna oprema, FPGA dizajn koji se testira modificira se tako da se odabrani interni FPGA signali usmjeravaju na izlazne pinove. Te se igle tada mogu promatrati kroz vanjsku ispitnu opremu. Kada se koristi hardver namjenske sonde signala, širok izbor internih signala može se očitati u stvarnom vremenu. Neke implementacije sondi mogu se čak koristiti za upisivanje u registar ili memorijske lokacije dodatno poboljšavajući mogućnosti otklanjanja pogrešaka. Pogledajmo detaljnije advantages i disadvantagsvake od ovih tehnika, a zatim pogledajte prample dizajn da vidimo kako ti različiti pristupi mogu utjecati na ukupno vrijeme otklanjanja pogrešaka.

In-Circuit FPGA Debug-Embedded Logic Analyzer
Koncept ugrađenog logičkog analizatora bio je izravan rezultat ad-hoc mogućnosti otklanjanja pogrešaka u krugu koje su dizajneri implementirali kada su FPGA prvi put korišteni. Ugrađeni logički analizatori dodali su nove mogućnosti i uklonili zahtjev za dizajnerom da razvije vlastiti analizator. Većina FPGA nudi te mogućnosti, a treće strane nude standardne analizatore (Identify®, tvrtke Synopsys, jedan je popularan primjerample) koji se lako može povezati s alatima više razine za daljnje poboljšanje produktivnosti.

Funkcionalnost logičkog analizatora umetnuta je u dizajn, korištenjem FPGA tkanine i ugrađenih memorijskih blokova kao međuspremnika praćenja, kao što je ilustrirano na slici 2. Resursi pokretanja također su stvoreni tako da se složene interakcije signala mogu jednostavno odabrati i uhvatiti. Pristup analizatoru za kontrolu i prijenos podataka obično se vrši putem standarda JTAG priključak za pojednostavljenje zahtjeva sučelja. Snimljeni podaci mogu se prikazati na osobnom računalu koristeći common viewsoftvera i obično odražava izlaz valnog oblika logičkog simulatora viewing stila.

Microsemi-In-Circuit-FPGA-Debug- (2)

NapredaktagZnačajke ovog pristupa su da se ne koriste dodatni FPGA I/O pinovi, samo standardni JTAG signale. IP jezgre ugrađenog logičkog analizatora obično su relativno jeftine i u nekim slučajevima mogu biti opcija za postojeću FPGA sintezu ili alate za simulaciju. U nekim slučajevima, ugrađeni logički analizator također može pružiti dodatne izlaze na nekorištenim I/O-ima, ako je to prikladnije. Jedan od nedostatakatagZa ovaj pristup je potrebna velika količina FPGA resursa. Konkretno, ako se koriste međuspremnici praćenja, to će smanjiti broj dostupnih blok memorija. Ako je potreban širok međuspremnik, to će također biti kompromis u odnosu na dubinu memorije (budući da upotreba šire memorije rezultira manjom dubinom memorije) — veliki nedostataktage kada koristite manje uređaje. Možda je najveći nedostatak ove tehnike to što je svaki put kad se izvrši prilagodba položaja sonde, potrebno ponovno kompajlirati i reprogramirati dizajn. Kada koristite veliki uređaj, ovaj proces može potrajati značajno vrijeme. Zbog načina na koji su signalne sonde postavljene u dizajnu, može biti teško povezati vremenske odnose signala. Dodatno, kašnjenja između sondi signala nisu dosljedna i stoga je vremenske odnose teško usporediti. Ovo je posebna poteškoća kada se uspoređuju asinkroni signali ili signali iz različitih vremenskih domena.

In-Circuit FPGA Debug – Eksterna ispitna oprema
Korištenje koda za otklanjanje pogrešaka unutar kruga u kombinaciji s vanjskom ispitnom opremom bio je prirodan razvoj kada je vanjski logički analizator već bio dostupan za testiranje sustava. Stvaranjem nekog jednostavnog koda za otklanjanje pogrešaka za identifikaciju i odabir internih testnih signala i njihovu primjenu na FPGA I/O, kao što je prikazano na slici 3, bilo je moguće iskoristiti napredne mogućnosti analizatora (kao što su veliki međuspremnici praćenja, složene sekvence pokretanja i više viewing options) za stvaranje jednostavnih, ali snažnih okruženja za otklanjanje pogrešaka. Složenije mogućnosti unutar kruga za napredne opcije okidanja mogu minimizirati broj potrebnih izlaza. Na primjerampnpr. odabir specifičnih adresa na širokoj sabirnici može biti pretjeran ako su potrebni vanjski pinovi.
Korištenje interne FPGA logike dramatično smanjuje I/O zahtjeve i može čak tražiti specifične uzorke adresa (možda slijed poziva i povratka) za otklanjanje pogrešaka složenijih problema. Ako je dostupno uobičajeno korisničko sučelje, to može pojednostaviti krivulju učenja i poboljšati produktivnost.

Microsemi-In-Circuit-FPGA-Debug- (3)

NapredaktagOsobina ovog pristupa je da iskorištava troškove eksterne ispitne opreme i stoga nema dodatnih troškova alata. Neke IP jezgre krugova za otklanjanje pogrešaka dostupne su od proizvođača opreme ili proizvođača FPGA i mogu biti vrlo jeftine ili čak besplatne. Količina FPGA resursa potrebnih za implementaciju logike odabira signala je vrlo mala, a budući da se funkcija praćenja izvodi pomoću vanjskog logičkog analizatora, nisu potrebne blok memorije. Budući da je logika odabira jeftina, može se podržati i veliki broj kanala sa širokim okidanjem. Logički analizator može raditi iu vremenskom načinu iu stanju, što pomaže u izolaciji nekih vremenskih problema.
NedostataktagElementi ovog pristupa mogu uključivati ​​potrebu za kupnjom logičkog analizatora, ako već nije dodijeljen projektu. Ovaj nedostataktage može biti dovoljno da obeshrabri ovaj pristup u mnogim slučajevima. Međutim, imajte na umu da neke jeftine opcije logičkog analizatora postaju dostupne koje koriste osobno računalo ili tablet za prikaz, što ovu opciju čini mnogo isplativijom za zahtjeve jednostavnog otklanjanja pogrešaka.
Broj potrošenih FPGA pinova može biti još jedan nedostataktage i ako je potrebno promatrati široke sabirnice, potrebno je značajno planiranje rasporeda ploče i dodavanje konektora za otklanjanje pogrešaka. Ovaj je zahtjev najčešće teško predvidjeti u ranoj fazi projektiranja i predstavlja još jednu neželjenu složenost. Slično pristupu ugrađenog logičkog analizatora, strategija vanjskog testiranja zahtijeva ponovno kompajliranje i reprogramiranje dizajna, kada je potreban svaki novi eksperiment.

Uobičajeni nedostataktages ovih dviju tehnika—upotreba resursa na čipu (koji također mogu utjecati na vremensku izvedbu dizajna i stvoriti dodatne zahtjeve za otklanjanje pogrešaka), potreba za ponovnim kompajliranjem i reprogramiranjem dizajna (što može dodati sate ili čak dane rasporedu otklanjanja pogrešaka), prethodno planiranje potrebno za identifikaciju vjerojatnih testnih scenarija, i korištenje dodatnih I/O resursa čipa stvorili su potrebu za pristupom bez ovih nedostataka. Jedan od odgovora bilo je dodavanje namjenske logike za otklanjanje pogrešaka u FPGA strukturu na nekim uređajima. Rezultat je bio otklanjanje pogrešaka unutar kruga pomoću hardverskih sondi.

In-Circuit FPGA Debug – hardverske sonde
Korištenje hardverskih sondi dramatično pojednostavljuje tehnike ispravljanja pogrešaka unutar kruga za FPGA. Ova tehnika implementirana kao značajka Live Probe na SmartFusion2®SoC FPGA i IGLOO®2 FPGA uređajima, dodaje namjenske linije sonde u FPGA tkaninu za promatranje izlaza bilo kojeg bita registra logičkog elementa. Kao što je prikazano na blok dijagramu na slici 4, hardverske sonde dostupne su u dva kanala sonde A i B.

Microsemi-In-Circuit-FPGA-Debug- (3)

Odabrani izlazi registra (točke sonde), poput onog prikazanog na dnu slike, usmjeravaju se iznad dva kanala sonde i ako su odabrani, mogu se primijeniti na A ili B kanal. Ovi signali kanala u stvarnom vremenu mogu se zatim poslati na namjenske pinove sonde A i sonde B na uređaju. Signali sonde A i sonde B također se mogu interno usmjeriti na ugrađeni logički analizator.

Imajte na umu da su vremenske karakteristike pinova sonde regularne i imaju zanemarivo odstupanje od jedne do druge točke sonde, što olakšava usporedbu vremenskih karakteristika signala u stvarnom vremenu. Podaci se mogu uhvatiti do 100MHz što ga čini prikladnim za većinu dizajna cilja.
Što je možda najvažnije, lokacije točaka sonde, budući da nisu odabrane kao dio implementiranog dizajna (odabiru se putem namjenskog hardvera dok se dizajn izvodi na FPGA), mogu se brzo promijeniti jednostavnim slanjem podataka o odabiru uređaju. Nije potrebno rekompiliranje i reprogramiranje dizajna.
Kako bi se još više pojednostavilo korištenje mogućnosti Live Probe, pridruženi softverski alat za otklanjanje pogrešaka ima pristup svim lokacijama signala sonde putem automatski generiranog otklanjanja pogrešaka file. Kao što je prikazano na slici 5, naziv signala može se odabrati s popisa signala i primijeniti na željeni kanal. To se može učiniti čak i dok je dizajn u tijeku tako da je aktivnost sondiranja unutar dizajna besprijekorna i vrlo učinkovita.

Microsemi-In-Circuit-FPGA-Debug- (5)

U mnogim slučajevima, sposobnost hardverske sonde, poput Live Probe, može se koristiti zajedno s prethodno opisanim ugrađenim logičkim analizatorom i tehnikama vanjskog testiranja.

Kao što je prikazano na slici 6, mogućnost Live Probe odabira signala 'u hodu' omogućuje brzu i jednostavnu promjenu signala koji se promatraju bez potrebe za ponovnim kompajliranjem dizajna. Eksterni logički analizator ili opseg može lako promatrati sondirane signale, kao što je ilustrirano u gornjem desnom dijelu slike na namjenskim izlaznim pinovima sonde. Alternativno (ili možda čak kao dodatak) interni logički analizator (ILA Identify block, prikazan na slici) može se koristiti za promatranje pinova sonde. Signale sonde može uhvatiti ILA i promatrati na prozoru valnog oblika. Lokacije sondi mogu se mijenjati bez potrebe za ponovnim kompajliranjem ciljnog dizajna.
Imajte na umu da se dodatne mogućnosti za pokretanje i praćenje mogu koristiti za poboljšanje funkcionalnosti sonde, što olakšava uočavanje čak i složenih problema s dizajnom.

Microsemi-In-Circuit-FPGA-Debug- (6)

Dodatne mogućnosti ispravljanja hardverskih pogrešaka također su dostupne na SmartFusion2 SoC FPGA i IGLOO2 FPGA uređajima. Jedna od tih mogućnosti, nazvana Active Probe, može dinamički i asinkrono čitati ili pisati u bilo koji bit registra logičkog elementa. Zapisana vrijednost postoji u jednom taktu tako da se normalni rad može nastaviti, što ga čini vrlo vrijednim alatom za otklanjanje pogrešaka. Aktivna sonda je od posebnog interesa ako se želi brzo promatranje unutarnjeg signala (možda jednostavno da se provjeri je li aktivan ili u željenom stanju, poput signala resetiranja), ili ako postoji potreba za brzim testiranjem logičke funkcije pisanjem na točku sonde
(možda za pokretanje prijelaza stroja stanja brzim postavljanjem ulazne vrijednosti za izolaciju problema protoka kontrole).

Još jedna mogućnost ispravljanja pogrešaka koju pruža Microsemi je Memory Debug. Ova značajka omogućuje dizajneru dinamičko i asinkrono čitanje ili pisanje u odabrani SRAM blok FPGA tkanine. Kao što je prikazano na snimci zaslona alata za otklanjanje pogrešaka (Slika 7), kada se odabere kartica Memorijski blokovi, korisnik može odabrati željenu memoriju za čitanje, izvršiti snimanje memorije, modificirati vrijednosti memorije i zatim zapisati vrijednosti natrag na uređaj. Ovo može biti osobito korisno za provjeru ili postavljanje međuspremnika podataka koji se koriste u komunikacijskim priključcima za računalno orijentiran blok za pisanje ili čak za kod koji izvršava ugrađeni CPU. Otklanjanje pogrešaka složenih pogrešaka koje ovise o podacima znatno je brže i lakše kada se sjećanja mogu promatrati i kontrolirati tako brzo.

Microsemi-In-Circuit-FPGA-Debug- (7)

Nakon što se u dizajnu otklone pogreške, možda bi bilo poželjno isključiti mogućnosti ispravljanja hardvera kako bi se zaštitile osjetljive informacije. Napadač bi mogao koristiti te iste mogućnosti za očitavanje kritičnih informacija ili promjenu postavki sustava koje bi mogle omogućiti lak pristup osjetljivim dijelovima sustava. Microsemi je dodao značajke kako bi dizajneru omogućio da osigura uređaj nakon završetka uklanjanja pogrešaka. Na primjerample, pristup Live Probe i Active Probe može se zaključati kako bi se potpuno onemogućila funkcija kao mogući način napada (čak se eliminira mogućnost da aktivnost sonde stvara bilo kakve obrasce u opskrbnoj struji koji bi se mogli koristiti za pokušaj neizravnog promatranja podataka sonde). Alternativno, pristup odabranim dijelovima dizajna može se zaključati kako bi se spriječio pristup samo tim dijelovima. To može biti zgodno ako samo dio dizajna treba biti siguran, a ostatak dizajna i dalje je dostupan za testiranje na terenu ili analizu pogrešaka.

Usporedna tablica ispravljanja pogrešaka unutar kruga
Sada kada je detaljan review opisane su tri glavne tehnike hardverskog otklanjanja pogrešaka unutar kruga, izrađen je sažetak grafikona, kao što je prikazano na slici 8, koji detaljno opisuje različite prednostitages i disadvantagsvake metode. Imajući na umu da se neke tehnike mogu koristiti zajedno (Live Probe i Internal Logic Analyzer (ILA), poput Synopsys Identify, npr.ample), možemo vidjeti ključne prednosti i slabosti svake tehnike. Zbirka mogućnosti hardverskog otklanjanja pogrešaka unutar kruga (Live Probe, Active Probe i Memory Debug—zajednički nazvani SmartDebug) najslabije su u usporedbi s drugim tehnikama kada se radi o ukupnom broju dostupnih sondi (crveni krug) i slabije su od najboljih (žuti krug) kada se uzme u obzir brzina snimanja (eksterna ispitna oprema može biti brža).
Tehnike temeljene na ILA-i, poput Synopsys Identify, najslabije su u usporedbi s drugim tehnikama i kada se uzmu u obzir zahtjevi za resursima FPGA. Tehnike koje se temelje na vanjskoj ispitnoj opremi najslabije su u pogledu niza razmatranja, a najzahtjevniji su trošak, utjecaj na vremensko planiranje dizajna i troškovi pomicanja sonde (zbog potrebe ponovnog sastavljanja dizajna). Možda je optimalno rješenje kombinacija SmartDebuga i neke od drugih tehnika, tako da se broj kanala slabosti SmartDebuga može ublažiti i nedostatak pomicanja točke sonde.tages drugih tehnika također smanjen.

Microsemi-In-Circuit-FPGA-Debug- (8)

Klasifikacije signala
Može se napraviti korisna razlika između nekih od najčešćih vrsta signala i to može pomoći pri planiranju pristupa otklanjanju pogrešaka. Na primjerample, signali koji se ne mijenjaju osim tijekom pokretanja sustava, poput resetiranja sustava, resetiranja blokova ili inicijalizacijskih registara mogu se klasificirati kao statički signali. Ovim vrstama signala najučinkovitije se pristupa putem uređaja koji može lako promatrati i kontrolirati signal, bez potrebe za dugim ciklusom ponovnog prevođenja. Active Probe izvrstan je alat za otklanjanje pogrešaka statičkih signala. Slično tome, signali koji se mijenjaju češće, ali su još uvijek statični veliku većinu vremena, mogu se klasificirati kao pseudostatični i također se najučinkovitije otklanjaju pogreške pomoću Active Probe. Signali koji se često mijenjaju, poput signala sata, mogu se klasificirati kao dinamički i nije im lako pristupiti putem aktivne sonde. Live Probe je bolji izbor za promatranje ovih signala.

Jednostavan slučaj korištenja za otklanjanje pogrešaka

Sada kada smo bolje razumjeli različite opcije otklanjanja pogrešaka unutar kruga, pogledajmo jednostavan dizajn npr.ampda vidimo kako se te tehnike izvode. Slika 9 prikazuje jednostavan FPGA dizajn u SmartFusion2 SoC FPGA uređaju. Podsustav mikrokontrolera (MSS) resetira CoreSF2Reset Soft IP blok. Ulazi u ovaj blok su resetiranje pri uključivanju, resetiranje korisničkog sklopa i eksterno resetiranje. Izlazi su reset na User Fabric, MSS reset i M3 reset. Simptomi pogreške su da nema aktivnosti na I/Os iako je uređaj uspješno izašao iz POR stanja. Tri različite opcije za otklanjanje pogrešaka ove pogreške također su prikazane na slici: Plavi okvir (označen s ETE) je za metodu vanjske ispitne opreme; zeleni okvir (označen s ILA) je za metodu internog logičkog analizatora; a narančasti okvir (označen s AP) je za metodu aktivne sonde. Pretpostavit ćemo da su mogući temeljni uzroci pogreške neispravno postavljeni ulazi za resetiranje CoreSF2Reset Soft IP bloka.

Microsemi-In-Circuit-FPGA-Debug- (9)

Pogledajmo sada proces otklanjanja pogrešaka za tri prethodno opisane metode unutar kruga.

Eksterna ispitna oprema
Koristeći ovu metodu, pretpostavlja se da je ispitna oprema dostupna i da se ne koristi u projektu višeg prioriteta. Osim toga, važno je planirati unaprijed kako bi neki FPGA I/O bili dostupni i mogli se lako povezati s opremom za testiranje. Imati zaglavlje na tiskanoj ploči nprample, bilo bi od velike pomoći i smanjilo bi vrijeme potrošeno na identificiranje i povezivanje s 'vjerojatno osumnjičenim' ili potencijalni kratki spoj pinova tijekom sondiranja. Dizajn će se morati ponovno prevesti kako bi se odabrali signali koje želimo istražiti. Nadajmo se da nećemo "ljuštiti luk" i morati odabrati dodatne signale za daljnje istraživanje, jer često naše početno istraživanje samo rezultira dodatnim pitanjima. U svakom slučaju, proces ponovnog prevođenja i reprogramiranja može potrajati dosta vremena, a ako rezultira kršenjem vremenskog rasporeda, potreban je redizajn (svi smo upoznati s time koliko frustrirajuće može biti rješavanje problema zatvaranja vremenskog okvira, posebno kada mijenjate dizajn kako biste pronašli pogrešku u dizajnu—cijeli proces može trajati od nekoliko minuta do sati)! Također je važno upamtiti da ako dizajn nema slobodnih korisničkih I/O-a, ova se metoda ne može implementirati. Štoviše, ova metoda je strukturno intruzivna za dizajn—i greške vezane uz vrijeme mogu nestati ili se ponovno pojaviti između iteracija.

Interni logički analizator
Korištenjem ove metode ILA se mora umetnuti u dizajn korištenjem resursa tkanine, a zatim se treba ponovno kompajlirati. Imajte na umu da ako je ILA već instancirana, signali koje želimo istražiti možda nisu bili instrumentirani, što bi također zahtijevalo ponovno kompajliranje. Ovaj proces riskira promjenu izvornog dizajna i kršenje vremenskih ograničenja. Ako je vrijeme zadovoljeno, dizajn je potrebno reprogramirati i ponovno inicijalizirati. Cijeli ovaj proces može potrajati nekoliko minuta ili čak sati ako je vrijeme ponovnog prevođenja dugo i potrebno je više prolaza. Ovaj pristup je strukturno intruzivan i može rezultirati problemima sličnim onima koji su opisani kada se koristi gornja metoda.

Aktivna sonda
Koristeći ovu metodu, aktivna sonda može se usmjeriti na izvor različitih signala resetiranja, od kojih svi izviru iz izlaza registra (kao što je uobičajeno u svakoj dobroj praksi digitalnog projektiranja). Signali se odabiru jedan po jedan iz izbornika Active Probe prikazanog na slici 10 u nastavku. Odabrane vrijednosti signala mogu se očitati i prikazati u prozoru podataka aktivne sonde. Sve pogrešne tvrdnje lako se identificiraju. Ovaj test se može izvesti odmah bez potrebe za ponovnim kompajliranjem i reprogramiranjem uređaja i nije strukturno ili proceduralno nametljiv. Cijeli proces traje samo nekoliko sekundi. Ova metoda također može stvoriti mogućnost upravljanja (asinkrono mijenjanje vrijednosti) što druge dvije metode neće dopustiti. U ovom konkretnom exampDakle, signal resetiranja koji potiče iz registra može se lako ispitati i otkriti da se drži u aktivnom stanju.

Trenutačno prebacivanje signala resetiranja može se postići asinkronom manipulacijom registra koji generira signale ostatka.

Microsemi-In-Circuit-FPGA-Debug- (10)

Složeniji slučaj upotrebe otklanjanja pogrešaka
Gore navedeni dizajn bio je vrlo jednostavan i koristan je kao uvod u korištenje opisanih tehnika dizajna, ali složeniji prample bi moglo biti još ilustrativnije. Mnogo puta signal interesa nije statičan signal kao što je bio u našem jednostavnom bivšemample ali je dinamičan. Uobičajeni dinamički signal je srednji sat, koji se možda koristi za mjerenje vremena rukovanja za serijsko sučelje. Slika 11 prikazuje takav dizajn s korisničkom Soft IP jezgrom, u ovom slučaju prilagođenim serijskim sučeljem spojenim na APB sabirnicu sustava. Simptomi pogreške su da nema aktivnosti na korisničkom prilagođenom serijskom sučelju i da kada master APB sabirnice izda transakciju za pristup serijskom sučelju, prelazi u stanje iznimke koje ukazuje na netočno rukovanje. Čini se da ovi uvjeti isključuju statički uzrok, poput netočnog signala resetiranja, budući da se čini da stroj stanja transakcije ne radi očekivanom brzinom i stoga uzrokuje iznimku. Smatra se da je glavni uzrok generator taktne frekvencije unutar korisničke IP jezgre.

Ako ne radi na ispravnoj frekvenciji, mogle bi se pojaviti opisane pogreške.

Microsemi-In-Circuit-FPGA-Debug- (11)

U ovoj situaciji vjerojatno je bolja strategija zamijeniti pristup Active Probe pristupom Live Probe. Ovo je ilustrirano na gornjoj slici narančasto obojenom LP kutijom, koristeći JTAG signal za odabir izvora sonde.

Eksterna ispitna oprema
Za ovaj slučaj, metodologija je vrlo slična prethodno opisanom jednostavnom primjeruample. Signal korisničkog sata prenosi se na ispitnu točku (nadamo se u zaglavlju) i potrebno je dugotrajno ponovno prevođenje. Također bi moglo biti korisno iznijeti referentni signal, možda sistemski sat koji se koristi za mjerenje korisničkog IP-a kao signal za usporedbu. Ponovno ćemo biti podvrgnuti potrebi ponovnog kompajliranja i reprogramiranja tako da bi cijeli proces mogao potrajati značajno vrijeme.

Interni logički analizator
Ovaj slučaj je vrlo sličan jednostavnom example. Mora se umetnuti ILA ili definirati željeni signal i izvršiti ciklus ponovnog prevođenja i reprogramiranja. Svi prethodno opisani problemi i dalje rezultiraju značajnim trajanjem ciklusa otklanjanja pogrešaka. Međutim, postoji dodatna složenost. Sat koji pokreće ILA treba biti sinkroni, a idealno mnogo brži u odnosu na sat koji se promatra iz korisničke Soft IP jezgre. Ako su ti satovi asinkroni ili nemaju ispravne vremenske odnose, hvatanje podataka bit će nepredvidljivo i mogući izvor zabune za proces otklanjanja pogrešaka.
Imajte na umu da ako korisnički Soft IP sat nije generiran na čipu (možda je oporavljen sa serijskog sučelja), dizajner će možda trebati dodati modul sata za generiranje bržeg ILA sata koristeći dodatne resurse i moguće stvaranje vremenskog kršenja.

Proba uživo
Koristeći ovu metodu, Live Probe se može brzo ukazati na izvor korisničkog sata i bilo kojeg drugog izvora sata iz registra kako bi se otkrio glavni uzrok pogreške. Live Probe će pokazati odabrane izlaze signala u stvarnom vremenu i svaki vremenski odnos između signala je stoga mnogo lakše odrediti. Cijeli proces traje samo nekoliko sekundi.

Ostale značajke otklanjanja pogrešaka za serijska sučelja
Također je važno istaknuti da postoje mnoge dodatne mogućnosti otklanjanja pogrešaka u SmartFusion2 SoC FPGA i IGLOO2 FPGA uređajima koji se mogu koristiti na serijskim sučeljima, poput onog u prethodnom primjeruample dizajn gdje su pogreške još kompliciranije. SERDES Debug, nprample, pruža specifične mogućnosti otklanjanja pogrešaka za namjenska serijska sučelja velike brzine. Neke značajke SERDES Debug uključuju podršku za PMA test (kao što je PRBS generiranje uzorka i testiranje povratne petlje) podršku za više konfiguracija SERDES testa s rekonfiguracijom na razini registra kako bi se izbjegla upotreba cijelog tijeka dizajna za izmjene konfiguracije i tekstualna izvješća koja prikazuju konfigurirane protokole, registre konfiguracije SERDES i registre konfiguracije Lane. Ove značajke čine SERDES debug puno lakšim i mogu se koristiti zajedno s Live Probe i Active Probe za dodatno ubrzanje debugiranja složenih sklopova.
Prethodno opisani alat za otklanjanje pogrešaka u memoriji također se može koristiti u kombinaciji sa SERDES Debug za ubrzavanje testiranja. Budući da se memorijski međuspremnici mogu brzo i jednostavno pregledati i promijeniti pomoću Memory Debug-a, moguće je brzo kreirati 'testne pakete' i promatrati rezultate povratne petlje ili komunikacije između sustava. Dizajner može iskoristiti ove mogućnosti i tako minimizirati potrebu za specijaliziranim 'sklopovima za testiranje' koji troše dodatnu FPGA strukturu i koji mogu utjecati na tajming čipa.

Zaključak
Ovaj je dokument detaljno opisao nekoliko različitih pristupa implementaciji ispravljanja pogrešaka unutar kruga za FPGA i SoC FPGA-upotrebu integriranog logičkog analizatora, upotrebu vanjske ispitne opreme i upotrebu namjenskih krugova sondi integriranih u FPGA strukturu. Dodatak specijaliziranih i namjenskih krugova sondi, kao što su Active Probe i Live Probe koje nudi Microsemi na SmartFusion2 SoC FPGA i IGLOO2 FPGA uređajima, pokazalo se da značajno ubrzava i pojednostavljuje proces otklanjanja pogrešaka. Sposobnost brze izmjene odabira internih signala (bez potrebe za izvršavanjem dugotrajnog ciklusa ponovnog prevođenja i ponovnog programiranja) i sposobnost sondiranja internih signala (bez potrebe za korištenjem FPGA tkanine i potencijalnog uvođenja vremenskih kršenja) pokazali su se kao veliki napredaktages prilikom otklanjanja pogrešaka FPGA dizajna. Dodatno, opisana je upotreba višestrukih metodologija koje mogu raditi zajedno kako bi pružile još sveobuhvatniju mogućnost otklanjanja pogrešaka. Na kraju, dva bivample debug slučajevi upotrebe dani su za ilustraciju kompromisa između opisanih metoda.

Da biste saznali više

  1. IGLOO2 FPGA
  2. SmartFusion2 SoC FPGA

Microsemi Corporation (Nasdaq: MSCC) nudi sveobuhvatan portfelj poluvodičkih i sistemskih rješenja za tržišta komunikacija, obrane i sigurnosti, zrakoplovstva i industrije. Proizvodi uključuju visokoučinkovite analogne integrirane sklopove s mješovitim signalom otporne na zračenje, FPGA, SoC i ASIC; proizvodi za upravljanje napajanjem; uređaji za mjerenje vremena i sinkronizaciju i rješenja za precizno vrijeme, postavljanje svjetskih standarda za vrijeme; uređaji za obradu glasa; RF rješenja; diskretne komponente; sigurnosne tehnologije i skalabilni anti-tamper proizvodi; Power-over-Ethernet IC-ovi i srednji rasponi; kao i prilagođene mogućnosti dizajna i usluge. Microsemi ima sjedište u Aliso Viejo, Kalifornija, i ima približno 3,400 zaposlenika diljem svijeta. Saznajte više na www.microsemi.com.

© 2014 Microsemi Corporation. Sva prava pridržana. Microsemi i Microsemi logo su zaštitni znaci Microsemi Corporation. Svi ostali zaštitni znakovi i znakovi usluga vlasništvo su svojih vlasnika.

Sjedište tvrtke Microsemi

FAQ

  • P: Koja je najveća frekvencija snimanja podataka uređaja?
    O: Uređaj podržava snimanje podataka do 100MHz, što je prikladno za većinu ciljanih dizajna.
  • P: Trebam li ponovno kompajlirati dizajn kada koristim krugove sonde za otklanjanje pogrešaka?
    O: Ne, lokacije točaka sonde mogu se brzo promijeniti bez potrebe za rekompilacijom dizajna ili reprogramiranjem.

Dokumenti / Resursi

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

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *