Arria 10におけるプロトコル経由のCvP初期化およびパーシャル・リコンフィギュレーション ユーザーガイド

Similar documents
ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類が あります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストール

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

Microsoft Word - quick_start_guide_16 1_ja.docx

AN 630: アルテラCPLD におけるリアルタイムISP およびISP クランプ

Quartus Prime - プログラミング・ファイルの生成や変換(Convert Programming Files)

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

1-2 MLAB 図 1-1: Arria 10 デバイスにおける LAB 構造およびインタコネクトの概要 この図は LAB インタコネクトを有する Arria 10 の LAB および MLAB 構造の概要を表しています C4 C27 異なる速度と長さのロウ インタコネクト R32 R3/R6 s

Nios II Flash Programmer ユーザ・ガイド

Quartus II はじめてガイド - Convert Programming File の使い方

Cyclone V デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール、Cyclone Vデバイス・ハンドブック、Volume 1、第1章

ロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール

AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices

Quartus Prime はじめてガイド - デバイス・プログラミングの方法

Quartus II クイック・スタートガイド

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

PCI-Express ハード IP を使用した DMA の実現 for Cyclone V GT FPGA 開発キット(ソフトウェア編)

ModelSim-Altera - RTL シミュレーションの方法

Quartus II はじめてガイド - Device and Pin Options 設定方法

AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング

Quartus Prime はじめてガイド - デバイス・オプションの設定方法

A-AN pdf

Nios II ハードウェア・チュートリアル

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

ネットリストおよびフィジカル・シンセシスの最適化

Quartus II はじめてガイド - Device & Pin Options 設定方法

Notes and Points for TMPR454 Flash memory

USB-Blasterダウンロード・ケーブル・ユーザガイド

Nios II SBT Flash Programmer ユーザ・ガイド

Symantec AntiVirus の設定

Beryll Beryll Cyclone V GX FPGA FPGA ROM...

Nios II 簡易チュートリアル

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc

Stratix IVデバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール, Stratix IV Device Handbook, Volume 1, Ch 2

Microsoft Word - Updater

Quartus II クイック・スタート・ガイド

! STEP 2. Quartus Prime のダウンロード WEB ブラウザで以下の URL を開きます 2 ページ中段の Quartus Prime 開発ソフトウェア ライト エディ

SAC (Jap).indd

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft Word - HowToSetupVault_mod.doc

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法

CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

AWS Client VPN - ユーザーガイド

オートビュー

Quartus II はじめてガイド ‐ Device and Pin Options 設定方法

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

Sharing the Development Database

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

Welcome-Kit ~STM32L4-Nucleo~

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv

Maser - User Operation Manual

MAX 10 高速LVDS I/Oユーザー・ガイド

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

オンチップ・メモリ クイック・ガイド for Cyclone III

プリンタドライバのインストール. Windows で使用する場合 Windows プリンタドライバのインストール方法は 接続方法や使用するプリンタドライバによって異なります また コンピュータの OS によってインストール方法が異なります お使いのコンピュータの OS に合わせて 以下の参照ページを

PowerPoint Presentation

PCI-Express ハード IP を使用した DMA 転送の実現 for Cyclone V GT FPGA 開発キット(ハードウェア編)

Quartus II はじめてガイド - デバイス・プログラミング方法

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

ファイル メニューのコマンド

オートビュー

8B10Bエンコーダ/デコーダMegaCoreファンクション・ユーザガイド

ヤマハDante機器と他社AES67機器の接続ガイド

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

AcronisUniversalRestore_userguide_en-US

<4D F736F F D E096BE8E9197BF5F984193AE F B40945C432E646F63>

Veritas System Recovery 16 Management Solution Readme

PowerPoint Presentation

NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks Corporation (MITEL

Merging と AES67 ディバイスの設定

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Nios II 簡易チュートリアル

< 付録A: ソフトウェアアップデート >

MIB サポートの設定

Oracle Database Clientクイック・インストレーション・ガイド, 10gリリース1( ) for Microsoft Windows

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

Windows Phone 用 Cisco AnyConnect セキュアモビリティクライ アントユーザガイド(リリース 4.1.x)

USB 2.0 OTGコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

HULFT の通信をよりセキュアに HULFT と SSH Tectia を組み合わせたセキュアで強力なファイル転送 Compatibility Note 2008 年 9 月 株式会社セゾン情報システムズの企業内 企業間通信ミドルウェアである HULFT は ファイル転送のアプリケーションとして

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

PowerPoint プレゼンテーション

IBM Proventia Management/ISS SiteProtector 2.0

Quartus II はじめてガイド - よく使用するロジック・オプション設定方法 (個別設定)

F コマンド

外部SQLソース入門

MAX 10高速LVDS I/Oユーザーガイド

Microsoft Word - dg_sataahciip_refdesign_jp.doc

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

ZVH_VIEWER

付録

Microsoft PowerPoint - IO_Pass-through_XenSummitTokyo2008_jp.ppt

使用する前に

Archived: LabVIEW Real-Timeモジュールリリースノートおよびアップグレードノート(日本語) - National Instruments

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

AMT機能セットアップガイド

Transcription:

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

目次 -2 目次 Arria 10 における CvP の初期化...1-1 CvP システム... 1-1 CvP を使用するメリット... 1-2 Arria 10 デバイスに向けた CvP サポート... 1-3 CvP の初期化... 1-3 CvP の機能...1-4 Autonomous モード...1-5 CvP ピン... 1-5 Arria 10 における CvP 初期化に向けたデザインの考慮事項...2-1 オープン システムに向けた CvP の設計...2-1 クローズド システムに向けた CvP の設計... 2-3 Arria 10 における CvP 初期化に向けた設計の手順の解説... 3-1 合成 HDL ファイルの生成...3-3 Device and Pin Options での CvP パラメータの設定...3-3 デザインのコンパイル...3-5 SOF ファイルの分割...3-5 ハードウェアの立ち上げ... 3-6 Windows システムへの Jungo WinDriver のインストール... 3-7 Linux システムへの Jungo WinDriver のインストール...3-7 Arria 10 開発キットの MSEL/DIP スイッチの変更... 3-8 CvP イメージのプログラミング... 3-8 CvP ドライバとレジスタ...4-1 CvP ドライバのサポート... 4-1 CvP ドライバのフロー...4-1 CvP 向け VSEC レジスタ...4-2 アルテラ定義のベンダ固有ケーパビリティ ヘッダ レジスタ...4-3 アルテラ定義のベンダ固有ヘッダ レジスタ...4-3 アルテラ マーカー レジスタ... 4-4 CvP ステータス レジスタ... 4-4 CvP モード コントロール レジスタ... 4-5 CvP データ レジスタ...4-8 CvP プログラミング コントロール レジスタ...4-8 修正不可能な内部エラー ステータス レジスタ...4-10 修正不可能な内部エラー マスク レジスタ...4-12 修正可能な内部エラー ステータス レジスタ... 4-12 修正可能な内部エラー マスク レジスタ...4-13

目次 -3 Arria 10 におけるプロトコルを経由したパーシャル リコンフィギュレーション... 5-1 PCI Express 経由の PR を使用するメリット...5-1 PCIe 経由の PR システム... 5-2 パーシャル リコンフィギュレーション IP コア... 5-3 Arria 10 における PCI Express 経由の PR のデザイン プランニング... 6-1 パーティション階層の特定...6-1 複数のリビジョンの作成... 6-2 PR デザインのフロアプラン...6-2 PR デザインのクロックおよびグローバル信号のアサインメント...6-2 PR パーティションへのフリーズ ロジックの挿入...6-3 Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説... 7-1 Qsys システムの作成... 7-3 ユーザー ロジックとトップレベル ファイルの作成... 7-7 PR パーティションの作成... 7-8 ベース SOF/RBF ビットストリームの生成... 7-9 PR リビジョンの作成...7-10 PR ビットストリームの生成...7-11 ハードウェアの立ち上げ... 7-15 改訂履歴... A-1

Arria 10 における CvP の初期化 1 UG-20010 更新情報 Configuration via Protocol(CvP) は Arria V Cyclone V Stratix V および Arria 10 デバイス ファミリでサポートされているコンフィギュレーション スキームです CvP コンフィギュレーション スキームは ペリフェラルおよびコア ロジックに対し別々のイメージを作成します ペリフェラル イメージはコンフィギュレーション デバイスに保存し コア イメージはホスト メモリに保存することでシステム コストを低減し ペリフェラル コア イメージのセキュリティも強化することが可能です CvP は PCI Express (PCIe) リンク経由で FPGA ファブリックをコンフィギュレーションし エンドポイント バリアントに向けての使用が可能です 関連情報 Introduction to Altera IP Cores すべてのアルテラ IP コアに関する パラメータ化 アップグレード IP のシミュレーションといった基本的な情報を提供します Creating Version-Independent IP and Qsys Simulation Scripts ソフトウェアあるいは IP のバージョンのアップグレードに手動での更新を必要としないシミュレーション スクリプトの作成について詳しい情報を提供します Project Management Best Practices プロジェクトおよび IP ファイルの効率的な管理および移植性のためのガイドラインを提供します CvP システム 次の図は CvP システムで必要なコンポーネントを表しています 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

1-2 CvP を使用するメリット 図 1-1: CvP のブロック図 UG-20010 Configuration device, or configuration host and flash (1) Configuration interface (1) Host FPGA Root Complex PCIe link PCIe Hard IP (2) Configuration control block (internal) PCIe Hard IP (3) CvP システムは一般的に FPGA PCIe ホスト コンフィギュレーション デバイスより構成されています 1. コンフィギュレーション デバイスは従来のコンフィギュレーション インタフェースを使用して FPGA に接続されます コンフィギュレーション インタフェースは アクティブ シリアル (AS) パッシブ シリアル (PS) Fast パッシブ パラレル (FPP) などのサポートされているどのスキームにもすることができます どのコンフィギュレーション デバイスを選ぶかは 選択するコンフィギュレーション スキームによって異なります 2. CvP やその他の PCIe アプリケーション用の PCIe Hard IP ブロック 3. PCIe Hard IP ブロックは PCIe アプリケーション専用であり CvP には使用できません Arria V Cyclone V Stratix V および Arria 10 FPGA の多くに PCI Express に向けて複数の Hard IP ブロックが装備されています CvP コンフィギュレーション スキームでは各デバイスの左下に位置する PCIe Hard IP ブロックのみ使用可能です これはエンドポイントとしてコンフィギュレーションする必要があります CvP を使用するメリット CvP コンフィギュレーション スキームには以下のメリットがあります Arria 10 における CvP の初期化

UG-20010 Arria 10 デバイスに向けた CvP サポート 1-3 ペリフェラル コンフィギュレーション データを格納するフラッシュ デバイスのサイズを縮小させることでシステム コストを低減します ペリフェラル コア ビットストリームのセキュリティを向上します CvP により PCIe ホストだけが FPGA コア イメージへ確実にアクセスできるようになります システムをパワー ダウンすることなくダイナミック コア アップデートをイネーブルします CvP は ホストのリブートや FPGA フル チップの再初期設定を実行せずとも PCIe リンクを介した FPGA ファブリックの更新を可能とします コンフィギュレーションに向けてよりシンプルなソフトウェア モデルを提供します スマート ホストは FPGA ファブリックの初期化と更新に PCIe プロトコルとアプリケーション トポロジを使用することができます ハードウェア アクセラレーションを容易にします Arria 10 デバイスに向けた CvP サポート 表 1-1: Arria 10 デバイスに向けた CvP サポート サポートされる CvP モード デバイス PCIe Gen 1 PCIe Gen 2 PCIe Gen 3 Arria 10 CvP Initialization CvP Initialization CvP Initialization 注意 : Arria 10 デバイスでは CvP Update の代わりに Partial Reconfiguration over Protocol を使用してください パーシャル リコンフィギュレーションの実行には PCIe バスを使用することができます 関連情報 Configuration via Protocol(CvP)Implementation in Altera FPGAs User Guide Startix V Arria V および Cyclone V デバイス ファミリに向けた CvP サポートについての詳細情報です CvP の初期化 このスキームは システムの電源投入時に PCIe リンクを介して FPGA のコアをコンフィギュレーションします 初期化とは 電源投入後に FPGA 内にロードされる最初のファブリック コンフィギュレーション イメージのことを指します 注意 : リビジョン デザイン フローを持つ CvP の初期化は Arria 10 デバイスではサポートされていません イメージのコンフィギュレーション CvP では デザインをコア イメージとペリフェラル イメージの 2 つのイメージにパーティションします Quartus Prime ソフトウェアを使用して以下のイメージを生成します Arria 10 における CvP の初期化

1-4 CvP の機能 ペリフェラル イメージ (*.periph.jic) PCI Express IP コアといったハード IP に実装される汎用 I/O(GPIO) I/O レジスタ および GCLK QCLK RCLK のクロック ネットワーク ロジックを含みます このようなコンポーネントは I/O ペリフェラル レジスタ ビットにより制御されるため ペリフェラル イメージに含まれます 全ペリフェラル イメージはスタティックで再コンフィギュレーションすることはできません コア イメージ (*.core.rbf) コンフィギュレーション RAM(CRAM) によってプログラムされるロジックを含みます このイメージには LAB DSP およびエンベデッド メモリが含まれます コア イメージは再コンフィギュレーション可能な単一の領域 もしくはスタティックかつ再コンフィギュレーションが可能な領域で構成されています 再コンフィギュレーション可能な領域 この領域は PCIe リンクがアップしており完全に列挙されている間 ユーザー モードでプログラムすることが可能です これには CRAM によって制御される FPGA コア イメージ内の DSP ブロック エンベデッド RAM ブロック LAB といったリソースのみが含まれます この領域には ペリフェラル イメージ内に含まれる GPIO トランシーバ PLL I/O ブロック PCI Express IP コア用 Hard IP をはじめとするコンポーネントを含めることはできません スタティック領域 この領域は編集不可能です ペリフェラル イメージは外部コンフィギュレーション デバイスに格納され 従来のコンフィギュレーション スキームを介して FPGA にロードされます コア イメージは PCIe ホストによってアクセス可能なメモリに格納され PCIe リンクを介して FPGA にロードされます ペリフェラル イメージのコンフィギュレーション完了後 CONF_DONE 信号が High となり FPGA による PCIe リンク トレーニングの開始が可能となります PCIe リンク トレーニングが完了すると PCIe リンクは L0 ステートに遷移します PCIe ホストはその後 PCIe リンクを介してコア イメージ コンフィギュレーションを開始します コア イメージ コンフィギュレーション完了後 CvP_CONFDONE ピンが High となり FPGA が完全にコンフィギュレーションされたことを示します FPGA が完全にコンフィギュレーションされると FPGA はユーザー モードとなります INIT_DONE 信号がイネーブルされている場合 初期化完了後 INIT_DONE 信号は High となり FPGA はユーザー モードとなります ユーザー モードでは 通常の PCIe アプリケーションに対して PCIe リンクが使用可能です PCIe リンクはまた コア イメージの変更にも使用可能です コア イメージを変更するには ペリフェラル イメージと同じ接続を持つ FPGA コア イメージを Quartus Prime ソフトウェアで複数作成します 関連情報 Arria 10 Core Fabric and General Purpose I/Os Handbook トランシーバ バンクと I/O バンクのロケーションについての詳細情報です UG-20010 CvP の機能 データ圧縮 Quartus Prime ソフトウェアの Device and Pin Options ダイアログ ボックスにある Configuration ページの Generate compressed bitstream をオンにすることで コア イメージの圧縮を選択することができます ただし ペリフェラル イメージは圧縮することはできません コア イメージを圧縮すると ストレージ要件を抑えることができます 圧縮されたコア イメージで FPGA をコンフィギュレーションするのであれば FPGA のコア イメージを更新する際に圧縮されたイメージを使用する必要があります Arria 10 における CvP の初期化

UG-20010 Autonomous モード 1-5 データ暗号化 コア イメージを暗号化する選択が可能です ただし ペリフェラル イメージは暗号化することはできません 暗号化されたコア イメージで FPGA をコンフィギュレーションするには セキュリティー キーを使用して FPGA を再度プログラムする必要があります このキーは 受信コンフィギュレーション ビットストリームの復号に使用されます AS PS あるいは FPP スキームを使用して FPGA をコンフィギュレーションする場合 キーがプログラムされた FPGA は暗号化されたビットストリームと暗号化されていないビットストリームの両方を受け入れることができます ただし CvP を使用する場合 キーがプログラムされた FPGA は暗号化されたビットストリームのみ受け入れることができます コア イメージのリビジョンすべてを暗号化するには 同じキーを使用してください 表 1-2: 暗号化されたコンフィギュレーション データに向けてサポートされたクロック ソース 以下のテーブルは CvP システムで使用される従来のスキームに向けてサポートされるクロック ソースを表しています アクティブ シリアルパッシブ シリア Fast パッシブ パラレルキー タイプル 外部クロック内部クロック外部クロック外部クロック 揮発性キー有有有有 不発揮性キー無 12.5 MHz 有有 Autonomous モード アルテラの FPGA デバイスは通常 ペリフェラル イメージへのコンフィギュレーション ビットを最初に受信し 次にコア イメージへのビットを受信します コア イメージのコンフィギュレーションが完了すると デバイスはユーザー モードとなります Autonomous モードでは ペリフェラルのコンフィギュレーションが完了すると PCI Express ハード IP は動作を開始します Autonomous モードは ユーザー モードとなる前 つまりコア コンフィギュレーション実行中に PCIe IP コアが動作することを可能とします Autonomous モードではリンク トレーニングの完了後 PCI Express ハード IP はコンフィギュレーション リクエスト リトライ ステータス (CRRS) を使用しホストからのコンフィギュレーション リクエストに応答します Autonomous モードは FPGA のコンフィギュレーションに CvP を使用しない場合に有用ですが 100 ms PCIe ウェイクアップ時間の要件を満たす必要があります 注意 : Arria 10 デバイスを最大限に活用するには アルテラでは PCI Express ハード IP の左右どちらかのボトムを使用して Gen3 動作に向けた 100 ms PCIe ウェイクアップ時間の要件を満たすことを推奨しています 関連情報 3-3 ページの Device and Pin Options での CvP パラメータの設定 CvP ピン 次のテーブルは CvP ピンの説明と接続ガイドラインを示しています Arria 10 における CvP の初期化

1-6 CvP ピン 表 1-3: CvP ピンの説明と接続ガイドライン UG-20010 ピンの名称ピンの種類ピンの説明ピンの接続方法 CvP_CONFDONE 出力 CvP_CONFDONE ピンはコンフィギュレーション中は Low でドライブされます PCIe 経由のコンフィギュレーションが完了すると 信号はリリースされ外部プルアップ レジスタにより High にプルアップされます CvP Initialization モードで FPGA をコンフィギュレーションする間 FPGA が正常にコンフィギュレーションされたかを判断するには CONF_DONE ピンが High となった後このピンを観察する必要があります CvP モードを使用していない場合 このピンをユーザー I/O ピンとして使用可能です このピンを専用出力として設定する場合 V CCPGM 電源は受信側の電圧仕様を満たす必要があります このピンが open-drain 出力として設定されている場合 外部 10-kΩ プルアップ レジスタ V CCPGM 電源か 受信側の入力電圧仕様を満たす別のプルアップ電圧に接続します これにより 電圧平準化のメリットが得られます Arria 10 における CvP の初期化

UG-20010 CvP ピン 1-7 ピンの名称ピンの種類ピンの説明ピンの接続方法 nperst[l,r] [0:1] 入力 このピンは PCIe 仕様に向けた専用の基本リセット ピンとして PCI Express ハード IP コアに接続されます 信号が Low の場合 CvP 動作に使用するトランシーバと専用 PCIe Hard IP ブロックは reset モードとなります nperst[l,r]0/nperst[l,r]1 を PCIe スロットの PERST# ピンに接続します このピンは 1.8V で電源供給され 1.8V に準拠した I/O 規格でドライブする必要があります PCIe Hard IP につき 1 つの nperst ピンのみ使用可能です これらのピンは以下のロケーションに位置します nperstl0 = PCIe HIP & CvP の左下 nperstl1 = ( 利用可能な場合 )PCIe Hard IP の右上 nperstr0 = ( 利用可能な場合 )PCIe Hard IP の右下 nperstr1 = ( 利用可能な場合 )PCIe Hard IP の右上 PCIe Hard IP の左下のロケーションは PCIe リンクを使用した CvP をサポートする唯一のロケーションであるため 最良の互換性を得るためには 常に PCIe Hard IP の左下から使用してください 関連情報 Pin Connection Guidelines for Arria 10 device family Arria 10 Device Datasheet Arria 10 における CvP の初期化

Arria 10 における CvP 初期化に向けたデザインの考慮事項 2 UG-20010 更新情報 オープン システムに向けた CvP の設計 オープン システムに向けて CvP システムを設計する際 本項で紹介するガイドラインを考慮する必要があります FPGA 電源ランプ時間の要件 オープン システムに対して デザインが FPGA 電源ランプアップ時間の要件に準拠していることを確認する必要があります パワー オン リセット (POR) 回路は 電源出力が推奨動作範囲となるまで FPGA をリセット状態で保持します POR イベントは 電源供給が推奨動作範囲の電源ランプ時間である t RAMP に到達するまで FPGA をパワーアップする際に発生します CvP の場合 最初の電源ランプアップから最後の電源ランプアップまで t RAMP の合計を 10 ms より低く抑える必要があります PORSEL ピンを High に設定することで fast POR を選択します これにより fast POR 遅延時間の範囲は 4 12 ms となり POR 後に PCIe リンクが初期化とコンフィギュレーションを開始するにあたって十分な時間を提供します 図 2-1: 電源ランプアップ時間および POR Volts First Power Supply Last Power Supply 10 ms POR Delay Time 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

2-2 UG-20010 オープン システムに向けた CvP の設計 PCIe ウェイクアップ時間の要件 オープン システムの場合 PCIe リンクが PCI Express CARD Electromechanical Specification で定義 される PCIe ウェイクアップ時間の要件を満たしている必要があります PCIe ウェイクアップ 時間仕様に対するパワー オンからリンク アクティブ L0 状態までの遷移は 200 ms 以内 でなければいけません FPGA 内の PCI Express ハード IP の IP コアがリンク トレーニングに向 けて動作可能となるまでの FPGA のパワー アップからの時間は 120 ms 以内でなければいけ ません CvP の初期化に向けた PCIe ウェイクアップ時間の要件 CvP Initialization モードでは ペリフェラル イメージ コンフィギュレーション時間はフル FPGA コンフィギュレーション時間に比べはるかに短いため PCI Express ハード IP の IP コアが 120 ms の要件を満たすことが保証されています このため ペリフェラル イメージ コンフ ィギュレーションに対して従来のコンフィギュレーション スキームを任意に選択することが可 能です コンフィギュレーションを成功させるには POR がモニタするすべての電源は 10 ms ランプア ップ時間の動作範囲内で単調にランプアップする必要があります PERST#信号は FPGA 電源が 指定の電圧トレランス内で かつ安定しているかを表します エンベデッド ハード リセッ ト コントローラは 内部ステータス信号がペリフェラル イメージがロードされたことを示し た後でトリガします このリセットは PERST#をトリガオフしません CvP Initialization モード では PCIe リンクはユーザー モードで FPGA コア イメージ コンフィギュレーションと PCIe アプリケーションをサポートします 注意: Gen 2 対応エンドポイントの場合 アルテラではコアの.sof をロード後 予期される Gen 2 のレートでリンクがトレーニング済みであることを検証することを推奨しています リンクがで Gen 2 動作していない場合 ソフトウェアはエンドポイントを再度トレーニン グするようトリガ可能です 図 2-2: CvP Initialization モードでの PCIe タイミング シーケンス a b ペリフェラルのプログラムとキャリブレーション power-onリセット後でのみ CONF_DONE = 1 であればコントロール ブロックは PCIeのハードIPをリセットから脱け出します FPGAがユーザー モードとなります f FPGA電源 c d PERST# e PR over PCIe PCIeリンクを用いたコア イメージの Periphery configuration コンフィギュレーション through conventional method 従来の方法を用いたペリフェラル イメージのコンフィギュレーション FPGAコンフィギュレーション ステータス Link Inactive PCIeリンク ステータス Link Training PCIeリンクを経由した コア イメージの更新 Link Active (L0) 表 2-1: CvP Initialization モードでのパワー アップ シーケンス タイミング シーケンス タイミング範 囲 ms a 10 説明 FPGA 内の POR がモニタするすべての電源がそれぞれの動作範囲に 到達するための最大ランプ アップ時間の要件 Arria 10 における CvP 初期化に向けたデザインの考慮事項

UG-20010 クローズド システムに向けた CvP の設計 2-3 タイミング シーケンス タイミング範囲 (ms) b 4~12 FPGA POR 遅延時間 説明 c 100 ホストからの PERST# 信号の最小アクティブ時間 d 20 PCIe リンクがトレーニング状態に入る前の PERST# 信号の最小非アク ティブ時間 e 120 CvP Initialization モードにおける FPGA パワー アップからペリフェラ ルコンフィギュレーション完了までの最大時間 f 100 PERST# がディアサートされた後に PCIe デバイス L0 に入るまで要する 最大時間 関連情報 Power Management in Arria 10 Devices 電力要件についての詳細情報です PCI Express CARD Electromechanical Specification クローズド システムに向けた CvP の設計 クローズド システムに向けて CvP を設計する際 CvP 初期化に向けたペリフェラル コンフィギュレーション時間を見積もります コンフィギュレーション時間の見積もりが PCIe ホストで許容される時間の範囲内であることを確認する必要があります Arria 10 における CvP 初期化に向けたデザインの考慮事項

Arria 10 における CvP 初期化に向けた設計の手順の解説 3 UG-20010 更新情報 CvP の初期化はデザインをペリフェラル イメージとコア イメージに分割します ペリフェラル イメージは PCB のフラッシュ デバイス内に格納されます ペリフェラルは JTAG 経由でプログラミング可能です コア イメージはホスト メモリ内に格納されます PCI Express リンクを使用してコア イメージを FPGA にダウンロードする必要があります Quartus Prime ソフトウェア内で CvP Settings Power up and subsequent core コンフィギュレーションを選択し CvP Initialization モードを指定する必要があります CvP Initialization を選択する理由には 以下のような目的があります FPGA プログラミン時間が制限を超える場合 プラグイン カードへの PCIe 初期パワーアップ要件を満たすため 外部ホスト メモリにコア イメージを格納することでコストを抑えるため 暗号化を行うことでコア イメージへの不正なアクセスを防ぐため 次の図は CvP の初期化に向けた上位レベルの手順を表しています 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

3-2 Arria 10 における CvP 初期化に向けた設計の手順の解説 図 3-1: CvP の初期化に向けたデザイン フロー UG-20010 Specify General Configuration & CvP Initialization Device & Pin Options Compile Design Program Periphery via JTAG using *.periph.jic Confirm Link and Data Rate Program Core via PCIe Link with *.core.rbf 注意 : CvP の初期化においては PCI Express ハード IP に対し CMU PLL とハード リセット コントローラを使用する必要があります CvP 初期化の実演デモには以下の手順が含まれます 1. 合成 HDL ファイルの生成 2. Device and Pin Options での CvP パラメータの設定 3. デザインのコンパイル 4. SOF ファイルの分割 5. ハードウェアの立ち上げ Arria 10 における CvP 初期化に向けた設計の手順の解説

UG-20010 合成 HDL ファイルの生成 3-3 合成 HDL ファイルの生成 合成 HDL ファイルを生成するには CvP がイネーブルされた状態で次の手順に従ってください 1. Tools メニューで Qsys を選択します 2. プロジェクトの.qsys ファイルを開きます 3. System Contents タブで Arria 10 Hard IP for PCI Express を右クリックし Edit を選択します 4. System Settings で 次の図に示すように Enable Configuration via Protocol をチェックします 図 3-2: Systems Setting ダイアログ ボックスにおけるオプションの選択画面 5. Finish をクリックします 6. Generation タブで RTL を生成するパラメータを指定し 画面下の Generate をクリックします 関連情報 Arria 10 Avalon-MM Interface for PCIe Solutions User Guide Device and Pin Options での CvP パラメータの設定 CvP パラメータを指定するには 次の手順を実行します 1. Quartus Prime Assignments メニューで Device を選択し Device and Pin Options をクリックします 2. Category で General を選択し 以下のオプションをイネーブルします a. Auto-restart configuration after error このオプションをイネーブルすると CvP はエラーが検出された後に再開します b. Enable autonomous PCIe HIP mode Arria 10 における CvP 初期化に向けた設計の手順の解説

3-4 Device and Pin Options での CvP パラメータの設定 PCI Express ハード IP ダイアログ ボックス内で Enable Configuration via the PCIe link をチェックし CvP をイネーブルしているのであれば この項目をチェックしても何の影響もありません Quartus Prime ソフトウェアは デフォルトで自動的に Autonomous モードをイネーブルします Autonomous モードでは コントロール ブロックはペリフェラル イメージがロードされた後 PCI Express ハード IP をリセットから移行させます PCI Express ハード IP は normal successful ステータスでコンフィギュレーション リクエストとメモリ リクエストに応答します Enable autonomous PCIe HIP mode オプションは デザインに以下の 2 つの設定がある場合に効果が発揮されます コア イメージをロードする際 PCIe リンクの代わりにフラッシュ デバイスやイーサネット コントローラを使用している PCI Express ハード IP ダイアログ ボックスで Enable Configuration via the PCIe link にチェックを入れていない この 2 つの条件が両方とも真であれば 以下の 2 つのオプションが使用可能です Enable autonomous PCIe HIP mode をチェックしている場合 コントロール ブロックはペリフェラル イメージがロードされた後 PCI Express ハード IP をリセットから移行させます Hard IP は FPGA がユーザー モードとなるまで コンフィギュレーション リトライ ステータス (CRS) でコンフィギュレーション リクエストに応答し UR ステータスでメモリ リクエストに応答します Enable autonomous PCIe HIP mode をチェックしていない場合 Hard IP は FPGA がユーザー モードとなるまでリセット状態を維持します リンク トレーニングは FPGA がユーザー モードとなった後でのみ発生します 注意 : このパラメータは初期コンフィギュレーションの機能のみを制御します このパラメータ設定により オープン PCI Express システムが PCI Express Base Specification で定義されたコンフィギュレーション時間の要件を満たすことが可能となります 初期コンフィギュレーション後はコア イメージのコンフィギュレーションが完了しているため このパラメータは意味を持つことはありません c. その他のオプションはすべてディセーブルにしておきます 3. Category で CvP Settings を選択し 以下の設定を指定します パラメータ Configuration via Protocol Enable CvP_CONFDONE pin Enable open drainon CvP_CONFDONE pin コアの初期化 値 このオプションをオンにする このオプションをオンにする UG-20010 Arria 10 における CvP 初期化に向けた設計の手順の解説

UG-20010 デザインのコンパイル 3-5 図 3-3: Device and Pin options ダイアログ ボックスにおける CvP パラメータの設定画面 デザインのコンパイル 1. デザインをコンパイルするには Processing メニューで Start Compilation をクリックし.SOF ファイルを作成します SOF ファイルの分割 ペリフェラル ロジックとコア ロジックに向けて.SOF ファイルを別々のイメージに分割するには 以下の手順に従ってください 1..SOF file の生成後 File メニューで Convert Programming File を選択します 2. Output programming file の箇所で 以下のパラメータを指定します Programming file type Configuration device Mode File name パラメータ Create Memory Map File Create CvP files 値 JTAG Indirect Configuration File (*.jic) EPCQL1024 アクティブ シリアル *.jic 3. Input files to convert で 以下のパラメータを指定します このオプションをオンにする このオプションをオンにする このボックスは Input files to convert で SOF Data ファイルを指定するまでグレーで表示されます Flash Loader SOF Data パラメータ 10AX115S1F45I1SGE2 *.sof 値 Arria 10 における CvP 初期化に向けた設計の手順の解説

3-6 ハードウェアの立ち上げ UG-20010 4. Create CvP files がチェックされていることを確認します 注意 : このボックスをチェックしていない場合 Quartus Prime ソフトウェアはペリフェラル イメージとコア イメージに対し別々のファイルを作成しません 図 3-4: Convert Programming File GUI における上記で説明したオプションの指定画面 5. Generate をクリックし.periph.jic ファイルと.core.rbf ファイルを作成します ハードウェアの立ち上げ ハードウェアでデザインをテストする前に DUT システムに Jungo WinDriver をインストールする必要があります RW ユーティリティをはじめとするシステム検証ツールをインストールして エンドポイントのリンク状態をモニタしたり リンクのトラフィックを観察することも可能です このようなユーティリティは多くのウェブサイトから無償でダウンロード可能です 検証の設定には以下のコンポーネントが含まれます Arria 10 FPGA 開発キット USB Blaster Arria 10 FPGA 開発キットにプラグインするための PCI Express スロットを備えた DUT PC ペリフェラル イメージ.sof および.pof ファイルをプログラムするために Quartus Prime ソフトウェアを実行するホスト PC 厳密には個別のホスト PC は必要ではありませんが 個別のホスト PC があれば検証作業は煩雑さは軽減されます Arria 10 における CvP 初期化に向けた設計の手順の解説

UG-20010 Windows システムへの Jungo WinDriver のインストール 3-7 Windows システムへの Jungo WinDriver のインストール 1. <Quartus Prime installation path>\quartus\drivers\wdrvr\windows<32 or 64> へと進みます 2. 以下のコマンドを実行します wdreg -inf windrvr6.inf install 3. wdapi1021.dll ファイルを %windir%\system32 ディレクトリへコピーします Linux システムへの Jungo WinDriver のインストール 1. <Quartus Prime installation path>/quartus/drivers/wdrvr/linux<32 or 64> へと進みます 2. 以下のコマンドを実行します a../configure --disable-usb-support b. make c. su d. make install 3. デバイス ファイルへのアクセス権限は変更可能です 例 :chmod 666 /dev/windrvr6 4. 64 ビットの Linux システムの場合 quartus_cvp を実行する前に以下のコマンドを使用して Quartus_64BIT 環境変数を設定します export QUARTUS_64BIT=1 5. quartus_cvp コマンドを使用することで FPGA に *core.rbf ファイルをダウンロード可能です 以下のテーブルは すべてのモードに対する quartus_cvp コマンドを示しています 表 3-1: quartus_cvp コマンドのシンタックス モード Uncompressed Unencrypted Compressed Encrypted Compressed and encrypted 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> Arria 10 における CvP 初期化に向けた設計の手順の解説

3-8 Arria 10 開発キットの MSEL/DIP スイッチの変更 UG-20010 Arria 10 開発キットの MSEL/DIP スイッチの変更 MSEL/DIP スイッチには Arria 10 FPGA 開発キットの裏面に SW5 というラベルが貼られています スイッチを右にするとロジック 0 を意味し 左にするとロジック 1 を意味します たとえば MSEL [2:0] = 011 であれば上から下に左 左 右の順で設定します 表 3-2: Arria 10 デバイスの各コンフィギュレーション手法に向けた MSEL ピンの設定 MSEL ピンは マイクロプロセッサや他のデバイスでドライブしないでください HPS を経由するコンフィギュレーションには PS あるいは FPP MSEL ピン設定を使用してください コンフィギュレーション方法 V CCPGM (V) Power-On Reset(POR) 遅延 有効 MSEL[2..0] JTAG ベースのコンフィギュレーション 下記のいずれかの有効な MSEL ピ ン設定を使用します AS(x1 と x4) 1.8 Fast 010 Standard 011 PS および FPP(x8 x16 x32) 1.2/1.5/1.8 Fast 000 Standard 001 CvP イメージのプログラミングペリフェラル イメージ (.periph.jic) をプログラムした後は PCIe リンクを使用しコア イメージ (.core.rbf) をダウンロードする必要があります JTAG ポート経由でペリフェラル イメージをロードした後 リンクは予期されるデータ レートとリンク幅に到達するはずです RW ユーティリティを使用して PCIe リンクの状態を確認することができます CvP の機能性のプログラミングや検証を実行するには この手順に従ってください 1. Arria 10 FPGA 開発キットを DUT PC の PCI Express スロットへ接続し パワーを ON にします アルテラでは開発キットに含まれる外部電源の使用を推奨しています 2. ホスト PC 上で Quartus Prime Tools メニューを開き Programmer を選択します 3. USB Blaster が Arria 10 FPGA を認識していることを確認するために Auto Detect をクリックします 4. ペリフェラル イメージをプログラムするには 次のステップに従います a. Arria 10 デバイスを選択し File カラムで None を右クリックします b..periph.jic ファイルへ進み Open をクリックします c. Program/Configure カラムで 10AX115S1E2 や EPCQL1024 といったデバイスを選択します d. Start をクリックして EPCQL1024 フラッシュにペリフェラル イメージをプログラムします Arria 10 における CvP 初期化に向けた設計の手順の解説

UG-20010 CvP イメージのプログラミング 3-9 図 3-5: ペリフェラル イメージをプログラムするオプションの選択画面 5..periph.jic のプログラム後 新しいペリフェラル イメージがオンボード フラッシュから FPGA にロードされるよう FPGA の電源を再投入する必要があります ホスト PC が新しいイメージでリンクを列挙するよう強制するには DUT PC と Arria 10 FPGA 開発キットの電源を再投入します 6. リンク ステータスの検証には RW ユーティリティや他のシステム ソフトウェア ドライバを使用することができます 期待されるリンク速度と幅を確認可能です 7. コア イメージをプログラムするには 次のステップに従います a..core.rbf ファイルを適切な Quartus Prime bin インストール ディレクトリへコピーします システムが 32 ビットであるか 64 ビットであるかによって フォルダは./quartus/bin32 と./quartus/bin64 に分かれます b. Windows で Command Prompt を開き 前の手順でファイルがコピーされた箇所にディレクトリを変更します c. 次のコマンドを入力してコア イメージをプログラムします quartus_cvp --vid=<vendor ID> --did=<device ID> xxx.core.rbf このコマンドでは Vendor ID と Device ID の値は 16 進数であり Hard IP for PCI Express ダイアログ ボックスで指定されます 例 :quartus_cvp --vid=1172 --did=e003 xxx.core.rbf d. 以下は CvP のプログラミングが成功した場合の画面です Arria 10 における CvP 初期化に向けた設計の手順の解説

3-10 CvP イメージのプログラミング 図 3-6: コマンド プロンプト コンソール UG-20010 Arria 10 における CvP 初期化に向けた設計の手順の解説

CvP ドライバとレジスタ 4 UG-20010 更新情報 CvP ドライバのサポート アルテラが提供するサンプル Linux ドライバ ソースコードを使用すれば Linux に向けてユーザーによる独自のカスタム CvP ドライバを開発することができます このサンプル ドライバは C 言語で記述されており Configuration via Protocol のウェブページからダウンロード可能です また Jungo WinDriver ツールを使用して独自の CvP ドライバを開発することもできます この場合 WinDriver のライセンスを購入する必要があります 関連情報 Configuration via Protocol サンプル Linux デバイス ソース コードについての詳細情報です CvP ドライバのフロー 以下の図は 提供の CvP ドライバのフローを表しています このフローは FPGA に電源が投入されておりコントロール ブロックはペリフェラル イメージで FPGA をコンフィギュレーション済みであると仮定しています このことは CvP ステータス レジスタの CVP_EN ビットで表されています この図で示されるように Start Teardown フローの 3 つ目のステップにおいて CVP DATA レジスタへの 244 のダミー コンフィギュレーション ライトあるいはこのデバイスに対してメモリ スペース BAR で定義されたアドレスに 244 個のメモリ ライトが必要とされます メモリ ライトはコンフィギュレーション ライトよりもスループットが高いため より好ましいとされます ダミー ライトは 2 ms の遅延を発生させるため コントロール ブロックが必要となる動作を完了することを可能とします 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

4-2 CvP 向け VSEC レジスタ 図 4-1: CvP ドライバのフロー UG-20010 Arria 10 などの高集積度を持つデバイスでは CVP ステータス レジスタ ビットのアサーションに最大で 500 ms 待機することが必要となる場合があります 開始 転送の開始 Teardown の開始 CVP_EN ビットを CvP ステータス レジスタからリードする コンフィギュレーション イメージに応じて CvP モード コントロール レジスタで CVP_NUMCLKS バイトを設定します 0 を CvP モード コントロール レジスタの START_XFER ビットへライトします CVP_EN=1? yes no (1) 1 を HIP_CLK_SEL へライトし その後 CvP モードのコントロール レジスタで CVP_MODE ビットに 1 をライトする 32 ビット ファブリック コンフィギュレーションデータを (*.core.rbf ファイルから ) CvP データレジスタへライトします CvP ステータス レジスタの CVP_CONFIG_ERROR ビットをリードします 0 を CvP プログラミング コントロールレジスタの CVP_CONFIG ビットへライトします CVP_NUMCLKS バイトを CvP モード コントロール レジスタの 0x01 へ設定し そのハード IP へ 244 のダミー ライトを発行します ダミー ライトは CVP_ DATA レジスタへの config ライトかこのデバイスに対して BAR によって定義される任意のアドレスへのメモリ ライトとすることができます CVP_NUMCLKS バイトを CvP モード コントロール レジスタの 0x01 へ設定し そのハード IP へ 244 のダミー ライトを発行します ダミー ライトは CVP_ DATA レジスタへの config ライトかこのデバイスに対して BAR によって定義される任意のアドレスへのメモリ ライトとすることができます no CVP_CONFIG_ERROR=1? no ファブリック コンフィギュレーションファイル (.core.rbf) の最後? yes コンフィギュレーション エラーをログします CVP_CONFIG_READY ビットを CvP ステータス レジスタからポーリングします CVP_CONFIG_READY=0? no 1 を CvP プログラミング コントロールレジスタの CVP_CONFIG へライトします CVP_CONFIG_READY ビットを CvP ステータス レジスタからポーリングします yes Teardown へ進む yes 修正不可能な内部エラー ステータス レジスタより CVP_CONFIG_ERROR_LATCHED ビットをリードします CVP_CONFIG_READY=1? no no CVP_CONFIG_ERROR_LATCHED = 0? yes yes CVP_NUMCLKS バイトを CvP モード コントロール レジスタの 0x01 へ設定し そのハード IP へ 244 のダミー ライトを発行すると コントロール ブロックが内部クロックを CvP クロックへと変更させます ダミー ライトは CVP_ DATA レジスタへの config ライトかこのデバイスに対して BAR によって定義される任意のアドレスへのメモリ ライトとすることができます 0 を CVP_MODE と HIP_CLK_SEL へライトします CvP ステータス レジスタより PLD_CLK_IN_USE と USER_MODE をポーリングします 1 を CvP プログラミング コントロール レジスタの START_XFER ビットへライトします 転送へ進みます PLD_CLK_IN_USE = 1 かつ USER_MODE = 1? yes no (1) ペリフェラル ロードが完了するまで待機します 完了 CvP 向け VSEC レジスタ ベンダ固有の拡張ケーパビリティ (VSEC) レジスタは PCIe コンフィギュレーション スペースのバイト オフセット 0x200 から 0x240 を使用します PCIe ホストは FPGA コントロール CvP ドライバとレジスタ

UG-20010 アルテラ定義のベンダ固有ケーパビリティ ヘッダ レジスタ 4-3 ブロックとの通信にこのレジスタを使用します 次のテーブルは VSEC レジスタ マップを示しています その次のテーブルでは 各レジスタの領域と説明を確認することができます 表 4-1: CvP 向け VSEC レジスタ バイト オフセット 0x200 0x204 0x208 0x20C:0x218 0x21C 0x220 レジスタ名 Altera-defined Vendor Specific Capability Header Altera-defined Vendor Specific Header Altera Marker Reserved CvP Status CvP Mode Control 0x224 CvP Data 2 0x228 0x22C 0x230 0x234 0x238 0x23C 0x240 CvP Data CvP Programming Control Reserved Uncorrectable Internal Error Status Register Uncorrectable Internal Error Mask Register Correctable Internal Error Status Register Correctable Internal Error Mask Register アルテラ定義のベンダ固有ケーパビリティ ヘッダ レジスタ 表 4-2: アルテラ定義のベンダ固有ケーパビリティ ヘッダ レジスタ ( バイト オフセット :0x200) ビット名称リセット値アクセス説明 [15:0] PCI Express Extended Capability ID 0x000B RO VSEC Capability ID に向けて定義 された PCIe 使用の値 [19:16] バージョン 0x1 RO VSEC バージョンに向けて定義 された PCIe 使用の値 [31:20] Next Capability Offset 変数 RO 実装される次のケーパビリテ ィ ストラクチャが存在する場 合 その開始アドレス アルテラ定義のベンダ固有ヘッダ レジスタ CvP ドライバとレジスタ

4-4 アルテラ マーカー レジスタ 表 4-3: アルテラ定義のベンダ固有ヘッダ レジスタ ( バイト オフセット :0x204) UG-20010 ビット名称リセット値アクセス説明 [15:0] VSEC ID 0x1172 RO ユーザーによるコンフィギュレ ーションが可能な VSEC ID [19:16] VSEC Revision 0 RO ユーザーによるコンフィギュレ ーションが可能な VSEC リビジ ョン [31:20] VSEC Length 0x044 RO このストラクチャのバイト単位 での長さの合計 アルテラ マーカー レジスタ 表 4-4: アルテラ マーカー レジスタ ( バイト オフセット :0x208) ビット名称リセット値アクセス説明 [31:0] Altera Marker デバイスの 値 CvP ステータス レジスタ 表 4-5: CvP ステータス レジスタ ( バイト オフセット :0x21C) RO 追加のマーカーです CvP を持つデバイスのコンフィギュレーションに標準の Altera Programmer ソフトウェアを使用する場合 このマーカーは正しい VSEC で作動していることを確認するためにプログラミング ソフトウェアがリードする値を提供します ビット名称リセット値アクセス説明 [31:26] 0x00 RO 予約 [25] PLD_CORE_READY 変数 RO FPGA ファブリックより この ステータス ビットはデバッグ 用に提供されます [24] PLD_CLK_IN_USE 変数 RO スイッチ モジュールからファブリック このステータス ビットはデバッグ用に提供されます CvP ドライバとレジスタ

UG-20010 CvP モード コントロール レジスタ 4-5 ビット名称リセット値アクセス説明 [23] CVP_CONFIG_DONE 変数 RO Indicates that the FPGA コントロール ブロックが CvP を介してデバイス コンフィギュレーションを完了しており エラーがないことを示します [22] 変数 RO 予約 [21] USERMODE 変数 RO コンフィギュレーション可能な FPGA ファブリックがユーザ ー モードであるかを示します [20] CVP_EN 変数 RO FPGA コントロール ブロックが CvP モードをイネーブルしてい るかを示します [19] CVP_CONFIG_ERROR 変数 RO FPGA コントロール ブロックからの信号の値を反映し コンフィギュレーション中にエラーが発生したかどうかをソフトウェアによってチェックされます [18] CVP_CONFIG_READY 変数 RO FPGA コントロール ブロックからの信号の値を反映し プログラミング アルゴリズム中にソフトウェアによってチェックされます [17:0] 変数 RO 予約 CvP モード コントロール レジスタ 表 4-6: CvP モード コントロール レジスタ ( バイト オフセット :0x220) ビット名称リセット値アクセス説明 [31:16] 0x0000 RO 予約 CvP ドライバとレジスタ

4-6 CvP モード コントロール レジスタ UG-20010 ビット名称リセット値アクセス説明 [15:8] CVP_NUMCLKS 0x00 RW それぞれの CvP データ ライトに 送信するクロック数です [7:3] 0x0 RO 予約 コンフィギュレーション イメージに応じて以下のいずれかの値でこの領域を設定します 非圧縮で暗号化されていないイメージの場合 0x01 非圧縮で暗号化されたイメージの場合 0x04 すべての圧縮されたイメージの場合 0x08 [2] CVP_FULLCONFIG 1'b0 RW 値 1 は コントロール ブロックが PCI Express ハード IP を含む FPGA 全体をリコンフィギュレーションし PCIe リンクを停止するリクエストを示します [1] HIP_CLK_SEL 1'b0 RW USER_MODE = 1 で PLD_CORE_ READY = 1 の際 PMA とファブリック クロック間で選択します 以下のエンコーディングが定義されています 1:CVP_MODE に必須の PMA からの内部クロックを選択する 0: ソフト ロジック ファブリックからのクロックを選択する この設定は 正しいクロックに接続するコンフィギュレーション ファイルを使用しファブリックを USER_MODE でコンフィギュレーションする場合にのみ使用すべきです CvP 実行中にクロックの切り替えが存在しないことを確認するには PCI Express ハード IP が 10 µs 間アイドル状態のときにのみこの値を変更し 変更後 実行を再開する前に 10 µs 間待機すべきです CvP ドライバとレジスタ

UG-20010 CvP モード コントロール レジスタ 4-7 ビット名称リセット値アクセス説明 [0] CVP_MODE 1'b0 RW PCI Express ハード IP が CVP_ MODE であるか Normal モードであるかを制御します 以下のエンコーディングが定義されています 1:CVP_MODE はアクティブです FPGA コントロール ブロックがアクティブとなるよう信号を送信し すべての TLP はコンフィギュレーション スペースへ接続されます CVP_ MODE は CVP_EN = 0 の場合イネーブル不可能です 0:IP コアは Normal モードで TLP は FPGA ファブリックへ接続されます CvP ドライバとレジスタ

4-8 CvP データ レジスタ CvP データ レジスタ UG-20010 表 4-7: CvP データ レジスタ ( バイト オフセット :0x224-0x228) ビット名称リセット値アクセス説明 [31:0] CVP_DATA2 0x00000000 RW 64 ビット コンフィギュレーション データの上部 32 ビットを含みます ソフトウェアは 両方の DWORD ですべてのバイトがイネーブルされていることを確認する必要があります [31:0] CVP_DATA 0x00000000 RW コンフィギュレーション データをこのレジスタへライトします データはデバイスをコンフィギュレーションするため FPGA コントロール ブロックへ転送されます CvP プログラミング コントロール レジスタ このレジスタへの書き込みごとにデータ出力を FPGA コントロール ブロックへ設定し CvP モード コントロール レジスタの CVP_NUM_CLKS 領域で指定されるように FPGA コントロール ブロックに <n> クロック サイクルを生成します ソフトウェアはメモリ ライト DWORD のすべてのバイトがイネーブルされていることを確認する必要があります このレジスタへは コンフィギュレーション ライトを使用しアクセス可能です また CvP モードでは このレジスタはメモリ ライトによってこのデバイスに向けてメモリ スペース BAR で定義された任意のアドレスに書き込みすることが可能です メモリ ライトの使用は コンフィギュレーション ライトよりも高いスループットとなります 表 4-8: CvP プログラミング コントロール レジスタ ( バイト オフセット :0x22C) ビット名称リセット値アクセス説明 [31:2] 0x0000 RO 予約 CvP ドライバとレジスタ

UG-20010 CvP プログラミング コントロール レジスタ 4-9 ビット名称リセット値アクセス説明 [1] START_XFER 1'b0 RW CvP 出力を FPGA コントロー ル ブロックに設定し 転送の 開始を表します [0] CVP_CONFIG 1'b0 RW 1 に設定されると FPGA コント ロール ブロックは CvP を介し て転送を開始します CvP ドライバとレジスタ

4-10 修正不可能な内部エラー ステータス レジスタ 修正不可能な内部エラー ステータス レジスタ このレジスタは修正不可能な内部でチェックされたエラーのステータスをレポートします Uncorrectable Internal Error Mask レジスタによって特定のエラーがイネーブルされると そのエラーは PCI Express Base Specification 3.0 で定義されている Uncorrectable Internal Error( 修正不可能な内部エラー ) として処理されます このレジスタはデバッグ専用です このレジスタはカスタム ロジックをドライブするためではなく ビヘイビアを観察するために使用します 表 4-9: 修正不可能な内部エラー ステータス レジスタ ( バイト オフセット :0x234) ビットリセット値アクセス説明 [31:12] 0x00 RO 予約 [11] 1'b0 RW1CS 値 1 は ポステッド リクエストや Completion セグメント内の RX バッファ オーバーフロー 要件を示します [10] 1'b0 RW1CS 値 1 は R2CSEB インタフェースでパリティ エ ラーが検出されたことを示します [9] 1'b0 RW1CS 値 1 は コンフィギュレーション スペースか ら TX のバス インタフェースでパリティ エ ラーが検出されたことを示します [8] 1'b0 RW1CS 値 1 は TX からコンフィギュレーション スペ ースのバス インタフェースでパリティ エラ ーが検出されたことを示します [7] 1'b0 RW1CS 値 1 は TX TLP でパリティ エラーが検出され TLP が送信されていないことを示します [6] 1'b0 RW1CS 値 1 は Application Layer が修正不可能な内部エ ラーが検出されたことを示します [5] 1'b0 RW1CS 値 1 は 修正不可能としてレポートされるコンフィギュレーション エラーが CvP モードで検出されたことを示します CVP_MODE で CVP_CONFIG_ERROR がアサートされる際は 常に CVP_CONFIG_ERROR_LATCHED ビットが設定されます [4] 1'b0 RW1CS 値 1 は TX Data Link Layer によってパリティ エラーが検出されたことを示します [3] 1'b0 RW1CS 値 1 は RX からコンフィギュレーション スペ ースのバス インタフェースでパリティ エラ ーが検出されたことを示します [2] 1'b0 RW1CS 値 1 は 入力から RX バッファでパリティ エ ラーが検出されたことを示します [1] 1'b0 RW1CS 値 1 は リトライ バッファの修正不可能な ECC エラーを示します UG-20010 CvP ドライバとレジスタ

UG-20010 修正不可能な内部エラー ステータス レジスタ 4-11 ビットリセット値アクセス説明 [0] 1'b0 RW1CS 値 1 は RX バッファの修正不可能な ECC エラ ーを示します CvP ドライバとレジスタ

4-12 修正不可能な内部エラー マスク レジスタ 修正不可能な内部エラー マスク レジスタ このレジスタは内部で修正不可能なエラーとして転送されるエラーを制御します このエラーは CvP モードで検出されるコンフィギュレーション エラー以外はすべて深刻であり デバイスや PCIe リンクを不整合な状態にすることがあります CvP モードで検出されたコンフィギュレーション エラーはプログラミング ソフトウェアのデザインによっては修正が可能な場合もあります 表 4-10: 修正不可能な内部エラー マスク レジスタ ( バイト オフセット :0x238) ビットリセット値アクセス説明 [31:12] 0x00 RO 予約 [11] 1'b1 RWS ポストされた RX バッファおよび completion オ ーバーフロー エラーのマスク [10] 1'b1 RWS R2CSEB インタフェース上のパリティ エラーの マスク [9] 1'b1 RWS コンフィギュレーション スペースから TX の バス インタフェース上のパリティ エラーの マスク [8] 1'b1 RWS TX からコンフィギュレーション スペースのバ ス インタフェースのマスク [7] 1'b1 RWS トランザクション レイヤ パケットのパリテ ィ エラーのマスク [6] 1'b1 RWS トランザクション レイヤのパリティ エラー のマスク [5] 1'b0 RWS CvP モードのコンフィギュレーション エラー のマスク [4] 1'b1 RWS TX Data Link LCRC 生成中に検出されたパリテ ィ エラーのマスク [3] 1'b1 RWS RX からコンフィギュレーション スペースのバ ス インタフェースで検出されたデータ パリ ティ エラーのマスク [2] 1'b1 RWS 入力から RX バッファで検出されたデータ パ リティ エラーのマスク [1] 1'b1 RWS リトライ バッファの修正不可能な ECC エラー のマスク [0] 1'b1 RWS RX バッファの修正不可能な ECC エラーのマス ク 修正可能な内部エラー ステータス レジスタ UG-20010 このレジスタは修正可能な内部でチェックされたエラーのステータスをレポートします Correctable Internal Error Mask レジスタによってこのような特定のエラーがイネーブルされ CvP ドライバとレジスタ

UG-20010 修正可能な内部エラー マスク レジスタ 4-13 ると エラーは PCI Express Base Specification 3.0 で定義されている Correctable Internal Error( 修正可能な内部エラー ) として処理されます このレジスタはデバッグ専用です このレジスタはカスタム ロジックをドライブするためではなく ビヘイビアを観察するために使用します 表 4-11: 修正可能な内部エラー ステータス レジスタ ( バイト オフセット :0x23C) ビットリセット値アクセス説明 [31:7] 0x000 RO 予約 [6] 1'b0 RW1CS 値 1 は Application Layer が修正可能な内部エラ ーが検出されたことを示します [5] 1'b0 RW1CS 値 1 は コンフィギュレーション エラーが CvP モードで検出され このエラーは修正可能であるとレポートされていることを示します CVP_MODE で CVP_CONFIG_ERROR が発生する際は 常にこのビットが設定されます [4:2] 0x0 RO 予約 [1] 1'b0 RW1CS 値 1 は リトライ バッファの修正可能な ECC エラーを示します [0] 1'b0 RW1CS 値 1 は RX バッファの修正可能な ECC エラー を示します 修正可能な内部エラー マスク レジスタ このレジスタは内部で修正可能なエラーとして転送されるエラーを制御します このレジスタはデバッグ専用です 表 4-12: 修正可能な内部エラー マスク レジスタ ( バイト オフセット :0x240) ビットリセット値アクセス説明 [31:7] 0x000 RO 予約 [6] 1'b0 RWS Application Layer によってレポートされる修正 可能な内部エラーのマスク [5] 1'b0 RWS CvP モードで検出されるコンフィギュレーショ ン エラーのマスク [4:2] 0x0 RO 予約 [1] 1'b0 RWS リトライ バッファの修正可能な ECC エラーの マスク [0] 1'b0 RWS RX バッファの修正可能な ECC エラーのマスク CvP ドライバとレジスタ

Arria 10 におけるプロトコルを経由したパーシャル リコンフィギュレーション 5 UG-20010 更新情報 パーシャル リコンフィギュレーション (PR) は FPGA デバイスのコア ロジック以外の部分は動作を継続した状態で FPGA デザインのコア ロジックを動的にリコンフィギュレーションすることができる高度な機能です パーシャル リコンフィギュレーションは Cyclone V (1) Stratix V および Arria 10 デバイス ファミリでサポートされています プロトコルを経由したパーシャル リコンフィギュレーションは PCI Express(PCIe) リンクを使用した FPGA ファブリックのコンフィギュレーション手法を提供します 注意 : 関連情報 Arria 10 デバイスの場合 パーシャル リコンフィギュレーションのような高度な機能を使用するには Quartus Prime Pro エディション ソフトウェアが必要となります Introduction to Altera IP Cores すべてのアルテラ IP コアに関する パラメータ化 アップグレード IP のシミュレーションといった基本的な情報を提供します Creating Version-Independent IP and Qsys Simulation Scripts ソフトウェアあるいは IP のバージョンのアップグレードに手動での更新を必要としないシミュレーション スクリプトの作成について詳しい情報を提供します Project Management Best Practices プロジェクトおよび IP ファイルの効率的な管理および移植性のためのガイドラインを提供します PCI Express 経由の PR を使用するメリット PCI Express 経由の PR を使用するメリットは以下の通りです (1) 部品番号の末尾に SC のある Cyclone V E GX SE および SX デバイスではパーシャル リコ ンフィギュレーション機能が使用可能です 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

5-2 PCIe 経由の PR システム UG-20010 デザインのコア以外の部分が動作を継続する間 LAB MLAB DSP および RAM といった FPGA デザインのコア部分の動的な更新が可能です ハードウェア アクセラレーションを容易にします デザイン保護 :PCIe 経由の PR は デザインの不正な改ざんやコピーに対する保護を提供する FPGA ファブリック イメージのみに PCIe ホストがアクセスできるようにします イメージの更新にシステムのダウン タイムを必要としません ホスト リブートあるいは FPGA フル チップの再初期化を実行することなく PCIe リンク経由で FPGA ファブリックを部分的に更新することが可能です PCIe Hard IP ブロックの左下の部分を使用する Configuration via Protocol(CvP) とは異なり 任意の PCI Express ハード IP の IP コアを PCIe 経由の PR に使用することが可能です Hard IP コアは エンドポイントとしてコンフィギュレーションする必要があります Avalon-MM あるいは Avalon-MM DMA を備えた PCIe ハード IP であればコンフィギュレーションがサポートされているため Gen1x1 から Gen3x8 の任意の PCI Express リンクを使用することができます PCIe 経由の PR システム 次の図は PCIe 経由の PR デザインの一般的な設計機構を表しています 図 5-1: PCIe 経由の PR AVMM デザイン ブロック図 Host PC Root Complex PCIe Hard IP Avalon-MM Partial Reconfiguration IP Core Partial Reconfiguration Control Block Partial Reconfiguration Regions with Multiple Personas 上記のブロック図では Altera FPGA の PCIe カードがホスト PC に接続されています ホスト PC はアプリケーション ソフトウェアを使用しパケット形式で PCIe のハード IP へ PR ビット ストリームを送信します このパケットはその後 Avalon MM スレーブ インタフェースを経由し PR IP によって受信されます PR IP コアは ハード PR コントロール ブロックへのマスタとして動作します PR IP コアは PR コントロール ブロックへのデータ ビットおよびフローを制御するだけでなく PCIe エンドポイントを経由して PR コントロール ブロックからホスト PC へステータスも返送します Arria 10 におけるプロトコルを経由したパーシャル リコンフィギュレーション

UG-20010 パーシャル リコンフィギュレーション IP コア 5-3 パーシャル リコンフィギュレーション IP コア PCIe 経由のリコンフィギュレーションは コア ロジック内に位置する内部ホストとして PR IP コアを使用することで実行されますが これにより対応する crcblock および prblock WYSIWYG 素子レベル プリミティブが自動的にインスタンス化されます 図 5-2: 内部ホストを使用したパーシャル リコンフィギュレーション PR Bitstream file (.rbf) in external memory PR Region PR IP Core パーシャル リコンフィギュレーション中は PR コントロール ブロック (CB) は Passive Parallel x16 あるいは x32 programming モードとなります 図 5-3: PR IP コアのコンポーネント CRCBLOCK PRBLOCK FPGA Control Block (CB) Interface Module CB Interface Controller Freeze/Unfreeze Controller Bitstream Decoder Main Controller (1) Module Data Source Controller JTAG Debug Interface PR Data Interface PR Data Source Interface Module Note: 1. メイン コントローラ モジュールは CB インタフェースのすべてのハンドシェイ 信号を処理し PRBLOCK へ送信する前に必要に応じて受信データを処理します また freeze/un-freeze PR インタフェースも処理します PR IP コアをインスタンス化すると コントロール ブロック インタフェース コントローラ フリーズ / アンフリーズ コントローラ データ ソース コントローラを含むメイン コ Arria 10 におけるプロトコルを経由したパーシャル リコンフィギュレーション

5-4 パーシャル リコンフィギュレーション IP コア ントローラはすべてインスタンス化されます データ ソース インタフェース モジュールは JTAG デバッグ インタフェースと PR データ インタフェースを提供します 関連情報 Partial Reconfiguration IP Core User Guide PR IP コアおよびそのインスタンス化方法についての詳細情報です UG-20010 Arria 10 におけるプロトコルを経由したパーシャル リコンフィギュレーション

Arria 10 における PCI Express 経由の PR のデザイン プランニング 6 UG-20010 更新情報 PCIe 経由のパーシャル リコンフィギュレーションのプランニングは以下の手順から構成されます パーティション階層の特定 複数のリビジョンの作成 PR デザインのフロアプラン PR デザインのクロックおよびグローバル信号のアサインメント PR パーティションへのフリーズ ロジックの挿入 パーティション階層の特定 PR デザインは 2 種類のパーティションで構成されています スタティック パーティション リコンフィギュレーション可能なパーティション スタティック パーティションとは PR 処理中に変更されることがないデザイン部分のことを指します スタティック領域には 任意のデザイン エレメントを含めることが可能で このデザイン例では PCIe システムと PR IP コアがスタティック領域の基礎を形成しています リコンフィギュレーション可能なパーティションは デザインの残りの部分が動作を継続する間 ランタイムで別の実装で再プログラムされます PR パーティションの各実装は Persona ( ペルソナ ) として知られています スタティック パーティションは 1 つのペルソナしか持たせることはできませんが リコンフィギュレーションが可能なパーティションには複数のペルソナを持たせることが可能です PR パーティションには 以下のいずれかの種類のデザイン エレメントしか含めることができません ロジック ブロック - LUT およびレジスタ RAM DSP PR パーティションへのインタフェースは リコンフィギュレーション可能な領域とスタティック領域間の論理的境界として機能します よって所定の PR パーティションのペルソナはすべて 完全に同じインタフェース ( 入力ポートと出力ポート ) を共有しなければいけません 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

6-2 複数のリビジョンの作成 UG-20010 複数のリビジョンの作成 PR デザインは 複数のリビジョンを持つプロジェクト モデルを使用します リビジョンはいずれも以下の種類に分類されます ベース リビジョン リコンフィギュレーション可能なリビジョン 集合的リビジョン ベース リビジョンは FPGA のベース コンフィギュレーションを定義し デザインのスタティック領域とリコンフィギュレーション可能な領域間の境界を設定します アルテラでは 以降の実装に向けてコンパイラに十分なルーティングが確保されるよう 多量のリソース使用量を持ちリコンフィギュレーションが可能である重要なペルソナをベース リビジョンに含めることを推奨しています リコンフィギュレーション可能なリビジョンはチップ上の 1 つ あるいは複数の PR 領域に対し新しい実装を定義します 複数の PR 領域を持つデザインに対しては 集合的リビジョンが必要となります このリビジョンは 複数のリコンフィギュレーション可能なリビジョンからペルソナを組み合わせることで得られます このリビジョンはスタティックおよびリコンフィギュレーション可能な実行をサインオフ タイミング解析の実行に向けて完全なデザインにアセンブルします PR デザインのフロアプラン 実装するいずれのペルソナに対してもスタティック領域を持つ PR 領域のインタフェースが統一されるよう LogicLock Plus 領域を作成する必要があります PR 領域のペルソナがそれぞれ異なるエリア要件を持つ場合 その領域の最大のペルソナが収まるのに十分なリソースを持つ LogicLock Plus 領域を作成する必要があります プロジェクトのスタティック領域は必ずしもフロアプランは必要ではありませんが 特定のスタティック領域に対してフロアプランを作成することも可能です PR 領域に割り当てる LogicLock Plus 領域のサイズには制限はありませんが Quartus Prime ソフトウェアによって PR 領域のペリフェラルに wire-lut が追加されるため PR 領域の LogicLock Plus 領域は同等の非 PR 領域よりもわずかに大きくする必要があります PR 領域にはパーシャル リコンフィギュレーションが可能なリソースのみが含まれていることを確認してください つまり PR の LogicLock Plus 領域には LAB DSP および RAM ブロックのみ含めることができます PR 領域を複数作成する場合 各 PR 領域の間に少なくともスタティック領域カラムが 1 つ含まれていることを確認してください Arria 10 デバイスでは PR プログラミング ファイルのサイズは PR 領域のカラム数に比例します つまり 広く短い PR 領域を使用することで PR プログラミング ファイルのサイズを小さくすることができます PR デザインのクロックおよびグローバル信号のアサインメント PR では PR パーティションに必要なグローバル クロック リソースをアサインする必要があります クロック リソースは Quartus Prime Assignment Editor でグローバル信号アサインメントを作成するか あるいは設定したいグローバル信号をドライブするクロック コントロール ブロックをデザインに追加することでアサインすることができます Arria 10 における PCI Express 経由の PR のデザイン プランニング

UG-20010 PR パーティションへのフリーズ ロジックの挿入 6-3 PR 領域へのグローバル信号の個数は 33 に制限されていますが これには PR 領域内で使用される GCLK RCLK および PCLK が含まれます グローバル信号への QSF アサインメントはデザインのクロック要件に基づき プロジェクトの Quartus Settings File(.qsf) に作成します PR 領域外に複数のクロックが存在するデザインにおいては PR 領域の境界を (RCLK や PCLK といった ) グローバル クロックの境界にアラインすると有益であることがあります PCLK RCLK GCLK および ACLR などのグローバル信号を使用する PR 領域の各インスタンスは それらの入力にグローバル信号を使用する必要があります PR パーティションへのフリーズ ロジックの挿入 パーシャル リコンフィギュレーションを使用する際 グローバル クロックを除く PR 領域の非グローバル入力をすべてフリーズする必要があります ローカルで接続された信号はグローバル信号とは考慮されないため パーシャル リコンフィギュレーション中もフリーズする必要があります フリーズとは このような PR 領域の入力で 1 をドライブすることを意味します パーシャル リコンフィギュレーション処理を開始する際 チップはユーザー モードとなり デバイスは動作を継続します 図 6-1: PR 領域境界でのフリーズ Hardware-Generated Freeze User PR_in_freeze Data1 Data2 1 PR Region Global Clocks PR 領域の非グローバル入力をすべてフリーズすることで パーシャル リコンフィギュレーション完了後にデザインの予期せぬビヘイビアをもたらす電流値の衝突が避けられます PR 領域へと入る (Global CLK Global ACLR Global RAM ライト / リード イネーブルなどの ) グローバル信号は High でフリーズするべきではありません パーシャル リコンフィギュレーション中は PR 領域の出力はすべて無視するべきです アルテラではパーシャル リコンフィギュレーション中 PR 領域の出力をシステムの残りの部分の動作に影響を与えない既知状態に接続することを推奨しています Arria 10 における PCI Express 経由の PR のデザイン プランニング

Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説 7 UG-20010 更新情報 パーシャル リコンフィギュレーションは Quartus Prime Pro エディション ソフトウェア内のリビジョンの使用に基づきます 設計の最初のプロセスはベース リビジョンであり FPGA 上のスタティック領域とリコンフィギュレーション可能な領域の境界を定義します このベース リビジョンからリビジョンを複数作成しますが このようなリビジョンはスタティック領域を含み リコンフィギュレーション可能領域との違いを説明します Arria 10 デバイスにおいて PCIe 経由の PR デザインは以下のコンパイル フローを使用します 2016. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 登録済 www.altera.com 101 Innovation Drive, San Jose, CA 95134

7-2 Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説 図 7-1: コンパイル フロー UG-20010 Base Revision Setup (Full Device) Base Synthesis Base Place and Route Generate Base SOF/RBF Bitstreams Partial Reconfiguration Synthesis Revision(s) Setup Partial Reconfiguration Synthesis Partial Reconfiguration Fit Revision(s) Setup Quartus Compilation Flow User generating Quartus Setting File (.qsf) for Base Revision, PR Synthesis Revision, and PR Fit Revision Partial Reconfiguration Place and Route (Import Static Netlist) Generate Partial Reconfiguration Bitstreams PR デザイン フローは 標準のデザイン フローと比較してより多くのプランニングが初期段階で必要となります プランニングにはパーティションへのデザイン ロジックの設定とフロアプランを作成するための配置アサインメントが必要です デザイン エリアの使用率とパフォーマンスを改善するには パーティションを十分に考慮する必要があります これにより タイミング収束がより容易となります 注意 : 関連情報 デザイン例の zip ファイルの取得につきましては アルテラまでお問い合わせください 6-1 ページの Arria 10 における PCI Express 経由の PR のデザイン プランニング Getting started with PCI Express Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 Qsys システムの作成 7-3 Qsys システムの作成 1. Tools メニューの Qsys をクリックします 2. Qsys プロジェクトに Arria 10 Hard IP for PCI Express を追加します 3. System Settings で以下の設定を指定します パラメータ Application interface type HIP mode Port type 注意 : コア初期化 Gen3:x8 インタフェース :256 ビット 250 MHz 値 ネイティブ エンドポイント 上記の設定方法は PCIe 経由の PR アプリケーションのみに使用されます PCIe 経由でこれとは別のロジックをドライブするのであれば 状況に応じて PCIe Hard IP コンフィギュレーションを変更することができます 図 7-2: PCI Express 向け Arria 10 ハード IP のシステム設定 4. Avalon-MM Settings で Instantiate internal descriptor controller オプションをオンにします その後 以下のパラメータを指定します パラメータ Avalon-MM address width Address width of accessible PCIe memory space 40 64 ビット 5. Base Address Registers で 以下のパラメータを指定します 値 BAR2 パラメータ 値 64 ビット プリフェッチ可能 Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-4 Qsys システムの作成 注意 : 任意の BAR が使用可能です このデザイン例では BAR2 は PR IP コア内部ホストに接続されています 6. Device Identification Registers PR ドライバ要件の通りに Vendor ID と Device ID がそれぞれ 0x00001172 と 0x00000008 に設定されていることを確認します 7. パーシャル リコンフィギュレーション IP コアを以下の設定で Qsys プロジェクトに追加します Use as PR Internal Host パラメータ Enable JTAG debug mode Enable Avalon-MM slave interface Input data width 16 Clock-to-Data ratio 1 Divide error detection frequency by 1 Auto-instantiate PR block Auto-instantiate CRC block 値 このオプションをオンにします このオプションをオンにします このオプションをオンにします このオプションをオンにします このオプションをオンにします UG-20010 Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 Qsys システムの作成 7-5 図 7-3: パーシャル リコンフィギュレーション IP コアの設定 8. Altera IOPLL を以下の設定で Qsys プロジェクトに追加します 注意 : 設定はデザイン要件によって異なります パラメータ PLL Mode Integer-N PLL Reference Clock Frequency 250.0 Desired Frequency 62.5 Desired Duty Cycle 50.0 値 Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-6 Qsys システムの作成 図 7-4: Altera IO PLL パラメータ UG-20010 9. 次の図で示すように Qsys インタコネクトを完成し IO PLL-Locked および PR-Freeze 信号はトップレベルのデザインでの使用に備えてエクスポートされます Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 ユーザー ロジックとトップレベル ファイルの作成 7-7 図 7-5: Qsys インタコネクト 10.Qsys システムを保存し Generate HDL Synthesis をクリックします 関連情報 Partial Reconfiguration IP Core User Guide PR IP コアおよびそのインスタンス化方法についての詳細情報です Arria 10 Avalon-MM Interface for PCIe Solutions User Guide Altera I/O Phase-Locked Loop(Altera IOPLL)IP Core User Guide ユーザー ロジックとトップレベル ファイルの作成 1. Quartus Prime Pro で Assignments > Settings の順でクリックします 2. Files カテゴリで top.qip freeze_wrapper.v counter.v a10prexample.v a10prexample.sdc をプロジェクトに追加します Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-8 PR パーティションの作成 図 7-6: プロジェクトへのデザイン ファイルの追加 UG-20010 3. Processing > Start > Start Analysis and Synthesis の順でクリックします PR パーティションの作成 1. Project Navigator で freeze_inst を右クリックして Create New Region を選択します 配置配線に向けた境界の作成には Chip Planner を使用することができます 図 7-7: 領域のパラメータ Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 ベース SOF/RBF ビットストリームの生成 7-9 ベース SOF/RBF ビットストリームの生成 1. 以下のコードをベース QSF ファイルに追加します ( この例では pr_inst と呼ばれるシングル PR インスタンスがフリーズと呼ばれるフリーズ ラッパー内に位置する仮定しています ) # プロジェクトに対しトップレベル デザイン エンディディを設定する set_global_assignment -name TOP_LEVEL_ENTITY project_top # root_partition 名は スタティック パーティションを後続のコンパイルにインポートすることを可能とします set_instance_assignment -name PARTITION root_partition -to # freeze pr インスタンスを PR パーティションとして認識します persona1 という名称には特別な意味はありません set_instance_assignment -name PARTITION persona1 -to "freeze pr" set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to "freeze pr" # ASM を比較する場合 現行バージョンの名称と一致させる必要があります set_global_assignment -name BASE_REVISION "base" # 排他的 LogicLock Plus 領域内に PR ロジックを配置します デザインによって座標は異なる場合があります set_instance_assignment -name RESERVE_PLACE_REGION ON -to "freeze pr" set_instance_assignment -name PLACE_REGION "125 140 144 159" -to "freeze pr" # オプション : 上で定義された配置領域にルーティング LogicLock Plus 領域を作成します この領域は配置領域を完全に囲む必要があります set_instance_assignment -name ROUTE_REGION "125 140 144 159" -to "freeze pr" # オプション set_global_assignment -name PROJECT_OUTPUT_DIRECTORY <correct directory> set_global_assignment name ENABLE_PR_PINS ON 2. freeze pr が排他的配置領域内に配置されていることを確認します すべての PR パーティションはオーバーラップしないルーティング領域内に収める必要があります 3. デザインをコンパイルしてベース イメージを作成します Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-10 PR リビジョンの作成 UG-20010 PR リビジョンの作成 1. 別のエンティティを指し示す合成リビジョンを作成します 例 :p2_synth.qsf # プリアンブル set_global_assignment -name FAMILY "Arria 10" set_global_assignment -name DEVICE <the correct device> # 新しいエンティティを指定します set_global_assignment -name TOP_LEVEL_ENTITY <filename> set_global_assignment -name VERILOG_FILE <*.v file> # ディスク上で結果を参照するための名称を指定します set_instance_assignment -name PARTITION root_partition-to 2. quartus_syn を実行します 3. fit リビジョンを作成します 例 :p2_fit.qsf # 最終的な スタティック パーティションのスナップショットをデザインにインポートします set_instance_assignment -name IMPORT_BLOCK "/base/root_partition/final" to " " # persona2_synth ブロックの合成されたネットリストを p2_synth リビジョンにインポートします set_instance_assignment -name IMPORT_BLOCK "p2_synth/root_partition/synthesized" to "freeze pr" # オプション set_global_assignment -name FAMILY "Arria 10" set_global_assignment -name DEVICE <the correct device> set_global_assignment -name TOP_LEVEL_ENTITY <As specified in base.qsf> set_global_assignment -name BASE_REVISION "base" set_global_assignment -name PROJECT_OUTPUT_DIRECTORY <correct directory> set_global_assignment -name ENABLE_PR_PINS ON 4. quartus_fit を実行します Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 PR ビットストリームの生成 7-11 注意 : 設定に一貫性を持たせるには すべてのグローバル アサインメントをベース リビジョンから PR リビジョンに手動でコピーする必要があります PR ビットストリームの生成 デザインを基に PR ビットストリームを生成し パーシャル リコンフィギュレーションに向けてそれらをコントロール ブロックへ送信する必要があります ビットストリームは通常.mif と.rbf の 2 種類のフォーマットで作成されます mif フォーマットはビットストリームが FPGA 内に保存される場合に使用され rbf フォーマットはビットストリームが外部に保存される場合に使用されます PCIe 経由で PR を実行する際.rbf ファイルのファイル フォーマットが使用されます PR ビットストリームを生成する前に ベース リビジョンと少なくとも 1 つのリコンフィギュレーション可能なリビジョンを含む PR プロジェクトをコンパイルします Quartus Prime Programmer は PR ビットストリームを生成します この生成されたビットストリームは パーシャル リコンフィギュレーションに向けてコントロール ブロックの PR ポートに送信することができます 2 つのリビジョンと 1 つの PR リビジョン つまり persona a を持つベース リビジョンと persona b を持つ 1 つの PR リビジョンを含んでいるパーシャル リコンフィギュレーション デザインを考慮します こうした個々のリビジョンが Quartus Prime ソフトウェアにコンパイルされると アセンブラはそれぞれのリビジョンに対して Masked SRAM Object File(.msf) と SRAM Object File(.sof) を生成します.sof ファイルは ( 非 PR デザインに対し ) 従来通り作成されます これとは別に.msf ファイルがパーシャル リコンフィギュレーションに向けて各リビジョンに対し作成されます 図 7-8: 2 つのリビジョンを持つ PR プロジェクト Base Revision with Persona a pr_region.msf static.msf base.sof Partial Reconfiguration Design Revision b b.sof b.msf pr_region.msf ファイルは PR ビットストリームの生成に影響を持つファイルのひとつです このファイルには PR 領域へのマスク ビットが含まれます 同様に static.msf ファイルはスタティック領域へのマスク ビットが含まれます.sof ファイルにはスタティック領域および対応する PR 領域ののコンフィギュレーション方法に関する情報が含まれます PR 領域に対しビットストリームが計算されるよう pr_region.msf ファイルはスタティック領域をマスク アウトします デフォルトのファイル名である pr_region.msf は アルファベットでない限り LogicLock Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-12 PR ビットストリームの生成 Plus 領域の名称に対応します 領域名がアルファベットでない場合.msf ファイルはその領域の左下の座標の位置にちなんだ名称となります 注意 : アルテラでは 生成されるデザインとファイルのドキュメントを向上させるためにすべての LogicLock Plus 領域に名前を付けることを推奨しています ファイルは Convert Programming Files 画面で変換するか あるいは pr_region.msf ファイルと.sof ファイルが Partial-Masked SRAM Object File(.pmsf) ファイルを生成するように処理する quartus_cpf p コマンドを実行することも可能です.msf ファイルは PR ビットストリームの計算中にそれぞれの.sof ファイルの PR 領域をマスクします 図 7-9: Partial-Masked SRAM Object File(.pmsf) の生成 UG-20010 pr_region.msf b_pr_region.msf + a.pmsf + b.pmsf base.sof b.sof Partial-Masked SRAM Object File(.pmsf) を生成するには 以下の手順を実行してください 1. Files > Convert Programming Files の順でクリックします 2. Output programming file で Programming file type に Partial-Masked SRAM Object Files (.pmsf) を選択します 3. 出力ファイル名を指定します 4..sof ファイルと.msf ファイルを追加して両方のリビジョンに対し別々の.pmsf ファイルを作成します ( 単一の.msf ファイルと.sof ファイルのみ許容されます ) Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

UG-20010 PR ビットストリームの生成 7-13 図 7-10: Convert Programming File 画面 5. Generate をクリックして.pmsf ファイルを生成します.pmsf ファイルがすべて生成されたら quartus_cpf -o コマンドを実行するか あるいはリコンフィギュレーションへのロー バイナリ.rbf ファイルを生成する Convert Programming File を使用して PR ビットストリームを処理します この図は ペルソナ a とペルソナ b を持つ領域を要求通りにパーシャル リコンフィギュレーションすることが可能なビットストリームの作成方法を示しています 図 7-11: PR ビットストリームの生成 a.pmsf a.rbf b.pmsf b.rbf Raw Binary File(.rbf) を生成するには 以下の手順を実行してください Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説

7-14 PR ビットストリームの生成 1. Files > Convert Programming Files. の順でクリックします 2. Output programming file で Programming file type に Raw Binary File for Partial Reconfiguration (rbf) を選択します 3. 出力ファイル名を指定します 4..pmsf ファイルを追加して両方のリビジョンに対し別々の.rbf ファイルを作成します ( 単一の.pmsf ファイルのみ許容されます ) 図 7-12: Convert Programming File 画面 UG-20010 5. 新しい.pmsf を選択し Properties をクリックしてデザイン要件に応じて Compression と Generate encrypted bitstream オプションのオン / オフを選択します Compression:PR ビットストリームで圧縮をイネーブルします Generate encrypted bitstream: このオプションをイネーブルする場合 Encrypted Key を指定する必要があります Arria 10 における PCI Express を経由した PR のデザイン プロセスの解説