(57)【要約】【課題】素子のレイアウトパターンを反映したネットリストを作成することで実際の素子構成でシミュレーションを行う方法を提供する。【解決手段】設計しようとする半導体集積回路において、Ｓ１０１は半導体集積回路作成手段において作成した半導体集積回路内の素子に対して、Ｓ１０２で素子毎のシミュレーション実行時の精度を指定し、Ｓ１０３で前記回路図のネットリストを生成し、またＳ１０４で前記素子のライブラリを読み込み、Ｓ１０５で前記ネットリストと前記ライブラリとを用いてシミュレーションを実行する。【選択図】  図１
2004302499.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のシミュレーション方法であって、半導体集積回路に設計しようとする電気回路の回路図を作成する回路図作成手段と、前記回路図内の素子に対して寄生素子を考慮した等価回路のサブサーキットを使用するかどうかを指定することにより素子のシミュレーション実行時の精度を指定するシミュレーション精度指定手段と、前記電気回路のネットリストを生成するネットリスト生成手段と、前記電気回路内の素子のライブラリを読み込む手段と、前記ネットリストと前記ライブラリを用いて回路シミュレーションを行うシミュレーション手段とを有することを特徴とする半導体集積回路のシミュレーション方法。
【請求項２】
半導体集積回路のシミュレーション方法であって、半導体集積回路に設計しようとする電気回路の回路図を作成する回路図作成手段と、前記回路図内の素子に対してレイアウト構成を指定するレイアウト構成指定手段と、前記レイアウト構成指定手段で指定した素子のレイアウト構成と、前記回路図内の素子のサブサーキットに生成するレイアウト構成サブサーキット生成手段と、前記電気回路のネットリストを生成するネットリスト生成手段と、前記レイアウト構成手段を指定した素子のレイアウト構成をサブサーキットと前記電気回路のネットリストを読み込む手段と、前記電気回路内の素子のライブラリを読み込む手段と、前記サブサーキットと前記ネットリストと前記ライブラリを用いて回路シミュレーションを行うシミュレーション手段とを有することを特徴とする半導体集積回路のシミュレーション方法。
【請求項３】
請求項１記載の半導体集積回路のシミュレーション方法と請求項２記載の半導体集積回路のシミュレーション方法とを同時に行うことを特徴とする半導体集積回路のシミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の特に寄生素子の影響を受ける分野のシミュレーション方法に関する。
【０００２】
【従来の技術】
従来、半導体集積回路の回路設計においてシミュレーションを実行する場合にＭＯＳＦＥＴであればモデル名、ゲート幅、ゲート長また抵抗では抵抗値など回路図に入力された値でシミュレーションを実行していた。図１０は半導体集積回路の一例である。１００１は半導体集積回路であり、１００２は電源のシンボルであり、１００３及び１００４は半導体集積回路１００１内で使用されているＰチャネルＭＯＳＦＥＴ素子であり、１００５、１００６、１００７は前記集積回路１００１で使用されているＮＰＮトランジスタであり、１００８は前記集積回路１００１内で使用されている抵抗素子であり、１００９は接地電位を表すシンボルである。図１１（ａ）は半導体集積回路１００１から生成したシミュレーション用のネットリストであり、前記半導体集積回路内の素子に代入された値がそのままネットリストに出力されている。素子に対する寄生素子を考慮した等価回路のサブサーキットを指定してシミュレーションを行う場合にも、図１１（ｂ）の例のようにモデル名を指定するプロパティｍｏｄｅｌに前記素子に対する寄生素子を考慮した等価回路のサブサーキット名を指定する。図１１（ｂ）の例ではＰチャネルＭＯＳＦＥＴの素子名Ｍ０のモデル名をＰＣＨＭＯＳ＿ＰＲ１に変更している。
【０００３】
また実際のレイアウトを考慮して回路図作成を行った一例として、抵抗素子を実際のレイアウトでは複数本直列接続して実現する場合では、シミュレーション実行時には図１２（ａ）で示したサブサーキットのように１つの素子としてシミュレーションを実行する。また同じく抵抗素子において図１２（ｂ）の例にあるように抵抗の直列接続の本数に応じたサブサーキットを予め複数パターン準備しておいてレイアウトの構成を応じて読み込むサブサーキットを変更してシミュレーションを実行する。容量素子などは前記抵抗と同様な方法でシミュレーションを実行することが可能であり、ＭＯＳＦＥＴ、抵抗、容量以外の素子でも同様である。
【０００４】
また、このような従来の技術が公開されている（特許文献１参照）。
【０００５】
【特許文献１】
特開平１−２７６３７２号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、図１１に示したネットリストを用いてのシミュレーションでは寄生素子の影響を考慮してシミュレーションを行う際に手作業でモデル名を変更する必要がある。
【０００７】
また図１２（ａ）のサブサーキットを用いた場合のシミュレーションでは、実際のレイアウト設計における素子を構成するパターンが考慮されていないため素子に対する寄生素子を考慮した等価回路のサブサーキットを使用してシミュレーションを行っても、実際の半導体集積回路の特性とは異なる場合が考えられる。また図１２（ｂ）のサブサーキットを用いた場合では予め準備しておいたサブサーキット以外の構成でレイアウトを実現する場合に半導体集積回路のシミュレーションに対応できないという問題がある。
【０００８】
本発明は上記課題に鑑みてなされたもので、実際のレイアウト構成及び寄生素子の影響を考慮した半導体集積回路のシミュレーション方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題に鑑みて、本発明の半導体集積回路のシミュレーション方法は、半導体集積回路内の素子に対してレイアウトの構成を指定された場合及び寄生素子の影響を考慮したシミュレーション方法であって、半導体集積回路を作成する回路図作成手段と、前記半導体集積回路の回路図内の素子に対してレイアウト構成を指定するレイアウト構成指定手段と、前記半導体集積回路の回路図内の素子に対して寄生素子を考慮した等価回路のサブサーキットを使用するかどうかを前記素子毎に指定することによりシミュレーション実行時の精度を指定するシミュレーション精度指定手段と、前記半導体集積回路内に使用されている素子のうち前記レイアウト構成指定手段でレイアウト構成を指定した素子のサブサーキットを生成するレイアウト構成サブサーキット生成手段と、前記半導体集積回路図からシミュレーションに使用するための素子間のネットリストを生成するネットリスト生成手段と、前記レイアウト構成サブサーキット生成手段で生成されたレイアウト構成サブサーキットと前記ネットリスト生成手段で生成されたネットリストを読み込む、ネットリストおよびサブサーキット読み込み手段と、前記半導体集積回路内で使用されている素子のモデルパラメータやレイアウトの寄生素子が付加された等価回路のサブサーキットで構成されたライブラリを読み込むライブラリ読み込み手段と、前記レイアウト構成サブサーキット生成手段で生成されたサブサーキットと前記ネットリスト生成手段で生成されたネットリストと前記ライブラリ読み込み手段で読み込んだ前記ライブラリとを用いてシミュレーションを実行するシミュレーション手段とを備え、半導体集積回路のシミュレーションを行う。
【００１０】
上記半導体集積回路のシミュレーション方法において、シミュレーション精度指定手段では素子毎に寄生素子の影響を考慮してシミュレーションを実行するかどうかを指定することにより、同一回路内で素子のモデル名を直接変更することなく、切り替えることにより精度を変更してシミュレーションを行うことが可能となる。
【００１１】
またレイアウト構成指定手段は前記半導体集積回路内で使用されている素子を検索し、素子に対してレイアウトの構成が指定されているかどうかを判定し、前記素子に対してレイアウトの構成が指定されている場合で、すでに他の同一種別の素子で同じレイアウト構成の素子が存在し、すでにサブサーキットが生成されているかどうかを判定し、生成されていなければ、サブサーキットを生成する。次に未検索の素子がないかどうかを判定し、未検索の素子が存在すれば、再度半導体集積回路の素子を検索するという過程を繰り返すことにより半導体集積回路内の素子のうちレイアウト構成を指定している素子のサブサーキットを生成することが可能となる。
【００１２】
前記半導体集積回路内の素子でレイアウト構成が指定されている素子について前記指定されたレイアウト構成に対応したレイアウト構成サブサーキットを生成後に、前記半導体集積回路内の前記素子間のネットリストを生成して、さらに精度の指定により前記寄生素子の影響を考慮した等価回路のサブサーキットを使用して、シミュレーションを実行することにより、実際のレイアウトに対応した素子構成で寄生の影響を考慮して、シミュレーションすることが可能となるという効果を奏する。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１４】
本発明の実施の形態については請求項３記載のシミュレーション方法について図３を参照しながら、請求項１及び請求項２記載のシミュレーション方法についてまとめて説明する。
【００１５】
図３は、本発明の一実施の形態であるシミュレーションの方法を説明する図である。
【００１６】
Ｓ３０１は半導体集積回路の回路図を作成する手段、Ｓ３０２はＳ３０１で作成された回路図内で使用されている素子に寄生の影響を考慮した等価回路のサブサーキットを使用するかどうかを指定することによりシミュレーションの精度を指定するシミュレーション精度指定手段、Ｓ３０３はＳ３０１で作成した半導体集積回路内の素子に対してレイアウト構成を指定する手段、Ｓ３０４はＳ３０１で作成された回路図内に使用されている素子からサブサーキットを生成する手段。Ｓ３０５はＳ３０１で作成された回路図からシミュレーションに使用するための素子間のネットリストを生成する手段。Ｓ３０６はＳ３０４で生成されたサブサーキットとＳ３０５で生成された前記シミュレーションで使用するための素子間のネットリストを読み込む手段。Ｓ３０７はＳ３０１で作成された前記半導体集積回路内で使用されている素子のモデルパラメータやレイアウトの寄生素子が付加された等価回路で構成されたライブラリを読み込む手段。Ｓ３０８は前記Ｓ３０４で生成されたサブサーキットとＳ３０５で生成された前記シミュレーションで使用するためのネットリストとＳ３０７で読み込んだ前記ライブラリとを用いてシミュレーションを実行する手段である。
【００１７】
図４を用いて、本発明の一実施の形態であるＳ３０２のレイアウト構成指定手段について説明する。
【００１８】
４０１及び４０３は回路図作成手段Ｓ３０１で使用するＭＯＳＦＥＴ及び抵抗素子のシンボルの一例であり、レイアウトの構成をシンボルのプロパティによって指定する方法であり、プロセスによって前記以外の素子のシンボルも用意されている。４０１はＰチャネルのＭＯＳＦＥＴのシンボルでプロパティでモデル名を指定するｍｏｄｅｌ、ゲート幅を指定するｗ、ゲート長を指定するλ、ゲートの分割数を指定するｆｉｎｇｅｒを有している。図４の（ａ−１）ではシンボルのプロパティにｗ＝８０μｍ、λ＝２μｍ、ｆｉｎｇｅｒ＝２を指定するとレイアウトでの素子は図４の（ａ−２）にあるようにゲートが２つに分割されｗ＝４０μｍのＰチャネルＭＯＳＦＥＴが並列に接続される。また図４の（ｂ−１）は抵抗素子の一例でシンボルのプロパティにモデル名を指定するｍｏｄｅｌ、抵抗値を指定するｒ、接続の構成を指定するｐａｔｔｅｒｎ、構成する本数を指定するｎｕｍｂｅｒを有しており、抵抗値ｒは３ｋΩ、接続の構成を指定するｐａｔｔｅｒｎにはｓｅｒｉｅｓ、構成する本数を指定するｎｕｍｂｅｒには３を指定するとレイアウトでの素子は図４（ｂ−２）のように１ｋΩの抵抗３本が直列接続される。またレイアウト構成を指定する方法として半導体集積回路内の素子とそれに対応する素子のレイアウト構成をテーブルに記述して指定する方法でも同様な効果を得ることが可能である。
【００１９】
図５を用いて本発明の一実施の形態であるＳ３０２のシミュレーション精度指定手段について説明する。
【００２０】
図５において５０１及び５０４は回路図作成手段Ｓ３０１で使用する抵抗素子のシンボルの一例であり、５０１はプロパティにモデル名を指定するｍｏｄｅｌ、抵抗値を指定するｒ、寄生の影響を考慮した等価回路のサブサーキットを使用するかどうかを指定するためのシミュレーション精度指定プロパティｐｒｅｃｉｓｉｏｎを有しており、この場合ｐｒｅｃｉｓｉｏｎ＝０の場合は図５（ａ−２）のように通常の抵抗素子としてシミュレーションが行われ、ｐｒｅｃｉｓｉｏｎ＝１の場合は図５（ａ−２）の抵抗素子にさらに図５（ａ−３）にあるように寄生の容量を持った等価回路のサブサーキットを読み込んでシミュレーションを実行する。また図５（ｂ−１）に示した例では５０４はシミュレーション精度指定プロパティに加えて、接続の構成を指定するｐａｔｔｅｒｎ、構成する本数を指定するｎｕｍｂｅｒを有しており、５０５、５０６及び５０７はレイアウト構成を指定するプロパティにより指定された場合に作成されるサブサーキットを構成する抵抗素子である。図５（ｂ−１）の５０４では抵抗値ｒは３ｋΩ、接続の構成を指定するｐａｔｔｅｒｎにはｓｅｒｉｅｓ、構成する本数を指定するｎｕｍｂｅｒには３を指定するとシミュレーション時には図５（ｂ−２）のようなサブサーキットを作成し、さらに５０４ではｐｒｅｃｉｓｉｏｎ＝１が指定されているのでシミュレーション時には素子５０５、５０６及び５０７の素子に対してさらに図５（ａ−３）で示したような寄生の容量をもった等価回路のサブサーキットを読み込んでシミュレーションが行われる。
【００２１】
図６は、本発明の一実施の形態であるＳ３０３のレイアウト構成サブサーキット生成手段を説明するフローチャートである。
【００２２】
６０１で半導体集積回路内で使用されている素子を検索し、６０２で未検索の素子が存在するかどうか判定し、未検索の素子に対して６０３でシミュレーション精度の指定がされているどうか調べ、６０４でレイアウトの構成が指定されているかどうかを判定し、６０５で６０４でレイアウトの構成が指定されている場合ですでに他の素子と同一のシミュレーション精度でかつ同一のレイアウト構成の素子が存在したためにすでにサブサーキットが生成されているかどうかを判定し、生成されていなければ６０６でサブサーキットを生成し、６０１に戻り半導体集積回路の素子を検索するという過程を繰り返すことにより、半導体集積回路内の素子でシミュレーション精度に対応したレイアウト構成を指定している素子のサブサーキットを生成することが可能となる。
【００２３】
図７を用いて図３の具体的なフローを説明する。
【００２４】
７０１は半導体集積回路であり、７０２は電源のシンボルであり、７０３及び７０４は半導体集積回路７０１内で使用されているＰチャネルＭＯＳＦＥＴ素子であり、７０５、７０６、７０７は前記半導体集積回路７０１で使用されているＮＰＮトランジスタであり、７０８は前記集積回路７０１内で使用されている抵抗素子であり、７０９は接地電位を表すシンボルである。
【００２５】
回路図作成手段Ｓ３０１で７０１の回路図を作成し、シミュレーション精度指定手段Ｓ３０２で７０８の抵抗素子のシミュレーション精度指定プロパティｐｒｅｃｉｓｉｏｎに１を指定する。この場合の例では１を指定することにより寄生の影響を考慮した等価回路のサブサーキットを使用する。レイアウト構成指定手段Ｓ３０３で７０３、７０４のＰチャネルＭＯＳＦＥＴのｆｉｎｇｅｒプロパティに２という値を指定し、７０８の抵抗素子のプロパティｐａｔｔｅｒｎにレイアウトの構成パターンとしてｓｅｒｉｅｓ、プロパティｎｕｍｂｅｒに構成本数として３を指定する。Ｓ３０４で７０１内で使用されている素子のレイアウト構成サブサーキットを生成する。素子のサブサーキットの生成方法は後で説明するが、半導体集積回路７０１ではレイアウトの構成が指定されているものは７０３、７０４のＰチャネルＭＯＳＦＥＴ及び７０８の抵抗素子であるのでサブサーキットを生成する。
【００２６】
図８にサブサーキットの一例を示す。図８（ａ）は７０３、７０４のＰチャネルＭＯＳＦＥＴに対応するサブサーキットであり、シミュレーション精度の指定プロパティｐｒｅｃｉｓｉｏｎに０が指定されているため通常のＭＯＳＦＥＴのモデルを使用する。またサブサーキット名がモデル名と重ならないためにモデル名ＰＣＨＭＯＳにレイアウトの構成を識別するためにｆ２を加えた名前でモデルサブサーキットを生成し、また図８（ｂ）に示したような７０８の抵抗素子に対応したサブサーキットである。素子７０８の抵抗素子はシミュレーション精度指定プロパティｐｒｅｃｉｓｉｏｎに１が指定されているため、寄生の影響を考慮した等価回路のサブサーキットを使用するため、シミュレーション実行時にモデル名ｐｏｌｙ＿ｐｒ１を用いる。またレイアウト構成を指定するプロパティｐａｔｔｅｒｎ、ｎｕｍｂｅｒにそれぞれ値が指定されているため、レイアウトの構成を識別するためのｓ３を加えた名前でサブサーキット名を出力し、それぞれサブサーキット内の素子に半導体集積回路５０１の素子に指定して前記シミュレーション時のモデル名を引き継ぐようにサブサーキット内を生成する。
【００２７】
さらにネットリスト生成手段Ｓ３０４で半導体集積回路７０１の素子間のネットリストを生成する。
【００２８】
図９に半導体集積回路７０１のネットリストを示す。レイアウト構成サブサーキットを構成した素子についてはモデル名を一致させてネットリストを生成する。次にネットリスト及びレイアウト構成サブサーキット読み込み手段Ｓ３０６でレイアウト構成サブサーキット生成手段Ｓ３０４で生成したレイアウト構成サブサーキットとネットリスト生成手段Ｓ３０５で生成したネットリストをシミュレータに読み込み、さらにモデルパラメータと寄生の影響を考慮した等価回路のサブサーキットとで構成されるライブラリ読み込み手段Ｓ３０７で読み込み、シミュレーション手段Ｓ３０８で半導体集積回路７０１の回路シミュレーションを実施する。
【００２９】
さらに図６を用いて具体的にサブサーキットを生成するフローについて説明する。本発明の一実施の形態であるＳ３０４のサブサーキット生成手段において、ステップ６０１で半導体集積回路７０１内の素子を検索し、ステップ６０２において未検索の素子が存在するかどうかを判定する。この例において素子７０３においてまずシミュレーション精度が指定されているかどうか調べ、レイアウト構成を指定するパラメータに値が指定されているかどうかを調べる。この場合ＰチャネルＭＯＳＦＥＴ５０３はｐｒｅｃｉｓｉｏｎに０が指定されており、かつｆｉｎｇｅｒプロパティに値２が入力されているので図８（ａ）に示したようなサブサーキットを生成する。
【００３０】
次に素子７０４について前記素子７０３と同様にシミュレーション精度を指定するｐｒｅｃｉｓｉｏｎが１に、またレイアウト構成を指定するパラメータに値が指定されているかどうかを調べる。素子７０４はｆｉｎｇｅｒに値２が代入されているためサブサーキットを生成する素子に該当するが前記素子７０３の場合にステップ６０６で既に同じ構成のサブサーキットが生成されているためサブサーキットは生成しないで次の素子を検索する。素子７０５、７０６及び７０７はレイアウトを構成するパラメータを有していないため、次の素子７０８を調べる。抵抗素子７０８はシミュレーション精度を指定するプロパティｐｒｅｃｉｓｉｏｎに１が指定され、レイアウトを構成を指定するパラメータｐａｔｔｅｒｎ及びｎｕｍｂｅｒに値が代入されているため図８（ｂ）に示したようなサブサーキットを生成する。
【００３１】
また寄生素子の影響を考慮した等価回路のサブサーキットは精度またはレイアウト構成に応じて複数のパターンを予め準備しておきシミュレーション精度指定手法で複数のパターンを切り替え可能にしてシミュレーションを実行することも可能である。
【００３２】
【発明の効果】
本発明の半導体集積回路のシミュレーション方法は、半導体集積回路に設計しようとする回路の回路図を作成する手段と、前記素子の寄生影響を考慮した等価回路のサブサーキットを使用するかどうかを素子毎に指定するシミュレーション精度指定手段と、前記半導体集積積回路の回路図内の素子に対してレイアウト構成を指定する手段と、前記半導体集積回路内に使用されている素子のうち前記レイアウト構成指定手段でレイアウト構成を指定した素子のサブサーキットを生成する手段と、前記半導体集積回路図からシミュレーションに使用するための素子間のネットリストを生成する手段と、前記サブサーキット生成手段で生成されたサブサーキットと前記ネットリスト生成手段で生成されたネットリストを読み込む手段と、前記半導体集積回路内で使用されている素子のモデルパラメータと寄生の影響を考慮した等価回路のサブサーキットで構成されるライブラリを読み込む手段と、前記サブサーキットと前記ネットリストと前記ライブラリとを用いてシミュレーションを実行するシミュレーション手段とを備え、半導体集積回路のシミュレーションを行うものである。
【００３３】
従って本発明の半導体集積回路のシミュレーション方法によれば、寄生の影響を考慮した等価回路のサブサーキットを使用するかどうかを素子毎に指定してシミュレーションを行うことと、半導体集積回路内でレイアウトの構成が指定されている素子については、その構成に対応したサブサーキットを生成し、半導体集積回路内の素子間のネットリストを生成してからシミュレーションを実行することにより、実際の半導体集積回路の構成に加えて寄生の影響を考慮することと、前記半導体集積回路の素子個々に指定及び切り替え可能なシミュレーションが実行できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施の形態である半導体集積回路のシミュレーション方法の手順を示すフローチャート
【図２】本発明の一実施の形態である半導体集積回路のシミュレーション方法の手順を示すフローチャート
【図３】本発明の一実施の形態である半導体集積回路のシミュレーション方法の手順を示すフローチャート
【図４】本発明の一実施の形態である半導体集積回路の回路図内の素子におけるレイアウト構成を指定するパラメータとレイアウトの一例を示す図
【図５】Ｓ１０２のシミュレーション精度指定手段とＳ１０３のレイアウト構成指定手段とでパラメータを指定された素子の一例を示す図
【図６】Ｓ１０４のサブサーキット生成手段のより詳細な処理手順の一例を示すフローチャート
【図７】素子のレイアウト構成に対応したシミュレーションを実行しようとする電気回路の一例を示す回路図
【図８】素子のレイアウト構成に対応したＳ１０４で生成したサブサーキットの一例を示す図
【図９】図５に示した電気回路のネットリストの一例を示した図
【図１０】従来の技術のシミュレーションを実行しようとする電気回路の一例を示す図
【図１１】図８に示した電気回路のネットリストの一例を示した図
【図１２】従来の技術の素子のレイアウト構成に対応したサブサーキットの一例を示す図
【符号の説明】
Ｓ１０１  回路図作成手段
Ｓ１０２  シミュレーション精度指定手段
Ｓ１０３  ネットリスト生成手段
Ｓ１０４  ライブラリ読み込み手段
Ｓ１０５  シミュレーション手段
【図１】
2004302499.tif 000003
【図２】
2004302499.tif 000004
【図３】
2004302499.tif 000005
【図４】
2004302499.tif 000006
【図５】
2004302499.tif 000007
【図６】
2004302499.tif 000008
【図７】
2004302499.tif 000009
【図８】
2004302499.tif 000010
【図９】
2004302499.tif 000011
【図１０】
2004302499.tif 000012
【図１１】
2004302499.tif 000013
【図１２】
2004302499.tif 000014