Forum: FPGA, VHDL & Co. Frage zu Machbarkeit bzgl. CPLD


von Michael D. (etzen_michi)


Lesenswert?

Guten Tag.

Ich bin gaanz neu bei FPGA und CPLD, und habe daher noch kein großes 
Wissen bzgl. den Benötigten "PLD-cells"

Ich wollte hier mal nachfragen ob man diesen CPLD
http://www.reichelt.de/GALs-PALs/M4A5-64-32-10-VC/index.html?ACTION=3&GROUPID=2955&ARTICLE=40140&SHOW=1&START=0&OFFSET=500&;
nutzen kann für folgendes Projekt:

Ich habe vor mir ein kleines "Entwicklungsboard" zu bauen und ich liebe 
es einfach so klein wie nur möglich zu bauen.
Auf diesem Board soll mindestens sein ein ATMega644 und ein kleiner SPI 
oder I²C Speicher und ggf. ein FT232.

Mit dem CPLD würde ich gerne dinge machen wie:
Display über SPI ansteuern (auf Befehl des ATMega) mit Daten aus dem 
Speicher (SPI, I²C).
Ausgangspins des ATMega auf bestimmte Kontakte für externe Geräte legen.
Zugriffe auf SD-Karte.


Nochmal kurz die Frage:
Reicht der angegebene CPLD aus oder sollte ich einen anderen nehmen.
Er sollte möglichst klein sein (außenmaße), und 5V verträglich an allen 
I/O.

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


Lesenswert?

Michael D. schrieb:
> Mit dem CPLD würde ich gerne dinge machen wie:
> Display über SPI ansteuern (auf Befehl des ATMega) mit Daten aus dem
> Speicher (SPI, I²C).
Was für ein Display?
> Ausgangspins des ATMega auf bestimmte Kontakte für externe Geräte legen.
Das ist normale IO-Funktionalität
> Zugriffe auf SD-Karte.
Hä? was soll da ein CPLD mit zu tun haben?
> Nochmal kurz die Frage:
> Reicht der angegebene CPLD aus
Der hat nur 64 Flipflops. Das ist nun wirklich ziemlich wenig.
> oder sollte ich einen anderen nehmen.
Du solltest eher mal nachsehen, was andere mit den Dingern gemacht 
haben, und wie sie es gemacht haben. So ein CPLD ist kein 
"Wunderdingdasalleskann", sondern nur ein paar Flipflops und ein 
bisschen Logik.
> Er sollte möglichst klein sein (außenmaße),
Ein BGA ist auch recht klein.
> und 5V verträglich an allen I/O.
Das ist für heutige CPLDs Hochspannung...
Kannst du für dein Design nicht wenigstens auf halbwegs aktuelle 3,3V 
umsteigen? Da wäre die CPLD-Auswahl wesentlich größer.

von Uwe Bonnes (Gast)


Lesenswert?

Ein mittlelgrosses CPLD ist haeufig teuer als ein kleines FPGA, wie ein 
XC3S50A(N) und hat trotzdem deutlich weniger Resoucen...

von franke (Gast)


Lesenswert?

diesen cpld kannst du mit aktueller software garnicht mehr 
programmieren...
das ding ist asbachuralt und reichelt wird sich unendlich freuen wenn du 
ihnen diese lagerleiche abnimmst.

von Lattice User (Gast)


Lesenswert?

franke schrieb:
> diesen cpld kannst du mit aktueller software garnicht mehr
> programmieren...

ISP Lever Classic wird von Lattice immer noch supported, auch auf 
aktuellen Windowsversionen.
http://www.latticesemi.com/products/designsoftware/ispleverclassic/index.cfm


> das ding ist asbachuralt und reichelt wird sich unendlich freuen wenn du
> ihnen diese lagerleiche abnimmst.

Die M4A5 Familie wird nach wie vor produziert.
Abgekündigt ist lediglich die 3.3V Variante M4A3, und auch das ist erst 
ein Monat her.

Aber auch ich halte das für eine Sackgasse, ein aktueller kleiner FPGA 
(bzw deren CPLD Verkleidung MachXO, MachXO2, Max II, Max V ... ) ist 
billiger und weitaus flexibler. Mit dem M4A5-64 stösst man sehr schnell 
an Grenzen, und dann fängt die CPLD spezifische Optimiererei an. Kann 
man machen für ein bestimmtes Design, ist aber aufwendig und bringt 
keinen Lernnutzen für die Zukunft.

von Michael D. (etzen_michi)


Lesenswert?

Lothar Miller schrieb:
>> Mit dem CPLD würde ich gerne dinge machen wie:
>> Display über SPI ansteuern (auf Befehl des ATMega) mit Daten aus dem
>> Speicher (SPI, I²C).
> Was für ein Display?

Handelt sich dabei um ein 128x64px OLED einfarbig.


Lothar Miller schrieb:
>> Ausgangspins des ATMega auf bestimmte Kontakte für externe Geräte legen.
> Das ist normale IO-Funktionalität

Teilweise ist eine bestimmte Pin Anordnung recht praktisch und ich 
möchte dieses "Gerät" gerne zum Testen von Programmen nutzen (Geht 
größtenteils darum mir möglichst viele Möglichkeiten offen zu halten).


Lothar Miller schrieb:
>> Zugriffe auf SD-Karte.
>
> Hä? was soll da ein CPLD mit zu tun haben?

Dachte daran das der CLPD z.B. Grafiken die er aufn Display anzeigen 
soll von der SD Karte lesen kann.


Lothar Miller schrieb:
>> und 5V verträglich an allen I/O.
> Das ist für heutige CPLDs Hochspannung...

Deswegen weise ich drauf hin

> Kannst du für dein Design nicht wenigstens auf halbwegs aktuelle 3,3V
> umsteigen? Da wäre die CPLD-Auswahl wesentlich größer.

Hierbei dachte ich daran das es wohl wieder recht groß sein würde 
Pegelwandler aufs Board zu bauen. Ansonsten habe ich auch vor teilweise 
mit 3,3V zu arbeiten.



Bzgl. der 64FlipFlop habe ich das wohl missverstanden. Hatte das so 
verstanden gehabt das bei CPLD das eine Art "multifunktionsblöcke" sind, 
und daher mehr auf die "Gates" geachtet.

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


Lesenswert?

Michael D. schrieb:
> Bzgl. der 64FlipFlop habe ich das wohl missverstanden. Hatte das so
> verstanden gehabt das bei CPLD das eine Art "multifunktionsblöcke" sind,
> und daher mehr auf die "Gates" geachtet.
Ja, nur sind das ebeb mächtige kombinatorische Blöcke. Von denen dann 
jeder 1 Flipflop hat...

Damit dürfte sich dieser Wunsch erledigt haben:
> Dachte daran das der CLPD z.B. Grafiken die er aufn Display anzeigen
> soll von der SD Karte lesen kann.
Das klappt mit 64 Flipflops niemals!

> Ansonsten habe ich auch vor teilweise mit 3,3V zu arbeiten.
Warum nur teilweise?
Gibt es in deinem Design Funktionen, die du nur als 5V IC bekommst?

von Michael D. (etzen_michi)


Lesenswert?

Lothar Miller schrieb:
>> Ansonsten habe ich auch vor teilweise mit 3,3V zu arbeiten.
> Warum nur teilweise?
> Gibt es in deinem Design Funktionen, die du nur als 5V IC bekommst?

Ich wollte den ATMega auf 5V laufen lassen, um direkt 5V Hardware dran 
laufen zu lassen.
Den SPI/I²C wollte ich mit 5V betreiben.

Das Display sollte mit 3,3V laufen.
Die SD Karte braucht 3,3V laufen.
Das Funkmodul welches ich verbauen möchte läuft mit 3,3V


Habe in der Zwischenzeit nochmal über die 3,3V nachgedacht. Wenn ich die 
ganzen Ports 5V tollerant mache, sollte auch ein komplett 3,3V System 
gehen, währe zudem recht praktisch bzgl. des benötigten Buck.

von W.S. (Gast)


Lesenswert?

Lothar Miller schrieb:
> Das klappt mit 64 Flipflops niemals!

Da hast du ja Recht, aber ich frag mich, wozu braucht der Junge ein 
Stück programmierbare Logik, wenn er doch nur ein Display mit Bytes 
füttern will, die dieses Display per SPI entgegennimmt und ab da 
anzeigt? Sowas kann er doch direkt aus dem uC heraus tun, ohne 
irgendwelche IC's dazwischen.

Wenn er ein QVGA-TFT hätte ansteuern wollen, wo man einen Bildspeicher 
und ne Refreshlogik, also einen TFT-Controller braucht, dann wäre dafür 
ein CPLD angezeigt, nach meiner Erfahrung reichen dafür 128 MC gerade so 
aus. We für den Preis eines 128er CPLD's ein besseres FPGA bekommt, was 
auch noch den Konfig-Speicher drinhat, sollte natürlich zu letzterem 
greifen.

Kurzum, hier weiß jemand noch nicht, was er eigentlich will.

Trotzdem wünsche ich frohes Basteln

W.S.

von Markus H. (dasrotemopped)


Lesenswert?

@Michael
für 5 Euro bekommst du bessere CPLDs als das von dir gefundene
544-1964-ND EPM240T100C5N gleicher Preis, mehr Inhalt
122-1448-ND XC9572XL-10VQG44C, billiger, etwa gleich viel Inhalt.
Suche immer 3,3 Volt Typen, die 5 Volt tolerant sind.
5V CPLDs werden mit Gold aufgewogen.
Wenns dein Budget hergibt nimm ca. 500 LE und externes SRAM am CPLD, das 
gibt dir viel Spielraum für Experimente.

Auf PyroElectro gibt es Beispielprojekte zur Ansteuerung von Displays in 
der Kategorie FPGA.
Hat mich auch zu einem eigenen Projekt inspiriert, musste aber 
feststellen, das das CPLD mit eigenem SRAM ausgestattet sein sollte um 
flexibler zu sein
was Bilddaten angeht. Für die ersten Schritte gehts aber auch ohne SRAM.

Gruß,

dasrotemopped.

von suchender (Gast)


Lesenswert?

"Wenns dein Budget hergibt nimm ca. 500 LE"

Hast du da eine Empfehlung? Ich hatte (wegen mehr FF) den spartan 3 an 
im Auge. Aber Es handelt sich bei mir auch um etwas nebulöses zu Hause 
gekochtes. Und da ich nicht sehr fit beim routen bin, 2 lagen sowiso 
ausreichen müssten, sind mir die 144 Beine und Spannungen unangenehm.

Machxo2 gibt es noch, aber wo und wie die  Programmierung geht ist 
dünner erklärt als für Xilinx. Leider.

Actel hat kleine fpga, aber wo man die bekommen soll ist auch wieder ein 
Problem.

Kurzum: ich würde mich freuen, wenn du mir sagen würdest was dir mit den 
500 LE im Kopf spukt. Oder sonst eine Empfehlung für mich speziell.
Also Heimküche, relativ wenig Ahnung also benötigte Unterstützung, kein 
zwingendes Projekt, aber Motivation.

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


Lesenswert?

suchender schrieb:
> Actel hat kleine fpga, aber wo man die bekommen soll ist auch wieder ein
> Problem.
Und zudem ist Actel nicht mehr Actel sondern Microsemi...

suchender schrieb:
> kein zwingendes Projekt, aber Motivation.
Nimm irgendein halbwegs aktuelles, halbwegs gut bestücktes FPGA 
Eval-Board und spiel damit herum. Dein finanzieller Einsatz hält sich in 
Grenzen: die Dinger verlieren kaum an Wert. Heute für 150€ kaufen und in 
5 Jahren für 120€ verkaufen. Das sind pro Jahr gerade mal 6€, und damit 
pro Monat 50Cent...

von suchender (Gast)


Lesenswert?

Ich hab ja schon bischen im Forum gesucht und da hab ich schon oft 
gelesen man soll irgendein board  nehmen und gut.
Aber wenns neu ist hat man ja überall Probleme und setzt sich damit auf 
einen Hersteller fest. Das geht ja von ide bis Programmierrüssel.

Ich bin Roboter Bastler. Dafür würde ich wenn ichs packe gern auch mal 
etwas mit progr. Logik machen. :-) Einfach aus Spaß weils geht. Sinn ist 
sekundär. Würde aber beudeuten, daß dann auch eine Platine gemacht 
würde. Das cpld/fpga sollte früher (oder später) eben in etwas Eigenes. 
Wo mir durch Package, Pinzahl, notwendiger Versorgung etc. bis 
Verfügbarkeit Grenzen gesetzt sind. Da würde ich Aufmerksam und hoffte 
auf einen neuen Impuls.

Irgendwann wenn alles gut klappt und ein ganz dickes fpga von mir auch 
ausgereizt werden könnte, und ich überhaupt ein x-lagiges Design 
erstellen könnte würd ich auch liebend gerne die 100 Euro für eine 
bestellte Platine zahlen, aber das ist ja noch weit.
Bis dahin müsste was 2-lagiges, überschaubares klappen.



Hoffe ich hab mich verständl. ausgedrückt.


wünsche was

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


Lesenswert?

suchender schrieb:
> Hoffe ich hab mich verständl. ausgedrückt.
Der Standpunkt ist klar, aber meiner Ansicht nach der falsche 
Blickwinkel:
> Dafür würde ich wenn ichs packe gern auch mal etwas mit progr. Logik
> machen. :-) Einfach aus Spaß weils geht. Sinn ist sekundär.
Soweit klar. Mache ich auch.
> Würde aber beudeuten, daß dann auch eine Platine gemacht würde.
Aber das mit dem ersteren zu verknüpfen und dem Spass damit einen Riegel 
vorschieben, das klingt für mich wie "Ich würde ja gerne, ich kann aber 
nicht". Du setzt deine (technischen) Möglichkeiten vor das 
(spielerische) Lernen und grenzt dich damit unnötig ein. Dreh den Spieß 
doch einfach mal um, dann wird ein Schuh daraus: probier erst mal mit 
dem "Alles-Ist-Möglich" Board aus, was du überhaupt brauchst, willst und 
kannst. Reichen 500LE (Slices...) oder müssen es 2000+ sein? Wenn du das 
dann mal weißt, dann kannst du abschätzen, welches FPGA du bräuchtest, 
und auch, ob du es verarbeiten kannst.

Aber du stellst dich jetzt gerade so an, wie wenn einer, der eine Frau 
sucht, sagt: in meinen Schuhschrank passen nur Schuhe der Größe 38. 
Meine künftige Lebens(abschnitts)gefährtin darf also auf keinen Fall 
größere Füsse haben...

Und jetzt hoffe ich, ich habe mich verständlich ausgedrückt....  ;-)

von Markus H. (dasrotemopped)


Lesenswert?

@suchender
wenn du zusätzliche Bauteiltips brachst, bitte sehr :
mit 240 LE:
544-1964-ND EPM240T100C5N
mit 500+ LE :
544-1298-ND EPM570T100C4
Für Xilinx Programmer "Xilinx Platform Cable" und für
Altera "Altera mini USB" in der Bucht suchen.
Damit hat man erst mal nen Einstieg in die Welt der programmierbaren 
Logik.
Wenn man die Boards nicht selbst herstellen will hat Lothar natürlich 
völlig recht, ein Eval Board kann auch eine gute Wahl sein. Mit einem 
FPGA kann man richtig rumferkeln, weil man sich beim Einstieg um die zur 
Verfügung stehenden LE keine Gedanken machen muss. Beim CPLD sieht das 
schnell anders aus. Dafür ist ein FPGA Board selbst herzustellen ne ganz 
andere Nummer als ein CPLD Board.

Gruß,

dasrotemopped

von suchender (Gast)


Lesenswert?

Ich danke euch erst mal beiden. Ich glaube ihr habt beide meine Sicht 
verstanden und auch gut geholfen. Ein handliches fpga wäre sicher das 
Optimum. Ist sicher mit wenig pins in der Industrie nicht 
sinnvoll/gewünscht, so daß das eben erst bei 144 losgeht ^^

Ich gehe mal in mich. Wenn ich meine Ungeduld was Eigenes zu machen 
zügeln kann, werde ich Lothars Tip folgen und mit der Wollmilchsau üben. 
(das wird bestimmt eh allem Größeren so dermaßen einen Dämpfer geben, 
daß Amibtionen zu eigenen Boards Geschichte sein werden).

Wenn ich nicht anders kann und einfach nicht warten kann, cpld. 
Vielleicht auch beides, wobei das dann schon wieder unüberschaubar wird.

vielen Dank euch!

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.