LSIの下流工程の自動化が進むに従って,上流工程で必要な設計工数の割合が増加している。さらに,設計規模/複雑さの増大により,上流工程における検証の効率化が大きな課題となっている。検証を効率化するには,論理シミュレータを高速化するだけではなく,テスト・パターンやテストベンチの作成を効率化する必要がある。

 最近の複雑なLSIでは多くの検証項目をチェックするために,テストベンチ作成の工数が設計工数を上回るケースも珍しくなくなった。そこでテストベンチ作成の工数削減を狙って登場してきたのが,テストベンチ生成ツール(testbench generation tool)である。

 これまでテストベンチは,HDL(ハードウエア記述言語),もしくはC言語とProgramming Language Interface(PLI)を使って記述することが多かった。しかし,HDLやC言語は本来,それぞれハードウエア,ソフトウエアを設計するための言語であり,テストベンチを効率よく記述できない。

 これに対してテストベンチ生成ツールを利用すると,抽象度の高いテストベンチ専用の言語を用い,I/O仕様やプロトコルなどを記述できる。記述が終われば,特定の論理シミュレータ向けのテストベンチをツールが自動的に生成する。テストベンチ生成ツールは,このテストベンチ生成機能に加えてシミュレーション結果を解析する機能や検証カバレージを解析する機能(コード・カバレッジ・ツールを参照)などを備える。

コーナ・ケース向けのパターンを自動生成

 設計者が作成したテストベンチを補うことに主眼を置いた製品もある。人手作成のパターンではなかなかチェックされない箇所(コーナ・ケース)向けのパターンを作成する。特に,順序回路のテストベンチ作成には有効である。このツールはフォーマル・ベリファイアの技術を使う。

 このツールでは,まず設計者が作成したテスト・パターンを使って論理シミュレーションを実行する。この際に,検証対象回路のレジスタなどをチェックして,不定信号の参照や,未使用データのオーバーライトなどを監視するためのチェック・モジュールを作成しておく。このシミュレーションの結果を基に,ツールはコーナ・ケース向けのパターンを自動生成する。順序回路に対しては,設計者が作成したパターンでチェックできなかった状態遷移を起こすパターンを自動生成する。


(99. 9. 6更新)

このEDA用語辞典は,日経エレクトロニクス,1996年10月14日号,no.673に掲載した「EDAツール辞典(NEC著)」を改訂・増補したものです。