ct-Basic 2.3 ISE Übersetzungsprobleme

Das Forum für die Software der FPGA-Basisplatine
VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von VGOE » 10.12.2009, 10:53

Hiho,
beim Versuch, das ISE ct-Basic 2.3 Projekt zu übersetzen, bekomme ich im Translation Teil 6 Fehlermeldungen der Art, das bestimmte Pins in den Modulen nicht definiert sind:

(siehe Bilder)

Meine Entwicklungsumgebung ist WEB-PAK 11.1

Kann jemand von Euch das Projek fehlerfrei übersetzen?

CU
Volker
Dateianhänge
ctbasic2.JPG
ctbasic1.JPG

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 879
Registriert: 25.01.2008, 23:34

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von psclab38 » 10.12.2009, 12:24

VGOE hat geschrieben: beim Versuch, das ISE ct-Basic 2.3 Projekt zu übersetzen, bekomme ich im Translation Teil 6 Fehlermeldungen der Art, das bestimmte Pins in den Modulen nicht definiert sind:

Meine Entwicklungsumgebung ist WEB-PAK 11.1. Kann jemand von Euch das Projek fehlerfrei übersetzen?
Hmm, ich hab das Basic 2.3 aus dem Archiv auch mal mit WEB-PAK 11.3 übersetzen lassen und habe das gleiche Problem wie Du:
ERROR:NgdBuild:604 - logical block 'XLXI_997/XLXI_14' with type 'COM_mux' could
not be resolved. A pin name misspelling can cause this, a missing edif or ngc
file, or the misspelling of a type name. Symbol 'COM_mux' is not supported in
target 'spartan3'.
Ich habe mich aber noch nicht tiefgründig mit der Xilinx-Umgebung beschäftigt. Ich tippe aber, daß das Originalprojekt noch unter WEB-PAK 10.x generiert wurde, weil die Projektdate aus dem Archiv noch "*.ise" heißt und nicht "*.xise".
In der ISE-Datei steht auch "ISE_VERSION_CREATED_WITH 10.1.03"

Die Ursache müßte aber zu finden sein. Wer kennt sich denn da besser aus?

Viele Grüße
Paul

PatHoff
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 34
Registriert: 02.10.2009, 23:47

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von PatHoff » 10.12.2009, 15:21

psclab38 hat geschrieben:Ich tippe aber, daß das Originalprojekt noch unter WEB-PAK 10.x generiert wurde, weil die Projektdate aus dem Archiv noch "*.ise" heißt und nicht "*.xise".
In der ISE-Datei steht auch "ISE_VERSION_CREATED_WITH 10.1.03"
Ich hatte auch schon Probleme mit der 11er-Version. Habe mir dann aber die 10er-Version runter geladen. Xilinx stellt unter http://www.xilinx.com/webpack/classics/ ... /index.htm glücklicher Weise die alten Versionen noch zur Verfügung.

Patrick

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von VGOE » 11.12.2009, 13:13

Merci,
also: Mit der 10.1 Version kann das ct-Basic fehlerfrei übersetzt werden. Beim ct-Basic 2.3 kommen im Translate Prozess mehr als 100 Fehlermeldungen der Art:

ConstraintSystem59: ... NET <xyz> not found.

Softwarestand: 10.1.03(nt)

Die Synthese läuft mit den üblichen Warnings durch.

Kann es sein, dass das Projekt nicht ganz aktuell ist?

CU
Volker

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von Klaus_Phi » 12.12.2009, 15:23

Hallo Mitentwicker,

ct-BASIC-2.3 läßt sich nicht übersetzen, da eine oder mehrere ISE-Dateien korrupt sind.
ISE übersetzt T65 als Toplevel. Da die Pins in der main.ucf-Datei nicht zu den Pins des T65 passen, werden die oben beschriebenen Fehlermeldungen generiert.
Ich konnte ISE durch nichts überzeugen main als Toplevel zu übersetzen.
Da sich nur schwer herausfinden läßt welche Dateien Fehlerhaft sind, ist es am einfachsten das Design neu aufzusetzen.

Die folgende Vorgehensweise hat sich als erfolgreich erwiesen:

- In ISE ein neues Projekt mit der Struktur main und source anlegen. Dann ISE beenden.
- Aus dem ct-BASIC-2.3 Ordner main die Dateien *.xco *.sym und *.vhd in den neu angelegten main Ordner kopieren.
- Aus dem ct-Basic Ordner source die dateien main.ucf *.sch und *.vhd in den neu angelegten main Ordner kopieren.
- ISE starten und das neu angelegte Projekt öffnen.
- Mit Add Source alle sym und xco Dateien hinzufügen. (Die sym-Dateien sind in der Projektstruktur nicht sichtbar.)
- Mit Add Source main.sch hinzufügen. Danach kann main geöffnet werden.
- Mit Add Source alle sch-Dateien aus dem Ordner source hinzufügen.
- Mit Add Source alle vhd-Dateien aus den Ordnern main und source hinzufügen.
- Mit Add Source die main.ucf datei hinzufügen.
- In der Projektstruktur sollten nun an keiner Veknüpfung mehr ein Fragezeichen zu sehen sein.
- Wenn alle Punkte geschlossen sind dürfen nur vier xco Dateien und main vorhanden sein.
- Andere VHDL-Dateien außerhalb von main solten gelöscht werden.
Dann kann das Design fehlerfrei übersetzt werden.

Ich hatte leider noch keine Zeit das neu übersetzte ct-BASIC-2.3 zu testen.

Mit freundlichen Grüßen

Klaus

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von Klaus_Phi » 12.12.2009, 18:19

Hallo Mitentwickler,

ich habe gerade das neu übersetzte ct-BASIC-3.2 Design getestet.

Es hat alles wie erwartet funktioniert.

Mit freundlichen Grüßen

Klaus

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 879
Registriert: 25.01.2008, 23:34

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von psclab38 » 12.12.2009, 19:19

Klaus_Phi hat geschrieben: ich habe gerade das neu übersetzte ct-BASIC-3.2 Design getestet.

Es hat alles wie erwartet funktioniert.
Hallo Klaus,

vielen Dank für die ausführliche Anleitung! Aber soll denn die Anleitung bzw. das Übersetzen auch für die ISE 11.x funktionieren oder beschränkt sich das nur auf die ISE10.3?

Viele Grüße
Paul

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von Klaus_Phi » 12.12.2009, 22:01

Hallo Paul,

meine Anleitung bezog sich auf ISE 10.3. Das Design ct-BASIC-2.3 ist beschädigt. Egal on 10.3 oder 11.0. Ich vermute "cm" wird das Problem aus der Welt schaffen. Ich möchte nur mehr VHDL-Entwickler ermutigen, sich in VHDL-Designs einzuarbeiten.

Mit freundlichen Grüßen

Klaus

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 879
Registriert: 25.01.2008, 23:34

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von psclab38 » 13.12.2009, 01:08

Klaus_Phi hat geschrieben:Hallo Paul,

meine Anleitung bezog sich auf ISE 10.3. Das Design ct-BASIC-2.3 ist beschädigt. Egal on 10.3 oder 11.0. Ich vermute "cm" wird das Problem aus der Welt schaffen. Ich möchte nur mehr VHDL-Entwickler ermutigen, sich in VHDL-Designs einzuarbeiten.

Mit freundlichen Grüßen

Klaus
Hi Klaus,

mit Deiner Anleitung ist es mir leider nicht gelungen, das Projekt neu aufzusetzen (allerdings hab ich die ISE 11.3 installiert). Sind die SYM-Files denn nötig; werden die nicht jeweils neu erzeugt? Der Prozess hat bei mir die *.v-Dateien vermisst. Einige konnte er neu erzeugen, aber nicht alle. Ich hab' die dann auch in das "neue" Projektverzeichnis kopiert.

BTW: Welche VIER .xco-Files meinst Du? Ich komm' da immer nur auf drei, neben dem main.sch.

Dann hab ich den Versuch unternommen, das Projekt zu Fuß neu zusammenzustellen, angefangen beim main.sch. Das ging eigentlich ganz gut, aber am Schluß bin ich beim Translate immer mit 4 Fehlermeldungen hängen geblieben, daß "mem_color, mem_font, mem_text und graph_mem" nicht "resolved werden können. Die Lösung für dieses Problem hab ich nicht gefunden.

Schlußendlich hab ich den Versuch gestartet, das originale Projekt mit der gleichen Methode zu reparieren, was auf Anhieb einen komplett erfolgreichen Durchlauf zur Folge hatte. Leider ist das main.bit, was da rauskommt, etwas matschig. Es läuft zwar los, aber es erscheint ein blauer Rahmen in der Zeile des ersten "Ready", der später grau wird, wenn man am Ende der ersten Bildschirmseite angekommen ist. Da stimmt was mit dem Mapping für den Bildschirmspeicher nicht. Aber das find ich heute Nacht nicht mehr...

Gute Nacht.
Paul

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von VGOE » 14.12.2009, 10:18

Hiho,
Danke für die bisherigen Tipps, aber auch ich hänge bei den 4 Fehlermeldungen im Translate Prozess.

Könnte mal jemand ein funktionierendes Projekt posten?

Bisher hatte ich noch nie soviel "Spass" mit IDEs wie mit der von Xilinx. Scheint, als ob die Firma mit der heissen Nadel strickt.
So jedenfalls steckt man mehr Arbeit in die Projektumgebung als in das eigentliche Entwicklungsvorhaben.
CU
Volker

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von Klaus_Phi » 14.12.2009, 18:52

Hallo Volker, hallo Paul,

ich habe das Ganze weiter untersucht. Die main.ise Datei ist beschädigt. Leider ist die Datei in weiten Teilen nicht als ASCII lesbar. Die Nummer mit dem HEX-Editor habe ich mir erspart. Eine neue main.ise Datei im Zip-Format ist beigefügt. Einfach das ct-BASIC-2.3 entpacken und die main.ise Datei ersetzen.

Die vier Fehlermeldungen rühren daher, daß die vier Einheiten:

mem_text, mem_color, mem_font und graph_mem mit dem Core Generator erzeugt wurden.

Daher sind hier keine VHD Dateien einzubinden sondern XCO Dateien. Dann läuft das Design durch. Allerdings ist das Ergebnis wie Paul bereits schrieb, etwas "matschig". Ohne die genauen ISE Parameter zur Übersetzung, wird es sehr zeitaufwendig.

Das ct-Basic Design ist kein Anfänger-Design. Aber ist ist gut gewählt, da man eine Menge daraus lernen kann. Man kann auch sehr viel daraus machen.

Dies soll keine Kritik an cm sein. In so kurzer Zeit, soviel auf die Beine zu stellen war keine leichte Aufgabe.

Beruflich war 2009 sehr stressig. Daher habe ich für mindestens 7 Monate nichts für das ct-Lab tun können.

Aber das werde ich in den kommenden Monaten ändern. Es ist schon einiges im Bau.

Mit freundlichen Grüßen

Klaus Philipp

P.S.:

Wenn sich noch mehr zu dem von cm vorgeschlagenen Entwicklertreffen melden würden, wäre ich sehr froh.
Dateianhänge
main.zip
(208.52 KiB) 97-mal heruntergeladen

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 879
Registriert: 25.01.2008, 23:34

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von psclab38 » 14.12.2009, 19:31

Klaus_Phi hat geschrieben:...ich habe das Ganze weiter untersucht. Die main.ise Datei ist beschädigt. Leider ist die Datei in weiten Teilen nicht als ASCII lesbar. Die Nummer mit dem HEX-Editor habe ich mir erspart. Eine neue main.ise Datei im Zip-Format ist beigefügt. Einfach das ct-BASIC-2.3 entpacken und die main.ise Datei ersetzen.
Vielen Dank für Deine Mühe, aber hast Du das richtige main.ise erwischt? Das bringt nämlich überhaupt keinen Unterschied und es fehlen weiterhin einige Sources, die man noch manuell dazufügen muß. (das main.ise aus dem SVN ct-BASIC-2.3.zip ist nicht wirklich beschädigt, nur nicht vollständig). Ich glaub fast, wir haben da unterschiedliche Dateien als Basis.
Klaus_Phi hat geschrieben: Daher sind hier keine VHD Dateien einzubinden sondern XCO Dateien. Dann läuft das Design durch. Allerdings ist das Ergebnis wie Paul bereits schrieb, etwas "matschig". Ohne die genauen ISE Parameter zur Übersetzung, wird es sehr zeitaufwendig.
Willst Du damit sagen, daß auch Du (mit der ISE10.3) kein ganz intaktes .bin bekommst? Dann wären ja eventuell noch mehr Files als das main.ise fehlerhaft. Vielleicht sind ja nicht alle Files auf dem letzten Stand? :?
Klaus_Phi hat geschrieben:Das ct-Basic Design ist kein Anfänger-Design. Aber ist ist gut gewählt, da man eine Menge daraus lernen kann. Man kann auch sehr viel daraus machen.
Ich hatte vor 15 Jahren in der Anfangszeit mal mit Xilinx und Actel FPGAs gearbeitet, aber das hier ist schon eine ganz andere Nummer. Mein Chef hat mir damals einen VHDL-Kurs verweigert, drum interessiert's mich jetzt halt privat. 8)
Klaus_Phi hat geschrieben: Wenn sich noch mehr zu dem von cm vorgeschlagenen Entwicklertreffen melden würden, wäre ich sehr froh.
Ich hatte mich noch nicht zu Wort gemeldet, aber ich hab schon prinzipielles Interesse. Ist halt nur ein weiter Weg von München aus...

Viele Grüße
Paul

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von Klaus_Phi » 14.12.2009, 19:42

Hallo Paul,

ich habe folgenden Test durchgeführt:

Die von Heise heruntergeladene ct-BASIC-2.3 Datei entpackt. Die von mir bereitgestellte main.zip Datei entpackt. Die main.ise Datei in ct-BASIC-2.3 wurde ersetzt. Dann wurde ISE gestartet und ct-BASIC-2.3 geladen. Das Design läßt sich dann fehlerfrei übersetzen.

Vielleicht habe ich etwas übersehen?

Mit freundlichen Grüßen

Klaus Philipp

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 879
Registriert: 25.01.2008, 23:34

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von psclab38 » 14.12.2009, 20:41

Klaus_Phi hat geschrieben:Die von Heise heruntergeladene ct-BASIC-2.3 Datei entpackt. Die von mir bereitgestellte main.zip Datei entpackt. Die main.ise Datei in ct-BASIC-2.3 wurde ersetzt. Dann wurde ISE gestartet und ct-BASIC-2.3 geladen. Das Design läßt sich dann fehlerfrei übersetzen.

Vielleicht habe ich etwas übersehen?
Oha, ich glaub ich hab's: Nein, Du hast nichts übersehen, aber die ISE11er Umgebung "findet" immer die *.xise-Datei, auch wenn ich die *.ise auswähle. Die vorliegende *.xise-Datei aus dem Archiv ist aber vom Mai09 und damit wohl nicht wirklich gültig.

Diese Umgebungen entwickeln manchmal ein echt undurchsichtiges Eigenleben. Das Ding ist echt erfinderisch und statt die xise neu zu erzeugen sucht es in anderen "bekannten" Projekten nach der main.xise und verwendet sie einfach! :?

Der Lauf mit der aus Deiner main.ise neu erzeugten main.xise ist dann brav durchgelaufen. Das Ergebnis ist aber immer noch "matschig", allerdings anders. Bei jedem Laden gibt's ein wenig andere Darstellungsfehler. Einmal hat das Basic versucht, "LABIP.BAS" zu laden und dann File-not-found gemeldet. Hätte eigentlich "LABINP.BAS" heißen sollen, dann hätte es auch funktioniert.

Tja, da gibt's noch viel zu lernen...

Viele Grüße
Paul

VGOE
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 45
Registriert: 26.10.2009, 10:56

Re: ct-Basic 2.3 ISE Übersetzungsprobleme

Beitrag von VGOE » 15.12.2009, 08:18

SUPER KLASSE und herzlichen DANK!! :)

Mit der neuen main.ise kann ich das Projekt einwandfrei übersetzen. Die weiteren Tests auf der FPGA Plattform finden leider erst heute Abend statt (*freu*).

Ebenfalls vielen Dank an CM! Die geleistete Arbeit ist wirklich lobenswert.
Ich kann nur nicht verstehen, wie Xilinx so eine instabile Projektverwaltung an Kunden ausliefern kann. Gerade die freie Version wird oft zu Testzwecken eingesetzt, bevor die Voll-Version gekauft wird. Bei derartig vielen Problemen kann ein Analogieschluss auf die Profi-Version nicht gerade positiv ausfallen. Ich kenne viele IDEs für verschiedenste Systeme und diese sollten eigentlich die Arbeit erleichtern und nicht weitere Probleme aufwerfen.

Das ct-Basic VHDL Projekt ist sicherlich keine "Einsteiger" Version und daher glaube ich auch nicht, dass viele Leser den VHDL-Teil weiter entwickeln, bzw. eigene Experimente durchführen wollen. Zu Zeiten meiner Diplomarbeit gab es weit und breit noch keine FPGAs und die Mauer begann gerade zu wackeln. Damals programmierte ich zum Abschluss meines Studiums parallele Algorithmen auf der TEK4/8 , KEK4/8 bzw. auf den kommerziellen Systemen von Parsytec. (Also ein c't Projekt-Leser der ersten Stunden :) ). Trotzdem haben die c't Projekte immer wieder bei der Einarbeitung in neue Materie wertvolle Unterstützung und Denkanstösse gegeben. In VHDL habe ich letztlich in 2003 einen CPLD der Firma Lattice programmiert um erfolgreich einen 2MB Flash-Baustein an einen LPC Bus anzukoppeln. Daher nutze ich das FPGA Modul dazu, meine VHDL Kenntnisse zu erweitern und aus zu bauen. Im Moment (OK, für die nächsten paar Monate :) ) möchte ich versuchen, den 8088 Kern auf das c't Modul zu portieren. Daher ist das ct-Basic Projekt eine wertvolle Quelle für die Portierung.
CU
Volker

Antworten