在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3405|回复: 10

[求助] 两个库中同名module的引用问题

[复制链接]
发表于 2022-10-10 17:08:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
各位大佬有没有遇到过同名module的冲突问题?
假设我这里有两个sv文件lib100.sv和lib500.sv,lib100中有两个模块i100和a1,lib500中有两个模块i500和a1。i100和i500模块内部都实例化了a1
由于是其他公司提供的ip,所以a1的名字不能更改,目前我需要i100实例化的是lib100.sv中的a1,i500实例化的是lib500.sv中的a1,但是我发现只有一个文件中的a1会被例化。
如果两个a1的内容相同就无所谓了,但是两个a1内容并不相同,想问问各位大佬这种情况如何应对?如何才能让两个文件中的a1都被引用?
发表于 2022-10-11 10:06:03 | 显示全部楼层
先编译其中一部分,生成电路,然后电路替换代码,可行么?
发表于 2022-10-12 11:52:55 | 显示全部楼层
filelist必须同时加两个文件么,如非必须,选择性的加入一个文件即可。
如果是必须的,那么文件里面用`ifdef `define `endif的字段来做选择性
 楼主| 发表于 2022-10-13 17:22:06 | 显示全部楼层


zzj0329 发表于 2022-10-12 11:52
filelist必须同时加两个文件么,如非必须,选择性的加入一个文件即可。
如果是必须的,那么文件里面用`ifde ...


但是两个文件是同时需要的,如果两个a1完全相同就没问题了,关键是端口都不一样。而且是个ip,还不能修改内部代码
 楼主| 发表于 2022-10-13 17:23:01 | 显示全部楼层


WLAN678 发表于 2022-10-11 10:06
先编译其中一部分,生成电路,然后电路替换代码,可行么?


这个如何实现啊
发表于 2022-10-14 08:54:51 | 显示全部楼层
你是在仿真中,还是综合中遇到的问题?
如果是在仿真中遇到的问题,QuestaSim/ModelSim是有解决办法的;摘抄如下:
pG7HoST6.png
CJcnNYRs.png

各类不同工具的解决方法肯定都不一样。但类似的问题应该是都有考虑的,需要认真研究工具的说明文档。
发表于 2022-10-18 09:35:27 | 显示全部楼层


不同编译器肯定方式不一样,这种方法我之前看到前同事用vivado实现过。我自己没用过
 楼主| 发表于 2022-10-18 13:48:39 | 显示全部楼层


dullman 发表于 2022-10-14 08:54
你是在仿真中,还是综合中遇到的问题?
如果是在仿真中遇到的问题,QuestaSim/ModelSim是有解决办法的;摘 ...


谢谢你的回答,是综合中用到的ip
发表于 2022-10-18 16:46:50 | 显示全部楼层
vcs  libmap  
发表于 2022-11-9 10:21:46 | 显示全部楼层
可以先将其各自综合为网表,再用不同的名字标记到整个工程中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 21:17 , Processed in 0.021817 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表