news 2026/5/19 14:41:18

VLSI CAD Layout-5 Timing

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VLSI CAD Layout-5 Timing

VLSI CAD Layout-5 Timing

  • 影响时序的因素
  • Static Timing Analysis
    • Delay Graph
    • ATs,RATs和Slacks
      • AT
      • RAT
      • Slack
      • 寻找所有违规时序路径
      • 本文没涵盖的STA问题
    • 考虑电磁模型的时序
      • Elmore Model
      • 延时计算

这eda课程的最后一篇就是timing。在芯片设计中,时序也是最为重要的一部分。

影响时序的因素

  1. 不同的gate:这很明显,不同结构会有不同延时
  2. 负载:如果fan out很大,loading大,自然慢
  3. waveform shape:信号的shape也会影响,例如信号上升延的斜率,如果越大时间会越快(建立时间短)
  4. transitiondirection:信号下降和上升也是不同速度
  5. 不同input pin:门电路并不是完全对称的,自然不同pin会有不同延时


Static Timing Analysis

STA,也就是静态时序分析,和真实的电路时序不同的是,它并不考虑具体逻辑的可能,举例来说下图的最长路径其实是不可能发生的。然而在STA中,我们简化了逻辑和门电路,把其都视为一个节点,进行时序的估计,这也是为何被称为是静态。

Delay Graph

对于整个时序电路,我们会将其化为Delay Graph来分析。首先我们会根据Flip Flop进行分段,我们主要时序分析就是看这个段落的logic会不会超过一个时钟时间。接着会将gate节点化,例如:

接着会添加SRC和SNK

接着是标注上delay,包括gate自己的延时,还有连接gate之间导线的延时

ATs,RATs和Slacks

对于时序分析,我们不可能遍历所有的路径,我们关注的是Slack,也就是电路的延时余裕。为此我们会计算Arrival time(AT)和Require Arrival time (RAT),而Slack=RAT-AT。

  1. AT:信号到达节点的最晚时间
  2. RAT:能接受最晚到达节点的时间

AT

AT的公式如下,具体计算可以使用Dijkstra,计算每个节点的AT。
A T ( n ) = maximum delay to n = { 0 if n = = SRC MAX p ∈ pred ( n ) { A T ( p ) + Δ ( p , n ) } else AT(n) = \text{maximum delay to } n = \begin{cases} 0 & \text{if } n == \text{SRC} \\ \text{MAX}_{p \in \text{pred}(n)} \{ AT(p) + \Delta(p, n) \} & \text{else} \end{cases}AT(n)=maximum delay ton={0MAXppred(n){AT(p)+Δ(p,n)}ifn==SRCelse

RAT

RAT的公式如下,他的计算是倒过来的最长路径,一样能使用Dijkstra计算每个节点的RAT。
RAT ⁡ ( n ) = { Cycle Time if n = SNK min ⁡ s ∈ succ ( n ) { RAT ⁡ ( s ) − Δ ( n , s ) } else \operatorname{RAT}(n) = \begin{cases} \text{Cycle Time} & \text{if } n = \text{SNK} \\[6pt] \displaystyle \min_{s \in \text{succ}(n)} \bigl\{ \operatorname{RAT}(s) - \Delta(n,s) \bigr\} & \text{else} \end{cases}RAT(n)=Cycle Timessucc(n)min{RAT(s)Δ(n,s)}ifn=SNKelse

Slack

在计算完AT和RAT后,我们就能简单得到每个节点的Slack了。而我们计算完后会发现一件事:最长路径上的Slack是相同的值,而且都是最小的值。

寻找所有违规时序路径

在实际应用中,我们需要寻找到所有Slack小于0的路径,并且按照大小排序给设计人员展示。课程给出一个方法:Topological Sorting。在计算完所有Slacks后,从原点开始搜索

  1. 建立heap,保存《Path,Delay,Slack》,从《SRC,0,0》开始
  2. 将相邻的节点加入path,并且按照slack进行排序,小的在堆顶
  3. 如果遇到SNK则结束,弹出path,就是目前最差的path
  4. 得到自己要的数量path即可跳出程序





本文没涵盖的STA问题

  1. flip flops和latch的建模,涉及到时序分段问题
  2. 除了最长路径,最短路径也会需要分析,例如透明锁存器
  3. 当只有部分gate改变,STA计算如何优化

考虑电磁模型的时序

在实际电路中,除了导线还有器件的延时,导线的电容效应同样会产生延时。具体公式如下。主要影响参数是导线的长度与宽度,因为高度基本都是个const。

Elmore Model

为此,我们可以通过Elmore来简单建模这个杂散电容效应。对于一个导线构成的电阻,他的两侧头尾都会有电容。

延时计算

对于每个节点电阻的延时可以通过公式,需要计算这个电阻后面所有会流过的电容和,原理是他必须要等后面所有电容充满,类似水填满所有桶子的概念
τ = τ + R ⋅ ∑ ( all capacitors downstream ) \tau = \tau + R \cdot \sum (\text{all capacitors downstream})τ=τ+R(all capacitors downstream)
而root的延时就是后面所有电阻的延时总和

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 14:41:11

Qt 初识核心:从 HelloWorld 到基础控件,吃透对象树与内存管理

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《Linux操作系统从入门到实践》《Qt从入门到实践》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题…

作者头像 李华
网站建设 2026/5/19 14:39:31

如何永久保存你的数字记忆:WeChatMsg让你的微信聊天记录不再丢失

如何永久保存你的数字记忆:WeChatMsg让你的微信聊天记录不再丢失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…

作者头像 李华
网站建设 2026/5/19 14:30:41

5步快速上手OCAT:黑苹果OpenCore配置管理终极指南

5步快速上手OCAT:黑苹果OpenCore配置管理终极指南 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxiliaryTools OCAT(Open…

作者头像 李华
网站建设 2026/5/19 14:28:13

【NotebookLM哲学工作流黄金标准】:基于127位高校哲学院教师实测数据,验证文献理解准确率提升63.8%

更多请点击: https://kaifayun.com 第一章:NotebookLM哲学研究辅助的范式革命 NotebookLM 并非传统意义上的笔记工具,而是一种以语义理解为内核、以知识重构为路径的认知协作者。它将哲学研究中长期依赖的“文本细读—概念提炼—跨文献对照”…

作者头像 李华
网站建设 2026/5/19 14:18:12

嵌入式硬件高低温环境试验:从原理到实践的可靠性验证指南

1. 项目概述:为什么高低温试验是嵌入式硬件的“成人礼”?在嵌入式硬件开发领域,尤其是涉及工业控制、车载电子、户外物联网终端等场景时,一块核心板或开发板在实验室常温下跑得再欢,也未必能代表它在真实世界里的表现。…

作者头像 李华