(57)【要約】  【課題】  シールドのためにＧＮＤ線を必要としない半導体集積回路等を提供する。  【解決手段】  フリップフロップ１１〜１６は、クロック信号入力端子ＣＬＫ、スキャンテストイネーブル信号入力端子ＳＥ、データ信号入力端子Ｄ、データ信号出力端子Ｑ、スキャンデータ入力端子ＳＩ、及び、スキャンデータ信号出力端子ＳＯをそれぞれ具備する。フリップフロップ１１〜１６は、スキャンチェーンを形成している。スキャンテストイネーブル信号が第２のレベルのとき、スキャンデータ信号がクロック信号に同期してスキャンデータ出力端子ＳＩから出力され、スキャンテストイネーブル信号が第１のレベルのとき、ハイレベル又はローレベルがスキャンデータ出力端子ＳＩから出力される。クロストークが生じ得る一対の信号配線３１、３２の間に、スキャンデータ信号配線３３が配置されている。【選択図】  図５
2006114799.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト機能を有する半導体集積回路であって、
クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときにデータ信号を前記クロック信号に同期して入力するためのデータ信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときに前記データ信号を前記クロック信号に同期して出力するためのデータ信号出力端子、前記スキャンテストイネーブル信号が前記第２のレベルのときにスキャンデータ信号を前記クロック信号に同期して入力するためのスキャンデータ入力端子、並びに、前記スキャンテストイネーブル信号が前記第２のレベルのときに前記スキャンデータ信号を前記クロック信号に同期して出力し、前記スキャンテストイネーブル信号が前記第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップと、
前記複数のフリップフロップがスキャンチェーンを形成するように前記複数のフリップフロップの前記スキャンデータ入力端子と前記スキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線と、
を具備し、
クロストークが生じ得る信号配線対の間に、前記複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線が配置されていること
を特徴とする、半導体集積回路。
【請求項２】
クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときにデータ信号を前記クロック信号に同期して入力するためのデータ信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときに前記データ信号を前記クロック信号に同期して出力するためのデータ信号出力端子、前記スキャンテストイネーブル信号が前記第２のレベルのときにスキャンデータ信号を前記クロック信号に同期して入力するためのスキャンデータ入力端子、並びに、前記スキャンテストイネーブル信号が前記第２のレベルのときに前記スキャンデータ信号を前記クロック信号に同期して出力し、前記スキャンテストイネーブル信号が前記第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、前記複数のフリップフロップがスキャンチェーンを形成するように前記複数のフリップフロップの前記スキャンデータ入力端子と前記スキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置するステップ（ａ）と、
ステップ（ａ）にて配置された前記複数の信号配線の中からクロストークが生じ得る信号配線対を検出するステップ（ｂ）と、
ステップ（ｂ）にてクロストークが生じ得る信号配線対が検出された場合に、前記複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置するステップ（ｃ）と、
を具備する半導体集積回路の設計方法。
【請求項３】
ステップ（ａ）にて配置された複数の信号配線の中からクロストークが生じ得る信号配線対を再度検出するステップ（ｄ）と、
ステップ（ｄ）にてクロストークが生じ得る信号配線対が検出された場合に、クロストークが生じ得る信号配線対の間隔を広くし、クロストークが生じ得る信号配線対の一方又は両方にリピータ回路を挿入し、若しくは、クロストークが生じ得る信号配線対の間に、所定の電源電位に接続されたシールド専用配線を配置するステップ（ｅ）と、
を更に具備する、請求項２記載の半導体集積回路の設計方法。
【請求項４】
請求項２又は３のいずれか１項に記載の半導体集積回路の設計方法によって設計されたことを特徴とする半導体集積回路。
【請求項５】
クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときにデータ信号を前記クロック信号に同期して入力するためのデータ信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときに前記データ信号を前記クロック信号に同期して出力するためのデータ信号出力端子、前記スキャンテストイネーブル信号が前記第２のレベルのときにスキャンデータ信号を前記クロック信号に同期して入力するためのスキャンデータ入力端子、並びに、前記スキャンテストイネーブル信号が前記第２のレベルのときに前記スキャンデータ信号を前記クロック信号に同期して出力し、前記スキャンテストイネーブル信号が前記第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、前記複数のフリップフロップがスキャンチェーンを形成するように前記複数のフリップフロップの前記スキャンデータ入力端子と前記スキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置するための配置配線処理部と、
前記配置配線処理部によって配置された前記複数の信号配線の中からクロストークが生じ得る信号配線対を検出するためのクロストーク解析処理部と、
前記クロストーク解析処理部によってクロストークが生じ得る信号配線対が検出された場合に、前記複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置するためのスキャンデータ信号配線再配置部と、
を具備する半導体集積回路の設計装置。
【請求項６】
クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときにデータ信号を前記クロック信号に同期して入力するためのデータ信号入力端子、前記スキャンテストイネーブル信号が前記第１のレベルのときに前記データ信号を前記クロック信号に同期して出力するためのデータ信号出力端子、前記スキャンテストイネーブル信号が前記第２のレベルのときにスキャンデータ信号を前記クロック信号に同期して入力するためのスキャンデータ入力端子、並びに、前記スキャンテストイネーブル信号が前記第２のレベルのときに前記スキャンデータ信号を前記クロック信号に同期して出力し、前記スキャンテストイネーブル信号が前記第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、前記複数のフリップフロップがスキャンチェーンを形成するように前記複数のフリップフロップの前記スキャンデータ入力端子と前記スキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置する手順（ａ）と、
手順（ａ）にて配置された前記複数の信号配線の中からクロストークが生じ得る信号配線対を検出する手順（ｂ）と、
手順（ｂ）にてクロストークが生じ得る信号配線対が検出された場合に、前記複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置する手順（ｃ）と、
をＣＰＵに実行させるための半導体集積回路の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、半導体集積回路の設計方法、半導体集積回路の設計装置、及び半導体集積回路の設計を行うためのプログラムに関する。
【背景技術】
【０００２】
従来より、スキャンテスト機能を有する半導体集積回路において、スキャン信号線をシールドに利用することが行われている（例えば、特許文献１参照）。
特許文献１には、ゲートアレイあるいはセルベースＩＣ方式の半導体集積回路において、ＧＮＤ線と平行かつ隣接して配線された信号線と、この信号線と平行に、かつ、ＧＮＤ線の反対側に隣接して配線されたスキャン信号線とを具備したことを特徴とする半導体集積回路が掲載されている。
しかしながら、特許文献１掲載の半導体集積回路においては、信号線のシールドのために、スキャン信号線のほかＧＮＤ線をも必要とする。また、この半導体集積回路において、スキャン信号線は、スキャン切り替え信号を伝達するための信号線であり、スキャンデータ信号を伝達するための信号線ではない。
【０００３】
【特許文献１】特開２００１−２４１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、上記の点に鑑み、本発明は、シールドのためにＧＮＤ線を必要としない半導体集積回路を提供することを第１の目的とする。また、本発明はそのような半導体集積回路の設計方法を提供することを第２の目的とする。また、本発明はそのような半導体集積回路の設計方法によって設計された半導体集積回路を提供することを第３の目的とする。また、本発明は、そのような半導体集積回路の設計方法を用いた半導体集積回路の設計装置を提供することを第４の目的とする。また、本発明は、半導体集積回路の設計を行うためのプログラムを提供することを第５の目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するため、本発明の第１の観点に係る半導体集積回路は、スキャンテスト機能を有する半導体集積回路であって、クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して入力するためのデータ信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して出力するためのデータ信号出力端子、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して入力するためのスキャンデータ入力端子、並びに、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して出力し、スキャンテストイネーブル信号が第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップと、複数のフリップフロップがスキャンチェーンを形成するように複数のフリップフロップのスキャンデータ入力端子とスキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線と、を具備し、クロストークが生じ得る信号配線対の間に、複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線が配置されていることを特徴とする。
【０００６】
また、本発明に係る半導体集積回路の設計方法は、クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して入力するためのデータ信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して出力するためのデータ信号出力端子、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して入力するためのスキャンデータ入力端子、並びに、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して出力し、スキャンテストイネーブル信号が第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、複数のフリップフロップがスキャンチェーンを形成するように複数のフリップフロップのスキャンデータ入力端子とスキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置するステップ（ａ）と、ステップ（ａ）にて配置された複数の信号配線の中からクロストークが生じ得る信号配線対を検出するステップ（ｂ）と、ステップ（ｂ）にてクロストークが生じ得る信号配線対が検出された場合に、複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置するステップ（ｃ）とを具備する。
【０００７】
この半導体集積回路の設計方法において、クロストークが生じ得る信号配線対を検出するステップ（ｄ）と、ステップ（ｄ）にてクロストークが生じ得る信号配線対が検出された場合に、クロストークが生じ得る信号配線対の間隔を広くし、クロストークが生じ得る信号配線対の一方又は両方にリピータ回路を挿入し、若しくは、クロストークが生じ得る信号配線対の間に、所定の電源電位に接続されたシールド専用配線を配置するステップ（ｅ）とを更に具備することとしても良い。
【０００８】
また、本発明の第２の観点に係る半導体集積回路は、上記した半導体集積回路の設計方法によって設計されたことを特徴とする。
【０００９】
また、本発明に係る半導体集積回路の設計装置は、クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して入力するためのデータ信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して出力するためのデータ信号出力端子、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して入力するためのスキャンデータ入力端子、並びに、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して出力し、スキャンテストイネーブル信号が第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、複数のフリップフロップがスキャンチェーンを形成するように複数のフリップフロップのスキャンデータ入力端子とスキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置するための配置配線処理部と、配置配線処理部によって配置された複数の信号配線の中からクロストークが生じ得る信号配線対を検出するためのクロストーク解析処理部と、クロストーク解析処理部によってクロストークが生じ得る信号配線対が検出された場合に、複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置するためのスキャンデータ信号配線再配置部とを具備する。
【００１０】
また、本発明に係る半導体集積回路の設計プログラムは、クロック信号を入力するためのクロック信号入力端子、通常動作時に第１のレベルとなりスキャンテスト時に第２のレベルとなるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して入力するためのデータ信号入力端子、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して出力するためのデータ信号出力端子、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して入力するためのスキャンデータ入力端子、並びに、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して出力し、スキャンテストイネーブル信号が第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子をそれぞれ有する複数のフリップフロップを含むセルと、複数のフリップフロップがスキャンチェーンを形成するように複数のフリップフロップのスキャンデータ入力端子とスキャンデータ出力端子との間を電気的に接続するための複数のスキャンデータ信号配線を含む複数の信号配線とを配置する手順（ａ）と、手順（ａ）にて配置された複数の信号配線の中からクロストークが生じ得る信号配線対を検出する手順（ｂ）と、手順（ｂ）にてクロストークが生じ得る信号配線対が検出された場合に、複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置する手順（ｃ）とをＣＰＵに実行させる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図１は、本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図である。図１に示すように、この半導体集積回路の設計装置１は、入力部２と、表示部３と、ネットリスト記録部４と、配置配線処理部５と、第１クロストーク解析処理部６と、スキャンデータ信号配線再配置処理部７と、第２クロストーク解析処理部８と、クロストーク発生防止処理部９とを具備する。
【００１２】
入力部２は、ユーザ（半導体集積回路の設計技術者）からの入力を受け付けるためのキーボード、マウス等であり、表示部３は、半導体集積回路の設計結果等を表示するためのＣＲＴ、ＬＣＤ等である。
ネットリスト記録部４は、半導体集積回路の回路情報であるネットリストを記録している。
【００１３】
配置配線処理部５は、ネットリストに基づいて、セル（フリップフロップ、ゲート回路等を含む）の配置及び信号配線（データ信号配線、クロック信号配線、スキャンデータ信号配線、スキャンテストイネーブル信号配線等を含む）の配置を行う。なお、ここで、フリップフロップは、クロック信号を入力するためのクロック信号入力端子と、通常動作時に第１のレベル（ここでは、ローレベル）となりスキャンテスト時に第２のレベル（ここでは、ハイレベル）となるスキャンテストイネーブル信号を入力するためのスキャンテストイネーブル信号入力端子と、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して入力するためのデータ信号入力端子と、スキャンテストイネーブル信号が第１のレベルのときにデータ信号をクロック信号に同期して出力するためのデータ信号出力端子と、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して入力するためのスキャンデータ入力端子と、スキャンテストイネーブル信号が第２のレベルのときにスキャンデータ信号をクロック信号に同期して出力し、スキャンテストイネーブル信号が第１のレベルのときにハイレベル又はローレベルを出力するためのスキャンデータ信号出力端子とを具備する。このフリップフロップは、データ信号出力端子とスキャンデータ信号出力端子とを別個に具備しており、この点において、データ信号出力端子がスキャンデータ信号出力端子を兼ねている従来のフリップフロップと異なる。
【００１４】
第１クロストーク解析処理部６は、配置配線処理部５によって配置された複数の信号配線の中からクロストークが生じ得る信号配線対を検出する。
スキャンデータ信号配線再配置処理部７は、クロストークが生じ得る信号配線対が第１クロストーク解析処理部６によって検出された場合に、配置配線処理部５によって配置された複数のスキャンデータ信号配線の中のいずれかのスキャンデータ信号配線を、クロストークが生じ得る信号配線対の間に再配置する。
【００１５】
第２クロストーク解析処理部８は、スキャンデータ信号配線再配置処理部７によるスキャンデータ信号配線の再配置の後に、クロストークが生じ得る信号配線対を検出する。
クロストーク発生防止処理部９は、クロストークが生じ得る信号配線対が第２クロストーク解析処理部８によって検出された場合に、既知の方法によってクロストークの発生を防止する。クロストークの発生を防止する既知の方法とは、例えば、図１０（ａ）に示す回路において、信号配線５５と信号配線５６との間にクロストークが生じ得る場合に、（Ａ）図１０（ｂ）に示すように、信号配線５５と信号配線５６との間の間隔を広くする、（Ｂ）図１０（ｃ）に示すように、信号配線５５、信号配線５６の一方（又は両方）にリピータ回路（ここでは、バッファ回路５７）を挿入する、（Ｃ）図１０（ｄ）に示すように、信号配線５５と信号配線５６との間に、所定の電源電位（ここでは、低電位側の電源電位ＶＳＳ）に接続されたシールド専用配線５８を配置する、等である。
【００１６】
図１に示す配置配線処理部５、第１クロストーク解析処理部６、スキャンデータ信号配線再配置処理部７、第２クロストーク解析処理部８、及び、クロストーク発生防止処理部９は、ＣＰＵとソフトウェア（プログラム）で構成することができる。このプログラムとセルライブラリは、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ、ＣＤ−ＲＯＭ、又は、ＤＶＤ−ＲＯＭ等の記録媒体に記録することができる。
【００１７】
図２は、半導体集積回路の設計装置１の半導体集積回路の設計処理を示すフローチャートである。以下、図２を参照しながら、半導体集積回路の設計装置１の半導体集積回路設計処理について説明する。
【００１８】
まず、配置配線処理部５が、ネットリストに基づいて、セルの配置及び信号配線の配置を行う（ステップＳ１１）。図３は、配置配線処理部５によって配置されたセル及び信号配線の一例を示す図である。図３において、フリップフロップ１１〜１６は、クロック信号入力端子ＣＬＫ、スキャンテストイネーブル信号入力端子ＳＥ、データ信号入力端子Ｄ、データ信号出力端子Ｑ、スキャンデータ入力端子ＳＩ、及び、スキャンデータ信号出力端子ＳＯをそれぞれ具備している。図４は、フリップフロップ１１〜１６の真理値表である。
【００１９】
再び図３を参照すると、フリップフロップ１１〜１６のクロック信号入力端子ＣＬＫにはクロック信号が、スキャンテストイネーブル信号入力端子ＳＥにはスキャンテストイネーブル信号が、外部からそれぞれ供給される。
フリップフロップ１１のスキャンデータ信号出力端子ＳＯとフリップフロップ１２のスキャンデータ入力端子ＳＩとの間、フリップフロップ１２のスキャンデータ信号出力端子ＳＯとフリップフロップ１３のスキャンデータ入力端子ＳＩとの間、フリップフロップ１３のスキャンデータ信号出力端子ＳＯとフリップフロップ１４のスキャンデータ入力端子ＳＩとの間、フリップフロップ１４のスキャンデータ信号出力端子ＳＯとフリップフロップ１５のスキャンデータ入力端子ＳＩとの間、及び、フリップフロップ１５のスキャンデータ信号出力端子ＳＯとフリップフロップ１６のスキャンデータ入力端子ＳＩとの間は、スキャンデータ信号配線でそれぞれ接続されており、これにより、フリップフロップ１１〜１６は、スキャンチェーンを形成している。
【００２０】
フリップフロップ１１〜１３のデータ信号出力端子Ｑは、信号配線を介してバッファ回路２１〜２３の入力端子にそれぞれ接続され、バッファ回路２１〜２３の出力端子は、信号配線を介してバッファ回路２６〜２４の入力端子にそれぞれ接続され、バッファ回路２４〜２６の出力端子は、信号配線を介してフリップフロップ１４〜１６のデータ信号入力端子Ｄに接続されている。
【００２１】
再び図２を参照すると、第１クロストーク解析処理部６が、シミュレーション等を行うことにより、クロストークが生じ得る信号配線対を検出する（ステップＳ１２）。ここでは、図３中のバッファ回路２１とバッファ回路２６との間を接続する信号配線３１及びバッファ回路２３とバッファ回路２４との間を接続する信号配線３２の領域Ａ内の部分において、クロストークが生じ得るものとする。
【００２２】
クロストークが生じ得る信号配線対が存在しない場合には処理は終了となるが、クロストークが生じ得る信号配線対が存在する場合（ステップＳ１３）には、スキャンデータ信号配線再配置処理部７が、いずれかのスキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置する（ステップＳ１４）。図５は、フリップフロップ１３のスキャンデータ信号出力端子ＳＯとフリップフロップ１４のスキャンデータ入力端子ＳＩとの間を接続する信号配線３３を、領域Ａ内の信号配線３１と信号配線３２との間に再配置した様子を示す図である。
【００２３】
図５において、スキャンテストイネーブル信号が第１のレベルのとき（通常動作時）、フリップフロップ１３のスキャンデータ出力端子ＳＯは、ハイレベル（ここでは、高電位側の電源電位ＶＤＤ）又はローレベル（ここでは、低電位側の電源電位ＶＳＳ）を出力し、スキャンデータ信号配線３３は、ハイレベル又はローレベルとなる。このようにスキャンデータ信号配線３３がハイレベル又はローレベルとなることにより、データ信号配線３１とデータ信号配線３２との間はシールドされ、データ信号配線３１とデータ信号配線３２との間にクロストークが生じることを防止することができる。また、スキャンテストイネーブル信号が第２のレベルのとき（スキャンテスト時）、スキャンデータ信号配線３３にはスキャンデータ信号が供給されるが、このときフリップフロップ１１〜１６のデータ入力端子Ｄ及びデータ出力端子Ｑは不使用であるため、特に不都合はない。
【００２４】
ステップＳ１４にてスキャンデータ信号配線を再配置することにより、クロストークが生じ得る全ての信号配線対に対処できれば良いが、クロストークが生じ得る全ての信号配線対には対処できない可能性も考えられる。そこで、第２クロストーク解析処理部８が、シミュレーション等を行うことにより、クロストークが生じ得る信号配線対を再度検出し（ステップＳ１５）、クロストークが生じ得る信号配線対が存在する場合（ステップＳ１６）には、クロストーク発生防止処理部９が、先に説明した既知の方法（Ａ）〜（Ｃ）を用いてクロストークの発生を防止するための処理を行う（ステップＳ１７）。なお、ステップＳ１４にてクロストークが生じ得る全ての信号配線対に対処できれば、ステップＳ１５〜Ｓ１７は必ずしも必要ではない。
【００２５】
以上説明したように、データ信号出力端子Ｄとスキャンデータ信号出力端子ＳＯとを別個に具備し、通常動作時にスキャンデータ出力端子ＳＯからハイレベル又はローレベルを出力するフリップフロップを用い、クロストークが生じ得る信号配線対の間にスキャンデータ信号配線を再配置することにより、クロストークが生じることを防止することができる。
なお、クロストークが生じ得る信号配線対の間にスキャンデータ信号配線を再配置することにより、スキャンデータ信号配線が長くなってしまうことが考えられるが、このことはデメリットとならず、むしろメリットになるとも考えられる。これは、スキャンデータ信号が、クロックスキューが大きい場合においてスキャンシフト動作時にホールドエラーを招く可能性の高い信号であり、スキャンデータ信号配線が長くなりスキャンデータ信号の遅延量が増加することで、ホールドエラーを招く可能性が低くなると考えられるためである。
【００２６】
なお、上記においては、データ信号配線３１、３２の間にスキャンデータ信号配線３３を再配置する場合について説明したが（図３及び図５参照）、図６に示すように、フリップフロップ１１〜１６に直接関係しない信号配線４５、４６の領域Ｂ内の部分においてクロストークが生じ得る場合、図７に示すように、スキャンデータ信号配線３３を信号配線４５と信号配線４６との間に再配置することとしても良い。
また、図８に示すように、クロック信号配線３４と信号配線４９の領域Ｃ内の部分においてクロストークが生じ得る場合であっても、図９に示すように、スキャンデータ信号配線３３をクロック信号配線３４と信号配線４９との間に再配置することとしても良い。同様に、クロック信号配線とクロック信号配線との間においてクロストークが生じ得る場合も対処可能である。
【００２７】
また、上記においては、スキャンチェーンの順序（フリップフロップ１１→フリップフロップ１２→フリップフロップ１３→フリップフロップ１４→フリップフロップ１５→フリップフロップ１６）を変更することなく、スキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置する場合について説明したが、必要に応じて、スキャンチェーンの順序を変更し、スキャンデータ信号配線をクロストークが生じ得る信号配線対の間に再配置するようにしても良い。
【産業上の利用可能性】
【００２８】
本発明は、半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラムにおいて利用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図。
【図２】図１の半導体集積回路の設計装置１の動作を示すフローチャート。
【図３】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図４】図３のフリップフロップ１１〜１６の真理値表を示す図。
【図５】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図６】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図７】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図８】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図９】図１の装置１によって設計された半導体集積回路の一例を示す図。
【図１０】クロストークを防止するための既知の方法による回路の一例を示す図。
【符号の説明】
【００３０】
１  半導体集積回路の設計装置、２  入力部、３  表示部、４  ネットリスト記録部、５  配置配線処理部、６  第１クロストーク解析処理部、７  スキャンデータ信号配線再配置部、８  第２クロストーク解析処理部、９  クロストーク発生防止処理部、１１〜１６  フリップフロップ、２１〜２６、４１〜４４、４７、４８、５１〜５４、５７  バッファ回路、３１、３２、４５、４６、４９  データ信号配線、３３  スキャンデータ信号配線、３４  クロック信号配線
【図１】
2006114799.tif 000003
【図２】
2006114799.tif 000004
【図３】
2006114799.tif 000005
【図４】
2006114799.tif 000006
【図５】
2006114799.tif 000007
【図６】
2006114799.tif 000008
【図７】
2006114799.tif 000009
【図８】
2006114799.tif 000010
【図９】
2006114799.tif 000011
【図１０】
2006114799.tif 000012