ModelSim报错:Instantiation of ‘***‘ failed. The design unit was not found.

在使用Quartus与ModelSim联合仿真时,由于使用了不可综合的module放在testbench中,导致出现标题中的错误,在ModelSim中提示上述错误并显示error loding design.

因此将原因和解决办法记录下来,防止以后忘记.

1.原因

在使用Quartus时,由于硬件原因,没有办法直接调试硬件参数,故使用一个不能被综合的module来给Top module提供数据,该module被例化在testbench中与Top module相连接.

该module无法被综合,也就无法像其他design一样正常调用.只能在tesetbench中使用.

如果不经过改动,Quartus综合后无错误和警告,只有在modelsim仿真时提示如标题的错误.

2.解决办法1(不推荐)

第一种解决办法十分简单,但是不便于逻辑梳理,也不符合一般的设计规范,在verilog设计过程中,我们一般遵循在一个.v文件中放置一个module,多个module存放在一个v文件中不利于代码阅读.

方法如下:

将该不可综合的module与top module下的任一module放置在同一个.v文件中,即一个.v文件中同时放置一个可综合的module和一个不可综合的module. 这样就可以被modelsim查找到.从而正常仿真.

3.解决办法2(推荐)

第二种解决办法属于常规的解决办法,步骤稍多,但是逻辑清晰,推荐.

方法如下:

(1) 重新添加testbench文件,在添加时将该不可综合的module一起与testbench文件添加进来.

 然后add-ok-ok-apply-ok即可.

 

(2)重新综合

(3)重新调用modelsim进行仿真.

这样同时将该不可综合的module也加入到了testbench当中,在modelsim中方阵的时候就可以正常找到和调用了.

问题解决!!!

 

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值