JP2008186061A - 半導体設計方法および半導体設計装置 - Google Patents
半導体設計方法および半導体設計装置 Download PDFInfo
- Publication number
- JP2008186061A JP2008186061A JP2007016555A JP2007016555A JP2008186061A JP 2008186061 A JP2008186061 A JP 2008186061A JP 2007016555 A JP2007016555 A JP 2007016555A JP 2007016555 A JP2007016555 A JP 2007016555A JP 2008186061 A JP2008186061 A JP 2008186061A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- information
- data
- current
- design method
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】メモリやアナログなどのカスタムコアのレイアウト設計では、人手によるレイアウト設計が多く、レイアウト設計中に電流情報の認識が困難であり、またエレクトロマイグレーションに関するルールがプロセスの微細化により複雑化するため、エレクトロマイグレーションを守ったレイアウト設計がより困難となり、レイアウト設計後の修正工数が大きい。
【解決手段】回路シミュレーションの結果から得た電流情報から電流成分に加工する工程と、配線、ビアのエレクトロマイグレーションに対する許容電流値に関する情報を使って、配線幅やビアの個数を決定、適宜変更する工程と、エレクトロマイグレーションに関するエラーが起きやすい場所を検出・修正する工程を有する。
【選択図】図2
【解決手段】回路シミュレーションの結果から得た電流情報から電流成分に加工する工程と、配線、ビアのエレクトロマイグレーションに対する許容電流値に関する情報を使って、配線幅やビアの個数を決定、適宜変更する工程と、エレクトロマイグレーションに関するエラーが起きやすい場所を検出・修正する工程を有する。
【選択図】図2
Description
本発明は半導体の設計方法にかかわり、特にエレクトロマイグレーションによる故障を抑制するためのレイアウト設計の技術に関する。
半導体プロセスの微細化に伴い、電流量の増加、配線断面積の減少等によりエレクトロマイグレーション(EM)と呼ばれる金属配線の断線を引き起こす可能性が増加している。従来の設計フローでは、図40に示すように、レイアウト設計後、レイアウトデータの寄生素子抽出(LPE:Layout Parameter Extractor)を行い、LPE後のネットリストに対し回路シミュレーションを実施し、各配線、ビアを通る電流量を測定し、プロセスルールごとに決まっている配線、ビアに関するエレクトロマイグレーションルールに違反しているかどうかを判定する。エレクトロマイグレーションルール違反が発生した場合、手作業もしくは自動化手法によるレイアウト修正が行われ、再度、LPEないし回路シミュレーションを実施し、エレクトロマイグレーションエラーがなくなるまで続ける。エレクトロマイグレーションエラーが起きた場合の修正方法としては、特許文献1ではレイアウト設計後の検証でエレクトロマイグレーションエラーを起こしている箇所では、エレクトロマイグレーションエラーを回避するように配線の分岐数を増加する方法が記載されている。また、特許文献2では配線の各分岐での電流量を計算し、エレクトロマイグレーションエラーを起こしている配線データに対して、配線幅を増加する方法が記載されている。
特開平11−97541号公報
特開2002−217296号公報
アナログコアやメモリコアなどのカスタムコアのレイアウト設計では、任意のサイズのデバイスが使用され、回路の動作特性や面積を考慮したデバイスの配置や配線設計を行う必要があり、主に人手による設計が行われている。レイアウトの配線に関する制約として、回路設計者からレイアウト設計者から渡される情報の多くは、ノイズの影響に配慮した一部の信号配線に対する配線幅や間隔やシールド配線などの情報であり、エレクトロマイグレーションに関する指示はされることは少ない。このため、エレクトロマイグレーションの考慮にはレイアウト設計者の経験によるところが大きいが、エレクトロマイグレーションを正確に考慮するには、回路シミュレーションでの素子の電流情報が必要であるため、人手による設計では、エレクトロマイグレーションを考慮したレイアウト設計を行うことは基本的に難しく、エラーを生じやすい。エレクトロマイグレーションエラーを検出するために、レイアウト設計後、寄生素子抽出を行い、エレクトロマイグレーション検証を実行するが、寄生素子抽出やエレクトロマイグレーション検証にかかる工数は素子数の増大に伴い増加している。また、エレクトロマイグレーションルール違反する配線やビアの修正を行う場合は、上記の制約を考えながら行う必要があり、周囲のレイアウト形状の修正も必要な場合は、より修正工数が大きくなる。
さらに、エレクトロマイグレーションに対する配線、ビアの許容電流量は、配線、ビアに流れる電流が一方向に流れるのか双方向に流れるのか、あるいは使用する配線層や配線幅等によっても異なるため、考慮すべき項目が多く、人手によるレイアウト設計で対応することは難しい。
本発明は上記のような実情に鑑みてなされたもので、エレクトロマイグレーションの厳しいプロセスにおいて、人手によるレイアウト設計を行う場合においても、電流方向等の条件によって変わるエレクトロマイグレーションルールを考慮しながらレイアウト設計を行うことで設計工数の増大を回避し、効率良く信頼性の高い半導体装置の設計方法を提供することを目的とする。
本発明の半導体設計方法は、回路シミュレーションを行う工程と、前記回路シミュレーションの結果を複数の電流情報に変換する工程と、配線、ビアのエレクトロマイグレーションに関する許容電流情報を読み込む工程と、レイアウト上に作成する配線、ビアの電気的接続情報を設定する工程と、前記電気的接続情報から配線、ビアの個数、形状を算出する算出工程と、レイアウト上に配線、ビアを作成する作成工程と、前記電流情報と前記許容電流からエレクトロマイグレーションを満たさない配線、ビアを検出し、修正する検証工程を有する。
この半導体設計方法によれば、回路シミュレーションの結果とシミュレーション結果を加工した電流情報を使い、設計者が仮定した接続関係から配線、ビアに流れる電流量を見積もり、電流量に対応した配線、ビアの個数、形状を算出することで、設計者の意図するレイアウト設計を行いながら、エレクトロマイグレーションエラーの発生しにくいレイアウトを作成することが可能となる。さらに、レイアウト作成後に接続情報から電流量を見積もり、エレクトロマイグレーションエラーを起こす可能性のある箇所を検出できるので、少ない工数でレイアウト設計を行うことが可能となる。
さらに本発明の半導体設計方法は、前記回路シミュレーションはレイアウト設計前に実施され、複数の異なる条件で実施するものとする。
この半導体設計方法によれば、複数の条件によって実行された回路シミュレーションの中で最も厳しい結果を使用することで、よりエレクトロマイグレーションに対する耐性のあるレイアウト設計が可能である。ここで複数の条件とはトランジスタのモデル、温度、電圧等を意味する。
さらに、前記回路シミュレーションの結果はインスタンスの入出力端子に関する電流値を有し、前記算出工程は、前記電流情報作成工程で得られた複数の電流情報に応じて異なる許容電流情報を使用するか、または算出方法を変更する。
この半導体設計方法によれば、電流成分や電流方向に応じて異なる許容電流値を反映したレイアウト設計が可能となり、エレクトロマイグレーションエラーを起こしにくいレイアウトを設計することができる。ここで電流方向とは、平均的に配線に対して単一の方向に流れる単方向電流か、平均的に逆向きにも同程度流れる双方向電流などである。この半導体設計方法により、配線に対して単方向に流れる度合いが大きいほど発生しやすくなるエレクトロマイグレーションを考慮した配線幅、ビア個数の決定が可能となる。
さらに本発明の半導体設計方法によれば、前記作成工程は、配線の作成により前記電気的接続情報が変更された場合、更新された電気的接続情報から求められる電流値と配線の形状から求められる許容電流値とを比較し、許容電流値が不足している場合、配線の形状を変更する修正工程を有する。
この半導体設計方法によれば、配線作成中に仮定したものと異なる接続関係を構築した場合でも、電流量を再計算し変更に応じて配線データの形状を修正することが可能となることが可能となる。
さらに、本発明の半導体設計方法によれば、前記作成工程は、配線作成中にレイアウトデータと接続した場合、配線の形状を変更あるいは新規に配線データを作成する修正工程を有する。
この半導体設計方法によれば、配線作成中に当初接続を予定していないインスタンスの端子などのレイアウトデータと接続した場合も、エレクトロマイグレーションルールを守るために配線幅の修正や周囲形状など必要に応じ配線幅の設定、作成が可能となるので、エレクトロマイグレーションルールを守りつつ設計者の意図したレイアウトを作成することが可能となる
さらに、本発明の半導体設計方法によれば、前記算出工程は、ビアを流れる電流方向を設定し、前記電気的接続情報と前記許容電流情報から、ビアの個数、形状を算出する工程と、ビア作成後にビアに関するデータベースを作成する工程を有する。
さらに、本発明の半導体設計方法によれば、前記算出工程は、ビアを流れる電流方向を設定し、前記電気的接続情報と前記許容電流情報から、ビアの個数、形状を算出する工程と、ビア作成後にビアに関するデータベースを作成する工程を有する。
この半導体設計方法によれば、ビアの電流を見積もることで、ビアに関するレイアウトデータを、エレクトロマイグレーションエラーを起こしにくいデータにすることが可能となり、さらにビアに流れる電流をデータベース化することで、それ以外の配線やビアに流れる電流量を見積もることが可能となり、エレクトロマイグレーションエラーが発生しにくい配線やビアに関するレイアウトデータを作成することが可能となる。
さらに本発明の半導体設計方法は、前記検証工程は、同一配線層で接続されている配線とビアの接続関係と、前記ビアの電流に関するデータベースからビアに関する許容電流値の不足を検出し、修正を行う工程を有する。
この半導体設計方法によれば、配線に接続しているビアやインスタンス端子から予想される電流量に対してビアが不足している場合でも、レイアウトデータの接続関係とビアに設定した電流の向きからビアの過不足を検出し、修正することが可能となり、エレクトロマイグレーションエラーを起こしにくいレイアウトデータを作成することが可能となる。
さらに本発明の半導体設計方法は、前記検証工程は、前記ビアの電流に関するデータベースによって、接続関係にある配線に関する許容電流値の不足を検出し、修正を行う工程を有する。
この半導体設計方法によれば、エレクトロマイグレーションエラーを起こす可能性がある配線において、その配線に接続するビアに関する電流量に対応した配線に関するレイアウトデータに変更されるので、エレクトロマイグレーションエラーを防止することが可能となる。
さらに本発明の半導体設計方法は、前記許容電流情報は、レイアウトデータ上のビアと配線の位置関係によって異なり、前記算出工程、生成工程は、前記許容電流情報で設定されたビアと配線の位置関係が同じレイアウトデータを用いる。
この半導体設計方法によれば、ビアと配線の位置関係によって異なるエレクトロマイグレーションの許容電流値を考慮しながら、容易にレイアウト設計することが可能となる。
さらに本発明の半導体設計方法は、前記レイアウト設計工程は、指定された面積に対してビアの許容電流量が最大化するようにレイアウトデータを構成する。
この半導体設計方法によれば、設計者が想定している面積の中でエレクトロマイグレーションエラーが起きにくいレイアウトデータを作成することが可能となる。
さらに本発明の半導体設計方法は、前記電流情報に応じて配線形状の算出や接続を行うレイアウトデータを限定、または算出方法を変更する。
この半導体設計方法によれば、MOSのゲート端子などに接続して電流が双方向に流れる配線を考慮してエレクトロマイグレーションの考慮を行うことが可能となる。
前記算出工程は、前記電気的接続情報として設定した配線の形状から電流値を想定し、前記許容電流情報からビアの個数、形状を算出する。
この発明によれば、配線形状がエレクトロマイグレーションルールを満たしていれば、エレクトロマイグレーションのルールを守ったビアを作成することが容易に可能となり、より少ない工数でレイアウト設計を行うことが可能となる。
前記算出工程は、前記電気的接続情報として設定した配線の形状から電流値を想定し、前記許容電流情報からビアの個数、形状を算出する。
この発明によれば、配線形状がエレクトロマイグレーションルールを満たしていれば、エレクトロマイグレーションのルールを守ったビアを作成することが容易に可能となり、より少ない工数でレイアウト設計を行うことが可能となる。
さらに本発明の半導体設計方法は、レイアウト設計前にレイアウトデータの配線情報を設定する工程を有し、前記回路シミュレーションは前記配線情報に基づいた等価回路を追加して実施し、前記回路シミュレーションの結果と配線情報から算出される許容電流値とを比較する。
この半導体設計方法によれば、回路シミュレーション時に等価回路により配線形状を見込んだシミュレーションを実施することが可能となり、レイアウト設計する前にエレクトロマイグレーションエラーが発生するおそれの低い配線形状を見積もることが可能となり、レイアウト設計後のエレクトロマイグレーションエラーに起因する修正工数を削減することが可能となる。
さらに本発明の半導体設計方法は、前記配線情報からビアに関する情報を算出し、前記等価回路に追加する。
この半導体設計方法によれば、配線情報からビアも含めた等価回路が作成可能なので、より正確な回路シミュレーションを実施することができ、エレクトロマイグレーションエラーに関する修正工数を削減することが可能となる。
さらに本発明の半導体設計方法は、前記回路シミュレーションは、回路図上の異なる2つのノード間に与えた情報のうち特性が同じノード間においては、前記等価回路を追加する。
この半導体設計方法によれば、配線間の関係を考慮した回路シミュレーションを実施することが可能となるので、エレクトロマイグレーションエラーが発生する可能性の低い配線形状を見積もることが可能となり、レイアウト設計後のエレクトロマイグレーションエラーに起因する修正工数を削減することが可能となる。
さらに本発明の半導体設計方法は、前記配線情報とレイアウト設計後の配線情報を比較する工程を有する。
この半導体設計方法によれば、回路生成時、回路シミュレーション時に見込んだ配線形状を保っているか検証することができるので、レイアウト後の修正工数を削減することが可能となる。
本発明によれば、回路シミュレーションで得た結果から、レイアウトデータでの接続関係から変化する電流量に対してもエレクトロマイグレーションエラーを起こしにくいレイアウトデータを作成できるとともに、複雑化するエレクトロマイグレーションルールも容易に考慮できるため、人手によるレイアウト設計においてもエレクトロマイグレーションエラーが発生しにくく、より少ない工数でレイアウト設計を行うことが可能となる。
以下、本発明の実施の形態における半導体設計方法について図面を参照しつつ詳細に説明する。
(実施の形態1)
図1は本発明の実施の形態1における半導体設計方法に関する設計装置の構成を示すブロック図である。この設計装置は、設計者が操作内容を入力する入力装置E1と、操作内容に応じて内部に設定された処理内容に従って処理を実施する処理装置E2と、処理結果のデータを記憶する記憶装置E3と、処理結果を表示する表示装置E4から構成されている。
図1は本発明の実施の形態1における半導体設計方法に関する設計装置の構成を示すブロック図である。この設計装置は、設計者が操作内容を入力する入力装置E1と、操作内容に応じて内部に設定された処理内容に従って処理を実施する処理装置E2と、処理結果のデータを記憶する記憶装置E3と、処理結果を表示する表示装置E4から構成されている。
図2は本発明の半導体設計方法に関する設計フローを示したもので、実線はフローの順番を、一点鎖線はデータの流れを示している。設計者は回路図作成工程S10の後、図示しないトランジスタモデルや検証条件を複数設定し、回路シミュレーション工程S20を実施し、シミュレーション結果D10が作成される。回路シミュレーション後、シミュレーション結果D10に対して電流情報作成工程S30を実施し、電流情報D20を作成する。レイアウト設計工程S40はセル、素子等のインスタンスと、外部との入出力端子であるピンを配置する配置工程S50と、配線、ビアの編集を行う配線工程S60と、エレクトロマイグレーションルール違反を起こしている配線、ビアを検出し、修正を行う検証工程S70からなる。レイアウト設計工程S40は、記憶装置E3に格納されている電流情報D20と配線、ビアに関するエレクトロマイグレーションに関する許容電流値を記述している許容電流情報D30に基づき、エレクトロマイグレーションを満足するように配線、ビアの作成、編集を行う。レイアウト設計工程S40において、配置工程S50、配線工程S60、検証工程S70は入力装置E1からの設計者による入力内容に必要に応じ、任意の順番で実施される。
図3で示すMOSトランジスタから構成される回路でのエレクトロマイグレーションを考慮したレイアウト設計を例に説明する。図3において、VDDは電源電位、VSSは接地電位、VNB,VPBはこのセルの入力端子、OUTは出力端子である。本実施の形態では、電源電位、接地電位、入力端子、出力端子を外部入出力端子と定義する。鎖線で囲まれたINV1,INV2,INV3は同一の構成からなり、縦続接続されている。本実施の形態では、回路シミュレーション結果D10は、MOSトランジスタであれば、図3の一点鎖線で囲まれたトランジスタPA1,NA1に示すように、ゲートG、ソースS、ドレインDの3端子の電流情報を持ち、電流情報作成工程S30により電流情報D20として加工され、電流情報D20に基づきエレクトロマイグレーションを考慮したレイアウト設計が行われる。
図4は電流情報作成工程S30のフロー図である。まず同一のネットごとに端子をグループ化し、複数の異なる条件、トランジスタモデル、温度、電圧等に対して、端子ごとにシミュレーション結果D10から必要な電流成分を算出し、実施した結果から最も電流値の大きいデータを使用する。これを回路の全ネット対して実行する。本例では回路シミュレーションは過渡解析を想定しており、DCは全解析時間での平均電流であり、さらに電流が0以上の部分から算出される平均電流であるDC+と電流が0未満の部分から算出される平均電流であるDC−が計算される。さらに外部入出力端子についても同じ成分の電流情報を回路シミュレーションの結果D10から算出され、電流情報D20に格納される。基本的にゲート端子はDC電流がほぼ0であり、ソース端子、ドレイン端子はDC電流が+または−の値を持っている。ここで電流量の符号は、流出する方をマイナス、流入する方をプラスとしている。
図5は図3の回路図に対して電流情報作成工程S30によりネットVSS,node1、NN1の電流情報D20を作成した例である。図6、図7はそれぞれVSSに接続しているNA1のソース端子と、node1に接続しているNA2のゲート端子の電流波形例である。NA1のソース端子などのVSSにつながるMOSのソース端子は電流が流出方向であり、全解析時間内でマイナスとなるので、平均電流DCと−成分のDC電流は同じになる。一方、node1につながる端子は、トランジスタNB2,PB2のゲート端子は流入する電流と流出する電流が等しく、DC電流がほぼ0であるのに対し、トランジスタNB1,PB1のドレイン端子については、DC電流が逆符号で、トランジスタNB1のドレイン端子のDC+、PB1のドレイン端子のDC−がほぼ等しい。
図8は許容電流情報D30の例であり、配線、ビアのエレクトロマイグレーションの許容電流値を示している。配線は1μm当たり、ビアは1個当たりの許容電流情報である。本実施の形態では、エレクトロマイグレーションをより正確に見積もるために、電流の方向や、形状による許容電流値の変更を設定する。方向については、DCの値が大きいほど一方向に流れる電流が大きいことが想定されるため、配線に対してはより厳しいエレクトロマイグレーションルールを設定する必要がある。このため、図8では配線、ビアともに許容電流値はDCの値により異なる値を設定している。他方、DCの絶対値がほぼ0に近い場合は、電流は一方向だけでなく、逆方向にも流れていると考えられるため、エレクトロマイグレーションの許容電流値は大きいものを使用する。本実施の形態では一方向に流れる電流か否かを判定する平均電流の絶対値に対する閾値DCminを0.1mAとする。また、ビアに関しては、エレクトロマイグレーションに対する許容電流値はビアと配線とのマージン、すなわち配線がビアに対してどれだけオーバーラップ量を持っているかによって異なるため、図9に示すようにビアと配線間のマージンごとに異なる許容電流値を設定している。
なお、本実施の形態では配線構造は図10に示すものとし、M1は最下層の金属配線層であり、1つ上層の配線層であるM2とビアVia1で接続される。さらにM2から1つ上層の配線層であるM3とはビアVia2で接続される。
なお、本実施の形態では配線構造は図10に示すものとし、M1は最下層の金属配線層であり、1つ上層の配線層であるM2とビアVia1で接続される。さらにM2から1つ上層の配線層であるM3とはビアVia2で接続される。
本例では簡単化のために、図8に示すように、配線についてはM2から上層の配線層、ビアについてはVia1より上のビア層についてエレクトロマイグレーションに対する許容電流値は同一であるとする。
次に、本実施の形態のレイアウト設計工程S40について説明する。
レイアウト設計工程S40の中の配置工程S50は、デバイス、機能セルを配置するインスタンス配置工程S51、外部との入出力端子、電源、接地端子のピンデータを配置するピン配置工程S52から構成される。図11(a)はピン配置工程S52のフロー図を示したもので、設計者が入力装置E1から外部入出力端子を選択すると、電流情報D20から該当する外部入出力端子の電流情報を取得する。続いて、設計者が入力装置E1からピンとして発生する配線層とピンの分割数、分割割合を入力すると、許容電流情報D30から発生する各ピンの配線幅を算出する。設計者は、必要であれば配線幅を修正し、レイアウト上の任意の場所に発生する。発生後、対応する電流情報に関するテーブルを図11(b)のように作成する。
配線工程S60は、配線作成工程S61、ビア作成工程S62から構成される。
図12(a)は配線作成工程S61のフロー図である。配線作成工程S61では、まず設計者が入力装置E1より始点となるレイアウト座標を指定する。本例では基本的に配線層M1層以上の配線層で配線を作成することを考えているため、指定した座標がMOSゲート端子上の場合、図12(b)に見られる処理を行う。すなわち、設計者が接続の必要性があると認識している同一ネットのゲート端子をポリシリコンで接続し、さらにゲート端子上にそれぞれ配線層M1に接続するためのビアデータを作成する。ゲート端子以外の場合、配線データが接続を予定する電流情報を持ったレイアウトデータ、すなわちインスタンス端子、ビアデータを必要に応じて選択する。この際に選択可能なレイアウトデータは、当然同一ネットに接続するデータのみである。続いてこれらの情報に基づき2つの配線幅を算出する。1つは始点が電流情報を持ったレイアウトデータの場合に、エレクトロマイグレーションルールを満足する配線幅を算出する。2つ目は、始点のレイアウトデータと接続予定のレイアウトデータの電流情報から電流量を算出し、すべてのデータが接続してもエレクトロマイグレーションルールを満たすような配線幅を算出する。後者の算出方法は、平均電流DCが絶対値で閾値DC_min以上のデータと、以下のデータでまとめ、各々DC+,DC−を足し合わせたうち大きい値と許容電流情報D30から配線幅を算出する。2つの配線幅がエレクトロマイグレーションに関するルールを満足するのに必要な配線幅として表示装置E4に表示される。設計者は最終的な配線幅を入力装置E1から決定し、始点から配線を作成する。なお仮に始点および接続予定データに電流情報を持ったレイアウトデータが存在しない場合は、任意の配線幅を設計者が設定する。また配線データの作成途中に電流情報を持ったレイアウトデータであるインスタンス端子、ビアデータと接続した場合は、あらかじめ想定していた配線データの接続情報からの変更となるため、修正工程S611にて配線データの修正を行う。
図13は配線修正工程S611を示したものである。作成中の配線データが電流情報を持ったレイアウトデータと接続する場合、配線作成時に想定していた電流情報と新規に接続したレイアウトデータの電流情報から、再度配線幅を算出する。算出方法は前述の通りである。新たに算出された配線幅が現在作成中の配線データの配線幅を超えない場合は修正を行わない。超える場合は、配線幅を新たに算出されたものに変更するか、もしくは新規に接続するレイアウトデータとは接続せずに配線を一旦終了し、終了した座標から次に接続するレイアウトデータに対して、エレクトロマイグレーションルールを満たす配線幅で新規の配線データを作成し、レイアウトデータと接続するかを選択する。なお、配線作成中にゲート端子と接続するビアデータと接続した場合は、修正工程は行わないものとする。
続いてビアデータ作成工程S62について説明する。図14はビア作成工程S62を示したものである。設計者は入力装置E1よりビアデータを配置するレイアウトデータを指定する。次に指定されたレイアウトデータから電流情報を取得する。インスタンス端子、ビアデータを指定すれば各々の電流情報が取得され、配線データであれば配線データに接続するレイアウトデータの電流情報が取得される。次に算出工程、配置工程が実施される。図15(a)はビアデータの算出工程、配置工程を図示したものである。設計者は入力装置E1から配置するビアデータに対して、電流方向を設定する。すなわち、ビアデータを図15(b)のように端子IN,OUTを持ち、ビアデータ間をINからOUTの向きに電流が流れると考える。端子INはビアデータ作成時に使用された電流情報と逆符号の電流情報を持ち、端子OUTは同符号の電流情報を持つものとする。続いてビアデータを何分割して配置するかを入力し、各ビアデータに対して配置するレイヤーを指定する。設計者がビアデータのマージン量、X軸、Y軸の個数を直接指定する場合は、左のフローのように実施され、許容電流値を満足するビアデータが配置される。また設計者がビアデータの配置領域だけを指定する場合は、領域指定後、図16に見られる工程S621により最大の許容電流を持つビアデータが求められる。ビアデータの一辺の長さLはマージン量をmag、ビアの1辺の長さをW、ビア間のスペーシングをS、ビア個数をNとすると、
L=mag*2+W*N+S*(N−1)
と計算されるので、この長さが指定された領域のX軸、Y軸の1辺の長さに入る最大の整数Nx,Nyを求める。Nx×Nyにビアの許容電流量を掛けたものがこのマージン量に対する許容電流量になるので、複数のマージン量に対して許容電流量が設定されている場合は、すべてのマージン量に対し計算を行い最大の許容電流情報を持つビアデータが算出され、許容電流値が電流情報から求められる電流値を満たせばビアデータは指定された面積の中心座標に配置される。2つの配置方法は用途に応じて使い分けることが望ましい。たとえばX,Y個数を設定する方法は配置したいビアデータのパターンがおおよそ決まっている場合に使用する。また領域を指定する方法では、配置領域に対してできるだけ多くのビアを配置するような場合に使用することで、細かい設定をする必要がなく、工数が削減される。
L=mag*2+W*N+S*(N−1)
と計算されるので、この長さが指定された領域のX軸、Y軸の1辺の長さに入る最大の整数Nx,Nyを求める。Nx×Nyにビアの許容電流量を掛けたものがこのマージン量に対する許容電流量になるので、複数のマージン量に対して許容電流量が設定されている場合は、すべてのマージン量に対し計算を行い最大の許容電流情報を持つビアデータが算出され、許容電流値が電流情報から求められる電流値を満たせばビアデータは指定された面積の中心座標に配置される。2つの配置方法は用途に応じて使い分けることが望ましい。たとえばX,Y個数を設定する方法は配置したいビアデータのパターンがおおよそ決まっている場合に使用する。また領域を指定する方法では、配置領域に対してできるだけ多くのビアを配置するような場合に使用することで、細かい設定をする必要がなく、工数が削減される。
後処理では、配置されたビアデータに関して図17に示すようなテーブルが作成される。ここで、IN側、OUT側と書かれている箇所は、前述したビアデータのIN、OUT端子に接続するレイアウトデータである。なおビア作成工程では電流値の算出にあたって、DCについても単純加算を行い、使用する許容電流情報を決める。
具体的に図3の回路図、図5の電流情報、図8の許容電流情報に対する上記レイアウト設計工程S40を使った設計方法の例を示す。
図18(a)は具体的に配置工程S50によって、トランジスタNA1,NB1を配置した図である。G,S,Dはそれぞれレイアウト上のゲート端子、ソース端子、ドレイン端子である。ソース端子、ドレイン端子上には配線のためあらかじめトランジスタの拡散領域と接続しているM1層が配置されており、例えばビア作成工程S62などで入力装置E1から指定すると、電流情報が取得される。
図19はビアデータ生成工程によりトランジスタNA1のソース端子にビアデータVD1を配置した図である。まずビアデータ作成工程で、入力装置E1から配置座標をトランジスタNA1のソース端子上に設定すると、処理装置E2がインスタンス端子上であると認識し、端子電流値が取得される。端子電流値は図5よりトランジスタNA1のソース端子ではDC電流=0.5mA等の電流情報が取得される。続いて電流の向きはIN端子側に接続するものとし、分割数は1、レイヤーはVia1として設定し、形状設定で配置するものとする。マージン量を0.1μmに設定すると、DC=―0.5mAであるため、図8のDC電流0.1mA以上の許容電流情報が参照され、DC−=0.5mA、マージン量0.1μmから、エレクトロマイグレーションルールを満足するためにはビア個数3個必要であると算出される。
次に、設計者が入力装置E1より配置するビアデータのX個数、Y個数を入力する。図19左図はX軸1個、Y軸3個として配置したものである。仮に配線制約等からX軸方向をより幅をとならないビアにしたい場合は、マージン量を0μmとすると、先ほどと同じ処理が実施され、必要となるビア数がDC+、に対して各々5個と算出され、設計者の指示によりX軸1個、Y軸5個として配置すると、図19右図のように配置される。配置後、使用された電流情報がビアデータごとにテーブルとして作成される。図20は図19左図のビアデータに関して作成したテーブルである。
次に、トランジスタNA1のドレイン端子とトランジスタNB1のソース端子間のネットNN1を接続するために、配線作成工程S61の実施を入力装置E1から指示する。入力装置E1からトランジスタNA1のドレイン端子を配線の始点として指定する。始点であるNA1のドレイン端子の電流情報から配線幅が見積られ、図5のネットNN1に関するトランジスタNA1のドレイン端子に関する電流情報から、DC=0.5mAよりDC電流0.1mA以上許容電流情報が使用され、DC+に対しては0.84μmの配線幅が必要であると計算される。本例では、接続予定となる端子、ビアデータは選択しなかったが、仮にトランジスタNB1のソース端子を選択したとしても、電流値が逆符号で同じ大きさであるために、配線幅は変更されない。表示装置E4に先ほど算出した配線幅W=0.84μmが表示されるので、配線幅の修正が必要なければ、設計者が入力装置E1から配線幅を0.84μmと入力し、図18(b)のようにトランジスタNA1のドレイン端子からトランジスタNB1のソース端子に向けて、配線幅W=0.84μmの配線データPD_NN1を作成する。
仮に図21(a)のようにトランジスタNB1がゲート幅を等分割した2つのMOSトランジスタNB11,NB12から構成されている場合を考える。node1に関する電流情報は図22を使用するとする。
トランジスタNB1のソース端子から配線を行うことを考える。設計者が入力装置E1から配線データ作成工程の実施を指示し、MOSトランジスタNB11のソース端子を選択すると、前述のように電流情報が取得される。DC=−0.25mAなので、平均電流の絶対値0.1mA以上の許容電流情報が使用され、前述と同様なフローで配線幅は0.42μmと求められ、表示装置E4に表示される。本例では接続予定のデータを選択せずに、配線幅0.42μmで配線データを作成する。設計者は入力装置E1から配線幅を0.42μmと入力し、配線データPD_NN1をMOSトランジスタNB11のソース端子を始点として配線の作成を開始し、トランジスタNA1のドレイン端子に接続する。トランジスタNA1のドレイン端子に接続すると、修正工程が配線データPD_NN11に関して実施され、まず電流値の計算が行われる。ともにDCの絶対値は0.1mAであり、トランジスタNA1のドレイン端子はDC+に値を持っているが、MOSトランジスタNB11のソース端子は逆にDC−に値を持つので、この場合、個別に計算され、今回のケースであれば接続したトランジスタNA1のドレイン電流はDC+=0.5mAに対して、配線データPD_NN1の配線幅から算出許容電流値が不足しているので、配線データに関する修正が行われる。具体的には配線幅を許容電流値に合わせる処理を実施する場合は、図21(c)右図のように配線幅がW1=0.42μmからW2=0.84μmに変更される。配線を新規に作成する処理を実施する場合は、中間地点で0.42μmの配線幅を持つ配線データPD_NN1が作成された後、トランジスタNA1のドレイン端子に接続する配線については、許容電流値に適合するために図21(c)左図のように0.84μmの配線幅を持つ配線データPD_NN12が作成される。ここでは、配線幅0.84μmで、トランジスタNA1、MOSトランジスタNB11間を接続するように入力装置E1から指示すると、図21(c)左図のように配線データが修正される。続いて、MOSトランジスタNB12と接続する配線データを作成する。MOSトランジスタNB12のソース端子から配線データを作成するよう入力装置E1から指示すると、図22の電流情報から配線幅が0.42μmと設定され、図21(d)のように配線データPD_NN13を作成する。
図23(a)はINV1作成のため、トランジスタPA1,PB1をインスタンス配置工程S51によって配置し、トランジスタPA1のドレイン端子とトランジスタPB1のソース端子間の配線データPD_PP1を配線作成工程により作成したレイアウトデータである。
次にトランジスタPB1のドレイン端子とトランジスタNB1のドレイン端子間のネット名node1に関する配線データを作成する。配線データ作成工程の実施を入力装置E1から指示し、配線データの始点となるトランジスタNB1のドレイン端子を入力装置E1から選択し、また追加で接続データを選択しないとすると、図5の電流情報と図8の許容電流情報から配線幅W=0.84μmとなる。ここでは、配線幅0.84μmが表示装置E4に表示される。設計者は配線幅0.84μmとして入力し、トランジスタNB1のドレイン端子を起点として配線を行う。トランジスタPB1のドレイン端子に接続すると、修正工程が実行されるが、このケースではPB1のドレイン端子のDC−とNB1のドレイン端子のDC+が同じ大きさのため、配線幅の修正は必要ないと判断される。続いて、トランジスタNB2,PB2のゲート端子に接続を行う。配線作成工程で配線データの始点として、設計者は入力装置E1からトランジスタNB2のゲート端子を選択すると、ゲート端子なので、図12(b)に示すような形で処理される。具体的にはまず接続するゲート端子があれば指定する。ここでは、トランジスタPB2のゲート端子を選択する。さらに、トランジスタNB2,PB2の接続したゲート端子上にゲート端子からM1層まで図示しないコンタクトを作成したあと、Via1のビアデータVD_node12を作成する。ビアデータを作成する。ビアデータの作成はビア作成工程S62と同じであり、電流情報はトランジスタNB2,PB2のゲート端子の電流量から計算されたものになるので、DC=0mA、DC+=0.5mA、DC−=0.5mAになる。分割数1とし、マージンを0.1μmとすると、許容電流情報は平均電流の絶対値0.1mA未満が使用され、ビア数は1個と求められ配置を行い、配置後ビアデータに関するテーブルが作成される。続いて、配線データPD_node11についても同様にビアデータを配置するために、ビア生成工程を実施すると、前記と同様に電流情報が求められる。このケースでは、NB2,PB2のドレイン端子の電流情報が、同じ大きさで異なる符号のDCを持つために、加算されることでDCは0mAとなるため、0.1mA以下の許容電流値が使用され、DC+=0.5mA、DC−=0.5mAであるから、分割数1、ビアをVia1、マージン0.1μmとすると、ビア1個と算出され、配線PD_node11上にビア名VD_node11として配置する。続いて、ビアデータVD_node11,VD_node12間を接続する配線データPD_node12を作成する。配線作成工程の指示を入力装置E1に入力し、始点のビアとしてVD_node11を選択し、接続箇所を未指定にすると電流情報よりDC電流=0mA、DC+=0.5mA、DC−=0.5mAとなるから、必要な配線幅は0.42μmとなる。ビアデータVD_node11を始点として配線を作成し、VD_node12と接続する。VD_node12はゲート電極に接続するビアデータなので、修正工程S611が実施されず、図23(c)のように作成される。仮にビアデータVD_node12を始点としてVD_node11に対して配線データを作成した場合は、修正工程が実施されるが、配線データの許容電流値を超過しないので、配線幅は修正されない。次に、ネットVSSに関する配線データを作成する。図24(a)はINV1,INV2,INV3をX軸方向に配置し、トランジスタNA1,NA2,NA3を図示したものである。トランジスタNA1,NA2,NA3のソース端子間を接続する配線データPD_VS1を配線層M2層で作成する場合を考える。すでに、トランジスタNA1,NA2,NA3のソース端子上には各ソース端子の電流量に対応したビアデータVD_VS1〜VD_VS3が作成されている。配線作成工程S61の実施を指定し、配線の始点を選択する。ここでは、配線の始点をVD_VS1上に設定する。続いて、接続予定のビアデータVD_VS2,VD_VS3を選択すると、配線データの配線幅は最小値であるビアデータVD_VS1に流入する電流量を満足する配線幅0.5μmと、ビアデータVD_VS1〜VD_VS3の電流量から配線幅1.5μmが算出され、表示装置E4に表示され、設計者が配線幅を設定し配線を行う。ここでは、配線幅1.5μmに設定して配線データの作成を行う。配線データPD_VS1がビアデータVD_VS2,VD_VS3と接続するごとに接続工程S611が実施されるが、配線幅がビアデータVD_VS2,VD_VS3の電流量を考慮した幅となっているため、図24(b)に示すようにビアデータVD_VS2,VD_VS3の接続時にも形状の変更はない。
図25(a)は図24の場合とは異なり、配線幅を決定する際に、始点をビアデータVD_VS1、接続予定のデータとしてビアデータVD_VS2を選択し、配線幅を1.0μmに設定したものである。配線データPD_VS2がビアデータVD_VS2を接続した後、ビアデータVD_VS3と接続する場合には、接続工程S611が実施されるが、電流量が配線幅に対して超過するため、処理装置E2は表示装置E4から設計者に対し、配線幅の修正か、新規配線データの作成を行うか、選択を求める。設計者が配線層M2のY軸方向の領域をできるだけ少なくすることを考え、後述するように画面両端から電源配線を行うことを想定し、配線幅は変更なしで配線データの作成を選択すると、配線データはビアデータVD_VS2,VD_VS3間で分割され、同じ配線幅を持った新しい配線データPD_VS3が作成され、ビアデータVD_VS3と接続する。処理終了後、ビアデータの接続内容に関するテーブルが更新される。
次に、ネットVSSの外部接続用のピンデータとネットVSSの配線データとの接続を考える。図24(b)で作成された配線データPD_VSと接続する場合を考える。ピンデータは電流情報D20から対応する外部入出力端子の電流情報より配線幅が求められる。入力装置E1よりピン生成工程の実施を指示し、指定する外部入出力端子をVSS、分割数を1、配線層をM3とすると、図5、図8より必要となる配線幅は1.5μmと算出される。設計者は配線幅を1.5μmに設定し、ピンデータPN_VS所望の位置に配置する。配置後、電流情報がピンデータPN_VSに付加される。
図26(a)はピン配置工程S52でピンデータPN_VS1を画面左上に配置したものである。続いて、ピンデータを始点とした配線データをすでに説明しているように配線作成工程S61で作成する。図26(b)はピンデータPN_VS1から配線データPD_VS4を配線幅1.5μmとして画面−Y軸方向に作成したものである。さらに配線データPD_VSを−X軸方向に延長したものである。両者の重なり部分に接続用のビアデータを配置する。ビアデータの生成を入力装置E1から指示し、作成する座標を配線データPD_VSとPD_VS4の交点とする。ビアデータVD_VS4は配線データPD_VS,PD_VS4間に作成され、電流の向きとして、ビアデータのIN端子側をPD_VS、OUT端子側をPD_VS4と設定する。続いて、図5の電流情報が取得され、ビアデータ配置工程が実施される。配線データPD_VSに接続するビアデータおよびピンデータの電流量の電流量から1.5mA以上の許容電流量が必要となる。ここでは領域指定での配置を行うものとする。ビア階層をVia2、マージンを0.1μmとし、図27のようにビア配置領域を入力装置E1から指定すると、配置できる個数はX個数=3、Y個数=3となり、合計9個が配置可能となるので、ビアデータVD_VS4を配置指定領域に配置する。ビアデータVD_VS4の許容電流量は、配線データPD_VSに接続するビアデータVD_VS1〜VD_VS3の合計の電流量、およびピンデータPN_VS1の電流量よりも大きいので、配置処理は終了し、ビアデータの関連情報がテーブル形式で作成される。
次に、ネットVSSに関するピンデータを別の位置に2つに分けて配置し、図25(b)の配線データPD_VS2,PD_VS3の両側から配線することを考える。まず、設計者はピン配置工程S52において、外部入出力端子としてVSSを選択し、配置数を入力装置E1から2とする。続いて、2つ配置するのに必要となる最小の配線幅が図5の電流情報D20と図8の許容電流情報D30から求められ、表示装置E4に表示される。設計者は必要であれば幅を変更しピンデータの配置を行う。図28は図25(b)にピンデータPN_VS2,PN_VS3を配置した図である。
続いて、図29に示すように、ピンデータと配線データを接続する。前例と同様にピンデータから−Y軸方向に配線データPD_VS5,PD_VS6を作成し、さらに配線データPD_VS2,PD_VS3を−X,+X軸方向に延長する。重なり部分にビアデータを配置することを考える。ビア生成工程の実施を指示し、配線データPD_VS5上を指定し、ビアデータのIN端子側がPD_VS2、OUT端子側がPD_VS5として設定する。続いて、ビア配置工程から分割数指定を選択し、分割数1、ビア層Via2、マージン0.1μmとすると、必要ビア数5個と算出されるので、X個数=2、Y個数=3として配置する。配線データPD_VS3とPD_VS6間に配置するビアデータVD_VS6も同様に算出し配置すると、図29のようになる。配置後それぞれ該当するテーブルを更新する。本例ではビアデータVD_VS5,VD_VS6の個数が同数にならなかったが、対称性が必要なレイアウトデータでは、エレクトロマイグレーションを起こさないビアの個数、形状を算出し、同じ形状のビアデータを配置することが望ましい。
続いて、本実施の形態の検証工程S70を説明する。
検証工程S70は電源ネットを対象にしたビア検証工程S71、電源ネットを対象にした配線検証工程S72を実施する。
電源ネットを対象としたビア検証工程S71は、図30に示すようにネットごとにビア層全層についての検証S711を行い、次に、グループ化された配線に対して検証・修正S712を行い、再度、ビア層についての検証S711を行う。
ビアの全レイヤーについての検証S711は、関連する電源ネットのビアデータの許容電流値の総和を算出し、電流情報で算出されている該当ネットの端子電流の総量と比較して、端子電流の総量より許容電流値が小さいビアレイヤーを表示装置E4に出力する。
ここでは、問題のある配線・ビアの例として、図31に示すような配線データ、ビアデータを考える。ここでは、説明のため、簡略化して記載している。PN_1はネットVSSのピンデータであり、PD_1は配線層M3の配線データ、PD_2〜PD_4は配線層M2の配線データ、VD2_1,VD2_2はビアレイヤーVia2で作成されたビアデータ、VD1_1〜VD1_7はビアレイヤーVia1で作成されたビアデータである。ここでは、以下のように配線データ、ピンデータを設定する。なお、VSSネットに対してのみ説明するので、以下では、DCをDC−として記載する。接地電位VSSに接続するので、実際の平均電流DCはDC−と同じ絶対値を持ち、負号がついたものになる。
PD_1 配線幅2.4μm PD_2 配線幅 0.5μm
PD_3 配線幅1.0μm PD_4 配線幅 0.8μm
VD2_1 ビア数6個(X=3,Y=2) マージン0.1μm DC=1.2mA IN端子側配線PD_3、OUT端子側配線データ PD_1
VD2_2 ビア数4個(X=2,Y=2) マージン0.1μm DC=0.8mA IN端子側配線データPD_4、OUT端子側配線データ PD_1
VD1_1,VD1_2 ビア数1個(X=1,Y=1)、マージン0.1μm DC=0.2mA、IN端子側配線データ デバイス端子、OUT端子側配線データ PD_2
VD1_3,VD1_4,VD1_5 各々ビア数2個(X=1,Y=2),マージン0.1μm DC=0.4mA、IN端子側配線データ デバイス端子、OUT端子側配線データ PD_3
VD1_6,VD1_7 各々ビア数2個(X=1,Y=2)、マージン0.1μm DC=0.4mA、IN端子側配線データ デバイス端子 OUT端子側配線データ PD_4
まず、ビアの全レイヤーについての検証S711を実施する。ビアレイヤーVia1はビアデータVD1_1〜VD1_7、Via2はビアデータVD2_1,VD2_2を合算した許容電流値が記載されている。VSSの電流情報から得られる電流量と比較して、ビアレイヤーVia2は不足していることが判明する。
PD_3 配線幅1.0μm PD_4 配線幅 0.8μm
VD2_1 ビア数6個(X=3,Y=2) マージン0.1μm DC=1.2mA IN端子側配線PD_3、OUT端子側配線データ PD_1
VD2_2 ビア数4個(X=2,Y=2) マージン0.1μm DC=0.8mA IN端子側配線データPD_4、OUT端子側配線データ PD_1
VD1_1,VD1_2 ビア数1個(X=1,Y=1)、マージン0.1μm DC=0.2mA、IN端子側配線データ デバイス端子、OUT端子側配線データ PD_2
VD1_3,VD1_4,VD1_5 各々ビア数2個(X=1,Y=2),マージン0.1μm DC=0.4mA、IN端子側配線データ デバイス端子、OUT端子側配線データ PD_3
VD1_6,VD1_7 各々ビア数2個(X=1,Y=2)、マージン0.1μm DC=0.4mA、IN端子側配線データ デバイス端子 OUT端子側配線データ PD_4
まず、ビアの全レイヤーについての検証S711を実施する。ビアレイヤーVia1はビアデータVD1_1〜VD1_7、Via2はビアデータVD2_1,VD2_2を合算した許容電流値が記載されている。VSSの電流情報から得られる電流量と比較して、ビアレイヤーVia2は不足していることが判明する。
続いて検証修正工程S712が実施される。図33は検証修正工程S712のフロー図である。
まず同一配線層のみで接続されている配線データをグループ化する。図31で説明すると、グループ1 PD_1、グループ2 PD_2、PD_3、グループ3 PD_4 となる。続いて配線グループごとに接続しているビアデータについて、配線データがIN端子側に接続しているビアデータについては許容電流値を、OUT端子側に接続しているビアデータについては電流情報を合算し、先ほど求めた許容電流値と比較することで、IN端子側に接続するビアデータを検証する。具体的に説明すると、グループ1については、OUT端子側のビアデータのみしか存在していないため、比較を行わない。続いてグループ2については、IN端子側はVD2_1となり、許容電流値はDC=1.2mAとなる。OUT端子側についてはビアデータVD1_1〜VD1_5となり、電流情報はDC=1.6mAとなる。このため流入する電流に対して、ビアデータVD2_1の許容電流値が少ないことが判明し、表示装置E4に表示される。次にビアデータの修正を行うが、既存のビアデータVD2_1を修正するか、新規にビアデータを配置するかを設計者が入力装置E1より選択する。ここでは、既存のビアデータに追加することを選択すると、不足している電流量が見積もられる。本例ではDC=0.4mAである。続いて、ビアデータVD2_1に接続する配線データPD_1,PD_3の重なり領域にビアデータが追加できるかを判断する。この際の配置できるビアデータの見積もりとしては、現在配置されているマージン量を保つものとする。本例の場合、PD_1、PD_3の重なり領域をX個数=3、Y個数=3に変更可能であることから、ビアデータVD2_1が以下のように変更される。
VD2_1 ビア数9個(X=3,Y=3) マージン0.1μm DC=1.8mA IN端子側配線データ PD_3 OUT端子側配線データ PD_1
続いて、グループ3に対して同様な検証が実施されるが、グループ3については配線に対してIN端子側が接続するビアデータの電流量と配線に対してOUT端子側に接続するビアデータの許容電流量が等しいので修正は必要ない。次に、再度、ビア全層についての検証S711が実施され、図34のような結果が得られるので、電源ネットを対象としたビア検証工程S71の処理に関するエラーがなくなったので、ビア検証工程S71は終了する。
続いて、グループ3に対して同様な検証が実施されるが、グループ3については配線に対してIN端子側が接続するビアデータの電流量と配線に対してOUT端子側に接続するビアデータの許容電流量が等しいので修正は必要ない。次に、再度、ビア全層についての検証S711が実施され、図34のような結果が得られるので、電源ネットを対象としたビア検証工程S71の処理に関するエラーがなくなったので、ビア検証工程S71は終了する。
次に、電源ネットを対象にした配線検証工程S72を実施する。図35は電源ネットを対象にした配線検証工程S72を示したものであり、配線データごとに接続しているビアデータから、配線データがIN端子側、OUT端子側に接続しているビアデータの電流情報を合算し、配線データの配線幅から求められる許容電流値と比較して、ビアデータの電流量の方が大きい場合は、表示装置E4に表示を行い、必要な電流量から配線幅を算出し、配線修正を行う。ビアデータVD2_1を修正した後の前述の図31のレイアウトデータに対して実施する。まず、配線データPD_1については、ビアデータVD2_1、VD2_2のOUT端子側、ピンデータPN_1が接続している。ビアデータVD2_1,VD2_2の電流情報から電流量はDC=2.4mAとなるが、配線幅から求められる許容電流値がDC=2.4mAのため、変更する必要はない。配線データPD_2についても同様に検証を実施するが、PD_2の配線幅の許容電流量の方が大きく修正は必要ない。配線データPD_3について実施した場合は、接続するビアデータはVD2_1,VD1_3〜VD1_5となり、それぞれIN端子、OUT端子に接続しているので、これらの電流情報から電流値を算出する。ビアデータVD2_1の電流情報からDC=1.6mAであり、配線データPD_3の配線幅から求められる許容電流量が1mAと比較して、ビアデータの電流量が大きく、配線幅の修正が必要となり、図8の許容電流値から配線幅1.6μmとして算出され、PD_3の配線幅が1.6μmに変更される。
さらに、配線データPD_4についても同様に、配線検証工程S72が実施されるが、配線データの許容電流値の方が大きく、配線幅の修正が必要ない。このように、検証工程S70によって条件の厳しい電源ネットに接続するビア、配線に対するエレクトロマイグレーションの検証を容易に実施することが可能となる。
さらに、配線データPD_4についても同様に、配線検証工程S72が実施されるが、配線データの許容電流値の方が大きく、配線幅の修正が必要ない。このように、検証工程S70によって条件の厳しい電源ネットに接続するビア、配線に対するエレクトロマイグレーションの検証を容易に実施することが可能となる。
なお、検証工程S71において、ピンデータについてビアデータと同様に配線データとIN端子側で接続していると考えることで検証することは可能である。また本例では接地電位について説明したが、電源電位の場合も電流の方向を考慮すれば同様に検証できることはいうまでもない。
本例ではビアの作成時および検証工程において、ビアデータの個数、形状の算出のため、電流情報からビアを流れる電流を算出したが、配線データの形状から求める方法でもかまわない。具体的には図27の配線データPD_VD4に配置する場合は配線幅1.5μmより電流値が最大1.5mA流れることが想定されるため、1.5mAに見合うビアデータとしてマージン0.1μmの場合は個数8、マージン0μmの場合は個数15として算出される。この方法であれば、配線形状に応じたエレクトロマイグレーションルールを守ったビアを容易に作成することが可能となる。
また、本実施の形態で作成したセルを別のセルのインスタンスとして配置したレイアウト設計を行うことは当然可能である。作成したセルの外部入力端子に対して、必要な電流量が判明しているので、前述と同様に設計することで、階層レイアウト設計についても適用することは可能である。
また本例ではピーク電流については考慮しなかったが、平均電流と同様に設定し、レイアウト設計に反映できることはいうまでもない。
また本例では配線、ビアの作成、修正および検証において同一の電流情報を使用したが、接続関係を設定する度にシミュレーション結果D10から再度電流量を求め直すことで、レイアウト設計を行うことも可能である。
また本例ではビアの作成時においてのみ電流方向を指定したが、配線作成時においても電流方向を指定し、使用する許容電流情報を変更してもかまわない。
このように本実施の形態によれば、回路シミュレーションから得られた電流情報とエレクトロマイグレーションに関する許容電流情報とレイアウトの接続情報から、レイアウト設計時にエレクトロマイグレーションを考慮した設計が容易に可能となるため、エレクトロマイグレーションに関するルールを満たすレイアウト設計を効率良く実施することが可能である。さらに、検証機能を使用することによって、エレクトロマイグレーションルールを満たさない箇所を容易に検出、修正することが可能となる。
レイアウト設計工程S40で使用する回路シミュレーションを実施するにあたって、長距離配線等寄生素子成分が電流値に影響を与えることが容易に想像できる場合は、あらかじめ回路図作成工程S10にて寄生素子に相当する容量等を配置していることが望ましい。
なお、本例では平均電流の絶対値で電流の方向性を区別し許容電流値を変更したが、そのほかの方法、例えばピーク電流の値などで設定してもかまわない。また許容電流値の設定方法も平均電流で階段状に許容電流値を変更する方法でもかまわない。
(実施の形態2)
図36は本発明の実施の形態2における半導体設計装置のフローを示した図であり、実施の形態1と異なるのは、回路図作成工程S10の段階で配線情報D40を作成し、ネットリスト修正工程S15にて、配置情報に基づきネットリストを修正する。続いて、修正されたネットリストによって回路シミュレーションを実施後、配線情報とシミュレーション結果D10と比較する第1の比較工程S25が実施される。さらに、レイアウト設計の検証工程S70′が実施の形態1で説明した検証工程S70と比較して、第2の比較工程が追加されている。
図36は本発明の実施の形態2における半導体設計装置のフローを示した図であり、実施の形態1と異なるのは、回路図作成工程S10の段階で配線情報D40を作成し、ネットリスト修正工程S15にて、配置情報に基づきネットリストを修正する。続いて、修正されたネットリストによって回路シミュレーションを実施後、配線情報とシミュレーション結果D10と比較する第1の比較工程S25が実施される。さらに、レイアウト設計の検証工程S70′が実施の形態1で説明した検証工程S70と比較して、第2の比較工程が追加されている。
図37は第1の比較工程S25を示した図であり、配線情報D40を設定した各ノードと接続するインスタンスの端子電流と設定された配線情報とを比較し、エレクトロマイグレーションエラーが起きるようであれば、該当する配線、電流値を出力画面に表示する。設計者はその情報に基づいて配線情報を修正する。ここで配線情報とは、配線幅、配線長、隣り合う配線との間隔などの形状に関する情報や対称性などの特性上の制約されるべき関係を意味する。
図38(a)に示す回路図を例に説明する。インスタンス1、インスタンス2間を接続する配線node1は回路特性を考えた場合に、ノイズ等の影響を避けたい配線や電流を多く流す可能性のある配線であるとする。また、node1,node2は特性上対称な配線であるとする。回路図作成工程S10において、設計者は入力装置E1からnode1に対して、図38(b)のように配線幅、間隔、長さ、配線層等の配線情報を入力する。さらに、node1,node2が対称であるとして、配線情報として設定する。これらの配線情報D40は、ネットリスト修正工程S15において、図39に示すように配線部分の配線幅、間隔、長さに応じたラダー型の等価回路と、配線部分の配線情報に相当する許容電流情報から概算されたビア個数に相当するビア部分の等価回路がインスタンス1,2間を接続するものとしてネットリストが作成される。node2はnode1と対称であるから、同じ等価回路が配置される。
回路シミュレーション工程S20はネットリスト修正工程S15で作成されたネットリストに対して実行するものとする。回路シミュレーション実施後、第1の比較工程において、回路シミュレーションの結果から取得される端子電流値と配線幅、ビアから求められるエレクトロマイグレーションの許容電流値が比較される。配線幅、ビアの許容電流値が回路シミュレーションで得られた電流値に対して不足している場合は、表示装置E4に表示する。設計者は配線情報を修正し、再度、回路シミュレーションを行う。さらに、レイアウト設計工程S40での検証工程S70′に追加された第2の比較工程では回路図で設定された配線情報に対して、レイアウト上のデータが配線幅、ビア個数等を満たしているか検証を行う。
このように本実施の形態によれば、配線に関する情報を設定、回路シミュレーションを行うことで、回路特性を考慮しながらエレクトロマイグレーションエラーが発生する可能性を検証・修正することが可能となるので、レイアウト設計後の後戻り工数を削減することが可能となる。なお、本実施の形態では幅や長さなど配線のレイアウト形状について説明したが、配線に関する抵抗値や容量値から配線形状を見積もる方法でも同一の効果が得られることはいうまでもない。また、配線とビアに関する位置関係として配線とビアのマージンすなわちオーバーラップ量に関して言及したが、例えばビアのスペーシングによって許容電流値が変わる場合は、スペーシングに関する許容電流情報に応じてビアと配線に関するデータが管理されるのはいうまでもない。
本発明の半導体設計方法は、エレクトロマイグレーションを考慮すべき半導体装置の設計において有用である。
S10:回路図作成工程
S15:ネットリスト修正工程
S20:回路シミュレーション工程
S25:第1の比較工程
S30:電流情報作成工程
S40:レイアウト設計工程
S50:配置工程
S52:ピン生成工程
S60:配線工程
S61:配線作成工程
S62:ビア作成工程
S611:修正工程
S621:最大許容電流を持つビアを算出する工程
S70,S70′:検証工程
S71,S711,S712:ビア検証工程
S72:配線検証工程
D10:シミュレーション結果
D20:電流情報
D30:許容電流情報
D40:配線情報
PA1〜PA3,PB1〜PB3,NA1〜NA3,NB1〜NB3,NB11,NB12 トランジスタ
VDD:電源ノード
VSS:接地ノード
NN1,NP1,node1,node2:内部ネット
VNP,VNB,OUT:入出力端子
S,G,D:トランジスタ端子
M1,M2,M3:金属配線層
Via1,Via2:ビア
W,W1,W2:配線幅
PD_NN1,PD_NN2,PD_node1,PD_VS1〜PD_VS6,PD_1〜PD_4:配線データ
VD_node11,VD_node12,VD_VS1〜VD_VS6,VD1_1〜VD1_7,VD2_1,VD2_2:ビアデータ
PN_VS1〜PN_VS3,PN_1:ピン
S15:ネットリスト修正工程
S20:回路シミュレーション工程
S25:第1の比較工程
S30:電流情報作成工程
S40:レイアウト設計工程
S50:配置工程
S52:ピン生成工程
S60:配線工程
S61:配線作成工程
S62:ビア作成工程
S611:修正工程
S621:最大許容電流を持つビアを算出する工程
S70,S70′:検証工程
S71,S711,S712:ビア検証工程
S72:配線検証工程
D10:シミュレーション結果
D20:電流情報
D30:許容電流情報
D40:配線情報
PA1〜PA3,PB1〜PB3,NA1〜NA3,NB1〜NB3,NB11,NB12 トランジスタ
VDD:電源ノード
VSS:接地ノード
NN1,NP1,node1,node2:内部ネット
VNP,VNB,OUT:入出力端子
S,G,D:トランジスタ端子
M1,M2,M3:金属配線層
Via1,Via2:ビア
W,W1,W2:配線幅
PD_NN1,PD_NN2,PD_node1,PD_VS1〜PD_VS6,PD_1〜PD_4:配線データ
VD_node11,VD_node12,VD_VS1〜VD_VS6,VD1_1〜VD1_7,VD2_1,VD2_2:ビアデータ
PN_VS1〜PN_VS3,PN_1:ピン
Claims (16)
- 回路シミュレーションを行う工程と、前記回路シミュレーションの結果を複数の電流情報に変換する工程と、配線、ビアのエレクトロマイグレーションに関する許容電流情報を読み込む工程と、レイアウト上に作成する配線、ビアの電気的接続情報を設定する工程と、前記電気的接続情報から配線、ビアの個数、形状を算出する算出工程と、レイアウト上に配線、ビアを作成する作成工程と、前記電流情報と前記許容電流からエレクトロマイグレーションを満たさない配線、ビアを検出し、修正する検証工程を有することを特徴とする半導体設計方法。
- 前記回路シミュレーションはレイアウト設計前に実施され、複数の異なる条件で実施される請求項1に記載の半導体設計方法。
- さらに、前記回路シミュレーションの結果はインスタンスの入出力端子に関する電流値を有し、前記算出工程は、前記電流情報作成工程で得られた複数の電流情報に応じて異なる許容電流情報を使用するか、または算出方法を変更する請求項1または請求項2に記載の半導体設計方法。
- 前記作成工程は、配線作成中にレイアウトデータとの接続した場合、配線の形状を変更あるいは新規に配線データを作成する修正工程を有する請求項1に記載の半導体設計方法。
- 前記算出工程は、ビアを流れる電流方向を設定し、前記電気的接続情報と前記許容電流情報から、ビアの個数、形状を算出する工程と、ビア作成後にビアに関するデータベースを作成する工程を有する請求項1または請求項2記載の半導体設計方法。
- 前記検証工程は、同一配線層で接続されている配線とビアの接続関係と、前記ビアの電流に関するデータベースからビアに関する許容電流値の不足を検出し、修正を行う工程を有する請求項5に記載の半導体設計方法。
- 前記検証工程は、前記ビアの電流に関するデータベースによって、接続関係にある配線に関する許容電流値の不足を検出し、修正を行う工程を有する請求項5に記載の半導体設計方法。
- 前記許容電流情報は、レイアウトデータ上のビアと配線の位置関係によって異なり、前記生成工程、算出工程は、前記許容電流情報で設定されたビアと配線の位置関係が同じレイアウトデータを用いることを特徴とする請求項1または請求項2に記載の半導体設計方法。
- 前記算出工程は、指定された面積に対してビアの許容電流量が最大化するようなレイアウトデータを構成する請求項8に記載の半導体設計方法。
- さらに、前記電流情報に応じて接続を行うレイアウトデータの限定、または算出方法を変更する工程を有する請求項3に記載の半導体設計方法。
- 前記算出工程または検証工程は、前記電気的接続情報として設定した配線の形状から電流値を想定し、前記許容電流情報からビアの個数、形状を算出する請求項1に記載の半導体設計方法。
- レイアウト設計前にレイアウトデータの配線情報を設定する工程を有し、前記回路シミュレーションは前記配線情報に基づいた等価回路を追加して実施し、前記回路シミュレーションの結果と配線情報から算出される許容電流値とを比較する請求項1または請求項2に記載の半導体設計方法。
- 前記配線情報からビアに関する情報を算出し、前記等価回路に追加する請求項12に記載の半導体設計方法。
- 前記回路シミュレーションは、回路図上の異なる2つのノード間に与えた情報のうち特性が同じノード間においては、前記等価回路を追加する請求項12に記載の半導体設計方法。
- 前記配線情報とレイアウト設計後の配線情報を比較する工程を有する請求項12に記載の半導体設計方法。
- 請求項1から請求項15までのいずれかに記載の半導体設計方法における各手順を実現する複数の手段を有する半導体設計装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007016555A JP2008186061A (ja) | 2007-01-26 | 2007-01-26 | 半導体設計方法および半導体設計装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007016555A JP2008186061A (ja) | 2007-01-26 | 2007-01-26 | 半導体設計方法および半導体設計装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008186061A true JP2008186061A (ja) | 2008-08-14 |
Family
ID=39729097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007016555A Pending JP2008186061A (ja) | 2007-01-26 | 2007-01-26 | 半導体設計方法および半導体設計装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008186061A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942354A (zh) * | 2013-12-16 | 2014-07-23 | 中国航空综合技术研究所 | 一种基于仿真技术的半导体器件电迁移失效测试方法 |
JP2017139361A (ja) * | 2016-02-04 | 2017-08-10 | 日立オートモティブシステムズ株式会社 | 半導体装置及び負荷駆動装置 |
-
2007
- 2007-01-26 JP JP2007016555A patent/JP2008186061A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942354A (zh) * | 2013-12-16 | 2014-07-23 | 中国航空综合技术研究所 | 一种基于仿真技术的半导体器件电迁移失效测试方法 |
JP2017139361A (ja) * | 2016-02-04 | 2017-08-10 | 日立オートモティブシステムズ株式会社 | 半導体装置及び負荷駆動装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2954894B2 (ja) | 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置 | |
JP3231741B2 (ja) | スタンダードセル、スタンダードセル列、スタンダードセルの配置配線装置および配置配線方法 | |
TWI719090B (zh) | 用於修改界定電路組件之標準單元布局之電腦實施系統及方法 | |
US9208277B1 (en) | Automated adjustment of wire connections in computer-assisted design of circuits | |
US7810051B2 (en) | Layout method, CAD apparatus, computer-readable program and computer-readable storage medium | |
US20020105049A1 (en) | Integrated circuit having tap cells and a method for positioning tap cells in an integrated circuit | |
JP2000349161A (ja) | 電源配線設計方法、電源配線設計装置、及び、記録媒体 | |
JP5332295B2 (ja) | ダミーメタル挿入処理プログラム、方法及び装置 | |
US20060048088A1 (en) | Computer automated design method, program for executing an application on a computer automated design system, and semiconductor integrated circuit | |
JP4220932B2 (ja) | 半導体集積回路の設計支援方法 | |
JP2008186061A (ja) | 半導体設計方法および半導体設計装置 | |
CN115048900B (zh) | 一种集成电路版图的拐角填充方法、装置及计算机设备 | |
JP5515255B2 (ja) | 自動配線装置、自動配線方法および自動配線プログラム | |
JP2007258215A (ja) | セル配置プログラム、セル配置装置、及びセル配置方法 | |
JP2005100239A (ja) | 自動レイアウト装置、レイアウトモデル生成装置、レイアウトモデル検証装置及びレイアウトモデル | |
JPH10124567A (ja) | 半導体デバイス設計支援装置 | |
JP2008112817A (ja) | 電源スイッチ挿入方法及び電源スイッチ挿入装置 | |
JPH09319775A (ja) | 半導体集積回路の設計方法および装置 | |
JP7353253B2 (ja) | 半導体装置の電気特性を解析する方法およびシステム | |
JP2011197811A (ja) | ガードリング設計装置、ガードリング設計方法、プログラム及び記録媒体 | |
US8341583B2 (en) | Packaging design supporting device and packaging design supporting method for semiconductor integrated circuit and recording medium | |
JP2921454B2 (ja) | 集積回路の配線方法 | |
JP3117908B2 (ja) | ガードリング設計装置 | |
JP2008257377A (ja) | 半導体集積回路の設計方法 | |
JPH1145942A (ja) | Lsiレイアウト設計方法および装置、セルライブラリ、並びに半導体集積回路装置 |