完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,大家好,
我遇到了Xilinx ISE映射过程的棘手问题。 当我综合我的设计时,我得到了一些FPGA资源的利用。 虽然在映射过程中映射到FPGA上的LUT时,所有利用率都会达到0%。 他很可能是由于设计而不是工具造成的。 我想知道,这种事情可能发生的典型案例是什么。 我的顶层设计输入时钟,只是作为一个包装器来封装一堆其他自独立的块。 我是否需要在与较低块接口的顶级模块中包含一些虚拟端口? 谢谢。 |
|
相关推荐
6个回答
|
|
您描述的模块连接不会导致模块的删除。
+ ------------------------ MODC ------------------ + | | | + ------ modA ------ + + ------ modB ------ + | | || | | | inC0 - > | - > | inA0 outA0 | - > | inB0outB0 | ---> | - > outC0 inC1 - > | - > | inA1 outA1 | - > | inB1 outB1 | ---> | - > outC1 || outA2 | - > | inB2 | | inC2 - > | - > | inA2 | | outB2 | ---> | - > OUTC2 inC3 - > | - > | inA3 | | outB3 | ---> | - > outC3 | | | | outB4 | | | + ---------------- + + ---------------- + | + ---------------------------------------------- + 如果未使用输出并且逻辑将向后调整,直到它达到逻辑用于设计的其他部分的点,则将发生逻辑移除。 如果输入未被驱动,则应生成错误。 在上面的ASCII艺术原理图中,如果outA [0:2]是inA [0:3]的函数而outB [0:3]是inB [0:2]的函数,则该逻辑将保留,但由于outB4是 从inB [0:2]中提供此值的未使用逻辑将被删除,但不会影响outB [0:3]。 如果您的逻辑被删除,则意味着它没有被使用。 因为,你认为不应该发生这种情况,你需要进入你的代码并再次检查它。 ------您是否尝试在Google中输入问题? 如果没有,你应该在发布之前。太多结果? 尝试添加网站:www.xilinx.com 在原帖中查看解决方案 |
|
|
|
一般而言,设计中任何不影响输出引脚的信号都将被移除
映射阶段。 我建议选中创建“详细”地图报告的选项 将允许您查看逻辑如何修剪。 通常这从逻辑的输出端开始, 没有负载的网,并向后工作。 如果您正在处理不完整的设计,通常的做法是创建所有的功能 您的中间输出没有负载并将此功能运行到一个或多个引脚。 如果 你只有一个引脚,你仍然可以通过进行异或来使用它来保持整个设计 例如,所有没有负载的网。 我经常在设计不完整时使用的另一个技巧是 制作并行输入串行移位寄存器,将信号串行连接到单个引脚。 如果你是 试图看看设计是否适合并满足时机要求,后一种方法可能更容易处理。 - Gabor - Gabor |
|
|
|
所以现在我向我的顶级模块添加了一堆伪信号,并用一些内部信号将它们连接起来,我看到后映射输出确实显示了我的利用率。
为了确认所有内容都已映射,我打开了详细报告选项以进行映射。 在仔细观察报告后,我发现该工具删除了所有那些端口信号未映射到下一个更高级别设计端口的模块。 如果我有两个模块使用彼此的信号而没有将它们的输出提供给更高级别的输出端口,则两个模块都被搁置。这是否意味着我必须将两个模块之间的所有内部信号映射到更高级别的模块端口? |
|
|
|
它并非荒谬,它是所有工具流程的标准行为。
如果设计中没有使用某些内容,则会将其删除。 这些工具以这种方式工作,通过删除不必要的逻辑来节省资源。 ------您是否尝试在Google中输入问题? 如果没有,你应该在发布之前。太多结果? 尝试添加网站:www.xilinx.com |
|
|
|
mcgett,我咬我的话。
但是,请你告诉我,我该怎样让工具避免这种情况。 说我有两个模块A& B封装在更高级别的模块C中。现在说如果A生成一些信号作为B的输入,B使用该信号生成一些映射到C的输出端口的其他信号。在这种情况下会发生什么 是的,A将被搁置,因为工具会看到A不直接影响输出,但实际上它间接地是。我如何避免删除A? 这是我的全部问题。 (P.S:我绝不打算贬低这个工具。:)) |
|
|
|
您描述的模块连接不会导致模块的删除。
+ ------------------------ MODC ------------------ + | | | + ------ modA ------ + + ------ modB ------ + | | || | | | inC0 - > | - > | inA0 outA0 | - > | inB0outB0 | ---> | - > outC0 inC1 - > | - > | inA1 outA1 | - > | inB1 outB1 | ---> | - > outC1 || outA2 | - > | inB2 | | inC2 - > | - > | inA2 | | outB2 | ---> | - > OUTC2 inC3 - > | - > | inA3 | | outB3 | ---> | - > outC3 | | | | outB4 | | | + ---------------- + + ---------------- + | + ---------------------------------------------- + 如果未使用输出并且逻辑将向后调整,直到它达到逻辑用于设计的其他部分的点,则将发生逻辑移除。 如果输入未被驱动,则应生成错误。 在上面的ASCII艺术原理图中,如果outA [0:2]是inA [0:3]的函数而outB [0:3]是inB [0:2]的函数,则该逻辑将保留,但由于outB4是 从inB [0:2]中提供此值的未使用逻辑将被删除,但不会影响outB [0:3]。 如果您的逻辑被删除,则意味着它没有被使用。 因为,你认为不应该发生这种情况,你需要进入你的代码并再次检查它。 ------您是否尝试在Google中输入问题? 如果没有,你应该在发布之前。太多结果? 尝试添加网站:www.xilinx.com |
|
|
|
只有小组成员才能发言,加入小组>>
2446 浏览 7 评论
2845 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2308 浏览 9 评论
3390 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2485 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1731浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
619浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
483浏览 1评论
2036浏览 0评论
760浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 13:55 , Processed in 1.439963 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号