集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 767|回复: 0

TimeQuest Clock Analysis

[复制链接]
王建飞 发表于 2015-9-5 13:58:52 | 显示全部楼层 |阅读模式
A comprehensive static timing analysis includes analysis of register-to-register, I/O, and asynchronous reset paths. The TimeQuest timing analyzer uses data required times, data arrival times, and clock arrival times to verify circuit performance and to detect possible timing violations. The TimeQuest analyzer determines the timing relationships that must be met for the design to correctly function, and checks arrival times against required times to verify timing.

Clock Setup Check
Clock Hold Check
Recovery and Removal
Multicycle Paths
Clock Setup Check
To perform a clock setup check, the TimeQuest analyzer determines a setup relationship by analyzing each launch and latch edge for each register-to-register path. For each latch edge at the destination register, the TimeQuest analyzer uses the closest previous clock edge at the source register as the launch edge.

In Figure 1, two setup relationships are defined and labeled Setup A and Setup B. For the latch edge at 10 ns, the closest clock that acts as a launch edge is at 3 ns and is labeled Setup A. For the latch edge at 20 ns, the closest clock that acts as a launch edge is at 19 ns and is labeled Setup B.
Figure 1. Setup Check

The TimeQuest analyzer reports the result of clock setup checks as slack values. Slack is the margin by which a timing requirement is met or not met. Positive slack indicates the margin by which a requirement is met, and negative slack indicates the margin by which a requirement is not met. The TimeQuest analyzer determines clock setup slack as shown in Equation 1 for internal register-to-register paths.

Equation 1

Clock Setup Slack = Data Required Time – Data Arrival Time

Data Required = Clock Arrival Time – μtSU – Setup Uncertainty

Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register

Data Arrival Time = Launch Edge + Clock Network Delay Source Register + μtCO + Register-to-Register Delay

If the data path is from an input port to a internal register, the TimeQuest analyzer uses the equations shown in Equation 2 to calculate the setup slack time.

Equation 2

Clock Setup Slack Time = Data Required Time – Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Input Maximum Delay of Pin + Pin to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register – μtSU

If the data path is an internal register to an output port, the TimeQuest analyzer uses the equations shown in Equation 3 to calculate the setup slack time.

Equation 3

Clock Setup Slack Time = Data Required Time – Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μtCO + Register to Pin Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register – Output Maximum Delay of Pin

Clock Hold Check
To perform a clock hold check, the TimeQuest analyzer determines a hold relationship for each possible setup relationship that exists for all source and destination register pairs. The TimeQuest analyzer checks all adjacent clock edges from all setup relationships to determine the hold relationships. The TimeQuest analyzer performs two hold checks for each setup relationship. The first hold check determines that the data launched by the current launch edge is not captured by the previous latch edge. The second hold check determines that the data launched by the next launch edge is not captured by the current latch edge.

Figure 2 shows two setup relationships labeled Setup A and Setup B. The first hold check is labeled Hold Check A1 and Hold Check B1 for Setup A and Setup B, respectively. The second hold check is labeled Hold Check A2 and Hold Check B2 for Setup A and Setup B, respectively.
Figure 2. Hold Check

From the possible hold relationships, the TimeQuest analyzer selects the hold relationship that is the most restrictive. The hold relationship with the smallest difference between the latch and launch edges (that is, latch– launch and not the absolute value of latch – launch) is selected because this determines the minimum allowable delay for the register-toregister path. For Figure 2, the hold relationship selected is Hold Check A2. The TimeQuest analyzer determines clock hold slack as shown in Equation 4.

Equation 4

Clock Hold Slack = Data Arrival Time – Data Required Time

Data Required Time = Clock Arrival Time +μtH + Hold Uncertainty

Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register +μtCO+ Register to Register Delay

If the data path is from an input port to an internal register, the TimeQuest analyzer uses the equations shown in Equation 5 to calculate the hold slack time.

Equation 5

Clock Setup Slack Time = Data Arrival Time – Data Required Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Input Minimum Delay of Pin + Pin to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register + μtH

If the data path is an internal register to an output port, the TimeQuest analyzer uses the equations shown in Equation 6 to calculate the hold slack time.

Equation 6

Clock Setup Slack Time = Data Arrival Time – Data Required Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μtCO + Register to Pin Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register – Output Minimum Delay of Pin

Recovery and Removal
Recovery time is the minimum length of time an asynchronous control signal, for example, and preset, must be stable before the next active clock edge. The recovery slack time calculation is similar to the clock setup slack time calculation, but it applies asynchronous control signals. If the asynchronous control is registered, the TimeQuest analyzer uses Equation 7 to calculate the recovery slack time.

Equation 7

Recovery Slack Time = Data Required Time – Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μtCO+ Register to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register – μtSU

If the asynchronous control is not registered, the TimeQuest analyzer uses the equations shown in Equation 8 to calculate the recovery slack time.

Equation 8

Recovery Slack Time = Data Required Time – Data Arrival Time

Data Arrival Time = Launch Edge + Maximum Input Delay + Port to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register Delay – μtSU

Note: If the asynchronous reset signal is from a port (device I/O), you must make an Input Maximum Delay assignment to the asynchronous reset pin for the TimeQuest Timing Analyzer to perform recovery analysis on that path.

Removal time is the minimum length of time an asynchronous control signal must be stable after the active clock edge. The TimeQuest analyzer removal time slack calculation is similar to the clock hold slack calculation, but it applies asynchronous control signals. If the asynchronous control is registered, the TimeQuest analyzer uses the equations shown in Equation 9 to calculate the removal slack time.

Equation 9

Removal Slack Time = Data Arrival Time – Data Required Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μtCOof Source Register + Register to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register + μtH

If the asynchronous control is not registered, the TimeQuest analyzer uses the equations shown in Equation 10 to calculate the removal slack time.

Equation 10

Removal Slack Time = Data Arrival Time – Data Required Time

Data Arrival Time = Launch Edge + Input Minimum Delay of Pin + Minimum Pin to Register Delay

Data Required Time = Latch Edge + Clock Network Delay to Destination Register +μtH

Note: If the asynchronous reset signal is from a device pin, you must specify the Input Minimum Delay constraint to the asynchronous reset pin for the TimeQuest analyzer to perform a removal analysis on this path.

Multicycle Paths
Multicycle paths are data paths that require more than one clock cycle to latch data at the destination register. For example, a register may be required to capture data on every second or third rising clock edge.

Figure 3 shows an example of a multicycle path between a multiplier’s input registers and output register where the destination latches data on every other clock edge. Refer to TimeQuest set_multicycle_path Command for information about the set_multicycle_path command.
Figure 3. Multicycle Path

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 14:27 , Processed in 0.060733 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表