eFUSE の FUSE_CNTL ビ ッ ト は、 特別デバ イ ス機能へのア ク セ ス を制御 し ます。
7 シ リ ーズデバ イ ス では、図6-8 のダ イ ア ロ グボ ッ ク ス を使用 し て FUSE_CNTL を指定 し ます。
UltraScale デバ イ ス では、図6-9 のダ イ ア ロ グボ ッ ク ス を使用 し て FUSE_CNTL を指定 し ます。
X-Ref Target - Figure 6-8
図 6-8 : [Program eFUSE Registers] ダ イ ア ログボ ッ ク ス : [Ctrrol Register Setup] (7 シ リ ーズ)
X-Ref Target - Figure 6-9
図 6-9 : [Program eFUSE Registers] ダ イ ア ロ グボ ッ ク ス : [Ctrrol Register Setup] (UltraScale)
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 51 UG908 (v2015.4) 2016 年 2 月 2 日
FUSE_SEC (UltraScale FPGA のみ )
eFUSE の FUSE_SEC ビ ッ ト は、UltraScale デバ イ ス での特別セキ ュ リ テ ィ 設定を制御 し ます。図6-10 に示す よ う に、
セキ ュ リ テ ィ 機能を制御す る eFUSE ビ ッ ト は 6 個あ り ます。 詳細は、 『Ultrascale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レー シ ョ ンユーザーガ イ ド 』 (UG570) [参照11] を参照 し て く だ さ い。
重要:JTAG Distable ビ ッ ト がプ ロ グ ラ ム さ れてい る 場合、JTAG イ ン タ ーフ ェ イ ス がデ ィ ス エーブルにな り 、 デバ イ ス を テ ス ト お よ び コ ン フ ィ ギ ュ レー ト で き な く な り ます。 こ の ビ ッ ト は、JTAG を使用 し てデバ イ ス にア ク セ スす る 必要がない場合にのみプ ロ グ ラ ム し て く だ さ い。
こ れ ら の コ ン フ ィ ギ ュ レーシ ョ ン機能の詳細は、 『Ultrascale アーキ テ ク チ ャ コ ン フ ィ ギ ュ レーシ ョ ンユーザーガ イ ド 』 (UG570) [参照11] ま たは 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ンユーザーガ イ ド 』 (UG470) [参照9] を参照 し て く だ さ い。
X-Ref Target - Figure 6-10
図 6-10 : [Program eFUSE Registers] ダ イ ア ログボ ッ ク ス : [Security Register Setup] ページ
シ ス テム モニ タ ー
シ ス テ ム モニ タ ー (SYSMON) のアナ ロ グ/デジ タ ル コ ンバー タ ー (ADC) は、 ハー ド ウ ェ ア デバ イ ス のダ イ 温度 と 電 圧を計測 し ます。SYSMON は、 オンチ ッ プ温度お よ び電源セ ンサーを使用 し て物理環境を監視 し ます。ADC は、 広 範囲のアプ リ ケーシ ョ ンに対 し 高精度のアナ ロ グ イ ン タ ーフ ェ イ ス を提供 し ます。
ADC は、17 個 ま で の外部 ア ナ ロ グ 入力チ ャ ネ ルに ア ク セ ス で き ま す。 特定デバ イ ス ア ー キ テ ク チ ャ の詳細は、
『UltraScale アー ク テ ク チ ャシ ス テ ムモニ タ ーユーザーガ イ ド 』 (UG580) [参照12] ま たは 『7 シ リ ーズ FPGA の XADC 12 ビ ッ ト 1MSPS デュ アル アナ ロ グ-デジ タ ル コ ンバータ ー ユーザー ガ イ ド 』 (UG480) [参照10] を参照 し て く だ さ い。
hw_sysmon のデー タ は、hw_sysmon_reg オブジ ェ ク ト を使用 し て ア ク セ ス可能な ス テー タ ス レ ジ ス タ と 呼ばれ る 専用 レ ジ ス タ に格納 さ れます。 シ ス テ ム モニ タ ー レ ジ ス タ の内容を取得す る には、get_hw_sysmon_reg コ マ ン ド を使 用 し ます。
シ ス テ ムモニ タ ーをサポー ト す る すべてのデバ イ ス には、refresh_hw_device が呼び出 さ れた と き に作成 さ れ る hw_sysmon オブジ ェ ク ト が 1 つ ま たは複数含 ま れ ます。hw_sysmon オブジ ェ ク ト が作成 さ れ る と 、 すべての温度 と 電圧レ ジ ス タ お よ び制御 レ ジ ス タ に対 し て、1 つのプ ロ パテ ィ が割 り 当て ら れ ます。hw_sysmon オブジ ェ ク ト では、
温度お よ び電圧レ ジ ス タ に割 り 当て ら れた値は既に摂氏/華氏お よ びボル ト に変換 さ れてい ます。
get_hw_sysmon_reg コ マ ン ド を使用 し て シ ス テ ム モニ タ ーの レ ジ ス タ に格納 さ れた 16 進数値を取得す る こ と も で き ますが、一部の レ ジ ス タ の値は hw_sysmon オブジ ェ ク ト の フ ォーマ ッ ト さ れたプ ロ パテ ィ と し て取得す る こ と も で き ます。た と えば、次の コ ー ド を使用す る と 、レ ジ ス タ の 16 進数に直接ア ク セ スす る のではな く 、指定 さ れた hw_sysmon オブジ ェ ク ト の TEMPERATURE プ ロ パテ ィ を取得で き ます。
set opTemp [get_property TEMPERATURE [lindex [get_hw_sysmons] 0]
シ ス テ ムモニ タ ーの コ マ ン ド リ ス ト は、120ページの表9-11 を参照 し て く だ さ い。
X-Ref Target - Figure 6-11
図 6-11 :シ ス テムモニ タ ー
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 53 UG908 (v2015.4) 2016 年 2 月 2 日
デザイ ンのデバ ッ グ
FPGA デザ イ ンのデバ ッ グは複数の段階を含む反復作業です。 複雑な問題を処理す る 場合 と 同様に、FPGA デザ イ ン
のデバ ッ グプ ロ セ ス も 、一度にデザ イ ン全体を処理す る のではな く 、 細分化 し てセ ク シ ョ ン ご と に集中 し て作業す る のがベス ト です。1 回に 1 モジ ュ ールを追加 し なが ら デザ イ ン フ ロ ーを反復 し 、 デザ イ ン全体の中でそれを正 し く 機 能 さ せ る よ う にす る のが、 実績のあ る デザ イ ンお よ びデバ ッ グ手法の 1 つです。 こ の設計お よ びデバ ッ グ手法は、 次 のデザ イ ン フ ロ ー段階のど の組み合わせでで も 使用で き ます。
• RTL レベルのデザ イ ン シ ミ ュ レーシ ョ ン
• イ ンプ リ メ ン テーシ ョ ン後のデザ イ ン シ ミ ュ レーシ ョ ン
• イ ン シ ス テ ム デバ ッ グ
RTL レ ベル デザイ ン シ ミ ュ レーシ ョ ン
シ ミ ュ レーシ ョ ン検証プ ロ セ ス中にデザ イ ンの機能をデバ ッ グで き ます。 ザ イ リ ン ク ス の Vivado® IDE では、 フル デ ザ イ ン シ ミ ュ レーシ ョ ン機能が提供 さ れてい ます。 デザ イ ンの RTL シ ミ ュ レーシ ョ ン を実行す る には、Vivado デザ イ ン シ ミ ュ レー タ を使用で き ます。RTL レベル シ ミ ュ レーシ ョ ン環境でデザ イ ン デバ ッ グ を実行す る と 、 デザ イ ン 全体を完全に表示で き 、 デザ イ ン/デバ ッ グサ イ ク ルをすばや く 反復実行で き る な ど の利点があ り ますが、 大型デザ イ ン を妥当な時間内にシ ミ ュ レーシ ョ ン し た り 、 実際のシ ス テ ム環境を正確にシ ミ ュ レーシ ョ ンす る のが困難であ る な ど の制限があ り ます。Vivado シ ミ ュ レー タ の使用については、 『Vivado Design Suite ユーザーガ イ ド : ロ ジ ッ ク シ
ミ ュ レーシ ョ ン』 (UG900) [参照1] を参照 し て く だ さ い。
イ ン プ リ メ ン テーシ ョ ン後のデザイ ン シ ミ ュ レー シ ョ ン
Vivado シ ミ ュ レー タ は、 イ ン プ リ メ ン テーシ ョ ン後のデザ イ ン シ ミ ュ レーシ ョ ンに も 使用で き ます。Vivado シ ミ ュ レー タ を使用 し て イ ンプ リ メ ン テーシ ョ ン後のデザ イ ン をデバ ッ グす る と 、 デザ イ ンの タ イ ミ ン グ精度の高いモデル を使用で き る な ど の利点があ り ますが、 前のセ ク シ ョ ンで述べた よ う に、 ラ ン タ イ ムが長い こ と や、 シ ス テ ム モデル での正確 さ な ど の制限があ り ます。
イ ン シ ス テム ロ ジ ッ ク デザイ ンのデバ ッ グ
Vivado Design Suite には、 イ ンプ リ メ ン テーシ ョ ン後の FPGA デザ イ ン を イ ン シ ス テ ムでデバ ッ グで き る ロ ジ ッ ク 解 析機能 も あ り ます。 イ ン シ ス テ ムでのデザ イ ンのデバ ッ グには、 イ ンプ リ メ ン テーシ ョ ン後のデザ イ ン を、 実際のシ ス テ ム環境で、 シ ス テ ム ス ピー ド で、 タ イ ミ ン グ精度の高いデバ ッ グ を実行で き る と い う 利点があ り ますが、 シ ミ ュ レーシ ョ ンモデルを使用 し た場合に比べてデバ ッ グ信号を確認 し づ ら い、デザ イ ンのサ イ ズや複雑 さ に よ っ てはデザ イ ン/イ ンプ リ メ ン テーシ ョ ン/デバ ッ グの反復実行の ラ ン タ イ ムが長 く な る 可能性があ る な ど の制限があ り ます。
Vivado ツールでは複数のデバ ッ グ方法が提供 さ れてい る ので、 必要に応 じ て、 こ れ ら の方法のいずれか を使用 し てデ ザ イ ン をデバ ッ グで き ます。Vivado Design Suite の イ ン シ ス テ ム ロ ジ ッ クデバ ッ グ機能については、第8章 「 イ ン シ ス テ ム ロ ジ ッ ク デザ イ ンのデバ ッ グ フ ロ ー」 で説明 し ます。
イ ン シ ス テム シ リ アル I/O デザイ ンのデバ ッ グ
イ ン シ ス テ ム シ リ アル I/O の検証お よ びデバ ッ グ を可能にす る ため、Vivado Design Suite にはシ リ アル I/O 解析機能 が含ま れてい ます。 こ の機能を使用す る と 、FPGA ベース シ ス テ ムの高速シ リ アル I/O リ ン ク を計測お よ び最適化で き ます。Vivado シ リ アル I/O 解析機能は、 単純な ク ロ ッ ク や接続の問題か ら 複雑なマージ ン解析お よ びチ ャ ネル最適 化の問題ま で、 さ ま ざ ま な イ ン シ ス テ ムデバ ッ グお よ び検証の問題を解決す る ために使用で き ます。Vivado シ リ ア ル I/O 解析機能を使用す る と 、 ほかの外部装置を使用す る の と 比較 し て、 受信信号に レ シーバー イ コ ラ イ ゼーシ ョ ン が適用 さ れた後の信号の質が計測 さ れ る と い う 利点があ り ます。 こ れに よ り 、TX か ら RX へのチ ャ ネルの最適なポ イ ン ト 、 つま り 実際の正 し いデー タ が計測 さ れます。
Vivado ツールでは、 ギガ ビ ッ ト ト ラ ン シーバー エン ド ポ イ ン ト を実行す る ために使用 さ れ る デザ イ ンお よ び ラ ン タ イ ム ソ フ ト ウ ェ ア を生成で き 、 高速シ リ アル I/O チ ャ ネルを計測 し 、 最適化す る のに利用で き ます。IBERT デザ イ ン を生成す る 方法は、第11章 「 イ ン シ ス テ ム シ リ アル I/O デバ ッ グ フ ロ ー」 を参照 し て く だ さ い。 ラ ン タ イ ム Vivado シ リ アル I/O 解析機能の使用方法は、第12章 「ハー ド ウ ェ アでのシ リ アル I/O デザ イ ンのデバ ッ グ」 を参照 し て く だ さ い。
Vivado プ ロ グ ラ ムおよびデバ ッ グ japan.xilinx.com 55 UG908 (v2015.4) 2016 年 2 月 2 日
イ ン シス テム ロ ジ ッ ク デザイ ンのデバ ッ グ フ ロー
Vivado®ツールには、実際のハー ド ウ ェ アデバ イ ス上でデザ イ ンの イ ン シ ス テ ムデバ ッ グ を実行す る 機能が多数含ま
れてい ます。 イ ン シ ス テ ム デバ ッ グ フ ロ ーには、 次の 3 つの段階があ り ます。
1. プ ロ ーブ : デザ イ ンでプ ロ ーブす る 信号を特定 し 、 プ ロ ーブ方法を指定 し ます。
2. イ ンプ リ メ ンテーシ ョ ン : プ ローブする ネ ッ ト に追加 さ れたデバ ッ グ IP を含むデザ イ ン を イ ンプ リ メ ン ト し ます。
3. 解析 : デザ イ ンに含まれ る デバ ッ グ IP にア ク セ ス し 、 機能的な問題をデバ ッ グお よ び検証 し ます。
こ の イ ン シ ス テ ム デバ ッ グ フ ロ ーは、前のセ ク シ ョ ンで説明 し た反復デザ イ ン/デバ ッ グ フ ロ ーを使用す る こ と を意 図 し てい ます。 イ ン シ ス テ ムデバ ッ グ フ ロ ーを使用す る 場合は、 デザ イ ンサ イ ク ルので き る だけ早い段階で、 デザ イ ン の一部がハー ド ウ ェ アで機能す る よ う にす る こ と をお勧め し ます。 こ の章では、 イ ン シ ス テ ム デバ ッ グ フ ロ ー の 3 つの段階を説明 し 、Vivado ロ ジ ッ ク デバ ッ グ機能を使用 し てデザ イ ン がハー ド ウ ェ ア上で機能す る よ う にす る 方法を示 し ます。
イ ン シ ス テム デバ ッ グ用のデザイ ンのプ ローブ
イ ン シ ス テ ム デバ ッ グ フ ロ ーのプ ロ ーブ段階には、 次の 2 つの段階があ り ます。
1. プ ロ ーブす る 信号ま たはネ ッ ト を特定
2. デザ イ ンにデバ ッ グ コ ア を追加す る 方法を決定
多 く の場合、 プ ロ ーブす る 信号お よ びそのプ ロ ーブ方法は、 ほかの信号のプ ロ ーブに影響 し ま す。 ま ず、 デザ イ ン ソ ースコ ー ド にデバ ッ グ IP コ ン ポーネ ン ト イ ン ス タ ン ス を手動で追加す る か (HDL イ ン ス タ ン シエーシ ョ ンプ ロ ー ブ フ ロ ー)、 合成済みネ ッ ト リ ス ト に Vivado ツールで自動的にデバ ッ グ コ アが追加 さ れ る よ う にす る か (ネ ッ ト リ ス
ト 挿入プ ロ ーブフ ロ ー) を決定する と 有益です。表8-1 に、 異な る デバ ッ グ方法の利点 と 欠点を示 し ます。