一个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或直接从文件夹内检查对应的源程序!

HDL