SOPC Builderから Qsysへの移行のガイドライン AN 632

SOPC Builder から Qsys への移行の
ガイドライン
この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用ください。設計の際
には、最新の英語版で内容をご確認ください。
アプリケーション・ノート
AN-632-2.0
このアプリケーション・ノートでは、SOPC Builder から Qsys にデザインを移行する
ためのガイドラインと問題について説明します。
Qsys で SOPC Builder システムを開く
Quartus II ソフトウェアで Qsys を起動するには、以下の手順を実行します。
1. Tools メニューの Qsys をクリックします。
2. File メニューの Open をクリックして SOPC Builder ファイル (.sopc)を開きます。
既存の .sopc ファイルを開くと、Qsys は、プロジェクト・ディレクトリ内の
SOPC Builder ファイルをクリーン・アップするように求められます。このオプ
ションは、プロジェクト・ディレクトリ内のバックアップ・サブフォルダに、
SOPC Builder で生成されたファイルを移動しますが、SOPC Builder で生成された
HDL ファイルは移動しません。アルテラは、古いファイルをバックアップするた
めに、このオプションを有効にすることを推奨しています。
SOPC Builder から Qsys への変換
Qsys 内で SOPC Builder システムを開くときに、Qsys システムに互換させるためにい
くつかの SOPC Builder コンポーネントが変換されます。この項では、これらの変換に
ついて説明します。
Avalon-MM ブリッジ
Qsys は異なるセットの Avalon® Memory-Mapped (Avalon-MM)パイプラインおよび
Avalon-MM クロック・クロッシング・ブリッジを提供します。現在のシステムがどち
らかのブリッジのタイプを使用している場合、Qsys は自動的に新しいブリッジに更
新します。各ブリッジのパラメータ設定は、SOPC Builder と Qsys の間で異なってい
るが、Qsys は新しいブリッジにすべてのブリッジ・パラメータを移行します。
f Qsys Avalon-MM ブリッジについて詳しくは、「Quartus II ハンドブック」の「Qsys
Interconnect」の章を参照してください。
カスタム命令
Qsys は Nios® II カスタム命令を変換します。変換に続いて、カスタム命令は、System
Contents タブに表示されます。変換後に未接続のカスタム命令がある場合、次の手順
を実行します。
1. 未接続のカスタム命令とそれに関連する相互接続コンポーネントを削除します。
101 Innovation Drive
San Jose, CA 95134
www.altera.com
2011 年 5 月
© 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS,
QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries.
All other trademarks and service marks are the property of their respective holders as described at
www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in
accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time
without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or
service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest
version of device specifications before relying on any published information and before placing orders for products or services.
Altera Corporation
Subscribe
Qsys コンポーネントのサポート
2
2. 手動でコンポーネント・ライブラリからカスタム命令を追加し、それらに対応す
るカスタム命令のマスタに接続します。
割り込みベクタ・カスタム命令およびエンディアン・コンバータ・カスタム命令
は Qsys から削除されています。これらのカスタム命令を使用するデザインを生
成することができます。しかし、Component Library でそれらを配置することはで
きません。ユーザーのデザインでそれらを必要とする場合は、これらのカスタム
命令を削除しないでください。
または、ベクタ割り込みコントローラ(VIC)と割り込みベクタの機能を置き換える
ことができます。
f ベクタ割り込みコントローラ(VIC)について詳しくは、「Embedded Peripherals IP
User Guide」および「AN 595: ベクトル割り込みコントローラの使用およびアプリケー
ション」の Vectored Interrupt Controller Core の章を参照してください。
トライステート・コンポーネント
オフ・チップ・トライステート・コンポーネントにインタフェースするために、
Qsys は新しいトライステート・コントローラの手法を提供しており、Avalon-MM ト
ライステート・ブリッジが使用できなくなります。Qsys 内で、トライステート・イ
ンタフェースは、Avalon トライステート・コンジット・インタフェースを介してア
クセスされます。実装は、次の 3 つのコンポーネントがあります。
■
汎用トライステート・コントローラ
■
トライステート・コンジット・ピン共有機
■
トライステート・コンジット・ブリッジ
f Qsys のトライステート・コンポーネントについて詳しくは、「Avalon Tri-State Conduit
Components User Guide」を参照してください。
Qsys システムの保存
Qsys で SOPC Builder システムを開いた後、別のファイル名を使用してシステムを保
存することによって名前を変更することができます。ModelSim シミュレータのコン
パイル中にエラーが発生する可能性があるので、デバイス名(例えば
cycloneiii_system.sopc)を使用して、システムの名前を起動しないでください。
Qsys コンポーネントのサポート
Qsys では、コンポーネントがサポートされていないという警告が表示されることが
あります。システムからサポートされていないコンポーネントを削除し、同様のコ
ンポーネントに置き換えることができます。
ユーザー・カスタム・コンポーネント
Qsys は hw.tcl 形式で、Tcl ベースのカスタム・コンポーネントのみをサポートしてい
ます。Qsys は SOPC Builder バージョン 7.1 以前で、ペリフェラル・テンプレート・
ファイル(.ptf)ベースの構築されたコンポーネントと Component Editor をサポート
しません。.ptf ベースのコンポーネントがある場合、Qsys にデザインを移行する前
に、SOPC Builder での Tcl の形式に変換する必要があります。
SOPC Builder から Qsys への移行のガイドライン
2011 年 5 月
Altera Corporation
Qsys モジュールおよびインスタンス名の変更
3
f 詳細は、「Updating Your Component with SOPC Builder Component Editor Version 7.2 and
Later」を参照してください。
ALTMEMPHY 付きの DDR/DDR2/DDR3 SDRAM コントローラ
Stratix III、Stratix IV、および Stratix V のデザインでは、ユーザーのデザインに
ALTMEMPHY 付きの DDR/DDR2/DDR3 SDRAM コントローラを使用することはできませ
ん。UniPHY 付きの DDR2/DDR3 SDRAM コントローラを使用するためにデザインを
アップグレードする必要があります。
f 詳細は、External Memory Interface Handbook の 「UniPHY Design Tutorials」のセクション
を参照してください。
PLL(Phase-Locked Loop)
レガシー SOPC Builder の PLL(Phase-Locked Loop)コンポーネントに対して locked お
よび pdfena のステータス信号は、Qsys デザインのトップ・レベルにエクスポートさ
れません。このコンポーネントを使用するデザインがある場合、Avalon ALTPLL (事
前の Stratix V のデバイス用)または Altera PLL (Stratix V と新しいデバイス用)に
アップグレードする必要があります。
Nios II プロセッサ CPUID
Qsys では、Nios II プロセッサ CPUID の値は自動的に割り当てされません。パラメー
タ化インタフェースで Advanced Features の cpuid control register value フィールドに
入力することによって、システム内のプロセッサーごとに手動で CPUID を割り当て
る必要があります。
システム ID ペリフェラル
システム ID ペリフェラルを使用する移行したシステムでは、ソフトウェアの C マク
ロ名は __ALTERA_AVALON_SYSID から __ALTERA_AVALON_SYSID_QSYS に変化されてい
ました。このマクロ名を使用するすべてのソフトウェア・コードを更新する必要が
あります。この名の変更は、FPGA に Nios II のコードをダウンロードするには影響し
ません。
Qsys モジュールおよびインスタンス名の変更
Qsys では、コンポーネントに割り当てる名前は、HDL のインスタンス名です。また、
Qsys はプレフィックスの階層パス名が含まれているモジュール名を割り当てます。
例えば、パラレル I / O コンポーネントを追加して、pio_0 システムに my_system とし
て追加する場合、インスタンス名は pio_0 になり、Qsys によって割り当てられたモ
ジュール名は my_system_pio_0 になります。
2011 年 5 月
Altera Corporation
SOPC Builder から Qsys への移行のガイドライン
Avalon インタフェースおよびインターコネクト
4
新しい名前でアップデートされることを保証するためにモジュール名とインスタン
ス名に依存する任意のファイルまたはアサインメントを確認する必要があります。
表 1 は、影響を受けるファイルの例を示します。
表 1. インスタンス名の変更によって影響を受けるファイルの例
ファイル・タイプ
SDC(Synopsys Design
Constraints)タイミング
制約
例
タイミング・パス制約のインスタンス名を参照する場合、
新しいインスタンス名にタイミング制約を更新する必要が
あります。
Avalon インタフェースおよびインターコネクト
移行時に Avalon インタフェースの注意すべき検討事項がいくつかあります。
推奨されていない Avalon-MM のフロー・コントロール信号
Avalon-MM のフロー・コントロール信号は推奨されていません。Qsys は
dataavailable およびreadyfordataに点検不可能な役割を報告することがあります。
カスタム・コンポーネントは Avalon-MM のフロー・コントロール信号を使用する場
合、コンポーネントのインタフェースを再設計する必要があります。非ストリーミ
ング・データ用の Avalon-MM インタフェースを使用している間に、ストリーミング・
データを処理するためにコンポーネントへの Avalon ストリーミング(Avalon-ST)イ
ンタフェースを追加することを検討します。コンポーネントに信号が不要な場合は、
これらの信号の警告を無視することができます。
推奨されていない Avalon-MM のフラッシュ信号
Qsys は、マスタ・コンポーネントでフラッシュ信号をサポートしません。解決する
には、フラッシュ信号に頼っている全てのマスタは、リード要求をモニタして、フ
ラッシュが必要なときリード要求の発行を停止し、全てのペンディング中のリード・
データを無視して戻ります。全てのデータが戻ったとき、フラッシュを完了し、マ
スタは再び処理の通知を開始できます。
Avalon-MM ウェイト要求信号
Avalon-MM マスタ・コンポーネントは、トランザクションを開始する前にウェイト要
求信号がディアサートされるまでに設定されている場合、トランザクションがデッ
ド・ロック状態になることがあります。ウェイト要求信号の状態の独立したトラン
ザクションを開始するために、コンポーネントを設定する必要があります。
Avalon-MM バースト転送およびアービトレーション・シェア
SOPC Builder で、アービトレーション・シェアは、バースト対応マスタには影響を与
えません。SOPC Builder で、バースト・カウントはそのことが問題に基づいてアービ
タを得るマスタのアクセスを付与されます。
SOPC Builder から Qsys への移行のガイドライン
2011 年 5 月
Altera Corporation
プロジェクトの設定
5
Qsys では、アービタが各バーストのマスタに付与しているバースト・トランザク
ションの数を制御するためにアービトレーション・シェアを設定することができま
す。例えば、アービトレーション・シェアは 4 およびマスタのバースト・カウント
は 8 の場合、マスタはスレーブで 4 つのバースト転送が付与されます。中断なしの
バースト・アクセスの場合にのみ当てはまります。バースト・マスタがアイドル状
態になった場合、アービタのアクセスは、マスタに割り当てられたすべてのアービ
トレーション・シェアのためにロックされていません。
プロジェクトの設定
この項では、Qsys 内の Project Settings タブでシステム・レベル・パラメータについ
て説明します。
デバイス・ファミリ
Qsys 内のデバイス・ファミリのパラメータは、SOPC Builder の場合と同じです。
クロック・クロッシング・アダプタ・タイプ
デフォルトでは、Qsys は Handshake にクロック・クロッシング・アダプタ・タイプ
を設定します。これは、SOPC Builder のクロック・クロッシングと同じタイプのアダ
プタです。FIFO にクロック・クロッシング・アダプタを変更し、または転送の種類
に応じて、Handshake と FIFO の間で Auto selection を選択することができます。
インターコネクトのパイプライン・ステージの制限
移行したシステムの場合、システム・インターコネクト・ファブリックをパイプラ
インしない SOPC Builder のレイテンシを一致させるために、Qsys はインターコネク
トのパイプライン・ステージをゼロに設定します。新しいシステムのデフォルト設
定は 1 で、SOPC Builder と異なります。
ポスト・システム生成
このセクションでは、移行したシステムに関するポスト・システム生成の変更の注
意点について説明します。
IP バリエーション (.qip) ファイル
Qsys は自動的に Quartus II プロジェクトにソース・ファイルを追加しません。Qsys
は、Quartus II プロジェクトに追加する必要がある IP バリエーション・ファイル
(.qip)を生成します。
Quartus II プロジェクトの Qsys システムのインスタンス化
Qsys が可能な場合に SOPC Builder から移行されたシステムに対して同じポート名を
維持します。しかし、ALTMEMPHY 付きの DDR/DDR2/DDR3 SDRAM のコントローラの
ために、Qsys でのシステムを生成されたときに global_reset_n のポート名を移行さ
れません。例えば、コントローラのインスタンス名が altmemddr_0 であると、
global_reset_n のポート名は altmemddr_0_reset_n になります。この変更に応じて
トップ・レベルのインスタンス化の名前を変更する必要があります。
2011 年 5 月
Altera Corporation
SOPC Builder から Qsys への移行のガイドライン
改訂履歴
6
ブロック・シンボルによって Qsys システムをインスタンス化する場合、既存のブ
ロック・シンボルを右クリックして、Update Symbol or Block をクリックします。
Qsys システム・シンボル周囲のポート・レイアウトは SOPC Builder で生成されたシ
ンボルとは異なるため、シンボルへの接続を再配置する必要があります。
Qsys で生成されたブロック・シンボルにピンを接続する場合、ブロックを右クリッ
クして、Generate Pins for Symbol Ports を選択します。Quartus II のコンパイル・エ
ラーが発生するため、ブロック・シンボルにピンを手動で接続しないでください。
リセット入力ポート
システムのトップ・レベル・ファイルは Qsys システムのクロック・入力ごとに複数
のリセットが含まれている場合があります。デザイン内のすべてのリセット入力
ポートを単一のリセット・ソースに接続できます。すべてのリセット・インタ
フェースと共に接続することにより、単一のグローバル・リセット信号を作成する
には、System メニューで、Create Global Reset Network をクリックします。
改訂履歴
表 2 に、このアプリケーション・ノートの改訂履歴を示します。
表 2. 改訂履歴
日付
バー
ジョン
変更内容
2011 年 5 月
2.0
初版。
2010 年 12 月
1.0
初期のベータ・リリース。
SOPC Builder から Qsys への移行のガイドライン
2011 年 5 月
Altera Corporation