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

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

3天内不再提示

Xilinx跨时钟域时序约束

FPGA开发之路 来源:FPGA开发之路 作者:FPGA_Developer 2022-12-12 09:49 次阅读

在 Xilinx CDC 设计中, 我们一般用到以下几种时序约束:

set_clock_groups -asynchronous

set_false_path

set_max_delay -datapath_only

set_bus_skew

set_clock_groups -asynchronous

这个命令指定clock之间是异步关系,时序分析时会完全ignore这些clock之间的path。

值得注意的是,set_clock_groups 相比于其他的 timing exceptions 有更高的优先级。如果你还是需要约束或者报告某些CDC path,是不能用 set_clock_groups 的。

set_false_path

这个命令指定相应的path在时序分析时可以被ignore。经过同步器同步的CDC path一般可以施加set_false_path约束。更general一些,我们认为不需要时序约束的path都可以用这个命令。

set_max_delay -datapath_only

set_max_delay可以约束一条path的最大delay。-datapath_only可以指定在分析该path的timing slack时不考虑clock skew。因为异步时钟是无法知道准确的clock skew的,所以我们用 set_max_delay 来约束cdc path时一般要加 -datapath_only。Setup time仍然是会被考虑的,所以 required time = max_delay + setup_time。

值得注意的是,当我们加了 -datapath_only,该path的hold time检查会被ignore。另外set_min_delay 是不支持 -datapath_only的。

set_bus_skew

这个命令用来约束多条cdc path之间最大的time difference,这里的bus指的是多条cdc path而不是我们常说的总线。

set_bus_skew应用的一个典型例子是异步FIFO中的格雷码。在异步FIFO的设计中用到格雷码,是为了使得跨时钟域时只有一个bit发生跳变。但是如果多位格雷码信号的cdc path之间的skew很大,则可能出现在跨时钟域时多位bit跳变的情况。比如我们使用格雷码00->01->11->10,假入bit 0的delay比bit 1的delay大过一个dest clock 时钟周期,那么在dest clock 端,可能会看到00直接跳变到11。因此我们希望通过set_bus_skew来约束多位格雷码信号,使其skew小于一个 dest clock period。

审核编辑:汤梓红

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

    关注

    70

    文章

    2121

    浏览量

    119373
  • CDC
    CDC
    +关注

    关注

    0

    文章

    55

    浏览量

    17670
  • 时序约束
    +关注

    关注

    1

    文章

    111

    浏览量

    13350

原文标题:Xilinx 跨时钟域时序约束

文章出处:【微信号:FPGA开发之路,微信公众号:FPGA开发之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    Xilinx FPGA编程技巧之常用时序约束详解

    寄存器到寄存器约束往往指的是周期约束,周期约束的覆盖范围包括: 覆盖了时钟时序要求 覆盖了
    发表于 04-12 17:39

    XILINX---时序约束

    本帖最后由 china198 于 2013-8-30 12:28 编辑 XILINX的作品---时序约束,写的非常棒
    发表于 08-30 12:26

    关于FPGA时序约束的一点总结

    其他总结:get_registers 对应多周期约束;get_ports 对应时钟约束get_nets 对应IO约束get_clocks 对应
    发表于 09-13 21:58

    xilinx 时序分析及约束

    大部分的时序分析和约束都写在这里了。 一、基本时序路径1、clock-to-setup周期约束时钟
    发表于 03-09 14:43

    时钟时钟约束介绍

    ->Core Cock Setup:pll_c0为(Latch Clock) 这两个是时钟时钟,于是根据文中总结:对于
    发表于 07-03 11:59

    时序约束时钟约束

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

    如何处理好FPGA设计中时钟间的数据

    时钟处理是FPGA设计中经常遇到的问题,而如何处理好时钟间的数据,可以说是每个FPGA初
    发表于 07-29 06:19

    如何处理好时钟间的数据呢

    时钟处理是什么意思?如何处理好时钟间的数据呢?有哪几种
    发表于 11-01 07:44

    看看Stream信号里是如何做时钟握手的

    逻辑出身的农民工兄弟在面试时总难以避免“时钟”的拷问,在诸多时钟的方法里,握手是一种常见
    发表于 07-07 17:25

    调试FPGA时钟信号的经验总结

    1、时钟信号的约束写法  问题一:没有对设计进行全面的约束导致综合结果异常,比如没有设置异步时钟
    发表于 11-15 14:47

    Xilinx时序约束设计

    Xilinx时序约束设计,有需要的下来看看
    发表于 05-10 11:24 18次下载

    Xilinx时序约束培训教材

    FPGA学习资料教程之Xilinx时序约束培训教材
    发表于 09-01 15:27 0次下载

    xilinx时序分析及约束

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

    Xilinx时序设计与约束资料详细说明

    本文档的主要内容详细介绍的是Xilinx时序设计与约束资料详细说明。
    发表于 01-14 16:26 32次下载