• 検索結果がありません。

図 5-14 にあ る よ う に、 デバ イ ス DNA 値は 57 ビ ッ ト です。2 つの最上位ビ ッ ト は常に 1 お よ び 0 です。 残 り の 55 ビ ッ ト は Spartan-6 FPGA 特有の も のです。

動作

図 5-14 は、DNA_PORT デザ イ ンプ リ ミ テ ィ ブの一般的な機能を示 し た も のです。FPGA アプ リ ケーシ ョ ンは、図 5-13 にあ る よ う に、まず DNA_PORT プ リ ミ テ ィ ブ をデザ イ ン内で イ ン ス タ ン シ エー ト す る 必要があ り ます。

HEADER2 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ

セ ッ ト ア ッ プ (デ イ ジー チ ェ イ ン用お よ び コ ン フ ィ ギ ュ レ ーシ ョ ン後に使用 可能な機能)

CTL

DESYNC WORD ビ ッ ト ス ト リ ームの終わ り を示す

1 ワー ド (16 ビ ッ ト) パ タ ーン

0x000D 表 5-44 : Spartan-6 FPGA ビ ッ ト ス ト リ ームの構造 (続き)

セ ク シ ョ ン 説明 例

X-Ref Target - Figure 5-13

図 5-13 : Spartan-6 FPGA DSP DNA_PORT デザイ ンプ リ ミ テ ィ ブ

UG380_c5_13_052009

DIN DOUT

READ

CLK

DNA_PORT

SHIFT

デバ イ ス DNA を読み出すには、FPGA アプ リ ケーシ ョ ンは まず DNA_PORT 出力シ フ ト レ ジ ス タ に ID の値を送信す る 必要があ り ます。READ 入力は、CLK の立ち上が り エ ッ ジでアサー ト さ れ る 必要があ り ます ( 5-45 参照)。 こ れに よ り 、 出力シ フ ト レ ジ ス タ に ID 57 ビ ッ ト すべてが読み 込まれます。ID の ビ ッ ト 56 は常に 1 であ る ため、DOUT 出力 も 1 です。READ 動作は SHIFT 動 作を上書 き し ます。

ID 値の読み出 し を継続す る には、表 5-45 にあ る よ う に、CLK の立ち上が り エ ッ ジの後で SHIFT を アサー ト す る 必要があ り ます。 こ れで、 出力シ フ ト レ ジ ス タ の値が DOUT 出力にシ フ ト さ れます。

DIN 入力の値は、 シ フ ト レ ジ ス タ にシ フ ト さ れます。

CLK High の と き は、 初期 ク ロ ッ ク エ ッ ジが誤っ た も のにな る ので、SHIFT Low か ら High に遷移す る のを防 ぐ必要があ り ます。理想的には SHIFT は CLK が Low の と き 、ま たは CLK の立 ち下が り エ ッ ジでのみアサー ト す る 必要があ り ます。

READ と SHIFT の両方が Low の場合、 出力シ フ ト レ ジ ス タ の値が保持 さ れ、DOUT の値 も 変わ り ません。

X-Ref Target - Figure 5-14

図 5-14 : DNA_PORT の動作

56 55 54 0

0 1 㪌㪌㩷䊎䉾䊃䈱䊂䊋䉟䉴㩷㪠㪛㩷㩿䊂䊋䉟䉴㩷㪛㪥㪘㪀

⵾ㅧᚲ䈪䊒䊨䉫䊤䊛䇮ᄌᦝਇน⢻

56 0

DIN 㪌㪎㩷䊎䉾䊃⺒䉂ㄟ䉂น⢻䈭䉲䊐䊃㩷䊧䉳䉴䉺 DOUT

READ = 1 SHIFT=1

UG380_c5_14_052009

CLK

Read = 0

表 5-45 : DNA_PORT の動作

動作 DIN READ SHIFT CLK シ フ ト レ ジ ス タ DOUT

HOLD X 0 0 X 前の値を保持 前の値を保持

READ X 1 X ƒ 57 ビ ッ ト の ID をパ ラ レル ロ ー ド ID のビ ッ ト 56 (常に 1)

SHIFT DIN 0 1 ƒ DIN を ビ ッ ト 0 にシ フ ト し 、 シ フ ト レ ジ ス

タ の値を DOUT にシ フ ト

シ フ ト レ ジ ス タ のビ ッ ト 56 メ モ :

X = don’t care

ƒ= 立ち上が り ク ロ ッ ク エ ッ ジ

ID メ モ リ の仕様

図 5-14 には、DNA メ モ リ の一般的な特性が示 さ れてい ます。FPGA の ID 値は、 ワース ト ケース の推奨動作状態で継続使用 し た場合、最低 10 年間保持 さ れます。ID は表 5-45 に定義 さ れてい る よ

う に READ 動作を使用 し て最低 3000 万サ イ ク ル読み出す こ と がで き ます。 こ れは、

Spartan-6 FPGA の動作寿命で考え る と 11 秒ご と に 1 回の読み出 し にあ た り ます。

ID を長 く する

図 5-15 にあ る よ う に、DNA_PORT プ リ ミ テ ィ ブ を使用す る アプ リ ケーシ ョ ンのほ と ん ど で、DIN デー タ 入力が ス タ テ ィ ッ ク な値に接続 さ れてい ます。

図 5-16 にあ る よ う に、ID の長 さ は、DOUT シ リ アル出力ポー ト を DIN シ リ アル入力ポー ト に接続 す る こ と で延長す る こ と がで き ます。 こ の方法であれば、ID を ど の長 さ に も 延長で き ます。 し か し 、

こ の場合で も 、57 ビ ッ ト の繰 り 返 し パ タ ーン で、 各パ タ ーンに 55 ビ ッ ト のみです。

FPGA の ロ ジ ッ ク リ ソ ース を使用 し て ID にビ ッ ト を追加す る こ と も 可能です。図 5-17 にあ る よ う に、FPGA アプ リ ケーシ ョ ンは、DNA_PORT DIN シ リ アル入力を介 し て追加ビ ッ ト を挿入で き ま す。 ロ ジ ッ ク リ ソ ース で提供 さ れ る 追加ビ ッ ト は、 デバ イ ス DNA か ら 算出 さ れ る 固定値ま たは可 変値にな り ます。

X-Ref Target - Figure 5-15

図 5-15 : 定数でシ フ ト

X-Ref Target - Figure 5-16

図 5-16 : 巡回シ フ ト DIN DOUT

DNA_PORT

READ SHIFT CLK

UG380_c5_15_052009

DIN DOUT DNA_PORT

READ SHIFT CLK

UG380_c5_16_052009

デバイ ス ID への JTAG ア ク セス

FPGA の内部デバ イ ス ID と 、DIN 入力にシ フ ト さ れ る 値は、ISC_DNA コ マ ン ド を使用 しJTAG ポー ト を介 し て読み出す こ と がで き ます。 こ の場合、ISC_DNA コ マ ン ド が出力 さ れ る 前に

ISC_ENABLE を読み込む必要があ り ます。

図 5-14 にあ る よ う に、ID の ビ ッ ト 56 は、デバ イ ス がシ フ ト DR ス テー ト に入っ た と き 、ISC_DNA コ マ ン ド に続 き 、TDO JTAG 出力に出力 さ れます。 残 り のデバ イ ス DNA ビ ッ ト お よ びレ ジ ス タ へ の入力のデー タ は、JTAG コ ン ト ロ ー ラ がシ フ ト DR ス テー ト の と き に順次シ フ ト 出力 さ れます。こ の操作が完了す る と き 、ISC_DISABLE コ マ ン ド を出力す る 必要があ り ます。

デバイ ス ID への iMPACT ア ク セス

ISE 10.1 (お よ びそれ以降のバージ ョ ン) の iMPACT ソ フ ト ウ ェ アで も デバ イ ス DNA 値を読み出 す こ と がで き ます。readDna -p <position>は、FPGA か ら デバ イ ス DNA を読み出すバ ッ チ

コ マ ン ド です。

X-Ref Target - Figure 5-17

図 5-17 : ビ ッ ト ス ト リ ーム特定 コ ー ド

UG380_c5_17_052009

DIN DOUT DNA_PORT

READ SHIFT CLK Application Code

DIN DOUT

READ SHIFT CLK READ

SHIFT CLK

リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証

Spartan®-6 デバ イ ス では、SelectMAP、ICAP、 お よ び JTAG イ ン タ ーフ ェ イ ス を介 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を読み出す こ と がで き ます。 リ ー ド バ ッ ク には、 リ ー ド バ ッ ク 検証 と リ ー ド バ ッ ク キ ャ プチ ャ の 2 種類があ り ます。 リ ー ド バ ッ ク 検証中、 ユーザーは、 すべてのユーザー メ モ リ エ レ メ ン ト (LUT RAMSRL16、 お よ びブ ロ ッ ク RAM) の現在値を含むすべての コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ セルを読み出 し ます。

コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を読み出すには、 リ ー ド バ ッ ク を開始す る ための コ マ ン ド のシーケ ン ス をデバ イ ス に送信す る 必要があ り ます。 リ ー ド バ ッ ク が開始す る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の内容を SelectMAP ま たは JTAG イ ン タ ーフ ェ イ ス に渡 し ます。「SelectMAP イ ン タ ーフ ェ イ ス を介 し た コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ へのア ク セ ス」 お よ び IEEE Std 1149.1 JTAG には、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順が記載 さ れてい ます。

ユーザーは、カ ス タ ムマ イ ク ロ プ ロ セ ッ サ、CPLD、ま たは FPGA ベース のシ ス テ ムか ら リ ー ド バ ッ ク コ マ ン ド シーケ ン ス を送信す る か、 ま たは iMPACT を使用 し て、JTAG ベース の リ ー ド バ ッ ク 検証を実行す る こ と がで き ます。iMPACT はザ イ リ ン ク ス の ISE で提供 さ れてい る デバ イ ス プ ロ グ ラ ミ ン グ ソ フ ト ウ ェ アで、Spartan-6 デバ イ ス の リ ー ド バ ッ ク お よ び比較機能をすべて実行 し 、コ ン フ ィ ギ ュ レーシ ョ ンエ ラ ーの レ ポー ト を出力 し ます。

コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ がデバ イ ス か ら いっ たん読み出 さ れた後は、リ ー ド バ ッ ク ビ ッ ト ス ト リ ーム を コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム と 比較 し 、エ ラ ーがないか ど う か を確認す る のが次の手順です。「 リ ー ド バ ッ クデー タ の検証」 にその手順が説明 さ れてい ます。

リ ー ド バ ッ クの準備

JTAG ま たは SelectMAP を使用 し た リ ー ド バ ッ ク に必要な ビ ッ ト ス ト リ ーム設定が 2 つあ り ます。

BitGen のセキ ュ リ テ ィ 保護設定が リ ー ド バ ッ ク の妨げにな ら ない よ う にす る こ と (-g Security :none)、 そ し て ビ ッ ト ス ト リ ーム暗号化を使用 し ない よ う にす る こ と がその 2 つです。 さ ら に、

SelectMAP イ ン タ ーフ ェ イ ス で リ ー ド バ ッ ク を実行す る 場合は、BitGen で persist オプシ ョ ン を設 定 し (-g Persist:Yes)、 コ ン フ ィ ギ ュ レーシ ョ ン後 も ポー ト の機能が保持 さ れ る よ う に設定 し て お く こ と が必要です。 こ の よ う に設定 し ない と 、SelectMAP デー タ ピ ンがユーザー I/O にな り 、 後 に続 く コ ン フ ィ ギ ュ レーシ ョ ンが実行 さ れな く な り ます。 こ う し たセキ ュ リ テ ィ や暗号化の要件を 除いては、バ ウ ン ダ リ ス キ ャ ンポー ト で リ ー ド バ ッ ク す る にあ た り 特に注意すべ き こ と はあ り ませ ん。 ま た、 こ れ ら の要件は、ICAP で リ ー ド バ ッ ク す る と き には適用 さ れません。

リ ー ド バ ッ ク コ マ ン ド シーケ ン ス

Spartan-6 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ は、FDRO (フ レームデー タ レ ジ ス タ 出力) コ ン フ ィ ギ ュ

ク セ ス で き ます。JTAG お よ び SelectMAP イ ン タ ーフ ェ イ ス の場合、FPGA デザ イ ンがア ク テ ィ ブ ま たはシ ャ ッ ト ダ ウ ン状態の と き 、 リ ー ド バ ッ ク は可能です。 し か し ブ ロ ッ ク RAM は、 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク がア ク セ ス し てい る 間、 ユーザーデザ イ ンか ら ア ク セ ス で き ません。

SelectMAP イ ン タ ー フ ェ イ ス を介 し た コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ への ア ク セス

SelectMAP イ ン タ ーフ ェ イ ス を介 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を読み出すには、 まず イ ン タ ーフ ェ イ ス を書 き 込み制御に設定 し て FPGA に コ マ ン ド を送信 し 、 次に、 イ ン タ ーフ ェ イ ス を読 み出 し 制御に切 り 替えてデバ イ ス か ら デー タ を読み出す よ う 設定す る 必要があ り ます。SelectMAP イ ン タ ーフ ェ イ ス の書 き 込みお よ び読み出 し は、RDWR_B 入力に よ っ て決定 し ます。SelectMAP デー タ ピ ンは、イ ン タ ーフ ェ イ ス が書 き 込み制御に設定 さ れてい る と き (RDWR_B = 0) は入力で、

読み出 し 制御に設定 さ れてい る と き (RDWR_B = 1) は出力です。

CSI_B 信号は、RDWR_B 信号を ト グルす る 前にデ ィ アサー ト す る 必要があ り (CSI_B =1)、 こ う し ておかない と ABORT にな り ます (144 ページの 「SelectMAP の ABORT」を参照)。

SelectMAP イ ン タ ーフ ェ イ ス を書 き 込みか ら 読み出 し に (ま たはその逆に) 変更す る 手順は、次の と お り です。

1. CSI_B をデ ィ アサー ト し ます。

2. RDWR_B を ト グル し ます。

RDWR_B = 0 : 書 き 込み RDWR_B = 1 : 読み出 し 3. CSI_B を アサー ト し ます。

4. CSI_B お よ び RDWR_B は CCLK に同期 し ます。

5. こ の手順は、図 6-1 に図説 し てい ます。

コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ の読み出 し (SelectMAP)

簡単な読み出し 操作には、COR0 STAT レ ジス タ など のコ ン フ ィ ギュ レ ーショ ン レ ジス タ を 使用 し ま す。読み出し アク セス のあ る コ ン フ ィ ギュ レ ーショ ンレ ジス タ は SelectMAP イ ン タ ーフ ェ イ ス を 介し て読み出すこ と ができ ま すが、 すべてのレ ジス タ で読み出し ア ク セス を 提供する わけではあ り ま せん。SelectMAP イ ン タ ーフ ェ イ ス を 介し た STAT レ ジス タ の読み出し 手順は次のと おり です。

1. バス幅検出シーケ ン スお よ び同期化 ワー ド をデバ イ ス に書 き 込みます。

2. read STAT register パケ ッ ト ヘ ッ ダ をデバ イ ス に書 き 込みます。

X-Ref Target - Figure 6-1

図 6-1 : SelectMAP ポー ト を書き込みか ら読み出 し に変更 CSI_B

RDWR_B

DATA[0:7]

UG380_c6_01_042909 WRITE

Byte n Byte 0 Byte n

CCLK

Byte 0

READ

関連したドキュメント