Forum: FPGA, VHDL & Co. PCI express Core und Implementation


von Acubens (Gast)


Lesenswert?

Hallo,

ich hab als Aufgabe die Realisierung der Kommunikation zwischen PC und 
FPGA. Genauer heißt dies, ich soll per Programm einen entsprechend 
beliebigen Bitstrom an den FPGA per PCI express senden und diesen durch 
eine Testschaltung schicken. Danach soll die Antwort zurück an das 
Programm gesendet werden.

Jetzt habe ich folgende Probleme, woher bekomme ich einen kostenlosen 
PCI express Core, wie bindet man ihn richtig ein und wie spricht man ihn 
an?

Oder kann man mit einfachen Mitteln und angemessenem Aufwand den PCI 
express Controller selbst bauen?

Wer kann mir da helfen bzw. hilfreich zur Seite stehen/Tipps geben?

Ich danke für die (hoffentlich) zahlreichen Antworten.

Acubens

von Acubens (Gast)


Lesenswert?

Lt. meinem Betreuer ist noch kein Core gekauft verfügbar und auch nicht 
in Planung. Weiterhin ist das Versuchssystem ein Virtex-4FX100-12ff1152. 
Software ist von Xilinx ISE8.2i

von Matthias F. (flint)


Lesenswert?

Und das ist eine Aufgabe aus einer Ausbildung? Wir hatten einen 
Zulieferer, der saß ein Jahr am PCIe Interface auf einem Virtex 4. Zum 
Debuggen braucht man dann natürlich auch ein System, das 2,5 GHz 
problemlos abgreifen kann, sowas ist nicht allzu billig.

Nebenbei gibts für Virtex 5 schon einen Core. Frag mal deinen Betreuer, 
ob das wirklich die Aufgabe ist.

von Acubens (Gast)


Lesenswert?

Nicht Aufgabe aus Ausbildung. Uni. Abschlussarbeit.

von Frank (Gast)


Lesenswert?

Das ändert am Grundproblem wenig - nämlich, dass ein PCI-Express-Core 
implementiert werden müsste. Evlt. hat der Virtex4 den schon an Board 
bzw. kann der PCI-Express-Core über den Coregen erzeugt werden? Dann 
könnt es evtl. klappen. Selbst ein PCI-Core ist nicht trivial, wenn man 
das vernünftig machen will - und dieser enthält keien analogen 
Komponenten.
Unterschätze die Softwareseite nicht (treiberschreiben).

Frank

von Christian R. (supachris)


Lesenswert?

Hm, am Virtex 4 brauchst du dafür einen Soft-IP-Core. Der kostet Geld. 
Selber schreiben incl. Testumgebung usw. ist sicherlich im Rahmen einer 
Diplomarbeit nicht machbar. Mit dem Virtex 5 wärst du gut raus, den 
gibts mit integriertem Hard-Core. Da sind auch dann alle Modelsim 
Testumgebungen und Treiber dabei.

von Matthias F. (flint)


Lesenswert?

Es gibt den Endpoint Block für PCIe für Virtex 4, der kostet nichts aber 
es ist dafür noch einiges zu implementieren. Damit ist es wohl 
prinzipiell machbar, aber man sollte sich von Anfang an überlegen, wie 
man das Debugging betreibt, was für Lösungen man braucht und was die 
kosten. Wenn man dann vor dem nicht funktionierenden System steht und 
draufkommt, dass man mal einige zehntausend Euro für einen geeigneten 
Logikanalysator investieren müsste, um das Problem zu lösen, hat man 
zwar etwas fürs Leben gelernt (Design for Testing) aber die Arbeit ist 
trotzdem beim Hugo.

von Acubens (Gast)


Lesenswert?

> Evlt. hat der Virtex4 den schon an Board
bzw. kann der PCI-Express-Core über den Coregen erzeugt werden?

Also es ist so, dass man mir sagte, es wäre nichts weiter dabei oder 
zusätzlich gekauft. Beim Xilinx ISE gibts meines erachtens keine Option 
beim Coregen für einen PCIe-Core. Aber die Software von Northwest Logic 
(PCI Express GUI) kann auf der Karte Daten auslesen und ggf. auch 
schreiben (Speicher). Daher wundert es mich, ob nicht doch schon etwas 
drauf ist. Aber keiner kann mir dazu was sagen.

Ich danke allen für die Unterstützung.

von Matthias F. (flint)


Lesenswert?

Erachte mal im Coregenerator den Endpoint Block, den müsste es 
eigentlich geben.

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.