Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » CPLD oder FPGA? » Themenansicht

Autor Thread - Seiten: -1-
000
31.07.2016, 19:42 Uhr
maleuma



Ich habe eine Idee zur Entwicklung einer Schaltung. In konventioneller TTL-Technik würden die dafür benötigten Logik-IC's nicht auf die Platine passen. GAL's sind ja nicht mehr der aktuelle Stand und vom Funktionsumfang für mein Projekt auch zu klein. Jetzt bin ich am Überlegen ob ich dafür einen CPLD oder einen FPGA einsetzen soll.

Ich benötige je ca. 30 Eingänge und 30 Ausgänge, in der Logikschaltung werden voraussichtlich 12 Flip-Flops zum Speichern von Schaltzuständen gebraucht, teilweise nur intern (im CPLD/FPGA) einige auch extern an den Ausgängen.
Ist dafür ein CPLD geeignet? Ich habe mit CPLD oder FPGA bisher noch nichts gemacht und bin mir deshalb nicht sicher, was die einzelnen Chips können oder auch nicht.

Deshalb einmal ein paar Fragen in die Runde:
- Ist ein CPLD oder ein FPGA die bessere Wahl?
- PLCC-Gehäuse ist Bedingung, wäre für meine Anforderungen z.B. der Lattice ispLSI 1032 von Reichelt geeignet? Der hat 64 I/O-Pins und 192 Register, aber geht das mit den Flip-Flops?
- Wie programmiert man so einen CPLD am einfachsten? Lattice hat ja eine kostenfreie Software "ispLEVER Classic 2.0" auf der Website, aber zum Übertragen in den CPLD wird ja auch noch ein spezielles Kabel benötigt.
- Geht das bei FPGA's einfacher?
- Was nehmt Ihr für programmierbare Logik-ICs bei der Entwicklung Eurer Projekte? Welche wird man auch in ein paar Jahren noch kaufen können?
- Oder ist weder CPLD noch FPGA der richtige Weg?

Ich weiß, das sind sehr viele Fragen. Aber ich will das Projekt erst starten wenn ich weiß wie es gehen könnte. Ich bin über jeden Tipp dankbar.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
31.07.2016, 21:35 Uhr
Mario Blunk

Avatar von Mario Blunk

Bisher hab ich nur mit Xilinx CPLDs und FPGAs gearbeitet. Meine Erfahrungen sind diese, ohne im Detail Typen zu vergleichen (Stand 2010):
1) in einen FPGA bekommt man mehr Logik rein, für weniger Geld
2) ein FPGA braucht eine externen Boot-Prom, was bei CPLDs nicht nötig ist
3) ein CPLD ist (laut Hersteller) nach dem Einschalten sofort betriebsbereit
4) ein PFGA braucht "nur" ein paar Millisekunden zum booten
5) CPLDs sind schaltungstechnisch einfacher zu "verdrahten". Für Deine Anwendung scheint ein CPLD eine passende Lösung zu sein.
6) CPLDs sind im PLCC-Gehäuse und auch 5V-tolerant verfügbar.
7) FPGAs von Xilinx habe ich noch nicht im PLCC-Gehäuse gesehen

Das Entwicklungswerkzeug ISE 14.7 ist bei mir im Einsatz. Ich kann dazu nur raten, auch weil es unter Linux läuft. Die Treiberinstallation ist etwas knifflig, aber machbar. Siehe
http://www.blunk-electronic.de/ise/howto_install_ISE_on_SuSE.pdf
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
01.08.2016, 21:21 Uhr
maleuma



Danke schon einmal für diese Erläuterungen. Dann liege ich mit dem CPLD wahrscheinlich schon einmal nicht ganz falsch.
Ich hatte nur irgendwo gelesen, dass man Flip-Flops beim CPLD nur begrenzt zur Verfügung hat und meist nur jeweils eins pro I/O-Pin. Dem scheint aber wohl nicht so zu sein.

Noch zwei neue Fragen:
- kann man an den I/O-Pins Tri-State-Ausgänge realisieren?
- lassen sich bidirektionale I/O-Pins machen?
Ich müsste auch Daten auf den Datenbus legen, aber eben nur wenn sie angefordert werden. Momentan sehe ich dazu noch einen Bustreiber vor, ist wahrscheinlich auch die bessere Lösung dafür.

Und bei der Verfügbarkeit bin ich auch noch etwas skeptisch. PLCC-CPLD's sind bei den einschlägigen Elektronikversendern kaum (noch) im Sortiment, außer der genannte Typ bei Reichelt. Von Xilinx finde ich gar keinen PLCC84-Typ (nur PLCC44).

Also werde ich mich einmal nach einem Programmierkabel für die Lattice-Typen umsehen müssen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
02.08.2016, 07:28 Uhr
Mario Blunk

Avatar von Mario Blunk


Zitat:
maleuma schrieb
Danke schon einmal für diese Erläuterungen. Dann liege ich mit dem CPLD wahrscheinlich schon einmal nicht ganz falsch.
Ich hatte nur irgendwo gelesen, dass man Flip-Flops beim CPLD nur begrenzt zur Verfügung hat und meist nur jeweils eins pro I/O-Pin. Dem scheint aber wohl nicht so zu sein.


Im allgemeinen hast Du im CPLD deutlich weniger Flip-Flops zur Verfügung als im FPGA. Die wesentlichen Vorteile des CPLD sind sein Kompaktheit und die Logikfunktion sofort beim Einschalten (als wäre es diskret aufgebaute Logik). Angeblich "booten" auch verschiedene CPLDs von einem internen PROM, aber das halte ich für ein Gerücht.


Zitat:

Noch zwei neue Fragen:
- kann man an den I/O-Pins Tri-State-Ausgänge realisieren?
- lassen sich bidirektionale I/O-Pins machen?
Ich müsste auch Daten auf den Datenbus legen, aber eben nur wenn sie angefordert werden. Momentan sehe ich dazu noch einen Bustreiber vor, ist wahrscheinlich auch die bessere Lösung dafür.


Zu beiden Fragen Antwort "JA".


Zitat:

Und bei der Verfügbarkeit bin ich auch noch etwas skeptisch. PLCC-CPLD's sind bei den einschlägigen Elektronikversendern kaum (noch) im Sortiment, außer der genannte Typ bei Reichelt. Von Xilinx finde ich gar keinen PLCC84-Typ (nur PLCC44).


Das ist das Drama. Was heute als der totale neueste Schrei verkauft wird, ist nach 5 Jahren schon Mangelware. Ich habe mir darum einige CPLDs und FPGAs auf Halde gelegt. Teurer Spaß aber unvermeidlich, wenns um das Geschäft geht...
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
02.08.2016, 08:33 Uhr
holm

Avatar von holm

Der Übergang von CPLD zu FPGA ist heute zu Tage fließend, einige als CPLD vermarktete Teile sind in Wirklichkeit mittlerweile FPGAs mit internem Konfigurations-ROM.

5V tolerante Typen sind dabei auszusterben.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
02.08.2016, 11:02 Uhr
Heiko_P



@maleuma:
Mit meinem Projekt "BWS für K1520" habe ich den CPLD von der Logik her ziemlich ausgereizt. Dort liegen auch einige Pins direkt am Datenbus und werden komplett von der Logik im CPLD gesteuert (Eingang/Ausgang/hochohmig). So aufwendig liest sich dein Projekt nicht, das sollte mit einem CPLD machbar sein.
Die CPLDs von XILINX lassen sich in kleinen Stückzahlen sicher noch aus China beschaffen. Bei der Beschaffung für das BWS-Projekt gab es einige nicht brauchbare ICs, die aber bei anderen nicht so komplexen Projekten anstandslos funktionieren. Wenn du keine großen Stückzahlen brauchst, und die Schaltung nicht auf lange Zeit nachbaubar sein muss, wäre aus meiner Sicht das Risiko überschaubar.

Gruß
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
02.08.2016, 18:33 Uhr
schlaub_01



Also, für die Lattice ispLSI Bausteine habe ich noch einen Programmieradapter für den Parallelport. Wenn Dir das reicht, kannste den gerne haben. Dazu habe ich noch eine Lochrasterplatine mit 2 ispLSI1016 Bausteinen in PLCC Fassungen. Die kannste gerne auch dazu haben. Ich hatte da mal eine DCF77 Dekodierung mit gemacht - ist aber auch schon 20 Jahre her. Ansonsten muß ich den anderen Recht geben - 5V Technik ist bei FPGA/CPLDs immer schwerer zu bekommen. Selbst bei den modernen Bausteinen geht der Trend eher zu 1,8V/2,5V und mit den DDR4 RAMs natürlich noch drunter. Gib mir einfach Bescheid, dann schick ich Dir die Sachen zu.

Grüße,
Sven.

Dieser Beitrag wurde am 02.08.2016 um 18:33 Uhr von schlaub_01 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek