使用Vivado Design Suite进行BUFG 优化

在 Xilinx FPGA 设计中,BUFG 是一个不带使能功能的全局时钟缓冲器(Global Clock Buffer),它是与专用全局时钟输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过IBUFG 单元,否则在布局布线时会报错。

一、CLOCK_BUFFER_TYPE

强制逻辑优化(Mandatory Logic Optimization,简称 MLO)在 link_design (在Vivado Design Suite中,link_design 命令是设计流程中的一个关键步骤。它负责将综合后的网表文件和约束文件整合起来,形成一个完整的、针对特定目标器件的设计)的开始阶段发生,支持使用 CLOCK_BUFFER_TYPE 属性来插入全局时钟缓冲器。

  • 对于 7 系列设备,支持的值是 BUFG。
  • 对于 UltraScale、AMD UltraScale+™ 和 Versal 设备,支持的值包括 BUFG 和 BUFGCE。
  • 对于所有架构,可以使用值 NONE 来通过 MLO 和 opt_design 禁止全局时钟缓冲器的插入。
  • 对于 BUFG 和 BUFGCE(带使能功能的全局时钟缓冲器),MLO 会插入相应的缓冲器类型来驱动指定的网络。

使用 CLOCK_BUFFER_TYPE 的优势在于可以通过 XDC 约束来控制缓冲器的插入,从而无需修改设计源代码或网表。使用 CLOCK_BUFFER_TYPE 插入的缓冲器不受任何限制,因此必须谨慎使用该属性,以避免在设计中引入过多的全局时钟,这可能会导致布局失败。
在优化过程中,应当仔细考虑何时以及在哪里使用全局时钟缓冲器。全局时钟缓冲器的主要目的是提高时钟信号的驱动能力和稳定性,确保时钟信号能够准确地传播到设计的每个角落。然而,过度使用全局时钟缓冲器可能会增加设计的复杂性和功耗,并可能导致布局和布线阶段的困难。
因此,在使用 CLOCK_BUFFER_TYPE 属性时,应该根据设计的具体需求和约束来仔细选择插入缓冲器的位置。通常,全局时钟缓冲器应该被放置在时钟树的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值