FPGA验证简介

FPGA验证简介

ID:37933937

大小:297.81 KB

页数:7页

时间:2019-06-03

FPGA验证简介_第1页
FPGA验证简介_第2页
FPGA验证简介_第3页
FPGA验证简介_第4页
FPGA验证简介_第5页
资源描述:

《FPGA验证简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文为edacn.net特约创作,作者deve第一编验证的重要性验证,顾名思义就是通过仿真、时序分析、上板调试等手段检验设计正确性的过程,在FPGA/IC开发流程中,验证主要包括功能验证和时序验证两个部分。为了了解验证的重要性,我们先来回顾一下FPGA开发的整个流程。FPGA开发流程和IC的开发流程相似,主要分为以下几个部分:1)设计输入,利用HDL输入工具、原理图输入工具或状态机输入工具等把所要设计的电路描述出来。2)功能验证,也就是前仿真,利用Modelsim、VCS等仿真工具对设计进行仿真,检验设计的功能是否正确;常用的仿

2、真工具有ModelTech公司的ModelSim,Synopsys公司的VCS,Cadence公司的NC-Verilog和NC-VHDL,Aldec公司的ActiveHDLVHDL/VerilogHDL等。仿真过程能及时发现设计中的错误,加快了设计进度,提高了设计的可靠性。3)综合,综合优化是把HDL语言翻译成最基本的与或非门的连接关系(网表),并根据要求(约束条件)优化所生成的门级逻辑连接,输出edf和edn等文件,导给CPLD/FPGA厂家的软件进行实现和布局布线。常用的专业综合优化工具有Synplicity公司的synpl

3、ify/SynplifyPro、Amplify等综合工具,Synopsys公司的FPGACompilerII综合工具(Synopsys公司将停止发展FPGAExpress软件,而转到FPGACompilerII平台),ExemplarLogic公司出品的LeonardoSpectrum等综合工具。另外FPGA/CPLD厂商的集成开发环境也带有一些综合工具,如XilinxISE中的XST等。4)布局布线,综合的结果只是通用的门级网表,只是一些门与或非的逻辑关系,与芯片实际的配置情况还有差距。此时应该使用FPGA/CPLD厂商提供的

4、实现与布局布线工具,根据所选芯片的型号,进行芯片内部功能单元的实际连接与映射。这种实现与布局布线工具一般要选用所选器件的生产商开发的工具,因为只有生产者最了解器件内部的结构,如在ISE的集成环境中完成实现与布局布线的工具是FlowEngine。5)时序验证,其目的是保证设计满足时序要求,即setup/holdtime符合要求,以便数据能被正确的采样。时序验证的主要方法包括STA(StaticTimingAnalysis)和后仿真。在后仿真中将布局布线的时延反标到设计中去,使仿真既包含门延时,又包含线延时信息。这种后仿真是最准确的

5、仿真,能较好地反映芯片的实际工作情况。仿真工具与综合前仿真工具相同。STA的意思是静态时序分析(StaticTimingAnalysis),做FPGA设计时是必须的一个步骤,事实上大家一般都已经做了这一步,我们在FPGA加约束、综合、布局布线后,会生成时序分析报告(在ISE中可以运行TimingAnalyzer生成详细的时序报告),设计人员会检查时序报告、根据工具的提示找出不满足setup/holdtime的路径,以及不符合约束的路径,这个过程就是STA。细致全面的STA可以保证设计的时序符合要求,只要代码robust(综合结果

6、符合设计原意),可以省略后仿真。功能仿真加STA(静态时序分析)并不能涵盖后仿真的作用,因为后仿真事实上有检验综合结果是否正确的作用,而功能仿真正确并不能保证综合结果和RTL设计人员的原意一样,综合器能正确综合的前提是RTL代码编写具有良好的代码风格,例如if-else语句完整、case语句完整、组合逻辑敏感列表完整,只有在这样的条件下,综合结果才有保障,否则即使功能仿真正确,综合出来的电路的功能不一定正确。对于综合过程出现的偏差,后仿真可以发现,因为后仿真实质上门级仿真,可以同时检验功能和时序是否正确,后仿真验证能保证实现结果

7、是正确的。后仿真的不足之处在于仿真速度比较慢,因此如果不想做后仿真,对FPGA设计来说,可以做功能仿真、综合后仿真和STA,对IC设计可以做功能仿真、形式验证和STA。另外需要注意的是,加时序约束要完整,因为STA根据时序约束做检查,如果约束不正确,STA结果就不准确.经常会出现功能验证正确而后仿真结果不正确的问题,一般是由setuptime/holdtime不满足等时序问题引起的,说明在综合与布局布线过程中没有进行约束或者约束条件不完全,导致STA分析结果不准确、不完全。例如设计存在两个时钟域,一个快、一个慢,附加约束时一般要

8、最设计整体附加较松的约束,再对局部附加较紧的约束,然后再对慢时钟和快时钟之间的路径进行约束,这一般也是较紧的约束,如果忘了最后一部分约束,那么STA会认为设计人员对这部分路径没有要求,因而不分析这部分路径,这样即使这部分路径的延迟非常大,STA也不会提示错误,但

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。