【えふぴーじーえー】

FPGA とは?

💡 作った後から回路を書き換えられる魔法の半導体
📌 このページのポイント
FPGA vs ASIC vs CPU の比較 特性 CPU FPGA ASIC 柔軟性 非常に高い 高い 低い(固定) 特定処理の性能 汎用的 高い 最高 開発コスト 低い 中程度 非常に高い 回路の書き換え ソフトで対応 何度でも可 不可(固定) 主な用途 汎用コンピュータ 通信・試作・AI推論 大量生産の専用IC FPGAは柔軟性と性能のバランスが取れたポジション
FPGA vs ASIC vs CPUの比較
ひよこ ひよこ

FPGAって普通のCPUと何が違うの?

ペンギン先生 ペンギン先生

CPUは決まった命令セットでプログラムを実行するけど、FPGAは回路そのものを変えられるんだ。たとえば「画像処理専用の回路」を書き込めば、CPUより圧倒的に速く処理できるよ

ひよこ ひよこ

じゃあASICとは何が違うの?

ペンギン先生 ペンギン先生

ASICは一度作ったら回路を変更できない専用チップ。大量生産すれば安いけど、設計ミスがあったらやり直しで数億円の損失になる。FPGAは何度でも書き換えできるから、ASICの試作段階で使われることが多いんだ

ひよこ ひよこ

どんなところで使われてるの?

ペンギン先生 ペンギン先生

通信基地局のデータ処理、自動運転のリアルタイム画像認識、金融の超高速取引、データセンターのAI推論アクセラレータなど、低遅延と柔軟性の両方が求められる場面で大活躍しているよ

ひよこ ひよこ

プログラミング言語で書けるの?

ペンギン先生 ペンギン先生

伝統的にはVHDLやVerilogというハードウェア記述言語を使うんだけど、最近はCやC++から変換できるHLS(高位合成)ツールも普及してきたよ。とはいえソフトウェアとは考え方が全然違うから、独特のスキルが必要なんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「FPGA」って出てきたら「回路を後から書き換えられるチップ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Field-Programmable Gate Array」 = 現場でプログラム可能なゲートアレイ
💬 Field(現場)でProgrammable(プログラムできる)Gate Array(論理回路の集まり)、つまり工場じゃなくても回路を変更できるチップのことだよ
← 用語集にもどる