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?
> 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.
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.
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.
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.
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.
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.
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.
>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.
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.
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.
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/