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

ASICプロトタイピングシステムとは、高速なFPGAを使用して仮想ASIC環境を構築し、ASICに近いリアルタイム(高速動作)環境でおこなう
ハードウェア及びアプリケーション(ソフトウェア)検証で、画像系、通信系などのアプリケーションをおこなうことが可能です。
これにより、ソフトウェアシミュレータやアクセラレータだけでRTLサインオフをおこなうのに比べると、より最終ASICに近い環境で検証をお
こなえるので、ソフトウェアシミュレータやアクセラレータで見つからないバグを短時間で見つけることが可能です。
使用FPGAは、できるだけASICに近い最大・最高速のFPGAが使用されます(ザイリンクス社:Virtex-5、アルテラ社:StratixIII)
●複雑なASICのハードウェア検証加速手法には、次のような手法があり、次のような手順でおこないます。
標準的に、ASICのハードウェア機能検証手法として、(1)→<(2A)もしくは(2B)→>(3)に移ります。予算とASICの複雑さ、検証内容によっ
てすべての手法をとるか、組み合わせが異なります。

【各ソリューションの長所と短所】
(1)シミュレータによる検証(数Hz)
長所
・安価
・アサーションチェックなどの汎用性のある検証環境
短所
・規模が大きい(特に1MASICG以上)と検証に時間がかかる
・設計者の想定範囲内の検証しかできない
・ASICを起こしてからバグが見つかるとチップの再作に数億円以上必要
(2A)シミュレーションアクセラレータによる検証(数100KHz)
長所
・シミュレータと同じフローで検証可能
・エミュレータより安価(数千万円)
・適用が容易
短所
・ASIC⇔FPGAの機能的な等価性保証されているか(検証した結果がRTL等価であることが前提)
・モデルによっては、導入するのにRTLを変更する必要があるものがある(何を検証しているか分からなくなる)
・テストベンチ内での検証の範囲でのみの検証(複雑なバグの発見は不可能)
(2B)ASICエミュレータ(数MHz)
長所
・フルノード観測か可能
・自動パーティショニング
短所
・高価(数億円)、規模が増えるごとに大規模投資が必要。年間保守費用も数千万円。
・セットアップ時間が数週間以上
・低速(数100KHzー数MHz。運がよければ10-20MHz)
・メモリ、インタフェースなど実速度で動作しないので、全て合成可能なモデル生成が必要。
(高価、手間がかかる)特にDDR2/DDR3/DVI/HDMI/PCI Expressなど高速動作ペリフェラルの適用は難。
(3)汎用ASICプロトタイピングシステム
長所
・安価(約100万円から数千万円)なため、複数のソフトウェアエンジニアがパラにASIC完成前にソフトウェア検証可能
・安価な予算で規模拡張が容易(FPGA個数)
・DiaLite(当社販売)など、安価なASICプロトタイピングシステム用サードパーティ検証ツール使用により、
エミュレータライクなデバッグ環境構築が可能
・複数のプロジェクトでの再使用が可能
・ASICとほぼ実際の速度(もしくは約半分)で動作可能(DDR2/DDR3/DVI/PCI Express)
最大約150MHz-200MHz(選定FPGA及び周辺環境、メモリコントローラなどに依存)
・PC⇔ASICプロトタイピングシステムのインタフェースが容易
・FPGAの急速な進歩により、検証手法も多種、検証動作速度も加速。
短所
・環境設定にFPGAの知識、経験が必要
・カスタムボードと比較するとまだ高価
・FPGAテクノロジに依存
・大規模ASICのRTLデザインをFPGA内にパーティショニング作業(難)
【ASICプロトタイピングシステムのタイプ別ソリューションの違い】
●固定配線のASICプロトタイピングシステム
長所
・FPGA-コネクタ間のタイミング値などを得やすい。
・FPGA、コネクタ内での信号値をLAなどで見やすい。
・クロック、信号などの配線チューニングがしやすい。
・総合的な動作周波数解析がし易い(動作周波数メインのデザイン向き)
・安価
短所
・複数FPGAのロジック分割に手間がかかる。
・FPGA機能、知識の熟知が必要。
・ソフトウェア検証対応が難(カスタムでの開発要)
●汎用配線(スイッチングデバイス)のASICプロトタイピングシステム
長所
・あまりFPGAを知らなくても環境設定が可能
・同じ環境を再現する時間は短い(配線ボードなどが不要)
・ソフトウェア統合環境構築が容易(コ・シミュレーション、コ・エミュレーション)
短所
・FPGA-コネクタ間のタイミング値などが得にくい
・FPGA、コネクタ内での信号値をLAなどで見にくい
・クロック、信号、動作周波数などの配線・チューニングがしにくい
・ソフトウェアの習得が必要
・デザインサービスが必要の場合がある(特に10MG以上の超大規模デザインの場合、良いパーティショニングツールが必須)
・総合的な動作周波数解析がしにくい(動作周波数メインのデザインには不向き?)
・高価


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

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

1.ターゲットとなる(検証しようとする)デザインもしくはブロックRTLのASICゲートサイズの概要設計スタイル
などからFPGAにインプリするブロックのデザイン規模の見当をつける。 (【例】600万ASICゲート)

2.市販の合成ツールにFPGA内部消費リソース見積機能があれば(ザイリンクス社ISE、アルテラ社Quartus、
メンターグラフィックス社Precision synthesis、シンプリシティ社(シノプシス社)Synplify-pro
 などがこの機能を持っています)の合成ツールを使用して、FPGA何個で収まるか調べる。

3.(仮にVirtex-5LX330x4個に収まるとした場合)FPGA内部にブロック分けできるデザインかどうか
・ブロック分けできる場合(RTLが小さいブロックに分かれている場合など)
→ブロック毎にFPGA合成してコンフィグ。
・ブロック分けしにくい場合(フラットなデザイン)
手法(1)RTLをHDLエントリーツールに読み込ませ、ブロックダイアグラムレベルで編集をおこない、RTLを吐き
出し、上記のようにブロック毎にFPGA合成。この場合のグラフィカルHDLエントリーツール(EASE)
手法(2)市販のパーティショニングソフトウェア(シンプリシティ社Certifyなど)を使用してFPGA内に入るよう
GUIを使用して分割し、得たブロック毎のRTLで上記と同様の手順をおこなう。

4.ザイリンクス社のソフトウェアなどを使用して上記で得た合成結果をFPGA内にダウンロードする。

5.ハードウェアデバッグ:シミュレータ、LA、市販FPGAオンチップ検証ツール(DiaLite、Chipscopeなど)で
デバッグをおこなう。

6.ハードウェア・ソフトウェア協調デバッグ:アプリケーションを流しながら市販ソフトウェアデバッガ(MultiICE
など)使用し、ハードウェアデバッグもおこなう。

7.画像検証の場合:入出力I/Oのターゲットを確定、検証に必要な最低限の動作周波数を特定、メモリなど
の選定をおこなう。
ほとんどのASICプロトタイピングシステムの場合、最も動作周波数に影響を与えるのは、
(1)FPGAのI/O遅延
(2)ターゲットデザイン(FPGA間配線数・速度)
(3)メモリコントローラ速度
(4)周辺検証環境
になりますので、ご注意下さい。
また、DDR(DDR2)ご使用の場合は、低速での動作限度がありますので、ご注意下さい。

8.基本的にASICプロトタイピングシステム御使用の条件としまして、
(1)FPGAの知識(FPGA合成ツールを含むフロー)
(2)RTLデザインの知識
などを必要とします。

(ご参考)
・FPGA−外部接続用コネクタ間のボード遅延はマニュアル内ピンアサイン表に記載されおり、
遅延情報が明確に分かり、安心して使用可能。
・多くの場合、RTL(もしくはアーキテクチュアレベル)から最終的なI/O出力確認までご希望の場合は、
プロジェクト扱いとなり、別料金が発生(コンサルテーションのみは無償)。

当社では、貴社のデザイン規模、デザイン内容、検証環境、ソフトウェア検証内容などから、貴社に最も適したハードウェア
環境及びソリューションサービスを提供します。お問い合わせ下さい。
●お問い合わせ→