JP2006252574A - クロストークチェック方法 - Google Patents

クロストークチェック方法 Download PDF

Info

Publication number
JP2006252574A
JP2006252574A JP2006107647A JP2006107647A JP2006252574A JP 2006252574 A JP2006252574 A JP 2006252574A JP 2006107647 A JP2006107647 A JP 2006107647A JP 2006107647 A JP2006107647 A JP 2006107647A JP 2006252574 A JP2006252574 A JP 2006252574A
Authority
JP
Japan
Prior art keywords
crosstalk
cell
wiring length
procedure
parallel wiring
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
JP2006107647A
Other languages
English (en)
Inventor
Nobufusa Iwanishi
信房 岩西
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 JP2006107647A priority Critical patent/JP2006252574A/ja
Publication of JP2006252574A publication Critical patent/JP2006252574A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】クロストーク発生と判定される箇所が膨大で、修正には処理時間の増大や面積増大を招き、修正必要となった場合の手戻りが大きく工数がかかり、クロックなどのタイミング合わせ込みを実施した後であるので修正が難しい。
【解決手段】並行配線長抽出手順においては、階層設計されたレイアウトに対し、レイアウトと並行配線長の制限値を記述する基準値とを入力として、各階層毎に隣接配線の並行配線長を抽出する。バウンダリ情報抽出手順においては、各階層のネットリストから階層を跨ぐ配線の接続関係を調べる。階層組み上げ手順においては、階層を跨ぐ隣接配線の同一ネットについて各階層毎に抽出した並行配線長を足し合わせて階層を跨ぐ並行配線長を計算する。並行配線長チェック手順においては、階層を跨ぐ並行配線長を定められた基準値と比較してクロストーク発生箇所を判定する。
【選択図】図11

Description

本発明は、基本論理セルあるいは機能マクロブロックをセル間配線で接続して構成される半導体集積回路について、そのレイアウト設計において、隣接した配線間で、片側の配線の信号遷移により発生するクロストークを検査するクロストークチェック方法に関する。
従来技術を図13〜図15を用いて説明する。
クロストークとは、隣接する配線間で発生する現象で、隣接配線の一方の配線の信号変化が他方の配線の信号に影響を与える現象である。例を図13(a),(b)、図14(a),(b)に示す。
駆動セル1300、配線1302、被駆動セル1301で構成されるパスを、クロストークによる影響を与える側(アグレッサ:aggressor)とし、駆動セル1304、配線1306、被駆動セル1305で構成されるパスを、クロストークによる影響を受ける側(ビクティム:victim)であるとして説明する。
クロストークを考慮していない設計手法では、配線1302と配線1306間に生じるカップリング容量は、容量1307及び容量1308のように対接地の容量として表現し、遅延計算、タイミング検証という手順で設計を行う。よって、駆動セル1304の出力信号波形1309や、被駆動セル1305の入力信号波形1310は、駆動セル1304が容量1308を持つ配線1306を駆動するという条件で計算されており、配線1306の配線遅延も、それら2つの信号波形から配線遅延1311として計算される。0.35μmや0.25μmぐらいまでは、このような設計手法でも、クロストークによる影響が微小であるために、遅延の面で実動作との違いはほとんどなかった。
しかし、上記カップリング容量を、接地でなく、容量1312のように、配線間の容量としてそのまま表し、遅延計算をした場合に得られる駆動セル1304の出力信号波形1313、被駆動セル1305の入力信号波形1314、及び出力信号波形1313と入力信号波形1314から計算される配線遅延1315は、それぞれ出力信号波形1309、入力信号波形1310、配線遅延1311とは異なってくる。駆動セル1300と駆動セル1304の出力信号波形の遷移方向が同じ場合、例えば、共に0からVDDに変化するような場合には、(式1)〜(式3)の関係が成り立ち、逆に、遷移方向が異なる場合には、(式4)〜(式6)の関係が成り立つ。ここで、信号波形傾きとは、電圧0からVDD、あるいは、VDDから0に信号が遷移する時間を意味する(立ち上がり、立ち下がりの勾配ではない)。
(式1) 出力信号波形1309の傾き > 出力信号波形1313
(式2) 入力信号波形1310の傾き > 入力信号波形1314
(式3) 配線遅延1311 > 配線遅延1315
(式4) 出力信号波形1309の傾き < 出力信号波形1313
(式5) 入力信号波形1310の傾き < 入力信号波形1314
(式6) 配線遅延1311 < 配線遅延1315
これら、(式1)〜(式6)の不等式の差は、カップリング容量1312が大きくなるほど大きくなる。さらに、クロストークの影響を受け、遅延変動やグリッチ(ひげ状のパルス)が発生する配線であるビクティム(victim)に対し、クロストークの影響を与える側の配線であるアグレッサ(aggressor)の信号波形傾き比率が大きいほど、この差は大きくなる。ここでいう信号波形傾き比率とは、以下の(式7)で計算される値である。
(式7) 信号波形傾き比率=ビクティムの信号波形傾き/アグレッサの信号波形傾き
すなわち、出力信号波形1313の傾き/出力信号波形1303の傾きである。0.18μmや0.10μmと微細化が進むにつれ、カップリング容量が大きくなり、その結果、(式1)〜(式6)で表される不等式の左辺と右辺の差が大きくなり、タイミング設計上、その差を無視することができなくなる。
また、図14(a),(b)に示したように、クロストークにより発生したグリッチが原因で、誤動作を起こす場合もある。図14(a),(b)は、駆動セル1304の出力は変化しないで、駆動セル1300の出力が変化した場合である。カップリング容量を接地で表現している図14(a)の場合には、駆動セル1304の出力にグリッチがのることはない。
しかし、本来は、図14(b)のようにカップリング容量1312が原因で、駆動セル1300の出力信号波形1303の変化により、駆動セル1304の出力にグリッチ1404が発生する。このグリッチ1404が大きい場合、配線1306、被駆動セル1305を伝播し、その後に繋がるフリップフロップ1400にまで到達する。もし、そのグリッチがフリップフロップ1400に到達したタイミングに、フリップフロップ1400にクロックが入力された場合、本来、0であるフリップフロップの出力信号波形1403が、0からVDDに遷移する信号1407として出力され、以降のパスの動作が所望のものではなくなる。
そこで、これらの問題に対応するために、市販ツールとして、レイアウト中にクロストークが発生しそうな箇所を抽出し、修正する方法(例えば、特許文献1参照)や、レイアウト後にクロストークが発生しているかどうかを検証する方法(例えば、特許文献2参照)が出てきている。
まず、レイアウト後にクロストーク発生箇所を抽出する方法について、図15を用いて説明する。
P&R手順1500では、前述したように、配線間のカップリング容量を接地の容量として表現し、タイミングを考慮しながらレイアウトを行う手順で、レイアウト1501を生成する。RC抽出手順1502では、レイアウト1501を入力として、配線の抵抗、容量成分が記述されたRC情報1503を抽出する。このRC情報1503には、カップリング容量はそのまま配線間容量として記述されている。タイミング検証手順1504では、RC情報1503を基に、レイアウト1501を構成するセル及び配線の遅延時間を計算し、その計算された遅延情報を用いてタイミング解析を行う。このタイミング解析時に、セルの入出力端子毎に、信号が遷移するタイミングの情報を取得し、タイミング情報1505として出力する。ノイズ解析手順1506では、タイミング情報1505を基に、まず、すべてのセルについて、信号が遷移するタイミングを調べる。次に、カップリング容量が発生している隣接配線を抜き出し、隣接配線それぞれの駆動セルを抽出する。その抽出したセルについて、タイミング情報1505に記述の信号遷移タイミングを調べ、隣接配線間で、タイミングウインドウの重なりが生じているかどうかを判定する。もし、タイミングウインドウの重なりがある場合には、修正情報1507として出力する。以上のタイミング調査及びタイミングウインドウの重なりをすべてのセルに対し、評価する。このタイミングウインドウから、クロストークによる遅延変動がどうなっているかを計算し、静的なタイミング検証を行う。その結果、タイミングを満たさないパスと、どこが原因となっているかがレポートされ、修正すべき箇所が見つかる。
次に、レイアウト段階で、クロストークが発生する箇所を見つける方法について説明する。
一般的にレイアウトツールでは、上記したクロストークにより遅延変動が起こり、タイミングエラーが起こっているかどうかを調べる方法と、クロストークの予防策として、隣接配線の並行配線長に制限をかける手法が用いられる。タイミングエラー箇所を見つける方法は前述した方法と同じであるので、クロストークの予防策について説明する。
具体例を図16、図17を用いて説明する。
レイアウト1600中に、図17に示すような隣接配線間に並行配線があった場合に、その並行配線の長さが、レイアウト時に入力される基準値1601以下になっているかどうかを判定し、もし、基準値1601以上であれば、クロストーク発生箇所として、レイアウト修正される。
特開平7−249065号公報(第2〜3頁、図1〜図5) 特開平5−243383号公報(第2〜4頁、図1〜図7)
前述したようにクロストーク発生箇所をチェックする方法としてはいくつかある。レイアウト後に、タイミングを考慮してクロストーク発生箇所をチェックする方法では、修正必要となった場合の手戻りが大きく工数がかかる。また、レイアウト後では、クロックなどのタイミング合わせ込みを実施した後であるので、修正するのが難しい。
また、レイアウト時にクロストーク発生箇所をチェックする方法では、一律の並行配線長でチェックすることになるので、クロストーク発生と判定される箇所が膨大になる。その結果、その発生箇所を修正すると、処理時間の増大や面積増大を招く。
上記の課題を解決するために、基本論理セルまたは機能マクロブロックをセル間配線で接続し構成される半導体集積回路において、隣接した配線間で、片側の配線の信号遷移により発生するクロストークを検査するクロストークチェック方法について、本発明は以下のような手段を講じる。
本発明によるクロストークチェック方法は、それぞれ次のような内容の複数の手順を含むものとして構成されている。すなわち、並行配線長抽出手順とバウンダリ情報抽出手順と階層組み上げ手順と並行配線長チェック手順とである。前記の並行配線長抽出手順においては、階層設計されたレイアウトに対し、前記レイアウトと並行配線長の制限値を記述する基準値とを入力として、各階層毎に隣接配線の並行配線長を抽出する。また、前記のバウンダリ情報抽出手順においては、各階層のネットリストから階層を跨ぐ配線の接続関係を調べる。また、前記の階層組み上げ手順においては、階層を跨ぐ隣接配線の同一ネットについて各階層毎に抽出した並行配線長を足し合わせて階層を跨ぐ並行配線長を計算する。さらに、前記の並行配線長チェック手順においては、階層を跨ぐ並行配線長を定められた基準値と比較してクロストーク発生箇所を判定する。
この構成によれば、一律の並行配線長制限値で処理する従来技術では修正していた箇所を修正しなくても良くなり、余計なセル挿入やセルサイジングを抑制し、処理工数の削減を図れるとともに、面積増加・消費電力増加を抑制することができ、さらに階層設計されたデザインであっても、階層を展開した状態で並行配線長をチェックすることにより、クロストークの影響を軽減することが可能である。
本発明によれば、クロストークによる遅延時間の変動及びグリッチ発生箇所であって実際に必要な部分に限定して修正することになるので、従来手法よりも処理工数を削減し、面積増大・消費電力増大を抑制することができる。また、実際にクロストーク発生を起こしやすい箇所に限定して修正するので、製品不良発生率を低減することができる。
以下、本発明にかかわるクロストークチェック方法の実施の形態を図面に基づいて説明する。
(実施の形態1)
本発明の実施の形態1におけるクロストークチェック方法について、図面を参照しながら説明する。
図1はレイアウト時のクロストーク発生箇所判定において、配線ピッチに応じて制限用の並行配線長を変える手法を表す図、図2は図1の具体例を表す図である。図1において、S100はピッチ別並行配線長チェック手順、100はピッチ別基準値である。図2において、200〜207はセル、208はセル200,202によって駆動される隣接配線が並行している部分の長さである並行配線長、209はセル204,206によって駆動される隣接配線の並行配線長、210及び211はピッチ別基準値100に記述されているピッチ別の並行配線長制限値、212はセル200,202によって駆動される隣接配線の配線ピッチ、213はセル204,206によって駆動される隣接配線の配線ピッチである。
最初に言葉の定義をしておく。配線ピッチとは、隣接配線の各配線中心間の距離を指す。
並行配線長抽出手順S1600において、レイアウト1600とピッチ別基準値100から、隣接配線の並行配線長を抽出する。このとき、並行配線長抽出手順S1600で参照する並行配線長制限値は、ピッチ別基準値100に記述されたピッチ別の並行配線長制限値の最も小さい値である。
ピッチ別基準値100について説明する。ピッチ別基準値100には、配線ピッチ毎に異なる並行配線長制限値が記述されている。この配線ピッチ別の並行配線長制限値は、予め、"hspice"などの回路シミュレーターを用いて求められたものである。配線ピッチと前記並行配線長制限値の関係について説明する。図2に示すように配線ピッチ212と配線ピッチ213が(式8)の関係とする。
(式8) 配線ピッチ212 < 配線ピッチ213
この場合、並行配線長制限値210と並行配線長制限値211の関係は、(式9)になる。
(式9) 並行配線長制限値210 < 並行配線長制限値211
配線ピッチが広くなることにより、隣接配線間のカップリング容量が小さくなり、その結果、クロストークの影響が小さくなる。よって、配線ピッチが大きい方がクロストークの影響を受けにくいので、並行配線長制限値は大きくなる。
次に、ピッチ別並行配線長チェック手順S100において、配線ピッチに対応した並行配線長制限値により並行配線長をチェックする。図2の例では、配線ピッチ212に対応する並行配線長制限値210と並行配線長208とを比較して、並行配線長208の方が長いので、この隣接配線組はクロストーク発生箇所として判定する。次に、配線ピッチ213に対応する並行配線長制限値211と並行配線長209とを比較して、並行配線長209の方が短いので、この隣接配線組はクロストーク発生箇所ではないと判定する。以降、すべての隣接配線に対し、同様の処理をすることで、クロストーク発生箇所かどうかを判定し、クロストーク発生箇所についてはレイアウト修正を行う。クロストーク発生箇所と判定しなかった箇所は、レイアウト修正の対象外とする。
以上、説明したように、隣接配線の配線ピッチに応じた並行配線長制限値を設けることにより、一律の並行配線長制限値で処理する従来例に対し、レイアウト修正箇所を削減することができる。その結果、処理工数の削減を図れるとともに、面積増加の抑制を行うことができる。さらに、従来では修正していた箇所を修正しなくても良いと判断することにより、余計なセル挿入やセルサイジングを防ぐことができて、消費電力の増加を抑制することができるという効果もある。
(実施の形態2)
本発明の実施の形態2におけるクロストークチェック方法について、図面を参照しながら説明する。
図3はレイアウト時のクロストーク発生箇所判定において、配線駆動セルの駆動能力に応じて制限用の並行配線長を変える手法を表す図、図4は図3の具体例を表す図である。図3において、S300は駆動能力別並行配線長チェック手順、300は駆動能力別基準値である。図4において、400〜407はセル、408はセル400,402によって駆動される隣接配線が並行している部分の長さである並行配線長、409はセル404,406によって駆動される隣接配線の並行配線長、410及び411は駆動能力別基準値300に記述されている駆動能力別の並行配線長制限値である。
並行配線長抽出手順S1600において、レイアウト1600と駆動能力別基準値300から、隣接配線の並行配線長を抽出する。このとき、抽出に使われる並行配線長制限値は駆動能力別基準値300に記述されている最も小さい値である。
駆動能力別基準値300について説明する。駆動能力別基準値300には、配線を駆動するセルの駆動能力別にチェックすべき並行配線長制限値が記述されている。この駆動能力別の並行配線長制限値は、予め、"hspice"などの回路シミュレーターを用いて求められたものである。駆動能力と並行配線長制限値の関係について説明する。セル400の駆動能力とセル404の駆動能力が(式10)の関係とする。
(式10) セル400の駆動能力 > セル404の駆動能力
この場合、並行配線長制限値410と並行配線長制限値411の関係は、(式11)になる。
(式11) 並行配線長制限値410 > 並行配線長制限値411
駆動能力が強くなることにより、隣接配線間のカップリング容量への充電及び放電する力が強くなる。クロストークは、隣接配線間のカップリング容量に対し、一方の配線が充電中に、他方の配線が充電を助けたり、放電することにより充電を阻害したりすることが原因で、タイミングが変化したり、電圧が変動する現象である。よって、駆動能力が強い方が駆動能力が弱い方よりも他者からのカップリング容量への充電、放電の影響が相対的に受けにくくなり、クロストークによる影響が小さくなる。そのため、駆動能力の大きさに応じて、並行配線長制限値を変更することができる。
次に、駆動能力別並行配線長チェック手順S300において、配線駆動セルの駆動能力に対応した並行配線長制限値により並行配線長をチェックする。図4の例では、セル400の駆動能力に対応する並行配線長制限値410と並行配線長408とを比較して、並行配線長408の方が短いので、この隣接配線組はクロストーク発生箇所ではないと判定する。次に、セル404の駆動能力に対応する並行配線長制限値411と並行配線長409とを比較して、並行配線長409の方が長いので、この隣接配線組はクロストーク発生箇所であると判定する。以降、すべての隣接配線に対し、同様の処理をすることで、クロストーク発生箇所かを判定し、クロストーク発生箇所についてはレイアウト修正を行う。クロストーク発生箇所でないと判定した隣接配線はレイアウト修正を行わない。
以上、説明したように、配線を駆動するセルの駆動能力に応じた並行配線長制限値を設けることにより、一律の並行配線長制限値で処理する従来例に対し、レイアウト修正箇所を削減することができる。その結果、処理工数の削減を図れるとともに、面積増加の抑制を行うことができる。さらに、従来では修正していた箇所を修正しなくても良いと判断することにより、余計なセル挿入やセルサイジングを防ぐことができて、消費電力の増加を抑制することができるという効果もある。
(実施の形態3)
本発明の実施の形態3におけるクロストークチェック方法について、図面を参照しながら説明する。
図5はレイアウト時のクロストーク発生箇所判定において、クロック配線に注目し並行配線長をチェックする手法を表す図、図6は図5の具体例を表す図である。図5において、S500はクロックネット抽出手順、S501はアグレッサ/ビクティム判定手順、500はネットリスト、501は各セル信号波形の傾き情報である。図6において、600,601はクロックラインのセル、602,603はセル、604はセル600の出力端子における信号波形傾き、605はセル602の出力端子における信号波形傾き、606,607はクロックラインのセル、608,609はセル、610はセル606の出力端子における信号波形傾き、611はセル608の出力端子における信号波形傾きである。
並行配線長抽出手順S1600において、レイアウト1600と基準値1601から、隣接配線の並行配線長を抽出する。ここで抽出された隣接配線が、図6(a),(b)に示す2つの隣接配線とする。
次に、クロックネット抽出手順S500において、ネットリスト500とクロックソースポイントとを入力として、パストレースを行うことにより、クロックを構成するネットを抽出する。このクロックネット抽出によって、図6(a),(b)に示すセル600が駆動する配線と、セル606が駆動する配線がクロックネットとして抽出されたものとして、以降の説明をする。
次に、アグレッサ/ビクティム判定手順S501において、信号波形の傾き情報501を入力として、すべてのセルの出力端子での信号波形の傾きから、クロックネット抽出手順S500において抽出したネットがビクティム(victim)になっていないかどうか判定する。ここで、信号波形傾きとは、電圧0からVDD、あるいは、VDDから0に信号が遷移する時間を意味する。信号波形傾きは遷移の時間であって、勾配ではない。また、アグレッサ(aggressor)とは、クロストークの影響を与える側の配線を指し、ビクティム(victim)とは、クロストークの影響を受け、遅延変動やグリッチが発生する配線を指す。
この判定方法について詳細に説明する。図6(a)で、セル600の出力端子における信号波形傾き604と、セル605の出力端子における信号波形傾き605を比較する。これらの信号波形傾きは、傾き情報501に記述されていた情報で、アグレッサ/ビクティム判定手順S501において読み込まれる。図6(a)の場合、信号波形傾き604と信号波形傾き605の関係は、(式12)の関係になる(信号波形傾きは遷移時間であって、勾配ではない)。
(式12) 信号波形傾き604 > 信号波形傾き605
(式12)の関係の場合、信号波形傾き604の方が大きいために、セル600に駆動されるクロック配線はビクティム(victim)と判定する。逆に、図6(b)に示したように、(式13)の関係があれば、セル606に駆動されるクロック配線はアグレッサ(aggressor)と判定する。
(式13) 信号波形傾き610 < 信号波形傾き611
それで、すべての隣接配線について、信号波形傾きの大きさを比較することにより、アグレッサ/ビクティム(aggressor/victim)を決定する。
最後に、先にクロックネット抽出手順S500で抽出したクロックネットがビクティム(victim)になっていないかどうかを判定し、もし、ビクティム(victim)になっているクロックネットがあれば、出力する。
ここで、ビクティム(victim)になるクロックネットを抽出する意味について説明する。クロックネットがクロストークにより遅延変動すると、LSI全体でスキューを合わせ込んでいたのが崩れることになる。その結果、誤動作に繋がる可能性がある。また、グリッチが発生すると、予期せぬタイミングでクロックが入り、論理エラーが発生し、誤動作となる。つまり、クロストークを考慮した場合、クロックがビクティム(victim)になるような設計は、品質の面で問題があるので、修正する必要がある。
クロックネットの修正においては、クロックネットはスキューを合わせ込んでいるので、クロックネットを修正するのではなく、隣接するネットの方を修正する。
以上、説明したように、クロックネットに注目し、クロックネットでクロストークが発生していないかどうかを検証することにより、市場不良の出ない高信頼性LSIを製造することができる。その結果、歩留まりも向上するという効果もある。
(実施の形態4)
本発明の実施の形態4におけるクロストークチェック方法について、図面を参照しながら説明する。
図7はレイアウト時のクロストーク発生箇所判定において、隣接配線の並行配線長から遅延変動量を計算し、タイミング検証する方法を表す図、図8は図7の具体例を表す図である。図7において、S700は遅延変動量計算手順、S701は遅延情報出力手順、700は遅延変動量テーブルである。図8において、800〜803はセル、804は並行配線長、805は遅延情報である。
並行配線長抽出手順S1600において、レイアウト1600と基準値1601から、隣接配線の並行配線長を抽出する。ここで抽出した隣接配線が、図8に示す隣接配線であり、セル800とセル802に駆動されるそれぞれの配線が並行配線長804だけ隣接しており、セル800及びセル802の出力信号波形傾きから、セル800に駆動される配線がビクティム(victim)であるとする。
次に、遅延変動量計算手順S700において、並行配線長804とセル800の駆動能力から、遅延変動量テーブル700を参照し、クロストークにより変動する遅延量を計算する。遅延変動量テーブル700は、並行配線長と駆動能力のテーブルとなっていて、テーブル間は任意の補間アルゴリズムにより補間する。
次に、遅延情報出力手順S701において、遅延変動量計算手順S700で計算した遅延変動量を、遅延情報805として出力する。遅延情報を表す方法として、SDF(Standard Delay Format)がよく用いられるが、この遅延情報805は、SDFのINCREMENTAL記述により表現する。これらの遅延情報を、すべてのビクティム(victim)となる配線に対して行い、デザインの遅延情報を作成する。
最後に、前記遅延情報と、クロストークが発生しないときの遅延情報を用いて、タイミング検証することにより、クロストークによってタイミングエラーとなる箇所を特定する。特定後、タイミングエラーが出ている箇所に対し、レイアウト修正を施すことによりクロストークが原因となるタイミングエラーを回避することができる。
なお、今回の例では、遅延変動量テーブル700は、並行配線長と駆動能力のテーブルとして説明したが、セル種別や、配線ピッチ、配線層などの情報を追加して、テーブルを大きくしても同様の処理で実施できる。また、遅延変動量テーブル700は、いろいろな条件で、予め、"hspice"などの回路シミュレーターを用いて作成しておく。
以上、説明したように、並行配線長などからクロストークにより変動する遅延変動量を計算し、タイミング検証して、クロストーク発生箇所を見つけることができる。この手法では、タイミングに余裕のある箇所では、隣接配線間の並行配線長が長くても修正する必要がないので、修正工数を削減することができる。
(実施の形態5)
本発明の実施の形態5におけるクロストークチェック方法について、図面を参照しながら説明する。
図9はレイアウト時のクロストーク発生箇所判定において、IP(機能ブロック:Intellectual Property)などの駆動能力が不明なブロック/セルに対し、駆動能力を設定し、並行配線長を制限する方法を表す図、図10は図9に示す駆動能力設定手順をより詳細に手順分けして示した図である。図9において、S900は駆動能力設定手順、900は遅延ライブラリである。図10において、S1000はマスターセル駆動能力判定値作成手順、S1001は対象セル駆動能力判定値計算手順、S1002は対象セル駆動能力判定手順、1000はマスターセル、1001は対象セルである。
まず最初に、駆動能力についての説明をする。駆動能力とは、セル出力段のトランジスタ構造をモデル化したもので、トランジスタサイズに応じて、駆動できる容量の最大値が変化する。そのため、セル開発においては、同一機能を持ったセルで、駆動能力だけが異なるセルを何種類か作成することが一般的になっている。これは、デザイン中で、前記セルがどこで使われるか分らないので、駆動すべき容量が小さいところでは、駆動能力の弱いものを使用し、逆に、駆動すべき容量が大きいところでは、駆動能力の強いものを使用する。ただし、駆動能力が強くなる毎にトランジスタサイズが大きくなるので、セル面積は増大していく。例えば、インバータ機能を持つセルであれば、まず基本となる駆動能力を持つインバータセルを開発し、そのインバータセルに対し、2倍の駆動能力を持つインバータセル、3倍の駆動能力を持つインバータセルというように、機能はまったく同じで、駆動能力だけが異なるセルを何種類か用意する。ここで、基本となる駆動能力をどう設定するか、何倍の駆動能力を持つセルを作成するかは、プロセスに依存することが多く、使うプロセスが異なれば、作成思想も異なる。そのため、社外からIPブロックやセルを導入した場合、自社の駆動能力の考え方とは異なっているのが普通で、社外から導入したIPブロックやセルの駆動能力が不明である場合が多い。
しかし、クロストークは、隣接配線を駆動するセルの駆動能力によるところが大きいので、この駆動能力が不明なブロックやセルに対しても、駆動能力を設定する手段が必要となる。そこで、本発明のポイントである、駆動能力が不明なブロックやセルに対する駆動能力設定方法について説明する。
並行配線長抽出手順S1600において、レイアウト1600と基準値1601から、隣接配線の並行配線長を抽出する。
次に、駆動能力設定手順S900において、セルの遅延情報を記述するライブラリ900から、駆動能力を計算し、すべてのブロックやセルに対し、駆動能力を設定する。この駆動能力設定手順S900において、社内で開発したものは、駆動能力の定義がされているので、何も問題ない。しかし、社外から導入したIPブロックへの駆動能力をどう設定するかが重要となる。そこで、駆動能力設定手順S900をより詳細に、図10を用いて説明する。
駆動能力設定手順S900は、マスターセル駆動能力判定値作成手順S1000と、対象セル駆動能力判定値計算手順S1001と、対象セル駆動能力判定手順S1002により構成される。マスターセル駆動能力判定値作成手順S1000では、すべてのブロックやセルの遅延情報を記述するライブラリ900とマスターセル1000とを入力として、マスターセルの駆動能力判定値1002を計算する。マスターセルとは、駆動能力が不明なブロックやセルの駆動能力を設定するときに参照されるセルで、単純なインバータやバッファを設定するのが望ましい。
この駆動能力判定値1002とは、駆動能力を表す値で以下の(式14)を用いて計算される。
(式14) 駆動能力判定値=(セルの出力信号波形傾き最大値−セルの出力信号波形傾き最小値)/(駆動容量の最大値−駆動容量の最小値)
一般的な遅延ライブラリでは、セルの出力信号波形傾きを、セルの入力信号波形傾きと、駆動する容量((式14)では、駆動容量と表現した)の関数、あるいは、テーブルとして表現されることが多い。(式14)の分子の値は、駆動能力の強さにかかわらず、ほぼ一定である。しかし、駆動能力が強くなると、駆動できる容量が大きくなるので、分母が大きくなっていく。そのため、駆動能力判定値1002は、駆動能力が大きいほど、値が小さくなる。
(式14)を、マスターセルの駆動能力毎に計算しておく。その結果、駆動能力判定値1002は駆動能力毎に異なる値として計算され、駆動能力が大きくなるほど、小さい値で設定されている。
次に、対象セル駆動能力判定値計算手順S1001では、駆動能力が不明な対象セル1001とそのライブラリ900とを入力として、(式14)を用いて、同様に駆動能力判定値を計算する。
次に、対象セル駆動能力判定手順S1002において、駆動能力判定値1002と対象セル1001の駆動能力判定値より、対象セル1001の駆動能力がどれに相当するかを決定する。
最後に、駆動能力別並行配線長チェック手順S300において、すべてのブロック及びセルについて駆動能力が設定されているので、駆動能力別基準値300に従い、隣接配線の並行配線長チェックを行う。駆動能力別並行配線長チェック手順S300の詳細については、実施の形態2で説明している。このチェックにおいて、クロストーク発生箇所と判定した箇所についてはレイアウト修正を施す。
以上、説明したように、自社内だけの設計では、駆動能力が分らない場合は存在しないが、社外IPや社外セルを使う場合に、駆動能力が分らない場合に、本発明の駆動能力設定方法を適用することで、駆動能力が設定でき、クロストーク発生箇所のチェックを行うことができる。その結果、本当に修正しなければならない箇所のみ修正することが可能となるので、余計な面積増加を防ぐことができる。
なお、(式14)において、駆動能力判定値の計算を駆動容量だけで計算したが、入力信号波形傾きも式にいれても良い。
(実施の形態6)
本発明の実施の形態6におけるクロストークチェック方法について、図面を参照しながら説明する。
図11はレイアウト時のクロストーク発生箇所判定において、階層設計されたデザインに対し、階層を跨いで隣接している隣接配線の並行配線長をチェックする方法を表す図、図12は図11に示す並行配線長チェック方法の具体例を表す図である。図11において、S1100はバウンダリ情報抽出手順、S1101は階層組み上げ手順、S1102は並行配線長チェック手順、1100は階層すべてを含む階層ネットリストである。図12において、1200はデザインのTOP階層、1201はTOP階層1200下にあるブロック、1202〜1205はブロック1201の端子、1206〜1211はネットである。
並行配線長抽出手順S1600において、レイアウト1600と基準値1601から、隣接配線の並行配線長を抽出する。並行配線長抽出の対象はすべての階層で行う。しかし、この時点では、同一階層内での並行配線長しかチェックされていない。
次にバウンダリ情報抽出手順S1100において、階層のすべてのブロックが記述された階層ネットリスト1100を入力として、TOP階層とブロック間の接続情報を抽出する。
図12を用いて具体的に説明する。TOP階層1200にブロック1201が存在する。TOP階層1200のネット1206,1208,1209,1211は、それぞれブロック1201の端子1202,1204,1203,1205を介して、ブロック1201内のネット1207と1210に接続されている。
バウンダリ情報抽出手順S1100では、ブロック名と、そのブロックの端子名、及びその端子に繋がるTOP階層でのネットとブロック内のネットが、表1に示すフォーマット1のように対応付けられる。
Figure 2006252574
次に、階層組み上げ手順S1101において、階層を跨ぐ隣接配線のそれぞれの階層での並行配線長が足し合わされる。並行配線長抽出手順S1600において、表2に示す並行配線長が抽出されているとする。
Figure 2006252574
まず最初に、フォーマット1に従い、ネットを接続する。TOP階層のネット1206とネット1208及び、ブロック1201のネット1207は端子1202と端子1204を介して繋がっているので、これは1本のネット1212として認識する。同様に、TOP階層のネット1209とネット1211及び、ブロック1201のネット1210は端子1203と端子1205を介して繋がっているので、これは1本のネット1213として認識する。このネット接続認識に従い、表2の抽出結果を修正する。修正した抽出結果は表3のようになる。
Figure 2006252574
それで、修正した抽出結果より、ネット1212とネット1213は、100μmと200μmと300μmを合計した結果の600μmの範囲で並行していると認識する。
次に、並行配線長チェック手順S1102において、従来技術、実施の形態1〜3などの方法を適用することにより、修正すべきクロストーク発生箇所を抽出する。
以上のように、一律の並行配線長制限値で処理する従来例に対し、レイアウト修正箇所を削減することができ、処理工数の削減を図れるとともに、面積増加の抑制を行うことができる。また、従来では修正していた箇所を修正しなくても良いと判断することにより、余計なセル挿入やセルサイジングを防ぐことができて、消費電力の増加を抑制することができる。さらに、階層設計されたデザインであっても、階層を展開し、並行配線長をチェックすることにより、クロストークの影響を軽減することが可能である。
なお、TOP階層1200にブロック1201が1つしかない場合について説明したが、他にブロックが存在しても同様の方法を繰り返し実行することで処理可能である。また、ブロック1201の中に、さらにブロックがあった場合にも、ブロック1201をTOP階層と見なし処理した後、今回説明した方法を適用することで処理可能である。また、階層展開後のネット名を、ネット1212と1213というように、当初あったネット名とは異なる名前で表現しているが、これは、それぞれを構成するTOP階層1200のネット名1206,1209と表現する方がよい。それというのも、異なるネット名にすると、ネットリストの不一致が発生し、後のレイアウト修正がやりにくくなるからである。
本発明のクロストークチェック方法は、基本論理セルあるいは機能マクロブロックをセル間配線で接続して構成される半導体集積回路におけるクロストークの検査に利用できる。
本発明の実施の形態1のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、配線ピッチに応じて制限用の並行配線長を変える手法を表す図 図1の具体例を表す図 本発明の実施の形態2のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、配線駆動セルの駆動能力に応じて制限用の並行配線長を変える手法を表す図 図3の具体例を表す図 本発明の実施の形態3のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、クロック配線に注目し並行配線長をチェックする手法を表す図 図5の具体例を表す図 本発明の実施の形態4のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、隣接配線の並行配線長から遅延変動量を計算し、タイミング検証する方法を表す図 図7の具体例を表す図 本発明の実施の形態5のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、IPなどの駆動能力が不明なブロック/セルに対し、駆動能力を設定し、並行配線長を制限する方法を表す図 図9に示す駆動能力設定手順をより詳細に手順分けして記載した図 本発明の実施の形態6のクロストークチェック方法におけるレイアウト時のクロストーク発生箇所判定において、階層設計されたデザインに対し、階層を跨いで隣接している隣接配線の並行配線長をチェックする方法を表す図 図11に示す並行配線長チェック方法の具体例を表す図 クロストークの現象を表す図 クロストークの現象を表す図 従来のクロストークを考慮した設計フローを表す図 従来のレイアウト時のクロストーク対処方法を表す図 図16の具体例を表す図
符号の説明
S100 ピッチ別並行配線長チェック手順
S300 駆動能力別並行配線長チェック手順
S500 クロックネット抽出手順
S501 アグレッサ/ビクティム判定手順
S700 遅延変動量計算手順
S701 遅延情報出力手順
S900 駆動能力設定手順
S1000 マスターセル駆動能力判定値作成手順
S1001 対象セル駆動能力判定値計算手順
S1002 対象セル駆動能力判定手順
S1100 バウンダリ情報抽出手順
S1101 階層組み上げ手順
S1102 並行配線長チェック手順
100 ピッチ別基準値
300 駆動能力別基準値
410 駆動能力別の並行配線長制限値
411 駆動能力別の並行配線長制限値
500 ネットリスト
501 各セル信号波形の傾き情報
700 遅延変動量テーブル
805 遅延変動量
900 遅延ライブラリ
1000 マスターセル
1001 対象セル
1100 階層ネットリスト
1600 レイアウト

Claims (1)

  1. 階層設計されたレイアウトに対し、前記レイアウトと並行配線長の制限値を記述する基準値とを入力として、各階層毎に隣接配線の並行配線長を抽出する並行配線長抽出手順と、
    各階層のネットリストから階層を跨ぐ配線の接続関係を調べるバウンダリ情報抽出手順と、
    階層を跨ぐ隣接配線の同一ネットについて各階層毎に抽出した並行配線長を足し合わせて階層を跨ぐ並行配線長を計算する階層組み上げ手順と、
    階層を跨ぐ並行配線長を定められた基準値と比較してクロストーク発生箇所を判定する並行配線長チェック手順とを含むことを特徴とするクロストークチェック方法。
JP2006107647A 2006-04-10 2006-04-10 クロストークチェック方法 Pending JP2006252574A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006107647A JP2006252574A (ja) 2006-04-10 2006-04-10 クロストークチェック方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006107647A JP2006252574A (ja) 2006-04-10 2006-04-10 クロストークチェック方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002352337A Division JP2004185374A (ja) 2002-04-12 2002-12-04 クロストークチェック方法

Publications (1)

Publication Number Publication Date
JP2006252574A true JP2006252574A (ja) 2006-09-21

Family

ID=37092913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107647A Pending JP2006252574A (ja) 2006-04-10 2006-04-10 クロストークチェック方法

Country Status (1)

Country Link
JP (1) JP2006252574A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146271A (ja) * 2007-12-17 2009-07-02 Sharp Corp 基板評価装置、基板評価方法、基板評価プログラム、および基板評価プログラムを格納した記録媒体
JP2012103992A (ja) * 2010-11-12 2012-05-31 Fujitsu Ltd 設計支援装置、設計支援方法および設計支援プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146271A (ja) * 2007-12-17 2009-07-02 Sharp Corp 基板評価装置、基板評価方法、基板評価プログラム、および基板評価プログラムを格納した記録媒体
JP2012103992A (ja) * 2010-11-12 2012-05-31 Fujitsu Ltd 設計支援装置、設計支援方法および設計支援プログラム

Similar Documents

Publication Publication Date Title
US7549134B1 (en) Method and system for performing crosstalk analysis
US20060242612A1 (en) A crosstalk checking method using paralled line length extraction
US7689944B2 (en) Method for designing semiconductor apparatus, system for aiding to design semiconductor apparatus, computer program product therefor and semiconductor package
US8037436B2 (en) Circuit verification apparatus, a method of circuit verification and circuit verification program
US20030145296A1 (en) Formal automated methodology for optimal signal integrity characterization of cell libraries
US20170308639A1 (en) Method for analyzing ir drop and electromigration of ic
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US20090228845A1 (en) Method, design program and design system for semiconductor device
US8032342B2 (en) Segmentation and interpolation of current waveforms
US7082587B2 (en) Method of estimating path delays in an IC
US20060200784A1 (en) Determining equivalent waveforms for distorted waveforms
US7747972B2 (en) Methods and apparatuses for timing analysis of electronic circuits
US20070113132A1 (en) Method and device for verifying timing in a semiconductor integrated circuit
JP4962084B2 (ja) 回路設計検証システム、方法、及び、プログラム
JP2006252574A (ja) クロストークチェック方法
JP4539376B2 (ja) 伝送信号波形解析方法及びプログラム
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP2009140265A (ja) 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム
JP5040463B2 (ja) クロストークノイズ解析方法
JP2006313572A (ja) クロストークチェック方法
JP2006277753A (ja) クロストークチェック方法
US7107198B2 (en) Automatic generation of reduced-size circuit models including inductive interaction
JP2008287666A (ja) 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体
JP2000163460A (ja) 半導体集積回路装置の信頼性検証方法及びその配置配線方法
JP2008083815A (ja) 半導体設計支援装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403