本文へジャンプ

日立マイクロデバイス&ソリューション

uVALUE 実業×IT

Hitachi

2010年8月26日

    日立製作所は、テストベンチに高位合成技術を適用し、検証対象論理とテストベンチの両方をエミュレータでシミュレーションする検証環境を構築し、10,000倍の検証速度向上を実現したと、2010年7月22日に行われた日本ケイデンス・デザイン・システムズ社主催の「DA SHOW/CDN Live! Japan 2010」で発表しました。本検証環境は、従来のシミュレータを用いた論理検証では到達できなかった高い検証網羅率を実現可能とし、IPの高品質化に寄与しています。

    半導体製造プロセスの微細化に伴いLSIに搭載可能な設計規模は飛躍的に増加しています。設計生産性の改善手段のひとつとして、IP(Intellectual Property)があります。そのIPも機能の複雑化、規模の増大を続けており、IPの品質確保が課題となっています。 日立では、大規模化が進むLSIの論理検証を効率的に実行するためエミュレータ(Palladium III(注1))を導入しています。エミュレータとは、検証対象論理(DUV:Device Under Verification)を論理エミュレータ内の回路にマッピングし、シミュレータ比で100〜10000倍以上の検証速度を実現する装置です。

    論理検証には、テストパタンやDUVのほか、DUVの正常動作を監視するアサーション・スコアボードなどの仕組みを含んだテストベンチが必要です。スコアボードなどはその記述の容易性からSpecman e言語(注2)やBehavior記述により実現することが一般的です。

IP論理検証フロー図と検証環境の特徴
図1.IP論理検証フロー図と検証環境の特徴

    しかしながら、Specman e言語やBehavior記述で表現されたテストベンチはエミュレータ上で動作させることはできません(図1)。

    その一般的な解決手段がシミュレータとエミュレータのコ・シミュレーション技術です。エミュレータ上で動作させることができないテストベンチの一部をシミュレータで、その他の部分をエミュレータでシミュレーションしようというものです。この技術の問題は、シミュレータとエミュレータ間で発生する通信オーバーヘッドです。

    システムレベル検証のように、エミュレータで動作させる部分が非常に大きく、この通信オーバーヘッドが許容できる範囲であれば、問題となりません。しかし、IPなどの比較的論理規模の小さいDUVにこの技術を適用した場合、通信オーバーヘッドが無視できず、エミュレータを利用しても、検証速度が上がらないということになります。これが、IPの論理検証へエミュレータを適用する際の大きな課題でした。

高位合成を用いたIP検証フロー図
図2.高位合成を用いたIP検証フロー図

    そこで、今回、可読性や再利用性に優れ、シミュレーション実行時のイベント数を減らして効率的な検証を可能とするSystemC (注3)/TLM (Transaction Level Modeling)でテストベンチを記述しました。同時に、高位合成ツール(C-to-Silicon Compiler(注4))を採用し、SystemC/TLM記述から論理合成可能なRTL(Register Transfer Level)記述を生成することとしました。この手法で構築されたテスト環境ではテストベンチを含めてエミュレータで動作可能となり、通信オーバーヘッドの問題を解決することができます(図2)。これにより、シミュレーションの場合と比較して10,000倍の検証速度を実現できました(図3)。

テストベンチのSystemC/TLM化と高位合成適用効果
図3.テストベンチのSystemC/TLM化と高位合成適用効果

    この検証速度を活用することで、シミュレータを用いた論理検証では到達できなかった高い検証網羅率を実現することができ、高品質な論理IP、CMOS ASICの実現に役立てています。

*
(注1) PalladiumはCadence Design Systems, Inc.の商標または登録商標です。
*
(注2) 検証向けに開発された言語。制約付ランダムパタンの生成機能が特徴で、ランダムテストに広く利 用されている
*
(注3) ソフトウェア記述言語であるC++言語をハードウェア記述が可能なように拡張した言語。次世代 ESL(Electronic System Level)言語とされる。SystemCはOpen SystemC Initiativeの登録商標です
*
(注4) C-to-Silicon CompilerはCadence Design Systems, Inc.の商品名称、商標または登録商標です。
*
その他、記載の会社名、製品名は、それぞれの会社の商号、商標もしくは登録商標です。