(57)【要約】【課題】バッファ挿入による混雑度を評価したレイアウトが設計でき、Ｆ／Ｆが均等に配置されるクロックレイアウトシステム及びクロックレイアウト方法を提供する。【解決手段】論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するＦ／Ｆ判別部１２ｂと、設計領域を第１線分により分割するカットライン設定部１２ｃと、分割された領域にあるフリップフロップの数の差が最小になるように、フリップフロップを再配置するＦ／Ｆ再配置部１２ｄと、設計領域を分割する第１線分と交差する配線の数が最小になるように、フリップフロップ以外のセルを分割された領域に再配置するセル再配置部１２ｅとを含む。【選択図】      図１
2005258657.tif 000002
【特許請求の範囲】
【請求項１】
論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するＦ／Ｆ判別部と、
前記設計領域を第１線分により分割するカットライン設定部と、
前記分割された領域にあるフリップフロップの数の差が最小になるように、前記フリップフロップを再配置するＦ／Ｆ再配置部と、
前記設計領域を分割する前記第１線分と交差する配線の数が最小になるように、前記フリップフロップ以外のセルを前記分割された領域に再配置するセル再配置部
とを備えることを特徴とするクロックレイアウトシステム。
【請求項２】
前記カットライン設定部は、前記第１線分により分割された前記設計領域を、更に第２線分により分割し、
前記フリップフロップをクロック配線で接続するクロック配線処理部と、
配線の混雑度から、前記クロック配線にバッファを挿入できるか判定する混雑度判定部と、
バッファを挿入できない場合は、前記第２線分を削除し、第３線分により前記設計領域を分割するカットライン変更部
とを更に備えることを特徴とする請求項１に記載のクロックレイアウトシステム。
【請求項３】
前記第２線分により分割された１つの領域に配置されるバッファの数を指定する指定値を入力する指定値入力装置と、
前記バッファの数を数えるバッファ数カウント部と、
前記指定値と前記バッファ数を比較し、前記指定値が前記バッファ数より多い場合に、前記設計領域を前記第２線分により分割することを止める停止命令を、前記カットライン設定部に与えるバッファ数比較部
とを更に備えることを特徴とする請求項１又は２に記載のクロックレイアウトシステム。
【請求項４】
前記設計領域に配置されるセルに入力される信号が満たすべきタイミング制約を入力するタイミング制約入力装置と、
前記クロック配線で接続された前記フリップフロップが、前記タイミング制約を満たすか否か判定するタイミング制約判定部と、
前記タイミング制約を満たさない場合は、前記第２線分を削除し、第３線分により前記設計領域を分割するカットライン変更部
とを更に備えることを特徴とする請求項２又は３に記載のクロックレイアウトシステム。
【請求項５】
演算処理装置のＦ/Ｆ判別部が、論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するステップと、
演算処理装置のカットライン設定部が、前記設計領域を第１線分により分割するステップと、
演算処理装置のＦ/Ｆ再配置部が、前記分割された領域にある前記フリップフロップの数の差が最小になるように、前記フリップフロップを再配置するステップと、
演算処理装置のセル再配置部が、前記設計領域を分割する前記第１線分と交差する配線の数が最小になるように、前記フリップフロップ以外のセルを前記分割された領域に再配置するステップ
とを備えることを特徴とするクロックレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置に係るセルを配置するクロックレイアウトシステム、及びクロックレイアウト方法に関する。
【背景技術】
【０００２】
従来の回路設計では、先ず集積回路装置に係るセルを配置する配置処理が行われ、半導体基板上におけるセルの混雑度が平均化された回路が生成される必要がある。混雑度が平均化された回路を生成する方法として、ミニカット配置手法がある（例えば、特許文献１参照）。「ミニカット配置手法」とは、論理回路の設計領域を１本の線分（以下、「カットライン」という）により分割し、分割された２つの領域で「セル密度」が均等になり、且つカットラインと交差するネット数（以下、「カット数」という）が最小になるように、分割された領域にセルを再配置する手法をいう。そして、ミニカット配置処理により配置されたセルをクロック配線で配線するクロック設計を行う。クロック設計の際には、クロック配線に信号を増幅させるバッファが挿入される。尚、「セル密度」とは、設計領域に占めるセル面積の割合をいう。
【０００３】
しかし、クロック設計によりバッファを挿入する際、既にセル配置処理によりセルの位置は確定しているため、セルが集中している場所においては、バッファを挿入することにより混雑度が増したり、バッファを挿入できなくなるという問題が生じる。また、ミニカット配置手法によりセルの混雑度が平均化された場合でも、クロック信号を駆動するフリップフロップ（Ｆ／Ｆ）の配置が偏っている場合もある。この場合、Ｆ／Ｆが集中している場所においては、バッファを挿入することにより混雑度が増したり、バッファを挿入できなくなるという問題が生じる。
【特許文献１】特開２００１−２４１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明に係るクロックレイアウトシステム及びクロックレイアウト方法は、クロック設計において、バッファの挿入も考慮した混雑度の緩和を図ることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の特徴は、論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するＦ／Ｆ判別部と、設計領域を第１線分により分割するカットライン設定部と、分割された領域にあるフリップフロップの数の差が最小になるように、フリップフロップを再配置するＦ／Ｆ再配置部と、設計領域を分割する第１線分と交差する配線の数が最小になるように、フリップフロップ以外のセルを分割された領域に再配置するセル再配置部とを備えるクロックレイアウトシステムであることを要旨とする。
【０００６】
本発明の第２の特徴は、演算処理装置のＦ/Ｆ判別部が、論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するステップと、演算処理装置のカットライン設定部が、設計領域を第１線分により分割するステップと、演算処理装置のＦ/Ｆ再配置部が、分割された領域にあるフリップフロップの数の差が最小になるように、フリップフロップを再配置するステップと、演算処理装置のセル再配置部が、設計領域を分割する第１線分と交差する配線の数が最小になるように、フリップフロップ以外のセルを分割された領域に再配置するステップとを備えるクロックレイアウト方法であることを要旨とする。
【発明の効果】
【０００７】
本発明に係るクロックレイアウトシステム及びクロックレイアウト方法によれば、クロック設計において、バッファの挿入も考慮した混雑度の緩和を図ることが可能となる。
【発明を実施するための最良の形態】
【０００８】
（クロックレイアウトシステム）
本発明の実施の形態に係るクロックレイアウトシステムについて説明する。図１に示すように、本発明の実施の形態に係るクロックレイアウトシステムは、バス１１と、バス１１に接続された論理回路データ入力装置１４、出力装置１７、指定値入力装置１５、タイミング制約入力装置１６、カットライン情報記憶装置１８、論理回路情報記憶装置１９、及びＣＰＵ１２を備える。ＣＰＵ１２は、初期配置部１２ａ、Ｆ／Ｆ判別部１２ｂ、カットライン設定部１２ｃ、Ｆ／Ｆ再配置部１２ｄ、仮クロックレイアウト処理部１３、バッファ数カウント部１２ｆ、バッファ数比較部１２ｇ、クロックレイアウト処理部１２ｊ、タイミング制約判定部１２ｈを備える。仮クロックレイアウト処理部１３は、更にクロック配線処理部１３ａ、混雑度判定部１３ｂ、バッファ挿入部１３ｃを備える。  論理回路データ入力装置１４は、論理回路をデータとして論理回路情報記憶装置１９に入力する。出力装置１７は、論理回路情報記憶装置１９に記憶されるデータ、ＣＰＵ１２で処理されるデータ等を出力する。論理回路情報記憶装置１９は、論理回路入力装置により入力されるデータ、ＣＰＵ１２により処理されるデータ等を記憶する。指定値入力装置１５は、カットラインにより分割された１つの領域に配置されるバッファの数を指定する指定値をＣＰＵ１２へ入力する。タイミング制約入力装置１６は、セルに入力される信号が満たすべきタイミングの条件を入力する。カットライン情報記憶装置１８は、カットラインの位置とカットラインが引かれた順番を記憶する。
【０００９】
初期配置部１２ａは、位置が固定されているセルの配置を行い、位置が固定されていないセルの配置を行う。位置が固定されていないセルは、タイミング制約入力装置１６により入力されたタイミング制約を満たすように、配置される。例えば、図２に示すように、初期配置部１２ａは、設計領域４上で位置が固定されているルートドライバ１０を、その固定された位置へ配置する。また、初期配置部１２ａは、位置が固定されていないセルであるＦ／Ｆ１ａ〜１ｐ，論理素子２ａ〜２ｊを、タイミング制約を満たすように、設計領域４上に配置する。タイミング制約は、Ｆ／Ｆ及び論理素子を接続する配線の配線容量及び長さ等により決定される。例えば、論理素子２ａ，２ｄを接続する配線６ａｄ、論理素子２ａ，２ｅを接続する配線６ａｅ、論理素子２ｄ，２ｅを接続する配線６ｄｅ、論理素子２ｄ，２ｆを接続する配線６ｄｆ、論理素子２ｂ，２ｆを接続する配線６ｂｆ、論理素子２ｂ，２ｃを接続する配線６ｂｃ、論理素子２ｆ，２ｉを接続する配線６ｆｉ、論理素子２ｅ，２ｈを接続する配線６ｅｈ、論理素子２ｅ，２ｇを接続する配線６ｅｇ、論理素子２ｇ，２ｈを接続する配線６ｇｈ、論理素子２ｈ，２ｉを接続する配線６ｈｉ、論理素子２ｉ，２ｊを接続する配線６ｉｊ、及び論理素子２ｇ，２ｊを接続する配線６ｇｊの配線容量及び長さにより、タイミング制約が決定される。尚、図２において、Ｆ／Ｆ１ａ〜ｐと論理素子２ａ〜ｊとを接続する配線は省略されている。
【００１０】
Ｆ／Ｆ判別部１２ｂは、初期配置部１２ａにより配置されたセルのうち、Ｆ／Ｆを判別する。例えば、図２に示すＦ／Ｆ１ａ〜１ｐを判別する。カットライン設定部１２ｃは、設計領域４に引かれるカットラインを設定する。カットライン設定部１２ｃは、予め決定されている順番に従ってカットラインを設定する。例えば、図３に示すように、カットライン５ａを設定し、次に図４に示すように、カットライン５ｂを設定し、更に図５に示すように、カットライン５ｃを設定する。ここで、最初に設定されるカットラインを、「第１カットライン」といい、第１カットラインにより区切られた領域に設定されるカットラインを、「第２カットライン」という。このように、第１カットライン、第２カットライン、第３カットライン・・・・・と、更にカットラインを設定することにより、カットラインで区切られた領域を細分化する。図３において、カットライン５ａは、「第１カットライン」であり、カットライン５ｂ及びカットライン５ｃは、「第２カットライン」である。
【００１１】
Ｆ／Ｆ再配置部１２ｄは、Ｆ／Ｆ判別部１２ｂにより判別されたＦ／Ｆを、カットラインで分割された領域にあるＦ／Ｆの数の差が最小になるように、Ｆ／Ｆを再配置する。例えば、図３に示すように、Ｆ／Ｆ１ａ〜１ｐを、カットライン５ａで分割された領域４１にＦ／Ｆ１ａ，Ｆ／Ｆ１ｂ，Ｆ／Ｆ１ｄ，Ｆ／Ｆ１ｆ，Ｆ／Ｆ１ｇ，Ｆ／Ｆ１ｉ，Ｆ／Ｆ１ｊを再配置する。そして、領域４２にＦ／Ｆ１ｅ，Ｆ／Ｆ１ｈ，Ｆ／Ｆ１ｋ，Ｆ／Ｆ１ｌ，Ｆ／Ｆ１ｍ，Ｆ／Ｆ１ｎ，Ｆ／Ｆ１ｏ，Ｆ／Ｆ１ｐを再配置する。この場合、領域４１と領域４２にあるＦ／Ｆの数は等しく８であり、Ｆ／Ｆの数の差は０であり最小となる。また、図４に示すように、カットライン５ｂで分割された領域４２ａにＦ／Ｆ１ｅ，Ｆ／Ｆ１ｈ，Ｆ／Ｆ１ｋ，Ｆ／Ｆ１ｌを再配置し、領域４２ｂにＦ／Ｆ１ｍ，Ｆ／Ｆ１ｎ，Ｆ／Ｆ１ｏ，Ｆ／Ｆ１ｐを再配置する。更に、図５に示すように、カットライン５ｃで分割された領域４２ａにＦ／Ｆ１ａ，Ｆ／Ｆ１ｂ，Ｆ／Ｆ１ｄを再配置し、領域４１ｂにＦ／Ｆ１ｆ，Ｆ／Ｆ１ｇ，Ｆ／Ｆ１ｉ，Ｆ／Ｆ１ｊを再配置する。再配置されたＦ／Ｆ１ａ〜１ｐは、各領域に均等に再配置される。
【００１２】
セル再配置部１２ｅは、セル密度が均等になり、且つカット数が最小になるように、Ｆ／Ｆ以外のセルをカットラインで分割された領域に再配置する。例えば、図３に示すように、カットライン５ａが設定されると、セル再配置部１２ｅは、論理素子２ｂ，２ｃ，２ｆ，２ｉ，２ｊを領域４１に再配置し、論理素子２ａ，２ｄ，２ｅ，２ｈ，２ｇを領域４２に再配置する。この場合、領域４１と領域４２の面積はほぼ等しく、それぞれの領域に再配置された論理素子の数も等しいので、セル密度が均等になっている。また、カット数は３である。このカット数は、それぞれの領域に再配置された論理素子の数が等しい場合の最小値である。そして同様に、図４に示すように、カットライン５ｂが設定されると、セル再配置部１２ｅは、論理素子２ａ，２ｄ，２ｅを領域４２ａに再配置し、論理素子２ｈ，２ｇを領域４２ｂに再配置する。更に、図５に示すように、カットライン５ｃが設定されると、セル再配置部１２ｅは、論理素子２ｂ，２ｃ，２ｆを領域４１ａに再配置し、論理素子２ｉ，２ｊを領域４１ｂに再配置する。
【００１３】
仮クロックレイアウト処理部１３は、Ｆ／Ｆ再配置部１２ｄにより再配置されたＦ／Ｆを、仮にクロックレイアウト処理する。仮クロックレイアウト処理部１３は、Ｆ／Ｆをクロック配線で接続すると共に、Ｆ／Ｆの駆動に必要なバッファを挿入する。クロック配線処理部１３ａは、Ｆ／Ｆをクロック配線で接続する。混雑度判定部１３ｂは、クロック配線処理部１３ａにより配線されたクロック配線にバッファを挿入できるか判定する。セルの混雑度が高いため、Ｆ／Ｆを駆動させる位置に、バッファを挿入することができない場合、混雑度判定部１３ｂは、バッファを挿入できないと判定する。バッファ挿入部１３ｃは、バッファがＦ／Ｆを駆動させることができる位置に、バッファを挿入する。
【００１４】
例えば、図６に示すように、領域４１ａにおいて、クロック配線処理部１３ａが、Ｆ／Ｆ１ａ，１ｃをクロック配線９ｅで接続し、バッファ挿入部１３ｃが、バッファ８ｅを挿入する。また、クロック配線処理部１３ａは、Ｆ／Ｆ１ｂ，１ｄをクロック配線９ｆで接続し、バッファ挿入部１３ｃは、バッファ８ｆを挿入する。そして、クロック配線処理部１３ａは、バッファ８ｅとバッファ８ｆをクロック配線９ｋで接続する。同様に、領域４１ｂにおいて、クロック配線処理部１３ａは、Ｆ／Ｆ１ｆ，１ｇ，１ｉ，１ｊをクロック配線９ｇ，９ｈ，９ｌで接続し、バッファ挿入部１３ｃは、バッファ８ｇ，８ｈを挿入する。領域４２ａにおいて、クロック配線処理部１３ａは、Ｆ／Ｆ１ｅ，１ｈ，１ｋ，１ｌをクロック配線９ａ，９ｂ，９ｉで接続し、バッファ挿入部１３ｃは、バッファ８ａ，８ｂを挿入する。そして、仮クロックレイアウト処理部１３は、最後に設定されたカットライン（以下、「最終カットライン」という）で区切られた２つの領域にあるＦ／Ｆをクロック配線で接続する。例えば、図７に示すように、クロック配線処理部１３ａは、領域４１ａの最終カットラインであるカットライン５ｃで区切られた領域４１ａ，４１ｂにあるＦ／Ｆ１ａ，１ｂ，１ｃ，１ｄと、Ｆ／Ｆ１ｆ，１ｇ，１ｉ，１ｊをクロック配線９ｎで接続し、バッファ挿入部１３ｃは、バッファ８ｅ，８ｌを挿入する。同様に、クロック配線処理部１３ａは、最終カットラインであるカットライン５ｂで区切られた領域４２ａ，４２ｂにあるＦ／Ｆ１ｅ，１ｋ，１ｌ，１ｈと、Ｆ／Ｆ１ｍ，１ｎ，１ｏ，１ｐをクロック配線９ｍで接続し、バッファ挿入部１３ｃは、バッファ８ｉ，８ｊを挿入する。
【００１５】
また、仮クロックレイアウト処理部１３は、最終カットラインから降順でカットラインで区切られた２つの領域にあるＦ／Ｆをクロック配線で接続し、バッファを挿入する。例えば、図７に示すように、最終カットラインであるカットライン５ｂ及びカットライン５ｃは、第２カットラインであるため、クロック配線処理部１３ａは、第１カットラインであるカットライン５ａで区切られた領域４１ａ，４１ｂ，４２ａ，４２ｂにあるＦ／Ｆ１ａ〜Ｆ／Ｆ１ｐをクロック配線９ｏで接続し、バッファ挿入部１３ｃは、バッファ８ｍ，８ｎを挿入する。最後に、クロック配線処理部１３ａは、Ｆ／Ｆ１ａ〜１ｐをクロック配線９ｐでルートドライバ１０まで接続する。このように、仮クロックレイアウト処理部１３は、ボトムアップに順次Ｆ／Ｆをルートドライバまでクロック配線で接続し、Ｆ／Ｆを駆動させるバッファを挿入する。
【００１６】
バッファ数カウント部１２ｆは、カットラインにより分割された１つの領域に配置されるバッファの数を数える。バッファ数比較部１２ｇは、指定値入力装置１５により指定されたバッファ数とバッファ数カウント部１２ｆによりカウントされたバッファ数を比較する。指定値入力装置１５により指定されたバッファ数が、バッファ数カウント部１２ｆによりカウントされたバッファ数より多い場合、バッファ数比較部１２ｇは、カットライン設定部１２ｃにカットラインの設定を止めるよう命令する。タイミング制約判定部１２ｈは、仮クロックレイアウト処理部１３によりクロック配線で接続されたＦ／Ｆが、タイミング制約入力装置１６により入力されたタイミング制約を満たすか否か判定する。タイミング制約判定部１２ｈが、タイミングを満たさないと判定した場合、及び混雑度判定部１３ｂが、セルの混雑度が高いため、Ｆ／Ｆを駆動させる位置に、バッファを挿入できないと判断した場合は、カットライン変更部１２ｉは、最終カットラインを削除し、最終カットラインを再設定する。最終カットラインが削除され、最終カットラインが再設定されても、タイミング制約が満たされず、バッファを挿入できない場合は、カットライン変更部１２ｉは、最終カットラインから降順にカットラインを削除した後、カットラインを再設定する。例えば、カットライン変更部１２ｉは、図７に示すカットライン５ｂを削除し、領域４２に最終カットラインを再設定する。それでも尚、タイミング制約が満たされず、バッファを挿入できない場合は、カットライン変更部１２ｉは、第２カットラインであるカットライン５ｂ及びカットライン５ｃから降順に、第１カットラインであるカットライン５ａまでカットラインを削除し、図８に示すように、カットライン５ｄを再設定し、更にカットライン５ｅ，５ｆを再設定する。クロックレイアウト処理部１２ｊは、タイミング制約が満たされ、且つＦ／Ｆを駆動できる位置にバッファが挿入されるクロックレイアウトが決定された場合に、Ｆ／Ｆのクロック配線を配線すると共に、クロック配線の配線に必要なバッファを挿入する。
【００１７】
本発明の実施の形態に係るクロックレイアウトシステムによれば、セルの配置処理とクロック設計を並行に行うことにより、クロックレイアウトに必要なバッファの挿入及び配置が完了しているため、バッファ挿入による混雑度を評価したレイアウトが設計できる。また、クロック配線処理が同時に完了しているため、容易且つ回路に対する影響が少ないクロック配線処理が可能となる。更に、Ｆ／Ｆが均等に配置される。
【００１８】
（クロックレイアウト方法）
本発明の実施の形態に係るクロックレイアウト方法について、図９及び図１０をもとに説明する。
【００１９】
（ａ）ステップＳ１００において、初期配置部１２ａが、位置が固定されているセルと位置が固定されていないセルの配置をそれぞれ行う。ステップＳ１０１において、Ｆ／Ｆ判別部１２ｂが、初期配置部１２ａにより配置されたセルのうち、Ｆ／Ｆを判別する。ステップＳ１０２において、カットライン設定部１２ｃは、設計領域に引かれるカットラインを設定する。カットライン設定部１２ｃは、予め決定されている順番に従ってカットラインを設定する。ステップＳ１０３において、Ｆ／Ｆ再配置部１２ｄは、Ｆ／Ｆ判別部１２ｂにより判別されたＦ／Ｆを、カットラインで分割された領域にあるＦ／Ｆの数の差が最小になるように、Ｆ／Ｆを再配置する。ステップＳ１０４において、セル再配置部１２ｅが、セル密度が均等になり、且つカット数が最小になるように、Ｆ／Ｆ以外のセルをカットラインで分割された領域に再配置する。
【００２０】
（ｂ）ステップＳ１０５において、クロック配線処理部１３ａは、Ｆ／Ｆをクロック配線で接続する。ステップＳ１０６において、混雑度判定部１３ｂが、クロック配線処理部１３ａにより配線されたクロック配線にバッファを挿入できるか判定する。ステップＳ１０７において、混雑度判定部１３ｂが、バッファを挿入できないと判定した場合、ステップＳ１０９において、カットライン変更部１２ｉは、カットラインを再設定し、ステップＳ１０３に戻り、Ｆ／Ｆ再配置部１２ｄは、Ｆ／Ｆを再配置する。ステップＳ１０７において、混雑度判定部１３ｂが、バッファを挿入できると判定した場合、ステップＳ１０８において、バッファ挿入部１３ｃは、バッファがＦ／Ｆを駆動させることができる位置に、バッファを挿入する。
【００２１】
（ｃ）ステップＳ１１０において、バッファ数カウント部１２ｆは、カットラインにより分割された１つの領域に配置されるバッファの数を数える。ステップＳ１１１において、バッファ数比較部１２ｇは、指定値入力装置１５により指定されたバッファ数とバッファ数カウント部１２ｆによりカウントされたバッファ数を比較する。ステップＳ１１１において、指定値入力装置１５により指定されたバッファ数が、バッファ数カウント部１２ｆによりカウントされたバッファ数以下の場合、ステップＳ１０２に戻り、カットライン設定部１２ｃは、更にカットラインを設定する。ステップＳ１１１において、指定値入力装置１５により指定されたバッファ数が、バッファ数カウント部１２ｆによりカウントされたバッファ数より多い場合、ステップＳ１１２において、タイミング制約判定部１２ｈは、仮クロックレイアウト処理部１３によりクロック配線で接続されたＦ／Ｆが、タイミング制約入力装置１６により入力されたタイミング制約を満たすか否か判定する。ステップＳ１１２において、タイミング制約判定部１２ｈが、タイミングを満たさないと判定した場合は、ステップＳ１０９において、カットライン変更部１２ｉは、カットラインを再設定し、ステップＳ１０３に戻り、Ｆ／Ｆ再配置部１２ｄは、Ｆ／Ｆを再配置する。ステップＳ１１２において、タイミング制約判定部１２ｈが、タイミングを満たすと判定した場合は、ステップＳ１１３において、クロックレイアウト処理部１２ｊは、Ｆ／Ｆのクロック配線を配線すると共に、クロック配線の配線に必要なバッファを挿入する。
【００２２】
尚、ステップＳ１０９におけるカットラインの再配置は、以下のように行われる。
【００２３】
（ｄ）ステップＳ１０９ａにおいて、カットライン変更部１２ｉは、最終カットラインを削除する。ステップＳ１０９ｂにおいて、カットライン変更部１２ｉが、まだ最終カットラインが再設定されていないと判断した場合、ステップＳ１０９ｃにおいて、カットライン変更部１２ｉは、最終カットラインを再設定する。ステップＳ１０９ｂにおいて、カットライン変更部１２ｉが、既にステップＳ１０９ｃで最終カットラインが再設定されていると判断した場合、ステップＳ１０９ｄにおいて、カットライン変更部１２ｉは、最終カットラインから降順にカットラインの番号が１つ小さいカットラインを削除する。例えば、図７において、領域４２ａを区切る第３カットライン（図示していない）が最終カットラインである場合、カットライン変更部１２ｉは、第３カットラインより番号が１つ小さい第２カットラインであるカットライン５ｂを削除する。ステップＳ１０９ｅにおいて、カットライン変更部１２ｉが、まだ最終カットラインより番号が１つ小さいカットラインが再設定されていないと判断した場合、ステップＳ１０９ｆにおいて、カットライン変更部１２ｉは、カットラインを再設定する。ステップＳ１０９ｅにおいて、カットライン変更部１２ｉが、既にステップＳ１０９ｆで最終カットラインより番号が１つ小さいカットラインが再設定されていると判断した場合、カットライン変更部１２ｉは、更に番号が１つ小さいカットラインを削除する。例えば、図７において、第２カットラインであるカットライン５ｂが、既に再設定されている場合、カットライン変更部１２ｉは、第２カットラインより番号が１つ小さい第１カットラインであるカットライン５ａまでカットラインを削除する。このように、カットラインが再設定されても、タイミング制約が満たされず、バッファが挿入されない場合、更に降順にカットラインが再設定される。
【００２４】
本発明の実施の形態に係るクロックレイアウト方法によれば、セルの配置処理とクロック設計を並行に行うことにより、クロックレイアウトに必要なバッファの挿入及び配置が完了しているため、バッファ挿入による混雑度を評価したレイアウトが設計できる。また、クロック配線処理が同時に完了しているため、容易且つ回路に対する影響が少ないクロック配線処理が可能となる。更に、Ｆ／Ｆが均等に配置される。
【００２５】
カットライン設定部は、第１線分により分割された設計領域を、更に第２線分により分割することを特徴とするクロックレイアウトシステム。
【００２６】
カットライン変更部は、第３線分により分割された領域において、配線の混雑度から、バッファを挿入できない場合は、第１線分及び第３線分を削除し、第４線分により設計領域を分割することを特徴とするクロックレイアウトシステム。    カットライン設定部が、第１線分により分割された設計領域を、更に第２線分により分割するステップを備えることを特徴とするクロックレイアウト方法。
【００２７】
演算処理装置のクロック配線処理部が、フリップフロップをクロック配線で接続するステップと、演算処理装置の混雑度判定部が、配線の混雑度から、クロック配線にバッファを挿入できるか判定するステップと、バッファを挿入できない場合は、演算処理装置のカットライン変更部が、第２線分を削除し、第３線分により設計領域を分割するステップとを更に備えることを特徴とするクロックレイアウト方法。
【００２８】
演算処理装置のバッファ数カウント部が、第２線分により分割された１つの領域に配置されるバッファの数を数えるステップと、演算処理装置のバッファ数比較部が、予め指定された指定値とバッファ数カウント部により数えられたバッファ数を比較し、指定値がバッファ数より多い場合に、設計領域を第２線分により分割することを止める停止命令をカットライン設定部に与えるステップとを更に備えることを特徴とするクロックレイアウト方法。
【００２９】
演算処理装置のタイミング制約判定部が、クロック配線で接続されたフリップフロップが、設計領域に配置されるセルに入力される信号が満たすべきタイミング制約を満たすか否か判定するステップと、タイミング制約を満たさない場合は、カットライン変更部が、第２線分を削除し、第３線分により設計領域を分割するステップとを更に備えることを特徴とするクロックレイアウト方法。
【００３０】
第３線分により分割された領域において、配線の混雑度から、バッファを挿入できない場合は、カットライン変更部が、第１線分及び第３線分を削除し、第４線分により設計領域を分割するステップを備えることを特徴とするクロックレイアウト方法。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態に係るクロックレイアウトシステムの一例を示した図である。
【図２】ルートドライバ及びセルが初期配置された設計領域の一例を示した図である。
【図３】第１カットラインを設定した設計領域の一例を示した図である。
【図４】第２カットラインを設定した設計領域の一例を示した図である。
【図５】カットラインで分割された領域にセルを再配置した設計領域の一例を示した図である。
【図６】再配置したセルを配線で接続し、バッファを挿入した設計領域の一例を示した図である。
【図７】ルートドライバまでセルを配線で接続し、バッファを挿入した設計領域の一例を示した図である。
【図８】カットラインを再設定した設計領域の一例を示した図である。
【図９】本発明の実施の形態に係るクロックレイアウト方法の一例を示したフロー図である。
【図１０】本発明の実施の形態に係るクロックレイアウト方法の一例を示したフロー図である。
【符号の説明】
【００３２】
Ｆ／Ｆ１ａ〜Ｆ／Ｆ１ｐ  フリップフロップ
２ａ〜２ｊ  論理素子
４  設計領域
５ａ〜５ｆ  カットライン
８ａ〜８ｎ  バッファ
９ａ〜９ｐ  クロック配線
１０  ルートドライバ
１１  バス
１２  ＣＰＵ
１２ａ  初期配置部
１２ｂ  Ｆ／Ｆ判別部
１２ｃ  カットライン設定部
１２ｄ  再配置部
１２ｅ  セル再配置部
１２ｆ  バッファ数カウント部
１２ｇ  バッファ数比較部
１２ｈ  タイミング制約判定部
１２ｉ  カットライン変更部
１２ｊ  クロックレイアウト処理部
１３  仮クロックレイアウト処理部
１３ａ  クロック配線処理部
１３ｂ  混雑度判定部
１３ｃ  バッファ挿入部
１４  論理回路データ入力装置
１５  指定値入力装置
１６  タイミング制約入力装置
１７  出力装置
１８  カットライン情報記憶装置
１９  論理回路情報記憶装置
４１，４２，４１ａ，４１ｂ，４２ａ，４２ｂ  領域
【図１】
2005258657.tif 000003
【図２】
2005258657.tif 000004
【図３】
2005258657.tif 000005
【図４】
2005258657.tif 000006
【図５】
2005258657.tif 000007
【図６】
2005258657.tif 000008
【図７】
2005258657.tif 000009
【図８】
2005258657.tif 000010
【図９】
2005258657.tif 000011
【図１０】
2005258657.tif 000012