IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社TAKUMOの特許一覧

<>
  • 特許-情報処理装置及びプログラム 図1
  • 特許-情報処理装置及びプログラム 図2
  • 特許-情報処理装置及びプログラム 図3
  • 特許-情報処理装置及びプログラム 図4
  • 特許-情報処理装置及びプログラム 図5
  • 特許-情報処理装置及びプログラム 図6
  • 特許-情報処理装置及びプログラム 図7
  • 特許-情報処理装置及びプログラム 図8
  • 特許-情報処理装置及びプログラム 図9
  • 特許-情報処理装置及びプログラム 図10
  • 特許-情報処理装置及びプログラム 図11
  • 特許-情報処理装置及びプログラム 図12
  • 特許-情報処理装置及びプログラム 図13
  • 特許-情報処理装置及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-19
(45)【発行日】2024-06-27
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   G06F 30/367 20200101AFI20240620BHJP
   G06F 30/27 20200101ALI20240620BHJP
【FI】
G06F30/367
G06F30/27
【請求項の数】 22
(21)【出願番号】P 2023573943
(86)(22)【出願日】2022-12-21
(86)【国際出願番号】 JP2022047197
(87)【国際公開番号】W WO2023136075
(87)【国際公開日】2023-07-20
【審査請求日】2024-03-19
(31)【優先権主張番号】P 2022002519
(32)【優先日】2022-01-11
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】522013496
【氏名又は名称】株式会社TAKUMO
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】岡村 均
【審査官】合田 幸裕
(56)【参考文献】
【文献】国際公開第2011/016327(WO,A1)
【文献】特開平08-123850(JP,A)
【文献】特開2021-140510(JP,A)
【文献】特開2021-105877(JP,A)
【文献】特許第6931946(JP,B1)
【文献】米国特許出願公開第2021/0096551(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 - 30/398
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
パラメータの入力に対してシミュレーション結果を生成する、所定の対象物に応じたテンプレートであって、シミュレーションデータを生成する対象である対象物に応じた成果物の1または複数のシミュレーションモデル、シミュレーションモデルを複数接続したトポロジー、これらの組み合わせ、及び/又は、シミュレーションを実行するための手順を含むシミュレーション条件を定義するテンプレートを、利用者端末側の設定に応じて設定するテンプレート設定部と、
前記対象物のシミュレーションデータが出力するシミュレーション結果に対する目標値を設定する目標値設定部と、
テンプレートの特性を変化させるパラメータ関連値を、前記利用者端末側の設定に応じて設定するパラメータ関連値設定部と、
前記テンプレート設定部で設定されたテンプレートに前記パラメータ関連値設定部で設定されたパラメータを入力してシミュレーション結果を生成するシミュレーション実行部と、
前記シミュレーション結果と前記目標値とを比較して、誤差を求める結果判定部と、
前記誤差が目標許容誤差より大きい場合、前記目標値を参照しながら、前記テンプレートに対する前記パラメータを最適化して、前記シミュレーション実行部に再度シミュレーションを実行させるパラメータ最適化部と、
前記誤差が前記目標許容誤差以下である場合、前記シミュレーション実行部で生成された、前記テンプレートと前記テンプレートに対して最適化されたパラメータとを用いたシミュレーション結果に基づく情報を前記利用者端末側に開示する結果データ作成部と、
を有する処理実行部
を具備する情報処理装置。
【請求項2】
前記結果判定部は、前記誤差の減少度合いが所定の閾値に達した場合、前記誤差が目標許容誤差以下であると判断する
請求項1に記載の情報処理装置。
【請求項3】
前記テンプレートを複数格納するデータベースをさらに具備し、
前記テンプレート設定部は、前記利用者端末側の選択に応じて前記データベースから所定のテンプレートを選択する
請求項1に記載の情報処理装置。
【請求項4】
前記結果データ作成部は、前記誤差が前記目標許容誤差以下の場合、前記テンプレートと前記テンプレートに対して最適化されたパラメータとを用いた前記シミュレーション結果と前記目標値とを比較した処理結果評価レポートを、前記シミュレーション結果に基づく情報として生成し、利用者に開示する
請求項1から3の何れか一項に記載の情報処理装置。
【請求項5】
前記処理実行部は、
前記テンプレート及び前記テンプレートに対して最適化されたパラメータを含む成果物としてのシミュレーションデータを含んだ最終レポートを生成する最終成果物準備部と、
前記成果物としてのシミュレーションデータを含んだ最終レポートの、前記利用者に対する提供の可否を制御するダウンロード許可ゲート部と
をさらに有する
請求項1から3の何れか一項に記載の情報処理装置。
【請求項6】
前記成果物を生成するのに要した利用料を計算する課金処理部をさらに具備し、
前記ダウンロード許可ゲート部は、前記利用料に基づき、前記成果物を含んだ最終レポートの提供の可否を制御する
請求項5に記載の情報処理装置。
【請求項7】
前記利用者端末がネットワークを介してアクセス可能であるユーザインターフェイス部
をさらに具備する請求項1から3の何れか一項に記載の情報処理装置。
【請求項8】
ユーザインターフェイス部はWEBシステムである
請求項7に記載の情報処理装置。
【請求項9】
前記ユーザインターフェイス部は、情報入力部を有し、
前記情報入力部は、予備シミュレーション実行部を含み、
前記予備シミュレーション実行部は、前記シミュレーションモデルをシミュレーションして目標値を取得し、
前記情報入力部は、前記目標値設定部に、前記目標値を設定する
請求項7に記載の情報処理装置。
【請求項10】
前記情報入力部は、目標値調整部をさらに含み、
前記目標値調整部は、前記予備シミュレーション実行部が取得した前記目標値を調整し、
前記情報入力部は、前記目標値設定部に、調整後の前記目標値を設定する
請求項9に記載の情報処理装置。
【請求項11】
前記予備シミュレーション実行部として使用されるシミュレータは、前記シミュレーション実行部として使用されるシミュレータと同一である又は異なる
請求項9に記載の情報処理装置。
【請求項12】
前記誤差が前記目標許容誤差以下と前記結果判定部が判定するまで、前記シミュレーション実行部、前記結果判定部及び前記パラメータ最適化部がループ処理を継続する
請求項1から3の何れか一項に記載の情報処理装置。
【請求項13】
前記シミュレーション実行部は、利用者が使用するシミュレータである
請求項1から3の何れか一項に記載の情報処理装置。
【請求項14】
前記データベースは、前記パラメータ関連値を複数格納し、
前記パラメータ関連値設定部は、前記データベースから前記パラメータ関連値を選択する
請求項3に記載の情報処理装置。
【請求項15】
前記データベースは、前記シミュレーション条件を複数格納し、
前記処理実行部は、前記シミュレーション条件を、前記データベースを参照して設定するシミュレーション条件設定部をさらに有する
請求項3に記載の情報処理装置。
【請求項16】
前記処理実行部は、シミュレーションの実行履歴を前記データベースに蓄積する
請求項3に記載の情報処理装置。
【請求項17】
前記データベースに格納された教師データを元に、前記利用者が入力した前記目標値と前記利用者が選択したテンプレートと前記利用者が入力したパラメータ関連値と利用者が入力したシミュレーション条件設定の少なくとも一つを参照して、使用する教師データを機械学習によって特定する機械学習部
をさらに具備する請求項16に記載の情報処理装置。
【請求項18】
前記機械学習部は、前記データベースに蓄積されたシミュレーションの実行履歴を分析して前記データベースを改良する
請求項17に記載の情報処理装置。
【請求項19】
前記機械学習部は、前記利用者が選択したテンプレート、前記利用者が入力したパラメータ関連値及び前記利用者が入力したシミュレーション条件設定の少なくとも一つを特定する
請求項17に記載の情報処理装置。
【請求項20】
前記シミュレーションデータは、半導体集積回路のSPICEパラメータ、等価回路モデル、IBISモデル、電子回路の回路図を表現するスケマティックデータ又はネットリストであり、シミュレータでシミュレーションすることが可能な電子データである
請求項1に記載の情報処理装置。
【請求項21】
前記結果データ作成部は、前記誤差が前記目標許容誤差より大きい場合、前記シミュレーション結果を含む進捗状況レポートを、前記シミュレーション結果に基づく情報として生成し、利用者に開示する
請求項1から3の何れか一項に記載の情報処理装置。
【請求項22】
情報処理装置の制御回路を、
パラメータの入力に対してシミュレーション結果を生成する、所定の対象物に応じたテンプレートであって、シミュレーションデータを生成する対象である対象物に応じた成果物の1または複数のシミュレーションモデル、シミュレーションモデルを複数接続したトポロジー、これらの組み合わせ、及び/又は、シミュレーションを実行するための手順を含むシミュレーション条件を定義するテンプレートを、利用者端末側の設定に応じて設定するテンプレート設定部と、
前記対象物のシミュレーションデータが出力するシミュレーション結果に対する目標値を設定する目標値設定部と、
テンプレートの特性を変化させるパラメータ関連値を、前記利用者端末側の設定に応じて設定するパラメータ関連値設定部と、
前記テンプレート設定部で設定されたテンプレートに前記パラメータ関連値設定部で設定されたパラメータを入力してシミュレーション結果を生成するシミュレーション実行部と、
前記シミュレーション結果と前記目標値とを比較して、誤差を求める結果判定部と、
前記誤差が目標許容誤差より大きい場合、前記目標値を参照しながら、前記テンプレートに対する前記パラメータを最適化して、前記シミュレーション実行部に再度シミュレーションを実行させるパラメータ最適化部と、
前記誤差が前記目標許容誤差以下である場合、前記シミュレーション実行部で生成された、前記テンプレートと前記テンプレートに対して最適化されたパラメータとを用いたシミュレーション結果に基づく情報を前記利用者端末側に開示する結果データ作成部と、
を有する処理実行部
として動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば電子部品や半導体素子のシミュレーションモデルや、電子回路のスケマティックやネットリスト等のシミュレーションデータを簡便に生成する情報処理装置及びプログラムに関するものである。本発明は、電子部品や電子機器の分野に限らず、機械や自然現象などのさまざまな分野に適用可能である。
【背景技術】
【0002】
電子システムは、半導体集積回路や、トランジスタやダイオード等のディスクリート半導体と、抵抗素子や容量素子、インダクタなどの受動素子、コネクタ等を、プリント基板上に配置、配線し、そのプリント基板同士を配線で互いに接続したり、電源その他の電子部品に接続したりして、所望の機能を実現する。
【0003】
ある半導体製造工程があると、その製造工程を使う半導体集積回路やディスクリート半導体素子を設計するために、PDK(Process Design Kit)と呼ばれる、設計に必要な様々な設計情報を準備する。PDKの中で、回路設計に必要なものはSPICEパラメータである。
【0004】
SPICEとはUC Berkley校で開発されたシミュレータであり、トランジスタやダイオード等の能動素子や抵抗、容量、インダクタ等の受動素子を、理論式や経験式、近似式を組み合わせた特性式であるSPICEモデルとその係数であるSPICEパラメータを使ってモデル化し、それら能動素子や受動素子を組み合わせた回路の動作を、モデルを組み合わせで表現し、コンピュータ上でシミュレーションできるようにしたシミュレータである。
【0005】
SPICEモデルには、BSIM3、BSIM4等、種々の種類のものが開発され、広く使われている。開発したある素子に対して、具体的なSPICEモデルが素子の種類と要求精度等から決まると、その素子の動作を忠実に表現するSPICEパラメータを求める必要がある。
【0006】
トランジスタの動作を正しく表すためには、さまざまな観点から測定した様々な特性を見なければならない。しかもSPICEパラメータはMOSトランジスタの場合100以上あり、すべての特性を忠実に表現するSPICEパラメータの最適な組み合わせを探すことは容易ではなかった。デバイスの動作原理やSPICEの習熟した専門のエンジニアが、専用のソフトウェアを使いながら、段階を追ってSPICEパラメータを最適化していく。したがって、その作業は非常に高度でしかも時間を要するものであった。
【0007】
次に半導体集積回路の実現に関して説明する。半導体集積回路は通常、PDKのSPICEパラメータを使い、各種ソフトウェアツールを駆使して設計される。図6に示すように、半導体集積回路を実現するには、まず仕様を設計し、回路を設計し、動作を検証し、次に半導体ウェーハ上に回路を製作する際に使用するレイアウトを設計し、その後、動作検証及び物理検証を含む設計検証をし、製造工程に移行し試作する。
【0008】
回路を設計するには、設計者がまず回路をトポロジーとして設計する。例えば電圧比較器を実現しようとした場合には、図7のようなトポロジーを持つ回路を設計する。この回路はNMOSトランジスタ601~605、PMOSトランジスタ606,607、抵抗素子608,609、電流源を接続することで構成されている。電流源も実際にはトランジスタや受動素子で構成された回路であるが、その詳細回路はここでは省略する。
【0009】
次に設計者は、この回路が所望の特性を示すよう、NMOSトランジスタ601~605、PMOSトランジスタ606,607、抵抗素子608,609の回路定数を調節して回路を完成させる。MOSトランジスタの回路定数で代表的なものはゲート幅(W)とゲート長(L)である。
【0010】
図8にMOSトランジスタの平面模式図を示すが、MOSトランジスタの3つの重要な電極であるソース701、ドレイン702、ゲート703がコンタクト706を通して導電体によって回路中の他の素子や電源に接続されている。図示は省略しているが、バルク型のトランジスタでは基板側の領域も電源などの一定のバイアス電位に接続されるのが通常である。
【0011】
電流707がソース701からドレイン702の方向に流れる場合、ゲート703とソース701間に一定の電圧が印加されている状況では、電流707はおおよそゲート直下の電流経路の幅であるゲート幅(W)704に比例し、その電流経路の長さであるゲート長(L)705に反比例するため、ゲート幅とゲート長を変更することで回路中でのトランジスタの動作特性を変えられる。
【0012】
回路定数を最適化する場合、通常、回路の動作をSPICEシミュレータでショミュレーションしながら行なうことが一般的であるが、回路中の素子数が増えると、各素子の回路定数の組み合わせは指数関数的に多くなるため、設計者が回路定数の影響を予測したうえで、最適化手順を系統立てる必要があった。複雑な回路内のすべての回路定数を最適化することは、経験の浅いエンジニアにとっては困難であり、習熟したエンジニアにとっても長時間、コンピュータから離れずに実施する必要がある、極めて非効率な作業であった。
【0013】
ディスクリート半導体は、多くの場合、搭載される素子数が1か、または極めて少ないため、それ自体の開発に回路シミュレータであるSPICEシミュレーションは必須でない。むしろ、デバイスの物理現象から素子特性をシミュレーションで予測するために、素子構造や材料をパラメータとするデバイスシミュレーションが用いられる。受動素子の場合もそれ自体の設計にシミュレーションは必須でなく、デバイスシミュレーションや、試作、机上計算によって設計される。
【0014】
しかしながら、このように設計、開発された電子部品をプリント基板上に並べて、さらに大きな機能を実現するために実施する基板レベルやモジュールレベルの回路設計に、シミュレーションを活用しようとすると、電子部品のシミュレーションモデルが必要となるため、ディスクリート半導体を含めた電子部品に対するSPICEモデルを準備する必要がある。
【0015】
図9にパッケージに封入された単体トランジスタの簡単な等価回路を示す。大きな電流量を流すため、素子を構成する半導体が半導体集積回路のものより大きく、パッケージ寸法もある程度大きいため、パッケージ内部の電極金属板や、プリント基板にハンダ付けするための電極等で発生する寄生インダクタンス803~805や、静電破壊防止用抵抗806、ダイオード802等を、MOSトランジスタ801の周辺に再現している。
【0016】
トランジスタを能動素子と呼ぶことがあるが、抵抗素子、容量素子、コイル等は受動素子と呼ばれる。これらの受動素子も有限な物理的大きさを持ち、さらにそれをパッケージへ封入した電子部品として供給されるので、本来狙った電気的特性以外の寄生成分が高周波特性に影響を与える。例えば大容量のコンデンサ部品は、容量素子と直列に、抵抗成分やインダクタ成分が寄生成分として入るため、高周波の電圧変化に対して期待した容量として働かない。
【0017】
プリント基板レベルのシミュレーションには、過渡応答まで表現するために、このようなパッケージまで含めたシミュレーションモデルが必要となることも多い。電子部品市場に流通している膨大な数の電子部品に対してこのようなSPICEモデルは十分に供給されていないため、ボードレベルやモジュールレベルの設計者がモデルベースの設計を行なおうとした場合、専門業者に依頼してSPICEモデルを開発させる等しなければならず、準備に時間がかかったり、準備コストが高くなったりする問題があった。
【0018】
したがって結局試作前のシミュレーションを諦めて、試作の繰り返しと調整による動作検証、最適化を行なうことが多く、半導体集積回路のようなシミュレーションベースの設計があまり普及していなかった。
【0019】
半導体回路設計に関しては、上述のような複雑さの問題を軽減するために、回路をブロックに分けて、各々のブロックに対する最適化手法やガイドラインをテンプレートとして規定し、設計の容易化を図ろうとする手法が提案されている。
【0020】
しかしながら、これらの手法は回路定数を最適化するための提案を回路設計者に示すものであり、それを自動化する手段は提示されていない。従って設計手法が厳しく固定化されることと、システム一式をコンピュータにインストールしなければならないことより、これまで利用者が使用してきた設計手法との入れ替えの障壁が高く、コスト的な問題点もあった。また、各ブロック内の設計、最適化案提示手法がバイアス条件を最適化しようという解析的なものであるため、回路定数の最適化手順が複雑で、かつ十分な精度を得ることが難しく、しかも、回路に容量素子やインダクタ素子を含む場合や、トランジスタの寄生容量を考慮した過渡特性の最適化を行なうことができない。さらにテンプレートが小さな単位の回路に対するものであるため、単体の半導体素子のSPICEパラメータや、電子デバイスの簡単な等価回路モデルにその手法を応用することができない。
【先行技術文献】
【特許文献】
【0021】
【文献】特開2017-688646号公報
【文献】特開2019-40590号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
以上のとおり、電子機器設計には、利用者が目的物であるシミュレーションモデルや、シミュレーションが可能な電子回路の回路図が容易かつ低コストに入手できないことと、シミュレーションモデル開発や、回路設計等のサービスを提供する事業者側にとっても、高いソフトウェアライセンス料や人件費の回収が困難なこと、また、双方にとって共通な、専門的な知識を有する技術者の確保が難しいという課題である。
【0023】
本発明者の考察によれば、半導体、電子部品や電子機器の分野に限らず、機械や自然現象などのさまざまな分野においても同様の課題をかかえている。
【0024】
従って、本発明の目的は、利用者が、目的物を容易にかつ低コストで入手することができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0025】
本発明の一実施形態に係る情報処理装置は、
パラメータの入力に対してシミュレーション結果を生成する、所定の対象物に応じたテンプレートを、利用者端末側の設定に応じて設定するテンプレート設定部と、
パラメータ関連値を、前記利用者端末側の設定に応じて設定するパラメータ関連値設定部と、
前記テンプレート設定部で設定されたテンプレートに前記パラメータ関連値設定部で設定されたパラメータを入力してシミュレーション結果を生成するシミュレーション実行部と、
前記シミュレーション実行部で生成されたシミュレーション結果に基づく情報を前記利用者端末側に開示する結果データ作成部と、
を有する処理実行部
を具備する。
【0026】
本実施形態によれば、シミュレーション実行部がテンプレートにパラメータを入力してシミュレーション結果を生成することができる。本実施形態によれば、結果データ作成部がシミュレーション結果に基づく情報を開示することで、シミュレーション結果に基づく情報を、成果物の入手前に利用者が確認することができる。
【0027】
前記処理実行部は、
前記対象物のシミュレーションデータに対する目標値を設定する目標値設定部と、
前記シミュレーション結果と前記目標値とを比較して、誤差を求める結果判定部と、
前記誤差が目標許容誤差より大きい場合、前記目標値を参照しながら前記パラメータを最適化して、前記シミュレーション実行部に再度シミュレーションを実行させるパラメータ最適化部と、
をさらに有してもよい。
【0028】
本実施形態によれば、パラメータを自動的に最適化できる。
【0029】
情報処理装置は、
前記テンプレートを複数格納するデータベースをさらに具備し、
前記テンプレート設定部は、前記利用者端末側の選択に応じて前記データベースから所定のテンプレートを選択してもよい。
【0030】
前記結果データ作成部は、前記誤差が前記目標許容誤差以下の場合、前記シミュレーション結果と前記目標値とを比較した処理結果評価レポートを、前記シミュレーション結果に基づく情報として生成し、利用者に開示してもよい。
【0031】
本実施形態によれば、処理結果評価レポートを、成果物の入手前に利用者が確認することができる。
【0032】
前記処理実行部は、
前記テンプレート及び前記最適化されたパラメータを含む成果物としてのシミュレーションデータを含んだ最終レポートを生成する最終成果物準備部と、
前記成果物としてのシミュレーションデータを含んだ最終レポートの、前記利用者に対する提供の可否を制御するダウンロード許可ゲート部と
をさらに有してもよい。
【0033】
本実施形態によれば、利用者は、シミュレーション結果に基づく処理結果評価レポートを確認し、成果物としてのシミュレーションデータを含んだ最終レポートの提供を許可に制御されてから、最終成果物であるシミュレーションデータの利用者によるダウンロードが可能になる。この様に、最終成果物であるシミュレーションデータの利用者によるダウンロードを制御する手段を設けることで、システム運用者が利用者から確実に妥当な対価を得ることができる。
【0034】
情報処理装置は、
前記成果物を生成するのに要した利用料を計算する課金処理部をさらに具備し、
前記ダウンロード許可ゲート部は、前記利用料に基づき、前記成果物を含んだ最終レポートの提供の可否を制御してもよい。
【0035】
本実施形態によれば、利用者からのその利用料支払いを確認したうえで成果物の提供を許可否を決定できるので、決定基準を事業者が設定できる。
【0036】
情報処理装置は、
前記利用者端末がネットワークを介してアクセス可能であるユーザインターフェイス部
をさらに具備してもよい。
【0037】
ユーザインターフェイス部はWEBシステムでもよい。
【0038】
本各実施形態によれば、種々の目的を持つ複数の独立した利用者が、一つの共通のWEBシステムを利用することで、利用者にとってもそのシステムを運用する業者にとっても効率的なシミュレーションデータ生成環境を実現できる。
【0039】
前記ユーザインターフェイス部は、情報入力部を有し、
前記情報入力部は、予備シミュレーション実行部を含み、
前記予備シミュレーション実行部は、シミュレーションモデルをシミュレーションして目標値を取得し、
前記情報入力部は、前記目標値設定部に、前記目標値を設定してもよい。
【0040】
これにより、利用者がマニュアルで目標値を設定する必要無く、予備シミュレーション実行部が適切な目標値を設定できる。
【0041】
前記情報入力部は、目標値調整部をさらに含み、
前記目標値調整部は、前記予備シミュレーション実行部が取得した前記目標値を調整し、
前記情報入力部は、前記目標値設定部に、調整後の前記目標値を設定してもよい。
【0042】
目標値調整部が目標値を調整することで、目標値設定部に設定される目標値をより適切な値とすることができる。
【0043】
前記予備シミュレーション実行部として使用される前記シミュレーションモデルは、前記シミュレーション実行部として使用されるシミュレータと同一でもよいし異なってもよい。
【0044】
これにより、より適切な目標値を設定できる。
【0045】
前記誤差が前記目標許容誤差以下と前記結果判定部が判定するまで、前記シミュレーション実行部、前記結果判定部及び前記パラメータ最適化部がループ処理を継続してもよい。
【0046】
本実施形態によれば、パラメータの自動最適化を実現できる。
【0047】
前記シミュレーション実行部は、利用者が使用するシミュレータでもよい。
【0048】
例えば、回路定数を最適化する場合、通常、回路の動作をシミュレータでショミュレーションしながら行なうことが一般的であるが、回路内のすべての回路定数を最適化することは困難で非効率な作業であるところ、シミュレーション実行部により効率的にシミュレーションを行うことができる。
【0049】
前記データベースは、前記パラメータ関連値を複数格納し、
前記パラメータ関連値設定部は、前記データベースから前記パラメータ関連値を選択してもよい。
【0050】
データベースの内容の一部は、テンプレートにあらかじめ指定しておいてもよい。例えば、デフォルトパラメータをパラメータ関連値としてパラメータ関連値設定部に設定することで、目標値をすべて満足するパラメータの組み合わせを探索することができる。
【0051】
前記データベースは、シミュレーション条件を複数格納し、
前記処理実行部は、前記シミュレーション条件を、前記データベースを参照して設定するシミュレーション条件設定部をさらに有してもよい。
【0052】
例えば、電圧や解析モード等をシミュレーション条件設定部に設定することで、目標値をすべて満足するパラメータの組み合わせを探索することができる。
【0053】
前記処理実行部は、シミュレーションの実行履歴を前記データベースに蓄積してもよい。
【0054】
これにより、利用者端末群によるシミュレーションの結果がデータベースに蓄積され、将来的に、利用者端末群によるシミュレーションの結果を利用者端末群で共有することができ、シミュレーションデータ生成システムの充実及び利便性向上をもたらすことができる。
【0055】
情報処理装置は、
前記データベースに格納された教師データを元に、前記利用者が入力した前記目標値と前記利用者が選択したテンプレートと前記利用者が入力したパラメータ関連値と利用者が入力したシミュレーション条件設定の少なくとも一つを参照して、使用する教師データを機械学習によって特定する機械学習部
をさらに具備してもよい。
【0056】
これにより、利用者端末の利便性や、シミュレーションデータ生成システムの処理効率をさらに向上でき、また、機械学習部自体がシミュレーションデータ生成システムの実行履歴を蓄積、分析しながら自らデータベースを改良していくことができる。
【0057】
前記機械学習部は、前記データベースに蓄積されたシミュレーションの実行履歴を分析して前記データベースを改良してもよい。
【0058】
これにより、テンプレートと、目標値と、パラメータと、シミュレーション条件とをデータベースから益々適切に選択することが可能になるので、シミュレーションデータ生成システムの利便性が益々向上する。
【0059】
前記機械学習部は、前記利用者が選択したテンプレート、前記利用者が入力したパラメータ関連値及び前記利用者が入力したシミュレーション条件設定の少なくとも一つを特定してもよい。
【0060】
これにより、機械学習部は、データベースのうちテンプレートデータベース、パラメータ関連値データベース及びシミュレーション条件データベースの少なくとも一つに格納された教師データを元に、利用者が入力した目標値と利用者が選択したテンプレートと利用者が入力したパラメータ関連値と利用者が入力したシミュレーション条件設定の少なくとも一つを参照して、使用するパラメータ関連値を機械学習によって設定することができる。
【0061】
前記シミュレーションデータは、半導体集積回路のSPICEパラメータ、等価回路モデル、IBISモデル、電子回路の回路図を表現するスケマティックデータ又はネットリストであり、シミュレータでシミュレーションすることが可能な電子データでよい。
【0062】
これにより、例えば、デバイスの動作原理やSPICEの習熟した専門のエンジニアでなくても、シミュレーション結果を得ることができる。
【0063】
本発明の一実施形態に係るプログラムは、情報処理装置の制御回路を、
パラメータの入力に対してシミュレーション結果を生成する、所定の対象物に応じたテンプレートを、利用者端末側の設定に応じて設定するテンプレート設定部と、
パラメータ関連値を、前記利用者端末側の設定に応じて設定するパラメータ関連値設定部と、
前記テンプレート設定部で設定されたテンプレートに前記パラメータ関連値設定部で設定されたパラメータを入力してシミュレーション結果を生成するシミュレーション実行部と、
前記シミュレーション実行部で生成されたシミュレーション結果に基づく情報を前記利用者端末側に開示する結果データ作成部と、
を有する処理実行部
として動作させる。
【発明の効果】
【0064】
本発明によれば、利用者が、目的物を容易にかつ低コストで入手できる。
【図面の簡単な説明】
【0065】
図1】本発明のシミュレーションデータ生成システムの第1の実施形態を示した説明図である。
図2】本発明のシミュレーションデータ生成システムの第2の実施形態を示した説明図である。
図3】本発明のシミュレーションデータ生成システムの第3の実施形態を示した説明図である。
図4】本発明のシミュレーションデータ生成システムの第4の実施形態を示した説明図である。
図5】本発明のシミュレーションデータ生成システムの実行部の詳細を示した図である。
図6】半導体集積回路の設計フローを示した図である。
図7】回路のトポロジーの例を示した図である。
図8】MOSトランジスタの平面模式図である。
図9】単体トランジスタの等価回路を示す回路図である。
図10】半導体集積回路のMOSトランジスタの電流電圧特性を示す図である。
図11図7の半導体集積回路の入出力電圧波形を示す図である。
図12図9の単体トランジスタの出力電圧過渡特性を示す図である。
図13】情報入力部の内部に予備シミュレーション実行部を設けた図である。
図14】互換品や代替品の検索の手順の一例を示す。
【発明を実施するための形態】
【0066】
次に、本発明の実施形態を図面を参照しながら説明する。
【0067】
第1の実施形態
【0068】
図1は、第1の実施形態のシステム図である。本実施形態のシミュレーションデータ生成システム101は、ユーザインターフェイス部103と、処理実行部104と、課金処理部119とを含み、管理者が使用する管理者端末120を介して全体を管理される。
【0069】
シミュレーションデータ生成システム101は、単独のシミュレーションデータ生成装置、即ち、サーバ装置として構成されてもよい。あるいは、シミュレーションデータ生成システム101は、相互に通信し、協働して処理を実行する複数のハードウェアリソースにより構成されてもよい。シミュレーションデータ生成システム101の制御回路において、CPUは、ROMに記録されたプログラムをRAMにロードして実行することにより、処理実行部104として動作する。処理実行部104は、テンプレート設定部109、目標値設定部110、パラメータ関連値設定部111、シミュレーション条件設定部112、シミュレーション実行部113、結果判定部114、パラメータ最適化部115、結果データ作成部116、最終成果物準備部117及びダウンロード許可ゲート部118を含む。
【0070】
利用者端末群102は、ユーザインターフェイス部103を介して処理実行部104にアクセスする。シミュレーションデータ生成システム101は、利用者端末群102から処理を要求された複数のジョブをそれぞれ別個に処理する。ユーザインターフェイス部103は利用者端末群102と通信するためのWEBシステムでもよい。ユーザインターフェイス部103は、情報入力部105、情報表示部106、作業指示部107及び情報出力部108を含む。
【0071】
シミュレーションデータ生成システム101は、成果物としてシミュレーションデータを生成する。成果物として生成すべきシミュレーションデータは、例えば半導体集積回路のSPICEパラメータや、等価回路モデル、IBISモデル、電子回路の回路図を表現するスケマティックデータやネットリスト等であり、シミュレータでシミュレーションすることが可能な電子データである。
【0072】
利用者端末群102のうち一利用者端末1021がユーザインターフェイス部103の情報入力部105に、テンプレートと、目標値と、パラメータ関連値等(パラメータの初期値、パラメータの許容範囲、プログラムのパラメータ等)と、シミュレーション条件とを入力する。テンプレートは、シミュレーションデータを生成する対象である対象物に応じた成果物のシミュレーションモデル及びトポロジーを表現する。目標値は、その対象物のシミュレーションデータが出力するシミュレーション結果に対する目標値である。
【0073】
なお、シミュレーションデータ生成システム101を運営する事業者による管理者端末120からの設定を受けて、処理実行部104が、利用者端末1021に対して、テンプレート、目標値、パラメータ関連値及びシミュレーション条件を、直接的または間接的に推奨又は指定してもよい。利用者端末1021は、推奨又は指定されたテンプレート、目標値、パラメータ関連値及びシミュレーション条件を、ユーザインターフェイス部103の情報入力部105に入力すればよい。あるいは、利用者端末1021は、利用者自身が作成したテンプレートを、ユーザインターフェイス部103の情報入力部105に入力してもよい。さらに、利用者端末1021は、利用者自身が作成した目標値、パラメータ関連値及びシミュレーション条件を、ユーザインターフェイス部103の情報入力部105に入力してもよい。
【0074】
これにより、テンプレート設定部109は、シミュレーションデータを生成する対象である対象物に応じたテンプレートを設定する。目標値設定部110は、その対象物のシミュレーションデータが出力するシミュレーション結果に対する目標値を設定する。パラメータ関連値設定部111は、テンプレートの特性を変化させるパラメータ関連値を設定する。シミュレーション条件設定部112は、シミュレーション条件、目標許容誤差及び最大最適化試行回数を設定する。
【0075】
利用者端末1021は、作業指示部107を介して目的の成果物の生成を処理実行部104に対して指示する。すると、処理実行部104のシミュレーション実行部113は、テンプレート設定部109、目標値設定部110、パラメータ関連値設定部111及びシミュレーション条件設定部112に設定された、テンプレート、目標値、パラメータ及びシミュレーション条件、目標許容誤差、最大最適化試行回数を読み取る。シミュレーション実行部113は、読み取ったテンプレート、目標値、パラメータ及びシミュレーション条件に基づきシミュレーションを実行して、シミュレーション結果を生成する。シミュレーション実行部113は、生成したシミュレーション結果を、結果判定部114に渡す。シミュレーション実行部113は、利用者が使用するシミュレータ、具体的には、SPICEシミュレータである。
【0076】
結果判定部114は、シミュレーション実行部113が生成したシミュレーション結果を、目標値設定部110に設定された目標値と比較して誤差を求める。結果判定部114は、誤差が目標許容誤差以下かどうか判定する。
【0077】
結果判定部114が誤差が目標許容誤差より大きいと判定した場合は、パラメータ最適化部115は、目標値設定部110が設定した目標値を参照して、パラメータ関連値設定部111に設定されたパラメータを最適化する。これにより、パラメータ最適化部115は、パラメータを調節及び変更する。パラメータ最適化部115は、シミュレーション実行部113に、調節及び変更したパラメータを用いて再度シミュレーションを実行させる。パラメータ最適化部115は、最適化を行う毎に最適化試行回数をインクリメント(+1)し、最適化試行回数がシミュレーション条件設定部112に設定された最大最適化試行回数に到達するまで最適化を行うことができる。
【0078】
結果判定部114は、再度、シミュレーション実行部113が再度生成した新しいシミュレーション結果を目標値と比較し、誤差が目標許容誤差以下かどうか判定する。誤差が目標許容誤差以下であると結果判定部114が判定する、即ち、シミュレーション結果が満足できるものと判定するまで、シミュレーション実行部113、結果判定部114及びパラメータ最適化部115はループ処理を継続する。結果判定部114は、誤差の絶対値だけを見るだけではなく、誤差の減少度合いを見て、減少度合いが所定の閾値に達した、即ち飽和した時に誤差が目標許容誤差以下であると判断することもできる。また、シミュレーション条件設定部112に最大最適化試行回数を結果判定数114の判定に優先させることができる。
【0079】
一方、結果判定部114が、誤差が目標許容誤差以下である、即ち、シミュレーション結果が満足できるものと判定する。この場合、結果データ作成部116は、最終レポートとしての処理結果評価レポートを生成する。処理結果評価レポートは、シミュレーション実行部113が最適化されたパラメータとテンプレートを用いてシミュレーションすることにより生成したシミュレーション結果と、目標値設定部110が設定した目標値とを比較したデータを含む。結果データ作成部116は、処理結果評価レポートを、利用者端末1021に情報表示部106を介して開示する。
【0080】
なお、結果データ作成部116は、誤差が目標許容誤差より大きい、即ち、シミュレーション結果が満足できるものと判定しなかった場合も、シミュレーション結果を含む進捗状況レポートを生成し、進捗状況レポートを利用者端末1021に情報表示部106を介して開示してもよい。例えば、進捗状況レポートで表示するデータは、評価関数値、収束度合いを示す指数、各最適化パラメータの値等を含んでよい。結果データ作成部116は、これらのデータを含む進捗状況レポートを、グラフまたは数値で表示または出力したり、さらに、SPICE等のシミュレーションを実行した結果の波形を表示したりすればよい。結果データ作成部116は、進捗状況レポートを、最終レポートとしての処理結果評価レポートではなく、処理中に適時表示または出力すればよい。SPICE等のシミュレーションを実行した結果の波形の表示は、最適化過程のパラメータで、シミュレーション実行部113内のSPICE等のシミュレータを実行した結果であり、波形自体がシミュレータから出力される。
【0081】
最終成果物準備部117は、主にテンプレートと最適化されたパラメータを含む成果物を含んだ最終レポートを生成する。成果物とはシミュレーションデータであり、例えば半導体集積回路のSPICEパラメータや、等価回路モデル、IBISモデル、電子回路の回路図を表現するスケマティックデータやネットリスト等であり、シミュレータでシミュレーションすることが可能な電子データである。これに対して、結果データ作成部116が作成した処理結果評価レポートは、シミュレータでシミュレーションすることが不可能な電子データである。
【0082】
一方、ダウンロード許可ゲート部118は、初期状態では閉じた状態(即ち、最終レポートの提供を拒否に制御する状態)である。このため、利用者端末1021は、最終成果物準備部117が生成した成果物であるシミュレーションデータを含んだ最終レポートを、利用者端末1021にダウンロードできない。
【0083】
課金処理部119は、シミュレーションデータ生成システム101が結果を得るために使用したコンピュータリソース等や使用したテンプレートの価値からシステム利用料を計算する。課金処理部119は、計算したシステム利用料を、情報表示部106を介して利用者端末1021に通知する。必要に応じてその処理結果レポートや料金を、情報出力部108を通して電子ファイルとして出力してもよい。
【0084】
一方、利用者は、情報表示部106を介して利用者端末1021に開示された処理結果評価レポートを参照する。利用者が処理結果評価レポートの結果に満足した場合、利用者は利用者端末1021を用いて、情報入力部105及び/又は作業指示部107を介して、結果に満足した旨と課金を了承する。すると、課金処理部119は、オンライン決済情報等を確認して、ダウンロード許可ゲート部118のゲート解除を決定する。
【0085】
ダウンロード許可ゲート部118は、成果物であるシミュレーションデータを含んだ最終レポートの、利用者端末1021に対する提供の可否を制御する。ダウンロード許可ゲート部118は、課金処理部119からのゲート解除の決定を受けて、成果物のダウンロードを許可する、即ち、成果物を含んだ最終レポートの提供の許可を制御する。すると、利用者端末1021は情報出力部108を通して成果物をダウンロードして、利用者端末1021の環境でローカルに、成果物としてのシミュレーションデータを利用できるようになる。
【0086】
利用者端末1021が成果物をダウンロードする前に、処理結果レポートに開示された結果に満足できなかった場合には、事業者と利用者間の契約に基づき、テンプレートの選定、目標値の設定、パラメータ関連値の設定、シミュレーション条件の設定のうち、一つまたは複数の、内容の一部または全部を変更して、再度、処理実行部104にシミュレーションデータの生成を実行させることができるように課金処理部119に判断させることもできる。
【0087】
また、直接的な課金に代わる対価が利用者と事業者間に存在すれば、それを使って課金処理部119が適当な処理を判断してもよい。ダウンロード許可ゲート部118は、課金処理部119が計算した成果物を生成するのに要した利用料を用いて、成果物を含んだ最終レポートの提供の可否を制御してもよい。
【0088】
実施例
【0089】
半導体のMOSトランジスタの基本的なSPICEモデルを生成する例をあげて、具体的に処理の内容を説明する。SPICEモデルの種類は種々あるが、BSIM4モデルをテンプレートとしてテンプレート設定部109が選択、設定したとする。
【0090】
目標値としては図10のようにMOSトランジスタのI-Vカーブなどを設定できる。
【0091】
さらに利用者端末1021がBSIM4のデフォルトパラメータを、パラメータ関連値としてパラメータ関連値設定部111に設定し、MOSトランジスタに印加する電圧や、SPICEシミュレータの解析モード等をシミュレーション条件設定部112に設定し、作業指示部107を通して処理実行部104に目標値をすべて満足するSPICEパラメータの組み合わせを探索させる。
【0092】
この場合にパラメータ最適化部115に使われる誤差最小化アルゴリズムは、遺伝的アルゴリズムや進化的アルゴリズムと呼ばれるアルゴリズムが適するが、別のアルゴリズムが使われてもよい。これらのアルゴリズムに設定するオプションパラメータを、パラメータ等初期値設定部111を介して設定してもよい。遺伝的アルゴリズムや進化的アルゴリズムは、シミュレーション結果と目標値の差異を数式化した評価関数を最小化するように、最適パラメータの組み合わせを探索空間の中で探索する。探索範囲はパラメータの許容範囲、即ち、パラメータ最適化部115のアルゴリズムが最適パラメータを探索する範囲でも良い。即ち、パラメータ関連値設定部111は、パラメータ初期値を設定するのみならず、パラメータの許容範囲(パラメータ最適化部115が最適パラメータを探索する範囲)と、プログラムの動作設定パラメータを設定してもよい。この様な、パラメータ初期値や許容範囲、プログラムのパラメータ等、様々なパラメータに関連する値を総合して「パラメータ関連値」と称する。また、データベース201は、パラメータ関連値や許容範囲を複数格納し、パラメータ関連値設定部111は、データベース201からパラメータ関連値や許容値を選択してもよい。さらに、パラメータ関連値設定部111は、シミュレーション実行部113に対してパラメータを設定してもよい。また、前記目標が具体的な数値でなく、最小値や最大値といった定性的なものの場合は、目標特性そのものや、目標特性の逆数を評価関数として最適なパラメータの組み合わせを探すこともできる。要するに、パラメータ関連値設定部111は、探索アルゴリズムのオプションやパラメータ、即ち、プログラムの動作設定パラメータとして、関連するソフトウェアの動作を制御するパラメータ全般を設定することができる。
【0093】
完成したBSIM4モデル用のパラメータは、利用者端末1021がローカルでSPICEで回路シミュレーションを実施する際に、そのまま使用することができる。さらに、図5にシミュレーション実行部113の内部構造例を示す。回路シミュレーションに使用するSPICEシミュレータと同じシミュレータA、または互換性のあるシミュレータB、Cを処理実行部104に指定し、シミュレーション実行部113がその中からシミュレータを選択し設定すれば、シミュレーションデータ生成システム101が生成したSPICEモデルが有する精度とまったく同じ精度の回路シミュレーションを実現可能である。
【0094】
図6に示した半導体集積回路の回路設計を行ないたい場合は、まず、テンプレート設定部109は、一部またはすべての回路定数が未設定の回路図をテンプレートとして設定する。そのテンプレートは情報入力部105を介して作成したり、予め利用者端末1021に保存されたものを情報入力部105を介してデータアップロード部121がアップロードしたりしても良い。
【0095】
次に、目標値設定部110は、目標値を設定する。目標値の内容は、SPICEシミュレータを使って設計者が回路設計する場合と同様で、特性を観測する回路中のノードや入出力端子における過渡特性や静特性を示す、例えば図11に示すような回路動作波形である。
【0096】
パラメータ関連値設定部111は、パラメータ関連値をテンプレートが概略動作する値に設定する。
【0097】
シミュレーション条件設定部112は、半導体デバイスのSPICEパラメータの生成時と同じようにシミュレーション条件を設定する。
【0098】
図7のようにペアとして動作するトランジスタ602-603間、604-605間、606-607間の関係は、パラメータ関連値設定部111や、シミュレーション条件設定部112が設定すればよい。例えば同じサイズのトランジスタが使われるような条件を設定する。または、テンプレート設定部109が設定するテンプレートに回路定数を設定しておいて、それをシミュレーション実行部113が優先するようにしてもよい。
【0099】
シミュレーション実行部113は、パラメータ最適化部115によりSPICEシミュレータで回路定数を変化させながらシミュレーションを試行し、結果判定部114の判定の結果シミュレーションによる回路動作が目標値にもっとも近くなる回路定数の組み合わせを探索する。
【0100】
この場合にパラメータ最適化部115に使われる誤差最小化アルゴリズムも、遺伝的アルゴリズムや進化的アルゴリズムと呼ばれるアルゴリズムが適するが、別のアルゴリズムが使われてもよい。
【0101】
単体デバイスの図9に示した等価回路シミュレーションモデルを生成する場合には、まず、目標値設定部110は、図10に示すようなDC静特性を目標値として設定する。パラメータ最適部115は、コアとなるMOSトランジスタ801やダイオード802のSPICEパラメータを、前記DC静特性を目標値として半導体デバイスのシミュレーションモデルの生成時と同じように生成する。そして、シミュレーション条件設定部112は、図12に示すような過渡応答特性を目標値にして、等価回路モデル中、MOSトランジスタ801周辺のパッシブ素子803、804、805の回路定数を、半導体集積回路の回路設計と同様に最適化するような生成フローを設定してもよい。または、作業指示部107を含んだユーザインターフェイス部103によって、複数段階に分けて処理実行部104に作業をさせてもよい。例えば、作業指示部107が、処理実行部104を動作させる際に、作業を手順化させることができる。作業指示部107が処理実行部104を動作させる際の手順化の一例として、ある回路が異なった機能を持つ複数の部分回路を接続したものであるときに、それぞれを順番に、あるいは並行して処理して、最後に全体を改めて最適化する、との手順が挙げられる。それぞれの部分回路に対する評価関数を適したものに変更することで、結果の高精度化、処理時間の短縮を図る効果がある。
【0102】
また、目標値設定部110に、処理実行部104に別個のシミュレーションを要求する、異なった特性に対する複数の目標を設定した場合、処理実行部104が、一回の最適化試行において複数のシミュレーションを実行して、複数のシミュレーション結果を結果判定部114に同時に入力させるよう、シミュレーション条件設定部112に設定することもできる。
【0103】
例えば既存のシミュレーションモデルを基本にして、少し特性を変えたシミュレーションモデルを作成したいというニーズや、シミュレーションモデルの構成やバージョンを変更して精度を上げたりシミュレーション速度を上げたりしたいというニーズや、別のシミュレータで動作し、既存のシミュレーションモデルと同様の結果を出力する新しいシミュレーションモデルを作成したいというニーズがある。その際、利用者が既存のシミュレーションモデルを自分でシミュレーションし、その結果を最適化に対する目標値として情報入力部105に入力してもよい。
【0104】
一方、図13に示すように、情報入力部105の内部に予備シミュレーション実行部1302を設けてもよい。これにより、利用者が利用者端末1021より入力した既存のシミュレーションモデル1301を予備シミュレーション実行部1302がシミュレーションした結果を目標値1303とし、情報入力部105は目標値1303をシミュレーションデータ生成システム101の目標値設定部110に渡してもよい。予備シミュレーション実行部1302として使用されるシミュレーションモデルは、シミュレーション実行部113として使用されるシミュレータと同一でもよい。言い換えれば、シミュレータを、予備シミュレーション実行部1302及びシミュレーション実行部113で共用してもよい。これにより、より適切な目標値1303を設定できる。逆に、予備シミュレーション実行部1302に使うシミュレータを既存のシミュレーションモデル1301が利用できるものとし、シミュレーション実行部113では所望のシミュレーションモデルが利用できる別のシミュレータを選択しても良い。これにより、既存のシミュレーションモデル1301のシミュレーション結果を、所望の別のシミュレーションモデルに対する目標値1303として設定できる。これにより、あるシミュレータ用のシミュレーションモデルを、他のシミュレータ用に変換する機能を提供したり、SPICEモデルのバージョンや形式を変更したりする機能を提供することができる。例えば、SPICEモデルのバージョンをBSIM3からBSIM4に上げる又は逆にBSIM4からBSIM3に下げる場合、テンプレートにターゲットのBSIMモデルテンプレートを選ぶことになる。BSIMモデルから、SPICEの機能記述やVHDL-AMSへの変換も可能であり、同様に、ターゲットのテンプレートを所望のスタイルのもので指定すれば良い。
【0105】
さらに、目標値調整部1304を情報入力部105内に設けてもよい。これにより、目標値調整部1304は、既存のシミュレーションモデル1301を予備シミュレーション実行部1302がシミュレーションした結果である目標値1303を調整し、調整後の目標値1303を、シミュレーションデータ生成システム101の目標値設定部110に渡してもよい。目標値調整部1304は例えば調整前の目標値1303を10%増加させた値を新たな目標値とする。シミュレーションデータ生成システム101の目標値設定部110は、情報入力部105から受信した目標値1303を設定すればよい。これにより、利用者がマニュアルで目標値を設定する必要無く、予備シミュレーション実行部1302が適切な目標値1303を設定できる。特に経験の少ない利用者に有益である。また、目標値調整部1304が目標値1303を調整することで、目標値設定部110に設定される目標値をより適切な値とすることができる。半導体集積回路を、元のものと異なるPDKのSPICEパラメータを使用することにより、異なるプロセスに載せ替えてもよい。
【0106】
本実施形態によれば、利用者自身が利用者端末1021を介してクラウドコンピュータ等のシミュレーションデータ生成システム101にアクセスする。テンプレート設定部109は、利用者端末1021を介して指定されたテンプレートや、クラウド上の共用のデータベースから選択されたテンプレートを、最終成果物準備部117が作成すべき所望の成果物のひな型として使用する。パラメータ最適化部115は、共通化した手順を実行するソフトウェアアルゴリズムによって、パラメータ関連値設定部111が設定したテンプレートのパラメータを最適化する。このため、利用者と事業者双方にかかるコストを下げることができる。
【0107】
さらに、利用者は、結果データ作成部116が作成した処理結果評価レポートを参照し、最終成果物準備部117が作成する成果物であるシミュレーションデータの結果が目標に達しているかどうか、ダウンロード許可ゲート部118が閉じた状態(即ち、最終レポートの提供を拒否に制御する状態)であるときに、即ち、対価を支払って成果物の提供を受ける前に、十分確認することができる。
【0108】
一方、課金処理部119がオンライン決済情報等を確認し課金処理部119からのゲート解除の決定を受けて、ダウンロード許可ゲート部118は、成果物のダウンロードを許可する、即ち、成果物を含んだ最終レポートの提供を許可を制御する。このため、事業者にとっては成果物の提供に対し、確実に対価を受け取れるという利点がある。
【0109】
第2の実施形態
【0110】
図2の第2の実施形態は図1の第1の実施形態のシミュレーションデータ生成システム101にテンプレート、パラメータ関連値、シミュレーション実行条件をそれぞれ複数格納したデータベース201を追加したものである。
【0111】
データベース201は、テンプレートを複数格納し、パラメータ関連値を複数格納し、シミュレーション条件を複数格納する。データベース201の内容の一部は、テンプレートにあらかじめ指定しておいてもよい。
【0112】
利用者端末群102のうち一利用者端末1021がユーザインターフェイス部103の情報入力部105に、目標値を入力する。これにより、目標値設定部110は、その対象物のシミュレーションデータに対する目標値を設定する。
【0113】
テンプレート設定部109は、目標値設定部110に設定された目標値に基づき、データベース201から所望のテンプレートを選択して設定する。パラメータ関連値設定部111は、目標値設定部110に設定された目標値に基づき、データベース201からパラメータ関連値を選択して設定する。シミュレーション条件設定部112は、目標値設定部110に設定された目標値に基づき、シミュレーション実行部113がシミュレーションを実行する際のシミュレーション条件を、データベース201から選択して設定する。
【0114】
あるいは、テンプレート設定部109は、利用者が利用者端末1021を用いてユーザインターフェイス部103を介してデータベース201から選択した所望のテンプレートを設定してもよい。パラメータ関連値設定部111は、利用者が利用者端末1021を用いてユーザインターフェイス部103を介してデータベース201から選択したパラメータ関連値を設定してもよい。シミュレーション条件設定部112は、利用者が利用者端末1021を用いてユーザインターフェイス部103を介してデータベース201から選択したシミュレーション条件を設定してもよい。
【0115】
これにより、テンプレート設定部109は、パラメータ関連値設定部111及びシミュレーション条件設定部112がテンプレート、パラメータ関連値、シミュレーション実行条件を選択するとき、データベース201を参照できるため、処理の効率化を図れるという利点がある。また、利用者が利用者端末1021を用いてユーザインターフェイス部103を介してテンプレート、パラメータ関連値、シミュレーション実行条件を選択するとき、データベース201を参照できるため、利用者の利便性を図れるという利点がある。
【0116】
さらに、処理実行部104は、シミュレーションの実行履歴を、データベース201に蓄積してもよい。シミュレーションの実行履歴は、テンプレート設定部109に設定されたテンプレートと、目標値設定部110に設定された目標値と、パラメータ関連値設定部111に設定されたパラメータ関連値並びにパラメータ最適化部115により調節及び変更されたパラメータと、シミュレーション条件設定部112に設定されたシミュレーション条件と、結果判定部114が判定した誤差の結果と、結果データ作成部116が生成した処理結果評価レポートと、利用者が処理結果評価レポートに満足したか否かと、最終成果物準備部117が生成した最終レポートと、の少なくとも一部を含む。これにより、利用者端末群102によるシミュレーションの結果がデータベース201に蓄積され、将来的に、利用者端末群102によるシミュレーションの結果を利用者端末群102で共有することができ、シミュレーションデータ生成システム101の充実及び利便性向上をもたらすことができる。
【0117】
また、結果判定部114が判定した結果(即ち、シミュレーション結果が満足できるか否か)や、利用者が処理結果評価レポートに満足したか否かを、併せてデータベース201に蓄積することで、テンプレートと、目標値と、パラメータと、シミュレーション条件とをデータベース201から適切に選択することが可能になるので、シミュレーションデータ生成システム101の利便性が益々向上する。
【0118】
さらに、誤差が目標許容誤差より大きい(即ち、シミュレーション結果が満足な値でない)場合のシミュレーションの実行履歴や、誤差が目標許容誤差以下(即ち、シミュレーション結果が満足できる)であっても最終成果物がダウンロードされない場合のシミュレーションの実行履歴等の、蓄積する価値が比較的低い実行履歴を蓄積しておけば、より大量のデータをその結果と共にデータベース201に蓄積することができる。さらに、テンプレートの内容をより適切なものに更新してもよい。これにより、テンプレートと、目標値と、パラメータと、シミュレーション条件とをデータベース201から適切に選択することが益々可能になるので、シミュレーションデータ生成システム101の利便性が益々向上する。
【0119】
第3の実施形態
【0120】
図3の第3の実施形態は、図2の第2の実施形態に機械学習部301を追加したものである。機械学習部301は、利用者端末1021がユーザインターフェイス部103の情報入力部105に入力した目標値等の情報を元に、あらかじめデータベース201に保存された教師データを用いて、最適なテンプレート、パラメータ関連値、シミュレーション条件を自動的に選択する。このため、利用者端末1021の利便性や、シミュレーションデータ生成システム101の処理効率をさらに向上できる。
【0121】
機械学習部301は、データベース201に格納された教師データを元に、利用者が入力した目標値と利用者が選択したテンプレートと利用者が入力したパラメータ関連値と利用者が入力したシミュレーション条件設定の少なくとも一つを参照して、使用する適切なテンプレートやパラメータ関連値を機械学習によって特定する。機械学習部301は、利用者が選択したテンプレート、利用者が入力したパラメータ関連値及び利用者が入力したシミュレーション条件設定の少なくとも一つを特定する。
【0122】
データベース201は事業者が教師データを追加、改良して適宜補強していってもよい。また、機械学習部301自体がシミュレーションデータ生成システム101によるシミュレーションの実行履歴を分析しながら自らデータベース201を改良していってもよい。
【0123】
即ち、第2の実施形態では、処理実行部104は、シミュレーションの実行履歴を、データベース201に蓄積した。これに加えて、第3の実施形態は、機械学習部301がデータベース201に蓄積されたシミュレーションの実行履歴を分析しデータベース201を改良する。これにより、テンプレートと、目標値と、パラメータと、シミュレーション条件とをデータベース201から益々適切に選択することが可能になるので、シミュレーションデータ生成システム101の利便性が益々向上する。
【0124】
さらに、誤差が目標許容誤差より大きい場合のシミュレーションの実行履歴や、誤差が目標許容誤差以下であっても最終成果物がダウンロードされない場合のシミュレーションの実行履歴等の、蓄積する価値が比較的低い実行履歴を蓄積しておけば、より大量のデータをデータベース201に蓄積することができる。機械学習部301は、大量のデータを教師データ候補として利用することができるので、機械学習の精度をより高めることができる。
【0125】
さらに、データベース201に蓄積されたデータから、目標特性に近いものを探し出すこともできる。それにより、互換性のある部品を検索できる。
【0126】
図14は、互換品や代替品の検索の手順の一例を示す。利用者は利用者端末1021から情報入力部105を介して、現在所有する部品の特性を入力する。処理実行部104は、シミュレーションモデルを作成し、そのシミュレーション結果も同時に得る。機械学習部301は、シミュレーション実行部113が得たシミュレーションモデル及びそのシミュレーション結果をキーとして、データベース201に保存されているシミュレーションモデル及びそのシミュレーション結果を検索する。機械学習部301は、データベース201から、シミュレーション実行部113が得たシミュレーションモデル及びそのシミュレーション結果と近いシミュレーションモデル及びそのシミュレーション結果を抽出する。機械学習部301は、データベース201から抽出したシミュレーションモデル及びそのシミュレーション結果を処理実行部104に返す。処理実行部104の結果判定部114は、必要に応じて、シミュレーション実行部113が得たシミュレーション結果と、データベース201から抽出したシミュレーション結果との誤差を計算する。処理実行部104の結果データ作成部116は、探索結果として、代替品(データベース201から抽出したシミュレーションモデル)の型番、特性比較結果(シミュレーション実行部113が得たシミュレーション結果と、データベース201から抽出したシミュレーション結果との誤差)、シミュレーションモデル(データベース201から抽出したシミュレーションモデル)等を、情報表示部106や情報出力部108を介して利用者端末1021に返す。利用者が既にシミュレーションモデルを所有している場合、あるいは利用者が現在所有する部品のシミュレーションモデルがデータベース201に既に登録されている場合には、それを情報入力部105を介してシミュレーションデータ生成システム101に入力して、シミュレーションモデル作成工程を省く作業フローにしても良い。
【0127】
第4の実施形態
【0128】
図4は第4の実施形態においてシステム全体をクラウド401上のSaaS(Software as a Service)システムとして実現した場合の概念図である。
【0129】
この場合、複数の利用者端末1021、1022、1023が同時に処理実行部403にアクセスした場合にも、クラウド401がシミュレーションデータ生成システム1011、1012、1013を自動的に複数の仮想化されたハードウェア上に実装し、独立したユーザインターフェイス部402及び処理実行部403等を実現する。このため、利用者端末群102は互いに干渉なく、またハードウェアの空きを待つことなく、それぞれシミュレーションデータ生成システム1011、1012、1013を用いて処理を実行することが可能になる。
【0130】
利用者端末群102とは別の独立した事業者が、管理者端末120を用いて、パブリッククラウド上にSaaSとしてシミュレーションデータ生成システムを構築することもできるし、利用者の所属する事業体が、管理者端末120を用いて、パブリッククラウドや事業体自らが所有するオンプレミス環境に専用のシミュレーションデータ生成システムを構築してもよい。
【0131】
クラウド401が負荷に応じて動的にCPU、メモリ、記憶領域等をスケーリングする仕組みについては、本実施形態の主体とは異なるので説明は省略する。
【0132】
結語
【0133】
本発明の各実施形態によれば、シミュレーション可能なデータに関連し、種々の目的を持つ複数の独立した利用者が、一つの共通システムを利用することで、利用者にとってもそのシステムを運用する業者にとっても効率的なシミュレーションデータ生成環境を実現する。
【0134】
本発明の各実施形態によれば、目標物をパラメータでキャラクタライズできるテンプレートの選択と、そのパラメータの自動最適化という2段階で実施するソフトウェアと、テンプレートやソフトウェアの実行に必要な情報を格納したデータベースを、クラウド等、ネットワークに接続されたコンピュータ上に実現したうえで、利用者自身が直接アクセスして操作をし、完成した成果物の完成度を、利用者がサービスを提供する業者に課金等による対価の主な部分を支払う前に確認できる機能と、利用者からのその対価支払いを確認したうえで成果物の提供許可否を決定できる手段を備え、決定基準を事業者が設定できるようにする。
【0135】
本発明の各実施形態によれば、テンプレートの設定と、シミュレータによるパラメータの最適化という組み合わせを基本とするプログラムを、クラウド等のネットワークに接続されたコンピュータ上に実装することで、利用者が直接システムにアクセスしていつでも容易にシミュレーションデータを生成でき、同時に、最終成果物であるシミュレーションデータの利用者によるダウンロードを制御する手段を設け、システム運用者が利用者から確実に妥当な対価を得ることができる。また、利用者が参照、選択して使用できるテンプレートやシミュレーション条件等を複数格納するデータベースを付加し、利便性を向上することや、さらに機械学習手段を追加して利用者の利用目的や目標値に応じたテンプレートやシミュレーションデータをシステムが自動的に選択して設定することができる。
【0136】
SPICEシミュレータを使って、選択されたテンプレートとそのパラメータを組み合わせてシミュレーションを実施し、利用者が設定した目標とシミュレーション結果の差を評価しながら、その差が小さくなるようにパラメータを調整していくアルゴリズムを採用したソフトウェアを、利用者がログインするためのユーザインターフェイスとともにクラウド上に実装することで、かならずしもシミュレーションデータを生成する専門家ではない利用者が、最低現の初期投資で、自ら気軽に成果物を生成することができ、しかも成果物の精度等品質に関する定量的な情報を、コンピュータの画面表示等で、成果物であるシミュレーションデータ自体の入手前に確認することができる。
【0137】
運用者が利用者と異なる業者の場合には、利用者がサービス運用者と利用者間の契約に沿った対価を支払わなければ、成果物の利用者への提供を止めるゲートを備えることにより、サービス運用者にも妥当な報酬を得るための確実な課金の機会を与える。
【0138】
このような実施形態により、利用者の目的である成果物入手の効率化と、サービス運用事業者にとっての目的である、多くの利用者獲得による安定した収益確保を同時に達成できるとともに、双方に共通な課題である専門技術者の不足を解消することができる。
【0139】
本実施形態のシミュレーションデータ生成システムは、前述したように、半導体デバイスや単体電子デバイスのシミュレーションモデルの開発、電子回路のシミュレーション可能な回路設計等の用途に使用できる。
【0140】
また、SPICE形式だけではなく、IBIS(Input/Output Buffer Information Specification)形式のシミュレーションモデルやVerilog-A、Verilog-AMS、VHDL、VHDL-AMS、Modelica等のフォーマットでもよい。それらのフォーマットのシミュレーションモデルをシミュレーション実行可能なシミュレータが、SPICEシミュレータの代わりに、シミュレーション実行部113で使用されればよい。
【0141】
また、コンピュータがテンプレートとそのパラメータで表現できる対象物であれば、電子部品、電子機器の分野に限らず、機械や自然現象に関する対象にも、本実施形態が適用できる。例えば、電気制御された自動車の電気系と機械系が混在したシステムをVHDL-AMSでモデル化し、電気系と機械系が相互に作用するシステムの実際の動作をシミュレーションする場合のシミュレーションモデル開発に、本実施形態を適用できる。熱シミュレーションモデルは電気回路で表現できることが良く知られており、等価回路で表現した熱伝導モデルの開発にも本実施形態を適用できる。
【0142】
本実施形態によれば、制御回路においてCPUがROMに記録されたプログラムをRAMにロードして実行することにより処理実行部として動作するサーバ装置として実現することができる。さらに、本実施形態をサーバ装置(情報処理装置)にインストール可能であり、サーバ装置の制御回路が実行するプログラムとしても実現可能である。さらに、このプログラムを、所謂パッケージソフトウェアとしてエンドユーザに提供してもよい。この場合、エンドユーザのパーソナルコンピュータ(情報処理装置)の制御回路が本実施形態のプログラムを実行する。
【符号の説明】
【0143】
101 シミュレーションデータ生成システム
102 利用者端末群
1021 利用者端末
103 ユーザインターフェイス部
104 処理実行部
105 情報入力部
106 情報表示部
107 作業指示部
108 情報出力部
109 テンプレート設定部
110 目標値設定部
111 パラメータ関連値設定部
112 シミュレーション条件設定部
113 シミュレーション実行部
114 結果判定部
115 パラメータ最適化部
116 結果データ作成部
117 最終成果物準備部
118 ダウンロード許可ゲート部
119 課金処理部
120 管理者端末
201 教師データ格納データベース
301 機械学習部
401 クラウド
402 ユーザインターフェイス部
403 処理部群
1011 処理部1
1012 処理部2
1013 処理部3
602~605 NMOSトランジスタ
606、607 PMOSトランジスタ
608、609 抵抗素子
701 ソース
702 ドレイン
703 ゲート
704 W(ゲート幅)
705 L(ゲート長)
706 コンタクト
707 電流
801 トランジスタ
802 ダイオード
803~805 インダクタ
806 抵抗
1301 既存のシミュレーションモデル
1302 予備シミュレーション実行部
1303 目標値
1304 目標値調整部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14