(57)【要約】【課題】スキャンＦ／Ｆの遷移する回数を抑えて消費電力を削減することができるスキャンチェーン回路及びスキャンチェーン構築方法を提供すること【解決手段】本発明にかかるスキャンチェーン回路は、複数のフリップフロップ２１〜２６を有し、複数のフリップフロップ２１〜２６のうち、それぞれのフリップフロップが保持しているデータを先頭方向から後尾方向に対してシフトするスキャンチェーン回路であって、複数のフリップフロップ２１〜２６は、スキャンチェーン回路の先頭方向から後尾方向に対して、保持しているデータの遷移回数が少ない方から昇順となるように配置されるものである。【選択図】図１
2012159371.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持しているデータを先頭方向から後尾方向に対してシフトするスキャンチェーン回路であって、
前記複数のフリップフロップは、
前記スキャンチェーン回路の先頭方向から後尾方向に対して、保持しているデータの遷移回数が少ない方から昇順となるように配置される、スキャンチェーン回路。
【請求項２】
前記複数のフリップフロップは、
論理値として０又は１を保持し、前記スキャンチェーン回路の先頭方向から後尾方向に対して、それぞれのフリップフロップが０を保持する確率が高い方から順に降順となるように、又は、それぞれのフリップフロップが１を保持する確率が高い方から順に降順となるように配置される、請求項１記載のスキャンチェーン回路。
【請求項３】
前記複数のフリップフロップは、
前記スキャンチェーン回路の先頭方向から後尾方向に対して、隣り合うフリップフロップが同一のデータを保持する確率が高い方から順に降順となるように配置される、請求項１記載のスキャンチェーン回路。
【請求項４】
前記複数のフリップフロップは、
１を保持する確率が所定の閾値より大きい複数のフリップフロップを有する第１のスキャンチェーンと、１を保持する確率が所定の閾値より小さい複数のフリップフロップを有する第２のスキャンチェーンとに分類され、
前記第１のスキャンチェーンは、
前記それぞれのフリップフロップが１を保持する確率が高い方から順に降順となるように配置され、
前記第２のスキャンチェーンは、
前記それぞれのフリップフロップが１を保持する確率が低いほうから順に昇順となるように配置される、請求項２記載のスキャンチェーン回路。
【請求項５】
複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持している０又は１の論理値を先頭方向から後尾方向に対してシフトするスキャンチェーンを構築するスキャンチェーン構築方法であって、
前記スキャンチェーンの先頭方向から後尾方向に対して、保持しているデータの遷移回数が少ない方から昇順となるように前記複数のフリップフロップを配置する、スキャンチェーン構築方法。
【請求項６】
前記複数のフリップフロップを配置する際に、
前記複数のフリップフロップがそれぞれ論理値１を保持する確率、又は、前記複数のフリップフロップがそれぞれ論理値０を保持する確率を算出し、
前記複数のフリップフロップを、論理値１を保持する確率又は論理値０を保持する確率が高い方から順に降順となるように配置する、請求項５記載のスキャンチェーン構築方法。
【請求項７】
前記複数のフリップフロップを配置する際に、
前記スキャンチェーン回路の先頭方向から後尾方向に対して、隣り合うフリップフロップが同一のデータを保持する確率を算出し、
前記複数のフリップフロップを、前記同一のデータを保持する確率が高い方から順に降順となるように配置する、請求項５記載のスキャンチェーン構築方法。
【請求項８】
前記算出された確率が所定の閾値より大きい複数のフリップフロップを有する第１のグループと、前記算出された確率が所定の閾値より小さい複数のフリップフロップを有する第２のグループとに分類し、
前記第１のグループにおいては、前記算出された確率が高い方から順に降順となるようにスキャンチェーンを構築し、
前記第２のグループにおいては、前記算出された確率が低い方から順に昇順となるようにスキャンチェーンを構築する、請求項６記載のスキャンチェーン構築方法。
【請求項９】
複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持しているデータを先頭方向から後尾方向に対してシフトするスキャンチェーン回路を構築する試験装置であって、
前記複数のフリップフロップのそれぞれにおいて保持しているデータが遷移する回数に関する情報を算出する演算部と、
前記データの遷移回数が少ない方から昇順となるように前記複数のフリップフロップを配置するようにスキャンチェーンの構築情報を生成するスキャンチェーン生成部と、
前記スキャンチェーンの構築情報を、スキャンチェーン回路を挿入する回路へ通知する実行部と、を備える試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスキャンチェーン回路、スキャンチェーン構築方法及び試験装置に関し、特にフリップフロップを用いたスキャンチェーン回路と、そのスキャンチェーン回路の構築方法と、そのスキャンチェーン回路を構築する際に用いられる試験装置に関する。
【背景技術】
【０００２】
ＬＳＩの大規模化に伴い、通常動作時におけるクロックゲーティングや多電源設計などの各種の低電力技術が進展してきた。ここで、テスト動作であるスキャンテスト時の低電力化技術については、改良する余地があり、スキャンテスト時のスキャンシフト動作について現在提案されている手法よりもさらに低消費電力化できる技術が望まれている。
【０００３】
特許文献１には、スキャンフリップフロップ（以下、スキャンＦ／Ｆと称する。）が論理値１をキャプチャする確率を計算し、任意の確率の幅毎に、スキャンＦ／Ｆをグルーピングして構築されるスキャンチェーンが開示されている。確率の幅とは、例えば、０〜０．２、０．２〜０．４、０．４〜０．６、０．６〜０．８、０．８〜１．０等である。これにより、１又は０に近い確率幅でグルーピングされたスキャンチェーンほど隣り合うスキャンＦ／Ｆが異なるキャプチャ値を持つ頻度が最小化される。キャプチャ値とは、スキャンＦ／Ｆに取り込まれる値である。これにより、スキャンアウト時のスキャンＦ／Ｆの遷移回数を削減し、消費電力を削減することができる。
【０００４】
非特許文献１には、スキャンＦ／Ｆのペアについて、キャプチャ値が同じになる確率（以下、相関と称する）を算出し、スキャンチェーン全体で相関の合計が最大になるように構築されるスキャンチェーンが開示されている。これにより、スキャンアウト時のスキャンＦ／Ｆの遷移回数を削減し、消費電力を削減することができる。
【０００５】
特許文献２には、保持するデータの変化に伴って駆動する後段ゲートの数が、基準値以上のフリップフロップ（以下、パワー大ＦＦと称する）をスキャンチェーンのスキャンイン側に配置する構成が開示されている。このように構成されたスキャンチェーンは、スキャンアウト中の消費電力を削減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５７００９号公報
【特許文献２】特開２０１０−１９９１０６号公報
【非特許文献】
【０００７】
【非特許文献１】Yu-Ze Wu, Mango C.T.Chao, "Scan-Chain Reordering for Minimizing Scan-Shift Power Based on Non-Specified Test Cubes" VTS 2008 4B_3
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に開示されているスキャンチェーンは、論理値が１をとる確率が０．５程度のスキャンＦ／Ｆをグルーピングしたスキャンチェーンでは隣り合うスキャンＦ／Ｆが異なるキャプチャ値を持つ頻度を削減することができない。そのため、このようなスキャンチェーンでは消費電力を削減することができないという問題がある。
【０００９】
また、非特許文献１に開示されているスキャンチェーンは、キャプチャ値が遷移する確率が高いスキャンＦ／Ｆがスキャンイン側に配置された場合に、スキャンアウト時に遷移を起こすスキャンＦ／Ｆが増加し、スキャンシフト動作時の消費電力が増大するという問題がある。
【００１０】
また、特許文献２に開示されているスキャンチェーンは、パワー大ＦＦにおいてキャプチャされた値が遷移する可能性が高い場合に、スキャンアウト時のシフト動作により後段のスキャンＦ／Ｆが遷移し、消費電力が増大するという問題がある。
【課題を解決するための手段】
【００１１】
本発明の第１の態様にかかるスキャンチェーン回路は、複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持しているデータを先頭方向から後尾方向に対してシフトするスキャンチェーン回路であって、前記複数のフリップフロップは、前記スキャンチェーン回路の先頭方向から後尾方向に対して、保持しているデータの遷移回数が少ない方から昇順となるように配置されるものである。
【００１２】
このようなスキャンチェーン回路を用いることにより、フリップフロップが保持しているデータの遷移回数に応じてスキャンチェーンを構築することができる。そのため、スキャンチェーンを伝搬するデータによって、フリップフロップにおけるキャプチャ値が遷移する確率を低くすることができる。
【００１３】
本発明の第２の態様にかかるスキャンチェーン構築方法は、複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持している０又は１の論理値を先頭方向から後尾方向に対してシフトするスキャンチェーンを構築するスキャンチェーン構築方法であって、前記スキャンチェーンの先頭方向から後尾方向に対して、保持しているデータの遷移回数が少ない方から昇順となるように前記複数のフリップフロップを配置するものである。
【００１４】
このようなスキャンチェーン構築方法を用いることにより、フリップフロップが保持しているデータの遷移回数に応じてスキャンチェーンを構築することができる。そのため、スキャンチェーンを伝搬するデータによって、フリップフロップにおけるキャプチャ値が遷移する確率を低くすることができる。
【００１５】
本発明の第３の態様にかかる試験装置は、複数のフリップフロップを有し、前記複数のフリップフロップのうち、それぞれのフリップフロップが保持しているデータを先頭方向から後尾方向に対してシフトするスキャンチェーン回路を構築する試験装置であって、前記複数のフリップフロップのそれぞれにおいて保持しているデータが遷移する回数に関する情報を算出する演算部と、前記データの遷移回数が少ない方から昇順となるように前記複数のフリップフロップを配置するようにスキャンチェーンの構築情報を生成するスキャンチェーン生成部と、前記スキャンチェーンの構築情報を、スキャンチェーン回路を挿入する回路へ通知する実行部と、を備えるものである。
【００１６】
このような試験装置を用いることにより、フリップフロップが保持しているデータの遷移回数に応じてスキャンチェーンを構築することができる。そのため、スキャンチェーンを伝搬するデータによって、フリップフロップにおけるキャプチャ値が遷移する確率を低くすることができる。
【発明の効果】
【００１７】
本発明により、スキャンＦ／Ｆの遷移する回数を抑えて消費電力を削減することができるスキャンチェーン回路、スキャンチェーン構築方法及び試験装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１にかかるスキャンチェーンを挿入した回路の構成図である。
【図２】実施の形態１にかかる試験装置の構成図である。
【図３】実施の形態１にかかるスキャンチェーン構築の処理フローである。
【図４】実施の形態１にかかるスキャンチェーン回路の構成図である。
【図５】実施の形態１にかかるスキャンチェーン回路の構成図である。
【図６】実施の形態２にかかるスキャンチェーン回路の構成図である。
【図７】実施の形態２にかかるスキャンチェーン構築の処理フローである。
【発明を実施するための形態】
【００１９】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図１を用いて本発明の実施の形態１にかかるスキャンチェーンを挿入した回路の構成例について説明する。スキャンチェーンを挿入した回路は、フリップフロップ（以下、Ｆ／Ｆと称する）２１〜２６と、組み合わせ回路３０〜３２と、スキャンイン端子４０と、スキャンアウト端子５０とを備えている。
【００２０】
Ｆ／Ｆ２１は、入力されるクロック信号に応じてシフト動作を行う。また、Ｆ／Ｆ２１は、スキャンイン端子４０もしくは組み合わせ回路３１から出力される信号のいずれか一方を選択して保持（キャプチャ）する。Ｆ／Ｆ２１は、スキャンテストを実行するためのテストパタンを保持する場合は、スキャンイン端子４０から出力される信号をキャプチャする。また、Ｆ／Ｆ２１は、テストパタンを保持する場合以外は、組み合わせ回路３１から出力される信号をキャプチャする。Ｆ／Ｆ２１は、キャプチャした値を、クロック信号によるタイミング制御に応じて、Ｆ／Ｆ２２及び組み合わせ回路３０へ出力する。
【００２１】
Ｆ／Ｆ２２は、Ｆ／Ｆ２１もしくは組み合わせ回路３１から出力される信号のいずれか一方を選択してキャプチャする。Ｆ／Ｆ２２は、スキャンテストを実行するためのテストパタンを保持する場合、又は、テスト結果をスキャンアウト端子５０へ出力する動作を実行する場合は、Ｆ／Ｆ２１から出力される信号をキャプチャする。また、Ｆ／Ｆ２２は、スキャンテストを実行するためのテストパタンを保持する場合、又は、テスト結果をスキャンアウト端子５０へ出力する動作を実行する場合以外は、組み合わせ回路３１から出力される信号をキャプチャする。Ｆ／Ｆ２２は、キャプチャした値を、クロック信号によるタイミング制御に応じて、Ｆ／Ｆ２３及び組み合わせ回路３０へ出力する。
【００２２】
Ｆ／Ｆ２３〜２５は、Ｆ／Ｆ２２と同様の動作を行うため、詳細な説明を省略する。Ｆ／Ｆ２６は、保持した値をスキャンアウト端子５０及び組み合わせ回路３２へ出力する。それ以外の動作については、Ｆ／Ｆ２２と同様の動作を行うため、詳細な説明を省略する。
【００２３】
Ｆ／Ｆ２１〜２６は、直列に接続され、シフトレジスタとして動作するスキャンチェーンを構成する。スキャンチェーンは、スキャンイン端子４０からスキャンインされるテストパタンデータを、シフト動作により組み合わせ回路３０又は３２へ出力する。また、スキャンチェーンは、組み合わせ回路３０又は３１からデータを取り込み、取り込んだデータをシフト動作により、スキャンアウト端子５０へ出力する。スキャンテストでは、スキャンチェーンのシフト動作によって、テストパタンデータを組み合わせ回路に入力し、キャプチャ動作によって組み合わせ回路の出力データがフリップフロップに取り出される。次に、フリップフロップに取り出された出力データは、シフト動作によってスキャンアウト端子５０へ出力される。スキャンアウト端子５０へ出力されたデータと、その期待値とを比較することにより、組み合わせ回路が正常に動作しているか否かを判定することができる。
【００２４】
組み合わせ回路３０〜３２は、複数の論理素子を用いて構成されている。つまり、組み合わせ回路３０〜３２は、Ｆ／Ｆから受け取ったデータを演算し、演算した結果をそれぞれのＦ／Ｆへ出力する。スキャンイン端子４０は、Ｆ／Ｆ２１に接続されており、Ｆ／Ｆ２１を介してテストパタンデータをＦ／Ｆ２１〜２６へ出力する。また、スキャンアウト端子５０は、Ｆ／Ｆ２６に接続されており、Ｆ／Ｆ２６を介してＦ／Ｆ２１〜２６がキャプチャしたデータを受け取る。
【００２５】
続いて、図２を用いて本発明の実施の形態１にかかる試験装置６０の構成例について説明する。試験装置６０は、スキャンチェーンを挿入した回路を有する装置とは異なる装置である。試験装置６０は、スキャンチェーンを挿入した回路における試験の実行を制御するために用いられる。試験装置６０は、ネットリスト６１と、セルライブラリ６２と、演算部６３と、スキャンチェーン生成部６４と、実行部６５とを備えている。
【００２６】
ネットリスト６１は、スキャンＦ／Ｆが挿入された回路における、スキャンＦ／Ｆ及び組み合わせ回路の接続構成パターンを保持している。ここでは、スキャンチェーンに用いられるＦ／Ｆを、スキャンＦ／Ｆと称する。以下の記述においても同様である。セルライブラリ６２は、特定の機能を有する複数のプログラムを保持している。処理を実行する内容に応じて、試験装置内のＣＰＵ（図示せず）が、セルライブラリ６２に保持されているプログラムを用いて処理を実行することができる。
【００２７】
演算部６３は、ネットリスト６１及びセルライブラリ６２に保持されている情報を用いて、それぞれのスキャンＦ／Ｆがキャプチャする値が遷移する回数に関する情報を算出する。それぞれのスキャンＦ／Ｆがキャプチャする値が遷移する回数に関する情報とは、例えば、それぞれのスキャンＦ／Ｆが０を保持する確率もしくは１を保持する確率である。また、その他の例として、スキャンＦ／Ｆのペアがそれぞれ０を保持する確率もしくは１を保持する確率を示す相関であってもよい。
【００２８】
スキャンチェーン生成部６４は、演算部６３において算出された情報に基づいて、スキャンチェーンの接続構成を決定する。スキャンチェーンの接続構成の決定処理については、後に詳述する。
【００２９】
実行部６５は、スキャンチェーン生成部６４において決定されたスキャンチェーンの接続構成をスキャンチェーンが挿入された回路に通知し、その回路におけるスキャンチェーンを構築させる。
【００３０】
続いて、図３を用いて、スキャンチェーンを構築する処理の流れについて説明する。図３において説明するスキャンチェーンを構築する処理の流れは、上述した試験装置６０を用いてスキャンチェーンの構築を行う例について説明する。
【００３１】
はじめに、演算部６３は、ネットリスト６１及びセルライブラリ６２における回路情報等を用いて、それぞれのスキャンＦ／Ｆが論理値１をキャプチャする確率を求める（Ｓ１１）。演算部６３は、ネットリスト６１から回路内のスキャンＦ／Ｆ及び組み合わせ回路の接続構成例を抽出し、セルライブラリ６２からスキャンＦ／Ｆに設定するスキャンパタン（テストパタン）等を抽出する。演算部６３は、抽出したデータを用いて、想定し得る接続構成にスキャンパタンを適用し、テストを実行した場合のスキャンＦ／Ｆがキャプチャする値についてシミュレーションを行う。これにより、試験装置は、スキャンＦ／Ｆが論理値１をキャプチャする確率を求める。ここで、試験装置は、スキャンＦ／Ｆが論理値０をキャプチャする確率を求めてもよい。
【００３２】
次に、スキャンチェーン生成部６４は、それぞれのスキャンＦ／Ｆが論理値１をキャプチャする確率を用いて、スキャンチェーンを構築する（Ｓ１２）。スキャンチェーン構築の具体例について、図４及び図５を用いて説明する。スキャンチェーンには、スキャンＦ／Ｆ１〜１２が用いられる。試験装置は、複数のスキャンＦ／Ｆを、論理値１をキャプチャする確率が０．５より大きいスキャンＦ／Ｆを含むグループと、論理値１をキャプチャする確率が０．５より小さいスキャンＦ／Ｆを含むグループと、に分類する。ここで、論理値１をキャプチャする確率が０．５となるスキャンＦ／Ｆについては、どちらのグループに分類されてもよい。また、図４及び図５において閾値として用いたれている確率は、０．５に制限されるものではなく、他の値を用いてもよい。
【００３３】
図４におけるスキャンチェーンは、論理値１をキャプチャする確率が０．５より大きいスキャンＦ／Ｆにより構築されるスキャンチェーンである。図５におけるスキャンチェーンは、論理値１をキャプチャする確率が０．５より小さいスキャンＦ／Ｆにより構築されるスキャンチェーンである。
【００３４】
図４におけるスキャンチェーンは、スキャンイン端子とスキャンアウト端子との間に、スキャンＦ／Ｆが直列に接続されている構成を示している。さらに、スキャンイン端子からスキャンアウト端子に向かって、それぞれのスキャンＦ／Ｆにおける論理値が１となる確率が高い方から順に降順に接続されるようにする。
【００３５】
図５におけるスキャンチェーンは、スキャンイン端子とスキャンアウト端子との間に、スキャンＦ／Ｆが直列に接続されている構成を示している。さらに、スキャンイン端子からスキャンアウト端子に向かって、それぞれのスキャンＦ／Ｆにおける論理値が１となる確率が低い方から順に昇順に接続されるようにする。
【００３６】
このような手法によって構成された図４及び図５のスキャンチェーンの後方（スキャンアウト端子に近い順番）には、論理値１がキャプチャされる確率が０．５程度のスキャンＦ／Ｆが接続されている。論理値１がキャプチャされる確率が０．５程度のスキャンＦ／Ｆにキャプチャされている値をスキャンアウトした場合、スキャンＦ／Ｆにおいてキャプチャする値が遷移する確率が高くなる。つまり、スキャンＦ／Ｆがキャプチャする論理値が１から０もしくは０から１に変化する確率が高くなる。しかし、論理値１がキャプチャされる確率が０．５程度のスキャンＦ／Ｆは、スキャンチェーンの後方に配置されている。そのため、スキャンシフトにより、キャプチャされる値の遷移が伝搬するスキャンＦ／Ｆの数は少ない。従って、スキャンＦ／Ｆが論理値１をキャプチャする確率が０．５程度のスキャンＦ／Ｆがスキャンチェーンの前方（スキャンイン端子に近い順番）に接続している場合に比べて、遷移が伝搬するスキャンＦ／Ｆの数を抑えることができる。これにより、スキャンチェーン回路の消費電力を削減することができる。
【００３７】
また、このような手法によって構成されたスキャンチェーンの前方（スキャンイン端子に近い順番）には、論理値１をキャプチャする確率が１又は０に近いスキャンＦ／Ｆが接続されている。論理値１をキャプチャする確率が１又は０に近いスキャンＦ／Ｆにキャプチャされている値をスキャンアウトした場合、スキャンＦ／Ｆにおいてキャプチャする値が遷移する確率が低くなる。つまり、スキャンＦ／Ｆがキャプチャする論理値が変化する確率が低くなる。このスキャンＦ／Ｆがスキャンチェーンの前方に配置されているため、スキャンシフト動作が行われた場合においても、キャプチャされる値が遷移するスキャンＦ／Ｆの数が少なくなる。従って、スキャンＦ／Ｆが論理値１をキャプチャする確率が１又は０に近いスキャンＦ／Ｆがスキャンチェーンの後方に接続している場合に比べて、遷移するスキャンＦ／Ｆの数が少なくなる。これにより、スキャンチェーン回路の消費電力を削減することができる。
【００３８】
図３に戻り、スキャンチェーン生成部６４は、新たに構築されたスキャンチェーンの接続情報を反映させるため、ネットリストの更新を行う（Ｓ１３）。更新されたネットリストは、ネットリストＤ１に保存される。また、実行部６５は、スキャンチェーン生成部６４において生成されたスキャンチェーンの接続情報を、スキャンチェーンを挿入した回路において適用させる。
【００３９】
次に、スキャンチェーン生成部６４もしくは試験装置内のＣＰＵは、セルライブラリＤ２に格納されているプログラム情報に基づいて、スキャンパタンを生成する（Ｓ１４）。さらに、実行部６５は、ｒｅｐｅａｔ  ｆｉｌｌ機能を用いて、スキャンＦ／Ｆにスキャンパタンを設定する（Ｓ１５）。ここで、ｒｅｐｅａｔ  ｆｉｌｌ機能について説明する。
【００４０】
ｒｅｐｅａｔ  ｆｉｌｌ機能とは、スキャンパタンのドントケアビットに設定される論理値を直前のケアビットと同一の値に設定する機能である。たとえば、８ビットからなるスキャンパタンにおいて、１ビット目にケアビットとして論理値１を設定し、４ビット目にケアビットとして論理値０を設定する例について説明する。この場合、２及び３ビット目に、ドントケアビットとして１ビット目と同じ論理値１を設定する。さらに、５〜８ビット目に、ドントケアビットといて４ビット目と同じ論理値０を設定する。これにより、スキャンパタンとして「１１１０００００」がスキャンＦ／Ｆに設定される。このように、スキャンパタンに同一の論理値が並べられるため、スキャンパタンのシフト動作による遷移を最小限に抑えることができる。このように、ｒｅｐｅａｔ  ｆｉｌｌ機能は、スキャンパタンのシフト動作によって生じる、スキャンＦ／Ｆがキャプチャする値の遷移を最小限に抑えることができる機能である。
【００４１】
以上説明したように本発明の実施の形態１にかかるスキャンチェーン回路を用いることにより、論理値１をキャプチャする確率が０．５程度のスキャンＦ／Ｆを含むスキャンチェーンにおいても、このようなスキャンＦ／Ｆをスキャンチェーンの後方（スキャンアウト端子に近い方）に配置することにより、シフト動作による遷移の伝搬を抑えることができる。さらに、論理値１をキャプチャする確率が１又は０に近いスキャンＦ／Ｆをスキャンチェーンの前方（スキャンイン端子に近い方）に配置することにより、さらに、スキャンチェーンを構成するスキャンＦ／Ｆの遷移回数を最小限に抑えることができる。
【００４２】
（実施の形態２）
続いて、図６を用いて本発明の実施の形態２にかかるスキャンチェーン回路の構築例について説明する。本発明の実施の形態１の図４及び図５においては、それぞれのスキャンＦ／Ｆが論理値１をキャプチャする確率に基づいて、スキャンチェーン回路を構築する例について説明した。本発明の実施の形態２の図６においては、２つのスキャンＦ／Ｆ間の相関に基づいて、スキャンチェーン回路を構築する。
【００４３】
スキャンＦ／Ｆ間の相関とは、２つのスキャンＦ／Ｆが同じ値をキャプチャする確率である。たとえば、図６のスキャンチェーン回路においては、スキャンＦ／Ｆ４とスキャンＦ／Ｆ１とが共に論理値１をとる確率（１を１００％とする）は、０．８７であり、スキャンＦ／Ｆ１とスキャンＦ／Ｆ２とが共に論理値１をとる確率は、０．６３である。
【００４４】
本発明の実施の形態２のスキャンチェーンは、スキャンイン端子からスキャンアウト端子に対して、各スキャンＦ／Ｆ間の相関が高い方から順に降順に接続されている。つまり、スキャンイン端子に一番近い場所には、相関が０．８７となるスキャンＦ／Ｆ４とスキャンＦ／Ｆ１とが接続されている。また、スキャンアウト端子に一番近い場所には、相関が０．２７と一番低いスキャンＦ／Ｆ５とスキャンＦ／Ｆ３とが接続されている。
【００４５】
続いて、図７を用いて本発明の実施の形態２にかかるスキャンチェーンを構築する処理の流れについて説明する。はじめに、演算部６３は、ネットリストＤ１及びセルライブラリＤ２における回路情報等を用いて、スキャンＦ／Ｆ間の相関を算出する（Ｓ２１）。例えば、演算部６３は、ネットリストＤ１から回路内のスキャンＦ／Ｆ及び組み合わせ回路の接続構成例を抽出し、セルライブラリＤ２からスキャンＦ／Ｆに設定するスキャンパタン（テストパタン）等を抽出する。演算部６３は、抽出したデータを用いて、想定し得る接続構成にスキャンパタンを適用し、テストを実行した場合に、スキャンＦ／Ｆのペアそれぞれが論理値１をキャプチャする確率を算出するためのシミュレーションを行う。これにより、演算部６３は、全てのスキャンＦ／Ｆ間の相関を算出する。ここで、演算部６３は、スキャンＦ／Ｆのペアがそれぞれ論理値０をキャプチャする確率を算出してもよい。
【００４６】
ステップＳ２２〜ステップＳ２５の処理は、図３におけるステップＳ１２〜ステップＳ１５と同様であるため、詳細な説明を省略する。
【００４７】
以上説明したように、本発明の実施の形態２にかかるスキャンチェーン回路を用いることにより、スキャンチェーンの後方（スキャンアウト端子に近い順番）には相関の低いスキャンＦ／Ｆが接続されている。これらのスキャンＦ／Ｆは、スキャンシフト中にキャプチャする値が遷移する確率が高いが、スキャンＦ／Ｆがスキャンチェーンの後方に配置されているため、スキャンシフトにより遷移が伝搬するスキャンＦ／Ｆの数が少ない。従って、相関が低いスキャンＦ／Ｆがスキャンチェーンの前方（スキャンイン端子に近い順番）に接続している場合に比べてキャプチャする値の遷移が伝搬するスキャンＦ／Ｆの数を削減し、消費電力を削減することができる。
【００４８】
また、本発明の実施の形態２にかかるスキャンチェーン回路を用いることにより、スキャンチェーンの前方には相関の高いスキャンＦ／Ｆが接続されている。これらのスキャンＦ／Ｆはスキャンシフト中にキャプチャする値が遷移する確率が低い。このスキャンＦ／Ｆが、スキャンチェーンの前方に配置されているため、スキャンシフト動作が進むにつれ遷移するスキャンＦ／Ｆの数が少なくなる。従って、相関が低いスキャンＦ／Ｆをスキャンチェーンの前方に接続している場合に比べて遷移するスキャンＦ／Ｆの数が少なくなり消費電力を削減することができる。
【００４９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００５０】
１〜１２  スキャンＦ／Ｆ
２１〜２６  Ｆ／Ｆ
３０〜３２  組み合わせ回路
４０  スキャンイン端子
５０  スキャンアウト端子
６０  試験装置
６１  ネットリスト
６２  セルライブラリ
６３  演算部
６４  スキャンチェーン生成部
６５  実行部
【図１】
2012159371.tif 000003
【図２】
2012159371.tif 000004
【図３】
2012159371.tif 000005
【図４】
2012159371.tif 000006
【図５】
2012159371.tif 000007
【図６】
2012159371.tif 000008
【図７】
2012159371.tif 000009