对于使用,或者过度使用SPICE仿真的争论由来已久。很多工程师在很大程度上依赖仿真,而手算量相对很少。其他工程师对于仿真嗤之以鼻,只通过手算和测量来解决问题。我个人认为均衡的方法才是最好的办法。我喜欢用计算、仿真和测量来试着确认电路的有效性。如果你在所有三个方法中的结果都是一致的,那么你就会对你的解决方案更加有信心。
对于新入行的工程师,他们常常想知道为什么不能只依赖仿真。事实上,在仿真时应该考虑几个常见缺陷。第一个缺陷就是SPICE不论电路是否连接正确都将给出一个答案。例如,某些仿真器也许不会发现你将放大器的电源接反了。在电源反向时运行噪声分析将会由于放大器未被偏置而给出错误结果。然而,结果看上去是可信的,从而使工程师得出错误结论。
总的来说,如果你运行几个不同的仿真来确认电路运行的话就可以轻松避免这个缺陷。例如,在你运行噪声分析前进行ac扫描并计算dc工作点来确认电路运转正常。更重要的是,你也许应该进行手工计算来确认仿真结果“大致正确”或者接近预期值。
另外一个常见的仿真缺陷是你所分析的关键参数不一定在仿真模型的覆盖范围之内。
例如,如果你正在进行噪声分析,此模型需要将噪声运行方式包括在内。有两个方法可以克服这个缺陷。首先,打开模型的网表 (netlist)。很多模型的网表显示所包含的全部参数列表(请见图1)。另外一个方法是开发一个非常简单的测试电路来查看此模块是否覆盖了有疑问的参数。例如,在缓冲器配置中配置放大器来测试频谱密度。
图1:查看建模内容
仿真的另外一个常见问题是数值聚合。
仿真器有时会由于内部矩阵数学运算超过软件的处理能力而拒绝为你提供答案。由于你可以利用很多技巧来帮助软件聚合,这个话题还是很复杂的。需要注意的是,你可以找到很多涉及SPICE聚合问题的网络资源。此外,解决方案也许取决于你正在使用的SPICE仿真器类型。
考虑到所有这些不同的仿真缺陷,也许有人会问为什么我们要进行仿真呢。事实上,SPICE仿真使你能够解决很多手工分析难以搞定的问题。例如,运算放大器稳定性分析在很大程度上取决于开环输出阻抗。实际器件有很复杂的开环输出阻抗(请见图2),而这些阻抗会使手工计算异常复杂。在实际操作中,很多工程师通过使输出阻抗接近一个常量来进行手工分析,然后使用SPICE来获得更加准确的结果。此外,SPICE模型包含大范围参数,也许在手工分析中你并未将这些参数考虑在内。SPICE还提供诸如Monte Carlo 分析和参数步进等很多有用工具,这些工具可以帮助你确定设计的耐用性。最后,在SPICE可以实验简单而快捷。你可以使用SPICE来迅速运行广泛测试,然后使用手工计算来确认某些关键测试。
图2:在SPICE模型中得出的复杂输出阻抗
来源:TI社区
真还是不真,才是根问题?真之定义?假之所为?真假对应,适宜为度,何为度?自律节制难把住!
名可名非常名。道可道非常道。