ASICプロトタイピングシステム

ASIC プロトタイピングシステムとは、大容量で高速なFPGAを使用して仮想ASIC環境を構築し、よりASICに近い高速動作環境(数十MHz)で実行するハードウェア及びアプリケーション(ソフトウェア)検証の総称です。画像系、通信系のアプリケーションで広く採用されている検証手法です。

ASIC プロトタイピングシステムは、ソフトウェアシミュレータやアクセラレータによるRTLサインオフと比較した場合、よりターゲットとするASIC(SoC)に近い環境で検証を実行するため、ソフトウェアシミュレータやアクセラレータで検出できないバグを短時間で見つけることが可能です。2013年夏時点において、ASICプロトタイピングシステムに搭載されるFPGAデバイスは、できるだけASICおよびSoCに近い容量を持つ、大規模・超高速のFPGAが使用されています。
(ザイリンクス社:Virtex-7、アルテラ社:Stratix V)

また一方では、ザイリンクス社のKintex-7、アルテラ社のCyclone Vといった、比較的安価なFPGAを搭載したFPGA Evaluation Boardも多種多様に出回っており、ASICやSoCの設計時術者だけではなく、システム技術者にもFPGAを利用したプロトタイピング手法が浸透しつつあります。

複雑なASICのハードウェア検証加速手法には、次のような手法があり、次のような手順でおこないます。

標準的なASICハードウェア機能検証手法として、(1)→<(2A)もしくは(2B)→>(3)に移ります。開発予算、ASICの複雑さ、検証内容等によって、すべての手法をとるか、一部の手法にとどめるか、その組み合わせが異なります。そしていずれの場合にも、ASICを起こしてからバグが発見されると、チップの再製作には数億円以上のコストが必要となり、検証におけるスピードと精度への要求は極めて高度になってきています。

各ソリューションの長所と短所

(1)シミュレータによる検証(数Hz)

長所

  • ほとんどの設計部門では導入が完了しており、新規導入コストは限りなく安価である。
  • アサーションチェックなどの汎用性のある検証環境がインテグレーションされている。

短所

  • 数百万ASICゲート以上の規模となった場合には検証に時間がかかる。
  • 設計者がテストベクタとして想定した範囲内の検証しかできない。
  • ASICを起こしてからバグが見つかるとチップの再作に数億円以上必要

(2A)シミュレーションアクセラレータによる検証(数100KHz)

長所

  • シミュレータと同じフローで検証が可能であり、プロジェクトへの適用が容易である。
  • エミュレータより安価(数千万円)

短所

  • ASIC⇔FPGAの機能的な等価性の保証は、検証した結果がRTL等価であることが前提となる。
  • アクセラレータのモデルによっては、RTL変更が必要なものがあるため、何を検証しているか分からなくなる。
  • テストベンチ内での検証の範囲でのみの検証であり、複雑なバグの発見は不可能。

(2B)ASICエミュレータ(数MHz)

長所

  • フルノード観測が可能である。
  • シミュレーションフローに比べればバグの検出率は劇的に向上する。
  • 自動パーティショニングツールが用意されている。

短所

  • 極めて高価(数億円)であり、規模が増えるごとに大規模投資が必要となる。年間保守費用に数千万円が必要となる事例もある。
  • 一度立ち上がれば使い回しは効果的ではあるが、導入初期における設定が複雑で、数週間から数ヶ月を要したという事例がある。
  • かなりの好条件が重なれば10-20MHzまでは可能だが、経験値としては、実行速度は数100KHzー数MHzと言われている。
  • メモリやインタフェースが実速度で動作しないため、全て合成可能なモデル準備(購入もしくは自作)が必要となる。特にDDR2/DDR3/DVI/HDMI/PCI Expressなど高速動作ペリフェラルの適用は難しい。

(3)汎用ASICプロトタイピングシステム

長所

  • アクセラレータやエミュレータより一桁低価格なシステム価格。
  • 商品によっては必要となってから1週間以内に入手できる汎用流通性がある。
  • FPGAの搭載個数、あるいは評価ボードの複数枚適用により、リーゾナブルな価格と工数で検証規模の拡張が可能。
  • 上記価格帯であることから、ハードウェア設計に並行して、ソフトウェア部隊がこのシステムを導入・利用してASIC完成前にソフトウェアを検証することも可能。
  • DiaLite(当社販売)など、安価なASICプロトタイピングシステム用サードパーティ検証ツール使用により、エミュレータライクなデバッグ環境構築が可能。
  • ASICと実速度もしくは約半分の動作周波数で動作可能(DDR2/DDR3/DVI/PCI Express)であり、最大約150MHz-200MHzが実現できる事例もある。
  • PC⇔ASICプロトタイピングシステムのインタフェースが容易。

短所

  • 環境設定にFPGAの知識、経験が必要
  • 特定のアプリケーションに特化した場合には機能的にカスタムボードに劣ることがある。
  • 機能を最小限に絞り込んだカスタムボードに比較するとまだ高価なことがある。
  • FPGAテクノロジや各FPGAベンダの固有の技術に縛られることがある。
  • 大規模ASICのRTLデザインを分割して複数のFPGA内に実装し配置配線を実行する場合には、高価なパーティションツールが必要になる。

ASICプロトタイピングシステムのタイプ別ソリューションの違い

固定配線のASICプロトタイピングシステム

長所

  • FPGA-コネクタ間のタイミング値などを得やすい。
  • FPGA、コネクタ内での信号値をロジックアナライザなどで見やすい。
  • クロック、信号などの配線チューニングがしやすい。
  • 総合的な動作周波数解析が容易であるため、動作周波数ドメインのデザイン向きである。
  • 安価

短所

  • 複数FPGAのロジック分割に手間がかかる。
  • FPGA機能、知識の熟知が必要。
  • ソフトウェア検証対応が難しい(カスタム開発が必要となる)。

汎用配線(スイッチングデバイス)のASICプロトタイピングシステム

長所

  • FPGAの経験が浅くても環境設定が可能。
  • 同じ環境を再現する時間は短い(配線ボードなどが不要)。
  • ソフトウェア統合環境構築が容易(コシミュレーション、コエミュレーション対応)。

短所

  • FPGA-コネクタ間のタイミング値などが得にくい
  • FPGA、コネクタ内での信号値をロジックアナライザなどで見にくい
  • クロック、信号、動作周波数などの配線・チューニングが複雑
  • ソフトウェアの習得が必要
  • デザインサービスが必要の場合がある(特に1千万ゲート以上の大規模デザインの場合、パーティショニングツールが必須)
  • 総合的な動作周波数解析がしにくい(動作周波数ドメインのデザインへは適用しにくい)
  • 高価

Altera社とXilinx社、ASICプロトタイピング取り組みに対する評価(2013年夏時点、当社独自調査による)

Xilinx社

長所

  • 最大規模のFPGAの最大ピン数のモデルが多く普及しており、マルチFPGAにインプリして使用する必要のある超大規模デザインの場合、FPGA間の信号のやりとりが多く、速度低下を防ぐには多ピンであるのが利点。
  • 国内のザイリンクス販売代理店がシステムボードを独自開発しており、サポートに一貫性がある。
  • オプションボード(例:HDMI、USB3.0 、LVDS等)も、カスタムボードの開発にも力を入れている。

短所

  • FPGAボード(マザーボード、オプションボード)の開発、生産、販売はFPGA代理店及びサードパーティに依存。
  • FPGA代理店も自社製ボード開発・販売をおこなうため、FPGA代理店とサードパーティ間での協業はない。
  • 開発ツールについて。
  • DDR2などのメモリ用コントローラなどのIPコアはXilinx製では満足できない顧客に対してFPGA代理店が独自に開発するなど代理店に依存。

Altera社

長所

  • 当社が販売する最大規模Stratix Ⅳベースのシステムは、業界最高水準のコストパフォーマンス。(当社独自調査による)
  • FPGAボード上の外部インタフェース用コネクタ規格に関する統一性(HSMC規格)を早期から実現しているためマザーボード、ドータボード共に種類が豊富。
  • マザーボードでの統一外部インタフェース規格は、マザーボードの量産効果を促し、低価格化を実現している。
  • ドータボードは他社FPGAボードでも使用でき、汎用性に優れ、量産効果がありため、こちらも安価である。
  • DDR2などのメモリ用コントローラなどのIPコアが充実し性能も高い。(当社独自調査による)

短所

  • 最大規模のFPGAの中程度のピン数(1152,1517)のモデルが多く普及しており、マルチFPGAにインプリして使用する必要のある超大規模デザインの場合、FPGA間の信号のやりとりが多く、マルチFPGA使用のボードでは、ピン数が少ないFPGAを使用の場合、速度低下の懸念。ボードに依存。
  • 上記を例にとるまでもなく、2013年夏時点では、容量という点においてザイリンクスのFPGAボードに劣る。

ASICプロトタイピングシステム検証の手順

プロトタイピングシステムで検証する場合、おおよそ次のような手順に従います。

  1. ターゲットとなる(検証しようとする)デザインもしくはブロックRTLのASICゲートサイズの概要設計スタイルなどからFPGAにインプリするブロックのデザイン規模の見当をつける。 (【例】600万ASICゲート)
  2. 市販の合成ツールにFPGA内部消費リソース見積機能があれば(ザイリンクス社ISE、アルテラ社Quartus Ⅱ、メンターグラフィックス社Precision Synthesis、シノプシス社Synplify-pro などがこの機能を持っています)の合成ツールを使用して、FPGA何個で収まるか調べる。
  3. (仮にStratix Ⅳ 820に収まるとした場合)FPGA内部にブロック分けできるデザインかどうか
    ・ブロック分けできる場合(RTLが小さいブロックに分かれている場合など)
    →ブロック毎にFPGA合成してコンフィグ。
    ・ブロック分けしにくい場合(フラットなデザイン)
    手法(1)RTLをHDLエントリーツールに読み込ませ、ブロックダイアグラムレベルで編集をおこない、RTLを吐き出し、上記のようにブロック毎にFPGA合成。この場合のグラフィカルHDLエントリーツール:EASE(当社扱い)など。もしくはエンジニアによる手作業分割。
    手法(2)市販のパーティショニングソフトウェアを使用してFPGA内に入るようGUIを使用して分割し、得たブロック毎のRTLで上記と同様の手順をおこなう。
  4. アルテラ社Quartus Ⅱなどを使用して上記で得た合成結果をFPGA内にダウンロードする。
  5. ハードウェアデバッグ:シミュレータ、LA、市販FPGAオンチップ検証ツール(DiaLite、Signal Tapなど)でデバッグをおこなう。
  6. ハードウェア・ソフトウェア協調デバッグ:アプリケーションを流しながら市販ソフトウェアデバッガ(MultiICEなど)使用し、ハードウェアデバッグもおこなう。
  7. 画像検証の場合:入出力I/Oのターゲットを確定、検証に必要な最低限の動作周波数を特定、メモリなどの選定をおこなう。ほとんどのASICプロトタイピングシステムの場合、最も動作周波数に影響を与えるのは、
    ・FPGAのI/O遅延
    ・ターゲットデザイン(FPGA間配線数・速度)
    ・メモリコントローラ速度
    ・周辺検証環境
    になりますので、ご注意下さい。また、DDR(DDR2)ご使用の場合は、低速での動作限度がありますので、ご注意下さい。
  8. 基本的にASICプロトタイピングシステム御使用の条件としまして、
    ・FPGAの知識(FPGA合成ツールを含むフロー)
    ・RTLデザインの知識
    などを必要とします。

(ご参考)

  • FPGA-外部接続用コネクタ間のボード遅延はマニュアル内ピンアサイン表に記載されおり、遅延情報が明確に分かり、安心して使用可能。
  • 多くの場合、RTL(もしくはアーキテクチュアレベル)から最終的なI/O出力確認までを当社を含め外部委託される場合は、有償プロジェクトとなります。当社では、貴社のデザイン規模、デザイン内容、検証環境、ソフトウェア検証内容などから、貴社に最も適したハードウェア環境及びソリューションサービスをご提案しますので、お気軽にお問い合わせ下さい。なお、当社が実際に検証作業を実施することはなく、しかるべき検証環境とプロジェクト実施経験を有するパートナー企業様をご紹介させていただきます。