Hallo, ich bin absoluter Anfänger auf dem Gebiet der Programmierbaren Logik. In welchen Zusammenhang stehen bei einem CPLD Makrozellen und zur Verfügung stehende I/Os ? Geht jeder I/O auf eine Makrozelle ?
Kommt drauf an. Normalerweise schon. Aber es können auch mehr Makrozellen sein, als IO (deutlich mehr). Eigentlich gibt es keinen direkten Zusammenhang Kest
Würde mich auch interessieren. Wie ist eine Makrozelle bei einem CPLD aufgebaut? Kann das jemand mit einfach Worten beschreiben? Vielleicht noch eine Zusatzfrage: Wann nimmt man in der Regel ein FPGA anstatt ein CPLD und umgekehrt? Danke für "einfache" Erklärungen. Mark
@Mark: "Wie ist eine Makrozelle bei einem CPLD aufgebaut?" Das kann sich je nach Chip ziemlich aendern, am besten schaut Ihr euch mal die Dokumentation zu einem CPLD an, da sollte es drin stehen. Im grunde ist eine Makrozelle ein kleiner 1-Bit breiter RAM, der als Lookup-Tabelle benutzt wird. Die Eingaenge entsprechen dann einer Addresse (4-Bit ist glaub ich ueblich, also 2**4=16-Bit grosser Ram), und im RAM ist an der stelle halt das resultierende Bit gespeichert. Damit lassen sich saemtliche kombinatorische Schaltungen mit 4 Eingaengen gestallten. Hinter dem Ausgang befindet sich dann generell ein Register. Dieses RAM-Register Paar ist grundausstattung, heufig gibt's dann auch noch Vorrichtung um effizient Ripple-Carry-Adders zu implementieren. "Wann nimmt man in der Regel ein FPGA anstatt ein CPLD und umgekehrt?" So weit ich weis hauptsaechlich wegen dem Groessenunterschied. Es gibt viel groessere FPGAs als CPLDs. Ich glaube die ereichbare Geschwindigkeit ist bei einem FPGA auch hoeher, da bin ich mir aber nicht sicher. CPLDs benutzt man wenn einem die Groesse reicht, da CPLDs Flash-basiert sind und somit keinen externen Speicher zur Konfiguration benoetigen. FPGAs muessen nach dem einschalten jedesmal neu Konfiguriert werden. So, ich hoffe das habe ich alles richtig aus meinen Vorlesungen behalten... Zen
Hallo Zen Ehoy Du hast es ein bisschen durcheinander gewürfelt. Deine erste Erklärung bezog sich auf ein Logikelement eines FPGA. Des weiteren beinhaltet jedes Logikelement FlipFlop Funktionalität. Bei einem CPLD werden die logischen Verknüpfungen durch eine Zweistufige (AND, OR) Logik gebildet. Die Eingänge der Makrozelle werden mit UND verknüpft und dann über ODER auf die Ausgängen. Bei einem CPLD hat man nur eine beschränkte Anzahl von FlipFlops. http://de.wikipedia.org/wiki/FPGA http://de.wikipedia.org/wiki/CPLD Holger
Hmm, interesant. Ich hab noch nie mit CPLDs gearbeitet, dachte aber nicht dass sie sich so stark von FPGAs unterscheiden. Ist gespeichert, danke ;) Zen
Ausserdem werden die CPLDs durch die Pin-to-Pin-Zeit charakterisiert und weniger durch die maximale Taktfrequenz charakterisiert wie die FPGAs. D.h. die Verwendung der CPLDs ist dort, wo die Daten mit einer begrenzten Verzögerung verarbeitet werden müssen, das sind meistens spezialisierte Signalverarbeitungssysteme. mfG, ejd
Hallo, der Hauptunterschied zwischen FPGA und CPLD ist der, dass bei einem CPLD alle Makrozellen an eine Verbindungsmatrix angeschlossen sind, die aber ab einer bestimmten größe zu ineffizient und langsam wird. Also gibt es noch den FPGA, wo sozusagen mehrere CPLDs drin sind die miteinander verbunden sind, das gibt mehr Effizienz, aber weniger flexibilität, da nicht mehr jede beliebige Makrozelle mit jeder verbunden werden kann, sie muss dann über mehrere Umwege verlaufen. Das ist eben wie beim Telefonnetz: ein paar Telefone können direkt übers Netzwerk verbunden werden, aber bei millionen Telefonen gibt es Ortsvermittlungsstellen die dann über Leitungen mit wieder übergeordneten Stellen Verbunden sind... Sind da alle Zwischenleitungen belegt kann keine Verbindung mehr hergestellt werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.