FPGA仿真验证.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA仿真验证

第一编 验证的重要性 验证,顾名思义就是通过仿真、时序分析、上板调试等手段检验设计正确性的过程, 在 FPGA/IC 开发流程中,验证主要包括功能验证和时序验证两个部分。为了了解验证的重 要性,我们先来回顾一下FPGA 开发的整个流程。FPGA 开发流程和IC 的开发流程相似, 主要分为以下几个部分: 1 )设计输入,利用HDL 输入工具、原理图输入工具或状态机输入工具等把所要设计的电 路描述出来; 2 )功能验证,也就是前仿真,利用Modelsim、VCS 等仿真工具对设计进行仿真,检验设 计的功能是否正确;常用的仿真工具有Model Tech 公司的ModelSim,Synopsys 公司的VCS , Cadence 公司的NC-Verilog 和NC-VHDL ,Aldec 公司的Active HDL VHDL/Verilog HDL 等。 仿真过程能及时发现设计中的错误,加快了设计进度,提高了设计的可靠性。 3 )综合,综合优化是把HDL 语言翻译成最基本的与或非门的连接关系(网表),并根据要 求(约束条件)优化所生成的门级逻辑连接,输出edf 和edn 等文件,导给CPLD/FPGA 厂 家的软件进行实现和布局布线。常用的专业综合优化工具有Synplicity 公司的synplify /Synplify Pro 、Amplify 等综合工具,Synopsys 公司的FPGA Compiler II 综合工具(Synopsys 公司将停止发展FPGA Express 软件,而转到FPGA Compiler II 平台),Exemplar Logic 公司 出品的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 设计流程的其他环 节由于需要人为干预的东西比较少,例如综合、布局布线等流程,基本所有的工作都由工具 完成,设置好工具的参数之后,结果很快就可以出来,因此所花的时间精力要比验证少的多。 一般而言,在验证的几个内容中功能验证最受重视,研究讨论得最多,特别是现在FPGA/IC 设计都朝向SOC (System On Chip,片上系统)的方向发展,设计的复杂都大大提高,如何 保证这些复杂系统的功能是正确的成了至关重要的问题。功能验证对所有功能进行充分的验 证,尽早地暴露问题,保证所有功能完全正确,满足设计的需要。任何潜在的问题都会给后 续工作作带来难以极大的困难,而且由于问题发现得越迟,付出的代价也越大,这个代价是 几何级数增长的。这里将以功能验证为主说明验证方法、工具、验证环境的建立。 做功能验证时,需要建立验证环境,以便对设计(DUT/DUV ,Design Under Test/ Verification ) 施加特定的输入,然后对DUT 的输出进行检查,确实其是否正确。在实际验证工作中,一 般采用由TESTBENCH 和DUT(design under test)组成的Verification 体系,如图1 所示。 这是验证系统普

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档