FPGA核心知识详解(3):那些让FPGA初学者纠结的仿真
电子发烧友网核心提示:对于FPGA初学者而言,如何正确了解并理解FPGA的仿真是关键。应广大FPGA初学者和爱好者要求,电子发烧友网编辑根据多名在FPGA领域有过多年工作经验 的前辈介绍,特此为大家整理并分享以下关于FPGA各种仿真的简洁介绍。若大家有任何需要补充的或本文有任何不当之处,欢迎在评论中加以说明。同时也可加入电子发烧友网FPGA技术交流群(QQ:263281510)跟大家一起探讨,更欢迎大家加入电子发烧友网论坛参与互动。
初学者学习FPGA,必定会被它的各种仿真弄的晕头转向。比如,前仿真、后仿真、功能仿真、时序仿真、行为级仿真、RTL级仿真、综合后仿真、门级仿真、布局布线后仿真等。
Quartus和Modelsim软件的仿真形式
Quartus II有两种仿真形式:1、功能仿真;2、时序仿真。
Quartus II调用Modelsim的两种仿真形式为:1、RTL级仿真;2、Gate-level仿真。
以下内容均经过资料查证,详细如下:
理解方法一
当用quartus进行仿真时,分为功能仿真(al)和时序仿真(Timing);
当用Modelsim-Altera时,分为功能仿真(RTL)、综合后仿真(post-synthesis)和布局布线仿真(Gate-level)。其中,功能仿真又称为前仿真,布局布线仿真又称为后仿真。
注:此处的功能仿真(RTL)与1中的功能仿真(al)是不一样的,前者是HDL级仿真,后者是门级网表的功能仿真。
(1)当在quartus中调用Modelsim-Altera进行RTL仿真时(前提是在第三方仿真工具中选择Modelsim-Altera),步骤如下:
a) 编写源文件和测试文件;
b) Assignment-》setting-》simulation-》不选中run gate leve simulation.。..。,选中nativelink-》添加测试文件,填写文件名;
c) start analysis&elabration;
d) Tools-》start RTL simulation;
(2)综合后仿真一般不做。
(3)当在quartus中调用Modelsim-Altera进行Gate-level仿真时(前提是在第三方仿真工具中选择Modelsim-Altera),步骤如下:
a) 编写源文件和测试文件;
b)Assignment-》setting-》simulation-》选中run gate leve simulation.。..。,选中nativelink-》添加测试文件,填写文件名;
c)全编译;
评价:对于Assignment-》setting-》simulation-》"run gate leve simulation automatically after comlilation"选不选中根本没必要说明,完全可以不用选中,需要在设置处把测试文件testbench添加就可以了(不添加的话到时候 quartus调用出modelsim软件后需要手动添加编译,下面补充了)。如果你想RTL级仿真,那么对于quartus ii只需要进行分析综合就可以,然后点击Tools-》Run EDA Simulation tool-》Run RTL Simulation即可,软件会自动将源文件以及测试文件在modelsim软件里编译,仿真出波形。如果你想Gate-level级仿真,那么对于 quartus ii需要对工程进行全编译,然后点击Tools-》Run EDA Simulation tool-》Run Gate-level Simulation即可,软件会自动将网表文件.vo(verilog输出文件)或.vho(VHDL输出文件)以及测试文件在modelsim软件里编译,并将标准延迟文件SDF(.sdo)添加到modelsim里面,仿真出波形。
补充:顺便说一句,如果没有在Assignment-》setting-》simulation把测试文件testbench设置好的话,不论是在RTL还是Gate-level级仿真,调用出modelsim后Quartus只把.vo或.vho文件送到modelsim里编译了,然后都需要手动把testbench编译进去的,并且将在Run Gate-level Simulation仿真的时候,.sdo文件也需要手动添加,相对来说比较麻烦。
理解方法二
Modelsim-Altera仿真一般分为功能仿真,前仿真(综合后仿真)与后仿真(时序仿真或布局布线后仿真)。
根据设计需要,编写完代码(Verilog hdl,Vhdl,system Verilog )后,首先进行功能仿真,验证所写代码是否能完成设计功能;前仿真又称为综合后仿真,即在QuartusII完成综合后,验证设计的功能;后仿真又称为时序仿真或布局布线后仿真,是加入延时后的仿真。对于编译时间较短的小规模设计,一般只进行功能仿真与后仿真。
理解方法三
modelsim 是专门进行仿真的软件,可以分别进行前仿真和后仿真。前仿真也称为功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与testbench。后仿真也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环
QUARTUS II ModelSim Nios 仿真 FPGA 相关文章:
- 基于MC8051 IP核和FPGA的频率计设计(11-24)
- 基于FPGA和Quartus II的多功能数字钟设计与实现(11-18)
- 谁能缩短大容量FPGA的编译时间?增量式编译QIC!(11-25)
- QUARTUS II中IP核的调用方法(图文详解)(02-16)
- 基于FPGA的ARM并行总线设计与仿真分析(07-15)
- 基于FPGA的数字密码锁(07-04)