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 IntroductionのNextをクリックします(イン トロダクションを以前にオフにしている場合は表示されません)。
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]で終 わる必要があります。