通过在网络上的学习,终于学会了用modelsim_ase做时序仿真了。现在总结一下。
具体步骤:
1、建立工程,加入设计文件(.v或.vhd)
2、加入.vo或.vho文件(这两个文件是综合后产生的仿真文件,分别对应
verilog hdl 和VHDL语法格式,可用quartus ii 生成)
3、将设计文件的SDF/SDO文件和要用到的编译好的原语库拷贝到当前的modelsim工程目录下。(SDF/SDO文件里有延时信息,是进行时序仿真必需的文件),以我的为例,我用的是CLONE II的,就拷贝CYCLONE II原语库
4、编译设计文件和.vo文件
5、点击simulation-----start simulation,在弹出的窗口的DESIGN一栏选好要进行仿真的设计,然后点击LIBRARY,添加加入当前工程目录的原语库。完了之后,点击SDF栏,添加加入当前工程目录的SDF/SDO文件,接着在下面的region一栏中填好SDF文件对应的例化名,比如说,我用仿真顶层文件叫IIC_TOP,而SDF文件记录的是i2c_controller_top的延时信息,它是在这个顶层文件中被例化了,例化名为u2,那就在这一栏里填上u2.。
6、点击OK。
可能出现的错误及其原因和解决方法:
1、Failed to find INSTANCE xxxx 原因是没有填好region一栏。解决方法见步骤5
2、找不到原语库 。原因是没有把编译好的原语库拷贝到工程目录下/或没添加原语库。(PS:对于modelsim_ase来说,已经自带了许多编译好的altera原语库,可以到modelsim_ase--------altera--verilog/vhl(视所用的语言而定)中寻找,编译好的库是个文件夹,直接把文件夹整个拷贝就行,如,需要cyclone ii库,就直接拷贝名为cyclone ii的文件夹。)
3、找不到编译好的SDF文件。原因时没有把SDF文件拷贝到当前工程目录下。