Syntes från M

Med syntesverktyget Synphony tar nu EDA-företaget Synopsys steget till att göra högnivåsyntes direkt från algoritmer beskrivna i Matlab. Steget från M till kisel eller FPGA kortas dramatiskt.

– Det är egentligen konstigt att ingen av EDA-tillverkarna tagit det här steget tidigare, säger George Zafiropoulos från Synopsys. Systemutvecklarna utvecklar algoritmer i M-språket och det borde vara självklart att då också låta syntesarbetet utgå från M.
En orsak är förstås att alla varit så fokuserade på generella språk som C och C++. Synphony är bara avsett att klara syntes av algoritmer, men det är å andra sidan en mycket stor och växande del av dagens halvledarkomponenter. Och algoritmutvecklarna använder Matlab.
– Det går naturligtvis att först översätta M-kod till C-kod, men det blir nästan tio gånger så mycket kod och risken att introducera fel är stor. Med vårt verktyg går arbetet mycket snabbare och kopplingen till verifieringen blir betydligt bättre.
Flödet med Synphony är i grunden enkelt. M-koden simuleras som vanligt i Simulink och algoritmerna översätts från flyttal till heltal. Kompilatorn verifierar beteendet och kontrollerar att heltalsomvandlingen är korrekt. Därefter görs syntesen till RTL-kod. Det finns naturligtvis stora möjligheter att påverka transformeringen och resultatet skiljer sig kraftigt, beroende på om målet är en FPGA eller om man skall gå direkt till kisel. Verktyget kan också generera en C-modell som kan användas som modell i verifieringsarbetet.
– Vi har lagt ner mycket arbete på att förenkla verifieringsarbetet. Det är lätt att gå fram och tillbaka mellan M-kod och HDL-kod och det är lätt att generera FPGA-prototyper och simuleringsmodeller. Hittills har en konstruktör tidigt tvingats att låsa sig till en arkitektur, eftersom det varit alltför tidsödande att börja om från början. På det här sättet kan en konstruktör få tid att pröva flera olika arkitekturer och dessutom ha möjligheten att ändra sig om det senare visar sig att den valda vägen inte leder till ett bra resultat.

Comments are closed.