JP2011163897A - テストパタン生成装置、テストパタン生成方法、及びプログラム - Google Patents

テストパタン生成装置、テストパタン生成方法、及びプログラム Download PDF

Info

Publication number
JP2011163897A
JP2011163897A JP2010026443A JP2010026443A JP2011163897A JP 2011163897 A JP2011163897 A JP 2011163897A JP 2010026443 A JP2010026443 A JP 2010026443A JP 2010026443 A JP2010026443 A JP 2010026443A JP 2011163897 A JP2011163897 A JP 2011163897A
Authority
JP
Japan
Prior art keywords
instance
information
test pattern
path
instances
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.)
Pending
Application number
JP2010026443A
Other languages
English (en)
Inventor
Masao Aso
正雄 麻生
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010026443A priority Critical patent/JP2011163897A/ja
Publication of JP2011163897A publication Critical patent/JP2011163897A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】半導体集積回路のテストパタンの作成において、クリティカルパス上のインスタンスの接続関係を考慮し、かつ、誤テストを回避するテストパタンの生成を効率的に行う。
【解決手段】テストパタン生成装置は、レイアウト情報と回路情報とを使用して、半導体集積回路に配置されるインスタンスを抽出し、インスタンス情報を生成するインスタンス情報生成部10と、回路情報を参照して、テストパタンを使用して半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成する動作情報抽出部40と、クリティカルパス情報、インスタンス情報、及び動作情報を使用して、レイアウト情報に含まれるインスタンスのうち、クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、注目インスタンスを用いて、テストパタンの適否を判定する判定部90と、を備える。
【選択図】図1

Description

本発明は、半導体集積回路をスキャンテストする技術に関し、具体的には、誤動作を回避するテストパタンを生成する技術に関する。
半導体集積回路(LSI)をスキャンテストするために、スキャンテストパタン(以下単にテストパタンという)を生成する。半導体集積回路のスキャンテストでは、電源ノイズによる誤動作を回避するテストパタンを生成する必要がある。すなわち、スキャンテスト時に電源ノイズによる誤動作が生じると、良品を不良品と判断する誤ったテスト(以下、適宜「誤テスト」という)を行うことになる。その結果、スキャンテスト時の歩留まりの低下を引き起こす。
近年、LSIの大規模化により、電源ノイズを解析する時間が長くなっている。また、LSIの微細化に伴い、電源ノイズの解析処理が複雑化している。これらに伴い、設計期間の延ばすことなく、簡素化した設計フローを利用することによって、誤テストを回避するテストパタンを生成することが望まれている。
特許文献1には、半導体集積回路をスキャンテストする時に、IRドロップによる誤動作を回避し、効率のよいスキャンテストを実現する技術が開示されている。図24に特許文献1に開示されたテストパタン生成装置100Pを示す。テストパタン生成装置100Pは、半導体集積回路をスキャンテストするためのテストパタンを生成する装置であり、危険箇所抽出部110Pと、ATPG(パタン生成実行部)150Pを備える。危険箇所抽出部110Pは、半導体集積回路から、電源のIRドロップに起因してテスト時に誤動作が生じうる危険箇所を抽出する。危険箇所抽出部110Pは、IRドロップ量算出部120Pと抽出実行部130Pとを備える。ATPG150Pは、危険箇所抽出部110Pにより抽出された危険箇所に対して、該危険箇所に含まれるインスタンスの動作率を抑制するようにテストパタンを生成する。
具体的には、IRドロップ量算出部120Pは、まず、チップを複数のブロックに等分割し、各ブロックに対して、IRドロップ量を計算する。抽出実行部130Pは、電源のIRドロップに起因してテスト時に誤動作が生じうる危険箇所の抽出を実行する。このとき、抽出実行部130Pは、半導体集積回路を複数の分割したブロックのIRドロップ量と所定の基準値と比較し、基準値より大きいIRドロップ量を有するブロックを危険箇所として抽出する。ATPG150Pは、複数のインスタンスが含まれる危険箇所に対して、該複数のインスタンスが同時に変化することがないようにテストパタンを生成する。
すなわち、ATPG150は、危険箇所として抽出されたブロックに対して、該ブロック内に動作する複数のインスタンスが含まれる場合には、これらのインスタンスを同時に変化させないテストパタンを生成する。これにより、該ブロック内のインスタンスの動作率を抑制する。その結果、テストパタン生成装置100Pにより出力されるテストパタンはテスト時にIRドロップによる誤動作の発生を生じさせないものとなる。
特開2008−224315号公報
半導体集積回路のスキャンテストにおいて、電源ノイズによる影響は、各インスタンスの遅延増加という形で現れる。このため、クリティカルパスが動作するときに誤動作しやすいと考えられる。
しかしながら、特許文献1の技術では、危険箇所に含まれるインスタンスの動作率を抑制するという方法でテストパタンを作成するが、テスト時に動作するクリティカルパス上の回路の接続関係(クリティカルパスの遅延関係)の情報を考慮していない。具体的には、抽出したインスタンスに含まれる時刻に関する情報(伝播遅延値や、論理段数など、パス内のインスタンスの接続情報)を参照して、クリティカルパスの誤動作を回避していない。その結果、誤テストを回避することができず、歩留まり低下を引き起こし、さらに、動作率抑制の制約により、テストパタン数が増加し、テスト時間の増加を引き起こしていた。
このように、半導体集積回路のテストパタンの作成において、クリティカルパス上のインスタンスの接続関係を考慮し、かつ、誤テストを回避するテストパタンの生成が効率的に行われていないという問題があった。
本発明に係るテストパタン生成装置の一態様は、半導体集積回路をテストするテストパタンを生成するテストパタン生成装置であって、記憶領域と、レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成し、前記インスタンス情報を前記記憶領域に記録するインスタンス情報生成部と、前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成し、前記動作情報を前記記憶領域に記録する動作情報抽出部と、
クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、抽出した注目インスタンスを用いて、前記テストパタンの適否を判定する判定部と、を備える。パス上インスタンスより前の時刻に遷移するインスタンスであって、かつ、値が変化する注目インスタンスが、パス上インスタンスに与える電源ノイズに影響する。判定部は、注目インスタンスに関する情報を用いて、電源ノイズの影響を取得する。そして、テストパタンの適否、具体的には、テストパタンが誤テストを生じるか否かを判定する。これにより、半導体集積回路をテストするテストパタン生成の効率化を図る。
本発明に係る他のテストパタン生成装置の一態様は、半導体集積回路をテストするテストパタンを生成するテストパタン生成装置であって、記憶領域と、レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成し、前記インスタンス情報を前記記憶領域に記録するインスタンス情報生成部と、前記回路情報と前記インスタンス情報を参照して、インスタンスのスイッチング確率を定義し、前記スイッチング確率が閾値より大きいインスタンスを抽出した動作情報を生成し、前記動作情報を前記記憶領域に記録する動作情報抽出部と、クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、抽出した注目インスタンスを用いて、前記パス上インスタンスに影響を与える電源ノイズを判定する判定部と、を備える。
本発明に係るテストパタン生成方法の一態様は、半導体集積回路をテストするテストパタンを生成するテストパタン生成方法であって、レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成してインスタンス情報記憶部へ記録し、前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成して動作情報記憶部へ記録し、クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、抽出した注目インスタンスを用いて、前記テストパタンの適否を判定する。
本発明に係るプログラムの一態様は、半導体集積回路をテストするテストパタンを生成するプログラムであって、コンピュータに、レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成してインスタンス情報記憶部へ記録するインスタンス情報生成手順と、前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成して動作情報記憶部へ記録する動作情報生成手順と、クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出する注目インスタンス抽出手順と、抽出した注目インスタンスを用いて、前記テストパタンの適否を判定する判定する判定手順と、を実行させる。
本発明によれば、半導体集積回路のテストパタンの作成において、クリティカルパス上のインスタンスの接続関係を考慮し、かつ、誤テストを回避するテストパタンの生成を効率的に行うことが可能となる。
本発明の実施形態に係るテストパタン生成装置の構成例を示すブロック図である。 テストパタン生成装置の動作環境の一例を示すシステム構成図である。 本発明の実施形態1に係るテストパタン生成装置の構成例を示すブロック図である。 インスタンス情報の一例を示す図である。 リージョン分割例を示す図である。 リージョン情報の一例を示す図である。 スイッチングインスタンスの抽出の一例を示す図である。 動作情報の一例を示す図である。 クリティカルパス情報の一例を示す図である パス上インスタンスと影響インスタンスとの関係を説明する図である。 実施形態1のテストパタン生成装置の動作例を示すフローチャートである。 インスタンス情報生成処理の動作例を示すフローチャートである。 リージョン分割処理の動作例を示すフローチャートである。 指標計算処理の動作例を示すフローチャートである。 影響インスタンス抽出処理の動作例を示すフローチャートである。 指標の計算方法を説明する図である。 基準値と指標との比較を、電源のノイズ解析と対応づけて説明する図である。 基準値0.7のときの判定結果例を示す図である。 基準値0.8のときの判定結果例を示す図である。 本発明の実施形態2に係るテストパタン生成装置の構成例を示すブロック図である。 実施形態2のテストパタン生成装置の動作例を示すフローチャートである。 本発明の実施形態3に係るテストパタン生成装置の構成例を示すブロック図である。 実施形態3のテストパタン生成装置の動作例を示すフローチャートである。 従来のテストパタン生成装置の構成例を示すブロック図である。
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
図1は、本発明の実施形態に係るテストパタン生成装置の構成例を示すブロック図である。テストパタン生成装置1は、コンピュータを用いて実現することが可能であり、例えば、パーソナルコンピュータを用いることができる。
テストパタン生成装置1は、レイアウト情報、テストパタン情報、回路情報、及びクリティカルパス情報を外部より取得し、取得した情報を使用して、誤テストを回避するテストパタンを作成する装置である。図1では、テストパタン生成装置1は、誤テストを回避するため、テストパタンを使用してテストしたときに、クリティカルパス上のインスタンスへ影響を与える電源ノイズが、任意の基準値より大きいか否か判定し、判定結果を出力するテストパタン判定処理を実現する機能を示す。また、なお、図1では、テストパタンを生成する機能については明示していない。
レイアウト情報は、半導体装置を構成するインスタンス(各素子)の配置を設計した情報である。具体的には、各インスタンスがチップ上の配置される位置を、座標を用いて特定する情報である。
テストパタン情報は、半導体装置をテストする際に使用するテストパタンを記述した情報である。テストパタン情報は、少なくとも一つのテストパタンを含む。
回路情報は、半導体装置を構成するインスタンスの接続関係を記述した情報である。回路情報は、各インスタンスの接続関係に基づいて、各インスタンスが遷移する順番を特定することが可能な情報を含む。また、回路情報は、インスタンスに関する情報(例えば、クロックの種類など)を含む。
クリティカルパス情報は、半導体装置に含まれるパスのうち、遅延することができないクリティカルパスを特定した情報である。クリティカルパス情報は、半導体集積回路の設計者によって作成される。
図1では、各情報を取得する手段(経路)を示していないが、例えば、外部より取得した各情報をテストパタン生成装置1がアクセス可能な記憶領域(例えば、ハードディスク、メモリなど)に記録する。また、テストパタン生成装置1内に、情報を外部から取得する情報取得部を備えていてもよい。テストパタン生成装置1内の各構成要素は、各情報を記録領域から読み出すことによって使用する。
また、本明細書では、半導体装置を構成するインスタンス、具体的には物理的な各素子にインスタンス(名称)が付与されていることを前提とする。インスタンスの接続関係を説明する場合には、インスタンスをノードと称し、配線をパスと称して説明することもある。また、インスタンスのうち、電源ノイズの影響を与える可能性のあるインスタンスをゲートということもある。
図1に示すテストパタン生成装置1は、インスタンス情報生成部10、動作情報抽出部40、判定部90、及び記憶領域100を備える。記憶領域100は、テストパタン生成装置1がアクセス可能なデータを格納する領域であり、一つの記憶領域(例えばハードディスク)であってもよいし、複数の記録領域(例えば、複数のハードディスク、ハードディスクとメモリまたは外部記録媒体など)から構成されていてもよい。また、図1では、記憶領域100は少なくともインスタンス情報記憶部110と動作情報記憶部140とを含む。
インスタンス情報生成部10は、インスタンス情報を生成し、生成したインスタンス情報をインスタンス情報記憶部110へ記録する。インスタンス情報は、半導体集積回路を構成するインスタンス、並びに各インスタンスに関する情報(以降、適宜「インスタンス属性」という)、例えば、論理段数、ファンアウトなどを示す情報を含む。具体的には、インスタンス情報生成部10は、レイアウト情報を参照して、半導体集積回路を構成するインスタンスを抽出し、回路情報を参照して、各インスタンスについてインスタンス属性を抽出・算出する。インスタンス情報生成部10は、各インスタンスとインスタンス属性とを対応づけるインスタンス情報を生成する。
インスタンス情報は、判定部90が電源ノイズの影響を判定するときに使用する。従って、インスタンス情報生成部10は、判定部90の機能に応じて回路情報からインスタンス属性を抽出する。
動作情報抽出部40は、動作情報を生成し、生成した動作情報を動作情報記憶部140に記録する。動作情報は、クロックの印加に応じて変化するインスタンスに関する情報である。例えば、動作情報抽出部40は、回路情報とテストパタン情報とを使用して、テストパタンを使用して半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンス(スイッチングインスタンス)を抽出して動作情報を生成することができる。また、動作情報抽出部40は、回路情報とインスタンス情報とを使用して、スイッチング確率を定義することによって動作情報を生成することができる。動作情報の具体的な生成については以降の各実施形態で説明する。
判定部90は、クリティカルパス情報、インスタンス情報、及び動作情報を使用して、前記パス上インスタンスに影響を与える電源ノイズを判定する。判定部90は、レイアウト情報に含まれるインスタンスを解析する。そして、判定部90は、クリティカルパスを構成するインスタンス、すなわち、クリティカルパス上のインスタンス(以降、「パス上インスタンス」という)へ、パス上インスタンスより前に値が変化するインスタンス(以降、「注目インスタンス」という)を抽出する。そして、抽出した注目インスタンスを用いて、テストパタンの適否を判定する。このとき、判定部90は、インスタンス情報記憶部110からインスタンス情報を、動作情報記憶部140から動作情報を読み出す。
具体的には、判定部90は、次の動作を行う。(1)まず、レイアウト情報に含まれるインスタンスを解析し、パス上インスタンスを抽出する。(2)次に、パス上インスタンスそれぞれについて、インスタンス情報を参照して、パス上インスタンスより先に遷移するインスタンス(以降、「影響インスタンス」という)を抽出する。(3)そして、動作情報を参照して、影響インスタンスの中から注目インスタンスを抽出し、抽出した注目インスタンスを解析する。そして、注目インスタンスがクリティカルバス上のインスタンスへ電源ノイズを与えるか否かを判定する。
なお、図1では、テストパタン情報を使用してテストパタンを判定するテストパタン判定処理の機能を有する場合を説明したが、図1に示すテストパタン生成装置1の構成は、後述する実施形態2に適用することも可能である。
図2は、テストパタン生成装置の動作環境の一例を示すシステム構成図である。図2に示すシステムは、コンピュータ装置2−1、2−2とサーバ4とが、ネットワーク3を介して接続される構成である。
コンピュータ装置2−1、2−2は、パーソナルコンピュータ、あるいはエンジニアリングワークステーションを用いることが可能であり、テストパタン生成装置1を搭載する。また、コンピュータ装置2−1、2−2の数は、一例を示したものであり、1台以上の数がネットワーク3に接続される。
サーバ4は、実行プログラム、及びデータの提供に供される。サーバ4はインターネットなどのネットワーク3を介してコンピュータ装置2−1、2−2に接続される。また、サーバ4は、記録媒体5を有する。
記録媒体5は、レイアウト情報、テストパタン情報、回路情報、クリティカル情報を格納する。また、記録媒体5は、実行プログラムやCAD設計ツール(回路エディタやレイアウトエディタ等)を格納していてもよい。記録媒体5が保持するデータはネットワーク3を介してコンピュータ装置2−1、2−2にダウンロードされる。ダウンロードされた各情報等は、コンピュータ装置2−1、2−2のローカルなハードディスク、メモリなどの記録領域にストアされる。テストパタン生成装置1は、格納されたデータを使用して、テストパタンの判定を実施する。
また、本発明に係るテストパタン生成装置1は、例えば、テストパタン生成装置1の各処理をコンピュータに実現させるプログラムによって実現する。プログラムは、コンピュータ装置2−1、2−2のメモリにロードされ、当該コンピュータ装置2−1、2−2のCPU(Central Processing Unit)の制御のもとで、実行される。また、プログラムは、コンピュータ装置2−1、2−2で読み取り可能な記録媒体に記録することができる。
以下、具体的な実施形態を用いて、テストパタン生成装置1の詳細な説明を行う。
実施形態1.
実施形態1では、誤テストを回避するため、半導体集積回路のスキャンテストをにおいて、テストパタンを使用してテストしたときに、クリティカルパス上のインスタンスへ影響を与える電源ノイズが、任意の基準値より大きいか否か判定し、判定結果を出力するテストパタン判定処理を実現する場合を説明する。
図3は、本発明の実施形態1に係るテストパタン生成装置の構成例を示すブロック図である。テストパタン生成装置1aは、インスタンス情報生成部10a、リージョン分割部20、動作情報抽出部40、影響インスタンス抽出部50、指標計算部60、基準値算出部70、及び基準値比較部80を備える。また、記憶領域(記憶部)として、インスタンス情報記憶部110、リージョン情報記憶部120、クリティカルパス情報記憶部130、動作情報記憶部140、影響インスタンス情報記憶部150を備える。図1では、レイアウト情報、テストパタン情報、及び回路情報を記憶する記憶部を明示していないが、これらの情報も所定の記憶部に格納され、各構成要素が当該記憶部から読み出す。
なお、図1の判定部90は、影響インスタンス抽出部50、指標計算部60、基準値算出部70、及び基準値比較部80に相当する。また、指標計算部60と基準値比較部80とを比較判定部91ということもある。
インスタンス情報生成部10aは、図1のインスタンス情報生成部10と同様であり、ここでは、具体的にクロック情報抽出部11、論理段数算出部12、及びファンアウト数算出部13を備える例を示す。
クロック情報抽出部11は、各インスタンスが用いるクロックを特定する。
論理段数算出部12は、各インスタンスの論理段数を算出する。
ファンアウト数算出部13は、各インスタンスが許容するファンアウト数(FANOUT数)を算出する。
インスタンス情報生成部10aは、レイアウト情報及び回路情報を使用して、各インスタンスについて、クロック、論理段数、及びファンアウト数のインスタンス属性を取得する。そして、インスタンス情報生成部10aは、各インスタンスとインスタンス属性とを対応づけてインスタンス情報を生成する。図4にインスタンス情報の一例を示す。図4では、インスタンス属性として、クロック、論理段数、及びファンアウト数を示しているが、インスタンス情報には、これ以外のインスタンス属性が含まれていてもよい。
リージョン分割部20は、リージョン情報を生成し、生成したリージョン情報をリージョン情報記憶部120へ記録する。具体的には、リージョン分割部20は、レイアウト情報に基づいて、半導体集積回路(チップ)を複数のブロックに分割した複数のリージョンを生成し、各リージョンに配置されるインスタンスを抽出する。そして、リージョン分割部20は、複数のリージョンと各リージョンに配置されるインスタンスとを対応づけるリージョン情報を生成する。
図5は、リージョン分割例を示す図である。図5に示すように、チップを複数のブロックに分割した複数のリージョンを生成し、各リージョンに名称(リージョン名)を付与している。なお、図5では、チップを格子状に分割した例を示しているが、他の形状に分割してもよい。
図6は、リージョン情報の一例を示す図である。リージョン分割部20は、レイアウト情報を参照して各リージョンに配置されるインスタンスを抽出し、リージョン名とインスタンスとを対応づけるリージョン情報を生成する。図6の例では、REGION_Aには、INST1、INST2、INST3が対応づけられている。
動作情報抽出部40は、動作情報を生成し、生成した動作情報を動作情報記憶部140に記録する。動作情報は、テストパタンを用いて半導体集積回路を動作させたときに、クロックの印加に応じて変化するスイッチングインスタンスを抽出した情報である。
具体的には、動作情報抽出部40は、まず回路情報を参照して、インスタンスの接続関係を抽出し、論理的な回路構成を構築する。次に、動作情報抽出部40は、構築した回路構成を、テストパタンで動作させ、当該インスタンスが保持する値が、このテストパタンの動作によって変化する場合、そのインスタンスは、変化するインスタンス(すなわち、スイッチングインスタンス)として抽出する。動作情報抽出部40は、各テストパタンに識別子を付与し、抽出したスイッチングインスタンスを、識別子に対応付けた動作情報を生成し、動作情報記憶部140へ記録する。
ここで、図7を用いて具体的な動作を説明する。動作情報抽出部40は、回路情報を参照してインスタンスの接続関係を取得し、論理的な回路構成を構築する。構築した回路構成をテストパタン用いて動作させる。図7では、テストパタンは、Sinから回路構成へ入力され、Soutへ出力される。クロックの印加に応じてフリップフロップ(以下、適宜「FF」という)が保持する値が変化する状態を示す。INITIALは、初期状態であり、SHIFT0〜SHIFT11はクロックが印加されるタイミングを示す。6クロック目でFF2が1から0へ、FF4が0から1へ変化する(点線で囲んだ部分)。
動作情報抽出部40は、クロックの印加に応じて変化するFFをスイッチングインスタンスとして抽出する。さらに、動作情報抽出部40は、FFから出力される値を入力するインスタンス(FFが保持する値の変化に応じて変化するインスタンス)をスイッチングインスタンスとして抽出する。動作情報抽出部40は、スイッチングインスタンスとテストパタンとを対応させて動作情報を生成する。
図8に、動作情報の一例を示す。ここでは、パタン番号はテストパタンの識別子であり、FF1、INST1などは、インスタンスである。
図9は、クリティカルパス情報の一例を示す図である。この例では、クリティカルパス上のインスタンスとして、FF1、INST1、INST2、INST3、FF2である場合を示している。クリティカルパス情報は、設計者によって生成される。本実施形態では、影響インスタンス抽出部50は、クリティカルパス情報を参照して、クリティカルパス上のインスタンスを抽出する。
影響インスタンス抽出部50は、影響インスタンス情報を生成し、生成した影響インスタンス情報を影響インスタンス情報記憶部150へ記録する。影響インスタンス情報は、パス上インスタンスより先に遷移するインスタンスを抽出した情報である。影響インスタンス抽出部50は、リージョン情報、インスタンス情報、及びクリティカル情報を使用して、影響インスタンスを抽出する。
具体的には、影響インスタンス抽出部50は、リージョン情報を参照して、パス上インスタンスが存在するリージョンに配置されたインスタンス(以下、特定のリージョンに配置されたインスタンスを「リージョンインスタンス」ともいう)から、パス上インスタンスより先に遷移するインスタンスを影響インスタンスとして抽出する。例えば、影響インスタンス抽出部50は、インスタンス情報を参照して、パス上インスタンスより論理段数の小さいインスタンスを影響インスタンスとして抽出する。あるいは、パス上インスタンスより変化時刻の早いインスタンスを影響インスタンスとして抽出してもよい。そして、抽出した影響インスタンスを、パス上インスタンスと対応づけた影響インスタンス情報を生成する。
ここで、パス上インスタンスと影響インスタンスとの関係を説明する。図10は、パス上インスタンスと影響インスタンスとの関係を説明する図である。符号PFRnは、一つのリージョン(ブロック)を示し、符号Cmは、一つのクリティカルパスを示すことを前提とし(n、mは1以上の整数)、図10では、リージョンPFR2とクリティカルパスC1とを示している。リージョンPFR2は、パス上インスタンスを含むリージョンの一例である。インスタンスINST1〜INS4は、クリティカルパスCm上に配置されるパス上インスタンス、インスタンスP1からP7は、リージョンPFRn内に配置され、かつ、パス上インスタンスではないインスタンスである。
ここで、インスタンスINST2を着目インスタンスとする場合、影響インスタンス抽出部50は、インスタンスINST2より先に遷移するインスタンスP1、P2、P3、すなわち、インスタンスINST2より前時刻に変化するインスタンスP1、P2、P3を、影響インスタンスとして抽出する。図10中、インスタンスINST2より後時刻に変化するインスタンスP4〜P7は、影響インスタンスに該当しない。影響インスタンス抽出部50は、抽出した影響インスタンスを影響インスタンスセットとする。以降、影響インスタンスセットを、IIS(IMPACT INSTANCES SET)として表すこともある。例えば、図10において、INST2の影響インスタンスセットを、IIS(INST2)={INST1, p1, p2, p3}と表す。
なお、図10では、影響インスタンス抽出部50は、リージョンPFR2内に配置され、インスタンスINST2が遷移するより前に(先に)遷移するインスタンスを影響インスタンスとして抽出する例を説明した。しかしながら、影響インスタンス抽出部50は、クリティカルパスC1から所定の距離内に配置されたインスタンスの中から、影響インスタンスを抽出してもよい。
また、リージョン情報は、リージョン分割部20によって、レイアウト情報を用いて生成された情報であることから、影響インスタンス抽出部50は、レイアウト情報とインスタンス情報とを使用して、影響インスタンスを抽出するといえる。具体的な動作は、図15を用いて後述する。
指標計算部60は、クリティカルパス上のインスタンスに与える電源ノイズの影響を示す指標を計算する。具体的には、指標計算部60は、影響インスタンス情報と動作情報とを参照して、影響インスタンスの中から注目インスタンスを抽出し、リージョンインスタンスと注目インスタンスとを用いて指標を計算する。例えば、指標計算部60は、リージョンインスタンスに対する注目インスタンスの割合を用いて指標を計算してもよい。また、指標計算部60は、注目インスタンス及びリージョンインスタンスについて、ファンアウト数、インスタンスの個数、及び寄生容量のうちの少なくとも一つを用いて指標を計算してもよい。さらに、指標計算部60は、所定の計算式を用いて、注目インスタンス及びリージョンインスタンスに基づいて指標を算出してもよい。このとき、指標計算部60は、複数のパス上インスタンスそれぞれについて指標を算出し、算出した複数の指標の平均値を算出してもよい。
基準値算出部70は、指標計算部60が計算した指標と比較する基準値を、レイアウト情報と回路情報とを用いて算出する。なお、基準値算出部70を備えることなく、予め算出した基準値を基準値比較部80が保持する構成でもあってもよい。
基準値比較部80は、指標計算部60が計算した指標と基準値とを比較し、テストパタンの適否を判定し、判定結果を出力する。
なお、図3には明示していないが、テストパタン生成装置1aは、上述した各構成要素の処理実行を制御・調整する制御部(制御機能)を備える。制御部は、以降で動作例において説明する各処理の工程を制御・調整する。
続いて、本実施形態のテストパタン生成装置1aが実施するテストパタン判定処理の動作を説明する。例えば、テストパタン生成装置1aは、設計者(利用者)から起動され、対象となる半導体装置を特定されることによって処理を開始する。
図11は、実施形態1のテストパタン生成装置の動作例を示すフローチャートである。まず、テストパタン生成装置1a(制御部)は、テストパタンの判定を行う半導体集積回路に関する、レイアウト情報、テストパタン情報、回路情報、及びクリティカルパス情報を外部より取得し、自装置内の所定の記憶領域に記録する(S11)。
続いて、インスタンス情報生成処理及びリージョン分割処理を実施する。インスタンス情報生成処理及びリージョン分割処理は、どちらを先に実施してもかまわないし、並列して実行してもかまわない。
図12は、インスタンス情報生成処理の動作例を示すフローチャートである。インスタンス情報生成部10aは、レイアウト情報と回路情報とを所定の記録領域から読み出し、レイアウト情報に記載されている全インスタンスについて、インスタンス属性を取得する(S21)。具体的には、クロック情報抽出部11は、回路情報を参照して各インスタンスが使用するクロック(クロックの種類)を抽出する(S22)。論理段数算出部12は、回路情報を参照して、当該インスタンスの接続情報を用いて論理段数を算出する(S23)。ファンアウト数算出部13は、回路情報を参照して、当該インスタンスのファンアウト数を算出する(S24)。インスタンス情報生成部10aは、全インスタンスそれぞれについて、ステップS22からS24までの処理を繰り返す(S25)。インスタンス情報生成部10aは、取得したインスタンス属性を、インスタンスと対応させたインスタンス情報(例えば、図4)を生成し、インスタンス情報記憶部110へ記録する。
図13は、リージョン分割処理の動作例を示すフローチャートである。リージョン分割部20は、レイアウト情報を所定の記録領域から読み出し、レイアウト情報を使用して、リージョンの切り出しを行う(S31)。例えば、図5に示すような複数のブロックに分割して複数のリージョンを生成する。次にリージョン分割部20は、複数のリージョン配置されたインスタンスを抽出し、リージョン名とインスタンスとを対応づけたリージョン情報(例えば、図6)を生成し、リージョン情報記憶部120へ記録する(S32)。
次に、テストパタン生成装置1aは、テストパタン情報に含まれるテストパタンそれぞれについて、テストパタンの適否を判定する処理を行う(S13からS18)。まず、動作情報抽出部40は、テストパタン情報と回路情報とを参照して、動作情報を抽出する(S13)。具体的には、図7、8を用いて説明した処理を行う。
次に、指標計算処理を行う(S15)。図14は、指標計算処理の動作例を示すフローチャートである。まず、影響インスタンス抽出部50は、影響インスタンス抽出処理を行う(S41)。影響インスタンス抽出処理の詳細を、図15を用いて説明する。図15は、影響インスタンス抽出処理の動作例を示すフローチャートである。影響インスタンス抽出部50は、クリティカルパス情報記憶部130からクリティカル情報を読み出し、クリティカル情報を参照して、パス上インスタンス、すなわち、クリティカルパス上に配置されたインスタンスを抽出する(S51)。そして、影響インスタンス抽出部50は、抽出したパス上インスタンスを保持する(特定する)パス上インスタンス情報を生成し、任意の記憶領域に記憶する。例えば、影響インスタンス情報記憶部150を使用してもよい。
次に、影響インスタンス抽出部50は、抽出したパス上インスタンスそれぞれについて、ステップS53からステップS60までの処理を実施する(S52、S61)。ここでは、複数のパス上インスタンスのうち、論理段数の小さいインスタンスから処理を順に処理することを前提とする。
影響インスタンス抽出部50は、リージョン情報記憶部120に記録されたリージョン情報を参照して、パス上インスタンスのリージョン名を抽出する(S53)。そして、影響インスタンス抽出部50は、リージョン情報を参照して、抽出したリージョン名のリージョンに配置されるインスタンスを抽出し、抽出したインスタンスをパス上インスタンスと対応づけたリージョン内インスタンス情報を生成し、任意の記憶領域に記憶する(S54)。例えば、ここでは影響インスタンス情報記憶部150を使用してもよい。
次に、影響インスタンス抽出部50は、リージョン内インスタンス情報に含まれるリージョンインスタンスそれぞれについて、ステップS56からステップS58までの処理を実施する(S55、S59)。影響インスタンス抽出部50は、インスタンス情報記憶部110に記録されたインスタンス情報を参照して、パス上インスタンスとリージョンインスタンスとの論理段数を検索する(S56)。なお、パス上インスタンスの論理段数は一度検索した後は、ステップS56からステップS58の間、検索した論理段数を保持していてもよい。そして、影響インスタンス抽出部50は、パス上インスタンスの論理段数とリージョンインスタンスの論理段数とを比較する(S56)。なお、図15では、パス上インスタンスの論理段数を「OP_INST」と表示し、リージョンインスタンスの論理段数を「R_INST」と表示している。影響インスタンス抽出部50は、パス上インスタンスの論理段数がリージョンインスタンスの論理段数より大きい場合(S56でYES)、当該リージョンインスタンスを影響インスタンスであると判定し、影響インスタンス情報へ追加する。このようにして、影響インスタンス抽出部50は、リージョンインスタンスの中から抽出した影響インスタンスを、パス上インスタンスと対応づけて影響インスタンス情報を生成する。
なお、本実施形態では、パス上インスタンスとリージョンインスタンスとの論理段数を比較することによって、影響インスタンスであるか否かを判定しているが、この他の要素を用いて判定してもよい。パス上インスタンスより前時刻に遷移する(変化する)インスタンスを検出可能な要素であれば、用いることができる。
影響インスタンス抽出部50は、全リージョンインスタンスについてステップS56からステップS58の処理を終了すると(S59)、着目するパス上インスタンスの論理段数を1つ加算し、次のパス上インスタンスの処理を開始する(S60)。影響インスタンス抽出部50は、パス上インスタンスの全部のインスタンスについて、ステップS53以降の処理を繰り返し、影響インスタンス情報を生成する。影響インスタンス抽出部50は、生成した影響インスタンス情報を影響インスタンス情報記憶部150へ記録する。どのタイミングで影響インスタンス情報を影響インスタンス情報記憶部150へ記録するかは、設計事項であり、例えば、リージョンインスタンス毎でもよいし、全パス上インスタンスの処理が終了してからでもよい。
影響インスタンス抽出部50は、影響インスタンス抽出処理が終了すると、ステップS51において生成したパス上インスタンス情報と、ステップS54において生成したリージョンインスタンス情報とを指標計算部60へ通知する。影響インスタンス抽出部50は、影響インスタンス情報記憶部150にパス上インスタンス情報及びリージョンインスタンス情報を記録することによって、指標計算部60が参照できるようにしてもよい。
指標計算部60は、パス上インスタンス情報を参照して、全パス上インスタンスについて、ステップS43、ステップS44の処理を行う(S42、S45)。このとき、指標計算部60は、インスタンス情報記憶部110に記録されたインスタンス情報、動作情報記憶部140に記録された動作情報、及びリージョンインスタンス情報を参照して指標を計算する。指標計算部60は、パス上インスタンスについて指標を計算し(S43)、計算した指標を既に計算した指標と合算してトータル指標を計算する(S44)。トータル指標は、一つのリージョンに配置されたパス上インスタンスそれぞれの指標を合算した値である。指標計算部60は、全パス上インスタンスについてS43、S44の処理が終了すると(S45)、指標を平均化する(S46)。
ここで指標の算出方法について、式1,2、及び図16を用いて説明する。式1,2は、インスタンスのファンアウト数を、電源ノイズの発生を予測する一つの要素として用いて指標を計算する例を示す。本実施形態では、式1に従ってパス上インスタンスの指標を計算し(S43)、式2の計算式に従って指標を平均化する(S46)。
Figure 2011163897
なお、式1、2中、iは、インスタンスを識別する変数であり、1からパス上インスタンス数の範囲の整数値をとる。jは、リージョンを識別する変数であり、1から全リージョン数の範囲の整数値をとる。IF(INST i)は、i番目のインスタンスの指標である。IF(Ck)は、クリティカルパスCk(kは、1以上の整数)の論理段数一段あたりの指標(IF値)である。また、ON−PATHとは、クリティカルパス上を意味し、ON−PATH INSTANCESは、クリティカルパス上のインスタンスである。IISは、影響インスタンスセットである。
各インスタンスの指標(IF値)は、分母に、全リージョンインスタンスのインスタンス属性を積算した値を用い、分子に、注目インスタンスのインスタンス属性を積算した値を用いる。具体的には、式1は、各リージョンインスタンスのファンアウト数に1を加算した値を、全リージョンインスタンスについて合計した値を分母とする。また、各注目インスタンスのファンアウト数に1を加算した値を、全注目インスタンスについて合計した値を分子とする。
式1に従ってパス上インスタンスの指標を計算するにあたって、指標計算部60は、まず、リージョンインスタンス情報を参照して、パス上インスタンスに対応づけられたリージョンインスタンス情報を取得する。分母の値の計算において、指標計算部60は、リージョンインスタンス情報に含まれるリージョンインスタンスそれぞれについて、インスタンス情報を参照してファンアウト数を取得する。指標計算部60は、取得したファンアウト数を用いて分母の値を計算する。
分子の計算において、指標計算部60は、影響インスタンス情報を参照して、パス上インスタンスの影響インスタンスを取得する。指標計算部60は、動作情報を参照して、各影響インスタンスがスイッチングインスタンスである場合、当該影響インスタンスを注目インスタンスとして抽出する。指標計算部60は、全影響インスタンス(IIS(INST i))のち注目インスタンスのファンアウト数を用いて分子の値を計算する。このようにして、指標計算部60は、各インスタンスの指標を計算する。
図16に、クリティカルパスCkのうち、リージョンPFR2に配置されたインスタンスを示す。指標計算部60は、インスタンスINST1、INST2、INST3それぞれについて、式1を用いて各インスタンスの指標IF(INST1)、IF(INST2)、IF(INST3)を計算する(S43)。そして、指標計算部60は、順次指標を加算してトータル指標を計算する(S44)。具体的には、指標計算部60は、パス上インスタンスについて既に計算した指標と、新たに算出した指標とを合算する。これを全パス上インスタンスについて行う。図16の例では、指標計算部60は、指標IF(INST1)を計算すると、トータル指標を、指標IF(INST1)とする。指標計算部60は、指標IF(INST3)を計算すると、前回計算したトータル指標へ指標IF(INST3)を加算し、トータル指標を指標IF(INST1)+指標IF(INST2)+指標IF(INST3)とする。
全パス上インスタンスの指標の計算が完了すると、指標計算部60は、式2に従って、クリティカルバス上のインスタンス数を分母とし、トータル指標を分子として、指標を平均化する。
式2は、クリティカルパス上のインスタンスの数(PATH LENGTH (# OF ON-PATH INSTANCES))を分母とする。また、式1に従って計算した値IF(INST i)をクリティカルパス上の全インスタンス(N_OPI = # OF ON-PATH INSTANCES )について合計した値を分子とする。
指標計算部60は、平均化した指標を基準値比較部80に通知する。
基準値比較部80は、平均化した指標を、基準値算出部70が算出した基準値と比較する(S16)。基準値より平均化した指標が大きい場合、基準値比較部80は、当該テストパタンが適切でないと判断し、テストパタン識別子を一時的に保持する(S17)。なお、基準値比較部80は、テストパタンが適切でない箇所を検出可能な場合、検出した箇所を設計者に通知する、あるいは情報を記録するなどの処理を実施してもよい。全テストパタンの処理が終了すると、基準値比較部80は、保持したテストパタン識別子を明示する判定結果を生成し、出力する。判定結果に含める情報は、設計者がその後の作業に必要な情報を含めることが可能である。例えば、計算した指標、使用した基準値などその後の作業を選択するうえで有効な情報を含めることが可能である。
設計者は、出力された判定結果に応じて、テストパタンの削除、テストパタンの再作成、あるいは半導体集積回路の設計変更等の作業を行う。この判定結果の出力するにより、設計者は誤テストを回避するテストパタンの生成を効率化することが可能になる。
ここで、電源ノイズ解析フローと本発明のフローとの関係について説明する。図17は、基準値と指標との比較を、電源のノイズ解析と対応づけて説明する図である。右側に本発明のテストパタン生成装置1aによって指標を算出し、算出した指標と基準値を比較するフローを示す。左側に電源ノイズ解析フローを示す。電源ノイズ解析フローでは、テストパタンを使用して、インスタンスのうち、保持する値の変化を抽出し(GATE-LEVEL SWICHING ACTIVITY)、IR−DROPを解析する。この解析では、CELL LIBRARY LAYOUTとPOWER-GRID PACKAGEの情報を取得し、これらの情報を使用してIR−DROPを解析する。解析結果を用いて、IR−DROP値を遅延値に変換する。遅延値とクリティカルパスとを用いて、STA(Static Timing Analysis:静的タイミング解析)の手法により解析し、クリティカルパスが、このテストパタンを動作させた時に、タイミング違反をおこさないかどうかを判定する。STAは、パスの遅延値を算出する処理である。これらの手続が本願発明のテストパタン生成装置では、指標を算出し、指標を基準値と比較する手順に相当する。
基準値を算出する場合に、既知の半導体集積回路を用いてSTAによる判定結果を取得する。判定結果と、同様のパスに対しての式1の指標の計算を行い、仮に設定した基準値と比較結果とを照らし合わせて、仮に設定した基準値の妥当性を判定する。図18は、基準値0.7のときの判定結果例を示す図であり、図19は、基準値0.8のときの判定結果例を示す図である。図18に示すように、基準値を0.7と算出した場合、PATH1、3では判定結果が一致し、基準値を適切と判断する。一方、PATH2では、判定結果が一致しないため、基準値を適切でないと判断する。この結果、基準値算出部70は、基準値として0.7を採用しない。また、図19に示すように、基準値を0.8と算出した場合、PATH1、2、及び3ともに判定結果が一致し、基準値を適切と判断する。この結果、基準値算出部70は、基準値として0.8を採用する。このようにして、基準値算出部70は、既知の手法による電源のノイズの解析結果を用いて基準値を算出する。
なお、図16では、インスタンスのファンアウト数を用いて指標を計算する例を説明したが、他の要素を用いて指標を計算してもよい。例えば、インスタンスの出力ピンにつながるすべてのインスタンス数、インスタンスの寄生容量を用いて指標を計算することができる。
以上説明したように、本実施形態によれば、テストパタン生成装置1aは、分割したリージョン単位でクリティカルパス上の各インスタンスに関して、遷移時刻が当該インスタンスより前となる他のインスタンスを、電源ノイズを与える可能性を有する影響インスタンスとして抽出する。そして、テストパタン生成装置1aは、抽出した影響インスタンスの動作情報と、影響インスタンスに関する情報(インスタンス属性、例えば、ファンアウト数)を使用して指標を算出し、算出した指標を、あらかじめ算出した基準値と比較し、誤テストを回避することができるか否かを判断する。これにより、クリティカルパス上のインスタンスについて、電源ノイズによって引き起こされる遅延の影響で生じる誤テストを回避することができる。
また、誤テストを回避する効果が向上することによって、歩留まりの向上が期待できる。これは、誤テストとなる可能性が高いクリティカルパスと、クリティカルパス上のインスタンスの遷移時刻を考慮した指標を使用してテストパタンを判定し、判定結果に基づいてテストパタンを生成するからである。
さらに、誤テストを回避することによって、テストに要する時間を削減することができる。これは、誤テストが発生するクリティカルパスを対象に誤テストを回避するため、回避する必要のないテストパタンの削除と作り替えなど、過剰にテストパタンを削除することを抑制できるからである。
なお、図11のステップS17において、どのような情報を保持するかは設計事項であり、設計者に当該テストパタンが適切でないことを判定結果に示すことができる情報であればよい。また、図11のステップS19において、判定結果を出力しているが、テストパタン毎に判定結果を出力してもよい。さらに、判定結果に応じて設計者が処理する作業は上述したものに限られるわけではなく、テスト対象となる半導体集積回路に応じて処理が選択されるものであり、本発明においては具体的な言及をしない。
実施形態2.
実施形態2では、誤テストを回避するため、半導体集積回路のスイッチング確率を使用して動作情報を生成し、インスタンスの配置の適否を判定する例を説明する。具体的には、回路情報とインスタンス情報とを用いて動作情報を生成する。本実施形態では、テストパタン生成装置は、テストパタン情報を用いることなく、レイアウト情報、回路情報、及びクリティカル情報を使用して指標を計算し、計算した指標に応じて判定結果を出力する。実施形態2では、指標を用いて、クリティカルパス上のインスタンスが電源ノイズの影響を受けるか否かを、回路のレイアウト及びインスタンス属性を用いて判定する回路判定処理を説明する。
図20は、本発明の実施形態2に係るテストパタン生成装置の構成例を示すブロック図である。図20に示すテストパタン生成装置1bは、動作情報抽出部40c、動作情報記憶部140c、指標計算部60b、基準値算出部70b、及び基準値比較部80bの処理が、図3に示したテストパタン生成装置1aと異なる。その他の構成要素は図3と同様である。
動作情報抽出部40bは、回路情報とインスタンス情報とを使用して、インスタンスのスイッチング確率を定義する。動作情報抽出部40bは、スイッチング確率を定義したインスタンスをスイッチングインスタンスとして動作情報を生成し、動作情報記憶部140bへ記録する。動作情報は、スイッチングインスタンスがテストパタンと対応づけられない点が異なる。
ここで、スイッチング確率は、インスタンスが変化するか否かの確率、すなわち、動作する確率を示す。スイッチング確率を定義する処理の一例としては次のように行うことができるが、これに限られず一般的に用いられている手法でスイッチング確率を定義することができる。
まず、動作情報抽出部40bは、回路情報を参照して、回路情報に含まれるインスタンスのうち、フリップフロップを抽出する。また、動作情報抽出部40bは、インスタンス情報を参照して、抽出したフリップフロップのクロック情報を取得する。動作情報抽出部40bは、クロックの印加(クロック周期)に応じてフリップフロップが保持する値が変化すると仮定して、任意の期間におけるスイッチング確率を算出する。そして、動作情報抽出部40bは、回路情報を参照して、フリップフロップに接続される(フリップフロップの出力を入力する)インスタンスがフリップフロップの変化に応じて変化するため、フリップフロップと同じスイッチング確率であると仮定する。動作情報抽出部40bは、このようにして、各インスタンスのスイッチング確率を定義する。
指標計算部60bは、動作情報、インスタンス情報、及び影響インスタンス情報を使用して指標を計算する。指標計算部60bは、スイッチング確率そのもの(1以下の値)を利用して、式3を用いてIFの値を計算する。式3は、実施形態1で示した式1の"FOR ALL SWITCHING INSTANCES IN IIS"を、"ALL INSTANCES IN IIS"へ変更した計算式である。指標の計算自体は、式1に替えて式3を用いる点を除いて、実施形態1と同様である。上述したように、指標計算部60bが参照する動作情報の内容が異なる。指標計算部60bは、実施形態1と同様の手法を用いて、注目インスタンスを抽出することができる。また、指標計算部60bは、式3を用いて指標を計算することができる。
Figure 2011163897
実施形態1では、図17に示すように、テストパタンを使ってIRdrop解析する。これに対して、実施形態2では、IFの算出と同様に、クロックの情報を与えて算出したスイッチング確率に基づき、IRdropの解析を行う点が異なる。
具体的には、基準値算出部70bは、誤動作が生じる確率が既知である半導体集積回路を用いてシミュレーションし、スイッチング確率を用いた場合の基準値を算出する点が、実施形態1と異なる。また、基準値比較部80bは、あらかじめ、算出された基準値と計算した指標とを比較する。基準値比較部80bは、指標が基準値を超えるようであれば、判定結果に含める情報を収集するが、収集する情報が実施形態1と異なる。例えば、基準値比較部80bは、クリティカルパス上の各インスタンスに関して、電源のノイズの影響を与える可能性があるインスタンスを抽出する。
このように、指標計算部60b、基準値算出部70b、及び基準値比較部80bは、使用する情報が実施形態1と異なるが、基本的な処理については実施形態1と同様である。
図21は、実施形態2のテストパタン生成処理の動作例を示すフローチャートである。実施形態1で説明した図11動作例では、各テストパタンに対して誤テスト回避可能か否かを判断していた。本実施形態では、テストパタン生成装置1bは、各テストパタンを考慮することなく、半導体集積回路を構成する各インスタンスについて、レイアウトと接続関係とを用いて指標を計算する。図21において、図11と同じステップの番号をつけた処理は、実施形態1と同様である。
ステップS81では、テストパタン情報を取得しない点を除いて、図11のステップS11と同様である。
動作情報抽出部40bは、半導体集積回路を構成する各インスタンスについて、スイッチング確率を定義し、動作情報を生成する(S82)。また、ステップS83からステップS84までは、上述した各構成要素について説明した処理を実施する。基準値比較部80bは、ステップS84の処理によって、半導体集積回路が通常動作時に誤動作を回避することができるか否かを判断する。また、計算した指標が基準値より大きい場合(S84でYES)、基準値比較部80bは、設計者に通知したい情報を収集する(S85)。そして、基準値比較部80bは、判定結果を生成し、出力する(S86)。
ここで、判定結果は、回路判定処理をした結果であり、指標が基準値より大きいか否かと、ステップS85で収集した情報を収集した場合には収集した情報とを含むものである。設計者は、判定結果に応じて、クリティカルパス上の各インスタンスに関して、電源ノイズの影響を与える可能性がある影響インスタンスを、別のリージョンに配置変更するなど、半導体集積回路の設計を変更(耐電源ノイズ設計)することができる。これにより、クリティカルパスが含まれるリージョンに配置される影響インスタンスを減らし、指標を基準値以下の値へ変更する。その結果、半導体集積回路の誤動作を回避することが可能になる。
実施形態3.
実施形態3では、実施形態1のテストパタン判定処理と、実施形態2の回路判定処理とを有するテストパタン生成装置の一態様を説明する。
図22は、本発明の実施形態3に係るテストパタン生成装置の構成例を示すブロック図である。テストパタン生成装置1cは、機能選択部9を備える。その他の構成要素は、図3と図20で説明した機能を有する構成要素である。
機能選択部9は、機能選択情報を外部から受け付け、テストパタン判定処理と回路判定処理とのいずれかを選択し、動作情報抽出部40c、指標計算部60c、基準値算出部70c、及び基準値比較部80cへ通知する。機能選択部9は、例えば選択信号によって通知する。
動作情報抽出部40cは、機能選択部9から通知された選択信号に応じて、生成する動作情報を選択する。具体的には、動作情報抽出部40cは、選択信号がテストパタン判定処理を示す場合(例えば、LOW)、実施形態1で説明した処理を実施し、選択信号が回路判定処理を示す場合(例えば、HIGH)、実施形態2で説明した処理を実施する。
同様に、指標計算部60c、基準値算出部70c、及び基準値比較部80cも、選択信号に応じて処理を実施する。
なお、図22において、機能選択部9から指標計算部60cと基準値比較部80cへ制御信号が入力されているが(一点鎖線で示した部分)、動作情報内に機能選択情報を含めてもよい。この場合、指標計算部60cは、動作情報に基づいて選択された機能を判断する。例えば、動作情報は、図8と同様の構成を有する場合、予め設定されたテスト番号である場合に回路判定処理であることを判断できるようにしてもよい。指標計算部60cは、予め設定されたテスト番号を記憶していればよい。
図23は、実施形態3のテストパタン生成装置の動作例を示すフローチャートである。図11と同じステップ番号をつけた処理は、実施形態1と同様である。
ステップS91では、実施形態1の処理に加え、機能選択部9は、外部から機能選択情報を取得する。例えば、テストパタン生成装置1c(機能選択部9)は、設計者がテストパタン判定処理と回路選択処理とを選択する画面を提供し、設計者が入力した情報によって、機能選択情報を取得する。
また、機能選択部9は、取得した機能選択情報に基づいて選択信号を出力する。そして、選択信号に応じて(S92)、テストパタン生成装置1cは、テストパタン判定処理(S93)と回路判定処理(S94)とのいずれかを実施する。
テストパタン判定処理(S93)は、図11に示したステップS13からステップS19までの処理である。また、回路判定処理(S94)は、図21に示したステップS82からステップS85までの処理である。
設計者は、テストパタン生成装置1cから出力される判定結果に応じて、テストパタンの削除、テストパタンの再作成、半導体集積回路の設計を変更(耐電源ノイズ設計)などの処理を実施する。また、設計者は、判定結果に応じて、テストパタン生成装置1cに実施させる機能を変更し、異なる機能の判定結果を取得した後、実施する処理を選択することもできる。
なお、上記実施形態では、テストパタン判定処理と回路判定処理とのいずれかを行う例を説明したが、機能選択情報として、双方とも実施するモードを設定してもよい。この場合、二つの処理を続けて実施するように図23に示す手順を変更すればよい。
その他の実施形態
実施形態1では、半導体集積回路のレイアウトをリージョン分割し、複数のリージョン毎に指標を算出する場合を説明した。しかしながら、リージョン分割処理を実施しないで指標を算出することも可能である。この場合、クリティカルパスの着目インスタンスに対して、任意の領域の範囲を設定し、設定下範囲内に配置された注目インスタンスを抽出する方法をとることもできる。例えば、図15のステップS53では、パス上インスタンスのリージョン名を抽出して、リージョン内に配置されるインスタンスをリージョンインスタンスとして抽出する。この処理について、パス上インスタンスに対して任意の距離に配置されたインスタンスを、レイアウト情報を参照することによって抽出する。抽出したインスタンスを図16におけるリージョンインスタンスの代わりに用いてもよい。
以上のように、本発明に係る実施形態のいずれかによれば、クリティカルパス上のインスタンスの接続関係、すなわち、クリティカルパスの遅延関係を考慮して、誤テストを回避するテストパタンを生成することができる。また、指標を算出する手法を用いることによって、テストパタン生成の手続を簡素化し、効率よくテストパタンを生成することができる。
クリティカルパス上のインスタンスは、電源ノイズの影響により動作が遅延し、遅延が増加することによって誤動作が生じる。また、テスト時の各インスタンスのIRドロップは、各時刻で異なる。そこで、本発明の各実施形態では、誤テストの発生率が高いクリティカルパスと、クリティカル上のインスタンスの遷移時刻を考慮した指標を用いる。この指標によって、電源ノイズに起因する誤テストの回避し、歩留まり向上させることができる。また、本発明の各実施形態では、誤動作の発生が深刻な影響を与えるクリティカルパスを対象に誤テスト回避を行う。このため、回避する必要がないようなテストパタンの削除など、過剰な誤テストの回避を抑制する。これにより、テストパタンの生成に要する時間を削減することができる。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
1、1a テストパタン生成装置
2−1、2−2 コンピュータ装置
3 ネットワーク
4 サーバ
5 記録媒体
10、10a インスタンス情報生成部
11 クロック情報抽出部
12 論理段数算出部
13 ファンアウト数算出部
20 リージョン分割部
40、40b、40c 動作情報抽出部
50 影響インスタンス抽出部
60、60b、60c 指標計算部
70、70b、70c 基準値算出部
80、80b、80c 基準値比較部
90 判定部
91、91b、91c 比較判定部
100 記憶領域
110 インスタンス情報記憶部
120 リージョン情報記憶部
130 クリティカルパス情報記憶部
140、140b、140c 動作情報記憶部
150 影響インスタンス情報記憶部

Claims (15)

  1. 半導体集積回路をテストするテストパタンを生成するテストパタン生成装置であって、
    記憶領域と、
    レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成し、前記インスタンス情報を前記記憶領域に記録するインスタンス情報生成部と、
    前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成し、前記動作情報を前記記憶領域に記録する動作情報抽出部と、
    クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、抽出した注目インスタンスを用いて、前記テストパタンの適否を判定する判定部と、を備えるテストパタン生成装置。
  2. 前記判定部は、前記インスタンス情報を参照して、前記パス上インスタンスより先に遷移する影響インスタンスを抽出し、前記動作情報を参照して、前記影響インスタンスの中から前記注目インスタンスを抽出することを特徴とする請求項1記載のテストパタン生成装置。
  3. 前記レイアウト情報に基づいて、前記半導体集積回路を複数のブロックに分割した複数のリージョンを生成し、前記複数のリージョンと各リージョンに配置されるインスタンスとを対応づけるリージョン情報を生成するリージョン分割部を、さらに備え、
    前記判定部は、前記インスタンス情報と前記リージョン情報とを参照して、前記パス上インスタンスと同じリージョンに配置されるリージョンインスタンスの中から前記影響インスタンスを抽出することを特徴とする請求項2記載のテストパタン生成装置。
  4. 前記判定部は、前記リージョンインスタンスに対する前記注目インスタンスの割合を用いて、前記パス上インスタンスに影響を与える電源ノイズを数値化し、前記テストパタンの適否を判定することを特徴とする請求項3記載のテストパタン生成装置。
  5. 前記判定部は、前記注目インスタンス及び前記リージョンインスタンスについて、ファンアウト数、インスタンスの個数、及び寄生容量のうちの少なくとも一つを用いて前記パス上インスタンスに影響を与える電源ノイズを数値化することを特徴とする請求項4記載のテストパタン生成装置。
  6. 前記判定部は、前記注目インスタンスと前記リージョンインスタンスとに関する情報を用いて、前記パス上インスタンスに影響を与える電源ノイズを数値化した指標を算出し、予め設定した基準値と前記指標とを比較した結果に応じて前記テストパタンの適否を判定することを特徴とする請求項4または5に記載のテストパタン生成装置。
  7. 前記クリティカルパスは複数のパス上インスタンスから構成され、
    前記判定部は、前記基準値と、複数のパス上インスタンスそれぞれについて算出した複数の指標の平均値とを比較することを特徴とする請求項6記載のテストパタン生成装置。
  8. 前記インスタンス情報生成部は、前記インスタンス情報を、前記インスタンスと前記インスタンスの論理段数とを対応づけて生成し、
    前記判定部は、前記インスタンス情報を参照して、前記パス上インスタンスより論理段数の小さいインスタンスを前記影響インスタンスとして抽出することを特徴とする請求項2乃至7のいずれか一項に記載のテストパタン生成装置。
  9. 前記判定部は、前記インスタンス情報を参照して、前記パス上インスタンスより変化時刻の早いインスタンスを影響インスタンスとして抽出することを特徴とする請求項2乃至7のいずれか一項に記載のテストパタン生成装置。
  10. 前記判定部は、
    前記リージョン情報を参照して、前記影響インスタンスを抽出する影響インスタンス抽出部と、
    前記動作情報を参照して、前記影響インスタンスの中から前記注目インスタンスを抽出し、前記注目インスタンスと前記リージョンインスタンスとを用いてパス上インスタンスに影響を与える電源ノイズを数値化し、前記テストパタンの適否を判定する比較判定部を備えることを特徴とする請求項3乃至9のいずれか一項に記載のテストパタン生成装置。
  11. 前記動作情報抽出部は、前記回路情報と前記インスタンス情報を参照して、前記インスタンスのスイッチング確率を定義し、前記スイッチング確率が閾値より大きいインスタンスを抽出した動作情報を生成し、
    前記判定部は、前記注目インスタンスを用いて、前記パス上インスタンスに影響を与える電源ノイズを数値化し、インスタンスの配置の適否を判定することを特徴とする請求項1乃至10のいずれか一項に記載のテストパタン生成装置。
  12. 前記判定部がテストパタンの適否を判定するテストパタン判定処理と、前記インスタンスの配置の適否を判定する回路判定処理とを切り替える選択信号を出力する機能選択部をさらに備え、
    前記動作情報抽出部は、前記選択信号に応じて動作情報を生成することを特徴とする請求項11記載のテストパタン生成装置。
  13. 半導体集積回路をテストするテストパタンを生成するテストパタン生成装置であって、
    記憶領域と、
    レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成し、前記インスタンス情報を前記記憶領域に記録するインスタンス情報生成部と、
    前記回路情報と前記インスタンス情報を参照して、インスタンスのスイッチング確率を定義し、前記スイッチング確率が閾値より大きいインスタンスを抽出した動作情報を生成し、前記動作情報を前記記憶領域に記録する動作情報抽出部と、
    クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、抽出した注目インスタンスを用いて、前記パス上インスタンスに影響を与える電源ノイズを判定する判定部と、を備えるテストパタン生成装置。
  14. 半導体集積回路をテストするテストパタンを生成するテストパタン生成方法であって、
    レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成してインスタンス情報記憶部へ記録し、
    前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成して動作情報記憶部へ記録し、
    クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出し、
    抽出した注目インスタンスを用いて、前記テストパタンの適否を判定するテストパタン生成方法。
  15. 半導体集積回路をテストするテストパタンを生成するプログラムであって、
    コンピュータに、
    レイアウト情報と回路情報とを使用して、前記半導体集積回路に配置されるインスタンスを抽出し、前記インスタンスとインスタンスに関する情報とを対応づけたインスタンス情報を生成してインスタンス情報記憶部へ記録するインスタンス情報生成手順と、
    前記回路情報を参照して、前記テストパタンを使用して前記半導体集積回路を動作させたときに、クロックの印加に応じて変化するインスタンスを抽出した動作情報を生成して動作情報記憶部へ記録する動作情報生成手順と、
    クリティカルパスを特定するクリティカルパス情報、前記インスタンス情報、及び前記動作情報を使用して、前記レイアウト情報に含まれるインスタンスのうち、前記クリティカルパスを構成するパス上インスタンスより前に変化する注目インスタンスを抽出する注目インスタンス抽出手順と、
    抽出した注目インスタンスを用いて、前記テストパタンの適否を判定する判定する判定手順と、を実行させるプログラム。
JP2010026443A 2010-02-09 2010-02-09 テストパタン生成装置、テストパタン生成方法、及びプログラム Pending JP2011163897A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010026443A JP2011163897A (ja) 2010-02-09 2010-02-09 テストパタン生成装置、テストパタン生成方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010026443A JP2011163897A (ja) 2010-02-09 2010-02-09 テストパタン生成装置、テストパタン生成方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011163897A true JP2011163897A (ja) 2011-08-25

Family

ID=44594752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010026443A Pending JP2011163897A (ja) 2010-02-09 2010-02-09 テストパタン生成装置、テストパタン生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2011163897A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113850047A (zh) * 2021-10-17 2021-12-28 苏州浪潮智能科技有限公司 一种用于印刷电路板的仿真系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113850047A (zh) * 2021-10-17 2021-12-28 苏州浪潮智能科技有限公司 一种用于印刷电路板的仿真系统及方法
CN113850047B (zh) * 2021-10-17 2024-01-16 苏州浪潮智能科技有限公司 一种用于印刷电路板的仿真系统及方法

Similar Documents

Publication Publication Date Title
US7162706B2 (en) Method for analyzing and validating clock integration properties in circuit systems
US7958470B1 (en) Method and system for false path analysis
US7308660B2 (en) Calculation system of fault coverage and calculation method of the same
US20080104556A1 (en) Assertion Generating System, Program Thereof, Circuit Verifying System, and Assertion Generating Method
US9589096B1 (en) Method and apparatus for integrating spice-based timing using sign-off path-based analysis
US20110035203A1 (en) system level power evaluation method
US7424693B2 (en) Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins
Chang et al. Simulation-based bug trace minimization with BMC-based refinement
JP4657912B2 (ja) 設計装置および設計方法とそのプログラム
US10267857B2 (en) Method and system for functional safety verification
US7103859B2 (en) System and method for improving testability independent of architecture
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP4370335B2 (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
US20100269003A1 (en) Delay fault diagnosis program
JP2011163897A (ja) テストパタン生成装置、テストパタン生成方法、及びプログラム
Shrestha et al. EDA-schema: A graph datamodel schema and open dataset for digital design automation
JP2005071001A (ja) 設計支援装置
JP4644142B2 (ja) クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。
Simoglou et al. Graph-based STA for asynchronous controllers
US20120253712A1 (en) Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program
JP4217204B2 (ja) タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム
CN117907812B (zh) 电路检测方法及装置、电子设备、存储介质、程序产品
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム
US20090292837A1 (en) Propagation path specifying device, propagation path specifying method and computer program product