5. HPS-FPGA AXI ブリッジ November 2012 cv_54005-1.1 cv_54005-1.1 この章では、FPGA ファブリックおよび HPS ロジックの間でのデータ通信に使用され る HPS 内のブリッジについて説明します。ブリッジは Advanced Microcontroller Bus Architecture(AMBA®)の Advanced eXtensible Interface(AXI™)プロトコルを使用し、 AMBA Network Interconnect(NIC-301)に基づいています。 f ARM ウェブサイト(infocenter.arm.com)からダウンロード可能な AMBA AXI Protocol Specification v1.0 および AMBA Network Interconnect (NIC-301) Technical Reference Manual も追加情報として使用可能です。 HPS には、以下の HPS-FPGA AXI ブリッジが含まれています。 ■ FPGA-to-HPS ブリッジ ■ HPS-to-FPGA ブリッジ ■ 軽量 HPS-to-FPGA ブリッジ AXI ブリッジの機能 HPS-FPGA AXI ブリッジによって、FPGA ファブリック内のマスタは HPS ロジックのス レーブと通信するようになります。例えば、FPGA ファブリック内の追加メモリまた はペリフェラルをインスタンス化することが可能で、HPS ロジック内のコンポーネ ントに属するマスタ・インタフェースがそれらにアクセスできます。また、FPGA ファブリック内の Nios® II などのコンポーネントをインスタンス化できて、それらの マスタ・インタフェースは HPS ロジック内のメモリまたはペリフェラルにアクセス することができます。 AXI ブリッジには、表 5–1 に示す機能があります。 表 5‒1. AXI ブリッジの機能 機能 FPGA-to-HPS ブリッジ HPS-to-FPGA ブリッジ 軽量 HPS-to-FPGA ブリッジ AMBA AXI3 インタフェースのプロトコルのサ ポート v v v クロック・クロッシングの実装、および HPS ロジックと FPGA ファブリックのクロック・ ドメイン間のデータ転送の管理 v v v HPS ロジックおよび FPGA ファブリックの間 でのデータ幅変換の実行 v v v 初期化時における FPGA インタフェース幅の コンフィギュレーション v v © 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 5‒2 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジのブロック図およびシステム統合 各ブリッジは、FPGA ファブリックへの 1 本のインタフェースおよび HPS ロジックへ のもう 1 本のインタフェースからなる AXI マスタ・スレーブ・ペアから構成されて います。HPS-to-FPGA および軽量 HPS-to-FPGA ブリッジには、FPGA ファブリックの AXI インタフェースまたは Avalon-MM スレーブ・インタフェースに接続可能な AXI マ スタ・インタフェースがあります。FPGA-to-HPS ブリッジには、FPGA ファブリック の AXI マスタ・インタフェースまたは Avalon-MM インタフェースに接続可能な AXI スレーブ・インタフェースがあります。 f AXI ブリッジのコンフィギュレーションについて詳しくは、Cyclone V デバイス・ハン ドブック volume 3 の Instantiating the HPS Component の章を参照してください。 AXI ブリッジのブロック図およびシステム統合 図 5–1 に、HPS への FPGA ファブリックおよび L3 インタコネクトにおける AXI ブ リッジのブロック図を示します。各マスタ(M)およびスレーブ(S)のインタ フェースは、データ幅と共に示しています。各インタコネクトのクロック・ドメイ ンは括弧内に示されています。クロック・ドメインは 5–12 ページの「クロックおよ びリセット」に示しています。 図 5‒1. AXI ブリッジの接続 FPGA Fabric 32, 64, or 128 Bits (h2f_axi_clk) M AXI HPS-to-FPGA Bridge 32 Bits (h2f_lw_axi_clk) 32 Bits (l4_mp_clk) S AHB (GPV) S AXI 32 Bits (l4_mp_clk) M AHB M AXI M AHB 32, 64, or 128 Bits (f2h_axi_clk) S AHB (GPV) Lightweight HPS-to-FPGA Bridge S AXI FPGA-to-HPS Bridge M AXI S AXI (GPV) 64 Bits (l3_main_clk) 32 Bits (l4_mp_clk) 64 Bits (l3_main_clk) M AXI M AXI S AXI (L3 Main Switch) (L3 Slave Peripheral Switch) (L3 Main Switch) L3 Interconnect HPS-to-FPGA ブリッジは、Level 3(L3)メイン・スイッチによってマスタされ、軽量 HPS-to-FPGA ブリッジは L3 スレーブ・ペリフェラル・スイッチによってマスタされ ます。 FPGA-to-HPS ブリッジは L3 メイン・スイッチをマスタし、FPGA ファブリックに実装 されている任意のマスタが HPS のほとんどのスレーブにアクセスできるようにしま す。例えば、FPGA-to-HPS ブリッジは、SDRAM サブシステムへのキャッシュ・コ ヒーレント・アクセスを実行するために、Cortex-A9 MPU サブシステムのアクセラ レータ・コヒーレンシ・ポート(ACP)にアクセスできます。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒3 3 個すべてのブリッジには、グローバル・プログラマ・ビュー(GPV)レジスタが含 まれています。GPV レジスタはブリッジの動作を制御します。3 個すべてのブリッジ の GPV レジスタへのアクセスは、軽量 HPS-to-FPGA ブリッジを経由して提供されま す。 f マスタが持っている各ブリッジへのアクセスなどの接続について詳しくは、 Cyclone V デバイス・ハンドブック volume 3 の Interconnect の章を参照してください。 AXI ブリッジの機能の説明 グローバル・プログラマ・ビュー HPS-to-FPGA ブリッジには、GPV と呼ばれるレジスタ一式が含まれています。GPV に は、ブリッジの機能および動作を制御する設定があります。3 個すべてのブリッジの GPV レジスタへのアクセスは、軽量 HPS-to-FPGA ブリッジを経由して提供されます。 GPV レジスタにアクセスできるのは、HPS または FPGA ファブリックのセキュア・マ スタのみです。 FPGA-to-HPS ブリッジ FPGA-to-HPS ブリッジは、HPS のペリフェラルおよびメモリへのアクセスを提供しま す。このアクセスは、FPGA ファブリックに実装された任意のマスタに対して使用可 能です。32 ビット、64 ビット、および 128 ビットのデータをサポートするために、 FPGA ファブリックへのブリッジ・スレーブをコンフィギュレーションできます。L3 インタコネクトに接続されているブリッジのマスタ・インタフェースには 64 ビット のデータ幅があります。 表 5–2 に、FPGA ファブリックに対して開いているコンフィギュレーション可能なス レーブ・インタフェースを含む FPGA-to-HPS ブリッジの機能を示します。 表 5‒2. FPGA-to-HPS ブリッジの機能 ブリッジの機能 FPGA スレーブ・インタフェース L3 マスタ・インタフェース 32、64、または 128 ビット 64 ビット クロック・ドメイン f2h_axi_clk l3_main_clk バイト・アドレス幅 32 ビット 32 ビット ID 幅 8 ビット 8 ビット リード受け入れ 16 トランザクション 16 トランザクション ライト受け入れ 16 トランザクション 16 トランザクション 受け入れ合計 32 トランザクション 32 トランザクション データ幅 (1) 表 5–2 の注: (1) ブリッジ・スレーブのデータ幅は、システム内で HPS コンポーネントをインスタンス化するとき にユーザーによってコンフィギュレーション可能です。 FPGA-to-HPS ブリッジには、 「グローバル・プログラマ・ビュー」で説明する GPV が 含まれています。GPV レジスタには、FPGA スレーブ・インタフェースが 32 ビット 幅または 128 ビット幅にコンフィギュレーションされているとき、ブリッジ・ス レーブの機能を調整する設定があります。HPS 内で 1 つまたは複数のトランザク ションが未処理になるように、fn_mod レジスタを通してスレーブの発行機能を調整 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒4 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 することができます。また、fn_mod2 レジスタの bypass_merge ビットを経由してス レーブ・バイパス・マージの機能をイネーブルすることも可能です。この機能は、 FPGA スレーブ・インタフェースが 32 ビット幅または 128 ビット幅にコンフィギュ レーションされるときにロジックの拡大および縮小によってどのトランザクション も変更されないことを確認します。 1 5–14 ページの「GPV クロック」に示すように、GPV へのアクセスをサポートするため に l4_mp_clk クロックを修正することは非常に重要です。 ACP への FPGA-to-HPS アクセス 誤り訂正コード(ECC)オプションが Level 2(L2)キャッシュ・コントローラにイ ネーブルされる場合、FPGA-to-HPS ブリッジから ACP へのすべてのアクセスは 64 ビット幅である必要があり、拡大または縮小が起きた後に 8 バイト境界にアライン メントされている必要があります。 表 5–3 に、ECC のイネーブル状態で L2 キャッシュへのアクセスをサポートする、い くつかの可能なマスタおよび FPGA-to-HPS ブリッジ・スレーブのコンフィギュレー ションを示します。 表 5‒3. FPGA マスタおよび FPGA-to-HPS ブリッジのコンフィギュレーション ソフト・ロ ジック・マス タ幅 ソフト・ロジッ ク・マスタ・アラ インメント 32 ビット 8 バイト ソフト・ロジック・ ソフト・ロジック・マスタ・ マスタ・バースト・ バースト長 サイズ(幅) 4 バイト FPGA-to-HPS ブ リッジ・スレーブ 幅 2、4、6、8、10、12、14、 または 16 ビート 32 ビット 64 ビット 8 バイト 8 バイト 1 ~ 16 ビート 32 ビット 128 ビット 8 または 16 バイト 8 または 16 バイト 1 ~ 16 ビート 32 ビット 32 ビット 8 バイト 4 バイト 2、4、6、8、10、12、14、 または 16 ビート 64 ビット 64 ビット 8 バイト 8 バイト 1 ~ 16 ビート 64 ビット 128 ビット 8 または 16 バイト 8 または 16 バイト 1 ~ 16 ビート 64 ビット 32 ビット 8 バイト 4 バイト 2、4、6、8、10、12、14、 または 16 ビート 128 ビット 64 ビット 8 バイト 8 バイト 1 ~ 16 ビート 128 ビット 128 ビット 8 または 16 バイト 8 または 16 バイト 1 ~ 16 ビート 128 ビット f L2 キャッシュの ECC オプションについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Cortex-A9 Microprocessor Unit Subsystem の章を参照してください。 FPGA-to-HPS ブリッジのスレーブ信号 FPGA-to-HPS ブリッジのスレーブ・アドレス・チャネルは、MPU サブシステムの ACP に配線されるユーザー側波帯信号をサポートしています。すべての信号はデータを 除いて固定幅を持っており、リード・データおよびライト・データのチャネルにス トローブを書き込みます。信号幅は、ブリッジのデータ幅設定によって異なります。 表 5–4 ~表 5–8 に、FPGA-to-HPS スレーブ・インタフェースによる FPGA ファブリッ クへのすべての信号を示します。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒5 表 5–4 に、スレーブ・ライト・アドレス・チャネル信号を示します。 表 5‒4. FPGA-to-HPS ブリッジのスレーブ・ライト・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 AWID 8 ビット 入力 ライト・アドレス ID AWADDR 32 ビット 入力 ライト・アドレス AWLEN 4 ビット 入力 バースト長 AWSIZE 3 ビット 入力 バースト・サイズ AWBURST 2 ビット 入力 バースト・タイプ AWLOCK 2 ビット 入力 ロック・タイプ — バリッド値は 00(通 常のアクセス)および 01(排他的なア クセス)です AWCACHE 4 ビット 入力 キャッシュ・ポリシー・タイプ AWPROT 3 ビット 入力 保護タイプ AWVALID 1 ビット 入力 ライト・アドレス・チャネル・バリッ ド AWREADY 1 ビット 出力 ライト・アドレス・チャネル準備 AWUSER 5 ビット 入力 ユーザー側波帯信号 表 5–5 に、スレーブ・ライト・データ・チャネル信号を示します。 表 5‒5. FPGA-to-HPS ブリッジのスレーブ・ライト・データ・チャネル信号 信号 幅 入力 / 出力 8 ビット 入力 ライト ID WDATA 32、64、または 128 ビット 入力 ライト・データ WSTRB 4、8、または 16 ビット 入力 ライト・データ・ストローブ WLAST 1 ビット 入力 ライト・ラスト・データ識別子 WVALID 1 ビット 入力 ライト・データ・チャネル・バ リッド WREADY 1 ビット 出力 ライト・データ・チャネル準備 WID 説明 表 5–6 に、スレーブ・ライト応答チャネル信号を示します。 表 5‒6. FPGA-to-HPS ブリッジのスレーブ・ライト応答チャネル信号 信号 2012 年 11 月 幅 入力 / 出力 BID 8 ビット 出力 ライト応答 ID BRESP 2 ビット 出力 ライト応答 BVALID 1 ビット 出力 ライト応答チャネル・バリッド BREADY 1 ビット 入力 ライト応答チャネル準備 Altera Corporation 説明 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒6 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 表 5–7 に、スレーブ・リード・アドレス・チャネル信号を示します。 表 5‒7. FPGA-to-HPS ブリッジのスレーブ・リード・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 ARID 8 ビット 入力 リード・アドレス ID ARADDR 32 ビット 入力 リード・アドレス ARLEN 4 ビット 入力 バースト長 ARSIZE 3 ビット 入力 バースト・サイズ ARBURST 2 ビット 入力 バースト・タイプ ARLOCK 2 ビット 入力 ロック・タイプ — バリッド値は 00(通 常のアクセス)および 01(排他的なア クセス)です。 ARCACHE 4 ビット 入力 キャッシュ・ポリシー・タイプ ARPROT 3 ビット 入力 保護タイプ ARVALID 1 ビット 入力 リード・アドレス・チャネル・バリッ ド ARREADY 1 ビット 出力 リード・アドレス・チャネル準備 ARUSER 5 ビット 入力 リード・ユーザー側波帯信号 表 5–8 に、スレーブ・リード・データ・チャネル信号を示します。 表 5‒8. FPGA-to-HPS ブリッジのスレーブ・リード・データ・チャネル信号 信号 幅 入力 / 出力 8 ビット 出力 リード ID RDATA 32、64、または 128 ビット 出力 リード・データ RRESP 2 ビット 出力 リード応答 RLAST 1 ビット 出力 リード・ラスト・データ識別子 RVALID 1 ビット 出力 リード・データ・チャネル・バ リッド RREADY 1 ビット 入力 リード・データ・チャネル準備 RID 説明 HPS-to-FPGA ブリッジ HPS-to-FPGA ブリッジは、コンフィギュレーション可能な幅の高性能マスタ・インタ フェースを FPGA ファブリックに対して提供します。ブリッジは、FPGA に実装され ているロジック、ペリフェラル、およびメモリへのアクセス権を HPS 内のほとんど のマスタに提供します。アドレス空間の効果的なサイズは、0x3FFF0000、または 1 GB マイナス 64 MB です。アドレス空間のサイズは、HPS のペリフェラル、軽量 HPS-to-FPGA ブリッジ、オンチップ RAM、およびブート ROM によって 64 MB 分が占 有されているため、1 GB より小さくなります。32 ビット、64 ビット、または 128 ビットのデータ用に FPGA ファブリックに開いているブリッジ・マスタをコンフィ ギュレーションできます。また、L2 キャッシュ・アドレス・フィルタリング・メカ ニズムを通して、MPU サブシステムに開いたアドレス空間の大きさを低減すること ができます。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒7 f 各ブリッジへのアクセス権を持っているマスタについて詳しくは、Cyclone V デバイ ス・ハンドブック volume 3 の Interconnect の章を参照してください。L2 キャッシュ・ アドレス・フィルタリングについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Cortex-A9 Microprocessor Unit Subsystem の章を参照してください。 HPS ロジックのブリッジのスレーブ・インタフェースには 64 ビットのデータ幅があ ります。ブリッジは、FPGA のロジックが HPS とは非同期に任意のクロック・ドメイ ンを動作するようにする幅調整およびクロック・クロッシング・ロジックを提供し ています。 1 MPU が FPGA からブートする場合、HPS-to-FPGA ブリッジはアクセスされます。MPU が FPGA からブートする前に、SoC デバイスの FPGA 部分はコンフィギュレーションさ れる必要があり、また、HPS-to-FPGA ブリッジはアドレス可能な空間にリマップされ る必要があります。 f HPS-to-FPGA ブリッジのイネーブルについて詳しくは、Cyclone V デバイス・ハンド ブック volume 3 の Interconnect の章を参照してください。 表 5–9 に、FPGA ファブリックに対して開いているコンフィギュレーション可能なマ スタ・インタフェースを含む HPS-to-FPGA ブリッジの機能を示します。 表 5‒9. HPS-to-FPGA ブリッジの機能 ブリッジの機能 データ幅 (1) クロック・ドメイン L3 スレーブ・インタ フェース FPGA マスタ・インタ フェース 64 ビット 32、64、または 128 ビット l3_main_clk h2f_axi_clk バイト・アドレス幅 32 ビット 30 ビット ID 幅 12 ビット 12 ビット リード受け入れ 16 トランザクション 16 トランザクション ライト受け入れ 16 トランザクション 16 トランザクション 受け入れ合計 32 トランザクション 32 トランザクション 表 5–9 の注: (1) ブリッジ・マスタ・データ幅は、システム内で HPS コンポーネントをインスタンス化するときに ユーザーによってコンフィギュレーション可能です。 5–3 ページの「グローバル・プログラマ・ビュー」に示すように、HPS-to-FPGA ブ リッジの GPV には、ブリッジ・マスタの機能を調整する設定があります。HPS 内で 1 つまたは複数のトランザクションが未処理になるように、fn_mod レジスタを通し てマスタの発行機能を調整することができます。また、fn_mod2 レジスタの bypass_merge ビットを通してマスタ・バイパス・マージの機能をイネーブルするこ とも可能です。この機能は、FPGA マスタ・インタフェースが 32 ビット幅または 128 ビット幅にコンフィギュレーションされるときにロジックの拡大および縮小によっ てどのトランザクションも変更されないことを確認します。 1 2012 年 11 月 5–14 ページの「GPV クロック」に示すように、GPV へのアクセスをサポートするため に l4_mp_clk クロックを修正することは非常に重要です。 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒8 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 HPS-to-FPGA ブリッジのマスタ信号 HPS-to-FPGA ブリッジのすべてのマスタ信号はデータを除いて固定幅を持っており、 リード・データおよびライト・データのチャネルにストローブを書き込みます。信 号幅は、FPGA ロジックへのブリッジ・インタフェースのデータ幅設定によって異な ります。表 5–10 ~表 5–14 に、HPS-to-FPGA マスタ・インタフェースによる FPGA ファブリックへのすべての信号を示します。 表 5–10 に、マスタ・ライト・アドレス・チャネル信号を示します。 表 5‒10. HPS-to-FPGA ブリッジのマスタ・ライト・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 AWID 12 ビット 出力 ライト・アドレス ID AWADDR 30 ビット 出力 ライト・アドレス AWLEN 4 ビット 出力 バースト長 AWSIZE 3 ビット 出力 バースト・サイズ AWBURST 2 ビット 出力 バースト・タイプ AWLOCK 2 ビット 出力 ロック・タイプ — バリッド値は 00(通常 のアクセス)および 01(排他的なアクセ ス)です AWCACHE 4 ビット 出力 キャッシュ・ポリシー・タイプ AWPROT 3 ビット 出力 保護タイプ AWVALID 1 ビット 出力 ライト・アドレス・チャネル・バリッド AWREADY 1 ビット 入力 ライト・アドレス・チャネル準備 表 5–11 に、マスタ・ライト・データ・チャネル信号を示します。 表 5‒11. HPS-to-FPGA ブリッジのマスタ・ライト・データ・チャネル信号 信号 幅 入力 / 出力 12 ビット 出力 ライト ID WDATA 32、64、または 128 ビット 出力 ライト・データ WSTRB 4、8 または 16 ビット 出力 ライト・データ・ストローブ WLAST 1 ビット 出力 ライト・ラスト・データ識別子 WVALID 1 ビット 出力 ライト・データ・チャネル・バ リッド WREADY 1 ビット 入力 ライト・データ・チャネル準備 WID 説明 表 5–12 に、マスタ・ライト応答チャネル信号を示します。 表 5‒12. HPS-to-FPGA ブリッジのマスタ・ライト応答チャネル信号 信号 幅 入力 / 出力 説明 BID 12 ビット 入力 ライト応答 ID BRESP 2 ビット 入力 ライト応答 BVALID 1 ビット 入力 ライト応答チャネル・バリッド BREADY 1 ビット 出力 ライト応答チャネル準備 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒9 表 5–13 に、マスタ・リード・アドレス・チャネル信号を示します。 表 5‒13. HPS-to-FPGA ブリッジのマスタ・リード・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 ARID 12 ビット 出力 リード・アドレス ID ARADDR 30 ビット 出力 リード・アドレス ARLEN 4 ビット 出力 バースト長 ARSIZE 3 ビット 出力 バースト・サイズ ARBURST 2 ビット 出力 バースト・タイプ ARLOCK 2 ビット 出力 ロック・タイプ — バリッド値は 00(通常のアクセス)および 01 (排他的なアクセス)です ARCACHE 4 ビット 出力 キャッシュ・ポリシー・タイプ ARPROT 3 ビット 出力 保護タイプ ARVALID 1 ビット 出力 リード・アドレス・チャネル・バ リッド ARREADY 1 ビット 入力 リード・アドレス・チャネル準備 表 5–14 に、マスタ・リード・データ・チャネル信号を示します。 表 5‒14. HPS-to-FPGA ブリッジのマスタ・リード・データ・チャネル信号 信号 幅 入力 / 出力 説明 12 ビット 入力 リード ID RDATA 32、64、または 128 ビット 入力 リード・データ RRESP 2 ビット 入力 リード応答 RLAST 1 ビット 入力 リード・ラスト・データ識別子 RVALID 1 ビット 入力 リード・データ・チャネル・バ リッド RREADY 1 ビット 出力 リード・データ・チャネル準備 RID 軽量 HPS-to-FPGA ブリッジ 軽量 HPS-to-FPGA ブリッジは、低性能インタフェースを FPGA ファブリックに対して 提供します。このインタフェースは、ソフト・ペリフェラルのコントロール・レジ スタおよびステータス・レジスタにアクセスする上で便利です。ブリッジは 2 MB の アドレス空間を提供し、FPGA ファブリックに実装されているロジック、ペリフェラ ル、およびメモリへのアクセスを提供します。MPU サブシステム、DMA(ダイレク ト・メモリ・アクセス)コントローラ、および DAP(デバッグ・アクセス・ポート) は、FPGA ファブリックまたは GPV にアクセスする上で軽量 HPS-to-FPGA ブリッジを 使用できます。また、FPGA ファブリックのマスタ・インタフェースも、3 つすべて のブリッジの GPV レジスタにアクセスする上で軽量 HPS-to-FPGA ブリッジを使用で きます。 f 各ブリッジにアクセスするマスタについて詳しくは、Cyclone V デバイス・ハンド ブック volume 3 の Interconnect の章を参照してください。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒10 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 FPGA ファブリックへのブリッジ・マスタは、32 ビットの固定データ幅を持っていま す。HPS ロジック内のブリッジのスレーブ・インタフェースは、32 ビットの固定 データ幅を持っています。 軽量 HPS-to-FPGA ブリッジをセカンダリとして、FPGA ファブリックへの低性能マス タ・インタフェースとして使用します。軽量ブリッジは、固定幅およびより小さな アドレス空間を持っているため、FPGA ペリフェラルへのメモリ・マップド・レジス タ・アクセスなどの低帯域幅トラフィックに便利です。この手法は高性能 HPS-toFPGA ブリッジからトラフィックを転換して、CSR アクセス・レイテンシおよびシス テム性能全体を向上させることができます。 表 5–15 に、FPGA ファブリックへのマスタ・インタフェースを含む軽量 HPS-to-FPGA ブリッジの機能を示します。 表 5‒15. 軽量 HPS-to-FPGA ブリッジの機能 ブリッジの機能 L3 スレーブ・インタ フェース FPGA マスタ・インタ フェース データ幅 32 ビット 32 ビット クロック・ドメイン l4_mp_clk h2f_lw_axi_clk バイト・アドレス幅 32 ビット 21 ビット ID 幅 12 ビット 12 ビット リード受け入れ 16 トランザクション 16 トランザクション ライト受け入れ 16 トランザクション 16 トランザクション 受け入れ合計 32 トランザクション 32 トランザクション 5–2 ページの 図 5–1 に示しているように、軽量 HPS-to-FPGA ブリッジには 3 つのマ スタ・インタフェースがあります。FPGA ファブリックに接続されているマスタ・イ ンタフェースは、HPS から FPGA ファブリックのカスタム・ロジックに対して軽量イ ンタフェースを提供します。HPS-to-FPGA ブリッジおよび FPGA-to-HPS ブリッジに接 続されている他の 2 つのマスタ・インタフェースは、各ブリッジへの GPV レジスタ のアクセスを可能にします。 また、軽量 HPS-to-FPGA はこれら 4 つのインタフェースの動作を制御するための GPV を持っています(1 個のスレーブおよび 3 個のマスタ) 。5–3 ページの「グロー バル・プログラマ・ビュー」に示されています。 GPV によって、ブリッジ発行の機能を設定して 1 つまたは複数のトランザクション をサポートできるようになります。また、GPV によって wr_tidemark レジスタライ ト最高到達点を設定することができ、データが FPGA ファブリックのスレーブに書き 込まれる前にどれだけ多くのデータがブリッジでバッファされるか制御することが できます。 1 デザインで軽量 HPS-to-FPGA ブリッジを使用しない場合でも、軽量 HPS-to-FPGA ブリッ ジ用にクロック設定を修正することは非常に重要です。l4_mp_clk クロックは、 HPS-to-FPGA ブリッジ上および FPGA-to-HPS ブリッジ上での GPV アクセスで必要とな ります。 軽量 HPS-to-FPGA ブリッジのマスタ信号 軽量 HPS-to-FPGA ブリッジのすべてのマスタ信号には固定幅があります。表 5–16 ~ 表 5–20 に、軽量 HPS-to-FPGA マスタ・インタフェースによる FPGA ファブリックへ のすべての信号を示します。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒11 表 5–16 に、マスタ・ライト・アドレス・チャネル信号を示します。 表 5‒16. 軽量 HPS-to-FPGA ブリッジのマスタ・ライト・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 AWID 12 ビット 出力 ライト・アドレス ID AWADDR 21 ビット 出力 ライト・アドレス AWLEN 4 ビット 出力 バースト長 AWSIZE 3 ビット 出力 バースト・サイズ AWBURST 2 ビット 出力 バースト・タイプ AWLOCK 2 ビット 出力 ロック・タイプ — バリッド値は 00(通常のアクセス)および 01 (排他的なアクセス)です AWCACHE 4 ビット 出力 キャッシュ・ポリシー・タイプ AWPROT 3 ビット 出力 保護タイプ AWVALID 1 ビット 出力 ライト・アドレス・チャネル・バ リッド AWREADY 1 ビット 入力 ライト・アドレス・チャネル準備 表 5–17 に、マスタ・ライト・データ・チャネル信号を示します。 表 5‒17. 軽量 HPS-to-FPGA ブリッジのマスタ・ライト・データ・チャネル信号 信号 幅 入力 / 出力 説明 WID 12 bits 出力 ライト ID WDATA 32 bits 出力 ライト・データ WSTRB 4 bits 出力 ライト・データ・アドレス WLAST 1 bit 出力 ライト・ラスト・データ識別子 WVALID 1 bit 出力 ライト・データ・チャネル・バ リッド WREADY 1 bit 入力 ライト・データ・チャネル準備 表 5–18 に、マスタ・ライト応答チャネル信号を示します。 表 5‒18. 軽量 HPS-to-FPGA ブリッジのマスタ・ライト応答チャネル信号 信号 2012 年 11 月 幅 入力 / 出力 BID 12 ビット 入力 ライト応答 ID BRESP 2 ビット 入力 ライト応答 BVALID 1 ビット 入力 ライト応答チャネル・バリッド BREADY 1 ビット 出力 ライト応答チャネル準備 Altera Corporation 説明 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒12 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 表 5–19 に、マスタ・リード・アドレス・チャネル信号を示します。 表 5‒19. 軽量 HPS-to-FPGA ブリッジのマスタ・リード・アドレス・チャネル信号 信号 幅 入力 / 出力 説明 ARID 12 ビット 出力 リード・アドレス ID ARADDR 21 ビット 出力 リード・アドレス ARLEN 4 ビット 出力 バースト長 ARSIZE 3 ビット 出力 バースト・サイズ ARBURST 2 ビット 出力 バースト・タイプ ARLOCK 2 ビット 出力 ロック・タイプ — バリッド値は 00(通常のアクセス)および 01 (排他的なアクセス)です ARCACHE 4 ビット 出力 キャッシュ・ポリシー・タイプ ARPROT 3 ビット 出力 保護タイプ ARVALID 1 ビット 出力 リード・アドレス・チャネル・バ リッド ARREADY 1 ビット 入力 リード・アドレス・チャネル準備 表 5–20 に、マスタ・リード・データ・チャネル信号を示します。 表 5‒20. 軽量 HPS-to-FPGA ブリッジのマスタ・リード・データ・チャネル信号 信号 幅 入力 / 出力 説明 RID 12 bits 入力 リード ID RDATA 32 bits 入力 リード・データ RRESP 2 bits 入力 リード応答 RLAST 1 bit 入力 リード・ラスト・データ識別子 RVALID 1 bit 入力 リード・データ・チャネル・バ リッド RREADY 1 bit 出力 リード・データ・チャネル準備 クロックおよびリセット FPGA-to-HPS ブリッジ HPS ロジックのブリッジのマスタ・インタフェースは、l3_main_clk クロック・ドメ インで動作します。FPGA ファブリックに開いているスレーブ・インタフェースは、 ユーザー・ロジックによって提供される f2h_axi_clk クロック・ドメインで動作し ます。ブリッジは、HPS とは非同期に FPGA ロジックが任意のクロック・ドメインで 動作できるようにするクロック・クロッシング・ロジックを提供します。 f f2h_axi_clk クロックについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の HPS Component Interfaces の章を参照してください。l3_main_clk および l4_mp_clk クロックについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Clock Manager の章を参照してください。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ AXI ブリッジの機能の説明 5‒13 FPGA-to-HPS には 1 つのリセット信号 fpga2hps_bridge_rst_n があります。リセッ ト・マネージャは、コールド・リセットまたはウォーム・リセット時に FPGA-to-HPS ブリッジに対してこの信号を駆動します。 f リセット・マネージャについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Reset Manager の章を参照してください。 HPS-to-FPGA ブリッジ FPGA ファブリック内部へのマスタ・インタフェースは、h2f_axi_clk クロック・ド メインで動作します。h2f_axi_clk クロックはユーザー・ロジックによって提供され ます。HPS ロジックのブリッジのスレーブ・インタフェースは、l3_main_clk クロッ ク・ドメインで動作します。ブリッジは、HPS とは非同期に FPGA のロジックが任意 のクロック・ドメインで動作できるようにするクロック・クロッシング・ロジックを 提供します。 f l3_main_clk クロックについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Clock Manager の章を参照してください。h2f_axi_clk クロックについて詳しくは、 Cyclone V デバイス・ハンドブック volume 3 の HPS Component Interfaces の章を参照し てください。 HPS-to-FPGA ブリッジには 1 つのリセット信号 hps2fpga_bridge_rst_n があります。 リセット・マネージャは、コールド・リセットまたはウォーム・リセット時に HPSto-FPGA ブリッジに対してこの信号を駆動します。 リセット・マネージャについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Reset Manager の章を参照してください。 軽量 HPS-to-FPGA ブリッジ FPGA ファブリック内部へのマスタ・インタフェースは、FPGA ファブリックのカス タム・ロジックによって提供される h2f_lw_axi_clk クロック・ドメインで動作しま す。HPS ロジックのブリッジのスレーブ・インタフェースは、l4_mp_clk クロック・ ドメインで動作します。ブリッジは、HPS とは非同期に FPGA のロジックが任意のク ロック・ドメインで動作できるようにするクロック・クロッシング・ロジックを提供 します。 f l4_mp_clk クロックについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Clock Manager の章を参照してください。h2f_lw_axi_clk クロックについて詳しく は、Cyclone V デバイス・ハンドブック volume 3 の HPS Component Interfaces の章を参 照してください。 軽量 HPS-to-FPGA ブリッジには 1 つのリセット信号 lwhps2fpga_bridge_rst_n があ ります。リセット・マネージャは、コールド・リセットまたはウォーム・リセット 時に軽量 HPS-to-FPGA ブリッジに対してこの信号を駆動します。 f リセット・マネージャについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Reset Manager の章を参照してください。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒14 第 5 章: HPS-FPGA AXI ブリッジ HPS-FPGA AXI ブリッジのアドレス・マップおよびレジスタ定義 GPV クロック FPGA-to-HPS ブリッジおよび HPS-to-FPGA ブリッジには、軽量 HPS-to-FPGA ブリッジ によってマスタされている GPV スレーブ・インタフェースがあります。これらのイ ンタフェースは l4_mp_clk クロック・ドメインで動作します。FPGA デザインで軽量 HPS-to-FPGA ブリッジを使用しない場合でも、HPS-to-FPGA ブリッジおよび FPGA-toHPS ブリッジの GPV レジスタをプログラムできるようにするために、有効な l4_mp_clk クロックが生成されていることを確認する必要があります。3 つすべての ブリッジの GPV ロジックは l4_mp_clk ドメイン内にあります。GPV について詳しく は、5–3 ページの「グローバル・プログラマ・ビュー」を参照してください。 データ幅サイジング HPS-to-FPGA ブリッジおよび FPGA-to-HPS ブリッジは、32 ビット、64 ビット、128 ビットのインタフェースを FPGA ファブリックに開くようにします。32 ビットおよ び 128 ビットのインタフェースでは、ブリッジは 64 ビット固定のインタフェースへ のデータ幅変換を HPS 内部で実行します。データが 64 ビット・インタフェースから 128 ビット・インタフェースに変換される場合、この変換は拡大(upsizing)と呼ば れます。データが 64 ビット・インタフェースから 32 ビット・インタフェースに変 換される場合、この変換は downsizing(縮小)と呼ばれます。排他的アクセスが複数 のトランザクションに分割される場合、トランザクションは排他的アクセスの情報 を失います。 拡大または縮小のプロセス中、データ・マージング技術を使用してトランザクショ ンもサイズ変更することができます。例えば、32 ビットから 64 ビットへの拡大のと き、ブリッジの 32 ビット・インタフェースへの各ビートのサイズが 2 バイトのみの 場合、ブリッジは単一の 64 ビット・ビートを形成する最大 4 ビートをマージするこ とができます。同様に、128 ビットから 64 ビットへの縮小のとき、ブリッジの 128 日と・インタフェースへの各ビートのサイズが 4 バイトのみの場合、ブリッジは単 一の 64 ビット・ビートを形成する 2 つのビートをマージすることができます。 ブリッジは、キャッシュ不可能とマークされたアクセス用にはトランザクション・ マージングを実行しません。 1 ブリッジがデータと応答をマージしないようにするために、GPV の bypass_merge ビットを設定することができます。ブリッジが複数の応答を単一の応答にマージす る場合、その応答は最高の優先順位を持つことになります。応答タイプには以下の 優先順位があります。 1. DECERR 2. SLVERR 3. OKAY HPS-FPGA AXI ブリッジのアドレス・マップおよびレジスタ定義 f アドレス・マップおよびレジスタ定義は、このハンドブックの volume に付属の hps.html ファイルにあります。ファイルを開くにはリンクをクリックします。 モジュールの説明およびベース・アドレスを見るには、スクロールして以下のモ ジュール・インスタンスのリンクをクリックします。 ■ fpga2hpsregs Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 5 章: HPS-FPGA AXI ブリッジ 改訂履歴 ■ 5‒15 hps2fpgaregs また、レジスタおよびフィールドの説明を見るには、レジスタ名にスクロールして クリックします。レジスタ・アドレスは、各モジュール・インスタンスのベース・ アドレスに相対的なオフセットです。 f すべてのモジュールのベース・アドレスは、Cyclone V デバイス・ハンドブック volume 3 の Introduction to the Hard Processor の章にも示されています。 改訂履歴 表 5–21 に、本資料の改訂履歴を示します。 表 5‒21. 改訂履歴 バー ジョン 日付 変更内容 2012 年 11 月 1.1 GPV について説明。 2012 年 1 月 1.0 初版。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 5‒16 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 第 5 章: HPS-FPGA AXI ブリッジ 改訂履歴 2012 年 11 月 Altera Corporation