Überblick, Einschätzung der Möglichkeiten von CPLD/FPGA

Gast #1597928
Lesenswert?

Hallo,

nachdem ich mich schon seit Jahren mit Mikrocontrollern beschäftige 
möchte ich jetzt mal etwas in Richtung programmierbare Logik gehen.

Im Laufe der Zeit haben sich einige ispLSI/Mach4A3 CPLDs von Lattice, 
mehrere XC30xx und einen Spartan 2 angesammelt, die alle von 
ausgemusterten Platinen stammen.

Geplant habe ich eine kleine DSO/LA Schaltung, was ja beim Digitalteil 
mehr oder weniger auf's gleiche hinausläuft: 8 oder 16 bit Pakete an 
SRAM legen, Adressen hochzählen und wenn der Speicher voll ist die Daten 
an einen Controller übergeben und an den PC oder auf ein LCD schicken.
Bei der Samplingrate habe ich erstmal max. 50 MHz im Sinn.
Wenn das alles klappen sollte könnte ich mir vorstellen daraus dann auch 
ein einsatzfähiges Gerät zu machen... erst mal klein Anfangen.

Adresszähler von Quarzoszillator evt. nach einem wählbaren Teiler, 
Ansteuern eines SRAMs und versenden der Daten per SPI wäre eine gute 
Aufgabe für einen CPLD, oder?
Nur fehlt mir eben jedes Gespür für den Aufwand einer solchen Umsetzung 
und der Anforderung an Makrozellen, Registern etc. Was "passt" in 128 
Makrozellen? Was kann man mit 50k Gates anfangen?

Mir wäre sehr geholfen wenn ihr mir ein paar Beispiele geben könntet was 
man mit CPLDs und FPGAs bei welcher Ausstattung realisieren kann.

Grüße
Moderator (Firma: Titel) Persönliche Seite #1597991
Lesenswert?

> Was "passt" in 128 Makrozellen?
Also ein CPLD.
Das sind dann genau 128 Flipflops. Also z.B. 8x 8 Bit-Zähler und dazu 
noch 8x 8Bit Register... und schon ist Schluss  :-o

> Was kann man mit 50k Gates anfangen?
Also ein FPGA.
Sieh selber nach, wieviele Slices das entsprechende FPGA hat und 
wieviele FFs in einen solchen SLice sind. Das Interessante ist zudem, 
dass sich dahinter eine hübsche Menge Routing- und Speicherressourcen 
verstecken.

Fazit:
Mit einem CPLD wirst du schon bei kleinen Projekten sehr schnell an die 
Grenzen stoßen. Nehmen wir mal den wirklich einfachen RC-5 Empänger von 
meiner HP: 
http://www.lothar-miller.de/s9y/archives/63-RC-5-Empfaenger.html
Der passt bei 100kHz Takt gerade so in 36 Makrozellen. Mit einem 
"üblichen" Taktgenerator mit z.B. 20MHz sind dann für den Taktteiler 
nochmal 8 FFs nötig und damit ein 72er CPLD nötig.
Als Vergleich: in einem 50k FPGA braucht der RC-5 Code weniger als 1% 
der Ressourcen.

> Adresszähler von Quarzoszillator evt. nach einem wählbaren Teiler,
> Ansteuern eines SRAMs und versenden der Daten per SPI wäre eine gute
> Aufgabe für einen CPLD, oder?
Du wirst da mit einem CPLD schon heftig mit Flipflop-Zählen und -Sparen 
beschäftigt sein. Schon der SPI ist nicht kostenlos zu bekommen:
http://www.lothar-miller.de/s9y/categories/26-SPI-Slave
Und dann fehlt noch die ganze Verwaltung...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren