(57)【要約】【課題】  スキャンチェーンの数が増えるに伴い、適切にスキャンチェーン配線の短縮を行うことが困難となっていた。【解決手段】  回路配置装置は、スキャンチェーンを有する半導体集積回路の回路配置装置であって、半導体集積回路の回路配置を、半導体集積回路が有する配線に設定されている重み付け係数を考慮して行い、レイアウトデータを出力する回路配置部と、回路配置部が出力したレイアウトデータからスキャンチェーン配線の配線長を算出する配線長算出部と、配線長算出部の計算したスキャンチェーン配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる配線重み付加部とを有する。【選択図】  図１
2006323638.tif 000002
【特許請求の範囲】
【請求項１】
スキャンチェーンを有する半導体集積回路の回路配置装置であって、
半導体集積回路の回路配置を、当該半導体集積回路が有する配線に設定されている重み付け係数を考慮して行い、レイアウトデータを出力する回路配置部と、
前記回路配置部が出力したレイアウトデータからスキャンチェーンの配線長を算出する配線長算出部と、
前記配線長算出部の計算したスキャンチェーン配線長に基づいて、スキャンチェーン配線の前記重み付け係数を増加させる配線重み付加部とを有する回路配置装置。
【請求項２】
前記回路配置装置は、さらに、前記配線長算出部の計算したスキャンチェーン配線長と、予め設定されたスキャンチェーン配線上限値とを比較するスキャンチェーン配線判定部を有し、前記配線重み付加部は、該スキャンチェーン判定部の比較結果に基づいて前記スキャンチェーン配線の重み付け係数を増加させることを特徴とする請求項１に記載の回路配置装置。
【請求項３】
前記スキャンチェーン配線の重み付け係数は、当該半導体集積回路の信号配線の重み付け係数よりも低く設定されていることを特徴とする請求項１あるいは２に記載の回路配置装置。
【請求項４】
スキャンチェーンを有する半導体集積回路の回路配置方法であって、
ユーザ回路の接続情報に基づいて、半導体集積回路の回路配置を行い、
前記回路配置に基づいたレイアウトデータから、スキャンチェーン配線の配線長を算出し、
算出されたスキャンチェーン配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる回路配置方法。
【請求項５】
前記回路配置方法は、さらに、前記増加させたスキャンチェーン配線の重み付け係数およびユーザ回路の接続情報に基づいて、再度回路配置を行うことを特徴とする請求項４に記載の回路配置方法。
【請求項６】
前記回路配置方法は、さらに、前記算出したスキャンチェーン配線長と、予め設定されたスキャンチェーン配線上限値とを比較し、比較結果に基づいて前記スキャンチェーン配線の重み付け係数を増加させることを特徴とする請求項４あるいは５に記載の回路配置方法。
【請求項７】
前記スキャンチェーン配線の重み付け係数は、当該半導体集積回路の信号配線の重み付け係数よりも低く設定されることを特徴とする請求項４乃至６のいずれか１項に記載の回路配置方法。
【請求項８】
コンピュータに、スキャンチェーンを有する半導体集積回路の回路配置を実行させる回路配置プログラムであって、
回路接続情報を読み込み、当該回路接続情報が有する配線に設定された重み付け係数を考慮して回路配置を行い、レイアウトデータを作成する第１のステップと、
前記レイアウトデータから、スキャンチェーンの配線長を算出する第２のステップと、
算出された前記スキャンチェーンの配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる第３のステップと、をコンピュータに実行させる回路配置プログラム。
【請求項９】
前記回路配置プログラムは、さらに、前記増加させたスキャンチェーン配線の重み付け係数およびユーザ回路の接続情報に基づいて、再度回路配置を行うステップをコンピュータに実行させることを特徴とする請求項８に記載の回路配置プログラム。
【請求項１０】
前記スキャンチェーンの重み付け計数を増加させる第３のステップは、前記算出したスキャンチェーン配線長と、予め設定されたスキャンチェーン配線上限値とを比較するステップと、当該比較結果に基づいて前記スキャンチェーン配線の重み付け係数を増加させるステップをコンピュータに実行させることを特徴とする請求項８あるいは９に記載の回路配置プログラム。
【請求項１１】
前記スキャンチェーン配線の重み付け係数は、当該半導体集積回路の信号配線の重み付け係数よりも低く設定されることを特徴とする請求項８乃至１０のいずれか１項に記載の回路配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回路配置装置、回路配置方法およびそれを実行するプログラムに関し、特にスキャンチェーンを有した集積回路に関する。
【背景技術】
【０００２】
近年、半導体装置の高速化、高集積化が進み、半導体装置のテストを容易にするためにスキャン方式のテスト回路が搭載されることが多くなってきている。従来の回路では、回路配置を決定するときに、スキャンチェーンの配線を考慮せずにユーザ回路のブロックでの配線が短くなるように配置が考慮されている。スキャンチェーンの配線に関しては回路配置決定後にスキャンチェーンを接続しなおすリチェインなどで短くすることが一般的である。
【０００３】
また、回路配置時にスキャンチェーンの配線を考慮する例としては、特許文献１に示されているようなものがある。特許文献１に記載の技術はユーザ回路の配線性を考慮してスキャンゲートを分散させていくものでスキャンチェーンの配線を短くするような考慮は行われていない。
【０００４】
しかしながら、近年ではテスト時間の短縮のために1つの半導体装置に対して設定されるスキャンチェーンは増加する方向にあり、数百本、数千本というスキャンチェーンが用意される場合がある。このような半導体装置では、回路配置決定後にスキャンチェーンのリチェインを行う工数が著しく増加してしまう。
【０００５】
そのため、スキャンチェーンの配線を短く出来るような回路配置方法が望まれていた。
【特許文献１】特開平３−１３５０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
スキャンチェーンの数の増加に伴い、スキャンチェーンの配線を短く形成することが困難となっていた。
【課題を解決するための手段】
【０００７】
本発明の１態様による回路配置装置は、スキャンチェーンを有する半導体集積回路の回路配置装置であって、半導体集積回路の回路配置を行い、レイアウトデータを出力する回路配置部と、前記回路配置部が出力したレイアウトデータからスキャンチェーン配線の配線長を算出する配線長算出部と、前記配線長算出部の計算したスキャンチェーン配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる配線重み付加部とを有する。
【０００８】
本発明の１態様による回路配置方法は、スキャンチェーンを有する半導体集積回路の回路配置方法であって、ユーザ回路の接続情報に基づいて、半導体集積回路の回路配置を行い、前記回路配置に基づいたレイアウトデータから、スキャンチェーン配線の配線長を算出し、算出されたスキャンチェーン配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる。
【０００９】
また、本発明の１態様による回路配置プログラムは、コンピュータに、スキャンチェーンを有する半導体集積回路の回路配置を実行させる回路配置プログラムであって、ユーザ回路の接続情報に基づいて、半導体集積回路の回路配置を行い、前記回路配置に基づいたレイアウトデータから、スキャンチェーン配線の配線長を算出し、算出されたスキャンチェーン配線長に基づいて、スキャンチェーン配線の回路配置時の重み付け係数を増加させる。
【発明の効果】
【００１０】
回路配置時に、スキャンチェーン配線を考慮することにより、信号配線を考慮しつつスキャンチェーン配線を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に、図面を用いて本発明の実施の形態について説明する。図１は、本発明の実施の形態１に関わる回路配置装置を示すブロック図である。本実施の形態の回路配置装置は、入力部１１、レイアウト処理部１２、出力部１３を有するコンピュータなどで構成されている。図１に示す入力部１１は、例えばキーボード、記録媒体、あるいは他の処理装置などからデータが与えられる部分であり、出力部は、例えばディスプレイ、記録媒体、他の処理装置などにデータを出力する出力部である。また、レイアウト処理部１２は、回路配置部１２１、配線長算出部１２２、スキャンチェーン配線長判定部１２３、配線重み付加部１２４を有している。
【００１２】
入力部１１は、ユーザ回路の接続情報、１つのスキャンチェーンで接続される回路グループ（スキャングループ）などの情報が入力される部分である。この情報は、例えば設計するユーザ回路のネットリストおよびスキャンチェーンのスキャングループなどのネットリストの形式で入力される。
【００１３】
レイアウト処理部１２は、スキャンチェーンを含んだ回路配置、配線を決定し、レイアウトデータを決定する部分である。このレイアウト処理部１２では、例えばコンピュータのソフトウェアなどで、上記した回路配置部１２１、配線長算出部１２２、スキャンチェーン配線長判定部１２３、配線重み付加部１２４などが構成される。
【００１４】
回路配置部１２１は、スキャンチェーンを含んだ回路配置および入力されたユーザ回路の接続情報、スキャングループに基づいて回路配置を行い、レイアウトデータを生成し、出力する。回路配置の際にはスキャンチェーンおよびユーザ回路が有する配線に設定される重み付け計数が考慮される。
【００１５】
配線長算出部１２２は、回路配置部１２１が生成したレイアウトデータから、スキャンチェーンに関するレイアウトデータを抽出し、スキャンチェーンの配線長を算出する。
【００１６】
スキャンチェーン配線長判定部１２３は、レイアウトされたデータのスキャンチェーンの配線長と予め設定された配線長上限値ＳＣＬの比較を行い、その比較結果を出力する。
【００１７】
配線重み付加部１２４は、スキャンチェーン配線長判定部１２３の結果に基づいて、スキャンチェーン配線の重み付けを増加させる。この配線重み付加部１２４は、スキャンチェーン配線長判定部１２３の結果に基づいて、任意のスキャングループに対するスキャンチェーン配線の重みを増加させることが出来るものとする。
【００１８】
出力部１６は、レイアウト処理部１２が最終的に決定した回路配置をレイアウトデータとして出力する。
【００１９】
以下に、図１の回路配置装置を用いた回路配置方法の詳細について説明する。本実施の形態では、半導体装置において１本のスキャンチェーンが通過する回路ブロックは予め設定されているものとする。本実施の形態の回路配置方法では、このように予め通過する回路ブロックが定められたスキャンチェーンを、複数（例えば数百〜数千本）有する半導体装置の回路配置をする方法について説明する。
【００２０】
ステップＳ１において、設計しようとする回路（以下、ユーザ回路と呼ぶ）の情報およびスキャンチェーンの情報を有するネットリストが用意される。このネットリストＮ１にはユーザ回路の接続情報およびスキャングループの接続情報が含まれている。なお、このネットリストＮ１は、上述の入力部１１を介して回路配置装置に入力される。
【００２１】
その後、ステップＳ２において、スキャンチェーンの配線長の上限値ＳＣＬが設定される。また、この段階でスキャンチェーンの配線の自動配置時の重みを示す重み付け係数としてα＝０が設定される。この重み付け係数αは１つのスキャンチェーンに対応するスキャン配線に対して設定される。この配線の上限値ＳＣＬは、ネットリストと共に入力部を介して入力されても良いが、予めチップのサイズや種類に応じて設定され、そのデータを回路配置装置内に記憶していても良い。
【００２２】
ここで重み付け係数αについて説明する。回路配置は配線長を考慮して行うが、この場合に考慮される配線長は、個々の配線の実際の配線長に対して係数掛けをしたものである。この係数が配線の重み付け係数αである。重み付け係数αは、例えば、一般の信号配線の初期値はα＝１、スキャンチェーンの配線の初期値はα＝０といった、０≦α≦１である数値で設定される。
【００２３】
回路配置部１２１は、ユーザ回路の信号配線の重み付けとスキャンチェーン配線の重み付けを考慮して回路配置を行う。ユーザ回路の信号配線の重み付け係数α＝１（初期値）の時、スキャンチェーン配線の重み付け係数α＝０（初期値）の時で説明すると、ユーザ回路で論理的に信号が接続される回路ブロックは、その信号配線の配線長が短くなるように配置されることになる。そしてこの配置の際、スキャンチェーン配線の配線長は考慮されないことになる。このように本実施の形態では、初期レイアウト時にはユーザ回路に対する配線長を考慮してレイアウトが行われる。
【００２４】
ステップＳ４では、自動配置された回路のレイアウトデータから、各スキャンチェーンの配線長が、配線長算出部１２２によって計算される。計算されたスキャンチェーンの配線長は、スキャンチェーン配線長判定部１２３へと出力される。
【００２５】
ステップＳ５では、スキャンチェーン配線長判定部１２３が、予め設定されたスキャンチェーン配線の上限値ＳＣＬと、配線長算出部１２２によって計算されたスキャンチェーンの配線長を比較する。ここで各スキャンチェーンの配線長がステップＳ２で設定したＳＣＬ以下であればスキャンチェーンを含んだ回路配置は終了する。それに対して上述した上限値ＳＣＬを超えてしまうようなスキャンチェーンの配線が存在した場合はステップＳ６へと進む。
【００２６】
ステップＳ６では、スキャンチェーンの配線に対する重み付け係数を変更する。つまり、ネットリストにおいて、スキャンチェーンの配線を、回路配置時に考慮する配線として重みを増す処理が行われる。この実施形態では、スキャンチェーン配線の重みの係数としてα＝α＋０．１として、重みを０．１増加させる処理が行われる。この処理を行った後は、ステップＳ３に戻り再び回路配置が行われる。
【００２７】
ステップＳ３に戻った場合、スキャンチェーンの配線の重みは、例えばα＝０．１のように、初期の回路配置時に比べてスキャンチェーンの配線に対する重みが増した状態となる。そしてスキャンチェーンの配線の重みを増したネットリストに基づいて回路配置部１２１が回路配置を行う。
【００２８】
本実施の形態の回路配置方法は、ステップＳ３からＳ６を繰り返し、全てのスキャンチェーン配線が上限値ＳＣＬを越えなくなった時点で回路配置を終了する。このようにして決定された回路配置は、レイアウトデータとして出力部１３より出力される。
【００２９】
このように、回路配置時のネットリストに対し、スキャンチェーンの情報を付加し、さらに回路配置時に、スキャンチェーン配線が上限値を超えてしまった場合は、そのスキャンチェーンの配線に関して重みを増加させながら回路配置を実行することで、ユーザ回路の配線長や接続を最優先させつつ、スキャンチェーンの配線も所定長以下として配置していくことが可能である。このようにして回路配置を行った場合のイメージ図を図３に示す。図３（ａ）は、スキャンチェーン配線に対しての重み付けを行わない場合のスキャンチェーンと論理的な接続のある回路ブロックを示している。図３（ａ）のように、論理的な接続のみを考慮して回路配置を行った場合、スキャンチェーンでかかわりのある回路ブロックが離れて配置されてしまい、スキャンチェーン配線が不要に長くなってしまう場合がある。それに対し、本実施の形態によれば、上限値ＳＣＬを超えてしまうスキャンチェーンに対して、順次、その配線重みを増加させながら回路配置を行うことで、図３（ｂ）に示したように、信号接続を考慮しつつ、スキャンチェーン配線を短く構成することが可能である。また、回路配置する際にスキャンチェーンの配線長を考慮しているため、スキャンチェーンのリチェインなどにかかる工数を大幅に減少させることが可能である。また、スキャンチェーン配線を短く構成することにより、スキャンチェーン配線に必要な回路面積を減少させることが可能となり、半導体装置の小面積化が可能となる。
【００３０】
なお、以上説明した実施の形態では、入力部１１に対して入力する情報は、ユーザ回路の接続情報、およびスキャンチェーンに関する接続情報を有するネットリストとしたが、ユーザ回路に対するネットリストから、回路配置を行った後に、スキャンチェーンに関する情報（チェーン数、各スキャンチェーンが通過する回路ブロックなど）を入力し、入力されたスキャンチェーン情報に基づいてスキャンチェーン配線長を求めるようにしても良い。また、本発明によれば、回路配置時に、スキャンチェーン配線が長くなってしまうようなスキャンチェーンに対して、回路配置における重み係数を増加させながら配置を行うことでスキャンチェーンの数が増加した場合でも出力部１３が出力するレイアウトデータにおいて、上限値ＳＣＬ以上の配線長を有するスキャンチェーンは存在しない。そのためスキャンテスト時間を短くするために、スキャンチェーン数をより効果的に増加させてスキャンテストを実施することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】図２は、本実施の形態の回路配置装置を示すブロック図である。
【図２】図１は、本実施の形態の回路配置方法を示すフローチャートである。
【図３】図３は、本実施の形態による回路レイアウトを示す模式図である。
【符号の説明】
【００３２】
１１    入力部
１２    レイアウト処理部
１２１    回路配置部
１２２    配線長算出部
１２３    スキャンチェーン配線長判定部
１２４    配線重み付加部
１３    出力部
【図１】
2006323638.tif 000003
【図２】
2006323638.tif 000004
【図３】
2006323638.tif 000005