[静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径

12 篇文章 187 订阅
订阅专栏

一、写在前面

一个数字芯片工程师核心竞争力是什么?不同的工程师可能给出不同的答复,有些人可能提到硬件描述语言,有些人可能会提到对于特定算法和协议的理解,有些人或许会提到对于软硬件的结合划分,作者想说,这些说法,其实对也不对,硬件描述语言,翻来覆去无非是always和assign这几个语句的反复使用,而一些基础的协议算法深究起来其实也并不复杂,于作者而言,在常规的技能以外,有两项额外的技能颇为重要,其中之一便为sdc/STA的分析能力,它的重要之处在于作为桥梁建立了前端和后端的连接,虽然对于DE工程师而言,初版交付的sdc往往不甚准确,也没有办法通过这份sdc生成一份无误的timing report,但sdc的内容体现却是完完整整的将时序约束从行为级的描述映射到了gate level这样一个真实的电路层次上面。
写此专栏,一为学习记录,二为交流分享,以犒粉丝读者。

1.1 快速导航链接·

静态时序分析简明教程(一)绪论
静态时序分析简明教程(二)基础知识:建立保持时间,违例修复,时序分析路径
静态时序分析简明教程(三)备战秋招,如何看懂一个陌生的timing report
静态时序分析简明教程(四)时钟常约束
静态时序分析简明教程(五)生成时钟
静态时序分析简明教程(六)时钟组与其他时钟特性
静态时序分析简明教程(七)端口延迟
静态时序分析简明教程(八)虚假路径
静态时序分析简明教程(九)多周期路径
静态时序分析简明教程(十)组合电路路径
静态时序分析简明教程(十一)模式分析与约束管理
静态时序分析简明教程(十二)浅议tcl语言

二、建立时间

2.1 什么是建立时间

建立时间是在时钟信号有效沿到达之前,输入信号需要保持稳定的时间,假如不满足建立时间的要求,就可能产生亚稳态,这种现象被称作建立时间违例
在这里插入图片描述

2.2 建立时间违例的修复

在这里插入图片描述
在考虑建立时间违例的极限情况,我们需要保证数据到达的时间,至少比时钟边沿到达的时间早一个setup time,而前一个寄存器的采样,又比后一个寄存器的采样早一个周期,因此我们可以列出式子如下

tclk-q + tlogic+tsetup<=tskew+T

其中tclk-q是数据从前一个寄存器的clk到q的时间,tlogic是寄存器间的组合逻辑,tskew是前后寄存器时钟边沿到达的时间差,T是时钟周期,移项

tsetup <= tskew + T - tlogic - tclk-q

因此,解决建立时钟违例的方法,就是使等式的右边尽可能的大一些。
方法在于,比如增加tskew,clock通路上插入buffer减少寄存器之间的组合逻辑降低时钟频率以增加T,更换DFF器件以降低tclk-q等。

2.3 最大分析

建立时间的检查可以确保移动最慢的数据也能及时到达并满足建立的标准,因此,它又被称为最大分析(max analysis)。由于建立检查考虑了最晚到达的数据,所以也被称为晚期分析(late analysis)

三、保持时间

3.1 什么是保持时间

保持时间是在时钟信号有效沿到达之后,输入信号需要保持稳定的时间,假如不满足保持时间的要求,也有可能产生亚稳态,这种现象被称作保持时间违例
在这里插入图片描述

3.2 保持时间违例的修复

在考虑保持时间违例的极限情况,我们需要保证数据改变的时间时钟沿到来的时间,至少晚一个holdtime。数据改变所需的时间,对于前一个寄存器而言,是指第二个时钟边沿到来时的数据移动的时间,对于第二个寄存器而言,也是指第二个时钟边沿到来的时间,因此我们可以列出式子如下:
在这里插入图片描述

tclk-q + tlogic>=tskew+thold

其中tclk-q是数据从前一个寄存器的clk到q的时间,tlogic是寄存器间的组合逻辑,tskew是前后寄存器时钟边沿到达的时间差,移项,为了解决违例,我们的目标是使右边的值尽可能大。

thold <= tclk-q+tlogic-tskew

我们可以增加tclk-q的值,换一些更慢的DFF,也可以增加tlogic的时间,这就是我们在 本专栏绪论中所说的未必一定要减少组合逻辑delay的原因,当然,减少skew也可以解决holdtime violation的问题。

但是,修hold time violation比修setup time violation更简单,因为只需要在组合逻辑路径上插入buffer,我们就可以很迅速的解决hold time violation问题。

3.3 最小分析

保持时间的检查可以确保即使是移动最快的数据也不应该干扰其他数据,同时期望数据保持稳定。因此,数据路径计算最小延迟,被称为最小分析(min analysis)由于保持检查考虑了最早到达的数据,所以也称其为早期分析(early analysis)

四、时序分析路径

STA分析能够进行的基础,是任何的同步电路,时序路径都可以进行拆分,拆分成几类,统一进行建立时间、保持时间的检查,根据约束,来判断是否有违例发生
每一条需要分析的路径,都有其自身起点终点,因为我们在讨论建立时间保持时间的过程中,判断主要发生在:时钟沿到来的时间和数据到来的时间,因此不难区分出STA可能的起点和终点

起点:原始输入|寄存器时钟输入
终点:原始输出|寄存器数据输入

不管分析什么样的电路,STA的路径都可以根据上面的起点终点进行拆分,如下列表所示,这四条时序路径就是所有STA分析时需要检测的路径。

Path输入输出
1原始输入寄存器数据输入
2寄存器时钟输入寄存器数据输入
3寄存器时钟输入原始输出
4原始输入原始输出

在这里插入图片描述

五、裕度(slack)

裕度是指:满足电路最低建立时间保持时间以外的额外的冗余量,因此:我们通常情况下希望,首先,电路是不能有违例的,其次,冗余量越大越好

5.1 建立slack

建立slack = 数据建立要求 - 最后一个到达的信号

5.2 保持slack

保持slack = 最早到达的信号 - 数据稳定的要求

六、总结

STA的核心就是对电路,尤其是寄存器进行建立时间和保持时间的分析,计算分析路径的裕度,因此我们在基础知识的介绍中,也是就此方面介绍有关setup time/hold time/violation repair/slack等内容,其实抛开STA/SDC外,这些知识在面试笔试中也是属于经常见到的常见考点,需要读者们重点掌握,而在基础知识外,下一节,我们会拿出真实的timing report,来看一看报告上面能读出什么有价值的信息

时序分析、时序约束和时序收敛(8)--关于时序路径、时钟悲观度和建立时间/保持时间的一些问题
孤独的单刀
01-03 9011
关于时序路径、时钟悲观度和建立时间/保持时间的几个问题分享给大家?
静态时序分析的理解(建立时间保持时间
Mr.翟的博客
03-27 9580
文章目录一、概念时序分析三、扩展等式关系 一、概念 建立时间:触发器(DFF)时钟上升沿到来之前,数据需要保持稳定的最小时间间隙就是建立时间。简而言之,时钟边沿触发前,要求数据必须存在一段时间, 这就是器件需要的建立时间。如不满足建立时间,这个数据就不能被这一时钟打入触发器。 保持时间:触发器(DFF)时钟上升沿到来之后,数据需要保持稳定的最小时间间隙就是保持时间。简而言之,时钟边沿触发后...
FPGA】STA静态时序分析
weixin_47730622的博客
07-03 1053
静态时序分析
建立时间保持时间
我的blog屋
09-16 777
一、概念 在实际电路中,必须考虑传输延迟的影响。比如D锁存器,在时钟信号从1变成0时,它把当前输出的值储存在锁存器中。如果输入D稳定,则电路可以稳定工作,如果在时钟跳变时候D的内容也正好发生变化,则可能产生不可预知的结果。所以电路设计者必须保证时钟信号跳变时后,输入信号是稳定的。 下图中标示了一些关键时间区间,这些区间和工艺有关。集成电路制造厂家都会提供这个参数。 建立时间(Tsu:set up time):是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升
数字电路-建立时间保持时间详解
最新发布
want<offer>的博客
07-13 3212
对于数字系统而言,建立时间(setup time)和保持时间(hold time)是数字电路时序的基础。数字电路系统的稳定性,基本取决于时序是否满足建立时间保持时间。我自己在初学时一度很难理解清楚他们的概念,在这里用笔记的方式尽量详细解释建立时间保持时间的要点。
建立保持时间违例解决方法
Peng_yuyan_SDU的博客
02-10 9995
建立保持时间概念 为什么要有建立保持时间?参考:为什么会有建立时间(setup time)和保持时间(hold time)要求 - 知乎 (zhihu.com) 答:简单来说,DFF可以由两个latch构成,每个latch是通过传输门组成的mux组成。如果不满足建立时间,mux反馈端口的左右两侧就会出现不相等情况。如果不满足保持时间,在clk关断mux之前,新的数据还是会进入dff冲毁数据。 建立时间(setup time):触发器在时钟沿到来之前,其数据的输入端的数据必须保持不变的时间; 建立时
ic基础|时序篇02:建立时间保持时间的裕量计算以及违例解决办法
demayiya的博客
02-24 2136
在上一篇文章中,我们提到了建立时间保持时间的概念,在本篇文章中,我们将进一步进行建立时间保持时间的裕量(slack)分析。
静态时序分析-建立时间保持时间违例分析
sinat_41774721的博客
03-23 2995
文章目录单一分析模式1.建立时间分析2.保持时间分析 单一分析模式 时序分析模式分别为:单一分析模式(single mode)、最好-最坏分析模式(BC_WC mode)、全芯片变换分析模式(OCV mode),这里仅分析单一模式,其他模式类似只是最快数据路径和最慢路径选择不同。 更多知识参考: 详解建立时间保持时间 时序违例解决方法 1.建立时间分析 时钟周期(T) = 4 发射时钟最慢路径延时值(Tck)=U1单元延时+U2单元延时=0.8+0.6 = 1.4 最慢数据路径延时值 (Tcmb) =
建立时间保持时间
gsp12356的博客
04-22 6288
1. 定义 Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。 建立时间(setup time) 建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。 输入信号应提前时钟上升沿(如上升沿 有效)T时间到达芯片,这个T就是建立时间-Setup time。 .如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。 用Tsetup或者Tsu表示,也就是说要锁存的数据必须比上升沿早来时间必须大于建立时间。 引自 ht
静态时序分析_fpga_静态时序分析_
09-29
静态时序分析的基础是时序路径的概念,即电路中信号从一个触发器的输出到另一个触发器的输入所经过的路径。这些路径决定了电路的最慢和最快响应时间,影响了系统的时钟周期和整体性能。通过STA,设计师可以计算出...
静态时序分析教程.pdf
10-25
静态时序分析教程》是一本深入探讨集成电路设计中关键环节——静态时序分析教程。该教程旨在帮助读者理解并掌握如何通过静态时序分析确保芯片的性能、功耗和面积(PPA)达到理想平衡。 静态时序分析(Static ...
【博客大赛】时序违规的常见原因及解决办法分享
08-05
上一篇博文中谈到,这一节中将谈论添加约束后进行综合,如果出现时序违规,会是哪类情况以及该如何去解决。
静态时序分析理论讲解.docx
07-11
本文档将从理论角度出发,详细分析寄存器之间延时对建立时间违例保持时间违例的影响,并推导相关公式。 #### 、关键术语解释 1. **建立时间(Setup Time, Tsu)**:建立时间是指时钟边沿触发前数据必须稳定的...
时序分析基本概念介绍——建立时间保持时间
qq_34326957的博客
06-03 4335
静态时序分析中最基本的就是setup和hold时序分析,其检查的是触发器时钟端CK与数据输入端D之间的时序关系。解决时序收敛的问题也是静态时序分析中的主要任务。
触发器:建立时间保持时间
轻狂博客
10-08 6370
什么是建立时间保持时间 建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够, 数据将不能在这个时钟上升沿被打入触发器。 保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够, 数据同样不能被打出触发器。 传输延时(transmission delay)数据相对于时钟上升沿tc-q...
时序违例的解决方法
qq_40268672的博客
05-26 5893
时序违例可以分为两种情况,分别为建立时间违例保持时间违例 建立时间违例 降低频率 时钟频率定的太高,导致Tcycle太小,使得不满足建立时间要求。当然最简单的就是降低时钟频率,但是一般一个电路架构定下来的时候为了满足速度与吞吐率的要求,频率一般不允许有太大的改动。 提升工艺 那就是工艺定的实在不合适,基本cell延时很大,可以换更先进的工艺。 上面两种可能性在实际真正的项目里面发生的可能不大,因为一般项目实际编码之前,架构师对工艺与频率都是评估过的。 实际让我们工程师去解决的问题就是由于两级寄存器之间的组
静态时序分析-时序违例解决方法
sinat_41774721的博客
03-21 4020
文章目录时序优化1.优化建立时间和时序设计规则1.1 改变单元位置1.2 改变单元的大小1.3 插入缓冲单元1.4删除缓冲单元1.5 重分配负载1.6 时钟有用偏斜2.优化保持时间 时序优化 解决时序收敛的问题也是静态时序分析中的主要任务。静态时序分析中可以通过自动和手动两种方式完成物理上和时序上的优化工作,其优化时序的类型主要分为建立时间保持时间和时序设计规则3种。 解决建立时间不满足的方法: 加强约束,重新进行综合,对违规的路径进行进一步的优化,但是一般效果可能不是很明显 降低时钟频率,但是这个一般
时序违例FPGA开发流程的分析及解决,结合实际工程
aaa23d1的博客
03-25 5393
本文介绍了VIVADO各个阶段所要注意的影响时序的因素,并根据时序报告的几个重要参数给出相应解决方法。
建立时间保持时间违例如何处理,求最大时钟频率
weixin_43755290的博客
09-22 7129
ps. 写本文的目的仅为了整理笔记,好记性不如烂笔头~ 参考来源: 建立时间保持时间关系详解 一文解决关于建立时间保持时间的困惑 建立时间保持时间的概念 ———————————————————————————————————— 建立时间保持时间违例如何处理1. 建立时间保持时间的概念及求最大时钟频率2. 约束条件公式推理3. 违例如何处理 1. 建立时间保持时间的概念及求最大时钟频率 2. 约束条件公式推理 3. 违例如何处理 ......
建立时间保持时间违例,应该如何优化
03-27
建立时间保持时间违例是指在工程项目中,实际完成时间和计划完成时间不一致,可能早于计划完成时间或者晚于计划完成时间。为了优化这种情况,可以采取以下措施: 1. 优化项目计划:通过更加详细的项目计划,可以更好地预测项目进度,从而避免时间的违例。 2. 加强监督管理:对项目进度进行严格的监督和管理,及时发现问题并采取措施,从而保证项目按计划完成。 3. 强化团队合作:加强团队之间的沟通和协作,共同努力完成项目,从而提高项目完成率。 4. 优化资源配置:合理配置项目资源,充分利用资源,提高项目效率,从而加快进度,避免时间的违例。 5. 引入技术手段:采用现代化的管理技术和工具,如项目管理软件、进度跟踪系统等,提高项目管理的精度和效率。
写文章

热门文章

  • 【数字IC精品文章收录】近500篇文章|学习路线|基础知识|接口|总线|脚本语言|芯片求职|安全|EDA|工具|低功耗设计|Verilog|低功耗|STA|设计|验证|FPGA|架构|AMBA|书籍| 128333
  • 【AXI】解读AXI协议中的burst突发传输机制 24655
  • 位宽计算的系统函数$clog2,这些是你需要知道的【Verilog高级教程】 19229
  • 【数字IC】深入浅出理解UART协议 19037
  • 【数字IC】从零开始的Verilog UART设计 17183

分类专栏

  • 静态时序分析 12篇
  • 数字IC手撕代码 18篇
  • 数字芯片IC笔试面试专题 18篇
  • Verilog进阶教程 11篇
  • 核心电路的设计
  • UART协议 2篇
  • SPI协议 2篇
  • I2C协议 1篇
  • APB协议
  • AXI协议 10篇
  • ALU设计 1篇
  • 乘法器设计 1篇
  • IC相关工具的使用
  • Vim编辑器 1篇
  • Modesim/Questasim 7篇

最新评论

  • 【数字IC手撕代码】Verilog小数分频|题目|原理|设计|仿真

    cherry_einstein: https://blog.csdn.net/weixin_43698385/article/details/122760093

  • 【数字IC】从零开始的Verilog UART设计

    想摸鱼的吴胖: 不应该/16吗,接收波特率更高,来进行多次采样?

  • 【数字IC手撕代码】Verilog偶数分频|题目|原理|设计|仿真(二分频,四分频,六分频,八分频,偶数分频及特殊占空比)

    风向决定发型d541: 一般不这么级联,时钟不会用上一个分频的时钟的,不然后面时钟的质量会很差

  • 【数字IC】从零开始的Verilog UART设计

    weixin_47631689: 懂了,应该是要翻转

  • 【数字IC】从零开始的Verilog UART设计

    weixin_47631689: 请问为什么localparam tx_rate = clk_rate / (baud_rate * 2); //发送模块分频系数 这个要*2是什么意思

大家在看

  • 码牛纯血鸿蒙北向应用南向设备
  • C++11新增特性:智能指针(RAII) 703
  • 【论文速看】DL最新进展20240922-长尾学习、目标检测 589
  • vue2 - elementUI全国城市列表选择器组件,提供省市区联动选择器、选择地址省市区级联、复选框tree树状省份全部列出来勾选,支持数据懒加载节点动态加载(附带全国省市区县乡镇村json数据)
  • linux-----进程控制

最新文章

  • 【Verilog高级教程】换种方式定义位宽,解读“+:“
  • [静态时序分析简明教程(十二)]浅议tcl语言
  • [静态时序分析简明教程(十一)]模式分析与约束管理
2024年1篇
2023年4篇
2022年64篇
2021年14篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张江打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司网站外链接优化揭秘seo网站内容页优化技巧新疆网站优化网站有几个方式优化南京网站关键词排名优化佛山专业网站seo优化案例网站优化的这几个方法你知道吗灯塔网站优化清远网站首页关键词优化多少钱网站的优化 都选站优云新乡营销型网站优化方案做网站优化的协议书网站模板网站建设推广优化公司铁岭网站优化价格城区网站优化推荐绵阳网站优化快速排名软件揭阳企业网站seo优化网站优化排名易下拉测试靠谱的网站优化网站优化使用金手指21番禺企业网站推广优化教程夏津网站优化荥经县网站seo优化排名综合网站优化方法巫山网站建设优化黄石网站seo优化哪家好河南网站优化公司价格井冈山关键词网站优化网站优化推广具体工作小吃加盟网站优化有效果歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化