応用情報技術者 2023年 秋期 午前2 問20
問題文
FPGAの説明として、適切なものはどれか。
選択肢
ア:電気的に記憶内容の書換えを行うことができる不揮発性メモリ
イ:特定の分野及びアプリケーション用に限定した特定用途向け汎用集積回路
ウ:浮動小数点数の演算を高速に実行する演算ユニット
エ:論理回路基板上に実装した後で再プログラムできる集積回路(正解)
🔒 解説は解答すると表示されます
プログラマブルロジック【午前2解説】
正解の理由
FPGA(Field-Programmable Gate Array)は、現場で回路構成を変更できる再構成可能な集積回路です。素子内部に論理ブロックと配線を持ち、ビットストリームで論理接続や動作を定義して製造後に何度でも(あるいは書換え可能な方式では何度でも)再プログラムできます。したがって、選択肢エ「論理回路基板上に実装した後で再プログラムできる集積回路」が本質を正しく表しています。
なお、FPGAの構成情報の保持方式には複数あり、多くの代表的なFPGAはSRAMベースであり電源断で設定が消えるため電源投入時にビットストリームをロードします。ただし、フラッシュベースやアンチフューズなど不揮発性の方式を採る製品も存在する点に注意してください(用途や耐放射特性、書換え回数などで使い分けられます)。
解法ステップ
- 問題文の核は「再プログラムできる集積回路」という性質を問うていると把握する。
- 選択肢のキーワードで照合する(メモリ/特定用途ASIC/演算ユニット/再プログラム可能なIC)。
- 「再プログラム可能」「集積回路」「論理回路実装」の組合せに一致する選択肢を選ぶ。
- 他選択肢が示す用語(不揮発性メモリ、特化ASIC、FPUなど)とFPGAの定義を照らして除外する。
選択肢別の誤答解説
-
ア: 電気的に記憶内容の書換えを行うことができる不揮発性メモリ
これはフラッシュメモリやEEPROMなど不揮発性メモリの説明であり、FPGA固有の「論理回路を実装して後で再構成する」性質を示していません。FPGAは構成情報を保存するために不揮発性メモリを使うことがあるが、FPGAそのもの=不揮発性メモリではありません。 -
イ: 特定の分野及びアプリケーション用に限定した特定用途向け汎用集積回路
この記述はASICの一種(ASSP:特定用途向け標準製品)や特化型LSIに近い説明です。FPGAは汎用に近い再構成可能なハードウェアであり、製造後に用途を変えられる点でイとは異なります。 -
ウ: 浮動小数点数の演算を高速に実行する演算ユニット
これはFPU(Floating Point Unit)や専用演算器の説明です。FPGAは演算ユニットを実装できるプラットフォームですが、それ自体が特定の演算ユニットを指すものではありません。 -
エ: 論理回路基板上に実装した後で再プログラムできる集積回路
FPGAの定義に合致しています。FPGAは設計をハードウェア的に実装したり書き換えたりできる再プログラム可能な集積回路であり、選択肢エが正しい記述です。
よくある誤解
- FPGAは「常に不揮発性でない」と断定してしまう誤解:多くのFPGAはSRAMベースで電源断後に設定が消えるが、フラッシュ型やアンチフューズ型など不揮発性のFPGAも存在する。用途に応じて方式が使い分けられる。
- FPGA=CPU/GPUと思い込む誤解:FPGAは命令実行型のプロセッサではなく、並列に配置された論理ブロックを配線で結んで動作させるハードウェア構成素子である。ソフトコアを実装すればCPUとして動かせるが本質は「ハードウェアの再構成性」。
- FPGAは「試作専用」という誤解:プロトタイプ用途が有名だが、通信、軍事、衛星、金融ハードウェアアクセラレータなど本番採用も多数ある。
補足コラム
FPGAの主な構成方式と特徴(簡潔)
- SRAMベース:最も一般的。構成を書き込むビットストリームをロードして動作。再プログラム性が高く開発効率に優れるが、電源断で設定を失うため外部の不揮発メモリから起動時に読み込むことが多い。
- フラッシュ(Flash)ベース:不揮発性で電源断後も設定が残る。消費電力や起動の利便性に優れるが、書換え回数やプロセス制約がある。
- アンチフューズ(antifuse):一度プログラムすると変更できないが、放射線耐性や高信頼性が求められる用途で採用される(衛星等)。
主要ベンダー例:Xilinx(現AMD)、Intel(旧Altera)、Latticeなど。近年はHLS(高位合成)やSoC統合(ARMコア+FPGA)での利用が増え、ハードウェアアクセラレーションが注目されています。
FAQ
Q: FPGAにプログラムを書くとは何をするのか?
A: HDL(VHDL/Verilog)や高位合成ツールで論理や回路を設計し、合成・配置配線・ビットストリーム生成を行い、それをFPGAにロードしてハードウェアとして動作させます。
A: HDL(VHDL/Verilog)や高位合成ツールで論理や回路を設計し、合成・配置配線・ビットストリーム生成を行い、それをFPGAにロードしてハードウェアとして動作させます。
Q: FPGAは電源投入後に自動で動くか?
A: デバイスの種類による。SRAMベースは起動時に外部不揮発メモリからビットストリームを読み込む必要がある。フラッシュベースは電源投入後に設定が残っていれば自動で動作する。
A: デバイスの種類による。SRAMベースは起動時に外部不揮発メモリからビットストリームを読み込む必要がある。フラッシュベースは電源投入後に設定が残っていれば自動で動作する。
Q: 部分的な書換え(部分再構成)は可能か?
A: 多くのFPGAは特定条件下で部分再構成(partial reconfiguration)をサポートし、動作中に一部の論理を差し替えることが可能です(対応は製品に依存)。
A: 多くのFPGAは特定条件下で部分再構成(partial reconfiguration)をサポートし、動作中に一部の論理を差し替えることが可能です(対応は製品に依存)。
関連キーワード: FPGA、再構成可能、SRAMベースFPGA、フラッシュFPGA、アンチフューズ、ビットストリーム、ハードウェアアクセラレータ、部分再構成、論理ブロック、配置配線

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

