取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
293 次查看
注册日期: ‎07-19-2018

vivado place 过程中 bufg insertion was skipped

转到解答

我的vivado工程 在place design 的 BUFG insertion这一步有很多net BUFG insertion不成功,报了很多 info 例如:

[place 46-33] processed net ... , BUFG insertion was skipped due to placement/routing conflicts 

[place 46-32] processed net ... , BUFG insertion was skipped because the netlist could not be updated

我看了一下bufg 的利用率 bufg资源还很多

请问这产生这两条info的具体原因是什么,怎么才能成功插入bufg呢

 

0 项奖励
1 个已接受解答

已接受的解答
Highlighted
Moderator
Moderator
190 次查看
注册日期: ‎11-05-2010

回复: vivado place 过程中 bufg insertion was skipped

转到解答

对于高扇出信号,BUFG可以减少普通布线资源的使用,但是会增加Global 信号的竞争, 不同设计的情况不同,要试过才知道.

在place阶段插入的问题在于其他的global buffer 以及他们的loads 已经就位,新的不一定有合适的位置放. 代码中例化给工具布局的自由度会大一些.

 

资源利用率有差异,你可以直接比对每个模块的BRAM使用情况,找到差异点再进一步分析 (在synth和impl 设计中)

一般impl 用的多,可能是synth 没能统计IP中包含的资源

如果synth 用的多,一般就是有逻辑被优化掉了.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

5 条回复5
Highlighted
Moderator
Moderator
265 次查看
注册日期: ‎11-05-2010

回复: vivado place 过程中 bufg insertion was skipped

转到解答

一方面你在资源报告中看到的BUFG资源只是Global route资源的入口,实际不可能全部都用到,因为器件没有这么多Global route资源.

另一方面工具会针对high fanout 的net 尝试插入BUFG,同时也会同时评估插入BUFG 对当前Timing的好处以及对place/route 的影响, 一旦不利就会取消之前的操作.

时序收敛的方法有很多,插入BUFG只是一种尝试的方法,未必是必须的方法. 你如果一定希望对某个net加BUFG,可以直接在代码中例化BUFG.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Visitor
Visitor
197 次查看
注册日期: ‎07-19-2018

回复: vivado place 过程中 bufg insertion was skipped

转到解答

感谢回复 ,我确实对于时序优化的了解不是很多,你的意思是说插入bufg可以优化时序但是会影响布线,那直接在代码中例化bufg是不是也会影响布线,另外还有一个问题我现在的工程布线很难通过,换策略偶尔会成功,但是bram资源利用率implention(62%) 比synthesis (44%)少了很多,这种情况是正常的吗

0 项奖励
Highlighted
Moderator
Moderator
191 次查看
注册日期: ‎11-05-2010

回复: vivado place 过程中 bufg insertion was skipped

转到解答

对于高扇出信号,BUFG可以减少普通布线资源的使用,但是会增加Global 信号的竞争, 不同设计的情况不同,要试过才知道.

在place阶段插入的问题在于其他的global buffer 以及他们的loads 已经就位,新的不一定有合适的位置放. 代码中例化给工具布局的自由度会大一些.

 

资源利用率有差异,你可以直接比对每个模块的BRAM使用情况,找到差异点再进一步分析 (在synth和impl 设计中)

一般impl 用的多,可能是synth 没能统计IP中包含的资源

如果synth 用的多,一般就是有逻辑被优化掉了.

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

Highlighted
Visitor
Visitor
185 次查看
注册日期: ‎07-19-2018

回复: vivado place 过程中 bufg insertion was skipped

转到解答
好的,多谢答疑 ,我再详细看一下每个模块bram 使用情况,另外xilinx有比较入门的或者系统的关于FPGA时序收敛的资料吗,每次只能祈祷正常生成bit文件,碰到布线不通过或者时序不收敛感觉无从下手
0 项奖励
Highlighted
Moderator
Moderator
182 次查看
注册日期: ‎11-05-2010

回复: vivado place 过程中 bufg insertion was skipped

转到解答

Hi, @xilirp ,

可以先看一下UG906 和UG949.

约束方面的问题看UG903.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励