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!
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?"
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
Ich seh schon: SystemC ist (noch) nicht das Allheilmittel für den SoC-Entwurf. Naja hätte ja sein können... ;-)
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
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... ;-)
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.