RTL, register transfer level, har varit den dominerande abstraktionsnivån de senaste tio åren då den ersatte grindnivån.
I flera år har det talats om ersättaren, Electronic System Level, ESL, men inget verktyg för att knyta ihop ESL med RTL har fått genomslag på marknaden.
- Ett problem är att både gate och RTL-nivåerna arbetar med ettor och nollor. ESL, däremot arbetar med funktioner. Det gör översättningen mycket svårare, förklarar Simon Calder.
Grafiskt verktyg
Nu har Spiratech lanserat sin serie med just sådana verktyg, kallad Cohesive. Viktigast i familjen är Cohesive Transformer, en debugger som kan översätta ESL till RTL, och, vilket är mycket svårare, vice versa. Programmet stödjer för närvarande Mentor Graphics simulator Modelsim och Open Source System C Simulator.
- Stöd för fler simulatorer kommer. Open Source-alternativet är inte särskilt bra, så det kan hända att vi väljer att göra vår egen simulator för System C.
Cohesive Transformer har ett grafiskt verktyg där man kan se vad som händer på alla abstraktionsnivåer samtidigt under simuleringen, för att göra sambanden mellan nivåerna så tydliga som möjligt.
Eftersom ESL befattar sig med funktioner behövs det ett funktionsbibliotek. Cohesive Adaptors är Spiratechs ansats till att bygga upp ett sådant bibliotek för samtliga vanliga gränssnitt. I första lanseringen finns det färdiga funktioner för PCI Express, Amba-bussen och UART. Företaget jobbar för fullt med att utöka sortimentet.
Tills dess finns Cohesive Generator, som klarar av att fånga en gränssnittspecifikation och kompilera den till samtliga abstraktionsnivåer. Enligt Simon Calder kan Spiratechs verktyg förkorta utvecklingstiden för nya system avsevärt.
- RTL var aldrig en meningsfull plattform för programvaruutveckling, så den fick man påbörja när kretsen var tillbaka från fabben. Med ESL kan man utveckla mjukvaran parallellt med hårdvaran.
Elias Nordling