Cadenceägda Alta presenterar ett konstruktionshjälpmedel som kan hota Synopsys särställning inom beteendesyntes. Nykomlingens kärna är svenska Synthesias produkt Synt.
Hjälpmedlet är skräddarsytt för vissa tillämpningar och kan användas ihop med olika verktyg för logiksyntes.
Nyfiken på beteendesyntes? Då kan det vara värt att undersöka Visual Architect, ett nylanserat bidrag i genren. Verktyget kommer från Cadenceägda Alta, men stora delar är utvecklade här i Sverige av Kistaföretaget Synthesia, som nyligen köptes upp av just Alta.
Visual Architect skiljer sig på flera punkter från konkurrerande alternativ. Först och främst är det skräddarsytt för trådlösa tillämpningar och multimedia. Verktyget har exempelvis länkar till Altas systemverktyg Enwave och Envision.
Ett annat särdrag är att verktyget är "öppet både fram och bak" som Per Nilsson - tidigare Synthesias VD, blivande Alta-anställd - uttrycker det. Det innebär att användaren inte är låst till att använda verktyg från en specifik leverantör till de övriga konstruktionsfaserna. Här har Alta valt en helt annan strategi än konkurrenten Synopsys, vars Behavioral Compiler ju enbart fungerar tillsammans med företagets egna alster, något som irriterar många användare.
Valfri källa
Visual Architect accepterar alltså VHDL-kod på beteendenivå från vilken källa som helst. Man kan naturligtvis knåpa ihop koden själv. Ett annat alternativ är att systemkonstruktören utvecklar algoritmer i heltalsformat med hjälp av Altas systemverktyg SPW. Utresultatet, VHDL-kod på beteendenivå, matas sedan vidare till Visual Architect som genererar VHDL-kod på registernivå.
Här tar hårdvarukonstruktören vid. Till sin hjälp har han eller hon då ett hjälpmedel för logiksyntes eller datavägskompilering. Visual Architect stöder idag verktyg från Mentor Synopsys och Cadence.
Positiva recensionerBlir då resultatet från själva beteendesyntesen verkligen godtagbart? Ja, det tycker Mikael Widén, elektronikkonstruktör på Saab Dynamics. Han har 2,5 års erfarenhet av Synthesias verktyg Synt, som är hjärtat i Visual Architect.
- Verktyget har verkligen nått en milstolpe. Nu tjänar man faktiskt på att använda beteendesyntes, säger han.
På Saab Dynamics körde man två parallella spår med en skarp algoritm: en traditionell konstruktion på registernivå och ett beteendenivåspår med Synt, visserligen i en äldre version än den som sitter i Visual Architect idag.
- Beteendesyntesen gav minst lika bra resultat. Och utvecklingstiden blev dessutom kortare.
Han tycker inte heller att han tappade greppet om sin konstruktion, en skapelse som motsvarar ungefär 50 000 grindar. Synt liksom Visual Architect är ju interaktivt. Delresultat visar i grafer och diagram under arbetets gång - ingen "svart låda" här inte. Man kan exempelvis se hur yta och hastighet påverkas av olika arkitekturer. Och just den egenskapen uppskattar Mikael Widén.
- Det grafiska gränssnittet har varit mycket värdefullt. Man ser hur verktyget tänker, säger han.
I framtida versioner hoppas han att Alta, läs Synthesia, filar ännu lite mer på funktionerna för pipelining. Och trots att han är positiv menar han fortfarande att det snarare rör sig om högrenivåsyntes än högnivåsyntes - det finns en del kvar att göra.
Både styrlogik och datavägarAlta påstår att Visual Architect är marknadens första beteendesyntesverktyg som klarar såväl styrlogik som datavägar. Konkurrenterna Mentor Graphics och Synopsys hävdar visserligen att deras alster, Mistral DSP respektive Behavioral Compiler, faktiskt också klarar detta. Fast Mentors variant är förstås avsedd för DSP-konstruktioner som främst innehåller datavägar.
Synopsys har i dagsläget 50 procent av beteendesyntesmarknaden medan Mentor har runt 30 procent. Men det är inte otroligt att Synthesia, med Alta i ryggen, nu kan ta en rejäl del av marknaden.
Charlotta von Schultz
Syntes på högre nivåerVHDL-kod på beteendenivå är en algoritmisk beskrivning som liknar programspråket Ada. Konstruktionens funktion beskrivs, men hur det hela skall realiseras i hårdvara behöver man inte ägna så mycket huvudbry åt. Konstruktören simulerar denna beskrivning och undersöker olika arkitekturer.
Fördelarna är många. Kod på beteendenivå är kompaktare än registernivåkod, simuleringar går snabbare och konstruktören får hjälp att välja lämplig arkitektur. Det är nu man kan göra de stora vinsterna i tid och yta.
Beteendesyntesverktyget översätter sedan koden till lägre abstraktionsnivåer. Man slipper alltså göra översättningen till registernivån för hand, vilket är vanligt i dagens konstruktionsprojekt.
Ett beteendesyntesverktyg har två grundläggande uppgifter: schemaläggning - scheduling - och utplacering av operationer på maskinvaruresurser.
Vid schemaläggningen sprider verktyget ut VHDL-operationerna i tiden och provar olika realiseringar. Verktyget har tillgång till information om vilken tid och yta olika operationer kräver.
Beteendesyntesverktygen har olika finesser för att göra schemaläggningen så effektiv som möjligt.
Några av dessa är kedjning (chaining), flercykeloperationer och pipelining.