Virheenjäljityksen uudet työkalut voivat leikata merkittävästi virheenhaku- ja validointiaikoja sekä tarjota verrattomat mahdollisuudet FPGA-lohkojen tutkimiseen ja hallintaan. Microsemin kehittämän SmartDebug-työkalupaketin avulla suunnittelija voi supistaa kehitystyöhön tarvittavaa aikaa ja kustannuksia, mikä nopeuttaa tuotteen saamista markkinoille.

Artikkelin kirjoittaja Ted Marena toimii Microsemi-yhtiön FPGA/SoC-tuotteiden markkinointijohtajana.

FPGA-pohjaisten laitteiden suunnittelijat kohtaavat monenlaisia haasteita saadakseen tuotteensa sujuvasti valmistuslinjalle. Yleensä työ aloitetaan evaluoimalla kehitettävä laite ja toteuttamalla sitten piirien kuvauskielinen (HDL) suunnitelma. Tämän jälkeen laite kootaan valmiiksi, ja lopuksi suoritetaan koko FPGA-osan virheenkorjausproseduuri ennen kuin laite voidaan siirtää tuotantolinjalle.

Nykyään moniin piirisuunnitelmiin soveltuvat useat erityyppiset FPGA-piirit varsinkin sulautetuissa ja teollisuuskohteissa. Monissa tapauksissa päätös FPGA-piirien toimittajan valinnasta tehdään niiden kehitystyökaluihin liittyvän kokemuksen perusteella. Vaikka valinta tämän perusteella olisi harkittua, eräs vieläkin tärkeämpi tekijä kannattaisi ottaa mukaan päätöksentekoon. Sekä ohjelmiston että FPGA-piirien virheenjäljitystyökalujen tulisi olla suunnittelijoiden vakavan harkinnan kohteena. Nykyään monet FPGA-piirien virheenpoistoon tarkoitetut työkalut saadaan piirien toimittajilta, joita ovat esimerkiksi Altera, Microsemi ja Xilinx. Tarjolla on myös joukko älykkäämpiä debug-työkaluja, joita suunnittelijoiden kannattaisi harkita tulevien FPGA-pohjaisten laitteiden evaluointivaiheessa.

Logiikka-analyysi vianhakuun

Kaikki merkittävät FPGA-toimittajat tarjoavat logiikka-analyysiä virheenkorjauksen työvälineeksi. Tämä on toteutettu pienellä logiikkalohkolla, joka käyttää FPGA:n sisäisiä logiikkaelementtejä ja sulautettua muistilohkoa signaalien näytteenoton muodostamiseksi. Suunnittelija voi määrittää, mitä signaaleja näytetään ja valvotaan sekä asettaa liipaisun, joka ilmoittaa logiikka-analysaattorille, millä hetkellä datantallennus tulee aloittaa. Kun logiikka-analysaattori on asetettu valmiuteen, suunnittelijan on ajettava uudelleen synteesivaihe sekä sijoitus- ja reititystiedot niin, että haluttu funktio otetaan huomioon suunnitelmassa. Kun uudelleenkäännös ja uudelleenohjelmointi on tehty, suunnittelija voi aloittaa logiikkasignaalien katselun logiikka-analysaattorin ruudulta.

On tärkeää huomata, että koska nämä signaalit täytyy näytteistää, ne eivät voi tallentaa tietoa suorituskyvystä reaaliaikaisesti. Logiikka-analysaattori kykenee toimimaan vain nopeuksilla, jotka sallivat datan näytteistyksen ja tallennuksen sisäiseen muistiin. Tämän debug-työkalun haittapuoli on, että virhe usein poistetaan tai peitetään, kun suunniteltavaa ohjelmaa käännetään uudelleen. Virhe voi siten poistua, vaikka sen merkitystä ei tarkasti tiedetä. Tämän seurauksena se voi syntyä uudelleen, kun uudelleensijoitus ja -reititysproseduuri ajetaan seuraavan kerran. Toinen heikkous logiikka-analysaattorin kannalta on se, että näytteistys toimii todennäköisesti hitaammin kuin kytkentää suorittavat signaalit, joten huippunopeassa seurannassa dataa ei ehkä kyetä sieppaamaan.

Näistä rajoituksista huolimatta logiikka-analysaattorin avulla voidaan nähdä signaalien tilat liipaisuasetuksiin perustuen, mistä on merkittävästi apua suunnitteluongelmien etsimisessä ja poistossa. Logiikka-analysaattorin käyttö on periaatteeltaan iteratiivisesti toistettava prosessi: suunnittelija katsoo analysaattorilla, mitä tapahtuu, tekee päivityksen ja sen jälkeen ajaa uudelleenkäännöksen. Tämän jälkeen uusia tuloksia tarkastellaan ja prosessia toistetaan yhä uudelleen, kunnes virhe on havaittu. Kuhunkin iteraatiokierrokseen ja kuhunkin erityiseen virheeseen tarvittava aika vaihtelee, eikä kaikkia tapauksia saada edes siepatuksi logiikka-analysaattorin alhaisen näytenopeuden vuoksi.

Virheiden jäljitykseen käytettävien logiikka-analysaattorien rajoitusten vuoksi FPGA-lohkojen ja piirikorttien validointia varten on kehitetty uusia debuggaus-työkaluja. Esimerkiksi Synopsys tarjoaa tähän Identify-nimistä työkalua, joka yhdistää logiikka-analysaattorin toiminnot Synplify-nimiseen synteesityökaluun virheenhaun iteraatioajan lyhentämiseksi. Yhdessä logiikka-analysaattorin kanssa ne tarjoavat teknologisen näkymän piirisuunnitelman sisään ja helpottavat liipaisutoimintojen määrittelyä. Suunnittelija voi myös tehdä suunnitelmaan muutoksia, jotka päivitetään automaattisesti RTL-koodiin (Register Transfer Level).

Sisäisten FPGA-resurssien säästämiseksi Identify-työkalulla voidaan ryhmittäin näytteistää useita signaaleja sekä multipleksoida niitä, mistä on suurta apua virheenetsintäprosessin alkuvaiheessa, kun ongelman todellista aiheuttajaa ei vielä tiedetä. Identify-työkalun vianhakuun tuomista eduista huolimatta sen lähestymistapa sisältää aina vaatimuksen uudelleenkääntämiseen, mikä vaikuttaa alkuperäiseen suunnitelmaan ja vaatii kallista lisäaikaa nopean logiikan ja sitä merkittävästi hitaamman näytteistyksen sovittamiseksi uudelleen yhteen.

Ikkuna FPGA:n sisään

Logiikka-analysaattorin lisäksi todellista hyötyä suunnittelijalle olisi oskilloskoopista, jolla pääsisi näkemään FPGA-lohkon sisään. Se tarjoaisi piirisuunnitelmaan reaaliaikaisen ikkunan, josta nähtäisiin, mitä signaalit todella tekevät. Olisi ihanteellista päästä reaaliajassa mittaamaan signaaleja FPGA-lohkon sisäisissä solmupisteissä sekä pakottaa sisäisille signaaleille erilaisia haluttuja arvoja ja päästä näin tutkimaan muutosten välittömiä vaikutuksia piirilohkon toimintaan. Lisäksi mahdollisuus lukea ja kirjoittaa sisäisiin muisteihin sekä SerDes-lähetin-vastaanottimen mittauspisteisiin olisi myös todella hyödyllistä. Kaikkien näiden toimintojen saaminen käyttöön häiritsemättä kuitenkaan itse FPGA-suunnitelmaa virtaviivaistaisi dramaattisesti virheenhakuprosessia.

Hyvä esimerkki tällaisesta lähestymistavasta on Microsemin kehittämä SmartDebug-työkalusarja. Se on osa Libero SoC -ohjelmistopakettia, jota käytetään yhtiön FPGA-piiriperheille PolarFire, SmartFusion2 ja IGLOO2. SmartDebug-työkalujen avulla suunnittelija voi suorittaa virheenjäljityksen FPGA-lohkolle, muistilohkoille ja SerDes-yksikölle aivan kuin käytössä olisi oskilloskooppi. Työkalujen avulla voidaan hyödyntää erityisiä FPGA-logiikan sisään sijoitettuja mittauspisteitä, mikä merkittävästi nopeuttaa ja yksinkertaistaa virheenhakuprosessia. Tarjolla on myös mahdollisuus valita eri mittauspisteitä tarvitsematta välillä kääntää koodia uudelleen. Edistyneet virheenjäljitysominaisuudet tarjoavat pääsyn mihin tahansa logiikkaelementtiin ja antavat suunnittelijoille mahdollisuuden tarkistaa tulojen ja lähtöjen tilat reaaliajassa. Tärkeimpiä ominaisuuksia, joita voidaan käyttää ilman piirisuunnitelman uudelleensovittamista, ovat:

Live Probe: Tämä sallii käyttää enimmillään kahta erikoismittapäätä, jotka voidaan konfiguroida mittaamaan FPGA-logiikkalohkon mitä tahansa solmupistettä kuten tuloa, lähtöä tai logiikkaelementtiä (ks. kuva 1). Datankeruupisteet valitaan mittapäille ohjelmallisesti ja sen jälkeen komento lähetetään kaapelin kautta JTAG-nastoille, minkä jälkeen signaalit nähdään välittömästi oskilloskoopin ruudulla. Mittauspisteet ovat dynaamisia ja reaaliaikaisia. FPGA:n uudelleenkääntämistä tai uudelleenohjelmointia ei tarvita lainkaan, mittauspisteitä voidaan vaihtaa useita kertoja ’lennossa’, ja signaalit ovat välittömästi nähtävissä.

Kuva 1. Esimerkki Live Probe -mittapäiden käytöstä.

Active Probe: Tämä mahdollistaa flip-flop-elementin tai mittauspisteen asynkronisen luvun tai kirjoituksen dynaamisesti. Suunnittelija voi valita FPGA:n rekisterien tai muistilohkojen sijainnit. Tämän ansiosta käyttäjä voi nopeasti havaita logiikan vaikutukset sisäisesti tai testata nopeasti, miten mittauspisteeseen kirjoittaminen vaikuttaa logiikan toimintaan. Mikä tahansa määrä signaaleja voidaan pakottaa tiettyihin arvoihin, ja aivan kuten Live Probe -toiminnossa FPGA:n uudelleenkääntäminen tai uudelleenohjelmointi on tarpeetonta. Toiminto on erityisen käyttökelpoinen silloin, kun halutaan pakottaa piirisuunnitelmaan virheitä ja tutkia, mitkä niiden vaikutukset logiikan toimintaan ovat.

Tyypillisesti suunnittelijat käyttävät vähintään 30 prosenttia ajastaan piirisuunnitelman virheiden etsimiseen. Tämä prosenttiluku voi olla paljon suurempikin riippuen suunnitteluprojektin koosta ja vaiheesta. Esimerkiksi keskikokoisen FPGA-lohkon täydellinen virheenhakuprosessi saattaa kestää viikkoja. Prosessi on tuskallinen, sillä siihen sisältyy lukuisia iteraatiokierroksia, joiden tarkkailtavuus ja hallittavuus on rajoitettua. Tarvitaan toistuvia sijoitus-reititys-operaatioiden uudelleenajoja, ajoitusratkaisuja ja uudelleenohjelmointia.

Älykkäitä virheenjäljityksen työkaluja hyödyntämällä suunnittelijat voivat validoida FPGA-suunnitelmansa paljon nopeammin kuin käyttämällä vain mukaan liitettyä logiikka-analysaattoria. Esimerkiksi PolarFire-sarjan 300K LE -tyyppinen FPGA-piiri voi hyödyntää logiikka-analyysitoiminnon lisäksi aiemmin mainittua oskilloskooppitoimintoa. Sallimalla suunnittelijan katsella signaaleja reaaliajassa ja ohjata niiden tiloja läpi koko piirisuunnitelman päästään merkittävästi nopeampaan virheidenpoistoon.

Useilta asiakkailta on saatu palautetta, että he ovat onnistuneet leikkaamaan virheenhakuaikojaan merkittävästi lyhyemmiksi käyttämällä SmartDebug-työkaluja. Sisäisen logiikka-analysaattorin korvaaminen älykkäällä virheenhakuprosessilla on antanut näille suunnittelijoille mahdollisuuden tunnistaa ongelmakohdat muutamassa tunnissa viikkojen sijasta. Eräässäkin tapauksessa ongelman jäljet johtivat täysin eri moduuliin kuin logiikka-analysaattorilla tutkittaessa oli näyttänyt. Kyseistä piirisuunnitelmaa voitiin vielä edelleen parantaa pakottamalla erilaisia arvoja Active Probe -toiminnon avulla, ja näin piirien asianmukainen toiminta saatiin varmistetuksi.

Edistyneet virheenjäljitysmenetelmät muuttavat koko pelin luonnetta FPGA-suunnittelijoiden kannalta. Uusimmat ratkaisut voivat leikata merkittävästi virheenhaku- ja validointiaikoja sekä tarjota vertaa vailla olevat mahdollisuudet FPGA-lohkon tutkimiseen ja hallintaan. Suunnittelijoiden kannattaakin vakavasti miettiä FPGA-lohkon virheenhakumahdollisuuksia ennen kuin valitsevat piirejä tuleviin suunnitelmiinsa. Oikea valinta voi merkittävästi vähentää kehitystyöhön tarvittavaa aikaa ja kustannuksia, mikä nopeuttaa tuotteen saamista markkinoille.

ETNtv

Watch ECF videos

Korteilla vauhtia IoT-kehitykseen

Sulautetun laitteen kehitys onnistuu useimmiten helpoiten valmiiden moduulien avulla. Nykyään niitä saa myös tehokkailla Apollo Lake -sarjan prosessoreilla varustettuna.

Lue lisää...

Suomen suurin valtti kybersodassa on luottamus

Teknologia19 – Aalto-yliopiston kyberturvallisuusprofessori Jarno Limnéll uskoo, että luotettavuudesta voi tulla suomalaisten yritysten suurin myyntivaltti tulevaisuudessa. – Tärkein kysymys on tulevaisuudessa, kehen ja mihin voimme luottaa. Luottamuksesta on tulossa hyvin arvokas aineeton pääoma yrityksille, Limnéll sanoi eilen messukeskuksessa.

Lue lisää...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

Ciklum, established in 2002, is a custom product engineering company with a global presence across 15 countries in 3 continents. We specialize in crafting bespoke digital solutions that push boundaries and transform industries, including full-scale IoT solutions. Whether it's cutting-edge embedded systems, data architecture or IoT, we seamlessly integrate our solutions into your existing infrastructure.

 

 

Check Point Software Technologies Ltd. is a leading provider of cyber security solutions to corporate enterprises and governments globally. Check Point Infinity’s portfolio of solutions protects enterprises and public organisations from 5th generation cyber-attacks with an industry leading catch rate of malware, ransomware and other threats.

 

 

 

AcalBfi is a leader in the development of custom technology solutions for electronic applications. Our engineers and our approach will ensure we can solve your technical challenges with custom solutions that integrate multiple technologies.

 

Analog Devices, Inc. is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world.

 

EBV Elektronik was founded in 1969 and is one of the leading specialists in European semiconductor distribution. This success is based on the underlying company philosophy, which was developed a long time ago and which still applies today: operational excellence, flexibility, reliability and execution – with the goal of achieving the highest degree of customer satisfaction. 

  

The Rohde & Schwarz technology group develops, produces and markets a wide range of electronic capital goods. With its extensive product portfolio, the company makes an important contribution to a safer and connected world. In the test & measurement, secure communications, networks & cybersecurity and broadcast & media markets, customers worldwide rely on Rohde & Schwarz and its cutting-edge solutions.

 

 

 

Mespek is an industrial electronics company. Our main product areas are embedded modules, industrial computing, test & measurement modules and server management systems (KVM-switches). Besides our domestic customers we have clients also in several countries such as Benelux, China, Estonia, Ireland, Norway, Russia, Sweden, Switzerland, et cetera..

 

We offer unique and cost-effective customized solutions based on electronic components and systems, as well as standard products from selected manufacturers. We also have own production company for electronics and cabling in Sweden. We have 90 years of experience, deep engagement, knowledge together with trustworthy and effective logistics worldwide. We are ISO 9001 and ISO 14001 certificated.

 

Richardson RFPD, an Arrow Electronics Company, is an electronic component distributor focused on RF and Wireless Communications, industrial IoT, Power Conversion and renewable energy markets. With our global reach and extensive technical capability, we serve our customers through component development and selection, technical support, and world-class logistics and supply chain capabilities. Whether designing with discrete components or looking to take advantage of integrated circuits or systems RichardsonRFPD’s worldwide design centers and technical sales team provide comprehensive support to bring your product ideas to market.

u‑blox is a global technology leader in positioning and wireless communication in automotive, industrial, and consumer markets. Their smart and reliable solutions, services and products let people, vehicles, and machines determine their precise position and communicate wirelessly over cellular and short range networks. With a broad portfolio of chips, modules, and secure data services and connectivity, u‑blox is uniquely positioned to empower its customers to develop innovative and reliable solutions for the Internet of Things, quickly and cost‑effectively.

KYOCERA AVX is a leading global manufacturer of advanced electronic components, including antennas, fuses, capacitors, filters, couplers and RF switches, engineered to accelerate technological innovation and build a better future. Supplying more than one million antennas per day, KYOCERA AVX is an industry-leading supplier of innovative antenna solutions, covering all major frequency bands and applications. KYOCERA AVX antennas utilize a wide array of materials -including LDS, stamped metal, ceramic, PCB, and FPC- to support a variety of custom and standard configurations (external indoor/outdoor, embedded on/off-board).

 

 





ECF template