T
Thomas Pototschnig
Guest
Hallo - weiß jemand den Unterschied zwischen FPGA und CPLD? Ich hab schon
gesucht aber nichts gefunden ...
gesucht aber nichts gefunden ...
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
FPGA: Viele Flipflops mit relativ mageren Logikressourcen pro FlipflopHallo - weiß jemand den Unterschied zwischen FPGA und CPLD? Ich hab schon
gesucht aber nichts gefunden ...
wenigen Eingängen, die über mehrere Stufen regelrechtHallo - weiß jemand den Unterschied zwischen FPGA und CPLD? Ich hab schon
gesucht aber nichts gefunden ...
FPGA: Typischerweise konfigurierbare Logikelemente mit relativ
In erster Näherung sind Fpgas grösser und komplexer aber auchThomas Pototschnig schrieb:
Hallo - weiß jemand den Unterschied zwischen FPGA und CPLD? Ich hab schon
gesucht aber nichts gefunden ...
Kannst du bitte erklären was du damit meinst? IdR verwendet man beiFPGA: Viele Flipflops mit relativ mageren Logikressourcen pro Flipflop
(z.B. nur 4 oder 5 Eingänge)
Ich würde als Unterschied ansehen, dass ein CPLD üblicherweiseCPLD: Relativ wenige Flipflops mit viel Logik
Das geht durchaus, wenn man keine Technologie hat in der Logik durchIn der Konsequenz gehen einem im CPLD typischerweise zuerst die
Flipflops aus, im FPGA schafft man das kaum.
Das "oft" und "typisch" sind IMHO eine Entscheidung des Marktes undFPGAs sind oft SRAM-basiert und müssen "gebootet"werden, während das
typische CPLD nichtflüchtig ist.
Ich meine damit, daß man bei CPLDs am Eingang jedes FF wesentlich mehrStefan Heinzmann <stefan_heinzmann@yahoo.com> wrote:
FPGA: Viele Flipflops mit relativ mageren Logikressourcen pro Flipflop
(z.B. nur 4 oder 5 Eingänge)
Kannst du bitte erklären was du damit meinst? IdR verwendet man bei
Fpgas
komplexe Logikblöcke mit 3-5 Eingängen und einem Ausgang die alle
Logikfuntionen nachbilden können. Eine Konvention, dass am Ausgang
jedes Logikblockes ein FF sein muss, gibt es aber nicht, auch wenn das
bei Xilinx so ist.
Es gibt inzwischen doch etliche CPLDs, bei denen ein guter Teil derCPLD: Relativ wenige Flipflops mit viel Logik
Ich würde als Unterschied ansehen, dass ein CPLD üblicherweise
Pin->PLA-> [FF->] PIN aufgebaut ist. Bei neueren CPLDs sind Schleifen
zwischen den Pins erlaubt, allerdings nicht in beliebiger Variation.
Beim FPGA hat man (nahezu) jede beliebige Anordnung von Logik und FF
zwischen den Pins. Eine mehrstufige Pipeline in CPLDs halte ich nicht
für realistisch.
Korrekt.Üblicherweise haben Fpgas längere Laufzeiten zwischen den Pins, mehr
Pins, mehr FF und eine langsamere Logik, da die Logik üblicherweise
mehrstufig ist, wohingegen die PLA ja nur zweistufig ist.
Das habe ich jetzt nicht kapiert. Ist es nicht gerade andersrum?In der Konsequenz gehen einem im CPLD typischerweise zuerst die
Flipflops aus, im FPGA schafft man das kaum.
Das geht durchaus, wenn man keine Technologie hat in der Logik durch
FF ersetzt werden kann 8(.
Oliver Bartels hat schon ausgeführt, daß es durchaus technische GründeFPGAs sind oft SRAM-basiert und müssen "gebootet"werden, während das
typische CPLD nichtflüchtig ist.
Das "oft" und "typisch" sind IMHO eine Entscheidung des Marktes und
hat wenig bis keine technischen Gründe.
Ich meine damit, daß man bei CPLDs am Eingang jedes FF wesentlich mehr
Eingangssignale verknüpfen kann. Das liegt natürlich an der
PLA-Struktur. Beim Xilinx XC9500 zum Beispiel hat man die Möglichkeit,
36 Signale zu verknüpfen, um den D-Eingang eines FF zu versorgen. Das
erlaubt natürlich viel komplexere Logik als die 3-5 Eingänge bei einem
FPGA-Logikblock. Man wird dafür im FPGA mehrstufig arbeiten müssen,
wodurch natürlich die Laufzeiten ansteigen.
Und, schon so ein Teil gekauft? Sind die nach jahrelanger AnkündigungHallo,
"Marc Keller" <marc.keller2@web.de> writes:
Allerdings kann man sich aber dafür mit CPLDs auch keinen
eigenen Prozessor zusammen basteln, etwas, das mit FPGAs (die größeren
klar) ohne weiteres machbar ist.
Hat sich schon mal jemand so tief reingewagt und so was realisiert ?
Gar nicht mehr notwendig, die neuen Xilinx haben sogar einen
PowerPC-Core onboard.
Gar nicht mehr notwendig, die neuen Xilinx haben sogar einenAllerdings kann man sich aber dafür mit CPLDs auch keinen
eigenen Prozessor zusammen basteln, etwas, das mit FPGAs (die größeren klar)
ohne weiteres machbar ist.
Hat sich schon mal jemand so tief reingewagt und so was realisiert ?
Bitte? Da Timingverhalten lässt sich genauso gut vorhersagen. Wenn du"Stefan Heinzmann" <stefan_heinzmann@yahoo.com> schrieb:
Ich meine damit, daß man bei CPLDs am Eingang jedes FF wesentlich mehr
Eingangssignale verknüpfen kann. Das liegt natürlich an der
PLA-Struktur. Beim Xilinx XC9500 zum Beispiel hat man die Möglichkeit,
36 Signale zu verknüpfen, um den D-Eingang eines FF zu versorgen. Das
erlaubt natürlich viel komplexere Logik als die 3-5 Eingänge bei einem
FPGA-Logikblock. Man wird dafür im FPGA mehrstufig arbeiten müssen,
wodurch natürlich die Laufzeiten ansteigen.
Ergänzend würde ich noch erwähnen, das das Timingverhalten
bei den FPGAs aufgrund der von Dir genannten Dinge
ziemlich schwer bis gar nicht genau vorraussagbar ist.
Dazu braucht es keinen grossen FPGA. Ein 8-16 Bit Risc mit wenigDas ist wiederum der Vorteil bei den "einfacher" aufgebauten CPLDs.
Da ist es recht genau vorrauszuberechnen.
Ist eben nur Logik mit der programmierbaren AND Matrix, der festen ODER
Matrix und den ggf. nachgeschalteten FFs. Das läßt sich gut berechnen.
Allerdings kann man sich aber dafür mit CPLDs auch keinen
eigenen Prozessor zusammen basteln, etwas, das mit FPGAs (die größeren klar)
ohne weiteres machbar ist.
Hat sich schon mal jemand so tief reingewagt und so was realisiert ?
FULL ACK.Thomas Stanka schrieb:
Stefan Heinzmann <stefan_heinzmann@yahoo.com> wrote:
Ich meine damit, daß man bei CPLDs am Eingang jedes FF wesentlich mehr
Eingangssignale verknüpfen kann. Das liegt natürlich an der
PLA-Struktur. Beim Xilinx XC9500 zum Beispiel hat man die Möglichkeit,
36 Signale zu verknüpfen, um den D-Eingang eines FF zu versorgen. Das
erlaubt natürlich viel komplexere Logik als die 3-5 Eingänge bei einem
FPGA-Logikblock. Man wird dafür im FPGA mehrstufig arbeiten müssen,
wodurch natürlich die Laufzeiten ansteigen.
Na dann bau mal eine 64-Bit Multiplikation im CPLD direkt auf .Aber es stimmt: Pipelines sind eher eine FPGA-Domäne, zum einen weil sie
FF-hungriger sind, zum anderen weil man damit bei FPGAs die kurzen
Laufzeiten erreichen kann, die bei CPLDs auch direkt erreichbar sind.
Doch ist andersherum, sollte irgendwie meine Mails genauer KorrekturDas geht durchaus, wenn man keine Technologie hat in der Logik durch
FF ersetzt werden kann 8(.
Das habe ich jetzt nicht kapiert. Ist es nicht gerade andersrum?
Oliver beschreibt ein SRAM-basiertes FPGA mit integriertem Flash stattFPGAs sind oft SRAM-basiert und müssen "gebootet"werden, während das
typische CPLD nichtflüchtig ist.
Das "oft" und "typisch" sind IMHO eine Entscheidung des Marktes und
hat wenig bis keine technischen Gründe.
Oliver Bartels hat schon ausgeführt, daß es durchaus technische Gründe
gibt. Aber es stimmt natürlich auch daß es eine Marktentscheidung ist.
Ein viel grösseres Problem ist nicht das umlöten, sondern die TasacheEs gibt z.B. bei den FPGAs auch einmal programmierbare Varianten, die
auf einer Fuse- oder Antifuse-Technik beruhen. Diese sind aber bei
weitem nicht so verbreitet wie die SRAM-basierten Typen, wahrscheinlich
weil das Auswechseln des Chips bei heutigen IC-Gehäusen immer
problematischer wird und daher in der Entwicklungsphase unpraktisch ist.
[...]"Marc Keller" <marc.keller2@web.de> wrote:
Mit (z.B. bei XC2S200) einem Jitter unter 60ps.Ergänzend würde ich noch erwähnen, das das Timingverhalten
bei den FPGAs aufgrund der von Dir genannten Dinge
ziemlich schwer bis gar nicht genau vorraussagbar ist.
Bitte? Da Timingverhalten lässt sich genauso gut vorhersagen. Wenn du
einigermassen weisst was du tust und die Technik kennst, kannst du
schnell abschätzen viele Stufen deine Logik hat. Nach Synthese und
Layout bekommst du das genaue Timing.
Bitte? Da Timingverhalten lässt sich genauso gut vorhersagen. Wenn du
einigermassen weisst was du tust und die Technik kennst, kannst du
schnell abschätzen viele Stufen deine Logik hat. Nach Synthese und
Layout bekommst du das genaue Timing.
Das mit dem Opteron war just kidding!Nur deinen Opteron mit vielen Mio Gattern und >1GHz bekommst du so
schnell in kein FPGA.
bye Thomas
er meinte nach Synthese und p&r. Normalerweise gibt Abschätzungen die"Thomas Stanka" <usenet_10@stanka-web.de> schrieb
Bitte? Da Timingverhalten lässt sich genauso gut vorhersagen. Wenn du
einigermassen weisst was du tust und die Technik kennst, kannst du
schnell abschätzen viele Stufen deine Logik hat. Nach Synthese und
Layout bekommst du das genaue Timing.
Woher willst du denn genau wissen wie, wo und genau mit welchen
dieser Logik-Stufen es die Software im FPGA implementiert ?
Aber nach dem place and route steht exakt fest was wo wie codiert ist,
und wie es miteinander verbunden ist. Und dafür existeren genaue Werte
der Hersteller. Schau dir z.B. mal
http://direct.xilinx.com/bvdocs/publications/ds003-3.pdf
Seite 14/24 an.
(habe ich gerade zufälligerweise im Browser offen, weil ich es für
eine Implementation benötigte, gibt auch bei jedem anderen Hersteller
so etwas).
Da siehste beispielsweise genau wie lange ein Signal von ein
Logikblockeingang bis zum Ausgang braucht. Deine Software handelt dass
dann für dich, und kann dir sehr genaue Abschätzungen geben, was
machbar ist und was nicht.