Bißchen Off-Topic: Was nehmen zwischen GALs und Mords-PLDs?


Bißchen Off-Topic: Was nehmen zwischen GALs und Mords-PLDs?

von tfhh » Do 19. Jun 2008, 15:59
Moin Lötkolbenschwinger,

mal eine Frage... mit einem GAL kommt man ja doch nicht allzuweit. Ein PLD-Mega-Monster mit 100 Ein-/Ausgängen (meist ja noch mehr) und was-weiß-ich wievielen Tausend Gattern ist jedoch für vieles schlichtweg übertrieben.

Ich glaube, ich bin nicht der einzige reine Hobby-Schrauber, den auch die Kosten für die notwendigen Entwicklungssysteme und der Aufwand der langen Einarbeitung zu hoch sind.

Kennt jemand eine gescheite "Zwischenlösung"? Meinetwegen 30-40 Eingänge, 10-20 Ausgänge, vielleicht sogar noch im einfachen DIL oder PLCC Format?

Bin für jeden Rat - auch Richtung bezahlbare/in annehmbarer Zeit erlernbare PLD-Lösungen - offen.

Danke & Gruß, Jürgen

Re: Bißchen Off-Topic: Was nehmen zwischen GALs und Mords-PL

von HiassofT » Do 19. Jun 2008, 16:22
Hi!

tfhh hat geschrieben:Kennt jemand eine gescheite "Zwischenlösung"? Meinetwegen 30-40 Eingänge, 10-20 Ausgänge, vielleicht sogar noch im einfachen DIL oder PLCC Format?

Wenn Du mit insgesamt ca. 32 I/Os auskommst, sind kleinere CPLDs (wie der Lattice M4A5-32 oder M4A5-64, den wir im Freezer verwenden, bzw. der Xilinx XC9536) recht nett. Die gibt's im PLCC44 Gehäuse und sind mit einem Sockel auch noch angenehm auf einer Lochraster Platine zu verlöten. Diese CPLDs sind auch halbwegs preiswert und gut erhältlich, zB XC9536 um 4,25EUR bei Reichelt.

Die nächste Grösse sind dann CPLDs mit ca. 64 I/Os (Gehäuse PLCC84 oder TQFP-100). Der XC9572 ist auch noch recht erschwinglich, kostet bei Reichelt 6,55 EUR (in PLCC84).

Darüber wird's wirklich ungemütlich, da gibt's dann eigentlich nur mehr hobbyuntaugliches TQFP.

Bin für jeden Rat - auch Richtung bezahlbare/in annehmbarer Zeit erlernbare PLD-Lösungen - offen.

Entwicklungsumgebung für die CPLDs gibt's gratis beim Hersteller zum Download und VHDL ist garnicht so schwer zu lernen (liest und schreibt sich in etwa wie C Code).

Zum Programmieren der CPLDs brauchst Du auch nur ein sehr einfaches zu bauendes JTAG Interface: ein simpler Leitungstreiber, ein paar Widerstände und einen Stecker für den Druckerport am PC.

Somit sind die CPLDs sogar einfacher zu handhaben als GALs, da Du nicht mal einen GAL Programmer brauchst.

Also: nur Mut, ich hab' auch erst bei der (Neu-) Entwicklung des Freezers vor ca. 5 Jahren das erste Mal Kontakt mit CPLDs und VHDL gehabt :-)

so long,

Hias

Re: Bißchen Off-Topic: Was nehmen zwischen GALs und Mords-PL

von tfhh » Fr 20. Jun 2008, 09:36
Moin Hias!

Erstmal schönen Dank für Deine Infos!

HiassofT hat geschrieben:Wenn Du mit insgesamt ca. 32 I/Os auskommst, sind kleinere CPLDs (wie der Lattice M4A5-32 oder M4A5-64, den wir im Freezer verwenden, bzw. der Xilinx XC9536) recht nett.

Die habe ich mir mal angesehen, scheint absolut auszureichen, sind gut erhältlich und wie Du richtig anmerkst, auch wirklich bezahlbar.

Dennoch die Frage... welche nehmen? Entscheidend dürfte hier das Entwicklungssystem sein. Das von Lattice habe ich mir mal (extrem oberflächlich) angesehen, sieht wahnsinnig komplex aus. Welches der beiden Systeme würdest Du heute empfehlen, nach den gemachten Erfahrungen?

Gern auch Meinungen anderer Leser, die schon mal mit einem der beiden PLDs gearbeitet haben :-)

HiassofT hat geschrieben:Zum Programmieren der CPLDs brauchst Du auch nur ein sehr einfaches zu bauendes JTAG Interface: ein simpler Leitungstreiber, ein paar Widerstände und einen Stecker für den Druckerport am PC.

Auch hier die Frage... gibt es einen JTAG Standard oder brauche ich speziell für den einen oder anderen PLD ein anderes JTAG Interface? Habe z.B. bei eBay und einigen Elektronikversendern welche gefunden, aber die scheinen überwiegend für irgendwelche Digital-Sat-Box Hack-Aktionen zu sein. Oder gibt´s einen Schaltplan zum Selber-Machen? Kann ja gemäß Foto nicht soviel drauf sein, daß man das nicht mal eben auf einer Lochrasterplatine nachfrickelt.

HiassofT hat geschrieben:Also: nur Mut, ich hab' auch erst bei der (Neu-) Entwicklung des Freezers vor ca. 5 Jahren das erste Mal Kontakt mit CPLDs und VHDL gehabt :-)

Danke :-)

Ich habe da ein paar sehr verrückte Ideen, die ich gern ausprobieren würde... *vorfreude*

Gruß, Jürgen

Re: Bißchen Off-Topic: Was nehmen zwischen GALs und Mords-PL

von HiassofT » Fr 20. Jun 2008, 15:20
Hi Jürgen!

tfhh hat geschrieben:Dennoch die Frage... welche nehmen? Entscheidend dürfte hier das Entwicklungssystem sein. Das von Lattice habe ich mir mal (extrem oberflächlich) angesehen, sieht wahnsinnig komplex aus. Welches der beiden Systeme würdest Du heute empfehlen, nach den gemachten Erfahrungen?

Schwer zu sagen, die Xilinx Umgebung habe ich mir damals auch nur eher kurz mal angesehen.

Beide Umgebungen verlangen eine gewisse Zeit bis man damit sicher umgehen kann. Wenn man das Starter Tutorial ein mal durchgegangen ist hat man aber schon mal einen guten Ausgangspunkt. Danach kann man Schritt für Schritt die erweiterten Features ausprobieren und kommt gelegentlich mal drauf, daß die Software ein gewisses Eigenleben hat und nicht so ganz funktioniert wie in der Anleitung beschrieben :-)

Mit ispLever von Lattice hab' ich nun auch schon länger nichts mehr gemacht, damals war's aber so, daß der Fitter etwas umständlich zu bedienen/konfigurieren war: Parameter ändern, Fitter starten, hoffen, daß er erfolgreich durchläuft, wenn nicht wieder zurück und Parameter neu ändern. Bei der Xilinx Software gab's da schon eine "Auto-Fit" Funktion die selbständig diverse Parameter ausprobiert hat, so lange bis ein Fit möglich war.

Ich muß dazu aber auch anmerken, daß dies schon etwas her ist und die Freezer-Logik fast den kompletten CPLD belegt. So lange noch genügend Makrozellen und interne I/Os dorthin frei sind braucht man an den Fitter Einstellungen so gut wie nichts ändern.

Die Xilinx Software hatte dafür ein paar andere Macken, letztlich würde ich sagen, daß der Vergleich mit einem Unetschieden geendet hat.

Auch hier die Frage... gibt es einen JTAG Standard oder brauche ich speziell für den einen oder anderen PLD ein anderes JTAG Interface?

JTAG selber (sprich das Protokoll und die Bedeutung der einzelnen Pins) ist zwar standardisiert, leider aber nicht die Interfaces. Du musst also schauen, ob die Programmier Software (zB ispVM von Lattice) mit Deinem Interface klar kommt. Ein fertiges Interface (vom Hersteller) würde ich eher nicht kaufen, die sind meist viel zu teuer (und eher für Firmen oder Profis gedacht). Da lieber ein wenig googeln und ein Interface selber bauen.

Nettes Detail am Rande: Lattice liefert den Sourcecode (in C) für ispVMembedded mit, das ist der Code des JTAG Protokolls zum Programmieren der PLDs. Mit ispVM kann man die Daten dafür generieren und ich hab' mir mal den Spaß gemacht das auf den Atari zu portieren. Mein Plan war, daß man die Freezer-Logik somit direkt vom Atari aus ändern könnte. Das JTAG-Interface war eine kleine Platine mit einem Leitungstreiber, die an den Joytick Port angesteckt wurde. Leider hat es aber nicht so richtig funktioniert, die Spulen und Kondensatoren in den Joystick Leitungen haben anscheinend reingefunkt. Direkt an die PIA angeschlossen hat es geklappt, das Programmieren hat damit aber etwa eine viertel Stunde (im Vergleich zu ein paar Sekunden am PC) gedauert.

so long,

Hias