Kommunikation FPG: VHDL und C++

Gast #2042926
Lesenswert?

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?
#2044774
Lesenswert?

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
Gast #2044796
Lesenswert?

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
Gast #2044806
Lesenswert?

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.
Gast #2045008
Lesenswert?

> 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.
(Firma: UAS Merseburg) #2048805
Lesenswert?

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 … 
;-).
Gast #2203888
Lesenswert?

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.
Gast #2203943
Lesenswert?

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.
#2204408
Lesenswert?

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              ??
Gast #2205143
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren