STA:时序检查 - reg2output型

时序分析(STA):reg2output路径的建立与保持时间检查
文章详细阐述了在时序分析(StaticTimingAnalysis,STA)中,针对reg2output类型的时序路径进行建立时间和保持时间检查的过程。介绍了关键参数如时钟延迟、触发器延迟和不确定性,并给出了计算建立时间裕度和保持时间裕度的公式,以确保时序要求得到满足。

作STA要分析的时序路径四种中的一种,可看作是reg2reg的变种。详见STA:时序检查


3. reg2output

第三种是发起触发器在设计内部,捕获触发器在设计外部。此时STA是针对设计外部的UFF1进行的。

发起触发器到捕获触发器路径如下:

在这里插入图片描述

参数定义:

T c l k 2 U F F 0 T_{clk2UFF0} Tclk2UFF0:上升沿从时钟CLKQ传输到UFF0的CK引脚的时钟树延迟。

时钟树综合之前,该值通过下方SDC指定

set_clock_latency 0.8 [get_clocks CLKQ]

综合之后,则会根据综合后实际的线路计算延迟。

如果还存在时钟缓冲器(CKBUF),则会根据CKBUF的输入过渡时间(即CLKM的过渡时间)和CKBUF的输出负载计算CKBUF的延迟。其中CLKM的过渡时间同过下方SDC指定

set_clock_transition -rise 0.3 [get_clocks CLKQ]
set_clock_transition -fall 0.45 [get_clocks CLKQ]

CKBUF的输出负载则通过标准单元库的SDF指定。

T C K 2 Q U F F 0 T^{UFF0}_{CK2Q} TCK2QUFF0:数据从UFF0的D引脚到Q引脚的传播延迟

取决于标准单元库触发器的SDF描述。

T U F F 02 O U T B T_{UFF02OUTB} TUFF02OUTB:数据从UFF0的Q引脚到达设计端口OUTB的延迟

取决于组合逻辑,组合逻辑延迟通过标准单元库的SDF指定。

T O U T B 2 U F F 1 T_{OUTB2UFF1} TOUTB2UFF1:数据从设计端口OUTB输出至外部触发器UFF1的D引脚的延迟

T c l k 2 O U T C T_{clk2OUTC} Tclk2OUTC:上升沿从时钟CLKQ传输到设计端口OUTC的延迟

该值确定方法与 T c l k 2 U F F 0 T_{clk2UFF0} Tclk2UFF0一致。

T O U T C 2 U F F 1 T_{OUTC2UFF1} TOUTC2UFF1:时钟CLKQ上升沿通过设计端口OUTC传输到触发器UFF1的延迟

T c l k T_{clk} Tclk:时钟CLKM周期,该值通过下方SDC指定

create_clock -period 10 [get_ports CLKM]

T s e t u p _ u n c e r t a i n T_{setup\_uncertain} Tsetup_uncertain:时钟CLKM建立时间不确定度,即预期时钟沿提前一段时间。

该值通过下方SDC指定

set_clock_uncertainty -setup 0.3 [get_clocks CLKM]

T s e t u p _ u n c e r t a i n T_{setup\_uncertain} Tsetup_uncertain:时钟CLKM保持时间不确定度,即预期时钟沿延后一段时间。

该值通过下方SDC指定

set_clock_uncertainty -hold 0.4 [get_clocks CLKM]

T s e t u p U F F 1 T^{UFF1}_{setup} TsetupUFF1:UFF1的建立时间。

T o u t p u t U F F 1 T^{UFF1}_{output} ToutputUFF1:外部时序约束。OUTB到UFF1/D端组合逻辑延迟与OUTC到UFF1/CK端组合逻辑延迟的差,再加上UFF1的建立时间,即 T o u t p u t U F F 1 = T O U T B 2 U F F 1 − T O U T C 2 U F F 1 + T s e t u p U F F 1 / − T h o l d U F F 1 T^{UFF1}_{output}=T_{OUTB2UFF1}-T_{OUTC2UFF1}+T^{UFF1}_{setup}/-T^{UFF1}_{hold} ToutputUFF1=TOUTB2UFF1TOUTC2UFF1+TsetupUFF1/TholdUFF1

可通过如下SDC指定

# 最长路径,用于建立时间检查
set_output_delay -clock CLKQ -max 2 [ get_ports OUTB]

# 最短路径,用于保持时间检查
set_output_delay -clock CLKQ -min 1.5 [ get_ports OUTB]

T s e t u p _ s l a c k U F F 02 U F F 1 T^{UFF02UFF1}_{setup\_slack} Tsetup

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Starry丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值