原创 【博客大赛】ModelSim自动化仿真问题一例

2013-8-2 15:04 1724 18 18 分类: FPGA/CPLD 文集: ModelSim

今天要仿真的时候遇到一个问题,当我点击batch文件启动自动仿真时,dos界面一闪而过,ModelSim软件并没有成功启动。虽然有一段时间没有使用ModelSim仿真了,但是我的电脑系统是没有重做的,而且以前是一直可以通过batch自动仿真的。现在不行,首先想到的是环境变量问题。

右击“我的电脑”查看环境变量,果然发现变量“path”内容不对。想起之前装VS2008的时候是设置过path变量,可能不小心将ModelSim的启动path修改了。问题找到,修改path变量如下图所示:

2.jpg

 

另外在仿真过程中发现一个例化模块过程中的一个问题,比如下面这段例化FIFO的代码:

block0 : block_data_fifo PORT MAP (
         clock => clkin,
         --data => block0_dat_sig,--blk0_data&"000",
         data => blk0_data&"000",
         rdreq => block0_rdreq_sig,
         sclr => fifo_sclr,
         wrreq => blk0_fifo_wrreq,
         empty => block0_empty_sig,
         full => block0_full_sig,
         q => block0_q_sig,
         usedw  => block0_usedw_sig
);

注意data的赋值过程中有并置运算,在Quartus II中编译是没有问题的,但是在ModelSim中编译会报错,如下图所示:

2.jpg

这个错误提示似乎是说data不是全局变量,不能这样赋值。我又使用ModelSim更高级的版本,即ModelSim10.0d,发现编译照样报错,只是报错的内容稍有差别,如下图所示:

modelsim_err.jpg

 

 

 解决这个问题的办法,正如我上述代码注释掉的那样,修改FIFO例化时data的赋值语句为:

data => block0_dat_sig;

而block0_dat_sig <= blk0_data&"000";

 

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
18
关闭 站长推荐上一条 /3 下一条