C-to-RTL-Compiler

8. August 2008, 15:12 Uhr | Iris Stroh, Markt&Technik

Das ESL-Tool »C2R« von CebaTech ist ein Compiler, der aus einem ANSI C-Code automatisch Verilog RTL-Code erzeugt. Aufgrund der höheren Abstraktionsebene können komplexe Designs effizient erstellt und dann automatisch in RTL umgesetzt werden.

Diesen Artikel anhören

Mit dem C2R-Compiler kann der Chip in ANSI C als Design-Sprache entwickelt, verifiziert und implementiert werden. Es handelt sich um ein robustes Design-Tool zur Beschreibung eines Chips auf der Verhaltens- und Systemebene. Zur Beschreibung der Hardware kommt ANSI C zum Einsatz.

Der C2R Compiler automatisiert den Entwicklungspfad vom C-Code zu synthetisierbaren Verilog-Code. Chad Spackman, Co-Founder und CTO von CebaTech, erklärt: »Damit sind deutliche Laufzeitverbesserungen bei der Simulation möglich.« Und weiter: »Mit dem C2R-Compiler können die Entwicklungs-Teams die Produktivität zurückgewinnen, die sie mit traditionellen RTL-Design-Methoden verloren haben.«

Der C2R-Compiler erzeugt korrekten und qualitativ hochwertigen RTL-Code für Algorithmen, Steuerungslogik und komplexe Datenpfade, und das in einer Vielzahl von Anwendungen. Der Compiler kann beliebig großen C-Code verarbeiten und unterstützt FPGAs, ASICs und Structured ASICs.

Warum setzt CebaTech auf ANSI C? Laut Spackman erfordern viele ESL-Tools (Electronic System Level), dass das Design mit einer Sprache erfolgt, die proprietäre Erweiterungen für ein Hardware-spezifisches Design aufweisen. Damit können keine Standard-Compiler genutzt werden. Der Design-Flow von Ceba-Tech dagegen nutzt Standard-ANSI-C mit bedingten Anweisungen, die vom C2R-Compiler interpretiert werden, wobei jeder andere Standard-C-Compiler den Code immer noch versteht.

Ceba- Tech hat ANSI C als Eingabesprache gewählt, weil die C-Sprache in einer nicht unterbrechenden Umgebung mit Threads eine sehr leistungsstarke Hardware-Beschreibungssprache darstellt, die laut Spackman hervorragend für das Design von SoCs jedweder Größe und Komplexität passt. Spackman: »Datentypen in C wie Strukturen, komplexe Arrays, Unions, haben ein direktes und intuitives Abbild in der Hardware und stellen somit geeignete Abstraktionen für Elemente in einem Hardware-System dar.«

Der C2R-Compiler unterstützt den kompletten ANSI C Sprachschatz sowie eine Multi-Threaded-Entwicklungsumgebung, einschließlich:

  • Pointer,
  • Fest- und Gleitkomma-Mathematik,
  • Funktionsaufrufe mit Parameterübergabe, einschließlich Pointern,
  • globale Variablen,
  • globale und lokale Arrays, Strukturen, Unions, etc.
  • Schleifen,
  • Threads, PThreads etc.

Bislang unterstützt der Compiler keine Rekursionen, aber Spackman erklärt, dass an diesem Punkt derzeit gearbeitet wird, so dass auch in diesem Fall künftig keinerlei Einschränkungen mehr bestehen werden.


  1. C-to-RTL-Compiler
  2. Hohes Abstraktionsniveau bei der Entwicklung

Jetzt kostenfreie Newsletter bestellen!