数字验证在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工作是否正确。这是一个封闭的系统,没有输入也就没有输出。
  IC修真院完全还原真实企业项目开发场景,以项目驱动学习,不仅学习技术更要掌握应用,真实应用带动学习热情,帮助学员更好的提高实战应用能力,达到企业级用人标准。
  在这里插入图片描述

数字验证训练营即将开课,火热招生报名中,只要本科以上都课咨询报名!早学早就业!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值