Mentor Graphics lovar att det nya verktyget Catapult C Synthesis får fram högkvalitativ RTL-kod på tjugondelen av tiden jämfört med manuellt konstruktionsarbete. Ericsson Mobile Platforms i Lund hör till de tidiga användarna.
Det hindrar inte Mentor Graphics från att slå sig för bröstet i och med lanseringen av Catapult C Synthesis, enligt företaget det första verktyget som kan ta ren kod i C eller C++, utan någon information om konstruktionens timing, och syntetisera denna kod till RTL-nivå optimerad för en given FPGA-familj eller asicprocess.
Mentor är noga med att påpeka att det ligger tio års forskning bakom verktyget, och att det är beprövat redan innan lanseringen - ett tiotal kretsar har tagits fram där verktyget använts.
Man hävdar också att verktyget ger minst lika bra resultat som manuellt arbete, vilket intygas av Peter Nord på Ericsson Mobile Platforms. I ett pressmeddelande säger han att företaget lyckats reducera antalet grindar med över 30 procent, med motsvarande besparingar i kiselyta och strömförbrukning.
Arkitekturbibliotek i systemet
Verktyget utgår från en algoritm i C eller C++, som kan vara skapad med exempelvis Matlab. Alla steg däremellan - val av mikroarkitektur, implementering av C-koden i VHDL eller Verilog samt optimering av RTL-koden gentemot kiselyta eller snabbhet - sker automatiskt. Användaren styr genom att ange randvillkor (constraints), där konstruktören kan prova sig fram hur olika designval påverkar resultatet.
Utan kunskap om målkretsen går det dock inte att få fram bra RTL-kod. En viktig del i systemet är därför arkitekturbiblioteket, Library Builder. Här finns information från asicleverantörer och FPGA-tillverkare som verktyget använder för att optimera koden.
Denna första version av Catapult C Synthesis är främst tänkt för DSP-intensiva tillämpningar. I Mentors plan för framtiden finns även versioner för videokonstruktion, styrsystem och mer generella konstruktioner.
Adam Edström