ASIC・FPGA・SoCの違い:柔軟性・コスト・用途を比較

この3つの言葉は、それぞれ別のことを表しています。ASICは、特定の用途のために専用に設計したチップです。FPGAは、製造後に論理を書き換えられるチップです。SoC(システムオンチップ)は、CPUコア、GPU、メモリコントローラ、入出力など、システム全体を1つのチップにまとめたものです。言葉は重なる部分もあり、スマートフォンのSoCは多くの場合ASICとして作られ、プロセッサを内蔵したFPGAはSoCでもあります。

項目ASICFPGASoC
何か特定の用途のために設計・製造されたチップ製造後に設定できる、プログラマブルな論理ブロックと配線を持つチッププロセッサコア、メモリコントローラ、入出力、アクセラレータなど、システムの主な部分を1つにまとめたチップ
柔軟性製造後は変えられない現場でも書き換えられるハードウェアは固定だが、プロセッサで動くソフトウェアは更新できる
性能と電力効率最も高い。論理が用途に合わせて作られている中間。書き換えのための回路が、面積・速度・電力の負担になる高い。よく使う処理の専用アクセラレータがある
初期費用非常に高い。先端ノードでは、設計・検証・マスクで数百万〜数億ドルかかる低い。出来合いのデバイスを買う高い。専用チップなのでASICと同程度
量産時の単価最も安い1個あたりは高い安い
開発期間長い。設計・検証・製造に数か月〜数年かかる短い。数日〜数週間で動かせることもある長い
設計のバグの修正高くつく。多くの場合、マスクを作り直す(リスピン)簡単。書き換えるだけ高くつく。ただし一部はソフトウェアで回避できる
主な用途暗号資産のマイニング機、ネットワーク・ストレージのコントローラ、専用のコーデック試作、少量生産の製品、通信機器や計測機器、ハードウェアによる高速化スマートフォン、タブレット、ゲーム機、多くの組み込み機器

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

ASIC
生産数が多く、機能が固まっていて、コストあたりの性能と電力効率を最大にしたいとき。
FPGA
生産数が少ないとき、仕様が変わるかもしれないとき、すぐに始めたいとき。試作、立ち上げ期の製品、専門的な機器など。
SoC
スマートフォンのように、完成した製品を1つのチップで実現したいとき。実際にはSoCはASICとして設計され、製造の前にFPGAで試作することもよくあります。

よくある質問

SoCはASICですか?

実際には、多くの場合そうです。SoCは、チップに何を集積したか(システム全体)を表し、ASICは、どう設計したか(用途専用)を表します。スマートフォンのSoCは、通常ASICとして作られます。

なぜFPGAでASICの試作をするのですか?

FPGAは数時間で書き換えられるので、高価なマスクにお金をかける前に、ロジックを試して直せます。ASICは、製造後にバグが見つかると、多くの場合、作り直し(リスピン)が必要になります。

ASICがFPGAより安くなるのはどんなときですか?

生産数が多いときです。ASICは、初期費用が非常に高い代わりに、1個あたりのコストは最も安く、FPGAは、初期費用が低い代わりに、1個あたりは高くなります。

FPGAはASICより遅いですか?

一般にはそうです。書き換えのための回路が、面積、速度、電力の負担になるので、同じ仕事をする専用のASICのほうが、速く、電力効率も高くなります。

理解度チェック

FPGAの特徴として正しいものはどれか。

  1. A回路が製造時に固定され、変更できない
  2. Bアナログ回路専用のデバイスである
  3. C製造後に、ユーザーが論理回路の構成を書き換えられる
答えと解説を見る

正解:C. 製造後に、ユーザーが論理回路の構成を書き換えられる

FPGAは、小さな真理値表(LUT)をもつ論理ブロックと配線のつなぎ方を、製造後に設定データで書き換えられるデバイスです。ASICのように製造に時間とマスク費用がかからないため、試作、少量生産、機能の更新が必要な機器で使われます。一方、書き換えのための回路が余分に必要なため、同じ回路ならASICの方が高速・低消費電力・小面積です。アナログ専用のデバイスではありません。

CPU、GPU、メモリコントローラ、通信機能など、システムに必要な機能を1つのチップに集積したLSIを何と呼ぶか。

  1. ASiP(システムインパッケージ)
  2. B汎用DRAM
  3. CSoC(システムオンチップ)
答えと解説を見る

正解:C. SoC(システムオンチップ)

SoCは、システムに必要な多くの機能を1つのチップに集積したLSIで、スマートフォン用のプロセッサが代表例です。チップ間の配線がなくなるため、部品点数が減り、小型・高速・低消費電力にできます。一方、チップが大きくなって歩留まりが下がり、異なるプロセスの回路を混ぜにくい欠点もあります。複数のチップを1つのパッケージに収めるSiPとは区別されます。汎用DRAMはメモリ単体の製品です。

特定の用途や顧客向けに専用に設計されたLSIを何と呼ぶか。

  1. A汎用メモリ
  2. BASIC(特定用途向けIC)
  3. CFPGA
答えと解説を見る

正解:B. ASIC(特定用途向けIC)

ASIC(Application Specific Integrated Circuit)は、特定の製品や用途のために専用に設計されるLSIです。必要な機能に絞って最適化できるため、性能や消費電力の面で有利ですが、マスク代を含む開発費が高く、数か月以上の開発期間もかかるため、ある程度の生産量が見込める製品で使われます。製造後に書き換えられるFPGAは少量品や試作向きで、汎用メモリは多くの用途に共通の製品です。

  1. 大規模なSoCの検証で、設計した回路を専用のハードウェアやFPGAの上で動かし、ソフトウェアと組み合わせて高速に検証する手法はどれか。
  2. AIの推論処理を高速かつ低い消費電力で行うために、スマートフォン用のSoCなどに搭載される専用回路はどれか。

LSI設計フロー・EDAの練習問題へ

関連する用語の解説

ASIC(特定用途向けIC)
特定の用途や顧客向けに専用に設計されたLSI。汎用品より性能や消費電力で有利だが、開発費が大きく、量が見込める用途に向く。
FPGA
製造後に、ユーザーが論理回路の構成を書き換えられるLSI。試作や少量生産の製品、ASICの検証などに使われる。
SoC(システムオンチップ)
CPU、GPU、メモリコントローラ、通信機能など、システムに必要な機能を1つのチップに集積したLSI。スマートフォンの心臓部が代表例。

関連する比較