Forum: FPGA, VHDL & Co. Speichermenge CPLD?


von Yves E. (yves19)


Lesenswert?

Hallo!

Ich habe vor kurzem angefangen mich mit programmierbaren Logikbausteinen 
auseinanderzusetzen. Für eine Schaltung möchte ich einen XC95144 
einsetzen. Der soll als memory bank controller zum Einsatz kommen.
Bisher habe ich alles mit µControllern umgesetzt, aber hier gibt es 
keine alternative.
Prinzipiell habe ich schon verstanden, was die Unterschiede zwischen µC 
und CPLD sind. Das einzige was sich mir bisher nicht so richtig 
erschließt ist, wieviele Register hat ein CPLD? Bzw., wie kann ich die 
Anzahl an Bits bestimmen, die in einem CPLD/FPGA maximal gespeichert 
werden können? Für meine Anwendung sind nicht viele Register nötig, 
dennoch wäre es mal interessant zu wissen, wieviele mir zur Verfügung 
stehen. Laut Datenblatt hat der XC95144 3200 Gates. Müsste ich mir 
einfach mit den für einen FlipFlop benötigten Gates die Anzahl 
berechnen?
Ja ich weiß, je nach Design, wird diese Menge natürlich immer anders 
sein, aber es wäre gut zu wissen als Leitfaden.

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


Lesenswert?

Yves E. schrieb:
> Das einzige was sich mir bisher nicht so richtig erschließt ist,
> wieviele Register hat ein CPLD?
144 hat deines.

> Laut Datenblatt hat der XC95144 3200 Gates.
Gates sind keine Register.

> Müsste ich mir einfach mit
> den für einen FlipFlop benötigten Gates die Anzahl berechnen?
Nein, du müsstest dir ansehen, wie so ein CPLD intern aufgebaut ist, und 
einsehen, dass diese fürs Marketing berechneten "Gates" eine rein 
virtuelle Zahl sind.

> als Leitfaden.
Nimm ein kleines FPGA wie z.B. Lattice MachXO2.

von Digitaler (Gast)


Lesenswert?

Yves E. schrieb:
> Laut Datenblatt hat der XC95144 3200 Gates. Müsste ich mir
> einfach mit den für einen FlipFlop benötigten Gates die Anzahl
> berechnen?

Im Prinzip ja.

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


Lesenswert?

Digitaler schrieb:
> Im Prinzip ja.
Nach welcher Formel?

Yves E. schrieb:
> Laut Datenblatt hat der XC95144 3200 Gates.
Steht da was von "equivalent" in der Nähe? Wenn nicht, dann denk dir das 
dazu...

von Yves E. (yves19)


Lesenswert?

Lothar M. schrieb:
> Yves E. schrieb:
>> Das einzige was sich mir bisher nicht so richtig erschließt ist,
>> wieviele Register hat ein CPLD?
> 144 hat deines.
>
>> Laut Datenblatt hat der XC95144 3200 Gates.
> Gates sind keine Register.
>
>> Müsste ich mir einfach mit
>> den für einen FlipFlop benötigten Gates die Anzahl berechnen?
> Nein, du müsstest dir ansehen, wie so ein CPLD intern aufgebaut ist, und
> einsehen, dass diese fürs Marketing berechneten "Gates" eine rein
> virtuelle Zahl sind.
>
>> als Leitfaden.
> Nimm ein kleines FPGA wie z.B. Lattice MachXO2.

Ok, danke so weit erstmal.
Die "Datenblätter" von Xilinx sind echt für den A****. Wenn man 
Datenblätter von Microchip und Atmel gewohnt ist, dann ist das schon ne 
herbe Enttäuschung.
Ich meine, mit viel mA können die Pins maximal belastet werden? Also 
entweder hab ich da nur ne Kurzübersicht gefunden, oder das steht da 
tatsächlich in keiner Tabelle.

@Lothar
Danke für den Tipp, aber das Ding ist ja abartig teuer...
Sollte ich mal was aufwendigeres machen wollen, wo ich nicht auf 5V 
tolerante Eingänge angewiesen bin, dann seh ich mir diesen FPGA mal 
näher an.
P.S.: Deine Seite ist wirklich hilfreich für mich als VHDL Anfänger :-), 
ist ne gute Ergänzung zu dem Buch, das ich gerade lese: "VHDL 101 
Everything you need to know to get started" von William Kafig

: Bearbeitet durch User
von Duke Scarring (Gast)


Lesenswert?

Yves E. schrieb:
> Ich meine, mit viel mA können die Pins maximal belastet werden?
Dafür gibt es i.d.R. ein extra Datenblatt mit den 'DC and Switching 
Characteristics'.

von Abwatscher (Gast)


Lesenswert?

Yves E. schrieb:
> Die "Datenblätter" von Xilinx sind echt für den A****. Wenn man
> Datenblätter von Microchip und Atmel gewohnt ist, dann ist das schon ne
> herbe Enttäuschung.
> Ich meine, mit viel mA können die Pins maximal belastet werden? Also
> entweder hab ich da nur ne Kurzübersicht gefunden, oder das steht da
> tatsächlich in keiner Tabelle.

Geh mal zum Augenarzt, was im A**** sind, sind wohl deine Augen. Da 
steht auf der ersten Seite "High-drive 24 mA Output".

https://www.xilinx.com/support/documentation/data_sheets/ds067.pdf

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


Lesenswert?

Abwatscher schrieb:
> Da steht auf der ersten Seite
Auf der Werbeseite mit dem Pseudo-"Gattercount"?

> "High-drive 24 mA Output".
Irgendwie unspezifiziert. Heißt das also, dass bei 24mA Belastung eine 
Ausgangsspannung von 2,4V (TTL high) ausgegeben wird? Das wäre arg 
unüblich für diese alten Bausteine. Ist diese Angabe Symmetrisch oder 
doch nur Asymmetrisch?

Aber einfach mal das Datenblatt weiter unten bei "DC Characteristic Over 
Recommended Operating Conditions" anschauen, dann wird das mit den 24mA 
schon klarer...  ;-)

: Wiederhergestellt durch Moderator
von Yves E. (yves19)


Lesenswert?

Abwatscher schrieb:
> Yves E. schrieb:
>> Die "Datenblätter" von Xilinx sind echt für den A****. Wenn man
>> Datenblätter von Microchip und Atmel gewohnt ist, dann ist das schon ne
>> herbe Enttäuschung.
>> Ich meine, mit viel mA können die Pins maximal belastet werden? Also
>> entweder hab ich da nur ne Kurzübersicht gefunden, oder das steht da
>> tatsächlich in keiner Tabelle.
>
> Geh mal zum Augenarzt, was im A**** sind, sind wohl deine Augen. Da
> steht auf der ersten Seite "High-drive 24 mA Output".
>
> https://www.xilinx.com/support/documentation/data_sheets/ds067.pdf

Ganz ruhig brauner...

In diesem Datenblatt, passend zu meinem XC95144XL, steht aber nichts 
dergleichen:
https://www.xilinx.com/support/documentation/data_sheets/ds056.pdf
Sollte ich da was übersehen habe, erleuchte mich, großer Meister...
In der Tabelle unter Recommended Operation Conditions steht lediglich, 
bei welchem Ausgangsstrom welche Spannungen erreicht werden. Aber es 
wird nicht konkret ausgedrückt, welcher Strom maximal zulässig ist. Kann 
man daraus vielleicht schlussfolgern, aber ich bin der Meinung, in einem 
vernünftigen Datenblatt hat es so zu stehen, wie hier auf Seite 351: 
http://ww1.microchip.com/downloads/en/devicedoc/41419a.pdf

Und die Datenblätter sind grauenhaft mager im Vergleich zu denen anderer 
Bauteile anderer Hersteller.

von Theor (Gast)


Lesenswert?

Was soll das? Erst ist es ein XC95144 und dann auf einmal ein XC95144XL.
Such mal selbst.

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


Lesenswert?

Yves E. schrieb:
> Für eine Schaltung möchte ich einen XC95144 einsetzen.
Yves E. schrieb:
> passend zu meinem XC95144XL
Ist das jetzt dann die komplette Typenbezeichnung? Nicht, dass da jetzt 
dann noch die Automotive-Variante draus wird.

Aber auch bei der stehen die Daten des Ausgangstreibers unter "DC 
Characteristic Over Recommended Operating Conditions".

von Yves E. (yves19)


Lesenswert?

Lothar M. schrieb:
> Yves E. schrieb:
>> Für eine Schaltung möchte ich einen XC95144 einsetzen.
> Yves E. schrieb:
>> passend zu meinem XC95144XL
> Ist das jetzt dann die komplette Typenbezeichnung? Nicht, dass da jetzt
> dann noch die Automotive-Variante draus wird.
>
> Aber auch bei der stehen die Daten des Ausgangstreibers unter "DC
> Characteristic Over Recommended Operating Conditions".


Nein, XC95144XL passt schon.

Das Ganze hier soll jetzt nicht zu einem Thread darüber wie man 
Datenblätter liest ausufern, aber wenn ich jetzt den Vergleich zwischen 
den Angaben im Datenblatt von Xilinx und Bspw. denen im Datenblatt des 
PIC16F1824 ziehe, dann ist die Angabe der gemessenen Spannungen unter 
den entsprechenden Testbedingungen zwar ein Garant dafür, dass diese 
Ströme mindestens abgenommen werden können, aber ich weiß doch trotzdem 
nicht, was der Pin max. verträgt.
Das PIC Datenblatt auf Seite 362 garantiert Voh von Vdd-0,7V z.B. bei 
einem Strom von 3,5mA (bei Vdd 5V). Das heißt doch aber nicht 
automatisch, dass ein IO Pin nicht trotzdem mehr kann (auch wenn man den 
nicht zu sehr quälen sollte).
Insofern sind die Angaben von Xilinx unvollständig. Mehr wollte ich 
garnicht dazu sagen.


Die ursprüngliche Frage wurde ja schon beantwortet.
Danke Lothar.

von C. A. Rotwang (Gast)


Lesenswert?

Yves E. schrieb:
> Das Ganze hier soll jetzt nicht zu einem Thread darüber wie man
> Datenblätter liest ausufern, aber wenn ich jetzt den Vergleich zwischen
> den Angaben im Datenblatt von Xilinx und Bspw. denen im Datenblatt des
> PIC16F1824 ziehe, dann ist die Angabe der gemessenen Spannungen unter
> den entsprechenden Testbedingungen zwar ein Garant dafür, dass diese
> Ströme mindestens abgenommen werden können, aber ich weiß doch trotzdem
> nicht, was der Pin max. verträgt.

Du schaust nicht ins passende Datenblatt von Xilinx.

> Insofern sind die Angaben von Xilinx unvollständig.

Sind sie nicht, sie stehen halt eben nicht in der Product specification 
sondern im CPLD I/O USER Guide. Darin wird erklärt, daß es für diese 
CPLD's
keine feste Stromangabe gibt, sondern das man diesen Wert aus der I/V 
Kurve ablesen muss. Ein CPLD ist eben kein mikrocontroller und so ein 
alter Kram wie die 20 Jahre alte XC9500-Familie erst recht nicht.
Das waren halt die Zeiten wo man schon fast immer prophylaktisch einen 
244 bus/line driver vorsah um genügend Strom zum Treiben auf der Leitung 
zu haben.

https://www.xilinx.com/support/documentation/user_guides/ug445.pdf S.13
https://www.xilinx.com/support/documentation/application_notes/xapp150.pdf

Diese Aufteilung der IC-Beschreibung auf mehrere Dokumente ist typisch 
für universal configurierbare IC's wie FPGA's. Da kommen schon mal alles 
in allem über 1000 Seiten zusammen, kein Wunder wenn allein die 
Beschreibung des MultiGigaBit Transceivers über 300 Seiten benötigt: 
https://www.xilinx.com/support/documentation/user_guides/ug482_7Series_GTP_Transceivers.pdf

In Vergleich dazu ist ein PIC Kinderkacke.

von Duke Scarring (Gast)


Lesenswert?

Yves E. schrieb:
> Und die Datenblätter sind grauenhaft mager im Vergleich zu denen anderer
> Bauteile anderer Hersteller.
Es sind halt ein paar Seiten mehr. Und Xilinx versteckt m.E. die 
Dokumentation ganz gut:
https://www.xilinx.com/support/documentation-navigation/silicon-devices/mature-products/9500xl.html?resultsTablePreSelect=xlnxdocumenttypes:Data%20Sheets#documentation

Die weiterführenden Links in den Datenblättern sollte man ggf. auch 
beachten.

Duke

von Peter D. (peda)


Lesenswert?

Yves E. schrieb:
> wie kann ich die
> Anzahl an Bits bestimmen, die in einem CPLD/FPGA maximal gespeichert
> werden können?

Nun, der XC95144 hat 144 Macrozellen, d.h. max 144 Bits kannst Du damit 
speichern.

Manche CPLDs können eine Macrozelle teilen bzw. haben Eingangs- bzw. 
Ausgangsregister an den Pins. Dann kann man mehr Bits speichern, als 
Macrozellen vorhanden sind.

von Purzel H. (hacky)


Lesenswert?

> Ich meine, mit viel mA können die Pins maximal belastet werden? Also
entweder hab ich da nur ne Kurzübersicht gefunden, oder das steht da
tatsächlich in keiner Tabelle.


Hilfeeeee... das sind ueblicherweise die Leute, die moeglichst viel Saft 
durch eine LED pressen wollen. Denn sonst interessiert das ausser 
Spezialisten, die wissen wo die Zahl zu finden ist niemanden.

Damit bist du bei einem CPLD/FPGA falsch.

: Bearbeitet durch User
von W.S. (Gast)


Lesenswert?

Yves E. schrieb:
> Das einzige was sich mir bisher nicht so richtig
> erschließt ist, wieviele Register hat ein CPLD? Bzw., wie kann ich die
> Anzahl an Bits bestimmen, die in einem CPLD/FPGA maximal gespeichert
> werden können?

CPLD's sind eigentlich NICHT zum Speichern von irgendwelchen Daten 
gedacht, sondern zum Realisieren von digitaler Logik.

Bei dem genannten Baustein hast du 144 Makrozellen drin. Das können 144 
Flipflops sein, aber auch 144 logische Verknüpfungen fast aller Art. Und 
die Ausgänge der Makrozellen kannst du an relativ beliebige Pins 
anschalten, ebenso die Eingänge der Logik-Matrix, die in jeder 
Makrozelle enthalten ist.

Das Nette an CPLD's ist, daß deren Logik beim Einschalten sofort zur 
Verfügung steht, denn die Logik wird chipintern nichtflüchtig 
gespeichert. FPGA's hingegen müssen erst gebootet werden, wozu zumeist 
ein externer serieller Flash-Rom vonnöten ist.

Und die o.g. Mach-Xo sind - soweit mir erinnerlich - keine CPLD's, 
sondern eigentlich FPGA's.

W.S.

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.