Ü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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.