在Python中调用HSPICE的交互模式

时间:2017-11-10 00:02:35

标签: python shell

我想在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仿真(因此,整个仿真不会结束)
有没有人知道发生了什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

一种解决方法是编写shell脚本以自动化交互式HSPICE调用。