|
发表于 2014-1-25 10:17:32
|
显示全部楼层
本帖最后由 andy2000a 于 2014-1-25 10:18 编辑
回复 7# abab1394
mp 沒用過
和 mt 差在那??
mt 是 multi thread
==
加速Hspice仿真的小技巧
(1)找一台好的机器,目前我所用过的机器里面,AMD X86_64 linux的机器仿真速度较快,如果使用hspice64 命令,仿真时间会更短
(2)在sp文件中使用.alter 参数配合 -mp 仿真参数。通常一个spice deck需要在多种case下仿真,在spice文件的末尾加上几个.alter参数,后面跟上需要变化的条件,可以用同一个文件跑出多种corner,下面是一个小例子
.alter "Corner: BC 100C 0.9V"
.temp 100
.param pvdd = 0.9
.lib './hspice_corners_io.include' BC_FN_FP $ BC_FN_FP : Best case, TT : Nominal , WC_SN_SP : Worst case
.alter "Corner: WC 100C 0.9V"
.temp 100
.param pvdd = 0.9
.lib './hspice_corners_io.include' WC_SN_SP $ BC_FN_FP : Best case, TT : Nominal , WC_SN_SP : Worst case
.END
另外,在仿真的时候加上-mp参数可以使用多个处理器来并行仿真不同的.alter,如果处理器数量足够的话,每个处理器核心分别跑一个.alter进程,并且每个进程会消耗一个spice的license。命令:hspice64 -mp xxx.sp
(3)使用.probe命令减小输出文件(如.tr0文件)所占的空间。默认情况下,spice仿真会记录网表中所有的信号,如果网表很大,或者仿真时间很长的话,输出文件所占的空间会非常可观。为了减少空间的占用,可以只挑选并记录某些需要观察的信号,可以减小输出文件。
首先在文件开头的.options参数中加入probe参数,如
.options post probe acct
然后挑选自己需要看的信号,将其保存到输出文件中,如
.probe tran V(Zvdd, 0)
.probe tran V(vddchip, vsschip)
.probe tran V(vddbga, 0)
===
http://bbs.eetop.cn/viewthread.php?tid=297136
spectre/aps/hspice多核心/多线程仿真 |
|