Hallo, kennt von euch vielleicht wer Code Schnipsel von synthetisierbaren C++ Code (Zähler, Sate Machines)? Ich nutze Catapult C als Umgebung. Besonderes Problem hab ich momentan Werte in Registern zwischenzuspeichern oder auch schon ein simpler Zähler gelinkt mir nicht (weiß nicht was wann passiet oder wie ich den Takt nutzen muss ?). Kompliezierte Gleichungen dagegen werden zumindest schon einmal syntethisiert. Leider findet man nicht sehr viel Dokumentation oder Beispiele.
Hi, redest du von SystemC? Da gibts im Internet einiges, habe mir vor 2 Jahren das selber beigebracht. Google halt mal ein bisschen. Es gibt da sogar Tutorials... Spezielle Fragen bekommst du bestimmt auch hier beantwortet.
Das Tool kann auch SystemC, allerdings was ich für viel interessanter halte, solle es auch Standard C++ in Hardware umwandeln können. Ein einfacher Zähler ist mir mittlerweile gelungen:
1 | #pragma hls_design top
|
2 | |
3 | unsigned short i=0;// 16 Bit Zähler |
4 | |
5 | void zaehler(unsigned short *output)// Nur Output CLK und Reset werden automatisch generiert |
6 | {
|
7 | if(i<65535) |
8 | {
|
9 | *output=i;// gebe Zaehlerstand aus |
10 | i++; //Zaehle hoch |
11 | }
|
12 | else
|
13 | {
|
14 | i=0; // setzte Zaehler zurück |
15 | }
|
16 | }
|
Hatte da irgendwie ein Brett vorm Kopf normalerweise nutze ich halt auch VHDL.
Hi, ich verstehe nicht so ganz: SystemC ist doch C++... Wenn man die SystemC-Bibliothek nicht benutzt muss man imho dennoch eine eigene Erweiterung benutzen und hätte keine Vorteile im Vergleich zu SystemC...
faul schrieb: > Wenn man die SystemC-Bibliothek nicht benutzt muss man imho dennoch eine > eigene Erweiterung benutzen und hätte keine Vorteile im Vergleich zu > SystemC... http://www.mentor.com/esl/catapult/overview Mit dem Tool lässt sich ANSI C++ synthetisieren, also auch ohne SystemC Bibliothek oder einer Eigenen. Wie gut das ganze ist versuche ich mal so langsam zu ergründen.
Such mal nach dem Buch "High-Level Synthesis Blue Book" direkt vom Hersteller. Dort sind viele Beispiele beschrieben.
@ MT ... und wenn Du alles zum Laufen gebracht hast, dann lass die Gemeinde doch ein deinem Wissen teilhaben. Ich persönlich habe zu allen Tools oberhalb RTL ein sehr gespaltenes Verhältnis. Irgendwie leuchten mir die Vorteile nicht ein. Der zitierte Zähler ist in RTL auch nicht komplizierter, und wenn man wirklich abstrakte Sachen macht, dann scheitert die Synthese. Also?
Harald Flügel schrieb: > @ MT > > ... und wenn Du alles zum Laufen gebracht hast, dann lass die Gemeinde > doch ein deinem Wissen teilhaben. Ich persönlich habe zu allen Tools > oberhalb RTL ein sehr gespaltenes Verhältnis. Irgendwie leuchten mir die > Vorteile nicht ein. Der zitierte Zähler ist in RTL auch nicht > komplizierter, und wenn man wirklich abstrakte Sachen macht, dann > scheitert die Synthese. Also? Algorithmen dagegen kann man mal eben in einer Zeile schreiben... Ob es scheitert ist dann natürlich DIE Frage...
MT schrieb: > Algorithmen dagegen kann man mal eben in einer Zeile schreiben... Was ist daran neu? Das geht in anderen Beschreibungssprachen auch...
@ MT Vielleicht kommt dir bei deinen weiteren Recherchen ja etwas vor die Linse, von dem Du sagen kannst, dass die Modellierung mit C++ ein echter Gewinn war. Ich habe jedenfalls noch nichts derartiges gefunden. Seien wir doch mal ehrlich: Sehr oft, wenn neue Sprachen und/oder Methoden erfunden worden, standen nicht unbedingt heere Ziele im Vordergrund. Die "alten" Sprachen und Methoden haben prima funktioniert, wenn gut geschulte und erfahrere Menschen sie angewendet haben und die Tools fehlerarm waren. Mehr als eine Softwarekrise wurde dadurch verursacht, dass zu wenige erfahrene Informatiker vorhanden waren und man statt dessen jeden an eine Tastatur gelassen, der bis 3 zählen kann. Was machen die Manager, wenn bessere Tools/Methoden kommen, die einen höheren Abstraktionsgrad erlauben oder weniger Fehler zulassen? Lassen sie die gleichen Leute "bessere" Systeme entwickeln? Nein, weniger geschulte Leute die gleichen Systeme. Oder, andere Frage: Was war die Intialzündung für SystemC? Abstraktion? No! SystemC bringt den Simulationskern als Klassenbibliothek mit. Schon können wir ModelSim Lizenzen sparen. Ich für meinen Teil bin (bis dato) ein flammender Befürworter der besseren Ausbildung der Entwickler. Hier wird in den Unternehmen viel zu wenig getan, und im Studium hört man gerade mal ein Semester VHDL. Ende. Oh Mann! Aber, wie gesagt, vielleicht kommt Dir ja etwas vor die Linse.
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.