Upload
buiduong
View
243
Download
0
Embed Size (px)
Citation preview
Partial Reconfiguration Controller v1.0
LogiCORE IP 製品ガイド
Vivado Design Suite
PG193 2015 年 11 月 18 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 2PG193 2015 年 11 月 18 日
目次
IP の概要
第 1 章 : 概要機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
サポート されていない機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ラ イセンスおよび注文情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
第 2 章 : 製品仕様概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
パフォーマンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
リ ソース使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
レジスタ空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
第 3 章 : コアを使用するデザイン一般的なデザイン ガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
ク ロ ッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
リセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
仮想ソケッ ト マネージャー制御インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
プロ ト コルの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
第 4 章 : デザイン フローの手順コアのカスタマイズおよび生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
コアへの制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
シ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
合成およびインプリ メンテーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
インプリ メンテーシ ョ ン後のコア カスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
パーシャル ビッ ト ス ト リームの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
付録 A : 移行およびアップグレードVivado Design Suite への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Vivado Design Suite でのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
付録 B : デバッグザイ リ ンクス ウェブサイ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
デバッグ ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
ハードウェア デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
付録 C : その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Partial Reconfiguration Controller v1.0 japan.xilinx.com 3PG193 2015 年 11 月 18 日 Production 製品仕様
はじめにザイ リ ン ク スの Partial Reconfiguration Controller コアは、 PR(Partially Reconfigurable) デザインを自己制御するための管理機能を提供します。 これは、すべてのリ コンフ ィギャブル モジュールがコン ト ローラーで制御されるエンク ローズ システム向けです。 オプシ ョ ンの AXI4-Lite レジス タ インターフェイスを使用するこ とで動作中にコアを再設定できるよ うになるため、 デザインをフ ィールドに展開後に リ コンフ ィギャブル モジュールを変更する可能性のあるシステムでも使用可能です。
このコアは、 複数の仮想ソケッ ト、 仮想ソケッ ト内のリ コンフ ィギャブル モジュール、動作、およびインターフェイスをカスタマイズ可能です。
機能• 最大 32 個の仮想ソケッ ト
• 各仮想ソケッ トに最大 128 個のリ コンフ ィギャブル モジュール
• 各仮想ソケッ トに最大 512 のリマップ可能なソフ ト ウェアおよびハードウェア ト リ ガー
• オプシ ョ ンのリ コンフ ィギャブル モジュールのハードウェアおよびソフ ト ウェア シャ ッ ト ダウン ( リ コンフ ィギャブル モジュールごとに設定可能)
• オプシ ョ ンのリ コンフ ィギャブル モジュールのソフ トウェア スター ト アップ ( リ コンフ ィ ギャブル モジュールごとに設定可能)
• オプシ ョ ンのリ コンフ ィギャブル モジュールのロード後の リセッ ト ( リ コンフ ィギャブル モジュールごとに設定可能)
• 仮想ソケッ ト マネージャーはユーザーがシャッ トダウンおよび再開できるため、 外部のコン ト ローラーによるデバイスのパーシャル リ コンフ ィギュレーシ ョ ンが可能
• 仮想ソケッ ト マネージャー出力信号のユーザー制御は、シャ ッ ト ダウン ステートでサポート
• すべてのト リガー情報およびリ コンフ ィギャブル モジュール情報は、AXI4-Lite インターフェイスを使用して変更できるため、インフ ィールド アップグレードが可能
• オプシ ョ ンの制御およびステータス用 AXI4-Lite インターフェイス
• オプシ ョ ンの AXI4-Stream ステータス インターフェイス (各仮想ソケッ ト ごと )
• オプシ ョ ンの AXI4-Stream 制御インターフェイス (各仮想ソケッ ト ごと )
IP の概要
この LogiCORE™ IP について
コアの概要
サポート される
デバイ ス フ ァ ミ リ(1)
UltraScale+™ ファ ミ リ
UltraScale™ アーキテクチャ、 Virtex®-7、Kintex®-7、 Artix®-7、 Zynq®-7000
サ ポ ー ト さ れ る
ユーザー イン ター
フェイス
AXI4-Lite、 AXI4-Stream
リ ソース Performance and Resource Utilization
(ウェブ ページ)
コアに含まれるもの
デザイン ファイル 暗号化済み RTL
サンプル デザイン なし
テス トベンチ なし
制約ファイル XDC
シ ミ ュ レーシ ョ ン
モデルソース HDL
サポート される ソフ ト ウェア ド ラ イバー (2)
N/A
テスト済みデザイン フロー (3)
デザイン入力 Vivado® Design Suite
シ ミ ュレーシ ョ ン
サポート されるシ ミ ュレータについては、
『Vivado Design Suite ユーザー ガイ ド :リ リース ノート ガイ ド、 インス トール
およびライセンス』 を参照。
合成 Vivado 合成
サポート
ザイ リ ンクス サポート ウェブ ページで提供
注記 :1. サポート されているデバイスの一覧は、 Vivado IP カタログを
参照してください。
2. スタンドアロン ド ライバーの詳細は、 SDK ディ レク ト リ
(<install_directory>/doc/usenglish/xilinx_drivers.htm) を参照し て
ください。 Linux OS およびド ライバー サポートの情報は、 Xilinx Wiki ページを参照して ください。
3. サポート されているツールのバージ ョ ンは、
『Vivado Design Suite ユーザー ガイ ド : リ リース ノート ガイ ド、
インス トールおよびライセンス』 を参照してください。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 4PG193 2015 年 11 月 18 日
第 1 章
概要Partial Reconfiguration Controller コアには、 1 つまたは複数の仮想ソケッ ト マネージャー (Virtual Socket Manager) があり、 これらは 1 つのフェッチ パスへ接続されます。 仮想ソケッ ト (Virtual Socket) (図 1-1) とは、 RP ( リ コンフ ィギャブル パーティシ ョ ン) と、 RP のパーシャル リ コンフ ィギュレーシ ョ ンをアシス トするスタティ ッ ク ロジッ ク内のロジッ クを指します。 たとえば、 このロジッ クを使用するこ とで、 リ コンフ ィギュレーシ ョ ンが実行されている間にリコンフ ィギャブル モジュールとスタティ ッ ク デザインを完全に分離させるこ とができ、 また、 リ コンフ ィギャブルモジュールが確実に安全なステートになってから これを削除できます。仮想ソケッ トが リ コンフ ィギャブル パーティシ ョ ンに相当する場合、 このロジッ クは必要あ り ません。
フェ ッチ パスは、 外部のコンフ ィギュレーシ ョ ン ラ イブラ リからビッ ト ス ト リームをフェ ッチして、 それらを内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) へ転送します。パーシャル ビッ ト ス ト リームは、コンフ ィギュレーシ ョ ン ライブラ リに格納されます。
X-Ref Target - Figure 1-1
図 1-1 : 仮想ソケッ ト
Partial Reconfiguration Controller v1.0 japan.xilinx.com 5PG193 2015 年 11 月 18 日
第 1 章 : 概要
すべての仮想ソケッ ト マネージャーは、 同時に動作して ト リガー イベン トの発生を監視します。 ト リ ガーはハードウェア ベース (信号) またはソフ ト ウェア ベース (レジスタ書き込み) のどちら もあ りえます。 ある仮想ソケッ ト マネージャーが ト リガーを検出する と、 その仮想ソケッ ト マネージャーはリ コンフ ィギャブル モジュールに ト リガーをマップして、 そのリ コンフ ィギャブル モジュールのリ コンフ ィギュレーシ ョ ンを実行します。
各仮想ソケッ ト マネージャーの動作は独立しているため、 ある仮想ソケッ ト マネージャーがリ コンフ ィギャブル モジュールをロード している間でも、 別の仮想ソケッ ト マネージャーは ト リ ガー処理を開始できます。 仮想ソケッ トマネージャーがフェ ッチ パスへアクセスするには待ち行列に入る必要があ り ますが、 各モジュールの実際のリ コンフ ィギュレーシ ョ ンは連続して実行されます。
仮想ソケッ ト マネージャーは、 次のステートのいずれかになり ます。
• アクティブ ステート : 仮想ソケッ ト マネージャーは、 対応する仮想ソケッ ト を制御します。 ト リ ガーに反応して、 リ コンフ ィギャブル モジュールをロード します。
• シャ ッ ト ダウン ステート : 仮想ソケッ ト マネージャーは、別のモジュールが対応する仮想ソケッ ト を制御しています。 ト リガーに反応せず、 リ コンフ ィギャブル モジュールをロード しません。
これらのステートについては、 「動作ステート 」 で詳し く説明します。
各仮想ソケッ ト マネージャーはオプシ ョ ンで、固有の AXI4-Stream ステータス チャネルと制御チャネルをそれぞれ備えるこ とができ、 さ らに 1 つの AXI4-Lite レジスタ インターフェイスを共有できます。 これらのインターフェイスは動作に必須ではないため、 Partial Reconfiguration Controller がシステム内で完全に独立している場合は省略できます。
X-Ref Target - Figure 1-2
図 1-2 : アーキテクチャのブロック図
Partial Reconfiguration Controller v1.0 japan.xilinx.com 6PG193 2015 年 11 月 18 日
第 1 章 : 概要
機能概要
仮想ソケッ ト と リコンフ ィギャブル モジュール
Partial Reconfiguration Controller では、 最大 32 個の仮想ソケッ ト をサポート しています。
各仮想ソケッ ト には最大 128 個の リ コンフ ィギャブル モジュールを含める こ とができ、 各リ コンフ ィギャブル モジュールは 1 つのパーシャル ビッ ト ス ト リーム (1)で定義されます。各仮想ソケッ トには、異なる数のリ コンフ ィギャブル モジュールを含めるこ とができます。 たとえば、 Virtual Socket 0 には 32 個のリ コンフ ィギャブル モジュールを含めて、 Virtual Socket 1 には 2 個しか含めないこ と もできます。
リマップ可能なソフ トウェアとハードウェアのト リガー
リ コンフ ィギャブル モジュールは、 ト リ ガーに反応して仮想ソケッ トにロード されます。各仮想ソケッ トには、ハード ウェア ベースのト リガーと ソフ ト ウェア ベースの ト リガーが可能です。1 つの仮想ソケッ ト あた りの ト リガー数はユーザーが指定できます。 また、 特定ト リガーから特定リ コンフ ィギャブル モジュールへのマッピングは、 コア コンフ ィギュレーシ ョ ン中に指定可能ですが、 AXI4-Lite インターフェイスが有効の場合には動作中に指定するこ と も可能です。 リ コンフ ィギャブル モジュール数よ り多くの ト リガー数を有効にできるため、フ ィールドでのリ コンフ ィギャブルモジュールの追加や、 パーシャル リ コンフ ィギュレーシ ョ ンの分散制御が可能になり ます。 詳細は、 「ハード ウェア ト リ ガー」 および 「SW_TRIGGER レジスタ」 を参照して ください。
リコンフ ィギャブル モジュールの管理
リ コンフ ィギャブル モジュールのロードは、パーシャル ビッ ト ス ト リームを ICAP へ転送するよ うに、常にシンプルとは限り ません。 次のよ うな場合があ り ます。
• システムの問題を回避するために、 既存のリ コンフ ィギャブル モジュールの動作を停止させる必要がある。
• リ コンフ ィギュレーシ ョ ン インターバル中、 スタティ ッ ク ロジッ クを仮想ソケッ トからの信号値から保護する必要がある。
• 新しいリ コンフ ィギャブル モジュールをシステムに統合して、 リセッ ト を実行する必要がある。
Partial Reconfiguration Controller は、 これらのタスクをすべてサポート し、 リ コンフ ィギャブル モジュールごとに設定できます。
その他の Partial Reconfiguration Controller との共存
いずれかのコンフ ィギュレーシ ョ ン ポート (Zynq®-7000 AP SoC デバイスの場合は SelectMap、 Serial、 JTAG、 ICAP、および PCAP など) にパーシャル ビッ ト ス ト リームがロード される と、パーシャル リ コンフ ィギュレーシ ョ ンが開始します。
重要 : 同時に使用するインターフェイスは 1 つのみと し、 複数のコン ト ローラーが同時に同じ仮想ソケッ ト を制御しないよ うにします。
これらに対応するため、 Partial Reconfiguration Controller IP コアは 2 つのメカニズムを提供します。
1. ターゲッ ト デバイスが UltraScale デバイスの場合、各リ コンフ ィギャブル モジュールにはク リ ア リ ング ビッ ト ス ト リームも必要
です。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 7PG193 2015 年 11 月 18 日
第 1 章 : 概要
1. シンプルなアービ ト レーシ ョ ン プロ ト コルを使用して、 コンフ ィギュレーシ ョ ン ポートへのアクセスを制御します。 ユーザーがシステムに最適なアービタ回路が必要です。 アービ ト レーシ ョ ンが不要な場合には、 アービ トレーシ ョ ン信号を固定値に接続できます。 詳細は、 「ICAP の共有プロ ト コル」 を参照してください。
2. 仮想ソケッ トの制御を停止するために、 各仮想ソケッ ト マネージャーをシャ ッ ト ダウン ステートに遷移させるこ とが可能です。 これによって、 その他のコン ト ローラーがその仮想ソケッ ト を排他的制御できるよ うになり ます。 詳細は、 「シャ ッ ト ダウン ステート 」 を参照してください。
仮想ソケッ ト マネージャー出力のユーザー制御
仮想ソケッ ト マネージャーがシャッ ト ダウン ステートに遷移した場合、 リ コンフ ィギャブル モジュールの管理に使用される信号は、 AXI4-Lite インターフェイスおよび AXI4-Stream 制御インターフェイスを介してすべて制御可能です。 これによ り、 ソフ ト ウェア、 または別のハード ウェア コンポーネン トが既存のリ コンフ ィギャブル モジュールの動作を停止し、 リ コンフ ィギュレーシ ョ ン インターバルでのスタティ ッ ク ロジッ クを保護し、 新しいリ コンフ ィギャブル モジュールを統合およびリセッ トできるよ うにな り ます。
制御、 ステータス、 および再プログラム用の AXI4-Lite インターフェイス
複数の仮想ソ ケ ッ ト マネージ ャー用に完全準拠の単一の AXI4-Lite イ ン ターフ ェ イ ス を備え る よ う に PartialReconfiguration Controller を設定できます。 このインターフェイスは、 次の目的で使用可能です。
• 各仮想ソケッ ト マネージャーのステータス情報へアクセスする。
• 各仮想ソケッ ト マネージャーへコマンドを送る。
• 各仮想ソケッ ト マネージャーの ト リガーおよびリ コンフ ィギャブル モジュールの情報を再プログラムする。
詳細は、 「レジスタ空間」 を参照してください。
ステータスおよび制御用の AXI4-Stream チャネル
各仮想ソ ケ ッ ト マネージ ャー用に完全準拠し た AXI4-Stream イ ン ターフ ェ イ ス (複数) を備える よ う に PartialReconfiguration Controller を設定できます。 これらのインターフェイスは、 次の目的で使用可能です。
• 各仮想ソケッ ト マネージャーのステータス情報へアクセスする。
• 各仮想ソケッ ト マネージャーへコマンドを送る。
詳細は、 「STATUS レジスタ」 および 「CONTROL レジスタ」 を参照して ください。
これらのチャネルは、 各仮想ソケッ ト マネージャーに対して個別に設定できます。 たとえば、 Partial ReconfigurationController のインスタンス内にある仮想ソケッ ト マネージャーを次のよ うに設定できます。
表 1-1 : パーシャル リコンフ ィギュレーシ ョ ン コン ト ローラーの設定例
仮想ソケッ ト マネージャー ステータス チャネル 制御チャネル
0 No No
1 No Yes
2 Yes No
3 Yes Yes
Partial Reconfiguration Controller v1.0 japan.xilinx.com 8PG193 2015 年 11 月 18 日
第 1 章 : 概要
あらゆるビッ トス ト リーム スト レージ ロケーシ ョ ンに対応
Partial Reconfiguration Controller コアは、AXI4 バスからビッ ト ス ト リーム データをフェッチするため、特定のス ト レージ デバイス と直接接続されていません。 したがって、 適合する AXI4 インターフェイスが利用可能である限り、 いかなる場所に格納されていてもコン ト ローラーはビッ ト ス ト リームへアクセスできます。Vivado® IP カタログには、AXIExternal Memory Controller (axi_emc) や Memory Interface Generator (MIG) などの IP ブロ ッ クがいくつかあ り ます。
サポート されていない機能Partial Reconfiguration Controller は、 Vivado set_property コマンドを使用して設定できません。 その代わり と して、このコアにはカスタムの set_property コマンドがあ り ます。 詳細は、 「Tcl ユーザー パラ メーターの設定」 を参照してください。
ライセンスおよび注文情報
重要 : Vivado Design Suite におけるパーシャル リ コンフ ィギュレーシ ョ ン フローの実行にはライセンスが必要です。価格および注文情報については、 最寄りの販売代理店へお問い合わせください [参照 9]。
IP ライセンスの種類
このザイ リ ンクス LogiCORE™ IP モジュールは、 ザイ リ ンクス エンドユーザー ライセンス規約のも とザイ リ ンクスVivado Design Suite を使用して追加コス ト なしで提供されています。 この IP およびその他のザイ リ ンクス LogiCOREIP に関する情報は、 ザイ リ ンクス IP コア ページから入手できます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 9PG193 2015 年 11 月 18 日
第 2 章
製品仕様
概要
動作ステート
各仮想ソケッ ト マネージャーには、 2 つのステートがあ り ます。
• 「アクティブ ステート 」
• 「シャ ッ ト ダウン ステート 」
リ セッ ト後に各仮想ソケッ ト マネージャーが開始するステート を設定でき、 コマン ド を使用して仮想ソケッ ト マネージャーのステート遷移を制御できます。 また、エラーが発生した場合、仮想ソケッ ト マネージャーはシャッ ト ダウン ステートへ遷移します (このステートへ遷移しないよ うに設定した場合を除く )。
アクテ ィブ ステート
アクティブ ステートは、 各仮想ソケッ ト マネージャーの主なステートであ り、 パーシャル リ コンフ ィギュレーシ ョン マネージャーが使用されている状態です。各仮想ソケッ ト マネージャーは、図 2-1 に示す基本ステップにしたがって動作します。 点線で囲まれたステップはオプシ ョ ンです。
X-Ref Target - Figure 2-1
図 2-1 : アクテ ィブ ステートにおける仮想ソケッ ト マネージャーの基本ステップ
Partial Reconfiguration Controller v1.0 japan.xilinx.com 10PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
仮想ソケッ ト マネージャーは、 ト リ ガーの発生を監視するこ とから始めます。 ト リ ガーを確認後、 仮想ソケッ ト マネージャーは仮想ソケッ ト内にあるすべてのリ コンフ ィギャブル モジュールをシャ ッ ト ダウンします。このシャ ッ トダウン シーケンスは、各リ コンフ ィギャブル モジュールごとに設定できます。有効なオプシ ョ ンは次のとおりです。
• [No shutdown is required]
• [Hardware-only shutdown is required] 仮想ソケッ ト マネージャーは、 リ コンフ ィギャブル モジュールに対して削除される旨を通知し、 リ コンフ ィギャブル モジュールからの許可信号を待機します。 このオプシ ョ ンは、 リ コンフ ィギャブル モジュールが任意で削除される と、 デッ ド ロ ッ クやその他のシステム エラーを招く可能性がある場合に使用されます
• [Shutdown of hardware and then software is required] 仮想ソケッ ト マネージャーは、 上記のよ うにハード ウェアのシャ ッ ト ダウンを実行し、ソフ ト ウェアにはリ コンフ ィギャブル モジュールの削除を通知する割り込みを生成します。 その後、 ソフ ト ウェアからの許可信号を待機します。 このオプシ ョ ンは、 ソフ ト ウェアがド ライバーをアンロードする必要がある場合、 またはその他のシステム変更を行う必要がある場合に使用されます。
• [Shutdown of software and then hardware is required] 上記と同じですが、 ソフ ト ウェアのシャ ッ ト ダウンを先に実行します。
ハード ウェアのシャ ッ ト ダウン プロ ト コルは次のとおりです。
• 仮想ソケッ ト マネージャーが信号 (vsm_<name>_rm_shutdown_req) を High にアサート し、 リ コンフ ィギャブル モジュールの削除が許可されるまで High が維持されます。
• リ コンフ ィギャブル モジュールの削除が実行可能になる と、 vsm_<name>_rm_shutdown_ack 信号が High にアサート され、 リ コンフ ィギャブル モジュールが削除されるまで High が維持されます。
ソフ ト ウェアのシャ ッ ト ダウン プロ ト コルは次のとおりです。
• 仮想ソケッ ト マネージャーが vsm_<name>_sw_shutdown_req を High にアサート し、 Proceed コマンドを受信するまで High を維持します。 このコマンドの詳細は、 「Proceed コマンド」 を参照してください。
これらの詳細は、 「 リ コンフ ィギャブル モジュールのハード ウェア/ソフ ト ウェア シャ ッ ト ダウン」 を参照して ください。
特定のリ コンフ ィギャブル モジュールでソフ ト ウェアのシャ ッ ト ダウンのみ必要な場合は、そのリ コンフ ィギャブルモジュールの vsm_<name>_rm_shutdown_ack 信号を 1 にハード接続してください。
すべての既存の リ コンフ ィ ギャブル モジュールのシャ ッ ト ダウンが完了する と、 仮想ソケ ッ ト マネージャーはvsm_<name>_rm_decouple を High にアサート して ト リガーの処理を開始します (1)。vsm_<name>_rm_decouple信号は、 リ コンフ ィギャブル モジュールのロードが完了するまで High を維持し、 リ コンフ ィギュレーシ ョ ン実行中に仮想ソケッ ト をスタティ ッ ク ロジッ クから分離するために必要となるデカップリ ング ロジッ クで使用されます。 このデカップ リ ング ロジッ クはデザインに固有であ り、 Partial Reconfiguration Controller コアに付属しません。
その後、 仮想ソケッ ト マネージャーはフェッチ パスへのアクセス権を要求します(2)。 フェ ッチ パスへのアクセスが許可される と、 フェ ッチ パスを設定して新しいリ コンフ ィギャブル モジュール用の正しいビッ ト ス ト リームをロード します。 ロードが完了する と、 仮想ソケッ ト マネージャーは新しいリ コンフ ィギャブル モジュールの動作を開始します。 この場合、 2 つの段階があ り、いずれもオプシ ョ ンで、 リ コンフ ィギャブル モジュールごとに設定できます。
1. UltraScale デバイスをターゲッ ト と している場合は、 ト リガーが処理される前に現在のリ コンフ ィギャブル モジュール用のク リ
ア リ ング ビッ ト ス ト リームがロード されます。 リ コンフ ィギャブル モジュールがシャ ッ ト ダウン後、 ク リ ア リ ング ビッ ト ス ト
リームがロード される前に vsm_<name>_rm_decouple が High にアサート されます。
2. ターゲッ ト デバイスが UltraScale デバイスの場合は、 ク リ ア リ ング ビッ ト ス ト リームをロードするために、仮想ソケッ ト マネー
ジャーが既にフェ ッチ パスへのアクセス権を要求しています。 新しい リ コンフ ィギャブル モジュールをロードするパーシャル
ビッ ト ス ト リームのロードが必要な場合は、2 回目の要求が必要です。別の仮想ソケッ ト マネージャーが対応するビッ ト ス ト リー
ムをロード している間フェッチ パスを使用している場合があ り ます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 11PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
• [Software startup] : このオプシ ョ ンが有効の場合、仮想ソケッ ト マネージャーは割り込みを生成して、 リ コンフ ィギャブル モジュールがロードを完了している こ とをソフ ト ウェアに通知し (デカップ リ ングが実行されている場合、 この時点でまだリ コンフ ィギャブル モジュールがデカップルされていて動作しない可能性がある )、 ソフト ウェアからの応答信号を待機します。 このオプシ ョ ンは、 ソフ ト ウェアがド ライバーをロードする必要がある場合、 またはその他のシステム変更を行う必要がある場合に使用されます。 詳細は、 「 リ コンフ ィギャブル モジュールのソフ ト ウェア スタート アップ」 を参照してください。
• [Reconfigurable Module Reset] : このオプシ ョ ンが有効の場合、 仮想ソケッ ト マネージャーはリ コンフ ィギャブルモジュールのリセッ ト信号を、 指定したレベルで、 指定したク ロ ッ ク サイクル間アサート します。
仮想ソ ケ ッ ト マネージ ャーは、 リ コ ンフ ィ ギ ャブル モジ ュールが リ セ ッ ト ステー ト に遷移する際にvsm_<name>_rm_decouple 信号をディアサート します。
この段階で、 仮想ソケッ ト マネージャーは新しい ト リガーの検出を開始します。
シャッ トダウン ステート
シャ ッ ト ダウン ステートの場合、 仮想ソケッ ト マネージャーはト リガーに反応せず、 リ コンフ ィギャブル モジュールをロード しません。 仮想ソケッ ト マネージャーのシャッ ト ダウンが必要になる理由はいくつかあ り ます。
• リ コンフ ィギャブル モジュールのロード時にエラーが発生した場合。この場合、シャ ッ ト ダウンしないよ うに設定されていない限り、 仮想ソケッ ト マネージャーはシャッ ト ダウンを実行します。
• Vivado® Design Suite Hardware Debugger や PCIe などその他の機能が仮想ソケッ トへビッ ト ス ト リームをロードする必要がある場合。
• ト リ ガーやリ コンフ ィギャブル モジュールを変更するために仮想ソケッ ト マネージャーを再プログラムする必要がある場合。
シャ ッ ト ダウン ステートへの遷移は、仮想ソケッ ト マネージャーの CONTROL レジスタに SHUTDOWN コマンドを送るこ とで実行できます。このコマンドはキャンセルできません。詳細は、「Shutdown コマンド」を参照してください。
シャッ トダウン ステートから遷移
シャ ッ ト ダウン ステートから遷移する際に使用できるコマンドは 2 つあ り ます。
• Restart with no Status : このコマンドは、 仮想ソケッ ト を変更せずにシャッ ト ダウンから遷移する場合に使用します。仮想ソケッ ト マネージャーは、シャ ッ ト ダウン前の情報を使用して動作を再開します。詳細は、「Restart withno Status コマンド」 を参照してください。
• Restart with Status : このコマンドは、 仮想ソケッ ト を変更した後にシャッ ト ダウンから遷移する場合に使用します。 具体的には、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートで、 リ コンフ ィギャブル モジュールが仮想ソケッ トにロード されている場合にこのコマンドを使用する必要があ り ます。 仮想ソケッ ト マネージャーは、 コマンドの一部と してユーザーが提供した情報を使用して動作を再開します。詳細は、「Restart with Status コマンド」 を参照してください。
仮想ソケッ ト マネージャー出力のユーザー制御
仮想ソケッ トがシャ ッ ト ダウン ステートの場合には、 ユーザー制御コマンドを使用して次の信号を制御できます。
• vsm_<name>_rm_shutdown_req
• vsm_<name>_rm_decouple
• vsm_<name>_rm_reset
• vsm_<name>_sw_shutdown_req
• vsm_<name>_sw_startup_req
この機能によって、仮想ソケッ トの リ コンフ ィギュレーシ ョ ンを制御できる と同時に、ハード ウェア/ソフ ト ウェアのシャ ッ ト ダウン、 デカップ リ ング、 ソフ ト ウェア スタート アップ、 リ コンフ ィギャブル モジュールのリセッ ト も制
Partial Reconfiguration Controller v1.0 japan.xilinx.com 12PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
御できます。 vsm_<name>_rm_shutdown_ack 信号のステータスは、 AXI4-Lite または AXI4-Stream ステータスチャネル インターフェ イ スを使用して、 STATUS レジス タから取得できます。 「ユーザー制御コマン ド」 および「STATUS レジスタ」 を参照して ください。
エラー処理
Partial Reconfiguration Controller では、 次のエラー タイプを検出して処理します。
• フェッチ エラー : これらのエラーは、 ビッ ト ス ト リームがコンフ ィギュレーシ ョ ン ライブラ リ インターフェイスから読み出される と きにフェ ッチ パスで生じます。 コンフ ィギュレーシ ョ ン ラ イブラ リに接続されたメモ リマップ方式の AXI4 バスが AXI 応答エラーを返した場合に、 このエラー タイプが生じます。
• ビッ ト ス ト リーム エラー : これらのエラーは、 FPGA コンフ ィギュレーシ ョ ン インターフェイス内で生じ、 通常、 ビッ ト ス ト リームが破損しているこ とを示します。
• 不正コンフ ィギュレーシ ョ ン エラー : これらのエラーは、ビッ ト ス ト リームが 0 バイ ト長と して設定されている場合に生じます。 フェッチ パスが 0 バイ ト ス ト リームの要求を検出して拒否します。
• 損失エラー : 損失エラーは、 コアが ICAP へパーシャル ビッ ト ス ト リームを送信している と きに、 優先順位の高いいずれかのコンフ ィギュレーシ ョ ン ポート (MCAP または JTAG など) を使用して FPGA へパーシャル ビッ トス ト リームが送信される場合に生じます。 これらのエラーは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ検出できます。
フェ ッチ エラー、 ビッ ト ス ト リーム エラー、 または損失エラーが生じた場合、 Partial Reconfiguration Controller は次のよ うに対応します。
• フェッチ パスはビッ ト ス ト リームのフェッチを継続し、 データ パスの整合性を維持します。
• ICAP インターフェイスはフェッチ パスを空にするためにデータの使用を継続しますが、ICAP へこれ以上のデータは送信されません。
• エラーの種類がフェッチ エラーで、ビッ ト ス ト リームの最初のワードでエラーが生じた場合、ICAP インターフェイスは ICAP へデータを送信しません。
• エラーの種類がフェッチ エラーで、 ビッ ト ス ト リームの 2 番目およびそれ以降のワードでエラーが生じた場合、ICAP インターフェイスは ICAP へそれ以降のデータを送信しません。 上記のよ うにしてフェ ッチ パスを空にしてから、 DESYNC シーケンスを ICAP に挿入します。
• 破損したビッ ト ス ト リームのロードを開始しよ う と した仮想ソケッ ト マネージャーは、 シャ ッ ト ダウン ステートへ遷移し、仮想ソケッ ト マネージャーが再開されるまで ト リガー処理を実行しません。この動作はコア生成時に指定でき、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートへ遷移しないよ うにも設定可能です。
• エラーがステータス インターフェイスにレポート されます。
エラーの種類が不正コンフ ィギュレーシ ョ ン エラーの場合、Partial Reconfiguration Controller は次のよ うに対応します。
• フェッチ パスは要求を拒否してエラーを生成します。
• 破損したビッ ト ス ト リームのロードを開始しよ う と した仮想ソケッ ト マネージャーは、 シャ ッ ト ダウン ステートへ遷移し、仮想ソケッ ト マネージャーが再開されるまで ト リガー処理を実行しません。この動作はコア生成時に指定でき、仮想ソケッ ト マネージャーがシャッ ト ダウン ステートへ遷移しないよ うにも設定可能です。シャ ット ダウン ステートへ遷移しないよ うに設定した場合は、 新しい ト リガーの監視を開始します。
• エラーがステータス インターフェイスにレポート されます。
リセッ ト後の動作
リ セッ ト (ハード パワーオン リ セッ ト またはソフ ト リ セッ ト のいずれか) から回復した後の仮想ソケッ ト マネージャーの動作は、 状況によって異なり ます。
• 仮想ソケッ ト マネージャーがフルまたは空のいずれであるか。 フルの仮想ソケッ トにはリ コンフ ィギャブル モジュールが含まれています。 空の仮想ソケッ トにはリ コンフ ィギャブル モジュールは含まれていません。
• 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートから動作を開始するよ うに設定されているか。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 13PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
• 仮想ソケッ トの リ コンフ ィギャブル モジュールがスタート アップ フェーズ (ソフ ト ウェア スタート アップ/ リセッ ト ) を行う よ うに設定されているか。
• 仮想ソケッ ト マネージャーがリセッ ト後にリ コンフ ィギャブル モジュールのスタート アップをスキップするように設定されているか。
図 2-2 に、 リセッ ト後の仮想ソケッ ト マネージャーの動作を示します。
パフォーマンスパフォーマンスの詳細は、 パフォーマンスおよびリ ソース使用率を参照してください。
X-Ref Target - Figure 2-2
図 2-2 : リセッ ト後の仮想ソケッ ト マネージャーの動作
Partial Reconfiguration Controller v1.0 japan.xilinx.com 14PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
リ ソース使用率リ ソース使用率の詳細は、 パフォーマンスおよびリ ソース使用率を参照してください。
ポートの説明次の表中の <name> には、 ユーザーが指定した名前が入り ます。 たとえば、 vsm_<name>_hw_triggers の場合は次のよ うになり ます。
• vsm_shift_hw_triggers、 つま り <name> = shift
• vsm_count_hw_triggers、 つま り <name> = count
表 2-1 : ポートの説明
名前 方向 説明
clk 入力 立ち上がりエッジ ク ロ ッ ク。
reset 入力 同期リセッ ト。 アクティブ レベルは設定可能で、 クロ ッ クの 3 サイ クル間アサートする必要があ り ます。
vsm_<name>_hw_triggers 入力 <name> とい う名前で指定された仮想ソケッ ト マネージャーのハードウェア ト リ ガー入力です。 幅は指定可能です。 HW ト リ ガーの数が 0 よ り大きい場合のみ現れます。
ビッ ト N が 0 から 1 へ遷移する と、 ト リガー N がアクティブになり ます。 ト リガーはキャンセルできません。
vsm_<name>_rm_shutdown_req 出力 IP から仮想ソケッ ト <name> 内の リ コンフ ィ ギャブル モジュールへのアクテ ィブ High 信号です。 リ コンフ ィギャブル モジュールが削除される場合に、 コアによって 1 にセッ ト されます。
この機能は、 リ コンフ ィギャブル モジュールご とに無効に設定できます。
vsm_<name>_rm_shutdown_ack 入力 仮想ソケッ ト <name> 内の リ コンフ ィギャブル モジュールから IP へのアクテ ィブ High 信号です。 リ コンフ ィギャブル モジュールが削除される場合に、 リ コンフ ィギャブル モジュールによって 1 にセッ トされます。
この機能は、 リ コンフ ィギャブル モジュールご とに無効に設定できます。
vsm_<name>_rm_decouple 出力 IP から任意のデカップ リ ング ロジッ ク (仮想ソケッ ト <name> をスタティ ッ ク ロジッ クから分離するためのロジッ ク ) へのアクティブ High信号です。リ コンフ ィギャブル モジュールがロード されている場合に、IP によって 1 にセッ ト されます。 この信号は、 仮想ソケッ ト デカップリ ング ロジッ クを制御する際に使用されます。
vsm_<name>_rm_reset 出力 IP から仮想ソケッ ト <name> 内のリ コンフ ィギャブル モジュールへリセッ ト信号です。 この信号を使用する場合、 アクティブ レベルやサイクル数はリ コンフ ィギャブル モジュールごとに設定できます。
vsm_<name>_sw_shutdown_req 出力 CPU の中断を目的とするアクティブ High 信号です。 アクティブ リ コンフ ィギャブル モジュールが削除される場合は、仮想ソケッ ト <name>によ って 1 にセ ッ ト されます。 仮想ソ ケ ッ ト マネージ ャーのCONTROL レジスタに Proceed コマン ドが書き込まれる場合は、 0 にセッ ト されます。
この機能は、 リ コンフ ィギャブル モジュールごとに設定できます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 15PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
vsm_<name>_sw_startup_req 出力 CPU の開始を目的とするアクテ ィブ High 信号です。 新しい リ コンフ ィ ギャブル モジュールがロード されている場合は、 仮想ソケッ ト<name> によって 1 にセッ ト されます。 仮想ソケッ ト マネージャーのCONTROL レジスタに Proceed コマンドが書き込まれる場合は、 0 にセッ ト されます。
この機能は、 リ コンフ ィギャブル モジュールごとに有効/無効に設定できます。
vsm_<name>_m_axis_status_tvalid 出力 仮想ソケッ ト マネージャー <name> の AXI4-Stream Status チャネルのTVALID 信号です。
ステータスは常に有効であるため、この信号は常に 1 にセッ ト されます。
この機能は、 仮想ソケッ ト マネージャーごとに有効/無効に設定できます。
vsm_<name>_m_axis_status_tdata 出力 仮想ソケッ ト マネージャー <name> の AXI4-Stream Status チャネルの32 ビッ ト幅 tdata 信号です。 STATUS レジスタ と同じフォーマッ トとな り ます ( 「STATUS レジスタ」 参照)。この機能は、 仮想ソケッ ト マネージャーごとに有効/無効に設定できます。
vsm_<name>_s_axis_ctrl_tvalid 入力 仮想ソケッ ト マネージャー<name> の AXI4-Stream Control チャネルのtvalid 信号です。
この機能は、 仮想ソケッ ト マネージャーごとに有効/無効に設定できます。
vsm_<name>_s_axis_ctrl_tready 出力 仮想ソケッ ト マネージャー<name> の AXI4-Stream Control チャネルのtready 信号です。
この機能は、 仮想ソケッ ト マネージャーごとに有効/無効に設定できます。
vsm_<name>_s_axis_ctrl_tdata 入力 仮想ソケッ ト マネージャー<name> の AXI4-Stream Control チャネルの32 ビッ ト幅 tdata 信号です。 CONTROL レジスタ と同じフォーマット とな り ます ( 「CONTROL レジスタ」 参照)。この機能は、 仮想ソケッ ト マネージャーごとに有効/無効に設定できます。
vsm_<name>_event_error 出力 仮想ソケッ ト マネージャーにエラーが生じた場合に 1 ク ロ ッ ク サイ クル間アサート されます。
icap_clk 入力 立ち上がりエッジ ク ロ ッ ク。ICAP プリ ミ ティブに接続されるクロ ッ クと同じになる必要があ り ます。
icap_reset 入力 同期リセッ ト。 アクティブ レベルは設定可能で、 この リ セッ ト信号を使用して ICAP インターフェ イス ロジッ クを リセッ ト します。 icap_clk と同期する必要があ り ます。
icap_i 入力 ICAP プリ ミ ティブから返されるステータス データ信号です。 ICAP のO ポートに接続します。
icap_o 出力 ICAP プ リ ミ テ ィブへのデータ信号です。 ICAP の I ポートへ接続します。
icap_csib 出力 ICAP プリ ミ ティブへの CSIB 信号です。ICAP の csib ポートへ接続します。
icap_rdwrb 出力 ICAP プリ ミ ティブへの RDWRB 信号です。ICAP の rdwrb ポートへ接続します。
icap_avail 入力 ICAP の AVAIL ポートへ接続します。 このポートは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ使用可能です。
表 2-1 : ポートの説明 (続き)
名前 方向 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 16PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
icap_prdone 入力 ICAP の PRDONE ポートへ接続します。 このポートは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ使用可能です。
icap_prerror 入力 ICAP の PRERROR ポートへ接続します。このポートは、ターゲッ ト デバイスが UltraScale デバイスの場合のみ使用可能です。
cap_req 出力 ICAP アービタで使用されます。 この信号は、 ICAP に転送するデータがあるすべてのクロ ッ ク サイクルで、 IP によってアサート されます。
cap_gnt 入力 ICAP アービタで使用されます。 この信号は、 IP が ICAP へのアクセス権を保持しているすべてのクロック サイクルで、 アービタによってアサート されます。 1 にセッ ト されている場合、 cap_req が 0 に戻るまで、 この信号は 1 を保持する必要があります。
アービ ト レーショ ンが必要ない場合は、 この信号を常に 1 に接続します。
cap_rel 入力 ICAP アービタで使用されます。この信号は、別のコンポーネン トが ICAPへのアクセスを要求しているすべてのクロッ ク サイクルで、 アービタによってアサート されます。 1 にセッ ト されている場合、 cap_req が 0 に戻るまで、 この信号は 1 を保持する必要があります。
この信号は、できるだけ早期の安全なタイ ミ ングで ICAP の制御を放棄する必要があるこ とを IP に示します。
アービ ト レーショ ンが必要ない場合は、 この信号を常に 0 に接続します。
s_axi_reg_awaddr 入力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 32 ビ ッ ト 幅AXI4-Lite 信号です。
s_axi_reg_awvalid 入力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_awready 出力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_wdata 入力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 32 ビ ッ ト 幅AXI4-Lite 信号です。
s_axi_reg_wvalid 入力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_wready 出力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_bresp 出力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 2 ビ ッ ト 幅AXI4-Lite 信号です。
s_axi_reg_bvalid 出力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_bready 入力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_araddr 入力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 32 ビ ッ ト 幅AXI4-Lite 信号です。
s_axi_reg_arvalid 入力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_arready 出力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_rdata 出力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 32 ビ ッ ト 幅AXI4-Lite 信号です。
表 2-1 : ポートの説明 (続き)
名前 方向 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 17PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
s_axi_reg_rresp 出力 オプシ ョ ンのレジス タ イ ン ターフ ェ イ スの標準的な 2 ビ ッ ト 幅AXI4-Lite 信号です。
s_axi_reg_rvalid 出力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
s_axi_reg_rready 入力 オプシ ョ ンのレジスタ インターフェイスの標準的な AXI4-Lite 信号です。
m_axi_mem_araddr 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 32ビッ ト幅 AXI4 信号です。
m_axi_mem_arlen 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 8ビッ ト幅 AXI4 信号です。
m_axi_mem_arsize 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 3ビッ ト幅 AXI4 信号です。
m_axi_mem_arburst 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 2ビッ ト幅 AXI4 信号です。
m_axi_mem_arprot 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 3ビッ ト幅 AXI4 信号です。
m_axi_mem_arcache 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 4ビッ ト幅 AXI4 信号です。
m_axi_mem_aruser 出力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 4ビッ ト幅 AXI4 信号です。
m_axi_mem_arvalid 出力 コンフ ィ ギュ レーシ ョ ン ラ イブラ リ インターフェ イ スの標準的なAXI4 信号です。
m_axi_mem_arready 入力 コンフ ィ ギュ レーシ ョ ン ラ イブラ リ インターフェ イ スの標準的なAXI4 信号です。
m_axi_mem_rdata 入力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 32ビッ ト幅 AXI4 信号です。
m_axi_mem_rresp 入力 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの標準的な 2ビッ ト幅 AXI4 信号です。
m_axi_mem_rlast 入力 コンフ ィ ギュ レーシ ョ ン ラ イブラ リ インターフェ イ スの標準的なAXI4 信号です。
m_axi_mem_rvalid 入力 コンフ ィ ギュ レーシ ョ ン ラ イブラ リ インターフェ イ スの標準的なAXI4 信号です。
m_axi_mem_rready 出力 コンフ ィ ギュ レーシ ョ ン ラ イブラ リ インターフェ イ スの標準的なAXI4 信号です。
表 2-1 : ポートの説明 (続き)
名前 方向 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 18PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
レジスタ空間
概要
各仮想ソケッ ト マネージャーには一連のレジスタがあ り、オプシ ョ ンの AXI4-Lite インターフェイスを介してアクセスできます。各レジスタは 32 ビッ ト幅ですが、場合によって使用されないビッ トがあ り ます。各仮想ソケッ ト マネージャーのレジスタは 4 つのバンクに分割され、 各バンクにはそれぞれ独自の構造があ り ます。
• 「バンク 0 : 一般レジスタ」
• 「バンク 1 : Trigger to Reconfigurable Module レジスタ」
• 「バンク 2 : Reconfigurable Module Information レジスタ」
• 「バンク 3 : Bitstream Information レジスタ」
図 2-3 に、 これらのレジスタの概略図を示します。
一般レジスタ (General レジスタ ) は、 仮想ソケッ ト マネージャーを制御してステータス情報を取得するために使用します。その他のバンクは、リ コンフ ィギャブル モジュールをロードする際に必要な情報を格納するために使用します。
Trigger to Reconfigurable Module レジスタ、Reconfigurable Module レジスタ、および Bitstream Information レジスタの動作は次のとおりです。
• ト リ ガー識別子がデコード され、 これを使用して Trigger to Reconfigurable Module レジスタ バンク (バンク 1) の行が選択されます。選択されたレジスタには、その ト リガーでロード される リ コンフ ィギャブル モジュールの識別子 (RM_ID) が含まれます。
• RM_ID を使用して、 Reconfigurable Module Information レジスタ バンク (バンク 2) の行が選択されます。
• 選択された行の下位レジスタ (CONTROL) は、 リ コンフ ィギャブル モジュールのシャッ ト ダウンおよび開始方法に関する情報を提供します。
• 選択された行の上位レジスタ (BS Index) は、リ コンフ ィギャブル モジュールのロードに必要なビッ ト ス ト リームに関する情報へアクセスするための、 Bitstream Information レジスタ バンクの行番号を提供します。 この情報は、ビッ ト ス ト リームが格納されている外部メモ リのアドレス、 サイズ (バイ ト )、 および識別子です。
X-Ref Target - Figure 2-3
図 2-3 : 仮想ソケッ ト マネージャー内のレジスタ バンク
Partial Reconfiguration Controller v1.0 japan.xilinx.com 19PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
各レジスタのアドレスは、 次のよ うにエンコード されます。
[Virtual Socket Manager Select] [Bank Select] [Register Select][00]
この場合、 MSB ビッ トは左に位置しています。
各アドレス セグメン トについては、 表 2-2 で説明します。
すべての仮想ソケッ ト マネージャーのスライス範囲はすべて同じです。 これらの情報および各レジスタ アドレスは、コンフ ィギュレーシ ョ ン情報テキス ト ファ イル (IP 生成時に作成される ) から入手できます。 詳細は、 「出力の生成」を参照してください。
表 2-2 : 各レジスタのアドレス
アドレス セグメン ト 説明
Virtual SocketManager Select
これらのビッ トには、 仮想ソケッ ト マネージャーの識別子が含まれます。 これらの識別子は、 IP が生成される際に作成されるコンフ ィギュレーシ ョ ン情報テキス ト ファ イルにレポート されます。
Bank Select アクセスするレジスタ バンクを示す識別子です。
0 = General レジスタ バンク
1 = Trigger to Reconfigurable Module レジスタ バンク
2 = Reconfigurable Module Information レジスタ バンク
3 = Bitstream Information レジスタ バンク
Register Select このアドレス セグメン トは、アクセスするバンクによって異なる意味を持ちます。上位ビットは選択するバンクの行を示し、下位ビッ トは選択するバンク内の列を示します。 1 つのバンクに列が 1 つある場合、その列を選択するには 0 ビッ トが必要です。 1 つのバンクに列が2 つある場合、 列を選択するには 1 ビッ トが必要になり ます (図 2-4 参照)。
X-Ref Target - Figure 2-4
図 2-4 : 各レジスタのアドレス フ ィールドのマッピング
Partial Reconfiguration Controller v1.0 japan.xilinx.com 20PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
バンク 0 : 一般レジスタ 表 2-3 に一般レジスタの定義を示します。
STATUS レジスタ
STATUS レジスタは、 読み出し専用であ り、 CONTROL レジスタ と同じアドレスにマップされています。
表 2-3 : バンク 0 - 一般レジスタ
Register Select の値
レジスタ名 アクセス タイプ 説明
0 STATUS 読み出し専用 このレジスタの読み出しを実行する と、 仮想ソケッ ト マネージャーのステータスを取得できます。
0 CONTROL 書き込み専用 このレジスタに書き込みを実行する と、 仮想ソケッ ト マネージャーをシャ ッ ト ダウン、 または別の仮想ソケッ トマネージャーのコマンドを実行できます。
1 SW_TRIGGER 読み出し /書き込み このレジスタに書き込みを実行する と、 仮想ソケッ ト マネージャーへト リ ガーを送信できます。 このレジスタの読み出しを実行する と、 ペンディ ングされているソフ トウェア ト リ ガーの有無を判断できます。
表 2-4 : STATUS レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:24 BS_ID/RESERVEDターゲッ ト デバイスが 7 シ リーズ デバイスの場合、 これらのビッ トは予約されています。 ターゲッ ト デバイスが UltraScale デバイスの場合、これらのビッ トにはステータスが適用されるビッ ト ス ト リームの識別子が含まれます。
23:8 RM_ID ステータスが適用される リ コンフ ィギャブル モジュールの識別子を示します。
7 SHUTDOWN • 1 = 仮想ソケッ ト マネージャーはシャッ ト ダウン ステートである
• 0 = 仮想ソケッ ト マネージャーはシャッ ト ダウン ステートではない
Partial Reconfiguration Controller v1.0 japan.xilinx.com 21PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
CONTROL レジスタ
CONTROL レジスタは書き込み専用であ り、 STATUS レジスタ と同じアドレスにマップされています。
6:3 ERROR
次のエラー コードが定義されています。
• 1111 = 不明なエラーが発生
• 0110 = (損失エラー + フェッチ エラー ) ビッ ト ス ト リーム転送時に ICAPE3 へのアクセス権が外され、 コンフ ィギュレーシ ョ ン ラ イブラ リからビッ ト ス ト リームをフェ ッチする際にエラーが発生。 このエラーは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ検出可能。
• 0101 = (BS エラー + フェッチ エラー) ビッ ト ス ト リームのロード時に ICAP がエラー コードを返し、 コンフ ィギュレーシ ョ ン ラ イブラ リからビッ ト ス ト リームをフェ ッチする際にエラーが発生。
• 0100 = (フェッチ エラー ) コンフ ィギュレーシ ョ ン ライブラ リからビッ ト ス ト リームをフェ ッチする際にエラーが発生。
• 0011 = (損失エラー ) ビッ ト ス ト リーム転送時に ICAPE3 へのアクセス権が外された。このエラーは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ検出可能。
• 0010 = (BS エラー ) ビッ ト ス ト リームのロード時に ICAP がエラー コードを返した。
• 0001 = (不正コンフ ィギュレーシ ョ ン エラー ) フェッチ パスが 0 バイ トのビッ ト ス ト リームをロードするよ うに要求された。
• 0000 = エラーなし。
これ以外の値はすべて予約されています。
2:0 STATE
仮想ソケッ ト マネージャーがアクティブ ステートの場合、 次のステートが定義されます。
• 111 = 仮想ソケッ トはフル。 つま り、 リ コンフ ィギャブル モジュールのロードが完了している。
• 110 = 仮想ソケッ ト マネージャーがリ コンフ ィギャブル モジュールのリセッ ト ステップを実行している。
• 101 = 仮想ソケッ ト マネージャーがソフ ト ウェアのスタート アップ ステップを実行している。
• 100 = 仮想ソケッ ト マネージャーが新しいリ コンフ ィギャブル モジュールのロードを実行している。
• 011 = 予約
• 010 = 仮想ソケッ ト マネージャーがソフ ト ウェアのシャ ッ ト ダウン ステップを実行している。
• 001 = 仮想ソケッ ト マネージャーがハードウェアのシャ ッ ト ダウン ステップを実行している。
• 000 = 仮想ソケッ トは空。つま り、リ コンフ ィギャブル モジュールがロード されていない。
仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステー ト の場合、 次のステー ト が定義されます。
• 001 = RM_SHUTDOWN_ACK は 1。• 000 = RM_SHUTDOWN_ACK は 0。
表 2-4 : STATUS レジスタのフォーマッ ト (続き)
ビッ ト 意義 詳細
表 2-5 : CONTROL レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:16 HALFWORD FIELD 選択されたコマンドの追加情報を含む 16 ビッ ト フ ィールドです。 詳細は、コマンドの説明を参照してください。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 22PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
SW_TRIGGER レジスタ
SW_TRIGGER レジスタに対して読み出し と書き込みを両方実行できます。
バンク 1 : Trigger to Reconfigurable Module レジスタ
表 2-7 に Trigger to Reconfigurable Module レジスタの定義を示します。
15:8 BYTE FIELD 選択されたコマンドの追加情報を含む 8 ビッ ト フ ィールドです。詳細は、コマンドの説明を参照してください。
7:0 CMD
次のコマンドが定義されています。
• 000 = シャ ッ ト ダウン
• 001 = 再開 (ステータスなし )• 010 = 再開 (ステータスあ り )• 011 = 続行
• 100 = ユーザー制御
これ以外の値はすべて予約されています。 これらのコマンドの詳細は、 「仮想ソケッ ト マネージャー制御インターフェイス」 で説明します。
表 2-6 : ソフ トウェア ト リガー レジスタのフォーマッ ト
ビッ ト 意義 詳細
31 Trigger Pending
書き込みは無視されます。 読み出しを実行する と、 次の値が返されます。
• ペンディングされているソフ ト ウェア ト リ ガーがある場合は 1。• ペンディングされているソフ ト ウェア ト リ ガーがない場合は 0。
30:W Reserved 書き込みは無視されます。 読み出しを実行する と 0 が返されます。
W-1:0 Trigger
ト リ ガーの識別子です。 ト リ ガーがペンディングされている と きに、 書き込みを実行する と、 ペンディングされている ト リガーを上書きします。
このフ ィールドの幅 (W) :
表 2-7 : バンク 1 - Trigger to Reconfigurable Module レジスタ
レジスタの選択値 レジスタ名アクセス タイプ
説明
0 TRIGGER0 書き込み/読み出し
このレジスタには、 ト リガー 0 がアサート される と ロード される リ コンフ ィギャブル モジュールの識別子 (RM_ID) が含まれています。
1 TRIGGER1 書き込み/読み出し
このレジスタには、 ト リガー 1 がアサート される と ロード される リ コンフ ィギャブル モジュールの識別子 (RM_ID) が含まれています。
2 TRIGGER1 書き込み/読み出し
このレジスタには、 ト リガー 2 がアサート される と ロード される リ コンフ ィギャブル モジュールの識別子 (RM_ID) が含まれています。
表 2-5 : CONTROL レジスタのフォーマッ ト (続き)
ビッ ト 意義 詳細
Partial Reconfiguration Controller v1.0 japan.xilinx.com 23PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
Trigger to Reconfigurable Module レジスタには、ト リガーと ロード される リ コンフ ィギャブル モジュール間のマッピング情報が含まれています。 リ コンフ ィギャブル モジュール数よ り多くの ト リガー数を有効にできるため、フ ィールドで リ コンフ ィギャブル モジュールを追加した り、 複数のソースから同じ リ コンフ ィギャブル モジュールを簡単に トリガーできます。
各レジスタは 32 ビッ ト幅ですが、 下位の X ビッ トのみ使用されます。 X は次のとおりです。
未使用ビッ トは、 書き込み時には無視され、 読み出し時は 0 が返されます。 Trigger to Reconfigurable Module レジスタは、 仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステート の場合にのみアクセス可能です。 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートでない場合に読み出しを実行する と 0 が返され、 書き込みは無視されます。
バンク 2 : Reconfigurable Module Information レジスタ
表 2-8 に Reconfigurable Module Information レジスタの定義を示します。
このバンクには各行に 2 つのレジスタがあ り、 それらは Register Select の LSB を使用して選択されます。
• BS Index Register : LSB = 0
• Control Register : LSB = 1
仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステートの場合、 このバンクのすべてのレジスタが読み出しおよび書き込み可能です。 仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステートでない場合に読み出しを実行する と 0 が返され、 書き込みは無視されます。
⁞ ⁞ ⁞ ⁞
N TRIGGERN 書き込み/読み出し
このレジスタには、 ト リガー N がアサート される と ロード される リ コンフ ィギャブル モジュールの識別子 (RM_ID) が含まれています。
表 2-8 : バンク 2 - Reconfigurable Module Information レジスタ
Register Select の MSB
Register Select の LSB レジスタ名 説明
0 0 RM_BS_INDEX0 このレジスタには、 リ コンフ ィギャブル モジュール 0 のビ ッ ト ス ト リ ームに関する情報があ る BitstreamInformation レジスタ バンクの行番号が含まれています。
0 1 RM_CONTROL0 このレジスタには、 リ コンフ ィギャブル モジュール 0 の制御情報が含まれています。
1 0 RM_BS_INDEX1 このレジスタには、 リ コンフ ィギャブル モジュール 1 のビ ッ ト ス ト リ ームに関する情報があ る BitstreamInformation レジスタ バンクの行番号が含まれています。
1 1 RM_CONTROL1 このレジスタには、 リ コンフ ィギャブル モジュール 1 の制御情報が含まれています。
2 0 RM_BS_INDEX2 このレジスタには、 リ コンフ ィギャブル モジュール 2 のビ ッ ト ス ト リ ームに関する情報があ る BitstreamInformation レジスタ バンクの行番号が含まれています。
2 1 RM_CONTROL2 このレジスタには、 リ コンフ ィギャブル モジュール 2 の制御情報が含まれています。
表 2-7 : バンク 1 - Trigger to Reconfigurable Module レジスタ (続き)
レジスタの選択値 レジスタ名アクセス タイプ
説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 24PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
RM_BS_INDEX レジスタ
RM_CONTROL レジスタ
⁞ ⁞ ⁞
N 0 RM_BS_INDEXN このレジスタには、リ コンフ ィギャブル モジュール N のビ ッ ト ス ト リ ームに関する情報があ る BitstreamInformation レジスタ バンクの行番号が含まれています。
N 1 RM_CONTROLN このレジスタには、リ コンフ ィギャブル モジュール N の制御情報が含まれています。
表 2-9 : RM_BS_INDEX レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:16 CLEAR_BS_INDEX/Reserved
ターゲッ ト デバイスが 7 シ リーズ デバイスの場合、 これらのビッ トは予約されています。
ターゲッ ト デバイスが UltraScale デバイスの場合、これらのビッ トは BitstreamInformation レジス タ バン クへのア ド レ スを含み、 リ コ ンフ ィ ギャブル モジュールを対応するク リ ア リ ング ビッ ト ス ト リームに関連付けます。
15:0 BS_INDEX これらのビッ トは、 Bitstream Information レジスタ バンクへのアド レスを含み、 リ コンフ ィギャブル モジュールと対応するビッ ト ス ト リームを関連付けます。
表 2-10 : RM_CONTROL レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:13 Reserved 読み出しは 0 が返され、 書き込みは無視されます。
12:5 Reset Duration リ コンフ ィギャブル モジュールのリセッ ト信号をアサートするのに必要なクロ ッ ク サイクル数 -1 を示します。
• 0 : 1 ク ロ ッ ク サイクル
• 1 : 2 ク ロ ッ ク サイクル
• 以下同様
4:3 Reset Required • 00 : リ コンフ ィギャブル モジュールのリセッ トは不要。
• 01 : 予約
• 10 : アクテ ィブ Low の リ コンフ ィギャブル モジュールの リ セッ ト が必要。
• 11 : アクテ ィブ High の リ コンフ ィギャブル モジュールの リ セッ ト が必要。
2 Startup Required • 0 : スタート アップは不要。
• 1 : ソフ ト ウェア スタート アップが必要。
1:0 Shutdown Required • 00 : リ コンフ ィギャブル モジュールのシャッ ト ダウンは不要。
• 01 : ハードウェア リ コンフ ィギャブル モジュールのシャッ ト ダウンが必要。
• 10 : ハードウェアの後にソフ ト ウェア シャ ッ ト ダウンが必要。
• 11 : ソフ ト ウェアの後にハードウェア シャ ッ ト ダウンが必要。
表 2-8 : バンク 2 - Reconfigurable Module Information レジスタ (続き)
Register Select の MSB
Register Select の LSB レジスタ名 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 25PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
バンク 3 : Bitstream Information レジスタ
表 2-11 に Bitstream Information レジスタの定義を示します。
このバンクには各行に 3 つのレジスタがあ り、それらは Register Select の 2 つの LSB ビッ ト を使用して選択されます。
• ID Register : LSBs = 0
• Address Register : LSBs = 1
• Size Register : LSBs = 2
ターゲッ ト デバイスが UltraScale デバイスで、 仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステートの場合に、 このバンクのすべてのレジスタが読み出しおよび書き込み可能です。 このタイプのデバイスの リ コンフ ィギャブル モジュールにはビッ ト ス ト リームが 2 つ必要となるため、 すべてのビッ ト ス ト リーム識別子は 0 または 1 になり ます。
ターゲッ ト デバイスが 7 シ リーズ デバイスで、仮想ソケッ ト マネージャーがシャッ ト ダウン ステートの場合、 このバンクの BS_ADDRESS および BS_SIZE レジスタが読み出しおよび書き込み可能です。このタイプのデバイスのリ コンフ ィギャブル モジュールにはビッ ト ス ト リームが 1 つしか必要ないため、すべてのビッ ト ス ト リーム識別子は 0 になり ます。 BS_ID レジスタへの書き込みは無視され、 読み出しは常に 0 が返されます。
すべてのデバイス タイプにおいて、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートでない場合には、 このバンクのすべてのレジスタの読み出し動作で 0 が返され、 すべてのレジスタの書き込み動作は無視されます。
表 2-11 : バンク 3 - Bitstream Information レジスタ
Register Select の MSB
Register Select の LSB レジスタ名 説明
0 0 BS_ID0 このレジスタには、 このビッ ト ス ト リームの識別子が含まれています。
0 1 BS_ADDRESS0 このレジスタには、 コンフ ィギュレーシ ョ ン ラ イブラ リインターフェイスのビッ ト ス ト リーム 1 のバイ ト アド レスが含まれています。
0 2 BS_SIZE0 このレジスタには、ビッ ト ス ト リーム 0 のサイズ (単位 : バイ ト ) が含まれています。
1 0 BS_ID1 このレジスタには、 このビッ ト ス ト リームの識別子が含まれています。
1 1 BS_ADDRESS1 このレジスタには、 コンフ ィギュレーシ ョ ン ラ イブラ リインターフェイスのビッ ト ス ト リーム 1 のバイ ト アド レスが含まれています。
1 2 BS_SIZE1 このレジスタには、ビッ ト ス ト リーム 1 のサイズ (単位 : バイ ト ) が含まれています。
2 0 BS_ID2 このレジスタには、 このビッ ト ス ト リームの識別子が含まれています。
2 1 BS_ADDRESS2 このレジスタには、 コンフ ィギュレーシ ョ ン ラ イブラ リインターフェイスのビッ ト ス ト リーム 2 のバイ ト アド レスが含まれています。
2 2 BS_SIZE2 このレジスタには、ビッ ト ス ト リーム 2 のサイズ (単位 : バイ ト ) が含まれています。
⁞ ⁞ ⁞
N 0 BS_IDN このレジスタには、 このビッ ト ス ト リームの識別子が含まれています。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 26PG193 2015 年 11 月 18 日
第 2 章 : 製品仕様
BS_ID レジスタ
BS_ADDRESS レジスタ
BS_SIZE レジスタ
N 1 BS_ADDRESSN このレジスタには、 コンフ ィギュレーシ ョ ン ラ イブラ リインターフェイスのビッ ト ス ト リーム N のバイ ト アドレスが含まれています。
N 2 BS_SIZEN このレジスタには、 ビッ ト ス ト リーム N のサイズ (単位 :バイ ト ) が含まれています。
表 2-12 : BS_ID レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:1 Reserved 予約
0 ID リ コンフ ィギュレーシ ョ ン モジュールに関係するビッ ト ス ト リームの識別子を示します。 リ コンフ ィギュレーシ ョ ン モジュールの最初のビッ ト ス ト リームには ID 0 が与えられ、 2 番目のビッ ト ス ト リームには ID 1 が与えられます。
表 2-13 : BS_ADDRESS レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:0 ADDRESS コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスのビッ ト ス ト リームのアドレスを示します。
表 2-14 : BS_SIZE レジスタのフォーマッ ト
ビッ ト 意義 詳細
31:0 Size ビッ ト ス ト リームのサイズ (単位 : バイ ト ) を示します。
表 2-11 : バンク 3 - Bitstream Information レジスタ (続き)
Register Select の MSB
Register Select の LSB レジスタ名 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 27PG193 2015 年 11 月 18 日
第 3 章
コアを使用するデザインこの章では、 コアを使用した設計をよ り容易にするためのガイ ド ラインおよび追加情報を紹介します。
一般的なデザイン ガイド ライン
インフ ィールド アップグレードの準備
一部のデザインは、 パーシャル リ コンフ ィギュレーシ ョ ンを使用して、 その一部をインフ ィールド アップグレードできます。つま り、デザインをフ ィールドに展開後にリ コンフ ィギャブル モジュールを追加、削除、 または変更できます。 Partial Reconfiguration Controller は、 AXI4-Lite インターフェイスを使用して、 ト リ ガー、 リ コンフ ィギャブルモジュール、 およびビッ ト ス ト リーム情報の再プログラムを可能にするこ とでこれをサポート します。 ただし、 リ コンフ ィギャブル モジュールを新たに追加するには、 そのスペース とアクティブ化するための ト リガーが必要です。
インフ ィールド アップグレードの予定がある場合は、コア生成時にそのためのスペースを割り当てておく必要があ ります。
クロッキングク ロ ッ ク ポートは 2 つあり、 ICAP インターフェイスを駆動するロジッ ク用の icap_clk とそれ以外で使用するための clk があ り ます。
ド メ イン間で信号を転送する際に使用される同期ステージの数は指定可能です。
リセッ トリセッ ト ポートは 2 つあり、 ICAP インターフェイスを駆動するロジッ ク用の icap_reset とそれ以外で使用するための reset があ り ます。 相互に関連するこれらのリセッ トの正確なタイ ミ ングは重要ではあ り ません。 ただし、 一方がアサート される場合には、 も う一方もアサート される必要があ り ます。 たとえば、 ICAP インターフェイスを リセッ ト して Partial Reconfiguration Controller の残りの部分を リセッ ト しなければ、 ロ ッ クアップが生じます (逆も同じ)。 さ らに、 両方のリセッ トがアサート されて リ リースされるまでは、 ト リガーを生成できません。
推奨 : リセッ ト を適用する前には、すべての仮想ソケッ ト マネージャーがシャッ ト ダウン ステートに遷移する (またシャ ッ ト ダウン ステートであるこ とを確認する ) こ とを推奨しています。
これが不可能な場合は、 コアがリセッ ト される前に次の条件を満たす必要があ り ます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 28PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
1. ICAP インターフェイスが ICAP へビッ ト ス ト リームを転送していないこ とが前提とな り ます。 ビッ ト ス ト リーム転送が中断される と、デバイスが不安定な状態になり、 その結果と してチップ全体のリ コンフ ィギュレーシ ョンが必要になる可能性があ り ます。
2. アクティブ ステートの仮想ソケッ ト マネージャーには、 ペンディングされている ト リガーがないこ とが前提とな り ます。 ト リ ガーへの対応を開始した仮想ソケッ ト マネージャーを リ セッ トする と、 仮想ソケッ ト マネージャーのステート を破損させる可能性があ り ます。 UltraScale デバイスを制御する仮想ソケッ ト マネージャーの場合、これによって、仮想ソケッ トに新しいリ コンフ ィギャブル モジュールがロードできなくなる可能性があ ります。
注記 : アクティブ リセッ ト レベルは設定可能です。
仮想ソケッ ト マネージャー制御インターフェイス各仮想ソケッ ト マネージャーは、 オプシ ョ ンの AXI4-Stream 制御チャネルを介して、 または CONTROL レジスタを使用して AXI4-Lite レジスタ インターフェイスを介して個別に制御できます。コマンドのワード フォーマッ トは、使用するインターフェイスに関係なく同じです。
Shutdown コマンド
Shutdown コマンドは、 仮想ソケッ ト マネージャーにできるだけ早期の安全なタイ ミ ングでシャ ッ ト ダウン ステートへ遷移するよ う命令します。 要求されてから、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートへ遷移するまでに、 長い遅延が生じる可能性があ り ます (予測不可)。 Shutdown コマンドは送信後にキャンセルはできません。
このコマンドは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートにない場合のみ使用できます。
このコマンドでは、 制御ワードの BYTE フ ィールドおよび HALFWORD フ ィールドは使用されません。
Restart with no Status コマンド
Restart with no Status コマンドは、 仮想ソケッ ト マネージャーにシャッ ト ダウン ステートから遷移するよ う命令します。 仮想ソケッ ト マネージャーの Empty/Full ステータス、 リ コンフ ィギャブル モジュールの識別子、 およびエラーステータスは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートへ遷移する前の状態を保持しています。
このコマンドは、シャ ッ ト ダウン中に仮想ソケッ トが変更されなかった場合に、シャ ッ ト ダウン ステートにいる仮想ソケッ ト マネージャーを再開する際に使用する必要があ り ます。
このコマンドは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートの場合のみ使用できます。
このコマンドでは、 制御ワードの BYTE フ ィールドおよび HALFWORD フ ィールドは使用されません。
Restart with Status コマンド
Restart with Status コマンドは、 仮想ソケッ ト マネージャーにシャ ッ ト ダウン ステートから遷移するよ う命令します。仮想ソケッ ト マネージャーの Empty/Full ステータスおよびリ コンフ ィギャブル モジュールの識別子は、 コマンドの一部と して指定されます。
このコマンドは、 シャ ッ ト ダウン中に仮想ソケッ トが変更された場合 (つま り、 仮想ソケッ ト マネージャー以外の何かによって仮想ソケッ トに リ コンフ ィギャブル モジュールがロード された場合) に、シャ ッ ト ダウン ステートにいる仮想ソケッ ト マネージャーを再開する際に使用する必要があ り ます。
このコマンドは、ロード された リ コンフ ィギャブル モジュールがその仮想ソケッ ト マネージャーで管理されており、ステータスが Full の場合のみ使用されます。 その仮想ソケッ ト マネージャーで管理されていないリ コンフ ィギャブル モジュールがロード される場合は、 仮想ソケッ ト マネージャーが再開される前に仮想ソケッ トは Empty ステート
Partial Reconfiguration Controller v1.0 japan.xilinx.com 29PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
にある必要があ り ます。 Empty ステートは、仮想ソケッ トに リ コンフ ィギャブル モジュールがない状態、 またはロード された リ コンフ ィギャブル モジュールがシャ ッ ト ダウン ステップを必要と しない場合のいずれかを意味します。仮想ソケッ トが UltraScale デバイス上にある場合は、 ロード された リ コンフ ィギャブル モジュールがマスク されていないこ と、 そしてク リ ア リ ング ビッ ト ス ト リームのロードは必要ない、 という さ らなる要件が加わり ます。
このコマンドは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートの場合のみ使用できます。
制御ワードの BYTE フ ィールドおよび HALFWORD フ ィールドは、 次のよ うに使用されます。
• BYTE[0] : 再開時に設定される Empty/Full ステータスの値です。
° 0 : 仮想ソケッ トは空 (Empty)。
° 1 : 仮想ソケッ トはフル (Full)。
• HALFWORD : 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートにいる間に ロード される リ コンフ ィギャブル モジュールの識別子です。 これは、 その仮想ソケッ ト マネージャーで管理される リ コンフ ィギャブル モジュールである必要があ り ます。
Proceed コマンド
Proceed コマンドは、 仮想ソケッ ト マネージャにリ コンフ ィギャブル モジュールの処理を開始するよ う命令します。仮想ソケッ ト マネージャーが vsm_<name>_sw_shutdown_req または vsm_<name>_sw_startup_req割り込み信号をアサート している場合、 このコマンドが生じるまで動作は停止します。 これらの信号のどちら もアサート されていないと、 このコマンドは無視されます。
このコマンドは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートにない場合のみ使用できます。
このコマンドでは、 制御ワードの BYTE フ ィールドおよび HALFWORD フ ィールドは使用されません。
ユーザー制御コマンド
ユーザー制御コマンドは、 次の信号の値を設定する際に使用されます。
• vsm_<name>_rm_shutdown_req
• vsm_<name>_rm_decouple
• vsm_<name>_rm_reset
• vsm_<name>_sw_shutdown_req
• vsm_<name>_sw_startup_req
これらの値が設定される と、 別のユーザー制御コマンドが送信されるまで、 またはいずれかの Restart コマンドが送信されるまで、 これらの値は保持されます。
このコマンドは、 仮想ソケッ ト マネージャーがシャッ ト ダウン ステートの場合のみ使用できます。
制御ワードの BYTE フ ィールドおよび HALFWORD フ ィールドは、 次のよ うに使用されます。
• BYTE[0] : rm_shutdown_req を制御します。
° 0 : vsm_<name>_rm_shutdown_req を 0 に設定。
° 1 : vsm_<name>_rm_shutdown_req を 1 に設定。
• BYTE[1] : rm_decouple を制御します。
° 0 : vsm_<name>_rm_decouple を 0 に設定。
° 1 : vsm_<name>_rm_decouple を 1 に設定。
• BYTE[2] : sw_shutdown_req を制御します。
° 0 : vsm_<name>_sw_shutdown_req を 0 に設定。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 30PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
° 1 : vsm_<name>_sw_shutdown_req を 1 に設定。
• BYTE[3] : sw_startup_req を制御します。
° 0 : vsm_<name>_sw_startup_req を 0 に設定。
° 1 : vsm_<name>_sw_startup_req を 1 に設定。
• BYTE[4] : rm_reset を制御します。
° 0 : Vsm_<name>_rm_reset を 0 に設定。
° 1 : vsm_<name>_rm_reset を 1 に設定。
• HALFWORD : 使用しません。
プロ ト コルの説明
ハードウェア ト リガー
仮想ソケッ ト マネージャーにハード ウェア ト リ ガーが設定されている場合は、 vsm_<name>_hw_triggers というベクター入力信号を使用します。 この信号の各ビッ トは個別に処理され、同じ番号のト リガー識別子に直接マップされます。 たとえば、 次のよ うになり ます。
• vsm_<name>_hw_triggers[0] はト リガー 0 にマップします。
• vsm_<name>_hw_triggers[1] はト リガー 1 にマップします。
• 以下同様
ト リガー N は、 vsm_<name>_hw_triggers[N] が 0 から 1 へ遷移するのに同期して発生します。 ト リ ガーは、発生後にはキャンセルできません。1 ク ロ ッ ク サイ クル後に vsm_<name>_hw_triggers[N] は 0 に戻るこ とができ、 ト リガー N は仮想ソケッ ト マネージャー内でまだペンディング状態とな り ます。
ト リ ガー N が発生する と、 仮想ソケッ ト マネージャーがそれを記録し、 ト リ ガーの処理が有効にな り ます。 前のアクティベーシ ョ ンの処理が選択される前に ト リガーが発生する と、その ト リガーは無視されます。 ト リガー アクティベーシ ョ ンは 1 インスタンスのみ格納されます。
図 3-1 に、 動作中のハード ウェア ト リ ガーの例を示します。 こ こで示すクロ ッ ク サイ クル番号は、 説明目的と して示したもので固定レイテンシとの関連性はあ り ません。
• ク ロ ッ ク 3 では、 vsm_<name>_hw_triggers[0] が 0 から 1 へ遷移し、 これは内部の Triggers Pending[0]に記録されます。
• ク ロ ッ ク 4 では、 vsm_<name>_hw_triggers[1] が 0 から 1 へ遷移し、 これは内部の Triggers Pending[1]に記録されます。
X-Ref Target - Figure 3-1
図 3-1 : ハードウェア ト リガーの例
Partial Reconfiguration Controller v1.0 japan.xilinx.com 31PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
• ク ロ ッ ク 6 では、 仮想ソケッ ト マネージャーが ト リガー 0 の処理を開始します。 Triggers Pending[0] が 0 に変更され、 新しい ト リガー 0 をキャプチャできたこ とを意味します。
• ク ロ ッ ク 9 では、 vsm_<name>_hw_triggers[1] が 0 から 1 へ遷移しますが、 Triggers Pending[1] は既に 1であるため、 新しい ト リガー 1 は無視されます。
• ク ロ ッ ク 51 では、仮想ソケッ ト マネージャーが ト リガー 0 の処理を停止し、 ク ロ ッ ク サイクル 5 からペンディングされている ト リ ガー 1 の処理を開始します。 Triggers Pending[1] が 0 に変更され、 新しい ト リガー 1 をキャプチャできたこ とを意味します。
• この ト リガーは、 vsm_<name>_hw_triggers[1] が 0 から 1 へ遷移するクロ ッ ク サイクル 53 で到達します。 ト リガー 1 はペンディングされていないため、 再びキャプチャされます。
この段階で、 ト リ ガー 1 はペンディング中であ り、 また処理されています。 ト リ ガー 1 にマップされた リ コンフ ィギャブル モジュールがロードを実行する と、 仮想ソケッ ト マネージャーが即座にそれを削除して、 ペンディングされている ト リガーの処理を開始し、同じ リ コンフ ィギャブル モジュールをロード します。場合によってはロード済みのリ コンフ ィギャブル モジュールをロードするこ とが有効となるため、Partial Reconfiguration Controller はこの方法を可能にしています。 必要なければ、 正常な ト リガー管理でこの状況を回避できます。
リコンフ ィギャブル モジュールのハードウェア/ソフ トウェア シャッ トダウン
一部のリ コンフ ィギャブル モジュールは、デバイスから削除される前にシャッ ト ダウンが必要な場合があ り ます。 リコンフ ィギャブル モジュールが任意的に削除される とデッ ド ロ ッ クやその他のシステム エラーを招く可能性がある場合には、 この手順が必要です。 どのよ うなシャ ッ ト ダウンが必要かは、各リ コンフ ィギャブル モジュールで異なります。Partial Reconfiguration Controller はハンドシェイ ク プロ ト コルを提供してこのプロセスを管理しますが、実際のシャッ ト ダウン メカニズムはシステム設計者が提供する必要があ り ます。
図 3-2 にプロ ト コルを示します。リ コンフ ィギャブル モジュールの削除が予定されている場合、Partial ReconfigurationController は vsm_<name>_rm_shutdown_req を 1 にセッ ト します。 リ コンフ ィギャブル モジュールは、 自らできるだけ早期に安全なステートへ遷移する必要があ り ます。 この動作の実行に制限時間はあ り ません。 リ コンフ ィギャブル モジュールは、 削除の準備が整う と vsm_<name>_rm_shutdown_ack を 1 にセッ ト します。
また、 リ コンフ ィギャブル モジュールが削除される前にはソフ ト ウェアのシャ ッ ト ダウンも必要です。たとえば、デバイ ス ド ラ イバーのアンロードが必要な場合を考えます。 このプロセスに対応するため、 Partial ReconfigurationController には、 vsm_<name>_sw_shutdown_req 信号があ り ます。 この信号は、 割り込みコン ト ローラー、 またはソフ ト ウェアとの通信用にデザインに含まれているその他のスキームに接続可能です。図 3-3 にプロ ト コルを示します。 リ コンフ ィギャブル モジュールが削除される場合、 vsm_<name>_sw_shutdown_req が 1 にセッ ト されます。 ソフ ト ウェアは、 できるだけ早期の段階で安全なステートへ遷移する必要があ り ます。 この動作の実行に制限時間はあ り ません。ソフ ト ウェアがリ コンフ ィギュレーシ ョ ン モジュールの削除に対応できるよ うになる と、仮想ソケッ ト マネージャーに Proceed コマンドを送信します。
X-Ref Target - Figure 3-2
図 3-2 : リコンフ ィギャブル モジュールのハードウェア シャッ トダウン
Partial Reconfiguration Controller v1.0 japan.xilinx.com 32PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
このシャ ッ ト ダウン動作は、 リ コンフ ィギャブル モジュールごとに設定できます。
リコンフ ィギャブル モジュールのソフ トウェア スタートアップ
リ コンフ ィギャブル モジュールがロード された後で、オプシ ョ ンの リセッ ト信号がアサート される前、さ らにデカップ リ ングが リ リ ース される前に、 ソ フ ト ウ ェアはデバイ ス ド ラ イバーを ロー ドする必要があ り ます。 PartialReconfiguration Controller には、このプロセスにサポートするために vsm_<name>_sw_startup_req 信号があ ります。 この信号は、 割り込みコン ト ローラー、 またはソフ ト ウェアの通信用にデザインに含まれているその他のスキームにも接続可能です。 図 3-4 にプロ ト コルを示します。 リ コンフ ィギャブル モジュールがロード される場合、vsm_<name>_sw_startup_req が 1 にセッ ト されます。 ソフ ト ウェアは、 リ コンフ ィギャブル モジュールが動作可能な状態になるために必要な動作を行う必要があ り ます。 この動作の実行に制限時間はあ り ません。 ソフ ト ウェアがリ コンフ ィギュレーシ ョ ン モジュールの開始に対応できるよ うになる と、 AXI4-Lite インターフェイスを使用して仮想ソケッ ト マネージャーの CONTROL レジスタに Proceed コマンドを送信します。 詳細は、 「Proceed コマンド」を参照してください。
このスタート アップ動作は、 リ コンフ ィギャブル モジュールごとに設定できます。
ICAP の共有プロ ト コル
Partial Reconfiguration Controller は、 シンプルなプロ ト コルを使用して ICAP へのアクセスのアービ ト レーシ ョ ンを実行します。IP は、ICAP に転送するデータがあるすべてのクロ ッ ク サイ クルで cap_req を 1 にセッ ト しますが、データ転送は、 アービタが cap_gnt を 1 にセッ ト した場合のみ実行されます。 アービタは、 cap_req が 0 になるまでcap_gnt を 1 に保持する必要があ り ます。
アービタは cap_rel を 1 にセッ ト して、 その他のコンポーネン トが ICAP へのアクセス権を要求しているこ とを示すこ とができます。 Partial Reconfiguration Controller は、進行中のビッ ト ス ト リームのロードを完了する と、 cap_reqを 0 にセッ ト します。別のコンポーネン トが ICAP へのアクセスを要求しているすべてのクロ ッ ク サイ クルで、 アー
X-Ref Target - Figure 3-3
図 3-3 : リコンフ ィギャブル モジュールのソフ トウェア シャッ トダウン
X-Ref Target - Figure 3-4
図 3-4 : リコンフ ィギャブル モジュールのソフ トウェア スタートアップ
Partial Reconfiguration Controller v1.0 japan.xilinx.com 33PG193 2015 年 11 月 18 日
第 3 章 : コアを使用するデザイン
ビタは cap_rel をアサートする必要があ り ます。 1 にセッ ト されている場合、 cap_req が 0 に戻るまで、 この信号を 1 に保持する必要があ り ます。
コアがデザインにインスタンシエート されている場合でアービ ト レーシ ョ ンが不要な場合は、 cap_gnt を 1 にハード接続し、 cap_rel を 0 にハード接続する必要があ り ます。
X-Ref Target - Figure 3-5
図 3-5 : ICAP のアービ ト レーシ ョ ン プロ ト コル
Partial Reconfiguration Controller v1.0 japan.xilinx.com 34PG193 2015 年 11 月 18 日
第 4 章
デザイン フローの手順この章では、 コアのカスタマイズと生成、 制約、 およびシ ミ ュレーシ ョ ン/合成/インプ リ メ ンテーシ ョ ンの手順について説明します。 一般的な Vivado® デザイン フローおよび IP インテグレーターの詳細は、 次の Vivado Design Suiteユーザー ガイ ドを参照してください。
• 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 1]
• 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 2]
• 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 5]
• 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 6]
コアのカスタマイズおよび生成こ こでは、 ザイ リ ンクス ツールを使用し、 Vivado® Design Suite でコアをカスタマイズおよび生成する方法について説明します。
Vivado IP インテグレーターでコアをカスタマイズおよび生成する場合は、 『Vivado Design Suite ユーザー ガイ ド : IPインテグレーターを使用した IP サブシステムの設計』 (UG994) [参照 1] を参照してください。 IP インテグレーターは、デザインの検証または生成時に一部のコンフ ィギュレーシ ョ ン値を自動的に計算する場合があ り ます。値が変わるかど うかを確認するには、 この章のパラ メーターの説明を参照して ください。 パラ メーター値を確認するには、 Tcl コンソールから validate_bd_design コマンドを実行して ください。
IP はユーザー デザインに合わせてカスタマイズできます。 それには、 IP コアに関連する各種パラ メーターの値を次の手順に従って指定します。
1. IP カタログから IP を選択します。
2. 選択した IP をダブルク リ ッ クするか、 ツールバーまたは右ク リ ッ ク メニューから [Customize IP] コマンドをクリ ッ ク します。
詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 2] および 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910) [参照 5] を参照して ください。
注記 : この章の図には Vivado 統合設計環境 (IDE) のスク リーンシ ョ ッ トが使用されていますが、現在のバージ ョ ンとはレイアウ トが異なる場合があ り ます。
[Validation] タブ
このタブは、 [Customize IP] ダイアログ ボッ クスの左側にあ り、 [IP Symbol] タブ、 [Address Map] タブ、および [TriggerMapping] タブと同じスペースを共有しています。 このタブはデフォルト で表示されます。 [Validation] タブには、 現在のコンフ ィギュレーシ ョ ンで生じているすべてのエラーの一覧が表示されます。 すべてのエラーが修正されるまで、コアは生成されません。コンフ ィギュレーシ ョ ンのエラーがなくなる と、このタブに 「There are no errors」と表示されます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 35PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
[Address Map] タブ
このタブは、 [Customize IP] ダイアログ ボッ ク スの左側にあ り、 [IP Symbol] タブ、 [Trigger Mapping] タブ、 および[Validation] タブと同じスペースを共有しています。 [Address Map] タブは、 AXI Lite アドレスの構造に関する情報や、Partial Reconfiguration Controller の各レジスタの名前とアドレスを提供します。
[Trigger Mapping] タブ
このタブは、[Customize IP] ダイアログ ボッ クスの左側にあ り、[IP Symbol] タブ、[Address Map] タブ、および [Validation]タブと同じスペースを共有しています。 [Trigger Mapping] タブは、 選択した仮想ソケッ ト用に設定された ト リ ガーマッピングの概要を提供します。
[Global Options] タブ
このタブは、 [Customize IP] ダイアログ ボッ クスの右側にあ り、 [Virtual Socket Options] タブと同じスペースを共有しています。 [Global Options] タブは、 仮想ソケッ ト マネージャーの数やそれらの設定に依存しないコアの部分を設定する際に使用します。 設定可能なオプシ ョ ンは次のとおりです。
• [Enable the AXI Lite Interface] : AXI4-Lite レジスタ インターフェイスを有効または無効にします。
• [Reset Active Level] : コアのリセッ ト アクティブ レベル (アクティブ High またはアクティブ Low) を指定します。
• [Managed Device Type] : コアが管理するデバイスの種類を選択します。 このデバイスに、 仮想ソケッ トおよび接続された iCAP プリ ミ ティブが含まれます。
• [FIFO Depth] : フェ ッチ パスの FIFO の深さを指定します。有効な値は、 16、 32、 64、 128、 256、 512、 1024、 2048、4096、 8192、 16384、 32768、 65536、 および 131072 です。 16 値は、 [CDC Stages] の値が 2 または 3 に設定されている場合のみ有効です。
• [FIFO Implementation] : フェッチ パスの FIFO にブロ ッ ク RAM または分散 RAM のいずれを使用するかを指定します。
• [CDC Stages] : ク ロ ッ ク乗せ換え時に使用する同期ステージの数を指定します。 有効な値は、 2、 3、 4、 5、 および 6 です。 4、 5、 または 6 を使用する場合は、 FIFO の深さが少なく と も 32 エン ト リ必要です。
[Virtual Socket Manager Options] タブ
このタブは、 [Customize IP] ダイアログ ボッ クスの右側にあ り、 [Global Options] タブと同じスペースを共有しています。 [Virtual Socket Manager Options] タブは、 1 つの仮想ソケッ ト マネージャーとその仮想ソケッ ト マネージャー内の1 つのリ コンフ ィギャブル モジュールを設定する際に使用します。設定する仮想ソケッ ト マネージャーやリ コンフ ィギャブル モジュールは、 ド ロ ップダウン リ ス ト を使用して選択できます。
図 4-1 および図 4-2 に、 仮想ソケッ ト マネージャー オプシ ョ ンを示します。 このタブは、 4 つのエリ アに分かれています。
1. 「制御ボタン」
2. 「仮想ソケッ ト マネージャーのオプシ ョ ン」
3. 「 リ コンフ ィギャブル モジュールのオプシ ョ ン」
4. 「 ト リ ガー オプシ ョ ン」
Partial Reconfiguration Controller v1.0 japan.xilinx.com 36PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
制御ボタン
制御ボタンは 4 つあり ますが、 そのうちの 3 つは必要ない場合に自動的に非表示とな り ます。
• [New Virtual Socket Manager] : コアに新しい仮想ソケッ ト マネージャーを追加する場合に、 このボタンをオンにします。
• [New Reconfigurable Module] : 現在選択されている仮想ソケッ ト マネージャーに新しいリ コンフ ィギャブル モジュールを追加する場合に、 このボタンをオンにします。 このボタンは、仮想ソケッ ト マネージャーが選択されている場合のみ利用できます。
X-Ref Target - Figure 4-1
図 4-1 : 仮想ソケッ ト マネージャーのオプシ ョ ン (7 シリーズ デバイスを使用した場合)
X-Ref Target - Figure 4-2
図 4-2 : その他の仮想ソケッ ト マネージャーのオプシ ョ ン (UltraScale デバイスを使用した場合)
Partial Reconfiguration Controller v1.0 japan.xilinx.com 37PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
• [Delete Virtual Socket Manager] : 現在選択されている仮想ソケッ ト マネージャーを削除する場合に、このボタンをオンにします。 このボタンは、 仮想ソケッ ト マネージャーが選択されている場合のみ利用できます。
• [Delete Reconfigurable Module] : 現在選択されている仮想ソケッ ト マネージャーから現在選択されている リ コンフ ィギャブル モジュールを削除する場合に、 このボタンをオンにします。 このボタンは、 リ コンフ ィギャブルモジュールが選択されている場合のみ利用できます。
仮想ソケッ ト マネージャーのオプシ ョ ン
• [Virtual Socket Manager to Configure] : このド ロ ップダウン リ ス ト を使用して、 設定する仮想ソケッ ト マネージャーを選択します。
• [Enter a new name] : (オプシ ョ ン) 仮想ソケッ ト マネージャーの新しい名前をこ こに入力します。 命名規則は次のとおりです。
° 文字、 番号、 または _ (アンダースコア) のみ使用できます。
° 最初と最後に _ (アンダースコア) は使用できません。
° __ (ダブルアンダースコア) は使用できません。
注記 : 名前の変更は、 GUI 内の別のオプシ ョ ンをク リ ッ ク、 または <Tab> キーを押すと適用されます。
• [Has Status Channel] : 選択されている仮想ソケッ ト マネージャーの AXI4-Stream ステータス チャネルを有効または無効にします。
• [Has Control Channel] : 選択されている仮想ソケッ ト マネージャーの AXI4-Stream 制御チャネルを有効または無効にします。
• [Start in Shutdown] : 選択されている仮想ソケッ ト マネージャーがシャ ッ ト ダウン ステートから動作を開始する必要がある場合は、 このオプシ ョ ンをオンにします。
• [Shutdown on Error] : エラーが検出された場合に選択されている仮想ソケッ ト マネージャーがシャッ ト ダウン ステートに遷移する必要がある場合は、 このオプシ ョ ンをオンにします。
• [Skip RM Startup After Reset] : 仮想ソケッ ト マネージャーがリセッ ト完了後、 リ コンフ ィギャブル モジュールがロード されている場合にはリ コンフ ィギャブル モジュールのスタート アップ ステップ ( リ セッ ト /ソフ ト ウェアスタート アップ) を実行します。 リセッ ト後にこの手順をスキップする場合は、 このオプシ ョ ンをオンにします。
• [Has PoR RM] : デバイスの初期コンフ ィギュレーシ ョ ン ビッ ト ス ト リームに、この仮想ソケッ ト内のリ コンフ ィギャブル モジュールが含まれる場合は、 このオプシ ョ ンをオンにして適切な リ コンフ ィギャブル モジュールを選択します。
注記 : ターゲッ ト デバイスが UltraScale デバイスの場合、 このオプシ ョ ンは必須とな り ます (1)。 この場合、 値は自動的に TRUE に設定され、 [Customize IP] のパラ メーターは無効とな り ます。
• [Number of RMs allocated] : 仮想ソケッ ト マネージャー内のリ コンフ ィギャブル モジュールに関する情報を格納するために、 どれく らいのスペースを割り当てる必要があるかを指定します。 AXI4-Lite インターフェイスを使用してフ ィールドで リ コンフ ィギャブル モジュールを追加する場合は、 この設定が必要です。 この値は、自動的に 2 のべき乗に切り上げられます。
1. スタティ ッ ク ビッ ト ス ト リーム内のリ コンフ ィギャブル パーティシ ョ ンは、 ブラ ッ ク ボッ クスまたは疑似ブラ ッ ク ボッ クス と
してインプ リ メン ト可能です (『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909) [参照 3] 参照)。 ターゲッ ト デバイスが 7 シ リーズ デバイスで、システムがリ コンフ ィギャブル パーティシ ョ ンをブラ ッ ク ボッ クス と して
元に戻す必要がない場合、 Partial Reconfiguration Controller コアはこのオプシ ョ ンを無視できます。 一方、 ターゲッ ト デバイスが
UltraScale デバイスの場合、別のリ コンフ ィギャブル モジュールがロード可能になる前にブラ ッ ク ボッ クスのク リ ア リ ング ビッ
ト ス ト リームがロード される必要があるため、そのブラ ッ ク ボッ クスをコア内で リ コンフ ィギャブル モジュールと して定義する
必要があ り ます。 リ コンフ ィギャブル パーティシ ョ ンをブラ ッ ク ボッ クス と して元に戻す必要がない場合は、 この リ コンフ ィ
ギャブル モジュールのパーティシ ョ ン ビッ ト ス ト リームのアドレスおよびサイズ情報は 0 のままにできます。 この場合は、 ト リ
ガーにマップしないでください。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 38PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
リ コンフ ィギャブル モジュールのオプシ ョ ン
• [Reconfigurable Module to Configure] : このド ロ ップダウン リ ス ト を使用して、 選択されている仮想ソケッ ト マネージャーの、 設定する リ コンフ ィギャブル モジュールを選択します。
• [Enter a new name] : (オプシ ョ ン) リ コンフ ィギャブル モジュールの新しい名前をこ こに入力します。 命名規則は次のとおりです。
° 文字、 番号、 または _ (アンダースコア) のみ使用できます。
° 最初と最後に _ (アンダースコア) は使用できません。
° __ (ダブルアンダースコア) は使用できません。
注記 : 名前の変更は、 GUI 内の別のオプシ ョ ンをク リ ッ クする と適用されます。
• [Shutdown Type] :
° [Not Required] : リ コンフ ィギャブル モジュールは、 削除の通知が必要あ り ません。
° [Hardware Only] : リ コンフ ィギャブル モジュールは削除の通知が必要あ り ますが、通知が必要なソフ ト ウェアはあ り ません。
° [HW then SW] : リ コンフ ィギャブル モジュールは削除の通知が必要であ り、またソフ ト ウェアにも通知が必要です。 リ コンフ ィギャブル モジュールが先に通知される必要があ り ます。
° [SW then HW] : リ コンフ ィギャブル モジュールは削除の通知が必要であ り、またソフ ト ウェアにも通知が必要です。 ソフ ト ウェアが先に通知される必要があ り ます。
詳細は、 31 ページの 「リ コンフ ィギャブル モジュールのハードウェア/ソフ ト ウェア シャ ッ ト ダウン」 を参照してください。
• [Startup Type] :
° [Not Required] : システム ソフ ト ウェアは、 リ コンフ ィギャブル モジュールがロード されたこ とを通知される必要があ り ません。
° [Software Only] : システム ソフ ト ウェアは、 リ コンフ ィギャブル モジュールがロード されたこ とを通知される必要があ り ます。
詳細は、 32 ページの 「リ コンフ ィギャブル モジュールのソフ ト ウェア スタート アップ」 を参照してください。
• [Reset Type] :
° [Not Required] : リ コンフ ィギャブル モジュールは、 ロード後にリセッ ト される必要があ り ません。
° [Active High] : リ コンフ ィギャブル モジュールは、ロード後にアクティブ High 信号でリセッ ト される必要があ り ます。
° [Active Low] : リ コンフ ィギャブル モジュールは、 ロード後にアクティブ Low 信号でリセッ ト される必要があ り ます。
• [Duration of Reset] : このオプシ ョ ンは、リ コンフ ィギャブル モジュールがアクティブ High またはアクティブ Lowでリセッ ト される必要がある場合にのみ利用できます。リ コンフ ィギャブル モジュールのリセッ ト信号がアサート されるクロ ッ ク サイ クル数を指定するために使用されます。
• [Bitstream 0 Address] : コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスの リ コンフ ィギャブル モジュールビッ ト ス ト リームのアドレスを示します。 32 ビッ ト境界に揃う必要があ り ます (下位 2 ビッ トは必ず 0)。
• [Bitstream 0 Size] : コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスのリ コンフ ィギャブル モジュールビッ ト ス ト リームのサイズ (単位 : バイ ト ) を示します。 32 ビッ トの倍数となる必要があ り ます (サイズの下位 2ビッ トは必ず 0)。
• [Bitstream 0 is a Clearing Bitstream] : このビッ ト ス ト リームがク リ ア リ ング ビッ ト ス ト リームの場合は、 このオプシ ョ ンをオンにします。このオプシ ョ ンは、ターゲッ ト デバイスが UltraScale デバイスの場合のみ利用できます。
• [Bitstream 1 Address] : コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスの リ コンフ ィギャブル モジュールビッ ト ス ト リームのアドレスを示します。 32 ビッ ト境界に揃う必要があ り ます (下位 2 ビッ トは必ず 0)。 このオプシ ョ ンは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ利用できます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 39PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
• [Bitstream 1 Size] : コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスのリ コンフ ィギャブル モジュールビッ ト ス ト リームのサイズ (単位 : バイ ト ) を示します。 32 ビッ トの倍数となる必要があ り ます (サイズの下位 2ビッ トは必ず 0)。 このオプシ ョ ンは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ利用できます。
• [Bitstream 1 is a Clearing Bitstream] : このビッ ト ス ト リームがク リ ア リ ング ビッ ト ス ト リームである場合は、 このオプシ ョ ンをオンにします。 このオプシ ョ ンは、 ターゲッ ト デバイスが UltraScale デバイスの場合のみ利用できます。
ト リガー オプシ ョ ン
• [Number of Hardware Triggers] : 専用のハードウェア信号からアクティブ化できる仮想ソケッ ト マネージャーの トリガー数を指定します。 詳細は、 30 ページの 「ハード ウェア ト リ ガー」 を参照してください。
• [Number of Triggers Allocated] : この仮想ソケッ ト マネージャーが持つト リガー数を指定します。
• [First Trigger to display] : 仮想ソケッ ト マネージャーには、 [Customize IP] ダイアログ ボッ クスに一度に表示できる数よ り多くの ト リガーを含めるこ とができます。一度に表示できる ト リガー数は最大 4 つで、 このド ロ ップダウン リ ス トで選択された ト リガーが最初に表示されます。
• [Trigger ID] : (読み出し専用) 表の各行にある ト リガーの識別子を示します。
• [Reconfigurable Module to Load] : この仮想ソケッ ト マネージャーの Trigger ID ト リ ガーが確認されたと きにロードする リ コンフ ィギャブル モジュールを示します。
• [Lock the Trigger] : リ コンフ ィギャブル モジュールが追加/削除される場合に、 特定のリ コンフ ィギャブル モジュールにト リガーをロ ッ クするかまたは変更するかを指定します。
デフォルトでは、 ト リ ガー T は、 識別子 T (仮想ソケッ ト マネージャーのリ コンフ ィギャブル モジュールに割り当てられる整数値) のリ コンフ ィギャブル モジュールをロード します。 つま り、 デフォルトでは、 すべての ト リガーが明確な リ コンフ ィギャブル モジュールにマップされ、 すべての リ コンフ ィギャブル モジュールを ト リガーできます。 新しいリ コンフ ィギャブル モジュールを追加する と、 ト リガーがリマップされます。
特定ト リガーのこの値を上書きする場合は、 [Reconfigurable Module to Load] オプシ ョ ンで選択した値にロ ッ ク します。 ト リ ガーがロ ッ ク されている場合、 新しい リ コンフ ィギャブル モジュールが追加されても変更されません。 その後、 ト リガーのリ コンフ ィギャブル モジュールが削除された場合、 その ト リガーはロ ッ クが解除され (ロ ッ ク されている場合)、 デフォルト値を再び使用します。
ユーザー パラメーター
表 4-1 に、Vivado IDE のフ ィールド とユーザー パラ メーターの対応関係を示します。ユーザー パラ メーターは Tcl コンソールに表示できます。
表 4-1 : カスタム パラメーターとユーザー パラメーターの対応
GUI パラメーター /値 ユーザー パラメーター /値 デフォルト値
Enable the AXI Lite Interface HAS_AXI_LITE_IF 1
Reset Active Level RESET_ACTIVE_LEVEL 0
FIFO Depth CP_FIFO_DEPTH 32
FIFO Implementation CP_FIFO_TYPE lutram
Block RAM blockram
Distributed RAM lutram
Managed Device Type CP_FAMILYデフォルトでは、 [Project Settings] で指定したデバイス タイプを使用します。
CDC Stages CDC_STAGES 6
Virtual Socket to Configure 同等のユーザー パラ メーターはあ り ません。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 40PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
Enter a New Name (仮想ソケッ ト マネージャー用)
同等のユーザー パラ メーターはあ り ません。
各仮想ソケッ ト パラ メーターの名前は、 ユーザーパラ メーター名の一部と して指定されます (下記の<vsname> 参照)。
Has Status Channel VS.<vsname>.HAS_AXIS_STATUS 0
Has Control Channel VS.<vsname>.HAS_AXIS_CONTROL 0
Start in Shutdown VS.<vsname>.START_IN_SHUTDOWN 0
Shutdown on Error VS.<vsname>.SHUTDOWN_ON_ERROR 1
Skip RM Startup After Reset VS.<vsname>.SKIP_RM_STARTUP_AFTER_RESET 0
Has PoR RMVS.<vsname>.HAS_POR_RMVS.<vsname>.POR_RM
ターゲッ ト デバイスが 7 シ リーズ デバイスの場合は 0 とな り、
ターゲ ッ ト デバイ スがUltraScale デバイ スの場合は 1とな り ます。RM_0
Number of RMs allocated VS.<vsname>.NUM_RMS_ALLOCATED 2
Reconfigurable Module to Configure 同等のユーザー パラ メーターはあ り ません。
Enter a New Name ( リ コンフ ィギャブル モジュール用)
同等のユーザー パラ メーターはあ り ません。
各リ コンフ ィギャブル モジュールの名前は、 ユーザー パラ メーター名の一部と して指定されます (下記の <rmname> 参照)。
Shutdown TypeVS.<vsname>.RM.<rmname>.SHUTDOWN_REQUIRED
no
Not Required no
Hardware Only hw
HW then SW hw/sw
SW then HW sw/hw
Startup Type VS.<vsname>.RM.<rmname>.STARTUP_REQUIRED no
Not Required no
Software Only sw
Reset Type VS.<vsname>.RM.<rmname>.RESET_REQUIRED no
Not Required no
Active High high
Active Low low
Duration of Reset VS.<vsname>.RM.<rmname>.RESET_DURATION 1
Bitstream Address VS.<vsname>.RM.<rmname>.BS.<bsid>.ADDRESS(1) 0
Bitstream Size VS.<vsname>.RM.<rmname>.BS.<bsid>.SIZE(1) 0
Bitstream is Clearing VS.<vsname>.RM.<rmname>.BS.<bsid>.CLEAR(1) 0
Number of Hardware Triggers VS.<vsname>.NUM_HW_TRIGGERS 0
Number of Triggers Allocated VS.<vsname>.NUM_TRIGGERS_ALLOCATED 2
表 4-1 : カスタム パラメーターとユーザー パラメーターの対応 (続き)
GUI パラメーター /値 ユーザー パラメーター /値 デフォルト値
Partial Reconfiguration Controller v1.0 japan.xilinx.com 41PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
Tcl ユーザー パラメーターの設定
Partial Reconfiguration Controller のプロパテ ィ は Tcl コマン ド ラ イ ンか ら直接設定でき ます。 カ ス タ ムのset_property コマンドが必要です。 prc_v1_0::set_property へアクセスするには、 Vivado の Tcl コマンド ラインで次のコマンドを実行してください。
source [get_property REPOSITORY \ [get_ipdefs *prc:1.0]]/xilinx/prc_v1_0/tcl/api.tcl -notrace
注記 : これは、 すぐに使用できるよ うに Vivado Design Suite の初期化ファイルに置いておく こ とができます。
例 :
create_ip -name prc -vendor xilinx.com -library ip -module_name dutprc_v1_0::set_property -dict [list \CONFIG.HAS_AXI_LITE_IF 0 \CONFIG.RESET_ACTIVE_LEVEL 1 \CONFIG.CP_FIFO_DEPTH 16 \CONFIG.CP_FIFO_TYPE lutram \CONFIG.VS0.HAS_AXIS_STATUS 0 \CONFIG.VS0.HAS_AXIS_CONTROL 0 \CONFIG.VS0.NUM_TRIGGERS_ALLOCATED 4 \CONFIG.VS0.NUM_HW_TRIGGERS 4 \CONFIG.VS0.NUM_RMS_ALLOCATED 2 \CONFIG.VS0.POR_RM 0 \CONFIG.VS0.SKIP_RM_STARTUP_AFTER_RESET 0 \CONFIG.VS0.START_IN_SHUTDOWN 0 \CONFIG.VS0.SHUTDOWN_ON_ERROR 0 \CONFIG.VS0.RM0.SHUTDOWN_REQUIRED no \CONFIG.VS0.RM0.STARTUP_REQUIRED no \CONFIG.VS0.RM0.RESET_REQUIRED high \CONFIG.VS0.RM0.RESET_DURATION 3 \CONFIG.VS0.RM0.BS.0.ADDRESS 0xAE9DF4 \CONFIG.VS0.RM0.BS.0.SIZE 375300 \CONFIG.VS0.RM1.SHUTDOWN_REQUIRED sw/hw \CONFIG.VS0.RM1.STARTUP_REQUIRED sw \CONFIG.VS0.RM1.RESET_REQUIRED high \CONFIG.VS0.RM1.RESET_DURATION 10 \CONFIG.VS0.RM1.BS0.ADDRESS 0xB45840 \
First Trigger to Display 同等のユーザー パラ メーターはあ り ません。
Trigger ID 同等のユーザー パラ メーターはあり ません。
「Reconfigurable Module to Load」 を参照してください。
Reconfigurable Module to Load VS.<vsname>.TRIGGER<trigger_id>_TO_RM
仮想ソ ケ ッ ト マネージャーに定義されている リ コンフ ィギャブル モジュールの trigger_id 値です。
Lock the Trigger同等のユーザー パラ メーターはあ り ません。
デフォル ト値以外の値を含む ト リ ガーのみ指定する必要があ り、 その ト リガーをロ ッ ク します。
注記 :
1. ターゲッ ト デバイスが 7 シ リーズ デバイスの場合、 <bsid> の値は 0 にのみ設定できますが、 ターゲッ ト デバイスが UltraScale デバイス
の場合、 <bsid> の値は 0 または 1 のいずれかに設定できます。
表 4-1 : カスタム パラメーターとユーザー パラメーターの対応 (続き)
GUI パラメーター /値 ユーザー パラメーター /値 デフォルト値
Partial Reconfiguration Controller v1.0 japan.xilinx.com 42PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
CONFIG.VS0.RM1.BS0.SIZE 375300 \CONFIG.VS1.HAS_AXIS_STATUS 0 \CONFIG.VS1.HAS_AXIS_CONTROL 0 \CONFIG.VS1.NUM_TRIGGERS_ALLOCATED 4 \CONFIG.VS1.NUM_HW_TRIGGERS 4 \CONFIG.VS1.NUM_RMS_ALLOCATED 2 \CONFIG.VS1.POR_RM 1 \CONFIG.VS1.SKIP_RM_STARTUP_AFTER_RESET 0 \CONFIG.VS1.START_IN_SHUTDOWN 0 \CONFIG.VS1.SHUTDOWN_ON_ERROR 0 \CONFIG.VS1.RM0.SHUTDOWN_REQUIRED hw/sw \CONFIG.VS1.RM0.STARTUP_REQUIRED no \CONFIG.VS1.RM0.RESET_REQUIRED high \CONFIG.VS1.RM0.RESET_DURATION 16 \CONFIG.VS1.RM0.BS0.ADDRESS 0xBA128C \CONFIG.VS1.RM0.BS0.SIZE 404792 \CONFIG.VS1.RM1.SHUTDOWN_REQUIRED no \CONFIG.VS1.RM1.STARTUP_REQUIRED no \CONFIG.VS1.RM1.RESET_REQUIRED high \CONFIG.VS1.RM1.RESET_DURATION 32 \CONFIG.VS1.RM1.BS0.ADDRESS 0xC0400C \CONFIG.VS1.RM1.BS0.SIZE 404792 \
] [get_ips dut]generate_target {all} [get_ips dut]
推奨 : スク リプ ト内から prc_v1_0::set_property を呼び出す場合、 ザイ リ ンクスでは、 -notrace オプシ ョ ンを使用してスク リプ ト を読み込むこ とを推奨しています。-notrace を使用しない場合、大規模なコア コンフ ィギュレーシ ョ ンでは、 完了するまで莫大な時間がかかる可能性があ り ます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 43PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
出力の生成
Partial Reconfiguration Controller は、標準的な合成およびシ ミ ュレーシ ョ ン モデルを提供しています。詳細は、『VivadoDesign Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 2] を参照してください。
さ らに、 このコアには、 コンフ ィギュレーシ ョ ン情報を含むテキス ト ファ イルが提供されており、次の場所から入手できます。
<ip source dir>/documentation/configuration_information.txt
このテキス ト ファ イルには次の情報が含まれています。
• コアを設定する際に使用するプロパティの値。
• 仮想ソケッ ト マネージャーおよびリ コンフ ィギャブル モジュールに割り当てられる整数の識別子。
° 仮想ソケッ ト マネージャーの識別子は、 仮想ソケッ ト マネージャー内のレジスタにアクセスする際に必要です。
° リ コンフ ィギャブル モジュールの識別子は、 Reconfigurable Module Information レジスタ バンク内の正しいレジスタへアクセスする際に必要です。 これらは、 動作中にト リガーを再プログラムする際にも必要です。
• 次のアドレス フ ィールドの MSB および LSB。
° Virtual Socket Manager Select
° Bank Select
° Register Select
• 生成されたコアの各レジスタのアドレス。
コアへの制約こ こでは、 Vivado Design Suite でコアに制約を指定する方法について説明します。
必須の制約
このセクシ ョ ンは、 この IP コアには適用されません。
デバイス、 パッケージ、 スピード グレードの選択
Partial Reconfiguration Controller は、 7 シ リーズおよび UltraScale デバイスの両方で動作可能です。
クロック周波数
ICAP のクロ ッ クは、 ICAP ポートの最大周波数またはそれ以下に制限されます。 使用されるデバイス ファ ミ リの最大周波数は、 各デバイスの DC 特性および AC スイ ッチ特性データシート (付録 C の 「その他のリ ソースおよび法的通知」 ) を参照してください。
クロック管理
このセクシ ョ ンは、 この IP コアには適用されません。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 44PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
クロック配置
このセクシ ョ ンは、 この IP コアには適用されません。
バンク設定
このセクシ ョ ンは、 この IP コアには適用されません。
ト ランシーバーの配置
このセクシ ョ ンは、 この IP コアには適用されません。
I/O 規格と配置
このセクシ ョ ンは、 この IP コアには適用されません。
シミ ュレーシ ョ ンVivado シ ミ ュレーシ ョ ン コンポーネン ト について、 またサポー ト されているサードパーテ ィ ツールについては、『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900) [参照 6] を参照して ください。
重要 : 7 シ リーズまたは Zynq®-7000 デバイスをターゲッ トにしたコアでは、 UNIFAST ラ イブラ リはサポート されません。 ザイ リ ンクスの IP は UNISIM ラ イブラ リでのみテス ト と認定が行われています。
合成およびインプリ メンテーシ ョ ン合成およびインプ リ メンテーシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896) [参照 2] を参照して ください。
インプリ メンテーシ ョ ン後のコア カスタマイズ次に示す仮想ソケッ ト マネージャーのレジス タ バンクのレジス タ値は、 デバイスを設定する際に使用したス タティ ッ ク ネッ ト リ ス ト内で直接設定できます。
• 「バンク 1 : Trigger to Reconfigurable Module レジスタ」
• 「バンク 2 : Reconfigurable Module Information レジスタ」
• 「バンク 3 : Bitstream Information レジスタ」
インプ リ メンテーシ ョ ン後のコア カスタマイズは、Partial Reconfiguration Controller を最初に設定する と きにパーシャル ビッ ト ス ト リーム サイズが不明の場合、 または Partial Reconfiguration Controller を最初に設定する と きに最終的なリ コンフ ィギャブル モジュール セッ トが不明の場合に役に立ちます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 45PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
重要 : ネッ ト リ ス トの変更は、オ リジナルのコア コンフ ィギュレーシ ョ ンには反映されません。オ リジナルのコア コンフ ィギュレーシ ョ ンを変更する と、 デザイン全体の新しいインプリ メンテーシ ョ ンの実行がト リガーされます。
インプ リ メンテーシ ョ ン後にコアをカスタマイズする場合は、 次のコマンドを入力してください。
1. Partial Reconfiguration Controller Tcl API をロード します。
source [get_property REPOSITORY [get_ipdefs *prc:1.0]]/xilinx/prc_v1_0/tcl/api.tcl –notrace
2. Partial Reconfiguration Controller IP のコンフ ィギュレーシ ョ ンをロード します。
° Partial Reconfiguration Controller IP の定義およびネッ ト リ ス トが既に開かれている場合は、次のコマンドを入力します。
set config [get_property CONFIG.ALL_PARAMS [get_ips <IP NAME>]]
° そ うでない場合は、 上記の代わりに次のコマンドを入力します。
open_project <path to xpr file>set config [get_property CONFIG.ALL_PARAMS [get_ips <IP NAME>]]close_project
3. 変更するネッ ト リ ス トの Partial Reconfiguration Controller インスタンス用に識別子を作成します。
set dscr [prc_v1_0::netlist::get_descriptor $config <ip path>]
注記 : <ip path> とは、 ネッ ト リ ス ト内の Partial Reconfiguration Controller インスタンスへのパスです。 たとえば、 i_prc/U0 です。
詳細は、 「必須コマンド」 を参照してください。
4. 「ハイ レベル コマンド」 または 「ロー レベル コマンド」 を使用して、 必要に応じて識別子を変更します。 次に例を示します。
prc_v1_0::netlist::set_trigger dscr vs_shift 0 rm_shift_leftprc_v1_0::netlist::set_rm_bs_address dscr vs_shift rm_shift_left 0xAE9DF4prc_v1_0::netlist::set_rm_bs_size dscr vs_shift rm_shift_left 375300
5. ネッ ト リ ス ト内にある Partial Reconfiguration Controller インスタンスの識別子に変更を適用します。
prc_v1_0::netlist::apply_descriptor dscr
6. チェッ クポイン トにネッ ト リ ス ト を保存します。
write_checkpoint Implement/Config_shift_right_count_up/top_route_design.dcp -force
ヒン ト : 「使用例」 に例を示します。
注記 : こ こで説明するコマンドは、 次の表現を使用しています。
<descriptor> get_descriptor で返されるデータ構造。
<vsm_name> 変更しよ う とする仮想ソケッ ト マネージャーの名前。
<rm_name> 変更しよ う とする リ コンフ ィギャブル モジュールの名前、 またはト リガー変更時に選択する リ コンフ ィギャブル モジュールの名前。
<table_type> 変更しよ う とするレジスタ バンクを含む表。 有効な値は、 次のとおりです。
trigger_table Trigger to Reconfigurable Module レジスタ。詳細は、表 2-7 を参照。
rm_bs_index_table Reconfigurable Module Information レジス タ内の BS IndexRegister。 詳細は、 表 2-9 を参照。
rm_ctrl_table Reconfigurable Module Information レジス タ内の ControlRegister。 詳細は、 表 2-10 を参照。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 46PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
必須コマンド
これらのコマンドは、 インプ リ メンテーシ ョ ン後にコアをカスタマイズする場合に必ず実行する必要があ り ます。
ロー レベル コマンド
これらのコマンドを実行して、 レジスタ バンクを直接インプリ メン トする表へアクセスして変更を加えます。
bs_id_table Bitstream Information レジス タ内の ID Register。 詳細は、表 2-12 を参照。
bs_address_table Bitstream Information レジスタ内の Address Register。詳細は、表 2-13 を参照。
bs_size_table Bitstream Information レジス タ内の Size Register。 詳細は、表 2-14 を参照。
表 4-2 : 必須コマンド
コマンド 説明
get_descriptor <configuration> <path to instance in netlist>
その他すべてのコマン ドで必要となるデータ構造を返します。
<configuration> は、 IP CONFIG.ALL_PARAMS パラ メータ ー の 値 で す。 こ の 値 は、 get_propertyCONFIG.ALL_PARAMS [get_ips <ip name>] を使用してアクセスできます。
apply_descriptor <descriptor> ネッ ト リ ス トに識別子情報を再び適用します。
表 4-3 : ロー レベル コマンド
コマンド 説明
get_table_entry <descriptor> <vsm_name> <table_type> <row> 仮想ソケッ ト マネージャー <vsm_name> の指定した表の行の値を取得します。
set_table_entry <descriptor> <vsm_name> <table_type> <row> <value>仮想ソケッ ト マネージャー <vsm_name> の指定した表の行の値を <value> に設定します。この値は、エラーチェッ クが実行されません。
print_table_entry <descriptor> <vsm_name> <table_type> <row> 仮想ソケッ ト マネージャー <vsm_name> の指定した表の行の値を表示します。
print_table <descriptor> <vsm_name> <table_type> <row>
仮想ソケッ ト マネージャー <vsm_name> の指定した表をすべて表示します。 このコマンドは、 アドレスの一部のみが使用されている場合でも、 すべてのメモ リを表示するこ とに留意してください。 たとえば、 デザインに 2 つのト リガーが割り当てられている場合、 トリ ガー テーブルは深さが 32 の分散 RAM にインプ リメン ト されます。 したがって、 32 行すべてが表示されます。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 47PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
ハイ レベル コマンド
これらのコマンドは、 エラー チェッ ク機能を備えた抽象化層を使用して、 値を取得および設定します。
表 4-4 : ハイ レベル コマンド
コマンド 説明
get_trigger <descriptor> <vsm_name> <trigger_id> 仮想ソ ケ ッ ト マネージ ャー <vsm_name> の ト リ ガー<trigger_id> で選択された リ コンフ ィギャブル モジュールを取得します。
set_trigger <descriptor> <vsm_name> <trigger_id> <rm_name> 仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> にト リガー <trigger_id> をマップします。
get_rm_shutdown_required <descriptor> <vsm_name> <rm_name> 仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> をシャ ッ ト ダウンするのに必要な値を取得します。
set_rm_shutdown_required <descriptor> <vsm_name> <rm_name><val>
仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> をシャ ッ ト ダウンするのに必要な値を設定します。
get_rm_startup_required <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> をスタート アップするのに必要な値を取得します。
set_rm_startup_required <descriptor> <vsm_name> <rm_name><val>
仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> をスタート アップするのに必要な値を設定します。
get_rm_reset_required <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> を リセッ トするのに必要な値を取得します。
set_rm_reset_required <descriptor> <vsm_name> <rm_name> <val>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> を リセッ トするのに必要な値を設定します。
get_rm_reset_duration <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> のリセッ ト期間の値を取得します。
set_rm_reset_duration <descriptor> <vsm_name> <rm_name> <val>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> のリセッ ト期間の値を設定します。
get_rm_bs_address <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームのメモ リ アドレスを取得します。
set_rm_bs_address <descriptor> <vsm_name> <rm_name> <address>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームのメモ リ アドレスを設定します。
get_rm_bs_size <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームのメモ リ サイズを取得します。
set_rm_bs_size <descriptor> <vsm_name> <rm_name> <size>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームのメモ リ サイズを設定します。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 48PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
get_rm_clearing_bs_address <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームのメモ リ アドレスを取得します。
set_rm_clearing_bs_address <descriptor> <vsm_name> <rm_name><address>
仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームのメモ リ アドレスを設定します。
get_rm_clearing_bs_size <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームのメモ リ サイズを取得します。
set_rm_clearing_bs_size <descriptor> <vsm_name> <rm_name><size>
仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームのメモ リ サイズを設定します。
get_rm_bs_id <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームの識別子を取得します。
set_rm_bs_id <descriptor> <vsm_name> <rm_name> <id>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のパーシャル ビ ッ ト ス トリームの識別子を設定します。
get_rm_clearing_bs_id <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームの識別子を取得します。
set_rm_clearing_bs_id <descriptor> <vsm_name> <rm_name> <id>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> 用のク リ ア リ ング ビッ ト ス トリームの識別子を設定します。
get_rm_bs_index <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> の RM_BS_INDEX レジスタから BS_INDEX フ ィールドを取得します。
set_rm_bs_index <descriptor> <vsm_name> <rm_name> <val>
[ア ドバンス ド ] BS_INDEX は、 コアのコンフ ィ ギュレーシ ョ ン中および create_rm が使用されている場合には自動で設定されるため、通常このコマンドは必要あ り ません。
RM_BS_INDEX レジスタの BS_INDEX フ ィールド を設定して、 仮想ソケッ ト マネージャー <vsm_name> の リ コンフ ィギャブル モジュール <rm_name> のパーシャル ビッ トス ト リームを含む Bitstream Information 表の行を指定します。
get_rm_clearing_bs_index <descriptor> <vsm_name> <rm_name>仮想ソケッ ト マネージャー <vsm_name> のリ コンフ ィギャブル モジュール <rm_name> の RM_BS_INDEX レジスタから CLEAR_BS_INDEX フ ィールドを取得します。
表 4-4 : ハイ レベル コマンド (続き)
コマンド 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 49PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
set_rm_clearing_bs_index <descriptor> <vsm_name> <rm_name><val>
[アドバンス ド ] BS_INDEX は、 コア コンフ ィギュレーシ ョン中および create_rm が使用されている場合には自動で設定されるため、 通常このコマンドは必要あ り ません。
RM_BS_INDEX レジスタの CLEAR_BS_INDEX フ ィールドを設定して、仮想ソケッ ト マネージャー <vsm_name> のリコンフ ィギャブル モジュール <rm_name> のク リ ア リ ングビ ッ ト ス ト リームを含む Bitstream Information 表の行を指定します。
create_rm <descriptor> <vsm_name> <rm_name> [partial_index][clearing_index]
仮想ソケッ ト マネージャー <vsm_name> に新しい リ コンフ ィ ギ ャブル モジ ュールを追加し ます。 これによ り、<rm_name> と い う 名前の新しい リ コ ンフ ィ ギャブル モジュールには、次に有効な リ コンフ ィギャブル モジュール識別子 (Reconfigurable Module Information 表内の次に有効な行) が割り当てられます。
この新しい リ コンフ ィ ギャブル モジュールの識別子が返されます。
パーシャル ビッ ト ス ト リームおよびク リ ア リ ング ビッ トス ト リーム (必要な場合) のインデッ クス値は、 オプシ ョ ンで指定可能です。 これら を指定しない場合は、 BitstreamInformation 表内の次に有効な行が使用されます。
表 4-4 : ハイ レベル コマンド (続き)
コマンド 説明
Partial Reconfiguration Controller v1.0 japan.xilinx.com 50PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
使用例
こ こで示す例は、 カスタマイズを行う際のガイ ド と して使用できます。
# Store a copy of the Partial Reconfiguration Controller's original configuration.# If the netlist to be modified is in an open project along with the # Partial Reconfiguration Controller IP, the open/close project commands will # not be needed#open_project ./Sources/generated/prc.xprset config [get_property CONFIG.ALL_PARAMS [get_ips <IP NAME>]]close_project
source [get_property REPOSITORY [get_ipdefs *prc:1.0]]/xilinx/prc_v1_0/tcl/api.tcl –notrace
# Change this to point at the core instance in the netlistset dscr [prc_v1_0::netlist::get_descriptor $config "i_prc/U0" ]
prc_v1_0::netlist::set_trigger dscr vs_shift 0 rm_shift_leftprc_v1_0::netlist::set_trigger dscr vs_shift 1 rm_shift_rightprc_v1_0::netlist::set_rm_shutdown_required dscr vs_shift rm_shift_left hwprc_v1_0::netlist::set_rm_startup_required dscr vs_shift rm_shift_left swprc_v1_0::netlist::set_rm_reset_required dscr vs_shift rm_shift_left lowprc_v1_0::netlist::set_rm_reset_duration dscr vs_shift rm_shift_left 24prc_v1_0::netlist::set_rm_bs_address dscr vs_shift rm_shift_left 0xAE9DF4prc_v1_0::netlist::set_rm_bs_size dscr vs_shift rm_shift_left 375300prc_v1_0::netlist::set_rm_bs_address dscr vs_shift rm_shift_right 0xB45840prc_v1_0::netlist::set_rm_bs_size dscr vs_shift rm_shift_right 375300prc_v1_0::netlist::set_rm_bs_address dscr vs_count rm_count_up 0xBA128Cprc_v1_0::netlist::set_rm_bs_size dscr vs_count rm_count_up 404792prc_v1_0::netlist::set_rm_bs_address dscr vs_count rm_count_down 0xC0400Cprc_v1_0::netlist::set_rm_bs_size dscr vs_count rm_count_down 404792prc_v1_0::netlist::apply_descriptor dscr
write_checkpoint Implement/Config_shift_right_count_up/top_route_design.dcp -force
重要事項
• ネッ ト リ ス トに直接変更を加えても、 オ リジナルのコア コンフ ィギュレーシ ョ ンには反映されません。 この場合、 デザイン全体のインプ リ メンテーシ ョ ンが新たに実行されます。
• コマンドは、Partial Reconfiguration Controller IP のコンフ ィギュレーシ ョ ンをベース と して、仮想ソケッ ト マネージャー内の リ コンフ ィギャブル モジュールに関する情報を取得します。 新しい リ コンフ ィギュレーシ ョ ン モジュール A がネッ ト リ ス ト に追加される と新しい識別子が作成されます。 その後、 新しい リ コンフ ィギュレーシ ョ ン モジュール B が追加された場合、 この リ コンフ ィギャブル モジュール A は IP のオ リ ジナル コンフ ィギュレーシ ョ ンには含まれていないため、 リ コンフ ィギャブル モジュール B がリ コンフ ィギャブル モジュールA を上書きします。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 51PG193 2015 年 11 月 18 日
第 4 章 : デザイン フローの手順
パーシャル ビッ トス ト リームの準備Partial Reconfiguration Controller コアで使用するためのパーシャル ビッ ト ス ト リームを作成するには、次の手順を実行する必要があ り ます。
1. write_bitstream を使用して、 .bit とい う拡張子のパーシャル ビッ ト ス ト リームを生成します。
2. 32 ビッ トの ICAP にパーシャル ビッ ト ス ト リームの形式を合わせますが、 ICAP ビッ ト スワ ップは行いません。ビッ ト スワ ップはコアで自動的に実行されます。
write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0 <bit file>" <output file>
write_cfgmem コマンドで BIN ファ イルを使用して、 次のよ うにメモ リ イ メージを生成します。
write_cfgmem <design specific options> -loaddata "up <address> <bin file>" <output>
KC705 ボード用の BPI フラ ッシュ イ メージを作成するコマンド例を次に示します。
write_cfgmem -force -checksum FF -size 32\-format MCS\-interface BPIx16\-loadbit "up 0 static.bit”\-loaddata "up 00574EFA shift_left_partial.bin\ up 005A2C20 shift_right_partial.bin\ up 005D0946 count_up_partial.bin\ up 00602006 count_down_partial.bin" \
pr_prom
使用するアド レスは、 コアにプログラムされたビッ ト ス ト リーム アド レス と一致する必要があ り ます。 また、 BINファ イル サイズもコアにプログラムされたビッ ト ス ト リーム サイズと一致する必要があ り ます。サイズ情報は、ファイル システムから取得、 または Vivado Tcl コマンド ラ インで次のコマンドを使用して取得できます。
file size <partial>.bin
この情報は、コアのコンフ ィギュレーシ ョ ン時に必要になり ますが、スタティ ッ クおよびパーシャル ビッ ト ス ト リームが生成されるまで取得できないこ とに留意してください。 この情報を使用してコアをプログラムする方法はいくつかあ り ます。
• 「インプ リ メンテーシ ョ ン後のコア カスタマイズ」 で説明したとおり、 コマンドを使用して直接ネッ ト リ ス トに値をプログラムします。
• AXI4-Lite インターフェイスを使用して、 動作中にコアをプログラムします。
• Partial Reconfiguration Controller の情報を 0 にした状態でデザイン全体をインプリ メン ト し、必要な値を取得します。その後、正しい情報を使用して Partial Reconfiguration Controller を設定し、完全なインプリ メンテーシ ョ ンを再度実行します。 この方法は、 パーシャル ビッ ト ス ト リーム ファ イルが実行ごとにサイズを変更する場合には適していません。 サイズ変更は、 ビッ ト ス ト リームの圧縮が有効に設定されている場合、 またはユーザーが次のいずれかを変更した場合に生じます。
° リ コンフ ィギャブル パーティシ ョ ンの Pblock の構成
° フレームごとの CRC などのビッ ト ス ト リーム生成オプシ ョ ン
Partial Reconfiguration Controller v1.0 japan.xilinx.com 52PG193 2015 年 11 月 18 日
付録 A
移行およびアップグレードこの付録には、 ISE® Design Suite から Vivado® Design Suite へデザインを移行する際の情報、 および最新版 IP コアへのアップグレードに関する情報が記載されています。 Vivado Design Suite でアップグレードする場合のポート変更およびユーザー ロジッ クへの影響といった重要な情報もこ こに記載されています。
Vivado Design Suite への移行Vivado Design Suite への移行方法については、 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911) [参照 7] を参照してください。
Vivado Design Suite でのアップグレードこのセクシ ョ ンは、 この IP コアには適用されません。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 53PG193 2015 年 11 月 18 日
付録 B
デバッグこの付録では、 ザイ リ ンクス® サポート ウェブサイ ト よ り入手可能な リ ソースおよびデバッグ ツールについて説明します。
ザイリンクス ウェブサイ トPartial Reconfiguration Controller を使用した設計およびデバッグでヘルプが必要な場合は、ザイ リ ンクス サポート ウェブ ページから製品の資料、 リ リース ノート、 アンサーなどを参照するか、 テクニカル サポートでケースを開いてください。
資料
この製品ガイ ドは Partial Reconfiguration Controller に関する主要資料です。このガイ ド並びに全製品の設計プロセスをサポートする資料はすべて、 ザイ リ ンクス サポート ウェブ ページ (http://japan.xilinx.com/support) またはザイ リ ンクスの Documentation Navigator から入手できます。
Documentation Navigator は、 ダウンロード ページからダウンロードできます。 このツールの詳細は、 インス トール後にオンライン ヘルプを参照してください。
アンサー アンサーには、 よ く発生する問題についてその解決方法、およびザイ リ ンクス製品に関する既知の問題などの情報が記載されています。アンサーは、ユーザーが該当製品の最新情報にアクセスできるよ う作成および管理されています。
このコアに関するアンサーの検索には、 ザイ リ ンクス サポート ウェブ ページにある検索ボッ クスを使用します。 より的確な検索結果を得るには、 次のよ うなキーワードを使用してください。
• 製品名
• ツールで表示される メ ッセージ
• 問題の概要
検索結果は、 フ ィルター機能を使用してさ らに絞り込むこ とができます。
Partial Reconfiguration Controller に関するマスター アンサー
AR : 62044
テクニカル サポート
ザイ リ ンクスは、 製品資料の説明に従って使用されている LogiCORE™ IP 製品に対するテクニカル サポート をザイリ ンクス サポート ウェブ ページで提供しています。 ただし、 次のいずれかに該当する場合、 ザイ リ ンクスはタイ ミング、 機能、 サポート を保証できません。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 54PG193 2015 年 11 月 18 日
付録 B : デバッグ
• 資料で定義されていないデバイスにソ リ ューシ ョ ンをインプリ メン ト した場合。
• 資料で許容されている範囲を超えてカスタマイズした場合。
• 「DO NOT MODIFY」 と されているデザイン セクシ ョ ンに変更を加えた場合。
ザイ リ ンクス テクニカル サポートへのお問い合わせに関しては、ザイ リ ンクス サポート ウェブ ページを参照してください。
デバッグ ツール
Vivado Design Suite のデバッグ機能
Vivado® Design Suite のデバッグ機能は、 Logic Analyzer および Virtual I/O コアをユーザーのデザインに直接挿入します。 デバッグ機能を使用する と、 ト リ ガー条件を設定して、 ハード ウェアでアプリ ケーシ ョ ンおよび統合ブロ ッ クのポート信号をハード ウェアに取り込むこ とができます。 取り込まれた信号は、 その後解析できます。 Vivado IDE のこの機能は、 ザイ リ ンクス デバイスで実行されるデザインの論理デバッグおよびバリデーシ ョ ンに使用されます。
Vivado ロジッ ク解析は次の IP ロジッ ク デバッグ コアと共に使用されます。
• ILA 2.0 (およびそれ以降のバージ ョ ン)
• VIO 2.0 (およびそれ以降のバージ ョ ン)
詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) [参照 8] を参照してください。
ハードウェア デバッグPartial Reconfiguration Controller が新しい リ コンフ ィギャブル モジュールをロード しない場合のデバッグに役立つヒン ト を次に示します。
• コアがリセッ ト ステートでないこ とを視覚的に確認します。 リセッ ト レベルはプログラム可能であ り、ユーザーデザインのリセッ トのアクティブ レベルと同じである必要があ り ます。
• 問題がある仮想ソケッ ト マネージャーの AXI4-Stream ステータス チャネルを有効にします。 これによ り、仮想ソケッ ト マネージャーの動作を リ アルタイムで監視できます。 こ こで、 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスおよび ICAP インターフェイスに ILA を追加する と非常に有効です。
• 問題がある仮想ソケッ ト マネージャーがシャッ ト ダウン ステートでないこ とを確認します。これは、ステータス情報のビッ トで確認できます。仮想ソケッ ト マネージャーがシャッ ト ダウン ステートの場合は、適切な Restartコマンドを使用して、 シャ ッ ト ダウンから回復させてください。
• レジスタが適切にプログラムされているこ とを確認します。 入力される ト リガーが Trigger to ReconfigurableModule レジスタ バンクの行を選択し、 これによ り使用する Reconfigurable Module Information レジスタ バンク内の行番号が提供されます。 この行の RM_BS_INDEX レジスタが、 使用する Bitstream Information レジスタ バンクの行番号を示します。 そして、 この行のレジスタが、 ロード されるビッ ト ス ト リームのメモ リ サイズおよびアドレス情報を提供します。 これらの情報は、 コアの生成時に適切に設定されますが、 AXI Lite インターフェイスを介してプログラムされた場合は適切でない可能性があ り ます。
° こ こで、 コンフ ィギュレーシ ョ ン ラ イブラ リ インターフェイスの ILA が役立ちます。 m_axi_mem_araddrは、 仮想ソケッ ト マネージャーがビッ ト ス ト リームをフェッチしよ う と しているアドレスを示します。
• コアにプログラムされたメモ リ アドレスにビッ ト ス ト リームがロード されているこ とを確認してください。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 55PG193 2015 年 11 月 18 日
付録 B : デバッグ
° こ こで、 コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスの ILA が役立ちます。 m_axi_mem_rdataには、 メ モ リ か ら読み出されたビ ッ ト ス ト リ ームが含まれています。 こ こ には、 すぐに同期ワー ド0xAA995566 (31:0) が含められる必要があ り ます。
° Linux コマンド xxd -c 4 を使用して、 BIN ファ イルを HEX ファ イルに変換します。 m_axi_mem_rdataに現れるデータは、 この HEX データ と一致する必要があ り ます。
• コアにプログラムされたビッ ト ス ト リーム サイズの単位は、 ワードではなくバイ トであるこ とを確認します。
• ビッ ト ス ト リームがコア用に適切にフォーマッ ト されているこ とを確認します。
° ビッ ト ス ト リームは、 「パーシャル ビッ ト ス ト リームの準備」 で説明したとおりに生成される必要があ ります。
° こ こで、 コンフ ィギュレーシ ョ ン ライブラ リ インターフェイスの ILA が役立ちます。 m_axi_mem_rdataには、 メ モ リ か ら読み出されたビ ッ ト ス ト リ ームが含まれています。 こ こ には、 すぐに同期ワー ド0xAA995566 (31:0) が含められる必要があ り ます。
• ILA を使用して、 ICAP インターフェイスを確認します。
° アービタ回路が実装されている場合は、 この回路に ICAP ポートへのアクセス権が許可されているこ とを確認します。
° アービタ回路が実装されていない場合は、CAP_GNT ポートが 1 に接続されており、CAP_REL ポートが 0 に接続されているこ とを確認します。
• ステータス チャネルでエラーの有無を確認します。
• 仮想ソケッ ト マネージャーが、 次のいずれかの ACK 信号を待機していないこ とを確認します。
° リ コンフ ィギャブル モジュールやソフ ト ウェアからのシャ ッ ト ダウン ACK 信号。
° ソフ ト ウェアからのスタート アップ ACK 信号。
Partial Reconfiguration Controller v1.0 japan.xilinx.com 56PG193 2015 年 11 月 18 日
付録 C
その他のリソースおよび法的通知
ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照してください。
参考資料次の資料は、 この製品ガイ ドの補足資料と して役立ちます。
1. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994 : 英語版、日本語版)
2. 『Vivado Design Suite ユーザー ガイ ド : IP を使用した設計』 (UG896 : 英語版、 日本語版)
3. 『Vivado Design Suite ユーザー ガイ ド : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG909 : 英語版、 日本語版)
4. 『Vivado Design Suite チュート リ アル : パーシャル リ コンフ ィギュレーシ ョ ン』 (UG947)
5. 『Vivado Design Suite ユーザー ガイ ド : 入門』 (UG910 : 英語版、 日本語版)
6. 『Vivado Design Suite ユーザー ガイ ド : ロジッ ク シ ミ ュレーシ ョ ン』 (UG900 : 英語版、 日本語版)
7. 『ISE から Vivado Design Suite への移行ガイ ド』 (UG911 : 英語版、 日本語版)
8. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908 : 英語版、 日本語版)
9. ザイ リ ンクスのウェブ サイ ト : Vivado Design Suite のパーシャル リ コンフ ィギュレーシ ョ ン
10. 『Artix-7 FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS181 : 英語版、 日本語版)
11. 『Kintex-7 FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS182 : 英語版、 日本語版)
12. 『Virtex-7 T/XT FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS183 : 英語版、 日本語版)
13. 『Zynq-7000 All Programmable SoC (Z-7010、 Z-7015、 Z-7020) : DC 特性および AC スイ ッチ特性』 (DS187 : 英語版、 日本語版)
14. 『Zynq-7000 All Programmable SoC (Z-7030、 Z-7035、 Z-7045、 Z-7100) : DC 特性および AC スイ ッチ特性』 (DS191 : 英語版、 日本語版)
Partial Reconfiguration Controller v1.0 japan.xilinx.com 57PG193 2015 年 11 月 18 日
付録 C : その他のリソースおよび法的通知
改訂履歴次の表に、 この文書の改訂履歴を示します。
法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」 、 法人その他の団体の場合には 「貴社」 。 以下同じ )に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適
用される法律が許容する最大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供
され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれら
に限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴
社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、
直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の損失、
その他あらゆる種類の損失や損害を含みます) が含まれる ものと し、 それは、 たとえ当該損害や損失が合理的に予見可能であった
り、ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。ザイ リ ンクスは、本情報に含まれる
いかなる誤り も訂正する義務を負わず、本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いません。事前
の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一定の製品は、
ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件
を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したラ イセンスに含まれる保証と補助的条件に従う こ とに
な り ます。ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用する
ために、設計されたり意図されたり していません。そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ ス
ク と責任は、 貴殿または貴社が単独で負う ものです。 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照
してください。
© Copyright 2015 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含まれる
その他の指定されたブランドは、米国およびその他各国のザイ リ ンクス社の商標です。すべてのその他の商標は、それぞれの保有者
に帰属します。
この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの
右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で
入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受
け付けており ません。 あらかじめご了承ください。
日付 バージョ ン 内容
2015 年 11 月 18 日 1.0 UltraScale+ ファ ミ リのサポート追加。
2015 年 4 月 1 日 1.0 初版