(57)【要約】【課題】  スキャンリオーダー前後のネットリストに関して回路全体を検証対象とした論理等価性検証を可能にする。【解決手段】  ネット置換処理（Ｐ３）において、スキャンリオーダー前後のネットリスト（ＮＬ１、ＮＬ２）について、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換されることにより、論理等価性検証用のネットリスト（ＮＬ３、ＮＬ４）が生成される。論理等価性検証処理（Ｐ４）において、スキャンリオーダー前後のネットリスト（ＮＬ１、ＮＬ２）の代わりに論理等価性検証用のネットリスト（ＮＬ３、ＮＬ４）を用いて論理等価性が検証される。【選択図】    図１
2009295015.tif 000002
【特許請求の範囲】
【請求項１】
スキャンチェーンを含む第１ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットを１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換することにより、第１検証用ネットリストを生成する第１工程と、
前記第１ネットリストに対するスキャンリオーダーにより生成された第２ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットを１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換することにより、第２検証用ネットリストを生成する第２工程と、
前記第１ネットリストおよび前記第２ネットリストの代わりに前記第１検証用ネットリストおよび前記第２検証用ネットリストを用いて論理等価性を検証する第３工程とを含むことを特徴とする論理等価性検証方法。
【請求項２】
請求項１に記載の論理等価性検証方法において、
前記第１工程は、２番目以降のスキャンフリップフロップのスキャン入力端子のネットを順次置換する際に、スキャンチェーン情報に基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する接続関係が正常であるか否かを順次検証する工程を含むことを特徴とする論理等価性検証方法。
【請求項３】
請求項１または請求項２に記載の論理等価性検証方法において、
前記第２工程は、２番目以降のスキャンフリップフロップのスキャン入力端子のネットを順次置換する際に、スキャンチェーン情報に基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する従属関係が正常であるか否かを順次検証する工程を含むことを特徴とする論理等価性検証方法。
【請求項４】
スキャンチェーンを含む第１ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットを１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換することにより、第１検証用ネットリストを生成する第１工程と、
前記第１ネットリストに対するスキャンリオーダーにより生成された第２ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットを１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換することにより、第２検証用ネットリストを生成する第２工程と、
前記第１ネットリストおよび前記第２ネットリストの代わりに前記第１検証用ネットリストおよび前記第２検証用ネットリストを用いて論理等価性を検証する第３工程とをコンピュータに実行させることを特徴とする論理等価性検証プログラム。
【請求項５】
請求項４に記載の論理等価性検証プログラムにおいて、
前記第１工程は、２番目以降のスキャンフリップフロップのスキャン入力端子のネットを順次置換する際に、スキャンチェーン情報に基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する接続関係が正常であるか否かを順次検証する工程を含むことを特徴とする論理等価性検証プログラム。
【請求項６】
請求項４または請求項５に記載の論理等価性検証プログラムにおいて、
前記第２工程は、２番目以降のスキャンフリップフロップのスキャン入力端子のネットを順次置換する際に、スキャンチェーン情報に基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する従属関係が正常であるか否かを順次検証する工程を含むことを特徴とする論理等価性検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路（ＬＳＩ：Large Scale Integration）の設計工程においてスキャンリオーダー前後のネットリストの論理等価性を検証する技術に関する。
【背景技術】
【０００２】
一般に、半導体集積回路の設計工程においては、ＲＴＬ（Register Transfer Level）記述が完成すると、論理合成によりネットリストが生成され、そのネットリストに対してＤＦＴ（Design For Testability）回路が挿入される。例えば、ＤＦＴ回路は、スキャンテスト用回路であり、スキャンフリップフロップ（ＳＦＦ：Scan Flip-Flop）を数珠繋ぎに接続して形成されるスキャンチェーンやスキャンフリップフロップの動作を制御するコントローラ等を含む。この後、ＤＦＴ回路が挿入されたネットリストに対して、配置および配線を考慮してスキャンチェーンのスキャンフリップフロップを置き換えるスキャンリオーダーが実施される。そして、スキャンリオーダー前（ＤＦＴ回路挿入後）のネットリストおよびスキャンリオーダー後のネットリストに関して論理等価性が検証される。
【０００３】
図１０は、スキャンリオーダー前のネットリストに対応する回路を示しており、図１１は、スキャンリオーダー後のネットリストに対応する回路を示している。例えば、図１０に示すように、スキャンリオーダー前のネットリストは、組み合わせ回路ＣＭＢ１〜ＣＭＢ５、スキャンチェーンＣＨＡＩＮ１を形成するスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、スキャンチェーンＣＨＡＩＮ２を形成するスキャンフリップフロップＳＦＦ２１〜ＳＦＦ２６、ＴＡＰ（Test Access Port）コントローラＣＴＬ１およびＡＴＰＧ（Automatic Test Pattern Generation）／ＢＩＳＴ（Built-In Self-Test）コントローラＣＴＬ２を含んでいるものとする。また、スキャンチェーンＣＨＡＩＮ１を形成するスキャンフリップフロップは、「ＳＦＦ１１−ＳＦＦ１２−ＳＦＦ１３−ＳＦＦ１４−ＳＦＦ１５−ＳＦＦ１６」の順序で接続されているものとする。スキャンチェーンＣＨＡＩＮ２を形成するスキャンフリップフロップは、「ＳＦＦ２１−ＳＦＦ２２−ＳＦＦ２３−ＳＦＦ２４−ＳＦＦ２５−ＳＦＦ２６」の順序で接続されているものとする。なお、スキャンフリップフロップ、ＴＡＰコントローラおよびＡＴＰＧ／ＢＩＳＴコントローラについては、広く知られた回路であるため、ここでの詳細な説明は省略する。
【０００４】
このようなネットリストに対してスキャンリオーダーが実施されると、例えば、図１１に示すように、スキャンリオーダー後のネットリストでは、スキャンチェーンＣＨＡＩＮ１を形成するスキャンフリップフロップの接続順序は、「ＳＦＦ１１−ＳＦＦ１３−ＳＦＦ１２−ＳＦＦ１５−ＳＦＦ１４−ＳＦＦ１６」に変更されている。また、スキャンチェーンＣＨＡＩＮ２を形成するスキャンフリップフロップの接続順序は、「ＳＦＦ２１−ＳＦＦ２３−ＳＦＦ２２−ＳＦＦ２５−ＳＦＦ２４−ＳＦＦ２６」に変更されている。このため、スキャンリオーダー前後のネットリストに関する論理等価性検証の際に“論理不一致”と判定されてしまう。
【０００５】
この問題の解決手法としては、外部入力信号をシステムモード用の固定値に設定してＤＦＴ回路を論理等価性検証の対象から除外する手法（第１従来手法）が知られている。別の解決手法としては、スキャンフリップフロップのスキャン入力端子に切断点を設けて切断点を論理等価性検証の対象から除外する手法（第２従来手法）が知られている（例えば、特許文献１を参照）。
【０００６】
図１２および図１３は、第１従来手法の概要を示している。第１従来手法では、例えば、図１０および図１１の回路に対応するネットリストの論理等価性を検証する場合、図１２および図１３に示すように、ＴＡＰコントローラＣＴＬ１に供給される外部入力信号がシステムモード用の固定値（“０”または“１”）に設定され、ＤＦＴ回路（図中の太線部分）が検証対象から除外される。従って、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６の接続順序が異なることに起因して“論理不一致”と判定されることはない。しかしながら、この手法では、スキャンチェーンＣＨＡＩＮ１、ＣＨＡＩＮ２、ＴＡＰコントローラＣＴＬ１およびＡＴＰＧ／ＢＩＳＴコントローラＣＴＬ２等のＤＦＴ回路に関して論理等価性が検証されない。
【０００７】
図１４および図１５は、第２従来手法の概要を示している。第２従来手法では、例えば、図１０および図１１の回路に対応するネットリストの論理等価性を検証する場合、図１４および図１５に示すように、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６のスキャン入力端子ＳＩに切断点（図中の“×”）が設けられ、この切断点が検証対象から除外される。従って、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６の接続順序が異なることに起因して“論理不一致”と判定されることはない。しかしながら、この手法では、以下に示すような問題が生じる。
【０００８】
図１６は、第２従来手法の問題点を示している。例えば、図１０の回路に対応するネットリストに対してスキャンリオーダーが実施された結果、図１６に示すように、スキャンリオーダー後のネットリストにおいて、スキャンフリップフロップＳＦＦ１１、ＳＦＦ１３、ＳＦＦ１２、ＳＦＦ２２、ＳＦＦ２５、ＳＦＦ２４、ＳＦＦ２６が誤って数珠繋ぎに接続され、スキャンフリップフロップＳＦＦ２１、ＳＦＦ１４、ＳＦＦ２３、ＳＦＦ１５、ＳＦＦ１６が誤って数珠繋ぎに接続されている場合を考える。第２従来手法を用いて図１０および図１６の回路に対応するネットリストの論理等価性を検証する場合、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６のスキャン入力端子ＳＩに切断点が設けられることにより、スキャンフリップフロップ間の接続部分に関して論理等価性が検証されなくなるため、スキャンリオーダー後のネットリストにおいてスキャンフリップフロップ間の誤接続が存在するにも拘わらず“論理不一致”とは判定されない。
【特許文献１】特開２００７−１３３５１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述のように、第１従来手法には、ＤＦＴ回路が検証対象から除外されてしまうという問題があり、第２従来手法には、スキャンフリップフロップ間の接続部分が検証対象から除外されてしまうという問題ある。
【００１０】
本発明の目的は、スキャンリオーダー前後のネットリストに関して回路全体を検証対象とした論理等価性検証を可能にすることにある。
【課題を解決するための手段】
【００１１】
スキャンチェーンを含む第１ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換されることにより、第１検証用ネットリストが生成される（第１工程）。第１ネットリストに対するスキャンリオーダーにより生成された第２ネットリストについて、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換されることにより、第２検証用ネットリストが生成される（第２工程）。第１ネットリストおよび第２ネットリストの代わりに第１検証用ネットリストおよび第２検証用ネットリストを用いて論理等価性が検証される（第３工程）。
【発明の効果】
【００１２】
第１検証用ネットリストと第２検証用ネットリストとでは、各スキャンチェーンに関してスキャンフリップフロップ間の接続関係が同一になるため、論理等価性検証の際、特別な設定処理（外部入力信号をシステムモード用の固定値に設定する処理あるいはスキャンフリップフロップのスキャン入力端子に切断点を設定する処理）が不要になり、回路全体を検証対象とした論理等価性検証が可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を用いて説明する。
【００１４】
図１は、本発明の一実施形態を示している。図２は、スキャンチェーン情報の一例を示している。図３は、半導体集積回路用ＣＡＤ（Computer Aided Design）システムの一例を示している。本発明の一実施形態においては、図１に示すように、スキャンリオーダー前後のネットリストＮＬ１、ＮＬ２に関して論理等価性を検証する際、まず、スキャンリオーダー前後のネットリストＮＬ１、ＮＬ２に対してネット置換処理Ｐ３が実施されて論理等価性検証用のネットリストＮＬ３、ＮＬ４が生成される。そして、スキャンリオーダー前後のネットリストＮＬ１、ＮＬ２の代わりに論理等価性検証用のネットリストＮＬ３、ＮＬ４を用いて論理等価性検証処理Ｐ４が実施される。なお、ネットリストＮＬ０は、ＲＴＬ記述を論理合成して生成されたネットリストである。ネットリストＮＬ１は、ネットリストＮＬ０に対するＤＦＴ回路挿入処理Ｐ１により生成されたネットリストである。ネットリストＮＬ２は、ネットリストＮＬ１に対するスキャンリオーダー処理Ｐ２により生成されたネットリストである。
【００１５】
ネット置換処理Ｐ３は、第１ネット置換処理Ｐ３１および第２ネット置換処理Ｐ３２を含んでいる。詳細については後述するが、第１ネット置換処理Ｐ３１では、スキャンリオーダー前のネットリストＮＬ１について、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換されることにより、論理等価性検証用のネットリストＮＬ３が生成される。また、第１ネット置換処理Ｐ３１では、２番目以降のスキャンフリップフロップのスキャン入力端子のネットが順次置換される際に、スキャンチェーン情報ＳＣＩに基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する接続関係が正常であるか否かが順次検証される。第２ネット置換処理Ｐ３２では、スキャンリオーダー後のネットリストＮＬ２について、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに順次置換されることにより、論理等価性検証用のネットリストＮＬ４が生成される。また、第２ネット置換処理Ｐ３２では、２番目以降のスキャンフリップフロップのスキャン入力端子のネットが順次置換される際に、スキャンチェーン情報ＳＣＩに基づいて２番目以降のスキャンフリップフロップのスキャンチェーンに関する従属関係が正常であるか否かが順次検証される。
【００１６】
なお、ネット置換処理Ｐ３（第１ネット置換処理Ｐ３１および第２ネット置換処理Ｐ３２）で用いられるスキャンチェーン情報ＳＣＩは、スキャンリオーダー前（ＤＦＴ回路挿入後）のネットリストＮＬ１において形成されるべきスキャンチェーンの構成を示すものである。例えば、スキャンリオーダー前のネットリストＮＬ１が図１０の回路に対応するネットリストである場合、スキャンチェーン情報ＳＣＩは、図２に示すように、スキャンチェーンＣＨＡＩＮ１が機能ブロックＡ１の回路Ｂ１内のスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６を「ＳＦＦ１１−ＳＦＦ１２−ＳＦＦ１３−ＳＦＦ１４−ＳＦＦ１５−ＳＦＦ１６」の順序で接続して形成され、スキャンチェーンＣＨＡＩＮ２が機能ブロックＡ２の回路Ｂ２内のスキャンフリップフロップＳＦＦ２１〜ＳＦＦ２６を「ＳＦＦ２１−ＳＦＦ２２−ＳＦＦ２３−ＳＦＦ２４−ＳＦＦ２５−ＳＦＦ２６」の順序で接続して形成されることを示すものになる。
【００１７】
また、図１における一連の処理は、例えば、図３に示すような半導体集積回路用ＣＡＤシステム上で実施される。半導体集積回路用ＣＡＤシステムとして機能するワークステーション１は、ディスプレイ装置２、キーボード３および制御装置４等を備えている。制御装置４には、ＣＰＵ（Central Processing Unit）５、ＨＤ（Hard Disk）６および記録媒体ドライブ装置７等が搭載されている。ワークステーション１においては、記録媒体ドライブ装置７を介して記録媒体８から読み出されたＣＡＤツールプログラム（ＤＦＴ回路挿入処理Ｐ１、スキャンリオーダー処理Ｐ２、ネット置換処理Ｐ３および論理等価性検証処理Ｐ４のプログラムを含む）がＨＤ６に格納されており、ＣＰＵ５によりＨＤ６上のＣＡＤツールプログラムが実行されることで、図１における一連の処理が実現される。
【００１８】
図４は、第１ネット置換処理の詳細を示している。第１ネット置換処理Ｐ３１では、まず、スキャンチェーン情報ＳＣＩおよびスキャンリオーダー前のネットリストＮＬ１が入力される（ステップＳ１０１、Ｓ１０２）。次に、ネットリストＮＬ１に含まれる複数のスキャンチェーンの中から処理対象スキャンチェーンが選択される（ステップＳ１０３）。続いて、ネットリストＮＬ１を探索することにより、処理対象スキャンチェーンにおける先頭のスキャンフリップフロップが特定される（ステップＳ１０４）。
【００１９】
次に、ネットリストＮＬ１を探索することにより、処理対象スキャンチェーンにおける次段のスキャンフリップフロップが処理対象スキャンフリップフロップとして選択される（ステップＳ１０５）。そして、スキャンチェーン情報ＳＣＩに基づいて処理対象スキャンフリップフロップのスキャンチェーンに関する接続関係が正常であるか否かが判定される（ステップＳ１０６）。換言すれば、処理対象スキャンフリップフロップがスキャンチェーン情報ＳＣＩの通りに正しく接続されているか否かが判定される。ステップＳ１０６において処理対象スキャンフリップフロップのスキャンチェーンに関する接続関係が正常であると判定された場合には、処理対象スキャンフリップフロップのスキャン入力端子のネットが先頭のスキャンフリップフロップのスキャン入力端子のネットに置換される（ステップＳ１０７）。
【００２０】
この後、処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップであるか否かが判定される（ステップＳ１０８）。ステップＳ１０８において処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップではないと判定された場合には、ステップＳ１０５〜Ｓ１０８が再度実施される。一方、ステップＳ１０８において処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップであると判定された場合には、処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在しないか否かが判定される（ステップＳ１０９）。ステップＳ１０９において処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在すると判定された場合には、ステップＳ１０３〜Ｓ１０９が再度実施される。一方、ステップＳ１０９において処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在しないと判定された場合には、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに置換された論理等価性検証用のネットリストＮＬ３が出力される（ステップＳ１１０）。なお、ステップＳ１０６において処理対象スキャンフリップフロップのスキャンチェーンに関する接続関係が正常ではないと判定された場合には、エラー情報が出力される（ステップＳ１１１）。
【００２１】
図５は、第１ネット置換処理によるネット置換の様子を示している。例えば、スキャンリオーダー前のネットリストＮＬ１において、スキャンチェーンＣＨＡＩＮ１に関してスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６が「ＳＦＦ１１−ＳＦＦ１２−ＳＦＦ１３−ＳＦＦ１４−ＳＦＦ１５−ＳＦＦ１６」の順序で接続されているものとする。このような場合、第１ネット置換処理Ｐ３１では、スキャンチェーンＣＨＡＩＮ１に関してスキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６のスキャン入力端子ＳＩのネットが「ＳＦＦ１２−ＳＦＦ１３−ＳＦＦ１４−ＳＦＦ１５−ＳＦＦ１６」の順序でスキャンフリップフロップＳＦＦ１１のスキャン入力端子ＳＩのネットに置換されることにより、論理等価性検証用のネットリストＮＬ３が生成される。
【００２２】
図６は、第１ネット置換処理により生成されるネットリストに対応する回路を示している。例えば、スキャンリオーダー前のネットリストＮＬ１が図１０の回路に対応するネットリストである場合、第１ネット置換処理Ｐ３１により生成される論理等価性検証用のネットリストＮＬ３では、図６に示すように、スキャンチェーンＣＨＡＩＮ１に関して、スキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６のスキャン入力端子ＳＩがスキャンフリップフロップＳＦＦ１１のスキャン入力端子ＳＩと同一のネットに接続されている。また、スキャンチェーンＣＨＡＩＮ２に関して、スキャンフリップフロップＳＦＦ２２〜ＳＦＦ２６のスキャン入力端子ＳＩがスキャンフリップフロップＳＦＦ２１のスキャン入力端子ＳＩと同一のネットに接続されている。
【００２３】
図７は、第２ネット置換処理の詳細を示している。第２ネット置換処理Ｐ３２では、まず、スキャンチェーン情報ＳＣＩおよびスキャンリオーダー後のネットリストＮＬ２が入力される（ステップＳ２０１、Ｓ２０２）。次に、ネットリストＮＬ２に含まれる複数のスキャンチェーンの中から処理対象スキャンチェーンが選択される（ステップＳ２０３）。続いて、ネットリストＮＬ２を探索することにより、処理対象スキャンチェーンにおける先頭のスキャンフリップフロップが特定される（ステップＳ２０４）。
【００２４】
次に、ネットリストＮＬ２を探索することにより、処理対象スキャンチェーンにおける次段のスキャンフリップフロップが処理対象スキャンフリップフロップとして選択される（ステップＳ２０５）。そして、スキャンチェーン情報ＳＣＩに基づいて処理対象スキャンフリップフロップのスキャンチェーンに関する従属関係が正常であるか否かが判定される（ステップＳ２０６）。換言すれば、処理対象スキャンフリップフロップが先頭のスキャンフリップフロップと同一のスキャンチェーン（処理対象スキャンチェーン）に属すべきものか否かが判定される。ステップＳ２０６において処理対象スキャンフリップフロップのスキャンチェーンに関する従属関係が正常であると判定された場合には、処理対象スキャンフリップフロップのスキャン入力端子のネットが先頭のスキャンフリップフロップのスキャン入力端子のネットに置換される（ステップＳ２０７）。
【００２５】
この後、処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップであるか否かが判定される（ステップＳ２０８）。ステップＳ２０８において処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップではないと判定された場合には、ステップＳ２０５〜Ｓ２０８が再度実施される。一方、ステップＳ２０８において処理対象スキャンフリップフロップが処理対象スキャンチェーンにおける最後尾のスキャンフリップフロップであると判定された場合には、処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在しないか否かが判定される（ステップＳ２０９）。ステップＳ２０９において処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在すると判定された場合には、ステップＳ２０３〜Ｓ２０９が再度実施される。一方、ステップＳ２０９において処理対象スキャンチェーンとして選択されていないスキャンチェーンが存在しないと判定された場合には、スキャンチェーン毎に２番目以降のスキャンフリップフロップのスキャン入力端子のネットが１番目のスキャンフリップフロップのスキャン入力端子のネットに置換された論理等価性検証用のネットリストＮＬ４が出力される（ステップＳ２１０）。なお、ステップＳ２０６において処理対象スキャンフリップフロップのスキャンチェーンに関する従属関係が正常ではないと判定された場合には、エラー情報が出力される（ステップＳ２１１）。
【００２６】
図８は、第２ネット置換処理によるネット置換の様子を示している。例えば、スキャンリオーダー後のネットリストＮＬ２において、スキャンチェーンＣＨＡＩＮ１に関してスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６が「ＳＦＦ１１−ＳＦＦ１３−ＳＦＦ１２−ＳＦＦ１５−ＳＦＦ１４−ＳＦＦ１６」の順序で接続されているものとする。このような場合、第２ネット置換処理Ｐ３２では、スキャンチェーンＣＨＡＩＮ１に関してスキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６のスキャン入力端子ＳＩのネットが「ＳＦＦ１３−ＳＦＦ１２−ＳＦＦ１５−ＳＦＦ１４−ＳＦＦ１６」の順序でスキャンフリップフロップＳＦＦ１１のスキャン入力端子ＳＩのネットに置換されることにより、論理等価性検証用のネットリストＮＬ４が生成される。
【００２７】
図９は、第２ネット置換処理により生成されるネットリストに対応する回路を示している。例えば、スキャンリオーダー後のネットリストＮＬ２が図１１の回路に対応するネットリストである場合、第２ネット置換処理Ｐ３２により生成される論理等価性検証用のネットリストＮＬ４では、図９に示すように、スキャンチェーンＣＨＡＩＮ１に関して、スキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６のスキャン入力端子ＳＩがスキャンフリップフロップＳＦＦ１１のスキャン入力端子ＳＩと同一のネットに接続されている。また、スキャンチェーンＣＨＡＩＮ２に関して、スキャンフリップフロップＳＦＦ２２〜ＳＦＦ２６のスキャン入力端子ＳＩがスキャンフリップフロップＳＦＦ２１のスキャン入力端子ＳＩと同一のネットに接続されている。
【００２８】
本発明の一実施形態においては、例えば、図１０および図１１の回路に対応するネットリストＮＬ１、ＮＬ２に関して論理等価性を検証する際、図６および図９の回路に対応するネットリストＮＬ３、ＮＬ４を用いて論理等価性検証処理Ｐ４が実施される。第１ネット置換処理Ｐ３１により生成されるネットリストＮＬ３（図６）と第２ネット置換処理Ｐ３２により生成されるネットリストＮＬ４（図９）とでは、スキャンチェーンＣＨＡＩＮ１に属するスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６間の接続関係およびスキャンチェーンＣＨＡＩＮ２に属するスキャンフリップフロップＳＦＦ２１〜ＳＦＦ２６間の接続関係が同一になる。従って、論理等価性検証処理Ｐ４において、特別な設定処理（ＴＡＰコントローラＣＴＬ１に供給される外部入力信号をシステムモード用の固定値に設定する処理あるいはスキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６のスキャン入力端子ＳＩに切断点を設定する処理）が不要になり、回路全体を検証対象とした論理等価性検証が可能になる。また、特別な設定処理が不要になることで、論理等価性検証用のＣＡＤツールに対する依存性を解消することができる。
【００２９】
更に、第１ネット置換処理Ｐ３１では、スキャンチェーンＣＨＡＩＮ１（ＣＨＡＩＮ２）に属するスキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６（ＳＦＦ２２〜ＳＦＦ２６）のスキャン入力端子ＳＩのネットが順次置換される際に、スキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６（ＳＦＦ２２〜ＳＦＦ２６）のスキャンチェーンに関する接続関係が正常である否かが順次検証される。従って、スキャンリオーダー前のネットリストＮＬ１に関して、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６間の誤接続を検出することができる。また、第２ネット置換処理Ｐ３２では、スキャンチェーンＣＨＡＩＮ１（ＣＨＡＩＮ２）に属するスキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６（ＳＦＦ２２〜ＳＦＦ２６）のスキャン入力端子ＳＩのネットが順次置換される際に、スキャンフリップフロップＳＦＦ１２〜ＳＦＦ１６（ＳＦＦ２２〜ＳＦＦ２６）のスキャンチェーンに関する従属関係が正常である否かが順次検証される。従って、スキャンリオーダー後のネットリストＮＬ２に関して、スキャンフリップフロップＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６間の誤接続を検出することができる。
【００３０】
以上、本発明について詳細に説明してきたが、前述の実施形態は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態を示す図である。
【図２】スキャンチェーン情報の一例を示す図である。
【図３】半導体集積回路用ＣＡＤシステムの一例を示す図である。
【図４】第１ネット置換処理の詳細を示す図である。
【図５】第１ネット置換処理によるネット置換の様子を示す図である。
【図６】第１ネット置換処理により生成されるネットリストに対応する回路を示す図である。
【図７】第２ネット置換処理の詳細を示す図である。
【図８】第２ネット置換処理によるネット置換の様子を示す図である。
【図９】第２ネット置換処理により生成されるネットリストに対応する回路を示す図である。
【図１０】スキャンリオーダー前のネットリストに対応する回路を示す図である。
【図１１】スキャンリオーダー後のネットリストに対応する回路を示す図である。
【図１２】第１従来手法の概要を示す図（その１）である。
【図１３】第１従来手法の概要を示す図（その２）である。
【図１４】第２従来手法の概要を示す図（その１）である。
【図１５】第２従来手法の概要を示す図（その２）である。
【図１６】第２従来手法の問題点を示す図である。
【符号の説明】
【００３２】
ＣＨＡＩＮ１、ＣＨＡＩＮ２‥スキャンチェーン；ＣＭＢ１〜ＣＭＢ５‥組み合わせ回路；ＣＴＬ１‥ＴＡＰコントローラ；ＣＴＬ２‥ＡＴＰＧ／ＢＩＳＴコントローラ；ＮＬ０〜ＮＬ４‥ネットリスト；Ｐ１‥ＤＦＴ回路挿入処理；Ｐ２‥スキャンリオーダー処理；Ｐ３‥ネット置換処理；Ｐ３１‥第１ネット置換処理；Ｐ３２‥第２ネット置換処理；Ｐ４‥論理等価性検証処理；ＳＣＩ‥スキャンチェーン情報；ＳＦＦ１１〜ＳＦＦ１６、ＳＦＦ２１〜ＳＦＦ２６‥スキャンフリップフロップ
【図１】
2009295015.tif 000003
【図２】
2009295015.tif 000004
【図３】
2009295015.tif 000005
【図４】
2009295015.tif 000006
【図５】
2009295015.tif 000007
【図６】
2009295015.tif 000008
【図７】
2009295015.tif 000009
【図８】
2009295015.tif 000010
【図９】
2009295015.tif 000011
【図１０】
2009295015.tif 000012
【図１１】
2009295015.tif 000013
【図１２】
2009295015.tif 000014
【図１３】
2009295015.tif 000015
【図１４】
2009295015.tif 000016
【図１５】
2009295015.tif 000017
【図１６】
2009295015.tif 000018