IC开发中的验证:核心内容与流程解析

通过仿真、时序分析、上板调试等手段检验设计正确性的这个过程,我们把它叫做验证。很多情况下是由独立于设计团队之外的团队来执行验证工作,对项目有个全新的认识。在FPGA/IC开发流程中,验证主要包括功能验证和时序验证。

验证分为以下几个部分:

1.设计输入:

利用HDL输入工具、原理图输入工具或状态机输入工具等把所要设计的电路描述出来。

2.功能验证:

即前仿真,利用Modelsim、VCS等仿真工具对设计进行仿真。检验设计的功能是否正确,常用的仿真工具有Synopsys公司的VCS,Cadence公司的NC-Verilog和NC-VHDL,Model Tech公司的ModelSim等。

仿真过程能及时发现设计中的错误,加快了设计进度,也提高了设计的可用性。

3.综合:

综合优化是把HDL语言翻译成最基本的与或非门的连接关系,并根据优化所生成的门级逻辑连接,输出edf和edn等文件,导出给CPLD/FPGA厂家的软件进行实现和布局布线。

常用的专业综合优化工具有Synplicity公司的Synplify/Synplify Pro、Amplify等综合工具,Synopsys公司的FPGA Compiler II综合工具,ExemplarLogic公司出品的LeonardoSpectrum等综合工具。另外FPGA/CPLD厂商的集成开发环境也带有一些综合工具,如Xilinx ISE中的XST等。

4.布局布线:

上面【综合】的结果只是通用的门级网表,一些门与或非的逻辑关系,与芯片实际的配置情况还有差距。此时便应该使用FPGA/CPLD厂商提供的实现与布局布线工具,根据芯片的型号,进行芯片内部功能单元的实际连接与映射。

这种实现与布局布线工具一般要选用所选器件的生产商开发的工具,因为只有生产者最了解器件内部的结构,如在ISE的集成环境中完成实现与布局布线的工具是Flow Engine。

5.时序验证:

其目的是保证设计满足时序要求,即setup/hold TIme符合要求,以便数据能被正确的采样。时序验证的主要方法包括STA(StaTIc TIming Analysis)和后仿真。在后仿真中将布局布线的时延反标到设计中去,使仿真既包含门延时,又包含线延时信息。

这种后仿真是最准确的仿真,能较好地反映芯片的实际工作情况。仿真工具与综合前仿真工具相同。

6.生成并下载BIT或PROM文件,进行板级调试。

在以上几个主要开发步骤当中,属于验证的有功能仿真和时序验证两个步骤,由于前仿真和后仿真涉及验证环境的建立,需要耗费大量的时间,而在STA中对时序报告进行分析也是一个非常复杂的事情。

因此验证在整个设计流程中占用了大量的时间,复杂的FPGA/IC设计中,验证所占的时间约60%~70%之间。

相对而言,在验证的几个内容中功能验证最受重视,研究讨论得最多,特别是现在FPGA/IC设计都朝向SOC的方向发展,设计的复杂都大大提高,如何保证这些复杂系统的功能是正确的成了至关重要的问题。

功能验证对所有功能进行充分的验证,能尽早保证所有功能完全正确,满足设计的需要。任何潜在的问题都会给后续工作带来极大的困难,问题发现得越迟,付出的代价也就越大。

这里将以功能验证为主说明验证方法、工具、验证环境的建立。

做功能验证时,需要建立验证环境,以便对设计(DUT/DUV,Design Under Test/Verification)施加特定的输入,然后对DUT的输出进行检查,确实其是否正确。在实际验证工作中,一般采用由TESTBENCH 和DUT(design under test)组成的Verification体系。

Verification体系是验证系统普遍适用的模型,Testbench为DUT提供输入,然后监视输出,从而判断DUT工作是否正确。这是一个封闭的系统,没有输入也就没有输出。

END

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空