集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1920|回复: 2

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

[复制链接]
荼蘼 发表于 2021-7-5 16:18:13 | 显示全部楼层 |阅读模式

该情况出现的问题有几种可能,以下分别说明:

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

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

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

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





情况2问题原因
        很多人表示前仿真正常,在做后仿真的时候会遇到这个问题,这种情况主要考虑当前的工程中是否包含了该模块,例如有网友说自己第一个二选一多路器的实验,因为误把testbench文件设置为了工程顶层文件,导致在后仿真时候因为没有对二选一多路器的逻辑内容进行全编译,导致找不到库,此种情况也出现在对IP核进行仿真测试的时候,例如FIFO、PLL、RAM等。记得一定要将被测试的逻辑设置为quartus的工程顶层文件才能进行全编译得到时序网表文件,才能进行正常的后仿真。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
lihongkun16 发表于 2021-7-6 08:52:17 | 显示全部楼层
【Modelsim常见问题】vsim-3033 Instantiation of ‘xxxx’ failed
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 08:19 , Processed in 0.061427 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表