JavaScript is currently disabled.Please enable it for a better experience of Jumi. Systemverktyg ger god överblick
Många av dagens systemverktyg lever inte upp till namnet. De arbetar på registernivå snarare än på beteende- eller algoritmnivå. Närmast idealet är idag verktyg för DSP-konstruktion.

Med systemverktygets hjälp skall man kunna analysera och optimera konstruktionen utan att gräva ner sig i detaljer. På så vis minskar man risken för fel och sparar dessutom tid.

Men verktygsleverantörerna tar gärna ut svängarna när de skall marknadsföra sina alster. Många sätter ESDA-stämpeln, där ESDA står för Electronic System Design Automation, på verktyg som i och för sig klarar samsimulering mellan program- och maskinvara, men först på registernivå.

Andra exempel på "falska" systemverktyg är grafiska inmatningshjälpmedel som främst är avsedda för registernivå, snarare än beteende- eller algoritmnivå som är det egentliga systemskiktet.

Men dessa hjälpmedel har inte de fördelar man normalt förknippar med ett systemverktyg. Själva grundtanken är ju att systemkonstruktören skall få en bra överblick.

Analysföretaget Dataquest har fastslagit en egen definition för systemverktyg - "ett hjälpmedel som stöder samkonstruktion av program- och maskinvara, uppdelning mellan program- och maskinvara samt specificering". Här ingår definitivt inte beskrivningar på register- eller grindnivå.



Rik på datavägar


Den nisch där systemverktygen förmodligen har sitt starkaste fäste är konstruktionshjälpmedel för digitala signalprocessorer. Skälet är att signalprocessorer är så rika på datavägar, vilket är förhållandevis enkelt att beskriva på hög abstraktionsnivå.

Och inom detta område finns systemverktyg som verkligen gör skäl för namnet enligt Dataquests strikta definition. DSP Station från Mentor Graphics, Cossap från Synopsys samt SPW - Signal Processing Worksystem - från Cadenceägda Alta är tre exempel.

Med dessa hjälpmedel kan systemkonstruktören beskriva sin algoritm grafiskt eller med ett högnivåspråk. Sedan simulerar man för att verifiera att systemet uppfyller kraven.

Man får även hjälp med att dela upp systemet i maskin- och programvara på ett optimalt sätt. Bland annat så kan eventuella flaskhalsar behöva implementeras i maskinvara.

När man är nöjd med uppdelningen genererar verktyget koden, exempelvis C eller någon processorspecifik kod samt Verilog- eller VHDL-kod.

De tre verktygsleverantörerna har sedan kopplingar till andra hjälpmedel för det fortsatta arbetet mot en digital signalprocessor eller kanske en asic. På Mentors och Synopsys egna repertoarer finns exempelvis Mistral respektive Behavioral Compiler, två beteendesyntesverktyg som syntetiserar beteendenivåkod till registernivå.

Alta har ett annorlunda angreppssätt. SPW genererar registernivåkod med hjälp av parametriserade kodgeneratorer. Verktyget kan även skapa VHDL-kod på beteendenivå. Den syntetiseras sedan till lägre abstraktionsnivåer med hjälp av beteendesyntesverktyg som exempelvis Synt från svenska Synthesia.



Omogen marknad


Många problem återstår att lösa innan marknaden för systemverktyg kan betraktas som mogen. Att få systemverktygen att fungera tillsammans med konstruktionshjälpmedel på lägre abstraktionsnivåer är den största stötesten. Ett annat problem är att den C-, Verilog- eller VHDL-kod som genereras sällan är optimal. Många klagar även på att det saknas modeller och att man fortfarande måste göra mycket manuellt som borde kunna hanteras av verktygen.

Charlotta von Schultz

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)