第4回(前編)FPGAの利点その2 「時は金なり」はこちら

新たなメリットを生むASICとFPGAの併用

 FPGAには開発期間が短いという特長があることは前編でも述べたとおりだ。このメリットは開発期間が比較的長いASICとの比較でとくに顕著に現れる。

 しかし,すべての点においてFPGAがASICよりも優れているということを言いたいわけではない。たとえば製品の出荷数量が多い場合は,デバイスの単体コストはASICのほうが一般的には有利だ。また性能面をとことんまで追及しようとしたときは,回路の配置配線の自由度が高いASICのほうが最適化を図りやすいといえる。

 実際に,「FPGAには回路を変更できるというフレキシビリティや開発期間が短いといったメリットがあることはたしかに認めるが,量産を考えると,どうしてもASICを使わざるを得ない」,と考える製品マネージャも少なくない。

 そこで提案したいのがFPGAとASICの併用だ。競合関係として比較されることの多い両者の「いいとこどり」をしようという作戦である。製品の開発期間短縮という目的で考えると,主に三つの手法が考えられる。

(1) 試作にはFPGAを用い,量産にはASICを用いる・・・FPGAプロトタイピング
(2) 初期ロットにはFPGAを用い,二次ロット以降でASICに切り替える・・・FPGA--ASIC マイグレーション
(3)新機能をFPGAに実装し,開発済みのASICと組み合わせて使う・・・FPGA コンパニオン

開発を加速するFPGAプロトタイピング

 最初の手法は,FPGAで製品試作を進めるととも,量産用のASICを並行開発するやり方だ。一般に「FPGAプロトタイピング」(注)と呼ばれている。  (注: 言葉として正確なのは「FPGAを用いたASICのプロトタイピング」であろうが、「FPGAプロトタイピング」という表記にその意味を持たせていることが少なくない。)

 目的はふたつだ。ひとつはASICの完成を待つことなく基板やソフトウェアの開発や連動テストを進められるという点である(図1)。ASICの開発では論理がフィックスしたあとテープアウトを経てサンプルをようやく入手できるため,ソフトウェアとの連動テストの開始点は相当遅くなってしまう。FPGAなら試作基板を使って連動テストやシステムテストを早い段階から進めることができる。

図1.製品開発期間を短縮するFPGAプロトタイピング

図1.製品開発期間を短縮するFPGAプロトタイピング

 もうひとつは検証時間の短縮だ。論理回路の開発では検証が大きなウェイトを占めるが,コンピュータ上での論理シミュレーション(RTLシミュレーションまたはHDLシミュレーション)のスピードは実動作に比べて数百分の一以下と遅く,複雑な検証には多大な時間がかかってしまう。そこでFPGAの登場だ。現在のFPGAは論理規模や動作性能が最先端のASICと遜色のないレベルに向上しているため,実動作と同じ(または非常に近い)スピードで動作させることできる(図2)。つまりFPGAを搭載した試作基板を作って設計中の論理情報を基板上のFPGAにコンフィギュレーションしてやれば,試作基板は「ハードウェア・エミュレータ」に早代わりするというわけだ。

図2.高速なインシステム検証を実現するFPGAプロトタイピング

図2.高速なインシステム検証を実現するFPGAプロトタイピング

 ただし,このようなFPGAプロトタイピングにも課題がある。FPGAの開発とASICの開発を並行に進めるには,人的な開発リソースがそれだけ必要になる。また,両者の開発環境それぞれに精通しなければならないほか,タイミングのクリティカルパスが異なる点などを理解しておかなければならない。FPGAとASICのピン配置や電源電圧に互換性がない場合は基板開発が二度手間になる。

 それでも,FPGAが持つ早期開発のメリットと,ASICが持つデバイス単体コストが安いというメリットの双方を享受できるため,このような手法を活用して開発期間の短縮を図っている先進ユーザーも多い。

 なお,開発環境の整合性や論理のマッピングの容易性を考えると,同じベンダーが提供するFPGAとASICを利用するのも一案だ。たとえばアルテラ社では「HardCopy ASIC」というソリューションを用意していて,同社のFPGAからシームレスな開発が可能である。

出荷時期の前倒しや厳守にもFPGAは有効〜FPGA—ASIC マイグレーション

 二つ目の手法は,製品の初期ロットはFPGAを使ってできるだけ早期に出荷し,二次ロットかそれ以降でASICに切り替えるというやり方だ。さらに細かく分けると,ASICをFPGAと並行して開発するやり方と,FPGAを開発したのちにASICを開発するというやり方がある。

 いずれの方法も,市場で優位に立つために一日でも早い製品出荷が必要な場合や,一部の顧客に確約した出荷日を厳守しなければならない場合に有効だ。

 また,開発着手時点では製品の出荷数量のフォーキャストが立たない場合に,まずはFPGAで製品を出荷しておき,十分な数量が見込めそうと判断された時点でASICに切り替えるという戦略を採ることもできる。ASICは開発費が多額で開発期間も長いため,事業の見通しが不透明な場合に,いきなり開発するのはリスクが高すぎるからだ。

 このような「切り替え作戦」では,論理設計と検証はすでにFPGA上で完了しているため,ASICの開発はフロアプラン設計やディレイ検証が主体となり,通常のASIC開発に比べて設計期間も短く、失敗のリスクも小さい。

新機能をFPGAに実装し既存ASICと組み合わせ〜FPGA コンパニオン

 三つ目の手法は少し変わったやり方だ。基本機能が大きく変わることのない製品に限られるが,ひとつ前の世代で開発したASIC(ベース・プラットフォーム)と,機能増強分を実装したFPGAとを,組み合わせて使う方法である。アプリケーションソフトウェアによくある「アドオン」あるいは「プラグイン」的な役割をFPGAが担うことになる。半導体チップの世界では、「チップ・セット」とか「コンパニオン・デバイス(チップ)」という呼びかたが一般的になってきている。(図3)。

 ベース・プラットフォームとなるSOC(System On Chip)は、機能・性能・インテグレーションのどれもが高度なASICであることが多い。その場合、ASICの新規開発には1年半から2年の期間が必要だとされている。したがって機能追加やモデル・チェンジごとにASIC開発をすることは市場の変化に対応できる時間のなかでは不可能になっている。一方で、モデル・チェンジをしなければ市場競争力を失い収益も減少してしまう。

 このような環境で、強い競争力を継続するために多くのシステムに積極的に応用できるのがこの方法だ。たとえば画像処理アプリケーションの場合,基本となる画像処理ASICに,新たに規格化された画像処理アルゴリズムを実装したFPGAを組み合わることで,最新の画像処理機能を顧客に提供することができるようになる。もちろん,外部のハードウェア機能を利用できるような柔軟な仕掛けをベース・プラットフォームとなるASICにあらかじめ組み込んでおく必要があるが,最初からそれを意図して設計しておけばそれほど難しいことではないだろう。

 また、FPGAには「アドオン」機能のみを実装できれば良いため,コストの安い小規模のFPGA品種を選択できるというメリットもある。しかも、コンパニオン・デバイスとなるFPGAの論理情報のみを更新してやれば数か月単位の短い製品サイクルにも対応できる。このようにして、ベース・プラットフォームは数年ごとの大きなシステム変更のサイクルで更新することが可能になるだろう。

図3.ベース・プラットフォームASICとコンパニオンFPGAとの組み合わせ

図3.ベース・プラットフォームASICとコンパニオンFPGAとの組み合わせ

開発期間の短縮はさまざまな利益を生む

 この後編ではFPGAとASICとを併用するアイディアを取り上げたが,FPGAを単独で使う場合も含めて,ゴールは「開発期間の短縮」にある。ASICで年単位の開発期間を要していたプロジェクトも,FPGAに置き換えることで,あるいは上述のFPGAプロトタイピング等の手法を用いることで,月単位での短縮が可能になるはずだ。

 このような開発期間の短縮はさまざまな利益を生む。

  • 人件費が大半を占める開発コストを削減できる
  • 開発人員を次のプロジェクトに振り向けられる
  • 市場にいち早く製品を投入することで事業機会を逃さずにすむ(図4)
  • 競合他社よりも先に製品化ができ先行者利益が得られる
  • 顧客に対して出荷責任を果たすことができる
  • 開発エンジニアのストレスを軽減できる(前編で詳述)

図4.製品参入の遅れは事業機会の喪失につながるという調査例

図4.製品参入の遅れは事業機会の喪失につながるという調査例

 このほかに,製品の仕様や機能の決定タイミングを遅らせられるというメリットもある。開発期間の長いASICの場合,製品出荷から逆算してかなり前の段階で仕様や機能を決めなければならない。そのため,日々変化する市場の状況や日々登場する新たな技術を取り込もうとしても難しいのが実状だ。一方,開発期間の短縮が図れるFPGAなら,仕様や機能の決定タイミングを少しでも遅くできる。市場の状況などを反映しやすいと同時に,スケジュールをコントロールしやすい。

 また,製品開発の途中で競合他社が新しい製品を出してきた場合,FPGAなら速やかに機能強化を図ることもできる。競合をリスク要因のひとつに捉えたときに,「リスクマネジメント」が容易になるということだ。

 古い諺で「時は金なり」(time is money)と言われるが,企業活動においても時間の活用は利益の増大に結びつく。逆に時間をコントロールできなければ事業機会を逸してしまうおそれもある。開発期間の短縮を実現するFPGAを上手に活用して,時は金なりという諺のように,自社利益の最大化を図っていただきたい。