关于VIVADO出现大量模块被优化的问题

文章讲述了在新工程中如何处理原有功能的扩展需求,通过实例化模块和io屏蔽,作者发现未使用的功能即使被屏蔽,其相关代码仍可能导致模块和关联模块的资源被优化。最终解决方法是不仅屏蔽io,还需删除未使用功能的代码。这表明代码组织对优化有重要影响。
摘要由CSDN通过智能技术生成

        首先描述一下所出现问题:新工程要求原有功能double一下,但是部分功能只需要在其中一个例化的模块进行,故我直接将原有模块例化了两次,随后将第二次例化的模块不需要的功能的io进行屏蔽。随后进行综合,可是综合后查看资源发现大部分资源被优化,生成report查看,例化两次的模块内,大部分子模块被优化,尤其是未使用部分功能的第二次例化模块,内部模块几乎全被优化了,而且与例化模块存在信号交互的其余模块也被优化掉了大部分资源。

        最后在找问题的过程中肯定是先排除io没有连,或者端口未定义,查了半天的代码和综合前后的网表,重复多次后发现并没有任何问题,但肯定不会是综合工具的问题,那问题到底在哪里呢?

        随后我试着将未使用的功能相关的代码全部删掉,重新综合后使用资源多了一些,于是判断是否未使用部分功能时,即使不例化(不使用)该功能相关io,也会使综合器优化掉所在模块大部分资源和与所在模块相关联的模块,最后将例化模块新建了一个工程,新建工程里,凡是不需要的功能,相关代码全部进行了删除,随后进行综合,综合出来的结果终于正常。

        所以以后在修改原有代码的时候,不使用的功能不能只屏蔽例化io,还要将相关代码进行删除。

附:个人觉得可能和因为代码习惯也有很大问题,因为原代码中,未使用功能和使用功能中许多信号放在同一个always模块或状态机里,故因为不使用功能的io被屏蔽,导致未使用功能的代码被优化,从而影响到了使用功能。

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值