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!
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.
@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
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.
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!
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.
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!
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