...

ザイリンクス XAPP538 : 優先エッセンシャル ビットを使用したソフト

by user

on
Category: Documents
4

views

Report

Comments

Transcript

ザイリンクス XAPP538 : 優先エッセンシャル ビットを使用したソフト
ア プ リ ケーシ ョ ン ノ ー ト : Virtex-6 お よび 7 シ リ ーズ FPGA
優先エ ッ セ ン シ ャ ル ビ ッ ト を使用 し た
ソ フ ト エ ラ ーの軽減
XAPP538 (v1.0) 2012 年 4 月 4 日
著者 : Robert Le
概要
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ で ソ フ ト エ ラ ーが生 じ る と 、デザ イ ンが破損す る 可能性があ り ます。 し
か し 、 ザ イ リ ン ク ス FPGA へ ロ ー ド さ れたデザ イ ン の正常動作は、 通常 コ ン フ ィ ギ ュ レーシ ョ ン メ モ
リ セルのわずかな割合に し か関与 し ません。 こ のアプ リ ケーシ ョ ン ノ ー ト では、 ユーザー デザ イ ン で
特定の階層領域を定義 し 、 ISE® デザ イ ン ツール (13.4 ま たはそれ以降) を使用 し て定義 し たユーザー
ロ ジ ッ ク に関連 し た優先エ ッ セ ン シ ャ ル ビ ッ ト を特定す る 方法について説明 し ます。 さ ら に、 優先エ ッ
セ ン シ ャ ル ビ ッ ト と LogiCORE™ IP の Soft Error Mitigation (SEM) Controller を併用 し て、 ザ イ リ ン
ク ス の 7 シ リ ーズお よ び Virtex®-6 FPGA の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の ソ フ ト エ ラ ーを検出お
よ び訂正す る 方法について も 解説 し ます。 こ の方法に よ り 、 FIT (Failure In Time : 故障率) が低減 し 、 デ
ザ イ ン の有用性が向上 し ます。 こ こ では、 付属す る リ フ ァ レ ン ス デザ イ ン を使用 し てデザ イ ン フ ロ ー
を説明 し ます。
は じ めに
コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ は、幅の広い ス タ テ ィ ッ ク RAM の よ う に多数の フ レーム で構成 さ れて
い ます。 大半のデバ イ ス フ ァ ミ リ ではエ ラ ー訂正 コ ー ド (ECC) で各フ レーム が保護 さ れ、 すべてのデ
バ イ ス フ ァ ミ リ では巡回冗長検査 (CRC) で全フ レームが保護 さ れます。 こ れ ら 2 つの機能は相補的に
作用 し ます。 つま り 、 CRC はエ ラ ー検出に優れてお り 、 ECC はエ ラ ーの位置を高い精度で特定 し ます。
FPGA 内のすべての コ ン フ ィ ギ ャ ラ ブル リ ソ ース は、1 つま たは複数の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ
ビ ッ ト で定義 さ れてい ます。
ソ フ ト エ ラ ー と は、 電離放射線に よ っ て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ ビ ッ ト の ス テー ト に意図 し な
い変更が起 こ る こ と です。 ソ フ ト エ ラ ーで ク リ テ ィ カル ビ ッ ト が変更 さ れ る と 、 デザ イ ン の機能が破
損す る 可能性があ り ます ( こ こ では、 ス テー ト が変更 さ れ る と 機能不具合を起 こ すビ ッ ト を ク リ テ ィ カ
ル ビ ッ ト と い う )。 ザ イ リ ン ク ス FPGA へ ロ ー ド さ れたデザ イ ンは、 通常一部の コ ン フ ィ ギ ャ ラ ブル メ
モ リ セルのみ使用 し ます。 使用 し ないセルの メ モ リ ビ ッ ト は、 デザ イ ンに と っ て重要ではあ り ません。
し たが っ て、 ソ フ ト エ ラ ーの検出お よ び訂正は、 デザ イ ン回路に関わ る コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ
ト のみを対象にすれば よ い こ と にな り ます ( こ こ では、 デザ イ ン回路に関わ る ビ ッ ト を エ ッ セ ン シ ャ ル
ビ ッ ト と いい、 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト の一部であ る )。
ザ イ リ ン ク ス のエ ッ セ ン シ ャ ル ビ ッ ト テ ク ノ ロ ジは、 コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト の中か ら エ ッ セ
ン シ ャ ル ビ ッ ト を識別す る アルゴ リ ズ ム を使用 し ま す。 エ ッ セ ン シ ャ ル ビ ッ ト が反転す る と 、 デザ イ
ン回路は変更 さ れますが、 デザ イ ンの機能に影響を及ぼ さ ない場合 も あ り ます。 ザ イ リ ン ク ス のエ ッ セ
ン シ ャ ル ビ ッ ト テ ク ノ ロ ジは、 FIT を大幅に低減 し 、 デザ イ ンの有用性を高め る のに効果的な方法を提
供す る ために開発 さ れま し た。 こ のテ ク ノ ロ ジに よ り 、 シ ス テ ム を オ フ ラ イ ン状態にす る 致命的な不具
合の よ う に反転ビ ッ ト をすべて処理す る 必要がな く な る ため、 シ ス テ ムの可用性が向上 し ます。 さ ら に、
よ り 高い信頼性基準 も 達成で き ます。
ザ イ リ ン ク ス は、 エ ッ セ ン シ ャ ル ビ ッ ト テ ク ノ ロ ジの効果を高め る ために、 エ ッ セ ン シ ャ ル ビ ッ ト リ
ス ト に優先フ ィ ル タ ーをかけ る 方法を提供 し てい ます。 こ れを利用 し て、 デザ イ ンに定義 し た特定の階
層領域に基づいてエ ッ セ ン シ ャ ル ビ ッ ト フ ァ イ ルに優先フ ィ ル タ ーを かけ る こ と がで き ます。 こ の方
法で フ ィ ル タ リ ン グ し た ビ ッ ト を優先エ ッ セ ン シ ャ ル ビ ッ ト と 呼びます。
ク リ テ ィ カル ビ ッ ト を判断する のはシ ス テ ム設計者のみ可能です。デザ イ ンの完全な ク リ テ ィ カル ビ ッ
ト リ ス ト を生成す る には、 デザ イ ン の コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト を 1 つずつ移動 さ せなが ら 正 し
いデザ イ ン動作を検証 し なければな ら ないため、 莫大な時間を要 し ます。 こ のためには、 指定 し た領域
© Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United
States and other countries. All other trademarks are the property of their respective owners.
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
1
は じ めに
がデザ イ ン の正常動作に と っ てエ ッ セ ン シ ャ ルか非エ ッ セ ン シ ャ ル (必須か否か) に分類す る 必要があ
り ます (つま り 、 1 つの領域にエ ッ セ ン シ ャ ル ビ ッ ト と 非エ ッ セ ン シ ャ ル ビ ッ ト は混在 し ない)。 た と え
ば、 デザ イ ンの鍵 と な る ス テー ト マシ ンは、 優先フ ィ ル タ ーでデザ イ ンの正常動作にエ ッ セ ン シ ャ ル と
判断 さ れ、 デバ ッ グ専用モジ ュ ールは、 デザ イ ンの正常動作には非エ ッ セ ン シ ャ ル と 分類 さ れます。
図 1 に、 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト 、 エ ッ セ ン シ ャ ル ビ ッ ト 、 優先エ ッ セ ン シ ャ ル ビ ッ
ト 、 お よ び ク リ テ ィ カル ビ ッ ト の関係を示 し ます。
X-Ref Target - Figure 1
Device
Configuration Bits
Essential Bits
Prioritized
Essential Bits
Critical Bits
X538_01_020412
図 1 : デバイ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト 、 エ ッ セ ン シ ャル ビ ッ ト 、
優先エ ッ セ ン シ ャル ビ ッ ト 、 および ク リ テ ィ カル ビ ッ ト の関係
SEM Controller は、 ザ イ リ ン ク ス FPGA の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の ソ フ ト エ ラ ーを検出お よ
び訂正す る 、 自動 コ ン フ ィ ギ ュ レーシ ョ ンで検証済みの ソ リ ュ ーシ ョ ンです。 SEM Controller は ソ フ ト
エ ラ ーを防 ぐ こ と はで き ませんが、 ソ フ ト エ ラ ーに よ る シ ス テ ム レベルの影響を適切に管理す る 手段
を提供 し ます。 エ ラ ーに適切に対処す る こ と で、 デザ イ ンの信頼性 と 可用性が向上 し 、 シ ス テ ムの管理
コ ス ト お よ びダ ウ ン タ イ ム コ ス ト を削減で き ます。 SEM Controller は、 オプシ ョ ン と し てエ ラ ー分類
機能 も サポー ト し ます。 こ の機能は、 ル ッ ク ア ッ プ テーブルを用いて ソ フ ト エ ラ ー イ ベン ト に よ っ て
エ ッ セ ン シ ャ ルな コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ ビ ッ ト が変更 さ れたか ど う か を判断 し ます。 こ の機
能を活用す る こ と で、 実際の FIT が低減 し ます。 使用の際には、 エ ッ セ ン シ ャ ル ビ ッ ト フ ァ イ ルを含
むル ッ ク ア ッ プ テーブルを格納す る ための外部記憶装置が必要です。 こ の フ ァ イ ルを使用 し て、 コ ン
フ ィ ギ ュ レーシ ョ ン ビ ッ ト がエ ッ セ ン シ ャ ルま たは非エ ッ セ ン シ ャ ルであ る か を判断 し ます。優先エ ッ
セ ン シ ャ ル ビ ッ ト を使用す る 場合は、 ル ッ ク ア ッ プ テーブルの内容が優先エ ッ セ ン シ ャ ル ビ ッ ト フ ァ
イ ルで置 き 換え ら れます。 こ のデザ イ ン フ ロ ーに関 し ては、 ISE デザ イ ン ツールで こ の フ ァ イ ルを生成
す る 方法 と 共に後に詳 し く 説明 し ます。
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
2
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
優先エ ッ セ ン シ ャ
ル ビ ッ ト の生成お
よび使用
図 2 に、 優先エ ッ セ ン シ ャ ル ビ ッ ト の生成お よ び使用の大ま かな フ ロ ーを示 し ます。
X-Ref Target - Figure 2
Identify one (or more) hierarchical
regions of interest in RTL
Synthesize design and keep hierarchy
constant for regions of interest
In UCF, place region(s) of interest
in one (or more) area group(s)
Implement design through ISE tools
Modify and use provided FPGA editor
script to extract components/nets
in the regions of interest
Use BitGen to generate the user-defined
prioritized essential bits file
Use the user-defined prioritized
essential bits file to classify
errors detected by SEM IP
X538_02_022412
図 2 : 優先エ ッ セ ン シ ャ ル ビ ッ ト の生成および使用
次に、 こ のデザ イ ン フ ロ ーの詳細を示 し ます。
RTL の階層領域の特定およびデザイ ンの合成
RTL レベルで、 デザ イ ンの動作に と っ て ク リ テ ィ カル と 判断 し た階層領域を 1 つま たは複数指定 し 、 こ
れ ら の領域を限定 し てモジ ュ ールを分離す る よ う に RTL を分割 し ます。 こ の手順は、 フ ロ ーの中で最
も 難 し く 重要です。 こ の指定お よ び分割作業は、 カ ス タ マー デザ イ ンやシ ン グル イ ベン ト ア ッ プセ ッ
ト (SEU) 軽減の要件に よ っ て異な り ます。
ク リ テ ィ カ ル な 領域 と 非 ク リ テ ィ カ ル な 領域間 に 明確 な 境界 を 保持す る に は、 RTL で 階層維持
(KEEP_HIERARCHY) 制約 を 適用 し ま す。 こ の制約は、 RTL デザ イ ン で指定 さ れ た 階層ブ ロ ッ ク
(VHDL エン テ ィ テ ィ 、 Verilog モジ ュ ール) へ適用 さ れます。合成中に階層を維持する 場合は、 ISE ツー
ルで Keep Hierarchy を使用 し て イ ンプ リ メ ン テーシ ョ ン中の階層を維持す る よ う に し ます。
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
3
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
図 3 で、 エン テ ィ テ ィ / モジ ュ ール I2 に Keep Hierarchy が設定 さ れてい る 場合、 次の よ う にな り ます。
•
階層 I2 は、 最終ネ ッ ト リ ス ト に保持 さ れ る
•
階層 I4 と I5 は、 階層 I2 内で フ ラ ッ ト 化 さ れ る
•
階層 I1、 I3、 I6、 お よ び I7 も フ ラ ッ ト 化 さ れ る
X-Ref Target - Figure 3
NGC File 1 (I0)
I0
I0
I1
I3
I7
I6
I2 KEEP HIERARCHY YES
I5
I2
I4
Design View
Netlist View
X538_03_022312
図 3 : Keep Hierarchy を設定 し た場合
XST (Xilinx Synthesis Tool) での階層維持構文は次の と お り です。
VHDL Syntax:
attribute keep_hierarchy : string ;
attribute keep_hierarchy of instant_name: label is "yes"
Verilog Syntax :
(* keep_hierarchy = "yes" *)
リ フ ァ レ ン ス デザ イ ンの階層は次の と お り です。
sem_example
|
+- sem_core
|
+- sem_cfg
|
+- sem_mon
|
|
|
+- sem_mon_fifo
|
|
|
+- sem_mon_piso (region of interest)
|
|
|
+- sem_mon_sipo (region of interest)
|
+- sem_ext
|
|
|
+- sem_ext_byte
|
+- sem_hid
|
|
|
+- chipscope_icon
|
|
|
+- chipscope_vio
|
\- BUFG (unisim)
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
4
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
リ フ ァ レ ン ス デザ イ ン では、 デザ イ ン フ ロ ーを説明す る ために、 sem_mon_piso お よ び sem_mon_sipo
が指定領域の例 と し て使用 さ れてい ま す。 こ れ ら のモ ジ ュ ールの Verilog お よ び VHDL フ ァ イ ルは、
sem_mon_piso.v/vhd お よ び sem_mon_sipo.v/vhd です。
Keep Hierarchy は、 次の よ う に適用 さ れてい ます。
Verilog:
module sem_mon (
…..
);
(* keep_hierarchy = "yes" *)
sem_mon_piso example_mon_piso (
……
);
(* keep_hierarchy = "yes" *)
sem_mon_sipo example_mon_sipo (
……
);
……
endmodule
VHDL:
entity sem_mon is
port (
……
);
end entity sem_mon;
architecture xilinx of sem_mon is
……
attribute keep_hierarchy : string;
attribute keep_hierarchy of example_mon_piso : label is "yes";
attribute keep_hierarchy of example_mon_sipo : label is "yes";
begin
……
example_mon_piso : sem_mon_piso
port map (
…….
);
example_mon_sipo : sem_mon_sipo
port map (
…….
);
……
end architecture xilinx;
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
5
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
指定 し た階層領域に対 し て エ リ ア制約を作成する
ユーザーは、指定 し た階層領域を 1 つま たは複数の AREA_GROUP へ配置 し ます。エ リ ア グループは、
マ ッ プ、 パ ッ ク 、 配置配線用にデザ イ ン を物理的領域に分割 し て、 デバ イ ス の特定領域に ロ ジ ッ ク を配
置す る 基本的な手段です。 エ リ ア グループに よ っ て、 指定 し た領域がその他の領域か ら 分離 さ れます。
UCF (ユーザー制約フ ァ イ ル) のエ リ ア グループ構文は次の と お り です。
INST "X" AREA_GROUP = groupname;
AREA_GROUP "groupname" RANGE = range,
AREA_GROUP "groupname" GROUP = CLOSED;
AREA_GROUP "groupname" PLACE = OPEN;
X には INST 名が入 り 、 こ れは RTL で定義 さ れてい る 階層領域の名前 と 一致 さ せます。 groupname は、
パ ッ カーで関連付け ら れてプ レーサーでエ リ ア グループに配置 さ れ る 論理ブ ロ ッ ク の名前です。
ツ ールで関係の な い ロ ジ ッ ク が 1 つの コ ン ポーネ ン ト へパ ッ ク さ れな い よ う にす る には、 GROUP =
CLOSED と し た AREA_GROUP を使用す る 必要があ り ます。 こ れに よ り 、 論理デザ イ ンのエ レ メ ン ト
を 物理デザ イ ン 内で名前に よ っ て 識別で き る よ う に な り ま す。 AREA_GROUP に対 し て PLACE =
OPEN と す る と 、 そのエ リ アに関係のない コ ン ポーネ ン ト が配置 さ れます。
UCF の AREA_GROUP 制約の構文例は次の と お り です。
## Area Constraints on hierarchical region of interest:
INST "example_mon/example_mon_piso/*" AREA_GROUP = "ESSENTIAL_LOGIC" ;
INST "example_mon/example_mon_sipo/*" AREA_GROUP = "ESSENTIAL_LOGIC" ;
AREA_GROUP "ESSENTIAL_LOGIC" RANGE = SLICE_X48Y100:SLICE_X51Y149 ;
## Prohibit addition of unrelated logic into this group...
AREA_GROUP "ESSENTIAL_LOGIC" GROUP = CLOSED ;
## Allow placement of unrelated components in the range...
AREA_GROUP "ESSENTIAL_LOGIC" PLACE = OPEN ;
UCF の作成後、 ISE デザ イ ン ツールでデザ イ ン を イ ン プ リ メ ン ト し 、 配置配線ネ ッ ト リ ス ト を生成 し
ま す。 提 供 さ れ て い る サ ン プ ル イ ン プ リ メ ン テ ー シ ョ ン ス ク リ プ ト (implement.sh ま た は
implement.bat) は、 イ ンプ リ メ ン テーシ ョ ン ツールで コ マ ン ド ラ イ ン を使用 し てデザ イ ン を実行す
る フ ロ ーを示 し てい ます。
FPGA Editor ス ク リ プ ト を変更 し て特定領域の コ ンポーネ ン ト / ネ ッ ト を抽出する
一般的な イ ンプ リ メ ン テーシ ョ ン フ ロ ーでデザ イ ン を実行後、ユーザーは提供 さ れてい る FPGA Editor
ス ク リ プ ト (essential.scr) を変更で き ます。 ス ク リ プ ト を開いて、 特定領域の コ ン ポーネ ン ト お よ
びネ ッ ト を選択 し 、 こ れ ら の リ ス ト を完成 さ せて フ ァ イ ルを閉 じ ます。
リ フ ァ レ ン ス デザ イ ン と 共に提供 さ れ る FPGA Editor ス ク リ プ ト の内容は次の と お り です。
clear
select
select
select
select
list
clear
exit
-k
-k
-k
-k
comp *example_mon/example_mon_piso/*
comp *example_mon/example_mon_sipo/*
net *example_mon/example_mon_piso/*
net *example_mon/example_mon_sipo/*
こ の ス ク リ プ ト では、 特定領域の コ ン ポーネ ン ト お よ びネ ッ ト が選択 さ れてい ます。 リ フ ァ レ ン ス デザ
イ ンでは、 コ ン ポーネ ン ト お よ びネ ッ ト は次の よ う にな り ます。
•
*example_mon/example_mon_piso/*
•
*example_mon/example_mon_sipo/*
ユーザーは、 ス ク リ プ ト を変更 し てユーザー デザ イ ンの特定の階層領域を使用 し ます。 FPGA Editor ス
ク リ プ ト を実行す る コ マ ン ド は次の と お り です。
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
6
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
fpga_edline routed.ncd mapped.pcf -p essential.scr
上記の例を実行 し た場合の出力 と し て、 fpga_edline ロ グ フ ァ イ ル (routed_fpga_edline.log) が生
成 さ れます 。 こ の フ ァ イ ルは長いため、 こ こ では省略 し た例を示 し ます。
#Xilinx FPGA Editor Command Log File
#
#-----------------------------#Reading routed.ncd...
#
"sem_example" is an NCD, version 3.2, device xc7k325t, package
fbg900, speed -1
#Building chip graphics...
#Loading speed info...
#1
setattr main edit-mode no-logic-changes
#2
playback essential.scr
#clear
#select -k comp *example_mon/example_mon_piso/*
#select -k comp *example_mon/example_mon_sipo/*
#select -k net *example_mon/example_mon_piso/*
#select -k net *example_mon/example_mon_sipo/*
#list
#Comp "example_mon/example_mon_piso/bit_select<1>"
#Comp "example_mon/example_mon_piso/piso_out"
#Comp "example_mon/example_mon_piso/tx_start"
#Comp "example_mon/example_mon_sipo/delay_line<149>"
#Comp "example_mon/example_mon_sipo/Mshreg_valid_delay_151_0"
#Comp "example_mon/example_mon_sipo/valid_delay<151>"
#Net "example_mon/example_mon_piso/hot_delay<15>"
#Net "example_mon/example_mon_piso/tx_stop
#Net "example_mon/example_mon_piso/hot_delay<0>"
#Net "example_mon/example_mon_piso/en_16_x_baud_tx_bit_AND_5_o"
#Net "example_mon/example_mon_piso/bit_select<2>"
#Net "example_mon/example_mon_piso/bit_select<1>"
#clear
#exit
BitGen を使用 し て優先エ ッ セ ン シ ャル ビ ッ ト フ ァ イルを生成する
次の コ マ ン ド ラ イ ン オプシ ョ ン を使用 し て、 BitGen を呼び出 し ます。
-g essentialbits:yes
-g essentialbitsfilter:{none|mask|enable}
-g essentialbitsfilterfile:<filename>
•
essentialbitsfilter を enable と し た場合、 BitGen は、 essentialbitsfilterfile オ
プシ ョ ンで指定 し た名前 と 一致す る デザ イ ン エン テ ィ テ ィ に関連す る エ ッ セ ン シ ャ ル ビ ッ ト を生
成 し ます。 リ フ ァ レ ン ス デザ イ ンでは、 こ のオプシ ョ ン を使用 し てい ます。
•
essentialbitsfilter を mask
と し た場合、 生成 さ れ る エ ッ セ ン シ ャ ル
ビ ッ ト には
essentialbitsfilterfile オプシ ョ ンで指定 し た名前 と 一致する デザ イ ン エン テ ィ テ ィ に関
連す る ビ ッ ト は含まれません。
•
essentialbitsfilter を none と し た場合、 生成 さ れ る エ ッ セ ン シ ャ ル ビ ッ ト にはすべての
デザ イ ンに関連す る ビ ッ ト が含まれます。
-g essentialbitsfilterfile で使用 さ れ る filename は、 「FPGA Editor ス ク リ プ ト を変更 し
て特定領域の コ ン ポーネ ン ト / ネ ッ ト を 抽出す る 」 で説明 し た FPGA Editor ス ク リ プ ト で生成 さ れ る
FPGA edline ロ グ フ ァ イ ルです。 BitGen は、 FPGA edline ロ グ フ ァ イ ル (手動で追加/削除で き る が、
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
7
優先エ ッ セ ン シ ャル ビ ッ ト の生成および使用
ユーザーが変更す る 必要はない) を受け取 り 、 EBD フ ァ イ ルを生成 し ます。 生成 さ れた EBD フ ァ イ ル
には、 優先エ ッ セ ン シ ャ ル ビ ッ ト と し て識別 さ れた ビ ッ ト が含まれます。
優先エ ッ セ ン シ ャ ル ビ ッ ト と 共に SEM Controller を使用する
SEM Controller は、 オプシ ョ ン と し てエ ラ ー分類機能をサポー ト し ます。 SEM Controller で ソ フ ト エ
ラ ーが検出 さ れた位置が特定 さ れ る と 、 シ リ アル ペ リ フ ェ ラ ル イ ン タ ーフ ェ イ ス (SPI) フ ラ ッ シ ュ メ
モ リ に格納 さ れてい る 生成済みのエ ッ セ ン シ ャ ル ビ ッ ト デー タ でエ ラ ーの位置がル ッ ク ア ッ プ (確認)
さ れ ます。 こ の分類機能を使用す る こ と で、 ユーザーは ソ フ ト エ ラ ーがエ ッ セ ン シ ャ ル ビ ッ ト であ る
か ど う か を判断で き ます。ザ イ リ ン ク ス では、SPI フ ラ ッ シ ュ イ ン タ ーフ ェ イ ス を含み、SEM Controller
を使用 し たサ ン プル デザ イ ン を提供 し てい ます。 優先エ ッ セ ン シ ャ ル ビ ッ ト を使用す る 場合は、 ル ッ
ク ア ッ プ テーブルの内容が優先エ ッ セ ン シ ャ ル ビ ッ ト フ ァ イ ルで置き 換え ら れます。
こ の オ プ シ ョ ン を 有効にす る には、 SEM Controller の enable_classification パ ラ メ ー タ ー を
true に設定 し ます。 提供 さ れてい る リ フ ァ レ ン ス デザ イ ンでは core.xco フ ァ イ ルを使用 し 、 パ ラ
メ ー タ ーは次の よ う に設定 さ れてい ます。
# BEGIN Parameters
CSET clock_freq=66.0
CSET component_name=sem_core
CSET correction_method=repair
CSET enable_classification=true
CSET enable_correction=true
CSET enable_injection=true
CSET injection_shim=chipscope
CSET retrieval_shim=spi_flash_x1
# END Parameters
SEM Controller は、 リ フ ァ レ ン ス デザ イ ンの implement デ ィ レ ク ト リ にあ る generate_cores.sh
ま た は generate_cores.bat ス ク リ プ ト を 使用 し て 生成 さ れ ま す。 CORE Generator™ ツ ール と
core.xco フ ァ イ ルを用いて SEM Controller を生成す る 場合の コ マ ン ド ラ イ ンは、 次の と お り です。
coregen -p coregen.cgp -b sem_core.xco
一般的なデザ イ ンで SEM Controller コ ア を生成す る には、 CORE Generator ツールの GUI を使用す る
方法が最 も 簡単です。 コ アの コ ン フ ィ ギ ュ レーシ ョ ン、 使用方法、 お よ び SPI フ ラ ッ シ ュ イ ン タ ーフ ェ
イ ス の詳細は、『 LogiCORE IP Soft Error Mitigation Controller 3.1 ユーザー ガ イ ド 』 [参照 1] を参照 し
て く だ さ い。
SPI フ ラ ッ シ ュ イ ン タ ーフ ェ イ ス を含むサンプル デザ イ ンは、SEM Controller と 共に生成 さ れます。同
時に TCL ス ク リ プ ト (makedata.tcl) も 生成 さ れます。 こ の ス ク リ プ ト は BitGen 出力フ ァ イ ルを処
理 し 、 次の 3 つの出力フ ァ イ ルを生成 し ます。
•
Intel HEX 形式のデー タ フ ァ イ ル (MCS) - SPI フ ラ ッ シ ュ デバ イ ス のプ ロ グ ラ ム用
•
生のバ イ ナ リ デー タ フ ァ イ ル (BIN) - SPI フ ラ ッ シ ュ デバ イ ス のプ ロ グ ラ ム用
•
初期化フ ァ イ ル (VMF) - SPI フ ラ ッ シ ュ シ ミ ュ レーシ ョ ン モデルの ロ ー ド 用
こ れ ら の出力フ ァ イ ルは、 次の コ マ ン ド ラ イ ンで生成 さ れます。
xtclsh makedata.tcl -ebd routed.ebd datafile
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
8
リ フ ァ レ ン ス デザイ ン
リ フ ァ レンス
デザイ ン
こ のアプ リ ケーシ ョ ン ノ ー ト の リ フ ァ レ ン ス デザ イ ンは、 次のサ イ ト か ら ダ ウ ン ロ ー ド で き ます。
https://secure.xilinx.com/webreg/clickthrough.do?cid=183797
表 1 に、 リ フ ァ レ ン ス デザ イ ンの詳細を示 し ます。
表 1 : リ フ ァ レ ン ス デザイ ンの詳細
パラ メ ー タ ー
説明
一般情報
Robert Le
開発者
タ ーゲ ッ ト デバ イ ス
Virtex-6 FPGA、
( ス テ ッ ピ ン グ レベル、 ES、 プ ロ ダ ク シ ョ ン、 ス ピー ド グ レー ド ) 7 シ リ ーズ FPGA
ソ ース コ ー ド の提供
はい
ソ ース コ ー ド の形式
VHDL、 Verilog
既存の リ フ ァ レ ン ス デザ イ ン、 アプ リ ケーシ ョ ン ノ ー ト 、 サー ド SEM_V3_1 ま たはそれ以降
パーテ ィ 、 CORE Generator ツールか ら デザ イ ンへの コ ー ド /IP の
使用
シ ミ ュ レーシ ョ ン
機能シ ミ ュ レーシ ョ ンの実施
N/A
タ イ ミ ン グ シ ミ ュ レーシ ョ ンの実施
N/A
機能お よ び タ イ ミ ン グ シ ミ ュ レーシ ョ ンでのテ ス ト ベンチの利用
N/A
テ ス ト ベンチの形式
N/A
使用 し た シ ミ ュ レー タ
N/A
SPICE/IBIS シ ミ ュ レーシ ョ ンの実施
N/A
イ ン プ リ メ ン テーシ ョ ン
使用 し た イ ンプ リ メ ン テーシ ョ ン ソ フ ト ウ ェ ア ツール
XST、 ISE® Design Suite 13.4
ISE Design Suite 13.4
ス タ テ ィ ッ ク タ イ ミ ン グ解析の実施
はい
使用 し た合成 ソ フ ト ウ ェ ア ツール
ハー ド ウ ェ ア検証
ハー ド ウ ェ ア検証の実施
いいえ
リ フ ァ レ ン ス デザ イ ンは、 生成 さ れた IP SEM Controller v3.1 のサンプル デザ イ ンに基づいてい ます。
リ フ ァ レ ン ス デザ イ ンのモジ ュ ールは、 SEM Controller のサンプル デザ イ ンのモジ ュ ール と 機能的に
同 じ です。デザ イ ン フ ロ ーを説明す る ために、モジ ュ ール sem_mon_piso お よ び sem_mon_sipo に Keep
Hierarchy 属性を適応 し 、 UCF で こ れ ら 2 つのモジ ュ ールにエ リ ア グループ制約を追加 し てい ます。 リ
フ ァ レ ン ス デザ イ ン では、 こ れ ら のモジ ュ ールを指定領域の例 と し て使用 し 、優先エ ッ セ ン シ ャ ル ビ ッ
ト フ ァ イ ルを生成 し てい ます。
こ の リ フ ァ レ ン ス デザ イ ン を イ ンプ リ メ ン ト す る 場合は、 リ フ ァ レ ン ス デザ イ ンの implement デ ィ
レ ク ト リ にあ る implement.bat ま たは implement.sh ス ク リ プ ト を使用 し て く だ さ い。
リ フ ァ レ ン ス デザ イ ンの構造は、 次の と お り です。
•
XAPP538 (v1.0) 2012 年 4 月 4 日
XAPP538/<Kintex-7 ま たは Virtex-6>/<Verilog ま たは VHDL>/
•
implement : イ ンプ リ メ ン テーシ ョ ン ス ク リ プ ト
•
reference_design_source : リ フ ァ レ ン ス デザ イ ン用の ソ ース コ ー ド お よ び UCF
•
sem_core : SEM Controller コ ア
•
coregen.cgp : CORE Generator ツール用のプ ロ ジ ェ ク ト フ ァ イ ル
japan.xilinx.com
9
ま とめ
SEM Controller のパ ラ メ ー タ ーは次の と お り です。
•
Component name : sem_core
•
Error injection : Enabled
•
Error injection shim : ChipScope
•
Error correction : Enabled
•
Error correction method : Repair
•
Error classification : Enable
•
Controller clock frequency : 66MHz (Kintex-7 デバ イ ス ) ま たは 100MHz (Virtex-6 デバ イ ス )
ま とめ
こ のアプ リ ケーシ ョ ン ノ ー ト では、 FIT を低減 し てデザ イ ン の可用性を向上 さ せ る ISE デザ イ ン ツー
ルのデザ イ ン フ ロ ーについて説明 し ま し た。 こ のデザ イ ン フ ロ ーに よ っ て、 影響を受けたデザ イ ン部
分に応 じ てシ ス テ ムが適切に対応で き る よ う にな り 、 デザ イ ンの可用性が向上 し ます。 こ の フ ロ ーを使
用 し た場合、 多 く の反転ビ ッ ト が意識的に無視 さ れますが、 こ れはデザ イ ンの動作に影響を与え ないた
め、 実際の FIT は大幅に低減 さ れます。
リ ソ ース
こ のアプ リ ケーシ ョ ン ノ ー ト は、 次の補足資料を参照 し てい ます。
1.
2.
3.
改訂履歴
Notice of
Disclaimer
UG764 : 『LogiCORE IP Soft Error Mitigation Controller 3.1 ユーザー ガ イ ド 』
UG360 : 『Virtex-6 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザーガ イ ド 』
UG470 : 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2012 年 4 月 4 日
1.0
変更内容
初版 リ リ ース
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use
of Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available
“AS IS” and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS,
EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other
theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection
with, the Materials (including your use of the Materials), including for any direct, indirect, special,
incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss
or damage suffered as a result of any action brought by a third party) even if such damage or loss was
reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no
obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or
to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials
without prior written consent. Certain products are subject to the terms and conditions of the Limited
Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to
warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not
designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you
assume sole risk and liability for use of Xilinx products in Critical Applications:
http://www.xilinx.com/warranty.htm#critapps.
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
10
Automotive Applications Disclaimer
Automotive
Applications
Disclaimer
XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN
ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS
RELATED TO: (I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS
THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF
SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING
SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH
OR PERSONAL INJURY. CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE
OF XILINX PRODUCTS IN SUCH APPLICATIONS.
本資料は英語版 (v1.0) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。
資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。
日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、
[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ
せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ め
ご了承 く だ さ い。
XAPP538 (v1.0) 2012 年 4 月 4 日
japan.xilinx.com
11
Fly UP