In einer der Klausurfragen taucht folgende Frage auf. Ich bin mir bei der Frage unsicher. Kennt jemand die Antwort ? CPLDs sind zwar kleiner, dafür aber generell schneller als FPGAs! Richtig oder falsch ?
nein! kommt auf soviele faktoren drauf an... cplds und fpgas vergleichen ist so wie auto mit motorrad .. beide dienen zur fortbewegung und können schnell oder langsam sein aber sie sind doch unterschiedlich und für unterschiedliche anwendungen ... genauso wie der vergleich fpga und dsp .. haben eigentlich auch nix gemeinsam ...
kommt auf den cpld drauf an... klassiche cpld's haben ja nur eine AND/OR matrix das wars... da hast du deterministische signallaufzeiten im einstelligen ns bereich...die sind quasi immer schneller als ein fpga, der intern eine wesentlich komplexere logik besitzt.. heutzutage werden aber oft kleine fpgas als "cpld-ersatz" beworben..da kann man so eine aussage dann nicht mehr treffen weil der übergang fließend ist..
Richtig moderne CPLDs gibts ja eigentlich kaum noch. Die modernen "CPLDs" sind meist kleine FPGAs, die nur so genannt werden. Daher haben die noch existierenden CPLDs schon wegen der Strukturgrößen einen Nachteil...
Grendel schrieb: > Daher haben die noch existierenden CPLDs schon wegen der Strukturgrößen > einen Nachteil... und der wäre ?
Die kleineren Transistoren schalten schneller. Moderne FPGAs liegen bei Verzögerungszeiten im 50 - 1000ps Bereich, je nachdem was man genau in einem Logikblock nutzt. Auch die I/Os sind rattenschnell. Ja ich weiss da kommen noch die Routingressourcen und alles mögliche dabei, aber wenn man nur ähnlich viel Logik wie in einem CPLD nutzt und alles so dicht wie möglich an einer I/O Bank festnagelt... naja müsste man mal ausprobieren wie schnell so ein Kintex-7 werden kann ;-)
Studi schrieb: > Richtig oder falsch ? Falsch. 123 schrieb: > Grendel schrieb: >> Daher haben die noch existierenden CPLDs schon wegen der Strukturgrößen >> einen Nachteil... > und der wäre ? Je gröber die Struktur um so langsamer. Mit 100nm ist ein Baustein automatisch langsamer als mit 35nm. CPLDs sind alt und grob... > wäre ? > falsch ? Bitte nicht Plenken ! Das gibt immer wieder so unnötig hässliche Zeilenümbrüche !
ganz zu schweigen von den seriellen Links, die in FPGAs stecken mit denen man Taktraten weit über 10GHz fahren kann. Kann das ein CPLD auch?
Ok, wenn das also nicht zählt. Ich denke, wenn man einen Eingang statisch auf einen Ausgang routet, sind beide ähnlich schnell. Das zählt doch, oder?
Nase schrieb: > Ich denke, wenn man einen Eingang statisch auf einen Ausgang routet, > sind beide ähnlich schnell. > > Das zählt doch, oder? Wenn ich zwei Pins nebeneinander wähle, dann würde ich sagen, dass der FPGA schneller ist. Verwende ich aber ein Pin-Pärchen in OstWest Ausrichtung (also einer links am Gehäuse, den anderen rechts), dann würde ich sagen, dass der CPLD schneller ist, da er viel kleiner ist und dadurch kleinere Signalwege zurückführen muss. vilex schrieb: > cplds und fpgas vergleichen ist so wie auto mit motorrad Meiner Meinung nach ist das nur wieder so eine "Professortheoretische" Frage mit zick richtigen antworten. Die Frage kann man nur beantworten, wenn die Rahmenbedingungen gesetzt sind. Studi schrieb: > In einer der Klausurfragen [...] Hat der Professor diese Frage zwischen den Zeilen in seinem Skript beantwortet? Hat er dies in der Vorlesung mal erwähnt? Du hast du Klausur, gibt es da keine Lösung dazu? Was sagen Komilitonen dazu?
die Frage war: Studi schrieb: > CPLDs sind zwar kleiner, dafür aber generell schneller als FPGAs! > > Richtig oder falsch ? Da nach einem generellen Geschwindigkeitsvorteil gefragt war, ist die Antwort darauf eindeutig "falsch".
> CPLDs sind zwar kleiner, dafür aber generell schneller als FPGAs! Ja, es kommt nat. immer auf die konkrete Anwend. an. Bei manchen Anwend. (ua mit sehr breiter Eingängen könnte auch heute noch CPLD schneller sein (da man beim FPGA viele LUTs (hintereinander)verschalten muss). Die neusten MACH.. haben durchl-verz von ca 3,5ns.
MCUA schrieb: > Die neusten MACH.. haben durchl-verz > von ca 3,5ns. So wie du das schreibst, nehme ich an, dass das ein Beispiel für die Geschwindigkeit eines CPLDs ist. Du musst bei Lattice aber aufpassen. Die MachXO* sind FPGAs (bestehen aus LUTs), die ispMACH 4000 Familie sind richtige CPLDs (bis hinunter zu 2,5 ns Propagation delay)
>Du musst bei Lattice aber aufpassen.
Wieso?
MACH4 (echte PLDs, 400MHz-Cnt, urspr. noch von AMD) sind keine MACHXO*
(mit LUTs)
Fiese Frage.. Also dass moderne CPLDs eig nur kleine FPGAs sind, meint der Prof sicher nicht erstmal würde die Frage denn tatsächlich lauten fpgas sind schneller als fpgas! Richtig?... Profs leben meistens im gestern. Ein Prof von mir stellte kürzlich den Spartan 3 als moderne technologie vor. ... trotzdem würde ich die frage mit nein beantworten... ein klassischer cpld hat eine vorhersagbare laufzeit ein fpga nicht kann also schneller oder langsamer sein.. so vermute ich ist die frage gemeint.
marco schrieb: > ein klassischer cpld hat eine vorhersagbare laufzeit Aber auch nur, wenn der Produktterm direkt am Pin hängt. Muss er aber nicht: CPLDs haben meist mehr Produktterme als Pins...
> ein klassischer cpld hat eine vorhersagbare laufzeit
Jedes PLD/FPGA hat eine vorhersagbare Laufzeit, wenn man die genaue
Beschaltung betrachtet. Bei PLDs ist halt der Punkt, die sehr breite
Eingangsmatrix (wodurch bei mehr oder weniger Eingängen immer die
gleiche Laufzeit resultiert) bzw die sehr leistungsfähige (aber teuere)
MAC-zelle.
...aber (wie oben schon erwähnt) eigentl kalter Kaffe (Sil.Fläche steigt
quadratisch mit Anzahl der MACs, deswegen sehr teuer).
Ja ihr habt recht... aber wird die frage so kompliziert gestellt sein? Wenn ja, denn gäbe is sicher nicht nur richtig oder falsch sondern eine begründung wäre nötig. Es kommt auch auf die vorlesung an. Digitaltechnik, wo evtl. Mal 30 min über diese technologien gesprochen wird, oder ein masterkurs, wo ein ganzes semester bis ins kleinste detail darauf eingegangen wird....
Na dann begründe ich mal was: Bei CPLD's hat es vor jedem Flipflop ein AND/OR-Gate mit zumeist recht riesigen AND's. Wenn ich mich recht erinnere, dann z.B. bei den Coolrunnern so um die 30..40-fach AND's. Bei FPGA's geht das alles ganz anders, da hat man LUT's, also kleinere Logikzellen mit jeweils nur 4..6 Eingängen. Das schafft Flexibilität, aber muß man eine größere Zahl von Eingängen miteinander kombinieren, dann muß man mehrere LUT's kaskadieren, wodurch die Durchlaufzeiten sich addieren. Besonders einprägsam ist das bei großen synchronen Zählern, wo ja jede Stufe den Zustand ihrer Vorstufen beachten muß - nur wenn alle Vorgänger auf high stehen, darf sie beim Takt umschalten. Das ist bei einem CPLD in einem Rutsch und mit nur einer Gatterlaufzeit machbar, solange die AND's ausreichen. Beim FPGA ist das anders (s.o.), weswegen FPGA's öfters einige Spezial-Logiken eingebaut haben (PLL's, Akkus, Multiplizierer usw.), damit solche kritischen Stellen nicht in gewöhnlichen LUT's ausgeführt werden müssen. Ganz grob formuliert heißt das: CPLD's sind kleiner und dafür schneller als FPGA's - sofern sie aus vergleichbaren Technologien stammen. W.S.
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.