设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准 。该部分称为前仿真 。
先进行模块级仿真(IP Level),然后在放到一起片级仿真(chip level) 。
仿真工具:Synopsys的VCS,Mentor ModelSim(Linux版本为Questasim),Cadence Verilog-XL,Cadence NC-Verilog 。该部分个人一般使用Modelsim,公司里应用最广泛的还是VCS 。
IP级验证要用到基于SystemVerilog的UVM方法学,这个是属于验证工程师的范畴 。
5、逻辑综合――Logic Synthesis
逻辑综合是个比较灵活的环节,有时放在前端,有时放在后端,不同公司不同安排 。
仿真验证通过,进行逻辑综合 。逻辑综合就是把HDL代码翻译成门级网表netlist 。
综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准 。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的 。所以,综合库不一样,综合出来的电路在时序,面积上是有差异的 。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真)
逻辑综合工具:Synopsys的Design Compiler,仿真工具选择上面的三种仿真工具均可 。
6、静态时序分析——STA
Static Timing Analysis(STA),静态时序分析,验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation) 。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题 。
STA工具:Synopsys的Prime Time 。
7、形式验证——Formality
验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证 。
常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性 。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能 。
形式验证工具:Synopsys的Formality 。
从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路 。
后端设计流程
1、可测性设计——DFT
Design ForTest,可测性设计 。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试 。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元 。关于DFT,有些书上有详细介绍,对照图片就好理解一点 。
推荐阅读
- 叶晚秋罗飞是什么电视剧
- 梦见小狗是什么意思 关于梦见小狗的解梦
- 钾盐是什么盐
- 山涧是什么意思整个词语的意思 山涧解释
- 宝可梦漆黑的魅影打完爸爸还有神兽吗 口袋妖怪漆黑的魅影主线最后一个任务是什么
- 女人的幸福是什么? 女人的幸福是什么?
- 怎么判断自己的上升星座 星座是怎么算的
- 抗击疫情的句子 分别是怎么写的
- 来之不易是什么意思 来之不易解释
- 倡导诗界革命的诗人是谁-引发“诗界革命”的诗人