同じエンジニア仲間に「ハードとソフト、仕事にするならどっちがいい?」と今更問いかけてみるとしたら、食べていくための仕事としては、絶対にソフトウェアエンジニアの方がいいに決まっています。だって、特に私たちのようなLSI設計エンジニアは、ソフトウェアエンジニアに負けないくらいのソフトスキルがなければ、そもそも仕事にすらならないのですから。
また、ひと口に「ハードウェアエンジニア」と言っても、実は裏ではいろいろなカテゴリーに分かれているのですが、その中でも一番シンドイのが、間違いなくASIC開発ではないでしょうか。ASIC開発プロジェクトは、川上から川中だけでも、プロジェクト立案、仕様設計、アーキテクチャ設計、論理設計、論理検証、省電力設計、論理合成、等価検証、ベンダーインターフェース、ES検証、そして設計引き継ぎまで、本当にやることが目白押しです。これらをスムーズに進めるには並大抵のスキルでは足りませんし、そもそもASIC開発の未経験者がいきなり手を出してどうにかなるような、甘い世界ではないのです。
ふと、流行りのAIに「FPGAとASICのメリット・デメリット(Pros & Cons)」を尋ねてみたことがあります。返ってきた答えは、教科書に書いてあるような基本そのままでした。そこで「数値根拠や具体的な事例を交えて答えてみて」と少し具体的な指示を追加してみたところ、とたんにロクな回答が得られなくなってしまいました。皆様もぜひ、色々と試してみてください。本稿では、これまでの開発キャリアを振り返りながら、現場のリアルな実態を少し紐解いてみたいと思います。
なぜASICでなければならなかった?
省電力
電池動作が当たり前に求められるモバイル機器が開発のメインターゲットになって以来、悲しいことに、私の設計の選択肢から「FPGA」の文字は完全に消え去ってしまいました。省電力設計の奥深さについてはまた別途お話ししたいと思いますが、なぜASICとFPGAで、これほどまでに電力消費に致命的な大差が生まれてしまうのでしょうか。
「同一機能なのに消費電力が一桁も違う!」と聞けば、誰もがそれだけでFPGAの採用を躊躇するはずですが、それ以前に電池で動くモバイル製品においては、搭載できるデバイスの「最大消費電力」が、そのデバイスを収容する筐体の「放熱性能」によって必然的に決定されてしまう、という物理的な限界ルールがあるのをご存知でしょうか。
モバイル機器の筐体サイズになると、デバイスの電力対策をどんなに汗水たらして工夫したところで、放熱できる上限はせいぜい数W(ワット)が限界です。ここで、ある信号処理回路に与えられた電力枠の上限が「2W(ワット)」だと規定されたとしましょう。最先端の高度な信号処理を、どんなに優れた回路工夫でFPGA上に実装できたとしても、「2W以下に抑えろ!」と言われた途端に、FPGAでは何も動かせなくなってしまうのです。私の場合も、最終商品の形に縛られた結果、否応なく「ASIC開発」というイバラの道を選択するしかありませんでした。
PPA(Power, Performance, Area)の本当のトコロ
AIにFPGAとASICの比較して?と聞いてみたら、「FPGAはASICに比べて、約30%の性能低下、50%の消費電力増加、70%の面積増加が生じることがあります」と、なんとも眠たい回答が返ってきました。一体全体、何世代前のどんなプロセスを比較してそんな数値を叩き出したのでしょう。
性能面
ちょっと、同じ「16nmプロセス(N16)」を前提に、同じ400MHz動作での論理回路パフォーマンスをリアルに比較してみましょう。ここで重要なファクターは、回路の「論論段数(ゲートの深さ)」です。
ASICであれば、電力的に無理のないセルの範囲で「論理50段」程度は難なく1サイクルで動作させることができます。ところが、FPGAで同じ400MHzを維持しようと思ったら、論理段数はせいぜい数段(せいぜい4段や5段)に抑えなければ、セットアップタイムを満たせずに動作してくれません。つまり、ASIC側で「論理50段」を詰め込んで美しく最適化した回路を、そのままFPGAに持っていこう(リターゲットしよう)とすると、下手をすれば1/10の周波数(40MHz)で動くかどうかさえ怪しくなってしまうのです。
ASIC開発をお気楽に進めるための検証環境として、エミュレータアクセラレータを使える幸せな環境にある人は別ですが、そうでない普通の現場には「FPGAプロトタイピング」を強くお勧めしています。しかし、いざ実動作での検証を行おうとすると、この「論理段数の制限」という巨大な壁がいつも邪魔をしてくるのです。
実際、過去にこんなことがいくらでもありました。
最初から「FPGAでの超高速動作」をターゲットに最適化された回路を、後からコストダウンのためにASIC化(あるいはゲートアレイ化)しようとすると、本当なら「50段の論理」をまとめてギュッと詰め込んだ方が面積効率が良いはずです。しかし、すでに「FPGA上で5段未満」に最適化され、FF(フリップフロップ)が細かく挟み込まれた回路を、後から50段に詰め直そうなんて、そんな芸当は完全な再設計と同様であり、実務上はできることではありません。合成ツールが上手いことやってくれるようなRTLをあらかじめ仕込んでおくことも方法として可能ですが、検証の工数と再利用性で得られるメリットを天秤にかければ、普通のプロジェクトでそこまで手間をかけると割に合いません。
皆様もきっとお心当たりがあるはずです。往々にして、何の工夫もなく無駄に論理段数が短い(FFが多すぎる)まま、シリコンの面積も電力も無駄に消費しているRTL設計が、誰にも指摘されることなく、今でも平然と世の中に蔓延っているのが現実なのです。
以前、FPGAで製品化していた回路を、ローコスト化のためにGA(ゲートアレイ)に載せ替えたことがありました。FPGAとGAというアーキテクチャの違いがあるとはいえ、使用したFPGAの方が「2世代先」の微細化プロセスだったにもかかわらず、仕上がったGAのダイ(チップ)面積があまりにも小さなサイズだったことに心底驚いたものです。
ムーアの法則は、回路の集積度だけでなく「開発費(NRE)」の暴騰スピードでも適用されているのではないかと勘違いしたくなるほど、1xナノ世代以降のASIC開発にかかるNREは尋常ではない金額になってしまいました。気がつけば、私の周りからも、先端ASIC開発を続けていけるメーカーや設計者が次々と消え去り、ついにはこの先端分野を極めてきた私でさえ、N7以降のプロセスを使った開発に見切りをつけることとなりました。
300mmのシリコンウェハを1ロット(25枚)製造するだけで、製品の生涯数量(生涯で必要なチップ数)をあっさりと満たしてしまうようなビジネス規模において、NREに数十億円を要する「先端ASIC」の採用をこのまま続けていけるはずがないことは、少し考えてみるだけで誰にでも分かります。今の日本の半導体開発の最前線が置かれている「厳しい現実」を把握するには、これだけで十分かもしれません。
つまり、万事はケースバイケースであり、厳密にPPAを評価しなければ合理的な判断は下せないということを示してみたつもりですが、それを承知の上で、あえて「同一プロセス・同一機能」における現実的なPPA比較値を無理にでも数字にして示すなら、「FPGAはASICに比べて、最大動作周波数は1/5に低下、消費電力は10倍に跳ね上がり、面積にいたっては30倍に肥大化する」というのが、私が最もシックリくる肌感覚です。
それでもFPGAなら「最先端プロセス」が使える
とは言え、先端ASICの数億〜数十億円というNREをポンと支払える製品は、世界中を見渡してもスマートフォン用SoCやハイエンドGPUなど、ごく一部の限られた化け物製品だけです。
しかし、FPGAであれば話は別です。生涯数量がたったの数千個という規模であっても、半導体メーカーが代わりにマスク代を負担して量産してくれていますので、私たち一企業であっても最新鋭の超微細化プロセスを施されたFPGAチップに手を出せます。つまり、学術的に「同一プロセスでASICとFPGAを比較する」というのは、公平ではあっても、ビジネスの現実としてはほとんどナンセンスな比較、ということもできるのです。では、一体どういった指標で両者を天秤にかければよいのでしょうか。
「同一機能、同一電力に揃えてコストを比較できるのか?」
できることなら実際に試して検証してみたいところですが、そんな奇特なご依頼でもない限り、現実には難しいものがあります。同一機能であっても、デバイス特性によって最適な論理段数も、実装面積も、引き出せる実効性能も全く変わってしまいます。電力をキーにしてコストパフォーマンスを無理やり正規化して評価しようとしても、考えれば考えるほど一筋縄ではいかないことが分かります。
PPA検討なんていい加減!?
FPGAとの比較に限らず、ほとんどすべての開発プロジェクトにおけるPPAの検討は、実は驚くほどいい加減な検討だけで判断されている、と言い切っても過言ではありません。実際の落としどころをどこに置くのが正しいやり方なのか、設計者なら誰でも本当のトコロが知りたいのですが、考えるほどに問題が複雑すぎて費用も工数もかかるため誰も真剣に理想的な検討をやり切ることができず、結局は目の前の単純作業から抜け出せないまま、あらゆるPPAに目をつぶって開発をしているのが現実なのです。(私が行ったPPA比較検討アプローチを自慢したいところですが、理想的なPPA検討には程遠い…)。
ASIC開発の三重苦
少ロット
ここではお気楽を掲げながらも、ここまでの道のりはなかなかのイバラの道を進んできました。何が一番悲しかったかと言えば、たとえ世界最高性能の信号処理技術を詰め込んだ製品であっても、業務用機器というものは「所詮、数が出ない」という切ない宿命を背負っている点です。
数が売れない以上、当然ながら製品一台あたりの単価は非常に高くなります。個人が趣味で買えるはずもなく、ビジネスの舞台は必然的に極めて小さなBtoBの世界になります。しかし、プロ向けモバイル機器であるため「超省電力かつ圧倒的な高性能信号処理」をクリアしなければなりません。だからこそASICでなければならなかったのです。
では、ここで半導体ベンダー(ファウンドリ)さんが商売として成り立つために、最低限どのくらいの生産数量を求めてくるのか、少し計算してみましょう。
例えば16nm(N16)世代ともなると、製造ラインは300mmウェハが主流です。1枚のウェハの面積は約70,000mm²。一昔前の比較的大きめな「100mm²のチップ」を設計し、歩留まりの当初目標を70%と仮定すると、ウェハ1枚から取れる良品チップは約400個になります。
ウェハの製造単位(1ロット)である25枚を一度に流すと、1回のオーダーで自動的に「1万個」のチップが出来上がってしまいます。
生涯必要数がせいぜい「数千個」が目標である業務用機器ビジネスにおいて、こんな苦しい開発を喜んで引き受けてくれる半導体ベンダーさんなど、この世界のどこにもいません。それなのに、性能と電力の限界から、どうしてもASICが必要なのです。私がこれまでご協力いただいたベンダーのエンジニアさんや営業の皆様に対し、「感謝してもしきれない」と常々口にしている理由は、実はここにあるのです。
高NRE
ベンダーさんも慈善事業ではありませんから、数が作れないのであれば、その分だけイニシャルコスト(NRE)として莫大な開発費を上乗せ請求しなければビジネスが成立しません。「トータルでいくらの商売にするか」という、生々しい駆け引きや様々な立場の思惑が発生します。その裏舞台をここに赤裸々に書くことはさすがに憚られますが、近年においては、開発費だけで「数十億円」と言われても、業界関係者なら誰も驚かない世界になってしまっています。
一発完動(ノーミス)
お客様の視点に立てば、バグ(不具合)による損害賠償やサポートの責任は、ハードウェアもソフトウェアも同じです。しかし、設計者自身のプレッシャーという視点で見ると、両者には天と地ほどの差があります。
ソフトウェアであれば、どれほど大規模なプログラムであっても、コンパイルし直すのに追加の費用はかかりませんし、時間もそれほど失われません。これがハードウェア(ASIC)になると、まるで状況が異なります。
仮に、軽微なバグであり「メタル層(配線レイヤー)だけの修正」で運良く対応できたとしましょう。それでも、テープアウト(Tape Out:設計データ提出)から試作サンプル(ES)が手元に届くまでの各種調整にどんなに手を尽くしたところで、やり直しには最低でも「3ヶ月」という恐ろしい時間と、数千万円から数億円の追加費用がかかります。
もしアーキテクチャの根幹にバグがあり、「全層(フルマスク)修正」や「再設計」が必要なんて事態になれば、それこそプロジェクトの存続どころか、会社や個人の首が回らなくなるほどの文字通りの地獄を見る羽目になります。普通の精神力の持ち主であれば、プレッシャーに耐えかねて今すぐ辞めたくなって当然の、恐ろしい仕事なのです。
私の場合、ありがたいことに通算「10品種連続一発完動」という奇跡的な記録を維持し続けてきました。11品種目にして、残念ながら年貢の納め時を迎え、開発リーダーとして初の試作やり直し(リスピン)の辛酸を嘗めることとなりましたが、それでも「私自身が直接コードを書いたRTL」においては、30年のキャリアの中でリスピンに繋がるクリティカルなバグは一度も出していません。
これは単なる幸運ではなく、実は明確な理由と、「お気楽なカラクリ」を設計フローに仕込んでいたからです。その種明かしについては、また追ってコラムでご紹介しようと思います。
日本の未来命運を、誰に託す!
半導体産業を復興させる最後の砦とすべく、天文学的な金額の公的資金投入や政府保証といった、かつてない大規模なニュースが昨今メディアを賑わせています。
「開発が三重苦で辛いから」と、日本がASICの設計技術をここで手放してしまったら、製造業としての国際競争力を本当に失ってしまうという事実に、私たちはもっと危機感を持つべきではないでしょうか。
現在でも世界最前線で孤軍奮闘している、日本の素晴らしい半導体製造装置メーカーや材料メーカーの皆様を悪く言うつもりは毛頭ありません。しかし、彼らが優れた装置を開発しても、その恩恵を預かって安くて良いASICを製造するのは台湾や米国のメーカーであり、絶大なる期待を背負った最後発の日の丸ファウンドリーさんも、結果として欧米の技術力をさらに高める手助けをしているに過ぎません。日本の製品開発メーカー自身がASICの設計についていけなくなってしまっては、彼らの先端技術が日本全体の国力や商品価値の向上に結びついているとは、到底言えないのではないでしょうか。
しかし、私のようなイバラの三重苦を歩んできたASIC開発にも、今まさに、今後の未来を劇的に変える可能性を秘めた次世代技術が立ち上がりつつあります。
それが、「MinimalFab(ミニマルファブ)」と「Chiplet(チップレット)」です。
ASICが再び日本のものづくりを輝かせる——そんな技術の進化に、一人の設計者として貢献できればこれ以上の幸せはありません。しかし、このような巨大な変革は、国家レベルの支援なしには、一企業や一個人の頑張りだけでどうにかなるものではありません。
おそらく、国家政策の中枢にいる意思決定者の方々は、学歴も優秀で滅茶苦茶に賢い人たちばかりなのだと思います。ですが、現場で実際にキーボードを叩き、深夜までデバッグし、一発完動の極限プレッシャーの中で戦い続けた経験のない「中身のリアルを本当に理解しているとは言えない人たち」(=実際に現場で設計し続けた経験なくして判るはずがない)に、この国の半導体・技術革新の未来の命運をまるごと託してしまって、本当に大丈夫なのでしょうか?
そんな危うさを少しでも解消するために、現場の知恵を正しく集約し、お気楽で強い「本物の設計力」をもう一度日本に取り戻したい。それこそが、Myoken Researchが目指す未来なのです。
参考文献・リンク
