FPGA、ASICの違いは何ですか?
FPGAとASICの違いは何でしょうか?
FPGAとASICは、どちらも目的に合わせて内部ロジックを作りこむ、カスタム可能な集積回路です。
両者の違いはコストや性能などにあります。

FPGA・ASICとは

FPGAとASICは、どちらも目的に合わせて内部ロジックを作りこむ、カスタム可能な集積回路です。

FPGA(読み方:エフピージーエー)とは

FPGAは、集積回路の種類の一つ。FPGAとは、「現場で書き換え可能な論理回路の多数配列」を意味する「Field Programmable Gate Array」の略。ユーザーが現場(Field)でプログラムを書き換えられる。

組み込みのFPGAとは?仕組み、意味、特徴をわかりやすく解説

ASIC(読み方:エーシック)とは

ASICとは、「特定用途向け集積回路」を意味する「Application Specific Integrated Circuit」の略。名前の通り、ある特定の用途のために設計・製造されるICのこと。そのICを利用する機器メーカー(ASICユーザー)と半導体メーカー(ASICベンダー)が共同で開発する。ASICに対し、汎用的に使用されるマイコンなどは「汎用IC」となる。

FPGA・ASICの違い

FPGA・ASICの比較一覧表

FPGA ASIC
初期投資 ×
デバイス単価
性能
書き換え回数 ×

FPGA・ASICのコスト(初期投資・単価)の違い

ASICは、特定の用途のために設計・製造される、オーダーメイドなICです。このためASICは、初期投資として多くの開発期間、開発費を要する、というデメリットがあります。

一方、ASICは、ユーザーが必要とする最低限の回路で構成されています。このためASICは、FPGAよりも部品コストを抑え、(設計開発の費用を除く製造時のみの)デバイス単価を安くすることができるというメリットがあります。

このため、FPGAとASICを同じような設計で一台ずつ生産した場合、初期投資がない分、コストはFPGAの方が低くなります。ASICを使って量産を行う際、FPGAでロジックを試作してからASICで量産を行う、という使われ方が多いのは、そのためです。

ポイント
  • ASICは、初期投資としてのコストは大きいがデバイス単価が低い
  • FPGAは、初期投資も単価もある程度コストがかかる

FPGA・ASICの性能・消費電力の違い

オーダーメイドであるASICは、ユーザー向けに最適化しています。このためASICは、設計次第ではFPGAに比べて高い性能を引き出すことができます。同様に、プロセス次第では消費電力を最大限抑えることも可能です。

一方、FPGAも設計やプロセスにより、ある程度の性能や省電力が期待できます。ただし、設計やプロセスに限界があるため、ASICほどの性能や省電力は期待できません。

ポイント
  • ASICは、設計次第で高い性能を引き出し、消費電力を抑えられる
  • FPGAは、ASICほどの性能や省電力は期待できない

FPGA・ASICの書き換え回数の違い

多くのFPGAは、プログラムデータを書き換え可能なメモリであるフラッシュメモリに記憶しています。

フラッシュメモリとは

フラッシュメモリとは、記憶装置の1つ。フラッシュメモリは、電源を切っても記憶内容が維持される、不揮発性の半導体メモリ・ROM。本来、ROMは、データの消去や書き込みができない。しかしフラッシュメモリは、例外的にデータの消去や書き込みができるROM。

フラッシュメモリ(フラッシュROM)とは?定義・意味・特徴をわかりやすく解説

このため、FPGAは、フラッシュメモリが壊れるまでは書き換えることができます。

これに対し、ASICは、データの消去や書き込みができないROMで構成されています。

ROMとは

ROMとは、Read Only Memory(リード・オンリー・メモリ)の略で、読み出し専用のメモリのこと。電源を切っても記憶されたデータが消えない性質(不揮発性)を持つ。製造時などに一度だけデータを書き込むことができ、利用時にはデータの読み出しのみが可能。

このため、ASICは、一度製造してしまうと変更が難しくなります。

ポイント
  • FPGAは、複数回書き換えが可能
  • ASICは、一度製造してしまうと変更が困難

大量生産向け=ASIC・少数生産向け=FPGA

上記の通り、FPGAとASICはコストや性能面において違いがあります。前述の通りASICは、初期投資として多くの開発期間、開発費を要します。このため、単に性能だけでASICを選択するのではなく、必要な数量に応じた選択が大切です。

量産数量が多い場合はASIC、少ない場合はFPGAを選択する必要があります。

代表的なFPGAとして、インテルのNios IIがあります。Nios IIは、FPGA向けに特化して設計されています。

Nios IIについては、下記の記事をご覧ください。

FPGA用のNios IIとは?仕様・機能・評価ボード・開発環境・対応OSを紹介

ポイント
  • ASIC:大量生産向け
  • FPGA:少数生産向け