Diskussion:Complex Programmable Logic Device
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)
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 (Diskussion • Beiträ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 (Diskussion • Beiträ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)
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 (Diskussion • Beiträ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)
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 (Diskussion • Beiträge) 08:21, 9. Sep. 2008)
- Ich habe auch keine Ahnung was das Bedeuten soll. --Moritzgedig (Diskussion) 13:35, 19. Nov. 2013 (CET)
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)
- 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:
- 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.
- 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)
- 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)
- Ohne jede Form der Statistischenerhebung vermute ich, dass die überwiegende Mehrheit aller CPLDs genutzt werden um: 1. Komplexe Kombinatoriken zu verwirklichen 2. (Als) Endliche-Automaten (beschriebene Schaltungen) zu realisieren. Sollte diese Vermutung einen hohen Wahrheitsgehalt haben, muss sie in irgendeiner Form in den Artikel finden. Die Frage "Was wird damit gemacht?" halte ich für sehr relevant. --Moritzgedig (Diskussion) 18:43, 5. Dez. 2013 (CET)
- Bei CPLDs (der Firma Xilinx) ist, egal wie das Design aussieht, die kombinatorische Laufzeit von Pin-Pin immer exakt gleich. Bei FPGA ist die Laufzeit stark vom Design anhängig und unter anderem vom internen Place/Route im FPGA abhängig - im einfachsten Fall von nur kombinatorischen Pfaden ohne D-FFs. Aber auch mit D-FFs ist eine statische Timinganalyse wie bei (synchronen) FPGA-Designs so beliebt und wichtig, ist bei CPLDs aufgrund der Struktur erst gar nicht möglich bzw. dieses Umstandes wegen auch gar nicht nötig.
- Das mit den "Komplexe Kombinatoriken" stimmte sicher in den 1990. Da waren einige 1000 Gatter und einige 100 Flipflops schon komplex. Heute ist in einem größeren FPGA von z.B. Xilinx der 7er Serie oder auch 6er derart große Arrays drinnen, das sind einige Zehnerpotenzen mehr, da lassen sich "gewaltig große" kombinatorische Logiken (samt FFs und Speicher) einbringen, dass da kein CPLD in der Größe auch nur annähernd mithalten kann. Die Bezeichnung des "C" für Complex bei CPLDs ist geschichtlich (1980/1990er Jahre) zu sehen, als das aus dem Bereich der PLAs/PALs/GALs heraus entstanden ist. Ansich Geschichte. CPLDs werden (z.b. bei Xilinx) heute nicht mehr aktiv weiterentwickelt, sind "mature" (bzw. tlw. abgekündigt, wie größere Teile der 95xx serie) CPLDs wie z.B. die ehemaligen Philips-CoolRunner sind nur noch deswegen am Markt, weil es für kleinere Logiken (sogenannte "clue-logic") nach wie vor Anwendungsfelder gibt. Die Produktlebenszeit vergeht im Halbleitersektor recht schnell. Und die Komplexitäten nehmen Aufgrund der (noch) annähernd exponetiellen Steigerung schnell zu.--wdwd (Diskussion) 19:48, 14. Dez. 2013 (CET)
- Für die CPLDs von Altera treffen die meisten Deiner Aussagen nicht zu. Bei den MAX* hängt das Timing durchaus von der durch die Programmierung bestimmten Verschaltung ab. Siehe AN629: Understanding Timing in Altera CPLDs. Außerdem werden die CPLDs von Altera noch weiter entwickelt. MAX V hatte seine Markteinführung in 2010. (Die Verbindung zwischen zwei größeren Bausteinen heißt übrigens "glue logic", von "glue" = "Leim") ---<)kmk(>- (Diskussion) 04:40, 1. Jan. 2014 (CET)
Redundanz mit anderen Artikeln teilweise gegeben
Redundanz/Überschneidungen bzw. Gleichheit der Technologie besteht zwischen folgenden Artikeln mindestens teilweise wenn nicht ganz:
- 1) Gate Array/ULA
- 2) Programmierbare logische Anordnung
- 3) Programmable Array Logic(PAL und GAL)
- 4) Programmable Read-Only Memory
- 5) Complex Programmable Logic Device
- 6) Field Programmable Gate Array
- 5) One Time Programmable (Oberbegriff dieser IC-Gruppen)
nirgendwo her gibt es hier mal eine Zusammenfassung der Zusammenhänge und die von mir in 1) erstellte wurde gelöscht. Weiter so. Warum wurden meine Literaturangaben in 1) gelöscht? Übrigens beschreiben 1) und 2) exakt die gleiche Technologie. Praktisch müssten die Artikel 1) 2) und 3) zusammengeführt werden. Aber das ist ja nur meine Meinung als Wiki-laie. grüße, Michael --2003:DF:4F02:B987:D46B:A6D4:7E56:B669 14:36, 21. Nov. 2019 (CET)--
Info zur Redundanzdiskussion
Hallöle noch mal. Laut Prof.Böhmer(Elemente der angewandten Elektronik, 15.Auflage 2007, S.418 sind PAL, GAL und CPLD Weiterentwicklungen oder parallele Entwicklungen der Gruppe der Programmierbaren Logikbausteine PLD (Programmable Logic Device)! GAL´s sollen die Weiterentwicklung der PAL`s sein. Die CPLD`s sind Weiterentwicklungen der GAL´s die aber einen grundsätzlich anderen Aufbau haben. Die ISP-Technologie ist eine In-System-Programmierung bei den neueren GAL´s und CPLD`s von Lattice. grüße, Michael --2003:DF:4F02:B987:D46B:A6D4:7E56:B669 14:55, 21. Nov. 2019 (CET)--