JP2008186081A - Device for designing semiconductor integrated circuit - Google Patents

Device for designing semiconductor integrated circuit Download PDF

Info

Publication number
JP2008186081A
JP2008186081A JP2007016766A JP2007016766A JP2008186081A JP 2008186081 A JP2008186081 A JP 2008186081A JP 2007016766 A JP2007016766 A JP 2007016766A JP 2007016766 A JP2007016766 A JP 2007016766A JP 2008186081 A JP2008186081 A JP 2008186081A
Authority
JP
Japan
Prior art keywords
cell
clock
shared
clock path
cells
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.)
Withdrawn
Application number
JP2007016766A
Other languages
Japanese (ja)
Inventor
Kaki Tsukihoshi
佳記 月星
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics Corp
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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2007016766A priority Critical patent/JP2008186081A/en
Publication of JP2008186081A publication Critical patent/JP2008186081A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor integrated circuit designing device capable of arranging cells on the shared clock route of a plurality of clock signals at positions by which a clock propagation delay time is made to be shortest. <P>SOLUTION: The multiple clock input cell extracting part 11 of the semiconductor integrated circuit designing device 1 extracts the cell where the plurality of clock signals are inputted. A shared clock route cell extracting part 12 extracts the cells existing in the multiple clock shared clock route for transmitting the output of the multiple clock input cell. A cell destination position calculating part 13 calculates the destination positions of the multiple clock input cell and the shared clock route cells, capable of shortening the propagation delay time of the shared clock route, based on the cell arrangement position information of the shared clock route cells. A cell arrangement position change part 14 changes the arrangement positions of the multiple clock input cell and the shared clock route cells into the calculated movement destination positions. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、半導体集積回路設計装置に関する。   The present invention relates to a semiconductor integrated circuit design apparatus.

近年の大規模・高速の半導体集積回路では、チップ内へのクロック信号の分配に際し、クロック信号の配線抵抗によるスキューを低減させることが重要である。そこで、従来、半導体集積回路のレイアウト設計を行う半導体集積回路設計装置では、クロック分配用のクロックツリーを自動生成し、クロックスキューを低減させている。   In recent large-scale and high-speed semiconductor integrated circuits, it is important to reduce the skew due to the wiring resistance of the clock signal when distributing the clock signal into the chip. Therefore, conventionally, a semiconductor integrated circuit design apparatus for designing a layout of a semiconductor integrated circuit automatically generates a clock tree for clock distribution to reduce clock skew.

クロックツリーの生成は、半導体集積回路を構成する論理回路などのセルを配置した後、その配置位置に合わせて、クロック信号分配先のセルへ均等な遅延時間でクロック信号が伝播するように、ツリー状にバッファを配置することによって行われる。   The clock tree is generated by arranging the cells such as logic circuits constituting the semiconductor integrated circuit, and then transmitting the clock signal to the clock signal distribution destination cells with an equal delay time according to the arrangement position. This is done by arranging buffers in a shape.

ところで、このようなクロックツリーが生成される半導体集積回路では、テスト容易化のために、スキャンテスト用回路などのテスト回路が挿入されることがある。その場合、システム動作用クロックと、テスト用クロック、という2系統のクロックを、動作モード切り換え用セレクタによって切り換え、セレクタの出力をクロック信号として分配することなどが行われる。この場合、セレクタの出力からクロック信号分配先末端の論理セルまでのクロック信号経路は、2系統のクロックの共有クロック経路となる。   By the way, in a semiconductor integrated circuit in which such a clock tree is generated, a test circuit such as a scan test circuit may be inserted for ease of testing. In this case, two system clocks, that is, a system operation clock and a test clock, are switched by an operation mode switching selector, and the output of the selector is distributed as a clock signal. In this case, the clock signal path from the output of the selector to the logic cell at the clock signal distribution destination terminal is a shared clock path of two clocks.

このような共有クロック経路を有する2系統のクロックを有する半導体集積回路に対して、クロックツリーを生成する場合、どちらのクロックに対してもクロックスキューが生じないように、伝播遅延時間の調整を行う必要がある。   When a clock tree is generated for a semiconductor integrated circuit having two clocks having such a shared clock path, the propagation delay time is adjusted so that no clock skew occurs for either clock. There is a need.

例えば、2系統のクロックが入力されるセレクタ用セルの配置位置によって、そのセレクタ用セルまでの2系統のクロックの配線長に大きな差が生じたときは、配線長の長い方のクロックに合わせた遅延時間の調整を行う必要がある。   For example, if there is a large difference in the wiring length of the two clocks up to the selector cell depending on the position of the selector cell to which the two clocks are input, the clock is adjusted to the clock with the longer wiring length. It is necessary to adjust the delay time.

このような遅延時間の調整を行う方法の1つとして、クロックツリーの生成において、遅延調整回路を挿入することが行われている(例えば、特許文献1参照。)。   As one method of adjusting the delay time, a delay adjustment circuit is inserted in the generation of the clock tree (see, for example, Patent Document 1).

しかし、このような遅延調整回路を挿入して、配線長の長い方のクロックに合わせた遅延時間の調整を行うと、外部信号に対して、チップ全体のクロックのタイミングが遅れ、半導体集積回路の動作マージンが低下するという問題が生じる。   However, when such a delay adjustment circuit is inserted and the delay time is adjusted in accordance with the clock having the longer wiring length, the clock timing of the entire chip is delayed with respect to the external signal. There arises a problem that the operating margin is lowered.

また、上述の2系統のクロックの配線長に大きな差が生じたときの対策として、半導体集積回路のセル配置工程を再度実行してセレクタ用セルの配置位置を変更し、クロックツリーを再生成することも行われる。しかし、1回の再実行で必ずしも最適解が得られるとは限らない。場合によっては、最適解が得られるまで、セルの配置とクロックツリーの生成を繰り返し行うこととなり、半導体集積回路の設計に時間がかかる、という問題が生じる。
特開2006−93249号公報 (第4−5ページ、図1)
Further, as a countermeasure when a large difference occurs in the wiring lengths of the above-mentioned two systems of clocks, the cell placement process of the semiconductor integrated circuit is executed again to change the placement position of the selector cells, and the clock tree is regenerated. Things are also done. However, an optimal solution is not always obtained by one re-execution. In some cases, cell placement and clock tree generation are repeated until an optimal solution is obtained, which causes a problem that it takes time to design a semiconductor integrated circuit.
JP 2006-93249 A (page 4-5, FIG. 1)

そこで、本発明の目的は、複数のクロック信号の共有クロック経路上のセルをクロック伝播遅延時間が最短となる位置に配置することのできる半導体集積回路設計装置を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a semiconductor integrated circuit design apparatus capable of arranging cells on a shared clock path of a plurality of clock signals at a position where the clock propagation delay time is the shortest.

本発明の一態様によれば、半導体集積回路のセル配置位置データおよびネットデータが入力される半導体集積回路設計装置であって、複数のクロック信号が入力されているセルを複数クロック入力セルとして抽出する複数クロック入力セル抽出手段と、前記複数クロック入力セルの出力端から、前記複数クロック入力セルから出力されるクロック経路の信号がクロック入力端に入力される末端セルに到るまでの、前記複数のクロック信号が共有する共有クロック経路に存在するセルを共有クロック経路セルとして抽出する共有クロック経路セル抽出手段と、前記共有クロック経路セルのセル配置位置情報にもとづいて、前記共有クロック経路の伝播遅延時間を短縮する、前記複数クロック入力セルおよび前記共有クロック経路セルの移動先位置を算出するセル移動先位置算出手段と、前記移動先位置へ前記複数クロック入力セルおよび前記共有クロック経路セルの配置位置を変更し、クロックツリー生成用セル配置位置データを出力するセル配置位置変更手段とを備えることを特徴とする半導体集積回路設計装置が提供される。   According to one aspect of the present invention, there is provided a semiconductor integrated circuit design apparatus to which cell arrangement position data and net data of a semiconductor integrated circuit are input, and a cell to which a plurality of clock signals are input is extracted as a plurality of clock input cells. A plurality of clock input cell extracting means, and a plurality of the plurality of clock input cells from the output end of the plurality of clock input cells to a terminal cell in which a clock path signal output from the plurality of clock input cells is input to the clock input end A shared clock path cell extracting means for extracting a cell existing in a shared clock path shared by the clock signal as a shared clock path cell, and a propagation delay of the shared clock path based on cell arrangement position information of the shared clock path cell Move destination position of the multiple clock input cells and the shared clock path cell to reduce time Cell move destination position calculating means for calculating the cell placement position changing means for changing the placement position of the plurality of clock input cells and the shared clock path cell to the move destination position and outputting the clock tree generation cell placement position data A semiconductor integrated circuit design apparatus is provided.

本発明によれば、複数のクロック信号の共有クロック経路上のセルをクロック伝播遅延時間が最短となる位置に配置することができる。   According to the present invention, cells on a shared clock path for a plurality of clock signals can be arranged at a position where the clock propagation delay time is the shortest.

図1は、本発明の実施の形態に係る半導体集積回路設計装置の構成の例を示すブロック図である。   FIG. 1 is a block diagram showing an example of the configuration of a semiconductor integrated circuit design apparatus according to an embodiment of the present invention.

本実施の形態の半導体集積回路設計装置1は、複数のクロック信号が入力されるセルを有する半導体集積回路のセル配置終了後のセル配置位置データ100、およびその半導体集積回路のネットデータ200が入力され、複数のクロック信号の共有クロック経路上のセルの配置位置を変更したクロックツリー生成用セル配置位置データ300を出力する装置である。   In the semiconductor integrated circuit design apparatus 1 of the present embodiment, cell placement position data 100 after cell placement of a semiconductor integrated circuit having cells to which a plurality of clock signals are inputted and net data 200 of the semiconductor integrated circuit are inputted. The device outputs the clock tree generation cell arrangement position data 300 in which the arrangement positions of the cells on the shared clock path of the plurality of clock signals are changed.

半導体集積回路設計装置1は、複数のクロック信号が入力されているセルを複数クロック入力セルとして、ネットデータ200から抽出する複数クロック入力セル抽出部11と、抽出された複数クロック入力セルの出力端から、その複数クロック入力セルの出力がクロック経路の信号として伝達されてクロック入力端に入力される末端セルに到るまでの、複数のクロック信号が共有する共有クロック経路に存在するセルを共有クロック経路セルとして、ネットデータ200から抽出する共有クロック経路セル抽出部12と、その共有クロック経路セルのセル配置位置情報にもとづいて、共有クロック経路の伝播遅延時間を短縮する、複数クロック入力セルおよび共有クロック経路セルの移動先位置を算出するセル移動先位置算出部13と、算出された移動先位置へ複数クロック入力セルおよび共有クロック経路セルの配置位置を変更し、クロックツリー生成用セル配置位置データ300を出力するセル配置位置変更部14と、を備える。   The semiconductor integrated circuit design device 1 includes a plurality of clock input cell extraction units 11 that extract a cell to which a plurality of clock signals are input as a plurality of clock input cells from the net data 200, and an output terminal of the extracted plurality of clock input cells. To the cell that is present in the shared clock path shared by multiple clock signals, from the output of the multiple clock input cells to the terminal cell that is transmitted as the clock path signal to the clock input terminal. Multiple clock input cells and shared clocks that reduce the propagation delay time of the shared clock path based on the shared clock path cell extraction unit 12 that is extracted from the net data 200 and the cell arrangement position information of the shared clock path cell as path cells A cell destination calculation unit 13 for calculating the destination location of the clock path cell; Has been to the destination position by changing the arrangement position of the plurality of clocks input cells and sharing the clock path cell comprises a cell placement position changing unit 14 for outputting a clock tree generation cell layout position data 300, a.

このような本実施形態の半導体集積回路設計装置によれば、当初のセル配置位置に対して、共有クロック経路の伝播遅延時間を短縮する位置へ、複数クロック入力セルおよび共有クロック経路セルの配置位置を変更するので、共有クロック経路の伝播遅延時間を最短とすることができる。   According to the semiconductor integrated circuit design apparatus of this embodiment as described above, the arrangement positions of the multiple clock input cells and the shared clock path cell to the position where the propagation delay time of the shared clock path is shortened with respect to the initial cell arrangement position. Therefore, the propagation delay time of the shared clock path can be minimized.

ここで、セル移動先位置算出部13におけるセル移動先位置の算出には、いくつかの手法があるので、それらの手法を実施例1〜4に示す。   Here, since there are several methods for calculating the cell movement destination position in the cell movement destination position calculation unit 13, those methods are shown in Embodiments 1 to 4.

以下、本発明の実施例を図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図2は、セル移動先位置算出部13の本実施例におけるセル移動先位置算出の処理手順を示すフロー図である。   FIG. 2 is a flowchart showing the processing procedure of cell move destination position calculation in the present embodiment of the cell move destination position calculation unit 13.

セル移動先位置算出部13は、共有クロック経路セル抽出部12からの共有クロック経路セル情報121の出力を受けて、まず、共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出する(手順S01)。   Upon receiving the output of the shared clock path cell information 121 from the shared clock path cell extracting unit 12, the cell move destination position calculation unit 13 first sets the shared clock path cell arrangement area including all the shared clock path cells as its end. Is calculated as a boundary (step S01).

次に、この共有クロック経路セル配置領域で、複数クロック入力セルへ入力される複数のクロック信号のいずれのクロック源からも等距離となる位置を算出する(手順S02)。   Next, in this shared clock path cell arrangement region, a position that is equidistant from any clock source of the plurality of clock signals input to the plurality of clock input cells is calculated (step S02).

そして、その位置を複数クロック入力セルの移動先位置と決定し(手順S03)、その情報を移動先位置情報131として出力する。   Then, the position is determined as the movement destination position of the plurality of clock input cells (step S03), and the information is output as the movement destination position information 131.

図3に、本実施例による複数クロック入力セルの移動先位置決定処理の様子を示す。ここでは、クロック源S1からのクロックAおよびクロック源S2からのクロックBが入力される複数クロック入力セルM1(例えば、セレクタ)から、共有クロック経路Pとなる信号が出力され、この共有クロック経路Pに共有クロック経路セルC1〜C3が接続されているものとする。共有クロック経路セルC1〜C3は、共通クロック経路Pの信号がクロック入力端に入力される末端のセルであり、具体的には、フリップフロップなどのセルである。   FIG. 3 shows the movement destination position determination process for a plurality of clock input cells according to this embodiment. Here, a signal serving as a shared clock path P is output from a plurality of clock input cells M1 (for example, a selector) to which the clock A from the clock source S1 and the clock B from the clock source S2 are input, and this shared clock path P It is assumed that shared clock path cells C1 to C3 are connected to each other. The shared clock path cells C1 to C3 are end cells to which signals of the common clock path P are input to the clock input terminal, and specifically, cells such as flip-flops.

図3(a)には、図2の手順S01により、共有クロック経路セル配置領域Rを算出した様子を示す。   FIG. 3A shows a state in which the shared clock path cell arrangement region R is calculated by the procedure S01 in FIG.

ここで、共有クロック経路セル配置領域Rの形状は矩形とし、その端部に配置されたセルの外縁部に接する線を境界として、その領域を定める。   Here, the shape of the shared clock path cell arrangement region R is rectangular, and the region is determined with a line in contact with the outer edge of the cell arranged at the end as a boundary.

図3(b)には、図2の手順S02により、共有クロック経路セル配置領域Rで、クロック源S1およびS2のいずれからも等距離となる位置を算出した様子を示す。   FIG. 3B shows a state where the positions that are equidistant from the clock sources S1 and S2 are calculated in the shared clock path cell arrangement region R by the procedure S02 of FIG.

すなわち、クロック源S1の出力端とクロック源S2の出力端から同じ長さの線分を延ばし、共有クロック経路セル配置領域R内でのその交点を複数クロック入力セルM1の移動先位置Tとする。   That is, a line segment having the same length is extended from the output end of the clock source S1 and the output end of the clock source S2, and the intersection point in the shared clock path cell arrangement region R is set as the movement destination position T of the plurality of clock input cells M1. .

図3(C)には、図2の手順S03により、移動先位置Tへ複数クロック入力セルM1を移動させたときのセル配置の様子を示す。   FIG. 3C shows a cell arrangement when the plurality of clock input cells M1 are moved to the movement destination position T in step S03 of FIG.

このような本実施例によれば、複数クロック入力セルを、その入力クロック信号のいずれのクロック源からも等距離となる位置に配置することができるので、いずれの入力クロック信号も、クロック源から複数クロック入力セルまでの配線による伝播遅延時間をほぼ等しい値とすることができる。そのため、クロックツリーの生成時に、遅延時間の調整のための遅延調整回路の挿入の必要がなく、クロックの伝播遅延時間を最短とすることができる。   According to this embodiment, a plurality of clock input cells can be arranged at the same distance from any clock source of the input clock signal. Propagation delay times due to wiring to a plurality of clock input cells can be made substantially equal. Therefore, it is not necessary to insert a delay adjusting circuit for adjusting the delay time when generating the clock tree, and the clock propagation delay time can be minimized.

図4は、セル移動先位置算出部13の本実施例におけるセル移動先位置算出の処理手順を示すフロー図である。   FIG. 4 is a flowchart showing the processing procedure of cell move destination position calculation in the present embodiment of the cell move destination position calculation unit 13.

セル移動先位置算出部13は、共有クロック経路セル抽出部12からの共有クロック経路セル情報121の出力を受けて、まず、共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出する(手順S11)。   Upon receiving the output of the shared clock path cell information 121 from the shared clock path cell extracting unit 12, the cell move destination position calculation unit 13 first sets the shared clock path cell arrangement area including all the shared clock path cells as its end. Is calculated as a boundary (step S11).

次に、この共有クロック経路セル配置領域で、共有クロック経路セルの配置位置にもとづく重心の位置を算出する(手順S12)。   Next, in this shared clock path cell arrangement area, the position of the center of gravity based on the arrangement position of the shared clock path cell is calculated (step S12).

ここで、重心の位置は、その座標を(Xm,Ym)と表すとすると、
Xm=各共有クロックセルの配置位置のX座標の平均値
Ym=各共有クロックセルの配置位置のY座標の平均値
として算出するものとする。
Here, the position of the center of gravity is expressed as (Xm, Ym).
Xm = the average value of the X coordinate of the arrangement position of each shared clock cell Ym = the average value of the Y coordinate of the arrangement position of each shared clock cell.

そして、その位置を複数クロック入力セルの移動先位置と決定し(手順S13)、その情報を移動先位置情報132として出力する。   Then, the position is determined as the movement destination position of the plurality of clock input cells (step S13), and the information is output as the movement destination position information 132.

図5に、本実施例による複数クロック入力セルの移動先位置決定処理の様子を示す。ここで、各セルの配置は、図3(a)に示したものと同じものとする。   FIG. 5 shows the movement destination position determination process for a plurality of clock input cells according to this embodiment. Here, the arrangement of each cell is the same as that shown in FIG.

図5(a)には、図4の手順S11により、共有クロック経路セル配置領域Rを算出した様子を示す。本実施例でも、実施例1と同様、共有クロック経路セル配置領域Rの形状は矩形とし、その端部に配置されたセルの外縁部に接する線を境界として、その領域を定める。   FIG. 5A shows a state where the shared clock path cell arrangement region R is calculated by the procedure S11 of FIG. Also in the present embodiment, as in the first embodiment, the shared clock path cell arrangement region R has a rectangular shape, and the region is defined by using a line in contact with the outer edge of the cell arranged at the end as a boundary.

図5(b)には、図4の手順S12により、共有クロック経路セル配置領域Rで、共有クロック経路セルの配置位置にもとづく重心の位置を算出し、その位置を複数クロック入力セルM1の移動先位置Tとした様子を示す。   In FIG. 5B, the position of the center of gravity based on the arrangement position of the shared clock path cell is calculated in the shared clock path cell arrangement region R by the procedure S12 of FIG. 4, and the position of the plurality of clock input cells M1 is moved. A state where the tip position T is set is shown.

ここで、共有クロック経路セルC1〜C3の中心座標を、(X1,Y1)、(X2,Y2)、(X3,Y3)とすると、共有クロック経路セル配置領域Rの重心の座標(Xm,Ym)は、
Xm=(X1+X2+X3)/3
Ym=(Y1+Y2+Y3)/3
として算出される。
Here, assuming that the central coordinates of the shared clock path cells C1 to C3 are (X1, Y1), (X2, Y2), (X3, Y3), the coordinates of the center of gravity of the shared clock path cell arrangement region R (Xm, Ym) )
Xm = (X1 + X2 + X3) / 3
Ym = (Y1 + Y2 + Y3) / 3
Is calculated as

図5(C)には、図4の手順S13により、移動先位置Tへ複数クロック入力セルM1を移動させたときのセル配置の様子を示す。   FIG. 5C shows a state of the cell arrangement when the plurality of clock input cells M1 are moved to the movement destination position T in step S13 of FIG.

ここでは、複数クロック入力セルM1の中心座標が移動先位置Tとなるように、複数クロック入力セルM1を移動させるものとする。   Here, it is assumed that the plurality of clock input cells M1 are moved so that the center coordinates of the plurality of clock input cells M1 become the movement destination position T.

このような本実施例によれば、複数クロック入力セルを、共有クロック経路セルへのクロック分配のバランスのいい位置へ配置できるので、どの共有クロック経路セルに対しても均等な伝播遅延時間でクロックを分配することができる。クロックの伝播遅延時間に不均衡が生じないため、クロックツリーの生成時に、遅延時間の調整のための遅延調整回路の挿入を防止することができる。   According to this embodiment, since a plurality of clock input cells can be arranged at a well-balanced position of clock distribution to the shared clock path cell, the clocks can be transmitted with equal propagation delay time to any shared clock path cell. Can be distributed. Since no imbalance occurs in the propagation delay time of the clock, it is possible to prevent the insertion of a delay adjustment circuit for adjusting the delay time when generating the clock tree.

図6は、セル移動先位置算出部13の本実施例におけるセル移動先位置算出の処理手順を示すフロー図である。   FIG. 6 is a flowchart showing the processing procedure of cell move destination position calculation in the present embodiment of the cell move destination position calculation unit 13.

セル移動先位置算出部13は、共有クロック経路セル抽出部12からの共有クロック経路セル情報121の出力を受けて、まず、共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出する(手順S21)。   Upon receiving the output of the shared clock path cell information 121 from the shared clock path cell extracting unit 12, the cell move destination position calculation unit 13 first sets the shared clock path cell arrangement area including all the shared clock path cells as its end. Is calculated as a boundary (step S21).

次に、共有クロック経路の配線が、他の配線に優先して先に行われるよう、共有クロック経路に配線順位の重み付けを行い(手順S22)、共有クロック経路の配線長が短くなる配線起点位置を算出する(手順S23)。   Next, weighting of the wiring order is performed on the shared clock path so that the wiring of the shared clock path is performed first in preference to other wirings (step S22), and the wiring start point position where the wiring length of the shared clock path becomes shorter Is calculated (step S23).

そして、その位置を前記複数クロック入力セルの移動先位置と決定し(手順S24)、その情報を移動先位置情報133として出力する。   Then, the position is determined as the movement destination position of the plurality of clock input cells (step S24), and the information is output as the movement destination position information 133.

図7に、本実施例による複数クロック入力セルの移動先位置決定処理の様子を示す。ここで、各セルの配置は、図3(a)に示したものと同じものとする。   FIG. 7 shows a state of the movement destination position determination process of the plurality of clock input cells according to the present embodiment. Here, the arrangement of each cell is the same as that shown in FIG.

図7(a)には、図6の手順S21により、共有クロック経路セル配置領域Rを算出し、図6の手順S22により、共有クロック経路Pに重み付けを行った例を示す。なお、本実施例でも、実施例1と同様、共有クロック経路セル配置領域Rの形状は矩形とし、その端部に配置されたセルの外縁部に接する線を境界として、その領域を定める。   FIG. 7A shows an example in which the shared clock path cell arrangement region R is calculated by the procedure S21 of FIG. 6 and the shared clock path P is weighted by the procedure S22 of FIG. In the present embodiment, similarly to the first embodiment, the shared clock path cell arrangement region R has a rectangular shape, and the region is defined by using a line in contact with the outer edge of the cell arranged at the end as a boundary.

図7(b)には、図7の手順S23により、重み付けした共有クロック経路Pの配線を他の配線に優先して配線したときに、共有クロック経路Pの配線長が最も短くなると想定される配線起点位置を、移動先位置Tとして算出した様子を示す。   In FIG. 7B, it is assumed that the wiring length of the shared clock path P is the shortest when the weighted shared clock path P is preferentially routed over other wirings by the procedure S23 of FIG. The state where the wiring start point position is calculated as the movement destination position T is shown.

図7(C)には、図6の手順S24により、移動先位置Tへ複数クロック入力セルM1を移動させたときのセル配置の様子を示す。ここでは、複数クロック入力セルM1の出力端が移動先位置Tとなるように、複数クロック入力セルM1を移動させるものとする。   FIG. 7C shows a cell arrangement when the multiple clock input cells M1 are moved to the movement destination position T by the procedure S24 of FIG. Here, it is assumed that the plurality of clock input cells M1 are moved so that the output ends of the plurality of clock input cells M1 are at the movement destination position T.

このような本実施例によれば、複数クロック入力セルから共有クロック経路セルへ到る共有クロック経路の配線長を最短とすることができるので、共有クロック経路を伝播するクロックの伝播遅延時間を最短とすることができる。   According to this embodiment, since the wiring length of the shared clock path from the multiple clock input cells to the shared clock path cell can be minimized, the propagation delay time of the clock propagating through the shared clock path can be minimized. It can be.

上述の各実施例では、1個のセルの移動を例にとって示したが、本実施例では、複数のセルを移動させるときの処理手順を示す。なお、個々のセルの移動については、上述の実施例のいずれかの処理手順をとるものとする。   In each of the above-described embodiments, the movement of one cell is shown as an example. However, in this embodiment, a processing procedure when moving a plurality of cells is shown. In addition, about the movement of each cell, the process procedure in any one of the above-mentioned Example shall be taken.

図7は、複数のセルを移動させるときの処理手順を示すフロー図である。   FIG. 7 is a flowchart showing a processing procedure when moving a plurality of cells.

処理を開始すると、まず、ネットデータ200を参照して、セル配置位置データ100から、共有クロック経路中のセル配置情報を切り出す(手順S31)。   When the process is started, first, the cell arrangement information in the shared clock path is cut out from the cell arrangement position data 100 with reference to the net data 200 (step S31).

次に、そのセル配置情報に含まれるセルの中から共有クロック経路の末端に一番近いセルを取り出す(手順S32)。   Next, a cell closest to the end of the shared clock path is extracted from the cells included in the cell arrangement information (step S32).

このセルに対して、実施例1〜3のいずれかの処理を実行し、そのセルの配置位置を決定する(手順S33)。   Any one of the processes of the first to third embodiments is executed for this cell, and the arrangement position of the cell is determined (procedure S33).

次に、手順S31で切り出した共有クロック経路中のセル配置情報のなかに、配置位置の決定を行っていない未配置のセルがあるかどうかを判定する(手順S34)。   Next, it is determined whether or not there is an unplaced cell in which the placement position is not determined in the cell placement information in the shared clock path cut out in step S31 (step S34).

未配置のセルがなければ(NO)、本処理を終了するが、未配置のセルがあれば(YES)、手順S31に戻って、共有クロック経路中のセル配置情報に含まれるセルの中から共有クロック経路の末端に次に近いセルを取り出し、以降の処理を繰り返す。   If there is no unarranged cell (NO), this process is terminated. If there is an unarranged cell (YES), the process returns to step S31 to select from the cells included in the cell arrangement information in the shared clock path. The next cell closest to the end of the shared clock path is taken out and the subsequent processing is repeated.

このようにして、共有クロック経路中のセル配置情報に含まれるセルの総てについて配置位置が決定すると、本フローによる処理は終了する。   In this way, when the arrangement positions are determined for all the cells included in the cell arrangement information in the shared clock path, the processing according to this flow is finished.

図9に、本フローによるセル移動の処理の様子を示す。   FIG. 9 shows a state of cell movement processing according to this flow.

図9(a)に、共有クロック経路中のセル配置の様子を示す。ここで、共有クロック経路セルC1〜C4は、フリップフロップなどの共有クロック経路末端のセルであり、共有クロック経路セルM2は、論理ゲートなど、クロック信号が通過して行くセルである。   FIG. 9A shows a state of cell arrangement in the shared clock path. Here, the shared clock path cells C1 to C4 are cells at the end of the shared clock path such as flip-flops, and the shared clock path cell M2 is a cell through which a clock signal passes, such as a logic gate.

また、共有クロック経路セルC1〜C2は、複数クロック入力セルM1から直接クロックが供給され、共有クロック経路セルC3〜C4は、複数クロック入力セルM1からのクロックが、共有クロック経路セルM2を介して、供給されるものとする。したがって、この場合、共有クロック経路セルC3〜C4が、共有クロック経路Pの末端のセルとなる。   The shared clock path cells C1 to C2 are directly supplied with a clock from the plurality of clock input cells M1, and the shared clock path cells C3 to C4 are supplied with a clock from the plurality of clock input cells M1 via the shared clock path cell M2. , Shall be supplied. Therefore, in this case, the shared clock path cells C3 to C4 are the end cells of the shared clock path P.

このような共有クロック経路中のセルに対して、図8のフローに示した処理を実行すると、手順S32により、共有クロック経路Pの末端に一番近いセルとして、共有クロック経路セルM2が取り出され、手順S33により、この共有クロック経路セルM2の配置位置が決定される。   When the process shown in the flow of FIG. 8 is performed on the cells in the shared clock path, the shared clock path cell M2 is extracted as the cell closest to the end of the shared clock path P in step S32. In step S33, the arrangement position of the shared clock path cell M2 is determined.

図9(b)に、共有クロック経路セルM2の配置位置が決定された様子を示す。この場合、共有クロック経路セルM2に接続される、共有クロック経路セルC3〜C4を含む領域が共有クロック経路セル配置領域R1として算出される。そして、この共有クロック経路セル配置領域R1へ共有クロック経路セルM2を移動させるよう、共有クロック経路セルM2の配置位置が決定する。   FIG. 9B shows how the arrangement position of the shared clock path cell M2 is determined. In this case, an area including the shared clock path cells C3 to C4 connected to the shared clock path cell M2 is calculated as the shared clock path cell arrangement area R1. Then, the arrangement position of the shared clock path cell M2 is determined so as to move the shared clock path cell M2 to the shared clock path cell arrangement region R1.

次に、図8の手順S33により、未配置セルの判定が行われる。この場合、複数クロック入力セルM1が未配置セルとして残っているので、続いて、複数クロック入力セルM1の配置位置の決定が行われる。   Next, an unplaced cell is determined in step S33 of FIG. In this case, since the plurality of clock input cells M1 remain as non-arranged cells, the arrangement position of the plurality of clock input cells M1 is subsequently determined.

図9(c)に、複数クロック入力セルM1の配置位置が決定された様子を示す。この場合、共有クロック経路Pに接続される総ての共有クロック経路セルを含む領域が共有クロック経路セル配置領域R2として算出される。そして、この共有クロック経路セル配置領域R2へ複数クロック入力セルM1を移動させるよう、複数クロック入力セルM1の配置位置が決定する。   FIG. 9C shows how the arrangement positions of the multiple clock input cells M1 are determined. In this case, an area including all the shared clock path cells connected to the shared clock path P is calculated as the shared clock path cell arrangement area R2. Then, the arrangement position of the plurality of clock input cells M1 is determined so that the plurality of clock input cells M1 are moved to the shared clock path cell arrangement region R2.

このような本実施例によれば、共有クロック経路セルに接続される複数のセルを、それぞれ伝播遅延時間が短くなる位置へ、順次移動させるので、共有クロック経路セル全体の伝播遅延時間を最短とすることができる。   According to the present embodiment, a plurality of cells connected to the shared clock path cell are sequentially moved to positions where the propagation delay time is shortened, so that the propagation delay time of the entire shared clock path cell is minimized. can do.

本発明の実施の形態に係る半導体集積回路設計装置の構成の例を示すブロック図。The block diagram which shows the example of a structure of the semiconductor integrated circuit design apparatus which concerns on embodiment of this invention. 本発明の実施例1の半導体集積回路設計装置における処理手順を示すフロー図。1 is a flowchart showing a processing procedure in a semiconductor integrated circuit design apparatus according to Embodiment 1 of the present invention. 本発明の実施例1の半導体集積回路設計装置における処理の様子を示す図。The figure which shows the mode of the process in the semiconductor integrated circuit design apparatus of Example 1 of this invention. 本発明の実施例2の半導体集積回路設計装置における処理手順を示すフロー図。The flowchart which shows the process sequence in the semiconductor integrated circuit design apparatus of Example 2 of this invention. 本発明の実施例2の半導体集積回路設計装置における処理の様子を示す図。The figure which shows the mode of the process in the semiconductor integrated circuit design apparatus of Example 2 of this invention. 本発明の実施例3の半導体集積回路設計装置における処理手順を示すフロー図。The flowchart which shows the process sequence in the semiconductor integrated circuit design apparatus of Example 3 of this invention. 本発明の実施例3の半導体集積回路設計装置における処理の様子を示す図。The figure which shows the mode of the process in the semiconductor integrated circuit design apparatus of Example 3 of this invention. 本発明の実施例4の半導体集積回路設計装置における処理手順を示すフロー図。The flowchart which shows the process sequence in the semiconductor integrated circuit design apparatus of Example 4 of this invention. 本発明の実施例4の半導体集積回路設計装置における処理の様子を示す図。The figure which shows the mode of the process in the semiconductor integrated circuit design apparatus of Example 4 of this invention.

符号の説明Explanation of symbols

1 半導体集積回路設計装置
11 複数クロック入力セル抽出部
12 共通クロック経路セル抽出部
13 セル移動先位置算出部
14 セル配置位置変更部
DESCRIPTION OF SYMBOLS 1 Semiconductor integrated circuit design apparatus 11 Multiple clock input cell extraction part 12 Common clock path cell extraction part 13 Cell movement destination position calculation part 14 Cell arrangement position change part

Claims (5)

半導体集積回路のセル配置位置データおよびネットデータが入力される半導体集積回路設計装置であって、
複数のクロック信号が入力されているセルを複数クロック入力セルとして抽出する複数クロック入力セル抽出手段と、
前記複数クロック入力セルの出力端から、前記複数クロック入力セルから出力されるクロック経路の信号がクロック入力端に入力される末端セルに到るまでの、前記複数のクロック信号が共有する共有クロック経路に存在するセルを共有クロック経路セルとして抽出する共有クロック経路セル抽出手段と、
前記共有クロック経路セルのセル配置位置情報にもとづいて、前記共有クロック経路の伝播遅延時間を短縮する、前記複数クロック入力セルおよび前記共有クロック経路セルの移動先位置を算出するセル移動先位置算出手段と、
前記移動先位置へ前記複数クロック入力セルおよび前記共有クロック経路セルの配置位置を変更し、クロックツリー生成用セル配置位置データを出力するセル配置位置変更手段と
を備えることを特徴とする半導体集積回路設計装置。
A semiconductor integrated circuit design apparatus to which cell arrangement position data and net data of a semiconductor integrated circuit are input,
A plurality of clock input cell extracting means for extracting a cell to which a plurality of clock signals are input as a plurality of clock input cells;
The shared clock path shared by the plurality of clock signals from the output terminal of the plurality of clock input cells to the terminal cell input to the clock input terminal of the signal of the clock path output from the plurality of clock input cells A shared clock path cell extracting means for extracting a cell existing in the network as a shared clock path cell;
Cell movement destination position calculating means for calculating the movement destination position of the plurality of clock input cells and the shared clock path cell, which reduces the propagation delay time of the shared clock path based on the cell arrangement position information of the shared clock path cell When,
Cell placement position changing means for changing the placement position of the plurality of clock input cells and the shared clock path cell to the destination position and outputting cell placement position data for generating a clock tree Design equipment.
前記セル移動先位置算出手段が、
前記共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出し、前記共有クロック経路セル配置領域で前記複数のクロック信号のいずれのクロック源からも等距離となる位置を算出し、その位置を前記複数クロック入力セルの移動先位置と決定する
ことを特徴とする請求項1に記載の半導体集積回路設計装置。
The cell destination position calculating means is
The shared clock path cell arrangement area including all of the shared clock path cells is calculated with the cell arranged at the end thereof as a boundary, and from the clock sources of any of the plurality of clock signals in the shared clock path cell arrangement area 2. The semiconductor integrated circuit design apparatus according to claim 1, wherein positions that are equidistant are calculated, and the positions are determined as the movement destination positions of the plurality of clock input cells.
前記セル移動先位置算出手段が、
前記共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出し、前記共有クロック経路セル配置領域で前記共有クロック経路セルの配置位置にもとづく重心の位置を算出し、その位置を前記複数クロック入力セルの移動先位置と決定する
ことを特徴とする請求項1に記載の半導体集積回路設計装置。
The cell destination position calculating means is
The shared clock path cell placement area including all of the shared clock path cells is calculated with the cell placed at the end as a boundary, and the center of gravity based on the placement position of the shared clock path cell in the shared clock path cell placement area is calculated. 2. The semiconductor integrated circuit design apparatus according to claim 1, wherein a position is calculated and the position is determined as a movement destination position of the plurality of clock input cells.
前記セル移動先位置算出手段が、
前記共有クロック経路セルを総て含む共有クロック経路セル配置領域をその端部に配置されたセルを境界として算出し、前記共有クロック経路に配線順位が優先される重み付けを行い、前記共有クロック経路セル配置領域内で前記共有クロック経路配線長が短くなる位置を算出し、その位置を前記複数クロック入力セルの移動先位置と決定する
ことを特徴とする請求項1に記載の半導体集積回路設計装置。
The cell destination position calculating means is
The shared clock path cell including all of the shared clock path cells is calculated with a cell disposed at an end thereof as a boundary, weighting is performed so that the wiring order is given priority to the shared clock path, and the shared clock path cell 2. The semiconductor integrated circuit design apparatus according to claim 1, wherein a position at which the shared clock path wiring length is shortened in an arrangement area is calculated, and the position is determined as a movement destination position of the plurality of clock input cells.
前記共有クロック経路セル上に、縦続接続されたセルが複数存在するときは、そのセルの移動先位置を1つずつ順次決定する
ことを特徴とする請求項1に記載の半導体集積回路設計装置。
2. The semiconductor integrated circuit design apparatus according to claim 1, wherein when there are a plurality of cascade-connected cells on the shared clock path cell, the destination positions of the cells are sequentially determined one by one.
JP2007016766A 2007-01-26 2007-01-26 Device for designing semiconductor integrated circuit Withdrawn JP2008186081A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007016766A JP2008186081A (en) 2007-01-26 2007-01-26 Device for designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007016766A JP2008186081A (en) 2007-01-26 2007-01-26 Device for designing semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2008186081A true JP2008186081A (en) 2008-08-14

Family

ID=39729114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007016766A Withdrawn JP2008186081A (en) 2007-01-26 2007-01-26 Device for designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2008186081A (en)

Similar Documents

Publication Publication Date Title
JP5232019B2 (en) Apparatus, system, and method for multiple processor cores
TW200949592A (en) A method, system and computer program product for determining routing of data paths in interconnect circuitry
JP2007336003A (en) Clock distribution circuit, forming method thereof, semiconductor integrated circuit, and program thereof
JP2005513626A (en) Clock tree synthesis for mixed region clocks
JP2007027841A (en) Design apparatus, method, and program for semiconductor integrated circuit
CN110807295A (en) Integrated circuit clock tree comprehensive optimization method
JP2007123336A (en) Clock structure method of semiconductor integrated circuit and its program
US8191024B2 (en) Customizable H-tree synthesis tool
US8499268B2 (en) Method of supporting layout design of semiconductor integrated circuit
US9007943B2 (en) Methods and structure for reduced layout congestion in a serial attached SCSI expander
JP2008186081A (en) Device for designing semiconductor integrated circuit
JP2005136286A (en) Method for designing semiconductor integrated circuit and its device
JP2003173361A (en) Layout design method and device for semiconductor integrated circuit
US10719654B2 (en) Placement and timing aware wire tagging
JP2012137986A (en) Layout design device for semiconductor integrated circuit, layout design method for semiconductor integrated circuit, and program
JP2005223171A (en) Scan chain connection method of semiconductor integrated circuit
JP2013036960A (en) Delay scan test method, semiconductor device, and semiconductor device design method
Turki et al. Partitioning constraints and signal routing approach for multi-fpga prototyping platform
US20080155490A1 (en) Method for Reducing Coupling Noise, Reducing Signal Skew, and Saving Layout Area for an Integrated Circuit
JP2009188093A (en) Method and device for designing semiconductor integrated circuit, and program
JP2008152550A (en) Method for designing integrated circuit device, clock configuration tool, integrated circuit device, microcomputer and electronic equipment
JP2005116793A (en) Semiconductor integrated circuit and its clock wiring method
JP2006302995A (en) Semiconductor integrated circuit, and circuit layout apparatus, method, and program
JP2009253756A (en) Layout generating method for clock distribution circuit, and semiconductor integrated circuitry
JP2022143696A (en) Layout device, layout method and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406