Arria 10
におけるプロトコル経由の CvP
初期化およびパーシャル・リコンフィギ
ュレーション ユーザーガイド
目次
Arria 10 における CvP の初期化...1-1
CvP システム... 1-1 CvP を使用するメリット... 1-2 Arria 10 デバイスに向けた CvP サポート... 1-3 CvP の初期化... 1-3 CvP の機能...1-4 Autonomous モード...1-5 CvP ピン...1-5Arria 10 における CvP 初期化に向けたデザインの考慮事項...2-1
オープン・システムに向けた CvP の設計...2-1 クローズド・システムに向けた CvP の設計... 2-3Arria 10 における CvP 初期化に向けた設計の手順の解説... 3-1
合成 HDL ファイルの生成...3-3 Device and Pin Options での CvP パラメータの設定...3-3 デザインのコンパイル...3-5 SOF ファイルの分割...3-5 ハードウェアの立ち上げ... 3-6 Windows システムへの Jungo WinDriver のインストール... 3-7 Linux システムへの Jungo WinDriver のインストール...3-7 Arria 10 開発キットの MSEL/DIP スイッチの変更...3-8 CvP イメージのプログラミング... 3-8CvP ドライバとレジスタ...4-1
CvP ドライバのサポート... 4-1 CvP ドライバのフロー...4-1 CvP 向け VSEC レジスタ...4-2 アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ...4-3 アルテラ定義のベンダ固有ヘッダ・レジスタ...4-3 アルテラ・マーカー・レジスタ...4-4 CvP ステータス・レジスタ...4-4 CvP モード・コントロール・レジスタ... 4-5 CvP データ・レジスタ...4-8 CvP プログラミング・コントロール・レジスタ...4-8 修正不可能な内部エラー・ステータス・レジスタ...4-10 修正不可能な内部エラー・マスク・レジスタ...4-12 修正可能な内部エラー・ステータス・レジスタ... 4-12 修正可能な内部エラー・マスク・レジスタ...4-13 目次-2Arria 10 におけるプロトコルを経由したパーシャル・リコンフィギュレ
ーション... 5-1
PCI Express 経由の PR を使用するメリット...5-1 PCIe 経由の PR システム... 5-2 パーシャル・リコンフィギュレーション IP コア... 5-3
Arria 10 における PCI Express 経由の PR のデザイン・プランニング... 6-1
パーティション階層の特定...6-1 複数のリビジョンの作成... 6-2 PR デザインのフロアプラン...6-2 PR デザインのクロックおよびグローバル信号のアサインメント...6-2 PR パーティションへのフリーズ・ロジックの挿入...6-3
Arria 10 における PCI Express を経由した PR のデザイン・プロセスの解
説 ...7-1
Qsys システムの作成...7-3 ユーザー・ロジックとトップレベル・ファイルの作成...7-7 PR パーティションの作成... 7-8 ベース SOF/RBF ビットストリームの生成...7-9 PR リビジョンの作成...7-10 PR ビットストリームの生成...7-11 ハードウェアの立ち上げ...7-15改訂履歴... A-1
目次-3Arria 10
における CvP の初期化
1
2016.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 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
ISO 9001:2008
図 1-1: CvP のブロック図
Configuration device, or configuration host and flash (1)
Configuration interface (1) FPGA PCIe link Configuration control block (internal) PCIe Hard IP (2) PCIe Hard 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 に向けて複数の Hard IP ブロックが装備されています。CvP コンフィギュレーション・スキームでは各デバイスの左 下に位置する PCIe Hard IP ブロックのみ使用可能です。これはエンドポイントとしてコンフィ ギュレーションする必要があります。
CvP
を使用するメリット
CvP コンフィギュレーション・スキームには以下のメリットがあります。 1-2 CvPを使用するメリット 2016.05.02UG-20010• ペリフェラル・コンフィギュレーション・データを格納するフラッシュ・デバイスのサイズ を縮小させることでシステム・コストを低減します。 • ペリフェラル・コア・ビットストリームのセキュリティを向上します。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 Guide
Startix V、Arria V、および Cyclone V デバイス・ファミリに向けた CvP サポートについての詳細 情報です。
CvP
の初期化
このスキームは、システムの電源投入時に PCIe リンクを介して FPGA のコアをコンフィギュレ ーションします。初期化とは、電源投入後に FPGA 内にロードされる最初のファブリック・コン フィギュレーション・イメージのことを指します。 注意: リビジョン・デザイン・フローを持つ CvP の初期化は、Arria 10 デバイスではサポートさ れていません。 イメージのコンフィギュレーション CvP では、デザインをコア・イメージとペリフェラル・イメージの 2 つのイメージにパーティシ ョンします。 Quartus Prime ソフトウェアを使用して以下のイメージを生成します。 UG-20010 2016.05.02 Arria 10デバイスに向けた CvP サポート 1-3• ペリフェラル・イメージ(*.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 コア用 Hard IP をはじめとするコンポーネントを含めることはできません。
• スタティック領域 — この領域は編集不可能です。
ペリフェラル・イメージは外部コンフィギュレーション・デバイスに格納され、従来のコンフィ ギュレーション・スキームを介して 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 を再度プログラムする必要があります。このキーは、受信 コンフィギュレーション・ビットストリームの復号に使用されます。 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-20010
表 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ピン 2016.05.02UG-20010
ピンの名称 ピンの種類 ピンの説明 ピンの接続方法 nPERST[L,R] [0:1] 入力 このピンは、PCIe 仕様に 向けた専用の基本リセッ ト・ピンとして PCI Express ハード 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-20010
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 Power Supply Last Power Supply Time Volts POR Delay 10 ms
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 タイミング・シーケンス a b c d 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 の設計 2016.05.02UG-20010
タイミング・ シーケンス タイミング範囲(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-20010 2016.05.02 クローズド・システムに向けた CvP の設計 2-3Arria 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 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
ISO 9001:2008
図 3-1: CvP の初期化に向けたデザイン・フロー
Specify General Configuration & CvP Initialization Device & Pin Options
Compile Design
Program Periphery via JTAG using *.periph.jic
Confirm Link and 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. ハードウェアの立ち上げ
合成 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-20010
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-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-20010
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 があれば検証作業は煩雑 さは軽減されます。
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/windrvr6 4. 64 ビットの Linux システムの場合、quartus_cvpを実行する前に以下のコマンドを使用して Quartus_64BIT環境変数を設定します。 • export QUARTUS_64BIT=1
5. quartus_cvpコマンドを使用することで FPGA に*core .rbf ファイルをダウンロード可能で
す。以下のテーブルは、すべてのモードに対するquartus_cvpコマンドを示しています。
表 3-1: quartus_cvp コマンドのシンタックス
モード quartus_cvpコマンド
Uncompressed
quartus_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 and encrypted
quartus_cvp -c -e --vid=<Vendor ID> --did=<Device ID> <Core .rbf file path>
UG-20010
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.8 Fast 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-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-20010
図 3-6: コマンド・プロンプト・コンソール
CvP
ドライバとレジスタ
4
2016.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 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
ISO 9001:2008
図 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 レジスタ 2016.05.02UG-20010ブロックとの通信にこのレジスタを使用します。次のテーブルは VSEC レジスタ・マップを示し ています。その次のテーブルでは、各レジスタの領域と説明を確認することができます。 表 4-1: CvP 向け VSEC レジスタ
バイト・オフセット レジスタ名
0x200 Altera-defined Vendor Specific Capability Header 0x204 Altera-defined Vendor Specific Header
0x208 Altera Marker 0x20C:0x218 Reserved 0x21C CvP Status 0x220 CvP Mode Control 0x224 CvP Data 2 0x228 CvP Data 0x22C CvP Programming Control 0x230 Reserved
0x234 Uncorrectable Internal Error Status Register 0x238 Uncorrectable Internal Error Mask Register 0x23C Correctable Internal Error Status Register 0x240 Correctable Internal Error Mask Register
アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ
表 4-2: アルテラ定義のベンダ固有ケーパビリティ・ヘッダ・レジスタ(バイト・オフセット:0x200)
ビット 名称 リセット値 アクセス 説明
[15:0] PCI Express Extended
Capability ID 0x000B RO VSEC Capability ID に向けて定義された PCIe 使用の値
[19:16] バージョン 0x1 RO VSEC バージョンに向けて定義
された PCIe 使用の値
[31:20] Next Capability Offset 変数 RO 実装される次のケーパビリテ
ィ・ストラクチャが存在する場 合、その開始アドレス
アルテラ定義のベンダ固有ヘッダ・レジスタ
UG-20010
表 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 を持つデバイスのコンフィギュレー ションに標準の Altera Programmer ソフトウェアを使 用する場合、このマーカーは正 しい VSEC で作動していること を確認するためにプログラミン グ・ソフトウェアがリードする 値を提供します。CvP
ステータス・レジスタ
表 4-5: CvP ステータス・レジスタ(バイト・オフセット:0x21C) ビット 名称 リセット値 アクセス 説明 [31:26] — 0x00 RO 予約 [25] PLD_CORE_READY 変数 RO FPGA ファブリックより。この ステータス・ビットはデバッグ 用に提供されます。 [24] PLD_CLK_IN_USE 変数 RO スイッチ・モジュールからファ ブリック。このステータス・ビ ットはデバッグ用に提供されま す。 4-4 アルテラ・マーカー・レジスタ 2016.05.02UG-20010ビット 名称 リセット値 アクセス 説明
[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-20010 2016.05.02 CvPモード・コントロール・レジスタ 4-5ビット 名称 リセット値 アクセス 説明 [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モード・コントロール・レジスタ 2016.05.02UG-20010
ビット 名称 リセット値 アクセス 説明
[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-20010 2016.05.02 CvPモード・コントロール・レジスタ 4-7
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) ビット 名称 リセット値 アクセス 説明 4-8 CvPデータ・レジスタ 2016.05.02UG-20010ビット 名称 リセット値 アクセス 説明 [1] START_XFER 1'b0 RW CvP 出力を FPGA コントロー ル・ブロックに設定し、転送の 開始を表します。 [0] CVP_CONFIG 1'b0 RW 1 に設定されると、FPGA コント ロール・ブロックは CvP を介し て転送を開始します。 UG-20010 2016.05.02 CvPプログラミング・コントロール・レジスタ 4-9
修正不可能な内部エラー・ステータス・レジスタ
このレジスタは修正不可能な内部でチェックされたエラーのステータスをレポートします。
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 修正不可能な内部エラー・ステータス・レジスタ 2016.05.02UG-20010
ビット リセット値 アクセス 説明
[0] 1'b0 RW1CS 値 1 は、RX バッファの修正不可能な ECC エラ
ーを示します。 UG-20010
修正不可能な内部エラー・マスク・レジスタ
このレジスタは内部で修正不可能なエラーとして転送されるエラーを制御します。このエラー は 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 エラーのマス ク修正可能な内部エラー・ステータス・レジスタ
4-12 修正不可能な内部エラー・マスク・レジスタ 2016.05.02UG-20010ると、エラーは 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-20010 2016.05.02 修正可能な内部エラー・マスク・レジスタ 4-13Arria 10
におけるプロトコルを経由したパー
シャル・リコンフィギュレーション
5
2016.05.02 UG-20010 更新情報 フィードバック パーシャル・リコンフィギュレーション(PR)は、FPGA デバイスのコア・ロジック以外の部分 は動作を継続した状態で FPGA デザインのコア・ロジックを動的にリコンフィギュレーションす ることができる高度な機能です。パーシャル・リコンフィギュレーションは Cyclone V(1)、Stratix V、および 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 ファイルの効率的な管理および移植性のためのガイドラインを提供 します。