首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

G21 仿真的意义

测试告诉我们现在在那里,而仿真告诉我们应该往那里走,可以走多远

也许,你刚刚毕业,每天做着繁琐的小事,看到别人示波器上花花绿绿的波形,觉得无比新奇……也许,你在其他方面已做的娴熟无比,看到各式各样的眼图,总是忍不住想去试试……也许,你整天埋头测试,抱着示波器跑来跑去,看到做仿真的一台电脑走天下,总是无比羡慕……也许,你已是仿真老鸟,对于仿真的态度,经历了神秘,兴奋,混沌,绝望,自大,迷惑…… 还也许,你是仿真界的大牛,那么请你,给我们解惑……

对于我自己,除了最后一个,其他都有所经历,一路走来,跌跌撞撞,从未放弃希望和梦想,也从未消除迷茫和绝望。仿真的意义到底是什么?也许是每一个SI工程师值得思考的问题,我所能想到的,也许只是黄金中的沙砾,期待你的补充。

首先,仿真可以缩短产品研发周期,在没有仿真的情况下,一般会根据理论知识和经验,做出第一版产品,然后测试,发现问题,改善问题,重新打板,重新测试……周而复始,直到没有问题发生。而如果可以做仿真呢?在第一版设计过程中,就可以对各个信号进行仿真,评估,改善,再仿真,直到所有仿真都可以满足系统要求的情况下,才正式生产。一般来说,第一种情况大概需要三到四版PCB,才可以上市,而第二种情况,大部分时候,两版就可以上市了,而现在有很多设计公司,都承诺一版成功。这其中,不仅节省了研发周期,研发人员,更可以提早上市,抢占市场先机。

其次,我猜大部分人小时候都玩过类似叠硬币的游戏,一个一个硬币错落的叠上去,看谁的硬币先倒,仿真在很多时候,就是在做类似的事情,仿真可以让我们的设计在没有任何错误的前提下,达到性能和成本的极限,在我们不想做这些的时候,应该意识到,我们的竞争对手们都在孜孜不倦的不断尝试。不断提高时钟频率,提高数据速率,缩小PCB面积,减小PCB层数,找到产品的极限,只有如此,才可以在产品手册中,写上领先竞争对手或市场预期的性能指标。当然,成本和性能永远是一对欢喜冤家,这里所说的性能极限,是在成本,市场,技术等等许可的情况下,做到最好的权衡。

另外,仿真还可以预测产品发生错误或故障的概率,而这种概率,对于不同产品,经常会有不同的要求,而且往往都是很难测试的,比如,个人用的笔记本电脑,三四个月发生一次死机或蓝屏,大概没有人会特别在意,可是如果微信的后台服务器,三四个月就发生一次故障,几亿用户同时掉线,就不是一件小事了。所以,你的产品错误发生概率到底有多大?一个月一次?一年一次?十年一次?还是一百年一次?这种事,大概也只有仿真可以做了吧。

还有,仿真可以做很多测试做不了的事情,比如,测试的时候,人们都知道要测试Worst Case, 可是什么情况才是Worst Case,仿真中,可以把整个系统链路中各个参数(buffer, slew rate, TXLE, CTLE,各段传输线阻抗,长度,各种不同ODT, 温度,湿度,加工工艺带来的性能误差……)随机组合,整一个大大的表格(学名叫DOE),然后整个成千上万个case进行仿真,总会有一个是worst case, 可是测试中,可以测试的样本总是有限的,很难去包括大部分情况。

那么,测试就不重要了吗?仿真和测试的关系又是什么样呢?

一个不太准确的例子,假如你是公园管理员,而公园里面有下面两块石头,经常有人在下面去乘凉,需要去评估它们到底安不安全。普通的管理员,大概会拿一根很长的木棍,从各个方向,各个角度,用各种力气,去推这块大石头,然后看它是纹丝不动,还是有点晃动,或者晃动很厉害,来判断它是否安全。如果这个管理员实在无聊,用木棍捅了之后,他还不放心,另外一种可能的方法,大概会先对石头进行建模,石头形状,大小,重心位置,接触面积……然后模拟各个方向,各种条件下,多大的力才能让石头倒塌,从而判断它的安全性到底有多大。

其实,这两种方式,有点类似测试和仿真,那么,到底那种更好呢?我觉得,我们应该综合两种方法,它们各自得到的数据都有各自的优势,人的力气总是有限的,也不可能从每一个角度去推石头,可是仿真,大概也不会注意到石头下面有一个蚂蚁窝,时间久了,这个区域有会土地松软的可能。所以,仿真和测试总是应该相互验证,相互补充,才能得出更加合理的设计。相濡以沫,总是好过相忘于江湖。

仿真最具有优势的地方,是可以得出各个参数对设计结果的敏感度,从而有目的性的对设计进行取舍,优化,比如一个设计有三个变量,第一个变量对结果几乎没什么影响,而第三个变量却对结果很敏感,那么在设计优化的时候,我们就不会不断的尝试调试第一个变量的值。

所以,在很多设计中,测试和仿真都同等重要,测试告诉我们现在在那里,而仿真告诉我们应该往那里走,可以走多远。

归根结底,做仿真的目的,无外乎是,在合理的时间和成本允许下,帮助我们做出更加明智的选择。

仿真虽好,可是要得出精确的仿真结果,并不容易,需要所有的建模都是合理的,所有的仿真方法都是相对准确的,而这些,正是我们孜孜以求的动力和方向。SI大师Eric曾说,每做一个仿真之前,都应该用你的知识和经验,来预测仿真结果是什么样子的,如果你预测对了,你的自信心又提高了一点,如果你预测错了,你就又得到了一次提高自己的机会。

那么,一起努力吧!

信号完整性之旅

本公众号所有文章,虽力求正确,准确,但由于水平有限,错误在所难免,欢迎各位公正,友好的指正。

请你怀疑:

本文所写的每一句话,

都可能是错的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G11X2B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券