(57)【要約】【課題】各論理セルの周波数特性に応じたキャパシタが配置されず、電源ノイズ耐性の高い半導体装置を設計することは困難であること。【解決手段】半導体装置内に配置される論理セル毎に、論理セルの周辺部に配置するキャパシタの周波数特性を論理セルの負荷容量値に基づいて決定するセル割り当て部と、論理セル毎に決定した周波数特性のキャパシタを配置する領域を論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、部分領域毎に部分領域に配置するキャパシタの周波数特性を決定する配置領域決定部と、配置領域決定部による決定の結果に基づいて、領域および部分領域の空き部分にそれに応じた周波数特性を有するキャパシタを配置するキャパシタ配置実行部と、を備える。【選択図】図１
2019070901.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置であって、
前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定するセル割り当て部と、
前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定する配置領域決定部と、
前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と、を備える、
半導体装置の設計支援装置。
【請求項２】
前記領域は矩形である、
請求項１に記載の半導体装置の設計支援装置。
【請求項３】
前記配置領域決定部は、前記重複領域が非矩形であれば、前記分割前に前記重複領域を複数の矩形の重複領域に分割する、
請求項２に記載の半導体装置の設計支援装置。
【請求項４】
前記配置領域決定部は、前記重複領域の一辺の長さが前記領域の一辺の長さより長ければ、前記分割前に前記重複領域を複数の矩形の重複領域に分割する、
請求項２に記載の半導体装置の設計支援装置。
【請求項５】
前記配置領域決定部は、２以上連続する前記重複領域のそれぞれを２分割した結果、前記部分領域が一方向に３つ以上並ぶ場合、前記部分領域の並び順に複数の異なるキャパシタの周波数特性を交互に割り当てる、
請求項１乃至４の何れかに記載の半導体装置の設計支援装置。
【請求項６】
前記配置領域決定部は、前記重複領域を２つの部分領域に分割した場合、分割前の前記重複領域の相対する２辺が周波数特性の互いに異なるキャパシタを配置する２つの前記領域である第１の領域と第２の領域に接しているとき、前記第１の領域に接している前記部分領域に配置するキャパシタの周波数特性を前記第１の領域に配置するキャパシタの周波数特性と同じにし、前記第２の領域に接している前記部分領域に配置するキャパシタの周波数特性を前記第２の領域に配置するキャパシタの周波数特性と同じにする、
請求項１乃至４の何れかに記載の半導体装置の設計支援装置。
【請求項７】
セル割り当て部と配置領域決定部とキャパシタ配置実行部とを有し、半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置が実行するキャパシタ配置方法であって、
前記セル割り当て部が、前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定し、
前記配置領域決定部が、前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定し、
前記キャパシタ配置実行部が、前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置する、
キャパシタ配置方法。
【請求項８】
半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置を構成するコンピュータを、
前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定するセル割り当て部と、
前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定する配置領域決定部と、
前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と、して機能させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計支援装置、キャパシタ配置方法、およびプログラムに関する。
【背景技術】
【０００２】
微細プロセスで高速動作するＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ）の設計を行う場合、オンチップデカップリングキャパシタ（以下、デカップリングキャパシタセル、デカップリングキャパシタ、またはキャパシタとも称す）を電源ラインに配置する技術が知られている。オンチップデカップリングキャパシタは、キャパシタが持つ充放電機能を利用し、ＬＳＩの電源端子を結ぶ配線である電源ラインに発生するノイズ（ＩＲドロップ）を吸収するために、電源ラインに配置されるキャパシタである。
【０００３】
この種のキャパシタの配置方法としては、例えば、特許文献１に記載されているものがある。特許文献１に記載されたキャパシタ配置方法では、先ず、予めデカップリングキャパシタとして高周波用と低周波用の２種類を準備しておく。次に、ＬＳＩの配置配線情報から各論理セルの信号立ち上がり時間（信号が０レベルから１レベルに動くまでの時間）を計算し、信号波形の立ち上がり時間が一定値より早いものを高周波帯域の論理セル、遅いものを低周波帯域の論理セルに分類する。次に、高周波帯域の論理セルの位置に基づいた領域を設定し、その設定した領域の空き部分に高周波用のキャパシタを配置する。次に、上記設定した領域以外の領域の空き部分に、低周波用のキャパシタを配置する。
【０００４】
特許文献１に記載されたキャパシタ配置方法の具体例を図１、図２−１〜図２−５を用いて説明する。
【０００５】
図１はデカップリングキャパシタセルの物理情報を示している。図１において、ＤＨ１、ＤＨ２、ＤＨ４は高周波用のデカップリングキャパシタ、ＤＬ２、ＤＬ４は低周波用のデカップリングキャパシタを示している。図２−１はデカップリングキャパシタセル配置前のＬＳＩ上の論理セルのレイアウト図を示す。図２−１において、論理セルＢ、Ｃが高周波帯域の論理セル、他の論理セルＡ、Ｄ〜Ｇが低周波帯域の論理セルである。キャパシタを配置する場合、まず高周波帯域の論理セルＢ、セルＣのそれぞれを中心とした縦横の長さがＬの領域を設定する（図２−２）。次に、高周波用のデカップリングキャパシタをサイズの大きいものから順に（ＤＨ４、ＤＨ２、ＤＨ１の順に）上記設定した領域の空き部分に配置していく（図２−３）。次に、上記設定した領域以外の残りの領域の空き部分に、低周波用のキャパシタをやはりサイズの大きいものから順に（ＤＬ４、ＤＬ２の順に）配置していく（図２−４）。若干の空き領域が残る場合は、その空き領域の大きさに見合ったキャパシタを配置する（図２−５）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５６４０７１２号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載されたキャパシタ配置方法によれば、高周波帯域の論理セルの周辺部に高周波用のキャパシタを配置するので、高周波帯域の論理セルの電源ラインに発生するノイズを十分に吸収することができる。また特許文献１に記載されたキャパシタ配置方法によれば、高周波用のキャパシタを配置した領域以外の領域の空き部分に低周波用のキャパシタを配置するので、高周波用のキャパシタを配置した領域以外の領域に低周波帯域の論理セルが存在する場合、低周波帯域の論理セルの電源ラインに発生するノイズを十分に吸収することができ、全体として電源ノイズ耐性の高い半導体装置を設計することができる。
【０００８】
しかしながら、特許文献１に記載されたキャパシタ配置方法では、先ず高周波用のキャパシタを配置し、残りの空き領域に低周波用のキャパシタを配置しているため、局所的に高周波帯域の論理セルと低周波帯域の論理セルが混在して密に配置されている場合は、全体では低周波用のキャパシタが高周波用のキャパシタより多く配置されたとしても、局所的には高周波用のキャパシタセルのみが割り当てられてしまうことがあり、実際の論理セルの配置状況に即したキャパシタセルが配置されない状況が生じていた。具体例を図３−１〜図３−３を用いて説明する。
【０００９】
図３−１は前述の図２−１と同様、デカップリングキャパシタセル配置前のＬＳＩ上の論理セルのレイアウト図を示している。図３−１において、論理セルＪ、Ｍ、Ｑは高周波帯域の論理セル、論理セルＫ、Ｐが低周波帯域の論理セルである。特許文献１に記載されたキャパシタ配置方法では、先ほどの説明と同様に、先ず、高周波帯域の論理セルＪ、Ｍ、Ｑに対し縦横の長さがＬの領域を設定し（図３−２）、その領域の空き部分に高周波用のデカップリングキャパシタのセルを配置する。配置後のレイアウトを図３−３に示す。図３−３を参照すると、低周波帯域の論理セルＫ、Ｐの周囲は、高周波帯域の論理セルＪ、Ｍ、Ｑに設定された領域に完全に重なっており、先に高周波用のデカップリングキャパシタが配置されているため、結果として対応する低周波用のデカップリングキャパシタが全く配置できていないことが分かる。
【００１０】
上記では、最初に高周波用のキャパシタを配置し、次に低周波用のキャパシタを配置したが、その逆に、最初に低周波用のキャパシタを配置し、次に高周波用のキャパシタを配置する方法では、周辺部に高周波用のキャパシタを配置できない高周波帯域の論理セルが発生する。
【００１１】
本発明の目的は、上述した課題、即ち、局所的に高周波帯域の論理セルと低周波帯域の論理セルが混在して密に配置されている場合、必ずしも配置された論理セルの周波数特性に応じたキャパシタが配置されず、電源ノイズ耐性の高い半導体装置を設計することは困難である、という課題を解決する半導体装置の設計支援装置、キャパシタ配置方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一形態に係る半導体装置の設計支援装置は、
半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置であって、
前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定するセル割り当て部と、
前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定する配置領域決定部と、
前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と、を備える。
【００１３】
また本発明の他の形態に係るキャパシタ配置方法は、
セル割り当て部と配置領域決定部とキャパシタ配置実行部とを有し、半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置が実行するキャパシタ配置方法であって、
前記セル割り当て部が、前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定し、
前記配置領域決定部が、前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定し、
前記キャパシタ配置実行部が、前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置する。
【００１４】
また本発明の他の形態に係るプログラムは、
半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置する半導体装置の設計支援装置を構成するコンピュータを、
前記論理セル毎に、前記論理セルの周辺部に配置するキャパシタの周波数特性を前記論理セルの負荷容量値に基づいて決定するセル割り当て部と、
前記論理セル毎に前記決定した周波数特性のキャパシタを配置する領域を前記論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、前記部分領域毎に前記部分領域に配置するキャパシタの周波数特性を決定する配置領域決定部と、
前記配置領域決定部による前記決定の結果に基づいて、前記領域および前記部分領域の空き部分に前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と、して機能させる。
【発明の効果】
【００１５】
本発明は上述した構成を有することにより、局所的に高周波帯域の論理セルと低周波帯域の論理セルが混在して密に配置されている場合であっても、配置された論理セルの周波数特性に応じたキャパシタを配置でき、電源ノイズ耐性の高い半導体装置を設計することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】デカップリングキャパシタセルの物理情報の例を示す図である。
【図２−１】デカップリングキャパシタセル配置前のＬＳＩ上の論理セルのレイアウトの一例を示す図である。
【図２−２】特許文献１に記載の方法によって高周波帯域の論理セルを中心にデカップリングキャパシタを配置する領域を設定した図である。
【図２−３】特許文献１に記載の方法によって高周波用のデカップリングキャパシタをサイズの大きいものから順に領域の空き部分に配置した図である。
【図２−４】特許文献１に記載の方法によって高周波用のデカップリングキャパシタを配置する領域以外の残りの領域の空き部分に、低周波用のデカップリングキャパシタをサイズの大きいものから順に配置した図である。
【図２−５】特許文献１に記載の方法によって、残った空き領域にその空き領域の大きさに見合ったデカップリングキャパシタを配置した図である。
【図３−１】デカップリングキャパシタセル配置前のＬＳＩ上の論理セルのレイアウトの別の例を示す図である。
【図３−２】特許文献１に記載の方法によって高周波帯域の論理セルを中心にデカップリングキャパシタを配置する領域を設定した図である。
【図３−３】特許文献１に記載の方法によって高周波用のデカップリングキャパシタをサイズの大きいものから順に領域の空き部分に配置した図である。
【図４】本発明の第１の実施形態に係る半導体装置の設計支援装置の構成図である。
【図５】本発明の第１の実施形態における配置配線情報の例を示す図である。
【図６】本発明の第１の実施形態における各論理セル間に接続されるネットの配線長の情報の例を示す図である。
【図７】本発明の第１の実施形態におけるＬＳＩ内配線の単位長あたりの配線容量の例を示す図である。
【図８】本発明の第１の実施形態における各論理セルの入力端子容量の例を示す図である。
【図９】本発明の第１の実施形態におけるデカップリングキャパシタの周波数特性とセルサイズ等を示す図である。
【図１０−１】本発明の第１の実施形態において高周波帯域の論理セルを中心に高周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１０−２】本発明の第１の実施形態において低周波帯域の論理セルを中心に低周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１０−３】本発明の第１の実施形態において高周波帯域の論理セルを中心に高周波用のデカップリングキャパシタを配置する領域を設定し、低周波帯域の論理セルを中心に低周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１０−４】本発明の第１の実施形態における高周波用および低周波用のデカップリングキャパシタを配置する高周波用領域および低周波用領域とその重複領域を示す図である。
【図１０−５】本発明の第１の実施形態において非矩形の重複領域を分割した状態を示す図である。
【図１０−６】本発明の第１の実施形態において重複領域を２分割した状態を示す図である。
【図１０−７】本発明の第１の実施形態において重複領域を２分割した一方を高周波用のデカップリングキャパシタを配置する高周波用領域に、他方を低周波用のデカップリングキャパシタを配置する低周波用領域に割り当てた状態を示す図である。
【図１０−８】本発明の第１の実施形態において高周波用のデカップリングキャパシタを配置する高周波用領域の空き部分に高周波用のデカップリングキャパシタをサイズの大きいものから順に配置した状態を示す図である。
【図１０−９】本発明の第１の実施形態において低周波用のデカップリングキャパシタを配置する低周波用領域の空き部分に低周波用のデカップリングキャパシタをサイズの大きいものから順に配置し、さらに配置後の空き領域に低周波用のデカップリングキャパシタを配置した状態を示す図である。
【図１０−１０】本発明の第１の実施形態において低周波用のデカップリングキャパシタの配置後に残った若干の空き領域に高周波用のデカップリングキャパシタを配置した状態を示す図である。
【図１１−１】本発明の第１の実施形態において高周波帯域の論理セルを中心に高周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１１−２】本発明の第１の実施形態において低周波帯域の論理セルを中心に低周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１１−３】本発明の第１の実施形態において高周波帯域の論理セルを中心に高周波用のデカップリングキャパシタを配置する領域を設定し、低周波帯域の論理セルを中心に低周波用のデカップリングキャパシタを配置する領域を設定した図である。
【図１１−４】本発明の第１の実施形態における高周波用および低周波用のデカップリングキャパシタを配置する高周波用領域および低周波用領域とその重複領域を示す図である。
【図１１−５】本発明の第１の実施形態において横方向の長さがＬを超える重複領域を分割した状態を示す図である。
【図１１−６】本発明の第１の実施形態において重複領域を分割した状態を示す図である。
【図１１−７】本発明の第１の実施形態において重複領域を分割した後の領域の数が２つを超える場合の高周波用のデカップリングキャパシタを配置する高周波用領域と低周波用のデカップリングキャパシタを配置する低周波用領域との割り当て例を示す図である。
【図１１−８】本発明の第１の実施形態において高周波用のデカップリングキャパシタを配置する高周波用領域の空き部分に高周波用のデカップリングキャパシタをサイズの大きいものから順に配置した状態を示す図である。
【図１１−９】本発明の第１の実施形態において低周波用のデカップリングキャパシタを配置する低周波用領域の空き部分に低周波用のデカップリングキャパシタをサイズの大きいものから順に配置した状態を示す図である。
【図１１−１０】本発明の第１の実施形態において低周波用のデカップリングキャパシタの配置後に残った若干の空き領域に高周波用のデカップリングキャパシタを配置した状態を示す図である。
【図１２】本発明の第１の実施形態の全体の動作を示すフローチャートである。
【図１３】本発明の第１の実施形態におけるデカップリングキャパシタ配置部の動作を示すフローチャートである。
【図１４】本発明の第２の実施形態に係る半導体装置の設計支援装置のブロック図である。
【発明を実施するための形態】
【００１７】
次に本発明の実施の形態について図面を参照して詳細に説明する。
［第１の実施形態］
図４は本発明の第１の実施形態に係る半導体装置の設計支援装置１の構成図である。図４を参照すると、本発明の第１の実施形態に係る半導体装置の設計支援装置１は、配置配線情報／各種ライブラリ情報入力部１０１と、設計規則入力部１０２と、負荷容量値算出部１０３と、デカップリングキャパシタ配置部１０４と、レイアウト情報出力部１０５と、制御部１０６と、メモリ２００とを備えている。また、配置配線情報／各種ライブラリ情報入力部１０１と、設計記憶入力部１０２と、負荷容量値算出部１０３と、デカップリングキャパシタ配置部１０４と、レイアウト情報出力部１０５との各部がバスを介してメモリ２００に接続されている。そして、制御部１０６が、配置配線情報／各種ライブラリ情報入力部１０１、設計規則入力部１０２、負荷容量値算出部１０３、デカップリングキャパシタ配置部１０４、およびレイアウト情報出力部１０５の各部の処理を制御する。
【００１８】
配置配線情報／各種ライブラリ情報入力部１０１は、ＬＳＩのレイアウトを行う際に必要な情報として、配置配線情報２０１、および遅延ライブラリ情報２０２を入力し、メモリ２００に記憶させる。
【００１９】
図５は配置配線情報２０１の例を示す。この例では、論理セルＡ〜Ｈと配線Ｎ１〜Ｎ６が入力端子ＩＡ１〜ＩＨ２、出力端子ＯＡ１〜ＯＧ１を経由して接続されている。尚、図５は本発明の説明に必要な要素のみを簡略化して表示しているものであり、実際のＬＳＩレイアウトの構造をそのまま表しているものではなく、図示した構成要素以外の論理セルや端子、それら端子への配線も存在している。
【００２０】
図６は各論理セル間に接続されるネットの配線長の情報の例を示す。この配線長の情報は、配置配線情報２０１の一部としてレイアウト完了後に確定する情報である。
【００２１】
図７および図８は遅延ライブラリ情報２０２の例を示す。そのうち、図７はＬＳＩ内配線の単位長あたりの配線容量を示し、図８は各セルの入力端子容量を示し、負荷容量計算部１０３で参照する内容が含まれている。
【００２２】
再び図１を参照すると、設計規則入力部１０２は、ＬＳＩレイアウト中にデカップリングキャパシタのセルを挿入するための設計規則情報２０３を入力し、メモリ２００に記憶させる。設計規則情報２０３には、デカップリングキャパシタ配置部１０４で参照する情報が記載されている。
【００２３】
図９および図１は設計規則情報２０３の例を示す。図９に示す例は、５種類のデカップリングキャパシタＤＨ４、ＤＨ２、ＤＨ１、ＤＬ４、ＤＬ２について、対応する周波数特性（近傍に配置すべき論理セルの負荷容量値）とセルサイズが示されている。図１に示す例は、既に説明したように、デカップリングキャパシタセルの物理情報を示している。
【００２４】
再び図１を参照すると、負荷容量値計算部１０３は、配置配線情報２０１と遅延ライブラリ情報２０２を参照して、ＬＳＩ内に配置されている各論理セルの負荷容量値を求める。負荷容量値計算部１０３は、負荷容量値を出力端子に繋がる配線からなる配線容量と接続先セルの入力端子容量の和として算出する。また負荷容量値計算部１０３は、配線容量を単位長さ当たりの配線容量値（図７）と配線長（図６）の積として計算する。また負荷容量値計算部１０３は、入力端子容量を端子ごとに固有の値として図８を参照して取得する。図５に示したＬＳＩレイアウトにおける論理セルでの計算例を示すと、論理セルＡについては、出力端子ＯＡ１に繋がるネットＮ１の配線長は図６を参照すると８であるため、配線容量は８×３＝２４となり、接続される端子ＩＢ１の入力端子容量は３であるため、負荷容量は２４＋３＝２７と計算される。同様の計算方法で、論理セルＢ、Ｃ、Ｄ、Ｅ，Ｆ，Ｇの負荷容量はそれぞれ９、１２、３２、２３、２１、２３と計算される。
【００２５】
デカップリングキャパシタ配置部１０４は、負荷容量値計算部１０３によって算出した各論理セルの負荷容量値に基づき配置配線情報２０１によって示されるＬＳＩ上の各論理セルの周辺部の空き領域に配置すべきデカップリングキャパシタの周波数特性を決定し、その決定に従って各論理セルの近傍にデカップリングキャパシタを配置すべく配置配線情報２０１を更新する。デカップリングキャパシタ配置部１０４は、セル割り当て部１０４ａと、配置領域決定部１０４ｂと、キャパシタ配置実行部１０４ｃとを備えている。
【００２６】
セル割り当て部１０４ａは、論理セル毎に、論理セルの負荷容量値に基づいて、論理セルの周辺部に配置するキャパシタの周波数特性を決定する。配置領域決定部１０４ｂは、論理セル毎にセル割り当て部１０４ａで決定した周波数特性のキャパシタを配置する領域を論理セルの位置に基づいて決定し、互いに周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域は周波数特性の異なるキャパシタをそれぞれ配置する複数の領域に分割する。キャパシタ配置実行部１０４ｃは、配置領域決定部１０４ｂによる決定と分割の結果に基づいて、論理セルに設定した領域の空き部分に対応する周波数特性を有するキャパシタを配置する。
【００２７】
レイアウト情報出力部１０５は、デカップリングキャパシタ配置部１０４によって更新された配置配線情報２０１を画面等に出力する。
【００２８】
上述した配置配線情報／各種ライブラリ情報入力部１０１、設計規則入力部１０２、負荷容量値算出部１０３、デカップリングキャパシタ配置部１０４、レイアウト情報出力部１０５、および制御部１０６は、１または複数のコンピュータとプログラムとで構成することができ、メモリ２００はそれらの主記憶装置や補助記憶装置で構成することができる。プログラムは、半導体メモリや磁気ディスク等のコンピュータ読み取り可能な記録媒体に記録されており、コンピュータの立ち上げ時にコンピュータに読み取られ、コンピュータの動作を制御することにより、コンピュータ上に上述した配置配線情報／各種ライブラリ情報入力部１０１、設計規則入力部１０２、負荷容量値算出部１０３、デカップリングキャパシタ配置部１０４、レイアウト情報出力部１０５、および制御部１０６を実現する。
【００２９】
次に、本実施形態の動作を説明する。
【００３０】
図１２は本実施形態の全体の動作を示すフローチャートである。まず、制御部１０６は、配置配線情報／各種ライブラリ情報入力部１０１を用いて、ＬＳＩレイアウトを行う際に必要な情報として配置配線情報２０１および遅延ライブラリ情報２０２を入力し、メモリ２００に記憶する（ステップＳ１１）。次に、制御部１０６は、設計規則入力部１０２を用いて、ＬＳＩレイアウト中にデカップリングキャパシタセルを配置するための設計規則情報２０３を入力し、メモリ２００に記憶する（ステップＳ１２）。
【００３１】
次に、制御部１０６は、負荷容量値算出部１０３を用いて、メモリ２００に記憶されている配置配線情報２０１と遅延ライブラリ情報２０２を参照して各論理セルの負荷容量値を算出する（ステップＳ１３）。次に、制御部１０６は、デカップリングキャパシタ配置部１０４を用いて、負荷容量値算出部１０３によって算出した各論理セルの負荷容量値に基づき、空き領域にデカップリングキャパシタを配置すべく配置配線情報を更新する（ステップＳ１４）。次に、制御部１０６は、レイアウト情報出力部１０５を用いて、デカップリングキャパシタ配置部１０４によって更新した配置配線情報２０１を出力する（ステップＳ１５）。
【００３２】
図１３は図１２のステップＳ１４の詳細、すなわちデカップリングキャパシタ配置部１０４の動作の詳細を示すフローチャートである。図１３を参照すると、デカップリングキャパシタ配置部１０４のセル割り当て部１０４ａは、各論理セルの負荷容量値に基づいて、各論理セルの周辺部に配置するキャパシタの周波数特性を決定する（ステップＳ２１）。このセル割り当て部１０４ａの動作を、従来技術の説明で用いたものと同じ状況の図２−１のレイアウト図を例にして説明する。
【００３３】
セル割り当て部１０４ａは、図２−１に配置されている各論理セルに対し、負荷容量値算出手段１０３で求めた、それぞれの論理セルの負荷容量値とメモリ２００に記憶されている設計規則情報２０３（図９）を参照し、周辺に配置すべきデカップリングキャパシタの周波数特性の種別を決定する。図９では、負荷容量値が２０未満の論理セルの周辺に配置すべきキャパシタは高周波用、負荷容量値が２０以上の論理セルの周辺に配置すべきキャパシタは低周波用と設定されている。そのため、セル割り当て部１０４ａは、セルの負荷容量値が２０未満の論理セルＢ、Ｃの周辺に配置するキャパシタは高周波用、セルの負荷容量値が２０以上の論理セルＡ、Ｄ、Ｅ、Ｆ、Ｇの周辺に配置するキャパシタは低周波用と決定する。
【００３４】
次にデカップリングキャパシタ配置部１０４の配置領域決定部１０４ｂは、セル割り当て部１０４ａが決定した周波数特性のキャパシタを配置する領域を論理セル毎に論理セルの位置に基づいて決定する（ステップＳ２２）。具体的には、配置領域決定部１０４ｂは以下のような動作を行う。
【００３５】
まず、配置領域決定部１０４ｂは、各論理セルを中心とした、長さＬとなる矩形（本実施例では正方形）の領域をその論理セルに対するデカップリングキャパシタの配置領域として設定する。Ｌの値は、事前に作成されたデカップリングキャパシタの容量値やシミュレーションもしくはテスト用ＬＳＩによって計測された充電電流の平均値、およびデカップリングキャパシタを配置するＬＳＩ内部の配置密度（自動レイアウトでは約４０％〜５０％）から総合的に決定される。Ｌの長さは周波数特性毎に異なる値でも良く、また、縦横で別々の長さを用いても良い。また、高周波用、低周波用でＬの値は異なっていても良いが、説明の簡単化のため、本実施形態では高周波用、低周波用で同じ値を用いるものとする。
【００３６】
図２−１中の高周波用のキャパシタを配置する論理セルＢ、Ｃに対して設定した領域を図１０−１に、また図２−１中の低周波用のキャパシタを配置する論理セルＡ、Ｄ、Ｅ、Ｆ、Ｇに対して設定した領域を図１０−２に、そして、両者を合わせたものを図１０−３に、それぞれ示す。
【００３７】
もう１つの配置例として、図３−１の配置配線情報を用いた具体例を示す。負荷容量値算出部１０３による負荷容量の計算とセル割り当て部１０４ａによるセル割り当ては既に終わっており、論理セルＪ、Ｍ、Ｑに配置するキャパシタが高周波用、論理セルＫ、Ｐに配置するキャパシタが低周波用として決定されているものとする。このとき、高周波用のキャパシタを配置する論理セルＪ、Ｍ、Ｑに対して設定した領域を図１１−１に、また低周波用のキャパシタを配置する論理セルＫ、Ｐに対して設定した領域を図１１−２に、そして、両者を合わせたものを図１１−３に、それぞれ示す。
【００３８】
次に、配置領域決定部１０４ｂは、各論理セルに設定したデカップリングキャパシタ挿入領域から、ＬＳＩ全体の領域について、高周波用、低周波用のデカップリングキャパシタ挿入領域を決定する。配置領域決定部１０４ｂは、決定の際、高周波用と低周波用が重なる領域（重複領域と称す）については２つに分割を行い、高周波用、低周波用の領域としてそれぞれ分配する。
【００３９】
図１０−３に対する具体例を図１０−４に示す。図１０−４は、高周波用の領域、低周波用の領域、重複領域を分けて示したものである。図１０−４を参照すると、論理セルＢ、Ｃを中心とした領域は高周波用、論理セルＡ、Ｄ、Ｅ、Ｆ、Ｇを中心とした領域は低周波用、そして、高周波用の領域と低周波用の領域が重なる領域は重複領域として設定されている。
【００４０】
また、図１１−４は図１１−３に対し同様の処置を行ったものである。論理セルＫ、Ｐを中心とした低周波用の領域は、論理セルＪ、Ｍ、Ｑを中心とした高周波用の領域と重なっており、結果として、高周波用の領域と重複領域だけが存在している。
【００４１】
次に、配置領域決定部１０４ｂは、重複領域について、高周波用、低周波用の領域に分割する前に、以下の前処理を行う。
【００４２】
＜前処理１＞
配置領域決定部１０４ｂは、重複領域が非矩形である場合はまず矩形に分割する。矩形分割の方向は縦、横どちらでも良いが、本実施形態では横方向に分割線を入れ、上下に分割する。図１０−４の非矩形の重複領域に対し分割を行った後の状態を図１０−５に示す。２つの非矩形の重複領域が５つの矩形ａ〜ｅに分割されている。
【００４３】
＜前処理２＞
重複領域の長さ（本実施形態では横方向の長さ）が大きすぎると、分割後であっても論理セルの配置状況に応じた領域分配ができなくなる恐れがある。そのため、配置領域決定部１０４ｂは、重複領域の矩形の長さがＬを超える場合は、長さＬに収まるよう分割する。本実施形態では縦方向に分割線を入れ、左右に分割する。図１０−５ではそのような重複領域は存在しない。しかし、図１１−４においては、重複領域の横方向の長さがＬを超えているので、図１１−５に示すように、長さＬ以内に収まるよう左右に分割する。
【００４４】
配置領域決定部１０４ｂは、上記前処理を行った後、重複領域を構成するそれぞれの矩形を２つに分割する。分割の方向はどちらでも良いが、前処理１では非矩形の重複領域を矩形にするために上下方向で分割していたので、矩形の重複領域の分割では左右に分割する。図１０−５および図１１−５に対する分割後の状態をそれぞれ図１０−６、図１１−６に示す。
【００４５】
次に、配置領域決定部１０４ｂは、矩形の重複領域を２分割した２つの領域の一方を高周波用に、他方の領域を低周波用に割り当てる。割り当ての方法は幾つか考えられるが、本実施形態においては隣り合う重複領域ではない領域も含めて有効に活用できるよう、配置領域決定部１０４ｂは、分割前の領域の左右の辺が互いに異なる周波数領域に接している場合は、その領域に割り当てる。
【００４６】
例えば、図１０−６中の領域ａ、ｂ、ｅは、その左辺が高周波領域、その右辺が低周波領域に接しているので、図１０−７に示すように、領域ａ、ｂ、ｃを２分割してできる分割後の左側の領域を高周波領域として割り当て、右側の領域を低周波領域として割り当てる。また、図１０−６中の領域ｃは、その左辺が低周波領域、その右辺が高周波領域に接しているので、図１０−７に示すように、領域ｃを２分割してできる分割後の左側の領域を低周波領域として割り当て、右側の領域を高周波領域として割り当てる。また、分割前の領域の左右の辺が両方とも同じ周波数用の領域に接している場合は、分割後のどちらか一方の領域を高周波用、もう片方を低周波用の領域に割り当てる。分割後の左右どちらかを高周波用に割り当てるかは任意とする。図１０−６中の領域ｄの左右の辺はどちらも低周波用の領域に接しているので、例えば、図１０−７に示すように、領域ｄを２分割してできる分割後の左側の領域を高周波用、右側の領域を低周波用として割り当てる。
【００４７】
また、配置領域決定部１０４ｂは、分割前の重複領域の長さがＬより長く、前処理２による分割後の重複領域の数が２つを超えるような場合（３つ以上の重複領域が隣り合うような場合）は、高周波用、低周波用と交互に割り当てを行う。例えば、図１１−６では分割後の重複領域の数は４つであるため、例えば、図１１−７に示すように、左側から順に、高周波用、低周波用、高周波用、低周波用に割り当てる。
【００４８】
配置領域決定部１０４ｂによる処理を終えると、次にデカップリングキャパシタ配置部１０４のキャパシタ配置実行部１０４ｃは、配置領域決定部１０４ｂで決定されたキャパシタを配置する領域の空き部分に、対応したデカップリングキャパシタを配置する（図１３のステップＳ２４）。即ち、キャパシタ配置実行部１０４ｃは、高周波用の領域の空き部分には高周波用のデカップリングキャパシタを、低周波用の領域の空き部分には低周波用のデカップリングキャパシタをそれぞれ配置する。配置においては、キャパシタ配置実行部１０４ｃは、セルサイズの大きいデカップリングキャパシタから順に配置する。高周波用と低周波用の配置領域が決まっているので、デカップリングキャパシタの配置順は高周波用、低周波用のどちらが先でも良い。また、高周波用、低周波用のデカップリングキャパシタを配置した後に若干の空き領域がある場合は、任意でデカップリングキャパシタを埋めてもよい。
【００４９】
図１０−７に示される高周波用の領域の空き部分に高周波用のデカップリングキャパシタをセルサイズの大きいものから優先的に配置した後の状態を図１０−８に示す。また、図１０−８に示される低周波用の領域の空き部分に低周波用のデカップリングキャパシタをセルサイズの大きいものから優先的に配置し、その配置後の空き領域に低周波用のデカップリングキャパシタを配置した後の状態を図１０−９に示す。また、低周波用のデカップリングキャパシタ配置後の空き領域に高周波用のデカップリングキャパシタを配置した状態を図１０−１０に示す。
【００５０】
また図１１−７に示される高周波用の領域の空き部分に高周波用のデカップリングキャパシタをセルサイズの大きいものから優先的に配置した後の状態を図１１−８に示す。また、図１１−８に示される低周波用の領域の空き部分に低周波用のデカップリングキャパシタをセルサイズの大きいものから優先的に配置した後の状態を図１１−９に示す。さらに、低周波用のデカップリングキャパシタ配置後の空き領域に高周波用のデカップリングキャパシタを配置した状態を図１１−１０に示す。先に従来技術で述べた図３−３と比較すると、図１１−１０では低周波帯域の論理セルＫ、Ｐの周辺に低周波用のデカップリングキャパシタが配置されていることが分かる。
【００５１】
このように本実施形態では、先ず、ＬＳＩ上の全ての論理セルについて、各論理セルの負荷容量値に基づいてその論理セルの周辺部に配置するキャパシタの周波数特性を決定し、次に、上記決定した周波数特性のキャパシタを配置する領域を論理セル毎に設定し、互いに周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域は互いに周波数特性の異なるキャパシタを配置する複数の領域に分割し、そして、上記決定と上記分割の結果に基づいて、論理セルに設定した領域の空き部分に周波数特性を有するキャパシタを配置する。これにより、局所的に高周波帯域の論理セルと低周波帯域の論理セルが混在して密に配置されている場合であっても、配置された論理セルの周波数特性に応じたキャパシタを配置でき、電源ノイズ耐性の高い半導体装置を設計することが可能になる。
【００５２】
［第２の実施形態］
図１４は本発明の第２の実施形態に係る半導体装置の設計支援装置のブロック図である。本実施形態に係る半導体装置の設計支援装置３００は、半導体装置内に配置される各論理セルの周辺部の空き領域にキャパシタを配置するように構成されている。そのために、半導体装置の設計支援装置３００は、セル割り当て部３０１と配置領域決定部３０２とキャパシタ配置実行部３０３とを備えている。
【００５３】
セル割り当て部３０１は、半導体装置内に設置される論理セル毎に、論理セルの周辺部に配置するキャパシタの周波数特性を論理セルの負荷容量値に基づいて決定するように構成されている。
【００５４】
配置領域決定部３０２は、セル割り当て部３０１によって論理セル毎に決定した周波数特性のキャパシタを配置する領域を論理セルの位置に基づいて決定するように構成されている。論理セルの位置は、例えば論理セルの中心や重心等であってよく、領域は矩形であっても非矩形であってもよい。また配置領域決定部３０２は、上記設定した複数の領域のうち、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、その部分領域毎に部分領域に配置するキャパシタの周波数特性を決定するように構成されている。
【００５５】
好ましくは、配置領域決定部３０２は、重複領域が非矩形であれば、分割前に重複領域を複数の矩形の重複領域に分割するように構成されている。
【００５６】
好ましくは、配置領域決定部３０２は、重複領域の一辺の長さが上記領域の一辺の長さより長ければ、分割前に重複領域を複数の矩形の重複領域に分割するように構成されている。
【００５７】
好ましくは、配置領域決定部３０２は、２以上連続する重複領域のそれぞれを高周波領域と低周波領域とに２分割した結果、部分領域が一方向に３つ以上並ぶ場合、部分領域の並び順に複数の異なるキャパシタの周波数特性を交互に割り当てるように構成されている。
【００５８】
好ましくは、配置領域決定部３０２は、重複領域を２つの部分領域に分割した場合、分割前の重複領域の相対する２辺が周波数特性の互いに異なるキャパシタを配置する２つの領域である第１の領域と第２の領域に接しているとき、第１の領域に接している部分領域に配置するキャパシタの周波数特性を第１の領域に配置するキャパシタの周波数特性と同じにし、第２の領域に接している部分領域に配置するキャパシタの周波数特性を第２の領域に配置するキャパシタの周波数特性と同じにするように構成されている。
【００５９】
キャパシタ配置実行部３０３は、配置領域決定部３０２による決定の結果に基づいて、上記領域および上記部分領域の空き部分にそれに応じた周波数特性を有するキャパシタを配置するように構成されている。
【００６０】
このように構成された本実施形態に係る半導体装置の設計支援装置３００は、以下のように動作する。即ち、まずセル割り当て部３０１が、論理セル毎に、論理セルの周辺部に配置するキャパシタの周波数特性を論理セルの負荷容量値に基づいて決定する。次に配置領域決定部３０２が、論理セル毎に決定した周波数特性のキャパシタを配置する領域を論理セルの位置に基づいて決定する。次に配置領域決定部３０２が、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割する。次に配置領域決定部３０２が、部分領域毎に部分領域に配置するキャパシタの周波数特性を決定する。そして、キャパシタ配置実行部３０３が、配置領域決定部３０２による上記決定の結果に基づいて、上記領域および上記部分領域の空き部分に上記周波数特性を有するキャパシタを配置する。
【００６１】
本実施形態によれば、論理セル毎に決定した周波数特性のキャパシタを配置する領域を論理セルの位置に基づいて決定し、周波数特性の異なるキャパシタを配置する複数の領域が重なる重複領域を複数の部分領域に分割し、部分領域毎に部分領域に配置するキャパシタの周波数特性を決定し、そして、上記決定の結果に基づいて、上記領域および上記部分領域の空き部分にそれに応じた周波数特性を有するキャパシタを配置するので、局所的に高帯域論理セルと低帯域論理セルが混在して密に配置されている場合であっても、配置された論理セルの周波数特性に応じたキャパシタを配置でき、電源ノイズ耐性の高い半導体装置を設計することが可能になる。
【産業上の利用可能性】
【００６２】
本発明は、スタンダードセル方式を用いて設計される集積回路のレイアウト設計支援装置、集積回路のレイアウト設計支援方法に適用でき、特に、オンチップデカップリングキャパシタを論理セルの周辺部に挿入する場合に適用できる。
【符号の説明】
【００６３】
１…半導体装置の設計支援装置
１０１…配置配線情報／各種ライブラリ情報入力部
１０２…設計規則入力部
１０３…負荷容量値算出部
１０４…デカップリングキャパシタ配置部
１０４ａ…セル割り当て部
１０４ｂ…配置領域決定部
１０４ｃ…キャパシタ配置実行部
１０５…レイアウト情報出力部
１０６…制御部
２００…メモリ
２０１…配置配線情報
２０２…遅延ライブラリ情報
２０３…設計規則情報
３００…半導体装置の設計支援装置
３０１…セル割り当て部
３０２…配置領域決定部
３０３…キャパシタ配置実行部
【図１】
2019070901.tif 000003
【図２−１】
2019070901.tif 000004
【図２−２】
2019070901.tif 000005
【図２−３】
2019070901.tif 000006
【図２−４】
2019070901.tif 000007
【図２−５】
2019070901.tif 000008
【図３−１】
2019070901.tif 000009
【図３−２】
2019070901.tif 000010
【図３−３】
2019070901.tif 000011
【図４】
2019070901.tif 000012
【図５】
2019070901.tif 000013
【図６】
2019070901.tif 000014
【図７】
2019070901.tif 000015
【図８】
2019070901.tif 000016
【図９】
2019070901.tif 000017
【図１０−１】
2019070901.tif 000018
【図１０−２】
2019070901.tif 000019
【図１０−３】
2019070901.tif 000020
【図１０−４】
2019070901.tif 000021
【図１０−５】
2019070901.tif 000022
【図１０−６】
2019070901.tif 000023
【図１０−７】
2019070901.tif 000024
【図１０−８】
2019070901.tif 000025
【図１０−９】
2019070901.tif 000026
【図１０−１０】
2019070901.tif 000027
【図１１−１】
2019070901.tif 000028
【図１１−２】
2019070901.tif 000029
【図１１−３】
2019070901.tif 000030
【図１１−４】
2019070901.tif 000031
【図１１−５】
2019070901.tif 000032
【図１１−６】
2019070901.tif 000033
【図１１−７】
2019070901.tif 000034
【図１１−８】
2019070901.tif 000035
【図１１−９】
2019070901.tif 000036
【図１１−１０】
2019070901.tif 000037
【図１２】
2019070901.tif 000038
【図１３】
2019070901.tif 000039
【図１４】
2019070901.tif 000040