IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2022-187741解析プログラム、解析方法及び解析装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187741
(43)【公開日】2022-12-20
(54)【発明の名称】解析プログラム、解析方法及び解析装置
(51)【国際特許分類】
   G06F 30/333 20200101AFI20221213BHJP
   G06F 30/33 20200101ALI20221213BHJP
   G01R 31/28 20060101ALI20221213BHJP
   H01L 21/82 20060101ALI20221213BHJP
   H01L 21/822 20060101ALI20221213BHJP
   G06F 119/02 20200101ALN20221213BHJP
【FI】
G06F30/333
G06F30/33
G01R31/28 G
H01L21/82 T
H01L21/82 C
H01L27/04 T
G06F119:02
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021095903
(22)【出願日】2021-06-08
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】丸山 大輔
【テーマコード(参考)】
2G132
5B146
5F038
5F064
【Fターム(参考)】
2G132AA01
2G132AC09
2G132AC14
2G132AD07
2G132AL11
5B146AA22
5B146GA07
5B146GN01
5B146GQ01
5F038CD09
5F038DT06
5F038DT07
5F038DT15
5F038DT19
5F038EZ10
5F038EZ20
5F064BB03
5F064BB04
5F064BB05
5F064BB18
5F064BB19
5F064EE47
5F064HH09
5F064HH10
5F064HH14
(57)【要約】
【課題】過少テストを回避するための回路の修正箇所を提示する。
【解決手段】回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する処理をコンピュータに実行させる。
【選択図】図6D
【特許請求の範囲】
【請求項1】
回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、
対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する
処理をコンピュータに実行させることを特徴とする解析プログラム。
【請求項2】
前記回路データの回路は、テスト対象とするパスの入力側に接続されたスキャンフリップフロップをシリアル接続したスキャンチェーンが設けられ、
前記テストデータの生成を試みる処理は、前記スキャンチェーンから前記回路データの回路に前記テストデータを入力し、
前記解析する処理は、入力した前記テストデータが冗長故障となった場合、過少テストとなるかを解析する
処理を含むことを特徴とする請求項1に記載の解析プログラム。
【請求項3】
前記解析する処理は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定し、特定したスキャンフリップフロップを原因箇所として記憶する処理を含み、
前記提示する処理は、記憶された原因箇所を回路修正箇所として提示する
処理を含むことを特徴とする請求項2に記載の解析プログラム。
【請求項4】
前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定する処理を含むことを特徴とする請求項3に記載の解析プログラム。
【請求項5】
前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生したゲート回路を特定し、特定したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因のスキャンフリップフロップを特定すると共に、特定したゲート回路から前記テストデータの伝搬パスを順次バックトレースすることで故障励起の原因のスキャンフリップフロップを特定し、前記スキャンチェーンにおいて、前記故障停止の原因のスキャンフリップフロップと前記故障励起の原因のスキャンフリップフロップとが隣接する場合、過少テストとなると判定する処理を含む
ことを特徴とする請求項2~4の何れか1つに記載の解析プログラム。
【請求項6】
前記提示する処理は、過少テストの原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を、回路修正箇所として提示する
処理を含むことを特徴とする請求項1~5の何れか1つに記載の解析プログラム。
【請求項7】
回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、
対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する
処理をコンピュータが実行することを特徴とする解析方法。
【請求項8】
回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試みる試験処理部と、
前記試験処理部による処理の結果、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析する解析部と、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する掲示部と、
を有することを特徴とする解析装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、解析プログラム、解析方法及び解析装置に関する。
【背景技術】
【0002】
半導体集積回路(以下「LSI」とも称する。)などの回路設計、製造では、微細化や高速化に伴い、遅延テストの重要性が高まっている。回路設計では、ATPG(Automatic Test Pat tern Generator)ツールを用いて自動でテストデータを生成して遅延テストなどのテストデータが生成される。この遅延テストの1つの方式として、スキャンシフト方式がある。スキャンシフト方式は、スキャンフリップフロップ(以下、「スキャンFF」とも称する)をシリアル接続したシフト・レジスタを、スキャンシフト動作することで遅延テストを行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012-99028号公報
【特許文献2】特開2004-185550号公報
【特許文献3】特開2010-286383号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
スキャンシフト方式のテストでは、スキャンシフトに依存した過少テストが発生する場合があり、回路のどこを修正すれば過少テストを回避できるか、特定できない。
【0005】
一つの側面では、過少テストを回避するための回路の修正箇所を提示できる解析プログラム、解析方法及び解析装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1の案では、コンピュータは、次の処理を実行する。コンピュータは、回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試みる。コンピュータは、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析する。コンピュータは、過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する。
【発明の効果】
【0007】
一つの側面では、過少テストを回避するための回路の修正箇所を提示できる。
【図面の簡単な説明】
【0008】
図1図1は、実施例に係る回路解析・修正提示装置の機能構成を示すブロック図である。
図2図2は、遅延テストを説明する図である。
図3図3は、キャプチャ方式の遅延テストを説明する図である。
図4図4は、スキャンシフト方式の遅延テストを説明する図である。
図5A図5Aは、遅延テストにおける冗長故障の発生を説明する図である。
図5B図5Bは、遅延テストにおける冗長故障の発生を説明する図である。
図6A図6Aは、実施例に係る解析部による解析を説明する図である。
図6B図6Bは、実施例に係る解析部による解析を説明する図である。
図6C図6Cは、実施例に係る解析部による解析を説明する図である。
図6D図6Dは、実施例に係る解析部による解析を説明する図である。
図7図7は、実施例に係るテスト対象のパスの一例を示す図である。
図8A図8Aは、実施例に係る試験処理の手順の一例を示すフローチャートである。
図8B図8Bは、実施例に係る原因解析処理の手順の一例を示すフローチャートである。
図8C図8Cは、実施例に係る停止原因特定処理の手順の一例を示すフローチャートである。
図8D図8Dは、実施例に係る励起原因特定処理の手順の一例を示すフローチャートである。
図8E図8Eは、実施例に係る隣接関係特定処理の手順の一例を示すフローチャートである。
図8F図8Fは、実施例に係る修正箇所掲示処理の手順の一例を示すフローチャートである。
図9A図9Aは、実施例に係る遅延テストの一例を説明する図である。
図9B図9Bは、実施例に係る原因箇所データの一例を説明する図である。
図9C図9Cは、実施例に係る原因箇所のカウント結果の一例を説明する図である。
図9D図9Dは、実施例に係る回路の修正の一例を説明する図である。
図9E図9Eは、実施例に係る拡張スキャン方式としたスキャンFFの一例を説明する図である。
図10図10は、実施例に係る回路解析・修正提示装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願の開示する解析プログラム、解析方法及び解析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0010】
実施例に係る回路解析・修正提示装置10の構成の一例について説明する。本実施例では、回路解析・修正提示装置10が、本願の開示する解析装置に対応する。図1は、実施例に係る回路解析・修正提示装置10の機能構成を示すブロック図である。LSIの回路設計、製造では、設計された回路に遅延テストなどの回路試験が実施される。回路解析・修正提示装置10は、設計された回路において発生する冗長故障の解析と、回路修正箇所の提示を実施する装置である。回路解析・修正提示装置10は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。回路解析・修正提示装置10は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。本実施例では、回路解析・修正提示装置10を1台のコンピュータとした場合を例として説明する。なお、回路解析・修正提示装置10は、CAD(Computer Aided Design)装置などの設計者による回路設計を支援する回路設計ソフトウェアが動作する設計装置であってもよい。また、回路解析・修正提示装置10は、ネットワークを介して端末装置と通信可能に接続され、端末装置から各種の操作情報を受け付け、操作情報に応じた処理結果を端末装置に送信するサーバコンピュータであってもよい。図1に示すように、回路解析・修正提示装置10は、入力部20と、表示部21と、記憶部22と、制御部23とを有する。なお、回路解析・修正提示装置10は、上記の機器以外の他の機器を有してもよい。
【0011】
入力部20は、各種の情報を入力する入力デバイスである。入力部20としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。入力部20は、各種の情報の入力を受付ける。例えば、入力部20は、仮想的なハードウェアモデルに対する各種の操作の入力を受け付ける。入力部20は、受け付けた操作内容を示す操作情報を制御部23に入力する。
【0012】
表示部21は、各種情報を表示する表示デバイスである。表示部21としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、操作画面など各種の画面を表示する。
【0013】
記憶部22は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部22は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
【0014】
記憶部22は、制御部23で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部22は、後述する試験処理を実行する解析プログラムを記憶する。さらに、記憶部22は、制御部23で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部22は、回路データ30と、原因箇所データ31とを記憶する。
【0015】
回路データ30は、試験の対象となる回路に関する各種の情報を記憶したデータである。例えば、回路データ30には、設計済みのLSIの回路のデータが含まれる。回路データ30が示す回路は、テスト対象とするパスの入力側と出力側にスキャンFFが接続され、スキャンFFをシリアルに接続することでシフト・レジスタを形成したスキャンチェーンが設けられる。スキャンチェーンは、回路の設計者がテスト対象とするパスに応じて設けてもよい。また、スキャンチェーンは、設計ツールやテストツールがテスト対象とするパスに応じて自動で配置してもよい。
【0016】
原因箇所データ31は、故障の原因箇所を記録したデータである。原因箇所データ31の詳細は、後述する。
【0017】
制御部23は、回路解析・修正提示装置10を制御するデバイスである。制御部23としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部23は、試験処理部40と、解析部41と、提示部42とを有する。各種の処理部の一部又は全部の機能は、ATPGツールなど、テストデータを生成するプログラムの機能であってもよい。
【0018】
試験処理部40は、回路試験の各種の処理を行う。本実施例では、試験処理部40が、回路データ30が示す回路に、スキャンシフト方式の遅延テストデータを生成する。試験処理部40は、回路データ30を読み込み、対象となる遅延故障に対するテストデータの生成を試みる。例えば、試験処理部40は、回路データ30が示す回路からテスト対象とする故障を順に選択する。試験処理部40は、選択したテスト対象の故障に応じたテストデータを生成する。試験処理部40は、生成したテストデータを、テスト対象の故障に対応したスキャンチェーンに入力してスキャンチェーンの各スキャンFFにテストデータを設定する。試験処理部40は、スキャンチェーンの各スキャンFFからテスト対象の故障にテストデータを入力して、遅延テストを生成する。試験処理部40は、各スキャンFFからテスト対象の故障に設けられたゲート回路に順にテストデータを伝搬させる。ゲート回路とは、AND回路、OR回路、NOR回路などの論理演算を行う回路の総称である。
【0019】
ここで、遅延テストを説明する。図2は、遅延テストを説明する図である。遅延テストなどの試験の対象となる回路は、テスト対象のパスの入力側と出力側にスキャンFFが接続される。以下、入力側のスキャンFFを「送りFF」とも称し、出力側のスキャンFFを「受けFF」とも称する。図2では、説明を簡略化するため、テスト対象のパス50を1つのNAND回路51としている。NAND回路51には、入力側にスキャンFF52が接続され、出力側にスキャンFF53が接続されている。図2では、スキャンFF52は、送りFFである。スキャンFF53は、受けFFである。
【0020】
遅延テストでは、スキャンFF間のパスの遅延が、システム規定内の遅延であるかを試験する。遅延テストでは、Scan機能によって、送りFFでの変化発生、パス活性化の条件が設定される。遅延テストでは、テスト対象の回路が動作するシステム周波数に近い周波数で、送り、受けの2つのクロックをそれぞれ、送りFF、受けFFに印加する。遅延テストでは、送りクロックによって送りFFで発生した変化(遷移)を、受けクロックによって受けFFでキャプチャする。遅延テストでは、Scan機能によって、受けFFのキャプチャ値が観測される。例えば、図2の例では、送りクロックによってスキャンFF52で発生した0から1への変化が、パス50のNAND回路51を通過することで1から0の変化となり、受けクロックによってスキャンFF53で0がキャプチャされる。このとき、パス50に規定以上の遅延があると点線の波形のように、スキャンFF53で正常動作と異なる1がキャプチャされるので、遅延故障が検出される。
【0021】
遅延テストでは、例えば、回路に故障のテストデータを入力し、回路から出力されるデータを観測して故障が検出できるかをテストする。ところで、遅延テストでは、冗長故障が発生する場合がある。冗長故障とは、いかなるパターンのテストデータを用いてもその故障の影響を出力で観測することができない故障である。
【0022】
遅延テスト等のテストの主なテスト方式には、キャプチャ方式と、スキャンシフト方式がある。キャプチャ方式は、LOC(Launch Off Capture)方式やbroad side方式とも呼ばれる。キャプチャ方式は、LOS(Launch Off Shift)方式や skewed load方式とも呼ばれる。
【0023】
図3は、キャプチャ方式の遅延テストを説明する図である。図3には、スキャンFF60が示されている。スキャンFF60は、入出力端子として、「DI」、「SI」、「SM」、「CK」、「Q」を有する。DIは、データ入力端子である。SIは、スキャンデータ入力端子である。SMは、スキャンモード入力端子である。CKは、クロック入力端子である。Qは、データ出力端子である。スキャンFF60は、SMにOFFが設定された状態でCKにクロックが入力すると、DIに入力したデータがQから出力され、SMにONが設定された状態でCKにクロックが入力すると、SIに入力したデータがQから出力される。なお、スキャンFFは、以降についても同様の構成のため、個別の説明を省略する。
【0024】
キャプチャ方式の遅延テストでは、スキャンFF60のSMにOFFが設定され、テスト対象の回路の内部論理によりテストデータが生成されて、DIに入力する。スキャンFF60は、CKにクロックが入力すると、DIに入力したデータをQから出力する。図3では、スキャンFF60は、DIに「1」が入力しており、CKにクロックが入力すると、Qから「1」を出力する。
【0025】
キャプチャ方式の変化発生は、システム動作と同じである。このため、キャプチャ方式のテスト時の冗長故障は、システム動作と同じである。よって、キャプチャ方式での冗長故障は、システム動作に影響しないので、テストは不要である。
【0026】
図4は、スキャンシフト方式の遅延テストを説明する図である。図4には、入力側のスキャンFF60a、60bが示されている。スキャンFF60a、60bは、スキャンFF60aのQをスキャンFF60bのSIに接続することで、シリアルに接続されており、スキャンチェーンが構成されている。
【0027】
スキャンシフト方式の遅延テストでは、スキャンFF60bのSMにONが設定され、外部でテストデータが生成されてスキャンチェーンを介して各スキャンFF60a、60bにテストデータが設定される。図4では、スキャンFF60aがQから「1」を出力しており、スキャンFF60bのSIに「1」を入力する。スキャンFF60bは、CKにクロックが入力すると、Qから「1」を出力する。
【0028】
スキャンシフト方式の変化発生は、システム動作と異なる。このため、スキャンシフト方式のテスト生成時の冗長故障は、システム動作とは異なる場合がある。
【0029】
冗長故障の一例を説明する。図5A及び図5Bは、遅延テストにおける冗長故障の発生を説明する図である。図5A及び図5Bには、テスト対象のパス70が簡略的に示されている。テスト対象のパス70には、ゲート回路として、AND回路71とOR回路72が設けられている。AND回路71は、入力端子71i1、71i2と出力端子71oを有する。OR回路72は、入力端子72i1、72i2と出力端子72oを有する。AND回路71は、入力端子71i2にOR回路72の出力端子72oが接続されている。スキャンシフト方式では、テスト対象のパス70の入力側と出力側にスキャンFFが接続され、スキャンFFをシリアルに接続することでシフト・レジスタを形成したスキャンチェーンが設けられる。図5A及び図5Bには、入力側のスキャンFF60a~60cが示されている。スキャンFF60a~60cは、シリアルに接続されており、スキャンチェーンが構成されている。図5A及び図5Bでは、スキャンFF60aのQがスキャンFF60bのSIに接続され、スキャンFF60bのQがスキャンFF60cのSIに接続されている。また、スキャンFF60bのQがOR回路72の入力端子72i2に接続されている。スキャンFF60cのQがAND回路71の入力端子71i1に接続されている。
【0030】
スキャンシフト方式の遅延テストでは、テスト対象の故障に応じたテストデータが外部で生成されてスキャンチェーンを介して各スキャンFF60a~60cにテストデータが設定される。例えば、図5A及び図5Bに示すテスト対象のパス70において、テスト対象の故障を、OR回路72の入力端子72i2を0から1に遷移する遷移故障とする。この場合、遷移故障を発生させるため、スキャンFF60aに「1」を設定し、スキャンFF60bに「0」を設定する。また、テストには関係ないが、例えば、スキャンFF60cに仮に「1」を設定する。図5Aでは、スキャンFF60aがQから「1」を出力しており、スキャンFF60bのSIに「1」が入力する。また、スキャンFF60bがQから「0」を出力しており、スキャンFF60cのSI及びOR回路72の入力端子72i2に「0」が入力する。また、スキャンFF60cがQから「1」を出力しており、AND回路71の入力端子71i1に「1」が入力する。
【0031】
遅延テストでは、テスト対象の回路が動作するシステム周波数に近い周波数で、送り、受けの2つのクロックをそれぞれ、送りFF、受けFFに印加する。図5Aの各スキャンFF60a~60cは、クロックが入力すると、図5Bの状態に遷移する。図5Bでは、スキャンFF60bがQから「1」を出力しており、スキャンFF60cのSI及びOR回路72の入力端子72i2に「1」が入力する。また、スキャンFF60cがQから「0」を出力しており、AND回路71の入力端子71i1に「0」が入力する。
【0032】
図5Aから図5Bに遷移したことで、OR回路72の入力端子72i2の入力を0から1に遷移する遷移故障が発生している。しかし、図5Bでは、OR回路72の出力側のAND回路71の入力端子71i1に「0」が入力することで、OR回路72の遷移故障の伝搬をAND回路71が閉鎖してしまう縮退故障が発生する。縮退故障とは、回路中の1本の信号線が0または1に固定されてしまう故障である。AND回路71は、入力端子71i1に「0」が入力することで、入力端子71i2にOR回路72から、「0」、「1」の何れが入力しても、出力端子71oの出力が「0」に固定されてしまう。このような縮退故障が発生すると、故障の影響を出力で観測できず、冗長故障となる。
【0033】
つまり、キャプチャ方式での冗長故障は、システム動作に影響しないので、テストは不要である。一方、スキャンシフト方式での冗長故障は、システム動作に影響する可能性があるので、テストが必要である。
【0034】
従って、スキャンシフト方式のテストにおいて、ある故障が冗長故障と判定された場合、その故障をテスト対象外にすると、本当は必要なテストが行われないという過少テストの問題が発生する。
【0035】
図1に戻る。そこで、解析部41は、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析する。例えば、解析部41は、入力したテストデータが冗長故障となった場合、過少テストとなるかを解析する。例えば、解析部41は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定する。例えば、解析部41は、テストデータが回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定する。解析部41は、特定したスキャンフリップフロップを原因箇所として原因箇所データ31に記憶する。
【0036】
提示部42は、過少テストとなる場合、解析部41による解析結果に基づき、過少テストを回避するための回路修正箇所を提示する。なお、提示部42は、修正箇所を表示部21に提示してもよく、外部装置の表示部に提示してもよい。例えば、提示部42は、原因箇所データ31に記憶された原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を掲示する。例えば、提示部42は、原因箇所データ31に原因箇所として記憶されたスキャンフリップフロップ別に、スキャンフリップフロップをカウントし、カウント値の大きい順に、スキャンフリップフロップを掲示する。
【0037】
具体例を用いて解析部41による解析を説明する。最初に、以下の説明で使用する語句の簡単な説明を行う。
【0038】
UPS(Unique Path Sensitization)とは、故障伝搬パスの候補が一意に求まるとき、故障を伝搬させる入力値を多入力端子のゲート回路に割り当てることである。
CV(Control Value)とは、その値だけでゲート回路の出力を制御する値である(例、多入力端子のAND回路での0)。
NCV(Non Control Value)とは、その値だけではゲート回路の出力を制御しない値である(例、多入力端子のAND回路での1)。
【0039】
図6A図6Dは、実施例に係る解析部41による解析を説明する図である。図6A図6Dには、テスト対象のパス80が簡略的に示されている。テスト対象のパス80には、ゲート回路として、AND回路81、82とOR回路83が設けられている。AND回路81は、入力端子81i1、81i2と出力端子81oを有する。AND回路82は、入力端子82i1、82i2と出力端子82oを有する。OR回路83は、入力端子83i1、83i2と出力端子83oを有する。AND回路82は、入力端子82i1にAND回路81の出力端子81oが接続され、入力端子82i2にOR回路83の出力端子83oが接続されている。スキャンシフト方式では、テスト対象のパス80の入力側と出力側にスキャンFFが接続され、スキャンFFをシリアルに接続することでシフト・レジスタを形成したスキャンチェーンが設けられる。図6A図6Dには、入力側のスキャンFF60a~60dが示されている。スキャンFF60a~60dは、シリアルに接続されており、スキャンチェーンが構成されている。図6A図6Dでは、スキャンFF60aのQがスキャンFF60bのSIに接続され、スキャンFF60bのQがスキャンFF60cのSIに接続され、スキャンFF60cのQがスキャンFF60dのSIに接続されている。また、スキャンFF60bのQがOR回路83の入力端子83i2にされている。スキャンFF60cのQがOR回路83の入力端子83i1に接続されている。スキャンFF60dのQがAND回路81の入力端子81i2に接続されている。
【0040】
試験処理部40は、キャンチェーンを介して各スキャンFF60a~60dにテストデータを設定する。そして、試験処理部40は、各スキャンFF60a~60dにクロックを入力して各スキャンFF60a~60dのデータを順に遷移させる。なお、データが「0」、「1」の何れでもよい場合、「X」と示す。
【0041】
例えば、図6Aでは、AND回路82の入力端子82i2を0から1に遷移する遷移故障を発生させる。この場合、スキャンFF60aを「1」から「X」に遷移させ、スキャンFF60bを「0」から「1」に遷移させ、スキャンFF60cを「0」から「0」に遷移させ、スキャンFF60dを「X」から「0」に遷移させる。これにより、OR回路83は、入力端子83i2が「0」から「1」となり、入力端子83i1が「0」から「0」となって、出力端子83oが「0」から「1」に遷移する。AND回路81は、入力端子81i2が「X」から「0」となり、出力端子81oが「X」から「0」に遷移する。AND回路82は、入力端子82i1が「X」から「0」となるため、入力端子82i2が「0」から「1」となっても、出力端子82oが「0」から「0」となり、故障を伝搬する故障伝搬パスの消滅する冗長故障が発生する。
【0042】
試験処理部40は、テスト中に回路に伝搬するデータの状態を管理しているので、回路のどこで故障伝搬が消滅したかを認識できる。試験処理部40は、テスト中に、冗長故障が発生したか否かを判定する。試験処理部40は、故障伝搬パスの消滅した場合、冗長故障が発生したと判定する。例えば、試験処理部40がATPGツールの機能を使用している場合、ATPGツールにおいて、UPSが失敗した時に、冗長故障が発生したと判定する。「UPSの失敗」の発生は、ATPGツールにおいて、故障励起、唯一パス活性化、といった必須な割り当てによる含意の結果、全ての故障伝搬パスが消滅したことで判定される。ATPGツールは、含意が伝搬したゲート回路及び状態を適切に管理するので、どのゲート回路において故障伝搬が消滅したかを認識できる。
【0043】
解析部41は、入力したテストデータが冗長故障となった場合、過少テストとなるかを解析する。例えば、解析部41は、冗長故障の原因となるデータを入力したスキャンFFを特定する。例えば、解析部41は、テストデータが回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンFFを特定する。
【0044】
例えば、図6Aでは、AND回路82の入力端子82i2の0遷移故障に対し、受け時刻でAND回路82の入力端子82i2以外の入力端子82i1にCVである0が含意されることで、UPSが失敗した状況を示している。図6Aでは、AND回路82において縮退故障が発生して冗長故障が発生している。
【0045】
解析部41は、AND回路82において故障を伝搬する故障伝搬パスが消滅しており、縮退故障が発生していることから、AND回路82を縮退故障が発生した箇所と特定する。解析部41は、故障停止の原因となるスキャンFFを特定する。解析部41は、受け時刻において、縮退故障が発生したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因となるスキャンFFを特定する。受け時刻とは、故障伝搬パスが消滅した時刻であり、縮退故障が発生した時刻である。例えば、解析部41は、図6Bに示すように、縮退故障の発生箇所と特定されたAND回路82から、途中のAND回路81にバックトレースを行う。解析部41は、故障停止の原因のスキャンFFとして、スキャンFF60dを特定する。
【0046】
また、解析部41は、故障励起の原因となるスキャンFFを特定する。解析部41は、送り時刻において、縮退故障が発生したゲート回路から、故障が伝搬した故障伝搬パスを順次バックトレースすることで故障励起の原因となるスキャンFFを特定する。送り時刻とは、故障伝搬パスが消滅する直前の故障伝搬パスが消滅していないデータ状態の時刻であり、故障が停止となる直前のデータ状態の時刻である。例えば、解析部41は、図6Cに示すように、縮退故障の発生箇所と特定されたAND回路82から、故障が停止となる直前の遷移故障の0の状態のデータが伝搬した伝搬パスに沿ってOR回路83にバックトレースを行う。解析部41は、故障励起の原因のスキャンFFとして、スキャンFF60b、60cを特定する。
【0047】
解析部41は、冗長故障の原因がスキャンシフトによるものかをと判定する。例えば、解析部41は、スキャンチェーンにおいて、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接するかを判定する。解析部41は、故障停止の原因のスキャンFFが一つの場合は当該故障停止の原因のスキャンFFからスキャンチェーンをバックトレースして、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接するかを判定する。また、解析部41は、故障停止の原因のスキャンFFが複数の場合は全ての故障停止の原因のスキャンFFからスキャンチェーンをバックトレースして、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接するかを判定する。解析部41は、スキャンチェーンにおいて、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接する場合、冗長故障の原因がスキャンシフトによるものであり、過少テストとなると判定する。解析部41は、冗長故障の原因がスキャンシフトによるものであり、過少テストとなると判定した場合、隣接関係にある故障停止の原因のスキャンFFと故障励起の原因のスキャンFFを原因箇所として原因箇所データ31に記憶する。例えば、解析部41は、図6Dに示すように、故障停止の原因のスキャンFF60dと故障励起の原因のスキャンFF60cが隣接する場合、過少テストとなると判定する。解析部41は、スキャンFF60dとスキャンFF60cを原因箇所として原因箇所データ31に記憶する。
【0048】
図7は、実施例に係るテスト対象のパス80aの一例を示す図である。図7は、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接関係に無い場合の例を示している。図7は、図6のテスト対象のパス80の一部を変更したテスト対象のパス80aが簡略的に示されている。テスト対象のパス80aには、ゲート回路として、OR回路84、85がさらに設けられている。OR回路84は、入力端子84i1、84i2と出力端子84oを有する。OR回路85は、入力端子85i1、85i2と出力端子85oを有する。AND回路82は、入力端子82i1にAND回路81の出力端子81oが接続され、入力端子82i2にOR回路83の出力端子83oが接続されている。また、OR回路84は、入力端子84i2にAND回路82の出力端子82oが接続されている。OR回路85は、入力端子85i1にAND回路82の出力端子82oが接続されている。スキャンシフト方式では、テスト対象のパス80aの入力側と出力側にスキャンFFが接続され、スキャンFFをシリアルに接続することでシフト・レジスタを形成したスキャンチェーンが設けられる。図7には、入力側のスキャンFF60a~60dが示されている。スキャンFF60a~60dは、シリアルに接続されており、スキャンチェーンが構成されている。図7では、スキャンFF60aのQがスキャンFF60bのSIに接続され、スキャンFF60bのQがスキャンFF60cのSIに接続され、スキャンFF60cのQがスキャンFF60dのSIに接続されている。また、スキャンFF60aのQがOR回路83の入力端子83i2に接続されている。スキャンFF60bのQがOR回路83の入力端子83i1に接続されている。スキャンFF60dのQがAND回路81の入力端子81i1、OR回路84の入力端子84i1及びOR回路85の入力端子85i2に接続されている。
【0049】
図7には、AND回路82の入力端子82i2を0から1に遷移する遷移故障を発生させる場合のスキャンFF60a~60dの状態の遷移の一例が示されている。図7では、AND回路82の入力端子82i2が0から1に遷移する遷移故障が発生している。図7でも故障伝搬パスが消滅するので冗長故障が発生している。図7の場合、解析部41は、故障停止の原因のスキャンFFをスキャンFF60dと特定する。また、解析部41は、故障励起の原因のスキャンFFをスキャンFF60a、60bと特定する。解析部41は、スキャンFF60a、60bとスキャンFF60dが隣接関係に無いため、冗長故障の原因がスキャンシフトによるものではない判定する。図7の冗長故障は、UPSによるスキャンFF60a~60dへのデータの割り当てが原因であり、スキャンシフトが原因ではない。このような冗長故障に対するテストを行うことは過剰テストである。
【0050】
次に、図8A図8Fを用いて、本実施例に係る回路解析・修正提示装置10が回路に対して、遅延テストなどの回路試験や本開示の解析処理を行う試験処理の流れを説明する。図8Aは、実施例に係る試験処理の手順の一例を示すフローチャートである。この試験処理は、所定のタイミング、例えば、管理者から試験の対象とする回路データ30が指定され、試験開始を指示する所定操作が行われたタイミングで実行される。
【0051】
図8Aに示すように、試験処理部40は、試験の対象とされた回路データ30を読み込む(S10)。試験処理部40は、回路データ30が示す回路からテスト対象の故障を選択する(S11)。回路データ30が示す回路は、テスト対象の故障の入力側と出力側にスキャンFFが接続され、スキャンFFをシリアルに接続することでシフト・レジスタを形成したスキャンチェーンが設けられる。
【0052】
試験処理部40は、選択されたテスト対象の故障に対してUPSを行い、テスト対象のパスの多入力端子のゲート回路に、故障を伝搬させる入力値を割り当てる(S12)。例えば、試験処理部40は、テスト対象のパスの入力側の各スキャンFFに割り当てる入力値のテストデータを生成し、生成したテストデータをスキャンチェーンに入力してスキャンチェーンの各スキャンFFにテストデータの入力値を設定する。そして、試験処理部40は、スキャンチェーンの各スキャンFFからテスト対象のパスにデータを入力して、遅延テストデータを生成する。試験処理部40は、各スキャンFFからテスト対象のパスに設けられたゲート回路に順にデータを伝搬させる。
【0053】
解析部41は、UPSが成功したか否かを判定する(S13)。例えば、解析部41は、故障伝搬パスの消滅した場合、冗長故障が発生した場合、UPSが失敗したと判定する。
【0054】
冗長故障が発生してUPSが失敗した場合(S13:No)、解析部41は、冗長故障の原因を解析する原因解析処理を実施する(S14)。
【0055】
ここで、原因解析処理の流れを説明する。図8Bは、実施例に係る原因解析処理の手順の一例を示すフローチャートである。この原因解析処理は、試験処理のS12から実行される。
【0056】
図8Bに示すように、解析部41は、故障停止の原因となるスキャンFFを特定する停止原因特定処理を実施する(S20)。次に、解析部41は、故障励起の原因となるスキャンFFを特定する励起原因特定処理を実施する(S21)。次に、解析部41は、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFとが隣接するかを特定する隣接関係特定処理を実施し(S22)、処理が終了すると、図8Aに示した試験処理のS15へ移行する。
【0057】
次に、停止原因特定処理の流れを説明する。図8Cは、実施例に係る停止原因特定処理の手順の一例を示すフローチャートである。この停止原因特定処理は、図8Bに示した原因解析処理のS20から実行される。
【0058】
図8Cに示すように、解析部41は、受け時刻において、故障停止が発生したゲート回路で入力する値がCVとなる入力端子をスタックに記憶する(S30)。
【0059】
解析部41は、スタックから入力端子を1つ取り出し、取り出した入力端子から回路をバックトレースする(S31)。
【0060】
解析部41は、バックトレースした結果、スキャンFFに到達したか否かを判定する(S32)。スキャンFFに到達した場合(S32:Yes)、解析部41は、到達したスキャンFFを故障停止の原因のスキャンFFとして記憶する(S33)。
【0061】
一方、スキャンFFに到達しない場合(S32:No)、解析部41は、到達したゲート回路で入力する値がCVとなる入力端子がある場合、CVとなる入力端子をスタックし、CVとなる入力端子が無い場合、NCVとなる入力端子をスタックする(S34)。
【0062】
解析部41は、スタックされた入力端子があるか否か判定する(S35)。スタックされた入力端子がある場合(S35:Yes)、上述のS31へ移行する。
【0063】
一方、スタックから入力端子が全て取り出され、スタックされた入力端子がない場合(S35:No)、停止原因特定処理を終了し、図8Bに示した原因解析処理のS21へ移行する。
【0064】
次に、励起原因特定処理の流れを説明する。図8Dは、実施例に係る励起原因特定処理の手順の一例を示すフローチャートである。この励起原因特定処理は、図8Bに示した原因解析処理のS21から実行される。
【0065】
図8Dに示すように、解析部41は、送り時刻において、故障停止が発生したゲート回路の故障が伝搬した入力端子をスタックに記憶する(S40)。
【0066】
解析部41は、スタックから入力端子を1つ取り出し、入力端子から回路をバックトレースする(S41)。
【0067】
解析部41は、バックトレースした結果、スキャンFFに到達したか否かを判定する(S42)。スキャンFFに到達した場合(S42:Yes)、解析部41は、到達したスキャンFFを故障励起の原因のスキャンFFとして記憶する(S43)。
【0068】
一方、スキャンFFに到達しない場合(S42:No)、解析部41は、到達したゲート回路で入力する値がCVとなる入力端子がある場合、CVとなる入力端子をスタックし、CVとなる入力端子が無い場合、NCVとなる入力端子をスタックする(S44)。
【0069】
解析部41は、スタックされた入力端子があるか否か判定する(S45)。スタックされた入力端子がある場合(S45:Yes)、上述のS41へ移行する。
【0070】
一方、スタックから入力端子が全て取り出され、スタックされた入力端子がない場合(S45:No)、励起原因特定処理を終了し、図8Bに示した原因解析処理のS22へ移行する。
【0071】
次に、隣接関係特定処理の流れを説明する。図8Eは、実施例に係る隣接関係特定処理の手順の一例を示すフローチャートである。この隣接関係特定処理は、図8Bに示した原因解析処理のS22から実行される。
【0072】
図8Eに示すように、解析部41は、原因フラグにTrueをセットする(S50)。原因フラグは、Trueの場合、故障停止の原因がスキャンシフトによるものであり、Falseの場合、故障停止の原因がスキャンシフトによるものではないことを示す。
【0073】
解析部41は、記憶した全ての故障停止の原因のスキャンFFについて、それぞれスキャンチェーンを1段バックトレースする(S51)。
【0074】
解析部41は、バックトレースした結果、何れかが記憶した故障励起の原因のスキャンFFに到達したか否かを判定する(S52)。何れも故障励起の原因のスキャンFFに到達しない場合(S52:No)、解析部41は、原因フラグにFalseをセットし(S53)、冗長故障の原因がスキャンシフトではないと判定する。
【0075】
一方、何れかが故障励起の原因のスキャンFFに到達した場合(S52:Yes)、解析部41は、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFを原因箇所として原因箇所データ31に記憶する(S54)。この場合、解析部41は、原因フラグがTrueのままため、冗長故障の原因がスキャンシフトによるものであり、過少テストとなると判定する。隣接関係特定処理は、S53、S54の後、処理を終了し、図8Aに示した試験処理のS15へ移行する。
【0076】
図8Aに戻る。UPSが成功した場合(S13:Yes)及び原因解析処理が終了すると、試験処理部40は、テスト対象の故障を全て選択したか否かを判定する(S15)。未選択のテスト対象の故障がある場合(S15:No)、上述したS11へ移行する。
【0077】
一方、テスト対象の故障を全て選択した場合(S15:Yes)、提示部42は、修正箇所を掲示する修正箇所掲示処理を実施し(S16)、S16の後、試験処理を終了する。
【0078】
次に、修正箇所掲示処理の流れを説明する。図8Fは、実施例に係る修正箇所掲示処理の手順の一例を示すフローチャートである。この修正箇所掲示処理は、図8Aに示した試験処理のS16から実行される。
【0079】
図8Fに示すように、提示部42は、原因箇所データ31に記憶された原因箇所別に、原因箇所をカウントする(S60)。例えば、提示部42は、原因箇所データ31に原因箇所として記憶された、故障停止の原因のスキャンFFと故障励起の原因のスキャンFFの組別に、スキャンFFの組をカウントする。
【0080】
提示部42は、カウント値の順にカウント値と原因箇所をソートする(S61)。例えば、提示部42は、カウント値の順に、カウント値とスキャンFFの組をソートする。
【0081】
提示部42は、カウント値の大きい順に原因箇所を掲示する(S62)。例えば、提示部42は、カウント値の大きい順に、カウント値とスキャンFFの組を掲示し、修正箇所掲示処理を終了する。
【0082】
次に、図9A図9Eを用いて、遅延テストの具体的な一例を説明する。図9Aは、実施例に係る遅延テストの一例を説明する図である。図9Aは、遅延テストの対象とされた回路90の一例が示されている。回路90は、ADR91を有する回路例である。ADR91は、Write Address Decoderである。ADR91は、データを入力する入力端子として、WE(Write Enable)、複数のWA(Write Address)を有する。図9Aでは、WA0、WA1、WA2を有する。ADR91は、WA0、WA1、WA2の入力に応じて、複数のFF(フリップフロップ)が設けられた複数のライン92から、書き込み対象のラインを選択する。例えば、ADR91は、WA0=1でライン92aを書き込み対象のラインと選択する。ADR91は、WE=1で、WAにより選択されたライン92に書き込みが行われる。
【0083】
回路90は、ADR91の入力側のスキャンFF60a~60dが示されている。スキャンFF60a~60dは、シリアルに接続されており、スキャンチェーンが構成されている。図9Aでは、スキャンFF60aのQがスキャンFF60bのSIに接続され、スキャンFF60bのQがスキャンFF60cのSIに接続され、スキャンFF60cのQがスキャンFF60dのSIに接続されている。また、スキャンFF60aのQがADR91のWA2に接続されている。スキャンFF60bのQがADR91のWA1に接続されている。スキャンFF60cのQがADR91のWA0に接続されている。スキャンFF60dのQがADR91のWEに接続されている。
【0084】
このような回路90では、ADR91の組み合わせ回路内に仮定される遷移故障のうち、WA0を0から1に遷移する動作を要求する故障は、冗長故障となり、テスト生成が失敗する。なぜならば、WA0を0から1に遷移する故障は、スキャンFF60cのQを0から1に変化させる。この場合、スキャンFF60dでは、QがXから0に変化することになり、WEがXから0となる。これにより、ADR91は、受け時刻でWE=0となり、書き込みが停止する。このように、WA0を0から1に遷移する動作を要求する故障は、受けFFで故障の影響を出力で観測できない。そして、このようなテスト生成の失敗は、WA0が0から1に遷移する動作を含む故障で、繰り返し複数回発生する。例えば、WA0=1の書き込みエントリではビット幅分発生する。
【0085】
そこで、解析部41は、入力したテストデータが冗長故障となった場合、過少テストとなるかを解析する。例えば、解析部41は、ADR91のWA0から、バックトレースを行い、故障停止の原因のスキャンFFとして、スキャンFF60cを特定する。また、解析部41は、故障励起の原因となるスキャンFFを特定する。例えば、解析部41は、ADR91のWEからバックトレースを行い、故障励起の原因のスキャンFFとして、スキャンFF60dを特定する。解析部41は、スキャンFF60cとスキャンFF60dが隣接関係にあるため、冗長故障の原因がスキャンシフトによるものと判定する。解析部41は、スキャンFF60cとスキャンFF60dを原因箇所として原因箇所データ31に記憶する。
【0086】
解析部41は、テスト生成で生成したテストデータが冗長故障となるごとに、過少テストとなるかを解析し、過少テストとなる場合、原因箇所を原因箇所データ31に記憶する。図9Bは、実施例に係る原因箇所データ31の一例を説明する図である。例えば、WA0を0から1に遷移する動作を含む故障f1、f2、f3のテスト生成に失敗した場合、原因箇所データ31には、原因箇所であるスキャンFF60cとスキャンFF60d(SFF60c-SFF60d)が原因箇所として記憶されている。
【0087】
提示部42は、解析部41による解析結果に基づき、過少テストを回避するための回路修正箇所を提示する。例えば、提示部42は、原因箇所データ31に記憶された原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を掲示する。図9Cは、実施例に係る原因箇所のカウント結果の一例を説明する図である。図9Cは、原因箇所データ31に記憶された原因箇所を、原因箇所別にカウントし、カウント値順にソートした結果である。図9Cでは、スキャンFF60cとスキャンFF60d(SFF60c-SFF60d)のカウント値がNとなっている。提示部42は、原因箇所であるスキャンFF60cとスキャンFF60dは、カウント値がNで最大であり、最初に修正すべき箇所として掲示される。
【0088】
設計者は、提示された結果から、回路90の修正すべき修正箇所を把握できる。また、設計者は、提示されたカウント値から、修正箇所の優先順位を判別できる。設計者は、回路90の修正箇所を修正する。図9Dは、実施例に係る回路90の修正の一例を説明する図である。図9Dでは、スキャンFF60cとスキャンFF60dの間にスキャンFF60eを追加する修正が行われている。すなわち、スキャンFF60eを挿入することで、冗長故障の原因となるスキャンFF60cとスキャンFF60dの隣接関係を解消している。なお、スキャンFF60dを拡張スキャン方式とする修正を行ってもよい。図9Eは、実施例に係る拡張スキャン方式としたスキャンFFの一例を説明する図である。拡張スキャン方式としたスキャンFF60d1は、スキャンFF60dのSIに専用のスキャンFF60d2が設けられている。スキャンFF60dのSIには、スキャンFF60d2を介してデータが入力する。
【0089】
これにより、WA0を0から1に遷移する動作を含む故障により、スキャンFF60cのQを0から1に変化させる場合、スキャンFF60eのQがXから0に変化してスキャンFF60dが0で固定されなくなるため、冗長故障となることを防止できる。これにより、WA0を0から1に遷移する動作を含む故障のテストを実施でき、過少テストを回避できる。
【0090】
このように、実施例に係る回路解析・修正提示装置10(解析装置)は、回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試みる。回路解析・修正提示装置10は、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析する。回路解析・修正提示装置10は、過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する。これにより、回路解析・修正提示装置10は、過少テストを回避するための回路の修正箇所を提示できる。
【0091】
また、回路データの回路は、テスト対象とするパスの入力側に接続されたスキャンフリップフロップをシリアル接続したスキャンチェーンが設けられている。回路解析・修正提示装置10は、スキャンチェーンから回路データの回路にテストデータを入力する。回路解析・修正提示装置10は、入力したテストデータが冗長故障となった場合、過少テストとなるかを解析する。これにより、回路解析・修正提示装置10は、スキャンシフトに依存した過少テストを回避するための回路の修正箇所を提示できる。
【0092】
また、回路解析・修正提示装置10は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定し、特定したスキャンフリップフロップを原因箇所として記憶する。回路解析・修正提示装置10は、記憶された原因箇所を回路修正箇所として提示する。これにより、回路解析・修正提示装置10は、冗長故障の原因となったスキャンフリップフロップを回路修正箇所として提示できる。
【0093】
また、回路解析・修正提示装置10は、テストデータが回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定する。これにより、回路解析・修正提示装置10は、縮退故障の原因となるデータを入力したスキャンフリップフロップを回路修正箇所として提示できる。
【0094】
また、回路解析・修正提示装置10は、テストデータが回路を伝搬する際に縮退故障が発生したゲート回路を特定する。回路解析・修正提示装置10は、特定したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因のスキャンフリップフロップを特定する。また、回路解析・修正提示装置10は、特定したゲート回路から前記テストデータの伝搬パスを順次バックトレースすることで故障励起の原因のスキャンフリップフロップを特定する。回路解析・修正提示装置10は、スキャンチェーンにおいて、故障停止の原因のスキャンフリップフロップと故障励起の原因のスキャンフリップフロップとが隣接する場合、過少テストとなると判定する。これにより、回路解析・修正提示装置10は、過少テストとなるかを適切に判定できる。
【0095】
また、回路解析・修正提示装置10は、過少テストの原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を、回路修正箇所として提示する。これにより、回路解析・修正提示装置10は、回路修正箇所の並びから回路修正箇所の優先順位を判別させることができる。
【0096】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0097】
例えば、上記の実施例では、試験処理では、テストデータが冗長故障となった場合、過少テストとなるかを解析し、過少テストとなる場合、過少テストを回避するための回路修正箇所を提示する場合を例に説明したが、開示の装置はこれに限定されない。例えば、試験処理では、冗長故障とならないテストデータについて遅延テストなどのテストを実施してもよい。また、試験処理では、動的故障圧縮に適用してもよい。
を行ってもよい。
【0098】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、試験処理部40、解析部41及び提示部42の各処理部が適宜統合または分割されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0099】
次に、上記実施例に示した回路解析・修正提示装置10と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図10は、実施例に係る回路解析・修正提示装置10と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0100】
図10に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置304と、インタフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
【0101】
ハードディスク装置307は、試験処理を実行する解析プログラム307aを有する。また、CPU301は、解析プログラム307aを読み出してRAM306に展開する。
【0102】
解析プログラム307aは、解析プロセス306aとして機能する。解析プロセス306aの処理は、試験処理部40、解析部41及び提示部42の処理に対応する。
【0103】
なお、解析プログラム307aについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307dを読み出して実行するようにしてもよい。
【0104】
なお、以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0105】
(付記1)回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、
対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する
処理をコンピュータに実行させることを特徴とする解析プログラム。
【0106】
(付記2)前記回路データの回路は、テスト対象とするパスの入力側に接続されたスキャンフリップフロップをシリアル接続したスキャンチェーンが設けられ、
前記テストデータの生成を試みる処理は、前記スキャンチェーンから前記回路データの回路に前記テストデータを入力し、
前記解析する処理は、入力した前記テストデータが冗長故障となった場合、過少テストとなるかを解析する
処理をコンピュータに実行させることを特徴とする付記1に記載の解析プログラム。
【0107】
(付記3)前記解析する処理は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定し、特定したスキャンフリップフロップを原因箇所として記憶する処理を含み、
前記提示する処理は、記憶された原因箇所を回路修正箇所として提示する
処理を含むことを特徴とする付記2に記載の解析プログラム。
【0108】
(付記4)前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定する処理を含むことを特徴とする付記3に記載の解析プログラム。
【0109】
(付記5)前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生したゲート回路を特定し、特定したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因のスキャンフリップフロップを特定すると共に、特定したゲート回路から前記テストデータの伝搬パスを順次バックトレースすることで故障励起の原因のスキャンフリップフロップを特定し、前記スキャンチェーンにおいて、前記故障停止の原因のスキャンフリップフロップと前記故障励起の原因のスキャンフリップフロップとが隣接する場合、過少テストとなると判定する処理を含む
ことを特徴とする付記2~4の何れか1つに記載の解析プログラム。
【0110】
(付記6)前記提示する処理は、過少テストの原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を、回路修正箇所として提示する
処理を含むことを特徴とする付記1~5の何れか1つに記載の解析プログラム。
【0111】
(付記7)回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、
対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する
処理をコンピュータが実行することを特徴とする解析方法。
【0112】
(付記8)前記回路データの回路は、テスト対象とするパスの入力側に接続されたスキャンフリップフロップをシリアル接続したスキャンチェーンが設けられ、
前記テストデータの生成を試みる処理は、前記スキャンチェーンから前記回路データの回路に前記テストデータを入力し、
前記解析する処理は、入力した前記テストデータが冗長故障となった場合、過少テストとなるかを解析する
処理を含むことを特徴とする付記7に記載の解析方法。
【0113】
(付記9)前記解析する処理は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定し、特定したスキャンフリップフロップを原因箇所として記憶する処理を含み、
前記提示する処理は、記憶された原因箇所を回路修正箇所として提示する
処理を含むことを特徴とする付記8に記載の解析方法。
【0114】
(付記10)前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定する処理を含むことを特徴とする付記9に記載の解析方法。
【0115】
(付記11)前記解析する処理は、前記テストデータが前記回路を伝搬する際に縮退故障が発生したゲート回路を特定し、特定したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因のスキャンフリップフロップを特定すると共に、特定したゲート回路から前記テストデータの伝搬パスを順次バックトレースすることで故障励起の原因のスキャンフリップフロップを特定し、前記スキャンチェーンにおいて、前記故障停止の原因のスキャンフリップフロップと前記故障励起の原因のスキャンフリップフロップとが隣接する場合、過少テストとなると判定する処理を含む
ことを特徴とする付記8~10の何れか1つに記載の解析方法。
【0116】
(付記12)前記提示する処理は、過少テストの原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を、回路修正箇所として提示する
処理を含むことを特徴とする付記7~11の何れか1つに記載の解析方法。
【0117】
(付記13)回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試みる試験処理部と、
前記試験処理部による処理の結果、対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析する解析部と、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する掲示部と、
を有することを特徴とする解析装置。
【0118】
(付記14)前記回路データの回路は、テスト対象とするパスの入力側に接続されたスキャンフリップフロップをシリアル接続したスキャンチェーンが設けられ、
前記試験処理部は、前記スキャンチェーンから前記回路データの回路に前記テストデータを入力し、
前記解析部は、入力した前記テストデータが冗長故障となった場合、過少テストとなるかを解析する
ことを特徴とする付記13に記載の解析装置。
【0119】
(付記15)前記解析部は、冗長故障の原因となるデータを入力したスキャンフリップフロップを特定し、特定したスキャンフリップフロップを原因箇所として記憶し、
前記掲示部は、記憶された原因箇所を回路修正箇所として提示する
ことを特徴とする付記14に記載の解析装置。
【0120】
(付記16)前記解析部は、前記テストデータが前記回路を伝搬する際に縮退故障が発生した箇所を特定し、縮退故障の原因となるデータを入力したスキャンフリップフロップを特定することを特徴とする付記15に記載の解析装置。
【0121】
(付記17)前記解析部は、前記テストデータが前記回路を伝搬する際に縮退故障が発生したゲート回路を特定し、特定したゲート回路から当該ゲート回路の出力を決定する入力端子を順次バックトレースすることで故障停止の原因のスキャンフリップフロップを特定すると共に、特定したゲート回路から前記テストデータの伝搬パスを順次バックトレースすることで故障励起の原因のスキャンフリップフロップを特定し、前記スキャンチェーンにおいて、前記故障停止の原因のスキャンフリップフロップと前記故障励起の原因のスキャンフリップフロップとが隣接する場合、過少テストとなると判定する
ことを特徴とする付記14~16の何れか1つに記載の解析装置。
【0122】
(付記18)前記掲示部は、過少テストの原因箇所別に、原因箇所をカウントし、カウント値の大きい順に原因箇所を、回路修正箇所として提示する
処理を含むことを特徴とする付記13~17の何れか1つに記載の解析装置。
【0123】
(付記19)プロセッサと、
前記プロセッサに動作可能に接続されたメモリと
を備えた解析装置であって、前記プロセッサは、
回路データを読み込み、対象となる遅延故障に対するテストデータの生成を試み、
対象とした遅延故障が冗長故障となった場合、過少テストとなるかを解析し、
過少テストとなる場合、解析結果に基づき、過少テストを回避するための回路修正箇所を提示する
処理を実行することを特徴とする解析装置。
【符号の説明】
【0124】
10 回路解析・修正提示装置
20 入力部
21 表示部
22 記憶部
23 制御部
30 回路データ
31 原因箇所データ
40 試験処理部
41 解析部
42 提示部
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図6C
図6D
図7
図8A
図8B
図8C
図8D
図8E
図8F
図9A
図9B
図9C
図9D
図9E
図10