(57)【要約】【課題】      キャプチャ時の消費電力を効果的に削減可能とするテストベクトルを生成する生成装置等を提供する。【解決手段】  生成装置１００は、論理回路に対してテストキューブに含まれる複数の未定値ビットに論理値を割り当ててテストベクトルを生成し、複数の未定値ビットの中から一つの割当対象未定値ビットを選択する選択部１０１と、未定値ビットを含むテストキューブによるキャプチャ遷移数を計算するキャプチャ遷移数数値化部１０３と、選択された割当対象未定値ビットに論理値０を割り当てて得られる第１テストキューブと論理値１を割り当てて得られる第２テストキューブに対してキャプチャ遷移数数値化部１０３を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を選択された割当対象未定値ビットに割り当てる論理値割当部１０５を備える。【選択図】  図１
2008082867.tif 000002
【特許請求の範囲】
【請求項１】
論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置であって、
前記論理回路はフルスキャン設計された順序回路であって、
前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択手段と、
未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化手段と、
前記選択された割当対象未定値ビットに論理値０を割り当てることによって得られる第１テストキューブと、前記選択された割当対象未定値ビットに論理値１を割り当てることによって得られる第２テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当て手段とを備え、
前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる、生成装置。
【請求項２】
前記選択手段は、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択する、請求項１記載の生成装置。
【請求項３】
前記キャプチャ遷移数数値化手段は、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化する、請求項１又は２記載の生成装置。
【請求項４】
前記論理値割り当て手段は、
前記選択された割当対象未定値ビットに対して１が論理値として割り当てられた場合の第１テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して０が論理値として割り当てられた場合の第２テストキューブによるキャプチャ遷移数とを比較する比較手段と、
前記比較手段の比較結果により値の小さな遷移数に対応する１又は０を割り当てるべき論理値として決定する決定手段とを有する、請求項１から３のいずれかに記載の生成装置。
【請求項５】
前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が１の場合と０の場合のそれぞれの確率を遷移確率として仮定して適用する、請求項１から４のいずれかに記載の生成装置。
【請求項６】
論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成方法であって、
前記論理回路はフルスキャン設計された順序回路であって、
選択手段が、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択ステップと、
キャプチャ遷移数数値化手段が、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化ステップと、
論理値割り当て手段が、前記選択された割当対象未定値ビットに論理値０を割り当てることによって得られる第１テストキューブと、前記選択された割当対象未定値ビットに論理値１を割り当てることによって得られる第２テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当てステップとを含み、
前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる、生成方法。
【請求項７】
前記選択ステップにおいて、前記選択手段は、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択する、請求項６記載の生成方法。
【請求項８】
前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化する、請求項６又は７記載の生成方法。
【請求項９】
前記論理値割り当てステップは、
比較手段が、前記選択された割当対象未定値ビットに対して１が論理値として割り当てられた場合の第１テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して０が論理値として割り当てられた場合の第２テストキューブによるキャプチャ遷移数とを比較する比較ステップと、
決定手段が、前記比較手段の比較結果により値の小さな遷移数に対応する１又は０を割り当てるべき論理値として決定する決定ステップとを含む、請求項６から８のいずれかに記載の生成方法。
【請求項１０】
前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が１の場合と０の場合のそれぞれの確率を遷移確率として仮定して適用する、請求項６から９のいずれかに記載の生成方法。
【請求項１１】
請求項６から１０のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラム。
【請求項１２】
請求項１１に記載されたプログラムをコンピュータが実行することが可能にて記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体に関し、特に、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置等に関する。
【背景技術】
【０００２】
図８に示すように、半導体論理回路は、設計、製造、テストの三段階を経て出荷される。ここで、テストとは、製造された半導体論理回路に対してテストベクトルを印加し、半導体論理回路からテスト応答を観測し、それを期待テスト応答と比較して良品、不良品の判別を行う。その良品率を歩留りと呼び、歩留りは半導体論理回路の品質、信頼性及び製造コストを大きく左右する。
【０００３】
一般に、半導体論理回路は主に順序回路である。順序回路は、アンド（ＡＮＤ）ゲート、ナンド（ＮＡＮＤ）ゲート、オア（ＯＲ）ゲート、ノア（ＮＯＲ）ゲート等の論理素子からなる組合せ回路部と、回路の内部状態を記憶するフリップ・フロップとよりなる。この場合、組合せ回路部は、外部入力線（ＰＩ）、フリップ・フロップの出力線である擬似外部入力線（ＰＰＩ）、外部出力線（ＰＯ）、フリップ・フロップの入力線である擬似外部出力線（ＰＰＯ）を有する。組合せ回路部への入力は、外部入力線より直接与えられるものと、擬似外部入力線を介して与えられるものからなる。また、組合せ回路部からの出力は、外部出力線に直接現れるものと、擬似外部出力線に現れるものからなる。
【０００４】
順序回路の組合せ回路部をテストするために、組合せ回路部の外部入力線と擬似外部入力線から所要のテストベクトルを印加し、組合せ回路部の外部出力線と擬似外部出力線からテスト応答を観測する必要がある。１つのテストベクトルは、外部入力線と擬似外部入力線に対応するビットからなる。また、１つのテスト応答は、外部出力線と擬似外部出力線に対応するビットからなる。
【０００５】
しかし、順序回路のフリップ・フロップの出力線（擬似外部入力線）と入力線（擬似外部出力線）は一般に外部より直接アクセスできない。従って、組合せ回路部をテストするためには、擬似外部入力線の可制御性及び擬似外部出力線の可観測性に問題がある。
【０００６】
上述の組合せ回路部のテストにおける可制御性及び可観測性の問題を解決する主な手法として、フルスキャン設計がある。フルスキャン設計とは、フリップ・フロップをスキャンフリップ・フロップに置き換えた上で、それらを用いて１本または複数本のスキャンチェーンを形成することである。スキャンフリップ・フロップの動作はスキャンインネーブル（ＳＥ）信号線で制御される。例えば、ＳＥ＝０のとき、従来のフリップ・フロップと同じ動作をし、クロックパルスが与えられると、組合せ回路部からの値でスキャンフリップ・フロップの出力値が更新され、また、ＳＥ＝１のとき、同じスキャンチェーンにある他のスキャンフリップ・フロップと１つのシフトレジスタを形成し、クロックパルスが与えられると、外部から新しい値がスキャンフリップ・フロップにシフトインされると同時に、スキャンフリップ・フロップに現存の値が外部へシフトアウトされる。一般に、同じスキャンチェーンにあるスキャンフリップ・フロップは同じスキャンインネーブル（ＳＥ）信号線を共有するが、異なるスキャンチェーンのスキャンインネーブル（ＳＥ）信号線は同一の場合もあれば異なる場合もある。
【０００７】
フルスキャン順序回路の組合せ回路部のテストはスキャンシフトとスキャンキャプチャを繰り返すことによって行われる。スキャンシフトは、スキャンインネーブル（ＳＥ）信号が論理値１にされているシフトモードで行われる。シフトモードにおいては、１つまたは複数のクロックパルスが与えられ、外部から１つまたは複数の新しい値がスキャンチェーン内のスキャンフリップ・フロップにシフトインされる。また、それと同時に、そのスキャンチェーン内のスキャンフリップ・フロップに現存の１つまたは複数の値が外部へシフトアウトされる。スキャンキャプチャは、スキャンインネーブル（ＳＥ）信号が論理値０にされているキャプチャモードで行われる。キャプチャモードにおいては、１つのスキャンチェーンにあるすべてのスキャンフリップ・フロップに同時に１つのクロックパルスが与えられ、組合せ回路部の擬似外部出力線の値がすべてのスキャンフリップ・フロップに取り込まれる。
【０００８】
スキャンシフトは、擬似外部入力線を介して組合せ回路部へテストベクトルを印加するためと、擬似外部出力線を介して組合せ回路部からテスト応答を観測するために用いられる。また、スキャンキャプチャは、組合せ回路部のテスト応答をスキャンフリップ・フロップに取り込むために用いられる。すべてのテストベクトルに対して、スキャンシフトとスキャンキャプチャを繰り返すことによって、組合せ回路部をテストすることができる。このようなテスト方式はスキャンテスト方式という。
【０００９】
スキャンテスト方式では、組合せ回路部へのテストベクトルの印加は、外部入力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意の論理値を任意のスキャンフリップ・フロップに設定することができるので、擬似外部入力線の可制御性の問題が解決される。組合せ回路部からのテスト応答の観測は、外部出力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意のスキャンフリップ・フロップの出力値を観測することができるため、擬似外部出力線の可観測性の問題が解決される。このように、スキャンテスト方式においては、自動テストパターン生成（ＡＴＰＧ）プログラムを用いてテストベクトル及び期待テスト応答を求めるだけで十分である。
【００１０】
上述のスキャンテスト方式が有効性を有しているにもかかわらず、通常動作時よりテスト時の消費電力が非常に大きいという問題点が存在する。半導体論理回路がＣＭＯＳ回路で構成されていれば、消費電力としては、漏れ電流による静的消費電力と、論理ゲートやフリップ・フロップのスイッチング動作による動的消費電力とがある。さらに、後者の動的消費電力は、シフト操作時におけるシフト消費電力と、キャプチャ操作時におけるキャプチャ消費電力とがある。
【００１１】
１つのテストベクトルに対して、スキャンシフト時に与えられるクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のすべてのスキャンフリップ・フロップに新しい値を設定するために、最大の場合にスキャンフリップ・フロップ個数分のクロックパルスを与える必要がある。このため、シフト消費電力が大きくなり、過度な発熱を引き起こすことがある。それによって、半導体論理回路装置を損壊する恐れがある。シフト消費電力の低減手法が盛んに研究されている。
【００１２】
一方、１つのテストベクトルに対して、スキャンキャプチャ時に必要なクロックパルスの数は一般に１つのスキャンチェーンにつき１つである。そのため、スキャンキャプチャ消費電力による発熱は問題にならない。しかし、キャプチャモードにおいて、擬似外部出力線に現れる組合せ回路部のテスト応答がスキャンフリップ・フロップに取り込まれるとき、テスト応答値とスキャンフリップ・フロップの現在値が異なれば、対応するスキャンフリップ・フロップの出力値が変化する。このような出力変化スキャンフリップ・フロップの数が多ければ、論理ゲートとスキャンフリップ・フロップのスイッチング動作によって、電源電圧が一時的に低下する。この現象はＩＲ（Ｉ：電流、Ｒ：抵抗）ドロップ現象とも呼ばれる。ＩＲドロップ現象により回路が誤動作し、誤ったテスト応答値がスキャンフリップ・フロップに取り込まれることがある。これによって、通常時には正常に動作できる半導体論理回路は、テスト時に不良品として判定されてしまうという誤テストが発生する。その結果として、歩留りが低下する。特に、半導体論理回路が超大規模化、超微細化、低電源電圧化した場合、誤テストによる歩留り低下は顕著である。従って、キャプチャ消費電力の低減が必要である。
【００１３】
テスト時に単一クロック信号を用いる場合には、クロックゲーティング手法を用いてスキャンキャプチャ消費電力を低減することができるが、半導体論理回路の物理設計への影響が大きい。また、テスト時に多重クロック信号を用いる場合には、ワンホット手法もしくは多重クロック手法でスキャンキャプチャ消費電力を低減することができるが、前者はテストデータ量が著しく増大し、後者はテストベクトル生成に膨大なメモリ消費が必要になるなどＡＴＰＧへの負担が大きい。従って、スキャンキャプチャ消費電力の低減においては、物理設計への影響、テストデータ量の増加、及びＡＴＰＧへの負担が小さい手法が望ましい。
【００１４】
他方、値が特定されないビット（未定値ビット）を有するテストキューブはＡＴＰＧプログラムによるテストベクトルの生成過程で現れることが多い。これに対して、論理ビット（論理値０又は論理値１を持つビット）のみを含み、未定値ビットを含まないテスト入力をテストベクトルと呼ばれる。また、未定値ビットを有しないテストベクトルの集合が与えられる場合、その集合の故障検出率を変えずに、一部のテストベクトルの一部ビットを未定値ビットにすることができる。つまり、未定値ビット特定プログラムによってテストキューブを得ることもできる。テストキューブが存在する原因は、フルスキャン順序回路の組合せ回路部内の１つ又は複数の対象故障を検出するために、外部入力線と擬似外部入力線における一部のビットに必要な論理値を設定すれば十分であることが多いからである。その残りのビットに０を設定しても１を設定しても、その対象故障の検出に影響を与えないため、そのようなビットはその対象故障にとって未定値ビットになる。
【００１５】
ところで、Ｘ割当は、ある特質を持つ未定値ビットを持たないテストベクトルを得るために、論理値をテストキューブ内の未定値ビットに割当てる過程であり、回路修正又はＡＴＰＧアルゴリズムの変更が不要なのでキャプチャ消費電力削減には好ましいアプローチであると考えられてきている。キャプチャ消費電力削減のためのＸ割当は、ランダムなＸ割当と異なり、ＬＣＰ(Low-Capture-Power)対応のＸ割当と呼ぶことができ、例えば非特許文献１、２、３、４に示されるように新しいＸ割当として提案されてきている。回路とＡＴＰＧに影響を与えないことに加えて、ＬＣＰ用Ｘ割当の重要な利点は、未定値ビットの使用に基づかないどのようなシフト消費電力削減の解決策と互換性を持つことである。結果として、シフトとキャプチャ全体の消費電力削減を集約することができる。
【００１６】
図９はシフト消費電力削減のためにＭＤスキャン(multi-duty  scan)（非特許文献５参照）とキャプチャ消費電力削減のためのＬＣＰ対応のＸ割当を使用する例を示した図である。
【００１７】
ＭＤスキャンは、同時に動作するフリップ・フロップ（ＦＦ）数の削減のために多相クロックを使用することでシフト消費電力を低減する。しかし、それはキャプチャ消費電力を削減できない。なぜなら、ＡＴＰＧの複雑さと使用メモリ量の抑制のため、単一のキャプチャクロック相のみが使用されるからである。それにもかかわらず、ＭＤスキャンは未定値ビットに依存しないので、ＬＣＰ用Ｘ割当は低キャプチャ消費電力となるテストベクトル生成のため、未定値ビットを使用できる。このことは、スキャンテスト全体の消費電力削減の解決策となる。多くの場合、キャプチャ消費電力削減はシフト消費電力削減よりも危急である。たとえば、図９に示すような場合は、シフトクロック相数がｎのとき、シフト消費電力を１／ｎに容易に削減できる。しかしながら、キャプチャ消費電力は十分に削減されないならば、スキャンテスト消費電力削減の目標は達成できない。それゆえ、キャプチャ消費電力の削減をできるだけ有効にすることが高い危急性を持つ。
【００１８】
【非特許文献１】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.
【非特許文献２】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.
【非特許文献３】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.
【非特許文献４】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.
【非特許文献５】T．Yoshida  and  M．Watari,“A  New  Approach  for  Low  Power  Scan  Testing,”Proc．Intl．Test  Conf.，pp．480-487，2003.
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、従来のＬＣＰ対応のＸ割当の効果は満足からはほど遠い。主な理由は、Ｘ割当時の２つのキーとなる操作、（１）未定値ビットを選択する操作、（２）選択した未定値ビットに論理値を割り当てる操作に有効な指針がないことに起因する以下のような問題から抜け出せないことである。第１は「Ｘ割当の対象となる未定値ビットの選択問題」であり、第２は「Ｘ割当の割り当て論理値決定問題」である。
【００２０】
第１の「Ｘ割当の対象となる未定値ビットの選択問題」については以下のとおりである。テストキューブは多くの場合多数の未定値ビットを含み、Ｘ割当の対象となる未定値ビットの選択の順番でキャプチャ消費電力削減結果が異なる。
【００２１】
図１０は、Ｘ割当のための対象となる未定値ビットの選択における結果の相違を説明するための図である。ここで、Ｃｏｍｂ．Ｐｏｒｔｉｏｎは組合せ回路部、Ｂｅｆｏｒｅ  Ｃａｐｔｕｒｅ、Ａｆｔｅｒ  Ｃａｐｔｕｒｅはそれぞれ、キャプチャ前、キャプチャ後を表す。
【００２２】
図１０（ａ）に示すように、元のテストキューブｖは２個の未定値ビットを持ち、それらをそれぞれＸbとＸcとする。Ｘcが最初にＸ割当され、Ｘbが次に非特許文献３のＬＣＰ対応Ｘ割当手法でＸ割当されたとすると、結果として得られるテストベクトルはｖ1であり、ｖ1の重み付けされたキャプチャ遷移数（weighted  capture  transition  count）は図１０（ｂ）のように４である。これについては下記で具体的に説明するが、重み付けされたキャプチャ遷移数は、キャプチャ消費電力の見積もりに有力な手法である。しかしながら、Ｘbが最初にＸ割当され、Ｘcが次にＸ割当されたとすると、結果として得られるテストベクトルはｖ2であり、ｖ2の重み付けされたキャプチャ遷移数は図１０（ｃ）のように０である。図１０（ｃ）のＸ割当対象の未定値ビットの選択の際に提供される指針があれば、それは図１０（ｂ）の結果よりもキャプチャ消費電力削減に関して有効である。
【００２３】
ところが、従来のＬＣＰ対応のＸ割当方法は、Ｘ割当の対象となる未定値ビットの選択時に有効な指針がなかった。すなわち、従来のＬＣＰ対応のＸ割当方法は、ランダムな方法で又はキャプチャ消費電力削減の閉じた相互関係無しに単純な経験的方法でＸ割当の対象となる未定値ビットを選択している。そのため、Ｘ割当の対象となる未定値ビットの選択の順番が適切とならず、キャプチャ消費電力削減が不十分であった。
【００２４】
第２の「Ｘ割当の割り当て論理値決定問題」については以下のとおりである。Ｘ割当の対象となる未定値ビットの選択後、できるだけキャプチャ消費電力を削減するためには適切な論理値が選択されるべきである。ところが、非特許文献１、２に示す従来のＬＣＰ対応のＸ割当手法は、キャプチャ消費電力への影響を考えることなく、０若しくは１の挿入、最小遷移挿入によるテストベクトル内の論理値の遷移の削減に努めるだけである。また、非特許文献３、４に示す従来のＬＣＰ対応Ｘ割当手法は、回路全体のゲートとＦＦの全キャプチャ消費電力と必ずしも相互関係があるとは限らないスキャンＦＦの出力線の論理値の遷移を削減するだけである。すなわち、Ｘ割当のために対象となる未定値ビットが選択された後、できるだけ多くキャプチャ消費電力を削減するため、対象となる未定値ビットのために適切な論理値が選択されるべきである。このＸ割当の論理値の選択は、論理値０若しくは１のどちらが未定値ビットに最終的な論理値として使用されるのに適しているかを見出すために、キャプチャ消費電力削減に関して０選択と１選択双方の影響を見積もることが必要であり、十分な精度と容易な計算の方法が指針として使用される必要がある。しかしながら、Ｘ割当の割り当て論理値決定時にもまた有効な指針がなく、キャプチャ消費電力削減が不十分であった。
【００２５】
なお、未定値ビットのないテストベクトルｖのため、その重み付けされたキャプチャ遷移数ＷＣＴ（ｖ）は、キャプチャ消費電力見積もりの良い方法であり、以下で定義される。
【００２６】
【数１】
2008082867.tif 000003
【００２７】
ここで、ｎは回路中の全ノード（組合せ回路部分のゲート及びスキャンチェーン上のＦＦ）数、ｗiはノードｉからのファンアウト分岐数、ｔiはノードｉの出力線で発生するキャプチャ遷移が発生するかどうかを示す。キャプチャ時に遷移が発生するとｔi＝１、そうでないときはｔi＝０である。ｗiはノードｉでの寄生容量に近似するために使用される。なお、上記重み付けされたキャプチャ遷移数（ＷＣＴ（ｖ））について、前述した図１０（ｂ）に示すｖ1を考えると、ファンアウト分岐がそれぞれ１、１、２であるＧ1、Ｇ3とＦＦ1でキャプチャ遷移が３回あると、ＷＣＴ(ｖ1）＝１×１＋１×１＋１×２＝４である。
【００２８】
上記重み付けされたキャプチャ遷移数は、キャプチャ消費電力の見積もりに適用させるため、重み付けスイッチング動作の一般的な概念から作られたものである。この方法はすべてのノードとファンアウト分岐を考慮するので、コストのかかるシミュレーションベースの電力解析を使用せずにテストベクトルによって引き起こされるキャプチャ消費電力について十分な精度での見積もりを提供する。
【００２９】
しかしながら、重み付けされたキャプチャ遷移数は、決定論的な手法である。すなわち、未定値のないテストベクトルに対してのみ適用でき、未定値を持つテストキューブには使用できない。これは、テストキューブに未定値が存在するため、キャプチャの前で、いくつかのノードの出力線も未定値となる。たとえば、あるノードの出力線がキャプチャ前にＸでありキャプチャ後に１であるならば、そのノードでキャプチャ時に遷移が生じるかどうかを決定論的に知ることは不可能である。
【００３０】
それゆえ、重み付けされたキャプチャ遷移数は、Ｘ割当時の論理値選択の際の指針には使用できない。その理由は以下のとおりである。テストキューブは、未定値ビットの一つが０または１で割り当てられても、しばしば依然として未定値ビットを持つ。重み付けされたキャプチャ遷移数は未定値ビットのないテストベクトルにのみ適用可能であるためである。
【００３１】
ゆえに、本発明は、キャプチャ消費電力を効果的に削減可能とするテストベクトルを生成する生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００３２】
請求項１に係る発明は、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成装置であって、前記論理回路はフルスキャン設計された順序回路であって、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択手段と、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化手段と、前記選択された割当対象未定値ビットに論理値０を割り当てることによって得られる第１テストキューブと、前記選択された割当対象未定値ビットに論理値１を割り当てることによって得られる第２テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当て手段とを備え、前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられるものである。
【００３３】
請求項２に係る発明は、請求項１記載の生成装置であって、前記選択手段が、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択するものである。
【００３４】
請求項３に係る発明は、請求項１又は２記載の生成装置であって、前記キャプチャ遷移数数値化手段が、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化するものである。
【００３５】
請求項４に係る発明は、請求項１から３のいずれかに記載の生成装置であって、前記論理値割り当て手段が、前記選択された割当対象未定値ビットに対して１が論理値として割り当てられた場合の第１テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して０が論理値として割り当てられた場合の第２テストキューブによるキャプチャ遷移数とを比較する比較手段と、前記比較手段の比較結果により値の小さな遷移数に対応する１又は０を割り当てるべき論理値として決定する決定手段とを有するものである。
【００３６】
請求項５に係る発明は、請求項１から４のいずれかに記載の生成装置であって、前記キャプチャ遷移数数値化手段が、前記選択された割当対象未定値ビットについて論理値が１の場合と０の場合のそれぞれの確率を遷移確率として仮定して適用するものである。
【００３７】
請求項６に係る発明は、論理回路に対して、テストキューブに含まれる複数の未定値ビットのそれぞれに論理値を割り当ててテストベクトルを生成する生成方法であって、前記論理回路はフルスキャン設計された順序回路であって、選択手段が、前記複数の未定値ビットの中から所定の目的に応じた選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する選択ステップと、キャプチャ遷移数数値化手段が、未定値ビットを含むテストキューブが前記論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化するキャプチャ遷移数数値化ステップと、論理値割り当て手段が、前記選択された割当対象未定値ビットに論理値０を割り当てることによって得られる第１テストキューブと、前記選択された割当対象未定値ビットに論理値１を割り当てることによって得られる第２テストキューブに対して、前記キャプチャ遷移数数値化手段を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を前記選択された割当対象未定値ビットに割り当てる論理値割り当てステップとを含み、前記複数の未定値ビットの全てに論理値が割り当てるまで、前記キャプチャ遷移数数値化手段の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられるものである。
【００３８】
請求項７に係る発明は、請求項６記載の生成方法であって、前記選択ステップにおいて、前記選択手段が、前記複数の未定値ビットのそれぞれについての前記論理回路に対する信号値の変化の広がり度合いに基づいて前記割当対象未定値ビットを選択するものである。
【００３９】
請求項８に係る発明は、請求項６又は７記載の生成方法であって、前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段が、スキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、当該信号確率の演算結果を用いて前記全ての回路構成素子における信号遷移の確率を演算し、当該信号遷移の確率の演算結果を用いて前記テストキューブが発生させるキャプチャ遷移数を演算して数値化するものである。
【００４０】
請求項９に係る発明は、請求項６から８のいずれかに記載の生成方法であって、前記論理値割り当てステップが、比較手段が、前記選択された割当対象未定値ビットに対して１が論理値として割り当てられた場合の第１テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して０が論理値として割り当てられた場合の第２テストキューブによるキャプチャ遷移数とを比較する比較ステップと、決定手段が、前記比較手段の比較結果により値の小さな遷移数に対応する１又は０を割り当てるべき論理値として決定する決定ステップとを含むものである。
【００４１】
請求項１０に係る発明は、請求項６から９のいずれかに記載の生成方法であって、前記キャプチャ遷移数数値化ステップにおいて、前記キャプチャ遷移数数値化手段は、前記選択された割当対象未定値ビットについて論理値が１の場合と０の場合のそれぞれの確率を遷移確率として仮定して適用するものである。
【００４２】
請求項１１に係る発明は、請求項６から１０のいずれかに記載の生成方法をコンピュータに実行させることが可能なプログラムである。
【００４３】
請求項１２に係る発明は、請求項１１に記載されたプログラムをコンピュータが実行することが可能にて記録した記録媒体である。
【発明の効果】
【００４４】
上記本発明によれば、テストキューブに複数の未定値ビットが含まれても、選択手段により上記「Ｘ割当の対象となる未定値ビットの選択問題」が解決可能で、キャプチャ遷移数数値化手段及び論理値割り当て手段により「Ｘ割当の割り当て論理値決定問題」が解決可能となる。そのため、キャプチャ消費電力を効果的に削減可能なテストベクトルが生成可能となる。論理回路がフルスキャン設計された順序回路である場合において、スキャンフリップ・フロップのような遷移だけでなく、回路全体の遷移数を削減することが可能になるという利点が得られる。
【発明を実施するための最良の形態】
【００４５】
以下に示すＬＣＰ向けＸ割当は、テストベクトルのキャプチャ消費電力削減のため、テストキューブ内の未定値ビットに対して実施される。
【００４６】
図１は、本発明の実施の形態にかかる生成装置の概略ブロック図である。図２は、図１の生成装置の動作を説明するためのフロー図である。
【００４７】
図２を用いて、図１の動作を説明するとともに、後述する「Ｘスコア」と「確率的に重み付けされたキャプチャ遷移数」の２つの概念に基づいた、Ｘ割当時に十分な指針を提供する高度にガイド可能なＬＣＰ用Ｘ割当方法を概説する。
【００４８】
生成装置１００は、選択部１０１と、キャプチャ遷移数数値化部１０３と、論理値割当部１０５を備える。選択部１０１は、Ｘスコア演算部１０７と割当対象未定値ビット選択部１０９を備える。キャプチャ遷移数数値化部１０３は、信号確率演算部１１１と信号遷移確率演算部１１３とキャプチャ遷移数演算部１１５を備える。論理値割当部１０５は、比較部１１７と決定部１１９を備える。生成装置１００は、与えられたテストキューブからテストベクトルを生成するものであり、各上記構成について簡単に説明する。
【００４９】
選択部１０１は、複数の未定値ビットの中からＬＣＰのためのＸスコアをＸスコア演算部１０７により演算し、割当対象未定値ビット選択部１０９によりそのＸスコアが最大となる未定値ビットから選択基準に応答して論理値の割り当て対象となる一つの割当対象未定値ビットを選択する。ここで、Ｘスコアは、複数の未定値ビットのそれぞれについての論理回路に対する信号値の変化の広がり度合いを表す一例である。
【００５０】
キャプチャ遷移数数値化部１０３は、未定値ビットを含むテストキューブが論理回路内のすべての論理素子の出力で発生させるキャプチャ遷移数を計算して数値化する。具体的には、信号確率演算部１１１がスキャンキャプチャの前と後の前記論理回路を構成する全ての回路構成素子における信号確率を演算し、信号遷移確率演算部１１３が信号確率の演算結果を用いて全ての回路構成素子における信号遷移の確率を演算し、キャプチャ遷移数演算部１１５が信号遷移の確率の演算結果を用いてテストキューブが発生させるキャプチャ遷移数を演算して数値化する。
【００５１】
論理値割当部１０５は、選択部１０１により選択された割当対象未定値ビットに論理値０を割り当てることによって得られる第１テストキューブと、選択された割当対象未定値ビットに論理値１を割り当てることによって得られる第２テストキューブに対して、キャプチャ遷移数数値化部１０３を適用し、第１テストキューブによるキャプチャ遷移数と第２テストキューブによるキャプチャ遷移数を比較し、その少ない方に対応する論理値を選択された割当対象未定値ビットに割り当てる。複数の未定値ビットの全てに論理値が割り当てるまで、キャプチャ遷移数数値化部１０３の演算結果に基づいて割当対象未定値ビットに論理値が割り当てられる。ここで、選択された割当対象未定値ビットに対して１が論理値として割り当てられた場合の第１テストキューブによるキャプチャ遷移数と前記選択された割当対象未定値ビットに対して０が論理値として割り当てられた場合の第２テストキューブによるキャプチャ遷移数との比較は比較部１１７により行われ、決定部１１９は、比較部１１７の比較結果により値の小さな遷移数に対応する１又は０を割り当てるべき論理値として決定する。
【００５２】
図２を参照して、選択部１０１による未定値を持つテストキューブ内の論理値を割り当てるべき未定値ビットの選択処理（ステップＳ１）と、キャプチャ遷移数数値化部１０３によるキャプチャ遷移数を計算する数値化処理（ステップＳ２）と、論理値割当部１０５によるできるだけ多くのキャプチャ消費電力を削減するような、前記選択された未定値ビットに割り当てるべき論理値を０または１のどちらにすべきかの決定処理（ステップＳ３）という３つの基本処理が含まれる。ステップＳ４において、テストキューブ内のすべての未定値ビットがなくなるまで基本処理（ステップＳ１）、基本処理（ステップＳ２）及び基本処理（ステップＳ３）が繰り返し適用され、結果として、完全に未定値がなくなったテストベクトルが得られる。
【００５３】
選択部１０１によるＸ割当の対象となる未定値ビットの選択処理（ステップＳ１）では、スコア演算部１０７によりテストキューブ内の各未定値ビットに対してＸスコアが計算され（ステップＳ１１）、割当対象未定値ビット選択部１０９によりＸスコアが最大となる未定値ビットがＸ割当すべき未定値ビットとして選択される（ステップＳ１２）。なお、Ｘスコアについては、後で具体的に説明する。
【００５４】
一方、キャプチャ遷移数数値化部１０３によるキャプチャ遷移数を計算する数値化処理（ステップＳ２）では、確率的に重み付けした遷移数（一例として後述のＰＷＴ参照）を計算する（ステップＳ２１）。
【００５５】
さらに、論理値割当部１０５によるテストキューブｖ内で選択された未定値ビットｂに対して割り当てられるべき論理値の選択処理（ステップＳ３）では、遷移数の小さいほうに一致する論理値が、最終的に割り当てられるべき論理値となる（ステップＳ３１，３２）。詳細については、後述する。
【００５６】
上記Ｘ割当の対象未定値ビットの選択処理（ステップＳ１）について、さらに説明する。
【００５７】
Ｘ割当の対象となる未定値ビットを適切に選択するために、次の要因を検討する必要がある。すなわち、（１）回路構造、（２）選択された特定されているビットの値と回路中の位置、（３）未定値ビットの場所である。上記要因の情報は、集合シミュレーションと呼ばれる技法により得られる。集合シミュレーションは、記号的Ｘシミュレーションの拡張である。
【００５８】
集合シミュレーションについて説明する。フルスキャン回路中のテストキューブｖに対する集合シミュレーションの手順は、以下の通りである。
【００５９】
＜段階１：入力線への集合割り当て＞
テストキューブｖはｎ個の未定値ビットを持つと仮定する。ｎ個の未定値ビットをｎ個の相異なる集合｛１｝、｛２｝、…｛ｎ｝に置き換える。
【００６０】
＜段階２：集合の伝搬＞
以下の法則１および２を繰り返し適用することにより、すべてのゲートの出力線が論理値または集合を持つまで、フルスキャン回路の組合せ回路部分で集合の伝搬を行なう。
【００６１】
法則１：もし、あるゲートの出力線が入力線の否定となり、その入力が集合Ｓ（¬Ｓ）であれば、そのゲートの出力線に¬Ｓ（Ｓ）を置く。
法則２：ある入力ゲートの合計ｐ本の入力線が集合Ｓ1、Ｓ2、…、Ｓpを持つと仮定する。もしそのゲートの出力線に論理値もどの入力線の否定値もなければ、そのゲートの出力線に集合Ｓ1∪Ｓ2∪…∪Ｓpを置く。
【００６２】
＜段階３：ＦＦへの集合の割り当て＞
組合せ回路部分の擬似外部出力線で論理値若しくは集合が決定された後、擬似外部出力線の論理値若しくは集合が、その擬似外部出力線に対応するＦＦの出力線に割り当てられる。
【００６３】
図３は、集合シミュレーションの例を示す図である。
【００６４】
一般に、テストキューブに対する集合シミュレーションは、ノードの論理値に関する各未定値ビットの影響を以下のように表わしている。（１）あるノードの出力線に論理値が存在するということは、ノードの入出力線に影響を与える未定値ビットがないことを示している。（２）あるノードの出力線に集合｛ｐ1，ｐ2，…，ｐm｝が存在するということは、ノードの論理値がｐ1番目の未定値ビット、ｐ2番目の未定値ビット、…、ｐm番目の未定値ビットによる影響を受けることを示している。
【００６５】
このような集合シミュレーションの結果から、Ｘスコアは計算される。ＸスコアはＸ割当の対象となる未定値ビットの選択の際の尺度となる。
【００６６】
Ｘスコアの定義について説明する。テストキューブに対する集合シミュレーションの後に、フルスキャン回路内の全部でｍ個のノード（ゲート及びＦＦ）の出力線が複数の数値の集合Ｓ1、Ｓ2、…、Ｓmを持つと仮定する。また、ｎbは集合シミュレーションの手順１（入力線への集合割り当て）でテストキューブのある未定値ビットbitに割り当てられた数値と仮定する。このとき、未定値ビットbitのＸスコアX-Score(bit)は以下の式で定義される。
【００６７】
【数２】
2008082867.tif 000004
【００６８】
ここで、nb∈Siのときri=1、そうでないときri=0である。たとえば、図３で示される集合シミュレーションの結果として、ノードＧ1、Ｇ2、Ｇ3、Ｇ5、ＦＦ1及びＦＦ3はそれぞれ集合｛１，２｝、｛１，２｝、｛１，２｝、｛１，２，３｝、｛１，２｝及び、｛１，２，３｝を持つ。さらに集合シミュレーションの手順１で未定値ビットｅに数値３が割り当てられる。それゆえ、未定値ビットｅのＸスコアX-Score(e)は次のように計算できる。
【００６９】
X-Score(e)=０／２＋０／２＋０／２＋１／３＋０／２＋１／３＝０．６７
【００７０】
Ｘスコアの定義から、未定値ビットのＸスコアが大きいほど、未定値ビットへの論理値割り当てがフルスキャン回路のノードの論理値について大きな影響を与えることが明確となる。こうして、より大きなＸスコアを持つ未定値ビットは、キャプチャ消費電力削減に大きな影響を与えることを示している。
【００７１】
図２で示すように、今回提案するＸ割当の対象となる未定値ビットの選択方法は、最初にテストキューブ内のすべての未定値ビットのＸスコアを計算し、Ｘ割当の対象として、最も高いＸスコアを持った未定値ビットを選択する。
【００７２】
図４は、尺度としてＸスコアを用いた効果を説明するための図である。
【００７３】
図４に示すように、テストキューブｖはｂとｃの２個の未定値ビットを持つ。ｂのＸスコアX-Score(b)は１＋１／２＋１／２＋１／２＋１／２＝３であり、ｃのＸスコアX-Score(c)は１／２＋１／２＋１／２＋１／２＝２である。それゆえ、Ｘ割当の対象となる未定値ビットとしてｂが最初に選択される。このようなＸ割当の順番はキャプチャ消費電力削減により良い結果をもたらす。
【００７４】
続いて、上記キャプチャ遷移数を計算する数値化処理（ステップＳ２）をさらに説明する。
【００７５】
キャプチャ時の消費電力をできるだけ削減するために、各割当の対象となる未定値ビットに対して、適切な論理値が選ばれる必要がある。Ｘ割当において未定値ビットに割り当てる論理値が適切かどうかを決定するためには、未定値ビットを持つテストキューブに対して、キャプチャ時の消費電力に関する十分な精度の計算が必要である。以下では、テストキューブのキャプチャ消費電力の見積もり方法を定義し、その計算の詳細について述べる。新しい測定基準により高度にガイド可能なＸ割当の値が選択可能になる。
【００７６】
テストキューブｖにおけるキャプチャ動作時の回路の確率的に重み付けした遷移数（probabilistic  weighted  capture  transition  count）をＰＷＴ（ｖ)で表し、次式で定義する。
【００７７】
【数３】
2008082867.tif 000005
【００７８】
ここで、ｎは回路中の全ノード（組合せ回路部分のゲート及びスキャンチェーン上のＦＦ）数、ｗiはノードｉからのファンアウト分岐数、ｐiはノードｉの出力線で発生する０から１若しくは１から０への遷移確率である。
【００７９】
上記ＰＷＴは、従来の単に重み付けしたキャプチャ遷移数（ＷＣＴ）に似ている。最も大きな差異は、ＰＷＴはテストキューブ内の未定値ビットに関連付けられた非決定性の遷移を扱うために、遷移確率の概念を使用する。これに対し、ＷＣＴは未定値ビットを持たないテストベクトルに対する決定性の遷移のみを扱うことができるにすぎない。たとえば、あるノードの出力線のキャプチャ前の値がＸで、キャプチャ後は１になったとするとき、このノードで０から１への遷移が１００％確実に発生するかどうかを決定することは不可能である。
【００８０】
このような不確実性問題を扱うため、遷移確率の概念を導入する。一般的に、テストキューブｖにおけるキャプチャ動作時のノードｉにおける遷移確率ｐiは以下の式で計算できる。
【００８１】
pi＝(BC-Prob0(i)×AC-Prob1(i))＋(BC-Prob1(i)×AC-Prob0(i))
【００８２】
ここで、BC-Prob0(i)とBC-Prob1(i)は、ノードｉがキャプチャ前にそれぞれ０と１になる確率であり、AC-Prob0(i)とAC-Prob1(i)は、ノードｉがキャプチャ後にそれぞれ０と１になる確率である。
【００８３】
ひとたびテストキューブｖに関するすべてのノードの遷移確率が求まれば、ＰＷＴ（ｖ）は難なく計算できる。ＰＷＴを導入する最大の利点は、未定値ビットを持つテストキューブに関する回路全体のキャプチャ消費電力の計算が可能になることである。ＰＷＴは、キャプチャ消費電力をできるだけ削減するために、未定値ビットに割り当てる論理値選択の尺度として有用である。
【００８４】
図５は、テストキューブｖにおいてすべてのノードの遷移確率を求めるというＰＷＴを適用する際の鍵となる問題を説明するための図である。
【００８５】
図５に示すように、各ノードｉにおける4種類のノード確率、BC-Prob0(i)、BC-Prob1(i)、AC-Prob0(i)、AC-Prob1(i)の計算が必要になる。BC-Prob0(i)＋BC-Prob1(i)＝１で、AC-Prob0(i)＋AC-Prob1(i)＝１であるが、以下では、各ノードに対するこれら４種類の確率はより理解しやすくするため明示する。
【００８６】
テストキューブｖのもとですべてのノードの遷移確率は、前述したフルスキャン回路に一致している、図６に示す４つの段階を経て計算できる。
【００８７】
＜段階１：キャプチャ前の入力線への確率割り当て＞
テストキューブｖ内にある各未定値ビットｂのキャプチャ前の０及び１になる確率は、以下の表により割り当てられる。
【００８８】
【表１】
2008082867.tif 000006
【００８９】
＜段階２：キャプチャ前のノード確率計算＞
組合せ回路部の各ゲートのキャプチャ前の０及び１になる確率は、段階１で入力線に割り当てられた確率から計算する。相互関係を誘発する不確実性と計算複雑度の間の様々なトレードオフに関して、利用可能な確率の伝搬方法が数多くある。ここで、各ＦＦのキャプチャ前の０及び１となる確率は、段階１で割り当てられる。
【００９０】
＜段階３：キャプチャ後の入力線への確率割り当て＞
キャプチャ動作の結果、スキャンＦＦの出力線が<f(ｖ)：FF>に更新される。<f(ｖ)：FF>は、ＦＦの入力線におけるテストキューブｖに対する組合せ回路部の応答である。したがって、各ＦＦの出力線のキャプチャ後の０及び１になる確率は、それぞれＦＦの入力線のキャプチャ前の０及び１になる確率に同じになる。また、外部入力線の値<ｖ：PI>は、キャプチャによる変化はない。したがって、各外部入力線のキャプチャ後の０及び１になる確率は、キャプチャ前の０及び１になる確率と同じになる。
【００９１】
＜段階４：キャプチャ後のノード確率計算＞
組合せ回路部の各ゲートのキャプチャ後の０及び１になる確率は、段階３で入力線に割り当てられた確率から計算される。ここで、各ＦＦのキャプチャ後の０及び１となる確率は、段階３で割り当てられる。
【００９２】
ここで、段階１では、テストキューブｖ内のいずれの未定値ビットも、外部入力から直接、若しくはスキャンシフト動作で間接的に設定されることに注意する。これが、テストキューブ内のすべての未定値ビットの０及び１になる確率が５０％に割り当てられる理由である。
【００９３】
図７は、ノードの確率と遷移確率の計算例を説明するための図である。
【００９４】
フルスキャン回路は、組合せ回路部にゲート５個（G１〜G5）及び、３個のスキャンＦＦ（ＦＦ１〜ＦＦ3）を持つとする。ａとｂは外部入力線、一方、ｐ、ｑ、ｒはそれぞれＦＦ１、ＦＦ2、ＦＦ3の入力線に接続する擬似外部出力線とする。
【００９５】
図７（ａ）（ｂ）は、それぞれキャプチャ前のノードの確率とキャプチャ後のノードの確率を示す図である。ここで、テストキューブｖが（０、１、１、Ｘ、Ｘ）であるとする。これらの結果から、図５で示される遷移確率を容易に計算でき、その結果は図７（ｃ）に示される。すなわち、例えば出力線ｑについては、BC-Prob0(q)×AC-Prob1(q)＋BC-Prob1(q)×AC-Prob0(q)より０．２６となり、出力線ｐ、ｒについても同様である。それゆえ、ＰＷＴ（ｖ）は、ＰＷＴ（ｖ）＝３×0.50＋２×0.50＋１×0.50＋１×0.26＋１×0.37＋１×0.50＋１×0.50＋１×0.50＝5.13となる。
【００９６】
図２に示すように、キャプチャ消費電力の削減のためにテストキューブｖ内の未定値ビットｂに割り当てるべき適切な論理値を選択するため、ＰＷＴ（ｖ：b＝0）及びＰＷＴ（ｖ：b＝１）を計算する。これらはそれぞれ、０及び１を割り当てた場合の、確率的に重み付けした遷移数（ＰＷＴ）である。こうして、未定値ビットｂに最終的に割り当てる論理値として、小さい値のＰＷＴに対応する論理値を選択する。具体的には、例えば、図７（ａ）に示したテストキューブｖの未定値ビットのうちＸスコアが最大となった未定値ビットをｂとし、それに論理値０と論理値１をそれぞれ割当てて、ＰＷＴ（ｖ：b＝0）及びＰＷＴ（ｖ：b＝１）を計算し、小さい値のＰＷＴに対応する論理値が選択されて割当てられる。
【００９７】
ＰＷＴは、テストキューブ内の未定値ビットに対するすべてのノード（ゲート及びＦＦ）でキャプチャ消費電力量の見積りを可能とするので、上記未定値ビットに割り当てる論理値の選択は、高度の尺度を持つ手順であり、キャプチャ消費電力削減により良い結果を得ることができる。
【００９８】
このように、高度にガイド可能なＬＣＰ用Ｘ割当手法（（１）Ｘスコア、（２）確率的に重み付けされたキャプチャ遷移数）により、以下のような効果が得られる。まず、上記「Ｘスコア」という概念は、キャプチャ消費電力削減におけるテストキューブのすべての未定値ビットの影響を測定するために使用される。回路の構造情報、特定されたビットの論理値、異なる未定値ビット相互の内部関係はＸスコアの計算で調べられる。このため、各Ｘ割当操作で適切なＸ割当の対象を選択する際に、選択の指針としてＸスコアが使用可能になる。また、「確率的に重み付けされたキャプチャ遷移数」という概念は、すべてのノード（ゲートとＦＦ）で重み付けした確率的に見積もられたキャプチャ時の遷移数による、未定値ビットを含むテストキューブでのキャプチャ消費電力の見積もりに使用される。この新しい方法は、未定値ビットを含まないテストベクトルに対してのみ適用できる、重み付けされたスイッチング動作手法の制限を克服する。また、未定値ビットを含むテストキーブに対する従来手法に比べキャプチャ消費電力の見積もり精度を劇的に改善する。結果として、この新手法は各Ｘ割当操作で対象となる未定値ビットに割り当てる適切な論理値の選択の際に、より良い指針を提供できる。このような「Ｘスコア」によりキャプチャ消費電力削減に関する未定値ビットの影響を定量化することができ、「確率的に重み付けされたキャプチャ遷移数」により未定値ビットを含むテストキューブであっても回路全体のキャプチャ消費電力を見積もることができる。その結果、この２つの概念に基づいたＸ割当のための十分な指針が得られ、キャプチャ消費電力を十分に削減できる。
【００９９】
なお、本実施の形態では、Ｘスコアの値が最大となる未定値ビットに論理値０、１をそれぞれ割当てでＰＷＴを計算したが、ＰＷＴの計算において、論理値０、１が割当てられる割当対象未定値ビットの選択には、他の手法によって得られるものであってもよい。
【０１００】
また、上記実施の形態の説明では、便宜上、スキャン回路の方式、或いは、クロックの種類・数については簡便化していたが、これらに依存される必要はなく、フルスキャン設計を適用した論理回路（ＬＳＩ回路）全般に対して適用できる。すなわち、複数本のスキャンチェーンが存在しても、またスキャン回路を駆動するクロックが複数個存在しても、またスキャン回路に組合せ回路部分からフリップ・フロップに値を取り込むタイミングが異なっても、いずれのＬＳＩ回路に対して適用可能である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施の形態にかかる生成装置の概略ブロック図である。
【図２】図１の生成装置の動作を説明するためのフロー図である。
【図３】集合シミュレーションの例を示す図である。
【図４】尺度としてＸスコアを用いた効果を説明するための図である。
【図５】テストキューブｖにおいてすべてのノードの遷移確率を求めるというＰＷＴを適用する際の鍵となる問題を説明するための図である。
【図６】テストキューブｖのもとですべてのノードの遷移確率がフルスキャン回路において４つの段階を経て計算できることを説明するための図である。
【図７】ノードの確率と遷移確率の計算例を説明するための図である。
【図８】半導体論理回路が、設計、製造、テストの三段階を経て出荷されることを説明するための図である。
【図９】シフト消費電力削減のためにＭＤスキャン(multi-duty  scan)とキャプチャ消費電力削減のためのＬＣＰ対応のＸ割当を使用する例を示した図である。
【図１０】Ｘ割当のための対象となる未定値ビットの選択における結果の相違を説明するための図である。
【符号の説明】
【０１０２】
１００  生成装置
１０１  選択部
１０３  キャプチャ遷移数数値化部
１０５  論理値割当部
【図１】
2008082867.tif 000007
【図３】
2008082867.tif 000008
【図４】
2008082867.tif 000009
【図５】
2008082867.tif 000010
【図６】
2008082867.tif 000011
【図７】
2008082867.tif 000012
【図８】
2008082867.tif 000013
【図９】
2008082867.tif 000014
【図１０】
2008082867.tif 000015
【図２】
2008082867.tif 000016