Xeta8 2024-05-23 18:22 采纳率: 33.3%
浏览 8
已结题

Vivado 在添加模块中出现nested module reference not supported

img

想在一个Block design 中添加另一个block design 发现不兼容,然后告诉我问题原因是这个,这个问题原因是什么意思呢,如何解决

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-23 18:22
    关注

    引自免费微信小程序:皆我百晓生

    在Vivado中,你遇到的问题是由于尝试在块设计(Block Design)中直接引用了另一个块设计文件(.bd)。Vivado目前不支持这种嵌套的模块引用。这意味着你不能直接将一个完整的块设计作为另一个块设计的一部分。这是为了保持设计的层次性和可维护性。

    为了解决这个问题,你需要将子块设计转换为IP核( Intellectual Property Core),然后再在主块设计中使用这个IP核。以下是详细的步骤:

    1. 打开子块设计(例如:EIT_V50.EIT_V50.bd)。
    2. 点击菜单栏的Tools -> Create Block Design,这会创建一个新的Block Design,我们称之为Sub_block_design
    3. 在新打开的Sub_block_design窗口中,删除所有默认的元素。
    4. 将子块设计中的所有逻辑添加到新的Block Design中。确保所有的HDL模块、约束和其他相关文件都被正确地包含在这个新的Block Design中。
    5. 然后右键点击Sources区域,选择Add Sources,找到子块设计的HDL源文件(.v, .vhdl等)并添加。
    6. 如果有约束文件(.xdc),同样添加到Constraints区域。
    7. 完成上述操作后,右键点击Block Design区域,选择Generate HDL,生成对应的HDL代码。
    8. 接下来,回到主块设计(EIT_V50.EIT_V50.bd)。
    9. 在主块设计中,点击菜单栏的IP Catalog,然后在搜索框中输入子块设计的名字(例如:EIT_V50),你应该能看到之前创建的IP核。
    10. 双击或拖拽这个IP核到你的主块设计中。
    11. 配置IP核的端口映射,确保它们与你的主块设计中的其他模块连接正确。
    12. 最后,进行实施(Implementation)和综合(Synthesis),确保一切正常。

    这样,你就成功地将子块设计包装成了一个IP核,并在主块设计中使用它,解决了嵌套模块引用不被支持的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 求解决为什么json数据完整,却解析失败
  • ¥15 打开Smart schedule运行examples/transformer-xl/scripts/run_enwik8_base_moe.sh 报错
  • ¥15 求一个C# sm4 加密解密的代码
  • ¥15 想做个网络加速器,怎么实现
  • ¥20 centos7下载mysql提示DNS解析异常
  • ¥20 vx转账功能对方不能领取
  • ¥15 vue2+codemirror 运行后页面光标太大了
  • ¥15 pdfjs库如何在前端实现打印、旋转等功能
  • ¥15 combobox数据绑定问题
  • ¥15 maven打包时,为什么有的依赖打不进去包