JP2002076125A - Layout design method of semiconductor integrated circuit - Google Patents

Layout design method of semiconductor integrated circuit

Info

Publication number
JP2002076125A
JP2002076125A JP2000262447A JP2000262447A JP2002076125A JP 2002076125 A JP2002076125 A JP 2002076125A JP 2000262447 A JP2000262447 A JP 2000262447A JP 2000262447 A JP2000262447 A JP 2000262447A JP 2002076125 A JP2002076125 A JP 2002076125A
Authority
JP
Japan
Prior art keywords
cells
cell
flip
clock signal
flop
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
Application number
JP2000262447A
Other languages
Japanese (ja)
Inventor
Koichi Sato
功一 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000262447A priority Critical patent/JP2002076125A/en
Publication of JP2002076125A publication Critical patent/JP2002076125A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To minimize clock skew. SOLUTION: The method comprises a step 2 for recognizing flip flop cells and latch cells where the same clock signal is supplied directly before determining the number of stages of a clock tree and the number of buffer cells or inverter cells interposed as the clock tree, a step 3 for recognizing cells except the flip flop cells and the latch cells where the same clock signal is supplied directly and recognizing the flip flop cells and the latch cells where a clock signal is supplied through the cells, and a step 4 for changing a netlist of a logic level to the netlist of the configuration where buffer cells are interposed in the path through which the same clock signal is supplied directly to the flip flop cells and the latch cells. As a result, the clock signal is supplied to all flip flop cells and latch cells through other cells, and thus the clock skew is minimized.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、クロックスキュー
を小さくする半導体集積回路のレイアウト設計方法に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a layout design method of a semiconductor integrated circuit for reducing clock skew.

【0002】[0002]

【従来の技術】従来の半導体集積回路のレイアウト設計
方法において、クロックスキューを最小にするクロック
ツリーシンセシスは、クロック信号の入力または、クロ
ック信号をドライブする回路の出力端子から、バッファ
セルまたはインバータセルで構成されるクロックツリー
を挿入し、クロック信号に接続されるフリップフロップ
やラッチセルに、クロック信号がほぼ同時に到達するよ
うにする手法である。
2. Description of the Related Art In a conventional layout design method of a semiconductor integrated circuit, clock tree synthesis for minimizing clock skew is performed by inputting a clock signal or an output terminal of a circuit for driving the clock signal from a buffer cell or an inverter cell. In this method, a clock tree is inserted so that a clock signal reaches a flip-flop or a latch cell connected to the clock signal almost simultaneously.

【0003】この手法による従来の半導体集積回路のレ
イアウト設計方法における処理のフローを図6に示す。
FIG. 6 shows a processing flow in a conventional layout design method for a semiconductor integrated circuit according to this method.

【0004】図6に示すように、まず、データ入力ステ
ップ2001により、レイアウト設計に必要な論理レベ
ルのネットリストとスタンダードセルの物理レイアウト
とレイアウトのテクノロジデータと、機能ブロックの端
子の配置位置を制御するデータと、所望のクロック信号
の到達時間と所望のクロックスキューとを入力する。な
お、スタンダードセルやマクロセル相当を論理レベルと
いい、各々のスタンダードセルやマクロセルの端子の接
続関係を記述したデータが論理レベルのネットリストで
ある。また、スタンダードセルベースの設計では、予め
AND,NAND,OR,NOR,BUFFER,IN
VERTER,XOR,フリップフロップ,ラッチ等の
特定の機能を持ったセルを準備しておき、それらのセル
内のトランジスタやトランジスタ間を接続する配線は、
物理的なマスク図形より構成されており、これらのセル
の物理的なマスク図形を物理レイアウトと呼ぶ。また、
レイアウトのテクノロジデータとは、半導体のプロセス
で定められる最小配線幅や最小配線間隔等のプロセスル
ールを、レイアウト用に変換したデータのことである。
As shown in FIG. 6, first, in a data input step 2001, a logic level netlist necessary for a layout design, a physical layout of standard cells, technology data of a layout, and arrangement positions of terminals of functional blocks are controlled. Data, the arrival time of the desired clock signal, and the desired clock skew are input. Note that the equivalent of a standard cell or a macro cell is called a logic level, and data describing the connection relation of the terminals of each standard cell or macro cell is a logic level netlist. In the standard cell-based design, AND, NAND, OR, NOR, BUFFER, IN
Cells having specific functions such as VERTER, XOR, flip-flop, latch, etc. are prepared, and the transistors in the cells and the wiring connecting the transistors are:
It consists of physical mask figures, and the physical mask figure of these cells is called a physical layout. Also,
The layout technology data is data obtained by converting process rules, such as a minimum wiring width and a minimum wiring interval determined in a semiconductor process, for layout.

【0005】ここで、論理レベルのネットリストに記述
されているクロック信号の接続関係の例を図2に示す。
100はクロック信号CLK1の入力端子、101は制御信
号CNTL1 の入力端子、110はANDの論理セル、11
1はインバータセル、1001〜1040はフリップフ
ロップセルである。NETCLK1 は、クロック信号CLK1の入
力端子100と、ANDの論理セル110と、インバー
タセル111と、フリップフロップセル1001〜10
20とを接続するネットである。NET110は、ANDの論
理セル110とフリップフロップセル1021〜103
0とを接続するネットである。NET111は、インバータセ
ル111とフリップフロップセル1031〜1040と
を接続するネットである。NETCNTL1は、制御信号CNTL1
の入力端子101とANDの論理セル110とを接続す
るネットである。
FIG. 2 shows an example of a connection relationship of clock signals described in a logic-level netlist.
100 is an input terminal for the clock signal CLK1, 101 is an input terminal for the control signal CNTL1, 110 is an AND logic cell, 11
1 is an inverter cell, and 1001 to 1040 are flip-flop cells. NETCLK1 has an input terminal 100 for a clock signal CLK1, an AND logic cell 110, an inverter cell 111, and flip-flop cells 1001 to 10
This is a net connecting to the Internet 20. The NET 110 includes an AND logic cell 110 and flip-flop cells 1021 to 103
This is a net connecting 0. The NET 111 is a net that connects the inverter cell 111 and the flip-flop cells 1031 to 1040. NETCNTL1 is the control signal CNTL1
Is a net connecting the input terminal 101 and the AND logic cell 110.

【0006】次に、同一クロック信号に接続されるフリ
ップフロップ及びラッチを認識するステップ2002
で、図2において、20個のフリップフロップセル10
01〜1020とANDの論理セル110とインバータ
セル111とが同一のクロック信号CLK1に接続している
ことを認識する。ここで、フリップフロップセル102
1〜1040は、それらと端子100との間にANDの
論理セル110とインバータセル111があるため、同
一のクロック信号CLK1と接続していることを認識できな
い。
Next, step 2002 for recognizing flip-flops and latches connected to the same clock signal.
In FIG. 2, 20 flip-flop cells 10
It is recognized that 01 to 1020, the AND logic cell 110 and the inverter cell 111 are connected to the same clock signal CLK1. Here, the flip-flop cell 102
Nos. 1 to 1040 cannot recognize that they are connected to the same clock signal CLK1 because there is an AND logic cell 110 and an inverter cell 111 between them and the terminal 100.

【0007】次に、クロックツリーの段数と挿入するバ
ッファセル数またはインバータセル数を決定するステッ
プ2003で、クロック信号に接続されているセル数と
全セルの入力端子容量から、クロックツリーの段数、ク
ロックツリーに挿入するセル数、セルの駆動能力を決め
る。
Next, in a step 2003 for determining the number of clock tree stages and the number of buffer cells or inverter cells to be inserted, the number of clock tree stages, the number of clock tree stages, Determine the number of cells to be inserted into the clock tree and the driving capability of the cells.

【0008】次に、セル配置とクロックツリーを挿入す
るステップ2004で、機能ブロックの端子の配置位置
を制御するデータに従って、端子100,101を配置
し、フリップフロップセル1001〜1040とAND
の論理セル110とインバータセル111を配置する。
セル配置完了後、図7に示すようにバッファセル70
0,701で構成されるクロックツリーを挿入する。
Next, in step 2004 for inserting the cell arrangement and the clock tree, the terminals 100 and 101 are arranged according to the data for controlling the arrangement positions of the terminals of the functional blocks, and the flip-flop cells 1001 to 1040 are ANDed.
Logic cell 110 and inverter cell 111 are arranged.
After the completion of the cell placement, the buffer cell 70 as shown in FIG.
A clock tree composed of 0,701 is inserted.

【0009】次に、配線を行なうステップ2005で、
概略配線、詳細配線を行い、その後、データを出力する
ステップ2006で、レイアウト結果を出力する。
Next, in step 2005 for performing wiring,
Schematic wiring and detailed wiring are performed, and then, in step 2006 for outputting data, a layout result is output.

【0010】この従来の方法では、フリップフロップセ
ル1001〜1020とANDの論理セル110とイン
バータセル111までのクロック信号の到達時間を略等
しくすることは可能であるが、フリップフロップセル1
021〜1040までのクロック信号の到達時間までを
略等しくすることはできない。
In this conventional method, it is possible to make the arrival times of the clock signals to the flip-flop cells 1001 to 1020, the AND logic cell 110, and the inverter cell 111 substantially equal.
It is not possible to make the arrival times of the clock signals 021 to 1040 substantially equal.

【0011】[0011]

【発明が解決しようとする課題】上記のように従来の方
法では、クロック信号に直接接続しているフリップフロ
ップやラッチセルにクロック信号をほぼ同時に供給可能
であるが、クロック信号をフリップフロップやラッチセ
ル以外のセルを通過してフリップフロップやラッチセル
に供給する場合は、クロック信号がフリップフロップや
ラッチセル以外のセルを通過するための遅延が生じるた
め、クロックスキューが大きくなるという問題があっ
た。
As described above, in the conventional method, a clock signal can be supplied to a flip-flop or a latch cell directly connected to a clock signal almost at the same time, but the clock signal can be supplied to a circuit other than the flip-flop or the latch cell. When the clock signal is supplied to a flip-flop or a latch cell after passing through a cell other than the flip-flop or the latch cell, there is a problem that a clock skew increases because a delay occurs for the clock signal to pass through cells other than the flip-flop and the latch cell.

【0012】本発明の目的は、上記従来の問題を解決
し、クロック信号を直接フリップフロップやラッチセル
に供給する経路とフリップフロップやラッチセル以外の
セルを通過してフリップフロップやラッチセルに供給す
る経路とが混在する場合においても、クロックスキュー
の最小化を図ることのできる半導体集積回路のレイアウ
ト設計方法を提供することである。
An object of the present invention is to solve the above-mentioned conventional problems and to provide a path for directly supplying a clock signal to a flip-flop or a latch cell and a path for supplying a clock signal to a flip-flop or a latch cell through a cell other than the flip-flop or a latch cell. It is an object of the present invention to provide a layout design method of a semiconductor integrated circuit which can minimize clock skew even when the numbers are mixed.

【0013】[0013]

【課題を解決するための手段】請求項1記載の半導体集
積回路のレイアウト設計方法は、半導体集積回路のレイ
アウト設計に必要な論理レベルのネットリストを含むデ
ータに基づいて、クロック信号が供給される経路に挿入
されるクロックツリーの段数とクロックツリーとして挿
入するバッファセルまたはインバータセルの数とを決定
した後、セル配置とクロックツリーの挿入を行い、配線
を行なう半導体集積回路のレイアウト設計方法であっ
て、クロックツリーの段数とクロックツリーとして挿入
するバッファセルまたはインバータセルの数を決定する
前に、論理レベルのネットリストに基づいて、同一クロ
ック信号が直接供給されるフリップフロップセル及びラ
ッチセルを認識するステップと、論理レベルのネットリ
ストに基づいて、同一クロック信号が直接供給されるフ
リップフロップセル及びラッチセル以外のセルを認識
し、セルを通過してクロック信号が供給されるフリップ
フロップセル及びラッチセルを認識するステップと、論
理レベルのネットリストを、同一クロック信号が直接フ
リップフロップセル及びラッチセルに供給される経路に
バッファセルを挿入した構成のネットリストに変更する
ステップとを含むことを特徴とする。
According to a first aspect of the present invention, there is provided a layout design method for a semiconductor integrated circuit, wherein a clock signal is supplied based on data including a logic-level netlist required for the layout design of the semiconductor integrated circuit. A layout design method for a semiconductor integrated circuit in which, after determining the number of clock tree stages to be inserted into a path and the number of buffer cells or inverter cells to be inserted as a clock tree, cell placement and insertion of the clock tree and wiring are performed. Recognizing a flip-flop cell and a latch cell to which the same clock signal is directly supplied based on a logic level netlist before determining the number of clock tree stages and the number of buffer cells or inverter cells to be inserted as a clock tree. Based on the logic level netlist Recognizing cells other than the flip-flop cell and the latch cell to which the clock signal is directly supplied, and recognizing the flip-flop cell and the latch cell to which the clock signal is supplied through the cell; Changing to a netlist having a configuration in which a buffer cell is inserted into a path directly supplied to a flip-flop cell and a latch cell.

【0014】この請求項1によれば、論理レベルのネッ
トリストを、同一クロック信号が直接フリップフロップ
セル及びラッチセルに供給される経路にバッファセルを
挿入した構成のネットリストに変更し、それに基づい
て、クロックツリーの段数とクロックツリーとして挿入
するバッファセルまたはインバータセルの数とを決定
し、セル配置とクロックツリーの挿入を行い、配線を行
なうことにより、変更前のネットリストにおいて、クロ
ック信号を直接フリップフロップセルやラッチセルに供
給する経路とフリップフロップセルやラッチセル以外の
セルを通過してフリップフロップセルやラッチセルに供
給する経路とが混在する場合においても、クロックスキ
ューの最小化を図ることができる。
According to the first aspect, the logic-level netlist is changed to a netlist having a configuration in which a buffer cell is inserted in a path through which the same clock signal is directly supplied to the flip-flop cell and the latch cell. The number of stages of the clock tree and the number of buffer cells or inverter cells to be inserted as the clock tree are determined, the cell arrangement, the insertion of the clock tree, and the wiring are performed to directly flip the clock signal in the netlist before the change. The clock skew can be minimized even when a path for supplying the flip-flop cell or the latch cell and a path for supplying the flip-flop cell or the latch cell through cells other than the flip-flop cell or the latch cell are mixed.

【0015】請求項2記載の半導体集積回路のレイアウ
ト設計方法は、請求項1記載の半導体集積回路のレイア
ウト設計方法において、ネットリストを変更するステッ
プにおいて、同一クロック信号が直接フリップフロップ
セル及びラッチセルに供給される経路に挿入されたバッ
ファセルをクロック信号が通過する所要時間と、フリッ
プフロップセル及びラッチセル以外のセルをクロック信
号が通過する所要時間とが、それぞれほぼ等しくなるよ
うに、バッファセルと、フリップフロップセル及びラッ
チセル以外のセルとを、それぞれ適切なドライブ能力を
有する等価な論理のセルに変更することを特徴とする。
According to a second aspect of the present invention, the same clock signal is directly supplied to the flip-flop cell and the latch cell in the step of changing the netlist. The buffer cell and the flip-flop cell are set so that the time required for the clock signal to pass through the buffer cell inserted in the path to be inserted and the time required for the clock signal to pass through the cells other than the flip-flop cell and the latch cell are substantially equal to each other. And a cell other than the latch cell is changed to an equivalent logic cell having an appropriate drive capability.

【0016】この請求項2により、よりクロックスキュ
ーの最小化を図ることができる。
According to the second aspect, the clock skew can be further minimized.

【0017】請求項3記載の半導体集積回路のレイアウ
ト設計方法は、請求項1または2記載の半導体集積回路
のレイアウト設計方法において、クロック信号が供給さ
れる経路に挿入されるクロックツリーの段数とクロック
ツリーとして挿入するバッファセルまたはインバータセ
ルの数との決定は、同一のクロック信号が供給される全
てのフリップフロップセル及びラッチセルの入力端子容
量の総和と、指定されたクロック信号の到達時間と、ク
ロックツリーとして挿入するバッファセルまたはインバ
ータセルのドライブ能力とに基づいて行うことを特徴と
する。
According to a third aspect of the present invention, there is provided a layout design method for a semiconductor integrated circuit according to the first or second aspect, wherein the number of clock tree stages to be inserted into a path to which a clock signal is supplied and the clock are selected. The number of buffer cells or inverter cells to be inserted as a tree is determined by the sum of the input terminal capacitances of all flip-flop cells and latch cells to which the same clock signal is supplied, the arrival time of the specified clock signal, and the clock tree. And the driving capability of the buffer cell or the inverter cell to be inserted.

【0018】この請求項3のように、クロックツリーの
段数とクロックツリーとして挿入するバッファセルまた
はインバータセルの数との決定を行うことが好ましい。
It is preferable to determine the number of stages of the clock tree and the number of buffer cells or inverter cells to be inserted as the clock tree.

【0019】請求項4記載の半導体集積回路のレイアウ
ト設計方法は、請求項1または2記載の半導体集積回路
のレイアウト設計方法において、セル配置とクロックツ
リーの挿入を行う際、クロック信号の入力端子と、クロ
ック信号が直接供給されるフリップフロップセル及びラ
ッチセル以外のセルとの間に、クロックツリーを挿入す
るとともに、クロック信号が直接供給されるフリップフ
ロップセル及びラッチセル以外のセルと、フリップフロ
ップセル及びラッチセル以外のセルに接続されるフリッ
プフロップセル及びラッチセルとの間に、クロックツリ
ーを挿入することを特徴とする。
According to a fourth aspect of the present invention, there is provided a semiconductor integrated circuit layout designing method according to the first or second aspect, wherein when the cell arrangement and the insertion of the clock tree are performed, the input terminal of the clock signal is used. A clock tree is inserted between cells other than the flip-flop cell and the latch cell to which the clock signal is directly supplied, and cells other than the flip-flop cell and the latch cell to which the clock signal is directly supplied, and cells other than the flip-flop cell and the latch cell. A clock tree is inserted between the flip-flop cell and the latch cell connected to the clock tree.

【0020】請求項5記載の半導体集積回路のレイアウ
ト設計方法は、請求項1または2記載の半導体集積回路
のレイアウト設計方法において、配線を行なった後、ク
ロックスキューを調べ、クロックスキューがより小さく
なるようにクロックツリーとして挿入するバッファセル
またはインバータセルのドライブ能力を変更することを
特徴とする。
According to a fifth aspect of the present invention, in the layout designing method of a semiconductor integrated circuit according to the first or second aspect, after wiring is performed, the clock skew is checked, and the clock skew becomes smaller. Thus, the driving capability of the buffer cell or the inverter cell inserted as a clock tree is changed.

【0021】この請求項5により、さらによりクロック
クロックスキューの最小化を図ることができる。
According to the present invention, the clock skew can be further minimized.

【0022】[0022]

【発明の実施の形態】図1は本発明の半導体集積回路の
レイアウト設計方法における処理フローを示す図であ
る。
FIG. 1 is a diagram showing a processing flow in a layout design method for a semiconductor integrated circuit according to the present invention.

【0023】バッファセルで構成されるクロックツリー
と、インバータセルで構成されるクロックツリーの違い
は、インバーターで構成されるクロックツリーの段数
は、クロック信号を反転させないように必ず偶数でなけ
ればならないことだけである。以下、本実施の形態で
は、クロックツリーはバッファセルにより構成されるも
のとする。
The difference between a clock tree composed of buffer cells and a clock tree composed of inverter cells is that the number of stages of the clock tree composed of inverters must be even so as not to invert the clock signal. Only. Hereinafter, in the present embodiment, the clock tree is configured by buffer cells.

【0024】図1に示すように、まず、データ入力ステ
ップ1により、レイアウト設計に必要な論理レベルのネ
ットリストとスタンダードセルの物理レイアウトとレイ
アウトのテクノロジデータと所望のクロック信号の到達
時間と所望のクロックスキューとを入力する。
As shown in FIG. 1, first, in a data input step 1, a logic level netlist necessary for layout design, a physical layout of standard cells, layout technology data, a desired clock signal arrival time and a desired clock signal arrival time are obtained. Input clock skew.

【0025】ここで、論理レベルのネットリストに記述
されているクロック信号の接続関係の例を図2に示す。
100はクロック信号CLK1の入力端子、101は制御信
号CNTL1 の入力端子、110はANDの論理セル、11
1はインバータセル、1001〜1040はフリップフ
ロップセルである。NETCLK1 は、クロック信号CLK1の入
力端子100と、ANDの論理セル110と、インバー
タセル111と、フリップフロップセル1001〜10
20とを接続するネットである。NET110は、ANDの論
理セル110とフリップフロップセル1021〜103
0とを接続するネットである。NET111は、インバータセ
ル111とフリップフロップセル1031〜1040と
を接続するネットである。NETCNTL1は、制御信号CNTL1
の入力端子101とANDの論理セル110とを接続す
るネットである。
FIG. 2 shows an example of the connection relationship of clock signals described in the logical level netlist.
100 is an input terminal for the clock signal CLK1, 101 is an input terminal for the control signal CNTL1, 110 is an AND logic cell, 11
1 is an inverter cell, and 1001 to 1040 are flip-flop cells. NETCLK1 has an input terminal 100 for a clock signal CLK1, an AND logic cell 110, an inverter cell 111, and flip-flop cells 1001 to 10
This is a net connecting to the Internet 20. The NET 110 includes an AND logic cell 110 and flip-flop cells 1021 to 103
This is a net connecting 0. The NET 111 is a net that connects the inverter cell 111 and the flip-flop cells 1031 to 1040. NETCNTL1 is the control signal CNTL1
Is a net connecting the input terminal 101 and the AND logic cell 110.

【0026】次に、同一クロック信号に接続するフリッ
プフロップ及びラッチを認識するステップ2により、前
述のネットリストのクロック信号CLK1に接続するフリッ
プフロップセル及びラッチセルのインスタンス名と個数
を認識する。このステップ2により、図2に示す論理レ
ベルのネットリストに記述されているクロック信号CLK1
に接続されている、フリップフロップセルが1001か
ら1020の20個であることが分かる。
Next, in step 2 for recognizing flip-flops and latches connected to the same clock signal, the instance names and numbers of the flip-flop cells and latch cells connected to the clock signal CLK1 in the netlist are recognized. By this step 2, the clock signal CLK1 described in the logical level netlist shown in FIG.
, There are 20 flip-flop cells 1001 to 1020.

【0027】次に、同一クロック信号に接続されるフリ
ップフロップ及びラッチ以外のセルを認識し、このセル
を通過してクロック信号が供給されるフリップフロップ
セル及びラッチセルを認識するステップ3により、前述
のネットリストのクロック信号CLK1に接続するフリップ
フロップセル及びラッチセル以外のセルを探索し、各々
のセルの種類とインスタンス名と個数を認識し、このフ
リップフロップセル及びラッチセル以外のセルを通過し
てクロック信号が供給されるフリップフロップセル及び
ラッチセルの個数とフリップフロップセル及びラッチセ
ル各々のインスタンスとセル名を認識する。
Next, the above-described network is executed by step 3 in which cells other than flip-flops and latches connected to the same clock signal are recognized, and flip-flop cells and latch cells to which clock signals are supplied through the cells are recognized. A cell other than the flip-flop cell and the latch cell connected to the clock signal CLK1 in the list is searched, the type, the instance name and the number of each cell are recognized, and the clock signal is supplied through the cells other than the flip-flop cell and the latch cell. The number of flip-flop cells and latch cells, and the instance and cell name of each flip-flop cell and latch cell are recognized.

【0028】このステップ3により、図2に示す論理レ
ベルのネットリストに記述されているクロック信号CLK1
に接続されている、フリップフロップ及びラッチ以外の
セルが、ANDの論理セル110とインバータセル11
1であり、ANDの論理セル110に接続されるフリッ
プフロップセルが1021から1030の10個であ
り、インバータセル111に接続されるフリップフロッ
プセルが1031から1040の10個であることが分
かる。
By this step 3, the clock signal CLK1 described in the logical level netlist shown in FIG.
Are connected to the AND logic cell 110 and the inverter cell 11 except for the flip-flop and the latch.
It is found that the number of flip-flop cells connected to the AND logic cell 110 is 101, 1021 to 1030, and the number of flip-flop cells connected to the inverter cell 111 is 1031 to 1040.

【0029】次に、ネットリストを変更するステップ4
により、クロック信号が直接フリップフロップやラッチ
セルに供給される経路にバッファセルを挿入し、さら
に、挿入されたバッファセルをクロック信号が通過する
所用時間と、フリップフロップやラッチセル以外のセル
をクロック信号が通過する所用時間とが、それぞれほぼ
等しくなるように、挿入されたバッファセルと、フリッ
プフロップやラッチセル以外のセルを、それぞれ適切な
ドライブ能力を有する等価な論理のセルに変更する。
Next, step 4 for changing the netlist
By inserting the buffer cell into the path where the clock signal is directly supplied to the flip-flop or latch cell, the time required for the clock signal to pass through the inserted buffer cell and the clock signal passing through the cells other than the flip-flop or latch cell The inserted buffer cells and cells other than flip-flops and latch cells are changed to equivalent logic cells having appropriate driving capacities so that the time required to pass through is approximately equal to each other.

【0030】このステップ4により、図3に示すよう
に、クロック信号CLK1の入力端子100とフリップフロ
ップセル1001〜1020の間にバッファセル112
を追加する。NETCLK1 はバッファセル112の入力端子
に接続し、バッファセル112の出力端子とフリップフ
ロップセル1001〜1020を接続するネットをNET1
12とする。さらに、ANDの論理セル、インバータセ
ル、バッファセルは各々入力端子容量、トランジスタサ
イズ等が異なる複数のセルを用意しておき、ANDの論
理セル110、インバータセル111、バッファセル1
12は、クロック信号CLK1が各々ANDの論理セル11
0、インバータセル111、バッファセル112の入力
端子から出力端子までの遅延時間はほぼ同じになるセル
を選択する。なおセルの交換は、入力端子から出力端子
までの遅延時間が同等なセルを分類して、セル交換のル
ールを定めておくことが効果的である。
By this step 4, as shown in FIG. 3, the buffer cell 112 is connected between the input terminal 100 of the clock signal CLK1 and the flip-flop cells 1001 to 1020.
Add. NETCLK1 is connected to the input terminal of the buffer cell 112, and the net connecting the output terminal of the buffer cell 112 and the flip-flop cells 1001 to 1020 is NET1.
It is assumed to be 12. Further, a plurality of cells having different input terminal capacitances, transistor sizes, and the like are prepared for the AND logic cell, the inverter cell, and the buffer cell, and the AND logic cell 110, the inverter cell 111, and the buffer cell 1 are prepared.
12 is a logic cell 11 in which the clock signal CLK1 is AND
0, a cell having substantially the same delay time from the input terminal to the output terminal of the inverter cell 111 and the buffer cell 112 is selected. For cell replacement, it is effective to classify cells having the same delay time from the input terminal to the output terminal and determine the rules for cell replacement.

【0031】次に、クロックツリーの段数と挿入するバ
ッファセル数またはインバータセル数を決定するステッ
プ5で、ネットNETCLK1 に挿入するクロックツリーの構
成とバッファセルを決める。また、ネットNET110,NET11
1,NET112に各々挿入するクロックツリーの構成とバッフ
ァセルも決定するが、これは、クロックツリー段数は各
々同じにし、バッファセル数は各々のネットNET110,NET
111,NET112に接続するフリップフロップセルの数に依存
して決める。本実施の形態では、1個のバッファセルで
駆動するフリップフロップセルの数を10個程度、1個
のバッファセルで駆動するバッファセルを4個程度とす
る。なお、バッファセルは、インバータセルを直列に2
個接続して作られるセルである。
Next, in step 5 for determining the number of clock tree stages and the number of buffer cells or inverter cells to be inserted, the configuration of the clock tree to be inserted into the net NETCLK1 and the buffer cells are determined. In addition, net NET110, NET11
1, the structure of the clock tree to be inserted into NET112 and the buffer cells are also determined. This is because the number of clock tree stages is the same, and the number of buffer cells is the net NET110, NET.
It is determined depending on the number of flip-flop cells connected to 111 and NET112. In this embodiment mode, the number of flip-flop cells driven by one buffer cell is about 10, and the number of buffer cells driven by one buffer cell is about four. The buffer cell is composed of two inverter cells connected in series.
This is a cell that is made by connecting individual cells.

【0032】このステップ5により、図4に示すよう
に、ネットNETCLK1 に接続するセルはANDの論理セル
110、インバータセル111、バッファセル112の
3個なので、クロック信号CLK1の入力端子100と、A
NDの論理セル110,インバータセル111,バッフ
ァセル112との間に、クロックツリーとしてバッファ
セル400を挿入する指定を行なう。次に、バッファセ
ル112とフリップフロップセル1001〜1020の
間には、フリップフロップセル数が20個なので、クロ
ックツリーとしてバッファセル500とバッファセル5
01の2個のバッファを挿入する指定を行なう。AND
の論理セル110とフリップフロップセル1021〜1
030の間には、フリップフロップセル数が10個なの
で、クロックツリーとしてバッファセル502を挿入す
る指定を行なう。インバータセル111フリップフロッ
プセル1031〜1040の間には、フリップフロップ
セル数が10個なので、クロックツリーとしてバッファ
セル503を挿入する指定を行なう。
According to this step 5, as shown in FIG. 4, the number of cells connected to the net NETCLK1 is three, that is, the AND logic cell 110, the inverter cell 111, and the buffer cell 112. Therefore, the input terminal 100 of the clock signal CLK1 and A
A designation is made to insert a buffer cell 400 as a clock tree between the ND logic cell 110, inverter cell 111, and buffer cell 112. Next, since the number of flip-flop cells is 20 between the buffer cell 112 and the flip-flop cells 1001 to 1020, the buffer cells 500 and 5
01 are specified to be inserted. AND
Logic cell 110 and flip-flop cells 1021 to 1
Since the number of flip-flop cells is 10 between 030 and 030, it is specified to insert the buffer cell 502 as a clock tree. Since the number of flip-flop cells is 10 between the inverter cells 111 and the flip-flop cells 1031 to 1040, a designation is made to insert the buffer cell 503 as a clock tree.

【0033】なお、クロックツリーとして挿入される1
個のバッファセル(またはインバータセル)で駆動する
フリップフロップセル数・バッファセル数は、それらフ
リップフロップセル・バッファセルの入力端子容量や、
バッファセル(またはインバータセル)のドライブ能力
に依存するので、本実施の形態で定めた1個のバッファ
セル(またはインバータセル)で駆動するフリップフロ
ップセルの数とバッファセル数は、説明を簡単にするた
めで、構成するクロックツリーの段数や挿入するバッフ
ァセル数(またはインバータセル数)を限定するもので
はない。なお、クロックツリーをインバータセルで構成
する場合は、クロックツリーを偶数段にするだけで、基
本的な処理はバッファセルを用いる場合と同じである。
Note that 1 inserted as a clock tree
The number of flip-flop cells and the number of buffer cells driven by the number of buffer cells (or inverter cells) are determined by the input terminal capacity of the flip-flop cells and the buffer cells,
The number of flip-flop cells and the number of buffer cells driven by one buffer cell (or inverter cell) defined in the present embodiment is simplified because it depends on the drive capability of the buffer cell (or inverter cell). Therefore, the number of clock tree stages to be configured and the number of buffer cells (or the number of inverter cells) to be inserted are not limited. When the clock tree is composed of inverter cells, the basic processing is the same as that in the case where the buffer cells are used, except that the clock tree is formed in even-numbered stages.

【0034】次に、セル配置とクロックツリーを挿入す
るステップ6で、セル配置を行ない、セル配置後に、ス
テップ5により指定されたクロックツリーの段数と挿入
するバッファの数にしたがって、バッファセルを挿入す
る。セル配置では、その後に挿入されるバッファセル4
00,500〜503以外のセルが配置される(バッフ
ァセル112はセル配置で処理される)。セルの配置
は、ネットリストから機能ブロックの面積、配線混雑
度、タイミング等を考慮して、レイアウトツールの自動
配置機能によって行われる。なお、端子100,101
の配置位置は機能ブロックの周辺で、設計者が指定する
か、ツールが自動で配置位置を決める。
Next, in step 6 for inserting the cell arrangement and the clock tree, the cell arrangement is performed. After the cell arrangement, the buffer cells are inserted according to the number of clock tree stages specified in step 5 and the number of buffers to be inserted. I do. In the cell arrangement, the buffer cell 4 inserted thereafter is
Cells other than 00, 500 to 503 are arranged (the buffer cells 112 are processed by cell arrangement). The cell arrangement is performed by the automatic arrangement function of the layout tool in consideration of the functional block area, wiring congestion degree, timing, and the like from the netlist. The terminals 100 and 101
The layout position is specified by the designer around the function block, or the tool automatically determines the layout position.

【0035】ここで、バッファセル400は、そこか
ら、ANDの論理セル110と、インバータセル111
と、バッファセル112とへ略等しい時間で信号が到達
する位置に配置することで、クロック信号CLK1をバッフ
ァセル400からANDの論理セル110と、インバー
タセル111と、バッファセル112とに略同時に供給
することが可能となり、ANDの論理セル110と、イ
ンバータセル111と、バッファセル112とにクロッ
ク信号が到達する最小時間と最大時間の差である、クロ
ックスキューを最小にすることが可能となる。
Here, the buffer cell 400 is obtained from the AND logic cell 110 and the inverter cell 111.
The clock signal CLK1 is supplied from the buffer cell 400 to the AND logic cell 110, the inverter cell 111, and the buffer cell 112 almost simultaneously at the position where the signal reaches the buffer cell 112 at substantially the same time. It is possible to minimize the clock skew, which is the difference between the minimum time and the maximum time at which the clock signal arrives at the AND logic cell 110, the inverter cell 111, and the buffer cell 112.

【0036】バッファセル112と、それに接続される
20個のフリップフロップセル1001〜1020との
間には、バッファセル500と501が挿入されること
で、フリップフロップセル1001〜1020は配置位
置に応じて、バッファセル500と接続するセルとバッ
ファセル501と接続するセルとに分かれる。ここで、
説明を簡単にするため、バッファセル500と接続する
フリップフロップセルを1001から1010とし、バ
ッファセル501と接続するフリップフロップセルを1
011から1020とする。
The buffer cells 500 and 501 are inserted between the buffer cell 112 and the twenty flip-flop cells 1001 to 1020 connected to the buffer cell 112, so that the flip-flop cells 1001 to 1020 can be arranged according to their positions. The cell is divided into a cell connected to the buffer cell 500 and a cell connected to the buffer cell 501. here,
For the sake of simplicity, the flip-flop cells connected to the buffer cell 500 are designated as 1001 to 1010, and the flip-flop cell connected to the buffer cell 501 is designated as 1
011 to 1020.

【0037】バッファセル500は、そこから、フリッ
プフロップセル1001〜1010の各々へ略等しい時
間で信号が到達する位置に配置する。
The buffer cell 500 is arranged at a position where a signal reaches each of the flip-flop cells 1001 to 1010 at substantially the same time.

【0038】バッファセル501は、そこから、フリッ
プフロップセル1011〜1020の各々へ略等しい時
間で信号が到達する位置に配置する。
The buffer cell 501 is arranged at a position from which a signal reaches each of the flip-flop cells 1011 to 1020 in substantially the same time.

【0039】バッファセル502は、そこから、フリッ
プフロップセル1021〜1030の各々へ略等しい時
間で信号が到達する位置に配置する。
The buffer cell 502 is arranged at a position from which a signal reaches each of the flip-flop cells 1021 to 1030 at substantially the same time.

【0040】バッファセル503は、そこから、フリッ
プフロップセル1031〜1040の各々へ略等しい時
間で信号が到達する位置に配置する。
The buffer cell 503 is arranged at a position from which a signal reaches each of the flip-flop cells 1031 to 1040 in substantially the same time.

【0041】以上説明したクロックツリーの挿入方法
は、従来のクロックツリーシンセシスにおけるクロック
ツリーの挿入と同様の方法を使用する。
The above-described clock tree insertion method uses the same method as the clock tree insertion in the conventional clock tree synthesis.

【0042】次に、クロックスキューを調べてクロック
ツリーの構成を変更するステップ7で、バッファ112
から各フリップフロップセル1001〜1020までの
信号の到達時間と、ANDの論理セル110から各フリ
ップフロップセル1021〜1030までの信号の到達
時間と、インバータセル111から各フリップフロップ
セル1031〜1040までの信号の到達時間とを見積
もり、クロックスキューが所望の値より非常に大きく、
バッファセルのドライブ能力の変更程度では修正できな
い場合は、クロックツリーの段数と挿入するバッファセ
ル数を変更する。ここで、クロックスキューが所望の値
以下の場合は、変更しなくても構わない。
Next, in step 7 for examining the clock skew and changing the configuration of the clock tree, the buffer 112
, The arrival times of the signals from the AND logic cell 110 to the flip-flop cells 1021 to 1030, and the arrival times of the signals from the inverter cell 111 to the flip-flop cells 1031 to 1040. Estimate time and clock skew is much larger than desired,
If the correction cannot be made by changing the drive capacity of the buffer cell, the number of stages of the clock tree and the number of buffer cells to be inserted are changed. Here, when the clock skew is equal to or less than a desired value, it is not necessary to change the clock skew.

【0043】図5は、バッファ112から各フリップフ
ロップセル1001〜1020までの信号の到達時間
が、ANDの論理セル110から各フリップフロップセ
ル1021〜1030までの信号の到達時間と、インバ
ータセル111から各フリップフロップセル1031〜
1040までの信号の到達時間と比較して、クロックス
キューが大きい場合のクロックツリーの構成の変更結果
を示したものである。
FIG. 5 shows the arrival time of the signal from the buffer 112 to each of the flip-flop cells 1001 to 1020, the arrival time of the signal from the AND logic cell 110 to each of the flip-flop cells 1021 to 1030, and the arrival time of the signal from the inverter cell 111 to each of the flip-flop cells. Psewell 1031-
This figure shows the result of changing the configuration of the clock tree when the clock skew is large compared to the arrival time of the signal up to 1040.

【0044】図4に示すクロックツリーの構成では、バ
ッファセル112からバッファセル500までの距離
と、バッファセル112からバッファセル501までの
距離との差が大きい場合は、バッファセル112からバ
ッファセル500へ信号が到達する時間と、バッファセ
ル112からバッファセル501へ信号が到達する時間
との差が大となる場合がある。そこで、バッファセル5
00と501へ各々略等しい時間で信号が到達する位置
にバッファセル600を配置することで、バッファセル
112からバッファセル500へ信号が到達する時間
と、バッファセル112からバッファセル501へ信号
が到達する時間との差をほぼ無くすることができる。
In the configuration of the clock tree shown in FIG. 4, when the difference between the distance from buffer cell 112 to buffer cell 500 and the distance from buffer cell 112 to buffer cell 501 is large, buffer cell 112 to buffer cell 500 There is a case where the difference between the time when the signal reaches the buffer cell 112 and the time when the signal reaches the buffer cell 501 from the buffer cell 112 becomes large. Therefore, the buffer cell 5
By arranging the buffer cell 600 at a position where the signal arrives at approximately the same time as 00 and 501, the signal arrives at the buffer cell 500 from the buffer cell 112 and the signal arrives at the buffer cell 501 from the buffer cell 112. It is possible to make the difference from the time required for the operation almost zero.

【0045】バッファセル600を配置すると、バッフ
ァ112から各フリップフロップセル1001〜102
0までの各々の信号の到達時間は、ANDの論理セル1
10から各フリップフロップセル1021〜1030ま
での各々の信号の到達時間と、インバータセル111か
ら各フリップフロップセル1031〜1040までの各
々の信号の到達時間と比較して、バッファセル600を
通過する時間だけ遅くなるため、クロックスキューが生
じる。
When the buffer cell 600 is arranged, the flip-flop cells 1001 to 102
The arrival time of each signal to 0 is determined by the logic cell 1 of the AND.
Compared with the arrival time of each signal from 10 to each flip-flop cell 1021 to 1030 and the arrival time of each signal from inverter cell 111 to each flip-flop cell 1031 to 1040, it is delayed by the time passing through buffer cell 600. Therefore, clock skew occurs.

【0046】そこで、図5に示すように、さらにバッフ
ァセル601と602を追加することで、バッファ11
2から各フリップフロップセル1001〜1020まで
の各々の信号の到達時間を、ANDの論理セル110か
ら各フリップフロップセル1021〜1030までの各
々の信号の到達時間と、インバータセル111から各フ
リップフロップセル1031〜1040までの各々の信
号の到達時間を略等しくする。
Therefore, as shown in FIG. 5, by further adding buffer cells 601 and 602, the buffer 11
2, the arrival time of each signal from the flip-flop cells 1001 to 1020, the arrival time of each signal from the AND logic cell 110 to each of the flip-flop cells 1021 to 1030, and the arrival time of each signal from the inverter cell 111 to each of the flip-flop cells 1031 to 1040. , The arrival times of the respective signals up to approximately the same.

【0047】次に、配線を行なうステップ8で、グロー
バル配線と詳細配線を行ない、レイアウトを完了する。
Next, in wiring step 8, global wiring and detailed wiring are performed, and the layout is completed.

【0048】次に、クロックスキューを調べてクロック
ツリーとして挿入したバッファセル(またはインバータ
セル)のドライブ能力を変更するステップ9により、バ
ッファセル400、500、501、502、503、
600、601、602のドライブ能力を微調整するこ
とで、クロック信号CLK1がフリップフロップセル100
1〜1040の各々に到達する時間を略等しくすること
で、クロックスキューを最小化する。バッファセル能力
を微調整する場合は、セルサイズとセルの入出力端子位
置が等しくドライブ能力が異なるバッファセルを複数個
用意しておく必要がある。バッファセル能力を微調整す
る方法は、バッファセルが駆動するネットの配線抵抗、
配線容量、セルのゲート容量を計算し、遅延時間に応じ
たドライブ能力を有するバッファセルを割り当てるよう
にルール化しておく。
Next, the buffer cells 400, 500, 501, 502, 503, and 503 are checked by checking the clock skew and changing the drive capability of the buffer cell (or inverter cell) inserted as a clock tree.
By finely adjusting the drive capabilities of the flip-flop cells 600, 601 and 602, the clock signal CLK1
Clock skew is minimized by making the times to reach each of 1 to 1040 approximately equal. When finely adjusting the buffer cell capacity, it is necessary to prepare a plurality of buffer cells having the same cell size and cell input / output terminal positions and different drive capacities. The method of fine-tuning the buffer cell capacity is to adjust the wiring resistance of the net driven by the buffer cell,
The wiring capacity and the gate capacity of the cell are calculated, and a rule is established so that a buffer cell having a driving capacity according to the delay time is allocated.

【0049】最後に、データを出力するステップ10
で、レイアウト結果と、クロックツリーを挿入したネッ
トリストを出力する。
Finally, step 10 for outputting data
Output the layout result and the netlist into which the clock tree is inserted.

【0050】以上のように本実施の形態によれば、ステ
ップ4で、論理レベルのネットリストを、同一クロック
信号が直接フリップフロップセル及びラッチセルに供給
される経路にバッファセル(図3のバッファセル11
2)を挿入した構成のネットリストに変更することによ
り、変更後には、全てのフリップフロップセルやラッチ
セルに、フリップフロップセル及びラッチセル以外のセ
ル(挿入したバッファセルも含む)を介してクロック信
号が供給されることになるため、変更前の論理レベルの
ネットリストにおいて、クロック信号を直接フリップフ
ロップセルやラッチセルに供給する経路とフリップフロ
ップセルやラッチセル以外のセルを通過してフリップフ
ロップセルやラッチセルに供給する経路とが混在してい
ても、クロックスキューの最小化を実現することができ
る。
As described above, according to the present embodiment, in step 4, the logical-level netlist is transferred to the buffer cell (the buffer cell 11 in FIG. 3) through the path where the same clock signal is directly supplied to the flip-flop cell and the latch cell.
By changing to the netlist of the configuration in which 2) is inserted, after the change, a clock signal is supplied to all flip-flop cells and latch cells via cells other than flip-flop cells and latch cells (including inserted buffer cells). Therefore, in the logic-level netlist before the change, a path for directly supplying a clock signal to a flip-flop cell or a latch cell and a path for passing a clock signal to a flip-flop cell or a latch cell through a cell other than the flip-flop cell or a latch cell are included. Even if they are mixed, the clock skew can be minimized.

【0051】さらに前述したようにステップ4で、図3
におけるANDの論理セル110、インバータセル11
1、バッファセル112を遅延時間が同等なセルとする
ことが、クロックスキューの最小化に寄与する。
As described above, in step 4, FIG.
AND logic cell 110 and inverter cell 11
1. Making the buffer cells 112 cells with the same delay time contributes to minimizing clock skew.

【0052】さらに、ステップ7およびステップ9の処
理も、クロックスキューの最小化に寄与する。
Further, the processing in steps 7 and 9 also contributes to minimizing clock skew.

【0053】また、上記実施の形態において、フリップ
フロップセル1001〜1040に代えて、ラッチセル
が用いられている場合も同様である。さらに、1001
〜1040のセルとして、フリップフロップセルとラッ
チセルとが混在してあっても同様である。
The same applies to the case where a latch cell is used instead of flip-flop cells 1001 to 1040 in the above embodiment. In addition, 1001
The same applies to the case where the flip-flop cells and the latch cells are mixed as the cells of ~ 1040.

【0054】[0054]

【発明の効果】以上説明したように本発明によれば、論
理レベルのネットリストを、同一クロック信号が直接フ
リップフロップセル及びラッチセルに供給される経路に
バッファセルを挿入した構成のネットリストに変更する
ことにより、変更後には、全てのフリップフロップセル
やラッチセルに、フリップフロップセル及びラッチセル
以外のセル(挿入したバッファセルも含む)を介してク
ロック信号が供給されることになるため、変更前のネッ
トリストにおいて、クロック信号を直接フリップフロッ
プセルやラッチセルに供給する経路とフリップフロップ
セルやラッチセル以外のセルを通過してフリップフロッ
プセルやラッチセルに供給する経路とが混在していて
も、クロックスキューの最小化を図ることができる。
As described above, according to the present invention, the logical-level netlist is changed to a netlist having a configuration in which buffer cells are inserted in a path where the same clock signal is directly supplied to flip-flop cells and latch cells. As a result, after the change, the clock signal is supplied to all the flip-flop cells and the latch cells via cells other than the flip-flop cells and the latch cells (including the inserted buffer cells). Even if a path for directly supplying a clock signal to a flip-flop cell or a latch cell and a path for supplying a flip-flop cell or a latch cell through a cell other than the flip-flop cell or a latch cell are mixed, clock skew can be minimized. it can.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態の半導体集積回路のレイア
ウト設計方法における処理フローを示す図。
FIG. 1 is a diagram showing a processing flow in a layout design method of a semiconductor integrated circuit according to an embodiment of the present invention.

【図2】同実施の形態におけるデータ入力時のクロック
信号CLK1の接続図。
FIG. 2 is a connection diagram of a clock signal CLK1 at the time of data input in the embodiment.

【図3】図2にクロック信号CLK1とフリップフロップセ
ル1001〜1020の間にバッファセル112を挿入
した場合のクロック信号CLK1の接続図。
FIG. 3 is a connection diagram of the clock signal CLK1 when a buffer cell 112 is inserted between the clock signal CLK1 and flip-flop cells 1001 to 1020 in FIG.

【図4】図3のクロック信号CLK1にクロックツリーを挿
入したクロック信号CLK1の接続図。
FIG. 4 is a connection diagram of a clock signal CLK1 in which a clock tree is inserted into the clock signal CLK1 of FIG. 3;

【図5】図4のクロック信号CLK1に挿入したクロックツ
リーの段数を変更したクロック信号CLK1の接続図。
FIG. 5 is a connection diagram of a clock signal CLK1 in which the number of stages of a clock tree inserted into the clock signal CLK1 of FIG. 4 is changed.

【図6】従来の半導体集積回路のレイアウト設計方法に
おける処理フローを示す図。
FIG. 6 is a view showing a processing flow in a conventional semiconductor integrated circuit layout design method.

【図7】従来の半導体集積回路のレイアウト設計方法に
よりクロックツリーを挿入したクロック信号CLK1の接続
図。
FIG. 7 is a connection diagram of a clock signal CLK1 in which a clock tree has been inserted by a conventional semiconductor integrated circuit layout design method.

【符号の説明】[Explanation of symbols]

100 クロック信号CLK1の入力端子 101 制御信号CNTL1 の入力端子 110 ANDの論理セル 111 インバータセル 112 バッファセル 400 バッファセル 500 バッファセル 501 バッファセル 502 バッファセル 503 バッファセル 600 バッファセル 601 バッファセル 602 バッファセル 1001〜1040 フリップフロップセル Reference Signs List 100 Input terminal of clock signal CLK1 101 Input terminal of control signal CNTL1 110 Logic cell of AND 111 Inverter cell 112 Buffer cell 400 Buffer cell 500 Buffer cell 501 Buffer cell 502 Buffer cell 503 Buffer cell 600 Buffer cell 601 Buffer cell 602 Buffer cell 1001 〜101040 flip-flop cell

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H01L 21/822 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) H01L 21/822

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 半導体集積回路のレイアウト設計に必要
な論理レベルのネットリストを含むデータに基づいて、
クロック信号が供給される経路に挿入されるクロックツ
リーの段数と前記クロックツリーとして挿入するバッフ
ァセルまたはインバータセルの数とを決定した後、セル
配置と前記クロックツリーの挿入を行い、配線を行なう
半導体集積回路のレイアウト設計方法であって、 前記クロックツリーの段数と前記クロックツリーとして
挿入するバッファセルまたはインバータセルの数を決定
する前に、 前記論理レベルのネットリストに基づいて、同一クロッ
ク信号が直接供給されるフリップフロップセル及びラッ
チセルを認識するステップと、 前記論理レベルのネットリストに基づいて、前記同一ク
ロック信号が直接供給されるフリップフロップセル及び
ラッチセル以外のセルを認識し、前記セルを通過して前
記クロック信号が供給されるフリップフロップセル及び
ラッチセルを認識するステップと、 前記論理レベルのネットリストを、前記同一クロック信
号が直接フリップフロップセル及びラッチセルに供給さ
れる経路にバッファセルを挿入した構成のネットリスト
に変更するステップとを含むことを特徴とする半導体集
積回路のレイアウト設計方法。
1. Based on data including a logic level netlist required for a layout design of a semiconductor integrated circuit,
After deciding the number of stages of a clock tree to be inserted into a path to which a clock signal is supplied and the number of buffer cells or inverter cells to be inserted as the clock tree, a cell arrangement and the insertion of the clock tree are performed to perform wiring. An integrated circuit layout design method, wherein, before determining the number of stages of the clock tree and the number of buffer cells or inverter cells to be inserted as the clock tree, the same clock signal is directly output based on the logical level netlist. Recognizing flip-flop cells and latch cells to be supplied; and recognizing cells other than flip-flop cells and latch cells to which the same clock signal is directly supplied, based on the netlist of the logic level, and passing through the cells. Flick to which the clock signal is supplied Recognizing a flop cell and a latch cell; and changing the logic level netlist to a netlist having a configuration in which a buffer cell is inserted in a path where the same clock signal is directly supplied to the flip-flop cell and the latch cell. A layout design method for a semiconductor integrated circuit, characterized in that:
【請求項2】 ネットリストを変更するステップにおい
て、同一クロック信号が直接フリップフロップセル及び
ラッチセルに供給される経路に挿入されたバッファセル
をクロック信号が通過する所要時間と、前記フリップフ
ロップセル及びラッチセル以外のセルをクロック信号が
通過する所要時間とが、それぞれほぼ等しくなるよう
に、前記バッファセルと、前記フリップフロップセル及
びラッチセル以外のセルとを、それぞれ適切なドライブ
能力を有する等価な論理のセルに変更することを特徴と
する請求項1記載の半導体集積回路のレイアウト設計方
法。
2. The method according to claim 1, wherein in the step of changing the netlist, a time required for the clock signal to pass through a buffer cell inserted in a path through which the same clock signal is directly supplied to the flip-flop cell and the latch cell; The buffer cell and the cells other than the flip-flop cell and the latch cell are changed to equivalent logic cells having appropriate driving capabilities so that the time required for the clock signal to pass through the cell is substantially equal to each other. 2. The layout design method for a semiconductor integrated circuit according to claim 1, wherein:
【請求項3】 クロック信号が供給される経路に挿入さ
れるクロックツリーの段数と前記クロックツリーとして
挿入するバッファセルまたはインバータセルの数との決
定は、同一のクロック信号が供給される全てのフリップ
フロップセル及びラッチセルの入力端子容量の総和と、
指定されたクロック信号の到達時間と、前記クロックツ
リーとして挿入するバッファセルまたはインバータセル
のドライブ能力とに基づいて行うことを特徴とする請求
項1または2記載の半導体集積回路のレイアウト設計方
法。
3. The determination of the number of clock trees to be inserted into a path to which a clock signal is supplied and the number of buffer cells or inverter cells to be inserted as the clock tree is determined by all flip-flops to which the same clock signal is supplied. Sum of the input terminal capacitances of the positive and negative cells,
3. The layout design method for a semiconductor integrated circuit according to claim 1, wherein the method is performed based on a designated clock signal arrival time and a drive capability of a buffer cell or an inverter cell inserted as the clock tree.
【請求項4】 セル配置とクロックツリーの挿入を行う
際、クロック信号の入力端子と、前記クロック信号が直
接供給されるフリップフロップセル及びラッチセル以外
のセルとの間に、前記クロックツリーを挿入するととも
に、前記クロック信号が直接供給される前記フリップフ
ロップセル及びラッチセル以外のセルと、前記フリップ
フロップセル及びラッチセル以外のセルに接続されるフ
リップフロップセル及びラッチセルとの間に、前記クロ
ックツリーを挿入することを特徴とする請求項1または
2記載の半導体集積回路のレイアウト設計方法。
4. When a cell is placed and a clock tree is inserted, the clock tree is inserted between a clock signal input terminal and a cell other than a flip-flop cell and a latch cell to which the clock signal is directly supplied. Inserting the clock tree between cells other than the flip-flop cells and latch cells to which the clock signal is directly supplied, and flip-flop cells and latch cells connected to cells other than the flip-flop cells and latch cells. 3. The layout design method for a semiconductor integrated circuit according to claim 1, wherein:
【請求項5】 配線を行なった後、クロックスキューを
調べ、前記クロックスキューがより小さくなるようにク
ロックツリーとして挿入するバッファセルまたはインバ
ータセルのドライブ能力を変更することを特徴とする請
求項1または2記載の半導体集積回路のレイアウト設計
方法。
5. The method according to claim 1, wherein after wiring is performed, a clock skew is checked, and a driving capability of a buffer cell or an inverter cell inserted as a clock tree is changed so as to reduce the clock skew. 2. A layout design method for a semiconductor integrated circuit according to item 2.
JP2000262447A 2000-08-31 2000-08-31 Layout design method of semiconductor integrated circuit Pending JP2002076125A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000262447A JP2002076125A (en) 2000-08-31 2000-08-31 Layout design method of semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000262447A JP2002076125A (en) 2000-08-31 2000-08-31 Layout design method of semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2002076125A true JP2002076125A (en) 2002-03-15

Family

ID=18750127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000262447A Pending JP2002076125A (en) 2000-08-31 2000-08-31 Layout design method of semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2002076125A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100482A (en) * 2005-06-06 2011-05-19 Fujitsu Ltd Method, logical device and system for calculating jitter of circuit, and method, logical device and system for synthesizing clock tree of circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011100482A (en) * 2005-06-06 2011-05-19 Fujitsu Ltd Method, logical device and system for calculating jitter of circuit, and method, logical device and system for synthesizing clock tree of circuit

Similar Documents

Publication Publication Date Title
US6779158B2 (en) Digital logic optimization using selection operators
US9270279B2 (en) Apparatus and methods for time-multiplex field-programmable gate arrays
US7500214B2 (en) System and method for reducing design cycle time for designing input/output cells
US7165230B2 (en) Switch methodology for mask-programmable logic devices
JPH0766400B2 (en) Clock skew reduction method
JPH09107035A (en) Semiconductor cell with variable transistor width
JPH07249967A (en) Synchronizing circuit
US7254796B2 (en) Method for synthesizing domino logic circuits cross reference to related patent application using partition
US20010048333A1 (en) Buffer circuit block and design method of semiconductor integrated circuit by using the same
US6425115B1 (en) Area efficient delay circuits
JP2001357090A (en) Method and device for synthesizing logic
US7062739B2 (en) Gate reuse methodology for diffused cell-based IP blocks in platform-based silicon products
US20030177457A1 (en) Optimization of digital designs
US20140084981A1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
JP3412745B2 (en) Clock supply device for semiconductor circuit and design method thereof
US7725855B1 (en) Symmetry-based optimization for the physical synthesis of programmable logic devices
JP2002076125A (en) Layout design method of semiconductor integrated circuit
JP2004040081A (en) Mask-programmable logic device with programmable gate array part
JPH0384951A (en) Layout design of integrated circuit
US9569570B2 (en) Configurable delay cell
US20080082951A1 (en) Structure Cluster and Method in Programmable Logic Circuit
JP2002198430A (en) Variable driving force block and method for designing lsi employing it
US20040194047A1 (en) Layout design apparatus
JPH10207921A (en) Scan path constituting method
JP2003076729A (en) Design method for semiconductor integrated circuit