4. コンパイルおよびシミュレーション
MegaCoreファンクションにパラメータを設定した後、MegaCoreファンクションのバ
リエーションをデザインに組み込み、シミュレーション、およびコンパイルを実行 することができます。 以下の項では、デザインをコンパイルおよびシミュレートする ために実行する必要があるステップを詳しく説明しています。
4–2 第 4 章 : コンパイルおよびシミュレーション デザインのコンパイル
1. TimeQuestタイミング・アナライザの設定
a. Assignmentsメニューで、Timing Analysis Settingsをクリックし、Use TimeQuest Timing Analyzer during compilationを選択して、OKをクリックします。
b. Synopsys Design Constraints(.sdc)ファイル、<variation name>_phy_ddr_timing.sdc をプロジェクトに追加します。Projectメニューで、Add/Remove Files in Project をクリックし、ファイルを参照します。
c. トップレベル・デザインの例、<variation name>_example_top.sdcのための.sdc ファイルをプロジェクトに追加します。 トップレベル・デザインとして例を使 用する場合にのみ、このファイルが必要です。
2. MegaWizard Plug-In Managerによって生成されるI/Oアサインメントを適用するに は、<variation_name>_pin_assignments.tclまたは<variation_name>.ppfファイルのい ずれかを使用できます。 .ppfファイルおよびPin Plannerを使用すると、メモリ・
インタフェース・ピン名にプリフィックスを追加するのに余分な柔軟性が提供さ れます。 Assignment EditorまたはPin Plannerのいずれかにアサインメントを編集す ることができます。 ピンのI/O規格アサインメントを指定するには、以下の手順 の1つを使用します。
■ SDRAMインタフェースが1つで、トップレベル・ラッパ・ファイルの例に示すよ
うにトップ・レベル・ピンにデフォルトの名前が付いている場合は、
<variation name>_pin_assignments.tclを実行します。
または
■ デザインでは一致しないピン名が含まれている場合、スクリプトを実行する前 に、<variation name>_pin_assignments.tclファイルを編集します。 以下のステップ に従います。
a. <variation name>_pin_assignments.tclファイルを開きます。
b. 使用しているフローに基づいて、sopc_mode値をYesまたはNoに設定しま す。
■ SOPC Builderシステム・フロー:
if {![info exists sopc_mode]} {set sopc_mode YES}
■ MegaWizard Plug-In Managerフロー:
if {![info exists sopc_mode]} {set sopc_mode NO}
c. 希望したプリフィックスをpin_prefix変数に入力します。例えば、プリ フィックスmy_memを追加するには、以下の手順を実行します。
if {![info exists set_prefix}{set pin_prefix “my_mem_”}
プリフィックスを設定した後、以下に示されているようにピン名が拡張され ます。
■ SOPC Builderシステム・フロー:
my_mem_cs_n_from_the_<your instance name>
■ MegaWizard Plug-In Managerフロー: my_mem_cs_n[0]
第 4 章 : コンパイルおよびシミュレーション 4–3 デザインのコンパイル
1 トップレベル・デザインはシングル・ビット・メモリ・インタフェース信 号(例えば、mem_dqs[0]ではなくmem_dqs)に対してシングル・ビッ ト・バス表記を使用しない場合、Tclスクリプトでのset single_bit {[0]}をset single_bit {}に変更する必要があります。
または
■ あるいは、デザインと一致しないピン名を変更するには、以下の方法によりピン 名にプリフィックスを付加できます。
a. Assignmentsメニューで、Pin Plannerをクリックします。
b. EditメニューのCreate/Import Megafunctionをクリックします。
c. Import an existing custom megafunctionを選択し、<variation name>.ppfにアクセ スします。
d. 使用したいプリフィックスをInstance nameに入力します。例えば、
mem_addr をcore1_mem_addrに変更します。
3. トップレベル・デザインに、トップレベル・エンティティを設定します。
a. FileメニューのOpenをクリックします。
b. MegaWizard Plug-In Managerを使用する場合、SOPC Builderシステム・トップレ ベル・デザインまたは<variation name>_example_topに移動して、Openをク リックします。
c. ProjectメニューのSet as top-level entityをクリックします。
4. DQおよびDQSピン位置を割り当てます。
a. デザインのピンにピン位置を割り当てる必要があるため、Quartus IIソフト ウェアはフィッティングおよびタイミング解析を正しく実行できます。
b. Pin PlannerまたはAssignment Editorのいずれかを使用して、クロック・ソー ス・ピンを手動で割り当てます。 さらに、各DQSピンを必要なピンに割り当 て、使用する必要があるDQSピン・グループを選択します。次にQuartus II
Fitterは、対応するDQ信号を各グループ内の適切なDQピンに自動的に配置し
ます。
1 デザインをコンパイルするとき、[no-fit]エラーを回避するために、
mem_clkピンをmem_dqおよびmem_dqsピンと同じエッジに配置するよう に確認し、かつデザインにピンを割り当てる際、クロック・ソースおよび リセット入力などの非メモリ・インタフェースに適切なI/O規格を設定し ます。 例えば、DDR SDRAMとDDR2 SDRAMの場合、それぞれ2.5 Vおよび
1.8 Vを選択します。 また、Quartus IIソフトウェアでピンを配置したいデバ
イスのバンクまたはサイドを選択します。
5. Stratix IIIまたはStratix IVデザイン用に、高度なI/Oタイミングを使用する場合、
Device & Pin Optionsダイアログ・ボックス内でボード・トレース・モデルを指定
します。 あるいは、他のデバイスを使用し、高度なI/Oタイミングを使用しない
場合、すべてのメモリ・インタフェース・ピンに出力ピンの負荷を設定します。
6. 必要なI/Oドライブ強度(シミュレーションから得られたもの)を選択して、各 信号またはODT設定が正しくドライブされ、オーバシュートやアンダシュートが 生じないようにします。
4–4 第 4 章 : コンパイルおよびシミュレーション