Forum: FPGA, VHDL & Co. PC-interne Daten über PCIe übertragen


von PC-Freak (Gast)


Lesenswert?

Ich habe ein kleines Projekt vor:

Ich möchte eine eigene Hardware bauen mit der ich vom PC über PCIe Daten 
auf einen FPGA geben kann, der dann Berechnungen durchführt. Von der 
Firma Enterpoint gab es einst ein Spartan3-System als PCI, mit dem man 
das machen konnte. Die hatten wohl auch eigene Designs als Beispiel. Ich 
hatte das seinerzeit in Angriff genommen, dann aber wegen eines 
Firmenwechsels nicht mehr verfolgt. Seither hatte ich nur am Rande mit 
PCI zu tun.

Nun möchte ich für einen aktuellen Rechner mit PCIe ein System 
realisieren und mit das benötigte Wissen erarbeiten. Was brauche ich?

Gibt es ein EVAL-System von den einschlägigen Herstellern, das ein 
FUNKTIONIERENDES PCIe-Design enthält, das man erweitern kann, selber in 
eigene Designs portieren und professionell verwenden kann? Altera wäre 
bevorzugt.

Wichtig: Ich brauche auch Treiber dafür.

Wie sähe die toolchain dafür aus?

von Irgendwer (Gast)


Lesenswert?


von Felix Adam (Gast)


Lesenswert?

Zumindest für die Xilinx-Teile ist eine nicht kostenlose Software nötig, 
um PCI(e) implementieren zu können...

von linuxuser (Gast)


Lesenswert?

Felix Adam schrieb:
> Zumindest für die Xilinx-Teile ist eine nicht kostenlose Software nötig,
> um PCI(e) implementieren zu können...

Um auf einem Artix7 PCIe nutzen zu können, benötigt man keine extra 
Lizenz; das ist beim Vivado Webpack mit drin.

von Kameramann (Gast)


Lesenswert?

Ich habe ein Artix7 Entwicklungs-System Typ 701. Da ist ein PCI-Design 
enthalten, das man übersetzen können soll. Habe ich noch nicht gemacht, 
aber es sieht nicht nach Lizenz aus. Andererseits habe ich eine node 
locked full Version. (?)

von Gerald M. (gerald_m17)


Lesenswert?

Seh dich mal auf der Xillybus Homepage um. Das ist ein IP-Core der sich 
um die Kommunikation kümmert. Es gibt fertige Projekte für bestimmte 
Boards von Altera und Xilinx (Liste ist auf der Homepage). Der IP-Core 
kann allerdings auch an andere Boards angepasst werden.
Vom PC aus greift man über "named Pipes" auf die Daten zu. Unter Linux 
kann man die wie ein File öffnen, unter Windows meist auch (für Matlab 
brauch man beispielsweise einen kleinen Wrapper, ist aber mit den 
Beispiel-C-Codes ziemlich einfach).
Auf der FPGA Seite hast du ein FIFO welches du an den IP-Core 
anschließt.

von Pilmi H. (pilmihilmi)


Lesenswert?

Wie wärs mit einem core in migen (oder litex
wie es bei enjoy-digital heisst)?:
http://www.enjoy-digital.fr/ und
https://github.com/enjoy-digital/litepcie
Florent hat ein Beispiel Design fuer kc705.
Allerdings wuerde ich damit rechnen dass du
dich bis zur physical-layer durchgraben musst
wenn du es wirklich zum Laufen bringen willst.

von PC-Freak (Gast)


Lesenswert?

Dank euch allen für die Infos. Ich werde das mal durcharbeiten - das 
Wochenende naht ja: -)

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
Noch kein Account? Hier anmelden.