(57)【要約】【課題】  ＬＳＩテスト時におけるＩＲドロップ起因による回路誤作動の可能性を低減できず、また、パタンの組み合わせとタイミングによらずＩＲドロップを抑制できない。【解決手段】  本発明の情報処理装置は、ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して、所定の単位領域を算出し、前記ＬＳＩの内部領域を、前記算出した前記所定の単位領域に基づいて分割する決定部と、前記分割されたＬＳＩの内部領域内にある複数のフリップフロップを、前記決定部が分割した領域ごとに所定のグループに割り振る作成部と、前記割り振られた所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する構成部と、を含む。【選択図】      図２１
2015075973.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して、所定の単位領域を算出し、前記ＬＳＩの内部領域を、前記算出した前記所定の単位領域に基づいて分割する決定部と、
前記分割されたＬＳＩの内部領域内にある複数のフリップフロップを、前記決定部が分割した領域ごとに所定のグループに割り振る作成部と、
前記割り振られた所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する構成部と、
を含む情報処理装置。
【請求項２】
前記電源構造は、前記電源構造に対して電流を供給する複数の電源パッドを含み、
前記決定部は、前記複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、前記境界線で区切られた領域を前記所定の単位領域とする請求項１に記載の情報処理装置。
【請求項３】
前記作成部は、前記決定部が分割した領域ごとに、前記フリップフロップの数が略同一になるように、前記フリップフロップを前記所定のグループに割り振る請求項１又は２に記載の情報処理装置。
【請求項４】
前記作成部は、前記分割されたＬＳＩの内部領域内にある前記フリップフロップを、前記決定部が分割した領域ごとに複数のクラスタに割り振り、前記クラスタを前記所定のグループに割り振る請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記作成部は、前記決定部が分割した領域のうち少なくとも１つの領域内にある前記クラスタを、同一の前記所定のグループへ割り振らない請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記構成部が出力する前記スキャンパスに関する情報を記憶する記憶部と、
前記構成部は、前記所定のグループごとに前記フリップフロップを接続することに応じて、前記記憶部の前記スキャンパスに関する情報を更新する請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記所定のグループごとに接続したスキャンパスのそれぞれを、異なるタイミングで動作させる制御部をさらに有する請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出し、
前記ＬＳＩの内部領域を前記単位領域に基づいて分割し、
前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力するスキャンパス接続方法。
【請求項９】
前記電源構造は、前記電源構造に対して電流を供給する複数の電源パッドを含み、
前記複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、前記境界線で区切られた領域を前記所定の単位領域とする請求項８に記載のスキャンパス接続方法。
【請求項１０】
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出する処理と、
前記ＬＳＩの内部領域を前記単位領域に基づいて分割する処理と、
前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンパスを構成するための情報処理装置、スキャンパス接続方法及びプログラムに関する。
【背景技術】
【０００２】
一般にＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：ラージ・スケール・インテグレーション）の回路内の多くの素子で遷移が同時に発生すると、多くの電力が消費されるため、一時的に電源電圧が低下する。この電圧降下をＩＲドロップと呼ぶ。ＩＲドロップが発生すると、回路内の素子のスイッチング速度が低下するため、セルの遷移遅延が増加してしまう。その結果、ＩＲドロップ（ＩＲ−Ｄｒｏｐ）は論理回路の遅延を増加させ、誤動作の原因となる。
【０００３】
ＬＳＩテストにおいても、回路全体のスキャンパス（テストのために形成される経路）を１度に動作させてテストを行うことが、テスタの電力制限やテスト環境での電源ノイズにより困難になっている。
【０００４】
特許文献１には、スキャンパスを複数の経路に分割してテストを行いＬＳＩ全体のテスト電力を下げる技術が開示されている。
【０００５】
また、特許文献２には、スキャンパスの付け替えを行い、個々のスキャンパスにおいては一般に配線長を最小にする技術が開示されている。
【０００６】
また、特許文献３、特許文献４には、テスト時の動作率（スキャン対象のフリップフロップの動作回数）を一律に与えた場合におけるＩＲドロップ解析結果をもとに、ＩＲドロップを防止するようフリップフロップ（以下、Ｆ／Ｆと記載する）のグルーピングを決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２３２６９０号公報
【特許文献２】特開２０００−２１５２２３号公報
【特許文献３】特開２００６−６６８２５号公報
【特許文献４】特開２０１０−３８８７４号公報
【特許文献５】特開平１０−３１０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の特許文献２では、局所的な領域内で同一の経路でＦ／Ｆが接続されてしまうことある。そのため、ＬＳＩ全体のテスト電力としては削減されてもスキャンパスの個々の経路において多数のＦ／Ｆが同時動作することにより、局所的なＩＲドロップによる誤動作が起きてしまう可能性があった。
【０００９】
そのようなことを防ぐためにはスキャンパス内Ｆ／Ｆの信号値の同時変化数を制限し、活性化率を低くさせたパタンを用いてテストする方法等があるが、高い故障検出率を得るためにはパタン数が増えてしまい、テスト時間が増大してしまう。
【００１０】
また、上述の特許文献３、特許文献４では、スキャンパスを用いたテストにおいてはどのようなテストパタンをどのタイミングでスキャンパスに印加するかに応じて活性化される回路とその消費電力量は異なるため、動作率の設定だけではテスト期間中におけるＩＲドロップ発生エリアを正確に抽出することは難しい。つまり、パタンの組み合わせとタイミングによらずＩＲドロップを起こしにくい構造のスキャンパスが求められている。
【００１１】
なお、動作率の代わりに本物のテストパタンを使用したＩＲドロップ解析もあるが、テストパタン作成時間やそれを用いた回路シミュレーションの実行時間が非常にかかるため現実的ではない。
【００１２】
そこで、本発明の目的は、上記課題を解決し、ＬＳＩテスト時におけるＩＲドロップ起因による回路誤作動の可能性を低減し、また、パタンの組み合わせとタイミングによらずＩＲドロップを抑制するスキャンパスを構成するための情報処理装置（以下、情報処理装置と記載する）を提供することである。
【課題を解決するための手段】
【００１３】
本発明の情報処理装置は、ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して、所定の単位領域を算出し、前記ＬＳＩの内部領域を、前記算出した前記所定の単位領域に基づいて分割する決定部と、前記分割されたＬＳＩの内部領域内にある複数のフリップフロップを、前記決定部が分割した領域ごとに所定のグループに割り振る作成部と、前記割り振られた所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する構成部と、を含む。
【００１４】
本発明のスキャンパス接続方法は、ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出し、前記ＬＳＩの内部領域を前記単位領域に基づいて分割し、前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する。
【００１５】
本発明のプログラムは、ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出する処理と、前記ＬＳＩの内部領域を前記単位領域に基づいて分割する処理と、前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する処理と、をコンピュータに実行させる。
【発明の効果】
【００１６】
本発明は、ＬＳＩテスト時におけるＩＲドロップ起因による回路誤作動の可能性を低減し、また、パタンの組み合わせとタイミングによらずＩＲドロップを抑制できるという効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態の情報処理装置１０の構成例を示すブロック図である。
【図２】本発明の第１の実施形態の情報処理装置１０の構成を実現するコンピュータの一例を示すブロック図である。
【図３】本発明の第１の実施形態におけるＡＮＤゲートの回路（Ｆ／Ｆ）を示す図である。
【図４】本発明の第１の実施形態における真理値表を示す図である。
【図５】本発明の第１の実施形態における情報処理装置１０のＦ／Ｆに対して逐次的に値を変化させた時の動作の一例を示す図である。
【図６】本発明の第１の実施形態における情報処理装置１０のＦ／Ｆに対して逐次的に値を変化させた時の動作の一例を示す図である。
【図７】本発明の第１の実施形態における情報処理装置１０のＦ／Ｆに対して逐次的に値を変化させた時の動作の一例を示す図である。
【図８】本発明の第１の実施形態における情報処理装置１０のＦ／Ｆに対して逐次的に値を変化させた時の動作の一例を示す図である。
【図９】本発明の第１の実施形態における情報処理装置１０の動作例を示すフローチャートである。
【図１０】本発明の第１の実施形態における第１の電源構造を示す構成図の一例である。
【図１１】本発明の第１の実施形態における第２の電源構造を示す構成図の一例である。
【図１２】本発明の第１の実施形態における第１の電源構造を境界線とともに示す構成図の一例である。
【図１３】本発明の第１の実施形態における第２の電源構造を境界線とともに示す構成図の一例である。
【図１４】本発明の第１の実施形態における第１の電源構造とＬＳＩの内部領域の関係を示す構成図の一例である。
【図１５】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図１６】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図１７】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図１８】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図１９】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図２０】本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。
【図２１】本発明の第２の実施形態の情報処理装置１０００の構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜第１の実施形態＞
まず、前述したテスト時の動作率の設定だけではテスト期間中におけるＩＲドロップ発生エリアを正確に抽出することは難しいということに対して、図を用いて具体例を説明する。
【００１９】
図３は、ＡＮＤゲートの回路（Ｆ／Ｆ）を示す。図３に示すように、ＡＮＤゲートの回路Ａは、入力Ｉ１とＩ２（変数）から出力Ｏを発生する。図４は、ＡＮＤゲートの回路の真理値表を示す。図３に示すように、真理値表は、入力Ｉ１とＩ２の値と、出力Ｏの値とを対応付けた表である。図４に示すように、真理値表は、２つの変数の両方が「１」の場合にのみ、出力Ｏの値（関数値）が「１」になる。
【００２０】
図５、図６は、本回路（情報処理装置１０のＦ／Ｆ）に対して、逐次的に値を変化させた時の動作の一例を示す図である。
【００２１】
図５では、Ｉ１＝０、Ｉ２＝１の初期状態から時刻３までの間に入力Ｉ１，Ｉ２とも３回変化している間に、出力Ｏは全く変化しない。一方、図５ではＩ１＝０、Ｉ２＝１の初期状態から図６と同じく時刻３までの間に入力Ｉ１，Ｉ２とも３回変化しているが、出力Ｏは３回変化している。このように、同一期間中の入力の変化回数（動作率）が同じであっても初期状態と、変化する値に応じて出力値の変化の内容は全く異なる結果となる。
【００２２】
前述の動作例は一部の入力パタンを繰り返した例であるが、全ての入力の組み合わせを用いた別の例を示す。図７ではＩ１＝１、Ｉ２＝０、Ｏ＝０の初期状態から時刻３までの間に入力Ｉ１，Ｉ２が取りえる全ての組み合わせで変化しており、出力Ｏは時刻３で１へと変化する。一方、図８では図７と同様、Ｉ１＝１、Ｉ２＝０、Ｏ＝０の初期状態から始まり図５と同じく全ての入力の組み合わせで変化しているが、各時刻におけるパタンが異なっている。この例において出力Ｏは時刻１で１に変化している。なお、図７と図８の入力の動作率は図５、図６の場合と同様に等しい値となっている。
【００２３】
このように、非常に単純な回路においても、同一期間中の入力の変化回数（動作率）が同じであるにも拘わらず、初期状態及び変化する値に応じて出力値の変化の内容は全く異なっている。このことはＩＲドロップが発生する状況が動作率ではなくパタンの組み合わせとそのパタンが入力されるタイミングに依存することを示している。
【００２４】
次に、図１を用いて、本発明の第１の実施形態における情報処理装置１０について説明する。なお、図１に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明に対するなんらの限定を意図するものではない。
【００２５】
本発明の第１の実施形態における情報処理装置１０は、ＬＳＩの電源構造を解析して、所定の単位領域を算出し、ＬＳＩの内部領域を、算出した前記所定の単位領域に基づいて分割し、分割されたＬＳＩの内部領域内にある複数のフリップフロップを、分割した領域ごとに所定のグループに割り振り、当該所定のグループごとにスキャンパスを接続させるようにする。
【００２６】
図１は、本発明の第１の実施形態における情報処理装置１０の例を示す図である。図１に示すように、本発明の第１の実施形態における情報処理装置１０は、論理接続情報、配置配線情報及び物理ライブラリ情報を含む回路情報を入力するための情報入力部１０１と、電源構造解析／スキャン分割領域決定部１０２と、スキャングループ作成部１０３と、スキャンパス構成部１０４と、論理接続情報出力部１０５と、制御部１０６と、メモリ２００と、を備える。メモリ２００は、少なくとも論理接続情報２０１と配置配線情報２０２を格納する。
【００２７】
また、情報入力部１０１と、電源構造解析／スキャン分割領域決定部１０２と、スキャングループ作成部１０３と、スキャンパス構成部１０４と、論理接続情報出力部１０５と、制御部１０６との各部が、バスを介してメモリ２００に接続されている。
【００２８】
情報入力部１０１は、図示しない外部装置又はデータベースから、ＬＳＩの論理接続情報２０１と配置配線情報２０２を入力し、メモリ２００に記憶させる。電源構造解析／スキャン分割領域決定部１０２は、記憶された配置配線情報２０２を参照し、ＬＳＩの電源構造を解析する。さらに電源構造解析／スキャン分割領域決定部１０２は、その解析結果に基づいて、スキャンパスを分割の元となる複数の領域（単位領域）を決定する。
【００２９】
スキャングループ作成部１０３は、決定されたスキャン分割領域内に配置されているフリップフロップ（スキャンフリップフロップ）を複数のグループ（スキャンパスのグループ）に分割（グルーピング）する。スキャンパス構成部１０４は、電源構造解析／スキャン分割領域決定部１０２で作成されたスキャンパスのグループの情報を参照し、各グループ内のＦ／Ｆについてスキャンパスを接続したスキャン接続情報を発生し、そのスキャン接続情報でメモリ２００内の論理接続情報２０１を更新する。
【００３０】
論理接続情報出力部１０５は、更新された論理接続情報２０１を出力する。制御部１０６は、情報入力部１０１と、電源構造解析／スキャン分割領域決定部１０２、スキャングループ作成部１０３、スキャンパス構成部１０４、及び論理接続情報出力部１０５の各部の処理を制御する。
【００３１】
図２を用いて、本発明の第１の実施形態の情報処理装置１０を実現するコンピュータについて説明する。
【００３２】
図２は、本発明の第１の実施形態の複数の情報処理装置１０の代表的なハードウェア構成図である。図２に示すように、情報処理装置１０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１、ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２、記憶装置３、通信インターフェース４、入力装置５、出力装置６などを含む。
【００３３】
電源構造解析／スキャン分割領域決定部１０２と、スキャングループ作成部１０３と、スキャンパス構成部１０４と、制御部１０６とは、プログラムをＲＡＭ２に読み出し、実行するＣＰＵ１によって実現される。情報入力部１０１と、論理接続情報出力部１０５とが情報の送受信を行う動作は、例えばＣＰＵ１のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行することで実現される。メモリ２００とは、例えばハードディスクやフラッシュメモリ、光ディスクなどのディスクメモリのほか、半導体メモリを含む。
【００３４】
通信インターフェース４は、ＣＰＵ１に接続され、ネットワーク或いは外部記憶媒体に接続される。外部データが通信インターフェース４を介してＣＰＵ１に取り込まれても良い。入力装置５は、例えばキーボードやマウス、タッチパネルである。出力装置６は、例えばディスプレイである。なお、図２に示すハードウェア構成は、一例にすぎず、図に示す各部それぞれが独立した論理回路で構成されていても良い。
【００３５】
次に、図９乃至図２０を用いて、本発明の第１の実施形態における情報処理装置１０の動作を説明する。
【００３６】
図９は、本発明の第１の実施形態における情報処理装置１０の動作を示すフローチャートである。図９において、Ｓ１０１乃至Ｓ１０５は、それぞれ動作例の処理のステップを示す。
【００３７】
情報入力部１０１は、入力されたＬＳＩの論理接続情報（論理接続情報２０１）と、配置配線情報（配置配線情報２０２）と、物理ライブラリ情報とをメモリ２００に記憶させる（Ｓ１０１）。論理接続情報２０１（ＬＳＩの論理接続情報）は、例えば、ＬＳＩ内で接続されたフリップフロップの経路であるスキャンパスに関する情報である。物理ライブラリ情報は、例えば、ＬＳＩの大きさ、各論理素子の種類別のサイズや端子の位置、配線の幅などの情報を含む。
【００３８】
また、配置配線情報２０２（配置配線情報）は、例えば、ＬＳＩが有する電源配線構造（以下、電源構造と記載する）の情報、Ｆ／Ｆ以外のスタンダードセルの配置情報、クロック配線情報、その他信号配線情報などを含む。ここで、情報処理装置１０は、スキャンパスの接続変更を行う場合、例えば、ＬＳＩの論理接続情報、配置配線情報及び物理ライブラリ情報が必要となる。
【００３９】
電源構造解析／スキャン分割領域決定部１０２は、情報入力部１０１に入力された配置配線情報２０２を参照し、ＬＳＩの電源構造を解析してスキャンパスを分割の元となる複数の領域（境界）を決定する（Ｓ１０２）。
【００４０】
情報入力部１０１により入力された配置配線情報２０２のうち、ＬＳＩの電源配線構造を図１０乃至図１３に示す。
【００４１】
図１０乃至図１３は、それぞれ本発明の第１の実施形態における第１及び第２の電源構造を示す構成図の一例である。図１５乃至図２０は、それぞれ本発明の第１の実施形態におけるＬＳＩの内部領域を示す構成図の一例である。なお、図１５乃至図２０は、ＬＳＩの内部領域（電源構造全体）を上部から見た図であり、図１２及び図１３における破線は、図１５乃至図２０の点線に対応する。すなわち、図１２及び図１３の破線と図１５乃至図２０で示した点線は、ＬＳＩ内部の同じ領域の境界を示すものである。
【００４２】
図１０は、一般的に用いられるフリップチップ方式で実装されるスタンダードセル方式のＬＳＩにて用いられる電源構造の一例（第１の電源構造）である。図１０に示す電源構造は、最上位に位置する複数の電源（Ｖｄｄ）パッドがメタル（Ｍｅｔａｌ）第３層に接続し、さらにＶｉａを経由して第２層、第１層へと幅と密度を変えながらメッシュ状に規則的に配線されている。図１０に示す電源構造において、グラウンド（Ｇｎｄ）配線についても同様であり、ＶｄｄとＧｎｄは交互に配線されている。論理回路素子であるスタンダードセルの電源端子とは第１層で接続される。
【００４３】
図１１は、もう１つの例として、スタンダードセル方式ではあるがフリップチップ方式ではなく、チップの外周にＶｄｄ／Ｇｎｄのパッドが配置されている場合の電源構造（第２の電源構造）である。
【００４４】
ここで、境界やグループ領域の設定方法については、特に限定されるものではないが、図１０及び図１１等の電源構造においては、図１２、図１３に示すように、供給源であるＶｄｄパッドからの距離が等しくなるような位置に境界線（破線）を設定し、境界線で区切られた領域を、基本単位（単位領域）とすることが望ましい。図１２及び図１３は、図１０及び図１１に対して境界を設定した具体例を示す。電源構造解析／スキャン分割領域決定部１０２は、例えば、複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、当該境界線で区切られた領域を所定の単位領域（スキャン分割領域）とする。
【００４５】
これは、境界の内部を流れる電流を少なくすることで、各領域内部におけるＩＲドロップを削減（回避）できるからである。まず、多くの素子が同時に動作して電力が消費されることがＩＲドロップの要因である。次に、電力の消費は素子内を流れる電流により発生し、素子に流れる電流は、全て電源パッドから流入し、Ｇｎｄパッドへ流出する。
【００４６】
本例では、領域内には電源パッド（図１２では領域の中心）、Ｇｎｄパッド（図１２では境界線上）が少なくとも１つは必ず存在しており、領域内に配置された素子から見て一番近い電源パッド、Ｇｎｄパッドは必ずその境界内に存在する。本例の電源はメッシュ構造で接続されているため、上下左右に隣接する領域の電源、Ｇｎｄパッドからも電流の流入や流出は多少存在するが、領域内に配置された素子が他の領域の電源によって一切動くことがなければ、その領域内でその電源による電流はほとんど流れないと見做すことができる。
尚、図１２及び図１３に示す境界線で区切られた領域は、例えば、許容できるＩＲドロップ量やスタンダードセルの平均配置密度などを考慮して、当該領域をさらに細かく分割しても良い。
【００４７】
図１４は、ＬＳＩの内部領域と第１の電源構造を上部から見た図の一例である。図１４に示すように、例えば、図１２に示す第１の電源構造がＬＳＩの内部領域全体に存在した場合に、図１２に示す境界線が、ＬＳＩの内部領域を１２分割（１２個の区切り）している。図１４に示す電源構造は、図１２におけるＭｅｔａｌ第３層、Ｍｅｔａｌ第２層及びＰａｄに対応し、メタル第１層とＶｉａの記載については省略しております。
【００４８】
次に、スキャングループ作成部１０３は、決定されたスキャン分割領域内に配置されているスキャンフリップフロップを複数（所定）のグループに分割（割り振り）する（Ｓ１０３）。
【００４９】
具体的な説明に先立ち、本発明の第１の実施形態の効果を図で比較できるよう、スキャンパスが変更される前の状態を図１５に示す。図１５は、電源構造解析／スキャン分割領域決定部１０２によりスキャン分割領域が定義された直後のＬＳＩ内部領域を示している。
【００５０】
図１５に示すように、１２分割されたＬＳＩの内部領域にＦ／Ｆ（図１５乃至図２０の矩形白抜き部分）が配置され、２本（経路１、経路２）のスキャンパスがＦ／Ｆ同士を接続している。ここで、本発明の第１の実施形態の情報処理装置１０は、例えば、局所的なＩＲドロップを避けるために、領域内に複数のスキャンパスを通すことで経路を分散した上で、各経路のスキャンパスを別々のタイミングで動作させても良い。これは、図１５に示すように、例えば、領域６、９、１１は他の領域と比較し、１つの経路につながるＦ／Ｆが多数配置されており、これらを分散させるためである。尚、図１５は、スキャンパスの接続関係を簡易的に模したものであり、Ｆ／Ｆの端子や配線、Ｆ／Ｆ以外のセルなどその他の構成要素が省略して記載されている。
【００５１】
情報処理装置１０におけるスキャングループ作成部１０３は、Ｆ／Ｆをグループへ割り振る方法として、例えば、１つの領域内に存在するスキャンパス接続対象のＦ／Ｆを、各クラスタ内のＦ／Ｆの数がほぼ等しく（略同一に）なるように複数のクラスタに分ける。つまり、スキャングループ作成部１０３は、電源構造解析／スキャン分割領域決定部１０２が１２分割した領域ごとに、Ｆ／Ｆの数が略同一になるように、当該Ｆ／Ｆをクラスタ（所定のグループ）に割り振る。
【００５２】
ここで、１つの領域内のクラスタの全数は、Ｆ／Ｆの全数より少ない値であれば特に制約はされないが、例えば、４〜６程度の値が望ましい。それは、効果的にＩＲドロップを削減するためである。
【００５３】
図１６乃至図２０に示すように、本例では、例えば、１つの領域内のクラスタ数＝２として説明する。図１６に示すように、本例では、Ｆ／Ｆをクラスタに割り振る（分割する）方法として、分割された領域内の上下方向同士でＦ／Ｆを括って（割り振って）いる。図１６に示すように、内部領域での番号９の領域（以下、第９領域と記載する）には、Ａ乃至ＤのＦ／Ｆが存在する。スキャングループ作成部１０３は、例えば、第９領域内での２つのクラスタに、それぞれＡとＣのＦ／Ｆと、ＢとＤのＦ／Ｆを割り振る。
【００５４】
また、クラスタにＦ／Ｆを割り振る方法としては、分割された領域内の左右方向で近いもの同士を括っても良いし、左下から見て近いものから順に位置するＦ／Ｆについて番号を付けて割り振っても良い。クラスタに割り振る方法に関しては、特に制約されない。
【００５５】
次に、スキャングループ作成部１０３は、それらクラスタをＬＳＩ領域全体に対して複数のグループに編成する（割り振る）。各領域内のクラスタ数とスキャンパス経路数は同じであるので、グループ数と１つの領域内のクラスタ数を同じにする場合は、各領域内の２つのクラスタに対し番号１、２を付与し、さらに同じ番号のクラスタを同一のグループに分類する。図１７に示すように、スキャングループ作成部１０３は、例えば、第９領域内でＡとＣのＦ／Ｆを有するクラスタをグループ１に、ＢとＤのＦ／Ｆのクラスタを有するグループ２にそれぞれ編成する。
【００５６】
尚、スキャングループ作成部１０３は、グループ数が１つの領域内（例えば、第９領域内）のクラスタ数より多い場合は、同一領域内で同じグループのクラスタが存在しないように編成する。クラスタをグループに編成する方法に関しては、同一領域内で同じグループのクラスタが存在しない限り、特に制約されない。
【００５７】
図１８は、グループ数が３の場合の例を示す。図１８に示すように、スキャングループ作成部１０３は、例えば、第１領域乃至第４領域に存在する全クラスタを、第１領域の左下に存在するクラスタから第４領域の方向へ（右側へ）順にグループ１、グループ２及びグループ３と編成しても良い。図１８に示すように、スキャングループ作成部１０３は、第５領域乃至第８領域及び第９領域乃至第１２領域に存在する全クラスタに対しても、第１領域乃至第４領域へのグループ編成と同様の方法でグループ編成する。また、スキャングループ作成部１０３は、例えば、第９領域、第５領域及び第１領域に存在する全クラスタを第９領域の左上から下方向へ順にグループを変えながらグループを編成しても良い。
【００５８】
次に、スキャンパス構成部１０４は、スキャングループ作成部１０３によって作成されたスキャンパスのグループ情報を参照し、同じグループ内のＦ／Ｆについてスキャンパスを接続した経路に関するスキャン接続情報を生成し、そのスキャン接続情報で論理接続情報２０１を更新する。図１９に示すように、スキャンパス構成部１０４は、経路１についてはグループ１内のＦ／Ｆを、経路２についてグループ２内のＦ／Ｆを用いてスキャンパスを接続する。図１９及び図２０に示すように、スキャンパスとは、例えば、始点から終点までＦ／Ｆを接続するパス（経路）である。図１９及び図２０に示すように、例えば、スキャンパスの始点、終点は、外部パッドに接続され、外部パッドを経由してＬＳＩをテストするためのテスタなどに接続される。外部パッドは、例えば、電源パッド、Ｇｎｄパッドを含む。
【００５９】
図１９が示すように、スキャンパス構成部１０４は、例えば、第９領域のＡとＣのＦ／Ｆ（グループ１）を経路１として、スキャンパスを接続している。図２０に示すように、スキャンパス構成部１０４は、例えば、第９領域のＢとＤのＦ／Ｆ（グループ２）を経路２として、スキャンパスを接続している。スキャンパス構成部１０４は、図１９及び図２０に示すスキャン接続情報で（論理接続情報２０１）を更新する。つまり、スキャンパス構成部１０４は、接続したフリップフロップの経路であるスキャンパスに関する情報を記憶するメモリ２００（記憶部）に対して、所定のグループごとにＦ／Ｆを接続することに応じて、メモリ２００のスキャンパスに関する情報を更新する。
【００６０】
スキャンパス構成部１０４は、例えば、メモリ２００にある論理接続情報２０１を新たな論理接続情報２０１（図１９及び図２０に示すスキャン接続情報）に更新する。また、情報処理装置１０は、例えば、市販のＣＡＤツールを用いてスキャンパスを接続することができる。
【００６１】
次に、論理接続情報出力部１０５は、スキャンパス構成部１０４により更新された論理接続情報２０１を出力する。論理接続情報出力部１０５は、例えば、更新したスキャンパス接続情報（論理接続情報２０１）を出力するまた、上記一連の処理（Ｓ１０１乃至Ｓ１０５）は、制御部１０６により制御される。また、制御部１０６は、例えば、所定のグループごとに接続したスキャンパスのそれぞれを、異なるタイミングで動作させても良い。
【００６２】
以上で、本発明の第１の実施形態における情報処理装置１０の動作が終了する。
【００６３】
本発明の第１の実施形態における情報処理装置１０において、情報入力部１０１には情報を入力される。電源構造解析／スキャン分割領域決定部１０２は、ＬＳＩの電源構造を解析し、スキャンパスを分割の元となる複数の領域を決定する。スキャングループ作成部１０３は、スキャン分割領域内に配置されているスキャンフリップフロップを複数のグループに分割する。スキャンパス構成部１０４は、グループ内のＦ／Ｆについてスキャンパスを接続し、論理接続情報２０１を更新する。論理接続情報出力部１０５は、更新された論理接続情報２０１を出力する。そのため、情報処理装置１０は、ＬＳＩテスト時におけるＩＲドロップ起因による回路誤作動の可能性を低減し、また、パタンの組み合わせとタイミングによらずＩＲドロップを抑制できる。
【００６４】
また、本発明の第１の実施形態における情報処理装置１０は、図１９及び図２０に示すように、例えば、お互いのスキャンパス経路が互いに交錯する形で接続する。これにより、デカップリングキャパシタを本発明の第１の実施形態における情報処理装置１０が有するスタンダードセルの空き領域に配置すると、別々のスキャンパス経路の近傍に配置される同じデカップリングキャパシタからの充放電機能を利用することができ、ＬＳＩテスト時におけるＩＲドロップを抑止する効果が相対的に高くなる。ここで、デカップリングキャパシタは、例えば、キャパシタが持つ充放電機能を利用し、ＬＳＩの電源端子を結ぶ電源配線に発生する電圧変動を吸収するために、電源ラインに配置するキャパシタを示す。
【００６５】
＜第２の実施形態＞
本発明を実施するための第２の形態における情報処理装置１０００の構成について、図面を参照して説明する。なお、本発明の第２の実施形態において、本発明の第１の実施形態と同様の構成については、説明を省略する。
【００６６】
図２１は、本発明の第２の実施形態における、情報処理装置１０００の構成例を示す図である。図２１に示すように、情報処理装置１０００は、ＬＳＩの電源構造をＬＳＩの回路情報に基づいて解析して、所定の単位領域を算出し、ＬＳＩの内部領域を、算出した所定の単位領域に基づいて分割する決定部１０２０と、分割されたＬＳＩの内部領域内にある複数のフリップフロップを、決定部１０２０が分割した領域ごとに所定のグループに割り振る作成部１０３０と、割り振られた所定のグループごとにフリップフロップの接続経路を含むスキャンパスに関する情報を出力する構成部１０４０とを含む。
【００６７】
なお、第２の実施形態における決定部１０２０と、作成部１０３０と、構成部１０４０とは、それぞれ、上記の実施形態における電源構造解析／スキャン分割領域決定部１０２と、スキャングループ作成部１０３と、スキャンパス構成部１０４とに対応する。
【００６８】
上記構成を有する情報処理装置１０００は、ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出し、前記ＬＳＩの内部領域を前記単位領域に基づいて分割し、前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する。そのため、情報処理装置１０００は、ＬＳＩテスト時におけるＩＲドロップ起因による回路誤作動の可能性を低減し、また、パタンの組み合わせとタイミングによらずＩＲドロップを抑制できる。
【００６９】
＜第３の実施形態＞
本発明の第３の実施形態について説明する。第３の実施形態において、情報処理装置１０のコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）又はＭＰＵ（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等は、上述した各実施形態の機能を実現するソフトウェア（プログラム）を実行する。
【００７０】
本発明の第３の実施形態において、情報処理装置１０は、例えばＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）等の各種記憶媒体又はネットワーク３０を介して、上述した各実施形態の機能を実現するソフトウェア（プログラム）を取得する。情報処理装置１０が取得するプログラム、又は、該プログラムを記憶した記憶媒体は、本発明を構成することになる。なお、該ソフトウェア（プログラム）は、例えば、情報処理装置１０に含まれる所定の記憶部に、予め記憶されていても良い。
【００７１】
情報処理装置１０のコンピュータ、ＣＰＵ又はＭＰＵ等は、取得したソフトウェア（プログラム）のプログラムコードを読み出して実行する。したがって、当該情報処理装置１０は、上述した各実施形態における情報処理装置１０の処理と同一の処理を実行する。
【００７２】
本発明の第３の実施形態によれば、情報処理装置１０のコンピュータ、ＣＰＵ又はＭＰＵ等に実現するためのプログラムといった用途に適用できる。
【００７３】
以上、実施形態を用いて本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７５】
［付記１］
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して、所定の単位領域を算出し、前記ＬＳＩの内部領域を、前記算出した前記所定の単位領域に基づいて分割する決定部と、
前記分割されたＬＳＩの内部領域内にある複数のフリップフロップを、前記決定部が分割した領域ごとに所定のグループに割り振る作成部と、
前記割り振られた所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する構成部と、
を含む情報処理装置。
【００７６】
［付記２］
前記電源構造は、前記電源構造に対して電流を供給する複数の電源パッドを含み、
前記決定部は、前記複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、前記境界線で区切られた領域を前記所定の単位領域とする付記１に記載の情報処理装置。
【００７７】
［付記３］
前記作成部は、前記決定部が分割した領域ごとに、前記フリップフロップの数が略同一になるように、前記フリップフロップを前記所定のグループに割り振る付記１又は２に記載の情報処理装置。
【００７８】
［付記４］
前記作成部は、前記分割されたＬＳＩの内部領域内にある前記フリップフロップを、前記決定部が分割した領域ごとに複数のクラスタに割り振り、前記クラスタを前記所定のグループに割り振る付記１乃至３のいずれか１項に記載の情報処理装置。
【００７９】
［付記５］
前記作成部は、前記決定部が分割した領域のうち少なくとも１つの領域内にある前記クラスタを、同一の前記所定のグループへ割り振らない付記１乃至４のいずれか１項に記載の情報処理装置。
【００８０】
［付記６］
前記構成部が出力する前記スキャンパスに関する情報を記憶する記憶部と、
前記構成部は、前記所定のグループごとに前記フリップフロップを接続することに応じて、前記記憶部の前記スキャンパスに関する情報を更新する付記１乃至５のいずれか１項に記載の情報処理装置。
【００８１】
［付記７］
前記所定のグループごとに接続したスキャンパスのそれぞれを、異なるタイミングで動作させる制御部をさらに有する付記１乃至６のいずれか１項に記載の情報処理装置。
【００８２】
［付記８］
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出し、
前記ＬＳＩの内部領域を前記単位領域に基づいて分割し、
前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力するスキャンパス接続方法。
【００８３】
［付記９］
前記電源構造は、前記電源構造に対して電流を供給する複数の電源パッドを含み、
前記複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、前記境界線で区切られた領域を前記所定の単位領域とする付記８に記載のスキャンパス接続方法。
【００８４】
［付記１０］
前記分割した領域ごとに、前記フリップフロップの数が略同一になるように、前記フリップフロップを前記所定のグループに割り振る付記８又は９に記載のスキャンパス接続方法。
【００８５】
［付記１１］
前記分割されたＬＳＩの内部領域内にある前記フリップフロップを、前記分割した領域ごとに複数のクラスタに割り振り、前記クラスタを前記所定のグループに割り振る付記８乃至１０のいずれか１項に記載のスキャンパス接続方法。
【００８６】
［付記１２］
前記分割した領域のうち少なくとも１つの領域内にある前記クラスタを、同一の前記所定のグループへ割り振らない付記８乃至１１のいずれか１項に記載のスキャンパス接続方法。
【００８７】
［付記１３］
前記スキャンパスに関する情報を記憶し、
前記所定のグループごとに前記フリップフロップを接続することに応じて、前記記憶した前記スキャンパスに関する情報を更新する付記８乃至１２のいずれか１項に記載のスキャンパス接続方法。
【００８８】
［付記１４］
前記所定のグループごとに接続したスキャンパスのそれぞれを、異なるタイミングで動作させる付記８乃至１３のいずれか１項に記載のスキャンパス接続方法。
【００８９】
［付記１５］
ＬＳＩの電源構造を前記ＬＳＩの回路情報に基づいて解析して所定の単位領域を算出する処理と、
前記ＬＳＩの内部領域を前記単位領域に基づいて分割する処理と、
前記ＬＳＩの内部領域内にある複数のフリップフロップを前記所定のグループに割り振り、前記所定のグループごとに前記フリップフロップの接続経路を含むスキャンパスに関する情報を出力する処理と、
をコンピュータに実行させるプログラム。
【００９０】
［付記１６］
前記電源構造は、前記電源構造に対して電流を供給する複数の電源パッドを含み、
前記複数の電源パッドからの距離が等しくなるような位置に境界線を設定し、前記境界線で区切られた領域を前記所定の単位領域とする処理を含む付記１５に記載のプログラム。
【００９１】
［付記１７］
前記分割した領域ごとに、前記フリップフロップの数が略同一になるように、前記フリップフロップを前記所定のグループに割り振る処理を含む付記１５又は１６に記載のプログラム。
【００９２】
［付記１８］
前記分割されたＬＳＩの内部領域内にある前記フリップフロップを、前記分割した領域ごとに複数のクラスタに割り振り、前記クラスタを前記所定のグループに割り振る処理を含む付記１５乃至１７のいずれか１項に記載のプログラム。
【００９３】
［付記１９］
前記分割した領域のうち少なくとも１つの領域内にある前記クラスタを、同一の前記所定のグループへ割り振らない処理を含む付記１５乃至１８のいずれか１項に記載のプログラム。
【００９４】
［付記２０］
前記スキャンパスに関する情報を記憶する処理と、
前記所定のグループごとに前記フリップフロップを接続することに応じて、前記記憶した前記スキャンパスに関する情報を更新する処理を含む付記１５乃至１９のいずれか１項に記載のプログラム。
【００９５】
［付記２１］
前記所定のグループごとに接続したスキャンパスのそれぞれを、異なるタイミングで動作させる処理を含む付記１５乃至２０のいずれか１項に記載のプログラム。
【符号の説明】
【００９６】
１    ＣＰＵ
２    ＲＡＭ
３    記憶装置
４    通信インターフェース
５    入力装置
６    出力装置
１０    情報処理装置
１０１    情報入力部
１０２    電源構造解析／スキャン分割領域決定部
１０３    スキャングループ作成部
１０４    スキャンパス構成部
１０５    論理接続情報出力部
１０６    制御部
２００    メモリ
２０１    論理接続情報
２０２    配置配線情報
１０００    情報処理装置
１０２０    決定部
１０３０    作成部
１０４０    構成部
【図１】
2015075973.tif 000003
【図２】
2015075973.tif 000004
【図３】
2015075973.tif 000005
【図４】
2015075973.tif 000006
【図５】
2015075973.tif 000007
【図６】
2015075973.tif 000008
【図７】
2015075973.tif 000009
【図８】
2015075973.tif 000010
【図９】
2015075973.tif 000011
【図１０】
2015075973.tif 000012
【図１１】
2015075973.tif 000013
【図１２】
2015075973.tif 000014
【図１３】
2015075973.tif 000015
【図１４】
2015075973.tif 000016
【図１５】
2015075973.tif 000017
【図１６】
2015075973.tif 000018
【図１７】
2015075973.tif 000019
【図１８】
2015075973.tif 000020
【図１９】
2015075973.tif 000021
【図２０】
2015075973.tif 000022
【図２１】
2015075973.tif 000023