...

タイミング収束と最適化

by user

on
Category: Documents
16

views

Report

Comments

Transcript

タイミング収束と最適化
タイミング収束と最適化
2014.12.15
QII5V2
12
フィードバック
更新情報
タイミング収束と最適化について
この章では、Altera デバイスを設計する際、タイミング性能を改善させる手法について説明しま
す。
®
適用する手法は、デザインそれぞれに異なります。 各手法を適用しても、常にデザイン結果が
®
改善されるとは限りません。 Quartus II ソフトウェアの設定とオプションには、コンパイル時
間、リソース利用率、タイミング性能において最良のトレードオフとなるデフォルト値がありま
す。 もちろん、デォルトの設定値を変更して、どの設定がより望ましいデザイン結果を生成す
るかを試すことも可能です。
初期コンパイル:フィッタのオプション設定
フィッタは数多くのオプション設定を提供していますが、この項ではタイミングの最適化に関す
るフィッタのオプション設定に焦点を当てます。このオプション設定には、Optimize Hold
Timing、Optimize Multi-Corner Timing 、および Fitter Aggressive Routability Optimization 設定が
あります。
注意: デザインが異なれば、最適化に必要な設定も異なります。あるデザインに適した設定グル
ープでも、別のデザインに対しては適さないことがあります。
関連情報
Advanced Fitter Setting Dialog Box online help
Optimize Hold Timing および Optimize Multi-Corner Timing 設定に関するスクリプトとデバイ
ス・ファミリのサポート情報
ホールド・タイミングの最適化
Optimize Hold Timing オプションは、最小遅延タイミング制約を最適化するよう Quartus II ソフ
トウェアに指示します。 デフォルトでは、Quartus II ソフトウェアは、サポートされるデバイス
におけるデザインのすべてのパスに対し、ホールド・タイミングを最適化します。 また Quartus
II ソフトウェアは、古いデバイスに対しては I/O パスおよび最小の tPD パスのホールド・タイミ
ングのみ最適化します。
Advanced Fitter Settings ダイアログ・ボックスで Optimize Hold Timing をオンにすると、
Quartus II ソフトウェアはデザインが最小遅延要件を確実に満たすようにパスに遅延を追加しま
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
12-2
QII5V2
2014.12.15
マルチコーナー・タイミングの最適化
す。 I/O Paths and Minimum TPD Paths を選択すると、フィッタが以下の基準を満たすように動
作します。
• デバイス入力ピンからレジスタまでのホールド時間(tH)
• I/O ピンから I/O レジスタ、あるいは I/O レジスタから I/O ピンへの最小遅延
• レジスタから出力ピンまでの最小 clock-to-out 時間(t CO)
All Paths を選択した場合、フィッタは図で青色でハイライトされるレジスタ間のホールド要件
を満たすよう動作します。この図では、ロジックで生成された派生クロックにより、別のレジス
タでホールド・タイム問題が発生しています。
図 12-1: 内部ホールド時間違反を修正するホールド・タイミング・オプションの最適化
D
Q
Fitter Adds Routing Delay Here
D
clk
Q
Logic
Derived Clock
Hold-Time Violation
ただし、デザイン内にレジスタ間の内部的なホールド・タ イム違反が発生している場合、LCELL
プリミティブを手動でインスタンス化を実行する、あるいは派生クロックやゲート付きクロック
の代わりにクロック・イネーブル信号などを使用しデザインに変更を加え、違反を修正します。
関連情報
Recommended Design Practices documentation
内部ホールド時間に関する違反の排除に役立つデザイン手法が確認できます
マルチコーナー・タイミングの最適化
動作条件における処理のバリエーションおよび変更により、一部のパスの遅延は低速コーナー・
タイミング・モデルに比べて著しく小さなパスとなります。 このことは、こうしたパス上でホ
ールド時間違反が発生する原因となり、稀にですがセットアップ・タイム違反が追加されること
があります。
また、新しいデバイス・ファミリではプロセス・ジオメトリが縮小されているため、新しいデバ
イスをターゲットとするデザインの最も遅い回路性能は、必ずしも最高動作温度で発生するわけ
ではありません。 回路が最も遅くなる温度は選択されたデバイス、デザイン、コンパイル結果
に依存します。 このため Quartus II ソフトウェアは、低速 85℃コーナー、低速 0℃のコーナー、およ
び高速 0℃コーナーといった 3 つの異なるタイミング・コーナーを提供しています。 その他のデバ
イス・ファミリでは、高速 0°C コーナー 0 と低速 85℃コーナーの 2 つのタイミング・コーナーが
利用可能です。
Optimize multi-corner timing オプションは最適化の実行中にすべてのプロセス・コーナーでタイ
ミング要件および動作条件を満たすよう、高速コーナー・タイミングと低速コーナー・タイミン
グの両方を含むすべてのコーナー・タイミング遅延を考慮するようフィッタに指示します。 デ
フォルトでは、このオプションはオンで設定されており、フィッタは低速コーナー遅延に加えマ
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
フィッタの積極的なルーティングの最適化
12-3
ルチ・コーナー遅延も考慮しデザインを最適化します。具体的には、高電圧条件下で動作する最
高速度のデバイスに基づいた高速コーナー・タイミング・モデルがあります。
Optimize multi-corner timing オプションをオンにすると、プロセス、温度、および電圧のバラツ
キに対して、より堅牢なデザイン実装の作成が可能となりますが、 このオプションをオンにす
ることで、コンパイル時間が約 10%増加します。
このオプションをオフにすると、フィッタは、(低電圧条件下で動作する、所定のスピード・グ
レード向けに最も遅い速度で製造されたデバイス)低速コーナー・タイミング・モデルからの低
速コーナー遅延のみを考慮し、設計を最適化します。
フィッタの積極的なルーティングの最適化
Fitter Aggressive Routability Optimizations ロジック・オプションを使用すると、フィッタによる
積極的なルーティングを最適化するかどうかを指定できます。 Aggressive Routability
Optimizations を実行すると、設計速度が減少するだけではなく、同時に配線ワイヤの使用量と配
線時間も減少させることができます。
このオプションは、配線リソースの結果が no-fit エラーでかつ、配線ワイヤの使用量を抑えたい
場合に有効です。
以下の表には、 Fitter Aggressive Routability Optimizations ロジック・オプションの設定方法を示
しています。
表 12-1: Fitter Aggressive Routability Optimizations ロジック・オプションの設定
説明
Settings
Always
フィッタは、常に積極的なルーティングの最適化を実行します。 Fitter
Aggressive Routability Optimizations ロジック・オプションを Always に設定
した場合、ワイヤ使用量が低減されるので、デザインのパフォーマンスに
影響する場合があります。
Never
フィッタは、積極的なルーティングの最適化を行うことはありません。
ワイヤ使用量の低減よりもタイミングの改善が重要な場合は、このオプシ
ョンを Automatically または Never に設定します。
Automatically
フィッタは、デザインの配線可能性とタイミング要件に基づいて、自動的
に積極的なルーティングの最適化を実行します。 ワイヤ使用量の低減よ
りもタイミングの改善が重要な場合は、このオプションを Automatically
または Never に設定します。
デザイン解析
初期コンパイルを実行することで、デザインがフィットを達成し、指定されたタイミング要件を
満たしているかどうかが確認できます。 このセクションでは、Quartus II ソフトウェアでデザイ
ン結果を分析する方法について説明します。
タイミング制約の無視
Quartus II ソフトウェアでは、違反した制約、古い制約、および競合する制約は無視されます。
タイミング収束と最適化
フィードバック
Altera Corporation
12-4
tPD を含む I/O タイミング
QII5V2
2014.12.15
無視された制約のリストを表示するには、TimeQuest GUI の Report メニューから Report Ignored
Constraints をクリックするか、以下のコマンドを入力して無視された制約のリストを生成しま
す。
report_sdc -ignored -panel_name "Ignored Constraints"
Quartus II ソフトウェアによって無視される制約はすべて分析する必要があります。必要に応じ
て、デザインの最適化を進める前に制約を修正しデザインを再コンパイルします。
フィッタが生成する Ignored Assignment Report で無視される制約のリストを表示することがで
きます。
関連情報
• Quartus II TimeQuest Timing Analyzer documentation
report_sdc コマンドおよびそのオプションについては、以下のリンクを参照してください。
• Fitter Summary Reports online help
tPD を含む I/O タイミング
TimeQuest アナライザは、デザインを制約する Synopsys Design Constraints(SDC)フォーマット
をサポートしています。 タイミング解析に TimeQuest アナライザを使用する場合、所定のクロ
ックに対する入力ポートでのデータ到着時間を指定するには、set_input_delay 制約を使用しま
す。 出力ポートに対して所定のクロックに対する出力ポートのレシーバでのデータ到着時間を
指定するには、set_output_delay コマンドを使用します。 I/O タイミング・レポートを生成する
には、report_timing Tcl コマンドを使用することができます。
タイミング性能の条件を満たしていない I/O パスは、負のスラックを有し、TimeQuest アナライ
ザの Report ペインに赤色でハイライトされレポートされます。 I/O ピンに明示的な I/O タイミ
ング制約を適用しない場合は、Quartus II タイミング解析ソフトウェアは、Actual(実際の)値
をレポートします。この値はシステムでデバイスを動作させる際にタイミング・パラメータに対
し満たしておく必要があるタイミングの数値です。
関連情報
Quartus II TimeQuest Timing Analyzer documentation
タイミングの数値の算出方法についての情報です。
レジスタ間のタイミング
TimeQuest タイミング・アナライザによるタイミング解析
TimeQuest アナライザで適切な制約を使用して、すべての有効なレジスタ間のパスを解析しま
す。 すべてのタイミングの要約を表示するには、TimeQuest アナライザの Tasks ペインのタスク
をダブルクリックして Report All Summaries をダブルクリックして、Report All Summaries コマ
ンドを実行します。
クロック・ドメインに障害が発生したパスが存在すると、Report パネルでそれが赤色でハイライ
トされます。詳細な情報を確認するには、Clocks Summary でリストされた Clock Name を右クリ
ックして Report Timing を開きます。 どのクロック・ドメインにおいてもレジスタ間のパスに負
のスラックがない場合、そのデザインはタイミング要件を満たしています。
タイミング要件が満たされていない場合であれば、(赤色でハイライトされる)成功しなかった
パスのレポートを詳しく調べることで、より多くの詳細を明らかにすることができます。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
障害が発生しているパスを解析する際のヒント
12-5
TimeQuest の Report Timing ペインに表示されているパスを選択すると、対応するパスの詳細ペ
インのタブには、ソースのパスの要約、デス ティネーション・レジスタとそのタイミング、パ
ス遅延についての統計、パス内のすべてのノードで完全なデータパスに関する詳細情報、および
関連する信号の波形が確認できます。 Extra Fitter Information タブは、違反するパスが物理的デ
バイスのどこに存在しているのかを Graphical Data Path で視覚的に表示します。 タイミング障
害の原因が、ソース・ノードとデスティネーション・ノードの距離が近すぎる、あるいは遠すぎ
るといった距離に関するものかどうかを明らかにすることができます。 同様に、Chip Planner を
使用すれば、成功しなかったパスの物理的配置をより詳細に調べることができます。 選択され
たパスを Chip Planner で検索するには、ノードを右クリックして Locate にカーソルを合わせ
Locate in Chip Planner を選択します。 Chip Planner はパスをハイライトし、ファンアウト、ファ
ンイン、配線の輻輳、領域の割り当てに関する情報を表示します。そして、このような要素がク
リティカル・パスのタイミングにどのように関係しているかを特定します。 この他にも、パス
が有効なパスではないことを把握しているのであれば、ショートカット・メニューを使用して、
フォルス・パスに設定することも可能です。
Data Path タブもまた、クリティカル・パスのタイミングに影響する要素を特定する際に役立ち
ます。 Data Path タブは、クロックとデータがソース・ノードからデスティネーション・ノード
に到達するために要したパスの詳細、および増分および累積ベースで要した時間の詳細を示して
います。 Data Path は、使用する配線の種類と要素、およびその位置についての情報も提供しま
す。
選択されたパスの詳細を表示するには、Path Details ペインで Data Path タブをクリックします。
Data Path タブには、データ到着時間とデータ要求パスが表示されます。
Waveform には、到着データと要求データ間におけるスラックの関係が表示されますが、 現在の
パスがタイミング要件を満たすまで、どれだけ離れているか、あるいはどれだけ近いのかを判断
する際に役立ちます。
また、RTL Viewer や Technology Map Viewer を使用すれば、デザインの配置図を表示することが
できるので、タイミングのデバッグが容易になります。 これらのビューアは、デザインのネッ
トリストのゲートレベルやテクノロジがマップされた図を表示することができます。つまり、ソ
ース・ノードとデスティネーション・ノードからのパスが表示できるので、ノード間にあるロジ
ック・レベルの数を減らすことで利益が得られるデザインの領域を特定する場合に役立ちます。
ビューワでタイミング・パスを特定するには、Locate にカーソルを合わせ、Locate in RTL Viewer
あるいは Locate in Technology Map Viewer をクリックします。
関連情報
• Quartus II TimeQuest Timing Analyzer documentation
タイミング解析の結果の算出方法についての情報
• Analyzing Designs with Quartus II Netlist Viewers documentation
障害が発生しているパスを解析する際のヒント
障害が発生しているパスを解析する際、正しい制約が適用されているか、そしてタイミング例外
が適切であるかどうかをレポートと波形から調べます。 マルチサイクル制約は、指定したクロ
ック・サイクルの数でセットアップ関係あるいはホールド関係をを緩和します。 フォルス・パ
ス制約は、タイミング解析時に無視しても問題のないパスを指定します。 マルチサイクル制約
とフォルス・パス制約を使用すれば、フィッタが影響を受けているパスにより集中して動作させ
ることができます。
タイミング収束と最適化
フィードバック
Altera Corporation
12-6
QII5V2
2014.12.15
クロック・ドメインを交差している問題のあるクロック・パスを解析する際のヒン
ト
一番悪い値を示すスラックを持つパスの向上に焦点を合わせます。 フィッタは、一番悪い値を
示すスラックを持つパスに重点を置いて動作します。 こうしたパスを修正することで、フィッ
タはデザインで他の障害のあるタイミング・パスを改善できる場合があります。
多くの障害が発生したパスに見られる特定のノードを確認してください。このようなノードは、
タイミング・レポート・パネル内で最小スラックと一緒にリストのはじめに表示されます。 共
通のソース・レジスタ、デスティネーション・レジスタ、または共通の中間組み合わせノードを
持つパスを検索します。 場合によっては、レジスタは同じでなくても、同じバスの一部である
ことがあります。
タイミング解析レポート・パネルで、From もしくは To カラムの見出しをクリックすると、ソ
ース・レジスタあるいはデスティネーション・レジスタ別にパスをソートすることができます。
まずはじめに From をクリックし、次に To をクリックすると、To カラムのレジスタを第 1 のソ
ートとして使用し、From カラムのレジスタを第 2 のソートとして使用します。 共通のノードが
表示される場合、これらのノードは、ソース・コードの変更または Quartus II による最適化設定
で改善される可能性があるデザインの領域を示しています。 ただ一つのパスのためにだけ配置
を制約すること、デバイスでで共通のノードをさらに離れた位置に移動することになり、他のパ
スでのタイミング・パフォーマンスが低下する可能性があります。
関連情報
12-26 ページの タイミング・クロージャのデザイン評価
クロック・ドメインを交差している問題のあるクロック・パスを解析する際のヒント
クロックパスの障害を解析する際、これらのパスが 2 つのクロック・ドメインを交差しているか
を確認します。 以下は、タイミング解析で From Clock と To Clock が異なることをレポートして
ます。
図 12-2: From Clock と To Clock フィールドで異なる値がレポートされています。
また、ソース・レジスタとデスティネーション・レジスタのクロックが同じであっても、パスの
中に異なるクロックを含むパスが存在することがあります。
デザインに Report Timing を実行すると、それぞれの問題のあるパスへローンチ・クロックとラ
ッチ・クロックがレポートされます。 このようなクロック・ドメイン間の問題のあるパスが同
期的に解析可能であるかを確認します。 問題のあるパスを同期的に解析しないのであれば、こ
のようなパスはフォルス・パスとして設定する必要があります。 ローンチ・クロックとラッチ・
クロックの関係が、デザインに照らし合わせて現実的で想定できるものであることを確認する必
要があります。 たとえば、パスは立ち上がりエッジで開始し、立ち下がりエッジで完了します
が、これはセットアップ関係を半分のクロック・サイクルに低減させます。
Timing Report がレポートするクロック・スキューを確認します。 このスキューが大きければ、
ゲーテッド・クロックまたは(例えば、専用のクロック配線の代わりにローカル配線を使用する
クロックなど)物理的なレイアウトに関する問題のような、デザインに何らかの問題があること
を示唆します。 パスを同期的に解析した後、パスに大きなスキューが無く、制約も正しいこと
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
クリティカル・パスのソースとデスティネーションからのパスおよびクリティカ
ル・パスのソースとデスティネーションへのパスを解析する際のヒント
12-7
が確認できるのであれば、データ・パスを解析することができます。これらの手順は、クロッ
ク・ドメイン間で交差するパスの制約を微調整することができるので、正確なタイミング・レポ
ートが確実に得られるようになります。
PLL 位相シフトがセットアップ要件を低減しているかを確認します。 セットアップ要件は、PLL
パラメータと設定で調整することができる場合があります。
クロック・ドメインを交差するパスは通常、2 つのクロック・ドメイン間での非同期的インタラ
クションを可能にするために、同期ロジック(例えば、FIFO またはダブル・データ同期レジス
タ)で保護されています。 その場合、2 つのクロック・ドメインに存在するレジスタ間のタイミ
ング・パスはタイミング解析実行中、クロックが関連しているとしても無視することができま
す。
フィッタは、問題のあるすべてのタイミング・パスの最適化を試みます。 最適化およびタイミ
ング解析を無視しても問題のないパスがあっても、そのパスにはフィッタが無視するよう指示す
る制約がないのために、フィッタはこのようなパスについても同様に最適化を試みます。必要の
ないパスの最適化を試みると、場合によってはデザインに不可欠なタイミング・パス上のタイミ
ング要件をフィッタが満たさないことがあります。 無視しても問題のないパスにすべて、フォ
ルス・パスの制約を指定しておくことで、フィッタは無視しても問題のないパスを最適化するか
わりに、タイミング要件を満たす必要のあるパスの最適化に焦点を当てることができます。
関連情報
Quartus II TimeQuest Timing Analyzer
クロックド・メインを交差するタイミング・パスを無視する方法についての詳細情報
クリティカル・パスのソースとデスティネーションからのパスおよびクリティカル・パスのソ
ースとデスティネーションへのパスを解析する際のヒント
デザインで問題のあるパスを解析する際、パス周辺でフィッタが実行している多くのインタラク
ションを把握しておくとよいでしょう。 クリティカル・パス上で何か行われているかを調べる
には、以下の report_timing コマンドが役立ちます。
プロジェクト・ディレクトリ内で、以下に示すように report_timing コマンドを実行し、.tcl フ
ァイルでクリティカル・パス内のノードを解析します。
set wrst_src <insert_source_of_worst_path_here>
set wrst_dst <insert_destination_of_worst_path_here>
report_timing -setup -npaths 50 -detail path_only -from $wrst_src \
-panel_name "Worst Path||wrst_src -> *"
report_timing -setup -npaths 50 -detail path_only -to $wrst_dst \
-panel_name "Worst Path||* -> wrst_dst"
report_timing -setup -npaths 50 -detail path_only -to $wrst_src \
-panel_name "Worst Path||* -> wrst_src"
report_timing -setup -npaths 50 -detail path_only -from $wrst_dst \
-panel_name "Worst Path||wrst_dst -> *"
ワースト・パスの From Node と To Node カラムからノードの名称をはじめの 2 つの変数へコピ
ーします。次に TimeQuest タイミング・アナライザの Script メニューで .tcl スクリプトをソース
します。
resulting timing パネルで、(赤色でハイライトされる)タイミングに問題のあるパスは Chip
Planner で検索できるようになり、ノード間の距離や大きなファンアウトなどの情報が表示され
ます。
下の図は、これらのレポートが解析したものを略図化して示したものです。
タイミング収束と最適化
フィードバック
Altera Corporation
12-8
QII5V2
2014.12.15
Chip Planner に複数のパスを配置する際のヒント
図 12-3: Timing Report
Source Register
of Worst Path
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
Legend
wrst_src -> *
* -> wrst_dst
* -> wrst_src
wrst_dst -> *
Critical Path
LUT
Destination
Register of
Worst Path
LUT
デザインのクリティカル・パスは赤色で表されています。 スクリプトは、ワースト・ソースと
デスティネーション・レジスタ間のパスを解析します。 最初の report_timing コマンドはソー
スがドライブしている他のパスを解析しますが、これは緑色で表されています。 2 番目の
report_timing コマンドはデスティネーションへ向かうクリティカル・パスと他のパスを解析し
ます。これは黄色で表されています。 これらのコマンドは、異なる方向に進む 2 つのエンドポ
イント内部のすべてを表示します。 最後の 2 つの report_timing コマンドは、他の方向に進む
エンドポイント外部のすべてを表示します。 これらのレポートのいずれでクリティカル・パス
の近くにスラックがある場合、フィッタは最も望ましいスラックを達成しようとしてクリティカ
ル・パスでこれらパスを調整します。 この図は、ほとんどの設計に見られるクリティカル・パ
スと比較すると非常に単純ですが、すぐに非常に複雑となることが容易に理解できます。
Chip Planner に複数のパスを配置する際のヒント
Chip Planner は、タイミング・クリティカル・パスを検索する際に視覚補助として使用すること
ができます。タイミング・レポートからこれらのパスを表示するには、次の手順を実行します。
1.
2.
3.
4.
5.
を実行し、複数のパスを表示します。
タイミング・レポートから複数の行を選択します。
右クリック後、Locate Path を選択し、Chip Planner をクリックします。
Chip Planner の Locate History ウィンドウに選択したパスとワースト・パスが表示されます。
Locate Paths をダブルクリックして一度にすべてのパスを表示するか、もしくは Chip Planner
で個別に表示したいパスを選択します。
report_timing
これでタイミング障害の原因がノード間の距離が長いためによるものなのか、あるいは大き
なファンアウトによるものなのかが明らかになります。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
コンパイル間のクリティカル・パスをモニタする.tcl スクリプト作成のヒント
12-9
コンパイル間のクリティカル・パスをモニタする.tcl スクリプト作成のヒント
多くのデザインで同じクリティカル・パスがコンパイルするたびに表示されますが、一部のデザ
インにおいてはクリティカル・パスが異なる階層間でバウンスするため、コンパイルごとに変化
します。
この事象は、多くのレジスタ間パスでスラックがほとんどない高速デザインで発生することがあ
ります。 配置が異なると、マージナル・パスでタイミング障害が発生することがあります。そ
のようなデザインに対しては、プロジェクト・ディレクトリに TQ_critical_paths.tcl スクリプトを作
成します。 所定のコンパイルであれば、クリティカル・パスを表示し、このクリティカル・パ
スをキャプチャするために、一般的な report_timing コマンドをライトします。 具体的には、
下位レベルの階層でいくつかのパスに問題がある場合、次のコマンドを追加します。
report_timing –setup –npaths 50 –detail path_only \
–to “main_system: main_system_inst|app_cpu:cpu|*” \
–panel_name “Critical Paths||s: * -> app_cpu”
他の*count_sync*レジスタへ進むステート・マシンのビットのような特別なパスには、以下のコ
マンドを追加します。
report_timing –setup –npaths 50 –detail path_only \
–from “main_system: main_system_inst|egress_count_sm:egress_inst|update” \
–to “*count_sync*” –panel_name “Critical Paths||s: egress_sm|update -> count_sync”
このファイルは各コンパイルの後に TimeQuest タイミング・アナライザでソースすることが可能
です。新しい report_timing コマンドは新しいクリティカル・パスが表示されると追加すること
ができます。 これにより、常に問題の発生するパスと重要でないパスをモニタできるので、効
率的にパスの優先順位を付けることが可能となります。
グローバル配線リソース
グローバル配線リソースは、高ファンアウト、(クロックのような)低スキュー信号を通常の配
線リソースを消費することなく分配するように設計されています。デバイスによっては、このリ
ソースはチップ全体に広がることもあれば、デバイスの 1/4 ほどの小さなもしくは部分に収まる
こともあります。 Quartus II ソフトウェアは、自動でグローバル配線リソースに信号を割り当て
るよう試みますが、より適した割り当てを手動で実行できる場合もあります。
利用可能なグローバル配線リソースの数や種類の詳細については、関連するハンドブックを参照
してください。
デザインでのグローバル信号の使用量をチェックし、グローバル配線リソースで適切な信号が配
置されていることを確認します。Compilation Report で、Fitter レポートを開き、Resource Section
をクリックします。Global & Other Fast Signals レポートと Non-Global High Fan-out Signals レポー
トを精査し、変更する必要かあるどうかを決定します。
高ファンアウト信号に対しては、これらの信号をグローバル配線リソース上に配置することでス
キューを低減できることがあります。逆に、低ファンアウト信号の挿入遅延は、これらの信号を
グローバル配線リソースから移動させることで低減することができます。これらの作業を実行
することで、クロック・イネーブル・タイミングおよびコントロール信号リカバリ/リムーバル
のタイミングを改善できますが、同時にクロック・スキューも増加します。Assignment Editor の
Global Signal 設定を使用してグローバル配線リソースを制御します。
タイミング収束と最適化
フィードバック
Altera Corporation
12-10
QII5V2
2014.12.15
タイミングの最適化(LUT ベースのデバイス)
タイミングの最適化(LUT ベースのデバイス)
デザインがタイミング要件を満たさない場合は、次のガイドラインに従ってください。
TimeQuest アナライザを使用したタイミングング・エラーのデバッグ
TimeQuest アナライザの Tasks ペイン内の Custom Reports セクションには、Report Timing
Closure Recommendations があります。 このレポートは、デザイン内で問題のあるパスの詳細情
報を入手したり、ヘルプを表示させる場合に使用します。
Report Timing Closure Recommendations タスクを実行すると、 デザインで問題のあるパスに特
化した推奨事項および問題のあるパスを修正できる可能性のある変更点が表示されます。
Report Timing Closure Recommendations タスクを選択すると、Report Timing Closure
Recommendations ダイアログ・ボックスが開きます。
Report Timing Closure Recommendations ダイアログ・ボックスからクロック・ドメインに基づ
いたパスの選択、パス上のノードによるフィルタ、分析するパスの数の選択が実行できます。
TimeQuest アナライザによる Report Timing Closure Recommendations タスクの実行後、
TimeQuest アナライザ GUI の Report ペインにある Report Timing Closure Recommendations の
内容を確認します。 各推奨事項にはすれぞれ星マーク(*)が付いていますが、 この星の数が多
い推奨事項ほど、デザインのタイミングを収束できる可能性が高くなります。
レポートは、解析を行った問題の有るパスそれぞれに対して最も可能性の高い原因を提示しま
す。 レポートにはデザイン内で認識される問題の種類によってセクションごとに整理されま
す。セクションには、大きなクロック・スキュー、制限のある最適化、アンバランスなロジッ
ク、スキップされた最適化、レジスタ間にあまりにも多くのロジック・レベルを持つコーディン
グ・スタイル、プロジェクトに特化した領域あるいはパーティション制約が含まれます。
問題のあるパスの修正に役立つ可能性のある推奨事項が表示されます。ここでクリティカル・パ
スの詳細な解析を実行するには、パスを指定し report_timing コマンドを実行します。 パス・
レポート・パネルの Extra Fitter Information には、フィッタ関連の詳細情報も表示されます。問
題を視覚化することで、制約が特別な配置になる場合、適切な解決策をとることができます。
関連情報
Report Timing Closure Recommendations Dialog Box online help
Timing Optimization Advisor
TimeQuest の Report Timing Closure Recommendations タスクは、問題のあるパスを修正するた
めの具体的な推奨事項を提供しますが、Timing Optimization Advisor はデザインのタイミング性
能の改善に向けて、より一般的な推奨事項を提供します。
Timing Optimization Advisor は、デザインがタイミング要件を満たすにはどのような設定を作成
すればよいのかをガイドします。 Timing Optimization Advisor を実行するには、Tools メニューで
Advisors にカーソルを合わせ、Timing Optimization Advisor をクリックします。 Timing
Optimization Advisor には、このセクションで取り上げる多くの推奨事項が含まれます。
コンパイル後に Timing Optimization Advisor を開くと、デザインのタイミング性能を改善するた
めの推奨事項を確認することができますが、 推奨事項の中には、互いに矛盾する推奨が含まれ
ることがあります。 アルテラでは、それぞれのオプションを評価し、所定のタイミング要件に
最も適した設定を選択することを推奨しています。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
Timing Optimization Advisor
12-11
以下の例は、デザインをコンパイルした後の Timing Optimization Advisor ですが、これは周波数
の要件は満たしていますが、タイミングの改善にいくつかの変更が必要であることを示していま
す。
図 12-4: Timing Optimization Advisor
This button makes the recommended
changes automatically.
These options open the Settings dialog box or Assignment
Editor so you can manually change the settings.
Timing Optimization Advisor の Maximum Frequency (fmax)あるいは I/O Timing (tsu、tco、tpd)を
展開すると、ステージごとの推奨事項が表示されます。 このステージは、推奨設定を適用する
順序を示しており、 第 1 ステージには、最も容易に変更できるオプション、つまりデザインの
最適化およびコンパイル時間が大きく影響されないオプションを含まれます。 アイコンは、推
奨される各設定が現在のプロジェクトに適用されているかを示します。 例では、第 1 ステージ
でチェックマークの付いた推奨事項がありますが、これはその推奨事項が既に適用されているこ
とを示しています。 警告アイコンは、このコンパイルでは適用されていない推奨事項を示しま
す。 情報アイコンは一般的な推奨事項を示します。 このようなエントリについて、Timing
Optimization Advisor は推奨事項が適用されたかどうかのレポートは行いませんが、より良いパ
フォーマンスを達成するにはどうすればよいかを説明します。 各アイコンの詳細情報を提供す
る凡例については、Timing Optimization Advisor の「How to use」ペインを参照してください。
各推奨事項には、設定が変更できる Quartus II GUI の適切な箇所へのリンクがあります。 具体的
には、Settings ダイアログ・ボックスの Synthesis Netlist Optimizations ページ、Assignment Editor
の Global Signals category がこれにあたります。 この方法では、どの設定を作成するかについて
の多大な制御が得られるので、ソフトウェアの設定についての理解に役立ちます。 場合によっ
ては、グローバル設定に推奨事項を自動で変更できる Correct the Settings ボタンを使用すること
も可能です。
タイミング収束と最適化
フィードバック
Altera Corporation
12-12
QII5V2
2014.12.15
I/O タイミングの最適化
Timing Optimization Advisor の一部のエントリでは、さらに多くの情報を表示し、デザインの高
度な解析ができるボタンが表示されます。 Timing Optimization Advisor は、デザイン内にあるク
ロックのテーブルを提供し、タイミング制約が割り当てられているかどうかを表示します。
I/O タイミングの最適化
デザイン最適化のこの段階では、I/O タイミングに焦点を当てます。 Quartus II Handbook の
Design Optimization Overview の章にある「Initial Compilation: Required Settings」セクションに記
載された制約を正しく作成していることを確認します。 また、I/O タイミングの最適化を進める
前に、リソースの使用率が適切であるかを確認する必要があります。 このセクションで紹介さ
れる推奨事項は、すべてのアルテラ FPGA ファミリおよび MAX II CPLD ファミリに適用可能で
す。
I/O パスの変更は内部レジスタ間のタイミングに影響を与えるため、15 ページ以降の「レジスタ
間のタイミング最適化手法(LUT ベースのデバイス)」に記載されているレジスタ間のタイミン
グ最適化ステージに進む前にこのステージを完了させる必要があります。
このセクションで紹介するオプションは、セットアップ遅延(tSU)、ホールド時間(tH)および
clock-to-output 遅延(tCO)パラメータを含む I/O タイミングを改善する方法を解説します。
セットアップ時間と Clock-to-Output 時間の改善に関するまとめ
以下の表は、tSU 時間と tCO 時間を改善する際に使用する手法を推奨順にリストしています。
「有り」は使用する手法によってどのタイミング・パラメータが影響を受けるかを表しています。
また、tSU 時間を減少させると、ホールド(tH)時間が増加します。
表 12-2: セットアップ時間と Clock-to-Output 時間の改善
手法
tSU への影響
正しい制約が問題のある I/O に設定されていることを確認します(設定に 有り
ついては Quartus II Handbook の Design Optimization Overview の章にある
「Initial Compilation: Required Settings」のセクションを参照してください)
tCO への影響
有り
I/O タイミング・ドリブン・コンパイルを使用します(12~13 ページ)
有り
有り
Fast Input Register を使用します(12~14 ページ)
有り
N/A
Fast Output Register、Fast Output Enable Register、Fast OCT Register を使用し N/A
ます(12~14 ページ )
有り
Input Delay from Pin to Input Register の値を小さくするか、Decrease Input 有り
Delay to Input Register = ON に設定します
N/A
Input Delay from Pin to Internal Cells の値を小さくするか、Decrease Input
Delay to Internal Cells = ON に設定します
有り
N/A
Delay from Output Register to Output Pin の値を小さくするか、Increase
Delay to Output Pin = OFF に設定します(12~13 ページ)
N/A
有り
Input Delay from Dual-Purpose Clock Pin to Fan-Out Destinations の値を大
きくします(12~13 ページ)
有り
N/A
Use PLLs to shift clock edges を使用します 12~15 ページ )
有り
有り
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
12-13
タイミング・ドリブン・コンパイル
手法
Use the Fast Regional Clock を使用します(12~16 ページ)
tSU への影響
tCO への影響
N/A
有り
MAX II または MAX V ファミリのデバイスの場合、Guarantee I/O Paths
有り
Have Zero Hold Time at Fast Corner を OFF、When T SU and T PD Constraints
Permit に設定します(12~16 ページ)
N/A
Delay to output enable pin の値を大きくするか、Increase delay to output
enable pin を設定します(12~15 ページ)
有り
N/A
表への注意事項:
1. 表中のオプションは、すべてのデバイス・ファミリには適用されない場合があります。
タイミング・ドリブン・コンパイル
このオプションは、tSU または tCO アサインメントを満たす必要があればレジスタを I/O エレメ
ントに移動し、(レジスタが複数の出力位置にファンアウトするような場合)必要に応じてレジ
スタを複製します。 このオプションはデフォルトでオンであり、グローバルな設定です。 MAX
II シリーズのデバイスには I/O レジスタが含まれないため、このオプションは MAX II シリーズ
のデバイスには適用されません。
Optimize IOC Register Placement for Timing オプションは、tSU もしくは tCO 要求を持つピンにの
み影響を与えます。 レジスタが直接ピンをフィードするか、あるいはピンによって直接供給さ
れる場合にのみ、I/O レジスタが使用可能です。 この設定は、以下のいずれかの特徴を持つレジ
スタには影響を与えません。
•
•
•
•
レジスタとピンとの間に組み合わせロジックが存在する
キャリーやカスケードチェーンの一部である
オーバーライドするロケーション・アサインメントがある
非同期ロード・ポートを使用しており、値が 1 ではない(ポートが利用可能なデバイス・フ
ァミリ)
ここに挙げた特徴を持つレジスタは、通常の Quartus II フィッタを使用することで最適化が可能
です。
関連情報
Optimize IOC Register Placement for Timing Logic Option online help
Fast Input Register、Fast Output Register、および Output Enable Register
通常、タイミングの割り当てが正確であれば、フィッタはパフォーマンスに関する要件を満たす
ために、適切な I/O セルまたはコアに I/O レジスタを配置しています。 しかし、Assignment
Editor の高速 I/O アサインメントを作成することで、I/O セル内の個々のレジスタを手動で配置
することができます。
Fast Input Register オプション、Fast Output Register オプション、Fast Output Enable Register オ
プション、および Fast OCT (on-chip termination) Register オプションの詳細については、
Quartus II Help を参照してください。.
MAX II シリーズのデバイスには I/O レジスタが存在しないため、I/O ピンにピン配置アサインメ
ントがある場合、このようなアサインメントはその I/O ピンに隣接する LAB にレジスタをロッ
クします。
タイミング収束と最適化
フィードバック
Altera Corporation
12-14
プログラマブル遅延
QII5V2
2014.12.15
高速 I/O 設定がオンの場合レジスタは常に I/O エレメント内に配置されますが、 これがオフの
場合レジスタは I/O エレメント内に配置されることはありません。 これは、Optimize IOC
Register Placement for Timing オプションがオンの場合も同様です。 高速 I/O アサインメントが
ない場合、Quartus II ソフトウェアは Optimize IOC Register Placement for Timing オプションがオ
ンであれば、I/O エレメントにレジスタを配置するかどうかを決定します。
また、4 つの高速オプション(Fast Input Register、Fast Output Register、Fast Output Enable
Register、および Fast OCT Register)を使用して、LogicLock 領域のレジスタの位置を I/O セルに
上書きすることも可能です。 複数のピンを供給するレジスタにこのアサインメントを適用する
と、レジスタが複製され、関連するすべての I/O エレメントに格納されます。 MAX II シリーズ
のデバイスでは、レジスタは複製され、ピン位置アサインメントを持つ I/O ピンに隣接する個別
の LAB に配置されます。
プログラマブル遅延
様々なプログラマブル遅延オプションを使用することで、tSU 時間と tCO 時間を最小化すること
が可能です。 Arria、Cyclone、MAX II、MAX V、および Stratix シリーズのデバイスでは、Quartus
II ソフトウェアはタイミング要件を満たすために適用できるプログラマブル遅延を自動で調整
します。 プログラマブル遅延は、プロジェクトのコンパイル、I/O タイミングの確認後、タイミ
ングを満たしていないと判断される場合にのみ使用する高度なオプションです。 このオプショ
ンの効果についての詳細な情報は、該当するデバイス・ファミリのハンドブックもしくはデータ
シートを参照してください。
プログラマブル遅延を作成し、デザインをコンパイルした後、Compilation Report の Delay Chain
Summary セクションで各 I/O ピンごとの遅延チェインに対して実装された遅延の値を表示する
ことができます。
Assignment Editor でサポートされるノードにプログラマブル遅延オプションを割り当てること
ができます。 また、Chip Planner と Resource Property Editor を使用すれば、ターゲット・デバイ
スへの遅延チェイン設定を表示し、変更を加えることができます。 フル・コンパイルを実行し
た後に Resource Property Editor を使用して変更を加える場合、変更点はネットリストに直接保存
されるので、全デザインを再コンパイルする必要はありません。 このような変更はネットリス
トに直接作成されるため、デザインを再コンパイルする際、変更は自動的には作成されません。
変更管理機能を使用すると、以降のコンパイルで同じ変更を再度適用することができます。
新しいデバイスの場合、プログラマブル遅延はユーザによる制御が可能ですが、この方法は上級
ユーザ以外には推奨していません。 ただし、Quartus II ソフトウェアはフィッタ実行中に内部で
プログラマブル遅延を使用する場合があります。
アルテラ・デバイスで使用可能なプログラマブル遅延ロジック・オプションの詳細については、
以下の Quartus II Help トピックを参照してください。
Input Delay from Pin to Input Register logic option
Input Delay from Pin to Internal Cells logic option
Output Enable Pin Delay logic option
Delay from Output Register to Output Pin logic option
Input Delay from Dual-Purpose Clock Pin to Fan-Out Destinations logic option
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
PLL を使用するクロック・エッジのシフト方法
12-15
関連情報
• Engineering Change Management with the Chip Planner documentation
Information about using the Chip Planner and Resource Property Editor
PLL を使用するクロック・エッジのシフト方法
PLL を使用すると、通常は自動的に I/O タイミングが改善されます。 タイミング要件が満たされ
ていない場合、ほとんどのデバイスで、I/O タイミングを変更するよう PLL 出力を位相シフトに
することが可能です。 クロックを後方にシフトすると、tSU を犠牲にして tH が改善され、前方
にシフトすると tH を犠牲にして tSU が改善されます。 この方法は位相シフト・オプションが利
用可能な PLL を持つデバイスでのみ実行することができます。
図 12-5: クロック・エッジを前方にシフトし、tH を犠牲にして tSU を改善する
Input Delay from Dual Purpose Clock Pin to Fan-Out Destinations と呼ばれるプログラマブル遅延
を使用することで同様の効果が得られるデバイスもあります。
関連情報
Input Delay from Dual-Purpose Clock Pin to Fan-Out Destinations Logic Option online help
高速リージョナル・クロック・ネットワークとリージョナル・クロック・ネットワークの使用
方法
アルテラのデバイスには、様々な階層クロック構造があります。 こうした構造には、専用グロ
ーバル・クロック・ネットワーク、リージョナル・クロック・ネットワーク、高速リージョナ
ル・クロック・ネットワーク、およびペリフェラル・クロック・ネットワークがあります。 利
用できるリソースは、アルテラ・デバイス・ファミリによって異なりますので、
ターゲット・デバイスで使用可能なクロッキング・リソースの個数については、該当するデバイ
ス・ファミリのハンドブックを参照してください。
一般的に、高速リージョナル・クロックは、リージョナル・クロックやグローバル・クロックに
比べ I/O エレメントへの遅延が小さく、ファンアウト・コントロール信号要素に少ない遅延を有
する、高ファンアウト・コントロール信号に使用されます。 リージョナル・クロックは、1 つの
エリア内に含まれるロジックに対して、最小のクロック遅延とスキューを実現します。 このよ
うな低スキュー、低遅延クロック・ネットにクロックを配置することで、より優れた tCO のパフ
ォーマンスが得られます。
スパイン・クロックの制限
グローバル・クロック・ネットワーク、リージョナル・クロック・ネットワーク、およびペリフ
ェラル・クロック・ネットワークには、スパイン・クロックとして知られるもう 1 つのクロック
階層のレベルがあります。スパイン・クロックは、レジスタに最後のロウ・クロックとカラム・
クロックをドライブします。つまり、チップ内のすべてのレジスタへのクロックは、スパイン・
クロックを介して到達します。このスパイン・クロックは、ユーザが直接制御できるものではま
せん。
タイミング収束と最適化
フィードバック
Altera Corporation
12-16
QII5V2
2014.12.15
MAX II デバイスへのホールド時間最適化の変更方法
プロジェクトにクロックの高い配線要求がある場合、Quartus II ソフトウェアの制限のため、ス
パイン・クロック・エラーが表示されることがあります。 このようなエラーは多くの場合、複
数のメモリ・インタフェースを使用する、高速シリアル・インタフェース(HSSI)チャネル(特
に PMA ダイレクト・モード)で発生します。
スパイン・クロック・エラーを低減させるには、以下の方法を用い、より有効にリージョナル・
クロック・リソースを活用するようにデザインを制約します。
• デザインが LogicLock 領域を使用しない場合、あるいは LogicLock 領域がクロック領域の境界
に揃っていない場合は、追加の LogicLock 領域を作成することでさらにロジックを制約しま
す。
注: フィッタの最適化オプションであるレジスタ・パッキングが LogicLock 領域を無視する場合
は、 Quartus II Assignment Editor で特定のインスタンスへのレジスタ・パッキングをディセ
ーブルにしてください。
• 一部のペリフェラル機能は、LogicLock 領域のアサインメントを無視することがあります。
そのような場合、グローバル・プロモーション・プロセスが正常に機能しないことがあり
ます。グローバル・プロモーション・プロセスが正しい箇所を使用するように、これらの
ペリフェラル機能を使用して I/O に特定のピンを割り当てます。
• デフォルトでは、一部の IP MegaCore ファンクションは、デュアル・リージョナル・クロ
ックの値を持つグローバル信号アサインメントを適用します。 リージョナル・クロック・
リージョンへロジックを制約し、グローバル信号アサインメントを Dual-Regional ではな
く Regional に設定することでクロック・リソースの競合を減少することができます。
MAX II デバイスへのホールド時間最適化の変更方法
MAX II デバイスの場合、Guarantee I/O Paths Have Zero Hold Time at Fast Corner オプションを使
用して Quartus II ソフトウェアによるホールド時間最適化の方法を制御することができます。
関連情報
Guarantee I/O Paths Have Zero Hold Time at Fast Corner Logic Option online help
レジスタ間のタイミング最適化手法(LUT ベースのデバイス)
デザイン最適化の次のステージでは、レジスタ間(fMAX)タイミングを改善します。 次のセク
ションでは、性能に関する要件がコンパイル後に達成されていない場合の、利用可能なオプショ
ンを解説します。
コーディング・スタイルは、設定において他の変更よりもデザインのパフォーマンスに大きく影
響します。 よって、常にコードをよく評価し、同期デザイン手法が使用されていることを確認
してください。
注: TimeQuest アナライザを使用する場合は、レジスタ間のタイミングを最適化することは、デ
ザインのクロック・ドメインのスラックを最大化することと同じ意味を持ちます。 このセク
ションで解説する手法で、デザインの異なるタイミング・パス上のスラックを改善すること
ができます。
デザインの最適化を実行する前に、デザインの構造、および最適化が影響を与えるロジックの種
類を理解しておくことが重要です。 ロジック構造が改善されない場合、最適化によりパフォー
マンスが低下することがあります。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
ソース・コードの最適化
12-17
関連情報
Recommended Design Practices documentation
同期デザイン手法およびコーディング・スタイルについての詳細情報
ソース・コードの最適化
多くの場合、デザインのソース・コードの最適化はデザインの性能に非常に大きな影響を与えま
す。実際、ソース・コードを最適化することが一般的にはデザイン結果の品質を向上させるため
の最も効果的な方法であり、LogicLock やロケーション・アサインメントを使用するよりも良い
選択といえます。
コーディングの際は、ロジックの実装に必要となるロジック・レベルの数に注意してください。
レジスタ間にあまりに多くのロジックを設定すると、レジスタでクリティカル・パスのタイミン
グに問題が生じる可能性があります。そのような場合はパイプラインをはじめとする、より効率
的なコーディング方法を使用してデザインを再構築してみてください。 また、ソース・コード
で高ファンアウト信号を制限してみてください。 可能であれば、コントロール信号を複製し、
パイプライン化します。 重複したレジスタは合成中のマージを避けるために、preserve 属性で保
護されていることを確認してください。
デザインのクリティカル・パスにメモリや DSP 機能が存在する場合は、推測されずに専用ロジ
ック内に配置されているメモリや機能を説明するコード・ブロックがデザインに含まれているか
どうかを確認してください。 場合によっては、これらの機能がターゲット・デバイスの高性能
な専用メモリもしくはリソースに配置されるようにソース・コードを変更することも可能です。
RAM/DSP ブロックを使用するのであれば、オプションの入力レジスタと出力レジスタを有効に
します。
ステート・マシンが、ステート・マシン・ロジックとして認識され、合成ツールで正しく最適化
されていることを確認してください。 合成ツールがステート・マシンを一般的なロジックとし
て処理するよりもステート・マシンとして認識している方が通常は良好に最適化されます。
Quartus II ソフトウェアでは、Compilation Report の Analysis & Synthesis でステート・マシン・レ
ポートを確認することができます。 このレポートは、コンパイル時に認識された各ステート・
マシンへのステート・エンコーディングを含む詳細情報を提供します。 ステート・マシンが認
識されない場合、認識されるようにソース・コードを変更する必要があります。
関連情報
• Recommended HDL Coding Styles documentation
HDL コードの例、メモリの推論、関数、ガイドライン、およびステート・マシン用のサンプ
ル HDL コードを含むコーディング・スタイルのガイドライン
• AN 584: Timing Closure Methodology for Advanced FPGA Designs application note.
レジスタ間のタイミング改善のまとめ
タイミング・マージン(スラック)を向上させるオプションや設定の選択、そしてレジスタ間の
タイミング改善は、デザイン内の立ち下がりパスに依存します。 パフォーマンス要件に最も近
い結果を得るには、以下の手法を適用し、各工程の後にデザインをコンパイルします。
タイミング収束と最適化
フィードバック
Altera Corporation
12-18
フィジカル・シンセシスの最適化
QII5V2
2014.12.15
1. タイミング・アサインメントが完了し、正確であることを確認します。 詳細については、
Quartus II Handbook の Design Optimization Overview の章にある「Initial Compilation: Required
Settings」のセクションを参照してください。
2. 最初のコンパイル後のすべての警告メッセージを確認し、無視されるタイミング・アサイン
メントをチェックしていることを確認してください。
3. ネットリストの合成最適化オプションを適用します。
4. スピードの最適化を図るには、以下の合成オプションを適用します。
• 12-20 ページの エリアではなくスピードへの合成の最適化
• 12-20 ページの 合成中の階層のフラット化
• 12-21 ページの シンセシス・エフォートを High へ設定する
• 12-21 ページの ステート・マシン・エンコーディングを変更する
• 12-22 ページの シフト・レジスタの推論の防止
• 12-22 ページの 合成ツール内で利用可能な他の合成オプションを使用する
5. フィジカル・シンセシスを使用してパフォーマンスを最適化するには、次のオプションを適
用します。
• 組み合わせロジックのフィジカル・シンセシスの実行
• 非同期信号の自動パイプライン化の実行
• レジスタ複製の実行
• レジスタのリタイミングの実行
• ロジックからメモリへのマッピングの実行
6. 異なるフィッタ・シードを試します。小さな負のスラックによる問題のあるパスがほとんど
ない場合、フィッタ・シード・ノイズで制約を満たすフィットがあるかを確認するために異
なるシードを試します。
注: 多くのクリティカル・パスに問題がある、あるいはパスに重篤な問題がある場合はこのス
テップを手順を省略します。
7. 配置を制御するには、LogicLock アサインメントを作成します。
8. タイミング要件を満たすまでかなりの開きがあるデザインのエリアを修正するデザイン・ソ
ース・コードの変更を行います。
9. ロケーション・アサインメントを作成するか、最後の手段としてデザインをバック・アノテー
ションして手動で配置を行います。
Design Space Explorer II(DSE)を使用して、異なる設定でいくつかのコンパイルを実行するプ
ロセスを自動化することができます。
これらの手法を適用してもパフォーマンスの要件が達成できない場合は、別にデザイン・ソ
ース・コードの技術は、性能要件を達成しない場合、追加の設計ソースコードの修正が必要
になるかもしれません。
関連情報
Design Space Explorer II online help
フィジカル・シンセシスの最適化
Quartus II ソフトウェアは合成ツールの使用の有無に関係なく、多くのデザインのパフォーマン
スを改善することができるフィジカル・シンセシスの最適化を提供します。 フィジカル・シン
セシスの最適化は、合成とフィッティングいずれの実行中にも適用することができます。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
フィジカル・シンセシスの最適化
12-19
Quartus II によるコンパイルの合成段階中に発生するフィジカル・シンセシスの最適化は、他の
EDA 合成ツールからの出力、または Quartus II の統合合成の中間ステップとして動作します。
このような最適化は、選択した最適化の手法とエフォート・レベルに応じて、エリアとスピード
のいずれかを改善するためにシンセシス・ネットリストへの変更面積または速度のいずれかを改
善するために合成ネットリストを変更します。
ネットリスト最適化のオプションを表示、変更するには、Assignments > Settings > Compiler
Settings > Advanced Settings (Fitter)をクリックします。
サードパーティ EDA 合成ツールを使用して、Quartus II ソフトウェアがパフォーマンスを向上さ
せるために回路を再マッピングできるかどうかを判断する場合は、Perform WYSIWYG Primitive
Resynthesis オプションを使用します。 このオプションは、Atom ネットリストの LE をロジッ
ク・ゲートへのマッピングを取り消し、アルテラ固有のプリミティブへゲートをマッピングし直
すよう Quartus II ソフトウェアに指示します。 アルテラ固有のプリミティブを使用すると、フィ
ッタがアーキテクチャ特有の手法用いて回路を再マップすることが可能になります。
Quartus II テクノロジ・マッパーは、Optimization Technique の設定に応じて、最大速度性能、
最小面積使用を達成するか、もしくは高性能と最小ロジック使用の間で最良のバランスを取るよ
うにデザインを最適化します。このオプションは、Speed か Balanced に設定します。
フィジカル・シンセシスの最適化は、Quartus II コンパイルのフィッティング・ステージで実行
されます。 フィジカル・シンセシスの最適化によって、ネットリストに対して配置固有の変更
が行われ、特定のアルテラ・デバイスでスピード・パフォーマンスの結果が改善されます。
次の物理合成最適化は、パフォーマンスを向上させるフィッタの段階で使用可能です。
• 組み合わせロジックのフィジカル・シンセシス
• 非同期信号の自動パイプライン化
• レジスタのフィジカル・シンセシス
• Register duplication
• Register retiming
注: デザインの一部にのみフィジカル・シンセシスによるパフォーマンスの向上が必要な場合
は、指定のインスタンスにフィジカル・シンセシス・オプションを適用することができま
す。
インスタンス・ベースごとのフィッティングにフィジカル・シンセシス・アサインメントを適用
するには、Quartus II Assignment Editor を使用します。以下のアサインメントは、インスタンス・
アサインメントとして使用可能です。
•
•
•
•
組み合わせロジックのためのフィジカル・シンセシスの実行
パフォーマンスのためのレジスタ複製の実行
パフォーマンスのためのレジスタ・リタイミングの実行
非同期信号の自動パイプライン化の実行
関連情報
• Perform WYSIWYG Primitive Resynthesis Logic Option online help
• Optimization Technique Logic Option online help
• Working With Assignments in the Assignment Editor online help
タイミング収束と最適化
フィードバック
Altera Corporation
12-20
エクストラ・フォート消費電力最適化の設定をオフにします
QII5V2
2014.12.15
エクストラ・フォート消費電力最適化の設定をオフにします
PowerPlay 消費電力最適化が Extra Effort に設定されている場合、デザインのパフォーマンスに影
響を与える可能性があります。 タイミング性能の改善が電力使用量の削減よりも重要である場
合は、PowerPlay 消費電力最適化の設定を Normal に設定します。
関連情報
PowerPlay Power Optimization Logic Option online help
Power Optimization documentation
エリアではなくスピードへの合成の最適化
デザインを合成する方法によって、デザインの性能は大きく影響されます。 デザインの性能は、
デザインのコーディング、使用する合成ツール、合成する際に指定するオプションにより異なっ
てきます。 多くのパスに問題が存在する、もしくは特定のパスに大きな障害があり、そして多
くのロジック・レベルを持つ場合は、合成に関するオプションを変更します。
合成ツールでデバイスとタイミング制約を設定します。合成ツールは、タイミング・ドリブンで
所定のタイミング要件を満たすように最適化されています。 ターゲットとする周波数を指定し
ない場合、一部の合成ツールは、エリアに対し最適化を実行します。
一部の合成ツールでは、エリアではなくスピードに焦点を当てるようにツールを指示する簡単な
方法を提供しています。
デフォルト設定である Optimization Technique の Balanced(特定のデバイス・ファミリでのエリ
アとスピードの最良のトレードオフ)もしくは Area(エリアを重要視する場合)を選択せずに、
このロジックはデザイン内の特定のモジュールに Assignment Editor を使用し指定することも可
能です。 この他にも、Assignment Editor の Speed Optimization Technique for Clock Domains オプ
ションを使用して、クロック・ドメイン内またはクロック・ドメイン間のすべての組み合わせロ
ジックがスピードに向けて最適化されていることを指定することができます。
プッシュボタン・コンパイルで最高のパフォーマンスを実現するには、他の合成の設定に対して
以下の推奨事項に従ってください。 最高のパフォーマンスが得られるようデザインを最適化す
るには、DSE II を使用し Quartus II の異なる合成オプションを試すことができます。
関連情報
• Optimization Technique Logic Option online help
• Synthesis documentation
Quartus II の統合合成ツールおよびサードパーティ合成ツールのタイミング要件および合成
オプションの設定に関する情報
• Design Space Explorer II online help
合成中の階層のフラット化
合成ツールは通常、階層境界の保存が可能ですが、これは検証などの際に役立ちます。 しかし、
一般的に最高の最適化の結果を得られるのは、合成ツールが階層境界を最適化する場合です。な
ぜなら、階層境界を最適化することで合成ツールによるロジックの最小化が実行可能となり、そ
れがパフォーマンスの向上につながるからです。 最高の結果を達成するためには、可能な限り
デザイン階層をフラット化します。Quartus II インクリメンタル・コンパイルを使用しているの
であれば、デザイン・パーティション間でデザインをフラット化することはできません。 イン
クリメンタル・コンパイルは、常にデザイン・パーティション間にある階層の境界を維持しま
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
シンセシス・エフォートを High へ設定する
12-21
す。 境界間最適化の影響を抑えるためにレジスタ・パーティション境界のようなデザイン・パ
ーティションのためのアルテラの推奨事項に従ってください。
関連情報
Quartus II Incremental Compilation for Hierarchical and Team-Based Design documentation
シンセシス・エフォートを High へ設定する
合成ツールのなかには、合成結果とコンパイル時間とをトレードオフする様々なシンセシス・エ
フォート・レベルを提供しているものもあります。 可能であれば、最良の合成結果が得られる
ようシンセシス・エフォートを high に設定します。
ステート・マシン・エンコーディングを変更する
ステートマシンは、様々な手段でエンコードすることができます。One-hot エンコーディングは
すべてのステート・ビットに 1 つのレジスタを使用しますが、通常この方法が最高のパフォーマ
ンスを提供します。 デザインにステート・マシンが含まれている場合、One-hot エンコーディン
グにテート・マシンのエンコーディングを変更すると、エリアを犠牲にしてパフォーマンスを向
上させることができます。
関連情報
State Machine Processing Logic Option online help
ファンアウトを制御するためのロジックの複製
配線遅延を低減するために問題のあるタイミング・パス内のレジスタを移動させると、問題のあ
るパスが生成されたり、あるいはレジスタのファンアウトによるタイミング障害が発生している
場合、ロジックやレジスタを複製することでタイミングが改善することがあります。 ほとんど
の場合、タイミングの障害は高ファンアウトのレジスタが原因ではなく、このようなレジスタの
位置が原因で発生します。 ソース・レジスタとデスティネーション・レジスタが物理的に近接
している位置でレジスタを複製すると、クリティカル・パスのスラックを改善することができま
す。
合成ツールの多くは、レジスタの最大ファンアウトを指定するオプションや属性をサポートして
います。 Quartus II 統合合成機能を使用する際、Assignment Editor の Maximum Fan-Out ロジッ
ク・オプションでノードへのデスティネーションの数を設定すれば、ファンアウト・カウントが
指定の値を超えることはありません。 また、HDL コードで maxfan 属性を使用することも可能で
す。 ソフトウェアは、指定された最大ファンアウトを達成するために、必要に応じてノードを
複製します。
Maximum Fan-Out アサインメントを使用してロジックを複製すると、通常はリソース使用量が
増加します。選択したデバイスにおける配置やリソースの総使用量によってはコンパイル時間
が増加することがあります。 タイミング性能の改善に使用する Maximum Fan-Out アサインメ
ントは非常にデザインに特化しているためです。 つまり、Maximum Fan-Out アサインメントを
使用すると、フィッタはソース・ロジックを複製してファンアウトを制限しますが、複製された
各ソース・ドライブのデスティネーションの制御はできないことがあります。 Maximum FanOut デスティネーションは、複製されたソースがどのデスティネーションをドライブするかを指
定しないので、デバイス周辺に配置されたロジックをドライブする可能性があります。 これを
避けるには、Manual Logic Duplication ロジック・オプションを使用することができます。
アルテラでは Maximum Fan-Out アサインメントを使用する場合は、このアサインメントを使用
した場合と使用しない場合のデザインを比較して、期待するタイミング性能の改善が得られてい
タイミング収束と最適化
フィードバック
Altera Corporation
12-22
QII5V2
2014.12.15
シフト・レジスタの推論の防止
るかを検証することを推奨しています。 そして、結果が改善された場合にのみ、このアサイン
メントを使用してください。
使用する合成ツールを問わず、Quartus II ソフトウェアを使用してレジスタを手動で複製するこ
とができます。 レジスタを手動で複製するには、Assignment Editor でレジスタに Manual Logic
Duplication オプションを適用します。
注: フィッタを使用する最適化方法のなかには、タイミングの改善を図る際 Maximum Fan-Out
アサインメントに深刻でない違反を生じさせるものもあります。
関連情報
Manual Logic Duplication Logic Option online help
シフト・レジスタの推論の防止
シフト・レジスタの推論をオフにすることで、パフォーマンスが向上する場合があります。 シ
フト・レジスタの推論をオフにすると、ソフトウェアは ALTSHIFT_TAPS IP コアを使用してメ
モリ・ブロック内のレジスタを実装する代わりにロジック・セルを使用してシフト・レジスタを
実装するよう強制されます。 シフト・レジスタをメモリではなくロジック・セルに実装すると、
ロジック使用率は増加します。
合成ツール内で利用可能な他の合成オプションを使用する
次のオプションが使用する合成ツールで利用可能であるか試してみてください。
• レジスタ・バランスまたはレジスタ・リタイミングをオンにします
• レジスタ・パイプラインをオンにします
• リソースの共有をオフにします
これらのオプションはパフォーマンスを向上させますが、一般的にはデザインのリソース使用率
も増大します。
フィッタ・シード
フィッタ・シードは、デザインの初期配置コンフィギュレーションに影響します。 初期条件に
変更があるとフィッティング結果も変化します。つまり、シードの値を変更すると、フィッティ
ング結果も別のものになります。 シードの値を変えていくと、フィッティング結果も少しずつ
異なります。よりよいフィッティング結果とタイミング製のを得るために、色々なシードの値を
試すことができます。
デザイン内で変更があると、それぞれのコンパイルにおいてパフォーマンスにランダムな変動が
見られます。 このバラツキは、配置および配線のアルゴリズムに固有のもので、最良の結果を
得るためにすべてを試すには対象があまりに多いので、初期条件がコンパイル結果を変更しま
す。
注: デザインの変更はフィッタに直接的あるいは間接的に影響し、シードの値を変更する場合と
同じタイプのランダムな結果をもたらします。 これには、ソース・ファイル、Compiler
Settings、Timing Analyzer Settings 内のすべての変更が含まれます。異なるシステムは浮動小
数点数がフィッタで計算される方法を変更する可能性があるので、異なるコンピュータ・シ
ステムあるいは異なるオペレーティング・システムを使用しても同じ結果となります。
最適化の設定によりレジスタ間のタイミング、もしくは問題のあるパスの数が少しでも変更され
た場合、パフォーマンスの向上や低下がその変更によるものなのか、あるいはフィッタのランダ
ムな結果によるものなのかを明らかにすることは困難です。 それでもまだデザインに変更が見
られる場合、最適化の変更後に平均的な結果が改善したか、あるいはコンパイル時間を増加させ
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
Maximum Router Timing Optimization を最大に設定します
12-23
ることになった設定によって得られる利益が(Physical Synthesis Effort を Extra に設定するよう
な)増加したコンパイル時間を超えるものであるかを(複数のシードを使用してデザインをコン
パイルする)シード・スィープを実行して判断します。スイープはまた、デザインで予測される
ランダムな変動がどの程度になるかも表示します。
デザインが確定されている場合は、最適な結果が得られるよう異なるシードでデザインをコンパ
イルすることができます。 しかし、デザインに何らかの変更があった場合、再度シード・スィ
ープを実行する必要があります。
Assignments メニューで、シードで初期配置を制御するために、Compiler Settings を選択します。
DSE II を使用すれば、シード・スィープを簡単に実行することができます。
スクリプトから以下の Tcl コマンドを使用して、フィッタ・シードを指定することができます。
set_global_assignment -name SEED <value>
関連情報
Design Space Explorer II online help
Design Space Explorer II(DSE)を使用して異なるシードでデザインをコンパイルする際の参照
Maximum Router Timing Optimization を最大に設定します
デザイン内の配線可能性を改善するために、ルータが最適な配線ラインを取り上げなかった箇所
で Router Timing Optimization Level を Maximum に設定します。 この設定は、どのくらい積極
的にルータがタイミング要件を満たそうとするのかを決定します。 このオプションを
Maximum に設定すると、コンパイル時間をわずかに犠牲にしてデザインのスピードを向上させ
ることができます。 逆に、このオプションを Minimum に設定すれば、デザインのスピードをわ
ずかに犠牲にしてコンパイル時間を短縮することができます。 この設定はデフォルトでは
Normal となっています。
関連情報
Router Timing Optimization Level Logic Option online help
LogicLock アサインメント
LogicLock アサインメントを使用するタイミング性能の改善は、MAX II ファミリなどの古いアル
テラ・デバイスに対してのみ推奨しています。 特に Arria および Stratix デバイス・シリーズのよ
うな大規模なデバイス・ファミリに対しては、LogicLock アサインメントを使用するタイミング
性能の改善は推奨していません。 Arria および Stratix デバイス・シリーズには、LogicLock 機能
はパフォーマンスの保存やデザインのフロアプランに使用してください。
LogicLock アサインメントは必ずしもデザインの性能を向上させるわけではありませんが、 多く
の場合、ロケーション・アサインメントを作成してもフィッタからの結果を改善することはでき
ません。 デザインに既存の LogicLock アサインメントがある場合、そのデザイン・メソドロジで
許可されていれば LogicLock アサインメントを削除します。 デザイン再コンパイル後、
LogicLock アサインメントによりパフォーマンスを悪化しているかを確認します。
LogicLock アサインメントを行う際には、フィッタにどのくらいの柔軟性をもたせるかを考慮す
ることが重要です。 LogicLock アサインメントはハード・ロケーション・アサインメントよりも
高い柔軟性を提供します。 より高い柔軟性を持つアサインメントはそれだけ高いフィッタ・エ
フォートを必要としますが、デザインが過度に制約される可能性を低下させます。 以下は使用
可能な LogicLock アサインメントの種類ですが、柔軟性を低下させる順でリストしたものです。
タイミング収束と最適化
フィードバック
Altera Corporation
12-24
QII5V2
2014.12.15
階層のアサインメント
• 自動サイズ、非固定位置の領域
• 固定サイズ、非固定位置の領域
• 固定サイズ、固定位置の領域
LogicLock 領域の大きさや位置を判断しかねる場合は、まずは Auto/Floating オプションから試し
てみてください。 Auto/Floating LogicLock 領域により全体的なパフォーマンスが損なわれる場
合があるので、LogicLock 領域の位置を決定した後は、LogicLock 領域に修正を加えます。
LogicLock 領域に何を含めるかを決定するには、タイミング解析結果を参考にして、Chip Planner
でクリティカル・パスを解析します。 Compilation Report の Timing Analyzer セクションにあるレ
ジスタ間のタイミング・パスは、パターンを認識する際に役立ちます。
関連情報
• Analyzing and Optimizing the Design Floorplan with the Chip Planner documentation
階層のアサインメント
以下の図に示す階層を持つデザインは、表に見られるようなタイミング解析結果で問題のあるパ
スが存在しますが、高い確率で mod_A が問題のあるモジュールとなります。 この場合、問題の
あるパスを修正する 1 つの良い方法としては、LogicLock 領域に mod_A 階層ブロックを配置する
ことです。これにより、フロアプランですべてのノードがより近接します。
図 12-6: デザイン階層
Top
mod_A
mod_B
表 12-3: タイミング解析で表示されるモジュールで障害のあるパス
To
From
|mod_A|reg1
|mod_A|reg9
|mod_A|reg3
|mod_A|reg5
|mod_A|reg4
|mod_A|reg6
|mod_A|reg7
|mod_A|reg10
|mod_A|reg0
|mod_A|reg2
インクリメンタル・コンパイル・フローを使用している場合は、階層 LogicLock 領域も重要で
す。 競合を低減しデザインの進展にともない良好な結果を確実にするため、別々の LogicLock 領
域にインクリメンタル・コンパイル用のデザイン・パーティションをそれぞれ配置します。 適
切なデザイン・フロアプランを見つけるには、自動サイズの非固定位置領域を使用することがで
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
ロケーション・アサインメント
12-25
きますが、今後のコンパイルで最良の結果を得るにはサイズと位置を修正します。を達成するた
めに、サイズと配置を修正することができます。
関連情報
• Quartus II Incremental Compilation for Hierarchical and Team-Based Design documentation
• Best Practices for Incremental Compilation and Floorplan Assignments documentation
• Analyzing and Optimizing the Design Floorplan with the Chip Planner documentation
ロケーション・アサインメント
タイミング要件を満たすことに問題のあるパスが少数であれば、配置の最適化にはハード・ロケ
ーション・アサインメントが使用可能です。 ロケーション・アサインメントは Quartus II フィッ
タに対しては LogicLock アサインメントほどの柔軟性を持ちません。 デザインを熟知している
のであれば、より良い結果を生成するようにロケーション・アサインメントを入力することも可
能です。
注: 特に Arria および Stratix シリーズのデバイスのようなより大規模なデバイスにおいてフィッ
ティング結果を改善することは、困難な場合があります。ロケーション・アサインメントに
よって、デザインのパフォーマンスが常に改善されるわけではありません。 多くの場合、ロ
ケーション・アサインメントを作成してもフィッタからの結果を改善することはできませ
ん。
メタスタビリティの解析と最適化手法
メタスタビリティに関する問題は、関係性のないクロック・ドメイン内、あるいは非同期クロッ
ク・ドメイン内の回路との間で信号が転送される場合に発生する可能性があります。なぜなら、
設計者は信号がセットアップおよびホールド時間の要件を満たすことを保証できないためです。
平均故障間隔(MTBF)は、メタスタビリティがデザイン障害を発生させる際、インスタンス間
の平均時間を推定した値です。
デザインが非同期信号を同期し、MTBF を改善するためにデザインを最適化する際、メタスタビ
リティに起因する平均 MTBF の分析に Quartus II ソフトウェアを使用することができます。 こ
のようなメタスタビリティ機能は、TimeQuest アナライザで制約されたデザインおよび限られた
デバイス・ファミリでのみサポートされています。
デザインの MTBF が低い場合には、Quartus II Timing Optimization Advisor の Metastability
Optimization セクションを参照します。このセクションではメタスタビリティに関してデザイ
ンを最適化する際に役立つ様々な推奨設定が確認できます。
この章では、メタスタビリティ解析をイネーブルしデザインでレジスタ同期チェインを識別する
方法を解説し、メタスタビリティ・レポートについての詳細情報ならびにメタスタビリティの管
理に関する追加のガイドラインを提供します。
関連情報
• Understanding Metastability in FPGAs white paper
• Managing Metastability with the Quartus II Software documentation
タイミング収束と最適化
フィードバック
Altera Corporation
12-26
タイミング・クロージャのデザイン評価
QII5V2
2014.12.15
タイミング・クロージャのデザイン評価
デザインでタイミング・エラーが発生した場合は、このセクションのガイドラインに従ってくだ
さい。 このガイドラインでは、デザインのコンパイル結果を評価する方法およびそれに関する
問題に対処する方法を解説します。 このガイドラインではデザインのスピードを向上させる
RTL の再構築についての具体的な例をカバーしていませんが、ここで紹介する解析手法は タイ
ミングを収束するために RTL へ作成が必要となることがある変更を評価する際に役立ちます。
コンパイル結果の確認
メッセージの確認
デザインのコンパイル後、コンパイル・レポートの各セクション内のメッセージを確認します。
タイミング・エラーを起こすデザインは、コンパイル時に警告メッセージとしてレポートされる
問題がエラーの原因である場合がほとんどです。 警告メッセージの原因および、その警告が修
正できるものかを調査します。 警告メッセージを確認した後で、情報メッセージを確認します。
未接続のポート、無視された制約、見つからないファイル、およびソフトウェアが作成した仮定
や最適化といった予測していなかったメッセージに注目します。
フィジカル・シンセシス結果の評価
フィジカル・シンセシスがイネーブルされている場合、ソフトウェアは合成中にレジスタの複製
とリタイミング、および組み合わせロジックの変更が可能です。 コンパイル後、Analysis &
Synthesis セクションの Optimization Results レポートを確認します。 レポートは、レジスタの複
製、リタイミング、および削除などのフィジカル・シンセシスによって実行される最適化の内容
をリストします。 このようなレポートは、Compilation Report パネルで確認できます。
図 12-7: 最適化結果のレポート
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
フィッタ・ネットリスト最適化の評価
12-27
フィジカル・シンセシスがイネーブルされている場合、コンパイル・メッセージには実行された
フィジカル・シンセシス・アルゴリズム、各アルゴリズムが達成したパフォーマンスの改善、お
よび経過時間の要約が含まれます。 レポートされる改善とは、それぞれのタイミング・クリテ
ィカルなクロック・ドメインで達成可能であると予測される最大の改善の合計です。 スラック
改善の値は、コンパイル・アルゴリズムのランダムな出発点のためにコンパイルの間で変動する
ことがありますが、値は類似していなければなりません。図は、メッセージの例を示していま
す。
図 12-8: コンパイル・メッセージ
フィッタ・ネットリスト最適化の評価
フィッタは、デザイン・ネットリストにネットリスト最適化を行うことも可能です。 主な変更
点には、レジスタ・パッキング、ロジック・セルの複製および削除、レジスタのリタイミング、
信号の反転、入力をあるロジック・セルから別のロジック・セルへ移動させるような一般的な方
法によるノードの修正が含まれます。 これらのレポートは、Fitter セクションの Netlist
Optimizations 結果で確認できます。
最適化結果の評価
最適化によって何が変更されたか、そしてパフォーマンスがどう改善されたかを確認した後、向
上したパフォーマンスを得るために費やしたランタイムを評価します。 コンパイル時間を短縮
するために、いくつかのコンパイルのフィジカル・シンセシスとネットリスト最適化を見直し、
フィジカル・シンセシスが実行した変更点を反映するように RTL を編集します。 特定のレジス
タ・セットが一貫してリタイミングされる場合は、同様にレジスタをリタイムするよう RTL を
編集します。 変更点がフィジカル・シンセシス・アルゴリズムが行った内容にマッチするよう
作成されると、フィジカル・シンセシス・オプションは、同じタイプのパフォーマンスの改善を
行っている間、コンパイル時間を節約するためにオフにすることができます。
リソース使用率の評価
グローバルおよび非グローバル信号の使用、ルーティングの利用、およびクラスタリングの複雑
さ、などのデザインに使用される様々なリソースを評価します。
グローバルおよび非グローバル信号の使用
デザインに多くのクロックが含まれている場合、グローバルおよび非グローバル信号を評価しま
す。 グローバル・リソースを効率的に使用されているかどうかを判断し、そうでない場合、変
更を行うことを検討してください。 これらのレポートは、Compilation Report パネル内にある
Fitter 下の Resource Section で確認できます。 図は、グローバル・クロックの非効率的な使用例を
示しています。 ハイライトされている箇所は、グローバル・クロックからのシングル・ファン
アウトです。 これをリージョナル・クロックに割り当てると、他の信号でグローバル・クロッ
クが利用可能になるます。 信号は専用配線を使用し、クロック・バッファは使用しないため、
Global Line Name カラム内の値のない信号は無視しても問題ありません。
タイミング収束と最適化
フィードバック
Altera Corporation
12-28
配線の使用
QII5V2
2014.12.15
図 12-9: グローバル・クロックの非効率的な使用
Non-Global High Fan-Out Signals レポートは、グローバル信号に配線されていない最も高いファ
ンアウト・ノードを表します。 リセット信号とイネーブル信号は、リストの上部に表示されま
す。 デザインに配線の輻輳が存在し、輻輳する領域に高ファンアウトの非グローバル・ノード
がある場合は、ノードのファンアウトにグローバル信号またはリージョナル信号を使用すること
を検討するか、あるいは高ファンアウトのレジスタを複製することで低ファンアウトにします。
Chip Planner を使用し、高ファンアウト・ノードの検索、配線の輻輳のレポートを行い、別の選
択肢が実行可能であるかを判断します。
配線の使用
Fitter Resource Usage Summary レポートで報告された配線の使用状況を確認します。 図はレポ
ートの一例です。
図 12-10: Fitter Resource Usage Summary レポート
Average interconnect usage は、デバイスで利用可能なもののうち、使用されるインタコネクトの
平均使用量をレポートします。 Peak interconnect usage は、最も輻輳した領域で使用されるイン
タコネクトの最大使用量をレポートします。 平均値が 50%未満のデザインは通常、配線に関す
る問題はありません。 平均値が 50~65%のデザインでは、配線が難しいことがあります。 平均
値が 65%を超えるデザインは、過剰に使用されたチップを許容するよう RTL が設計されていな
い限り、通常タイミングを満たすことは困難です。 ピーク値が 90%以上であれば、タイミング
収束は非常に困難となります。100%のピーク値は、デバイスの一領域内ですべての配線が使用
されており、高い確率でタイミング性能が低下します。 以下は、 Report Routing Utilization の
スクリーンショットです。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
ホールドに向けた配線の追加
12-29
図 12-11: Report Routing Utilization のレポート
ホールドに向けた配線の追加
フィッティング・プロセスの一部として、ルータはホールドタイム要件を満たす目的で遅延を増
加させるレジスタ・パス間に配線を追加することができます。 ルーティング・プロセス中、ル
ータは余分なワイヤがホールドタイム要件を満たすためにどれくらい余分な配線が使用された
がをレポートします。。 配線が過剰に追加されているの場合、制約に問題がある可能性がありま
すが、 通常はマルチサイクル転送、特に異なるレート・クロック間および異なるクロック・ネ
ットワーク間での不正確なマルチサイクル転送が原因です。 フィッタは Estimated Delay Added
for Hold Timing レポートに配線遅延がどれくらい追加されたかをレポートします。 特定のレジ
スタ経路は、ホールド要件を満たすために遅延が追加されたかどうかを確認するために再度検討
することができます。
図 12-12: Estimated Delay Added for Hold Timing レポート
タイミング収束と最適化
フィードバック
Altera Corporation
12-30
ホールドに向けた配線の追加
QII5V2
2014.12.15
ホールド要件を満たすためにルータが配線を追加する不正確な制約の一例は、1X クロックから
2X クロックへのデータ転送がある場合です。 例えば、転送ごとに 2 サイクルが可能であること
がデザインの意図であるとすると、 データは、以下の例で示すようにマルチサイクル・セット
アップ制約を追加することで、データは 2 つのデスティネーション・クロックで随時到達するこ
とが可能です。
set_multicycle_path -from 1x -to 2x -setup -end 2
タイミング要件は波形図の黒の破線で示すように、一つの 2X クロック・サイクル分緩和されま
す。
図 12-13: 緩和されたタイミング要件の波形図
しかし、青い破線で示すデフォルトのホールド要件では、データが 1 サイクル分遅延することを
保証するためにルータが配線を追加する原因となることがあります。 ホールド要件を修正する
には、ホールド・オプションでマルチサイクル制約を追加します。
set_multicycle_path -from 1x -to 2x -setup -end 2
set_multicycle_path -from 1x -to 2x -hold -end 1
図中のオレンジ色の破線はホールド関係を表し、データを遅らせるには余分な配線は必要ではあ
りません。
データが同じクロック・ドメイン内で転送される場合、そして異なるバッファリングを使用する
クロック・ブランチ間でも、ルータはホールド・タイム要件を満たすために配線を追加すること
ができます。 クロック・ネットワーク・タイプ間での転送はペリフェラルとコア間での転送よ
り頻繁に発生します。 以下の図は、データがデバイスに入ってくる場合を示しており、ソース・
レジスタのドライブにはペリフェラル・クロックを使用し、デスティネーション・レジスタのド
ライブにはグローバル・クロックを使用しています。 グローバル・クロック・バッファには、
ペリフェラル・クロック・バッファより大きい挿入遅延があります。 デスティネーション・レ
ジスタへのクロック遅延は、ソース・レジスタに比べ非常に大きいため、ホールド要件を確実に
満たすにはデータ・パス上に遅延を追加することが必要です。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
ホールドに向けた配線の追加
12-31
図 12-14: クロック遅延
Fitter may add routing delay to meet hold requirement
Periphery clock buffer with small insertion
delay
Global clock buffer with large insertion delay
パス内にある異なるクロック・ネットワーク・タイプの位置を識別するには、TimeQuest タイミ
ング・アナライザでパスを確認し、ソースおよびデスティネーション・クロック・パス、そして
ノードを確認します。 また、ソース・クロックの周波数とデスティネーション・クロックの周
波数が同じであるか倍数であるかを確認し、パスにマルチサイクル例外があるかも確認します。
クロスドメイン・パスは意図的にフォルス・パスにしてある場合もあるので、このようなパスに
はフォルス・パス制約が適用されていることを確認してください。
実際のホールド時間の問題を修正するために配線が追加されたと思われる場合は、Optimize
hold timing オプションをディセーブルにします。 ホールド時間に成功しないパスをを失敗した
パスを見つけるには、デザインを再コンパイルしタイミング解析を再度実行します。
図 12-15: Optimize Hold Timing オプション
Optimize hold timing オプションのディセーブルはデバッグ段階で実行するので、通常のコンパ
イルでは(デフォルトの)イネーブルにしておきます。 ホールドに向けての配線の追加は、配
線中のタイミング最適化における通常の作業であり、必ずしも問題となるわけではありません。
タイミング収束と最適化
フィードバック
Altera Corporation
12-32
その他のレポートの評価と設定の調整
QII5V2
2014.12.15
その他のレポートの評価と設定の調整
Difficulty Packing Design レポート
Fitter Resource Section の Resource Usage Summary セクションから Difficulty Packing Design レポ
ートを表示します。 Difficulty Packing Design レポートは、デバイス、パーティション、および
LogicLock 領域にデザインが適合するようにフィッタのエフォート・レベル(低、中、高)を詳
しく説明します。 Difficulty Packing Design エフォート・レベルが増すにつれ、タイミング収束
は困難になります。 レベルが中から高になると、パフォーマンスに大幅な低下を引き起こすか、
コンパイル時間が増加する原因となります。 そのような場合は、Packing Difficulty のエフォー
ト・レベルを低減する方法を検討してください。
無視されたアサインメントの確認
Compilation Report には、フィッタによって無視された全アサインメントの詳細が含まれます。
アサインメントは通常、デザイン名の変更後にアサインメントが更新されない場合に無視されま
す。 意図して割り当てているアサインメントが無視されていないことを確認してください。
デフォルト以外の設定の確認
合成およびフィッタからのレポートには、コンパイルで使用されるデフォルト以外の設定も表示
します。 デフォルト以外の設定をチェックし、それらの変更がデザインを向上しているかを確
認します。
フロアプランの確認
配置の確認には Chip Planner を使用してください。 Chip Planner は、階層のエンティティの検索
に使用し、フロアプラン内で配置された各エンティティを色分けします。 予期した箇所からで
はなく、不自然な箇所に配置されているロジックを探します。 例えば、I/O とインタフェースす
るロジックであれば I/O のに近くに配置されており、IP やメモリとインタフェースするロジッ
クであれば IP とメモリ付近に配置されているはずです。 以下の図はエンティティが色分けさ
れたフロアプランの一例です。 このフロアプランでは、緑のブロックが離れて広がっています
が、これらのパスがタイミングに問題があるかどうかを確認します。問題があれば、配置に影響
しているかもしれないモジュールへ何が接続されているかをチェックします。 青および水色の
ブロックは広範囲に広がり混ざり合っています。 この配置の一因となる 2 つのモジュール間で
多くの接続があるかを確認します。 一番下にピンクで色分けされたロジックは、下端の I/O と
インタフェースすることが予想できます。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
配置と配線の評価
12-33
図 12-16: エンティティが色分けされたフロアプラン
以下スクリーンショットのタスク・バーのボタンを使用し、ハイライトされたモジュールのファ
ンインとファンアウトを確認してください。
図 12-17: ファンインおよびファンアウト・ボタン
チップ内の長い信号を探し、このような信号がタイミング・エラーの原因であるかを調べます。
ロジック配置に影響を与える可能性がある信号には、グローバル信号の使用状況を確認してくだ
さい。 グローバル・バッファを供給するロジックは、関連するロジックから引き離してバッフ
ァの近くに配置します。非グローバル・リソースの高ファンアウトはロジックとまとめることが
できます。
配線の過密をチェックします。過度に輻輳したエリアがあるとロジックが広がって配置される
原因となり、このようなデザインは配線することが困難になります。
配置と配線の評価
フィッタ・メッセージでコンパイル時間の各部分の長さを確認します。 ルーティングが配置よ
りもはるかに時間がかかる場合は、タイミングを満たすことが予測よりも困難である可能性があ
ります。
タイミング収束と最適化
フィードバック
Altera Corporation
12-34
配置エフォートの調整
QII5V2
2014.12.15
配置エフォートの調整
配置の質を向上させるために Placement Effort Multiplier を大きくすると、より長いコンパイル
時間はより長くなりますが、デザインによってはこれが良いトレードオフとなる場合がありま
す。この値は、他の設定と RTL を確認し最適化した後で調整するべきです。 4 まで値を増やし、
パフォーマンスやコンパイル時間に改善が見られない場合はデフォルト設定に戻します。
図 12-18: 配置エフォート・マルチプライヤ
フィッタ・エフォートの調整
エフォートを上げるには、Standard Fit (highest effort)オプションをイネーブルします。 デフォル
トの Auto Fit オプションは、タイミング要件は満たされていると推定するとフィッタ・エフォー
トを下げます。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
タイミング制約を確認する
12-35
図 12-19: フィッタ・エフォート
タイミング制約を確認する
正しい周波数要件でクロックが制約されていることを確認します。derive_pll_clocks アサイ
ンメントを使用すれば、生成されたクロックの設定が常に更新されます。SDC 制約の確認には、
TimeQuest が役立ちます。 例えば、タスク・パネルの Diagnostic にある Report Ignored
Constraints レポートは、一般的にはデザイン階層の変更で発生するデザイン内にある誤りのあ
る名称をレポートします。また、Report Unconstrained Paths レポートを使用すれば、制約され
ていないパスの位置が確認できます。このように必要に応じて制約を追加することで、デザイン
を最適化することができます。
タイミング・パスの詳細情報の確認
タイミング・パスの配線の表示
パスへの配線をを表示すると、異常な配線遅延を明らかにすることができます。 TimeQuest の
Tasks パネルを開き、Report panel name オプションをイネーブルし Report Timing を選択します。
次に Show routing オプションをオンにし、パス内の配線ワイヤを表示させます。
図 12-20: Show Routing オプション
タイミング収束と最適化
フィードバック
Altera Corporation
12-36
グローバル・ネットワーク・バッファ
QII5V2
2014.12.15
Extra Fitter Information タブは、パスがハイライトされた簡略版のフロアプランを表示します。
配線の輻輳を確認には Chip Planner でパスを検索することも可能です。またパス内のノードが
互いに近接しているか離れて配置されているかを表示することができます。
グローバル・ネットワーク・バッファ
配線パスはタイミング・エラーを起こすグローバル・ネットワーク・バッファを識別するために
使用することができます。 バッファの位置は、そのバッファが駆動するネットワークに応じて
名前が付けられています。
• CLK_CTRL_Gn—グローバル・ドライバ用
• CLk_CTRL_Rn—リージョナル・ドライバ用
グローバル・ネットワークに接続するバッファは、デバイスの各辺の中央部に位置しています。
グローバル信号ネットワーク上にコア・ロジック信号を配線するバッファリングは、挿入遅延を
発生させます。 グローバル配線と非グローバル配線に対し考慮すべきトレードオフには、ソー
スの位置、挿入遅延、ファンアウト、信号が移動する距離、および信号がローカル配線へ下げら
れた場合に起こり得る輻輳などがあります。
ソースの位置
グローバル・バッファを供給するレジスタを近づけることができない場合は、デザインのロジッ
クまたは配線の種類のいずれかを変更することを検討します。
挿入遅延
グローバル信号が必要な場合、信号を生成し(上の図)、マルチサイクル・セットアップ制約(下
の図)を使用するネガティブ・エッジにトリガされるレジスタを使用して、タイミングに半分の
サイクルを追加することを検討します。
図 12-21: ネガティブ・エッジにトリガされるレジスタ
図 12-22: マルチサイクル・セットアップ制約
set_multicycle_path –from <generating register> -setup –end 2
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
ファンアウト
12-37
ファンアウト
ローカル・ルーティングを使用する非常に高いファンアウトを持つノードは、ソース・ノードの
近くでドライブするロジックをプルする傾向があります。 これにより、他のパスがタイミング・
エラーとなることがあります。 レジスタを複製することで、高ファンアウ・トパスの影響を軽
減することができるので、 このようなレジスタを手動で複製し、保存することを検討します。
MAX_FANOUT アサインメントはファンアウト・ノードを任意のグループに分けますが、設計者は、
これよりも合理的なファンアウト・グループを作成することができます。
グローバル・ネットワーク
信号に自動的に割り当てられたものとは異なるタイプのグローバル信号を使用する場合、そのグ
ローバル信号の使用を制御する Global Signal 制約を信号ごとに使用します。 たとえば、ローカ
ル配線を使用したい場合は、Global Signal アサインメントを OFF に設定します。
図 12-23: Global Signal アサインメント
リセットとグローバル・ネットワーク
リセット信号は多くの場合、グローバル・ネットワーク上に配線されますが、 グローバル・ネ
ットワークの使用はリカバリ・エラーの原因となることがあります。 その場合は、リセットと
信号の配線パスを生成するレジスタの配置を再検討します。
設定が疑わしい場合
設定が疑わしい場合のエラーには、要件が非常に小さい、あるいは非常に大きいパスが含まれて
います。 その典型的な原因のひとつに、計算の精度誤差が挙げられます。 例えば、10Mhz/3 =
周期あたり 33.33ns の場合、 3 サイクルでは、時間は 99.999ns 対 100.000ns となります。 これに
最大遅延を設定すると、適切なセットアップの関係を提供することができます。
別のエラーの原因には、以下のようなデザインの設計意図によりでは false でなければならない
パスがあります。
• FIFO を介して処理される非同期パス
• 複数のマルチプル・クロック・サイクルで利用可能であるデータへのハンドシェイクに依存
する低速の非同期パス
フィッタが制限のあるタイミング要件を不必要に満たすことを防止するには、フォルス・パス・
ステートメントもしくはマルチサイクル・パス・ステートメントを追加することを検討します。
ロジックの深度
TimeQuest のパス・レポートの Statistics タブは、パス内のロジックのレベルを示します。 パス
がタイミング・エラーを起こし、かつロジック・レベルの数が多い場合は、そのデザインの箇所
にパイプラインを追加します。
オートシフト・レジスタの交換
シフト・レジスタまたはレジスタ・チェインは、面積を節約するために合成中に RAM に変換す
ることができます。 しかし、多くの場合、RAM へ変換することにより速度は低下します。 変換
されたレジスタの名称には「altshift_taps」が含まれます。
タイミング収束と最適化
フィードバック
Altera Corporation
12-38
クロッキング・アーキテクチャ
QII5V2
2014.12.15
タイミング・エラーがシフト・レジスタで開始、または完了する場合、 Auto Shift Register
Replacement オプションをディセーブルにします。 ただし、パイプラインの使用を意図している
レジスタは変換すべきではありません。 チェインに変換するシフトレジスタに対して、RAM ま
たはロジック・セルに実装する場合のエリアとスピードのトレードオフを評価します。 デザイ
ンがほぼフルであれば、RAM へ変換することでエリアが節約できるのでクリティカルでないク
ロック・ドメインには有用です。 デフォルト設定の AUTO から OFF にすることで、グローバル
もしくはレジスタ、階層単位で設定の変更が可能です。
クロッキング・アーキテクチャ
Chip Planner 内のクロック領域の境界を確認します。 チップのエリアにあるリージョナル・クロ
ックで駆動されるレジスタを配置する必要があります。
図 12-24: クロック領域
デバイス上部の I/O インタフェースがリージョナル・クロックによって駆動されるロジックに接
続すると、タイミング・エラーが発生する可能性があります。リージョナル・クロックはデバイ
スの 1 つのエリアに存在し、配置の制約は強制的に、一部の I/O からロジックへのパスがエリア
を交差する長いパスにします。
Altera Corporation
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
タイミング収束に関する推奨事項
12-39
ロジックを駆動するには異なるタイプのクロック・ソースを使用します。グローバルはデバイス
全体をカバーし、デュアル・リージョナルはデバイスの半分をカバーします。 あるいは、I/O イ
ンタフェースの頻度を減少させると、長いパスの遅延に対応することができます。 また、リー
ジョナル・クロックのエリアに隣接する特定の I/O すべてを配置するために、デバイスのピン配
置を再度設計することもできます。 レジスタの位置が LogicLock 領域、クロック・リソース、ま
たはハード・ブロック(メモリ、DSP、IP アドレス)などによって制限されている場合、この問
題が発生する可能性があります。 TimeQuest レポートの Extra Fitter Information タブは、配置が
パス内のノードに対し制限されているかを通知します。
タイミング収束に関する推奨事項
TimeQuest アナライザの Report Timing Closure Recommendations タスクはパスを分析し、パスの
特性に基づいた具体的な推奨事項を提供します。
調整と再コンパイルの実行
最小限の労力で修正できる明らかに問題のある部分を探します。 コンパイラがタイミングを満
たすことに問題のあった箇所を特定するには、約 5 つのコンパイルにシード・スィープを実行し
ます。 シード・スィープの実行により、一貫して障害のあるパスが明らかになります。 デザイ
ンのこの箇所を再コーディング、あるいは再設計することを検討してください。
タイミング収束を成功に導くには、よく検討された RTL の方がコンパイルの設定を変更するよ
りも効果的である場合があります。 深刻なタイミング・エラーが存在せず、デザインに性能の
改善に向けての最適化が実行済みで、最終のリリースに近い場合、シード・スィープも有効で
す。 シード・スィープは、コンパイル設定への変更点を評価するためにも使用することができ
ます。 フィッタ・アルゴリズムのランダム性により、コンパイル結果は異なります。 コンパイ
ル設定へ適用した変更が、平均して低いパフォーマンスとなるようであれば、その変更を元に戻
します。
適用した設定や制約によっては、問題が改善されるどころか新たな問題を生む場合があります。
RTL やデザイン・アーキテクチャに大幅な変更が行われた場合は、LogicLock 領域を使用せずに
デフォルト設定で定期的にコンパイルを行い、タイミング・エラーを起こすパスを再評価しま
す。
この段階でのパーティションはタイミングの収束を改善しないことが多く、パーティションは設
計の初期段階で実行しておく必要があります。 パーティションの追加はロジック使用率を増加
させ、それが境界間の最適化を妨げる場合、タイミング収束が困難となり、コンパイル時間の増
加に繋がります。
LogicLock 領域の追加はタイミング収束に役立つ場合がありますが、これは設計の初期段階で実
行しておく必要があります。 デザイン・サイクルの最後で新しい LogicLock 領域を追加すると配
置が制限されることがあり、パフォーマンスの低下を招きます。
スクリプティング・サポート
この章で説明する手順の実行と設定は Tcl スクリプトで行うことができます。 また、一部の手順
はコマンド・プロンプトでも実行できます。 スクリプティング・コマンド・オプションについ
て詳しくは、Quartus II Command-Line および Tcl API Help ブラウザを参照してください。 この
Help ブラウザを使用するには、コマンド・プロンプトで次のコマンドを入力します。
quartus_sh --qhelp
タイミング収束と最適化
フィードバック
Altera Corporation
12-40
QII5V2
2014.12.15
初期コンパイルの設定
このセクションで説明するオプションの多くは、インスタンス・レベル、グローバル・レベル、
あるいはその両方で指定することができます。
グローバル・アサインメントを削除するには、以下の Tcl コマンドを使用します。
set_global_assignment -name <.qsf variable name><value>
インスタンス・アサインメントを作成するには、以下の Tcl コマンドを使用します。
set_instance_assignment -name <.qsf variable name><value> -to <instance name>
注: <value>フィールドに('Standard Fit' などの)スペースが含まれる場合、ストレート・ダブル
クォーテーション・マーク(")で値を囲む必要があります。
関連情報
Tcl Scripting documentation
Quartus II Settings Reference File Manual
Command-Line Scripting documentation
初期コンパイルの設定
Quartus II 設定ファイル(.qsf)の変数名は、適切な値に沿った設定を行うために Tcl アサインメ
ントで使用されます。 Type カラムは、設定がグローバル設定またはインスタンス設定、あるい
はその両方のいずれでサポートされるかを示しています。
最初の表は、.qsf 変数名と Quartus II Handbook の Design Optimization Overview 章にある“Initial
Compilation: Required Settings”セクションに記載された設定に向けた適用可能な値を表していま
す。 次の表は、高度なコンパイル設定を示しています。
表 12-4: 初期コンパイルの設定
設定名
Optimize IOC
Register
Placement For
Timing
.qsf ファイルの変数名
OPTIMIZE_IOC_REGISTER_
PLACEMENT_FOR_TIMING
ホールド・タイ OPTIMIZE_HOLD_TIMING
ミングの最適化
値
タイプ
ON, OFF
グロー
バル
OFF, IO PATHS AND
MINIMUM TPD PATHS,
ALL PATHS
グロー
バル
表 12-5: 高度なコンパイル設定
設定名
.qsf ファイルの変数名
Router
ROUTER_TIMING_OPTIMIZATION_LEVEL
Timing
Optimization
level
Altera Corporation
値
タイプ
NORMAL, MINIMUM, MAXIMUM
グロー
バル
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
リソース使用率の最適化手法(LUT ベースのデバイス)
12-41
リソース使用率の最適化手法(LUT ベースのデバイス)
表は、.qsf ファイルの変数名と Optimizing Timing (LUT-Based Devices)に記載された設定に向け
た適切な値を表しています。
表 12-6: リソース使用率最適化の設定
設定名
Auto Packed
Registers (1)
Perform
WYSIWYG
Primitive
Resynthesis
.qsf ファイルの変数名
AUTO_PACKED_REGISTERS_ <device family name>
ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP
Physical
PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA
Synthesis for
Combinationa
l Logic for
Reducing
Area
Physical
Synthesis for
Mapping
Logic to
Memory
Optimization
Technique
PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR AREA
<device family name> _OPTIMIZATION_TECHNIQUE
Speed
SYNTH_CRITICAL_CLOCK
Optimization
Technique for
Clock
Domains
State Machine STATE_MACHINE_PROCESSING
Encoding
Auto RAM
Replacement
タイミング収束と最適化
フィードバック
AUTO_RAM_RECOGNITION
値
タイプ
OFF, NORMAL,
MINIMIZE AREA,
MINIMIZE AREA WITH
CHAINS, AUTO
グロー
バル、イ
ンスタ
ンス
ON, OFF
グロー
バル、イ
ンスタ
ンス
ON, OFF
グロー
バル、イ
ンスタ
ンス
ON, OFF
グロー
バル、イ
ンスタ
ンス
AREA, SPEED,
BALANCED
インス
タンス
ON, OFF
AUTO, ONE-HOT,
GRAY, JOHNSON,
MINIMAL BITS,
SEQUENTIAL, USERENCODE
ON, OFF
グロー
バル、イ
ンスタ
ンス
グロー
バル、イ
ンスタ
ンス
グロー
バル、イ
ンスタ
ンス
Altera Corporation
12-42
QII5V2
2014.12.15
I/O タイミングの最適化手法(LUT ベースのデバイス)
設定名
Auto ROM
Replacement
Auto Shift
Register
Replacement
Auto Block
Replacement
.qsf ファイルの変数名
値
AUTO_ROM_RECOGNITION
ON, OFF
AUTO_SHIFT_REGISTER_RECOGNITION
ON, OFF
AUTO_DSP_RECOGNITION
ON, OFF
Number of
NUM_PARALLEL_PROCESSORS
Processors for
Parallel
Compilation
タイプ
グロー
バル、イ
ンスタ
ンス
グロー
バル、イ
ンスタ
ンス
グロー
バル、イ
ンスタ
ンス
と 16 を含む整数、 グロー
バル
または ALL
1
テーブルの注意点:
1. この設定への許容値は、選択するデバイス・ファミリにより異なります。
I/O タイミングの最適化手法(LUT ベースのデバイス)
表は、.qsf の変数名と I/O タイミングの最適化設定に向けた適切な値を示しています。
表 12-7: I/O タイミングの最適化手法
設定名
.qsf ファイルの変数名
値
タイプ
OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING
ON, OFF
グロ
ーバ
ル
Fast Input Register
FAST_INPUT_REGISTER
ON, OFF
イン
スタ
ンス
高速出力レジスタ
FAST_OUTPUT_REGISTER
ON, OFF
イン
スタ
ンス
高速出力イネーブル・ FAST_OUTPUT_ENABLE_REGISTER
レジスタ
ON, OFF
イン
スタ
ンス
高速 OCT レジスタ
ON, OFF
イン
スタ
ンス
Optimize IOC Register
Placement For Timing
Altera Corporation
FAST_OCT_REGISTER
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
レジスタ間のタイミング最適化手法(LUT ベースのデバイス)
12-43
レジスタ間のタイミング最適化手法(LUT ベースのデバイス)
表には.qsf ファイル no 変数名と Register-to-Register Timing Optimization Techniques (LUT-Based
Devices)に記載されている設定に向けた適切な値を示しています。
表 12-8: レジスタ間のタイミング最適化に向けた設定
設定名
.qsf ファイルの変数名
値
タイプ
ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP
ON, OFF
グロー
バル、イ
ンスタ
ンス
PHYSICAL_SYNTHESIS_COMBO_LOGIC
ON, OFF
グロー
バル、イ
ンスタ
ンス
ON, OFF
グロー
バル、イ
ンスタ
ンス
ON, OFF
グロー
バル、イ
ンスタ
ンス
Perform Automatic PHYSICAL_SYNTHESIS_ASYNCHRONOUS_
Asynchronous
SIGNAL_PIPELINING
Signal Pipelining
ON, OFF
グロー
バル、イ
ンスタ
ンス
Physical Synthesis
Effort
PHYSICAL_SYNTHESIS_EFFORT
NORMAL, EXTRA, FAST
グロー
バル
SEED
<integer>
グロー
バル
Maximum Fan-Out MAX_FANOUT
<integer>
インス
タンス
Manual Logic
Duplication
<node name>
インス
タンス
Perform
WYSIWYG
Primitive
Resynthesis
Perform Physical
Synthesis for
Combinational
Logic
Perform Register
Duplication
Perform Register
Retiming
Fitter Seed
Optimize Power
during Synthesis
Optimize Power
during Fitting
タイミング収束と最適化
フィードバック
PHYSICAL_SYNTHESIS_REGISTER_
DUPLICATION
PHYSICAL_SYNTHESIS_REGISTER_RETIMING
DUPLICATE_ATOM
OPTIMIZE_POWER_DURING_SYNTHESIS
NORMAL, OFF
EXTRA_EFFORT
グロー
バル
OPTIMIZE_POWER_DURING_FITTING
NORMAL, OFF
EXTRA_EFFORT
グロー
バル
Altera Corporation
12-44
QII5V2
2014.12.15
改訂履歴
改訂履歴
表 12-9: 改訂履歴
日付
バージョン
変更内容
2014.12.15
14.1.0
• コンパイラの設定にフィッタ設定、Analysis & Synthesis の設
定、およびフィジカル・シンセシス最適化からコンパイラ設
定の位置を更新
• DSE II の内容を更新
2014 年 6 月
14.0.0
• DITA へ変換
• QII ソフトウェア v14.0 でサポートされていない、Arria GX、
Arria II、Cyclone III、Stratix II、Stratix III などの古いデバイス
についての内容を削除
• Megafunction の内容を IP コアの内容と交換
2013 年 11 月
13.1.0
• タイミング収束のデザイン評価を追加
• タイミング最適化手法(マクロセル・ベースの CPLD)セク
ションを削除
• マルチコーナー・タイミングの最適化およびフィッタの積極
的なルーティングの最適化を更新
• Report All Summaries コマンドへのアクセス方法を解説する
ため TimeQuest タイミング・アナライザを使用したタイミン
グ解析を更新
• Ignored Assignment Report に関する情報が入手できる Fitter
Summary Reports へのヘルプ・リンクを含めるためタイミング
制約の無視を更新
2013 年 5 月
13.0.0
• 章のタイトルを面積&タイミング収束と最適化に変更
• デザインとエリア/リソース最適化に関する情報を削除
• 以下のセクションを追加
フィッタの積極的なルーティングの最適化
クリティカル・パスのソースとデスティネーションからのパ
スおよびクリティカル・パスのソースとデスティネーション
へのパスを解析する際のヒント
Chip Planner に複数のパスを配置する際のヒント
コンパイル間のクリティカル・パスをモニタする.tcl スクリプ
ト作成のヒント
2012 年 11 月
Altera Corporation
12.1.0
• 「初期コンパイル:フィッタのオプション設定」、
「I/O アサイ
ンメント」、「リソース使用率」、「配線」、「リソース使用率問
題の解決」を更新
タイミング収束と最適化
フィードバック
QII5V2
2014.12.15
改訂履歴
日付
バージョン
12-45
変更内容
2012 年 6 月
12.0.0
• 「マルチコーナー・タイミングの最適化」、
「リソース使用率」、
「リソースの最適化アドバイザの使用」、
「TimeQuest タイミン
グ・アナライザを使用したタイミング解析」、「Resource
Optimization Advisor の使用」、
「Placement Effort Multiplier の向
上」、
「Router Effort Multiplier の向上」、
「TimingQuest Analyzer
によるタイミング・エラーのデバッグ」を更新
• 章全体のマイナーなテキストを編集
2011 年 11 月
11.1.0
• 「タイミング要件の設定」、
「Standard Fit」、
「Fast Fit」、
「マルチ
コーナー・タイミングの最適化」、「TimeQuest タイミング・
アナライザによるタイミング解析」、
「TimingQuest Analyzer に
よるタイミング・エラーのデバッグ」、
「LogicLock アサインメ
ント」、「クロック・ドメインを交差している問題のあるクロ
ック・パスを解析する際のヒント」、「合成中の階層のフラッ
ト化」、
「Fast Input Register、Fast Output Register、および Output
Enable Register」、「階層のアサインメント」を更新
• スパイン・クロックの制限のセクションを追加
• ステート・マシン・エンコーディングの変更を削除
• 章全体のマイナーなテキストを編集
2011 年 5 月
11.0.0
• 「初期コンパイル:フィッタ・オプションの設定」セクション
を再編成
• 「リソース使用率」セクションに新しい情報を追加
• 「ファンアウトを制御するためのロジックの複製」セクション
に新しい情報を追加
• ヘルプへのリンクを追加
• 章全体を編集し更新
2010 年 12 月
10.1.0
• ヘルプへのリンクを追加
• デバイスのサポートを更新
• 「TimeQuest アナライザを使用したタイミングング・エラーの
デバッグ」セクションを追加
• Classic Timing Analyzer への参照を削除
• 章全体を通した他の更新
2010 年 8 月
10.0.1
リンクを修正
タイミング収束と最適化
フィードバック
Altera Corporation
12-46
QII5V2
2014.12.15
改訂履歴
日付
2010 年 7 月
バージョン
10.0.0
変更内容
• コンパイル時間の最適化手法のセクションを新しい Reducing
Compilation Time の章に移動
• タイミング・クロージャ・フロアプランへの参照を削除
• Smart Compilation Setting と Early Timing Estimation のセクシ
ョンを新しい Reducing Compilation Time の章に移動
• その他のリソース使用率最適化のセクションを追加
• 古い情報を削除
• DSE の章への参照をヘルプ・リンクへ変更
• 適切な箇所にヘルプをリンク
• 「参考資料」のセクションを削除
関連情報
Quartus II Handbook Archive
QuartusII ハンドブックの以前のバージョン
Altera Corporation
タイミング収束と最適化
フィードバック
Fly UP