模拟混合验证官︱DV说鬼知道我经历了什么?”

time : 2018-08-31 11:15       浣滆咃細鍑′嚎pcb

模拟混合验证官︱DV说"鬼知道我经历了什么北京PCB?”
北京PCB上文从DV在老板层和员工层两方面做出了分析。跃跃欲动的准DVer又需要经过哪些历练呢?小白有何快速入门手册?在自动化征程上的硅农有着什么样的码农之路呢?DV的八边形法则是啥?DV又是什么四不像呢?且听此文介绍。模拟混合信号设计验证?北京PCB嘿,不就是一个跑仿真的嘛?刚毕业的小孩儿就可以做:搭Test Bench,跑仿真,看结果。可是真的落到实地,刚毕业的小孩儿准备了什么才能跑起仿真来?具体每步怎么做?小白怎么入手?如果一开始就是大量的英文帮助文档,这是多么地打击一个初学者的热情哈?嘿嘿,这是有解决办法的。有一本很好的入门书,浙江大学何乐年老师、王忆大牛编著的《模拟集成电路设计与仿真》(此处必须的广告植入哦!)。里面有最基本的模拟电路概念,例如放大器,数模转换等;更是有模拟集成电路的仿真技术,例如怎么跑瞬态、怎么看增益/相位裕度,怎么看待噪声等。如果能把这本书好好研究一遍,恭喜你,已经真的进到DV的门槛里面来了。好了,终于一个仿真搞定了,接下来却发现是大量的工艺电压温度(PVT)组合仿真;大量的大量的仿真。提交仿真,等待仿真,后处理结果。北京PCB一些工作看着简单,但是谁知道提交上去的仿真,会不会netlist生不成啊,会不会中途仿真空间满了呢,又有的时候会不会仿真莫名其妙地就Crash了呢。好不容易有了大量仿真的结果,看那么多的波形,那么多的数据,一个个点开来又是超级的多。人肉工作最是累累累!这时候,你就会开始想着怎么偷懒了,如何在知道有大量仿真的情况下高效的工作呢,怎么能省事呢。恭喜你,因为你马上就进入了学习Code的阶段。然而代码的世界,是一个侯门一入深似海的世界。首先你发现用实际的电路仿真来建立TB,建立Checker,有点太慢了。于是你开始把一部分电路做成模型;开始的时候是在电路里用元器件做模型;后来写上代码的你喜欢用Verilog/VerilogA/VerilogAMS写;开始时候模型写的很简单,后来发现关心的东西多的时候,可以写的很复杂;渐渐的你喜欢上了Wreal,搞得和实际的差不多。抑或你研究透了table model啥的,搞得更高大上一些。但是可能做的模型太复杂了,速度其实并没有优化多少,你又回过头来开始选择合适的模型:开始不成熟时候用简单的就行;愈发准确时候就用复杂的。迭代这个词语,你越发的知道其中的道理。再后来,你已经在大量的仿真工作中,逐渐有点不喜欢一个一个点击的ADE了;于是你开始试图放弃GUI环境,通过代码来解决问题了;于是你开始向EDA跟班学习了。北京PCB什么Shell啊,Skill啊,以及里面的Ocean啥的,开始进入你的世界,脱离了经常在服务器负荷比较重的时候、点击啥就发白、响应半天的GUI界面;突然之间你会有一种飞起来的感觉;通过两只手敲击代码就能跑起来仿真,你会想着再也去繁琐的界面点点点了;当然了,事实证明后面还是有些陌生的工作得跑回去用通俗易懂的GUI界面。北京PCB由于知道有大量的仿真会等着自己来完成;你更注重于Stim和Checker的设计了。能Calculator提取出来的后处理数据固然不错,但是能够和芯片不停交互的Checker更是让人喜欢;抓数据,设置Limit范围;这样子大量仿真之后立马知道结果,多好啊。另外,为了大量仿真能够快速完成,你在尽可能的数字化,模拟信号数字化;Checker数字化;等等,极尽全力就是为了加速。通过Checker,制造了大量的仿真数据。Perl就欣然跑上舞台了。大量的文本处理,从来就离不开Perl。想什么东西能够自动化生成,想什么结果能够规范的处理好,就来学习Perl吧。再后来,发现Python也不错,语法清晰简单,读起来不能说是朗朗上口、却也意思明了、一点就通;维护起来也更容易一些;所以一些人就放弃了有时候会感觉上有点复杂的Perl,开始了追逐Python的道路。当然了,有了数据,Excel也扮演了很重要的角色,VB/VBA也开始进入大家的眼球。就是为了方便,大家纷纷在寻找着各种途径。数字化程度越高,你也慢慢关心起来数字验证了。UVM,Coverage,Assert等观念也开始进入视线。而System Verilog作为一个基础的语言工具,你又得学起来了;什么Class,什么Random,有些东西本来Verilog要半天才能搞定;System Verilog几句话就行了。当然了,喜欢高级语言是没有尽头的,因为SystemVerilog上面还有System C,C;等等等等;一个好好的硅农,正在像码农的方向飞速奔跑着。来来来,看看这个示意图吧:简笔画本身依然是网络上摘录的,我这里就是负责它的组合拼凑,来赋予它思想和内涵的。