Hallo, ich muss als Teil meine Diplomarbeit über PCIe Daten zwischen PC und FPGA austauschen. Ich weiß, dass es sowohl von der Hardware- wie auch von der Softwareseite nicht ganz einfach ist. Im Moment habe ich aber noch keine Vorgaben was Übertragungsgeschwindigkeit o.ä. angeht, so dass es jetzt erst mal um das eigentliche zustandekommen der Übertragung geht. Was mir im Moment aber noch nicht ganz klar ist, wie das Board im System (PC) programmiert wird. Eigentlich ist ja PCIe Hotplug-fähig, aber ich habe bereits gelesen dass es von der Betriebssystemseite nicht richtig unterstütz wird. Somit kommen zwei Möglichkeiten in Betracht: 1. Board ausbauen, flashen, einbauen, PC einschalten 2. Board im laufenden PC programmieren, PC rebooten Die erste Option ist sehr aufwändig, ich müsste das Board häufig aus- und einbauen, zum Programmieren externe Stromversorgung anschließen, etc. Das würde ich gerne vermeiden. Bei der zweiten Option bin ich mir nicht sicher, ob das so funktioniert. Kommt das BIOS damit klar, dass ein PCIe-Slave auf einmal nicht mehr ansprechbar ist (während der Programmierung) und dann anschließend neu konfiguriert werden muss (PnP?) Oder muss ich den Rechner über den Reset-Knopf 'am arbeiten hindern' und in der Zeit das Board programmieren? Oder reicht es nach dem Programmieren den Reset-Knopf zu betätigen? Würde mich freuen, wenn mir jemand seine Erfahrungen / Arbeitsablauf mitteilen könnte. Noch ein paar Informationen zum Board: Es handelt sich um das ML506 von Xilinx (http://www.xilinx.com/products/devkits/HW-V5-ML506-UNI-G.htm), mit einem Virtex-5 FPGA... Vielen Dank, Grüße, Florian
Hallo, willst du das Board über den PCIe programmieren oder über einen Programmierkabel? Wenn du ein Programmierkabel verwendest, kannst du vor der Programmierung den Treiber deaktivieren und nach dem Programmieren wider aktivieren. Habe viel mit PCI entwikelt, bei einem deaktivierent Treiber war es sogar möglich (unter Spannung) die Karte auszubauen, wider einzubauen und den Treiber zu aktivieren, ohne Windows neu zu booten. Gruss
Hallo, erst mal vielen Dank für deine Antwort. Das hört sich vielversprechend an. Ich werde das FPGA über einen externen Programmer programmieren. Die Anbindung an PCIe ist nicht der Kern der Arbeit, die Schnittstelle soll nur verwendet werden um die Daten auszutauschen. Somit möchte ich hier auch den einfachern Weg gehen und das Programmieren über PCIe erst mal sein lassen ;) Grüße, Florian
Es kann aber auch bei deaktiviertem Treiber passieren dass beim Programmieren des Boards der System freezed. Stell dich schonmal auf einige Reboots ein. Du solltest es deswegen auch wenns im PC steckt noch extern mit dem Netzteil versorgen, solange du am testen bist.
Hallo D.I., das Board wird nicht über den PCIe-Stecker mit Spannung versorgt. Es hat einen Anschluss für 5,2" Laufwerke, über den es versorgt wird. Sollte ich trotzdem noch ein weiters Netzteil anschließen? (Weiß jetzt gar nicht ob es unterstützt wird, ich meine da muss man einen Schalter umlegen...) Aber die Versorgungsspannung aus dem PC-Netzteil sollte doch stabil sein oder? Auf die System-freezes bin ich schon vorbereitet. Darum möchte ich das Board auch nicht über den PCIe-Bus programmieren sondern extern, von einem anderen Rechner aus. Danke, Grüße, Florian
Hallo Florian, du schreibst das neue Design einfach in den Flash und verhinderst, dass der FPGA nach Abschluss der Programmierung daraus neu konfiguriert wird. Dafür gibt es ein Häkchen. Dann fährst du den PC herunter, schaltest aus und bootest neu. Tom
Ja ich weiß schon was du meinst. Aber ich meinte du sollst es extern mit dem mitgelieferten netzteil versorgen, also nicht mit dem selben netzteil mit dem du auch den pc anfährst
@Florian Pfanner Mach dir nicht soviele Gedanken, programmier das Board einfach im Rechner und sobald es fertig ist powercycle den Rechner einfach. Extra Netzteil oder so brauchst du nicht. Hotplug faehig sind nur slots in wenigen teuren Servern. Viel komplizierter ist das Aufsetzen einer Simulationsumgebung fuer deinen code, viel Glueck! :-)
Hallo, erstmal vielen Dank für die Antworten. Ich habe bereits begonnen die Testbench aufzusetzen bzw. die von Xilinx zum laufen zu bringen. Die Simulation dauert nur ewig... Im Moment bin ich noch dabei mich in das Testprogramm einzuarbeiten. Ist aufwändiger als ich dachte ;) Grüße, Florian
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.