我模拟了 rtl 代码并获得了所需的输出,但是当我运行后合成功能模拟时,我在模拟器屏幕上看到一些随机信号并得到错误的输出。
这是我在硬件方面的第一个项目,在这个过程中遇到了很多问题。
您得到不同模拟结果的可能原因有很多。但首先重要的是要了解行为和综合后模拟之间的区别是什么。
行为模拟仅模拟您的 RTL 的功能行为。 综合后仿真发生在综合网表上。在综合过程中,有很多潜在的处理和优化发生,与行为模拟相比,这可能导致截然不同的结果。
最后,合成后的仿真是您最应该关心的,因为合成后的网表将传递到下一步,最终在 FPGA 中进行布局和布线。
你很可能有一些你不太清楚的结构或行为。我建议您查看网表,看看是否确实缺少某些功能,这暗示某些功能已被优化掉。