时间的弧线,逻辑的航道——标准单元延迟(cell delay)的根与源

时序弧

在这篇文章中,我们将讨论影响标准单元延迟的因素。在开始讨论之前,我们需要先了解一下什么是时序弧 (Timing Arcs):

时序弧 (Timing Arcs): 时序弧代表了信号从一个输入流向一个输出的方向。它存在于组合逻辑和时序逻辑中,比如AND们的A pin→Z pin为一个时序库,B pin → Z pin为一个时序弧。他们通常具有不同的延迟

关于这些时序弧的信息来源于foundary提供的时序库 (.lib) 文件中,后面我们会讲到如何查看。

cell delay

单元延迟(cell dalay)被定义为:输入信号到达50%逻辑阈值与输出波形到达50%逻辑阈值之间的时间差。 有时也被称为Gate delay/Propagation delay

这个时间差主要取决于两个因素:

  • 1、输入信号的转换时间 (Input slew / transition):即 A 引脚上的信号跳变速率(上升/下降时间)。

  • 2、输出负载 (Output load / capacitance):即 Z 引脚上的电容负载。

也就是cell delay =F{input transition time,Output load}

这里的输出负载 (Output Load) = Z 节点上所有单元的输入电容之和 (Input Cap) + 连接到节点 Z 的所有连线 (nets) 的总寄生电容 (Intterconnect capcitance)

因此,cell delay与输入转换时间和输出负载成正比 :

  • 输出电容越大,单元需要充/放电该电容的时间就越长。因此,延迟就越大。

  • 输入转换时间越长(信号变化越慢),单元在处理完输入值后改变输出所需的时间就越长。

你会发现,对延迟的解释归根结底就是电容的充/放电 (charging/discharging of the capacitors)!!!!

后端中如何查看?

所有cell的delay值都被提供在了标准单元的 lib(时序库)文件中,正如上面结论可得,他需要预先知晓input transition time和Output load,进而可以从从.lib 文件中提供的表中获取单元延迟值。

假设对于某个cell,它的input transition(slew)为0.0344 ns,ouput load的电容大小为0.0068 pf。那么它对应的延时为0.0618937 ns;

此外,在后端实现中,需要格外注意的是:transition和load不要超表,否则对于不在查找表中的transition和load的组合,工具会利用插值算法来计算cell delay,进而导致不精确,因此,我们在设计中,一定要把过大的max_transition和max_cap的violation修复掉。

相关推荐
小郭团队2 天前
2_6_五段式SVPWM(经典算法+DPWM2)算法理论与MATLAB实现详解
算法·matlab·硬件架构·arm·dsp开发
hans汉斯2 天前
基于语义增强与规则引导的弱监督视频异常检测方法
人工智能·深度学习·算法·机器学习·自然语言处理·硬件架构·汉斯出版社
模拟IC攻城狮2 天前
电压模buck电路详尽设计仿真报告+电路文件+仿真状态+smic0.18um工艺库
嵌入式硬件·硬件架构·pcb工艺·数字芯片
XerCis4 天前
Python读取硬盘信息pySMART——调用smartctl
开发语言·python·硬件架构
纽格立科技4 天前
从模拟 FM 到数字 CDR:手机硬件架构为何难以跨越这道技术鸿沟
智能手机·硬件架构
【赫兹威客】浩哥5 天前
【赫兹威客】伪分布式Hive测试教程
硬件架构
小龙报6 天前
【SOLIDWORKS 练习题】草图专题:2.GAME BOY
人工智能·驱动开发·硬件架构·硬件工程·pcb工艺·材料工程·精益工程
小龙报6 天前
【SOLIDWORKS 练习题】草图专题:1.带座轴承
人工智能·嵌入式硬件·物联网·硬件架构·3d建模·硬件工程·精益工程
智源研究院官方账号10 天前
技术详解 | 众智FlagOS1.6:一套系统,打通多框架与多芯片上下适配
人工智能·驱动开发·后端·架构·硬件架构·硬件工程·harmonyos
小郭团队10 天前
2_1_七段式SVPWM (经典算法)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·硬件架构·arm·dsp开发