Forum: FPGA, VHDL & Co. Newbie-Frage zu CPLD / FPGA


von Klaus Reimling (Gast)


Lesenswert?

Hallo!

Ich schreibe schon seit ein paar jahren Programme für div. Controller 
und hatte bisher immer, wenn ich Logik umsetzen musste diese im uC 
integriert oder ein TTL-Grab gebastelt.. ;)

Nun möchte ich meinen inneren Schweinehund überwinden und mich mal mit 
programmierbarer Logik beschäftigen. Hab schon etwas quergelesen. Bitte 
korrigiert mich, fals ich was falsch verstanden habe:

GAL: Veraltet, kann nur einfache Logik (und/oder) fassen

PAL: Veraltet, Im Prinzip das gleiche wie GAL, nur billiger und 1x 
programmierbar

PALCE: Veraltet, Weiterentwicklung von PAL

CPLD: Nachfolger vom GAL, beinhaltet auch FF

FPGA: im Prinzip das selbe, wie ein CPLD - Nur VIEL größer..

Stimmts?

Danke!

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

GALs enthielten auch FFs, aber max etwa 20 Stück (GAL600x), der Standard 
22V10 10 Stück.
CPLDs sind einfach größere GALs, so ab 32 FF aufwärts, aber fast 
gleicher Aufbau, ein AND-OR (-EXOR)-Eingangsnetzwerk, dann die D-FF und 
schließlich die Ausgangsverdrahtung. Am Eingang noch FF zur 
Synchronisierung.
FPGA ganz anderer Aufbau, kleinere Blöcke, meistens nur als flüchtiger 
Speicher programmiert, braucht dann ein Flash aus dem es beim 
Einschalten die Preogrammierung erst mal reinholt. Verzögerungen 
Eingang-Ausgang komplizierter vorherzusagen, CPLD und GAL hatten feste 
Wege, da war es einfacher.

von Der T. (Gast)


Lesenswert?

@Christoph:

"CPLD und GAL hatten feste Wege, da war es einfacher"

Wieso hatten? CPLD's sind doch noch garnicht so alt..
Sind von denen auch schonwieder welche abgekündigt?

Gruß,
Techniker

von Uwe Bonnes (Gast)


Lesenswert?

FPGAs brauchen dazu meist viel Infrastruktur ( 3 Spannungen, Jtag, 
Konfigurationsspeicher) und die Eingaenge sind nicht 5 Volt tolerant.
Aber wenn man mehr Logik braucht als ein XC9572XL, dann sollte man jetzt 
an einen XC3E denken.

von Mathias M. (0undnichtig)


Lesenswert?

Also die Speicher für die "Masken" der FPGAs ist nicht intern? Das dacht 
ich immer :-/

von Sven W. (woehlb)


Lesenswert?

Hallo Klaus,

PAL's und GAL's würde ich so generell nicht als veraltet bezeichnen.

CPLD's natürlich erst recht nicht. Diese besitzen zwar meist ähnliche 
Teilstrukturen wie die Standard PAL's und GAL's, diese Teilstrukturen 
werden aber über mindestens eine große Matrix verknüpft. Mittlerweile 
gibt es CPLD's die es mit ihrer Komplexität mit kleinen FPGA's aufnehmen 
können.

PAL's und GAL's gibt es nach wie vor von mehreren Hersteller z.B. von 
Lattice. Die moderneren Standard PAL's und GAL's von Lattice sind 
mittlerweile incircuite programmierbar (je nach Typ).

FPGA's bestehen aus sogenannten Makrozellen, die je nach Hersteller und 
Typ anders aufgebaut sein können. Grundsätzlich gibt es aber mehrere 
Möglichkeiten  wie diese Makrozellen die logischen Verknüpfungen 
realisieren. Bei Xilinx geschieht das in der Regel durch Lookup-Tables 
und ich glaube Altera war der Kandidat für Multiplexer. Der Aufbau der 
Makrozellen sollte immer im entsprechenden Datenblatt enthalten sein.

Bevor man einen programmierbaren IC einsetzt sollte man sich so ungefähr 
über die Komplexität klar sein. Es sollte sich schon lohnen 
(hinsichtlich des Platzbedarfes gegenüber TTL-Gräbern) einen der 
genannten IC's einzusetzen. Denn der Nachteil aller programmierbaren 
Baustein ist der im Verhältnis zu CMOS-Logikbausteinen hohe 
Stromverbrauch. Das gilt oft auch noch für sogenannte "Low-Power"-Typen.

Ob man einen PAL, GAL, CPLD oder FPGA einsetzt hängt, mal abgesehen von 
den elektronischen Parametern, von dem Einsatzzweck ab. Statemachines 
sind je nach Größe die Domaine der PAL's, GAL's oder der CPLD's. 
Controller Lösungen (SPI,I2C,CAN usw.) habe ich schon öfter als 
CPLD-Lösung gesehen. Rein logische Verknüpfungen lassen sich mit diesen 
Bausteinen natürlich auch realisieren. In wieweit das sinnvoll ist, muß 
von Fall zu Fall entschieden werden.

Zusätzlich zu den schon genannten Einsatzzwecken lassen sich mit FPGA's 
komplexe mathematische Probleme lösen. Aufgrund der Komplexität der 
FPGA's dürften in der Regel immer mehrere der genannten Komponenten im 
Design enthalten sein.

Das nur mal als kurzer Überblick.

Tschau Sven!

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Das "hatten" meinte ich auch mehr in der historischen Abfolge ihres 
Erscheinens. Aber es sind durchaus CPLDs verschwunden, die Lattice 
ispLSI der ersten Generation (etwa ab 1992) sind nur noch schwer zu 
beschaffen, ebenso die ersten Cool-Runner (bis 2001 gefertigt). Generell 
stirbt 5V-Logik allmählich aus.

von Sven Woehlbier (Gast)


Lesenswert?

Hallo Christoph,

je nach Nachfrage und wechselnder Technologie werden natürlich immer 
einzelne IC-Typen verschwinden.

Aber im Gegensatz zu einem Softwareentwickler verhält sich ein 
Hardwareentwickler nicht wie ein ideales Gas, und füllt jeden 
verfügbaren Raum aus. Das würde sonst direkt in die Hardwarekosten 
eingehen. Heißt, wenn ich nur eine kleine Statemachine brauche, ist ein 
CPLD total überdimensioniert.

Daher denke ich das es weiterhin einen Bedarf an PAL's bzw. GAL's geben 
wird, und wenn die Stückzahlen stimmen, wird es auch irgendwelche 
IC-Hersteller geben, die diesen Bedarf befriedigen. Welche 
IC-Technologie und welche Logikpegel dabei unterstützt werden, wird 
dabei auch wieder die Nachfrage regeln. Allerdings gebe ich Dir Recht, 
daß der Trend eindeutig in Richtung kleinerer Pegel wie LVTTL geht.

Tschau Sven!

von Falk (Gast)


Lesenswert?

Naja, wenn ich so sehe in welchen Gehäusen die GAls/Pals daherkommen 
(GROSS!!!) und was die für Strom ziehen (VIEL!!) da wird kaum ein 
Entwickler auf die Idee kommen, die in ein neues Produkt einzubauen. 
CPLDs mit 32 Macrozellen (und uA Strombedarf im Ruhezustand) gibs für 
weniger als einen Dollar. Da würde ich sagen, Gute Nacht my little GALs 
and PALs.

MfG
Falk

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.