JP3070754B2 - Semiconductor integrated circuit and layout and wiring method thereof - Google Patents
Semiconductor integrated circuit and layout and wiring method thereofInfo
- Publication number
- JP3070754B2 JP3070754B2 JP2121331A JP12133190A JP3070754B2 JP 3070754 B2 JP3070754 B2 JP 3070754B2 JP 2121331 A JP2121331 A JP 2121331A JP 12133190 A JP12133190 A JP 12133190A JP 3070754 B2 JP3070754 B2 JP 3070754B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- gate
- wiring
- buffer
- gates
- 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.)
- Expired - Lifetime
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は半導体集積回路のラッチ,ラッチ間のディレ
イ考慮を行う自動配置配線技術に関してディレイ調整の
ためにバッファゲートを自動挿入する技術に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technology for automatically inserting a buffer gate for delay adjustment with respect to a latch of a semiconductor integrated circuit and an automatic placement and routing technique that takes into account delay between latches.
ディレイ考慮の配置配線技術としては、第1の技術と
して特開昭61−234470号公報に記載のように、ラッチ間
の距離をみじかくなるように範囲を設定してその範囲内
に設置することで配線長を短くすることによりディレイ
を短かくする技術について報告されている。第2の技術
として特開昭62−39024号公報に記載のように、配置後
にスタイナーツリーの近似解により線長予測を行ってデ
ィレイ計算を行い、違反ネットについて配置修正をイン
タラクティブに行う技術について報告されている。As a layout and wiring technique taking delay into consideration, as described in Japanese Patent Application Laid-Open No. 61-234470 as a first technique, a range is set so that the distance between latches is difficult to set, and the latch is installed within the range. A technique for shortening the delay by shortening the wiring length has been reported. As a second technique, as described in Japanese Patent Application Laid-Open No. 62-39024, a technique is described in which, after placement, a line length is predicted by an approximate solution of a Steiner tree, delay calculation is performed, and placement is modified interactively for a violating net. Have been.
上記第1の技術,第2の技術共にディレイを小さくす
る技術としてゲートを近づけて配置することによりゲー
ト間の配線長抵抗を小さくしてその結果ディレイを小さ
くするという技術に関するものである。The first technology and the second technology both relate to a technology for reducing delay by arranging gates close to each other to reduce the wiring length resistance between gates, thereby reducing the delay.
近年の大規模化するLSIでは、チップ面積が広がって
きており、ゲートを近づける配置考慮だけでは十分なデ
ィレイ対策を行うことができなくなってきている。In recent large-scale LSIs, the chip area has been widened, and it is no longer possible to take sufficient delay measures only by considering the arrangement of the gates close to each other.
本発明の目的は、従来技術で対応しきれなかった配線
長の長くなってしまったネットについて、配線間にバッ
ファゲートを自動挿入することによりゲート間の配線長
を短くしてディレイを調整して高速なLSIのレイアウト
を可能にすることにある。An object of the present invention is to adjust a delay by automatically inserting a buffer gate between wires to shorten a wire length between gates for a net having a long wire length that cannot be handled by the conventional technology. It is to enable a high-speed LSI layout.
上記目的を達成させるために配置後に仮想配線長を計
算してパスのディレイを計算し、違反しているネットに
ついてはゲートを挿入してディレイ値を調整する。ラッ
チ間ディレイとは第1図に示すようにラッチ1とラッチ
2の間のゲート(ネット)1段毎のディレイの和D=d1
+d2+d3で計算することができる。ゲート1段分のディ
レイはソースとなるゲートの駆動能力、シンクとなるゲ
ートの負荷容量,配線容量及びソース,シンク間の配線
抵抗に依存して決まり、次式のように表現できる。d=
dCL+dW=dC+dL+dW(dC:回路ディレイ…ゲート無負荷
ディレイ、dL:負荷ディレイ…dCに対する負荷による増
分、dW:配線ディレイ…配線によるディレイ)これらの
成分別ディレイはネット構成(ソースゲート,ファンア
ウト等)が同じ場合、配線長に依存して増減するが特に
配線ディレイ(dW)はdW=α×R×C=α×(rl)×
(cl)=α×r×c×l2(R:ソースシンク間の抵抗,C:
ネットの負荷容量,α:比例定数,r:単位長当りの抵抗,
c:単位当りの容量,l:配線長)となり第2図に示すよう
に配線ディレイは配線長の2乗に比例して増加する。し
かし一方回路負荷ディレイ(dCL)は負荷容量に対して
ある範囲をこえるとほぼご一定の値となるため全体ディ
レイはl2に比例する形となる。第3図に示すようこれら
特性より(2)のように配線長を分割したときの各分割
の配線ディレイの合計と分割前の配線ディレイとの差分
がゲート1段分の回路ディレイより大きいとき配線を分
割し、バッファゲートを挿入することによりxの分だけ
ディレイを小さくすることができる。また(3)に示す
ようにゲートを複数挿入することにより回路負荷ディレ
イの総和によりyの分だけディレイを大きくすることが
できる。このようにしてゲートを挿入することによりデ
ィレイの調整が可能である。このゲートを実装する手段
としては1つとしてチップ上にあらかじめ予備ゲートを
分散して仮想配置しておき、必要に応じてこのゲートを
バッファゲートとして論理に組込み配線する方法、1つ
としてバッファゲートが必要な場合物理的に実装可能な
範囲でその位置にすでにあったゲートを別な位置に移動
してその後にバッファゲートを配置して論理に組込み配
線する方法、1つとしてラッチを先に配置して他のゲー
トを配線する前に途中で仮想配線でディレイを計算して
違反したネットに対して物理的に実装可能な範囲内でバ
ッファゲートを配置して論理に組込み、その後他のゲー
トの配置を行う方法が上げられる。これら手段によりデ
ィレイ調整を可能にしたものである。In order to achieve the above object, a virtual wiring length is calculated after placement to calculate a path delay, and for a violating net, a gate is inserted to adjust a delay value. As shown in FIG. 1, the inter-latch delay is the sum of delays D = d 1 for each gate (net) stage between latch 1 and latch 2.
+ D 2 + d 3 can be calculated. The delay of one stage of the gate is determined depending on the driving capability of the gate serving as the source, the load capacity of the gate serving as the sink, the wiring capacity, and the wiring resistance between the source and the sink, and can be expressed by the following equation. d =
d CL + d W = d C + d L + d W (d C: circuit delay ... gate unloaded delay, d L: increment due to the load to the load delay ... d C, d W: Delay due to wiring delay ... wiring) by these components When the net configuration (source gate, fan-out, etc.) is the same, the delay increases and decreases depending on the wiring length. In particular, the wiring delay (d W ) is d W = α × R × C = α × (rl) ×
(Cl) = α × r × c × l 2 (R: resistance between source and sink, C:
Net load capacity, α: proportionality constant, r: resistance per unit length,
c: capacitance per unit, l: wiring length), and the wiring delay increases in proportion to the square of the wiring length as shown in FIG. However, on the other hand, the circuit load delay (d CL ) becomes substantially constant when the load capacitance exceeds a certain range, so that the overall delay is in proportion to l 2 . As shown in FIG. 3, from these characteristics, when the difference between the total wiring delay of each division when the wiring length is divided as shown in (2) and the wiring delay before division is larger than the circuit delay of one gate, wiring is performed. Is divided and a buffer gate is inserted, so that the delay can be reduced by x. Further, by inserting a plurality of gates as shown in (3), the delay can be increased by y by the total sum of the circuit load delays. The delay can be adjusted by inserting a gate in this manner. As a means for mounting this gate, a method of distributing spare virtual gates in advance on a chip and virtually arranging them on a chip, and incorporating this gate into a logic as a buffer gate if necessary, If necessary, move the gate that was already at that position to a different position within the physically mountable range, and then place the buffer gate and wire it in the logic.One way is to place the latch first. Before routing other gates, calculate the delay with virtual wiring in the middle, place buffer gates within the physically mountable range for the violated net, incorporate it into logic, and then place other gates The way to do is raised. The delay adjustment is enabled by these means.
本発明によればディレイのMAX違反に対してはラッチ
間の中央にバッファゲートを挿入することにより目的と
するラッチ間のディレイを小さくできる。これらの特徴
を利用して配置配線を行うことにより、ラッチ間の距離
で対応不十分であった配線ディレイの違反に対しての対
策を行うことができる。またラッチの配置をむりに集中
させることがないのでチャネルの混雑を防止でき、未配
線を少なくできる。実装技術としては、予備ゲートをあ
らかじめ配置しておくことにより、挿入のための配置変
更を行わなくてもよくなり処理の単純化が行える。また
配置後に挿入する方法では予備ゲートによる配置可能領
域の低下を防ぐことができる。このようにして作成され
たLSIは高速動作が可能である。According to the present invention, a target delay between latches can be reduced by inserting a buffer gate at the center between latches for a MAX violation of delay. By arranging and wiring using these features, it is possible to take countermeasures against a violation of a wiring delay that was insufficiently handled by the distance between latches. Further, since the arrangement of the latches is not unnecessarily concentrated, channel congestion can be prevented, and unwired wiring can be reduced. As a mounting technique, by arranging spare gates in advance, it is not necessary to change the arrangement for insertion, and the processing can be simplified. In addition, the method of inserting after the placement can prevent the spare area from being reduced by the spare gate. The LSI thus created can operate at high speed.
また、本発明によればディレイのMIN違反に対しては
バッファゲートを複数挿入することにより回路負荷ディ
レイのつみかさねでディレイを大きくできる。In addition, according to the present invention, for a MIN violation of the delay, the delay can be increased by inserting a plurality of buffer gates so that the circuit load delay can be changed.
以下、本発明の実施例を図面により詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
第3図は前に述べた様にラッチ間の距離とディレイ値
の関係を表すグラフで(1)はラッチ間に何もない時の
特性グラフである。(2)はラッチ間にバッファゲート
5を1段挿入した時の特性グラフで(1)の同じ距離l
のディレイに比べx分ディレイ値が小さくなっている。
バッファゲート5を1段挿入する位置は特性により
(4)に示すようなある範囲に限定される。この範囲を
越えるとディレイ値は逆に大きくなる。大きくする為に
は他に(3)の様に複数バッファゲートを挿入して大き
くする方法もある。但し(3)の場合でもバッファゲー
トの数と位置関係により小さくなる場合があるので、そ
のつど算出する必要がある。第3図ではラッチ間の距離
lはバッファゲート挿入後のl1+l2と同等であるが、デ
ィレイ値を変化させるという意味では同等でなくてもよ
い。以上の述べた様にラッチ間にバッファゲートを挿入
することで目的に合ったディレイ値に調整することが可
能である。次にこのバッファゲート挿入によるディレイ
考慮を自動配置処理で行うフローの例を第4図に示す。
まず401の配置処理を実行する。次に全ての配線ネット
情報を読み込み(402)読み込んだ配線ネット情報がデ
ィレイ考慮を必要とする配線ネットが判定し(403)必
要な場合は、401の配線結果に基づいて例えばスタイナ
ーツリー法などにより仮想配線長を計算(404)してこ
の値によりこのネットのディレイ計算を行い(405)そ
の値が制約値であるか判定する(406)。上記で述べた
ディレイ考慮を必要とする配線ネットとは、例えばクロ
ック系のネットとかスキャン系のネットなどで時間的タ
イミングを要求するネットなどが主にあげられる。この
ネットの識別は例えば信号名の一部にユニークなグルー
プを付加しておくとか、ネット単位にフラグを付加する
などして、これらを判定すれば識別可能である。上記の
結果、違反しているネットについては論理情報のファイ
ルにバッファゲート論理を追加する(407)。但し物理
的及び実装的に論理情報を追加可能な場合のみでの論理
追加となる。次に論理追加されたバッファゲートを実際
に配置する処理を行う(408)。この時のバッファゲー
トの数及び場所に関しては前記で述べた特性に従いディ
レイを守れるように論理追加及び配置を行う。この配置
方法はいくつか考えられる。第5図により例を説明す
る。FIG. 3 is a graph showing the relationship between the distance between the latches and the delay value as described above, and FIG. 3 (1) is a characteristic graph when there is nothing between the latches. (2) is a characteristic graph when one stage of the buffer gate 5 is inserted between the latches.
The x delay value is smaller than the x delay.
The position where the buffer gate 5 is inserted in one stage is limited to a certain range as shown in (4) depending on the characteristics. Beyond this range, the delay value will increase. Another method for increasing the size is to insert a plurality of buffer gates and increase the size as in (3). However, even in the case of (3), the number may become smaller depending on the number and the positional relationship of the buffer gates, so it is necessary to calculate each time. In FIG. 3, the distance 1 between the latches is equal to l 1 + l 2 after the buffer gate is inserted, but may not be equal in terms of changing the delay value. As described above, by inserting the buffer gate between the latches, it is possible to adjust the delay value according to the purpose. Next, FIG. 4 shows an example of a flow in which the delay due to the buffer gate insertion is taken into account in the automatic arrangement processing.
First, the arrangement processing of 401 is executed. Next, all the wiring net information is read (402). The read wiring net information determines a wiring net that needs to consider delay (403), and if necessary, based on the wiring result of 401, for example, by the Steiner tree method or the like. The virtual wire length is calculated (404), and the delay of this net is calculated based on this value (405), and it is determined whether the value is a constraint value (406). The wiring nets that need to consider the delay described above mainly include, for example, a clock net or a scan net that requires time timing. The net can be identified by, for example, adding a unique group to a part of the signal name or adding a flag for each net, and determining these. As a result, for the offending net, the buffer gate logic is added to the logical information file (407). However, logic is added only when logical information can be added physically and in implementation. Next, processing for actually arranging the buffer gate to which the logic is added is performed (408). At this time, regarding the number and location of the buffer gates, logic is added and arranged according to the characteristics described above so as to protect the delay. There are several possible arrangements. An example will be described with reference to FIG.
まず初めにチップ上のセル例10上に論理とは関係ない
予備ゲートエリアを設定しておき、このエリアには一般
論理ゲートは配置禁止としておく。このエリアはチップ
上に均等に設定しておくことが後々望ましいが、チップ
の特性上例えばある領域に集中してラッチを配置するな
どの領域がある場合、この領域内に特に多く設定してお
くと良い。このチップ上で配置を行った結果例えばラッ
チ1とラッチ2の配線長からディレイがオーバしている
ことが判明した場合第6図に示すように各々のラッチの
ピンを頂点とする矩形内でピン−ピン間を結ぶ線分の中
線上付近にある予備ゲートを探す。第5図では予備ゲー
ト8がこれに該当する。該当する予備ゲートをバッファ
ゲートとして挿入した場合の仮想配線よりディレイ値を
計算してディレイが制約値を守っていることが確認でき
た場合、予備ゲート8を論理情報にフィードバックして
予備ゲート8の位置に実際にゲートを配置する。使用さ
れていない予備ゲートエリアは実際にはセルが配置され
ないので電力を無駄に消費することはない。またバッフ
ァゲート挿入のためにすでにあったセルを移動される必
要もないので処理が容易に行える。第5図ではバッファ
ゲート挿入が1つのケースであったが、2以上のバッフ
ァゲートを挿入した場合の仮想配線よりディレイ値を計
算して、ディレイが最も小さくなるものを選ぶのが望ま
しい手段としてある。またディレイ値が基準値にみたな
い場合には、ラッチ間にある予備ゲートを満すまで接続
していけばよく、満した時点で、その情報を論理にフィ
ードバックして実際に配置すればよい。更にこのディレ
イ違反ネットが多数あった場合には、すでに使用してい
る予備ゲートでもゆるされる範囲で他の予備ゲートと置
き換えるなどしてそこを使用するなどの最適化を行うこ
ともできる。また他の最適化の方法として第7図に示す
ようにラッチ1,ラッチ2間の最適バッファ挿入位置とし
てDがあり、その横又はその付近に予備ゲート9がある
場合Dを予備ゲート9の位置に配置してDの位置に予備
ゲート9を配置するなどの方法がある。この方法のみを
用いたバッファゲート挿入方法として予備ゲートエリア
はあらかじめ設定しておかず初期配置で空領域となった
領域を挿入領域として用いる方法も考えられる。この方
法によれば配置可能領域が増え、初期配置での配置効率
が良くなる。又他のバッファゲート挿入方法としては、
初期配置時にラッチをまず優先的に配置してこの結果に
より、仮想配線長でディレイ計算を行って違反している
ものについては第6図で述べた原理に従いバッファゲー
トを挿入する。この時チップ上にはまだラッチしか配置
されていないのでバッファゲートの領域確保は容易に行
える利点がある。このバッファゲート挿入後他の一般ゲ
ートの配置を行えば配置交換などの複雑な処理が不要と
なる。以上で述べた例はラッチ間が2点間のものであっ
たが、第8図で示すように複数ラッチのネットについて
も同様の処理が行える。但しバッファゲート15の挿入位
置の決定は第6図の方法ではなく、例えばスタイナーツ
リー法などにより仮想分岐位置を仮定して仮想配線上で
ディレイ計算して制約を満たす位置を決定する。この仮
想分岐位置決定は、実際に配線処理を行うアルゴリズム
に従って行うことが近似解をだすためにより効果的であ
る。但しこれらネットは実際に配線してみると配線の形
状が変わり制約を守っていないことがあるので、再度デ
ィレイ計算を行い、配線後にバッファゲートと再挿入し
たり位置を変えるなどの最適化処理を行う必要がある場
合もある。またバッファゲート挿入によるディレイ調整
方法の他の手段として第9図に示す様に例えば、ラッチ
901と902の間に論理構成には意味を持たないバッファゲ
ート903を論理情報に挿入しておく。この論理情報で配
置処理を行い、例えばこの配置結果が第10図の様になっ
たとすると、第9図の901,902,903はそれぞれ第10図の1
01,102,103に配置されたことになる。この配置結果に基
づき初めは101と102の仮想配線長104でディレイ計算を
行う。この時、この値に違反がなければ903のゲートを
論理情報から取り除く、違反があれば101,103,102のゲ
ートで仮想配線長105と106を求めディレイ計算を行う。
制約が守られていれば論理情報はそのままとする。この
例ではバッファゲートが1つであったが、例えば複数入
れておいて、1つづつ増やしていってディレイ値を計算
して制約値が守られた時点の論理情報をフィードバック
することもできる。この方法によればゲートの再配置を
行うことなくバッファゲートを挿入することができディ
レイ調整を可能とすることができる。First, a spare gate area irrelevant to logic is set on the cell example 10 on the chip, and placement of general logic gates in this area is prohibited. It is desirable that this area be set evenly on the chip later. However, if there is an area where the latches are arranged concentratedly in a certain area due to the characteristics of the chip, a particularly large area is set in this area. And good. As a result of the arrangement on this chip, for example, when it is found that the delay is exceeded based on the wiring length of the latch 1 and the latch 2, as shown in FIG. -Search for a spare gate near the middle line of the line connecting the pins. In FIG. 5, the spare gate 8 corresponds to this. When the delay value is calculated from the virtual wiring when the corresponding spare gate is inserted as a buffer gate and it can be confirmed that the delay satisfies the constraint value, the spare gate 8 is fed back to the logic information and the The gate is actually placed at the position. In the spare gate area that is not used, no cells are actually arranged, so that power is not wasted. Further, since there is no need to move the cell which has already been inserted for inserting the buffer gate, the processing can be easily performed. In FIG. 5, the buffer gate insertion is one case. However, it is preferable to calculate the delay value from the virtual wiring when two or more buffer gates are inserted, and select the one with the smallest delay. . If the delay value does not meet the reference value, it is sufficient to connect the spare gates between the latches until the spare gates are filled, and at that time, the information may be fed back to the logic and actually placed. Further, when there are many delay violation nets, it is possible to perform optimization such as replacing the spare gate that is already in use with another spare gate within a range where the spare gate can be used. As another optimization method, as shown in FIG. 7, there is D as an optimum buffer insertion position between the latches 1 and 2, and when there is a spare gate 9 beside or near the D, the D is set to the position of the spare gate 9. And the spare gate 9 is arranged at the position D. As a buffer gate insertion method using only this method, a method is also conceivable in which a spare gate area is not set in advance, and an area that is empty in the initial arrangement is used as an insertion area. According to this method, the arrangement possible area increases, and the arrangement efficiency in the initial arrangement is improved. As another buffer gate insertion method,
At the time of the initial placement, the latch is first placed preferentially, and based on the result, delay calculation is performed with the virtual wiring length, and a buffer gate is inserted according to the principle described with reference to FIG. At this time, there is an advantage that the area of the buffer gate can be easily secured because only the latch is arranged on the chip. If other general gates are arranged after the buffer gate is inserted, complicated processing such as arrangement exchange becomes unnecessary. In the example described above, the interval between latches is between two points. However, as shown in FIG. 8, the same processing can be performed for a net having a plurality of latches. However, the insertion position of the buffer gate 15 is not determined by the method shown in FIG. 6; for example, a virtual branch position is assumed by the Steiner tree method or the like, and delay calculation is performed on the virtual wiring to determine a position satisfying the constraint. It is more effective to determine the virtual branch position in accordance with an algorithm for actually performing the wiring process, since an approximate solution is obtained. However, when actually wiring these nets, the shape of the wiring may change and the restrictions may not be observed.Therefore, delay calculation is performed again, and optimization processing such as reinserting the buffer gate and changing the position after wiring is performed. You may need to do it. As another means for adjusting the delay by inserting a buffer gate, for example, as shown in FIG.
Between 901 and 902, a buffer gate 903 having no meaning in the logical configuration is inserted into the logical information. An arrangement process is performed using this logical information. For example, if this arrangement result is as shown in FIG. 10, 901, 902, and 903 in FIG.
01,102,103. Based on this arrangement result, delay calculation is first performed with virtual wiring lengths 104 of 101 and 102. At this time, if there is no violation in this value, the gate of 903 is removed from the logical information, and if there is a violation, the virtual wiring lengths 105 and 106 are obtained from the gates 101, 103 and 102 and delay calculation is performed.
If the restrictions are kept, the logical information is left as it is. In this example, the number of buffer gates is one. For example, a plurality of buffer gates may be inserted, and the delay value may be increased one by one to calculate the delay value and feed back the logic information at the time when the constraint value is observed. According to this method, the buffer gate can be inserted without rearranging the gate, and the delay can be adjusted.
以上で述べた処理を自動配置プログラムの中で行うこ
とにより、論理設計者はディレイを考慮した論理設計を
行わなくても自動で論理へのフィードバック実装を行う
ことが可能となる。By performing the above-described processing in the automatic placement program, the logic designer can automatically perform the feedback implementation to the logic without performing the logic design in consideration of the delay.
本発明によれば、従来技術で対応不十分であった配線
長によるディレイ違反に対して、ラッチの配線位置を変
えることなくディレイ調整が可能である。またラッチラ
ッチ間で固めて配置し過ぎたために未配線が多数発生す
るという配置混雑解消を緩和でき、未配線を低減する効
果がある。またこれら挿入処理は配置処理中に仮想配線
で解析を行いゲートの論理への自動組込みが可能なため
論理設計者が論理生成時に人手考慮をする必要がなくな
り自動化が可能である。これらディレイ考慮を行う配置
配線が可能となることにより高速動作可能なLSIを作成
することが可能となる。According to the present invention, it is possible to adjust the delay without changing the wiring position of the latch in response to the delay violation due to the wiring length, which was insufficient in the conventional technology. In addition, it is possible to alleviate the arrangement congestion, in which a large number of non-wirings are generated because the latches are too tightly arranged between the latches, and there is an effect of reducing the non-wiring. In addition, since these insertion processes can be analyzed by virtual wiring during the placement process and the gates can be automatically incorporated into the logic, it is not necessary for the logic designer to manually consider the logic at the time of logic generation, and automation is possible. By enabling the placement and wiring in consideration of these delays, it is possible to create an LSI that can operate at high speed.
第1図はラッチ間のディレイを示した図、第2図は配線
ディレイと配線長の関係を示した図、第3図は配線ディ
レイと配線長の関係にバッファゲートを挿入した時の関
係図、第4図は自動配置処理でのバッファゲート挿入処
理フロー図、第5図は予備ゲート領域を持ったチップセ
ル配列図、第6図はバッファゲート挿入位置を決めるた
めの条件図、第7図はバッファゲート挿入位置を最適化
するための図、第8図はスタイナーツリー法による仮想
配線経路でのバッファゲート挿入例の図、第9図は論理
構成図を示す図、第10図はチップ上のゲートの配置結果
図を示す図である。 1,2……ラッチ、3,4……ゲート、5〜7……バッファゲ
ート、8,9……予備ゲート、11〜14……ラッチ、15……
バッファゲート。1 is a diagram showing a delay between latches, FIG. 2 is a diagram showing a relationship between a wiring delay and a wiring length, and FIG. 3 is a diagram showing a relationship between a wiring delay and a wiring length when a buffer gate is inserted. FIG. 4 is a flowchart of the buffer gate insertion process in the automatic placement process, FIG. 5 is a chip cell array diagram having a spare gate area, FIG. 6 is a condition diagram for determining the buffer gate insertion position, and FIG. FIG. 8 is a diagram for optimizing a buffer gate insertion position, FIG. 8 is a diagram of an example of buffer gate insertion in a virtual wiring route by the Steiner tree method, FIG. 9 is a diagram showing a logical configuration diagram, and FIG. FIG. 10 is a diagram showing a gate arrangement result diagram. 1,2 ... Latch, 3,4 ... Gate, 5-7 ... Buffer gate, 8,9 ... Spare gate, 11-14 ... Latch, 15 ...
Buffer gate.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 友重 吉彦 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 鈴木 勝喜 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 石井 建基 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 佐々木 哲雄 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 檜山 徹 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 永瀬 八大 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 野尻 和伸 神奈川県秦野市堀山下1番地 日立コン ピュータエンジニアリング株式会社内 (72)発明者 菊池 幸夫 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株 式会社内 (56)参考文献 特開 昭64−42146(JP,A) 特開 昭63−69262(JP,A) (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 H01L 21/822 H01L 27/04 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Yoshihiko Tomoshige 1 Horiyamashita, Hadano-shi, Kanagawa Prefecture Inside Hitachi, Ltd.Kanagawa Plant (72) Inventor Katsuki Suzuki 1-Horiyamashita, Hadano-shi, Kanagawa Hitachi, Ltd. Inside the factory (72) Inventor Kenki Ishii 1 Horiyamashita, Hadano-shi, Kanagawa Prefecture Inside the Hitachi, Ltd.Kanagawa Plant (72) Inventor Tetsuo Sasaki 1st Horiyamashita, Hadano-shi, Kanagawa Prefecture Inside the Hitachi, Ltd.Kanagawa Plant (72) Inventor Toru Hiyama 1 Horiyamashita, Hadano City, Kanagawa Prefecture Inside the Hitachi, Ltd.Kanagawa Plant (72) Inventor Nagase Eight Daiichi Horiyamashita 1 1 Horiyamashita, Hadano City Hitachi Computer Engineering Within the company (72) Inventor Yukio Kikuchi 6-81, Onoe-cho, Naka-ku, Yokohama-shi, Kanagawa Prefecture Hitachi Software Engineering Co., Ltd. (56) References JP-A-64-42146 (JP, A) JP-A-63- 69262 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H01L 21/82 H01L 21/822 H01L 27/04
Claims (5)
いて、前段素子と後段素子の間にバッファゲートを1段
以上挿入して各区間の配線長による信号遅延時間(以下
ディレイと呼ぶ)を小さくすることにより、小さくなっ
た配線長ディレイと前記バッファゲートによるディレイ
の合計を前記バッファゲート挿入前のディレイより小さ
くする配置配線方法であって、配置後にディレイ計算を
行い素子間のディレイが基準値をオーバして違反(以下
MAX違反と呼ぶ)しているネットについてはゲートが物
理的に挿入可能な範囲内で前記素子間の中央付近に位置
するゲートをバッファゲートに置き換えネットに挿入
し、該位置に初め配置されていたゲートは他の最も近い
あきエリアに配置することによりチップ上に配置可能な
論理ゲートの数を減らすことなくディレイ基準を守らせ
ることを特徴とする配置配線方法。In a method for arranging and wiring elements of a semiconductor integrated circuit, one or more buffer gates are inserted between a preceding element and a subsequent element to reduce a signal delay time (hereinafter referred to as delay) due to a wiring length of each section. In this method, the sum of the reduced wiring length delay and the delay caused by the buffer gate is made smaller than the delay before the buffer gate is inserted. Over and violate (below)
For a net that is called MAX violation), the gate located near the center between the elements is replaced with a buffer gate within the range where the gate can be physically inserted, and inserted into the net. A placement and routing method, wherein a gate is placed in another closest open area so as to comply with a delay reference without reducing the number of logic gates that can be placed on a chip.
いて、前段素子と後段素子の間にバッファゲートを1段
以上挿入して各区間の配線長による信号遅延時間(以下
ディレイと呼ぶ)と小さくすることにより、小さくなっ
た配線長ディレイと前記バッファゲートによるディレイ
の合計を前記バッファゲート挿入前のディレイより小さ
くする配置配線方法であって、初めにラッチの配置を行
いその配置結果に基づきラッチ間のディレイ計算を行
い、MAX違反しているネットについてはゲートが物理的
に挿入可能な範囲内で該ラッチ間にバッファゲートを論
理的に挿入して、位置的に中央付近に配置し、その後他
の残りの論理ゲートについて配置を行うことによりバッ
ファゲート挿入のために、すでに配置されたゲートを移
動することなくディレイ基準を守らせることを特徴とす
る配置配線方法。2. A method of arranging and wiring elements of a semiconductor integrated circuit, wherein one or more buffer gates are inserted between a preceding element and a subsequent element to reduce a signal delay time (hereinafter referred to as a delay) by a wiring length of each section. In this arrangement, the sum of the reduced wiring length delay and the delay caused by the buffer gate is made smaller than the delay before the buffer gate is inserted. Calculate the delay, and for a net violating MAX, logically insert a buffer gate between the latches within the range where the gate can be physically inserted, place it near the center, and then By placing the remaining logic gates, the buffer gates can be inserted without shifting the already placed gates. Placement and routing method characterized by enforcing standards.
いて、前段素子と後段素子の間にバッファゲートを1段
以上挿入して各区間の配線長による信号遅延時間(以下
ディレイと呼ぶ)を小さくすることにより、小さくなっ
た配線長ディレイと前記バッファゲートによるディレイ
の合計を前記バッファゲート挿入前のディレイより小さ
くする配置配線方法であって、論理設計時にラッチ間に
論理と関係しないバッファゲートを1段又は複数段挿入
して論理情報を作成し、この論理情報に基づき配置処理
を行い、配置結果に基づき仮想配線長を計算して、ディ
レイ計算を行い、この時最初は前記バッファゲートが無
いものと仮定した配線でのディレイを計算して、MAX、M
IN違反がなければ、前記論理情報から、前記バッファゲ
ート論理を取り除き、違反時にはバッファゲートを考慮
したディレイ計算を行い、制約が守られていれば、前記
論理情報はそのままとし、複数段の場合は、バッファゲ
ートを1つづつ増やしていき、ディレイ値を計算して、
制約が守られた時点での状態を前記論理情報にフィード
バックすることにより、再配置を必要とすることなくデ
ィレイを調整可能とすることを特徴とする配置配線方
法。3. A method for arranging and wiring elements of a semiconductor integrated circuit, wherein one or more buffer gates are inserted between a preceding element and a subsequent element to reduce a signal delay time (hereinafter referred to as a delay) due to a wiring length of each section. In this arrangement, the sum of the reduced wiring length delay and the delay caused by the buffer gate is made smaller than the delay before the buffer gate is inserted. Create logical information by inserting one or more stages, perform placement processing based on this logical information, calculate the virtual wiring length based on the placement result, and perform delay calculation. Calculate the delay in the wiring assumed to be MAX, M
If there is no IN violation, the buffer gate logic is removed from the logical information, and if a violation is made, delay calculation taking into account the buffer gate is performed.If the constraint is adhered to, the logical information is left as it is. , Increase the buffer gate one by one, calculate the delay value,
A layout and wiring method, wherein a delay at the time when a constraint is obeyed is fed back to the logical information so that a delay can be adjusted without requiring rearrangement.
記載の配置配線方法において、バッファゲート挿入位置
決定に関し、ラッチネットが多ピンネットの場合、配置
結果に基づき、スタイナーツリー配線を仮想してこの仮
想配線上より各ゲート間の中央を決定すること、及び配
線時にはこのゲートが配線経路の中央にくる様に考慮し
て配線することを特徴とする配置配線方法。4. A placement and routing method according to any one of claims 1 to 3, wherein, when determining the buffer gate insertion position, when the latch net is a multi-pin net, the Steiner tree wiring is virtualized based on the placement result. And determining the center between the respective gates from the virtual wiring, and performing wiring in consideration of wiring such that the gate is located at the center of the wiring path.
記載の配置配線方法において、配置配線処理をプログラ
ムで全て自動で連結させて行わせることにより論理設計
者が論理設計時にディレイを考慮したバッファゲート挿
入を考慮しなくてよくなることを特徴とする配置配線方
法。5. The placement and routing method according to any one of claims 1 to 4, wherein the placement and routing processes are all automatically connected by a program so that the logic designer considers the delay in the logic design. A placement and routing method characterized in that it is not necessary to consider the insertion of a buffer gate.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2121331A JP3070754B2 (en) | 1990-05-14 | 1990-05-14 | Semiconductor integrated circuit and layout and wiring method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2121331A JP3070754B2 (en) | 1990-05-14 | 1990-05-14 | Semiconductor integrated circuit and layout and wiring method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0423347A JPH0423347A (en) | 1992-01-27 |
| JP3070754B2 true JP3070754B2 (en) | 2000-07-31 |
Family
ID=14808617
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2121331A Expired - Lifetime JP3070754B2 (en) | 1990-05-14 | 1990-05-14 | Semiconductor integrated circuit and layout and wiring method thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3070754B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2739843B2 (en) * | 1995-06-30 | 1998-04-15 | 日本電気株式会社 | Automatic layout method for semiconductor device |
| US6472917B2 (en) | 1997-03-19 | 2002-10-29 | Hitachi, Ltd. | Semiconductor integrated circuit device having compensation for wiring distance delays |
| WO2004102657A1 (en) | 1998-01-26 | 2004-11-25 | Masahiro Sano | Method and apparatus for optimizing circuit signal line, recording media of optimization program, and recording media of method and program for circuit design |
| JP5117170B2 (en) * | 2007-11-20 | 2013-01-09 | 株式会社リコー | Circuit design support device, circuit design support method, circuit design support program, and recording medium |
-
1990
- 1990-05-14 JP JP2121331A patent/JP3070754B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0423347A (en) | 1992-01-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lemieux et al. | Using sparse crossbars within LUT | |
| US7039891B2 (en) | Method of clock driven cell placement and clock tree synthesis for integrated circuit design | |
| US6440780B1 (en) | Method of layout for LSI | |
| US5077676A (en) | Reducing clock skew in large-scale integrated circuits | |
| US5761078A (en) | Field programmable gate arrays using semi-hard multicell macros | |
| EP1543449B1 (en) | Method for eliminating routing congestion in an ic layout | |
| US4839821A (en) | Automatic cell-layout arranging method and apparatus for polycell logic LSI | |
| JP2756325B2 (en) | Clock supply circuit | |
| US6434731B1 (en) | Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits | |
| US5235521A (en) | Reducing clock skew in large-scale integrated circuits | |
| US5339253A (en) | Method and apparatus for making a skew-controlled signal distribution network | |
| KR20020037715A (en) | Concurrent logical and physical construction of voltage islands for mixed supply voltage designs | |
| JP2001298094A (en) | Method and system for designing wiring in macro that traverses macro in integrated circuit | |
| US6385760B2 (en) | System and method for concurrent placement of gates and associated wiring | |
| US6367051B1 (en) | System and method for concurrent buffer insertion and placement of logic gates | |
| JPS64821B2 (en) | ||
| Ogawa et al. | Efficient placement algorithms optimizing delay for high-speed ECL masterslice LSI's | |
| JP3070754B2 (en) | Semiconductor integrated circuit and layout and wiring method thereof | |
| US5815406A (en) | Method and system for designing a circuit using RC and timing weighting of nets | |
| JP3243033B2 (en) | Semiconductor integrated circuit and device arrangement and wiring method thereof | |
| US6615401B1 (en) | Blocked net buffer insertion | |
| US6757877B2 (en) | System and method for identifying and eliminating bottlenecks in integrated circuit designs | |
| US20060136854A1 (en) | Method for placement of pipeline latches | |
| JP3884892B2 (en) | Electronic component arrangement method and computer-readable recording medium recording electronic component arrangement program | |
| Yazdani et al. | Microprocessor pin predicting |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080526 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090526 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 10 |
|
| EXPY | Cancellation because of completion of term |