• 検索結果がありません。

デザイン例のコンパイル

5. 転送遅延(ピコ秒のタイムステップ)を使用し、sgate_ver、lpm_ver、

altera_mf_ver、および<device name>_verライブラリをインクルー ドするようにシミュレータをコンフィギュレーションします。

Verilog HDLゲート・レベル・シミュレーション

ゲート・レベル・モデルを使用してVerilog HDLシミュレーションを実 行する場合は、以下のステップに従います。

1. <project directory>\testbenchディレクトリにディレクトリを作成し ます。

2. このディレクトリ内でシミュレーション・ツールを起動し、以下の ライブラリを作成します。

<device name>_ver

auk_ddr_user_lib

3. 表2–5のファイルを適切なライブラリにコンパイルします。

4. Tcl 変数 gRTL_DELAYS を 0 に設定します。これは追加挿入遅延が ゲート・レベル・モデル内で適用されるため、この遅延をシステム で使用しないようテストベンチに指示するものです。転送遅延(ピ コ秒のタイムステップ)を使用し、<device name>_verライブラリを インクルードするようにシミュレータをコンフィギュレーションし ます。

PLLの編集

IP Toolbench で生成するデザイン例には PLL が含まれています。この PLLは、入力と出力のクロック比が1:1で、IP Toolbenchで入力したク ロック周波数で設定されています。また、IP Toolbenchは、デザインの すべての関連クロック出力の位相オフセットもすべて正しく設定しま す。PLL入力クロックを編集して、システム要件に適合させることがで きます。Automatically generate the PLLをオフにしてIP Toolbenchを 再実行すれば、このPLLは上書きされません。編集内容も失われません。

Use fed-back clock をオンにすると、IP Toolbench は第 2 の

PLL、つまりフィードバックPLLを生成します。フィードバッ

クPLLを編集する必要はありません。

PLLのクロック入力周波数を変更する場合は、

<project name>_tb.vhdまたは.vファイルの

REF_CLOCK_TICK_IN_PSパラメータを変更する必要がありま す。

PLLについて詳しくは、3–15ページの「PLLコンフィギュレーション」

を参照してください。

サンプルPLLを編集するには、以下のステップに従います。

1. MegaWizard Plug-In Manager(Toolsメニュー)を選択します。

2. Edit an existing custom megafunction variationを選択し、Next をクリックします。

3. Quartus IIプロジェクト・ディレクトリで、VHDLの場合は ddr_pll_<device name>.vhdを選択し、Verilog HDLの場合は ddr_pll_<device name>.vを選択します。

4. Nextをクリックします。

5. altpll MegaWizard Plug-InでPLLパラメータを編集します。

altpllメガファンションについて詳しくは、Quartus IIヘルプを参照す るか、またはaltpll MegaWizard Plug-InのDocumentationをクリッ クしてください。

タイミング解析のコンパイルと実行

バリエーションの生成後、またはバリエーションの編集および再生成後 にプロジェクトをコンパイルすると、auto_add_ddr_constraints.tclスク リプトは、デザイン内のコントローラの各インスタンスに固有の制約ス クリプトを自動的に呼び出します。各制約スクリプトは、以下の手順を 実行します。

コントローラのこのインスタンスに固有のremove_constraints.tclス クリプトがあるかどうかを調べ、ある場合はそのスクリプトを実行 して以前の制約セットを削除します。

デザインを解析し、綿密に調整して正確な階層を検出し、新しい制 約セットを追加します。

新しい一致するremove_constraints.tclスクリプトを作成します。こ のスクリプトは、必要に応じてデザインから制約を削除するときに 使用できます。

このスクリプトによって新しい制約が正常に追加された場合、

次のコンパイル時にスクリプトは実行されません。

制約スクリプトを実行しないようにするには、ウィザードで

Automatically run add constraints script をオフにします。手動でスク リプトの実行を防止するには、Quartus II Tcl Consoleウィンドウを開き、

以下のコマンドを入力します。

set_global_assignment -name PRE_FLOW_SCRIPT_FILE -remove

制約スクリプトはデザインを解析し、綿密に調整して、ユーザのバリエー ションに自動的に階層を抽出します。制約スクリプトでデザインの解析 や 綿 密 な 調 整 を 行 わ な い よ う に す る に は、ウ ィ ザ ー ド のEnable

hierarchy controlをオンにし、データパスに正しい階層パスを入力しま

す(2–32ページのステップ24を参照)。

9 デザインをコンパイルするには、Start Compilation(Processingメ ニュー)を選択します。これによって、制約追加スクリプトが実行 され、デザイン例がコンパイルされて、タイミング解析が実行され ます。

コンパイルが周波数要件に達しない場合は、以下のステップに従います。

1. Settings(Assignmentsメニュー)を選択します。

2. カテゴリ・リストでAnalysis and Synthesis Settingsを選択しま

4. OKをクリックします。

5. Start Compilation(Processingメニュー)を選択してデザイン例 を再コンパイルします。

より 高い 周波 数を 達成 する には、Insert extra pipeline registers in the datapathオプションをオンにします(2–24 ページのステップ5を参照)。

コンパイルが完了すると、auto_verify_ddr_timing.tclスクリプトは、デ ザイン内のコントローラの各インスタンスのタイミング検証スクリプト を自動的に呼び出します。コンパイル後のタイミング解析の結果が、

Quartus II processing messagesタブに表示され、それがプロジェクト・

ディレクトリの<variation name>_post_summary.txtファイルに書き込ま れます。

タイミング検証スクリプトを実行しないようにするには、ウィザードで Automatically run verify timing scriptをオフにします。手動でスクリ プトの実行を防止するには、Quartus II Tcl Consoleウィンドウを開き、

以下のコマンドを入力します。

set_global_assignment -name POST_FLOW_SCRIPT_FILE -remove

この結果は、各種タイミング要求それぞれにどれだけのスラック(負の スラックはタイミングを満たしていないことを意味する)があるかを示 しています。Messages ウィンドウには、デザインの各種タイミング・

マージンが表示されます(図2-31を参照)。

図2-31. タイミング検証

タイミング検証スクリプトが、デザインがタイミングを満たしているこ とをレポートする場合、DDRまたはDDR2 SDRAMコントローラは正 常に生成されて実装されています。

タイ ミン グが 要件 に達 して いな い場合 は、IP Toolbench の Manual

Timings タブで再同期およびポストアンブル・クロック位相を調整しま

す(A–1ページの「手動タイミング設定」を参照)。

Quartus II Assignment Editorに制約を表示するには、Assignment Editor

(Assignmentsメニュー)を選択します。

Quartus II Assignment Editorに“?”文字が表示されている場合、

Quartus II ソフトウェアは、制約を適用すべきエンティティを

検出できていません。これは階層の不一致が原因として考えら れます。制約スクリプトを編集するか、またはHierarchyタブ で正しい階層パスを入力します(2–32ページのステップ24を 参照)。

制約について詳しくは、3–22ページの「制約」を参照してください。

デバイスのプログラム

デザイン例をコンパイルした後は、ゲート・レベル・シミュレーション を実行したり(2–42 ページの「デザイン例のシミュレーション」を参 照)、ターゲットのアルテラ・デバイスをプログラムしてハードウェアで デザイン例を検証することができます。

アルテラの無償のOpenCore Plus評価機能では、ライセンスを購入する 前に、DDRまたはDDR2 SDRAMコントローラMegaCoreファンクショ ンを評価できます。OpenCore Plus 評価を使用すると、IP 機能シミュ レーション・モデルを生成し、期限付きプログラミング・ファイルを生 成できます。

DDRまたはDDR2 SDRAMコントローラMegaCoreファンクションを 使用したOpenCore Plusハードウェア評価について詳しくは、1–4ペー ジの「OpenCore Plus 評価機能」、3–4 ページの「OpenCore Plus タイ ム・ア ウ ト 動 作」、お よ び「Application Note 320: OpenCore Plus Evaluation of Megafunctions」を参照してください。