Forum: FPGA, VHDL & Co. ModelSIM und die Dateiordner


von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Beim ModelSIM-Altera habe ich folgendes Problem: Ich ordne VHDL-Module 
und Scripte zu jedem Funktionsmodul in einen Ordner. Diese fasse ich zu 
Topordnern zusammen. Wenn ich aber einen der Topordner umbenenne, 
verschwinden manchmal die darin befindlichen Unterordner und auch die 
Dateien.

Ein ausdrückliches Update der Struktur bringt kein Ergebnis. Nur 
Rückbenennen hilft. Leider habe ich das zu spät gemerkt und hatte ein 
vers...es Projekt. Einige Synthesemodule und Klangmodule sind jetzt im 
Nirvana.

Ist das Verhalten beim Original Mentor ModelSIM auch so?

Idee, wie man das rettet? Ich hatte versucht, die ModelSIM-Datei 
händisch zu reparieren, aber es klappt nicht, bez. ist sehr mühseelig 
bei 400 Einträgen.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Ich habe das Problem leider nicht wirklich verstanden. Aber der Aufbau 
schreit förmlich nach einem TCL Script das dir die ganze Arbeit abnimmt. 
:-)

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Das Problem ist einfach die Menge. Ab einer gewissen Anzahl von 
VHDL-Modulen muss man gruppieren und auch Hierarchien einführen, sonst 
findet man sich nicht mehr zurecht. Sieht so aus, wie im Bild:

Ich habe wegen der vielen Derivate die Module neu klassifiziert und 
nummeriert und weitere Hierarchien eingeführt, z.B habe ich das "Sound 
Processing" in lineare- und nichtlineare Amplitudenverzerrungen getrennt 
/ trennen wollen. (EQs und Filter sind was anderes, als Verzerrer oder 
Phasenmanipulatoren). Wenn man aber einen solchen Top-Ordner umbenennt, 
verlieren die darunter befindlichen den Kontakt und werden zu Zombies!

Hier nochmal als Bild:

Ich möchte z.B. die Delays anders gruppieren und dazu den Ordner "72 
2D-Delays" in "72 Delays" umbennen und die Unterordner nummerieren. Tut 
man das aber, gehen ihm die Bezüge verloren. Das ModelSIM ist nicht 
schlau genug, die einmal gelegten links mit zu aktualisieren.

Man muss sie dann im *mpf suchen und händisch umbenennen. Ob man da mit 
einem extra geschriebenen TCL schneller ist, weiß ich nicht. Man müsste 
wohl schon die Umbenennung automatisieren, also den Fehler erst gar 
nicht auftreten lassen.

Richtigerweise sollte ModelSIM das selber tun und ich würde gerne den 
Support dazu bewegen, daraüber nachzudenken.
Was mich eben dazu interessieren würde ist, ob das bei der Vollversion 
auch der Fall ist. Ich nutze hier die ASE.


Wahrscheinlich ist das Vielen noch nicht aufgefallen und oft wohl auch 
kein Problem. Nur habe ich eben sehr viele Dateien und Derivate im 
Projekt und ich muss es auch so machen, wenn ModelSIM Sorge tragen soll, 
dass bei Simulationen, die auf Untermodule zugreifen, sichergestellt 
ist, dass er eine Veränderung erkennt und die Neu-Compilation anmahnt. 
Alternative ist, immer alles neu zu compilieren. Das dauert bei der 
Anzahl der Dateien aber fast 1h!

Natürlich könnte man die Abhängigkeiten auch händisch in ein Script 
eintragen und nur die veränderten suchen und compileren, die Pflege 
übersteigt den Nutzen, denke ich.

Meines Erachtens ist das Aufgabe der Projektverwaltung und die hat hier 
ein Defizit. Was mich auch stört ist, dass neu hinzu gekommende Ordner 
immer irgendwo oben erscheinen und nicht etwa unten, was das 
Einsortieren schwieriger macht. Dieses ist wiederum wichtig, damit bei 
Auswahl des Ordner im ModelSIM TAB alle in sortierter Reihenfolge 
kommen. Das tut er nämlich auch nicht und wäre auch ein "todo" für 
Mentor/Altera.

: Bearbeitet durch User
von Duke Scarring (Gast)


Lesenswert?

Jürgen S. schrieb:
> Meines Erachtens ist das Aufgabe der Projektverwaltung und die hat hier
> ein Defizit.
Richtig.

> Nur habe ich eben sehr viele Dateien und Derivate im
> Projekt und ich muss es auch so machen, wenn ModelSIM Sorge tragen soll,
> dass bei Simulationen, die auf Untermodule zugreifen, sichergestellt
> ist, dass er eine Veränderung erkennt und die Neu-Compilation anmahnt.
> Alternative ist, immer alles neu zu compilieren. Das dauert bei der
> Anzahl der Dateien aber fast 1h!

Ich verweise mal wieder auf:
https://sourceforge.net/projects/vmk/

Duke

von Dr. Sommer (Gast)


Lesenswert?

Jürgen S. schrieb:
> und hatte ein
> vers...es Projekt. Einige Synthesemodule und Klangmodule sind jetzt im
> Nirvana.

Und das schreit nach Versionskontrolle und Backups! Ich könnte nicht 
arbeiten, wenn jeder Klick die Arbeit von Monaten unwiderbringlich 
löschen könnte...

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> Und das schreit nach Versionskontrolle und Backups! Ich könnte nicht
> arbeiten, wenn jeder Klick die Arbeit von Monaten unwiderbringlich
> löschen könnte...
Sicher, ich habe die natürlich in RAR-Archiven. Aber wenn Du am Umordnen 
und Umbenennen bist machst Du nicht nach jedem Schritt ein Backup :-)

Ich werde mir aber was überlegen müssen, denn ModelSIM wirft jeden neuen 
Ordner, den man einführt nicht etwas am Ende rein, sondern irgendwo in 
der Mitte.

Duke Scarring schrieb:
> Ich verweise mal wieder auf:
> https://sourceforge.net/projects/vmk/

"This project has no files"

???

von Christoph Z. (christophz)


Lesenswert?

Es sind keine offiziellen Releases da, aber in der Versionskontrolle 
sind die Projektdateien zu finden:

http://vmk.cvs.sourceforge.net/

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Christoph Z. schrieb:
> Es sind keine offiziellen Releases da, aber in der Versionskontrolle
> sind die Projektdateien zu finden:
>
> http://vmk.cvs.sourceforge.net/

Also mit allem Respekt, aber wenn ein Projekt in einem so halbgaren 
(oder "halbtoten"? ) Metastadium ist, dann verwende ich lieber keine 
Zeit dafür. Mir ist auch noch nicht klar, wie mir das helfen soll.

von Duke Scarring (Gast)


Lesenswert?

Jürgen S. schrieb:
> Mir ist auch noch nicht klar, wie mir das helfen soll.

Ich zitiere Dich mal:

Jürgen S. schrieb:
> Natürlich könnte man die Abhängigkeiten auch händisch in ein Script
> eintragen und nur die veränderten suchen und compileren, die Pflege
> übersteigt den Nutzen, denke ich.
Genau das nimmt Dir das Tool ab.

Hier eine kleine Bedinungsanleitung:

1. Hilfsdatei anlegen, mit allen im Projekt benötigen VHDL-Quellen, 
z.B.:
1
work   design.vhd
2
work   testbenches/design_tb.vhd
3
mylib  mylib/mylib_package.vhd

2. vmk aufrufen:
1
$ vmk -t modelsim -O -F quellen.txt
Damit wird ein weiteres Makefile mit allen Abhängigkeiten generiert: 
Makefile.msim.

3. Das 'neue' Makefile aufrufen:
1
$ make -f Makefile.msim
voila

Bei Änderungen am Quelltext wird nur noch Schritt 3 aufgerufen.
Falls eine neue Datei zum Projekt hinzugefügt wird, geht es bei Schritt 
1 wieder los...

Duke

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Lesenswert?

Rene Mariks Maulwurf würde jetzt sagen: "Nee, Nee, .... Nee, nix 
Simulationsscript" - "Fileliste"!

Es geht um den file-Listen Abschnitt im MPF, der die Ordnerstruktur 
festlegt und irgendwie auch dazu dient, das Auswahlfeld im Modelsim zu 
füllen, anhand dessen man die Zuordnung zu den Ordnern festlegt.

Das ist leider immer unsortiert und scheint irgendwie willkürlich. 
Manchmal tauchen neue Einträge weiter vorne auf, manchmal auch weiter 
hinten.

Dazu reicht es nicht aus, nur die Liste zu sortieren und selbst wenn man 
das tut, stimmt es irgendwie nicht. Habe ich jetzt mal ausprobiert. 
Siehe Bild.

Was das Compilieren angeht, müsste man dann auch alles Neue händisch 
eintragen. Dann könnte man besser komplett auf die Dateiverwaltung im 
ModelSIM verzichten und nur ein sript verwenden.

von Duke Scarring (Gast)


Lesenswert?

Jürgen S. schrieb:
> Dann könnte man besser komplett auf die Dateiverwaltung im
> ModelSIM verzichten
Die ModelSim-Projektverwaltung habe ich noch nie verwendet...

Duke

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Tja, sicher eine Frage der Arbeitstechnik. Die script-Freunde brauchen 
das nicht. Ich denke halt, wenn da es ist, kann es nichts schaden. In 
den Dateiordnern habe ich ja auch eine entsprechende Struktur. Warum 
also nicht im Modelsim dieselbe verwenden?

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.