UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 20071

Spartan-3 コンフィギュレーション - Low に保持された DONE ピンが解放されたかどうかを確認する方法

説明

キーワード : FPGA, express mode, serial mode, DriveDone, エクスプレス モード, シリアル モード

DONE ピンが Low に保持されているか、FPGA で DONE 信号が解放されているかを確認する方法を教えてください。

ソリューション

デフォルトでは、DONE ピンはオープン ドレイン ドライバで、複数の FPGA をシリアル デイジー チェーンでコンフィギュレーションするには、このピンをロジック High にプルアップする必要があります。

デバイスがシリアル デイジー チェーンでコンフィギュレーションされる場合、チェーンの始めにあるデバイス (アップストリーム) は、コンフィギュレーション データを後続のデバイス (ダウンストリーム) に渡す前に、完全にプログラムされます。 アップストリーム デバイスがプログラムされた後、DONE ピンが解放され、スタートアップ シーケンスで待機状態になります。待機は、すべての FPGA が DONE ピンを解放し、DONE 信号が High になるまで続きます。

Spartan-3 デバイスには、DONE パッドに、プログラム可能な内部プルアップ抵抗があり、これは、BitGen の DonePin オプションを使って、使用することができます。 デフォルト設定は、pull-up です。 pull-none 設定は、pull-up を無効にするもので、外部プルアップ抵抗を DONE ピンに接続する場合にのみ使用します。

また、BitGen の DriveDone オプションは、FPGA が DONE ピンを単に解放するのではなく、DONE 信号を High に駆動するように設定するときに使用します。 シリアル デイジー チェーンでは、最後のデバイスにのみ、このオプションを設定できます (アップストリーム デバイスは、コンフィギュレーション情報を読み込んだ後、DONE 信号を High に駆動するため、このオプションを設定すると共有されている DONE 信号に競合が発生します)。

Spartan-3 デバイスの DONE ピンが解放されたかどうかを判断する方法

DONE ピンが解放されたかどうかは、JTAG を介して命令キャプチャを実行すると、直接判断できます。 Instruction Capture レジスタは、DONE ピンを解放する、内部 "release_done" 信号へのアクセスを提供します。

JTAG を介した命令キャプチャ

JTAG を介した命令キャプチャを実行するには、TAP コントローラをリセットして Shift-IR ステートに移動します。 TMS=0 を保持している間に、TCK に 6 クロック信号を受信します。 デバイスが IR Capture 値を TDO ピンに出力します。 Instruction_Capture パターンの 5 番目のビットの値により、DONE 信号が解放されたかどうかが確認できます。 次は、Spartan-3 BSDL ファイルからの抜粋です。

attribute INSTRUCTION_CAPTURE of XC3S400_FG456 : entity is
-- Bit 5 is 1 when DONE is released (part of startup sequence)
-- Bit 4 is 1 if house-cleaning is complete
-- Bit 3 is ISC_Enabled
-- Bit 2 is ISC_Done
"XXXX01";

メモ : IR-Capture レジスタの最初のビットは、Shift-IR ステートに移ったときにシフトされます。 IR-Capture レジスタは、最初に LSB をシフトし、10XXXX が TDO にシフトされるようにします。

BitGen 設定

ビットストリーム生成に指定されたスタートアップ シーケンス オプションを確認します。 DONE ピン解放に選択したサイクルで、シーケンサは、DONE が外部で解放されるまで、常に待機します。 これは、XC4000 FPGA の SyncToDONE と同じような動作ですが、 GTS、GSR、または GWE が DONE 以前に解放されるように選択されていると、これらのピンは保持されません。 つまり、DONE はデフォルト設定のシーケンスで最初に選択されます。 SyncToDONE とまったく同じような動作にするには、BitGen のオプションで GTS、GSR、および GWE サイクルを DONE の値に設定し、これらの信号が DONE が外部で High になるときに、遷移するように設定します。

FPGA がデイジー チェーン接続されている場合、ほかの FPGA によって、DONE ピンは Low に保持されます。 推奨する、Spartan-3 デバイスのスタートアップ オプションは、次のとおりです。
DONE_cycle:4
GTS_cycle:5
GWE_cycle:6
AR# 20071
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加