(57)【要約】【課題】半導体集積回路のテスト設計時におけるテストポイントの挿入を省力的・効果的に行い、故障検出率を高めることができるテストポイント自動挿入方法を提供する。【解決手段】テストモード信号の値を固定しない場合の第１の２分決定グラフと、テストモード信号をテストモード時の値に固定した場合の第２の２分決定グラフを作成する（Ｐ１、Ｐ２）。第１、第２の２分決定グラフを比較し（Ｐ３）、一致しない場合、第２の２分決定グラフに無いノードを検出し、テストモード信号によりマスクされた信号を特定する（Ｐ４）。選択制御信号としてテストモード信号が与えられるセレクタの入力端子のうち、前記マスクされた信号が入力される組合せ回路の出力信号が与えられる入力端子を探索し（Ｐ５）、前記マスクされた信号から前記入力端子までのセル端子数が設定値以上である場合には、前記入力端子の信号を観測するテストポイントを挿入する（Ｐ６、Ｐ７）。【選択図】図２
2008009827.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを使用し、半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入するテストポイント自動挿入方法であって、
前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、
前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程を有することを特徴とするテストポイント自動挿入方法。
【請求項２】
前記テストポイントを挿入する工程は、前記第２の２分決定グラフには無いノードに対応する前記回路内のノードから前記探索した入力端子までのセル端子数が予め設定された値以上であるか否かを判断する工程を含み、前記セル端子数が前記予め設定された値以上の場合に、前記テストポイントを挿入することを特徴とする請求項１記載のテストポイント自動挿入方法。
【請求項３】
半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入する工程をコンピュータに実行させるテストポイント自動挿入プログラムであって、
前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、
前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程をコンピュータに実行させることを特徴とするテストポイント自動挿入プログラム。
【請求項４】
前記テストポイントを挿入する工程は、前記第２の２分決定グラフには無いノードに対応する前記回路内のノードから前記探索した入力端子までのセル端子数が予め設定された値以上であるか否かを判断する工程を含み、前記セル端子数が前記予め設定された値以上の場合に、前記テストポイントを挿入することを特徴とする請求項３記載のテストポイント自動挿入プログラム。
【請求項５】
前記回路は、順序回路で区切られた回路であることを特徴とする請求項３又は４記載のテストポイント自動挿入プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＳＩＣ（特定用途向け集積回路）等の半導体集積回路のテスト設計時に、半導体集積回路内の回路に観測用フリップフロップであるテストポイント（Test Point）を挿入する場合に使用して好適なテストポイント自動挿入方法及びプログラムに関する。
【背景技術】
【０００２】
図５はＡＳＩＣの出荷までの手順を示すフローチャートである。即ち、ＡＳＩＣの出荷までの手順は、顧客ニーズを受けた後、要求分析（Ｓ１）→システム設計（Ｓ２）→アーキテクチャ・機能設計（Ｓ３）→論理設計（Ｓ４）→テスト設計（Ｓ５）→レイアウト設計（Ｓ６）→製造・テスト（Ｓ７）→出荷（Ｓ８）の順で行われる。
【０００３】
ステップＳ１の「要求分析」は、顧客ニーズが何であるかを調査した上で、システムがどのようなサービスを提供するかを定義し、システム運用に関する制約条件を規定した要求仕様を作成する作業である。ステップＳ２の「システム設計」は、ステップＳ１の「要求分析」で明確にした要求仕様を実現するために必要となるシステムとしての仕様を策定する作業である。
【０００４】
ステップＳ３の「アーキテクチャ・機能設計」は、動作仕様に基づき、回路の動作処理を決定し、回路記述言語で設計を行う作業である。ステップＳ４の「論理設計」は、回路記述言語で表現された論理を論理回路に変換して、所望のテクノロジのライブラリセルにマッピングを行う作業である。ステップＳ５の「テスト設計」は、製造段階でのトランジスタ故障を検出できる回路を設計し、スッテプＳ４の「論理設計」で作成された論理回路に挿入する作業である。
【０００５】
ステップＳ６の「レイアウト設計」は、ステップＳ５までに作成された回路を元に配置・配線を行い、マスクデータを作成する作業である。ステップＳ７の「製造・テスト」は、ステップＳ６の「レイアウト設計」で作成したマスクデータに基づいて試作・評価を行い、ＡＳＩＣを製造する作業である。ステップＳ７の「製造・テスト」の結果、良品と判定されれば、製品としてステップＳ８の「出荷」となる。
【０００６】
出荷テストにおいて故障を検出することができる割合を故障検出率というが、ステップＳ５の「テスト設計」は、ＤＦＴ（Design For Testability：テスト容易化設計）とも呼ばれ、故障検出率の向上を図るための設計手法である。ＡＳＩＣの出荷テストにおいて、ＡＳＩＣの良否を判定する方法としては、テストパターンによる検査方法がある。これは、ＡＳＩＣにテストパターンを入力し、ＡＳＩＣからの出力パターンを期待値パターンと照合して良否を判定する方法である。
【０００７】
出荷テストの手法には様々な手法があるが、その中の一つに、スキャンテストと呼ばれる手法がある。これは、ＡＳＩＣテスト用に作られるフリップフロップをシフトレジスタのように数珠繋ぎにしてテストする方法である。
【０００８】
図６はスキャンテストを説明するための回路図であり、テスト設計後のＡＳＩＣの一部分を示している。図６中、１〜４は論理設計された組合せ回路、５〜８はテスト設計によりスキャンテスト用に挿入されたフリップフロップ、９はＳＩＮ（スキャンイン）端子、１０はＳＯＵＴ（スキャンアウト）端子、１１はＣＬＫ（クロック）入力端子である。
【０００９】
通常動作では、二点鎖線矢印Ａ１で示すように、フリップフロップ５のＤ端子→フリップフロップ５のＱ端子→組合せ回路１→フリップフロップ６のＤ端子→フリップフロップ６のＱ端子→組合せ回路２というパスや、二点鎖線矢印Ａ２で示すように、フリップフロップ７のＤ端子→フリップフロップ７のＱ端子→組合せ回路３→フリップフロップ８のＤ端子→フリップフロップ８のＱ端子というパスで動作する。
【００１０】
これに対して、スキャンテスト時には、テストモード信号により、二点鎖線矢印Ａ３で示すように、ＳＩＮ端子９→フリップフロップ５のＳＩ（スキャンイン）端子→フリップフロップ５のＳＯ（スキャンアウト）端子→フリップフロップ６のＳＩ端子→フリップフロップ６のＳＯ端子→フリップフロップ７のＳＩ端子→フリップフロップ７のＳＯ端子→フリップフロップ８のＳＩ端子→フリップフロップ８のＳＯ端子→ＳＯＵＴ端子１０というパスが形成され、テストパターンデータがフリップフロップ５〜８にセットされる。
【００１１】
そして、フリップフロップ５〜８にセットされたテストパターンデータが組合せ回路１〜４に与えられた後、二点鎖線矢印Ａ３に示すパスに沿ってフリップフロップ５〜８の内容が出力され、この出力パターンと期待値パターンとの照合が行われ、ＡＳＩＣの良否が判定される。
【００１２】
故障検出率は、ＡＳＩＣの内部にある論理セルの端子総数をｎａとし、この中から故障を検出することができる端子数をｎｂとすると、ｎｂ／ｎａで表すことができるが、出荷テストでＡＳＩＣの良否を正しく判定できるようにするために、故障検出率を１００％に近づけることが求められる。故障検出率の向上を図る手段として様々な手段があるが、その中の一つに、一般にテストポイントと呼ばれる観測用フリップフロップを挿入する方法がある。
【００１３】
図７はＡＳＩＣ内の回路にテストポイントを挿入した例を示す回路図である。図７中、２０、２１は論理設計された組合せ回路、２２は選択制御信号としてテストモード信号Ｘｔが与えられるセレクタであり、選択制御信号Ｘｔは、テストモード時には“１”とされる。本例では、セレクタ２２は、テストモード信号Ｘｔ＝“０”の場合には、Ｘ０端子の信号、即ち、組合せ回路２０の出力信号を選択し、テストモード信号Ｘｔ＝“１”の場合には、Ｘ１端子の信号、即ち、組合せ回路２１の出力信号を選択する。
【００１４】
また、２３〜２５はスキャンテスト用のフリップフロップ、２６はＳＩＮ端子、２７はＳＯＵＴ端子であり、フリップフロップ２４は、セレクタ２２のＸ０端子の信号（組合せ回路２０の出力信号）を観測するためにテストポイントとして挿入されたフリップフロップである。
【００１５】
図７に示す回路においては、テストモード信号Ｘt＝“１”とされるテストモード時には、組合せ回路２１の出力信号のみがセレクタ２２のＹ端子に出力され、組合せ回路２０の出力信号はセレクタ２２のＹ端子には出力されない。このため、組合せ回路２０の出力信号が異常であっても、その故障を検出することができないことになり、故障検出率の低下を招くことになる。
【００１６】
そこで、このような場合には、スキャンチェーンの一部をなすテストポイント２４を挿入し、セレクタ２２のＸ０端子をテストポイント２４のＤ端子に接続する。このようにすると、スキャンテスト時にセレクタ２２のＸ０端子の信号を観測することができ、これにより、組合せ回路２０の出力信号の故障検出を行うことができ、故障検出率を高めることができる。
【特許文献１】特開平８−２１２２４７号公報
【特許文献２】特開平６−３４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
従来、設計対象のＡＳＩＣ内の回路にテストポイントを挿入する場合、テストパターンを用いてコンピュータ上でシミュレーションを行い、テストパターンにより故障を検出することができなかった箇所をリストに出力し、このリストを元に、作業者が回路を目視で確認しながら、テストポイントの挿入位置を決めるという方法が採られていた。このテストポイント挿入方法は、回路を目視する必要があるため、非省力的であり、かつ、テストポイント挿入箇所の選定は作業者の主観によるものであるため、作業者の技量により故障検出の効果が左右されるという問題点を有していた。
【００１８】
本発明は、かかる点に鑑み、半導体集積回路のテスト設計時におけるテストポイントの挿入を省力的かつ効果的に行い、故障検出率の向上を図ることができるテストポイント自動挿入方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明のテストポイント自動挿入方法は、コンピュータを使用し、半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入する方法であって、前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程を有するものである。
【００２０】
本発明のテストポイント自動挿入プログラムは、半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入する工程をコンピュータに実行させるプログラムであって、前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程をコンピュータに実行させるものである。
【００２１】
また、本発明のテストポイント自動挿入方法及びプログラムにおいては、前記テストポイントを挿入する工程は、前記第２の２分決定グラフには無いノードに対応する前記回路内のノードから前記探索した入力端子までのセル端子数が予め設定された値以上であるか否かを判断する工程を含み、前記セル端子数が前記予め設定された値以上の場合に、前記テストポイントを挿入するとしても良い。
【発明の効果】
【００２２】
本発明よれば、コンピュータにより、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成し、これら第１、第２の２分決定グラフを比較し、第１、第２の２分決定グラフが一致しない場合には、第２の２分決定グラフには無いノードを検出し、選択制御信号としてテストモード信号が与えられるセレクタの入力端子のうち、テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入することができる。
【００２３】
したがって、従来のように、テストパターンを用いてコンピュータ上でシミュレーションを行い、テストパターンにより故障を検出することができなかった箇所をリストに出力し、このリストを元に、作業者が回路を目視で確認しながら、テストポイントの挿入位置を決めるという工程を必要としない。即ち、本発明によれば、テストポイントを必要な箇所に自動的に挿入することができるので、半導体集積回路のテスト設計時におけるテストポイントの挿入を省力的かつ効果的に行い、故障検出率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２４】
図１は本発明のテストポイント自動挿入方法の一実施形態を実施するための装置の概略的構成図である。この装置はコンピュータからなり、ＣＰＵ（中央制御装置）３０、半導体メモリ３１、マウス３２、キーボード３３、ディスプレイ３４及びハードディスク３５等を備えており、ハードディスク３５には、本発明のテストポイント自動挿入方法の一実施形態の実施に必要なデータ及びプログラム（本発明のテストポイント自動挿入プログラムの一実施形態）等が格納される。
【００２５】
本例の場合、データとしては、設計対象のＡＳＩＣのネットリスト３６が使用され、プログラムとしては、２分決定グラフ作成プログラム３７、２分決定グラフ比較プログラム３８、ノード検出プログラム３９、セレクタ入力端子探索プログラム４０、セル端子数判断プログラム４１及びテストポイント挿入プログラム４２が使用される。
【００２６】
２分決定グラフ作成プログラム３７は、設計対象のＡＳＩＣのネットリスト３６から２分決定グラフを作成するプログラムであり、本例では、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフが作成される。
【００２７】
２分決定グラフ比較プログラム３８は、第１の２分決定グラフと第２の２分決定グラフが一致するか否かを比較するプログラムである。ノード検出プログラム３９は、第１の２分決定グラフにはあるが、第２の２分決定グラフには無いノード、即ち、第１の２分決定グラフ内のノードからテストモード信号によりマスクされたノードを検出するプログラムである。
【００２８】
セレクタ入力端子探索プログラム４０は、第２の２分決定グラフには無いノードに対応するＡＳＩＣの回路内のノード上の信号、即ち、テストモード信号によりマスクされた信号が入力される組合せ回路の接続を解析し、選択制御信号としてテストモード信号が与えられるセレクタの入力端子のうち、テストモード信号によりマスクされた信号が入力される組合せ回路の出力信号が与えられる入力端子を探索するプログラムである。
【００２９】
セル端子数判断プログラム４１は、第２の２分決定グラフには無いノードに対応するＡＳＩＣの回路内のノードから、選択制御信号としてテストモード信号が与えられるセレクタの入力端子までのセル端子数が設計者又はユーザにより予め設定された値以上であるか否かを判断するプログラムである。テストポイント挿入プログラム４２は、テストモード信号によりマスクされた信号が入力される組合せ回路の出力信号を観測するためのテストポイントを挿入するプログラムである。
【００３０】
図２は本発明のテストポイント自動挿入方法の一実施形態を示すフローチャートである。即ち、本発明のテストポイント自動挿入方法の一実施形態を実施する場合には、まず、設計対象のＡＳＩＣのネットリスト３６及び２分決定グラフ作成プログラム３７を使用して、テストモード信号の論理値を固定しない場合の第１の２分決定グラフ４３を作成し、作成した第１の２分決定グラフ４３をハードディスク３５に格納する（ステップＰ１）。
【００３１】
また、設計対象のＡＳＩＣのネットリスト３６及び２分決定グラフ作成プログラム３７を使用して、テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフ４４を作成し、作成した第２の２分決定グラフ４４をハードディスク３５に格納する（ステップＰ２）。
【００３２】
次に、２分決定グラフ比較プログラム３８を使用して、第１の２分決定グラフ４３と第２の２分決定グラフ４４が一致しているか否かを比較する（ステップＰ３）。比較の結果、第１の２分決定グラフ４３と第２の２分決定グラフ４４が一致している場合には、テストポイントを挿入せず、テストポイント自動挿入処理を終了する。
【００３３】
これに対して、第１の２分決定グラフ４３と第２の２分決定グラフ４４が一致しない場合には、設計対象のＡＳＩＣの回路内にテストモード信号によりマスクされる信号が存在するので、ノード検出プログラム３９を使用して、第１の２分決定グラフ４３にはあるが、第２の２分決定グラフ４４には無いノードを検出する（ステップＰ４）。なお、第２の２分決定グラフ４４に無いノードに対応するＡＳＩＣの回路内のノード上の信号がテストモード信号によりマスクされる信号ということになる。
【００３４】
次に、セレクタ入力端子探索プログラム４０を使用して、第２の２分決定グラフ４４に無いノードに対応するＡＳＩＣの回路内のノード上の信号、即ち、テストモード信号によりマスクされた信号が入力される組合せ回路の接続を解析し、選択制御信号としてテストモード信号が与えられるセレクタの入力端子のうち、テストモード信号によりマスクされた信号が入力される組合せ回路の出力信号が与えられる入力端子を探索する（ステップＰ５）。いわば、テストモード信号と、テストモード信号によりマスクされた信号が入力される組合せ回路の出力信号との交点を探索する。
【００３５】
次に、第２の２分決定グラフ４４には無いノードに対応するＡＳＩＣの回路内のノードからステップＰ５で探索したセレクタの入力端子までのセル端子数が設計者又はユーザにより予め設定された値以上であるか否かを判断する（ステップＰ６）。第２の２分決定グラフ４４には無いノードに対応するＡＳＩＣの回路内のノードからステップＰ５で探索したセレクタの入力端子までのセル端子数を予め設定するのは、テストポイントを挿入しても故障検出に効果が少ない場合に、不要にテストポイントを入れないようにするためである。
【００３６】
ステップＰ６における判断の結果、第２の２分決定グラフ４４には無いノードに対応するＡＳＩＣの回路内のノードからステップＰ５で探索したセレクタの入力端子までのセル端子数が予め設定された値以上でない場合には、テストポイントを挿入せず、テストポイント自動挿入処理を終了する。
【００３７】
これに対して、第２の２分決定グラフ４４には無いノードに対応するＡＳＩＣの回路内のノードからステップＰ５で探索したセレクタの入力端子までのセル端子数が予め設定された値以上である場合には、ステップＰ５で探索したセレクタの入力端子の信号を観測するためのテストポイントを挿入する（ステップＰ７）。以上のステップＰ１〜Ｐ７をＡＳＩＣ内の全回路に対して行う。
【００３８】
図３は本発明のテストポイント自動挿入方法の一実施形態を具体的に説明するための回路図であり、設計対象のＡＳＩＣの一部分を示している。図３中、５０〜５５はフリップフロップ、Ｘ１〜Ｘ６はフリップフロップ５０〜５５が出力する信号、５６は信号Ｘ１〜Ｘ４を入力信号とする組合せ回路であり、５７は信号Ｘ１〜Ｘ３をＡＮＤ処理するＡＮＤ回路、５８はＡＮＤ回路５７の出力と信号Ｘ４をＯＲ処理するＯＲ回路、５９は信号Ｘ５、Ｘ６をＡＮＤ処理するＡＮＤ回路である。
【００３９】
また、６０はテストモード信号Ｘｔにより選択動作が制御され、組合せ回路５６の出力信号又はＡＮＤ回路５９の出力信号を選択するセレクタであり、このセレクタ６０は、テストモード信号Ｘｔ＝“０”の場合は、ＯＲ回路５８の出力を選択し、テストモード信号Ｘｔ＝“１”の場合は、ＡＮＤ回路５９の出力を選択する。６１はセレクタ６０の出力信号を取り込むフリップフロップ、６２〜６４はスキャンチェーンを構成するフリップフロップであり、フリップフロップ６３は、テストポイントである。６５はＳＩＮ端子、６６はＳＯＵＴ端子である。
【００４０】
なお、本発明のテストポイント自動挿入方法の一実施形態においては、入力信号と出力信号の関係は、外部端子間だけでなく、フリップフロップとフリップフロップとの間、フリップフロップとラッチ回路との間、ラッチ回路とフリップフロップとの間、フリップフロップとグローバル・クロック・バッファとの間など、順序回路と順序回路との間で区切ることができる。２分決定グラフを作成する場合も、この区切りで作成される。
【００４１】
ここで、図３に示す回路に本発明のテストポイント自動挿入方法の一実施形態を適用すると、まず、図３に示す回路について、テストモード信号Ｘｔの論理値を固定しない場合の第１の２分決定グラフが作成されるが（ステップＰ１）、この場合に作成される第１の２分決定グラフは、図４（Ａ）に示すようになる。なお、２分決定グラフを作成する場合には、テストモード信号Ｘｔを始点として作成する。
【００４２】
次に、テストモード信号Ｘｔの論理値をテストモード時の値である“１”に固定した場合の第２の２分決定グラフが作成されるが（ステップＰ２）、この場合に作成される第２の２分決定グラフは、図４（Ｂ）に示すようになる。なお、この場合の２分決定グラフは、破線で示すパスが存在しない状態になっている。
【００４３】
次に、図４（Ａ）に示す第１の２分決定グラフと図４（Ｂ）に示す第２の２分決定グラフが一致しているか否かが比較されるが（ステップＰ３）、図４（Ｂ）に示す第２の２分決定グラフにおける破線のパスが差分として存在することになる。この比較の結果、ノードＮＡ１〜ＮＡ４が第２の２分決定グラフに無いノードであり、図３に示す信号Ｘ１〜Ｘ４がテストモード信号Ｘｔによりマスクされており、故障検出ができなくなっている信号であるということになる。
【００４４】
次に、テストモード信号Ｘｔによりマスクされた信号Ｘ１〜Ｘ４が入力される組合せ回路５６の接続が解析され、セレクタ６０の入力端子のうち、組合せ回路５６の出力信号が与えられる入力端子が探索されるが（ステップＰ５）、この場合、入力端子Ｑ６が探索され、入力端子Ｑ６がテストポイントのＤ端子を接続する候補となる。
【００４５】
次に、図４（Ｂ）に示す第２の２分決定グラフには無いノードＮＡ１〜ＮＡ４に対応するＡＳＩＣの回路内のノードＮＢ１〜ＮＢ４からステップＰ５で探索したセレクタ６０の入力端子Ｑ６までの組合せ回路５６内のセル端子数が予め設定された値以上であるか否かが判断されるが（ステップＰ６）、本例では、組合せ回路５６内のセル端子は、Ｑ１〜Ｑ５であり、組合せ回路５６内のセル端子数は５である。
【００４６】
したがって、セル端子数＝５が予め設定された値未満の場合には、テストポイントを挿入しないで、テストポイント自動挿入処理を終了し、セル端子数＝５が予め設定された値以上の場合には、テストポイント６３を挿入し、テストポイント６３のＤ端子を入力端子Ｑ６に接続して処理を終了する。
【００４７】
以上のように、本発明のテストポイント自動挿入方法の一実施形態においては、図１に示すコンピュータからなる装置と、設計対象のＡＳＩＣのネットリスト３６及び本発明のテストポイント自動挿入プログラムの一実施形態を構成するプログラム（２分決定グラフ作成プログラム３７、２分決定グラフ比較プログラム３８、ノード検出プログラム３９、セレクタ入力端子探索プログラム４０、セル端子数判断プログラム４１及びテストポイント挿入プログラム４２）が使用される。
【００４８】
そして、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成し、これら第１、第２の２分決定グラフを比較し、第１、第２の２分決定グラフが一致しない場合には、第２の２分決定グラフには無いノードを検出し、選択制御信号としてテストモード信号が与えられるセレクタの入力端子のうち、テストモード信号の論理値をテストモード時の値に固定した場合にマスクされた信号が入力される組合せ回路の出力信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するテストポイントを挿入するとしている。
【００４９】
したがって、従来のように、テストパターンを用いてコンピュータ上でシミュレーションを行い、テストパターンにより故障を検出することができなかった箇所をリストに出力し、このリストを元に、作業者が回路を目視で確認しながら、テストポイントの挿入位置を決めるという工程を必要としない。即ち、本発明のテストポイント自動挿入方法の一実施形態によれば、テストポイントを必要な箇所に自動的に挿入することができるので、半導体集積回路のテスト設計時におけるテストポイントの挿入を省力的かつ効果的に行い、故障検出率の向上を図ることができる。
【００５０】
ここで、本発明を整理すると、本発明には、少なくとも、以下のテストポイント自動挿入方法及びプログラムが含まれる。
【００５１】
（付記１）コンピュータを使用し、半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入するテストポイント自動挿入方法であって、前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程を有することを特徴とするテストポイント自動挿入方法。
【００５２】
（付記２）前記テストポイントを挿入する工程は、前記第２の２分決定グラフには無いノードに対応する前記回路内のノードから前記探索した入力端子までのセル端子数が予め設定された値以上であるか否かを判断する工程を含み、前記セル端子数が前記予め設定された値以上の場合に、前記テストポイントを挿入することを特徴とする付記１記載のテストポイント自動挿入方法。
【００５３】
（付記３）前記回路は、順序回路で区切られた回路であることを特徴とする付記１又は２記載のテストポイント自動挿入方法。
【００５４】
（付記４）半導体集積回路のテスト設計時に、該半導体集積回路内の回路にテストポイントを自動挿入する工程をコンピュータに実行させるテストポイント自動挿入プログラムであって、前記回路について、テストモード信号の論理値を固定しない場合の第１の２分決定グラフと、前記テストモード信号の論理値をテストモード時の値に固定した場合の第２の２分決定グラフを作成する工程と、前記第１、第２の２分決定グラフを比較し、前記第１、第２の２分決定グラフが一致しない場合には、前記第２の２分決定グラフには無いノードを検出し、選択制御信号として前記テストモード信号が与えられるセレクタの入力端子のうち、前記テストモード信号の論理値をテストモード時の値に固定した場合に伝播されなくなる信号が与えられる入力端子を探索し、該探索した入力端子の信号を観測するためのテストポイントを挿入する工程をコンピュータに実行させることを特徴とするテストポイント自動挿入プログラム。
【００５５】
（付記５）前記テストポイントを挿入する工程は、前記第２の２分決定グラフには無いノードに対応する前記回路内のノードから前記探索した入力端子までのセル端子数が予め設定された値以上であるか否かを判断する工程を含み、前記セル端子数が前記予め設定された値以上の場合に、前記テストポイントを挿入することを特徴とする付記４記載のテストポイント自動挿入プログラム。
【００５６】
（付記６）前記回路は、順序回路で区切られた回路であることを特徴とする付記４又は５記載のテストポイント自動挿入プログラム。
【図面の簡単な説明】
【００５７】
【図１】本発明のテストポイント自動挿入方法の一実施形態を実施するための装置の概略的構成図である。
【図２】本発明のテストポイント自動挿入方法の一実施形態を示すフローチャートである。
【図３】本発明のテストポイント自動挿入方法の一実施形態を具体的に説明するための回路図である。
【図４】図３に示す回路の２分決定グラフを示す図である。
【図５】ＡＳＩＣの出荷までの手順を示すフローチャートである。
【図６】スキャンテストを説明するための回路図である。
【図７】ＡＳＩＣ内の回路にテストポイントを挿入した例を示す回路図である。
【符号の説明】
【００５８】
１〜４…組合せ回路
５〜８…フリップフロップ
９…ＳＩＮ（スキャンイン）端子
１０…ＳＯＵＴ（スキャンアウト）端子
１１…ＣＬＫ（クロック）端子
２０、２１…組合せ回路
２２…セレクタ
２３〜２５…フリップフロップ
２６…ＳＩＮ端子
２７…ＳＯＵＴ端子
３０…ＣＰＵ
３１…半導体メモリ
３２…マウス
３３…キーボード
３４…ディスプレイ
３５…ハードディスク
３６…ネットリスト
３７…２分決定グラフ作成プログラム
３８…２分決定グラフ比較プログラム
３９…ノード検出プログラム
４０…セレクタ入力端子探索プログラム
４１…セル端子数判断プログラム
４２…テストポイント挿入プログラム
４３…第１の２分決定グラフ
４４…第２の２分決定グラフ
５０〜５５…フリップフロップ
５６…組合せ回路
５７…ＡＮＤ回路
５８…ＯＲ回路
５９…ＡＮＤ回路
６０…セレクタ
６１〜６４…フリップフロップ
６５…ＳＩＮ端子
６６…ＳＯＵＴ端子
【図１】
2008009827.tif 000003
【図２】
2008009827.tif 000004
【図３】
2008009827.tif 000005
【図４】
2008009827.tif 000006
【図５】
2008009827.tif 000007
【図６】
2008009827.tif 000008
【図７】
2008009827.tif 000009