一个ModelSim报告的较为隐蔽的端口不匹配错误
错误信息:
Error: (vsim-3389)xxx: Port 'xxx' not found in the connected module (1st connection)
原因:
端口不对应!但是此次端口不对应的原因比较隐蔽:
在quartus的.qsf中含有两个同名但不同路径的verilog源文件,端口缺失的那个在前,端口完整的那个在后。在quartus的Hierarchy中指向的是正确的那个文件,所以编译的时候没有报错。
但是从quartus启动Modelsim后,Modelsim报告上述错误!查看ModelSim的Library->work中上述错误信息所指向的文件,该文件为前述端口缺失的文件!原因应该是ModelSim使用了quartus的.qsf文件中的一个源文件。
纠错要点:
如果是ModelSim报错,应该首先在ModelSim的work列表里查找对应的程序!不要从quartus或直接从文件夹内检查对应的源程序!