mikrocontroller.net

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


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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-E...
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...

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.