(57)【要約】【課題】  各階層ブロック内のクロック遅延の同期を含めたタイミング制御と階層トップ上でのクロック遅延の同期を考慮したタイミング制御を行いクロック遅延を調整する方法を提供する。【解決手段】  半導体チップ内の各階層ブロックの回路設計条件に応じて、前記各階層ブロックの各ソースポイントからクロックに同期して動作するクロック入力回路までのクロック遅延の値を同期させるように、クロック遅延を調整する複数のソースポイントを設け、前記ソースポイントにエリア端子を設置し、階層トップ上で、半導体チップのクロック入力端子と各エリア端子との間をクロック分配するように、クロックラインで接続し、前記各階層ブロック間のクロック遅延調整を行うようにしたことを特徴とする。【選択図】図１
2004253772.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップ内の各階層ブロックの回路設計条件に応じて、前記各階層ブロックの各ソースポイントからクロックに同期して動作するクロック入力回路までのクロック遅延の値を同期させるように、クロック遅延を調整する複数のソースポイントを設け、
前記ソースポイントにエリア端子を設置し、階層トップ上で、半導体チップのクロック入力端子と各エリア端子との間をクロック分配するように、クロックラインで接続し、前記各階層ブロック間のクロック遅延調整を行うようにしたことを特徴とする半導体集積回路装置のクロック遅延調整方法。
【請求項２】
半導体チップのクロック入力端子とエリア端子との間の配線長が等しくなるように、前記各階層ブロックの少なくとも１つが複数のエリア端子を持つことを特徴とする請求項1に記載のクロック遅延調整方法。
【請求項３】
前記エリア端子は、クロック入力専用の入力端子であることを特徴とする請求項1に記載のクロック遅延調整方法。
【請求項４】
前記各階層ブロックの前記各ソースポイントの前記クロック遅延値のばらつきを補償する配線長となるように、前記半導体チップのクロック入力端子と各前記エリア端子との間を、クロック分配して接続するようにしたことを特徴とする請求項１乃至３のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項５】
前記半導体チップのクロック入力端子から前記各階層ブロックの前記クロック入力専用のエリア端子までを等長配線による１チップの階層ブロック間のクロック遅延を調整した後で、ある階層ブロックの前記クロック入力専用のエリア端子から前記各クロック入力回路までのクロックライン上でクロック遅延値が同期目標とする値を満たしてない箇所が発生した場合、再度対象となるクロックライン上の箇所に前記遅延調整バッファ回路を挿入して、クロック遅延の調整を行い、１チップの階層ブロック間のクロック遅延の同期をとることを特徴とする請求項１乃至４のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項６】
半導体チップのクロック配線設計において、半導体チップ内の1個以上の階層ブロック上にクロック入力用のエリア端子を1箇所以上設け、階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を配線し、前記各エリア端子と前記クロック入力端子との遅延値の差を計算し、前記各階層ブロック内で前記遅延値の差を補償するように、前記各エリア端子から複数のクロック入力回路までのクロック遅延調整を行うようにしたことを特徴とする半導体集積回路装置のクロック遅延調整方法。
【請求項７】
前記階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を総クロック配線長がほぼ最短になるように配線したことを特徴とする請求項６に記載のクロック遅延調整方法。
【請求項８】
前記階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を最大クロック配線長がほぼ最短になるように配線したことを特徴とする請求項６に記載のクロック遅延調整方法。
【請求項９】
前記階層トップのクロック入力端子からクロック遅延値の短いエリア端子では、階層ブロック内でクロック分配するクロック入力回路数を増加し、クロック入力端子からクロック遅延値の長いエリア端子では、階層ブロック内でクロック分配するクロック入力回路数を削減することにより、クロック遅延調整を行うことを特徴とする請求項６乃至８のいずれかに記載のクロック遅延調整方法。
【請求項１０】
前記クロックラインは、専用の配線層を用いて形成されることを特徴とする請求項１乃至９のいずれかに記載のクロック遅延調整方法。
【請求項１１】
前記クロック入力端子は、複数個のクロック入力端子で構成されており、1つの階層ブロックに複数のクロック入力端子からクロック入力がなされるように構成された多系統クロックを構成していることを特徴とする請求項１乃至１０のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項１２】
さらに階層トップ上のクロックラインの配線上において、階層ブロック内または階層ブロック間にリピーターバッファ回路を挿入して、クロック信号の波形なまりの抑制を行うようにしたことを特徴とする請求項１乃至１１のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項１３】
前記階層ブロック内に、複数のクロック入力回路を備え、各クロック入力回路までのクロックラインにクロック制御回路を挿入するに際し、前記階層ブロック内のクロック制御回路と前記各クロック入力回路との間の前記クロックラインの前記クロック遅延の値を、遅延調整バッファ回路を使用して調整するようにしたことを特徴とする請求項１乃至１２のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項１４】
前記エリア端子の設置位置を、フロアプラン修正後においても、前記フロアプランの修正前の前記クロックラインの配線経路が再利用できるように調整したことを特徴とする請求項１乃至１３のいずれかに記載の半導体集積回路装置のクロック遅延調整方法。
【請求項１５】
前記請求項１乃至１４のいずれかに記載の半導体集積回路装置のクロック遅延調整方法を用いた半導体集積回路装置。
【請求項１６】
前記階層ブロックの少なくともひとつが、複数のクロック入力専用のエリア端子を具備しており、クロックラインが前記エリア端子よりも上位層であるクロックライン専用の配線層で構成されていることを特徴とする請求項１５に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置の設計方法および半導体集積回路装置に係り、特に半導体集積回路装置のレイアウト設計において、クロック入力端子と各階層ブロック内のフリップフロップ回路などのようにクロック信号で動作するクロック入力回路のクロック遅延値を合わすように調整する方法に関するものである。
【背景技術】
【０００２】
従来、半導体集積回路装置のレイアウト設計における階層ブロック９０２、９０３、９０４、９０５間のクロック遅延を同期して調整する方法においては、図１０に示すように、各階層ブロック９０２〜９０５の外周にクロック入力端子９０７を形成している。そして、クロック入力端子９０７とクロック信号の供給元となる半導体チップのクロック入力端子９００間は、クロック信号の到達時間を同期させるため、配線９０１の長さ（配線長）が等しくなるように、階層トップ上で配線するいわゆる等長配線により、クロックラインの配線をクロック分配して接続するという方法がとられている。このようにして、各階層ブロックまでのクロック遅延が同期するように調整している（例えば、特許文献１参照。）。ここで９０６は半導体チップの外殻（バウンダリー）を示す。
【０００３】
また、階層ブロック間の相互信号配線接続技術として、階層ブロック上に信号端子を形成してブロック間の相互信号を配線接続しているものがある（例えば、特許文献２参照。）。
【特許文献１】特開平５−１９８６７４号公報（第１−４頁、第一図）
【特許文献２】特開平５−２４３３８０号公報（第１項、第二図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の半導体集積回路装置のレイアウト設計における階層ブロック間のクロック遅延を同期させるように調整するクロック遅延調整方法は、階層ブロックの外周に形成されたクロック入力端子の１点以降で、階層ブロック内にある全てのフリップフロップ等のクロックに同期して動作する回路であるクロック入力回路のクロック端子までのクロック遅延を同期させるとともに、更に各階層ブロックごとのクロック遅延が同期されている条件で実施するものである。
【０００５】
しかしながら、回路規模が大きくかつブロックサイズが大きい階層ブロックが半導体チップ上にある場合、階層ブロック内のクロック入力回路の配置位置はこの階層ブロックの回路条件に依存して密集あるいは分散するなど、多くの配置条件があるために、階層ブロックの外周に形成されたクロック入力端子の１点以降だけでクロック遅延を同期させることは困難である。更に、実際の半導体集積回路装置の開発において、現実には、このようなケースが多く、各階層ブロックのクロック遅延の同期をとることも非常に困難である。
【０００６】
よって、この従来の方法は、階層トップ上で各階層ブロックのクロック入力端子−半導体チップのクロック入力端子間を等長配線により、クロック分配してクロックラインの配線接続を実施し、クロック信号の到達時間を同期させても、ブロック内のクロック遅延が同期していないブロックがあるために、半導体集積回路装置のクロック遅延を同期させるように調整することができないという問題があった。
【０００７】
本発明は、前記実情に鑑みてなされたもので、複数の階層ブロックを有する半導体集積回路装置のレイアウト設計におけるクロック遅延の調整に際し、各階層ブロックにクロック入力用エリア端子を設け、各階層ブロック内のクロック遅延の同期を含めたタイミング制御と階層トップ上でのクロック遅延の同期を考慮したタイミング制御を行いクロック遅延を調整する方法を提供することを目的とする。
【０００８】
また、各階層ブロック内のクロック遅延の同期を含めたタイミング制御と階層トップ上でのクロック遅延の同期を含めたタイミング制御とがなされ、クロック遅延が調整されるように構成された半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そこで本発明の方法では、半導体チップのクロック遅延の目標値を設定して、目標値に応じて、クロック遅延を調整するソースポイントを半導体チップのバウンダリー内の各階層ブロックの少なくとも１つに複数設けることができるようにし、このソースポイントから各階層ブロックへのクロック信号の供給がなされるようにし、階層ブロック内および階層トップ上での遅延調整を考慮するようにしたことを特徴とする。
【００１０】
この時、ソースポイントを決定する条件としては、各階層ブロック内のクロック入力回路の配置位置などの回路の設計条件を考慮して、クロック遅延の目標値が達成できるように決定する。
【００１１】
すなわち本発明の方法は、半導体チップ内の各階層ブロックの回路設計条件に応じて、前記各階層ブロックの各ソースポイントからクロックに同期して動作するクロック入力回路までのクロック遅延の値を同期させるように、クロック遅延を調整する複数のソースポイントを設け、前記ソースポイントにエリア端子を設置し、階層トップ上で、半導体チップのクロック入力端子と各エリア端子との間をクロック分配するように、クロックラインで接続し、前記各階層ブロック間のクロック遅延調整を行うようにしたことを特徴とする。
【００１２】
この構成によれば、各階層ブロックの各ソースポイントからクロックに同期して動作するクロック入力回路までのクロック遅延の値を同期させるように、クロック遅延を調整する複数のソースポイントを設け、このソースポイントにエリア端子を設けてエリア端子から各クロック入力回路へのクロック供給がなされるように構成されるため、階層トップでは、クロック入力端子からエリア端子までのクロック遅延調整を行うことによって、容易に各クロック入力回路までのクロック遅延調整を達成することができる。
【００１３】
また、本発明では、上記方法において、半導体チップのクロック入力端子とエリア端子との間の配線長が等しくなるように各階層ブロックの少なくとも１つが複数のエリア端子をもつようにしている。
【００１４】
この構成により、クロック入力端子からエリア端子までを等長配線とすることにより、容易に各クロック入力回路までのクロック遅延調整を達成することができる。
【００１５】
また、本発明の方法では、上記方法において、クロック遅延を調整するソースポイント上にクロック入力専用のエリア端子を設ける。このエリア端子はクロック専用で階層ブロック上に自由に位置が決定され、複数設けることができるようにしたことを特徴とする。
【００１６】
各階層ブロックの各クロック入力用、望ましくは専用のエリア端子ごとに半導体チップのクロック遅延の目標に対して、それぞれクロック遅延を調整する。
【００１７】
また、本発明の方法では、上記方法において、前記各階層ブロックの前記各ソースポイントの前記クロック遅延値のばらつきを補償する配線長となるように、前記半導体チップのクロック入力端子と各前記エリア端子との間を、クロック分配して接続する。
【００１８】
すなわち調整が終了した時点で、階層のトップ上で配線層の上位層を使用して、半導体チップのクロック入力端子−各クロック入力用のエリア端子間を等長もしくは各エリア端子のクロック遅延のばらつきを考慮したクロック分配としたクロックラインとなるように配線接続する。上位層とは、当該配線層を形成する層よりも上層にある層をいうものとする。
【００１９】
かかる構成によれば、半導体チップのバウンダリー内の階層ブロックに、それぞれ回路の設計条件に応じて、クロック遅延を調整するソースポイントを設けてクロック入力用のエリア端子とする。望ましくは専用のエリア端子とし、階層トップ上で半導体チップのクロック入力端子と各クロック入力専用のエリア端子との間をクロックの到達時間を考慮してクロック分配するように配線接続し、階層ブロック内のクロック遅延の同期と階層ブロック間のクロック遅延の同期が容易な条件をつくり、階層ブロック間のクロック遅延調整を実現することができる。
【００２０】
また、本発明では、上記方法において、前記半導体チップのクロック入力端子から前記各階層ブロックの前記クロック入力専用のエリア端子までを等長配線による１チップの階層ブロック間のクロック遅延を調整した後で、ある階層ブロックの前記クロック入力専用のエリア端子から前記各クロック入力回路までのクロックライン上でクロック遅延値が同期目標とする値を満たしてない箇所が発生した場合、再度対象となるクロックライン上の箇所に前記遅延調整バッファ回路を挿入して、クロック遅延の調整を行い、１チップの階層ブロック間のクロック遅延の同期をとる。
【００２１】
この方法により、作業性よく遅延調整を行うことができる。
【００２２】
また、本発明では、上記方法において、半導体チップのクロック配線設計において、半導体チップ内の1個以上の階層ブロック上にクロック入力用のエリア端子を1箇所以上設け、階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を配線し、前記各エリア端子と前記クロック入力端子との遅延値の差を計算し、前記各階層ブロック内で前記遅延値の差を補償するように、前記各エリア端子から複数のクロック入力回路までのクロック遅延調整を行うようにする。
【００２３】
この方法により、作業性よく遅延調整を行うことができる。
【００２４】
また、本発明では、上記方法において、前記階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を総クロック配線長がほぼ最短になるように配線する。
【００２５】
この方法により、遅延を低減し、高速化を実現することができる。
【００２６】
また、本発明では、上記方法において、前記階層トップ上で半導体チップのクロック入力端子と前記各クロック入力用のエリア端子との間を最大クロック配線長がほぼ最短になるように配線する。
【００２７】
この方法により、チップ全体としてのクロック遅延を低減し、高速化を実現することができる。
【００２８】
また階層トップ上の半導体チップのクロック入力端子と各クロック入力用のエリア端子との間を、総クロック配線長がほぼ最短になるように、又は最大クロック配線長がほぼ最短になるように配線し、各エリア端子とクロック入力端子との遅延値の差を計算し、各階層ブロック内で上記遅延値の差を補償するように各エリア端子から複数のフリップフロップ等のクロック入力回路までのクロック遅延調整を行う。各階層ブロック内では、クロック入力端子から近いエリア端子は、多くのクロック入力回路にクロック分配し、クロック入力端子から遠いエリア端子は、少ないクロック入力回路にクロック分配することにより、クロック遅延調整を行う。
【００２９】
かかる構成によれば、クロック入力端子から各クロック入力回路までのクロック遅延値をチップ全体として最小にでき、クロックタイミング調整のためのクロック配線長の無駄も極力小さくすることが可能となる。
【００３０】
また、本発明では、上記方法において、前記階層トップのクロック入力端子からクロック遅延値の短いエリア端子では、階層ブロック内でクロック分配するクロック入力回路数を増加し、クロック入力端子からクロック遅延値の長いエリア端子では、階層ブロック内でクロック分配するクロック入力回路数を削減することにより、クロック遅延調整を行う。
【００３１】
この方法により、階層トップ上でのクロック配線によるクロック遅延値と階層ブロック内のクロック分配によるクロック遅延値との合計をそろえるようにすることができる。
【００３２】
また、本発明では、上記方法において、前記クロックラインは、専用の配線層を用いて形成される。
【００３３】
これにより、配線に自由度ができ、設計が容易となる。
【００３４】
また、本発明では、上記方法において、前記クロック入力端子は、複数個のクロック入力端子で構成されており、1つの階層ブロックに複数のクロック入力端子からクロック入力がなされるように構成された多系統クロックを構成する。
【００３５】
多系統クロックを用いる場合には、複数個のエリア端子を用いて、クロック系統ごとに遅延調整をするようにしてもよい。また複数個のエリア端子を異なるクロック系統で相互利用するようにしてもよい。
【００３６】
また、本発明では、上記方法において、さらに階層トップ上のクロックラインの配線上において、階層ブロック内または階層ブロック間にリピーターバッファ回路を挿入して、クロック信号の波形なまりの抑制を行うようにしたことを特徴とする。
【００３７】
これにより、波形なまりの抑制をはかり、より信頼性の高い半導体集積回路を提供することができる。
【００３８】
また、本発明では、上記方法において、前記階層ブロック内に、複数のクロック入力回路を備え、各クロック入力回路までのクロックラインにクロック制御回路を挿入するに際し、前記階層ブロック内のクロック制御回路と前記各クロック入力回路との間の前記クロックラインの前記クロック遅延の値を、遅延調整バッファ回路を使用して調整するようにしている。
【００３９】
これにより、前記階層ブロック内に置いて自由に前記クロック遅延値を調整することができるという効果がある。
【００４０】
また、本発明では、上記方法において、前記エリア端子の設置位置を、フロアプラン修正後においても、前記フロアプランの修正前の前記クロックラインの配線経路が再利用できるように調整する。
【００４１】
これにより、より設計が容易となるという効果を奏効する。
【００４２】
また本発明の半導体集積回路装置は上記調整方法によって遅延調整がなされて形成される。
【００４３】
この半導体集積回路装置は、階層ブロックの少なくともひとつが、複数のクロック入力専用のエリア端子を具備しており、クロックラインが前記エリア端子よりも上位層であるクロックライン専用の配線層で構成されていることを特徴とする。
【００４４】
かかる構成によれば、階層ブロック間および階層ブロック内で遅延調整のなされた半導体集積回路装置を提供することが可能となる。
【００４５】
なお、本発明ではチップレイアウト的に、クロック入力端子の設けられている階層トップを第１階層目とし、この下に第２階層目としての階層ブロックが接続されるようにし、この階層ブロックごとにソースポイントとなるエリア端子を設けている。
【発明の効果】
【００４６】
以上説明したように、本発明によれば、半導体チップ内の各階層ブロックの回路設計条件に応じて、前記各階層ブロックの各ソースポイントからクロックに同期して動作するクロック入力回路までのクロック遅延の値を同期させるように、クロック遅延を調整する複数のソースポイントを設け、前記ソースポイントにエリア端子を設置し、階層トップ上で、半導体チップのクロック入力端子と各エリア端子との間をクロック分配するように、クロックラインで接続し、前記各階層ブロック間のクロック遅延調整を行うようにしているため、階層ブロック内のエリア端子からクロック入力回路までのクロック遅延の同期を容易に実現することができる。
【００４７】
望ましくは、階層トップ上で半導体のチップのクロック入力端子−各クロック入力専用のエリア端子間のクロックラインの配線を等長配線によりクロック分配して接続することで半導体集積回路装置の階層ブロック間のクロック遅延調整をすることができる。
【００４８】
また、階層トップ上で、クロック入力端子と各クロック入力用エリア端子との間を総クロック配線長または最大クロック配線長がほぼ最短となるように配線し、階層ブロック内で遅延差を補償するようにクロック配線することで、クロック遅延値をチップ全体として最小にでき、クロック配線長を最適化することができる。
【００４９】
またこのクロック分配における接続に際しては、配線層の上位層を用いるようにすれば、回路レイアウトの制限なしに効率よく回路設計を実現することができる。
【００５０】
また本発明によれば、前記クロック入力専用のエリア端子の各ポイントで多少のクロック遅延のばらつきが生じても、階層トップ上で配線層の上位層などを活用して、クロック遅延のばらつきを考慮した配線長でクロックラインの配線の分配をすることにより半導体集積回路装置のクロック遅延調整をすることができる。
【００５１】
従って、半導体集積回路装置の多系統クロックの階層ブロック間のクロック遅延調整をすることができる。
【００５２】
本発明によれば、階層トップ上のクロックラインの配線上に、配線をまたぐ階層ブロック内または間にクロックラインのリピーターバッファ回路を挿入することにより、波形なまりを対策して、半導体集積回路装置のクロック遅延調整をすることができる。
【００５３】
本発明によれば、階層ブロック内のフリップフロップ回路までのクロックライン上にクロック制御回路が挿入されている場合でも、階層ブロック上でクロックラインでクロック制御回路の入力前にクロック入力専用のエリア端子を設置し、更に階層ブロック内のクロック制御のゲート回路−各フリップフロップ回路間のクロック遅延をクロックラインの遅延調整バッファ回路を使用して調整し、階層トップ上ではリピーターバッファ回路を用いて調整することにより、半導体集積回路装置のクロック遅延調整をすることができる。
【００５４】
本発明によれば、半導体集積回路装置内のある階層ブロックにフロアプラン修正が生じても、フロアプラン修正を行う階層ブロックでクロック遅延調整をするソースポイントを決定する時に、フロアプラン修正前のクロックラインの配線経路にクロック入力専用のエリア端子が接続できる位置に決定すれば、そのまま修正前のクロックラインの配線経路を利用することができる。
【００５５】
本発明によれば、１チップの階層ブロック間のクロック遅延調整した後で、クロック遅延の同期がとれていない階層ブロックが存在しても、対象となる階層ブロックに再度クロックツリーシンセシス(ＣＴＳ)法などで遅延調整バッファ回路を挿入して、クロック遅延して、１チップの階層ブロック間のクロック遅延の同期をとることにより、半導体集積回路装置のクロック遅延調整を行うことができる。
【００５６】
本発明によれば、本発明の効果を利用した半導体集積回路装置を実現することができる。
【発明を実施するための最良の形態】
【００５７】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。
【００５８】
（実施の形態１）
本実施の形態は、半導体集積回路装置における階層ブロック間のクロック遅延が同期するようにした条件で、階層トップ上でクロック遅延を調整する方法において以下のような手順で、回路設計がなされる。
【００５９】
１．半導体チップのバウンダリー内の階層ブロックに、回路設計の条件に応じて、クロック遅延を調整する細かいソースポイントを設ける。
【００６０】
２．前記ソースポイントをクロック入力専用のエリア端子とする。
【００６１】
３．階層トップ上で半導体のチップのクロック入力端子と各クロック入力専用のエリア端子との間のクロックラインの配線を配線層の上位層を用いて、等長配線によりクロック分配して接続する。
【００６２】
この方法によれば、階層ブロック間のクロック遅延の同期を実現した上で、階層トップ上で等長配線によるクロックラインの配線の分配を行い、クロック遅延調整を行う。
【００６３】
図１に本発明の実施の形態１に係わる等長配線のクロック分配配線による階層ブロック間のクロック遅延を調整する方法を示す。図１において、半導体チップのバウンダリー１０６内の階層ブロックＡ１０２、階層ブロックＢ１０３、階層ブロックＣ１０４、階層ブロックＤ１０５上に、回路設計の条件に応じ、クロック遅延を調整するソースポイントとなるクロック入力専用のエリア端子を複数設ける。各階層ブロック１０２、１０３、１０４、１０５はそれぞれ1乃至３個のエリア端子を具備している。階層ブロック１０２は２個のエリア端子１０２Ｔ１、１０２Ｔ２、階層ブロック１０４は３個のエリア端子１０４Ｔ１、１０４Ｔ２、１０４Ｔ３、階層ブロック１０５は1個のエリア端子１０５Ｔを具備している。各エリア端子は、各階層ブロック１０２、１０３、１０４、１０５までのクロック遅延を同期させ、半導体チップのクロック入力端子１００から各エリア端子１０２Ｔ１〜１０５Ｔまでのクロック到達時間を考慮して等長経路を見積もり、階層トップ上の配線層の上位層を用いて、クロックラインの配線１０１を接続する。
【００６４】
このように、本実施の形態１によれば、クロック遅延を調整するソースポイントとなるクロック入力専用のエリア端子を各階層ブロックに複数設けることにより、階層ブロックのクロック遅延の同期条件を容易に実現可能である。そして、階層トップ上で配線層の上位層を用いて、等長配線によるクロックラインの配線の分配をすることにより半導体集積回路装置のクロック遅延調整を行うことができる。
【００６５】
ここでクロック端子１０１から各エリア端子１０２Ｔ１〜１０５Ｔまでのクロック到達時間を考慮して等長経路を見積もり、クロックラインの配線１０１を形成するに際しては、上位層を用いることにより、レイアウトの制限なしに配線設計を行うことができる。
【００６６】
このようにして全てのソースポイントのクロック遅延の値を同期させることができる。
【００６７】
なお前記実施の形態ではクロックラインの配線１０１を上位層で形成したが、かならずしも上位層で形成しなければならないわけではなく、適宜調整可能である。
【００６８】
（実施の形態２）
次に、本発明の実施の形態２について説明する。
【００６９】
本実施の形態では、半導体集積回路装置における階層ブロック間のクロック遅延にばらつきがある場合に、階層トップ上でクロック遅延を調整する方法においては以下のような手順で、回路設計がなされる。
【００７０】
１．前記本発明の実施の形態１に記載の１、２の手法
２．階層トップ上で半導体のチップのクロック入力端子−各クロック入力専用のエリア端子間のクロックラインの配線を配線層の上位層を用いて、各階層ブロックのクロック入力専用のエリア端子間までのクロック遅延のばらつきを考慮した配線長でクロック分配して接続するという手法を用いる。
【００７１】
この方法によれば、各階層ブロックのクロック入力専用のエリア端子までのクロック遅延にばらつきがあっても、階層トップ上で半導体のチップのクロック入力端子−各クロック入力専用のエリア端子間のクロックラインの配線をばらつきに応じて配線長を調整して、分配することでクロック遅延調整を行うことができる。
【００７２】
以下、本発明の実施形態２について図面を用いて説明する。
【００７３】
図２に本発明の実施の形態２に係わるクロック遅延のばらつきを考慮したクロック分配配線による階層ブロック間のクロック遅延を調整する方法を示す。図２において、階層ブロック２０２と階層ブロック２０３に、それぞれクロック遅延を調整するソースポイントとしてクロック入力専用のエリア端子Ａ２０４、クロック入力専用のエリア端子Ｂ２０５、クロック入力専用のエリア端子Ｃ２０６を設ける。この時、各階層ブロック２０２、２０３内の各エリア端子２０４、２０５、２０６までのクロック遅延の値の条件２０７は「エリア端子Ａ＞エリア端子Ｂ＞エリア端子Ｃ」の順である。
【００７４】
このクロック遅延のばらつきに応じて、階層トップ上で半導体チップのクロック入力端子２００から２０４、２０５、２０６までのクロックラインの配線２０１の配線長を図２に条件２０７に示す関係を維持するように考慮したクロック配線長の条件２０８で「エリア端子Ａ＜エリア端子Ｂ＜エリア端子Ｃ」の順にしてクロック分配の配線接続をする。
【００７５】
このように、本実施の形態２より、クロック遅延を調整するソースポイントとなるクロック入力専用のエリア端子を各階層ブロックに複数設けて、各ポイントで多少のクロック遅延のばらつきが生じても、階層トップ上で配線層の上位層を活用して、クロック遅延のばらつきを考慮した配線長でクロックラインの配線の分配をすることにより半導体集積回路装置のクロック遅延調整を行うことができる。
【００７６】
（実施の形態３）
次に、本発明の実施の形態３について説明する。
【００７７】
本実施の形態では、半導体チップのクロック入力端子から各階層ブロック上のクロック入力用エリア端子までのクロック配線と各エリア端子から各フリップフロップ等のクロック入力回路のクロック分配を行い、階層トップ上でクロック入力端子と各エリア端子との間を、例えば、総クロック配線長がほぼ最短か、又は最大クロック配線長がほぼ最短になるように配線し、各エリア端子とクロック入力端子との遅延値の差を計算し、各階層ブロック内で、上記遅延値の差を補償するように、各エリア端子から複数のクロック入力回路までのクロック遅延調整を行う。例えば、クロック入力端子から近いエリア端子は、階層ブロック内で多くのクロック入力回路にクロック分配することにより、大きなクロック遅延値を得る。また、クロック入力端子から遠いエリア端子は階層ブロック内で少ないクロック入力回路にクロック分配することにより、小さなクロック遅延値を得る。このようにして、階層トップ上でのクロック配線によるクロック遅延値と階層ブロック内のクロック分配によるクロック遅延値を合計したクロック遅延値を揃えるようにする。階層ブロック内でのクロック遅延調整が困難な場合は、階層トップ上でのクロック配線長の調整により合計のクロック遅延を調整することも有効な方法である。
以下本発明の実施の形態３について図面を用いて説明する。
図３に本発明の実施の形態３に係る等長配線のクロック分配配線を用いない階層ブロックのクロック遅延を調整する方法を示す。図３では、図１と同一の機能には同一の番号を用いることにする。図３において、階層トップ上でクロック入力端子と各エリア端子１０２Ｔ１、１０２Ｔ２、１０３Ｔ、１０４Ｔ１、１０４Ｔ２、１０４Ｔ３、１０５Ｔとの間の総クロック配線長をほぼ最短にするようにクロック配線されている。別の方法としては、最大クロック配線長をほぼ最短にするようにクロック配線することもできる。また、４５度配線および任意角度の配線を利用するとさらに配線長やクロック遅延値を短くすることが可能である。この様にすると、クロック入力端子から各エリア端子までのクロック遅延値は異なるので、クロック配線の抵抗値および容量値、さらにエリア端子に付加される容量値等を考慮して、シミュレーションによりクロック入力端子から各エリア端子までの遅延値の差を計算する。そして、上記遅延値の差を補償するように、それぞれのエリア端子から各クロック入力回路までＣＴＳ等の手法を用いたり、各エリア端子からクロック分配するクロック入力回路数を調整したりするなどの方法を用いて、クロック分配を行う。
【００７８】
（実施の形態４）
本発明の実施の形態４は、半導体集積回路装置におけるクロック系統が複数存在する場合の階層ブロック間のクロック遅延を調整する方法クロック系統ごとに前記実施の形態１から３のいずれかを実施する手法を用いることを特徴とする。
【００７９】
この方法によれば、クロック系統が複数存在する場合でも階層ブロック間のクロック遅延の調整ができる。
【００８０】
以下、本発明の実施の形態４について図面を用いて説明する。
図４に本発明の実施の形態４に係る多系統クロックにおける階層ブロック間のクロック遅延を調整する方法を示す。図４において、階層ブロックＡ３０６と階層ブロックＢ３０７でクロック遅延を調整するソースポイントとして、クロック系統ごとにクロックラインＡに属するエリア端子３０４とクロックラインＢに属するエリア端子３０５を設ける。そして階層のトップ上で配線層の上位層を活用してクロック系統ごとに、半導体チップのクロック入力端子Ａ３００−３０４間をクロックラインＡの配線３０１で前記本発明の実施の形態１または２を実施して接続するものである。同様に、半導体チップのクロック入力端子Ｂ３０３−３０５間をクロックラインＢの配線３０２で前記本発明の実施の形態１から３のいずれかを実施して接続する。
【００８１】
このように、本実施の形態４より、階層ブロック間で複数のクロック系統のクロック遅延の調整を行う際にも、本発明の実施の形態１から３のいずれかを利用して、各階層ブロックに複数のエリア端子を設けると共に、各エリア端子を複数のクロックラインからクロック供給を行うようにすることにより、半導体集積回路装置のクロック遅延調整が可能となる。
【００８２】
（実施の形態５）
本発明の実施の形態５は、前記本発明の実施の形態１から４のいずれかの実施に際し階層トップのクロックラインの配線上でクロックの波形なまり対策を行う方法として、クロックラインの配線上に階層ブロック内または階層トップ上にリピーターバッファ回路を挿入したものである。
【００８３】
この方法によれば、任意にクロックラインの配線上にリピーターバッファ回路を設けることで、本発明の実施の形態１から４のいずれかの実施においても、クロックの波形なまり対策ができる。
【００８４】
以下、本発明の実施形態５について図面を用いて説明する。
【００８５】
図５に本発明の実施の形態５に係わる階層ブロック間のクロックラインにおける波形なまりを対策する方法を示す。図５において、フロアプランから、半導体チップのバウンダリー４０８内で階層ブロックＡ４０２、階層ブロックＢ、階層ブロックＣ４０４、階層ブロックＤ４０５のクロック入力専用のエリア端子４０９と半導体チップのクロック入力端子４００間のクロックラインの配線４０１経路に、それぞれ波形なまりが発生しやすい箇所を予測する。そして、フロアプランから状況に応じて、波形なまりが生じ易い箇所にリピーターバッファ回路を挿入する。
【００８６】
そこで、予測した箇所に階層ブロック内のクロックラインのリピーターバッファ回路４０６または階層ブロック間のクロックラインのリピーターバッファ回路４０７を挿入して配線接続をする。
【００８７】
このように、本実施の形態５より、本発明の実施の形態１から４のいずれにおいても、階層トップのクロックラインの配線上の波形なまり対策を行いつつ、半導体集積回路装置のクロック遅延調整を行うことができる。
【００８８】
（実施の形態６）
本発明の実施の形態６は、階層ブロック内のフリップフロップ回路までのクロックライン上にクロック制御回路が挿入されている場合のクロック遅延を調整する方法において以下のような手順で、回路設計がなされる。
【００８９】
ここでは、まず
１．階層ブロック内のクロックラインでクロック制御回路の入力前にクロック入力専用のエリア端子を設置する。そして
２．クロック制御のゲート回路以降で、各フリップフロップ回路のクロック遅延をクロックラインの遅延調整バッファ回路を使用して調整する。そして
３．階層トップ上で前記本発明の実施の形態１から３のクロックラインの配線を分配した接続をする。
【００９０】
この方法によれば、階層ブロック内のクロックラインにクロック制御のゲート回路が存在しても、階層トップ上で本発明の実施の形態１から４の実施によるクロック遅延調整が可能となる。
【００９１】
以下、本発明の実施の形態６について図面を用いて説明する。
【００９２】
図６に本発明の実施の形態６に係わる階層ブロック内の回路でクロックラインにゲート回路がある場合のクロック遅延を調整する方法を示す。図６において、階層ブロック５０１内のクロック信号を止める用途に使われる制御端子５１０を付属したクロック制御のゲート回路５０９の入力前のクロックラインの配線５００上で、それぞれクロック入力専用のエリア端子Ａ５０２、クロック入力専用のエリア端子Ｂ５０３、クロック入力専用のエリア端子Ｃ５０４、クロック入力専用のエリア端子Ｄ５０５を設ける。各５０２、５０３、５０４、５０５から５０９をはさむフリップフロップ回路５０６のフリップフロップ回路のクロック端子５０７までのクロック遅延の調整はゲート回路５０９とフリップフロップ回路５０６の間にクロックラインの遅延調整バッファ回路５０８を挿入して調整を行う。その後、前記本発明の実施の形態１、２、３の実施に応じて階層トップ上でクロックライン５００の配線接続をする。
【００９３】
このように、本実施の形態６より、階層ブロック内のクロックラインにクロック制御のゲート回路が存在しても、ゲート回路の入力の前にクロック入力専用のエリア端子を設置し、階層ブロック内のクロック遅延調整はゲート回路とフリップフロップ回路間にクロックラインの遅延調整バッファ回路を使用して調整する。また、階層トップ上では前記本発明の実施の形態１から４に応じて調整することにより、半導体集積回路装置のクロック遅延調整を行うことができる。
【００９４】
（実施の形態７）
本発明の実施の形態７は、階層ブロックの回転の配置向き変更、サイズ変更、配置位置変更などのフロアプラン修正が起きた時、修正前の階層トップ上のクロックラインの配線経路を再利用する方法において以下のような手順で、回路設計がなされる。
【００９５】
ここでは、フロアプラン修正する階層ブロックでクロック遅延調整をするソースポイントを決定する時に、フロアプラン修正前のクロックラインの配線経路にクロック入力専用のエリア端子が接続できる位置に決定してフロアプランを修正する。
【００９６】
この方法によれば、階層ブロックのフロアプラン修正後もフロアプラン修正前のクロックラインの配線経路に接続できる位置にクロック入力専用のエリア端子を設けているのでクロックラインの配線経路を再利用することができる。
【００９７】
以下、本発明の実施形態７について図面を用いて説明する。
【００９８】
図７に本発明の実施の形態７に係わる階層ブロック間のクロック分配でＨ型配線した例を示す。また、図８に本発明の実施の形態７に係る階層ブロック間のＨ型のクロック分配配線経路を用いたフロアプラン修正に対応する方法を示す。図７において、階層ブロックＡ６０２、階層ブロックＢ６０３、階層ブロックＣ６０４、階層ブロックＤ６０５上のそれぞれのクロック入力専用のエリア端子と半導体チップのクロック入力端子６００までがＨ型のクロックラインの配線６０１でクロック分配されて接続されている。
【００９９】
この状態で、図８においてフロアプラン修正前のフロアプランの原型７００を定義する。フロアプランの修正で、階層ブロックの回転による向き変更によるフロアプラン修正７０１、階層ブロックのサイズ変更によるフロアプラン修正７０２、階層ブロックの配置位置変更によるフロアプラン修正７０３が生じても、フロアプラン修正前の７００の６０１経路に修正後の階層ブロックのクロック入力専用のエリア端子が接続できる位置にあれば、そのまま修正前の６０１経路を利用することができることがわかる。
【０１００】
このように、本実施の形態７より、階層ブロックのフロアプラン修正が起きても、フロアプラン修正する階層ブロックでクロック遅延調整をするソースポイントを決定する時に、フロアプラン修正前のクロックラインの配線経路にクロック入力専用のエリア端子が接続できる位置に決定すれば、修正前の配線経路をそのまま利用することができる。
【０１０１】
なお、前記実施の形態においては、クロック入力専用のエリア端子を用いたが、必ずしも専用でなくても良く、テスト端子としても使用することも可能であるが、配線接続などに制約を受けない場所に設置されているのが望ましい。
【０１０２】
また、クロックラインは、専用の配線層として、上位層に形成するのが、自由度が高い点で望ましいが、形成する層は上位層に限定されるものではなく、他の配線層の形成された層内に形成するようにしてもよい。
【０１０３】
（実施の形態８）
本発明の実施の形態８は、半導体チップのクロック入力端子から各階層ブロックのクロック入力専用のエリア端子までを等長配線による１チップの階層ブロック間のクロック遅延調整した後で、ある階層ブロックのクロック入力専用のエリア端子から各フリップフロップ回路のクロック端子までのクロックライン上でクロック遅延値が同期目標とする値を満たしてない箇所が発生した場合に、再度対象となるクロックライン上の箇所にクロックツリーシンセシス(ＣＴＳ)法などで遅延調整バッファ回路を挿入して、クロック遅延を調整する。
【０１０４】
この方法によれば、１チップの階層ブロック間のクロック遅延調整した後で、クロック遅延の同期がとれていない階層ブロックに対して、再度クロックツリーシンセシス(ＣＴＳ)法などで遅延調整バッファ回路を挿入して、クロック遅延を調整することにより、１チップの階層ブロック間のクロック遅延の同期が可能となる。
【０１０５】
以下、本発明の実施の形態８について図面を用いて説明する。
【０１０６】
図９に本発明の実施の形態８に係る再度クロック遅延調整を階層ブロックに施し１チップのクロック遅延を調整する方法を示す。図９において、階層ブロックのクロック遅延を調整する工程８００、１チップの階層ブロック間のクロック遅延を調整する工程８０１を経て、ある階層ブロックでクロック遅延値の同期がずれる箇所が発生する工程８０２が発生した場合、再び階層ブロックのクロック遅延を調整する工程８０３で８０２工程のクロック遅延値の同期がずれる問題に対応する。
【０１０７】
このように、本実施の形態８より、１チップの階層ブロック間のクロック遅延調整した後で、クロック遅延の同期がとれていない階層ブロックが存在しても、対象となる階層ブロックに再度クロックツリーシンセシス(ＣＴＳ)法などで遅延調整バッファ回路を挿入して、クロック遅延して、１チップの階層ブロック間のクロック遅延の同期をとることにより、半導体集積回路装置のクロック遅延調整を行うことができる。
【産業上の利用可能性】
【０１０８】
本発明は、種々の半導体集積回路の設計において適用可能であり、特にクロック遅延の問題となるような回路に有効であって各階層ブロックの回路設計条件に応じて、クロック遅延を調整する細かいソースポイントを検討して、そのポイントに階層ブロック上で自由に位置が決定されて、必要に応じて複数個のクロック入力用のエリア端子を設けることにより、階層ブロック内のエリア端子からクロック入力回路までのクロック遅延の同期を容易に実現することができる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態１に係る等長配線のクロック分配配線による階層トップ上のクロック遅延を調整する方法を示す図である。
【図２】本発明の実施の形態２に係るクロック遅延のばらつきを考慮したクロック分配配線による階層トップ上のクロック遅延を調整する方法を示す図である。
【図３】本発明の実施の形態３に係るクロック分配配線による階層トップ上のクロック遅延を調整する方法を示す図である。
【図４】本発明の実施の形態４に係る多系統クロックにおける階層トップ上のクロック遅延を調整する方法を示す図である。
【図５】本発明の実施の形態５に係る階層トップ上のクロックラインにおける波形なまりを対策する方法を示す図である。
【図６】本発明の実施の形態６に係る階層ブロック内の回路でクロックラインにゲート回路がある場合のクロック遅延を調整する方法を示す図である。
【図７】本発明の実施の形態７に係る階層トップ上のクロック分配でＨ型配線にした例を示す図である。
【図８】本発明の実施の形態７に係る階層トップ上のＨ型のクロック分配配線経路を用いたフロアプラン修正に対応する方法を示す図である。
【図９】本発明の実施の形態８に係る再度クロック遅延調整を階層ブロックに施し１チップのクロック遅延を調整する方法を示す図である。
【図１０】従来の等長配線のクロック分配配線による階層トップ上のクロック遅延を調整する方法を示す図である。
【符号の説明】
【０１１０】
１００  半導体チップのクロック入力端子
１０１  クロックラインの配線
１０２  階層ブロック
１０３  階層ブロック
１０４  階層ブロック
１０５  階層ブロック
１０６  半導体チップのバウンダリー
１０２Ｔ１、１０２Ｔ２、１０３Ｔ、１０４Ｔ１、１０４Ｔ２、１０４Ｔ３  ク
ロック入力専用のエリア端子
２００  半導体チップのクロック入力端子
２０１  クロックラインの配線
２０２  階層ブロック
２０３  階層ブロック
２０４  クロック入力専用のエリア端子
２０５  クロック入力専用のエリア端子
２０６  クロック入力専用のエリア端子
２０７  クロック遅延値の条件
２０８  クロック配線長の条件
３００  半導体チップのクロック入力端子Ａ
３０１  クロックラインＡの配線
３０２  クロックラインＢの配線
３０３  半導体チップのクロック入力端子Ｂ
３０４  クロックラインＡに属するエリア端子
３０５  クロックラインＢに属するエリア端子
３０６  階層ブロック
３０７  階層ブロック
４００  半導体チップのクロック入力端子
４０１  クロックラインの配線
４０２  階層ブロック
４０３  階層ブロック
４０４  階層ブロック
４０５  階層ブロック
４０６  階層ブロック内のクロックラインのリピーターバッファ回路
４０７  階層ブロック間のクロックラインのリピーターバッファ回路
４０８  半導体チップのバウンダリー
４０２Ｔ１、４０２Ｔ２、４０３Ｔ、４０４Ｔ１、４０４Ｔ２、４０４Ｔ３  クロック入力専用のエリア端子
５００  クロックラインの配線
５０１  階層ブロック
５０２  クロック入力専用のエリア端子
５０３  クロック入力専用のエリア端子
５０４  クロック入力専用のエリア端子
５０５  クロック入力専用のエリア端子
５０６  フリップフロップ回路
５０７  フリップフロップ回路のクロック端子
５０８  クロックラインの遅延調整バッファ回路
５０９  クロック制御のゲート回路
５１０  制御端子
６００  半導体チップのクロック入力端子
６０１  Ｈ型のクロックラインの配線
６０２  階層ブロック
６０３  階層ブロック
６０４  階層ブロック
６０５  階層ブロック
６０６  クロック入力専用のエリア端子
７００  フロアプランの原型
７０１  階層ブロックの回転の配置向き変更によるフロアプラン修正
７０２  階層ブロックのサイズ変更によるフロアプラン修正
７０３  階層ブロックの配置位置変更によるフロアプラン修正
８００  階層ブロックのクロック遅延を調整する工程
８０１  １チップの階層ブロック間のクロック遅延を調整する工程
８０２  ある階層ブロックでクロック遅延値の同期がずれる箇所が発生する工程
８０３  再び階層ブロックのクロック遅延を調整する工程
９００  半導体チップのクロック入力端子
９０１  クロックラインの配線
９０２  階層ブロック
９０３  階層ブロック
９０４  階層ブロック
９０５  階層ブロック
９０６  半導体チップのバウンダリー
９０７  クロック入力端子
【図１】
2004253772.tif 000003
【図２】
2004253772.tif 000004
【図３】
2004253772.tif 000005
【図４】
2004253772.tif 000006
【図５】
2004253772.tif 000007
【図６】
2004253772.tif 000008
【図７】
2004253772.tif 000009
【図８】
2004253772.tif 000010
【図９】
2004253772.tif 000011
【図１０】
2004253772.tif 000012