Hallo! Interessiert les' ich hier das Forum durch und frage mich ein paar Dinge... Mit welchen Programmen programmiert ihr? (Empfehlungen) Gibt es überhaupt welche, die mit Quartus etwas zusammen'malen' oder wird nur noch geschrieben? Ist es also unsinnig, sich in Quartus einzuarbeiten? Diese FPGAs sind ja ganze Platinen... und wie sieht's mit einzelnen Chips aus? - die kann man doch auch programmieren. Aber keiner redet von ihnen... Es wird gerne das Einsteiger-Set von Xilinx erwähnt. Muss ich bei diesem FPGA die mitgelieferte spezielle Software benutzen oder funktioniert solch eine 'Karte' auch mit Quartus? Oder anderen Programmen, die ihr empfehlen könnt. Grüße! John
Hallo John, wenn du dich in Quartus einarbeitest, kann das sicher nicht schaden, du kannst damit aber keine XILINX-FPGAs programmieren! QuartusII ist speziell für Altera, Xilinx hat z.B. WebPack als frei verfügbare Version. Quartus heiß nicht, dass du malen musst. kannst die projekte komplett in VHDL schreiben (so wie ich z.B.) oder nur das Top-Design-File als Doku-Hilfe grafisch erstellen. Inzwischen ist Quartus auch voll script-fähig und komplett von der kommandozeile aus bedienbar. im extremfall musst du die graf. oberfläche nie öffnen, wenn du nicht willst. weiterhin gibt es eine menge tools, die herstellerunabhängige synthese anbieten, z.B. "HDL-Designer" usw. das kostet aber dann richtig. es gibt sogar tools, die nur deinen geschriebenen source-code auf feste regeln, z.B. syntax überprüfen, dafür kann man locker 5000 eur hinlegen, wenn man das will. der simulator ModelSimPE liegt in der vollversion glaube auch in dem bereich oder noch höher. bei den kostenlosen tools wirst du wahrscheinlich immer eine hersteller-spezifische software verwenden, dazu gibts meist eine eingeschränkte version des führenden simulator-tools ModelSim. habe hier die Modelsim-Altera-Version, die läuft z.B. langsamer als der ModelsimPE (s.HomePage Mentor graphics) Schaltplan-Eingabe ("Schematics-Entry") wird im prof. Bereich nicht mehr gemacht -> zu fehleranfällig und aufwendig, extrem änderungsunfreundlich, kaum wiederverwendbare funktionen möglich, in VHDL kann man alles parametrierbar machen, so dass das FIFO beim nächsten mal eben z.B. 1024x16 ist und nicht mehr 256x8 oder der UART 512 Bytes Buffer hat, da muss ich nur 1 Konstante ändern. also abh. vom FPGA, dass du verwenden willst würde ich dir die web-edition des jeweiligen herstellers empfehlen. ein starter-kit ist der beste einstieg, einzelne chips sind für den amateur schlecht handhabbar geworden (spannungs- versorgung, gehäuse bga..., layout schwierig...) Gruß
vielen vielen Dank für die ausführliche Antwort! Welche Programmiersprache ist denn für solche FPGAs zu empfehlen? Verilog oder ähnliches? Diese Sprache (z.B. Verilog) ist dann firmenunabhängig (sowohl für Altera- als auch Xilinx-FPGAs/Chips etc.), wie du schreibst. Und die Web-Edition von Xiling ist explizit nur für deren Chips?! Das hieße ja, ich müsse mich jetzt entscheiden, welche Firma ich benutzen werde und dementsprechend nur deren Programmiersprache erlernen... oder das allgemein-gültige Verilog benutzen? Ist "VHDL" der Überbegriff für die Skript-Sprache? Das hieße, die Syntax wäre zwischen den verschiedenen kostenlosen Skripttools der Firmen gleich und dann wäre es ja 'egal', mit welcher Firma ich anfange und mein oberer Absatz wäre so gut wie belanglos... Ich kann also Graphisch/Skript gleichzeitig in einem Projekt laufen lassen (wie z.B. in Quartus) und dann für entsprechende Aufgaben schauen, was sinnvoller für die Entwicklung einer speziellen Sache gerade dann ist?! Fragen über Fragen... Grüße! John
als Hardware-Beschreibungssprachen kommen VHDL oder Verilog in Frage. VHDL gefällt mir persönlich besser, das ist aber subjektiv. Wenn Du Deine Sourcen in VHDL oder Verilog schreibst, dann kannst Du damit z.B XILINX und ALTERA Tools "füttern" und bist in der Entwicklungsphase erstmal im Prinzip nicht auf ein FPGA festgelegt. Im Prinzip heißt, dass es natürlich jede Menge FPGA-spezifischer Funktionen gibt, die man als fertige Komponenten einbinden kann, z.B. eine PLL oder ein Hardware-Multiplizierer. Diese sind natürlich Hersteller- abhängig. Für die Simulation kannst Du die entspr. Library z.B. von Altera beim Simulator mit einbinden, dann bekommst Du ein Verhaltensmodell von diesen speziellen Funktionen. Bei der Synthese brauchst Du aber dann schon Quartus II wenn ein ALTERA-FPGA programmiert werden soll. Warum sollte XILINX Dir auch diesen Service bieten ? Also wenn aus dem VHDL- oder Verilog-Code ein Programmierfile werden soll, dann sind spätestens beim Mapping / Place&Route die Tools des Herstellers nötig, denn jetzt hängt ja alles davon ab, auf welche Hardware gegangen wird. VHDL ist keine Skript-Sprache, eher eine Programmiersprache. Aber es stimmt, grafische und VHDL/Verilog-Eingaben können gemischt werden, State-Machines als Bubble-Diagramm sind auch möglich, aber ich denke das ist für einen Einstieg zuviel. Wenn Du schonmal was programmiert hast, dann ist sicher das Erlernen von VHDL oder Verilog eine gute Idee. Im Web gibts genügend Sourcen zum Lernen. Viel Spass!
Also mit FiniteStateMachines habe ich schon theoretische Erfahrung gesammelt. Dann kann ich mir jetzt VHDL oder VeriLog aussuchen und zusätzlich mir von Altera oder Xilinx einen kleinen FPGA kaufen und mit der beigefügten Software das ganze drauf spielen. Du hast von "Mapping / Place&Route" gesprochen. Könntest du mir das näher erläutern? Ist das 'einfach nur' das finalisieren des Programmierten (sozusagen der Compiler, Linker) und das Aufspielen auf den FPGA? Grüße! Mario
Hallo Mario, das Mapping und Place&Route muss Dich als Einsteiger erstmal nicht interessieren, solange Du keine Fehlermeldungen dabei bekommst - das erledigt alles die Software. Beim Mapping werden die einzelnen Funktionen (Counter, FFs usw.) mit den im FPGA/CPLD vorhandenen Elementen möglichst effektiv realisiert. Beim Place&Route wird entschieden, wo Deine Funktionen im FPGA platziert werden, also vereinfacht gesagt, wenn man auf den Chip draufschaut, ob der Counter nun z.B. links oben oder in der Mitte platziert wird. Weiterhin werden die einzelnen Elemente mit den vorhandenen "Leitungen" im Chip "verdrahtet". Das ist ziemlich kompliziert, wenn sehr kurze Zeiten eingehalten werden müssen (z.B. 5ns vom Ausgang eines RAMs zum Eingang eines Counters usw.) Aber wie gesagt, das erledigt alles die Software, Du musst Dir nur was einfallen lassen, wenns dabei Fehlermeldungen gibt. Als Einstieg ist vielleicht auch ein Frequenzzähler mit CPLD geeignet, schau mal auf www.dl1dsn.de , 7-stelliger Freq-Zähler 200 MHz mit XC9572 von XILINX, Platinen gibts auch welche, könnte ich rausfinden, wenns Dich interessiert, restliche Teile REICHELT. Das Design ist schon sehr trickreich (Source-Code auf der Webseite verfügbar) - was für VHDL-Freaks.
Vielen Dank für den Link! Werde wohl trotzdem mit dem FPGA-Einsteiger-Set von Xilinx anfangen. Das bietet ja schon einiges :-) Meint ihr, ich kann dann grad einen Paralell/USB-Konverter benutzen? Mein Laptop hat keine Parallel-Port-Schnittstelle... Und explizit: Mit welchen Programmen schreibt ihr euern Kram? Quartus sieht doch ordentlich aus, und wenn es auch noch die Programmier-Sprache kann.. why not quartus? Grüße! John
wie gesagt : XILINX FPGA/CPLD : nimm XILINX WebPack Software ALTERA FPGA/CPLD : QuartusII Web Edition Editor : entweder den im Software-Pack vorhandenen oder EMACS oder CodeWright oder ... Simulator: ModelSim (www.mentor.com) - sollte bei den Web-Editionen in abgespeckter Form dabei sein. Es soll ja auch noch Leute geben, die nicht simulieren wollen, davon würde ich aber dringend abraten.
Nun, schade, dass Altera nicht so ein tolles Einsteigerset wie Xilinx anbietet, denn Quartus fand ich recht ansprechend. Dann muss ich mal schaun, was ich mir für einen FPGA zulegen werde. Gibt es noch andere sehr zu empfehlende FPGAs außer halt dieses XILINX-Set? Das scheint echt klasse zu sein und ich glaube, es gibt keine Einsteiger-Alternativen in diesem Bereich, so wie ich das jetzt im Forum alles gelesen habe?!
wüsste nicht, wo es für 99$ noch soviel FPGA fürs Geld gibt. Das ist schon ein gutes Angebot, auch dass man die Teile direkt auf der Webseite von XILINX kaufen kann. Bei ALTERA gehts erst ab 150$ los (nur CPLD), 295$ für ne FPGA-Version sind schon reichlich, auch soll dort alles möglichst über einen Disti gemacht werden.
Sehe ich das richtig, dass es keinen Standard für die Programmier-Sprache gibt? Sonst könnte man in Quartus schreiben und in Xilinx reinkopieren... oder in VHDL zusammenschreiben und woanders importierten etc.?
also Standards gibts schon: sowohl Verilog als auch VHDL sind standardisierte Hardware- beschreibungssprachen. Im ersten Schritt der Synthese wird daraus eine sog. Netzliste, die z.B. das EDIF-Format haben kann. EDIF ist wieder ein Standard(Netzlistenformat). Danach folgen Mapping und Place&Route + evt. Konvertierungen bis am Ende ein Programmierfile "herausfällt" Das Problem sind nur die Schnittstellen der Software. Soweit ich weiß, kann QuartusII zwar EDIF-Netzlisten importieren, aus meinen eigenen VHDL- oder Schaltplan-Files kann ich aber keine EDIFs generieren. Wie das bei der XILINX-Software jetzt ist, weiß ich nicht genau. Fazit: So wie ein C-Compiler eben C-Code compilieren kann, können die Software-Tools der FPGA-Hersteller VHDL und/oder Verilog verarbeiten. Problem : FPGA-spezifische Elemente (RAMs, PLLs, usw.) können verhindern, dass Dein VHDL-Code sofort 100-Prozentig auf ein anderes FPGA (sei es nun eine andere Familie oder anderer Hersteller) portierbar ist - da müssen also Anpassungen gemacht werden. Das ist vielleicht so ähnlich, wie wenn man versucht, den C-Code eines AVR-Controllers auf einem anderen AVR zum laufen zu bringen der andere Peripherie-Funktionen oder Adressen besitzt- das geht wahrscheinlich auch nicht auf Anhieb.
Von Altium gibt es ein FPGA-Baord für 99. http://www.altera.com/products/devkits/partners/kit-alt-live-design.html Kann man entweder mit XILINX oder auch mit Altera Chip bestellen. Kostenpunkt 99$. Habe aber nicht in USA sondern in deren Filiale in Karlsruhe bestellt...geht viel viel schneller.
FPGA-User, das klingt eigentlich recht einleuchtend. Danke schön! Wow, Andreas... Das Teil sieht ja klasse aus und ist doch bestimmt ein Konkurrent zu dem Einsteiger-Set von Xilinx, oder irre ich mich da?
Das hängt davon ab was du damit machen willst...ich habe den zum lernen von VHDL geholt und hatte bis jetzt keine Probleme oder Beschwerden. Bin voll zufrieden damit. Und mit 30Tage Testversion der Altium Software kann man den sehr gut Testen und sich den Einstieg sehr erleichtern, da die speziel auf deren Boards zugeschnitten ist und sehr viele Besipielcodes dabei sind aus denen man dann eigene Projecte ableiten/neu ertsellen kann.
Hallo alle zusammen. Ich wollte Euch nur wissen lassen, dass ich zur Zeit auch mit dem Evaluation Board von Altium arbeite. Eigentlich bin ich recht zufrieden damit, wobei die 30 Tage Testversion viel zu kurz ist. Man kann richtig schön mit dem Board herum experimentieren. Nervig ist nur das Kompilieren und die Datenübertragung. Das dauert so lange. Übermittel werden die Daten über einen paralellen Port und dann mit JTAG. Leider kann man den FPGA nicht direkt ansprechen. Deshalb habe ich auch eine Frage. Wie kann ich ein Configuration device extern ansprechen, wenn ich nur den paralellen Port und JTAG zur Verfügung habe. Hinzu kommt, wie verbinde ich die vier Leitungen des Configuration devive (DATA,DCLK,nCS,ASDI) mit dem FPGA, wenn ich diesen nur mit JTAG ansprechen kann? Über Anregungen oder Hinweise wäre ich Euch dankbar. Schönen Tag noch!
Hallo, eigentlich programmiere ich Controller von ATMEL (AVR ATMEGA128 ..) nun möchte ich FPGAs programmieren, da viele Firmen das verlangen und ich zur Zeit arbeitslos bin! habe zur zeit Win98 und möchte Quellcode mit vhdl erstellen bzw. mit Blockschaltbildern (höhere abstraktionsebene etc.)arbeiten z.B. für Signalverarbeitung (Frequenzanalysen etc.) ich will mir das arbeiten mit FPGAs beibringen! welche Tools brauche ich dafür? das XILINX WebPack geht mit win98 nicht! nur mit xp! aber wenn ich nur entwickeln und simulieren will (ohne board)? wer hat die partentlösung für mich?
Hallo, zunächst eine Antwort an Olli: IVERILOG kann Verilog-Code Simmulieren und sollte für Win Betriebssystheme zur verfügung stehen. Ich selber nutze es unter Linux zum Simulieren und zur Synthese Quartus II für Altera FPGA's. Experimentierboard: Anfang des Jahres habe ich in Elektor eine Experimentierplatiene gesehen die ein Altera CPLD unterstützt. Infos auf der Elektor webseite. CPLD's sind wie FPGA's aber die programmierung bleibt nach dem Ausschalten bestehen und steht nach dem einschalten sofort zur verfügung. Grüsse Tilmann
@ Tilmann http://de.wikipedia.org/wiki/CPLD http://de.wikipedia.org/wiki/FPGA Hier mal die grobe Unterscheidung zwischen FPGA und CPLD: Ein FPGA besteht im Gegensatz zum CPLD aus Logikelementen, bei denen über eine "luck up table" (Wertetabelle) die logischen Funktionen realisiert werden. Bei den CPLD wird dagegen eine 2 stufige Logik aus UND- und ODER- Verknüpfungen verwendet, die in einer Matrix zusammengefasst ist. Holger
@high_speed: http://de.wikipedia.org/wiki/Look-Up_Table Tut mir Leid, das musste jetzt sein :P @Tilmann: Das heißt, du kommst komplett ohne Windoze aus? Laufen die Programme denn mit Wine? Und programmieren geht dann wie? Danke
Hallo, möchte hier nocheinmal kurz das Gespräch über die Developmentkits aufgreifen: SASCO bietet zur Zeit Developmentkits von ALTERA zum halben Preis an. Z.B. ein MAX II-Board für 95$. Wenn man bedenkt, was alles auf dem Board ist, sicherlich ein ganz guter Preis. Ein Selbstbau würde nicht wesentlich billiger werden. Zumal hier bereits das Programmierkabel dabei ist, welches bei Xilinx ja extra kostet, sofern ich das richtig gesehen habe. Inwieweit das ganze für Privat-Kunden gilt kann ich leider nicht sagen, aber fragen kostet ja nichts. Hier der link ... http://www.sasco.de/cda/sc/de/techevents/0,5225,530,00.html P.S. Für Anfänger würde ich persönlich QuartusII empfehlen, schlichtweg aus dem Grunde, weil sehr kompakt gehalten ist. Installieren und loslegen ... :-) Das Xilinx Webpack schreit nach der Installtion noch nach einem Simulationstool :-( Diese meinige Erfahrung ist allerdings auch schon wieder ein gutes halbes Jahr her. MFG Michael
@Michael: Das Angebot gilt nicht für Privatpersonen. Ich habe schon wegen dem Cyclone II Board angefragt und eine Absage bekommen. Gruß Jörn
Hmmm ... Scheibenkleister, einen Versuch war es Wert. MfG Michael Was ich noch vergessen hatte: hier eine sehr interessante Seite zur FPGA-Auswahl http://www.fpga-guide.com
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.