时钟结构设计

时钟结构设计
现在已经清楚地说明时钟决策的主要考虑因素,下面将介绍如何为设计提供需要的时钟。
推断
无需用户干预,Vivado 综合工具就可以自动为所有时钟结构设定全局缓存 (BUFG),直到架构允许的最大数量(除非用
综合工具另行设定或加以控制)。如前文所述, BUFG 能够提供满足大多数时钟需求的、受控良好的低偏差网络。除非
器件上的 BUFG 数量或功能无法满足设计的时钟要求,无需另行干预。
但是如果对时钟结构施加额外控制,在抖动、偏差、布局、功耗、性能或其它方面可能会获得更优异的特性。
综合约束和属性
控制时钟资源的简单方法是使用 CLOCK_BUFFER_TYPE 综合约束或属性。综合约束可以用于:
防止 BUFG 推断。
用替代性时钟结构取代 BUFG
设定某种以其它方式无法实现的时钟缓存。
使用综合约束,无需对代码进行任何修改,就可以实现此类控制。
属性可布局在任意下列位置之一:
直接布局在 HDL 代码中,这样属性就可以一直存在于代码中
作为 XDC 文件中的约束,这样无需修改源 HDL 代码就能实现此类控制。
IP 的使用
某些 IP 对创建时钟结构有帮助。 Clocking Wizard I/O Wizard 专用于协助时钟资源和结构的选择和创建,包括:
• BUFG
• BUFGCE
• BUFGCE_DIV (UltraScale 器件)
• BUFGCTRL
• BUFIO (7 系列器件)
• BUFR (7 系列器件)
时钟修改块,如:
°
混合模式时钟管理器 (MMCM)
°
锁相环 (PLL) 组件
存储器接口生成器 (MIG)PCIe 或收发器向导等更复杂的 IP 也可囊括时钟结构,当作总体 IP 的一部分。如果适当加以
考虑,这也可以提供额外的时钟资源。但如果不加考虑,可能会限制设计其余部分的某些时钟选项。
赛灵思强烈建议对任何实例化的 IP 均应良好掌握其时钟的要求、功能和资源,并尽量在设计中的其余部分加以运用。
如需了解更多信息,请参阅充分利用 IP
实例化
最低级也是最直接的控制时钟结构的方法是将所需的时钟资源实例化到 HDL 设计中。这样就可以使用器件的全部功能
并对它们施加绝对的控制。在使用 BUFGCEBUFGMUXBUFHCE 或其它需要额外逻辑和控制的时钟结构时,实例化
通常是不二之选。但是即便是对简单的缓存而言,有时候取得所需结果最迅捷的方法还是直截了当地把它实例化于设
计中。
一种有效管理时钟资源的方法 (特别是在实例化时)是将时钟资源限定在单独实体或模块中,在代码顶层或顶层附近
实例化。通过将时钟资源置于代码顶层,就可将代码更方便地分配给设计中的多个模块。
应该注意可以共享且应该共享时钟资源的地方。创建冗余时钟资源不仅是资源浪费,而且通常会造成更多能耗,带来
更多潜在冲突和布局决策,导致执行工具运行时间延长,以及更加复杂的时序状况。这也是为什么把时钟资源置于顶
层模块附近的又一重要原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值