Hallo,
ich weiss nicht, womit ich am geeignesten den Einstieg in die
FPGA-Programmierung beginnen soll/kann.
Eine konkrete Aufgabe habe ich noch nicht, aber das Interesse zu lernen
wie FPGAs zu porgrammieren sind. Ich möchte gerne ein paar meiner
Urlaubsstunden mit dem Einstieg in die FPGA-Welt verbringen, nur weiss
ich nicht, mit welchem Board ich da am ehesten Erfolge erzielen kann.
Ich weiss, die Frage ist irgendwie dumm und es ist blöde jemand anderem
so eine Entscheidung übertragen zu wollen, aber irgendwie fühle ich mich
etwas überfordert, ein passendes Einsteigerboard zu finden.
Zum einen möchte ich ungerne mehr als 100,- Euro ausgeben, zum anderen
mangelt es mir an geeigneten Distributoren. Ich habe mir natürlich die
Liste von Einsteigerpaketen auf diesen Seiten angesehen, aber preislich
sind die meisten etwas abgehoben und ein Distributor ist auch nicht so
ohne weiteres in Sicht. Problematisch erscheint mir auch, dass die
angegebenen Preise sich offennbar etwas nach oben verschoben haben.
Daher einfach mal ganz konkret die Frage in den Raum:
Wo bekome ich ein wirklich geeignetes FPGA-Entwicklungs-Einsteigerboard,
mit dem ich ein paar Dioden blinken lassen kann, womit ich ein Display
und eine RS232 Verbindung nutzen kann und womit ich später auch externe
FPGAs beschreiben kann, das ganze möglichst zu einem Preis von unter
100,- Euro und einsteigerfreundlich.
Das ganze am besten nicht aus China oder Übersee geliefert... Reichelt
und Conrad spucken bei meinen Suchen überhaupt nichts aus, was mich
irgendwie etwas verwundert, da die doch sonst auch alles mitmachen...
Lad dir doch einfach mal eine Entwicklungsumgebung
und eine gute Einführung in VHDL runter (z.B. ISE
WebPack 6.3) und "spiel" mit der ein wenig rum.
Zum VHDL lernen reichts allemal (ist sogar ein
Simulator enthalten). Wenn du dann ein wenig
Erfahrung gesammelt hast, dann kannst du dir ein
Board besorgen.
Habe meine beiden über E-bAy ersteigert, waren
recht günstig. Ebenfalls brauchbar für Xilinx
ist Trenz-Elektronik.
Ich kann verstehen, daß nur der Simulator nicht das Selbe ist, wie ein
Lauflicht im Zielsystem.
Ich halte für dein Ziel das Digilent Basys für voll ausreichend. An
besondere Hardware auf dem Board wird man sich wohl eh erst mal nicht
rantrauen, also dieselbe auch nciht vermissen.
Und bei Trenz kostet das Basys100 z.B. 65 Euro.
edit: "andere fpga programmieren" wird aber mit keinem Board
funktionieren. Das stk Konzept ist da nciht übertragbar, also daß da ein
isp Programmierer drauf wäre, den du benutzen kannst.
Piet schrieb:> edit: "andere fpga programmieren" wird aber mit keinem Board> funktionieren.
Doch. Mit den Xilinx Boards, die den USB Programmer drauf haben, würde
das schon gehen. Allerdings muss man irgendwo die JTAG Kette auftrennen,
und das ist je nach Board dann etwas kompliziert...
...das ist ja blöde...
Habe nämlich auch so ein schönes STK500 Board und finde das Prinzip
hervorragend.
Kann die Chips entweder in den Sockeln auf dem Board proggen oder eben
mit dem ISP-Kabel in einer externen Schaltung...
WEnn ich mir also ein FPGA-Entwicklungsboard kaufe, dann ist das demnach
kein echtes Entwicklungsboard, sondern nur eine Spielschaltung, auf die
ich genau das programmieren kann, was der Entwickler jenen Boards mir
als Möglichkeiten mitgeliefert hat?
Wenn ich "externe FPGAs" programmieren möchte benötige ich dann noch was
genau als Zubehör dazu?
mfg
FPGA in Sockel gibts ja eh keine aktuellen. Und ein Eval Board für einen
FPGA ist im Prinzip eine Spielwiese, die alles das kann, was das
entsprechende FPGA bietet. Da ist ja im Normalfall schon Speicher,
LAN-Controller usw. mit drauf. Der Programmer ist nur eine Zugabe bei
wenigen Boards und dient dazu, den externen Programmer zu ersetzen.
Allerdings dient ein Eval-Board nicht dazu, andere Boards zu
programmieren, weil es eben kein Programmer ist, sondern ein Eval-Board.
Wie stellst du dir das mit "externem" FPGA vor? Ein aktuelles FPGA hat
im Normalfall heutzutage ein BGA Gehäuse und benötigt eine Platine mit
mindestens 8 Lagen und mehrere Betriebsspannungen....das kann man nicht
mal eben so wie ein ATMega 8 behandeln...
FPGA schrieb im Beitrag #2251015:
> Kann die Chips entweder in den Sockeln auf dem Board proggen oder eben> mit dem ISP-Kabel in einer externen Schaltung...
144 pinnige TQFPs im 0.5mm Raster (0.3mm Pin, 0.2mm Abstand) werden
immer aufgelötet. Es gibt zwar Sockel dafür, aber die kosten mehr als
der Chip selber (einige 100 Euro) und verschlechtern die elektrischen
Eigenschaften. Üblicherweise brauchst Du drei Versorgungsspannungen
(1.2V, 2.5V, 3.3V), und das schaffst Du nicht unter vier Lagen.
> WEnn ich mir also ein FPGA-Entwicklungsboard kaufe, dann ist das demnach> kein echtes Entwicklungsboard, sondern nur eine Spielschaltung, auf die> ich genau das programmieren kann, was der Entwickler jenen Boards mir> als Möglichkeiten mitgeliefert hat?
Jein. Zumindest ein Teil der Pins sind auf Pfostenleisten herausgeführt.
> Wenn ich "externe FPGAs" programmieren möchte benötige ich dann noch was> genau als Zubehör dazu?
Einen passenden Programmieradapter. Hat auf der einen Seite USB und auf
der anderen Seite ein Flachbandkabel zum Aufstecken aufs Board. Sowas
gibts auch noch für den Parallelport, aber da der bereits fast
ausgestorben ist, wäre ein Kauf Geldverschwendung.
fchk
FPGA schrieb im Beitrag #2251015:
> Wenn ich "externe FPGAs" programmieren möchte benötige ich dann noch was> genau als Zubehör dazu?
Ein JTAG Programmierkabel im Presibereich von 10-200€.
FPGA schrieb im Beitrag #2250709:
> Das ganze am besten nicht aus China oder Übersee geliefert...
Und warum nicht? Rechne aber gleich mal vorab die Mehrwertsteuer auf den
Boardpreis+Versandkosten drauf.
> aber irgendwie fühle ich mich> etwas überfordert, ein passendes Einsteigerboard zu finden.
Nimm einfach das erwähnte Basys Board und leg los. Diese Eval-Boards
verlieren kaum an Wert, wenn du also später um- oder aufsteigen willst,
verkauf es einfach wieder.
Sim schrieb:> Wenn du dann ein wenig> Erfahrung gesammelt hast, dann kannst du dir ein> Board besorgen.
Ein bekannte hat mir damals auch so empfohlen. Ich habe mir
die ISE von Xilinx (damals version 7 glaube ich) gezogen und
installiert.
ModelSim auch noch dazu. Am nächsten Tag habe ich mir bei Trenz
einen Spartan-3AN StarterKit bestell, weil es einfach zu langweilig
war im Simulator die Signale anzugucken. Deswegen kann ich empfehlen
direkt einen FPGA-Board zu bestellen. Ich kann DE1 von Terasic
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=53&No=83
empfehlen. Klar, ganz aktuel ist dieses Board nicht mehr, aber
in Richtung Preis/Leistung-Verhältniss gebt es kaum was besseres.
Das Board hat mir damals mit Steuer+Zoll+Versand ca. 170 Euro gekostet.
Frank K. schrieb:> Üblicherweise brauchst Du drei Versorgungsspannungen> (1.2V, 2.5V, 3.3V), und das schaffst Du nicht unter vier Lagen.
Nichts ist unmöglich ;)
Siehe Bilder. Das schöne Stück läuft bei mir seit mehr
als einem Jahr absolut sauber!
Es ist einen Spartan 3-400 im TQFP144 Geäuse +
512Kb HighSpeed SRAM + AC97 Codec + PIC24 uC am Board.
MfG aus Westerwald
> sondern nur eine Spielschaltung, auf die ich genau das programmieren> kann, was der Entwickler jenen Boards mir als Möglichkeiten> mitgeliefert hat
Schau Dir mal das S3E-board an. Auf EBAY gibt es die für unter 100,- und
da ist alles drauf. Eigene Elektronik geht jederzeit über die
Erweiterungstecker.
Ich moechte hiermit auf die Produkte von Altera verweisen. Das Quartus
scheint mir recht stimmig zu sein vom feeling/handling her. Ich möchte
hier noch einen rant ablassen auf xilinx. Die chips sind zwar
unschlagbar günstig, allerdings ist die ISE software scheisse. Danke.
Ich hab das Terasik De0Nano und finds klein aber sehr fein , hab
glaubich inclusive zoll 100 euro geblecht, das teuerste davon war der
Versand, lol, aber du wirst nicht umhin kommen, aus Asien zu beziehen,
wenn du was preiswertes haben willst.
altera schrieb:> Ich möchte hier noch einen rant ablassen auf xilinx. Die chips sind zwar> unschlagbar günstig, allerdings ist die ISE software scheisse. Danke.
Insbesondere, wenn sie auch noch was kosten würde. Du solltest hier an
Xilinx eher mal ein DANKE schreiben, weil die seinerzeit ihre Tools als
erste kostenlos verteilt haben, und die anderen einfach nachziehen
mussten.
altera schrieb:> Ich moechte hiermit auf die Produkte von Altera verweisen.
Ich möchte hiermit darauf hinweisen, dass es auch noch Lattice gibt.
Und ich möchte darauf hinweisen, dass es entweder
1. deutlich weniger Lattice und Altera User gibt, oder
2. die nicht so gern helfen.
Denn eine Altera-Anfänger-Frage bleibt in den Foren gern mal
unbeantwortet.
Lothar Miller schrieb:> 1. deutlich weniger Lattice und Altera User gibt, oder> 2. die nicht so gern helfen.> Denn eine Altera-Anfänger-Frage bleibt in den Foren gern mal> unbeantwortet.
Wahrscheinlich ersteres.
Und da Xilinx auch die ersten waren, deren Linux-Version kostenlos war,
kenne ich mich jetzt mit Xilinx aus und nicht mit Altera, Lattice oder
Actel...
Duke
...auch wenn ich als (derzeit*) Lattice-User also ein "Exot" bin, möchte
ich mal diesen Link auf die aktuelle Promo-Aktion (Einsteiger-Board für
$29) hier posten:
http://www.latticesemi.com/products/developmenthardware/developmentkits/machxo2picokit.cfm
(* habe früher ~10 Jahre mit Xilinx, dann 2 Jahre mit Altera und nun
seit ca. 9 Jahren mit Lattice gearbeitet. Alle bauen brauchbare Chips
mit teilweise unterschiedlichen Stärken und Schwächen, aber dank VHDL
ist das mit der Ziel-Hardware nicht so das große Problem)
>Dank VHDL ... die Ziel-Hardware nicht so das große Problem
Naja, die Sache dreht sich gerade! Durch die Verbreitung der Softcores
und immer spezifischerer SOC-Systeme, entsteht zunehmend mehr
Herstellerbindung. Portiere mal ein komplettes Design, das mit dem
Xilinx Blockset und Matlab generiert wurde und samt Microblaze in einem
XPS-SOC-Rahmen steckt, auf Altera DSP Builder mit NIOS und SOPC-System.
Das ist ein kompletter Neubau!
Blankes VHDL dient heute oft nur noch zum Verschalten von COREs und IPs
und die sind immer herstellerspezifischer(er) strukturiert, dass man
immer weniger durch simplen Tausch portieren kann.
...Du hast natürlich recht, wenn ein Design auf derart
herstellerspezifische Cores aufsetzt, dann war's das mit der (relativ)
einfachen Portierbarkeit. Wenn man sich auf FIFOs, dual-Port-RAM etc.
beschränken kann, geht's dagegen relativ schmerzlos.
Das mit der schlechten Portierbarkeit von MicroBlaze, NIOS, MICO und Co.
ist übrigens auch der Grund für die immer noch bestehende Popularität
solch "alter" Prozessor-Cores wie 8051 und (synchroner) Z80 Derivate:
die lassen sich in FPGAs und ASICs diverser Hersteller annähernd gleich
gut synthetisieren.)
Aber ich denke der FPGA(Gast) hat noch eine Weile, bis er sich mit
solchen Problemen befassen muss... ;-)
Stefan Wimmer schrieb:> Das mit der schlechten Portierbarkeit von MicroBlaze, NIOS, MICO und Co.
Zumindestens der Mico ist relativ leicht portierbar:
Hier ein Guide für LatticeMico32 auf Xilinx
http://tutorials.tkjelectronics.dk/Porting_the_LM32_to_a_Xilinx_FPGA.pdf
Hier eine aktuelle Implementierung:
http://www.wiki.ztex.de/doku.php?id=en:projects:latticemico32
Sieht so aus als ob man nur 4 kleine Dateien anpassen muss (Dinge wie
Blockram Anbindung). Was allerdings unter den Tisch fällt ist das JTAG
Debug Interface.
Wie es mit den Lizenzen aussieht ist mir allerdings nicht ganz klar. In
einem GPL Projekt sollte aber kein Problem bestehen.