mikrocontroller.net

Forum: FPGA, VHDL & Co. Logiblöcke, Makrozellen, Gatter, LUTs - ich blicke nicht durch!


Autor: FPGA Anfänger (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo alle!

Ich versuche zu verstehen, woraus ein FPGA besteht, und vor allem, wie 
man diese Angaben - Zahl der Gates, Cells und Logic Blocks - richtig 
versteht. Ich habe mir den Wikipedia-Artikel zu FPGA auf Deutsch und 
Englisch durchgelesen und blicke immer noch nicht durch. Darum möchte 
ich meine Fragen hier stellen und hoffe auf eure Hilfe!

1. Bei manchen FPGAs ist die Zahl der Gates (wie 50k, 200k usw.) 
angegeben. Nun laut Wikipedia besteht ein Basisblock eines FPGA 
vereinfacht aus einer Lookup-Tabelle die logische Funktionen (and, or, 
nor ...) realisiert und einem Flip-Flop. Von Gattern (also Gates) ist da 
nicht die Rede. Was bedeutet denn die Angabe der Gatterzahl? Heißt es, 
dass bei den Bausteinen, die diese Angabe haben, ein Basisblock keine 
LUTs sondern normale Gatter hat? Außerdem, warum braucht man die Angabe 
der Gatterzahl? Die Gatter sind doch (falls ich es richtig verstehe) in 
Basisblöcken untergebracht, wäre da nicht die Angabe der Zahl der 
Basisblöcke und evtl. zusätzlich der Zahl der Gatter pro Block 
sinnvoller?

2. Weiterhin ist die Zahl der Makrozellen angegeben. Ich gehe mal davon 
aus, dass Makrozelle = Basisblock (aus Wikipedia) ist. Stimmt es so? Was 
bedeutet der Begriff Logic Block? Der steht z.B. in der Beschreibung des 
Lattice LFEC1E-5TN100C bei Farnell. Zuerst habe ich angenommen, es ist 
dasselbe wie Makrozelle, aber bei dem Baustein ist die Zahl der 
Makrozellen 750 und die der Logic Block 192, daher kann dan wohl nicht 
dasselbe sein, aber was sind dann die Logic Blocks?

Ich danke schon mal für jede Antwort!!!

Autor: Dimi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

als Beispiel Xilinx Spartan 3:

http://www.xilinx.com/support/documentation/data_s...

Auf der Seite 3 steht folgendes:

Logic Cell = 4-input Look-Up Table (LUT) plus a ‘D’ flip-flop. 
"Equivalent Logic Cells" equals "Total CLBs" x 8 Logic Cells/CLB x 1.125 
effectiveness

Bei Altera ist es änlich, nur bei denen wir die Anzahl von LEs (Logiv 
Elements) angegeben. 1 LE bei Altera ist (relativ) gleich 1 Logic Cell 
von Xilinx.
Und Gates-anzahl bei Xilinx sagt mir persönlich nicht viel.


MfG aus Westerwald

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

Bewertung
0 lesenswert
nicht lesenswert
> Was bedeutet denn die Angabe der Gatterzahl?
Da kommt noch aus der FPGA-Steinzeit, als FPGAs mit ASICs verglichen 
wurden. Dann konnte man eine ASIC-Funktion, die durchschittlich eine 
bestimmte Gatteranzahl (üblicherweise NAND-Gatter) hat, u.U. in ein 
entsprechendes FPGA bringen...

> Was bedeutet der Begriff Logic Block?
Das steht im Datenblatt zum entsprechenden FPGA und ist auch beim selben 
Hersteller eine jeweils unterschiedlich große Baugruppe aus LUTs, FFs, 
Carry-Logic...

> Makrozelle
Gibts traditionell nur bei CPLDs, und daher ist das nicht so direkt auf 
FPGAs übertragbar. Man kann aber genauso wie bei den Gatteräqivalenten 
eine Umrechnung machen und sagen, ein Design, das im FPGA x Logikblöcke 
braucht, bräuchte ein CPLD mit etwa y Makrozellen.

> aber was sind dann die Logic Blocks?
Das sind die vielfach wiederholten logischen Einheiten innerhalb eines 
FPGAs. Jeder Hersteller hat dort eine eigene Bezeichnung und mehr oder 
weniger Funktionalität untergebracht.

Autor: FPGA Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank nochmals für die Aufklärung!! Das hat mich schon wesentlich 
weiter gebracht!

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Lies, damned lies and FPGA Gate count...

Autor: Xilinx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen

Wie berechne ich resp. schätze ich ab, wieviele Flipflops und Gates ich 
für mein Vorhaben/Schaltung benötige?

Z.B. Geplant habe ich ein XC95108 im PLCC84 Gehäuse für einen 
universellen  GPIO mit 8x 8Bit Ports. Jeder Port sollte wahlweise Input, 
Output und PWM können. Dies möchte ich per Setup vom uC zu Beginn in den 
Baustein einspeichern(Konfiguration). Das Ziel ist einen einzigen 
universellen GPIO zu bekommen mit mehr Ein-/Und Ausgängen als 
herkömliche bausteine eben noch mit PWM.
Von den 69 Pins werden 8x 8Pin für die I/O's benötigt, ein Pin für den 
I2C/SPI Slave Betrieb, 4 Pin's für den SPI (I2C) Busanschluss
Angesprochen von einem Microkontroller mit einem SPI Bus.

Habe hier an anderer Stelle gelesen, das Falk in einen XC9572 CPLD nur 
einen SPI Slave und 12 PWM hinbekommen hat, weil der CPLD zuwenig 
Flipflops oder Gates hat.

Mir ist noch unklar ob diese Gates auch eine Art Flipflop 
Speicherfunktion haben denn für meine Konfiguration, Counter, Register 
für Frequenzteiler, etc. benötige ich schon mehr Bytes als ich FlipFlops 
Bits habe und die sind ja Ausschleisslich direkt für den I/O Pin.

Würde es weniger "Gates/Macrozellen/Flipflops" benötigen, wenn man die 
Konfiguration immer für einen ganzen Port herstellt. es wärend ann immer 
8 Bit miteienader Eingang, Ausgang oder PWM?

Da die Entwicklungsumgebung die "Verteilung" der Gates/Macrozellen 
automatisch vornimmt, ist es wohl schwierig dies im Voraus zu berechnen 
oder gibt es dafü eine Anleitung?

Könnte auch auf einen FBGA von mit einem Lötbaren Gehäuse wechseln, weil 
die FPGA für meine geplante Anwendung wohl geeigneter ist. (Hat meine 
Recherche im Internet von ca. 2 Tagen+ ergeben) Da ich die Xilinx 
Entwichlungsumgebung bereits beschafft habe inkl. Programmer wäre ich 
über Vorschläge der Xilinx-Chips sehr verbunden. Wie kompatibel die 
Software und der USB Programmer ist in Bezug auf Lattice oder Altera 
Chips weiss sich nicht.

Da sind natürlich nun die Erfahrungen der Spezialisten auf diesem Gebiet 
gefragt. Ob mir da wohl jemand weiterhelfen kann auf welchen Chip ich 
setzen soll? Besten Dank schon mal im Voraus.

Gruss Martin

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

Bewertung
0 lesenswert
nicht lesenswert
Xilinx schrieb:
> Z.B. Geplant habe ich ein XC95108 im PLCC84 Gehäuse für einen
> universellen  GPIO mit 8x 8Bit Ports.
Vergiss es. Der alte Zombie (den es nur noch an der Resterampe gibt), 
hat gerade mal 108 Flipflops.
Um einen Konfigurierbaren IO-Pin zu bekommen, musst du den Ausgangswert, 
den Tristatewert und den Eingangswert speichern können. Das sind 
3*64=192 Bits. Damit ist die Latte von 108 Flipflops schon gerissen. Das 
CPLD ist zu klein. Punkt.

Wenn du jetzt noch das SPI-Interface dazunimmst, dann noch Register für 
die PWM, dann siehst du, dass du auch mit größeren CPLDs ratzfatz am 
Ende bist.

Fazit: nimm einen MachXO/MachXO2 von Lattice.

: Bearbeitet durch Moderator
Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Fazit: nimm einen MachXO/MachXO2 von Lattice.
Und einen neuen Thread :-(

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.eejournal.com/archives/articles/2013092...

"The FPGA is Half Full - Unwinding the Marketing Spin"
in der üblichen flotten "Schreibe" von Kevin Morris, immer nett zu 
lesen.

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.