Hallo Zusammen Wir haben folgendes Problem und zwar haben wir an unserem Cyclone2 FPGA eine PCI-Schnittstelle mit anschliessender PCI/Wishbone Bridge. Am Wishbone-Bus haben wir einige selber erstellte IP-Cores, die wir nun gerne über den PCI-Bus ansprechen wollen. Das Problem liegt nun darin, das uns die Zeit nicht mehr reicht um Treiber zu schreiben, um mit dem MPC85XX über PCI die IP-Cores anzusprechen. Hat jemand von euch eine Idee wie wir die IP-Cores trotzdem testen könnten? Wie wäre es mit einem PCI-Master IP-Core direkt vor der PCI/Wishbone Bridge? Grüsse nurel
Klingt nach einem "epic fail" :-( Welches Betriebssystem läuft denn auf dem MPC? Ist es nicht vielleicht doch möglich, schnell einen Testtreiber zu hacken? Gerade unter Linux gibt es doch unendlich viele Beispiele und Sourcen von denen man sich "inspirieren" lassen könnte. Falls der Treiber nicht zu komplex ist lassen sich doch schnell ein paar Register setzen und Daten transferieren. Falls das tatsächlich keine Option sein sollte, würde ich mir bei OpenCores den am besten unterstützten Prozessor-Core ziehen (möglicherweise OpenRisc oder ZPU) und als Master an den Avalon-Bus anschließen. Dann in einer Hochsprache (C) Testprogramme schreiben. Aber so richtig zeitsparend klingt das aus meiner Sicht nicht. Das Gleiche in grün (aber möglicherweise schneller) wäre es, den Nios II Prozessor und den Avalon-Bus herzunehmen. Das Avalon-Bus-Interface ist sehr schnell geschrieben, und die ganze Umgebung (Toolchain, teilweise Treiber) für den Nios II ist im Qaurtus bereits vorhanden und leidlich integriert. Edit: Die Idee mit dem PCI-Master vor der Bridge hab ich noch nicht verstanden. Die PCI-Bridge an sich soll doch nicht getestet werden, oder?
Hallo Ras Funk Vielen Dank für deine Antwort! Es ist das erste Mal das ich in ein Forum schreibe und prompt schon eine Antwort. Also auf dem MPC läuft Linux. Wir haben einen Studenten, der sich sehr gut mit Linux auskennt. Ich weiss zwar nicht ob er schon Treiber geschrieben hat. Auf jeden Fall ist er der Meinung, das wäre zu zeitaufwendig. Wir sind eben nur Studenten;). Wir haben einen IP-Core für einen ADC, einen IP-Core für einen DAC, einen IP-Core für Encoder-Eingänge und einen PWM-Generator. Einen Avalon-Bus hätten wir auch, wir würden es eben gerne mit dem Wishbone-Bus machen. Für den haben wir eben auch das "Wishbone-Bus Maker" Tool von MEN Micro. Du musst verstehen, für uns ist das neu, wir wussten vor ca. 4 Wochen nicht einmal, das es einen Wishbone-Bus gibt, geschweige den wie der PCI-Bus funktioniert. Dort wird es so oder so noch genügend offene Fragen geben, z.b. mit der Address-Verteilung der IP-Cores, der Chameleon-Tabelle etc. Nein, die Bridge selber sollte doch eigentlich laufen. Es geht uns darum die IP-Cores, die am Wishbone-Bus hängen, zu testen. Da es ja mit dem MPC ohne die Treiber nicht geht. Man könnte doch einen ganz einfachen PCI-Master nach dem Timing-Diagram in VHDL schreiben und anschliessend eine Adresse mit anschliessenden Daten auf den Wishbone-Bus geben. Ist das nicht möglich? Grüsse nurel
Im Anhang noch 2 Seiten FPGA, das ist leider alles was im User Manual über das FPGA steht. Grüsse nurel
Ich meine (einfache) PCI-Treiber für Linux zu schreiben ist viel weniger aufwändig, als für Windows zu schreiben. Andererseits gibt es noch http://www.jungo.com/st/windriver_usb_pci_driver_development_software.html Da gibt es Treiber für alles Mögliche. Die Treiber kann man kostenlos ausprobieren (ich glaube mit 30 Tagen Laufzeit). Bei uns hat alles sofort funktioniert (allerding Altera-PCI Core) Grüße, Kest
Mit dem Tool "PCItree" kann man auf PCIdevices zugreifen und in ihre Register schreiben/lesen. Das reicht meistens für einen schnellen Test, ansonsten kann ich wie Kest nur jungo empfehlen. Das benutzen wir generell bei der Treiberentwicklung.
> Nein, die Bridge selber sollte doch eigentlich laufen. Es geht uns darum > die IP-Cores, die am Wishbone-Bus hängen, zu testen. Da es ja mit dem > MPC ohne die Treiber nicht geht. Man könnte doch einen *ganz einfachen > PCI-Master* nach dem Timing-Diagram in VHDL schreiben und anschliessend > eine Adresse mit anschliessenden Daten auf den Wishbone-Bus geben. Ist > das nicht möglich? OMG, "PCI-Master" und "ganz einfach" in einem Satz, das ist gewagt! ;-) Ich habe in meinem ersten Post im zweiten Absatz nicht den Avalon-Bus gemeint, sondern den Wishbone-Bus (auf OpenCores.org sind fast alle Cores auf den Wishbone ausgelegt). Daher müssten auch eure IP Cores nicht umgemodelt werden. Aber unabhängig davon: ich würde weiterhin die Linux-Treiber-Variante empfehlen. Kommt ja auch dem fertigem Produkt am nächsten.
Vielen Dank für eure Antworten! Wir werden uns das Tool "PCItree" mal anschauen und ausprobieren, sofern es unter Linux läuft. Grüsse nurel
Ja das mit dem "PCI-Master" und "ganz einfach" hat sich inzwischen geändert, es ist nicht einfach;)
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.