JP2005157487A - Automatic arranging and wiring method - Google Patents

Automatic arranging and wiring method Download PDF

Info

Publication number
JP2005157487A
JP2005157487A JP2003391222A JP2003391222A JP2005157487A JP 2005157487 A JP2005157487 A JP 2005157487A JP 2003391222 A JP2003391222 A JP 2003391222A JP 2003391222 A JP2003391222 A JP 2003391222A JP 2005157487 A JP2005157487 A JP 2005157487A
Authority
JP
Japan
Prior art keywords
circuit
circuit blocks
cell
divided regions
routing method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003391222A
Other languages
Japanese (ja)
Inventor
Nobukazu Mihara
信和 三原
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2003391222A priority Critical patent/JP2005157487A/en
Publication of JP2005157487A publication Critical patent/JP2005157487A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To execute the proper arrangement and wiring of power lines even for specific cells such as a micro-cell or soft macros, and to prevent standard cells strongly connected to each other from being arranged in circuit blocks different from each other. <P>SOLUTION: This automatic arranging and wiring method comprises a step S1 for arranging specific cells such as macro cells in a specific region in the arrangement region of a semiconductor integrated circuit, a step S2 for arranging and wiring the first power line for supplying a power to the specific cells, a step S3 for dividing any region other than the specific region in the arrangement region into n pieces of divided regions so that the current consumption of the specific cells and the first power line can be well-balanced, a step S4 for dividing any circuit other than the circuit by the specific cells in a logic circuit constituted of the semiconductor integrated circuit into the n pieces of circuit blocks according to the logical connection and steps S5 to S10 for arranging the n pieces of circuit blocks in the n pieces of divided regions according to the logical connection of the logic circuit and current supply quantity to be supplied to the respective divided regions. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、記憶装置を備えたコンピュータにより、該記憶装置から少なくとも1つのマクロセル、ソフトマクロ展開されたセル群あるいはスキューが問題となるセル群等の特殊セルおよび複数の標準セルを読み出して、該特殊セルおよび該標準セル並びに電源線を配置配線して半導体集積回路のレイアウトを作成する自動配置配線方法に関するものである。   The present invention reads out at least one macro cell, a soft macro-developed cell group or a special cell such as a cell group having a problem of skew, and a plurality of standard cells from the storage device by a computer including the storage device, The present invention relates to an automatic placement and routing method for creating a layout of a semiconductor integrated circuit by placing and routing special cells, the standard cells, and power supply lines.

半導体集積回路において、配線層を構成するメタル配線は、半導体プロセスの微細化や配線層の多層化に伴ってますます薄膜化および配線ピッチ縮小化が進み、これにより配線抵抗や配線容量等の寄生素子が増大し、レイアウトを設計する上でこれらの寄生素子を考慮することが重要な課題となってきている。   In semiconductor integrated circuits, the metal wiring composing the wiring layer is becoming increasingly thinner and the wiring pitch is reduced as the semiconductor process becomes finer and the wiring layer becomes multi-layered. As the number of elements increases, it is an important issue to consider these parasitic elements when designing the layout.

特に、半導体集積回路の個々の回路ブロックに電源電圧を供給する個々の電源線の配置設計においては、回路ブロックの消費電流と電源線の寄生素子とにより、電源線に電圧変動が生じる点を考慮する必要がある。動作周波数が高い半導体集積回路においては、配線抵抗に起因する電圧降下と該電圧降下に起因する遅延に対する対策が重要な課題となる。   In particular, in the layout design of individual power supply lines that supply power supply voltage to individual circuit blocks of a semiconductor integrated circuit, it is considered that voltage fluctuations occur in the power supply lines due to current consumption of the circuit blocks and parasitic elements of the power supply lines. There is a need to. In a semiconductor integrated circuit having a high operating frequency, measures against a voltage drop caused by wiring resistance and a delay caused by the voltage drop are important issues.

そこで従来では、電源線の電圧降下を低減するために、各標準セル毎に、固有の消費電流データ、負荷インピーダンスデータおよび回路活性化率データを基にしてその実質消費電流を算出しておき、論理回路全体をある程度の単位で分割した各回路ブロック毎の消費電流(当該回路ブロックを構成する複数の標準セルの合計消費電流)と、論理回路全体の消費電流を回路ブロック数で除した各回路ブロックの平均消費電流との差が小さくなるように、各回路ブロックを分割する手法が提案されている(例えば、特許文献1参照)。また、ここでは、回路ブロック内では相対的に消費電流が大きい標準セルは電源線の近くに配置し、1つの回路ブロックに属する標準セルと他の回路ブロックに属する標準セルとを交換する再配置工程を備えている。   Therefore, conventionally, in order to reduce the voltage drop of the power line, for each standard cell, the actual current consumption is calculated based on the specific current consumption data, load impedance data and circuit activation rate data, Current consumption for each circuit block obtained by dividing the entire logic circuit by a certain unit (total current consumption of a plurality of standard cells constituting the circuit block) and each circuit obtained by dividing the current consumption of the entire logic circuit by the number of circuit blocks There has been proposed a method of dividing each circuit block so that the difference from the average current consumption of the block is small (see, for example, Patent Document 1). Also, here, a standard cell having a relatively large current consumption in the circuit block is arranged near the power supply line, and a standard cell belonging to one circuit block is replaced with a standard cell belonging to another circuit block. It has a process.

これらの手法を採用することで、各回路ブロックの消費電流を均等化するよう回路全体を分割(グループ化)して、各回路ブロックに標準セルが配置されるため、電源線の電圧降下量が均等化され、回路遅延のばらつきを抑えることができる。これにより、回路の動作速度や電源線の幅等の設計マージンを必要最小限にまで削減できることから、半導体集積回路の高速化及び高集積化を図ることができる。
特開平11−238802号
By adopting these methods, the entire circuit is divided (grouped) to equalize the current consumption of each circuit block, and standard cells are arranged in each circuit block. It is possible to equalize and suppress variations in circuit delay. As a result, design margins such as circuit operation speed and power supply line width can be reduced to the minimum necessary, so that high speed and high integration of the semiconductor integrated circuit can be achieved.
JP-A-11-238802

しかしながら、上記の手法は電源線及び消費電流を優先して配置配線を処理するものであるため、同一回路ブロック内に分類しておくべき標準セルが、他の回路ブロックのセルと交換される可能性が生じる。また、電源を供給する必要があり分割領域が制限されるPLL、メモリ等のマクロセルやソフトマクロについては全く考慮されていない。   However, since the above method processes the placement and routing in consideration of the power line and current consumption, the standard cell that should be classified in the same circuit block can be replaced with a cell in another circuit block. Sex occurs. Further, no consideration is given to macro cells such as PLLs and memories and soft macros, which need to be supplied with power and whose division area is limited.

本発明の目的は、マクロセルやソフトマクロ等の特殊セルについても適正な電源線の配置配線が行われ、また互いに結びつきの強い標準セルが互いに異なった回路ブロックに配置されることがないようにした自動配置配線方法を提供することである。   An object of the present invention is to perform proper power line arrangement and wiring for special cells such as macro cells and soft macros, and to prevent standard cells that are strongly connected to each other from being arranged in different circuit blocks. It is to provide an automatic placement and routing method.

請求項1にかかる発明の自動配置配線方法は、記憶装置を備えたコンピュータにより、該記憶装置から少なくとも1つのマクロセル、ソフトマクロ展開されたセル群あるいはスキューが問題となるセル群等の特殊セルおよび複数の標準セルを読み出し、該特殊セルおよび該標準セル並びに電源線を配置配線して半導体集積回路のレイアウトを作成する自動配置配線方法において、前記半導体集積回路の配置領域における特定領域に前記特殊セルを配置する第1のステップと、前記特殊セルに電源供給を行う第1の電源線を前記配置領域に配置配線する第2のステップと、前記特殊セルの消費電流および前記第1の電源線とバランスがとれるように、前記配置領域の内の前記特定領域以外の領域を分割してn個の分割領域を形成し、電源線を配置配線する第3のステップと、前記半導体集積回路からなる論理回路の内の前記特殊セルによる回路を除く回路を論理的な結び付きに応じて分割してn個の回路ブロックを形成する第4のステップと、前記論理回路の論理的な結び付きおよび前記n個の分割領域に供給される電流供給量に応じて、前記n個の分割領域に対して前記n個の回路ブロックを配置する第5のステップと、を具備することを特徴とする自動配置配線方法とした。
請求項2にかかる発明は、請求項1に記載の自動配置配線方法において、前記第3のステップにおける前記n個の分割領域の形成および前記第4のステップにおける前記n個の回路ブロックの形成は、前記n個の回路ブロックを構成する前記標準セルおよび前記n個の回路ブロックの消費電流、並びに前記n個の分割領域に配置配線する電源線の配線長および配線幅に応じて行うことを特徴とする自動配置配線方法とした。
請求項3にかかる発明は、請求項1又は2に記載の自動配置配線方法において、前記第5のステップは、前記n個の分割領域を遺伝子座とし、前記n個の回路ブロックを遺伝子として、前記n個の回路ブロック相互間および前記n個の回路ブロックと前記特殊セルとの関係の緊密度、前記n個の回路ブロックに供給される供給電力量と前記n個の回路ブロックでの消費電流量との関係を制約条件として、前記n個の分割領域に対する前記n個の回路ブロックの最適な割り付けを遺伝的アルゴリズムにより行うことを特徴とする自動配置配線方法とした。
請求項4にかかる発明は、請求項3に記載の自動配置配線方法において、前記遺伝的アルゴリズムは、前記n個の分割領域に対する前記n個の回路ブロックの割り付けの組合せを複数作成し、各組合せにおける各回路ブロックを前記制約条件により評価し、該評価結果に応じて淘汰、増殖、進化を繰り返して前記制約条件をほぼ満たす最適な1つの組合せを選定することを特徴とする自動配置配線方法とした。
According to a first aspect of the present invention, there is provided an automatic placement and routing method comprising: a computer equipped with a storage device; and a special cell such as at least one macro cell, a soft macro expanded cell group or a cell group in which skew is a problem, In an automatic placement and routing method for reading a plurality of standard cells and arranging and wiring the special cells and the standard cells and power supply lines to create a layout of the semiconductor integrated circuit, the special cells are placed in a specific region in the placement region of the semiconductor integrated circuit. A second step of arranging and wiring a first power line for supplying power to the special cell in the arrangement region, a current consumption of the special cell, and the first power line. In order to achieve a balance, areas other than the specific area in the arrangement area are divided to form n divided areas, and power lines are arranged. A third step of wiring, and a fourth step of forming n circuit blocks by dividing a circuit excluding the circuit by the special cell in the logic circuit composed of the semiconductor integrated circuit according to a logical connection. A fifth step of arranging the n circuit blocks in the n divided regions according to a logical connection of the logic circuits and a current supply amount supplied to the n divided regions. And an automatic placement and routing method.
The invention according to claim 2 is the automatic placement and routing method according to claim 1, wherein the formation of the n divided regions in the third step and the formation of the n circuit blocks in the fourth step are performed. , According to the current consumption of the standard cells and the n circuit blocks constituting the n circuit blocks, and the wiring length and wiring width of the power supply lines arranged and wired in the n divided regions. The automatic placement and routing method is as follows.
The invention according to claim 3 is the automatic placement and routing method according to claim 1 or 2, wherein the fifth step uses the n divided regions as gene loci and the n circuit blocks as genes. The tightness of the relationship between the n circuit blocks and between the n circuit blocks and the special cells, the amount of power supplied to the n circuit blocks, and the current consumption in the n circuit blocks The automatic placement and routing method is characterized in that the optimal allocation of the n circuit blocks to the n divided regions is performed by a genetic algorithm using the relationship with the quantity as a constraint.
According to a fourth aspect of the present invention, in the automatic placement and routing method according to the third aspect, the genetic algorithm creates a plurality of combinations of allocation of the n circuit blocks for the n divided regions, and each combination An automatic placement and routing method characterized by evaluating each circuit block according to the constraint condition, and selecting an optimal combination that substantially satisfies the constraint condition by repeating selection, multiplication, and evolution according to the evaluation result; did.

本発明によれば、マクロセル、ソフトマクロ展開されたセル群あるいはスキューが問題となるセル群等の特殊セルは、最初に配置領域の特定領域に配置され且つ特殊セル用の電源線も必要十分な条件で最初に配置され、その後に他の回路ブロックやそれに電源供給する電源線についてはこれら特殊セルとバランスがとれるように配置配線されるので、特殊セルやその電源線を他からの影響を受けずに要求仕様通りに配置することができる。また、n個に分割する回路ブロックは論理的な結び付きに応じて分割されるので、同一の回路ブロック内に分類しておくべきセルが別の回路ブロックに分類されるようなことはなくなる。さらに、n個の分割領域にn個の回路ブロックを割り付けるときは、所定の制約条件を満足するように遺伝的アルゴリズムにより行えば、迅速に最適な割り付けを行うことができる。   According to the present invention, a special cell such as a macro cell, a soft macro expanded cell group, or a cell group in which skew is a problem is first arranged in a specific area of the arrangement area, and a power line for the special cell is necessary and sufficient. The other circuit blocks and the power lines that supply power to them are placed and routed so that they are balanced with these special cells, and the special cells and their power lines are affected by others. And can be arranged as required. In addition, since the circuit blocks to be divided into n pieces are divided according to the logical connection, cells that should be classified in the same circuit block are not classified into different circuit blocks. Furthermore, when allocating n circuit blocks to n divided regions, an optimal allocation can be performed quickly by using a genetic algorithm so as to satisfy a predetermined constraint condition.

本発明の実施形態では、記憶装置を備えたコンピュータにより、該記憶装置から少なくとも1つのマクロセル、ソフトマクロ展開されたセル群あるいはスキューが問題となるセル群等の特殊セルおよび複数の標準セル、並びに回路接続情報、設計制約、その他の自動配置配線に必要なデータを読み出し、該特殊セルおよび該標準セル、並びに電源線を配置配線して半導体集積回路のレイアウトを作成する。その概要は次の通りである。   In an embodiment of the present invention, a computer equipped with a storage device, and a special cell such as a cell group in which at least one macro cell, a soft macro expanded cell group or a skew is a problem from the storage device, and a plurality of standard cells, and Circuit connection information, design constraints, and other data necessary for automatic placement and routing are read out, and the layout of the semiconductor integrated circuit is created by placing and routing the special cells, the standard cells, and the power supply lines. The outline is as follows.

(1)特殊セル(1又は2以上)を半導体集積回路の配置領域における予め決められた特定領域に配置し、その特殊セルに電源を供給する電源線を要求仕様通りに配置配線する。
(2)次に、全部のセルおよび各回路ブロック(分類されたセル群からなる)の消費電流と配置配線される電源線の配線長および配線幅を一定の基準で数値化して評価する。
(3)次に、半導体集積回路上で(1)によって配置された特殊セルおよび該特殊セルの電源線を配置した特定領域以外の領域を仮に分割してn個の分割領域とし、特殊セルの消費電流の値と電源線の配線長および配線幅とバランスがとれるように、つまり特殊セル側が他からの影響を受けないように、新たな電源線を配線する。
(1) A special cell (one or two or more) is arranged in a predetermined specific area in the arrangement area of the semiconductor integrated circuit, and a power line for supplying power to the special cell is arranged and wired as required.
(2) Next, the current consumption of all the cells and each circuit block (consisting of classified cell groups) and the wiring lengths and wiring widths of the power supply lines to be arranged and wired are digitized and evaluated based on a certain standard.
(3) Next, on the semiconductor integrated circuit, the special cell arranged in (1) and the area other than the specific area where the power line of the special cell is arranged are temporarily divided into n divided areas. A new power supply line is laid out so that the current consumption value is balanced with the wiring length and width of the power supply line, that is, the special cell side is not affected by others.

(4)次に、論理的な結びつき等を考慮して、つまり論理関係が緊密なセルが同じ回路ブロックに含まれるように、論理回路中の前記特殊セルを除く回路部分をn個に分割する。 なお、これらの(3)と(4)では、特殊セル以外のn個の回路ブロックを(2)の要領(セルや回路の消費電流、電源線の配線長や配線幅)で評価し、その評価結果に応じて電源線の配線幅を変更し、あるいは分岐を変更し、分割領域や数nおよび回路ブロックの内容や数nを変更する。   (4) Next, in consideration of logical connection and the like, that is, the circuit portion excluding the special cell in the logic circuit is divided into n pieces so that cells having a close logical relationship are included in the same circuit block. . In these (3) and (4), n circuit blocks other than special cells are evaluated according to the procedure (2) (current consumption of cells and circuits, wiring length and wiring width of power supply lines), and Depending on the evaluation result, the wiring width of the power supply line is changed or the branch is changed, and the divided areas and the number n and the contents and the number n of the circuit blocks are changed.

(5)次に、n個の分割領域にn個の回路ブロックを割り付けて配置する。このとき、すでに配置された特殊セルとの結びつきの重みを優先する。つまり特殊セルと結びつきの強い回路ブロックはその特殊セルの近くの分割領域に配置する。なお、ある程度n個の回路ブロックの消費電流と既配線の電源供給能力も考慮する。ここでも、(2)の要領の評価でバランスがとれるまで、n個の分割領域に対するn個の回路ブロックの割り付けを繰り返す。なお以上では、信号線の配置配線については、本発明の要旨から外れるので、その説明は省略した。   (5) Next, n circuit blocks are allocated and arranged in n divided areas. At this time, priority is given to the weight of connection with a special cell already arranged. That is, a circuit block that is strongly associated with a special cell is arranged in a divided area near the special cell. Note that the current consumption of n circuit blocks to some extent and the power supply capability of existing wiring are also taken into consideration. Again, the allocation of n circuit blocks to the n divided areas is repeated until a balance is obtained in the evaluation of the procedure (2). In the above description, the arrangement and wiring of the signal lines are out of the scope of the present invention, and thus the description thereof is omitted.

以上により、特殊セルと該特殊セルに電源を供給する電源線をまず最初に配置配線した後に、半導体集積回路全体のバランスをとるように電源線が配置配線されたn個の分割領域に、論理回路を分割したn個の回路ブロックを配置していくので、特殊セルは後の回路ブロックの配置配線の影響を受けることはなく、またn個の回路ブロックは論理関係が緊密なセルが同じ回路ブロックに含まれるように分割されるので、同一の回路ブロック内に分類しておくべきセルが別の回路ブロックに分類されるようなことはなく、さらに特殊セルと関連が深い回路ブロックはその特殊セルの近くに配置されるので、最適な配置配線が実現でき、遅延時間を要求仕様内に確実に納めながら、回路全体の電力消費が局所に偏ることを防ぐことができる。以下、具体例で詳しく説明する。   As described above, after the special cell and the power supply line for supplying power to the special cell are first arranged and wired, the n divided areas where the power supply line is arranged and wired so as to balance the entire semiconductor integrated circuit are logically connected. Since n circuit blocks obtained by dividing the circuit are arranged, the special cell is not affected by the arrangement and wiring of the subsequent circuit block, and the n circuit blocks have the same circuit in which the logical relationship is close. Since it is divided so that it is included in a block, cells that should be classified in the same circuit block are not classified as different circuit blocks, and circuit blocks that are closely related to special cells Since it is arranged close to the cell, optimal placement and routing can be realized, and the power consumption of the entire circuit can be prevented from being locally biased while ensuring the delay time within the required specifications. Hereinafter, specific examples will be described in detail.

図1は実施例1の配置配線の処理のフローチャート、図2は配置配線の対象としての半導体集積回路の領域(フロア)を示す図である。まず、特殊セルを当該特殊セルに予め割り付けられた特定領域2に配置し(ステップS1)、次にその特殊セルへの電源線の配置配線を行う(ステップS2)。そして、半導体集積回路上の領域において、特殊セルの特定領域2以外の領域をn個(図2では簡単のため7個とした)に分割し、分割領域1、3〜8を得、電源線を配置する(ステップS3)。次に、論理回路の内の前記特殊セルによる回路を除く回路部分を、n個の回路ブロックに分割する(ステップS4)。以上の処理ステップS1〜S4は前記した(1)、(3)、(4)に対応する。ステップS3,S4では、前記したように、n個の回路ブロックをセルや回路の消費電流、電源線の配線長や配線幅等で評価し、その評価結果に応じて電源線の配線幅を変更し、あるいは分岐を変更し、分割領域や数nおよび回路ブロックの内容や数nを変更する。   FIG. 1 is a flowchart of a placement and routing process according to the first embodiment, and FIG. 2 is a diagram showing a region (floor) of a semiconductor integrated circuit as a placement and routing target. First, a special cell is placed in the specific area 2 previously assigned to the special cell (step S1), and then a power supply line is placed and wired to the special cell (step S2). Then, in the region on the semiconductor integrated circuit, the region other than the special region 2 of the special cell is divided into n (seven in FIG. 2 for simplicity) to obtain divided regions 1, 3 to 8, and power supply lines Are arranged (step S3). Next, the circuit portion of the logic circuit excluding the circuit by the special cell is divided into n circuit blocks (step S4). The above processing steps S1 to S4 correspond to the above (1), (3), and (4). In steps S3 and S4, as described above, n circuit blocks are evaluated by the current consumption of cells and circuits, the wiring length and wiring width of the power supply line, and the wiring width of the power supply line is changed according to the evaluation result. Alternatively, the branch is changed, and the divided areas and the number n and the contents and the number n of the circuit blocks are changed.

次のステップS6〜S10はn個の分割領域にn個の回路ブロックを割り付けて配置する前記した(5)に対応する処理である。このn個の回路ブロックの割り付けは、各回路ブロック相互間の結び付き(特殊セルと他の回路ブロック相互間の結び付きも含むものとする)の重み、各回路ブロックに供給される電流が当該各ブロックの消費電流を満たすか等の制約条件を評価して配置する。このような割り付けは、単純にしらみつぶしに計算した場合、nの数が多くなったときに計算爆発を起こしてしまうので、以下のような手段を採用する。   The next steps S6 to S10 are processes corresponding to the above (5) in which n circuit blocks are allocated and arranged in n divided areas. The allocation of the n circuit blocks is based on the weight of the connection between the circuit blocks (including the connection between the special cell and other circuit blocks), and the current supplied to each circuit block is consumed by each block. Evaluate the constraints such as whether or not the current is satisfied, and arrange them. When such allocation is simply calculated in detail, a calculation explosion occurs when the number of n increases, so the following means are adopted.

すなわち、どの分割領域にどの回路ブロックを割り付けて配置するかという問題を、巡回セールスマン問題の変形としてとらえ、遺伝的アルゴリズムを用いて現実的な解を求める。この場合、回路ブロックを巡回する都市(遺伝子)と見立てる。評価関数として、回路ブロック相互間の結び付きの重みと、電源供給能力および消費電流量とを設定する。まず、回路ブロック間の重み付けは事前に設定しておく。回路ブロック間の距離は実測でもそれを正規化したものでも良い。回路ブロック間の結び付きの評価関数としては、例えばf(x)=[重み付け/距離]という関数を定義する。同様に電源線の電源供給能力に対する回路ブロックの消費電流量がある程度の範囲で下回ればプラス、超えればマイナスとなるような評価関数を設定する。そして、以後、各回路ブロック(都市)を遺伝子の1ビットとみたてたシミュレーションを進め、最小値を求めると、最適な割り付けの配置となる。   That is, the problem of which circuit block is allocated and arranged in which divided area is regarded as a modification of the traveling salesman problem, and a realistic solution is obtained using a genetic algorithm. In this case, it is considered as a city (gene) that circulates the circuit block. As an evaluation function, a connection weight between circuit blocks, a power supply capability, and a current consumption amount are set. First, weighting between circuit blocks is set in advance. The distance between circuit blocks may be measured or normalized. As an evaluation function for connection between circuit blocks, for example, a function of f (x) = [weighting / distance] is defined. Similarly, an evaluation function is set such that it is positive if the current consumption of the circuit block with respect to the power supply capability of the power supply line falls within a certain range, and negative if it exceeds. Thereafter, when a simulation is performed in which each circuit block (city) is regarded as one bit of a gene and a minimum value is obtained, an optimal allocation arrangement is obtained.

以下、図3と図4をも参照して遺伝的アルゴリズムを適用して、n個の分割領域にn個の回路ブロックをどのようにして配置するかについて説明する。なお、分割領域は遺伝子座に、回路ブロックは遺伝子に相当する。まず、後に交叉で説明する図3(a)に示すように、分割領域1、特定領域2、分割領域3〜8に対して回路ブロックA,PLL,PLL−c,B〜Fを順に割り付けた組合せP1、回路ブロックD,PLL,F,A,E,B,PLL−c,Cを順に割り付けた組合せP2を、初代の組合せ(親の遺伝子集団)として設定する(図1のステップS5)。ここでは、簡単のために組合せの数は2組としたが、実際にはもっと多くなる。   Hereinafter, the genetic algorithm is applied with reference to FIGS. 3 and 4 to describe how n circuit blocks are arranged in n divided regions. The divided region corresponds to a gene locus, and the circuit block corresponds to a gene. First, as shown in FIG. 3A, which will be described later, the circuit blocks A, PLL, PLL-c, and B to F are sequentially assigned to the divided area 1, the specific area 2, and the divided areas 3 to 8. A combination P2 in which the combination P1, circuit block D, PLL, F, A, E, B, PLL-c, and C are assigned in order is set as an initial combination (parent gene group) (step S5 in FIG. 1). Here, for the sake of simplicity, the number of combinations is two.

ただし、回路ブロックPLLはマクロセル等の特殊セルであり、特定領域2に固定である。また、回路ブロックPLL−cは回路ブロックPLLと関係が密な回路ブロックであり、組合せP1ではその回路ブロックPLLの近くの分割領域3に配置されているが、組合せP2では離れた分割領域7に配置している。   However, the circuit block PLL is a special cell such as a macro cell and is fixed to the specific area 2. The circuit block PLL-c is a circuit block closely related to the circuit block PLL. In the combination P1, the circuit block PLL-c is arranged in the divided region 3 near the circuit block PLL. It is arranged.

次に、以上のようにして所定の分割領域1、特定領域2、分割領域3〜8に割り付けた各回路ブロックの評価(ただし、回路ブロックPLLを除く)を行う(図1のステップS6)。この評価は図4に示すような第1〜第3の制約条件で行う。   Next, each circuit block allocated to the predetermined divided area 1, the specific area 2, and the divided areas 3 to 8 is evaluated (except for the circuit block PLL) as described above (step S6 in FIG. 1). This evaluation is performed under the first to third constraints as shown in FIG.

第1の制約条件では、ひとつの例として回路ブロックA−B間、A−C間について説明すると、A−B間では配線数がX1(例えば10本)、A−C間ではX2(例えば5本)である場合等であり、このような信号線数をXとし、また、回路ブロック間の距離(中心点間の実測又はマンハッタン距離等)をYとすると、「f=X×(1/Y)」を評価関数として用いる。回路ブロック間の配線数が多いほど且つ距離が短いほど、評価fが高くなる。第2の制約条件では、当該回路ブロックへの供給電力量(電源線の幅、本数等で決まる。)が当該回路ブロックの消費電力量より大きいかどうかで評価し、「供給電力量>消費電力量」のとき評価を高く(プラス)する。第3の制約条件では、当該回路ブロックへの供給電力量と当該ブロックの消費電力量の比率「消費電力量/供給電力量」を求めて、これが小さいほど高い評価を与えるが、逆に例えば3%以上のバラツキがある場合は評価値を最低値とする。   In the first constraint, as an example, the circuit blocks A-B and A-C will be described. The number of wirings between A and B is X1 (for example, 10), and between A and C is X2 (for example, 5). The number of signal lines is X, and the distance between circuit blocks (actual measurement between the central points or Manhattan distance) is Y. “f = X × (1 / Y) "is used as the evaluation function. The evaluation f increases as the number of wirings between circuit blocks increases and the distance decreases. In the second constraint, an evaluation is made based on whether or not the amount of power supplied to the circuit block (determined by the width and number of power supply lines, etc.) is greater than the amount of power consumed by the circuit block. When “quantity”, the evaluation is increased (plus). In the third constraint condition, a ratio “power consumption / power supply amount” between the amount of power supplied to the circuit block and the power consumption of the block is obtained, and the smaller this is, the higher evaluation is given. If there is a variation of more than%, the evaluation value is the lowest value.

以上のようにして、複数の組合せ(P1,P2等)について評価して、各組合せのそれぞれの回路ブロックの評価の平均が、十分に高まるかあるいは最適解に収束したか否かを判定して(図1のステップS7)、それに該当する組合せがあればYESとして終了するが、NOの場合は次のステップS8にすすむ。   As described above, a plurality of combinations (P1, P2, etc.) are evaluated, and it is determined whether the average of the evaluation of each circuit block of each combination is sufficiently increased or converged to the optimal solution. (Step S7 in FIG. 1), if there is a combination corresponding to it, the process ends as YES, but if NO, the process proceeds to the next step S8.

このステップS8(淘汰)では、ステップS5で作成された複数の組合せについて、評価値の下位p%を削除することにより、淘汰を行う。そして、次のステップS9(増殖)において、評価値の上位p%の親の数を倍にして組合せの数を増やす。次に、以上の結果得られた優秀な組合せ(親)から、ステップS10(進化)において交叉若しくは突然変異により、新たな組合せ(子)を作成する。   In this step S8 (淘汰), 淘汰 is performed by deleting the lower p% of the evaluation values for the plurality of combinations created in step S5. Then, in the next step S9 (proliferation), the number of parents of the top p% of the evaluation value is doubled to increase the number of combinations. Next, a new combination (child) is created from the excellent combination (parent) obtained as a result of the above by crossover or mutation in step S10 (evolution).

ここで、図3の(a)によって、組合せ(親)P1,P2から1点交叉により2つの組合せ(子)Q1,Q2を作成する手法について説明する。なお、ここでは遺伝子で説明する。図5はそのフローチャートである。まず、親P1の前半部分を子Q1の前半部分にコピーし、親P2の前半部分を子Q2の前半部分にコピーする(ステップS21)。これにより、子Q1の前半部分には、「A,PLL,PLL−c,B」がコピーされ、子Q2の前半部分には「D,PLL,F,A」がコピーされる。   Here, a method of creating two combinations (children) Q1 and Q2 by one-point crossover from the combinations (parents) P1 and P2 will be described with reference to FIG. In addition, it demonstrates here with a gene. FIG. 5 is a flowchart thereof. First, the first half of parent P1 is copied to the first half of child Q1, and the first half of parent P2 is copied to the first half of child Q2 (step S21). Thus, “A, PLL, PLL-c, B” is copied to the first half of the child Q1, and “D, PLL, F, A” is copied to the first half of the child Q2.

次に、親P1の後半部分の遺伝子で且つ子Q2の前半部分に使われていない遺伝子を子Q2の後半部分にコピーし、親P2の後半部分の遺伝子で且つ子Q1の前半部分に使われていない遺伝子を子Q1の後半部分にコピーする(ステップS22)。これにより、子Q1の後半部分には、「E,*,*,C」がコピーされ、子Q2の後半部分には「C,*,E,*」がコピーされる。*は前半部分に使われていてコピーされない分割領域である。   Next, a gene in the second half of parent P1 and not used in the first half of child Q2 is copied to the second half of child Q2, and is used in the second half of parent P2 and in the first half of child Q1. A gene that has not been copied is copied to the second half of the child Q1 (step S22). As a result, “E, *, *, C” is copied to the second half of the child Q1, and “C, *, E, *” is copied to the second half of the child Q2. * Is a divided area that is used in the first half and is not copied.

次に、子Q1に格納されていない遺伝子を親P2の遺伝子座の小さい方から探し出して順に格納し、子Q2に格納されていない遺伝子を親P1の遺伝子座の小さい方から探し出して順に格納する(ステップS23)。これにより、子Q1の遺伝子座6にはDが、遺伝子座7にはFが格納され、子Q2の遺伝子座6にはPLL−cが、遺伝子座8にはBが格納される。以上のようにして、親P1,P2から、その後半部分を変化させた子Q1,Q2が作成される。   Next, genes that are not stored in the child Q1 are searched for from the smaller locus of the parent P2 and stored in order, and genes that are not stored in the child Q2 are searched for from the smaller locus of the parent P1 and stored in order. (Step S23). Thereby, D is stored in the locus 6 of the child Q1, F is stored in the locus 7, PLL-c is stored in the locus 6 of the child Q2, and B is stored in the locus 8. As described above, children Q1 and Q2 in which the latter half of the parent P1 and P2 are changed are created.

突然変異の場合は、親P1の一部の遺伝子を交互に入れ替えて子Q3を作成する。図3(b)の例では、親P1の遺伝子PLL−cとDを入れ替えて、子Q3を作成している。   In the case of mutation, a child Q3 is created by alternately exchanging some genes of the parent P1. In the example of FIG. 3B, the child P3 is created by exchanging the genes PLL-c and D of the parent P1.

以上のようにしてステップS10において、交叉あるいは突然変異により新たな複数の組合せを作成した後は、再度ステップS6に戻って、各組合せについて各回路ブロックの評価を行い、ステップS7で判定する。ステップS6〜S10の一巡を1世代として、複数世代を処理することにより、比較的迅速にステップS7で全回路ブロックの評価の平均値が十分高まり、あるいは最適解に収束した1つの組合せを得ることができる。   After creating a plurality of new combinations by crossover or mutation in step S10 as described above, the process returns to step S6 again to evaluate each circuit block for each combination, and the determination is made in step S7. By processing a plurality of generations with one round of steps S6 to S10 as one generation, the average value of the evaluation of all circuit blocks is sufficiently increased in step S7, or one combination converged to the optimal solution is obtained relatively quickly. Can do.

本発明の自動配置配線方法の実施例1のフローチャートである。It is a flowchart of Example 1 of the automatic placement and routing method of the present invention. 半導体集積回路の配置領域の分割の説明図である。It is explanatory drawing of the division | segmentation of the arrangement | positioning area | region of a semiconductor integrated circuit. 遺伝的アルゴリズムの交叉と突然変異の説明図である。It is explanatory drawing of crossover and mutation of a genetic algorithm. 遺伝的アルゴリズムにおける評価のための制約条件の説明図である。It is explanatory drawing of the constraint conditions for evaluation in a genetic algorithm. 遺伝的アルゴリズムにおける交叉のフローチャートである。It is a flowchart of crossover in a genetic algorithm.

符号の説明Explanation of symbols

1,3〜8:分割領域(遺伝子座)
2:特定領域(遺伝子座)
A〜F:回路ブロック(遺伝子)
PLL:特殊セル(遺伝子)
PLL−c:特殊セルPLLと関係の深い回路ブロック(遺伝子)
P1,P2:回路ブロックの組合せ(親の遺伝子集団)
Q1〜Q3:回路ブロックの組合せ(子の遺伝子集団)
1, 3-8: Divided region (locus)
2: Specific region (locus)
A to F: circuit block (gene)
PLL: Special cell (gene)
PLL-c: Circuit block (gene) closely related to the special cell PLL
P1, P2: Combination of circuit blocks (parent gene group)
Q1-Q3: Combination of circuit blocks (child gene group)

Claims (4)

記憶装置を備えたコンピュータにより、該記憶装置から少なくとも1つのマクロセル、ソフトマクロ展開されたセル群あるいはスキューが問題となるセル群等の特殊セルおよび複数の標準セルを読み出し、該特殊セルおよび該標準セル並びに電源線を配置配線して半導体集積回路のレイアウトを作成する自動配置配線方法において、
前記半導体集積回路の配置領域における特定領域に前記特殊セルを配置する第1のステップと、
前記特殊セルに電源供給を行う第1の電源線を前記配置領域に配置配線する第2のステップと、
前記特殊セルの消費電流および前記第1の電源線とバランスがとれるように、前記配置領域の内の前記特定領域以外の領域を分割してn個の分割領域を形成し、電源線を配置配線する第3のステップと、
前記半導体集積回路からなる論理回路の内の前記特殊セルによる回路を除く回路を論理的な結び付きに応じて分割してn個の回路ブロックを形成する第4のステップと、
前記論理回路の論理的な結び付きおよび前記n個の分割領域に供給される電流供給量に応じて、前記n個の分割領域に対して前記n個の回路ブロックを配置する第5のステップと、
を具備することを特徴とする自動配置配線方法。
A computer having a storage device reads out from the storage device at least one macro cell, a soft macro expanded cell group, or a special cell such as a cell group having a skew problem and a plurality of standard cells, and the special cell and the standard In an automatic placement and routing method for creating a layout of a semiconductor integrated circuit by arranging and wiring cells and power supply lines,
A first step of disposing the special cell in a specific region in the disposition region of the semiconductor integrated circuit;
A second step of arranging and wiring a first power supply line for supplying power to the special cell in the arrangement region;
In order to balance the current consumption of the special cell and the first power supply line, an area other than the specific area in the arrangement area is divided to form n divided areas, and the power supply lines are arranged and wired. A third step,
A fourth step of dividing a circuit excluding the circuit by the special cell in the logic circuit composed of the semiconductor integrated circuit to form n circuit blocks by dividing according to a logical connection;
A fifth step of arranging the n circuit blocks in the n divided regions according to a logical connection of the logic circuits and a current supply amount supplied to the n divided regions;
An automatic placement and routing method comprising:
請求項1に記載の自動配置配線方法において、
前記第3のステップにおける前記n個の分割領域の形成および前記第4のステップにおける前記n個の回路ブロックの形成は、前記n個の回路ブロックを構成する前記標準セルおよび前記n個の回路ブロックの消費電流、並びに前記n個の分割領域に配置配線する電源線の配線長および配線幅に応じて行うことを特徴とする自動配置配線方法。
In the automatic placement and routing method according to claim 1,
The formation of the n divided regions in the third step and the formation of the n circuit blocks in the fourth step are performed by the standard cell and the n circuit blocks constituting the n circuit blocks. The automatic placement and routing method is performed according to the current consumption and the wiring length and the wiring width of the power supply lines arranged and wired in the n divided regions.
請求項1又は2に記載の自動配置配線方法において、
前記第5のステップは、前記n個の分割領域を遺伝子座とし、前記n個の回路ブロックを遺伝子として、前記n個の回路ブロック相互間および前記n個の回路ブロックと前記特殊セルとの関係の緊密度、前記n個の回路ブロックに供給される供給電力量と前記n個の回路ブロックでの消費電流量との関係を制約条件として、前記n個の分割領域に対する前記n個の回路ブロックの最適な割り付けを遺伝的アルゴリズムにより行うことを特徴とする自動配置配線方法。
In the automatic placement and routing method according to claim 1 or 2,
In the fifth step, the n divided regions are used as loci, the n circuit blocks are used as genes, and the relationship between the n circuit blocks and between the n circuit blocks and the special cell. The n circuit blocks for the n divided regions are constrained by the relationship between the tightness of power and the amount of power supplied to the n circuit blocks and the amount of current consumed by the n circuit blocks. An automatic placement and routing method characterized in that the optimal allocation of a signal is performed by a genetic algorithm.
請求項3に記載の自動配置配線方法において、
前記遺伝的アルゴリズムは、前記n個の分割領域に対する前記n個の回路ブロックの割り付けの組合せを複数作成し、各組合せにおける各回路ブロックを前記制約条件により評価し、該評価結果に応じて淘汰、増殖、進化を繰り返して前記制約条件をほぼ満たす最適な1つの組合せを選定することを特徴とする自動配置配線方法。
In the automatic placement and routing method according to claim 3,
The genetic algorithm creates a plurality of combinations of the allocation of the n circuit blocks for the n divided regions, evaluates each circuit block in each combination according to the constraint condition, and determines according to the evaluation result, An automatic placement and routing method characterized by selecting one optimal combination that substantially satisfies the constraint conditions by repeating multiplication and evolution.
JP2003391222A 2003-11-20 2003-11-20 Automatic arranging and wiring method Pending JP2005157487A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003391222A JP2005157487A (en) 2003-11-20 2003-11-20 Automatic arranging and wiring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003391222A JP2005157487A (en) 2003-11-20 2003-11-20 Automatic arranging and wiring method

Publications (1)

Publication Number Publication Date
JP2005157487A true JP2005157487A (en) 2005-06-16

Family

ID=34718351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003391222A Pending JP2005157487A (en) 2003-11-20 2003-11-20 Automatic arranging and wiring method

Country Status (1)

Country Link
JP (1) JP2005157487A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134498A (en) * 2008-12-02 2010-06-17 Fujitsu Microelectronics Ltd Integrated circuit design program, integrated circuit design device and integrated circuit design method
US8468485B2 (en) 2010-06-08 2013-06-18 Fujitsu Semiconductor Limited Integrated circuit, integrated circuit design device and integrated circuit design method
WO2023119636A1 (en) * 2021-12-24 2023-06-29 株式会社オンテック Printed board design device and printed circuit design program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134498A (en) * 2008-12-02 2010-06-17 Fujitsu Microelectronics Ltd Integrated circuit design program, integrated circuit design device and integrated circuit design method
US8468485B2 (en) 2010-06-08 2013-06-18 Fujitsu Semiconductor Limited Integrated circuit, integrated circuit design device and integrated circuit design method
WO2023119636A1 (en) * 2021-12-24 2023-06-29 株式会社オンテック Printed board design device and printed circuit design program

Similar Documents

Publication Publication Date Title
JP4719265B2 (en) System and method for probabilistic interconnect structure design
US9236343B2 (en) Architecture of spare wiring structures for improved engineering change orders
JP4761859B2 (en) Layout design method for semiconductor integrated circuit
US20070033562A1 (en) Integrated circuit power distribution layout with sliding grids
WO2007120879A2 (en) Placement-driven physical-hierarchy generation
CN108228955B (en) Layout system and layout method of semiconductor device
US11030383B2 (en) Integrated device and method of forming the same
JP2012048702A (en) Apparatus and method for designing semiconductor device, and semiconductor device
JPH08221451A (en) Layout design method for data path circuit
Chen et al. Global and detailed routing
JP2017123010A (en) Semiconductor design support device and semiconductor design support method
JP2008021001A (en) Pattern correction device, pattern optimization device, and integrated circuit design device
JP2005157487A (en) Automatic arranging and wiring method
US6938232B2 (en) Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks
KR20180028252A (en) Integrated Circuit Designing System and Method of Manufacturing Integrated Circuit
JP2007258215A (en) Program, apparatus and method of cell arrangement
JP4087629B2 (en) Layout design method and data library providing method
WO2014195806A2 (en) Methods and systems for insertion of spare wiring structures for improved engineering change orders
JP3554479B2 (en) Automatic placement and routing method and automatic placement and routing device
JP2008310527A (en) Layout design device and layout design method for semiconductor integrated circuit
JP3804901B2 (en) Arrangement apparatus and method for arranging circuit elements
JP2001308190A (en) Layout method for semiconductor integrated circuit
JP4806535B2 (en) Spare cell set placement method
JP2006331006A (en) Method for suppressing wiring congestion of lsi layout
JP2022111414A (en) Printed circuit board design program, printed circuit board design method, and printed circuit board design device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090915