Systemdesign / Co-Simulation

Von der Idee zum Prototyp - schnell, flexibel und effizient

17. Dezember 2018, 12:29 Uhr | Simone Fontanesi, Gaetono Formato und Andrea Monterastelli, Infineon Technologies
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Automatische HDL-Übersetzung

Beim Schreiben des SystemC-Codes des digitalen Kerns wurde eine erforderliche VHDL-Übersetzung berücksichtigt. Daher wurden alle Sprachkonstrukte, die in SystemC zwar möglich, aber nicht synthetisierbar sind, sowie redundante Datentypen und komplexe C++-Strukturen vermieden.

Um jedes SystemC-Modul des digitalen Kerns in VHDL zu übersetzen, wurde Mentor Catapult verwendet. Das Ergebnis ist ein Satz VHDL-Module mit derselben Hierarchie wie die SystemC-Module.

Insgesamt wurden etwa fünfzehn SystemC-Module konvertiert, die jeweils eine Komplexität von etwa fünfhundert Zeilen Programmcode haben. Ein erfahrener Digital-Designer hätte Monate gebraucht, um das Verhalten des SystemC-Modells für die FPGA-Synthese in HDL zu konvertieren. Mit Mentor Catapult dauerte der Übersetzungsprozess nur etwa einen Tag. Dieser High-Level-Syntheseansatz kann so den Programmieraufwand um Monate reduzieren. Dies ist ein entscheidendes Kriterium für die schnelle Entwicklung von Prototypen.

Automatische Co-Simulation von HDL und SystemC

Um die Übersetzung zu überprüfen, simulierte Cadence Virtuoso die VHDL-Übersetzung von digitalem Kern und SystemC-Modell. In Virtuoso wurde ein Schaltplan realisiert und das SystemC-Modul Input Section instanziiert. Der analoge Teil des Sensors wurde in das SystemC-Modul Analog Section eingebunden und mit den von der Input Section kommenden Signalen gespeist. Dasselbe erfolgte für den A/D-Wandler: die Ausgänge der Analog Section und des A/D-Wandlers wurden mit dem digitalen SystemC-Kernmodul und dessen VHDL-Übersetzung verbunden. Die Ausgänge der beiden Digital-Core-Implementierungen (VHDL und SystemC) wurden mit zwei analogen Interface-SystemC-Modulen verbunden. Zwei SystemC-Module Evaluation Section wurden instanziiert, um die Ausgänge der beiden analogen Schnittstellenmodule auszuwerten. Eine vereinfachte Struktur zeigt Bild 4.

Bild 4:  Aufbau für die Co-Simulation
Bild 4: Aufbau für die Co-Simulation
© Infineon Technologies
Bild 5: Beispiel für Co-Simulationsergebnisse
Bild 5: Beispiel für Co-Simulationsergebnisse
© Infineon Technologies

Der beschriebene Ablauf ermöglichte die Co-Simulation des SystemC- und VHDL-Codes des digitalen Kerns unter Verwendung der selben Eingänge und der selben Auswertelogik. Als Ergebnis der Co-Simulation liegen dann zwei verschiedene Reports vor, einer für VHDL und einer für SystemC, welche die Ausgangsimpulse der beiden Ausgangssignale charakterisieren und vergleichen. Bild 5 zeigt Beispielergebnisse für die Co-Simulation.

Die Ergebnisse bestätigten eine korrekte VHDL-Übersetzung und eine hinreichende Übereinstimmung mit dem SystemC-Verhalten, abgesehen von gerinfügigen Timing-Unterschieden: die Ursache liegt in der Implementierung der High-Level-Synthese im Tool. Mit dem Catapult-Tool wurde eine vollständige Übereinstimmung erzielt.


  1. Von der Idee zum Prototyp - schnell, flexibel und effizient
  2. Sensorentwicklung in SystemC
  3. Automatische HDL-Übersetzung
  4. Synthese auf dem FPGA
  5. Ergebnisse und Schlussfolgerung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Infineon Technologies AG

Weitere Artikel zu MathWorks GmbH

Weitere Artikel zu Cadence Design Systems GmbH

Weitere Artikel zu Mentor Graphics (Deutschland) GmbH Mechanical Analysis Div.

Weitere Artikel zu Mentor Graphics (Deutschland) GmbH

Weitere Artikel zu Mentor GmbH & Co. Präzisions-Bauteile KG

Weitere Artikel zu EDA (Halbleiterentwicklung)

Weitere Artikel zu IP-Cores

Weitere Artikel zu Sensoren & -systeme

Weitere Artikel zu Entwicklungsdienstleistungen

Weitere Artikel zu Entwicklungswerkzeuge