首页 > 微波/射频 > RFIC设计学习交流 > 怎么用Hspice一次性就能跑完所有工艺角下的仿真?

怎么用Hspice一次性就能跑完所有工艺角下的仿真?

录入:edatop.com    阅读:

_.---._
       .:":_'-.-`_:":.怎么用Hspice一次性就能跑完所有工艺角下的仿真?
      :`.`._'-.-'_.'.':   我用: .alter
      '`.`._`-.-'_.'.''             .dellib
       `.`-.`-.-'.-'.'               .lib
         `._`-.-'_.'               
            `'''`                       .alter
                                         .dellib
           _.---._                    .lib
       .:":_'-.-`_:":.       这样仿真跑完之后,貌似只有最后一个工艺角下的仿真数据,前面几次的没的?而且本来一个工艺角下的仿真需
                                20min,现在只需要30min,是脚本写的不对吗?
      :`.`._'-.-'_.'.':
      '`.`._`-.-'_.'.''
       `.`-.`-.-'.-'.'
         `._`-.-'_.'
            `'''`

我是这样写的:
.alter
.temp 25
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.alter
.temp 125
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.........
你自己修改温度,corner和库名吧

。project是什么意思呢?~这个是直接加在仿真文件里面的吗? 还有比如我仿真需要输出电压,在服务器上运行Hspice file >file.log这样所有cornor下的输出结果在file.log中有记录吗?

我是这样写的:
hspice -i file.sp -o file.lis

非常简单,你打少了个命令
.alter
.temp 25
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.print
.alter
.temp 125
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.print
不加打印命令他肯定只打最后一个数据啦。加了之后你会看到会多些东西出来

忘记补充下,我用的是win版本的,当初为了同样的问题折腾了一个下午。

哦 感谢cancle tt ff ss fs sf五个工艺角 加电阻电容不同的工艺角,跑晕了。那在.print后面是加需要打印输出的,这样在主文件中是不是就不需要加打印输出了?
子文件:
.alter
.temp 25
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.print I() V()
.alter
.temp 125
.protect
.lib '../18s_6vgp.lib' SF
.lib '../18s_6vgp.lib' bjt
.lib '../18s_6vgp.lib' res_ss
.unprotect
.print I() V()

主文件:
include' '
XI0 subket .....
是不是并不需要在加print了?

.temp 125 改成 .temp -40 27 125就可以实现三个温度的仿真,不知道我想仿真电源电压变化5v+-10%,怎么在文件中设置 难道用sweep -40 125 40这样吗?

差不多吧,假如要看全部输出,就用.print i(*) 电压是必然会全部列出的,不用加.
想跑电源变化,可以看看帮助文件里面的蒙特卡罗分析部分.
实际上看你需要看瞬态响应还是直流变化又或者交流响应,都有一些比较偷懒的设置办法

那再想问下怎么把不同的工艺角导入到不同名称的文件呢?有这个命令吗?
还有上面这样设置发现输出时有两次 但是第二次print的数据和第一次print的数据时一模一样的,我的仿真工艺角以及温度都是变化过了的,这是什么原因呢~

op的数据都在lis里面吧,你需要分开就自己编辑下.波形数据倒是独立的,后缀是tr0 tr1(瞬态仿真),每alter一次就生成一个.
至于你说2次输出数据一样,估计是sp没写对,工艺角没换成,只要仔细对比下2次的op数据是否一样就明白了.
仔细看看lis文件,很多问题都有提示.要不你把lis文件贴出来看看

lis文件服务器上的,下不下来。我仔细再看看~里面也没有warning语句什么的,两次的op数据时一样的。

use .alter

是不是.option  post影响了结果的覆盖?

现在发现temp 10 20 30 能出来三个文件tr0 tr1 tr2,但是我用。alter就不行。
我的文件这样写:
.temp -40 27 125
Vdd=5
.alter
.lib "1111.lib"tt
.lib "1111.lib"res_tt
.print I(R1) V(vco)
.alter
.del lib"1111.lib" tt
.del lib"1111.lib" res_tt
.lib"1111" ss
.lib"1111" res_ss
.prin I(R1)
然后就是主内容了......(主内容中没有print语句了)
发现这样他输出三个文件,分别表示的是不同温度下的。但是。lis文件中 同一个温度下的两个输出是一样的,也就是说tt 和ss在相同的温度下结果输出一样的。很奇怪。还没解决

试试不用temp看看 .你的现象有点奇怪,是不是还有别的命令,例如在引用文件里面有个你没注意的end之类.
多 试试看看.试明白一个注释一个,到时就不怕忘记了.
看你贴出来的好像没啥问题.估计是些细节错误吧,我上班开个sp看看有没出入再说.

还是没看懂,只会cadence中的工艺角,hspice里面的有哪位大侠指点啊

申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程

上一篇:请教模拟IC设计去公司好还是研究所呢?
下一篇:怎么用spectre测共模反馈以及不同Corner下仿真

射频和天线工程师培训课程详情>>

  网站地图