0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

哪些因此会导致时钟skew过大呢?FPGA中降低时钟skew的几种方法

傅里叶的猫 来源:傅里叶的猫 2024-03-13 09:06 次阅读

本文参考自高亚军老师的《AMD FPGA设计优化宝典》

首先哪些因此会导致时钟skew过大呢?

不合理的时钟结构

时钟同时驱动I/O资源和Slice资源

时钟跨die

在时序报告中,会显示出clock path skew,如果时钟偏移超过0.5ns,就需要额外关注了。

2f6293d4-e0d5-11ee-a297-92fbcf53809c.jpg

书中列举了几个优化skew的方法:

移除时钟路径上多余的时钟buffer,如果出现了级联时钟Buffer,势必会导致时钟路径上的延迟增大。

移除时钟路径上的组合逻辑,一旦时钟路径上出现了组合逻辑,就意味着时钟布线采用了“常规布线资源+专用布线资源”的组合形式,从而显著增大了时钟延迟且时钟skew无法预测。同时,相比于专用时钟布线资源,常规布线资源对噪声更加敏感,这会使时钟质量下降。

输入时钟从clock capable的管脚输入,否则还是会出现“常规布线资源+专用布线资源”的组合形式。

如果设计中出现并行的MMCM/PLL时,应合理设置CLOCK_DEDICATED_ROUTE的值。

2f76d560-e0d5-11ee-a297-92fbcf53809c.png

如果BUFGCE和两个MMCM位于同列相邻的时钟区域,那么应为约束为SAME_CMT_COLUMN或BACKBONE,同时将MMCM的位置固定下来:

#FORUltraScale/UltraScale+
set_propertyCLOCK_DEDICATED_ROUTESAME_CMT_COLUMN[get_nets-of[get_pinsBUFG_inst/O]]
#FOR7series
set_propertyCLOCK_DEDICATED_ROUTEBACKBONE[get_nets-of[get_pinsBUFG_inst/O]]
set_propertyLOCMMCM3_ADV_X1Y2[get_cellsMMCM3_ADV_inst_0]
set_propertyLOCMMCM3_ADV_X1Y0[get_cellsMMCM3_ADV_inst_1]
2f916100-e0d5-11ee-a297-92fbcf53809c.png

如果BUFGCE和两个MMCM位于不同列但相邻的时钟区域,那么应该设为ANY_CMT_COLUMN和FALSE。

#FORUltraScale/UltraScale+
set_propertyCLOCK_DEDICATED_ROUTEANY_CMT_COLUMN[get_nets-of[get_pinsBUFG_inst/O]]
#FOR7series
set_propertyCLOCK_DEDICATED_ROUTEFALSE[get_nets-of[get_pinsBUFG_inst/O]]
set_propertyLOCMMCM3_ADV_X1Y2[get_cellsMMCM3_ADV_inst_0]
set_propertyLOCMMCM3_ADV_X1Y0[get_cellsMMCM3_ADV_inst_1]
2fa77c74-e0d5-11ee-a297-92fbcf53809c.png

对于7系列FPGA,避免使用BUFIO/BUFR/BUFH来驱动分散在不同时钟域内的逻辑。要评估设计中区域时钟缓冲器负载的个数,以保证这些负载可以被放置在一个时钟区域内。

对于UltraScale/UltraScale+和Versal的FPGA,避免使用MMCM/PLL对来自BUFG_GT的输出时钟执行简单的分频,可以使用BUFGCE_DIV、MBUFG这些带有分频功能的时钟BUFFER来代替。

对于UltraScale/UltraScale+和Versal的FPGA,对关键的同步跨时钟域路径添加CLOCK_DELAY_GROUP约束。什么是同步跨时钟域路径呢,比如MMCM输出的两个同步时钟。

对于UltraScale/UltraScale+的FPGA,修改时钟根节点的位置。Vivado在布局阶段会自动给每个时钟分配根节点的位置,以获取最佳的时序性能。通常情况下,时钟根节点位于其驱动负载的中心位置,如果不是,可以使用USER_CLOCK_ROOT调整。

避免关键路径穿越SLR或输入输出列。

对于UltraScale/UltraScale+的FPGA,使用CLOCK_LOW_FANOUT属性使时钟网线驱动的负载位于同一个时钟区域内。



审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21597

    浏览量

    601001
  • 时钟缓冲器
    +关注

    关注

    2

    文章

    88

    浏览量

    50821
  • Vivado
    +关注

    关注

    19

    文章

    803

    浏览量

    66180

原文标题:FPGA中降低时钟skew的几种方法

文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的设计时钟使能电路

    时钟使能电路是同步设计的重要基本电路,在很多设计,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在
    的头像 发表于 11-10 13:53 5377次阅读
    <b class='flag-5'>FPGA</b>的设计<b class='flag-5'>中</b>的<b class='flag-5'>时钟</b>使能电路

    FPGA时序约束之Skew讲解

    针对第2章节时序路径中用到skew,在本章再仔细讲解一下。
    发表于 08-14 17:50 1077次阅读
    <b class='flag-5'>FPGA</b>时序约束之<b class='flag-5'>Skew</b>讲解

    时钟使能电路的设计

    在很多设计,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在FPGA的设计,分频
    发表于 01-08 09:06

    如何减小clock skew

    求助大神,clock skew太大,导致时序违规怎么破?时钟由DCM输出,已经过BUFG
    发表于 01-14 17:00

    时钟偏差的定义以及它对现代系统的影响

    显著降低。为了最大限度地减少clock skew,复杂的同步电路采用类似于图 5 所示的时钟分配网络。这些通常也称为时钟树。
    发表于 11-02 14:32

    Skew definitions

    Skew specifications are like any other ACelectrical specification. The measurementsare taken
    发表于 03-30 00:18 15次下载

    Skew Correction Using Delay Li

    Abstract: This application note describes using delay lines to correct system timing or "skew
    发表于 04-22 11:21 1268次阅读
    <b class='flag-5'>Skew</b> Correction Using Delay Li

    时序分析之useful skew的作用分析

    对于positive skew来说,它可以减少T的时间,相当于提升芯片的performace。但是它的hold时间变得更加难以满足对于negative skew来说,它的hold时间更加容易满足,取而代之的是,它会
    的头像 发表于 07-23 17:15 1.7w次阅读
    时序分析之useful <b class='flag-5'>skew</b>的作用分析

    同步电路设计CLOCK SKEW的分析说明

    Clock shew是数字集成电路设计中一个重要的因素。本文比较了在同步电路设计0clock shew和非0clock shew时钟分布对电路性能的影响,分析了通过调整时钟CLO
    发表于 01-14 16:26 21次下载
    同步电路设计<b class='flag-5'>中</b>CLOCK <b class='flag-5'>SKEW</b>的分析说明

    介绍3种方法时钟域处理方法

    介绍3种跨时钟域处理的方法,这3种方法可以说是FPGA界最常用也最实用的方法,这三种方法包含了单
    的头像 发表于 09-18 11:33 2.2w次阅读
    介绍3<b class='flag-5'>种方法</b>跨<b class='flag-5'>时钟</b>域处理<b class='flag-5'>方法</b>

    verilog的时钟分频与时钟使能

    FPGA 由于器件本身和工具的限制,分频时钟和源时钟Skew不容易控制(使用锁相环分频是个例外),难以保证分频时钟和源
    的头像 发表于 01-05 14:00 1587次阅读

    详解数字设计时钟与约束

    数字设计时钟与约束 本文作者 IClearner 在此特别鸣谢 最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字
    的头像 发表于 01-28 07:53 2819次阅读
    详解数字设计<b class='flag-5'>中</b>的<b class='flag-5'>时钟</b>与约束

    CTS时钟树综合对uncertainty的影响

    时钟电路的设计,存在 jitter 和 skew 问题。
    的头像 发表于 06-26 16:49 1953次阅读
    CTS<b class='flag-5'>时钟</b>树综合对uncertainty的影响

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟

    FPGA为什么有时候还需要一个时钟配置芯片提供时钟FPGA(Field Programmable Gate Array)是一种可编程逻
    的头像 发表于 10-25 15:14 1560次阅读

    FPGA如何消除时钟抖动

    FPGA(现场可编程门阵列)设计,消除时钟抖动是一个关键任务,因为时钟抖动直接影响系统的时序性能、稳定性和可靠性。以下将详细阐述
    的头像 发表于 08-19 17:58 814次阅读