複数の操作条件をレポートするタイミング・アナライザー

author-image

投稿者:

この例では、タイミング・アナライザー・ユーザー・インターフェイスでマルチコーナー分析を生成するのに使用できる、シンプルな Tcl スクリプトを示しています。マルチコーナー分析では、デザイン向けに指定したタイミング制約が、デバイスのあらゆる操作条件に対応することを検証します。Tcl スクリプトをダウンロードまたはコピーして、タイミング・アナライザー・コンソール・ペインに下記を入力することで、これを実行します。

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 分析で定義された、タイミングレポートを生成します。生成されたすべてのレポートは、直近の操作条件のために生成された最終レポート以外、タイミング・アナライザー・ビュー・ペインで期限切れとしてマークされます。