我想在Python中有效地调用HSPICE。我的最终目标是在我的模拟中加速(我有数百万)。
如果我直接在shell中调用HSPICE:
hspice a1.sp // method 1
hspice a2.sp
...
或
hspice -I -L xxx.txt // method 2
xxx.txt示例:
load a1.sp
run
load a2.sp
run
...
quit
不同之处在于方法1每次都会检查HSPICE的许可证,但方法2使用交互模式(-I
)并且它会检查许可证一次,因此它的效率更高。
我想用Python调用HSPICE来自动化我的模拟过程:
方法1有效,但方法2有问题。换句话说:
os.system('hspice yyy.sp') // it works
但是,当我使用os.system,subprocess.call或subprocess.Popen时,我无法运行它。例如,
args = ['hspice64', '-I', '-L', 'xxx.txt']
subprocess.Popen(args)
或
os.system('hspice64 -I -L xxx.txt')
它会在Hspice license have checked out
之后停滞不前。未完成HSICE仿真(因此,整个仿真不会结束)
有没有人知道发生了什么,我该如何解决?
答案 0 :(得分:0)
一种解决方法是编写shell脚本以自动化交互式HSPICE调用。