(57)【要約】【課題】配線の容量値及び抵抗値の過剰なばらつきを抑えてばらつきを求める技術を提供することを課題とする。【解決手段】一の配線を含むレイアウトデータを入力する入力ステップと、レイアウトデータを基に一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップとを有する半導体集積回路設計方法が提供される。【選択図】        図７
2004258836.tif 000002
【特許請求の範囲】
【請求項１】
一の配線を含むレイアウトデータを入力する入力ステップと、
前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップと
を有する半導体集積回路設計方法。
【請求項２】
前記出力ステップは、前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値、代表値及び最大値をばらつき統計の予測値として出力する請求項１記載の半導体集積回路設計方法。
【請求項３】
前記出力ステップは、前記一の配線の容量値及び抵抗値の最小値をそれぞれ有する半導体チップにおいて同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び最大値を出力し、前記一の配線の容量値及び抵抗値の最大値をそれぞれ有する半導体チップにおいて同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項４】
前記出力ステップは、表を用いて、前記レイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項５】
前記出力ステップは、関数を用いて、前記レイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項６】
前記出力ステップは、前記配線とその隣接配線との間隔のレイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項７】
前記出力ステップは、前記配線の層の厚さのレイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項８】
前記出力ステップは、前記配線の層の上の層の配線密度のレイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項９】
前記出力ステップは、前記配線の層の下の層の配線密度のレイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【請求項１０】
前記出力ステップは、前記配線の幅のレイアウトデータを基に前記最小値及び最大値を出力する請求項１記載の半導体集積回路設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の設計技術に関し、特に配線の容量値及び抵抗値のばらつきを予測する技術に関する。
【０００２】
【従来の技術】
図５に示すように、半導体集積回路において、レイアウトされた配線５０２は他のレイアウトされた配線５０１及び５０３の条件によって、配線幅ｗが変わることが知られている。配線幅ｗが変化することにより、配線５０２の抵抗値と容量値が変化する。配線５０２の抵抗値及び容量値に応じて、配線５０２の遅延時間が決まる。
【０００３】
図１に示すように、配線幅の変化が原因で、最も存在確率が高くなる遅延時間が代表値ＴＹＰである。半導体チップの製造条件により、配線遅延時間がもっとも小さくなる場合の遅延時間が最小値ＭＩＮである。半導体チップの製造条件により、配線遅延時間がもっとも大きくなる遅延時間が最大値ＭＡＸである。
【０００４】
半導体チップの製造条件にはばらつきがある。従来、最小値ＭＩＮの遅延時間と最大値ＭＡＸの遅延時間は、代表値ＴＹＰの遅延時間に対してばらつき係数を掛けて求めていた。この場合、配線の遅延時間のばらつきは特定の条件によって変化するのではなく、一定の割合で変化するものとして扱われていた。
【０００５】
また、下記の特許文献１及び２が公開されている。
【０００６】
【特許文献１】
特開平７−５６９７６号公報
【特許文献２】
特開２００１−２６５８２６号公報
【０００７】
【発明が解決しようとする課題】
実際の半導体チップ上において、配線の遅延時間のばらつきは配線がレイアウトされた際の条件に依存して異なる。従って、遅延時間の最小値ＭＩＮと遅延時間の最大値ＭＡＸ間の差はレイアウトされた際の周囲の配線の条件に応じて異なるものになる。そのため、配線のばらつきを一定として考えた場合、実際にはばらつきが小さい配線では実際のばらつきよりも過剰なばらつきが見積もられる。過剰なばらつきを考慮することで、遅延のタイミングを満足させることがより困難になる。
【０００８】
本発明の目的は、配線の容量値及び抵抗値の過剰なばらつきを抑えてばらつきを求める技術を提供することである。
【０００９】
【課題を解決するための手段】
本発明の一観点によれば、一の配線を含むレイアウトデータを入力する入力ステップと、レイアウトデータを基に一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップとを有する半導体集積回路設計方法が提供される。
【００１０】
本実施形態によれば、配線及びその周囲のレイアウトデータを考慮し、配線の容量値及び抵抗値の最小値及び最大値を求めるので、過剰なばらつきがない最小値及び最大値を求めることができる。過剰なばらつきがなく、適正なばらつきの容量値及び抵抗値の最小値及び最大値を基に遅延時間を求め、論理検証及び／又はタイミング解析を行うことができるので、半導体集積回路の設計期間を短縮することができる。
【００１１】
【発明の実施の形態】
図５は、本発明の実施形態による半導体集積回路の設計レイアウト例を示す。以下、半導体集積回路の検証方法を説明する。まず、配線５０２の容量値及び抵抗値を見積もる。次に、その配線５０２の容量値及び抵抗値を基に配線５０２の遅延時間を見積もる。その遅延時間を基に、半導体集積回路の論理検証及び静的タイミング解析を行う。
【００１２】
実際に半導体集積回路を製造すると、周囲のレイアウト（製造条件）等に応じて設計値に対してばらつきが生じる。例えば、配線５０２は、隣接配線５０１との間隔ｄ’に応じて左端がΔｗ’ずれ、隣接配線５０３との間隔ｄに応じて右端がΔｗずれる。その結果、配線５０２の幅ｗは、Δｗ＋Δｗ’ずれる。すなわち、配線５０２の幅ｗは、レイアウトデータに応じて変化する。配線５０２の幅ｗに応じて、配線５０２の容量値及び抵抗値が決まる。配線５０２の幅ｗがレイアウトデータに応じて変化するため、配線５０２の容量値及び抵抗値もレイアウトデータに応じて変化する。
【００１３】
図１は、配線の容量値又は抵抗値の統計ばらつき分布例を示す。横軸はねらい値（目標値）からのずれを示し、縦軸は配線の容量値又は抵抗値の存在確率を示す。例えば、図５の配線５０２の幅ｗが設計値通りのときには、図１の横軸のねらい値からのずれが０になり、そのときの容量値又は抵抗値の存在確率が示される。
【００１４】
代表値ＴＹＰは、最も存在確率が高い容量値又は抵抗値であり、例えばそのずれ量はねらい値より少し大きくなる。最小値ＭＩＮは、容量値又は抵抗値がもっとも小さくなる場合の容量値又は抵抗値であり、例えばそのずれ量はねらい値より少し小さくなる。最大値ＭＡＸは、容量値又は抵抗値がもっとも大きくなる場合の容量値又は抵抗値であり、例えばそのずれ量はねらい値よりかなり大きくなる。最小値ＭＩＮ及び最大値ＭＡＸは、ずれ量１０１だけ離れている。
【００１５】
なお、配線の容量値及び抵抗値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを基に、その配線の遅延時間の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを演算することができる。配線の遅延時間の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸの分布も、図１と同様の分布になる。
【００１６】
図２は、パラメータ条件を入力し、抵抗値及び容量値の代表値ＴＹＰを出力する表２００を示す。パラメータ条件として、隣接配線との間隔等のレイアウトデータを入力することにより、配線の抵抗値及び容量値の代表値ＴＹＰを表２００から読み出すことができる。抵抗値及び容量値の最小値ＭＩＮ及び最大値ＭＡＸは、抵抗値及び容量値の代表値ＴＹＰに一定の係数をかけることにより求めることができる。
【００１７】
しかし、実際には、最小値ＭＩＮ及び最大値ＭＡＸは、レイアウトデータに応じて変化するものであり、一定の係数をかけることによっては正確な値を求めることができない。すなわち、実際のばらつきは一定ではない。容量値及び抵抗値のばらつきを一定とした場合、実際のばらつきよりも過剰なばらつきが見積もられることがある。過剰なばらつきを考慮することになると、半導体集積回路のタイミング解析を満足させることが困難になる。より正確な容量値及び抵抗値のばらつきを見積もることができれば、タイミング解析も適切に行うことができ、過剰に厳格なタイミング解析を満足させる必要がなくなる。
【００１８】
図３は、本実施形態で用いる抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを求めるための表３００である。表３００は、パラメータ条件を入力し、抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを出力する。すなわち、パラメータ条件として、隣接配線との間隔等のレイアウトデータを入力することにより、配線の抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを予め作成された表３００から読み出すことができる。本実施形態では、代表値ＴＹＰだけでなく、最小値ＭＩＮ及び最大値ＭＡＸについても、レイアウトデータに応じた値を求める。そして、配線の抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを基に、配線の遅延時間の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを演算する。また、表３００の代わりに、関数を用いる方法を、以下に示す。
【００１９】
図４は、本実施形態で用いる抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを求めるための関数群４００である。関数群４００は、関数４０１〜４０６を有する。関数４０１は、パラメータ条件（レイアウトデータ）を入力し、抵抗値の最小値ＭＩＮを演算して出力する。関数４０２は、パラメータ条件（レイアウトデータ）を入力し、容量値の最小値ＭＩＮを演算して出力する。関数４０３は、パラメータ条件（レイアウトデータ）を入力し、抵抗値の代表値ＴＹＰを演算して出力する。関数４０４は、パラメータ条件（レイアウトデータ）を入力し、容量値の代表値ＴＹＰを演算して出力する。関数４０５は、パラメータ条件（レイアウトデータ）を入力し、抵抗値の最大値ＭＡＸを演算して出力する。関数４０６は、パラメータ条件（レイアウトデータ）を入力し、容量値の最大値ＭＡＸを演算して出力する。そして、配線の抵抗値及び容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを基に、配線の遅延時間の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを演算する。
【００２０】
図３及び図４のパラメータ条件は、抵抗値及び容量値を求めるための条件数に応じてパラメータの個数を変え、レイアウトデータに応じた抵抗値と容量値を求めることができる。図３の表３００及び図４の関数群４００は、過去に製造した半導体集積回路のばらつき値をフィードバックし、経験的に作成することができる。
【００２１】
図５に示すように、隣接配線５０１，５０３までの距離ｄ’，ｄに応じて配線５０２の幅ｗはΔｗ＋Δｗ’変化する。容量値と抵抗値のばらつきは、隣接した配線５０１，５０３までの距離ｄ’，ｄに依存するため、容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求めるためのパラメータとして隣接した配線５０１，５０３までの距離ｄ’，ｄを使用する。通常、配線は、半導体チップ上へ仮想的に設けられたグリッドの上へレイアウトされる。隣接した配線までの距離は、グリッド毎又は単位長さ毎のパラメータとして表もしくは関数を構成する。何μｍの間隔があるかをパラメータとしてもよい。
【００２２】
容量値と抵抗値のばらつきは、配線がレイアウトされた層に依存するため、容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求めるためのパラメータとしてレイアウトされた配線の層を使用する。配線は、バルク上へ層状に積み重ねてレイアウトされる。バルクに近い配線層から、第１の配線層、第２の配線層、第３の配線層、第ｎの配線層と定義する。レイアウトされた層は何番目の層かという情報のパラメータとして表又は関数を構成する。また、配線の層の厚さのレイアウトデータをパラメータとして表又は関数を構成し、配線の容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求める。配線層により厚さが異なるため、層の厚さもパラメータとして使用できる。
【００２３】
容量値と抵抗値のばらつきは、配線がレイアウトされた層の上の層にレイアウトされた配線密度の条件に依存するため、容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求めるためのパラメータとして上層の配線密度を使用する。上層の配線密度は、上層にレイアウトされた配線間距離をグリッド毎又は単位長さ毎で表されたパラメータとして表もしくは関数を構成する。
【００２４】
容量値と抵抗値のばらつきは、配線がレイアウトされた層の下の層にレイアウトされた配線密度の条件に依存するため、容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求めるためのパラメータとして下層の配線密度を使用する。下層の配線密度は、下層にレイアウトされた配線間距離をグリッド毎又は単位長さ毎で表されたパラメータとして、表もしくは関数を構成する。
【００２５】
容量値と抵抗値のばらつきは、配線がレイアウトされた配線幅に依存するため、容量値及び抵抗値の最小値ＭＩＮと代表値ＴＹＰと最大値ＭＡＸを求めるためのパラメータとしてレイアウトされた配線幅を使用する。レイアウトされた配線幅は、単位長さで表されたパラメータとして表もしくは関数を構成する。
【００２６】
図６は、同一半導体チップ内のばらつきを示す分布である。縦軸は配線の容量値又は抵抗値の存在確率であり、横軸はねらい値からのずれである。半導体チップを複数個製造した際に起こりえる抵抗値と容量値のばらつきとして上記の最小値ＭＩＮと最大値ＭＡＸがある。それに対して、一つの半導体チップの中で同時に起こり得るばらつきとして半導体チップ内ばらつき（Ｏｎ−Ｃｈｉｐばらつき）がある。
【００２７】
半導体チップ内ばらつきでは、上記の抵抗値と容量値の最小値ＭＩＮは値ＭＩＮ−ＭＩＮと定義される。ある半導体チップに容量値及び抵抗値の値ＭＩＮ−ＭＩＮが存在した場合、その半導体チップ内で最も遅延が大きくなる抵抗値と容量値は値ＭＩＮ−ＭＡＸで定義される。
【００２８】
また、半導体チップ内ばらつきでは、上記の抵抗値と容量値の最大値ＭＡＸは値ＭＡＸ−ＭＡＸと定義される。ある半導体チップに容量値及び抵抗値の値ＭＡＸ−ＭＡＸが存在した場合、最も遅延が小さくなる抵抗値と容量値は値ＭＡＸ−ＭＩＮで定義される。
【００２９】
すなわち、配線の容量値及び抵抗値の最小値ＭＩＮをそれぞれ有する半導体チップにおいて、その同一半導体チップ内では、ばらつく配線の容量値及び抵抗値の最小値ＭＩＮ−ＭＩＮ及び最大値ＭＩＮ−ＭＡＸが存在する。また、配線の容量値及び抵抗値の最大値ＭＡＸをそれぞれ有する半導体チップにおいて、その同一半導体チップ内では、ばらつく配線の容量値及び抵抗値の最小値ＭＡＸ−ＭＩＮ及び最大値ＭＡＸ−ＭＡＸが存在する。
【００３０】
同一半導体チップ内では、最小値ＭＩＮ−ＭＩＮから最大値ＭＩＮ−ＭＡＸまでのばらつき範囲６０１が生じえる。また、他の同一半導体チップ内では、最小値ＭＡＸ−ＭＩＮから最大値ＭＡＸ−ＭＡＸまでのばらつき範囲６０２が生じえる。同一半導体チップは、同一半導体製造工程により製造されるので、同一半導体チップ内に、ばらつき範囲６０１とばらつき範囲６０２の両方が存在することはない。
【００３１】
静的タイミング解析については、ばらつき範囲６０１についてタイミング解析が正常になり、さらにそれとは別にばらつき範囲６０２についてタイミング解析が正常になればよい。ばらつき範囲６０１及び６０２が同時に存在する範囲で、タイミング解析を行う必要はない。
【００３２】
図３及び図４では、レイアウトデータに依存して、抵抗値と容量値の最小値ＭＩＮ、代表値ＴＹＰ及び最大値ＭＡＸを求める手法を示した。同様にして、抵抗値と容量値の値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを求めるための表又は関数を予め定義することで、抵抗値及び容量値の値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを求めることができる。ここで、最小値ＭＩＮと値ＭＩＮ−ＭＩＮは同じであり、最大値ＭＡＸと値ＭＡＸ−ＭＡＸは同じである。
【００３３】
なお、遅延時間は、容量値及び抵抗値を基に求めることができる。遅延時間の値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸも、図６と同様の分布になる。
【００３４】
図７は、本実施形態による半導体集積回路設計方法の処理手順を示すフローチャートである。ステップＳ７０２では、記憶手段７０１からレイアウトデータを読み出し、そのレイアウトデータから配線データを抽出する。次に、ステップＳ７０３では、配線データを基に配線を予め定められた範囲で分割する。例えば、所定間隔で任意に分割する。
【００３５】
次に、ステップＳ７０４では、分割された配線データを中心とする予め定められた範囲を検索して、配線等がレイアウトされた条件を検査する。すなわち、図３の表３００又は図４の関数群４００の入力となるパラメータ条件を取得する。上記の予め定められた範囲は、上下方向に検査される層数を定めた範囲であり、同層内で最小グリッド範囲を基準とした単位又は単位長さを基準とした単位で定められる。
【００３６】
次に、ステップＳ７０６では、記憶手段７０５内の予め定義された表又は関数を基に、レイアウトデータのパラメータ条件毎に考慮して、容量値と抵抗値の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸを導き、さらに、容量値と抵抗値の値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを導く。
【００３７】
次に、ステップＳ７０７では、分割された配線をマージして、配線毎の容量値と抵抗値の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸを導き、さらに、値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを導く。
【００３８】
次に、ステップＳ７０８では、配線長などを考慮して、半導体チップ内等のばらつきを補正する。配線長が長くなった場合、配線全体で平均した半導体チップ内ばらつきは抑えられる。そのため、容量値及び抵抗値の値ＭＩＮ−ＭＡＸと値ＭＡＸ−ＭＩＮを補正するためのパラメータとして配線長を使用する。配線長は、グリッド又は単位長さで表されたパラメータとして表又は関数を構成し、容量値及び抵抗値の値ＭＩＮ−ＭＡＸと値ＭＡＸ−ＭＩＮを補正することができる。例えば、配線長が長いほど、容量値及び抵抗値のばらつきが小さくなる。その後、容量値及び抵抗値の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸ、値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを記憶手段７０９に記録する。以下、この記憶手段７０９に記録された情報を、容量値及び抵抗値のばらつき値という。
【００３９】
記憶手段７１０には、ゲートパラメータが記憶されている。ゲート（セル）の遅延時間は、ゲートに接続される配線の容量値及び抵抗値に依存する。ゲートパラメータは、ゲート遅延時間を求めるために必要なパラメータである。
【００４０】
ステップＳ７１１では、記憶手段７０９内の容量値及び抵抗値のばらつき値と記憶手段７１０内のゲートパラメータを基に、遅延時間の計算を行う。具体的には、配線遅延時間及びゲート遅延時間の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸ、値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを計算し、記憶手段７１２に記録する。
【００４１】
ステップＳ７１３では、記憶手段７１２内の配線遅延時間及びゲート遅延時間の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸを用いて、論理検証を行う。すなわち、遅延時間の最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸを基に、半導体集積回路が正常に動作するか否かを検証する。
【００４２】
ステップＳ７１４では、記憶手段７１２内の配線遅延時間及びゲート遅延時間の値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを用いて、静的タイミング解析（ＳＴＡ）を行う。すなわち、図６の遅延時間のばらつき範囲６０１及び６０２を別々に考慮し、半導体集積回路のタイミング条件を満たすか否かを解析する。
【００４３】
上記の論理検証及び静的タイミング解析をパスしない場合は、レイアウト設計を変更し、上記の処理を繰り返す。上記の論理検証及び静的タイミング解析をパスすることにより、半導体集積回路の設計が終了する。
【００４４】
図８は、本実施形態による半導体集積回路設計（ＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ）設計）を行うためのコンピュータのハードウエア構成図である。バス８０１には、中央処理装置（ＣＰＵ）８０２、ＲＯＭ８０３、ＲＡＭ８０４、ネットワークインタフェース８０５、入力装置８０６、出力装置８０７及び外部記憶装置８０８が接続されている。
【００４５】
ＣＰＵ８０２は、データの処理及び演算を行うと共に、バス８０１を介して接続された上記の構成ユニットを制御するものである。ＲＯＭ８０３には、予めブートプログラムが記憶されており、このブートプログラムをＣＰＵ８０２が実行することにより、コンピュータが起動する。外部記憶装置８０８にコンピュータプログラムが記憶されており、そのコンピュータプログラムがＲＡＭ８０４にコピーされ、ＣＰＵ８０２により実行される。このコンピュータは、コンピュータプログラム（ＣＡＤソフトウエア）を実行することにより、集積回路の設計を行うことができる。具体的には、図７のように、容量値及び抵抗値を求め、それを基に遅延時間を求め、論理検証及び静的タイミング解析を行う。
【００４６】
外部記憶装置８０８は、例えばハードディスク記憶装置等であり、電源を切っても記憶内容が消えない。外部記憶装置８０８は、コンピュータプログラム、レイアウトデータ（設計データ）、表又は関数等を記録媒体に記録したり、記録媒体からコンピュータプログラム及びレイアウトデータ等を読み出すことができる。
【００４７】
ネットワークインタフェース８０５は、ネットワークに対してコンピュータプログラム及びレイアウトデータ等を入出力することができる。入力装置８０６は、例えばキーボード及びポインティングデバイス（マウス）等であり、各種指定又は入力等を行うことができる。出力装置８０７は、ディスプレイ及びプリンタ等である。
【００４８】
以上のように、配線の容量値と抵抗値のばらつきは配線等がレイアウトされた条件（隣接配線距離、層の厚さ、上下層の配線密度、配線幅等）によって異なる。配線の容量値と抵抗値のばらつきは配線がレイアウトされた条件に関わらず一定として最悪条件で見積もりを行うと、配線によっては過剰な容量値及び抵抗値のばらつきが考慮されることになる。
【００４９】
静的タイミング解析では、容量値及び抵抗値のばらつきを踏まえて、半導体チップが要求されるタイミング制約を満足するか否かを検証する。半導体チップがタイミング制約を満足しなかった場合、レイアウトを修正する必要がある。遅延時間に対して過剰なばらつきが含まれていると、半導体チップのタイミング制約を満足させることが難しくなり、半導体集積回路の設計期間が延びる。
【００５０】
すなわち、容量値及び抵抗値のばらつきがレイアウトデータに依存しないものとして、レイアウト条件毎に容量値と抵抗値の代表値ＴＹＰを求め、代表値ＴＹＰに対して一定係数をかけることにより最小値ＭＩＮ及び最大値ＭＡＸを求めると、過剰なばらつきが存在し、半導体集積回路の設計時間が長期化する。
【００５１】
本実施形態では、一の配線を含むレイアウトデータを入力（記憶）し、レイアウトデータを基に上記一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップ（手段）を有する。論理検証では、少なくとも遅延時間の最小値及び最大値について行えばよく、より好ましくは遅延時間の最小値、代表値及び最大値について行うのがよい。
【００５２】
なお、本実施形態は、以下の適用も可能である。
（１）出力ステップは、配線の層の２つ以上、上の層の配線密度のレイアウトデータを基に最小値及び最大値を出力する。
（２）出力ステップは、配線の層の２つ以上、下の層の配線密度のレイアウトデータを基に最小値及び最大値を出力する。
（３）出力ステップは、ダミー配線との間隔を予測したレイアウトデータを基に最小値及び最大値を出力する。配線密度がある領域で低い場合、配線の出来が変化し、歩留りが低下する。そのため、配線密度が低い領域にはどの配線とも繋がらないダミー配線をレイアウトする。
（４）出力ステップは、配線の層の下層のゲート酸化膜のレイアウトデータを基に最小値及び最大値を出力する。
（５）出力ステップは、配線の層の下層の活性領域を分けるためのフィールド酸化膜のレイアウトデータを基に最小値及び最大値を出力する。
（６）出力ステップは、配線の層の下層のウェルのレイアウトデータを基に最小値及び最大値を出力する。
（７）出力ステップは、配線の層の上層の層間絶縁膜のレイアウトデータを基に最小値及び最大値を出力する。
（８）出力ステップは、配線の層の上層の層間絶縁膜の形状のレイアウトデータを基に最小値及び最大値を出力する。層間絶縁膜の形状は、半導体チップの製造工程により異なる。例えば、銅配線では、ＣＭＰ（Ｃｈｅｍｉｃａｌ  Ｍｅｃｈａｎｉｃａｌ  Ｐｏｌｉｓｈｉｎｇ）工程を加えることで、層間絶縁膜を層毎で平らになるように処理する。ＣＭＰ工程を加えなければ、層間絶縁膜は平らにならずにでこぼこになる。
（９）出力ステップは、配線の層の幅のレイアウトデータを基に配線層間を結ぶビアの最小値及び最大値を出力する。配線間のビアの抵抗値等も、配線層中の配線の場合と同様の、配線幅に対する依存性を示す。
【００５３】
本実施形態では、配線及びその周囲のレイアウトデータを考慮し、配線の容量値及び抵抗値のばらつき値を求めるので、過剰なばらつきを排除することができる。過剰なばらつきを考慮する必要がなくなるので、半導体集積回路の設計期間を短縮することができる。
【００５４】
なお、上記では、配線の容量値と抵抗値について説明したが、配線のインダクタ等にも適用できる。正確な遅延時間を計算するには、配線の容量値、抵抗値及びインダクタンスを基に遅延時間を計算するのが好ましい。そこで、上記の容量値及び抵抗値と同様に、配線のインダクタンスの最小値ＭＩＮ、代表値ＴＹＰ、最大値ＭＡＸ、値値ＭＩＮ−ＭＩＮ、ＭＩＮ−ＭＡＸ、ＭＡＸ−ＭＩＮ、ＭＡＸ−ＭＡＸを求めることが好ましい。その後、配線の容量値、抵抗値及びインダクタンスを基に遅延時間を計算し、論理検証及び静的タイミング解析を行う。
【００５５】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５６】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５７】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
【００５８】
（付記１）一の配線を含むレイアウトデータを入力する入力ステップと、
前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップと
を有する半導体集積回路設計方法。
（付記２）前記出力ステップは、前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値、代表値及び最大値をばらつき統計の予測値として出力する付記１記載の半導体集積回路設計方法。
（付記３）前記出力ステップは、前記一の配線の容量値及び抵抗値の最小値をそれぞれ有する半導体チップにおいて同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び最大値を出力し、前記一の配線の容量値及び抵抗値の最大値をそれぞれ有する半導体チップにおいて同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記４）前記出力ステップは、表を用いて、前記レイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記５）前記出力ステップは、関数を用いて、前記レイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記６）前記出力ステップは、前記配線とその隣接配線との間隔のレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記７）前記出力ステップは、前記配線の層の厚さのレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記８）前記出力ステップは、前記配線の層の上の層の配線密度のレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記９）前記出力ステップは、前記配線の層の下の層の配線密度のレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記１０）前記出力ステップは、前記配線の幅のレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記１１）さらに、前記一の配線の長さに応じて、前記同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び／又は最大値を補正する補正ステップを有する付記３記載の半導体集積回路設計方法。
（付記１２）前記出力ステップは、前記レイアウトデータを基に前記一の配線の容量値、抵抗値及びインダクタンスの最小値及び最大値をばらつき統計の予測値として出力する付記１記載の半導体集積回路設計方法。
（付記１３）さらに、前記容量値及び抵抗値の最小値及び最大値を基に遅延時間の最小値及び最大値を演算する演算ステップを有する付記１記載の半導体集積回路設計方法。
（付記１４）さらに、前記遅延時間の最小値及び最大値を基に半導体集積回路の論理検証を行う検証ステップを有する付記１３記載の半導体集積回路設計方法。
（付記１５）さらに、前記遅延時間の最小値及び最大値を基に半導体集積回路の静的タイミング解析を行う解析ステップを有する付記１３記載の半導体集積回路設計方法。
（付記１６）前記出力ステップは、表を用いて、前記レイアウトデータを基に前記最小値、代表値及び最大値を出力する付記２記載の半導体集積回路設計方法。
（付記１７）前記出力ステップは、関数を用いて、前記レイアウトデータを基に前記最小値、代表値及び最大値を出力する付記２記載の半導体集積回路設計方法。
（付記１８）さらに、前記容量値及び抵抗値の最小値、代表値及び最大値を基に遅延時間の最小値、代表値及び最大値を演算する演算ステップを有する付記２記載の半導体集積回路設計方法。
（付記１９）さらに、前記遅延時間の最小値、代表値及び最大値を基に半導体集積回路の論理検証を行う検証ステップを有する付記１８記載の半導体集積回路設計方法。
（付記２０）さらに、前記同一半導体チップ内でばらつく前記一の配線の容量値及び抵抗値の最小値及び最大値を基に遅延時間の最小値及び最大値を演算する演算ステップを有する付記３記載の半導体集積回路設計方法。
（付記２１）さらに、前記遅延時間の最小値及び最大値を基に半導体集積回路の静的タイミング解析を行う解析ステップを有する付記２０記載の半導体集積回路設計方法。
（付記２２）前記出力ステップは、ダミー配線との間隔を予測したレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記２３）前記出力ステップは、前記配線の層の上層の層間絶縁膜の形状のレイアウトデータを基に前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記２４）前記出力ステップは、前記配線の層の幅のレイアウトデータを基に配線層間を結ぶビアの前記最小値及び最大値を出力する付記１記載の半導体集積回路設計方法。
（付記２５）一の配線を含むレイアウトデータを記憶する記憶手段と、
前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力手段と
を有する半導体集積回路設計装置。
（付記２６）一の配線を含むレイアウトデータを入力する入力ステップと、
前記レイアウトデータを基に前記一の配線の容量値及び抵抗値の最小値及び最大値をばらつき統計の予測値として出力する出力ステップと
をコンピュータに実行させるためのプログラム。
【００５９】
【発明の効果】
以上説明したように、配線及びその周囲のレイアウトデータを考慮し、配線の容量値及び抵抗値の最小値及び最大値を求めるので、過剰なばらつきがない最小値及び最大値を求めることができる。過剰なばらつきがなく、適正なばらつきの容量値及び抵抗値の最小値及び最大値を基に遅延時間を求め、論理検証及び／又はタイミング解析を行うことができるので、半導体集積回路の設計期間を短縮することができる。
【図面の簡単な説明】
【図１】遅延値、容量値及び抵抗値のねらい値からのずれとその存在確率を示す分布図である。
【図２】パラメータから抵抗値と容量値の代表値を求めるための表の一例を示す図である。
【図３】パラメータから抵抗値と容量値の最小値、代表値及び最大値を求めるための表の一例を示す図である。
【図４】パラメータから抵抗値と容量値の最小値、代表値及び最大値を求めるための関数の一例を示す図である。
【図５】隣接配線までの距離に依存して配線幅が変化する配線の一例を示す図である。
【図６】遅延値、容量値、抵抗値のねらい値からのずれとその存在確率を示す分布図である。
【図７】本発明の実施形態による半導体集積回路設計方法の処理手順を示すフローチャートである。
【図８】本実施形態による半導体集積回路設計を行うためのコンピュータのハードウエア構成図である。
【符号の説明】
５０１〜５０３  配線
８０１  バス
８０２  ＣＰＵ
８０３  ＲＯＭ
８０４  ＲＡＭ
８０５  ネットワークインタフェース
８０６  入力装置
８０７  出力装置
８０８  外部記憶装置
【図１】
2004258836.tif 000003
【図２】
2004258836.tif 000004
【図３】
2004258836.tif 000005
【図４】
2004258836.tif 000006
【図５】
2004258836.tif 000007
【図６】
2004258836.tif 000008
【図７】
2004258836.tif 000009
【図８】
2004258836.tif 000010