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

DDR & DDR2 SDRAM コントローラの実習

SOPC Builder を使用しない場合、この実習ではアルテラ DDR および

DDR2 SDRAMコントローラIP ToolbenchおよびQuartus IIソフトウェ アを使用して、DDRまたはDDR2 SDRAMコントローラMegaCoreファ ンクションのカスタム・バリエーションを作成する方法について説明し ます。ウィザードでの操作に沿って、各ステップについて詳しく説明し ます。

HardCopy IIデバイスの使用方法について詳しくは、付録C、HardCopy II デザインの実習を参照してください。

この実習では、以下のステップを実行します。

2–19ページの「新規Quartus IIプロジェクトの作成」

2–20ページの「MegaWizard Plug-In ManagerからのIP Toolbench の起動」

2–22ページの「Step 1: Parameterize」

2–35ページの「Step 2: Constraints」

2–37ページの「Step 3: Set Up Simulation」

2–38ページの「Step 4: Generate」

新規Quartus IIプロジェクトの作成

New Project Wizardを使用して、Quartus IIプロジェクトを新規作成す る必要があります。このウィザードでは、プロジェクトの作業ディレク トリを指定し、プロジェクト名を割り当てて、トップレベル・デザイン・

エンティティを指定します。新規プロジェクトを作成するには、以下の ステップに従います。

1. Windowsスタート・メニューからプログラム> Altera > Quartus II

<バージョン>を選択して、Quartus IIソフトウェアを起動します。

Quartus II Web Editionソフトウェアも同様に使用できます。

2. New Project Wizard(Fileメニュー)を選択します。

3. New Project Wizard IntroductionNextをクリックします(イン トロダクションを以前にオフにしている場合は表示されません)。

4. New Project Wizard: Directory, Name, Top-Level Entityページで、

以下の情報を入力します。

a. プロジェクトの作業ディレクトリを指定します。例えば、この 実習ではc:\altera\temp\ddr_projectディレクトリを使用しま す。

b. プロジェクトの名前を指定します。この実習では、プロジェク ト名にprojectを使用します。

Quartus IIソフトウェアは、プロジェクトと同じ名前のトッ プレベル・デザイン・エンティティが自動的に指定されま す。これを変更しないでください。

5. Nextをクリックしてこのページを閉じ、New Project Wizard: Add

Filesページを表示します。

指定したディレクトリが存在しない場合は、そのディレク トリを作成するかどうかを確認するメッセージが表示され ます。Yesをクリックして、ディレクトリを作成します。

6. LinuxおよびSolarisオペレーティング・システムの場合は、New Project Wizard: Add Filesページで以下のステップを実行してユー ザ・ライブラリを追加します。

a. User Library Pathnamesをクリックします。

b. Library nameボックスに<path>\ddr_ddr2_sdram-v3.4.1\

lib\を入力します(<path>はDDRおよびDDR2 SDRAMコント ローラ・をインストールしたディレクトリ)。

c. Addをクリックして、Quartus IIプロジェクトのパスを追加し ます。

d. OKをクリックして、プロジェクトにライブラリのパスを保存 します。

7. Nextをクリックしてこのページを閉じ、New Project Wizard: Family

& Device Settingsページを表示します。

8. New Project Wizard: Family & Device Settings ページで、Family リ ス ト か らタ ー ゲ ッ ト・デ バ イ ス・フ ァ ミ リと し て、Cyclone、

Cyclone II、HardCopy II、Stratix、Stratix GX、Stratix II、ま た は Stratix II GXデバイスを選択します。Do you want to assign a specific

device?と表示されたら、Yesを選択します。

Do you want to assign a specific device?では必ずYesを 選択して、特定のデバイスを選択してください。No を選 択すると、IP Toolbenchが正しく機能しなくなります。

DDR2 SDRAMコントローラは、Cyclone II、HardCopy II、

Stratix II GX、およびStratix IIデバイスのみをサポートし ます。

特定のアルテラ開発ボードをターゲットにする場合は、適切 なターゲット・デバイスとメモリ・タイプを選択します。

9. Available Devicesリストでターゲット・デバイスを選択します。

10. New Project Wizardの残りのページはオプションです。Finishをク リックして、Quartus IIプロジェクトを完了します。

新しいQuartus IIプロジェクトの作成が終了しました。

MegaWizard Plug-In ManagerからのIP Toolbenchの起動

Quartus II ソフトウェアのウィザードを起動するには、以下のステップ

に従います。

1. MegaWizard Plug-In Manager コマンド(Tools メニュー)を選択 して、MegaWizard® Plug-In Managerを起動します。MegaWizard

Plug-In Managerダイアログ・ボックスが表示されます。

MegaWizard Plug-In Managerの使用方法について詳しく

3. Interfaces > Memory Controllersディレクトリを展開し、DDR SDRAMController v3.4.1またはDDR2 SDRAM Controller v3.4.1 をクリックします。

4. デザインの出力ファイル・タイプを選択します。ウィザードでは VHDLとVerilog HDLをサポートしています。

5. MegaWizard Plug-In Managerに、New Project Wizardで指定した プロジェクト・パスが表示されます。MegaCoreファンクション出 力ファイル<project path>\<variation name>のバリエーション名を追 加します。2–21ページの図2-13に、これらの設定を行った後のウィ ザードを示します。

<variation name> の名前は、プロジェクト名およびトップ レベル・デザイン・エンティティ名と異なっていなければ なりません。

図2-13. MegaCoreファンクションの選択

6. Nextをクリックして、IP Toolbenchを起動します。

Step 1: Parameterize

MegaCore ファンクションをパラメータ化するには、以下のステップに

従います。

パラメータについて詳しくは、3–40ページの「パラメータ」を参照して ください。

1. IP ToolbenchのStep 1: Parameterizeをクリックします(図2-14を 参照)。

図2-14. IP Toolbench—Parameterize

2. Presetsリストで、特定のメモリ・デバイス、アルテラ開発ボード、

またはCustomを選択します(2–23ページの図2-15を参照)。

\constraintsディレクトリ内のmemory_types.datファイ ルを編集すると、このリストに独自のメモリ・デバイスを 追加できます。

図2-15. メモリ・パラメータ

3. Clock SpeedをMHzで入力します。例えば、200.0を入力します。

制約スクリプト、タイミング解析、およびデータパスは、このクロッ ク速度を使用します。使用する値に設定する必要があります。DDR SDRAMコントローラIP Toolbenchを初めて使用する場合、または Automatically generate the PLL をオンにしている場合、この値は IP Toolbenchで生成したPLLの入力および出力クロックに使用され ます(2–49ページの「PLLの編集」を参照)。

4. メモリ・パラメータを選択します(図2-15を参照)。

a. メモリ・インタフェース・パラメータを選択します。

b. メモリ・プロパティを選択します。

c. Registered DIMMまたはUnbuffered memoryを選択します。

バッファなしのモジュールまたはデバイスを使用する場合 は、Unbuffered memoryを選択します。

メモリ・パラメータについて詳しくは、3–41ページの「メモリ」を参照 してください。

5. Controllerタブをクリックします(2–25ページの図2-16を参照)。

コントローラ・パラメータについて詳しくは、3–42 ページの「コント ローラ」を参照してください。

図2-16. コントローラ・パラメータ

6. NativeまたはAvalonローカル・インタフェースを選択します。

Avalonインタフェースを使用すると、他のAvalonペリフェラルに 容易に接続できます。

Avalon インタフェースについて詳しくは、「Avalon Bus Specification Reference Manual」を参照してください。

7. 関連するクロッキング・オプションをオンにします。

8. メモリ初期化オプションを選択します。

9. メモリ・コントローラ・オプションを選択します。

10. 関連するDLL基準クロック・オプションをオンにします。

11. Controller Timingsタブをクリックします(図2-17を参照)。

コントローラのタイミングについて詳しくは、3–45 ページの「コント ローラのタイミング」を参照してください。

図2-17. コントローラのタイミング

12. コントローラのタイミングがメモリのデータシートで規定される要 件を満たすように、Required カラムにメモリ・タイミング・パラ メータを入力します。ウィザードは、必要なコマンド間での適切な クロック・サイクル数を選択し、Actualカラムで遅延を計算します。

クロック・サイクル数を手動で入力するには、Manually choose clock cyclesをオンにし、Cyclesカラムに値を入力 します。

13. Memory Timingsタブをクリックします(2–28ページの図2-18を 参照)。

メモリ・タイミングについて詳しくは、3–47ページの「メモリ・タイミ ング」を参照してください。

図2-18. Memory Timings

14. Customメモリ・デバイスを選択した場合、選択したメモリのデー

タシートからデバイス設定を入力します。そうでない場合は、選択 したメモリ・タイプのデバイス設定が自動的に入力されます。

15. Board Timingsタブをクリックします(図2-19を参照)。

図2-19. Board Timings

16. FPGA ピンのピン負荷を入力する場合は、Manual pin load control をオンにします。

値はタイミングに影響するため、ピン負荷に最適な値を入 力する必要があります。不適切な値を入力すると、タイミ ング解析が不正確になることがあります。

17. ボード・トレース遅延を入力します。これらの遅延は、タイミング 解析でデータパスのコンフィギュレーションに使用されます。

ボード・トレース遅延を正確に設定しないと、システムが ハードウェア上で正しく動作しません。

18. パラメータ化画面(図2-20を参照)でShow Timing Estimatesを クリックすると、システムのタイミング解析の結果をいつでも表示 できます。

図2-20. タイミングの表示

19. Project Settingsタブをクリックします(図2-21を参照)。

プロジェクト設定について詳しくは、3–49ページの「プロジェクトの設 定」を参照してください。

図2-21. Project Settings

20. メモリ(+)をドライブするクロックのピン名を入力します。メモリ (–)をドライブするクロックのピン名を入力します。フィードバッ ク・クロック入力の名前はIP Toolbenchによって自動的に提案され ますが、必要に応じて編集できます(2–31ページの図2-21を参照)。

ピン名は、複数のクロック・ペアがある場合でも[0]で終 わる必要があります。