今天要仿真的时候遇到一个问题,当我点击batch文件启动自动仿真时,dos界面一闪而过,ModelSim软件并没有成功启动。虽然有一段时间没有使用ModelSim仿真了,但是我的电脑系统是没有重做的,而且以前是一直可以通过batch自动仿真的。现在不行,首先想到的是环境变量问题。
右击“我的电脑”查看环境变量,果然发现变量“path”内容不对。想起之前装VS2008的时候是设置过path变量,可能不小心将ModelSim的启动path修改了。问题找到,修改path变量如下图所示:
另外在仿真过程中发现一个例化模块过程中的一个问题,比如下面这段例化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中编译会报错,如下图所示:
这个错误提示似乎是说data不是全局变量,不能这样赋值。我又使用ModelSim更高级的版本,即ModelSim10.0d,发现编译照样报错,只是报错的内容稍有差别,如下图所示:
解决这个问题的办法,正如我上述代码注释掉的那样,修改FIFO例化时data的赋值语句为:
data => block0_dat_sig;
而block0_dat_sig <= blk0_data&"000";
文章评论(0条评论)
登录后参与讨论