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

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

3天内不再提示

时序分析的基本概念及常规时序路径的组成

电子设计 来源:CSDN博主 作者:Sea_Sand 2020-11-25 15:27 次阅读

1、发起沿和捕获沿(Launch edge & Capture edge)

② Launch edge是发送数据的时钟边沿,通常选择上升沿。

③ Capture edge是捕获段捕获到该数据的时钟边沿。

④ 通常情况下这两个边沿会有一个时钟周期的差别。

2、时序路径Timing path典型时序路径有四种)

② 第一类时序路径(红色)
- 从device A的时钟到FPGA的第一级寄存器的输入端口

③ 第二类时序路径
- 两个同步元件之间的路径(rega到regb蓝色)

④ 第三类时序路径
- 最后一集寄存器到device B数据端口的路径(黄色)

⑤ 第四类时序路径
- 端口到端口的路径(dinb到dinb绿色)

⑥ 我们要关注的是这些路径的
- 起始点(start point)记作S
- 终止点(end point)记作E
-


- 前三条路径的起始点,都是发送寄存器的时钟端口,终止点都是接收寄存器的数据端口。

⑦ 常规时序路径的组成
- 我们给出基本模型(可看出rega 和 regb时钟是不同的)
-


- 源端时钟路径(红色) 数据路径(蓝色) 和目的段时钟路径(黄色)
-

3、数据到达时间和数据需求时间

① 数据到达时间
-


- 数据在发送沿发送之后,经过多长时间会到达接收寄存器的数据端口,即到达regb的D端口的时刻,这个时刻就是数据到达时间。
- 我们需要选择一个参考(基准)时间点。通常选择launch edge作为零时刻基准点。
- 数据经过Tco时间,到达Q端口。
- 数据从Q端口,要经过组合逻辑,以及布线的线延时才能到达接收短的D端口(Tdata)。
- 故有公式如下:
-


- 选择launch edge作为零时刻基准点。

② 时钟到达时间(clock Arrival Time)
- 观察捕获寄存器的时钟。
-


- 选择launch edge作为零时刻基准点。其实是launch edge加上一个时钟周期。

4、建立时间的裕量和保持时间的裕量(Setup slack & Hold Slack)

① 建立时间(数据需求时间:Tsu)
-


- 数据可以被稳定的捕获到的最小时间。
- 我们仍然关注捕获寄存器。
- 数据需要在时钟捕获沿到达之前的一段时间,必须到达。相当于是数据到达regb的时钟端口 和 regb的时钟处于capture edge这两个情况同时满足的时候,才可以进行接收数据。
- 换句话就是说,数据至少提前时钟Tsu的时间到达捕获寄存器的数据端口。
- 数据所需要的时间是
-


- 其中Set up Uncertainty(一般是时间抖动造成的Uncertainty时间)。

② 保持时间情况下的数据需求时间(Data Request Time-Hold)
-


- 当我们捕获到数据之后,数据还应该稳定的存在一定时间。
- 除了有Tlckb的时钟延时之外,还要看到捕获寄存器本身的保持时间需求。
- Tclkb时钟延时,然后数据到达后,至少还需要Th的保持时间。
-

③ Tsu和Th确定了数据的有效窗口。
- 数据有效窗口的起始沿就是Tsu
- 终止端口就是Th。

④ 建立时间裕量(Setup Slack)
- 在做时序分析时,我们的建立时间的需求可以满足,那么这条路径上发送的数据,就可以被目的寄存器稳定的捕获到。
- 我们来看一下我们的模型:
-


- Tclka
- Tco
- Tdata
- Tclkb
- Tsu
- 数据需求时间(Tsu)-当前数据到达时间
-


-

⑤ 保持时间的裕量(Hold Slack)新的数据不能太早的到达,否则就破坏了原来的数据
-


- Tclka
- Tco
- Tdata
- Tclkb
- Th
- 新的数据到达时间-数据需求时间(Th)
-


-

⑥ 如果Slack为正,说明我们的时序是满足的。

⑦ 为什么会出现Slack为负的情况?
- 对于Set up Slack为负的情况
- 数据延时太大,导致数据建立时间Tsu不够了,见下图:
-


- Hold Slack为负
- 时钟的延迟太大,导致当前data的Capture time到来的时候,已经在传下一个data了。
-

⑧ Tdata = Tlogic(组合逻辑,逻辑门的延时)+Tnet(布线,线的延时)
- Tlogic:主要和我们的代码风格有关。
- Tnet:可能跟我们的布局布线的策略有关。

⑨ 系统的时钟频率Ts >= Tco + Tdata + Tsu这三者决定了系统的时钟的最高频率。

5、总结:

① 通常我们都是以Launch edge作为零时刻点(参考时刻点)

② 通常Capture edge time = Launch edge time + 1 clock cycle

③ Tsu和Th是芯片决定的。

编辑:hfy


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

    关注

    30

    文章

    5031

    浏览量

    117734
  • 时序分析
    +关注

    关注

    2

    文章

    126

    浏览量

    22473
收藏 人收藏

    评论

    相关推荐

    时序分析中的一些基本概念

    时序分析是FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念
    发表于 10-21 09:28 1405次阅读

    时序分析中的一些基本概念

    时序分析时FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念
    发表于 02-11 19:08 3984次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b>中的一些<b class='flag-5'>基本概念</b>

    时序分析基本概念——STA概述简析

    时序分析基本概念介绍——STA概述,动态时序分析,主要是通过输入向量作为激励,来验证整个设计的时序
    的头像 发表于 12-14 17:01 2.8w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>——STA概述简析

    时序分析基本概念介绍——时序库Lib,除了这些你还想知道什么?

    时序分析基本概念介绍——时序库Lib。用于描述物理单元的时序和功耗信息的重要库文件。lib库是最基本的
    的头像 发表于 12-15 17:11 1.1w次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>介绍——<b class='flag-5'>时序</b>库Lib,除了这些你还想知道什么?

    详细介绍时序基本概念Timing arc

    时序分析基本概念介绍——Timing Arc
    的头像 发表于 01-02 09:29 2.4w次阅读
    详细介绍<b class='flag-5'>时序</b><b class='flag-5'>基本概念</b>Timing arc

    时序分析时序约束的基本概念详细说明

    时序分析时FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念
    发表于 01-08 16:57 28次下载
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b>和<b class='flag-5'>时序</b>约束的<b class='flag-5'>基本概念</b>详细说明

    FPGA设计中时序分析基本概念

    时序分析时FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念
    的头像 发表于 03-18 11:07 2144次阅读

    静态时序分析基本概念和方法

    向量和动态仿真 。本文将介绍静态时序分析基本概念和方法,包括时序约束,时序路径
    的头像 发表于 06-28 09:38 806次阅读
    静态<b class='flag-5'>时序</b><b class='flag-5'>分析</b>的<b class='flag-5'>基本概念</b>和方法

    介绍时序分析基本概念lookup table

    今天要介绍的时序分析基本概念是lookup table。中文全称时序查找表。
    的头像 发表于 07-03 14:30 760次阅读
    介绍<b class='flag-5'>时序</b><b class='flag-5'>分析</b>的<b class='flag-5'>基本概念</b>lookup table

    介绍时序分析基本概念MMMC

    今天我们要介绍的时序分析基本概念是MMMC分析(MCMM)。全称是multi-mode, multi-corner, 多模式多端角分析模式。
    的头像 发表于 07-04 15:40 1602次阅读
    介绍<b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>MMMC

    时序分析Slew/Transition基本概念介绍

    今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。
    的头像 发表于 07-05 14:50 1700次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b>Slew/Transition<b class='flag-5'>基本概念</b>介绍

    什么是时序路径timing path呢?

    今天我们要介绍的时序分析概念是 **时序路径** (Timing Path)。STA软件是基于timing path来
    的头像 发表于 07-05 14:54 1135次阅读
    什么是<b class='flag-5'>时序</b><b class='flag-5'>路径</b>timing path呢?

    时序分析基本概念介绍—Timing Arc

    今天我们要介绍的时序基本概念是Timing arc,中文名时序弧。这是timing计算最基本的组成元素,在昨天的lib库介绍中,大部分时序
    的头像 发表于 07-06 15:00 1583次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>介绍—Timing Arc

    时序分析基本概念介绍—时序库Lib

    今天主要介绍的时序概念时序库lib,全称liberty library format(以• lib结尾),
    的头像 发表于 07-07 17:15 1789次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>介绍—<b class='flag-5'>时序</b>库Lib

    时序分析基本概念解析

    正如“聚合”的意思(字典)“两个或多个事物聚集在一起的发生”。所以我们可以假设它也与 2 个时钟路径聚集在一起有关。 (了解时钟路径请参考另一篇博客-静态时序分析基础:第1部分“
    的头像 发表于 08-08 10:31 588次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>解析