(57)【特許請求の範囲】
【請求項１】
書き込み読み出し可能記憶部を含むＬＳＩの論理ＬＳＩテスタに用いられるテストパターンを自動生成するＥＤＡツールに対し、テストパターン生成を支援するシステムにおいて、
ＬＳＩの論理回路データの中に、書き込み読み出し可能記憶部の前段に配置されるフリップフロップ回路であって、そのフリップフロップ回路のクロック端子に入力される信号が、外部から入力されるシステムクロック信号と逆相であるフリップフロップ回路に該当するデータが存在すれば、
その論理回路データにおいて、該フリッププロップ回路データを、受信信号を通過させるのみの機能を備えた素子又は回路を表すモデルのデータに置換し、上記ＥＤＡツールへ入力すべき論理回路データを作成する、
テスト容易化設計支援システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ、大規模集積回路）の論理ＬＳＩテスタで使うテストパターンを自動生成するＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）に対し、テストパターン生成を支援するシステム及びシステム装置に関する。
【０００２】
【従来の技術】
ＬＳＩの製造後テストでのテストパターン、即ち論理ＬＳＩテスタで使うテストパターンを自動生成するＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ａｕｔｏｍａｔｉｏｎ）ツールとして、従来からＡＴＰＧが広く用いられている。ＡＴＰＧは、上記集積回路のゲート・レベル・ネットリストを入力データとする。該ツールを利用することで、ＬＳＩ設計者は、故障検出率の高いテストベクタ（テストパターン）を手作業で開発する手間を省くことができる。
【０００３】
但し、現在のＡＴＰＧに係る技術レベルでは、ＡＴＰＧは全ての集積回路に対しうまく働くわけではない。組合せ回路（内部にフリップフロップを持たない回路）に対しては十分実用化が進み、大規模（例えば、１００万ゲート）の回路に対してもＡＴＰＧを適用可能であるが、一方、順序回路（内部にフリップフロップを持つ回路）の場合、扱える回路規模や回路の種類に制限がある。このため、ＡＴＰＧを適用するのに、例えばスキャンパステスト法を併用することが、一般的に行われている。
【０００４】
スキャンパステスト法は、組合せ回路部と順序回路部とから構成された集積回路において、集積回路中の複数のフリップフロップ（以下、「Ｆ／Ｆ」と表す。）をシフトレジスタのように連結して（これを「スキャンパス」と言う。）外部端子からテスト信号を入力し、残部である組合せ回路部の動作結果をシフトレジスタ化したＦ／Ｆを介して読み出すことによって、テスト容易化を図るものである。スキャンパステスト法を前提として設計された回路に対し、ＡＴＰＧを利用することで、ＡＴＰＧの有効利用範囲はさらに広まる。
【０００５】
【発明が解決しようとする課題】
ところで、上記スキャンパステスト法においては、テストモード時に、外部端子からシフトレジスタ化したＦ／Ｆのスキャンパスに対し、テストクロックに同期してテストデータを入力し、そしてテストを実行し、さらにシフトレジスタ化したＦ／Ｆのスキャンパスから、テストクロックに同期して組み合わせ回路からの出力を、別の外部端子に取り出す。よって、スキャンパスを構成するＦ／Ｆは、全てクロック信号の同位相で動作しなければならないという制約がある。ところで、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）混在ＬＳＩにおいて、ＲＡＭの前段に配置されるＦ／Ｆは、クロック信号を逆相にして取り込むことがある。ＲＡＭ部分とその他の回路部分との、データのやりとりのタイミングを調整し、データのやりとりを確実なものにするためである。したがって、ＲＡＭの前段に配置されるＦ／Ｆはスキャンパスを構成し得ず、スキャンパスから除外されることになる。さらに上述のように、ＡＴＰＧは本来、組合せ回路についてのテストパターンを生成するツールである。スキャンパステスト法を前提として設計された回路において、ＡＴＰＧを利用する場合は、順序回路たるＦ／Ｆはできる限りスキャンパスに取り込むことが前提となる。スキャンパスから外れるＦ／Ｆが存在する場合、例えば上記のようなＲＡＭ前段のクロック信号逆相のＦ／Ｆが存在する場合、ＡＴＰＧを稼動すると、該ＲＡＭ前段Ｆ／Ｆからの出力はＡＴＰＧにより常に「Ｘ出力」と設定されてしまう。ＡＴＰＧ実施の際に、ＲＡＭをスルーモードとすることが公知の技術であるが、ＲＡＭをスルーモードとしても、その前段のＦ／Ｆの出力が「Ｘ出力」であるならば、ＲＡＭの取り込む信号も「Ｘ」になるため、ＲＡＭの周辺の故障検出をし得るテストパターンが十分には生成し得ないことになってしまう。
【０００６】
そこで、ＲＡＭ混在ＬＳＩにおいて、ＡＴＰＧを用いて特にＲＡＭ周辺の回路部の故障検出率の高いテストパターンを自動生成することが、本発明の目的である。
【０００７】
【課題を解決するための手段】
この目的を達成するために改良された本願発明のシステムは、書き込み読み出し可能記憶部を含むＬＳＩの論理ＬＳＩテスタに用いられるテストパターンを自動生成するＥＤＡツールに対し、テストパターン生成を支援するシステムである。このシステムにおいては、ＬＳＩの論理回路データの中に、書き込み読み出し可能記憶部の前段に配置されるフリップフロップ回路であって、そのフリップフロップ回路のクロック端子に入力される信号が、外部から入力されるシステムクロック信号と逆相であるフリップフロップ回路に該当するデータが存在すれば、その論理回路データにおいて、該フリッププロップ回路データを、受信信号を通過させるのみの機能を備えた素子又は回路を表すモデルのデータに置換し、上記ＥＤＡツールへ入力すべき論理回路データを作成する。
【０００８】
【発明の効果】
本発明に係る装置を用いれば、ＲＡＭ混在ＬＳＩにおいても、ＲＡＭを搭載しないＬＳＩの場合と同様に、ＡＴＰＧを用いて故障検出率の高いテストパターンを自動生成することができる。
【０００９】
また、ＲＡＭ前段のクロック信号逆相のＦ／Ｆをスキャンパスに加える必要がないため、スキャンパスの設計が簡易化される。さらに、ＲＡＭ前段のクロック信号逆相のＦ／Ｆがスキャンパスに加えられないため、ＡＴＰＧが生成するテストパターンのデータ長が減少し、論理ＬＳＩテスタによるテストの時間が全体として短縮される。
【００１０】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を説明する。
【００１１】
図１は、本発明を実現するシステム装置のハードウエア構成の一形態を示すものである。該装置は、ＬＳＩ設計におけるＣＡＤシステムを搭載した、例えばＵＮＩＸ計算機２である。図１において、本発明を実現するシステムに係るソフトウエアは、記憶装置４に格納されており、システムユーザの要求に応じてＣＰＵ６によりメモリ８に搭載され、外部からキーボード１２を介して入力される制御コマンドやマウス装置１４の動作指示に従い、ＣＰＵ６、メモリ８にて稼動し、所定の情報をデイスプレイ装置１０に表示する。後で説明する論理回路（情報）ファイル、グラフ構造ファイル、構造体ファイルなどの磁気信号化情報は、記憶装置４に保持されており、本発明を実現するシステムに係るソフトウエアの要求、又はユーザの要求に応じて、ＣＰＵ６により、メモリ８に搭載され、若しくはメモリ８にて変更され、再び記憶装置４に保持される。本発明に係るシステムの入力データである論理回路情報（ファイル）は、例えばハードウエア記述言語（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）であるＶｅｒｉｌｏｇ−ＨＤＬフォーマットで格納されている。
【００１２】
図２は、本発明に係る装置の処理のフローチャートを示す。ＬＳＩの論理回路情報を読み込む処理から、ＡＴＰＧを起動する処理までを含む。
【００１３】
まず、ＬＳＩの論理回路情報を読み込んでメモリ８上にグラフ構造で展開する（処理２０）。このグラフ構造については、後で説明する。
【００１４】
キーボード１２、マウス１４などを用いて、スキャンパスを構成する個々のＦ／Ｆにおいてクロック端子を指定し、さらにクロック端子に入力されるクロック信号のどの位相でＦ／Ｆが動作するかを設定する（処理２２）。
【００１５】
予め設計されているスキャンパスについて、設計制約の範囲内にあるか否かをチェックする（処理２４）。その設計制約の主たるものは、
（１）スキャン対象Ｆ／Ｆ、即ちスキャンパスを構成するＦ／Ｆの、クロック端子とセット／リセット端子が外部から制御可能であること、
（２）スキャン対象Ｆ／Ｆが、他の全てのスキャン対象Ｆ／Ｆと同様の同期式Ｆ／Ｆであり、かつ外部クロック信号と同位相にて動作すること、
である。これらの設計制約に違反するＦ／Ｆが存在すれば（判断３６）、違反するＦ／Ｆをスキャンパスから除外しスキャンパスを再構成する。スキャンパスを再構成するためには、論理回路情報を修正し（処理３４）、再び当フローチャートの最初の処理（処理２０）から本発明に係る装置を稼動させる。但し、処理３４は従来から用いられているＬＳＩ設計のＣＡＤツールを用いて行われる。
【００１６】
設計制約に違反するＦ／Ｆの存在しないスキャンパスが構成されると、処理２６にて、メモリ８上に展開したグラフ構造において、ＲＡＭを検索する。
【００１７】
処理２６にて検索されたＲＡＭの全てについて、それぞれ全入力端子の前段の論理ゲートを確認する（処理２８）。それら全入力端子の前段の論理ゲートにおいて、Ｆ／Ｆが確認されれば、そのＦ／Ｆのクロック端子における信号の位相と、外部から入力されるクロック信号の位相とが、逆相であるか否か確認する。そして、両信号の位相が異なれば、ＡＴＰＧに入力すべき論理回路情報において、そのＦ／Ｆを信号接続の機能のみを備えたバッファ・モデルに置換する。図３にそのバッファ・モデルの１例の回路図を示す。このモデルでは、信号をＤ端子からＱ端子へスルーするのみであり、クロック端子ＣＫはフローティングとなっている。
【００１８】
処理２８において必要に応じてＦ／Ｆがバッファ・モデルに置換された論理回路情報を、ＡＴＰＧの入力フォーマットにし（処理３０）、ＡＴＰＧに入力し同時にＡＴＰＧを起動する（処理３２）。
【００１９】
ここで、上記図２のフローチャート中の、処理２８において、論理回路（情報）中のＦ／Ｆを信号接続機能のみを備えたバッファ・モデルに置換する理由について説明する。
【００２０】
図４は、論理回路の１つの例の概略図である。図５は、スキャンパステスト法を利用した図４の回路のテストにおいて、クロック端子への入力信号６４と、ＲＡＭのＷＥＢ（Ｗｒｉｔｅ  Ｅｎａｂｌｅ  Ｂａｒ）の波形６２に関する、シーケンスの１例である。図４において、スキャンパスは点線５６で示されている。図５のシーケンスに従って、図４の回路のテストの概略順序を述べると、
▲１▼の期間でテストパターンが外部からスキャンイン端子（図示せず）を介して第１のスキャンＦ／Ｆ４０にシフトインされ、
▲２▼の期間でテストが実行され、
▲３▼のクロック信号の立ち上がりにて上記テスト結果が第２のスキャンＦ／Ｆ５０に取り込まれ、
▲４▼の期間でテスト結果が第２のスキャンＦ／Ｆ５０からスキャンアウト端子（図示せず）を介して外部へ取り出され（シフトアウトされ）、それと同時に次のテストパターンが外部からスキャンイン端子（図示せず）を介して第１のスキャンＦ／Ｆ４０にシフトインされる、
という順になる。ＲＡＭのＷＥＢの波形６２はＲＡＭをスルーモードにしてテストするためのシーケンスを示すものであり、上記▲２▼の期間の、ＲＡＭ／ＷＥＢの波形シーケンスの▲６▼において、ＲＡＭに記憶された内容を後段に送出する。
【００２１】
図４に示す回路の上記テストにおいて、ＲＡＭ前段に配置されクロック信号が逆相となって入力されるＦ／Ｆ４４の動作に着目する。ＲＡＭ前段のＦ／Ｆ４４は、クロック端子での信号が外部のクロック信号と逆相になるよう設定されているため、図５のシーケンスでのクロック信号６４の立ち下り▲５▼で、組合せ回路４２の第１のテスト結果を読み込んでそれを後段のＲＡＭ４６へ送出する。ＲＡＭ／ＷＥＢの波形シーケンスの▲５▼から▲６▼の期間は、波形が’Ｌ（Ｌｏｗ）’即ち「書き込み」期間であるから、ＲＡＭ前段のＦ／Ｆ４４からＲＡＭ４６へ送出された第１のテスト結果は、ＲＡＭ４６に記憶される。ＲＡＭ／ＷＥＢの波形シーケンスでの▲６▼以降の’Ｈ（Ｈｉｇｈ）’の期間は「読み出し」期間であるから、そのＲＡＭ４６に記憶された第１のテスト結果は、▲６▼の時点でＲＡＭ４６の後段の組合せ回路４８に送出される。そして、組合せ回路４８からの出力である第２のテスト結果はクロック信号６４の立ち上がり▲３▼で、第２のスキャンＦ／Ｆ５０に取り込まれる。
【００２２】
このテスト例が示すように、現実の回路動作においてＲＡＭ前段のＦ／Ｆ４４の果たす役割は、ＲＡＭ４６（及びＦ／Ｆ４４）の前段に配置される組合せ回路４２の出力を確実に受け取りＲＡＭ４６以降に送出すること、即ち前段に配置される組合せ回路４２の出力をスルーし後段に送出すること、である。従って、ＡＴＰＧの実施の際には、信号接続の機能のみを備えたバッファ・モデルに置換してもかまわない、ということになる。
【００２３】
なお、ＲＡＭ前段のＦ／Ｆ４４をバッファモデルに置換してＡＴＰＧで生成されたテストパターンを用いて、回路のテストを行うと、そのＲＡＭ前段のＦ／Ｆ４４自体の故障も検出できる。この検出される故障には、ＲＡＭ前段のＦ／Ｆ４４のＤ端子Ｑ端子に係る故障のみならず、クロック端子に係る故障も含まれていることがある。従って、上記テストパターンを用いてテストを行えば、どの端子に係る故障かは特定されないという程度において、ＲＡＭ前段のＦ／Ｆ４４の故障も、検出され得る。
【００２４】
次に、上記処理２０にてメモリ８上に展開されるグラフ構造のデータベースについて説明する。該グラフ構造において、回路の論理ゲートはグラフの節と、ゲート間の配線はグラフの辺と、対応する。グラフは有向グラフであり、その方向は信号の流れに沿うものである。論理ゲートに対応する節は、部品名、ゲートの種類、ピン名等のデータを格納した（Ｃ言語における）構造体とリンクしている。したがって、上記図２フローチャートにおいて、処理２６でのＲＡＭの確認や、処理２８でのＲＡＭ前段のＦ／Ｆの確認や、ＲＡＭ前段Ｆ／Ｆのクロック端子での信号の位相の確認に際しては、構造体からの節の参照とネット探索とにより、それら確認を行える。ここで用いられるネット探索の手法は、「深さ優先探索」などの公知の数学的手法でよい。
【００２５】
ＡＴＰＧにおけるテストパターン生成のための基本ロジックは、一部のものに特定されず、例えばＤアルゴリズム、ＳＯＣＲＡＴＥＳ等であればよい。
【図面の簡単な説明】
【図１】本発明を実現するシステム装置のハードウエア構成の一形態を示す概略図である。
【図２】本発明を実現するシステム装置の処理のフローチャートである。
【図３】ＲＡＭ前段のクロック信号逆相のＦ／Ｆが置換されるバッファ・モデルの例の回路図である。
【図４】ＬＳＩを構成する論理回路の１つの例の概略図である。
【図５】スキャンパステスト法を利用した図４回路のテストでの、テストクロック端子への入力信号と、ＲＡＭのＷＥＢの波形の、シーケンスの１つの例である。
【符号の説明】
２・・・ＵＮＩＸ計算機、４・・・記憶装置、６・・・ＣＰＵ、８・・・メモリ、１０・・・デイスプレイ装置、１２・・・キーボード、１４・・・マウス装置、４０・・・第１のスキャンＦ／Ｆ、４２・・・組合せ回路、４４・・・ＲＡＭ前段のクロック信号逆相のＦ／Ｆ、４６・・・ＲＡＭ、４８・・・組合せ回路、５０・・・第２のスキャンＦ／Ｆ、５２・・・クロック信号端子、５４・・・ＲＡＭのＷＥＢ端子、６２・・・ＲＡＭのＷＥＢの波形、６４・・・クロック端子への入力信号
【図１】
0003595713.tif 000002
【図２】
0003595713.tif 000003
【図３】
0003595713.tif 000004
【図４】
0003595713.tif 000005
【図５】
0003595713.tif 000006