(57)【要約】【課題】短時間で基板ノイズ解析を行なうための基板ノイズ解析ネットリストを作成すること。【解決手段】半導体デバイス設計支援装置は、レイアウト情報１０８、ＬＳＩデザイン情報１０９、スイッチング情報１１０、プリミティブライブラリ１１１等を入力する入力部１０１、インスタンス単位で電流波形を求める電流波形算出部１０２、各セグメントの電流分散値を求める電流分散値算出部１０３、セグメントの電流分散値が許容値以上かどうかを判断し、許容値以上の場合セグメントを分割するセグメント分割部１０４、各セグメントに対してマクロモデルを作成するマクロモデル作成部１０５、基板ネットリストを抽出する基板ネットリスト抽出部１０６、各セグメントのマクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成する基板ノイズ解析ネットリスト作成部１０７を備える。【選択図】図１
2009276822.tif 000002
【特許請求の範囲】
【請求項１】
半導体デバイスのレイアウトに初期セグメントを設定し、前記初期セグメントに含まれるインスタンスの電流波形から前記セグメント内の電流値のばらつきを求め、該電流値のばらつきが所定値未満となるまで前記セグメントの分割と前記電流分散値の算出とを繰り返し、すべてのセグメントの電流のばらつきが前記所定値未満となった段階で、前記分割されたセグメントに対してマクロモデルを作成し、該マクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成すること、
を特徴とする半導体デバイス設計支援装置。
【請求項２】
入力された半導体デバイスの設計情報から、インスタンス毎の電流波形を求める電流波形算出部と、
前記各インスタンスの電流波形に基づいて、前記セグメント毎の電流分散値を求める電流分散値算出部と、
すべてのセグメントの電流分散値が所定値未満となるまで、前記各セグメントの電流分散値の確認と、前記セグメントの分割とを繰り返すセグメント分割部と、
前記電流分散値が所定値未満となったすべてのセグメントに対してマクロモデルを作成するマクロモデル作成部と、
前記マクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成する基板ノイズ解析ネットリスト作成部とを備えること、
を特徴とする請求項１に記載の半導体デバイス設計支援装置。
【請求項３】
前記電流分散値算出部は、所定の時間内における電流分散値の最大値を、当該セグメントの電流分散値とする請求項２に記載の半導体デバイス設計支援装置。
【請求項４】
前記電流分散値算出部は、所定の時間内における電流分散値の平均値を、当該セグメントの電流分散値とする請求項２に記載の半導体デバイス設計支援装置。
【請求項５】
前記セグメント分割部は、前記電流分散値が所定値以上のセグメントのみを分割する請求項２乃至４いずれか一に記載の半導体デバイス設計支援装置。
【請求項６】
前記基板ノイズ解析ネットリスト作成部は、少なくともＧＮＤ、ＶＤＤのネットリストを作成し、前記各セグメントのマクロモデル及び基板ネットリストと接続して、基板ノイズ解析ネットリストを作成する請求項２乃至５いずれか一に記載の半導体デバイス設計支援装置。
【請求項７】
更に、入力された半導体デバイスの設計情報からセグメントのデカップリング容量を求めるデカップリング容量算出部を有し、
前記デカップリング容量を含んだマクロモデルを用いて基板ノイズ解析ネットリストを作成する請求項２乃至６いずれか一に記載の半導体デバイス設計支援装置。
【請求項８】
更に、入力された半導体デバイスの設計情報からパッケージ／ＰＷＢネットリストを作成するパッケージ／ＰＷＢネットリスト作成部を有し、前記パッケージ／ＰＷＢネットリストを含んだ基板ノイズ解析ネットリストを作成する請求項２乃至７いずれか一に記載の半導体デバイス設計支援装置。
【請求項９】
コンピュータに実行させる半導体デバイス設計支援方法であって、
前記コンピュータに、半導体デバイスの設計情報を入力し、インスタンス毎の電流波形を求めさせる工程と、
前記コンピュータに、前記半導体デバイスに設定したすべてのセグメントの電流分散値が所定値未満となるまで、前記インスタンス毎の電流波形に基づいた電流分散値の算出と、前記セグメントの分割と、を繰り返させる工程と、
前記コンピュータに、前記すべてのセグメントに対してマクロモデルを作成させる工程と、
前記コンピュータに、前記マクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成させる工程と、を含むこと、
を特徴とする半導体デバイス設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイス設計支援装置及び半導体デバイス設計支援方法に関し、特に、半導体デバイスのシリコン基板に生じる基板ノイズの解析を容易化する半導体デバイス設計支援装置及び半導体デバイス設計支援方法に関する。
【背景技術】
【０００２】
特許文献１に、電源電流、グランド電流、回路素子から基板に注入される電流、電源、グランド、回路素子と基板との間の接合容量、電源、グランド、回路素子と基板との間の界面抵抗、電源抵抗、グランド抵抗、電源電圧変動、グランド電圧変動のいずれかを、基板の解析構造とは独立して集約する工程を有する基板ノイズ解析方法が開示されている。
【０００３】
特許文献２には、静的タイミング解析（ＳＴＡ）アルゴリズムをディジタル回路の記述に適用し、前記ディジタル回路中の１以上のゲートに関するタイミング情報を生成するステップと、前記ディジタル回路の前記記述、前記ディジタル回路中の１以上のゲートに関する前記タイミング情報及び前記ディジタル回路の前記スイッチング動作の記述に電流波形生成（ＣＷＧ）アルゴリズムを適用し、電流波形を生成するステップと、前記ディジタル回路の前記記述、前記電流波形及び前記ディジタル回路に関連するパッケージのモデルに従って、前記ディジタル回路のシミュレーション用の縮小モデル（ＲＭ）を生成し、前記ディジタル回路のＲＭのシミュレーションにより、前記ディジタル回路に関する基板のノイズの指標を生成するステップと、を有することを特徴とする基板ノイズの解析方法が開示されている。
【０００４】
更に、非特許文献１には、プリミティブインスタンス単位でマクロモデルを作成することにより、同一基板内に配置されたアナログ回路の性能に影響を与える基板ノイズを高精度にシミュレーションする方法が開示されている。ここで（プリミティブ）インスタンスとは、基板中の論理単位を指すセルを一意に識別するための名前を指している。
【０００５】
【特許文献１】特開２００５−４２４５号公報
【特許文献１】特開２００６−２３６３４０号公報
【非特許文献１】Ｍａｒｃ  ｖａｎ  Ｈｅｉｊｎｉｎｇｅｎ  ｅｔ．ａｌ．、“Ｈｉｇｈ−Ｌｅｖｅｌ  Ｓｉｍｕｌａｔｉｏｎ  ｏｆ  Ｓｕｂｓｔｒａｔｅ  Ｎｏｉｓｅ  Ｇｅｎｅｒａｔｉｏｎ  Ｉｎｃｌｕｄｉｎｇ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｎｏｉｓｅ  Ｃｏｕｐｌｉｎｇ”、２０００  ＤＡＣ、Ｆｉｇｕｒｅ１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
非特許文献１の方法では、プリミティブインスタンス単位でマクロモデルを作成するため、マクロモデルと基板ネットリストが膨大となるため、生成される基板ノイズ解析ネットリストの規模が大きくなり、解析時間が非常に長くなるという問題点がある。
【０００７】
また特許文献１には、領域・ブロック毎に、電流・インピーダンスを集約することにより計算量を削減する手法が開示されているが、集約という別個の処理（工程）が必要である。また、集約が適切に行なわれず、各インスタンスの電流変化を無視してマクロモデル化を行うと、電流精度が悪化するという問題点もある。その理由は、電流波形を足すことにより、電流値が平均化されてしまい、動作の特徴を消してしまい、電流誤差が生じるためである。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、半導体デバイスのレイアウトに初期セグメントを設定し、前記初期セグメントに含まれるインスタンスの電流波形から前記セグメント内の電流値のばらつきを求め、該電流値のばらつきが所定値未満となるまで前記セグメントの分割と前記電流分散値の算出とを繰り返し、すべてのセグメントの電流のばらつきが前記所定値未満となった段階で、前記分割されたセグメントに対してマクロモデルを作成し、該マクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成する半導体デバイス設計支援装置が提供される。
【０００９】
本発明の第２の視点によれば、コンピュータに実行させる半導体デバイス設計支援方法であって、前記コンピュータに、半導体デバイスの設計情報を入力し、インスタンス毎の電流波形を求めさせる工程と、前記コンピュータに、前記半導体デバイスに設定したすべてのセグメントの電流分散値が所定値未満となるまで、前記インスタンス毎の電流波形に基づいた電流分散値の算出と、前記セグメントの分割と、を繰り返させる工程と、前記コンピュータに、前記すべてのセグメントに対してマクロモデルを作成させる工程と、前記コンピュータに、前記マクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成させる工程と、を含むこと、を特徴とする半導体デバイス設計支援方法が提供される。
【発明の効果】
【００１０】
本発明によれば、所望のノイズ解析精度を確保でき、かつ、サイズが抑えられた基板ノイズ解析ネットリストを得ることができる。その理由は、各インスタンスをセグメントとしてグループ化し、ノード数を削減するとともに、電流の分散値を元にセグメントサイズを決定する構成を採用したことにある。
【発明を実施するための最良の形態】
【００１１】
［発明の概要］
本発明に係る半導体デバイス設計支援装置は、電流分散値を元に、インスタンスをグループ化するサイズを決定する。半導体デバイス設計支援装置の電流分散値算出部（図１の１０３）は、電流波形算出部（図１の１０２）より算出された電流波形に基づき、各セグメントの電流分散値を求める。次に、セグメント分割部（図１の１０４）が、セグメントの電流分散値が許容値（所定の閾値）以上か否かを判断し、許容値以上の場合、当該セグメントを分割し、許容値未満であれば、セグメント分割を行わない。
【００１２】
電流分散値が許容値未満であるセグメントは、ノイズ解析を行う場合の電流精度を満たしている。反対に、電流精度を満足できないセグメントに対して、セグメント分割を行う。以上により、電流精度を満足するセグメントの大きさを決定し、該セグメントに対してマクロモデルを作成することで、ノード数（基板ノイズ解析ネットリストのサイズ）を最小限に抑えることができる。
【００１３】
また、生成される基板ノイズ解析ネットリストのサイズが小さいと、ノイズ解析に掛かる時間も短縮することができる。
【００１４】
［第１の実施形態］ 
次に、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態の半導体デバイス設計支援装置の構成を示す図である。
【００１５】
図１を参照すると、半導体デバイス設計支援装置は、レイアウト情報１０８、ＬＳＩデザイン情報１０９、スイッチング情報１１０、プリミティブライブラリ１１１等を入力する入力部１０１と、インスタンス単位で電流波形を求める電流波形算出部１０２と、各セグメントの電流分散値を求める電流分散値算出部１０３と、セグメントの電流分散値が許容値以上かどうかを判断し、許容値以上の場合セグメントを分割するセグメント分割部１０４と、各セグメントに対してマクロモデルを作成するマクロモデル作成部１０５と、基板ネットリストを抽出する基板ネットリスト抽出部１０６と、各セグメントのマクロモデルと基板ネットリストから基板ノイズ解析ネットリストを作成する基板ノイズ解析ネットリスト作成部１０７と、を含んで構成される。
【００１６】
なお、本発明に係る半導体デバイス設計支援装置は、ＣＰＵ、記憶装置及び出力装置等を備えるコンピュータにより実現することができる。半導体デバイス設計支援装置の上記した各手段は、コンピュータの記憶装置から、下記動作を実行するプログラムを読出し、ＣＰＵに実行させることにより実現することが可能である。
【００１７】
図２は、上記半導体デバイス設計支援装置の動作フローを示す図である。図２を参照すると、まず、電流波形算出部１０２が、プリミティブライブラリ１１１とスイッチング情報１１０から各インスタンスの電流波形を求める（ステップ２０１）。各インスタンスの電流波形の算出は、特に限定するものではないが、例えば、非特許文献１に記載の方法を用いることができる。
【００１８】
次に、セグメント分割部１０４が、ＬＳＩデザイン情報１０９を元に、初期セグメントを決定する（ステップ２０２）。
【００１９】
次に、電流分散値算出部１０３が、前記初期セグメントの電流分散値を求める（ステップ２０３）。
【００２０】
次に、セグメント分割部１０４が、セグメントの電流分散値が許容値以上かどうかを判断する（ステップ２０４）。
【００２１】
前記判断の結果、各セグメントの電流分散値が許容値以上の場合、セグメント分割部１０４は、該当するセグメントを分割する（ステップ２０５）。
【００２２】
一方、すべてのセグメントの電流分散値が許容値未満である場合、マクロモデル作成部１０５が、各セグメントに対してマクロモデルを作成する（ステップ２０６）。
【００２３】
次に、基板ネットリスト抽出部１０６が、レイアウト情報１０８を基に基板ネットリストを抽出する（ステップ２０７）。
【００２４】
次に、基板ノイズ解析ネットリスト作成部１０７が、各セグメントのマクロモデルと基板ネットリストから、ＧＮＤ／ＶＤＤネットリストを作成する（ステップ２０８）。
【００２５】
最後に、基板ノイズ解析ネットリスト作成部１０７が、各セグメントのマクロモデルと基板ネットリストから、基板ノイズ解析ネットリストを作成し、出力する（ステップ２０９）。
【００２６】
以上のように、本実施形態によれば、ステップ２０４〜２０５にて、電流分散値に基づいたセグメントの分割が行なわれるため、基板ノイズ解析ネットリストの規模を抑えるとともに、前記許容値に応じた電流精度を確保することが可能となる。
【実施例１】
【００２７】
続いて、上記本発明の第１の実施形態を、ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）デバイスの基板ノイズ解析に適用した実施例を説明する。
【００２８】
以下、本実施例では、ＳＯＣデバイスで、多電源回路である半導体デバイスの基板ノイズ解析を考える。
【００２９】
再度、図１、図２を参照して、本実施例の半導体デバイス設計支援装置の動作を各ステップ毎に詳説する。
【００３０】
電流分散値と比較する許容値等のパラメータを設定し、入力部１０１に、レイアウト情報１０８、ＬＳＩデザイン情報１０９、スイッチング情報１１０、プリミティブライブラリ１１１を入力することにより、図２の一連の処理が開始される。
【００３１】
ステップ２０１では、電流波形算出部１０２がプリミティブライブラリ１１１とスイッチング情報１１０から各インスタンスのＧＮＤ、ＶＤＤ端子における電流波形を求める。図３は、本ステップで算出されるインスタンスの電流波形の例である。
【００３２】
図４は、ある時刻での、解析対象の半導体デバイスにおける電流分布を表示した図である。図４の濃淡に表されたように、半導体デバイス各部の電流値に差があることが確認できる。
【００３３】
ステップ２０２では、セグメント分割部１０４が、ＬＳＩデザイン情報１０９に基づいて、初期セグメントを決定する。本実施例では、半導体デバイスのレイアウト全体を初期セグメントとすることとする。初期セグメントは、ＬＳＩデザイン情報１０９に基づき任意に設定可能であり、例えば、レイアウト全体を２分割、４分割、１６分割したものを初期セグメントとすることができる。
【００３４】
ステップ２０３では、電流分散値算出部１０３が、各セグメントの電流分散値を求める。電流波形を表した図３から分かるように、ＧＮＤ、ＶＤＤの電流波形は時間によって変化するため、各時間での分散値を求め、その最大値を当該セグメントの電流分散値とする。また、前記最大値ではなく、各時間での電流分散値の平均値を、当該セグメントの電流分散値とすることもできる。
【００３５】
ステップ２０４では、セグメントの電流分散値が許容値以上かどうかを判断する。
【００３６】
セグメントの電流分散値が許容値以上である場合、セグメント分割部１０４は、セグメントを分割する。この時、セグメント分割部１０４は、電流分散値が許容値以上であるセグメントを分割する。分割が完了した時の、セグメント（ＳＥＧ）の例を図５に示す。
【００３７】
ここで、電流分散値について説明をする。１つのセグメント内のすべてのインスタンスから基板を介して伝播するノイズ量、即ち伝播先ノードの電圧（ΔＶＤＤ）を求めることを考える。図６の「アナログ回路」は伝播先ノードを表している。通常インスタンスは、それぞれ動作が異なるため、インスタンス毎の電流も異なる。
【００３８】
次にセグメントを１つのノードとして縮退することを考える。セグメント内のインスタンスがすべて同じ動作をする時、電流波形は各インスタンスで同じとなる。この状態を分散で考えると、分散は０となる。この時、セグメントを１つのノードとして縮退しても伝播先のノードの電圧は、縮退しない場合と同じ、即ち誤差０となる（図６の下段グラフの原点参照）。次に、動作が異なる、即ち電流値に差がある場合を考える。１つのセグメント内のインスタンスの分散値が大きくなるに従い、誤差（ΔＶＤＤエラー率）は増加する（図６の下段グラフ参照）。
【００３９】
上記誤差（ΔＶＤＤエラー率）は、伝播先ノードの種類により許される値、許容値が決まる。即ち、チップ毎に使われているノイズ感度の高いブロックが決定すれば、許容値も決まることになる。即ち、電流分散値の制限も決まることになる。
【００４０】
図７に示すように、セグメントを分割するに従い、セグメントの電流分散値（下段グラフの破線（電流密度の標準偏差）参照）は、小さくなる。電流分散値が小さくなると誤差（下段グラフの実線（ΔＶＤＤエラー率）参照）は小さくなるので、許容値に達するまで、セグメントを分割することにより、ノイズ解析の要求を満たす基板ノイズ解析ネットリストを作成することが可能となる。
【００４１】
一方、セグメントの数が多くなるに従い、ノード数が増加するため、生成されるネットリストは大きくなる。ネットリストが大きいと、解析にも時間が掛かるようになる。よって、セグメント数を少なくし、生成されるネットリストのサイズを抑えることも重要である。
【００４２】
そこで、許容値を設定し、許容値を基準としてセグメントを分割することにより、セグメント数を最小にし、かつ、要求性能を満足できる、基板ノイズ解析ネットリストが生成可能となる。
【００４３】
ステップ２０６では、マクロモデル作成部１０５が、分割されたセグメントに対してマクロモデルを作成する。図８はマクロモデルの１例を示す図である。
【００４４】
図８のＩｃｕｒｒｅｎｔ１００１は、セグメント内のインスタンスの電流波形の合計で、セグメントの電流波形を表す。Ｃｄｅｃａｐ１００５はセグメント内のデカップリング容量の合計で、セグメントのデカップリング容量を表す。このように、本実施例におけるマクロモデル作成部１０５は、デカップリング容量算出部としても機能し、デカップリング容量のモデルも作成する。ＧＮＤ１００７、ＶＤＤ１００２は、セグメントの電源、ＧＮＤ端子を表す。
【００４５】
ステップ２０７では、基板ネットリスト抽出部１０６が基板ネットリストを抽出する。
【００４６】
ステップ２０８では、基板ノイズ解析ネットリスト作成部が、各セグメントのマクロモデルと、基板ネットリストとから、ＧＮＤ／ＶＤＤネットリストを作成する。
【００４７】
ステップ２０９では、基板ノイズ解析ネットリスト作成部が、各セグメントのマクロモデルと、デカップリング容量のモデルと、基板ネットリストと、ＧＮＤ／ＶＤＤネットリストと、から基板ノイズ解析ネットリストを作成し、出力を行う。
【００４８】
図９は、上記ステップ２０８、２０９で出力されるネットリストの一例を示した図である。図９を参照すると、各セグメント１１０１のＧＮＤ端子、ＶＤＤ端子が、ＶＤＤネットリスト１１０３及びＧＮＤネットリスト１１０４にそれぞれ接続される。ＶＤＤネットリスト１１０３及びＧＮＤネットリスト１１０４は、セグメント間のＧＮＤ、ＶＤＤ配線の容量、抵抗、インダクタを表すネットリストである。また、基板端子は基板ネットリスト１１０２によって接続される。
【００４９】
このようにして生成された基板ノイズ解析ネットリストを使って基板ノイズ解析を行うことができる。例えば、基板ノイズ解析ネットリストを用いてＴＲＡＮ解析を行い、ノイズ制約を持つマクロに到達する波形を求め、求めた波形を用いてノイズ制約を満足するか否かを判断することができる。
【００５０】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態及び実施例で説明した構成に、入力された半導体デバイスの設計情報からパッケージとＰＷＢ（Ｐｒｉｎｔｅｄ  Ｗｉｒｉｎｇ  Ｂｏａｒｄ）間のネットリストを作成するパッケージ／ＰＷＢネットリスト作成部を追加することが可能である。これにより、前記パッケージ／ＰＷＢネットリストを考慮した基板ノイズ解析を行なうことが可能となる。
【産業上の利用可能性】
【００５１】
本発明は、半導体デバイスのシリコン基板に生じる基板ノイズの影響を解析する技術として有用である。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施形態の半導体デバイス設計支援装置の構成を示す図である。
【図２】本発明の第１の実施形態の半導体デバイス設計支援装置の動作フローを示す図である。
【図３】インスタンスの電流波形の例である。
【図４】ある時刻での、解析対象の半導体デバイスにおける電流分布を表示した図である。
【図５】セグメント分割を説明するための図である。。
【図６】電流分散値とプローブ電圧誤差との関係を説明するための図である。
【図７】セグメントサイズ（分割数）とプローブ電圧誤差との関係を説明するための図である。
【図８】マクロモデルの一例を示す図である。
【図９】基板ノイズ解析ネットリストの一例を示す図である。
【符号の説明】
【００５３】
１０１  入力部
１０２  電流波形算出部
１０３  電流分散値算出部
１０４  セグメント分割部
１０５  マクロモデル作成部
１０６  基板ネットリスト抽出部
１０７  基板ノイズ解析ネットリスト作成部
１０８  レイアウト情報
１０９  ＬＳＩデザイン情報
１１０  スイッチング情報
１１１  プリミティブライブラリ
１１０１  セグメント
１１０２  基板ネットリスト
１１０３、１１０４  配線ネットリスト
【図１】
2009276822.tif 000003
【図２】
2009276822.tif 000004
【図３】
2009276822.tif 000005
【図６】
2009276822.tif 000006
【図７】
2009276822.tif 000007
【図８】
2009276822.tif 000008
【図９】
2009276822.tif 000009
【図４】
2009276822.tif 000010
【図５】
2009276822.tif 000011