JP2005258657A - Clock layout system and method - Google Patents
Clock layout system and method Download PDFInfo
- Publication number
- JP2005258657A JP2005258657A JP2004067376A JP2004067376A JP2005258657A JP 2005258657 A JP2005258657 A JP 2005258657A JP 2004067376 A JP2004067376 A JP 2004067376A JP 2004067376 A JP2004067376 A JP 2004067376A JP 2005258657 A JP2005258657 A JP 2005258657A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- cut line
- clock
- flip
- line segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、集積回路装置に係るセルを配置するクロックレイアウトシステム、及びクロックレイアウト方法に関する。 The present invention relates to a clock layout system and a clock layout method for arranging cells according to an integrated circuit device.
従来の回路設計では、先ず集積回路装置に係るセルを配置する配置処理が行われ、半導体基板上におけるセルの混雑度が平均化された回路が生成される必要がある。混雑度が平均化された回路を生成する方法として、ミニカット配置手法がある(例えば、特許文献1参照)。「ミニカット配置手法」とは、論理回路の設計領域を1本の線分(以下、「カットライン」という)により分割し、分割された2つの領域で「セル密度」が均等になり、且つカットラインと交差するネット数(以下、「カット数」という)が最小になるように、分割された領域にセルを再配置する手法をいう。そして、ミニカット配置処理により配置されたセルをクロック配線で配線するクロック設計を行う。クロック設計の際には、クロック配線に信号を増幅させるバッファが挿入される。尚、「セル密度」とは、設計領域に占めるセル面積の割合をいう。 In the conventional circuit design, first, a placement process for placing cells related to an integrated circuit device is performed, and a circuit in which the degree of congestion of cells on a semiconductor substrate is averaged needs to be generated. As a method for generating a circuit in which the degree of congestion is averaged, there is a mini-cut arrangement method (see, for example, Patent Document 1). “Mini cut placement method” means that the design area of a logic circuit is divided by one line segment (hereinafter referred to as “cut line”), and the “cell density” becomes equal in the two divided areas, and This is a technique of rearranging cells in divided areas so that the number of nets intersecting the cut line (hereinafter referred to as “the number of cuts”) is minimized. Then, a clock design is performed in which cells arranged by the mini-cut arrangement process are wired by clock wiring. When designing the clock, a buffer for amplifying the signal is inserted into the clock wiring. The “cell density” refers to the ratio of the cell area to the design area.
しかし、クロック設計によりバッファを挿入する際、既にセル配置処理によりセルの位置は確定しているため、セルが集中している場所においては、バッファを挿入することにより混雑度が増したり、バッファを挿入できなくなるという問題が生じる。また、ミニカット配置手法によりセルの混雑度が平均化された場合でも、クロック信号を駆動するフリップフロップ(F/F)の配置が偏っている場合もある。この場合、F/Fが集中している場所においては、バッファを挿入することにより混雑度が増したり、バッファを挿入できなくなるという問題が生じる。
本発明に係るクロックレイアウトシステム及びクロックレイアウト方法は、クロック設計において、バッファの挿入も考慮した混雑度の緩和を図ることを目的とする。 An object of the clock layout system and the clock layout method according to the present invention is to reduce the degree of congestion in consideration of buffer insertion in clock design.
本発明の第1の特徴は、論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するF/F判別部と、設計領域を第1線分により分割するカットライン設定部と、分割された領域にあるフリップフロップの数の差が最小になるように、フリップフロップを再配置するF/F再配置部と、設計領域を分割する第1線分と交差する配線の数が最小になるように、フリップフロップ以外のセルを分割された領域に再配置するセル再配置部とを備えるクロックレイアウトシステムであることを要旨とする。 The first feature of the present invention is that an F / F discriminating unit that discriminates a flip-flop among cells arranged in a design region of a logic circuit, a cut line setting unit that divides the design region by a first line segment, The F / F rearrangement section for rearranging the flip-flops and the number of wirings intersecting the first line segment for dividing the design area are minimized so that the difference in the number of flip-flops in the divided area is minimized. Thus, the gist of the present invention is to provide a clock layout system including a cell rearrangement unit that rearranges cells other than flip-flops in divided areas.
本発明の第2の特徴は、演算処理装置のF/F判別部が、論理回路の設計領域に配置されたセルのうち、フリップフロップを判別するステップと、演算処理装置のカットライン設定部が、設計領域を第1線分により分割するステップと、演算処理装置のF/F再配置部が、分割された領域にあるフリップフロップの数の差が最小になるように、フリップフロップを再配置するステップと、演算処理装置のセル再配置部が、設計領域を分割する第1線分と交差する配線の数が最小になるように、フリップフロップ以外のセルを分割された領域に再配置するステップとを備えるクロックレイアウト方法であることを要旨とする。 The second feature of the present invention is that the F / F discriminating unit of the arithmetic processing unit discriminates the flip-flop among the cells arranged in the design area of the logic circuit, and the cut line setting unit of the arithmetic processing unit includes The step of dividing the design area by the first line segment and the F / F rearrangement unit of the arithmetic processing unit rearrange the flip-flop so that the difference in the number of flip-flops in the divided area is minimized. And the cell rearrangement unit of the arithmetic processing unit rearranges cells other than the flip-flop in the divided area so that the number of wirings intersecting the first line segment dividing the design area is minimized. And a clock layout method comprising steps.
本発明に係るクロックレイアウトシステム及びクロックレイアウト方法によれば、クロック設計において、バッファの挿入も考慮した混雑度の緩和を図ることが可能となる。 According to the clock layout system and the clock layout method of the present invention, it is possible to alleviate the degree of congestion in consideration of buffer insertion in clock design.
(クロックレイアウトシステム)
本発明の実施の形態に係るクロックレイアウトシステムについて説明する。図1に示すように、本発明の実施の形態に係るクロックレイアウトシステムは、バス11と、バス11に接続された論理回路データ入力装置14、出力装置17、指定値入力装置15、タイミング制約入力装置16、カットライン情報記憶装置18、論理回路情報記憶装置19、及びCPU12を備える。CPU12は、初期配置部12a、F/F判別部12b、カットライン設定部12c、F/F再配置部12d、仮クロックレイアウト処理部13、バッファ数カウント部12f、バッファ数比較部12g、クロックレイアウト処理部12j、タイミング制約判定部12hを備える。仮クロックレイアウト処理部13は、更にクロック配線処理部13a、混雑度判定部13b、バッファ挿入部13cを備える。 論理回路データ入力装置14は、論理回路をデータとして論理回路情報記憶装置19に入力する。出力装置17は、論理回路情報記憶装置19に記憶されるデータ、CPU12で処理されるデータ等を出力する。論理回路情報記憶装置19は、論理回路入力装置により入力されるデータ、CPU12により処理されるデータ等を記憶する。指定値入力装置15は、カットラインにより分割された1つの領域に配置されるバッファの数を指定する指定値をCPU12へ入力する。タイミング制約入力装置16は、セルに入力される信号が満たすべきタイミングの条件を入力する。カットライン情報記憶装置18は、カットラインの位置とカットラインが引かれた順番を記憶する。
(Clock layout system)
A clock layout system according to an embodiment of the present invention will be described. As shown in FIG. 1, the clock layout system according to the embodiment of the present invention includes a
初期配置部12aは、位置が固定されているセルの配置を行い、位置が固定されていないセルの配置を行う。位置が固定されていないセルは、タイミング制約入力装置16により入力されたタイミング制約を満たすように、配置される。例えば、図2に示すように、初期配置部12aは、設計領域4上で位置が固定されているルートドライバ10を、その固定された位置へ配置する。また、初期配置部12aは、位置が固定されていないセルであるF/F1a〜1p,論理素子2a〜2jを、タイミング制約を満たすように、設計領域4上に配置する。タイミング制約は、F/F及び論理素子を接続する配線の配線容量及び長さ等により決定される。例えば、論理素子2a,2dを接続する配線6ad、論理素子2a,2eを接続する配線6ae、論理素子2d,2eを接続する配線6de、論理素子2d,2fを接続する配線6df、論理素子2b,2fを接続する配線6bf、論理素子2b,2cを接続する配線6bc、論理素子2f,2iを接続する配線6fi、論理素子2e,2hを接続する配線6eh、論理素子2e,2gを接続する配線6eg、論理素子2g,2hを接続する配線6gh、論理素子2h,2iを接続する配線6hi、論理素子2i,2jを接続する配線6ij、及び論理素子2g,2jを接続する配線6gjの配線容量及び長さにより、タイミング制約が決定される。尚、図2において、F/F1a〜pと論理素子2a〜jとを接続する配線は省略されている。
The
F/F判別部12bは、初期配置部12aにより配置されたセルのうち、F/Fを判別する。例えば、図2に示すF/F1a〜1pを判別する。カットライン設定部12cは、設計領域4に引かれるカットラインを設定する。カットライン設定部12cは、予め決定されている順番に従ってカットラインを設定する。例えば、図3に示すように、カットライン5aを設定し、次に図4に示すように、カットライン5bを設定し、更に図5に示すように、カットライン5cを設定する。ここで、最初に設定されるカットラインを、「第1カットライン」といい、第1カットラインにより区切られた領域に設定されるカットラインを、「第2カットライン」という。このように、第1カットライン、第2カットライン、第3カットライン・・・・・と、更にカットラインを設定することにより、カットラインで区切られた領域を細分化する。図3において、カットライン5aは、「第1カットライン」であり、カットライン5b及びカットライン5cは、「第2カットライン」である。
The F /
F/F再配置部12dは、F/F判別部12bにより判別されたF/Fを、カットラインで分割された領域にあるF/Fの数の差が最小になるように、F/Fを再配置する。例えば、図3に示すように、F/F1a〜1pを、カットライン5aで分割された領域41にF/F1a,F/F1b,F/F1d,F/F1f,F/F1g,F/F1i,F/F1jを再配置する。そして、領域42にF/F1e,F/F1h,F/F1k,F/F1l,F/F1m,F/F1n,F/F1o,F/F1pを再配置する。この場合、領域41と領域42にあるF/Fの数は等しく8であり、F/Fの数の差は0であり最小となる。また、図4に示すように、カットライン5bで分割された領域42aにF/F1e,F/F1h,F/F1k,F/F1lを再配置し、領域42bにF/F1m,F/F1n,F/F1o,F/F1pを再配置する。更に、図5に示すように、カットライン5cで分割された領域42aにF/F1a,F/F1b,F/F1dを再配置し、領域41bにF/F1f,F/F1g,F/F1i,F/F1jを再配置する。再配置されたF/F1a〜1pは、各領域に均等に再配置される。
The F /
セル再配置部12eは、セル密度が均等になり、且つカット数が最小になるように、F/F以外のセルをカットラインで分割された領域に再配置する。例えば、図3に示すように、カットライン5aが設定されると、セル再配置部12eは、論理素子2b,2c,2f,2i,2jを領域41に再配置し、論理素子2a,2d,2e,2h,2gを領域42に再配置する。この場合、領域41と領域42の面積はほぼ等しく、それぞれの領域に再配置された論理素子の数も等しいので、セル密度が均等になっている。また、カット数は3である。このカット数は、それぞれの領域に再配置された論理素子の数が等しい場合の最小値である。そして同様に、図4に示すように、カットライン5bが設定されると、セル再配置部12eは、論理素子2a,2d,2eを領域42aに再配置し、論理素子2h,2gを領域42bに再配置する。更に、図5に示すように、カットライン5cが設定されると、セル再配置部12eは、論理素子2b,2c,2fを領域41aに再配置し、論理素子2i,2jを領域41bに再配置する。
The
仮クロックレイアウト処理部13は、F/F再配置部12dにより再配置されたF/Fを、仮にクロックレイアウト処理する。仮クロックレイアウト処理部13は、F/Fをクロック配線で接続すると共に、F/Fの駆動に必要なバッファを挿入する。クロック配線処理部13aは、F/Fをクロック配線で接続する。混雑度判定部13bは、クロック配線処理部13aにより配線されたクロック配線にバッファを挿入できるか判定する。セルの混雑度が高いため、F/Fを駆動させる位置に、バッファを挿入することができない場合、混雑度判定部13bは、バッファを挿入できないと判定する。バッファ挿入部13cは、バッファがF/Fを駆動させることができる位置に、バッファを挿入する。
The temporary clock
例えば、図6に示すように、領域41aにおいて、クロック配線処理部13aが、F/F1a,1cをクロック配線9eで接続し、バッファ挿入部13cが、バッファ8eを挿入する。また、クロック配線処理部13aは、F/F1b,1dをクロック配線9fで接続し、バッファ挿入部13cは、バッファ8fを挿入する。そして、クロック配線処理部13aは、バッファ8eとバッファ8fをクロック配線9kで接続する。同様に、領域41bにおいて、クロック配線処理部13aは、F/F1f,1g,1i,1jをクロック配線9g,9h,9lで接続し、バッファ挿入部13cは、バッファ8g,8hを挿入する。領域42aにおいて、クロック配線処理部13aは、F/F1e,1h,1k,1lをクロック配線9a,9b,9iで接続し、バッファ挿入部13cは、バッファ8a,8bを挿入する。そして、仮クロックレイアウト処理部13は、最後に設定されたカットライン(以下、「最終カットライン」という)で区切られた2つの領域にあるF/Fをクロック配線で接続する。例えば、図7に示すように、クロック配線処理部13aは、領域41aの最終カットラインであるカットライン5cで区切られた領域41a,41bにあるF/F1a,1b,1c,1dと、F/F1f,1g,1i,1jをクロック配線9nで接続し、バッファ挿入部13cは、バッファ8e,8lを挿入する。同様に、クロック配線処理部13aは、最終カットラインであるカットライン5bで区切られた領域42a,42bにあるF/F1e,1k,1l,1hと、F/F1m,1n,1o,1pをクロック配線9mで接続し、バッファ挿入部13cは、バッファ8i,8jを挿入する。
For example, as shown in FIG. 6, in the
また、仮クロックレイアウト処理部13は、最終カットラインから降順でカットラインで区切られた2つの領域にあるF/Fをクロック配線で接続し、バッファを挿入する。例えば、図7に示すように、最終カットラインであるカットライン5b及びカットライン5cは、第2カットラインであるため、クロック配線処理部13aは、第1カットラインであるカットライン5aで区切られた領域41a,41b,42a,42bにあるF/F1a〜F/F1pをクロック配線9oで接続し、バッファ挿入部13cは、バッファ8m,8nを挿入する。最後に、クロック配線処理部13aは、F/F1a〜1pをクロック配線9pでルートドライバ10まで接続する。このように、仮クロックレイアウト処理部13は、ボトムアップに順次F/Fをルートドライバまでクロック配線で接続し、F/Fを駆動させるバッファを挿入する。
In addition, the temporary clock
バッファ数カウント部12fは、カットラインにより分割された1つの領域に配置されるバッファの数を数える。バッファ数比較部12gは、指定値入力装置15により指定されたバッファ数とバッファ数カウント部12fによりカウントされたバッファ数を比較する。指定値入力装置15により指定されたバッファ数が、バッファ数カウント部12fによりカウントされたバッファ数より多い場合、バッファ数比較部12gは、カットライン設定部12cにカットラインの設定を止めるよう命令する。タイミング制約判定部12hは、仮クロックレイアウト処理部13によりクロック配線で接続されたF/Fが、タイミング制約入力装置16により入力されたタイミング制約を満たすか否か判定する。タイミング制約判定部12hが、タイミングを満たさないと判定した場合、及び混雑度判定部13bが、セルの混雑度が高いため、F/Fを駆動させる位置に、バッファを挿入できないと判断した場合は、カットライン変更部12iは、最終カットラインを削除し、最終カットラインを再設定する。最終カットラインが削除され、最終カットラインが再設定されても、タイミング制約が満たされず、バッファを挿入できない場合は、カットライン変更部12iは、最終カットラインから降順にカットラインを削除した後、カットラインを再設定する。例えば、カットライン変更部12iは、図7に示すカットライン5bを削除し、領域42に最終カットラインを再設定する。それでも尚、タイミング制約が満たされず、バッファを挿入できない場合は、カットライン変更部12iは、第2カットラインであるカットライン5b及びカットライン5cから降順に、第1カットラインであるカットライン5aまでカットラインを削除し、図8に示すように、カットライン5dを再設定し、更にカットライン5e,5fを再設定する。クロックレイアウト処理部12jは、タイミング制約が満たされ、且つF/Fを駆動できる位置にバッファが挿入されるクロックレイアウトが決定された場合に、F/Fのクロック配線を配線すると共に、クロック配線の配線に必要なバッファを挿入する。
The buffer
本発明の実施の形態に係るクロックレイアウトシステムによれば、セルの配置処理とクロック設計を並行に行うことにより、クロックレイアウトに必要なバッファの挿入及び配置が完了しているため、バッファ挿入による混雑度を評価したレイアウトが設計できる。また、クロック配線処理が同時に完了しているため、容易且つ回路に対する影響が少ないクロック配線処理が可能となる。更に、F/Fが均等に配置される。 According to the clock layout system of the embodiment of the present invention, the insertion and placement of the buffers necessary for the clock layout are completed by performing the cell placement process and the clock design in parallel. A layout that evaluates the degree can be designed. Further, since the clock wiring process is completed at the same time, the clock wiring process can be easily performed and has little influence on the circuit. Further, the F / Fs are evenly arranged.
(クロックレイアウト方法)
本発明の実施の形態に係るクロックレイアウト方法について、図9及び図10をもとに説明する。
(Clock layout method)
A clock layout method according to an embodiment of the present invention will be described with reference to FIGS.
(a)ステップS100において、初期配置部12aが、位置が固定されているセルと位置が固定されていないセルの配置をそれぞれ行う。ステップS101において、F/F判別部12bが、初期配置部12aにより配置されたセルのうち、F/Fを判別する。ステップS102において、カットライン設定部12cは、設計領域に引かれるカットラインを設定する。カットライン設定部12cは、予め決定されている順番に従ってカットラインを設定する。ステップS103において、F/F再配置部12dは、F/F判別部12bにより判別されたF/Fを、カットラインで分割された領域にあるF/Fの数の差が最小になるように、F/Fを再配置する。ステップS104において、セル再配置部12eが、セル密度が均等になり、且つカット数が最小になるように、F/F以外のセルをカットラインで分割された領域に再配置する。
(A) In step S100, the
(b)ステップS105において、クロック配線処理部13aは、F/Fをクロック配線で接続する。ステップS106において、混雑度判定部13bが、クロック配線処理部13aにより配線されたクロック配線にバッファを挿入できるか判定する。ステップS107において、混雑度判定部13bが、バッファを挿入できないと判定した場合、ステップS109において、カットライン変更部12iは、カットラインを再設定し、ステップS103に戻り、F/F再配置部12dは、F/Fを再配置する。ステップS107において、混雑度判定部13bが、バッファを挿入できると判定した場合、ステップS108において、バッファ挿入部13cは、バッファがF/Fを駆動させることができる位置に、バッファを挿入する。
(B) In step S105, the clock
(c)ステップS110において、バッファ数カウント部12fは、カットラインにより分割された1つの領域に配置されるバッファの数を数える。ステップS111において、バッファ数比較部12gは、指定値入力装置15により指定されたバッファ数とバッファ数カウント部12fによりカウントされたバッファ数を比較する。ステップS111において、指定値入力装置15により指定されたバッファ数が、バッファ数カウント部12fによりカウントされたバッファ数以下の場合、ステップS102に戻り、カットライン設定部12cは、更にカットラインを設定する。ステップS111において、指定値入力装置15により指定されたバッファ数が、バッファ数カウント部12fによりカウントされたバッファ数より多い場合、ステップS112において、タイミング制約判定部12hは、仮クロックレイアウト処理部13によりクロック配線で接続されたF/Fが、タイミング制約入力装置16により入力されたタイミング制約を満たすか否か判定する。ステップS112において、タイミング制約判定部12hが、タイミングを満たさないと判定した場合は、ステップS109において、カットライン変更部12iは、カットラインを再設定し、ステップS103に戻り、F/F再配置部12dは、F/Fを再配置する。ステップS112において、タイミング制約判定部12hが、タイミングを満たすと判定した場合は、ステップS113において、クロックレイアウト処理部12jは、F/Fのクロック配線を配線すると共に、クロック配線の配線に必要なバッファを挿入する。
(C) In step S110, the buffer
尚、ステップS109におけるカットラインの再配置は、以下のように行われる。 Note that the rearrangement of the cut lines in step S109 is performed as follows.
(d)ステップS109aにおいて、カットライン変更部12iは、最終カットラインを削除する。ステップS109bにおいて、カットライン変更部12iが、まだ最終カットラインが再設定されていないと判断した場合、ステップS109cにおいて、カットライン変更部12iは、最終カットラインを再設定する。ステップS109bにおいて、カットライン変更部12iが、既にステップS109cで最終カットラインが再設定されていると判断した場合、ステップS109dにおいて、カットライン変更部12iは、最終カットラインから降順にカットラインの番号が1つ小さいカットラインを削除する。例えば、図7において、領域42aを区切る第3カットライン(図示していない)が最終カットラインである場合、カットライン変更部12iは、第3カットラインより番号が1つ小さい第2カットラインであるカットライン5bを削除する。ステップS109eにおいて、カットライン変更部12iが、まだ最終カットラインより番号が1つ小さいカットラインが再設定されていないと判断した場合、ステップS109fにおいて、カットライン変更部12iは、カットラインを再設定する。ステップS109eにおいて、カットライン変更部12iが、既にステップS109fで最終カットラインより番号が1つ小さいカットラインが再設定されていると判断した場合、カットライン変更部12iは、更に番号が1つ小さいカットラインを削除する。例えば、図7において、第2カットラインであるカットライン5bが、既に再設定されている場合、カットライン変更部12iは、第2カットラインより番号が1つ小さい第1カットラインであるカットライン5aまでカットラインを削除する。このように、カットラインが再設定されても、タイミング制約が満たされず、バッファが挿入されない場合、更に降順にカットラインが再設定される。
(D) In step S109a, the cut
本発明の実施の形態に係るクロックレイアウト方法によれば、セルの配置処理とクロック設計を並行に行うことにより、クロックレイアウトに必要なバッファの挿入及び配置が完了しているため、バッファ挿入による混雑度を評価したレイアウトが設計できる。また、クロック配線処理が同時に完了しているため、容易且つ回路に対する影響が少ないクロック配線処理が可能となる。更に、F/Fが均等に配置される。 According to the clock layout method according to the embodiment of the present invention, the insertion and placement of the buffers necessary for the clock layout are completed by performing the cell placement process and the clock design in parallel. A layout that evaluates the degree can be designed. Further, since the clock wiring process is completed at the same time, the clock wiring process can be easily performed and has little influence on the circuit. Further, the F / Fs are evenly arranged.
カットライン設定部は、第1線分により分割された設計領域を、更に第2線分により分割することを特徴とするクロックレイアウトシステム。 The cut line setting unit further divides the design area divided by the first line segment by the second line segment.
カットライン変更部は、第3線分により分割された領域において、配線の混雑度から、バッファを挿入できない場合は、第1線分及び第3線分を削除し、第4線分により設計領域を分割することを特徴とするクロックレイアウトシステム。 カットライン設定部が、第1線分により分割された設計領域を、更に第2線分により分割するステップを備えることを特徴とするクロックレイアウト方法。 The cut line changing unit deletes the first line segment and the third line segment when the buffer cannot be inserted due to the congestion degree of the wiring in the area divided by the third line segment, and the design area by the fourth line segment. A clock layout system characterized by dividing the clock. A clock layout method, wherein the cut line setting unit further comprises a step of dividing the design region divided by the first line segment by the second line segment.
演算処理装置のクロック配線処理部が、フリップフロップをクロック配線で接続するステップと、演算処理装置の混雑度判定部が、配線の混雑度から、クロック配線にバッファを挿入できるか判定するステップと、バッファを挿入できない場合は、演算処理装置のカットライン変更部が、第2線分を削除し、第3線分により設計領域を分割するステップとを更に備えることを特徴とするクロックレイアウト方法。 The clock wiring processing unit of the arithmetic processing device connects the flip-flops with the clock wiring, and the congestion determination unit of the arithmetic processing device determines whether the buffer can be inserted into the clock wiring from the congestion level of the wiring. A clock layout method, further comprising: a step of deleting a second line segment and dividing a design area by a third line segment when a buffer cannot be inserted.
演算処理装置のバッファ数カウント部が、第2線分により分割された1つの領域に配置されるバッファの数を数えるステップと、演算処理装置のバッファ数比較部が、予め指定された指定値とバッファ数カウント部により数えられたバッファ数を比較し、指定値がバッファ数より多い場合に、設計領域を第2線分により分割することを止める停止命令をカットライン設定部に与えるステップとを更に備えることを特徴とするクロックレイアウト方法。 A step of counting the number of buffers arranged in one region divided by the second line segment, and a number of buffers comparing unit of the arithmetic processing unit is a predetermined value specified in advance. A step of comparing the number of buffers counted by the buffer number counting unit and, when the specified value is larger than the number of buffers, giving a stop instruction to stop the design area to be divided by the second line segment to the cut line setting unit; A clock layout method comprising: a clock layout method comprising:
演算処理装置のタイミング制約判定部が、クロック配線で接続されたフリップフロップが、設計領域に配置されるセルに入力される信号が満たすべきタイミング制約を満たすか否か判定するステップと、タイミング制約を満たさない場合は、カットライン変更部が、第2線分を削除し、第3線分により設計領域を分割するステップとを更に備えることを特徴とするクロックレイアウト方法。 The timing constraint determining unit of the arithmetic processing unit determines whether the flip-flop connected by the clock wiring satisfies a timing constraint to be satisfied by a signal input to a cell arranged in the design area, and the timing constraint If not, the cut line changing unit further comprises a step of deleting the second line segment and dividing the design area by the third line segment.
第3線分により分割された領域において、配線の混雑度から、バッファを挿入できない場合は、カットライン変更部が、第1線分及び第3線分を削除し、第4線分により設計領域を分割するステップを備えることを特徴とするクロックレイアウト方法。 In the area divided by the third line segment, when the buffer cannot be inserted due to the congestion degree of the wiring, the cut line changing unit deletes the first line segment and the third line segment, and the design area is formed by the fourth line segment. A clock layout method comprising the step of dividing
F/F1a〜F/F1p フリップフロップ
2a〜2j 論理素子
4 設計領域
5a〜5f カットライン
8a〜8n バッファ
9a〜9p クロック配線
10 ルートドライバ
11 バス
12 CPU
12a 初期配置部
12b F/F判別部
12c カットライン設定部
12d 再配置部
12e セル再配置部
12f バッファ数カウント部
12g バッファ数比較部
12h タイミング制約判定部
12i カットライン変更部
12j クロックレイアウト処理部
13 仮クロックレイアウト処理部
13a クロック配線処理部
13b 混雑度判定部
13c バッファ挿入部
14 論理回路データ入力装置
15 指定値入力装置
16 タイミング制約入力装置
17 出力装置
18 カットライン情報記憶装置
19 論理回路情報記憶装置
41,42,41a,41b,42a,42b 領域
F / F1a to F / F1p Flip-
12a
Claims (5)
前記設計領域を第1線分により分割するカットライン設定部と、
前記分割された領域にあるフリップフロップの数の差が最小になるように、前記フリップフロップを再配置するF/F再配置部と、
前記設計領域を分割する前記第1線分と交差する配線の数が最小になるように、前記フリップフロップ以外のセルを前記分割された領域に再配置するセル再配置部
とを備えることを特徴とするクロックレイアウトシステム。 An F / F discriminating unit for discriminating a flip-flop among the cells arranged in the design area of the logic circuit;
A cut line setting unit that divides the design area by a first line segment;
An F / F rearrangement unit for rearranging the flip-flops so that a difference in the number of flip-flops in the divided area is minimized;
A cell rearrangement unit that rearranges cells other than the flip-flops in the divided area so that the number of wirings intersecting the first line segment dividing the design area is minimized. And clock layout system.
前記フリップフロップをクロック配線で接続するクロック配線処理部と、
配線の混雑度から、前記クロック配線にバッファを挿入できるか判定する混雑度判定部と、
バッファを挿入できない場合は、前記第2線分を削除し、第3線分により前記設計領域を分割するカットライン変更部
とを更に備えることを特徴とする請求項1に記載のクロックレイアウトシステム。 The cut line setting unit further divides the design area divided by the first line segment by a second line segment,
A clock wiring processing unit for connecting the flip-flops by clock wiring;
A congestion degree determination unit that determines whether a buffer can be inserted into the clock line from the degree of congestion of the wiring;
The clock layout system according to claim 1, further comprising: a cut line changing unit that deletes the second line segment and divides the design area by the third line segment when the buffer cannot be inserted.
前記バッファの数を数えるバッファ数カウント部と、
前記指定値と前記バッファ数を比較し、前記指定値が前記バッファ数より多い場合に、前記設計領域を前記第2線分により分割することを止める停止命令を、前記カットライン設定部に与えるバッファ数比較部
とを更に備えることを特徴とする請求項1又は2に記載のクロックレイアウトシステム。 A designated value input device for inputting a designated value for designating the number of buffers arranged in one area divided by the second line segment;
A buffer number counting unit for counting the number of the buffers;
A buffer that compares the specified value with the number of buffers, and gives a stop command to the cutline setting unit to stop dividing the design area by the second line segment when the specified value is larger than the number of buffers. The clock layout system according to claim 1, further comprising: a number comparison unit.
前記クロック配線で接続された前記フリップフロップが、前記タイミング制約を満たすか否か判定するタイミング制約判定部と、
前記タイミング制約を満たさない場合は、前記第2線分を削除し、第3線分により前記設計領域を分割するカットライン変更部
とを更に備えることを特徴とする請求項2又は3に記載のクロックレイアウトシステム。 A timing constraint input device for inputting a timing constraint to be satisfied by a signal input to a cell arranged in the design region;
A timing constraint determining unit that determines whether or not the flip-flop connected by the clock wiring satisfies the timing constraint;
The said 2nd line segment is deleted when it does not satisfy | fill the said timing restrictions, The cutline change part which divides | segments the said design area | region with a 3rd line segment is further provided. Clock layout system.
演算処理装置のカットライン設定部が、前記設計領域を第1線分により分割するステップと、
演算処理装置のF/F再配置部が、前記分割された領域にある前記フリップフロップの数の差が最小になるように、前記フリップフロップを再配置するステップと、
演算処理装置のセル再配置部が、前記設計領域を分割する前記第1線分と交差する配線の数が最小になるように、前記フリップフロップ以外のセルを前記分割された領域に再配置するステップ
とを備えることを特徴とするクロックレイアウト方法。
A step in which the F / F determination unit of the arithmetic processing unit determines a flip-flop among the cells arranged in the design area of the logic circuit;
The cut line setting unit of the arithmetic processing unit divides the design region by a first line segment;
The F / F rearrangement unit of the arithmetic processing unit rearranges the flip-flop so that the difference in the number of flip-flops in the divided area is minimized;
The cell rearrangement unit of the arithmetic processing unit rearranges cells other than the flip-flops in the divided area so that the number of wirings intersecting the first line segment dividing the design area is minimized. A clock layout method comprising the steps of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004067376A JP2005258657A (en) | 2004-03-10 | 2004-03-10 | Clock layout system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004067376A JP2005258657A (en) | 2004-03-10 | 2004-03-10 | Clock layout system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005258657A true JP2005258657A (en) | 2005-09-22 |
Family
ID=35084330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004067376A Pending JP2005258657A (en) | 2004-03-10 | 2004-03-10 | Clock layout system and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005258657A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007123336A (en) * | 2005-10-25 | 2007-05-17 | Renesas Technology Corp | Clock structure method of semiconductor integrated circuit and its program |
JP2007257373A (en) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | Automatic arrangement method, device and program |
JP2008217642A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Layout design method for semiconductor integrated circuit and layout design program |
-
2004
- 2004-03-10 JP JP2004067376A patent/JP2005258657A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007123336A (en) * | 2005-10-25 | 2007-05-17 | Renesas Technology Corp | Clock structure method of semiconductor integrated circuit and its program |
JP2007257373A (en) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | Automatic arrangement method, device and program |
JP2008217642A (en) * | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | Layout design method for semiconductor integrated circuit and layout design program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7444609B2 (en) | Method of optimizing customizable filler cells in an integrated circuit physical design process | |
US6857107B2 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
US8701064B2 (en) | Timing error removing method and design support apparatus | |
US8230381B2 (en) | Method for designing cell layout of semiconductor integrated circuit | |
US6564353B2 (en) | Method and apparatus for designing a clock distributing circuit, and computer readable storage medium storing a design program | |
US7062739B2 (en) | Gate reuse methodology for diffused cell-based IP blocks in platform-based silicon products | |
JP2005123537A (en) | Semiconductor device and its manufacturing method | |
Alpert et al. | Steiner tree optimization for buffers, blockages, and bays | |
US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
JP2005258657A (en) | Clock layout system and method | |
US9892226B2 (en) | Methods for providing macro placement of IC | |
US6938232B2 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
JP2011134084A (en) | Method and program for designing semiconductor integrated circuit | |
JP2005135229A (en) | Method for automatically designing semiconductor integrated circuit | |
JP4400428B2 (en) | Semiconductor integrated circuit design method, design apparatus and program | |
KR20080103364A (en) | Routing method for forming interconnetion line and record medium recorded program for realizing the same | |
JP4806535B2 (en) | Spare cell set placement method | |
US20110304055A1 (en) | Semiconductor integrated circuit with multi-cut via and automated layout method for the same | |
JP5696407B2 (en) | Semiconductor integrated circuit automatic placement and routing method, layout apparatus, automatic placement and routing program, and semiconductor integrated circuit | |
JP4248925B2 (en) | Automatic floor plan determination method | |
US20080141207A1 (en) | Wiring Design System of Semiconductor Integrated Circuit, Semiconductor Integrated Circuit, and Wiring Design Program | |
JP2011109025A (en) | Method and apparatus for automatically disposing cells for semiconductor integrated circuit, and program therefor | |
JP2006107206A (en) | Semiconductor integrated circuit design method | |
JP2000150659A (en) | Method for designing layout of semiconductor integrated circuit device | |
US6957401B2 (en) | Integrated circuit (IC) having IC floorplan silhouette-like power supply net, and sea of supply (SoS) electronic design automation (EDA) tool for designing same |