TOP > 国内特許検索 > 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体 > 明細書

明細書 :生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2008-082867 (P2008-082867A)
公開日 平成20年4月10日(2008.4.10)
発明の名称または考案の名称 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
国際特許分類 G01R  31/3183      (2006.01)
G01R  31/28        (2006.01)
FI G01R 31/28 Q
G01R 31/28 G
請求項の数または発明の数 12
出願形態 OL
全頁数 20
出願番号 特願2006-262764 (P2006-262764)
出願日 平成18年9月27日(2006.9.27)
発明者または考案者 【氏名】温 暁青
【氏名】梶原 誠司
【氏名】宮瀬 絋平
【氏名】皆本 義弘
【氏名】伊達 博
出願人 【識別番号】503360115
【氏名又は名称】独立行政法人科学技術振興機構
【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
【識別番号】504125469
【氏名又は名称】株式会社システム・ジェイディー
個別代理人の代理人 【識別番号】100116573、【弁理士】、【氏名又は名称】羽立 幸司
審査請求 未請求
テーマコード 2G132
Fターム 2G132AA01
2G132AC09
2G132AC14
2G132AG12
2G132AG14
要約 【課題】 キャプチャ時の消費電力を効果的に削減可能とするテストベクトルを生成する生成装置等を提供する。
【解決手段】 生成装置100は、論理回路に対してテストキューブに含まれる複数の未定値ビットに論理値を割り当ててテストベクトルを生成し、複数の未定値ビットの中から一つの割当対象未定値ビットを選択する選択部101と、未定値ビットを含むテストキューブによるキャプチャ遷移数を計算するキャプチャ遷移数数値化部103と、選択された割当対象未定値ビットに論理値0を割り当てて得られる第1テストキューブと論理値1を割り当てて得られる第2テストキューブに対してキャプチャ遷移数数値化部103を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を選択された割当対象未定値ビットに割り当てる論理値割当部105を備える。
【選択図】 図1
特許請求の範囲 【請求項1】
論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置であって、
前記論理回路はフルスキャン設計された順序回路であって、
前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択手段と、
未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化手段と、
前記選択された割当対象未定値ビットに論理値0を割り当てることによって得られる第1テストキューブと、前記選択された割当対象未定値ビットに論理値1を割り当てることによって得られる第2テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当て手段とを備え、
前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる、生成装置。
【請求項2】
前記選択手段は、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択する、請求項1記載の生成装置。
【請求項3】
前記キャプチャ遷移数数値化手段は、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化する、請求項1又は2記載の生成装置。
【請求項4】
前記論理値割り当て手段は、
前記選択された割当対象未定値ビットに対して1が論理値として割り当てられた場合の第1テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して0が論理値として割り当てられた場合の第2テストキューブによるキャプチャ遷移数とを比較する比較手段と、
前記比較手段の比較結果により値の小さな遷移数に対応する1又は0を割り当てるべき論理値として決定する決定手段とを有する、請求項1から3のいずれかに記載の生成装置。
【請求項5】
前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が1の場合と0の場合のそれぞれの確率を遷移確率として仮定して適用する、請求項1から4のいずれかに記載の生成装置。
【請求項6】
論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成方法であって、
前記論理回路はフルスキャン設計された順序回路であって、
選択手段が、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択ステップと、
キャプチャ遷移数数値化手段が、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化ステップと、
論理値割り当て手段が、前記選択された割当対象未定値ビットに論理値0を割り当てることによって得られる第1テストキューブと、前記選択された割当対象未定値ビットに論理値1を割り当てることによって得られる第2テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当てステップとを含み、
前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる、生成方法。
【請求項7】
前記選択ステップにおいて、前記選択手段は、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択する、請求項6記載の生成方法。
【請求項8】
前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化する、請求項6又は7記載の生成方法。
【請求項9】
前記論理値割り当てステップは、
比較手段が、前記選択された割当対象未定値ビットに対して1が論理値として割り当てられた場合の第1テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して0が論理値として割り当てられた場合の第2テストキューブによるキャプチャ遷移数とを比較する比較ステップと、
決定手段が、前記比較手段の比較結果により値の小さな遷移数に対応する1又は0を割り当てるべき論理値として決定する決定ステップとを含む、請求項6から8のいずれかに記載の生成方法。
【請求項10】
前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が1の場合と0の場合のそれぞれの確率を遷移確率として仮定して適用する、請求項6から9のいずれかに記載の生成方法。
【請求項11】
請求項6から10のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラム。
【請求項12】
請求項11に記載されたプログラムをコンピュータが実行することが可能にて記録した記録媒体。
発明の詳細な説明 【技術分野】
【0001】
本発明は、生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体に関し、特に、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置等に関する。
【背景技術】
【0002】
図8に示すように、半導体論理回路は、設計、製造、テストの三段階を経て出荷される。ここで、テストとは、製造された半導体論理回路に対してテストベクトルを印加し、半導体論理回路からテスト応答を観測し、それを期待テスト応答と比較して良品、不良品の判別を行う。その良品率を歩留りと呼び、歩留りは半導体論理回路の品質、信頼性及び製造コストを大きく左右する。
【0003】
一般に、半導体論理回路は主に順序回路である。順序回路は、アンド(AND)ゲート、ナンド(NAND)ゲート、オア(OR)ゲート、ノア(NOR)ゲート等の論理素子からなる組合せ回路部と、回路の内部状態を記憶するフリップ・フロップとよりなる。この場合、組合せ回路部は、外部入力線(PI)、フリップ・フロップの出力線である擬似外部入力線(PPI)、外部出力線(PO)、フリップ・フロップの入力線である擬似外部出力線(PPO)を有する。組合せ回路部への入力は、外部入力線より直接与えられるものと、擬似外部入力線を介して与えられるものからなる。また、組合せ回路部からの出力は、外部出力線に直接現れるものと、擬似外部出力線に現れるものからなる。
【0004】
順序回路の組合せ回路部をテストするために、組合せ回路部の外部入力線と擬似外部入力線から所要のテストベクトルを印加し、組合せ回路部の外部出力線と擬似外部出力線からテスト応答を観測する必要がある。1つのテストベクトルは、外部入力線と擬似外部入力線に対応するビットからなる。また、1つのテスト応答は、外部出力線と擬似外部出力線に対応するビットからなる。
【0005】
しかし、順序回路のフリップ・フロップの出力線(擬似外部入力線)と入力線(擬似外部出力線)は一般に外部より直接アクセスできない。従って、組合せ回路部をテストするためには、擬似外部入力線の可制御性及び擬似外部出力線の可観測性に問題がある。
【0006】
上述の組合せ回路部のテストにおける可制御性及び可観測性の問題を解決する主な手法として、フルスキャン設計がある。フルスキャン設計とは、フリップ・フロップをスキャンフリップ・フロップに置き換えた上で、それらを用いて1本または複数本のスキャンチェーンを形成することである。スキャンフリップ・フロップの動作はスキャンインネーブル(SE)信号線で制御される。例えば、SE=0のとき、従来のフリップ・フロップと同じ動作をし、クロックパルスが与えられると、組合せ回路部からの値でスキャンフリップ・フロップの出力値が更新され、また、SE=1のとき、同じスキャンチェーンにある他のスキャンフリップ・フロップと1つのシフトレジスタを形成し、クロックパルスが与えられると、外部から新しい値がスキャンフリップ・フロップにシフトインされると同時に、スキャンフリップ・フロップに現存の値が外部へシフトアウトされる。一般に、同じスキャンチェーンにあるスキャンフリップ・フロップは同じスキャンインネーブル(SE)信号線を共有するが、異なるスキャンチェーンのスキャンインネーブル(SE)信号線は同一の場合もあれば異なる場合もある。
【0007】
フルスキャン順序回路の組合せ回路部のテストはスキャンシフトとスキャンキャプチャを繰り返すことによって行われる。スキャンシフトは、スキャンインネーブル(SE)信号が論理値1にされているシフトモードで行われる。シフトモードにおいては、1つまたは複数のクロックパルスが与えられ、外部から1つまたは複数の新しい値がスキャンチェーン内のスキャンフリップ・フロップにシフトインされる。また、それと同時に、そのスキャンチェーン内のスキャンフリップ・フロップに現存の1つまたは複数の値が外部へシフトアウトされる。スキャンキャプチャは、スキャンインネーブル(SE)信号が論理値0にされているキャプチャモードで行われる。キャプチャモードにおいては、1つのスキャンチェーンにあるすべてのスキャンフリップ・フロップに同時に1つのクロックパルスが与えられ、組合せ回路部の擬似外部出力線の値がすべてのスキャンフリップ・フロップに取り込まれる。
【0008】
スキャンシフトは、擬似外部入力線を介して組合せ回路部へテストベクトルを印加するためと、擬似外部出力線を介して組合せ回路部からテスト応答を観測するために用いられる。また、スキャンキャプチャは、組合せ回路部のテスト応答をスキャンフリップ・フロップに取り込むために用いられる。すべてのテストベクトルに対して、スキャンシフトとスキャンキャプチャを繰り返すことによって、組合せ回路部をテストすることができる。このようなテスト方式はスキャンテスト方式という。
【0009】
スキャンテスト方式では、組合せ回路部へのテストベクトルの印加は、外部入力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意の論理値を任意のスキャンフリップ・フロップに設定することができるので、擬似外部入力線の可制御性の問題が解決される。組合せ回路部からのテスト応答の観測は、外部出力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意のスキャンフリップ・フロップの出力値を観測することができるため、擬似外部出力線の可観測性の問題が解決される。このように、スキャンテスト方式においては、自動テストパターン生成(ATPG)プログラムを用いてテストベクトル及び期待テスト応答を求めるだけで十分である。
【0010】
上述のスキャンテスト方式が有効性を有しているにもかかわらず、通常動作時よりテスト時の消費電力が非常に大きいという問題点が存在する。半導体論理回路がCMOS回路で構成されていれば、消費電力としては、漏れ電流による静的消費電力と、論理ゲートやフリップ・フロップのスイッチング動作による動的消費電力とがある。さらに、後者の動的消費電力は、シフト操作時におけるシフト消費電力と、キャプチャ操作時におけるキャプチャ消費電力とがある。
【0011】
1つのテストベクトルに対して、スキャンシフト時に与えられるクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のすべてのスキャンフリップ・フロップに新しい値を設定するために、最大の場合にスキャンフリップ・フロップ個数分のクロックパルスを与える必要がある。このため、シフト消費電力が大きくなり、過度な発熱を引き起こすことがある。それによって、半導体論理回路装置を損壊する恐れがある。シフト消費電力の低減手法が盛んに研究されている。
【0012】
一方、1つのテストベクトルに対して、スキャンキャプチャ時に必要なクロックパルスの数は一般に1つのスキャンチェーンにつき1つである。そのため、スキャンキャプチャ消費電力による発熱は問題にならない。しかし、キャプチャモードにおいて、擬似外部出力線に現れる組合せ回路部のテスト応答がスキャンフリップ・フロップに取り込まれるとき、テスト応答値とスキャンフリップ・フロップの現在値が異なれば、対応するスキャンフリップ・フロップの出力値が変化する。このような出力変化スキャンフリップ・フロップの数が多ければ、論理ゲートとスキャンフリップ・フロップのスイッチング動作によって、電源電圧が一時的に低下する。この現象はIR(I:電流、R:抵抗)ドロップ現象とも呼ばれる。IRドロップ現象により回路が誤動作し、誤ったテスト応答値がスキャンフリップ・フロップに取り込まれることがある。これによって、通常時には正常に動作できる半導体論理回路は、テスト時に不良品として判定されてしまうという誤テストが発生する。その結果として、歩留りが低下する。特に、半導体論理回路が超大規模化、超微細化、低電源電圧化した場合、誤テストによる歩留り低下は顕著である。従って、キャプチャ消費電力の低減が必要である。
【0013】
テスト時に単一クロック信号を用いる場合には、クロックゲーティング手法を用いてスキャンキャプチャ消費電力を低減することができるが、半導体論理回路の物理設計への影響が大きい。また、テスト時に多重クロック信号を用いる場合には、ワンホット手法もしくは多重クロック手法でスキャンキャプチャ消費電力を低減することができるが、前者はテストデータ量が著しく増大し、後者はテストベクトル生成に膨大なメモリ消費が必要になるなどATPGへの負担が大きい。従って、スキャンキャプチャ消費電力の低減においては、物理設計への影響、テストデータ量の増加、及びATPGへの負担が小さい手法が望ましい。
【0014】
他方、値が特定されないビット(未定値ビット)を有するテストキューブはATPGプログラムによるテストベクトルの生成過程で現れることが多い。これに対して、論理ビット(論理値0又は論理値1を持つビット)のみを含み、未定値ビットを含まないテスト入力をテストベクトルと呼ばれる。また、未定値ビットを有しないテストベクトルの集合が与えられる場合、その集合の故障検出率を変えずに、一部のテストベクトルの一部ビットを未定値ビットにすることができる。つまり、未定値ビット特定プログラムによってテストキューブを得ることもできる。テストキューブが存在する原因は、フルスキャン順序回路の組合せ回路部内の1つ又は複数の対象故障を検出するために、外部入力線と擬似外部入力線における一部のビットに必要な論理値を設定すれば十分であることが多いからである。その残りのビットに0を設定しても1を設定しても、その対象故障の検出に影響を与えないため、そのようなビットはその対象故障にとって未定値ビットになる。
【0015】
ところで、X割当は、ある特質を持つ未定値ビットを持たないテストベクトルを得るために、論理値をテストキューブ内の未定値ビットに割当てる過程であり、回路修正又はATPGアルゴリズムの変更が不要なのでキャプチャ消費電力削減には好ましいアプローチであると考えられてきている。キャプチャ消費電力削減のためのX割当は、ランダムなX割当と異なり、LCP(Low-Capture-Power)対応のX割当と呼ぶことができ、例えば非特許文献1、2、3、4に示されるように新しいX割当として提案されてきている。回路とATPGに影響を与えないことに加えて、LCP用X割当の重要な利点は、未定値ビットの使用に基づかないどのようなシフト消費電力削減の解決策と互換性を持つことである。結果として、シフトとキャプチャ全体の消費電力削減を集約することができる。
【0016】
図9はシフト消費電力削減のためにMDスキャン(multi-duty scan)(非特許文献5参照)とキャプチャ消費電力削減のためのLCP対応のX割当を使用する例を示した図である。
【0017】
MDスキャンは、同時に動作するフリップ・フロップ(FF)数の削減のために多相クロックを使用することでシフト消費電力を低減する。しかし、それはキャプチャ消費電力を削減できない。なぜなら、ATPGの複雑さと使用メモリ量の抑制のため、単一のキャプチャクロック相のみが使用されるからである。それにもかかわらず、MDスキャンは未定値ビットに依存しないので、LCP用X割当は低キャプチャ消費電力となるテストベクトル生成のため、未定値ビットを使用できる。このことは、スキャンテスト全体の消費電力削減の解決策となる。多くの場合、キャプチャ消費電力削減はシフト消費電力削減よりも危急である。たとえば、図9に示すような場合は、シフトクロック相数がnのとき、シフト消費電力を1/nに容易に削減できる。しかしながら、キャプチャ消費電力は十分に削減されないならば、スキャンテスト消費電力削減の目標は達成できない。それゆえ、キャプチャ消費電力の削減をできるだけ有効にすることが高い危急性を持つ。
【0018】

【非特許文献1】K.M.Butler,J.Saxena,T.Fryars,G.Hetherington,A.Jain,and J.Levis,“Minimizing Power Consumption in Scan Testing:Pattern Generation and DFT Techniques,”Proc.Intl.Test Conf.,pp.355-364,2004.
【非特許文献2】R.Sankaralingam,R.Oruganti and N.Touba,“Static Compaction Techniques to Control Scan Vector Power Dissipation,”Proc.of VLSI Test Symp.,pp.35-42,2000.
【非特許文献3】X.Wen,Y.Yamashita,S.Kajihara,L.-T.Wang,K.K.Saluja,and K.Kinoshita,“Low-Capture-Power Test Generation for Scan-Based At-Speed Testing,”Proc.Intl.Test Conf.,Paper 39-2,2005.
【非特許文献4】X.Wen,H.Yamashita,S,Kajihara,L.-T.Wang,K.Saluja,and K.Kinoshita,“On Low-Capture-Power Test Generation for Scan Testing,”Proc.VLSI Test Symp.,pp.265-270,2005.
【非特許文献5】T.Yoshida and M.Watari,“A New Approach for Low Power Scan Testing,”Proc.Intl.Test Conf.,pp.480-487,2003.
【発明の開示】
【発明が解決しようとする課題】
【0019】
しかしながら、従来のLCP対応のX割当の効果は満足からはほど遠い。主な理由は、X割当時の2つのキーとなる操作、(1)未定値ビットを選択する操作、(2)選択した未定値ビットに論理値を割り当てる操作に有効な指針がないことに起因する以下のような問題から抜け出せないことである。第1は「X割当の対象となる未定値ビットの選択問題」であり、第2は「X割当の割り当て論理値決定問題」である。
【0020】
第1の「X割当の対象となる未定値ビットの選択問題」については以下のとおりである。テストキューブは多くの場合多数の未定値ビットを含み、X割当の対象となる未定値ビットの選択の順番でキャプチャ消費電力削減結果が異なる。
【0021】
図10は、X割当のための対象となる未定値ビットの選択における結果の相違を説明するための図である。ここで、Comb.Portionは組合せ回路部、Before Capture、After Captureはそれぞれ、キャプチャ前、キャプチャ後を表す。
【0022】
図10(a)に示すように、元のテストキューブvは2個の未定値ビットを持ち、それらをそれぞれXbとXcとする。Xcが最初にX割当され、Xbが次に非特許文献3のLCP対応X割当手法でX割当されたとすると、結果として得られるテストベクトルはv1であり、v1の重み付けされたキャプチャ遷移数(weighted capture transition count)は図10(b)のように4である。これについては下記で具体的に説明するが、重み付けされたキャプチャ遷移数は、キャプチャ消費電力の見積もりに有力な手法である。しかしながら、Xbが最初にX割当され、Xcが次にX割当されたとすると、結果として得られるテストベクトルはv2であり、v2の重み付けされたキャプチャ遷移数は図10(c)のように0である。図10(c)のX割当対象の未定値ビットの選択の際に提供される指針があれば、それは図10(b)の結果よりもキャプチャ消費電力削減に関して有効である。
【0023】
ところが、従来のLCP対応のX割当方法は、X割当の対象となる未定値ビットの選択時に有効な指針がなかった。すなわち、従来のLCP対応のX割当方法は、ランダムな方法で又はキャプチャ消費電力削減の閉じた相互関係無しに単純な経験的方法でX割当の対象となる未定値ビットを選択している。そのため、X割当の対象となる未定値ビットの選択の順番が適切とならず、キャプチャ消費電力削減が不十分であった。
【0024】
第2の「X割当の割り当て論理値決定問題」については以下のとおりである。X割当の対象となる未定値ビットの選択後、できるだけキャプチャ消費電力を削減するためには適切な論理値が選択されるべきである。ところが、非特許文献1、2に示す従来のLCP対応のX割当手法は、キャプチャ消費電力への影響を考えることなく、0若しくは1の挿入、最小遷移挿入によるテストベクトル内の論理値の遷移の削減に努めるだけである。また、非特許文献3、4に示す従来のLCP対応X割当手法は、回路全体のゲートとFFの全キャプチャ消費電力と必ずしも相互関係があるとは限らないスキャンFFの出力線の論理値の遷移を削減するだけである。すなわち、X割当のために対象となる未定値ビットが選択された後、できるだけ多くキャプチャ消費電力を削減するため、対象となる未定値ビットのために適切な論理値が選択されるべきである。このX割当の論理値の選択は、論理値0若しくは1のどちらが未定値ビットに最終的な論理値として使用されるのに適しているかを見出すために、キャプチャ消費電力削減に関して0選択と1選択双方の影響を見積もることが必要であり、十分な精度と容易な計算の方法が指針として使用される必要がある。しかしながら、X割当の割り当て論理値決定時にもまた有効な指針がなく、キャプチャ消費電力削減が不十分であった。
【0025】
なお、未定値ビットのないテストベクトルvのため、その重み付けされたキャプチャ遷移数WCT(v)は、キャプチャ消費電力見積もりの良い方法であり、以下で定義される。
【0026】
【数1】
JP2008082867A_000003t.gif

【0027】
ここで、nは回路中の全ノード(組合せ回路部分のゲート及びスキャンチェーン上のFF)数、wiはノードiからのファンアウト分岐数、tiはノードiの出力線で発生するキャプチャ遷移が発生するかどうかを示す。キャプチャ時に遷移が発生するとti=1、そうでないときはti=0である。wiはノードiでの寄生容量に近似するために使用される。なお、上記重み付けされたキャプチャ遷移数(WCT(v))について、前述した図10(b)に示すv1を考えると、ファンアウト分岐がそれぞれ1、1、2であるG1、G3とFF1でキャプチャ遷移が3回あると、WCT(v1)=1×1+1×1+1×2=4である。
【0028】
上記重み付けされたキャプチャ遷移数は、キャプチャ消費電力の見積もりに適用させるため、重み付けスイッチング動作の一般的な概念から作られたものである。この方法はすべてのノードとファンアウト分岐を考慮するので、コストのかかるシミュレーションベースの電力解析を使用せずにテストベクトルによって引き起こされるキャプチャ消費電力について十分な精度での見積もりを提供する。
【0029】
しかしながら、重み付けされたキャプチャ遷移数は、決定論的な手法である。すなわち、未定値のないテストベクトルに対してのみ適用でき、未定値を持つテストキューブには使用できない。これは、テストキューブに未定値が存在するため、キャプチャの前で、いくつかのノードの出力線も未定値となる。たとえば、あるノードの出力線がキャプチャ前にXでありキャプチャ後に1であるならば、そのノードでキャプチャ時に遷移が生じるかどうかを決定論的に知ることは不可能である。
【0030】
それゆえ、重み付けされたキャプチャ遷移数は、X割当時の論理値選択の際の指針には使用できない。その理由は以下のとおりである。テストキューブは、未定値ビットの一つが0または1で割り当てられても、しばしば依然として未定値ビットを持つ。重み付けされたキャプチャ遷移数は未定値ビットのないテストベクトルにのみ適用可能であるためである。
【0031】
ゆえに、本発明は、キャプチャ消費電力を効果的に削減可能とするテストベクトルを生成する生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0032】
請求項1に係る発明は、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置であって、前記論理回路はフルスキャン設計された順序回路であって、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択手段と、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化手段と、前記選択された割当対象未定値ビットに論理値0を割り当てることによって得られる第1テストキューブと、前記選択された割当対象未定値ビットに論理値1を割り当てることによって得られる第2テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当て手段とを備え、前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられるものである。
【0033】
請求項2に係る発明は、請求項1記載の生成装置であって、前記選択手段が、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択するものである。
【0034】
請求項3に係る発明は、請求項1又は2記載の生成装置であって、前記キャプチャ遷移数数値化手段が、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化するものである。
【0035】
請求項4に係る発明は、請求項1から3のいずれかに記載の生成装置であって、前記論理値割り当て手段が、前記選択された割当対象未定値ビットに対して1が論理値として割り当てられた場合の第1テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して0が論理値として割り当てられた場合の第2テストキューブによるキャプチャ遷移数とを比較する比較手段と、前記比較手段の比較結果により値の小さな遷移数に対応する1又は0を割り当てるべき論理値として決定する決定手段とを有するものである。
【0036】
請求項5に係る発明は、請求項1から4のいずれかに記載の生成装置であって、前記キャプチャ遷移数数値化手段が、前記選択された割当対象未定値ビットについて論理値が1の場合と0の場合のそれぞれの確率を遷移確率として仮定して適用するものである。
【0037】
請求項6に係る発明は、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成方法であって、前記論理回路はフルスキャン設計された順序回路であって、選択手段が、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択ステップと、キャプチャ遷移数数値化手段が、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化ステップと、論理値割り当て手段が、前記選択された割当対象未定値ビットに論理値0を割り当てることによって得られる第1テストキューブと、前記選択された割当対象未定値ビットに論理値1を割り当てることによって得られる第2テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当てステップとを含み、前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられるものである。
【0038】
請求項7に係る発明は、請求項6記載の生成方法であって、前記選択ステップにおいて、前記選択手段が、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択するものである。
【0039】
請求項8に係る発明は、請求項6又は7記載の生成方法であって、前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段が、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化するものである。
【0040】
請求項9に係る発明は、請求項6から8のいずれかに記載の生成方法であって、前記論理値割り当てステップが、比較手段が、前記選択された割当対象未定値ビットに対して1が論理値として割り当てられた場合の第1テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して0が論理値として割り当てられた場合の第2テストキューブによるキャプチャ遷移数とを比較する比較ステップと、決定手段が、前記比較手段の比較結果により値の小さな遷移数に対応する1又は0を割り当てるべき論理値として決定する決定ステップとを含むものである。
【0041】
請求項10に係る発明は、請求項6から9のいずれかに記載の生成方法であって、前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が1の場合と0の場合のそれぞれの確率を遷移確率として仮定して適用するものである。
【0042】
請求項11に係る発明は、請求項6から10のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラムである。
【0043】
請求項12に係る発明は、請求項11に記載されたプログラムをコンピュータが実行することが可能にて記録した記録媒体である。
【発明の効果】
【0044】
上記本発明によれば、テストキューブに複数の未定値ビットが含まれても、選択手段により上記「X割当の対象となる未定値ビットの選択問題」が解決可能で、キャプチャ遷移数数値化手段及び論理値割り当て手段により「X割当の割り当て論理値決定問題」が解決可能となる。そのため、キャプチャ消費電力を効果的に削減可能なテストベクトルが生成可能となる。論理回路がフルスキャン設計された順序回路である場合において、スキャンフリップ・フロップのような遷移だけでなく、回路全体の遷移数を削減することが可能になるという利点が得られる。
【発明を実施するための最良の形態】
【0045】
以下に示すLCP向けX割当は、テストベクトルのキャプチャ消費電力削減のため、テストキューブ内の未定値ビットに対して実施される。
【0046】
図1は、本発明の実施の形態にかかる生成装置の概略ブロック図である。図2は、図1の生成装置の動作を説明するためのフロー図である。
【0047】
図2を用いて、図1の動作を説明するとともに、後述する「Xスコア」と「確率的に重み付けされたキャプチャ遷移数」の2つの概念に基づいた、X割当時に十分な指針を提供する高度にガイド可能なLCP用X割当方法を概説する。
【0048】
生成装置100は、選択部101と、キャプチャ遷移数数値化部103と、論理値割当部105を備える。選択部101は、Xスコア演算部107と割当対象未定値ビット選択部109を備える。キャプチャ遷移数数値化部103は、信号確率演算部111と信号遷移確率演算部113とキャプチャ遷移数演算部115を備える。論理値割当部105は、比較部117と決定部119を備える。生成装置100は、与えられたテストキューブからテストベクトルを生成するものであり、各上記構成について簡単に説明する。
【0049】
選択部101は、複数の未定値ビットの中からLCPのためのXスコアをXスコア演算部107により演算し、割当対象未定値ビット選択部109によりそのXスコアが最大となる未定値ビットから選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する。ここで、Xスコアは、複数の未定値ビットのそれぞれについての論理回路に対する信号値の変化の広がり度合いを表す一例である。
【0050】
キャプチャ遷移数数値化部103は、未定値ビットを含むテストキューブが論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化する。具体的には、信号確率演算部111がスキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、信号遷移確率演算部113が信号確率の演算結果を用いて全ての回路構成素子における信号遷移の確率を演算し、キャプチャ遷移数演算部115が信号遷移の確率の演算結果を用いてテストキューブが発生させるキャプチャ遷移数を演算して数値化する。
【0051】
論理値割当部105は、選択部101により選択された割当対象未定値ビットに論理値0を割り当てることによって得られる第1テストキューブと、選択された割当対象未定値ビットに論理値1を割り当てることによって得られる第2テストキューブに対して、キャプチャ遷移数数値化部103を適用し、第1テストキューブによるキャプチャ遷移数と第2テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を選択された割当対象未定値ビットに割り当てる。複数の未定値ビットの全てに論理値が割り当てるまで、キャプチャ遷移数数値化部103の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる。ここで、選択された割当対象未定値ビットに対して1が論理値として割り当てられた場合の第1テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して0が論理値として割り当てられた場合の第2テストキューブによるキャプチャ遷移数との比較は比較部117により行われ、決定部119は、比較部117の比較結果により値の小さな遷移数に対応する1又は0を割り当てるべき論理値として決定する。
【0052】
図2を参照して、選択部101による未定値を持つテストキューブ内の論理値を割り当てるべき未定値ビットの選択処理(ステップS1)と、キャプチャ遷移数数値化部103によるキャプチャ遷移数を計算する数値化処理(ステップS2)と、論理値割当部105によるできるだけ多くのキャプチャ消費電力を削減するような、前記選択された未定値ビットに割り当てるべき論理値を0または1のどちらにすべきかの決定処理(ステップS3)という3つの基本処理が含まれる。ステップS4において、テストキューブ内のすべての未定値ビットがなくなるまで基本処理(ステップS1)、基本処理(ステップS2)及び基本処理(ステップS3)が繰り返し適用され、結果として、完全に未定値がなくなったテストベクトルが得られる。
【0053】
選択部101によるX割当の対象となる未定値ビットの選択処理(ステップS1)では、スコア演算部107によりテストキューブ内の各未定値ビットに対してXスコアが計算され(ステップS11)、割当対象未定値ビット選択部109によりXスコアが最大となる未定値ビットがX割当すべき未定値ビットとして選択される(ステップS12)。なお、Xスコアについては、後で具体的に説明する。
【0054】
一方、キャプチャ遷移数数値化部103によるキャプチャ遷移数を計算する数値化処理(ステップS2)では、確率的に重み付けした遷移数(一例として後述のPWT参照)を計算する(ステップS21)。
【0055】
さらに、論理値割当部105によるテストキューブv内で選択された未定値ビットbに対して割り当てられるべき論理値の選択処理(ステップS3)では、遷移数の小さいほうに一致する論理値が、最終的に割り当てられるべき論理値となる(ステップS31,32)。詳細については、後述する。
【0056】
上記X割当の対象未定値ビットの選択処理(ステップS1)について、さらに説明する。
【0057】
X割当の対象となる未定値ビットを適切に選択するために、次の要因を検討する必要がある。すなわち、(1)回路構造、(2)選択された特定されているビットの値と回路中の位置、(3)未定値ビットの場所である。上記要因の情報は、集合シミュレーションと呼ばれる技法により得られる。集合シミュレーションは、記号的Xシミュレーションの拡張である。
【0058】
集合シミュレーションについて説明する。フルスキャン回路中のテストキューブvに対する集合シミュレーションの手順は、以下の通りである。
【0059】
<段階1:入力線への集合割り当て>
テストキューブvはn個の未定値ビットを持つと仮定する。n個の未定値ビットをn個の相異なる集合{1}、{2}、…{n}に置き換える。
【0060】
<段階2:集合の伝搬>
以下の法則1および2を繰り返し適用することにより、すべてのゲートの出力線が論理値または集合を持つまで、フルスキャン回路の組合せ回路部分で集合の伝搬を行なう。
【0061】
法則1:もし、あるゲートの出力線が入力線の否定となり、その入力が集合S(¬S)であれば、そのゲートの出力線に¬S(S)を置く。
法則2:ある入力ゲートの合計p本の入力線が集合S1、S2、…、Spを持つと仮定する。もしそのゲートの出力線に論理値もどの入力線の否定値もなければ、そのゲートの出力線に集合S1∪S2∪…∪Spを置く。
【0062】
<段階3:FFへの集合の割り当て>
組合せ回路部分の擬似外部出力線で論理値若しくは集合が決定された後、擬似外部出力線の論理値若しくは集合が、その擬似外部出力線に対応するFFの出力線に割り当てられる。
【0063】
図3は、集合シミュレーションの例を示す図である。
【0064】
一般に、テストキューブに対する集合シミュレーションは、ノードの論理値に関する各未定値ビットの影響を以下のように表わしている。(1)あるノードの出力線に論理値が存在するということは、ノードの入出力線に影響を与える未定値ビットがないことを示している。(2)あるノードの出力線に集合{p1,p2,…,pm}が存在するということは、ノードの論理値がp1番目の未定値ビット、p2番目の未定値ビット、…、pm番目の未定値ビットによる影響を受けることを示している。
【0065】
このような集合シミュレーションの結果から、Xスコアは計算される。XスコアはX割当の対象となる未定値ビットの選択の際の尺度となる。
【0066】
Xスコアの定義について説明する。テストキューブに対する集合シミュレーションの後に、フルスキャン回路内の全部でm個のノード(ゲート及びFF)の出力線が複数の数値の集合S1、S2、…、Smを持つと仮定する。また、nbは集合シミュレーションの手順1(入力線への集合割り当て)でテストキューブのある未定値ビットbitに割り当てられた数値と仮定する。このとき、未定値ビットbitのXスコアX-Score(bit)は以下の式で定義される。
【0067】
【数2】
JP2008082867A_000004t.gif

【0068】
ここで、nb∈Siのときri=1、そうでないときri=0である。たとえば、図3で示される集合シミュレーションの結果として、ノードG1、G2、G3、G5、FF1及びFF3はそれぞれ集合{1,2}、{1,2}、{1,2}、{1,2,3}、{1,2}及び、{1,2,3}を持つ。さらに集合シミュレーションの手順1で未定値ビットeに数値3が割り当てられる。それゆえ、未定値ビットeのXスコアX-Score(e)は次のように計算できる。
【0069】
X-Score(e)=0/2+0/2+0/2+1/3+0/2+1/3=0.67
【0070】
Xスコアの定義から、未定値ビットのXスコアが大きいほど、未定値ビットへの論理値割り当てがフルスキャン回路のノードの論理値について大きな影響を与えることが明確となる。こうして、より大きなXスコアを持つ未定値ビットは、キャプチャ消費電力削減に大きな影響を与えることを示している。
【0071】
図2で示すように、今回提案するX割当の対象となる未定値ビットの選択方法は、最初にテストキューブ内のすべての未定値ビットのXスコアを計算し、X割当の対象として、最も高いXスコアを持った未定値ビットを選択する。
【0072】
図4は、尺度としてXスコアを用いた効果を説明するための図である。
【0073】
図4に示すように、テストキューブvはbとcの2個の未定値ビットを持つ。bのXスコアX-Score(b)は1+1/2+1/2+1/2+1/2=3であり、cのXスコアX-Score(c)は1/2+1/2+1/2+1/2=2である。それゆえ、X割当の対象となる未定値ビットとしてbが最初に選択される。このようなX割当の順番はキャプチャ消費電力削減により良い結果をもたらす。
【0074】
続いて、上記キャプチャ遷移数を計算する数値化処理(ステップS2)をさらに説明する。
【0075】
キャプチャ時の消費電力をできるだけ削減するために、各割当の対象となる未定値ビットに対して、適切な論理値が選ばれる必要がある。X割当において未定値ビットに割り当てる論理値が適切かどうかを決定するためには、未定値ビットを持つテストキューブに対して、キャプチャ時の消費電力に関する十分な精度の計算が必要である。以下では、テストキューブのキャプチャ消費電力の見積もり方法を定義し、その計算の詳細について述べる。新しい測定基準により高度にガイド可能なX割当の値が選択可能になる。
【0076】
テストキューブvにおけるキャプチャ動作時の回路の確率的に重み付けした遷移数(probabilistic weighted capture transition count)をPWT(v)で表し、次式で定義する。
【0077】
【数3】
JP2008082867A_000005t.gif

【0078】
ここで、nは回路中の全ノード(組合せ回路部分のゲート及びスキャンチェーン上のFF)数、wiはノードiからのファンアウト分岐数、piはノードiの出力線で発生する0から1若しくは1から0への遷移確率である。
【0079】
上記PWTは、従来の単に重み付けしたキャプチャ遷移数(WCT)に似ている。最も大きな差異は、PWTはテストキューブ内の未定値ビットに関連付けられた非決定性の遷移を扱うために、遷移確率の概念を使用する。これに対し、WCTは未定値ビットを持たないテストベクトルに対する決定性の遷移のみを扱うことができるにすぎない。たとえば、あるノードの出力線のキャプチャ前の値がXで、キャプチャ後は1になったとするとき、このノードで0から1への遷移が100%確実に発生するかどうかを決定することは不可能である。
【0080】
このような不確実性問題を扱うため、遷移確率の概念を導入する。一般的に、テストキューブvにおけるキャプチャ動作時のノードiにおける遷移確率piは以下の式で計算できる。
【0081】
pi=(BC-Prob0(i)×AC-Prob1(i))+(BC-Prob1(i)×AC-Prob0(i))
【0082】
ここで、BC-Prob0(i)とBC-Prob1(i)は、ノードiがキャプチャ前にそれぞれ0と1になる確率であり、AC-Prob0(i)とAC-Prob1(i)は、ノードiがキャプチャ後にそれぞれ0と1になる確率である。
【0083】
ひとたびテストキューブvに関するすべてのノードの遷移確率が求まれば、PWT(v)は難なく計算できる。PWTを導入する最大の利点は、未定値ビットを持つテストキューブに関する回路全体のキャプチャ消費電力の計算が可能になることである。PWTは、キャプチャ消費電力をできるだけ削減するために、未定値ビットに割り当てる論理値選択の尺度として有用である。
【0084】
図5は、テストキューブvにおいてすべてのノードの遷移確率を求めるというPWTを適用する際の鍵となる問題を説明するための図である。
【0085】
図5に示すように、各ノードiにおける4種類のノード確率、BC-Prob0(i)、BC-Prob1(i)、AC-Prob0(i)、AC-Prob1(i)の計算が必要になる。BC-Prob0(i)+BC-Prob1(i)=1で、AC-Prob0(i)+AC-Prob1(i)=1であるが、以下では、各ノードに対するこれら4種類の確率はより理解しやすくするため明示する。
【0086】
テストキューブvのもとですべてのノードの遷移確率は、前述したフルスキャン回路に一致している、図6に示す4つの段階を経て計算できる。
【0087】
<段階1:キャプチャ前の入力線への確率割り当て>
テストキューブv内にある各未定値ビットbのキャプチャ前の0及び1になる確率は、以下の表により割り当てられる。
【0088】
【表1】
JP2008082867A_000006t.gif

【0089】
<段階2:キャプチャ前のノード確率計算>
組合せ回路部の各ゲートのキャプチャ前の0及び1になる確率は、段階1で入力線に割り当てられた確率から計算する。相互関係を誘発する不確実性と計算複雑度の間の様々なトレードオフに関して、利用可能な確率の伝搬方法が数多くある。ここで、各FFのキャプチャ前の0及び1となる確率は、段階1で割り当てられる。
【0090】
<段階3:キャプチャ後の入力線への確率割り当て>
キャプチャ動作の結果、スキャンFFの出力線が<f(v):FF>に更新される。<f(v):FF>は、FFの入力線におけるテストキューブvに対する組合せ回路部の応答である。したがって、各FFの出力線のキャプチャ後の0及び1になる確率は、それぞれFFの入力線のキャプチャ前の0及び1になる確率に同じになる。また、外部入力線の値<v:PI>は、キャプチャによる変化はない。したがって、各外部入力線のキャプチャ後の0及び1になる確率は、キャプチャ前の0及び1になる確率と同じになる。
【0091】
<段階4:キャプチャ後のノード確率計算>
組合せ回路部の各ゲートのキャプチャ後の0及び1になる確率は、段階3で入力線に割り当てられた確率から計算される。ここで、各FFのキャプチャ後の0及び1となる確率は、段階3で割り当てられる。
【0092】
ここで、段階1では、テストキューブv内のいずれの未定値ビットも、外部入力から直接、若しくはスキャンシフト動作で間接的に設定されることに注意する。これが、テストキューブ内のすべての未定値ビットの0及び1になる確率が50%に割り当てられる理由である。
【0093】
図7は、ノードの確率と遷移確率の計算例を説明するための図である。
【0094】
フルスキャン回路は、組合せ回路部にゲート5個(G1~G5)及び、3個のスキャンFF(FF1~FF3)を持つとする。aとbは外部入力線、一方、p、q、rはそれぞれFF1、FF2、FF3の入力線に接続する擬似外部出力線とする。
【0095】
図7(a)(b)は、それぞれキャプチャ前のノードの確率とキャプチャ後のノードの確率を示す図である。ここで、テストキューブvが(0、1、1、X、X)であるとする。これらの結果から、図5で示される遷移確率を容易に計算でき、その結果は図7(c)に示される。すなわち、例えば出力線qについては、BC-Prob0(q)×AC-Prob1(q)+BC-Prob1(q)×AC-Prob0(q)より0.26となり、出力線p、rについても同様である。それゆえ、PWT(v)は、PWT(v)=3×0.50+2×0.50+1×0.50+1×0.26+1×0.37+1×0.50+1×0.50+1×0.50=5.13となる。
【0096】
図2に示すように、キャプチャ消費電力の削減のためにテストキューブv内の未定値ビットbに割り当てるべき適切な論理値を選択するため、PWT(v:b=0)及びPWT(v:b=1)を計算する。これらはそれぞれ、0及び1を割り当てた場合の、確率的に重み付けした遷移数(PWT)である。こうして、未定値ビットbに最終的に割り当てる論理値として、小さい値のPWTに対応する論理値を選択する。具体的には、例えば、図7(a)に示したテストキューブvの未定値ビットのうちXスコアが最大となった未定値ビットをbとし、それに論理値0と論理値1をそれぞれ割当てて、PWT(v:b=0)及びPWT(v:b=1)を計算し、小さい値のPWTに対応する論理値が選択されて割当てられる。
【0097】
PWTは、テストキューブ内の未定値ビットに対するすべてのノード(ゲート及びFF)でキャプチャ消費電力量の見積りを可能とするので、上記未定値ビットに割り当てる論理値の選択は、高度の尺度を持つ手順であり、キャプチャ消費電力削減により良い結果を得ることができる。
【0098】
このように、高度にガイド可能なLCP用X割当手法((1)Xスコア、(2)確率的に重み付けされたキャプチャ遷移数)により、以下のような効果が得られる。まず、上記「Xスコア」という概念は、キャプチャ消費電力削減におけるテストキューブのすべての未定値ビットの影響を測定するために使用される。回路の構造情報、特定されたビットの論理値、異なる未定値ビット相互の内部関係はXスコアの計算で調べられる。このため、各X割当操作で適切なX割当の対象を選択する際に、選択の指針としてXスコアが使用可能になる。また、「確率的に重み付けされたキャプチャ遷移数」という概念は、すべてのノード(ゲートとFF)で重み付けした確率的に見積もられたキャプチャ時の遷移数による、未定値ビットを含むテストキューブでのキャプチャ消費電力の見積もりに使用される。この新しい方法は、未定値ビットを含まないテストベクトルに対してのみ適用できる、重み付けされたスイッチング動作手法の制限を克服する。また、未定値ビットを含むテストキーブに対する従来手法に比べキャプチャ消費電力の見積もり精度を劇的に改善する。結果として、この新手法は各X割当操作で対象となる未定値ビットに割り当てる適切な論理値の選択の際に、より良い指針を提供できる。このような「Xスコア」によりキャプチャ消費電力削減に関する未定値ビットの影響を定量化することができ、「確率的に重み付けされたキャプチャ遷移数」により未定値ビットを含むテストキューブであっても回路全体のキャプチャ消費電力を見積もることができる。その結果、この2つの概念に基づいたX割当のための十分な指針が得られ、キャプチャ消費電力を十分に削減できる。
【0099】
なお、本実施の形態では、Xスコアの値が最大となる未定値ビットに論理値0、1をそれぞれ割当てでPWTを計算したが、PWTの計算において、論理値0、1が割当てられる割当対象未定値ビットの選択には、他の手法によって得られるものであってもよい。
【0100】
また、上記実施の形態の説明では、便宜上、スキャン回路の方式、或いは、クロックの種類・数については簡便化していたが、これらに依存される必要はなく、フルスキャン設計を適用した論理回路(LSI回路)全般に対して適用できる。すなわち、複数本のスキャンチェーンが存在しても、またスキャン回路を駆動するクロックが複数個存在しても、またスキャン回路に組合せ回路部分からフリップ・フロップに値を取り込むタイミングが異なっても、いずれのLSI回路に対して適用可能である。
【図面の簡単な説明】
【0101】
【図1】本発明の実施の形態にかかる生成装置の概略ブロック図である。
【図2】図1の生成装置の動作を説明するためのフロー図である。
【図3】集合シミュレーションの例を示す図である。
【図4】尺度としてXスコアを用いた効果を説明するための図である。
【図5】テストキューブvにおいてすべてのノードの遷移確率を求めるというPWTを適用する際の鍵となる問題を説明するための図である。
【図6】テストキューブvのもとですべてのノードの遷移確率がフルスキャン回路において4つの段階を経て計算できることを説明するための図である。
【図7】ノードの確率と遷移確率の計算例を説明するための図である。
【図8】半導体論理回路が、設計、製造、テストの三段階を経て出荷されることを説明するための図である。
【図9】シフト消費電力削減のためにMDスキャン(multi-duty scan)とキャプチャ消費電力削減のためのLCP対応のX割当を使用する例を示した図である。
【図10】X割当のための対象となる未定値ビットの選択における結果の相違を説明するための図である。
【符号の説明】
【0102】
100 生成装置
101 選択部
103 キャプチャ遷移数数値化部
105 論理値割当部
図面
【図1】
0
【図3】
1
【図4】
2
【図5】
3
【図6】
4
【図7】
5
【図8】
6
【図9】
7
【図10】
8
【図2】
9