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

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

3天内不再提示

约束异步时钟的方法

Xilinx赛灵思官微 来源:djl 作者:赛灵思 2019-07-29 18:05 次阅读

对于异步时钟有四种方法进行约束。本文介绍了每种方法的优缺点:

1、set_false_path

这是最原始的方法,在时序分析设计早期比较流行。

这种方法有两个缺点:
a.两个方向都需要约束:clock1->clock2 以及 clock2->clock1
b.该路径没有时序要求,因此理论上路径延迟完全依赖于所使用的工具。而且这两种路径可能导向不同的节点,因为我们没有办法规范它们来满足任何具体的要求。

2、set_clock_groups

该方法已被引入 SDC 中,与方法 1 相比有以下三个主要优点:

a.只需要指定源时钟与目的时钟,尽量减少 XDC/SDC 文件的长度
b.与set_false_path方法相同,这里的路径也没有时序要求。但是它考虑到了信号完整性方面的问题,而set_false_path方法并没有
c.在基于 FPGA 设计领域,可以说这是不重要的,因为在设计 FPGA 器件时信号完整性方面已经被考虑到了
d.这种方法带点哲学思辩的方法论
e.当我们使用set_false_path方法时,只是指定了这条路径是错误的,但是并没有明确的解释路径错误的原因
f.拿异步时钟来举例,在实际情况下,路径并不是错误,所以时钟信号会通过这条路径,set_false_path则可作为一种机制来告知工具,时钟信号不约束走这条路径。

在set_clock_groups这种方法中,我们指定了准确的原因,即为什么每个时钟信号组是不同的。实际上它们不能进行时序约束的原因完全是由你的意图决定的。因此这也可以作为一个注意事项,可以更加容易理解具体约束设计的原因。

通常情况下方法 2 要优于方法 1,主要是因为以上的 b 和 c 因素,其次 a 因素也是比较重要的。

3、set_multicycle_path

大约在21世纪中期的时候,设计者开始从set_false_path方法转向set_multicycle_path方法。方法 1 和方法 2 并没有约束一个路径 —— 每条路径的延迟是任意的。这种方法提供了跨越某个节点的路径的延迟上限规定。

4、set_max_delay

这种方法的效果与方法 3 相同。Vivado工具里面有‘-datapath_only’选项,这让设计者操作起来更简单,不用担心时钟偏移情况的发生。同时与set_multicycle_path方法相比,set_max_delay方法更能表现出设计者的意图。

如果你想选一种方法,我建议的顺序是:4>2>3>1,有时我更倾向于选择方法 2。

举个例子,如果我正在进行一个局部的模块设计,这个模块还可以用于其他不同的应用,而且我不清楚这个部分会在什么外部设备或者器件上实现。这种情况下我也不确定max_delay值具体是多少合适,那么处于安全起见我会选择方法2而不是方法4。

如果使用 Xilinx 提供的工具,我们可以借助 Vivado 来设置时钟周期,在这个例子中我会根据时钟周期来设置具体的延迟,因此我可能更希望采用方法 4。

然而,根据个人的选择/需求/熟悉程度,不同的人可能有不同的选择。

关于作者:Sanjay Churiwala

赛灵思公司工具与方法学应用专家,1993年毕业于印度理工学院电子工程专业,一直从事 VLSIEDA 相关领域的工作。2011年加入赛灵思公司,专攻库特性描述与建模,HDL,仿真与综合,静态时序分析以及跨时钟域(CDC)与同步相关内容。

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

    关注

    32

    文章

    1794

    浏览量

    131123
  • 约束
    +关注

    关注

    0

    文章

    82

    浏览量

    12708
  • 异步时钟
    +关注

    关注

    0

    文章

    17

    浏览量

    9399
收藏 人收藏

    评论

    相关推荐

    FPGA时序案例分析之时钟周期约束

    时钟周期约束,顾名思义,就是我们对时钟的周期进行约束,这个约束是我们用的最多的约束了,也是最重要
    的头像 发表于 11-19 11:44 5600次阅读
    FPGA时序案例分析之<b class='flag-5'>时钟</b>周期<b class='flag-5'>约束</b>

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

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

    FPGA时钟周期约束讲解

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

    时序约束时钟约束

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

    xilinx时序分析及约束

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

    同步和异步时钟之间是如何联系_如何正确的约束时钟

    现在的硬件设计中,大量的时钟之间彼此相互连接是很典型的现象。为了保证Vivado优化到关键路径,我们必须要理解时钟之间是如何相互作用,也就是同步和异步时钟之间是如何联系。 同步
    的头像 发表于 05-12 10:15 2w次阅读

    硬件设计中教你如何正确的约束时钟

    ”列可以容易的辨别出同步时钟。下面是3个场景,你需要使用合适的时钟约束处理异步时钟之间的关系。1. 如果
    的头像 发表于 07-15 15:35 6417次阅读

    时钟域的同步时序设计和几种处理异步时钟域接口的方法

    外部输入的信号与本地时钟异步的。在SoC设计中,可能同时存在几个时钟域,信号的输出驱动和输入采样在不同的时钟节拍下进行,可能会出现一些不稳定的现象。本文分析了在跨
    的头像 发表于 07-24 09:52 4322次阅读
    多<b class='flag-5'>时钟</b>域的同步时序设计和几种处理<b class='flag-5'>异步</b><b class='flag-5'>时钟</b>域接口的<b class='flag-5'>方法</b>

    简述FPGA时钟约束时钟余量超差解决方法

    在设计FPGA项目的时候,对时钟进行约束,但是因为算法或者硬件的原因,都使得时钟约束出现超差现象,接下来主要就是解决时钟超差问题,主要
    的头像 发表于 10-11 14:52 3438次阅读
    简述FPGA<b class='flag-5'>时钟</b><b class='flag-5'>约束</b><b class='flag-5'>时钟</b>余量超差解决<b class='flag-5'>方法</b>

    时钟周期约束详细介绍

    时钟周期约束: 时钟周期约束,顾名思义,就是我们对时钟的周期进行约束,这个
    的头像 发表于 08-05 12:50 3675次阅读

    详解数字设计中的时钟约束

    ; ·行波时钟; ·双沿时钟; ·Design Compiler中的时钟约束。 ·补充:时钟分配策略 1、同步电路与
    的头像 发表于 01-28 07:53 2836次阅读
    详解数字设计中的<b class='flag-5'>时钟</b>与<b class='flag-5'>约束</b>

    同步时钟异步时钟详解

    当触发器输入端的数据和触发器的时钟不相关时,很容易导致电路时序约束不满足。本章主要解决模块间可导致时序 violation 的异步问题。
    的头像 发表于 03-28 13:46 1.1w次阅读
    同步<b class='flag-5'>时钟</b>和<b class='flag-5'>异步</b><b class='flag-5'>时钟</b>详解

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

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

    约束、时序分析的概念

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

    异步电路中的时钟同步处理方法

    异步电路中的时钟同步处理方法  时钟同步在异步电路中是至关重要的,它确保了电路中的各个部件在正确的时间进行操作,从而使系统能够正常工作。在本
    的头像 发表于 01-16 14:42 1040次阅读