不知道大家跑仿真的时候,会不会遇到需要动态调整设置的情况?
比如一个bandgap的startup,一开始需要仿真精度比较高,之后电路基本上稳定之后,各个工作点基本上不变,可以降低仿真精度。
又比如我想测试一个电路的温度稳定性能,假设这个芯片在冬天的东北,忽然从温暖的室内拿到室外,环境温度骤降好几十度。
或者是输入的信号是个动态的幅值连续变化的情况。
一般来说,如果用一个高精度的仿真或者好几个独立的仿真,是足以应付上面的需求的。不过cadence既然已经给了一个很不错的设置功能,我们何不试试看呢?
在这篇文章的例子里面,作者君用了一个ahdllib的理想放大器,test bench如下:
左边是一个全差分输入的设置,vdd是1.8v。右边是ideal opamp,增益我填的是10。此时我们的输入信号用的是v0的vsin, v4是个vdc,目前有个红色的叉叉在上面。这个叉叉是shift加delete键按出来的,表示目前没有用到这个模块。后面需要这个模块的时候,再按一次shift加delete键就可以清除掉这个叉叉了。
现在就让我们来看看如何在transient仿真里面设置吧?
可以看到,最下面有个叫dynamic parameter的东西。打上勾之后,出现了parameter和parameter set两种选项。我们先来看看parameter。
如果下面的param选择默认的user-defined,就可以手动输入自己设置的变量。我这里的vamp是我在vsin里面设置的amplitude变量。输入vamp之后,下面会出来这个可以一直添加的表格,自己填写时间和vamp的数值,就可以了。
好了,我随便写了几个变量值,让我们跑一下transient吧!
仿真结果就是这样的。颜色较浅的两条线是差分输入信号,蓝色的线是ideal opamp的输出。可以看到,和我前面的设置相对应,在2us,4us,6us的时候,输入信号发生了变化,因此输出也随之发生了变化。这个仿真结果说明了上面的设置是可行的。
同样的,除了改变我们自己设置的参数变量值,我们还可以改变其他一些仿真设置,比如:
这张图里的errpreset就是仿真精度的设置。如同我刚刚举的bandgap例子,大家可以在startup开始工作的一段时间内,使用高精度conservative,在后面的时间里使用moderate或者liberal。当需要跑大量的pvt或者mc时,这样的设置方法相比于一直使用conservative的高精度,应该是可以加快仿真速度的。有兴趣的同学可以试试看。
除此之外,还有set的设置。
如上图,如果选择了parameter set,就不单单是前面的一个变量了。你可以加上各种各样的变量组合。比如我在2us的时候,设置了vamp,设置了温度变量temp为-25,还准备加上仿真精度errpreset。后面的尝试,就交给各位读者朋友了!
前面我讲到了我的test bench里面那个红色的叉叉。现在我们换一个信号源:
我还是用shift加上delete,删掉了vsin,但是重新采用了vdc。dynamic parameter的设置还是跟前文一样,新的电路仿真结果如图:
其实这个结果比vsin还要清晰一点。同样也是在2u,4u,6u,的时候,输入信号发生了变化,因此输出也随之发生了变化。
好了,这点transient仿真的小技巧就讲到这里了。有兴趣的读者们可以试试看啦!
针对消费领域而推出的IP67防水高性能密封连接器
Q3全球TWS耳机出货量增长3.9%!小米、boAt争夺第三,三星面临“危机”
常见的EMC滤波网络设计方案解析
币圈熊市当头,区块链大力寻求高端人才
三大EDA软件公司断供华为!本土EDA公司能否抗旗?
看看如何在transient仿真里面设置吧
Mobileye正在利用母公司英特尔公司的芯片制造能力来制造激光传感器
多云安全要以架构和治理为重点
正式投产!华为助力全球最大、海拔最高水光互补项目--雅砻江柯拉一期光伏电站并网发电
2020工业互联与智能制造创新大赛成功举办!
高效率、低成本的60W电源适配器方案是怎样的?思睿达给出答案了
MIC防水膜材料的作用
天线的基本概念及制作
江西正加速智能制造发展,推动新兴技术和制造业深度融合
ScaleFlux发布新一代产品 引领数据中心高效计算存储
波峰焊的焊接温度一般要控制在多少范围之内
波束成形雷达在人工智能加持下可能是自动驾驶的制胜法宝
物联网企业慧联无限(Easylinkin)宣布完成B轮融资,融资规模1.5亿元
小小一块木板,让你回归温馨愉快的家庭生活
两篇大厂CTR预估最新工作