Hallo zusammen, für meine Simulationen mit ActiveHdl verwende ich .do Scripte, mit denen ich meine Simulation steuern kann. Zum simulieren öffne ich dann ActiveHdl, wechsle in das benötigte Verzeichnis und tippe anschließend "do simstart.do" ein. Nun kann ich in den .do scripten aber nicht alles tun, was ich gerne möchte, also würde ich diese gerne mit .bat Scripten "verheiraten". Dies ist mir leider bisher noch nicht gelungen. Wie kann ActiveHdl starten, ein .do Script ausführen und anschließend wieder schließen? Wie kann ich ein .bat Script aus einem .do script heraus aufrufen? Ich freu mich auf sachdienliche Hinweise :-) Klaus
Bei Modelsim gibt man -do auf der Kommandozeile mit:
1 | -do "<command>" Execute <command> on startup; <command> can be |
2 | a macro filename |
ActiveHDL hat da mit Sicherheit auch was. Die .do-Dateien sind eigentlich tcl-Skripte und werden von einer tclsh ausgeführt. Die passende Dokumentation zu tcl findet man (u.a.) hier: https://tcl.tk/man/tcl/TclCmd/exec.htm oder hier: http://wiki.tcl.tk/1039 Duke
Hallo Duke, danke für die Antwort. Duke Scarring schrieb: > Bei Modelsim gibt man -do auf der Kommandozeile mit:... das habe ich bei Modelsim bisher auch so gehandhabt. Leider funktioniert das nicht mit der vsim.exe des ActiveHdl. Es gibt eine vsimsa.bat/exe, die jedoch leider andere Fehlermeldungen generiert. Im Netz habe ich hierzu auch noch nicht die passende Lösung gefunden. Wenn ich in der ActiveHdl Konsole exec < myBatchFile.bat eingebe, erhalte ich leider nur die Meldung: # Error: invalid command name exec Weitere Ideen?
Hab eine Lösung gefunden: in den Lattice .do scripten lassen sich command line Befehle mit einem ! starten. Ein Backslash (beispielsweise im Pfad) muss dabei mit \ escaped werden. Mein Batch Script starte ich also durch folgende Zeile im .do Script: !..\\bin\\mybatch.bat myParam1 myParam2 Auch andere Commandline parameter lassen sich so starten: !del transcript.txt Für mich ist die Frage also soweit geklärt und die Lösung für die Nachwelt dokumentiert :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.