加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

模拟混合验证官︱做Model就做两件事:做加法、做减法

2017/05/05
30
阅读需 47 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

 

了解完仿真器的特点,你也就明白了做 Model、想“洞见”所需要的“时间”和“精度”怎么办呢?想要时间上快快快,就尽量的向 Digital 仿真器靠拢;想让精度上准准准,就尽量的向 Analog 靠拢。做 Model,就是永远在做两件事情:做加法、做减法。做不同的加减法,就得到不同的 Model 级别。由于大部分 Analog 出身的人,最熟悉不过的就是 Schematic 了,所以对于一个 ADV 而言,对 Schematic 的加法,可以得到:Critical Part Model;BA Model。对 Schematic 的减法,可以得到:VerilogA;VerilogAMS;Real Valued Model(RVM);Verilog;Reference Model 等。下文将分级介绍。

Schematic
Schematic,也就是通过工艺直接给的 PDK,利用现在 EDA 工具,直接仿真,这对于 Design 而言,基本上狭义而言就就没人说它是 Model。但是它本质也是一种 Model,只不过 Process/EDA 等人已经把环境和数据妥妥得给你设置好了,像傻瓜照相机一样,你不用管三七二十一,直接用就行了。这个 Schematic 不需要耗费任何额外的经历,它是生活必需品。Layout 就指望着这玩意干活呢,DV 也指望着这玩意 Verification 呢。所以如上图所示,划分 Model 等级的时候,也特意把它作为 Golden 标准,其仿真速度也设置为 1x。


2.1 对 Schematic 的加法
问题是 PDK 总是能 cover 到我们想要的么?什么情况下,我们应该给这个自动的傻瓜式的 Schematic Model 做做加法呢?

Critical Part Model
其实工艺提供的 PDK,也是一种 Model,只不过是一种 Fab 经常验证、感觉比较精准的 Model。当电流太小的时候,PDK 曲线上给的数据还精准么?记住 PDK 上给的东西,大部分时候也是根据大多数人常用的范围、那里的数据是比较准确的;但是过大、过小了偏,都可能导致 Model 和实际的 silicon 之间有很大的不吻合;因为如前面介绍,Analog 要求处理的数据最好是连续的、光滑的;大大小小的电流、尺寸都照顾到,这该需要多么万能的数学表达式啊?如果都搞得这么精准,仿真器会不会更是慢成翔呢?当市场要求低功耗、你也在拼命的减小每条支路上面的电流的时候,千万记得,当你减小的太狠的时候,先去问问 PDK 当年建立 Model 的时候,那些数据是不是真实的;会不会只是数学表达式自己的外推推断(extrapolate)而得到的虚假数值而已。

当管子太大、layout 走线太长的时候,PDK 上面单个管子的参数是不是就不能那么比例的扩大了呢?所以就需要加入对大的管子,例如 powerFET 本身的走线电阻电容网络,对其人肉手工做 Model。

又例如,其实每个 device 都是有噪声的,Cadence 的仿真工具,也有这个功能:trans noise,ac noise。但是如果平时仿真,把 transnoise 功能打开(做个小广告:transnoise 可以在仿真的时候设置什么时候 turn on,什么时候 turn off,以后有空本公众号会介绍),那么仿真时间就蹭蹭的往上涨了。对于一些关键的、敏感的节点,如果很在乎噪声的影响,想快速的得到有噪声影响之后的结果的话,可以再发挥人肉 Model 的作用,自己去用 VerilogA/VerilogAMS 等去写一个随机变化的噪声源,那么就可以在不用打开 transnoise,不用大费 CPU 仿真时间的情况下,初步得到有 noise 时候芯片的表现了。

总之,就是当 PDK 提供的东西,已经不能满足你日益增长的 performance 的需求的时候,就要自己对于关键节点、自己在乎的信息“撸起袖子加油干”了,这就是所谓的 CriticalPart Model(这个词语没有看到哪里有专门介绍过,算是本人创造的哈)

 


BA Model
当 Layout 拿到手的时候,EDA 工具已经有非常完善的 LVS,QRC 了,所以你可以不花费太多力气就能拿到提取了 R,C,RC 等寄生参数的 av_extracted view 了,所以做做后仿真(很多人也叫它 Back  Annotated simulation,BA sim)本身在设置上没有多大的困难。不过本来就是仿真笨拙的 schematic 仿真,现在又加了这么多 R,C,会不会仿真就更是慢了呢?而 Layout 都出来的时候,项目正是催着要流片的火急火燎的时候,有啥好办法不?当然传统的第一个方法就是 Subsystem 仿真了,把一些不重要的 block 换成 schematic,甚至 Model,只关心重要 block 的性能。另外,在提取 RC 的时候,把最小值设置的高一点,否则太多的虾兵虾将,将 Analog 仿真器要解的矩阵增大好多,而实际影响不大。还有一点有意思的事情是,如果只提取 C,而不提取 R 的话,那么整个电路的仿真时间并不会增加多少。原因是 C 并没有将电路仿真时候要求解的矩阵的信息增大。而如果提取了 R 的话,则大大的增加了求解矩阵的复杂程度,所以仿真时间长了很多。有一高手朋友特意给画了图,来解析这背后的原理:如果只有 C,A 节点依然是 A 节点;如果提取了 R,A 得裂变成 A1,A2…瞬间环路就来了。有木有一种瞬间秒懂的感觉哈?


 
总之,做加法的目的,主要就是在于提高精度。这是高性能的模拟 IC、模拟 IC 占很大比重的混合 IC 所在乎的。这还是仅仅讨论的芯片本身的做加法,如果再加上 Thermal Model, Package Model, Board Model,  Transmission Line Model 等,就更是精准的实际 IC 应用环境了,这也是大的话题了,这里不再赘述。

2.2 对 Schematic 的减法
显然对 Schematic 做加法的弊端就在于其速度。如果关心速度,关心时间,就需要做减法的 Model。这也是很多 SOC,包括 Digital 芯片的做法,一层层的做各种减法。

VerilogA
首先想的就是能不能先和工艺 PDK 脱离了关系,反正我就是用的电阻电容,它就是一堆电流电压方程,我自己来写就行了,不要仿真器费力了;抑或是一些电流源放大器 AMP,我自己知道他们是啥数学表达式,我来表达一下就行了;就不需要好多个 Transistors 在那里搭啊搭的了,几句电流电压关系式就搞定了。所以 VerilogA 比 Schematic 还是要快的。

 “Analog”这个处理连续时间的行为(continuous-time behavior)的 Key Word 跃然纸上,这也是 Verilog 和 VerilogA 重大的不同了。VerilogA Model 和 VerilogAMS 相比,其好处也在于是纯 Analog 仿真器,这样子由于引入 digital 等、接口处理不好等导致的收敛性等较少,也算干净。但是其缺点在于还是慢。另外就是懂 VerilogA 的工程师远远少于懂 Verilog 的工程师;即使不少模拟出身的人,精通 VerilogA 语言的也不多。看惯了 Verilog 的人,如果是去看纯 VerilogA 写的东西,当 Control 等信号太多的时候,有时候会觉得 VerilogA 太啰嗦。

VerilogAMS
尽管 VerilogA 已经走上了语言的道路,但是利用的还是纯 Spice 的模拟仿真器,还是前面介绍的纯模拟仿真器的天然劣势,一步三回头的矩阵求解作风,是很多控制信号、高频 Switching 信号所不 Care 的;但是这些控制信号又给 Analog 仿真器增加了好多负担,Analog 最讨厌高频乱动的信号了,尤其是方波,连续性还差,出力不讨好。既然 Analog 看不惯高频乱动信号、控制信号,而控制信号、高频信号又不喜欢 Analog,那就分家吧。所以 AMS 横空出世,谁不喜欢 Analog 仿真器,就都到我们 Digital 家里去吧。于是乎,很多高速 Switching 信号、控制信号、trim 信号等,屁颠屁颠的就被 Model 带走了。想写 Model 的人,终于知道带谁玩了:首当其冲的就是这些很占用 Analog 仿真器精力又出力不讨好的东西们。于是乎,一些 cross,above 等 Key Word,联合着 Analog 里面的 transition,timer 等 KeyWord,把这 A-2-D,D-2-A 的事情做了。我这里说的简单,其实里面细节非常多。我们公众号会在以后挑选一些重要技巧来详细讲解。

为了能够把 Analog 和 digital 仿真器联系在一起,仿真器在背后也是默默做了大量工作的,这就是 Mix-signal 的仿真器了;其中重要一项就是 Connect  Module。总之,引入两个仿真器,好处是大大的,同时却也提高了做 Model 人的经验要求。Model 想建立好,还是非常需要经验的。手生的人,即使建立的 Model,可能已经把精度 accuracy 消减了很多、只是功能描述,但是如果它和仿真器契合度太低,那么它可能就并不会真正的提高多少速度,即使它精度已经下降了很多。甚至有的时候,A 到 D, D 到 A,写的不好的话,相互缠绕,还会给仿真器带来不收敛问题。所以想学习做一个好的 Model 很有必要,一个不好的 Model 甚至不如不做,一些项目在紧张的时候,可能不做 Model;也是有其道理的。做 Model 的能力,也是需要培养的。一旦培养好了,力大无穷。

总之呢,这些付出是值得的。因为 VerilogAMS 写好的话,速度嗖嗖提高个上百倍那都不是梦,那都不是事儿(背景音乐:天空飘来五个字,那都不是事儿。。。)

 


Real Valued Model(RVM)
激进的人要求的更多,能不能再快点,再快点?把那些残留的 Analog 信号也干掉,但是同时也不要光秃秃的给我只留下“0,1,x,z”的 digital 信号。一个非常重要的东西,RealValued Model 就是解决这些人的梦想的。老前辈们制造出来了”wreal”的物种,来专门解决这个问题(严格意义 / 更全面的说,VHDL 和 SystemVerilog 中的 real,也是解决这个问题的)。Wreal 是一个很好的东西,很有创意,很值得探讨。下篇就详细讲讲 Wreal 的故事。

Real value Model 是一个非常重要的突破,因为它终于成功抛弃了 Spice,它将 Analog 信号用离散的 real 数值来代替了。于是乎不像 VerilogAMS 里面有太多的交互,它直接在 Digital 的领域里面自由奔跑了,下一个数值仅仅依靠当前的就行了,对光滑性、连续性要求大大降低,那速度能不快么?想不快都不行。

Verilog
这玩意就不用详细说了,很多人都懂。所以很多 Cadence 等业界 Model 培训教材,都拿它开涮,作为学习初始章节。我本着不让大家“一上来就没有睡着”的认真负责态度,果断把它放到这大后面了。

Reference Model
其实尤其对于模拟 ICer,了解到硬件描述语言 Verilog 已经算挺够的了,因为越往上面就更和 Transistor 啥的相关性小了(所以上面图片也就到 Verilog 结束了)。但是其实做数字的、尤其大规模数字的,对 Verilog 形成的 Model,也依然存在不满意度。还慢,还不够友好到让软件工程师一下子就看懂。如何打通软件和硬件之间的联系?

苹果曾经被记者点名称赞过自己是一个“能够将软硬件完美结合的公司”,苹果本身很重视 IC 研发;“安卓的 OEM 厂商们可以‘复制’出指纹传感器或者是 3D Touch 机制,但他们无法复制苹果对底层芯片的把控能力。”让一个软件工程师去懂硬件描述语言,显然太痛苦了。但是如果每次都是硬件生产完了,再看软件,显然在这个快速的时代有些笨拙。

显然用更高级的语言来对 Verilog 进行再抽象就很有必要。很多验证工程师,尤其熟悉 UVM(Universal Verification Methodology)的,搞出来的 Reference Model,或者系统工程师的 virtual prototype 或者算法(algorithm)模型 Model 就是进一步的做减法而得到的 Model。System Verilog,System C,总是有各种给力的语言来支持你的需求的。这个 Model 硬件工程师轻松看懂,软件工程师也能看懂,很好的又实现了一次跨界连接。软件工程师也就不用再等硬件了、两者都可以很 happy 的同时开工了,在研发早期、Silicon 出来之前,就能一起看看是不是能达成大 boss 布置的宏伟愿景了:例如手机更省电、手机更快,快的让你飞起来(没有给 VIVO 做广告啊。。。)

以上就是 Model 做减法的东西,VerilogA, VerilogAMS,RVM, Verilog,Reference Model,一步步脱离 Analog,一步步走进 Digital,甚至脱离硬件飞向软件。这就是 Model 做减法的魔力,火箭做起来,速度飞起来;当然也是以精度一步步掉血为牺牲代价的。

 
总之,想到 Model 就两件事情,做加法,做减法。想让 Model 准,就做加法,模拟各种真实的环境和存在;甚至 OverModel,模拟得比实际环境更恶劣点。想让 Model 快,就不停的做减法,向数字靠拢,像更抽象靠拢。总结下刚才介绍的各个 Model 级别,如下表所示:

 

与非网原创内容,不经允许,不得转载!

系列汇总:

之一:谈模拟混合信号设计验证?先从这个职位说起吧!

之二:DV 这个职位不是说服了老板就能招到人!

之三:DV 说"鬼知道我经历了什么?”

之四:模拟混合验证如此重要,ADV 的前辈们也非等闲!

之五:Model 的本质目标就是“时间+精度”

特斯拉

特斯拉

Tesla 致力于通过电动汽车、太阳能产品以及适用于家庭和企业的综合型可再生能源解决方案,加速世界向可持续能源的转变。

Tesla 致力于通过电动汽车、太阳能产品以及适用于家庭和企业的综合型可再生能源解决方案,加速世界向可持续能源的转变。收起

查看更多

相关推荐

电子产业图谱

毕业于浙江大学信电系为电子系、超大所,曾经从事模拟电路设计工作,目前在知名外企进行模拟混合混合信号设计验证。个人爱好:写作并分享。个人微信公众号:模拟混合信号验证(yaliDV)。