Nu kan FPGA-utveckling flytta ut på webben, med hjälp av öppna verktyg.
Den som arbetat med FPGA-verktyg har under åren fått stå ut med allt större och tyngre programvaror. Senaste verktygspaketet från AMD landar på 60–100 GB. Att starta upp det tar minst en minut, bara för att utföra den enklaste uppgift.
Jämför detta med att kompilera ett mindre C-program. Det kan vara en lika beräkningstung uppgift men går på bråkdelen av en sekund och med verktyg som är en hundradel så stora som FPGA-jättarnas.
Öppna verktygsalternativ som Yosys och NextPNR har dock visat att det går alldeles utmärkt att klara sig på några hundra MB och några sekunder, även för att sätta ihop en FPGA-konstruktion. Åtminstone för de mindre FPGA:erna.
Men varför stanna där?
Tillgången till källkod bringar nya möjligheter. Redan för tio år sedan gick det att kompilera verktygen så att de kunde köras på en Raspberry Pi för en portabel FPGA-utvecklingsmiljö. Nu har FPGA-utvecklingen tagit ytterligare ett steg in i framtiden.
Projektet YoWASP (Yosys WebAssembly Synthesis & PnR) kompilerar en öppen verktygskedja för FPGA-utveckling till WebAssembly. Det gör det möjligt att köra programmen direkt i en vanlig webbläsare.
Den sista pusselbiten som kommit på plats är stöd för att också ladda upp den färdiga FPGA-laddmodulen till en ansluten FPGA från webbläsaren. Det sker med hjälp av webbstandarden WebUSB.
Det hela resulterar alltså i en utvecklingsmiljö för FPGA som varken behöver installeras på en dator eller behöver tillgång till några molntjänster för att fungera.
YoWASP finns idag tillgängligt för ett flertal av Lattice FPGA-familjer såsom iCE40, ECP5, MachXO2 och CrossLink-NX samt Gowins LittleBee-familj.
Vad gäller prestanda är Yosys ungefär hälften så snabbt som den konventionellt kompilerade versionen. NextPNR rapporteras vara ungefär lika snabb som vanligt.