同じエンジニアなら、ハードとソフトどっちがいい?と今更問い返してみるとすれば、食べていくための仕事なら、絶対ソフトエンジニアのほうがいいに決まってる。だって、特にLSI設計エンジニアはソフトにしてもソフトエンジニアに負けないスキルがなければ仕事にならないのだから。また、ハードエンジニアと一言でいっても、実はいろんなカテゴリーがあるのだが、その中でも、一番シンドイのがASIC開発なのではないだろうか。ASIC開発プロジェクトもさらに工程を分ければ、プロジェクト立案、仕様設計からアーキテクチャ設計、論理設計、論理検証、省電力設計、論理合成、等価検証、ベンダーI/F、ES検証、設計引継ぎまで、と川上から川中ぐらいまでこなしていくだけでも並大抵のスキルでは上手く進めることもできないし、そもそもASIC開発未経験者なら開発することすらができるはずもない。

はやりのAIにFPGAとASICについてProsConsを尋ねてみた。述べられていることは基本的に全くその通りではあるが、数値根拠や具体例を用いて回答せよと指示してみたら、ロクな回答が得られないので各自いろいろと試してみてほしい。自身を振り返ってみると、

なぜASICでなければならなかった?

省電力

電池動作が求められるモバイル機器が最終製品ターゲットになって以来、悲しいことに私の開発対象からFPGAの選択肢が消えてしまった。別途詳述するとしても、なぜこんなにも電力消費に大きな差が生まれるのだろう。同一機能で一桁電力値が異なるとすれば誰しもが致命的な問題と考えるかもしれないが、それ以前に電池動作が求められる製品においては、そもそも該当デバイスの最大消費電力は、そのデバイスを収容する筐体における放熱性能により必然的に決まってしまう数値であることも忘れてはならない。

モバイル機器の筐体サイズになると、該当デバイスの電力対策をどんなに頑張って工夫したところで数Wが上限である。ここである機能デバイスの電力割り当てが2Wを上限とすると、最先端のモバイル機器で用いられる高度な信号処理を回路工夫でFPGAに実装できたとしても、2W以下でなければならないと規定した途端に、恐らく何もできなくなるはず。私の場合も最終製品ターゲットに従って、否応なくASIC開発の選択しかあり得なくなったのである。

PPA(Power Performance Area)

AIに聞いてみたら、「FPGAはASICに比べて約30%の性能低下、50%の消費電力増加、70%の面積増加が生じることがあります」と寝ぼけた回答が返ってきたが、一体何を比較してこんなことを言っているのか?まずは同一プロセスの比較を前提に少し考えてみよう。

性能面

敢えて具体名での表現を控えるが、同じN16世代で400MHz動作でのユーザーロジックのパフォーマンスを考えるとき、まず当該回路の論理段数が重要となる。

ASICなら、50段ぐらいまでなら電力的にリーズナブルなセルの範囲で動作可能だが、FPGAだと数段に抑えなければ同じ周波数では動作しない。つまり、ASICでぎりぎり400MHz動作に最適化された回路をFPGAにリターゲットすると、1/10の周波数でも動作するかどうか怪しくなってくるのである。

ASIC開発をお気楽にやるための検証方法として、アクセラレーターを使える人は幸せだが、そうでなければFPGAプロトタイピングをお勧めはするものの、実動作での検証が必要な場合は、この論理段数無駄問題は大きな障害となる。

実際過去にいくらもあったことだが、FPGAでの高速動作に最適化されている回路をASIC化すると、本当なら50段程度の論理を詰め込んだほうが面積効率がよいとしても、FPGA上で5段未満に最適化してしまった回路だとすると後から50段まで詰め込もうと考えたところで、そんな芸当は完全な再設計同様となり現実的にやれることではない。合成テクニックでなんとかなるようにRTLを作っておくことも不可能ではないが、検証も踏まえて考えたときによほど再利用性を重視した回路を設計する場合でもなければかける工数が見合わない。皆さんも心当たりがあるはずだが、往々にして、なんの工夫もなく無駄に論理段数の少ない回路のまま、多数のFFを実装した面積も電力も無駄にしている設計が表面化されることなく蔓延っているのが現実である。

過去にFPGAを使って商品化していた回路を後に低コスト化のためにGA(Gate Array)にしたことがあるのだが、FPGAとGAの違いに加え、さらにFPGAのほうが2世代先のプロセスだったはずだが、それでもダイの面積が大きく違っていて驚いた。

ムーアの法則は、回路規模にとどまらず、NREでも通用するのかと勘違いしそうなほど、N1x世代になってからのNREはいくらなんでもお金がかかりすぎ、だからこそ気が付いたら誰もやり続けていける人がいなくなってしまい、ついには先端開発を極めてきた私までもこの先の開発に見切りをつけることとなった。300mmウェハ 1ロットで生涯数量に到達してしまうような商品において、先端ASICでなければ実現できない機能開発をつづけることができるはずがないことを考えてみるだけで、今の日本の半導体開発最前線の状況を把握するには十分かもしれない。

つまり、万事ケースバイケースで厳密に評価しなければ判らないということを示してみたつもりなのだが、その上で、敢えて無理やり同一プロセス・機能におけるFPGAを比較するとしたなら、「FPGAはASICに比べて最大周波数1/5の性能低下、消費電力は10倍に増加、面積増加は30倍ぐらい」ということなら私の感覚的にはシックリくる。

FPGAなら最先端プロセス

先端プロセスの一般的なNREを具体記載することは別途記載のごとく憚られるが、今の時代の最先端に近づくと数十億をはるか超えるNREであっても驚く金額ではなくなっている。そんなNREを払える製品なんて数えるほどだが、FPGAなら、単価は生涯数量条件に依存するが例えば数千個であって最先端プロセスのFPGA採用は手が届く。つまり、同一プロセスで比較する事は、公平な比較なのかもしれないが、現実的には無意味な比較だということもできる。それならどういう指標で比較すべきだろうか。

同一機能、同一電力で比較できる?

できることなら、やってみたいとは思うものの、誰かの依頼があればの話である。同一機能だとしても、デバイス特性により論理段数、実装面積、実現性能が異なってくるし、同一機能の観点で実現性能を敢えて比較可能な範囲に絞り、電力で正規化してコストを比較できそうだが、ちょっと考えただけでも簡単にできそうな気がしない。

みんながやってることはいい加減!?

つまり、世の中のすべての開発は、PPAについていい加減な検討でしか成り立っておらず、実際の落としどころをどこに置いて考えるべきか、みんなが知りたいことだが、難しすぎて誰も手がつけられず、結局は目の前の単純作業から抜け出せず、ありとあらゆる無駄に目をつぶって開発をしているといっても過言ではない。(でも私は違ってたはず!!と言いたいものの、、)

ASIC開発の三重苦

少ロット

こんなに苦労していばらの道をつきすすんできつもりだが、何が一番悲しかったかといえば、世界最高性能の信号処理技術が必要であろうと業務用製品なんて所詮数がでない宿命にある。だから製品単価は高い。なので個人で買えるはずもなく市場が必然的に小さな世界であった。といってモバイル機器なので省電力かつ高性能な信号処理が求められる。だからASICなのである。では半導体ベンダーさんが儲けるためには最低限どのくらいの数量が必要となるのか考えてみよう。

例えばN16世代ともなると、300mmウェハが主流につき、1枚のウェハの面積は約70,000mmとなる。そこそこ古いプロセスで、例えば100mm2のChipなら歩留まり70%ぐらいが目標ラインとすると、1枚あたり400個ぐらい。1ロットが25枚なら、1オーダーで、1万個のChipが出来上がる。つまり生涯数量が上手くいったところで数K個が目標の業務用機器において、誰もこんな苦しい開発を喜んで受けてくれるはずがないわけだ。だけどASICが必要なのである。これまでご協力いただけたベンダーさんには感謝しかない所以がここにある。

高NRE

無論慈善事業ではないので、当然利益がでなければならない。数が少なくても利益を生むには、その分だけ開発費(NRE)を沢山払って、トータルいくら?の商売ということになり、そこには様々な立場の思惑から駆け引きもいろんな場合があり、それをあからさまに書くことができるはずもないが、近年は数十億円だったとしても何も驚くに値しない金額になっているというわけだ。

一発完動(ノーミス)

対お客さんの視点だと万一バグがあればハードもソフトもその責任は変わらないが、設計者目線だと、ここには大きな違いがある。ソフトならどんなに大きな規模のソフトウェアであったとしても再コンパイルするのに、お金も時間も大きく費やすわけでないのがなんといっても羨ましい。これがハードウェアになると話が全く違ってしまう。ここでは話をASIC開発に絞ってしまうが、まず日程・時間が大問題になる。メタル層のみの修正で対応可能な場合であったとしよう。T.O(Tape Out)+ES(Engineering Sample)入手までの種々調整に手を尽くしたところで、試作のやり直しに3か月は掛かってしまうこととなる。そもそもアーキ自体に問題があって全層修正どころか再設計が必要なんてことになると首をくくる事態にさえ追い込まれかねないので、普通の神経の持ち主だと辞めたくなって当たり前な仕事なのである。私の場合、10品種連続一発完動を続けてきたものの、11品種目で年貢の納め時を迎えリーダーとして初のリスピンも経験したものの、自身の設計箇所においてはこれまでリスピンにつながるバグは一度も経験していない。それはなぜか?そのカラクリについては追って記載してみようと思う。

日本の未来命運を託せる!?

半導体産業の復興最後の砦とすべく、多額の公的資金投入や政府担保などといった信じがたい施策までもが、昨今世間のニュースにさえなっている。三重苦だからと言ってASIC開発をやめてしまったなら、本当に技術の国際競争力を失ってしまうことに、みんなもっと目を向けてほしい。今でも最前線で頑張っている製造装置メーカーを悪くいうつもりは毛頭ないが、彼らの成果は欧米の技術競争力を高めることを助長しているだけで、日本の製造業がASIC開発についていけなくなってしまったのでは、彼らの技術が日本全体の商品価値向上につながっているといえるのだろうか。

でも、これまでは三重苦だったかもしれないが、今後を担う新たな技術が生まれつつある。

そう、MinimalFabとChipletだ。

ASICが日本の未来を輝かせる!この技術の進化に貢献できれば幸せだろうが、公的資金の援助なくして一企業、一個人の頑張りなどでは到底なりたたない。

国家権力の中枢にいる人たちは、恐らく滅茶苦茶賢い人たちだと思うものの、中身のことを判ってるはずがない人(=実際に現場で設計し続けた経験なくして判るはずがない)に、技術革新の未来命運を託してよいのだろうか。