【工程源码】【Modelsim常见问题】vsim-3033 Instantiation of ‘xxxx’ failed


本文和设计代码由FPGA爱好者小梅哥编写,未经作者许可,本文仅允许网络论坛复制转载,且转载时请标明原作者。

问题原因
该问题经常出现在仿真时添加了其他模块辅助仿真,典型的如仿真模型,在小梅哥FPGA设计思想与验证方法视频教程里的按键消抖、串口接收里面都有这个过程,例如对于串口接收,我们在编写testbench仿真接收模块时,使用了串口发送模块来产生测试数据,而串口发送模块并不包含在Quartus 的RTL逻辑中,因此不会自动参与编译,无法得到仿真数据库,按键消抖时,设计了一个按键模型,该模型仅用作仿真,也不会被Quartus自动交付给Modelsim编译

解决方案
为此我们需要在设置NativeLink的时候手动添加该文件。如下图可以看到,我们设置时不仅添加了tb文件,还添加了key_model文件,这样Moselsim才会根据该设置去编译key_model文件。

补充一个大家错的比较“狠”的情况
请大家仔细把上图看清楚,看清楚,看清楚,这个地方是在哪里添加的,Edit Test Bench Settings,是在一个现有的testbench设置中,给该testbench设置再添加一个文件,而大多数人,看图不仔细,都是再新建了一个testbench设置,他们的界面是下面这样的:

注意看一下,对的,他们不是在一个tb设置种添加了2个文件,而是创建了两个tb设置,所以错了。

发布了101 篇原创文章 · 获赞 3 · 访问量 4316

猜你喜欢

转载自blog.csdn.net/zgmxs/article/details/104443280