Hi Forum, ich bin in Zwischenzeit mal so weit, dass ich mich mit FPGAs einschiessen will. Ich habe mir jetzt das Sparten 3e Starter Kit bestellt (dieses hier: http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-G.htm). Eine Forumsuche und auch Google konnte mir nicht befriedigend beantworten, was ich obligatorischerweise wissen will, naemlich ob es eine entsprechende Toolchain fuer Linux gibt. Ist das "ISE" (was auch immer das sein soll, eine IDE?) bereits eine komplette Toolchain? Waere Euch dankbar wenn Ihr mir ein paar Hinweise geben koenntet. Und bevor jetzt das Gemaule losgeht von wegen "zu bloed zum googeln", ich hab in Zwischenzeit 100 Beitraege beantwortet, die wesentlich schlechter waren. Also Ruhe! ;) Michael
Um dir dein Projekt zu vereinfachen: http://www.nabble.com/Problem-with-FlexLM-licensing-td12940902.html So bekommst du auch Modelsim unter wine ans laufen...
Für die Simulation gibt es einige OpenSource Simulatoren die unter Linux laufen. Je nachdem was für eine HDL du benutzen möchtest gibt es hier eine Liste von Simulatoren und GTKWave ist gut sich Signale anzusehen: http://www.mikrocontroller.net/articles/Programmierbare_Logik Wenn du mit openSUSE arbeitest, dann sind viele der Tools als RPM verfügbar von: http://software.opensuse.org/search Für Icarus Verilog muss du 'verilog' als Suchbegriff angeben. Gruß, Günter
Ich muss mir noch ansehen, was mir besser liegt. Die Entwicklungsumgebung habe ich jetzt installiert, aber nicht den "cable driver", wozu wird der benoetigt? Hab leider mein Board noch nicht deswegen lese ich jetzt erstmal ein bisschen der beigefuegten Doku. Gruss, Michael
Spar Dir den Cable Driver. Macht nur unnötigen Aufwand: Nutze die WinDriver-Emulation (geht auch unter 32bit): Xilinx ISE Linux: Impact und 64Bit Linux mit WinDriver-Emulation bzw.: http://www.rmdir.de/~michael/xilinx/ Rick
So... mein StarterKit ist heute angekommen. Aber immo steht mir noch ein grosses Fragezeichen auf der Stirn. Ich werde erstmal das ca. 180-seitige Einfuehrungshandbuch lesen, das mit dabei war. Der Zusammenhang der Komponenten (u.a. dem cable driver) ist mir auch noch nicht klar. Ich gehe jetzt mal davon aus, dass die Programmierung dann direkt per USB funktioniert, oder?
Rick Dangerus wrote: > Spar Dir den Cable Driver. Macht nur unnötigen Aufwand: > Nutze die WinDriver-Emulation (geht auch unter 32bit): > Xilinx ISE Linux: Impact und 64Bit Linux mit WinDriver-Emulation > bzw.: > http://www.rmdir.de/~michael/xilinx/ @Rick Ich hab die Emulation noch nicht ausprobiert, aber hab schon einige Probleme mit dem Juno Treiber gehabt. Speziell unter Linux hab ich das Problem, dass Impact manchmal abstürzt und dann der Cable Driver gelockt wird. Beim nächsten Start kann Impact dann nie auf das JTAG-Kabel zugreifen. Kennst du denn irgendwo eine Beschreibung, wie man den Treiber wieder los bekommt? @ Michael Wenn du noch offen für die ein oder andere HDL bist und dich für Prozessoren interessierst, ist vielleicht das Buch "Digital Design and Computer Architecture" von Harris & Harris interessant für dich: http://www.amazon.com/Digital-Design-Computer-Architecture-Harris/dp/0123704979/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1204364268&sr=8-1 In Deutschland u.a. erhältlich von Bookzilla: http://bookzilla.de/shop/action/productDetails/6071324/david_harris_sarah_harris_digital_design_and_computer_architecture_0123704979.html?aUrl=90006951 Das Buch ist zwar in Englisch, aber hat einen Interessanten Ansatz. Zum einen erklärt es VHDL und Verilog Seite-an-Seite anhand von synthesierbaren Konstrukten. Führt dann in die MIPS32 Architektur ein und zeigt danach Anhand der Implementierung von jeweils einem Befehl aus den verschiedenen Befehlsgruppen, wie ein Prozessor entwickelt wird. Als Anhang ist der MIPS32 Befehlssatz gegeben und der Leser kann danach die restlichen Befehle selber implementieren. Was mir noch an dem Buch gefällt ist der lockere Schreibstil.
Hi Guenther, ja ich bin sozusagen jungfraeulich in der Hinsicht. Danke fuer den Buchtip, sieht gut aus, Englisch ist generell kein Problem fuer mich, haette ich beide Ausgaben wuerde ich wahrscheinlich eher zur Englischen greifen -- Uebersetzungsfalle. Aber ich werde erstmal etwas kleiner Anfangen, bevor ich einen Mikroprozessor entwickel *gg Ich nehme an, der "cable driver" dient dazu, das device, welches das StarterKit erzeugt, ansteuern zu koennen. Ich habe jetzt mal den Emulationstreiber wie beschrieben installiert, vielleicht funktioniert das ja dann. Muss mich allerdings auch noch in ISE einarbeiten das is ja nicht gerade ein Leichtgewicht ;) Mal ne andere Frage: Wie heisst die Buchse bzw. ein passender Stecker fuer den Anschluss recht am starter kit? Ich nehme ja mal an dass ich dort Zugriff auf die I/O-s bekomme wenn ich eigene Schaltungen anschliessen will? Michael
@Günter .. Ja, der Jungo-Treiber/WinDriver... ...meide Ihn, wenn es geht. Bei jedem Kernel-Update fängt der Spass von vorne an, etc. pp. Google mal nach "reset cable driver" Da sollte sich was finden lassen. Rick
Michael G. (linuxgeek) schrieb am 01.03.2008 um 11:10 Uhr: >Ich werde erstmal das ca. 180-seitige Einfuehrungshandbuch lesen, Meinst Du "Introduction to Programmable Logic" by Karen Parnell and Nick Mehta, April 2004? Wenn es das ist: Vergiss es, das liefern sie nur mit um günstig ihr Altpapier zu entsorgen. >Der Zusammenhang der Komponenten (u.a. dem cable driver) Ich mag mich täuschen, aber "cable driver" ist doch für das 3E board nicht relevant, weil da alles über USB geht. Soweit ich das verstanden hatte ist "cable driver" für separate Programmer bzw. das alte Starterkit3, das auch mit einem separaten Progreammer für die Parallele Schnittstelle ausgeliefert wird.
Hmm...... theoretisch braucht man keinen Zusaetzlichen Treiber, aber ich weiss ja nicht, wie die das eingebunden haben. Es wird schon ein USB-Device erkannt, aber ohne Treiber wird es mit dem Zugriff evt. etwas schwierig. Naja ich les jetzt erstmal ne Einfuehrung in VHDL, bevor ich loslege, sonst macht das keinen grossen Sinn ;) Aus dem Handbuch zum StarterKit: "When the USB cable driver is successfully installed and the board is correctly connected to the PC, a green LED lights up, indicating a good connection." Man braucht ihn wohl doch :/
>Naja ich les jetzt erstmal ne Einfuehrung in VHDL, bevor ich >loslege, sonst macht das keinen grossen Sinn ;) Du weißt schon, dass es ein ca. 30 seitiges Tutorial von Xilinx gibt? Damit kann man bereits nach kurzer Zeit eine LED blinken lassen und hat sein erstes Erfolgserlebnis. Ich hatte diese Tutorial anfangs übersehen und war mit dem oben genannten Büchlein (ca. 180 Seiten) gestartet und entsprechend enttäuscht.
>Aus dem Handbuch zum StarterKit: >"When the USB cable driver is successfully installed and the board is >correctly connected to the PC, a green LED lights up, indicating a good >connection." >Man braucht ihn wohl doch :/ Ah ja, UG230 "Spartan-3E Starter Kit Board User Guide", Seite 28 unten. Hatte ich überlesen. Ich nutze derzeit die Xilinx Sachen nur unter Windows (ist auch so gut wie die einzige Windows-Anwendung, die ich verwende). Eigentlich würde ich es auch gerne unter Gentoo-Linux installieren, aber so ganz wohl ist mir dabei nicht. Und für irgend was muss Windows XP ja auch gut sein...
Immo bin ich von der ganzen Komplexitaet noch recht erschlagen... Braucht man fuer die Prozessorkerne eigentlich zwingend das (kostenpflichtige) EDK oder kann man zumindest den PicoBlaze auch mit dem ISE Webpack verwenden? Das Quickstart-Tutorial habe ich schon ausgegraben... aber ich meine das bringt nich soviel wenn man alles schoen nachmacht und dabei die Haelfte nichts versteht. Michael
Michael, Hallo, den PicoBlaze gibt es als Quelltext von der Xilinx Website, dafür benötigst du kein EDK. Passende Assembler gibt es mehrere im Internet -- teilweise auch als freie software mit Quelltext. Du musst auch nicht unbedingt den MicroBlaze nehmen, wenn du was dickeres willst -- unter FGPA Soft Core gibt es eine unvollständige Liste weiterer (auch kostenloser) CPUs. Der Microblaze ist leibevoll auf Xilinx-FPGAs optimiert und daher auf der Plattform etwas schneller/kleiner. Dafür hängst du dann aber auch erstmal bei Xilinx fest.... joerg
Ja ich hab nur nicht gefunden wo man den Source herunterladen koennte. Unter "user resources" auf der Page finde ich nur Dokumentation und AppNotes. Den Artikel habe ich auch schon gefunden und bin auf opencores.org gestossen, gibt es ja ne ganze Menge nette Cores dort.
Nachdem du dich mit deinem Useraccount angemeldet hast, darfst du nach: http://www.xilinx.com/ipcenter/processor_central/picoblaze/member/ Eventuell hast du ja mal lust auszuprobieren, um wie viel diese Version hier grösser/langsamer ist: http://bleyer.org/pacoblaze/ joerg
Thanks... wieder ein Stueck vorwaerts gehuepft ;) Ihr spart mir einiges an Nerven.
Dieser Link hat mir sehr gut geholfen den Cable Driver unter Linux (Ubuntu) zum Laufen zu bringen. Es handelt sich dabei nicht um den Original Treiber von Xilinx sonderen einen anderen, der besser funktioniert. Es kann natürlich sein, dass du ein Parallel-Kabel hast, dann brauchst du den Treiber natürlich nicht. https://wiki.kip.uni-heidelberg.de/KIPwiki/index.php/EDV:Xilinx-USB-Treiber Die Beschreibungen auf dieser Homepage waren auch nützlich: http://stefan.endrullis.de/de/xilinx_ise_8.2_ubuntu.html Außerdem das offizielle Ubuntu wiki (suche nach xilinx, hab den link grad nicht da) Bei mir funktionieren nachdem ich diese Beschreibungen befolgt habe alle Teile der Ise mit Spartan3 sowie Virtex2p. Ab und zu kommt es allerdings zu Abstürzen der Ise, also besser einen externen Editor verwenden.
Hallo, kleine Anmerkung zum leidigen Thema mit der JTAG-Programmierung unter Linux: Es gibt einige praktische Tools wie: - Xilprg (standalone-Programmierung der Spartan 3s) - xcs3prog (aehnliches tool) - cablesrv (Programmierung via ISE Impact und 'remote'-Verbindung) Einfach mal danach googeln. Es gibt uebrigens auch einen "hack", der ein Digilent X-Board zu einem USB-JTAG-Adapter macht, der mit dem obigen cablesrv auch funktioniert. Das eruebrigt die Installation graesslicher Jungo-Treiber oder anderer dauernd inkompatibler proprietaerer Module. Bei Interesse einfach Mail an hackfin@section5.ch. gruss, - Strubi
Michael G. wrote: > Mal ne andere Frage: Wie heisst die Buchse bzw. ein passender Stecker > fuer den Anschluss recht am starter kit? Ich nehme ja mal an dass ich > dort Zugriff auf die I/O-s bekomme wenn ich eigene Schaltungen > anschliessen will? Das ist ein Hirose FX2 Stecker. Dazu passend gibt es ein Zusatzboard von Digilent: http://digilentinc.com/Products/Detail.cfm?Prod=FX2BB&Nav1=Products&Nav2=Accessory Ich hab mir das vor zwei Wochen gekauft und bin zufrieden. Unter dem Link findet man auch das Datenblatt wo alles erklärt wird. Das Breadboard selbst ist an nichts angeschlossen und muss zuerst auf das Board geklebt werden. Ueber Buchsenleisten kann man dann die einzelnen Signale und die Spannungsversorgung mit der eigenen Schaltung verbinden. Ich hab meines hier gekauft (ich wohne in Frankreich): http://www.lextronic.fr/P1885-platine-de-prototypage-fx2bb.html Grüsse, Michael E.
Michael E. wrote: > Michael G. wrote: >> Mal ne andere Frage: Wie heisst die Buchse bzw. ein passender Stecker >> fuer den Anschluss recht am starter kit? Ich nehme ja mal an dass ich >> dort Zugriff auf die I/O-s bekomme wenn ich eigene Schaltungen >> anschliessen will? > > > Das ist ein Hirose FX2 Stecker. Dazu passend gibt es ein Zusatzboard von > Digilent: > > http://digilentinc.com/Products/Detail.cfm?Prod=FX2BB&Nav1=Products&Nav2=Accessory Ist ganz nett, aber ich hab's nich so mit Breadboards, das is ne teilweise recht sinnlose Frickelei, ausserdem bei gewissen Frequenzen ist ein fliegender Aufbau auch nicht eben das wahre ;) Da mach ich mir lieber gleich ne Platine. Ich dachte an einen Adapter, der mir aus dem FX2 Pinleisten macht, an die ich normale Flachbandkabel oder auch weitere Platinen anschliessen kann. Haetten's eigentlich gleich so machen koennen, und selbst nen 1.27mm-Pitch waere da freundlicher gewesen als dieser Monsterstecker. Mal ne andere Frage: Wie schnell ist so ein Spartan 3E eigentlich? Also welche Frequenzen macht der mit? So wie ich das verstanden habe sind da mehr als 50MHz machbar, oder? Das duerfte dann auch fuer den Systemtakt gelten, oder? Hab immo soviel um die Ohren... werd wohl bis zum WE warten muessen um mal richtig loszulegen. Den cabledriver (windrv) konnte ich bereits erfolgreich compilieren, das wird also hoffentlich kein Blocker. Danke fuer Eure Beteiligung. Gruss, Michael
@Michael G. FX2: Es gibt auch eine Variante für Schneid-/Klemmtechnik: http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=137 An der kannst du dann dein Kabel direkt anschliessen. Falls du nur eine kleine Anzahl an I/O's (maximal 4) brauchst, dann könntest du aber auch einen der 6-poligen Pfostenstecker verwenden. Geschwindigkeit: Bei einfacher Logik (z.B. Zähler) kommst du problemlos auf 150 MHz. Durch fiese Tricks (z.B: mit Phasenverschiebungen) geht unter bestimmten Umständen auch noch deutlich mehr. Bei einer einfachen CPU wirst du wohl nicht mehr als 50 MHz erreichen. Wenn sie komplizierter ist eher weniger. Takt ist aber nicht alles ;).
Mike wrote: > @Michael G. > > FX2: > > Es gibt auch eine Variante für Schneid-/Klemmtechnik: > > http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=137 Hab ich schon gesehen ;) Da brauch ich aber wahrscheinlich ein dichtes Flachbandkabel. Ich denke ich mach mir einfach nen Adapter mit der Printversion. > An der kannst du dann dein Kabel direkt anschliessen. Falls du nur eine > kleine Anzahl an I/O's (maximal 4) brauchst, dann könntest du aber auch > einen der 6-poligen Pfostenstecker verwenden. Yaps... immerhin etwas, auch wenn diese Steckbuchsen auch nicht eben so der Hit sind (= > Geschwindigkeit: > > Bei einfacher Logik (z.B. Zähler) kommst du problemlos auf 150 MHz. Coole Sache, da geht was ;) > Durch fiese Tricks (z.B: mit Phasenverschiebungen) geht unter bestimmten > Umständen auch noch deutlich mehr. Bei einer einfachen CPU wirst du wohl > nicht mehr als 50 MHz erreichen. Wenn sie komplizierter ist eher > weniger. Takt ist aber nicht alles ;). Da hast Du wohl recht. Schonmal gut zu wissen, thx. Bin schon ziemlich begeistert von den FPGAs, leider noch etwas erschlagen durch die Komplexitaet immo. Ich bin froh dass ich Semesterferien habe und Zeit fuer die interessanten Dinge habe... muss aber leider 4 Tage Vollzeit arbeiten wegen Praktikum. Michael
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.