(57)【要約】【課題】最適な規模を有し、スキャンテストの際の処理効率およびテストコストに優れた集積回路を設計可能なテスト容易化設計方法を得ること。【解決手段】下位階層回路内に配置され出力が上位階層回路と未接続であるスキャン機能を有する記憶素子を検索する工程と、下位階層回路内において、検索された記憶素子をスキャンパス接続対象外と認識し、その他のスキャン機能を有する記憶素子をスキャンパス接続対象として選択する工程と、スキャンパス接続対象として選択されたスキャン機能を有する記憶素子のみをスキャンパス接続してスキャンパスを生成する工程とを有する。【選択図】        図３
2004348449.tif 000002
【特許請求の範囲】
【請求項１】
上位階層回路と下位階層回路とからなる階層構造を有する半導体集積回路のスキャンテスト用のスキャンパスを生成するテスト容易化設計方法であって、
前記下位階層回路内に配置され出力が前記上位階層回路と未接続であるスキャン機能を有する記憶素子を検索する工程と、
前記下位階層回路内において、前記検索された記憶素子をスキャンパス接続対象外と認識し、その他のスキャン機能を有する記憶素子をスキャンパス接続対象として選択する工程と、
前記スキャンパス接続対象として選択されたスキャン機能を有する記憶素子のみをスキャンパス接続してスキャンパスを生成する工程と
を有することを特徴とするテスト容易化設計方法。
【請求項２】
前記半導体集積回路のセルライブラリを解析して、出力が前記上位階層回路と未接続であり且つスキャン機能を有さない記憶素子を検索して抽出する工程と、
前記スキャンパス接続対象外のスキャン機能を有する記憶素子を前記抽出された記憶素子に変換する工程と
を有することを特徴とする請求項１に記載のテスト容易化設計方法。
【請求項３】
前記スキャン機能を有する記憶素子がスキャンフリップフロップであること
を特徴とする請求項１または請求項２に記載のテスト容易化設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階層的に記述されたゲートレベルネットリストから最適なスキャンパスおよび最適な半導体集積回路を生成するテスト容易化方法に関するものであり、特に、不要なスキャンフリップフロップをスキャンパスから除外してスキャンパスを生成するテスト容易化設計方法に関するものである。
【０００２】
【従来の技術】
ＬＳＩの製造後テストでのテストパターン、即ち論理ＬＳＩテスタで使うテストパターンを自動生成するＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ａｕｔｏｍａｔｉｏｎ）ツールとして、従来からＡＴＰＧが広く用いられている。ＡＴＰＧは、上記集積回路のゲートレベルネットリストを入力データとする。ＬＳＩ設計者は、ＡＴＰＧを利用することにより、故障検出率の高いテストパターンを手作業で開発する手間を省くことができる。
【０００３】
しかし、現在のＡＴＰＧに係る技術レベルでは、ＡＴＰＧは全ての集積回路に対して完全に対応可能な状態ではない。すなわち、組合せ回路（内部にフリップフロップを有さない回路）に対しては十分実用化が進み、大規模の回路に対してもＡＴＰＧを適用可能となっている。しかしながら、順序回路（内部にフリップフロップを有する回路）の場合には、扱える回路規模や回路の種類に制限がある。そこで、このため、近年ではＡＴＰＧを用いる場合にスキャンパステスト法を併用することが一般的に行われている。
【０００４】
スキャンパステスト法は、組合せ回路部と順序回路部とから構成された集積回路において、集積回路中の複数のフリップフロップ（以下、「Ｆ／Ｆ」と称する場合がある。）をスキャンフリップフロップ（以下、「ＳＦ／Ｆ」と称する場合がある。）に置き換える。そして、これらのスキャンフリップフロップをシフトレジスタのように連結して（以下、「スキャンパス」と称する。）外部端子からテスト信号を入力し、残部である組合せ回路部の動作結果をシフトレジスタ化したＳＦ／Ｆを介して読み出すことによってテスト容易化を図るものである。このようにスキャンパステスト法をＡＴＰＧと併用することにより、ＡＴＰＧの有効利用範囲はさらに広まる。
【０００５】
【特許文献１】
特開平８−１８４６４７号公報（第４頁−第６頁）
【０００６】
【発明が解決しようとする課題】
ところで、上記スキャンパステスト法を採用する場合においては、回路規模の増大とこれに伴う処理効率の低下が問題となる。スキャンパステスト法では、大別してスキャンパスの設計方法としてフルスキャン設計法とパーシャルスキャン設計法がある。パーシャルスキャン設計法においては、フリップフロップ回路をスキャン機能付きフリップフロップ回路に置き換える判断基準を設けることにより回路規模と処理効率との均衡を改善したものがある（例えば特許文献１参照）。
【０００７】
しかし、フルスキャン設計法は、ＡＴＰＧを実行するときに全てのＦ／ＦをＳＦ／Ｆに置き換えるため、回路規模がかなり増大するという欠点を有する。
【０００８】
例えば、階層的に記述されたゲートレベルネットリストでは、下位階層ブロックのあるＦ／Ｆが直接またはＦ／Ｆ以外のゲートを介してそのブロックの出力ポートに接続されているが、その出力が上位階層ブロックでは使用されない場合がある。
【０００９】
この場合、Ｆ／Ｆ、当該Ｆ／Ｆと出力ポートとの間にあるゲート及びその出力信号が号外Ｆ／Ｆにしか伝播しないゲートは、上位階層ブロックの故障には無関係である。したがって、本来は、これらのゲートは前記の下位階層ブロックにおいては故障検出対象外となるべき部分である。
【００１０】
しかしながら、従来においては、特に指定しない限りは回路内に存在する全てのＦ／Ｆに対してスキャンパスを生成してテストを行っている。すなわち、下位階層ブロックにおける故障検出対象であるか否かに関係なくスキャンパスを生成してテストを行っている。このため、これらの故障対象外となるべきＦ／Ｆもスキャンパスの対象となってしまう。
【００１１】
これにより、スキャンパターンにおけるシフト動作回数が増加してしまうばかりでなく、不要な回路に対するスキャンパターンを生成しなくてはならないため、スキャンパターン数およびスキャンパターン長が不必要に多くなってしまう。その結果、テスト時間が長くなり処理効率が低下し、テストコストが上昇してしまうという問題がある。
【００１２】
この発明は上記に鑑みてなされたもので、最適な規模を有し、スキャンテストの際の処理効率およびテストコストに優れた集積回路を設計可能なテスト容易化設計方法を得ることを目的としている。
【００１３】
【課題を解決するための手段】
上記目的を達成するためこの発明にかかるテスト容易化設計方法は、上位階層回路と下位階層回路とからなる階層構造を有する半導体集積回路のスキャンテスト用のスキャンパスを生成するテスト容易化設計方法であって、下位階層回路内に配置され出力が上位階層回路と未接続であるスキャン機能を有する記憶素子を検索する工程と、下位階層回路内において、検索された記憶素子をスキャンパス接続対象外と認識し、その他のスキャン機能を有する記憶素子をスキャンパス接続対象として選択する工程と、スキャンパス接続対象として選択されたスキャン機能を有する記憶素子のみをスキャンパス接続してスキャンパスを生成する工程とを有することを特徴とする。
【００１４】
この発明によれば、上位階層回路の故障検出に不要な回路および配線を削除してスキャンテストに最適なスキャンパスを生成するため、必要以上に回路規模が大きくなることがなく、回路面積を削減して回路規模を縮小することが可能である。
【００１５】
また、上位階層回路の故障検出に不要な回路および配線を削除してスキャンパスを生成するため、スキャンテストの際に不要なスキャンパターンを生成する必要が無い。したがって、少ないスキャンパターン数およびスキャンパターン長により短時間で回路の故障検出が可能な処理効率に優れたスキャンパスを実現できる。これにより、スキャンテストに費やされるテストコストを削減する効果を有する。
【００１６】
また、スキャン接続するか否かを予めネットリストを用いて判断するため、不要なスキャン動作を実行することがなく、全体として高速動作が可能となり、半導体集積回路の開発期間の短縮に寄与し得る。
【００１７】
したがって、この発明によれば、回路規模が小さく最適な規模の集積回路を得ることができるともにスキャンテストの際の処理効率およびテストコストに優れた集積回路を得ることができるという効果を奏する。
【００１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるテスト容易化設計方法の好適な実施の形態を詳細に説明する。
【００１９】
実施の形態１．
図１は、本発明を実現するテスト容易化設計装置のハードウエア構成の一形態を示すものである。該装置は、ＬＳＩ設計におけるＣＡＤシステムを搭載した、例えばＵＮＩＸ（Ｒ）計算機２である。図１において、本発明を実現するテスト容易化設計装置に係るソフトウエアは、記憶装置４に格納されており、システムユーザの要求に応じてＣＰＵ６によりメモリ８に搭載され、外部からキーボード１２を介して入力される制御コマンドやマウス装置１４の動作指示に従い、ＣＰＵ６、メモリ８にて稼動し、所定の情報をディスプレイ装置１０に表示する。後で説明する論理回路情報（ネットリスト）などの磁気信号化情報は、記憶装置４に保持されており、本発明を実現するテスト容易化設計装置に係るソフトウエアの要求、又はユーザの要求に応じて、ＣＰＵ６により、メモリ８に搭載され、若しくはメモリ８にて変更され、再び記憶装置４に保持される。
【００２０】
また、本実施の形態にかかるテスト容易化設計装置は、図２に示すようにテスト容易化部２０としてＳＦ／Ｆ検索部２２と、ＳＦ／Ｆ選択部２４と、スキャン経路接続部２６との機能を備えて構成されており、これらはコンピュータプログラムとして記憶装置４に記憶され、メモリ８へロードされ、ＣＰＵ６により実行する。
【００２１】
ＳＦ／Ｆ検索部２２では、後述するように、階層的に構成されているＬＳＩの論理回路情報（ネットリスト）のデータの初めから最後までにわたり、全ＳＦ／Ｆに対して前方検索を行う。ここでの検索要件は、下位階層回路である下位階層ブロックにおけるＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層回路である上位階層ブロックに接続されていないことである。すなわち、ＳＦ／Ｆ検索部２２では、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに未接続であるＳＦ／Ｆを自動的に探し出す。
【００２２】
ＳＦ／Ｆ選択部２４では、ＳＦ／Ｆ検索部２２において検索要件に該当するＳＦ／Ｆが見つかった場合に、該当するＳＦ／Ｆをスキャンパスの接続対象外と認識してスキャンパスの接続対象から除外する。そして、論理回路情報に含まれる全ＳＦ／Ｆから検索要件に該当しないＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００２３】
すなわち、下位階層ブロックにおける出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００２４】
スキャン経路接続部２６では、ＳＦ／Ｆ選択部２４で選択されたスキャンパスの接続対象となるＳＦ／Ｆのみを接続してスキャンパスを生成する。
【００２５】
次に、以上のように構成されたテスト容易化設計装置を用いたテスト容易化設計方法を説明する。
【００２６】
図３は、本実施の形態にかかるテスト容易化設計装置の処理フローを示したフローチャートである。当該フローチャートには、半導体集積回路の論理回路情報を読み込む処理から、スキャンパス接続を行うまでの処理までを含む。
【００２７】
まず、上位階層の下に下位階層が形成され階層的に構成されている半導体集積回路のゲートレベルの論理回路情報（ネットリスト）を読み込む（Ｓ１０１）。
【００２８】
次に、ＳＦ／Ｆ検索部２２において、読み込んだ論理回路情報における全ＳＦ／Ｆに対して情報データの最初から最後にわたって前方検索を行う（Ｓ１０２）。ここで、Ｆ／Ｆは、全てのＦ／ＦがＳＦ／Ｆに置き換えられたものである。
【００２９】
全ＳＦ／Ｆに対する前方検索において、該ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているか否かをチェックする（Ｓ１０３）。
【００３０】
ここで、全てのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている場合には（Ｓ１０３肯定）、全てのＳＦ／Ｆをスキャンパスの接続対象として選択する。そして、スキャン経路接続部２６において全ＳＦ／Ｆに対してスキャンパスを接続する（Ｓ１０４）。
【００３１】
また、いずれかのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに未接続である場合には（Ｓ１０３否定）、ＳＦ／Ｆ選択部２４において該当するＳＦ／Ｆ、すなわち、出力が上位階層ブロックに接続されていないＳＦ／Ｆをスキャンパスの接続対象外と認識してスキャンパスの接続対象から除外する（Ｓ１０５）。また、出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００３２】
そして、スキャン経路接続部２６において、スキャンパスの接続対象となるＳＦ／Ｆのみをスキャンパス接続し、スキャンパスを生成する（Ｓ１０６）。
【００３３】
次に、上述したテスト容易化設計方法を、回路図を用いて具体的に説明する。
【００３４】
図４は、半導体集積回路の一例を示した図である。図４においては、上位階層であるＴＯＰモジュール（ブロックＴＯＰ）内に、下位階層ブロックＸおよび下位階層ブロックＹが存在する。
【００３５】
また、下位階層ブロックＸ内には、回路Ａ、回路Ｂ、回路Ｃ、回路Ｄ、回路Ｅ、スキャン機能を有する記憶素子であるスキャンフリップフロップ（ＳＦ／Ｆ）１、ＳＦ／Ｆ２、ＳＦ／Ｆ３が配置されている。ここでは、下位階層ブロックＸに着目したＴＯＰモジュールの故障検出について説明する。
【００３６】
ここで、ＳＦ／Ｆ１からの出力は、回路Ｄを介して下位階層ブロックＸの出力ピンＯＵＴ１に接続され、下位階層ブロックＹの入力ピンＩＮ１に入力され、さらに下位階層ブロックＹの出力ピンＯＵＴ４を介してＴＯＰモジュールの出力ピンＯＵＴ６に接続される。
【００３７】
また、ＳＦ／Ｆ３からの出力は、下位階層ブロックＸの出力ピンＯＵＴ３に接続され、下位階層ブロックＹの入力ピンＩＮ２に入力され、さらに下位階層ブロックＹの出力ピンＯＵＴ５を介してＴＯＰモジュールの出力ピンＯＵＴ７に接続される。
【００３８】
一方、ＳＦ／Ｆ２に着目すると、ＳＦ／Ｆ２には回路Ｂからの出力が入力され、該ＳＦ／Ｆ２からの出力は回路Ｅを介して下位階層ブロックＸの出力ピンＯＵＴ２に接続される。しかしながら、ＯＵＴ２は上位階層レベルにおいてはＴＯＰモジュールの出力ピンのいずれにも接続されていない。したがって、回路Ｂ、ＳＦ／Ｆ２及び回路Ｅの故障の有無は、下位階層ブロックＸに着目したＴＯＰモジュールの故障検出においてはＴＯＰモジュールの故障には影響を及ぼすことが無く、無関係である。
【００３９】
すなわち、回路Ｂ、ＳＦ／Ｆ２及び回路Ｅは、下位階層ブロックＸに着目してＴＯＰモジュールの故障検出を行う際には、下位階層ブロックＸ内においては故障検出の対象とはならない。その結果、下位階層ブロックＸに着目したＴＯＰモジュールの故障検出においては、回路Ｂ、ＳＦ／Ｆ２及び回路Ｅは不要な回路と見なすことができる。
【００４０】
そこで、本実施の形態においては、回路Ｂ、ＳＦ／Ｆ２及び回路Ｅを除外してスキャンパスを生成する。以下、回路Ｂ、ＳＦ／Ｆ２及び回路Ｅを除外してスキャンパスを生成する方法を説明する。
【００４１】
まず、階層的に構成されているＬＳＩの論理回路情報（ネットリスト）を読み込む（Ｓ１０１）。該論理回路情報には、上位階層であるＴＯＰモジュール内に下位階層ブロックＸ、下位階層ブロックＹが配され、該下位階層ブロックＸ内に下位階層ブロックＸ内には、回路Ａ、回路Ｂ、回路Ｃ、回路Ｄ、回路Ｅ、スキャン機能を有する記憶素子であるスキャンフリップフロップ（ＳＦ／Ｆ）１、ＳＦ／Ｆ２、ＳＦ／Ｆ３が配置されているという情報が含まれている。
【００４２】
次に、ＳＦ／Ｆ検索部２２において、読み込んだ論理回路情報に含まれる全ＳＦ／Ｆに対して情報データの最初から最後にわたって前方検索を行う（Ｓ１０２）。この場合の対象は、ＳＦ／Ｆ１、ＳＦ／Ｆ２及びＳＦ／Ｆ３である。また、ＳＦ／Ｆ１、ＳＦ／Ｆ２及びＳＦ／Ｆ３は、Ｆ／ＦがＳＦ／Ｆに置き換えられたものである。
【００４３】
ＳＦ／Ｆに対する検索においては、該ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているか否かをチェックする（Ｓ１０３）。全てのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている場合には（Ｓ１０３肯定）、全ＳＦ／Ｆに対してスキャンパスを接続する（Ｓ１０４）。
【００４４】
この半導体集積回路の場合、ＳＦ／Ｆ１及びＳＦ／Ｆ３は、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている（Ｓ１０３肯定）。しかしながら、ＳＦ／Ｆ２に関しては、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されているが、該出力ポートが上位階層ブロックに接続されていない（Ｓ１０３否定）。
【００４５】
そこで、ＳＦ／Ｆ選択部２４において、出力が上位階層ブロックに接続されていないＳＦ／Ｆ、すなわち、ＳＦ／Ｆ２をスキャンパスの接続対象外として認識してスキャンパスの接続対象から除外する（Ｓ１０５）。また、出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみ、すなわちＳＦ／Ｆ１及びＳＦ／Ｆ３のみをスキャンパスの接続対象として選択する。
【００４６】
そして、スキャン経路接続部２６において、スキャンパスの接続対象となるＳＦ／Ｆ、すなわちＳＦ／Ｆ１およびＳＦ／Ｆ３のみを図５に示すようにスキャンパス接続し、スキャンパス３０を生成する（Ｓ１０６）。
【００４７】
以上説明したように、本実施の形態にかかるテスト容易化設計方法およびテスト容易化設計装置によれば、上位階層回路の故障検出に不要な回路および配線を削除してスキャンテストに最適なスキャンパスを生成するため、必要以上に回路規模が大きくなることがなく、回路面積を小さくし、回路規模を縮小することが可能である。
【００４８】
また、上位階層回路の故障検出に不要な回路および配線を削除してスキャンパスを生成するため、スキャンテストの際に不要なスキャンパターンを生成する必要が無い。したがって、少ないスキャンパターン数およびスキャンパターン長により短時間で回路の故障検出が可能な処理効率に優れたスキャンパスを実現できる。これにより、スキャンテストに費やされるテストコストを削減することができる。
【００４９】
また、スキャン接続するか否かを予めネットリストを用いて判断するため、不要なスキャン動作を実行することがなく、全体として高速動作が可能となり、半導体集積回路の開発期間の短縮に寄与し得る。
【００５０】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。図６は、本発明を実現するテスト容易化設計装置のハードウエア構成の一形態を示すものである。該装置は、ＬＳＩ設計におけるＣＡＤシステムを搭載した、例えばＵＮＩＸ（Ｒ）計算機１０２である。図６において、本発明を実現するテスト容易化設計装置に係るソフトウエアは、記憶装置１０４に格納されており、システムユーザの要求に応じてＣＰＵ１０６によりメモリ１０８に搭載され、外部からキーボード１１２を介して入力される制御コマンドやマウス装置１１４の動作指示に従い、ＣＰＵ１０６、メモリ１０８にて稼動し、所定の情報をディスプレイ装置１１０に表示する。後で説明する論理回路情報（ネットリスト）などの磁気信号化情報は、記憶装置１０４に保持されており、本発明を実現するテスト容易化設計装置に係るソフトウエアの要求、又はユーザの要求に応じて、ＣＰＵ１０６により、メモリ１０８に搭載され、若しくはメモリ１０８にて変更され、再び記憶装置１０４に保持される。
【００５１】
また、本発明にかかるテスト容易化設計装置は、図７に示すようにテスト容易化部１２０としてＳＦ／Ｆ検索部１２２と、ＳＦ／Ｆ選択部１２４と、スキャン経路接続部１２６との機能を備えて構成されており、これらはコンピュータプログラムとして記憶装置１０４に記憶され、メモリ１０８へロードされ、ＣＰＵ１０６により実行する。
【００５２】
ＳＦ／Ｆ検索部１２２では、階層的に構成されているＬＳＩの論理回路情報（ネットリスト）のデータの初めから最後までにわたり、全ＳＦ／Ｆに対して前方検索を行う。ここでの検索要件は、下位階層ブロックにおけるＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されていないことである。すなわち、ＳＦ／Ｆ検索部１２２では、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されていないＳＦ／Ｆを自動的に探し出す。
【００５３】
ＳＦ／Ｆ選択部１２４では、ＳＦ／Ｆ検索部１２２において検索要件に該当するＳＦ／Ｆが見つかった場合に、該当するＳＦ／Ｆをスキャンパスの接続対象外として認識してスキャンパスの接続対象から除外する。そして、論理回路情報に含まれる全ＳＦ／Ｆから検索要件に該当しないＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００５４】
すなわち、下位階層ブロックにおける出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００５５】
スキャン経路接続部１２６では、ＳＦ／Ｆ選択部１２４で選択されたスキャンパスの接続対象となるＳＦ／Ｆのみを接続してスキャンパスを生成する。
【００５６】
Ｆ／Ｆ機能解析部１２８では、上位階層ブロックで用いるセルライブラリ内の各Ｆ／Ｆの機能を解析し、その中にＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆとの機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在するか否かを検索、抽出する。すなわち、セルライブラリ内の各Ｆ／Ｆの機能を解析し、出力が上位階層ブロックと未接続であり且つスキャン機能を有さないＤＦ／Ｆを検索して抽出する。
【００５７】
Ｆ／Ｆ変換部１３０では、Ｆ／Ｆ機能解析部１２８における解析、検索の結果、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆとの機能の差異がスキャン機能の有無のみであるＤＦ／Ｆが存在した場合に、該ＳＦ／ＦをＤＦＦに変換する。すなわち、スキャンパス接続対象外のＳＦ／Ｆを、Ｆ／Ｆ機能解析部１２８抽出されたＤＦ／Ｆに変換する。
【００５８】
次に、以上のように構成されたテスト容易化設計装置を用いたテスト容易化設計方法を説明する。
【００５９】
図８は、本実施の形態にかかるテスト容易化設計装置の処理フローを示したフローチャートである。当該フローチャートには、ＬＳＩの論理回路情報を読み込む処理から、スキャンパス接続を行うまでの処理までを含む。
【００６０】
まず、上位階層の下に下位階層が形成され階層的に構成されているＬＳＩの論理回路情報（ネットリスト）を読み込む（Ｓ２０１）。
【００６１】
次に、ＳＦ／Ｆ検索部１２２において、読み込んだ論理回路情報における全ＳＦ／Ｆに対して情報データの最初から最後にわたって前方検索を行う（Ｓ２０２）。ここで、Ｆ／Ｆは、全てのＦ／ＦがＳＦ／Ｆに置き換えられたものである。
【００６２】
全ＳＦ／Ｆに対する前方検索において、該ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているか否かをチェックする（Ｓ２０３）。
【００６３】
ここで、全てのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている場合には（Ｓ２０３肯定）、全てのＳＦ／Ｆをスキャンパスの接続対象として選択する。そして、スキャン経路接続部１２６において全ＳＦ／Ｆに対してスキャンパスを接続する（Ｓ２０４）。
【００６４】
また、いずれかのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに未接続である場合には（Ｓ２０３否定）、ＳＦ／Ｆ選択部１２４において該当するＳＦ／Ｆ、すなわち、出力が上位階層ブロックに接続されていないＳＦ／Ｆをスキャンパスの接続対象外として認識してスキャンパスの接続対象から除外する（Ｓ２０５）。また、出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみをスキャンパスの接続対象として選択する。
【００６５】
次に、Ｆ／Ｆ機能解析部１２８において、上位階層ブロックで用いるセルライブラリ内の各Ｆ／Ｆの機能を解析する。そして、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆとの機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在するか否かを検索し、抽出する（Ｓ２０６）。
【００６６】
スキャンパステスト法を採用する場合にスキャン機能を有する記憶素子であるスキャンフリップフロップを用いるのは、スキャンパスを接続するためである。このため、スキャンパス接続対象外となったＳＦ／Ｆはスキャン機能を備えている必要がなく、スキャンパスの接続対象外となったＳＦ／ＦはＦ／Ｆに変換することが可能である。
【００６７】
ここで、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆとの機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在しない場合は（Ｓ２０７否定）、ＳＦ／Ｆ選択部１２４で選択したスキャンパスの接続対象となるＳＦ／Ｆのみをスキャン経路接続部１２６においてスキャンパス接続し、スキャンパスを生成する（Ｓ２０９）。
【００６８】
また、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆとの機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在した場合は（Ｓ２０７肯定）、Ｆ／Ｆ変換部１３０において、該ＳＦ／ＦをＤＦＦに変換する（Ｓ２０８）。これにより、スキャン機能を付与する不要な回路を削減することができ、回路面積を小さくすることができる。
【００６９】
そして、ＳＦ／Ｆ選択部１２４で選択したスキャンパスの接続対象となるＳＦ／Ｆのみをスキャン経路接続部１２６においてスキャンパス接続し、スキャンパスを生成する（Ｓ２０９）。
【００７０】
次に、上述したテスト容易化設計方法を、上記において説明した図４に示す回路図を用いて具体的に説明する。
【００７１】
図４は、前述したように半導体集積回路の一例を示した図であり、図４においては、上位階層であるＴＯＰモジュール（ブロックＴＯＰ）内に、下位階層ブロックＸおよび下位階層ブロックＹが存在する。
【００７２】
また、下位階層ブロックＸ内には、回路Ａ、回路Ｂ、回路Ｃ、回路Ｄ、回路Ｅ、スキャン機能を有する記憶素子であるスキャンフリップフロップ（ＳＦ／Ｆ）１、ＳＦ／Ｆ２、ＳＦ／Ｆ３が配置されている。
【００７３】
まず、階層的に構成されているＬＳＩの論理回路情報（ネットリスト）を読み込む（Ｓ２０１）。該論理回路情報には、上位階層であるＴＯＰモジュール内に下位階層ブロックＸ、下位階層ブロックＹが配され、該下位階層ブロックＸ内に下位階層ブロックＸ内には、回路Ａ、回路Ｂ、回路Ｃ、回路Ｄ、回路Ｅ、スキャン機能を有する記憶素子であるスキャンフリップフロップ（ＳＦ／Ｆ）１、ＳＦ／Ｆ２、ＳＦ／Ｆ３が配置されているという情報が含まれている。
【００７４】
次に、ＳＦ／Ｆ検索部１２２において、読み込んだ論理回路情報に含まれる全ＳＦ／Ｆに対して情報データの最初から最後にわたって前方検索を行う（Ｓ２０２）。この場合の対象は、ＳＦ／Ｆ１、ＳＦ／Ｆ２及びＳＦ／Ｆ３である。また、ＳＦ／Ｆ１、ＳＦ／Ｆ２及びＳＦ／Ｆ３は、Ｆ／ＦがＳＦ／Ｆに置き換えられたものである。
【００７５】
ＳＦ／Ｆに対する検索においては、該ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているか否かをチェックする（Ｓ２０３）。全てのＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている場合には（Ｓ２０３肯定）、全ＳＦ／Ｆに対してスキャンパスを接続する（Ｓ２０４）。
【００７６】
この半導体集積回路の場合、ＳＦ／Ｆ１及びＳＦ／Ｆ３は、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されている（Ｓ２０３肯定）。しかしながら、ＳＦ／Ｆ２に関しては、ＳＦ／Ｆからの出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されているが、該出力ポートが上位階層ブロックに接続されていない（Ｓ２０３否定）。
【００７７】
そこで、ＳＦ／Ｆ選択部１２４において、出力が上位階層ブロックに接続されていないＳＦ／Ｆ、すなわち、ＳＦ／Ｆ２をスキャンパスの接続対象外として認識してスキャンパスの接続対象から除外する（Ｓ２０５）。また、出力が直接、または該ＳＦ／Ｆ以外の回路を介して出力ポートに接続されており、且つ、該出力ポートが上位階層ブロックに接続されているＳＦ／Ｆのみ、すなわちＳＦ／Ｆ１及びＳＦ／Ｆ３のみをスキャンパスの接続対象として選択する。
【００７８】
次に、Ｆ／Ｆ機能解析部１２８において、上位階層ブロックで用いるセルライブラリ内の各Ｆ／Ｆの機能を解析する。そして、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆ２との機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在するか否かを検索し、抽出する（Ｓ２０６）。
【００７９】
ここで、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆ２との機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在しない場合は（Ｓ２０７否定）、ＳＦ／Ｆ選択部１２４で選択したスキャンパスの接続対象となるＳＦ／Ｆのみ、すなわちＳＦ／Ｆ１及びＳＦ／Ｆ３のみをスキャン経路接続部１２６においてスキャンパス接続し、スキャンパスを生成する（Ｓ２０９）。
【００８０】
また、セルライブラリ内に、ＳＦ／Ｆ選択部１２４においてスキャンパスの接続対象から除外したＳＦ／Ｆ２との機能の差異がスキャン機能の有無のみであるＤＦ／Ｆ（データフリップフロップ）が存在した場合は（Ｓ２０７肯定）、Ｆ／Ｆ変換部１３０において、該ＳＦ／Ｆ２をＤＦ／Ｆに変換する（Ｓ２０８）。
【００８１】
そして、ＳＦ／Ｆ選択部１２４で選択したスキャンパスの接続対象となるＳＦ／Ｆ１及びＳＦ／Ｆ３のみを図９に示すようにスキャン経路接続部１２６においてスキャンパス接続し、スキャンパス１３０を生成する（Ｓ２０９）。
【００８２】
以上説明したように、本実施の形態にかかるテスト容易化設計方法およびテスト容易化設計装置によれば、上位階層回路の故障検出に不要な回路および配線を削除してスキャンテストに最適なスキャンパスを生成するため、必要以上に回路規模が大きくなることがなく、回路面積を小さくし、回路規模を縮小することが可能である。
【００８３】
また、上位階層回路の故障検出に不要な回路および配線を削除してスキャンパスを生成するため、スキャンテストの際に不要なスキャンパターンを生成する必要が無い。したがって、少ないスキャンパターン数およびスキャンパターン長により短時間で回路の故障検出が可能な処理効率に優れたスキャンパスを実現できる。これにより、スキャンテストに費やされるテストコストを削減することが可能である。
【００８４】
また、スキャン接続するか否かを予めネットリストを用いて判断するため、不要なスキャン動作を実行することがなく、全体として高速動作が可能となり、半導体集積回路の開発期間の短縮に寄与し得る。
【００８５】
さらに、本実施の形態にかかるテスト容易化設計方法およびテスト容易化設計装置によれば、スキャンパスの接続対象外とされたスキャンフリップフロップをスキャン機能を有さないデータスキャンフリップフロップに変換する。これにより、スキャンパスの接続対象外とされたスキャンフリップフロップに不要なスキャン機能を付与する不要な回路を削減することができ、さらに回路面積を小さくすることができる。
【００８６】
【発明の効果】
以上説明したように、この発明によれば、上位階層回路の故障検出に不要な回路および配線を削除してスキャンパスを生成するため、必要以上に回路規模が大きくなることがなく、最適な規模の集積回路を得ることができるという効果を奏する。また、上位階層回路の故障検出に不要な回路および配線を削除してスキャンパスを生成するため不要なスキャンパターンを生成する必要が無い。これにより、必要最小限のテストパターンにより短時間で回路の故障検出が可能な処理効率およびテストコストに優れた集積回路を得ることができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１を説明するための図であり、本発明を実現するテスト容易化設計装置のハードウエア構成の一形態を示すものである。
【図２】この発明の実施の形態１を説明するための図であり、実施の形態１にかかるテスト容易化設計装置におけるテスト容易化部の構成を示す構成図である。
【図３】この発明の実施の形態１を説明するための図であり、実施の形態１にかかるテスト容易化設計装置の処理フローを示したフローチャートである。
【図４】この発明の実施の形態１を説明するための図であり、スキャンパス接続前の具体的な回路の一例を示す図である。
【図５】この発明の実施の形態１を説明するための図であり、実施の形態１にかかるテスト容易化設計装置を用いてスキャンパスを生成した後の具体的な回路の一例を示す図である。
【図６】この発明の実施の形態２を説明するための図であり、本発明を実現するテスト容易化設計装置のハードウエア構成の一形態を示すものである。
【図７】この発明の実施の形態２を説明するための図であり、実施の形態２にかかるテスト容易化設計装置におけるテスト容易化部の構成を示す構成図である。
【図８】この発明の実施の形態２を説明するための図であり、実施の形態２にかかるテスト容易化設計装置の処理フローを示したフローチャートである。
【図９】この発明の実施の形態２を説明するための図であり、実施の形態１にかかるテスト容易化設計装置を用いてスキャンパスを生成した後の具体的な回路の一例を示す図である。
【符号の説明】
２  ＵＮＩＸ（Ｒ）計算機、４  記憶装置、６  ＣＰＵ、８  メモリ、１０  ディスプレイ装置、１２  キーボード、１４  マウス装置、２０、１２０  テスト容易化部、２２、１２２  ＳＦ／Ｆ検索部、２４、１２４  ＳＦ／Ｆ選択部、２６、１２６  スキャン経路接続部、１２８  Ｆ／Ｆ機能解析部、１３０  Ｆ／Ｆ変換部。
【図１】
2004348449.tif 000003
【図２】
2004348449.tif 000004
【図３】
2004348449.tif 000005
【図４】
2004348449.tif 000006
【図５】
2004348449.tif 000007
【図６】
2004348449.tif 000008
【図７】
2004348449.tif 000009
【図８】
2004348449.tif 000010
【図９】
2004348449.tif 000011