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

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

3天内不再提示

FPGA知识汇集-FPGA系统时序理论

e9Zb_gh_8734352 来源:FPGA技术联盟 作者:FPGA技术联盟 2022-12-21 15:43 次阅读

时序约束条件

下面来具体讨论一下系统时序需要满足的一些基本条件。我们仍然以下图的结构为例,并可以据此画出相应的时序分析示意图。

76ba271c-8102-11ed-8abf-dac502259ad0.png

76d9d0b2-8102-11ed-8abf-dac502259ad0.png

在上面的时序图中,存在两个时序环,我们称实线的环为建立时间环,而虚线的环我们称之为保持时间环。可以看到,这两个环都不是闭合的,缺口的大小就代表了时序裕量的多少,因此设计者总希望尽可能增大这个缺口。同时还要注意到,每个环上的箭头方向不是一致的,而是朝着正反两个方向,因为整个系统时序是以时钟上升沿为基准的,所以我们时序环的起点为系统时钟clk in的上升沿,而所有箭头最终指向接收端的控制时钟CLKC的边沿。

先来分析建立时间环:

缺口的左边的半个时序环代表了从第一个系统时钟上升沿开始,直到数据传输至接收端的总的延时,我们计为数据延时,以Tdata_tot表示:

Tdata_tot=Tco_clkb+Tflt_clkb +Tco_data +Tflt_data

上式中:Tco_clkb是系统时钟信号CLKB在时钟驱动器的内部延迟;Tflt_ clkb 是CLKB从时钟驱动器输出后到达发送端(CPU)触发器的飞行时间;Tco_data是数据在发送端的内部延迟;Tflt_data是数据从发送端输出到接收端的飞行时间。

从CLKC时钟边沿的右边半个时序环代表了系统时钟到达接收端的总的沿时,我们计为时钟延时,以Tclk_tot表示:

Tclk_tot =Tcycle +Tco_clka +Tflt_clka – Tjitter

其中,Tcycle是时钟信号周期;Tco_clka 是系统时钟信号CLKA(第二个上升沿)在时钟驱动器的内部延迟;Tflt_clka是时钟信号从时钟驱动器输出到达接收端触发器的飞行时间;Tjitter是时钟的抖动误差。

因此我们可以根据建立时间裕量的定义,得到:

Tsetup_margin = Tclk_tot – Tdata tot – Tsetup

将前面的相应等式带入可得:

Tsetup_magrin = Tcycle + Tco_clka + Tflt_clka – Tjitter – Tco_clkb – Tflt_clkb – Tco_data – Tflt_data – Tsetup

我们定义时钟驱动器(PLL)的两个时钟输出之间的偏移为Tclock_Skew ,两根CLOCK走线之间的时钟偏移为TPCB_Skew ,即:

Tclock_Skew = Tco_clkb - Tco_clka;

TPCB_Skew = Tflt_clkb - Tflt_clka

这样就可以得到建立时间裕量的标准计算公式:

Tsetup_magrin =Tcycle – TPCB_skew –Tclock_skew –Tjitter – Tco_ data -Tflt_data-Tsetup (1.6.1)

再来看保持时间环:

对照上图,我们可以同样的进行分析:

Tdata_delay = Tco_clkb + Tflt_clkb + Tco_data + Tflt_data

Tclock delay = Tco_clka + Tflt_clka

于是可以得出保持时间裕量的计算公式:

Thold margin = Tdata_delay – Tclock_dalay – Thold_time

即: Thold margin = Tco_data + Tflt_data + Tclock_skew + Tpcb_skew – Thold (1.6.2)

可以看到,式1.6.2中不包含时钟抖动Jitter的参数。这是因为Jitter是指时钟周期间(Cycle to Cycle)的误差,而保持时间的计算和时钟周期无关。

对于任何时钟控制系统,如果要能保证正常工作,就必须使建立时间余量和保持时间裕量都至少大于零,即Tsetup marin 》0;Thold margin 》0,将公式1.6.1和1.6.2分别带入就可以得到普通时钟系统的时序约束条件不等式:

TPCB_skew +Tclock_skew +Tjitter + Tco_data + Tflt_data+Tsetup《 Tcycle (1.6.3)

Tco_data + Tflt_data + Tclock_skew + Tpcb_skew 》 Thold (1.6.4)

需要注意的是:

1. 数据在发送端的内部延时Tco_data可以从芯片的datasheet查到,这个值是一个范围,在式1.6.3中取最大值,在式1.6.4中取最小值。

2.数据在传输线上的飞行时间Tflt_data在实际计算中应该取最大/最小飞行时间参数,在式1.6.3中取最大飞行时间,在式1.6.4中取最小飞行时间。

3. 时钟的偏移TPCB_skew和Tclock_skew也是一个变化的不确定参数,一般为+/-N ps,同样,在建立时间约束条件1.6.3中取+Nps,而在保持时间约束条件1.6.4中取-Nps。

从上面的分析可以看到,对于PCB设计工程师来说,保证足够稳定的系统时序最有效的途径就是尽量减小PCB skew和信号传输的飞行时间,而其它的参数都只和芯片本身的性能有关。实际中经常采取的措施就是严格控制时钟和数据的走线长度,调整合理的拓补结构,并尽可能减少信号完整性带来的影响。然而,即便我们已经考虑的很周全,普通时钟系统的本身的设计瓶颈始终是无法打破的,也就是建立时间的约束,我们在尽可能减少由PCB布线引起的信号延迟之外,器件本身的特性如Tco、Jitter、TSetup等等将成为最主要的制约因素,尽管我们可以通过提高工艺水平和电路设计技术来不断提高数字器件的性能,但得到的效果也仅仅是在一定范围之内提升了系统的主频,在频率超过300MHz的情况下,我们将不得不放弃使用这种普通时钟系统设计。

审核编辑 :李倩

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

    关注

    1625

    文章

    21619

    浏览量

    601146
  • pll
    pll
    +关注

    关注

    6

    文章

    774

    浏览量

    134995
  • 时序图
    +关注

    关注

    2

    文章

    57

    浏览量

    22426
  • 时钟驱动器
    +关注

    关注

    0

    文章

    33

    浏览量

    13814

原文标题:FPGA知识汇集-FPGA系统时序理论

文章出处:【微信号:gh_873435264fd4,微信公众号:FPGA技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的IO口时序约束分析

      在高速系统FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的
    发表于 09-27 09:56 1702次阅读

    FPGA知识汇集-FPGA时序基础理论

    时序理论,那肯定是不称职的。本章我们就普通时序(共同时钟)和源同步系统时序等方面对系统
    的头像 发表于 12-13 10:50 2207次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>知识</b><b class='flag-5'>汇集</b>-<b class='flag-5'>FPGA</b><b class='flag-5'>时序</b>基础<b class='flag-5'>理论</b>

    FPGA时序约束的基础知识

    FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细一点,即需要满足建立和保
    发表于 06-06 17:53 1429次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>时序</b>约束的基础<b class='flag-5'>知识</b>

    FPGA I/O口时序约束讲解

    前面讲解了时序约束的理论知识FPGA时序约束理论篇,本章讲解时序约束实际使用。
    发表于 08-14 18:22 1519次阅读
    <b class='flag-5'>FPGA</b> I/O口<b class='flag-5'>时序</b>约束讲解

    FPGA时序分析

    FPGA时序分析系统时序基础理论对于系统设计工程师来说,时序
    发表于 08-11 17:55

    FPGA实战演练逻辑篇48:基本的时序分析理论1

    影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多的问题。(特权同学,版权所有)言归正传,之所以引进静态时序分析的理论也正
    发表于 07-09 21:54

    FPGA时序约束--基础理论

    钟偏差。 Tlogic与我们写的HDL代码有直接关系,Trouting是FPGA开发软件综合布线根据FPGA内部资源情况进行布线产生的延时。 四、总结 本文介绍了FPGA时序
    发表于 11-15 17:41

    FPGA设计:时序是关键

    当你的FPGA设计不能满足时序要求时,原因也许并不明显。解决方案不仅仅依赖于使用FPGA的实现工具来优化设计从而满足时序要求,也需要设计者具有明确目标和诊断/隔离
    发表于 08-15 14:22 1258次阅读

    FPGA系统时序基础理论

    很好的FPGA资料,基础的资料,快来下载吧
    发表于 09-01 16:40 23次下载

    FPGA中的时序约束设计

    一个好的FPGA设计一定是包含两个层面:良好的代码风格和合理的约束。时序约束作为FPGA设计中不可或缺的一部分,已发挥着越来越重要的作用。毋庸置疑,时序约束的最终目的是实现
    发表于 11-17 07:54 2534次阅读
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>时序</b>约束设计

    FPGA时序约束的理论基础知识说明

    FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束。这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的。好的时序
    发表于 01-12 17:31 8次下载
    <b class='flag-5'>FPGA</b><b class='flag-5'>时序</b>约束的<b class='flag-5'>理论基础知识</b>说明

    时序约束系列之D触发器原理和FPGA时序结构

    明德扬有完整的时序约束课程与理论,接下来我们会一章一章以图文结合的形式与大家分享时序约束的知识。要掌握FPGA
    的头像 发表于 07-11 11:33 4762次阅读
    <b class='flag-5'>时序</b>约束系列之D触发器原理和<b class='flag-5'>FPGA</b><b class='flag-5'>时序</b>结构

    FPGA知识汇集-源同步时序系统

    针对普通时钟系统存在着限制时钟频率的弊端,人们设计了一种新的时序系统,称之为源同步时序系统。它最大的优点就是大大提升了总线的速度,在
    的头像 发表于 12-26 17:04 1000次阅读

    FPGA设计-时序约束(理论篇)

    STA(Static Timing Analysis,即静态时序分析)在实际FPGA设计过程中的重要性是不言而喻的
    发表于 06-26 09:01 616次阅读
    <b class='flag-5'>FPGA</b>设计-<b class='flag-5'>时序</b>约束(<b class='flag-5'>理论</b>篇)

    FPGA高级时序综合教程

    FPGA高级时序综合教程
    发表于 08-07 16:07 5次下载