Hi,
I'm running VSIM.exe in a tcl from a software, and output the result to a log file. All works well, except in case there's a compilation error (even simple syntax error in the vhd file), I get this message in the log file:
Code:
# Error in macro c:\My_Designs\msim.tcl line 7
# C:/Modeltech_pe_edu_10.2b/win32pe_edu/vcom failed.
# while executing
# "vcom file.vhd"
ModelSim>
and the vsim.exe is still running in the background forever. If I kill it thru the task manager the log file will show:
Code:
# Error in macro E:\My_Designs\FPGA\Design\VHDL\ver_EB8C\vhdl\script_msim.tcl line 7
# C:/Modeltech_pe_edu_10.2b/win32pe_edu/vcom failed.
# while executing
# "vcom file.vhd"
ModelSim>
** Fatal: vish lost connection to vsim process.
How can I know the VSIM failed and why isn't the process terminated by its own?
My tcl I'm running is:
Code:
cd c:\My_Designs\vhdl
set WRK work
if {[file exists $WRK]} {
} else {
vlib work
vmap work work}
vcom file.vhd
quit -f
I don't get this script...
vcom doesn't run vsim.exe it runs vcom.exe which compiles VHDL source into a working library. vsim.exe runs a simulation, which isn't called at all by your script.
Is there any way to know the VCOM has ended? (by tcl)
Maybe woth IF command, is there a flag VCOM returns after it completed?
My problem is it get stuck in the process even though it ended.