FPGAの電源がオンで、未構成のままになっているとどうなりますか?


10

FPGAをプログラムされていない状態で長時間放置するとどうなるかについて、一般的な理解を得ようとしています。

FPGAがあり、それを長期間(電源投入後数分から数時間)プログラムしないままにしておく、つまり、ビットストリームがない場合、これはデバイスに悪影響を及ぼしますか?電源が入っているFPGAに常にビットストリームを置くことをお勧めしますか?これに関する一般的な意見は何ですか?

結果はデバイスやメーカーによって異なりますか(ザイリンクスとアルテラ、その他)。


追加情報:

ザイリンクスVirtex-6 FPGAを使用するカスタムSoCボードがあります。また、参考のために使用するザイリンクスML605も持っています。

カスタムボード:ボードの電源を入れます。XMD(ザイリンクスマイクロプロセッサーデバッガー)を使用してプログラムするための時間が短いことに気づきました。20〜30秒の時間枠を失った場合、ボードをオフにしてからオンに切り替えてから、再試行します。これはML605では発生しません。

XMDを介してカスタムボードをプログラムしようとすると、次のような結果になります。

Error: Device Reset by JPROGRAM command, failed. INIT_COMPLETE did not go high.

どう考えているか教えてください。


1
あなたはあなたの質問とあなたの編集で「長い期間​​」を強調します。それが数秒か数時間かは本当に重要ですか?私はそうは思わない..
m.Alin

20〜30秒のプログラミングウィンドウが表示されるカスタムFPGAボードで現象が発生しています。このウィンドウでプログラムしないと、正常にプログラムできません。私の質問の中心的なテーマは、継続時間ではなく、現象を理解することです。
boffin

デバイスに接続できますか?それともプログラムしようとすると失敗するだけですか?プログラマーが出しているエラーは何ですか?
embedded.kyle

1
JTAGを介してFPGAを直接プログラミングしていますか、それとも最初にフラッシュチップをロードしてから、FPGAにそれを設定させていますか?
ajs410

@fpga_boffin、それらの詳細を質問に追加していただけませんか?
Jon L

回答:


7

これは興味深い質問です。個人的な経験から、新しいボードがアセンブリーハウスから入ってくるときに残りの回路をチェックしながら、プログラムされていない状態で何時間もFPGAの電源を入れたままにしました。そうすることによる有害な影響に気づきませんでした。しかし、私は正直にそれについて考えたことはありません。

FPGAの製造元からの推奨事項を探して探しましたが、見つけることができませんでした。この状態に関して私が見つけた唯一の声明は、ラティスのホワイトペーパーからのものであり、FPGA自体の設計に関するものであり、それをどのように使用すべきかについては考慮していません。

事前プログラムされた静的静止デバイスの消費電力は、デバイスがプログラムされる前にFPGAによって消費される電力量です。静止状態のデバイスの電力消費では、FPGAはプログラムされていない状態ですが、電力が供給されています。概念的には、FPGAデバイスが過剰な電力を消費し、潜在的に電源をシャットダウンして、ボードがそれ自体とシステムを正常に初期化できなくなる可能性があるため、デバイスがこの間大きな電力を消費しないことが重要です。
したがって、FPGAサプライヤは、より高いパフォーマンスが必要な領域(I / OやSERDESなど)で妥協することなく、低電力のラティスセミコンダクターホワイトペーパーの電力フットプリントを備えたトランジスタを慎重に設計する必要があります。

同様にザイリンクスは、それに応じて電源を設計できるように、静止電流が何であるかについて言及しています。しかし、デバイスへの影響がデバイスをそのような状態のままにすることの影響については触れていません。

静的または静止電力は、主にトランジスタのリーク電流によって支配されます。この電流がデータシートにリストされている場合、ICCINTQとしてリストされており、FPGAコアに電力を供給するVCCINT電源を介して引き出される電流です。

誰かがデバイスを静止状態のままにしておくことで、デバイスに損傷があったかどうかを聞いてください。しかし、電源がデバイスに適切に適合している限り、問題はないと思います。


6

Spartan 3データシートを参照していますしています。これは、私が最もよく知っているFPGAだからです。

第2章(機能の説明)を見ると、「構成」セクションに2つのフロー図があります。図27(50ページ)に、フラッシュからのロードのフロー図を示します。図28に、JTAGフロー図を示します。

これが簡単な要約です。

1)Vccint、Vccaux、およびVccoが必要なレベルに達するまで待ちます。

2)構成ラッチをクリアする

3)INIT_BがHighになるのを待ちます。INIT_Bは、構成を遅延させるために外部マスターがLowに保持できるオープンドレイン出力です。

4)サンプルモードピン。これにより、ロードするのがJTAGかフラッシュか、またフラッシュの場合はFPGAかフラッシュかがマスターになります。

5)構成データフレームを読み込みます。

6)データフレームのCRCが正しいことを確認します。正しくない場合、FPGAはINIT_BをLowに駆動してCRCエラーを示し、起動を中止します。

ステップ5はおそらくあなたの本当の質問です-ロードするものが何もない場合はどうなりますか?さて、あなたはないはず取得あなたは正しいことをやっている場合は、ステップ5に。フラッシュチップは、FPGAにデータを提供する準備ができるまで、INIT_BをLowに保持します。JTAGを使用している場合、JTAGプログラマーがINIT_BをLowに保持するかどうかはわかりませんが、FPGAをプログラムすると、ほぼ確実にPROG_Bがアサートされ(FPGAがLowに駆動される)、FPGAが元に戻ります手順2に進みます。

私があなただったら、電源投入時にINIT_B信号を調べて、何が起こっているのかを確認します。Lowから開始してHighになり、その後再びLowになる場合、FPGAはスタートアップシーケンスを中止しました。FPGAをリセットするには、おそらくPROG_Bをアサートする必要があります。


あなたの答えは、OPが知りたいステップ5の前のFPGAの内部状態については何も述べていません。
stevenvh

ステップ2.構成ラッチをクリアします。ステップ3、INIT_Bを待機しています。また、ロードするコンフィギュレーションデータがないことをFPGAが判断する際に、FPGAがどのような決定を下すかについても説明します(INIT_Bがローになり、CRCエラーを示します)。
ajs410

1
申し訳ありませんが、私が参照していたデータシートは2005年頃であり、2009年に更新されました。しかし、実際に私のコメントを完全に読んでいれば、それを見つけることができただろう。第2章「機能の説明」の「構成」見出しの下。リンクは、最新のデータシートと新しいページ番号を指すように更新されました。
ajs410

0

デフォルトの構成は、デバイスを普遍的に使用できるようにするために、できるだけパッシブになるように設計されています。

これは、アルテラサイクロンシリーズ(私が最も経験のあるシリーズ)の場合、

  • I / OピンはVCCIOに弱くプルアップされています(ICをアクティブLOWのチップイネーブルラインでバスから切り離します)。
  • CONF_DONE出力は、(あなたが設定を再設定する場合など、既知の状態に復元だけでなくロードされるまでリセットでそれらを保つために他のICのリセット端子にこれを接続することができます)Lowへ引き込ま、される
  • クロック入力はクロックネットワークに転送されません。

他のFPGAタイプも同様に静止し、ボードの残りの部分にコンフィギュレーションステータスを示す非反転および反転出力を提供します。

コアは外界からかなり隔離されているため、デバイスをその状態のままにしても問題はなく、プルアップのみに小さな電流が流れる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.