mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA oder CPLD?


Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauche mal ein wenig Aufklärung zum Thema programmierbare 
Logikbausteine. Ich versuche mich grade ein wenig in das Thema 
Hardwareentwicklung einzuarbeiten. Mit den kleinen AVRs komme ich soweit 
auch schon ganz gut zurecht. Leider ist da relativ schnell "Schluß" bzw 
es wird einiges an Peripherie nötig. Da käme dann nach meinem 
Verständnis ein CPLD oder FPGA an die Reihe weil ich dort die ganzen TTL 
Gräber einfach integrieren könnte.

Jetzt ist nur die Frage wie der Einstieg dort am besten aussieht. Ein 
CPLD? Gibts bei Trenz mit dem CoolRunner II Starterkit schon recht 
günstig (40€). Oder gleich ein FPGA? Dort sind die Preise für die 
Starterkits aber mit 160€ schon wieder zu hoch. Oder tuts auch das Eval 
Kit mit Spartan 3A für 50€? Wo liegt dann der Unterschied zu den 3x so 
teuren Starterkits?

Mein bisher angedachtes Endziel bei der ganzen Spielerei wäre eigentlich 
ein eigenes kleines DSO mit ~1MHz Bahndbreite. Die Frage ist, ob da ein 
CPLD genügt?

Und muss es für die ersten Gehversuche gleich VHDL sein oder kann man 
auch in der Schaltplan Ansicht bereits Erfolge verbuchen? Ich finde 1 
Baustelle reicht für den Anfang ;)

mfg

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein CPLD?  Oder gleich ein FPGA?
CPLDs sterben aus.
Dazu muss man sich z.B. vergegenwärtigen, dass Lattice mit CPLDs groß 
geworden ist, und jetzt FPGAs (MachXO) als Nachfolger ausgeschrieben 
hat. Auch bei Xilinx wird es dem Vernehmen nach keinen Nachfolger für 
die 95xx und Coolrunner CPLDs geben.

Fazit: Lern besser gleich FPGAs.

> Und muss es für die ersten Gehversuche gleich VHDL sein...
Jede Schaltplanbeschreibung hat den Nachteil, dass sie nicht portierbar 
ist. Oft nicht einmal beim gleichen Hersteller (von einem Baustein zum 
anderen). Und VHDL ist soooo umständlich ja nun auch nicht... ;-)


> Ich finde 1 Baustelle reicht für den Anfang ;)
Du hast auf jeden Fall 2 Baustellen (Baustein und Beschreibung). Ob du 
jetzt die Beschreibung (=Programmierung) mit einem Schaltplan machst 
oder mit VHDL, ist sich einerlei. Du mußt sowohl das eine als auch das 
andere neu lernen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  guest (Gast)

>es wird einiges an Peripherie nötig. Da käme dann nach meinem
>Verständnis ein CPLD oder FPGA an die Reihe weil ich dort die ganzen TTL
>Gräber einfach integrieren könnte.

Ja. CPLD reicht für mittlere TTL-Gräber. Wenns danns chon bissel 
schöner, grösser und leistungsfähiger sein soll, muss halt ein FPGA her. 
Der Umstieg ist aber eher gering, wenn man die Grundlagen beim CPLD 
gelernt hat.

>Jetzt ist nur die Frage wie der Einstieg dort am besten aussieht. Ein
>CPLD? Gibts bei Trenz mit dem CoolRunner II Starterkit schon recht
>günstig (40€).

Dann nimm das.

> Oder gleich ein FPGA?

Kann man machen, muss aber nicht sein.

>Starterkits aber mit 160€ schon wieder zu hoch. Oder tuts auch das Eval
>Kit mit Spartan 3A für 50€?

Ja.

> Wo liegt dann der Unterschied zu den 3x so teuren Starterkits?

Die Zusatzkomponenten wie FLASH, SDRAM, VGA, Pi-Pa-Po.

>Mein bisher angedachtes Endziel bei der ganzen Spielerei wäre eigentlich
>ein eigenes kleines DSO mit ~1MHz Bahndbreite. Die Frage ist, ob da ein
>CPLD genügt?

Ja, musst halt noch einen RAM dranhängen. Der AVR macht dann die 
Steuerung und Kommunikation mit dem PC. Mit einem FPGA könnte man das 
alles in einem IC erledigen, das braucht dann aber schon einiges An 
Konwo How.

>Und muss es für die ersten Gehversuche gleich VHDL sein oder kann man
>auch in der Schaltplan Ansicht bereits Erfolge verbuchen?

Man kann mit Schematics anfangen, sollte aber mittelfristig auf VHDL 
umschwenken.

@  Lothar Miller (lkmiller)

>CPLDs sterben aus.

totgesagte leben länger. Auch wenn es dort keine neune ICs mehr geben 
wird, genutzt werden die vorhandenen nach wie vor.
Auch RS232 ist nicht tot zu kriegen ;-)

>Fazit: Lern besser gleich FPGAs.

Nöö, das ist realtiv egal. Die Grundlagen sind identisch. Und die 
Spezialfunktionen ala BRAM, DLL & Co kann man sich danach schrittweise 
aneignen.

MFG
Falk

Autor: rotuA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> es wird einiges an Peripherie nötig. Da käme dann nach meinem
>> Verständnis ein CPLD oder FPGA an die Reihe weil ich dort die ganzen TTL
>> Gräber einfach integrieren könnte.
> Ja. CPLD reicht für mittlere TTL-Gräber.
Moin, warum sagt man in Verbindung mit CPLDs und FPGAs eigentlich auf 
Grab? Wird das irgendwann zu einem unwartbaren Sammelsorium oder was 
steckt da hinter?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Ja. CPLD reicht für mittlere TTL-Gräber.
> warum sagt man in Verbindung mit CPLDs und FPGAs eigentlich auf Grab?
Das sagt man nicht im Verbindung auf CPLDs, sondern auf die 
TTL-Schaltungen der 70er Jahre. Da waren je nach Komplexität auf einer 
Platine schon mal 200 solcher Bausteine vergraben.

Und ebenso viele TTLs lassen sich locker in einem FPGA vergraben.


@  Falk Brunner (falk)
>  totgesagte leben länger.
> Auch RS232 ist nicht tot zu kriegen ;-)
Und der 8051...
Aber ich würde heute nicht mehr mit dem 8051 anfangen.

>>Fazit: Lern besser gleich FPGAs.
> Nöö, das ist realtiv egal.
Ich komme mit CPLDs immer so schnell an die Grenze mit den paar FFs. Und 
dann das anschliessende Getrickse...
> Nöö, das ist realtiv egal.
Eigentlich hast du recht. Eval-Boards verlieren kaum an Wert, da kann 
man schon mal mit dem CPLD loslegen. Und wenns dann gutgeht, kann man 
ein ziemlich kostenneutrales Crossgrade in Richtung FPGA machen...

Autor: rotuA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>> Ja. CPLD reicht für mittlere TTL-Gräber.
>> warum sagt man in Verbindung mit CPLDs und FPGAs eigentlich auf Grab?
> Das sagt man nicht im Verbindung auf CPLDs, sondern auf die
> TTL-Schaltungen der 70er Jahre. Da waren je nach Komplexität auf einer
> Platine schon mal 200 solcher Bausteine vergraben.
>
> Und ebenso viele TTLs lassen sich locker in einem FPGA vergraben.
Ach so, danke für die Info...

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch Verilog ist eine Option...

Autor: ohne ahnung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verilog ist auch keine lösung

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wobei ich sagen muss, dass verilog für einen einsteiger irgendwie die 
leserlichere syntax hat. erinnert ein wenig an c++

ich wollte mich aber vor allem für die ganzen antworten und ratschläge 
bedanken. auch wenn ich immer noch nicht so recht weiß ob ich nun das 
abgespeckte fpga board nehmen soll oder doch das cpld starterkit. ich 
glaub wie mans macht, macht mans eh verkehrt ;)

beim fpga werde ich schnell die zusatzfeatures vom großen starterkit 
vermissen und beim cpld dann die speichergröße für schaltungen..

Autor: ohne ahnung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm das spartan 3a board für nen 50er. gutes produkt für kleinen preis 
und du hast damit viel mehr möglichkeiten als mit nem cpld-board. ich 
hätte es gekauft.

dafür fehlte mir allerdings der ram. darum hats mich zu dem machxo mini 
dev kit verschlagen und seither tanz ich halt auf der lattice hochzeit.

aber einmal die hintergründe verstanden ist der wechsel nicht sehr 
schwer zwischen anbietern.

Autor: Logiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und muss es für die ersten Gehversuche gleich VHDL sein

Auch wenn einige hier aufschreien werden:

Lern besser Verilog, bwz. genauer Verilog 2001.

Während Du bei VHDL noch zum dritten mal den gleichen Sabbel tippst, 
bist Du bei Verilog schon fertig.

VHDL ist einfach nur umständlich, Verilog ist schön pragmatisch.

Autor: ohne ahnung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die problematik ist die vhdl-verbreitung in europa.

wenn man das eher privat macht, warum nicht. vorallem auf den englischen 
seiten ist fast ausschliesslich verilog zu finden. machts noch etwas 
einfacher.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Linux ist ein wichtiger Punkt fuer Verilog auch der quelloffende 
Simulator IVerilog von Stephee Williams.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, sollte Stephen Williams heissen

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öh, und ghdl ist jetzt nicht quelloffen?

OT-BTW: Naja, und wenn beim Coden allein die Anzahl der Anschläge zählt, 
läuft eh was daneben... Mich erinnert Verilog jedenfalls immer an wirres 
Gestotter ohne erkennbare Struktur. Eine C-Ähnlichkeit erkenne ich auch 
nicht wirklich, höchstens an den überflüssigen () bei if-Bedingungen, 
die mich bei C schon immer nerven. Das typische von C fehlt, begin und 
end gibts ja immer noch. Und warum ich mich schon immer gleich 
entscheiden muss, ob ich ein Register haben will oder nicht, erschliesst 
sich mir auch nicht.

Um wieder on-Topic zu werden: So sehr ich auf FPGAs mag, CPLDs sind 
nicht ganz nutzlos. Die Coolrunner, Mach&Co brauchen deutlich weniger 
Strom als ein FPGA. Zeitkritisches (Addressdekodierung, etc.) bekommt 
man damit deutlich einfacher als mit FPGAs hin. Aber die wirklich 
schönen Sachen gehen eigentlich nur mit FPGAs, von daher würde ich auch 
für den Anfang zu einem kleinen Board mit Spartan raten. Die Grösse ist 
da erstmal egal.

Meine Erfahrung basierend auf unzähligen Generationen von Studenten:
Die Module von http://www.oho-elektronik.de/index.php?c=1&s=gop_xc3s200 
sind  praktisch. Da ist alles drauf, was man zum Spielen braucht. So ein 
LED-Lauflicht geht damit recht schnell. Und für den Rest ist das 
DIL24-Format fürs Steckbrett sehr nützlich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.