







本発明は、回路設計方法及び回路設計支援装置に関するものである。 The present invention relates to a circuit design method and a circuit design support apparatus.
LSIのレイアウトにおいては、チップ内に散在するフリップフロップ等の複数の論理回路間に供給されるクロック信号の位相ずれ(クロックスキュー)を小さくするために、クロックツリー合成(クロックツリーシンセシス)が用いられている。 In an LSI layout, clock tree synthesis (clock tree synthesis) is used to reduce the phase shift (clock skew) of clock signals supplied between a plurality of logic circuits such as flip-flops scattered in a chip. ing.
従来のクロックツリー合成方法としては、例えば、基本回路セルを配置し、クロックネット合成によりクロックネットにバッファを挿入・配置し、配線を行い、実配線から配線抵抗・配線容量を考慮しての遅延計算を行い、遅延計算結果に基づいて既に配置済みのバッファを特性(ドライブ能力やセル内遅延時間)が異なるバッファに置換するものが知られている(例えば特許文献1参照)。特性が異なるバッファとは例えば複数のバッファを縦列接続又は並列接続したものである。 As a conventional clock tree synthesis method, for example, a basic circuit cell is placed, a buffer is inserted and placed in the clock net by clock net synthesis, wiring is performed, and the delay considering the wiring resistance / capacitance from the actual wiring It is known to perform calculation and replace a buffer that has already been arranged based on the delay calculation result with a buffer having different characteristics (drive capability and intra-cell delay time) (see, for example, Patent Document 1). The buffers having different characteristics are, for example, a plurality of buffers connected in cascade or in parallel.
クロックツリー合成はゼロスキュー(各セルまでの遅延を一定にする)を目標とするが、完全にゼロスキューとすることは困難であるため、ある範囲でのスキューは許容するように設定される。スキューは各セルまでのパスの最小遅延及び最大遅延で決定される。最小遅延、最大遅延を有するパス以外のパスの遅延は許容スキュー範囲に含まれていればどのような値でも良い。しかし、クロックツリー合成がゼロスキューを目標としているため、パスの遅延分布は、特定の遅延付近に集中するような分布となる。 The clock tree synthesis targets zero skew (constant delay to each cell). However, since it is difficult to achieve zero skew completely, skew within a certain range is set to be allowed. The skew is determined by the minimum delay and the maximum delay of the path to each cell. The delay of a path other than the path having the minimum delay and the maximum delay may be any value as long as it is included in the allowable skew range. However, since the clock tree synthesis is aimed at zero skew, the delay distribution of the path is a distribution that concentrates around a specific delay.
  スキューを規定するパス(最大遅延パス、最小遅延パス)以外のパスは必要以上に遅延調整されており、不要なバッファの挿入、迂回配線が行われている。このような不要バッファ、迂回配線は回路の混雑度を上昇させ、後工程(信号配線等)を困難にし、設計期間を増加させるという問題を有する。
本発明は回路の混雑度を低減し、回路設計期間を短縮することができる回路設計方法及び回路設計支援装置を提供することを目的とする。 It is an object of the present invention to provide a circuit design method and a circuit design support apparatus that can reduce the degree of circuit congestion and shorten the circuit design period.
本発明の一態様による回路設計支援装置は、素子及び素子間の接続に関する回路設計情報を格納する回路情報格納部と、前記回路設計情報に基づき素子配置領域に前記素子を配置する配置部と、所定のタイミング制約を満たすように前記素子へのクロック配線を行う配線部と、クロックツリーにおける最大遅延時間及び最小遅延時間、各サブツリーにおける最大遅延時間及び最小遅延時間、及び前記各サブツリーまでの遅延時間に基づいて前記各サブツリーの遅延時間変動余裕度を算出する遅延分布抽出部と、各サブツリーに対しクロックレイアウトの変更を行った場合の前記遅延時間変動余裕度及び回路混雑度の低減度を算出し、この遅延時間変動余裕度及び回路混雑度の低減度に基づいてクロックレイアウトの変更を行うか否か判定するサブツリー判定部と、前記サブツリー判定部によりクロックレイアウトの変更を行うと判定されたサブツリーに対し、遅延時間が所定範囲内となるようにクロックレイアウトの変更を行うレイアウト変更部と、を備えるものである。 A circuit design support apparatus according to an aspect of the present invention includes a circuit information storage unit that stores circuit design information related to elements and connections between the elements, an arrangement unit that arranges the elements in an element arrangement region based on the circuit design information, A wiring unit that performs clock wiring to the element so as to satisfy a predetermined timing constraint, a maximum delay time and a minimum delay time in the clock tree, a maximum delay time and a minimum delay time in each subtree, and a delay time to each subtree A delay distribution extraction unit that calculates a delay time variation margin of each subtree based on the subtree, and calculates the delay time variation margin and the degree of circuit congestion reduction when the clock layout is changed for each subtree. Then, it is determined whether or not to change the clock layout based on the delay time variation allowance and the reduction degree of the circuit congestion. And a layout changing unit that changes the clock layout so that the delay time is within a predetermined range for the subtree determined to be changed by the subtree determining unit. .
本発明の一態様による回路設計方法は、素子及び素子間の接続に関する回路設計情報に基づき素子配置領域に前記素子を配置するステップと、所定のタイミング制約を満たすように前記素子へのクロック配線を行うステップと、クロックツリーにおける最大遅延時間及び最小遅延時間、各サブツリーにおける最大遅延時間及び最小遅延時間、及び前記各サブツリーまでの遅延時間に基づいて前記各サブツリーの遅延時間変動余裕度を算出するステップと、各サブツリーに対しクロックレイアウトの変更を行った場合の前記遅延時間変動余裕度及び回路混雑度の低減度を算出し、この遅延時間変動余裕度及び回路混雑度の低減度に基づいてクロックレイアウトの変更を行うか否か判定するステップと、前記クロックレイアウトの変更を行うと判定されたサブツリーに対し、遅延時間が所定範囲内となるようにバッファの削除、バッファのサイズ変更、及び迂回配線の再配線を行うステップと、を有するものである。 A circuit design method according to an aspect of the present invention includes a step of arranging the elements in an element arrangement region based on circuit design information relating to the elements and connections between the elements, and a clock wiring to the elements so as to satisfy a predetermined timing constraint. And calculating a delay time variation margin of each subtree based on the maximum delay time and minimum delay time in the clock tree, the maximum delay time and minimum delay time in each subtree, and the delay time up to each subtree. And calculating the delay time variation margin and the reduction degree of the circuit congestion degree when the clock layout is changed for each subtree, and the clock layout based on the delay time fluctuation margin and the reduction degree of the circuit congestion degree. Determining whether or not to change the clock layout, and determining that the clock layout is to be changed. To subtree, those with deletion of the buffer so that the delay time is within a predetermined range, a step of performing rewiring resizing buffer, and bypass wiring, a.
本発明によれば、回路の混雑度を低減し、回路設計期間を短縮することができる。 ADVANTAGE OF THE INVENTION According to this invention, the congestion degree of a circuit can be reduced and a circuit design period can be shortened.
以下、本発明の実施の形態による回路設計方法及び回路設計支援装置を図面に基づいて説明する。 Hereinafter, a circuit design method and a circuit design support apparatus according to embodiments of the present invention will be described with reference to the drawings.
  図1に本発明の実施形態に係る回路設計支援装置の概略構成を示す。回路設計支援装置は演算装置1、記憶装置2、制御装置3を備え、表示装置4及び入出力装置5に接続されている。記憶装置2は回路情報格納部21、チップ情報格納部22、回路図データ格納部23、セル情報格納部24、サブツリー余裕度格納部25を有する。  FIG. 1 shows a schematic configuration of a circuit design support apparatus according to an embodiment of the present invention. The circuit design support device includes an arithmetic device 1, a
  回路情報格納部21は、チップに配置される論理ゲートや記憶素子(フリップフロップやラッチ)等の素子情報や各素子の接続情報(ネットリスト)等の回路設計情報を格納する。  The circuit
  チップ情報格納部22は、素子が配置されるチップのサイズ等の情報を格納する。回路図データ格納部23は、素子が配置されたチップ情報である回路図データを格納する。セル情報格納部24は、素子に対応付けられた属性値等の情報を格納する。サブツリー余裕度格納部25は各サブツリーの余裕度(遅延時間変動余裕度)を格納する。  The chip
余裕度とは「サブツリー内のパスのうち最大遅延及び最小遅延」と、「クロックツリー内のパスのうち最大遅延及び最小遅延からサブツリーまでの遅延を引いた値」との差である。 The margin is a difference between “the maximum delay and the minimum delay among the paths in the subtree” and “a value obtained by subtracting the delay to the subtree from the maximum delay and the minimum delay among the paths in the clock tree”.
例えば、図2に示すように、抽出されたサブツリーST1に含まれる複数のパスのうち、最小遅延パスの遅延時間が0.2ns、最大遅延パスの遅延時間が0.4ns、このサブツリーST1までの遅延時間、すなわちクロックツリーの頂点N1からサブツリーST1の頂点N2までの遅延時間(クロック信号伝播時間)が0.4nsとする。また、クロックツリー全体におけるパスのうち最小遅延パスの遅延時間が0.5ns、最大遅延パスの遅延時間が1.5ns、つまり許容遅延時間範囲が0.5ns〜1.5nsであるとする。 For example, as shown in FIG. 2, among the plurality of paths included in the extracted subtree ST1, the delay time of the minimum delay path is 0.2 ns, the delay time of the maximum delay path is 0.4 ns, The delay time, that is, the delay time (clock signal propagation time) from the vertex N1 of the clock tree to the vertex N2 of the subtree ST1 is 0.4 ns. Further, it is assumed that the delay time of the minimum delay path among the paths in the entire clock tree is 0.5 ns, the delay time of the maximum delay path is 1.5 ns, that is, the allowable delay time range is 0.5 ns to 1.5 ns.
このとき、頂点N1から見たサブツリーST1内のパスの遅延分布は0.6(=0.2+0.4)〜0.8(0.6+0.2)nsである。従って、クロックツリーの許容遅延時間範囲に収まるような遅延時間の変動範囲は遅延時間を小さくする方向に0.1ns、遅延時間を大きくする方向に0.7nsとなり、余裕度は(0.1、0.7)となる。 At this time, the delay distribution of the path in the subtree ST1 viewed from the vertex N1 is 0.6 (= 0.2 + 0.4) to 0.8 (0.6 + 0.2) ns. Therefore, the variation range of the delay time that falls within the allowable delay time range of the clock tree is 0.1 ns in the direction of decreasing the delay time, 0.7 ns in the direction of increasing the delay time, and the margin is (0.1, 0.7).
  演算装置1は自動配置部11、配線部12、クロックツリー合成部13、遅延分布抽出部14、サブツリー判定部15、レイアウト変更部16を有する。  The arithmetic device 1 includes an
  自動配置部11は、回路設計情報、チップ情報、セル情報等に基づいて素子の自動配置を行う。配線部12は素子間のクロック配線を行う。素子の自動配置、クロック配線は公知の自動配置配線ツールを用いて行うことが出来る。  The
  クロックツリー合成部13は、所定のタイミング制約を満たすようにクロックバッファの挿入や迂回配線を行う。遅延分布抽出部14はサブツリーの遅延分布を求める。また、各サブツリーの余裕度を求め、サブツリー余裕度格納部25に格納する。  The clock
  サブツリー判定部15は、クロックツリーに含まれる複数のサブツリーそれぞれに対してレイアウト変更を行った場合の余裕度と混雑度低減度を算出する。  The
混雑度は後工程で信号線等を配線できる面積等に基づく値であり、この面積が小さい程、混雑度は大きい値となる。 The degree of congestion is a value based on an area where signal lines and the like can be wired in a later process. The smaller the area, the larger the degree of congestion.
余裕度に負の値が含まれておらず、かつ混雑度低減度が所定値以上であればそのサブツリーに対してレイアウト変更を行うと判定する。 If the margin does not include a negative value and the degree of congestion reduction is equal to or greater than a predetermined value, it is determined that the layout is changed for the subtree.
一方、余裕度に負の値が含まれている場合は、サブツリーに含まれるパスのうち最大遅延パス又は最小遅延パスの遅延時間がクロックツリーの許容遅延時間範囲から外れることを意味するので、レイアウト変更は行わないと判定する。また、混雑度低減度が所定値未満の場合もレイアウト変更を行わないと判定する。 On the other hand, if the margin includes a negative value, it means that the delay time of the maximum delay path or the minimum delay path out of the paths included in the subtree is out of the allowable delay time range of the clock tree. It is determined that no change is made. It is also determined that the layout is not changed when the degree of congestion reduction is less than a predetermined value.
  レイアウト変更を行うか否かの判定を行うサブツリーはサブツリー余裕度格納部25に格納された各サブツリーの余裕度を参照し、余裕度の大きい順に行うようにしても良い。余裕度が大きい方がレイアウト変更後の余裕度に負の値が含まれることが少ないためである。  The subtree for determining whether or not to change the layout may be performed in the descending order of the margin by referring to the margin of each subtree stored in the subtree
  レイアウト変更部16は、レイアウト変更を行うと判定されたサブツリーに対して、レイアウト変更を行う。レイアウト変更はバッファの削除、バッファのリサイズ、迂回配線の再配線である。  The
「バッファの削除」とは、それを削除しても遅延時間が許容遅延時間範囲内に収まるような過剰(無駄)なバッファを削除することである。 “Deleting a buffer” means deleting an excessive (waste) buffer whose delay time is within the allowable delay time range even if it is deleted.
例えば図3(a)に示すように、バッファb1、b2を介してクロック信号が1.3ns遅延して供給される回路ブロックC1とバッファb3、b4を介してクロック信号が1.5ns遅延して供給される回路ブロックC2を有するサブツリーがあり(つまり回路ブロックC1とC2のスキューは0.2ns)、このサブツリーの余裕度が(0.4、0.1)、つまり許容遅延時間が0.9ns(=1.3−0.4)〜1.6ns(=1.5+0.1)であるとする。 For example, as shown in FIG. 3A, the clock signal is delayed by 1.5 ns via the circuit block C1 and the buffers b3 and b4 supplied with a clock signal delayed by 1.3 ns through the buffers b1 and b2. There is a subtree having a circuit block C2 to be supplied (that is, the skew between the circuit blocks C1 and C2 is 0.2 ns), and the margin of this subtree is (0.4, 0.1), that is, the allowable delay time is 0.9 ns. It is assumed that (= 1.3−0.4) to 1.6 ns (= 1.5 + 0.1).
ここで、図3(b)に示すようにバッファb4を削除し、回路ブロックC2にクロック信号を1.0ns遅延して供給するようにした場合、回路ブロックC1とC2のスキューは0.3nsとなり、図3(a)の時よりもスキューが増加する。しかし、許容遅延時間範囲は0.9〜1.6nsであるため、許容遅延時間範囲に収まっている。つまりバッファb4を削除しても回路動作には影響がなく、バッファb4を削除した分このサブツリーの混雑度を低減することが出来る。 If the buffer b4 is deleted and the clock signal is supplied to the circuit block C2 with a delay of 1.0 ns as shown in FIG. 3B, the skew between the circuit blocks C1 and C2 becomes 0.3 ns. The skew increases compared to the case of FIG. However, since the allowable delay time range is 0.9 to 1.6 ns, it is within the allowable delay time range. That is, even if the buffer b4 is deleted, the circuit operation is not affected, and the degree of congestion of this subtree can be reduced by the amount of the buffer b4 deleted.
バッファの削除では、このバッファb4のような、許容遅延時間範囲内に収まる上で不要なバッファを削除し、回路の混雑度を低くする。 In the buffer deletion, an unnecessary buffer such as the buffer b4 within the allowable delay time range is deleted to reduce the degree of circuit congestion.
「バッファのリサイズ」とは、そのサイズを小さくして遅延時間を小さくしてもスキューが許容スキュー範囲内に収まるような過度(無駄)にサイズの大きいバッファを、サイズの小さいバッファに変更することである。 "Resize buffer" means changing an excessively large buffer to a smaller buffer so that the skew is within the allowable skew range even if the delay time is reduced by reducing the size of the buffer. It is.
例えば図4(a)に示すように、バッファb5、b6を介してクロック信号が1.3ns遅延して供給される回路ブロックC3とバッファb7、b8を介してクロック信号が1.5ns遅延して供給される回路ブロックC4を有するサブツリーがあり(つまり回路ブロックC3とC4のスキューは0.2ns)、このサブツリーの余裕度が(0.4、0.1)、つまり許容遅延時間が0.9ns〜1.6nsであるとする。 For example, as shown in FIG. 4A, the clock signal is delayed by 1.5 ns via the circuit block C3 and the buffers b7 and b8, which are supplied with a clock signal delayed by 1.3 ns through the buffers b5 and b6. There is a subtree having a circuit block C4 to be supplied (that is, the skew between the circuit blocks C3 and C4 is 0.2 ns), the margin of this subtree is (0.4, 0.1), that is, the allowable delay time is 0.9 ns. Suppose that it is -1.6ns.
ここで、図4(b)に示すように、バッファb8をサイズの小さいバッファb9に変更し、回路ブロックC4にクロック信号を1.0ns遅延して供給するようにした場合、回路ブロックC3とC4のスキューは0.3nsとなり、図4(a)の時よりもスキューが増加する。しかし、許容遅延時間範囲は0.9〜1.6nsであるため、許容遅延時間範囲に収まっている。つまりバッファb8をサイズの小さいバッファb9に置換しても回路動作には影響がなく、バッファサイズを小さくした分このサブツリーの混雑度を低減することが出来る。 Here, as shown in FIG. 4B, when the buffer b8 is changed to a small buffer b9 and the clock signal is supplied to the circuit block C4 with a delay of 1.0 ns, the circuit blocks C3 and C4 The skew becomes 0.3 ns, which is larger than that in the case of FIG. However, since the allowable delay time range is 0.9 to 1.6 ns, it is within the allowable delay time range. That is, even if the buffer b8 is replaced with a small buffer b9, the circuit operation is not affected, and the degree of congestion of the subtree can be reduced by reducing the buffer size.
バッファのリサイズでは、このバッファb8のような、許容遅延時間範囲に収まる上で不必要にサイズの大きいバッファのサイズを小さくし、回路の混雑度を低くする。 In the resizing of the buffer, the size of the buffer that is unnecessarily large within the allowable delay time range such as the buffer b8 is reduced to reduce the degree of congestion of the circuit.
また、「バッファの削除」と「バッファのリサイズ」を併せるようにしても良い。例えば図5(a)に示すように、バッファb10、b11を介してクロック信号が1.3ns遅延して供給される回路ブロックC5とバッファb12、b13を介してクロック信号が1.5ns遅延して供給される回路ブロックC6を有するサブツリーがあり(つまり回路ブロックC5とC6のスキューは0.2ns)、このサブツリーの余裕度が(0.4、0.1)、つまり許容遅延時間が0.9ns〜1.6nsであるとする。 Further, “buffer deletion” and “buffer resizing” may be combined. For example, as shown in FIG. 5A, the clock signal is delayed by 1.5 ns via the circuit block C5 and the buffers b12 and b13 supplied with a clock signal delayed by 1.3 ns through the buffers b10 and b11. There is a subtree having a circuit block C6 to be supplied (that is, the skew between the circuit blocks C5 and C6 is 0.2 ns), the margin of this subtree is (0.4, 0.1), that is, the allowable delay time is 0.9 ns. Suppose that it is -1.6ns.
ここで、図5(b)に示すように、2つのバッファb12、b13を1つのバッファb14(但し、バッファb12、b13のサイズ<バッファb14のサイズ<バッファb12とb13のサイズの和)に変更し、回路ブロックC6にクロック信号を1.0ns遅延して供給するようにした場合、回路ブロックC5とC6のスキューは0.3nsとなり、図5(a)の時よりもスキューが増加する。しかし、許容遅延時間範囲は0.9〜1.6nsであるため、許容遅延時間範囲に収まっている。つまりバッファb12、b13をまとめて1つのバッファb14に置換しても回路動作には影響がなく、合計バッファサイズを小さくした分このサブツリーの混雑度を低減することが出来る。 Here, as shown in FIG. 5B, the two buffers b12 and b13 are changed to one buffer b14 (however, the size of the buffers b12 and b13 <the size of the buffer b14 <the sum of the sizes of the buffers b12 and b13). When the clock signal is supplied to the circuit block C6 with a delay of 1.0 ns, the skew between the circuit blocks C5 and C6 becomes 0.3 ns, and the skew increases as compared with the case of FIG. However, since the allowable delay time range is 0.9 to 1.6 ns, it is within the allowable delay time range. That is, even if the buffers b12 and b13 are collectively replaced with one buffer b14, the circuit operation is not affected, and the degree of congestion of this subtree can be reduced by reducing the total buffer size.
「迂回配線の再配線」とは、配線を迂回させ遅延時間を確保している配線(迂回配線)のうち、迂回を小さくして遅延時間を短くしてもスキューが許容スキュー範囲内に収まるような過剰(無駄)な迂回をしている迂回配線の迂回を小さくするように配線し直すことである。例えば迂回配線を最短経路配線に再配線する。 “Rerouting of detour wiring” means that, among the wiring that bypasses the wiring and secures the delay time (detour wiring), even if the detour is shortened and the delay time is shortened, the skew is within the allowable skew range. In other words, the wiring is re-routed so as to reduce the detour of the detour wiring that makes excessive (waste) detouring. For example, the detour wiring is rewired to the shortest path wiring.
例えば図6(a)に示すように、 バッファb15を介してクロック信号が1.3ns遅延して供給される回路ブロックC7とバッファb16、迂回配線L1を介してクロック信号が1.5ns遅延して供給される回路ブロックC8を有するサブツリーがあり(つまり回路ブロックC7とC8のスキューは0.2ns)、このサブツリーの余裕度が(0.4、0.1)、つまり許容遅延時間が0.9ns〜1.6nsであるとする。 For example, as shown in FIG. 6A, the clock signal is delayed by 1.5 ns via the circuit block C7 and the buffer b16, which are supplied with a clock signal delayed by 1.3 ns through the buffer b15, and the bypass line L1. There is a subtree having a circuit block C8 to be supplied (that is, the skew between the circuit blocks C7 and C8 is 0.2 ns), and the margin of this subtree is (0.4, 0.1), that is, the allowable delay time is 0.9 ns. Suppose that it is -1.6ns.
ここで、図6(b)に示すように、迂回配線L1を迂回が小さく(遅延時間が短く)なるような最短経路配線L2に配線し直し、回路ブロックC8にクロック信号を1.0ns遅延して供給するようにした場合、回路ブロックC7とC8のスキューは0.3nsとなり、図6(a)の時よりもスキューが増加する。しかし、許容遅延時間範囲は0.9〜1.6nsであるため、許容遅延時間範囲に収まっている。つまり迂回配線L1を最短経路配線L2に変更しても回路動作には影響がなく、配線の迂回を小さくした分このサブツリーの混雑度を低減することが出来る。 Here, as shown in FIG. 6B, the bypass wiring L1 is re-routed to the shortest path wiring L2 that makes the bypass small (the delay time is short), and the clock signal is delayed by 1.0 ns to the circuit block C8. In this case, the skew between the circuit blocks C7 and C8 is 0.3 ns, which is larger than that in the case of FIG. However, since the allowable delay time range is 0.9 to 1.6 ns, it is within the allowable delay time range. That is, even if the detour line L1 is changed to the shortest path line L2, the circuit operation is not affected, and the degree of congestion of the subtree can be reduced by reducing the detour of the line.
迂回配線の再配線では、この迂回配線L1のような、許容遅延時間範囲に収まる上で不必要に迂回をして遅延時間を確保している配線を迂回が小さく(遅延時間が短く)なるように配線し直して、回路の混雑度を低くする。 In the rerouting of the detour wiring, the detour is small (delay time is short) for the wiring that is within the allowable delay time range and that is unnecessarily detoured to secure the delay time, such as the detour wiring L1. Rewiring to reduce circuit congestion.
制御装置3はデータ転送制御を行う。表示装置4は、論理ゲートや記憶素子の配置、配線等が行われた回路図を表示する。入出力装置5は、ユーザからのタイミング制約等の指示入力や回路図データの外部への出力などを行う。 The control device 3 performs data transfer control. The display device 4 displays a circuit diagram in which logic gates and storage elements are arranged and wired. The input / output device 5 inputs instructions such as timing constraints from the user and outputs circuit diagram data to the outside.
本実施形態による回路設計支援装置によれば許容遅延時間範囲を満たす上で不要なバッファの削除、不要に大きいバッファサイズの低減、不要に迂回した配線の再配線を行う。これにより、回路の混雑度が低減され、後工程(信号線の配線等)が容易になり、回路設計期間を短縮することができる。 The circuit design support apparatus according to the present embodiment deletes unnecessary buffers to satisfy the allowable delay time range, reduces an unnecessarily large buffer size, and rewirings unnecessarily bypassed wires. As a result, the degree of circuit congestion is reduced, post-processing (such as signal line wiring) is facilitated, and the circuit design period can be shortened.
  本実施形態による回路設計方法を図7に示すフローチャートを用いて説明する。
  (ステップS701)自動配置部11により素子が自動配置される。
  (ステップS702)配線部12により配線処理が行われ、クロックツリー合成部13によりタイミング制約を満たすようにクロックツリーが構成される。
  (ステップS703)遅延分布抽出部14により各サブツリーの遅延分布及び余裕度が算出される。
  (ステップS704)サブツリー判定部15により、レイアウト変更(バッファの削除、バッファのリサイズ、迂回配線の再配線)を行った場合の各サブツリーの余裕度と、混雑度低減度が算出される。
  (ステップS705)レイアウト変更後の余裕度に負の値がなく、かつ混雑度低減度が所定値以上のサブツリーがある場合はステップS706へ進む。無い場合は処理を終了する。
  (ステップS706)サブツリーに対してレイアウト変更部16によりレイアウト変更(バッファの削除、バッファのリサイズ、迂回配線の再配線)が行われる。The circuit design method according to the present embodiment will be described with reference to the flowchart shown in FIG.
 (Step S701) The
 (Step S <b> 702) The wiring process is performed by the
 (Step S703) The delay
 (Step S704) The
 (Step S705) If there is no negative value in the margin after the layout change and there is a subtree whose degree of congestion reduction is equal to or greater than a predetermined value, the process proceeds to step S706. If not, the process ends.
 (Step S706) The
ステップS701、S702ではゼロスキューを目標としてクロックレイアウトを行うため、ステップS702終了時におけるサブツリー内のパスの遅延分布は、図8(a)に示すように特定の遅延(図中d1)に集中するような分布になる。 Since clock layout is performed with zero skew as a target in steps S701 and S702, the delay distribution of paths in the subtree at the end of step S702 is concentrated on a specific delay (d1 in the figure) as shown in FIG. 8A. It becomes distribution like this.
しかし、スキューを決定するのは最大遅延パスと最小遅延パスであり、その他のパスの遅延時間は最小遅延以上最大遅延以下であればどのような値でも良い。従って、上記のように許容スキュー範囲に収まる上で不要なバッファの削除等のレイアウト変更を行い、回路の混雑度を低減する。なお、レイアウト変更後の遅延分布は例えば図8(b)に示すような分布になる。 However, the skew is determined by the maximum delay path and the minimum delay path, and the delay time of the other paths may be any value as long as it is not less than the minimum delay and not more than the maximum delay. Therefore, the layout change such as unnecessary buffer deletion is performed while falling within the allowable skew range as described above, and the congestion degree of the circuit is reduced. The delay distribution after the layout change is, for example, as shown in FIG.
本実施形態に係る回路設計方法によれば許容遅延時間範囲を満たす上で不要なバッファの削除、不要に大きいバッファサイズの低減、不要に迂回した配線の再配線を行い、回路の混雑度を低減させる。これにより、後工程(信号線の配線等)が容易になり、回路設計期間を短縮することができる。 According to the circuit design method according to the present embodiment, unnecessary buffers are deleted in order to satisfy the allowable delay time range, an unnecessarily large buffer size is reduced, and unnecessary detour wiring is rewired to reduce the degree of circuit congestion. Let This facilitates post-processing (signal line wiring and the like) and shortens the circuit design period.
上述した実施の形態は一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The above-described embodiment is an example and should not be considered as limiting. The technical scope of the present invention is defined by the terms of the claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
1  演算装置
2  記憶装置
3  制御装置
4  表示装置
5  入出力装置
11  自動配置部
12  配線部
13  クロックツリー合成部
14  遅延分布抽出部
15  サブツリー判定部
16  レイアウト変更部
21  回路情報格納部
22  チップ情報格納部
23  回路図データ格納部
24  セル情報格納部
25  サブツリー余裕度格納部DESCRIPTION OF SYMBOLS 1
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2007175177AJP2009016487A (en) | 2007-07-03 | 2007-07-03 | Circuit design method and circuit design support apparatus | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2007175177AJP2009016487A (en) | 2007-07-03 | 2007-07-03 | Circuit design method and circuit design support apparatus | 
| Publication Number | Publication Date | 
|---|---|
| JP2009016487Atrue JP2009016487A (en) | 2009-01-22 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| JP2007175177APendingJP2009016487A (en) | 2007-07-03 | 2007-07-03 | Circuit design method and circuit design support apparatus | 
| Country | Link | 
|---|---|
| JP (1) | JP2009016487A (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2012124117A1 (en)* | 2011-03-17 | 2012-09-20 | 富士通株式会社 | Timing error elimination method, design assistance device, and program | 
| JP2013122705A (en)* | 2011-12-12 | 2013-06-20 | Renesas Electronics Corp | Layout device and layout method | 
| JP2013171503A (en)* | 2012-02-22 | 2013-09-02 | Renesas Electronics Corp | Lsi design method | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2012124117A1 (en)* | 2011-03-17 | 2012-09-20 | 富士通株式会社 | Timing error elimination method, design assistance device, and program | 
| US8701064B2 (en) | 2011-03-17 | 2014-04-15 | Fujitsu Limited | Timing error removing method and design support apparatus | 
| JPWO2012124117A1 (en)* | 2011-03-17 | 2014-07-17 | 富士通株式会社 | Timing error elimination method, design support apparatus, and program | 
| JP2013122705A (en)* | 2011-12-12 | 2013-06-20 | Renesas Electronics Corp | Layout device and layout method | 
| JP2013171503A (en)* | 2012-02-22 | 2013-09-02 | Renesas Electronics Corp | Lsi design method | 
| Publication | Publication Date | Title | 
|---|---|---|
| US8635577B2 (en) | Timing refinement re-routing | |
| US8887110B1 (en) | Methods for designing intergrated circuits with automatically synthesized clock distribution networks | |
| US7222318B2 (en) | Circuit optimization for minimum path timing violations | |
| US8782591B1 (en) | Physically aware logic synthesis of integrated circuit designs | |
| US8631378B2 (en) | Implementing enhanced clock tree distributions to decouple across N-level hierarchical entities | |
| US9830415B2 (en) | Standard cell library, method of using the same, and method of designing semiconductor integrated circuit | |
| US20190065656A1 (en) | Integrated metal layer aware optimization of integrated circuit designs | |
| JP2004502259A (en) | Method and system for checking tiered metal terminations, surroundings, and exposure | |
| US9047434B2 (en) | Clustering for processing of circuit design data | |
| JP4918934B2 (en) | Semiconductor integrated circuit delay analysis apparatus, delay analysis method, and program thereof | |
| JP2009016487A (en) | Circuit design method and circuit design support apparatus | |
| US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
| CN101887469A (en) | Method for designing integrated circuits and computer system using the method | |
| US7415687B2 (en) | Method and computer program for incremental placement and routing with nested shells | |
| US8595668B1 (en) | Circuits and methods for efficient clock and data delay configuration for faster timing closure | |
| US9563736B2 (en) | Placement aware functional engineering change order extraction | |
| US20190392089A1 (en) | Automated region based optimization of chip manufacture | |
| US8151232B2 (en) | Repeater driven routing methodology | |
| JP3116915B2 (en) | Clock net layout design change method | |
| JP2011107769A (en) | Layout device for semiconductor integrated circuit and clock gating method | |
| US11113446B2 (en) | Yield improving leaf cells optimization for semiconductor netlists | |
| JP2020052807A (en) | Layout design device and layout design program | |
| US20080022253A1 (en) | Generating a convergent circuit design from a functional description using entities having access to the functional description and to physical design information | |
| Hakim et al. | Routability-Driven Timing Optimization | |
| JP5515757B2 (en) | Scan flip-flop addition system and scan flip-flop addition method |