(57)【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウトを行うプログラムであって、
前記半導体集積回路は、多相クロック信号を分配するためのクロック配線を有し、前記半導体集積回路の内部コア領域は、複数の分割領域に区分けされており、
前記プログラムは、
（Ａ）ネットリストを読み込むステップと、
（Ｂ）前記複数の分割領域による分割状態を示す領域データを読み込むステップと、
（Ｃ）前記複数の分割領域のそれぞれに対して、前記多相クロック信号のうち割り当てられるクロック信号を示す割当データを読み込むステップと、
（Ｄ）前記複数の分割領域のそれぞれに配置可能な順序回路セルの種類名を示す下地データを読み込むステップと、
（Ｅ）前記割当データを参照し、前記種類名を、前記割り当てられたクロック信号と対応付けられた新たな種類名に変更することによって、前記下地データを新たな下地データに変更するステップと、
（Ｆ）前記ネットリスト中の前記順序回路セルの種類名を、前記新たな種類名に変更することによって、前記ネットリストを新たなネットリストに変更するステップと、
（Ｇ）前記新たな下地データ及び前記新たなネットリストを参照して、前記割り当てられたクロック信号が供給される順序回路セルを、前記複数の分割領域ごとに配置するステップと
をコンピュータに実行させるための
レイアウトプログラム。
【請求項２】
請求項１に記載のレイアウトプログラムであって、
前記（Ｃ）ステップの前に、
（Ｃ０）前記ネットリスト及び前記領域データを参照したユーザの指定に応答して、前記割当データを作成するステップを
更にコンピュータに実行させるための
レイアウトプログラム。
【請求項３】
請求項１又は２に記載のレイアウトプログラムであって、
（Ｈ）所定のライブラリを参照し、前記クロック配線が等配線長を有するようにクロックネットを変更するステップを
更にコンピュータに実行させるための
レイアウトプログラム。
【請求項４】
請求項１乃至３のいずれかに記載のレイアウトプログラムであって、
（Ｉ）前記クロック配線が等負荷になるように、前記複数の分割領域ごとにダミーセルを配置するステップを
更にコンピュータに実行させるための
レイアウトプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト方法及び半導体集積回路に関し、特にクロック信号のスキューが起きないような配置を可能にする技術に関する。
【０００２】
【従来の技術】
従来、短時間でＬＳＩ等の半導体集積回路を設計する技術としてセミカスタム設計手法がある。特に、この手法には、論理ゲート、フリップフロップ等の基本レベルの機能を有するセルを作り込んだマスタスライスを予め作成しておき、その後は利用者が個別に与えられた論理回路に従って配線パターンを決定して所望の半導体集積回路を実現していくマスタースライス方式がある。
【０００３】
このようなマスタースライス方式の半導体集積回路として、例えば、特開平６−１８８３９７号公報は、順序回路セルをマスターチップ上の特定の場所に配置することにより、順序回路のクロックラインの長さのバラツキにより発生するクロックスキューを低減させる半導体集回路を開示している。しかし、この公報には、順序回路セルが配置された構造は示されているが、その構造を実現するための具体的な配置方法は示されていない。
【０００４】
セルを特定の場所に配置する方法として、一般に、ユーザが座標を指定して配置する「強制配置方法」と、配置領域とその領域に配置するセル指定して配置ツールで自動配置させる「グループ配置方法」が知られている。上記公報に開示された半導体集積回路においては、順序回路セルの配置は、強制配置方法かグループ配置方法を用いて行われるものと考えられる。
【０００５】
【発明が解決しようとする課題】
しかしながら、近年の半導体集積回路では、１つのクロック信号で駆動される順序回路は数千個に及ぶことがあり、他のクロック信号で駆動される順序回路も同様である。従って、従来の強制配置方法で全ての順序回路を強制配置方法で配置することは実質的に不可能である。
【０００６】
一方、グループ配置方法では、複数のクロック信号で駆動される順序回路が含まれる場合、同一階層に異なるクロック信号が供給されていることもあるので、特定のクロック信号が供給される順序回路セルだけを抜き出したグループを作成して配置することは困難である。
【０００７】
本発明は、上述した問題を解決するためになされたものであり、その目的は、低スキューの多層クロックを分配できるクロック分配方法及び半導体集積回路を提供することにある。
【０００８】
【課題を解決するための手段】
以下に、［発明の実施の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明の実施の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明の第１の態様に係る半導体集積回路のレイアウト方法は、順序回路セル（２）を含むセルが全面に配置された半導体チップ（１）上の内部コア領域が複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）に分割され、該複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の各々にクロック信号（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）がクロックツリー構造によって分配されるように配線された下地情報（５０）を提供するステップと、論理回路を構成するセルの接続状態を表す接続情報（５１）に含まれるクロック信号（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）を前記複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の何れかに割り当てる割当ステップと、この割り当てによって得られた割当情報に基づいて、同一種類のクロック信号が供給される順序回路セル（２）のみが配置されるように前記下地情報（５０）を一時的に変更する下地情報変更ステップと、該変更された下地情報（５０ａ）に対応するように前記接続情報（５１）を変更する接続情報変更ステップと、該変更された接続情報（５１ａ）に基づいて配置を行うステップ、とを備えている。
【００１０】
この半導体集積回路のレイアウト方法において、前記割当ステップは、前記複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の何れかがグラフィカルインタフェースを用いて指定されることにより行われるように構成できる。また、前記割当ステップは、予め作成された前記クロック信号（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）と前記複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の何れかとの対応を記憶した割当情報ファイルを読み出すことにより行われるように構成できる。更に、前記下地情報変更ステップは、同一種類のクロック信号が供給される順序回路セル（２）が配置される領域の下地情報（５０）の名前を一時的に変更するように構成できる。
【００１１】
本発明の第２の態様に係る半導体集積回路は、順序回路セル（２）を含むセルが全面に配置された半導体チップ（１）上の内部コア領域が複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）に分割され、該複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の各々にクロック信号（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）がクロックツリー構造によって分配されるように配線された下地情報（５０）が提供され、論理回路を構成するセルの接続状態を表す接続情報（５１）に含まれるクロック信号を前記複数の領域（Ａｒｅａ１〜Ａｒｅａ１６）の何れかに割り当て、この割り当てによって得られた割当情報に基づいて、同一種類のクロック信号が供給される順序回路セル（２）のみが配置されるように前記下地情報（５０）を一時的に変更し、該変更された下地情報（５０ａ）に対応するように前記接続情報（５１）を変更し、該変更された接続情報（５１ａ）に基づいて配置を行うことにより製造される。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態に係る半導体集積回路のレイアウト方法及びその方法を用いた半導体集積回路を、図面を参照しながら詳細に説明する。
【００１３】
本願出願人は、従来のマスタースライス方式の半導体集積回路における順序回路間のクロックスキューが大きいという問題及び消費電力が大きいという問題を解消するために、等負荷・等配線長のクロックツリー構造を有する「半導体集積回路とそのレイアウト方法」（以下、本明細書において「先の出願」という）を発明して出願中である（特願２００１−２５９１３６）。
【００１４】
本発明は、この先の出願の「半導体集積回路とそのレイアウト方法」に好適なものである。従って、本発明の実施の形態を説明するに先だって、この先の出願の内容について説明する。
【００１５】
図１は、先の出願に係るマスタースライス方式の半導体集積回路のチップ構造を示す平面図である。このマスタースライス方式の半導体集積回路１は、出力が現在の入力のみでは定まらず入力の過去の履歴に依存する順序回路（Ｓｅｑｕｅｎｔｉａｌ  Ｃｉｒｃｕｉｔ）セル２と、出力が現在の入力のみに依存して定められる組合せ回路（Ｃｏｍｂｉｎａｔｉｏｎ  Ｃｉｒｃｕｉｔ）セル３とを半導体チップ上の内部コア領域内に交互に配置している。
【００１６】
さらに、先の出願に係るマスタースライス方式の半導体集積回路では、図１に示すように、内部コア領域をほぼ均等な大きさの１６個の分割領域Ａｒｅａ１，Ａｒｅａ２，Ａｒｅａ３，Ａｒｅａ４，Ａｒｅａ５，Ａｒｅａ６，Ａｒｅａ７，Ａｒｅａ８，Ａｒｅａ９，Ａｒｅａ１０，Ａｒｅａ１１，Ａｒｅａ１２，Ａｒｅａ１３，Ａｒｅａ１４，Ａｒｅａ１５，Ａｒｅａ１６に分割している。
【００１７】
そして、各分割領域Ａｒｅａ１〜Ａｒｅａ１６に多相クロック信号ＣＬＫ＿Ａ，ＣＬＫ＿Ｂ，ＣＬＫ＿Ｃ，ＣＬＫ＿Ｄ，ＣＬＫ＿Ｅ，ＣＬＫ＿Ｆ，ＣＬＫ＿Ｇ，ＣＬＫ＿Ｈを選択的に分配可能にすべく、クロック分配用高駆動マルチプレクサＭＣ１０１〜ＭＣ１０８，ＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６を用いた等負荷・等配線長のクロックツリー構造を形成する。マルチプレクサＭＣ１０１〜ＭＣ１０８，ＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６は、複数の入力の中から何れか１つを選択して出力するものである。
【００１８】
クロックツリー構造は、各デザインでどの順序回路セル２が使用されるかどうかに依存せず、あらかじめ汎用的に形成される。例えば、図１に示すように、チップの中央部にマルチプレクサＭＣ１０１〜ＭＣ１０８が配置され、４つの分割領域Ａｒｅａ１〜Ａｒｅａ４の中央部にマルチプレクサＭＣ２０１〜ＭＣ２０４が配置され、４つの分割領域Ａｒｅａ５〜Ａｒｅａ８の中央部にマルチプレクサＭＣ２０５〜ＭＣ２０８が配置され、４つの分割領域Ａｒｅａ９〜Ａｒｅａ１２の中央部にマルチプレクサＭＣ２０９〜ＭＣ２１２が配置され、４つの分割領域Ａｒｅａ１３〜Ａｒｅａ１６の中央部にマルチプレクサＭＣ２１３〜ＭＣ２１６が配置される。さらに、分割領域Ａｒｅａ１〜Ａｒｅａ１６の各々の中央部付近にマルチプレクサＭＣ３０１〜ＭＣ３１６が１つずつ配置される。
【００１９】
図２〜図５は前記クロックツリー構造の回路構成を示す回路図である。多相クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈは、外部からマルチプレクサＭＣ１０１〜ＭＣ１０８に共通に分配される。マルチプレクサＭＣ１０１〜ＭＣ１０４の各出力はマルチプレクサＭＣ２０１〜ＭＣ２０８に共通に分配され、マルチプレクサＭＣ１０５〜ＭＣ１０８の各出力はマルチプレクサＭＣ２０９〜ＭＣ２１６に共通に分配される。
【００２０】
さらに、マルチプレクサＭＣ２０１，ＭＣ２０２の各出力はマルチプレクサＭＣ３０１，ＭＣ３０２に共通に分配され、マルチプレクサＭＣ２０３，ＭＣ２０４の各出力はマルチプレクサＭＣ３０３，ＭＣ３０４に共通に分配され、マルチプレクサＭＣ２０５，ＭＣ２０６の各出力はマルチプレクサＭＣ３０５，ＭＣ３０６に共通に分配され、マルチプレクサＭＣ２０７，ＭＣ２０８の各出力はマルチプレクサＭＣ３０７，ＭＣ３０８に共通に分配され、マルチプレクサＭＣ２０９，ＭＣ２１０の各出力はマルチプレクサＭＣ３０９，ＭＣ３１０に共通に分配され、マルチプレクサＭＣ２１１，ＭＣ２１２の各出力はマルチプレクサＭＣ３１１，ＭＣ３１２に共通に分配され、マルチプレクサＭＣ２１３，ＭＣ２１４の各出力はマルチプレクサＭＣ３１３，ＭＣ３１４に共通に分配され、マルチプレクサＭＣ２１５，ＭＣ２１６の各出力はマルチプレクサＭＣ３１５，ＭＣ３１６に共通に分配される。
【００２１】
マルチプレクサＭＣ３０１の出力は、分割領域Ａｒｅａ１内の順序回路セル２に分配される。図１では、フリップフロップ（ＦＦ）にマルチプレクサＭＣ３０１の出力を分配している。同様に、マルチプレクサＭＣ３０２〜ＭＣ３１６の出力は、それぞれ分割領域Ａｒｅａ２〜Ａｒｅａ１６内の順序回路セル２に分配される。
【００２２】
外部からマルチプレクサＭＣ１０１〜ＭＣ１０８に多相クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈを供給する各配線は、マルチプレクサＭＣ１０１〜ＭＣ１０８までの配線長が互いに等しくなるように配設される。マルチプレクサＭＣ１０１〜ＭＣ１０８の出力をマルチプレクサＭＣ２０１〜ＭＣ２１６に供給する各配線は、マルチプレクサＭＣ２０１〜ＭＣ２１６までの配線長が互いに等しくなるように配設される。
【００２３】
また、マルチプレクサＭＣ２０１〜ＭＣ２１６の出力をマルチプレクサＭＣ３０１〜ＭＣ３１６に供給する各配線は、マルチプレクサＭＣ３０１〜ＭＣ３１６までの配線長が互いに等しくなるように配設される。さらに、マルチプレクサＭＣ３０１〜ＭＣ３１６の出力を順序回路セル２に供給する各配線は、順序回路セル２までの配線長が互いに等しくなるように配設される。
【００２４】
マルチプレクサＭＣ１０１〜ＭＣ１０８には外部から３つの制御信号Ｓ０，Ｓ１，Ｓ２が与えられ、マルチプレクサＭＣ２０１〜ＭＣ２１６には２つの制御信号Ｓ０，Ｓ１が与えられ、マルチプレクサＭＣ３０１〜ＭＣ３１６には制御信号Ｓ０が与えられる。なお、制御信号の符号をマルチプレクサ毎に変えると、記載に要する図面スペースが大幅に増えるため、図２〜図５では制御信号をＳ０，Ｓ１，Ｓ３の３つのみで表しているが、制御信号Ｓ０，Ｓ１，Ｓ３はマルチプレクサ毎に異なるものである。
【００２５】
次に、上記のように構成される半導体集積回路のクロックツリー構造の動作について説明する。この半導体集積回路では、マルチプレクサＭＣ１０１〜ＭＣ１０８，ＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６を通じて各分割領域Ａｒｅａ１〜Ａｒｅａ１６に多相クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈを選択的に分配することができる。
【００２６】
図６は、クロック分配用高駆動マルチプレクサＭＣ１０１〜ＭＣ１０８，ＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６の制御信号Ｓ０，Ｓ１，Ｓ３とチップ上の各分割領域Ａｒｅａ１〜Ａｒｅａ１６に分配されるクロック信号との関係を示す図である。ただし、図６では、マルチプレクサＭＣ１０１〜ＭＣ１０４，ＭＣ２０１〜ＭＣ２０４，ＭＣ３０１〜ＭＣ３０４の制御信号Ｓ０，Ｓ１，Ｓ３と分割領域Ａｒｅａ１〜Ａｒｅａ４に分配されるクロック信号についてのみ記載している。
【００２７】
マルチプレクサＭＣ１０１〜ＭＣ１０８は、制御信号Ｓ０，Ｓ１，Ｓ３が「０００」のときクロック信号ＣＬＫ＿Ａを選択して出力する。同様に、マルチプレクサＭＣ１０１〜ＭＣ１０８は、制御信号Ｓ０，Ｓ１，Ｓ３が「００１」のときＣＬＫ＿Ｂ、「０１０」のときＣＬＫ＿Ｃ、「０１１」のときＣＬＫ＿Ｄ、「１００」のときＣＬＫ＿Ｅ、「１０１」のときＣＬＫ＿Ｆ、「１１０」のときＣＬＫ＿Ｇ、「１１１」のときＣＬＫ＿Ｈを選択して出力する。
【００２８】
ＭＣ２０１〜ＭＣ２１６は、制御信号Ｓ０，Ｓ１が「００」のとき１番目の入力（例えばＭＣ２０１の場合、ＭＣ１０１の出力）を選択して出力する。同様に、ＭＣ２０１〜ＭＣ２１６は、制御信号Ｓ０，Ｓ１が「０１」のとき２番目の入力（ＭＣ２０１の場合、ＭＣ１０２の出力）、「１０」のとき３番目の入力（ＭＣ２０１の場合、ＭＣ１０３の出力）、「１１」のとき４番目の入力（ＭＣ２０１の場合、ＭＣ１０４の出力）を選択して出力する。
【００２９】
ＭＣ３０１〜ＭＣ３１６は、制御信号Ｓ０が「０」のとき１番目の入力（例えばＭＣ３０１の場合、ＭＣ２０１の出力）を選択して出力し、制御信号Ｓ０が「１」のとき２番目の入力（ＭＣ３０１の場合、ＭＣ２０２の出力）を選択して出力する。
【００３０】
したがって、図６のように各マルチプレクサＭＣ１０１〜ＭＣ１０４，ＭＣ２０１〜ＭＣ２０４，ＭＣ３０１〜ＭＣ３０４の制御信号Ｓ０，Ｓ１，Ｓ３の値を設定すれば、分割領域Ａｒｅａ１，Ａｒｅａ２にクロック信号ＣＬＫ＿Ａ又はＣＬＫ＿Ｂ、分割領域Ａｒｅａ３，Ａｒｅａ４にクロック信号ＣＬＫ＿Ｃ又はＣＬＫ＿Ｄを選択的に分配することができる。その他のマルチプレクサＭＣ１０５〜ＭＣ１０８，ＭＣ２０５〜ＭＣ２１６，ＭＣ３０５〜ＭＣ３１６についても同様の制御が可能であり、分割領域Ａｒｅａ５〜Ａｒｅａ１６に多相クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈを選択的に分配することができる。
【００３１】
なお、多相クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈのうちどのクロック信号をどの分割領域に分配するかは、半導体集積回路の仕様によって決まる。そして、制御信号Ｓ０，Ｓ１，Ｓ３の設定は、チップ上に順序回路セル２及び組合せ回路セル３を形成した後の配線工程時に行われる。すなわち、値を「１」に設定する制御信号については電源につなぐ配線パターンを形成し、値を「０」に設定する制御信号については接地につなぐ配線パターンを形成すればよい。
【００３２】
次に、未使用の余剰順序回路セル２の処理について説明する。図７（ａ）は順序回路セル２の第１の構成例を示す回路図、図７（ｂ）は図７（ａ）の順序回路セル２の回路記号を示す図である。図７に示す順序回路セル２はＤ型フリップフロップであり、インバータＩＮＶ１〜ＩＮＶ８と、トランスミッションゲートＴＧ１〜ＴＧ４とから構成される。
【００３３】
この第１の構成に係る順序回路セル２を有する半導体集積回路では、チップ上に順序回路セル２及び組合せ回路セル３を形成する段階では、各順序回路セル２のクロック入力部の初段ゲート（インバータＩＮＶ２）の出力端子と、その後段ゲート（インバータＩＮＶ３）の入力端子との間を未配線（図７（ａ）の破線部）としておく。
【００３４】
各順序回路セル２を使用するか否かは半導体集積回路の仕様により異なる。使用する順序回路セル２については、配置配線工程で、クロック入力部の初段ゲートＩＮＶ２の出力端子と後段ゲートＩＮＶ３の入力端子間をつなぐ配線パターンを形成する。一方、使用しない順序回路セル２については、クロック入力部の初段ゲートＩＮＶ２の出力端子と後段ゲートＩＮＶ３の入力端子間を未配線のままとし、後段ゲートＩＮＶ３の入力端子ＣＢを電源又は接地につなぐ配線パターンを配置配線工程時に形成する。
【００３５】
こうして、使用される順序回路セル２のクロック入力部では、図８（ａ）に示すように、クロック信号ＣＬＫ（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）に応じて後段ゲートＩＮＶ３の入力端子ＣＢ及び出力端子Ｃの電位が変化する。一方、未使用の順序回路セル２のクロック入力部では、図８（ｂ）に示すように、後段ゲートＩＮＶ３の入力端子ＣＢ及び出力端子Ｃの電位が不変となり、クロック信号ＣＬＫに応じたスイッチング動作は行われない。
【００３６】
各マルチプレクサＭＣ３０１〜ＭＣ３１６から見た負荷は順序回路セル２のクロック入力部の初段ゲートなので、各マルチプレクサＭＣ３０１〜ＭＣ３１６に順序回路セル２を均等に割りつけておけば、各マルチプレクサＭＣ３０１〜ＭＣ３１６と接続されるゲート数が同一となり、フローテイングゲートを発生させることなく、各マルチプレクサＭＣ３０１〜ＭＣ３１６の負荷を等しくすることができる。
【００３７】
また、この第１の構成に係る順序回路セル２を有する半導体集積回路では、使用しない余剰順序回路セル２のクロック入力部の初段ゲートの出力端子と後段ゲートの入力端子間を未配線とすることにより、この余剰順序回路セル２では、図９の斜線を施したインバータＩＮＶ３、トランスミッションゲートＴＧ１〜ＴＧ４が非負荷トランジスタとなるので、使用するか否かに関係なく全ての順序回路セルが負荷となる従来の半導体集積回路と比べて消費電力を低減することができる。
【００３８】
なお、この半導体集積回路では、クロック信号の相数を８、マルチプレクサＭＣ１０１〜ＭＣ１０８，ＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６の入力信号数をそれぞれ８，４，２、クロックツリー段数を３、チップの分割領域数を１６としているが、これに限るものではないことは言うまでもない。また、この半導体集積回路では、クロックツリーの全てをマルチプレクサで構成しているが、これに限るものではなく、マルチプレクサの代わりに一部をクロックバッファにしてもよい。
【００３９】
また、この半導体集積回路では、順序回路セル２と組合せ回路セル３とを１列毎に交互に配置しているが、順序回路セル２と組合せ回路セル３とを１行毎に交互に配置してもよく、また順序回路セル２と組合せ回路セル３とを市松模様に配置してもよい。なお、順序回路セル２と組合せ回路セル３とを交互に配置するのは、順序回路セル２を分割領域内に均一に配置して、マルチプレクサからの配線長を等しくするためである。
【００４０】
図１０（ａ）は順序回路セル２の他の構成例を示す回路図、図１０（ｂ）は図１０（ａ）の順序回路セル２の回路記号を示す図であり、図７と同様の構成には同一の符号を付してある。図１０に示す順序回路セル２はイネーブル機能付きのＤ型フリップフロップであり、インバータＩＮＶ１，ＩＮＶ３〜ＩＮＶ８と、トランスミッションゲートＴＧ１〜ＴＧ４と、否定論理積ゲートＮＡＮＤ１とから構成される。
【００４１】
この第２の構成に係る順序回路セル２を有する半導体集積回路では、上述した第１の構成に係る順序回路セル２を有する半導体集積回路と異なり、チップ上に順序回路セル２及び組合せ回路セル３を形成する段階で、各順序回路セル２のクロック入力部の初段ゲートＮＡＮＤ１の出力端子とその後段ゲートＩＮＶ３の入力端子とを接続しておく。そして、使用する順序回路セル２については、配置配線工程時に、クロックイネーブル信号ＣＬＫ＿ＥＮが「１」となる配線パターン（電源に接続される配線パターン）を形成し、使用しない余剰順序回路セル２については、クロックイネーブル信号ＣＬＫ＿ＥＮが「０」となる配線パターン（接地に接続される配線パターン）を形成する。
【００４２】
これにより、使用される順序回路セル２のクロック入力部では、図１１（ａ）に示すように、クロック信号ＣＬＫ（ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ）に応じて、後段ゲートＩＮＶ３の入力端子ＣＢ及び出力端子Ｃの電位が変化する。一方、未使用の順序回路セル２のクロック入力部では、図１１（ｂ）に示すように、後段ゲートＩＮＶ３の入力端子ＣＢ及び出力端子Ｃの電位が不変となり、クロック信号ＣＬＫに応じたスイッチング動作は行われない。
【００４３】
この結果、未使用の余剰順序回路セル２では、図１２の斜線を施したインバータＩＮＶ３、トランスミッションゲートＴＧ１〜ＴＧ４が非負荷トランジスタとなる。こうして、第１の構成に係る順序回路セル２を有する半導体集積回路と同様に、低スキューで、低消費電力という効果が得られる。
【００４４】
なお、第２の構成に係る順序回路セル２を有する半導体集積回路では、クロック入力部の初段ゲートに否定論理積ゲートを用いたが、これに限るものではなく、否定論理和ゲートを用いてもよい。否定論理和ゲートを用いる場合は、使用する順序回路セル２についてはクロックイネーブル信号ＣＬＫ＿ＥＮを「０」とし、使用しない余剰順序回路セル２についてはクロックイネーブル信号ＣＬＫ＿ＥＮを「１」とすればよい。ただし、第１の構成に係る順序回路セル２を有する半導体集積回路とクロックの位相を揃える必要が有る場合には、否定論理和ゲートのクロック入力の直前又は出力にインバータを１段設ける必要がある。
【００４５】
以上のように構成されるマスタースライス方式の半導体集積回路、つまり順序回路セル２と組合せ回路セル３とが半導体チップ上の内部コア領域内に交互に配置され、且つクロックツリー構造が形成された半導体集積回路は、ユーザに下地として提供される。ユーザは、この下地の上に配線層を形成することにより、所望の論理回路が搭載された半導体集積回路を作製する。
【００４６】
次に、以上のように構成されるマスタースライス方式の半導体集積回路において、順序回路セル２の配置及び配線を行う場合のレイアウトフローを、配置の処理を中心に説明する。なお、以下に説明する処理はコンピュータに搭載されたプログラムを用いて実行される。
【００４７】
このレイアウトフローでは、図１３のフローチャートに示すように、先ず、フロアプランが実行される（ステップＳ１０）。このフロアプランでは、下地情報５０、接続情報５１及び領域情報５２が作成され、それぞれ下地情報ファイル、接続情報ファイル及び領域情報ファイルに格納される。下地情報は、配置可能な順序回路セルの種類を表す順序回路セル種類名を含む。接続情報はネットリストとも呼ばれ、ユーザから提示された論理回路を構成するセルの接続状態を表す情報である。また、領域情報は、例えば、半導体チップ上の内部コア領域の分割状態、例えば内部コア領域が、分割領域Ａｒｅａ１〜Ａｒｅａ１６といった１６に分割されている旨の情報を含む。
【００４８】
次いで、クロックプランが実行される（ステップＳ１１）。このクロックプランでは、クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈを分配する分割領域をユーザに指定させる処理と、その指定に合わせて順序回路セル２を配置するための下地情報を一時的に変更する処理が行われる。
【００４９】
このクロックプランの処理の詳細を図１４に示したフローチャートを参照しながら説明する。先ず、クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈの分割領域Ａｒｅａ１〜Ａｒｅａ１６への割り当てが行われる（ステップＳ２０）。具体的には、先ず、ユーザは、グラフィカルユーザインタフェース（ＧＵＩ）を用いて、コンピュータの画面（図示しない）上で、クロック信号ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈの何れかを選択する。
【００５０】
これにより、接続情報と領域情報とに基づいて、選択されたクロック信号が供給される順序回路セルを配置可能な分割領域（以下、「指定可能領域」という）と、選択されたクロック信号が供給される順序回路セルを含む複数の分割領域（以下、「グループ領域」という）とが算出され、コンピュータの画面上に表示される。
【００５１】
この状態で、ユーザは、上記指定可能領域とグループ領域とが重なり合った分割領域の何れかを指定する。これにより、その指定された分割領域に選択されたクロック信号が割り当てられる。この割り当ての結果、つまりクロック信号と分割領域との対応関係は、割当情報５３として割当情報ファイルに格納される。なお、この割当情報５３は、別途作成して割当情報ファイルに格納しておくこともできる。
【００５２】
次いで、下地の変更が行われる（ステップＳ２１）。即ち、上記ステップＳ２０の処理によって又は予め作成されて割当情報ファイルに格納されている割当情報５３に基づいて、分割領域Ａｒｅａ１〜Ａｒｅａ１６の各々には同一種類のクロック信号が供給される順序回路セルだけが配置されるように、領域情報から求められた場所（分割領域）の下地情報が一時的に変更される。
【００５３】
ここで、一時的に変更とは、以下の意味である。即ち、下地情報は、本来は全ての分割領域において同じであるが、順序回路セルの配置の可否は下地情報によって決定されることから、選択されたクロック信号に対応付けられている分割領域にそのクロック信号が供給される順序回路セルだけが配置されるように、下地情報を一時的に変更するという意味である。
【００５４】
例えば、本来の下地情報に下地情報名としてＦＦが付されている場合に、クロック信号ＣＬＫ＿Ａに対応付けられている分割領域の下地情報名をＦＦ１に、クロック信号ＣＬＫ＿Ｂに対応付けられている分割領域の下地情報名をＦＦ２に、といった具合に変更する。これにより、後に行われる配置処理において、クロック信号ＣＬＫ＿Ａが供給される順序回路セルは下地情報名ＦＦ１を有する分割領域にのみ配置され、クロック信号ＣＬＫ＿Ｂが供給される順序回路セルは下地情報名ＦＦ２を有する分割領域にのみ配置されることになる。
【００５５】
このステップＳ２１の下地変更処理で変更された新たな下地情報５０ａは、下地情報ファイルに書き込まれる。
【００５６】
次いで、接続情報の変更が行われる（ステップＳ２２）。即ち、対応表ファイルに格納されている順序回路セル種類名と下地情報名との対応表５４を用いて、接続情報中のセル種類名がこの順序回路セル種類名に変更され、新たな接続情報が生成される。この生成された新たな接続情報５１ａは、接続情報ファイルに格納される。以上により、クロックプランの処理が終了する。
【００５７】
次に、レイアウトフローでは、配置が実行される（ステップＳ１２）。即ち、クロックプランで一時的に変更されて下地情報ファイルに格納されている下地情報５０ａ、接続情報ファイルに格納されている新たな接続情報５１ａ及び対応表ファイルに格納されている順序回路セル種類名と下地情報名との対応表５４が、既存の配置プログラムに入力され、ユーザが提示した論理回路を構成するセルの配置が実行される。
【００５８】
この配置プログラムを用いた配置においては、上述したように、同一種類のクロックが供給される順序回路セルは、そのクロック信号に対応付けられた分割領域に配置される。この場合、マルチプレクサＭＣ１０１〜ＭＣ１０８から順序回路セル２のクロック入力端子までのマルチプレクサの配置位置及び配線図形は下地として提供されているので、順序回路セルを配置するだけでクロック信号のスキューが発生しない半導体集積回路を製作できる。
【００５９】
次いで、クロックネットの置き換えが行われる（ステップＳ１３）。この処理では、クロック信号の接続情報を表すクロックネット及びそれに接続するネットが、予め用意されたルートバッファ（クロック分配用高駆動マルチプレクサＭＣ１０１〜ＭＣ１０８）から順序回路用セルの手前までのバッファ（クロック分配用高駆動マルチプレクサＭＣ２０１〜ＭＣ２１６，ＭＣ３０１〜ＭＣ３１６）の配置位置及び配線図形のライブラリで置き換えられ、新たな接続情報が作成される。
【００６０】
また、このクロックネットの置き換えの処理では、最終段の各マルチプレクサＭＣ３０１〜ＭＣ３１６に接続される順序回路セル２の数が異なることに起因する負荷のバラツキを抑えるために、順序回路セル２が配置されていない部分にダミーの負荷が配置される。ダミーの負荷としては、上述した未使用の余剰順序回路セル２を用いることができる。これにより、各マルチプレクサＭＣ３０１〜ＭＣ３１６の負荷が均等化され、負荷が異なることに起因するクロック信号のスキューの発生を抑えることができる。
【００６１】
次いで、配線処理が行われる（ステップＳ１４）。即ち、上記ステップＳ１３で作成された新たな接続情報に従って生成された下地の上に、配線層が形成される。この配線層では、ユーザが提示した論理回路を構成するための配線パターンが形成される。以上により、ユーザが提示した論理回路を構成するセルの配置及び配線が終了する。
【００６２】
以上説明したように、本発明の実施の形態に係る半導体集積回路のレイアウト方法によれば、半導体チップ上の内部コア領域を、順序回路セルを配置できる複数の分割領域に分割し、その各々に対して割り当てるクロック信号をグラフィカルユーザインタフェース又は予め用意された割当情報ファイルで指定することができるので、従来のように、同一種類のクロック信号が供給される順序回路セルのみのグループを作成する必要がない。その結果、クロック信号を順序回路セルの分割領域へ割り当てる作業が容易になる。
【００６３】
また、同一種類のクロック信号が供給される順序回路セルを１つの分割領域に配置するために、下地情報を一時的に変更するだけあるので、従来の下地情報及び接続情報をそのまま使用することができる。その結果、既存の配置プログラムをそのまま使用できるので、開発コストを低減できるという利点がある。
【００６４】
【発明の効果】
以上詳述したように、本発明によれば、低スキューの多層クロックを分配できるクロック分配方法及び半導体集積回路を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態で使用されるマスタースライス方式の半導体集積回路のチップ構造を示す平面図である。
【図２】本発明の実施の形態で使用されるクロックツリー構造の回路構成を示す回路図である。
【図３】本発明の実施の形態で使用されるクロックツリー構造の回路構成を示す回路図である。
【図４】本発明の実施の形態で使用されるクロックツリー構造の回路構成を示す回路図である。
【図５】本発明の実施の形態で使用されるクロックツリー構造の回路構成を示す回路図である。
【図６】クロック分配用高駆動マルチプレクサの制御信号とチップ上の各領域に分配されるクロック信号との関係を示す図である。
【図７】本発明の実施の形態で使用される順序回路セルの第１の構成例を示す回路図及び順序回路セルの回路記号を示す図である。
【図８】本発明の実施の形態で使用される第１の構成に係る順序回路セルのクロック入力部の動作を示す図である。
【図９】本発明の実施の形態で使用される第１の構成に係る余剰順序回路セルの非負荷トランジスタを示す図である。
【図１０】本発明の実施の形態で使用される順序回路セルの第２の構成例を示す回路図及び順序回路セルの回路記号を示す図である。
【図１１】本発明の実施の形態で使用される第２の構成に係る順序回路セルのクロック入力部の動作を示す図である。
【図１２】本発明の実施の形態で使用される第１の構成に係る余剰順序回路セルの非負荷トランジスタを示す図である。
【図１３】本発明の実施の形態に係る半導体集積回路のレイアウト方法のレイアウトフローを示すフローチャートである。
【図１４】本発明の実施の形態に係る半導体集積回路のレイアウト方法におけるクロックプランの処理を示すフローチャートである。
【符号の説明】
１…半導体集積回路
２…順序回路セル
３…組合せ回路セル
５０  下地情報
５０ａ  新たな下地情報
５１  接続情報
５１ａ  新たな接続情報
５２  領域情報
５３  割当情報
５４  対応表
Ａｒｅａ１〜Ａｒｅａ１６…分割領域
ＣＬＫ＿Ａ〜ＣＬＫ＿Ｈ…多相クロック信号
ＭＣ１０１〜ＭＣ１０８、ＭＣ２０１〜ＭＣ２１６、ＭＣ３０１〜ＭＣ３１６…クロック分配用高駆動マルチプレクサ
【図１】
0003629250.tif 000002
【図２】
0003629250.tif 000003
【図３】
0003629250.tif 000004
【図４】
0003629250.tif 000005
【図５】
0003629250.tif 000006
【図６】
0003629250.tif 000007
【図７】
0003629250.tif 000008
【図８】
0003629250.tif 000009
【図９】
0003629250.tif 000010
【図１０】
0003629250.tif 000011
【図１１】
0003629250.tif 000012
【図１２】
0003629250.tif 000013
【図１３】
0003629250.tif 000014
【図１４】
0003629250.tif 000015