PT中的report_timing的计算--实例

1.建立时间与保持时间

建立时间指的是时钟信号变化之前数据保持不变的时间
在这里插入图片描述
保持时间指的是时钟信号变化之后数据保持不变的时间
在这里插入图片描述
时间裕量是指在时序路径上要求的时间和实际花费的时间的差。如果裕量的值为正值或者0,则说明设计电路的时机时序符合约束条件,如果为负值则说明不符合条件。
在这里插入图片描述

2.输入延迟和输出延时

为保证片外的触发器可以正确地输入/输出,不仅要保证片内的延时满足时序要求,而且要保证片内外延时总和满足时序要求。在综合时,设计者一般根据系统应用需要指定输入/输出延时,并作为参数输入给综合工具,综合工具会自动调整片内逻辑,以满足整体的时序要求。
在这里插入图片描述

下图所示为如何定义输入延时和输出延时的波形图实例。时序模块有输入信号DATA_IN和输出信号DATA_OUT,输入信号在时钟沿之后20ns达到稳定,而输出信号需要再时钟沿之前15ns到达。
在这里插入图片描述

3.时序计算实战

在这里插入图片描述

3.1.输入延时:最大输入延时

对于电路单元B2中的触发器F3
数据到达时间(Data arrival time):
Clocking Rising Edge:Incremental: 0.0;Total 0.0 ##假设参考时钟的有效沿在0.0,上升沿是有效沿。
Clock Latency:Incremental: 0.5;Total 0.5 ##假设时钟源延迟是0.5
Clock Network Latency:Incremental: 0.7;Total 1.2 ##假设时钟网络延时是0.7
Input Delay:Incremental: 6.0;Total 7.2 ##假设最大输入延时是6.0
Delay through C3:Incremental:1.2;Total 8.4 ##假设通过C3的最大延时是1.2
Data available at F3 is D pin: 8.4
数据要求时间(Data required time):
Clock Rising Edge:Incremental:10.0;Total 10.0##假设触发触发器时钟的下一个上升沿为10
Clock Latency:Incremental:0.5;Total 10.5
Clock Network Latency:Incremental:0.7;Total 11.2
Setup requirement:Incremental:0.3;Total 10.9 ##假设建立时间是0.3
Clock Uncertainty:Incremental 0.2;Total 10.7 ##假设时钟不确定度0.2
Data required at:10.7
Slack = 10.7-8.4=2.3
因为裕量是正值,所以表示在这条路径上可以满足建立时序。

在这里插入图片描述

网络+路径+输入<周期+网络-建立-不确定
周期-输入-路径-不确定>建立

3. 2.输入延迟:最小输入延迟

对于电路单元B2的触发器F3
数据到达时间(Data arrival time):
Clocking Rising Edge:Incremental: 0.0;Total 0.0 ##假设参考时钟的有效沿在0.0,上升沿是有效沿。
Clock Latency:Incremental: 0.5;Total 0.5 ##假设时钟源延迟是0.5
Clock Network Latency:Incremental: 0.7;Total 1.2 ##假设时钟网络延时是0.7
Input Delay:Incremental: 6.0;Total 7.2 ##假设最小延迟和最大延迟相同
Delay through C3:Incremental:0.9;Total 8.1 ##假设通过C3的最小延时是0.9
Data available at F3 is D pin: 8.1
数据要求时间(Data required time):
Clock Rising Edge:Incremental:0.0;Total 0.0
Clock Latency:Incremental:0.5;Total 0.5
Clock Network Latency:Incremental:0.7;Total 1.2
Setup requirement:Incremental:0.3;Total 1.5 ##假设保持时间是0.3
Clock Uncertainty:Incremental 0.2;Total 1.7 ##假设时钟不确定度0.2
Data required at:1.7
Slack = 8.1-1.7=6.4
因为裕量是正值,所以表示在这条路径上可以满足保持时序。
在这里插入图片描述

网络+路径+输入>网络+保持+不确定
路径+输入-不确定>保持

3.3.输出延迟:最大输出延迟

对于电路单元B1的端口O1:
数据到达时间(Data arrival time):
Clocking Rising Edge:Incremental: 0.0;Total 0.0 ##假设参考时钟的有效沿在0.0,上升沿是有效沿。
Clock Latency:Incremental: 0.5;Total 0.5 ##假设时钟源延迟是0.5
Clock Network Latency:Incremental: 0.7;Total 1.2 ##假设时钟网络延时是0.7
Delay through C1:Incremental:1.5;Total 2.7 ##假设通过C1的最大延时是1.5
Data available at F3 is D pin: 2.7
数据要求时间(Data required time):
Clock Rising Edge:Incremental:10.0;Total 10.0##假设触发触发器时钟的下一个上升沿为10
Clock Latency:Incremental:0.5;Total 10.5
Clock Network Latency:Incremental:0.7;Total 11.2
Setup requirement:Incermental: 6.0;Total 5.2 ##假设最大输出延时是6.0
Clock Uncertainty:Incremental 0.2;Total 5.0 ##假设时钟不确定度0.2
Data required at:5.0
Slack = 5.0-2.7=2.3
因为裕量是正值,所以表示在这条路径上可以满足建立时序。

3.4.输出延迟:最小输出延迟

对于电路单元B1的端口O1:
数据到达时间(Data arrival time):
Clocking Rising Edge:Incremental: 0.0;Total 0.0 ##假设参考时钟的有效沿在0.0,上升沿是有效沿。
Clock Latency:Incremental: 0.5;Total 0.5 ##假设时钟源延迟是0.5
Clock Network Latency:Incremental: 0.7;Total 1.2 ##假设时钟网络延时是0.7
Delay through C1:Incremental:0.5;Total 2.7 ##假设通过C1的最小延时是1.5
Data available at F3 is D pin: 2.7
数据要求时间(Data required time):
Clock Rising Edge:Incremental:0.0;Total 0.0
Clock Latency:Incremental:0.5;Total 0.5
Clock Network Latency:Incremental:0.7;Total 1.2
Setup requirement:Incermental: 6.0;Total -4.8 ##假设最小输出延时是6.0
Clock Uncertainty:Incremental 0.2;Total -4.6 ##假设时钟不确定度0.2
Data required at:-4.6
Slack = 1.7-(-4.6)=6.3
因为裕量是正值,所以表示在这条路径上可以满足保持时序。

3.5.建立时间/保持时间和输入延时/输出延时之间的关系

(1)最大输入/输出延时路径裕量大于0,说明满足建立时间。最小输入/输出延时路径裕量大于0,说明满足保持时间。
(2)对于建立时间,要求数据必须在要求时间之前有效,因此裕量=数据要求时间-数据有效时间
对于保持时间,要求数据在要求时间之后有效,因此裕量=数据有效时间-数据要求时间
(3)因为要求数据在下一个边沿采样有效,所以建立时间使用时钟的下一个边沿,因为要求数据不能干扰当前的边沿采样,所以保持使用的是时钟的当前边沿。
(4)不确定度会使得裕量减少。

### 数字电路中的 `min_period` 和 `min_pulse_width` #### min_period 的定义及其重要性 在数字电子设备的设计中,`min_period` 表示时钟周期的最小允许时间间隔。如果时钟频率过高,则可能导致时钟周期过短,使得触发器和其他同步元件无法完成必要的状态转换[^1]。 对于确保系统的稳定性而言,设定合理的 `min_period` 至关重要。这不仅影响到整个系统的正常运作,还关系到数据处理的速度以及功耗等多个方面。当违反这一约束条件时,可能会引发竞争冒险现象或其他不可预测的行为,从而降低产品的可靠性。 #### 设置与验证 min_period 方法 为了防止上述问题的发生,在设计阶段就需要通过特定工具命令来指定并监控这些参数: - **设置**:可以利用综合工具提供的命令如 `set_min_period` 来规定最低限度的时间间隙。 ```tcl set_min_period 5.0 [get_clocks clk] ``` - **报告违规情况**:使用类似 `report_timing_requirements` 或者专门针对此目的而设的函数去查找任何可能存在的超限状况。 ```shell pt_shell> report_min_period -nosp -all_violators -path_type full_clock_expanded -input_pins -capacitance -transition_time ``` 以上操作有助于识别潜在的风险点,并采取相应措施加以修正[^2]。 #### min_pulse_width 解析 另一方面,`min_pulse_width` 关注的是单个脉冲持续时间内能否满足器件内部逻辑单元的要求。具体来说就是指在一个完整的高低电平循环里,无论是处于高还是低的状态下都应保持一定长度以上的有效时段[^4]。 这种特性同样决定了集成电路能否按照预期执行任务的关键因素之一。因为太窄的脉宽容易造成误触发现象或者是根本就未能被检测出来的情况发生,进而破坏正常的通信流程或计算过程。 #### 应用实例——配置最小脉冲宽度 下面给出了一种方式用于调整所有时钟源下的最小脉冲宽度至1.25纳秒的例子: ```tcl set_min_pulse_width 1.25 [get_clocks *] ``` 这条语句的作用范围涵盖了项目内所有的时钟网络节点,确保它们都能遵循所给定的标准工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

马志高

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

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

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

打赏作者

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

抵扣说明:

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

余额充值