🏔【BUG历险记】vivado报错:binding vhdl entity xxxxx ' does not have port ' xxxxx '解决方案
问题描述
我在编写雷达的脉冲压缩仿真时,先例化了FFT和复数乘法器,并仿真验证通过了;再例化IFFT,结果仿真时出现错误,前面仿真通过的复数乘法器报错。说是没有aclk引脚,实际上是有的。
解决方案
更改代码顺序,把IFFT的例化,放在复数乘法器的前面。
这个解决方法非常离谱,但是确实是不报错了。
从
例化FFT;
例化Complex Multiplier;
例化IFFT;
变为
例化FFT;
例化IFFT;
例化Complex Multiplier;
原理分析
我觉得这是vivado 2018.3的BUG。verilog作为并行的硬件描述语言,先后例化转换成电路,是没有区别的。