Seminar:

Stor oppslutning om teknisk workshop rundt FPGA-design.

Fra RTL-feil til agentisk KI

Hvordan finner man feil i FPGA-design før simuleringen starter, og hvilken rolle kan kunstig intelligens spille i verifikasjonsarbeidet? Det var blant spørsmålene da Inventas, Siemens og InnoFour samlet FPGA-utviklere til en teknisk workshop i Oslo.

Publisert

Det er PC-ene, ikke PowerPoint-presentasjonene, som skal gjøre mesteparten av jobben denne dagen. Hos Inventas i Oslo er FPGA-utviklere og verifikasjonsingeniører samlet til oppfølgeren etter den første workshopen i mai. Ambisjonen er å gå et hakk dypere i verifikasjon, fra tidlig kvalitetskontroll av RTL til UVM, UVVM, RISC-V og AI-assisterte arbeidsmetoder.

Det praktiske formatet er bevisst.

– Det finnes allerede nok presentasjoner der man sitter og lytter til store mengder informasjon. Det er ikke det vi ønsker å lage, sier Marius Elvegård, Senior FPGA Developer og Discipline Leader Digital hos Inventas.

Tanken er at deltakerne skal arbeide med metodene og verktøyene underveis, gjennom guidet trening, tekniske dypdykk og egne eksperimenter.

Feiljakt før simulering

Første tema går rett inn i en kjent utfordring i digital design: Hvor mye kan oppdages før en tidkrevende simulerings- og debuggingrunde i det hele tatt begynner?

Siste forberedelser før presentasjonen

Faïçal Chtourou fra Siemens legger opp til praktisk arbeid med tidlig deteksjon av problemer i RTL. Her handler det blant annet om kodekvalitet, strukturelle problemer, feil i forbindelser, klokke- og resetthåndtering og avvik mellom implementasjonen og den tiltenkte funksjonen.

Poenget er ikke å erstatte simulering, men å gjøre RTL-en bedre rustet før den kommer så langt i verifikasjonsløpet. Færre trivielle eller strukturelle feil inn i simuleringen kan redusere tiden som senere brukes på debug, samtidig som designgjennomgangen blir mer systematisk.

InnoFour, som er medarrangør, arbeider med utviklingsverktøy for FPGA og ASIC og verifikasjonsmetodikk, blant annet rundt Questa.

Mer målrettet randomisering

Randomisering er neste stopp. Marius Elvegård tok for seg mer avanserte metoder i UVVM, Universal VHDL Verification Methodology.

Tilfeldige stimuli er nyttige når verifikasjonen skal bevege seg utover et begrenset antall håndskrevne testvektorer. Men tilfeldig behøver ikke bety ukontrollert.

Metodene som gjennomgås omfatter kontroll av verdiområder, ekskludering av verdier, vekting og målretting mot interessante hjørnetilfeller. Utfordringen er samtidig å beholde et testmiljø som er forståelig og vedlikeholdbart.

Det illustrerer et gjennomgående tema for workshopen: Bedre verifikasjon handler ikke bare om å generere flere tester, men om å velge stimuli og strukturere testmiljøet på en måte som faktisk øker kvaliteten.

UVM som kan brukes igjen

Sverre Vigander fra Inventas flytter deretter oppmerksomheten til UVM og utvikling av gjenbrukbare agenter.

I større verifikasjonsmiljøer blir modularitet viktig. En agent samler funksjonalitet som trengs for å stimulere og observere et bestemt grensesnitt, og oppbyggingen avgjør hvor enkelt verifikasjonskomponentene kan videreføres fra ett prosjekt eller design til et annet.

Presentasjonen tar derfor for seg arkitekturen i UVM-agenter, samspillet mellom komponentene og hvordan en verifikasjonsinfrastruktur kan bygges slik at den skalerer og kan gjenbrukes.

RISC-V helt ned til VHDL

Workshopen begrenser seg ikke til verifikasjon. Yngve Hafting fra forskningsgruppen for Robotics and Intelligent Systems ved Universitetet i Oslo viser en liten RISC-V-prosessor utviklet fra bunnen av i VHDL.

Her ligger interessen like mye i selve konstruksjonsprosessen som i prosessoren. Når utvikleren kontrollerer RTL-en fullt ut, åpner det for optimalisering av arkitekturen, egne instruksjoner og prosessorvarianter tilpasset bestemte anvendelser.

Innlegget blir dermed også en påminnelse om hvorfor åpne instruksjonssett som RISC-V har fått stor interesse blant FPGA-utviklere: Prosessorarkitekturen kan bli en integrert og tilpassbar del av logikken snarere enn bare en ferdig blokk.

KI flytter inn i verifikasjonen

Dagens siste tekniske tema peker fremover. Siemens presenterer agentisk KI i Questa One og hvordan KI-baserte verktøy kan få en rolle gjennom flere deler av verifikasjonsprosessen.

Det omfatter oppgaver knyttet til RTL-generering, verifikasjonsplanlegging, analyse, debugging og avslutningen av verifikasjonsarbeidet. Plattformen kan trekke på kontekst fra blant annet design, simuleringsresultater, logger, assertions og verifikasjonsintensjon.

Det interessante spørsmålet er dermed ikke bare om KI kan generere kode. I FPGA-verifikasjon finnes store mengder kontekst og resultater som må tolkes og kobles sammen. Dersom verktøyene kan bruke denne informasjonen, kan KI bevege seg fra generell kodeassistent til et langt mer spesialisert verifikasjonsverktøy.

Samtidig er premisset tydelig i presentasjonen: Den faglige vurderingen og beslutningene skal fortsatt ligge hos ingeniøren.

Og nettopp spennet mellom automatisering og ingeniørkontroll binder mye av dagen sammen. Enten verktøyet er strukturert randomisering i UVVM, gjenbrukbare UVM-agenter, tidlig RTL-analyse eller agentisk KI, er målet det samme: å oppdage flere problemer tidligere og bruke mindre utviklingstid på feil som kunne vært fanget før.

Etter de tekniske øktene fortsatte diskusjonene i en mer uformell ramme med afterwork. For en workshop der verifikasjon står i sentrum, er budskapet gjennom dagen ganske klart:

Den billigste feilsøkingen er fortsatt den man slipper å gjøre, eller sagt på en annen måte: Jo tidligere en RTL-feil oppdages, desto mindre tid må brukes på simulering og feilsøking senere.

 

 

Powered by Labrador CMS