JP2004030086A - Method for designing semiconductor integrated circuit - Google Patents

Method for designing semiconductor integrated circuit Download PDF

Info

Publication number
JP2004030086A
JP2004030086A JP2002183756A JP2002183756A JP2004030086A JP 2004030086 A JP2004030086 A JP 2004030086A JP 2002183756 A JP2002183756 A JP 2002183756A JP 2002183756 A JP2002183756 A JP 2002183756A JP 2004030086 A JP2004030086 A JP 2004030086A
Authority
JP
Japan
Prior art keywords
temp
wiring
output terminal
input terminal
max
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
JP2002183756A
Other languages
Japanese (ja)
Inventor
Hiroyuki Shinpo
新保 宏幸
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002183756A priority Critical patent/JP2004030086A/en
Publication of JP2004030086A publication Critical patent/JP2004030086A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method for designing a semiconductor integrated circuit allowing to omit a skew readjustment process with respect to a clock buffer causing an operation fault derived from IR drop. <P>SOLUTION: When the fellow buffers of a CTS is the primary cause of the IR drop, the primary cause is restored by shifting a tree constituting a branched tree and by shifting the following buffer in the direction absorbing a variation in temperature. The method for designing the semiconductor integrated circuit comprises: a shift time calculation process (300) forming the maximum value of a total current amount observed when the peak time of a current consumption value is delayed by Tz to a desired current value; an NA calculation process (303) calculating initial stage wiring information (304) applied after layout modification based on the Tz and initial wiring information NAnRC0 (302) applied before layout modification having the resistance component data and capacity component data of a plurality of wiring NAn; and an NB calculation process (305) calculating next stage wiring information NBnRC (306) applied after the layout modification consisting of resistance component data and capacity component data NB2RC required for advancing the transfer dely of a signal transmitted across a zone as far as the output terminal of the element by Tz. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路の設計において、クロックツリーのバッファの動作タイミングを、短い工数で修正する方法に関するものである。
【0002】
【従来の技術】
従来の半導体集積回路の設計方法においては、クロックツリー(CTS)は、バッファーバッファ間の負荷バランスが同じ枝同士で均一になるように設計される。これは、温度条件が変化しても、最終段のFFで生じるスキューが変動しないようにするためである。
【0003】
ただ、この場合、同一段のクロックバッファは同期的に動作するため、クロックバッファがスイッチングする時刻には、このクロックバッファを含む回路は大きな電流を必要とする。この電流がIRドロップを誘発しやすいという問題がある。
【0004】
この問題に対して、従来の半導体集積回路の設計方法においてはIRドロップ解析ツールを使用して、IRドロップを誘発しているクロックバッファを特定し、電源配線強化やセル配置変更などのレイアウト修正を行い、その後に再度のタイミング修正を行っている。
【0005】
【発明が解決しようとする課題】
しかしながら、この従来の修正方法では、レイアウト修正によりクロックバッファの移動や配線経路の変更を行ってしまうと、クロックツリーの枝ごとの負荷バランスが崩れてしまう。
【0006】
負荷バランスが崩れることで、クロックポートから各フリップフロップに到るまでの、ゲート遅延量と配線遅延量の比率が、フリップフロップごとにばらつくことになる。
【0007】
この状態だと、たとえタイミング調整を行っても、温度変化に伴うスキューの変化が発生してしまうので、レイアウト修正前と比較すると、最終的なスキューが悪化する。
【0008】
このようなスキュー悪化によるタイミングマージンの低下は、チップの高速化に対する大きな障害となるため、再びスキューを調整し直さなければならず、それには大きな工数がかかるという問題がある。
【0009】
本発明は上記問題を解決し、IRドロップによる動作障害を引き起こしているクロックバッファに対して、IRドロップ修正時のスキュー再調整工程を省くことができる半導体集積回路の設計方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明の半導体集積回路の設計方法は、CTSのバッファ同士がIRドロップの主因になっているとき、枝分かれツリーを構成するツリーずらし、その後ろのバッファを温度ばらつきを吸収する方向でずらして修復するものである。
【0011】
まず、IRドロップにより動作障害をおこしているクロックバッファA1,A2(以下、素子A1,A2と称す)と、そのバッファを含むバッファ群をドライブするクロックバッファSを含むクロックツリーCTS_αについて、クロックバッファS(以下、素子Sと称す)から素子A1に到るまでの配線NA1の負荷を増やし、かつ、素子Sから素子A2に到るまでの配線NA2の負荷を減らし、かつ、これらの変更量の総和が0になるようなNAnの寄生成分に関する配線情報を出力する。
【0012】
この配線条件を用いることで素子A1と素子A2のタイミングをずらすことができる。
そのずらす時間の量は、素子A1および素子A2の電流波形の半値幅の中から最大値が使用される。
【0013】
ただし、このままでは、次の段以降の素子の動作タイミングがずれているので次の工程で修正する。
次に、An[n=1,2]がドライブする素子Bnに到るまでの配線NBnについて、A1からB1に到るまでの配線負荷を減らし、かつ、A2からB2に到るまでの配線負荷を増やし、かつ、SからBnに到るまでの信号の到達時間が、CTS_αにおける値が同じになるように、NBnの信号の伝達時間を調整した上で、その状態でのNBnの寄生成分に関する配線情報を出力する。この調整を行った際の温度条件が最大値だったとする。
【0014】
ただし、このとき、温度条件が別の最小値になったときには、SからBnに到るまでの信号の到達時間が、CTS_αにおける値が同じにならないので、次の工程で修正する。
【0015】
次に、Bnが配線NCnを介してドライブする素子Cnおよび、Cnが配線NDnを介してドライブする素子Dnについて、温度条件が最大であるときに、SからDnに到るまでの信号到達時間が一致し、かつ温度条件が最小であるときに、SからDnに到るまでの信号到達時間が一致するための配線NCnの信号の伝達時間TNCnおよび破線NDnの信号の伝達時間TNDnを計算し、配線NCnにおいて、前の段の出力端子容量を変えずに、伝達時間がTNCnになるようなNCnの配線抵抗RNCnおよび配線NDnにおいて、前の段の出力端子容量を変えずに、伝達時間がTNDnになるようなNDnの配線抵抗RNDnを配線NCnの配線情報、および配線NDnの配線情報としてを出力する。
【0016】
これらの配線情報を各配線の制約条件に反映させた上で、レイアウトCTS_αをレイアウト修正することにより、IRドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、IRドロップによる動作障害を取り除くことができる。これにより、IRドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【0017】
【発明の実施の形態】
以下に本発明の実施の形態について、図を用いて説明する。
(実施の形態1)
図1は本発明の(実施の形態1)の半導体集積回路のレイアウトである。
【0018】
101,1031,1032,1041,1042は素子、10311,10321,10411,10421は各素子の入力端子、1012,10312,10322,10412,10422は各素子の出力端子である。
【0019】
1071,1072は配線で、それぞれ出力端子10312と入力端子10411および、出力端子10322と入力端子10421を接続している。
1061,1062は配線であり、それぞれノード104と入力端子10311、およびノード104と入力端子10321を接続している。また配線105は、出力端子1012とノード104を接続している。
【0020】
この図1のレイアウトでは、IRドロップを考慮せずにタイミング検証を行うと、タイミング違反がおきない状態であり、IRドロップを考慮すると、素子1031,1032がスイッチングするときにIRドロップを生じ、タイミング違反が発生する状態になっている。
【0021】
素子1031,1032の電流波形の模式図を図7(a)〜(c)に示す。
図7(a)〜(c)は、縦軸が電流、横軸が時間の電流波形図であり、7011が素子1031の電流波形、その半値幅が7012である。同様に7021が、素子1032の電流波形、その半値幅が7022である。素子1031と素子1032が消費する電流の総和の波形が7031である。
【0022】
このように、素子1031,1032は、互いに同期的に動作しており、素子1031,1032を有する回路全体は、波形7031の波形ピークのタイミングで大量の電流を消費する。
【0023】
図3は、図1に示した半導体集積回路の設計方法のフローチャートの模式図である。
ズレ時間計算工程300では、以下の処理を行う。
【0024】
前記素子A1,A2の総電流量の最大値が、希望電流量であるとき、IRドロップによる前記A1,A2の動作障害が生じないような値を設計者が設定する。まず、希望電流量307を入力する。次に、素子A2の動作タイミングが、素子A1と比較し(2*Tz)だけずれた状態における、素子Anが消費する総消費電流量を計算したとき、その最大値が、希望電流量307になるようなTzを計算し、ズレ時間Tzとして出力する。
【0025】
以下に、具体的な例を示す。
図13(a)(b)は、ズレ時間計算工程300を説明するための模式図である。
【0026】
図13(a)は初期状態での素子A1,A2の電流波形である。横軸が時刻であり、縦軸が電流量である。各電流波形は説明の簡略のため三角波であるとする。1302は素子A1の電流波形、1303は素子A2の電流波形であり、1302と1303は同一の形状の波形であるとする。1304は素子A1,A2の総電流量の波形であり、1302と1303を加算したものであり、最大値をImax0とする。1305は素子A1,A2の電流波形の半値幅W(単位は秒)である。
【0027】
また、図13(b)は素子A2の電流波形1303が、(2*Tz)だけ右に移動したときの総電流量の波形である。
このとき、総電流量1304の最大値の、Tzに関する関数 Imax(2*Tz)は、以下のように定義できる。
【0028】
Imax(2*Tz) = ((2*W)−(2*Tz)) / W * Imax0
この式を用いることで、Imax(2*Tz)が、前記希望電流量になるようなTzを容易に計算することができる。このように、希望電流量307からズレ時間Tzを計算することができる。
【0029】
図3におけるNA計算工程303では、以下の計算を行う。
配線1061,1062の抵抗成分データと容量成分のデータCsを有する、レイアウト修正前初段配線情報NAnRC0である302を用意する。
【0030】
まず、配線1061の抵抗成分R1と容量成分C1の積を(R1*C1)と定義する。そして、素子1031がズレ時間Tzだけ早く動作するためのR1*C1を算出する(式301−1)を立てる。
【0031】
具体的には、配線1061を伝達する信号の遅延は、その信号の傾きに依存する。また、その配線が接続している素子1031の動作遅延は、やはりその信号の傾きに依存する。
【0032】
信号の傾きは、配線の時定数(R1*C1)の関数で与えることができるので、遅延時間は、すべて(R1*C1)の関数として与えることができる。
たとえば、ノード104に信号が伝達されるタイミングを時刻0とし、レイアウト変更前の、ノード104から出力端子10312まで信号が伝達する伝達時間をT1oldとすると、(式301−1)は、
T1old − F1(R1*C1) = ズレ時間301   (式301−1)
で示される。ここでF1は、レイアウト変更後の、ノード104から素子の出力10312まで信号が伝達する伝達時間についての関数である。次に、配線1062の抵抗成分R2と容量成分C2の積を(R2*C2)と定義する。そして、素子1032が、ズレ時間Tzだけ遅く動作するための、(R2*C2)を算出するための(式301−2)を立てる。
【0033】
たとえば、ノード104に信号が伝達されるタイミングを時刻0とし、レイアウト変更前の、ノード104から出力端子10322まで信号が伝達する伝達時間をT2oldとすると、(式301−2)は、
F2(R2*C2) − T2old = ズレ時間301   (式301−2)
で示される。ここでF2は、レイアウト変更後の、ノード104から素子の出力10312まで信号が伝達する伝達時間についての関数である。
【0034】
そして、C1とC2の和と、レイアウト修正前初段配線情報302に含まれるC値の和が等しくなる条件式(式301−3)を立て、(式301−1)(式301−2)(式301−3)を連立して、それを満たすR1,C1,R2,C2を計算し、レイアウト修正後の配線1061および1062の寄生抵抗および寄生容量情報データを有するレイアウト修正後初段配線情報304として出力する。
【0035】
C1 + R2 = Cs                 (式301−3)
次に、NB計算工程305について説明する。
NB計算工程305では以下のような計算を行う。
【0036】
まず、配線1071の抵抗成分R3と容量成分C3の積を、(R3*C3)と定義する。
そして、素子1041がズレ時間301だけ遅く動作するための、(R3*C3)を算出するための(式303−1)を立てる。
【0037】
たとえば、レイアウト変更前の、出力端子10312から、次の段の素子の出力端子10412まで信号が伝達する伝達時間を、T3oldとすると、(式303−1)は、
F3(R3*C3) − T3old = ズレ時間301  (式303−1)で示される。ここでF3は、レイアウト変更後の、出力端子10312から、次の段の素子の出力端子10412まで信号が伝達する伝達時間についての関数である。
【0038】
次に、配線1072の抵抗成分R4と、容量成分C4の積を、(R4*C4)と定義する。そして、素子1042がズレ時間301だけ遅く動作するための、(R4*C4)を算出するための(式303−2)を立てる。
【0039】
たとえば、レイアウト変更前の、出力端子10322から、次の段の素子の出力端子10422まで信号が伝達する伝達時間をT4oldとすると、(式303−2)は、
T4old − F4(R4*C4) = ズレ時間301  (式303−2)
で示される。ここでF4は、レイアウト変更後の出力端子10322から次の段の素子の出力端子10422まで信号が伝達する伝達時間についての関数である。
【0040】
そして、C3,C4は定数とした状態で、(式303−1)および(式303−2)を連立して、それを満たすR3,R4を計算し、ここで得られたR3,C3,R4,C4を、レイアウト修正後の配線1071,1072の寄生抵抗および寄生容量情報データを有するレイアウト修正後次段配線情報306として出力する。
【0041】
図2は上記の設計方法により、レイアウト修正後初段配線情報304,レイアウト修正後次段配線情報306に記載の寄生容量情報および寄生抵抗情報を配線1061,1062,1071,1072に配線制約として反映し、レイアウト修正を行った半導体集積回路の模式図である。
【0042】
図8(a)〜(c)は、図2記載の素子1031および素子1032の電流波形と総電流波形の模式図である。縦軸が電流、横軸が時間の電流波形の図であり、8011が素子1031の電流波形、その半値幅が8012であり、同様に8021が素子1032の電流波形、その半値幅が8022である。
【0043】
素子1031,1032のスイッチングのタイミングは図1の状態を示している図7(c)と比較すると、図8(c)ではずれ時間301だけ動作タイミングが前後にずれているため、電流の総和の波形の最大値が抑制されている。
【0044】
このことにより、素子1031が動作する時刻、および素子1032が動作する時刻における電流消費量を低減して、これらの時刻でのIRドロップの発生を抑えることができる。
【0045】
しかも、二段目のバッファの出力端子における出力信号の出力時刻は、レイアウト修正前と後ではかわらないので、図1の回路を含む配線に対してタイミング修正を行う必要は無く、工数を削減することができる。
【0046】
(実施の形態2)
図6は、(実施の形態1)の半導体集積回路の設計方法を用いて回路修正を行う半導体集積回路の設計方法のフローの模式図である。
【0047】
601はレイアウトデータである。このレイアウトデータの模式図を図4(a)に示す。
4011,4012は素子、40111,40121は入力端子、40112,40122は出力端子、配線4013は、入力端子40111と図1に示した出力端子10412を接続している。配線4014は、入力端子40121と出力端子40112を接続している。図1の出力端子10422に接続されている配線、および素子については説明の簡略化のため省く。
【0048】
602は、KAIRO0遅延計算工程で、レイアウトデータ601を入力し、出力端子1012から出力端子10412(素子1041の出力端子)までの信号の伝達時間TABn0(TEMP)[n=1,2]、および出力端子10412から出力端子40112(素子4012の出力端子)までの信号の伝達時間TBDn0(TEMP)を求め、出力する。
【0049】
なお、TEMPは変数であり、値MAX若しくは値MINの何れかをとり、時間の計算を行う際には、引数TEMPに記載された温度条件に沿って計算を行うものとする。
【0050】
TABn0(MAX)およびTBDn0(MAX)を説明するための、時間に関する一次元グラフの模式図が、図5(a)の5011である。
511は、出力端子1012から入力端子10311に到るまでの信号の伝達時間であり、512は、入力端子10311から出力端子10312に到るまでの信号の伝達時間であり、513は、出力端子10312から入力端子10411に到るまでの信号の伝達時間、515は、出力端子10412から入力端子40111に到るまでの信号の伝達時間、516は、入力端子40111から出力端子40112に到るまでの信号の伝達時間、517は、出力端子40112から入力端子40121に到るまでの信号の伝達時間、518は、入力端子40121から出力端子40122に到るまでの信号の伝達時間、511から518は、TEMP=MAXの条件でレイアウトデータ601から計算された値であり、
TABn0(MAX)  = 511 + 512 + 513 + 514
TBDn0(MAX)  = 515 + 516 + 517 + 518
で定義されるTABn0(MAX)、TBDn0(MAX)を出力する。
【0051】
また、TABn0(MIN)およびTBDn0(MIN)を説明するための、時間に関する一次元グラフの模式図が図5(b)の5021である。
521は出力端子1012から入力端子10311に到るまでの信号の伝達時間、522は入力端子10311から出力端子10312に到るまでの信号の伝達時間、523は出力端子10312から入力端子10411に到るまでの信号の伝達時間、524は入力端子10411から出力端子10412に到るまでの信号の伝達時間、525は出力端子10412から入力端子40111に到るまでの信号の伝達時間、526は入力端子40111から出力端子40112に到るまでの信号の伝達時間、527は出力端子40112から入力端子40121に到るまでの信号の伝達時間、528は入力端子40121から出力端子40122に到るまでの信号の伝達時間、521から528はTEMP=MINの条件で、レイアウトデータ601から計算された値であり、
TABn0(MIN) = 521 + 522 + 523 + 524
TBDn0(MIN) = 525 + 526 + 527 + 528
で定義されるTABn0(MIN)、TBDn0(MIN)を出力する。
【0052】
603はKAIRO1作成工程であり、レイアウトデータ601を入力し、(実施の1)の半導体設計装置の設計方法を実施し、出力されたレイアウト修正後初段配線情報304、およびレイアウト修正後次段配線情報306をレイアウトに配線制約として与えてレイアウト修正を行い、レイアウトデータ604として出力する工程である。603のKAIRO1作成工程で得られたレイアウトデータ604の模式図を図4の(b)に示す。
【0053】
605はKAIRO1遅延時間計算工程であり、レイアウトデータ604を入力し、出力端子1012から出力端子10412(素子1041の出力端子)までの信号の伝達時間TABn1(TEMP)を計算し出力する工程である。
【0054】
TABn1(MAX)を説明するための、時間に関する一次元グラフの模式図が、図5(a)の5012である。
5111は、出力端子1012から入力端子10311に到るまでの信号の伝達時間、5121は、入力端子10311から出力端子10312に到るまでの信号の伝達時間、5131は、出力端子10312から入力端子10411に到るまでの信号の伝達時間、5141は、入力端子10411から出力端子10412に到るまでの信号の伝達時間であり、伝達時間5111から伝達時間5181は、TEMP=MAXの条件でレイアウトデータ604から計算された値であり、TABn1(MAX)は、
TABn1(MAX)  = 5111 + 5121 + 5131 + 5141
である。
【0055】
TABn1(MIN)を説明するための、時間に関する一次元グラフの模式図が、図5(b)の5022である。
5211は、出力端子1012から入力端子10311に到るまでの信号の伝達時間、5221は、入力端子10311から出力端子10312に到るまでの信号の伝達時間、5231は、出力端子10312から入力端子10411に到るまでの信号の伝達時間、5241は、入力端子10411から出力端子10412に到るまでの信号の伝達時間、5211から5281は、TEMP=MINの条件でレイアウトデータ604から計算された値であり、TABn1(MIN)は、
TABn1(MIN)  = 5211 + 5221 + 5231 + 5241
である。606は、TBDn1計算工程であり、
TABn0(TEMP) + TCDn0(TEMP) = TABn1(TEMP) + TCDn1(TEMP)
がすべての前記TEMPで満たされるためのTBDn1(TEMP)を計算し、TBDn_TARGET(TEMP)として出力する工程である。
【0056】
607は、TNC&TND計算工程である。このTNC&TND計算工程607を説明するための、時間に関する一次元グラフの模式図が、図5(a)の5013および図5(b)の5023である。
【0057】
5151は出力端子10412から入力端子40111に到るまでの信号の伝達時間変数TNCn(MAX)であり、5161は入力端子40111から出力端子40112に到るまでの信号の伝達時間関数であり、TNCn(MAX)を変数として有する関数TCn(MAX、TNCn(MAX))で定義される。
【0058】
5171は、出力端子40112から入力端子40121に到るまでの信号の伝達時間変数TNDn(MAX)であり、5181は、入力端子40121から出力端子40122に到るまでの信号の伝達時間関数であり、TNDn(MAX)を変数として有する関数TDn(MAX、TNDn(MAX))で定義される。
【0059】
5251は、出力端子10412から入力端子40111に到るまでの信号の伝達時間変数TNCn(MIN)であり、5261は、入力端子40111から出力端子40112に到るまでの信号の伝達時間関数であり、TNCn(MIN)を変数として有する関数TCn(MIN、TNCn(MIN))で定義される。
【0060】
5271は、出力端子40112から入力端子40121に到るまでの信号の伝達時間変数TNDn(MIN)であり、5281は、入力端子40121から出力端子40122に到るまでの信号の伝達時間関数であり、TNDn(MIN)を変数として有する関数TDn(MIN、TNDn1(MIN))で定義される。
【0061】
まず、TBDn_TARGET(TEMP)を入力する。次に、
TBDn_TARGET(MAX)= 5151 + 5161 + 5171 + 5181
TBDn_TARGET(MIN)= 5251 + 5261 + 5271 + 5281
を満たすTCn(TEMP)、およびTDn(TEMP)を計算し、
TCn(TEMP)である6071と、TDn(TEMP)である6072として出力する。
【0062】
608はRNC&RND計算工程である。
配線遅延は、波形の傾きをパラメータとする関数で記述され、波形の傾きは配線の寄生容量成分と寄生抵抗成分の積R*Cの関数で示される。配線遅延は、R*Cの関数で記述することができる。
【0063】
従って、この関数を解くことで、ある配線遅延を実現するためのR*Cを求めることができる。
本工程608では、寄生容量成分Cは一定とする。なぜなら、寄生容量成分を一定にすることで、その前の段の素子における出力端子容量を固定することができるため、前段の素子遅延を変化させることがないためである。
【0064】
そこで、まず、前記配線NCnにおける寄生容量を変えずに、前記NCnにおける信号の伝達時間が、TNCn(TEMP)になるような抵抗値RNCn(TEMP)および前記配線NDnにおける寄生容量を変えずに、前記NDnにおける信号の伝達時間が、TNDn(TEMP)になるような抵抗値RNDn(TEMP)を計算し、次に、前記RNCn(TEMP)をレイアウト修正後NCn配線情報6081として出力し、前記RNDn(TEMP)をレイアウト修正後NDn配線情報6082として出力する。
【0065】
なお、この図6では、説明の簡単のために、素子1031に対する修正方法に注目して説明を行ったが、素子1032についても同様の修正方法を実施する。
このように、(実施の形態2)の半導体集積回路の設計方法を用いることで、IRドロップにより動作障害のある素子1031および1032を有する回路401に対して、素子1031,1032の動作タイミングをずらさない、かつ、TEMP=MAXで最終段の素子の出力端子40122までの動作タイミングをずらさない、かつ、TEMP=MINで最終段の素子の出力端子40122までの動作タイミングをずらさない、という条件を満たすための、各配線の寄生抵抗成分および寄生容量成分の制約条件304,305,6081,6082が得られる。
【0066】
なお、これらの制約条件をレイアウトに反映させれば、レイアウト修正を行う事ができる。その模式図が、図4(c)である。
なお、これらの制約条件を実際の配線に反映させるには、たとえば、信号配線の周囲をシールド配線で取り囲み、抵抗値は信号配線の幅と長さで、容量値は信号配線とシールド配線との間隔で制御することで、制約を満たしてやればよい。
【0067】
図12は、信号配線をシールド配線で取り囲んだときの断面の様子を示した模式図である。
1201は信号配線であり、幅はW、高さはHである。1202はシールド配線であり、信号配線1201と同じ配線層に層に作成されており、シールド配線1202と信号配線1201の間隔はd1である。1203はシールド配線であり、信号配線1201のある配線層の一つ上の層に作成されており、シールド配線1203と信号配線1201の間隔はd2である。
【0068】
1204はシールド配線であり、信号配線1201のある配線層の一つ下の層に作成されており、シールド配線1204と信号配線1201の間隔はd2である。
【0069】
このとき、信号配線1201の単位長さあたりの抵抗値R0と容量値C0は、以下の通りある。なお、ρは抵抗率、ε1,ε2は誘電率である。
R0 = ρ / (W*H)   [Ω/m]
C0 = 2*ε1(H/d1) + 2*ε2(W/d2)   [C/m]
R0を変えるにはWを変化させればよい。C0を変えるにはd1を変化させればよい。このとき、W/d2が充分小さければ、Wの項は無視してよい。
【0070】
さらに、この配線構造を採用した配線の長さを増減させることで、配線全体の容量値及び抵抗値を変更することができる。
なお、ここまで説明してきた回路は、ファンアウトが2の回路であったが、ファンアウトが3以上であった場合も、適用可能である。
【0071】
一例として、ファンアウトが4である場合を説明する。
図11は、ファンアウトが4の半導体集積回路の模式図である。
1101,11021〜11024が素子であり、そのうち11021〜11024が、同期的に動作するためにIRドロップを生じてしまい、正常に動作しない素子である。
【0072】
11041〜11043がノードであり、11031〜11034が配線であり、素子とノードを接続している。
このとき、11031〜11034を、ふたつのグループGroupA1、GroupA2に分け、GroupA1に含まれている各配線を(実施の形態1)の配線NA1として取り扱い、GroupA2に含まれている各配線を、(実施の形態1)の配線NA2として取り扱うことで、(実施の形態2)の半導体集積回路の設計方法で得られる効果を、それぞれの配線および、その配線に繋がっている素子に対して与えることができる。
【0073】
(実施の形態3)
(実施の形態3)は、(実施の形態2)前記TNC&TND計算工程607を示す。
【0074】
図9に示すように、TNC&TND計算工程607は、
TBDn1(TEMP) = TBDn_TARGET(TEMP)
は、前記TNCn(MAX)および前記TNDn(MAX)とする複数の二次多項式で表現され、前記二次多項式を満たす前記TCn(MAX)および前記TDn(MAX)を計算し、解Canswerおよび解Danswerを出力する多項式計算工程901と、素子Cnが正常に動作するTCn(MAX)の範囲である範囲条件Ccondおよび素子Dnが正常に動作するTDn(MIN)の範囲である範囲条件Dcondを前記Canswerおよび前記Danswerが満たすか否かを判定し、満たさなければ処理を終了し、満たしていれば前記Canswerを前記TNCn(TEMP)として出力し、前記Danswerを前記TNDn(TEMP)として出力する判断工程904とを有している。
【0075】
多項式計算工程901は、以下のような計算を行う。
まず、配線の信号伝達時間を以下のように定義しする。これによりMAX条件時の配線伝達時間で、MIN条件時の伝達時間を記述できる。なお、Knetは定数である。
【0076】
TNCn(MIN) = Knet * TNCn(MAX)
TNDn(MIN) = Knet * TNDn(MAX)
次に、素子内部の信号伝達時間について、MAX条件は以下のように定義する。
【0077】
これにより、MAX条件では、素子の信号伝達時間は、入力端子に接続されている配線の伝達時間の関数として記述することができる。なお、a,b,c,e,fは定数である。なお、 TNCn(MAX)^2 は  TNCn(MAX)  を二乗することを意味する。
【0078】
TCn(MAX) = a + b * TNCn(MAX) + c * TNCn(MAX)^2
TDn(MAX)= d + e * TNDn(MAX) + f * TNDn(MAX)^2
また、MIN条件は、以下のように定義する。これによりMAX条件時の素子内部の伝達時間で、MIN条件時の素子の内部の伝達時間を記述できる。なお、Kcellは定数である。
【0079】
TCn(MIN) = Kcell * TCn(MAX)
TDn(MIN) = Kcell * TDn(MAX)
以上のことから、TBDn1(TEMP)は、以下のように記述できる。このように、TBDn(TEMP)は、TNCn(MAX)およびTNDn(MAX)の二次多項式として記述できる。
【0080】

Figure 2004030086
したがって、式1は、以下のように、二本の二次多項式として記述できる。
【0081】
TBDn(MAX) = TBDn_TARGET(MAX)  ・・・(式9−1)
TBDn(MIN) = TBDn_TARGET(MIN)  ・・・(式9−2)
つぎに、この二本の二次多項式、(式9−1)と(式9−2)を満たすTNCn(MAX)、TNDn(MAX)を計算する。この計算の過程に関する模式図が、図10であり、X軸がTNCn(MAX)、Y軸がYNDn(MAX)の二次元グラフである。
【0082】
1001は、(式9−1)を図示したものであり、1002は(式9−2)を図示したものである。
1005は、1001と1002の交点であり、この交点が、(式9−1)と(式9−2)の両方を満たすTNCn(MAX)、TNDn(MAX)となる。
【0083】
そして、この交点の座標を、多項式の解Canswerである902、多項式の解Danswerである903として出力する。
なお、この交点の座標に負の値が含まれている場合は、本工程で処理を中断する。
この場合、配線の負荷をコントロールしたたけでは、タイミング修正を収束させることができない。
【0084】
904は判断工程であり、多項式計算工程901で得られた解がレイアウト上で作成可能であることを確認する工程である。
905はNCn制約条件Ccondであり、配線NCn4013の信号伝達時間の上限値および下限値を有する。
【0085】
上限値は、ライブラリ精度保証範囲、波形がなまることによる信号の対ノイズ耐性などにより決定される。下限値は、配線負荷が最も小さくなるように配線NCnをレイアウト上に敷設したときの、NCnの信号伝達時間である。
【0086】
906はNDn制約条件Dcondであり、配線NDn4014の配線伝達時間の上限値および下限値を有する。
上限値および下限値は、NCn制約条件Ccond905で、それを決定した方法を配線NDnに対して当てはめることで決定される。
【0087】
まず、前記多項式計算工程901から出力された解Canswer902、Danswer903、NCn制約条件Ccond905、NDn制約条件Dcond906を入力する。
【0088】
次に、「解Canswer902が、NCn制約条件Ccond905を満たし、かつ、解Danswer903が、NDn制約条件Dcond906を満たす」を判断し、偽であれば、処理を終了する。この場合、解は存在するが、現在のレイアウトでは実現することができない。
【0089】
真であれば、CanswerをTNCn(MAX)6071として出力し、DanswerをTNDn(MAX)6072として出力する。
以上のように、(実施の形態2)の半導体集積回路の設計方法を用いることで、IRドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、IRドロップによる動作障害を取り除くことができる。これにより、IRドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【0090】
また以上のように、(実施の形態3)の半導体集積回路の設計方法を用いることで、実際にレイアウト修正を行う前に、(実施の形態2)の半導体集積回路の設計方法の実施可能性を吟味することができるので、実施不可能なレイアウト修正工程を実施して失敗することが無くなり、工数面で効率的な設計作業を行うことが可能である。
【0091】
【発明の効果】
以上のように本発明によると、クロックツリーのバッファの動作タイミングを、修正の対象となるクロックバッファの動作タイミングをずらすことで、このクロックバッファがスイッチングするときの総消費電流量を抑制することでIRドロップによる回路誤動作を防ぎ、さらに、クロックツリー全体の負荷バランスの再調整を自動的に行うことで、IRドロップ調整に伴うスキューの悪化を防ぎ、スキュー再調整の工数を省くことにより、工数を削減し、チップの動作速度を犠牲にすることなく、回路の完成度を向上させることができ、IRドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、IRドロップによる動作障害を取り除くことができる。これにより、IRドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【図面の簡単な説明】
【図1】本発明の(実施の形態1)における半導体集積回路のレイアウトの模式図
【図2】レイアウト修正を行った半導体集積回路の模式図
【図3】本発明の(実施の形態1)における半導体集積回路の設計方法のフローチャートの模式図
【図4】レイアウトデータの模式図
【図5】MAX条件での時間に関する一次元グラフとMIN条件での時間に関する一次元グラフの模式図
【図6】本発明の(実施の形態2)における半導体集積回路の設計方法のフローの模式図
【図7】図1の素子1031および素子1032の電流波形の模式図
【図8】図2の素子1031および素子1032の電流波形の模式図
【図9】本発明の(実施の形態3)における半導体集積回路の設計方法のフローの模式図
【図10】多項式計算工程での計算過程に関する模式図
【図11】ファンアウトが4の半導体集積回路の模式図
【図12】信号配線をシールド配線で取り囲んだときの断面の様子を示した模式図
【図13】本発明の(実施の形態1)のズレ時間計算工程を説明するための模式図
【符号の説明】
101,1031,1032,1041,1042  素子
104  ノード
10311,10321,10411,10421  入力端子
10312,10322,10412,10422,1012  出力端子
105,1061,1062,1071,1072  配線
301  ズレ時間
302  レイアウト修正前初段配線情報NAnRC0
303  NA計算工程
304  レイアウト修正後初段配線情報
305  NB計算工程
306  レイアウト修正後次段配線情報
4011,4012  素子
40111,40121  入力端子
40112,40122  出力端子
4013,4014  配線
5011  TABn0(MAX)およびTBDn0(MAX)を説明するための,時間に関する一次元グラフの模式図
511  出力端子1012から入力端子10311に到るまでの信号の伝達時間
512  入力端子10311から出力端子10312に到るまでの信号の伝達時間
513  出力端子10312から入力端子10411に到るまでの信号の伝達時間
514  入力端子10411から出力端子10412に到るまでの信号の伝達時間
515  出力端子10412から入力端子40111に到るまでの信号の伝達時間
516  入力端子40111から出力端子40112に到るまでの信号の伝達時間
517  出力端子40112から入力端子40121に到るまでの信号の伝達時間
518  入力端子40121から出力端子40122に到るまでの信号の伝達時間
5012  TABn1(MAX)を説明するための,時間に関する一次元グラフの模式図
5111  出力端子1012から入力端子10311に到るまでの信号の伝達時間
5121  入力端子10311から出力端子10312に到るまでの信号の伝達時間
5131  出力端子10312から入力端子10411に到るまでの信号の伝達時間
5141  入力端子10411から出力端子10412に到るまでの信号の伝達時間
5022  TABn1(MIN)を説明するための,時間に関する一次元グラフの模式図
5211  出力端子1012から入力端子10311に到るまでの信号の伝達時間
5221  入力端子10311から出力端子10312に到るまでの信号の伝達時間
5231  出力端子10312から入力端子10411に到るまでの信号の伝達時間
5241  入力端子10411から出力端子10412に到るまでの信号の伝達時間
5013  MAX条件でのTNC&TND計算工程を説明するための時間に関する一次元グラフの模式図
5151 出力端子10412から入力端子40111に到るまでの信号の伝達時間変数
5161 入力端子40111から出力端子40112に到るまでの信号の伝達時間関数
5171 出力端子40112から入力端子40121に到るまでの伝達時間変数
5181 入力端子40121から出力端子40122に到るまでの伝達時間関数
5023 MIN条件でのTNC&TND計算工程を説明するための時間に関する一次元グラフの模式図
5251 出力端子10412から入力端子40111に到るまでの伝達時間変数
5261 入力端子40111から出力端子40112に到るまでの伝達時間関数
5271 出力端子40112から入力端子40121に到るまでの伝達時間変数
5281 入力端子40121から出力端子40122に到るまでの伝達時間関数
5021 TABn0(MIN)およびTBDn0(MIN)を説明するための時間に関する一次元グラフの模式図
521 出力端子1012から入力端子10311に到るまでの伝達時間
522 入力端子10311から出力端子10312に到るまでの伝達時間
523 出力端子10312から入力端子10411に到るまでの伝達時間
524 入力端子10411から出力端子10412に到るまでの伝達時間
525 出力端子10412から入力端子40111に到るまでの伝達時間
526 入力端子40111から出力端子40112に到るまでの伝達時間
527 出力端子40112から入力端子40121に到るまでの伝達時間
528 入力端子40121から出力端子40122に到るまでの伝達時間
601 レイアウトデータ
602 KAIRO0遅延計算工程
603 KAIRO1作成工程
604 レイアウトデータ
605 KAIRO1遅延時間計算工程
606 TBDn1計算工程
607 TNC&TND計算工程
608 RNC&RND計算工程
7011 素子1031の電流波形図
7012 素子1031の電流波形の半値幅
7021 素子1032の電流波形図
7022 素子1032の電流波の半値幅
7031 素子1031と素子1032が消費する電流の総和の波形図
8011 素子1031の電流波形図
8012 素子1031の電流波形の半値幅
8021 素子1032の電流波形図
8022 素子1032の電流波形の半値幅
8031 素子1031と素子1032が消費する電流の総和の波形図
901  多項式計算工程
902  多項式の解Canswer
903  多項式の解Danswer
904  判断工程
905  NCn制約条件Ccond
906  NDn制約条件Dcond
1001 (式9−1)を図示した図
1002 (式9−2)を図示した図
1005 1001と1002の交点
1101,11021,11022,11023,11024 素子
11041,11042,11043 ノード
11031,11032,11033,11034 配線
1201 信号配線
1202,1203,1204 シールド配線
1302 素子A1の電流波形図
1303 素子A2の電流波形図
1304 素子Anの総電流量の波形図
1305 素子Anの電流波形の半値幅W[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for correcting the operation timing of a buffer of a clock tree in a short man-hour in designing a semiconductor integrated circuit.
[0002]
[Prior art]
In a conventional method for designing a semiconductor integrated circuit, a clock tree (CTS) is designed so that the load balance between buffers is uniform between the same branches. This is to prevent the skew generated in the final stage FF from changing even when the temperature condition changes.
[0003]
However, in this case, since the clock buffers in the same stage operate synchronously, a circuit including this clock buffer requires a large current at the time when the clock buffer switches. There is a problem that this current easily induces an IR drop.
[0004]
To address this problem, the conventional semiconductor integrated circuit design method uses an IR drop analysis tool to identify the clock buffer that is causing the IR drop and to modify the layout such as strengthening the power supply wiring and changing the cell layout. After that, the timing is adjusted again.
[0005]
[Problems to be solved by the invention]
However, in this conventional correction method, if the clock buffer is moved or the wiring path is changed by layout correction, the load balance of each branch of the clock tree is lost.
[0006]
When the load balance is lost, the ratio of the gate delay amount to the wiring delay amount from the clock port to each flip-flop varies for each flip-flop.
[0007]
In this state, even if the timing is adjusted, a change in skew due to a change in temperature occurs, so that the final skew becomes worse as compared to before the layout correction.
[0008]
Such a decrease in the timing margin due to the deterioration of the skew is a great obstacle to speeding up the chip. Therefore, it is necessary to readjust the skew again, which requires a large number of steps.
[0009]
An object of the present invention is to solve the above problem and provide a method of designing a semiconductor integrated circuit which can omit a skew readjustment step at the time of IR drop correction for a clock buffer causing an operation failure due to IR drop. And
[0010]
[Means for Solving the Problems]
According to the method of designing a semiconductor integrated circuit of the present invention, when CTS buffers are the main causes of IR drop, a tree constituting a branched tree is shifted, and a buffer behind the tree is shifted in a direction to absorb temperature variations and repaired. Things.
[0011]
First, the clock buffers A1 and A2 (hereinafter, referred to as elements A1 and A2) causing an operation failure due to the IR drop and the clock tree CTS_α including the clock buffer S for driving a buffer group including the buffers are referred to as clock buffers S1 and A2. (Hereinafter referred to as the element S) to increase the load on the wiring NA1 from the element A1 to the element A1, reduce the load on the wiring NA2 from the element S to the element A2, and sum the amounts of these changes. Is output as the wiring information about the parasitic component of NAn such that is zero.
[0012]
By using this wiring condition, the timings of the element A1 and the element A2 can be shifted.
As the amount of the shift time, the maximum value among the half widths of the current waveforms of the elements A1 and A2 is used.
[0013]
However, in this state, since the operation timings of the elements in the next and subsequent stages are shifted, they are corrected in the next step.
Next, the wiring load from A1 to B1 is reduced, and the wiring load from A2 to B2 is reduced for the wiring NBn until An [n = 1, 2] reaches the element Bn to be driven. And the transmission time of the signal of NBn is adjusted so that the arrival time of the signal from S to Bn becomes the same value in CTS_α, and the parasitic component of NBn in that state is adjusted. Output wiring information. It is assumed that the temperature condition at the time of performing this adjustment is the maximum value.
[0014]
However, at this time, when the temperature condition reaches another minimum value, the arrival time of the signal from S to Bn does not become the same value in CTS_α, and is corrected in the next step.
[0015]
Next, for the element Cn in which Bn is driven via the wiring NCn and the element Dn in which Cn is driven via the wiring NDn, the signal arrival time from S to Dn when the temperature condition is maximum is obtained. When the temperature is the same and the temperature condition is the minimum, the signal transmission time TNCn of the wiring NCn and the signal transmission time TNDn of the broken line NDn for matching the signal arrival times from S to Dn are calculated, In the wiring NCn, the transmission time is TNDn without changing the output terminal capacitance of the previous stage in the wiring resistance RNCn and the wiring NDn of NCn such that the transmission time becomes TNCn without changing the output terminal capacitance of the previous stage. The wiring resistance RNDn of NDn is output as wiring information of wiring NCn and wiring information of wiring NDn.
[0016]
The skew is changed for a plurality of temperature conditions with respect to the clock buffer causing the operation failure due to the IR drop by modifying the layout CTS_α after reflecting the wiring information in the constraint condition of each wiring. By shifting the timing without reducing the peak current, it is possible to eliminate the operation failure due to the IR drop. As a result, the skew readjustment step at the time of IR drop correction can be omitted, so that the number of steps can be significantly reduced.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(Embodiment 1)
FIG. 1 is a layout of a semiconductor integrated circuit according to the first embodiment of the present invention.
[0018]
Reference numerals 101, 1031, 1032, 1041, and 1042 denote elements, 10311, 10321, 10411, and 10421 denote input terminals of the elements, and 1012, 10312, 10322, 10412, and 10422 denote output terminals of the elements.
[0019]
Reference numerals 1071 and 1072 denote wirings, which connect the output terminal 10312 and the input terminal 10411 and the output terminal 10322 and the input terminal 10421, respectively.
Reference numerals 1061 and 1062 denote wirings, which connect the node 104 to the input terminal 10311 and the node 104 to the input terminal 10321, respectively. The wiring 105 connects the output terminal 1012 and the node 104.
[0020]
In the layout of FIG. 1, when timing verification is performed without considering the IR drop, a timing violation does not occur. When the IR drop is considered, an IR drop occurs when the elements 1031 and 1032 switch, and A violation has occurred.
[0021]
FIGS. 7A to 7C are schematic diagrams of current waveforms of the elements 1031 and 1032.
7A to 7C are current waveform diagrams in which the ordinate represents current and the abscissa represents time, where 7011 is the current waveform of the element 1031 and its half-value width is 7012. Similarly, reference numeral 7021 denotes a current waveform of the element 1032, and its half-value width is 7022. The waveform of the sum of the currents consumed by the elements 1031 and 1032 is 7031.
[0022]
As described above, the elements 1031 and 1032 operate synchronously with each other, and the entire circuit including the elements 1031 and 1032 consumes a large amount of current at the timing of the peak of the waveform 7031.
[0023]
FIG. 3 is a schematic diagram of a flowchart of a method of designing the semiconductor integrated circuit shown in FIG.
In the shift time calculation step 300, the following processing is performed.
[0024]
When the maximum value of the total current amount of the elements A1 and A2 is the desired current amount, the designer sets a value that does not cause the operation failure of the A1 and A2 due to the IR drop. First, a desired current amount 307 is input. Next, when the total amount of current consumed by the element An in a state where the operation timing of the element A2 is shifted from the element A1 by (2 * Tz) is calculated, the maximum value becomes the desired current amount 307. The calculated Tz is calculated and output as the shift time Tz.
[0025]
The following is a specific example.
FIGS. 13A and 13B are schematic diagrams for explaining the shift time calculating step 300. FIG.
[0026]
FIG. 13A shows current waveforms of the elements A1 and A2 in the initial state. The horizontal axis represents time, and the vertical axis represents current. Each current waveform is assumed to be a triangular wave for simplicity of explanation. 1302 is a current waveform of the element A1, 1303 is a current waveform of the element A2, and 1302 and 1303 are waveforms having the same shape. Reference numeral 1304 denotes a waveform of the total current amount of the elements A1 and A2, which is obtained by adding 1302 and 1303, and the maximum value is set to Imax0. Reference numeral 1305 denotes a half width W (unit is seconds) of the current waveforms of the elements A1 and A2.
[0027]
FIG. 13B is a waveform of the total current amount when the current waveform 1303 of the element A2 moves rightward by (2 * Tz).
At this time, a function Imax (2 * Tz) related to Tz of the maximum value of the total current amount 1304 can be defined as follows.
[0028]
Imax (2 * Tz) = ((2 * W)-(2 * Tz)) / W * Imax0
By using this equation, Tz such that Imax (2 * Tz) becomes the desired current amount can be easily calculated. Thus, the shift time Tz can be calculated from the desired current amount 307.
[0029]
In the NA calculation step 303 in FIG. 3, the following calculation is performed.
A pre-layout correction initial-stage wiring information NAnRC0 302 having resistance component data and capacitance component data Cs of the wirings 1061 and 1062 is prepared.
[0030]
First, the product of the resistance component R1 and the capacitance component C1 of the wiring 1061 is defined as (R1 * C1). Then, R1 * C1 for operating the element 1031 earlier by the shift time Tz is calculated (Equation 301-1).
[0031]
Specifically, the delay of a signal transmitted through the wiring 1061 depends on the slope of the signal. The operation delay of the element 1031 to which the wiring is connected also depends on the slope of the signal.
[0032]
Since the slope of the signal can be given as a function of the time constant (R1 * C1) of the wiring, all the delay times can be given as a function of (R1 * C1).
For example, if the timing at which a signal is transmitted to the node 104 is time 0 and the transmission time during which the signal is transmitted from the node 104 to the output terminal 10312 before the layout change is T1old, (Equation 301-1) becomes
T1old−F1 (R1 * C1) = shift time 301 (formula 301-1)
Indicated by Here, F1 is a function of a transmission time for a signal to be transmitted from the node 104 to the output 10312 of the element after the layout is changed. Next, the product of the resistance component R2 and the capacitance component C2 of the wiring 1062 is defined as (R2 * C2). Then, (Equation 301-2) for calculating (R2 * C2) for the element 1032 to operate late by the shift time Tz is set.
[0033]
For example, assuming that the timing at which a signal is transmitted to the node 104 is time 0 and the transmission time at which the signal is transmitted from the node 104 to the output terminal 10322 before the layout change is T2old, (Equation 301-2) becomes
F2 (R2 * C2) -T2old = shift time 301 (Equation 301-2)
Indicated by Here, F2 is a function of a transmission time for a signal to be transmitted from the node 104 to the output 10312 of the element after the layout is changed.
[0034]
Then, a conditional expression (Equation 301-3) is established in which the sum of C1 and C2 is equal to the sum of the C values included in the first-stage wiring information 302 before layout correction, and (Equation 301-1) (Equation 301-2) ( Equations 301-3) are simultaneously calculated, and R1, C1, R2, and C2 satisfying the equations are calculated, and the layout-corrected first-stage wiring information 304 including the parasitic resistance and parasitic capacitance information data of the wirings 1061 and 1062 after the layout correction. Output.
[0035]
C1 + R2 = Cs (Equation 301-3)
Next, the NB calculation step 305 will be described.
In the NB calculation step 305, the following calculation is performed.
[0036]
First, the product of the resistance component R3 and the capacitance component C3 of the wiring 1071 is defined as (R3 * C3).
Then, an expression (303-1) for calculating (R3 * C3) for the element 1041 to operate late by the shift time 301 is set.
[0037]
For example, assuming that the transmission time for transmitting a signal from the output terminal 10312 before the layout change to the output terminal 10412 of the element at the next stage is T3old, (Equation 303-1) becomes
F3 (R3 * C3) -T3old = shift time 301 (Formula 303-1). Here, F3 is a function of a transmission time in which a signal is transmitted from the output terminal 10312 after the layout change to the output terminal 10412 of the next-stage element.
[0038]
Next, the product of the resistance component R4 of the wiring 1072 and the capacitance component C4 is defined as (R4 * C4). Then, an expression 303-2 for calculating (R4 * C4) for the element 1042 to operate late by the shift time 301 is set.
[0039]
For example, if the transmission time for transmitting a signal from the output terminal 10322 before the layout change to the output terminal 10422 of the element at the next stage is T4old, (Equation 303-2) becomes
T4old−F4 (R4 * C4) = shift time 301 (formula 303-2)
Indicated by Here, F4 is a function of a transmission time for transmitting a signal from the output terminal 10322 after the layout change to the output terminal 10422 of the next-stage element.
[0040]
Then, while C3 and C4 are constants, (Equation 303-1) and (Equation 303-2) are simultaneously established, and R3 and R4 satisfying the equations are calculated, and the obtained R3, C3 and R4 are obtained. , C4 are output as layout-corrected next-stage wiring information 306 having data on parasitic resistance and parasitic capacitance of the wirings 1071 and 1072 after layout correction.
[0041]
FIG. 2 shows the parasitic capacitance information and the parasitic resistance information described in the layout-corrected first-stage wiring information 304 and the layout-corrected next-stage wiring information 306 as wiring restrictions by the above-described design method on the wirings 1061, 1062, 1071, and 1072. FIG. 3 is a schematic diagram of a semiconductor integrated circuit whose layout has been corrected.
[0042]
8A to 8C are schematic diagrams of the current waveform and the total current waveform of the element 1031 and the element 1032 shown in FIG. The vertical axis is the current waveform, and the horizontal axis is the current waveform with time. 8011 is the current waveform of the element 1031 and its half-value width is 8012, and similarly, 8021 is the current waveform of the element 1032 and its half-value width is 8022. .
[0043]
The switching timing of the elements 1031 and 1032 is compared with FIG. 7C showing the state of FIG. 1, and in FIG. The maximum value of the waveform is suppressed.
[0044]
Thus, the amount of current consumption at the time when the element 1031 operates and the time at which the element 1032 operates can be reduced, and occurrence of an IR drop at these times can be suppressed.
[0045]
Moreover, since the output time of the output signal at the output terminal of the buffer in the second stage does not change before and after the layout correction, there is no need to correct the timing of the wiring including the circuit of FIG. be able to.
[0046]
(Embodiment 2)
FIG. 6 is a schematic diagram of a flow of a method for designing a semiconductor integrated circuit in which a circuit is modified using the method for designing a semiconductor integrated circuit according to the first embodiment.
[0047]
Reference numeral 601 denotes layout data. FIG. 4A is a schematic diagram of the layout data.
Reference numerals 4011 and 4012 denote elements, reference numerals 40111 and 40121 denote input terminals, reference numerals 40112 and 40122 denote output terminals, and a wiring 4013 connects the input terminal 40111 to the output terminal 10412 shown in FIG. The wiring 4014 connects the input terminal 40121 and the output terminal 40112. Wirings and elements connected to the output terminal 10422 in FIG. 1 are omitted for simplification of description.
[0048]
Reference numeral 602 denotes a KAIRO0 delay calculation step in which the layout data 601 is input, the signal transmission time TABn0 (TEMP) [n = 1, 2] from the output terminal 1012 to the output terminal 10412 (the output terminal of the element 1041), and the output A transmission time TBDn0 (TEMP) of a signal from the terminal 10412 to the output terminal 40112 (the output terminal of the element 4012) is obtained and output.
[0049]
TEMP is a variable, and takes either the value MAX or the value MIN. When calculating the time, the calculation is performed according to the temperature condition described in the argument TEMP.
[0050]
A schematic diagram of a one-dimensional graph with respect to time for explaining TABn0 (MAX) and TBDn0 (MAX) is 5011 in FIG.
511 is the transmission time of the signal from the output terminal 1012 to the input terminal 10311, 512 is the transmission time of the signal from the input terminal 10311 to the output terminal 10312, and 513 is the output time of the output terminal 10312. 515 is a signal transmission time from the output terminal 10412 to the input terminal 40111, and 516 is a signal transmission time from the output terminal 10412 to the input terminal 40111. Is the transmission time of the signal from the output terminal 40112 to the input terminal 40121, 518 is the transmission time of the signal from the input terminal 40121 to the output terminal 40122, and 511 to 518 are the TEMP = Value calculated from the layout data 601 under the condition MAX
TABn0 (MAX) = 511 + 512 + 513 + 514
TBDn0 (MAX) = 515 + 516 + 517 + 518
Are output as TABn0 (MAX) and TBDn0 (MAX).
[0051]
FIG. 5B is a schematic diagram of a one-dimensional graph related to time for explaining TABn0 (MIN) and TBDn0 (MIN).
521 is the transmission time of the signal from the output terminal 1012 to the input terminal 10311, 522 is the transmission time of the signal from the input terminal 10311 to the output terminal 10312, and 523 is the transmission time of the signal from the output terminal 10312 to the input terminal 10411. 524 is the transmission time of the signal from the input terminal 10411 to the output terminal 10412, 525 is the transmission time of the signal from the output terminal 10412 to the input terminal 40111, and 526 is the input terminal 40111 527 is a signal transmission time from the output terminal 40112 to the input terminal 40121, and 528 is a signal transmission time from the input terminal 40121 to the output terminal 40122. Time, 521 to 528 are layout data under the condition of TEMP = MIN Is the calculated value from 01,
TABn0 (MIN) = 521 + 522 + 523 + 524
TBDn0 (MIN) = 525 + 526 + 527 + 528
Are output as TABn0 (MIN) and TBDn0 (MIN).
[0052]
Reference numeral 603 denotes a KAIRO1 creating process, in which layout data 601 is input, the design method of the semiconductor design apparatus of (Embodiment 1) is performed, and the output layout-corrected first-stage wiring information 304 and the layout-corrected next-stage wiring information output. This is a step of correcting the layout by giving 306 as a wiring constraint to the layout and outputting the layout data 604. FIG. 4B is a schematic diagram of the layout data 604 obtained in the KAIRO1 creation step 603.
[0053]
Reference numeral 605 denotes a KAIRO1 delay time calculation step in which the layout data 604 is input, and the transmission time TABn1 (TEMP) of the signal from the output terminal 1012 to the output terminal 10412 (the output terminal of the element 1041) is calculated and output.
[0054]
A schematic diagram of a one-dimensional graph relating to time for explaining TABn1 (MAX) is shown by 5012 in FIG.
5111 is a signal transmission time from the output terminal 1012 to the input terminal 10311, 5121 is a signal transmission time from the input terminal 10311 to the output terminal 10312, and 5131 is a signal transmission time from the output terminal 10312 to the input terminal 10411. Is the transmission time of the signal from the input terminal 10411 to the output terminal 10412, and the transmission time 5111 to the transmission time 5181 is the layout data 604 under the condition of TEMP = MAX. TABn1 (MAX) is a value calculated from
TABn1 (MAX) = 5111 + 5121 + 5131 + 5141
It is.
[0055]
A schematic diagram of a one-dimensional graph with respect to time for explaining TABn1 (MIN) is indicated by 5022 in FIG. 5B.
5211 is the transmission time of the signal from the output terminal 1012 to the input terminal 10311, 5221 is the transmission time of the signal from the input terminal 10311 to the output terminal 10312, and 5231 is the transmission time of the signal from the output terminal 10312 to the input terminal 10411. , 5241 is a signal transmission time from the input terminal 10411 to the output terminal 10412, and 5211 to 5281 are values calculated from the layout data 604 under the condition of TEMP = MIN. Yes, TABn1 (MIN) is
TABn1 (MIN) = 5211 + 5221 + 5231 + 5241
It is. 606 is a TBDn1 calculation step,
TABn0 (TEMP) + TCDn0 (TEMP) = TABn1 (TEMP) + TCDn1 (TEMP)
Is a step of calculating TBDn1 (TEMP) for satisfying all the TEMPs and outputting the result as TBDn_TARGET (TEMP).
[0056]
Reference numeral 607 denotes a TNC & TND calculation step. Schematic diagrams of a one-dimensional graph relating to time for explaining the TNC & TND calculation step 607 are 5013 in FIG. 5A and 5023 in FIG. 5B.
[0057]
Reference numeral 5151 denotes a transmission time variable TNCn (MAX) of a signal from the output terminal 10412 to the input terminal 40111, and reference numeral 5161 denotes a transmission time function of a signal from the input terminal 40111 to the output terminal 40112. MAX) is defined as a function TCn (MAX, TNCn (MAX)) having MAX as a variable.
[0058]
5171 is a transmission time variable TNDn (MAX) of the signal from the output terminal 40112 to the input terminal 40121, 5181 is a transmission time function of the signal from the input terminal 40121 to the output terminal 40122, It is defined by a function TDn (MAX, TNDn (MAX)) having TNDn (MAX) as a variable.
[0059]
5251 is a transmission time variable TNCn (MIN) of a signal from the output terminal 10412 to the input terminal 40111, and 5261 is a transmission time function of a signal from the input terminal 40111 to the output terminal 40112, It is defined by a function TCn (MIN, TNCn (MIN)) having TNCn (MIN) as a variable.
[0060]
5271 is a transmission time variable TNDn (MIN) of a signal from the output terminal 40112 to the input terminal 40121, 5281 is a transmission time function of a signal from the input terminal 40121 to the output terminal 40122, It is defined by a function TDn (MIN, TNDn1 (MIN)) having TNDn (MIN) as a variable.
[0061]
First, TBDn_TARGET (TEMP) is input. next,
TBDn_TARGET (MAX) = 5151 + 5161 + 5171 + 5181
TBDn_TARGET (MIN) = 5251 + 5261 + 5271 + 5281
TCn (TEMP) and TDn (TEMP) satisfying
Output as 6071 which is TCn (TEMP) and 6072 which is TDn (TEMP).
[0062]
Reference numeral 608 denotes an RNC & RND calculation step.
The wiring delay is described by a function using the slope of the waveform as a parameter, and the slope of the waveform is represented by a function of a product R * C of a parasitic capacitance component and a parasitic resistance component of the wiring. The wiring delay can be described by a function of R * C.
[0063]
Therefore, by solving this function, R * C for realizing a certain wiring delay can be obtained.
In this step 608, the parasitic capacitance component C is fixed. This is because, by keeping the parasitic capacitance component constant, the output terminal capacitance of the element in the preceding stage can be fixed, so that the element delay in the preceding stage is not changed.
[0064]
Therefore, first, without changing the parasitic capacitance in the wiring NCn, without changing the resistance value RNCn (TEMP) and the parasitic capacitance in the wiring NDn so that the signal transmission time in the NCn becomes TNCn (TEMP). The resistance value RNDn (TEMP) is calculated so that the signal transmission time at the NDn becomes TNDn (TEMP). Next, the RNCn (TEMP) is output as the layout-corrected NCn wiring information 6081, and the RNDn (TEMP) is output. TEMP) is output as NDn wiring information 6082 after layout modification.
[0065]
In FIG. 6, for the sake of simplicity, the description is focused on the correction method for the element 1031. However, the same correction method is applied to the element 1032.
As described above, by using the method for designing a semiconductor integrated circuit according to (Embodiment 2), the operation timing of the elements 1031 and 1032 is shifted with respect to the circuit 401 having the elements 1031 and 1032 having the operation failure due to the IR drop. In addition, the following conditions are satisfied: TEMP = MAX, the operation timing to the output terminal 40122 of the last-stage element is not shifted, and TEMP = MIN, the operation timing to the output terminal 40122 of the last-stage element is not shifted. For this purpose, constraint conditions 304, 305, 6081, and 6082 of the parasitic resistance component and the parasitic capacitance component of each wiring are obtained.
[0066]
If these constraints are reflected in the layout, the layout can be modified. FIG. 4C is a schematic diagram thereof.
To reflect these restrictions on the actual wiring, for example, surround the signal wiring with a shield wiring, the resistance value is the width and length of the signal wiring, and the capacitance value is the distance between the signal wiring and the shield wiring. The control may be performed at intervals to satisfy the constraint.
[0067]
FIG. 12 is a schematic diagram showing a state of a cross section when a signal wiring is surrounded by a shield wiring.
Reference numeral 1201 denotes a signal wiring, which has a width W and a height H. Reference numeral 1202 denotes a shield wiring, which is formed in the same wiring layer as the signal wiring 1201 and has a distance d1 between the shield wiring 1202 and the signal wiring 1201. Reference numeral 1203 denotes a shield wiring, which is formed in a layer immediately above the wiring layer having the signal wiring 1201, and the distance between the shield wiring 1203 and the signal wiring 1201 is d2.
[0068]
Reference numeral 1204 denotes a shield wiring, which is formed in a layer immediately below a wiring layer where the signal wiring 1201 is provided, and the distance between the shield wiring 1204 and the signal wiring 1201 is d2.
[0069]
At this time, the resistance value R0 and the capacitance value C0 per unit length of the signal wiring 1201 are as follows. Here, ρ is the resistivity, and ε1 and ε2 are the dielectric constants.
R0 = ρ / (W * H) [Ω / m]
C0 = 2 * ε1 (H / d1) + 2 * ε2 (W / d2) [C / m]
To change R0, W may be changed. To change C0, d1 may be changed. At this time, if W / d2 is sufficiently small, the term of W may be ignored.
[0070]
Further, by increasing or decreasing the length of the wiring employing this wiring structure, the capacitance value and the resistance value of the entire wiring can be changed.
Although the circuit described so far is a circuit having a fan-out of 2, it is also applicable when the fan-out is 3 or more.
[0071]
As an example, a case where the fanout is 4 will be described.
FIG. 11 is a schematic diagram of a semiconductor integrated circuit having a fan-out of 4.
Reference numerals 1101 and 11021 to 11024 denote elements. Of these, 11021 to 11024 are elements that do not operate normally because an IR drop occurs because they operate synchronously.
[0072]
11041 to 11043 are nodes, 11031 to 11034 are wirings, and connect elements and nodes.
At this time, 11031 to 11034 are divided into two groups, GroupA1 and GroupA2, and each wiring included in GroupA1 is treated as the wiring NA1 of (Embodiment 1), and each wiring included in GroupA2 is defined as By treating the wiring as the wiring NA2 of Embodiment 1), the effect obtained by the method of designing a semiconductor integrated circuit of Embodiment 2 can be given to each wiring and the element connected to the wiring. .
[0073]
(Embodiment 3)
(Embodiment 3) shows (Embodiment 2) the TNC & TND calculation step 607.
[0074]
As shown in FIG. 9, the TNC & TND calculation step 607
TBDn1 (TEMP) = TBDn_TARGET (TEMP)
Is expressed by a plurality of quadratic polynomials as the TNCn (MAX) and the TNDn (MAX), and calculates the TCn (MAX) and the TDn (MAX) satisfying the quadratic polynomial, and solves the solution and the solution Danswer. And a range condition Dcond which is a range of TCn (MAX) in which the element Cn operates normally and a range condition Dcond which is a range of TDn (MIN) in which the element Dn operates normally. A determination step 904 of determining whether the answer is satisfied, terminating the process if not satisfied, outputting the answer as the TNCn (TEMP) if the answer is satisfied, and outputting the answer as the TNDn (TEMP); have.
[0075]
The polynomial calculation step 901 performs the following calculation.
First, the signal transmission time of the wiring is defined as follows. Thus, the transmission time under the MIN condition can be described by the wiring transmission time under the MAX condition. Note that Knet is a constant.
[0076]
TNCn (MIN) = Knet * TNCn (MAX)
TNDn (MIN) = Knet * TNDn (MAX)
Next, regarding the signal transmission time inside the element, the MAX condition is defined as follows.
[0077]
Thus, under the MAX condition, the signal transmission time of the element can be described as a function of the transmission time of the wiring connected to the input terminal. Here, a, b, c, e, and f are constants. Note that TNCn (MAX) ^ 2 means squaring TNCn (MAX).
[0078]
TCn (MAX) = a + b * TNCn (MAX) + c * TNCn (MAX) ^ 2
TDn (MAX) = d + e * TNDn (MAX) + f * TNDn (MAX) ^ 2
The MIN condition is defined as follows. Thus, the transmission time inside the element under the MIN condition can be described by the transmission time inside the element under the MAX condition. Note that Kcell is a constant.
[0079]
TCn (MIN) = Kcell * TCn (MAX)
TDn (MIN) = Kcell * TDn (MAX)
From the above, TBDn1 (TEMP) can be described as follows. In this way, TBDn (TEMP) can be described as a second-order polynomial of TNCn (MAX) and TNDn (MAX).
[0080]
Figure 2004030086
Therefore, Equation 1 can be described as two second-order polynomials as follows:
[0081]
TBDn (MAX) = TBDn_TARGET (MAX) (Equation 9-1)
TBDn (MIN) = TBDn_TARGET (MIN) (Equation 9-2)
Next, TNCn (MAX) and TNDn (MAX) satisfying the two quadratic polynomials (Equations 9-1) and (Equation 9-2) are calculated. FIG. 10 is a schematic diagram relating to this calculation process, and is a two-dimensional graph in which the X axis is TNCn (MAX) and the Y axis is YNDn (MAX).
[0082]
1001 illustrates (Expression 9-1), and 1002 illustrates (Expression 9-2).
1005 is the intersection of 1001 and 1002, and this intersection is TNCn (MAX) and TNDn (MAX) that satisfy both (Equation 9-1) and (Equation 9-2).
[0083]
Then, the coordinates of the intersection are output as 902 which is a solution of the polynomial and 903 which is a solution of the polynomial.
If the coordinates of the intersection include a negative value, the process is interrupted in this step.
In this case, the timing correction cannot be converged simply by controlling the wiring load.
[0084]
A determination step 904 is a step of confirming that the solution obtained in the polynomial calculation step 901 can be created on a layout.
Reference numeral 905 denotes an NCn constraint condition Ccond having an upper limit value and a lower limit value of the signal transmission time of the wiring NCn4013.
[0085]
The upper limit is determined based on the guaranteed range of the library accuracy, the noise resistance of the signal due to the blunted waveform, and the like. The lower limit is the signal transmission time of the NCn when the wiring NCn is laid on the layout so that the wiring load is minimized.
[0086]
Reference numeral 906 denotes an NDn constraint condition Dcond having an upper limit value and a lower limit value of the wiring transmission time of the wiring NDn4014.
The upper limit value and the lower limit value are determined by applying the method for determining the NCnd constraint condition Ccond 905 to the wiring NDn.
[0087]
First, the solution Cancel 902, the answer 903, the NCn constraint Ccon 905, and the NDn constraint Dcon 906 output from the polynomial calculation step 901 are input.
[0088]
Next, it is determined that "the solution Customer 902 satisfies the NCn constraint condition Ccond 905 and the solution Danswer 903 satisfies the NDn constraint condition Dcond 906". If false, the process ends. In this case, a solution exists but cannot be realized with the current layout.
[0089]
If true, output the answer as TNCn (MAX) 6071 and output the answer as TNDn (MAX) 6072.
As described above, by using the method of designing a semiconductor integrated circuit according to the second embodiment, the timing of the clock buffer causing the operation failure due to the IR drop can be changed without changing the skew under a plurality of temperature conditions. , And reducing the peak current, it is possible to eliminate the operation failure due to the IR drop. As a result, the skew readjustment step at the time of IR drop correction can be omitted, so that the number of steps can be significantly reduced.
[0090]
As described above, by using the method of designing a semiconductor integrated circuit according to the third embodiment, the feasibility of the method of designing a semiconductor integrated circuit according to the second embodiment can be improved before the layout is actually modified. Therefore, it is possible to eliminate a failure by performing a layout correction process that cannot be performed, and to perform an efficient design work in terms of man-hours.
[0091]
【The invention's effect】
As described above, according to the present invention, the operation timing of the clock tree buffer is shifted by shifting the operation timing of the clock buffer to be corrected, thereby suppressing the total current consumption when the clock buffer switches. Prevents circuit malfunction due to IR drop, and automatically adjusts the load balance of the entire clock tree to prevent skew deterioration due to IR drop adjustment and saves man-hours for skew readjustment. Reduce skew over multiple temperature conditions for clock buffers that can reduce and improve circuit integrity without sacrificing chip operating speed and causing impairments due to IR drop And shift the timing to reduce the peak current, Operational failure due can be removed. As a result, the skew readjustment step at the time of IR drop correction can be omitted, so that the number of steps can be significantly reduced.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of a layout of a semiconductor integrated circuit according to Embodiment 1 of the present invention;
FIG. 2 is a schematic diagram of a semiconductor integrated circuit whose layout has been corrected.
FIG. 3 is a schematic diagram of a flowchart of a method for designing a semiconductor integrated circuit according to Embodiment 1 of the present invention;
FIG. 4 is a schematic diagram of layout data.
FIG. 5 is a schematic diagram of a one-dimensional graph relating to time under a MAX condition and a one-dimensional graph relating to time under a MIN condition.
FIG. 6 is a schematic diagram of a flow of a method for designing a semiconductor integrated circuit in (Embodiment 2) of the present invention;
FIG. 7 is a schematic diagram of current waveforms of the elements 1031 and 1032 in FIG.
8 is a schematic diagram of current waveforms of the element 1031 and the element 1032 in FIG.
FIG. 9 is a schematic diagram of a flow of a method for designing a semiconductor integrated circuit in (Embodiment 3) of the present invention;
FIG. 10 is a schematic diagram illustrating a calculation process in a polynomial calculation process.
FIG. 11 is a schematic diagram of a semiconductor integrated circuit having a fan-out of 4;
FIG. 12 is a schematic diagram showing a state of a cross section when a signal wiring is surrounded by a shield wiring;
FIG. 13 is a schematic diagram for explaining a shift time calculating step according to the first embodiment of the present invention.
[Explanation of symbols]
101,1031,1032,1041,1042 element
104 nodes
10311, 10321, 10411, 10421 Input terminal
10312, 10322, 10412, 10422, 1012 Output terminal
105, 1061, 1062, 1071, 1072 Wiring
301 shift time
302 First stage wiring information NAnRC0 before layout modification
303 NA calculation process
304 First stage wiring information after layout modification
305 NB calculation process
306 Layout wiring information after layout modification
4011 and 4012 elements
40111, 40121 input terminal
40112, 40122 output terminal
4013, 4014 wiring
Schematic diagram of a one-dimensional graph with respect to time for explaining 5011 TABn0 (MAX) and TBDn0 (MAX)
511 Transmission time of signal from output terminal 1012 to input terminal 10311
512 Transmission time of signal from input terminal 10311 to output terminal 10312
513 Transmission time of signal from output terminal 10312 to input terminal 10411
514 Transmission time of signal from input terminal 10411 to output terminal 10412
515 Transmission time of signal from output terminal 10412 to input terminal 40111
516 Transmission time of signal from input terminal 40111 to output terminal 40112
517 Transmission time of signal from output terminal 40112 to input terminal 40121
518 Transmission time of signal from input terminal 40121 to output terminal 40122
Schematic diagram of a one-dimensional graph related to time for explaining 5012 TABn1 (MAX)
5111 Signal transmission time from output terminal 1012 to input terminal 10311
5121 Signal transmission time from input terminal 10311 to output terminal 10312
5131 Transmission time of signal from output terminal 10312 to input terminal 10411
5141 Transmission time of signal from input terminal 10411 to output terminal 10412
Schematic diagram of a one-dimensional graph with respect to time for explaining 5022 TABn1 (MIN)
5211 Transmission time of signal from output terminal 1012 to input terminal 10311
5221 Transmission time of signal from input terminal 10311 to output terminal 10312
5231 Transmission time of signal from output terminal 10312 to input terminal 10411
5241 Transmission time of signal from input terminal 10411 to output terminal 10412
Schematic diagram of a one-dimensional graph relating to time for explaining the TNC & TND calculation process under the 5013 MAX condition
5151 Transmission time variable of signal from output terminal 10412 to input terminal 40111
5161 Transmission time function of signal from input terminal 40111 to output terminal 40112
5171 Transmission time variable from output terminal 40112 to input terminal 40121
5181 Transfer time function from input terminal 40121 to output terminal 40122
Schematic diagram of a one-dimensional graph with respect to time for explaining the TNC & TND calculation process under the 5023 MIN condition
5251 Transmission time variable from output terminal 10412 to input terminal 40111
5261 Transfer time function from input terminal 40111 to output terminal 40112
5271 Transmission time variable from output terminal 40112 to input terminal 40121
5281 Transfer time function from input terminal 40121 to output terminal 40122
Schematic diagram of a one-dimensional graph with respect to time for explaining 5021 TABn0 (MIN) and TBDn0 (MIN)
521 Transmission time from output terminal 1012 to input terminal 10311
522 Transmission time from input terminal 10311 to output terminal 10312
523 Transmission time from output terminal 10312 to input terminal 10411
524 Transmission time from input terminal 10411 to output terminal 10412
525 Transmission time from output terminal 10412 to input terminal 40111
526 Transmission time from input terminal 40111 to output terminal 40112
527 Transmission time from output terminal 40112 to input terminal 40121
528 Transmission time from input terminal 40121 to output terminal 40122
601 Layout data
602 KAIRO0 delay calculation process
603 KAIRO1 making process
604 layout data
605 KAIRO1 delay time calculation process
606 TBDn1 calculation process
607 TNC & TND calculation process
608 RNC & RND calculation process
7011 Current waveform diagram of element 1031
7012 Half width of current waveform of element 1031
7021 Current waveform diagram of element 1032
7022 Half width of current wave of element 1032
7031 Waveform diagram of total sum of current consumed by elements 1031 and 1032
8011 Current waveform diagram of element 1031
8012 Half width of current waveform of element 1031
8021 Current waveform diagram of element 1032
8022 Half-width of current waveform of element 1032
8031 Waveform diagram of sum of currents consumed by element 1031 and element 1032
901 Polynomial calculation process
902 Polynomial solution Canswer
903 Polynomial solution Danswer
904 Judgment process
905 NCn constraint condition Ccond
906 NDn constraint condition Dcond
1001 (Equation 9-1)
1002 (Equation 9-2)
1005 Intersection of 1001 and 1002
1101, 11021, 11022, 11023, 11024 elements
11041, 11042, 11043 nodes
11031, 11032, 11033, 11034 Wiring
1201 Signal wiring
1202, 1203, 1204 Shield wiring
1302 Current waveform diagram of element A1
1303 Current waveform diagram of element A2
1304 Waveform diagram of total current amount of element An
1305 Half-width W of current waveform of element An

Claims (3)

出力端子Soutを有する素子Sと、
入力端子AnINおよび出力端子AnOUTを有する複数の素子An[n=1,2]と、
ノードNODE0と、
前記ノードNODE0と前記出力端子Soutを繋ぐ配線N0と、
前記ノードNODE0と前記入力端子AnINを繋ぐ複数の配線NAnと、
入力端子BnINおよび出力端子BnOUTを有する複数の素子Bn[n=1,2]と、
前記出力端子AnOUTと前記入力端子BnINを繋ぐ複数の配線NBnを有する半導体集積回路において、
前記複数の素子Anで消費される電流量の総和であり、IRドロップ等を原因とした回路動作不良を回避できる希望電流量を入力し、前記複数の素子Anのうちの素子A2が消費する電流値が最大値になる時刻であるピーク時刻が(2*Tz)だけ遅くなったときの前記複数の素子Anの総電流量の最大値が、前記希望電流量になるようなを出力するズレ時間計算工程と、
前記Tzと前記複数の配線NAnの抵抗成分データと容量成分データを有するレイアウト修正前初段配線情報NAnRC0とに基づいて計算できる、前記素子Anのうちの素子A1が前記Tzだけ早く動作する抵抗成分データと容量成分データNA1RCならびに前記素子Anのうちの素子A2が前記Tzだけ遅く動作する抵抗成分データと容量成分データNA2RCとから、前記NA1RCのうちの容量成分と前記NA2RCのうちの容量成分との和が、前記NAnRC0に含まれている容量値の和に等しい場合の抵抗成分データと容量成分データであるレイアウト修正後初段配線情報を計算するNA計算工程と、
前記素子A1の入力端子A1INから前記素子Bnのうちの素子B1の出力端子B1OUTでの区間を伝搬する信号の伝達遅延が前記Tzだけ遅くなるために必要な抵抗成分データと容量成分データNB1RCと、前記素子A2の入力端子A2INから前記素子Bnのうちの素子B2の出力端子B2OUTまでの区間を伝搬する信号の伝達遅延がズレ時間Tzだけ早くなるために必要な抵抗成分データと容量成分データNB2RCからなるレイアウト修正後次段配線情報NBnRCを計算するNB計算工程と
を有する半導体集積回路の設計方法。
An element S having an output terminal Sout;
A plurality of elements An [n = 1, 2] having an input terminal AnIN and an output terminal AnOUT;
Node NODE0,
A wiring N0 connecting the node NODE0 and the output terminal Sout;
A plurality of wirings NAn connecting the node NODE0 and the input terminal AnIN;
A plurality of elements Bn [n = 1, 2] having an input terminal BnIN and an output terminal BnOUT;
In a semiconductor integrated circuit having a plurality of wirings NBn connecting the output terminal AnOUT and the input terminal BnIN,
A desired current amount that can avoid a circuit operation failure caused by an IR drop or the like is input as a sum of current amounts consumed by the plurality of elements An, and a current consumed by an element A2 of the plurality of elements An A shift time for outputting such that the maximum value of the total current amount of the plurality of elements An becomes the desired current amount when the peak time at which the value becomes the maximum value is delayed by (2 * Tz). Calculation process,
Resistance component data that allows the element A1 of the elements An to operate earlier by the Tz, which can be calculated based on the Tz and the pre-layout first-level wiring information NAnRC0 having the resistance component data and the capacitance component data of the plurality of wirings NAn. The sum of the capacitance component data of the NA1RC and the capacitance component of the NA2RC from the capacitance component data NA1RC and the resistance component data and the capacitance component data NA2RC in which the element A2 of the element An operates later by the time Tz. Calculating the first-stage wiring information after layout correction, which is the resistance component data and the capacitance component data when the sum is equal to the sum of the capacitance values included in the NAnRC0;
Resistance component data and capacitance component data NB1RC necessary for a transmission delay of a signal propagating in a section from the input terminal A1IN of the element A1 to the output terminal B1OUT of the element B1 of the element Bn to be delayed by the Tz; The resistance component data and the capacitance component data NB2RC necessary for the transmission delay of the signal propagating in the section from the input terminal A2IN of the element A2 to the output terminal B2OUT of the element B2 of the element Bn to be earlier by the shift time Tz. NB calculating step of calculating next-stage wiring information NBnRC after layout modification.
出力端子Soutを有する素子Sと
入力端子AnINおよび出力端子AnOUTを有する素子An[n=1,2]と
ノードNODE0と、
前記ノードNODE0と前記出力端子Soutを繋ぐ配線N0と、
前記ノードNODE0と前記入力端子AnINを繋ぐ配線NAnと、
入力端子BnINおよび出力端子BnOUTを有する素子Bn[n=1,2]と、
前記出力端子AnOUTと前記入力端子BnINを繋ぐ配線NBnと、
入力端子CnINおよび出力端子CnOUTを有する素子Cnと、
入力端子DnINおよび出力端子DnOUTを有する素子DNと
前記BnOUTと前記CnINを繋ぐ配線NBnと、
前記CnOUTと前記DnINを繋ぐ配線NCnを有する
半導体集積回路KAIRO0において、
温度係数TEMPは、計算する工程で使用される温度係数であり、値MAX、値MIN、いずれかの値をとり、前記KAIRO0の中の、前記出力端子Soutから前記BnOUTまでの信号伝達時間は前記TEMPを変数とする関数TABn0(TEMP)であり、前記BnOUTから前記DnOUTまでの信号伝達時間は前記温度係数TEMPを変数とする関数TBDn0(TEMP)であり、前記TABn0(MAX)および、前記TBDn0(MAX)、および前記TABn0(MIN)、および前記TBDn0(MIN)を計算して前記KAIRO0の遅延時間を計算するKAIRO0遅延時間計算工程と、
前記半導体集積回路について、請求項1記載の半導体集積回路の設計方法を用いて回路修正を行い前記KAIRO0の素子A、素子Bを修正した半導体集積回路KAIRO1として出力するKAIRO1作成工程と、
前記KAIRO1の中の前記出力端子Soutから前記BnOUTまでの信号伝達時間は前記TEMPを変数とする関数TABn1(TEMP) 、前記BnOUTから前記DnOUTまでの信号伝達時間は前記TEMPを変数とする関数TBDn1(TEMP)であり、前記TABn1(MAX)および前記TABn1(MIN)を計算して前記KAIRO1の遅延時間を計算するKAIRO1遅延時間計算工程と、
TABn0(TEMP) + TCDn0(TEMP) = TABn1(TEMP) + TCDn1(TEMP)がすべての前記TEMPで満たされるためのTBDn1 (TEMP)を計算しTBDn_TARGET(TEMP)として出力するTBDn1計算工程と、
前記配線NCnの信号伝達時間は、前記TEMPを変数とする関数TNCn(TEMP)であり、前記配線NDnの信号伝達時間は、前記TEMPを変数とする関数TNDn(TEMP)であり、前記TBDn1(TEMP)は、前記TNCn(TEMP)および前記TNDn(TEMP)を変数として有し、
TBDn1(TEMP) = TBDn_TARGET(TEMP)   (式1)
を満足する前記TNCn(TEMP)および前記TNDn(TEMP)を計算するTNC&TND計算工程と、
前記配線NCnにおける寄生容量を変えずに、前記NCnにおける信号の伝達時間が、TNCn(TEMP)になるような抵抗値RNCn(TEMP)および前記配線NDnにおける寄生容量を変えずに、前記NDnにおける信号の伝達時間がTNDn(TEMP)になるような抵抗値RNDn(TEMP)を計算し、前記RNCn(TEMP)をレイアウト修正後NCn配線情報として出力し、前記RNDn(TEMP)をレイアウト修正後NDn配線情報として出力するRNC&RND計算工程と
を有する半導体集積回路の設計方法。
An element S having an output terminal Sout, an element An [n = 1, 2] having an input terminal AnIN and an output terminal AnOUT, and a node NODE0;
A wiring N0 connecting the node NODE0 and the output terminal Sout;
A wiring NAn connecting the node NODE0 and the input terminal AnIN;
An element Bn [n = 1, 2] having an input terminal BnIN and an output terminal BnOUT;
A wiring NBn connecting the output terminal AnOUT and the input terminal BnIN,
An element Cn having an input terminal CnIN and an output terminal CnOUT,
An element DN having an input terminal DnIN and an output terminal DnOUT, a wiring NBn connecting the BnOUT and the CnIN,
In a semiconductor integrated circuit KAIRO0 having a wiring NCn connecting the CnOUT and the DnIN,
The temperature coefficient TEMP is a temperature coefficient used in the calculating step, and takes any one of a value MAX and a value MIN, and the signal transmission time from the output terminal Sout to the BnOUT in the KAIRO0 is A function TABn0 (TEMP) using TEMP as a variable, and a signal transmission time from the BnOUT to the DnOUT is a function TBDn0 (TEMP) using the temperature coefficient TEMP as a variable, and the TABn0 (MAX) and the TBDn0 (TEMP). MAX), and calculating the TABn0 (MIN) and the TBDn0 (MIN) to calculate the delay time of the KAIRO0,
A KAIRO1 creating step of modifying the semiconductor integrated circuit using the semiconductor integrated circuit design method according to claim 1 and outputting the modified elements A and B of the KAIRO0 as a modified semiconductor integrated circuit KAIRO1;
The signal transmission time from the output terminal Sout to the BnOUT in the KAIRO1 is a function TABn1 (TEMP) using the TEMP as a variable, and the signal transmission time from the BnOUT to the DnOUT is a function TBDn1 ( TEMP), and calculating the TABn1 (MAX) and the TABn1 (MIN) to calculate a delay time of the KAIRO1;
TBDn1 (TEMP) + TCDn0 (TEMP) = TABn1 (TEMP) + TBDn1 (TEMP) for satisfying TCDn1 (TEMP) with all the TEMPs, and a TBDn1 calculating step of outputting as TBDn_TARGET (TEMP);
The signal transmission time of the wiring NCn is a function TNCn (TEMP) using the TEMP as a variable, and the signal transmission time of the wiring NDn is a function TNDn (TEMP) using the TEMP as a variable, and the TBDn1 (TEMP ) Has the TNCn (TEMP) and the TNDn (TEMP) as variables,
TBDn1 (TEMP) = TBDn_TARGET (TEMP) (Equation 1)
A TNC & TND calculating step of calculating the TNCn (TEMP) and the TNDn (TEMP) satisfying
Without changing the parasitic capacitance on the wiring NCn, the signal on the NDn without changing the resistance value RNCn (TEMP) and the parasitic capacitance on the wiring NDn such that the signal transmission time on the NCn becomes TNCn (TEMP). , The resistance value RNDn (TEMP) is calculated so that the transmission time becomes TNDn (TEMP), the RNCn (TEMP) is output as NCn wiring information after layout correction, and the RNDn (TEMP) is converted to NDn wiring information after layout correction. And a RNC & RND calculation step of outputting as a result.
前記TNC&TND計算工程は、
前記(式1)は、前記TNCn(MAX)および前記TNDn(MAX)とする複数の二次多項式で表現され、前記二次多項式を満たす前記TCn(MAX)および前記TDn(MAX)を計算し、解Canswerおよび解Danswerを出力する多項式計算工程と、
素子Cnが正常に動作するTCn(MAX)の範囲である範囲条件Ccondおよび素子Dnが正常に動作するTDn(MIN)の範囲である範囲条件Dcondを前記Canswerおよび前記Danswerが満たすか否かを判定し、満たさなければ処理を終了し、満たしていれば前記Canswerを前記TNCn(TEMP)として出力し、前記Danswerを前記TNDn(TEMP)として出力する判断工程と
を有する請求項2記載の半導体集積回路の設計方法。
The TNC & TND calculation step includes:
The (Equation 1) is expressed by a plurality of quadratic polynomials as the TNCn (MAX) and the TNDn (MAX), and calculates the TCn (MAX) and the TDn (MAX) satisfying the quadratic polynomial; A polynomial calculation step of outputting a solution Canswer and a solution Danswer,
It is determined whether the answer and the answer satisfy the range condition Ccond which is a range of TCn (MAX) in which the element Cn operates normally and the range condition Dcon which is a range of TDn (MIN) in which the element Dn operates normally. 3. The semiconductor integrated circuit according to claim 2, further comprising a step of terminating the process if the condition is not satisfied, outputting the answer as the TNCn (TEMP) if the condition is satisfied, and outputting the answer as the TNDn (TEMP). Design method.
JP2002183756A 2002-06-25 2002-06-25 Method for designing semiconductor integrated circuit Pending JP2004030086A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002183756A JP2004030086A (en) 2002-06-25 2002-06-25 Method for designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002183756A JP2004030086A (en) 2002-06-25 2002-06-25 Method for designing semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2004030086A true JP2004030086A (en) 2004-01-29

Family

ID=31179814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002183756A Pending JP2004030086A (en) 2002-06-25 2002-06-25 Method for designing semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2004030086A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237673A (en) * 2008-03-26 2009-10-15 Epson Imaging Devices Corp Electrostatic capacitance input device, display apparatus with input function, and electronic apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237673A (en) * 2008-03-26 2009-10-15 Epson Imaging Devices Corp Electrostatic capacitance input device, display apparatus with input function, and electronic apparatus
JP4582169B2 (en) * 2008-03-26 2010-11-17 ソニー株式会社 Capacitance type input device, display device with input function, and electronic device

Similar Documents

Publication Publication Date Title
US7809971B2 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
US5490268A (en) Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates
US5751596A (en) Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
JP2002083001A (en) Designing method for logic circuit and cell library used for the same
US6581199B2 (en) Engineering-change method of semiconductor circuit
US20090064067A1 (en) Method of balancing path delay of clock tree in integrated circuit (ic) layout
US20060044932A1 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
US7146590B1 (en) Congestion estimation for programmable logic devices
JP2004030086A (en) Method for designing semiconductor integrated circuit
JP2002163314A (en) Timing-driven layout method
US6484298B1 (en) Method and apparatus for automatic timing-driven implementation of a circuit design
US20060031800A1 (en) Design method for semiconductor integrated circuit device
US20060043427A1 (en) Automatic-arrangement-wiring apparatus for and program for performing layout of integrated circuit
US20030038664A1 (en) Semiconductor integrated circuit
JP2570595B2 (en) Optimal standard cell selection method
US7782086B2 (en) Semiconductor integrated circuit device
JP3017038B2 (en) Design method of semiconductor integrated circuit
JP3368859B2 (en) Scan path connection device
Singh et al. An area-efficient timing closure technique for FPGAs using Shannon's expansion
JP3230234B2 (en) A delay adjustment method for a semiconductor integrated circuit, a delay adjustment circuit block, and a recording medium.
JP3251250B2 (en) Clock skew reduction method and computer-readable recording medium recording clock skew reduction method
JPH06310601A (en) Layout design method
JP2002313921A (en) Method for designing wiring layout of semiconductor integrated circuit
JP2008166981A (en) Delay adjustment circuit and delay adjustment method
JP2000322458A (en) Optimizing processing method for logic circuit and logic design system using the same