JP5052432B2 - 故障検出率向上用回路挿入装置 - Google Patents

故障検出率向上用回路挿入装置 Download PDF

Info

Publication number
JP5052432B2
JP5052432B2 JP2008175504A JP2008175504A JP5052432B2 JP 5052432 B2 JP5052432 B2 JP 5052432B2 JP 2008175504 A JP2008175504 A JP 2008175504A JP 2008175504 A JP2008175504 A JP 2008175504A JP 5052432 B2 JP5052432 B2 JP 5052432B2
Authority
JP
Japan
Prior art keywords
circuit
detection rate
failure
failure detection
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008175504A
Other languages
English (en)
Other versions
JP2010015420A (ja
Inventor
一雄 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008175504A priority Critical patent/JP5052432B2/ja
Publication of JP2010015420A publication Critical patent/JP2010015420A/ja
Application granted granted Critical
Publication of JP5052432B2 publication Critical patent/JP5052432B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、コンピュータを用いて論理回路の故障検出率を向上させるテスト用回路を挿入する場合の故障検出率向上用回路挿入方法に関する。
故障検出率向上用の回路を挿入する従来の方式として、たとえば、論理合成後のネットリスト(回路接続情報)を使用する方式が下記特許文献1に開示されている。この方式では、論理回路のネットリストとテストパタンを用いて故障シミュレーションを行い、伝搬する未検出故障が最も多い信号線にスキャンパスフリップフロップを接続し、未検出故障伝搬情報を得る。ここで得た未検出故障伝搬情報による故障は検出されたとして、論理回路のネットリストと未検出故障伝搬情報を更新し、新たに故障検出率を算出し、規定の検出率に達していれば処理を終了し、達していなければ同様の手順を繰り返すものである。同様に下記特許文献2および下記特許文献3において、論理合成後のネットリストを使用して故障検出率向上用の回路を挿入する方法が開示されている。
特開平5−209943号公報 特開平9−330346号公報 特開平11−25138号公報
しかしながら、上記従来の技術では、論理合成後のネットリストのみを使用して故障検出率向上用の回路を挿入しているが、回路の挿入および回路の配線等による遅延の影響を考慮していない。そのため、想定以上の遅延がある場合、回路全体において要求される周波数で動作しなくなり、誤動作を引き起こしてしまう、という問題があった。
本発明は、上記に鑑みてなされたものであって、想定外の遅延によって回路に要求される周波数で動作しなくなることによる誤動作を回避可能な故障検出率向上用回路挿入方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、HDL記述による論理回路設計において、論理回路の故障検出率を向上させるための故障検出率向上用回路を挿入する場合の故障検出率向上用回路挿入方法であって、論理合成により得られるネットリストを入力としてATPGを適用し、故障検出率を算出する故障検出率算出ステップと、前記ネットリストに基づいて仮配置配線を行う仮配置配線ステップと、目標となる故障検出率に達していない場合に、前記ネットリスト、前記仮配置配線により得られる遅延情報、前記故障検出率算出ステップにより判明する未検出故障箇所に関する情報、および静的タイミング検証で使用するタイミング制約情報に基づいて、故障検出率向上用回路を挿入する未検出故障箇所を決定する回路挿入箇所決定ステップと、を含むことを特徴とする。
この発明によれば、想定外の遅延によって回路に要求される周波数で動作しなくなることによる誤動作を回避することができる、という効果を奏する。
以下に、本発明にかかる故障検出率向上用回路挿入方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる故障検出率向上用回路挿入方法の実施の形態1の動作を示すフローチャートである。また、本実施の形態の故障検出率向上用回路挿入方法を実現する計算機システム(コンピュータ)は、故障検出率向上用回路挿入処理を実行する制御部と、ハードウエア記述言語(HDL:Hardware Description Language)で記述された論理設計ファイル(RTL:Register Transfer Level)1,回路規模,動作周波数等の制約情報2,論理合成およびスキャン挿入により出力されるネットリスト(回路接続情報)3,仮診断の結果である未検出故障情報4,仮レイアウトにより生成される遅延情報ファイル5,静的タイミング検証で使用するタイミング制約ファイル6、をそれぞれ記憶するための各種記憶部と、を備える。以下、図1のフローチャートに基づいて上記計算機システムの動作を説明する。
まず、計算機システムの制御部は、論理設計ファイル1と制約情報2の情報を入力して論理合成を行い(ステップS10)、故障検出のためのスキャン回路を挿入し(ステップS11)、ネットリスト3を出力する。
つぎに、制御部は、ネットリスト3に基づいてATPG(automatic test pattern generation)を仮試行し、未検出故障箇所,未検出故障が到達する初段の記憶回路(フリップフロップ:FF)の情報を収集し、未検出故障情報4を出力する(ステップS12)。また、故障検出率を算出する(ステップS12)。ここで、仮診断において未検出故障が少なく、目標の故障検出率に達している場合(ステップS13:Yes)、回路変更処理は不要なため、制御部は、仮レイアウト(ステップS14)を実施後にタイミング検証(ステップS20)に進む。なお、上記ステップS14の仮レイアウトにおいて、制御部は、ネットリスト3に基づいて配置配線を行い、遅延情報ファイル5を出力する。
一方、仮診断(ステップS12)の結果、故障検出率が目標に達していない場合(ステップS13:No)、制御部は、ネットリスト3,遅延情報ファイル5等の情報に基づいて、故障検出率向上のため回路変更を実施する(ステップS15)。
図2は、回路変更(ステップS15)の動作を示すフローチャートである。まず、制御部は、論理設計ファイル1,制約情報2,ネットリスト3,未検出故障情報4,遅延情報ファイル5,タイミング制約ファイル6の各データを各記憶部から読み出す(ステップS21)。
つぎに、制御部は、故障検出率向上のために故障検出率向上用回路をいくつ追加可能か調査する(ステップS22)。追加可能な記憶回路数は、「(許容回路規模・現行回路規模)/((FF1個のゲート数)×係数)」に基づいて算出する。上記の係数は、以降のステップで故障検出率向上用回路を追加した場合のマージンであり、たとえば、1.1を目安にするが、変更可能な値とする。
つぎに、制御部は、未検出故障箇所の経路チェックを行う(ステップS23)。経路チェックは、静的タイミング検証時に使用するタイミング制約ファイル6に基づいて判断する。タイミング制約ファイルには、タイミング例外箇所として、タイミング制約がない箇所(フォルスパス)や複数サイクルで伝播すればよい箇所(マルチサイクルパス)が定義されている。
制御部は、未検出故障箇所を含む経路(前段の記憶回路(FF)から未検出故障箇所に到達するまでの経路、および未検出故障箇所から後段の記憶回路(FF)に到達するまでの経路)の全てが、タイミング例外箇所に含まれているかどうかを調査する。タイミング例外箇所に定義されていれば、上記未検出故障箇所を、故障検出率向上用回路を追加する候補とする。
なお、タイミング例外箇所の中で、起点(前段)と終点(後段)の記憶回路のクロックおよびリセット入力信号が異なる場合は、故障検出率向上用回路を追加した後のタイミング解析において判定が困難となる。そのため、このような場合は、故障検出率向上用回路追加の候補から外す。
つぎに、制御部は、ステップS22でチェックした故障検出率向上用回路追加可能数よりも実際の追加箇所の数が小さく、かつ、故障検出率向上用回路追加の候補の中で検討が未実施の未検出故障箇所があるかどうかを調査し(ステップS24)、可能数に達しておらず検討が未実施の箇所がある場合(ステップS24:Yes)、故障検出率向上用回路を追加する経路を選択する(ステップS25)。ここでは、多くの故障検出率向上用回路追加の候補がある経路を選択する。
つぎに、制御部は、経路上にある候補の中から、故障検出率向上用回路を追加する未検出故障箇所を決定する(ステップS26)。そのため、制御部は、前段の記憶回路の出力から未検出故障箇所のゲート回路の入力までの遅延、および未検出故障箇所のゲート回路の出力から後段の記憶回路の入力までの遅延を測定し、故障検出率向上用回路を追加した場合に、要求されるタイミング条件を満たすかどうかを調査する。調査の結果、複数の候補が残った場合は、タイミング的に最も余裕がある未検出故障箇所を選択する。要求されるタイミング条件を満たさない未検出故障箇所や、選択しなかった未検出故障箇所は、故障検出率向上用回路を追加する候補から外す。ここで、図3−1および図3−2を用いて、具体例を挙げて説明する。
図3−1は、故障検出率向上用回路を追加する前の論理回路の構成例を示す図である。また、図3−2は、故障検出率向上用回路を追加した後の論理回路の構成例を示す図である。30は前段の記憶回路(FF)、31は後段の記憶回路(FF)、32,33,34はゲート回路、35は組み合わせ論理回路、36は追加した故障検出率向上用回路、36−1は故障検出率向上用回路内の記憶回路(FF)を表す。なお、図3−1および図3−2の回路において、クロックサイクル(周期)は10nsであり、経路はマルチサイクル(2サイクル)で伝播すればよいと仮定する。
たとえば、図3−1の回路において、前段の記憶回路30の出力からゲート回路32の出力までの経路では、5nsの遅延があり、ゲート回路32の出力から後段の記憶回路31の入力までの経路では、10nsの遅延があると仮定する。同様に、前段の記憶回路30の出力からゲート回路33の出力までが7ns、ゲート回路33の出力から後段の記憶回路31の入力までが8ns、前段の記憶回路30の出力からゲート回路34の出力までが9ns、ゲート回路34の出力から後段の記憶回路31の入力までが6nsの遅延があると仮定する。
ここで、図3−1において、ゲート回路32の出力箇所に故障検出率向上用回路を挿入した場合について検討する。前段の記憶回路30からゲート回路32までの経路において遅延は5nsであり1サイクルに収まるが、ゲート回路32から後段の記憶回路31までの経路において遅延は10nsであり2サイクルを要する可能性がある。したがって、この場合は、前段の記憶回路から後段の記憶回路までに合計3サイクル必要となり、要求されるタイミング条件(2サイクル)を満たさないことになる。そのため、ゲート回路32の出力箇所を候補から外す。
つぎに、ゲート回路33の出力箇所に故障検出率向上用回路を挿入した場合について検討する。前段の記憶回路30からゲート回路33までの経路において遅延は7nsであり、ゲート回路33から後段の記憶回路31までの経路において遅延は8nsであり、ともに10ns以内で1サイクルずつに収まる。したがって、この場合は、前段の記憶回路から後段の記憶回路において合計2サイクルで収まり、要求されるタイミング条件を満たすことから、候補として残す。
同様にゲート回路34の出力箇所に故障検出率向上用回路を挿入した場合について検討する。前段の記憶回路30からゲート回路34までの経路において遅延は9nsであり、ゲート回路34から後段の記憶回路31までの経路において遅延は6nsであり、ともに10ns以内で1サイクルずつに収まる。したがって、この場合も、前段の記憶回路から後段の記憶回路において合計2サイクルで収まり、要求されるタイミング条件を満たすことから、候補として残す。
そして、上記候補として残した出力箇所の中から、実際に故障検出率向上用回路を追加する出力箇所(未検出故障箇所)を決定する。上記の例では、故障検出率向上用回路を追加する候補として2箇所が残っているが、ゲート回路34の出力箇所では、前段の記憶回路30からゲート回路34までの経路において遅延が9nsであり、クロックサイクル(10ns)に対して余裕が一番小さい。そこで、本実施の形態では、ゲート回路34の出力箇所を候補から外す。これにより、制御部は、クロックサイクルに対して最も余裕のあるゲート回路33の出力箇所を、故障検出率向上用回路36を追加する未検出故障箇所と決定する。故障検出率向上用回路36を追加した状態の論理回路は、図3−2に示す構成となる。
なお、タイミング制約ファイルの中でフォルスパスとして定義された経路へ故障検出率向上用回路を追加するときは、同一クロックおよび同一リセットで動作する記憶回路間の経路のみを対象とする。この場合、フォルスパスの所要サイクル数の増大を抑制するため、故障検出率向上用回路の追加は、対象の経路内において1箇所とする。
つぎに、制御部は、前記決定した未検出故障箇所に対する故障検出率向上用回路の追加を反映し、ネットリスト3,タイミング制約ファイル6の情報を更新する(ステップS27)。
タイミング制約ファイル6においてマルチサイクルの条件があった箇所は、故障検出率向上用回路の追加により条件が変わる。そのため、故障検出率向上用回路の追加の影響を受ける全ての経路を対象に、故障検出率向上用回路の追加箇所までの伝播に要するサイクル数または遅延時間、および追加箇所からの伝播に要するサイクル数または遅延時間、を反映する必要がある。制御部は、上記の場合、図3−2において前段の記憶回路30から故障検出率向上用回路36内の記憶回路36−1までの経路が1サイクル、記憶回路36−1から後段の記憶回路31までの経路が1サイクル、で伝播することを確認できるスクリプトをタイミング制約ファイルに追記する。
その後、制御部は、故障検出率向上用回路追加箇所数が故障検出率向上用回路追加可能数よりも小さく、かつ、故障検出率向上用回路追加の候補の中で検討が未実施の未検出故障箇所があるかどうかを再度調査し(ステップS24)、可能数に達するか、または検討が未実施の未検出故障箇所がなくなるまで上記ステップS24〜S27の処理を繰り返し実行する。
そして、上記繰り返し処理の結果、ステップS24の処理で実際の故障検出率向上用回路追加箇所数が故障検出率向上用回路追加可能数に達した場合や検討が未実施の未検出故障箇所がなくなった場合(ステップS24:No)、制御部は、故障検出率向上用回路を追加した内容を反映し、更新したネットリスト3a,およびタイミング制約ファイル6aを出力し、回路変更の処理を終了する(ステップS28)。なお、上記ステップS22の処理で故障検出率向上用回路追加可能数が0の場合やステップS23の処理で故障検出率向上用回路追加の候補とする未検出故障箇所がなかった場合(ステップS24:No)、制御部は、故障検出率向上用回路の追加が行われていないので、図2の回路変更処理、さらには、図1の故障検出率向上用回路挿入処理を終了する。
つぎに、制御部は、回路変更実施後のネットリスト3aを使用して配置配線を行い、回路変更後の遅延情報ファイル5aを出力する(ステップS19)。
また、上記ステップS15の処理で回路変更後、制御部は、回路変更実施後のネットリスト3aを使用して、仮診断(ステップS12)で未検出故障箇所であった箇所が検出可能かどうかを確認し、目標の故障検出率に達しているかどうかを評価する(ステップS16)。
たとえば、目標の故障検出率に達した場合(ステップS17:Yes)、制御部は、最後に、回路変更実施後のネットリスト3a,タイミング制約ファイル6a,遅延情報ファイル5aの各情報を入力してタイミング検証を行い(ステップS20)、回路変更による遅延が許容可能な範囲内であるかどうかを確認する。なお、ステップS17の処理で目標の故障検出率に達していないと判断した場合(ステップS17:No)、制御部は、人手によるパタン追加を行い(ステップS18)、その後、追加したパタンに対して、故障検出率の評価を行う(ステップS16)。以降、目標の故障検出率に達するまで上記ステップS16〜S18の処理を繰り返し実行する。
以上説明したように、本実施の形態によれば、制御部が、遅延情報ファイルに基づいて故障検出率向上用回路を挿入することとした。これにより、想定外の遅延により要求される周波数で動作しなくなり、誤動作を引き起こしてしまうような回路変更を防ぐことができる。
また、本実施の形態によれば、制御部が、回路変更後の更新情報に基づきタイミング検証を行うこととした。これにより、想定外の遅延により要求される周波数で動作しなくなり、誤動作を引き起こしてしまうような回路変更の有無を判断することができる。
実施の形態2.
実施の形態1では、故障検出率向上用回路を追加する処理について説明した。本実施の形態では、故障検出率向上用回路を追加する場合に、その内容を論理設計ファイルに反映させる処理について説明する。
図4は、本発明にかかる故障検出率向上用回路挿入方法の実施の形態2の動作を示すフローチャートである。以下、図4のフローチャートに基づいて計算機システムの動作を説明する。
なお、論理合成(ステップS10)から仮診断(ステップS12)、および仮レイアウト(ステップS14)の制御部の動作については、実施の形態1と同様であるため、説明を省略する。また、本実施の形態では、論理合成(ステップS10)とスキャン挿入(ステップS11)の2つをあわせてステップS41とする。また、仮診断において未検出故障が少なく、目標の故障検出率に達している場合(ステップS13:Yes)、回路変更処理は不要なため、制御部は、仮レイアウト(ステップS14)を実施後にタイミング検証(ステップS20)に進む。
図4において、制御部は、ステップS12による仮診断の結果、故障検出率が目標に達していない場合(ステップS13:No)、ネットリスト3,遅延情報ファイル5等の情報を入力し、論理設計ファイルの変更を実施する(ステップS40)。
図5は、論理設計ファイル変更(ステップS40)の動作を示すフローチャートである。なお、前述した実施の形態1の図2と同様の処理については同一のステップ番号を付しその説明を省略する。
たとえば、論理合成を行うと論理圧縮されることが一般的であり、論理圧縮により、ネットリストと論理設計ファイルとの間で対応する箇所が分からなくなっていることが多い。本実施の形態の制御部は、故障検出率向上用回路追加の候補の中から、回路を追加する未検出故障箇所を決定するため、ネットリストと論理設計ファイルの対応が分かる未検出故障箇所があるか調査をする。
具体的には、制御部は、故障検出率向上用回路を追加する候補として挙げられている未検出故障箇所が、接続している信号名やインスタンス名から判断して、ネットリストと論理設計ファイルの対応が分かる未検出故障箇所として特定できるかどうかを調査する。特定できた場合は、その未検出故障箇所について、前段の記憶回路の出力から未検出故障箇所直前のセルの出力までの遅延、および未検出故障箇所直後のセルの出力から後段の記憶回路の入力までの遅延、を測定する。そして、故障検出率向上用回路を追加した場合に、要求されるタイミング条件を満たすかどうかを調査する。調査の結果、複数の候補が残った場合の選択方法は、前述した実施の形態1と同じである。制御部は、上記で選択した未検出故障箇所を、故障検出率向上用回路を追加する未検出故障箇所として決定し(ステップS51)、故障検出率向上用回路の追加に伴い論理設計ファイルを変更する(ステップS52)。
具体的に例を挙げて説明する。図6は、論理設計ファイル(RTL)の構成例を示す図である。また、図7−1は、図6のRTLを論理合成した場合のネットリストの構成例を示す図である。たとえば、図7−1において、インスタンス名“U121”の“y”端子、“U120”の“y”端子が含まれる経路が未検出故障箇所になっている場合は、経路および信号名から“b_flag”が論理設計ファイルとネットリストとの間で対応していることが分かる。したがって、この未検出故障箇所の遅延を測定し、要求されるタイミング条件を満たせば、故障検出率向上用回路を追加することができる。図7−2は、要求されるタイミング条件を満たし、故障検出率向上用回路を追加した回路を論理合成した場合のネットリストを示す図である。また、図8は、図7−2のネットリストを論理設計ファイル(RTL)に展開した図である。
また、上記ステップS52の処理で論理設計ファイルを変更する場合、制御部は、さらに、故障検出率向上用回路を追加したことを反映するため、タイミング制約ファイル6の情報も更新する(ステップS52)。
なお、故障検出率向上用回路を追加した論理設計ファイルを使って機能シミュレーションを行う場合、故障検出率向上用回路を追加した経路において出力伝播までのサイクル数が変わることが考えられる。そのため、制御部は、追加した故障検出率向上用回路の動作確認のためのモニタリング用記述(アサーション)ファイル7を生成する(ステップS52)。なお、複数の未検出故障個所において故障検出率向上用回路を追加する場合は、故障検出率向上用回路を追加する毎にモニタリング用記述を蓄積する。
その後、制御部は、故障検出率向上用回路追加箇所数が故障検出率向上用回路追加可能数よりも小さく、かつ、故障検出率向上用回路追加の候補の中で検討が未実施の未検出故障箇所があるかどうかを再度調査し(ステップS24)、可能数に達するか、または検討が未実施の未検出故障箇所がなくなるまでステップS24,S25,S51,S52の処理を繰り返し実行する。
そして、上記繰り返し処理の結果、ステップS24の処理で実際の故障検出率向上用回路追加箇所数が故障検出率向上用回路追加可能数に達した場合や検討が未実施の未検出故障箇所がなくなった場合(ステップS24:No)、制御部は、故障検出率向上用回路を追加した内容を反映し、更新した論理設計ファイル1a,タイミング制約ファイル6a,モニタリング用記述ファイル7を出力し、論理設計ファイル変更の処理を終了する(ステップS53)。なお、上記ステップS22の処理で故障検出率向上用回路追加可能数が0の場合やステップS23の処理で故障検出率向上用回路追加の候補とする未検出故障箇所がなかった場合(ステップS24:No)、制御部は、故障検出率向上用回路の追加が行われていないので、図5の論理設計ファイル変更処理、さらには、図4の故障検出率向上用回路挿入処理を終了する。
上記ステップS40で論理設計ファイル変更処理を終了後、制御部は、更新後の論理設計ファイル1bと制約情報2を使用して、再度、論理合成およびスキャン挿入を実施し(ステップS41)、更新後のネットリスト3bを出力する。そして、制御部は、更新後のネットリスト3bを使用して配置配線を行い、回路変更後の遅延情報ファイル5bを出力する(ステップS45)。
また、上記ステップS41の処理で更新後のネットリスト3bを出力後、制御部は、更新後のネットリスト3bを使用して、仮診断(ステップS12)で未検出故障箇所であった箇所を診断し、目標の故障検出率に達しているかどうかを評価する(ステップS16)。
たとえば、目標の故障検出率に達した場合(ステップS17:Yes)、制御部は、最後に、更新後のネットリスト3b,タイミング制約ファイル6b,遅延情報ファイル5bの各情報を入力してタイミング検証を行い(ステップS20)、論理設計ファイル変更による遅延が許容可能な範囲内であるかどうかを確認する。なお、ステップS17の処理で目標の故障検出率に達していないと判断した場合(ステップS17:No)、制御部は、人手によるパタン追加を行い(ステップS18)、その後、追加したパタンに対して、故障検出率の評価を行う(ステップS16)。以降、目標の故障検出率に達するまで上記ステップS16〜S18の処理を繰り返し実行する。
以上説明したように、本実施の形態によれば、制御部が、遅延情報ファイルに基づいて故障検出率向上用回路を挿入する未検出故障箇所を特定し、その結果に基づき論理設計ファイルを更新することとした。これにより、実施の形態1と同様の効果が得られるとともに、さらに論理設計ファイルに故障検出率向上の対策が反映されているため、たとえば、次のLSI開発に変更後の論理設計ファイルを流用することで、同様の故障検出率向上の対策の検討を省略することができる。
なお、本実施の形態では、論理設計ファイルとネットリストの対応が分かる未検出故障箇所についてのみ回路変更を検討している。そのため、実施の形態1で生成されるネットリスト3a,タイミング制約ファイル6a,遅延情報ファイル5aと、実施の形態2で生成されるネットリスト3b,タイミング制約ファイル6b,遅延情報ファイル5bは異なる内容になることが考えられる。
実施の形態3.
実施の形態1および実施の形態2では、故障検出率向上の対策を実施しても目標の故障検出率に達しない場合、人手による回路修正やパタン追加等の対策を行うこととしている。本実施の形態では、ネットリストまたは論理設計ファイルを参照するだけで対策を検討すべき未検出故障箇所が分かるようにする。
たとえば、実施の形態1の回路変更処理(ステップS15)において、故障検出率向上用回路を追加する候補に挙がったが、実際には追加しなかった未検出故障箇所のネットリストのインスタンス名を変更する。具体的には、たとえば、図7−1において、「候補」で示す箇所が回路追加の候補として挙がったが、実際には追加しなかったと仮定して、インスタンス名“U121”のセルの端子“a1”、“a2”の「stack-at-1」と端子“y”の「stuck-at-1」が未検出だった場合、制御部は、図7−2の「変更」で示すようにインスタンス名を“U121_y$0_a3$1_a4$1”と変更する。このとき、ネットリストの変更の際には、同一インスタンス名のセルが他にないことを確認した上で、設計ルール上使用可能な文字,記号を用いて修正する。
これにより、ネットリスト上に、故障検出率向上用回路を追加する候補であったが、実際には追加しなかった未検出故障箇所の情報を残すことができる。そのため、後に人手による回路修正やパタン追加をする場合であっても、ネットリストを参照するだけで、具体的に検討すべき未検出故障箇所を把握することができる。なお、ここで述べた処理については、実施の形態1における処理とあわせて行うことも可能である。
つぎに、実施の形態2の論理設計ファイル変更処理(ステップS40)については、上記と異なり、論理設計ファイルを参照するだけで対策を検討すべき未検出故障箇所が分かるようにする。たとえば、前述したように、論理合成を行う場合は、論理圧縮により、ネットリストと論理設計ファイルの対応する箇所が分からなくなっていることが多い。そのため、制御部は、未検出故障箇所から最初に伝播する初段の記憶回路のネットリストのインスタンス名を変更する。具体的には、たとえば、図7−1のネットリストにおいて、インスタンス名“sgnl_out_reg”の記憶回路に10箇所の未検出故障が伝播してくる場合、制御部は、インスタンス名を“sgnl_out_reg_undet$10”と変更する。このとき、ネットリストの変更の際には、同一インスタンス名のセルが他にないことを確認した上で、設計ルール上使用可能な文字,記号を用いて修正する。その後、制御部は、このネットリストを論理設計ファイルに展開する。
これにより、論理設計ファイル上に、未検出故障箇所から最初に伝搬する記憶回路の箇所についての情報を残すことができる。そのため、後に人手による回路修正やパタン追加をする場合であっても、論理設計ファイルを参照すれば、記憶回路を基点に検討することで対策すべき未検出故障箇所を容易に把握することができる。なお、ここで述べた処理については、実施の形態2における処理とあわせて行うことも可能である。
以上説明したように、本実施の形態によれば、制御部は、ネットリスト中に故障検出率向上用回路を追加する候補であったことを示す情報を、または、論理設計ファイル中に未検出故障箇所から最初に伝搬する記憶回路の箇所についての情報を、それぞれ追加することとした。これにより、人手による回路修正やパタン追加の対策の際、ネットリストまたは論理設計ファイルを参照するだけで、どの箇所を検討すべきか判断することができる。
以上のように、本発明にかかる故障検出率向上用回路挿入方法は、論理回路開発に有用であり、特に、論理回路の故障検出率を向上させる場合に適している。
本発明にかかる故障検出率向上用回路挿入方法の実施の形態1の動作を示すフローチャートである。 回路変更の動作を示すフローチャートである。 故障検出率向上用回路を追加する前の論理回路の構成例を示す図である。 故障検出率向上用回路を追加した後の論理回路の構成例を示す図である。 本発明にかかる故障検出率向上用回路挿入方法の実施の形態2の動作を示すフローチャートである。 論理設計ファイル変更の動作を示すフローチャートである。 論理設計ファイルの構成例を示す図である。 ネットリストの構成例を示す図である。 ネットリストの構成例を示す図である。 図7−2のネットリストを論理設計ファイルに展開した図である。
符号の説明
1,1b 論理設計ファイル(RTL)
2 制約情報
3,3a,3b ネットリスト(回路接続情報)
4 未検出故障情報
5,5a,5b 遅延情報ファイル
6,6a,6b タイミング制約ファイル
7 モニタリング用記述(アサーション)ファイル
30,31 記憶回路(FF)
32,33,34 ゲート回路
35 組み合わせ論理回路
36 故障検出率向上用回路
36−1 記憶回路(FF)

Claims (7)

  1. HDL記述による論理回路設計において、論理回路の故障検出率を向上させるための故障検出率向上用回路を挿入する計算機システムにおける故障検出率向上用回路挿入装置であって、
    論理合成により得られるネットリストを入力としてATPGを仮試行した結果得られる回路の未検出故障箇所の情報を用いて故障検出率を算出する故障検出率算出手段と、
    前記ネットリストに基づいて仮配置配線を行う仮配置配線手段と、
    前記故障検出率算出手段で算出した故障検出率が回路変更処理を必要としない規定の目標故障検出率に達しているかどうかを確認する故障検出率確認手段と、
    前記標故障検出率に達していないATPG仮試行後の回路に対して、前記ネットリスト、前記仮配置配線手段で仮配置配線した回路で発生する遅延を示す遅延情報、前記故障検出率算出手段で得た未検出故障箇所に関する情報、および静的タイミング検証で使用するタイミング制約情報に基づいて、故障検出率向上用回路を挿入する未検出故障箇所を決定する回路挿入箇所決定手段と、
    備えることを特徴とする故障検出率向上用回路挿入装置
  2. 前記回路挿入箇所決定手段は、
    故障検出率向上用回路の追加可能数を調査する故障検出率向上用回路追加可能数決定手段と、
    前記故障検出率算出手段で得た未検出故障箇所を含むフリップフロップ間の経路をチェックし、前記タイミング制約を満たしてい経路上の未検出故障箇所を故障検出率向上用回路挿入の候補とする候補決定手段と、
    前記経路上の未検出故障箇所の中で、前段および後段の回路との間に発生する遅延時間がクロックサイクルに対して最も余裕のある未検出故障箇所を故障検出率向上用回路挿入対象の未検出故障箇所と決定し、それ以外の未検出故障箇所を候補から除外する挿入対象決定手段と、
    備え
    前記候補決定手段および前記挿入対象決定手段における処理を、追加した故障検出率向上用回路の数が追加可能数に達するか、または前記候補がなくなるまで繰り返し実行することを特徴とする請求項1に記載の故障検出率向上用回路挿入装置
  3. 前記ネットリスト内の前記決定された未検出故障箇所に故障検出率向上用回路を挿入し、当該回路挿入に伴う更新後のネットリストに基づいて配置配線を行い、前記仮配置配線により得られた遅延情報を更新する配置配線手段と、
    前記更新後のネットリストに基づいて前記目標故障検出率に達しているかどうかを判断する故障検出率評価手段と、
    前記故障検出率評価手段の処理で前記目標故障検出率に達していると判断した前記更新後のネットリスト、前記故障検出率向上用回路を追加した内容を反映した更新後のタイミング制約ファイルおよび前記更新後の遅延情報に基づいてタイミング検証を行うタイミング検証手段と、
    備えることを特徴とする請求項1または2に記載の故障検出率向上用回路挿入装置
  4. 前記挿入対象決定手段で候補から除外した未検出故障箇所を示す情報を、前記配置配線手段で更新後のネットリストに付加するネットリスト付加手段、
    を備えることを特徴とする請求項3に記載の故障検出率向上用回路挿入装置
  5. 前記HDL記述内の前記決定された未検出故障箇所に故障検出率向上用回路を挿入し、当該回路挿入による更新後のHDL記述を用いて再度論理合成を行い、当該論理合成により得られる更新後のネットリストに基づいて配置配線を行い、前記仮配置配線により得られた遅延情報を更新する配置配線手段と、
    前記更新後のネットリストに基づいて前記目標故障検出率に達しているかどうかを判断する故障検出率評価手段と、
    前記故障検出率評価手段の処理で前記目標故障検出率に達していると判断した前記更新後のネットリスト、回路挿入により更新されたタイミング制約ファイルおよび前記更新後の遅延情報に基づいてタイミング検証を行うタイミング検証手段と、
    備えることを特徴とする請求項1または2に記載の故障検出率向上用回路挿入装置
  6. 前記挿入した故障検出率向上用回路の動作確認のためのモニタリング用記述を生成するモニタリング用記述生成手段、
    を備えることを特徴とする請求項5に記載の故障検出率向上用回路挿入装置
  7. 前記挿入対象決定手段で候補から除外した未検出故障箇所を示す情報を、前記配置配線手段で更新後のHDLに付加するHDL付加手段、
    を備えることを特徴とする請求項5または6に記載の故障検出率向上用回路挿入装置
JP2008175504A 2008-07-04 2008-07-04 故障検出率向上用回路挿入装置 Expired - Fee Related JP5052432B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008175504A JP5052432B2 (ja) 2008-07-04 2008-07-04 故障検出率向上用回路挿入装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008175504A JP5052432B2 (ja) 2008-07-04 2008-07-04 故障検出率向上用回路挿入装置

Publications (2)

Publication Number Publication Date
JP2010015420A JP2010015420A (ja) 2010-01-21
JP5052432B2 true JP5052432B2 (ja) 2012-10-17

Family

ID=41701479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008175504A Expired - Fee Related JP5052432B2 (ja) 2008-07-04 2008-07-04 故障検出率向上用回路挿入装置

Country Status (1)

Country Link
JP (1) JP5052432B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6051548B2 (ja) * 2012-03-15 2016-12-27 株式会社リコー 自動配置配線装置および自動配置配線方法

Also Published As

Publication number Publication date
JP2010015420A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
US7888971B2 (en) Verification support system and method
JP4636989B2 (ja) 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体
KR20180112725A (ko) 장애 지점을 검출하기 위한 장치 및 방법
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
US7003743B2 (en) Method and system of data processor design by sensitizing logical difference
Gurumurthy et al. Automatic generation of instructions to robustly test delay defects in processors
US20200410065A1 (en) Deterministic test pattern generation for designs with timing exceptions
JP4445517B2 (ja) 回路設計検証方法および回路設計検証のためのプログラム
Wang et al. On probability of detection lossless concurrent error detection based on implications
JP4736822B2 (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
JPH11142482A (ja) タイミング故障診断方法及び装置
JP5052432B2 (ja) 故障検出率向上用回路挿入装置
Hunger et al. ATPG-Based grading of strong fault-secureness
US8943457B2 (en) Simulating scan tests with reduced resources
JP5292164B2 (ja) 故障診断方法および故障診断システム
US8468409B2 (en) Speed-path debug using at-speed scan test patterns
US10909290B2 (en) Method of detecting a circuit malfunction and related device
US6546514B1 (en) Integrated circuit analysis and design involving defective circuit element replacement on a netlist
JP2006084427A (ja) テストポイント挿入方法
US8438518B2 (en) Apparatus for designing semiconductor integrated circuit, method of designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit
JP2008527322A (ja) 回路配置並びにその検査および/または診断方法
Fang et al. RTL DFT techniques to enhance defect coverage for functional test sequences
US20120253712A1 (en) Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program
JP6303509B2 (ja) 回路検証方法、及び回路検証プログラム
Chang et al. Rtl analysis and modifications for improving at-speed test

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees