Sex gånger större och samtidigt dubbelt så snabb som föregångaren. Möt Protium S1, den tredje generationen av Cadence FPGA-baserade prototypverktyg för mjukvaruutveckling.
– Det sista man gör innan tape-out är att boota processorn för att se att allt fungerar. Kan man göra det på kortare tid kommer man snabbare till marknaden, säger Frank Schirrmeister på Cadence.
Det är här som Protium S1 kommer in. Det är ett FPGA-baserat verktyg som låtsas vara halvledarkretsen. Givetvis går det inte lika fort som i det färdiga kislet, man landar någonstans mellan 3 och 100 MHz i klockhastighet beroende på komplexiteten i konstruktionen, men det går ändå betydligt fortare än i en emulator som i första hand är avsedd för avlusning av hårdvara, exempelvis Palladium Z1, även den från Cadence.
Helst ska man använda bägge hjälpmedlen eftersom kompileringsflödet till cirka 80 procent är detsamma och man därmed kan spara tid.
– Det brukade vara ett problem att överföra RTL-koden till FPGA:erna eftersom man måste dela upp den i mindre block. Här hjälper kompileringsflödet till genom att göra uppdelningen automatiskt, säger Juergen Jaeger.
Varje FPGA i Protium, som i den nya versionen bytts från Xilinx Virtex-7 till Virtex Ultrascale VU440, rymmer cirka 22 miljoner asicgrindar. När konstruktionen är större än så måste den delas upp på flera FPGA:er.
I en asic kan man placera ut minnen där man vill ha dem och i önskad storlek. FPGA:er har minnen i bestämda storlekar och i ett begränsat antal. Även detta bidrar till att öka komplexiteten och sänka klockhastigheten.
– Ytterligare en skillnad är att den programmerbara logiken har en fast ledningsdragning för signalerna. I en asic kan man kasta in ett nytt lager om man vill förbättra framkomligheten.
Summa summarum är det ett hästjobb att manuellt föra över en större asic till ett FPGA-kort. Enligt Cadence kan det ta många månader men med Protium S1 kan tiden kortas till i bästa fall veckor.
Sen kan man alltid addera lite handpåläggning om man inte är nöjd med resultatet.
De första kunderna har redan börjat använda systemet.