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