(57)【要約】【課題】マルチプライヤーの機能を利用した相対バラツキのモンテカルロシミュレーションを用いる回路シミュレータを提供する。【解決手段】回路図作成手段の処理（Ｓ１）として、設計者がシンボルを使用して半導体集積回路を記述して回路図を作成する。作成された回路図の素子の中で、相対バラツキを指定したい素子に、相対バラツキ発生装置挿入手段の処理（Ｓ２）として、並列数を考慮した相対バラツキを発生する相対バラツキ発生装置の挿入をシンボルのプロパティで指定する。さらに、ネットリスト生成手段の処理（Ｓ３）として、半導体集積回路図のネットリストを生成する。シミュレーション手段の処理（Ｓ４）として、処理（Ｓ３）で生成されたネットリストを使用してシミュレーションを行い、マルチプライヤーの機能を使用しても、並列数が考慮された相対バラツキの回路シミュレーションの結果を得られる。【選択図】図１
2006227869.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の回路素子値の相対バラツキが回路特性に与える影響を解析する回路シミュレータにおいて、
前記半導体集積回路の回路図を作成する回路図作成手段と、前記回路図内の素子において並列数を考慮した相対バラツキを発生する相対バラツキ発生装置を前記回路図に基づくサブサーキットで挿入する相対バラツキ発生装置挿入手段と、前記半導体集積回路のネットリストを生成するネットリスト生成手段と、前記ネットリストを用いて回路シミュレーションを行うシミュレーション手段とを備えたことを特徴とする回路シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の回路シミュレーションに関するもので、特に、相対バラツキのモンテカルロシミュレーションを用いる回路シミュレータに関するものである。
【背景技術】
【０００２】
従来のこの種の回路シミュレータは、修正節点解析法を基に回路中にある素子の電圧、素子を流れる電流についての連立方程式を立て、これを解くことにより回路全体の電圧、電流の値を得る。解の導出はニュートン・ラプソン（Newton−Raphson）法と呼ばれる、非線形方程式を線形近似して、繰り返し法により最終解を導出するアルゴリズムを基本としている。大規模アナログ回路の場合、素子レベルの回路図を対象とする回路シミュレーションでは、解析に非常に多くの時間を必要とするため、必要最小限のインスタンス数で設計を行うことが望ましい。この技術として、複数のインスタンスを用いて同じ性質の素子を並列に接続する代わりに、単一のインスタンスの解析結果を並列倍することで同等の結果を得ることができるマルチプライヤーの機能を利用し、インスタンス数の削減を行う。
【０００３】
ここで、マルチプライヤーの機能について、図５（ａ）,（ｂ）、図６（ａ），（ｂ）を用いて説明を行う。図５（ａ）において、１は回路図に使用する一例を示すシンボルであり、ＭＯＳＦＥＴ素子を表す。通常、シンボル１のプロパティ３に入力された値を使用してネットリストを生成している。プロパティ３の「ｍｏｄｅｌ」にはモデル名、「ｗ」にはＭＯＳＦＥＴ素子のゲート幅、「ｌ」にはＭＯＳＦＥＴ素子のゲート長、「ｍ」にはマルチプライヤーの数を入力する。
【０００４】
図５（ａ）に示すシンボル１は、シンボル１のプロパティ３の「ｍ」に「２」を入力することでマルチプライヤーの機能を使用しており、図５（ｂ）にシンボル１を使用して作成したネットリスト４を示す。このネットリスト４を使用すると、解析時にインスタンス２の２並列の処理が行われる。
【０００５】
一方、図６（ａ）において、５はシンボルを２並列に接続した回路図を示し、インスタンス６，７を使用して、直接的に回路図５上で２並列になっている。また、図６（ｂ）の１０は回路図５から生成したネットリストを示す。図５（ｂ）のネットリスト４と図６（ｂ）のネットリスト１０の比較より、マルチプライヤーの機能を使用すると、本来、並列数分発生するインスタンスを、１つのインスタンスで担うことができ、インスタンス数の削減が可能となる。
【０００６】
しかし、このマルチプライヤーの機能は、回路シミュレーションの解析実行時に並列処理を行うため、回路シミュレーションの解析実行前に、解析で使用される数値が変動するようなシミュレーションには対応できない。例えば、非特許文献１にある、相対バラツキのモンテカルロシミュレーションのように、回路シミュレーションの解析実行前に乱数を発生させ、相対バラツキを設定したインスタンスに乱数を割り当てた後、回路シミュレーションの解析を実行するシミュレーションには、マルチプライヤーが機能しない。
【０００７】
具体的な例として、図７（ａ），（ｂ）に示す相対バラツキのモンテカルロシミュレーションの結果を示すバラツキ分布特性を使用して説明する。図７（ａ）は１素子についての相対バラツキのモンテカルロシミュレーション結果を示し、１１は標準偏差：σを示す。また、図７（ｂ）はｍ個の素子を並列に配置した場合の相対バラツキのモンテカルロシミュレーション結果を示し、１２は標準偏差：σを示す。ここで、１素子において相対バラツキのモンテカルロシミュレーションの結果が、標準偏差１１：σ＝ａであると仮定すると、同じ素子をｍ個並列に配列した結果は、標準偏差１２：σ＝ａ／√ｍを得る。
【０００８】
しかし、マルチプライヤーの機能を使用して並列接続にした素子は、前述した事由により並列素子同士の乱数が互いに独立でないために、図７（ａ）の標準偏差１１に示す１素子についての相対バラツキである標準偏差１１：σ＝ａの結果を得る。よって、相対バラツキのモンテカルロシミュレーションにおいては、マルチプライヤーの機能を使用せずに、直接シンボルを並列に配置する手法を使用している。
【非特許文献１】「日本語版  ＨＳＰＩＣＥ  ＵＳＥＲ‘Ｓ  ＭＡＮＵＡＬ（ＨＳＰＩＣＥ  Version  Ｈ９２Ａ）」volume３，ＮＴＴアドバンステクノロジ株式会社  応用システム事業部  ＣＡＤ応用事業部，平成６年７月発行，p.７-１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、相対バラツキの回路シミュレーションは、シミュレーション回数を１００回以上行わないとバラツキ分布の精度が上がらないこともあり、単純に（１回のシミュレーション解析時間）×（シミュレーション回数）の時間を必要とするという問題があった。よって、１回のシミュレーション解析時間の短縮を図ることが重要となり、マルチプライヤーの機能を使用したインスタンスの削減を行うことで、シミュレーション解析時間の短縮を行う必要性は高い。
【００１０】
本発明は、前記従来技術の問題を解決することに指向するものであり、マルチプライヤーの機能を利用した相対バラツキのモンテカルロシミュレーションを用いる回路シミュレータを提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記の目的を達成するために、本発明に係る回路シミュレータは、半導体集積回路の回路素子値の相対バラツキが回路特性に与える影響を解析する回路シミュレータにおいて、半導体集積回路の回路図を作成する回路図作成手段と、回路図内の素子において並列数を考慮した相対バラツキを発生する相対バラツキ発生装置を回路図に基づくサブサーキットで挿入する相対バラツキ発生装置挿入手段と、半導体集積回路のネットリストを生成するネットリスト生成手段と、ネットリストを用いて回路シミュレーションを行うシミュレーション手段とを備えたことを特徴とする。
【００１２】
前記構成によれば、マルチプライヤーの機能を使用した相対バラツキのモンテカルロシミュレーションができ、かつインスタンス数を削減することができる。
【発明の効果】
【００１３】
本発明によれば、マルチプライヤーの機能を使用した相対バラツキのモンテカルロシミュレーションを用いることができ、かつインスタンス数を削減することによる解析速度を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明における実施の形態を詳細に説明する。
【００１５】
図１は本発明の実施の形態における半導体集積回路のシミュレーションを行う回路シミュレータの動作を示すフローチャートである。図１に示すように、回路図作成手段の処理（Ｓ１）として、設計者がシンボルを使用して半導体集積回路を記述して回路図を作成する。サブサーキットとして作成された回路図の素子の中で、相対バラツキを指定したい素子に、相対バラツキ発生装置挿入手段の処理（Ｓ２）として、並列数を考慮した相対バラツキを発生する相対バラツキ発生装置の挿入をシンボルのプロパティで指定する。さらに、ネットリスト生成手段の処理（Ｓ３）として、半導体集積回路図のネットリストを生成する。シミュレーション手段の処理（Ｓ４）として、処理（Ｓ３）で生成されたネットリストを使用して回路シミュレーションを行い、これによりマルチプライヤーの機能を使用しても、並列数が考慮された相対バラツキの回路シミュレーションの結果を得る。
【００１６】
また、図２（ａ）〜（ｄ）は並列数を考慮した相対バラツキ発生装置を挿入する機能を説明する図である。以下、図２（ａ）〜（ｄ）を参照しながら、図１に示す回路図作成手段の処理（Ｓ１）と相対バラツキ発生装置挿入手段の処理（Ｓ２）とネットリスト生成手段の処理（Ｓ３）について説明する。
【００１７】
図２（ａ）において、２１は回路設計手段として使用する一例を示すシンボル、２２はＭＯＳＦＥＴ素子を表すインスタンス、２３はシンボル２１のプロパティを示している。プロパティ２３の「ｍ＝１」の数字の部分に示すように、並列数を指定することでマルチプライヤーの機能を使用した並列処理を選択できる。またさらに、「ｌ＝２ｕｍ」でゲート長、「ｗ＝８０ｕｍ」でゲート幅、「ｍｏｄｅｌ＝ＰＣＨＭＯＳ」でモデル名を設定する。ここで、相対バラツキ発生装置挿入手段の処理（Ｓ２）として、シンボル２１のプロパティ２３に「ｆｌａｇ：装置選択」を設定し、この装置選択部分に「ｍｃ」を指定すると、並列数を考慮した相対バラツキを発生する相対バラツキ発生装置を挿入し、「ｎｏｒｍａｌ」を指定すると、相対バラツキ発生装置を挿入しない仕様となっている。また、シンボル２１のＭＯＳＦＥＴ素子以外に、バイポーラ素子、抵抗素子、容量素子についても同様にシンボルが準備されている。
【００１８】
図２（ｂ）に示すネットリスト２４は、ネットリスト生成手段の処理（Ｓ３）を用いて、シンボル２１よりネットリスト２４を生成した場合の一例を示す。また、図２（ｃ）に示すサブサーキット２５は、相対バラツキ発生装置挿入手段の処理（Ｓ２）を使用して、並列数を考慮した相対バラツキを発生する装置を挿入するための一例を示し、さらに、サブサーキット２５のイメージ図を図２（ｄ）に示す。
【００１９】
相対バラツキ発生装置挿入手段の処理（Ｓ２）において、シンボル２１のプロパティ２３にある「ｆｌａｇ」が「ｍｃ」と設定されている場合には、ネットリスト２４のモデル名を「モデル名（例ではＰＣＨＭＯＳ）＿ＭＣ」と定義し、サブサーキット２５のモデル名を「モデル名＿ＭＣ」と定義することで、イメージ図（図２（ｄ）参照）ようにＭＯＳＦＥＴ素子２８に並列数を考慮した相対バラツキを発生する相対バラツキ発生装置２７が付加されたシンボル素子２６をネットリスト２４で呼び出すことができる。
【００２０】
よって、ネットリスト２４とサブサーキット２５のモデル名を「モデル名＿ＭＣ」と定義することで、通常のＭＯＳＦＥＴ素子に並列数を考慮した相対バラツキを発生する装置を付加することができる。また、図２（ａ）〜（ｄ）の例として上げたＭＯＳＦＥＴ素子以外にも、バイポーラ素子、抵抗素子、容量素子などに、同様な手段が適応できる。
【００２１】
具体的に、本実施の形態における回路図作成手段の処理（Ｓ１）により作成した半導体集積回路の回路を示す図３を参照して、本実施の形態である相対バラツキ発生装置挿入手段の処理（Ｓ２）〜シミュレーション手段の処理（Ｓ４）の工程について説明する。
【００２２】
図３に示すシンボルにおいて、３０は電源、３１及び３２は半導体集積回路内で使用されているＰ型ＭＯＳＦＥＴ素子、３３，３４，３５は半導体集積回路で使用されているバイポーラ素子（ＮＰＮトランジスタ）、３６は半導体集積回路内で使用されている抵抗素子、３７は接地電位である。
【００２３】
いま、相対バラツキ発生装置挿入手段の処理（Ｓ２）により、図３に示す半導体集積回路内の３１〜３４，３６の各シンボルのプロパティ４１〜４４，４６に「ｆｌａｇ＝ｍｃ」が設定されており、３５のシンボルのプロパティ４５には「ｆｌａｇ＝ｎｏｒｍａｌ」と設定されている。この半導体集積回路をネットリスト生成手段の処理（Ｓ３）により作成したネットリスト５４を図４に示す。
【００２４】
ネットリスト生成手段の処理（Ｓ３）では、「ｆｌａｇ」が「ｍｃ」に指定されているものに関してはネットリスト５４のモデル名を「“シンボルに指定されたモデル名”＿ＭＣ」と定義し、「ｆｌａｇ」が「ｎｏｒｍａｌ」に指定されているものに関しては、シンボルに指定されたモデル名をそのまま定義するため、図３に示すＭＯＳＦＥＴ素子３１，３２は「ＭＯＳＦＥＴ＿ＭＣ」、バイポーラ素子３３，３４は「ＮＰＮ＿ＭＣ」、バイポーラ素子３５は「ＮＰＮ」、抵抗素子３６は「ＰＯＬＹ＿ＭＣ」とモデル名を定義される。
【００２５】
図４に示すネットリスト５４を用いて、シミュレーション手段の処理（Ｓ４）において相対バラツキの回路シミュレーションを行うと、抵抗素子に相対バラツキ発生装置を挿入するサブサーキット５１、バイポーラ素子に相対バラツキ発生装置を挿入するサブサーキット５２、ＭＯＳＦＥＴ素子に相対バラツキ発生装置を挿入するサブサーキット５３がそれぞれ使用される。サブサーキット５１〜５３のサブサーキット名は、それぞれ「ＰＯＬＹ＿ＭＣ」、「ＮＰＮ＿ＭＣ」、「ＰＣＨＭＯＳ＿ＭＣ」と定義され、素子毎に設定されたバラツキを発生する装置が記述されている。
【００２６】
以上のように、マルチプライヤーの機能を使用して並列処理を行った素子に、並列数を考慮した相対バラツキを発生する装置を、サブサーキットで挿入することで、マルチプライヤーの機能を使用した相対バラツキのモンテカルロシミュレーションが可能になる。
【産業上の利用可能性】
【００２７】
本発明に係る回路シミュレータは、マルチプライヤーの機能を使用した相対バラツキのモンテカルロシミュレーションを用いることができ、かつインスタンス数を削減して解析速度を向上でき、半導体集積回路の回路シミュレーションを行う回路シミュレータに有用である。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態における半導体集積回路のシミュレーションを行う回路シミュレータの動作を示すフローチャート
【図２】本実施の形態における並列数を考慮した相対バラツキ発生装置を挿入する機能を説明する（ａ）はシンボル、（ｂ）はネットリスト、（ｃ）はサブサーキット、（ｄ）はサブサーキットのイメージ図を示す図
【図３】本実施の形態における半導体集積回路の例を示す図
【図４】本実施の形態における相対バラツキ発生装置を挿入するためのサブサーキットと生成したネットリストを示す図
【図５】マルチプライヤーの機能を説明するための（ａ）はシンボル、（ｂ）はネットリストを示す図
【図６】マルチプライヤーの機能を説明するための（ａ）は回路図、（ｂ）はネットリストを示す図
【図７】従来のマルチプライヤーの機能を用いた相対バラツキのモンテカルロシミュレーション結果（ａ）は１個、（ｂ）はｍ個の素子の場合を示す図
【符号の説明】
【００２９】
１，２１  シンボル
２，６，７，２２  インスタンス
３，８，９，２３，２９，４１〜４６  プロパティ
４，１０，２４，５４  ネットリスト
５  回路図
１１，１２  標準偏差
２５，５１〜５３  サブサーキット
２６  シンボル素子
２７  相対バラツキ発生装置
２８、３１，３２  ＭＯＳＦＥＴ素子
３０  電源
３３〜３５  バイポーラ素子
３６  抵抗素子
３７  接地電位
【図１】
2006227869.tif 000003
【図２】
2006227869.tif 000004
【図３】
2006227869.tif 000005
【図４】
2006227869.tif 000006
【図５】
2006227869.tif 000007
【図６】
2006227869.tif 000008
【図７】
2006227869.tif 000009