(57)【要約】【課題】スキャンチェーンへのテスト信号の入出力をＢＩＳＴ部により行う半導体集積回路装置に対して、半導体集積回路装置内のユーザ回路部に対してのみ有効に行うことができ、シミュレーション時間の短縮を図ることができるシミュレーション方法を提供すること。【解決手段】スキャンチェーンを認識するために必要な認識情報を定義し、認識情報に基づきスキャンチェーンを認識して、動作タイミングの確認を行う。動作タイミングを確認したスキャンチェーンを構成するフリップフロップにテストパターンを入力し、ユーザ回路部のみのシミュレーションを行う。これにより、ＢＩＳＴ部を持つ半導体集積回路装置のシミュレーションを半導体集積回路装置内のユーザ回路部に対してのみ有効に行うことができ、時間の短縮を図ることができるシミュレーション方法を提供できる。【選択図】  図１
2004178153.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーション方法において、
前記スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、
前記認識情報に基づき特定される前記スキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、
特定される前記スキャンチェーンを構成する前記フリップフロップに対してテストパターンを入力し、前記フリップフロップからの前記テスト結果を取得するテストステップとを有することを特徴とする半導体集積回路装置のシミュレーション方法。
【請求項２】
少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーション方法において、
前記ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、
前記初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有することを特徴とする半導体集積回路装置のシミュレーション方法。
【請求項３】
少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを生成しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、
前記スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、
前記認識情報に基づき特定される前記スキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、
特定される前記スキャンチェーンを構成する前記フリップフロップに対してテストパターンを入力し、前記フリップフロップからの前記テスト結果を取得するテストステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴とするシミュレーション装置。
【請求項４】
少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、
前記ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、
前記初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴とするシミュレーション装置。
【請求項５】
少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置であって、
前記スキャンテストの際、
前記スキャンチェーンの始点と外部入力端子とを接続する入力接続部と、
前記スキャンチェーンの終点と外部出力端子とを接続する出力接続部との、少なくとも何れか一方を備え、
テストの際、前記外部入力端子を介して前記自己診断テストパターンと同等のテストパターンを入力し、または前記外部出力端子を介して前記テスト結果を出力することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シミュレーション時間の短縮を図る半導体集積回路装置のシミュレーション方法、シミュレーション装置および半導体集積回路装置に関するものであり、特に、スキャンチェーンへのテスト信号の入出力をビルトインセルフテスト（以下、ＢＩＳＴと略記する。）部により行う半導体集積回路装置のシミュレーション方法、シミュレーション装置および半導体集積回路装置に関するものである。
【０００２】
【従来の技術】
図４に示す半導体集積回路装置では、ユーザ回路部２０１に対してスキャン動作可能なスキャンチェーンを備える。内部回路２００は多数の回路構成要素、例えばフリップフロップ（ＦＦ）によって構成されている。ユーザ回路部２０１に対してテストを実施するためにスキャンチェーン２０２を形成する場合には、内部回路２００に備えられている特定のフリップフロップをマルチプレクサ（ＭＵＸ）により通常状態の接続からスキャンシフトフリップフロップ（以下、ＳＦＦと略記する。）２０３として動作するように接続の切り替えをおこなう。なおスキャンチェーン２０２は複数個あり（図４中においては５本示している。）、それぞれ外部端子２０４に接続されている。
【０００３】
図５は、前記半導体集積回路装置の動作についてシミュレーションを行う際のフローである。シミュレーションにおいては、先ず、外部ピン２０４で挟まれたＳＦＦ２０３をスキャンチェーン２０２と認識して、動作タイミングの確認を行う（Ｓ２０１）。
【０００４】
スキャンチェーン２０２の動作タイミングが確認された後は、Ｓ２０２乃至Ｓ２０５において、ユーザ回路部２０１に対するシミュレーションが行われる。Ｓ２０２においては、テスト結果としてユーザ回路部２０１からＳＦＦ２０３に格納された応答値を読み出してテストパターンの期待値と比較すると共に、次のテストパターンをＳＦＦ２０３に割り当てる。なお、シミュレーションの１順目においてはＳＦＦ２０３にはテスト結果が格納されていないため読み出しは行われない。また、割り当てられるテストパターンは、予めシミュレータが複数持っているテストパターン（Ｄ２０１）の中から選択される。
【０００５】
Ｓ２０３においては、ユーザ回路部２０１のみのシミュレーションを動作タイミングを考慮して行う。シミュレーションが行われるテストパターンが最後のパターンであるか否かの判定により（Ｓ２０４）、最後のパターンであればＳ２０５へ進み（Ｓ２０４：ＹＥＳ）、最後のパターンでなければＳ２０２乃至Ｓ２０３のステップを繰り返す（Ｓ２０４：ＮＯ）。Ｓ２０５では最後のテストパターンに対する応答結果をＳＦＦ２０３から読み取り、テストパターンの期待値と比較する。
【０００６】
一方、特許文献１に開示されている図６の半導体集積回路装置１は、複数（図６中においては３本示している。）のスキャンチェーンを有する一般的なＢＩＳＴタイプの半導体集積回路装置である。半導体集積回路装置１上には、所定機能を果たす内部回路２を構成する回路構成要素として、ユーザ回路部５や、ＳＦＦ４、更に複数のＳＦＦ４をチェーン状に接続するように予め形成された複数のスキャンチェーン３が配置されている。ＢＩＳＴ部６は、各スキャンチェーン３に入力されるテストパターンを生成するパターン生成器であり、ＢＩＳＴ部７は、各スキャンチェーン３からの出力データを圧縮するデータ圧縮器である。
【０００７】
【特許文献１】
特開平８−１５３８２号公報（段落０００９、００１０、第１８図）
【０００８】
【発明が解決しようとする課題】
特許文献１に開示されているＢＩＳＴ部６、７を備えた半導体集積回路装置１は、前述のようにパターン生成器６においてテストパターンを生成する。またスキャンチェーン３はパターン生成器６およびデータ圧縮器７に挟まれて接続されており外部端子には接続されない。そのため、図５で示した従来技術のシミュレーション方法のように、スキャンチェーン３内の各ＳＦＦ４に対して外部端子より直接にテストパターンを与えることができない。半導体集積回路装置１内のユーザ回路部５をシミュレーションするに際し、図５のシミュレーション方法を適用することができず問題である。
【０００９】
また、ユーザ回路部５のシミュレーションを行う際、ＢＩＳＴ部（パターン生成器）６およびＢＩＳＴ部（データ圧縮器）７も含めてシミュレーションを実行することも考えられる。ユーザ回路部５のシミュレーションに必要なテストパターンやデータ圧縮機能をも合わせてシミュレーションできるからである。しかしながら、近年の半導体集積回路装置１の高機能化、高集積化に伴いユーザ回路部５は大規模化されてきており、シミュレーション時のテストパターンや出力データも複雑、膨大となっている。このため、テストパターンの発生機能や出力データの圧縮機能を実現するＢＩＳＴ部６、７も大規模化されてきている。大規模なユーザ回路部５のシミュレーションに加えて、大規模なＢＩＳＴ部６、７をもシミュレーションしなければならないとすれば、シミュレーション時間は益々増大することとなり問題である。
【００１０】
本発明は前記従来技術の課題を解消するためになされたものであり、スキャンチェーンへのテスト信号の入出力をＢＩＳＴ部により行う半導体集積回路装置に対するシミュレーションを、半導体集積回路装置内のユーザ回路部に対してのみ有効に行うことができ、シミュレーション時間の短縮を図ることができる半導体集積回路装置のシミュレーション方法、シミュレーション装置および半導体集積回路装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
前記目的を達成するために、請求項１に係るシミュレーション方法では、少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するＢＩＳＴ部を備える半導体集積回路装置のシミュレーションをおこなう際、スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、確認情報に基づき特定されるスキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、特定されるスキャンチェーンを構成するスリップフロップに対してテストパターンを入力し、フリップフロップからのテスト結果を取得するテストステップとを有することを特徴とする。
【００１２】
請求項１のシミュレーション方法は、スキャンチェーンを認識するために必要な認識情報を定義し、認識情報に基づきスキャンチェーンを認識して、スキャンチェーンについての動作確認を行う。次に、動作確認されたスキャンチェーンを構成するフリップフロップにテストパターンを入力し、スキャンテストを行う。スキャンテストを行った結果はスキャンチェーンを構成するフリップフロップに格納され、格納されたテスト結果をフリップフロップから読み取り期待値と比較する。
【００１３】
請求項３に係るシミュレーション装置では、少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを生成しテスト結果を圧縮して自己診断テスト結果として出力するＢＩＳＴ部を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、認識情報に基づき特定されるスキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、特定されるスキャンチェーンを構成するフリップフロップに対してテストパターンを入力し、フリップフロップからのテスト結果を取得するテストステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴としている。
【００１４】
請求項３のシミュレーション装置は、半導体集積回路装置のシミュレーションを実行する。この半導体集積回路装置のシミュレーションは、スキャンチェーンを認識するために必要な認識情報を定義し、認識情報に基づきスキャンチェーンを認識して、スキャンチェーンについての動作確認を行い、次に、動作確認されたスキャンチェーンを構成するフリップフロップにテストパターンを入力し、スキャンテスト行う。更に、スキャンテストを行った結果はスキャンチェーンを構成するフリップフロップに格納され、格納されたテスト結果をフリップフロップから読み取り期待値と比較する。
【００１５】
これにより、ＢＩＳＴ部を介してスキャンチェーンに自己診断テストパターンが供給され、ＢＩＳＴ部によりテスト結果が圧縮されて自己診断テスト結果として出力される半導体集積回路装置のシミュレーションを、認識情報に基づき、ＢＩＳＴ部を切り離して実行することができる。ＢＩＳＴ部における自己診断テストパターンの生成や圧縮されたテスト結果である自己診断テスト結果の出力等のシミュレーションを行う必要がなく、シミュレーション時間の短縮を図ることができる。
【００１６】
請求項２に係る半導体集積回路装置のシミュレーション方法では、少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するＢＩＳＴ部を備える半導体集積回路装置のシミュレーションをおこなう際、ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有することを特徴とする。
【００１７】
請求項２の半導体集積回路装置のシミュレーション方法では、初期状態取得ステップにより、ＢＩＳＴ部内の各素子の初期状態を取得する。取得した初期状態は、シミュレータ内に予め格納されている各素子の初期期待値と比較される。
【００１８】
請求項４に係るシミュレーション装置は、少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するＢＩＳＴ部を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴としている。
【００１９】
請求項４のシミュレーション装置では、半導体集積回路装置のシミュレーションを実行する。このシミュレーションは、半導体集積回路装置のシミュレーションを、初期状態取得ステップにより、ＢＩＳＴ部内の各素子の初期状態を取得する。取得した初期状態は、シミュレータ内に予め格納されている各素子の初期期待値と比較される。
【００２０】
これにより、ＢＩＳＴ部における動作不良を、初期化動作により初期状態が取得された時点で早期に確認することができる。
【００２１】
請求項５に係る半導体集積回路装置においては、少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するＢＩＳＴ部を備える半導体集積回路装置であって、スキャンテストの際、スキャンチェーンの始点と外部入力端子とを接続する入力接続部と、スキャンチェ−ンの終点と外部出力端子とを接続する出力接続部との、少なくとも何れか一方を備え、テストの際、外部入力端子を介して自己診断テストパターンと同等のテストパターンを入力し、または外部出力端子を介してテスト結果を出力することを特徴とする。
【００２２】
請求項５の半導体集積回路装置においては、外部入力端子から入力接続部を介してスキャンチェーンにテストパターンを入力することができる。または、スキャンチェーンから出力接続部を介して外部出力端子からテスト結果を出力することができる。
【００２３】
これにより、従来技術で蓄積されているテストパターンファイル、または従来技術で蓄積されているテスト結果の比較方法を使用して、従来技術と同等な方法によりシミュレーションを行うことが可能となる。
【００２４】
【発明の実施の形態】
以下、本発明の半導体集積回路装置のシミュレーション方法、および半導体集積回路装置について具体化した実施形態を図１乃至３に基づき図面を参照しつつ詳細に説明する。
【００２５】
図１では、本発明の実施形態１として図６構成を持つ半導体集積回路装置１に対して本発明のシミュレーション方法を適用する場合の手順の一例を示す。図１は、半導体集積回路装置１の内部回路２内にあるユーザ回路部５の動作についてシミュレーションを行う際のフローである。
【００２６】
Ｓ１はスキャンチェーン３を認識するステップである。スキャンチェーン３の認識は、スキャンチェーン３の始点情報または終点情報の少なくとも何れか一方の端点情報（Ｄ１）に基づきスキャン経路を探索することによって実施する。あるいは、本シミュレーションに先立ちスキャンチェーンを決定する際に得たスキャンチェーンの経路情報（Ｄ２）に基づき認識することも可能である。Ｓ２はシミュレーションの対象となるＢＩＳＴ部６、７を初期化パターン情報（Ｄ３）により初期化するステップである。ＢＩＳＴ部６からスキャンチェーン３に出力されるテストパターンの生成機能、およびスキャンチェーン３からＢＩＳＴ部７に入力されるデータの圧縮機能に必要となる初期値を算出するために、ＢＩＳＴ部６、７に対して動作タイミングを考慮した実負荷シミュレーションを行う。
【００２７】
Ｓ２のステップにより行われる実負荷シミュレーションで得られたＢＩＳＴ部６、７内の各素子の初期値は、シミュレータが備えるＢＩＳＴ用論理関数に初期値として与えられる（Ｓ３）。ここで、ＢＩＳＴ用論理関数とは、ＢＩＳＴ部６と同等なテストパターンを生成するテストパターン生成論理関数と、ＢＩＳＴ部７と同等のテスト結果の圧縮を行うことができるテスト結果圧縮論理関数とである。テストパターン生成論理関数とテスト結果圧縮論理関数とは、各々、ＢＩＳＴ部６、７の論理構成と同等な論理演算を行う論理関数である。Ｓ２で行われるＢＩＳＴ部６、７の実負荷シミュレーションは、回路内の素子定数や寄生負荷等による駆動能力や負荷成分等を考慮した実回路動作に近い動作タイミングを算出することができるところ、シミュレーションにおいては所定の計算時間が必要となる。これに対してＳ３における論理関数は、論理構成のみを考慮した論理演算を行うことができ、動作タイミング等の実動作に関する計算は一切行わない。入力値に応じた出力値の遷移を直ちに出力することができる。Ｓ３では、実負荷シミュレーションにおいて計算された初期値を論理関数に受け渡して論理演算の初期値とする手続きを行う。
【００２８】
Ｓ４は与えられた初期値を基にテストパターン生成論理関数によりテストパターンを論理演算して生成するステップである。この時、半導体集積回路装置１の外部端子から入力される制御信号情報（Ｄ４）を読み込み、テストパターン生成論理関数から出力されるテストパターンを調整することも可能である。ここで、制御信号情報とは、半導体集積回路装置１のＢＩＳＴ部６に入力され、ＢＩＳＴ部６から出力されるテストパターンを調整する制御信号と同等のものである。制御信号情報を読み込む場合には、テストパターン生成論理関数から出力されるテストパターンと制御信号との間で論理演算する調整論理関数を更に備えることにより、新たな調整時間を付加することなくテストパターンの調整を行うことができる。
【００２９】
Ｓ５においては、スキャンチェーン３内のＳＦＦ４に得られる実負荷シミュレーションによるユーザ回路部５のテスト結果を読み出してテストパターンの期待値と比較すると共に、Ｓ４において論理演算した次のテストパターンを実負荷シミュレーションのテストパターンとしてＳＦＦ４に割り当てる。なお、シミュレーションの１順目においてはＳＦＦ４にはテスト結果が出力されていないため読み出されたテスト結果と期待値との比較は行われない。また、ＳＦＦ４から読み出されたテスト結果をテスト結果圧縮論理関数に受け渡しデータ圧縮の論理演算を行うことも可能である。データ圧縮の論理演算を行った場合は、データ圧縮された期待値と比較する。テスト結果圧縮論理関数でテスト結果を圧縮する際には、制御信号情報（Ｄ４）を読み込み、論理演算された圧縮値を調整することも可能である。この時、テスト結果圧縮論理関数から出力されるデータ圧縮値と制御信号との間で論理演算する調整論理関数を更に備えることにより、新たな調整時間を付加することなく圧縮されたテスト結果の調整を行うことができる。ここで、制御信号情報とは、半導体集積回路装置１のＢＩＳＴ部７に入力され、ＢＩＳＴ部７から圧縮されるテスト結果を調整する制御信号と同等のものである。
【００３０】
また、テストパターン生成論理関数により論理演算されたテストパターン、およびテスト結果圧縮論理関数により論理演算されたデータ圧縮結果は、各々、対応するＢＩＳＴ部６、７内の各素子に割り当てられる。（Ｓ６）。
【００３１】
ＢＩＳＴ部６において行われるテストパターンの生成動作、およびＢＩＳＴ部７において行われるテスト結果の圧縮動作については、実負荷シミュレーションにより行われたものではないため、この時点では、ＢＩＳＴ部６、７内の各素子値と、実負荷シミュレーションにより各素子値が更新されているユーザ回路部５では、内部状態に不整合が生じている。この不整合状態を解消するために、テストパターン生成論理関数とテスト結果圧縮論理関数とにより論理演算された各論理値を、ＢＩＳＴ部６、７における対応部分に割り付ける。これにより、半導体集積回路装置１における全ての回路部分について、現シミュレーション時点での各素子での論理値が確定され、次のシミュレーションサイクルにおいて矛盾なくシミュレーションを継続することができる。
【００３２】
Ｓ７においてはユーザ回路部５に対してのみ動作タイミングを考慮した実負荷シミュレーションを行う。シミュレーションの結果はＳＦＦ４に出力される。このシミュレーションが最後のテストパターンによるものであるか否かが確認され（Ｓ８）、最後のテストパターンによるものであればＳ９へ進み（Ｓ８：ＹＥＳ）、最後のテストパターンによるものでなければＳ３乃至Ｓ７のステップを繰り返す（Ｓ８：ＮＯ）。Ｓ９では最後のテストパターンによりＳＦＦ４に出力されたテスト結果を読み出し、テストパターンの期待値と比較する。比較方法は、Ｓ５のステップに準ずる。
【００３３】
ここで、端点情報（Ｄ１）、経路情報（Ｄ２）、初期化パターン情報（Ｄ３）、および制御信号情報（Ｄ４）は、制御ファイルに格納された上でシミュレーションに適用される。ここで、制御ファイルとは、本シミュレーションを実施する際に参照されるシミュレーションデータやシミュレーション条件が格納されたファイルである。
【００３４】
以上に説明した実施形態１によれば、スキャンチェーン３の端点情報（Ｄ１）、またはスキャンチェーン３の経路情報（Ｄ２）等の認識情報に基づき、ＢＩＳＴ部６、７を切り離して、スキャンチェーン３を介してユーザ回路部５に対して実行することができる。ＢＩＳＴ部６における自己診断テストパターンの生成や、ＢＩＳＴ部７における圧縮されたテスト結果である自己診断テスト結果の出力等のシミュレーションを行う必要がなく、シミュレーション時間の短縮を図ることができる
【００３５】
ここで、図１における、端点情報（Ｄ１）または経路情報（Ｄ２）が、認識情報の一例であり、予め制御ファイル等に格納されて情報定義ステップを構成する。
【００３６】
Ｓ１は、スキャンチェーン動作確認ステップの一例である。認識情報として端点情報（Ｄ１）が与えられる場合、端点情報（Ｄ１）に基づき、スキャンチェーン３の経路を探索するチェーン探索ステップを有して構成することも可能である。これにより、スキャンチェーン３の端点情報（Ｄ１）からスキャンチェーンを探索することができる。
【００３７】
Ｓ５、Ｓ７乃至Ｓ９が、テストステップの一例である。ＳＦＦ４に割り付けられるテストパターンによりテストが行われ、テスト結果がＳＦＦ４から読み出されてスキャンテストが実行される。これにより、スキャンチェーン３を介したユーザ回路部５に対してのみ実負荷シミュレーションが実行され、ＢＩＳＴ部６、７に対する実負荷シミュレーションを行う必要がない。シミュレーション時間を短縮することができる。
【００３８】
Ｓ２において実負荷シミュレーションにより計算されるＢＩＳＴ部６、７内の各素子の初期値は、ＢＩＳＴ用論理関数である、テストパターン生成論理関数とテスト結果圧縮論理関数とに初期値として与えられる（Ｓ３）。以後、ＢＩＳＴ部６、７からの自己診断テストパターンの生成および圧縮されたテスト結果である自己診断テスト結果の出力は、実負荷シミュレーションではなく、論理関数により論理演算されて行われる。Ｓ４におけるテストパターン生成論理関数によるテストパターンの論理演算が、テストパターン生成論理演算ステップの一例であり、Ｓ５において、ＳＦＦ４から読み出されたテスト結果をテスト結果圧縮論理関数により論理演算する場合が、テスト結果圧縮論理演算ステップの一例である。
【００３９】
テストパターン生成論理関数、およびテスト結果圧縮論理関数は、ＢＩＳＴ部６における自己診断テストパターンの生成論理構成、およびＢＩＳＴ部７における自己診断テスト結果の出力と同等な論理演算を行うものであり、論理構成のみを考慮した論理演算を行うことができ、動作タイミング等の実動作に関する計算は一切行わない。これにより、高速にテストパターンの生成、テスト結果の圧縮を行うことができシミュレーション時間を短縮することができる。
【００４０】
半導体集積回路装置１の外部端子から入力される制御信号情報（Ｄ４）が、テストパターンおよび圧縮テスト結果を調整する第１および第２制御信号に関する情報である。Ｓ４において制御信号情報（Ｄ４）を読み込みテストパターンを調整する場合が、テストパターン調整論理演算ステップの一例である。また、Ｓ５において制御信号（Ｄ４）を読み込み圧縮テスト結果を調整する場合が、圧縮テスト結果調整論理演算ステップの一例である。
【００４１】
図２では、本発明の実施形態２として図６の構成を持つ半導体集積回路装置１に対して本発明のシミュレーション方法を適用する場合の手順の一例を示す。図２は、半導体集積回路装置１のＢＩＳＴ部６、７の初期値確認を行う場合のシミュレーションフローである。
【００４２】
Ｓ２１は、ＢＩＳＴ部６、７の設計時に決定される設計データに基づき各素子の初期値の期待値をシミュレータに格納する。次に、ＢＩＳＴ部６、７に対して実負荷シミュレーションを行い、ＢＩＳＴ部６、７内の各素子の初期値を算出する（Ｓ２２）。Ｓ２２において算出された初期値を格納されている設計データに基づく期待値と比較する（Ｓ２３）。これにより、ＢＩＳＴ部６、７における初期化動作での動作不良を初期化動作に関する実負荷シミュレーションの終了時点で早期に確認することができる。
【００４３】
以上に説明した実施形態２によれば、Ｓ２２が初期状態取得ステップの一例であり、実負荷シミュレーションによりＢＩＳＴ部６、７内の各素子の初期状態を取得する。取得した初期状態は、Ｓ２１によりシミュレータ内に予め格納されている各素子の初期期待値と比較される（Ｓ２３）。Ｓ２３が初期状態判定ステップの一例である。
【００４４】
以上に説明したシミュレーション方法を具体化するシミュレーション装置１０を図３に示す。図３のシミュレーション装置１０では中央演算装置（以下、ＣＰＵと略記する。）２０を中心にバス９０を介して、メモリ３０、磁気ディスク装置４０、表示装置（以下、ＣＲＴと略記する。）５０、キーボード６０、インターネット等の通信回線７０、および外部記憶媒体駆動装置８０が相互に接続されており、更に外部記憶媒体駆動装置にＣＤＲＯＭや磁気媒体などの外部記憶媒体１００が着脱可能に設置される構成である。
【００４５】
図１、２のフローを実行するコンピュータプログラムは、シミュレーション装置１０内のメモリ３０や磁気ディスク装置４０に記録されている他、ＣＤＲＯＭや磁気媒体などの外部記憶媒体１００に記録されている場合に、外部記憶媒体駆動装置８０を介してメモリ３０、磁気ディスク装置４０に記録され、あるいは直接ＣＰＵ２０に転送される。また、インターネット等の通信回線７０を介して転送されることも可能である。
【００４６】
また、図１中におけるスキャンチェーンの端点情報（Ｄ１）、スキャンチェーンの経路情報（Ｄ２）、初期化パターン情報（Ｄ３）、制御信号情報（Ｄ４）は、磁気ディスク装置４０や、ＣＤＲＯＭ、磁気媒体などの外部記憶装置媒体１００に記録されており、上記コンピュータプログラムの処理に従いＣＰＵ２０からの指示により必要に応じて参照される。また、コンピュータプログラムの場合と同様にインターネット等の通信回線７０を介して転送されることも可能である。１、２に示すシミュレーションのフローを実行するプログラムに従いシミュレーションされた結果は、ＣＲＴ５０等の確認手段により確認される。制御ファイルの設定、編集、シミュレーション手順の入力等は、キーボード６０からの入力により行う。またシミュレーションされた結果は、磁気ディスク装置４０、あるいは外部記憶媒体駆動装置８０を介したＣＤＲＯＭ、磁気媒体などの外部記憶媒体に記録される。更にインターネット等の通信回線７０を介して転送することも可能である。
【００４７】
また、図６の構成を持つ半導体集積回路装置１において、スキャンチェーン３の始点と外部入力端子８とを必要に応じて接続する入力接続部（不図示）、またはスキャンチェーン３の終点と外部出力端子９とを必要に応じて接続する出力接続部（不図示）との少なくともいずれかひとつを備える構成としてやれば、従来技術において蓄積されているテストパターンファイルを使用して外部入力端子８から入力接続部を介してスキャンチェーン３にテストパターンを入力することができる。または従来技術において蓄積されているテスト結果の比較方法を使用してスキャンチェーン３から出力接続部を介して外部出力端子９からテスト結果を出力することができる。
【００４８】
半導体集積回路装置１のシミュレーションにおいて、従来技術のシミュレーションフロー（図５）をそのまま適用することができる。
【００４９】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
例えば、実施形態１においては、テストパターン発生論理関数と、テスト結果圧縮論理関数とを備え、テストパターンの発生とテスト結果の圧縮とを共に論理演算する場合を説明したが、入力接続部、または出力接続部いずれかひとつを備えることにより、外部入力端子８を介してテストパターンを入力する構成とし、または外部出力端子９を介してテスト結果を出力する構成とすることも可能である。
【００５０】
ここで、本発明に関する技術思想を以下に列記する。
（付記１）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーション方法において、
前記スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、
前記認識情報に基づき特定される前記スキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、
特定される前記スキャンチェーンを構成する前記フリップフロップに対してテストパターンを入力し、前記フリップフロップからの前記テスト結果を取得するテストステップとを有することを特徴とする半導体集積回路装置のシミュレーション方法。
（付記２）  前記認識情報とは、前記スキャンチェーンにおける始点または終点の少なくともいずれか一方の端点情報であり、
前記端点情報に基づき、前記スキャンチェーンの経路を探索するチェーン探索ステップを更に有することを特徴とする付記１に記載の半導体集積回路装置のシミュレーション方法。
（付記３）  前記認識情報とは、前記スキャンチェーンの経路であることを特徴とする付記１に記載の半導体集積回路装置のシミュレーション方法。
（付記４）  前記情報定義ステップにおいて、前記認識情報は、シミュレーションの際に参照される制御ファイルにより定義されることを特徴とする付記１乃至３の少なくとも何れか１項に記載の半導体集積回路装置のシミュレーション方法。
（付記５）  前記テストステップにおいては、論理関数を用いた論理演算により、前記ＢＩＳＴ部で生成される前記自己診断テストパターンと同等な前記テストパターンを出力するテストパターン発生論理演算ステップを有することを特徴とする付記１に記載の半導体集積回路装置のシミュレーション方法。
（付記６）  論理関数を用いた論理演算により、第１制御信号と前記テストパターンとを論理演算することにより前記テストパターンを調整するテストパターンを調整するテストパターン調整論理演算ステップを有することを特徴とする付記５に記載の半導体集積回路装置のシミュレーション方法。
（付記７）  前記テストステップにおいては、論理関数を用いた論理演算により、前記テスト結果から前記自己診断テスト結果と同等な圧縮テスト結果を出力するテスト結果圧縮論理演算ステップを有することを特徴とする付記１に記載の半導体集積回路装置のシミュレーション方法。
（付記８）  論理関数を用いた論理演算により、第２制御信号と前記圧縮テスト結果とを論理演算することにより前記圧縮テスト結果を調整する圧縮テスト結果調整論理演算ステップを有することを特徴とする付記７に記載の半導体集積回路装置のシミュレーション方法。
（付記９）  前記第１および第２制御信号は、外部より前記ＢＩＳＴ部に入力され、前記自己診断テストパターンおよび前記自己診断テスト結果を調整する制御信号と同等の信号であることを特徴とする付記６または８に記載の半導体集積回路装置のシミュレーション方法。
（付記１０）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーション方法において、
前記半導体集積回路装置は、前記スキャンテストの際、前記スキャンチェーンの始点と外部入力端子とを接続する入力接続部、または前記スキャンチェーンの終点と外部出力端子とを接続する出力接続部の少なくとも何れか一方を備え、
シミュレーションの際、前記外部入力端子を介して前記テストパターンを入力し、または前記外部出力端子を介して前記テスト結果を出力することを特徴とする半導体集積回路装置のシミュレーション方法。
（付記１１）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーション方法において、
前記ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、
前記初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有することを特徴とする半導体集積回路装置のシミュレーション方法。
（付記１２）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを生成しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、
前記スキャンチェーンを特定するための認識情報を定義する情報定義ステップと、
前記認識情報に基づき特定される前記スキャンチェーンの動作を確認するスキャンチェーン動作確認ステップと、
特定される前記スキャンチェーンを構成する前記フリップフロップに対してテストパターンを入力し、前記フリップフロップからの前記テスト結果を取得するテストステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴とするシミュレーション装置。
（付記１３）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置のシミュレーションを実行するシミュレーション装置であって、
前記ＢＩＳＴ部における初期状態を取得する初期状態取得ステップと、
前記初期状態を、予め定められている初期期待値と比較判定する初期状態判定ステップとを有する半導体集積回路装置のシミュレーションを実行することを特徴とするシミュレーション装置。
（付記１４）  少なくとも１つのフリップフロップをスキャンテスト可能に接続した少なくとも１つのスキャンチェーンに、書き込むべき自己診断テストパターンを供給しテスト結果を圧縮して自己診断テスト結果として出力するビルトインセルフテスト部（ＢＩＳＴ部）を備える半導体集積回路装置であって、
前記スキャンテストの際、
前記スキャンチェーンの始点と外部入力端子とを接続する入力接続部と、
前記スキャンチェーンの終点と外部出力端子とを接続する出力接続部との、少なくとも何れか一方を備え、
テストの際、前記外部入力端子を介して前記自己診断テストパターンと同等のテストパターンを入力し、または前記外部出力端子を介して前記テスト結果を出力することを特徴とする半導体集積回路装置。
【００５１】
【発明の効果】
本発明によれば、スキャンチェーンへのテスト信号の入出力をＢＩＳＴ部により行う半導体集積回路装置に対するシミュレーションを、半導体集積回路装置内のユーザ回路部に対してのみ有効に行うことができ、シミュレーション時間の短縮を図ることができる半導体集積回路装置のシミュレーション方法、および半導体集積回路装置を提供することが可能である。
【図面の簡単な説明】
【図１】実施形態１のシミュレーション方法のフローチャートである。
【図２】実施形態２のシミュレーション方法のフローチャートである。
【図３】本実施形態におけるシミュレーション装置の構成図である。
【図４】スキャンチェーンを備えた半導体集積回路装置の模式図である。
【図５】従来技術によるシミュレーション方法のフローチャートである。
【図６】ＢＩＳＴ部を備えた半導体集積回路装置の模式図である。
【符号の説明】
１  半導体集積回路装置
２  内部回路
３  スキャンチェーン
４  スキャンフリップフロップ
５  ユーザ回路部
６  パターン生成器
７  データ圧縮器
８  外部入力端子
９  外部出力端子
【図１】
2004178153.tif 000003
【図２】
2004178153.tif 000004
【図３】
2004178153.tif 000005
【図４】
2004178153.tif 000006
【図５】
2004178153.tif 000007
【図６】
2004178153.tif 000008