シミュレーションネットリスト作成装置、シミュレーションネットリスト作成方法、及びコンピュータプログラム
【課題】 回路における電源制御に関するシミュレーションの時間を削減する。
【解決手段】 回路を構成する部品の「部品情報110、端子情報120、及び端子間の接続情報100」に基づき、探索開始部品を特定する。そして、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。また、電源回路の入出力ネット名と、電源ネット名と、グランドネット名と、部品情報110に基づいて特定される探索終了部品とを探索終点とする。そして、探索始点から探索終点までの探索経路にある部品を探索し、当該部品の接続情報を特定し、探索経路にある部品のシミュレーションネットリストを作成する。
【解決手段】 回路を構成する部品の「部品情報110、端子情報120、及び端子間の接続情報100」に基づき、探索開始部品を特定する。そして、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。また、電源回路の入出力ネット名と、電源ネット名と、グランドネット名と、部品情報110に基づいて特定される探索終了部品とを探索終点とする。そして、探索始点から探索終点までの探索経路にある部品を探索し、当該部品の接続情報を特定し、探索経路にある部品のシミュレーションネットリストを作成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションネットリスト作成装置、シミュレーションネットリスト作成方法、及びコンピュータプログラムに関し、特に、回路に供給される電源の挙動を解析するためのシミュレーションネットリストを作成するために用いて好適なものである。
【背景技術】
【0002】
電子機器には、その機能の追加や性能の向上が恒常的に要求されており、回路規模を大きくすることでその要求を満たしている。電子機器に搭載されるコアとなる部品である半導体集積回路(以下、必要に応じて「IC」と称する)には、半導体プロセスの微細化技術により高性能化・低電圧化が要求される。更に、ICを正常に駆動するためには、複数の電源電圧を、規定の順序・規定のタイミングに従って供給することが要求される。つまり、電源電圧の供給順序やタイミングを満たした電源制御が行われるように回路設計をすることが求められる。このような電源制御が適切に行われているかどうかの検証作業は、人手による実機計測によって行われるのが一般的である。しかし、この検証作業にかかる作業工数は、回路規模に比例して増加する。そこで、回路シミュレーションにより、この検証を行うことが検討されているが、検証作業の対象となる回路規模が大きいことからシミュレーション時間の長さが問題となる。
【0003】
この問題を解決するために、シミュレーションの高速化のための様々な方法が提案されている。シミュレーションの高速化のための技術として、不要な回路を削除したシミュレーションネットリストを作成する技術が提案されている(特許文献1を参照)。特許文献1には、不要な回路を切り離すための端子を指定した後に、指定した端子に電源又はグランドを接続し、且つ、不要な回路を切り離したシミュレーションネットリストを作成する技術が開示されている。
また、シミュレーションの高速化のための技術として、シミュレーション項目毎に最適なネットリストを作成する技術が提案されている(特許文献2を参照)。特許文献2には、シミュレーション項目毎に全ての入力端子及び出力端子のノードを探索開始点のノードとし、探索開始点のノードと接点を持つ素子を探索し、全てのノードとの接点が探索された素子のみをシミュレーションすべき素子とする技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−32426号公報
【特許文献2】特開2003−308353号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1及び特許文献2記載の技術によれば、プリント基板の回路全体に影響のある電源と、電源の制御信号のみのシミュレーションネットリストを作成することができない。そのため、シミュレーション時間を多分に要するという課題があった。
本発明は、このような課題に鑑みてなされたものであり、回路における電源制御に関するシミュレーションの時間を削減することを目的とする。
【課題を解決するための手段】
【0006】
本発明のシミュレーションネットリスト作成装置は、回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定手段と、前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定手段と、前記部品情報に基づき、電源回路を特定する電源回路特定手段と、前記部品情報に基づき、探索終了部品を特定する探索終了部品特定手段と、前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定手段と、前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定手段と、前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索手段と、前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成手段と、前記電源回路のシミュレーションモデルを取得する電源回路モデル取得手段と、前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得手段と、前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、電源と、電源の制御信号のみのシミュレーションネットリストを作成することができる。よって、回路における電源制御に関するシミュレーションの時間を削減することができる。
【図面の簡単な説明】
【0008】
【図1】シミュレーションネットリスト作成装置の構成を示す図である。
【図2】シミュレーションネットリストを作成するための機能構成を示す図である。
【図3】シミュレーションネットリスト作成装置の動作フローチャートである。
【図4】図3に続く動作フローチャートである。
【図5】図4に続く動作フローチャートである。
【図6】図5に続く動作フローチャートである。
【図7】図6に続く動作フローチャートである。
【図8】図3のステップS303の詳細を示す動作フローチャートである。
【図9】シミュレーションネットリストの作成対象の電気回路を示す図である。
【図10】図9に示す電気回路の接続情報を示す図である。
【図11】図9に示す電気回路の部品情報を示す図である。
【図12】図9に示す電気回路の端子情報を示す図である。
【図13】電源回路の情報を設定するための表示設定画面を示す図である。
【図14】探索結果情報を示す図である。
【図15】IC3の部品のシミュレーションモデルの記述内容を示す図である。
【図16】電源回路のシミュレーションモデルを示す図である。
【図17】シミュレーションネットリストを示す図である。
【発明を実施するための形態】
【0009】
以下に、図面を参照しながら、本発明の一実施形態を説明する。
図1は、シミュレーションネットリスト作成装置を実現するコンピュータ装置の概略的な構成の一例を示す図である。
図1において、中央処理装置(CPU)10は、装置全体を制御する。主記憶装置11は、読み出し専用記憶装置(ROM)と、中央処理装置10が計算処理時にデータの一時的な読み書きを行う記憶装置(RAM)とを含む。外部記憶装置12は、ハードディスク、フレキシブルディスク、CD、DVD、MD等の記憶媒体を用いて構成され、データの読み書きに利用される。表示装置13は、ブラウン管や液晶ディスプレイに代表される装置である。入力装置14は、マウスやキーボード等に代表される装置である。出力装置(プリンタ)15は、計算結果等を印刷する。バス16は、アドレスバス、データバス、制御バス等を用いて構成され、各部の間で情報を伝達するためのものである。中央処理装置10、主記憶装置11、外部記憶装置12、表示装置13、入力装置14、及び出力装置15は、それぞれバス16を介して互いに接続されている。
【0010】
外部記憶装置12には、処理プログラム12a、回路図情報12b、及びシミュレーションモデルライブラリ12cが記憶されている。また、外部記憶装置12は、シミュレーションネットリスト格納部12dを有する。
処理プログラム12aは、コンピュータ装置内にインストールされた「シミュレーションネットリストを作成するためのコンピュータプログラム」である。回路図情報12bには、回路を構成する部品に関する部品情報、部品の端子に関する端子情報、及び端子間の接続に関する接続情報が含まれる。シミュレーションモデルライブラリ12cは、シミュレーションモデルに関する情報である。シミュレーションネットリスト格納部12dは、シミュレーションネットリストを格納する場所である。
【0011】
図2は、シミュレーションネットリストを作成するためのコンピュータ装置の機能構成の一例を示す図である。
図2において、入力部20は、主に入力装置14を用いて実現され、ユーザが入力装置14を用いて入力した「回路図情報12bの読込指示や、処理プログラム12a等の実行に使用される条件に関する情報」等を、コンピュータ装置内に入力する。
外部記憶情報抽出部21は、主に外部記憶装置12を用いて実現される。外部記憶情報抽出部21は、入力部20から、処理プログラム12aの実行が指示されると、その指示に従って、CPU10からの制御命令により、外部記憶装置12に記憶された処理プログラム12aを抽出する。抽出された処理プログラム12aは、主記憶装置11内に記憶される。また、外部記憶情報抽出部21は、入力部20から、回路図情報12bを読み込む指示が出されると、その指示に従って、CPU10からの制御命令により、外部記憶装置12内に記憶された回路図情報12bを抽出する。抽出された回路図情報12bは、主記憶装置11に記憶される。
【0012】
シミュレーション入力データ作成部22は、主にCPU10と処理プログラム12aとを用いて実現される。シミュレーション入力データ作成部22は、入力部20から、処理プログラム12aの実行が指示されると、主記憶装置11の一部の領域を利用しながら処理プログラム12aを実行して、シミュレーションネットリストを作成する。このようにシミュレーション入力データ作成部22の処理は、主記憶装置11に記憶されている処理プログラム12aに基づいて行われる。
回路図情報取得部22aは、CPU10の制御により、入力部20から入力された情報に基づいて、回路図情報12bを取得する。取得した回路図情報12bは、主記憶装置11に記憶される。探索開始部品特定部22bは、CPU10の制御により、回路図情報取得部22aにより取得された回路図情報12bに基づいて、探索開始部品を特定する。ここで、探索開始部品とは、回路図中の電源と電源の制御信号の供給経路とを探索する上での始点となる部品を指す。特定した探索開始部品の情報は、主記憶装置11に記憶される。
【0013】
電源回路特定部22cは、CPU10の制御により、回路図情報取得部22aで取得した回路図情報12bに基づいて、電源回路を特定する。電源回路としては、例えば、レギュレータIC等の電源制御ICと周辺回路とを備えて構成され、入力電圧から、必要とされる出力電圧を生成する回路等が挙げられる。特定した電源回路の情報は、主記憶装置11に記憶される。探索部22dは、CPU10の制御により、回路図情報取得部22aで取得した回路図情報12bと、探索開始部品特定部22bで特定した探索開始部品の情報と、電源回路特定部22cで特定した電源回路の情報に基づき、回路図の部品情報と接続情報を探索する。探索により得られた部品情報は、主記憶装置11に記憶される。シミュレーションモデル作成部22eは、CPU10の制御により、探索開始部品特定部22bで特定した探索開始部品のシミュレーションモデルを作成する。作成したシミュレーションモデルは、シミュレーションモデルライブラリ12cに記憶される。シミュレーションネットリスト作成部22fは、CPU10の制御により、次の処理を行う。すなわち、シミュレーションネットリスト作成部22fは、回路図情報取得部22aで取得した回路図情報12bと、探索部22dで取得した部品情報及び接続情報と、シミュレーションモデルライブラリ12cに基づき、シミュレーションネットリストを作成する。作成したシミュレーションネットリストは、出力部23により、シミュレーションネットリスト格納部12dに記憶される。
【0014】
図3〜図8は、シミュレーションネットリスト作成装置の動作の一例を説明するフローチャートである。
以下、シミュレーションネットリスト作成プログラム(処理プログラム12a)を実行することにより実現される動作を、図3〜図8のフローチャートを用いて説明する。
まず初めに、図3のフローチャートについて説明する。入力部20から処理プログラム12aの実行の指示を受けると、シミュレーション入力データ作成部22は、外部記憶情報抽出部21により主記憶装置11に転送された処理プログラム12aを読み出す。そして、処理プログラム12aの実行が開始される。これにより、図3のフローチャートによる処理が開始する。
【0015】
まず、外部記憶情報抽出部21は、回路図情報12bを主記憶装置11に転送する。回路図情報取得部22aは、主記憶装置11に記憶された回路図情報12bを読み出し、回路を構成する部品情報、端子情報、及び端子間の接続情報を取得する(ステップS301)。次に、回路図情報取得部22aは、ステップS301で取得した接続情報から、電源ネット名とグランドネット名とを特定する(ステップS302)。次に、探索開始部品特定部22bは、ステップS301で取得した部品情報、端子情報、及び接続情報から、探索開始部品を特定する(ステップS303)。
【0016】
ここで、図8のフローチャートを参照しながら、ステップS303において探索開始部品を特定する際の動作の詳細を説明する。
まず初めに、探索開始部品特定部22bは、ステップS301で取得した部品情報及び端子情報から、電源端子を持つ部品を判別する(ステップS800)。次に、探索開始部品特定部22bは、ステップS800で判別した電源端子を持つ部品を一つ選択する(ステップS801)。
次に、探索開始部品特定部22bは、ステップS801で選択した部品がリセット端子を持つか否かを判断する(ステップS802)。この判断の結果、ステップS801で選択した部品がリセット端子を持つ場合には、ステップS804へ進み、当該部品がリセット端子を持たない場合には、ステップS803へ進む。ステップS804に進むと、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品として特定し、後述するステップS824へ進む。
【0017】
一方、ステップS803に進むと、探索開始部品特定部22bは、ステップS801で選択した部品の電源端子を判別する。次に、ステップS805において、探索開始部品特定部22bは、ステップS803で取得した電源端子の数が2以上である(複数)か否かを判断する。この判断の結果、電源端子の数が2以上の場合には、ステップS806へ進み、電源端子の数が2未満の場合には、後述するステップS824へ進む。ステップS806に進むと、探索開始部品特定部22bは、ステップS803で判別した電源端子を探索継続点に追加する。
次に、ステップS807において、探索開始部品特定部22bは、後述するステップS811で保持したネット名(ネットの名称)を初期化する。次に、ステップS808において、探索開始部品特定部22bは、探索継続点を一つ選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネット名を、ステップS301で取得した接続情報から取得する。
【0018】
次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名が電源ネット名であるか否かを、ステップS301で取得した接続情報から判断する。この判断の結果、ステップS809で取得したネット名が電源ネット名である場合には、ステップS811に進み、当該ネット名が電源ネット名でない場合には、ステップS812に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得した電源ネット名を保持し、後述するステップS822に進む。
一方、ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名がグランドネット名であるか否かを判断する。この判断の結果、ステップS809で取得したネット名がグランドネット名である場合には、後述するステップS822に進み、当該ネット名がグランドネット名でない場合には、ステップS813に進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名に接続されている探索継続点以外の端子を判別する。
【0019】
次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子の中から一つを選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品がICであるか否かを判断する。この判断の結果、ステップS814で選択した端子を持つ部品がICである場合には、後述するステップS821に進み、当該部品がICでない場合には、ステップS816に進む。ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した端子以外の端子を判別する。
次に、ステップS817において、探索開始部品特定部22bは、ステップS816で判別した端子から一つを選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子が探索継続点に追加済みであるか否かを判断する。この判断の結果、ステップS817で選択した端子が探索継続点に追加済みである場合には、ステップS819を省略して後述するステップS820に進み、当該端子が探索継続点に追加済みでない場合には、ステップS819に進む。
【0020】
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子を探索継続点に追加する。そして、ステップS820において、探索開始部品特定部22bは、ステップS816で判別した端子の中に未選択の端子があるか否かを判断する。この判断の結果、ステップS816で判別した端子の中に未選択の端子がある場合はステップS817に戻り、ステップS816で判別した全ての端子についてステップS817〜S820の処理を繰り返し行う。そして、ステップS816で判別した全ての端子についてステップS817〜S820の処理を行うと、ステップS821に進む。
ステップS821に進むと、探索開始部品特定部22bは、ステップS813で判別した端子の中に未選択の端子があるか否かを判断する。この判断の結果、ステップS813で判別した端子の中に未選択の端子がある場合にはステップS814に戻り、ステップS813で判別した全ての端子についてステップS814〜S821の処理を繰り返し行う。そして、ステップS813で判別した全ての端子についてステップS814〜S821の処理を行うと、ステップS822に進む。
【0021】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があるか否かを判断する。この判断の結果、未選択の探索継続点がある場合にはステップS808に戻り、全ての探索継続点についてステップS808〜S822の処理を繰り返し行う。そして、全ての探索継続点についてステップS808〜S822の処理を行うとステップS823に進む。ステップS823に進むと、探索開始部品特定部22bは、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2以上であるか否かを判断する。
この判断の結果、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2以上である場合、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品と特定する(ステップS804)。一方、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2未満の場合にはステップS824へ進む。ステップS824に進むと、探索開始部品特定部22bは、ステップS800で判別した部品の中に未選択の部品があるか否かを判断する。この判断の結果、ステップS800で判別した部品の中に未選択の部品がある場合にはステップS801に戻り、全ての部品についてステップS800〜S824の処理を繰り返し行う。そして、全ての部品についてステップS800〜S824の処理を行うと、探索開始部品の特定作業を終了する。以上の作業を経てステップS303を終了する。
【0022】
以上のようにして図3のステップS303の処理が終了すると、ステップS304に進み、電源回路特定部22cは、ステップS301で取得した部品情報を元に電源回路を特定する。そして、電源回路特定部22cは、ユーザが入力装置14を操作して、表示設定画面に対して入力した電源回路の情報(電源回路の入力ネット名、出力ネット名、制御ネット名、入出力特性情報)を特定する。入力ネット名は、電源回路に電圧を入力するネットの名称であり、出力ネット名は、電源回路からの電圧の出力を受けるネットの名称であり、制御ネット名は、電源回路の出力を制御するネットの名称である。
【0023】
次に、探索部22dは、ステップS301で取得した部品情報を元に探索終了部品を特定する(ステップS305)。探索終了部品は、例えば、部品情報に含まれる部品の名称に基づいて特定できる。ここでは、探索部22dは、ステップS301で取得した部品情報に含まれる名称をキーとして電源制御ICを探索終了部品として特定するものとする。また、探索部22dは、ステップS303で特定した探索開始部品も探索終了部品として特定する。
次に、探索部22dは、ステップS304で特定した電源回路の入出力ネット名と、ステップS302で特定した電源ネット名及びグランドネット名と、ステップS305で特定した探索終了部品とを探索終点とする(ステップS306)。次に、探索部22dは、ステップS303で特定した探索開始部品の電源端子及びリセット端子と、ステップS304で特定した電源回路の制御ネット名とを探索始点とする(ステップS307)。
【0024】
次に、探索部22dは、ステップS307で特定した探索始点を探索継続点に追加する(図4のステップS400)。次に、探索部22dは、探索継続点の中から一つを選択する(ステップS401)。次に、探索部22dは、ステップS401で選択した探索継続点が端子であるか否かを判断する(ステップS402)。この判断の結果、ステップS401で選択した探索継続点が端子の場合にはステップS403に進み、当該探索継続点が端子ではなくネット名である場合にはステップS403、S404を省略して後述するステップS405に進む。ステップS403に進むと、探索部22dは、ステップS401で選択した探索継続点を探索結果情報に追加する。次に、探索部22dは、ステップS401で選択した探索継続点に接続されているネットのネット名を、ステップS301で取得した接続情報から取得する(ステップS404)。
次に、探索部22dは、ステップS401で選択したネット名、又はステップS404で取得したネット名が、探索終点のネット名であるか否かを判断する(ステップS405)。この判断の結果、前記ネット名が、探索終点のネット名である場合には、後述するステップS419に進み、前記ネット名が、探索終点のネット名でない場合には、ステップS406に進む。ステップS406に進むと、探索部22dは、前記ネット名のネットに接続されている端子のうち、探索継続点以外の端子を、ステップS301で取得した接続情報から判別する。
【0025】
次に、探索部22dは、ステップS406で取得した端子から一つを選択する(ステップS407)。次に、ステップS407で選択した端子を持つ部品が電源制御ICであるか否かを判断する(ステップS408)。この判断の結果、ステップS407で選択した端子を持つ部品が電源制御ICである場合には、後述するステップS418に進み、当該部品が電源制御ICでない場合には、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子を探索結果情報に追加する。次に、探索部22dは、ステップS407で選択した端子を持つ部品が、ステップS306で特定した探索終点の部品であるか否かを判断する(ステップS410)。この判断の結果、ステップS407で選択した端子を持つ部品が、探索終点の部品の場合には、後述するステップS418に進み、前記部品が、探索終点の部品ではない場合には、ステップS411に進む。
ステップS411に進むと、探索部22dは、ステップS407で選択した端子を持つ部品が、内部接続情報を持つか否かを、ステップS301で取得した部品情報に基づいて判断する。この判断の結果、ステップS407で選択した端子を持つ部品が内部接続情報を持つ場合、探索部22dは、ステップS407で選択した端子と内部接続関係を持つ端子を、部品情報から判別する(ステップS413)。一方、ステップS407で選択した端子を持つ部品が内部接続情報を持たない場合、探索部22dは、ステップS407で選択した端子を持つ部品の端子のうち、ステップS407で選択した以外の端子を、接続情報から判別する(ステップS412)。
【0026】
ステップS412又はS413で端子が判別されると、探索部22dは、当該端子の中から一つを選択する(ステップS414)。次に、探索部22dは、ステップS414で選択した端子が、探索継続点に追加済みであるか否かを判断する(ステップS415)。この判断の結果、ステップS414で選択した端子が探索継続点に追加済みの場合には、ステップS416を省略して後述するステップS417に進み、当該端子が探索継続点に追加済みでない場合には、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子を探索継続点に追加する。
次に、探索部22dは、ステップS412又はステップS413で判別した端子の中に未選択の端子があるか否かを判断する(ステップS417)。この判断の結果、ステップS412又はステップS413で判別した端子の中に未選択の端子がある場合には、ステップS414に戻り、ステップS412又はステップS413で判別した全ての端子について、ステップS414〜S417の処理を繰り返し行う。
【0027】
そして、ステップS412又はステップS413で判別した全ての端子について、ステップS414〜S417の処理を行うと、探索部22dは、ステップS406で判別した端子を持つ部品の中に未選択の部品があるか否かを判断する(ステップS418)。この判断の結果、ステップS406で判別した端子を持つ部品の中に未選択の部品がある場合にはステップS407に戻り、ステップS406で判別した端子を持つ全ての部品についてステップS407〜S418の処理を繰り返し行う。
そして、ステップS406で判別した端子を持つ全ての部品についてステップS407〜S418の処理を行うと、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があるか否かを判断する。この判断の結果、未選択の探索継続点がある場合にはステップS401に戻り、全ての探索継続点についてステップS401〜S419の処理を繰り返し行う。そして、全ての探索継続点についてステップS401〜S419の処理を行うと、探索処理を終了し、図5のステップS501に進む。以上の作業を探索部22dにて行う。
【0028】
図5に示す、探索開始部品シミュレーションモデル作成処理において、まず初めに、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品を一つ選択する(ステップS501)。次に、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子又はリセット端子を一つ選択する(ステップS502)。次に、シミュレーションモデル作成部22eは、ステップS502で選択した端子が電源端子であるか否かを端子情報から判断する(ステップS503)。
この判断の結果、ステップS502で選択した端子が電源端子である場合、シミュレーションモデル作成部22eは、電源端子モデルを記述(作成)する(ステップS504)。一方、ステップS502で選択した端子が電源端子ではなくリセット端子である場合、シミュレーションモデル作成部22eは、リセット端子モデルを記述(作成)する(ステップS505)。
【0029】
電源端子モデル、又はリセット端子モデルが記述されると、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子があるか否かを判断する(ステップS506)。この判断の結果、未選択の端子がある場合にはステップS502に戻り、全ての端子について、ステップS502〜S506の処理を繰り返し行う。そして、全ての端子について、ステップS502〜S506の処理を行うと、ステップS507に進む。ステップS507に進むと、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品の中に、未選択の探索開始部品があるか否かを判断する。この判断の結果、未選択の探索開始部品がある場合にはステップS501へ戻り、全ての探索開始部品についてステップS501〜S507の処理を行うまで、ステップS501〜S507の処理を繰り返し行う。そして、全ての探索開始部品についてステップS501〜S507の処理を行うと、探索開始部品シミュレーションモデルの作成作業を終了し、ステップS601に進む。以上の作業をシミュレーションモデル作成部22eにて行う。
【0030】
図6に示す、電源回路のシミュレーションネットリスト作成処理において、まず初めに、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路を一つ選択する(ステップS601)。次に、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力特性情報を、ステップS304で特定した電源回路の情報から取得する(ステップS602)。次に、シミュレーションネットリスト作成部22fは、ステップS602で取得した入出力特性情報を元に、シミュレーションモデルへ適用する回路特性パラメータ値を算出する(ステップS603)。次に、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力ネット名及び制御ネット名を、ステップS304で特定した電源回路の情報から取得する(ステップS604)。
【0031】
次に、シミュレーションネットリスト作成部22fは、シミュレーションモデルライブラリ12cより電源回路のシミュレーションモデルを取得する(ステップS605)。次に、シミュレーションネットリスト作成部22fは、電源回路のシミュレーションモデル名を、ステップS301で取得した部品情報から取得する(ステップS606)。次に、シミュレーションネットリスト作成部22fは、シミュレーションネットリストを記述(作成)する(ステップS607)。このシミュレーションネットリストの記述は、ステップS602で取得した入出力特性情報と、ステップS603で算出した回路特性パラメータ値と、ステップS604で取得した「電源回路の入出力ネット名及び制御ネット名」とを元にして行われる。次に、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路の中に、未選択の電源回路があるか否かを判断する(ステップS608)。この判断の結果、ステップS304で特定した電源回路の中に、未選択の電源回路がある場合には、ステップS601に戻り、ステップS304で特定した全ての電源回路についてステップS601〜S608の処理を繰り返し行う。そして、ステップS304で特定した全ての電源回路についてステップS601〜S608の処理を行うと、図7のステップS701へ進む。
【0032】
ステップS701に進むと、シミュレーションネットリスト作成部22fは、図4のフローチャートによる処理で得られた探索結果情報から部品を一つ選択する。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品の電源端子、リセット端子と、当該端子に接続されているネットのネット名を特定する(ステップS702)。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品に、記述済み情報を付与する(ステップS703)。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションモデルをシミュレーションモデルライブラリ12cから取得する(ステップS704)。
【0033】
次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品が、シミュレーションモデル名の記述が必要である部品であるか否かを判断する(ステップS705)。この判断の結果、ステップS701で選択した部品が、シミュレーションモデル名の記述が必要な部品である場合には、ステップS706に進む。一方、当該部品が、シミュレーションモデル名の記述が必要ではない部品である場合には、ステップS706を省略して後述するステップS707に進む。ステップS706に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションモデル名を、ステップS301で取得した部品情報から取得し、ステップS707に進む。ステップS707に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品が、パラメータの指定が必要な部品であるか否かを、ステップS301で取得した部品情報から判断する。
【0034】
この判断の結果、ステップS701で選択した部品が、パラメータの指定が必要な部品である場合、シミュレーションネットリスト作成部22fは、ステップS301で取得した部品情報から、当該部品の定格を取得する(ステップS708)。そして、ステップS709に進む。一方、ステップS701で選択した部品が、パラメータの指定が必要ではない部品である場合には、ステップS708を省略してステップS709に進む。ステップS709に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションネットリストを記述(作成)する。シミュレーションネットリストは、例えば、部品情報110と、電源回路の入出力特性情報と、探索経路にある部品の接続情報と、シミュレーションモデルとに基づいて作成することができる。
【0035】
次に、シミュレーションネットリスト作成部22fは、探索結果情報に記述済み情報が付与されていない部品があるか否かを判断する(ステップS710)。この判断の結果、探索結果情報に記述済み情報が付与されていない部品がある場合には、ステップS701に戻り、探索結果情報に記述済み情報が付与されていない部品がなくなるまで、ステップS701〜S710の処理を繰り返し行う。そして、探索結果情報に記述済み情報が付与されていない部品がなくなると、シミュレーションネットリストの作成作業を終了し、出力部23は、作成したシミュレーションネットリストをシミュレーションネットリスト格納部12dに記憶する。そして、処理プログラム12aを終了する。
以上が、本実施形態に係るシミュレーションネットリスト作成フローチャートの一例の詳細な説明である。
【0036】
次に、シミュレーションネットリスト作成プログラムの具体的な動作の一例を、図9〜図17を用いて説明する。
図9は、シミュレーションネットリストの作成対象の電気回路の一例を示す図である。図9において、R1〜R14は、抵抗に付与される回路記号を示す。C1〜C3は、コンデンサに付与される回路記号を示す。L1は、インダクタに付与される回路記号を示す。IC1〜IC7は、ICに付与される回路記号を示す。N1〜N29は、ネット名を示す。POWER3.3、POWER1.8は、電源ネット名を示す。GNDは、グランドネット名を示す。IC1〜IC3の部品に付与される番号1〜12、IC4の部品に付与される番号1〜4、IC5の部品に付与される番号1、2、IC6の部品に付与される番号1〜4、IC7の部品に付与される番号1、2は、夫々ICが持つ端子番号を示す。R1〜R14の部品に付与される番号1、2は、夫々抵抗が持つ端子番号を示す。C1〜C3の部品に付与される番号1、2は、夫々コンデンサが持つ端子番号を示す。L1の部品に付与される番号1、2は、夫々インダクタが持つ端子番号を示す。
【0037】
図10は、図9に示す電気回路の接続情報を示す図である。図10に示す例では、図9に示す電気回路の部品の「回路記号と、端子番号と、端子に接続されているネット名」を接続情報としている。図11は、図9に示す電気回路の部品情報を示す図である。図11に示す例では、図9に示す電気回路の部品の「回路記号と、部品番号と、名称と、定格と、内部接続」を部品情報としている。ここで、前記内部接続の情報は、部品の内部で接続関係がある端子番号を示している。図12は、図9に示す電気回路の部品の端子情報を示す図である。図12に示す例では、図9に示す電気回路の部品の「部品番号と、端子番号と、属性」を端子情報としている。図12に示す例では、電源端子は、その属性としてPOWERを有し、リセット端子はその属性としてRESETを有している。
以下、図9に示す電気回路と、図10に示す接続情報100と、図11に示す部品情報110と、図12に示す端子情報120に対して、本実施形態の処理プログラム12aを適用した時の動作の一例を詳細に説明する。
【0038】
処理プログラム12aの実行を開始すると、まず初めに、ステップS301において、シミュレーション入力データ作成部22は、回路図情報112bから、部品情報110と、端子情報120と、接続情報100とを取得する。次に、ステップS302において、回路図情報取得部22aは、接続情報100から、電源ネット名とグランドネット名とを特定する。図10に示す例では、電源ネット名は、POWER3.3とPOWER1.8であり、グランドネット名は、GNDである。次に、ステップS303において、探索開始部品特定部22bは、ステップS301で取得した「部品情報110と、端子情報120と、接続情報100」から、探索開始部品を特定する。探索開始部品を特定する作業は、図8のフローチャートに従って行われる。
【0039】
まず初めに、ステップS800において、探索開始部品特定部22bは、電源端子を持つ部品を、部品情報110及び端子情報120から判別する。この例において、電源端子を持つ部品は、回路記号IC1、IC2、IC3、IC5、IC6、IC7の部品となる。次に、ステップS801において、探索開始部品特定部22bは、ステップS800で判別した部品から一つを選択する。ここでは、回路記号IC1の部品を選択するものとする。次に、ステップS802において、探索開始部品特定部22bは、ステップS801で選択した部品がリセット端子を持つか否かを判断する。回路記号IC1の部品はリセット端子を持たないので、ステップS803へ進む。
【0040】
ステップS803に進むと、探索開始部品特定部22bは、ステップS801で選択した部品の電源端子を判別する。回路記号IC1の部品の電源端子は、端子番号9の端子と端子番号12の端子となる。次に、ステップS805において、探索開始部品特定部22bは、ステップS803で判別した電源端子の数が2以上か否かを判断する。回路記号IC1の部品の電源端子の数は2なので、ステップS806へ進む。ステップS806に進むと、探索開始部品特定部22bは、ステップS803で判別した電源端子を探索継続点に追加する。ここでは、探索開始部品特定部22bは、回路記号IC1の部品の端子番号9の端子と端子番号12の端子とを探索継続点に追加する。
【0041】
ステップS807において、探索開始部品特定部22bは、ステップS811で保持したネット名を初期化する。次に、ステップS808において、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号9の端子を選択するものとする。次に、ステップS809において、探索開始部品特定部22bは、探索継続点に接続されているネット名を、接続情報100から取得する。探索継続点に接続されているネット名は、N6である。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名が電源ネット名か否かを判断する。ネット名N6は、電源ネット名ではないので、ステップS812へ進む。
【0042】
ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名がグランドネット名であるか否かを判断する。ネット名N6は、グランドネット名ではないので、ステップS813へ進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名に接続されている端子のうち、探索継続点以外の端子を接続情報100から判別する。ネット名N6に接続されている端子のうち、探索継続点以外の端子は、回路記号R4の部品の端子番号2の端子となる。次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子から一つを選択する。ここでは、回路記号R4の部品の端子番号2の端子を選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品がICであるか否かを判断する。この例において、回路記号R4の部品は抵抗でありICではないので、ステップS816に進む。
【0043】
ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した端子以外の端子を判別する。ここでは、回路記号R4の部品の端子番号1の端子を判別する。次に、ステップS817において、ステップS816で判別された端子を一つ選択する。ここでは、部品情報110及び端子情報120より、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子が、探索継続点に追加済みであるか否かを判断する。回路記号R4の部品の端子番号1の端子は、探索継続点に追加されていないので、ステップS819に進む。
【0044】
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子を探索継続点に追加する。回路記号R4の部品の端子番号1の端子を探索継続点に追加する。次に、ステップS820において、探索開始部品特定部22bは、ステップS816で判別した端子に未選択の端子があるか否かを判断する。回路記号R4の部品について、端子番号2の端子以外の端子は端子番号1の端子だけであるのでステップS821へ進む。ステップS821に進むと、探索開始部品特定部22bは、ステップS813で判別した端子に未選択の端子があるか否かを判断する。ネット名N6に接続されている端子は、回路記号IC1の部品の端子番号9の端子(探索継続点)と、回路記号R4の部品の端子番号2の端子だけであるので、ステップS822に進む。
【0045】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があるか否かを判断する。ここでは、未選択の探索継続点があるので、ステップS808に戻る。ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネットのネット名POWER3.3を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名POWER3.3は、電源ネット名であると判断し、ステップS811に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得したネット名POWER3.3を保持する。次に、ステップS822において、探索開始部品特定部22bは、未選択の探索継続点はあると判断して、ステップS808に戻る。
【0046】
ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号12の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネット名N2を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名N2は電源ネット名ではないと判断し、ステップS812に進む。ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名N2はグランドネット名ではないと判断し、ステップS813に進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名のネットに接続されている端子のうち、探索継続点以外の端子として、回路記号R3の部品の端子番号2の端子を、接続情報100から判別する。
【0047】
次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子を一つ選択する。ここでは、回路記号R3の部品の端子番号2の端子を選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS815で選択した端子を持つ部品は抵抗(回路記号R3の部品は抵抗)でありICではないと判断し、ステップS816に進む。ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した以外の端子を判別する。ここでは、回路記号R3の部品の端子番号1の端子を判別する。次に、ステップS817において、探索開始部品特定部22bは、ステップS816で判別された端子として、回路記号R3の部品の端子番号1の端子を選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子(回路記号R3の部品の端子番号1)を、探索継続点に追加していないと判断し、ステップS819に進む。
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子(回路記号R3の部品の端子番号1)を探索継続点に追加する。次に、ステップS820において、探索開始部品特定部22bは、回路記号R3の部品について、端子番号2の端子以外の端子は端子番号1の端子だけであるので、ステップS816で取得した端子に未選択の端子はないと判断し、ステップS821に進む。ステップS821において、探索開始部品特定部22bは、ネット名N2に接続されている端子は、回路記号R3の部品の端子番号2の端子だけであるので、ステップS813で取得した端子に未選択の端子はないと判断し、ステップS822に進む。
【0048】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があると判断し、ステップS808に戻る。ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号R3の部品の端子番号1の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネットのネット名POWER1.8を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名POWER1.8は電源ネット名なのでステップS811に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得したネット名POWER1.8を保持し、ステップS822に進む。ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点はないと判断し、ステップS823に進む。ステップS823に進むと、探索開始部品特定部22bは、ステップS811で保持したネット名のうち、異なるネット名の数は2以上であるか否かを判断する。ここでは、保持したネット名は、POWER3.3とPOWER1.8である。よって、異なるネット名の数は2なのでステップS804に進む。ステップS804に進むと、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品と特定する。ここでは、回路記号IC1の部品を探索開始部品と特定する。次に、探索開始部品特定部22bは、ステップS800で判別した部品の中に未選択の電源端子を持つ部品があるか否かを判断する。ここでは、回路記号IC2、IC3、IC5、IC6、IC7の部品が未選択なので、ステップS801へ進む。
以上の回路記号IC1の部品に対する処理と同様に、回路記号IC2、IC3、IC5、IC6、IC7の部品についても、図8に示したフローチャートに従った処理を実行する。その結果、回路記号IC1と回路記号IC3の2つの部品を探索開始部品として特定する。
【0049】
次に、図3のステップS304に進み、電源回路特定部22cは、電源回路を特定する。ここでは、処理プログラム12aは、部品情報110から、回路記号IC6の部品が電源回路を構成する部品の一つである電源制御ICであると判断できるため、回路記号IC6と周辺回路で構成される回路が電源回路であると特定できる。そして、電源回路特定部22cは、電源回路の情報を設定するための表示設定画面を表示装置13に表示する。図13は、電源回路の情報を設定するための表示設定画面130の一例を示す図である。電源回路特定部22cは、ユーザが入力装置14を使って、表示設定画面130に対して入力した電源回路の情報(電源回路の入力ネット名、出力ネット名、制御ネット名、入出力特性情報)を特定する。入出力特性情報としては、例えば、電源回路の動作電圧、電源回路の出力電圧、制御閾値電圧(電源回路の出力を制御する際の閾値電圧)、立ち上がり時間(電源回路の出力電圧が出力を開始してから所定値に到達するまでの時間)等が挙げられる。ここでは、入力ネット名をPOWER3.3、出力ネット名をPOWER1.8、制御ネット名をN29、動作電圧を3.0[V]、出力電圧を1.8[V]、制御閾値電圧を2.7[V]、立ち上がり時間を10ミリ[秒]と指定する。
【0050】
次に、ステップS305において、探索部22dは、探索終了部品を特定する。ここでは、回路記号がIC6の電源制御ICと、ステップS303で特定した回路記号がIC1とIC3の探索開始部品とを探索終了部品として特定する。
次に、ステップS306において、探索部22dは、ステップS302で特定した電源ネット名及びグランドネット名と、ステップS304で特定した電源回路の入出力ネット名と、ステップS305で特定した探索終了部品とを探索終点とする。ここでは、探索終点は、電源ネット名であるPOWER3.3、POWER1.8、グランドネット名であるGND、入力ネット名であるPOWER3.3、出力ネット名であるPOWER1.8、探索終了部品(探索開始部品、電源制御IC)となる。
次に、ステップS307において、探索部22dは、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。ここでは、探索始点は、回路記号がIC1の部品の端子番号9の端子と端子番号12の端子、回路記号IC3の部品の端子番号9の端子と端子番号11の端子、電源回路(回路記号がIC6の部品)の制御ネット名であるN29となる。
【0051】
次に、図4のステップS400において、探索部22dは、ステップS307で特定した探索始点を探索継続点に追加する。次に、ステップS401において、探索部22dは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号9の端子を選択するものとする。次に、ステップS402において、探索部22dは、ステップS401で選択した探索継続点は端子であるか否かを判断する。ここでは、選択した探索継続点は端子なので、ステップS403に進む。ステップS403に進むと、探索部22dは、ステップS401で選択した探索継続点を探索結果情報に追加する。ここでは、回路記号IC1の部品の端子番号9の端子を探索結果情報に追加する。
【0052】
次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点に接続されているネットのネット名を、接続情報100より取得する。ここでは、回路記号IC1の部品の端子番号9の端子に接続されているネットのネット名はN6となる。次に、ステップS405において、探索部22dは、ステップS404で取得したネット名が探索終点のネット名であるか否かを判断する。ここでは、ネット名N6は探索終点のネット名ではないのでステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名に接続されている端子のうち、探索継続点以外の端子を判別する。ここでは、ネット名N6に接続されている端子のうち、探索継続点以外の端子は、回路記号がR4の部品の端子番号2の端子となる。
【0053】
次に、ステップS407において、探索部22dは、ステップS406で判別した端子を一つ選択する。ここでは、回路記号R4の部品の端子番号2の端子を選択する。次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品が電源制御ICであるか否かを判断する。回路記号R4は電源制御ICではないので、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子を探索結果情報に追加する。ここでは、回路記号R4の部品の端子番号2の端子を探索結果情報に追加する。次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品が、探索終点の部品であるか否かを判断する。ここでは、回路記号R4の部品は、探索終点の部品ではないのでステップS411に進む。ステップS411に進むと、探索部22dは、ステップS407で選択した端子を持つ部品が内部接続情報を持つか否かを、部品情報110から判断する。ここでは、回路記号R4の部品は内部接続情報を持たないのでステップS412に進む。
【0054】
ステップS412に進むと、探索部22dは、ステップS407で選択した端子を持つ部品の持つ端子のうち、ステップS407で取得した端子以外の端子を、接続情報100から判別する。ここでは、回路記号R4の部品の端子番号1の端子を判別する。次に、ステップS414において、探索部22dは、ステップS412で取得した端子の中から一つを選択する。ここでは、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子が探索継続点に追加済みであるか否かを判断する。ここでは、回路記号R4の部品の端子番号1の端子は、探索継続点に追加していないので、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子を探索継続点に追加する。ここでは、回路記号R4の部品の端子番号1の端子を探索継続点に追加する。
【0055】
次に、ステップS417において、探索部22dは、ステップS412で判別した端子の中に未選択の端子があるか否かを判断する。ここでは、ステップS412において、回路記号R4の部品の端子番号1の端子だけが判別されたので、未選択の端子はない。よって、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子を持つ部品の中に未選択の部品があるか否かを判断する。ここでは、ステップS406において、回路記号がR4の部品の端子番号2の端子だけが判別されたので、未選択の端子はない。よって、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があるか否かを判断する。ここでは、未選択の探索継続点があるのでステップS401に戻る。
【0056】
ステップS401に戻ると、探索部22dは、探索継続点を一つ選択する。ここでは、探索継続点として回路記号R4の部品の端子番号1の端子を選択するものとする。次に、ステップS402において、探索部22dは、ステップS401で選択した探索継続点(回路記号R4の部品の端子番号1の端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号R4の部品の端子番号1の端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号R4の端子が持つ端子番号1の端子)に接続されているネットのネット名POWER3.3を、接続情報100より取得する。
【0057】
次に、ステップS405において、探索部22dは、ステップS404で取得したネット名POWER3.3は探索終点のネット名であると判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断して、ステップS401に戻る。
以上の作業により、探索始点として回路記号IC1の部品の端子番号9の電源端子を選択した場合の探索が終了となる。これと同様に、ステップS401において、探索部22dは、回路記号IC1の部品の端子番号12の電源端子と、回路記号IC3の部品の端子番号9の電源端子を探索始点として選択して、探索を実施する。
【0058】
以上の探索が終了し、ステップS401において、探索部22dが、探索継続点として、探索始点である「回路記号IC3の部品の端子番号11のリセット端子」を選択した場合の動作について説明する。ステップS402において、探索部22dは、ステップS401で選択した探索継続点(回路記号IC3の部品の端子番号11のリセット端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号IC3の部品の端子番号11のリセット端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号IC3の部品の端子番号11の端子)に接続されているネットのネット名N9を、接続情報100より取得する。次に、ステップS405において、探索部22dは、ステップS404で取得したネット名N9は、探索終点のネット名ではないと判断し、ステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名N9に接続されている端子のうち、探索継続点以外の端子(回路記号R2の部品の端子番号2の端子)を、接続情報100から判別する。次に、ステップS407において、探索部22dは、ステップS406で判別した端子(回路記号R2の部品の端子番号2の端子)を選択する。
【0059】
次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)は電源制御ICではないと判断し、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子(回路記号R2の部品の端子番号2の端子)を探索結果情報に追加する。次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)は探索終点の部品ではないと判断し、ステップS411に進む。ステップS411に進むと、探索部22dは、ステップS406で判別した端子を持つ部品(回路記号R2の部品)が内部接続情報を持たないことを、部品情報110から判断し、ステップS412に進む。ステップS412に進むと、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)の端子のうち、ステップS407で選択した端子(端子番号2の端子)以外の端子として、回路記号R2の部品の端子番号1の端子を判別する。
【0060】
次に、ステップS414において、探索部22dは、ステップS412で判別した端子(回路記号R2の部品の端子番号1の端子)を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子(回路記号R2の部品の端子番号1の端子)は、探索継続点に追加済みではないと判断し、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子(回路記号R2の部品の端子番号1の端子)を探索継続点に追加する。次に、ステップS417において、探索部22dは、ステップS412で判別した端子は、回路記号R2の部品の端子番号1の端子のみであるので、未選択の端子はないと判断し、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子は、回路記号R2の部品の端子番号2の端子のみであるので、未選択の端子はないと判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断し、ステップS401に戻る。
【0061】
ステップS401に戻ると、探索部22は、探索継続点として、回路記号R2の部品の端子番号1の端子を選択する。次に、ステップS402において、探索部22は、ステップS401で選択した探索継続点(回路記号R2の部品の端子番号1の端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号R2の部品の端子番号1の端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号R2の部品の端子番号1の端子)に接続されているネットのネット名N24を、接続情報100より取得する。
【0062】
次に、ステップS405において、探索部22dは、ステップS404で取得したネット名N24は探索終点のネット名ではないと判断し、ステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名N24に接続されている端子のうち、探索継続点以外の端子(回路記号IC4の部品の端子番号4の端子)を判別する。次に、ステップS407において、探索部22dは、ステップS406で判別した端子(回路記号IC4の部品の端子番号4の端子)を選択する。次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)は電源制御ICではないと判断し、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子(回路記号IC4の部品の端子番号4の端子)を探索結果情報に追加する。
【0063】
次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)は探索終点の部品ではないと判断し、ステップS411に進む。ステップS411において、探索部22dは、ステップS407で取得した端子を持つ部品(回路記号IC4の部品)が内部接続情報を持つことを、部品情報110から判断し、ステップS413に進む。ステップS413に進むと、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)の端子のうち、ステップS407で選択した端子(端子番号4の端子)と内部接続関係を持つ端子を、部品情報110から判別する。ここでは、回路記号IC4の部品の端子番号1の端子が判別される。次に、ステップS414において、探索部22dは、ステップS413で判別した端子(回路記号IC4の部品の端子番号1の端子)を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子(回路記号IC4の部品の端子番号1の端子)は、探索継続点に追加済みではないと判断し、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子(回路記号IC4の部品の端子番号1の端子)を探索継続点に追加する。
【0064】
次にステップS417において、探索部22dは、ステップS413で判別した端子は、回路記号IC4の部品の端子番号1の端子のみであるので、未選択の端子はないと判断し、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子は、回路記号IC4の部品の端子番号4の端子のみであるので、未選択の端子はないと判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断し、ステップS401に戻る。
【0065】
そして、以上の処理と同様にしてステップS401において、探索部22dは、探索継続点として、以下のものを選択する。すなわち、回路記号IC4の部品の端子番号1の端子、回路記号R1の部品の端子番号1の端子、回路記号C3の部品の端子番号2の端子、回路記号IC5の部品の端子番号1の端子、回路記号R6の部品の端子番号1の端子、及び制御ネット名N29を選択する。そして、ステップS419において、探索部22dが、未選択の探索継続点がないと判断すると、ステップS501に進む。図14は、探索結果情報140の一例を示す図である。探索部22は、以上の処理により取得した「回路記号、端子番号、及び端子に接続されているネット名」を相互に対応づけて探索結果情報140として主記憶装置11に記憶する。
【0066】
次に、図5のステップS501において、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品から一つを選択する。ここでは、探索開始部品として回路記号IC3の部品を選択するものとする。次に、ステップS502において、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子又はリセット端子を、部品情報110及び端子情報120から一つ選択する。ここでは、回路記号IC3の部品の端子番号9の電源端子を選択するものとする。次に、ステップS503において、シミュレーションモデル作成部22eは、ステップS502で選択した端子は電源端子であると判断し、ステップS504に進む。ステップS504に進むと、シミュレーションモデル作成部22eは、ステップS502で選択した「回路記号IC3の部品の端子番号9の電源端子」に対して電源端子モデルを記述する。電源端子モデルは、例えば、電源端子を抵抗の一方の端子と接続し、当該抵抗のもう一方の端子をグランドに接続する方法等で記述することができる。このように本実施形態では、探索開始部品の電源端子に接続される回路が電源端子モデルとして記述される。
【0067】
回路記号IC3の部品は、端子番号9の電源端子のほかに、端子番号11のリセット端子を持つ。よって、ステップS506において、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子があると判断し、ステップS502に戻る。ステップS502に戻ると、シミュレーションモデル作成部22eは、回路記号IC3の部品の端子番号11のリセット端子を選択する。次に、ステップS503において、シミュレーションモデル作成部22eは、ステップS502で選択した端子はリセット端子であると判断し、ステップS505に進む。ステップS505に進むと、シミュレーションモデル作成部22eは、ステップS502で選択した「回路記号IC3の部品の端子番号11のリセット端子」に対してリセット端子モデルを記述する。リセット端子モデルは、例えば、リセット端子をロジックICの入力端子と接続し、当該ロジックICの出力端子をグランドに接続する方法等で記述することができる。このように本実施形態では、探索開始部品のリセット端子に接続される回路がリセット端子モデルとして記述される。
【0068】
次に、ステップS506へ進み、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子がないと判断する。これにより、回路記号IC3の部品(探索開始部品)のシミュレーションモデルの記述が終了する。図15は、回路記号IC3の部品(探索開始部品)のシミュレーションモデルの記述内容150の一例を示す図である。次に、ステップS507において、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品には、回路記号IC3の他に、回路記号IC1の部品があるので、未選択の探索開始部品があると判断し、ステップS501に戻る。そして、ステップS501において、シミュレーションモデル作成部22eは、回路記号がIC1の部品(探索開始部品)を選択し、回路記号IC3の部品(探索開始部品)と同様に、回路記号IC1の部品(探索開始部品)のシミュレーションモデルを記述する。そして、ステップS507において、ステップS303で特定した探索開始部品の中に未選択の部品がないと判断されると、図6のステップS601に進み、電源回路のシミュレーションネットリストの作成する処理が開始する。
【0069】
ステップS601において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路を一つ選択する。前述したように、ここでは、ステップS304において、回路記号IC6と周辺回路で構成される回路が電源回路であると特定されている。次に、ステップS602において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路の入出力特性情報を取得する。前述したように、ここでは、電源回路の入出力特性情報として、次の情報を取得する。すなわち、入力ネット名がPOWER3.3、出力ネット名がPOWER1.8、制御ネット名がN29、動作電圧が3.0[V]、出力電圧が1.8[V]、制御閾値電圧が2.7[V]、立ち上がり時間が10ミリ[秒]の情報を取得する。次に、ステップS603において、シミュレーションネットリスト作成部22fは、ステップS602で取得した入出力特性情報を元に、回路特性パラメータ値を算出する。
【0070】
ここで、回路特性パラメータ値を算出する方法の一例を説明する。図16は、電源回路のシミュレーションモデルの一例を電気回路で示す図である。図16において、INは、電源回路のシミュレーションモデルの入力端子に接続されるネットのネット名を示している。OUTは、電源回路のシミュレーションモデルの出力端子に接続されるネットのネット名を示している。CTRLは、電源回路のシミュレーションモデルの制御端子に接続されるネットのネット名を示している。NETAとNETBは、それぞれネット名を示している。GNDは、グランドネット名を示している。151及び152は、数式やテーブルで表された数理モデルを示している。153は、抵抗値が1キロ[Ω]の抵抗を示し、154は、コンデンサを示している。図16に示す例では、INは、ステップS602で取得した入力ネット名POWER3.3となる。OUTは、ステップS602で取得した出力ネット名POWER1.8となる。CTRLは、ステップS602で取得した制御ネット名N29となる。
【0071】
次に、図16に示す例における電源回路のシミュレーションモデルの動作について説明する。数理モデル161は、数理モデル161に入力されるINの電圧が、ステップS602で取得した動作電圧3.0[V]を超えた場合、5[V]の電圧をNETAに出力する。一方、前記動作電圧が、3.0[V]以下の場合、数理モデル161は、0[V]を出力する。数理モデル162は、数理モデル162に入力されるCTRLの電圧が、ステップS602で取得した制御閾値電圧2.7[V]を超えた場合、数理モデル162に入力されるNETAの電圧をNETBに出力する。一方、前記制御閾値電圧が、2.7[V]以下の場合、数理モデル162は、0[V]を出力する。抵抗163とコンデンサ164とで構成される積分回路は、NETBの電圧値に応じて、ステップS602で取得した立ち上がり時間(10ミリ[秒])だけ立ち上がりを遅らせて、ステップS602で設定した出力電圧1.8[V]をOUTに出力する。
【0072】
図16に示す電源回路のシミュレーションモデルの回路特性パラメータ(入力パラメータ)は、ステップS304で特定した動作電圧及び制御閾値電圧と、当該シミュレーションモデルを構成する部品の一つであるコンデンサ164の静電容量である。このコンデンサの静電容量は、ステップS304で特定した出力電圧及び立ち上がり時間を元に算出される。
以下、コンデンサ164の静電容量の算出方法の一例について説明する。抵抗163とコンデンサ164とで構成される積分回路において、コンデンサ164に加わる電圧V2は、以下の(1)式で表される。
V2=V1[1−e(−t/CR)] ・・・(1)
ただし、V1を印加電圧、Rを抵抗163の抵抗値、Cをコンデンサ164の静電容量、eを自然対数の底、tを充電開始後の経過時間とする。
よって、(1)式から、コンデンサ164の静電容量Cを算出する式として、以下の(2)式が得られる。
C=t/[R[ln(1−V2/V1)]] ・・・(2)
ここでは、V1が数理モデル162の出力電圧である5[V]、Rが1キロ[Ω]、tがステップS304で特定した立ち上がり時間である10ミリ[秒]となる。これらを(2)式に代入すると、コンデンサCはおよそ22.4マイクロ[F]となる。以上の作業により回路特性パラメータが算出される。
【0073】
次に、ステップS604において、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力ネット名及び制御ネット名を取得する。ここでは、入力ネット名としてPOWER3.3を、出力ネット名としてPOWER1.8を、制御ネット名としてN29を夫々取得する。次に、ステップS605において、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路のシミュレーションモデルを取得する。次に、ステップS606において、シミュレーションネットリスト作成部22fは、ステップS605で取得したシミュレーションモデルのシミュレーションモデル名を取得する。次に、ステップS607において、シミュレーションネットリスト作成部22fは、次の処理を行う。すなわち、ステップS602で取得した入出力特性情報と、ステップS604で取得した「電源回路の入出力ネット名及び制御ネット名」と、ステップS603で算出した回路特性パラメータ値とを元に、シミュレーションネットリストを記述する。次に、ステップS608において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路は、回路記号IC6と周辺回路で構成される回路だけであるので、未選択の電源回路はないと判断し、ステップS701に進む。
【0074】
ステップS701に進むと、シミュレーションネットリスト作成部22fは、探索結果情報から、部品を一つ選択する。ここでは、探索結果情報から回路記号IC1の部品を選択するものとする。次に、ステップS702において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品の端子番号9の端子と、当該端子に接続されているネットのネット名N6を特定する。また、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品の端子番号12の端子と、当該端子に接続されているネットのネット名N2を特定する。次に、ステップS703において、シミュレーションネットリスト作成部22fは、ステップS702で特定した回路記号IC1の部品に記述済み情報を付与する。
【0075】
次に、ステップS704において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションモデルを取得する。次に、ステップS705において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品は、シミュレーションモデル名(シミュレーションモデルの記述)が必要な部品であると判断し、ステップS706に進む。ステップS706に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションモデル名A000を、部品情報110から取得する。次に、ステップS707において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品はパラメータの指定が必要な部品ではないと判断し、ステップS709に進む。ステップS709に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションネットリストを記述する。以上で、回路記号IC1の部品のシミュレーションネットリストの記述作業が終了する。
【0076】
次に、ステップS710において、シミュレーションネットリスト作成部22fは、探索結果情報に記述済み情報が付与されていない部品があると判断し、ステップS701に戻る。そして、回路記号IC1の部品と同様に、ステップS701において、探索結果情報から、回路記号がR4、R3、IC3、R5、R2、IC4、R1、IC5、R6、C3、IC7、R14の部品を選択し、それらのシミュレーションネットリストを記述する。そして、ステップS710において、探索結果情報に記述済み情報が付与されていない部品がないと判断されると、出力部23は、作成されたシミュレーションネットリストを、シミュレーションネットリスト格納部12dに記憶される。
以上の処理を行うことで、図17に示すようなシミュレーションネットリスト170を作成することが可能となる。
【0077】
以上のように本実施形態では、まず、回路を構成する部品の「部品情報110、端子情報120、及び端子間の接続情報100」に基づき、探索開始部品を特定する。具体的には、電源端子とリセット端子とを持つ部品、又は、電源端子を持ち且つ異なる2つ以上の電源ネット名を持つ部品を探索開始部品とする。そして、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。また、電源回路の入出力ネット名と、電源ネット名と、グランドネット名と、部品情報110に基づいて特定される探索終了部品とを探索終点とする。そして、探索始点から探索終点までの探索経路にある部品を探索し、当該部品の接続情報を特定し、探索経路にある部品のシミュレーションネットリストを作成する。したがって、プリント基板の回路全体に影響のある電源と、電源の制御信号のみのシミュレーションネットリストを作成することができる。よって、プリント基板設計回路における半導体集積回路への電源供給の制御に関するシミュレーション時間を削減することができる。
尚、本実施形態では、電源回路の入出力ネット名が電源ネット名である場合を例に挙げて説明したが、電源ネット名以外のネット名等を、電源回路の入出力ネット名としてもよい。また、電源回路のシミュレーションモデルが入出力端子と制御端子とを備える場合を例に挙げて示したが、電源回路のシミュレーションモデルが制御端子を備えていなくてもよい。また、探索終了部品は前記以外の部品であってもよい。
【0078】
本実施形態では、例えば、回路図情報取得部22a(ステップS302)によりネット名特定手段の一例が実現される。また、探索開始部品特定部22b(ステップS303、ステップS800〜S824)により探索開始部品特定手段の一例が実現される。また、電源回路特定部22c(ステップS304)により電源回路特定手段の一例が実現される。また、探索部22d(ステップS305)により探索終了部品特定手段の一例が実現される。また、探索部22d(ステップS306)により探索終点設定手段の一例が実現される。また、探索部22d(ステップS307)により探索始点設定手段の一例が実現される。また、探索部22d(ステップS400〜S419)により探索手段の一例が実現される。また、シミュレーションモデル作成部22e(ステップS504、S505)により作成手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS605)により電源回路モデル取得手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS704)により部品モデル取得手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS607、S709)によりシミュレーションネットリスト作成手段の一例が実現される。
【0079】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0080】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【0081】
20 入力部、22 シミュレーション入力データ作成部、23 出力部
【技術分野】
【0001】
本発明は、シミュレーションネットリスト作成装置、シミュレーションネットリスト作成方法、及びコンピュータプログラムに関し、特に、回路に供給される電源の挙動を解析するためのシミュレーションネットリストを作成するために用いて好適なものである。
【背景技術】
【0002】
電子機器には、その機能の追加や性能の向上が恒常的に要求されており、回路規模を大きくすることでその要求を満たしている。電子機器に搭載されるコアとなる部品である半導体集積回路(以下、必要に応じて「IC」と称する)には、半導体プロセスの微細化技術により高性能化・低電圧化が要求される。更に、ICを正常に駆動するためには、複数の電源電圧を、規定の順序・規定のタイミングに従って供給することが要求される。つまり、電源電圧の供給順序やタイミングを満たした電源制御が行われるように回路設計をすることが求められる。このような電源制御が適切に行われているかどうかの検証作業は、人手による実機計測によって行われるのが一般的である。しかし、この検証作業にかかる作業工数は、回路規模に比例して増加する。そこで、回路シミュレーションにより、この検証を行うことが検討されているが、検証作業の対象となる回路規模が大きいことからシミュレーション時間の長さが問題となる。
【0003】
この問題を解決するために、シミュレーションの高速化のための様々な方法が提案されている。シミュレーションの高速化のための技術として、不要な回路を削除したシミュレーションネットリストを作成する技術が提案されている(特許文献1を参照)。特許文献1には、不要な回路を切り離すための端子を指定した後に、指定した端子に電源又はグランドを接続し、且つ、不要な回路を切り離したシミュレーションネットリストを作成する技術が開示されている。
また、シミュレーションの高速化のための技術として、シミュレーション項目毎に最適なネットリストを作成する技術が提案されている(特許文献2を参照)。特許文献2には、シミュレーション項目毎に全ての入力端子及び出力端子のノードを探索開始点のノードとし、探索開始点のノードと接点を持つ素子を探索し、全てのノードとの接点が探索された素子のみをシミュレーションすべき素子とする技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−32426号公報
【特許文献2】特開2003−308353号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1及び特許文献2記載の技術によれば、プリント基板の回路全体に影響のある電源と、電源の制御信号のみのシミュレーションネットリストを作成することができない。そのため、シミュレーション時間を多分に要するという課題があった。
本発明は、このような課題に鑑みてなされたものであり、回路における電源制御に関するシミュレーションの時間を削減することを目的とする。
【課題を解決するための手段】
【0006】
本発明のシミュレーションネットリスト作成装置は、回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定手段と、前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定手段と、前記部品情報に基づき、電源回路を特定する電源回路特定手段と、前記部品情報に基づき、探索終了部品を特定する探索終了部品特定手段と、前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定手段と、前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定手段と、前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索手段と、前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成手段と、前記電源回路のシミュレーションモデルを取得する電源回路モデル取得手段と、前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得手段と、前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、電源と、電源の制御信号のみのシミュレーションネットリストを作成することができる。よって、回路における電源制御に関するシミュレーションの時間を削減することができる。
【図面の簡単な説明】
【0008】
【図1】シミュレーションネットリスト作成装置の構成を示す図である。
【図2】シミュレーションネットリストを作成するための機能構成を示す図である。
【図3】シミュレーションネットリスト作成装置の動作フローチャートである。
【図4】図3に続く動作フローチャートである。
【図5】図4に続く動作フローチャートである。
【図6】図5に続く動作フローチャートである。
【図7】図6に続く動作フローチャートである。
【図8】図3のステップS303の詳細を示す動作フローチャートである。
【図9】シミュレーションネットリストの作成対象の電気回路を示す図である。
【図10】図9に示す電気回路の接続情報を示す図である。
【図11】図9に示す電気回路の部品情報を示す図である。
【図12】図9に示す電気回路の端子情報を示す図である。
【図13】電源回路の情報を設定するための表示設定画面を示す図である。
【図14】探索結果情報を示す図である。
【図15】IC3の部品のシミュレーションモデルの記述内容を示す図である。
【図16】電源回路のシミュレーションモデルを示す図である。
【図17】シミュレーションネットリストを示す図である。
【発明を実施するための形態】
【0009】
以下に、図面を参照しながら、本発明の一実施形態を説明する。
図1は、シミュレーションネットリスト作成装置を実現するコンピュータ装置の概略的な構成の一例を示す図である。
図1において、中央処理装置(CPU)10は、装置全体を制御する。主記憶装置11は、読み出し専用記憶装置(ROM)と、中央処理装置10が計算処理時にデータの一時的な読み書きを行う記憶装置(RAM)とを含む。外部記憶装置12は、ハードディスク、フレキシブルディスク、CD、DVD、MD等の記憶媒体を用いて構成され、データの読み書きに利用される。表示装置13は、ブラウン管や液晶ディスプレイに代表される装置である。入力装置14は、マウスやキーボード等に代表される装置である。出力装置(プリンタ)15は、計算結果等を印刷する。バス16は、アドレスバス、データバス、制御バス等を用いて構成され、各部の間で情報を伝達するためのものである。中央処理装置10、主記憶装置11、外部記憶装置12、表示装置13、入力装置14、及び出力装置15は、それぞれバス16を介して互いに接続されている。
【0010】
外部記憶装置12には、処理プログラム12a、回路図情報12b、及びシミュレーションモデルライブラリ12cが記憶されている。また、外部記憶装置12は、シミュレーションネットリスト格納部12dを有する。
処理プログラム12aは、コンピュータ装置内にインストールされた「シミュレーションネットリストを作成するためのコンピュータプログラム」である。回路図情報12bには、回路を構成する部品に関する部品情報、部品の端子に関する端子情報、及び端子間の接続に関する接続情報が含まれる。シミュレーションモデルライブラリ12cは、シミュレーションモデルに関する情報である。シミュレーションネットリスト格納部12dは、シミュレーションネットリストを格納する場所である。
【0011】
図2は、シミュレーションネットリストを作成するためのコンピュータ装置の機能構成の一例を示す図である。
図2において、入力部20は、主に入力装置14を用いて実現され、ユーザが入力装置14を用いて入力した「回路図情報12bの読込指示や、処理プログラム12a等の実行に使用される条件に関する情報」等を、コンピュータ装置内に入力する。
外部記憶情報抽出部21は、主に外部記憶装置12を用いて実現される。外部記憶情報抽出部21は、入力部20から、処理プログラム12aの実行が指示されると、その指示に従って、CPU10からの制御命令により、外部記憶装置12に記憶された処理プログラム12aを抽出する。抽出された処理プログラム12aは、主記憶装置11内に記憶される。また、外部記憶情報抽出部21は、入力部20から、回路図情報12bを読み込む指示が出されると、その指示に従って、CPU10からの制御命令により、外部記憶装置12内に記憶された回路図情報12bを抽出する。抽出された回路図情報12bは、主記憶装置11に記憶される。
【0012】
シミュレーション入力データ作成部22は、主にCPU10と処理プログラム12aとを用いて実現される。シミュレーション入力データ作成部22は、入力部20から、処理プログラム12aの実行が指示されると、主記憶装置11の一部の領域を利用しながら処理プログラム12aを実行して、シミュレーションネットリストを作成する。このようにシミュレーション入力データ作成部22の処理は、主記憶装置11に記憶されている処理プログラム12aに基づいて行われる。
回路図情報取得部22aは、CPU10の制御により、入力部20から入力された情報に基づいて、回路図情報12bを取得する。取得した回路図情報12bは、主記憶装置11に記憶される。探索開始部品特定部22bは、CPU10の制御により、回路図情報取得部22aにより取得された回路図情報12bに基づいて、探索開始部品を特定する。ここで、探索開始部品とは、回路図中の電源と電源の制御信号の供給経路とを探索する上での始点となる部品を指す。特定した探索開始部品の情報は、主記憶装置11に記憶される。
【0013】
電源回路特定部22cは、CPU10の制御により、回路図情報取得部22aで取得した回路図情報12bに基づいて、電源回路を特定する。電源回路としては、例えば、レギュレータIC等の電源制御ICと周辺回路とを備えて構成され、入力電圧から、必要とされる出力電圧を生成する回路等が挙げられる。特定した電源回路の情報は、主記憶装置11に記憶される。探索部22dは、CPU10の制御により、回路図情報取得部22aで取得した回路図情報12bと、探索開始部品特定部22bで特定した探索開始部品の情報と、電源回路特定部22cで特定した電源回路の情報に基づき、回路図の部品情報と接続情報を探索する。探索により得られた部品情報は、主記憶装置11に記憶される。シミュレーションモデル作成部22eは、CPU10の制御により、探索開始部品特定部22bで特定した探索開始部品のシミュレーションモデルを作成する。作成したシミュレーションモデルは、シミュレーションモデルライブラリ12cに記憶される。シミュレーションネットリスト作成部22fは、CPU10の制御により、次の処理を行う。すなわち、シミュレーションネットリスト作成部22fは、回路図情報取得部22aで取得した回路図情報12bと、探索部22dで取得した部品情報及び接続情報と、シミュレーションモデルライブラリ12cに基づき、シミュレーションネットリストを作成する。作成したシミュレーションネットリストは、出力部23により、シミュレーションネットリスト格納部12dに記憶される。
【0014】
図3〜図8は、シミュレーションネットリスト作成装置の動作の一例を説明するフローチャートである。
以下、シミュレーションネットリスト作成プログラム(処理プログラム12a)を実行することにより実現される動作を、図3〜図8のフローチャートを用いて説明する。
まず初めに、図3のフローチャートについて説明する。入力部20から処理プログラム12aの実行の指示を受けると、シミュレーション入力データ作成部22は、外部記憶情報抽出部21により主記憶装置11に転送された処理プログラム12aを読み出す。そして、処理プログラム12aの実行が開始される。これにより、図3のフローチャートによる処理が開始する。
【0015】
まず、外部記憶情報抽出部21は、回路図情報12bを主記憶装置11に転送する。回路図情報取得部22aは、主記憶装置11に記憶された回路図情報12bを読み出し、回路を構成する部品情報、端子情報、及び端子間の接続情報を取得する(ステップS301)。次に、回路図情報取得部22aは、ステップS301で取得した接続情報から、電源ネット名とグランドネット名とを特定する(ステップS302)。次に、探索開始部品特定部22bは、ステップS301で取得した部品情報、端子情報、及び接続情報から、探索開始部品を特定する(ステップS303)。
【0016】
ここで、図8のフローチャートを参照しながら、ステップS303において探索開始部品を特定する際の動作の詳細を説明する。
まず初めに、探索開始部品特定部22bは、ステップS301で取得した部品情報及び端子情報から、電源端子を持つ部品を判別する(ステップS800)。次に、探索開始部品特定部22bは、ステップS800で判別した電源端子を持つ部品を一つ選択する(ステップS801)。
次に、探索開始部品特定部22bは、ステップS801で選択した部品がリセット端子を持つか否かを判断する(ステップS802)。この判断の結果、ステップS801で選択した部品がリセット端子を持つ場合には、ステップS804へ進み、当該部品がリセット端子を持たない場合には、ステップS803へ進む。ステップS804に進むと、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品として特定し、後述するステップS824へ進む。
【0017】
一方、ステップS803に進むと、探索開始部品特定部22bは、ステップS801で選択した部品の電源端子を判別する。次に、ステップS805において、探索開始部品特定部22bは、ステップS803で取得した電源端子の数が2以上である(複数)か否かを判断する。この判断の結果、電源端子の数が2以上の場合には、ステップS806へ進み、電源端子の数が2未満の場合には、後述するステップS824へ進む。ステップS806に進むと、探索開始部品特定部22bは、ステップS803で判別した電源端子を探索継続点に追加する。
次に、ステップS807において、探索開始部品特定部22bは、後述するステップS811で保持したネット名(ネットの名称)を初期化する。次に、ステップS808において、探索開始部品特定部22bは、探索継続点を一つ選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネット名を、ステップS301で取得した接続情報から取得する。
【0018】
次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名が電源ネット名であるか否かを、ステップS301で取得した接続情報から判断する。この判断の結果、ステップS809で取得したネット名が電源ネット名である場合には、ステップS811に進み、当該ネット名が電源ネット名でない場合には、ステップS812に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得した電源ネット名を保持し、後述するステップS822に進む。
一方、ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名がグランドネット名であるか否かを判断する。この判断の結果、ステップS809で取得したネット名がグランドネット名である場合には、後述するステップS822に進み、当該ネット名がグランドネット名でない場合には、ステップS813に進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名に接続されている探索継続点以外の端子を判別する。
【0019】
次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子の中から一つを選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品がICであるか否かを判断する。この判断の結果、ステップS814で選択した端子を持つ部品がICである場合には、後述するステップS821に進み、当該部品がICでない場合には、ステップS816に進む。ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した端子以外の端子を判別する。
次に、ステップS817において、探索開始部品特定部22bは、ステップS816で判別した端子から一つを選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子が探索継続点に追加済みであるか否かを判断する。この判断の結果、ステップS817で選択した端子が探索継続点に追加済みである場合には、ステップS819を省略して後述するステップS820に進み、当該端子が探索継続点に追加済みでない場合には、ステップS819に進む。
【0020】
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子を探索継続点に追加する。そして、ステップS820において、探索開始部品特定部22bは、ステップS816で判別した端子の中に未選択の端子があるか否かを判断する。この判断の結果、ステップS816で判別した端子の中に未選択の端子がある場合はステップS817に戻り、ステップS816で判別した全ての端子についてステップS817〜S820の処理を繰り返し行う。そして、ステップS816で判別した全ての端子についてステップS817〜S820の処理を行うと、ステップS821に進む。
ステップS821に進むと、探索開始部品特定部22bは、ステップS813で判別した端子の中に未選択の端子があるか否かを判断する。この判断の結果、ステップS813で判別した端子の中に未選択の端子がある場合にはステップS814に戻り、ステップS813で判別した全ての端子についてステップS814〜S821の処理を繰り返し行う。そして、ステップS813で判別した全ての端子についてステップS814〜S821の処理を行うと、ステップS822に進む。
【0021】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があるか否かを判断する。この判断の結果、未選択の探索継続点がある場合にはステップS808に戻り、全ての探索継続点についてステップS808〜S822の処理を繰り返し行う。そして、全ての探索継続点についてステップS808〜S822の処理を行うとステップS823に進む。ステップS823に進むと、探索開始部品特定部22bは、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2以上であるか否かを判断する。
この判断の結果、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2以上である場合、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品と特定する(ステップS804)。一方、ステップS811で保持した電源ネット名のうち、異なるネット名の数が2未満の場合にはステップS824へ進む。ステップS824に進むと、探索開始部品特定部22bは、ステップS800で判別した部品の中に未選択の部品があるか否かを判断する。この判断の結果、ステップS800で判別した部品の中に未選択の部品がある場合にはステップS801に戻り、全ての部品についてステップS800〜S824の処理を繰り返し行う。そして、全ての部品についてステップS800〜S824の処理を行うと、探索開始部品の特定作業を終了する。以上の作業を経てステップS303を終了する。
【0022】
以上のようにして図3のステップS303の処理が終了すると、ステップS304に進み、電源回路特定部22cは、ステップS301で取得した部品情報を元に電源回路を特定する。そして、電源回路特定部22cは、ユーザが入力装置14を操作して、表示設定画面に対して入力した電源回路の情報(電源回路の入力ネット名、出力ネット名、制御ネット名、入出力特性情報)を特定する。入力ネット名は、電源回路に電圧を入力するネットの名称であり、出力ネット名は、電源回路からの電圧の出力を受けるネットの名称であり、制御ネット名は、電源回路の出力を制御するネットの名称である。
【0023】
次に、探索部22dは、ステップS301で取得した部品情報を元に探索終了部品を特定する(ステップS305)。探索終了部品は、例えば、部品情報に含まれる部品の名称に基づいて特定できる。ここでは、探索部22dは、ステップS301で取得した部品情報に含まれる名称をキーとして電源制御ICを探索終了部品として特定するものとする。また、探索部22dは、ステップS303で特定した探索開始部品も探索終了部品として特定する。
次に、探索部22dは、ステップS304で特定した電源回路の入出力ネット名と、ステップS302で特定した電源ネット名及びグランドネット名と、ステップS305で特定した探索終了部品とを探索終点とする(ステップS306)。次に、探索部22dは、ステップS303で特定した探索開始部品の電源端子及びリセット端子と、ステップS304で特定した電源回路の制御ネット名とを探索始点とする(ステップS307)。
【0024】
次に、探索部22dは、ステップS307で特定した探索始点を探索継続点に追加する(図4のステップS400)。次に、探索部22dは、探索継続点の中から一つを選択する(ステップS401)。次に、探索部22dは、ステップS401で選択した探索継続点が端子であるか否かを判断する(ステップS402)。この判断の結果、ステップS401で選択した探索継続点が端子の場合にはステップS403に進み、当該探索継続点が端子ではなくネット名である場合にはステップS403、S404を省略して後述するステップS405に進む。ステップS403に進むと、探索部22dは、ステップS401で選択した探索継続点を探索結果情報に追加する。次に、探索部22dは、ステップS401で選択した探索継続点に接続されているネットのネット名を、ステップS301で取得した接続情報から取得する(ステップS404)。
次に、探索部22dは、ステップS401で選択したネット名、又はステップS404で取得したネット名が、探索終点のネット名であるか否かを判断する(ステップS405)。この判断の結果、前記ネット名が、探索終点のネット名である場合には、後述するステップS419に進み、前記ネット名が、探索終点のネット名でない場合には、ステップS406に進む。ステップS406に進むと、探索部22dは、前記ネット名のネットに接続されている端子のうち、探索継続点以外の端子を、ステップS301で取得した接続情報から判別する。
【0025】
次に、探索部22dは、ステップS406で取得した端子から一つを選択する(ステップS407)。次に、ステップS407で選択した端子を持つ部品が電源制御ICであるか否かを判断する(ステップS408)。この判断の結果、ステップS407で選択した端子を持つ部品が電源制御ICである場合には、後述するステップS418に進み、当該部品が電源制御ICでない場合には、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子を探索結果情報に追加する。次に、探索部22dは、ステップS407で選択した端子を持つ部品が、ステップS306で特定した探索終点の部品であるか否かを判断する(ステップS410)。この判断の結果、ステップS407で選択した端子を持つ部品が、探索終点の部品の場合には、後述するステップS418に進み、前記部品が、探索終点の部品ではない場合には、ステップS411に進む。
ステップS411に進むと、探索部22dは、ステップS407で選択した端子を持つ部品が、内部接続情報を持つか否かを、ステップS301で取得した部品情報に基づいて判断する。この判断の結果、ステップS407で選択した端子を持つ部品が内部接続情報を持つ場合、探索部22dは、ステップS407で選択した端子と内部接続関係を持つ端子を、部品情報から判別する(ステップS413)。一方、ステップS407で選択した端子を持つ部品が内部接続情報を持たない場合、探索部22dは、ステップS407で選択した端子を持つ部品の端子のうち、ステップS407で選択した以外の端子を、接続情報から判別する(ステップS412)。
【0026】
ステップS412又はS413で端子が判別されると、探索部22dは、当該端子の中から一つを選択する(ステップS414)。次に、探索部22dは、ステップS414で選択した端子が、探索継続点に追加済みであるか否かを判断する(ステップS415)。この判断の結果、ステップS414で選択した端子が探索継続点に追加済みの場合には、ステップS416を省略して後述するステップS417に進み、当該端子が探索継続点に追加済みでない場合には、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子を探索継続点に追加する。
次に、探索部22dは、ステップS412又はステップS413で判別した端子の中に未選択の端子があるか否かを判断する(ステップS417)。この判断の結果、ステップS412又はステップS413で判別した端子の中に未選択の端子がある場合には、ステップS414に戻り、ステップS412又はステップS413で判別した全ての端子について、ステップS414〜S417の処理を繰り返し行う。
【0027】
そして、ステップS412又はステップS413で判別した全ての端子について、ステップS414〜S417の処理を行うと、探索部22dは、ステップS406で判別した端子を持つ部品の中に未選択の部品があるか否かを判断する(ステップS418)。この判断の結果、ステップS406で判別した端子を持つ部品の中に未選択の部品がある場合にはステップS407に戻り、ステップS406で判別した端子を持つ全ての部品についてステップS407〜S418の処理を繰り返し行う。
そして、ステップS406で判別した端子を持つ全ての部品についてステップS407〜S418の処理を行うと、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があるか否かを判断する。この判断の結果、未選択の探索継続点がある場合にはステップS401に戻り、全ての探索継続点についてステップS401〜S419の処理を繰り返し行う。そして、全ての探索継続点についてステップS401〜S419の処理を行うと、探索処理を終了し、図5のステップS501に進む。以上の作業を探索部22dにて行う。
【0028】
図5に示す、探索開始部品シミュレーションモデル作成処理において、まず初めに、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品を一つ選択する(ステップS501)。次に、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子又はリセット端子を一つ選択する(ステップS502)。次に、シミュレーションモデル作成部22eは、ステップS502で選択した端子が電源端子であるか否かを端子情報から判断する(ステップS503)。
この判断の結果、ステップS502で選択した端子が電源端子である場合、シミュレーションモデル作成部22eは、電源端子モデルを記述(作成)する(ステップS504)。一方、ステップS502で選択した端子が電源端子ではなくリセット端子である場合、シミュレーションモデル作成部22eは、リセット端子モデルを記述(作成)する(ステップS505)。
【0029】
電源端子モデル、又はリセット端子モデルが記述されると、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子があるか否かを判断する(ステップS506)。この判断の結果、未選択の端子がある場合にはステップS502に戻り、全ての端子について、ステップS502〜S506の処理を繰り返し行う。そして、全ての端子について、ステップS502〜S506の処理を行うと、ステップS507に進む。ステップS507に進むと、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品の中に、未選択の探索開始部品があるか否かを判断する。この判断の結果、未選択の探索開始部品がある場合にはステップS501へ戻り、全ての探索開始部品についてステップS501〜S507の処理を行うまで、ステップS501〜S507の処理を繰り返し行う。そして、全ての探索開始部品についてステップS501〜S507の処理を行うと、探索開始部品シミュレーションモデルの作成作業を終了し、ステップS601に進む。以上の作業をシミュレーションモデル作成部22eにて行う。
【0030】
図6に示す、電源回路のシミュレーションネットリスト作成処理において、まず初めに、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路を一つ選択する(ステップS601)。次に、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力特性情報を、ステップS304で特定した電源回路の情報から取得する(ステップS602)。次に、シミュレーションネットリスト作成部22fは、ステップS602で取得した入出力特性情報を元に、シミュレーションモデルへ適用する回路特性パラメータ値を算出する(ステップS603)。次に、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力ネット名及び制御ネット名を、ステップS304で特定した電源回路の情報から取得する(ステップS604)。
【0031】
次に、シミュレーションネットリスト作成部22fは、シミュレーションモデルライブラリ12cより電源回路のシミュレーションモデルを取得する(ステップS605)。次に、シミュレーションネットリスト作成部22fは、電源回路のシミュレーションモデル名を、ステップS301で取得した部品情報から取得する(ステップS606)。次に、シミュレーションネットリスト作成部22fは、シミュレーションネットリストを記述(作成)する(ステップS607)。このシミュレーションネットリストの記述は、ステップS602で取得した入出力特性情報と、ステップS603で算出した回路特性パラメータ値と、ステップS604で取得した「電源回路の入出力ネット名及び制御ネット名」とを元にして行われる。次に、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路の中に、未選択の電源回路があるか否かを判断する(ステップS608)。この判断の結果、ステップS304で特定した電源回路の中に、未選択の電源回路がある場合には、ステップS601に戻り、ステップS304で特定した全ての電源回路についてステップS601〜S608の処理を繰り返し行う。そして、ステップS304で特定した全ての電源回路についてステップS601〜S608の処理を行うと、図7のステップS701へ進む。
【0032】
ステップS701に進むと、シミュレーションネットリスト作成部22fは、図4のフローチャートによる処理で得られた探索結果情報から部品を一つ選択する。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品の電源端子、リセット端子と、当該端子に接続されているネットのネット名を特定する(ステップS702)。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品に、記述済み情報を付与する(ステップS703)。次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションモデルをシミュレーションモデルライブラリ12cから取得する(ステップS704)。
【0033】
次に、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品が、シミュレーションモデル名の記述が必要である部品であるか否かを判断する(ステップS705)。この判断の結果、ステップS701で選択した部品が、シミュレーションモデル名の記述が必要な部品である場合には、ステップS706に進む。一方、当該部品が、シミュレーションモデル名の記述が必要ではない部品である場合には、ステップS706を省略して後述するステップS707に進む。ステップS706に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションモデル名を、ステップS301で取得した部品情報から取得し、ステップS707に進む。ステップS707に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品が、パラメータの指定が必要な部品であるか否かを、ステップS301で取得した部品情報から判断する。
【0034】
この判断の結果、ステップS701で選択した部品が、パラメータの指定が必要な部品である場合、シミュレーションネットリスト作成部22fは、ステップS301で取得した部品情報から、当該部品の定格を取得する(ステップS708)。そして、ステップS709に進む。一方、ステップS701で選択した部品が、パラメータの指定が必要ではない部品である場合には、ステップS708を省略してステップS709に進む。ステップS709に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した部品のシミュレーションネットリストを記述(作成)する。シミュレーションネットリストは、例えば、部品情報110と、電源回路の入出力特性情報と、探索経路にある部品の接続情報と、シミュレーションモデルとに基づいて作成することができる。
【0035】
次に、シミュレーションネットリスト作成部22fは、探索結果情報に記述済み情報が付与されていない部品があるか否かを判断する(ステップS710)。この判断の結果、探索結果情報に記述済み情報が付与されていない部品がある場合には、ステップS701に戻り、探索結果情報に記述済み情報が付与されていない部品がなくなるまで、ステップS701〜S710の処理を繰り返し行う。そして、探索結果情報に記述済み情報が付与されていない部品がなくなると、シミュレーションネットリストの作成作業を終了し、出力部23は、作成したシミュレーションネットリストをシミュレーションネットリスト格納部12dに記憶する。そして、処理プログラム12aを終了する。
以上が、本実施形態に係るシミュレーションネットリスト作成フローチャートの一例の詳細な説明である。
【0036】
次に、シミュレーションネットリスト作成プログラムの具体的な動作の一例を、図9〜図17を用いて説明する。
図9は、シミュレーションネットリストの作成対象の電気回路の一例を示す図である。図9において、R1〜R14は、抵抗に付与される回路記号を示す。C1〜C3は、コンデンサに付与される回路記号を示す。L1は、インダクタに付与される回路記号を示す。IC1〜IC7は、ICに付与される回路記号を示す。N1〜N29は、ネット名を示す。POWER3.3、POWER1.8は、電源ネット名を示す。GNDは、グランドネット名を示す。IC1〜IC3の部品に付与される番号1〜12、IC4の部品に付与される番号1〜4、IC5の部品に付与される番号1、2、IC6の部品に付与される番号1〜4、IC7の部品に付与される番号1、2は、夫々ICが持つ端子番号を示す。R1〜R14の部品に付与される番号1、2は、夫々抵抗が持つ端子番号を示す。C1〜C3の部品に付与される番号1、2は、夫々コンデンサが持つ端子番号を示す。L1の部品に付与される番号1、2は、夫々インダクタが持つ端子番号を示す。
【0037】
図10は、図9に示す電気回路の接続情報を示す図である。図10に示す例では、図9に示す電気回路の部品の「回路記号と、端子番号と、端子に接続されているネット名」を接続情報としている。図11は、図9に示す電気回路の部品情報を示す図である。図11に示す例では、図9に示す電気回路の部品の「回路記号と、部品番号と、名称と、定格と、内部接続」を部品情報としている。ここで、前記内部接続の情報は、部品の内部で接続関係がある端子番号を示している。図12は、図9に示す電気回路の部品の端子情報を示す図である。図12に示す例では、図9に示す電気回路の部品の「部品番号と、端子番号と、属性」を端子情報としている。図12に示す例では、電源端子は、その属性としてPOWERを有し、リセット端子はその属性としてRESETを有している。
以下、図9に示す電気回路と、図10に示す接続情報100と、図11に示す部品情報110と、図12に示す端子情報120に対して、本実施形態の処理プログラム12aを適用した時の動作の一例を詳細に説明する。
【0038】
処理プログラム12aの実行を開始すると、まず初めに、ステップS301において、シミュレーション入力データ作成部22は、回路図情報112bから、部品情報110と、端子情報120と、接続情報100とを取得する。次に、ステップS302において、回路図情報取得部22aは、接続情報100から、電源ネット名とグランドネット名とを特定する。図10に示す例では、電源ネット名は、POWER3.3とPOWER1.8であり、グランドネット名は、GNDである。次に、ステップS303において、探索開始部品特定部22bは、ステップS301で取得した「部品情報110と、端子情報120と、接続情報100」から、探索開始部品を特定する。探索開始部品を特定する作業は、図8のフローチャートに従って行われる。
【0039】
まず初めに、ステップS800において、探索開始部品特定部22bは、電源端子を持つ部品を、部品情報110及び端子情報120から判別する。この例において、電源端子を持つ部品は、回路記号IC1、IC2、IC3、IC5、IC6、IC7の部品となる。次に、ステップS801において、探索開始部品特定部22bは、ステップS800で判別した部品から一つを選択する。ここでは、回路記号IC1の部品を選択するものとする。次に、ステップS802において、探索開始部品特定部22bは、ステップS801で選択した部品がリセット端子を持つか否かを判断する。回路記号IC1の部品はリセット端子を持たないので、ステップS803へ進む。
【0040】
ステップS803に進むと、探索開始部品特定部22bは、ステップS801で選択した部品の電源端子を判別する。回路記号IC1の部品の電源端子は、端子番号9の端子と端子番号12の端子となる。次に、ステップS805において、探索開始部品特定部22bは、ステップS803で判別した電源端子の数が2以上か否かを判断する。回路記号IC1の部品の電源端子の数は2なので、ステップS806へ進む。ステップS806に進むと、探索開始部品特定部22bは、ステップS803で判別した電源端子を探索継続点に追加する。ここでは、探索開始部品特定部22bは、回路記号IC1の部品の端子番号9の端子と端子番号12の端子とを探索継続点に追加する。
【0041】
ステップS807において、探索開始部品特定部22bは、ステップS811で保持したネット名を初期化する。次に、ステップS808において、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号9の端子を選択するものとする。次に、ステップS809において、探索開始部品特定部22bは、探索継続点に接続されているネット名を、接続情報100から取得する。探索継続点に接続されているネット名は、N6である。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名が電源ネット名か否かを判断する。ネット名N6は、電源ネット名ではないので、ステップS812へ進む。
【0042】
ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名がグランドネット名であるか否かを判断する。ネット名N6は、グランドネット名ではないので、ステップS813へ進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名に接続されている端子のうち、探索継続点以外の端子を接続情報100から判別する。ネット名N6に接続されている端子のうち、探索継続点以外の端子は、回路記号R4の部品の端子番号2の端子となる。次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子から一つを選択する。ここでは、回路記号R4の部品の端子番号2の端子を選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品がICであるか否かを判断する。この例において、回路記号R4の部品は抵抗でありICではないので、ステップS816に進む。
【0043】
ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した端子以外の端子を判別する。ここでは、回路記号R4の部品の端子番号1の端子を判別する。次に、ステップS817において、ステップS816で判別された端子を一つ選択する。ここでは、部品情報110及び端子情報120より、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子が、探索継続点に追加済みであるか否かを判断する。回路記号R4の部品の端子番号1の端子は、探索継続点に追加されていないので、ステップS819に進む。
【0044】
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子を探索継続点に追加する。回路記号R4の部品の端子番号1の端子を探索継続点に追加する。次に、ステップS820において、探索開始部品特定部22bは、ステップS816で判別した端子に未選択の端子があるか否かを判断する。回路記号R4の部品について、端子番号2の端子以外の端子は端子番号1の端子だけであるのでステップS821へ進む。ステップS821に進むと、探索開始部品特定部22bは、ステップS813で判別した端子に未選択の端子があるか否かを判断する。ネット名N6に接続されている端子は、回路記号IC1の部品の端子番号9の端子(探索継続点)と、回路記号R4の部品の端子番号2の端子だけであるので、ステップS822に進む。
【0045】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があるか否かを判断する。ここでは、未選択の探索継続点があるので、ステップS808に戻る。ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネットのネット名POWER3.3を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名POWER3.3は、電源ネット名であると判断し、ステップS811に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得したネット名POWER3.3を保持する。次に、ステップS822において、探索開始部品特定部22bは、未選択の探索継続点はあると判断して、ステップS808に戻る。
【0046】
ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号12の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネット名N2を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名N2は電源ネット名ではないと判断し、ステップS812に進む。ステップS812に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名N2はグランドネット名ではないと判断し、ステップS813に進む。ステップS813に進むと、探索開始部品特定部22bは、ステップS809で取得したネット名のネットに接続されている端子のうち、探索継続点以外の端子として、回路記号R3の部品の端子番号2の端子を、接続情報100から判別する。
【0047】
次に、ステップS814において、探索開始部品特定部22bは、ステップS813で判別した端子を一つ選択する。ここでは、回路記号R3の部品の端子番号2の端子を選択する。次に、ステップS815において、探索開始部品特定部22bは、ステップS815で選択した端子を持つ部品は抵抗(回路記号R3の部品は抵抗)でありICではないと判断し、ステップS816に進む。ステップS816に進むと、探索開始部品特定部22bは、ステップS814で選択した端子を持つ部品の端子のうち、ステップS814で選択した以外の端子を判別する。ここでは、回路記号R3の部品の端子番号1の端子を判別する。次に、ステップS817において、探索開始部品特定部22bは、ステップS816で判別された端子として、回路記号R3の部品の端子番号1の端子を選択する。次に、ステップS818において、探索開始部品特定部22bは、ステップS817で選択した端子(回路記号R3の部品の端子番号1)を、探索継続点に追加していないと判断し、ステップS819に進む。
ステップS819に進むと、探索開始部品特定部22bは、ステップS817で選択した端子(回路記号R3の部品の端子番号1)を探索継続点に追加する。次に、ステップS820において、探索開始部品特定部22bは、回路記号R3の部品について、端子番号2の端子以外の端子は端子番号1の端子だけであるので、ステップS816で取得した端子に未選択の端子はないと判断し、ステップS821に進む。ステップS821において、探索開始部品特定部22bは、ネット名N2に接続されている端子は、回路記号R3の部品の端子番号2の端子だけであるので、ステップS813で取得した端子に未選択の端子はないと判断し、ステップS822に進む。
【0048】
ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点があると判断し、ステップS808に戻る。ステップS808に戻ると、探索開始部品特定部22bは、探索継続点を一つ選択する。ここでは、回路記号R3の部品の端子番号1の端子を選択する。次に、ステップS809において、探索開始部品特定部22bは、ステップS808で選択した探索継続点に接続されているネットのネット名POWER1.8を、接続情報100から取得する。次に、ステップS810において、探索開始部品特定部22bは、ステップS809で取得したネット名POWER1.8は電源ネット名なのでステップS811に進む。ステップS811に進むと、探索開始部品特定部22bは、ステップS810で取得したネット名POWER1.8を保持し、ステップS822に進む。ステップS822に進むと、探索開始部品特定部22bは、未選択の探索継続点はないと判断し、ステップS823に進む。ステップS823に進むと、探索開始部品特定部22bは、ステップS811で保持したネット名のうち、異なるネット名の数は2以上であるか否かを判断する。ここでは、保持したネット名は、POWER3.3とPOWER1.8である。よって、異なるネット名の数は2なのでステップS804に進む。ステップS804に進むと、探索開始部品特定部22bは、ステップS801で選択した部品を探索開始部品と特定する。ここでは、回路記号IC1の部品を探索開始部品と特定する。次に、探索開始部品特定部22bは、ステップS800で判別した部品の中に未選択の電源端子を持つ部品があるか否かを判断する。ここでは、回路記号IC2、IC3、IC5、IC6、IC7の部品が未選択なので、ステップS801へ進む。
以上の回路記号IC1の部品に対する処理と同様に、回路記号IC2、IC3、IC5、IC6、IC7の部品についても、図8に示したフローチャートに従った処理を実行する。その結果、回路記号IC1と回路記号IC3の2つの部品を探索開始部品として特定する。
【0049】
次に、図3のステップS304に進み、電源回路特定部22cは、電源回路を特定する。ここでは、処理プログラム12aは、部品情報110から、回路記号IC6の部品が電源回路を構成する部品の一つである電源制御ICであると判断できるため、回路記号IC6と周辺回路で構成される回路が電源回路であると特定できる。そして、電源回路特定部22cは、電源回路の情報を設定するための表示設定画面を表示装置13に表示する。図13は、電源回路の情報を設定するための表示設定画面130の一例を示す図である。電源回路特定部22cは、ユーザが入力装置14を使って、表示設定画面130に対して入力した電源回路の情報(電源回路の入力ネット名、出力ネット名、制御ネット名、入出力特性情報)を特定する。入出力特性情報としては、例えば、電源回路の動作電圧、電源回路の出力電圧、制御閾値電圧(電源回路の出力を制御する際の閾値電圧)、立ち上がり時間(電源回路の出力電圧が出力を開始してから所定値に到達するまでの時間)等が挙げられる。ここでは、入力ネット名をPOWER3.3、出力ネット名をPOWER1.8、制御ネット名をN29、動作電圧を3.0[V]、出力電圧を1.8[V]、制御閾値電圧を2.7[V]、立ち上がり時間を10ミリ[秒]と指定する。
【0050】
次に、ステップS305において、探索部22dは、探索終了部品を特定する。ここでは、回路記号がIC6の電源制御ICと、ステップS303で特定した回路記号がIC1とIC3の探索開始部品とを探索終了部品として特定する。
次に、ステップS306において、探索部22dは、ステップS302で特定した電源ネット名及びグランドネット名と、ステップS304で特定した電源回路の入出力ネット名と、ステップS305で特定した探索終了部品とを探索終点とする。ここでは、探索終点は、電源ネット名であるPOWER3.3、POWER1.8、グランドネット名であるGND、入力ネット名であるPOWER3.3、出力ネット名であるPOWER1.8、探索終了部品(探索開始部品、電源制御IC)となる。
次に、ステップS307において、探索部22dは、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。ここでは、探索始点は、回路記号がIC1の部品の端子番号9の端子と端子番号12の端子、回路記号IC3の部品の端子番号9の端子と端子番号11の端子、電源回路(回路記号がIC6の部品)の制御ネット名であるN29となる。
【0051】
次に、図4のステップS400において、探索部22dは、ステップS307で特定した探索始点を探索継続点に追加する。次に、ステップS401において、探索部22dは、探索継続点を一つ選択する。ここでは、回路記号IC1の部品の端子番号9の端子を選択するものとする。次に、ステップS402において、探索部22dは、ステップS401で選択した探索継続点は端子であるか否かを判断する。ここでは、選択した探索継続点は端子なので、ステップS403に進む。ステップS403に進むと、探索部22dは、ステップS401で選択した探索継続点を探索結果情報に追加する。ここでは、回路記号IC1の部品の端子番号9の端子を探索結果情報に追加する。
【0052】
次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点に接続されているネットのネット名を、接続情報100より取得する。ここでは、回路記号IC1の部品の端子番号9の端子に接続されているネットのネット名はN6となる。次に、ステップS405において、探索部22dは、ステップS404で取得したネット名が探索終点のネット名であるか否かを判断する。ここでは、ネット名N6は探索終点のネット名ではないのでステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名に接続されている端子のうち、探索継続点以外の端子を判別する。ここでは、ネット名N6に接続されている端子のうち、探索継続点以外の端子は、回路記号がR4の部品の端子番号2の端子となる。
【0053】
次に、ステップS407において、探索部22dは、ステップS406で判別した端子を一つ選択する。ここでは、回路記号R4の部品の端子番号2の端子を選択する。次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品が電源制御ICであるか否かを判断する。回路記号R4は電源制御ICではないので、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子を探索結果情報に追加する。ここでは、回路記号R4の部品の端子番号2の端子を探索結果情報に追加する。次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品が、探索終点の部品であるか否かを判断する。ここでは、回路記号R4の部品は、探索終点の部品ではないのでステップS411に進む。ステップS411に進むと、探索部22dは、ステップS407で選択した端子を持つ部品が内部接続情報を持つか否かを、部品情報110から判断する。ここでは、回路記号R4の部品は内部接続情報を持たないのでステップS412に進む。
【0054】
ステップS412に進むと、探索部22dは、ステップS407で選択した端子を持つ部品の持つ端子のうち、ステップS407で取得した端子以外の端子を、接続情報100から判別する。ここでは、回路記号R4の部品の端子番号1の端子を判別する。次に、ステップS414において、探索部22dは、ステップS412で取得した端子の中から一つを選択する。ここでは、回路記号R4の部品の端子番号1の端子を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子が探索継続点に追加済みであるか否かを判断する。ここでは、回路記号R4の部品の端子番号1の端子は、探索継続点に追加していないので、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子を探索継続点に追加する。ここでは、回路記号R4の部品の端子番号1の端子を探索継続点に追加する。
【0055】
次に、ステップS417において、探索部22dは、ステップS412で判別した端子の中に未選択の端子があるか否かを判断する。ここでは、ステップS412において、回路記号R4の部品の端子番号1の端子だけが判別されたので、未選択の端子はない。よって、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子を持つ部品の中に未選択の部品があるか否かを判断する。ここでは、ステップS406において、回路記号がR4の部品の端子番号2の端子だけが判別されたので、未選択の端子はない。よって、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があるか否かを判断する。ここでは、未選択の探索継続点があるのでステップS401に戻る。
【0056】
ステップS401に戻ると、探索部22dは、探索継続点を一つ選択する。ここでは、探索継続点として回路記号R4の部品の端子番号1の端子を選択するものとする。次に、ステップS402において、探索部22dは、ステップS401で選択した探索継続点(回路記号R4の部品の端子番号1の端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号R4の部品の端子番号1の端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号R4の端子が持つ端子番号1の端子)に接続されているネットのネット名POWER3.3を、接続情報100より取得する。
【0057】
次に、ステップS405において、探索部22dは、ステップS404で取得したネット名POWER3.3は探索終点のネット名であると判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断して、ステップS401に戻る。
以上の作業により、探索始点として回路記号IC1の部品の端子番号9の電源端子を選択した場合の探索が終了となる。これと同様に、ステップS401において、探索部22dは、回路記号IC1の部品の端子番号12の電源端子と、回路記号IC3の部品の端子番号9の電源端子を探索始点として選択して、探索を実施する。
【0058】
以上の探索が終了し、ステップS401において、探索部22dが、探索継続点として、探索始点である「回路記号IC3の部品の端子番号11のリセット端子」を選択した場合の動作について説明する。ステップS402において、探索部22dは、ステップS401で選択した探索継続点(回路記号IC3の部品の端子番号11のリセット端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号IC3の部品の端子番号11のリセット端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号IC3の部品の端子番号11の端子)に接続されているネットのネット名N9を、接続情報100より取得する。次に、ステップS405において、探索部22dは、ステップS404で取得したネット名N9は、探索終点のネット名ではないと判断し、ステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名N9に接続されている端子のうち、探索継続点以外の端子(回路記号R2の部品の端子番号2の端子)を、接続情報100から判別する。次に、ステップS407において、探索部22dは、ステップS406で判別した端子(回路記号R2の部品の端子番号2の端子)を選択する。
【0059】
次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)は電源制御ICではないと判断し、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子(回路記号R2の部品の端子番号2の端子)を探索結果情報に追加する。次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)は探索終点の部品ではないと判断し、ステップS411に進む。ステップS411に進むと、探索部22dは、ステップS406で判別した端子を持つ部品(回路記号R2の部品)が内部接続情報を持たないことを、部品情報110から判断し、ステップS412に進む。ステップS412に進むと、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号R2の部品)の端子のうち、ステップS407で選択した端子(端子番号2の端子)以外の端子として、回路記号R2の部品の端子番号1の端子を判別する。
【0060】
次に、ステップS414において、探索部22dは、ステップS412で判別した端子(回路記号R2の部品の端子番号1の端子)を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子(回路記号R2の部品の端子番号1の端子)は、探索継続点に追加済みではないと判断し、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子(回路記号R2の部品の端子番号1の端子)を探索継続点に追加する。次に、ステップS417において、探索部22dは、ステップS412で判別した端子は、回路記号R2の部品の端子番号1の端子のみであるので、未選択の端子はないと判断し、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子は、回路記号R2の部品の端子番号2の端子のみであるので、未選択の端子はないと判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断し、ステップS401に戻る。
【0061】
ステップS401に戻ると、探索部22は、探索継続点として、回路記号R2の部品の端子番号1の端子を選択する。次に、ステップS402において、探索部22は、ステップS401で選択した探索継続点(回路記号R2の部品の端子番号1の端子)は端子であると判断し、ステップS403に進む。ステップS403に進むと、探索部22dは、回路記号R2の部品の端子番号1の端子を探索結果情報に追加する。次に、ステップS404において、探索部22dは、ステップS401で選択した探索継続点(回路記号R2の部品の端子番号1の端子)に接続されているネットのネット名N24を、接続情報100より取得する。
【0062】
次に、ステップS405において、探索部22dは、ステップS404で取得したネット名N24は探索終点のネット名ではないと判断し、ステップS406に進む。ステップS406に進むと、探索部22dは、ステップS404で取得したネット名N24に接続されている端子のうち、探索継続点以外の端子(回路記号IC4の部品の端子番号4の端子)を判別する。次に、ステップS407において、探索部22dは、ステップS406で判別した端子(回路記号IC4の部品の端子番号4の端子)を選択する。次に、ステップS408において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)は電源制御ICではないと判断し、ステップS409に進む。ステップS409に進むと、探索部22dは、ステップS407で選択した端子(回路記号IC4の部品の端子番号4の端子)を探索結果情報に追加する。
【0063】
次に、ステップS410において、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)は探索終点の部品ではないと判断し、ステップS411に進む。ステップS411において、探索部22dは、ステップS407で取得した端子を持つ部品(回路記号IC4の部品)が内部接続情報を持つことを、部品情報110から判断し、ステップS413に進む。ステップS413に進むと、探索部22dは、ステップS407で選択した端子を持つ部品(回路記号IC4の部品)の端子のうち、ステップS407で選択した端子(端子番号4の端子)と内部接続関係を持つ端子を、部品情報110から判別する。ここでは、回路記号IC4の部品の端子番号1の端子が判別される。次に、ステップS414において、探索部22dは、ステップS413で判別した端子(回路記号IC4の部品の端子番号1の端子)を選択する。次に、ステップS415において、探索部22dは、ステップS414で選択した端子(回路記号IC4の部品の端子番号1の端子)は、探索継続点に追加済みではないと判断し、ステップS416に進む。ステップS416に進むと、探索部22dは、ステップS414で選択した端子(回路記号IC4の部品の端子番号1の端子)を探索継続点に追加する。
【0064】
次にステップS417において、探索部22dは、ステップS413で判別した端子は、回路記号IC4の部品の端子番号1の端子のみであるので、未選択の端子はないと判断し、ステップS418に進む。ステップS418に進むと、探索部22dは、ステップS406で判別した端子は、回路記号IC4の部品の端子番号4の端子のみであるので、未選択の端子はないと判断し、ステップS419に進む。ステップS419に進むと、探索部22dは、未選択の探索継続点があると判断し、ステップS401に戻る。
【0065】
そして、以上の処理と同様にしてステップS401において、探索部22dは、探索継続点として、以下のものを選択する。すなわち、回路記号IC4の部品の端子番号1の端子、回路記号R1の部品の端子番号1の端子、回路記号C3の部品の端子番号2の端子、回路記号IC5の部品の端子番号1の端子、回路記号R6の部品の端子番号1の端子、及び制御ネット名N29を選択する。そして、ステップS419において、探索部22dが、未選択の探索継続点がないと判断すると、ステップS501に進む。図14は、探索結果情報140の一例を示す図である。探索部22は、以上の処理により取得した「回路記号、端子番号、及び端子に接続されているネット名」を相互に対応づけて探索結果情報140として主記憶装置11に記憶する。
【0066】
次に、図5のステップS501において、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品から一つを選択する。ここでは、探索開始部品として回路記号IC3の部品を選択するものとする。次に、ステップS502において、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子又はリセット端子を、部品情報110及び端子情報120から一つ選択する。ここでは、回路記号IC3の部品の端子番号9の電源端子を選択するものとする。次に、ステップS503において、シミュレーションモデル作成部22eは、ステップS502で選択した端子は電源端子であると判断し、ステップS504に進む。ステップS504に進むと、シミュレーションモデル作成部22eは、ステップS502で選択した「回路記号IC3の部品の端子番号9の電源端子」に対して電源端子モデルを記述する。電源端子モデルは、例えば、電源端子を抵抗の一方の端子と接続し、当該抵抗のもう一方の端子をグランドに接続する方法等で記述することができる。このように本実施形態では、探索開始部品の電源端子に接続される回路が電源端子モデルとして記述される。
【0067】
回路記号IC3の部品は、端子番号9の電源端子のほかに、端子番号11のリセット端子を持つ。よって、ステップS506において、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子があると判断し、ステップS502に戻る。ステップS502に戻ると、シミュレーションモデル作成部22eは、回路記号IC3の部品の端子番号11のリセット端子を選択する。次に、ステップS503において、シミュレーションモデル作成部22eは、ステップS502で選択した端子はリセット端子であると判断し、ステップS505に進む。ステップS505に進むと、シミュレーションモデル作成部22eは、ステップS502で選択した「回路記号IC3の部品の端子番号11のリセット端子」に対してリセット端子モデルを記述する。リセット端子モデルは、例えば、リセット端子をロジックICの入力端子と接続し、当該ロジックICの出力端子をグランドに接続する方法等で記述することができる。このように本実施形態では、探索開始部品のリセット端子に接続される回路がリセット端子モデルとして記述される。
【0068】
次に、ステップS506へ進み、シミュレーションモデル作成部22eは、ステップS501で選択した探索開始部品の電源端子及びリセット端子の中に未選択の端子がないと判断する。これにより、回路記号IC3の部品(探索開始部品)のシミュレーションモデルの記述が終了する。図15は、回路記号IC3の部品(探索開始部品)のシミュレーションモデルの記述内容150の一例を示す図である。次に、ステップS507において、シミュレーションモデル作成部22eは、ステップS303で特定した探索開始部品には、回路記号IC3の他に、回路記号IC1の部品があるので、未選択の探索開始部品があると判断し、ステップS501に戻る。そして、ステップS501において、シミュレーションモデル作成部22eは、回路記号がIC1の部品(探索開始部品)を選択し、回路記号IC3の部品(探索開始部品)と同様に、回路記号IC1の部品(探索開始部品)のシミュレーションモデルを記述する。そして、ステップS507において、ステップS303で特定した探索開始部品の中に未選択の部品がないと判断されると、図6のステップS601に進み、電源回路のシミュレーションネットリストの作成する処理が開始する。
【0069】
ステップS601において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路を一つ選択する。前述したように、ここでは、ステップS304において、回路記号IC6と周辺回路で構成される回路が電源回路であると特定されている。次に、ステップS602において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路の入出力特性情報を取得する。前述したように、ここでは、電源回路の入出力特性情報として、次の情報を取得する。すなわち、入力ネット名がPOWER3.3、出力ネット名がPOWER1.8、制御ネット名がN29、動作電圧が3.0[V]、出力電圧が1.8[V]、制御閾値電圧が2.7[V]、立ち上がり時間が10ミリ[秒]の情報を取得する。次に、ステップS603において、シミュレーションネットリスト作成部22fは、ステップS602で取得した入出力特性情報を元に、回路特性パラメータ値を算出する。
【0070】
ここで、回路特性パラメータ値を算出する方法の一例を説明する。図16は、電源回路のシミュレーションモデルの一例を電気回路で示す図である。図16において、INは、電源回路のシミュレーションモデルの入力端子に接続されるネットのネット名を示している。OUTは、電源回路のシミュレーションモデルの出力端子に接続されるネットのネット名を示している。CTRLは、電源回路のシミュレーションモデルの制御端子に接続されるネットのネット名を示している。NETAとNETBは、それぞれネット名を示している。GNDは、グランドネット名を示している。151及び152は、数式やテーブルで表された数理モデルを示している。153は、抵抗値が1キロ[Ω]の抵抗を示し、154は、コンデンサを示している。図16に示す例では、INは、ステップS602で取得した入力ネット名POWER3.3となる。OUTは、ステップS602で取得した出力ネット名POWER1.8となる。CTRLは、ステップS602で取得した制御ネット名N29となる。
【0071】
次に、図16に示す例における電源回路のシミュレーションモデルの動作について説明する。数理モデル161は、数理モデル161に入力されるINの電圧が、ステップS602で取得した動作電圧3.0[V]を超えた場合、5[V]の電圧をNETAに出力する。一方、前記動作電圧が、3.0[V]以下の場合、数理モデル161は、0[V]を出力する。数理モデル162は、数理モデル162に入力されるCTRLの電圧が、ステップS602で取得した制御閾値電圧2.7[V]を超えた場合、数理モデル162に入力されるNETAの電圧をNETBに出力する。一方、前記制御閾値電圧が、2.7[V]以下の場合、数理モデル162は、0[V]を出力する。抵抗163とコンデンサ164とで構成される積分回路は、NETBの電圧値に応じて、ステップS602で取得した立ち上がり時間(10ミリ[秒])だけ立ち上がりを遅らせて、ステップS602で設定した出力電圧1.8[V]をOUTに出力する。
【0072】
図16に示す電源回路のシミュレーションモデルの回路特性パラメータ(入力パラメータ)は、ステップS304で特定した動作電圧及び制御閾値電圧と、当該シミュレーションモデルを構成する部品の一つであるコンデンサ164の静電容量である。このコンデンサの静電容量は、ステップS304で特定した出力電圧及び立ち上がり時間を元に算出される。
以下、コンデンサ164の静電容量の算出方法の一例について説明する。抵抗163とコンデンサ164とで構成される積分回路において、コンデンサ164に加わる電圧V2は、以下の(1)式で表される。
V2=V1[1−e(−t/CR)] ・・・(1)
ただし、V1を印加電圧、Rを抵抗163の抵抗値、Cをコンデンサ164の静電容量、eを自然対数の底、tを充電開始後の経過時間とする。
よって、(1)式から、コンデンサ164の静電容量Cを算出する式として、以下の(2)式が得られる。
C=t/[R[ln(1−V2/V1)]] ・・・(2)
ここでは、V1が数理モデル162の出力電圧である5[V]、Rが1キロ[Ω]、tがステップS304で特定した立ち上がり時間である10ミリ[秒]となる。これらを(2)式に代入すると、コンデンサCはおよそ22.4マイクロ[F]となる。以上の作業により回路特性パラメータが算出される。
【0073】
次に、ステップS604において、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路の入出力ネット名及び制御ネット名を取得する。ここでは、入力ネット名としてPOWER3.3を、出力ネット名としてPOWER1.8を、制御ネット名としてN29を夫々取得する。次に、ステップS605において、シミュレーションネットリスト作成部22fは、ステップS601で選択した電源回路のシミュレーションモデルを取得する。次に、ステップS606において、シミュレーションネットリスト作成部22fは、ステップS605で取得したシミュレーションモデルのシミュレーションモデル名を取得する。次に、ステップS607において、シミュレーションネットリスト作成部22fは、次の処理を行う。すなわち、ステップS602で取得した入出力特性情報と、ステップS604で取得した「電源回路の入出力ネット名及び制御ネット名」と、ステップS603で算出した回路特性パラメータ値とを元に、シミュレーションネットリストを記述する。次に、ステップS608において、シミュレーションネットリスト作成部22fは、ステップS304で特定した電源回路は、回路記号IC6と周辺回路で構成される回路だけであるので、未選択の電源回路はないと判断し、ステップS701に進む。
【0074】
ステップS701に進むと、シミュレーションネットリスト作成部22fは、探索結果情報から、部品を一つ選択する。ここでは、探索結果情報から回路記号IC1の部品を選択するものとする。次に、ステップS702において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品の端子番号9の端子と、当該端子に接続されているネットのネット名N6を特定する。また、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品の端子番号12の端子と、当該端子に接続されているネットのネット名N2を特定する。次に、ステップS703において、シミュレーションネットリスト作成部22fは、ステップS702で特定した回路記号IC1の部品に記述済み情報を付与する。
【0075】
次に、ステップS704において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションモデルを取得する。次に、ステップS705において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品は、シミュレーションモデル名(シミュレーションモデルの記述)が必要な部品であると判断し、ステップS706に進む。ステップS706に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションモデル名A000を、部品情報110から取得する。次に、ステップS707において、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品はパラメータの指定が必要な部品ではないと判断し、ステップS709に進む。ステップS709に進むと、シミュレーションネットリスト作成部22fは、ステップS701で選択した回路記号IC1の部品のシミュレーションネットリストを記述する。以上で、回路記号IC1の部品のシミュレーションネットリストの記述作業が終了する。
【0076】
次に、ステップS710において、シミュレーションネットリスト作成部22fは、探索結果情報に記述済み情報が付与されていない部品があると判断し、ステップS701に戻る。そして、回路記号IC1の部品と同様に、ステップS701において、探索結果情報から、回路記号がR4、R3、IC3、R5、R2、IC4、R1、IC5、R6、C3、IC7、R14の部品を選択し、それらのシミュレーションネットリストを記述する。そして、ステップS710において、探索結果情報に記述済み情報が付与されていない部品がないと判断されると、出力部23は、作成されたシミュレーションネットリストを、シミュレーションネットリスト格納部12dに記憶される。
以上の処理を行うことで、図17に示すようなシミュレーションネットリスト170を作成することが可能となる。
【0077】
以上のように本実施形態では、まず、回路を構成する部品の「部品情報110、端子情報120、及び端子間の接続情報100」に基づき、探索開始部品を特定する。具体的には、電源端子とリセット端子とを持つ部品、又は、電源端子を持ち且つ異なる2つ以上の電源ネット名を持つ部品を探索開始部品とする。そして、探索開始部品の電源端子及びリセット端子と、電源回路の制御ネット名とを探索始点とする。また、電源回路の入出力ネット名と、電源ネット名と、グランドネット名と、部品情報110に基づいて特定される探索終了部品とを探索終点とする。そして、探索始点から探索終点までの探索経路にある部品を探索し、当該部品の接続情報を特定し、探索経路にある部品のシミュレーションネットリストを作成する。したがって、プリント基板の回路全体に影響のある電源と、電源の制御信号のみのシミュレーションネットリストを作成することができる。よって、プリント基板設計回路における半導体集積回路への電源供給の制御に関するシミュレーション時間を削減することができる。
尚、本実施形態では、電源回路の入出力ネット名が電源ネット名である場合を例に挙げて説明したが、電源ネット名以外のネット名等を、電源回路の入出力ネット名としてもよい。また、電源回路のシミュレーションモデルが入出力端子と制御端子とを備える場合を例に挙げて示したが、電源回路のシミュレーションモデルが制御端子を備えていなくてもよい。また、探索終了部品は前記以外の部品であってもよい。
【0078】
本実施形態では、例えば、回路図情報取得部22a(ステップS302)によりネット名特定手段の一例が実現される。また、探索開始部品特定部22b(ステップS303、ステップS800〜S824)により探索開始部品特定手段の一例が実現される。また、電源回路特定部22c(ステップS304)により電源回路特定手段の一例が実現される。また、探索部22d(ステップS305)により探索終了部品特定手段の一例が実現される。また、探索部22d(ステップS306)により探索終点設定手段の一例が実現される。また、探索部22d(ステップS307)により探索始点設定手段の一例が実現される。また、探索部22d(ステップS400〜S419)により探索手段の一例が実現される。また、シミュレーションモデル作成部22e(ステップS504、S505)により作成手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS605)により電源回路モデル取得手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS704)により部品モデル取得手段の一例が実現される。また、シミュレーションネットリスト作成部22f(ステップS607、S709)によりシミュレーションネットリスト作成手段の一例が実現される。
【0079】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0080】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【0081】
20 入力部、22 シミュレーション入力データ作成部、23 出力部
【特許請求の範囲】
【請求項1】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定手段と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定手段と、
前記部品情報に基づき、電源回路を特定する電源回路特定手段と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定手段と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定手段と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定手段と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索手段と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成手段と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得手段と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得手段と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成手段と、を有することを特徴とするシミュレーションネットリスト作成装置。
【請求項2】
前記探索開始部品特定手段は、前記部品情報と前記端子情報とに基づいて、複数の電源端子を持つ部品、または電源端子とリセット端子とを持つ部品を、前記探索開始部品として特定することを特徴とする請求項1に記載のシミュレーションネットリスト作成装置。
【請求項3】
前記電源回路特定手段は、前記部品情報に基づき、電源回路を特定すると共に、特定した電源回路の、入力ネット名、出力ネット名、制御ネット名、および入出力特性情報を特定することを特徴とする請求項1又は2に記載のシミュレーションネットリスト作成装置。
【請求項4】
前記探索手段は、前記探索経路にある部品であって、部品の内部での接続関係を持つ端子を有する部品については、当該端子のみを探索の対象とすることを特徴とする請求項1〜3の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項5】
前記シミュレーションモデル作成手段は、前記探索開始部品の電源端子に接続される回路と、前記探索開始部品のリセット端子に接続される回路とを含むシミュレーションモデルを作成することを特徴とする請求項1〜4の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項6】
前記電源回路のシミュレーションモデルは、入力端子と出力端子、または、入力端子と出力端子と制御端子を有し、前記電源回路の入出力特性情報を入力パラメータとすることを特徴とする請求項1〜5の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項7】
前記電源回路は、電源制御ICを含むことを特徴とする請求項1〜6の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項8】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定工程と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定工程と、
前記部品情報に基づき、電源回路を特定する電源回路特定工程と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定工程と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定工程と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定工程と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索工程と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成工程と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得工程と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得工程と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成工程と、を有することを特徴とするシミュレーションネットリスト作成方法。
【請求項9】
前記探索開始部品特定工程は、前記部品情報と前記端子情報とに基づいて、複数の電源端子を持つ部品、または電源端子とリセット端子とを持つ部品を、前記探索開始部品として特定することを特徴とする請求項8に記載のシミュレーションネットリスト作成方法。
【請求項10】
前記電源回路特定工程は、前記部品情報に基づき、電源回路を特定すると共に、特定した電源回路の、入力ネット名、出力ネット名、制御ネット名、および入出力特性情報を特定することを特徴とする請求項8又は9に記載のシミュレーションネットリスト作成方法。
【請求項11】
前記探索工程は、前記探索経路にある部品であって、部品の内部での接続関係を持つ端子を有する部品については、当該端子のみを探索の対象とすることを特徴とする請求項8〜10の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項12】
前記シミュレーションモデル作成工程は、前記探索開始部品の電源端子に接続される回路と、前記探索開始部品のリセット端子に接続される回路とを含むシミュレーションモデルを作成することを特徴とする請求項8〜11の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項13】
前記電源回路のシミュレーションモデルは、入力端子と出力端子、または、入力端子と出力端子と制御端子を有し、前記電源回路の入出力特性情報を入力パラメータとすることを特徴とする請求項8〜12の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項14】
前記電源回路は、電源制御ICを含むことを特徴とする請求項8〜13の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項15】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定工程と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定工程と、
前記部品情報に基づき、電源回路を特定する電源回路特定工程と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定工程と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定工程と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定工程と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索工程と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成工程と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得工程と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得工程と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項1】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定手段と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定手段と、
前記部品情報に基づき、電源回路を特定する電源回路特定手段と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定手段と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定手段と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定手段と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索手段と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成手段と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得手段と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得手段と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成手段と、を有することを特徴とするシミュレーションネットリスト作成装置。
【請求項2】
前記探索開始部品特定手段は、前記部品情報と前記端子情報とに基づいて、複数の電源端子を持つ部品、または電源端子とリセット端子とを持つ部品を、前記探索開始部品として特定することを特徴とする請求項1に記載のシミュレーションネットリスト作成装置。
【請求項3】
前記電源回路特定手段は、前記部品情報に基づき、電源回路を特定すると共に、特定した電源回路の、入力ネット名、出力ネット名、制御ネット名、および入出力特性情報を特定することを特徴とする請求項1又は2に記載のシミュレーションネットリスト作成装置。
【請求項4】
前記探索手段は、前記探索経路にある部品であって、部品の内部での接続関係を持つ端子を有する部品については、当該端子のみを探索の対象とすることを特徴とする請求項1〜3の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項5】
前記シミュレーションモデル作成手段は、前記探索開始部品の電源端子に接続される回路と、前記探索開始部品のリセット端子に接続される回路とを含むシミュレーションモデルを作成することを特徴とする請求項1〜4の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項6】
前記電源回路のシミュレーションモデルは、入力端子と出力端子、または、入力端子と出力端子と制御端子を有し、前記電源回路の入出力特性情報を入力パラメータとすることを特徴とする請求項1〜5の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項7】
前記電源回路は、電源制御ICを含むことを特徴とする請求項1〜6の何れか1項に記載のシミュレーションネットリスト作成装置。
【請求項8】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定工程と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定工程と、
前記部品情報に基づき、電源回路を特定する電源回路特定工程と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定工程と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定工程と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定工程と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索工程と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成工程と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得工程と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得工程と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成工程と、を有することを特徴とするシミュレーションネットリスト作成方法。
【請求項9】
前記探索開始部品特定工程は、前記部品情報と前記端子情報とに基づいて、複数の電源端子を持つ部品、または電源端子とリセット端子とを持つ部品を、前記探索開始部品として特定することを特徴とする請求項8に記載のシミュレーションネットリスト作成方法。
【請求項10】
前記電源回路特定工程は、前記部品情報に基づき、電源回路を特定すると共に、特定した電源回路の、入力ネット名、出力ネット名、制御ネット名、および入出力特性情報を特定することを特徴とする請求項8又は9に記載のシミュレーションネットリスト作成方法。
【請求項11】
前記探索工程は、前記探索経路にある部品であって、部品の内部での接続関係を持つ端子を有する部品については、当該端子のみを探索の対象とすることを特徴とする請求項8〜10の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項12】
前記シミュレーションモデル作成工程は、前記探索開始部品の電源端子に接続される回路と、前記探索開始部品のリセット端子に接続される回路とを含むシミュレーションモデルを作成することを特徴とする請求項8〜11の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項13】
前記電源回路のシミュレーションモデルは、入力端子と出力端子、または、入力端子と出力端子と制御端子を有し、前記電源回路の入出力特性情報を入力パラメータとすることを特徴とする請求項8〜12の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項14】
前記電源回路は、電源制御ICを含むことを特徴とする請求項8〜13の何れか1項に記載のシミュレーションネットリスト作成方法。
【請求項15】
回路を構成する部品の端子に接続されているネットの名称を示す接続情報に基づき、電源ネット名とグランドネット名とを特定するネット名特定工程と、
前記回路を構成する部品を示す部品情報と、前記回路を構成する部品の端子を示す端子情報と、前記接続情報とに基づき、探索開始部品を特定する探索開始部品特定工程と、
前記部品情報に基づき、電源回路を特定する電源回路特定工程と、
前記部品情報に基づき、探索終了部品を特定する探索終了部品特定工程と、
前記電源ネット名と、前記グランドネット名と、前記電源回路の入力ネット名および出力ネット名と、前記探索終了部品とを探索終点とする探索終点設定工程と、
前記探索開始部品の電源端子およびリセット端子と、前記電源回路の制御ネット名とを探索始点とする探索始点設定工程と、
前記探索始点から前記探索終点までを探索し、探索経路にある部品と、その部品の端子の接続情報とを取得する探索工程と、
前記探索開始部品のシミュレーションモデルを作成するシミュレーションモデル作成工程と、
前記電源回路のシミュレーションモデルを取得する電源回路モデル取得工程と、
前記探索により取得した部品のシミュレーションモデルを取得する部品モデル取得工程と、
前記部品情報と、前記電源回路の回路特性と、前記探索により取得された接続情報と、前記シミュレーションモデルとに基づき、前記回路における電源および当該電源の制御信号のシミュレーションネットリストを作成するシミュレーションネットリスト作成工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−43143(P2012−43143A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−183309(P2010−183309)
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月18日(2010.8.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]