mikrocontroller.net

Forum: FPGA, VHDL & Co. SystemC für HW/SW-Codesign sinnvoll?


Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bisher habe ich den Microblaze mit C programmiert und rechenintensive 
Teile ausgelagert und in VHDL implementiert. Nun habe ich des öfteren 
von SystemC gehört.
Hat jemand schon praktische Erfahrung damit in Bezug auf 
Hardware/Software-Codesign?
Vereinfacht es die Entwicklung von solchen Systemen erheblich?

Danke!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Böse Zungen sagen: SystemC war der Versuch, den "billigen" 
C-Programmierern die Hardwarebeschreibung nahezubringen...

Beitrag "VHDL - Software oder Hardware?"
Beitrag "Gibt es SystemC in freier Wildbahn?"

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dito schrieb:
> Hat jemand schon praktische Erfahrung damit in Bezug auf
> Hardware/Software-Codesign?
> Vereinfacht es die Entwicklung von solchen Systemen erheblich?

System-C ist zunächst mal zur Modellierung gedacht, d.h. zur 
Beschreibung komplexer Systeme, unabhängig davon, was nachher in HW oder 
SW ausgeführt wird. Einen Zähler mit Takt/Enable/Reset zu beschreiben 
ist natürlich möglich, aber ein paar Abstraktionsebenen zu niedrig, um 
sinnvoll zu sein.

Ein weiteres Missverständnis, dass in einigen Kreisen zum schlechten Ruf 
von System-C beigetragen hat, ist der freie Referenz-Simulator in 
Verbindung mit der System-C Verification Library (SCV). Manche dachten, 
sich damit die Anschaffung von Specman(e) oder SystemVerilog zu 
ersparen und wurden von dem scheußlichen C++ Geraffel erschlagen.

Viele Prozessormodelle, virtuelle Plattformen (SoC-Modelle) werden unter 
Verwendung von System-C implementiert. Der Vorteil ist, dass die 
Ausführungsgeschwindigkeit der Modelle extrem hoch ist.

Die EDA Hersteller versuchen mehr oder weniger erfolgreich, high-level 
Synthese mit System-C umzusetzen.

Über meine Benutzerseite findest Du weitere Links zum Thema. Ich selbst 
bin allerdings kein System-C Experte, sondern halte mich an 
(System)Verilog und VHDL.

Gruß
Marcus

Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich seh schon: SystemC ist (noch) nicht das Allheilmittel für den 
SoC-Entwurf. Naja hätte ja sein können... ;-)

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dito schrieb:
> Ich seh schon: SystemC ist (noch) nicht das Allheilmittel für den
> SoC-Entwurf. Naja hätte ja sein können... ;-)

Falls irgendwelche Zweifel bestehen: Ich wollte System-C nicht schlecht 
reden, sondern nur begründen, warum es die Erwartungen einiger nicht 
erfüllt. Ich kann auch mit einem sehr guten Schraubendreher nur bedingt 
erfolgreich Nägel einschlagen.

--
Marcus

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcus Harnisch schrieb:
> Ich kann auch mit einem sehr guten Schraubendreher nur bedingt
> erfolgreich Nägel einschlagen.
Aber ich bekomme mit einem Hammer locker eine Schraube rein...  ;-)

Autor: Condor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo dito,

ob SystemC in deinem Fall bei HW-SW Codesign sinnvoll ist ist schwer zu 
sagen. Die typische Anwendung für SystemC ist meist die 
Architekturphase. Jetzt weiss ich nicht wie gross dein Projekt werden 
soll und wo du arbeitest.
Als ich mit SystemC unter VisualElite gearbeitet habe war das im ASIC 
Design. Da waren die Projekte dann so gross, dass ungefähr 7 Leute die 
Modelle und Testpattern erstellt haben und eine andere Abteilung dann 
die Umsetzung nach VHDL gemacht hat. Das SystemC Modell bzw. die 
Testpattern waren dabei die Referenz, welche Zyklusgenau umzusetzen war. 
Meiner Erfahrung nach ist SystemC nur dann sinnvoll, wenn recht komplexe 
Dinge modelliert werden müssen. (ECC Korrektur, Kanalsimulationen etc.)

Vor kurzem habe ich dann als One-Man Show ein Projekt mit dem Microblaze 
gemacht. Habe dort erst gar nicht mit dem SystemC Modell angefangen 
sondern das Sub-Design in Simulink als Fixpoint simuliert und dann in 
VHDL umgesetzt. (komplexerer Regler) Hatte damals zwar noch mit dem 
Matlab HDL Generator rumgespielt aber es dann doch verworfen, da a) zu 
teuer b) Design explodiert von der Grösse her.
Was ich als ganz geschickt bzw. unumgeänglich angesehen habe, war die 
HW-SW Cosisimulation mit Modelsim. Braucht recht lange bis alles 
aufgesetzt ist und läuft aber ist es wert.
Da kann man dann wengistens soweit den Microblaze arbeiten lassen, dass 
er einem in die  Register schreibt und die HW so initalisiert wie es 
spaeter im wirklichen System sein soll. (meiner Meinung nach führt da 
kein Weg daran vorbei, wenn es überhaupt laufen soll).


Gruss
m.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.