• 新话题来啦!仿真与理论的完美结合---开篇


    作者:一博科技高速先生成员  黄刚

    高速先生其实想写这个话题很久了,因为每年高速先生无论是在研讨会上还是客户现场,又或者是高速先生文章和客户的互动中,都有很多朋友希望高速先生多介绍一些和仿真相关的知识,问得最多的问题之一就是“你们是用什么软件进行仿真的啊?”,高速先生是一直都把粉丝的需求记在心上的哈,这个话题虽然总总总会迟到,但是不会缺席哈!

    高速先生决定在这个时候开展这个话题主要基于几方面的原因哈:一是一直关注高速先生文章的老铁们都知道,我们已经很久很久没有做过系列的文章了,这几年的文章内容都相对杂乱,内容虽然精彩但是却不够系统,因此我们的每期小册子出得相当有难度;二是写仿真相关的话题需要涉及到仿真软件,就像这个系列一样,我们都会一直使用cadence的仿真软件来写,因此在每篇文章中可能都需要用到这个套件的其中一个功能,因此对高速先生来说也是一种温故知新的机会哈;第三肯定就是时间和人力啦,高速先生团队其实一直都处于忙碌的状态,只不过最近新加入了不少小伙伴,然后他们也在学习仿真技术中,因此才利用这个机会分享这个系列,话题的内容会比较适合大众的硬件工程师、PCB工程师、测试工程师以及刚入门的SI工程师哈!因此高速先生觉得现在就是开启这个话题的最好时机了!作为开篇,高速先生先简单的介绍下这个系列话题希望分享给朋友们什么东西。

     首先SI理论永远是入门这个行业的“内功心法”,但是却令不少朋友望而却步,因为上面的理论其实都不那么容易懂,夹杂着公式、算法、理论于一体,不能靠死记硬背,更需要融会贯通,最好是能够形象的量化出来。例如高速先生举一个入门级的例子---传输线反射理论。

    如上所示,我们发送一个0到1的阶跃信号,链路上首先经过50欧姆的串阻,然后遇到100欧姆的一定长度的传输线,负载是一个高阻的950欧姆电阻,问在负载端的电压会怎么实时变化?当然很多人的第一反应是“不就是50欧姆和950欧姆分压,不就是0.95V吗?”当然这个答案是对的,但是放在我们高速信号来说,他又不全对,因为它只是最后稳态的时候才是0.95V,前面很短时间(ns级别)时一直在变化!

    去求解这道题需要用什么SI理论?我们可以告诉你用的是反射的理论,阻抗遇到不匹配的节点时会反射,反射会出现反射系数和传输系数,通过几个电路公式的推导,就能够得到反射系数和传输系数的算法。

    这个时候你就可以开始解这道题了,其中我们高速先生的小伙伴在初学的时候一定会画过这么一张“反弹图”来手写算出来,草稿就是下面这样子。一顿操作猛如虎,结果都还没算到反射五(第五次反射的值)。

    难,理论是真的难,通过人工的方式量化出结果来更难,这个时候大家就会遇到了第二个难点了,想通过仿真解决但是仿真软件该怎么使用,怎么通过精确的搭建仿真模型来得出人工难以算出的结果。还是上面那道题,如果我们会搭建这么一个仿真链路的话,那出结果也就是几秒的事情了。

     这个时候我们只需要做一个时域的仿真,就可以获得在负载端的结果,如下所示:

    可以看到在若干次之后已经不断的逼近我们一开始的答案0.95V了,但是对于高速先生,前面的波动才是我们需要去关注的。。。

    最后一个问题,仿真能解决什么实际问题呢?同样还是以上面的这个反射理论来举例子,我们遇到过某个网口产品项目中,千兆网不能顺利的link上,主要定位到了CPU到PHY的这一组RGMII走线通道上,该走线通道中间串有串阻。

    一开始电阻的选型为22欧姆,然后板子出现千兆网link不上的问题,我们经过波形测试后发现,波形在上下阈值判断的位置出现台阶,影响了接收端的判断。

    我们通过搭建链路仿真,的确有仿真出测试点上有这样的一个台阶,并而在仿真时可以扫描这个22欧姆串阻的值,发现改为0欧姆之后台阶会往高低电平去移动,也就是会远离阈值的电平位置,于是建议客户换上0欧姆串阻试试,结果调试就能够成功link上千兆速率了。最后客户补充一个0欧姆串阻的测试结果,发现和仿真高度一致,台阶位置移动了,远离了阈值电平,判别没有问题了。

    对,我们这系列的文章会以这样的形式来呈现给粉丝们,让SI理论更容易被大家理解,也让大家明白SI仿真的意义和重要性。高速先生初步规划会覆盖到包括传输线、反射端接、串扰这些基本理论的阐述,另外还包括一些与产品项目相关的理论,例如DDR方面、电源方面、高速串行方面、封装仿真设计方面等内容,当然也希望更多的覆盖到粉丝们的需求,大家可以在问题后面留言,告诉高速先生你们最期待的是哪方面内容,我们可以根据你们的需求随时调整哈,我们也会截取几条最有文采的留言,给予一份惊喜而美丽(简称精美)的小礼品哈!那开篇就讲到这里咯,敬请期待该系列后面的文章。

  • 相关阅读:
    四、值类型 和 引用类型
    MySQL——内置函数
    OpenCV数字图像处理基于C++:灰度变换
    Python 线性查找
    全网最全,自动化测试框架知识,赶上测试人员的“潮流“......
    部分gcc预定义宏和函数栈帧的内存分布
    Kubernetes 集群部署 Prometheus 和 Grafana
    重难点详解-关系代数表达式
    【办公类-19-03】办公中的思考——Python批量制作word单元格照片和文字(小照片系列)
    Vue脚手架Ⅰ(初始化脚手架,render函数,修改默认配置,ref属性)
  • 原文地址:https://blog.csdn.net/edadoc2013/article/details/127651536