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
Gast
#5300420
Bei Modelsim gibt man -do auf der Kommandozeile mit:
1 | |
2 | |
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 :-)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.