想很多人跟我一样,被ModelSim的后仿真搞的头晕脑胀

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

想很多人跟我一样,被ModelSim的后仿真搞的头晕脑胀。为了这个问题,我在网上找了很多的资料,但发现这些资料往往说的不明白。一些步骤被作者有意无意地省略掉,这常常给读者造成不必要的麻烦,所以我决定写下这一篇文章,把这3天我努力的结果拿出来,与大家分享。

首先,我把我用到的软件说明一下。如果你发现根据我的操作,你还是解决不了ModelSim后仿真的问题,那就可能是软件版本的问题。

1, ModelSim Se 6.1b

2, Synplify Pro 7.5.1

3, ISE 5.2i (这个是老了点)

4, WindowsXP(这个应该没有多大的关系)

还有就是我使用的是verilog,我想VHDL的方法与verilog是差不多的,最多也就是在建库方面有点差别而已。

下面的这些方法,是我这3天搞出来的。当然也参考了一些文章。如果谁有更方便的方法,欢迎指出来。我的邮箱是

****************。有空大家多交流。

一、为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 unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.vhd

vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.vhd

vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd

关于VHDL方面,我没有实践过,如果有误的话,改一下应该问题也不大。

第五步:把库建好后,接下来的事情就是使它成为modelsim的标准库。这只要修改modelsim安装目录下的modelsim.ini 文件就可以了。修改后的内容如下:

[Library]

std = $MODEL_TECH/../std

ieee = $MODEL_TECH/../ieee

verilog = $MODEL_TECH/../verilog

vital2000 = $MODEL_TECH/../vital2000

std_developerskit = $MODEL_TECH/../std_developerskit

synopsys = $MODEL_TECH/../synopsys

modelsim_lib = $MODEL_TECH/../modelsim_lib

simprim_ver = G:/EDA/Xilinx/simprim_ver(库的路径,以下同)

unisim_ver = G:/EDA/Xilinx/unisim_ver

xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver

注意的是,这个文件是只读属性。修改之前要把这个属性去掉。

第六步:关掉工程,重启modelsim。查看这3个库是否在library框里面。

如果你看到了,那么恭喜!你已经完成了第一个大步骤!!接下来,就是在ISE环境下如何用synplify对设计进行综合的方法了。还要说明的是,这一步是一劳永逸的!有了第一次,第二次就不用了。

二、在ISE环境下,调用synplify,生成后仿真所需要的文件。

之所以要在ISE环境下调用synplify,主要是因为方便!我也尝试过在synplify环境下综合设计文件,然后在ISE里编译synplify生成的edif文件。但是不成功。ISE在第三方工具支持方面做的是比较好的,感觉跟用ISE直接综合一样。不过有一个缺点是看不了RTL原理图。你可以在synplify中打开ISE生成的synplify工程文件,解决在ISE中不方便查看synplify 综合结果的问题。现在,就要开始第二个大步骤了!

第一步:创建ISE工程文件。选择好器件。注意Design Flow中一定要选择Synplify Pro Verilog。

相关文档
最新文档