FPGA-forum:
KI fra hype til designhverdag
Kan kunstig intelligens gjøre en forskjell innen design og verifikasjon? Det var ett av mange tema som ble tatt opp under FPGA-forum i forrige uke.
Elektronikkutviklere av mange slag hadde satt seg stevne i Trondheim 11.-12. februar for å høre siste nytt og utveksle erfaringer innen FPGA og relaterte teknologier. Ja, faktisk så mange at arrangørene kunne notere ny deltakerrekord: 153 stykk med stort og smått.
Temaet kunstig intelligens preget konferansen også for 8-9 år siden, men det ble ikke så mye mer enn et blaff og noen fremtidstanker ut av det. Tre år med ChatGPT og en voldsom vekst i verktøy, rammeverk og modeller har gjort temaet langt mer relevant – og håndfast – i dag. Språkmodeller og maskinlæring er blitt dagligdags, men kan kunstig intelligens endre måten vi designer elektronikk på? Mye tyder på det, om enn teknologien ennå må modnes.
Høy kompleksitet
Konserndirektør og FPGA-guru i Lattice, Eleena Ong, tok opp dette i sitt åpningsforedrag. – KI er en av de mest betydningsfulle teknologiene i vår tid, konstaterte hun. Og kanskje kan den løse noen av utfordringene innen FPGA-design. Det fins noen hindre som stopper FPGA på veien fra nisje til «mainstream». Det gjelder først og fremst en høy inngangsterskel, lang utviklingstid (mange iterasjoner, debugging osv.), begrenset tilgang på talenter, og høy kompleksitet. – Det er en interessant problemstilling hvorvidt KI kan løse noe av kompleksiteten i utvikling, sa Ong.
– Vi ser en viss utvikling i verktøy og språkmodeller, men fortsatt må designeren ha god kjennskap til maskinvare. FPGA-design er fortsatt uforståelig for ikke-FPGA-eksperter, fastslo hun.
Kunstig intelligens kommer – men hvor?
Øke forståelse og komprimere læring
Ifølge Ong kan KI brukes til å øke forståelsen på systemnivå, gjennom støtte for naturlig språk, samt vurdering av og bedre innsikt i designløsninger basert på utdata fra verktøyene. – Dette kan bidra til å løfte systemforståelsen fra «stammespråk» til institusjonalisert kunnskap. Videre kan man komprimere læreprosesser og styrke kodestandarder, mener hun.
– KI vil også være viktig i en overgang fra fragmenterte verktøy, til «orkestrerte» arbeidsflyter.
– Kunstig intelligens vil kunne «superlade» brukerbasen innen FPGA gjennom anvendelse av assisterte modus, og kanskje drive en viral vekst av nye brukerbaser for FPGA gjennom autonome modus, ved av «avmystifisere» FPGA påpekte hun.
KI i designfasen
– Det finnes gode muligheter til å utnytte KI både i planleggings-/spesifikasjonsfasen, under utvikling, og under testing og verifikasjon. Hos Lattice har vi utviklet KI-støtte for flere oppgaver i våre verktøy, fortalte hun. Det gjør det f.eks. mulig å konvertere tekniske spesifikasjoner til en maskinlesbar fil, for så å generere et «skall» for RTL/IP, ifølge Ong, som benyttet anledningen til å komme med et tips til et anvendelig KI-assistert utviklingsmiljø for å skrive kode; Cursor, som stadig øker sin utbredelse.
Ong viste deretter flere brukereksempler på KI-støttet arbeid, som automatisk designmigrering, og automatisk designoppdatering/-endring. – Her er mange muligheter for å gjøre livet enklere, fastslo hun.
Hopp på toget!
– Vi utfordrer våre egne ingeniører til å være kreative og eksperimentere. Og vi jobber mer systematisk med å se på hva mennesker er best på å gjøre, og hva som kan overlates til KI. I dag er KI best på lav kompleksitet, godt strukturerte og klare oppgaver, mens produktiviteten synker raskt med økende kompleksitet, sa Ong, som avsluttet med oppfordringen: – Teknologien utvikler seg raskt. Mye vil se annerledes ut i morgen. Derfor er det viktig å være endringsorientert og forberedt. Hopp på toget, selv om ikke det riktige verktøyet er på plass ennå!
Erfaringer
En uformell spørreundersøkelse pr håndsopprekning avslørte at mange i salen allerede hadde testet ut KI i design/verifikasjon på ulike nivå og med vekslende resultat. Og i en egen presentasjon fortalte Øyvind Riis fra Appear AS om deres erfaringer med KI.
Appear er er et norsk selskap som utvikler utstyr for transport av høykvalitets video og lyd. Produktene er bygget rundt FPGAer, og selskapet, som er i rask vekst, har allerede omkring 20 FPGA-utviklere.
Bruk innen VHDL-design
De startet et prosjekt for å finne KI-rammeverk som kunne anvendes innen VHDL-design, fra maskinvare- til applikasjonsnivå, og ikke minst hva slags sikkerhetstiltak som bør iverksettes ved bruk av KI.
– I tidlige forsøk opplevde vi at KI «glemte» hva den holdt på med, den begynte å hallusinere, og det var ellers begrensede muligheter til å trene den for å få relevant informasjon, fortalte Riis. Men verktøyene er blitt bedre siden den gang. Samt kunnskapen om hvordan KI kan utnyttes.
– Vi ser at det er mange ting KI kan være nyttig for innen FPGA-design, så vi har prøvet og feilet litt for å utforske dette, fremholdt han.
God til å finne og forklare
Blant annet har man brukt KI for å «forklare» 15 år gammel kode, og lage mermaid-diagrammer for tilstandsmaskiner og dataflyt. Man erfarte at den er god på generering av repetitiv logikk og enkle testbenker, følge opp koderegler, utforske og renske kode, samt fikse kompileringsfeil. Oppretting og oppdatering av dokumentasjon er andre oppgaver den er egnet til.
En demonstrasjon av agentisk KI viste også hvordan KI kan finne og forklare timingfeil.
Sikker tilgang er et must når man tar i bruk verktøy som dette. Samt menneskelig overoppsyn.
– Vi trenger fortsatt et «human in the loop», oppsummerte Riis. – KI fungerer ved å forutse tokens, den «forstår» ikke VHDL, fastslo han. – Og husk, det er utvikleren som eier koden. Og er ansvarlig for den. Ikke stol på KI!