在搭建Xilinx开发环境(1)中以及介绍了如何在Modelsim下编译Xilinx库,完成库编译后,就可以利用Modelsim进行仿真Xilinx的各种IP core了,而不需要在ISE下先进行综合,大大节约了时间。下面就简单描述一下整个过程。
为了验证编译库后的Modelsim可以仿真Xilinx的IP core,我们在设计中例化几个常用的IP core:
(1)ROM
(2)DCM
(3)乘法器
从上面的途中可以看到,我们例化了一个DCM,两个ROM,一个乘法器mult。完成的功能是DCM完成对输入时钟的二分频,两个ROM分别保存初始化的数据,在并在输入时钟的控制下送出数据作为乘法器的两个输入,乘法器完成乘法后输出。
下面介绍Modelsim的仿真过程
Step1:打开Modelsim SE 6.5
新建一个工程,并添加所有的.v文件,如果例化IP core的时候只生成了.vhd文件,可以在ISE中生成.v文件。然后进行编译
Step2:添加一个仿真配置文件,如下图所示:
在Simulation Configuration中需要设置一下几个选项:
(1)添加Library。由于我们要仿真Xilinx的IP core,所以我们需要添加编译好的Xilinx仿真库(如何编译Xilinx仿真库可以参见《搭建Xilinx仿真环境(1)------编译Xilinx仿真库》),如下图所示,三个仿真库:xilinx_corelib(用于仿真Xilinx IP core),xilinx_unisims(用于进行功能仿真),xilinx_simprims(用于进行布线后仿真)。
(2)修改Design选项,选择仿真文件,这里需要注意:要不仅要选择testbench文件,还要选择glbl文件(在modelsim中编译其他.v文件时自动生成的)。否则在仿真时会提示出错。另外,还要去掉左下角的Enable optimization选项,如果不去掉,在仿真时,有些信号会被优化掉。
(3)如果需要进行后仿真,需要添加SDF文件。如果只是进行功能仿真就不需要添加SDF文件了。设置完成后,点击Save。可以看到Project中添加了一个Simulation configure文件。
Step3:双击Simulation configure文件,进入仿真界面。
添加需要仿真的信号,并进行仿真,仿真后的波形如下图所示:clkout是clk的二分频;douta,doutb是ROM的输出;mult_out是乘法器的输出。
文章评论(0条评论)
登录后参与讨论