| Konstruktioner skrivna i VHDL och Verilog är lätta att
syntetisera med bra kvalitet. Men det blir mycket kod, för möjligheten att gå
upp i abstraktionsnivå är begränsad.
SystemC, Ã¥ andra sidan, är bra för högnivÃ¥abstraktion, men ger inte nÃ¥gon effektiv hÃ¥rdvara. AlltsÃ¥ behövs nÃ¥got nytt, resonerade svenske Per Ljung och hans kollegor pÃ¥ företaget Codetronix. Resultatet heter Mobius och visades för första gÃ¥ngen för allmänheten pÃ¥ mässan FPGA World. - Codetronix har utvecklat Mobius med användare inom amerikanska militären. Vi läste en artikel i Elektroniktidningen om att ABB utvärderade högnivÃ¥verktyg, tog kontakt med dem och nu är ABB vÃ¥r första svenska kund, berättar Per Ljung. Med Mobius gÃ¥r det att koda sÃ¥väl hÃ¥rd- som mjukvara pÃ¥ hög nivÃ¥. Källkoden blir typiskt en femtondedel sÃ¥ stor som motsvarande VHDL eller C-kod, och den kan simuleras 100 gÃ¥nger snabbare än VHDL eller Verilog. Utdata blir Verilog eller VHDL som accepteras av marknadens vanliga syntesverktyg, plus Ansi-C som kan kompileras med valfri kompilator. SprÃ¥ket Mobius har en snudd pÃ¥ intuitiv syntax. Det bygger pÃ¥ CSP-metodik (Communicating Sequential Processes), vars principer pÃ¥minner om UML. Användaren mÃ¥ste alltsÃ¥ lära sig ett nytt sprÃ¥k, men enligt Codetronix är det lätt att lära sig och därtill väl värt insatsen eftersom produktiviteten ökar 10-20 gÃ¥nger. Befintliga konstruktioner och programvara skrivna i VHDL, Verilog eller C kan förses med omslagsprotokoll (”wrappers”) och därmed ingÃ¥ i större Mobiuskonstruktioner. En intressant aspekt är ocksÃ¥ att verktyget utger sig för att stödja hÃ¥rd- och mjukvarukonstruktion lika bra. Varje del av konstruktionen kan kompileras till endera hÃ¥rd eller mjukvara – eller en kombination. Stöd finns ocksÃ¥ för sÃ¥dant flertrÃ¥dad synkronisering i realtid av sÃ¥väl hÃ¥rd- som mjukvaruprocesser. Konstruktionen verifieras med den inbyggda debuggern och transaktionsnivÃ¥simulatorn. Konstruktören fÃ¥r skriva en testbänk pÃ¥ vanligt sätt, och använda simulatorn för att bekräfta funktionerna. - Vi tycker inte att nÃ¥gon lÃ¥gnivÃ¥verifiering behövs. De som använder Synopsys Design Compiler eller Xilinx ISE har inga klagomÃ¥l pÃ¥ den Mobiusgenererade koden, säger Per Ljung. Mobius är inte standardiserat, och det finns inga omedelbara planer pÃ¥ nÃ¥gon sÃ¥dan process. Per Ljung ser inte heller nÃ¥gon konkurrens frÃ¥n exempelvis System Verilog. - System Verilog är ganska lÃ¥gnivÃ¥. Mobiusanvändare har inget behov eller fördel av System Verilog, säger Per Ljung. |
| Kodexempel
Mobius syntax påminner om Pascal och är tämligen intuitiv. En sekvensiell krets med tre cyklers latens och utdata var tredje cykel beskrivs såhär: procedure slow(Motsvarande krets med pipeline beskrivs såhär: procedure fast( |





P R E N U M E R E R A