1. 端口时序计算基础原理
在数字集成电路后端设计中,端口时序计算是时序收敛的关键环节。要准确计算端口上的时序,首先需要理解几个基本概念:
-
Cell Delay(单元延迟):由输入信号跳变时间(input transition)和输出负载(output load)共同决定,通过查找表(LUT)计算得到。例如,一个反相器的延迟会随着输入信号上升/下降时间的增加而增大,同时也会随着输出端负载电容的增大而增加。
-
Net Delay(连线延迟):根据提取的RC寄生参数计算得出。对于较长的金属走线,其分布电阻和电容会导致明显的信号延迟。在先进工艺节点下,互连延迟甚至可能超过单元延迟。
-
Input Transition:指信号到达输入端口的跳变时间(通常指10%-90%或20%-80%的上升/下降时间)。这个值直接影响第一个逻辑单元的延迟计算。
-
Output Load:指输出端口驱动的外部负载电容,决定最后一级驱动单元的延迟特性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 输入/输出路径的时序计算要点
2.1 输入路径(in2reg)分析
对于输入端口到寄存器路径的时序计算,需要特别关注:
-
输入端口transition的影响:
- 这个值决定了端口到第一个逻辑单元之间连线的延迟计算
- 同时影响第一个逻辑单元自身的延迟特性
- 若未正确定义,工具默认transition=0会导致过度乐观的时序估计
-
典型计算流程:
tcl复制# 示例:计算输入路径延迟 set_input_transition -rise 0.1 [get_ports port_A] set_driving_cell -lib_cell BUFX4 [get_ports port_A]工具会根据这些约束,结合网表中的实际RC参数,计算从输入端口到第一个寄存器的路径延迟。
2.2 输出路径(reg2out)分析
对于寄存器到输出端口的路径,关键考虑因素是:
-
输出负载的影响:
- 决定最后一级驱动单元的延迟
- 影响输出信号的完整性和时序裕量
- 未定义时默认load=0会导致延迟计算不准确
-
典型设置方法:
