首先,我把我用到的软件说明一下。如果你发现根据我的操作,你还是解决不了ModelSim后仿真的问题,那就可能是软件版本的问题。
1, ModelSim Se 6.1b 2, Synplify Pro 7.5.1 3, ISE 5.2i (这个是老了点) 4, WindowsXP(这个应该没有多大的关系) 还有就是我使用的是verilog,我想VHDL的方法与verilog是差不多的,最多也就是在建库方面有点差别而已。下面的这些方法,是我这3天搞出来的。当然也参考了一些文章。如果谁有更方便的方法,欢迎指出来。我的邮箱是 vf1983cs@163.com。有空大家多交流。 一、 为modelsim生成3个库。 首先,介绍一下这三个库。 Simprim_ver:用于布局布线后的仿真。 Unisim_ver :如果要做综合后的仿真,还要编译这个库。 Xilinxcorelib_ver:如果设计中调用了CoreGen产生的核,则还需要编译这个库。 我们要为modelsim生成的是标准库。所谓的标准库就是modelsim运行后,会自动加载的库。不过这方面我还不是很肯定。因为我在后仿真时,还是要为仿真指定库的路径,不然modelsim找不到。 第一步:在modelsim环境下,新建工程,工程的路径与你想把库存储的路径一致。 第二步:新建库,库名起作simprim_ver。我们首先就是要建的就是这个库。 第三步:在modelsim的命令栏上,打下如下命令: vlog -work simprim_ver d:/Xilinx/verilog/src/simprims/*.v 其 中的d:/Xilinx是我的Xilinx的安装路径,你把这个改成你的就行了。以下凡是要根据自己系统环境改变的内容,我都会用绿色标出,并加一个下划 线。编译完之后,你会发现你的工程文件夹下出现了一个simprim文件夹,里面又有很多个文件夹。这些就是我们要的库了。 第四步 :按照上面的方法,编译另外两个库。所需要键入的命令分别如下: vlog -work unisim_ver d:/Xilinx/verilog/src/unisims/*.v vlog -work xilinxcorelib_ver d:/Xilinx/verilog/src/XilinxCoreLib/*.v 如果你想要编译的是VHDL的库,你需要建立的库分别是simprim,unisim和xilinxcorelib。这三个库所需要的modelsim指令分别如下: vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.vhd vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.vhd vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.vhd vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.vhd vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd 二、 在ISE环境下,调用synplify,生成后仿真所需要的文件。
在 这3种仿真中,只有第一种没有生成sdf文件。也就是说在modelsim中,只有第一种可以不用把sdf添加到仿真器中(废话!!)。到这时,所有为后 仿真所做的准备工作就都完成了。下面就后仿真举例。我们要进行的是Place&Route Simulation!所以按下图标,生成为下一步的工作所需要的文件吧。 三、用modelsim进行后仿真。 在开始这一步之前,建议为你的设计新建一个文件夹。当然你也可以不这样做,不过对于所造成的麻烦,本人不负责! 后仿真总共需要3个*.v文件。一个是你的模块的测试文件,一个是ISE生成的xxx_timsim.v(注意,我们要更改这个文件的文件名,改为 xxx.v,也就是你的顶层模块名了。这也是我要求新建文件夹的原因了,重名这件事比尔.盖茨是不答应的)。另一个是glbl.v文件。这个文件在 Xilinx安装盘:/Xilinx/verilog/src下。VHDL不需要第3个文件。复制这3个文件到新建的文件夹下,开始我们的第一步工作。 [转载者注:需要将ise工程下的netgen目录拷贝到后仿真工程目录下。ISE8.1,Modelsim 5.8环境] 第O步:为xxx_timsim.v改名!!! 第一步:新建工程,把3个文件添加到这个工程里。(大家都这么熟了,不用教了吧) 第二步:在project框里按右键—》add to project –》adding simulation configuration,如下图: 第三步:在弹出的对话框里,选择SDF项。把ISE生成的SDF文件添加进出。如下图: 记 住Apply to Region这一项要写好。它对应的是你的tb文件(就是测试文件)调用的顶层模块名。(不是顶层模块名!!)比如你的测试文件是text,例化顶层模块 top为i_top,那你应该这样填:text/i_top或者/text/i_top。如果是第一种仿真,此步可以省略。 [转载者注:如果text文件中的顶级模块是top_module,这里应该是./top_module/i_top, Modelsim 5.8环境下] 第四步:添加library。 我们创建的那三个库终于派上用场了!我们要添加的就是这3个。选择library项,添加这3个库。你的库建在哪里,就去哪里找!这个也不用说了吧!如下图: 第五步:选择要仿真的模块。 你先不要急,看清楚再选。(有些朋友性子急,驾轻就熟就选了) 我们要选的仿真模块可不止一个,如下图,用CTRL键实现!!选了之后点0k!! 第六步:进行后仿真! 完成上一步后,project框如下图所示,双击Simulation 1,modelsim就进入仿真了,是不是很方便! 第七步:做你该做的! |