(57)【特許請求の範囲】
【請求項１】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出し、
前記容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、隣接する配線との間隔を広げることで、配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項２】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出し、
前記容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、上層配線層の配線を用いることで、配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項３】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出し、
前記容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、ルートドライバとなるセルをコピーして経路を分けることで、配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項４】
前記ネットにおける配線構造は、ローカル配線であることを特徴とする請求項１ないし請求項３のいずれかに記載の半導体集積回路装置の設計方法。
【請求項５】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線抵抗に対するゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節し、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、配線幅を広げることで、前記配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項６】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線抵抗に対するゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節し、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、バッファセルを挿入することで、前記配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項７】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計方法であって、
前記ソースから前記シンクに至るパスの配線抵抗に対するゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節し、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて、ルートドライバとなるセルをコピーして経路を分けることで、前記配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計方法。
【請求項８】
前記ネットにおける配線構造は、グローバル配線であることを特徴とする請求項５ないし請求項７のいずれかに記載の半導体集積回路装置の設計方法。
【請求項９】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計装置であって、
前記ソースから前記シンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出する機能と、
前記容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化する機能と、
前記ソースから前記シンクに至るパスの配線抵抗に対するゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出する機能と、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化する機能とを有し、
前記ネットにおける配線構造がローカル配線である場合に、全てのパスの容量成分に関するプロセスバラツキ感度を算出し、各パスの容量成分に関するプロセスバラツキ感度を最適化し、
前記ネットにおける配線構造がグローバル配線である場合に、全てのパスの抵抗成分に関するプロセスバラツキ感度を算出し、各パスの抵抗成分に関するプロセスバラツキ感度を最適化することを特徴とする半導体集積回路装置の設計装置。
【請求項１０】
前記容量成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、隣接する配線との間隔を広げることで、前記配線容量負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１１】
前記容量成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、上層配線層の配線を用いることで、前記配線容量負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１２】
前記容量成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、ルートドライバとなるセルをコピーして経路を分けることで、前記配線容量負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１３】
前記抵抗成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、配線幅を広げることで、前記配線抵抗負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１４】
前記抵抗成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、バッファセルを挿入することで、前記配線抵抗負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１５】
前記抵抗成分に関するプロセスバラツキ感度が前記基準値より高いパスについて、ルートドライバとなるセルをコピーして経路を分けることで、前記配線抵抗負荷を調節することを特徴とする請求項９に記載の半導体集積回路装置の設計装置。
【請求項１６】
同一ネット上のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまでのパスにおける伝播遅延を最適化する、半導体集積回路装置の設計プログラムであって、
前記ネットにおける配線長を求め、その配線構造を判定するステップと、
前記ネットにおける配線構造がローカル配線である場合に、前記ソースから前記シンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出するステップと、
前記容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化するステップと、
前記ネットにおける配線構造がグローバル配線である場合に、前記ソースから前記シンクに至るパスの配線抵抗に対するゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出するステップと、
前記抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、算出した全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化するステップとを有することを特徴とする半導体集積回路装置の設計プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータを用いた半導体集積回路装置の設計技術に係り、特に、ＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールを用いて半導体集積回路装置の設計を行う際に、プロセスバラツキを考慮した設計を行うための設計方法、設計装置、及び設計プログラムに関する。
【０００２】
【従来の技術】
半導体集積回路の設計では、回路の全ての信号経路（パス）のソースと呼ばれる信号入力端子からシンクと呼ばれる信号出力端子に至るまで、配線や素子を介して信号が伝播するのに要する時間（信号伝播遅延時間）が、要求される範囲内になるように制御しなければならない。
【０００３】
一方、半導体集積回路の微細化に伴い、製造時のプロセスバラツキが回路遅延特性に影響を与えるようになってきた。例えば、ゲートの遅延時間Ｔは、簡単には、オン抵抗Ｒｏｎと容量Ｃとの積Ｒｏｎ・Ｃで表現することができるが、プロセス段階でゲートポリ長Ｗやチャネル長Ｌに微妙な寸法変化が生じると、セルのパフォーマンスに影響を及ぼす。
【０００４】
従来の設計では、このようなプロセスバラツキの影響に関しては、例えば、ゲートポリ長Ｗに関するプロセスバラツキを１つのパラメータＫｐで代表して、設計時にゲート遅延時間Ｔに掛けることで考慮していた。この際にパラメータＫｐ値は、経験的な値に基づいたワーストの条件で設定されている。
【０００５】
【発明が解決しようとする課題】
ところが、従来は、例えばゲート長Ｗのバラツキに対してゲート長Ｗの値が比較的大きかったため、上記のようなパラメータＫｐを掛けることでプロセスバラツキの影響を許容することができたが、回路の微細化、高速化に伴って、プロセスバラツキの影響を許容する余裕がなくなってきている。
【０００６】
また、半導体プロセスの微細化に伴い、回路遅延特性の中で配線遅延が占める割合が大きくなるにつれ、配線層に関するプロセスバラツキの影響が無視できなくなってきた。これは、パス遅延全体の中で、配線に起因する遅延が、セルの内部遅延を上回って、全体の大半を占めるまでになったことによる。
【０００７】
従って、プロセスバラツキによる配線容量Ｃや配線抵抗Ｒの変動の影響を、設計段階でも考慮する必要が生じてきたが、現状ではそのような設計手法や技術的指針は存在しない。
【０００８】
本発明はこのような問題を鑑みてなされたものであって、プロセスバラツキによって生じる伝播遅延変動の影響を抑制することができる、半導体集積回路装置の設計方法、設計装置、及び設計プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明の第１の特徴は、同一ネット上の信号入力端子（ソース）から信号出力端子（シンク）に至るまでのパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、対象とするソースからシンクに至るパスの容量成分に関するプロセスバラツキ感度として算出し、容量成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線容量負荷を調節して、当該パスの容量成分に関するプロセスバラツキ感度を低減し、全てのパスの容量成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの容量成分に関するプロセスバラツキ感度を最適化することを特徴とする。
【００１０】
この配線容量負荷を調節するために、（１）隣接する配線との間隔を広げる、（２）上層配線層の配線を用いる、（３）ルートドライバとなるセルをコピーして経路を分けることを特徴とする。
【００１１】
第１の特徴によれば、ソースからシンクに至る全てのパスにおける、容量成分に関するプロセスバラツキ感度を同程度とすることができ、ゲートや配線のプロセスバラツキによらず、各パスの伝播遅延変動を所定の範囲内にすることができる。特に、伝播遅延に対して容量負荷変動が支配的であるローカル配線では、容量成分に関するプロセスバラツキ感度を揃えることで、プロセスバラツキによる伝播遅延への影響を抑制することができる。
【００１２】
また、本発明の第２の特徴は、同一ネット上の信号入力端子（ソース）から信号出力端子（シンク）に至るまでのパスの配線抵抗に対する、ゲート抵抗の比率を、対象とするソースからシンクに至るパスの抵抗成分に関するプロセスバラツキ感度として算出し、抵抗成分に関するプロセスバラツキ感度が所定の基準値より高いパスについて配線抵抗負荷を調節して、当該パスの抵抗成分に関するプロセスバラツキ感度を低減し、全てのパスの抵抗成分に関するプロセスバラツキ感度が所定の基準値以下になるように、各パスの抵抗成分に関するプロセスバラツキ感度を最適化することを特徴とする。
【００１３】
この配線抵抗負荷を調節するために、（１）配線幅を広げる、（２）バッファセルを挿入する、（３）ルートドライバとなるセルをコピーして経路を分けることを特徴とする。
【００１４】
第２の特徴によれば、ソースからシンクに至る全てのパスにおける、抵抗成分に関するプロセスバラツキ感度を同程度とすることができ、ゲートや配線のプロセスバラツキによらず、各パスの伝播遅延変動を所定の範囲内にすることができる。特に、伝播遅延に対して配線抵抗成分の変動が支配的であるグローバル配線では、抵抗成分に関するプロセスバラツキ感度を揃えることで、プロセスバラツキによる伝播遅延への影響を抑制することができる。
【００１５】
ここで、「ネット」とは論理セルの端子間の接続情報であり、共通の配線で接続されるべき一組の端子とその配線とは同一のネットに属する。
【００１６】
「パス」とは始点と終点との間の経路をいい、論理回路における始点は信号入力端子（ソース）であり、終点は信号出力端子（シンク）である。尚、同一の信号入力端子と同一の信号出力端子であっても、その間を通る経路が異なれば、異なるパスを形成する。
【００１７】
また、「ローカル配線」とは配線長が例えば１ｍｍ未満の短い配線をいい、「グローバル配線」とは配線長が例えば１ｍｍ以上の長い配線をいう。ローカル配線においては容量負荷変動による遅延時間への影響が大きく、グローバル配線においては配線抵抗成分の変動による遅延時間への影響が大きい。
【００１８】
また、「上層配線層」とは、基板に近い「下層配線層」に対して、基板から遠い配線層をいい、例えば、５層からなるメタル層において、基板から数えて３層目以上の配線層をいう。
【００１９】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施形態について説明する。
【００２０】
〔プロセスバラツキ感度の定義〕
図１は、分岐のない２端子ネットにインバータを直列に配置した例であり、配線１０に関するプロセスバラツキとゲート入力容量負荷に関するプロセスバラツキを例示している。図中、前段のゲート１１はドライバセルであり、後段のゲート１２は駆動されるセルである。配線負荷容量Ｃｗｉｒｅで示した部分と、ゲート入力容量Ｃｌｏａｄで示した部分とが、それぞれ異なるプロセスバラツキを持つものと想定する。
【００２１】
まず、Ｅｌｍｏｒｅの遅延計算手法によれば、配線負荷容量Ｃｗｉｒｅとゲート入力容量Ｃｌｏａｄのプロセスバラツキによる変動ΔＣｗｉｒｅ，ΔＣｌｏａｄを考慮した遅延Ｄｅｌａｙは、次式により表される。尚、Ｒｇはゲート抵抗、Ｒｗｉｒｅは配線抵抗、Ｌｗｉｒｅは配線長である。
【００２２】
【数１】
0003615191.tif 000002
上記式（１）において、２次の変動項を無視すれば、遅延の変動ΔＤｅｌａｙは次式により表される。
【００２３】
【数２】
0003615191.tif 000003
ここで、全体のバラツキによる変動を配線ΔｗｉｒｅとゲートΔｇとに分解すると、次式により式により表される。
【００２４】
【数３】
0003615191.tif 000004
【数４】
0003615191.tif 000005
ここで、ローカル配線に関しては容量負荷変動ΔＣｗｉｒｅ，ΔＣｌｏａｄによる遅延時間への影響が大きく、配線抵抗成分ΔＲｗｉｒｅ，ΔＲｌｏａｄの変動による影響は少ないので、ローカル配線におけるプロセスバラツキによる変動Δｗｉｒｅ，Δｇは次式により表すことができる。
【００２５】
【数５】
0003615191.tif 000006
【数６】
0003615191.tif 000007
従って、ローカル配線におけるゲート遅延に対する配線遅延のプロセスバラツキ感度を、ソースからシンクに至るパスの配線容量Ｃｗｉｒｅに対するゲート入力負荷容量Ｃｌｏａｄの総和の比率を容量成分に関するプロセスバラツキ感度として、次式の通り定義する。
【００２６】
【数７】
0003615191.tif 000008
一方、グローバル配線に関しては配線抵抗成分ΔＲｗｉｒｅ，ΔＲｌｏａｄによる遅延時間への影響が大きく、容量負荷変動ΔＣｗｉｒｅ，ΔＣｌｏａｄの変動による影響は少ないので、グローバル配線におけるプロセスバラツキによる変動Δｗｉｒｅ，Δｇは次式により表すことができる。
【００２７】
【数８】
0003615191.tif 000009
【数９】
0003615191.tif 000010
従って、グローバル配線におけるゲート遅延に対する配線遅延のプロセスバラツキ感度を、ソースからシンクに至るパスの配線抵抗Ｒｗｉｒｅに対するゲート抵抗Ｒｇの比率を抵抗成分に関するプロセスバラツキ感度として、次式の通り定義する。
【００２８】
【数１０】
0003615191.tif 000011
尚、一般には、配線は２つ以上のファンアウト（Ｆａｎｏｕｔ）を持つケースが多い。その場合、上記のプロセスバラツキ感度の定義は、以降に示す例のように、Ｅｌｍｏｒｅの遅延時間算出のモデルを、直接ソースからシンクに繋がるパスで特性を近似することに相当する。
【００２９】
〔第１の実施の形態〕
第１の実施の形態では、ソースからシンクに至るパスの配線容量に対する、ゲート入力負荷容量の総和の比率を、パスの容量成分に関するプロセスバラツキ感度として算出し、算出した全てのパスの容量成分に関するプロセスバラツキ感度を揃えることで、遅延の最適化を行う実施例について、詳細に説明する。
【００３０】
図２は、ソース０（ドライバセル１５）からシンク１〜３（駆動されるセル１６〜１８）に至る信号経路（パス０−１，０−２，０−３）を有する回路を例示した図である。各パス０−１，０−２，０−３における、容量成分に関するプロセスバラツキ感度の算出例を次式に示す。尚、Ｃｗｉｒｅは配線負荷容量、Ｃｌｏａｄｉ（ｉ＝１，２，３）は駆動されるセル１６〜１８の入力容量、ｌｊ（ｊ＝１，２，３，・・・６）は配線長（マンハッタン長）である。
【００３１】
【数１１】
0003615191.tif 000012
図３（ａ）は、ソース０（ドライバセル１５）からシンク１〜２（駆動されるセル１６〜１７）に至る信号経路（パス０−１，０−２）を有する回路を例示した図である。ここで、パス０−２が遅延の大きい（タイミング・クリティカルである）パスであるとする。各パス０−１，０−２における、容量成分に関するプロセスバラツキ感度の算出例を次式に示す。
【００３２】
【数１２】
0003615191.tif 000013
図３（ｂ）は、クリティカルパス０−２に関して、バッファ２５を挿入して遅延を改善した例を示している。改善後の各パス０−１，０−２における、容量成分に関するプロセスバラツキ感度の算出例を次式に示す。
【００３３】
【数１３】
0003615191.tif 000014
図４は、図３に示した例に実際に数値を入れて算出した例を示している。図４（ａ）における、各パス０−１，０−２の容量成分に関するプロセスバラツキ感度の算出結果を次式に示す。
【００３４】
【数１４】
0003615191.tif 000015
それに対して、図４（ｂ）は、クリティカルパス０−２’に関して、バッファ２５及びバッファ２６を挿入し、配線長をｌ４’とｌ４’’とにすることで、遅延を改善した例を示している。
【００３５】
更に、パス０−１とパス０−２’との分岐点以降、パス０−２’の配線ピッチを広く取ることで、パス０−２’の容量成分に関するプロセスバラツキ感度を、パス０−１の感度に近づける。同図（ｃ）は、配線ピッチＳを広げる前の当該パスの配線２１と隣接する配線２２ａ，２２ｂを例示しており、同図（ｄ）は配線ピッチＳを配線格子（グリッド２３ａ，２３ｂ）ひとつ分広げた後の配線構造を例示している。ここで、配線容量成分を、対基板”４”に対して隣接成分を”６”とし、従って、パス０−１とパス０−２’との分岐点以降の、パス０−２’の配線負荷容量Ｃｗｉｒｅは１７０ｆＦ／ｍｍから６８ｆＦ／ｍｍに削減されるものとモデル化する。
【００３６】
以上のように、パス０−２’の容量成分に関するプロセスバラツキ感度を、パス０−１の感度に近づけるように改善した後の、容量成分に関するプロセスバラツキ感度の算出結果を次式に示す。パス０−２’の容量成分に関するプロセスバラツキ感度がパス０−１の感度に近づいていることが分かる。
【００３７】
【数１５】
0003615191.tif 000016
図５（ａ）は、図４（ｂ）に示した例に対して、ドライバセル１５をコピーしたドライバセル２７を隣接配置することで、パス０−２’の容量成分に関するプロセスバラツキ感度を更に低減し、パス０−１の感度に近づけるように改善する例を示している。
【００３８】
また、更に、パス０−２’の配線全体（ｌ０’〜ｌ３〜ｌ４’〜ｌ４’’）について、配線ピッチを広く取ることで、パス０−２’の容量成分に関するプロセスバラツキ感度を、パス０−１の感度に近づける。図５（ｂ）〜（ｃ）は、図４（ｃ）〜（ｄ）に示した例と同様に、配線ピッチＳを広げる前と、配線ピッチＳをグリッド２３ａ，２３ｂひとつ分広げた後の配線構造を例示している。
【００３９】
以上のように、パス０−２’の容量成分に関するプロセスバラツキ感度を、パス０−１の感度に近づけるように改善した後の、容量成分に関するプロセスバラツキ感度の算出結果を次式に示す。パス０−２’の容量成分に関するプロセスバラツキ感度が、パス０−１の感度に更にいっそう近づいていることが分かる。
【００４０】
【数１６】
0003615191.tif 000017
図６は、クロックツリーシンセシス（ＣＴＳ：Ｃｌｏｃｋ  Ｔｒｅｅ  Ｓｙｎｔｈｅｓｉｓ）にて作成されたバッファツリーの例を示しており、グローバル配線３０とローカル配線３１の範囲を例示している。
【００４１】
図示した例では、始点となるルートドライバ１５から、末端のメモリ１６、フリップフロップ１７、マクロセル１８などの間に、クロックサブドライバと呼ばれるバッファセル４１〜４６を階層的に挿入している。これにより、各パス０ｉの負荷容量に応じて負荷バランスが取られ、クロックのタイミングのずれ（クロックスキュー）を削減することができる。
【００４２】
この際、ツリー状に分解された全てのルートドライバ１５（ソース）から末端のシンクまでの経路における、プロセスバラツキ感度の上流からの和を一定の範囲内に抑えることにより、ソースからシンクに至るパスにおける、プロセスバラツキによる遅延変動を最小化することができる。
【００４３】
〔第２の実施の形態〕
第２の実施の形態では、ソースからシンクに至るパスの配線抵抗に対する、ゲート抵抗の比率を、パスの抵抗成分に関するプロセスバラツキ感度として算出し、算出した全てのパスの抵抗成分に関するプロセスバラツキ抵抗を揃えることで、遅延の最適化を行う実施例について、詳細に説明する。尚、図中、第１の実施の形態と同一箇所には同一の符号を附し、詳細な説明を省略する。
【００４４】
図７は、ソース０（ドライバセル１５）からシンク１〜３（駆動されるセル１６〜１８）に至る信号経路（パス０−１，０−２，０−３）を有する回路を例示した図である。各パス０−１，０−２，０−３における、抵抗成分に関するプロセスバラツキ感度の算出例を次式に示す。尚、Ｒｗｉｒｅは配線抵抗、Ｒｇはゲート抵抗、ｌｊ（ｊ＝１，２，３，・・・６）は配線長である。
【００４５】
【数１７】
0003615191.tif 000018
図８は、実際に数値を入れて算出した例を示している。図４（ａ）における、各パス０−１，０−２の抵抗成分に関するプロセスバラツキ感度の算出結果を次式に示す。
【００４６】
【数１８】
0003615191.tif 000019
これに対して、図８（ｂ）は、クリティカルパス０−２’に関して、バッファ２５及びバッファ２６を挿入することで、遅延を改善した例を示している。
【００４７】
更に、パス０−１とパス０−２’との分岐点以降、パス０−２’の配線幅Ｗを広くすることで、パス０−２’の抵抗成分に関するプロセスバラツキ感度を、パス０−１の感度に近づける。同図（ｃ）は、配線幅Ｗを広げる前の当該パスの配線２１と隣接する配線２２ａ，２２ｂを例示しており、同図（ｄ）は当該パスの配線２１の配線幅Ｗを２倍に広げた後の配線構造を例示している。
【００４８】
以上のように、パス０−２’の抵抗成分に関するプロセスバラツキ感度を、パス０−１の感度に近づけるように改善した後の、抵抗成分に関するプロセスバラツキ感度の算出結果を次式に示す。パス０−２’の抵抗成分に関するプロセスバラツキ感度がパス０−１の感度に近づいていることが分かる。
【００４９】
【数１９】
0003615191.tif 000020
図９（ａ）は、図８（ｂ）に示した例に対して、ドライバセル１５をコピーしたドライバセル２７を隣接配置することで、パス０−２’の抵抗成分に関するプロセスバラツキ感度を更に低減する例を示している。
【００５０】
また、更に、パス０−２’の配線全体（ｌ０’〜ｌ３〜ｌ４’〜ｌ４’’）について、配線ピッチを広く取ることで、パス０−２’の抵抗成分に関するプロセスバラツキ感度を、パス０−１の感度に近づける。図９（ｂ）〜（ｃ）は、図８（ｃ）〜（ｄ）に示した例と同様に、配線幅Ｗを広げる前／後の配線構造を例示している。
【００５１】
パス０−２’の抵抗成分に関するプロセスバラツキ感度を、パス０−１の感度に近づけるように改善した後の、抵抗成分に関するプロセスバラツキ感度の算出結果を次式に示す。パス０−２’の抵抗成分に関するプロセスバラツキ感度が、パス０−１の感度に、更にいっそう近づいていることが分かる。
【００５２】
【数２０】
0003615191.tif 000021
〔第３の実施の形態〕
次に、第１〜２の実施形態にて説明した、半導体回路装置の設計方法を適用した回路設計装置の実施の形態について説明する。
【００５３】
図１３は本実施形態に係る半導体回路装置の設計装置の概略構成を例示する図である。この設計装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）部７０、入力部８０、出力部８５、記憶部９０、表示部９５などから構成されている。
【００５４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）部７０は、算術演算部７３と主記憶７２とからなる処理部７１ａ，７１ｂ・・・を複数有する、マルチプロセッサを備えている。入力部８０は、カートリッジテープ（ＣＭＴ）やフロッピーディスク装置（ＦＤ）などの磁気的あるいは光学的記録媒体用の入力装置８１、キーボード８２やポインティングデバイス８３などから構成される。記憶部９０はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）９３、出力部８５はプリンタ装置８６、表示部９５はディスプレイ装置等で構成される。
【００５５】
本半導体回路装置は、図１０に例示するフローチャートの処理手順を記載した、半導体回路装置の設計プログラムを入力部８０から入力し、記憶部９０にインストールすることができる。そして、本半導体回路装置のＣＰＵ部７０は、インストールされた設計プログラムに記載されている処理手順に従って、半導体回路装置の設計に関する一連の処理動作を行う。
【００５６】
また、本半導体回路装置が半導体回路装置の設計処理を行う際には、ゲートレベルのネットリストや各種ライブラリ情報等を入力部８０から入力する。ライブラリ情報は、セルやピンの大きさ／形状／配線層などを定義した幾何学的なライブラリ、ピンの容量や配線のシート抵抗・容量といったテクノロジーのライブラリ、各論理セルのゲートのオン抵抗や入出力等を記述したパフォーマンス・ライブラリなどである。
【００５７】
図１０は、本実施形態に係る半導体回路装置の設計方法に関する処理手順を例示するフローチャートである。
【００５８】
はじめに、容量成分／配線抵抗に関するプロセスバラツキ感度の分散の基準値を設定する（Ｓｔｅｐ０１）。
【００５９】
次に、設計の対象となる全てのネットについて処理をしたかどうか判定し、処理済みの場合には処理を終了する（Ｓｔｅｐ０２）。
【００６０】
次に、対象となるネットの配線長を調べ（Ｓｔｅｐ０３）、対象となるネットの配線がグローバル配線かローカル配線かを判定する（Ｓｔｅｐ０４）。ローカル配線は配線長が例えば１ｍｍ未満の短い配線であり、グローバル配線は配線長が例えば１ｍｍ以上の長い配線である。図１１に示しような半導体チップ５０を例にすると、クロックルートドライバ５１からクロックサブドライバ５８に至る間はグローバル配線であり、クロックサブドライバ５８から末端のフリップフロップ５３に至る間はローカル配線である。
【００６１】
Ｓｔｅｐ０４の判定の結果、グローバル配線である場合には、配線抵抗成分の変動による遅延時間への影響が大きいため、当該ネットの全てのパスについて抵抗成分に関するプロセスバラツキ感度を求める（Ｓｔｅｐ１１）。
【００６２】
ｚ  次に、求めた抵抗成分に関するプロセスバラツキ感度の平均と分散を求める（Ｓｔｅｐ１２）。
【００６３】
そして、求めたプロセスバラツキ感度の分散が、予めＳｔｅｐ０１にて設定した基準値を超えるかどうか判定し、基準値を超えていなければ、Ｓｔｅｐ０２へ戻って次のネットの処理を行う（Ｓｔｅｐ１３）。
【００６４】
逆に、プロセスバラツキ感度の分散が基準値を超えている場合には、次に、基準値を超えるプロセスバラツキ感度を持つパスに関して、平均から遠いパスから順に選択する（Ｓｔｅｐ１４）。
【００６５】
そして、選択したパスについて、抵抗成分に関するプロセスバラツキ感度の最適化を行う。この最適化処理には、以下の各ステップが含まれ、選択的に適宜実行される（Ｓｔｅｐ１５）。
【００６６】
（１）抵抗成分に関するプロセスバラツキ感度を小さくするために、対象となる信号経路にバッファセルを挿入する（Ｓｔｅｐ１６）。
【００６７】
（２）抵抗成分に関するプロセスバラツキ感度を小さくするために、対象経路の配線幅を太くする（Ｓｔｅｐ１７）。
【００６８】
（３）抵抗成分に関するプロセスバラツキ感度を小さくするために、ルートドライバをコピーして、信号経路を分ける（Ｓｔｅｐ１８）。
【００６９】
選択したパスについて、以上の抵抗成分に関するプロセスバラツキ感度の最適化を行った後、再びＳｔｅｐ１３へ戻る。つまり、抵抗成分に関するプロセスバラツキ感度の分散が基準値を下回るまで、Ｓｔｅｐ１３〜Ｓｔｅｐ１８の処理を繰り返す。
【００７０】
一方、Ｓｔｅｐ０４の判定の結果、ローカル配線である場合には、容量負荷変動による遅延時間への影響が大きいため、当該ネットの全てのパスについて容量成分に関するプロセスバラツキ感度を求める（Ｓｔｅｐ２１）。
【００７１】
次に、求めた容量成分に関するプロセスバラツキ感度の平均と分散を求める（Ｓｔｅｐ２２）。
【００７２】
そして、求めた容量成分に関するプロセスバラツキ感度の分散が、予めＳｔｅｐ０１にて設定した基準値を超えるかどうか判定し、基準値を超えていなければ、Ｓｔｅｐ０２へ戻って次のネットの処理を行う（Ｓｔｅｐ２３）。
【００７３】
逆に、容量成分に関するプロセスバラツキ感度の分散が基準値を超えている場合には、次に、基準値を超えるプロセスバラツキ感度を持つパスに関して、平均から遠いパスから順に選択する（Ｓｔｅｐ２４）。
【００７４】
そして、選択したパスについて、容量成分に関するプロセスバラツキ感度の最適化を行う。このの最適化処理には、以下の各ステップが含まれ、選択的に適宜実行される（Ｓｔｅｐ２５）。
【００７５】
（１）容量成分に関するプロセスバラツキ感度を小さくするために、対象となる信号経路に隣接配線間隔を広くする（Ｓｔｅｐ２６）。
【００７６】
（２）容量成分に関するプロセスバラツキ感度を小さくするために、対象経路に上層の配線層を用いる（Ｓｔｅｐ２７）。ここで、「上層配線層」とは、図１２に例示する５層構造の配線層の場合、基板２０に近い第１層６１や第２層６２などの「下層配線層」に対して、基板から遠い第３層６３〜第５層６５の配線層である。一般に、基板２０から遠い上層の配線層ほど対基板容量が小さくなるため、下層配線層に比べて配線容量自体を小さくすることができる。従って、上層配線層を用いることで、容量成分に関するプロセスバラツキ感度を小さくすることができる。
【００７７】
（３）容量成分に関するプロセスバラツキ感度を小さくするために、ルートドライバをコピーして、信号経路を分ける（Ｓｔｅｐ２８）。
【００７８】
選択したパスについて、以上の容量成分に関するプロセスバラツキ感度の最適化を行った後、再びＳｔｅｐ１３へ戻る。つまり、容量成分に関するプロセスバラツキ感度の分散が基準値を下回るまで、Ｓｔｅｐ１３〜Ｓｔｅｐ１８の処理を繰り返す。
【００７９】
以上の処理を、対象となる全てのネットに関して行うことで、容量成分／配線抵抗に関するプロセスバラツキ感度をネット毎に所定の基準値内に揃えることができ、因ってプロセスバラツキによって生じる伝播遅延変動の影響を抑制することができる半導体回路装置の設計が可能となる。
【００８０】
以上、本発明について、詳細に説明したが、本発明は本実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更を成し得るであろう。
【００８１】
従って、本発明はこの開示から妥当な特許請求の範囲に係わる発明特定事項によってのみ限定されるものでなければならない。
【００８２】
【発明の効果】
本発明の第１の特徴によれば、ソースからシンクに至る全てのパスにおける、容量成分に関するプロセスバラツキ感度を同程度とすることができ、ゲートや配線のプロセスバラツキによらず、各パスの伝播遅延変動を所定の範囲内にすることができる。特に、伝播遅延に対して容量負荷変動が支配的であるローカル配線では、容量成分に関するプロセスバラツキ感度を揃えることで、プロセスバラツキによる伝播遅延への影響を抑制することができる。
【００８３】
また、第２の特徴によれば、ソースからシンクに至る全てのパスにおける、抵抗成分に関するプロセスバラツキ感度を同程度とすることができ、ゲートや配線のプロセスバラツキによらず、各パスの伝播遅延変動を所定の範囲内にすることができる。特に、伝播遅延に対して配線抵抗成分の変動が支配的であるグローバル配線では、抵抗成分に関するプロセスバラツキ感度を揃えることで、プロセスバラツキによる伝播遅延への影響を抑制することができる。
【００８４】
従って、プロセスバラツキによって生じる伝播遅延変動の影響を抑制することができる、半導体集積回路装置の設計方法、設計装置、及び設計プログラムを提供することができる。
【図面の簡単な説明】
【図１】容量成分に関するプロセスバラツキ感度の定義例を説明するための、２端子ネットにインバータを直列に配置した回路を例示した図である。
【図２】容量成分に関するプロセスバラツキ感度の定義例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。
【図３】容量成分に関するプロセスバラツキ感度の算出例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図であり、（ａ）は遅延改善前の回路、（ｂ）はバッファ挿入による遅延改善を施した回路を例示している。
【図４】容量成分に関するプロセスバラツキ感度の算出例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。（ａ）は遅延改善前の回路に数値を設定し、（ｂ）はバッファ挿入による遅延改善を施した回路に数値を設定した例を示している。（ｃ）は配線ピッチの拡大前の例、（ｄ）は配線ピッチの拡大を行うことでプロセスバラツキ感度の最適化を施した例を示している。
【図５】容量成分に関するプロセスバラツキ感度の算出例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。（ａ）はドライバセルをコピーして経路を分けることでプロセスバラツキ感度の最適化を施した回路の例を示している。（ｂ）は配線ピッチの拡大前の例、（ｃ）は配線ピッチの拡大を行うことでプロセスバラツキ感度の最適化を施した例を示している。
【図６】クロックツリーシンセシス（ＣＴＳ）にて作成されたバッファツリーの例を示した図である。
【図７】抵抗成分に関するプロセスバラツキ感度の定義例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。
【図８】抵抗成分に関するプロセスバラツキ感度の算出例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。（ａ）は遅延改善前の回路に数値を設定し、（ｂ）はバッファ挿入による遅延改善を施した回路に数値を設定した例を示している。（ｃ）は配線幅の拡大前の例、（ｄ）は配線幅の拡大を行うことでプロセスバラツキ感度の最適化を施した例を示している。
【図９】抵抗成分に関するプロセスバラツキ感度の算出例を説明するための、ソースからシンクに至る信号経路を有する回路を例示した図である。（ａ）はドライバセルをコピーして経路を分けることでプロセスバラツキ感度の最適化を施した回路の例を示している。（ｂ）は配線幅の拡大前の例、（ｃ）は配線幅の拡大を行うことでプロセスバラツキ感度の最適化を施した例を示している。
【図１０】本実施形態に係る半導体回路装置の設計処理について、その処理手順を例示するフローチャートである。
【図１１】グローバル配線とローカル配線について説明するための説明図である。
【図１２】上層配線層と下層配線層について説明するための説明図である。
【図１３】本実施形態に係る半導体回路装置の設計装置について、その構成を例示する概略構成図である。
【符号の説明】
１０．．．．経路、
１１，１５．．．．ドライバセル、
１２，１６，１７，１８．．．．駆動されるセル、
２０．．．．基板、
２１．．．．配線、
２２ａ，２２ｂ．．．．隣接する配線、
２３ａ，２３ｂ．．．．配線格子（グリッド）、
２５，２６．．．．バッファセル、
３０．．．．グローバル配線、
３１．．．．ローカル配線、
４１〜４６．．．．バッファセル（クロックサブドライバ）、
５０．．．．半導体チップ、
５１．．．．  クロックルートドライバ、
５２．．．．  クロックサブドライバ、
５３．．．．  フリップフロップ、
５４．．．．グローバル配線、
５５．．．．ローカル配線、
６１．．．．第１層、
６２．．．．第２層、
６３．．．．第３層、
６４．．．．第４層、
６５．．．．第５層、
７０．．．．ＣＰＵ部、
７１ａ，７１ｂ．．．．処理部、
７２．．．．主記憶、
７３．．．．算術演算部、
８０．．．．入力部、
８１．．．．入力装置、
８２．．．．キーボード、
８３．．．．ポインティングデバイス、
８５．．．．出力部、
８６．．．．プリンタ装置、
９０．．．．記憶部、
９１．．．．ＲＯＭ、
９２．．．．ＲＡＭ、
９３．．．．ＨＤＤ、
９５．．．．表示部
【図１】
0003615191.tif 000022
【図２】
0003615191.tif 000023
【図３】
0003615191.tif 000024
【図４】
0003615191.tif 000025
【図５】
0003615191.tif 000026
【図６】
0003615191.tif 000027
【図７】
0003615191.tif 000028
【図８】
0003615191.tif 000029
【図９】
0003615191.tif 000030
【図１０】
0003615191.tif 000031
【図１１】
0003615191.tif 000032
【図１２】
0003615191.tif 000033
【図１３】
0003615191.tif 000034