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