(57)【特許請求の範囲】
【請求項１】
アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、この記憶されている制御信号に対してテスト回路を挿入するようにして論理合成を行う論理合成手段とを備えたことを特徴とするテスト容易化設計システム。
【請求項２】
アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、この記憶されている制御信号に対するテスト回路を挿入した機能記述データを生成する機能記述データ生成手段とを備えたことを特徴とするテスト容易化設計システム。
【請求項３】
アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、前記入力手段で入力した機能記述データの論理合成後の論理回路接続情報に対して、前記解析手段で記憶した制御信号に対応する論理回路接続情報内のネットへテスト回路を挿入するテスト回路挿入手段とを備えたことを特徴とするテスト容易化設計システム。
【請求項４】
入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、論理合成手段により、この記憶されている制御信号に対してテスト回路を挿入するようにして論理合成を行うステップとを備えたことを特徴とするテスト容易化設計方法。
【請求項５】
入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、機能記述データ生成手段により、この記憶されている制御信号に対するテスト回路を挿入した機能記述データを生成するステップとを備えたことを特徴とするテスト容易化設計方法。
【請求項６】
入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、テスト回路挿入手段により、前記入力した機能記述データの論理合成後の論理回路接続情報に対して、前記解析手段で記憶した制御信号に対応する論理回路接続情報内のネットへテスト回路を挿入するとステップとを備えたことを特徴とするテスト容易化設計方法。
【請求項７】
コンピュータを、請求項１乃至３のいずれか１つに記載のテスト容易化設計システムとして機能させるためのプログラム。
【請求項８】
請求項７に記載のテスト容易化設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テスト容易化設計システム、テスト容易化設計方法、プログラムおよび記録媒体に関し、具体的には、ロジックの組込み自己試験機構（ＬｏｇｉｃＢＩＳＴ）によって大規模集積回路のテストを実施する際、アーキテクチャに依存しないハードウェアの機能記述の段階で、疑似乱数発生器からのテスト入力を用いて制御性・観測性の悪い個所を確認する技術に関する。
【０００２】
【従来の技術】
集積回路が大規模化し複雑な動作をするようになると、これを試験するためのテストパターン作成のための作業時間が大きくなり、場合によっては集積回路の設計時間を超すような状況も現れている。
そのため大規模集積回路に対しては、あらかじめ論理設計の段階からテストの生成と実施を容易化するための手段を講じておくテスト容易化設計（ＤＦＴ；Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔａｂｉｌｉｔｙ）が不可欠となっている。
【０００３】
このＤＦＴ技術は、近年、集積回路内で自動的にテストをする回路を組み込む組込み型テスト（ＢＩＳＴ；Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）が用いられており、製造中やその後の稼動中の現場でのチェックのために効率的な試験が行えるものである。
【０００４】
このＢＩＳＴ機構によるＬＳＩのテストは、内部にスキャンパス機能を備え、それらのスキャン入力へ疑似乱数発生器からのテスト入力を供給し、スキャンアウトからのテスト結果をシグネチャ解析することで実施される（特開平５−２４１８８２号公報、特許第２７１１４９２号公報参照）。
【０００５】
【発明が解決しようとする課題】
従来、集積回路内のＬｏｇｉｃＢＩＳＴ（Ｌｏｇｉｃ  Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ;ロジックの組込み自己試験）によるテスト設計の設計フローは、まずアーキテクチャに依存しないハードウェア機能記述から論理合成によってテクノロジに依存したネットリストを生成し、これにスキャンパステスト機構、ＬｏｇｉｃＢＩＳＴコントローラを追加した後、故障シミュレータによって故障検出率を確認している。
故障検出率が低い場合は、故障シミュレータのレポートやネットリストをもとに制御性・観測性を確認し、テスト回路の追加や場合によってはアーキテクチャに依存しないハードウェア機能記述を変更する。
【０００６】
このような従来のＬｏｇｉｃＢＩＳＴによると、次のような問題が発生する。（１）制御性・観測性が確認できるのは故障シミュレータ実施後であって、論理合成やスキャンパス、ＬｏｇｉｃＢＩＳＴコントローラの挿入、故障シミュレータの実施の各工程でそれぞれのＣＡＤツールの実行時間が必要である。
（２）制御性・観測性の解析をテクノロジに依存したゲートレベルのネットリストで確認しなければならないために解析が困難である。
（３）制御性・観測性の解析結果をアーキテクチャに依存しないハードウェア機能記述に反映することが困難である。
（４）制御性・観測性を解析した後、ネットリスト中にテスト回路を挿入することになった場合、ハードウェアのタイミングを劣化させてしまう。
【０００７】
一方、特開平６−１０３１０１号公報および特開平８−１５３８２号公報には、ＬＦＳＲによるＬｏｇｉｃＢＩＳＴが示されている。
特開平６−１０３１０１号公報の技術は、故障検出率の向上を目的として、テスト容易性の解析をゲートレベルのネットリストに対して行っている。
しかしながら、アーキテクチャに依存しないハードウェアの機能記述のレベルでテスト容易性の解析を行うものではない。
また、特開平８−１５３８２号公報の技術は、ＬｏｇｉｃＢＩＳＴにおけるＸ（信号の状態が不定）伝播違反に対する防止策と乱数発生回数削減に際して、ゲートレベルのネットリストに対して講じる対策に関するものであって、アーキテクチャに依存しないハードウェアの機能記述のレベルでテスト容易性の解析を行うものではない。
【０００８】
本発明は、上述のような実情を考慮してなされたものであって、アーキテクチャに依存しないハードウェア機能記述の段階で制御性・観測性の解析を実施できるテスト容易化設計システム、テスト容易化設計方法、テスト容易化設計システムを実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１のテスト容易化設計システムは、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、この記憶されている制御信号に対してテスト回路を挿入するようにして論理合成を行う論理合成手段とを備えたことを特徴とする。
【００１０】
また、本発明の請求項２のテスト容易化設計システムは、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、この記憶されている制御信号に対するテスト回路を挿入した機能記述データを生成する機能記述データ生成手段とを備えたことを特徴とする。
【００１１】
また、本発明の請求項３のテスト容易化設計システムは、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力する入力手段と、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するレジスタ変数認識手段と、この認識されたレジスタ変数へ乱数を印加する乱数発生手段と、この乱数の印加によって引き起こされるイベントをシミュレーションするシミュレータと、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出する制御信号抽出手段と、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶する解析手段と、前記入力手段で入力した機能記述データの論理合成後の論理回路接続情報に対して、前記解析手段で記憶した制御信号に対応する論理回路接続情報内のネットへテスト回路を挿入するテスト回路挿入手段とを備えたことを特徴とする。
【００１２】
また、本発明の請求項４のテスト容易化設計方法は、入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、論理合成手段により、この記憶されている制御信号に対してテスト回路を挿入するようにして論理合成を行うステップとを備えたことを特徴とする。
【００１３】
また、本発明の請求項５のテスト容易化設計方法は、入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、機能記述データ生成手段により、この記憶されている制御信号に対するテスト回路を挿入した機能記述データを生成するステップとを備えたことを特徴とする。
【００１４】
また、本発明の請求項６のテスト容易化設計方法は、入力手段により、アーキテクチャに依存しない形式によるハードウェアの機能を定義する機能記述データを入力するステップと、レジスタ変数認識手段により、この入力された機能記述データ中の記憶素子が推量されうるレジスタ変数を認識するステップと、乱数発生手段により、この認識されたレジスタ変数へ乱数を印加するステップと、シミュレータにより、この乱数の印加によって引き起こされるイベントをシミュレーションするステップと、制御信号抽出手段により、前記入力された機能記述データ中のデータパスやコントローラ等の制御に関する制御信号を抽出するステップと、解析手段により、この抽出された制御信号について前記シミュレーションの結果を解析して、トグル率の低い制御信号を記憶するステップと、テスト回路挿入手段により、前記入力した機能記述データの論理合成後の論理回路接続情報に対して、前記解析手段で記憶した制御信号に対応する論理回路接続情報内のネットへテスト回路を挿入するとステップとを備えたことを特徴とする。
【００１５】
また、本発明の請求項７のプログラムは、コンピュータを、請求項１乃至３のいずれか１つに記載のテスト容易化設計システムとして機能させるためのプログラムである。
また、本発明の請求項８の記録媒体は、請求項７に記載のテスト容易化設計プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１６】
以上のように構成することによって、アーキテクチャに依存しないハードウェア機能記述の段階で、ＬｏｇｉｃＢＩＳＴの疑似乱数によるテストデータを用いて可制御性・可観測性を著しく低下させる要因となるテストデータやコントローラの制御信号を抽出し、テスト回路を挿入して論理合成するようにしたので、テスト回路を考慮したタイミング収束が行われる。そのため静的タイミング解析や論理合成のやり直しが削除できる。
また、機能記述データの段階でＤＦＴのテスト対策ができ、設計期が短縮される。
【００１７】
また、論理合成せずに機能記述データを得るようにしたので、テスト対策がなされた機能記述データが得られ、生成された機能記述データはそのまま設計資産として運用でき、論理合成以降の後工程へはＬｏｇｉｃＢＩＳＴの考慮が不要となり、設計の複雑さ、煩雑さを軽減することができる。
【００１８】
また、既に論理合成された論理回路接続情報に対してテスト回路挿入するようにしたので、故障シミュレータのｌ繰り返しを削減でき、設計期が短縮できる。
【００１９】
【発明の実施の形態】
ＬｏｇｉｃＢＩＳＴの疑似乱数によるテストデータでは、可制御性・可観測性は回路構成に依存した確率的な要素を含んでくる。
特に、データパスやコントローラの制御信号が疑似乱数でトグルし難い回路構成であった場合には、可制御性・可観測性が著しく低下する。
例えば、図５の機能記述において、ｃｏｎｄｉｔｉｏｎ１の制御信号が論理値１または０に固定されたままであると、ｉｎ１，ｉｎ２，ｏｕｔに関する可制御性・可観測性が著しく低下してしまう。
本発明はこの点に着目し、疑似乱数でトグルし難いデータパスやコントローラの制御信号に対してテスト回路を挿入し、可制御性・可観測性を向上させた論理合成を実施する。
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。
図１は、本発明のテスト容易化設計システムの実施の形態を実行するためのコンピュータ構成図である。即ち、図１のコンピュータは、入力装置１、表示装置２、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央処理ユニット）３、メモリ４、記憶装置５をシステムバス６で接続する。
【００２１】
入力装置１は、キーボード、マウスまたはタッチパネル等により構成され、アーキテクチャに依存しないハードウェア機能記述の入力・編集や実行を対話的に入力するのに使用される。
表示装置２は、ディスプレイ装置や液晶ディスプレイ装置等により構成され、アーキテクチャに依存しないハードウェア機能記述の表示や入力装置１から入力された情報、実行経過や実行結果などを表示するのに使用される。
ＣＰＵ３は、種々のプログラムを動作させる。
メモリ４は、プログラム自身を保持し、またそのプログラムがＣＰＵ３によって実行されるときに一時的に作成される情報等を保持する。
記憶装置５は、アーキテクチャに依存しないハードウェア機能記述、データ、本実施の形態の機能を実現したプログラムやこのプログラム実行時の一時的な情報や処理結果をファイルへ出力を指示した場合の処理結果等を保持する。
【００２２】
＜実施例１＞
図２は、本発明のテスト容易化設計システムの機能構成を示すブロック図である。
図２において、本実施例１の機能は、入力手段１０、レジスタ変数認識手段２０、乱数発生手段３０、制御信号抽出手段４０、シミュレータ５０、解析手段６０と論理合成手段７０とからなっている。
入力手段１０は、アーキテクチャに依存しないハードウェア機能記述を入力装置１から読み込み、読み込んだハードウェア機能記述は後の処理のため一旦記憶装置５へ記憶する。ここでアーキテクチャに依存しないハードウェア機能記述は、例えば、ＶＨＤＬ（ＶＨＳＩＣ（ｖｅｒｙ  ｈｉｇｈ  ｓｐｅｅｄ  ＩＣ）  ＨＤＬ（ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））やＶｅｒｉｌｏｇ−ＨＤＬなどのIEEEで標準化された記述言語を使う。
尚、この入力手段１０は、あらかじめ記憶装置５に記憶したハードウェア機能記述を取り出すようにしてもよい。
【００２３】
レジスタ変数認識手段２０は、入力手段１０で読み込んだハードウェア機能記述中で、記憶素子が推量され得るレジスタ変数を認識する。
ＶＨＤＬやＶｅｒｉｌｏｇ−ＨＤＬの記述言語では、記憶素子を推量させるための記述形式が論理合成システムによって定められており、例えば、Ｖｅｒｉｌｏｇ−ＨＤＬであれば図３に示すようにｒｅｇ変数宣言した変数に対して同期させるクロックによるａｌｗａｙｓ文のｐｏｓｅｄｇｅ記述によるセンシティビティを記述する。
【００２４】
レジスタ変数認識手段２０では、読み込んだハードウェア機能記述より前記に示した記述形式を検出し、代入式の左辺にある変数を論理合成システムによってフリップフロップ回路が推量されるものとして認識する。これらのレジスタ変数は、論理合成システムによって論理合成されフルスキャンのスキャンパス挿入の結果スキャンセルに置換されるものであり、ＬｏｇｉｃＢＩＳＴの疑似乱数によるテストデータの制御点となる。
例えば、図３に記述されたハードウェア機能記述から推量されたフリップフロップ回路は図４のような回路構成になる。
【００２５】
乱数発生手段３０は、擬似乱数を発生させ、ここで発生された乱数はレジスタ変数認識手段２０で認識されたレジスタ変数へ与えられてシミュレーションが実施される。したがって、ＬｏｇｉｃＢＩＳＴでのテスト入力状況がアーキテクチャに依存しないハードウェア機能記述において確認可能となる。
【００２６】
制御信号抽出手段４０は、データパスやコントローラの制御信号は、例えば、Ｖｅｒｉｌｏｇ−ＨＤＬであればｉｆ−ｅｌｓｅ文やｃａｓｅ文および条件処理文によって処理の分岐やデータの選択を定義している条件式に相当するところの信号をＰＬＩ（Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ  Ｉｎｔｅｒｆａｃｅ）のシミュレータ・アクセスルーチン等で認識し、抽出する。
【００２７】
シミュレータ５０は、記憶装置５に記憶されたハードウェア機能記述のシミュレーションを実施する機能シミュレータであって、市販のシミュレータを利用して構成してもよい。上記の乱数発生手段３０を、シミュレータ５０のＰＬＩのシミュレータ・アクセスルーチンやシミュレータへ投入するテストベンチ等で構成しても良い。このテストベンチで構成する場合には、例えば、Ｖｅｒｉｌｏｇシミュレータであれば、レジスタ変数認識手段２０で認識したレジスタ変数へｆｏｒｃｅ文と＄ｒａｎｄｏｍのシステムタスクによってダイレクトに乱数を印加することが可能である。
尚、Ｖｅｒｉｌｏｇシミュレータのｆｏｒｃｅ文は、印加先のデータが外部ポートでない場合でもダイレクトに印加可能である。
例えば、図５に示したような機能記述データに対して、乱数印加を行うテストベンチは図６のようになる。
【００２８】
このシミュレータ５０を用いて、レジスタ変数認識手段２０で認識したレジスタ変数へ乱数発生手段３０で発生させた乱数を印加することでＬｏｇｉｃＢＩＳＴでのテスト入力状況が確認できる。この乱数の印加によるシミュレーションは、例えばハードウェア機能記述中のバス変数のビット幅をみてこれに十分なトグル率を発生可能となる回数だけ実施する。
【００２９】
解析手段６０は、シミュレーション実施後、カバレッジデータからハードウェア機能記述のネットやバス等の内部変数のイベント発生率やトグル率を集計して制御性・観測性を解析し、制御信号抽出手段４０で抽出された制御信号に関してトグル率が低かった制御信号を記憶しておく。
市販シミュレータでシミュレーションした場合、シミュレーション結果はイベント発生状況をダンプファイルとして出力するので、これより内部変数のイベント発生率やトグル率を容易に算出できる。
一方、シミュレーションでＰＬＩなどのシミュレータ・アクセスルーチンを用いた場合、ダンプファイルを介さずにイベント発生やトグルの状況が確認できる。
【００３０】
論理合成手段７０は、解析手段６０で記憶した制御信号に対してテスト回路を挿入するように論理合成を行う。
ここで、テスト回路の挿入は、機能記述データに対して実施し、論理合成を実施するときは、テスト回路を含めたタイミング収束を実施させる。
この論理合成を行うための論理合成エンジンは、市販の論理合成ツールを使用してもよい。この場合のテスト回路の挿入は、市販の論理合成ツールに備えられているネット修正や追加、削除コマンドを用いて行う。
【００３１】
図７に挿入するテスト回路の例を示す。
図７において、ｌｂｉｓｔｅｎ信号は、ＬｏｇｉｃＢＩＳＴを実施する場合にのみ論理値１をとり、可制御性向上のためにハードウェア本来の機能とは異なる動作が行われるようになっている。
また、ｃｎｔ信号は、周辺のスキャンセルの出力信号を接続し、疑似乱数によって制御されるようにする。ｎｏｒｍａｌ＿ｉｎ信号は、ＬＳＩ本来の機能を実施するための入力パスである。
【００３２】
図７（Ａ）のテスト回路は、疑似乱数によるシミュレーションの結果、制御信号がほとんど論理値１となり、めったに論理値０にトグルしないような場合、そのような制御信号に対して挿入する。
図７（Ｂ）のテスト回路は、逆に、制御信号がほとんど論理値０となり、めったに論理値１にトグルしないような場合、そのような制御信号に対して挿入する。
また、図７（Ｃ）のテスト回路は、いずれのケースにも使用可能である。
【００３３】
以上のように構成することによって、疑似乱数によるテストデータを用いて、トグルし難い制御信号に対してテスト回路を挿入した論理合成が実施されるため、可制御性・可観測性の著しい低下の原因を機能記述の段階で検査でき、且つ、論理合成では既にテスト回路が挿入済みでタイミング収束が試みられているためタイミング違反のためのやり直しの発生を回避できる。
【００３４】
図８は、本実施例１の処理手順を示すフローチャートである。
アーキテクチャに依存しないハードウェア機能記述を入力装置１から読み込み、一時的に記憶装置５へ記憶する（ステップＳ１）。
読み込んだアーキテクチャに依存しないハードウェア機能記述中で、記憶素子が推量され得るレジスタ変数を認識し、抽出する（ステップＳ２）。
また、データパスやコントローラ等の制御に関する制御信号を認識し、抽出する（ステップＳ３）。
抽出されたレジスタ変数へ乱数を印加し、シミュレーションを実施する（ステップＳ４）。この乱数印加によるシミュレーション実行は、複数回実施されるが、何回実施するかはハードウェア機能記述内のバス変数のビット幅などによって設計者が指定する。
シミュレーションによって発生したイベントを集計し、先に抽出した制御信号のうちトグル率の低かった制御信号を記憶する（ステップＳ５）。
ステップＳ５で記憶された制御信号に対してテスト回路を挿入し、論理合成を実施する（ステップ６）。
【００３５】
＜実施例２＞
図９は、本発明のテスト容易化設計システムの他の機能構成を示すブロック図である。
図９において、本実施例２は、入力手段１０、レジスタ変数認識手段２０、乱数発生手段３０、制御信号抽出手段４０、シミュレータ５０、解析手段６０、機能記述データ生成手段８０の各機能からなっている。図中、実施例１と同じ機能を持つ構成要素には同じ符号を付してその説明を省略し、相違するものについてのみ説明する。
【００３６】
機能記述データ生成手段８０は、先に制御信号抽出手段４０で抽出した制御信号のうちトグル率の低かった制御信号に対するテスト回路を挿入した機能記述データを生成する。例えば、先ず、Ｖｅｒｉｌｏｇ−ＨＤＬのパーサを使用して、機能記述データをパースした後にメモリ上に構築された機能記述構造へ、テスト回路を挿入して修正する。
このメモリ上に構築され、修正された機能記述構造をＶｅｒｉｌｏｇ−ＨＤＬやＶＨＤＬの形式で出力することによって、機能記述データが生成される。
【００３７】
以上のように構成することによって、テスト回路を挿入済みの機能記述データが得られるので、機能記述データによるテスト対策済みの設計資産が得られ、ＬｏｇｉｃＢＩＳＴを意識させること無しに論理合成以降の後工程へのインターフェースが可能となる。
【００３８】
＜実施例３＞
図１０は、本発明のテスト容易化設計システムの他の機能構成を示すブロック図である。
図１０において、本実施例３は、入力手段１０、レジスタ変数認識手段２０、乱数発生手段３０、制御信号抽出手段４０、シミュレータ５０、解析手段６０、テスト回路挿入手段９０の各機能からなっている。図中、実施例１と同じ機能を持つ構成要素には同じ符号を付してその説明を省略し、相違するものについてのみ説明する。
テスト回路挿入手段９０は、入力手段１０で入力した機能記述データを論理合成した後の論理合成結果を読み込み、読み込んだ論理合成結果の論理回路接続情報に対して、解析手段６０で記憶した制御信号に対するテスト回路を挿入する。この論理回路接続情報へのテスト回路挿入は、例えば、市販の論理合成ツールのネット修正コマンドを用いて、スクリプト形式のバッチ処理で自動処理を行わせるようにできる。
【００３９】
以上のように構成することによって、故障シミュレーションを実施せずに可制御性・可観測性向上のための施策が行える。
【００４０】
さらに、本発明は上記の実施形態のみに限定されたものではない。上述した実施形態を構成する各機能をそれぞれプログラム化し、予めＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭをＣＤ−ＲＯＭドライブのような媒体読取装置を搭載したコンピュータに装着して、プログラムをメモリあるいは記憶装置に格納し、コンピュータのＣＰＵがメモリまたは記憶装置に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
また、上述のプログラムがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に記憶されている場合には、この媒体読取装置を備えていなくてもよい。
【００４１】
この場合、記録媒体から読出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００４２】
尚、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００４３】
また、ロードしたプログラムを実行することにより上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００４４】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続されたユーザのコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００４５】
【発明の効果】
以上説明したように本発明によれば、アーキテクチャに依存しないハードウェア機能記述の段階で、ＬｏｇｉｃＢＩＳＴの疑似乱数によるテストデータを用いて可制御性・可観測性を著しく低下させる要因となるテストデータやコントローラの制御信号を抽出し、テスト回路を挿入して論理合成するようにしたので、テスト回路を考慮したタイミング収束が行われる。そのため静的タイミング解析や論理合成のやり直しが削除できる。
また、機能記述データの段階でＤＦＴのテスト対策ができ、設計期が短縮される。
【００４６】
また、論理合成せずに機能記述データを得るようにしたので、テスト対策がなされた機能記述データが得られ、生成された機能記述データはそのまま設計資産として運用でき、論理合成以降の後工程へはＬｏｇｉｃＢＩＳＴの考慮が不要となり、設計の複雑さ、煩雑さを軽減することができる。
【００４７】
また、既に論理合成された論理回路接続情報に対してテスト回路挿入するようにしたので、故障シミュレータのｌ繰り返しを削減でき、設計期が短縮できる。
【図面の簡単な説明】
【図１】  本発明を実行するためのハードウェア構成図である。
【図２】  実施例１の機能構成を示すブロック図である。
【図３】  ハードウェア機能記述をＶＨＤＬで作成した例である。
【図４】  図３から推量されるフリップフロップの回路図である。
【図５】  可制御性・可観測性の低下が損なわれる場合を説明するためのハードウェア機能記述の例である。
【図６】  図５の条件演算に対する回路の例である。
【図７】  挿入するテスト回路の例である。
【図８】  実施例１の処理手順を示すフローチャートである。
【図９】  実施例２の機能構成を示すブロック図である。
【図１０】  実施例３の機能構成を示すブロック図である。
【符号の説明】
１…入力装置、２…表示装置、３…ＣＰＵ、４…メモリ、５…記憶装置、６…システムバス、１０…入力手段、２０…レジスタ変数認識手段、３０…乱数発生手段、４０…制御信号抽出手段、５０…シミュレータ、６０…解析手段、７０…論理合成手段、８０…機能記述データ生成手段、９０…テスト回路挿入手段。
【図１】
0004097461.tif 000002
【図２】
0004097461.tif 000003
【図３】
0004097461.tif 000004
【図４】
0004097461.tif 000005
【図５】
0004097461.tif 000006
【図６】
0004097461.tif 000007
【図７】
0004097461.tif 000008
【図８】
0004097461.tif 000009
【図９】
0004097461.tif 000010
【図１０】
0004097461.tif 000011