Forum: FPGA, VHDL & Co. Überblick, Einschätzung der Möglichkeiten von CPLD/FPGA


von Anfänger (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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...

von Purzel H. (hacky)


Lesenswert?

Ein 68000 Prozessor anno 1980  hatte 68000 Transistoren in der ersten 
Ausfuehrung. Dh mit 50k Zellen hat man schon viel mehr.

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
Noch kein Account? Hier anmelden.