Zum Inhalt springen

Diskussion:Complex Programmable Logic Device

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Dezember 2013 um 13:26 Uhr durch 194.175.222.237 (Diskussion) (Nicht jeder FPGA muss nach dem Start konfiguriert werden). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Letzter Kommentar: vor 11 Jahren von 194.175.222.237 in Abschnitt Nicht jeder FPGA muss nach dem Start konfiguriert werden

Da hat sich der Fehlerteufel eingeschlichen

Im Artikel steht „1978 kamen die ersten vollständig konfigurierbaren Logikbausteine namens PLA (Programmable Logic Array) mitsamt Programmiersprache PALASM auf den Markt.“ Wie der Name PALASM schon sagt, handelte es sich dabei nicht um PLAs sondern um PALs, welche anders aufgebaut sind als PLAs. Vor allem sind sie nicht vollständig konfigurierbar(nur das AND-Array ist programmierbar). Als erster vollständig konfigurierbaren Logikbaustein bzw. PLD wird in den meisten Quellen das FPLA 82S100 von Signetics, welches 1975 entwickelt wurde, genannt. Kann bitte jemand diesen Fehler korrigieren. Ich wundere mich ein bisschen, wie das so lange unentdeckt bleiben konnte. Oder liegt der Fehler vielleicht bei mir? --78.94.242.26 06:38, 4. Feb. 2009 (CET)Beantworten

Was ist eine Makrozelle?

In den Datenblättern von Xilinx taucht in bezug auf CPLDs der Begriff der Makrozelle auf... Das soll eine logische verküpfung von Or & AND - Gattern auf ein FlipFlop sein. Ich finde das könnte/sollte hier erwähnung finden. Leider bin ich in die Materie noch nicht ausreichend eingearbeitet um den Artikel zu erweitern.....

Meine Frage wäre: Was ist eigentlich jetzt eine Makrozelle genau und kann ich einzellne Makrozellen miteinander verknüpfen und muss mich das beim programmieren von CPLDs überhaupt interessieren und wie finde ich vorher herraus wie grß mein CPLD überhaupt sein muss und gehört das überhaupt hierher??????? (Der vorstehende, nicht signierte Beitrag – siehe dazu Hilfe:Signatur – stammt von 82.210.249.9 (DiskussionBeiträge) 15:28, 13. Dez. 2005)

PLD ist Überbegriff aller programierbaren Logikelemente

CPLD ist nicht einfach ein grösseres PLD. PLD ist nur der Überbegriff für sämtliche programierbare Logikelemente. CPLD's, SPLD's und auch FPGA's sind PLD's, egal wieviele verfügbare Gatter sie aufweisen. (Der vorstehende, nicht signierte Beitrag – siehe dazu Hilfe:Signatur – stammt von 84.159.44.101 (DiskussionBeiträge) 14:45, 21. Dez. 2005)

Es gibt verschiedene Definitionen für den Begriff PLD. Wenn man genügend Literatur zu dem Thema durchgearbeitet hat, weiß man das. Einer davon ist der, der im Beitrag über mir genannt wurde. Manchmal verwendet man die Bezeichnung PLD auch zusammenfassend für PLA, PAL und GAL um diese dann besser von CPLD und FPGA abgrenzen zu können. Seltener werden mit PLDs auch die Vorgänger der ersten PLAs bezeichnet. Außerdem kann mit PLD auch ein Baustein gemeint sein, der mehrmals programmierbar, also rekonfigurierbar ist.--78.94.242.26 06:28, 4. Feb. 2009 (CET)Beantworten

Nicht jeder FPGA muss nach dem Start konfiguriert werden

"[...] Unterschied zu den FPGAs ausmacht. Ein weiterer Unterschied ist die Konfiguration, [...] bleibt nach der Konfiguration das Programm im CPLD und muss nicht bei jedem Start neu geladen werden."

Das Konfigurieren beim Start ist keine grundlegende Eigenschaft von FPGAs. Z.B. Actel fertigt auch FPGAs, die auf Flash basieren und somit auch nicht flüchtig sind. Dementsprechend sollte dies nicht als Unterscheidungskriterium zwischen FPGAs und CPLDs dienen (falls, wie oben besprochen, überhaupt ein realer Unterschied existiert). (Der vorstehende, nicht signierte Beitrag – siehe dazu Hilfe:Signatur – stammt von 137.193.64.135 (DiskussionBeiträge) 16:14, 21. Dez. 2006)

auch die sind nach dem Start erst mal zu konfigurieren! Aus dem internen Flash geht es bisweilen schneller, als aus einem externen, aber die Grundeigenschaft, dass erstmal das FGPA "nicht vorhanden ist" = hochohmige ausgänge hat, weil es einige ms lang konfiguriert wird, bleibt. Bei PLDs ist das nicht so. Die arbeiten vom ersten Moment des Einschaltens. 194.175.222.237 12:26, 5. Dez. 2013 (CET)Beantworten

Eigenspezifisch?

Was soll dieses Wort bedeuten? Google findet nur sehr wenige Treffer (unter 20), und weder Brockhaus noch Duden finden es in ihren Werken. Ich vermute hier mal einen eingedeutschten Anglizismus. Leider kenne ich die Materie nicht gut genug, um ein besseres Wort dafür zu finden.

Alex. (Der vorstehende, nicht signierte Beitrag – siehe dazu Hilfe:Signatur – stammt von 212.77.163.120 (DiskussionBeiträge) 08:21, 9. Sep. 2008)

Ich habe auch keine Ahnung was das Bedeuten soll. --Moritzgedig (Diskussion) 13:35, 19. Nov. 2013 (CET)Beantworten

CPLD \ FPGA

Die Abgrenzung müsste noch besser werden.

Eigenschaft CPLD FPGA
Zellen Eingänge >>4 3-6
Eingänge pro FF >>4 2-3
Übertrag-Leitung nein ja
Schieberegister nein ja
Mehrstufiges Verbindungsnetz (Lokal + Global) nein ja
Verbindungsnetz Matrix Kanal
Mögliche Logiktiefe gering hoch
Freiheitsgrade gering hoch
Logik Basis PLA LUT
Maximale Taktrate in 201x 250 MHz 1 GHz

Das mag so nicht richtig sein, aber etwas in der Art muss her. Die Grenze zwischen CPLD und FPGA verschwimmt immer mehr. Mittlerweile gibt es CPLDs mit LUTs und mehreren Verdrahtungsnetzen. Bei einem Altera MAX-V CPLD kann ich keinen Unterschied zu einem FPGA mehr erkennen. --Moritzgedig (Diskussion) 13:26, 19. Nov. 2013 (CET)Beantworten

Die Abgrenzung ist meiner Beobachtung primär durch die Produktpalette von Xilinx (Marktführer) motiviert und deren technische Entwicklung seit Mitte der 1980er Jahre. Abseits obiger Punkte liesse sich noch weitere Unterschiede angeben:
  1. CPLD haben eine fixe und starr vorhersagbare Durchlaufzeit von Pin-zu-Pin (kombinatorischer Pfad ohne FF von Eingangspin zu Ausgangspin), vom CPLD-Typ abhängig. Während bei FPGA durch das Array eine solch eine Timingbeziehung nur mit kombinatorischen Pfad ohne FFs zwischen Eingangs- zu Ausgangspin stark vom Design/Routing/Constraints auf einzelnen Netzen abhängt.
  2. Die Konfiguration von CPLDs kann technologisch direkt in Flash-Zellen (innerhalb der Logikzellen) erfolgen, da kleiner/langsamer. Bei FPGA sind das (fast) immer SRAM-Zellen, da technologisch im Halbleiter nur schwer flash-zellen mit schnellen CMOS-strukturen kombinierbar sind (Prozessproblem). Vorallem bei größeren und schnelleren FPGA-Bausteinen sind es fast ausschliesslich SRAM-config. Die SRAM-configzellen werden aus einem internen/externen Flash nach dem Powerup geladen. Aber auch hier gibt es Überschneidungen, z.B. kleinere FPGAs von Actel die mit Flash-Zellen oder Fuses für die Konfiguration arbeiten.
Diese Einteilung CPLD-FPGA und deren Grenzen hängt stark von den paar Anbietern (Xlinix, Altera, Actel, Lattice und ein paar weitere kleinere) und deren Produktspektren ab. Diese Unterteilung CPLD/FPGA ist nichts Grundsätzliches, sondern eher etwas Künstliches und durch den Markt bestimmtes. Daher würde ich dieser Einteilung nicht sooo viel beimessen.--wdwd (Diskussion) 19:59, 2. Dez. 2013 (CET)Beantworten
Die Entwicklungsgeschichte ist doch aber eine ganz andere. Bei FPGAs war es von Anfang an die Idee kleine Logiken stark zu vernetzen um alles damit machen zu können. Bei CPLDs war es eher eine Evolution von reiner Kombinatorik zu Logik mit Feedback-Registern zu mehreren Logik Blöcken die verschaltet werden können. Ich sehe da einen Unterschied. Das mit der festen Durchlaufzeit verstehe ich nicht. Ein FPGA hat auch eine deterministische Durchlaufzeit die vom Programm nach dem P&R recht genau geschätzt wird. Wenn man ein CPLD wie vorgesehen innen verschaltet, ist es auch nicht mehr einfach eine starre Schaltung zwischen den Pins wie bei einem PLA, PAL. --Moritzgedig (Diskussion) 23:28, 4. Dez. 2013 (CET)Beantworten