(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-20
(45)【発行日】2024-02-29
(54)【発明の名称】高効率の回路シミュレーション方法、装置、機器及び記憶媒体
(51)【国際特許分類】
G06F 30/3308 20200101AFI20240221BHJP
【FI】
G06F30/3308
(21)【出願番号】P 2023520274
(86)(22)【出願日】2022-06-01
(86)【国際出願番号】 CN2022096656
(87)【国際公開番号】W WO2023016069
(87)【国際公開日】2023-02-16
【審査請求日】2023-03-31
(31)【優先権主張番号】202110906086.4
(32)【優先日】2021-08-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522479212
【氏名又は名称】▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司
(74)【代理人】
【識別番号】110001896
【氏名又は名称】弁理士法人朝日奈特許事務所
(72)【発明者】
【氏名】李 ▲真▼
【審査官】堀井 啓明
(56)【参考文献】
【文献】米国特許出願公開第2004/0236557(US,A1)
【文献】特開平6-274565(JP,A)
【文献】特開2006-146595(JP,A)
【文献】特開2002-215710(JP,A)
【文献】米国特許出願公開第2008/059143(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
(57)【特許請求の範囲】
【請求項1】
回路シミュレーション方法であって、
ターゲット回路におけるサブ回路モジュールを取得するステップと、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するステップと、
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得するステップと、を含むことを特徴とする回路シミュレーション方法。
【請求項2】
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得する前記ステップは、
前記サブ回路モジュールのシミュレーション結果を取得するステップと、
前記サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
ターゲット回路におけるサブ回路モジュールを取得する前記ステップは、
ターゲット回路における検証されていないサブ回路モジュールである候補サブ回路モジュールのシミュレーション結果を取得するステップと、
前記候補サブ回路モジュールのシミュレーション結果の確認操作を受信すると、前記候補サブ回路モジュールをターゲット回路におけるサブ回路モジュールとして決定するステップと、を含み、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得する前記ステップは、
前記ターゲット回路に対するシミュレーション操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するステップを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得する前記ステップは、
前記サブ回路モジュールにおけるサブ回路パラメータを取得し、サブ回路パラメータに応じて前記サブ回路モジュールに対応するサブ回路行列を構築するステップと、
前記サブ回路行列に応じてサンプル入力データを処理し、前記サンプル入力データに対応する予測出力データを取得するステップと、
前記サンプル入力データ及び前記サンプル入力データに対応する予測出力データに応じて、線形回帰方法によってフィッティングを行い、前記サブ回路モジュールに対応するフィッティング関数を得るステップと、を含むことを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記サブ回路行列に応じてサンプル入力データを処理し、前記サンプル入力データに対応する予測出力データを取得する前記ステップの前に、
前記サブ回路行列に対応する入力データ範囲を取得するステップと、
前記サブ回路行列に対応する入力データ範囲内でサンプリングを行い、前記サンプル入力データを取得するステップと、をさらに含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記サブ回路行列に対応する入力データ範囲内でサンプリングを行い、前記サンプル入力データを取得する前記ステップは、
前記サブ回路行列に対応する行列次数を取得するステップと、
前記サブ回路行列の行列次数に応じて、前記入力データ範囲を等分し、各等分値を前記サンプル入力データとして決定するステップと、を含むことを特徴とする請求項5に記載の方法。
【請求項7】
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得する前記ステップは、
第iサブ回路モジュールに対応する入力データを第iサブ回路モジュールに対応するフィッティング関数で処理し、前記第iサブ回路モジュールに対応する出力データを取得するステップであって、前記第iサブ回路モジュールと第i+1サブ回路モジュールは論理接続関係を有するステップと、
前記第iサブ回路モジュールに対応する出力データを前記第i+1サブ回路モジュールに対応する入力データとして、前記第i+1サブ回路モジュールに対応するフィッティング関数で処理し、前記第i+1サブ回路モジュールに対応する出力データを取得するステップと、を含むことを特徴とする請求項1~3のいずれか1項に記載の方法。
【請求項8】
回路シミュレーション装置であって、
ターゲット回路におけるサブ回路モジュールを取得するためのサブ回路取得モジュールと、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するためのフィッティング処理モジュールと、
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得するためのシミュレーション処理モジュールと、を含むことを特徴とする回路シミュレーション装置。
【請求項9】
電子機器であって、プロセッサと、メモリとを含み、前記メモリには少なくとも1つの命令が記憶されており、前記少なくとも1つの命令は前記プロセッサによりロードして実行されることで、請求項1~
3のいずれか1項に記載の回路シミュレーション方法を実現することを特徴とする電子機器。
【請求項10】
コンピュータ可読記憶媒体であって、少なくとも1つの命令が記憶されており、前記少なくとも1つの命令はプロセッサによりロードして実行されることで、請求項1~
3のいずれか1項に記載の回路シミュレーション方法を実現することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
出願は、2021年08月09日に中国特許庁に提出された、出願番号が202110906086.4、発明の名称が「回路シミュレーション方法、装置、機器及び記憶媒体」の中国特許出願の優先権を主張し、その全内容が引用により本願に組み込まれている。
[技術分野]
【0002】
本願は、電気デジタルデータ処理の分野に関し、具体的には、高効率の回路シミュレーション方法、装置、機器及び記憶媒体に関する。
【背景技術】
【0003】
回路設計では、エンジニアが回路設計を完了した後、通常、回路シミュレーションソフトウェアによって、設計された回路に対してシミュレーション処理を行って、設計された回路の正確性を検証する必要がある。
【0004】
エンジニアが回路設計を完了した後、設計された回路情報を回路シミュレーションソフトウェアに入力でき、回路シミュレーションソフトウェアはエンジニアからの回路図情報を識別することによって、回路図情報中の各素子のタイプ情報、パラメータ情報及び各素子間の接続関係を取得し、該回路に対応する演算行列を構築する。該演算行列は、アナログ回路図の入力信号を処理して、該回路の出力信号をシミュレートすることができる。
【0005】
上記手段では、回路が大きく、多くの回路パラメータを含む場合、構築された演算行列は複雑であり、回路のシミュレーション効率は低い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本願は、回路のシミュレーション効率を向上させるように、回路シミュレーション方法、装置、電子機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0007】
一態様によれば、本願の実施例は、
ターゲット回路におけるサブ回路モジュールを取得するステップと、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するステップと、
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得するステップと、を含む回路シミュレーション方法を提供する。
【0008】
別の態様によれば、本願の実施例は、
ターゲット回路におけるサブ回路モジュールを取得するためのサブ回路取得モジュールと、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するためのフィッティング処理モジュールと、
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得するためのシミュレーション処理モジュールと、を含む回路シミュレーション装置を提供する。
【0009】
1つの可能な実現形態では、前記フィッティング処理モジュールは、
前記サブ回路モジュールのシミュレーション結果を取得するためのシミュレーション結果取得ユニットと、
前記サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するためのフィッティング関数取得ユニットと、を含む。
【0010】
1つの可能な実現形態では、前記サブ回路取得モジュールは、
ターゲット回路における検証されていないサブ回路モジュールである候補サブ回路モジュールのシミュレーション結果を取得するための候補シミュレーション取得モジュールと、
前記候補サブ回路モジュールのシミュレーション結果の確認操作を受信すると、前記候補サブ回路モジュールをターゲット回路におけるサブ回路モジュールとして決定するためのサブ回路決定モジュールと、を含み、
前記フィッティング処理モジュールはさらに、
前記ターゲット回路に対するシミュレーション操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得することに用いられる。
【0011】
1つの可能な実現形態では、前記フィッティング処理モジュールはさらに、
前記サブ回路モジュールにおけるサブ回路パラメータを取得し、サブ回路パラメータに応じて前記サブ回路モジュールに対応するサブ回路行列を構築することと、
前記サブ回路行列に応じてサンプル入力データを処理し、前記サンプル入力データに対応する予測出力データを取得することと、
前記サンプル入力データ及び前記サンプル入力データに対応する予測出力データに応じて、線形回帰方法でフィッティングを行い、前記サブ回路モジュールに対応するフィッティング関数を得ることとに用いられる。
【0012】
1つの可能な実現形態では、前記フィッティング処理モジュールは、
前記サブ回路行列に対応する入力データ範囲を取得するためのデータ範囲取得ユニットと、
前記サブ回路行列に対応する入力データ範囲内でサンプリングを行い、前記サンプル入力データを取得する入力データサンプリングユニットと、をさらに含む。
【0013】
1つの可能な実現形態では、前記入力データ取得ユニットは、
前記サブ回路行列に対応する行列次数を取得するための行列次数取得サブユニットと、
前記サブ回路行列の行列次数に応じて、前記入力データ範囲を等分し、各等分値を前記サンプル入力データとして決定するための入力データ取得サブユニットと、をさらに含む。
【0014】
1つの可能な実現形態では、前記シミュレーション処理モジュールは、
第iサブ回路モジュールに対応する入力データを第iサブ回路モジュールに対応するフィッティング関数で処理し、前記第iサブ回路モジュールに対応する出力データを取得することに用いられ、前記第iサブ回路モジュールと第i+1サブ回路モジュールは論理接続関係を有する第1出力ユニットと、
前記第iサブ回路モジュールに対応する出力データを前記第i+1サブ回路モジュールに対応する入力データとして、前記第i+1サブ回路モジュールに対応するフィッティング関数で処理し、前記第i+1サブ回路モジュールに対応する出力データを取得するための第2出力ユニットと、を含む。
【0015】
さらに別の態様によれば、本願の実施例は、プロセッサと、メモリとを含み、前記メモリには少なくとも1つの命令が記憶されており、前記少なくとも1つの命令が前記プロセッサによりロードして実行されることで上記回路シミュレーション方法を実現する電子機器を提供する。
【0016】
またさらに別の態様によれば、本願の実施例は、少なくとも1つの命令が記憶されており、前記少なくとも1つの命令がプロセッサによりロードして実行されることで、上記回路シミュレーション方法を実現するコンピュータ可読記憶媒体を提供する。
【0017】
またさらに別の態様によれば、コンピュータ可読記憶媒体に記憶されているコンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムを提供する。電子機器のプロセッサはコンピュータ可読記憶媒体から前記コンピュータ命令を読み取り、プロセッサは前記コンピュータ命令を実行することで、前記電子機器は上記回路シミュレーション方法を実行する。
【発明の効果】
【0018】
本願に係る技術的解決手段は以下の有益な効果を含むことができる。
【0019】
ターゲット回路をシミュレーションする必要がある場合、まず、ターゲット回路を各サブ回路モジュールに分割し、フィッティング関数でサブ回路モジュールをフィッティングし、それによりフィッティング関数でサブ回路モジュールの回路特性を表すことを実現し、ターゲット回路におけるサブ回路モジュールに対応するフィッティング関数を取得した後、各サブ回路モジュール間の論理関係に応じて、各サブ回路モジュールに対応するフィッティング関数でターゲット回路を代替してシミュレーションを行うことができ、データが煩雑なターゲット回路行列を構築する必要がなく、回路のシミュレーション効率を向上させる。
【0020】
本願の具体的な実施形態又は従来技術の技術的解決手段をより明確に説明するために、以下、具体的な実施形態又は従来技術の説明に必要な図面を簡単に説明し、明らかなように、以下の説明された図面は本願のいくつかの実施形態であり、当業者であれば、創造的な労働をせずに、これらの図面に基づいてほかの図面を得ることができる。
【図面の簡単な説明】
【0021】
【
図1】1つの例示的な実施例に係る回路シミュレーションシステムの構造模式図である。
【
図2】1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。
【
図3】1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。
【
図4】1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。
【
図5】1つの例示的な実施例に係る回路設計及び回路シミュレーション方法の概略フローチャートである。
【
図6】1つの例示的な実施例に係る回路シミュレーション装置の構造ブロック図である。
【
図7】本願の1つの例示的な実施例に係る電子機器の構造ブロック図である。
【発明を実施するための形態】
【0022】
以下、図面を参照しながら本願の技術的解決手段を明確かつ完全に説明し、明らかなように、説明される実施例は本願の一部の実施例であり、すべての実施例ではない。本願の実施例に基づいて、当業者が創造的な労働をせずに得るほかの実施例はすべて本願の特許範囲に属する。
【0023】
本願の実施例で言及された「指示」は、直接的指示であってもよく、間接的指示であってもよく、関連関係を有することを表してもよいと理解すべきである。例を挙げると、AがBを指示すことは、例えばBがAによって取得可能であるようにAがBを直接指示すことを表してもよく、例えば、AがCを指示し、BがCによって取得可能であるようにAがBを間接的に指示すことを表してもよく、AとBが関連関係を有することを表してもよい。
【0024】
本願の実施例の説明では、用語「対応」は、両者が直接対応するか、又は間接的に対応する関係を有することを表してもよく、両者が関連関係を有することを表してもよく、指示と被指示、構成と被構成などの関係であってもよい。
【0025】
本願の実施例では、「予め定義する」は、機器(例えば、端末機器及びネットワーク機器を含む)において対応するコード、テーブルを保存するか、又は関連情報を指示すことに使用できるほかの方式によって実現でき、本願ではその具体的な実現形態を限定するものではない。
【0026】
図1は1つの例示的な実施例に係る回路シミュレーションシステムの構造模式図である。該回路シミュレーションシステムにはサーバ110及び端末120が含まれる。
【0027】
選択可能に、端末120には回路設計クライアントが含まれる。該端末120における回路設計クライアントは、ユーザーによりトリガーされた回路設計操作を受信すると、ユーザーによりトリガーされた回路設計操作に応じて、対応する回路データを生成することができる。
【0028】
選択可能に、端末120における回路設計クライアントは回路データを生成した後、ユーザー側からの確認操作を受信すると、該回路をサーバ110に伝送してサーバ110のデータメモリに保存し、それによって後続では該回路データで指示された回路構造をシミュレーションする。
【0029】
選択可能に、該端末120は有線又は無線伝送方式によって、ほかの端末から送信された回路データを受信し、該回路データを該端末120のデータメモリに記憶することができ、該端末120の回路設計クライアントはユーザーによりトリガーされた保存操作を受けると、該回路データをサーバ110のデータメモリに送信して保存する。
【0030】
選択可能に、該端末120は、PC、ノートパソコン、スマートモバイル端末などの高性能プロセッサを備えたデータ処理機器であってもよい。
【0031】
選択可能に、該端末120に回路データが記憶されている場合、ユーザーによりトリガーされたシミュレーション操作を受信すると、該回路データに対してシミュレーション処理を行い、さらにシミュレーション結果をサーバ110に送信して保存することができる。
【0032】
選択可能に、上記サーバは、独立した物理サーバであってもよく、複数の物理サーバからなるサーバクラスター又は分散型システムであってもよく、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティサービス、CDN、ビッグデータ及び人工知能プラットフォームなどの技術クラウドコンピューティングサービスを提供するクラウドサーバであってもよい。
【0033】
選択可能に、該システムは、該システムを管理する(例えば、各モジュールとサーバとの接続状態などを管理する)ための管理機器をさらに含んでもよく、該管理機器とサーバは通信ネットワークを介して接続される。選択可能に、該通信ネットワークは有線ネットワーク又は無線ネットワークである。
【0034】
選択可能に、上記無線ネットワーク又は有線ネットワークは、標準的な通信技術及び/又はプロトコルを使用する。ネットワークは、通常、インターネットであるが、ほかの任意のネットワークであってもよく、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、モバイルネットワーク、有線又は無線ネットワーク、プライベートネットワーク又は仮想プライベートネットワークの任意の組合せを含むが、これらに限定されない。いくつかの実施例では、ハイパーテキストマークアップ言語、拡張マークアップ言語などを含む技術及び/又はフォーマットを使用して、ネットワークを介して交換されるデータを表す。また、例えば、セキュアソケット層、トランスポート層セキュリティ、仮想プライベートネットワーク、インターネットプロトコルセキュリティなどの従来の暗号化技術を使用してすべて又はいくつかのリンクを暗号化してもよい。別のいくつかの実施例では、カスタム及び/又は専用のデータ通信技術を使用して上記データ通信技術を代替又は補足してもよい。
【0035】
図2は1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。該方法は電子機器により実行され、該電子機器は、
図1に示される回路シミュレーションシステムにおけるサーバ110、又は
図1に示される回路シミュレーションシステムにおける端末120であってもよい。
図2に示すように、該回路シミュレーション方法は以下のステップ201~203を含んでもよい。
【0036】
ステップ201、ターゲット回路におけるサブ回路モジュールを取得する。
【0037】
選択可能に、該ターゲット回路は各サブ回路モジュールからなり、各サブ回路モジュールは入力回路信号に応じて、対応する出力回路信号を生成することができる。
【0038】
例えば、1つの完全なターゲット回路では、ターゲット回路が特定の機能を正常に実現できることを確保するために、該ターゲット回路には、通常、例えば発振回路、光結合回路など異なる機能を有するサブ回路モジュールが含まれ、各サブ回路モジュールは入力された信号(例えば、入力電圧)に応じて、対応する信号を生成することができる(例えば、発振器は指定された周波数のクロック信号を出力することができる)。
【0039】
ステップ202、該サブ回路モジュールに対して関数フィッティング処理を行い、該サブ回路モジュールに対応するフィッティング関数を取得する。
【0040】
サブ回路モジュールを取得した後、サブ回路モジュールは入力回路信号に応じて、対応する出力信号を生成することができ、関数の定義と類似するため、サブ回路モジュールの入力信号と出力信号との関係に応じて、該サブ回路モジュールに対応する1つのフィッティング関数をフィッティングすることができる。該フィッティング関数の引数は該回路の入力信号であり、該フィッティング関数の従変数は該回路の出力信号である。
【0041】
ステップ203、各該サブ回路モジュール間の論理関係に基づいて、各該サブ回路モジュールにそれぞれ対応するフィッティング関数で該ターゲット回路を代替してシミュレーション処理を行い、該ターゲット回路のシミュレーション結果を取得する。
【0042】
ターゲット回路における各サブ回路モジュールは、所定の論理関係を有し、例えば、発振回路により生成されるクロック信号を、クロック信号を必要とする特定のサブ回路モジュールに入力し、クロック信号を必要とする該サブ回路モジュールの入力信号とすることができ、従って、各サブ回路モジュール間の論理関係に基づいて、各サブ回路モジュールにそれぞれ対応するフィッティング関数に応じて順に処理を行うことで、該ターゲット回路に対応するシミュレーション結果を得ることができる。
【0043】
以上により、ターゲット回路をシミュレーションする必要がある場合、まず、ターゲット回路を各サブ回路モジュールに分割し、フィッティング関数でサブ回路モジュールをフィッティングし、それによりフィッティング関数でサブ回路モジュールの回路特性を表すことを実現し、ターゲット回路におけるサブ回路モジュールに対応するフィッティング関数を取得した後、各サブ回路モジュール間の論理関係に応じて、各サブ回路モジュールに対応するフィッティング関数でターゲット回路を代替してシミュレーションを行うことができ、データが煩雑なターゲット回路行列を構築する必要がなく、回路のシミュレーション効率を向上させる。
【0044】
図3は1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。該方法は電子機器により実行され、該電子機器は、
図1に示される回路シミュレーションシステムにおけるサーバ110、又は
図1に示される回路シミュレーションシステムにおける端末120であってもよい。
図3に示すように、該回路シミュレーション方法は以下のステップ301~304を含んでもよい。
【0045】
ステップ301、ターゲット回路におけるサブ回路モジュールを取得する。
【0046】
1つの可能な実現形態では、電子機器はターゲット回路をシミュレーションする必要がある場合、まず、該ターゲット回路におけるサブ回路モジュールを取得することができ、該サブ回路モジュールは該電子機器に予め記憶されたものであってもよい。
【0047】
別の可能な実現形態では、該電子機器に回路設計クライアントを有し、電子機器は回路設計クライアントに対する指定された操作を受信すると、該指定された操作に対応するサブ回路モジュールを取得する。
【0048】
即ち、ターゲット回路は、設計者が各サブ回路モジュールを設計して接合することによって得られる。設計者は回路設計クライアントによってターゲット回路を生成する必要がある場合、まず、回路設計クライアントによって該ターゲット回路における一部の回路(即ち、サブ回路モジュール)を生成することができる。
【0049】
ステップ302、該サブ回路モジュールのシミュレーション結果を取得する。
【0050】
1つの可能な実現形態では、サブ回路モジュールのシミュレーション結果は該電子機器に予め記憶されてもよいか、又は、該サブ回路モジュールのシミュレーション結果は、該サブ回路モジュールと同時に該電子機器に伝送されてもよい。
【0051】
即ち、ほかの機器においてサブ回路モジュールを生成した後、シミュレーションソフトウェアによってシミュレーション処理を行い、該サブ回路モジュールのシミュレーション結果を取得し、ほかの機器によって該電子機器に伝送することができる。
【0052】
1つの可能な実現形態では、該電子機器は、該サブ回路モジュールにおける回路パラメータに応じて、該サブ回路モジュールに対応する演算行列を構築し、該サブ回路モジュールに対応する演算行列によって、該サブ回路モジュールに対応するシミュレーション結果を取得する。
【0053】
例えば、該サブ回路モジュールに対応する演算行列を取得した後、予め設定された入力値を該演算行列で演算し、該演算行列の出力値を得ることができ、該出力値は該サブ回路モジュールのシミュレーション結果である。
【0054】
ステップ303、該サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、該サブ回路モジュールに対して関数フィッティング処理を行い、該サブ回路モジュールに対応するフィッティング関数を取得する。
【0055】
該サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、該サブ回路モジュールのシミュレーション結果が設計者の期待を満たすことを示すため、該サブ回路モジュールは正確に設計された回路に属し、該回路を調整する必要がなく、この場合、該サブ回路モジュールに対して関数フィッティング処理を直接行い、該サブ回路モジュールのフィッティング関数を取得することができる。
【0056】
1つの可能な実現形態では、該サブ回路モジュールにおけるサブ回路パラメータを取得し、サブ回路パラメータに応じて該サブ回路モジュールに対応するサブ回路行列を構築し、該サブ回路行列に応じてサンプル入力データを処理し、該サンプル入力データに対応する予測出力データを取得し、該サンプル入力データ及び該サンプル入力データに対応する予測出力データに応じて、線形回帰方法でフィッティングを行い、該サブ回路モジュールに対応するフィッティング関数を得る。
【0057】
サブ回路モジュールにおけるサブ回路パラメータを取得すると、該サブ回路パラメータを該サブ回路モジュールに対応するサブ回路行列として構築することができ、この場合、該サブ回路行列は該サブ回路モジュールの回路特性を指示すことに用いられる。サンプル入力データを該サブ回路行列に入力して線形演算を行うと、取得された予測出力データは、サブ回路モジュールがサンプル入力データに対応する電気データを受信して生成する可能性がある出力データとしてみなすことができる。
【0058】
サブ回路モジュールの場合、同じ入力データを受信することに応答して生成する出力データは同じとなるべきであり、従って、入力データを引数とすると、該出力データは該引数に対応する従変数であり、関数の定義に合致するため、該サブ回路モジュールの回路特性は関数でフィッティングすることができる。
【0059】
関数で該サブ回路モジュールの回路特性に対してフィッティング処理を行う必要がある場合、複数のサンプル入力データを引数としてサブ回路行列にそれぞれ入力し、該各サンプル入力データにそれぞれ対応する予測出力データ(即ち、従変数)を取得し、各引数と従変数との間の対応関係に応じて、線形回帰方法でフィッティングを行い、該サブ回路モジュールに対応するフィッティング関数を得ることができる。
【0060】
そして、ユーザーが特定の回路をシミュレーションする場合、実際には、該回路の特定の決定された状態での指定されたパラメータの出力値を決定することである。例えば、ユーザーが特定の回路をシミュレーションする場合、該回路における第1部品の入力電圧の大きさ及び第1部品に対応する第1ブランチの電流の大きさを決定する必要がある可能性があり、該ユーザーが該回路をシミュレーションして所要のシミュレーション結果は、第1部品の入力電圧が決定され、且つ第1ブランチの電流の大きさが決定される時に電流計で測定される該回路における第2ブランチの電流の大きさであってもよい。
【0061】
従って、特定の回路に対してシミュレーション処理を行う場合、複数の引数を入力する必要がある可能性があり、この場合、従変数は複数の引数の変化に伴い変化可能である。従って、1つの可能な実現形態では、サブ回路モジュールのサンプル入力データのタイプに応じてフィッティング関数の項数を決定し、フィッティング関数の項数に応じて線形関数型の回帰関数を構築し、該サンプル入力データ及び該サンプル入力データに対応する予測出力データに応じて、最小二乗法で該回帰関数に対して反復更新を行い、該サブ回路モジュールに対応するフィッティング関数を取得する。
【0062】
例えば、該フィッティング関数の反復更新方法は以下のステップ(1)~(7)を含んでもよい。
【0063】
(1)入力されたパラメータタイプの数がNであると、引数Xの数をNと決定するため、第1サブ回路モジュールの出力値である従変数Yの式は、Y=A0+A1X1+A2X2+…+AnXn+e(式中、eは誤差値であり、A0、A1、A2、……Anは推定対象の回帰係数である)である。
【0064】
(2)従変数Yと引数X1、X2、…、XnのP組の観測値(Xi1,Xi2,…,Xin,Yi)を仮定し、i=1,2,…,pであり、Yi=A0+A1Xi1+A2Xi2+…+AnXin+eiを満たし、また、eiがGauss-マルコフ仮説を満たすことを仮定し、即ち、誤差値の期待値はゼロであり、誤差値の共分散はゼロであり、異なる引数について、誤差値の分散は等しく、誤差値は正規分布している。
【0065】
(3)単位や値範囲の差をなくし、回帰係数推定値の統計分析を容易にするために、引数Xの元のデータを標準化する。
【0066】
(4)回帰モデルの残差平方和が最小になるように、1組の回帰係数の最小二乗推定量を見つける。
【0067】
(5)回帰係数の最小二乗推定量の分散と標準偏差を算出する。
【0068】
(6)回帰係数の推定量、回帰係数の分散と標準偏差、及び回帰係数の信頼区間を算出して初期線形回帰モデルを得る。
【0069】
(7)初期線形回帰モデルに対して回帰係数の有意性検定、回帰方程式の線形関係の有意性検定及びモデル構造の安定性検定を行い、最終線形回帰モデルを得る。
【0070】
1つの可能な実現形態では、上記ステップによって反復更新されたフィッティング関数のオーバーフィッティング又はアンダーフィッティングを防止するために、入力データの検証及び出力データの検証によって、該サブ回路モジュールに対応するフィッティング関数を検証することができ、検証に成功すると、該サブ回路モジュールに対応するフィッティング関数を保存し、検証に失敗すると、該フィッティング関数を変数置換法で非線形関数に更新し、サンプル入力データ及び予測出力データに応じて、最小二乗法で反復更新を再度行い、更新後のサブ回路モジュールに対応するフィッティング関数を得る。
【0071】
回路において、従来の抵抗器などの線形デバイスに加えて、トランジスタなどの非線形デバイスが存在する可能性があり、従って、線形関数でサブ回路モジュールの回路特性をよくフィッティングできない可能性がある。この場合、変数置換法で該線形関数型のフィッティング関数を非線形関数に変換することができる。
【0072】
例えば、線形関数型のフィッティング関数を非線形関数型のフィッティング関数に変換するプロセスは以下のように示されてもよい。
【0073】
(1)変換後の2つの変数間に直線関係を有するように従変数と引数を変換し(例えば、対数関数で変数置換を行う)、その後、最小二乗法で変換後の引数と従変数間の直線方程式をフィッティングし、さらに得られた直線方程式の変数を復元し、応答の曲線方程式を得て、即ち、モデルにおける回帰係数の初期値を得て、
曲線を直接直線化できないと、まず、変化範囲が小さい1つ又は2つの回帰係数を選択し、ループ変数を設定して所定のステップに従って可能な値域内で変動させ、ループごとにこれらの回帰係数は具体的な値を有し、曲線モデルに対して変数変換を行った後、直線回帰分析を行い、さらに得られた直線方程式の変数を復元し、応答の曲線方程式を得て、即ち、モデルにおける回帰係数の初期値を得る。
【0074】
(2)モデルが実際のデータにフィッティングする残差平方和の値が最小になるように、回帰係数の値範囲から1組の値を見つけ、回帰係数の推定量を得て、それによって対応する非線形回帰モデルを得る。
【0075】
(3)回帰モデルを関数表現式の形式で第1サブ回路モジュールに対応付けて記憶する。
【0076】
1つの可能な実現形態では、該サブ回路行列に対応する入力データ範囲を取得し、該サブ回路行列に対応する入力データ範囲内でサンプリングを行い、該サンプル入力データを取得する。
【0077】
設計者がサブ回路モジュールを設計した後、さらに該サブ回路モジュールに対応する正常動作範囲を決定することができ、即ち、該サブ回路モジュールは該正常動作範囲内でのみ正常な回路特性を示すことができる。この場合、電子機器は設計者により入力されるサブ回路モジュールに対応する入力データ範囲を受信すると、該電子機器のデータメモリに保存する。電子機器がサブ回路モジュールのパラメータに応じてサブ回路行列を生成する場合、該サブ回路モジュールに対応する入力データ範囲を該サブ回路行列の入力データ範囲とし、該サブ回路行列の入力データ範囲内でサンプリングを行い、該サンプル入力データを得る。
【0078】
1つの可能な実現形態では、該サブ回路行列に対応する行列次数を取得し、該サブ回路行列の行列次数に応じて、指定された数のサンプル入力データを取得する。
【0079】
サブ回路行列の行列次数はこのサブ回路行列の複雑さを表すため、サブ回路行列が複雑になるほど、より多くのサンプル入力データ及び予測出力データをフィッティングする必要があり、それによってサブ回路モジュールによりフィッティングされた関数の正確性を確保し、従って、サブ回路行列の行列次数が大きいほど、該サンプル入力データの指定された数が多い。
【0080】
1つの可能な実現形態では、該サブ回路行列に対応する行列次数を取得し、該サブ回路行列の行列次数に応じて該入力データ範囲を等分し、各等分値を該サンプル入力データとして決定する。
【0081】
サブ回路行列に対応する行列次数を取得した後、該行列次数に応じて、入力データ範囲内で等分を行い、各等分値を該サンプル入力データとして決定し、この場合、該入力データ範囲内のデータを均一にサンプリングして該サンプル入力データとするため、該サンプル入力データは該入力データ範囲の全体的な状況を考慮し、等分でサンプリングされたサンプル入力データによって、フィッティングされた関数の正確性を向上させる。
【0082】
ステップ304、各該サブ回路モジュール間の論理関係に基づいて、各該サブ回路モジュールにそれぞれ対応するフィッティング関数で該ターゲット回路を代替してシミュレーション処理を行い、該ターゲット回路のシミュレーション結果を取得する。
【0083】
1つの可能な実現形態では、第iサブ回路モジュールに対応する入力データを第iサブ回路モジュールに対応するフィッティング関数で処理し、該第iサブ回路モジュールに対応する出力データを取得し、該第iサブ回路モジュールと該第i+1サブ回路モジュールは論理接続関係を有し、
該第iサブ回路モジュールに対応する出力データを該第i+1サブ回路モジュールに対応する入力データとして、第i+1サブ回路モジュールに対応するフィッティング関数で処理し、該第i+1サブ回路モジュールに対応する出力データを取得する。
【0084】
ターゲット回路における各サブ回路モジュールに対応するフィッティング関数を取得した後、まず、該ターゲット回路における各サブ回路モジュール間の論理関係を決定することができ、例えば、第iサブ回路モジュールと該第i+1サブ回路モジュールの間に論理接続関係が存在し、該第iサブ回路モジュールの出力値を該第i+1サブ回路モジュールの入力値とすることができる。
【0085】
この場合、ターゲット回路をシミュレーションする必要がある場合、論理接続関係に従って、まず、論理接続関係における上位のサブ回路モジュールをフィッティング関数で対応する出力値を生成し、さらに該出力値を論理接続関係における下位のサブ回路モジュールの入力値とし、下位のサブ回路モジュールのフィッティング関数で計算し、該下位のサブ回路モジュールの出力値を得る。
【0086】
上記プロセスによって、該ターゲット回路における各サブ回路モジュールのフィッティング関数の出力結果である該ターゲット回路のシミュレーション結果を得る。
【0087】
設計者がターゲット回路をシミュレーションする必要がある場合、例えば、ターゲット回路における電流特性をシミュレーションする場合、上記プロセスによってターゲット回路における各サブ回路モジュールの特性パラメータ値を順に取得し、各サブ回路モジュールにおけるターゲットサブ回路モジュール(例えば、最下位のサブ回路モジュール)の出力電流を該ターゲット回路のシミュレーション結果とすることができる。
【0088】
選択可能に、複数の回路特性に関するターゲット回路をシミュレーションする場合、ターゲット回路における各サブ回路モジュールの複数の特性にそれぞれ対応するフィッティング関数をフィッティングし、さらに各サブ回路モジュールの複数の特性にそれぞれ対応するフィッティング関数に応じて、該各サブ回路モジュールの各特性値を出力して該ターゲット回路のシミュレーションを実現することができる。
【0089】
例えば、ターゲット回路をシミュレーションする場合、該ターゲット回路には第1サブ回路モジュールと第2サブ回路モジュールが含まれ、この場合、第2サブ回路モジュールの出力は入力電流及び入力電圧の影響を同時に受ける可能性があり、従って、第2サブ回路モジュールに対してシミュレーション操作を行い、第2サブ回路モジュールの出力を取得する場合、第1サブ回路モジュールにより出力される電流及び第1サブ回路モジュールにより出力される電圧の両方を考慮する必要がある。
【0090】
従って、本願の実施例で示される手段によって、まず、第1サブ回路モジュールに対して電流に基づく関数フィッティングを行い、第1サブ回路モジュールに対応する電流フィッティング関数を取得し、さらに第1サブ回路モジュールに対して電圧に基づく関数フィッティングを行い、第1サブ回路モジュールに対応する電圧フィッティング関数を取得することができ、この場合、第1サブ回路モジュールについて、第1サブ回路モジュールの入力に応じて、電流フィッティング関数と電圧フィッティング関数で処理し、第1サブ回路モジュールの出力電流及び出力電圧を第2サブ回路モジュールの入力データとしてそれぞれ取得することができ、それによってターゲット回路における第2サブ回路モジュール部分のシミュレーションプロセスを実現する。
【0091】
以上により、ターゲット回路をシミュレーションする必要がある場合、まず、ターゲット回路を各サブ回路モジュールに分割し、フィッティング関数でサブ回路モジュールをフィッティングし、それによりフィッティング関数でサブ回路モジュールの回路特性を表すことを実現し、ターゲット回路におけるサブ回路モジュールに対応するフィッティング関数を取得した後、各サブ回路モジュール間の論理関係に応じて、各サブ回路モジュールに対応するフィッティング関数でターゲット回路を代替してシミュレーションを行うことができ、データが煩雑なターゲット回路行列を構築する必要がなく、回路のシミュレーション効率を向上させる。
【0092】
そして、サブ回路モジュールの関数フィッティング処理は、多くの計算リソースを消費する必要があるが、本願の実施例では、サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、該サブ回路モジュールに対して関数フィッティング処理を行い、従って、ターゲット回路におけるサブ回路モジュールの関数フィッティング処理プロセスは別々に行われ、ターゲット回路をシミュレーションする際に大量のサブ回路モジュールに対して関数フィッティング処理を同時に行う必要がある現象の発生を回避し、ターゲット回路のシミュレーション処理の効率を向上させる。
【0093】
図4は1つの例示的な実施例に係る回路シミュレーション方法のフローチャートである。該方法は電子機器により実行され、該電子機器は、
図1に示される回路シミュレーションシステムにおけるサーバ110、又は
図1に示される回路シミュレーションシステムにおける端末120であってもよい。
図4に示すように、該回路シミュレーション方法は以下のステップを含んでもよい。
【0094】
ステップ401、候補サブ回路モジュールのシミュレーション結果を取得する。
【0095】
該候補サブ回路モジュールはターゲット回路における検証されていないサブ回路モジュールである。
【0096】
選択可能に、設計者がターゲット回路を設計する場合、まず、ターゲット回路における候補サブ回路モジュールを設計することができ、候補サブ回路モジュールのシミュレーション検証に成功すると、候補サブ回路モジュールに保存し、候補サブ回路モジュールのシミュレーション検証に失敗すると、該候補サブ回路モジュールを再設計する必要があることを示す。
【0097】
ステップ402、該候補サブ回路モジュールのシミュレーション結果の確認操作を受信すると、該候補サブ回路モジュールをターゲット回路におけるサブ回路モジュールとして決定する。
【0098】
該候補サブ回路モジュールのシミュレーション結果の確認操作を受信すると、この場合、設計者が該候補サブ回路モジュールのシミュレーション結果を承認し、該候補サブ回路モジュールが期待を満たす回路性能を有することを示すため、該候補サブ回路モジュールをターゲット回路におけるサブ回路モジュールとして決定することができる。
【0099】
ステップ403、該ターゲット回路のシミュレーション操作を受信すると、該サブ回路モジュールに対して関数フィッティング処理を行い、該サブ回路モジュールに対応するフィッティング関数を取得する。
【0100】
ターゲット回路における各サブ回路モジュールが設計済みであり、且つターゲット回路のシミュレーション操作を受信すると、該各サブ回路モジュールに対して関数フィッティング処理を行い、各サブ回路モジュールに対応するフィッティング関数を取得することができる。
【0101】
上記関数フィッティング処理プロセスは
図4に示される実施例におけるステップ303を参照すればよいため、ここで重複説明を省略する。
【0102】
ステップ404、各該サブ回路モジュール間の論理関係に基づいて、各該サブ回路モジュールにそれぞれ対応するフィッティング関数で該ターゲット回路を代替してシミュレーション処理を行い、該ターゲット回路のシミュレーション結果を取得する。
【0103】
ここで、シミュレーション処理プロセスは
図3に示される実施例におけるステップ304を参照すればよいため、ここで重複説明を省略する。
【0104】
以上により、ターゲット回路をシミュレーションする必要がある場合、まず、ターゲット回路を各サブ回路モジュールに分割し、フィッティング関数でサブ回路モジュールをフィッティングし、それによりフィッティング関数でサブ回路モジュールの回路特性を表すことを実現し、ターゲット回路におけるサブ回路モジュールに対応するフィッティング関数を取得した後、各サブ回路モジュール間の論理関係に応じて、各サブ回路モジュールに対応するフィッティング関数でターゲット回路を代替してシミュレーションを行うことができ、データが煩雑なターゲット回路行列を構築する必要がなく、回路のシミュレーション効率を向上させる。
【0105】
そして、サブ回路モジュールの関数フィッティングは多くの計算リソースを消費する必要があり、本願の実施例では、関数フィッティング処理プロセスが端末又はサーバのリソースを占有するため端末とサーバの実行に影響することを回避するために、ターゲット回路のシミュレーション操作を受信する場合にのみ、関数フィッティング処理プロセスを実行し、ターゲット回路のシミュレーション操作を正常に実現することを確保するとともに、関数フィッティング処理が端末又はサーバのリソースを占有することによる悪影響を回避する。
【0106】
図5は1つの例示的な実施例に係る回路設計及び回路シミュレーション方法の概略フローチャートである。回路の設計者が回路を設計中に、又は回路設計が完了しした後、本願の実施例に示される手段によって回路のシミュレーション処理を実現することができる。本願の実施例に示される手段は以下のステップ501~508を含む。
【0107】
ステップ501、サブ回路モジュールを検証する。
【0108】
回路の設計者による第1サブ回路モジュールの設計が完了した後、シミュレーションソフトウェアを使用して第1サブ回路モジュールに対してシミュレーション検証を行い、シミュレーション結果が回路の設計者の期待を満たすと、回路の設計者はシミュレーションソフトウェアにおいてシミュレーション完了確認ボタンをクリックする。
【0109】
1つの完全な大回路を設計する必要がある場合、回路の設計者は通常、該大回路を複数のサブ回路モジュールに分割し、複数のサブ回路モジュールを順に設計し、設計されているサブ回路モジュールの正確性のシミュレーション検証が完了した後にのみ、次のサブ回路モジュールを設計する。
【0110】
ステップ502、入力範囲を取得する。
【0111】
シミュレーションソフトウェアはシミュレーション完了確認ボタンをクリックする操作を識別した後、最後の1回でシミュレーションされた第1サブ回路モジュールを自動的に保存するとともに、回路の設計者は第1サブ回路モジュールの各入力の上限値と下限値を入力する。
【0112】
シミュレーションソフトウェアはシミュレーション完了確認ボタンをクリックする操作を識別した後、ソフトウェアは回路の設計者が最後の1回でシミュレーションされた第1サブ回路モジュールが正確であると判定することをデフォルトするため、最後の1回でシミュレーションされた第1サブ回路モジュールをネットリストファイルに自動的に保存する。
【0113】
また、シミュレーションソフトウェアは入力ボックスをポップアップし、回路の設計者は第1サブモジュール回路の実際の状況に応じて、第1サブモジュールの各入力端子に入力する必要があるパラメータタイプ及び各パラメータの上限値と下限値を入力ボックスに入力する。
【0114】
ステップ503、サブ回路行列を取得する。
【0115】
前記第1サブ回路モジュールを行列の形式で表す。
【0116】
ループ電流法、ノード電圧法、カットセット電圧法又はリスト法を使用して第1サブ回路モジュールを行列の形式で表す。
【0117】
ステップ504、入力サンプリングを行う。
【0118】
複数のサンプリング点を設定し、即ち、複数の回路入力値を入力し、行列に代入して計算を行い、複数の第1サブ回路モジュールの出力値を得る。
【0119】
(1)第1サブ回路モジュールの行列次数を識別し、例えば、1つのm行n列の行列はm*n行列であり、行列の次数は第1サブ回路モジュールのノード数及びブランチ数などに関連し、サンプリング点の数は前記次数と正の相関があるように設計され、即ち、次数が高いほど、設定されるサンプリング点が多く、具体的には、行列が3*4次の行列である場合、サンプリング点の数は12の倍数に設定されてもよく、倍数が高いほど、シミュレーション精度が高い。
【0120】
(2)第1サブ回路モジュールの行列に各パラメータの上限値と下限値を入力するとともに、各パラメータの上限値と下限値の間を等分し、各等分値を入力し、等分した数は入力される各パラメータの数がいずれもサンプリング点の数に等しいように設計され、例えば、48個のサンプリング点を収集する必要がある場合、各パラメータの入力数をいずれも48個に設計し、入力される各パラメータを行列に代入して計算を行い、複数の第1サブ回路モジュールの出力を得到し、入力された各パラメータ値と複数の第1サブ回路モジュールの出力値を1対1で対応して保存し、複数のサンプリング点を得る。
【0121】
ステップ505、回帰演算によってフィッティング関数を取得する。
【0122】
複数の回路入力値を引数とし、複数の第1サブ回路モジュールの出力値を従変数として回帰演算を行い、フィッティングして代替曲線を得て、即ち、フィッティングしてフィッティング関数表現式を得る。
【0123】
ステップ506、すべてのサブ回路モジュールが対応するフィッティング関数表現式を生成するまで上記ステップを繰り返す。
【0124】
開発者が1つのサブ回路モジュールの設計を完了するごとに、シミュレーションソフトウェアは該サブ回路モジュールに対応するフィッティング関数表現式を自動的に生成し、このようにすべてのサブ回路モジュールの設計が完了して対応するフィッティング関数表現式を自動的に生成するまで繰り返す。
【0125】
ステップ507、すべてのサブ回路モジュールを統合して1つの完全な大回路モジュールを形成する。
【0126】
すべてのサブ回路モジュールの設計が完了した後、回路の正確性を検証するために、各サブ回路モジュールをシミュレーションソフトウェアで統合して1つの完全な大回路モジュールを形成する必要があり、それによって後続でシミュレーション検証を行う。
【0127】
ステップ508、回路のシミュレーション処理を行う。
【0128】
回路の設計者はシミュレーションソフトウェアにおいてクイックシミュレーションボタンをクリックし、シミュレーションソフトウェアはフィッティング関数表現式ですべてのサブ回路モジュールを代替してクイックシミュレーションを行い、シミュレーション結果を迅速に得る。
【0129】
回路の設計者が完全な大回路モジュールをシミュレーションする場合、高精度の結果を得るために、最も一般的に使用されるシミュレーション方法を使用してシミュレーションを行うことができるが、このシミュレーション方法は非常に時間がかかり、多くの場合、数時間又は数日かかる。一方、回路の設計者が回路の正確性を検証し、回路出力値の傾向を確認しようとするだけの場合、クイックシミュレーションボタンをクリックすることができ、シミュレーションソフトウェアはフィッティング関数表現式ですべてのサブ回路モジュールを代替してシミュレーションを行い、シミュレーション結果を迅速に得ることで、シミュレーション精度の適切な低下を犠牲にしてシミュレーションの速度を大幅に向上させる。
【0130】
なお、本願の実施例に示される手段は、各回路が特定の状態に応答して生成する出力によって関数フィッティングを行い、フィッティングされたフィッティング関数も特定の状態に対して処理を行い、該状態の回路の出力値を取得するため、上記手段は直流分析のシミュレーションプロセスに適用される。
【0131】
図6は1つの例示的な実施例に係る回路シミュレーション装置の構造ブロック図である。該回路シミュレーション装置は、
ターゲット回路におけるサブ回路モジュールを取得するためのサブ回路取得モジュール601と、
前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するためのフィッティング処理モジュール602と、
各前記サブ回路モジュール間の論理関係に基づいて、各前記サブ回路モジュールにそれぞれ対応するフィッティング関数で前記ターゲット回路を代替してシミュレーション処理を行い、前記ターゲット回路のシミュレーション結果を取得するためのシミュレーション処理モジュール603と、を含む。
【0132】
1つの可能な実現形態では、前記フィッティング処理モジュールは、
前記サブ回路モジュールのシミュレーション結果を取得するためのシミュレーション結果取得ユニットと、
前記サブ回路モジュールのシミュレーション結果に対する確認操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得するためのフィッティング関数取得ユニットと、を含む。
【0133】
1つの可能な実現形態では、前記サブ回路取得モジュールは、
ターゲット回路における検証されていないサブ回路モジュールである候補サブ回路モジュールのシミュレーション結果を取得するための候補シミュレーション取得モジュールと、
前記サブ回路モジュールのシミュレーション結果の確認操作を受信すると、前記候補サブ回路モジュールをターゲット回路におけるサブ回路モジュールとして決定するためのサブ回路決定モジュールと、を含み、
前記フィッティング処理モジュールはさらに、
前記ターゲット回路に対するシミュレーション操作を受信すると、前記サブ回路モジュールに対して関数フィッティング処理を行い、前記サブ回路モジュールに対応するフィッティング関数を取得することに用いられる。
【0134】
1つの可能な実現形態では、前記フィッティング処理モジュールはさらに、
前記サブ回路モジュールにおけるサブ回路パラメータを取得し、サブ回路パラメータに応じて前記サブ回路モジュールに対応するサブ回路行列を構築することと、
前記サブ回路行列に応じてサンプル入力データを処理し、前記サンプル入力データに対応する予測出力データを取得することと、
前記サンプル入力データ及び前記サンプル入力データに対応する予測出力データに応じて、線形回帰方法でフィッティングを行い、前記サブ回路モジュールに対応するフィッティング関数を得ることとに用いられる。
【0135】
1つの可能な実現形態では、前記フィッティング処理モジュールは、
前記サブ回路行列に対応する入力データ範囲を取得するためのデータ範囲取得ユニットと、
前記サブ回路行列に対応する入力データ範囲内でサンプリングを行い、前記サンプル入力データを取得するための入力データサンプリングユニットと、をさらに含む。
【0136】
1つの可能な実現形態では、前記入力データ取得ユニットは、
前記サブ回路行列に対応する行列次数を取得するための行列次数取得サブユニットと、
前記サブ回路行列の行列次数に応じて、前記入力データ範囲を等分し、各等分値を前記サンプル入力データとして決定するための入力データ取得サブユニットと、をさらに含む。
【0137】
1つの可能な実現形態では、前記シミュレーション処理モジュールは、
第iサブ回路モジュールに対応する入力データを第iサブ回路モジュールに対応するフィッティング関数で処理し、前記第iサブ回路モジュールに対応する出力データを取得することに用いられ、前記第iサブ回路モジュールと前記第i+1サブ回路モジュールは論理接続関係を有する第1出力ユニットと、
前記第iサブ回路モジュールに対応する出力データを前記第i+1サブ回路モジュールに対応する入力データとして、第i+1サブ回路モジュールに対応するフィッティング関数で処理し、前記第i+1サブ回路モジュールに対応する出力データを取得するための第2出力ユニットと、を含む。
【0138】
以上により、ターゲット回路をシミュレーションする必要がある場合、まず、ターゲット回路を各サブ回路モジュールに分割し、フィッティング関数でサブ回路モジュールをフィッティングし、それによりフィッティング関数でサブ回路モジュールの回路特性を表すことを実現し、ターゲット回路におけるサブ回路モジュールに対応するフィッティング関数を取得した後、各サブ回路モジュール間の論理関係に応じて、各サブ回路モジュールに対応するフィッティング関数でターゲット回路を代替してシミュレーションを行うことができ、データが煩雑なターゲット回路行列を構築する必要がなく、回路のシミュレーション効率を向上させる。
【0139】
図7は本願の1つの例示的な実施例に係る電子機器700の構造ブロック図である。該電子機器は本願の上記手段におけるサーバとして実現されてもよい。前記電子機器700は、中央処理装置(CPU:Central Processing Unit)701と、ランダムアクセスメモリ(RAM:Random Access Memory)702及び読み出し専用メモリ(ROM:Read-Only Memory)703を含むシステムメモリ704と、システムメモリ704と中央処理装置701とを接続するシステムバス705と、を含む。前記電子機器700は、オペレーティングシステム709、アプリケーションプログラム710及びほかのプログラムモジュール711を記憶するための大容量記憶装置706をさらに含む。
【0140】
前記大容量記憶装置706はシステムバス705に接続される大容量記憶コントローラ(図示せず)を介して中央処理装置701に接続される。前記大容量記憶装置706及びそれに関連付けられたコンピュータ可読媒体は不揮発性記憶を電子機器700に提供する。つまり、前記大容量記憶装置706は、例えば、ハードディスク又はコンパクトディスク読み出し専用メモリ(CD-ROM:Compact Disc Read-Only Memory)ドライブのようなコンピュータ可読媒体(図示せず)を含んでもよい。
【0141】
一般性を失うことなく、前記コンピュータ可読媒体はコンピュータ記憶媒体及び通信媒体を含んでもよい。コンピュータ記憶媒体は、例えばコンピュータ可読命令、データ構造、プログラムモジュール又はほかのデータなどの情報を記憶するためのいかなる方法又は技術で実現される揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。コンピュータ記憶媒体はRAM、ROM、消去可能プログラマブル読み出し専用メモリ(EPROM:Erasable Programmable Read Only Memory)、電子消去可能プログラマブル読み取り専用メモリ(EEPROM:Electrically-Erasable Programmable Read-Only Memory)フラッシュメモリ又はほかのソリッドステートメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:Digital Versatile Disc、)又はほかの光学式記憶、カセットテープ、磁気テープ、ディスク記憶又はほかの磁気記憶装置を含む。勿論、当業者は、前記コンピュータ記憶媒体が上記のものに限定されないことを理解できる。上記システムメモリ704と大容量記憶装置706はメモリと総称されてもよい。
【0142】
本開示の様々な実施例によれば、前記電子機器700はさらに例えばインターネットなどのネットワークを介してネットワーク上のリモートコンピュータに接続して動作してもよい。即ち、電子機器700は前記システムバス705に接続されるネットワークインターフェースユニット707を介してネットワーク708に接続されてもよいか、又は、ネットワークインターフェースユニット707でほかのタイプのネットワーク又はリモートコンピュータシステム(図示せず)に接続されてもよい。
【0143】
前記メモリは少なくとも1つのコンピュータプログラムをさらに含み、前記少なくとも1つのコンピュータプログラムはメモリに記憶されており、中央処理装置701は該少なくとも1つのコンピュータプログラムを実行することによって上記各実施例に示される方法のすべて又は一部のステップを実現する。
【0144】
1つの例示的な実施例では、少なくとも1つのコンピュータプログラムを記憶するためのコンピュータ可読記憶媒体をさらに提供し、前記少なくとも1つのコンピュータプログラムがプロセッサによりロードして実行されることで、上記方法のすべて又は一部のステップを実現する。例えば、該コンピュータ可読記憶媒体は読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、コンパクトディスク読み出し専用メモリ(CD-ROM:Compact Disc Read-Only Memory、)、磁気テープ、フロッピーディスク及び光データ記憶装置などであってもよい。
【0145】
1つの例示的な実施例では、コンピュータプログラム製品又はコンピュータプログラムをさらに提供し、該コンピュータプログラム製品又はコンピュータプログラムはコンピュータ命令を含み、該コンピュータ命令はコンピュータ可読記憶媒体に記憶される。電子機器のプロセッサはコンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは該コンピュータ命令を実行することで、該電子機器は上記の
図2又は
図3のいずれかの実施例に示される方法のすべて又は一部のステップを実行する。
【0146】
当業者は明細書を検討してここで開示される発明を実践した後、本願のほかの実施手段を容易に想到することができる。本願は、本願のいかなる変形、用途又は適応的変化をカバーすることを意図し、これらの変形、用途又は適応的変化は本願の一般的な原理に従い、本願に開示されていない本技術分野における周知の常識又は慣用した技術的手段を含む。明細書及び実施例単に例示的なものとみなされ、本願の真の範囲及び趣旨は以下の特許請求の範囲によって定められる。
【0147】
本願は上述した図面に示された厳密な構造に限定されず、その範囲を逸脱せずに種々の変更や変化を行うことができると理解すべきである。本願の範囲は添付の特許請求の範囲によってのみ限定される。