【 Vivado 】时钟组(Clock Groups)

Vivado会分析所有XDC约束时钟间的时序路径。通过set_clock_groups约束不同的时钟组(clock group),Vivado在时序分析时,当source clock和destination clock属于同一个时钟组时,才会分析此时序路径;而source clock和destination clock属于不同时钟组时,则会略过此时序路径的分析。下面讲解一下set_clock_groups约束:

 

Asynchronous Clock Groups

为了判别划分时钟组,将不同的时钟划分成以下两类:

a.  Synchronous Clocks

当两个时钟间的相位是固定的,则可以称这两个时钟为同步时钟(synchronous clock)。一般同源,如由同一个MMCM or PLL产生的两个时钟可以称为同步时钟。因此可以将主时钟和与之对应的衍生时钟约束成同一个时钟组。

b.  Asynchronous Clocks

无法判定两个时钟间相位时,则可以称这两个时钟为异步时钟(asynchronous clocks)。两个来自不同晶振的时钟,一定是异步时钟。通常情况下设计中不同的主时钟肯定是异步时钟,因此可以将这两个主时钟及其衍生时钟约束成不同的时钟组。

对于异步时钟,由于其两个时钟间相位不固定,时序分析的结果定然不确切,因此这部分的分析可以通过设置时钟组约束忽略,但是这并不意味着这部分的设计能工作正常;对于异步时钟间的设计,必须做跨时钟域处理,避免亚稳态的产生。

异步时钟组约束命令如下:

set_clock_groups-asynchronous-group [get_clocks {clk_Aclk_B}] 

-group [get_clocks {clk_C}]-group 

 如图1中结构,串行AD1和串行AD2接口都带有随路时钟SCLK1和SCLK2,SCLK1和SCLK2属于异步时钟;ADC串并转换后的数据需要经过跨时钟域处理(CDC),转到GCLK主时钟域,GCLK与ADC的时钟也属于异步时钟,因此约束命令如下:

set_clock_groups-asynchronous -group [get_clocks {SCLK1}]

-group [get_clocks {SCLK2}] -group [get_clocks {GCLK}]

(图1)

​​​​​​​Exclusive Clock Groups

 在有些设计中,可能需要不同的工作模式,对应需要不同的时钟输入,通过时钟选择模块选择需要的时钟,如BUFGMUX,BUFGCTRL or A LUT。但是这些输入的不同时钟间是互斥的,即一个模式只允许一个时钟输入,不同时钟间是没有时序关系,因此只需单独对每个时钟做时序分析即可,添加互斥时钟组可使Vivado进行时序分析时忽略互斥时钟组间的时序路径,约束命令如下:

set_clock_groups -logically_exclusive -group{clk_A} -group {clk_B}

set_clock_groups –physically_exclusive -group{clk_A} -group {clk_B}

如图2中结构,可将CLKMUX1,CLKMUX2约束成互斥时钟组,约束命令如下:

set_clock_groups - physically_exclusive  -group [get_clocks {CLKMUX1}] 

-group [get_clocks {CLKMUX2}]

(图2)

 

​​​​​​​

 

 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
时钟clock group)是时序分析中的一个基本概念,用于确认不同时钟之间的关系。通过设置时钟,可以指定哪些时钟属于同一个时钟,以便在时序分析中进行准确的时序路径分析。时钟的设置对于跨域检查(cross domain check)非常重要,如果设置错误,可能导致整个时序分析出现错误。一般来说,时钟的属性选择有三种类型。Vivado工具可以通过set_clock_groups约束来定义不同的时钟,当源时钟和目标时钟属于同一个时钟时,Vivado会对该时序路径进行分析;而当源时钟和目标时钟属于不同时钟时,Vivado会跳过该时序路径的分析。时钟FPGA设计中起到了重要的时钟管理和分配的作用,它可以帮助设计者更好地管理和控制时钟信号。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [时序分析基本概念介绍<Clock Group>](https://blog.csdn.net/Tao_ZT/article/details/102456839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【 Vivado时钟(Clock Groups)](https://blog.csdn.net/weixin_46942740/article/details/122056094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [时钟Clock Group介绍 FPGA](https://blog.csdn.net/CodeWG/article/details/131496477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值