Forum: FPGA, VHDL & Co. Auf meine Bedürfnisse zugeschnittenes Einsteigerboard


von Reinhard J. (rvj)


Lesenswert?

Hallo Forum!

Nachdem ich viel Forenbeiträge gelesen habe, die mir zwar einen Einblick 
ins Thema CPLD und FPGA gaben, eröffne ich hier einen auf meine 
Fragestellung zugeschärften Thread.

Ich beschäftige mich zur Zeit mit dem Addieren von Encodersignalen. Dazu 
benutze ich eine Mikrocontrollerschaltung, welche aus drei ATtiny2313 
aufgebaut ist. Zwei fungieren als Zähler einer als Addierer. Die Zähler 
setzen einen Ausgangspin, falls es vorwärts und einen anderen, falls es 
rückwärts geht. Der Addierer kriegt das mit und meldet dies an die 
Zähler, die dann die Ausgangspins per Interrupt zurücksetzen. Ferner 
teilt der Addierer die Encoder, d. h. er versetzt den Ausgang nur dann 
eins weiter, wenn er zwei aufeinanderfolgende Pulse in die gleiche 
Richtung registriert. So wird vermieden, dass zwei Pulse sehr schnell 
hintereinander den Addierer verlassen. Geschrieben habe ich das in 
Assembler und es funktioniert auch recht ordentlich. Wird die 
Encodereingangsrate sehr hoch, dann klappt das aber nicht mehr.

Im Artikel Drehgeber - 
http://www.mikrocontroller.net/articles/Drehgeber
las ich folgendes: "Besonders bei höheren Winkelgeschwindigkeiten und 
Auflösungen ist eine Auswertung in Software in einem Mikrocontroller 
irgendwann einmal technisch unmöglich. Dann muss ein Dekoder in Hardware 
her, heutzutage meist programmierbare Logik in Form eines CPLD oder
FPGA. VHDL ist eine weit verbreitete Sprache zur Logikbeschreibung bzw. 
Synthese." Aha! Mit CPLDs und FPGAs kann ich schneller werden.

Also begann ich mich auf dem Internet und auch bei microcontroller.net 
in das Thema CPLD und FPGA einzulesen. Bei der Gelegenheit: Ein 
herzliches Danke ans Forum und seine Macher! Ich stellte fest, dass die 
Einarbeitung sehr viel schmerzlicher wird als die Einarbeitung in AVR 
Assembler, da Anfängersets, bestehend aus Testboard, Software und am 
wichtigsten Schulungsunterlagen, wie sie für die AVRs erhältlich sind, 
nicht angeboten werden. Ich frage mich daher mit welcher Ausstattung ich 
beginnen soll. Eine Frage, die hier oft gestellt wird, wobei sich die 
Entwicklungsziele der Fragenden von meinen unterschieden. Bei den AVRs 
bin ich sehr schnell vom Testboard zu eigenen Layouts übergegangen und 
ich möchte das nun auch mit CLPDs oder FPGAs tun. Folglich ist die 
Verfügbarkeit ein wichtiges Kriterium.

Bei meinen Recherchen fielen mir drei Produkte ins Auge:
1. Altera DE1 - 
http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83
Das wird in Foren gut besprochen. Ist mit viel mehr ausgestattet als ich 
brauche und wird daher schwieriger zu handhaben sein. Auf der anderen 
Seite erschließt die Ausstattung auch neue Interessenfelder.
2. Xilinx Spartan-3AN Starter Kit - 
http://shop.trenz-electronic.de/catalog/product_info.php?products_id=168
Das scheint ein Konkurrentz des DE1 zu sein mit ähnlichen Eigenschaften.
3. Xilinx CoolRunner-II CPLD Starter Kit - 
http://shop.trenz-electronic.de/catalog/product_info.php?products_id=478&language=de
Das günstigste Board ist ein CLPD Board. Hat das bezüglich der 
Geschwindigkeit Vorteile?

Kann mir jemand einen Tipp geben, mit welchem der genannten Produkte 
oder mit welchem Alternativprodukt ich einsteigen soll. Ich bin auch für 
Literaturhinweise dankbar, welche sich auf eine Entwicklungsumgebung mit 
einem Board fokusieren.

Zukünftige Projekte wären beispielsweise ein 24 Bit breiter Encoder 
Zähler mit achtstelliger Siebensegmentanzeige - womöglich für drei 
Achsen - oder ahnliches.

Ich hoffe ich habe einen Einblick gegeben, welche Projekte mir 
vorschweben. Viele Dinge auf den gefundenen Boards werde ich also erst 
mal nicht brauchen. Wichtig ist vor allem einen Einstieg zu erhalten und 
den Frust, der angesichts der schwierigen Materie unvermeidlich 
erscheint, zu minimieren. Man kann sich ja später ein weiteres Board 
zulegen.

Danke an alle die sich den langen Text durchgelesen haben und mir 
womöglich antworten. Ziel war es Euch einen Einblick zu geben was mich 
umtreibt und wo ich mit meinen Kenntnissen stehe, nämlich am Anfang.

Viele Grüße
Reinhard

von Sigi (Gast)


Lesenswert?

Für Encodergeschichten sind wohl die meisten FPGA-Board
überdimensioniert, aber nach dem ersten Schritt will man
mehr^2.

Schau einfach mal mehrere Wochen lang bei EBay nach gebrauchten
Boards, ab und zu ist ein günstiges dabei.

Und in der Zwischenzeit: Lad die einfach mal die kostenlosen
Webedition/Webpack-Versionen von Altera oder Xilinx runter
und mach dich mit diesen vertraut. Damit bist du mehrere
Wochen beschäftigt und findest dann je nach Geschmack eine
erste Präferenz (und nicht ganz unwichtig!: Schau dich nach
JTAG-Programmern um, Altera ist hier billig, bei Xilinx
ein wenig teurer).

Und: Xilinx CoolrunnerII ist ein CPLD, ggÜ FPGAs extrem klein.
Nimm lieber gleich einen FPGA.

von Reinhard J. (rvj)


Lesenswert?

Vielen Dank Siggi,
das werde ich tun. Gibt es für diese Entwicklungsumgebungen 
empfehlenswerte Tutorials? Das mit dem Programmer hatte ich auch schon 
im Forum gelesen. Falls die Xilinx Umgebung einfacher und weniger 
frustrierend ist, soll es an einigen Euros nicht scheitern.
Viele Grüße
Reinhard

von Sigi (Gast)


Lesenswert?

Kaum einer der Hersteller hat ein wirklich gutes Tutorial.
Für Xilinx: Schau mal nach "ISE in depth Tutorial"
Für Altera: Am Besten das QuartusII-Manual (teilweise
ausufernd, aber irgendwann muss man sich ja mal reinknienen)

Aja, noch zu Altera: eigentlich mag ich Xilinx in Bezug
auf VHDL mehr, aber wenn mal ein kleines SOC-System
aufgesetzt werden soll, dann ist Altera definitiv besser!!!

von Reinhard J. (rvj)


Lesenswert?

Hallo Siggi,
das verstehe ich nicht ganz. SoC heisst doch System on a Chip, oder? 
Eigentlich stelle ich mir das so vor: Ich entwickle etwas auf dem Board, 
kaufe mir dann einen Chip und verbaue diesen in main Layout. System on a 
Chip hört sich irgendwie gigantisch an. Ist das Raspberry nicht sowas? 
Ich suche was zum Einsteigen mit Bezug auf meine Encodergeschichten. Das 
Tutorial von Xilinx habe ich gerade geholt. Sieht gut aus. Danke. Altera 
Software ziehe ich gerade. Bei Xilinx weiß ich nicht was ich an Software 
herunterladen muss. Kannst Du helfen?
Herzlichen Dank für die ultraprompte Antwort.
Viele Grüße
Reinhard

von Sigi (Gast)


Lesenswert?

SOC: Jeder der Anbieter hat ein eigenen Prozessor inkl.
Architekturkomponenten. Bei Altera ist es z.B. NiosII
(neuerdings ARM), bei Xilinx MicroBlaze oder PPC405/440
(neuerdings ebenfalls ARM). Am Anfang sollte das aber
nicht so interesant sein, VHDL ist hier wichtiger.

Später, nach ein paar Monaten (??) willst du aber mal
mehrere selbstgeschriebene Komponenten elegant konfigurieren
bzw. steuern, und hier genau hilft dir ein Prozessor. Das
ganze kann man dann als SOC bezeichnen (ist idR nichts
hochtrabendes).

Wenn du also nicht nur reinschnuppern möchtest, dann ist
dieser Punkt für die Zukunft auf jeden Fall zu berücksichtigen.

von Sigi (Gast)


Lesenswert?

Und was ich vergessen habe: Der Prozessor ist entweder
in VHDL bzw. einer äquivalenten Beschreibung oder aber
als Hardcore-Block im FPGA integriert.

von Reinhard J. (rvj)


Lesenswert?

Herzlichen Dank Siggi,
Du machst mir Mut und den werde ich brauchen. Installiere gerade 
Quartus. VHDL scheint in der Tat wichtiger. Welche Xilinx Software soll 
ich probieren? Kannst Du mir den Link eintragen. Auf dre Xilinx Seite 
habe ich verwirrt aufgegeben. Habe XP als Betriebssystem.
Viele Grüße Reinhard

von Sigi (Gast)


Lesenswert?

Und einen wichtigen Punkt habe ich noch vergessen:
Installiere dir von Xilinx die Version 6.3 (oder 9.x, X=?)
und von Altera die Version 11.0 (evtl. SP1). Die sind
erstens kleiner und ausserdem mehr als ausreichend für
erste Schritte.

von ... (Gast)


Lesenswert?

Sigi schrieb:
> Und einen wichtigen Punkt habe ich noch vergessen:
> Installiere dir von Xilinx die Version 6.3 (oder 9.x, X=?)
> und von Altera die Version 11.0 (evtl. SP1). Die sind
> erstens kleiner und ausserdem mehr als ausreichend für
> erste Schritte.

Hmm Xilinx ISE 6.3 kann er kaum gemeint haben.
Die älteste Version die ich benutze wäre 8.4. Und die auch nur zum Map & 
Place von steinalten SpartanXL.
Wenn es eine alte ISE-Version sein soll, würde ich die 10.1 empfehlen.
Die ist auch bei kleinen FPGAs merklich schneller als die aktuellen 
14er.

Bei Quartus2 ist das nicht so dramatisch.

von Reinhard J. (rvj)


Lesenswert?

Danke für die Info.
Das "Spartan-3E FPGA Starter Kit" gibt es in den USA gerade für 199$.
Ist das auf meine Bedürfnisse zugeschnitten? Es verfügt neben dem FPGA 
auch einen CPLD.
Momentan folge ich Siggis Tipp, d.h. ich lese ein wenig über VHDL schaue 
mir die Software an.
Gruß Reinhard

von Sigi (Gast)


Lesenswert?

199$ ?? Viel zu teuer. Warte mal 2, max 3 Monate und schau dir
einmal die Woche in der Bucht die Angebote an. Gerade in der
letzten Zeit waren ein paar sehr günstige und gute Boards dabei.
"Dein" Spartan-Board gabs z.B. neu für 45Euro + 5Euro Versand!!

Und bein S3E-Board sehr wichtig: da sitzt ein FX2-Stecker drauf,
dafür muss z.B. ein Flachbandkabelstecker oder ein Breadboard
mit Adapterstecker mitbestellt werden. Ich hab so ein Breadboard,
damit lässt sich sehr gut arbeiten. (Beim S3E-Board soll es nicht
gerade einfach sein, den DDR-Speicher anzusprechen, von daher dann
fast schon eine unnütze Komponente!)

von berndl (Gast)


Lesenswert?

also wenn du dich bei Xilinx-FPGAs umschaust, dann vlt. doch mal 
nachsehen unter http://www.digilentinc.com

Ein Nexys 2/3 oder Basys2 ist nicht wirklich teuer, man kann damit aber 
'ne Menge anstellen. Das schoene an den Digilent boards ist, es gibt 
auch eine ganz gute Unterstuetzung fuer verschiedene Betriebssysteme 
(Win, Linux). Fuer einige Digilent boards gibt es auch noch als 
Alternative http://www.makestuff.eu/wordpress/software/fpgalink/ 
(funktioniert auch mit einem Raspberry Pi am USB-Port!). Und vom 
Digilent Support (via e-mail) war ich vor ein paar Jahren positiv 
ueberrascht, als ich das Atlys unter Linux ans Laufen bringen wollte...

Und das, was ISE Webpack so alles unterstuetzt, reicht fuers Hobby 
allemal aus... (Toolchain, Simulator (evtl. GHDL anstatt ISIM)).

Also wenn du in FPGA einsteigen willst, dann ist Digilent sicher eine 
passable Option (Boards gibts auch bei deutschen Versendern wie z.B. 
Trentz, Watterott, ...)

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
Noch kein Account? Hier anmelden.