説明

半導体集積回路設計装置、半導体集積回路設計方法及びプログラム

【課題】設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計できるようにすること。
【解決手段】半導体集積回路設計方法は、コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路設計装置、半導体集積回路設計方法及びプログラムに関し、特に、回路シミュレータを用いて定格を満たす半導体集積回路を設計するための半導体集積回路設計方法及びプログラムに関する。
【背景技術】
【0002】
回路設計においては、多様なテクノロジノードが用いられ、単一のテクノロジノードにも多数のデバイスが含まれる。したがって、各デバイスの定格値(例えば定格電圧、定格電流等)を把握することが困難となってきている。
【0003】
例えば、回路図を作成する際に、高圧の回路ブロックの回路図中において、定格外の低圧デバイスを使用してしまうおそれがある。このような誤りは、回路設計の段階で防ぐ必要がある。
【0004】
上記のような誤りを防ぐ方法として、市販の回路シミュレータの回路チェック機能(以下「BiasCheck」という)を使用する方法がある。BiasCheckを使用するためには、使用デバイスの定格電圧・電流を調べて、適用する回路シミュレータの仕様に合わせた所定の定義(以下「BiasCheck定義」という)をネットリストに記述する必要がある。
【0005】
市販の回路シミュレータは、ネットリスト中にBiasCheck定義を付加することで、各モデルの定格電圧・電流を超えた場合にレポートを出力する機能を有する。設計者は、回路中で使用しているデバイスを検出し、使用する回路シミュレータの書式に従って、BiasCheck定義を記述することにより、BiashCheckを利用している。
【0006】
図16は、従来の半導体集積回路設計方法を示すフローチャートである。図16を参照すると、まず、回路図を生成し(ステップS101)、SPICEネットリストF101として保存する。
【0007】
次に、設計者は、SPICEネットリストF101、デバイス定格値情報ファイルF102、各シミュレータのマニュアルF103、及び、各SUBCKTモデルの端子情報ファイルF104を参照しつつ、手作業でSPICEネットリストF101を編集し(ステップS102)、BiasCheck定義込みSPICEネットリストF105を作成する。
【0008】
作成したBiasCheck定義込みSPICEネットリストF105を、回路シミュレータの入力として、回路シミュレーションを行い(ステップS103)、BiasCheck結果F106が得られる。
【0009】
従来の半導体集積回路設計方法によると、BiasCheck結果を得るためには、個々の設計者は、SPICEネットリストF101を参照して、回路で使用しているデバイスを回路図又はネットリストから検出し、デバイス定格値情報ファイルF102を参照して、各デバイスの定格電圧・電流の値を調査し、各シミュレータのマニュアルF103を参照して、回路シミュレータ毎のBiasCheck定義の文法を把握して記述する必要がある。さらに、近年では、寄生を考慮したSUBCKT(サブサーキット)形式のモデルが一般に使用されていることから、設計者は、各SUBCKTモデルの端子情報ファイルF104を参照して、通常デバイスと書式が異なるSUBCKT文の端子名を調べて指定する作業も行なう必要がある。
【0010】
図17は、従来の回路シミュレータのBiasCheck定義を例示する図である。図17には、回路シミュレータA及び回路シミュレータBに対するBiasCheck定義が示されている。
【0011】
図17に示した回路シミュレータAに対するBiasCheck定義を参照すると、BiasCheck定義には、SUBCKT形式のデバイスを識別するための識別子「subckt=“device name”」と、端子情報を表す「diff=“V(pin1)−V(pin2)”」と、これらの端子間における定格値を表す「max=“xx” min=“xx”」とが含まれる。同様に、図17に示した回路シミュレータBに対するBiasCheck定義を参照すると、BiasCheck定義には、デバイスを識別するための識別子「model=“device name”」と、端子情報を表す「term1=“pin1” term2=“pin2”」と、これらの端子間における定格値を表す「max=“xx” min=“xx”」とが含まれる。図17に示すように、BiasCheck定義の書式は、一般に、ベンダーごとに、また、シミュレータごとに異なっている。
【0012】
なお、特許文献1において、素子の定格情報を含む定格値情報ファイルと、シミュレーション結果を格納するシミュレーション結果ファイルとを参照して、定格違反の有無を判定する装置が記載されている。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開平09−091320号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
以下の分析は、本発明者によってなされたものである。
【0015】
市販の回路シミュレータのBiasCheck機能は、定格外で使用しているデバイスを検出するのみであることから、設計者は、定格値違反の解決策について、自ら検討する必要がある。
【0016】
特許文献1に記載された装置も、定格違反のデバイスの有無を判定するのみであり、定格違反を解消するための対策が設計者に示されない。したがって、設計者は、BiasCheck結果と共に回路図を見直して、使用デバイスの選択に間違いがあったか否かを確認する必要があり、多くの手間と時間を要する。
【0017】
また、従来の半導体集積回路設計方法によると、BiasCheck定義(図17参照)を記述するために、多くの時間と労力が費やされ、設定漏れや設定ミスが生じるおそれもある。
【0018】
そこで、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計できるようにすることが課題となる。本発明の目的は、かかる課題を解決する半導体集積回路設計装置、半導体集積回路設計方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0019】
本発明の第1の視点に係る半導体集積回路設計装置は、
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成するバイアスチェック定義生成部と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証するバイアスチェック部と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する代替デバイス抽出部と、を備えている。
【0020】
本発明の第2の視点に係る半導体集積回路設計方法は、
コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含む。
【0021】
本発明の第3の視点に係るプログラムは、
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成処理と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証処理と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出処理と、をコンピュータに実行させる。
【発明の効果】
【0022】
本発明に係る半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の第1の実施形態に係る半導体集積回路設計方法を実現する装置の構成を概略的に示すブロック図である。
【図2】本発明の第1の実施形態に係る半導体集積回路設計方法を示すフローチャートである。
【図3】BiasCheck定義ファイル作成用のGUI(Graphic User Interface)を一例として示す図である。
【図4】フォーマットファイルを一例として示す図である。
【図5】フォーマットファイル内で使用するキーワードを一例として示す図である。
【図6】SPICEモデルファイルを一例として示す図である。
【図7】SPICEモデルファイルの端子情報を読み取った後のBiasCheck定義ファイルを一例として示す図である。
【図8】デバイス定格値情報ファイルを一例として示す図である。
【図9】デバイス定格値情報ファイルの定格情報を読み取った後のBiasCheck定義ファイルを一例として示す図である。
【図10】BiasCheck定義を一例として示す図である。
【図11】BiasCheck結果を一例として示す図である。
【図12】デバイス定格値情報ファイルを一例として示す図である。
【図13】変更前後のBiasCheck定義を一例として示す図である。
【図14】定格違反ありの場合における表示を一例として示す図である。
【図15】本発明の第2の実施形態に係る半導体集積回路設計装置の構成を示すブロック図である。
【図16】従来の半導体集積回路設計方法を示すフローチャートである。
【図17】従来の回路シミュレータのBiasCheck定義を例示する図である。
【発明を実施するための形態】
【0024】
本発明の第1の展開形態によると、上記第1の視点に係る半導体集積回路設計装置が提供される。
【0025】
本発明の第2の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、半導体集積回路設計装置が提供される。
【0026】
本発明の第3の展開形態によると、前記バイアスチェック定義生成部は、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、半導体集積回路設計装置が提供される。
【0027】
本発明の第4の展開形態によると、前記代替デバイス抽出部は、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出する、半導体集積回路設計装置が提供される。
【0028】
本発明の第5の展開形態によると、前記モデルはSPICEモデルであり、前記モデルファイルはSPICEモデルファイルである、半導体集積回路設計装置が提供される。
【0029】
本発明の第6の展開形態によると、前記モデルは、SUBCKT形式のSPICEモデルであり、前記モデルファイルはSUBCKT形式のSPICEモデルファイルである、半導体集積回路設計装置が提供される。
【0030】
本発明の第7の展開形態によると、前記デバイスは、MOSデバイス又はCAPデバイスであり、前記定格情報は、該MOSデバイス又は該CAPデバイスの2端子間に印加される電圧の定格値を含む、半導体集積回路設計装置が提供される。
【0031】
本発明の第8の展開形態によると、上記第2の視点に係る半導体集積回路設計方法が提供される。
【0032】
本発明の第9の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、半導体集積回路設計方法が提供される。
【0033】
本発明の第10の展開形態によると、前記生成工程において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、半導体集積回路設計方法が提供される。
【0034】
本発明の第11の展開形態によると、前記抽出工程において、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出する、半導体集積回路設計方法が提供される。
【0035】
本発明の第12の展開形態によると、上記第3の視点に係るプログラムが提供される。
【0036】
本発明の第13の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、プログラムが提供される。
【0037】
本発明の第14の展開形態によると、前記生成処理において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、プログラムが提供される。
【0038】
本発明の第15の展開形態によると、前記抽出処理において、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出する、プログラムが提供される。
【0039】
本発明の半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、BiasCheck定義が自動生成され、設計者が手作業でBiasCheck定義を作成する手間を省くことができる。また、本発明の半導体集積回路設計方法及びプログラムによると、回路シミュレータのBiasChechにより、定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本発明の半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【0040】
(実施形態1)
本発明の第1の実施形態に係る半導体集積回路設計方法について、図面を参照して説明する。
【0041】
図1は、本実施形態に係る半導体集積回路設計方法を実現する装置の構成を概略的に示すブロック図である。
【0042】
図1を参照すると、この装置は、演算処理部1、表示部2、9、10、操作部3、及び、記録媒体4〜8を有する。
【0043】
表示部2は、BiasCheck定義ファイルを作成するためのGUI(Graphic User Interface)を提供する。操作部3は、使用する回路シミュレータの指定と、入出力する記録媒体の指定を行なう。
【0044】
記録媒体4は、市販の回路シミュレータの書式情報を格納する。記録媒体5は、各デバイスの電圧・電流値定格情報を格納する。記録媒体6は、SPICEモデルのSUBCKT名とその端子情報を格納する。記録媒体7は、回路で使用しているデバイス情報を含む。
【0045】
表示部2と操作部3により、記録媒体4〜7を演算処理部1に入力し、操作部3で指定した回路シミュレータに応じたBiasCheck定義ファイル8を生成するとともに、記録媒体5と記録媒体7を比較して、回路で使用しているデバイスの定義もれがないかを確認した結果を表示部9に表示する。また、市販回路シミュレータによるデバイス定格チェック結果に違反が検出された場合には、デバイスの置き換え候補を表示部10に表示する。
【0046】
図2は、本実施形態に係る半導体集積回路設計方法のフローチャートである。
【0047】
図2を参照すると、まず、回路図を作成する(ステップS1)。次に、BiasCheck定義ファイル作成用のGUIを介して設計者が行なった入力に基づいて、BiasCheck定義を含むSPICEネットリストF5を自動生成する(ステップS2)。設計者は、GUIを介して、使用する回路シミュレータ、フォーマットファイルF1、SPICEモデルファイルF2、デバイス定格値情報ファイルF3を指定する。
【0048】
図3は、BiasCheck定義ファイル作成用のGUIを一例として示す図である。
【0049】
図3において、「Simulator Name」欄には、使用する回路シミュレータ名(例えば、Simulator−A、Simulator−B、Simulator−C)を指定する。「Format File」欄には、後述のフォーマットファイルF1を指定する。「Device Check File」欄には、後述のデバイス定格値情報ファイルF3を指定する。「SPICE Model File」欄には、後述のSPICEモデルファイルF2を指定する。
【0050】
図4は、フォーマットファイルF1を一例として示す図である。
【0051】
図4を参照すると、一例として、フォーマットファイルF1は、回路シミュレータSimulator−A、Simulator−B及びSimulator−CにおけるBiasCheck定義の書式を含む。図4に示したフォーマットファイルF1では、予め決められたキーワードを使用することで、各回路シミュレータの定義書式に対応可能とすることが好ましい。
【0052】
図5は、図4に示したフォーマットファイルF1において使用するキーワードを、一例として示す図である。図5においては、回路シミュレーションに用いられる素子の例として、MOSデバイス及びCAPデバイスに対するキーワードが例示されている。
【0053】
図5におけるVDSMAX及びVDSMINは、それぞれ、MOSデバイスのドレイン・ソース端子間における最大定格電圧(VdsMax)及び最小定格電圧(VdsMin)を表し、VGDMAX及びGDSMINは、それぞれ、MOSデバイスのゲート・ドレイン端子間における最大定格電圧(VgdMax)及び最小定格電圧(VgdMin)を表す。また、VMAX及びVMINは、それぞれ、CAPデバイスの両端における最大定格電圧(VMax)及び最小定格電圧(VMin)を表す。さらに、TERMD及びTERMSは、それぞれ、MOSデバイスのドレイン(Drain)端子名及びソース(Source)端子名を表す。
【0054】
なお、回路シミュレーションにおいて定格値が設定されるデバイスはこれらのデバイスに限られるわけではない。すなわち、フォーマットファイルF1は、MOSデバイス及びCAPデバイス(Capacitor、容量素子)に対するキーワードMOS、CAP以外に、抵抗素子(Resistor)、ダイオード(Diode)、バイポーラトランジスタ(Bipolar Transistor)、インダクタ(Inductor)に対するキーワードとして、RESISTOR、DIODE、BIPOLAR、INDUCTORを含むようにしてもよい。
【0055】
図6は、SPICEモデルファイルF2を一例として示す図である。
【0056】
図6は、SUBCKT形式のSPICEモデルファイルF2を一例として示す。図6を参照すると、MOSデバイスNMOS1ドレイン端子、ゲート端子、ソース端子、バックゲート端子に対する端子情報が、「DD GG SS BB」のように表されている。SPICEモデルファイルF2の「.SUBCKT」文から端子情報を読み取り、BiasCheck定義の端子名指定箇所(例えば、図4の「TERMD」、「TERMS」)に指定する。
【0057】
下記のBiasCheck定義例では、図6に示したSPICEモデルファイルF2のSUBCKT名「NMOS1」に対応する端子名「DD」と端子名「SS」を自動的に読み取って定義する。
【0058】
図7は、SPICEモデルファイルF2の端子情報を読み取った後のBiasCheck定義ファイルを一例として示す図である。
【0059】
図8は、デバイス定格値情報F3を一例として示す図である。図8を参照すると、デバイス定格値情報は、デバイスの種類に応じて記載する。例えば、MOSデバイスに対しては、VdsMax,VdsMin,VgdMax,VgdMin,VgsMax,VgsMin,VgbMax,VgbMin,VbdMax,VbdMin,VbsMax,VbsMinの順に記載するようにしてもよい。また、CAPデバイスに対しては、VMax,VMinの順に記載するようにしてもよい。図8を参照すると、MOSデバイスNMOS1の任意の2端子間の最大定格電圧は1.0、最小定格電圧は−1.0であり、MOSデバイスNMOS2の任意の2端子間の最大定格電圧は3.0、最小定格電圧は−3.0であり、CAPデバイスCAP1の2端子間の最大定格電圧は1.0、最小定格電圧は−1.0であり、CAPデバイスCAP2の2端子間の最大定格電圧は3.0、最小定格電圧は−3.0である。ここで、電圧の単位は、例えばボルト(Volt)である。
【0060】
以下のBiasCheck定義例では、図8に示したデバイス定格値情報ファイルF3のデバイス名に対応するVdsMax,VdsMinを参照して、max値、min値を定義する。
【0061】
図9は、デバイス定格値情報ファイルF3の定格値情報を読み取った後のBiasCheck定義ファイルを一例として示す図である。
【0062】
図10は、Simulator−A及びSimulator−Bに対するBiasCheck定義を一例として示す図である。
【0063】
図4に示したフォーマットファイルF1の書式に従って、各回路シミュレータに応じたBiasCheck定義文を自動的に生成することができる。
【0064】
以上のようにして、BiasCheck定義が生成されると(ステップS2)、図2に示すように、BiasCheck定義込みSPICEネットリストF5が生成される。
【0065】
本実施形態の半導体集積回路設計方法によると、BiasCheck定義が自動生成されることから、設計者が手作業でBiasCheck定義を作成する手間を省くことができる。
【0066】
図2を参照すると、BiasCheck定義込みSPICEネットリストF5を入力として、回路シミュレータで回路シミュレーションを行い(ステップS3)、BiasCheck結果F6が得られる。
【0067】
以下では、デバイス置換候補検出(ステップS6)、BiasCheck定義更新(ステップS8)、結果の表示(ステップS9)の各工程について詳細に説明する。
【0068】
まず、BiasCheck結果F6から定格違反デバイスの有無を判定する(ステップS5)。定格違反デバイスが存在する場合には(ステップS5のYes)、定格違反デバイスの情報を取得する。
【0069】
図11は、BiasCheck結果F6を一例として示す図である。図11を参照すると、BiasCheck結果F6には、定格違反デバイスとして、NMOS1と、CAP1が存在している(図2のステップS5のYes)。図11によると、MOSデバイスNMOS1のドレイン−ソース間の電圧が、最大定格電圧1.0を超えている。また、CAPデバイスCAP1の両端間の電圧が、最大定格電圧1.0を超えている。
【0070】
図12は、デバイス定格値情報ファイルF3を一例として示す図である。図12を参照すると、MOSデバイスNMOS1の任意の2端子間の最大定格電圧は1.0、最小定格電圧は−1.0であり、MOSデバイスNMOS2の任意の2端子間の最大定格電圧は3.0、最小定格電圧は−3.0であり、MOSデバイスNMOS3の任意の2端子間の最大定格電圧は5.0、最小定格電圧は−5.0であり、CAPデバイスCAP1の2端子間の最大定格電圧は1.0、最小定格電圧は−1.0であり、CAPデバイスCAP2の2端子間の最大定格電圧は3.0、最小定格電圧は−3.0である。
【0071】
次に、デバイス定格値情報ファイルF3からデバイス置換の暫定候補を抽出する(図2のステップS6)。具体的には、定格違反値より大きい定格値のデバイスを、デバイス定格値情報ファイルF3から検出する。
【0072】
図11のBiasCheck結果F6では、デバイス名「NMOS1」のドレイン−ソース間の電圧Vdsが、最大定格電圧VdsMaxの値1.0を超えていることから、ドレイン−ソース間の電圧の最大定格値VdsMaxが3.0及び5.0のデバイス「NMOS2」と「NMOS3」がデバイス置換の暫定候補となる(図2のステップS7のYes)。同様に、デバイス名「CAP1」のデバイス置換の暫定候補は、「CAP2」となる(図2のステップS7のYes)。
【0073】
次に、デバイス置換の暫定候補によると、定格違反が解消されるか否かを確認する。上記のデバイス置換の暫定候補の定格値情報に基づいて、SPICEネットリストのBiasCheck定義箇所を更新する(ステップS8)。
【0074】
図13は、更新前後のBiasCheck定義を一例として示す図である。「NMOS1」及び「CAP1」を、デバイス置換の暫定候補「NMOS2」及び「CAP2」に置き換える場合には、BiasCheck定義を図13のように置き換える(ステップS8)。
【0075】
更新後のBiasCheck定義ファイルを用いて、再度、回路シミュレータのBiasCheckを実行する(ステップS3)。
【0076】
BiasCheck結果において定格違反が存在し(ステップS5のYes)、かつ、デバイス置換の暫定候補が存在する場合には(ステップS7のYes)、ステップS3及びステップS5〜S8の処理を繰り返す。
【0077】
BiasCheck結果において定格違反が無くなるか(ステップS5のNo)、又は、デバイス置換の暫定候補が存在しない場合には(ステップS7のNo)、定格違反結果・デバイス置換候補を表示する(ステップS9)。
【0078】
ステップS3で得られたBiasCheck結果F6から、定格違反の有無とデバイス置換の候補を、次のように表示する(ステップS9)。
【0079】
すなわち、定格違反が最初から存在しない場合には、違反箇所がない旨を表示する。一方、定格違反が存在するものの、デバイス置換候補により定格違反が解消しうる場合には、デバイス置換候補を表示する。さらに、定格違反が存在し、デバイス置換の暫定候補が存在しない場合には、デバイス置換候補がない旨を表示する。
【0080】
図14は、定格違反が存在する場合における表示を一例として示す図である。図14を参照すると、各違反箇所Inst1〜Inst4に対する置換候補のデバイスが表示されている。また、違反箇所Inst5に対する置換候補は存在しない旨が表示されている。
【0081】
本実施形態の半導体集積回路設計方法によると、回路シミュレータのBiasChechにより、定格値違反が検出された場合には、設計者にその解決策が提示される。すなわち、デバイス定格値情報ファイルに含まれるデバイスの中から、定格値違反となったデバイスに対する代替のデバイスが自動的に抽出される。
【0082】
以上より、本実施形態の半導体集積回路設計方法によると、BiasCheck定義が自動生成され、設計者が手作業でBiasCheck定義を作成する手間を省くことができ、回路シミュレータのBiasChechによって定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本実施形態の半導体集積回路設計方法によると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【0083】
(実施形態2)
本発明の第2の実施形態に係る半導体集積回路設計装置について、図面を参照して説明する。図15は、本実施形態の半導体集積回路設計装置20の構成を示すブロック図である。
【0084】
図15を参照すると、半導体集積回路設計装置20は、バイアスチェック定義生成部21と、バイアスチェック部22と、代替デバイス抽出部23と、記憶部25とを有する。
【0085】
記憶部25は、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルF1(図4)と、各デバイスの定格値情報を格納したデバイス定格値情報ファイルF3(図8)と、各デバイスのモデルの端子情報を格納したSPICEモデルファイルF2(図2)とを格納している。バイアスチェック定義は、例えば、デバイスの識別子と、デバイスの端子情報と、デバイスの定格値情報とを含む(図10参照)。
【0086】
バイアスチェック定義生成部21は、フォーマットファイルF1と、デバイス定格値情報ファイルF3と、SPICEモデルファイルF2を参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する。バイアスチェック定義生成部21は、フォーマットファイルF1に含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、SPICEモデルファイルF2に含まれる各デバイスに対する端子情報によって置き換えるとともに、当該書式に含まれる定格値情報を、定格値情報ファイルF3に含まれる各デバイスに対する定格値情報によって置き換えるようにしてもよい。
【0087】
バイアスチェック部22は、バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する。
【0088】
代替デバイス抽出部23は、定格違反となるデバイスが存在する場合には、当該デバイスに対する代替候補を、デバイス定格値情報ファイルF3(図8)に含まれるデバイスの中から抽出する。代替デバイス抽出部23は、バイアスチェック定義における第1のデバイスに対する定格値情報を、デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する。定格違反が解消された場合には、代替デバイス抽出部23は、第2のデバイスを第1のデバイスに対する代替候補として抽出するようにしてもよい。
【0089】
本実施形態の半導体集積回路設計装置20によると、BiasCheck定義が自動生成され、設計者が手作業でBiasCheck定義を作成する手間を省くことができ、回路シミュレータのBiasChechによって定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本実施形態の半導体集積回路設計装置20によると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【0090】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0091】
1 演算処理部
2 表示部
3 操作部
4〜8 記録媒体
9、10 表示部
20 半導体集積回路設計装置
21 バイアスチェック定義生成部
22 バイアスチェック部
23 代替デバイス抽出部
25 記憶部
F1 フォーマットファイル
F2 SPICEモデルファイル
F3、F102 デバイス定格値情報ファイル
F5、F105 BiasCheck定義込みSPICEネットリスト
F6、F106 BiasCheck結果
F101 SPICEネットリスト
F103 シミュレータのマニュアル
F104 SUBCKTモデルの端子情報ファイル

【特許請求の範囲】
【請求項1】
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成するバイアスチェック定義生成部と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証するバイアスチェック部と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する代替デバイス抽出部と、を備えていることを特徴とする半導体集積回路設計装置。
【請求項2】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項1に記載の半導体集積回路設計装置。
【請求項3】
前記バイアスチェック定義生成部は、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項2に記載の半導体集積回路設計装置。
【請求項4】
前記代替デバイス抽出部は、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出することを特徴とする、請求項1乃至3のいずれか1項に記載の半導体集積回路設計装置。
【請求項5】
前記モデルはSPICEモデルであり、前記モデルファイルはSPICEモデルファイルであることを特徴とする、請求項1乃至4のいずれか1項に記載の半導体集積回路設計装置。
【請求項6】
前記モデルは、SUBCKT形式のSPICEモデルであり、前記モデルファイルはSUBCKT形式のSPICEモデルファイルであることを特徴とする、請求項5に記載の半導体集積回路設計装置。
【請求項7】
前記デバイスは、MOSデバイス又はCAPデバイスであり、前記定格情報は、該MOSデバイス又は該CAPデバイスの2端子間に印加される電圧の定格値を含むことを特徴とする、請求項1乃至6のいずれか1項に記載の半導体集積回路設計装置。
【請求項8】
コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含むことを特徴とする半導体集積回路設計方法。
【請求項9】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項8に記載の半導体集積回路設計方法。
【請求項10】
前記生成工程において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項9に記載の半導体集積回路設計方法。
【請求項11】
前記抽出工程において、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出することを特徴とする、請求項8乃至10のいずれか1項に記載の半導体集積回路設計方法。
【請求項12】
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成処理と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証処理と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出処理と、をコンピュータに実行させることを特徴とするプログラム。
【請求項13】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項12に記載のプログラム。
【請求項14】
前記生成処理において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項13に記載のプログラム。
【請求項15】
前記抽出処理において、前記バイアスチェック定義における第1のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第2のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第2のデバイスを該第1のデバイスに対する代替候補として抽出することを特徴とする、請求項12乃至14のいずれか1項に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−204007(P2011−204007A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−70611(P2010−70611)
【出願日】平成22年3月25日(2010.3.25)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】