...

TimeQuestタイミング・アナライザ: FPGA設計におけるSDCの

by user

on
Category: Documents
772

views

Report

Comments

Transcript

TimeQuestタイミング・アナライザ: FPGA設計におけるSDCの
White Paper
TimeQuest タイミング・アナライザ : FPGA 設計における SDC の
ネイティブ・サポート
はじめに
フィールド・プログラマブル・ゲート・アレイ(FPGA)市場は、過去数年で大きく変化しました。シリコン・プロ
セス・テクノロジの進歩により、FPGA の集積度と速度が増加の一途を辿っています。その結果、通常では ASIC や
ASSP のターゲットとなる多くの高性能商用アプリケーションを、問題なく効率的かつ経済的に FPGA に実装できる
ようになりました。目標性能を達成するために、FPGA デザイン・エンジニアは(クロック多重化デザイン手法によ
る)新しいクロッキング要求条件を採用し、従来の FPGA タイミング解析では解析が困難なデザイン・インタフェー
ス(ソース・シンクロナス・クロック)を実装しました。
このホワイトペーパーでは、タイミング解析の実行とタイミング・クロージャの達成を迅速かつ効率的に行うために、
FPGA デザイン・ソフトウェアが満足する必要がある新しい要件について説明します。
(このホワイトペーパーの目
的で、タイミング解析およびスタティック・タイミング解析は同じスタティック・ツールで実行される同じタスクで
す。簡潔にするために、ここでは単にタイミング解析と呼びます)。生産性要求事項には、業界標準のタイミング解析
手法の採用が含まれており、このホワイトペーパーでは、業界標準の SDC(Synopsys Design Constraints)フォー
マットのいくつかの実用的なアプリケーションを示します。また、生産性はタイミング解析エンジンを配置配線エン
ジンと統合すると向上します。アルテラではこれらの要件を使用して、SDC をネイティブ・サポートする新しい ASIC
強化スタティック・タイミング解析ツール、Quartus® II TimeQuest タイミング・アナライザを開発および導入して
います。このホワイトペーパーの最後の部分で、タイミング・アナライザの主な特長について簡単に説明します。
SDC のネイティブ・サポートとタイミング・エンジンの統合により、タイミング解析の効率が
向上
スタティック・タイミング解析は、デザインのタイミング性能を解析、デバッグ、および検証するための手段です。
スタティック・タイミング解析は機能検証(一般にシミュレーションまたはプロトタイプ作成)と併用されて、正し
いデザイン動作を検証します。合成または配置配線(フィジカル・シンセシスを含むことが可能)の実行後、エンジ
ニアはタイミング解析を実行して、タイミング違反が発生しないかどうかを調べます。
SDC フォーマットは、デザインの動作を期待するタイミング制約の記述に使用される業界標準規格です。ASIC から
FPGA に移行する商用アプリケーションが増加するのに伴って、ますます多くの ASIC デザイン・エンジニアが、
FPGA ベースのデザイン・ソフトウェアおよびテクノロジを使用して、新しいチップや納品物を開発しています。こ
れらのエンジニアはすでに、SDC ベースのタイミング解析手法を熟知しています。通常、これらの制約はすでに、
FPGA をターゲットとするデザインに再実装されている多くのブロックで使用できるため、同じタイミング制約を再
利用することで生産性が明らかに向上します。
手動変換または自動変換に係わらず、SDC からターゲットとなるFPGA
ベースのデザイン・ソフトウェア・タイミング解析ツールがサポートする制約フォーマットへの変換プロセスに関す
るエラーを回避することによって、さらに多くの時間を節約できます。
SDC ベースのタイミング解析のもう 1 つの重要な側面として、制約はツール・コマンド言語(Tcl)を使用して記述
され、Tcl 構文規則に従うことが挙げられます。そのため、SDC ベースのタイミング解析はスクリプトの記述に適し
ており、設計者はタイミング関連タスクを自動化することができます。これは、アルテラの HardCopy® II デバイス・
ファミリなどのストラクチャード ASIC デバイスを設計するときに、SDC ベースのタイミング解析が好まれる理由の
1 つです。また、ソース・シンクロナス・インタフェース(DDR、DDR2 など)やクロック多重化デザイン構造を含
むデザインの複雑なタイミング制約は、SDC フォーマットを使用すると容易に表現できます。
これらの総合的な利点により、Quartus II デザイン・ソフトウェア・ユーザの生産性が向上し、これによって得られ
る生産性の利点は、回路図入力から Verilog や VHDL などのハードウェア記述言語に移行したときに得られた利点に
匹敵します。SDC フォーマットに人気が集まる理由の 1 つは、このフォーマットが直観的で習得しやすいことです。
図 1 に、これらの制約の基本的な例を示します。
WP-TMQST-1.0/JP
2006 年 5 月 ver 1.0
1
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
DATA_IN
d q
Board Delay
FPGA
d q
DATA_OUT
CLK_IN
Altera Corporation
pll|INCLK[0]
1.0ns**
tSU
PLL
Destination
Device
pll|CLK[1] (PLLCLK)
Time A*
SYSCLK
Time B*
T=5.0ns
**
Board Delay 0.200
+ tSU
0.800
___________________
Output Delay 1.000
*Time A = Time B
create_clock -name SYSCLK -period 5.000 [get_ports CLK_IN]
create_generated_clock -name PLLCLK \
-source [get_pins pll|INCLK[0]] \
[get_pins pll|CLK[1]]
# The next line assumes zero skew (e.g., Time_A == Time_B)
set_output_delay -clock SYSCLK 1.000 [get_ports DATA_OUT]
図 1. SDC タイミング解析アプリケーション : シンクロナス・インタフェース
この FPGA デザインの出力レジスタにクロック信号を提供するために PLL(Phase-Locked Loop)を使用しています。
PLL の入力はクロック信号 SYSCLK です。ボード・レイアウトの考慮事項は、FPGA の出力が外部デバイスに到達す
るのに 0.2 ns かかることを示しています。図 1 に示すように、FPGA の出力が外部デバイスのクロック・ポートを基
準にして外部デバイスに到達するのに 1 ns かかることを示しています(この時間には、ボード遅延と µtsu も含まれ
ます)
。この「データ到達時間」を満足すれば、正しいタイミング動作が保証されます。
これらのタイミング制約は、最初にクロック定義自体を記述することによって表現できます。これは、SDC コマンド
create_clock:
create_clock -name SYSCLK -period 5.000 [get_ports CLK_IN] で実行できます。
次に、設計者は PLL の出力も入力ポート CLK_IN のクロックから生成されるクロックであることを指定する必要があ
ります。
create_generated_clock -name PLLCLK \
-source [get_ports CLK_IN] \
[get_pins pll|CLK[1]]
SYSCLK を基準にした、出力ポート DATA_OUT と外部デバイス間の遅延は、set_output_delay コマンドを使用して表現
されます。
set_output_delay -clock SYSCLK 1.000 [get_ports DATA_OUT]
2
Altera Corporation
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
この例では、2 つのデバイス間にクロック・スキューがないと仮定しています。図 1 では、クロック・スキューは、
「time A」(外部クロック・ソースから CLK_IN ポートに到達する時間)と「time B」(同じ外部クロック・ソースか
ら外部デバイスに到達する時間)間の差です。低周波数で動作するデザインの場合、わずかなスキューは問題ありま
せん。しかし、スキューは、同期デザインが高周波数で動作するのを妨げる主な制限要因の 1 つです。また、スキュー
は周波数に係わらずホールド・チェックでも重要です。
「time A」と「time B」を同じにすること、つまりデータ信
号とクロック信号間のスキューをなくすことは、高周波数で実際に達成するのは非常に困難で、高いコストを伴いま
す。
シンクロナス・インタフェースの周波数制限を克服するために、設計者は「ソース・シンクロナス」インタフェース・
アーキテクチャの採用を始めています。これらのインタフェースでは、データ信号とクロック信号の両方がホスト・
デバイスでソースされます。クロック信号とデータ信号が共に送信されるので、これらの信号はボード上では同様の
物理的影響を受けやすくなります。これによってスキューに関連する問題を事実上排除し、その結果、より高速なイ
ンタフェース速度を達成します。
図 2 は、以前に説明した PLL の例を拡張したものです。この場合、PLL の出力(PLLCLK)も外部デバイス用のク
ロックをソースするために使用されます。このケースでの出力遅延要件は 2.3 ns です。
DATA_IN
CLK_IN
FPGA
d q
DATA_OUT
d q
0.8ns*
pll|INCLK[0]
CLK_OUT
PLL
Destination
Device
pll|CLK[1] (PLLCLK)
SYSCLK
T=5.0ns
**
Board Delay (Data)
0.200
0.800
+ tSU
-Board Delay (Clock) 0.200
___________________
0.800
create_clock -name SYSCLK -period 5.000 [get_ports CLK_IN]
create_generated_clock -name PLLCLK \
-source [get_ports CLK_IN] \
[get_pins pll|CLK[1]]
set_output_delay -clock PLLCLK \
-reference_pin [get_ports CLK_OUT]
0.800 \
[get_ports DATA_OUT]
図 2. SDC タイミング解析アプリケーション : ソース・シンクロナス・インタフェース
これまでの説明と同様に、SDC コマンド create_clock でクロックを定義し、PLL の出力が生成されたクロックで
あることを指定します。
create_generated_clock -name PLLCLK \
-source [get_ports CLK_IN] \
[get_pins pll|CLK[1]]
3
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
Altera Corporation
SDC では、デバイスの別のピンまたはポートをリファレンスとして使用して、信号の出力遅延を指定することができ
ます。この場合、タイミング・アナライザは、SYSCLK から CLK_OUT へのクロック・パス遅延を自動的に考慮します。
set_output_delay -clock PLLCLK \
-reference_pin [get_ports CLK_OUT]
2.300 \
[get_ports DATA_OUT]
この例は、ASIC 強化 FPGA タイミング・アナライザに対する SDC ネイティブ・サポートの重要性を示しています。
SDC のサポートは、高性能 FGPA ベース・デザインのタイミング解析を実行する際にエンジニアが必要とする洗練
されたすべての制約コントロールを提供します。表 1 に、Quartus II ソフトウェアのバージョン 6.0 の TimeQuest タ
イミング・アナライザがサポートする SDC 構造を示します。
表 1. Quartus II SDC のネイティブ・サポート
タイプ
SDC コマンド
all_clocks
コレクション
all_inputs
all_keepers (1)
all_outputs
all_registers
get_cells
get_clocks
get_keepers (1)
get_nets
get_nodes (1)
get_pins
get_ports
get_registers (1)
クロック
create_clock
create_generated_clock
derive_clocks
derive_pll_clocks (1)
set_clock_groups
set_clock_latency
set_clock_uncertainty
制約
set_input_delay
set_output_delay
例外
set_false_path
set_max_delay
set_min_delay
set_multicycle_path
注:
(1) これらの SDC コマンドは、TimeQuest タイミング・アナライザ固有の拡張機能です。
他にもタイミング解析ツールの重要な要件は、スタティック・タイミング解析を配置配線エンジンと効果的に統合し
て、最高の結果品質(QoR)を達成することがあります。この要件は、配置配線エンジンとタイミング解析エンジン
を統合すれば満足されます。この統合の主な利点は、デザインのクリティカル・パスの診断とデバッグが容易になる
という大きな利点があります。統合によって内部ノードを「観察可能」な状態に維持できるため、デザイン・エンジ
4
Altera Corporation
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
ニアは特定のノードを元のタイミング制約にまで容易に遡らせることができます。統合されていないと、通常は元の
ネットリストと配置配線エンジンが生成したネットリスト間でノード名の不一致が発生します。
TimeQuest タイミング・アナライザ
Quartus II 6.0 リリースでは、アルテラは複雑なクロッキング方式およびソース・シンクロナス・インタフェースを作
成する FPGA 設計者や、SDC フォーマットにすでに精通している ASIC 設計者を対象にした新しいタイミング・アナ
ライザを導入しています。Quartus II デザイン・ソフトウェアのユーザは、上記の例を TimeQuest タイミング・アナ
ライザを使用して容易に解析できます。
TimeQuest タイミング・アナライザは、高速オン・デマンドおよびインタラクティブ・レポート・インタフェースを
備えています。これにより、設計者はクリティカル・パスを素早く解析し、より詳細なタイミング解析を必要な場合
にのみ要求できるため、時間を節約できます。TimeQuest タイミング・アナライザの高速オン・デマンド・レポート
機能は、タイミング解析結果を直観的でわかりやすいグラフィック形式で示す強力なグラフィカル・ユーザ・インタ
フェース(GUI)によって補完され、設計者の生産性はさらに向上します。高度な知識があれば、Tcl インタフェー
スを通じてすべての TimeQuest 機能に無制限にアクセスできます。
TimeQuest GUI は、タイミング制約の指定を支援します。図 3 は、設計者が TimeQuest タイミング・アナライザを
使用してクロック定義を作成する方法を示しています。同様のインタフェースを使用して、入力遅延や出力遅延など
の他のタイミング制約や、偽のパスやマルチサイクル・パスなどの例外制約を指定します。
図 3. TimeQuest タイミング・アナライザの Create Clock ダイアログ・ウィンドウ
このダイアログ・ウィンドウでは、Quartus II ユーザは SDC フォーマットを使用して制約を記述できます。SDC の
ネイティブ・サポートにより、TimeQuest ユーザは強力な業界標準タイミング解析手法を採用し、SDC および Tcl
ベースのスクリプトを使用(および再利用)して、より高い生産性を達成できます。SDC を熟知した設計者は、タイ
ミング制約コマンドや例外コマンドを制約ファイル(*.sdc)に直接入力できます。これらの設計者の場合、TimeQuest
タイミング・アナライザは強力な Tcl インタフェースもサポートしています(図 4 を参照)
。このインタフェースを使
用すると、タイミング解析の反復処理を自動化することができ、特に ASIC デザインを FPGA に移植するときに便利
です。
5
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
Altera Corporation
図 4. TimeQuest タイミング・アナライザの Tcl インタフェース
タイミング制約を指定した後、設計者は詳細なタイミング解析を実行します。TimeQuest GUI にはタスク・ペイン
(図 5)があり、ネットリストのセットアップや、タイミング・レポートの生成など、一般に実行されるタスクに簡単
にアクセスできます。タスク・ペインには、タイミング・サイン・オフの前に完了するプロセスを示すワークフロー
が表示されます。スタティック・タイミング解析が初めてのエンジニアにはこのペインが役に立ち、高度な知識があ
るユーザは、このペインから TimeQuest 解析およびレポート機能に素早く簡単にアクセスできるので便利です。
図 5. TimeQuest タイミング・アナライザのタスク・ペイン
6
Altera Corporation
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
TimeQuest タイミング・アナライザは、非常に高速なインタラクティブ・レポート機能を備えています。スラック・
レポートの表示中に、障害があるクロック・ドメインの詳細情報を要求できます。図 6 に、この問い合わせの結果を
示します。
TimeQuest View Pane では、設計者は選択したパスに関するすべての詳細情報にアクセスできます。円グラフは、レ
ポートされたタイミングが論理(セル)遅延またはインタコネクト(ic)遅延のいずれを理由としているかをわかり
やすく示します。次に、FPGA 設計者は、インタコネクト遅延をさらに最適化するか、再コンパイル前にデザイン /
アーキテクチャの変更を実行するか(高セル遅延の場合)を判断します。
図 6. TimeQuest タイミング・アナライザの高速インタラクティブ・レポート機能
タイミング・アナライザで解析したノードまたはパスは、統合フロアプランでクロス・プローブできます。したがっ
て、ロジック・ブロック間のインタコネクト密度を調べることによって、潜在的に配線の輻輳がないかどうかを解析
できます。
まとめ
プロセス・テクノロジの進歩により、従来は ASIC でしか対応できなかった幅広いアプリケーションで FPGA を採用
できるようになりました。市場の要求を満たし、目標の性能を達成するために、FPGA デザイン・エンジニアは新し
いデザイン・スタイルと複雑なクロッキング方式(10 Mbps、100 Mbps、およびギガビット・イーサネット・アプリ
ケーションでのクロック多重化など)を採用しています。また、FPGA デザイン・エンジニアは、従来の FPGA タイ
ミング解析では解析が困難なソース・シンクロナス・クロック・インタフェース(DDR および DDR2 インタフェー
スにあるものなど)もデザインに埋め込んでいます。手法の観点では、業界標準の SDC フォーマットを使用してデザ
インの制約を指定できるため、設計者の生産性が向上します。テクノロジの観点では、タイミング解析エンジンは配
置配線エンジンに統合する必要があります。また、タイミング解析エンジンは強力な GUI を備えており、クリティカ
ル・パス・データに素早くアクセスして高速かつ信頼性の高いタイミング・クロージャを確実に達成できます。
これらの要件が、業界標準の SDC フォーマットをネイティブ・サポートする新しい ASIC 強化タイミング・アナライ
ザである TimeQuest タイミング・アナライザの定義と開発の原動力になりました。このタイミング・アナライザは、
Quartus II ソフトウェアのサブスクリプション・エディションのバージョン 6.0 から提供されています。TimeQuest
7
TimeQuest タイミング・アナライザ : FPGA 設計における SDC のネイティブ・サポート
Altera Corporation
タイミング・アナライザを使用すると、設計者はハイエンド FPGA ベース・デザインの高度なタイミング検証を実行
して、迅速かつ効率的にタイミング・クロージャに到達し、それを維持できます。
詳細情報について
■
■
アルテラの TimeQuest タイミング解析ソリューション :
www.altera.co.jp/TimeQuest
タイミング解析手法について詳しくは、以下のウェブサイトの「Quartus II ハンドブック Volume 3」の 6 章およ
び 7 章を参照してください。
http://www.altera.co.jp/literature/quartus2/lit-qts-verification.jsp
101 Innovation Drive
San Jose, CA 95134
(408) 544-7000
http://www.altera.com
8
Copyright © 2006 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific
device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the
trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of
their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights,
and copyrights. 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 Corporation. 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.
Fly UP