(57)【要約】【課題】設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計できるようにすること。【解決手段】半導体集積回路設計方法は、コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含む。【選択図】図２
2011204007.tif 000002
【特許請求の範囲】
【請求項１】
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成するバイアスチェック定義生成部と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証するバイアスチェック部と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する代替デバイス抽出部と、を備えていることを特徴とする半導体集積回路設計装置。
【請求項２】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項１に記載の半導体集積回路設計装置。
【請求項３】
前記バイアスチェック定義生成部は、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項２に記載の半導体集積回路設計装置。
【請求項４】
前記代替デバイス抽出部は、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出することを特徴とする、請求項１乃至３のいずれか１項に記載の半導体集積回路設計装置。
【請求項５】
前記モデルはＳＰＩＣＥモデルであり、前記モデルファイルはＳＰＩＣＥモデルファイルであることを特徴とする、請求項１乃至４のいずれか１項に記載の半導体集積回路設計装置。
【請求項６】
前記モデルは、ＳＵＢＣＫＴ形式のＳＰＩＣＥモデルであり、前記モデルファイルはＳＵＢＣＫＴ形式のＳＰＩＣＥモデルファイルであることを特徴とする、請求項５に記載の半導体集積回路設計装置。
【請求項７】
前記デバイスは、ＭＯＳデバイス又はＣＡＰデバイスであり、前記定格情報は、該ＭＯＳデバイス又は該ＣＡＰデバイスの２端子間に印加される電圧の定格値を含むことを特徴とする、請求項１乃至６のいずれか１項に記載の半導体集積回路設計装置。
【請求項８】
コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含むことを特徴とする半導体集積回路設計方法。
【請求項９】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項８に記載の半導体集積回路設計方法。
【請求項１０】
前記生成工程において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項９に記載の半導体集積回路設計方法。
【請求項１１】
前記抽出工程において、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出することを特徴とする、請求項８乃至１０のいずれか１項に記載の半導体集積回路設計方法。
【請求項１２】
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成処理と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証処理と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出処理と、をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含むことを特徴とする、請求項１２に記載のプログラム。
【請求項１４】
前記生成処理において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換えることを特徴とする、請求項１３に記載のプログラム。
【請求項１５】
前記抽出処理において、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出することを特徴とする、請求項１２乃至１４のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計装置、半導体集積回路設計方法及びプログラムに関し、特に、回路シミュレータを用いて定格を満たす半導体集積回路を設計するための半導体集積回路設計方法及びプログラムに関する。
【背景技術】
【０００２】
回路設計においては、多様なテクノロジノードが用いられ、単一のテクノロジノードにも多数のデバイスが含まれる。したがって、各デバイスの定格値（例えば定格電圧、定格電流等）を把握することが困難となってきている。
【０００３】
例えば、回路図を作成する際に、高圧の回路ブロックの回路図中において、定格外の低圧デバイスを使用してしまうおそれがある。このような誤りは、回路設計の段階で防ぐ必要がある。
【０００４】
上記のような誤りを防ぐ方法として、市販の回路シミュレータの回路チェック機能（以下「ＢｉａｓＣｈｅｃｋ」という）を使用する方法がある。ＢｉａｓＣｈｅｃｋを使用するためには、使用デバイスの定格電圧・電流を調べて、適用する回路シミュレータの仕様に合わせた所定の定義（以下「ＢｉａｓＣｈｅｃｋ定義」という）をネットリストに記述する必要がある。
【０００５】
市販の回路シミュレータは、ネットリスト中にＢｉａｓＣｈｅｃｋ定義を付加することで、各モデルの定格電圧・電流を超えた場合にレポートを出力する機能を有する。設計者は、回路中で使用しているデバイスを検出し、使用する回路シミュレータの書式に従って、ＢｉａｓＣｈｅｃｋ定義を記述することにより、ＢｉａｓｈＣｈｅｃｋを利用している。
【０００６】
図１６は、従来の半導体集積回路設計方法を示すフローチャートである。図１６を参照すると、まず、回路図を生成し（ステップＳ１０１）、ＳＰＩＣＥネットリストＦ１０１として保存する。
【０００７】
次に、設計者は、ＳＰＩＣＥネットリストＦ１０１、デバイス定格値情報ファイルＦ１０２、各シミュレータのマニュアルＦ１０３、及び、各ＳＵＢＣＫＴモデルの端子情報ファイルＦ１０４を参照しつつ、手作業でＳＰＩＣＥネットリストＦ１０１を編集し（ステップＳ１０２）、ＢｉａｓＣｈｅｃｋ定義込みＳＰＩＣＥネットリストＦ１０５を作成する。
【０００８】
作成したＢｉａｓＣｈｅｃｋ定義込みＳＰＩＣＥネットリストＦ１０５を、回路シミュレータの入力として、回路シミュレーションを行い（ステップＳ１０３）、ＢｉａｓＣｈｅｃｋ結果Ｆ１０６が得られる。
【０００９】
従来の半導体集積回路設計方法によると、ＢｉａｓＣｈｅｃｋ結果を得るためには、個々の設計者は、ＳＰＩＣＥネットリストＦ１０１を参照して、回路で使用しているデバイスを回路図又はネットリストから検出し、デバイス定格値情報ファイルＦ１０２を参照して、各デバイスの定格電圧・電流の値を調査し、各シミュレータのマニュアルＦ１０３を参照して、回路シミュレータ毎のＢｉａｓＣｈｅｃｋ定義の文法を把握して記述する必要がある。さらに、近年では、寄生を考慮したＳＵＢＣＫＴ（サブサーキット）形式のモデルが一般に使用されていることから、設計者は、各ＳＵＢＣＫＴモデルの端子情報ファイルＦ１０４を参照して、通常デバイスと書式が異なるＳＵＢＣＫＴ文の端子名を調べて指定する作業も行なう必要がある。
【００１０】
図１７は、従来の回路シミュレータのＢｉａｓＣｈｅｃｋ定義を例示する図である。図１７には、回路シミュレータＡ及び回路シミュレータＢに対するＢｉａｓＣｈｅｃｋ定義が示されている。
【００１１】
図１７に示した回路シミュレータＡに対するＢｉａｓＣｈｅｃｋ定義を参照すると、ＢｉａｓＣｈｅｃｋ定義には、ＳＵＢＣＫＴ形式のデバイスを識別するための識別子「ｓｕｂｃｋｔ＝“ｄｅｖｉｃｅ  ｎａｍｅ”」と、端子情報を表す「ｄｉｆｆ＝“Ｖ（ｐｉｎ１）−Ｖ（ｐｉｎ２）”」と、これらの端子間における定格値を表す「ｍａｘ＝“ｘｘ”  ｍｉｎ＝“ｘｘ”」とが含まれる。同様に、図１７に示した回路シミュレータＢに対するＢｉａｓＣｈｅｃｋ定義を参照すると、ＢｉａｓＣｈｅｃｋ定義には、デバイスを識別するための識別子「ｍｏｄｅｌ＝“ｄｅｖｉｃｅ  ｎａｍｅ”」と、端子情報を表す「ｔｅｒｍ１＝“ｐｉｎ１”  ｔｅｒｍ２＝“ｐｉｎ２”」と、これらの端子間における定格値を表す「ｍａｘ＝“ｘｘ”  ｍｉｎ＝“ｘｘ”」とが含まれる。図１７に示すように、ＢｉａｓＣｈｅｃｋ定義の書式は、一般に、ベンダーごとに、また、シミュレータごとに異なっている。
【００１２】
なお、特許文献１において、素子の定格情報を含む定格値情報ファイルと、シミュレーション結果を格納するシミュレーション結果ファイルとを参照して、定格違反の有無を判定する装置が記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平０９−０９１３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
以下の分析は、本発明者によってなされたものである。
【００１５】
市販の回路シミュレータのＢｉａｓＣｈｅｃｋ機能は、定格外で使用しているデバイスを検出するのみであることから、設計者は、定格値違反の解決策について、自ら検討する必要がある。
【００１６】
特許文献１に記載された装置も、定格違反のデバイスの有無を判定するのみであり、定格違反を解消するための対策が設計者に示されない。したがって、設計者は、ＢｉａｓＣｈｅｃｋ結果と共に回路図を見直して、使用デバイスの選択に間違いがあったか否かを確認する必要があり、多くの手間と時間を要する。
【００１７】
また、従来の半導体集積回路設計方法によると、ＢｉａｓＣｈｅｃｋ定義（図１７参照）を記述するために、多くの時間と労力が費やされ、設定漏れや設定ミスが生じるおそれもある。
【００１８】
そこで、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計できるようにすることが課題となる。本発明の目的は、かかる課題を解決する半導体集積回路設計装置、半導体集積回路設計方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の第１の視点に係る半導体集積回路設計装置は、
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成するバイアスチェック定義生成部と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証するバイアスチェック部と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する代替デバイス抽出部と、を備えている。
【００２０】
本発明の第２の視点に係る半導体集積回路設計方法は、
コンピュータが、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成工程と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証工程と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出工程と、を含む。
【００２１】
本発明の第３の視点に係るプログラムは、
各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルと、各デバイスの定格値情報を格納したデバイス定格値情報ファイルと、各デバイスのモデルの端子情報を格納したモデルファイルを参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する生成処理と、
前記バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する検証処理と、
定格違反となるデバイスが存在する場合には、該デバイスに対する代替候補を、前記デバイス定格値情報ファイルに含まれるデバイスの中から抽出する抽出処理と、をコンピュータに実行させる。
【発明の効果】
【００２２】
本発明に係る半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態に係る半導体集積回路設計方法を実現する装置の構成を概略的に示すブロック図である。
【図２】本発明の第１の実施形態に係る半導体集積回路設計方法を示すフローチャートである。
【図３】ＢｉａｓＣｈｅｃｋ定義ファイル作成用のＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を一例として示す図である。
【図４】フォーマットファイルを一例として示す図である。
【図５】フォーマットファイル内で使用するキーワードを一例として示す図である。
【図６】ＳＰＩＣＥモデルファイルを一例として示す図である。
【図７】ＳＰＩＣＥモデルファイルの端子情報を読み取った後のＢｉａｓＣｈｅｃｋ定義ファイルを一例として示す図である。
【図８】デバイス定格値情報ファイルを一例として示す図である。
【図９】デバイス定格値情報ファイルの定格情報を読み取った後のＢｉａｓＣｈｅｃｋ定義ファイルを一例として示す図である。
【図１０】ＢｉａｓＣｈｅｃｋ定義を一例として示す図である。
【図１１】ＢｉａｓＣｈｅｃｋ結果を一例として示す図である。
【図１２】デバイス定格値情報ファイルを一例として示す図である。
【図１３】変更前後のＢｉａｓＣｈｅｃｋ定義を一例として示す図である。
【図１４】定格違反ありの場合における表示を一例として示す図である。
【図１５】本発明の第２の実施形態に係る半導体集積回路設計装置の構成を示すブロック図である。
【図１６】従来の半導体集積回路設計方法を示すフローチャートである。
【図１７】従来の回路シミュレータのＢｉａｓＣｈｅｃｋ定義を例示する図である。
【発明を実施するための形態】
【００２４】
本発明の第１の展開形態によると、上記第１の視点に係る半導体集積回路設計装置が提供される。
【００２５】
本発明の第２の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、半導体集積回路設計装置が提供される。
【００２６】
本発明の第３の展開形態によると、前記バイアスチェック定義生成部は、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、半導体集積回路設計装置が提供される。
【００２７】
本発明の第４の展開形態によると、前記代替デバイス抽出部は、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出する、半導体集積回路設計装置が提供される。
【００２８】
本発明の第５の展開形態によると、前記モデルはＳＰＩＣＥモデルであり、前記モデルファイルはＳＰＩＣＥモデルファイルである、半導体集積回路設計装置が提供される。
【００２９】
本発明の第６の展開形態によると、前記モデルは、ＳＵＢＣＫＴ形式のＳＰＩＣＥモデルであり、前記モデルファイルはＳＵＢＣＫＴ形式のＳＰＩＣＥモデルファイルである、半導体集積回路設計装置が提供される。
【００３０】
本発明の第７の展開形態によると、前記デバイスは、ＭＯＳデバイス又はＣＡＰデバイスであり、前記定格情報は、該ＭＯＳデバイス又は該ＣＡＰデバイスの２端子間に印加される電圧の定格値を含む、半導体集積回路設計装置が提供される。
【００３１】
本発明の第８の展開形態によると、上記第２の視点に係る半導体集積回路設計方法が提供される。
【００３２】
本発明の第９の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、半導体集積回路設計方法が提供される。
【００３３】
本発明の第１０の展開形態によると、前記生成工程において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、半導体集積回路設計方法が提供される。
【００３４】
本発明の第１１の展開形態によると、前記抽出工程において、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出する、半導体集積回路設計方法が提供される。
【００３５】
本発明の第１２の展開形態によると、上記第３の視点に係るプログラムが提供される。
【００３６】
本発明の第１３の展開形態によると、前記バイアスチェック定義は、デバイスの識別子と、該デバイスの端子情報と、該デバイスの定格値情報とを含む、プログラムが提供される。
【００３７】
本発明の第１４の展開形態によると、前記生成処理において、前記フォーマットファイルに含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、前記モデルファイルに含まれる各デバイスに対する端子情報によって置き換えるとともに、該書式に含まれる定格値情報を、前記定格値情報ファイルに含まれる各デバイスに対する定格値情報によって置き換える、プログラムが提供される。
【００３８】
本発明の第１５の展開形態によると、前記抽出処理において、前記バイアスチェック定義における第１のデバイスに対する定格値情報を、前記デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証し、定格違反が解消された場合には、該第２のデバイスを該第１のデバイスに対する代替候補として抽出する、プログラムが提供される。
【００３９】
本発明の半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、ＢｉａｓＣｈｅｃｋ定義が自動生成され、設計者が手作業でＢｉａｓＣｈｅｃｋ定義を作成する手間を省くことができる。また、本発明の半導体集積回路設計方法及びプログラムによると、回路シミュレータのＢｉａｓＣｈｅｃｈにより、定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本発明の半導体集積回路設計装置、半導体集積回路設計方法及びプログラムによると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【００４０】
（実施形態１）
本発明の第１の実施形態に係る半導体集積回路設計方法について、図面を参照して説明する。
【００４１】
図１は、本実施形態に係る半導体集積回路設計方法を実現する装置の構成を概略的に示すブロック図である。
【００４２】
図１を参照すると、この装置は、演算処理部１、表示部２、９、１０、操作部３、及び、記録媒体４〜８を有する。
【００４３】
表示部２は、ＢｉａｓＣｈｅｃｋ定義ファイルを作成するためのＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供する。操作部３は、使用する回路シミュレータの指定と、入出力する記録媒体の指定を行なう。
【００４４】
記録媒体４は、市販の回路シミュレータの書式情報を格納する。記録媒体５は、各デバイスの電圧・電流値定格情報を格納する。記録媒体６は、ＳＰＩＣＥモデルのＳＵＢＣＫＴ名とその端子情報を格納する。記録媒体７は、回路で使用しているデバイス情報を含む。
【００４５】
表示部２と操作部３により、記録媒体４〜７を演算処理部１に入力し、操作部３で指定した回路シミュレータに応じたＢｉａｓＣｈｅｃｋ定義ファイル８を生成するとともに、記録媒体５と記録媒体７を比較して、回路で使用しているデバイスの定義もれがないかを確認した結果を表示部９に表示する。また、市販回路シミュレータによるデバイス定格チェック結果に違反が検出された場合には、デバイスの置き換え候補を表示部１０に表示する。
【００４６】
図２は、本実施形態に係る半導体集積回路設計方法のフローチャートである。
【００４７】
図２を参照すると、まず、回路図を作成する（ステップＳ１）。次に、ＢｉａｓＣｈｅｃｋ定義ファイル作成用のＧＵＩを介して設計者が行なった入力に基づいて、ＢｉａｓＣｈｅｃｋ定義を含むＳＰＩＣＥネットリストＦ５を自動生成する（ステップＳ２）。設計者は、ＧＵＩを介して、使用する回路シミュレータ、フォーマットファイルＦ１、ＳＰＩＣＥモデルファイルＦ２、デバイス定格値情報ファイルＦ３を指定する。
【００４８】
図３は、ＢｉａｓＣｈｅｃｋ定義ファイル作成用のＧＵＩを一例として示す図である。
【００４９】
図３において、「Ｓｉｍｕｌａｔｏｒ  Ｎａｍｅ」欄には、使用する回路シミュレータ名（例えば、Ｓｉｍｕｌａｔｏｒ−Ａ、Ｓｉｍｕｌａｔｏｒ−Ｂ、Ｓｉｍｕｌａｔｏｒ−Ｃ）を指定する。「Ｆｏｒｍａｔ  Ｆｉｌｅ」欄には、後述のフォーマットファイルＦ１を指定する。「Ｄｅｖｉｃｅ  Ｃｈｅｃｋ  Ｆｉｌｅ」欄には、後述のデバイス定格値情報ファイルＦ３を指定する。「ＳＰＩＣＥ  Ｍｏｄｅｌ  Ｆｉｌｅ」欄には、後述のＳＰＩＣＥモデルファイルＦ２を指定する。
【００５０】
図４は、フォーマットファイルＦ１を一例として示す図である。
【００５１】
図４を参照すると、一例として、フォーマットファイルＦ１は、回路シミュレータＳｉｍｕｌａｔｏｒ−Ａ、Ｓｉｍｕｌａｔｏｒ−Ｂ及びＳｉｍｕｌａｔｏｒ−ＣにおけるＢｉａｓＣｈｅｃｋ定義の書式を含む。図４に示したフォーマットファイルＦ１では、予め決められたキーワードを使用することで、各回路シミュレータの定義書式に対応可能とすることが好ましい。
【００５２】
図５は、図４に示したフォーマットファイルＦ１において使用するキーワードを、一例として示す図である。図５においては、回路シミュレーションに用いられる素子の例として、ＭＯＳデバイス及びＣＡＰデバイスに対するキーワードが例示されている。
【００５３】
図５におけるＶＤＳＭＡＸ及びＶＤＳＭＩＮは、それぞれ、ＭＯＳデバイスのドレイン・ソース端子間における最大定格電圧（ＶｄｓＭａｘ）及び最小定格電圧（ＶｄｓＭｉｎ）を表し、ＶＧＤＭＡＸ及びＧＤＳＭＩＮは、それぞれ、ＭＯＳデバイスのゲート・ドレイン端子間における最大定格電圧（ＶｇｄＭａｘ）及び最小定格電圧（ＶｇｄＭｉｎ）を表す。また、ＶＭＡＸ及びＶＭＩＮは、それぞれ、ＣＡＰデバイスの両端における最大定格電圧（ＶＭａｘ）及び最小定格電圧（ＶＭｉｎ）を表す。さらに、ＴＥＲＭＤ及びＴＥＲＭＳは、それぞれ、ＭＯＳデバイスのドレイン（Ｄｒａｉｎ）端子名及びソース（Ｓｏｕｒｃｅ）端子名を表す。
【００５４】
なお、回路シミュレーションにおいて定格値が設定されるデバイスはこれらのデバイスに限られるわけではない。すなわち、フォーマットファイルＦ１は、ＭＯＳデバイス及びＣＡＰデバイス（Ｃａｐａｃｉｔｏｒ、容量素子）に対するキーワードＭＯＳ、ＣＡＰ以外に、抵抗素子（Ｒｅｓｉｓｔｏｒ）、ダイオード（Ｄｉｏｄｅ）、バイポーラトランジスタ（Ｂｉｐｏｌａｒ  Ｔｒａｎｓｉｓｔｏｒ）、インダクタ（Ｉｎｄｕｃｔｏｒ）に対するキーワードとして、ＲＥＳＩＳＴＯＲ、ＤＩＯＤＥ、ＢＩＰＯＬＡＲ、ＩＮＤＵＣＴＯＲを含むようにしてもよい。
【００５５】
図６は、ＳＰＩＣＥモデルファイルＦ２を一例として示す図である。
【００５６】
図６は、ＳＵＢＣＫＴ形式のＳＰＩＣＥモデルファイルＦ２を一例として示す。図６を参照すると、ＭＯＳデバイスＮＭＯＳ１ドレイン端子、ゲート端子、ソース端子、バックゲート端子に対する端子情報が、「ＤＤ  ＧＧ  ＳＳ  ＢＢ」のように表されている。ＳＰＩＣＥモデルファイルＦ２の「．ＳＵＢＣＫＴ」文から端子情報を読み取り、ＢｉａｓＣｈｅｃｋ定義の端子名指定箇所（例えば、図４の「ＴＥＲＭＤ」、「ＴＥＲＭＳ」）に指定する。
【００５７】
下記のＢｉａｓＣｈｅｃｋ定義例では、図６に示したＳＰＩＣＥモデルファイルＦ２のＳＵＢＣＫＴ名「ＮＭＯＳ１」に対応する端子名「ＤＤ」と端子名「ＳＳ」を自動的に読み取って定義する。
【００５８】
図７は、ＳＰＩＣＥモデルファイルＦ２の端子情報を読み取った後のＢｉａｓＣｈｅｃｋ定義ファイルを一例として示す図である。
【００５９】
図８は、デバイス定格値情報Ｆ３を一例として示す図である。図８を参照すると、デバイス定格値情報は、デバイスの種類に応じて記載する。例えば、ＭＯＳデバイスに対しては、ＶｄｓＭａｘ，ＶｄｓＭｉｎ，ＶｇｄＭａｘ，ＶｇｄＭｉｎ，ＶｇｓＭａｘ，ＶｇｓＭｉｎ，ＶｇｂＭａｘ，ＶｇｂＭｉｎ，ＶｂｄＭａｘ，ＶｂｄＭｉｎ，ＶｂｓＭａｘ，ＶｂｓＭｉｎの順に記載するようにしてもよい。また、ＣＡＰデバイスに対しては、ＶＭａｘ，ＶＭｉｎの順に記載するようにしてもよい。図８を参照すると、ＭＯＳデバイスＮＭＯＳ１の任意の２端子間の最大定格電圧は１．０、最小定格電圧は−１．０であり、ＭＯＳデバイスＮＭＯＳ２の任意の２端子間の最大定格電圧は３．０、最小定格電圧は−３．０であり、ＣＡＰデバイスＣＡＰ１の２端子間の最大定格電圧は１．０、最小定格電圧は−１．０であり、ＣＡＰデバイスＣＡＰ２の２端子間の最大定格電圧は３．０、最小定格電圧は−３．０である。ここで、電圧の単位は、例えばボルト（Ｖｏｌｔ）である。
【００６０】
以下のＢｉａｓＣｈｅｃｋ定義例では、図８に示したデバイス定格値情報ファイルＦ３のデバイス名に対応するＶｄｓＭａｘ，ＶｄｓＭｉｎを参照して、ｍａｘ値、ｍｉｎ値を定義する。
【００６１】
図９は、デバイス定格値情報ファイルＦ３の定格値情報を読み取った後のＢｉａｓＣｈｅｃｋ定義ファイルを一例として示す図である。
【００６２】
図１０は、Ｓｉｍｕｌａｔｏｒ−Ａ及びＳｉｍｕｌａｔｏｒ−Ｂに対するＢｉａｓＣｈｅｃｋ定義を一例として示す図である。
【００６３】
図４に示したフォーマットファイルＦ１の書式に従って、各回路シミュレータに応じたＢｉａｓＣｈｅｃｋ定義文を自動的に生成することができる。
【００６４】
以上のようにして、ＢｉａｓＣｈｅｃｋ定義が生成されると（ステップＳ２）、図２に示すように、ＢｉａｓＣｈｅｃｋ定義込みＳＰＩＣＥネットリストＦ５が生成される。
【００６５】
本実施形態の半導体集積回路設計方法によると、ＢｉａｓＣｈｅｃｋ定義が自動生成されることから、設計者が手作業でＢｉａｓＣｈｅｃｋ定義を作成する手間を省くことができる。
【００６６】
図２を参照すると、ＢｉａｓＣｈｅｃｋ定義込みＳＰＩＣＥネットリストＦ５を入力として、回路シミュレータで回路シミュレーションを行い（ステップＳ３）、ＢｉａｓＣｈｅｃｋ結果Ｆ６が得られる。
【００６７】
以下では、デバイス置換候補検出（ステップＳ６）、ＢｉａｓＣｈｅｃｋ定義更新（ステップＳ８）、結果の表示（ステップＳ９）の各工程について詳細に説明する。
【００６８】
まず、ＢｉａｓＣｈｅｃｋ結果Ｆ６から定格違反デバイスの有無を判定する（ステップＳ５）。定格違反デバイスが存在する場合には（ステップＳ５のＹｅｓ）、定格違反デバイスの情報を取得する。
【００６９】
図１１は、ＢｉａｓＣｈｅｃｋ結果Ｆ６を一例として示す図である。図１１を参照すると、ＢｉａｓＣｈｅｃｋ結果Ｆ６には、定格違反デバイスとして、ＮＭＯＳ１と、ＣＡＰ１が存在している（図２のステップＳ５のＹｅｓ）。図１１によると、ＭＯＳデバイスＮＭＯＳ１のドレイン−ソース間の電圧が、最大定格電圧１．０を超えている。また、ＣＡＰデバイスＣＡＰ１の両端間の電圧が、最大定格電圧１．０を超えている。
【００７０】
図１２は、デバイス定格値情報ファイルＦ３を一例として示す図である。図１２を参照すると、ＭＯＳデバイスＮＭＯＳ１の任意の２端子間の最大定格電圧は１．０、最小定格電圧は−１．０であり、ＭＯＳデバイスＮＭＯＳ２の任意の２端子間の最大定格電圧は３．０、最小定格電圧は−３．０であり、ＭＯＳデバイスＮＭＯＳ３の任意の２端子間の最大定格電圧は５．０、最小定格電圧は−５．０であり、ＣＡＰデバイスＣＡＰ１の２端子間の最大定格電圧は１．０、最小定格電圧は−１．０であり、ＣＡＰデバイスＣＡＰ２の２端子間の最大定格電圧は３．０、最小定格電圧は−３．０である。
【００７１】
次に、デバイス定格値情報ファイルＦ３からデバイス置換の暫定候補を抽出する（図２のステップＳ６）。具体的には、定格違反値より大きい定格値のデバイスを、デバイス定格値情報ファイルＦ３から検出する。
【００７２】
図１１のＢｉａｓＣｈｅｃｋ結果Ｆ６では、デバイス名「ＮＭＯＳ１」のドレイン−ソース間の電圧Ｖｄｓが、最大定格電圧ＶｄｓＭａｘの値１．０を超えていることから、ドレイン−ソース間の電圧の最大定格値ＶｄｓＭａｘが３．０及び５．０のデバイス「ＮＭＯＳ２」と「ＮＭＯＳ３」がデバイス置換の暫定候補となる（図２のステップＳ７のＹｅｓ）。同様に、デバイス名「ＣＡＰ１」のデバイス置換の暫定候補は、「ＣＡＰ２」となる（図２のステップＳ７のＹｅｓ）。
【００７３】
次に、デバイス置換の暫定候補によると、定格違反が解消されるか否かを確認する。上記のデバイス置換の暫定候補の定格値情報に基づいて、ＳＰＩＣＥネットリストのＢｉａｓＣｈｅｃｋ定義箇所を更新する（ステップＳ８）。
【００７４】
図１３は、更新前後のＢｉａｓＣｈｅｃｋ定義を一例として示す図である。「ＮＭＯＳ１」及び「ＣＡＰ１」を、デバイス置換の暫定候補「ＮＭＯＳ２」及び「ＣＡＰ２」に置き換える場合には、ＢｉａｓＣｈｅｃｋ定義を図１３のように置き換える（ステップＳ８）。
【００７５】
更新後のＢｉａｓＣｈｅｃｋ定義ファイルを用いて、再度、回路シミュレータのＢｉａｓＣｈｅｃｋを実行する（ステップＳ３）。
【００７６】
ＢｉａｓＣｈｅｃｋ結果において定格違反が存在し（ステップＳ５のＹｅｓ）、かつ、デバイス置換の暫定候補が存在する場合には（ステップＳ７のＹｅｓ）、ステップＳ３及びステップＳ５〜Ｓ８の処理を繰り返す。
【００７７】
ＢｉａｓＣｈｅｃｋ結果において定格違反が無くなるか（ステップＳ５のＮｏ）、又は、デバイス置換の暫定候補が存在しない場合には（ステップＳ７のＮｏ）、定格違反結果・デバイス置換候補を表示する（ステップＳ９）。
【００７８】
ステップＳ３で得られたＢｉａｓＣｈｅｃｋ結果Ｆ６から、定格違反の有無とデバイス置換の候補を、次のように表示する（ステップＳ９）。
【００７９】
すなわち、定格違反が最初から存在しない場合には、違反箇所がない旨を表示する。一方、定格違反が存在するものの、デバイス置換候補により定格違反が解消しうる場合には、デバイス置換候補を表示する。さらに、定格違反が存在し、デバイス置換の暫定候補が存在しない場合には、デバイス置換候補がない旨を表示する。
【００８０】
図１４は、定格違反が存在する場合における表示を一例として示す図である。図１４を参照すると、各違反箇所Ｉｎｓｔ１〜Ｉｎｓｔ４に対する置換候補のデバイスが表示されている。また、違反箇所Ｉｎｓｔ５に対する置換候補は存在しない旨が表示されている。
【００８１】
本実施形態の半導体集積回路設計方法によると、回路シミュレータのＢｉａｓＣｈｅｃｈにより、定格値違反が検出された場合には、設計者にその解決策が提示される。すなわち、デバイス定格値情報ファイルに含まれるデバイスの中から、定格値違反となったデバイスに対する代替のデバイスが自動的に抽出される。
【００８２】
以上より、本実施形態の半導体集積回路設計方法によると、ＢｉａｓＣｈｅｃｋ定義が自動生成され、設計者が手作業でＢｉａｓＣｈｅｃｋ定義を作成する手間を省くことができ、回路シミュレータのＢｉａｓＣｈｅｃｈによって定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本実施形態の半導体集積回路設計方法によると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【００８３】
（実施形態２）
本発明の第２の実施形態に係る半導体集積回路設計装置について、図面を参照して説明する。図１５は、本実施形態の半導体集積回路設計装置２０の構成を示すブロック図である。
【００８４】
図１５を参照すると、半導体集積回路設計装置２０は、バイアスチェック定義生成部２１と、バイアスチェック部２２と、代替デバイス抽出部２３と、記憶部２５とを有する。
【００８５】
記憶部２５は、各回路シミュレータのバイアスチェック定義の書式を格納したフォーマットファイルＦ１（図４）と、各デバイスの定格値情報を格納したデバイス定格値情報ファイルＦ３（図８）と、各デバイスのモデルの端子情報を格納したＳＰＩＣＥモデルファイルＦ２（図２）とを格納している。バイアスチェック定義は、例えば、デバイスの識別子と、デバイスの端子情報と、デバイスの定格値情報とを含む（図１０参照）。
【００８６】
バイアスチェック定義生成部２１は、フォーマットファイルＦ１と、デバイス定格値情報ファイルＦ３と、ＳＰＩＣＥモデルファイルＦ２を参照し、使用する回路シミュレータに応じたバイアスチェック定義を生成する。バイアスチェック定義生成部２１は、フォーマットファイルＦ１に含まれる使用する回路シミュレータに対するバイアスチェック定義の書式における端子情報を、ＳＰＩＣＥモデルファイルＦ２に含まれる各デバイスに対する端子情報によって置き換えるとともに、当該書式に含まれる定格値情報を、定格値情報ファイルＦ３に含まれる各デバイスに対する定格値情報によって置き換えるようにしてもよい。
【００８７】
バイアスチェック部２２は、バイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する。
【００８８】
代替デバイス抽出部２３は、定格違反となるデバイスが存在する場合には、当該デバイスに対する代替候補を、デバイス定格値情報ファイルＦ３（図８）に含まれるデバイスの中から抽出する。代替デバイス抽出部２３は、バイアスチェック定義における第１のデバイスに対する定格値情報を、デバイス定格値情報ファイルに含まれる第２のデバイスに対する定格値情報によって置き換え、置き換え後のバイアスチェック定義を含むネットリストを回路シミュレータに入力して、定格違反となるデバイスの有無を検証する。定格違反が解消された場合には、代替デバイス抽出部２３は、第２のデバイスを第１のデバイスに対する代替候補として抽出するようにしてもよい。
【００８９】
本実施形態の半導体集積回路設計装置２０によると、ＢｉａｓＣｈｅｃｋ定義が自動生成され、設計者が手作業でＢｉａｓＣｈｅｃｋ定義を作成する手間を省くことができ、回路シミュレータのＢｉａｓＣｈｅｃｈによって定格違反が検出された場合には、設計者にその解決策が提示される。したがって、本実施形態の半導体集積回路設計装置２０によると、設計者の負担を軽減しつつ、定格を満たす半導体集積回路を設計することができる。
【００９０】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００９１】
１    演算処理部
２    表示部
３    操作部
４〜８    記録媒体
９、１０    表示部
２０    半導体集積回路設計装置
２１    バイアスチェック定義生成部
２２    バイアスチェック部
２３    代替デバイス抽出部
２５    記憶部
Ｆ１    フォーマットファイル
Ｆ２    ＳＰＩＣＥモデルファイル
Ｆ３、Ｆ１０２    デバイス定格値情報ファイル
Ｆ５、Ｆ１０５  ＢｉａｓＣｈｅｃｋ定義込みＳＰＩＣＥネットリスト
Ｆ６、Ｆ１０６  ＢｉａｓＣｈｅｃｋ結果
Ｆ１０１  ＳＰＩＣＥネットリスト
Ｆ１０３  シミュレータのマニュアル
Ｆ１０４  ＳＵＢＣＫＴモデルの端子情報ファイル
【図１】
2011204007.tif 000003
【図２】
2011204007.tif 000004
【図３】
2011204007.tif 000005
【図４】
2011204007.tif 000006
【図５】
2011204007.tif 000007
【図６】
2011204007.tif 000008
【図７】
2011204007.tif 000009
【図８】
2011204007.tif 000010
【図９】
2011204007.tif 000011
【図１０】
2011204007.tif 000012
【図１１】
2011204007.tif 000013
【図１２】
2011204007.tif 000014
【図１３】
2011204007.tif 000015
【図１４】
2011204007.tif 000016
【図１５】
2011204007.tif 000017
【図１６】
2011204007.tif 000018
【図１７】
2011204007.tif 000019