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

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

3天内不再提示

时序约束---多时钟介绍

jf_78858299 来源:Hack电子 作者:Hack电子 2023-04-06 14:34 次阅读

当设计存在多个时钟时,根据时钟的相位和频率关系,分为同步时钟和异步时钟,这两类要分别讨论其约束

1、同步时钟

考虑分频器产生的各个时钟,它们来源于同一个晶振,受主时钟调配。如下图所示,由3GHz的时钟进行9、6、4、3分频产生clka,clkc,clkd,clke。

为了约束我们设计的逻辑N,X和S,需要给出clkc的周期、逻辑N的外部延时,逻辑S的外部延时。

图片

对于逻辑N而言,由clka产生数据,clkc采样数据,在它们周期的最小公倍数内,最严格的时序是3ns产生数据,在4ns采样。只要保证最严格的情形下,电路正常工作,其他时候都没问题

图片

当我们写时序约束时,只需要创建时钟,其中clka为虚拟时钟,然后set_input_delay通过-clock指定产生数据的时钟,给出clka产生的数据延时(触发器+组合逻辑)

图片

可见,写约束还是更简单,计算由时序分析工具处理。我们要提供产生数据的时钟和数据延时即可

对于输出数据,可以驱动多个单元。如下图所示,clkc的输出OUT1会经过组合逻辑被clkd和clke采样。设置约束,同样创建外部的虚拟时钟,然后set_output_delay,指定采样时钟和外部延时。另外,增加-add_delay选项避免被覆盖,表示让时序工具计算两条约束,选择更严格的进行分析

图片

DC中,所有时钟都是同步的,即create_clock并不能创建异步时钟,异步电路静态时序分析不适合。

图片

2、异步时钟

考虑不同时钟源的电路,由于每个时钟源独立工作,它们诸如延迟、转换时间等不一定一致,时钟之间的相位不固定,表现出异步电路。

图片

异步电路要减少亚稳态产生,是设计者负责亚稳态处理,别指望工具帮助处理。我们需要在每个时钟域内约束路径,然后告诉工具不要检查跨时钟域路径。(否则工具会努力让该路径满足要求,导致浪费时间)

下图中,clka驱动的数据被clkb采样。很显然,两个不同时钟的触发器之间的路径都要告诉工具不要检查。

图片

DC中,使用set_false_path告诉工具不要在指定的路径分析

图片

通过-from指定路径起点,可以是clock、port、pin和cell,clock作为起点,所有和该clock有关的路径都会被影响。通过-to指定路径终点,类似于from。

约束如下,使用-from clock能够简化,不用将路径一一列举。

图片

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

    关注

    10

    文章

    1479

    浏览量

    130306
  • 异步时钟
    +关注

    关注

    0

    文章

    17

    浏览量

    9366
  • 同步时钟
    +关注

    关注

    0

    文章

    30

    浏览量

    3137
收藏 人收藏

    评论

    相关推荐

    FPGA的IO口时序约束分析

      在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束
    发表于 09-27 09:56 1454次阅读

    FPGA主时钟约束详解 Vivado添加时序约束方法

    在FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。
    发表于 06-06 18:27 7045次阅读
    FPGA主<b class='flag-5'>时钟</b><b class='flag-5'>约束</b>详解 Vivado添加<b class='flag-5'>时序</b><b class='flag-5'>约束</b>方法

    FPGA时序约束之衍生时钟约束时钟分组约束

    在FPGA设计中,时序约束对于电路性能和可靠性非常重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的主
    发表于 06-12 17:29 1438次阅读

    FPGA时序约束之伪路径和多周期路径

    前面几篇FPGA时序约束进阶篇,介绍了常用主时钟约束、衍生时钟
    发表于 06-12 17:33 994次阅读

    请教时序约束的方法

    我是一个FPGA初学者,关于时序约束一直不是很明白,时序约束有什么用呢?我只会全局时钟时序
    发表于 07-04 09:45

    时序约束 专版

    此版只讨论时序约束约束理论约束方法约束结果时钟约束
    发表于 05-16 18:51

    时序约束时钟约束

    vivado默认计算所有时钟之间的路径,通过set_clock_groups命令可禁止在所标识的时钟组之间以及一个时钟组内的时钟进行时序分析
    发表于 09-21 12:40

    时序约束时序分析 ppt教程

    时序约束时序分析 ppt教程 本章概要:时序约束时序分析基础常用
    发表于 05-17 16:08 0次下载

    xilinx时序分析及约束

    详细讲解了xilinx的时序约束实现方法和意义。包括:初级时钟,衍生时钟,异步时终域,多时终周期的讲解
    发表于 01-25 09:53 6次下载

    如何使用时序约束向导

    了解时序约束向导如何用于“完全”约束您的设计。 该向导遵循UltraFast设计方法,定义您的时钟时钟交互,最后是您的输入和输出
    的头像 发表于 11-29 06:47 2745次阅读
    如何使用<b class='flag-5'>时序</b><b class='flag-5'>约束</b>向导

    FPGA设计之时序约束

    上一篇《FPGA时序约束分享01_约束四大步骤》一文中,介绍时序约束的四大步骤。
    发表于 03-18 10:29 1358次阅读
    FPGA设计之<b class='flag-5'>时序</b><b class='flag-5'>约束</b>

    时序约束--多时钟

    对于逻辑N而言,由clka产生数据,clkc采样数据,在它们周期的最小公倍数内,最严格的时序是3ns产生数据,在4ns采样。只要保证最严格的情形下,电路正常工作,其他时候都没问题
    的头像 发表于 04-06 11:30 610次阅读

    约束时序分析的概念

    很多人询问关于约束时序分析的问题,比如:如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如
    的头像 发表于 05-29 10:06 413次阅读
    <b class='flag-5'>约束</b>、<b class='flag-5'>时序</b>分析的概念

    如何在Vivado中添加时序约束呢?

    今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束
    的头像 发表于 06-26 15:21 2229次阅读
    如何在Vivado中添加<b class='flag-5'>时序</b><b class='flag-5'>约束</b>呢?

    浅谈时序设计和时序约束

      本文主要介绍时序设计和时序约束
    的头像 发表于 07-04 14:43 783次阅读