FPGAはロジックを動的に変更できますか?


15

理論的には、FPGAが構成イメージを外部メモリに書き込み、メモリから構成イメージを読み込んで再構成することは可能です。これは「非動的」再構成になります。

FPGAには、ロジックファブリックを動的に再配線する機能がありますか?実際、フリップフロップの値を変更することはできますが、ルックアップテーブルの動的な再構成や、ロジックファブリックを構成する内部配線のことは聞いたことがありません。

FPGAの内部ロジック(メモリ以外)を動的に変更できますか?そうでない場合は、なぜですか?


「動的再構成」は実際にあなたが探しているフレーズです:)
マーティントンプソン

いくつかのマイクロコントローラができるように、自分で再構成できるFPGA、または外部コンポーネントから再構成できる(ランタイム)FPGAをお探しですか?
トリグヴェLaugstøl

回答:


12

はい、少なくともザイリンクスには動的再構成をサポートするパーツがあり、他の主要ベンダーもおそらくサポートしていることを知っています。

ただし、それを行うのは大きな仕事なので、本当に必要かどうかを確認する必要があります。チップを物理的に2つ以上の領域に分割する必要があります。そのうちの少なくとも1つは再構成不可能であり、領域間のすべての内部インターフェイスを物理的に「固定」して、合成ツールがすべて正しく接続できるようにします。


1
ザイリンクスのWebサイトで「再構成可能性」を検索してください!
レオン・ヘラー

3

使用できる一般的なアプローチは2つあります。多くのタイプのFPGAは、起動時に外部デバイス(通常はEEPROM)からフェッチされるラッチに構成を保持します。外部デバイスは、読み取られた後、FPGAで必要ありません。FPGAがその内容をリロードするように指示されるまで、デバイス動作中のEEPROMへの変更は有効になりません。したがって、FPGAなしでは完全に動作しなくなるデバイスでも、動作中にFPGAを再プログラムすることができます。ただし、EEPROMの書き込み中に問題が発生した場合、外部デバイス(「ブリック」と呼ばれることもある)によって書き換えられない限り、または書き換えられるまで、デバイスは動作不能になる可能性があります。

EEPROMセルが(ラッチにコピーされるのではなく)機能を「直接」制御するCPLDでしばしば役立つ代替アプローチは、プログラマブルデバイスが無用な状態にある場合でも、制限された機能で動作できるシステムを持つことです。そのような制限された機能がCPLDを再プログラムするのに十分である場合、デバイスは「ブリック」の影響を受けない可能性があります。たとえば、ワイヤレスデバイスはCPLDを使用して、ワイヤレス機能やその他の機能を制御します。CPLDを再プログラムする通常の方法は、ワイヤレスリンクを介してRAMにイメージを受信し、そのイメージを使用してCPLDを再プログラムすることです。ファイルをプログラミングする場合、CPLDが再プログラミングされるまで、ワイヤレスリンクが使用できない場合があります。ただし、システムが回復できるようにするには、プロセッサに「デフォルト」を含めることができます

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