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

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

3天内不再提示

解读FPGA的静态时序分析

FPGA设计论坛 来源:未知 2023-03-14 19:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析。静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,终于找到了一种很简单的解读办法,可以看透它的本质,而且不需要再记复杂的公式了。

我们的分析从下图开始,下图是常用的静态分析结构图,一开始看不懂公式不要紧,因为我会在后面给以非常简单的解释:


这两个公式是一个非常全面的,准确的关于建立时间和保持时间的公式。其中Tperiod为时钟周期;Tcko为D触发器开始采样瞬间到D触发器采样的数据开始输出的时间;Tlogic为中间的组合逻辑的延时;Tnet为走线的延时;Tsetup为D触发器的建立时间;Tclk_skew为时钟偏移,偏移的原因是因为时钟到达前后两个D触发器的路线不是一样长。

这里我们来做如下转化:

因为对于有意义的时序约束,建立时间余量Tslack,setup和保持时间余量Thold都要大于0才行,所以对于时序约束的要求其实等价于:

Tperiod>Tcko+Tlogic+Tnet+Tsetup-Tclk_skew (1)

Tcko+Tlogic+Tnet>Thold+Tclk_skew (2)

之前说了,这两个公式是最全面的,而实际上,大部分教材没讲这么深,他们对于一些不那么重要的延时没有考虑,所以就导致不同的教材说法不一。这里,为了得到更加简单的理解,我们按照常规,忽略两项Tnet和Tclk_skew。原因在于Tnet通常太小,而Tclk_skew比较不那么初级。简化后如下:

Tperiod>Tcko+Tlogic+Tsetup (3)

Tcko+Tlogic>Thold (4)

简单多了吧!但是你能看出这两个公式的含义吗?其实(3)式比较好理解,意思是数据从第一个触发器采样时刻传到第二个触发器采样时刻,不能超过一个时钟周期啊!假如数据传输超过一个时钟周期,那么就会导致第二个触发器开始采样的时候,想要的数据还没有传过来呢!那么(4)式又如何理解呢?老实说,一般人一眼看不出来。

我们对于(4)式两边同时加上Tsetup,得到(5):

Tcko+Tlogic+Tsetup>Thold+Tsetup (5)

结合(3)式和(5)式,我们得到如下的式子:

Thold+Tsetup

这个式子就是那个可以让我们看出规律的式子。也是可以看出静态时序分析本质的式子。

Tcko+Tlogic+Tsetup是指数据从第一级触发器采样瞬间开始,传输到第二级触发器并被采样的传输延时。我们简称为数据传输延时。下面讲述(6)式两端的含义。

Tcko+Tlogic+Tsetup<  Tperiod :约定数据传输延时不能太大,如果太大(超过一个时钟周期),那么第二级触发器就会在采样的时刻发现数据还没有到来。

Thold+Tsetup

综上,我们就可以知道,数据传输延时既不能太大以至于超过一个时钟周期,也不能太小以至于小于触发器采样窗口的宽度。这就是静态时序分析的终极内涵。有了这个,就不需要再记任何公式了。







精彩推荐



至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!3月28号北京中心开课、欢迎咨询!
FPGA运算单元对高算力浮点应用
FPGA芯片的供电系统
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看







原文标题:解读FPGA的静态时序分析

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1664

    文章

    22504

    浏览量

    639302

原文标题:解读FPGA的静态时序分析

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工程师高培解读XilinxVivadoFPGA设计进阶与AI自动编程

    FPGA开发中,Vivado是贯穿设计全流程的核心工具。许多工程师在掌握基本操作后,仍会在时序收敛、综合策略、IP复用等方面遇到瓶颈。现根据中际赛威工程师培训老师对Vivado设计技术与AI自动
    的头像 发表于 04-22 16:29 175次阅读
    工程师高培<b class='flag-5'>解读</b>XilinxVivado<b class='flag-5'>FPGA</b>设计进阶与AI自动编程

    FPGA时序收敛的痛点与解决之道——从一次高速接口调试谈起

    FPGA开发中,时序收敛往往是项目后期最令人头疼的环节。许多工程师都有过这样的经历:RTL仿真通过,综合布线后却出现大量时序违例,为了满足时序不得不反复修改代码、调整约束,甚至重构设
    的头像 发表于 03-11 11:43 328次阅读

    锁存器中的时间借用概念与静态时序分析

    对于基于锁存器的设计,静态时序分析会应用一个称为时间借用的概念。本篇博文解释了时间借用的概念,若您的设计中包含锁存器且时序报告中存在时间借用,即可适用此概念。
    的头像 发表于 12-31 15:25 5641次阅读
    锁存器中的时间借用概念与<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>

    数字IC/FPGA设计中的时序优化方法

    在数字IC/FPGA设计的过程中,对PPA的优化是无处不在的,也是芯片设计工程师的使命所在。此节主要将介绍performance性能的优化,如何对时序路径进行优化,提高工作时钟频率。
    的头像 发表于 12-09 10:33 3555次阅读
    数字IC/<b class='flag-5'>FPGA</b>设计中的<b class='flag-5'>时序</b>优化方法

    ADP7000系列示波器特色功能:抖动分析,捕捉时序之微

    ,它不仅会引发数据传输误码率的上升,还可能造成系统时序混乱、性能受限,甚至导致功能失效。航天测控自研的ADP7000系列高性能数字实时示波器配备专业抖动分析软件包,具
    的头像 发表于 11-13 09:04 434次阅读
    ADP7000系列示波器特色功能:抖动<b class='flag-5'>分析</b>,捕捉<b class='flag-5'>时序</b>之微

    智多晶EDA工具HqFpga软件的主要重大进展

    图、时序分析等。HQ支持Windows、Linux操作系统利用HQ设计套件,设计人员能够实现高效率的FPGA工程开发与调试验证。
    的头像 发表于 11-08 10:15 4013次阅读
    智多晶EDA工具Hq<b class='flag-5'>Fpga</b>软件的主要重大进展

    Chroma 80611 电源时序/安规综合分析仪:电器安全与性能的自动化验证专家

    (Chroma)的 80611 时序/安规综合分析仪 正是为此类高要求应用而设计的集成化测试平台。它将时序分析与安规测试(交直流耐压、绝缘电阻、接地电阻)融为一体,极大地提升了测试效率
    的头像 发表于 11-04 10:25 667次阅读
    Chroma 80611 电源<b class='flag-5'>时序</b>/安规综合<b class='flag-5'>分析</b>仪:电器安全与性能的自动化验证专家

    什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce QAC/Klocwork),在软件开发早期发现并修复漏洞。
    的头像 发表于 10-31 14:24 731次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork应对CVE?

    vivado时序分析相关经验

    改为寄存输出。 时序分析有两个主要路径 Intra-clock:同时钟之间的路径分析,需实打实解决。(改善设计,改变综合策略等) Inter-clock:表示跨时钟路径,在静态
    发表于 10-30 06:58

    FPGA测试DDR带宽跑不满的常见原因及分析方法

    FPGA 中测试 DDR 带宽时,带宽无法跑满是常见问题。下面我将从架构、时序、访问模式、工具限制等多个维度,系统梳理导致 DDR 带宽跑不满的常见原因及分析方法。
    的头像 发表于 10-15 10:17 1276次阅读

    HarmonyOSAI编程智能代码解读

    CodeGenie > Explain Code,开始解读当前代码内容。 说明 最多支持解读20000字符以内的代码片段。 使用该功能需先完成CodeGenie登录授权。 本文主要从参考引用自HarmonyOS官方文档
    发表于 09-02 16:29

    ‌LM3880三轨简单电源时序控制器技术文档总结

    :ADAS系统、摄像头模块 工业设备:安防摄像头、FPGA供电时序控制 计算领域:服务器、网络设备处理器电源管理 ‌ 3. 技术实现原理 ‌ ‌ 使能控制
    的头像 发表于 08-19 14:23 1135次阅读
    ‌LM3880三轨简单电源<b class='flag-5'>时序</b>控制器技术文档总结

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析(Perforce QAC)实现高效合规。
    的头像 发表于 08-07 17:33 1319次阅读
    汽车软件团队必看:基于<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合规实践

    ADC和FPGA之间LVDS接口设计需要考虑的因素

    本文描述了ADC和FPGA之间LVDS接口设计需要考虑的因素,包括LVDS数据标准、LVDS接口数据时序违例解决方法以及硬件设计要点。
    的头像 发表于 07-29 10:01 5609次阅读
    ADC和<b class='flag-5'>FPGA</b>之间LVDS接口设计需要考虑的因素

    【经验分享】玩转FPGA串口通信:从“幻觉调试”到代码解析

    FPGA开发,思路先行!玩FPGA板子,读代码是基本功!尤其对从C语言转战FPGA的“宝贝们”来说,适应流水线(pipeline)编程可能需要点时间。上篇点灯代码解读了基础,而如果能亲
    的头像 发表于 06-05 08:05 1237次阅读
    【经验分享】玩转<b class='flag-5'>FPGA</b>串口通信:从“幻觉调试”到代码解析