情况
在学习野火的dcfifo时, 遇到一个问题
当我用模块名为dcfifo (dcfifo.v文件)时, 代码都是野火的例程代码
在modelsim里会出现3个错误
提示这3个端口没有找到
仿真文件tb_dcfifo.v中确实实例化了这3个端口
但是我rtl代码里是有的
综合的RTL视图也是有的
但还说没找到??
问题分析
当我修改rtl代码(dcfifo.v) 故意把端口名写错, 结果跟之前一样, 只提示这3个端口没找到, 其他写错的端口没有提示.
而这3个端口正好是野火例程代码中唯三个与fifo ip核的端口不一样
所以我在仿真文件tb_dcfifo.v中, 把这3个改成fifo ip核一样的端口名后, 就通过了?
而这3个端口名, 和我实例化的dcfifo模块的端口不一样, 只和fifo ip核端口名一样
这就很奇怪? 难道仿真文件直接连到了fifo ip核上, 不经过dcfifo.v文件里的模块吗?
结果
最奇怪的是
而当我只把模块名从dcfifo改为fifo或fifot, 却又都正常了? (跟野火的例程一样
不提示这3个端口没找到的错误
感觉我的FPGA世界观崩塌了
难道是dcfifo.v这个模块名不能用吗? 我查找了资料, 但是没有找到有跟我所遇的相同情况, 所以记录一下, 希望有人能够留言告诉我原因, 万分感谢!