JP3813863B2 - Recording medium and program recording program for shield wiring - Google Patents

Recording medium and program recording program for shield wiring Download PDF

Info

Publication number
JP3813863B2
JP3813863B2 JP2001358637A JP2001358637A JP3813863B2 JP 3813863 B2 JP3813863 B2 JP 3813863B2 JP 2001358637 A JP2001358637 A JP 2001358637A JP 2001358637 A JP2001358637 A JP 2001358637A JP 3813863 B2 JP3813863 B2 JP 3813863B2
Authority
JP
Japan
Prior art keywords
wiring
shield
power supply
shield wiring
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001358637A
Other languages
Japanese (ja)
Other versions
JP2002237522A (en
Inventor
英俊 松岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001358637A priority Critical patent/JP3813863B2/en
Publication of JP2002237522A publication Critical patent/JP2002237522A/en
Application granted granted Critical
Publication of JP3813863B2 publication Critical patent/JP3813863B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は大規模集積回路装置(以下、「LSI」と記す)のシールド配線に利用されるものであり、特に、雑音の影響を受け易いネットを囲んで、他のネットからのクロストークノイズを受け難くするシールド配線を行う際のシールド配線を行うためのプログラムを記録した記録媒体、プログラムに関する
【0002】
【従来の技術】
以下、従来例について説明する。従来、LSIにおいて、クロック配線のような特にクロストークノイズの影響を受け易いネットを、電源に接続された(以下、「クリップされた」と記す)ネットで囲むシールド配線が知られていた。このシールド配線は、隣接する他のネットで発生したノイズを防いでくれるものである。
【0003】
この場合、通常のシールド配線は、複数の箇所で電源ネットと接続されている。電源配線は、その近くの素子の電力消費によりIRドロップという電圧降下(電流Iと抵抗Rによる電圧降下=I×R)を起こし、複数箇所の電源は僅かに電位が異なることがある。その場合、シールド配線中を過大電流が通過することがある。
【0004】
【発明が解決しようとする課題】
前記のような従来のLSIにおけるシールド配線においては、次のような課題があった。
【0005】
▲1▼:従来のシールド配線では、通常、電源配線は太い配線を用いているが、シールド配線は信号線と同じ太さの配線を用いるため、電流密度で規定値を超えてしまう場合がある。これによりエレクトロマイグレーションという配線の劣化が発生し、LSIの寿命や信頼性を劣化させてしまう。
【0006】
▲2▼:電源には素子の動作によりスイッチングノイズが乗ってしまう。近年、LSIの集積密度の向上に伴い、ノイズを吸収させる必要がでてきたが、前記のようなスイッチングノイズを完全に除去するのは困難であった。
【0007】
▲3▼:LSI上のレジスタをテストするために、通常はスキャンネットと呼ばれる配線で、数珠繋ぎに接続されている。このスキャンネットは製造後の不良品を判断するためのテストに使われるが、LSIの動作中は動作しないため、不要であるが、従来はこのスキャンネットを前記テスト終了後に有効利用されていなかった。また、スキャンネットと別にシールド配線を施すと、場所を取りLSIの小型化の妨げになることがある。
【0008】
▲4▼:従来は、配線密度があまり高密度でなかったことで、クロストークの影響が少なく、シールド配線が必要でなかった。また、十分消費電力が少なくて電源の電位差がなかったため、シールド配線を流れる電流が小さく、電流密度制約違反を起こすようなこともなかった。しかし、LSIの配線密度が高密度になってくると、前記電流密度制約違反を起こすことがあるが、その対策はなされていなかった。
【0009】
本発明はこのような従来の課題を解決し、次のようなことを目的とする。すなわち、シールド配線において電源ネットとの接続を複数の箇所で行うと、電源ネットの電位差により過大な電流がシールド配線に流れたり、シールド配線同士や電源上で電流密度制約違反を起こしてしまうことがあるが、高密度の配線を有するLSIにおいても、このような電流密度制約違反の発生を防止し、確実なシールド配線を実現できるようにすると共に、シールド配線の処理が短時間で行えるようにすることを目的とする。
【0010】
【課題を解決するための手段】
本発明は前記の目的を達成するため、次のように構成した。
【0011】
(1) :コンピュータに、LSIの設計を行うための設計データ上で、対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算するステップと、前記ステップで計算した電流値を用いて、電流密度のデザインルールを満たすように、シールド配線の太さの設計データを太い値にする、若しくは細い値にするステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0020】
(2) :コンピュータに、LSIの設計を行うための設計データ上で、対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算するステップと、前記ステップで計算した電流値を用いて、電流密度のデザインルールを満たすように、シールド配線の太さの設計データを太い値にする、若しくは細い値にするステップを実現させるためのプログラム。
【0021】
(作用)
前記構成に基づく本発明の作用を説明する。
【0022】
(a) :前記(1) では、コンピュータが前記記録媒体のプログラムを読み出して実行することにより、LSIのシールド配線を行う。すなわち、コンピュータのプログラムにより、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算(電流値を計算)するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実行させる。このようにすれば、シールド配線を流れる電流による電流密度制約違反が起こらない。
【0037】
(b) :前記(2) では、コンピュータが前記プログラムを実行することにより、LSIのシールド配線を行う。すなわち、コンピュータのプログラムにより、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線を流れて供給される電流を計算(電流値を計算)するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実行させる。このようにすれば、シールド配線及び電源配線を流れる電流による電流密度制約違反が起こらない。
【0038】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、図1〜図7は、LSIの設計を行うためのコンピュータ上のデータを示しており、○印はビアを示している。また、以下の説明において、「離断」は、線分の端を少し短くして接触を無くすことを言う。また、「切断」は、線分を2つに分解はするが、依然接触はしている状態のことを言う。
【0039】
(各例の説明)
(1) :例1(LSIのシールド配線方法:太くする、細くするの例)の説明
例1、2の説明図を図1に示す。例1は、LSIのシールド配線を行う処理をコンピュータ(例えば、CAD)のプログラムにより実現させた例である。
【0040】
この場合、コンピュータのプログラムにより、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線を流れて供給される電流を計算するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは、細くするステップを実行させる。具体的には次の通りである。
【0041】
図1の例では、対象ネットは1層目と2層目に配線されたクロック配線であり、このクロック配線の周囲を囲むように、該クロック配線の両側にシールド配線が設けてある。また、電源配線は、2層目の主電源配線と1層目の副電源配線1、2であり、図の○印は1層目と2層目の配線を電気的に接続するためのビアである。
【0042】
すなわち、例1では、シールド配線やシールド配線をクリップした細い電源配線の部分で発生する電流を計算して求め、電流密度が規定の値以下になるように、シールド配線を太くして電流密度を低くしたり、逆にシールド配線を細くして、シールド配線と繋がる細い電源配線での電流密度制約違反を防いだりする。
【0043】
例えば、図1のAの部分のシールド配線(2層目)を太くすることにより、副電源配線1(1層目)から副電源配線2(1層目)へ流れる電流の密度が制約値を超えないようにする。また、Bの部分(1層目、2層目のシールド配線)には、主電源配線(2層目)から副電源配線1(1層目)へ電流が流れるが、この電位差が大きいと、この部分を太くした場合、副電源配線1が電流密度制約違反を起こす場合がある。
【0044】
このような場合、逆にBの部分を細くして配線抵抗を高めることにより、電流を減らし電流の密度が制約値を超えないようにする。通常は、各配線層によって、標準の線幅が決まっているため、太らせたり、細らせたりする代わりに、クロック配線と一緒に適切な配線幅を持つ層に移動しても良い。
【0045】
(2) :例2(例1のシールド配線処理において、先に太らせる例)の説明
例2は、LSIのシールド配線を行う処理をコンピュータ(例えば、CAD)のプログラムにより実現させた例である。
【0046】
この場合、例2は、例1において、コンピュータのプログラムにより、対象ネットの周囲を囲んだシールド配線(1、2層目)を電源配線につなぐ処理を行う際に、配線中は、簡単な計算により、電流密度制約違反が起こりそうなシールド配線を太くして配線するステップと、配線終了後に、時間のかかる電源網解析を行い、必要な箇所のシールド配線を細くし、配線制約違反も、電流密度制約違反も発生させないようにするステップを実行させる。
【0047】
すなわち、時間のかかる電流密度の計算は配線途中は行わない。時間のかからない簡単な計算によってシールド配線上で後からシールド配線を太くする可能性のあるところを調べ、それらを太くするシールド配線処理を行う。
【0048】
例えば、図1において、AやBの部分を太くする。そして、全ての配線終了時の電源網解析の結果からそれらのうち、太くする必要のない部分を元の太さに戻す。細くする際には、他の一般信号線との間隔制約は破られないので、再配線をする必要がない。そのため、前記例1のシールド配線を短時間で実現できる。また、シールド配線でけでなく、場合によっては電源配線の一部を太くしても良い。
【0049】
(3) :例3(LSIの離断構造)の説明
例3、4の説明図を図2に示す。例3は、シールド配線が、電源と接続されるクリップ点と、クリップ点の中間近くで離断され、全てのシールド配線は1箇所でのみ電源と接続される状態にし、シールド配線中を過度の電流が流れることを防いだシールド配線を用いるLSI構造の例である。
【0050】
図2において、電源と交差する部分や電源と近い部分が電源配線とビア(図の○印)等を用いてクリップされており、クリップ点とクリップ点の間の点Cが離断されていて、クリップ点間に過大電流が流れるのを防ぐ。この構造の場合、クリップ間を電流が流れないので、時間のかかる電源網解析を行う必要がない。
【0051】
(4) :例4(シールド配線の離断処理)の説明
例4は、LSIのシールド配線を行う処理をコンピュータ(例えば、CAD)のプログラムにより実現させた例である。
【0052】
この場合、例4は、前記例3のLSI構造を実現するために、コンピュータのプログラムにより、最初に全て繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、電源への接続点の中間を求めて、そこを離断し、全てのシールド配線は1箇所でのみ電源と接続される状態にするステップを実行させる。
【0053】
図2において、最初に電源と交差する部分や、電源と近い部分を電源配線にビア等を用いてクリップし、クリップ点とクリップ点の間の点Cを離断し、クリップ点間に過大電流が流れるのを防ぐ。この場合、後述する手順で行えば、クリップ点の中間を見つけて離断することができる。
【0054】
(5) :例5(容量も考慮した離断処理)の説明
例5の説明図を図3に示す。例5は、LSIのシールド配線を行う処理をコンピュータ(例えば、CAD)のプログラムにより実現させた例である。
【0055】
この場合、例5は、前記例2のLSI構造を実現するために、コンピュータのプログラムにより、最初に全て繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、次に、行き止まりになっている枝状の配線を調べ、その面積もしくは容量を、その枝の付け根の分岐点に覚えさせるステップと、行き止まりの枝状の配線を無視し、付け根の値と無視しない部分の面積を加えながら、電源への接続点の容量的な中間点を求め、そこを離断するステップを実行させる。
【0056】
図3に示すように、シールド線に行き止まりのシールド線が接続されている場合、その部分のシールド線の面積、若しくは静電容量を計算し、その値を図3のFで示した付け根(根元)の部分に記録しておく。前記例3のように、クリップ点から中間点を求める際に、距離の中間(図のDの位置)ではなく、面積、若しくは静電容量の中間点を求める。
【0057】
行き止まりのシールド線は探索しない代わりに、付け根の値に加えておくと図3のE点のような静電容量の中間点を求めることができる。各シールド配線の静電容量(GNDとの間の静電容量)がバランスしている方が、シールド配線に乗ったノイズを素早くクリップを通じて電源に逃がすことができ、シールド配線の効果を高めることができる。
【0058】
(6) :例6(容量も考慮した離断処理)の説明
例6の説明図を図4に示す。例6は、LSIのシールド配線を行う処理をコンピュータ(例えば、CAD)のプログラムにより実現させた例である。
【0059】
この場合、例6は、前記例3のLSI構造を実現するために、コンピュータのプログラムにより、最初に繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、次に、ループになっている部分を調べ、1箇所で離断し、ループを全て解消するステップと、次に、行き止まりになっている枝状の配線を調べ、その面積若しくは容量を、その枝の付け根の分岐点に覚えさせるステップと、行き止まりの枝状の配線を無視し、付け根の値と無視しない部分の面積を加えながら、電源への接続点の容量的な中間地点を求め、そこを離断するステップを実行させる。
【0060】
図4に示したように、シールド配線にループが存在していると、前記例4のシールド配線方法は何らかの工夫をしなければ実現できない。そこで、前処理として、ループを検出し、そこ(図4のG点)を離断する。これにより前記例4のシールド配線方法では処理できないループを含むシールドを前処理することにより、処理できるようになる。
【0061】
(7) :例7(生成時に無接続)の説明
例7の説明図を図5に示す。例7は、配線層間を結ぶビアを用いないことにより、分断されたシールド配線に対し、1つに繋がったシールド配線からは、1箇所でしか電源配線に接続しないことで、シールド配線中を過度の電流が流れることを防ぐシールド配線を用いたLSI構造に関する例である。
【0062】
図5に示したように、Hの点がビアで接続されていない。シールド配線がシールド同士層間で接続するビアを使用しないことで、互いに接続されていないシールド構造となり、各シールドの島から1箇所のみしかクリップされていないことで、電流密度の計算なしに、電流密度制約違反が発生しないことが保証されたシールド配線となる。
【0064】
(8) :例8(左右の電位を変える)の説明
例8の説明図を図6に示す。ところで、電源には素子の動作によりスイッチングノイズが乗ってしまう。近年のLSIの集積密度の向上に伴い、前記ノイズを吸収させる必要がでてきた。そこで、例8は、シールド対象配線の両側のシールド線を互いに異なる電位の電源に接続し、隣接するシールド配線の電位が必ず異なるようにし、シールド配線同士が隣接した場合の静電容量を利用して電源の対雑音性を高めたシールド配線を用いたLSI構造の例である。
【0065】
図6に示したシールド配線2と3、4と5は互いに隣接している。シールド配線の電位をシールド対象となるネットの相対位置から決定する。図6では、クロック線の右側と下側のシールド配線を正の電源(電源電圧:VCC)に繋ぎ、左側と上側のシールド配線をGND(接地)に繋ぐ。
【0066】
その結果、図6のように、偶然隣接したシールド配線は、電位が異なるため、コンデンサの役目を果たし、電源に乗ったノイズを吸収し、雑音による誤動作を防ぐことができる。
【0067】
(9) :例9(スキャンを利用したシールド配線)の説明
例9の説明図を図7に示す。LSIのレジスタをテストするために、通常は全てレジスタはスキャンネットと呼ばれる配線で数珠繋ぎに接続されている。このネットは製造後の不良品を判断するテストで使われるが、LSIの動作中は動作しないため不要である。また、スキャンネットはノイズを発生しない。
【0068】
そこで、例9は、スキャンネットの一部をシールド配線として兼用し、シールド配線とスキャンネットに必要な配線領域を節約したLSI構造に関する例である。
【0069】
図7に示したスキャンネットは部分的にシールド配線を兼ねている。できるだけ動作中は定電位でノイズを発生しないスキャンネットとシールド配線を兼用することにより、配線資源を節約することができる。各スキャンネットは、或る2点間を接続する。その際に、その2点間に存在するシールド配線をできるだけ利用することにより、このような構造を実現できる。
【0070】
(処理の詳細な説明)
(1) :例3の詳細な処理
例3の処理フローチャート(その1)を図8に示す。また、例3の処理フローチャート(その2)を図9に示す。以下、図8、図9に基づいて例3の処理を詳細に説明する。なお、S1〜S12は各処理ステップを示す。
【0071】
例3の処理において、要素には、配線線分、ビア、クリップの3つがある。クリップとは電源とシールド配線との接続点を示し、別々のクリップ番号を持つ。各要素は、「チェック番号」、「接続位置」、「到達距離」、「最短子要素」、「最短子要素距離」を持つ。
【0072】
先ず、全てのシールド配線をクリップの位置、ビア位置、他の線分との交差位置で切断し、1つの線分は、両端でのみ他の線分、ビアと接触している状態にする(S1)。この場合、切断はされても接触はしている。
【0073】
次に、全てのクリップについて、「到達距離」=0、「チェック番号」=クリップ番号、「接続位置」=クリップ位置、「最短子要素」=そのクリップと接触している全ての要素の中で、反対側までの距離が最も小さいもの、「最短子要素距離」=最短子要素の反対側までの距離(=到達距離+最短子要素の長さ)、全てのクリップを次探索位置集合へ登録する(S2)。
【0074】
そして、次探索位置集合は空か否かを判断し(S3)、次探索位置集合が空ならば、離断点として登録された場所を離断後、少し短くして接触を無くし(S12)、この処理を終了する。しかし、S3の処理で、次探索位置集合が空でなければ、次探索位置集合から、「最短子要素距離」が最少の要素を1つ取り出し、今要素とする。今要素の「最短子要素」を次要素とする(S4)。
【0075】
次に、今要素の「接続位置」と接触している全ての要素の中で、次要素以外に「チェック番号」が未だ無いものがあるか否かを判断する(S5)。その結果、次要素以外に「チェック番号」が未だ無いものが有れば、今要素の「最短子要素」=それらの中で反対側までの距離が最も小さいもの、「最短子要素距離」=最短子要素の反対側までの距離とし、今要素を次探索位置集合へ戻す(S6)。
【0076】
次に、次要素の「チェック番号」が有るか否かを判断する(S7)。また、前記S5の処理で、今要素の「接続位置」と接触している全ての要素の中で、次要素以外に「チェック番号」が未だ無いものが無ければ、前記S6の処理を行うことなくS7の処理へ移行する。そして、S7の処理で、次要素の「チェック番号」が無ければ、次要素の「チェック番号」=今要素の「チェック番号」、「接続位置」=次要素の反対側の位置、「到達距離」=今要素の「最短子要素距離」とする(S8)。
【0077】
また、S7の処理で、次要素の「チェック番号」が有れば、S3の処理へ移行する。次に、次要素の「接続位置」と接触している全ての要素の中に、「チェック番号」が有るか否かを判断し(S9)、有れば、その中で、次要素の「接続位置」と同じ「接続位置」を持つ要素を到達要素とする。そして、次要素の、今要素の接続位置から、(到達要素の「到達距離」+次要素の長さ−今要素の「到達距離」)/2の距離の部分を離断点として登録しておく(S10)。
【0078】
この場合、クリップから次要素の両端までの最少距離は、到達要素の「到達距離」と今要素の「到達距離」であり、次要素は、次探索位置集合へは戻さない。その後、S3の処理へ移行する。
【0079】
また、S9の処理で、チェック番号が無ければ、次要素の「最短子要素」=次要素の「接続位置」と接触している全ての要素の中で、反対側までの距離が最も小さいもの、「最短子要素距離」=最短子要素の反対側までの距離、次要素を次探索位置集合へ登録する(S11)。その後S3の処理へ移行する。
【0080】
(2) :例3の処理の説明
例3の処理説明図を図10に示す。図10の例は、前記図8、9に示した処理による例であり、簡単な場合の例について示したものである。図10において、要素はC1、C2、S1、S2、S3、クリップ(C1、C2:クリップ)が2つ、シールド線(S1、S2、S3:シールド線)が3本である。位置は、P1、P2、P3、P4で表される。
【0081】
この場合、S1、S2、S3の線長は、5、6、7とする。また、要素名は、チェック番号、接続位置、到達距離、最短子要素、最短子要素距離で表現している。また、太い電源へは、複数のビアで接続されている場合があるが、その場合は、それらのビアの間を離断するのは無意味なので、まとめて1つのビアと見なす方が良い。
【0082】
(3) :例5の詳細な処理
図11に例5の処理フローチャートを示す。以下、図11に基づいて例5の処理を説明する。なお、S21〜S24は各処理ステップを示す。
【0083】
先ず、全てのシールド線のクリップ点、交差点、ビア位置で切断し、シールド線の両端でしか他の要素と接触していないようにする(S21)。次に、全てのシールドとビアの探索対象外マークを0に初期化する(S22)。そして、枝面積計算関数(或る1つのクリップ、その点)を呼び出す(S23)。
【0084】
次に、図8、9に示した例3の処理フローチャートにおいて、要素の長さの代わりに、要素の面積+その要素に記録された面積として、探索対象外マークのついた要素を全く無視して実行し(S24)、この処理を終了する。
【0085】
(4) :枝面積計算関数の処理
枝面積計算関数の処理フローチャート(その1)を図12に示す。また、枝面積計算関数の処理フローチャート(その2)を図13に示す。以下、図12、図13に基づいて枝面積計算関数の処理を説明する。なお、S31〜S43は各処理ステップを示す。
【0086】
先ず、初期化処理として、枝数=0、クリップ数=0、面積=0に設定し(S31)、始点に繋がる全ての要素を、集合に登録する(S32)。次に、集合から1つの要素を取り出し、集合から取り除き(S33)、集合に取り出すべき要素が有るか否かを判断する(S34)。
【0087】
その結果、集合に取り出すべき要素が有れば、取り出すべき要素と開始要素が同一か否かを判断し(S35)、同一ならばS33の処理へ移行する。しかし、取り出すべき要素と開始要素が同一でなければ、その要素はクリップか否かを判断する(S36)、
その結果、その要素がクリップならば、クリップ数をインクリメント(クリップ数=クリップ数+1)して(S37)、S32の処理へ移行する。しかし、S36の処理で、その要素がクリップでなければ、枝数をインクリメント(枝数=枝数+1)する(S38)。
【0088】
次に、|面積要素、クリップ存在フラグ|=枝面積計算関数(その要素、その要素の反対側の点)とする(S39)。次に、クリップ数=クリップ数+クリップ存在フラグとして(S40)、S33の処理へ移行する。
【0089】
また、S34の処理で、集合に取り出すべき要素が無ければ、クリップ数>0か否かを判断し(S41)、クリップ数>0ならば、開始要素のその位置に、面積を記録する。そして、{0,クリップ数}を答えとして、関数呼び出し元に戻り(S42)、この処理を終了する。
【0090】
また、S41の処理で、クリップ数>0でなければ、開始要素に、検索対象外のマークを付ける。そして、{開始要素の面積,0}を答えとして、関数呼び出し元に戻り(S43)、この処理を終了する。
【0091】
(5) :例9の詳細な処理
例9の処理フローチャートを図14に示す。以下、図14に基づいて例9の処理を説明する。なお、S51〜S56は各処理ステップを示す。
【0092】
先ず、全てのシールド線分をクリップ点、交差点、ビア位置で切断し、シールド線分の両端でしか他の要素と接触していないようにする(S51)。次に、全てのシールドと、ビアのマークを、0に初期化し(S52)、全てのシールドのクリップを集合に入れる(S53)。
【0093】
次に、集合からクリップを1つ取り出し、集合から削除する(S54)。そして、取り出すべきクリップが集合に有るか否かを判断し(S55)、取り出すべきクリップが集合に有れば、ループ離断関数(クリップ、そのクリップの位置、そのクリップのクリップ番号)を求め(S56)、S54の処理へ移行する。また、S55の処理で、取り出すべきクリップが集合に無ければ、この処理を終了する。
【0094】
(6) :ループチェック関数の処理
ループチェック関数の処理フローチャートを図15に示す。以下、図15に基づいてループチェック関数(例6において、ループを検出して離断するために使用する関数)の処理を説明する。なお、S61〜S68は各処理ステップを示す。
【0095】
先ず、始点に繋がる全ての要素を集合へ入れる(S61)。次に、集合から1つの要素を取り出し、集合から取り除く(S62)。そして、集合から取り出すべき要素が有るか否かを判断し(S63)、有れば、その要素と開始要素が同一か否かを判断する(S64)。また、集合から取り出すべき要素が無ければ、関数呼び出し元に戻り(S68)、この処理を終了する。
【0096】
前記S64の処理で、その要素と開始要素が同一で有れば、S62の処理へ移行するが、同一でなければ、その要素とマークが0か否かを判断する(S65)。その結果、その要素とマークが0ならば、その要素のマーク=マーク番号、ループチェック関数(その要素、その要素の反対側の点、マーク番号)を実行し(S66)、S62の処理へ移行する。
【0097】
また、S65の処理で、その要素とマークが0でなければ、開始要素の始点側を短くすることにより、ループを離断し(S67)、S62の処理へ移行する。このようにして、ループチェック関数の処理を行う。
【0098】
(具体的な装置例と記録媒体の説明)
図16は具体的な装置例である。前記実施の形態の例1〜例9において説明した「LSIのシールド配線を行うための処理」は、ワークステーション、パーソナルコンピュータ等の任意のコンピュータにより実現することができる。
【0099】
この装置は、コンピュータ本体1と、該コンピュータ本体1に接続されたディスプレイ装置2、入力装置(キーボード/マウス等)3、リムーバブルディスクドライブ(「RDD」という)4、ハードディスク装置(「HDD」という)5等で構成されている。
【0100】
そして、コンピュータ本体1には、内部の各種制御や処理を行うCPU6と、プログラムや各種データを格納しておくためのROM7(不揮発性メモリ)と、メモリ8と、インタフェース制御部(「I/F制御部」という)9と、通信制御部10等が設けてある。なお、前記RDD4には、フレキシブルディスクドライブや光ディスクドライブ等が含まれる。
【0101】
前記構成の装置において、例えば、HDD5の磁気ディスク(記録媒体)に、前記処理を実現するためのプログラムを格納しておき、このプログラムをCPU6が読み出して実行することにより、前記コンピュータが行う「LSIのシールド配線を行うための処理」を実行する。
【0102】
しかし、本発明は、このような例に限らず、例えば、HDD5の磁気ディスクに、次のようにしてプログラムを格納し、このプログラムをCPU6が実行することで前記処理を行うことも可能である。
【0103】
▲1▼:他の装置で作成されたリムーバブルディスクに格納されているプログラム(他の装置で作成したプログラムデータ)を、RDD4により読み取り、HDD5の記録媒体に格納する。
【0104】
▲2▼:通信回線を介して他の装置から伝送されたプログラム等のデータを、通信制御部10を介して受信し、そのデータをHDD5の記録媒体(磁気ディスク)に格納する。
【0105】
(付記)
前記説明に対し、本発明の次の構成を付記する。
【0106】
(付記1):コンピュータに、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線を流れて供給される電流を計算するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0107】
(付記2):シールド配線が、電源と接続されるクリップ点と、該クリップ点の中間近くで離断され、全てのシールド配線は1箇所でのみ電源と接続される状態にし、シールド配線中を過度の電流が流れることを防いだシールド配線を用いていることを特徴とするLSI。
【0108】
(付記3):配線層間を結ぶビアを用いないことにより、分断されたシールド配線に対し、1つに繋がったシールド配線からは1箇所でしか電源配線に接続しないことで、シールド配線中を過度の電流が流れることを防ぐシールド配線を用いていることを特徴とするLSI。
【0109】
(付記4):シールド対象配線の両側のシールド線を互いに異なる電位の電源に接続し、隣接するシールド配線の電位が必ず異なるようにして、シールド配線同士が隣接した場合の静電容量を利用して電源の対雑音性を高めたシールド配線を用いていることを特徴とするLSI。
【0110】
(付記5):スキャンネットの一部をシールド配線として兼用し、シールド配線とスキャンネットに必要な配線領域を節約した構造を有することを特徴とするLSI。
【0111】
(付記6):前記(付記1) の記録媒体において、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、コンピュータに、配線中は、簡単な計算により、電流密度制約違反が起こりそうなシールド配線を太くして配線するステップと、配線終了後に、時間のかかる電源網解析を行い、必要な箇所のシールド配線を細くし、配線制約違反も、電流密度制約違反も発生させないようにするステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0112】
(付記7):前記(付記2)のLSI構造を実現するために、コンピュータに、最初に全て繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、電源への接続点の中間を求めて、そこを離断し、全てのシールド配線は1箇所でのみ電源と接続される状態にするステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0113】
(付記8):前記(付記2)のLSI構造を実現するために、コンピュータに、最初に全て繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、次に、行き止まりになっている枝状の配線を調べ、その面積もしくは容量を、その枝の付け根の分岐点に覚えさせるステップと、行き止まりの枝状の配線を無視し、付け根の値と無視しない部分の面積を加えながら、電源への接続点の容量的な中間点を求め、そこを離断するステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0114】
(付記9):前記(付記2)のLSI構造を実現するために、コンピュータに、最初に繋がったシールド配線を生成した上で、電源配線に交差する点や非常に近い点を電源配線に接続するステップと、次に、ループになっている部分を調べ、1箇所で離断し、ループを全て解消するステップと、次に、行き止まりになっている枝状の配線を調べ、その面積若しくは容量を、その枝の付け根の分岐点に覚えさせるステッブと、行き止まりの枝状の配線を無視し、付け根の値と無視しない部分の面積を加えながら、電源への接続点の容量的な中間地点を求め、そこを離断するステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0115】
(付記10):コンピュータに、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線を流れて供給される電流を計算するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実現させるためのプログラム。
【0116】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【0117】
(1) :請求項1では、コンピュータが前記記録媒体のプログラムを読み出して実行することにより、LSIのシールド配線を行う。この場合、コンピュータのプログラムにより、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算(電流値を計算)するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実行させる。このようにすれば、シールド配線を流れる電流による電流密度制約違反が起こらない。
【0124】
(2) :請求項では、コンピュータが前記プログラムを実行することにより、LSIのシールド配線を行う。この場合、コンピュータのプログラムにより、LSIの対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算(電流値を計算)するステップと、前記計算結果を用いて、電流密度のデザインルールを満たすように、シールド配線を太くする、若しくは細くするステップを実行させる。このようにすれば、シールド配線を流れる電流による電流密度制約違反が起こらない。
【図面の簡単な説明】
【図1】本発明の実施の形態における例1、2の説明図である。
【図2】本発明の実施の形態における例3、4の説明図である。
【図3】本発明の実施の形態における例5の説明図である。
【図4】本発明の実施の形態における例6の説明図である。
【図5】本発明の実施の形態における例7の説明図である。
【図6】本発明の実施の形態における例8の説明図である。
【図7】本発明の実施の形態における例9の説明図である。
【図8】本発明の実施の形態における例3の処理フローチャート(その1)である。
【図9】本発明の実施の形態における例3の処理フローチャート(その2)である。
【図10】本発明の実施の形態における例3の処理説明図である。
【図11】本発明の実施の形態における例5の処理フローチャートである。
【図12】本発明の実施の形態における枝面積計算関数の処理フローチャート(その1)である。
【図13】本発明の実施の形態における枝面積計算関数の処理フローチャート(その2)である。
【図14】本発明の実施の形態における例9の処理フローチャートである。
【図15】本発明の実施の形態におけるループチェック関数の処理フローチャートである。
【図16】本発明の実施の形態における具体的な装置例である。
【符号の説明】
1 コンピュータ本体
2 ディスプレイ装置
3 入力装置
4 リムーバブルディスクドライブ(RDD)
5 ハードディスク装置(HDD)
6 CPU(中央処理装置)
7 ROM(リードオンリ・メモリ)
8 メモリ
9 インタフェース制御部(I/F制御部)
10 通信制御部
[0001]
BACKGROUND OF THE INVENTION
The present invention is used for shield wiring of a large-scale integrated circuit device (hereinafter referred to as “LSI”), and in particular, surrounds a net that is susceptible to noise to prevent crosstalk noise from other nets. A recording medium or program recording a program for performing shield wiring when making shield wiring difficult to receive About .
[0002]
[Prior art]
A conventional example will be described below. Conventionally, in a LSI, there has been known a shield wiring that surrounds a net that is particularly susceptible to crosstalk noise, such as a clock wiring, with a net connected to a power source (hereinafter referred to as “clipped”). This shield wiring prevents noise generated in other adjacent nets.
[0003]
In this case, the normal shield wiring is connected to the power supply net at a plurality of locations. The power supply wiring causes a voltage drop called IR drop (voltage drop due to current I and resistance R = I × R) due to the power consumption of the nearby element, and the power supply at a plurality of locations may have slightly different potentials. In that case, an excessive current may pass through the shield wiring.
[0004]
[Problems to be solved by the invention]
The shield wiring in the conventional LSI as described above has the following problems.
[0005]
{Circle around (1)} In conventional shield wiring, the power supply wiring is usually thick, but the shield wiring uses the same thickness as the signal line, so the current density may exceed the specified value. . As a result, the degradation of wiring called electromigration occurs, and the life and reliability of the LSI are degraded.
[0006]
{Circle around (2)} Switching noise rides on the power supply due to the operation of the element. In recent years, it has been necessary to absorb noise as the integration density of LSIs has increased, but it has been difficult to completely eliminate such switching noise.
[0007]
{Circle around (3)} In order to test the registers on the LSI, they are usually connected in a daisy chain by wiring called a scan net. This scan net is used for tests to determine defective products after manufacture, but is unnecessary because it does not operate during the operation of the LSI, but conventionally this scan net has not been effectively used after the end of the test. . Also, if shield wiring is provided separately from the scan net, it may take up space and hinder the miniaturization of the LSI.
[0008]
{Circle around (4)} Conventionally, since the wiring density was not so high, the influence of crosstalk was small and shield wiring was not necessary. Further, since the power consumption was sufficiently small and there was no potential difference between the power supplies, the current flowing through the shield wiring was small, and no current density constraint violation was caused. However, when the LSI wiring density becomes high, the current density constraint violation may occur, but no countermeasure has been taken.
[0009]
The present invention solves such a conventional problem and aims at the following. That is, if the shield wiring is connected to the power supply net at multiple locations, an excessive current may flow through the shield wiring due to the potential difference between the power supply nets, or current density constraint violations may occur between the shield wirings or on the power supply. However, even in an LSI having high-density wiring, it is possible to prevent such a current density constraint violation and to realize reliable shield wiring and to perform shield wiring processing in a short time. For the purpose.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is configured as follows.
[0011]
(1): To computer On the design data for designing the LSI, When connecting the power supply wiring to the shield wiring that surrounds the target net, when connecting to the power supply at multiple locations, the current supplied through the shield wiring and power supply wiring value Calculating In steps Calculation Current value Use shielded wiring to meet current density design rules The design data of the thickness of Or Thin value A computer-readable recording medium on which a program for realizing the steps is recorded.
[0020]
(2): To computer On the design data for designing the LSI, When connecting the power supply wiring to the shield wiring that surrounds the target net, when connecting to the power supply at multiple locations, the current supplied through the shield wiring and power supply wiring value Calculating In steps Calculation Current value Use shielded wiring to meet current density design rules The design data of the thickness of Or Thin value A program for realizing steps.
[0021]
(Function)
The operation of the present invention based on the above configuration will be described.
[0022]
(a): In (1), the shield wiring of the LSI is performed by the computer reading and executing the program of the recording medium. In other words, when a computer program is used to connect the power supply wiring to the shield wiring that surrounds the LSI target net, the shield wiring And power supply wiring The step of calculating the current supplied through the current (calculating the current value) and the step of thickening or thinning the shield wiring so as to satisfy the current density design rule using the calculation result are executed. In this way, the current density constraint violation due to the current flowing through the shield wiring does not occur.
[0037]
(b) : The above (2) Then, the shield wiring of the LSI is performed by the computer executing the program. In other words, when connecting the power supply wiring to the shield wiring that surrounds the LSI target net using a computer program, the current supplied through the shield wiring is calculated when connecting to the power supply at multiple locations. (Calculating the current value) and using the calculation result, the shield wiring is made thicker or thinner so as to satisfy the current density design rule. In this way, the current density constraint violation due to the current flowing through the shield wiring and the power supply wiring does not occur.
[0038]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. 1 to 7 show data on a computer for designing an LSI, and a circle indicates a via. Further, in the following description, “separation” refers to eliminating the contact by slightly shortening the end of the line segment. “Cut” means a state where the line segment is broken into two but still in contact.
[0039]
(Description of each example)
(1): Explanation of Example 1 (LSI shield wiring method: example of thickening and thinning)
An explanatory diagram of Examples 1 and 2 is shown in FIG. Example 1 is an example in which processing for performing shield wiring of an LSI is realized by a computer (for example, CAD) program.
[0040]
In this case, when connecting the power supply wiring to the shield wiring that surrounds the LSI target net by a computer program, when connecting to the power supply at multiple locations, the current supplied through the shield wiring is Using the calculation result and the calculation result, the shield wiring is made thicker or thinner so as to satisfy the current density design rule. Specifically, it is as follows.
[0041]
In the example of FIG. 1, the target net is a clock wiring wired in the first layer and the second layer, and shield wiring is provided on both sides of the clock wiring so as to surround the clock wiring. The power supply wiring is the second-layer main power-supply wiring and the first-layer sub-power-supply wirings 1 and 2. It is.
[0042]
In other words, in Example 1, the current generated in the portion of the thin power supply wiring obtained by clipping the shield wiring or the shield wiring is calculated, and the current density is increased by increasing the thickness of the shield wiring so that the current density is not more than a specified value. Lowering the shield wiring or conversely reducing the current density constraint in the thin power wiring connected to the shield wiring can be prevented.
[0043]
For example, by increasing the thickness of the shield wiring (second layer) in part A in FIG. 1, the density of the current flowing from the sub power supply wiring 1 (first layer) to the sub power supply wiring 2 (first layer) becomes a constraint value. Do not exceed. In addition, a current flows from the main power supply wiring (second layer) to the sub power supply wiring 1 (first layer) in the portion B (first layer and second layer shield wiring). If this potential difference is large, If this portion is made thick, the sub power supply wiring 1 may cause a current density constraint violation.
[0044]
In such a case, conversely, by narrowing the portion B to increase the wiring resistance, the current is reduced and the current density does not exceed the constraint value. Usually, since the standard line width is determined by each wiring layer, it may be moved to a layer having an appropriate wiring width together with the clock wiring instead of being thickened or thinned.
[0045]
(2): Explanation of Example 2 (example of thickening first in shield wiring processing of Example 1)
Example 2 is an example in which processing for performing shield wiring of an LSI is realized by a computer (for example, CAD) program.
[0046]
In this case, in Example 2, when the process of connecting the shield wiring (1st and 2nd layers) surrounding the periphery of the target net to the power supply wiring by the computer program in Example 1, simple calculation is performed during wiring The steps of thickening the shield wiring that is likely to violate the current density constraint and the time-consuming power network analysis after finishing the wiring, narrowing the shield wiring at the necessary location, A step is performed so as not to cause a density constraint violation.
[0047]
That is, time-consuming current density calculation is not performed during wiring. A simple calculation that does not take a long time investigates the possibility of thickening the shield wiring later on the shield wiring, and performs shield wiring processing to thicken them.
[0048]
For example, in FIG. 1, the portions A and B are thickened. Then, from the result of the power supply network analysis at the end of all the wirings, a portion that does not need to be thickened is returned to the original thickness. When narrowing, the restriction on the distance from other general signal lines is not violated, so that it is not necessary to rewire. Therefore, the shield wiring of Example 1 can be realized in a short time. In addition to the shield wiring, a part of the power supply wiring may be thickened in some cases.
[0049]
(3): Explanation of Example 3 (LSI separation structure)
An explanatory diagram of Examples 3 and 4 is shown in FIG. In example 3, the shield wiring is disconnected near the clip point connected to the power supply and the middle of the clip point, and all shield wiring is connected to the power supply only at one location, This is an example of an LSI structure using shield wiring that prevents current from flowing.
[0050]
In FIG. 2, the portion that intersects the power supply or the portion that is close to the power supply is clipped using power supply wiring and vias (circles in the figure), and the point C between the clip points is disconnected. Prevents excessive current from flowing between the clip points. In this structure, since no current flows between the clips, it is not necessary to perform a time-consuming power network analysis.
[0051]
(4): Explanation of Example 4 (shield wire separation process)
Example 4 is an example in which processing for performing shield wiring of LSI is realized by a program of a computer (for example, CAD).
[0052]
In this case, in order to realize the LSI structure of Example 3, in Example 4, a shield wiring that is all connected first is generated by a computer program, and then a point that intersects or is very close to the power supply wiring The step of connecting to the wiring and the intermediate point of the connection point to the power source are obtained and disconnected, and the step of connecting all the shield wirings to the power source only at one place is executed.
[0053]
In FIG. 2, the portion that first intersects with the power supply or the portion that is close to the power supply is clipped to the power supply wiring using a via or the like, the point C between the clip points is disconnected, and an excessive current is generated between the clip points. To prevent the flow. In this case, if the procedure described later is performed, the middle of the clip point can be found and cut off.
[0054]
(5): Explanation of Example 5 (separation processing considering capacity)
An explanatory diagram of Example 5 is shown in FIG. Example 5 is an example in which the process of performing shield wiring of an LSI is realized by a computer (for example, CAD) program.
[0055]
In this case, in order to realize the LSI structure of Example 2, in Example 5, a shield wiring that is all connected first is generated by a computer program, and points that intersect or are very close to the power supply wiring are The step of connecting to the wiring, the next step is to examine the branch-like wiring that is a dead end, and the step of letting the area or capacity memorize at the branch point of the base of the branch, and to ignore the branch-like wiring of the dead end Then, while adding the root value and the area of the part that is not ignored, the step of obtaining the capacitive intermediate point of the connection point to the power source and disconnecting it is executed.
[0056]
As shown in FIG. 3, when a dead-end shield wire is connected to the shield wire, the area or capacitance of the shield wire in that portion is calculated, and the value is indicated by the root (root) indicated by F in FIG. ). As in Example 3, when determining the intermediate point from the clip point, not the intermediate distance (position D in the figure), but the intermediate point of the area or capacitance.
[0057]
Instead of searching for a dead-end shield line, if it is added to the value of the root, an intermediate point of capacitance such as point E in FIG. 3 can be obtained. If the electrostatic capacity of each shield wiring (capacitance with GND) is balanced, the noise on the shield wiring can be quickly released to the power supply through the clip, and the effect of the shield wiring can be enhanced. it can.
[0058]
(6): Explanation of Example 6 (separation processing considering capacity)
An explanatory diagram of Example 6 is shown in FIG. Example 6 is an example in which processing for performing shield wiring of LSI is realized by a computer (for example, CAD) program.
[0059]
In this case, in order to realize the LSI structure of Example 3, in Example 6, the shield wiring connected first is generated by the computer program, and then the point crossing the power supply wiring or a point very close to the power supply wiring is shown. The next step is to check the part that is in the loop, break the loop at one point, eliminate all the loops, and then check the branch-like wiring that is dead end Alternatively, the capacity is memorized at the branch point at the base of the branch and the dead end branch-like wiring is ignored, and the value of the base and the area of the non-ignored part are added, and the capacitive middle of the connection point to the power supply is added. A point is obtained and a step of cutting off the point is executed.
[0060]
As shown in FIG. 4, if a loop exists in the shield wiring, the shield wiring method of Example 4 cannot be realized unless some device is used. Therefore, as preprocessing, a loop is detected and the point (point G in FIG. 4) is disconnected. As a result, the shield including the loop that cannot be processed by the shield wiring method of Example 4 can be processed by preprocessing.
[0061]
(7): Explanation of Example 7 (no connection at the time of generation)
An explanatory diagram of Example 7 is shown in FIG. In Example 7, by using no vias that connect the wiring layers, the shielded wiring that is divided is connected to the power supply wiring only at one location from the shielded wiring that is connected to one, so that It is an example regarding the LSI structure using the shield wiring which prevents that the electric current flows.
[0062]
As shown in FIG. 5, the points H are not connected by vias. By not using vias that connect the shield wiring between shields, the shield structure is not connected to each other, and only one location is clipped from the island of each shield. The shield wiring is guaranteed not to violate constraints.
[0064]
(8): Explanation of Example 8 (changing left and right potentials)
An explanatory diagram of Example 8 is shown in FIG. By the way, switching noise is put on the power supply due to the operation of the element. With recent improvements in LSI integration density, it has become necessary to absorb the noise. Therefore, in Example 8, the shield lines on both sides of the shielded wiring are connected to power supplies having different potentials so that the potentials of the adjacent shield wirings are always different, and the electrostatic capacitance when the shield wirings are adjacent to each other is used. This is an example of an LSI structure using shield wiring with improved noise resistance of the power supply.
[0065]
The shield wirings 2, 3, 4 and 5 shown in FIG. 6 are adjacent to each other. The potential of the shield wiring is determined from the relative position of the net to be shielded. In FIG. 6, the right and lower shield lines of the clock line are connected to a positive power supply (power supply voltage: VCC), and the left and upper shield lines are connected to GND (ground).
[0066]
As a result, as shown in FIG. 6, since the adjacent shield wirings have different potentials, they serve as a capacitor, absorb noise on the power supply, and prevent malfunction due to noise.
[0067]
(9): Explanation of Example 9 (shielded wiring using scanning)
An explanatory diagram of Example 9 is shown in FIG. In order to test LSI registers, all the registers are normally connected in a daisy chain by wiring called a scan net. This net is used in a test for determining defective products after manufacture, but is unnecessary because it does not operate during the operation of the LSI. Also, the scan net does not generate noise.
[0068]
Therefore, Example 9 is an example of an LSI structure in which a part of the scan net is also used as a shield wiring to save a wiring area necessary for the shield wiring and the scan net.
[0069]
The scan net shown in FIG. 7 also partially serves as a shield wiring. Wiring resources can be saved by combining the scan net that does not generate noise at a constant potential and shield wiring during operation as much as possible. Each scan net connects two certain points. At that time, such a structure can be realized by utilizing as much as possible the shield wiring existing between the two points.
[0070]
(Detailed explanation of processing)
(1): Detailed processing of Example 3
FIG. 8 shows a processing flowchart (No. 1) of Example 3. Moreover, the process flowchart (the 2) of Example 3 is shown in FIG. Hereinafter, the processing of Example 3 will be described in detail with reference to FIGS. In addition, S1-S12 shows each process step.
[0071]
In the processing of Example 3, there are three elements: a wiring line segment, a via, and a clip. The clip indicates a connection point between the power source and the shield wiring, and has a different clip number. Each element has “check number”, “connection position”, “reach distance”, “shortest child element”, and “shortest child element distance”.
[0072]
First, all shield wirings are cut at clip positions, via positions, and intersections with other line segments, and one line segment is in contact with other line segments and vias only at both ends ( S1). In this case, contact is made even if the cutting is performed.
[0073]
Next, for all clips, “arrival distance” = 0, “check number” = clip number, “connection position” = clip position, “shortest child element” = all elements in contact with the clip , The shortest distance to the opposite side, “shortest child element distance” = distance to the opposite side of the shortest child element (= reach distance + shortest child element length), all clips are registered in the next search position set (S2).
[0074]
Then, it is determined whether or not the next search position set is empty (S3). If the next search position set is empty, the location registered as the break point is cut off and then slightly shortened to eliminate contact (S12). This process is terminated. However, if the next search position set is not empty in the process of S3, one element having the smallest “shortest child element distance” is taken out from the next search position set and set as the current element. The “shortest child element” of the current element is set as the next element (S4).
[0075]
Next, it is determined whether or not there is an element that does not have a “check number” other than the next element among all the elements that are in contact with the “connection position” of the current element (S5). As a result, if there is a “check number” other than the next element, the “shortest child element” of the current element = the shortest distance to the opposite side among them, “shortest child element distance” = The distance to the opposite side of the shortest child element is set, and the current element is returned to the next search position set (S6).
[0076]
Next, it is determined whether there is a “check number” of the next element (S7). Further, in the process of S5, if there is no element that does not have a “check number” other than the next element among all elements in contact with the “connection position” of the current element, the process of S6 is performed. If not, the process proceeds to S7. If there is no “check number” of the next element in the processing of S7, “check number” of the next element = “check number” of the current element, “connection position” = position opposite to the next element, “reach distance” "=" Shortest child element distance "of the current element (S8).
[0077]
If there is a “check number” of the next element in the process of S7, the process proceeds to S3. Next, it is determined whether or not there is a “check number” among all the elements in contact with the “connection position” of the next element (S9). An element having the same “connection position” as the “connection position” is defined as a reaching element. Then, from the connection position of the next element of the next element, register the distance part of (reaching distance of the reaching element + the length of the next element−the “reaching distance” of the current element) / 2 as a break point. (S10).
[0078]
In this case, the minimum distance from the clip to both ends of the next element is the “reaching distance” of the reaching element and the “reaching distance” of the current element, and the next element does not return to the next search position set. Thereafter, the process proceeds to S3.
[0079]
Also, if there is no check number in the process of S9, the next element “shortest child element” = the shortest distance to the opposite side among all elements in contact with the next element “connection position” “Shortestest child element distance” = distance to the opposite side of the shortest child element, the next element is registered in the next search position set (S11). Thereafter, the process proceeds to S3.
[0080]
(2): Explanation of processing in Example 3
A process explanatory diagram of Example 3 is shown in FIG. The example of FIG. 10 is an example of the processing shown in FIGS. 8 and 9 and shows an example of a simple case. In FIG. 10, the elements are C1, C2, S1, S2, S3, two clips (C1, C2: clip), and three shield wires (S1, S2, S3: shield wire). The position is represented by P1, P2, P3, and P4.
[0081]
In this case, the line lengths of S1, S2, and S3 are 5, 6, and 7. The element name is expressed by a check number, connection position, reach distance, shortest child element, and shortest child element distance. In addition, a thick power supply may be connected by a plurality of vias. In that case, it is meaningless to disconnect the vias, and therefore it is better to consider them as one via.
[0082]
(3): Detailed processing of Example 5
FIG. 11 shows a processing flowchart of Example 5. Hereinafter, the processing of Example 5 will be described with reference to FIG. S21 to S24 indicate each processing step.
[0083]
First, cutting is performed at clip points, intersections, and via positions of all shield lines so that they are in contact with other elements only at both ends of the shield line (S21). Next, all the shield and via search target marks are initialized to 0 (S22). Then, a branch area calculation function (one clip, that point) is called (S23).
[0084]
Next, in the processing flowchart of Example 3 shown in FIGS. 8 and 9, the element with the mark not to be searched is completely ignored as the area of the element + the area recorded in the element instead of the length of the element. (S24), and this process is terminated.
[0085]
(4): Processing of branch area calculation function
A processing flowchart (part 1) of the branch area calculation function is shown in FIG. FIG. 13 shows a processing flowchart (part 2) of the branch area calculation function. Hereinafter, the processing of the branch area calculation function will be described with reference to FIGS. S31 to S43 indicate each processing step.
[0086]
First, as initialization processing, the number of branches = 0, the number of clips = 0, and the area = 0 are set (S31), and all elements connected to the start point are registered in the set (S32). Next, one element is extracted from the set, removed from the set (S33), and it is determined whether there is an element to be extracted from the set (S34).
[0087]
As a result, if there is an element to be extracted from the set, it is determined whether or not the element to be extracted and the start element are the same (S35). If they are the same, the process proceeds to S33. However, if the element to be extracted and the start element are not the same, it is determined whether or not the element is a clip (S36).
As a result, if the element is a clip, the number of clips is incremented (number of clips = number of clips + 1) (S37), and the process proceeds to S32. However, if the element is not a clip in the process of S36, the number of branches is incremented (the number of branches = the number of branches + 1) (S38).
[0088]
Next, | area element, clip presence flag | = branch area calculation function (the element, a point on the opposite side of the element) is set (S39). Next, the number of clips = number of clips + clip existence flag is set (S40), and the process proceeds to S33.
[0089]
If there is no element to be extracted from the set in the process of S34, it is determined whether or not the number of clips> 0 (S41). If the number of clips> 0, the area is recorded at the position of the start element. Then, with {0, the number of clips} as an answer, the process returns to the function caller (S42), and this process is terminated.
[0090]
If the number of clips is not greater than 0 in the process of S41, a mark that is not a search target is added to the start element. Then, {area of the start element, 0} is set as an answer, the function caller is returned (S43), and this process is terminated.
[0091]
(5): Detailed processing of Example 9
The process flowchart of Example 9 is shown in FIG. Hereinafter, the process of Example 9 will be described with reference to FIG. S51 to S56 indicate each processing step.
[0092]
First, all shield line segments are cut at clip points, intersections, and via positions so that they are in contact with other elements only at both ends of the shield line segments (S51). Next, all shields and via marks are initialized to 0 (S52), and clips of all shields are put into a set (S53).
[0093]
Next, one clip is taken out from the set and deleted from the set (S54). Then, it is determined whether or not the clip to be taken out is in the set (S55). If the clip to be taken out is in the set, a loop break function (clip, position of the clip, clip number of the clip) is obtained ( S56) and the process proceeds to S54. If there is no clip to be taken out in the process of S55, this process ends.
[0094]
(6): Loop check function processing
A processing flowchart of the loop check function is shown in FIG. Hereinafter, processing of a loop check function (a function used to detect and break a loop in Example 6) will be described with reference to FIG. S61 to S68 indicate each processing step.
[0095]
First, all the elements connected to the starting point are put into the set (S61). Next, one element is extracted from the set and removed from the set (S62). Then, it is determined whether there is an element to be extracted from the set (S63). If there is, it is determined whether the element is the same as the start element (S64). If there is no element to be taken out from the set, the process returns to the function caller (S68), and this process ends.
[0096]
If the element is the same as the start element in the process of S64, the process proceeds to S62. If not, it is determined whether the element and the mark are 0 (S65). As a result, if the element and the mark are 0, the mark of the element = mark number, the loop check function (the element, the point on the opposite side of the element, the mark number) is executed (S66), and the process proceeds to S62. To do.
[0097]
If the element and the mark are not 0 in the process of S65, the start point side of the start element is shortened to break the loop (S67), and the process proceeds to S62. In this way, the loop check function is processed.
[0098]
(Specific device example and description of recording medium)
FIG. 16 shows a specific apparatus example. The “processing for performing shield wiring of LSI” described in Examples 1 to 9 of the embodiment can be realized by an arbitrary computer such as a workstation or a personal computer.
[0099]
This apparatus includes a computer main body 1, a display device 2 connected to the computer main body 1, an input device (keyboard / mouse, etc.) 3, a removable disk drive (referred to as “RDD”) 4, and a hard disk device (referred to as “HDD”). It is composed of 5 etc.
[0100]
The computer main body 1 has a CPU 6 for performing various internal controls and processes, a ROM 7 (nonvolatile memory) for storing programs and various data, a memory 8, and an interface control unit (“I / F”). 9) and a communication control unit 10 are provided. The RDD 4 includes a flexible disk drive and an optical disk drive.
[0101]
In the apparatus having the above-described configuration, for example, a program for realizing the processing is stored in a magnetic disk (recording medium) of the HDD 5, and the CPU 6 reads out and executes the program, thereby executing the “LSI” executed by the computer. The process for performing the shield wiring is executed.
[0102]
However, the present invention is not limited to such an example. For example, the program can be stored in the magnetic disk of the HDD 5 as follows, and the program can be executed by the CPU 6 executing the program. .
[0103]
{Circle around (1)} A program (program data created by another device) stored in a removable disk created by another device is read by the RDD 4 and stored in a recording medium of the HDD 5.
[0104]
{Circle around (2)}: Data such as a program transmitted from another device via a communication line is received via the communication control unit 10 and the data is stored in a recording medium (magnetic disk) of the HDD 5.
[0105]
(Appendix)
The following configuration of the present invention is added to the above description.
[0106]
(Supplementary note 1): When connecting a shield wiring that surrounds the LSI target net to a power supply wiring to a computer, when connecting to a power supply at multiple locations, the current supplied through the shield wiring is A computer-readable recording medium recording a program for realizing a step of calculating and a step of thickening or thinning a shield wiring so as to satisfy a design rule of current density using the calculation result.
[0107]
(Supplementary note 2): The shield wiring is disconnected near the clip point connected to the power source and the middle of the clip point, and all shield wirings are connected to the power source only at one place. An LSI characterized by using shielded wiring that prevents excessive current from flowing.
[0108]
(Supplementary note 3): By not using vias that connect the wiring layers, the shielded wiring that is divided is connected to the power supply wiring at only one point from the shielded wiring that is connected to one, and the shield wiring An LSI characterized by using shield wiring that prevents current from flowing.
[0109]
(Appendix 4): Connect the shield wires on both sides of the shielded wiring to power sources with different potentials, make sure that the potential of the adjacent shield wires is different, and use the capacitance when the shield wires are adjacent to each other. LSI that uses shield wiring with improved noise resistance of the power supply.
[0110]
(Supplementary Note 5): LSI having a structure in which a part of a scan net is also used as a shield wiring, and a wiring area necessary for the shield wiring and the scan net is saved.
[0111]
(Appendix 6): In the recording medium of (Appendix 1), when performing the process of connecting the shield wiring that surrounds the LSI target net to the power supply wiring, the computer calculates the current by simple calculation during the wiring. Steps to thicken the shield wiring that is likely to violate the density constraint and perform the power network analysis that takes time after the wiring is completed, narrow the shield wiring at the necessary location, and violate the current density constraint A computer-readable recording medium having recorded thereon a program for realizing the step of preventing the occurrence of noise.
[0112]
(Appendix 7): In order to realize the LSI structure of (Appendix 2) above, a shield wiring that is all connected first is generated in a computer, and a point that intersects or very close to the power supply wiring is used as the power supply wiring. A computer recording a program for realizing the step of connecting and the step of finding the middle of the connection point to the power source, disconnecting it, and connecting all the shield wirings to the power source only at one place A readable recording medium.
[0113]
(Appendix 8): In order to realize the LSI structure of (Appendix 2) above, a shield wiring that is all connected first is generated in a computer, and a point that intersects or very close to the power supply wiring is used as the power supply wiring. The step of connecting, and then examining the branch-like wiring that is dead-end, making the area or capacity memorize at the branch point of the base of the branch, ignoring the branch-like wiring of the dead-end, A computer-readable recording medium on which a program for realizing a step of obtaining a capacitive intermediate point of a connection point to a power source and disconnecting it is added while adding the value of and a non-negligible area.
[0114]
(Appendix 9): In order to realize the LSI structure of (Appendix 2), a shield wiring connected first is generated in a computer, and then a point that intersects or very close to the power supply wiring is connected to the power supply wiring. The next step is to check the part that is a loop, break it at one place, eliminate all the loops, and then check the branch-like wiring that is dead-end, its area or capacity Ignoring the step at the base of the branch and the dead-end branch-like wiring, adding the base value and the area of the non-ignored part, the capacitive intermediate point of the connection point to the power supply A computer-readable recording medium having recorded thereon a program for realizing the step of obtaining and separating the information.
[0115]
(Supplementary Note 10): When connecting a shield wiring that surrounds the target net of an LSI to a power supply wiring to a computer, when connecting to a power supply at a plurality of locations, the current supplied through the shield wiring is A program for realizing a step of calculating and a step of making the shield wiring thicker or thinner so as to satisfy the current density design rule using the calculation result.
[0116]
【The invention's effect】
As described above, the present invention has the following effects.
[0117]
(1): In claim 1, the shield wiring of the LSI is performed by the computer reading and executing the program of the recording medium. In this case, when connecting the power supply wiring to the shield wiring that surrounds the LSI target net by a computer program, the shield wiring And power supply wiring The step of calculating the current supplied through the current (calculating the current value) and the step of thickening or thinning the shield wiring so as to satisfy the current density design rule using the calculation result are executed. In this way, the current density constraint violation due to the current flowing through the shield wiring does not occur.
[0124]
(2) : Claim 2 Then, the shield wiring of the LSI is performed by the computer executing the program. In this case, when connecting the power supply wiring to the shield wiring that surrounds the LSI target net by a computer program, when connecting to the power supply at multiple locations, the shield wiring and the power supply wiring are supplied. And a step of making the shield wiring thicker or thinner so as to satisfy the current density design rule using the calculation result. In this way, the current density constraint violation due to the current flowing through the shield wiring does not occur.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of Examples 1 and 2 in an embodiment of the present invention.
FIG. 2 is an explanatory diagram of Examples 3 and 4 in the embodiment of the present invention.
FIG. 3 is an explanatory diagram of Example 5 in the embodiment of the present invention.
FIG. 4 is an explanatory diagram of Example 6 in the embodiment of the present invention.
FIG. 5 is an explanatory diagram of Example 7 in the embodiment of the present invention.
FIG. 6 is an explanatory diagram of Example 8 in the embodiment of the present invention.
FIG. 7 is an explanatory diagram of Example 9 in the embodiment of the present invention.
FIG. 8 is a process flowchart (No. 1) of Example 3 in the embodiment of the present invention;
FIG. 9 is a process flowchart (No. 2) of Example 3 in the embodiment of the present invention;
FIG. 10 is a process explanatory diagram of Example 3 in the embodiment of the present invention.
FIG. 11 is a processing flowchart of Example 5 according to the embodiment of the present invention.
FIG. 12 is a process flowchart (part 1) of the branch area calculation function according to the embodiment of the present invention.
FIG. 13 is a process flowchart (part 2) of the branch area calculation function in the embodiment of the present invention.
FIG. 14 is a process flowchart of Example 9 according to the embodiment of the present invention.
FIG. 15 is a processing flowchart of a loop check function according to the embodiment of the present invention.
FIG. 16 is a specific apparatus example according to the embodiment of the present invention.
[Explanation of symbols]
1 computer
2 Display device
3 Input devices
4 Removable disk drive (RDD)
5 Hard disk drive (HDD)
6 CPU (Central Processing Unit)
7 ROM (Read Only Memory)
8 memory
9 Interface control unit (I / F control unit)
10 Communication control unit

Claims (2)

コンピュータに、
LSIの設計を行うための設計データ上で、対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算するステップと、
前記ステップで計算した電流値を用いて、電流密度のデザインルールを満たすように、シールド配線の太さの設計データを太い値にする、若しくは細い値にするステップを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。」
On the computer,
When connecting the shield wiring that surrounds the target net to the power supply wiring on the design data for designing the LSI, when connecting to the power supply at multiple locations, flow through the shield wiring and the power supply wiring. Calculating a current value to be supplied;
Using the current value calculated in the above step, a program for realizing the step of making the design data of the thickness of the shield wiring thick or thin so as to satisfy the current density design rule was recorded. Computer-readable recording medium. "
コンピュータに、
LSIの設計を行うための設計データ上で、対象ネットの周囲を囲んだシールド配線を電源配線につなぐ処理を行う際に、複数の箇所で電源と接続する場合、シールド配線及び電源配線を流れて供給される電流を計算するステップと、
前記ステップで計算した電流値を用いて、電流密度のデザインルールを満たすように、シールド配線の太さの設計データを太い値にする、若しくは細い値にするステップを実現させるためのプログラム。
On the computer,
When connecting the shield wiring that surrounds the target net to the power supply wiring on the design data for designing the LSI, when connecting to the power supply at multiple locations, flow through the shield wiring and the power supply wiring. Calculating a current value to be supplied;
A program for realizing a step of setting the design data of the thickness of the shield wiring to a thick value or a thin value so as to satisfy the current density design rule using the current value calculated in the above step .
JP2001358637A 2000-12-08 2001-11-26 Recording medium and program recording program for shield wiring Expired - Fee Related JP3813863B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001358637A JP3813863B2 (en) 2000-12-08 2001-11-26 Recording medium and program recording program for shield wiring

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000373667 2000-12-08
JP2000-373667 2000-12-08
JP2001358637A JP3813863B2 (en) 2000-12-08 2001-11-26 Recording medium and program recording program for shield wiring

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006041841A Division JP4684911B2 (en) 2000-12-08 2006-02-20 LSI for shielded wiring

Publications (2)

Publication Number Publication Date
JP2002237522A JP2002237522A (en) 2002-08-23
JP3813863B2 true JP3813863B2 (en) 2006-08-23

Family

ID=26605470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001358637A Expired - Fee Related JP3813863B2 (en) 2000-12-08 2001-11-26 Recording medium and program recording program for shield wiring

Country Status (1)

Country Link
JP (1) JP3813863B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228164A (en) 2003-01-20 2004-08-12 Toshiba Corp Semiconductor integrated circuit and method of manufacturing the same
JP2008250583A (en) * 2007-03-30 2008-10-16 Nec Corp Layout design device and layout method

Also Published As

Publication number Publication date
JP2002237522A (en) 2002-08-23

Similar Documents

Publication Publication Date Title
US7240314B1 (en) Redundantly tied metal fill for IR-drop and layout density optimization
US7302662B2 (en) Method for post-routing redundant via insertion in integrated circuit layout
US7913212B2 (en) Method for determining a length of shielding of a semiconductor integrated circuit wiring
US6725439B1 (en) Method of automated design and checking for ESD robustness
US6665845B1 (en) System and method for topology based noise estimation of submicron integrated circuit designs
Lee et al. Post-routing redundant via insertion for yield/reliability improvement
US8732643B2 (en) Support method, design support apparatus, computer product using combination pattern is prepared in advance
US6751744B1 (en) Method of integrated circuit design checking using progressive individual network analysis
KR20220061900A (en) Cell architecture with backside power rails
US7500212B2 (en) Method, apparatus and program for automatically routing semiconductor integrated circuit
JP2004070721A (en) Automatic arrangement and wiring device
US20150171005A1 (en) Method and Layout of an Integrated Circuit
JP3813863B2 (en) Recording medium and program recording program for shield wiring
JP4684911B2 (en) LSI for shielded wiring
US5450331A (en) Method for verifying circuit layout design
US10657302B1 (en) Route generation and buffer placement for disjointed power domains in an integrated circuit
US20050055654A1 (en) Method for checking an IC layout
KR100591964B1 (en) Method for forming wiring pattern of a semiconductor integrated circuit
US8019561B1 (en) Electrical short locator method
US7503023B1 (en) Efficient method for locating a short circuit
Li et al. Multilevel full-chip routing with testability and yield enhancement
JP2004186257A (en) Semiconductor integrated circuit and delay calculation method
JP3498674B2 (en) Semiconductor integrated circuit device, clock wiring method, and recording medium
US11449116B2 (en) Power grid porosity techniques
Liu et al. Efficient multilayer routing based on obstacle-avoiding preferred direction Steiner tree

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060220

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060601

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100609

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130609

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140609

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees