Hallo Der Computer kommuniziert mit dem FPGA, dieser via VHDL mit dem Rest. Wie bekomme ich die Kommunikation hin? Der VHDL-Code steht schon aber ich muss den ML505 bzw. Virtex5 auch noh anprechen! Gruesse
Gibt es schon eine physikalische Verbindung zwischen PC und FPGA, oder musst du eine entwerfen? Welche Datenrate muss über die Verbindung gehen? Welche Latenz ist erlaubt? Wie genau müssen Zeitgrenzen bei der Verbindung eingehalten werden? Welches Betriebssystem auf dem PC?
Hi. Ich finde euch Leute lustig:) Ich sietze den Virtex5... Sie ist eine Dame, sie verdient Respekt... Ich dachte da haette jemand schonmal was gemacht, ich hatte gehofft, jemand haette da schonmal ein Interface erarbeitet. Ich kann diese Dinge nicht sagen, denn sie werden nicht von mir entworfen. Irgendjemand hat ein Protokoll zur Kommunikation zwischen PC und Ethernet-Gigabit Schnittstelle hergestellt. Meine Aufgabe besteht nur darin, ein C++-Programm zu erstellen, dass Daten von C++ in VHDL umwandelt. Gruesse
Ranjeet Kuruvilla schrieb: > Ich dachte da haette jemand schonmal was gemacht, ich hatte gehofft, > jemand haette da schonmal ein Interface erarbeitet. Ja sicher. Da sitzen jeden Tag Leute, die sowas machen... > Ich kann diese Dinge nicht sagen, denn sie werden nicht von mir > entworfen. Schlecht, weil dann hättest Du vielleicht konkretere Vorstellungen. > Meine Aufgabe besteht nur darin, ein C++-Programm zu erstellen, dass > Daten von C++ in VHDL umwandelt. ?? C++ -> Software VHDL -> Hardware Ich suche jemanden, der mir Gedanken und Ideen in Gehirn umwandelt?!? Duke
Du erwartest doch nicht ernsthaft, dass Dir jemand auf dermaßen schwammige Fragen antworten kann, oder? Was genau hast Du, und was genau willst Du? Und dass Du einen "C++ nach VHDL"-Konverter schreiben willst, bezweifle ich.
> Ich kann diese Dinge nicht sagen, denn sie werden nicht von mir entworfen.
Dann wird deine erste Teilaufgabe darin bestehen, diese Dinge
herauszufinden. Eine Alternative gibt es nicht ;)
Siehe dazu die oben von mir gestellten Fragen. Wenn du die beantworten
kannst, bist du ein gutes Stück weiter und wir können dir auch
konkretere Antworten geben.
Ranjeet Kuruvilla schrieb: > Meine Aufgabe besteht nur darin, ein C++-Programm zu erstellen, dass > Daten von C++ in VHDL umwandelt. Au ja, das möchte ich auch. Aus C++ Sourcen fällt dann ein Bitfile ...
Ein Interface zwischen FPGA und einem PC Bussystem oder ähnliches nehme ich mal an. Aber jemand der VHDL oder C++ für ein Format hält wird sowas vermutlich erstmal nicht hinbekommen.
Der compiler für C++ in VHDL hat Xilinx das Programm dafür. Das Programm heisst EDK. Weitere Info am Besten auf Xilinx Website reinschauen. Gruss Gast
TTNAT schrieb: > Der compiler für C++ in VHDL hat Xilinx das Programm dafür. > Das Programm heisst EDK. Hmm. Das sollte man so glaub ich nicht stehen lassen. Nachher trifft jemand den Thread und sucht sich nen Wolf ;-). Bitte berichtigt mich: Hier wird wahrscheinlich die Generierung von Maschinencode aus C++ für den MB bzw. ähnliche RISC gemeint, oder? Zumindest habe ich im EDK nicht die Option gefunden, meine C++ Sourcen ins VHDL übersetzen zu lassen. Zumal dann geschätzt bei jeder for Schleife die Logikelemente ausgehen … ;-).
C++ nach VHDL: so mach ich es (mit dem cc65) ;-) cl65 -O hello.c text.s -o a.out srec_cat a.out -binary -output rom.vhd -vhdl
Hallo Sorry, war ne Zeit lang nicht hier. Amuesierte mich ueber eure Antworten:) Der Grund warum ich nicht mehr sagte war, dass ich selbst nicht weiss, was ich machen soll... Also der Nutzer sieht ein Programm in C++, in dem er irgendwas einstellen kann. Dieses Programm kommuniziert mit einer VHDL-Entity, welche dann Daten an den Chip sendet. Es geht nicht darum, ein C++-Programm zu schreiben, welches nach VHDL synthetisiert wird! Nutzer <-> C++-Programm <-> VHDL-Entity <-> CHIP Mein Gedanke war immer, dass man das C++-Programm schreibt und dann das VHDL-Entity und wenn alles klappt, kommunizieren die miteinander. Ist das klar genug? Entschuldigung fuer alles. Es handelt sich uebrigens um Hardware, welche ueber den Computer gesteuert wird. Brauche nur ein generelles Konzept. spezielles fuchtele ich dann durch.
Hallo Ranjeet Ich nehme mal an mit Computer meinst du einen stinknormalen PC, und da stellt sich die Frage wie ist die Hardware (Chip) mit dem Computer verbunden? Z.b. USB, Ethernet oder Einsteckkarte mit PCI bzw PCIex. Das C++ auf dem PC kommuziert nicht direkt mit irgendeiner VHDL Entity, sondern spricht eine der obigen Schnittstellen auf. Auf dem Chip musst du dann die Gesgenseite dieser Schnittstelle in VHDL realisieren. Je nach Typ und Protokoll ist das mehr oder weniger Aufwendig.
Ranjeet Kuruvilla schrieb: > Dieses Programm kommuniziert mit einer VHDL-Entity, > welche dann Daten an den Chip sendet Du hast keine Ahnung was VHDL ist und was man damit macht, oder?
@Klaus Falser: Vielleicht druecke ich mich immer richtig aus, aber ich weiss sehr wohl, was VHDL ist:). Nur nicht immer, was VHDL alles kann. Vielleicht hilft das angehaengte Bild....
Ranjeet Kuruvilla schrieb: > Vielleicht hilft das angehaengte Bild.... Warum nicht gleich so? Ranjeet Kuruvilla schrieb: > Nutzer <-> C++-Programm <-> VHDL-Entity <-> CHIP Welches C++ Programm meinst Du? Du solltest die oben genannte Kette noch verfeinern, z.B. Hardware Software PC C++ Programm -> LAN Socket(??) -> FPGA Microblaze -> Microblaze C-Programm -> VHDL Peripherie Register interface -> Chip ??
Hallo Ranjeet Es gibt schlicht keine magische Verbindung zwischen C++ (oder einer anderen Programmiersprache) und VHDL. Da du nicht sehr auskunftsfreudig was dein eigentliches Problem ist habe ich mal Google bemüht, und werde jetzt mal etwas raten. Du hat auf der einen Seite des Virtex Ethernet und auf der anderen Seite deinen Spikey ASIC, den du mit einer VDHL Entity kontrollierst. Und das dazwischen fehlt dir noch. Das ist nicht ganz trivial, d.h. entweder einen MicroBlaze zur Implementation des Netzwerkstacks und zur Interpretation von Datenpacketen zur Steuerung deiner existierenten HW. Wenn der Datendurchsatz des MicroBlaze nicht reicht wirds allerdings aufwendig, denn dann musst du den bzw Teile des Netzwerkstacks in VHDL realisieren. Auf dem PC mit C++ ist das dann ganz normale Socketprogrammierung, d.h. Packete send und empfangen.
Ich schätze, dass Du nach ca. 10 Jahren harter Arbeit evtl. in der Lage sein wirst, das beschriebene System zu realisieren. Welche Erfahrungen hast Du mit C++, VHDL und mit Elektronik, Ethernet sowie FPGAs?
der will ne "SystemC" (das ist ne Obermenge von C++) testbench .. wieso rallt ihr das nicht? darüber kann er Signale ins DUT treiben und auch auslesen.. ist ne tolle Sache sowas
@gnihihihi: Danke, genau das habe ich gesucht. @Lattice: Ja, das habe ich befuerchtet. Trotzdem danke fuer die Hilfe. Der Computerchip ist ein CPLD.
Interface definieren in beide Hardwareplattformen implementieren und Software Schreiben -> fertig
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.