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

デザイン例のシミュレーション

IP Toolbenchが生成するIP機能シミュレーション・モデルを使用して、

auto_verify_ddr_timing_constraints.tcl バリエーション固有のタイミング検証スクリプト を呼び出す、自動タイミング検証スクリプトです。

constraints_out.txt 制約付加スクリプトの生成時に IP Toolbenchが生

成するログ・ファイルです。

ddr_lib_path.tcl Tclライブラリ・パス・ファイルです。

ddr_pll_fb_stratixii.vhdまたは.v Stratix IIフィードバックPLLのデザイン・ファイ ルです。

ddr_pll_<device name>.vhdまたは.v システムPLLのデザイン・ファイルです。

generic_ddr_dimm_model.vhd VHDLシミュレーション・ファイルです。

generic_ddr_sdram.vhd VHDLシミュレーション・ファイルです。

generic_ddr2_sdram.vhd VHDLシミュレーション・ファイルです。

remove_constraints_for_<variation name>.tcl バリエーション用の制約削除スクリプトです。

top_ddr_settings.txt カスタム・バリエーションのパラメータを格納する

重要な設定ファイルです。IP Toolbench は、この ファイルを使用して制約付加スクリプトを生成し ます。このファイルは、タイミング検証スクリプト とDDR Timing Wizardでも読み出されます。

top_pre_compile_ddr_timing_summary.txt コンパイル前のシステム・タイミング解析の結果を 格納するログ・ファイルです。

verify_timing_for_<variation name>.tcl タイミング検証スクリプトです。

表2–1の注:

(1) <project name>は、Quartus IIプロジェクトのトップレベル・エンティティの名前です。

(2) <variation name>は、バリエーション名です。

表2–1.生成されるファイル (3/3) (1) & (2)

ファイル名 説明

テストベンチについて詳しくは、3–20ページの「デザイン例」を参照し てください。

IP 機能シミュレーション・モデルは、アルテラがサポートする任意の VHDLまたはVerilog HDLシミュレータで使用できます。ModelSimシ ミュレータの操作方法は、他のシミュレータとは異なります。

ModelSimシミュレータによるシミュレーション

ModelSim®シミュレータを使用して、デザイン例をシミュレートするに

は、以下のステップに従います。

1. 選択したパラメータと一致するメモリ・モデルを取得し、それを

<directory name>\testbench ディレクトリに保存します。例えば、

Micronメモリ・モデルは、Micron ウェブサイト(www.micron.com)

からダウンロードできます。

2. VHDLの場合、generic_ddr_sdram.vhdを編集して、メモリ・モデ ルをインスタンス化します(ファイルにはすでに3つのMicronメ モリ・モデルのインスタンス例が含まれている)。

または

Verilog HDLの場合、テストベンチでのメモリのインスタンス化を

編集してメモリ・モデルを一致させます。

3. ModelSimアルテラ・シミュレータを起動します。

4. 作業ディレクトリをIP Toolbenchが生成したファイル・ディレクト リ<directory name>\testbench\modelsimに変更します。

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

set memory_model <model_name>

ここで、<model_name>は、ダウンロードしたメモリ・モデルのファ イル名です。

6. IP機能シミュレーション・モデルを使用してシミュレートするには、

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

source <variation name>_ddr_sdram_vsim.tcl

7. ゲート・レベル・タイミング・シミュレーション(Quartus II ソフ トウェアからのVHDLまたはVerilog HDL ModelSim出力)の場 合、以下のコマンドを入力します。

set use_gate_model 1

source <variation name>_ddr_sdram_vsim.tcl

他のシミュレータによるシミュレーション

IP Toolbenchが生成するTclスクリプトは、ModelSimシミュレータ専 用です。別のシミュレーション・ツールを使用する場合は、以下のステッ プに従います。生成されたスクリプトをガイドとして使用することもで きます。また、適切なメモリ・モデルをダウンロードしてコンパイルす ることも必要です。

ここでは、以下の変数を適用します。

<QUARTUS ROOTDIR>は、Quartus IIインストール・ディレ クトリです。

<simulator name>は、シミュレーション・ツールの名前です。

<device name>は、アルテラのデバイス・ファミリ名です。

<project name>は、Quartus IIトップレベル・エンティティまた はモジュールの名前です。

<testbench name>は、テス トベン チ・エンテ ィテ ィまた はモ ジュールの名前です。

<MegaCore install directory>は、DDRおよびDDR2 SDRAMコン トローラ・インストール・ディレクトリです。

VHDL IP機能シミュレーション

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

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

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

altera_mf

lpm

sgate

<device name>

altera

auk_ddr_user_lib

3. 表2–2のファイルを適切なライブラリにコンパイルします。これら のファイルはVHDL93フォーマットです。

4. Tcl 変数 gRTL_DELAYS を 1 に設定します。これは、テストベンチ にRTLシミュレーションに必要なシステム内での追加遅延をモデル 化するよう指示します。

5. タイムステップをピコ秒に設定して、シミュレータにテストベンチ をロードします。

表2–2.コンパイルするファイル—VHDL IP機能シミュレーション・モデル

ライブラリ ファイル名

altera_mf <QUARTUS ROOTDIR>/eda/sim_lib/altera_mf_components.vhd

<QUARTUS ROOTDIR>/eda/sim_lib/altera_mf.vhd lpm <QUARTUS ROOTDIR>/eda/sim_lib/220pack.vhd

<QUARTUS ROOTDIR>/eda/sim_lib/220model.vhd sgate <QUARTUS ROOTDIR>/eda/sim_lib/sgate_pack.vhd

<QUARTUS ROOTDIR>/eda/sim_lib/sgate.vhd

<device name> <QUARTUS ROOTDIR>/eda/sim_lib/<device name>_atoms.vhd

<QUARTUS ROOTDIR>/eda/sim_lib/<device name>_components.vhd altera <QUARTUS ROOTDIR>/libraries/vhdl/altera/altera_europa_support_lib.vhd auk_ddr_user_lib <MegaCore install directory>/lib/auk_ddr_tb_functions.vhd

<project directory>/<variation name>_auk_ddr_dqs_group.vhd

<project directory>/<variation name>_auk_ddr_clk_gen.vhd

<project directory>/<variation name>_auk_ddr_datapath.vhd

<project directory>/<variation name>_auk_ddr_datapath_pack.vhd

<project directory>/<v>.vho

<MegaCore install directory>/lib/example_lfsr8.vhd

<project directory>/<variation name>_example_driver.vhd

<project directory>/ddr_pll_<device name>.vhd

<project directory>/ddr_pll_fb_<device name>.vhd (1)

<project directory>/<variation name>_auk_ddr_dll.vhd (2)

<project directory>/<project name>.vhd

<project directory>/testbench/<testbench name>.vhd 表2–2の注:

(1) フィードバック・クロック・モードのみ。

(2) Stratixシリーズのみ。

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

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

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

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

<device name>

altera

auk_ddr_user_lib

3. 表2–3のファイルを適切なライブラリにコンパイルします。これら のファイルはVHDL93フォーマットです。

4. Tcl 変数 gRTL_DELAYS を 0 に設定します。これは追加挿入遅延が ゲート・レベル・モデル内で適用されるため、この遅延をシステム で使用しないようテストベンチに指示するものです。

5. タイムステップをピコ秒に設定して、シミュレータにテストベンチ をロードします。

Verilog HDL IP機能シミュレーション 表2–3.コンパイルするファイル—VHDLゲート・レベル・シミュレーション

ライブラリ ファイル名

<device name> <QUARTUS ROOTDIR>/eda/sim_lib/<device name>_atoms.vhd

<QUARTUS ROOTDIR>/eda/sim_lib/<device name>_components.vhd altera <QUARTUS ROOTDIR>/libraries/vhdl/altera/altera_europa_support_lib.vhd auk_ddr_user_lib <MegaCore install directory>/lib/auk_ddr_tb_functions.vhd

<project directory>/simulation/<simulator name>/<project name>.vho (1)

<project directory>/testbench/<testbench name>.vhd 表2–3の注:

(1) 低速または高速モデルをシミュレートする場合は、.vho ファイルにサフィックス _min または _max が追 加されます。適切なファイルをコンパイルします。Quartus IIソフトウェアは、<project name>ディレク トリのsimulation/<simulator name>ディレクトリに定義されたシミュレータ用のモデルを作成します。

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

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

altera_mf_ver

lpm_ver

sgate_ver

<device name>_ver

auk_ddr_user_lib

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

4. Tcl変数gRTL_DELAYSを1に設定します。これは、テストベンチ にRTLシミュレーションに必要なシステム内での追加遅延をモデ ル化するよう指示します。

表2–4.コンパイルするファイル—Verilog HDL IP機能シミュレーション・モデル

ライブラリ ファイル名

altera_mf_ver <QUARTUS ROOTDIR>/eda/sim_lib/altera_mf.v lpm_ver <QUARTUS ROOTDIR>/eda/sim_lib/220model.v sgate_ver <QUARTUS ROOTDIR>/eda/sim_lib/sgate.v

<device name>_ver <QUARTUS ROOTDIR>/eda/sim_lib/<device name>_atoms.v auk_ddr_user_lib <project directory>/<variation name>_auk_ddr_dqs_group.v

<project directory>/<variation name>_auk_ddr_clk_gen.v

<project directory>/<variation name>_auk_ddr_datapath.v

<project directory>/<variation name>.vo

<MegaCore install directory>/lib/example_lfsr8.v

<project directory>/<variation name>_example_driver.v

<project directory>/ddr_pll_<device name>.v

<project directory>/ddr_pll_fb_<device name>.v (1)

<project directory>/<variation name>_auk_ddr_dll.v (2)

<project directory>/<project name>.v

<project directory>/testbench/<testbench name>.v 表2–4の注:

(1) フィードバック・クロック・モードのみ。

(2) Stratixシリーズのみ。

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ライブラリを インクルードするようにシミュレータをコンフィギュレーションし ます。