Forum: FPGA, VHDL & Co. CPLD - ATF1502, 5M40ZE64(MAX V) oder LC4032 (ISP Mach 4000)


von M. K. (Gast)


Lesenswert?

Moin!

Für ein paar simple Logigverknüpfungen mit 24IOs (1Mhz max.) möchte ich 
ein CPLD einsetzen und brauche mal einen Schubs in die richtige 
Richtung.

Die oben genannten CPLDs von Microchip, Intel bzw. Lattice spielen alle 
in der gleichen Preisregion.
5V Toleranz wäre schick, aber 3V3 tut es auch.
ISP sollen die sein, möglichst mit einem 0815 JTAG programmer aus der 
Bucht.
Idealerweise durch Verschaltung von Logig Elementen zu programmieren 
ohne erst noch VHDL o.ä. lernen zu müssen.

WinCupl + ATF1502
ISPlever Classig + LC4032
Quartus + 5M40ZE64

Sicher geht das einfache Gefriggel mit jedem dieser CPLDs, aber wenn ich 
mich da schon einarbeite, möchte ich ja auch den maximalen Nutzen daraus 
ziehen.

Die ATF1502 scheinen recht einfache Gesellen zu sein.
Bei den MAX V gefällt mir z.B. der interne Oszillator, aber eigentlich 
verstehe ich gerade hauptsächlich Bahnhof was die Feinheiten und 
Unterschiede angeht.

Frage an die Erleuchteten:
Was würden Ihr mir empfehlen und warum?

von Bürovorsteher (Gast)


Lesenswert?

> aber wenn ich mich da schon einarbeite, möchte ich ja auch den maximalen
> Nutzen daraus ziehen.

Dann nimm was modernes. Ich empfehle MachXO2. Sieht zwar erstmal nach 
Overkill aus, gibt es aber auch in kleinen QFN-Gehäusen und ist 
preiswert.

von Bürovorsteher (Gast)


Lesenswert?

Wenn es wirklich von gestern sein soll:
Xilinx XC9536XL oder XC9572XL mit ISE, sogar 5-V-tolerant
Digilent-Kabel dazu.

WinCUPL ist sowas von gestern...
LC4032 lässt sich mMn nicht als Stromlauf entwerfen. Ich hatte das 
zuletzt vor ca. 8 Jahren gemacht und als VHDL zusammengerödelt.
Programmierkabel. ich habe das Originalkabel genommen, ob es da was 
preiswertes gibt, weiß ich nicht.

von Heiser (Gast)


Lesenswert?

Programmer für die ATFs zum Selbstbau:

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8909-CPLD-ATDH1150USB-ATF15-JTAG-ISP-Download-Cable-UserGuide.pdf

WinCUPL ist der letzte Heuler. Nur was für leidensfähige Menschen.

Ass Alternative bietet sich der ProChip Designer an:

https://www.microchip.com/design-centers/fpgas-and-plds/splds-cplds/pld-design-resources

Für alte Projekte bzw. Reparaturen verwende ich WinCupl und ATF1502, die 
abwärtskompatibel bis zu den CoolRunnern von Philips (später Xilinx) aus 
dem letzten Jahrtausend sind.

von Thomas W. (diddl)


Lesenswert?

Ich würde auch die Xilinx XC9536XL empfehlen.


Aber mit den ATF15xx habe ich auch sehr gute Erfahrungen.
Ich setze die ATF15xx für einfache Dinge ein, wenn 5V von Vorteil ist.
Für ganz simple Dinger sogar noch GAL22V10.

Das WinCupl mag uralt sein …
… aber genau für diesen Zweck ist es gar nicht schlecht.
Es ist einfach, simpel und funktioniert.

von Christoph Z. (christophz)


Lesenswert?

Bürovorsteher schrieb:
> Wenn es wirklich von gestern sein soll:
> Xilinx XC9536XL oder XC9572XL mit ISE, sogar 5-V-tolerant
> Digilent-Kabel dazu.

Das ist ja gerade der Witz an den ispMACH 4000, die sind immer noch 
"recomended for new designs", Lattice pflegt da noch den Support und die 
Datenblätter dazu, hat sie auch mal noch Automotive qualifiziert etc.

Im Vergleich zu den anderen alten Eisen sind sie auch stromsparend (auch 
dank 1,8 V Kernspannung) und trotzdem 5 V tolerant.

Aber sobald es ein klein bisschen mehr sein darf bzw. 5V toleranz nicht 
nötig ist, würde ich auch den MachXO1/2 empfehlen, da gibt es dann auch 
Diamond anstatt ispLever Classic. Diamond kann Schematic entry, ich 
empfehle dir trotzdem mal VHDL zu lernen nur schon wegen den 
Simulationsmöglichkeiten.

von M. K. (Gast)


Lesenswert?

Erstmal danke für die Beiträge.
Meine Eingangsfrage wurde zwar nicht wirklich beantwortet, aber das lag 
wohl eher an der Fragestellung (Cholera oder Pest, wozu ratet ihr mir 
...)

Ich steh zwar noch wie der Ochs vorm Berg und schau mir die 
verschiedenen IDEs an, aber schon die Erkenntniss das CPLD 
Designssoftware oft Steinalt ist und kaum noch gepflegt wird, spricht ja 
Bände.
Quartus schaut mich aus seinen Fenstern mitleidig an und man kann fast 
das leiste Aufstöhnen hören 'EINMAL mit Profis arbeiten können ...'
Mal sehen wie ISE und Diamont mir behagt.
Ich hoffe die haben einen DAU Modus ...

Mit Technik aus dem letzten Jahrtausend habe ich kein Problem, wenn ich 
einfach nicht mehr brauche.
Aber für das gleiche Geld deutlich mehr Möglichkeiten zu haben, hat 
natürlich was.

Ja, VHDL sollte ich lernen.
So wie vieles andere auch.
Nur das ich das zu selten einsetze und wieder das meiste vergessen habe, 
bis ich es das nächste mal brauche.
Verilog sieht mir mit meinen dürftigen C Kenntnissen erstmal mehr danach 
aus das ich schnelle Ergebnisse damit erziele.
Schematik Entry finde ich derzeit am sympatischten, auch wenn es Euch 
die Zehnägel aufrollt bei dem Gedanken.

Ich werde noch 1000 Fragen haben, aber ich fange mal an und schaue wie 
weit ich komme.

von Christoph Z. (christophz)


Lesenswert?

M. K. schrieb:
> Ja, VHDL sollte ich lernen.
> So wie vieles andere auch.

Geht wohl allen so, das 24 h einfach nicht reichen :-)

> Nur das ich das zu selten einsetze und wieder das meiste vergessen habe,
> bis ich es das nächste mal brauche.

Das finde ich an VHDL recht OK, dass es auch nach längerer Zeit 
einigermassen gut zu lesen ist (schreiben nur mit Editor 
Unterstüztung...), auch wenn man komplett nichts mit HDL zu tun hatte in 
der Zwischenzeit.

> Verilog sieht mir mit meinen dürftigen C Kenntnissen erstmal mehr danach
> aus das ich schnelle Ergebnisse damit erziele.

Das ist die erste Annahme, mit der du dir ins Knie schiesst. Lothar hat 
das kürzlich ganz elegant verglichen mit den "false friends" beim lernen 
von Fremdsprachen.

Als Sprache ist Verilog schon OK, vor allem weil der Opensource Support 
gerade viel weiter ist, falls sowas relevant wäre.

Ich geh ja (halb seriös) soweit, dass HTML/Latex Kenntnisse beim HDL 
lernen mehr bringen als C.

> Schematik Entry finde ich derzeit am sympatischten, auch wenn es Euch
> die Zehnägel aufrollt bei dem Gedanken.

Irgendwo muss man ja mal anfangen :-)

Schematic entry schränkt einem halt sehr schnell ein im Vergleich zur 
HDL.
Gleich alles miteinander zu lernen (FPGA Toolchain, HDL, Simulation) ist 
natürlich ein grosser Schritt, den zu zerlegen ist schon OK.

Einer der Gründe, wieso ich das Buch "VHDL Synthese" so mag, weil ich 
mit 74er Logik und Schemas gearbeitet hatte und dieses Buch es geschafft 
hat mich am richtigen Ort abzuholen. Andere Vorkenntnisse erfordern 
anderes Lernmaterial.

von M. K. (Gast)


Lesenswert?

Bisher habe ich noch keine rekonfigurierbare Logig gebraucht, die nicht 
auch mit einer MCU nebenbei zu erschlagen gewesen wäre.
Auch diesmal ist das mit Kanonen auf Spatzen schiessen, aber wer weiß, 
Appetit kommt ja beim Essen.

Danke für den Buchtip.
Gerade bestellt.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>WinCupl ...Es ist einfach, simpel und funktioniert.
Schön wärs.
Ich habe mich gerade damit herumgeärgert, immerhin hat es schließlich 
geklappt.

Mit Ubuntu und WINE arbeitet der Installer nicht zusammen, das 
eigentliche Programm würde vielleicht laufen.

Unter WinXP funktioniert das Fitten nicht, ein paar Dateien werden 
erzeugt, aber kein Jedec (Es geht um ein Design von 2005 mit einem 
ATF1508AS, das eine winzige Änderung braucht).

Unter Win7 ging es besser. Immerhin stürzt der Texteditor nicht beim 
Abspeichern zuverlässig ab, sondern nur bei Aufruf der Suchfunktion.

Die individuelle Zuweisung einer Atmel-Property für schnelle Slew-rate 
an bestimmten Ausgängen hat wohl noch nie funktioniert. Man soll den 
Fitter zu Fuß aufrufen, dann soll es gehen, steht hier:
https://www.retrotronics.org/svn/jride/trunk/rtl/cupl/jride_rtcpost.pld
aber wie er das macht schreibt er nicht, WinCupl läßt keine zusätzlichen 
Parameter zu.
Jetzt hat eben jeder Ausgang "schnelle" Slewrate, der Unterschied soll 
8ns/5ns ausmachen.

Ich habe mal die diversen Atmel-Texte durchsucht nach dieser 
Slewrate-Einstellung:

Atmels "doc0609.pdf" besagt:
property ATMEL {OUTPUT_FAST ON}; /*all outputs use fast slew rate */ 
(ohne Gleichheitszeichen!)
property ATMEL {OUTPUT_FAST=O4,O5}; /*O4,O5 outputs use fast slew rate 
*/ (mit Gleichheitszeichen!)
or
$include FIT1500.M /*include macro library */
TURBO(ON); /*all outputs use fast slew rate */
TURBO_OUTPUT(O4); /*O4 output use fast slew rate */
TURBO_OUTPUT(O5); /*O5 output use fast slew rate */
dieser TURBO-Befehl wird auch im "ATF15xx Family Device 
Fitter-UserManual" beschrieben

Das Manual zu WinCUPL4.8 besagt:
Property statement are used to control all ATF1508 fitter strategies 
shown below:
-strategy output_fast [ on | OFF | = pin1, pin2, ..]
Das Schlüsselwort "strategy" taucht sonst nicht auf, im oben genannten 
Quelltext ist es anscheinend auf "-str" abgekürzt.

Atmels "doc0916.pdf" zum Konversionsprogramm POF2JED besagt:
-slew fast: Sets output slew rate to fast. A faster slew rate provides 
high-speed transitions and may introduce more noise transients.
-slew slow: Sets output slew rate to slow and thereby reduces system 
noise. However, it does introduce a nominal delay.
-slew auto: Follows settings from POF file. Depending on the device type 
the outputs would either be fast or slow.

Die Slew-Rate "slow" hatte ein Problem verursacht, für einen Oszillator 
20...40 MHz, wenn die Frequenz über 35 MHz betrug, jetzt habe ich auch 
da einen sauberen Sinus (auf meinem 60MHz-Oszi betrachtet), davor waren 
es eher kurze Impulse (auf einem 200MHz-Oszi).

Seit 15 Jahren hat das Design funktioniert, ich vermute, dass 
Atmel/Microchip irgendetwas verändert hat, die Probleme traten erst mit 
der letzten Charge auf.
Damals war der ATF1508 auch nur ausgeguckt worden, um ein noch älteres 
Design mit den pinkompatiblen Philips PZ5128 / Xilinx XCR5128 ohne 
Layoutänderung weiterzuverwenden, nachdem Xilinx diese Coolrunner 2000 
aufgekauft und nur ein Jahr später plattgemacht hatten.

: Bearbeitet durch User
von Uli N. (uln)


Lesenswert?

Hab' schon mit allen vorgeschlagenen Bausteinen gearbeitet,
ATV750/ATV1500/ATV2500 sind tolle Bausteine, würd' ich aber an deiner 
Stelle nur einsetzen, wenn VHDL neu für Dich wäre und ein schnelles 
Ergebnis erzielt werden soll.
Ansonsten nimm VHDL, bei Lattice eine Baustein, der von Diamond 
unterstützt wird!
Ich selber hab' mich häufiger für einen Lattice-Baustein, als Xilinx 
oder Intel/Altera entschieden.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Dass es den ATV750 noch gibt - den hab ich Mitte der Neunziger mal 
benutzt. Das war doch ein 22V10 mit zusätzlichen weiteren 10 buried 
Registern. Leider war für die Logik davor nicht mehr Platz als im 22V10, 
man musste die sowieso schon schwache Ausstattung auf doppelt soviele 
Register aufteilen.
http://ww1.microchip.com/downloads/en/devicedoc/doc1447.pdf

Damals noch ohne Windows, die DOS-Demoversion von CUPL. Von der ist 
anscheinend bei Wincupl übriggeblieben, dass keine Zwischenräume im 
Dateipfad stehen dürfen. Der Installer schlägt schon deshalb die 
Installation in C:\Wincupl vor. Ausserdem bricht die Kompilation 
kommentarlos ab, wenn irgendwo im Text, auch in Kommentaren, ein Umlaut 
steht. Immerhin dürfen die Namen etwas mehr als 8 Zeichen haben, aber 
irgendwo war da auch eine Grenze.

Ein erfolgreicher Kompilerlauf erzeugt u.a. ein .fit-File, in dem die 
Pinbelegung in ASCII-Grafik dargestellt wird. Da fehlen ein paar 
Anschlussnamen, keine Ahnung wieso, die Pins funktionieren dennoch.

: Bearbeitet durch User
von snafu (Gast)


Lesenswert?

Hi,
ich empfehle dir z.B. den TinyFPGA A1!
Ich habe mir für 6€ drei pcb's liefern lassen und dann selber bestückt.

chip: latice machXO2-256 ... mit modernen Tools zu händeln

Atmel ATF1502 benutze ich nur, wenn 5V Thema ist, die Tools bereiten 
hier viel Schmerz!

https://tinyfpga.com/

von snafu (Gast)


Lesenswert?

snafu schrieb:
> ich empfehle dir z.B. den TinyFPGA A1!

ich meinte TinyFPGA A2!

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.