初期化およびパーシャル・リコンフィギ ュレー … 10...

60
Arria 10 におけるプロトコル経由の CvP 初期化およびパーシャル・リコンフィギ ュレーション ユーザーガイド 更新情報 フィードバック UG-20010 2016.05.02 101 Innovation Drive San Jose, CA 95134 www.altera.com

Transcript of 初期化およびパーシャル・リコンフィギ ュレー … 10...

Page 2: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

目次

Arria 10における CvPの初期化.......................................................................1-1CvPシステム.............................................................................................................................................. 1-1CvPを使用するメリット........................................................................................................................ 1-2Arria 10デバイスに向けた CvPサポート.......................................................................................... 1-3CvPの初期化.............................................................................................................................................. 1-3CvPの機能...................................................................................................................................................1-4Autonomousモード...................................................................................................................................1-5CvPピン....................................................................................................................................................... 1-5

Arria 10における CvP初期化に向けたデザインの考慮事項........................2-1オープン・システムに向けた CvPの設計.........................................................................................2-1クローズド・システムに向けた CvPの設計.................................................................................... 2-3

Arria 10における CvP初期化に向けた設計の手順の解説........................... 3-1合成 HDLファイルの生成......................................................................................................................3-3Device and Pin Optionsでの CvPパラメータの設定........................................................................3-3デザインのコンパイル.............................................................................................................................3-5SOFファイルの分割.................................................................................................................................3-5ハードウェアの立ち上げ........................................................................................................................ 3-6

Windowsシステムへの Jungo WinDriverのインストール................................................ 3-7Linuxシステムへの Jungo WinDriverのインストール.......................................................3-7Arria 10開発キットのMSEL/DIPスイッチの変更.............................................................. 3-8CvPイメージのプログラミング............................................................................................... 3-8

CvPドライバとレジスタ...................................................................................4-1CvPドライバのサポート........................................................................................................................ 4-1CvPドライバのフロー.............................................................................................................................4-1CvP向け VSECレジスタ.........................................................................................................................4-2

アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ..................................4-3アルテラ定義のベンダ固有ヘッダ・レジスタ.....................................................................4-3アルテラ・マーカー・レジスタ............................................................................................... 4-4CvPステータス・レジスタ........................................................................................................ 4-4CvPモード・コントロール・レジスタ.................................................................................. 4-5CvPデータ・レジスタ.................................................................................................................4-8CvPプログラミング・コントロール・レジスタ.................................................................4-8修正不可能な内部エラー・ステータス・レジスタ..........................................................4-10修正不可能な内部エラー・マスク・レジスタ...................................................................4-12修正可能な内部エラー・ステータス・レジスタ.............................................................. 4-12修正可能な内部エラー・マスク・レジスタ....................................................................... 4-13

目次-2

Altera Corporation

Page 3: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10におけるプロトコルを経由したパーシャル・リコンフィギュレーション.......................................................................................................... 5-1

PCI Express経由の PRを使用するメリット......................................................................................5-1PCIe経由の PRシステム........................................................................................................................ 5-2パーシャル・リコンフィギュレーション IPコア.......................................................................... 5-3

Arria 10における PCI Express経由の PRのデザイン・プランニング....... 6-1パーティション階層の特定....................................................................................................................6-1複数のリビジョンの作成........................................................................................................................ 6-2PRデザインのフロアプラン..................................................................................................................6-2PRデザインのクロックおよびグローバル信号のアサインメント............................................6-2PRパーティションへのフリーズ・ロジックの挿入...................................................................... 6-3

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 ..................................................................................................................... 7-1

Qsysシステムの作成................................................................................................................................ 7-3ユーザー・ロジックとトップレベル・ファイルの作成............................................................... 7-7PRパーティションの作成...................................................................................................................... 7-8ベース SOF/RBFビットストリームの生成........................................................................................ 7-9PRリビジョンの作成.............................................................................................................................7-10PRビットストリームの生成................................................................................................................7-11ハードウェアの立ち上げ...................................................................................................................... 7-15

改訂履歴............................................................................................................. A-1

目次-3

Altera Corporation

Page 4: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10における CvPの初期化 12016.05.02

UG-20010 更新情報 フィードバック

Configuration via Protocol(CvP)は、Arria® V、Cyclone® V、Stratix® V、および Arria 10デバイス・ファミリでサポートされているコンフィギュレーション・スキームです。CvP コンフィギュレーション・スキームは、ペリフェラルおよびコア・ロジックに対し別々のイメージを作成します。ペリフェラル・イメージはコンフィギュレーション・デバイスに保存し、コア・イメージはホスト・メモリに保存することでシステム・コストを低減し、ペリフェラル・コア・イメージのセキュリティも強化することが可能です。CvPは PCI Express®(PCIe)リンク経由で FPGAファブリックをコンフィギュレーションし、エンドポイント・バリアントに向けての使用が可能です。関連情報• Introduction to Altera IP Coresすべてのアルテラ IPコアに関する、パラメータ化、アップグレード、IPのシミュレーションといった基本的な情報を提供します。

• Creating Version-Independent IP and Qsys Simulation Scriptsソフトウェアあるいは IPのバージョンのアップグレードに手動での更新を必要としないシミュレーション・スクリプトの作成について詳しい情報を提供します。

• Project Management Best Practicesプロジェクトおよび IPファイルの効率的な管理および移植性のためのガイドラインを提供します。

CvPシステム次の図は、CvPシステムで必要なコンポーネントを表しています。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 5: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 1-1: CvPのブロック図

Configuration device, or configuration host and flash (1)

Configuration interface (1)

FPGA

PCIe link

Configuration control block

(internal)

PCIeHard IP

(2)

PCIeHard IP

(3)

Host

Root Complex

CvPシステムは一般的に FPGA、PCIe ホスト、コンフィギュレーション・デバイスより構成されています。1. コンフィギュレーション・デバイスは従来のコンフィギュレーション・インタフェースを使用して FPGAに接続されます。コンフィギュレーション・インタフェースは、アクティブ・シリアル(AS)、パッシブ・シリアル(PS)、Fastパッシブ・パラレル(FPP)などのサポートされているどのスキームにもすることができます。どのコンフィギュレーション・デバイスを選ぶかは、選択するコンフィギュレーション・スキームによって異なります。

2. CvPやその他の PCIeアプリケーション用の PCIe Hard IPブロック3. PCIe Hard IPブロックは PCIeアプリケーション専用であり、CvPには使用できませんArria V、Cyclone V、Stratix V、および Arria 10 FPGAの多くに、PCI Expressに向けて複数の HardIPブロックが装備されています。CvPコンフィギュレーション・スキームでは各デバイスの左下に位置する PCIe Hard IPブロックのみ使用可能です。これはエンドポイントとしてコンフィギュレーションする必要があります。

CvPを使用するメリットCvPコンフィギュレーション・スキームには以下のメリットがあります。

1-2 CvPを使用するメリットUG-20010

2016.05.02

Altera Corporation Arria 10における CvPの初期化

フィードバック

Page 6: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

• ペリフェラル・コンフィギュレーション・データを格納するフラッシュ・デバイスのサイズを縮小させることでシステム・コストを低減します。

• ペリフェラル・コア・ビットストリームのセキュリティを向上します。CvPにより、PCIeホストだけが FPGAコア・イメージへ確実にアクセスできるようになります。

• システムをパワー・ダウンすることなくダイナミック・コア・アップデートをイネーブルします。CvPは、ホストのリブートや FPGAフル・チップの再初期設定を実行せずとも PCIeリンクを介した FPGAファブリックの更新を可能とします。

• コンフィギュレーションに向けてよりシンプルなソフトウェア・モデルを提供します。スマート・ホストは、FPGAファブリックの初期化と更新に PCIeプロトコルとアプリケーション・トポロジを使用することができます。

• ハードウェア・アクセラレーションを容易にします。

Arria 10デバイスに向けた CvPサポート表 1-1: Arria 10デバイスに向けた CvPサポート

デバイスサポートされる CvPモード

PCIe Gen 1 PCIe Gen 2 PCIe Gen 3

Arria 10 CvP Initialization CvP Initialization CvP Initialization

注意: Arria 10デバイスでは、CvP Updateの代わりに Partial Reconfiguration over Protocolを使用してください。パーシャル・リコンフィギュレーションの実行には PCIeバスを使用することができます。

関連情報Configuration via Protocol(CvP)Implementation in Altera FPGAs User GuideStartix V、Arria V、および Cyclone Vデバイス・ファミリに向けた CvPサポートについての詳細情報です。

CvPの初期化このスキームは、システムの電源投入時に PCIeリンクを介して FPGAのコアをコンフィギュレーションします。初期化とは、電源投入後に FPGA内にロードされる最初のファブリック・コンフィギュレーション・イメージのことを指します。注意: リビジョン・デザイン・フローを持つ CvPの初期化は、Arria 10デバイスではサポートさ

れていません。

イメージのコンフィギュレーションCvPでは、デザインをコア・イメージとペリフェラル・イメージの 2つのイメージにパーティションします。Quartus Primeソフトウェアを使用して以下のイメージを生成します。

UG-200102016.05.02 Arria 10デバイスに向けた CvPサポート 1-3

Arria 10における CvPの初期化 Altera Corporation

フィードバック

Page 7: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

• ペリフェラル・イメージ(*.periph.jic)— PCI Express IPコアといったハード IPに実装される汎用 I/O(GPIO)、I/Oレジスタ、および GCLK、QCLK、RCLKのクロック・ネットワーク、ロジックを含みます。このようなコンポーネントは I/Oペリフェラル・レジスタ・ビットにより制御されるため、ペリフェラル・イメージに含まれます。全ペリフェラル・イメージはスタティックで再コンフィギュレーションすることはできません。

• コア・イメージ(*.core.rbf)— コンフィギュレーション RAM(CRAM)によってプログラムされるロジックを含みます。 このイメージには、LAB、DSP、およびエンベデッド・メモリが含まれます。コア・イメージは再コンフィギュレーション可能な単一の領域、もしくはスタティックかつ再コンフィギュレーションが可能な領域で構成されています。• 再コンフィギュレーション可能な領域 — この領域は、PCIeリンクがアップしており完全に列挙されている間、ユーザー・モードでプログラムすることが可能です。これには、CRAMによって制御される FPGAコア・イメージ内の DSPブロック、エンベデッド RAMブロック、LABといったリソースのみが含まれます。この領域には、ペリフェラル・イメージ内に含まれる GPIO、トランシーバ、PLL、I/Oブロック、PCI Express IPコア用 HardIPをはじめとするコンポーネントを含めることはできません。

• スタティック領域 — この領域は編集不可能です。ペリフェラル・イメージは外部コンフィギュレーション・デバイスに格納され、従来のコンフィギュレーション・スキームを介して FPGAにロードされます。コア・イメージは PCIeホストによってアクセス可能なメモリに格納され、PCIeリンクを介して FPGAにロードされます。ペリフェラル・イメージのコンフィギュレーション完了後、CONF_DONE信号が Highとなり、FPGAによる PCIeリンク・トレーニングの開始が可能となります。PCIeリンク・トレーニングが完了すると、PCIeリンクは L0ステートに遷移します。PCIeホストはその後、PCIeリンクを介してコア・イメージ・コンフィギュレーションを開始します。コア・イメージ・コンフィギュレーション完了後、CvP_CONFDONEピンが Highとなり、FPGAが完全にコンフィギュレーションされたことを示します。FPGAが完全にコンフィギュレーションされると、FPGAはユーザー・モードとなります。INIT_DONE信号がイネーブルされている場合、初期化完了後 INIT_DONE信号は Highとなり FPGAはユーザー・モードとなります。ユーザー・モードでは、通常の PCIeアプリケーションに対して PCIeリンクが使用可能です。PCIeリンクはまた、コア・イメージの変更にも使用可能です。コア・イメージを変更するには、ペリフェラル・イメージと同じ接続を持つ FPGAコア・イメージを Quartus Primeソフトウェアで複数作成します。関連情報Arria 10 Core Fabric and General Purpose I/Os Handbookトランシーバ・バンクと I/Oバンクのロケーションについての詳細情報です。

CvPの機能

データ圧縮Quartus Primeソフトウェアの Device and Pin Optionsダイアログ・ボックスにある Configurationページの Generate compressed bitstreamをオンにすることで、コア・イメージの圧縮を選択することができます。ただし、ペリフェラル・イメージは圧縮することはできません。コア・イメージを圧縮すると、ストレージ要件を抑えることができます。圧縮されたコア・イメージで FPGAをコンフィギュレーションするのであれば、FPGAのコア・イメージを更新する際に圧縮されたイメージを使用する必要があります。

1-4 CvPの機能UG-20010

2016.05.02

Altera Corporation Arria 10における CvPの初期化

フィードバック

Page 8: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

データ暗号化コア・イメージを暗号化する選択が可能です。ただし、ペリフェラル・イメージは暗号化することはできません。暗号化されたコア・イメージで FPGAをコンフィギュレーションするには、セキュリティー・キーを使用して FPGAを再度プログラムする必要があります。このキーは、受信コンフィギュレーション・ビットストリームの復号に使用されます。AS、PS、あるいは FPPスキームを使用して FPGAをコンフィギュレーションする場合、キーがプログラムされた FPGAは暗号化されたビットストリームと暗号化されていないビットストリームの両方を受け入れることができます。ただし CvPを使用する場合、キーがプログラムされた FPGAは暗号化されたビットストリームのみ受け入れることができます。コア・イメージのリビジョンすべてを暗号化するには、同じキーを使用してください。

表 1-2: 暗号化されたコンフィギュレーション・データに向けてサポートされたクロック・ソース

以下のテーブルは、CvPシステムで使用される従来のスキームに向けてサポートされるクロック・ソースを表しています。

キー・タイプアクティブ・シリアル パッシブ・シリア

ルFastパッシブ・パラレル

外部クロック 内部クロック 外部クロック 外部クロック

揮発性キー 有 有 有 有不発揮性キー 無 12.5 MHz 有 有

Autonomousモードアルテラの FPGAデバイスは通常、ペリフェラル・イメージへのコンフィギュレーション・ビットを最初に受信し、次にコア・イメージへのビットを受信します。コア・イメージのコンフィギュレーションが完了すると、デバイスはユーザー・モードとなります。Autonomousモードでは、ペリフェラルのコンフィギュレーションが完了すると PCI Expressハード IPは動作を開始します。Autonomousモードは、ユーザー・モードとなる前、つまりコア・コンフィギュレーション実行中に PCIe IPコアが動作することを可能とします。Autonomousモードではリンク・トレーニングの完了後、PCI Expressハード IPはコンフィギュレーション・リクエスト・リトライ・ステータス(CRRS)を使用しホストからのコンフィギュレーション・リクエストに応答します。Autonomousモードは、FPGAのコンフィギュレーションに CvPを使用しない場合に有用ですが、100 ms PCIeウェイクアップ時間の要件を満たす必要があります。注意: Arria 10デバイスを最大限に活用するには、アルテラでは PCI Expressハード IPの左右ど

ちらかのボトムを使用して Gen3動作に向けた 100 ms PCIeウェイクアップ時間の要件を満たすことを推奨しています。

関連情報3-3ページの Device and Pin Optionsでの CvPパラメータの設定

CvPピン次のテーブルは、CvPピンの説明と接続ガイドラインを示しています。

UG-200102016.05.02 Autonomousモード 1-5

Arria 10における CvPの初期化 Altera Corporation

フィードバック

Page 9: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

表 1-3: CvPピンの説明と接続ガイドライン

ピンの名称 ピンの種類 ピンの説明 ピンの接続方法

CvP_CONFDONE 出力 CvP_CONFDONEピンはコンフィギュレーション中は Lowでドライブされます。PCIe経由のコンフィギュレーションが完了すると、信号はリリースされ外部プルアップ・レジスタにより Highにプルアップされます。CvP Initializationモードで FPGAをコンフィギュレーションする間、FPGAが正常にコンフィギュレーションされたかを判断するには、CONF_DONEピンが Highとなった後このピンを観察する必要があります。CvPモードを使用していない場合、このピンをユーザー I/Oピンとして使用可能です。

このピンを専用出力として設定する場合、VCCPGM電源は受信側の電圧仕様を満たす必要があります。このピンが open-drain出力として設定されている場合、外部 10-kΩプルアップ・レジスタ、VCCPGM電源か、受信側の入力電圧仕様を満たす別のプルアップ電圧に接続します。これにより、電圧平準化のメリットが得られます。

1-6 CvPピンUG-20010

2016.05.02

Altera Corporation Arria 10における CvPの初期化

フィードバック

Page 10: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ピンの名称 ピンの種類 ピンの説明 ピンの接続方法

nPERST[L,R]

[0:1]

入力 このピンは、PCIe仕様に向けた専用の基本リセット・ピンとして PCIExpressハード IPコアに接続されます。信号がLowの場合、CvP動作に使用するトランシーバと専用 PCIe Hard IPブロックは resetモードとなります。

nPERST[L,R]0/nPERST[L,R]1を PCIeスロットの PERST#ピンに接続します。このピンは、1.8Vで電源供給され、1.8Vに準拠した I/O規格でドライブする必要があります。PCIe Hard IPにつき 1つの nPERSTピンのみ使用可能です。これらのピンは以下のロケーションに位置します。• nPERSTL0 = PCIe HIP & CvPの左下• nPERSTL1 = (利用可能な場合)PCIe

Hard IPの右上• nPERSTR0 = (利用可能な場合)PCIe

Hard IPの右下• nPERSTR1 = (利用可能な場合)PCIe

Hard IPの右上PCIe Hard IPの左下のロケーションはPCIeリンクを使用した CvPをサポートする唯一のロケーションであるため、最良の互換性を得るためには、常に PCIe Hard IPの左下から使用してください。

関連情報• Pin Connection Guidelines for Arria 10 device family• Arria 10 Device Datasheet

UG-200102016.05.02 CvPピン 1-7

Arria 10における CvPの初期化 Altera Corporation

フィードバック

Page 11: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10における CvP初期化に向けたデザインの考慮事項 2

2016.05.02

UG-20010 更新情報 フィードバック

オープン・システムに向けた CvPの設計オープン・システムに向けて CvPシステムを設計する際、本項で紹介するガイドラインを考慮する必要があります。

FPGA電源ランプ時間の要件オープン・システムに対して、デザインが FPGA電源ランプアップ時間の要件に準拠していることを確認する必要があります。パワー・オン・リセット(POR)回路は、電源出力が推奨動作範囲となるまで FPGAをリセット状態で保持します。PORイベントは、電源供給が推奨動作範囲の電源ランプ時間である tRAMP に到達するまで FPGAをパワーアップする際に発生します。CvPの場合、最初の電源ランプアップから最後の電源ランプアップまで、tRAMP の合計を 10 msより低く抑える必要があります。PORSELピンを Highに設定することで、fast PORを選択します。これにより、fast POR遅延時間の範囲は 4–12 msとなり、POR後に PCIeリンクが初期化とコンフィギュレーションを開始するにあたって十分な時間を提供します。

図 2-1: 電源ランプアップ時間および POR

First PowerSupply

Last PowerSupply

Time

Volts

POR Delay10 ms

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 12: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

PCIeウェイクアップ時間の要件オープン・システムの場合、PCIeリンクが PCI Express CARD Electromechanical Specificationで定義される PCIeウェイクアップ時間の要件を満たしている必要があります。PCIeウェイクアップ時間仕様に対するパワー・オンからリンク・アクティブ(L0)状態までの遷移は、200 ms以内でなければいけません。FPGA内の PCI Expressハード IPの IPコアがリンク・トレーニングに向けて動作可能となるまでの FPGAのパワー・アップからの時間は、120 ms以内でなければいけません。

CvPの初期化に向けた PCIeウェイクアップ時間の要件CvP Initializationモードでは、ペリフェラル・イメージ・コンフィギュレーション時間はフルFPGAコンフィギュレーション時間に比べはるかに短いため、PCI Expressハード IPの IPコアが120 msの要件を満たすことが保証されています。 このため、ペリフェラル・イメージ・コンフィギュレーションに対して従来のコンフィギュレーション・スキームを任意に選択することが可能です。コンフィギュレーションを成功させるには、PORがモニタするすべての電源は 10 msランプアップ時間の動作範囲内で単調にランプアップする必要があります。PERST#信号は、FPGA電源が指定の電圧トレランス内で、かつ安定しているかを表します。エンベデッド・ハード・リセット・コントローラは、内部ステータス信号がペリフェラル・イメージがロードされたことを示した後でトリガします。 このリセットは、PERST#をトリガオフしません。CvP Initializationモードでは、PCIeリンクはユーザー・モードで FPGAコア・イメージ・コンフィギュレーションと PCIeアプリケーションをサポートします。注意: Gen 2対応エンドポイントの場合、アルテラではコアの.sofをロード後、予期される Gen

2のレートでリンクがトレーニング済みであることを検証することを推奨しています。リンクがで Gen 2動作していない場合、ソフトウェアはエンドポイントを再度トレーニングするようトリガ可能です。

図 2-2: CvP Initializationモードでの PCIeタイミング・シーケンス

ab

cd

f

e

FPGA電源

PERST#

FPGAコンフィギュレーション・ステータス

PCIeリンク・ステータス Link Inactive Link Training Link Active (L0)

ペリフェラルのプログラムとキャリブレーション

PR over PCIe

従来の方法を用いたペリフェラルイメージのコンフィギュレーション

Periphery configuration through conventional method

PCIeリンクを用いたコア・イメージのコンフィギュレーション

power-onリセット後でのみ、CONF_DONE = 1 であればコントロール・ブロックはPCIeのハードIPをリセットから脱け出します

FPGAがユーザー・モードとなります

PCIeリンクを経由したコア・イメージの更新

表 2-1: CvP Initializationモードでのパワー・アップ・シーケンス

タイミング・シーケンス

タイミング範囲(ms)

説明

a 10 FPGA内の PORがモニタするすべての電源がそれぞれの動作範囲に到達するための最大ランプ・アップ時間の要件

2-2 オープン・システムに向けた CvPの設計UG-20010

2016.05.02

Altera Corporation Arria 10における CvP初期化に向けたデザインの考慮事項

フィードバック

Page 13: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

タイミング・シーケンス

タイミング範囲(ms)

説明

b 4~12 FPGA POR遅延時間c 100 ホストからの PERST#信号の最小アクティブ時間d 20 PCIeリンクがトレーニング状態に入る前の PERST#信号の最小非アク

ティブ時間e 120 CvP Initializationモードにおける FPGAパワー・アップからペリフェラ

ル コンフィギュレーション完了までの最大時間f 100 PERST#がディアサートされた後に PCIeデバイス L0に入るまで要する

最大時間

関連情報• Power Management in Arria 10 Devices電力要件についての詳細情報です。

• PCI Express CARD Electromechanical Specification

クローズド・システムに向けた CvPの設計クローズド・システムに向けて CvPを設計する際、CvP初期化に向けたペリフェラル・コンフィギュレーション時間を見積もります。コンフィギュレーション時間の見積もりが PCIeホストで許容される時間の範囲内であることを確認する必要があります。

UG-200102016.05.02 クローズド・システムに向けた CvPの設計 2-3

Arria 10における CvP初期化に向けたデザインの考慮事項 Altera Corporation

フィードバック

Page 14: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10における CvP初期化に向けた設計の手順の解説 3

2016.05.02

UG-20010 更新情報 フィードバック

CvPの初期化はデザインをペリフェラル・イメージとコア・イメージに分割します。ペリフェラル・イメージは、PCBのフラッシュ・デバイス内に格納されます。ペリフェラルは JTAG経由でプログラミング可能です。コア・イメージはホスト・メモリ内に格納されます。PCI Expressリンクを使用してコア・イメージを FPGAにダウンロードする必要があります。Quartus Primeソフトウェア内で CvP Settings Power up and subsequent coreコンフィギュレーションを選択し、CvP Initializationモードを指定する必要があります。CvP Initializationを選択する理由には、以下のような目的があります。• FPGAプログラミン時間が制限を超える場合、プラグイン・カードへの PCIe初期パワーアップ要件を満たすため

• 外部ホスト・メモリにコア・イメージを格納することでコストを抑えるため• 暗号化を行うことでコア・イメージへの不正なアクセスを防ぐため次の図は、CvPの初期化に向けた上位レベルの手順を表しています。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 15: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 3-1: CvPの初期化に向けたデザイン・フロー

Specify GeneralConfiguration & CvP Initialization

Device & Pin Options

Compile Design

Program Periphery viaJTAG using *.periph.jic

Confirm Linkand Data Rate

Program Core via PCIe Link with *.core.rbf

注意: CvPの初期化においては、PCI Expressハード IPに対し CMU PLLとハード・リセット・コントローラを使用する必要があります。

CvP初期化の実演デモには以下の手順が含まれます。1. 合成 HDLファイルの生成2. Device and Pin Optionsでの CvPパラメータの設定3. デザインのコンパイル4. SOFファイルの分割5. ハードウェアの立ち上げ

3-2 Arria 10における CvP初期化に向けた設計の手順の解説UG-20010

2016.05.02

Altera Corporation Arria 10における CvP初期化に向けた設計の手順の解説

フィードバック

Page 16: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

合成 HDLファイルの生成合成 HDLファイルを生成するには、CvPがイネーブルされた状態で次の手順に従ってください。1. Toolsメニューで Qsysを選択します2. プロジェクトの.qsysファイルを開きます3. System Contentsタブで、Arria 10 Hard IP for PCI Expressを右クリックし Editを選択します4. System Settingsで、次の図に示すように Enable Configuration via Protocolをチェックします

図 3-2: Systems Settingダイアログ・ボックスにおけるオプションの選択画面

5. Finishをクリックします6. Generationタブで、RTLを生成するパラメータを指定し、画面下の Generateをクリックします

関連情報Arria 10 Avalon-MM Interface for PCIe Solutions User Guide

Device and Pin Optionsでの CvPパラメータの設定CvPパラメータを指定するには、次の手順を実行します。1. Quartus Prime Assignmentsメニューで、Deviceを選択し、Device and Pin Optionsをクリックします

2. Categoryで Generalを選択し、以下のオプションをイネーブルしますa. Auto-restart configuration after error―このオプションをイネーブルすると、CvPはエラーが検出された後に再開します。

b. Enable autonomous PCIe HIP mode

UG-200102016.05.02 合成 HDLファイルの生成 3-3

Arria 10における CvP初期化に向けた設計の手順の解説 Altera Corporation

フィードバック

Page 17: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

PCI Expressハード IPダイアログ・ボックス内で Enable Configuration via the PCIe linkをチェックし CvPをイネーブルしているのであれば、この項目をチェックしても何の影響もありません。 Quartus Primeソフトウェアは、デフォルトで自動的に Autonomousモードをイネーブルします。Autonomousモードでは、コントロール・ブロックはペリフェラル・イメージがロードされた後、PCI Expressハード IPをリセットから移行させます。PCI Expressハード IPは normal successfulステータスでコンフィギュレーション・リクエストとメモリ・リクエストに応答します。Enable autonomous PCIe HIP modeオプションは、デザインに以下の 2つの設定がある場合に効果が発揮されます。• コア・イメージをロードする際、PCIeリンクの代わりにフラッシュ・デバイスやイーサネット・コントローラを使用している

• PCI Expressハード IPダイアログ・ボックスで Enable Configuration via the PCIe linkにチェックを入れていない

この 2つの条件が両方とも真であれば、以下の 2つのオプションが使用可能です。• Enable autonomous PCIe HIP modeをチェックしている場合、コントロール・ブロックはペリフェラル・イメージがロードされた後、PCI Expressハード IPをリセットから移行させます。Hard IPは FPGAがユーザー・モードとなるまで、コンフィギュレーション・リトライ・ステータス (CRS)でコンフィギュレーション・リクエストに応答し、URステータスでメモリ・リクエストに応答します。

• Enable autonomous PCIe HIP modeをチェックしていない場合、Hard IPは FPGAがユーザー・モードとなるまでリセット状態を維持します。リンク・トレーニングは、FPGAがユーザー・モードとなった後でのみ発生します。

注意: このパラメータは初期コンフィギュレーションの機能のみを制御します。このパラメータ設定により、オープン PCI Expressシステムが PCI Express Base Specificationで定義されたコンフィギュレーション時間の要件を満たすことが可能となります。初期コンフィギュレーション後はコア・イメージのコンフィギュレーションが完了しているため、このパラメータは意味を持つことはありません。

c. その他のオプションはすべてディセーブルにしておきます3. Categoryで、CvP Settingsを選択し、以下の設定を指定します

パラメータ 値

Configuration via Protocol コアの初期化Enable CvP_CONFDONE pin このオプションをオンにするEnable open drainon CvP_CONFDONE pin このオプションをオンにする

3-4 Device and Pin Optionsでの CvPパラメータの設定UG-20010

2016.05.02

Altera Corporation Arria 10における CvP初期化に向けた設計の手順の解説

フィードバック

Page 18: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 3-3: Device and Pin optionsダイアログ・ボックスにおける CvPパラメータの設定画面

デザインのコンパイル1. デザインをコンパイルするには、Processingメニューで Start Compilationをクリックし.SOFファイルを作成します

SOFファイルの分割ペリフェラル・ロジックとコア・ロジックに向けて.SOFファイルを別々のイメージに分割するには、以下の手順に従ってください。1. .SOF fileの生成後、Fileメニューで Convert Programming Fileを選択します2. Output programming fileの箇所で、以下のパラメータを指定します

パラメータ 値

Programming file type JTAG Indirect Configuration File (*.jic)

Configuration device EPCQL1024

Mode アクティブ・シリアルFile name *.jic

Create Memory Map File このオプションをオンにする

Create CvP filesこのオプションをオンにする。このボックスは、Input files to convertで SOF Dataファイルを指定するまでグレーで表示されます。

3. Input files to convertで、以下のパラメータを指定しますパラメータ 値

Flash Loader 10AX115S1F45I1SGE2

SOF Data *.sof

UG-200102016.05.02 デザインのコンパイル 3-5

Arria 10における CvP初期化に向けた設計の手順の解説 Altera Corporation

フィードバック

Page 19: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

4. Create CvP filesがチェックされていることを確認します注意: このボックスをチェックしていない場合、Quartus Primeソフトウェアはペリフェラ

ル・イメージとコア・イメージに対し別々のファイルを作成しません。図 3-4: Convert Programming File GUIにおける上記で説明したオプションの指定画面

5. Generateをクリックし、.periph.jicファイルと.core.rbfファイルを作成します

ハードウェアの立ち上げハードウェアでデザインをテストする前に、DUTシステムに Jungo WinDriverをインストールする必要があります。RWユーティリティをはじめとするシステム検証ツールをインストールして、エンドポイントのリンク状態をモニタしたり、リンクのトラフィックを観察することも可能です。このようなユーティリティは多くのウェブサイトから無償でダウンロード可能です。検証の設定には以下のコンポーネントが含まれます。• Arria 10 FPGA開発キット• USB Blaster• Arria 10 FPGA開発キットにプラグインするための PCI Expressスロットを備えた DUT PC• ペリフェラル・イメージ、.sofおよび.pofファイルをプログラムするために Quartus Primeソフトウェアを実行するホスト PC

厳密には個別のホスト PCは必要ではありませんが、個別のホスト PCがあれば検証作業は煩雑さは軽減されます。

3-6 ハードウェアの立ち上げUG-20010

2016.05.02

Altera Corporation Arria 10における CvP初期化に向けた設計の手順の解説

フィードバック

Page 20: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Windowsシステムへの Jungo WinDriverのインストール1. <Quartus Prime installation path>\quartus\drivers\wdrvr\windows<32 or 64> へと進みます2. 以下のコマンドを実行します

• wdreg -inf windrvr6.inf install

3. wdapi1021.dllファイルを%windir%\system32ディレクトリへコピーします

Linuxシステムへの Jungo WinDriverのインストール1. <Quartus Prime installation path>/quartus/drivers/wdrvr/linux<32 or 64> へと進みます2. 以下のコマンドを実行します

a. ./configure --disable-usb-support

b. make

c. su

d. make install

3. デバイス・ファイルへのアクセス権限は変更可能です。例:chmod 666 /dev/windrvr64. 64ビットの Linuxシステムの場合、quartus_cvpを実行する前に以下のコマンドを使用して

Quartus_64BIT環境変数を設定します。• export QUARTUS_64BIT=1

5. quartus_cvpコマンドを使用することで FPGAに*core .rbfファイルをダウンロード可能です。以下のテーブルは、すべてのモードに対する quartus_cvpコマンドを示しています。

表 3-1: quartus_cvpコマンドのシンタックス

モード quartus_cvpコマンド

Uncompressedquartus_cvp --vid=<Vendor ID> --did=<Device ID> <Core .rbf file path>

Unencrypted

Compressed quartus_cvp -c --vid=<Vendor ID> --did=<Device ID> <Core .rbf file

path>

Encrypted quartus_cvp -e --vid=<Vendor ID> --did=<Device ID> <Core .rbf file

path>

Compressed andencrypted

quartus_cvp -c -e --vid=<Vendor ID> --did=<Device ID> <Core .rbf file

path>

UG-200102016.05.02 Windowsシステムへの Jungo WinDriverのインストール 3-7

Arria 10における CvP初期化に向けた設計の手順の解説 Altera Corporation

フィードバック

Page 21: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10開発キットの MSEL/DIPスイッチの変更MSEL/DIPスイッチには Arria 10 FPGA開発キットの裏面に SW5というラベルが貼られています。スイッチを右にするとロジック 0を意味し、左にするとロジック 1を意味します。たとえば、MSEL [2:0] = 011であれば上から下に左、左、右の順で設定します。

表 3-2: Arria 10デバイスの各コンフィギュレーション手法に向けた MSELピンの設定

• MSELピンは、マイクロプロセッサや他のデバイスでドライブしないでください• HPSを経由するコンフィギュレーションには、PSあるいは FPP MSELピン設定を使用してくださいコンフィギュレーショ

ン方法VCCPGM (V) Power-On Reset(POR)

遅延有効 MSEL[2..0]

JTAGベースのコンフィギュレーション

— — 下記のいずれかの有効な MSELピン設定を使用します

AS(x1と x4) 1.8Fast 010

Standard 011

PSおよびFPP(x8、x16、x32)

1.2/1.5/1.8

Fast 000

Standard 001

CvPイメージのプログラミングペリフェラル・イメージ(.periph.jic)をプログラムした後は、PCIeリンクを使用しコア・イメージ(.core.rbf)をダウンロードする必要があります。JTAGポート経由でペリフェラル・イメージをロードした後、リンクは予期されるデータ・レートとリンク幅に到達するはずです。RWユーティリティを使用して PCIeリンクの状態を確認することができます。CvPの機能性のプログラミングや検証を実行するには、この手順に従ってください。1. Arria 10 FPGA開発キットを DUT PCの PCI Expressスロットへ接続し、パワーを ONにします。アルテラでは開発キットに含まれる外部電源の使用を推奨しています。

2. ホスト PC上で、Quartus Prime Toolsメニューを開き Programmerを選択します3. USB Blasterが Arria 10 FPGAを認識していることを確認するために Auto Detectをクリックします

4. ペリフェラル・イメージをプログラムするには、次のステップに従います。a. Arria 10デバイスを選択し、Fileカラムで Noneを右クリックしますb. .periph.jicファイルへ進み Openをクリックしますc. Program/Configure カラムで、10AX115S1E2や EPCQL1024といったデバイスを選択しますd. Startをクリックして EPCQL1024フラッシュにペリフェラル・イメージをプログラムします

3-8 Arria 10開発キットの MSEL/DIPスイッチの変更UG-20010

2016.05.02

Altera Corporation Arria 10における CvP初期化に向けた設計の手順の解説

フィードバック

Page 22: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 3-5: ペリフェラル・イメージをプログラムするオプションの選択画面

5. .periph.jicのプログラム後、新しいペリフェラル・イメージがオンボード・フラッシュからFPGAにロードされるよう FPGAの電源を再投入する必要があります。 ホスト PCが新しいイメージでリンクを列挙するよう強制するには、DUT PCと Arria 10 FPGA開発キットの電源を再投入します。

6. リンク・ステータスの検証には、RWユーティリティや他のシステム・ソフトウェア・ドライバを使用することができます。期待されるリンク速度と幅を確認可能です。

7. コア・イメージをプログラムするには、次のステップに従います。a. .core.rbfファイルを適切な Quartus Prime binインストール・ディレクトリへコピーします。システムが 32ビットであるか 64ビットであるかによって、フォルダは…./quartus/bin32と…./quartus/bin64に分かれます。

b. Windowsで Command Promptを開き、前の手順でファイルがコピーされた箇所にディレクトリを変更します

c. 次のコマンドを入力してコア・イメージをプログラムしますquartus_cvp --vid=<Vendor ID> --did=<Device ID> xxx.core.rbf

このコマンドでは、Vendor IDと Device IDの値は 16進数であり、Hard IP for PCI Expressダイアログ・ボックスで指定されます。例:quartus_cvp --vid=1172 --did=e003 xxx.core.rbf

d. 以下は、CvPのプログラミングが成功した場合の画面です

UG-200102016.05.02 CvPイメージのプログラミング 3-9

Arria 10における CvP初期化に向けた設計の手順の解説 Altera Corporation

フィードバック

Page 24: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

CvPドライバとレジスタ 42016.05.02

UG-20010 更新情報 フィードバック

CvPドライバのサポートアルテラが提供するサンプル Linuxドライバ・ソースコードを使用すれば、Linuxに向けてユーザーによる独自のカスタム CvPドライバを開発することができます。このサンプル・ドライバは C言語で記述されており、Configuration via Protocolのウェブページからダウンロード可能です。また、Jungo WinDriverツールを使用して独自の CvPドライバを開発することもできます。この場合、WinDriverのライセンスを購入する必要があります。関連情報Configuration via Protocolサンプル Linuxデバイス・ソース・コードについての詳細情報です。

CvPドライバのフロー以下の図は、提供の CvPドライバのフローを表しています。このフローは、FPGAに電源が投入されておりコントロール・ブロックはペリフェラル・イメージで FPGAをコンフィギュレーション済みであると仮定しています。このことは、CvPステータス・レジスタの CVP_ENビットで表されています。この図で示されるように、Start Teardownフローの 3つ目のステップにおいて、CVP DATAレジスタへの 244のダミー・コンフィギュレーション・ライトあるいはこのデバイスに対してメモリ・スペース BARで定義されたアドレスに 244個のメモリ・ライトが必要とされます。メモリ・ライトはコンフィギュレーション・ライトよりもスループットが高いため、より好ましいとされます。ダミー・ライトは 2 msの遅延を発生させるため、コントロール・ブロックが必要となる動作を完了することを可能とします。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 25: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 4-1: CvPドライバのフロー

Arria 10などの高集積度を持つデバイスでは、CVPステータス・レジスタ・ビットのアサーションに最大で 500 ms待機することが必要となる場合があります。

開始

CVP_ENビットをCvP ステータス・レジスタからリードする

CVP_CONFIG_READY=1?no

yes

CVP_EN=1?no (1)

yes

no

Teardownへ進む

CVP_CONFIG_ERROR=1?yes

no

yes

転送の開始

no

完了

CVP_CONFIG_READY=0?no

yes

CVP_CONFIG_ERROR_LATCHED= 0?

yes

Teardownの開始

PLD_CLK_IN_USE = 1かつ

USER_MODE = 1?

no

yes

(1) ペリフェラル・ロードが完了するまで待機します。

「1」をHIP_CLK_SELへライトし、その後CvPモードのコントロール・レジスタでCVP_MODEビットに「1」をライトする

CVP_NUMCLKSバイトをCvPモード・コントロール・レジスタの0x01へ設定し、そのハードIPへ244のダミー・ライトを発行します。ダミー・ライトはCVP_DATAレジスタへのconfigライトかこのデバイスに対してBARによって定義される任意のアドレスへのメモリ・ライトとすることができます。

「1」をCvPプログラミング・コントロールレジスタのCVP_CONFIGへライトします

CVP_CONFIG_READYビットをCvPステータス・レジスタからポーリングします

CVP_NUMCLKSバイトをCvPモード・コントロール・レジスタの0x01へ設定し、そのハードIPへ244のダミー・ライトを発行すると、コントロール・ブロックが内部クロックをCvPクロックへと変更させます。ダミー・ライトはCVP_DATAレジスタへのconfigライトかこのデバイスに対してBARによって定義される任意のアドレスへのメモリ・ライトとすることができます。

「1」をCvPプログラミング・コントロール・レジスタのSTART_XFERビットへ ライトします

転送へ進みます

コンフィギュレーション・イメージに応じてCvPモード・コントロール・レジスタでCVP_NUMCLKSバイトを設定します

32ビット・ファブリック・コンフィギュレーションデータを(*.core.rbfファイルから)CvPデータレジスタへライトします

CvPステータス・レジスタのCVP_CONFIG_ERRORビットをリードします

コンフィギュレーション・エラーをログします

ファブリック・コンフィギュレーション

ファイル(.core.rbf)の最後?

「0」をCvPモード・コントロール・レジスタのSTART_XFERビットへライトします

「0」をCvPプログラミング・コントロールレジスタのCVP_CONFIGビットへライトします

CVP_NUMCLKSバイトをCvPモード・コントロール・レジスタの0x01へ設定し、そのハードIPへ244のダミー・ライトを発行します。ダミー・ライトはCVP_DATAレジスタへのconfigライトかこのデバイスに対してBARによって定義される任意のアドレスへのメモリ・ライトとすることができます。

CVP_CONFIG_READYビットをCvPステータス・レジスタからポーリングします

修正不可能な内部エラー・ステータス・レジスタよりCVP_CONFIG_ERROR_LATCHEDビットをリードします

「0」をCVP_MODEとHIP_CLK_SELへライトします

CvPステータス・レジスタよりPLD_CLK_IN_USEとUSER_MODEをポーリングします

CvP向け VSECレジスタベンダ固有の拡張ケーパビリティ(VSEC)レジスタは、PCIeコンフィギュレーション・スペースのバイト・オフセット 0x200から 0x240を使用します。PCIeホストは、FPGAコントロール・

4-2 CvP向け VSECレジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 26: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ブロックとの通信にこのレジスタを使用します。次のテーブルは VSECレジスタ・マップを示しています。その次のテーブルでは、各レジスタの領域と説明を確認することができます。

表 4-1: CvP向け VSECレジスタ

バイト・オフセット レジスタ名

0x200 Altera-defined Vendor Specific Capability Header0x204 Altera-defined Vendor Specific Header0x208 Altera Marker

0x20C:0x218 Reserved0x21C CvP Status0x220 CvP Mode Control0x224 CvP Data 20x228 CvP Data0x22C CvP Programming Control0x230 Reserved0x234 Uncorrectable Internal Error Status Register0x238 Uncorrectable Internal Error Mask Register0x23C Correctable Internal Error Status Register0x240 Correctable Internal Error Mask Register

アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ

表 4-2: アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ(バイト・オフセット:0x200)

ビット 名称 リセット値 アクセス 説明

[15:0] PCI Express ExtendedCapability ID

0x000B RO VSEC Capability IDに向けて定義された PCIe使用の値

[19:16] バージョン 0x1 RO VSECバージョンに向けて定義された PCIe使用の値

[31:20] Next Capability Offset 変数 RO 実装される次のケーパビリティ・ストラクチャが存在する場合、その開始アドレス

アルテラ定義のベンダ固有ヘッダ・レジスタ

UG-200102016.05.02 アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ 4-3

CvPドライバとレジスタ Altera Corporation

フィードバック

Page 27: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

表 4-3: アルテラ定義のベンダ固有ヘッダ・レジスタ(バイト・オフセット:0x204)

ビット 名称 リセット値 アクセス 説明

[15:0] VSEC ID 0x1172 RO ユーザーによるコンフィギュレーションが可能な VSEC ID

[19:16] VSEC Revision 0 RO ユーザーによるコンフィギュレーションが可能な VSECリビジョン

[31:20] VSEC Length 0x044 RO このストラクチャのバイト単位での長さの合計

アルテラ・マーカー・レジスタ

表 4-4: アルテラ・マーカー・レジスタ(バイト・オフセット:0x208)

ビット 名称 リセット値 アクセス 説明

[31:0] Altera Marker デバイスの値

RO 追加のマーカーです。CvPを持つデバイスのコンフィギュレーションに標準の AlteraProgrammerソフトウェアを使用する場合、このマーカーは正しい VSECで作動していることを確認するためにプログラミング・ソフトウェアがリードする値を提供します。

CvPステータス・レジスタ

表 4-5: CvPステータス・レジスタ(バイト・オフセット:0x21C)

ビット 名称 リセット値 アクセス 説明

[31:26] — 0x00 RO 予約[25] PLD_CORE_READY 変数 RO FPGAファブリックより。この

ステータス・ビットはデバッグ用に提供されます。

[24] PLD_CLK_IN_USE 変数 RO スイッチ・モジュールからファブリック。このステータス・ビットはデバッグ用に提供されます。

4-4 アルテラ・マーカー・レジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 28: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ビット 名称 リセット値 アクセス 説明

[23] CVP_CONFIG_DONE 変数 RO Indicates that the FPGAコントロール・ブロックが CvPを介してデバイス・コンフィギュレーションを完了しており、エラーがないことを示します。

[22] — 変数 RO 予約[21] USERMODE 変数 RO コンフィギュレーション可能な

FPGAファブリックがユーザー・モードであるかを示します。

[20] CVP_EN 変数 RO FPGAコントロール・ブロックがCvPモードをイネーブルしているかを示します。

[19] CVP_CONFIG_ERROR 変数 RO FPGAコントロール・ブロックからの信号の値を反映し、コンフィギュレーション中にエラーが発生したかどうかをソフトウェアによってチェックされます。

[18] CVP_CONFIG_READY 変数 RO FPGAコントロール・ブロックからの信号の値を反映し、プログラミング・アルゴリズム中にソフトウェアによってチェックされます。

[17:0] — 変数 RO 予約

CvPモード・コントロール・レジスタ表 4-6: CvPモード・コントロール・レジスタ(バイト・オフセット:0x220)

ビット 名称 リセット値 アクセス 説明

[31:16] — 0x0000 RO 予約

UG-200102016.05.02 CvPモード・コントロール・レジスタ 4-5

CvPドライバとレジスタ Altera Corporation

フィードバック

Page 29: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ビット 名称 リセット値 アクセス 説明

[15:8] CVP_NUMCLKS 0x00 RW それぞれの CvPデータ・ライトに送信するクロック数ですコンフィギュレーション・イメージに応じて以下のいずれかの値でこの領域を設定します。• 非圧縮で暗号化されていないイメージの場合 0x01

• 非圧縮で暗号化されたイメージの場合 0x04

• すべての圧縮されたイメージの場合 0x08

[7:3] — 0x0 RO 予約[2] CVP_FULLCONFIG 1'b0 RW 値 1は、コントロール・ブロック

が PCI Expressハード IPを含むFPGA全体をリコンフィギュレーションし、PCIeリンクを停止するリクエストを示します。

[1] HIP_CLK_SEL 1'b0 RW USER_MODE = 1で PLD_CORE_READY = 1の際、PMAとファブリック・クロック間で選択します。以下のエンコーディングが定義されています。• 1:CVP_MODEに必須の PMAからの内部クロックを選択する

• 0:ソフト・ロジック・ファブリックからのクロックを選択する。この設定は、正しいクロックに接続するコンフィギュレーション・ファイルを使用しファブリックを USER_MODEでコンフィギュレーションする場合にのみ使用すべきです。

CvP実行中にクロックの切り替えが存在しないことを確認するには、PCI Expressハード IPが 10 µs間アイドル状態のときにのみこの値を変更し、変更後、実行を再開する前に 10 µs間待機すべきです。

4-6 CvPモード・コントロール・レジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 30: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ビット 名称 リセット値 アクセス 説明

[0] CVP_MODE 1'b0 RW PCI Expressハード IPが CVP_MODEであるか Normalモードであるかを制御します。以下のエンコーディングが定義されています。• 1:CVP_MODEはアクティブです。FPGAコントロール・ブロックがアクティブとなるよう信号を送信し、すべての TLPはコンフィギュレーション・スペースへ接続されます。CVP_MODEは CVP_EN = 0の場合イネーブル不可能です。

• 0:IPコアは Normalモードで、TLPは FPGAファブリックへ接続されます。

UG-200102016.05.02 CvPモード・コントロール・レジスタ 4-7

CvPドライバとレジスタ Altera Corporation

フィードバック

Page 31: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

CvPデータ・レジスタ

表 4-7: CvPデータ・レジスタ(バイト・オフセット:0x224 - 0x228)

ビット 名称 リセット値 アクセス 説明

[31:0] CVP_DATA2 0x00000000 RW 64ビット・コンフィギュレーション・データの上部 32ビットを含みます。ソフトウェアは、両方のDWORDですべてのバイトがイネーブルされていることを確認する必要があります。

[31:0] CVP_DATA 0x00000000 RW コンフィギュレーション・データをこのレジスタへライトします。データはデバイスをコンフィギュレーションするため FPGAコントロール・ブロックへ転送されます。このレジスタへの書き込みごとにデータ出力を FPGAコントロール・ブロックへ設定し、CvPモード・コントロール・レジスタのCVP_NUM_CLKS領域で指定されるように FPGAコントロール・ブロックに<n>クロック・サイクルを生成します。ソフトウェアはメモリ・ライト DWORDのすべてのバイトがイネーブルされていることを確認する必要があります。このレジスタへは、コンフィギュレーション・ライトを使用しアクセス可能です。また CvPモードでは、このレジスタはメモリ・ライトによってこのデバイスに向けてメモリ・スペース BARで定義された任意のアドレスに書き込みすることが可能です。メモリ・ライトの使用は、コンフィギュレーション・ライトよりも高いスループットとなります。

CvPプログラミング・コントロール・レジスタ

表 4-8: CvPプログラミング・コントロール・レジスタ(バイト・オフセット:0x22C)

ビット 名称 リセット値 アクセス 説明

[31:2] — 0x0000 RO 予約

4-8 CvPデータ・レジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 33: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

修正不可能な内部エラー・ステータス・レジスタこのレジスタは修正不可能な内部でチェックされたエラーのステータスをレポートします。Uncorrectable Internal Error Maskレジスタによって特定のエラーがイネーブルされると、そのエラーは PCI Express Base Specification 3.0で定義されている Uncorrectable Internal Error(修正不可能な内部エラー)として処理されます。このレジスタはデバッグ専用です。このレジスタはカスタム・ロジックをドライブするためではなく、ビヘイビアを観察するために使用します。

表 4-9: 修正不可能な内部エラー・ステータス・レジスタ(バイト・オフセット:0x234)

ビット リセット値 アクセス 説明

[31:12] 0x00 RO 予約[11] 1'b0 RW1CS 値 1は、ポステッド・リクエストや Completion

セグメント内の RXバッファ・オーバーフロー要件を示します。

[10] 1'b0 RW1CS 値 1は、R2CSEBインタフェースでパリティ・エラーが検出されたことを示します。

[9] 1'b0 RW1CS 値 1は、コンフィギュレーション・スペースから TXのバス・インタフェースでパリティ・エラーが検出されたことを示します。

[8] 1'b0 RW1CS 値 1は、TXからコンフィギュレーション・スペースのバス・インタフェースでパリティ・エラーが検出されたことを示します。

[7] 1'b0 RW1CS 値 1は TX TLPでパリティ・エラーが検出され、TLPが送信されていないことを示します。

[6] 1'b0 RW1CS 値 1は、Application Layerが修正不可能な内部エラーが検出されたことを示します。

[5] 1'b0 RW1CS 値 1は、修正不可能としてレポートされるコンフィギュレーション・エラーが CvPモードで検出されたことを示します。CVP_MODEでCVP_CONFIG_ERRORがアサートされる際は、常に CVP_CONFIG_ERROR_LATCHEDビットが設定されます。

[4] 1'b0 RW1CS 値 1は、TX Data Link Layerによってパリティ・エラーが検出されたことを示します。

[3] 1'b0 RW1CS 値 1は、RXからコンフィギュレーション・スペースのバス・インタフェースでパリティ・エラーが検出されたことを示します。

[2] 1'b0 RW1CS 値 1は、入力から RXバッファでパリティ・エラーが検出されたことを示します。

[1] 1'b0 RW1CS 値 1は、リトライ・バッファの修正不可能な ECCエラーを示します。

4-10 修正不可能な内部エラー・ステータス・レジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 35: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

修正不可能な内部エラー・マスク・レジスタこのレジスタは内部で修正不可能なエラーとして転送されるエラーを制御します。このエラーは CvPモードで検出されるコンフィギュレーション・エラー以外はすべて深刻であり、デバイスや PCIeリンクを不整合な状態にすることがあります。CvPモードで検出されたコンフィギュレーション・エラーはプログラミング・ソフトウェアのデザインによっては修正が可能な場合もあります。

表 4-10: 修正不可能な内部エラー・マスク・レジスタ(バイト・オフセット:0x238)

ビット リセット値 アクセス 説明

[31:12] 0x00 RO 予約[11] 1'b1 RWS ポストされた RXバッファおよび completionオ

ーバーフロー・エラーのマスク[10] 1'b1 RWS R2CSEBインタフェース上のパリティ・エラーの

マスク[9] 1'b1 RWS コンフィギュレーション・スペースから TXの

バス・インタフェース上のパリティ・エラーのマスク

[8] 1'b1 RWS TXからコンフィギュレーション・スペースのバス・インタフェースのマスク

[7] 1'b1 RWS トランザクション・レイヤ・パケットのパリティ・エラーのマスク

[6] 1'b1 RWS トランザクション・レイヤのパリティ・エラーのマスク

[5] 1'b0 RWS CvPモードのコンフィギュレーション・エラーのマスク

[4] 1'b1 RWS TX Data Link LCRC生成中に検出されたパリティ・エラーのマスク

[3] 1'b1 RWS RXからコンフィギュレーション・スペースのバス・インタフェースで検出されたデータ・パリティ・エラーのマスク

[2] 1'b1 RWS 入力から RXバッファで検出されたデータ・パリティ・エラーのマスク

[1] 1'b1 RWS リトライ・バッファの修正不可能な ECCエラーのマスク

[0] 1'b1 RWS RXバッファの修正不可能な ECCエラーのマスク

修正可能な内部エラー・ステータス・レジスタこのレジスタは修正可能な内部でチェックされたエラーのステータスをレポートします。Correctable Internal Error Maskレジスタによってこのような特定のエラーがイネーブルされ

4-12 修正不可能な内部エラー・マスク・レジスタUG-20010

2016.05.02

Altera Corporation CvPドライバとレジスタ

フィードバック

Page 36: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ると、エラーは PCI Express Base Specification 3.0で定義されている Correctable Internal Error(修正可能な内部エラー)として処理されます。このレジスタはデバッグ専用です。このレジスタはカスタム・ロジックをドライブするためではなく、ビヘイビアを観察するために使用します。

表 4-11: 修正可能な内部エラー・ステータス・レジスタ(バイト・オフセット:0x23C)

ビット リセット値 アクセス 説明

[31:7] 0x000 RO 予約[6] 1'b0 RW1CS 値 1は、Application Layerが修正可能な内部エラ

ーが検出されたことを示します。[5] 1'b0 RW1CS 値 1は、コンフィギュレーション・エラーが CvP

モードで検出され、このエラーは修正可能であるとレポートされていることを示します。CVP_MODEで CVP_CONFIG_ERRORが発生する際は、常にこのビットが設定されます。

[4:2] 0x0 RO 予約[1] 1'b0 RW1CS 値 1は、リトライ・バッファの修正可能な ECC

エラーを示します。[0] 1'b0 RW1CS 値 1は、RXバッファの修正可能な ECCエラー

を示します。

修正可能な内部エラー・マスク・レジスタこのレジスタは内部で修正可能なエラーとして転送されるエラーを制御します。このレジスタはデバッグ専用です。

表 4-12: 修正可能な内部エラー・マスク・レジスタ(バイト・オフセット:0x240)

ビット リセット値 アクセス 説明

[31:7] 0x000 RO 予約[6] 1'b0 RWS Application Layerによってレポートされる修正

可能な内部エラーのマスク[5] 1'b0 RWS CvPモードで検出されるコンフィギュレーショ

ン・エラーのマスク[4:2] 0x0 RO 予約[1] 1'b0 RWS リトライ・バッファの修正可能な ECCエラーの

マスク[0] 1'b0 RWS RXバッファの修正可能な ECCエラーのマスク

UG-200102016.05.02 修正可能な内部エラー・マスク・レジスタ 4-13

CvPドライバとレジスタ Altera Corporation

フィードバック

Page 37: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10におけるプロトコルを経由したパーシャル・リコンフィギュレーション 5

2016.05.02

UG-20010 更新情報 フィードバック

パーシャル・リコンフィギュレーション(PR)は、FPGAデバイスのコア・ロジック以外の部分は動作を継続した状態で FPGAデザインのコア・ロジックを動的にリコンフィギュレーションすることができる高度な機能です。パーシャル・リコンフィギュレーションは Cyclone V(1)、StratixV、および Arria 10デバイス・ファミリでサポートされています。プロトコルを経由したパーシャル・リコンフィギュレーションは、PCI Express(PCIe)リンクを使用した FPGAファブリックのコンフィギュレーション手法を提供します。注意: Arria 10デバイスの場合、パーシャル・リコンフィギュレーションのような高度な機能を

使用するには、Quartus Prime Proエディション・ソフトウェアが必要となります。関連情報• Introduction to Altera IP Coresすべてのアルテラ IPコアに関する、パラメータ化、アップグレード、IPのシミュレーションといった基本的な情報を提供します。

• Creating Version-Independent IP and Qsys Simulation Scriptsソフトウェアあるいは IPのバージョンのアップグレードに手動での更新を必要としないシミュレーション・スクリプトの作成について詳しい情報を提供します。

• Project Management Best Practicesプロジェクトおよび IPファイルの効率的な管理および移植性のためのガイドラインを提供します。

PCI Express経由の PRを使用するメリットPCI Express経由の PRを使用するメリットは以下の通りです。

(1) 部品番号の末尾に「SC」のある Cyclone V E、GX、SE、および SXデバイスではパーシャル・リコンフィギュレーション機能が使用可能です。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 38: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

• デザインのコア以外の部分が動作を継続する間、LAB、MLAB、DSP、および RAMといったFPGAデザインのコア部分の動的な更新が可能です。

• ハードウェア・アクセラレーションを容易にします。• デザイン保護:PCIe経由の PRは、デザインの不正な改ざんやコピーに対する保護を提供する FPGAファブリック・イメージのみに PCIeホストがアクセスできるようにします。

• イメージの更新にシステムのダウン・タイムを必要としません。ホスト・リブートあるいはFPGAフル・チップの再初期化を実行することなく PCIeリンク経由で FPGAファブリックを部分的に更新することが可能です。

• PCIe Hard IPブロックの左下の部分を使用する Configuration via Protocol(CvP)とは異なり、任意の PCI Expressハード IPの IPコアを PCIe経由の PRに使用することが可能です。HardIPコアは、エンドポイントとしてコンフィギュレーションする必要があります。

• Avalon-MMあるいは Avalon-MM DMAを備えた PCIeハード IPであればコンフィギュレーションがサポートされているため、Gen1x1から Gen3x8の任意の PCI Expressリンクを使用することができます。

PCIe経由の PRシステム次の図は、PCIe経由の PRデザインの一般的な設計機構を表しています。

図 5-1: PCIe経由の PR AVMMデザイン・ブロック図

RootComplex

PCIeHard IP

PartialReconfiguration

IP Core

PartialReconfiguration

Control Block

PartialReconfiguration

Regions with Multiple Personas

Avalon-MM

Host PC

上記のブロック図では、Altera FPGAの PCIeカードがホスト PCに接続されています。ホストPCはアプリケーション・ソフトウェアを使用しパケット形式で PCIeのハード IPへ PRビット・ストリームを送信します。このパケットはその後、Avalon MMスレーブ・インタフェースを経由し PR IPによって受信されます。PR IPコアは、ハード PRコントロール・ブロックへのマスタとして動作します。PR IPコアは、PRコントロール・ブロックへのデータ・ビットおよびフローを制御するだけでなく、PCIeエンドポイントを経由して PRコントロール・ブロックからホスト PCへステータスも返送します。

5-2 PCIe経由の PRシステムUG-20010

2016.05.02

Altera Corporation Arria 10におけるプロトコルを経由したパーシャル・リコンフィギュレーション

フィードバック

Page 39: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

パーシャル・リコンフィギュレーション IPコアPCIe経由のリコンフィギュレーションは、コア・ロジック内に位置する内部ホストとして PR IPコアを使用することで実行されますが、これにより対応する crcblockおよび prblock

WYSIWYG素子レベル・プリミティブが自動的にインスタンス化されます。図 5-2: 内部ホストを使用したパーシャル・リコンフィギュレーション

PR IP Core

PR Region

PR Bitstreamfile (.rbf) in

external memory

パーシャル・リコンフィギュレーション中は、PRコントロール・ブロック(CB)は Passive Parallelx16あるいは x32 programmingモードとなります。

図 5-3: PR IPコアのコンポーネント

CRCBLOCK PRBLOCK

CB Interface Controller

Freeze/Unfreeze Controller

JTAG DebugInterface

PR DataInterface

FPGA ControlBlock (CB)Interface Module

Main ControllerModule (1)

PR Data SourceInterface Module

Note:1. メイン・コントローラ・モジュールは、CBインタフェースのすべてのハンドシェイク 信号を処理し、PRBLOCKへ送信する前に必要に応じて受信データを処理します。 また、freeze/un-freeze PR インタフェースも処理します

Data Source Controller

Bitstream Decoder

PR IPコアをインスタンス化すると、コントロール・ブロック・インタフェース・コントローラ、フリーズ/アンフリーズ・コントローラ、データ・ソース・コントローラを含むメイン・コ

UG-200102016.05.02 パーシャル・リコンフィギュレーション IPコア 5-3

Arria 10におけるプロトコルを経由したパーシャル・リコンフィギュレーション Altera Corporation

フィードバック

Page 40: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ントローラはすべてインスタンス化されます。データ・ソース・インタフェース・モジュールは、JTAGデバッグ・インタフェースと PRデータ・インタフェースを提供します。関連情報Partial Reconfiguration IP Core User GuidePR IPコアおよびそのインスタンス化方法についての詳細情報です。

5-4 パーシャル・リコンフィギュレーション IPコアUG-20010

2016.05.02

Altera Corporation Arria 10におけるプロトコルを経由したパーシャル・リコンフィギュレーション

フィードバック

Page 41: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10における PCI Express経由の PRのデザイン・プランニング 6

2016.05.02

UG-20010 更新情報 フィードバック

PCIe経由のパーシャル・リコンフィギュレーションのプランニングは以下の手順から構成されます。• パーティション階層の特定• 複数のリビジョンの作成• PRデザインのフロアプラン• PRデザインのクロックおよびグローバル信号のアサインメント• PRパーティションへのフリーズ・ロジックの挿入

パーティション階層の特定PRデザインは 2種類のパーティションで構成されています。• スタティック・パーティション• リコンフィギュレーション可能なパーティションスタティック・パーティションとは、PR処理中に変更されることがないデザイン部分のことを指します。スタティック領域には、任意のデザイン・エレメントを含めることが可能で、このデザイン例では PCIeシステムと PR IPコアがスタティック領域の基礎を形成しています。リコンフィギュレーション可能なパーティションは、デザインの残りの部分が動作を継続する間、ランタイムで別の実装で再プログラムされます。PRパーティションの各実装は、Persona(ペルソナ)として知られています。スタティック・パーティションは 1つのペルソナしか持たせることはできませんが、リコンフィギュレーションが可能なパーティションには複数のペルソナを持たせることが可能です。PRパーティションには、以下のいずれかの種類のデザイン・エレメントしか含めることができません。• ロジック・ブロック - LUTおよびレジスタ• RAM• DSP

PRパーティションへのインタフェースは、リコンフィギュレーション可能な領域とスタティック領域間の論理的境界として機能します。よって所定の PRパーティションのペルソナはすべて、完全に同じインタフェース(入力ポートと出力ポート)を共有しなければいけません。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 42: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

複数のリビジョンの作成PRデザインは、複数のリビジョンを持つプロジェクト・モデルを使用します。リビジョンはいずれも以下の種類に分類されます。• ベース・リビジョン• リコンフィギュレーション可能なリビジョン• 集合的リビジョンベース・リビジョンは、FPGAのベース・コンフィギュレーションを定義し、デザインのスタティック領域とリコンフィギュレーション可能な領域間の境界を設定します。アルテラでは、以降の実装に向けてコンパイラに十分なルーティングが確保されるよう、多量のリソース使用量を持ちリコンフィギュレーションが可能である重要なペルソナをベース・リビジョンに含めることを推奨しています。リコンフィギュレーション可能なリビジョンはチップ上の 1つ、あるいは複数の PR領域に対し新しい実装を定義します。複数の PR領域を持つデザインに対しては、集合的リビジョンが必要となります。このリビジョンは、複数のリコンフィギュレーション可能なリビジョンからペルソナを組み合わせることで得られます。このリビジョンはスタティックおよびリコンフィギュレーション可能な実行をサインオフ・タイミング解析の実行に向けて完全なデザインにアセンブルします。

PRデザインのフロアプラン実装するいずれのペルソナに対してもスタティック領域を持つ PR領域のインタフェースが統一されるよう、LogicLock Plus領域を作成する必要があります。PR領域のペルソナがそれぞれ異なるエリア要件を持つ場合、その領域の最大のペルソナが収まるのに十分なリソースを持つLogicLock Plus領域を作成する必要があります。プロジェクトのスタティック領域は必ずしもフロアプランは必要ではありませんが、特定のスタティック領域に対してフロアプランを作成することも可能です。PR領域に割り当てる LogicLock Plus領域のサイズには制限はありませんが、Quartus Primeソフトウェアによって PR領域のペリフェラルに wire-LUTが追加されるため、PR領域の LogicLockPlus領域は同等の非 PR領域よりもわずかに大きくする必要があります。PR領域にはパーシャル・リコンフィギュレーションが可能なリソースのみが含まれていることを確認してください。つまり PRの LogicLock Plus領域には LAB、DSP、および RAMブロックのみ含めることができます。PR領域を複数作成する場合、各 PR領域の間に少なくともスタティック領域カラムが 1つ含まれていることを確認してください。Arria 10デバイスでは、PRプログラミング・ファイルのサイズは PR領域のカラム数に比例します。つまり、広く短い PR領域を使用することで PRプログラミング・ファイルのサイズを小さくすることができます。

PRデザインのクロックおよびグローバル信号のアサインメントPRでは、PRパーティションに必要なグローバル・クロック・リソースをアサインする必要があります。クロック・リソースは Quartus Prime Assignment Editorでグローバル信号アサインメントを作成するか、あるいは設定したいグローバル信号をドライブするクロック・コントロール・ブロックをデザインに追加することでアサインすることができます。

6-2 複数のリビジョンの作成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Express経由の PRのデザイン・プランニング

フィードバック

Page 43: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

PR領域へのグローバル信号の個数は 33に制限されていますが、これには PR領域内で使用される GCLK、RCLK、および PCLKが含まれます。グローバル信号への QSFアサインメントはデザインのクロック要件に基づき、プロジェクトの Quartus Settings File(.qsf)に作成します。PR領域外に複数のクロックが存在するデザインにおいては、PR領域の境界を(RCLKや PCLKといった)グローバル・クロックの境界にアラインすると有益であることがあります。PCLK、RCLK、GCLK、および ACLRなどのグローバル信号を使用する PR領域の各インスタンスは、それらの入力にグローバル信号を使用する必要があります。

PRパーティションへのフリーズ・ロジックの挿入パーシャル・リコンフィギュレーションを使用する際、グローバル・クロックを除く PR領域の非グローバル入力をすべてフリーズする必要があります。ローカルで接続された信号はグローバル信号とは考慮されないため、パーシャル・リコンフィギュレーション中もフリーズする必要があります。フリーズとは、このような PR領域の入力で「1」をドライブすることを意味します。パーシャル・リコンフィギュレーション処理を開始する際、チップはユーザー・モードとなり、デバイスは動作を継続します。

図 6-1: PR領域境界でのフリーズ

PR Region

Data1

Data2User PR_in_freeze

“1”

Hardware-GeneratedFreeze

GlobalClocks

PR領域の非グローバル入力をすべてフリーズすることで、パーシャル・リコンフィギュレーション完了後にデザインの予期せぬビヘイビアをもたらす電流値の衝突が避けられます。PR領域へと入る(Global CLK、Global ACLR、Global RAMライト/リード・イネーブルなどの)グローバル信号は、Highでフリーズするべきではありません。パーシャル・リコンフィギュレーション中は、PR領域の出力はすべて無視するべきです。アルテラではパーシャル・リコンフィギュレーション中、PR領域の出力をシステムの残りの部分の動作に影響を与えない既知状態に接続することを推奨しています。

UG-200102016.05.02 PRパーティションへのフリーズ・ロジックの挿入 6-3

Arria 10における PCI Express経由の PRのデザイン・プランニング Altera Corporation

フィードバック

Page 44: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 7

2016.05.02

UG-20010 更新情報 フィードバック

パーシャル・リコンフィギュレーションは Quartus Prime Proエディション・ソフトウェア内のリビジョンの使用に基づきます。設計の最初のプロセスはベース・リビジョンであり、FPGA上のスタティック領域とリコンフィギュレーション可能な領域の境界を定義します。このベース・リビジョンからリビジョンを複数作成しますが、このようなリビジョンはスタティック領域を含み、リコンフィギュレーション可能領域との違いを説明します。Arria 10デバイスにおいて、PCIe経由の PRデザインは以下のコンパイル・フローを使用します。

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134

Page 45: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 7-1: コンパイル・フロー

Base Revision Setup(Full Device)

Base Synthesis

Base Place and Route

Generate BaseSOF/RBF

Bitstreams

Partial ReconfigurationSynthesis Revision(s)

Setup

PartialReconfiguration

Synthesis

Partial ReconfigurationFit Revision(s)

Setup

Partial ReconfigurationPlace and Route

(Import Static Netlist)

Generate PartialReconfiguration

Bitstreams

Quartus Compilation Flow

User generating Quartus Setting File (.qsf) for Base Revision, PR Synthesis Revision, and PR Fit Revision

PRデザイン・フローは、標準のデザイン・フローと比較してより多くのプランニングが初期段階で必要となります。プランニングにはパーティションへのデザイン・ロジックの設定とフロアプランを作成するための配置アサインメントが必要です。デザイン・エリアの使用率とパフォーマンスを改善するには、パーティションを十分に考慮する必要があります。これにより、タイミング収束がより容易となります。注意: デザイン例の zipファイルの取得につきましては、アルテラまでお問い合わせください。関連情報• 6-1ページの Arria 10における PCI Express経由の PRのデザイン・プランニング• Getting started with PCI Express

7-2 Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 46: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Qsysシステムの作成1. Toolsメニューの Qsysをクリックします2. Qsysプロジェクトに Arria 10 Hard IP for PCI Expressを追加します3. System Settingsで以下の設定を指定します

パラメータ 値

Application interface type コア初期化

HIP mode Gen3:x8、インタフェース:256ビット、250MHz

Port type ネイティブ・エンドポイント

注意: 上記の設定方法は、PCIe経由の PRアプリケーションのみに使用されます。PCIe経由でこれとは別のロジックをドライブするのであれば、状況に応じて PCIe Hard IPコンフィギュレーションを変更することができます。

図 7-2: PCI Express向け Arria 10ハード IPのシステム設定

4. Avalon-MM Settingsで、Instantiate internal descriptor controllerオプションをオンにします。その後、以下のパラメータを指定します。

パラメータ 値

Avalon-MM address width 64ビットAddress width of accessible PCIe memory space 40

5. Base Address Registersで、以下のパラメータを指定します。パラメータ 値

BAR2 64ビット・プリフェッチ可能

UG-200102016.05.02 Qsysシステムの作成 7-3

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 47: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

注意: 任意の BARが使用可能です。このデザイン例では、BAR2は PR IPコア内部ホストに接続されています。

6. Device Identification Registers、PRドライバ要件の通りに Vendor IDと Device IDがそれぞれ0x00001172と 0x00000008に設定されていることを確認します

7. パーシャル・リコンフィギュレーション IPコアを以下の設定で Qsysプロジェクトに追加します

パラメータ 値

Use as PR Internal Host このオプションをオンにしますEnable JTAG debug mode このオプションをオンにしますEnable Avalon-MM slave interface このオプションをオンにしますInput data width 16

Clock-to-Data ratio 1

Divide error detection frequency by 1

Auto-instantiate PR block このオプションをオンにしますAuto-instantiate CRC block このオプションをオンにします

7-4 Qsysシステムの作成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 50: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 7-5: Qsysインタコネクト

10.Qsysシステムを保存し Generate HDL Synthesisをクリックします関連情報• Partial Reconfiguration IP Core User Guide

PR IPコアおよびそのインスタンス化方法についての詳細情報です。• Arria 10 Avalon-MM Interface for PCIe Solutions User Guide• Altera I/O Phase-Locked Loop(Altera IOPLL)IP Core User Guide

ユーザー・ロジックとトップレベル・ファイルの作成1. Quartus Prime Proで Assignments > Settingsの順でクリックします2. Filesカテゴリで、top.qip、freeze_wrapper.v、counter.v、a10prexample.v、a10prexample.sdcをプロジェクトに追加します

UG-200102016.05.02 ユーザー・ロジックとトップレベル・ファイルの作成 7-7

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 51: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 7-6: プロジェクトへのデザイン・ファイルの追加

3. Processing > Start > Start Analysis and Synthesisの順でクリックします

PRパーティションの作成1. Project Navigatorで、freeze_instを右クリックして Create New Regionを選択します。配置配線に向けた境界の作成には、Chip Plannerを使用することができます。

図 7-7: 領域のパラメータ

7-8 PRパーティションの作成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 52: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

ベース SOF/RBFビットストリームの生成1. 以下のコードをベース QSFファイルに追加します(この例では、pr_instと呼ばれるシングル PRインスタンスがフリーズと呼ばれるフリーズ・ラッパー内に位置する仮定しています)。# プロジェクトに対しトップレベル・デザイン・エンディディを設定する。set_global_assignment -name TOP_LEVEL_ENTITY project_top

# 「root_partition」名は、スタティック・パーティションを後続のコンパイルにインポートすることを可能とします。set_instance_assignment -name PARTITION root_partition -to |

# 「freeze|pr」インスタンスを PRパーティションとして認識します。「persona1」という名称には特別な意味はありません。set_instance_assignment -name PARTITION persona1 -to "freeze|pr"

set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to "freeze|pr"

# ASMを比較する場合、現行バージョンの名称と一致させる必要があります。set_global_assignment -name BASE_REVISION "base"

# 排他的 LogicLock Plus領域内に PRロジックを配置します。デザインによって座標は異なる場合があります。set_instance_assignment -name RESERVE_PLACE_REGION ON -to "freeze|pr"

set_instance_assignment -name PLACE_REGION "125 140 144 159" -to "freeze|pr"

# オプション:上で定義された配置領域にルーティング LogicLock Plus領域を作成します。この領域は配置領域を完全に囲む必要があります。set_instance_assignment -name ROUTE_REGION "125 140 144 159" -to "freeze|pr"

# オプションset_global_assignment -name PROJECT_OUTPUT_DIRECTORY <correct directory>

set_global_assignment –name ENABLE_PR_PINS ON

2. freeze|prが排他的配置領域内に配置されていることを確認します。すべての PRパーティションはオーバーラップしないルーティング領域内に収める必要があります。

3. デザインをコンパイルしてベース・イメージを作成します

UG-200102016.05.02 ベース SOF/RBFビットストリームの生成 7-9

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 53: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

PRリビジョンの作成1. 別のエンティティを指し示す合成リビジョンを作成します。例:p2_synth.qsf

# プリアンブルset_global_assignment -name FAMILY "Arria 10"

set_global_assignment -name DEVICE <the correct device>

# 新しいエンティティを指定しますset_global_assignment -name TOP_LEVEL_ENTITY <filename>

set_global_assignment -name VERILOG_FILE <*.v file>

# ディスク上で結果を参照するための名称を指定しますset_instance_assignment -name PARTITION root_partition-to |

2. quartus_synを実行します3. fitリビジョンを作成します。例:p2_fit.qsf

# 「最終的な」スタティック・パーティションのスナップショットをデザインにインポートしますset_instance_assignment -name IMPORT_BLOCK "/base/root_partition/final" –to "|"

# 「persona2_synth」ブロックの合成されたネットリストを「p2_synth」リビジョンにインポートしますset_instance_assignment -name IMPORT_BLOCK "p2_synth/root_partition/synthesized" –to "freeze|pr"

# オプションset_global_assignment -name FAMILY "Arria 10"

set_global_assignment -name DEVICE <the correct device>

set_global_assignment -name TOP_LEVEL_ENTITY <As specified in base.qsf>

set_global_assignment -name BASE_REVISION "base"

set_global_assignment -name PROJECT_OUTPUT_DIRECTORY <correct directory>

set_global_assignment -name ENABLE_PR_PINS ON

4. quartus_fitを実行します

7-10 PRリビジョンの作成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 54: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

注意: 設定に一貫性を持たせるには、すべてのグローバル・アサインメントをベース・リビジョンから PRリビジョンに手動でコピーする必要があります。

PRビットストリームの生成デザインを基に PRビットストリームを生成し、パーシャル・リコンフィギュレーションに向けてそれらをコントロール・ブロックへ送信する必要があります。ビットストリームは通常、.mifと.rbfの 2種類のフォーマットで作成されます。mifフォーマットはビットストリームが FPGA内に保存される場合に使用され、rbfフォーマットはビットストリームが外部に保存される場合に使用されます。PCIe経由で PRを実行する際、.rbfファイルのファイル・フォーマットが使用されます。PRビットストリームを生成する前に、ベース・リビジョンと少なくとも 1つのリコンフィギュレーション可能なリビジョンを含む PRプロジェクトをコンパイルします。Quartus PrimeProgrammerは PRビットストリームを生成します。この生成されたビットストリームは、パーシャル・リコンフィギュレーションに向けてコントロール・ブロックの PRポートに送信することができます。2つのリビジョンと 1つの PRリビジョン、つまり persona aを持つベース・リビジョンと personabを持つ 1つの PRリビジョンを含んでいるパーシャル・リコンフィギュレーション・デザインを考慮します。こうした個々のリビジョンが Quartus Primeソフトウェアにコンパイルされると、アセンブラはそれぞれのリビジョンに対してMasked SRAM Object File(.msf)と SRAM ObjectFile(.sof)を生成します。.sofファイルは(非 PRデザインに対し)従来通り作成されます。これとは別に、.msfファイルがパーシャル・リコンフィギュレーションに向けて各リビジョンに対し作成されます。

図 7-8: 2つのリビジョンを持つ PRプロジェクト

BaseRevision with

Persona a

Revision b

pr_region.msfstatic.msfbase.sof

b.sof b.msf

Partial Reconfiguration

Design

pr_region.msfファイルは PRビットストリームの生成に影響を持つファイルのひとつです。このファイルには PR領域へのマスク・ビットが含まれます。同様に、static.msfファイルはスタティック領域へのマスク・ビットが含まれます。.sofファイルにはスタティック領域および対応する PR領域ののコンフィギュレーション方法に関する情報が含まれます。PR領域に対しビットストリームが計算されるよう、pr_region.msfファイルはスタティック領域をマスク・アウトします。デフォルトのファイル名である pr_region.msfは、アルファベットでない限り LogicLock

UG-200102016.05.02 PRビットストリームの生成 7-11

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 55: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Plus領域の名称に対応します。領域名がアルファベットでない場合、.msfファイルはその領域の左下の座標の位置にちなんだ名称となります。注意: アルテラでは、生成されるデザインとファイルのドキュメントを向上させるためにすべて

の LogicLock Plus領域に名前を付けることを推奨しています。ファイルは Convert Programming Files画面で変換するか、あるいは pr_region.msfファイルと.sofファイルが Partial-Masked SRAM Object File(.pmsf)ファイルを生成するように処理するquartus_cpf –pコマンドを実行することも可能です。.msfファイルは PRビットストリームの計算中にそれぞれの.sofファイルの PR領域をマスクします。

図 7-9: Partial-Masked SRAM Object File(.pmsf)の生成

base.sof

pr_region.msf

a.pmsf+

b.sof

b_pr_region .msf

b.pmsf+

Partial-Masked SRAM Object File(.pmsf)を生成するには、以下の手順を実行してください。1. Files > Convert Programming Filesの順でクリックします2. Output programming fileで、Programming file typeに Partial-Masked SRAM Object Files(.pmsf)を選択します

3. 出力ファイル名を指定します4. .sofファイルと.msfファイルを追加して両方のリビジョンに対し別々の.pmsfファイルを作成します(単一の.msf ファイルと.sof ファイルのみ許容されます)

7-12 PRビットストリームの生成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 56: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 7-10: Convert Programming File画面

5. Generate をクリックして.pmsfファイルを生成します.pmsfファイルがすべて生成されたら、quartus_cpf -oコマンドを実行するか、あるいはリコンフィギュレーションへのロー・バイナリ.rbfファイルを生成する Convert Programming Fileを使用して PRビットストリームを処理します。この図は、ペルソナ aとペルソナ bを持つ領域を要求通りにパーシャル・リコンフィギュレーションすることが可能なビットストリームの作成方法を示しています。

図 7-11: PRビットストリームの生成

a.rbfa.pmsf b.rbfb.pmsf

Raw Binary File(.rbf)を生成するには、以下の手順を実行してください。

UG-200102016.05.02 PRビットストリームの生成 7-13

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 57: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

1. Files > Convert Programming Files.の順でクリックします2. Output programming fileで、Programming file typeに Raw Binary File for Partial

Reconfiguration (rbf)を選択します3. 出力ファイル名を指定します4. .pmsfファイルを追加して両方のリビジョンに対し別々の.rbfファイルを作成します(単一の.pmsf ファイルのみ許容されます)

図 7-12: Convert Programming File画面

5. 新しい.pmsfを選択し、Propertiesをクリックしてデザイン要件に応じて CompressionとGenerate encrypted bitstreamオプションのオン/オフを選択します• Compression:PRビットストリームで圧縮をイネーブルします• Generate encrypted bitstream:このオプションをイネーブルする場合、Encrypted Keyを指定する必要があります

7-14 PRビットストリームの生成UG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 58: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

Programming(.ekp)ファイルは、ベース.sofを暗号化されたビットストリームに変換する際に生成されます。PRビットストリームを暗号化するには同じ.ekpファイルを使用する必要があります。

6. Generate をクリックしてパーシャル・リコンフィギュレーションに向けた.rbfファイルを作成します

ハードウェアの立ち上げハードウェアでデザインをテストする前に、Device under Test(DUT)システムに simple PR overPCI Expressドライバをインストールする必要があります。現在のところ、Linux exampleドライバのみ利用可能です。テスト・セットアップには以下のコンポーネントが含まれます。• Arria 10 FPGA開発キット• USB Blaster• Arria 10 FPGA開発キットを接続する予備の PCI Expressスロットを備えた、Linuxを実行する

DUT PC• ベース・デザイン・イメージの.sofファイルをプログラミングする Quartus Prime Proエディション・ソフトウェアを実行するホスト PC

PRデモ・ソフトウェアを入手されたい場合は、アルテラまでお問い合わせください。PRデモ・ソフトウェアは以下で構成されています• PRアプリケーション・ソフトウェア• PCI ExpressドライバPRアプリケーション・ソフトウェアは、PR RBFに対しファイル・ハンドリングとバイト・スライスを実行します。以下の手順は、PRアプリケーション・ソフトウェアのウォークスルーを説明します。1. PCIeドライバ APIを使用して PCIeデバイスを開きます2. PR RBFファイルを開きます3. PR IPのアドレス・オフセット 0x1に 0x0001を書き込み、PR動作を開始します4. ファイルの終わりまで PR IPアドレス・オフセット 0x0に 16/32ビットのデータを書き込み、

PRビットストリームの送信を開始します5. PRステータスを確認し、PR done、PR errorおよび CRC errorをレポートしますデフォルトの Linux IOコールを使用する PCI Expressドライバは、ユーザー・アプリケーションに対してWrite、Read、Open、Closeといったベーシックな Kernel APIを提供します。

UG-200102016.05.02 ハードウェアの立ち上げ 7-15

Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説 Altera Corporation

フィードバック

Page 59: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

図 7-13: PRデモのウォークスルーを表すフロー図

Open terminal and check for PCIe Link Status

Is PCIe link stable?

Reprogram FPGA /Reboot PC

Load the PCIe driver

Run the PRapplication demo

Check the PR statuson console

YESNO

注意: • Kernel 3.10を使用する場合、alt_up_pci_driver.cと alt_up_pci_driver.hの編集が必要です。• _devinit、_devinitdata、_devinitconst、_devexit、_devexitdata、_devexitconst

パラメータを削除し再度生成します。• アルテラでは、ボードに十分な電力を供給するためには外部電源を使用することを推奨しています。

7-16 ハードウェアの立ち上げUG-20010

2016.05.02

Altera Corporation Arria 10における PCI Expressを経由した PRのデザイン・プロセスの解説

フィードバック

Page 60: 初期化およびパーシャル・リコンフィギ ュレー … 10 におけるプロトコル経由のCvP 初期化およびパーシャル・リコンフィギ ュレーション

改訂履歴 A2016.05.02

UG-20010 更新情報 フィードバック

以下は本資料の改訂履歴です。

表 A-1: 改訂履歴

日付 変更内容

2016.05.02 初版

© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts 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 devicespecifications before relying on any published information and before placing orders for products or services.

ISO9001:2008登録済

www.altera.com101 Innovation Drive, San Jose, CA 95134