Timing Analyzer 报告多个运行条件

author-image

作者

此示例展示了一个简单的 Tcl 脚本,可用于在 Timing Analyzer 用户界面中生成多角分析。多角分析用于验证为设计指定的时序约束是否满足设备的所有运行条件。下载或复制 Tcl 脚本,并在 "Timing Analyzer Console" 窗格中键入以下内容来运行脚本:

tcl> source multicorner.tcl

多角分析 Tcl 脚本

下载或复制 multicorner.tcl 脚本。

该设计的使用受英特尔® 设计示例许可协议中条款和条件的管理和约束。

proc analyze { id } {
# Insert timing reports here
create_timing_summary -setup -panel_name "$id: Summary (Setup)"
create_timing_summary -hold -panel_name "$id: Summary (Hold)"
create_timing_summary -recovery -panel_name "$id: Summary (Recovery)"
create_timing_summary -removal -panel_name "$id: Summary (Removal)"
report_min_pulse_width -nworst 100 -panel_name "$id: Minimum Pulse Width"
}

# Create a timing netlist for analysis
create_timing_netlist

# Read in SDC file
read_sdc

# Determine the current & default operating conditions. The default is used
# to prevent re-analyzing the default condition while looping through the
# available operating conditions.

set default_operating_conditions [get_operating_conditions]
set current_operating_conditions $default_operating_conditions

# Generate the corner-specific analyses for the default operating
# conditions.

analyze $current_operating_conditions

# Now loop over the remaining operating conditions

foreach_in_collection current_operating_conditions \ [get_available_operating_conditions] {

# Make sure we don't re-analyze the default conditions.

if {$current_operating_conditions != $default_operating_conditions} {
# Generate the corner-specific analyses for the
# next operating conditions.

set_operating_conditions $current_operating_conditions

update_timing_netlist

analyze $current_operating_conditions
}

}

Tcl 脚本为设备的所有可用运行条件生成时序报告,此报告在 proc analyze 程序中定义。生成的所有报告在“Timing Analyzer 视图”窗格中标记为已过期,但为最后一个运行条件生成的最终报告除外。