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

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

3天内不再提示

时序约束--多时钟

Hack电子 来源:Hack电子 2023-04-06 11:30 次阅读

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

1、同步时钟

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

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

9e383592-d42a-11ed-bfe3-dac502259ad0.png

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

9e5213c2-d42a-11ed-bfe3-dac502259ad0.png

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

9e675ffc-d42a-11ed-bfe3-dac502259ad0.png

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

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

9e85d3e2-d42a-11ed-bfe3-dac502259ad0.png

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

9eab868c-d42a-11ed-bfe3-dac502259ad0.png

2、异步时钟

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

9ecb4de6-d42a-11ed-bfe3-dac502259ad0.png

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

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

9ee34806-d42a-11ed-bfe3-dac502259ad0.png

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

9ef88bee-d42a-11ed-bfe3-dac502259ad0.png

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

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

9f085aba-d42a-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

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

    关注

    43

    文章

    447

    浏览量

    49744
  • 时序
    +关注

    关注

    5

    文章

    384

    浏览量

    37244

原文标题:时序约束--多时钟

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的IO口时序约束分析

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

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

    在FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。
    发表于 06-06 18:27 1w次阅读
    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 2531次阅读

    FPGA时钟周期约束讲解

    时钟周期约束是用于对时钟周期的约束,属于时序约束中最重要的
    发表于 08-14 18:25 816次阅读

    请教时序约束的方法

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

    时序约束时钟约束

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

    时序约束时序分析 ppt教程

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

    FPGA开发之时序约束(周期约束

    时序约束可以使得布线的成功率的提高,减少ISE布局布线时间。这时候用到的全局约束就有周期约束和偏移约束。周期
    发表于 02-09 02:56 698次阅读

    添加时序约束的技巧分析

    。 在添加全局时序约束时,需要根据时钟频率划分不同的时钟域,添加各自的周期约束;然后对输入输出端口信号添加偏移
    发表于 11-25 09:14 2568次阅读

    xilinx时序分析及约束

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

    如何使用时序约束向导

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

    FPGA时序约束的概念和基本策略

    约束条件可以使综合布线工具调整映射和布局布线过程,使设计达到时序要求。例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在时钟之前什么时候准备好,综合布线工具就可以
    的头像 发表于 09-30 15:17 5001次阅读

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

    当设计存在多个时钟时,根据时钟的相位和频率关系,分为同步时钟和异步时钟,这两类要分别讨论其约束
    的头像 发表于 04-06 14:34 1154次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>---<b class='flag-5'>多时钟</b>介绍

    约束时序分析的概念

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

    浅谈时序设计和时序约束

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