《总结FPGA软件用法》由会员分享,可在线阅读,更多相关《总结FPGA软件用法(22页珍藏版)》请在金锄头文库上搜索。
1、总结FPGA软件用法一 Modelsim最近一直没有弄明白FPGA的什么是前仿真和后仿真。经过这几天的折磨终于弄明白了。所谓的前仿真也就是功能仿真,它所实现的是只是对功能进行验证。而对于代码在FPGA运行时候所出现的线延时或者出现毛刺的时候代码能否实现设计功能是无法验证的。这些都需要在FPGA的后仿真进行。Modelsim前仿真的基本步骤是:1、 打开Modelsim 6.5 SE 选择File - New - Project如图1所示图12、 弹出下面的对话框 图2 Project Name输入工程的名称,尽量与模块的名称相同(因为Quartus ii要求工程名与实体名相同,所以培养成这种习
2、惯)3、 选择Create New File图 34、弹出如下图所示的对话框4、 编写Verilog被测试和测试代码并保存。5、 在Project对话框中,选择任意的文件点击右键选择Compile - Compile All如下图所示6、编译完以后再Layout选择Simulate 在Library选择测试文件然后点击Simulate如下图所示7、点击View-wave,将需要观察的信号拖入wave对话框中,如下图所示8、点击Run就可以观察输出波形,如果没有看见可以点击输出的信号充满整个屏幕。 Modelsim 6.5 Se的前仿真的操作步骤就到此结束了二 关于Quatrus ii 与 mo
3、delsim 的联合仿真(前仿真与后仿真)1. 前仿真前仿真和后仿真区别在于前仿真属于功能仿真只需要XXX.v(被测的文件)和XXX_test.v(测试文件)两个文件。后仿真还需要加入一个关于硬件的文件,(该文件根据所选择的硬件的型号来定)例如 选择的是cyclone系列的芯片所以在C:altera90sp2quartusedasim_lib中选择cyclone_atoms.v文件。关于Quatrus ii 与 modelsim 联合仿真的步骤如下:1、 打开Quatrus ii新建立一个工程如sftreg。2、 进入菜单栏的Assignments 选择EDA Tool Settings,其设
4、置如下图所示:3、 点击重新编译后,在工程目录中将会多了simulation文件夹。然后将cyclone_atoms.v(C:altera90sp2quartusedasim_lib)和被测试文件(如sftreg.v)拷贝在simulation/modelsim文件夹下面,以便于后仿真使用。注意同时前仿真的时候还要把测试文件*test.v文件拷到工程目录下。如下所示:前仿真: 打开modelsim 在Library对话框下点击File - Change directory弹出对话框下图所示: 将路径设置为工程所在文件夹,如下图所示:在Library的窗口下,讲原来的work文件删除,如下图所示
5、: 然后再空白处点击右键,选择New - Library然后点击Compile - compile ,弹出下面的对话框,选择测试和被测试的文件,如下图所示编译完成后点击work 选择测试文件,然后点击右键选择Simulation,如下图所示:弹出如下图,将需要观察测的信号拖入波形窗口中在波形窗口中点击Run就可以看到波形输出了综合后功能仿真的步骤:进行综合后功能仿真需要的输入文件: 在QuartusII 里面生成的网表文件.vo; TestBench 文件; 仿真原型文件(在这时就添加进来)或预编译的库文件(仿真时指定) 1、打开modelsim 在Library对话框下点击File - Ch
6、ange directory弹出对话框下图所示:4、 路径设置如下图,路径一定要设置在工程文件simulationmodelsim5、 在Library的空白处点击右键,选择New - Library,新建一个work_test6、 然后点击Compile - compile ,弹出下面的对话框,选择能选择的文件(被测试文件和测试文件都要编译还有网表文件.vo),如下图所示,注意Library对话框中一定要选择你所建立的文件夹,例如这里选择了work_test. 7、 编译完成后,在Library的面板中点开work_test选择测试文件,点击右键弹出如下图,将需要观察测的信号拖入波形窗口中在
7、波形窗口中点击Run就可以看到波形输出了前仿真可以直接用modelsim进行仿真,后仿真就需要Quartus ii和modelsim进行联合仿真。到此为关于FPGA的相关软件的基本操作就结束了!布局布线后仿真后仿是在前仿的基础上进行的,只是借用QuartusII生成几个文件(网标文件.vo,反标注文件.sdo)添加到Modelsim里,然后再添加Alterad的库就OK了。首先,用Quartus建立一个工程,把刚才的add.v作为顶层模块,综合,布局布线,这个在上一结已经讲过,这里就不多说了,然后点击如图所示:这样就会生成一个文件夹simulation,里面会有需要的文件,要复制到Models
8、im工程的文件夹下,如图红圈所示:然后,回到Modelsim工程下,把刚才复制到Modelsim工程下的add.vo文件导入到工程下面,如图所示:选择add.v文件添加进来以后进行编译,当问好“?”变为对号“”时,就编译OK,下来进行仿真;点击仿真图标,先选中激励文件add_top.v文件,但不要和前仿一样,不能直接就点击OK,还要设置两项;第一项,导入Altera的库,这个库在Modelsim安装程序的路径下,点击Libraries-add,选择仿真库,我选择的是Cycloneii,因为我用quartusII建立工程的时候就是选择的是CycloneI,两个要一至;I第二项,点击SDF(但是如果在.vo文件中搜索到有.sdo文件就不用再经行后面的工作了),添加add.sdo文件,点击add,索引工程下面的add_v.sdo文件,第二栏是填写应用区域:/激励模块名/实例化名,以上都设置好以后就可以点击OK了,就会直接出现下面的图片,然后添加波形;查看波形;这个就是时序仿真的波形,和功能仿真的时序图有所不一样吧,我认为这个和仿真激励有关。这个就是我总结的前仿和后仿。