JP5262985B2 - 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法 - Google Patents

遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法 Download PDF

Info

Publication number
JP5262985B2
JP5262985B2 JP2009120958A JP2009120958A JP5262985B2 JP 5262985 B2 JP5262985 B2 JP 5262985B2 JP 2009120958 A JP2009120958 A JP 2009120958A JP 2009120958 A JP2009120958 A JP 2009120958A JP 5262985 B2 JP5262985 B2 JP 5262985B2
Authority
JP
Japan
Prior art keywords
path
delay
chip
delay value
chips
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
JP2009120958A
Other languages
English (en)
Other versions
JP2010271067A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009120958A priority Critical patent/JP5262985B2/ja
Priority to US12/778,329 priority patent/US8418009B2/en
Publication of JP2010271067A publication Critical patent/JP2010271067A/ja
Application granted granted Critical
Publication of JP5262985B2 publication Critical patent/JP5262985B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28—Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317—Testing of digital circuits
    • G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本開示技術は、半導体集積回路の遅延故障を検査する遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法に関する。
近年、プロセスの微細化により、チップ上でのポストシリコン(実測値)とプレシリコン(予測値)との間のパス遅延に大きなずれが生じている。パス遅延のずれの原因としては、チップに依存しないシステマティックなエラー(たとえば、セルライブラリの遅延見積ミス)と、チップごとに不規則なエラー(たとえば、遅延故障)とがある。
従来、チップごとに不規則なエラーの影響により、チップが目標とする周波数で動作しない場合において、エラーの原因である素子を特定するための手法が各種提供されている。具体的には、たとえば、様々なテストパターンを生成してチップに与え、不規則なエラーの原因となっている素子を探索する手法がある。
特開2005−257654号公報 特開2007−108863号公報
Pouria Bastani,Nicholas Callegari,Li−C.Wang,Magdy S.Abadir"Statistical Diagnosis of Unmodeled Systematic Timing Effects"DAC 2008,p355−360
しかしながら、上述した従来技術では、様々なテストパターンを作成してチップに与え、パス遅延を複数回測定してエラーの原因となっている素子を探索することになる。このため、エラー(遅延故障)の特定にかかる作業負担および作業時間が増大し、ひいては設計期間の長期化を招くという問題があった。
本開示技術は、上述した従来技術による問題点を解消するため、チップごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本開示技術は、対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第1遅延値を前記チップごとに取得し、取得されたチップごとのパスの第1遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築し、構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第2遅延値を算出し、前記チップごとに、算出されたパスの第2遅延値と、当該パスと同一構成のパスの第1遅延値とを比較し、比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定し、決定された決定結果を出力することを特徴とする。
本開示技術によれば、チップごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができるという効果を奏する。
遅延故障検査手法の一例を示す説明図である。 遅延故障検査装置のハードウェア構成を示すブロック図である。 ネットリストの一例を示す説明図である。 パス遅延テーブルの記憶内容の一例を示す説明図(その1)である。 実施の形態1にかかる遅延故障検査装置の機能的構成を示すブロック図である。 共通要素の探索例を示す説明図である。 探索結果テーブルの記憶内容の一例を示す説明図である。 実施の形態1にかかる遅延故障検査処理手順の一例を示すフローチャートである。 故障パス候補決定処理の具体的処理手順の一例を示すフローチャートである。 共通要素探索処理の具体的処理手順の一例を示すフローチャートである。 ポストシリコン遅延値の見積ミスの一例を示す説明図である。 パス遅延テーブルの記憶内容の一例を示す説明図(その2)である。 実施の形態2にかかる遅延故障検査装置の機能的構成を示すブロック図である。 実施の形態2にかかる遅延故障検査処理手順の一例を示すフローチャートである。 故障パス決定処理の具体的処理手順の一例を示すフローチャート(その1)である。 実施の形態3にかかる遅延故障検査装置の機能的構成を示すブロック図である。 故障パス決定処理の具体的処理手順の一例を示すフローチャート(その2)である。 実施の形態4にかかる遅延故障検査装置の機能的構成を示すブロック図である。 故障パス決定処理の具体的処理手順の一例を示すフローチャート(その3)である。
以下に添付図面を参照して、本開示技術にかかる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法の好適な実施の形態を詳細に説明する。
(実施の形態1)
まず、実施の形態1にかかる遅延故障検査手法の一例について説明する。図1は、遅延故障検査手法の一例を示す説明図である。図1において、ウェハ100からダイシングされた同一構成のチップC1〜Cmが示されている。なお、図面ではチップC1〜Cmの一部を抜粋して表示している。
また、図1において、各チップC1〜Cmに含まれるパスPiのポストシリコン遅延値が示されている。ここで、ポストシリコン遅延値とは、ATPG(Automatic Test Pattern Generator)で作成されたテストパターンを各チップC1〜Cmに与えて得られるテスト結果を利用して求めたパス遅延である。
パスPiのポストシリコン遅延値には、パスPiの真の遅延値のほかに、全チップC1〜Cmに共通して発生するシステマティックなエラーの遅延値やチップC1〜Cmごとに不規則に発生するエラーの遅延値が含まれる場合がある。また、このポストシリコンパス遅延は、各パスPiの実測遅延値の近似値として用いることができる。
ここで、システマティックなエラーとは、たとえば、セルライブラリの遅延見積ミスやレイアウトに依存するバラツキなどのチップC1〜Cmに依存しない遅延エラーである。一方、不規則なエラーとは、たとえば、遅延故障、製造時のガウス雑音、製造時に混入するゴミなどが原因となって発生する各チップC1〜Cmに依存する遅延エラーである。
本手法では、各チップC1〜CmのパスPiのポストシリコンパス遅延を用いて、システマティックな遅延エラーのみをモデル化してパスPiの遅延値を表現する関数モデルを構築する。そして、本手法では、構築された関数モデルを用いて、パスPiの遅延値(以下、「見積遅延値」という)を算出する。ここでは、パスPiの見積遅延値を2550[ps]とする。
このあと、本手法では、各チップC1〜CmのパスPiのポストシリコン遅延値と、パスPiの見積遅延値とを比較する。そして、パスPiのポストシリコン遅延値とパスPiの見積遅延値との差分が許容範囲を超えるパスを故障パス候補に決定する。ここで、故障パス候補とは、チップC1〜Cmごとの不規則な遅延エラーが発生している可能性が高いパスであり、他のパスに比べてポストシリコン遅延値が大きいパスである。ここでは、チップC2のパスPiが故障パス候補に決定されている。
このように、本手法では、各チップC1〜CmのパスPiの中から、システマティックな遅延エラーの影響のみを受けているパスを排除することで、チップC1〜Cmごとの不規則な遅延エラーが発生している可能性が高いパスを絞り込む。
(遅延故障検査装置のハードウェア構成)
図2は、遅延故障検査装置のハードウェア構成を示すブロック図である。図2において、遅延故障検査装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス220によってそれぞれ接続されている。
ここで、CPU201は、遅延故障検査装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、遅延故障検査装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(ネットリストの一例)
図3は、ネットリストの一例を示す説明図である。図3において、ネットリスト300は、パスID、ゲートIDおよび信号線IDのフィールドを有する。各フィールドの情報を設定することで、対象回路内のパスP1〜Pnごとの接続情報300−1〜300−nがレコードとして記憶されている。
ここで、パスIDとは、対象回路内のパスの識別子である。パスは、対象回路において、たとえば、入力端子からFF(フリップフロップ)までの経路、入出力端子間の経路、FF間の経路、FFから出力端子までの経路などである。ゲートIDとは、パス内のゲートの識別子である。ゲートは、たとえば、AND、OR、NOT、NANDなどの論理回路である。信号線IDとは、パス内のゲート間をつなぐ信号線の識別子である。
パスPiを例に挙げると、パスPiはゲートgi1,gi2,…,gipと信号線si1,si2,…,siqとを含む構成である。なお、ネットリスト300は、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
(パス遅延テーブルの記憶内容)
図4は、パス遅延テーブルの記憶内容の一例を示す説明図(その1)である。図4において、パス遅延テーブル400は、チップID、パスID、ポストシリコン遅延値、見積遅延値および第1故障フラグのフィールドを有する。各フィールドに情報を設定することで、チップC1〜Cmごとのパス遅延情報400−1〜400−mがレコードとして記憶されている。
ここで、チップIDは、図3に示したネットリスト300を用いて製造された複数個のチップの識別子である。パスIDとは、チップ内のパスの識別子である。ポストシリコン遅延値とは、テストで活性化させられたパスの遅延値である。
見積遅延値とは、システマティックな遅延エラーのみをモデル化して算出されたパスの遅延値である。第1故障フラグとは、チップC1〜Cmごとの不規則な遅延エラーが発生している可能性が高いパスを示すフラグである。ここでは、第1故障フラグが「ON」の場合に、不規則な遅延エラーが発生している可能性が高いパスを示す。なお、第1故障フラグは、初期状態では「OFF」となっている。
パス遅延情報400−1を例に挙げると、チップC1内のパスP11〜Pn1ごとのパス遅延情報400−1−1〜400−1−nが含まれている。パス遅延情報400−1−iを例に挙げると、パスPi1のポストシリコン遅延値は「di1」、見積遅延値は「d’i」、第1故障フラグは「OFF」である。なお、パス遅延テーブル400は、図2に示したRAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
また、パスのポストシリコン遅延値の算出手法については「Leonard Lee,Li−C.Wang,T.M.Mak,and Kwang−Ting Cheng“A Path−Based Methodology for Post−Silicon Timing Validation”2004 IEEE,p713−720」を参照できる。
(遅延故障検査装置の機能的構成)
つぎに、実施の形態1にかかる遅延故障検査装置200の機能的構成について説明する。図5は、実施の形態1にかかる遅延故障検査装置の機能的構成を示すブロック図である。図5において、遅延故障検査装置200は、取得部501と、構築部502と、算出部503と、比較部504と、決定部505と、選択部506と、探索部507と、出力部508と、を含む構成である。この制御部となる機能(取得部501〜出力部508)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
取得部501は、対象回路に関する回路情報を取得する機能を有する。ここで、対象回路とは、LSI(Large Scale Integration)などの半導体集積回路である。回路情報とは、対象回路における端子間の接続情報であり、たとえば、図3に示したネットリスト300である。
具体的には、たとえば、取得部501が、図2に示したキーボード210やマウス211を用いたユーザの操作入力により回路情報を取得する。また、取得部501が、不図示のデータベースやライブラリからの抽出により回路情報を取得してもよい。なお、取得された回路情報は、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
以下において本明細書では、対象回路に関する回路情報として、図3に示したネットリスト300を例に挙げて説明する。
また、取得部501は、ネットリスト300を用いて製造されたチップC1〜Cmにそれぞれ含まれる同一構成のパスPiの第1遅延値をチップC1〜Cmごとに取得する機能を有する。ここで、第1遅延値とは、チップCj上でのパスPiの遅延値であり、たとえば、図4に示したポストシリコン遅延値である。
具体的には、たとえば、取得部501が、キーボード210やマウス211を用いたユーザの操作入力によりパスPijの第1遅延値を取得する。また、取得部501が、不図示のデータベースやライブラリからの抽出によりパスPijの第1遅延値を取得してもよい。なお、取得されたパスPijの第1遅延値は、たとえば、図4に示したパス遅延テーブル400に記憶される。
以下において本明細書では、チップCj内のパスPiの第1遅延値として、図4に示したパスPijのポストシリコン遅延値dijを例に挙げて説明する。なお、チップC1〜Cmの全パス集合には、動作テストに合格したパスと、不合格となったパスとが含まれている。ただし、全パス集合のうち、動作テストに不合格となったパスよりも合格したパスのほうが多い場合を想定する。
構築部502は、取得されたパスPijのポストシリコン遅延値dijとネットリスト300に基づいて、パスPiの遅延値を表現する関数モデルを構築する機能を有する。ここで構築される関数モデルは、チップC1〜Cmに共通して発生する遅延エラーをモデル化してパスPiの遅延値を表現する多項式である。
具体的には、たとえば、構築部502が、ε−SVR(Support Vector Regression)や最小二乗法を利用して、パスPiの遅延値を表現する関数モデルを構築する。ここで、ε−SVRは、ε−insensitive関数により、バラツキを考慮したパスPiの遅延値を求めるための関数モデルを構築する手法である。
より具体的には、たとえば、構築部502が、ε−SVRを利用して、下記式(1)に含まれる係数X1〜Xp、Y1〜Yqを求める。ただし、d’iは、パスPiの遅延値である。g1〜gpは、パスPiがゲートg1〜gpを含む場合は「1」となり、ゲートg1〜gpを含まない場合は「0」となる変数である。s1〜sqは、パスPiが信号線s1〜sqを含む場合は「1」となり、信号線s1〜sqを含まない場合は「0」となる変数である。
d’i=(X1・g1+X2・g2+…+Xp・gp)
+(Y1・s1+Y2・s2+…+Yp・sq) ・・・(1)
詳細に説明すると、構築部502が、上記式(1)の左辺に各パスPijのポストシリコン遅延値dijをそれぞれ与える。そして、構築部502が、上記式(1)の右辺に各パスPiの接続情報300−iをそれぞれ与える。その結果、係数X1〜Xp、Y1〜Yqを未知数とするn×m個の方程式が作成される。
このあと、構築部502が、ε−SVR(または、最小二乗法)により、各方程式の左辺と右辺の誤差を最小化する係数X1〜Xp、Y1〜Yqを求める。構築された構築結果は、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
上述したように、全パス集合のうち動作テストに不合格となったパスよりも合格したパスのほうが多い。ここで、動作テストに合格したパスは、遅延故障を含まないパスである。したがって、関数モデルでは、結果的に、チップC1〜Cmに共通して発生する遅延エラーのみがモデル化されて表現されることになる。
算出部503は、構築された関数モデルとネットリスト300を用いて、パスPiの第2遅延値を算出する機能を有する。ここで、パスPiの第2遅延値とは、システマティックな遅延エラーをモデル化して表わすパスPiの見積遅延値である。具体的には、たとえば、算出部503が、上記式(1)の右辺にパスPiの接続情報300−iを与えることで、パスPiの見積遅延値d’iを求めることができる。ただし、係数X1〜Xp、Y1〜Yqは既知である。
なお、算出された算出結果は、たとえば、図4に示したパス遅延テーブル400に記憶される。具体的には、算出部503が、パス遅延テーブル400のパスPi1〜Pimの見積遅延値のフィールドに、パスPiの見積遅延値d’iを設定する。
比較部504は、チップC1〜Cmごとに、パスPijのポストシリコン遅延値dijと算出されたパスPiの見積遅延値d’iとを比較する機能を有する。具体的には、たとえば、比較部504が、パス遅延テーブル400を参照して、パスPijのポストシリコン遅延値dijからパスPiの見積遅延値d’iを差し引くことで差分を算出する。なお、比較された比較結果は、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
決定部505は、比較された比較結果に基づいて、パスPijを、チップC1〜Cmごとに不規則に発生する遅延エラーを含むパスに決定する機能を有する。具体的には、たとえば、決定部505が、算出された差分が閾値以上となるパスPijを、チップC1〜Cmごとに不規則に発生する遅延エラーを含むパス(以下、「故障パス候補」という)に決定する。上記閾値は、任意に設定可能である。具体的には、たとえば、決定部505が、パスPiの見積遅延値のd’iの10%〜20%を上記閾値に設定する。
なお、決定された決定結果は、たとえば、パス遅延テーブル400に記憶される。具体的には、決定部505が、パス遅延テーブル400の故障パス候補の第1故障フラグを「OFF」から「ON」に設定する。以下、チップCjに含まれる故障パス候補を「故障パス候補P’ij」と表記し、故障パス候補P’ijのパス集合を「パス集合S’ij」と表記する(i=1,2,…,t≦n)。
出力部508は、決定された決定結果を出力する機能を有する。具体的には、たとえば、出力部508が、パス遅延テーブル400を参照して、第1故障フラグが「ON」のパスPijのパスIDを羅列したレポート情報を出力することにしてもよい。これにより、遅延故障を引き起こしている可能性が高い素子を含むパスをユーザに提示することができる。
なお、出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶することとしてもよい。
選択部506は、チップC1〜Cmの中からチップCjを選択する機能を有する。具体的には、たとえば、選択部506が、パス遅延テーブル400を参照して、複数のチップID「C1〜Cm」の中から任意のチップID「Cj」を選択する。なお、選択された選択結果は、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
探索部507は、ネットリスト300に基づいて、選択されたチップCjのパス集合S’ijのうち、第1および第2の故障パス候補に共通して含まれる共通要素を探索する機能を有する。具体的には、たとえば、探索部507が、第1および第2の故障パス候補に含まれるゲートや信号線を調べて、共通するゲートや信号線を探索する。
図6は、共通要素の探索例を示す説明図である。図6において、チップCj内の組み合わせ回路のロジックコーン600が表示されている。なお、ロジックコーンとは、あるFFと、当該FFのファンインを辿って他のFFに到達するまでに経由するゲートと当該他のFFとから形成される素子集合である。
ここで、ロジックコーン600内のパスPajとパスPbjは故障パス候補である。この場合、探索部507は、パスPajとパスPbjの両方に含まれているゲート601,603と信号線602,604を共通要素として探索することになる。探索された探索結果は、図7に示す探索結果テーブル700に記憶される。
なお、共通素子の探索手法については「Zhiyuan Wang,Malgorzata M.Marek−Sadowska,“Delay−Fault Diagnosis Using Timing Information”,COMPUTER−AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS,VOL.24,No.9,SEPTEMBER 2005,IV.5」を参
照できる。
出力部508は、探索された探索結果を出力する機能を有する。具体的には、たとえば、出力部508が、図7に示す探索結果テーブル700を出力することにしてもよい。図7は、探索結果テーブルの記憶内容の一例を示す説明図である。図7において、探索結果テーブル700は、パスID、ゲートIDおよび信号線IDのフィールドを有する。各フィールドに情報を設定することで、探索結果がレコードとして記憶されている。
ここで、パスIDとは、第1および第2の故障パス候補のパスIDである。ゲートIDとは、第1および第2の故障パス候補に共通して含まれるゲートである。信号線IDとは、第1および第2の故障パス候補に共通して含まれる信号線である。
これにより、故障パス候補となるパスP11とパスP21に共通して含まれる共通要素「ゲートg3、信号線s5」をユーザに提示することができる。なお、探索結果テーブル700は、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
(遅延故障検査装置の遅延故障検査処理手順)
つぎに、実施の形態1にかかる遅延故障検査装置200の遅延故障検査処理手順について説明する。図8は、実施の形態1にかかる遅延故障検査処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、取得部501により、対象回路に関するネットリスト300とパスPijのポストシリコン遅延値dijを取得したか否かを判断する(ステップS801)。
ここで、ネットリスト300とポストシリコン遅延値dijを取得するのを待って(ステップS801:No)、取得した場合(ステップS801:Yes)、決定部505により、故障パス候補決定処理を実行する(ステップS802)。このあと、探索部507により、共通要素探索処理を実行して(ステップS803)、本フローチャートによる一連の処理を終了する。
<故障パス候補決定処理手順>
つぎに、図8に示したステップS802の故障パス候補決定処理の具体的な処理手順について説明する。図9は、故障パス候補決定処理の具体的処理手順の一例を示すフローチャートである。
図9のフローチャートにおいて、まず、構築部502により、チップC1〜Cmに共通して発生する遅延エラーをモデル化してパスPiの遅延値を表現する関数モデルを構築する(ステップS901)。具体的には、構築部502により、パスPijのポストシリコン遅延値dijとパスPiの接続情報300−iを上記式(1)に与えて、係数X1〜Xp、Y1〜Yqを求める。
このあと、「i=1」として(ステップS902)、算出部503により、構築された関数モデルとネットリスト300を用いて、パスPiの見積遅延値d’iを算出する(ステップS903)。そして、決定部505により、パスPiの見積遅延値のd’iを用いて閾値を算出する(ステップS904)。
つぎに、「j=1」として(ステップS905)、比較部504により、パスPijのポストシリコン遅延値dijとパスPiの見積遅延値d’iとの差分を算出する(ステップS906)。そして、決定部505により、算出された差分が、ステップS904において算出された閾値以上か否かを判断する(ステップS907)。
ここで、閾値以上の場合(ステップS907:Yes)、決定部505により、パスPijを故障パス候補に決定する(ステップS908)。そして、決定部505により、パス遅延テーブル400の故障パス候補の第1故障フラグを「OFF」から「ON」に設定する(ステップS909)。
このあと、jをインクリメントして(ステップS910)、「j>m」か否かを判断する(ステップS911)。ここで、「j≦m」の場合(ステップS911:No)、ステップS906に戻る。一方、「j>m」の場合(ステップS911:Yes)、iをインクリメントして(ステップS912)、「i>n」か否かを判断する(ステップS913)。
ここで、「i≦n」の場合(ステップS913:No)、ステップS903に戻る。一方、「i>n」の場合(ステップS913:Yes)、図8に示したステップS803に移行する。また、ステップS907において、閾値未満の場合(ステップS907:No)、ステップS910に移行する。
これにより、チップC1〜Cmに含まれる全チップ集合の中から、チップC1〜Cmごとに不規則に発生する遅延エラーを含む故障パス候補を絞り込むことができる。
<共通要素探索処理手順>
つぎに、図8に示したステップS803の共通要素探索処理の具体的な処理手順について説明する。図10は、共通要素探索処理の具体的処理手順の一例を示すフローチャートである。図10のフローチャートにおいて、まず、選択部506により、「j=1」として(ステップS1001)、チップC1〜Cmの中からチップCjを選択する(ステップS1002)。
このあと、探索部507により、選択されたチップCjに含まれるパス集合S’ijに故障パス候補が2つ以上あるか否かを判断する(ステップS1003)。ここで、故障パス候補が2つ以上ある場合(ステップS1003:Yes)、探索部507により、パス集合S’ijから第1の故障パス候補を選択する(ステップS1004)。
さらに、探索部507により、パス集合S’ijから第2の故障パス候補を選択する(ステップS1005)。ただし、第1および第2の故障パス候補は異なるパスである。そして、探索部507により、第1および第2の故障パス候補の共通要素を探索する(ステップS1006)。
このあと、探索部507により、共通要素が探索されたか否かを判断する(ステップS1007)。ここで、共通要素が探索されなかった場合(ステップS1007:No)、ステップS1009に移行する。一方、共通要素が探索された場合(ステップS1007:Yes)、探索部507により、探索された共通要素を探索結果テーブル700に登録する(ステップS1008)。
つぎに、探索部507により、ステップS1005において選択されていない未選択の第2の故障パス候補があるか否かを判断する(ステップS1009)。ここで、未選択の第2の故障パス候補がある場合(ステップS1009:Yes)、ステップS1005に戻る。
一方、未選択の第2の故障パス候補がない場合(ステップS1009:No)、探索部507により、ステップS1004において選択されていない未選択の第1の故障パス候補があるか否かを判断する(ステップS1010)。ここで、未選択の第1の故障パス候補がある場合(ステップS1010:Yes)、ステップS1004に戻る。
一方、未選択の第1の故障パス候補がない場合(ステップS1010:No)、jをインクリメントして(ステップS1011)、探索部507により、「j>m」か否かを判断する(ステップS1012)。ここで、「j≦m」の場合(ステップS1012:No)、ステップS1002に戻る。
一方、「j>m」の場合(ステップS1012:Yes)、出力部508により、探索結果テーブル700を出力して(ステップS1013)、本フローチャートによる一連の処理を終了する。また、ステップS1003において、故障パス候補が1つ以下の場合(ステップS1003:No)、ステップS1011に移行する。
これにより、故障パス候補に含まれる素子群の中から、チップC1〜Cmごとに不規則に発生する遅延エラーの原因となる素子を絞り込むことができる。
以上説明したように、実施の形態1によれば、パスPijのポストシリコン遅延値dijとパスPiの見積遅延値d’iとの差分が許容範囲を超えるパスを故障パス候補に決定することができる。これにより、チップC1〜Cmに含まれる全チップ集合の中から、システマティックな遅延エラーの影響のみを受けているパスを排除して、チップC1〜Cmごとに不規則に発生する遅延エラーを含む故障パス候補を絞り込むことができる。
また、実施の形態1によれば、チップCjのパス集合S’ijのうち第1および第2の故障パス候補に共通して含まれる共通要素を探索して出力することができる。これにより、故障パス候補に含まれる素子群の中から、チップC1〜Cmごとに不規則に発生する遅延エラーの原因となる素子を絞り込むことができる。
これらのことから、実施の形態1にかかる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法によれば、チップC1〜Cmごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができる。具体的には、たとえば、チップ内の遅延故障を特定するために、新たなテストパターンを生成する必要がなく、テスタを用いた実験をおこなう必要もない。
(実施の形態2)
つぎに、実施の形態2にかかる遅延故障検査手法について説明する。実施の形態1では、チップC1〜Cjに含まれる全パス集合からシステマティックな遅延エラーの影響のみを受けているパスを排除して、故障パス候補を絞り込む手法について説明した。ところが、パスPijのポストシリコン遅延値dijには、見積ミスによる誤差が含まれている場合がある。
そのため、チップCjのパス集合S’ijには、ポストシリコン遅延値dijの見積ミスのパスが含まれている場合がある。すなわち、パスPijのポストシリコン遅延値dijが見積ミスによって大きな値となり、故障パス候補に決定される場合がある。そこで、実施の形態2では、チップCjのパス集合S’ijの中から、ポストシリコン遅延値dijの見積ミスのパスを排除する手法について説明する。なお、実施の形態1で説明した箇所と同一の箇所については図示および説明を省略する。
ここで、パスPijのポストシリコン遅延値dijの見積ミスの一例について説明する。図11は、ポストシリコン遅延値の見積ミスの一例を示す説明図である。図11において、チップCj内の組み合わせ回路のロジックコーン1100が表示されている。ここで、ロジックコーン1100内のパスPcjとパスPdjは、あるテストパターンで活性化させられたパスである。また、パスPcjのパス遅延は2800[ps]であり、パスPdjのパス遅延は1600[ps]である。
この場合、チップCjのテスト結果としては、クロック周期2800[ps]以上で正常に動作することになる。したがって、パスPcjとパスPdjのポストシリコンパス遅延値dcj,ddjはともに2800[ps]となる。この結果、パスPdjのポストシリコンパス遅延値ddjは1600[ps]にも関わらず2800[ps]となり、見積ミスが発生する。
実施の形態2では、個々のチップCjに着目して相互に相関関係を有するパスを絞り込むことで、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除する。ここで、図13に示す遅延故障検査装置1300が用いるパス遅延テーブル1200について説明する。
(パス遅延テーブルの記憶内容)
図12は、パス遅延テーブルの記憶内容の一例を示す説明図(その2)である。図12において、パス遅延テーブル1200は、チップID、パスID、ポストシリコン遅延値、見積遅延値、第1故障フラグおよび第2故障フラグのフィールドを有する。各フィールドに情報を設定することで、チップC1〜Cmごとのパス遅延情報1200−1〜1200−mがレコードとして記憶されている。
ここで、第2故障フラグとは、チップCjのパス集合S’ijのうち、ポストシリコン遅延値dijの見積ミスのパスと、チップC1〜Cmごとの不規則な遅延エラーが発生しているパスとを区別するためのフラグである。ここでは、第2故障フラグが「ON」の場合に、チップC1〜Cmごとの不規則な遅延エラーが発生しているパスを示す。なお、第2故障フラグは、初期状態では「OFF」となっている。
パス遅延情報1200−1を例に挙げると、チップC1内のパスP11〜Pn1ごとのパス遅延情報1200−1−1〜1200−1−nが含まれている。パス遅延情報1200−1−1を例に挙げると、パスP11のポストシリコン遅延値は「d11」、見積遅延値は「d’1」、第1故障フラグは「ON」、第2故障フラグは「OFF」である。なお、パス遅延テーブル1200は、図13に示す遅延故障検査装置1300のRAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
(遅延故障検査装置の機能的構成)
つぎに、実施の形態2にかかる遅延故障検査装置1300の機能的構成について説明する。図13は、実施の形態2にかかる遅延故障検査装置の機能的構成を示すブロック図である。図13において、遅延故障検査装置1300は、取得部501と、構築部502と、算出部503と、比較部504と、決定部505と、選択部506と、探索部507と、出力部508と、判定部1301と、を含む構成である。
判定部1301は、チップCjのパス集合S’ijから選ばれた故障パス候補P’ijと同一構成のパスが、チップCjとは異なる他のチップCk(k≠j、k=1,2,…,m)のパス集合S’ikに含まれるか否かを判定する機能を有する。
ここで、ポストシリコン遅延値dijの見積ミスは、全チップC1〜Cm(または、8〜9割のチップ)で共通して発生している可能性が高い。そこで、故障パス候補P’ijと同一構成のパスが他のチップCkのパス集合S’ikに含まれるかを判定することで、故障パス候補P’ijがポストシリコン遅延値dijの見積ミスのパスか否かを判断する。すなわち、チップCjだけでなく、他のチップCkでも故障パス候補となっているパスは、ポストシリコン遅延値dijの見積ミスのパスである可能性が高いと判断できる。
具体的には、たとえば、まず、判定部1301が、パス遅延テーブル1200を参照して、チップC1〜Cmの中からチップCjを選択する。そして、判定部1301が、パス遅延テーブル1200を参照して、第1故障フラグが「ON」の故障パス候補P’ijを選択する。このあと、判定部1301が、パス遅延テーブル1200を参照して、第1故障フラグが「ON」の故障パス候補P’ikを検索する。
決定部505は、判定された判定結果に基づいて、故障パス候補P’ijを、チップC1〜Cjごとに不規則に発生する遅延エラーを含む故障パスに決定する。具体的には、たとえば、決定部505が、故障パス候補P’ijと同一構成のパスが、チップCkのパス集合S’ikに含まれていない場合に、故障パス候補P’ijを故障パスに決定する。
また、決定部505が、故障パス候補P’ijと同一構成のパスを含むチップCkの割合が全体の10%程度であった場合に、故障パス候補P’ijを故障パスに決定することにしてもよい。すなわち、全チップC1〜Cmの8〜9割程度のチップで、ポストシリコン遅延値dijの見積ミスのパスが共通していると仮定する。
(遅延故障検査装置の遅延故障検査処理手順)
つぎに、実施の形態2にかかる遅延故障検査装置1300の遅延故障検査処理手順について説明する。図14は、実施の形態2にかかる遅延故障検査処理手順の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、取得部501により、対象回路に関するネットリスト300とパスPijのポストシリコン遅延値dijを取得したか否かを判断する(ステップS1401)。
ここで、ネットリスト300とポストシリコン遅延値dijを取得するのを待って(ステップS1401:No)、取得した場合(ステップS1401:Yes)、決定部505により、故障パス候補決定処理を実行する(ステップS1402)。
このあと、決定部505により、故障パス決定処理を実行する(ステップS1403)。そして、探索部507により、共通要素探索処理を実行して(ステップS1404)、本フローチャートによる一連の処理を終了する。
<故障パス決定処理手順>
つぎに、図14に示したステップS1403の故障パス決定処理の具体的な処理手順について説明する。ここでは、チップCjのパス集合S’ijから選ばれた任意の故障パス候補と同一構成のパスがチップCkのパス集合S’ikに含まれていない場合に、故障パス候補を故障パスに決定する場合について説明する。図15は、故障パス決定処理の具体的処理手順の一例を示すフローチャート(その1)である。
図15のフローチャートにおいて、判定部1301により、「j=1」として(ステップS1501)、チップC1〜Cmの中からチップCjを選択する(ステップS1502)。このあと、判定部1301により、チップCjのパス集合S’ijから任意の故障パス候補を選択(ステップS1503)。そして、判定部1301により、チップC1〜Cmの中からチップCk(k≠j)を選択する(ステップS1504)。
つぎに、判定部1301により、チップCkのパス集合S’ikから、ステップS1503において選択された故障パス候補と同一構成の故障パス候補を検索する(ステップS1505)。そして、判定部1301により、故障パス候補が検索されたか否かを判定する(ステップS1506)。
ここで、故障パス候補が検索された場合(ステップS1506:Yes)、ステップS1510に移行する。一方、故障パス候補が非検索の場合(ステップS1506:No)、判定部1301により、ステップS1504において選択されていない未選択のチップCkがあるか否かを判断する(ステップS1507)。
ここで、未選択のチップCkがある場合(ステップS1507:Yes)、ステップS1504に戻る。一方、未選択のチップCkがない場合(ステップS1507:No)、決定部505により、任意の故障パス候補を故障パスに決定する(ステップS1508)。そして、決定部505により、パス遅延テーブル1200の故障パス候補の第2故障フラグを「OFF」から「ON」に設定する(ステップS1509)。
このあと、判定部1301により、ステップS1503において選択されていない未選択の故障パス候補があるか否かを判断する(ステップS1510)。ここで、未選択の故障パス候補がある場合(ステップS1510:Yes)、ステップS1503に戻る。
一方、未選択の故障パス候補がない場合(ステップS1510:No)、決定部505により、jをインクリメントして(ステップS1511)、「j>m」か否かを判断する(ステップS1512)。ここで、「j≦m」の場合(ステップS1512:No)、ステップS1502に戻る。一方、「j>m」の場合(ステップS1512:Yes)、図14に示したステップS1404に移行する。
これにより、チップCjのパス集合S’ijの中から、ポストシリコン遅延値dijの見積ミスのパスを排除することができる。
なお、ステップS1402の故障パス候補決定処理手順は、図9に示した手順と同様のため説明を省略する。また、ステップS1404の共通要素探索処理手順は、図10に示した手順と同様のため説明を省略する。ただし、ステップS1404の共通要素探索処理手順では、共通要素の探索対象が「故障パス候補」から「故障パス」となる。
以上説明したように、実施の形態2によれば、チップCjのパス集合S’ijの中から、他のチップCkのパス集合S’ikに含まれる故障パス候補と同一構成のパスを排除することができる。これにより、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除して、チップC1〜Cmごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
(実施の形態3)
つぎに、実施の形態3にかかる遅延故障検査手法について説明する。実施の形態3では、チップCjのパス集合S’ijに含まれるパス間の類似度を求める。そして、実施の形態3では、パス間の類似度を用いて、チップCjのパス集合S’ijの中から他の故障パス候補と類似していないパスを排除する。
これにより、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除する。なお、実施の形態1,2で説明した箇所と同一の箇所については図示および説明を省略する。
(遅延故障検査装置の機能的構成)
図16は、実施の形態3にかかる遅延故障検査装置の機能的構成を示すブロック図である。図16において、遅延故障検査装置1600は、取得部501と、構築部502と、算出部503と、比較部504と、決定部505と、選択部506と、探索部507と、出力部508と、類似度算出部1601と、を含む構成である。
類似度算出部1601は、チップCjのパス集合S’ijから選ばれた故障パス候補P’ijと、故障パス候補P’ijとは異なる他の故障パス候補P’sjとの類似度を算出する機能を有する(s≠i、s=1,2,…,t≦n)。
具体的には、たとえば、まず、類似度算出部1601が、one−class SVRを利用して、パス間の類似度を算出するための関数モデルを構築する。ここで、故障パス候補P’ij、P’sjを下記式(2)および(3)のようにベクトル表記する。
ただし、gi1〜gip、gs1〜gspは、故障パス候補P’ij、P’sjがゲートg1〜gpを含む場合は「1」となり、ゲートg1〜gpを含まない場合は「0」となる変数である。si1〜siq、ss1〜ssqは、故障パス候補P’ij、P’sjが信号線s1〜sqを含む場合は「1」となり、信号線s1〜sqを含まない場合は「0」となる変数である。
P’ij=(gi1,gi2,…,gip,si1,si2,…,siq) …(2)
P’sj=(gs1,gs2,…,gsp,ss1,ss2,…,ssq) …(3)
この場合、故障パス候補P’ijと故障パス候補P’sjとの類似度は、下記式(4)を用いて表現することができる。ただし、P’ij・P’sjは故障パス候補P’ijと故障パス候補P’sjとの類似度である。
P’ij・P’sj=gi1×gs1+gi2×gs2+…+gip×gsp+si1
×ss1+si2×ss2+…+siq×ssq …(4)
より具体的には、たとえば、類似度算出部1601が、ネットリスト300に基づいて、故障パス候補P’ijおよび故障パス候補P’sjの接続情報を上記式(4)に与えることにより類似度を算出することができる。
決定部505は、算出された算出結果に基づいて、故障パス候補P’ijを、チップC1〜Cjごとに不規則に発生する遅延エラーを含む故障パスに決定する。具体的には、たとえば、決定部505が、故障パス候補P’sjとの類似度が「1」以上となる故障パス候補P’ijを故障パスに決定することにしてもよい。すなわち、故障パス候補間の類似度が「1」以上となった場合は、遅延故障の原因となる素子をともに含んでいる可能性が高いと判断する。
なお、上記式(4)では、ゲートおよび信号線の両方を考慮することにしたがこれに限らない。たとえば、遅延故障としてゲート遅延故障を想定した場合はゲートのみを考慮することにしてもよい。また、遅延故障として遷移遅延故障を想定した場合は信号線のみを考慮することにしてもよい。
<故障パス決定処理手順>
つぎに、実施の形態3にかかる遅延故障検査装置1600の故障パス決定処理手順について説明する。なお、この故障パス決定処理手順は、図14に示したステップS1403の故障パス決定処理に相当する。図17は、故障パス決定処理の具体的処理手順の一例を示すフローチャート(その2)である。
図17のフローチャートにおいて、まず、類似度算出部1601により、「j=1」として(ステップS1701)、チップC1〜Cmの中からチップCjを選択する(ステップS1702)。このあと、類似度算出部1601により、チップCjのパス集合S’ijから第1の故障パス候補を選択する(ステップS1703)。
さらに、類似度算出部1601により、チップCjのパス集合S’ijから第2の故障パス候補を選択する(ステップS1704)。ただし、第1および第2の故障パス候補は異なるパスである。そして、類似度算出部1601により、ネットリスト300と上記式(4)とを用いて、第1および第2の故障パス候補の類似度を算出する(ステップS1705)。
このあと、決定部505により、算出された類似度が「0」か否かを判断する(ステップS1706)。ここで、類似度が「0」の場合、決定部505により、ステップS1704において選択されていない未選択の第2の故障パス候補があるか否かを判断する(ステップS1707)。
そして、未選択の第2の故障パス候補がある場合(ステップS1707:Yes)、ステップS1704に戻る。一方、未選択の第2の故障パス候補がない場合(ステップS1707:No)、ステップS1710に移行する。
また、ステップS1706において、類似度が「0」ではない場合(ステップS1706:No)、決定部505により、第1の故障パス候補を故障パスに決定する(ステップS1708)。そして、決定部505により、パス遅延テーブル1200の第1の故障パス候補の第2故障フラグを「OFF」から「ON」に設定する(ステップS1709)。
このあと、決定部505により、ステップS1703において選択されていない未選択の第1の故障パス候補があるか否かを判断する(ステップS1710)。ここで、未選択の第1の故障パス候補がある場合(ステップS1710:Yes)、ステップS1703に戻る。
一方、未選択の第1の故障パス候補がない場合(ステップS1710:No)、決定部505により、jをインクリメントして(ステップS1711)、「j>m」か否かを判断する(ステップS1712)。ここで、「j≦m」の場合(ステップS1712:No)、ステップS1702に戻る。一方、「j>m」の場合(ステップS1712:Yes)、図14に示したステップS1404に移行する。
以上説明したように、実施の形態3によれば、チップCjのパス集合S’ijに含まれるパス間の類似度を求めて、パス集合S’ijの中から他の故障パス候補と類似していないパスを排除することができる。これにより、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除して、チップC1〜Cmごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
(実施の形態4)
つぎに、実施の形態4にかかる遅延故障検査手法について説明する。実施の形態4では、チップCjのみに着目して、パスPiの遅延値を表現する関数モデルを構築する。ただし、チップCjは、チップCjに含まれるパス集合に対する故障パス候補の割合が、予め設定された所定値以上のチップである。
実施の形態4では、チップCjに含まれるパスPijのポストシリコン遅延値dijを関数モデルに与えて、パスPiの見積遅延値d’iを求める。このあと、実施の形態4では、故障パス候補P’ijのポストシリコン遅延値とパスPiの見積遅延値d’iとの差分を求める。
そして、実施の形態4では、該差分が許容範囲を超える故障パス候補をポストシリコン遅延値dijの見積ミスのパスとする。上述したように、チップCjは、パス集合に対する故障パス候補の割合が所定値以上のチップである。それ故に、チップCjにのみ着目して関数モデルを構築すると、パスPiの見積遅延値d’iに、システマティックな遅延エラーだけでなく、不規則な遅延エラーもモデル中に含まれることになる。
その結果、該差分が許容範囲を超えるパスは、ポストシリコン遅延値dijの見積ミスのパスと判断できる。これにより、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除することができる。なお、実施の形態1〜3で説明した箇所と同一の箇所については図示および説明を省略する。
(遅延故障検査装置の機能的構成)
図18は、実施の形態4にかかる遅延故障検査装置の機能的構成を示すブロック図である。図18において、遅延故障検査装置1800は、取得部501と、構築部502と、算出部503と、比較部504と、決定部505と、選択部506と、探索部507と、出力部508と、モデル構築部1801と、遅延値算出部1802と、遅延値比較部1803と、を含む構成である。
モデル構築部1801は、パスPijのポストシリコン遅延値dijとネットリスト300に基づいて、パスPiの遅延値を表現する関数モデルを構築する。具体的には、たとえば、モデル構築部1801が、ε−SVRを利用して、上記式(1)に含まれる係数X1〜Xp、Y1〜Yqを求める。
より具体的には、モデル構築部1801が、上記式(1)の左辺にチップCjに含まれるパスPijのポストシリコン遅延値dijを与えるとともに、上記式(1)の右辺にパスPiの接続情報300−iを与える。その結果、係数X1〜Xp、Y1〜Yqを未知数とするn個の方程式が作成される。このあと、構築部502が、ε−SVR(または、最小二乗法)により、各方程式の左辺と右辺の誤差を最小化する係数X1〜Xp、Y1〜Yqを求める。
遅延値算出部1802は、構築された関数モデルとネットリスト300を用いて、パスPiの見積遅延値d’iを算出する。具体的には、たとえば、遅延値算出部1802が、上記式(1)の右辺にパスPiの接続情報300−iを与えることで、パスPiの見積遅延値d’iを求めることができる。ただし、係数X1〜Xp、Y1〜Yqは既知である。パスPiの見積遅延値d’iには、システマティックな遅延エラーと不規則な遅延エラーとが含まれることになる。
遅延値比較部1803は、故障パス候補P’ijのポストシリコン遅延値と、算出されたパスPiの見積遅延値d’iとを比較する。ただし、故障パス候補P’ijとパスPiは同一構成のパスである。具体的には、たとえば、遅延値比較部1803が、パスPiの見積遅延値d’iから故障パス候補P’ijのポストシリコン遅延値を差し引くことで差分を算出する。
そして、決定部505は、比較された比較結果に基づいて、チップCjに含まれるパスPiのパス集合から、チップC1〜Cmごとに不規則に発生する遅延エラーを含む故障パスを決定する。具体的には、たとえば、決定部505が、算出された差分が閾値以下となる故障パス候補P’ijを故障パスに決定する。なお、上記閾値は、任意に設定可能である。具体的には、たとえば、決定部505が、パスPiの見積遅延値のd’iの10%〜20%を上記閾値に設定する。
<故障パス決定処理手順>
つぎに、実施の形態4にかかる遅延故障検査装置1800の故障パス決定処理手順について説明する。なお、この故障パス決定処理手順は、図14に示したステップS1403の故障パス決定処理に相当する。
図19は、故障パス決定処理の具体的処理手順の一例を示すフローチャート(その3)である。図19のフローチャートにおいて、まず、決定部505により、「j=1」として(ステップS1901)、チップC1〜Cmの中からチップCjを選択する(ステップS1902)。
そして、決定部505により、チップCjに含まれるパス集合に対する故障パス候補の割合が、予め設定された所定値以上か否かを判断する(ステップS1903)。なお、所定値は、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
ここで、所定値未満の場合(ステップS1903:No)、ステップS1913に移行する。一方、所定値以上の場合(ステップS1903:Yes)、モデル構築部1801により、パスPiの遅延値を表現する関数モデルを構築する(ステップS1904)。
そして、遅延値算出部1802により、チップCjのパス集合S’ijから任意の故障パス候補を選択する(ステップS1905)。つぎに、遅延値算出部1802により、構築された関数モデルとネットリスト300を用いて、選択された故障パス候補と同一構成のパスPiの見積遅延値d’iを算出する(ステップS1906)。そして、決定部505により、パスPiの見積遅延値のd’iを用いて閾値を算出する(ステップS1907)。
このあと、遅延値比較部1803により、故障パス候補のポストシリコン遅延値とパスPiの見積遅延値d’iとの差分を算出する(ステップS1908)。そして、決定部505により、算出された差分が、ステップS1907において算出された閾値以下か否かを判断する(ステップS1909)。
ここで、閾値より大きい場合(ステップS1909:No)、ステップS1912に移行する。一方、閾値以下の場合(ステップS1909:Yes)、ステップS1905において選択された故障パス候補を故障パスに決定する(ステップS1910)。そして、決定部505により、パス遅延テーブル1200の故障パス候補の第2故障フラグを「OFF」から「ON」に設定する(ステップS1911)。
このあと、モデル構築部1801により、ステップS1905において選択されていない未選択の故障パス候補があるか否かを判断する(ステップS1912)。ここで、未選択の故障パス候補がある場合(ステップS1912:Yes)、ステップS1905に戻る。
一方、未選択の故障パス候補がない場合(ステップS1912:No)、決定部505により、jをインクリメントして(ステップS1913)、「j>m」か否かを判断する(ステップS1914)。ここで、「j≦m」の場合(ステップS1914:No)、ステップS1902に戻る。一方、「j>m」の場合(ステップS1914:Yes)、図14に示したステップS1404に移行する。
以上説明したように、実施の形態4によれば、故障パス候補のポストシリコン遅延値とパスPiの見積遅延値d’iとの差分が許容範囲内のパスを故障パス候補に決定することができる。これにより、チップCjのパス集合S’ijの中からポストシリコン遅延値dijの見積ミスのパスを排除して、チップC1〜Cmごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
なお、本実施の形態で説明した遅延故障検査方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本遅延故障検査プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本遅延故障検査プログラムは、インターネット等のネットワークを介して配布してもよい。
200,1300,1600,1800 遅延故障検査装置
501 取得部
502 構築部
503 算出部
504 比較部
505 決定部
506 選択部
507 探索部
508 出力部
1301 判定部
1601 類似度算出部
1801 モデル構築部
1802 遅延値算出部
1803 遅延値比較部

Claims (7)

  1. コンピュータを、
    対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第1遅延値を前記チップごとに取得する取得手段、
    前記取得手段によって取得されたチップごとのパスの第1遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築する構築手段、
    前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第2遅延値を算出する算出手段、
    前記チップごとに、前記算出手段によって算出されたパスの第2遅延値と、当該パスと同一構成のパスの第1遅延値とを比較する比較手段、
    前記比較手段によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定する決定手段、
    前記決定手段によって決定された決定結果を出力する出力手段、
    として機能させることを特徴とする遅延故障検査プログラム。
  2. 前記コンピュータを、
    前記回路情報に基づいて、前記決定手段によって決定されたパス(以下、「故障パス候補」という)のうち、前記複数個のチップの中から選ばれた任意のチップに含まれる第1および第2の故障パス候補に共通して含まれる素子を探索する探索手段として機能させ、
    前記出力手段は、
    前記探索手段によって探索された第1および第2の故障パス候補に共通して含まれる素子を出力することを特徴とする請求項1に記載の遅延故障検査プログラム。
  3. 前記コンピュータを、
    前記複数個のチップの中から選ばれた任意のチップに含まれる任意の故障パス候補と同一構成の故障パス候補が、前記任意のチップとは異なる他のチップに含まれるか否かを判定する判定手段として機能させ、
    前記決定手段は、
    前記判定手段によって判定された判定結果に基づいて、前記任意の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項1または2に記載の遅延故障検査プログラム。
  4. 前記コンピュータを、
    前記パス間の類似度を表現する関数モデルと前記回路情報を用いて、前記複数個のチップの中から選ばれた任意のチップに含まれる一の故障パス候補と、当該任意のチップに含まれる他の故障パス候補との間の類似度を算出する類似度算出手段として機能させ、
    前記決定手段は、
    前記類似度算出手段によって算出された類似度に基づいて、前記一の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項1または2に記載の遅延故障検査プログラム。
  5. 前記構築手段は、
    前記複数個のチップの中から選ばれた任意のチップに含まれるパスの第1遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築し、
    前記算出手段は、
    前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記任意のチップに含まれる故障パス候補の第2遅延値を算出し、
    前記比較手段は、
    前記算出手段によって算出された故障パス候補の第2遅延値と、当該故障パス候補と同一構成の故障パス候補の第1遅延値とを比較し、
    前記決定手段は、
    前記比較手段によって比較された比較結果に基づいて、前記同一構成の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項1または2に記載の遅延故障検査プログラム。
  6. 対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第1遅延値を前記チップごとに取得する取得手段と、
    前記取得手段によって取得されたチップごとのパスの第1遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築する構築手段と、
    前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第2遅延値を算出する算出手段と、
    前記チップごとに、前記算出手段によって算出されたパスの第2遅延値と、当該パスと同一構成のパスの第1遅延値とを比較する比較手段と、
    前記比較手段によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定する決定手段と、
    前記決定手段によって決定された決定結果を出力する出力手段と、
    を備えることを特徴とする遅延故障検査装置。
  7. 制御手段および記憶手段を備えるコンピュータが、
    前記制御手段により、対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第1遅延値を前記チップごとに取得して、前記記憶手段に記憶する取得工程と、
    前記制御手段により、前記取得工程によって取得されたチップごとのパスの第1遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築して、前記記憶手段に記憶する構築工程と、
    前記制御手段により、前記構築工程によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第2遅延値を算出して、前記記憶手段に記憶する算出工程と、
    前記制御手段により、前記チップごとに、前記算出工程によって算出されたパスの第2遅延値と、当該パスと同一構成のパスの第1遅延値とを比較して、前記記憶手段に記憶する比較工程と、
    前記制御手段により、前記比較工程によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定して、前記記憶手段に記憶する決定工程と、
    前記制御手段により、前記決定工程によって決定された決定結果を出力する出力工程と、
    を実行することを特徴とする遅延故障検査方法。
JP2009120958A 2009-05-19 2009-05-19 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法 Expired - Fee Related JP5262985B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009120958A JP5262985B2 (ja) 2009-05-19 2009-05-19 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法
US12/778,329 US8418009B2 (en) 2009-05-19 2010-05-12 Delay fault testing computer product, apparatus, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009120958A JP5262985B2 (ja) 2009-05-19 2009-05-19 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法

Publications (2)

Publication Number Publication Date
JP2010271067A JP2010271067A (ja) 2010-12-02
JP5262985B2 true JP5262985B2 (ja) 2013-08-14

Family

ID=43125143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009120958A Expired - Fee Related JP5262985B2 (ja) 2009-05-19 2009-05-19 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法

Country Status (2)

Country Link
US (1) US8418009B2 (ja)
JP (1) JP5262985B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5353679B2 (ja) * 2009-12-17 2013-11-27 富士通株式会社 故障診断支援プログラム、および故障診断支援装置
JP5691575B2 (ja) * 2011-02-03 2015-04-01 富士通株式会社 故障解析プログラム,故障解析装置および故障解析方法
JP5673363B2 (ja) * 2011-06-02 2015-02-18 富士通株式会社 解析プログラム,解析装置および解析方法
CN103728518B (zh) * 2014-01-13 2016-08-17 深圳市禾望电气股份有限公司 变频器调试系统及方法
US11131706B2 (en) * 2015-12-08 2021-09-28 International Business Machines Corporation Degradation monitoring of semiconductor chips
EP4045923A4 (en) * 2019-10-18 2023-07-19 Minima Processor Oy METHOD, ARRANGEMENT AND COMPUTER PROGRAM PRODUCT FOR ORGANIZING EXCITATION OF PROCESSING PATHS FOR TESTING A MICROELECTRICAL CIRCUIT

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0248268B1 (de) * 1986-06-06 1993-03-31 Siemens Aktiengesellschaft Verfahren zur Simulation eines Verzögerungsfehlers in einer Logikschaltung und Anordnungen zur Durchführung des Verfahrens
JP2531115B2 (ja) * 1993-10-12 1996-09-04 日本電気株式会社 ライブラリ検証方式
JP3925980B2 (ja) * 1997-03-04 2007-06-06 株式会社ルネサステクノロジ ゲート遅延計算装置およびゲート遅延計算方法
JPH11218563A (ja) * 1998-02-03 1999-08-10 Nippon Telegr & Teleph Corp <Ntt> テスト対象パス選択方法、その装置および記録媒体
EP0937991A3 (en) * 1998-02-19 2004-01-28 International Business Machines Corporation System and method for determining the delay makeup of a circuit
JP2003194885A (ja) * 2001-12-25 2003-07-09 Mitsubishi Electric Corp 半導体デバイスの動作タイミングのテスト装置及びテスト方法
JP2005257654A (ja) 2004-02-13 2005-09-22 Handotai Rikougaku Kenkyu Center:Kk 回路の品質判定方法および品質判定装置、並びに、回路の品質判定プログラムおよび該プログラムを記録した媒体
JP4636989B2 (ja) 2005-10-11 2011-02-23 富士通セミコンダクター株式会社 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体
JP2009025914A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム

Also Published As

Publication number Publication date
US8418009B2 (en) 2013-04-09
JP2010271067A (ja) 2010-12-02
US20100299096A1 (en) 2010-11-25

Similar Documents

Publication Publication Date Title
US7603636B2 (en) Assertion generating system, program thereof, circuit verifying system, and assertion generating method
JP5471432B2 (ja) 検証支援プログラム、および検証支援装置
JP2010271067A (ja) 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法
JP2004240753A (ja) 設計検証システム、設計検証方法及び設計検証プログラム
US20200184135A1 (en) Double glitch capture mode power integrity analysis
US8898602B2 (en) Apparatus for design assist and method for selecting signal line onto which test point for test controlling is to be inserted in circuit to be designed
US7888971B2 (en) Verification support system and method
Wang et al. An ATPG method for double stuck-at faults by analyzing propagation paths of single faults
CN118940687A (zh) 芯片的安全设计方法、电子设备及存储介质
US8661384B2 (en) Verification support apparatus, verifying apparatus, computer product, verification support method, and verifying method
US8468409B2 (en) Speed-path debug using at-speed scan test patterns
Wang et al. An automatic test pattern generation method for multiple stuck-at faults by incrementally extending the test patterns
US8943457B2 (en) Simulating scan tests with reduced resources
CN116802640A (zh) 用于确定安全相关逻辑中的故障类型的结构分析
Dehbashi et al. Debug automation for logic circuits under timing variations
US20100269003A1 (en) Delay fault diagnosis program
US6546514B1 (en) Integrated circuit analysis and design involving defective circuit element replacement on a netlist
JP5707921B2 (ja) 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法
Yang et al. Timing-reasoning-based delay fault diagnosis
Wunderlich et al. Generalized fault modeling for logic diagnosis
JP5348065B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
Lin et al. Speed binning with high-quality structural patterns from functional timing analysis (FTA)
Benabboud et al. A case study on logic diagnosis for System-on-Chip
Dehbashi et al. Automated post-silicon debugging of failing speedpaths
Mehta et al. Improving the resolution of single-delay-fault diagnosis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130307

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees