(57)【要約】      （修正有）【課題】サポートする言語の異なる論理シミュレータや形式検証ツール間においても検証回路を流用可能とし、効率的な試験を行うことができる半導体集積回路の論理検証方法、検証回路情報抽出プログラム、検証回路変更装置を提供する。【解決手段】流用元となる第１の検証回路から検証回路情報を抽出する検証回路情報抽出部と、抽出された検証回路情報を用いて指定されたプログラミング言語による第２の検証回路を生成する検証回路変換部とを備える。【選択図】図１
2013222365.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の試験装置において、
流用元となる第１の検証回路から検証回路情報を抽出する検証回路情報抽出部と、
抽出された検証回路情報を用いて指定されたプログラミング言語による第２の検証回路を生成する検証回路変換部とを備えたことを特徴とする試験装置。
【請求項２】
前記第２の検証回路を用いて検証対象回路に対して検証処理を行う検証処理部をさらに備えたことを特徴とする請求項１に記載の半導体集積回路の試験装置。
【請求項３】
検証回路情報確認情報と前記検証回路情報とを比較して前記検証回路情報の不足部分を検出する検証情報確認部をさらに備えたことを特徴とする請求項１または請求項２に記載の半導体集積回路の試験装置。
【請求項４】
前記検証回路変換部は、検証回路情報変更情報と前記検証回路情報を用いて前記第２の検証回路を生成することを特徴とする請求項１から請求項３のいずれか１項に記載の半導体集積回路の試験装置。
【請求項５】
前記検証処理部は、入力されたテストデータを用いた検証結果が、前記第２の検証回路と検証対象回路とで一致するか否かを判断することで検証処理を行うことを特徴とする請求項２から請求項４のいずれか１項に記載の半導体集積回路の試験装置。
【請求項６】
前記検証処理部は、前記第２の検証回路の属性情報に基づいて前記検証対象回路の検証処理を行うことを特徴とする請求項２から請求項４のいずれか１項に記載の半導体集積回路の試験装置。
【請求項７】
半導体集積回路の試験方法において、
流用元となる第１の検証回路から検証回路情報を抽出する検証回路情報抽出ステップと、
抽出された検証回路情報を用いて指定されたプログラミング言語による第２の検証回路を生成する検証回路変換ステップとを備えたことを特徴とする半導体集積回路の試験方法。
【請求項８】
コンピュータに半導体集積回路の試験をさせるプログラムであって、
流用元となる第１の検証回路から検証回路情報を抽出する検証回路情報抽出機能と、
抽出された検証回路情報を用いて指定されたプログラミング言語による第２の検証回路を生成する検証回路変換機能とをコンピュータに実現させるための半導体集積回路の試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の試験装置、半導体集積回路の試験方法、半導体集積回路の試験プログラムに関するものである。
【背景技術】
【０００２】
一般に、従来の論理検証方法は、図１に示すような論理シミュレーションまたは、図２に示すような形式検証が実施される。それぞれ、専用の論理シミュレータおよび形式検証ツールに対して回路の正しさを確認するためのアサーションなどのチェッカから構成される検証回路を入力して違反を自動検出して検証結果として出力するようになっている。この検証回路は検証回路作成用プログラミング言語で作成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−４７０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、検証回路作成用プログラミング言語は複数存在し、使用する論理シミュレータや形式検証ツールによっては特定の検証回路作成用プログラミング言語しか使用できない場合がある。例えば、過去に作成した設計資産を流用したい場合に、現在流通している論理シミュレータではサポートしていない言語で作成されていた場合などが考えられる。そのため、図３、図４のように作成した検証回路を別の論理シミュレータや形式検証ツールで流用できない問題があった。
【０００５】
特許文献１には、同一のプログラミング言語において、上位概念（ＥＳＬ）から下位概念（ＲＴＬ）で使用するアサーションを生成することが記載されているが、異なった言語への変換については記載がない。
【０００６】
本発明は、サポートする言語の異なる論理シミュレータや形式検証ツール間においても検証回路を流用可能とし、効率的な試験を行うことができる半導体集積回路の論理検証方法、検証回路情報抽出プログラム、検証回路変更装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の半導体集積回路の試験装置は、流用元となる第１の検証回路から検証回路情報を抽出する検証回路情報抽出部と、抽出された検証回路情報を用いて指定されたプログラミング言語による第２の検証回路を生成する検証回路変換部とを備える。
【発明の効果】
【０００８】
本発明によれば、サポートする言語の異なる論理シミュレータや形式検証ツール間で検証回路を流用することができるので、効率的な試験を行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】従来の論理シミュレーション実施フロー図である。
【図２】従来の形式検証実施フロー図である。
【図３】従来の論理シミュレーションにおける検証回路の流用を示す図である。
【図４】従来の形式検証における検証回路の流用を示す図である。
【図５】本発明の実施例に係る試験装置の構成図である。
【図６】本発明の実施例に係る検証回路情報抽出プログラムの動作図である。
【図７】実施の形態における論理シミュレーションの動作説明図である。
【図８】実施の形態における形式検証ツールの動作説明図である。
【図９】第２の実施例に係る動作説明図である。
【図１０】第３の実施例に係る動作説明図である。
【発明を実施するための形態】
【００１０】
以下、図を用いて本発明の実施の形態について説明する。
【００１１】
［第１の実施の形態］
図５は、本発明に係る試験装置１０の構成図であり、例えばパーソナルコンピュータ、サーバ等の情報所装置を用いて実現される。ＣＰＵ１１は、図示しないＲＯＭ等から読み出され、メモリ１１に展開された各種プログラム(検証回路情報抽出プログラム１２、検証回路変換１３、論理シミュレータ１４、形式検証ツール１５)を実行することで、試験装置の機能を実現する。
【００１２】
検証回路情報抽出プログラム１２は、図６に示すように、特定の検証回路作成用プログラミング言語で作成された検証回路から、例えばサンプリングイベント情報、ディセーブル情報、トリガー情報、テンポラル情報、ファンクションイベント情報、検証ディレクション情報を抽出するものである。
【００１３】
検証回路変換プログラム１３は、検証回路情報抽出プログラム１２によって抽出された情報を、指定した他の検証回路作成用プログラミング言語を用いて検証回路を生成するものである。生成された検証回路および抽出対象となる検証回路はメモリ１２に記憶される。
【００１４】
論理シミュレータ１４は、検証回路と回路データとテストパターンを用いてシミュレーションを行う。回路データにおいて検証回路の内容に違反する箇所が発見されなければ、検証結果はＰａｓｓと判定され、違反する箇所が発見されれば、Ｆａｉｌと判定される。波形等を確認した後に、Ｆａｉｌと判定された箇所回路をエディタを用いて修正して、Ｐａｓｓの判定になるまで論理シミュレーションと修正を繰り返すことで試験を行う。
【００１５】
形式検証ツール１５は、検証回路と回路データを用いて形式検証をおこなう。回路データにおいて検証回路の内容に違反する箇所が発見されなければ、検証結果はＰａｓｓと判定され、違反する箇所が発見されれば、Ｆａｉｌと判定される。波形等を確認した後に、Ｆａｉｌと判定された箇所回路をエディタを用いて修正して、Ｐａｓｓの判定になるまで形式検証と修正を繰り返すことで試験を行う。
【００１６】
続いて、図７に示す論理シミュレーションの動作説明図を用いて、本実施の形態における論理シミュレーション動作について説明を行う。
【００１７】
初めに、任意のプログラム言語を用いて回路仕様を記述することで、回路データ１６を作成する。続いて、回路仕様に基づいて検証シナリオを記述し、テストパターン１７を作成する。流用対象となる他の論理シミュレーションで用いた元の検証回路１９から、検証回路情報抽出プログラム１２を用いて、サンプリングイベント情報、ディセーブル情報、トリガー情報、テンポラル情報、ファンクションイベント情報、検証ディレクション情報などの検証回路情報を抽出する。検証回路変換プログラム１３と抽出した検証回路情報を用いてオペレータから指定されたプログラミング言語を用いて、今回使用する論理シミュレータ用の新検証回路１８を作成する。
【００１８】
作成した回路データ１６、テストパターン１７、今回の論理シミュレーション用に変換された新検証回路１８を論理シミュレータ１４に入力することで検証を実施する。論理シミュレーションでＦａｉｌ(警告)が報告された場合、回路データ１６の修正を行う。一方、Ｐａｓｓが報告された場合は論理シミュレーションを終了する。
【００１９】
続いて、図８に示す形式検証ツールの動作説明図を用いて、本実施の形態における形式検証ツールにおける動作について説明を行う。
【００２０】
初めに、任意のプログラム言語を用いて回路仕様を記述することで、回路データ１６を作成する。次に、流用対象となる他の形式検証ツールで用いた元の検証回路１９から、検証回路情報抽出プログラム１２を用いて、サンプリングイベント情報、ディセーブル情報、トリガー情報、テンポラル情報、ファンクションイベント情報、検証ディレクション情報などの検証回路情報を抽出する。検証回路変換プログラム１３と抽出した検証回路情報を用いてオペレータから指定されたプログラミング言語を用いて新検証回路１８を作成する。
【００２１】
作成した回路データ１６、今回の形式検証ツール用に変換された新検証回路１８を形式検証ツール１５に入力し、検証回路のプロパティに基づいて網羅的な検証を実施する。形式検証ツールでＦａｉｌ(警告)が報告された場合、回路データの修正を行う。一方、Ｐａｓｓが報告された場合は形式検証ツールを終了する。
【００２２】
以上のように、第1の実施例によれば、使用する論理シミュレータや形式検証ツールがサポートしているプログラム言語にかかわらず共通の検証回路を容易に流用することができるようになるため、検証作業の効率化という効果が得られる。また、すでに使用実績のある検証回路を流用することができるため、検証結果に対する信頼性を向上させることも可能である。
【００２３】
［第２の実施の形態］
第２の実施例に係る動作を図９に示す。第２の実施例は第１の実施例で説明した検証回路情報抽出プログラム１２と、検証回路変換プログラム１３に加え、情報確認プログラム２０を設けている。情報確認プログラム２０は、流用対象の検証回路から抽出された検証回路情報と抽出漏れチェックリストを比較することで、不足している情報を検出し報告する。情報確認プログラム２０から不足情報が報告されたならば、報告された内容に基づいて元の検証回路で不足していた部分を追加する修正を検証回路に対して行う。不足情報が報告されなければ、検証回路変換プログラム１３を用いて、オペレータから指定された他プログラミング言語による検証回路を生成する。そして、検証回路を用いて実施例１の場合と同様に、論理シミュレータまたは検証ツールによる試験を実施する。
【００２４】
以上のように、第２の実施例によれば、不足している情報を報告してくれる情報確認プログラム２０を設けたことで、元の検証回路の不備を発見して修正することが可能となり、生成する他プログラミング言語による検証回路の品質の向上が期待できる。
【００２５】
［第３の実施の形態］
第３の実施例に係る動作を図１０に示す。第３の実施例は第２の実施例で説明した検証回路変換プログラム１３に検証回路情報の変更機能を追加した検証回路変換プログラム２１を用いた例である。このように検証回路変換プログラム２１を用いることで、流用元の検証回路１９から他プログラミング言語を用いて変換した新検証回路２２の機能の追加・変更を可能としたものである。そのため論理シミュレーション１４や形式検証ツール１５による検証内容を元の検証回路１９を用いた以前の論理シミュレータ等によるものから変更し、制御することができる。
【００２６】
検証回路情報の変更は、変更する検証項目名、検証回路情報名、変更後の検証回路情報の値を記載した変更情報フォーマットを検証回路変換プログラム２２入力することで行なうことができる。これにより、検証内容を変更した他プログラミング言語による検証回路２３の生成が行なわれる。
【００２７】
以上のように、第３の実施例によれば、新検証回路２３の検証回路情報の変更機能を、検証回路変換プログラム２２に設けたことで、検証回路の内容を変更した他プログラミング言語による検証回路の生成が可能となる。これにより、流用先の回路データが変更になった場合にも検証回路の流用が可能となり検証作業の効率化が期待できる。
【００２８】
例えば、規格が更新され従来からサポートされていた機能に加えて、新たに機能が追加された場合にも、この方法によれば、従来どおりの機能の部分は流用した検証回路部分で検証をすることができることに加えて、追加された機能を検証するための元の検証回路１９の不足部分を発見して追加できるため、効率的に検証作業を行うことが可能となる。
【符号の説明】
【００２９】
１    試験装置
１０  ＣＰＵ
１１  メモリ
１２  検証回路情報抽出プログラム
１３  検証回路変換プログラム
１４  論理シミュレータ
１５  形式検証ツール
１６  回路データ
１７  テストパターン
１８  新検証回路
１９  流用元検証回路
２０  情報確認プログラム
２１  新検証回路
２２  検証回路変換プログラム
２３  新検証回路
【図１】
2013222365.tif 000003
【図２】
2013222365.tif 000004
【図３】
2013222365.tif 000005
【図４】
2013222365.tif 000006
【図５】
2013222365.tif 000007
【図６】
2013222365.tif 000008
【図７】
2013222365.tif 000009
【図８】
2013222365.tif 000010
【図９】
2013222365.tif 000011
【図１０】
2013222365.tif 000012