JP2010186304A - Semiconductor layout system, method, and program - Google Patents

Semiconductor layout system, method, and program Download PDF

Info

Publication number
JP2010186304A
JP2010186304A JP2009029754A JP2009029754A JP2010186304A JP 2010186304 A JP2010186304 A JP 2010186304A JP 2009029754 A JP2009029754 A JP 2009029754A JP 2009029754 A JP2009029754 A JP 2009029754A JP 2010186304 A JP2010186304 A JP 2010186304A
Authority
JP
Japan
Prior art keywords
wiring
repeater
coordinates
information storage
storage unit
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.)
Granted
Application number
JP2009029754A
Other languages
Japanese (ja)
Other versions
JP5187217B2 (en
Inventor
Risako Uchida
理砂子 内田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009029754A priority Critical patent/JP5187217B2/en
Publication of JP2010186304A publication Critical patent/JP2010186304A/en
Application granted granted Critical
Publication of JP5187217B2 publication Critical patent/JP5187217B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor layout system for suppressing the overlap of the repeater inserting positions of parallel inter-circuit block wiring. <P>SOLUTION: A wiring information storage part 201 stores the wiring information of inter-circuit block wiring including the start point coordinates and end point coordinates of wiring. A grouping processing part 21 groups inter-circuit block wiring having wiring sections extended in parallel wherein a difference between the X-directional coordinates or Y-axial coordinates of the start point coordinates is within a prescribed distance, of repeater insertion object inter-circuit block wiring. A repeater insertion base point determination part 22 determines the coordinates of positions whose distances from the start point coordinates are different from each other as a repeater insertion base point about the inter-circuit block wiring belonging to the same group. A repeater insertion processing part 23 determines the positions of repeater cells to be inserted into the repeater insertion object inter-circuit block wiring by using the repeater insertion base point as a base point. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、半導体レイアウトシステム、方法、プログラムに関し、更に詳しくは、階層レイアウト設計を行う半導体レイアウトシステム、方法、及び、プログラムに関する。   The present invention relates to a semiconductor layout system, method, and program, and more particularly to a semiconductor layout system, method, and program for performing hierarchical layout design.

半導体集積回路のレイアウト設計の手法として、階層的なレイアウト設計がある。階層的なレイアウト設計では、階層ブロック(回路ブロック)内の配置・配線と、階層ブロックの配置・配線とを階層的に行う。一般に、階層ブロック間の配線は、階層ブロック内の配線よりも長くなりやすい。階層ブロック間の配線のような長い配線は、配線の寄生素子に起因する遅延が大きい。そこで、遅延の改善を図ることを目的として、配線の途中にリピータと呼ばれるバッファやインバータセルを一定間隔で挿入することが、一般に行われる(例えば特許文献1参照)。   As a layout design method for a semiconductor integrated circuit, there is a hierarchical layout design. In the hierarchical layout design, the arrangement / wiring in the hierarchical block (circuit block) and the arrangement / wiring of the hierarchical block are performed hierarchically. In general, wiring between hierarchical blocks tends to be longer than wiring within hierarchical blocks. A long wiring such as a wiring between hierarchical blocks has a large delay due to a parasitic element of the wiring. Therefore, in order to improve the delay, it is common to insert buffers or inverter cells called repeaters at regular intervals in the middle of the wiring (see, for example, Patent Document 1).

特開2002−313920号公報JP 2002-313920 A

ここで、階層的なレイアウト設計では、階層ブロックのある辺から別の階層ブロックのある辺に向けて、複数の配線が並行して走る傾向がある。その並行して走る階層ブロック間の配線は、配線長も似た長さになる。一般に、リピータは、階層ブロック間の配線に、等間隔で挿入される。並行して走る階層ブロック間の配線に、遅延補償を目的としてリピータを挿入すると、並行して走る階層ブロック間の配線の間で、リピータ挿入位置が近接することになる。   Here, in the hierarchical layout design, there is a tendency that a plurality of wirings run in parallel from one side of a hierarchical block to a side of another hierarchical block. The wiring between the hierarchical blocks running in parallel has a similar wiring length. Generally, repeaters are inserted at equal intervals in wiring between hierarchical blocks. When a repeater is inserted into wiring between hierarchical blocks that run in parallel for the purpose of delay compensation, the repeater insertion position is close between wirings between hierarchical blocks that run in parallel.

リピータ挿入位置が近接し、リピータセルを配置する領域が重なる場合、リピータセルを配置する位置をずらす処理が必要になる。また、それに伴い、階層ブロック間の配線のルートの変更も必要になる。並行する階層ブロック間の配線間で、近接した位置にリピータが挿入されると、リピータセルの配置位置が重なる箇所が増え、移動が必要なリピータセルの数が増加し、また、リピータセルの移動量も増加する。それに伴って、リピータセル移動後の階層ブロック間配線の修正箇所も増大する。また、階層ブロック間の配線に多くの迂回箇所が発生するなど、レイアウトが煩雑になる。   When repeater insertion positions are close and regions where repeater cells are arranged overlap, processing for shifting the position where repeater cells are arranged is necessary. Along with this, it is necessary to change the route of wiring between hierarchical blocks. When repeaters are inserted at close positions between wirings between parallel hierarchical blocks, the number of repeater cell arrangement positions increases, the number of repeater cells that need to be moved increases, and repeater cells move. The amount also increases. Along with this, the number of correction points for inter-layer block wiring after the repeater cell movement also increases. In addition, the layout becomes complicated, for example, many detours occur in the wiring between the hierarchical blocks.

本発明は、半導体レイアウト設計で回路ブロック間配線にリピータセルを挿入する際に、並行する回路ブロック間配線のリピータ挿入位置の重なりを抑制できる半導体レイアウトシステム、方法、及び、プログラムを提供することを目的とする。   The present invention provides a semiconductor layout system, method, and program capable of suppressing overlap of repeater insertion positions of parallel wiring between circuit blocks when a repeater cell is inserted into wiring between circuit blocks in semiconductor layout design. Objective.

上記目的を達成するために、本発明の半導体レイアウトシステムは、配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化処理部と、同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定部と、前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入処理部とを備えることを特徴とする。   In order to achieve the above object, a semiconductor layout system of the present invention refers to a wiring information storage unit that stores wiring information of wiring between circuit blocks including a starting point coordinate and an ending point coordinate of wiring, and between circuit blocks to which repeaters are inserted. Among the wirings, a grouping processing unit for grouping wirings between circuit blocks having wiring portions extending in parallel with each other, wherein the difference between the coordinates in the X direction or the coordinates in the Y direction of the starting point coordinates is within a predetermined distance; For the wiring between circuit blocks belonging to the same group, a repeater insertion base point determination unit that determines the coordinates of positions where the distances from the start point coordinates are different from each other as a repeater insertion base point, and stores it as repeater insertion base point position information, and the wiring information And the repeater insertion base point position information, the repeater insertion base point is used as a base point, and the repeater insertion target circuit block wiring is inserted. Determining the position of a repeater cell, characterized in that it comprises a repeater insertion processing unit for storing the layout data storage unit as the arrangement information of a repeater cell.

本発明の半導体レイアウト方法は、コンピュータが、配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化ステップと、前記コンピュータが、同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定ステップと、前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入ステップとを有することを特徴とする。   In the semiconductor layout method of the present invention, the computer refers to the wiring information storage unit that stores the wiring information of the wiring between the circuit blocks including the starting point coordinates and the ending point coordinates of the wiring. A grouping step of grouping wirings between circuit blocks having wiring portions extending in parallel with each other, wherein the difference between the coordinates in the X direction or the coordinates in the Y direction of the starting point coordinates is within a predetermined distance, and the computer includes the same group Repeater insertion base point determining step for determining the coordinates of the positions where the distances from the start point coordinates are different from each other as repeater insertion base points, and storing them as repeater insertion base point position information, and the wiring information and repeater Refer to the insertion base point position information and use the repeater insertion base point as a base point to insert a repeater circuit block. Determining the location of the repeater cell to be inserted into the click between wires, and having a repeater insertion step of storing the layout information storage unit as the arrangement information of a repeater cell.

本発明のプログラムは、コンピュータに、配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化処理と、同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定処理と、前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入処置とを実行させることを特徴とする。   The program of the present invention refers to a wiring information storage unit that stores wiring information of wiring between circuit blocks including wiring start point coordinates and end point coordinates in a computer. Grouping processing for grouping wiring between circuit blocks having wiring portions extending in parallel with each other, and a difference between coordinates in the X direction or Y direction coordinates within a predetermined distance, and between circuit blocks belonging to the same group For the wiring, refer to the repeater insertion base point determination process for determining the coordinates of the positions where the distances from the start point coordinates are different from each other as the repeater insertion base point, and storing them as repeater insertion base point position information, and the wiring information and the repeater insertion base point position information The position of the repeater cell to be inserted into the circuit block wiring to be inserted with the repeater insertion base point as the base point Determined, characterized in that to execute a repeater insertion procedure to be stored in the placement information storage unit as the arrangement information of a repeater cell.

本発明の半導体レイアウトシステム、方法、及び、プログラムは、並行する回路ブロック間配線のリピータ挿入位置の重なりを抑制することができる。   The semiconductor layout system, method, and program of the present invention can suppress the overlap of repeater insertion positions of wirings between parallel circuit blocks.

本発明の一実施形態の半導体レイアウトシステムを示すブロック図。1 is a block diagram showing a semiconductor layout system according to an embodiment of the present invention. 配線情報記憶部のデータ例を示す図。The figure which shows the example of data of a wiring information storage part. 動作手順を示すフローチャート。The flowchart which shows an operation | movement procedure. 設計対象の半導体装置における回路ブロックと回路ブロック間の配線とを示す図。The figure which shows the circuit block and wiring between circuit blocks in the semiconductor device to be designed. リピータ挿入基点を示す図。The figure which shows a repeater insertion base point. リピータセル挿入後の状態を示す図。The figure which shows the state after repeater cell insertion. 重なりほぐし処理及び再配線後の状態を示す図。The figure which shows the state after an overlap loosening process and rewiring. 比較例におけるリピータ挿入後の状態を示す図。The figure which shows the state after repeater insertion in a comparative example. 比較例における重なりほぐし処理及び再配線後の状態を示す図。The figure which shows the state after the overlap loosening process and rewiring in a comparative example.

以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態の半導体レイアウトシステムを示している。半導体レイアウトシステムは、データ処理装置20と、記憶装置200とを有する。データ処理装置20は、グループ化処理部21、リピータ挿入基点決定部22、リピータ挿入処理部23、重なりほぐし処理部24、及び、配線部25を有する。データ処理装置20内の各部の機能は、データ処理装置20上で所定のプログラムを実行することで実現可能である。記憶装置200は、配線情報記憶部201と、配置情報記憶部202とを有する。記憶装置200は、半導体メモリや、ハードディスクドライブ等の記憶装置である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a semiconductor layout system according to an embodiment of the present invention. The semiconductor layout system includes a data processing device 20 and a storage device 200. The data processing device 20 includes a grouping processing unit 21, a repeater insertion base point determination unit 22, a repeater insertion processing unit 23, an overlap unraveling processing unit 24, and a wiring unit 25. The function of each unit in the data processing device 20 can be realized by executing a predetermined program on the data processing device 20. The storage device 200 includes a wiring information storage unit 201 and an arrangement information storage unit 202. The storage device 200 is a storage device such as a semiconductor memory or a hard disk drive.

本実施形態のレイアウトシステムが処理を行う前の段階で、回路ブロックの配置、及び、回路ブロック間の配線は決定しているものとする。回路ブロックの配置、及び、回路ブロック間の配線は、レイアウトシステムが回路接続情報に基づいて決定する。或いは、レイアウトシステムとは別の装置を用いて回路ブロックの配置及び配線の決定を行ってもよい。また、回路ブロック間配線のうち、リピータ挿入対象となる配線も決定しているとする。例えば、タイミング検証を行い、遅延時間が長くタイミング制約を満たさない配線をリピータ挿入対象とする。或いは、配線長が所定以上の配線を、リピータ挿入対象としてもよい。   It is assumed that the arrangement of circuit blocks and the wiring between circuit blocks have been determined before the layout system of this embodiment performs processing. The layout system determines the layout of the circuit blocks and the wiring between the circuit blocks based on the circuit connection information. Alternatively, the arrangement of circuit blocks and the determination of wiring may be performed using a device different from the layout system. In addition, it is assumed that a wiring to be a repeater insertion target is determined among the wirings between circuit blocks. For example, timing verification is performed, and a wiring that has a long delay time and does not satisfy the timing constraint is set as a repeater insertion target. Or it is good also considering the wiring whose wiring length is more than predetermined as a repeater insertion object.

記憶装置200には、回路ブロックの配置、及び、回路ブロック間の配線の結果が記憶されている。配線情報記憶部201は、回路ブロック間の配線の情報を記憶する。回路ブロック間の配線情報は、配線の始点座標と、終点座標、及び、途中の経路の情報を含む。また、配線情報記憶部201は、リピータ挿入処理を行う対象の回路ブロック間配線について、リピータ挿入の際の基点となるリピータ挿入基点に関する情報(リピータ挿入基点情報)を含む。配置情報記憶部202は、回路ブロックを構成するセルの配置情報を記憶する。回路ブロックの配置情報は、セルの配置座標、及び、セルの配置の向きを含む。   The storage device 200 stores the result of circuit block arrangement and wiring between circuit blocks. The wiring information storage unit 201 stores information on wiring between circuit blocks. The wiring information between the circuit blocks includes the starting point coordinates, the ending point coordinates, and the route information on the way. In addition, the wiring information storage unit 201 includes information (repeater insertion base point information) regarding a repeater insertion base point that is a base point at the time of repeater insertion for the wiring between circuit blocks to be subjected to the repeater insertion process. The arrangement information storage unit 202 stores arrangement information of cells constituting the circuit block. The circuit block arrangement information includes cell arrangement coordinates and cell arrangement direction.

図2に、配線情報の具体例を示す。図2には、net1〜net6までの6つの回路ブロック間配線の配線情報が示されている。回路ブロック間配線は、1以上の配線セグメントの集合で表される。配線セグメントには、始点座標と終点座標とのペアが記憶される。配線セグメントの配線は、始点座標と終点座標とを結ぶ直線で表される。配線セグメントの終点座標は、次の配線セグメントの始点座標と重なる。例えば、net1の配線セグメント1の終点座標は(x2,y1)であり、この座標は、配線セグメント2の始点座標と重なっている。配線セグメント1から順に、配線セグメント2、配線セグメント3と辿っていくことで、ある回路ブロックから別の回路ブロックへの配線ルートが構成できる。   FIG. 2 shows a specific example of wiring information. FIG. 2 shows wiring information of six inter-circuit block wirings from net1 to net6. The wiring between circuit blocks is represented by a set of one or more wiring segments. A pair of start point coordinates and end point coordinates is stored in the wiring segment. The wiring of the wiring segment is represented by a straight line connecting the start point coordinates and the end point coordinates. The end point coordinates of the wiring segment overlap with the start point coordinates of the next wiring segment. For example, the end point coordinate of the wiring segment 1 of the net 1 is (x2, y1), and this coordinate overlaps the start point coordinate of the wiring segment 2. By following the wiring segment 2 and the wiring segment 3 in order from the wiring segment 1, a wiring route from one circuit block to another circuit block can be configured.

グループ化処理部21は、配線情報記憶部201を参照し、リピータ挿入対象の回路ブロック間配線のうちで、似た位置を始点座標とし、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化する。グループ化処理部21は、具体的には、始点座標のX方向の座標又はY方向の座標の差が所定距離以内の回路ブロック間配線を、似た位置を始点座標とする回路ブロック間配線とする。グループ化処理部21は、更に、回路ブロック間配線の配線経路の類似性を求め、似た位置を始点座標とし、互いに並行して延びる配線部分を有し、かつ、配線経路が類似する回路ブロック間配線をグループ化してもよい。   The grouping processing unit 21 refers to the wiring information storage unit 201, and among the circuit block wirings to be inserted into the repeater, between the circuit blocks having a wiring portion that has a similar position as a starting point coordinate and extends in parallel with each other. Group wiring together. Specifically, the grouping processing unit 21 is configured such that the circuit block wiring whose difference between the X-direction coordinates or the Y-direction coordinates of the start point coordinates is within a predetermined distance, and the circuit block wiring having a similar position as the start point coordinates To do. The grouping processing unit 21 further obtains the similarity of the wiring paths of the wiring between the circuit blocks, has a wiring portion extending in parallel with each other with the similar position as the starting point coordinate, and the circuit blocks having the similar wiring paths Inter-wiring may be grouped.

グループ化処理部21は、配線経路の類似性を判断する際の指標として、例えばマンハッタンレシオを用いる。マンハッタンレシオは、マンハッタン長と実際の配線のルートの長さとの比で定義される。グループ化処理部21は、マンハッタンレシオの値を相互に比較し、マンハッタンレシオの値が似た値となるネットをグループ化する。具体的には、マンハッタンレシオの値の差が所定の値以内のネットを、マンハッタンレシオが似た値になるネットとする。或いは、差に変えて、マンハッタンレシオの比を用い、比が所定の範囲以内に収まるネットを、マンハッタンレシオが似た値になるネットとしてもよい。   The grouping processing unit 21 uses, for example, a Manhattan ratio as an index when determining the similarity of wiring routes. The Manhattan ratio is defined by the ratio between the Manhattan length and the actual wiring route length. The grouping processing unit 21 compares the values of the Manhattan ratio with each other, and groups nets with similar values of the Manhattan ratio. Specifically, a net in which the difference in the value of the Manhattan ratio is within a predetermined value is a net in which the Manhattan ratio is a similar value. Alternatively, instead of the difference, the ratio of the Manhattan ratio may be used, and a net in which the ratio falls within a predetermined range may be a net having a similar value in the Manhattan ratio.

リピータ挿入基点決定部22は、リピータ挿入対象の回路ブロック間配線にリピータセルを挿入する際の基点となる位置(リピータ挿入基点)を決定する。リピータ挿入基点決定部22は、グループ化された回路ブロック間配線について、始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定する。リピータ挿入基点決定部22は、決定したリピータ挿入基点を、リピータ挿入基点位置情報として配線情報記憶部201に記憶する。リピータ挿入基点決定部22は、リピータ挿入基点情報をリピータ挿入処理部23に通知するだけでもよい。   The repeater insertion base point determination unit 22 determines a position (repeat insertion base point) that serves as a base point when a repeater cell is inserted into the inter-circuit block wiring to be inserted. The repeater insertion base point determination unit 22 determines the coordinates of positions where the distances from the start point coordinates are different from each other for the grouped circuit block wiring as the repeater insertion base point. The repeater insertion base point determination unit 22 stores the determined repeater insertion base point in the wiring information storage unit 201 as repeater insertion base point position information. The repeater insertion base point determination unit 22 may simply notify the repeater insertion base point information to the repeater insertion processing unit 23.

リピータ挿入処理部23は、配線情報及びリピータ挿入基点位置情報を参照し、リピータ挿入位置を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定する。より詳細には、リピータ挿入処理部23は、各リピータ挿入対象の回路ブロック間配線について、リピータ挿入基点から所定間隔の道のりとなる座標を算出し、その座標をリピータセルの挿入位置と決定する。リピータ挿入処理部23は、決定したリピータセル挿入位置を、配置情報記憶部202に記憶する。   The repeater insertion processing unit 23 refers to the wiring information and the repeater insertion base point position information, and determines the position of the repeater cell to be inserted into the repeater insertion target circuit block wiring, based on the repeater insertion position. More specifically, the repeater insertion processing unit 23 calculates coordinates that are a predetermined distance from the repeater insertion base point for each repeater insertion target circuit block wiring, and determines the coordinates as the repeater cell insertion position. The repeater insertion processing unit 23 stores the determined repeater cell insertion position in the arrangement information storage unit 202.

重なりほぐし処理部24は、配置情報記憶部202を参照して、セル同士が重なっている箇所が存在するか否かを調べる。重なりほぐし処理部24は、セルが重なる箇所があるときは、重なりほぐし処理を行い、セルの重なりが解消するようにリピータセルの位置を移動する。重なりほぐし処理部24は、重なりほぐし処理の結果を、配置情報記憶部202に記憶する。配線部25は、重なりほぐし処理部24が重なりほぐし処理を行った後に、配線情報記憶部201及び配置情報記憶部202を参照し、リピータセルを含む回路ブロック間の再配線を行う。配線部25は、再配線結果を、配線情報記憶部201に記憶する。   The overlap unraveling processing unit 24 refers to the arrangement information storage unit 202 and checks whether there is a portion where the cells overlap each other. When there is a place where the cells overlap, the overlap unraveling processing unit 24 performs the overlap unraveling process and moves the position of the repeater cell so that the cell overlap is eliminated. The overlapping unraveling processing unit 24 stores the result of the overlapping unraveling processing in the arrangement information storage unit 202. The wiring unit 25 performs rewiring between circuit blocks including repeater cells with reference to the wiring information storage unit 201 and the arrangement information storage unit 202 after the overlapping unraveling processing unit 24 performs the overlapping unraveling process. The wiring unit 25 stores the rewiring result in the wiring information storage unit 201.

図3に、リピータ挿入基点決定の処理手順を示す。リピータ挿入基点を決定する処理に先立って、回路ブロックの配置、及び、回路ブロック間の配線を決定し、配置情報記憶部202及び配線情報記憶部201に記憶しておく。また、回路ブロック間の配線のうち、リピータ挿入対象の配線(ネット)を決定しておく。   FIG. 3 shows a processing procedure for determining the repeater insertion base point. Prior to the process of determining the repeater insertion base point, the arrangement of circuit blocks and the wiring between the circuit blocks are determined and stored in the arrangement information storage unit 202 and the wiring information storage unit 201. Further, among the wirings between the circuit blocks, the wiring (net) to which the repeater is inserted is determined in advance.

グループ化処理部21は、配線情報記憶部201から、リピータ挿入対象のネットの始点座標を取得する。リピータ挿入基点決定部22は、始点が同じ直線上に並ぶネット、つまり、始点座標のX座標又はY座標が一致するネットをグループ化する(ステップS1)。リピータ挿入基点決定部22は、例えば、ネットの始点座標のX座標が相互に等しいリピータ挿入対象ネットが複数あるときは、そのX座標が同じ複数のネットをグループ化する。X座標及びY座標は、完全に一致している必要はなく、差が所定の距離以内であれば同じ座標とみなしてよい。ステップS1でグループ化されたリピータ挿入対象ネットは、グループ候補のネットに相当する。   The grouping processing unit 21 acquires the start point coordinates of the repeater insertion target net from the wiring information storage unit 201. The repeater insertion base point determination unit 22 groups nets whose start points are arranged on the same straight line, that is, nets whose X coordinates or Y coordinates of the start point coordinates match (step S1). For example, when there are a plurality of repeater insertion target nets having the same X coordinate of the start point coordinates of the net, the repeater insertion base point determination unit 22 groups a plurality of nets having the same X coordinate. The X coordinate and the Y coordinate do not have to coincide completely, and may be regarded as the same coordinate if the difference is within a predetermined distance. The repeater insertion target nets grouped in step S1 correspond to group candidate nets.

グループ化処理部21は、ステップS1でグループ化された各ネットについて、互いに並行して延びる配線部分の長さを求める。より詳細には、グループ化処理部21は、各ネットについて、所定間隔以下の間隔で同じグループの他のネットと並行して走る部分の長さ(並行配線長)を求める。リピータ挿入基点決定部22は、並行配線長が所定のしきい値以上のネットをグループに残し、並行配線長が短いネットはグループから削除する(ステップS2)。ここまでの処理で、始点座標のX方向の座標又はY方向の座標の差が一致し、かつ、並行配線長が所定の長さ以上あるネットが、グループ化される。グループ化処理部21は、ステップS1でネットが複数のグループにグループ化されているときは、各グループについて、ステップS2の処理を行う。   The grouping processing unit 21 obtains the lengths of the wiring portions extending in parallel with each other for each net grouped in step S1. More specifically, the grouping processing unit 21 obtains the length (parallel wiring length) of each net that runs in parallel with other nets of the same group at intervals of a predetermined interval or less. The repeater insertion base point determination unit 22 leaves a net having a parallel wiring length equal to or greater than a predetermined threshold in the group, and deletes a net having a short parallel wiring length from the group (step S2). Through the processing so far, nets having the same X-direction coordinate or Y-direction coordinate difference between the start point coordinates and having a parallel wiring length equal to or longer than a predetermined length are grouped. When the nets are grouped into a plurality of groups in step S1, the grouping processing unit 21 performs the process of step S2 for each group.

グループ化処理部21は、更に、配線経路の類似度の観点からグループ化を行う。グループ化処理部21は、ステップS2でグループに残った各ネットについて、マンハッタンレシオを計算する。グループ化処理部21は、各ネットのマンハッタンレシオを相互に比較する。リピータ挿入基点決定部22は、マンハッタンレシオが似た値になるネットをグループ化する(ステップS3)。リピータ挿入基点決定部22は、この処理を、ステップS1で生成された各グループについて行う。グループ化処理部21は、ステップS1〜S3を実行することで、始点座標のX座標又はY座標が同じで、並行配線長が長く、かつ、マンハッタンレシオが同程度のネットをグループ化する。   The grouping processing unit 21 further performs grouping from the viewpoint of wiring path similarity. The grouping processing unit 21 calculates the Manhattan ratio for each net remaining in the group in step S2. The grouping processing unit 21 compares the Manhattan ratio of each net with each other. The repeater insertion base point determination unit 22 groups nets having similar Manhattan ratios (step S3). The repeater insertion base point determination unit 22 performs this process for each group generated in step S1. By executing steps S1 to S3, the grouping processing unit 21 groups nets having the same X coordinate or Y coordinate of the starting point coordinate, a long parallel wiring length, and a similar Manhattan ratio.

リピータ挿入基点決定部22は、グループ化処理の結果を受け取り、グループ化されたネットのリピータ挿入基点を決定する(ステップS4)。リピータ挿入基点決定部22は、同じグループにグループ化されたネットに対し、始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定する。例えば、リピータ挿入基点決定部22は、所定のずらし長をαとし、ネットの経路上で始点座標からα×(i−1)(i=1、2、・・・、同じグループに所属する回路ブロック間配線の数)離れた位置の座標を求め、これをリピータ挿入基点に決定する。   The repeater insertion base point determination unit 22 receives the result of the grouping process, and determines the repeater insertion base point of the grouped net (step S4). The repeater insertion base point determination unit 22 determines, as repeater insertion base points, coordinates at positions having different distances from the start point coordinates for nets grouped in the same group. For example, the repeater insertion base point determination unit 22 sets α as a predetermined shift length and α × (i−1) (i = 1, 2,..., Circuits belonging to the same group from the start point coordinates on the net path. The number of inter-block wirings) is determined, and this is determined as the repeater insertion base point.

ここで、ずらし長αは、リピータ挿入位置の“ずらし長”である。ずらし長αの値は、リピータの挿入間隔よりも小さく、かつ、リピータセルのX方向のサイズ又はY方向のサイズのうちの大きい方よりも大きい。オペレータは、リピータ挿入基点決定部22に対して、任意のずらし長αを指定することができる。或いは、リピータ挿入基点決定部22が、リピータ挿入間隔や、グループ化されたネットの数などから、ずらし長αの値を自身で決定してもよい。   Here, the shift length α is the “shift length” of the repeater insertion position. The value of the shift length α is smaller than the repeater insertion interval and larger than the larger one of the repeater cell size in the X direction or the Y direction. The operator can specify an arbitrary shift length α to the repeater insertion base point determination unit 22. Alternatively, the repeater insertion base point determination unit 22 may determine the value of the shift length α from the repeater insertion interval, the number of grouped nets, and the like.

リピータ挿入基点決定部22は、ステップS3でグループ化した各グループについて、ステップS4の処理を行う。リピータ挿入基点決定部22は、決定したリピータ挿入基点を、リピータ挿入基点情報として配線情報記憶部201に記憶する。   The repeater insertion base point determination unit 22 performs the process of step S4 for each group grouped in step S3. The repeater insertion base point determination unit 22 stores the determined repeater insertion base point in the wiring information storage unit 201 as repeater insertion base point information.

リピータ挿入処理部23は、リピータ挿入対象ネットからネットを1つ選択し、そのネットの配線情報及びリピータ挿入基点情報を、配線情報記憶部201から読み出す。リピータ挿入処理部23は、リピータ挿入基点から、所定の間隔に相当する道のりに位置する当該ネットの配線上の座標を算出する(ステップS5)。リピータ挿入処理部23は、ステップS5で算出した座標を、リピータセルの配置座標として、配置情報記憶部202に記憶する(ステップS6)。   The repeater insertion processing unit 23 selects one net from the repeater insertion target net, and reads the wiring information and repeater insertion base point information of the net from the wiring information storage unit 201. The repeater insertion processing unit 23 calculates the coordinates on the wiring of the net located on the road corresponding to the predetermined interval from the repeater insertion base point (step S5). The repeater insertion processing unit 23 stores the coordinates calculated in step S5 in the arrangement information storage unit 202 as the arrangement coordinates of the repeater cell (step S6).

リピータ挿入処理部23は、全てのリピータ挿入対象ネットに対して、ステップS5及びS6の処理を行う。リピータ挿入処理部23は、ステップS4でリピータ挿入基点が決定されていないネット、つまり、ステップS1〜S3のグループ化でグループ化から漏れたネットについては、ネットの始点座標をリピータ挿入基点として用い、リピータ挿入座標を算出する。或いは、ステップS4で、リピータ挿入基点決定部22が、何れのグループにも所属しないネットについては、始点座標をリピータ挿入基点として決定し、それを配線情報記憶部201に記憶しておいてもよい。   The repeater insertion processing unit 23 performs the processes of steps S5 and S6 for all repeater insertion target nets. The repeater insertion processing unit 23 uses the start point coordinates of the net as a repeater insertion base point for a net for which the repeater insertion base point has not been determined in step S4, that is, for a net that has not been grouped in the grouping of steps S1 to S3. Repeater insertion coordinates are calculated. Alternatively, in step S4, the repeater insertion base point determination unit 22 may determine a start point coordinate as a repeater insertion base point for a net that does not belong to any group and store it in the wiring information storage unit 201. .

重なりほぐし処理部24は、リピータ挿入対象ネットのリピータ挿入座標が決定すると、配置情報記憶部202を参照し、セル同士の重なり、配置位置のずれや向きを直す重なりほぐし処理を行う。重なりほぐし処理部24は、重なりほぐし処理の結果を、配置情報記憶部202に記憶する(ステップS7)。配線部25は、配線情報記憶部201と配置情報記憶部202とを参照し、リピータ挿入後の状態の回路の再配線を行う。配線部25は、再配線結果を、配線情報記憶部201に記憶する(ステップS8)。   When the repeater insertion coordinates of the repeater insertion target net are determined, the overlap unraveling processing unit 24 refers to the arrangement information storage unit 202 and performs an overlap unraveling process for correcting the overlap between cells and the displacement and orientation of the arrangement position. The overlapping unraveling processing unit 24 stores the result of the overlapping unraveling processing in the arrangement information storage unit 202 (step S7). The wiring unit 25 refers to the wiring information storage unit 201 and the arrangement information storage unit 202, and rewires the circuit in a state after the repeater is inserted. The wiring unit 25 stores the rewiring result in the wiring information storage unit 201 (step S8).

以下、具体例を用いて説明する。図4に、回路ブロックと回路ブロック間の配線とを示す。図4には、回路ブロック501〜503の3つの回路ブロックを図示している。回路ブロック501は、出力端子504〜508を有している。また、回路ブロック503は、入出力端子509〜512を有している。ネット513〜518は、回路ブロック間を接続する配線である。ネット513〜518は、図2に示す配線情報のnet1〜net6に対応する。なお、図4では、ネット513〜518は、配線の中心線のみを図示している。   Hereinafter, a specific example will be described. FIG. 4 shows circuit blocks and wiring between the circuit blocks. FIG. 4 illustrates three circuit blocks of circuit blocks 501 to 503. The circuit block 501 has output terminals 504 to 508. The circuit block 503 has input / output terminals 509 to 512. Nets 513 to 518 are wirings for connecting circuit blocks. Nets 513 to 518 correspond to the net information net1 to net6 shown in FIG. In FIG. 4, the nets 513 to 518 show only the center line of the wiring.

各ネットは、ある回路ブロックの出力端子又は入出力端子と、別の回路ブロックの入力端子又は入出力端子との間を接続する。例えば、net1であるネット513は、回路ブロック501の出力端子508と、回路ブロック503の入出力端子510との間を接続する。net6であるネット518は、図示しない回路ブロック間を接続するネットであり、図4では、始点及び終点の端子は省略して図示している。   Each net connects between an output terminal or input / output terminal of a certain circuit block and an input terminal or input / output terminal of another circuit block. For example, the net 513 that is net 1 connects between the output terminal 508 of the circuit block 501 and the input / output terminal 510 of the circuit block 503. A net 518 that is a net 6 is a net that connects circuit blocks (not shown), and in FIG. 4, the terminals of the start point and the end point are omitted.

配線情報記憶部201には、ネット513〜518の配線情報が記憶されている。また、配置情報記憶部202には、回路ブロック501〜503の配置位置、及び、配置の向きが記憶されている。なお、ネットの始点は、信号の出力側、つまり、出力端子側に定義する。図4に示されたネット513〜518は、全てリピータ挿入対象ネットである。   The wiring information storage unit 201 stores wiring information of the nets 513 to 518. Further, the arrangement information storage unit 202 stores the arrangement positions and the arrangement directions of the circuit blocks 501 to 503. The starting point of the net is defined on the signal output side, that is, on the output terminal side. Nets 513 to 518 shown in FIG. 4 are all repeater insertion target nets.

グループ化処理部21は、まず、ステップS1で、始点のX座標又はY座標が一致するネットをグループ化する。図2を参照すると、回路ブロック501の出力端子504〜508を始点とするネット513〜517(net1〜net5)の始点のX座標はx1である。グループ化処理部21は、は、始点のX座標が相互に一致するnet1〜net5をグループ化する。図4に示すnet1〜net6のうち、net6は、始点座標が一致しないので、グループ化対象から外れる。   First, in step S1, the grouping processing unit 21 groups nets having the same X coordinate or Y coordinate of the start point. Referring to FIG. 2, the X coordinate of the start point of the nets 513 to 517 (net1 to net5) starting from the output terminals 504 to 508 of the circuit block 501 is x1. The grouping processing unit 21 groups net1 to net5 whose start point X coordinates coincide with each other. Among net1 to net6 shown in FIG. 4, net6 is excluded from the grouping target because the start point coordinates do not match.

次いで、グループ化処理部21は、ステップS2で、グループ化されたnet1〜net5間での並行配線長を調べる。net1〜net5のうち、net1〜net3、net5には、所定間隔以内で、かつ、平行して延びる配線部分が所定の長さ以上ある。従って、グループ化処理部21は、これらをグループに残す。net4については、net1〜net3、net5と並行して延びる部分が短い。グループ化処理部21は、net4をグループから外す。ここまでの処理で、net1〜net3、net5がグループ化される。   Next, the grouping processing unit 21 checks the parallel wiring length between the grouped net1 to net5 in step S2. Among net1 to net5, net1 to net3 and net5 have wiring portions extending in parallel within a predetermined interval and having a predetermined length or more. Therefore, the grouping processing unit 21 leaves these in the group. About net4, the part extended in parallel with net1-net3 and net5 is short. The grouping processing unit 21 removes net4 from the group. Through the processes so far, net1 to net3 and net5 are grouped.

続いて、グループ化処理部21は、ステップS3で、net1〜net3、net5のマンハッタンレシオを算出する。マンハッタンレシオは、マンハッタン長と実際の配線のルートの長さとの比で定義される。net1〜net3は、同じような経路で回路ブロック501と回路ブロック503とを接続するので、マンハッタンレシオは似た値になる。net5は、回路ブロック502を迂回する形で回路ブロック501と回路ブロック503とを接続しており、配線経路が、net1〜net3とは異なっている。その結果、net5のマンハッタンレシオは、net1〜net3のマンハッタンレシオとは異なる値になる。グループ化処理部21は、net5をグループから外し、net1〜net3をグループに残す。   Subsequently, in step S3, the grouping processing unit 21 calculates the Manhattan ratio of net1 to net3 and net5. The Manhattan ratio is defined by the ratio between the Manhattan length and the actual wiring route length. Since net1 to net3 connect the circuit block 501 and the circuit block 503 through a similar path, the Manhattan ratio has a similar value. The net 5 connects the circuit block 501 and the circuit block 503 so as to bypass the circuit block 502, and the wiring path is different from the net 1 to net 3. As a result, the Manhattan ratio of net5 becomes a different value from the Manhattan ratio of net1 to net3. The grouping processing unit 21 removes net5 from the group and leaves net1 to net3 in the group.

ステップS1〜S3のグループ化で、始点座標のX座標又はY座標が一致し、並行して延びる配線部分がある程度あり、かつ、配線経路が似たルートとなるネットが、グループ化される。リピータ挿入基点決定部22は、ステップS4で、グループ化されたnet1〜net3のリピータ挿入基点を、始点座標からネットの経路上でずらし長αずつずらした位置に決定する。リピータ挿入基点決定部22は、グループが複数あるときは、各グループについて、そのグループに所属するネットのリピータ挿入基点を、ずらし長αずつずらした位置に決定する。リピータ挿入基点決定部22は、決定したリピータ挿入基点を、配線情報記憶部201に記憶する。   In the grouping in steps S1 to S3, nets that have the same X-coordinate or Y-coordinate of the start point coordinates, have some wiring portions extending in parallel, and have similar wiring routes are grouped. In step S4, the repeater insertion base point determination unit 22 determines the grouped repeater insertion base points of net1 to net3 at positions shifted by a length α on the net path from the start point coordinates. When there are a plurality of groups, the repeater insertion base point determination unit 22 determines, for each group, the position where the repeater insertion base point of the net belonging to the group is shifted by a shift length α. The repeater insertion base point determination unit 22 stores the determined repeater insertion base point in the wiring information storage unit 201.

図5に、リピータ挿入基点を示す。リピータ挿入基点決定部22は、net1はずらし長=0として、net1の始点座標(x1,y1)をリピータ挿入基点と決定する。リピータ挿入基点決定部22は、net2はずらし長=αとして、net2の始点座標からnet2の配線経路上でαだけ離れた距離に位置する座標(x2+2t,y1+2t−(α−((x2+2t)−x1)))をリピータ挿入基点として決定する。リピータ挿入基点決定部22は、net3はずらし長=2αとして、net3の始点座標からnet3の配線経路上で2αだけ離れた距離に位置する座標(x2+4t,y1+4t−(2α−((x2+4t)−x1)))をリピータ挿入基点に決定する。図5では、net2、net3のリピータ挿入基点を、ネット上の黒丸で示している。   FIG. 5 shows the repeater insertion base point. The repeater insertion base point determination unit 22 sets net1 as the shift length = 0, and determines the start point coordinates (x1, y1) of net1 as the repeater insertion base point. The repeater insertion base point determination unit 22 sets net2 as the shift length = α, and coordinates (x2 + 2t, y1 + 2t− (α − ((x2 + 2t) −x1) located at a distance of α on the wiring path of net2 from the starting point coordinates of net2. ))) Is determined as the repeater insertion base point. The repeater insertion base point determination unit 22 sets the net3 as the shift length = 2α, and coordinates (x2 + 4t, y1 + 4t− (2α − ((x2 + 4t) −x1) located at a distance of 2α on the wiring path of the net3 from the start point coordinates of the net3. ))) Is determined as the repeater insertion base point. In FIG. 5, the repeater insertion base points of net2 and net3 are indicated by black circles on the net.

リピータ挿入処理部23は、ステップS5で、リピータ挿入対象ネット(net1〜net6)のそれぞれについて、リピータ挿入基点からネットの経路上で所定間隔となる位置の座標を算出し、その座標を、リピータセルを配置する座標として決定する。リピータ挿入処理部23は、グループ化されたnet1〜net3については、配線情報記憶部201にリピータ挿入位置として記憶された座標をリピータ挿入基点として、その基点からリピータ挿入位置を決定していく。リピータ挿入処理部23は、何れのグループにも所属していないnet4〜net6については、ネットの始点座標をリピータ挿入基点として、リピータ挿入位置を決定する。リピータ挿入処理部23は、ステップS6で、決定したリピータ挿入位置を配置情報記憶部202に記憶する。   In step S5, the repeater insertion processing unit 23 calculates, for each repeater insertion target net (net1 to net6), coordinates of a position at a predetermined interval on the route of the net from the repeater insertion base point, and the coordinates are used as the repeater cell. Is determined as the coordinates to place. For the grouped net1 to net3, the repeater insertion processing unit 23 determines the repeater insertion position from the base point using the coordinates stored as the repeater insertion position in the wiring information storage unit 201 as the repeater insertion base point. The repeater insertion processing unit 23 determines the repeater insertion position with respect to net4 to net6 that do not belong to any group, using the start point coordinates of the net as the repeater insertion base point. The repeater insertion processing unit 23 stores the determined repeater insertion position in the arrangement information storage unit 202 in step S6.

図6に、リピータセルが挿入された状態を示す。図6では、斜線で塗りつぶした四角の箱が、リピータセルを表している。リピータ挿入処理部23は、net1については、始点である出力端子508の座標を基点とし、出力端子508から所定間隔でリピータセルを挿入する。リピータ挿入処理部23は、net2については、始点である出力端子507からずらし長αだけ離れた位置を基点とし、基点から所定間隔でリピータセルを挿入する。また、リピータ挿入処理部23は、net3については、始点である出力端子506からずらし長2αだけ離れた位置を基点とし、基点から所定間隔でリピータセルを挿入する。   FIG. 6 shows a state where the repeater cell is inserted. In FIG. 6, a rectangular box filled with diagonal lines represents a repeater cell. The repeater insertion processing unit 23 inserts a repeater cell from the output terminal 508 at a predetermined interval with respect to net1 with the coordinates of the output terminal 508 as a starting point as a base point. The repeater insertion processing unit 23 inserts a repeater cell at a predetermined interval from the base point, with the net2 being shifted from the output terminal 507, which is the start point, by a distance α. Further, the repeater insertion processing unit 23 inserts repeater cells at a predetermined interval from the base point, with the net3 being shifted from the output terminal 506, which is the starting point, by a distance of 2α.

重なりほぐし処理部24は、ステップS7で、配置情報記憶部202を参照して各リピータセルの配置座標を調べ、位置が重なるリピータセルがあるか否かを調べる。重なりほぐし処理部24は、位置が重なるリピータセルがあるときは、リピータセルをセルの配置行列(サイト)に合わせて移動し、重なりを解消する。重なりほぐし処理部24は、移動後のリピータセルの座標を、配置情報記憶部202に記憶する。配線部25は、配線情報記憶部201と配置情報記憶部202とを参照し、再配線を行う。配線部25は、再配線結果を、配線情報記憶部201に記憶する。   In step S7, the overlap unraveling processing unit 24 refers to the placement information storage unit 202 to check the placement coordinates of each repeater cell, and checks whether there is a repeater cell whose position overlaps. When there is a repeater cell whose position overlaps, the overlap unraveling processing unit 24 moves the repeater cell according to the cell arrangement matrix (site) to eliminate the overlap. The overlap unraveling processing unit 24 stores the coordinates of the repeated repeater cell in the arrangement information storage unit 202. The wiring unit 25 refers to the wiring information storage unit 201 and the arrangement information storage unit 202 and performs rewiring. The wiring unit 25 stores the rewiring result in the wiring information storage unit 201.

図7に、重なりほぐし処理及び再配線後の状態を示す。図6では、ネット515(net3)の出力端子506から数えて1つ目のリピータセルの配置位置と、ネット517(net5)の出力端子504から数えて1つ目のリピータセルの配置位置とが重なっている。重なりほぐし処理部24は、位置が重なるリピータセルの少なくとも一方を移動し、リピータセルの重なりを解消する。配線部25は、挿入するリピータセルの配置に合わせて、回路ブロック間の配線を再配線する。重なりほぐし処理及び再配線を行うことで、図7に示す回路が得られる。   FIG. 7 shows a state after the overlap unraveling process and rewiring. In FIG. 6, the arrangement position of the first repeater cell counted from the output terminal 506 of the net 515 (net 3) and the arrangement position of the first repeater cell counted from the output terminal 504 of the net 517 (net 5) are shown. overlapping. The overlap unraveling processing unit 24 moves at least one of the repeater cells whose positions overlap each other, and eliminates the overlap of the repeater cells. The wiring unit 25 rewires the wiring between the circuit blocks in accordance with the arrangement of the repeater cells to be inserted. The circuit shown in FIG. 7 is obtained by performing the overlapping loosening process and rewiring.

ここで、比較例として、リピータ挿入基点をずらさずにリピータ挿入を行った場合を考える。図8に、比較例におけるリピータセル挿入後の状態を示す。図4に示す回路にて、リピータ挿入基点を回路ブロック間配線の始点に固定し、リピータセル挿入を行うと、図8に示すようになる。ネット513〜515(net1〜net3)は、回路ブロック501の同一直線上に始点があり、隣接して平行に走る。従って、ネットの始点をリピータ挿入基点として一定間隔でリピータセルを挿入すると、図8に示すように、1段目、2段目、3段目のそれぞれでリピータセルの挿入位置が近接し、リピータセルが密集して配置される。図9に、比較例にて重なりほぐし処理及び再配線を施した後の状態を示す。図8に示すリピータセル挿入から、リピータセルの位置が重ならないようにリピータセルを移動し、回路ブロック間の配線を再配線すると、図9に示すようになる。   Here, as a comparative example, consider a case where repeater insertion is performed without shifting the repeater insertion base point. FIG. 8 shows a state after the repeater cell is inserted in the comparative example. In the circuit shown in FIG. 4, when the repeater insertion base point is fixed to the start point of the wiring between the circuit blocks and the repeater cell is inserted, the result is as shown in FIG. The nets 513 to 515 (net1 to net3) have start points on the same straight line of the circuit block 501, and run adjacently in parallel. Therefore, when repeater cells are inserted at regular intervals using the start point of the net as a repeater insertion base point, as shown in FIG. 8, the repeater cell insertion positions are close to each other in the first, second, and third stages. Cells are densely arranged. FIG. 9 shows a state after the overlap unraveling process and rewiring in the comparative example. When the repeater cell is moved from the repeater cell insertion shown in FIG. 8 so that the positions of the repeater cells do not overlap and the wiring between the circuit blocks is rewired, the result is as shown in FIG.

図6と図8とを比較すると、本実施形態では、ネット513〜515(net1〜net3)のリピータ挿入位置がネットの始点からずらし長αずつずれているため、ネット513〜515に挿入されるリピータセルの位置は近接しない。このため、図7と図9とを比較するとわかるように、本実施形態では、比較例に比して、重なりほぐし処理で移動する必要があるリピータセルは少なくて済む。また、比較例では、リピータセルが密集するため、重なりほぐし処理で移動するリピータセルの移動量が大きくなる。これに対し、本実施形態では、図6に示すように、リピータ挿入で、多数のリピータセルが重なる位置に配置されないので、リピータセルの移動量を減らすことができる。リピータセルの移動量が大きいと、それに伴って、回路ブロック間配線の経路変更も多くなり、再配線後の回路ブロック間配線に迂回箇所が多くなる(図9)。これに対し、本実施形態では、リピータセルの移動量が少なくて済むので、配線の迂回箇所の少なくて済む(図7)。   Comparing FIG. 6 and FIG. 8, in this embodiment, the repeater insertion positions of the nets 513 to 515 (net1 to net3) are shifted from the start point of the net by a length α, so that they are inserted into the nets 513 to 515. The repeater cells are not in close proximity. Therefore, as can be seen from a comparison between FIG. 7 and FIG. 9, in this embodiment, fewer repeater cells need to be moved in the overlapping unraveling process than in the comparative example. Further, in the comparative example, since the repeater cells are dense, the amount of movement of the repeater cell that is moved by the overlapping unraveling process becomes large. On the other hand, in the present embodiment, as shown in FIG. 6, since the repeater cells are not arranged at the overlapping positions by the repeater insertion, the movement amount of the repeater cells can be reduced. When the amount of movement of the repeater cell is large, the route change of the wiring between circuit blocks increases accordingly, and the number of detours increases in the wiring between circuit blocks after rewiring (FIG. 9). On the other hand, in the present embodiment, since the amount of movement of the repeater cell is small, the number of wiring detours is small (FIG. 7).

本実施形態の半導体レイアウトシステムは、最小構成として、グループ化処理部21と、リピータ挿入基点決定部22と、リピータ挿入処理部23とを備える。グループ化処理部21は、配線情報記憶部201を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点のX座標又はY座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化する。リピータ挿入基点決定部22は、同じグループに所属する回路ブロック間配線について、始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶する。リピータ挿入処理部23は、配線情報及びリピータ挿入基点位置情報を参照し、リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部202に記憶する。   The semiconductor layout system of the present embodiment includes a grouping processing unit 21, a repeater insertion base point determination unit 22, and a repeater insertion processing unit 23 as a minimum configuration. The grouping processing unit 21 refers to the wiring information storage unit 201, and among the circuit block wirings to be inserted into the repeater, the difference between the X coordinate or Y coordinate of the start point is within a predetermined distance and extends in parallel with each other. Inter-circuit block wiring having wiring portions is grouped. The repeater insertion base point determination unit 22 determines, as repeater insertion base point position information, the coordinates at positions where the distances from the start point coordinates are different from each other for the inter-circuit block wirings belonging to the same group. The repeater insertion processing unit 23 refers to the wiring information and the repeater insertion base point position information, determines the position of the repeater cell to be inserted into the inter-circuit block wiring to be inserted into the repeater, based on the repeater insertion base point, and repeater cell arrangement information And stored in the arrangement information storage unit 202.

本実施形態の半導体レイアウトシステムでは、似た位置を始点とし、並行して延びる部分を有する回路ブロック間配線をグループ化し、グループに所属する回路ブロック間配線のリピータ挿入基点を、始点からの距離が相互に異なる位置の座標に設定する。その後、始点からの距離をずらしたリピータ挿入基点を基点にリピータ挿入位置を決定する。このようにすることで、似た位置を始点とし、並行して延びる部分を有する回路ブロック間同士で、リピータ挿入位置が重なることを防ぐことができる。その結果、重なりほぐし処理で移動する必要があるリピータセルの数を減らすことができると共に、リピータセルの移動量を少なくすることができる。また、リピータセル移動後の再配線で、配線の迂回箇所を少なくすることができる。   In the semiconductor layout system of the present embodiment, wiring between circuit blocks having a similar position as a starting point and portions extending in parallel are grouped, and the repeater insertion base point of the wiring between circuit blocks belonging to the group is set at a distance from the starting point. Set the coordinates at different positions. Thereafter, the repeater insertion position is determined based on the repeater insertion base point shifted from the start point. By doing in this way, it can prevent that a repeater insertion position overlaps between circuit blocks which have the part which extends in parallel with a similar position as a starting point. As a result, it is possible to reduce the number of repeater cells that need to be moved in the overlap unraveling process, and to reduce the amount of movement of the repeater cells. Further, by rewiring after moving the repeater cell, it is possible to reduce the number of wiring detours.

以上、本発明をその好適な実施形態に基づいて説明したが、本発明の半導体レイアウトシステム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。   Although the present invention has been described based on the preferred embodiment, the semiconductor layout system, method, and program of the present invention are not limited to the above embodiment, and various configurations are possible from the configuration of the above embodiment. Those modified and changed as described above are also included in the scope of the present invention.

20:データ処理装置
21:グループ化処理部
22:リピータ挿入基点決定部
23:リピータ挿入処理部
24:重なりほぐし処理部
25:配線部
200:記憶装置
201:配線情報記憶部
202:配置情報記憶部
501〜503:回路ブロック
504〜508:出力端子
509〜512:入出力端子
513〜518:回路ブロック間配線(ネット)
20: data processing device 21: grouping processing unit 22: repeater insertion base point determination unit 23: repeater insertion processing unit 24: overlap unraveling processing unit 25: wiring unit 200: storage device 201: wiring information storage unit 202: arrangement information storage unit 501 to 503: circuit blocks 504 to 508: output terminals 509 to 512: input / output terminals 513 to 518: wiring between circuit blocks (net)

Claims (15)

配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化処理部と、
同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定部と、
前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入処理部とを備える半導体レイアウトシステム。
With reference to the wiring information storage unit that stores wiring information of the wiring between the circuit blocks including the starting point coordinates and the ending point coordinates of the wiring, among the wirings between the circuit blocks to which the repeater is inserted, the starting point coordinates in the X direction coordinates or the Y direction coordinates A grouping processing unit for grouping wiring between circuit blocks having a wiring portion having a difference in coordinates within a predetermined distance and extending in parallel with each other;
For the inter-circuit block wiring belonging to the same group, the repeater insertion base point determination unit for determining the coordinates of the position where the distance from the start point coordinate is different from each other as a repeater insertion base point, and storing it as repeater insertion base point position information;
Refer to the wiring information and repeater insertion base position information, determine the position of a repeater cell to be inserted into the inter-circuit block wiring to be inserted into the repeater from the repeater insertion base point, and place information storage unit as repeater cell placement information A semiconductor layout system comprising: a repeater insertion processing unit stored in
前記グループ化処理部は、前記リピータ挿入対象の回路ブロック間配線のうちで、前記X方向の座標又はY方向の座標の差が所定距離以内の回路ブロック間配線をグループ候補とし、該グループ候補の回路ブロック間配線について互いに並行して延びる配線部分の長さを求め、該並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線を同じグループにグループ化する、請求項1に記載の半導体レイアウトシステム。   The grouping processing unit sets, as a group candidate, an inter-circuit block wiring having a difference between the X-direction coordinate or the Y-direction coordinate within a predetermined distance among the circuit block wirings to be inserted into the repeater. 2. A length of a wiring portion extending in parallel with each other with respect to the wiring between circuit blocks is obtained, and wiring between circuit blocks having a length of the wiring portion extending in parallel with a predetermined length or more is grouped into the same group. The semiconductor layout system described in 1. 前記グループ化処理部は、更に、前記並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線のマンハッタンレシオを計算し、該マンハッタンレシオの値を相互に比較して差が所定の値以内の回路ブロック間配線を同じグループにグループ化する、請求項2に記載の半導体レイアウトシステム。   The grouping processing unit further calculates a Manhattan ratio of wiring between circuit blocks in which the length of the wiring portions extending in parallel is equal to or longer than a predetermined length, and compares the values of the Manhattan ratio with each other to determine a difference. The semiconductor layout system according to claim 2, wherein wirings between circuit blocks within a predetermined value are grouped into the same group. 前記リピータ挿入基点決定部は、所定のずらし長をαとし、前記回路ブロック間配線の経路上で前記始点座標からα×(i−1)(i=1、2、・・・、同じグループに所属する回路ブロック間配線の数)離れた位置の座標をリピータ挿入基点に決定する、請求項1乃至3の何れか一に記載の半導体レイアウトシステム。   The repeater insertion base point determination unit sets a predetermined shift length to α, and α × (i−1) (i = 1, 2,..., In the same group from the start point coordinates on the path between the circuit blocks. 4. The semiconductor layout system according to claim 1, wherein coordinates of a position apart from each other are determined as repeater insertion base points. 5. 前記配線情報記憶部及び前記配置情報記憶部を参照し、前記リピータセル同士の重なりを解消するようにリピータセルの位置を移動する重なりほぐし処理を行い、該重なりほぐし処理の結果を前記配置情報記憶部に記憶する重なりほぐし処理部と、
前記重なりほぐし処理部が重なりほぐし処理を行った後に、前記配線情報記憶部及び前記配置情報記憶部を参照して前記回路ブロック間配線の再配線を行い、再配線結果を前記配線情報記憶部に記憶する配線部とを更に備える、請求項1乃至4の何れか一に記載の半導体レイアウトシステム。
Referring to the wiring information storage unit and the arrangement information storage unit, an overlap unraveling process for moving the position of the repeater cell so as to eliminate the overlap between the repeater cells is performed, and a result of the overlap unraveling process is stored in the arrangement information storage An overlapping unraveling processing unit stored in the unit;
After the overlapping unraveling processing unit performs the overlapping unraveling processing, the wiring information storage unit and the placement information storage unit are referred to perform rewiring of the wiring between the circuit blocks, and the rewiring result is stored in the wiring information storage unit. The semiconductor layout system according to claim 1, further comprising a wiring unit for storing.
コンピュータが、配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化ステップと、
前記コンピュータが、同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定ステップと、
前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入ステップとを有する半導体レイアウト方法。
The computer refers to the wiring information storage unit that stores the wiring information of the wiring between the circuit blocks including the starting point coordinates and the ending point coordinates of the wiring, and among the wirings between the circuit blocks to which the repeater is inserted, the coordinates in the X direction of the starting point coordinates or A grouping step for grouping wirings between circuit blocks having wiring portions that extend in parallel with each other, with a difference in coordinates in the Y direction within a predetermined distance; and
Repeater insertion base point determination step in which the computer determines the coordinates of the positions where the distances from the start point coordinates are different from each other for the inter-circuit block wirings belonging to the same group, as repeater insertion base point position information, ,
Refer to the wiring information and repeater insertion base position information, determine the position of a repeater cell to be inserted into the inter-circuit block wiring to be inserted into the repeater with the repeater insertion base point as a base point, and a placement information storage unit as repeater cell placement information A semiconductor layout method comprising: a repeater insertion step stored in the memory.
前記グループ化ステップでは、前記コンピュータは、前記リピータ挿入対象の回路ブロック間配線のうちで、前記X方向の座標又はY方向の座標の差が所定距離以内の回路ブロック間配線をグループ候補とし、前記グループ候補の回路ブロック間配線について互いに並行して延びる配線部分の長さを求め、該並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線を同じグループにグループ化する、請求項6に記載の半導体レイアウト方法。   In the grouping step, the computer sets, as a group candidate, an inter-circuit block wiring having a difference between the X-direction coordinates or the Y-direction coordinates within a predetermined distance among the inter-circuit block wirings to be inserted into the repeater. Obtaining the length of the wiring portion extending in parallel with each other for the inter-circuit block wiring of the group candidate, and grouping the wiring between the circuit blocks in which the length of the wiring portion extending in parallel is equal to or longer than a predetermined length, The semiconductor layout method according to claim 6. 前記グループ化ステップでは、コンピュータは、更に、前記並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線のマンハッタンレシオを計算し、該マンハッタンレシオの値を相互に比較して差が所定の値以内の回路ブロック間配線を同じグループにグループ化する、請求項7に記載の半導体レイアウト方法。   In the grouping step, the computer further calculates a Manhattan ratio of wiring between circuit blocks in which the length of the wiring portions extending in parallel is equal to or longer than a predetermined length, and compares the values of the Manhattan ratio with each other. The semiconductor layout method according to claim 7, wherein wiring between circuit blocks having a difference within a predetermined value is grouped into the same group. 前記リピータ挿入基点決定ステップでは、前記コンピュータは、所定のずらし長をαとし、前記回路ブロック間配線の経路上で前記始点座標からα×(i−1)(i=1、2、・・・、同じグループに所属する回路ブロック間配線の数)離れた位置の座標をリピータ挿入基点に決定する、請求項6乃至8の何れか一に記載の半導体レイアウト方法。   In the repeater insertion base point determining step, the computer sets a predetermined shift length α, and α × (i−1) (i = 1, 2,...) From the start point coordinates on the path between the circuit blocks. 9. The semiconductor layout method according to claim 6, wherein the coordinates of the distant positions are determined as repeater insertion base points. 前記コンピュータが、前記配線情報記憶部及び前記配置情報記憶部を参照して、前記リピータセル同士の重なりを解消するようにリピータセルの位置を移動し、該移動の結果を前記配置情報記憶部に記憶する重なりほぐしステップと、
前記コンピュータが、前記重なりほぐしステップに後続して、前記配線情報記憶部及び前記配置情報記憶部を参照して前記回路ブロック間配線の再配線を行い、再配線結果を前記配線情報記憶部に記憶する再配線ステップとを更に有する、請求項6乃至9の何れか一に記載の半導体レイアウト方法。
The computer refers to the wiring information storage unit and the arrangement information storage unit, moves the position of the repeater cell so as to eliminate the overlap between the repeater cells, and stores the result of the movement in the arrangement information storage unit. The overlapping unwinding step to remember,
Subsequent to the overlapping unraveling step, the computer performs rewiring of the wiring between the circuit blocks with reference to the wiring information storage unit and the arrangement information storage unit, and stores the rewiring result in the wiring information storage unit. The semiconductor layout method according to claim 6, further comprising a rewiring step.
コンピュータに、
配線の始点座標及び終点座標を含む回路ブロック間配線の配線情報を記憶する配線情報記憶部を参照し、リピータ挿入対象の回路ブロック間配線のうちで、始点座標のX方向の座標又はY方向の座標の差が所定距離以内で、かつ、互いに並行して延びる配線部分を有する回路ブロック間配線をグループ化するグループ化処理と、
同じグループに所属する回路ブロック間配線について、前記始点座標からの距離が相互に異なる位置の座標をリピータ挿入基点に決定し、リピータ挿入基点位置情報として記憶するリピータ挿入基点決定処理と、
前記配線情報及びリピータ挿入基点位置情報を参照し、前記リピータ挿入基点を基点に、リピータ挿入対象の回路ブロック間配線に挿入するリピータセルの位置を決定し、リピータセルの配置情報として配置情報記憶部に記憶するリピータ挿入処置とを実行させるプログラム。
On the computer,
With reference to the wiring information storage unit that stores wiring information of the wiring between the circuit blocks including the starting point coordinates and the ending point coordinates of the wiring, among the wirings between the circuit blocks to which the repeater is inserted, the starting point coordinates in the X direction coordinates or the Y direction coordinates A grouping process for grouping wiring between circuit blocks having a wiring portion having a coordinate difference within a predetermined distance and extending in parallel with each other;
For the inter-circuit block wiring belonging to the same group, the repeater insertion base point determination process for determining the coordinates of the position where the distance from the start point coordinate is different from each other as a repeater insertion base point, and storing as repeater insertion base point position information;
Refer to the wiring information and repeater insertion base position information, determine the position of a repeater cell to be inserted into the inter-circuit block wiring to be inserted into the repeater with the repeater insertion base point as a base point, and a placement information storage unit as repeater cell placement information A program for executing a repeater insertion procedure stored in the memory.
前記グループ化処理では、前記リピータ挿入対象の回路ブロック間配線のうちで、前記X方向の座標又はY方向の座標の差が所定距離以内の回路ブロック間配線をグループ候補とし、前記グループ候補の回路ブロック間配線について互いに並行して延びる配線部分の長さを求め、該並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線を同じグループにグループ化する、請求項11に記載のプログラム。   In the grouping process, among the inter-circuit block wirings to be inserted into the repeater, the inter-circuit block wirings having a difference in the X-direction coordinate or the Y-direction coordinate within a predetermined distance are set as group candidates, and the circuit of the group candidate 12. The length of the wiring part extending in parallel with each other for the inter-block wiring is obtained, and the wiring between the circuit blocks in which the length of the wiring part extending in parallel is equal to or longer than a predetermined length is grouped into the same group. The listed program. 前記グループ化処理では、更に、前記並行して延びる配線部分の長さが所定の長さ以上の回路ブロック間配線のマンハッタンレシオを計算し、該マンハッタンレシオの値を相互に比較して差が所定の値以内の回路ブロック間配線を同じグループにグループ化する、請求項12に記載のプログラム。   In the grouping process, a Manhattan ratio of wiring between circuit blocks in which the length of the wiring portion extending in parallel is equal to or longer than a predetermined length is calculated, and the difference between the Manhattan ratio values is compared with each other. The program according to claim 12, wherein wiring between circuit blocks within a value of is grouped into the same group. 前記リピータ挿入基点決定処理では、所定のずらし長をαとし、前記回路ブロック間配線の経路上で前記始点座標からα×(i−1)(i=1、2、・・・、同じグループに所属する回路ブロック間配線の数)離れた位置の座標をリピータ挿入基点に決定する、請求項11乃至13の何れか一に記載のプログラム。   In the repeater insertion base point determination process, a predetermined shift length is α, and α × (i−1) (i = 1, 2,..., In the same group from the start point coordinates on the path between the circuit blocks. The program according to any one of claims 11 to 13, wherein coordinates of positions apart from each other are determined as repeater insertion base points. 前記コンピュータに、
前記配線情報記憶部及び前記配置情報記憶部を参照して、前記リピータセル同士の重なりを解消するようにリピータセルの位置を移動し、該移動の結果を前記配置情報記憶部に記憶する重なりほぐし処理と、
前記重なりほぐし処理に後続して、前記配線情報記憶部及び前記配置情報記憶部を参照して前記回路ブロック間配線の再配線を行い、再配線結果を前記配線情報記憶部に記憶する再配線処理とを更に実行させる、請求項11乃至14の何れか一に記載のプログラム。
In the computer,
Referring to the wiring information storage unit and the arrangement information storage unit, the position of the repeater cell is moved so as to eliminate the overlap between the repeater cells, and the result of the movement is stored in the arrangement information storage unit. Processing,
Subsequent to the overlap unraveling process, rewiring is performed by referring to the wiring information storage unit and the placement information storage unit and rewiring the wiring between the circuit blocks, and storing a rewiring result in the wiring information storage unit. The program according to any one of claims 11 to 14, further executing:
JP2009029754A 2009-02-12 2009-02-12 Semiconductor layout system, method, and program Expired - Fee Related JP5187217B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009029754A JP5187217B2 (en) 2009-02-12 2009-02-12 Semiconductor layout system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009029754A JP5187217B2 (en) 2009-02-12 2009-02-12 Semiconductor layout system, method, and program

Publications (2)

Publication Number Publication Date
JP2010186304A true JP2010186304A (en) 2010-08-26
JP5187217B2 JP5187217B2 (en) 2013-04-24

Family

ID=42766929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009029754A Expired - Fee Related JP5187217B2 (en) 2009-02-12 2009-02-12 Semiconductor layout system, method, and program

Country Status (1)

Country Link
JP (1) JP5187217B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164639B2 (en) 2018-12-21 2021-11-02 Toshiba Memory Corporation Semiconductor memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1140677A (en) * 1997-07-18 1999-02-12 Nec Corp System and method for improving crosstalk error
JP2002134619A (en) * 2000-10-26 2002-05-10 Sony Corp Method for designing integrated circuit, system for designing it, and recording medium
JP2008205030A (en) * 2007-02-16 2008-09-04 Toshiba Corp Wiring method for semiconductor integrated circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1140677A (en) * 1997-07-18 1999-02-12 Nec Corp System and method for improving crosstalk error
JP2002134619A (en) * 2000-10-26 2002-05-10 Sony Corp Method for designing integrated circuit, system for designing it, and recording medium
JP2008205030A (en) * 2007-02-16 2008-09-04 Toshiba Corp Wiring method for semiconductor integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164639B2 (en) 2018-12-21 2021-11-02 Toshiba Memory Corporation Semiconductor memory device

Also Published As

Publication number Publication date
JP5187217B2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
US20110145775A1 (en) Cell library, layout method, and layout apparatus
US8930869B2 (en) Method, program, and apparatus for aiding wiring design
US8701064B2 (en) Timing error removing method and design support apparatus
JP2006259943A (en) Integrated circuit layout design system, its method and program
US8898606B1 (en) Layout pattern correction for integrated circuits
US8108814B2 (en) Dummy metal insertion processing method and apparatus
CN114386356A (en) Wiring method, device, equipment and storage medium for chip design
CN103678741A (en) Graph optimization method for short-circuit path in integrated circuit layout verification
JP5187217B2 (en) Semiconductor layout system, method, and program
US8381159B2 (en) Method of semiconductor integrated circuit, and computer readable medium
US8060853B2 (en) Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method and semiconductor device
KR102451155B1 (en) Semiconductor device design method and sysyem
JP2003281212A (en) Method, device and program for automatic arrangement and wiring
JP2008217642A (en) Layout design method for semiconductor integrated circuit and layout design program
JP2009134439A (en) Layout design method using soft macro, data structure for soft macro and creation method for soft macro library
KR20210064572A (en) Metal option structure of semiconductor device
JP4778339B2 (en) Automatic placement method, apparatus, and program
JP2012063934A (en) Wiring path determination method for wiring board, and wiring path determination method for semiconductor device
JP5035003B2 (en) Wiring layout apparatus, wiring layout method, and wiring layout program
CN109002570B (en) Method for cell placement and computer system for performing the method
JP2006294707A (en) Semiconductor integrated circuit and method of wiring the same
JP5326360B2 (en) Wiring layout method and wiring layout apparatus
JP2008250490A (en) Method for upgrading wiring layer layout data
JP2007273847A (en) Design method of semiconductor integrated circuit device, and design equipment
Mukherjee et al. Congestion Balancing Global Router

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5187217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees