原创 hspice收敛问题(2)

2007-6-14 13:35 3957 6 6 分类: 模拟
发信人: flyji (专一的双子星座), 信区: METech        
标  题: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Tue Apr 24 22:59:55 2001) 
 
 
 
总是提示timestep too small。看信息提示无不收敛的节点。 
我想仿真10s,.tran中的步长已经小到10us还是不行(.tran 10us 10s) 
最大内部步长试了很多值也不行 
在Pspice中似乎可以将ITL4的值设为很大,增加迭代次数来收敛,但 
Hspice中好像只有ITL1这个参数,是用来增加直流迭代次数的,增大 
后还是没有效果。 
请问各位大侠,这个问题应该怎么解决? 
多谢了! 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.11.199] 
发信人: CISC (mistral~~假亦真来真亦假), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 00:21:28 2001) 
 
这个问题我遇到过。 
一开始我也试着调这些参数,但是没有太大效果。也许有些情况可以 
通过调这些参数解决,但是我认为这样的情况是比较少的。 
事实上应该把更多的注意力放在待模拟的电路上。 
实际的电路当然有其状态,一般不会出现不收敛的情况, 
但是理想的电路就另当别论,例如理想电流源开路,或理想电压源短路, 
Hspice恐怕也不知道应该怎样处理这样的问题。 
最好先检查一下电路是否有可能在某一时刻出现此类的情况(开关电路尤其 
需要注意)。 
 
【 在 flyji (专一的双子星座) 的大作中提到: 】 
 总是提示timestep too small。看信息提示无不收敛的节点。 
 我想仿真10s,.tran中的步长已经小到10us还是不行(.tran 10us 10s) 
 最大内部步长试了很多值也不行 
 在Pspice中似乎可以将ITL4的值设为很大,增加迭代次数来收敛,但 
 Hspice中好像只有ITL1这个参数,是用来增加直流迭代次数的,增大 
 后还是没有效果。 
 请问各位大侠,这个问题应该怎么解决? 
 多谢了! 
 
 
-- 
如果错过这一次,以后我会不会后悔? 
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.147.102] 
发信人: freewing (海狸~挪威的森林@伍佰版), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 10:49:56 2001) 
 
先检查电路正确与否,如果是数字电路看逻辑关系对不对 
在保证电路正确的前提下,对各节点置一些初值,当然为一种使电路稳定的电压值,这样 
应该就可以了,不过有时也难以解决 
 
【 在 flyji (专一的双子星座) 的大作中提到: 】 
 总是提示timestep too small。看信息提示无不收敛的节点。 
 我想仿真10s,.tran中的步长已经小到10us还是不行(.tran 10us 10s) 
 最大内部步长试了很多值也不行 
 在Pspice中似乎可以将ITL4的值设为很大,增加迭代次数来收敛,但 
 Hspice中好像只有ITL1这个参数,是用来增加直流迭代次数的,增大 
 后还是没有效果。 
 请问各位大侠,这个问题应该怎么解决? 
 多谢了! 
 
 
-- 
 
仁者乐山,智者乐水 
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.77.47] 
发信人: flyji (专一的双子星座), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 11:01:44 2001) 
 
 
 
多谢各位的指教 
这个电路我是用star_sim仿真的,虽说语法和Hspice相象,速度有很大优势(数模混合, 
尤其是对纯数字逻辑),但是它的data table算法实在不敢恭维. 
这个电路我仿真过毫秒级的(.tran 10us 10ms),当时一切正常,现在增大仿真时间就出现 
这种问题,不知这样是不是可以排除电路问题的可能性? 
 
 
【 在 freewing (海狸~挪威的森林@伍佰版) 的大作中提到: 】 
 先检查电路正确与否,如果是数字电路看逻辑关系对不对 
 在保证电路正确的前提下,对各节点置一些初值,当然为一种使电路稳定的电压值,这样 
 应该就可以了,不过有时也难以解决 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.11.199] 
发信人: laukababy (cherish u), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 11:07:17 2001) 
 
因为spice参数很难做提取到在任何情况下都收敛 
有的时候即使是电路正确,它也会说internal step is too small 
我以前做的时候,要么就是修改一些尺寸,要么修改步长, 
实在不行了,可以在每个节点上加上一些小电容(fF量级) 
最后。。。。。。。。。。那只能换参数了,呵呵1 
starsim可以做数模混合吗 
你做过大型memory的仿真吗,比如sram,或者EEPROM,FLASH之类的 
 
【 在 flyji (专一的双子星座) 的大作中提到: 】 
 多谢各位的指教 
 这个电路我是用star_sim仿真的,虽说语法和Hspice相象,速度有很大优势(数模混合, 
 尤其是对纯数字逻辑),但是它的data table算法实在不敢恭维. 
 这个电路我仿真过毫秒级的(.tran 10us 10ms),当时一切正常,现在增大仿真时间就出现 
 这种问题,不知这样是不是可以排除电路问题的可能性? 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.146.202] 
发信人: CISC (mistral~~假亦真来真亦假), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 11:54:44 2001) 
 
和时钟周期(如果有的话)相比,10ms是否足够长(几十个时钟周期)?nbsp;
电路是否基本完成了一些功能, 
如果是的话,电路的问题几率应该比较小。 
?nbsp;
【 在 flyji (专一的双子星座) 的大作中提到: 】 
 多谢各位的指教 
 这个电路我是用star_sim仿真的,虽说语法和Hspice相象,速度有很大优势(数模混合, 
 尤其是对纯数字逻辑),但是它的data table算法实在不敢恭维. 
 这个电路我仿真过毫秒级的(.tran 10us 10ms),当时一切正常,现在增大仿真时间就出现 
 这种问题,不知这样是不是可以排除电路问题的可能性? 
 
 
-- 
如果错过这一次,以后我会不会后悔? 
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.147.102] 
发信人: CISC (mistral~~假亦真来真亦假), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 12:04:33 2001) 
 
模型参数的确必须比较全, 
没有寄生电容参数电路的确很容易不收敛。 
但是我不太喜欢在每个节点上额外的小电容, 
虽然HSPICE有这个命令参数,实现起来很方便, 
而且很有效,但是结果对不对就值得怀疑了。 
 
【 在 laukababy (cherish u) 的大作中提到: 】 
 因为spice参数很难做提取到在任何情况下都收敛 
 有的时候即使是电路正确,它也会说internal step is too small 
 我以前做的时候,要么就是修改一些尺寸,要么修改步长, 
 实在不行了,可以在每个节点上加上一些小电容(fF量级) 
 最后。。。。。。。。。。那只能换参数了,呵呵1 
 starsim可以做数模混合吗 
 你做过大型memory的仿真吗,比如sram,或者EEPROM,FLASH之类的 
 
 
-- 
如果错过这一次,以后我会不会后悔? 
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.147.102] 
发信人: flyji (专一的双子星座), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 13:00:34 2001) 
 
 
在节点之上加电容是不是就是mos管子参数中的“AS、AD、PS、PD”这四个参数? 
修改尺寸的话,不知应该怎么改?这个电路一共有2100个管子左右,时间步长问题 
应该修改哪一部分?触发器?振荡器? 
我前面所说的数模混合仿真其实是指都是基于电路的,并不是硬件语言和模拟电路 
的混合仿真。这种仿真Hspice也可以的,无非是将数字部分也当作模拟电路来跑。 
starsim有四种仿真模式,针对数字或是模拟用不同的模式可以极大的提高速度。 
memory仿真没有做过,但是starsim对于mem仿真用MR模式可以有很大的速度优势。 
 
 
【 在 laukababy (cherish u) 的大作中提到: 】 
 因为spice参数很难做提取到在任何情况下都收敛 
 有的时候即使是电路正确,它也会说internal step is too small 
 我以前做的时候,要么就是修改一些尺寸,要么修改步长, 
 实在不行了,可以在每个节点上加上一些小电容(fF量级) 
 最后。。。。。。。。。。那只能换参数了,呵呵1 
 starsim可以做数模混合吗 
 你做过大型memory的仿真吗,比如sram,或者EEPROM,FLASH之类的 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.11.199] 
发信人: flyji (专一的双子星座), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 13:03:48 2001) 
 
 
 
呵呵!不好意思,这一点没有说清楚 
正是因为10ms的仿真时间和周期相比太短(估计一个周期都不到,当时估计错误)?nbsp;
所以才要增加仿真时间——大侠,这样的话是不是电路有可能有问题? 
?nbsp;
【 在 CISC (mistral~~假亦真来真亦假) 的大作中提到: 】 
 和时钟周期(如果有的话)相比,10ms是否足够长(几十个时钟周期)?nbsp;
 电路是否基本完成了一些功能, 
 如果是的话,电路的问题几率应该比较小。 
 ?nbsp;
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.11.199] 
发信人: bluepainter (沉默的小山), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 13:40:20 2001) 
 
timestep too small 就是指无法收敛。 
你可以采用以下几个方法: 
        1. 在一些节点加很大的电阻(不影响电路性能),来改变节点方程。 
           这种方法不会影响电路的模拟结果,但对收敛的改善不显著。 
        2. 在.option 语句中加入改善收敛的语句。比如对收敛精度降低 
           迭代次数加大等。其中的参数有RELVDC,RELH,CONVERGE,DCON等。 
 
           在hSPICE的手册里有很多改善的措施,你可以看DC or AC  
           中CONVERGENCE那部分。HSPICE在模拟的速度,精度,收敛性三 
           方面进行折衷。 
         
           其中常用的是: 对每个节点都加一个很大的电阻或电容。 
               .OPTION   GSHUNT=1E-11  CSHUNT=1E-11 
           等。 但这会降低模拟精度。 
     
       3.  改变电源的波形。在电路起动时让恒流源缓慢上升。在HSPICE中也 
           有这样的OPTION,不过你可以自己来改。在不影响电路的情况下这种 
           方法对收敛的改善最好。 
 
?nbsp;  
 
【 在 flyji (专一的双子星座) 的大作中提到: 】 
 总是提示timestep too small。看信息提示无不收敛的节点。 
 我想仿真10s,.tran中的步长已经小到10us还是不行(.tran 10us 10s) 
 最大内部步长试了很多值也不行 
 在Pspice中似乎可以将ITL4的值设为很大,增加迭代次数来收敛,但 
 Hspice中好像只有ITL1这个参数,是用来增加直流迭代次数的,增大 
 后还是没有效果。 
 请问各位大侠,这个问题应该怎么解决? 
 多谢了! 
 
 
-- 
 
 
            ?nbsp; 没有开始, 没有结束, 
 
               只有我飞翔的梦。?nbsp;
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.77.58] 
发信人: laukababy (cherish u), 信区: METech        
标  题: Re: Hspice仿真一个问题! 
发信站: BBS 水木清华站 (Wed Apr 25 17:12:33 2001) 
 
加一个很大的电容?? 
我一般是用.option cshunt=1e-12 
不知道你说的增大恒流源方式具体在option是怎样实现的 
或者应该看哪部分帮助文档 
【 在 bluepainter (沉默的小山) 的大作中提到: 】 
 timestep too small 就是指无法收敛。 
 你可以采用以下几个方法: 
         1. 在一些节点加很大的电阻(不影响电路性能),来改变节点方程。 
            这种方法不会影响电路的模拟结果,但对收敛的改善不显著。 
         2. 在.option 语句中加入改善收敛的语句。比如对收敛精度降低 
            迭代次数加大等。其中的参数有RELVDC,RELH,CONVERGE,DCON等。 
            在hSPICE的手册里有很多改善的措施,你可以看DC or AC  
            中CONVERGENCE那部分。HSPICE在模拟的速度,精度,收敛性三 
            方面进行折衷。 
            其中常用的是: 对每个节点都加一个很大的电阻或电容。 
                .OPTION   GSHUNT=1E-11  CSHUNT=1E-11 
 ................... 
 
-- 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条