112
V シリーズ FPGA デバイスにおける CvP (プロトコル経由コンフィグレーション ) 実装ユーザーガイド 更新情報 フィードバック UG-01101 2016.10.31 101 Innovation Drive San Jose, CA 95134 www.altera.com

V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

  • Upload
    ngonhi

  • View
    263

  • Download
    0

Embed Size (px)

Citation preview

Page 2: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

目次

概要...................................................................................................................... 1-1CvP を使用するメリット.........................................................................................................................1-1CvP システム .............................................................................................................................................. 1-2CvP モード...................................................................................................................................................1-3CvP リビジョンのデザインフロー....................................................................................................... 1-4CvP トポロジー.......................................................................................................................................... 1-4PCI Express に関する追加情報...............................................................................................................1-6

CvP を使用した FPGA コンフィグレーション............................................... 2-1CvP コンフィグレーション・イメージ.............................................................................................. 2-1CvP モード...................................................................................................................................................2-2

CvP 初期化モード..........................................................................................................................2-2CvP 更新モード.............................................................................................................................. 2-2

CvP 初期化の代案:自律 HIP モード..................................................................................................2-3CvP の圧縮と暗号化機能.........................................................................................................................2-3

データ圧縮...................................................................................................................................... 2-3データ暗号化.................................................................................................................................. 2-4

コアイメージの更新.................................................................................................................................2-5CvP ピン....................................................................................................................................................... 2-7

CvP トポロジー.................................................................................................. 3-1シングル・エンドポイント....................................................................................................................3-1複数のエンドポイント.............................................................................................................................3-2ミックスチェーン..................................................................................................................................... 3-3

異なるコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレーション.............................................................................................................................3-4

単一のコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレーション.............................................................................................................................3-5

デザインの検討事項.......................................................................................... 4-1CvP リビジョンのデザインフロー用デザインの準備....................................................................4-1オープンシステム用 CvP のデザイン..................................................................................................4-2

FPGA 電源ランプ時間要件......................................................................................................... 4-2PCIe ウェイクアップ時間要件...................................................................................................4-3

クローズドシステム用 CvP のデザイン........................................................................................... 4-10

目次-2 CvP の概要

Altera Corporation

Page 3: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

トランシーバー・リコンフィグレーション・コントローラーを含む CvP デザインのクロック接続...........................................................................................................................................4-10

CvP デザイン例.................................................................................................. 5-1CvP 初期化モードのデザイン手順について..................................................................................... 5-2

高性能リファレンス・デザインのダウンロードと生成................................................... 5-4CvP 初期化モード用 CvP パラメーターの設定.................................................................... 5-7CvP 初期化モードのデザインのコンパイル....................................................................... 5-11CvP 初期化デザインモード向け SOF ファイルの分割.....................................................5-11

リビジョンのデザインフローによる CvP 初期化モードのデザイン手順について............ 5-14高性能リファレンス・デザインのダウンロードと生成................................................. 5-16トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策...............................................................................................................................5-20

リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成........... 5-20CvP 初期化モード用 CvP パラメーターの設定.................................................................. 5-21CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成................................................................................................................................... 5-25

CvP リビジョンのデザインフローにおける Base と cvp_app の両方のリビジョンのコンパイル...................................................................................................................... 5-29

CvP リビジョンのデザインフローによる CvP 初期化モードの SOF ファイルの分割 ...........................................................................................................................................5-29

CvP 更新モードのデザイン手順について........................................................................................5-32高性能リファレンス・デザインのダウンロードと生成................................................. 5-34トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策...............................................................................................................................5-38

リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成........... 5-38CvP 更新モード用 CvP パラメーターの設定.......................................................................5-39CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成................................................................................................................................... 5-43

CvP 更新モードのデザインのコンパイル............................................................................5-47CvP 更新デザインモード向け SOF ファイルの分割......................................................... 5-47CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割 ............................................................................................................................................... 5-49

ハードウェアの立ち上げ...................................................................................................................... 5-52Windows システムへの Jungo WinDriver のインストール............................................... 5-52Linux システムへの Jungo WinDriver のインストール..................................................... 5-52Stratix V 開発キットの Active Serial x4 Flash 用のMSEL の変更.....................................5-53CvP イメージのプログラミングとリンクの検証...............................................................5-54

CvP デバッグ・チェックリスト......................................................................................................... 5-58既知の問題と解決策...............................................................................................................................5-59

CvP 初期化モードにおけるMSI-X の使用........................................................................... 5-60

CvP の概要 目次-3

Altera Corporation

Page 4: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP ドライバーとレジスター...........................................................................6-1CvP ドライバーのサポート.................................................................................................................... 6-1CvP ドライバーのフロー.........................................................................................................................6-1CvP の VSEC レジスター......................................................................................................................... 6-3

アルテラ定義の Vendor Specific Capability Header レジスター......................................... 6-3アルテラ定義の Vendor Specific Header レジスター............................................................ 6-4Altera Marker レジスター.............................................................................................................6-4CvP Status レジスター...................................................................................................................6-4CvP Mode Control レジスター.................................................................................................... 6-5CvP Data レジスター.....................................................................................................................6-8CvP Programming Control レジスター......................................................................................6-8Uncorrectable Internal Error Status Register............................................................................. 6-10Uncorrectable Internal Error Mask Register.............................................................................. 6-12Correctable Internal Error Status Register................................................................................. 6-12Correctable Internal Error Mask Register.................................................................................. 6-13

追加情報............................................................................................................. A-1改訂履歴...................................................................................................................................................... A-1アルテラへのお問い合わせ................................................................................................................... A-4

目次-4 CvP の概要

Altera Corporation

Page 5: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

概要 12016.10.31

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

CvP (プロトコル経由コンフィグレーション) は、 Arria® V、 Cyclone® V、および Stratix® V デバイスファミリーでサポートされているコンフィグレーション方式です。CvP コンフィグレーション方式では、ペリフェラル・ロジックとコアロジック用に別々のイメージが作成されます。ペリフェラル・イメージはローカル・コンフィグレーション・デバイスに保存し、コアイメージはホストメモリーに保存することでシステムコストを低減し、独自のコアイメージのセキュリティーを強化することができます。CvP は、 PCI Express® (PCIe) リンクを介して FPGA ファブリックを構成し、エンドポイント・バリアントでのみ使用できます。関連情報Arria 10 CvP Initialization and Partial Reconfiguration over PCI Express User GuideArria 10 デバイスの CvP 実装に関する詳細情報を提供します。

CvP を使用するメリットCvP コンフィグレーション方式には以下のメリットがあります。• ペリフェラル・コンフィグレーション・データを格納するローカル・フラッシュ・デバイスのサイズを縮小させることでシステムコストを低減する

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

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

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

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

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 6: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP システム以下の図は、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) 、高速パッシブパラレル (FPP) などのサポートされている方式のいずれかにすることができます。どのコンフィグレーション・デバイスを選ぶかは、選択するコンフィグレーション方式によって異なります。

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

1-2 CvP システムUG-01101

2016.10.31

Altera Corporation 概要

フィードバック

Page 7: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP モードCvP コンフィグレーション方式では、次のモードがサポートされています。• CvP 初期化モード• CvP 更新モード

CvP 初期化モード

このモードでは、システムの電源投入時に PCIe リンクを介して FPGA のコアをコンフィグレーションします。初期化とは、電源投入後に FPGA ファブリックにロードされた初期ファブリック・コンフィグレーション・イメージのことです。CvP 初期化モードを使用するメリットは次のとおりです。• PCIe ウェイクアップ時間の要件を満たす• コアイメージをホストメモリーに保存することでコストを低減する• コアイメージへの不正アクセスを防ぐ

CvP 更新モード

このモードでは、初期システムのパワーアップ後に、ローカル・コンフィグレーション・デバイスからフル・コンフィグレーション・イメージ (ペリフェラルとコアの両方) を使用して FPGAをコンフィグレーションしたことを前提としています。PCIe リンクは、後続のコアイメージの更新 (コアのみ、CvP 更新中にペリフェラルは変更されない) に使用されます。次のいずれかの理由でコアイメージを更新する場合は、このモードを選択します。• コア・アルゴリズムを変更する• リリースプロセスの一部として標準アップデートを実行する• 複雑なシステムの一部であるさまざまなコンポーネントのコア処理をカスタマイズする注意: CvP 更新モードは、FPGA がユーザーモードに入った後に機能します。ユーザーモードで

は、PCIe リンクは通常の PCIe アプリケーションで利用でき、FPGA コアイメージの更新も実行できます。

表 1-1: デバイスファミリーの CvP サポート

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

PCIe Gen 1 PCIe Gen 2 PCIe Gen 3

Arria 10 (1) CvP 初期化モード CvP 初期化モード CvP 初期化モード

Stratix VCvP 初期化モード

CvP 更新モードCvP 初期化モード

CvP 更新モード サポート無し

(1) Arria 10 デバイスに関して詳しくは、Arria 10 CvP Initialization and Partial Reconfiguration over PCIExpress User Guide を参照してください。

UG-011012016.10.31 CvP モード 1-3

概要 Altera Corporation

フィードバック

Page 8: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

PCIe Gen 1 PCIe Gen 2 PCIe Gen 3

Arria V GZCvP 初期化モード

CvP 更新モードCvP 初期化モード

CvP 更新モード サポート無し

Arria VCvP 初期化モード

CvP 更新モード CvP 初期化モード サポート無し

Cyclone VCvP 初期化モード

CvP 更新モード CvP 初期化モード サポート無し

関連情報• Arria 10 CvP Initialization and Partial Reconfiguration over PCI Express User Guide

Arria 10 デバイスの CvP 実装に関する詳細情報を提供します。• 2-2ページの CvP 初期化モード• 2-2ページの CvP 更新モード• 5-1ページの CvP デザイン例

CvP リビジョンのデザインフローこのデザインフローは、コアロジックの全部または一部の後続の更新のためにデザインの準備をします。再構成されたロジックは、再構成可能なコアロジックと呼ばれます。PCIe リンクが作動して完全に列挙されている間、この再構成可能なコアロジックはユーザーモードでプログラムすることができます。同じペリフェラル・イメージに接続する複数のコアイメージを作成することができます。コアイメージには、静止領域と再構成可能領域の両方が含まれます。再構成可能領域には、FPGA コア・ファブリック内の LABS、内蔵 RAM ブロック、および DSP ブロックなどの CRAM によって制御されるリソースのみが含まれている必要があります。GPIO、トランシーバー、PLL、I/O ブロック、PCI Express IP コアのハード IP、またはペリフェラルに含まれるその他のコンポーネントなどのペリフェラル・コンポーネントを含めることはできません。関連情報4-1ページの CvP リビジョンのデザインフロー用デザインの準備

CvP トポロジー次のトポロジーを使用して FPGA を構成できます。

1-4 CvP リビジョンのデザインフローUG-01101

2016.10.31

Altera Corporation 概要

フィードバック

Page 9: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

• シングル・エンドポイント:シングルデバイスを構成する• 複数のエンドポイント:PCIe スイッチを使用して複数のデバイスを構成する• 混合チェーン:シングル・コンフィグレーション・ファイルまたはチェーン内のスレーブデバイス用の複数のコンフィグレーション・ファイルを使用して複数のデバイスを構成する

関連情報3-1ページの CvP トポロジー

UG-011012016.10.31 CvP トポロジー 1-5

概要 Altera Corporation

フィードバック

Page 10: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

PCI Express に関する追加情報以下のリンクは、PCI Express 仕様と PCI Express のアルテラ製品に関する情報を提供します。アルテラの PCI Express IP コアおよびデバイスは、次の PCI-SIG® 仕様に準拠しています。• PCI Express Base 仕様 Rev 1.1 (2.5 GT/s)• PCI Express Base 仕様 Rev 2.0 (2.5 GT/s および 5.0 GT/s)• PCI Express 仕様 Rev 3.0 (2.5 GT/s、5.0 GT/s、および 8.0 GT/s)

詳しくは、PCI-SIG Web ページを参照してください。関連情報:• Avalon-ST

• Stratix V Avalon-ST Interface for PCIe Solutions User Guide• Arria V GZ Avalon-ST Interface for PCIe Solutions User Guide• Arria V Avalon-ST Interface for PCIe Solutions User Guide• Cyclone V Avalon-ST Interface for PCIe Solutions User Guide

• Avalon-MM

• Stratix V Avalon-MM Interface for PCIe Solutions User Guide• Arria V GZ Avalon-MM Interface for PCIe Solutions User Guide• Arria V Avalon-MM Interface for PCIe Solutions User Guide• Cyclone V Avalon-MM Interface for PCIe Solutions User Guide

• DMA を使用した Avalon-MM

• V-Series Avalon-MM DMA Interface for PCIe Solutions User Guide• シングルルート I/O 仮想化

• Stratix V Avalon-ST Interface with SR-IOV for PCIe Solutions User Guide

1-6 PCI Express に関する追加情報UG-01101

2016.10.31

Altera Corporation 概要

フィードバック

Page 11: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP を使用した FPGA コンフィグレーション 22016.10.31

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

CvP コンフィグレーション・イメージCvP では、デザインをコアイメージとペリフェラル・イメージの 2 つのイメージに分割します。Quartus Prime ソフトウェアを使用して以下のイメージを生成します。• ペリフェラル・イメージ (*.periph.jic) :GPIO (汎用 I/O) 、I/O レジスター、GCLK、QCLKと RCLK クロック・ネットワーク、PLL、トランシーバー、ハードメモリー PHY、およびハード IP に実装されたロジックが含まれています。ハード IP には、JTAG インターフェイス、PR ブロック、CRC ブロック、オシレーター・ブロック、インピーダンス制御ブロック、チップ ID、ASMI ブロック、リモート更新ブロック、温度センサー、および PCI Express IP コア用のハード IP などがあります。これらのコンポーネントは、I/O ペリフェラル・レジスター・ビットによって制御されるためにペリフェラル・イメージに含まれます。ペリフェラル・イメージ全体は静的であり、再構成することはできません。

• コアイメージ (*.core.rbf) :CRAM (コンフィグレーション RAM) によってプログラムされたロジックが含まれています。このイメージには、LAB、DSP、および内蔵メモリーが含まれます。コアイメージは、単一の再構成可能領域、または静止領域と再構成可能領域の両方から構成されます。• 再構成可能領域:この領域は、PCIe リンクが作動して完全に列挙されている間にユーザーモードでプログラムすることができます。FPGA コアイメージ内の LAB、内蔵 RAM ブロック、および DSP ブロックなどの CRAM によって制御されるリソースのみが含まれている必要があります。GPIO、トランシーバー、PLL、I/O ブロック、PCI Express IP コアのハード IP、またはペリフェラル・イメージに含まれるその他のコンポーネントなどのペリフェラル・コンポーネントを含めることはできません。

• 静止領域:この領域は変更できません。関連情報• Arria V デバイスの I/O 機能トランシーバー・バンクと I/O バンクの位置に関する詳細情報を提供します。

• Cyclone V デバイスの I/O 機能トランシーバー・バンクと I/O バンクの位置に関する詳細情報を提供します。

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 12: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

• Stratix V デバイスの I/O 機能トランシーバー・バンクと I/O バンクの位置に関する詳細情報を提供します。

CvP モード

CvP 初期化モードこのモードでは、ペリフェラル・イメージは外部コンフィグレーション・デバイスに保存され、従来のコンフィグレーション手法によって FPGA にロードされます。コアイメージはホストメモリーに保存され、PCIe リンクを介して FPGA にロードされます。ペリフェラル・イメージのコンフィグレーションが完了すると、CONF_DONE 信号が High になり、FPGA は PCIe リンク・トレーニングを開始します。PCIe リンク・トレーニングが完了すると、PCIe リンクは L0 状態に移行し、次に PCIe 列挙に移行します。続いて PCIe ホストは、PCIe リンクを介してコアイメージ・コンフィグレーションを開始します。コアイメージ・コンフィグレーションが完了すると、CvP_CONFDONE ピンが High になり、FPGAが完全にコンフィグレーションされていることを示します。FPGA が完全にコンフィグレーションされると、FPGA はユーザーモードに入ります。INIT_DONE

信号がイネーブルされている場合、初期化が完了し FPGA がユーザーモードに入った後にINIT_DONE 信号が High になります。ユーザーモードでは、PCIe リンクは通常の PCIe アプリケーションで使用できます。また、PCIeリンクを使用してコアイメージを変更することもできます。コアイメージを変更するには、ペリフェラル・イメージと同じ接続を持つ 1 つ以上の FPGA コアイメージを Quartus Prime ソフトウェアで作成します。関連情報Configuration Timing Waveformsさまざまなコンフィグレーション・モードについて、タイミング・ダイアグラムと共に詳細情報を提供します。

CvP 更新モードこのモードでは、FPGA デバイスは、外部ローカル・コンフィグレーション・デバイスから FPGAにフル・コンフィグレーション・イメージをロードすることによって、システムの初期電源投入後に初期化されます。完全な FPGA コンフィグレーション・イメージが完成した後、CONF_DONE 信号が High になります。FPGA が完全にコンフィグレーションされると、FPGA は初期化モードとユーザーモードに入ります。INIT_DONE 信号がイネーブルされている場合、初期化が完了し FPGA がユーザーモードに入った後に INIT_DONE 信号が High になります。ユーザーモードでは、PCIe リンクは通常の PCIe アプリケーションで使用できます。PCIe リンクを使用して FPGA コアイメージの更新を実行できます。FPGA コアイメージの更新を実行する

2-2 CvP モードUG-01101

2016.10.31

Altera Corporation CvP を使用した FPGA コンフィグレーション

フィードバック

Page 13: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

には、ペリフェラル・イメージと同じ接続を持つ 1 つ以上の FPGA コアイメージを Quartus Primeソフトウェアで作成します。注意: 単一のデザインで CvP 更新モードと CvP 初期化モードの機能を組み合わせることはでき

ません。たとえば、Quartus Prime プロジェクトの CvP アップデート・イメージを作成して、コンフィグレーション方式で CvP 初期化ペリフェラル・イメージを指定することはできません。

関連情報Configuration Timing Waveformsさまざまなコンフィグレーション・モードについて、タイミング・ダイアグラムと共に詳細情報を提供します。

CvP 初期化の代案:自律 HIP モード自律モードは、CvP 初期化を使用して FPGA をコンフィグレーションしていない場合でも、100 ms の PCIe 起動時間要件を満たす必要がある場合に便利です。アルテラの FPGA デバイスは、常にペリフェラル・イメージのコンフィグレーション・ビットを受信し、次にコアイメージのコンフィグレーション・ビットを受信します。コアイメージがコンフィグレーションされると、デバイスはユーザーモードに入ります。自律 HIP モードでは、PCI Express のハード IP は、ペリフェラル・コンフィグレーションが完了すると動作を開始します。このモードでは、進行中のコア・コンフィグレーション中にデバイスがユーザーモードに入る前に PCIe IP コアを動作させることができます。自律 HIP モードでは、リンク・トレーニングを完了した後、PCI Express 用のハード IP は、CRS(コンフィグレーション要求再試行ステータス) でホストからのコンフィグレーション要求に応答します。Arria V、Cyclone V、および Stratix V は、自律モードを提供する最初のデバイスです。以前のデバイスでは、FPGA コアが完全にコンフィグレーションされた後でのみ、PCI Express IP コアがリセットから解放されました。

CvP の圧縮と暗号化機能

データ圧縮Quartus Prime ソフトウェアの Device and Pin Options ダイアログボックスの Configuration ページで、Generate compressed bitstream オプションをオンにすることによって、コアイメージを圧縮することができます。ペリフェラル・イメージは圧縮できません。コアイメージを圧縮すると、ストレージ要件が減少します。最初に圧縮されたコアイメージを使用して FPGA をコンフィグレーションする場合は、FPGA の後続のコアイメージを更新するときに圧縮イメージを使用する必要があります。

UG-011012016.10.31 CvP 初期化の代案:自律 HIP モード 2-3

CvP を使用した FPGA コンフィグレーション Altera Corporation

フィードバック

Page 14: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

表 2-1: 暗号化されたコンフィグレーション・データのサポートされているクロックソース

次の表は、CvP システムで使用される従来の各方式のサポートされているクロックソースを示しています。

キーの種類アクティブシリアル パッシブシリアル ファスト・パッシブ・パラレ

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

揮発性キー サポートあり サポートあり サポートあり サポートあり不揮発性キー サポートなし 12.5 MHz サポートあり サポートあり

関連情報Using the Design Security Features in Altera FPGAs

2-4 データ暗号化UG-01101

2016.10.31

Altera Corporation CvP を使用した FPGA コンフィグレーション

フィードバック

Page 15: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

コアイメージの更新FPGA がユーザーモードに入った後、PCIe ホストは PCIe リンクを介して FPGA コアイメージの更新をトリガーすることができます。CvP 初期化モードと CvP 更新モードの両方が、コアイメージの更新をサポートします。すべてのコアイメージに対して同じビットストリーム設定を選択する必要があります。たとえば、最初のコアイメージに対して暗号化、圧縮、または暗号化と圧縮の両方の機能を選択した場合は、CvP を使用してコアイメージの更新に使用する他のコアイメージに対しても同じ機能がオンにされている必要があります。

図 2-1: CvP コアイメージ更新用のペリフェラルとコアイメージのストレージ・アレンジメント

ペリフェラル・イメージは、異なるコアイメージの更新に対して同じままであります。ペリフェラル・イメージを変更する場合は、新しいペリフェラル・イメージを使用してローカル・コンフィグレーション・デバイスを再プログラムする必要があります。

EndPoint

Core ImageUpdate viaPCIe LinkRoot

Complex

FPGAPCIe Host

CoreImages 1 to n

CoreImage

Configuration Device

Configuration Interface

Periphery andCore Images

CvP リビジョンのデザインフローを使用して、同じペリフェラル・イメージに接続する複数のリコンフィグレーション可能なコアイメージを作成できます。コアイメージの更新を開始すると、CvP_CONFDONE ピンが Low に引き下げられ、コアイメージの更新が開始されたことを示します。FPGA ファブリックは、新しいコアイメージで再初期化され、リコンフィグレーションされます。PCIe リンクを介したコアイメージの更新中、FPGA のnCONFIG および nSTATUS ピンはロジック High のままです。コアイメージの更新が完了すると、CvP_CONFDONE ピンが High に解放され、FPGA がユーザーモードに入ったことを示します。

UG-011012016.10.31 コアイメージの更新 2-5

CvP を使用した FPGA コンフィグレーション Altera Corporation

フィードバック

Page 17: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP ピン次の表に、CvP ピンの説明と接続のガイドラインを示します。

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

ピン名 ピンタイプ ピンの説明 ピンの接続

CvP_CONFDONE 出力

コンフィグレーション時に CvP_CONFDONE ピンがLow にドライブされます。PCIe によるコンフィグレーションが完了すると、この信号は解放され、アクティブに High に駆動されるか、外部プルアップ抵抗によってHigh に引き上げられます。CvP 初期化モードでのFPGA コンフィグレーション時に、CONF_DONE ピンが High になった後でこのピンを観察して、FPGA が正常にコンフィグレーションされているかどうかを判断する必要があります。CvP モードを使用していない場合は、このピンをユーザー I/O ピンとして使用できます。

このピンが専用出力として設定されている場合、VCCPGM 電源は受信側の入力電圧仕様を満たす必要があります。このピンがオープンドレイン出力に設定されている場合は、VCCPGM 電源への外部 10kΩ プルアップ抵抗または受信側の入力電圧仕様を満たす別のプルアップ電圧にピンを接続します。これにより、電圧レベリングに有利になります。

UG-011012016.10.31 CvP ピン 2-7

CvP を使用した FPGA コンフィグレーション Altera Corporation

フィードバック

Page 18: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

ピン名 ピンタイプ ピンの説明 ピンの接続

INIT_DONE 出力

このピンをイネーブルにすると、ピンの Low からHigh への遷移は、デバイスがユーザーモードに入ったことを示します。INIT_DONE 出力がイネーブルの場合、INIT_DONE

ピンはコンフィグレーション後にユーザー I/O ピンとして使用できません。このピンはデュアルパーパス・ピンで、INIT_DONEピンとしてイネーブルされていないときは I/O ピンとして使用できます。

オプションでオープンドレイン出力専用の INIT_DONE ピンを使用する場合は、このピンを VCCPGM の外部10kΩ プルアップ抵抗に接続します。このピンを AS または PS マルチデバイス・コンフィグレーション・モードで使用する場合は、Quartus Prime デザインで INIT_DONE ピンをイネーブルにしてください。専用の INIT_DONE

オプションのオープンドレイン出力を使用せず、このピンを I/O ピンとして使用しないときは、このピンをQuartus Prime ソフトウェアで定義されたように接続してください。

CONF_DONE 双方向

専用のコンフィグレーション完了ピンです。ステータス出力として、CONF_DONE ピンはコンフィグレーションの実行前と実行中に Low にドライブされます。すべてのコンフィグレーション・データがエラーなしで受信され、初期化サイクルが開始されると、CONF_

DONE が解放されます。ステータス入力として、すべてのデータが受信された後、CONF_DONE ピンが High になります。その後、デバイスは初期化され、ユーザーモードに入ります。このピンはユーザー I/O ピンとして使用できません。

外部の 10kΩ プルアップ抵抗をVCCPGM に接続してください。VCCPGM は、デバイスと外部ホストの I/O の VIH 仕様を満たすのに十分に高い必要があります。パッシブ・コンフィグレーション方式を使用する場合、コンフィグレーション・コントローラーはこのピンをモニターします。

2-8 CvP ピンUG-01101

2016.10.31

Altera Corporation CvP を使用した FPGA コンフィグレーション

フィードバック

Page 19: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

ピン名 ピンタイプ ピンの説明 ピンの接続

nPERST[L,R]

[0:1]入力

このピンは PCIe 用の専用基本リセットピンとして、PCI Express IP コア用のハード IP に接続されています。信号が Lowの場合、CvP 動作に使用するトランシーバーと専用 PCIe ハード IP ブロックはリセットモードになります。

nPERST[L,R]0/nPERST[L,R]1 を PCIeスロットの PERST# ピンに接続します。このピンは 1.8V 電源で動作し、1.8V 互換 I/O 規格で駆動する必要があります。PCI Express 用ハード IP のインスタンスにつき 1 つの nPERSTピンのみが使用されます。Arria V および Stratix V デバイスでは、これらのピンは次の場所にあります。• nPERSTL0 = 左下の PCIe ハード IP& CvP

• nPERSTL1 = 左上の PCIe ハード IP(使用可能な場合)

• nPERSTR0 = 右下の PCIe ハード IP(使用可能な場合)

• nPERSTR1 = 右上の PCIe ハード IP(使用可能な場合)

Cyclone V デバイスでは、これらのピンは次の場所にあります。• nPERSTL0 = 左上の PCIe ハード IP• nPERSTL1 = 左下の PCIe ハード IP& CvP

注意: 互換性を最大限にするには、まず左下の PCIe ハードIP を使用してください。これは PCIe リンクを使用した CvP (プロトコル経由コンフィグレーション) をサポートする唯一の場所です。

関連情報• Pin Connection Guidelines関連するコンフィグレーション・ピンに関する詳細情報を提供します。各デバイスファミリーのピン接続のガイドラインを参照してください。

• Arria Vデバイス・データシート• Cyclone V Device Datasheet• Stratix V Device Datasheet

UG-011012016.10.31 CvP ピン 2-9

CvP を使用した FPGA コンフィグレーション Altera Corporation

フィードバック

Page 20: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP トポロジー 32015.11.02

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

CvP は、単一または複数の FPGA をコンフィグレーションできるようにする、いくつかのタイプのトポロジーをサポートしています。

シングル・エンドポイントシングル・エンドポイントのトポロジーを使用して、単一の FPGA をコンフィグレーションします。このトポロジーでは、PCIe リンクは、FPGA デバイスの 1 つの PCIe エンドポイントをホストの 1 つの PCIe ルートポートに接続します。

図 3-1: シングル・エンドポイントのトポロジー

Root Complex

EndPoint

PCIe Link

nCE

CvP_CONFDONEnCONFIG CONF_DONEnSTATUS

10 k Ω 10 k Ω

10 k Ω

V CCPGM

V CCPGM

V CCPGMV CCPGM10 k Ω

FPGA

Host

ConfigurationInterface

Configuration Device or Configuration Host

and Flash

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 21: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

複数のエンドポイント複数のエンドポイント・トポロジーを使用して、PCIe スイッチを介して複数の FPGA をコンフィグレーションします。このトポロジーでは、PCIe リンク経由でコンフィグレーションまたは更新するデバイスを柔軟に選択できます。このトポロジーでは、任意の数の FPGA をホストに接続できます。PCIe スイッチは、FPGA 内の対象となる PCIe エンドポイントへの PCIe リンクを通じて、コアイメージのコンフィグレーションを制御します。ルートポートが PCIe スイッチに応答できることを確認し、PCIe スイッチで指定されたエンドポイントのバス/デバイス/機能アドレスに基づいて、指定されたエンドポイントにコンフィグレーション・トランザクションを指示する必要があります。

3-2 複数のエンドポイントUG-01101

2015.11.02

Altera Corporation CvP トポロジー

フィードバック

Page 22: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 3-2: 複数のエンドポイントのトポロジー

End Point

10 k Ω 10 k Ω

10 k Ω 10 k Ω

nCONFIG

nCE

CvP_CONFDONE

nSTATUS CONF_DONEnth FPGA

PCIe Link

End Point

10 k Ω 10 k Ω

V CCPGM

V CCPGM

V CCPGM

V CCPGM

V CCPGM

V CCPGM V CCPGM

V CCPGM

10 k Ω 10 k Ω

nCONFIG

nCE

CvP_CONFDONE

nSTATUS CONF_DONEFirst FPGA

Root Complex

Host

PCIeSwitch

ConfigurationInterface

Configuration Device or Configuration Host

and Flash

ConfigurationInterface

Configuration Device or Configuration Host

and Flash

PCIe Link

ミックスチェーンミックスチェーン・トポロジーを使用して、PCIe リンクと従来のコンフィグレーション手法の両方を使用してチェーンに接続された複数の FPGA をコンフィグレーションします。このトポロジーでは、PCIe リンクは、マスター FPGA (チェーン内の最初の FPGA) のエンドポイントをホスト内の PCIe ルートポートに接続します。スレーブ FPGA は、PS または FPP コンフィグレーション方式を使用してチェーンに接続されています。CvP 初期化モードでペリフェラル・イメージを保存し、CvP 更新モードでフル・コンフィグレーション・イメージを保存するために使用されるコンフィグレーション・デバイスは、マスター FPGA にのみ接続されています。マスター

UG-011012015.11.02 ミックスチェーン 3-3

CvP トポロジー Altera Corporation

フィードバック

Page 23: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

FPGA が最初にコンフィグレーションされ、その後にスレーブ FPGA がコンフィグレーションされます。ルートポートからチェーン内のスレーブ FPGA にコンフィグレーション・データをフェッチするには、マスター FPGA のユーザー IP を設計する必要があります。データは、マスターデバイスから GPIO を介してラッチアウトされ、DCLK、DATA ライン、または DATA バスなどの PS またはFPP コンフィグレーション・ピンを介してスレーブデバイスにラッチされます。スレーブデバイスの DCLK ピン、nCONFIG ピン、nSTATUS ピン、CONF_DONE ピン、および DATA バスを一緒に接続することにより、スレーブデバイスは同時にユーザーモードに入ります。チェーン内のいずれかのデバイスがエラーを検出すると、スレーブデバイスのチェーンは、nSTATUS ピンを Low に引き下げることによって再初期化およびリコンフィグレーションを行います。チェーン内に 4 つ以上のスレーブデバイスをコンフィグレーションする場合は、DCLK および DATA バスに適切なライン・バッファリングがあることを確認する必要があります。

異なるコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレーション

スレーブ FPGA を異なるコンフィグレーション・ファイルでコンフィグレーションするには、1つのスレーブ FPGA の nCEO ピンをチェーン内の次のスレーブ FPGA の nCE ピンに接続します。最初のスレーブ FPGA がコンフィグレーションを完了すると、スレーブ FPGA は nCEO ピンをLow に引き下げ、次のスレーブ FPGA のコンフィグレーションをイネーブルにします。このプロセスは、チェーン内の最後のスレーブ FPGA がコンフィグレーションされるまで続きます。最後のデバイスの nCEO ピンを未接続のままにするか、またはそのピンをユーザー I/O ピンとして使用することができます。

図 3-3: 異なるコンフィグレーション・ファイルを使用したミックスチェーン・トポロジー

次の図は、FPP 方式を使用して異なるコンフィグレーション・ファイルでスレーブ FPGA をコンフィグレーションするために必要な接続を示しています。

VCCPGM VCCPGM VCCPGM

VCCPGM

VCCPGM

VCCPGM

VCCPGM

10 kΩ

Host

First FPGA Second FPGA nth FPGACONF_DONE CONF_DONE

CvP_CONFDONE

nCEO_out

DATA_out[n:0] DATA [n:0] nCONFIG_out

DCLK_out DCLKDATA [n:0]DCLK

nCE

nCE nCEO nCEPCIe Link

nCONFIG nCONFIG nCONFIGnSTATUS nSTATUS nSTATUS CONF_DONE

10 kΩ

10 kΩ

10 kΩ

10 kΩ

10 kΩ

10 kΩ

n

Root Complex

EndPoint

ConfigurationInterface

Configuration Device or Configuration Host

and Flash

User IP

ルートポートからPCIe リンクを介してデータをフェッチする。データはPS またはFPP コンフィグレーション・インターフェイスを介してチェーン内のスレーブFPGA に送信される

PS またはFPP コンフィグレーション・データをフェッチするために使用されるGPIO ピン

次のスレーブFPGA のnCONFIG ピンとnCE ピンに接続するために使用されるGPIO ピン

PS またはFPP コンフィグレーション・ピンを介してスレーブFPGA に入力されるコンフィグレーション・データ

3-4 異なるコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレーション

UG-011012015.11.02

Altera Corporation CvP トポロジー

フィードバック

Page 24: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

単一のコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレーション

スレーブ FPGA を同じコンフィグレーション・ファイルでコンフィグレーションするには、マスター FPGA の nCEO ピンをチェーン内のすべてのスレーブ FPGA の nCE ピンに接続します。このトポロジーでは、すべてのスレーブデバイスが同時にコンフィグレーションされます。チェーン内のスレーブ FPGA の nCEO ピンを未接続のままにするか、GPIO ピンとして使用することができます。

図 3-4: 単一のコンフィグレーション・ファイルを使用したミックスチェーン・トポロジー

次の図は、FPP 方式を使用して同じコンフィグレーション・ファイルでスレーブ FPGA をコンフィグレーションするために必要な接続を示しています。

Host

First FPGA Second FPGA nth FPGA

nCEO_out

DCLKnCE

nCE nCEPCIe Link

nCONFIG nCONFIG nCONFIGnSTATUS nSTATUS nSTATUS

VCCPGM

VCCPGM VCCPGMVCCPGM

VCCPGM

VCCPGM

VCCPGM

n

Root Complex

EndPoint

ConfigurationInterface

Configuration Device or Configuration Host

and Flash

User IP

PS またはFPP コンフィグレーション・ピンを介してスレーブFPGA に入力されるコンフィグレーション・データ

DCLK_out

DATA_out[n:0] nCONFIG_out

DATA [n:0]

DCLK

CONF_DONE CvP_CONFDONE

CONF_DONE CONF_DONE

DATA [n:0]

10 kΩ10 kΩ 10 kΩ 10 kΩ

10 kΩ

10 kΩ

10 kΩ

PS またはFPP コンフィグレーション・データをフェッチするために使用されるGPIO ピン

次のスレーブFPGA のnCONFIG ピンとnCE ピンに接続するために使用されるGPIO ピン

ルートポートからPCIe リンクを介してデータをフェッチする。データはPS またはFPP コンフィグレーション・インターフェイスを介してチェーン内のスレーブFPGA に送信される

UG-011012015.11.02 単一のコンフィグレーション・ファイルを使用したスレーブ FPGA のコンフィグレ

ーション3-5

CvP トポロジー Altera Corporation

フィードバック

Page 25: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

デザインの検討事項 42016.10.31

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

CvP リビジョンのデザインフロー用デザインの準備CvP リビジョンのデザインフローでは、I/O リング (ペリフェラル) と FPGA コア・ファブリックに実装された設計要素に別々のビットストリームが必要です。I/O ビットストリームを複数のFPGA コア・ファブリック・ビットストリームで使用するには、リコンフィグレーション可能なコアロジックからペリフェラル要素を分離します。• I/O リングまたはペリフェラル・パーティションは、次の I/O ペリフェラル・レジスタービットによって制御されます。• I/O レジスター• GPIO (汎用 I/O)• トランシーバー• PLL (フェーズロック・ループ)• PCI Express 用ハード IP• 強化メモリー PHY• GCLK (グローバルクロック)• RCLK (リージョナル・クロック)

• コア・パーティション:FPGA ファブリックをプログラムするためのコアロジック。コアロジックには、静的コア領域とリコンフィグレーション可能コア領域の両方が含まれます。• リコンフィグレーション可能領域:この領域は、PCIe リンクがアップして完全に列挙されている間に、ユーザーモードでプログラムすることができます。領域には、FPGA コアイメージ内の LAB、内蔵 RAM ブロック、DSP ブロックなど、CRAM によって制御されるリソースのみが含まれている必要があります。GPIO、トランシーバー、PLL、I/O ブロック、PCI Express IP コアのハード IP、またはペリフェラル・イメージに含まれるその他のコンポーネントなどのペリフェラル・コンポーネントを含めることはできません。

• 静的領域:この領域は変更できません。コア・ファブリック用に 1 つ以上のパーティションを作成することができます。ただし、リコンフィグレーションするロジックを含めるパーティションは 1 つだけです。

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 26: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

リコンフィグレーション可能なコアロジックにペリフェラル・コンポーネントが含まれていないことを確認する必要があります。これらの接続に失敗すると、次の Quartus Prime コンパイルエラーが発生します。Error (142040): Detected illegal nodes in reconfigurable partitions. Only core logic

is reconfigurable in this version of the Quartus Prime software.

図 4-1: 推奨デザイン階層

次の図は、PCI Express IP コアのハード IP、DDR3 SDRAM へのインターフェイス、およびコアロジックを含むデザインの推奨デザイン階層を示しています。

Top Level Design

Periphery Logic

Hard IP for PCIe DDR3 SDRAMInterface PLLs

Core Logic

Custom Logic DDR3 GlueLogic

PCIe Gasket Logic

このデザイン階層は、Quartus Prime のコンパイル後の実際のパーティションを表します。リコンフィグレーション可能なコアロジックにペリフェラル要素が含まれていないことを確認する必要があります。コアロジックとペリフェラル・ロジックの分離は反復のプロセスです。リコンフィグレーション可能なコアロジックから分離する必要があるすべてのペリフェラル・ロジックを見つけるために、いくつかの Quartus Prime コンパイルを実行する必要があります。

関連情報Quartus Prime Incremental Compilation for Hierarchical and Team-Based Design

オープンシステム用 CvP のデザインPCIe リンクの両端を完全に制御しないオープンシステム用の CvP システムをデザインする際は、このセクションに記載されているガイドラインに従ってください。

FPGA 電源ランプ時間要件オープンシステムでは、デザインが FPGA 電源の立上げ時間要件に準拠していることを確認する必要があります。POR (パワー・オン・リセット) 回路は、電源出力が推奨動作範囲内になるまで、FPGA をリセット状態に保ちます。POR イベントは、FPGA をパワーアップしてから、電源ランプ時間であるtRAMP の範囲内で電源が推奨動作範囲に達するまでの間で発生します。tRAMP が満たされない場

4-2 オープンシステム用 CvP のデザインUG-01101

2016.10.31

Altera Corporation デザインの検討事項

フィードバック

Page 27: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

合にはデバイスのコンフィグレーションは成功せず、デバイスの I/O ピンとプログラミング・レジスターはトライステートを維持します。CvP の場合、最初の電源ランプアップから最後の電源ランプアップまでの合計 tRAMP は 10 ms 未満でなければなりません。PORSEL ピンを High に設定して高速 POR を選択する必要があります。高速 POR 遅延時間は 4~12 ms の範囲であり、POR 後に PCIe リンクが初期化およびコンフィグレーションを開始するのに十分な時間を与えます。

図 4-2: 電源ランプアップ時間と POR

First PowerSupply

Last PowerSupply

Time

Volts

POR Delay10 ms

関連情報• Power Management in Arria V Devices• Power Management in Cyclone V Devices• Power Management in Stratix V Devices

PCIe ウェイクアップ時間要件オープンシステムでは、PCI Express CARD Electromechanical Specification に定義されているように、PCIe リンクが PCIe ウェイクアップ時間要件を満たしていることを確認する必要があります。PCIe ウェイクアップ・タイミング仕様のパワーオンから L0 (リンクアクティブ ) 状態への移行は、200 ms 以内でなければなりません。FPGA のパワーアップから FPGA 内の PCI Express IP コアのハード IP がリンク・トレーニングの準備ができるまでのタイミングは、120 ms 以内でなければなりません。関連情報PCI Express Card Electromechanical 3.0 Specification

UG-011012016.10.31 PCIe ウェイクアップ時間要件 4-3

デザインの検討事項 Altera Corporation

フィードバック

Page 28: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP 初期化モードの PCIe ウェイクアップ時間要件

CvP 初期化モードでは、PCI Express IP コアのハード IP は、ペリフェラル・イメージのコンフィグレーション時間が完全な FPGA コンフィグレーション時間よりも大幅に短いため、120 ms の要件を満たすことが保証されています。したがって、ペリフェラル・イメージのコンフィグレーションに従来のコンフィグレーション方式のいずれかを選択できます。コンフィグレーションが正常に行われるように、POR で監視されるすべての電源は、10 ms のランプアップ時間内に動作範囲に単調に増加する必要があります。PERST# 信号は、FPGA 電源が指定された電圧許容値内にあり、REFCLK が安定していることを示します。内部ステータス信号がペリフェラル・イメージがロードされたことを示した後、エンベデッド・ハードリセット・コントローラーがトリガーします。このリセットは PERST# をトリガーしません。CvP 初期化モードでは、PCIe リンクは FPGA コアイメージ・コンフィグレーションと PCIe アプリケーションをユーザーモードでサポートします。注意: Gen 2 対応エンドポイントについては、コア.sof をロードした後、アルテラはリンクが予

想される Gen 2 レートにトレーニングされていることを確認することを推奨します。リンクが Gen 2 で動作していない場合、ホスト・ソフトウェアはエンドポイントを再トレーニングするようにトリガーすることができます。

図 4-3: CvP 初期化モードにおける PCIe タイミングシーケンス

ab

cd

f

e

FPGA Power Supplies

PERST#

FPGA Configuration Status

PCIe Link Status Link Inactive Link Training

Program periphery and calibrate

CvP Update

Periphery image configuration through conventional method

Periphery configuration through conventional method

Core image configuration through the PCIe Link

パワーオンリセット後のみ、コントロール・ブロックは、CONF_DONE = 1 のときにPCIe 用ハードIP をリセット解除する FPGA はユーザーモードに入る

Core image updatethrough the PCIe Link

Link Active (L0)

表 4-1: CvP 初期化モードにおけるパワーアップ・シーケンスのタイミング

タイミングシーケンス

タイミング範囲 (ms)

説明

a 10 FPGA 内のすべての POR に監視される電源がそれぞれの動作範囲に達するまでの最大ランプアップ時間要件です。

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

の最小非アクティブ時間です。

4-4 CvP 初期化モードの PCIe ウェイクアップ時間要件UG-01101

2016.10.31

Altera Corporation デザインの検討事項

フィードバック

Page 29: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

タイミングシーケンス

タイミング範囲 (ms)

説明

e 120 CvP 初期化モードでの FPGA パワーアップからペリフェラル・コンフィグレーションの終了までの最大時間です。

f 100 PERST# がデアサートされた後、PCIe デバイスが L0 に入る必要がある最大時間です。

CvP 更新モードの PCIe ウェイクアップ時間要件

CvP 更新モードでは、デバイスの電源投入時に従来のコンフィグレーション方式の 1 つを使用して FPGA を初期化します。オープンシステムでは、120 ms 以内に FPGA の初期化が完了する必要があります。この要件が確実に満たされるように、システムに適した従来のコンフィグレーション方式を選択してください。コンフィグレーションが正常に行われるように、POR で監視されるすべての電源は、10 ms のランプアップ時間内に動作範囲に単調に増加する必要があります。PERST# は、PCIeElectromechanical Specification で指定されている補助信号の 1 つです。PERST# 信号は、PCIe ホストから FPGA に送信されます。PERST# 信号は、FPGA の電源が指定された電圧許容値内にあるかどうか、安定しているかどうかを示します。内部ステータス信号がペリフェラル・イメージがロードされたことを示した後、エンベデッド・ハードリセット・コントローラーがトリガーします。このリセットは PERST# をトリガーしません。また、PERST# 信号は、電源が安定した後でFPGA ステートマシンやその他のロジックを初期化します。PCIe リンクは、CvP 更新モードのユーザーモードで PCIe アプリケーションをサポートしているため、コアイメージの更新に PCIe リンクを使用できます。注意: Gen 2 対応エンドポイントについては、コア.sof をロードした後、アルテラはリンクが予

想される Gen 2 レートにトレーニングされていることを確認することを推奨します。リンクが Gen 2 で動作していない場合、ソフトウェアはエンドポイントを再トレーニングするようにトリガーすることができます。

UG-011012016.10.31 CvP 更新モードの PCIe ウェイクアップ時間要件 4-5

デザインの検討事項 Altera Corporation

フィードバック

Page 30: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 4-4: CvP 更新モードにおける PCIe タイミングシーケンス

ab

cd

f

e

FPGA Power Supplies

PERST#

FPGA Configuration Status

PCIe Link Status Link Inactive Link Training Link Active (L0)

Program periphery and calibrate

CvP Update

Full image configuration through conventional method

Periphery configuration Core image updatethrough the PCIe Link

パワーオンリセット後のみ、コントロール・ブロックは、CONF_DONE = 1 のときにPCIe 用ハードIP をリセット解除する

表 4-2: CvP 更新モードにおけるパワーアップ・シーケンスのタイミング

タイミングシーケンス

タイミング範囲 (ms)

説明

a 10 FPGA 内のすべての POR に監視される電源がそれぞれの動作範囲に達するまでの最大ランプアップ時間要件です。

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

の最小非アクティブ時間です。e 120 CvP 更新モードでの FPGA パワーアップからフル FPGA コンフィグレ

ーションの終了までの最大時間です。f 100 PERST# がデアサートされた後、PCIe デバイスが L0 に入る必要がある

最大時間です。

推奨されるコンフィグレーション方法

CvP 初期化モードでは、AS、PS、または FPP のコンフィグレーション方式を使用して FPGA をペリフェラル・イメージでコンフィグレーションできます。CvP 更新モードでは、以下の表に示すコンフィグレーション方式のいずれかを使用して FPGA を完全にコンフィグレーションできます。以下の表には、CvP 更新モードでディスエーブルになっているデータ圧縮および暗号化機能を備えた、最速の DCLK 周波数に基づくコンフィグレーション方式が記載されています。これらの機能には異なるデータ対クロック比が必要なため、合計コ

4-6 推奨されるコンフィグレーション方法UG-01101

2016.10.31

Altera Corporation デザインの検討事項

フィードバック

Page 31: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

ンフィグレーション時間が長くなります。したがって、合計コンフィグレーション時間は、200-ms の PCIe ウェイクアップ・タイミング仕様を満たしていません。

表 4-3: CvP 更新モードの推奨コンフィグレーション方式

デバイス メンバーコード コンフィグレーション方式

Arria V GX

A1 FPP x8

FPP x16A3

A5

FPP x16

A7

B1

B3

B5

B7

Arria V GT

C3 FPP x8

FPP x16

C7

FPP x16D3

D7

Arria V GZ

E1 FPP x16

FPP x32E3

E5FPP x32

E7

Arria V SXB3

FPP x16B5

Arria V STD3

FPP x16D5

UG-011012016.10.31 推奨されるコンフィグレーション方法 4-7

デザインの検討事項 Altera Corporation

フィードバック

Page 33: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

デバイス メンバーコード コンフィグレーション方式

Stratix V GS

D3 FPP x8

FPP x16

FPP x32

D4 FPP x16

FPP x32D5

D6FPP x32

D8

PCIe ウェイクアップ時間要件の推定

図 4-5: PCIe ウェイクアップ時間要件の推定方程式

式に使用される規則は以下の通りです。• ビット単位でのフル・コンフィグレーション・ファイル・サイズ:圧縮されていない.rbf サイズを参照してください。

• データライン数:データバスの幅を参照してください。たとえば、FPP x16 のデータバスの幅は 16 です。

• DCLK 周波数:DCLK 周波数について fMAX を参照してください。• パワー・ランプアップ:10 ms 以内でなければなりません。• POR 遅延:高速 POR を使用してください。最大時間は 12 ms です。上記の式を使用して、お使いのデバイスが PCIe ウェイクアップ時間要件を満たしているかどうかを推定できます。次の図は、Arria V GX A5 デバイスの PCIe ウェイクアップ時間要件の計算例を示しています。

図 4-6: PCIe ウェイクアップ時間要件の計算例

Arria V GX A5 デバイスの推定値は 72 ms で、120 ms の PCIe ウェイクアップ時間要件を満たしています。

UG-011012016.10.31 PCIe ウェイクアップ時間要件の推定 4-9

デザインの検討事項 Altera Corporation

フィードバック

Page 34: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

関連情報• Arria V Device Datasheet

FPGA 全体および IOCSR、DCLK 周波数、および POR 遅延の圧縮されていない.rbf サイズに関する詳細情報を提供します。

• Cyclone V Device DatasheetFPGA 全体および IOCSR、DCLK 周波数、および POR 遅延の圧縮されていない.rbf サイズに関する詳細情報を提供します。

• Stratix V Device DatasheetFPGA 全体および IOCSR、DCLK 周波数、および POR 遅延の圧縮されていない.rbf サイズに関する詳細情報を提供します。

クローズドシステム用 CvP のデザインPCIe リンクの両端を制御するクローズドシステム用に CvP をデザインする際は、CvP 初期化モードのペリフェラル・コンフィグレーション時間または CvP 更新モードの完全な FPGA コンフィグレーション時間を推定します。推定されたコンフィグレーション時間は、PCIe ホストが許容する時間内であることを確認する必要があります。

トランシーバー・リコンフィグレーション・コントローラーを含む CvPデザインのクロック接続

デザインに以下のコンポーネントが含まれている場合、• CvP 対応の Arria V、Cyclone V、または Stratix V デバイス• 同じトランシーバー・リコンフィグレーション・コントローラーに接続された任意のトランシーバー PHY

refclk と呼ばれる PLL リファレンス・クロックをトランシーバー・リコンフィグレーション・コントローラーの mgmt_clk_clk 信号とトランシーバー PHY に接続する必要があります。さらに、デザインが FPGA の同じ側に複数のトランシーバー・リコンフィグレーション・コントローラーを含む場合、これらのコントローラーはすべて mgmt_clk_clk 信号を共有する必要があります。注意: • Stratix V および Arria V GZ デバイスでは、CvP が有効になっていると、CvP 対応ハード

IP のトランシーバー・チャネルに対して、コアがロードされるまでダイナミック・トランシーバー・リコンフィグレーションを使用できません。

• Cyclone V および Arria V デバイスでは、CvP が PCIe Gen1 モードで有効になっていると、CvP 対応ハード IP のトランシーバー・チャネルに対して、コアがロードされるまでダイナミック・トランシーバー・リコンフィグレーションを使用できません。

4-10 クローズドシステム用 CvP のデザインUG-01101

2016.10.31

Altera Corporation デザインの検討事項

フィードバック

Page 35: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP デザイン例 52016.10.31

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

この章のデザイン例では、CvP 初期化モード、CvP 初期化とそれに続くコアロジックの変更、および CvP 更新モードに必要な手順を示しています。これらはすべて、アルテラのWebサイトからダウンロードできる PCI Express High Performance Reference Design から始まります。また、デザイン例は CvP リビジョンのデザインフローを使用してリコンフィグレーション可能コアロジックのデザインを準備する方法も示しています。CvP プロセスには、次の図に示すように、PCI Express ホスト、FPGA 制御ブロック、PCI ExpressIP コアの Stratix V ハード IP、および FPGA の CRAM 間の相互作用が含まれます。制御ブロックと FPGA CRAM は隠されており、それらにアクセスすることはできません。したがって、CvP の機能をシミュレートすることはできません。

図 5-1: CvP デザインの主要コンポーネント

HIPDUT

ControlBlock

FPGACRAM

CvP Logic

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 36: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-1: CvP Qsys のデザイン例のキーファイル

ファイル名 説明

altpcied_sv.sdc PCI Express IP コア用ハード IP の.sdc (Synopsys Design Constraints) です。

top_hw.sdc 完全なデザインのためのトップレベル・タイミング制約ファイル.sdc です。

top_hw.v PCI Express High Performance Reference Design のトップレベル・ラッパーです。

top.cof CvP 初期化モード用の CvP 変換ファイルです。このファイルは、Quartus Prime ソフトウェアが元の.sof ファイルまたは.pof ファイルをペリフェラルおよびコアイメージに分割するために必要な入出力ファイルを指定します。

pcie_lib 合成ツールで使用されるデザインファイルです。

関連情報• インテル® FPGA の PCI Express* IP• PCI Express High Performance Reference Design

CvP 初期化モードのデザイン手順についてCvP 初期化モードは、デザインをペリフェラル・イメージとコアイメージに分割します。ペリフェラル・イメージは、PCB 上のローカル・フラッシュデバイスに格納することができ、ユーザーは、AS (アクティブシリアル ) モードを介してペリフェラルをプログラムすることができます。コアイメージはホストメモリーに保存されます。PCI Express リンクを使用してコアイメージをFPGA にダウンロードする必要があります。注意: 同じペリフェラル I/O 用に複数のバージョンのコアロジックを作成する予定の場合は、新

しいコアイメージが以前のペリフェラル・イメージで動作する必要があります。同じペリフェラル・イメージに接続するリコンフィグレーション可能なイメージを作成する方法については、リビジョンのデザインフローによる CvP 初期化モードのデザイン手順についてを参照してください。

Quartus Prime ソフトウェアで CvP 初期化モードを指定するには、CvP Settings Core initializationand update を選択する必要があります。次のいずれかの理由により、CvP 初期化モードを選択できます。• コアイメージを外部ホストメモリーに保存することでコストを低減する• コアイメージをホストに保管して、コアイメージへの不正アクセスを防止する

5-2 CvP 初期化モードのデザイン手順についてUG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 37: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-2: CvP 初期化モードのデザインフロー

デザインをコンパイルする

periph.jic を使用してJTAG 経由でペリフェラルをプログラムする

リンクとデータレートを確認する

core.rbf を使用してPCIe リンク経由でコアをプログラムする

PCIe ハードIP でCvP を有効にし、Device and Pin Options でCvP パラメーターを設定する

.SOF ファイルをcore.rbf とperiph.jic に分割する

注意: CvP 初期化モードを選択する場合は、PCI Express ハード IP 用の CMU PLL とハード・リセット・コントローラーを使用する必要があります。

CvP 初期化デモンストレーションのウォークスルーには、次の手順が含まれています。1. 高性能リファレンス・デザインのダウンロードと生成2. CvP 初期化モード用 CvP パラメーターの設定3. CvP 初期化モードのデザインのコンパイル4. CvP 初期化デザインモード向け SOF ファイルの分割5. ハードウェアの立ち上げ

UG-011012016.10.31 CvP 初期化モードのデザイン手順について 5-3

CvP デザイン例 Altera Corporation

フィードバック

Page 38: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

関連情報• Transceiver PHY Reset Controller IP Core• Transceiver PLL IP Core for Stratix V, Arria V, and Arria V GZ Devices

高性能リファレンス・デザインのダウンロードと生成CvP を有効にした PCI Express High Performance Reference Design を再生成するには、次の手順に従います。1. PCI Express プロトコルWebページから PCIe AVST and On-Chip Memory Interface デザインファイルをダウンロードしてください。このデザインには、Stratix V GX FPGA 開発キットをターゲットとするための正しいピン・アサインメントとプロジェクト設定が含まれています。

2. PCIe_SVGX_AVST_On_Chip_Mem_140.zip を展開します。3. hip_s5gx_x1_g1_ast64_140.qar を作業ディレクトリーにコピーします。4. Quartus Prime ソフトウェアを起動し、hip_s5gx_x1_g1_ast64_140.qar を復元します。5. Tools メニューで Qsys をクリックします。6. Top.qsys を開きます。7. System Contents タブで DUT を右クリックし、Edit を選択します。8. System Settings の下で、次の図に示すように、Enable configuration via the PCIe link をオンにします。

図 5-3: PCI Express パラメーター・エディター用のハード IP

9. Finish をクリックします。10.Generation タブで、次の表の設定を指定します。次に、ウィンドウの下部にある Generate をクリックします。

5-4 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 39: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-2: Qsys Generation タブの設定

パラメーター 値

Create simulation model None

Create testbench Qsys system None

Create testbench simulation model None

Create HDL design files for synthesis Verilog

Create block symbol file (.bsf) この項目をオフにします。

Path < working_dir> top

Simulation この項目は空白のままにします。

Testbench <working_dir> /top /synthesis

図 5-4: Qsys 生成ウィンドウ

11.コンパイルが成功したら、Qsys を閉じます。

UG-011012016.10.31 高性能リファレンス・デザインのダウンロードと生成 5-5

CvP デザイン例 Altera Corporation

フィードバック

Page 40: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

12.IP バリエーションを作成した後、この IP を Quartus プロジェクトに追加するには、.qip ファイルと.sip ファイルをマニュアルで追加する必要があります。.qip は<working_dir>/synthesis/top.qip にあります。.sip は<working_dir>/simulation/top.sip にあります。

図 5-5: Quartus® Prime Reminder

13.Assignments メニューで Settings を選択します。14.Files カテゴリーで、既存の top.qip IP Variation File を削除します。15.<working_dir>/synthesis/top.qip にある IP コアの生成後に作成された新しい top.qip ファイルを参照します。

16.Add と OK をクリックして Settings ウィンドウを閉じます。

5-6 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 41: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-6: Settings ウィンド

関連情報PCI Express リファレンス・デザインおよびアプリケーション・ノート

CvP 初期化モード用 CvP パラメーターの設定Quartus Prime ソフトウェアを使用して 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。PCI Express GUI 用ハード IP で Enable Configuration via the PCIe link をオンにして CvP を有効にした場合、このボックスをオンにしても影響を及ぼしません。したがって、アルテラは未チェックのままにしておくことを推奨します。

c. 他のすべてのオプションは無効のままにします。

UG-011012016.10.31 CvP 初期化モード用 CvP パラメーターの設定 5-7

CvP デザイン例 Altera Corporation

フィードバック

Page 42: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-7: Device and Pin Options ウィンドウ

3. Category の下で、Configuration を選択してコンフィグレーション方式とデバイスを指定します。次の表に示すように設定を指定します。

表 5-3: CvP 初期化モードの Configuration 設定

パラメーター 値

Configuration scheme Active Serial x4

Configuration mode Standard

Configuration device EPCQ256

5-8 CvP 初期化モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 43: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

パラメーター 値

Configuration device I/O voltage Auto

Force VCCIO to be compatible with configurationI/O voltage

このオプションをオフにします。

Generate compressed bitstreams このオプションをオフにします。これは小さなデザイン例なので、圧縮されたビットストリームは使用しません。より大きなデザインの場合、圧縮されたビットストリームを使用すると、コンフィグレーション時間が大幅に短縮されます。また、圧縮されたビットストリームはより小さいフラッシュデバイスを必要とします。

Active serial clock source 100 MHz Internal Oscillator

Enable input tri-state on active configuration pinsin user mode

このオプションをオフにします。

UG-011012016.10.31 CvP 初期化モード用 CvP パラメーターの設定 5-9

CvP デザイン例 Altera Corporation

フィードバック

Page 44: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-8: Configuration ウィンドウ

これらの Configuration 設定は、Stratix V GX FPGA 開発ボードで使用可能なコンフィグレーション・デバイスを使用します。EPCQ256 フラッシュデバイスは、ペリフェラル・イメージをロードするのに必要なデバイスよりもはるかに大きいです。

4. Category の下で CvP Settings を選択します。CvP Initialization モードでは、次の表に示すように設定を指定します。

表 5-4: CvP 初期化カテゴリーの設定

パラメーター 値

CvP Initialization Core initialization and update

Enable CvP_CONFDONE pin このオプションをオンにします。

Enable open drain on CvP_CONFDONE pin このオプションをオンにします。

5-10 CvP 初期化モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 45: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-9: CvP Settings ウィンドウ

5. OK をクリックして、Device and Pin Options ダイアログボックスを閉じます。6. OK をクリックして、Device ダイアログボックスを閉じます。7. プロジェクトを保存します。

CvP 初期化モードのデザインのコンパイル1. デザインをコンパイルするには、Processing メニューで Start compilation を選択します。コンパイルによって、.sof ファイルが pcie_quartus_files サブディレクトリーに作成されます。

CvP 初期化デザインモード向け SOF ファイルの分割以下の手順に従って、.sof ファイルをペリフェラル・ロジックとコアロジック用に別々のイメージに分割します。1. File メニューで Convert Programming File を選択します。2. Output programming files to convert の下で、以下の表に示すオプションを指定します。

UG-011012016.10.31 CvP 初期化モードのデザインのコンパイル 5-11

CvP デザイン例 Altera Corporation

フィードバック

Page 46: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-5: CvP Initialization Output Programming Files 設定

パラメーター 値

Programming file type JTAG Indirect Configuration File (.jic)

Configuration device EPCQ256

Mode Active Serial x4

File name ./pcie_quartus_files/ ディレクトリーを参照して選択します。ファイル名 top.jic を入力します。次に Save をクリックします。

Create Memory Map File このオプションをオンにします。

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

3. Input files to convert の下で、以下の表に示すオプションを指定します。

表 5-6: CvP Initialization Input Files to Convert 設定

パラメーター 値

Flash Loader をクリック Add Device をクリックし、Stratix V と5SGXEA7K2 を選択し、OK をクリックします。

SOF Data をクリック Add File をクリックし、./pcie_quartus_files/top.sof に移動します。Device and Pin Optionsダイアログボックスで圧縮または暗号化ビットストリームを指定した場合は、ConversionProgramming File ウィンドウでも同じオプションを指定する必要があります。これらの設定を有効にするには、top.sof をクリックします。次に、Properties をクリックし、該当するボックスにチェックマークを付けます。

Mode Active Serial x4

次の図は、指定したオプションを示しています。

5-12 CvP 初期化デザインモード向け SOF ファイルの分割UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 47: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-10: CvP 初期化モード:プログラミング・ファイルの変換に関する設定

4. Output Programming Files セクションの Create CvP files (Generate top.periph.jic andtop.core.rbf) パラメーターをオンにします。注意: このボックスをチェックしないと、Quartus Prime ソフトウェアはペリフェラル・イメ

ージおよびコアイメージ用に別々のファイルを作成しません。5. Save Conversion Setup をクリックして、これらの設定を保存します。この演習では、これらの設定を cvp_base.cof と名付けます。Quartus Prime ソフトウェアは自動的に選択内容を保存しません。

6. Generate をクリックして、top.periph.jic と top.core.rbf を作成します。注意: 生成された CvP ペリフェラル・ファイルサイズは、選択されたコンフィグレーション・

デバイスのサイズと一致します。

UG-011012016.10.31 CvP 初期化デザインモード向け SOF ファイルの分割 5-13

CvP デザイン例 Altera Corporation

フィードバック

Page 48: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

リビジョンのデザインフローによる CvP 初期化モードのデザイン手順について

リビジョンのデザインフローによる CvP 初期化モードでは、単一のペリフェラル・イメージで動作するリコンフィグレーション可能なコアイメージを作成できます。コアイメージはホストメモリーに保存されます。PCI Express リンクを使用してコアイメージを FPGA にダウンロードします。リビジョンのデザインフローを使用すると、最初のダウンロード後にコアイメージを変更して、コアロジックの代替バージョンを実行できます。このモードは、CvP 設定の Core initialization and update を選択することにより、Quartus Primeソフトウェアで指定します。FPGA が完全にプログラムされると、FPGA はユーザーモードに入ります。ユーザーモードでは、元の静的コアイメージを再プログラムすることができます。CvP初期化モードを選択する典型的な理由は次のとおりです。• FPGA プログラミング時間が PCIe 初期電源投入要件の制限を超えた場合、プラグインカードの PCIe 初期電源投入要件を満たす

• コアイメージを外部ホストメモリーに保存することでコストを低減する• 暗号化を使用してコアイメージへの不正アクセスを防止する• 以下の理由により、コアロジックを変更する。

• さまざまなタスクのためにコアロジックをカスタマイズする• コアロジックの定期的なメンテナンスの定期的なリビジョンを提供する

同じペリフェラル I/O 用に複数のバージョンのコアロジックを作成する予定の場合は、新しいコアイメージは以前のペリフェラル・イメージで動作しない可能性があります。CvP RevisionDesign Flow を使用して、同じペリフェラル・イメージに接続するリコンフィグレーション可能なイメージを作成できます。

5-14 リビジョンのデザインフローによる CvP 初期化モードのデザイン手順についてUG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 49: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-11: リビジョンのデザインフローによる CvP 初期化モードのデザインフロー

*.periph.jic を使ってJTAG 経由でペリフェラルをプログラムする

リンクとデータレートを確認する

top.core.rbf を使ってPCIe リンク経由でコアをプログラムする

終了

yesコアロジックを更新する?

no

*.core.rbf を使ってPCIe リンク経由でコアを更新する

CvP 初期化モード

Device & Pin Options でGeneral、Configuration とCvP Initialization 設定を指定する

リビジョンのデザインフロー

ベースとリビジョンのパーティションをコンパイルする

ベース&CvP リビジョン用に.sof ファイルを分割する

解析と合成を実行する

CvP パーティションを作成する

注意: CvP 初期化モードを選択する場合は、PCI Express ハード IP 用の CMU PLL とハード・リセット・コントローラーを使用する必要があります。

リビジョンのデザインフローによる CvP 初期化デモンストレーションのウォークスルーには、次の手順が含まれています。

UG-011012016.10.31 リビジョンのデザインフローによる CvP 初期化モードのデザイン手順について 5-15

CvP デザイン例 Altera Corporation

フィードバック

Page 50: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

1. 高性能リファレンス・デザインのダウンロードと生成2. トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策3. リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成4. CvP 初期化モード用 CvP パラメーターの設定5. CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成6. CvP リビジョンのデザインフローにおける Base と cvp_app の両方のリビジョンのコンパイル

7. CvP リビジョンのデザインフローによる CvP 初期化モードの SOF ファイルの分割8. ハードウェアの立ち上げ

関連情報• Transceiver PHY Reset Controller IP Core• Transceiver PLL IP Core for Stratix V, Arria V, and Arria V GZ Devices

高性能リファレンス・デザインのダウンロードと生成CvP を有効にした PCI Express High Performance Reference Design を再生成するには、次の手順に従います。1. PCI Express プロトコルWebページから PCIe AVST and On-Chip Memory Interface デザインファイルをダウンロードしてください。このデザインには、Stratix V GX FPGA 開発キットをターゲットとするための正しいピン・アサインメントとプロジェクト設定が含まれています。

2. PCIe_SVGX_AVST_On_Chip_Mem_140.zip を展開します。3. hip_s5gx_x1_g1_ast64_140.qar を作業ディレクトリーにコピーします。4. Quartus Prime ソフトウェアを起動し、hip_s5gx_x1_g1_ast64_140.qar を復元します。5. Tools メニューで Qsys をクリックします。6. Top.qsys を開きます。7. System Contents タブで DUT を右クリックし、Edit を選択します。8. System Settings の下で、次の図に示すように、Enable configuration via the PCIe link をオンにします。

5-16 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 51: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-12: PCI Express パラメーター・エディター用のハード IP

9. Finish をクリックします。10.Generation タブで、次の表の設定を指定します。次に、ウィンドウの下部にある Generate をクリックします。

表 5-7: Qsys Generation タブの設定

パラメーター 値

Create simulation model None

Create testbench Qsys system None

Create testbench simulation model None

Create HDL design files for synthesis Verilog

Create block symbol file (.bsf) この項目をオフにします。

Path < working_dir> top

Simulation この項目は空白のままにします。

Testbench <working_dir> /top /synthesis

UG-011012016.10.31 高性能リファレンス・デザインのダウンロードと生成 5-17

CvP デザイン例 Altera Corporation

フィードバック

Page 52: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-13: Qsys 生成ウィンドウ

11.コンパイルが成功したら、Qsys を閉じます。12.IP バリエーションを作成した後、この IP を Quartus プロジェクトに追加するには、.qip ファイルと.sip ファイルをマニュアルで追加する必要があります。.qip は<working_dir>/synthesis/top.qip にあります。.sip は<working_dir>/simulation/top.sip にあります。

5-18 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 53: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-14: Quartus® Prime Reminder

13.Assignments メニューで Settings を選択します。14.Files カテゴリーで、既存の top.qip IP Variation File を削除します。15.<working_dir>/synthesis/top.qip にある IP コアの生成後に作成された新しい top.qip ファイルを参照します。

16.Add と OK をクリックして Settings ウィンドウを閉じます。図 5-15: Settings ウィンド

UG-011012016.10.31 高性能リファレンス・デザインのダウンロードと生成 5-19

CvP デザイン例 Altera Corporation

フィードバック

Page 54: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

関連情報PCI Express リファレンス・デザインおよびアプリケーション・ノート

トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策

ストレステストまたは実際のシステムでリコンフィグレーション可能コアロジックをほぼ連続的に更新する予定の場合は、トランシーバー・リコンフィグレーション・コントローラーに問題が発生することがあります。この問題により、Quartus II ソフトウェアの Quartus II 13.0 リリースおよびそれ以前のバージョンでは、PCIe リンクがダウントレインすることがあります。QuartusII 13.0 SP1 以降の Quartus II ソフトウェアを使用している場合、この問題は発生しません。この問題を回避するには、次の手順を実行します。1. pcie_lib/top.v を開きます。2. alt_xcvr_reconfig という名前の Reconfiguration Controller インスタンスを検索し、top.v の

reconfig_controller 全体をコメントアウトします。 (Transceiver Reconfiguration Controller インスタンスには、32 行の Verilog HDL コードが含まれています。)

3. インスタンス alt_xcvr_reconfig のコメントアウト後に、以下の Verilog HDL で示す 5 行を追加します。wire [69:0] reconfig_to_xcvr_bus = {24'h0, 2'b11, 44'h0};

assign pcie_reconfig_driver_0_reconfig_mgmt_waitrequest = 1'b0;

assign pcie_reconfig_driver_0_reconfig_mgmt_readdata = 32'h0;

assign alt_xcvr_reconfig_0_reconfig_busy_reconfig_busy = 1'b0;

assign alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcv r = { 2 {reconfig_to_xcvr_bus}};

この例では、最初のステートメントは、reconfig_to_xcvr_bus をチャネルごとに正しい値に固定します。最初の 3 つのアサインメント・ステートメントは、waitrequest、readdata、reconfig_busy 信号の正しい値を指定します。alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcvr の最終アサインメント・ステートメントは、すべてのアクティブなトランシーバー・チャネルのフル・リコンフィグレーション・バスを表します。Gen1 x1 インスタンスでは 2 つのチャネルがアクティブなので、このバスは 2 回複製されます。

リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成このデザイン例では、PCI Express High Performance Reference Design の新しいバージョンが作成されます。このリファレンス・デザインのオリジナルバージョンには、LTSSM (リンク・トレーニングとステータスおよびステートマシン) がポーリング・コンプライアンス・ステート (0x3) に入るたびにオンになる LED が含まれています。user_led.v の別のバージョンでは、カウンターに基づいて LED が点灯します。この LED は、High Performance Reference Design の個別のモジュールとしてインスタンス化され、複数のバージョンのコアロジックでデザインを作成するために必要なステップを実証します。

5-20 トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 55: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

High Performance Reference Design の代替バージョンを作成するには、次の手順を実行します。1. http://www.altera.com/literature/ug/user_led.zip から user_led.zip をダウンロードし、デスクトップに保存します。

2. user_led.zip を開いて展開します。3. user_led.v と top_hw.v を作業ディレクトリーにコピーします。このバージョンの user_led.v は、LTSSM (リンク・トレーニングとステータスおよびステートマシン) がポーリング・コンプライアンス・ステート (0x3) に入るとオンになります。top_hw.vは PCI Express High Performance Reference Design のトップレベル・ラッパーです。user_led.v を別のモジュールとしてインスタンス化します。

4. cvp_app_src を作業ディレクトリーのサブディレクトリーに移動またはコピーします。この代替バージョンの user_led.v は、カウンターのビット[23]が 1 になるたびに LED を点灯させます。

CvP 初期化モード用 CvP パラメーターの設定Quartus Prime ソフトウェアを使用して 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。PCI Express GUI 用ハード IP で Enable Configuration via the PCIe link をオンにして CvP を有効にした場合、このボックスをオンにしても影響を及ぼしません。したがって、アルテラは未チェックのままにしておくことを推奨します。

c. 他のすべてのオプションは無効のままにします。

UG-011012016.10.31 CvP 初期化モード用 CvP パラメーターの設定 5-21

CvP デザイン例 Altera Corporation

フィードバック

Page 56: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-16: Device and Pin Options ウィンドウ

3. Category の下で、Configuration を選択してコンフィグレーション方式とデバイスを指定します。次の表に示すように設定を指定します。

表 5-8: CvP 初期化モードの Configuration 設定

パラメーター 値

Configuration scheme Active Serial x4

Configuration mode Standard

Configuration device EPCQ256

5-22 CvP 初期化モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 57: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

パラメーター 値

Configuration device I/O voltage Auto

Force VCCIO to be compatible with configurationI/O voltage

このオプションをオフにします。

Generate compressed bitstreams このオプションをオフにします。これは小さなデザイン例なので、圧縮されたビットストリームは使用しません。より大きなデザインの場合、圧縮されたビットストリームを使用すると、コンフィグレーション時間が大幅に短縮されます。また、圧縮されたビットストリームはより小さいフラッシュデバイスを必要とします。

Active serial clock source 100 MHz Internal Oscillator

Enable input tri-state on active configuration pinsin user mode

このオプションをオフにします。

UG-011012016.10.31 CvP 初期化モード用 CvP パラメーターの設定 5-23

CvP デザイン例 Altera Corporation

フィードバック

Page 58: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-17: Configuration ウィンドウ

これらの Configuration 設定は、Stratix V GX FPGA 開発ボードで使用可能なコンフィグレーション・デバイスを使用します。EPCQ256 フラッシュデバイスは、ペリフェラル・イメージをロードするのに必要なデバイスよりもはるかに大きいです。

4. Category の下で CvP Settings を選択します。CvP Initialization モードでは、次の表に示すように設定を指定します。

表 5-9: CvP 初期化カテゴリーの設定

パラメーター 値

CvP Initialization Core initialization and update

Enable CvP_CONFDONE pin このオプションをオンにします。

Enable open drain on CvP_CONFDONE pin このオプションをオンにします。

5-24 CvP 初期化モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 59: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-18: CvP Settings ウィンドウ

5. OK をクリックして、Device and Pin Options ダイアログボックスを閉じます。6. OK をクリックして、Device ダイアログボックスを閉じます。7. プロジェクトを保存します。

CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

このセクションでは、更新可能なリコンフィグレーション可能コアロジック領域の CvP リビジョンを作成する手順を説明します。デザインの残りの部分は静的コア領域として扱われます。コアロジックのベースバージョンを作成するには、次の手順に従います。1. Assignments メニューで Settings を選択し、次に Files を選択します。2. File name ボックスで、 Browse をクリックして user_led.v を選択し、Add をクリックします。3. OK をクリックします。4. Quartus Prime ソフトウェアがデザインを解析して、user_led インスタンスを含むデザイン階層を作成するように Analysis & Synthesis を実行します。

UG-011012016.10.31 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョン

の作成5-25

CvP デザイン例 Altera Corporation

フィードバック

Page 60: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

5. user_led をデザイン・パーティションとして設定するには、デザイン階層で user_led:user_ledを右クリックし、Design Partition を選択します。user_led :user:led の隣に小さい赤色のボックスが表示され、別のパーティションであることを示します。 (同じ手順をもう一度実行すると、別のデザイン・パーティションが user_led:user_led から削除されます)。 次の図は、この手順を示しています。

図 5-19: デザイン・パーティションの設定

6. 上記の図に示すメニューカスケードの下部にある Design Partitions Window をクリックします。Design Partitions Window が表示されます。

7. Allow Multiple Personas 列を Design Partitions Window に追加するには、Color の見出しの横にある Design Partition Window の上部バーを右クリックし、次の図に示すようにリストからAllow Multiple Personas を選択します。

5-26 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 61: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-20: 複数のパーソナを許可する

8. コア・インスタンス user_led:user_led をクリックし、Allow Multiple Personas を On に設定します。

9. Netlist Type 列をクリックし、user_led:user_led Netlist Type を Source File に設定します。10.修正されたプロジェクトの CvP リビジョンを作成するには、次の手順に従います。

a. Revisions タブで、リビジョン top を右クリックし、Create CvP Revision を選択します。Create CvP Revision ダイアログボックスが表示されます。

b. 次の図に示すように、Revision Name に cvp_app と入力し、OK をクリックして CvP リビジョンを作成します。

UG-011012016.10.31 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョン

の作成5-27

CvP デザイン例 Altera Corporation

フィードバック

Page 62: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-21: リビジョン名の指定

c. Quartus Prime プロジェクトを保存します。11.次の図に示すように、Quartus Prime ソフトウェアのデザイン・リビジョン・リストの CvP リビジョンを変更します。

図 5-22: CvP リビジョンの変更

12.cvp_app リビジョンから user_led.v を削除するには、Assignments メニューで Settings を選択し、次に Files を選択します。これは、LTSSM が Polling.Compliance 状態になると LED を点灯させる元の user_led.v ファイルです。

13.Files リストで user_led.v をクリックし、次に Remove をクリックします。14.cvp_app リビジョンの cvp_app_src/user_led.v を追加するには、File name ボックスで Browseをクリックし、cvp_app_src/user_led.v を参照して Add をクリックします。これは修正された user_led.v ファイルで、カウンターのビット[23]が 1 のときに LED を点灯させます。

15.File name ボックスで、 Browse をクリックし、cvp_app_src/user_led.v を参照して Add をクリックします。

16.OK をクリックします。17.Partition Name ウィンドウで、user_led:user_led を選択し、Netlist Type を Source File に変更し、Allow Multiple Personas を On にします。

18.Quartus Prime ソフトウェアのデザイン・リビジョン・リストの top リビジョンに戻します。

5-28 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 63: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP リビジョンのデザインフローにおける Base と cvp_app の両方のリビジョンのコンパイル

プロジェクトをコンパイルするには、Compile All をクリックします。Compile All を使用すると、Quartus Prime ソフトウェアが top リビジョンと cvp_app リビジョンを正しい順序でコンパイルすることが保証されます。

図 5-23: Quartus 13.0 で Compile All オプションを使用した Base および cvp_app のリビジョンのコンパイル

コアロジックからすべてのペリフェラル・コンポーネントを分離するために、デザインのコンパイルを何回か繰り返す場合があります。その結果、最終的なデザインでは、もともと計画していた論理ブロック間の機能的関係が維持されなくなる可能性があります。デザインに余分なコメントを追加すると、HDL をトレースするのに役立ちます。次のいずれかの条件が当てはまる場合は、プロジェクトをコンパイルして、リコンフィグレーションされたコアイメージを更新する必要があります。• CvP リビジョンは一度もコンパイルされていません。• ペリフェラル・ロジックを変更しました。• コアリビジョンのラッパーファイルを変更しました。• 新しいバージョンの Quartus Prime ソフトウェアに移行しました。• Quartus Prime Settings File (*. qsf) のプロジェクト設定を変更しました。

CvP リビジョンのデザインフローによる CvP 初期化モードの SOF ファイルの分割

CvP Revision Design Flow を CvP 初期化モードで実装するには、ベース.sof (top.sof) をリビジョン.sof (cvp_app1.sof) に置き換える必要があります。また、CvP リビジョンに別のファイル名を指定する必要があります。ここの例では、cvp_app.jic を使用しています。CvP リビジョン用に作成されたペリフェラル・イメージとコアイメージは、それぞれ cvp_app.periph.jic とcvp_app.core.rbf です。CvP リビジョンのペリフェラルおよびコアイメージを作成するには、次の手順に従います。1. File メニューで Convert Programming File を選択します。Output programming file の下で、次の表のオプションを指定します。これらの設定は、下の図に示されています。

UG-011012016.10.31 CvP リビジョンのデザインフローにおける Base と cvp_app の両方のリビジョンの

コンパイル5-29

CvP デザイン例 Altera Corporation

フィードバック

Page 64: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-10: CvP Revision Design Flow: Output Programming File オプション

パラメーター 値

Programming file type JTAG Indirect Configuration File (.jic)

Configuration device EPCQ256

Mode Active Serial x4

File name browse をクリックして pcie_quartus_files/cvp_app.jic を指定します。

Create Memory Map File このオプションをオンにします。

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

2. Input files to convert の下で、次の表のオプションを指定します。

表 5-11: CvP Revision Design Flow: Input Files to Convert

パラメーター 値

Flash Loader Add Device をクリックし、Stratix V を選択してから 5SGXEA7K2 を選択します。

SOF Data をクリック Add File をクリックし、./pcie_quartus_files/cvp_app.sof に移動します。Device and Pin Optionsダイアログボックスで圧縮または暗号化ビットストリームを指定した場合は、ConversionProgramming File ウィンドウでも同じオプションを指定する必要があります。これらの設定を有効にするには、cvp_app.sof をクリックします。次に、Properties をクリックし、該当するボックスにチェックマークを付けます。

3. Output Programming Files セクションの Create CvP files (Generate cvp_app1.periph.jic andcvp_app1.core.rbf) パラメーターをオンにします。

4. Conversion Programming File のパラメーターを保存するには、Save Conversion Setup をクリックし、出力ファイル名を入力します。変換設定を保存すると、その後の変換に時間がかかりません。この演習では、設定を cvp_revision.cof と名付けます。Convert Programming File ウィンドウの Open Conversion Setup Data を使用して Conversion Setup File (*.cof) を開くと、変換パラメーターを再ロードできます。以下の図は、これらのオプションを示しています。

5. Generate をクリックします。この変換プロセスによって、代替コアロジックのcvp_app.core.rbf とペリフェラル・ロジックの cvp_app.periph.jic が作成されます。ペリフェラル・ロジックの cvp_app.periph.jic は、ベースリビジョンを分割するときに作成されたペリフェラル・ロジックと同一である必要があります。

5-30 CvP リビジョンのデザインフローによる CvP 初期化モードの SOF ファイルの分割UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 65: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

注意: 生成された CvP ペリフェラル・ファイルサイズは、選択されたコンフィグレーション・デバイスのサイズと一致します。

図 5-24: CvP リビジョンのデザインフロー:プログラミング・ファイルの変換

6. ハードウェアの立ち上げに進みます。*_cvp * デザインで提供される top.cof ファイルは、CvP 初期化モードのテンプレートです。このファイルは、Convert Programming File ウィンドウの Open Conversion Setup Data で開いて、上図のパラメーターを取得できます。

UG-011012016.10.31 CvP リビジョンのデザインフローによる CvP 初期化モードの SOF ファイルの分割 5-31

CvP デザイン例 Altera Corporation

フィードバック

Page 66: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP 更新モードのデザイン手順についてCvP 更新モードは、 (前のモードと同様に) デザインをペリフェラル・イメージとコアイメージに分割します。最初に、従来のプログラミング・オプションを使用してイメージ全体 (ペリフェラルとコアの両方) をプログラムします。その後、PCI Express リンクを使用して、コアイメージの代替バージョンをダウンロードできます。このモードは、CvP 設定 Core update を選択して Quartus Prime ソフトウェアで指定します。次の図は、CvP 更新モードのハイレベルな手順を示しています。

5-32 CvP 更新モードのデザイン手順についてUG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 67: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-25: CvP 更新モードのデザインフロー

.pof を使用してデバイスをプログラムする

リンクとデータレートを確認する

終了

yesコアロジックを更新する?

no

*.core.rbf を使ってPCIe リンク経由でコアを更新する

CvP 更新モード

リビジョンのデザインフロー

Device & Pin Options でGeneral、Configuration とCvP Update 設定を指定する

ベースとリビジョンのパーティションをコンパイルする

ベース&CvP リビジョン用に.pof ファイルを分割する

解析と合成を実行する

CvP パーティションを作成する

注意: CvP 更新モードを選択する場合は、PCI Express ハード IP 用の CMU PLL とハード・リセット・コントローラーを使用する必要があります。

CvP 更新デモンストレーションのウォークスルーには、次の手順が含まれています。1. 高性能リファレンス・デザインのダウンロードと生成2. トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策3. リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成4. CvP 更新モード用 CvP パラメーターの設定

UG-011012016.10.31 CvP 更新モードのデザイン手順について 5-33

CvP デザイン例 Altera Corporation

フィードバック

Page 68: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

5. CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成6. CvP 更新モードのデザインのコンパイル7. CvP 更新デザインモード向け SOF ファイルの分割8. CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割9. ハードウェアの立ち上げデフォルトでは、FPGA がユーザーモードに入ると、元の static コアイメージのみを再プログラムできます。ユーザーモードで複数のコアイメージを使用する場合は、CvP Revision Design Flowを使用して、同じペリフェラル・イメージに接続する複数のコアイメージを作成できます。関連情報• Transceiver PHY Reset Controller IP Core• Transceiver PLL IP Core for Stratix V, Arria V, and Arria V GZ Devices

高性能リファレンス・デザインのダウンロードと生成CvP を有効にした PCI Express High Performance Reference Design を再生成するには、次の手順に従います。1. PCI Express プロトコルWebページから PCIe AVST and On-Chip Memory Interface デザインファイルをダウンロードしてください。このデザインには、Stratix V GX FPGA 開発キットをターゲットとするための正しいピン・アサインメントとプロジェクト設定が含まれています。

2. PCIe_SVGX_AVST_On_Chip_Mem_140.zip を展開します。3. hip_s5gx_x1_g1_ast64_140.qar を作業ディレクトリーにコピーします。4. Quartus Prime ソフトウェアを起動し、hip_s5gx_x1_g1_ast64_140.qar を復元します。5. Tools メニューで Qsys をクリックします。6. Top.qsys を開きます。7. System Contents タブで DUT を右クリックし、Edit を選択します。8. System Settings の下で、次の図に示すように、Enable configuration via the PCIe link をオンにします。

5-34 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 69: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-26: PCI Express パラメーター・エディター用のハード IP

9. Finish をクリックします。10.Generation タブで、次の表の設定を指定します。次に、ウィンドウの下部にある Generate をクリックします。

表 5-12: Qsys Generation タブの設定

パラメーター 値

Create simulation model None

Create testbench Qsys system None

Create testbench simulation model None

Create HDL design files for synthesis Verilog

Create block symbol file (.bsf) この項目をオフにします。

Path < working_dir> top

Simulation この項目は空白のままにします。

Testbench <working_dir> /top /synthesis

UG-011012016.10.31 高性能リファレンス・デザインのダウンロードと生成 5-35

CvP デザイン例 Altera Corporation

フィードバック

Page 70: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-27: Qsys 生成ウィンドウ

11.コンパイルが成功したら、Qsys を閉じます。12.IP バリエーションを作成した後、この IP を Quartus プロジェクトに追加するには、.qip ファイルと.sip ファイルをマニュアルで追加する必要があります。.qip は<working_dir>/synthesis/top.qip にあります。.sip は<working_dir>/simulation/top.sip にあります。

5-36 高性能リファレンス・デザインのダウンロードと生成UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 71: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-28: Quartus® Prime Reminder

13.Assignments メニューで Settings を選択します。14.Files カテゴリーで、既存の top.qip IP Variation File を削除します。15.<working_dir>/synthesis/top.qip にある IP コアの生成後に作成された新しい top.qip ファイルを参照します。

16.Add と OK をクリックして Settings ウィンドウを閉じます。図 5-29: Settings ウィンド

UG-011012016.10.31 高性能リファレンス・デザインのダウンロードと生成 5-37

CvP デザイン例 Altera Corporation

フィードバック

Page 72: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

関連情報PCI Express リファレンス・デザインおよびアプリケーション・ノート

トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策

ストレステストまたは実際のシステムでリコンフィグレーション可能コアロジックをほぼ連続的に更新する予定の場合は、トランシーバー・リコンフィグレーション・コントローラーに問題が発生することがあります。この問題により、Quartus II ソフトウェアの Quartus II 13.0 リリースおよびそれ以前のバージョンでは、PCIe リンクがダウントレインすることがあります。QuartusII 13.0 SP1 以降の Quartus II ソフトウェアを使用している場合、この問題は発生しません。この問題を回避するには、次の手順を実行します。1. pcie_lib/top.v を開きます。2. alt_xcvr_reconfig という名前の Reconfiguration Controller インスタンスを検索し、top.v の

reconfig_controller 全体をコメントアウトします。 (Transceiver Reconfiguration Controller インスタンスには、32 行の Verilog HDL コードが含まれています。)

3. インスタンス alt_xcvr_reconfig のコメントアウト後に、以下の Verilog HDL で示す 5 行を追加します。wire [69:0] reconfig_to_xcvr_bus = {24'h0, 2'b11, 44'h0};

assign pcie_reconfig_driver_0_reconfig_mgmt_waitrequest = 1'b0;

assign pcie_reconfig_driver_0_reconfig_mgmt_readdata = 32'h0;

assign alt_xcvr_reconfig_0_reconfig_busy_reconfig_busy = 1'b0;

assign alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcv r = { 2 {reconfig_to_xcvr_bus}};

この例では、最初のステートメントは、reconfig_to_xcvr_bus をチャネルごとに正しい値に固定します。最初の 3 つのアサインメント・ステートメントは、waitrequest、readdata、reconfig_busy 信号の正しい値を指定します。alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcvr の最終アサインメント・ステートメントは、すべてのアクティブなトランシーバー・チャネルのフル・リコンフィグレーション・バスを表します。Gen1 x1 インスタンスでは 2 つのチャネルがアクティブなので、このバスは 2 回複製されます。

リコンフィグレーション可能なコア領域の代替 user_led.v ファイルの作成このデザイン例では、PCI Express High Performance Reference Design の新しいバージョンが作成されます。このリファレンス・デザインのオリジナルバージョンには、LTSSM (リンク・トレーニングとステータスおよびステートマシン) がポーリング・コンプライアンス・ステート (0x3) に入るたびにオンになる LED が含まれています。user_led.v の別のバージョンでは、カウンターに基づいて LED が点灯します。この LED は、High Performance Reference Design の個別のモジュールとしてインスタンス化され、複数のバージョンのコアロジックでデザインを作成するために必要なステップを実証します。

5-38 トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 73: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

High Performance Reference Design の代替バージョンを作成するには、次の手順を実行します。1. http://www.altera.com/literature/ug/user_led.zip から user_led.zip をダウンロードし、デスクトップに保存します。

2. user_led.zip を開いて展開します。3. user_led.v と top_hw.v を作業ディレクトリーにコピーします。このバージョンの user_led.v は、LTSSM (リンク・トレーニングとステータスおよびステートマシン) がポーリング・コンプライアンス・ステート (0x3) に入るとオンになります。top_hw.vは PCI Express High Performance Reference Design のトップレベル・ラッパーです。user_led.v を別のモジュールとしてインスタンス化します。

4. cvp_app_src を作業ディレクトリーのサブディレクトリーに移動またはコピーします。この代替バージョンの user_led.v は、カウンターのビット[23]が 1 になるたびに LED を点灯させます。

CvP 更新モード用 CvP パラメーターの設定Quartus Prime ソフトウェアを使用して CvP パラメーターを指定するには、以下の手順に従ってください。1. Assignments メニューで Device を選択し、Device and Pin Options をクリックします。2. Category の下で General を選択してから次のオプションをイネーブルします。

a. Auto-restart configuration after error。このオプションを有効にすると、CvP はエラーが検出された後に再起動します。

b. Enable autonomous PCIe HIP mode。PCI Express GUI 用ハード IP で Enable Configuration via the PCIe link をオンにして CvP を有効にした場合、このボックスをオンにしても影響を及ぼしません。したがって、アルテラは未チェックのままにしておくことを推奨します。

c. 他のすべてのオプションは無効のままにします。

UG-011012016.10.31 CvP 更新モード用 CvP パラメーターの設定 5-39

CvP デザイン例 Altera Corporation

フィードバック

Page 74: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-30: Device and Pin Options ウィンドウ

3. Category の下で、Configuration を選択してコンフィグレーション方式とデバイスを指定します。次の表に示すように設定を指定します。

表 5-13: CvP 更新モードの Configuration 設定

パラメーター 値

Configuration scheme Passive Serial

Configuration mode Standard

Configuration device Auto

5-40 CvP 更新モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 75: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

パラメーター 値

Configuration device I/O voltage Auto

Force VCCIO to be compatible with configurationI/O voltage

このオプションをオフにします。

Generate compressed bitstreams このオプションをオンにします。

Active serial clock source 100 MHz Internal Oscillator

Enable input tri-state on active configuration pinsin user mode

このオプションをオフにします。

UG-011012016.10.31 CvP 更新モード用 CvP パラメーターの設定 5-41

CvP デザイン例 Altera Corporation

フィードバック

Page 76: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-31: Configuration ウィンドウ

4. Category の下で CvP Settings を選択します。次の表に示すように設定を指定します。

表 5-14: CvP 更新カテゴリーの設定

パラメーター 値

CvP via Protocol Core update

Enable CvP_CONFDONE pin このオプションをオンにします。

Enable open drain on CvP_CONFDONE pin このオプションをオンにします。

5-42 CvP 更新モード用 CvP パラメーターの設定UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 77: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-32: CvP Settings ウィンドウ

5. OK をクリックして、Device and Pin Options ダイアログボックスを閉じます。6. OK をクリックして、Device ダイアログボックスを閉じます。7. プロジェクトを保存します。

CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

このセクションでは、更新可能なリコンフィグレーション可能コアロジック領域の CvP リビジョンを作成する手順を説明します。デザインの残りの部分は静的コア領域として扱われます。コアロジックのベースバージョンを作成するには、次の手順に従います。1. Assignments メニューで Settings を選択し、次に Files を選択します。2. File name ボックスで、 Browse をクリックして user_led.v を選択し、Add をクリックします。3. OK をクリックします。4. Quartus Prime ソフトウェアがデザインを解析して、user_led インスタンスを含むデザイン階層を作成するように Analysis & Synthesis を実行します。

UG-011012016.10.31 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョン

の作成5-43

CvP デザイン例 Altera Corporation

フィードバック

Page 78: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

5. user_led をデザイン・パーティションとして設定するには、デザイン階層で user_led:user_ledを右クリックし、Design Partition を選択します。user_led :user:led の隣に小さい赤色のボックスが表示され、別のパーティションであることを示します。 (同じ手順をもう一度実行すると、別のデザイン・パーティションが user_led:user_led から削除されます)。 次の図は、この手順を示しています。

図 5-33: デザイン・パーティションの設定

6. 上記の図に示すメニューカスケードの下部にある Design Partitions Window をクリックします。Design Partitions Window が表示されます。

7. Allow Multiple Personas 列を Design Partitions Window に追加するには、Color の見出しの横にある Design Partition Window の上部バーを右クリックし、次の図に示すようにリストからAllow Multiple Personas を選択します。

5-44 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 79: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-34: 複数のパーソナを許可する

8. コア・インスタンス user_led:user_led をクリックし、Allow Multiple Personas を On に設定します。

9. Netlist Type 列をクリックし、user_led:user_led Netlist Type を Source File に設定します。10.修正されたプロジェクトの CvP リビジョンを作成するには、次の手順に従います。

a. Revisions タブで、リビジョン top を右クリックし、Create CvP Revision を選択します。Create CvP Revision ダイアログボックスが表示されます。

b. 次の図に示すように、Revision Name に cvp_app と入力し、OK をクリックして CvP リビジョンを作成します。

UG-011012016.10.31 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョン

の作成5-45

CvP デザイン例 Altera Corporation

フィードバック

Page 80: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-35: リビジョン名の指定

c. Quartus Prime プロジェクトを保存します。11.次の図に示すように、Quartus Prime ソフトウェアのデザイン・リビジョン・リストの CvP リビジョンを変更します。

図 5-36: CvP リビジョンの変更

12.cvp_app リビジョンから user_led.v を削除するには、Assignments メニューで Settings を選択し、次に Files を選択します。これは、LTSSM が Polling.Compliance 状態になると LED を点灯させる元の user_led.v ファイルです。

13.Files リストで user_led.v をクリックし、次に Remove をクリックします。14.cvp_app リビジョンの cvp_app_src/user_led.v を追加するには、File name ボックスで Browseをクリックし、cvp_app_src/user_led.v を参照して Add をクリックします。これは修正された user_led.v ファイルで、カウンターのビット[23]が 1 のときに LED を点灯させます。

15.File name ボックスで、 Browse をクリックし、cvp_app_src/user_led.v を参照して Add をクリックします。

16.OK をクリックします。17.Partition Name ウィンドウで、user_led:user_led を選択し、Netlist Type を Source File に変更し、Allow Multiple Personas を On にします。

18.Quartus Prime ソフトウェアのデザイン・リビジョン・リストの top リビジョンに戻します。

5-46 CvP リビジョンのデザインフローを使用したコアロジック領域の CvP リビジョンの作成

UG-011012016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 81: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP 更新モードのデザインのコンパイル1. デザインをコンパイルするには、Processing メニューで Start compilation を選択します。コンパイルによって、.pof ファイルが pcie_quartus_files サブディレクトリーに作成されます。コアロジックからすべてのペリフェラル・コンポーネントを分離するために、デザインのコンパイルを何回か繰り返す場合があります。その結果、最終的なデザインでは、もともと計画していた論理ブロック間の機能的関係が維持されなくなる可能性があります。デザインに余分なコメントを追加すると、HDL をトレースするのに役立ちます。

CvP 更新デザインモード向け SOF ファイルの分割SOF を CvP 更新モード用のペリフェラル・イメージおよびコアイメージに分割するには、以下の手順に従ってください。コアイメージの top.core.rbf を使用して CvP 更新を実行します。1. File メニューで Convert Programming File を選択します。2. Output programming file の下で、次の表のオプションを指定します。これらの設定は、下の図に示されています。

表 5-15: Output Programming File

Parameter Value

Programming file type Programmer Object File (.pof)

Configuration device CFI_128Mb

Mode 1-bit Passive Serial

File name browse をクリックして pcie_quartus_files/top.pof を指定します。

Create Memory Map File このオプションをオンにします。

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

3. Input files to convert の下で、次の表のオプションを指定します。

UG-011012016.10.31 CvP 更新モードのデザインのコンパイル 5-47

CvP デザイン例 Altera Corporation

フィードバック

Page 82: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-16: Input files to convert

パラメーター 値

SOF Data をクリック Add File をクリックし、./pcie_quartus_files/top.sof に移動します。Device and Pin Optionsダイアログボックスで圧縮または暗号化ビットストリームを指定した場合は、ConversionProgramming File ウィンドウでも同じオプションを指定する必要があります。これらの設定を有効にするには、top.sof をクリックします。次に、Properties をクリックし、該当するボックスにチェックマークを付けます。

4. Output Programming Files セクションの Create CvP files (Generate top.periph.jic andtop.core.rbf) パラメーターをオンにします。

5. Generate をクリックして、top.periph.pof と top.core.rbf を作成します。ペリフェラル・ファイルの top.periph.pof が生成されますが、使用されません。

図 5-37: CvP 更新モードのベースリビジョン:プログラミング・ファイル変換の設定

5-48 CvP 更新デザインモード向け SOF ファイルの分割UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 83: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

注意: Device and Pin Options の Configuration scheme と Configuration device は、ConvertProgramming File の Configuration Device and Mode とそれぞれ一致する必要があります。

CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割CvP Revision Design Flow を CvP 更新モードで実装するには、ベース.sof (top.sof) をリビジョン.sof (cvp_app.sof) に置き換える必要があります。また、CvP リビジョンに別のファイル名を指定する必要があります。ここの例では、 cvp_app を使用しています。CvP リビジョン用に作成されたペリフェラル・イメージとコアイメージは、それぞれ cvp_app.periph.pof と cvp_app.core.rbfです。CvP リビジョンのペリフェラルおよびコアイメージを作成するには、次の手順に従います。1. File メニューで Convert Programming File を選択します。Output programming file の下で、次の表のオプションを指定します。これらの設定は、下の図に示されています。

表 5-17: CvP Revision Design Flow: Output Programming File オプション

パラメーター 値

Programming file type Programmer Object File (.pof)

Configuration device CFl_128Mb

Mode 1-bit Passive Serial

File name browse をクリックして pcie_quartus_files/cvp_app.pof を指定します。

Create Memory Map File このオプションをオンにします。

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

2. Input files to convert の下で、次の表のオプションを指定します。

UG-011012016.10.31 CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割 5-49

CvP デザイン例 Altera Corporation

フィードバック

Page 84: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-18: CvP Revision Design Flow: Input Files to Convert

パラメーター 値

SOF Data をクリック Add File をクリックし、./pcie_quartus_files/cvp_app.sof に移動します。Device and Pin Optionsダイアログボックスで圧縮または暗号化ビットストリームを指定した場合は、ConversionProgramming File ウィンドウでも同じオプションを指定する必要があります。これらの設定を有効にするには、cvp_app.sof をクリックします。次に、Properties をクリックし、該当するボックスにチェックマークを付けます。

3. Output Programming Files セクションの Create CvP files (Generate cvp_app.periph.jic andcvp_app.core.rbf) パラメーターをオンにします。

4. Conversion Programming File のパラメーターを保存するには、Save Conversion Setup をクリックし、出力ファイル名を入力します。変換設定を保存すると、その後の変換に時間がかかりません。この演習では、設定を cvp_update_revision_setup.cof と名付けます。ConvertProgramming File ウィンドウの Open Conversion Setup Data を使用して Conversion Setup File(*.cof) を開くと、変換パラメーターを再ロードできます。以下の図は、これらのオプションを示しています。

5. Generate をクリックします。この変換プロセスによって、代替コアロジックのcvp_app.core.rbf とペリフェラル・ロジックの cvp_app.periph.pof が作成されます。注意: 生成された CvP ペリフェラル・ファイルサイズは、選択されたコンフィグレーション・

デバイスのサイズと一致します。

5-50 CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 85: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-38: CvP リビジョンのデザインフロー:プログラミング・ファイルの変換

6. ハードウェアの立ち上げに進みます。*_cvp* デザインで提供される top.cof ファイルは、CvP 初期化モードのテンプレートです。このファイルは、Convert Programming File ウィンドウの Open Conversion Setup Data で開いて、上図のパラメーターを取得できます。

UG-011012016.10.31 CvP リビジョンのデザインフローによる CvP 更新モードの SOF ファイルの分割 5-51

CvP デザイン例 Altera Corporation

フィードバック

Page 86: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

ハードウェアの立ち上げハードウェアでデザインをテストする前に、Jungo WinDriver を DUT システムにインストールする必要があります。Windows の場合、手順がWindows システムへの Jungo WinDriver のインストールで説明されています。Linux の場合、Windows システムへの Jungo WinDriver のインストールに指示があります。RW Utilities またはその他のシステム検証ツールをインストールして、エンドポイントのリンクステータスを監視し、リンク上のトラフィックを監視することもできます。これらのユーティリティーは、多くのWebサイトから無料でダウンロードできます。テスト・セットアップには、次のコンポーネントが含まれています。• Stratix V GX FPGA 開発キット• USB Blaster• Stratix V GX FPGA 開発キットを接続する PCI Express スロットを備える DUT PC• ペリフェラル・イメージの.sof または.pof ファイルをプログラムするための Quartus Prime ソフトウェアを実行するホスト 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 コマンドを示しています。

5-52 ハードウェアの立ち上げUG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 87: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 5-19: quartus_cvp コマンドのシンタックス

モード quartus_cvp コマンド

非圧縮quartus_cvp --vid=<Vendor ID> --did=<Device ID> <Core .rbf file path>

暗号化なし圧縮 quartus_cvp -c --vid=<Vendor ID> --did=<Device ID> <Core .rbf file

path>

暗号化あり quartus_cvp -e --vid=<Vendor ID> --did=<Device ID> <Core .rbf file

path>

圧縮および暗号化された

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

path>

Stratix V 開発キットの Active Serial x4 Flash 用の MSEL の変更Stratix V GX FPGA 開発キット PCB の背面にある SW4 というMSEL スイッチは、フラッシュタイプを指定します。アクティブなシリアル x4 フラッシュの正しい設定は、次の図に示すように5'b10010 です。出荷時のデフォルト値は 5'b01000 です。

図 5-39: Stratix V デバイスキットの背面図の MSEL[4:0] =5’b10010 のスイッチ 4 (SW4) コンフィグレーション

SW4ON

1 2 3 4 5 6

1 2

2

3

3

4

410 X

5 6

0 1 000 0

SW4

MSEL(default value = 5’b01000)

Binary Value

ON/UP = 0OFF/DOWN = 1

SW4ON

1 2 3 4 5 6

1 2

2

3

3

4

410 X

5 6

0 0 110 0

SW4

MSEL(value = 5’b10010)

Value for Active Serial Configuration Scheme

Binary Value

ON/UP = 0OFF/DOWN = 1

Default Setting Required Setting

以上の図では、スイッチヘッドは緑の長方形で輪郭が描かれています。アップ位置は論理 0 を意味し、ダウン位置は論理 1 を意味します。スイッチのMSB、SW4 [6]は右端にあります。このビットは使用されず、0 に設定する必要があります (SW4[6]=up)。MSEL[4]のMSB ビットは位置 5で、右から 2 番目のビットです。使用されていないビットを 0 に設定し、MSEL[4:0] = 5’b10010にするには、SW4[6:1]シーケンスは、右から左のリードで、アップ (0)、ダウン (1)、アップ (0)、アップ (0)、ダウン (1)、アップ (0) になります。

UG-011012016.10.31 Stratix V 開発キットの Active Serial x4 Flash 用の MSEL の変更 5-53

CvP デザイン例 Altera Corporation

フィードバック

Page 88: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

関連情報• Stratix V GX FPGA Development Board Reference Manual• Stratix V GX FPGA Development Kit User Guide

CvP イメージのプログラミングとリンクの検証CvP 初期化モードでは、ペリフェラル・イメージ (top.periph.jic) をロードしてから、PCIe リンクを使用してコアイメージ (top.core.rbf) をダウンロードする必要があります。JTAG を使用して、選択した CvP 初期化対応 Stratix V、 Cyclone V、または Arria V デバイスに異なるプログラミング・ファイル (つまり.sof/.jic/periph.pof) をロードできます。ハード IP が CvP 初期化ロードで最初に現れるため、JTAG を使用して CvP 初期化イメージの完全ロード (.sof) を有効にすることができます。JTAG ポートを介してペリフェラル・イメージをロードした後、リンクは予想されるデータレートおよびリンク幅に達するはずです。RW Utilities を使用して、PCIe リンクの状態を確認できます。次に、PCIe リンク上で quartus_cvp コマンドを使用して、コアイメージ (top.core.rbf) を更新できます。CvP 更新モードでは、最初に.sof または.pof イメージを使用して FPGA をプログラムします。プログラミングが完了すると、FPGA はユーザーモードに入ります。コアイメージ (.core.rbf)、quartus_cvp コマンド、または独自のドライバーをリコンフィグレーションできるようになります。CvP 機能をプログラムしてテストするには、次の手順に従います。1. Stratix V GX FPGA 開発キットを DUT PC の PCI Express スロットに接続し、電源を入れます。アルテラは、開発キットに含まれている外部電源を使用することを推奨しています。

2. ホスト PC 上で Quartus Prime Tools メニューを開き、Programmer を選択します。Programmerが表示されます。

図 5-40: Quartus Prime Programmer 設定

3. Auto Detect をクリックして、USB Blaster が Stratix V FPGA を認識していることを確認します。4. 以下の手順に従って、ペリフェラル・イメージをプログラムします。

5-54 CvP イメージのプログラミングとリンクの検証UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 89: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

a. Stratix V デバイスを選択し、File 列の下の None を右クリックします。b. pcie_quartus_files/top.periph.jic に移動し、Open をクリックします。c. Program/Configure 列の下で、5SGXEA7K2 と EPCQ256 を選択します。d. EPCQ256 フラッシュにペリフェラル・イメージをプログラムするには、Start をクリックします。

5. ホスト PC が新しいイメージでリンクを再列挙するようにするには、DUT PC を再起動/電源を入れ直します。

6. RW Utilities または別のシステム・ソフトウェア・ドライバーを使用して、リンクの状態を確認することができます。次の図は、RW Utilities 列挙が Bus 01 上の Altera PCIe を含むことを示しています。

図 5-41: RW Everything のトランスクリプト

7. また、予想されるリンクスピードと幅を確認することもできます。ここの Gen1 x1 のデザイン例では、次の図は、0x8C の Altera EP Link Capability Register と 0x92 の Link Status Register の両方が値 0x11 を持つことを示しており、リンクが Gen1 x1 として正常に現れることを確認しています。

UG-011012016.10.31 CvP イメージのプログラミングとリンクの検証 5-55

CvP デザイン例 Altera Corporation

フィードバック

Page 90: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-42: リンクステータスの確認

8. コアイメージ (top.core.rbf) を FPGA にプログラムするには、次の手順に従います。a. DOS command ウィンドウを開きます。b. 適切な Quartus Prime の bin インストール・ディレクトリーに変更します。64 ビットと 32ビットの両方の bin ディレクトリーが利用可能です。この例では、C:\altera\13.0 \quartus\bin64 を使用しています。

c. コアイメージをプログラムするには、次のコマンドを入力します。ベンダー ID (vid) とデバイス ID (vid) の値は 16 進数で、PCI Express IP コア GUI の Stratix V ハード IP の DeviceIdentification Registers タブで指定した値と一致する必要があります。quartus_cvp --vid=1172 --did=e001 <path>/top.core.rbf

d. 以下の図は、成功した CvP プログラミングの結果を示しています。

5-56 CvP イメージのプログラミングとリンクの検証UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 91: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

図 5-43: quartus_cvp コマンドのトランスクリプト

コアイメージをプログラムする独自のソフトウェア・ドライバーを実装する場合は、CvP ユーザーガイドの第 6 章の CvP ドライバーのサポートの項を参照してください。

これでテストを実行する準備が整いました。関連情報6-1ページの CvP ドライバーのサポート

UG-011012016.10.31 CvP イメージのプログラミングとリンクの検証 5-57

CvP デザイン例 Altera Corporation

フィードバック

Page 92: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP デバッグ・チェックリスト1. PCIe コンフィグレーションが CvP をサポートしていることを確認します。たとえば、Stratix

V は Gen3 CvP をサポートしていません。2. 現在の Quartus Prime ソフトウェア・バージョンが CvP をサポートしていることを確認します。

3. 物理のピン・アサインメントが CvP をサポートしていることを確認します。たとえば、StratixV の場合、左下の Stratix V の PCI Express 用ハード IP のみが CvP をサポートしています。同じデバイス内の他のハード IP コアは CvP をサポートしていません。

4. PERST# および refclk の PCB 接続を確認します。5. トランシーバー・リコンフィグレーション・コントローラー IP コアへのリセットおよびクロック接続が正しいことを確認します。CvP モードでは、refclk を使用して reconfig_clk をドライブする必要があります。PERST# は、PCI Express IP コア用のハード IP に reconfig_reset

をドライブする必要があります。6. デザインがマルチコーナーのセットアップ、ホールドタイム、およびリカバリーのタイミング制約を満たしていることを確認します。

7. test_in バスが 0xA8 にハード配線されていることを確認します。次の test_in 信号は、デバッグ時に最も重要です。a. test_in[7]=1 に設定すると、低電力状態のサポートが無効になります。b. test_in[5]=1 に設定すると、コアがコンプライアンス・モードに入らなくなります。c. test_in[3]=1 に設定すると、PCI Express 用ハード IP が FPGA に実装されていることを示します。

d. test_in[0] = 0 に設定すると、PCIe 仕様を満たすタイムアウト値とカウンター値が使用されます。そうでなければ、準拠していない短いシミュレーション値が使用されます。

8. ホスト BIOS 設定の電源管理サポートを無効にします。9. quartus_cvp.exe コマンドの引数として指定された Vendor ID および Device ID 引数が、PCI

Express IP コア GUI のハード IP で指定された値と一致することを確認します。10.オープンシステムをデザインする場合は、異なる PC でテストし、結果を比較してください。11.最初の CvP 更新が失敗した場合は、正しい quartus_cvp.exe コマンドが使用されていることを確認してください。32 ビット・システムでは、.\quartus\bin\quartus_cvp.exe を使用する必要があります。64 ビット・システムの場合、正しい quartus_cvp バージョンは.\quartus\bin64です。

12.quartus_cvp コマンドを実行する前に、PCI Express Configuration Space の Command レジスターに Memory Space Enable ビットが設定されていることを確認します。BIOS がこのビットを有効にしない場合は、RW Utilities などのシステムツールを使用して 0x0006 の値をオフセット0x4 で Command レジスターに書き込む必要があります。この値を書き込むと、Memory Space

Enable ビットと Master Bus Enable ビットの両方がセットされます。13.暗号化または圧縮が有効な場合は、無効にして再試行します。症状を記録します。14.JTAG 経由で FPGA を SOF でコンフィグレーションしてから、ウォームリブートを行った後、デザインが機能するかどうかを確認してください。.sof ファイルには、ペリフェラル・イメージとコアイメージの両方が含まれています。その結果、このテストでは、どのタイプのイメージが失敗を引き起こすのかを判断しません。

15.PCI Express アナライザーを使用して、障害のあるシナリオの PCIe トレースをキャプチャーします。LTSSM がリンク障害についての洞察を得ることができなければ、LTSSM の遷移を観察します。

5-58 CvP デバッグ・チェックリストUG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 93: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

16.SignalTap II Embedded Logic Analyzer の Power On Trigger を使用して、LTSSM の遷移を記録します。LTSSM が L0 (0xF) に遷移するか、または Detect 状態と Polling 状態間でトグルするかを決定します。

17.トランシーバー・リコンフィグレーション・コントローラーを無効にし、他の入力を 0 に固定します。ただし、各チャネルのビット[44]を High にする必要がある reconfig_to_xcvr() バスを除きます。reconfig_to_xcvr() の残りのビットは Low に接続されます。サンプルファイルは./altera_pcie_cvp/hw_devkit_ed ディレクトリーの下にある top_wo_reconfig.v です。

18.CvP が失敗した場合は、同様の Altera CvP デザイン例を試して、症状が同じかどうかを判断してください。障害が引き続き発生する場合は、非 CvP デザインを試し、その違いに注意してください。

19.同様のコンフィグレーションを持つ CvP デザイン例が同じプラットフォーム上で動作するかどうかを判断します。

20.以上の提案をすべて試しても、デザインがまだ機能していない場合は、SR (Service Request) を提出してください。SR に、以下の情報を記入してください。a. 試したこととテストの結果を説明します。b. Quartus Prime のソフトウェア・バージョン、ターゲットデバイス、テスト対象のシステムに関する情報、およびどの CvP モードが使用されているかをリストします。

c. 障害が発生する場所を指定します。ペリフェラルのロード後、最初の CvP 更新時、または後続の CvP 更新に発生しますか?

d. 可能な場合は、デザインを添付してください。これは、リセットとクロックの接続を確認して障害を再現できるようにするためです。

e. デザインを実行するために必要な手順を説明します。21.後続の CvP 更新では、次のいずれかのロジックの変更に対して両方のリビジョンをコンパイルする必要があります。a. ペリフェラル・ロジックb. I/O ポートまたはコアラッパーc. Quartus Prime ソフトウェアのバージョン

関連情報• Stratix V GX High Development Board• Stratix V Device Handbook

既知の問題と解決策1. Gen1 x2 コンフィグレーションの CvP デザインは、ペリフェラル・イメージをロードした後にリンクアップできません。この問題を回避する 1 つの方法は、Gen1 x4 コンフィグレーションを使用し、リンクを Gen1 x2 にダウントレーンさせることです。

2. トランシーバー・リコンフィグレーション・コントローラー IP コアは、CvP 更新モードでは使用できません。回避策の詳細については、トランシーバー・リコンフィグレーション・コントローラー IP コアの既知の問題の回避策を参照してください。

UG-011012016.10.31 既知の問題と解決策 5-59

CvP デザイン例 Altera Corporation

フィードバック

Page 94: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP 初期化モードにおける MSI-X の使用CvP 初期化モードでMSI-X (メッセージ信号割り込み) を使用している場合は、Quartus Prime ソフトウェアがコアイメージをロードした後にMSI-X テーブルがロードされていることを確認する必要があります。MSI-X テーブルが正しく設定されていることを確認するには、以下の手順を実行します。1. Quartus Prime ソフトウェアで MSI-X をセットアップし、MSI-X を有効にします。2. ペリフェラル・イメージをロードします。3. コアイメージをロードします。4. 以前にドライバーが設定されている場合は、quartus_cvp コアイメージがロードされた後、アプリケーション・ソフトウェアを使用してドライバーをアンインストールしてから再インストールしてください。または、quartus_cvp コアイメージがロードされた後にドライバーを無効にしてから再度有効にします。

5. MSI-X テーブルが設定されています。これで、リンク上の割り込みを監視できます。

5-60 CvP 初期化モードにおける MSI-X の使用UG-01101

2016.10.31

Altera Corporation CvP デザイン例

フィードバック

Page 95: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP ドライバーとレジスター 62016.10.31

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

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

関連情報Configuration via Protocolサンプルの Linux デバイス・ソースコードの詳細を提供します。

CvP ドライバーのフロー以下の図は、提供された CvP ドライバーのフローを示しています。このフローでは、FPGA がパワーアップされており、制御ブロックは、CvP ステータスレジスターの CVP_EN ビットで示されるように、ペリフェラル・イメージを使用して FPGA をコンフィグレーション済みであると想定しています。以下の図が示すように、Start Teardown Flow の 3番目のステップでは、CVP DATA レジスターへの244 回のダミー・コンフィグレーション・ライト、またはこのデバイスのメモリー空間 BAR によって定義されたアドレスへの 244 回のメモリーライトが必要です。メモリーライトは、コンフィグレーション・ライトよりもスループットが高いので好ましいです。ダミーライトは 2 ms の遅延を引き起こし、制御ブロックが必要な動作を完了できるようにします。

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 96: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

転送に移動

スタート

CvP モード制御レジスターでCVP_NUMCLKS バイトを0x01 に設定し、ハードIP へ244 回のダミーライトを発行する。ダミーライトは、CVP_DATA レジスターへのコンフィグレーション・ライト、またはこのデバイスのBAR によって定義された任意のアドレスへのメモリーライトになる

CvP プログラミング制御レジスターのCVP_CONFIG ビットに「1」をライトする

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

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

HIP_CLK_SEL に「1」をライトした後、CvP モード制御レジスターのCVP_MODE ビットに「1」をライトする

CVP_CONFIG_READY=1?no

yes

CvP モード制御レジスターでCVP_NUMCLKS バイトを0x01 に設定し、ハードIP に244 回のダミーライトを発行し、制御ブロックを内部クロックからCvP クロックに切り替えらせる。ダミーライトは、CVP_DATA レジスターへのコンフィグレーション・ライト、またはこのデバイスのBAR によって定義された任意のアドレスへのメモリーライトになる

CvP プログラミング制御レジスターのSTART_XFER ビットに「1」をライトする

CVP_EN=1? no (1)

yes

no

Teardown に移動

コンフィグレーション・エラーを記録する

CVP_CONFIG_ERROR=1?yes

no

ファブリック・コンフィグレーション・ファイルの終わり (.core.rbf) ?

yes

転送をスタート

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

コンフィグレーション・イメージに応じて、CvP モード制御レジスターのCVP_NUMCLKS バイトを設定する

32 ビットのファブリック・コンフィグレーション・データ (*.core.rbf ファイルから) をCvP データレジスターにライトする

no

終わり

CVP_CONFIG_READY=0? no

yes

CVP_CONFIG_ERROR_LATCHED= 0?

yes

Teardown をスタート

CvP モード制御レジスターでCVP_NUMCLKS バイトを0x01 に設定し、ハードIP に244 回のダミーライトを発行し、制御ブロックを内部クロックからCvP クロックに切り替えらせる。ダミーライトは、CVP_DATA レジスターへのコンフィグレーション・ライト、またはこのデバイスのBAR によって定義された任意のアドレスへのメモリーライトになる

CvP プログラミング制御レジスターのSTART_XFER ビットに「0」をライトする

CvP プログラミング制御レジスターのCVP_CONFIG ビットに「0」をライトする

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

訂正不能な内部エラー・ステータス・レジスターのCVP_CONFIG_ERROR_LATCHED ビットをリードする

CVP_MODE とHIP_CLK_SEL に「0」をライトする

CvP ステータスレジスターからPLD_CLK_IN_USE とUSER_MODE をポーリングする

PLD_CLK_IN_USE = 1 および USER_MODE = 1?

no

yes

(1) ペリフェラルのロードの完了を待機します。

(タイムアウト = 2 ms)

6-2 CvP ドライバーのフローUG-01101

2016.10.31

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

フィードバック

Page 97: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP の VSEC レジスターVSEC (ベンダー固有の拡張機能) レジスターは、PCIe Configuration Space のバイトオフセット0x200 から 0x240 を使用します。PCIe ホストは、FPGA 制御ブロックとの通信にこれらのレジスターを使用します。次の表は VSEC レジスターマップを示しています。その次の表では、各レジスターの領域と説明を確認することができます。

表 6-1: CvP の VSEC レジスター

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

0x200 アルテラ定義の Vendor Specific Capability Header0x204 アルテラ定義の Vendor Specific Header0x208 Altera Marker

0x20C:0x218 予約済み0x21C CvP Status0x220 CvP Mode Control0x224 CvP Data 20x228 CvP Data0x22C CvP Programming Control0x230 予約済み0x234 Uncorrectable Internal Error Status Register0x238 Uncorrectable Internal Error Mask Register0x23C Correctable Internal Error Status Register0x240 Correctable Internal Error Mask Register

アルテラ定義の Vendor Specific Capability Header レジスター

表 6-2: アルテラ定義の Vendor Specific Capability Header レジスター (バイトオフセット: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 実装される次の CapabilityStructure が存在する場合、その開始アドレス

UG-011012016.10.31 CvP の VSEC レジスター 6-3

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

フィードバック

Page 98: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

アルテラ定義の Vendor Specific Header レジスター

表 6-3: アルテラ定義の Vendor Specific Header レジスター (バイトオフセット:0x204)

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

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

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

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

Altera Marker レジスター

表 6-4: Altera Marker レジスター (バイトオフセット:0x208)

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

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

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

CvP Status レジスター

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

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

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

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

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

6-4 アルテラ定義の Vendor Specific Header レジスターUG-01101

2016.10.31

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

フィードバック

Page 99: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

[23] CVP_CONFIG_DONE 可変 RO 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 Mode Control レジスター

表 6-6: CvP Mode Control レジスター (バイトオフセット:0x220)

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

[31:16] — 0x0000 RO 予約済み

UG-011012016.10.31 CvP Mode Control レジスター 6-5

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

フィードバック

Page 100: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

[15:8] CVP_NUMCLKS 0x00 RW これは、各 CvP データライトに対して送信するクロック数です。これは CDRATIO (クロック対データ比) とも呼ばれます。コンフィグレーション・イメージに応じて、このフィールドを以下のいずれかの値に設定します。• 非圧縮で暗号化されていないイメージの場合は、0x01

• 非圧縮で暗号化されているイメージの場合は、0x04

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

[7:3] — 0x0 RO 予約済み[2] CVP_FULLCONFIG 1'b0 RW 値 1 は、制御ブロックが PCI

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

6-6 CvP Mode Control レジスターUG-01101

2016.10.31

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

フィードバック

Page 101: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

[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 間待機すべきです。

[0] CVP_MODE 1'b0 RW PCI Express 用ハード IP が CVP_MODE であるか Normal モードであるかを制御します。以下のエンコーディングが定義されています。• 1:CVP_MODE はアクティブです。FPGA 制御ブロックへの信号はアクティブであり、すべての TLP は Configuration Spaceにルーティングされます。CVP_MODE は、CVP_EN = 0 の場合はイネーブル不可能です。

• 0:IP コアは Normal モードにあり、TLP は FPGA ファブリックにルーティングされます。

UG-011012016.10.31 CvP Mode Control レジスター 6-7

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

フィードバック

Page 102: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

CvP Data レジスター

表 6-7: CvP Data レジスター (バイトオフセット:0x224 ~ 0x228)

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

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

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

CvP Programming Control レジスター

6-8 CvP Data レジスターUG-01101

2016.10.31

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

フィードバック

Page 103: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

表 6-8: CvP Programming Control レジスター (バイトオフセット:0x22C)

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

[31:2] — 0x0000 RO 予約済み[1] START_XFER 1'b0 RW CvP 出力を FPGA 制御ブロック

に設定し、転送の開始を表します。

[0] CVP_CONFIG 1'b0 RW 1 に設定されると、FPGA 制御ブロックは CvP を介して転送を開始します。

UG-011012016.10.31 CvP Programming Control レジスター 6-9

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

フィードバック

Page 104: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

Uncorrectable Internal Error Status Register

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

表 6-9: Uncorrectable Internal Error Status Register (バイトオフセット:0x234)

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

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

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

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

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

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

[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 から Configuration Space へのバス・インターフェイスでパリティーエラーが検出されたことを示します。

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

6-10 Uncorrectable Internal Error Status RegisterUG-01101

2016.10.31

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

フィードバック

Page 106: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

Uncorrectable Internal Error Mask Register

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

表 6-10: Uncorrectable Internal Error Mask Register (バイトオフセット:0x238)

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

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

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

ーのマスク[9] 1'b1 RWS Configuration Space から TX へのバス・インター

フェイスでのパリティーエラーのマスク[8] 1'b1 RWS TX から Configuration Space へのバス・インター

フェイスでのパリティーエラーのマスク[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 から Configuration Space へのバス・インター

フェイスで検出されたデータ・パリティーエラーのマスク

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

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

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

Correctable Internal Error Status Register

6-12 Uncorrectable Internal Error Mask RegisterUG-01101

2016.10.31

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

フィードバック

Page 107: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

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

表 6-11: Correctable Internal Error Status Register (バイトオフセット: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 エラ

ーを示します。

Correctable Internal Error Mask Register

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

表 6-12: Correctable Internal Error Mask Register (バイトオフセット: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-011012016.10.31 Correctable Internal Error Mask Register 6-13

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

フィードバック

Page 108: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

追加情報 A2016.10.31

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

改訂履歴

表 A-1: 改訂履歴

日付 バージョン 変更内容

2016年 10月 2.0 • ドキュメントのタイトルを V シリーズ FPGA デバイスにおける CvP (プロトコル経由コンフィグレーション) 実装ユーザーガイドに変更

• Configuration Timing Waveforms への参照を追加• CvP 初期化モードと更新モードの両方の PCIe タイミングシーケンス図を修正

• 次のデザインステップを示す Quartus® Prime スタンダード・エディションの複数のスナップショットを追加• 高性能リファレンス・デザインのダウンロードと生成• CvP 初期化モード用 CvP パラメーターの設定• CvP 更新モード用 CvP パラメーターの設定

• 図 Stratix V デバイスキットの背面図のMSEL[4:0] = 5’b10010 のスイッチ 4 (SW4) コンフィグレーションを簡略化

• 図 CvP ドライバーのフローの CvP_CONFIG_READY にタイムアウト値を追加

• さまざまなタイプミスやフォーマットの問題を修正

Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus and Stratix words and logos are trademarks ofIntel Corporation or its subsidiaries in the U.S. and/or other countries. Intel warrants performance of its FPGA and semiconductor products to currentspecifications in accordance with Intel's standard warranty, but reserves the right to make changes to any products and services at any time without notice.Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published informationand before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2008登録済

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

Page 109: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

日付 バージョン 変更内容

2016年 5月 1.9 • 表 CvP ピンの説明と接続のガイドラインで Cyclone V デバイスの nPERST ピン位置を修正

• INIT_DONE および CONF_DONE のピンの説明を追加• 表 CvP Mode Control レジスター (バイトオフセット:0x220)で

CvP Mode Control レジスターの値を修正• 表 Uncorrectable Internal Error Status Register (バイトオフセット:

0x234)で Bit[5]を CVP_CONFIG_ERROR_LATCHED ビットに明確化• Arria 10 デバイスへの参照を削除。Arria 10 デバイスでの CvP実装に関して詳しくは、Arria 10 CvP Initialization and PartialReconfiguration over Protocol User Guide を参照してください。

• さまざまなタイプミスやフォーマットの問題を修正

2015年 11月 1.8 • 表デバイスファミリーの CvP サポートを更新• 表 CvP ピンの説明と接続のガイドラインでピンの説明を明確化

• デザイン例の参照を PCIe AVST and On-Chip Memory Interface デザインファイルに更新

• 表記を Quartus II から Quartus Prime へ変更• デイジーチェーントポロジーの項を削除

2014年 12月 1.7 • CvP 初期化モードと CvP 更新モードの違いを示すために CvPモードの項を更新

• CvP モードの項で表デバイスファミリーの CvP サポートを追加• 自律モードという新しい項を追加• ダウンポジションが論理 1 を意味することを示すために図「Stratix V デバイスキットの背面図のMSEL[4:0] = 5’b10010 のスイッチ 4 (SW4) コンフィグレーション」の誤植を修正

• Arria V と Cyclone V の Gen2 バリアントでサポートされるモードを訂正。Gen2 は CvP 初期化モードをサポート。Gen2 は CvP更新モードをサポートしない。

• トランシーバー・リコンフィグレーション・コントローラーを含む CvP デザインのクロック接続の項のダイナミック・リコンフィグレーションの使用ガイドラインを更新

• 既知の問題と解決策の下で CvP 初期化モードにおけるMSI-Xの使用という新しい項を追加

A-2 改訂履歴UG-01101

2016.10.31

Altera Corporation 追加情報

フィードバック

Page 110: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

日付 バージョン 変更内容

2013年 11月 1.6 • コンフィグレーション・データが 64 ビット幅の場合に使用するオプションの CVP_DATA2 レジスターを追加

• 複数のトランシーバー・リコンフィグレーション・コントローラーがデバイスの一方の側のトランシーバーに接続している場合における入力リファレンス・クロックに対するデザイン制約を追加

• ソフトウェア・ドライバーのフロー図の誤りを訂正• CvP 初期化モードまたは CvP 更新モードのいずれかを選択する必要があることを明確化。2 つのモードを組み合わせることは不可能

• CvP ピンの項を更新• CvP デザイン例の章を更新• デザインの検討事項の章における CvP 機能の項を更新

2013年 8月 1.5 • 64 ビット・データのサポートを追加• 暗号化されたデータと不揮発性キーを使用して、CvP 更新のサポートされているクロック周波数を変更。12.5 MHz のみをサポート

• 圧縮ビットストリームを使用する理由を追加• ペリフェラル・ロジックとコアロジックに対して個別のデザイン階層を作成するためのプロセスを明確化

• CvP 初期化モードと CvP 更新モードでサポートされている機能を示す表を追加

• ティアダウンフローで CvP ドライバーのためのダミーライトの使用を明確化

2013年 5月 1.4 • CvP デザイン例を追加• CvP デザインフローの項にデザインのパーティションを追加• 図電源ランプアップ時間と POR、図 CvP 初期化モードにおける

PCIe タイミングシーケンス、および図 CvP 更新モードにおけるPCIe タイミングシーケンスを更新

• 簡単に参照できるように、すべてのトピックのすべてのリンクを関連情報の項に移動

UG-011012016.10.31 改訂履歴 A-3

追加情報 Altera Corporation

フィードバック

Page 111: V シリーズ FPGA デバイスにおける CvP シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド 更新情報

日付 バージョン 変更内容

2012年 12月 1.3 • 表 2-1 の CvP 更新モードから Gen 3 のサポートを削除• CvP モードでの暗号化されたコンフィグレーション・データのサポートされるクロックソースを含むように表 5-3 を追加

• 圧縮モードと暗号化モードの quartus_cvp コマンドを含むように表 6-2 を追加

• CVP_NUMCLKS 設定を含むように表 6-3 を追加• 表 6-8 でビット 1 およびビット 0 を予約ビットに更新• 図 6-1 の CVP_NUMCLKS 設定を更新

2012年 7月 1.2 • 「データ圧縮」および「データ暗号化」の項を更新• Stratix V、Arria V、および Cyclone V のコンフィグレーション、デザイン・セキュリティー、およびリモート・システム・アップグレードの章に表 5-6 非圧縮.rbf サイズを移動

• 「ソフトウェア・サポート」の章で Jungo WinDriver とLinux ベースの Plain Text C CvP ドライバーを追加

• 表 6-8 および図 6-1 の CVP_NUMCLKS バイト設定を更新

2012年 1月 1.1 • Arria V および Cyclone V デバイスを追加• CvP Off モードへの参照を削除• PCIe ドライバーと CvP プログラミングの情報で第 6 章のソフトウェア・サポートを更新

• 「ペリフェラル・イメージとファブリック・イメージの生成」および「CvP の VSEC」の項を追加

2011年 5月 1.0 初版

アルテラへのお問い合わせ

表 A-2: アルテラへのお問い合わせ先

お問い合わせ先(2) お問い合わせ方法 アドレス

技術的なご質問 Webサイト www.altera.co.jp/support

技術トレーニングWebサイト www.altera.com/training

電子メール [email protected]

製品資料 Webサイト www.altera.com/literature

(2) 詳しくは、日本アルテラまたは販売代理店にお問い合わせください。

A-4 アルテラへのお問い合わせUG-01101

2016.10.31

Altera Corporation 追加情報

フィードバック