(57)【特許請求の範囲】
【請求項１】
半導体集積回路の物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値及び抵抗値を算出するステップと、
前記半導体集積回路の物理レイアウトを基本ブロック単位に分割し、前記基本ブロックの種類、前記基本ブロックの種類ごとの数、前記基本ブロックを構成する素子の種類、前記素子の種類ごとの数、前記素子内および素子間の配線長分布、前記素子内および素子間の配線幅分布を含む前記物理レイアウトの解析を行うステップと、
算出した前記容量値および抵抗値と、前記基本ブロックの素子部および配線部の遅延テーブルとから前記基本ブロック単位の信号遅延を算出するステップと、
算出した前記基本ブロック単位の信号遅延と、前記物理レイアウトの解析の結果とにより前記半導体集積回路を構成する前記基本ブロック全体での信号遅延値を求めるステップと、
前記信号遅延の平均値および前記基本ブロックの種類ごとの信号遅延の平均値を求めるステップと、
前記基本ブロック全体での信号遅延の平均値に対する前記基本ブロックの種類ごとの信号遅延の平均値の乖離量を求めるステップと、
前記乖離量と、前記物理レイアウトの変動幅と、前記容量値および抵抗値の変動幅との関係から前記基本ブロック単位の配線幅の管理値を求めるステップと、
をコンピュータによって実行させることを特徴とする半導体装置の設計プログラム。
【請求項２】
前記管理値に基づいて前記物理レイアウトの配線幅を変更するステップと、
前記変更した物理レイアウトに対して光近接効果補正および光近接効果補正検証を行いマスクデータを作成するステップとをさらに含む
ことを特徴とする請求項１記載の半導体装置の設計プログラム。
【請求項３】
前記管理値に基づいて光近接効果補正の管理幅を設定し、前記設定した管理幅の範囲内で前記光近接効果補正の収束を行うステップをさらに含む
ことを特徴とする請求項１記載の半導体装置の設計プログラム。
【請求項４】
前記管理値とは、前記物理レイアウトに対して光近接効果補正を行う場合の変動幅もしくは前記半導体集積回路の設計上の変動幅のいずれかである
ことを特徴とする請求項１記載の半導体装置の設計プログラム。
【請求項５】
前記所定の範囲内とは、前記半導体集積回路の製造プロセスにおける寸法ばらつきに起因する変動範囲である
ことを特徴とする請求項１記載の半導体装置の設計プログラム
【請求項６】
前記遅延テーブルは、前記基本ブロックを構成する素子の信号遅延の傾きと配線の信号遅延における定数とを含む
ことを特徴とする請求項１記載の半導体装置の設計プログラム。
【請求項７】
前記管理幅に基づいて近接効果補正を施しマスクデータの作成を行い、前記マスクデータを用いて露光装置で露光し、現像、エッチングすることにより前記半導体集積回路を形成するステップをさらに含む
ことを特徴とする請求項３記載の半導体装置の設計プログラム。
【請求項８】
半導体集積回路の物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値および抵抗値を算出するステップと、
前記半導体集積回路の物理レイアウトを基本ブロック単位に分割し、前記基本ブロックの種類、前記基本ブロックの種類ごとの数、前記基本ブロックを構成する素子の種類、前記素子の種類ごとの数、前記素子内および素子間の配線長分布、前記素子内および素子間の配線幅分布を含む前記物理レイアウトの解析を行うステップと、
算出した前記容量値および抵抗値と、前記基本ブロックの素子部および配線部の遅延テーブルとから前記基本ブロック単位の信号遅延を算出するステップと、
算出した前記基本ブロック単位の信号遅延と、前記物理レイアウトの解析の結果とにより前記半導体集積回路を構成する前記基本ブロック全体での信号遅延値を求めるステップと、
前記信号遅延の平均値および前記基本ブロックの種類ごとの信号遅延の平均値を求めるステップと、
前記基本ブロック全体での信号遅延の平均値に対する前記基本ブロックの種類ごとの信号遅延の平均値の乖離量を求めるステップと、
前記乖離量と、前記物理レイアウトの変動幅と、前記容量値および抵抗値の変動幅との関係から前記基本ブロック単位の配線幅の管理値を求めるステップと、
を実行するコンピュータを含むことを特徴とする半導体装置の設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の信号遅延のマージンから求めた製造許容量を利用した半導体装置の設計プログラムおよび半導体装置の設計システムに関する。
【背景技術】
【０００２】
近年、半導体集積回路の微細化に伴い、集積回路の物理レイアウトも複雑化している。そのため、レイアウトの線幅変動が信号伝搬のタイミングに与える影響への複雑化につながっている。ここで、レイアウトの線幅変動に関する事項として、トランジスタ等の素子の線幅ばらつきの問題が挙げられる。
【０００３】
トランジスタの場合、この線幅のばらつきは、トランジスタスピードに直接影響を及ぼすため、スピードに関与しない（クリティカルパス以外の）トランジスタの線幅を変更する技術が検討されている。
【０００４】
一方、トランジスタの線幅に対する取り組みはなされてきているが、半導体集積回路全体の信号遅延（ステージ遅延）に対する配線部での遅延の割合が増加していることから、今後は配線遅延に対する取り組みが重要になってくる。
【０００５】
これまでにレイアウトから実効的な配線容量を求める手法に関する提案が特許文献１で開示されている。特許文献１では、配線長の確率分布を算出し、単位長当たりの容量から容量の確率分布を求め、機能ブロックの入出力端子の容量の分布を加算し、得られる遅延時間の確率分布からスペックを達成できない確率と所定値とを比較してその結果を出力することを提案している。
【０００６】
また、特許文献２では、対象配線およびその周囲配線を含め製造工程のばらつきを考慮した配線構造を生成し、配線容量を計算し、この容量を用いて精度の高い遅延解析を行うことができる回路シミュレーションおよび装置が提案されている。
【０００７】
また、特許文献３では、配線間隔-配線仕上がり幅相関データを用いて対象とするレイアウトの仕上がり配線幅、配線長を求めて容量抽出を行う手法が提案されている。
【０００８】
【特許文献１】特開平９−１９８４１９号公報
【特許文献２】特開２００１−２６５８２６号公報
【特許文献３】特開２００１−２３０３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記のように、統計的手法やシミュレーションを用いて実効的なレイアウトに基づく配線容量を見積もり、回路遅延を見積もる手法については提案されているものの、遅延マージンとレイアウトのマージンとを直接的に関連付ける技術は考えられていない。このため、回路特性の観点からレイアウトの管理幅を決定できず、必要な精度を保ちつつレイアウト設計の処理を効率化することが困難となっている。
【課題を解決するための手段】
【００１０】
本発明はこのような課題を解決するために成されたものである。すなわち、本発明は、半導体集積回路の物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値及び抵抗値を算出するステップと、半導体集積回路の物理レイアウトを基本ブロック単位に分割し、基本ブロックの種類、基本ブロックの種類ごとの数、基本ブロックを構成する素子の種類、素子の種類ごとの数、素子内および素子間の配線長分布、素子内および素子間の配線幅分布を含む物理レイアウトの解析を行うステップと、算出した容量値および抵抗値と、基本ブロックの素子部および配線部の遅延テーブルとから基本ブロック単位の信号遅延を算出するステップと、算出した基本ブロック単位の信号遅延と、物理レイアウトの解析の結果とにより半導体集積回路を構成する基本ブロック全体での信号遅延値を求めるステップと、信号遅延の平均値および基本ブロックの種類ごとの信号遅延の平均値を求めるステップと、基本ブロック全体での信号遅延の平均値に対する基本ブロックの種類ごとの信号遅延の平均値の乖離量を求めるステップと、乖離量と、物理レイアウトの変動幅と、容量値および抵抗値の変動幅との関係から基本ブロック単位の配線幅の管理値を求めるステップと、をコンピュータによって実行させることを特徴とする半導体装置の設計プログラムである。
【００１１】
このような本発明では、半導体集積回路の物理レイアウトを基本ブロック単位に分割し、この基本ブロック単位で信号遅延のばらつきを定義することから、この信号遅延と物理レイアウトの変動幅と容量値および抵抗値との関係から、基本ブロックを接続するネットごとの配線幅の管理値を求める設計プログラムを提供できるようになる。
【００１２】
また、この管理値に基づいて物理レイアウトの配線幅を変更するステップと、変更した物理レイアウトに対して光近接効果補正および光近接効果補正検証を行い、マスクデータを作成するステップとをさらに含む半導体装置の設計プログラムでもある。
【００１３】
また、この管理値に基づいて光近接効果補正の管理幅を設定し、設定した管理幅の範囲内で光近接効果補正の収束を行うステップをさらに含む半導体装置の設計プログラムでもある。
【００１４】
このような本発明では、半導体集積回路の物理レイアウトを基本ブロック単位に分割し、この基本ブロック単位で信号遅延のばらつきを定義することから、この信号遅延と物理レイアウトの変動幅と容量値および抵抗値との関係から、基本ブロックを接続するネットごとの配線幅の管理値を求めることができるようになる。
【００１５】
ここで、管理値とは、物理レイアウトに対して光近接効果補正を行う場合の変動幅もしくは半導体集積回路の設計上の変動幅のいずれかを言う。また、所定の範囲内とは、半導体集積回路の製造プロセスにおける寸法ばらつきに起因する変動範囲を言う。また、遅延テーブルとしては、基本ブロックを構成する素子の信号遅延の傾きと配線の信号遅延における定数とを含むものである。
【００１６】
また、管理幅に基づいて近接効果補正を施しマスクデータの作成を行い、マスクデータを用いて露光装置で露光し、現像、エッチングすることにより半導体集積回路を形成するステップをさらに含む半導体装置の設計プログラムでもある。
【００１９】
また、本発明は、半導体集積回路の物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値および抵抗値を算出するステップと、半導体集積回路の物理レイアウトを基本ブロック単位に分割し、基本ブロックの種類、基本ブロックの種類ごとの数、基本ブロックを構成する素子の種類、素子の種類ごとの数、素子内および素子間の配線長分布、素子内および素子間の配線幅分布を含む物理レイアウトの解析を行うステップと、算出した容量値および抵抗値と、基本ブロックの素子部および配線部の遅延テーブルとから基本ブロック単位の信号遅延を算出するステップと、算出した基本ブロック単位の信号遅延と、物理レイアウトの解析の結果とにより半導体集積回路を構成する基本ブロック全体での信号遅延値を求めるステップと、信号遅延の平均値および基本ブロックの種類ごとの信号遅延の平均値を求めるステップと、基本ブロック全体での信号遅延の平均値に対する基本ブロックの種類ごとの信号遅延の平均値の乖離量を求めるステップと、乖離量と、物理レイアウトの変動幅と、容量値および抵抗値の変動幅との関係から基本ブロック単位の配線幅の管理値を求めるステップと、を実行するコンピュータを含む半導体装置の設計システムである。
【００２０】
このような本発明では、半導体集積回路の物理レイアウトを基本ブロック単位に分割し、この基本ブロック単位で信号遅延のばらつきを定義することから、この信号遅延と物理レイアウトの変動幅と容量値および抵抗値との関係から、基本ブロックを接続するネットごとの配線幅の管理値を求める設計システムを提供できるようになる。
【００２１】
また、いずれの発明においても、機能ブロックとは、入力信号に対して予め設定された論理で信号を出力する機能を備えた基本回路のことを言い、例えば、Ａｄｄｅｒ，ＡＮＤ，ＡＮＤ−ＮＯＲ，ＡＮＤ−ＯＲ，ＡＮＤ−ＯＲ−ＮＡＮＤ，Ａｒｉｔｈｍｅｔｉｃ，Ｂａｌａｎｃｅｄ−Ｂｕｆｆｅｒ，Ｂｕｓ−Ｄｒｉｖｅｒ，Ｄｅｌａｙ，ＥＸ−ＮＯＲ，Ｉｎｖｅｒｔｅｒ，Ｃｌｏｃｋ−Ｅｎａｂｌｅｒ，ＥＸ−ＯＲ，ＩＮＶ−ＮＡＮＤ，ＩＮＶ−ＮＯＲ，Ｌａｔｃｈ，ＮＯＲ，ＯＲ，ＯＲ−ＡＮＤ，ＯＲ−ＡＮＤ−ＮＯＲ，ＯＲ−ＮＡＮＤ，Ｏｔｈｅｒ，Ｓｅｌｅｃｔｏｒ，ＦＦ（Ｆｌｉｐ−Ｆｌｏｐ）が挙げられる。
【発明の効果】
【００２２】
本発明によれば、特性の観点からレイアウトの管理幅を決めることが可能となる。したがって、厳密な管理が必要なレイアウトを重点的に管理し、余裕がある箇所に関しては管理幅を緩和することができ、必要な精度を保ちつつレイアウト設計の処理を効率化することが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図に基づき説明する。
【００２４】
＜処理の概要＞
本発明は、製造対象となる半導体集積回路の設計支援において、半導体集積回路の信号遅延のマージンを正確に求め、この遅延マージンから製造許容量を求めることで電気的特性の許容範囲内となる半導体集積回路を迅速に設計できる方法を提供するものである。
【００２５】
このような目的を達成するため、本実施形態に係る半導体装置の製造方法では、主として次のような工程を備えている。
（ａ）製造対象となる半導体集積回路について、物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値および抵抗値を算出する工程。
（ｂ）半導体集積回路の物理レイアウトを機能ブロック単位に分割して解析する工程。
（ｃ）算出した容量値および抵抗値と、機能ブロックの素子部および配線部の遅延テーブルとから機能ブロック単位の信号遅延を算出する工程。
（ｄ）算出した機能ブロック単位の信号遅延と、物理レイアウトの解析の結果とにより半導体集積回路を構成する機能ブロック全体での信号遅延の平均値および機能ブロックの種類ごとの信号遅延の平均値を求める工程。
（ｅ）機能ブロック全体での信号遅延の平均値に対する機能ブロックの種類ごとの信号遅延の平均値の乖離量（遅延マージン）を求める工程。
【００２６】
また、上記の各ステップによって得られた遅延マージンを用い、物理レイアウトの変動幅と、容量値および抵抗値の変動幅との関係から、基本ブロック単位の配線幅の管理値を求め、設計ステップへ反映させている。
【００２７】
より具体的には次のようになる。すなわち、上記（ａ）の工程では、半導体集積回路の物理レイアウトが所定の範囲内で変動した場合の寄生容量値および寄生抵抗値を算出する、いわゆるＲＣ抽出を行う。ここで、所定の範囲内とは、例えば、半導体集積回路の製造プロセスにおける寸法ばらつきに起因する変動範囲を言う。必要に応じて設計者が設定した変動範囲を用いてもよい。
【００２８】
また、上記（ｂ）の工程では、製造対象となる半導体集積回路の物理レイアウトを機能ブロック単位に分割し、所定の解析を行う。機能ブロックとは、入力信号に対して予め設定された論理で信号を出力する機能を備えた基本回路のことを言う。本実施形態では、例えば、Ａｄｄｅｒ，ＡＮＤ，ＡＮＤ−ＮＯＲ，ＡＮＤ−ＯＲ，ＡＮＤ−ＯＲ−ＮＡＮＤ，Ａｒｉｔｈｍｅｔｉｃ，Ｂａｌａｎｃｅｄ−Ｂｕｆｆｅｒ，Ｂｕｓ−Ｄｒｉｖｅｒ，Ｄｅｌａｙ，ＥＸ−ＮＯＲ，Ｉｎｖｅｒｔｅｒ，Ｃｌｏｃｋ−Ｅｎａｂｌｅｒ，ＥＸ−ＯＲ，ＩＮＶ−ＮＡＮＤ，ＩＮＶ−ＮＯＲ，Ｌａｔｃｈ，ＮＯＲ，ＯＲ，ＯＲ−ＡＮＤ，ＯＲ−ＡＮＤ−ＮＯＲ，ＯＲ−ＮＡＮＤ，Ｏｔｈｅｒ，Ｓｅｌｅｃｔｏｒ，ＦＦ（Ｆｌｉｐ−Ｆｌｏｐ）が挙げられる。なお、上記の機能ブロックは一例であり、これ以外であってもよい。
【００２９】
また、所定の解析とは、物理レイアウトを構成する機能ブロックとしてどのような種類のものが用いられているか、機能ブロックの種類ごとの数、機能ブロックを構成する素子の種類、素子の種類ごとの数、素子内および素子間の配線長分布、素子内および素子間の配線幅分布を含むものである。
【００３０】
また、上記（ｃ）の工程では、遅延値を計算したい製品のslew,loadテーブルを用意し、先に解析した機能ブロック単位で回路の遅延をシミュレータ（例えば、配置配線tool）によって計算する。この遅延計算では、従来セル単位で回路遅延および配線遅延を計算していたものを、機能ブロック単位で行い、機能ブロックを構成する素子および配線での遅延計算を行っている。
【００３１】
また、上記（ｄ）の工程では、算出した機能ブロック単位での信号遅延と、物理レイアウトの解析の結果とにより、半導体集積回路を構成する機能ブロック算体での信号遅延の平均値と、半導体集積回路で用いられている機能ブロックの種類ごとの信号遅延の平均値を求める計算を行う。
【００３２】
また、上記（ｅ）の工程では、先に求めた機能ブロック全体での信号遅延の平均値と、機能ブロックの種類ごとの信号遅延の平均値とを比較し、機能ブロックの種類ごとの信号遅延が機能ブロック全体での信号遅延の平均値からどの程度乖離しているかという遅延マージンを計算する。
【００３３】
このような工程によって、半導体集積回路の機能ブロック単位で遅延のばらつきを定義することができる。そして、この遅延のばらつきと物理レイアウトの配線幅と容量値および抵抗値との関係から、機能ブロックを接続するネットごとの配線幅管理値を求めることができる。
【００３４】
＜第１実施形態＞
先ず、一般的な回路のステージ遅延について説明する。ステージ遅延は、セルの遅延と配線の遅延とから求められる。セルとは、所定の回路を構成する領域のことで、本実施形態では、機能ブロック単位よりも大きな回路構成を言うものとする。
【００３５】
一般に、回路のステージ遅延は、以下の（１）式によって与えられる。
Ｔ＝Ｒon（Ｃw＋Ｃg）＋Ｒw（Ｃw＋Ｃg）      …（１）
【００３６】
（１）式で第一項はセル遅延、第二項は配線遅延を示している。上記第一項のＲon（Ｃw＋Ｃg）はセルの遅延テーブルのslew,loadに相当する。一方、第二項のＲw（Ｃw＋Ｃg）は配線の遅延テーブルのslew,loadに相当する。
【００３７】
図１は、ステージ遅延を説明する模式図で、（ａ）がセルの遅延テーブル、（ｂ）が配線の遅延テーブルを示している。ここで、配線の遅延テーブルは通常は配置配線システム内部で定数として保持しているので、回路の配線ＲＣが決まると配線遅延を計算することができる。したがって、回路が決まればステージ遅延を予測することが可能となる。
【００３８】
本実施形態では、遅延計算システムに回路の容量値および抵抗値を入力して遅延計算を行うが、遅延を予測する回路規模として、図２に示すような機能ブロック単位を適用している。図２では、（ａ）Ｂｕｆｆｅｒ、（ｂ）ＮＡＮＤ、（ｃ）ＦＦ（Ｆｌｉｐ−Ｆｌｏｐ）を機能ブロックの例として挙げているが、これら以外であってもよい。
【００３９】
通常、製品、特にランダムロジックの回路は複雑になることから、ひとつのモデル回路ですべての製品の遅延を予測することは難しい。本実施形態では、この問題点を解決するために機能ブロックの最小単位であれば、どの回路でも共通であることに注目している。すなわち、一つの機能ブロック、または二つの機能ブロックを接続する配線を含む機能ブロックという単位であれば、どのような回路にも使用されていることから、この機能ブロック単位で遅延に関する情報を得るようにすると、一般的な回路についてその機能ブロック単位の組み合わせにより表現することが可能となる。
【００４０】
この最小の機能ブロック単位の決定は、代表的な機能ブロックを予測して作成してもよいし、対象とする回路があれば、その回路の物理レイアウトに用いられている機能ブロックを解析することによって決めてもよい。物理レイアウトによって機能ブロックの解析を行う場合、物理レイアウトを構成する機能ブロックとしてどのような種類のものが用いられているか、機能ブロックの種類ごとの数、機能ブロックを構成する素子の種類、素子の種類ごとの数、素子内および素子間の配線長分布、素子内および素子間の配線幅分布を求める。
【００４１】
機能ブロック単位での遅延に関する値の算出は、回路を構成する機能ブロック全体での信号遅延の平均値（全体平均値）に対する機能ブロックの種類ごとの信号遅延の平均値の乖離量である。すなわち、（ｉ）機能ブロックの種類ごとに全体平均値からの乖離量を求めておき、（ｉｉ）その乖離量をもとにネット（２つの機能ブロックを配線によって接続した単位）ごとの遅延値を求め、（ｉｉｉ）配線レイアウトの許容変動幅を求める。
【００４２】
ここで、上記（ｉ）で求める機能ブロックの種類ごとの全体平均値からの乖離量の結果を図３に示す。図３は、代表的な機能ブロックの種類ごとの遅延の平均値と、この機能ブロックを接続した場合のネットごとの遅延における全体平均値からの乖離量をテーブルとして示したものである。ここで、図３に示すＡ〜Ｋは代表的な機能ブロックの種類を示し、Ａ〜Ｋの順に、ＡＮＤ，Ｂｕｆｆｅｒ，Ｄｅｌａｙ，ＦＦ（Ｆｌｉｐ−Ｆｌｏｐ），ＩＮＶ（Ｉｎｖｅｒｔｅｒ），Ｌａｔｃｈ，ＮＡＮＤ，ＮＯＲ，ＯＲ，ｓｅｌｅｃｔｅｒ，ｂａｌａｎｃｅｄ−Ｂｕｆｆｅｒとなっている。縦欄の左端、横欄の上端の数値は、各々の機能ブロックの種類ごとの遅延の平均値、縦横欄のマトリクスは縦横の機能ブロックを接続した場合の配線を含む遅延の全体平均からの乖離量（遅延マージン）である。数値の単位はｐｓ（ピコ秒）である。この遅延マージンは、遅延の余裕度を計算するときに使用される。
【００４３】
図４は、図３に示す遅延マージン、および配線のslew,loadおよび１０μｍから１ｍｍの配線長を仮定した場合の配線の遅延値をそれぞれ算出した値を示す図である。なお、図４では、１０μｍから１ｍｍまでの配線長のうち１００μｍの結果を示している。この図４においても、図３と同様に、Ａ〜Ｋは代表的な機能ブロックの種類を示し、Ａ〜Ｋの順に、ＡＮＤ，Ｂｕｆｆｅｒ，Ｄｅｌａｙ，ＦＦ（Ｆｌｉｐ−Ｆｌｏｐ），ＩＮＶ（Ｉｎｖｅｒｔｅｒ），Ｌａｔｃｈ，ＮＡＮＤ，ＮＯＲ，ＯＲ，ｓｅｌｅｃｔｅｒ，ｂａｌａｎｃｅｄ−Ｂｕｆｆｅｒとなっている。また、縦欄の左端、横欄の上端の数値は、各々の機能ブロックの種類ごとの遅延の平均値、縦横欄のマトリクスは縦横の機能ブロックを接続した場合の配線の遅延値を示している。
【００４４】
次に、このようにして得られた遅延マージンに対してプロセス上どの程度余裕を持たせることができるかという余裕度を計算する。
【００４５】
一般に、遅延マージン算出は、図１０に示したスキームで処理される。すなわち、レイアウト、回路接続情報照合検査を行うツールを用い、このツールにレイアウト情報Ｄ１００１と回路接続情報Ｄ１００２とを入力して両者の照合を行う（ステップＳ４０１）。照合検査でエラーがなければＲＣ抽出を行い（ステップＳＳ４０２）、配線ＲＣが回路接続情報に追加され、配線ＲＣつき回路接続情報Ｄ１００３を生成する。
【００４６】
次いで、配線ＲＣつき回路接続情報Ｄ１００３と、セルのトランジスタのモデルＤ１００４とを入力すると、目的の回路の遅延値、および遅延マージン値を算出し（ステップＳ４０３）、遅延値およびマージン値の情報（Ｄ１００５）を生成する。遅延マージンの算出では、ツール内部で対象回路の遅延値と後述の数式（２）〜（９）のいずれかの式の結果との比較を行う。
【００４７】
本実施形態では、遅延解析手法として、ｓｅｔｕｐ解析およびｈｏｌｄ解析を使用し、機能ブロックに遅延の観点からどれだけのプロセス上の余裕があるかを算出して最終的にはレイアウトの管理値（管理幅）として算出する。
【００４８】
ｓｅｔｕｐ時間とは、クロックの受信エッジ(クローズエッジ)前にレジスタのデータピンでの信号が安定していなければならない時間を示す。Ｓｅｔｕｐ時間の制約としては
ＣＬＫ＋ｐｅｒｉｏｄ−ｄａｔａ≧ｓｅｔｕｐ      …（２）
ＣＬＫ＋ｐｅｒｉｏｄ−ｄａｔａ−ｓｅｔｕｐ≧０      …（３）
上記式で、ＣＬＫはクロック伝播時間、ｐｅｒｉｏｄはサイクルタイム、ｄａｔａはデータバス伝播時間、ｓｅｔｕｐはセットアップ時間を示す。
【００４９】
一方、ｈｏｌｄ時間とはクロックの受信エッジ（クローズエッジ）後に、レジスタのデータのピンでの信号が安定していなければならない時間を示す。Ｈｏｌｄ時間の制約としては、
ｄａｔａ−ＣＬＫ≧ｈｏｌｄ      …（４）
ｄａｔａ−ＣＬＫ−ｈｏｌｄ≧０      …（５）
上記式でＣＬＫはクロック伝播時間、ｐｅｒｉｏｄはサイクルタイム、ｄａｔａはデータパス伝播時間、ｈｏｌｄはホールド時間を示す。
【００５０】
一方、上記ＣＬＫおよびｄａｔａにはマージンが含まれると考え、
Ｓｅｔｕｐチェックとして、
margin2(clock cell+clock net)+period＞margin1(data cell+data net)+setup
…（６）
ｈｏｌｄチェックとして、
margin1(data cell+data net)＞margin2(clock cell+clock net)+hold      …（７）
を行うことも可能である。ここで、margin()は、()内の引数におけるマージンを示す関数である。
【００５１】
このマージン値と、所定のマージンとを比較することによって、予測した回路のマージンに対するプロセス上の製造余裕度を調べることができる。
すなわち、
hold_margin/100＞(data(min)-hold(max))/CLK(max)-1      …（８）
delay_margin/100＜-period/(CLK(min)-data(max)-setup(max))-1      …（９）
のように、所定のｈｏｌｄ，ｄｅｌａｙの各マージンを比較することで、機能ブロック単位のパスのマージン余裕度を調べることができる。
【００５２】
本実施形態では、図３より機能ブロックの遅延を調べ、一方、ＲＣ抽出によって得た容量値および抵抗値を与えて機能ブロック間の配線遅延を算出し、ステージ遅延値を算出している。なお、配線長は製品が決まった時点で、レイアウトを解析し、機能ブロック間の配線長の頻度を調べて最頻値配線長における配線遅延を求めた。配線長の調整が必要な場合にはこの最頻値からのずれ分で調整を行う。また、本実施形態において、上記（８）、（９）の式でチェックを行う時はテーブル値を参照するので、式中のmax,minは区別しない。
【００５３】
本実施形態では、上記（２）、（４）式のチェックを行っている。すなわち、
ＣＬＫ＋ｐｅｒｉｏｄ−ｄａｔａ≧ｓｅｔｕｐ      …（２）
ｄａｔａ−ＣＬＫ≧ｈｏｌｄ      …（４）
を使用してチェックを行う。例えば、図５に示した機能ブロックＤ、Ｂで構成されるパスでは、
data：配線遅延+FlipFlop(D)の遅延値+配線遅延+バッファの遅延+配線遅延
…（１０）
CLK：配線遅延+バッファの遅延+配線遅延      …（１１）
であり、dataの方は図３に示すテーブルのＤ−Ｂ（FF-Buffer）のマトリクスで示す値を使用すると、CLK:137.5[ps]、period:500[ps]、data:27.5[ps]、setup:30[ps]、hold:0[ps]、バッファDelay:26.5[ps]となり、（２）、（４）式のチェックを行うことができる。
【００５４】
なお、配線Delayは前述のとおり配線ＲＣ(容量値および抵抗値)と、機能ブロック単位の回路の配線長の最頻値を使用している。この手法を使用して半導体集積回路の接続情報があれば、あるパスにおける遅延の余裕度がわかる。
【００５５】
一例として、機能ブロックＡ、Ｂ、Ｂ、Ｆ、Ｇから構成されるパスで上記マージンを計算した結果、１５％の余裕度があった。すなわち、（２）、（４）式で、（２）ではsetupよりＣＬＫ＋ｐｅｒｉｏｄ−ｄａｔａが１５％大きく、（４）ではｈｏｌｄよりｄａｔａ−ＣＬＫが１２％大きくなる。そこで、余裕度を少ない方の１２％とした。
【００５６】
次に、算出した余裕度をパスごとに分配した。ここで、分配の仕方は、図３に示した機能ブロックの種類の全体平均値からの乖離量に基づいて重み付けを行うという方法で行った。機能ブロックＡ、Ｂ、Ｂ、Ｆ、Ｇのステージ遅延マージンの比は１：１．１：１．１：１．３：１．５なので、この比の合計と、実際の余裕度１２％とからネットのマージン値は２％：２．２％：２．２％：２．６％：３％となる。この余裕度はステージ遅延から算出したものであるが、素子部の遅延は変わらないのでこの余裕分を配線部で消費することができる。
【００５７】
一方、別に配線幅および配線長と遅延との関係をあらかじめ調べておく。すなわち、ある製品のデバイス断面構造に基づいて配線モデル構造を想定して、そのモデル構造の配線幅および配線長を変えたときのステージ遅延の変動量を調べる。
【００５８】
本実施形態で用いたデバイスの、容量値、抵抗値（遅延）に対する配線幅依存性を示したのが図６である。図６の横軸は配線幅、縦軸はステージ遅延を示す。横軸の配線幅が変わると配線モデルの配線幅が変わり容量が変化し、ステージ遅延は配線幅に対して線形に変化する。一方、それぞれの配線幅で配線長を変えた場合は前記ステージ遅延と配線幅との関係の傾きが変化する（図６の線種別参照）。この関係を用いて、ステージ遅延の余裕度（乖離量）％に対する配線幅の管理値を配線長ごとに求めることができる。
【００５９】
こうして、ネットごとの余裕度を、機能ブロックを接続するネットの配線に対して帰属させる計算を行う。ここで割り当てられるのはネットごとの余裕度であるが、配置配線後のＤＥＦ（Design Exchange Format:レイアウトデータ形式）ファイルを使うと、ネットを構成する配線を特定することができる。
【００６０】
この方法を用いてネットを構成する配線を特定し、その配線の管理幅を大きくしていく。この作業をすべてのネットについて行うことで、これまで一律に与えていた配線遅延のマージンの精度を高めることが可能となる。また、さらに一律にしていた管理幅を、特性に基づく余裕度に基づいて変更することができる。
【００６１】
そして、上記方法で算出した管理幅をもとに、回路パターン（マスクパターン）を作成し、この回路パターンを用いて転写を行い、半導体装置を製造する。
【００６２】
ここで、上記管理幅の使用方法は大きく分けて二つある。それらは、［１］回路パターンそのものを管理幅分変更すること、［２］ＯＰＣ（Optical Proximity Correction）でのねらい目を変更すること、である。本実施形態では、［２］を適用する。
【００６３】
具体的には、配置配線後の回路パターンに対してＯＰＣおよびＯＰＣ検証を行う。例えば、ＯＰＣおよびＯＰＣ検証で行う転写シミュレーションの光学条件は露光波長１９３ｎｍ、ＮＡ＝０．７５、σ＝０．８５、２／３輪帯に設定し、露光量を１３．５ｍＪセンターに設定した場合、ＯＰＣのねらい目寸法が大きくなったことでＯＰＣの収束が速くなり、ＯＰＣおよびＯＰＣ検証の負荷の減少を図ることができる。また、ＯＰＣの管理幅が広がったことで、収束が速くなる。
【００６４】
図７は、第１実施形態の処理を説明するフローチャートである。先ず、配置配線ツールからレイアウトデータの取得を行い、このレイアウト（詳細配線後のＧＤＳフォーマットのデータ）を用いてレイアウト解析を行う（ステップＳ１０１）。レイアウト解析では、例えば、機能ブロック種類、種類別数、機能ブロック間配線長、配線長頻度調査を行う。
【００６５】
次に、レイアウト解析の結果を用いて機能ブロック単位のモデル回路を作成する(ステップＳ１０２)。その後、機能ブロック単位での遅延マージン（図３参照）を計算し（ステップＳ１０３）、機能ブロック単位の配線管理幅を求める。
【００６６】
機能ブロック単位での遅延マージンの計算は、先に作成したモデル回路、図３に示す遅延マージンのテーブル、別途レイアウトデータからＲＣ抽出（ステップＳ１１０）によって算出した配線ＲＣ、レイアウト全体での遅延計算の結果（ステップＳ１１１）を使用して行う。そして、上記（２）、（４）式からマージンチェックを行って、パス全体の余裕度を求める。さらに、この余裕度を比例配分してネットごとの余裕度を求めた後、図６に示す関係から、余裕度に対する線幅余裕度を求めることになる。
【００６７】
その後、この余裕度に基づきレイアウト検証を行い（ステップＳ１０４）、配線のねらい目寸法を大きくしてＯＰＣおよびＯＰＣ検証処理を行う（ステップＳ１０５）。ここで、回路パターンそのものを管理幅分変更しても、ＯＰＣでのねらい目寸法を変更してもよい。そして、ＯＰＣおよびＯＰＣ検証後にマスクデータの作成を行う（ステップＳ１０６）。
【００６８】
なお、本実施形態では、機能ブロックごとの配線の遅延マージンを決定したが、世代ごとに遅延マージンのデータが蓄積されると次世代のデバイスの遅延マージンを予測することが可能となる。実際に回路図面がない状況における予測では、配線遅延は世代ごとに配線長の最頻値を予測して行う。本実施形態で求めた高精度な遅延マージンを用いて設計を行うことにより、タイミング収束の処理負荷を軽減することができる。
【００６９】
また、本実施形態ではマージンチェックの方法として（２）、（４）式を用いて行ったが、この手法に限られたものではなく、本実施形態で示した他の式を使用してチェックを行ってもよいし、マージンチェックのための他の式を用いてもよい。また、マージンの各機能ブロックへの配分の仕方も本実施形態に限定されるものではない。
【００７０】
さらに、マージン値と線幅との関係を求める方法も、特性に基づく管理幅を求めることができれば本実施形態に限るものではない。また、本実施形態では、配置配線toolにより配線遅延を計算したが、配線遅延の値が得られれば配置配線toolを使わず、セル遅延のように配線遅延をテーブルとして与えておいてもよい。さらに、本実施形態では配線管理幅をＯＰＣで考慮する方法について説明したが、もう一方の回路バターン自身を変更する手法を使うことも可能である。なお、転写時シミュレーションおよびウエハ転写時の配線のねらい目寸法は、管理幅の最大値でもいいし、管理幅内で種種の値を設定してもよい。
【００７１】
＜第２実施形態＞
第２実施形態では、先に説明した第１実施形態の手法を、回路のクリティカルパスに対して適用するものである。図８は、第２実施形態の処理を説明するフローチャートである。先ず、配置配線ツールからレイアウトデータの取得を行い、このレイアウト（詳細配線後のＧＤＳフォーマットのデータ）を用いてレイアウト解析を行う（ステップＳ２０１）。レイアウト解析では、例えば、機能ブロック種類、種類別数、機能ブロック間配線長、配線長頻度調査を行う。
【００７２】
次に、レイアウト解析の結果を用いて機能ブロック単位のモデル回路を作成する(ステップＳ２０２)。その後、機能ブロック単位での遅延マージン（図３参照）を計算し（ステップＳ２０３）、機能ブロック単位の配線管理幅を求める。そして、ＤＥＦを使用してネットを構成する配線レイアウトのレイヤ、座標を特定して管理幅の帰属を行う。詳細配線後に作成されるＤＥＦファイルを用いると、回路のクリティカルパスを特定できる。
【００７３】
クリティカルパス部分の遅延マージン計算は、ＤＥＦファイルを用いてクリティカルパスを特定した後、先に述べたモデル回路、図３に示す遅延マージンのテーブル、別途レイアウトデータからＲＣ抽出（ステップＳ２１０）によって算出した配線ＲＣ、レイアウト全体での遅延計算の結果（ステップＳ２１１）を使用して行う。
【００７４】
配置配線後のＤＥＦファイルを用いると、回路のクリティカルパスの位置を特定することができるとともに、ＤＥＦファイルのレイアウト解析でクリティカルパスを構成する機能ブロックが特定できる。そして、上記（２）、（４）式からマージンチェックを行って、パス全体の余裕度を求める。さらに、この余裕度を比例配分してネットごとの余裕度を求めた後、図６に示す関係から、余裕度に対する線幅余裕度を求めることになる。
【００７５】
その後、この余裕度に基づきレイアウト検証を行い（ステップＳ２０４）、配線のねらい目寸法を大きくしてＯＰＣおよびＯＰＣ検証処理を行う（ステップＳ２０５）。ここで、回路パターンそのものを管理幅分変更しても、ＯＰＣでのねらい目寸法を変更してもよい。そして、ＯＰＣおよびＯＰＣ検証後にマスクデータの作成を行う（ステップＳ２０６）。
【００７６】
なお、本実施形態では、作業効率の観点からクリティカルパス部分に対してのみ処理を行ったが、回路性能の観点からクリティカルパス部分のねらい目寸法の変更が困難な場合は、クリティカルパス以外の部分で本手法を適用すればよい。設計ＴＡＴ（turn around time）と品質の観点から、必要な回路部分に本手法を適用すればよい。すなわち、精度重視の場合は、本手法はすべての回路に適用され、ＴＡＴ重視の場合はクリティカルパス、およびリソグラフィ未達パターンでフィルタをかけて本手法を適用すればよい。また、第１実施形態と同様に回路パターンそのものを管理幅分変更しても、ＯＰＣでのねらい目寸法を変更してもよい。
【００７７】
＜第３実施形態＞
第３実施形態では、先に説明した第１実施形態の手法を、リソグラフィマージン未達パターンに対して適用するものである。図９は、第３実施形態の処理を説明するフローチャートである。先ず、配置配線ツールからレイアウトデータの取得を行い、このレイアウト（詳細配線後のＧＤＳフォーマットのデータ）を用いてレイアウト解析を行う（ステップＳ３０１）。レイアウト解析では、例えば、機能ブロック種類、種類別数、機能ブロック間配線長、配線長頻度調査を行う。
【００７８】
次に、レイアウト解析の結果を用いて機能ブロック単位のモデル回路を作成する(ステップＳ３０２)。一方、詳細配線後のＧＤＳに対してレイアウト検証（ステップＳ３０４）、ＯＰＣおよびＯＰＣ検証を行って（ステップＳ３０５）、リソグラフィマージン未達パターンを抽出する。リソグラフィマージン未達箇所の情報はHOTSPOTファイルに記録される。この情報とＤＥＦファイルのクリティカルパスの情報とを照合すると、リソグラフィマージン未達箇所で、かつクリティカルパス部分の遅延余裕度の計算をすることができる。
【００７９】
この遅延余裕度を計算するため、機能ブロック単位での遅延マージン（図３参照）を計算し（ステップＳ３０３）、機能ブロック単位の配線管理幅を求める。そして、その管理幅の最大値をＯＰＣのねらい目寸法としてＯＰＣおよびＯＰＣ検証を再び行い（ステップＳ３０５）、リソグラフィマージンを得る。これにより、クリティカルパス部分であって、かつリソグラフィマージン未達パターンのマスクパターン変更を特性が保証する範囲で行うことができる。
【００８０】
また、本実施形態では、ＯＰＣのねらい目寸法を変えることのほかに、第１、第２実施形態でも示したような、レイアウトの線幅に管理値のバイアスをかけて変更し、これに対してＯＰＣおよびＯＰＣ検証をかける処理を行ってもよい。
【００８１】
本実施形態では、管理幅の中間値をバイアス幅としてレイアウトの変更を行った。その結果、クリティカルパス部分に出ていたリソグラフィマージン未達箇所を修正することができる。なお、本実施形態では、クリティカルパス部分で、かつリソグラフィマージン未達箇所に対する処理を行ったが、回路性能の観点からクリティカルパス部分のねらい目寸法の変更が困難な場合は、クリティカルパス以外の部分で本手法を適用すればよい。また、設計ＴＡＴと品質との観点から、必要な回路部分に本手法を適用すればよい。すなわち、精度重視の場合は、本手法はすべての回路に適用され、ＴＡＴ重視の場合はクリティカルパス、およびリソグラフィ未達パターンでフィルタをかけて本手法を適用すればよい。
【００８２】
＜適用例＞
上記説明した実施形態に係る処理は、コンピュータで実行されるプログラム（半導体装置の設計プログラム）として実現可能である。すなわち、（ａ）製造対象となる半導体集積回路について、物理レイアウトを予め定められた所定の範囲内で変動させた場合の容量値および抵抗値を算出するステップ、（ｂ）半導体集積回路の物理レイアウトを基本ブロック単位に分割して解析するステップ、（ｃ）算出した容量値および抵抗値と、基本ブロックの素子部および配線部の遅延テーブルとから基本ブロック単位の信号遅延を算出するステップ、（ｄ）算出した基本ブロック単位の信号遅延と、物理レイアウトの解析の結果とにより半導体集積回路を構成する基本ブロック全体での信号遅延の平均値および基本ブロックの種類ごとの信号遅延の平均値を求めるステップ、（ｅ）基本ブロック全体での信号遅延の平均値に対する基本ブロックの種類ごとの信号遅延の平均値の乖離量（遅延マージン）を求めるステップをコンピュータによって実行させるものである。
【００８３】
このうち、（ａ）のステップは、図７〜図９に示すＲＣ抽出（ステップＳ１１０、Ｓ２１０、Ｓ３１０）に対応し、（ｂ）のステップは、図７〜図９に示すレイアウト解析（ステップＳ１０１、Ｓ２０１、Ｓ３０１）に対応し、（ｃ）のステップは、図７〜図９に示す遅延余裕度計算（ステップＳ１０３、Ｓ２０３、Ｓ３０３）に対応し、（ｄ）のステップは、図７〜図９に示す遅延計算（ステップＳ１１１、Ｓ２１１、Ｓ３１１）および遅延余裕度計算（ステップＳ１０３、Ｓ２０３、Ｓ３０３）に対応し、（ｅ）のステップは、図７〜図９に示す遅延余裕度計算（ステップＳ１０３、Ｓ２０３、Ｓ３０３）に対応する。
【００８４】
これらのステップを含む処理をプログラムとしてコンピュータで実行することにより、本実施形態の特徴である機能ブロックの種類ごとの遅延マージンを求め、プロセスマージンの算出を行うことが可能となる。
【００８５】
なお、本実施形態に係る処理を備えたプログラムは、コンピュータで実行されるほか、所定の媒体（ＣＤ、ＤＶＤ等）に格納されたり、ネットワークを介して配信されるものである。
【００８６】
また、本発明は、上記説明した実施形態に係る処理を備えたプログラムを実行するのに有利が構成から成るコンピュータシステム（半導体装置の設計システム）としても実現可能である。この半導体装置の設計システムでは、本実施形態に係るプログラムの各種ステップを実行するのに適したハードウェアを備えている。例えば、各種ステップを迅速に処理するためのＣＰＵ、処理を行うにあたり十分な容量を備えたメモリ、各種データを格納する記憶手段、その他、ディスプレイ、入出力インタフェースを備えた構成となっている。
【００８７】
この半導体装置の設計システムでは、予め本実施形態に係る半導体装置の設計プログラムが組み込まれていたり、媒体やネットワークを介して外部からインストールされ、上記説明した特徴的な処理を実行できるようになっている。
【００８８】
＜実施形態の効果＞
従来では、回路遅延に影響を与える回路部分は数十パーセント未満であることが多いにもかかわらず、遅延の観点からも、リソグラフィの観点からもマージンが一律に与えられていた。これはレイアウトの線幅変動と配線遅延との関連づけがなされていないことが原因となっている。これに対し、本実施形態では、遅延マージンという観点から、これまですべての部分について一律に与えていたマージンを、機能ブロックの遅延値に基づき機能ブロックの組み合わせごとに設定することができ、マージンの精度を高めることが可能となる。また、あるデバイスでの機能ブロック単位の遅延マージンをもとに、次世代デバイスでの遅延マージンを高精度に予測することも可能となる。
【図面の簡単な説明】
【００８９】
【図１】ステージ遅延を説明する模式図である。
【図２】機能ブロック単位の例を説明する回路図である。
【図３】代表的な機能ブロックの種類ごとの遅延の全体平均値からの乖離量を説明する図である。
【図４】代表的な機能ブロックの種類ごとの配線の遅延値を説明する図である。
【図５】機能ブロックで構成されるパスの例を示す図である。
【図６】容量値、抵抗値（遅延）に対する配線幅依存性を示す図である。
【図７】第１実施形態の処理を説明するフローチャートである。
【図８】第２実施形態の処理を説明するフローチャートである。
【図９】第３実施形態の処理を説明するフローチャートである。
【図１０】遅延マージンの算出を説明するフローチャートである。
【図１】
0004530049.tif 000002
【図２】
0004530049.tif 000003
【図３】
0004530049.tif 000004
【図４】
0004530049.tif 000005
【図５】
0004530049.tif 000006
【図６】
0004530049.tif 000007
【図７】
0004530049.tif 000008
【図８】
0004530049.tif 000009
【図９】
0004530049.tif 000010
【図１０】
0004530049.tif 000011