HPS コンポーネントのインスタンス化

27. HPS コンポーネントのインスタンス化
November 2012
cv_54027-1.1
cv_54027-1.1
ハード・プロセッサ・システム(HPS)コンポーネントを Qsys でインスタンス化し
ます。HPS は、Embedded Processors 内のコンポーネント・ライブラリで使用可能で
す。この章では、HPS コンポーネントを追加または編集するときに開く HPS コン
ポーネント・パラメータ・エディタで使用可能なパラメータについて説明します。
f HPS は特別なデバイス・ターゲットを必要とします。サポートされているデバイスに
ついて詳しくは、Cyclone® V Device Datasheet を参照してください。
f Qsys の使用に関する一般的な情報について詳しくは、Quartus® II ハンドブック
Volume 1 の Creating a System with Qsys の章を参照してください。
FPGA インタフェースのコンフィギュレーション
この項では、FPGA Interfaces タブのパラメータについて説明します。
f インタフェースに関する一般的な情報について詳しくは、Cyclone V デバイス Volume 3
の HPS Component Interfaces の章を参照してください。
© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or 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.
ISO
9001:2008
Registered
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Subscribe
27‒2
第 27 章: HPS コンポーネントのインスタンス化
FPGA インタフェースのコンフィギュレーション
汎用インタフェース
この項では、FPGA Interfaces タブの General グループのパラメータについて説明しま
す。イネーブル時、表 27–1 のインタフェースが HPS コンポーネントで確認できるよ
うになります。
表 27‒1. 汎用パラメータ
パラメータ名
パラメータの説明
インタフェース名
以下の機能を実行するインタフェー
スをイネーブルします。
■
Enable MPU standby and event signals
■
Enable MPU general purpose signals
Enable FPGA-to-HPS Interrupts
Enable Debug APB interface
マイクロプロセッサ・ユニット
(MPU)がスタンバイ・モードに
なっていることを FPGA ファブ
リックに通知します。
h2f_mpu_events
WFE(イベント待ち)状態から
MPCore プロセッサをウェイク
アップします。
SoC デバイスの HPS 部分の FPGA
ファブリックおよび FPGA マネー
ジャの間の一組の 32 ビット単方向 h2f_mpu_gp
汎用インタフェースをイネーブルし
ます。
(HPS の)MPU に対する FPGA 割り
込み信号用のインタフェースをイ
ネーブルします。
f2h_irq0
f2h_irq1
FPGA に対するデバッグ・インタ
h2f_debug_apb
フェースをイネーブルして、HPS 内 h2f_debug_apb_sideband
のデバッグ・コンポーネントへのア
h2f_debug_apb_clock
クセスを可能にします。(1)
システム・トレース・マクロセル
(STM)ハードウェア・イベントを
Enable System Trace Macrocell hardware events イネーブルして、FPGA 内部のロ
f2h_stm_hw_events
ジックがトレース・ストリームに
メッセージを挿入できるようにしま
す。(1)
Enable FPGA Cross Trigger interface
Enable FPGA Trace Port Interface Unit
クロス・トリガ・インタフェース
(CTI)をイネーブルし、トリガの
ソースおよびシンクがエンベデッ
ド・クロス・トリガ(ECT)と接続
できるようにします。(1)
h2f_cti
h2f_cti_clock
トレース・ポート・インタフェー
ス・ユニット(TPIU)および FPGA
内のロジックの間のインタフェース h2f_tpiu
をイネーブルします。TPIU は、オ
h2f_tpiu_clock_in
ンチップ・トレース・ソースおよび
トレース・ポートの間のブリッジで
す。(1)
表 27–1 の注:
(1) この機能について詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の CoreSight Debug and Trace の章を参照してくださ
い。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 27 章: HPS コンポーネントのインスタンス化
FPGA インタフェースのコンフィギュレーション
27‒3
ブートおよびクロックの選択インタフェース
この項では、FPGA Interfaces タブの Boot and Clock Selection グループのパラメータに
ついて説明します。
表 27–2 に、使用可能なパラメータを示します。
表 27‒2. ブートおよびクロックの選択パラメータ
パラメータ名
パラメータの説明
Enable boot from FPGA ready
プリローダがオンチップ RAM で使用可能かどうか示す
HPS への入力をイネーブルします。入力がアサートさ
れる場合、プリローダ・イメージはメモリ位置 0 で準
備できています。
Enable boot from FPGA on failure
フォールバック・プリローダがオンチップ RAM で使用
可能かどうか示す HPS への入力をイネーブルします。
入力がアサートされる場合、フォールバック・プリ
ローダ・イメージはメモリ位置 0 で準備できています。
選択しているフラッシュ・メモリ・デバイスの中で
HPS ブート ROM が有効なプリローダ・イメージを見つ
けられない場合のみ、フォールバック・プリローダが
使用されます。
f HPS ブート・シーケンスについて詳しくは、Cyclone V デバイス・ハンドブック
Volume 3 の付録 Booting and Configuration を参照してください。
AXI ブリッジ
この項では、FPGA Interfaces タブの AXI Bridges グループのパラメータについて説明
します。
表 27‒3. ブリッジ・パラメータ
パラメータ名
パラメータの説明
インタフェース名
FPGA-to-HPS interface width
FPGA-to-HPS インタフェースをイネーブル
またはディセーブルします。イネーブルの f2h_axi_slave
場合、データ幅を 32 ビット、64 ビット、
または 128 ビットに設定します。
HPS-to-FPGA interface width
HPS-to-FPGA インタフェースをイネーブル
またはディセーブルします。イネーブルの h2f_axi_master
場合、データ幅を 32 ビット、64 ビット、
または 128 ビットに設定します。
Lightweight HPS-to-FPGA interface width
軽量 HPS-to-FPGA インタフェースをイネー
ブルまたはディセーブルします。イネーブ h2f_lw_axi_master
ルの場合、データ幅は 32 ビットです。
より小さなアドレス幅でメモリ・マップド・マスタからこれらのスレーブへのアク
セスを容易に行うために、Altera® Address Span Extender を使用できます。アドレス・
スパン・エクステンダは 27–10 ページの「アドレス・スパン・エクステンダ・コン
ポーネントの使用」で説明されています。
f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の Interconnect の章を参照してく
ださい。
2012 年 11 月
Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
27‒4
第 27 章: HPS コンポーネントのインスタンス化
FPGA インタフェースのコンフィギュレーション
FPGA-to-HPS SDRAM インタフェース
この項では、FPGA Interfaces タブの FPGA-to-HPS SDRAM Interface グループのパラ
メータについて説明します。
HPS SDRAM サブシステムを FPGA ファブリックにアクセス可能にする 1 つ以上の
SDRAM ポートを追加できます。
32 ビット、64 ビット、128 ビット、または 256 ビットのデータ幅へのスレーブ・イ
ンタフェースをコンフィギュレーションできます。より小さなアドレス幅でメモリ・
マップド・マスタからこれらのスレーブへのアクセスを容易に行うために、Altera
Address Span Extender を使用できます。アドレス・スパン・エクステンダは 27–10
ページの「アドレス・スパン・エクステンダ・コンポーネントの使用」で説明され
ています。
FPGA-to-HPS SDRAM インタフェースを追加または削除するには、FPGA Interfaces タブ
の FPGA to HPS SDRAM Interface テーブルで + または – を使用します。Name カラムは
インタフェース名を示します。表 27–4 に、各 SDRAM インタフェースで使用可能な
パラメータを示します。
表 27‒4. FPGA-to-HPS SDRAM インタフェースのパラメータ
パラメータ名
名称
パラメータの説明
ポート名(表 27–5 に示されているように自動的に割り当てられます)
インタフェース・タイプ
タイプ
幅
■
AXI-3
■
Avalon-MM Bidirectional
■
Avalon-MM Write-only
■
Avalon-MM Read-only
32、64、128、または 256
表 27‒5. FPGA-to-HPS SDRAM のポート名およびインタフェース名
ポート名
インタフェース名
f2h_sdram0
f2h_sdram0_data
f2h_sdram1
f2h_sdram1_data
f2h_sdram2
f2h_sdram2_data
f2h_sdram3
f2h_sdram3_data
f2h_sdram4
f2h_sdram4_data
f2h_sdram5
f2h_sdram5_data
f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の SDRAM Controller Subsystem の
章を参照してください。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 27 章: HPS コンポーネントのインスタンス化
FPGA インタフェースのコンフィギュレーション
27‒5
リセット・インタフェース
この項では、FPGA Interfaces タブの Resets グループのパラメータについて説明しま
す。ユーザーは、ほとんどのリセットを個別にイネーブルできます。表 27–6 に、使
用可能なリセット・パラメータを示します。
表 27‒6. リセット・インタフェース
パラメータ名
パラメータの説明
インタフェース名
Enable HPS-to-FPGA cold reset output
HPS-to-FPGA のコールド・リセット
出力用のインタフェースをイネーブ
ルします。
Enable HPS warm reset handshake signals
リセット・ハンドシェイク信号の追
加ペアをイネーブルして、FPGA ファ
ブリックでのウォーム・リセットを h2f_warm_reset_handshake
安全に開始できるときソフト・ロ
ジックが HPS に通知できるようにし
ます。
Enable FPGA-to-HPS debug reset request
FPGA-to-HPS デバッグ・リセット・
リクエスト用のインタフェースをイ
ネーブルします。
Enable FPGA-to-HPS warm reset request
FPGA-to-HPS のウォーム・リセット・
リクエスト用のインタフェースをイ f2h_warm_reset_req
ネーブルします。
Enable FPGA-to-HPS cold reset request
FPGA-to-HPS のコールド・リセット・
リクエスト用のインタフェースをイ f2h_cold_reset_req
ネーブルします。
h2f_cold_reset
f2h_debug_reset_req
f リセット・インタフェースについて詳しくは、Cyclone V デバイス・ハンドブック
Volume 3 の Reset Manager の章の「Functional Description of the Reset Manager」を参照し
てください。
DMA ペリフェラル・リクエスト
この項では、FPGA Interfaces タブの DMA Peripheral Request グループのについて説明
します。
各ダイレクト・メモリ・アクセス(DMA)コントローラのペリフェラル・リクエス
ト ID を個別にイネーブルすることができます。各リクエスト ID は、FPGA ソフト・
ロジックのインタフェースをイネーブルして、FPGA への 8 個のロジカル DMA チャ
ネルのうち 1 個を要求します。
1
ペリフェラル・リクエスト ID の 4 ~ 7 は、コントローラ・エリア・ネットワーク
(CAN)コントローラと共有されます。
f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の DMA Controller の章を参照し
てください。
2012 年 11 月
Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
27‒6
第 27 章: HPS コンポーネントのインスタンス化
ペリフェラル・ピン・マルチプレキシングのコンフィギュレーション
ペリフェラル・ピン・マルチプレキシングのコンフィギュレーション
この項では、Peripheral Pin Multiplexing タブのパラメータについて説明します。
ペリフェラルのコンフィギュレーション
Peripheral Pin Multiplexing タブには、ペリフェラルの各タイプごとに使用可能なパラ
メータがグループとして含まれています。HPS の各インスタンス用の I/O ピン・セッ
トを選択することで、各ペリフェラル・タイプのインスタンスを 1 つ以上イネーブ
ルできます。イネーブルされると、いくつかのペリフェラルもそれらの機能に特有
のモード設定を持つようになります。
Peripheral Pin Multiplexing タブの各リストには、リストで使用可能なオプションにつ
いて詳しく説明しているヒントがあります。各ピン・マルチプレキシング・リスト
のヒントで、各ピン・セットによって使用される I/O ピンが表示されます。各モー
ド・リストのヒントでは、各モードで使用される信号が表示されます。
関連するリスト上にカーソルを置くと各ヒントが表示されます。
コンボ・ボックスのツールチップには有益な情報が表示されます。ピン・マルチプ
レキシング・パラメータには、それぞれのモードで使用される信号を示すピン・デ
スティネーションおよびモード・パラメータの表があります。
以下のペリフェラルのタイプをイネーブルできます。ペリフェラル特有の設定につ
いて詳しくは、各ペリフェラルの章を参照してください。
■
イーサネット・メディア・アクセス・コントローラ —Cyclone V デバイス・ハンド
ブック Volume 3 の Ethernet Media Access Controller の章
■
NAND フラッシュ・コントローラ —Cyclone V デバイス・ハンドブック Volume 3 の
NAND Flash Controller の章
■
クワッド・シリアル・ペリフェラル・インタフェース(SPI)フラッシュ・コン
トローラ —Cyclone V デバイス・ハンドブック Volume 3 の Quad SPI Flash Controller
の章
■
セキュア・デジタル /MultiMediaCard(SD/MMC)コントローラ —Cyclone V デバイ
ス・ハンドブック Volume 3 の SD/MMC Controller の章
■
USB 2.0 On-The-Go(OTG)コントローラ —Cyclone V デバイス・ハンドブック
Volume 3 の USB 2.0 OTG Controller の章
■
SPI コントローラ —Cyclone V デバイス・ハンドブック Volume 3 の SPI Controller の章
■
UART コントローラ —Cyclone V デバイス・ハンドブック Volume 3 の UART Controller
の章
■
I2C コントローラ —Cyclone V デバイス・ハンドブック Volume 3 の I2C Controller の章
■
CANコントローラ—Cyclone V デバイス・ハンドブック Volume 3 のCAN Controller の章
■
トレース・ポート・インタフェース・ユニット(TPIU)—Cyclone V デバイス・ハ
ンドブック Volume 3 の CoreSight Debug and Trace の章 TPIU をイネーブルすると、
トレース信号がデバイス・ピンに曝されます。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 27 章: HPS コンポーネントのインスタンス化
HPS クロックのコンフィギュレーション
27‒7
割り当て前のピンの GPIO に対する接続
Peripheral Pin Multiplexing タブの Conflicts テーブルには、どのペリフェラルにも割り
当てられていないピンが表示されます。デフォルトでは、これらのピンで汎用 I/O
(GPIO)がディセーブルされます。テーブルの GPIO Enabled フィールドを変更するこ
とで、ピンを GPIO としてイネーブルできます。テーブルにはピンに割り当てられて
いる GPIO ピンの数も表示されます。
ピン・マルチプレキシングにおける競合の解決
複数の無効なアサインメントを持っているピンを表示するには、Conflicts テーブル
を使用します。テーブルは、同じピンに割り当てられている 2 つ以上のペリフェラ
ル・インタフェースのうち 1 つを表示します。他のどのペリフェラルが競合してい
るか判断して競合を解決するために、ペリフェラルのピン・コンフィギュレーショ
ンを使用することができます。
f 使用可能な HPS のピン・コンフィギュレーションについて詳しくは、Cyclone V Device
Family Pin Connection Guidelines を参照してください。
HPS クロックのコンフィギュレーション
この項では、HPS Clocks タブのパラメータについて説明します。
f クロック信号の一般的な情報については、Cyclone V デバイス・ハンドブック Volume 3
の Clock Manager の章を参照してください。
ユーザー・クロック
この項では、HPS Clocks タブの User Clocks グループのパラメータについて説明しま
す。
ユーザー・クロックをイネーブルする場合、タイミング解析の最大周波数を手動で
入力する必要があります。TimeQuest タイミング・アナライザには、HPS 上で動作し
ているソフトウェアが PLL 出力をコンフィギュレーションする方法に関して、他に
情報を持っていません。ペリフェラルから使用可能なクロックを含めて各クロック
にはクロック周波数を表示するクロック自身のパラメータがあります。
表 27–7 に、ユーザー・クロックのパラメータを示します。ユーザーが与える周波数
は、期待される周波数の最大値です。実際のクロック周波数は、例えばマイクロプ
ロセッサ・ユニット(MPU)で動作しているソフトウェアによる変更など、レジス
タ・インタフェースを通して変更されることがあります。詳しくは、27–9 ページの
「PLL 出力の周波数およびフェーズの選択」を参照してください。
表 27‒7. ユーザー・クロックのパラメータ(その1)
パラメータ名
パラメータの説明
Enable HPS-to-FPGA user 0 clock
HPS から FPGA へのメイン PLL をイネーブルします。
User 0 clock frequency
メイン PLL で期待される周波数の最大値を指定します。
Enable HPS-to-FPGA user 1 clock
HPS から FPGA へのペリフェラル PLL をイネーブルしま
す。
User 1 clock frequency
ペリフェラル PLL で期待される周波数の最大値を指定し
ます。
2012 年 11 月
Altera Corporation
クロック・イン
タフェース名
h2f_user0_clock
h2f_user1_clock
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
27‒8
第 27 章: HPS コンポーネントのインスタンス化
外部メモリ・インタフェースのコンフィギュレーション
表 27‒7. ユーザー・クロックのパラメータ(その2)
パラメータ名
クロック・イン
タフェース名
パラメータの説明
Enable HPS-to-FPGA user 2 clock
HPS から FPGA への SDRAM PLL をイネーブルします。
User 2 clock frequency
SDRAM PLL で期待される周波数の最大値を指定します。
h2f_user2_clock
ユーザーが与えるクロック周波数は、Qsys によって生成される Synopsys Design
Constraints File(.sdc)で通知されます。
f これらのクロックの駆動について詳しくは、Cyclone V デバイス・ハンドブック
Volume 3 の Clock Manager の章を参照してください。
PLL 基準クロック
この項では、HPS Clocks タブの PLL Reference Clocks グループのパラメータについて
説明します。
表 27‒8. PLL 基準クロックのパラメータ
パラメータ名
パラメータの説明
クロック・インタ
フェース名
Enable FPGA-to-HPS peripheral PLL reference
clock
HPS のペリフェラル PLL に基準クロック
を供給するために FPGA ファブリックの
インタフェースをイネーブルします。
f2h_periph_ref_clock
Enable FPGA-to-HPS SDRAM PLL reference
clock
HPS の SDRAM PLL に基準クロックを供給
f2h_sdram_ref_clock
するために FPGA ファブリックのインタ
フェースをイネーブルします。
f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の Clock Manager の章を参照して
ください。
外部メモリ・インタフェースのコンフィギュレーション
この項では、SDRAM タブのパラメータについて説明します。
HPS は、ダブル・データ・レート 2(DDR2)プロトコル、ダブル・データ・レート
3(DDR3)プロトコル、および低消費電力のダブル・データ・レート 2(LPDDR2)
プロトコルを実装している 1 つのメモリ・インタフェースをサポートしています。
インタフェースは最大 40 ビット幅まで可能で、オプションとして誤り訂正コード
(ECC)を使用できます。
HPS SDRAM コントローラのコンフィギュレーションは、他のアルテラの SDRAM コ
ントローラのコンフィギュレーションに似ています。いくつかの点で重要な違いが
あります。
■
HPS パラメータ・エディタは、1 つのタブですべての SDRAM プロトコルをサポー
トしています。SDRAM コントローラをパラメータ化する場合、メモリ・プロト
コルを DDR2、DDR3、または LPDDR2 に指定する必要があります。
メモリ・プロトコルを選択するには、SDRAM タブの PHY Settings タブの SDRAM
Protocol リストから DDR2、DDR3、または LPDDR2 を選択します。プロトコルの
選択後、適用可能なプロトコルとして設定していないものはディセーブルされま
す。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 27 章: HPS コンポーネントのインスタンス化
外部メモリ・インタフェースのコンフィギュレーション
1
1
27‒9
多くの HPS SDRAM コントローラの設定は、アルテラの専用 DDR2、DDR3、
および LPDDR2 コントローラと同じです。この項では、HPS コンポーネン
トに特有な SDRAM パラメータについて説明します。
■
HPS メモリ・コントローラは Quartus II ソフトウェアを通してコンフィギュレー
ション可能ではないため、HPS パラメータ・エディタには Controller and Diagnostic
タブが存在していません。
■
コントローラ設定などのいくつかの設定は、MPU 上で動作しているソフトウェア
によるコンフィギュレーションなど、レジスタ・インタフェースを通してのみコ
ンフィギュレーションできるため、含まれていません。
■
FPGA のメモリ・インタフェース・クロックと違って、HPS のメモリ・インタ
フェース・クロックはブート・アップ・コードによってコンフィギュレーショ
ン・プロセスで与えられる値を使用して初期化されます。UniPHY によって与え
られる値を受け入れることができます。または「PLL 出力の周波数およびフェー
ズの選択」に示しているようにユーザー自身の PLL 設定を使用することができま
す。
HPS は、外部メモリ・インタフェース(EMIF)合成の生成、コンパイル、またはタイ
ミング解析をサポートしていません。
HPS メモリ・コントローラは、デバイスの FPGA 部分のメモリ・コントローラと結合
できません。
f SDRAM コントローラのパラメータについて詳しくは、以下の章を参照してください。
■
外部メモリ・インタフェース・ハンドブック Volume 2 の Implementing and
Parameterizing Memory IP の章。
■
外部メモリ・インタフェース・ハンドブック Volume 3 の Functional Description—
Hard Memory Interface の章。「EMI-Related HPS Features in SoC Devices」で、HPS
SDRAM コントローラに特有の機能について説明されています。
PLL 出力の周波数およびフェーズの選択
SDRAM タブの PHY Settings タブのコントロールを使用して、PLL 出力の周波数およ
びフェーズを選択します。HPS では、システムのスタートアップ時にソフトウェア
によって PLL の周波数およびフェーズが設定されます。PLL は Memory clock
frequency で指定した正確な周波数を生成できない可能性があります。通常、
Quartus II ソフトウェアは、クロック・ジッタに対して周波数の精度をバランスさせ
ることを試みるアルゴリズムを使用して Achieved memory clock frequency を達成可能
な周波数に最大限近づけて設定します。このクロック周波数は、TimeQuest アナライ
ザによるタイミング解析用に使用されます。
PLL をコンフィギュレーションする上で、異なるソフトウェアのアルゴリズムを使
用することができます。Clocks の PHY Settings タブのある Use specified frequency
instead of calculated frequency をオンにすることによって、Achieved memory clock
frequency ボックスに Memory clock frequency と同じ値を付け加えることができます。
1
2012 年 11 月
Use specified frequency instead of calculated frequency をオンにすると、Quartus II ソフト
ウェアは Achieved memory clock frequency ボックスの値が正しいものと見なします。
もしそうでない場合は、タイミング解析の結果が誤っています。
Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
27‒10
第 27 章: HPS コンポーネントのインスタンス化
アドレス・スパン・エクステンダ・コンポーネントの使用
アドレス・スパン・エクステンダ・コンポーネントの使用
FPGA-to-HPS ブリッジおよび FPGA-to-HPS SDRAM メモリ・マップド・インタフェース
は、4 GB のアドレス空間全体を FPGA ファブリックに曝します。アドレス・スパン・
エクステンダ・コンポーネントは、マスタするアドレス空間にメモリ・マップド・
ウィンドウを提供します。アドレス・スペース・エクステンダを使用すると、4 GB
のアドレス空間全体を曝すことなく HPS メモリ空間を曝すことができます。
ソフト・ロジック・マスタと FPGA-to-HPS ブリッジの間または FPGA-to-HPS SDRAM
インタフェースとの間でアドレス・スパン・エクステンダを使用できます。このコ
ンポーネントは、HPS にあるメモリ・マップド・スレーブ・インタフェースに対応
するマスタで必要なアドレス・ビット数を低減させます。
図 27–1 に、HPS があるシステム内で 2 つのアドレス・スパン・エクステンダ・コン
ポーネントが使用される場合を示します。
図 27‒1. アドレス・スパン・エクステンダ
Qsys System
HPS
DMA
4 GB
M
512 MB
S
Nios II
Processor
M
M
512 MB
1 GB
S
Address Span
Extender
M
Address Span
Extender
M
4 GB
S
FPGA-to-SDRAM
S Interface
512 MB
Window
4 GB
S
FPGA-to-HPS
Bridge
512 MB
Window
FPGA のスレーブ・インタフェース用として、アドレス・スパン・エクステンダは
HPS-to-FPGA 方向にも使用できます。この場合、HPS-to-FPGA ブリッジは、アドレ
ス・スパン・エクステンダを使用してページングできる FPGA の限られた変数のアド
レス空間に曝されます。
例えば、HPS-to-FPGA ブリッジには 1 GB のスパンがあって、HPS はデバイスの FPGA
部分にある 3 つの独立した 1 GB のメモリにアクセスする必要があるとします。これ
を達成するには、HPS は、一度に FPGA の 1 つの SDRAM(1 GB)にアクセスするよ
うにアドレス・スパン・エクステンダをプログラムします。この技術は、一般的に
ページングまたはウィンドウイングと呼ばれます。
f アドレス・スパン・エクステンダについて詳しくは、Quartus II ハンドブック Volume 1
の Qsys Interconnect and System Design Components の章の「Bridges」を参照してくださ
い。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 27 章: HPS コンポーネントのインスタンス化
HPS コンポーネントの生成およびコンパイル
27‒11
HPS コンポーネントの生成およびコンパイル
HPS デザインの生成およびコンパイルのプロセスは、他の Qsys プロジェクトのプロ
セスに非常によく似ています。以下のステップを実行します。
1. Qsys でデザインを生成します。生成されるファイルにはクロック・タイミング制
約を含んでいる .sdc ファイルがあります。シミュレーションがイネーブルされる
と、シミュレーション・ファイルも生成されます。
f Qsys プロジェクトの生成について詳しくは、Quartus II ハンドブック
Volume 1 の Creating a System with Qsys の章を参照してください。生成され
るシミュレーション・ファイルの説明について詳しくは、Cyclone V デバイ
ス・ハンドブック Volume 3 の Simulating the HPS Component の章の
「Simulation Flow」を参照してください。
2. Quartus II プロジェクトに system.qip を追加します。system.qip は HPS コンポーネ
ント用の Quartus II IP ファイルであり、Qsys によって生成されます。
3. Quartus II ソフトウェアを使用して Analysis & Elaboration を実行します。
4. SDRAM コンポーネントに制約を割り当てます。Qsys が HPS コンポーネントを生
成するとき(ステップ 1)、メモリ・アサインメントを実行するピン・アサインメ
ントの Tcl Script File(.tcl)を生成します。スクリプト・ファイル名は
<qsys_system_name>_pin_assignments.tcl であり、<qsys_system_name> は Qsys シ
ステムの名前です。このスクリプトを実行して SDRAM コンポーネントに制約を
割り当てます。
f ピン・アサインメント・スクリプトの実行について詳しくは、外部メモ
リ・インタフェース・ハンドブック Volume 2 の Implementing and
Parameterizing Memory IP の章の「MegaWizard Plug-In Manager Flow」を参照
してください。
メモリ割り当て以外のピン割り当てを指定する必要はありません。27–6 ページの
「ペリフェラル・ピン・マルチプレキシングのコンフィギュレーション」で説明
されているようにピン・マルチプレキシングをコンフィギュレーションする場
合、HPS のすべてのペリフェラルにピンを明示的に割り当てます。各ペリフェラ
ルはユーザーの指定したピンに排他的に配線されます。HPS の I/O 信号は、自動
的にピンを割り当てるように Quartus II ソフトウェアをイネーブルする情報と共
に、Qsys デザインのトップレベルにエクスポートされます。
Peripheral Pin Multiplexing タブで割り当てを確認・変更できます。また、Quartus
フィッタ・レポートで割り当てを確認することもできます。
5. Quartus II ソフトウェアでデザインをコンパイルします。
6. オプションとして SDRAM ピン・アサインメントをバック・アノテーションする
と、次回デザインをコンパイルするときのピン・アサインメント警告が削除され
ます。
ピン・アサインメントのバック・アノテーションについて詳しくは、
Quartus II ヘルプの About Back-Annotating Assignments を参照してください。
2012 年 11 月
Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
27‒12
第 27 章: HPS コンポーネントのインスタンス化
改訂履歴
改訂履歴
表 27–9 に、本資料の改訂履歴を示します。
表 27‒9. 改訂履歴
日付
2012 年 11 月
バー
ジョン
1.1
変更内容
■
デバッグ・インタフェースの追加。
■
ブート・オプションの追加。
■
スレーブ・アドレス幅の訂正。
■
SDRAM インタフェース幅の訂正。
■
TPIU ペリフェラルの追加。
■
.sdc ファイル生成の追加。
■
メモリ・アサインメント用の .tcl スクリプトの追加。
2012 年 6 月
1.0
初版。
2012 年 5 月
0.1
暫定的な草案。
Cyclone V デバイス・ハンドブック
Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation