Modelsim分为几个不同的版本:SE 、PE、LE、OEM,其中SE是最高级的版本,而集成在Actel 、Atmel、Altera、Xilinx及Lattice等FPGA厂商设计工具中的均是OEM版本,SE版本和OEM版本在性能上有很大的差别,一般我们推荐使用SE版本进行仿真。有很多使用Vivado的都喜欢使用Vivado自带的仿真工具进行仿真,我自己也使用过,感觉跟modelsim的差距还是很大,仿真一个PCIE的IP核,modelsim大概十分钟左右就搞定,Vivado自带的仿真工具跑了将近半个小时。
关于modelsim/Queasim软件的安装包下载,破解以及使用教程网上也都是有一大堆,自己去搜一搜就看看就可以了,我就不做多余的阐述了,仿真脚本在网上也是有一大堆,但是拿过来一看,基本上都是大同小异,总感觉缺少一些自己总结的东西。
下面是我工作以来自己一直在用的一个脚本,感觉还很实用,都是自己东凑西凑慢慢积累起来的,在仿真中使用alias这条语句是在altera的官方仿真脚本中学来的,它可当做是一个verilog中的task一样在modelsim的命令窗口中调用,可以把我们需要输入的仿真脚本全部封装在alias里面,在modelsim的命令窗口中只需要输入alias的名字就可以调用里面对应的命令。
这个脚本也不难,大部分行里面的脚本大家在其它地方都见过,我在这里对部分脚本在做一下阐述:
1.filelist_create这个可以参考我的另外一篇文档《自动生成filelist的tcl脚本》;
2._TOP_LEVEL_NAME这个是仿真testbench顶层名字,一般我都默认为test_top;因为我的每一个工程的仿真顶层都是取这个名字。
3.在alias dev_com里面,我在仿真的时候也并不是每次都会使用filelist,因为filelist里面一般只包含rtl代码,当需要仿真大型IP的时候,像DDR、PCIE等,并不适合这么做?