(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131848
(43)【公開日】2024-09-30
(54)【発明の名称】情報処理方法及び情報処理装置
(51)【国際特許分類】
G06F 30/367 20200101AFI20240920BHJP
H01L 21/82 20060101ALI20240920BHJP
G06F 30/27 20200101ALI20240920BHJP
【FI】
G06F30/367
H01L21/82 C
G06F30/27
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023042326
(22)【出願日】2023-03-16
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100103263
【弁理士】
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】田村 比呂
【テーマコード(参考)】
5B146
5F064
【Fターム(参考)】
5B146AA22
5B146CA01
5B146DC03
5B146GC01
5B146GG24
5F064HH09
5F064HH11
(57)【要約】
【課題】機械学習を利用して電気回路の特徴量を精度よく更新する。
【解決手段】複数のノードと、複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の複数のノードそれぞれの特徴量を更新する情報処理方法は、複数のノードそれぞれに接続されるエッジについて、エッジの両端の2つのノードの種類に応じて、エッジの種類を表すエッジタイプを特定することと、複数のノードの中から、特徴量を更新する対象とする第1ノードを選択することと、選択された第1ノードに接続されるエッジのエッジタイプに基づいて、選択された第1ノードにエッジを介して接続される第2ノードの特徴量の更新値を算出することと、算出された第2ノードの特徴量の更新値に基づいて、第1ノードの特徴量を更新することと、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のノードと、前記複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の前記複数のノードそれぞれの特徴量を更新する情報処理方法であって、
前記複数のノードそれぞれに接続されるエッジについて、前記エッジの両端の前記2つのノードの種類に応じて、前記エッジの種類を表すエッジタイプを特定することと、
前記複数のノードの中から、前記特徴量を更新する対象とする第1ノードを選択することと、
選択された前記第1ノードに接続されるエッジの前記エッジタイプに基づいて、選択された前記第1ノードに前記エッジを介して接続される第2ノードの特徴量の更新値を算出することと、
算出された前記第2ノードの特徴量の更新値に基づいて、前記第1ノードの特徴量を更新することと、
更新した前記第1ノードの特徴量に基づいて、前記第1ノードの属性を推定することと、を備える、
情報処理方法。
【請求項2】
前記第2ノードの特徴量の更新値を算出することは、前記第1ノードに複数のエッジが接続されている場合、前記複数のエッジのそれぞれの前記エッジタイプに基づいて、前記第1ノードに前記複数のエッジのそれぞれを介して接続される複数の前記第2ノードの特徴量の更新値を順に算出することを含み、
前記第1ノードの特徴量を更新することは、前記複数の第2ノードの特徴量の更新値に基づいて、選択された前記第1ノードの特徴量を更新することを含む、
請求項1に記載の情報処理方法。
【請求項3】
前記第1ノードの特徴量を更新することは、選択された前記第1ノードに接続されるすべてのエッジの前記エッジタイプに基づいて算出されたすべての前記第2ノードの特徴量の更新値と、選択された前記第1ノードの特徴量とに基づいて、選択された前記第1ノードの特徴量を更新することを含む、
請求項1に記載の情報処理方法。
【請求項4】
前記第1ノードを選択することは、前記複数のノードの中から、前記特徴量を更新する対象である前記第1ノードを順に選択することを含み、
選択された前記第1ノードの特徴量を更新した後、前記特徴量を更新するべき他の前記第1ノードが存在するか否かを判定することをさらに備え、
前記第1ノードを選択することは、前記特徴量を更新するべき他の前記第1ノードが存在すると判定されると、新たな前記第1ノードを選択することを含み、
前記第2ノードの特徴量の更新値を算出することは、前記新たな第1ノードに接続されるエッジの前記エッジタイプに基づいて、前記新たな第1ノードにエッジを介して接続される新たな前記第2ノードの特徴量の更新値を算出することを含む、
請求項1に記載の情報処理方法。
【請求項5】
前記エッジタイプは、前記エッジの両端に接続される前記第1ノード及び前記第2ノードそれぞれの素子又は端子の種類を表す、
請求項1に記載の情報処理方法。
【請求項6】
前記ノードは、前記電気回路の素子を含み、
前記エッジは、前記電気回路の2つの素子を接続する配線を含む、
請求項1に記載の情報処理方法。
【請求項7】
前記ノードは、前記電気回路の素子及び配線を含み、
前記電気回路は、
複数の前記配線に接続される複数の前記素子を表す複数のノードを含む第1ノード群と、
前記複数の配線を表す複数のノードを含む第2ノード群と、
前記第1ノード群に含まれる任意のノードと、前記第2ノード群に含まれる任意のノードとを接続する複数のエッジと、を含む2部グラフで表される、
請求項1に記載の情報処理方法。
【請求項8】
前記第1ノードの特徴量は、前記電気回路に含まれる素子の特性値と、前記電気回路に含まれる配線のインピーダンス値と、前記電気回路に含まれる配線の寄生成分との少なくとも一つを含む、
請求項1に記載の情報処理方法。
【請求項9】
複数のノードと、前記複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の前記複数のノードそれぞれの特徴量を更新する情報処理装置であって、
前記複数のノードそれぞれに接続されるエッジについて、前記エッジの両端の前記2つのノードの種類に応じて、前記エッジの種類を表すエッジタイプを特定するエッジタイプ特定部と、
前記複数のノードの中から、前記特徴量を更新する対象とする第1ノードを選択するノード選択部と、
選択された前記第1ノードに接続されるエッジの前記エッジタイプに基づいて、選択された前記第1ノードに前記エッジを介して接続される第2ノードの特徴量の更新値を算出する特徴量算出部と、
算出された前記第2ノードの特徴量の更新値に基づいて、前記第1ノードの特徴量を更新する特徴量更新部と、を備える、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一実施形態は、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
半導体プロセスの微細化に伴って、半導体回路の素子数は膨大な数になっており、半導体回路の設計と検証の難易度が高まっている。
【0003】
最近、機械学習がさまざまな分野で活用されており、半導体回路の設計や検証においても、機械学習の活用が望まれている。半導体回路の設計や検証においては、半導体回路を構成する各素子や各配線の、形状や寸法、電気特性などの様々な属性値の最適化や推定などの処理が必要になる。これらの処理は、従来、計算機シミュレーションと人間による判断を組み合わせて実施されてきた。しかし、微細化が進み回路規模が大きくなるにつれて、これらの処理を現実的な時間内に実施するのは困難になりつつある。
【0004】
そこで、半導体回路の設計や検証において、計算機シミュレーションと人間による判断の組み合わせに代えて機械学習の活用が期待されている。しかしながら、現状、半導体回路等の電気回路の設計と検証においては、機械学習の利用に関して確立された手法がない。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本発明の一実施形態では、機械学習を利用して電気回路の属性値を精度よく推定可能な情報処理方法及び情報処理装置を提供するものである。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明の一実施形態によれば、複数のノードと、前記複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の前記複数のノードそれぞれの特徴量を更新する情報処理方法であって、
前記複数のノードそれぞれに接続されるエッジについて、前記エッジの両端の前記2つのノードの種類に応じて、前記エッジの種類を表すエッジタイプを特定することと、
前記複数のノードの中から、前記特徴量を更新する対象とする第1ノードを選択することと、
選択された前記第1ノードに接続されるエッジの前記エッジタイプに基づいて、選択された前記第1ノードに前記エッジを介して接続される第2ノードの特徴量の更新値を算出することと、
算出された前記第2ノードの特徴量の更新値に基づいて、前記第1ノードの特徴量を更新することと、
更新した前記第1ノードの特徴量に基づいて、前記第1ノードの属性を推定することと、を備える、
情報処理方法が提供される。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る情報処理装置の概略構成を示すブロック図。
【
図2B】
図2Aの電気回路をグラフ表現したグラフデータの一例を示す図。
【
図3】電気回路をグラフ表現したグラフデータの一例を示す図。
【
図4】一実施形態に係る情報処理装置の処理動作を示すフローチャート。
【
図6】本実施形態に係る情報処理装置のハードウェア構成を示すブロック図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、情報処理方法及び情報処理装置の実施形態について説明する。以下では、情報処理装置の主要な構成部分を中心に説明するが、情報処理装置には、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
【0010】
図1は一実施形態に係る情報処理装置1の概略構成を示すブロック図である。
図1の情報処理装置1は、複数のノードと、複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路におけるノードの特徴量を更新する機能を備える。この機能により、機械学習を利用して電気回路の属性値を精度よく推定することが可能となる。本実施形態において、電気回路は、例えば半導体装置の電気回路である。
【0011】
ノードは、例えば電気回路の素子又は配線である。特徴量は、例えば素子又は配線の特性値である。特性値は、例えば、抵抗値、キャパシタンス、インダクタンスなどの素子値でもよいし、電磁放射量又はノイズ発生量でもよいし、また、寄生抵抗、寄生容量、又は寄生インダクタンスなどの寄生成分でもよい。
【0012】
図1の情報処理装置1によって更新される電気回路の各ノードの特徴量の値(更新値)は、電気回路の各素子の素子値を設計したい場合、電気回路のレイアウト配置を設計したい場合、電気回路の寄生成分を予測したい場合、電気回路の検証のためのシミュレーションにおいて無視してもよい素子を特定したい場合などに利用することができるが、特徴量の更新値の用途は特に限定されない。
【0013】
図2Aは電気回路2の一例を示す回路図、
図2Bは
図2Aの電気回路2をグラフ表現したグラフデータ3の一例を示す図である。電気回路2の回路構成は任意であり、
図2Aの回路構成に限定されるものではない。
図2Aの電気回路2は、差動増幅器を構成しており、PMOSトランジスタQ1、Q2、Q3と、NMOSトランジスタQ4、Q5、Q6、Q7、Q8と、電流源CSと、キャパシタC1、C2とを備える。
【0014】
トランジスタQ1とQ2は、ゲート同士が接続されており、カレントミラー回路を構成している。トランジスタQ1とQ2のソースは電源電圧VDDノードに接続されている。トランジスタQ1のドレインはトランジスタQ4のドレインに接続され、トランジスタQ2のドレインはトランジスタQ5のドレインに接続されている。トランジスタQ4のソースとトランジスタQ5のソースは、トランジスタQ7のドレインに接続されている。トランジスタQ3のソースは電源電圧VDDノードに接続され、トランジスタQ3のゲートはトランジスタQ2のドレインとトランジスタQ5のドレインとに接続されている。トランジスタQ3のドレインはトランジスタQ8のドレインに接続され、トランジスタQ8のソースは接地ノードに接続されている。トランジスタQ6のドレインと電源電圧VDDノードとの間には電流源CSが接続され、トランジスタQ6とQ7の各ソースは接地ノードに接続されている。トランジスタQ6、Q7、Q8の各ゲートと、トランジスタQ6のドレインは共通に接続されている。
【0015】
トランジスタQ5のドレインとトランジスタQ3のドレインとの間にはキャパシタC1が接続され、トランジスタQ8のドレインと接地ノードとの間にはキャパシタC2が接続されている。トランジスタQ4、Q5の各ゲートには、差動入力信号の何れか一方が入力される。
【0016】
図2Aの電気回路2をグラフ表現した
図2Bのグラフデータ3は、ノードn1~n11と、エッジe1~e17とを有する。ノードn1~n11は、
図2Aの電気回路2のいずれかの素子を表す。例えば、ノードn1はトランジスタQ1、ノードn2はトランジスタQ2、ノードn3はトランジスタQ3である。ノードn4はトランジスタQ4、ノードn5はトランジスタQ5である。ノードn6はトランジスタQ6、ノードn7はトランジスタQ7、ノードn8はトランジスタQ8である。ノードn9は電流源CSである。ノードn10はキャパシタC1、ノードn11はキャパシタC2である。
【0017】
エッジe1~e17は、ノードn1~n11のうち、任意の2つのノード間の配線である。ただし、
図2Bからわかるように、ノードn1~n11のうち、一部の2つのノード間にはエッジが存在しない場合もありうる。
【0018】
図1に示すように、本実施形態に係る情報処理装置1は、グラフデータ生成部10と、エッジタイプ特定部11と、ノード選択部12と、特徴量算出部13と、特徴量更新部14とを備える。
【0019】
グラフデータ生成部10は、電気回路2をグラフ表現したグラフデータ3を生成する。なお、グラフデータ生成部10は、情報処理装置1とは別個に設けてもよく、予め生成しておいたグラフデータ3を情報処理装置1が取得してもよい。グラフデータ3は、
図2Bに示したように、複数のエッジと複数のノードとを有する。
【0020】
エッジタイプ特定部11は、エッジの両端の2つのノードが表す素子及び素子の端子の種類に応じて、エッジの種類を表すエッジタイプを特定する。素子の端子の種類とは、素子が有する端子である。例えば素子がトランジスタの場合、素子の端子の種類は、ゲート端子、ドレイン端子、ソース端子である。エッジは、2つのノードに接続されている。2つのノードが互いに異なる素子又は素子の端子の場合、素子又は素子の端子の種類によってエッジの種類(エッジタイプ)が変化する。例えば、エッジの一方の端部にPMOSトランジスタのドレイン端子が接続される場合、エッジの他方の端部に抵抗素子の一端が接続される場合と、キャパシタの一端が接続される場合とでは、接続される素子の端子の種類が異なることから、エッジは異なるエッジタイプになる。また、エッジの両端の2つのノードが互いに同じ種類の素子であっても素子の端子が違う場合、エッジの種類が異なる。例えば、エッジの一方の端部にPMOSトランジスタのドレイン端子が接続される場合、エッジの他方の端部にNMOSトランジスタのドレイン端子が接続される場合と、NMOSトランジスタのゲート端子が接続される場合とでは、素子の端子が異なることから、エッジは異なるエッジタイプになる。
【0021】
このように、エッジの両端に接続される2つのノードの素子又は素子の端子の種類によって、エッジタイプが変化する。ただし、エッジの一端部に抵抗素子、キャパシタ、又はインバータなどの受動素子が接続される場合、受動素子の種類が同じであれば素子値が異なっても同じエッジタイプとして扱う。例えば、エッジの一端部に100オームの抵抗素子が接続される場合と、10オームの抵抗素子が接続される場合とでは、それだけではエッジタイプが異なるとはみなさない。一方、エッジの一端部にNMOSトランジスタのドレインが接続される場合と、PMOSトランジスタのドレインが接続される場合とでは、素子自体が異なるため、それだけでエッジタイプが異なるとみなす。なお、エッジタイプが同じか異なるかの基準を任意に設定変更できるようにしてもよい。
【0022】
ノード選択部12は、複数のノードの中から、特徴量を更新するべきノード(以下、第1ノードと呼ぶ場合がある)を選択する。
図2Bに示した複数のノードのうち、例えば電気回路2の主要な動作に影響する素子は、特徴量を更新するべき第1ノードとして選択される。ノード選択部12は、特徴量を更新するべき第1ノードが複数存在する場合には、一つずつ順に選択する。
【0023】
特徴量算出部13は、選択された第1ノードに接続されるエッジのエッジタイプに基づいて、第1ノードにエッジを介して接続される第2ノードの特徴量の更新値を算出する。特徴量算出部13の処理の詳細は後述する。
【0024】
特徴量更新部14は、第1ノードにエッジを介して接続される第2ノードの特徴量の更新値に基づいて、第1ノードの特徴量を更新する。特徴量更新部14の処理の詳細は後述する。
【0025】
図3は電気回路2をグラフ表現したグラフデータ3の他の一例を示す図である。
図3のグラフデータ3は
図2Aの電気回路2とは異なる電気回路2に基づいて生成されたものである。
【0026】
図3のグラフデータ3は、ノードn1~n7と、エッジe1~e6を有する。
図3のノードn1~n7及びエッジe1~e6と、
図2Bのノードn1~n7及びエッジe1~e6とは、符号は同じだが異なるものを示している。
図3では、ノードn1~n7の特徴量をv1~v7としている。上述したように、
図3の各エッジのエッジタイプは、対応するエッジの両端に接続される2つのノードの種類によって変化する。
【0027】
図3におけるノードn1~n7の特徴量は、1回の更新において、各ノードの特徴量と各ノードに接続される全てのエッジの他端側のノードの特徴量とに応じた値になる。例えば、ノードn4には、4つのエッジe3~e6それぞれの一端が接続されており、エッジe3の他端には特徴量v2のノードn2が接続され、エッジe4の他端には特徴量v6のノードn6が接続され、エッジe5の他端には特徴量v5のノードn5が接続され、エッジe6の他端には特徴量v7のノードn7が接続されている。
【0028】
よって、ノードn4の特徴量は、式(1)に示すように、ノードn4の特徴量V4と、ノードn4に接続された全てのエッジe3~e6の他端に接続されるノードn2、n6、n5、n7それぞれの特徴量V2、V6、V5、V7に応じた値になる。より詳細には、ノードn4の特徴量V4と、ノードn4に接続される全てのエッジe3~e6の他端に接続されるノードn2、n6、n5、n7の特徴量V2、V6、V5、V7を引数とする関数fで計算される値が、ノードn4の特徴量の更新値である。本実施形態では、各ノードの特徴量の更新を、複数回ずつ行うことを想定しており、式(1)のLは特徴量の更新回数を示す。
V4
(L)=f(V2
(L-1),V5
(L-1),V6
(L-1),V7
(L-1),V4
(L-1)) …(1)
【0029】
このように、各ノードの特徴量は、そのノードの特徴量とそのノードに接続されたエッジの他端側のノードの特徴量に応じた値に更新される。ここで、再び各ノードの特徴量を更新するとき、そのノードに接続されたエッジの他端側のノードは、他端側のノードに接続された別のエッジのさらに他端側のノードの特徴量に応じた特徴量を有している。このため、各ノードの特徴量の更新値は、そのノードがエッジによって接続されていないノードの特徴量が潜在的に関与する。したがって、複数回にわたって各ノードの特徴量を更新することで、より離れたノードの特徴量を更新することができる。
【0030】
図4は一実施形態に係る情報処理装置1の処理動作を示すフローチャートである。
図4のフローチャートは、電気回路2をグラフ表現したグラフデータ3における各ノードの特徴量を更新する処理動作を示すものである。
図4のフローチャートは、更新対象のすべてのノードの特徴量を1回ずつ更新する処理動作を示している。実際には、上述したように、L(Lは2以上の任意の整数)回にわたって
図4のフローチャートの処理が行われる。
【0031】
図4のフローチャートの処理は、電気回路2の回路構成の設計が終わった段階で開始される。すなわち、電気回路2に用いられる素子と、素子間の接続が確定した段階で、
図4のフローチャートの処理が開始される。
【0032】
図4のフローチャートにより更新された各ノードの特徴量に基づいて、電気回路2の各素子または配線の属性値を推定することができる。例えば属性値を各素子または配線の形状や寸法とし、各素子や配線の形状や寸法の最適値を推定することができる。あるいは、属性値は、シミュレータによるシミュレーションに必須の素子か否かを判断する目的に利用できる。より具体的には、各ノードの属性値が所定の閾値を超えるか否かを判定し、所定の閾値を超える属性値を持つノードについては、シミュレーションの対象とし、所定の閾値以下の属性値を持つノードは、シミュレーションの対象から外すことで、シミュレータの処理負担を軽減することができる。あるいは、更新された各ノードの属性値に基づいて、各ノードに対応する素子又は配線の故障時期を予測することができる。
【0033】
以下、
図3のグラフデータ3を例に取って、
図4のフローチャートの処理動作を順に説明する。まず、グラフデータ生成部10は、電気回路2をグラフ表現したグラフデータ3を生成する(S1)。ここでは、
図2B又は
図3に示すように、電気回路2に基づくノードとエッジからなるグラフデータ3が生成される。上述したように、ノードは例えば素子又は配線、エッジは例えば2つの素子(又は素子の端子)同士を接続する配線である。
【0034】
次に、エッジタイプ特定部11は、グラフデータ3における各エッジの両端の2つのノードの素子の種類と素子の端子の種類に応じてエッジタイプを特定する(S2)。S2の処理は、グラフデータ3における全てのエッジについて行われる。S2では、エッジの識別情報を引数とする関数φでエッジタイプが特定される。エッジタイプは、例えば、NMOSトランジスタのソース端子とPMOSトランジスタのゲート端子が接続されるエッジであることを示す情報である。エッジの両端の2つのノードの種類により、エッジタイプが決まる。
【0035】
関数φは、エッジejと、エッジejに接続される2つのノードの素子の種類と素子の端子の種類に応じて決まるエッジタイプの対応関係に基づき、ejを引数として与えた時にそれに対応するエッジタイプを返す関数である。これ以降、関数φにより得られるエッジejのエッジタイプを、エッジタイプφ(ej)とも称する。
【0036】
次に、ノード選択部12は、グラフデータ3における特徴量の更新対象のノード群の中から、特徴量が未更新の一つのノードniを選択する(S3)。電気回路2の回路規模が大きくなると、グラフデータ3に含まれるノードとエッジの数は膨大になるが、電気回路2の動作を検証する上で重要性がそれほど高くないノードとエッジが存在しうる。そこで、
図4のフローチャートは、グラフデータ3に含まれる全てのノードの中で、重要性の高い一部のノードについて、特徴量の更新を行うことができる。本明細書では、S3で選択するノードniを第1ノードと呼ぶことがある。
【0037】
S3で第1ノードniが選択されると、特徴量算出部13は、このノードniに接続された一つのエッジejを選択する(S4)。例えば、
図3のノードn4が第1ノードniである場合に、ノードn4に接続された4つのエッジe3~e6のうち一つ(例えばエッジe3)が選択される。
【0038】
次に、特徴量算出部13は、エッジejのエッジタイプφ(ej)に基づいて、エッジeiの他端側のノードの特徴量を更新する(S5)。S5では、例えば、エッジタイプφ(ej)ごとに定義される関数hφ(ej)により、エッジejの他端側のノードの特徴量が更新される。
【0039】
次に、特徴量算出部13は、S3で選択したノードniに接続されている全てのエッジの中で、S4とS5の処理を行っていない未処理のエッジが残っているか否かを判定する(S6)。まだ、S4とS5の処理を行っていないエッジが存在する場合には(S6のYES)、S4とS5の処理を行っていないエッジを順にS4で選択して、S5の処理を行う。
【0040】
S6において、S3で選択したノードniに接続されている全てのエッジの処理が終わったと判定されると(S6のNO)、特徴量算出部13は、S3で選択したノードniの特徴量を更新する(S7)。S7では、例えば以下の式(2)に基づいて、ノードniの特徴量が更新される。式(2)は、一例として、
図3のノードn4の特徴量の更新値を算出する式を示す。
V
4
(L)=f(h
φ(e3)(V
2
(L-1)),h
φ(e5)(V
5
(L-1)),h
φ(e4)(V
6
(L-1)),h
φ(e6)(V
7
(L-1)),V
4
(L-1))
…(2)
【0041】
このように、グラフデータ3の各ノードの特徴量は、各ノードに接続された全てのエッジの他端側のノードの特徴量の更新値に応じて更新される。式(2)の関数fの最後の引数V4
(L-1)は、S3で選択したノードni自身の特徴量の更新値である。よって、式(2)は、より正確には、グラフデータ3の各ノードの特徴量の更新値が、各ノードに接続された全てのエッジの他端側のノードの特徴量の更新値と、自身の特徴量とに応じて更新されることを示す。
【0042】
なお、各ノードの特徴量を更新する際に、自身の特徴量を考慮に入れないようにしてもよい。この場合、式(2)の関数の引数から自身の特徴量を示すV4
(L-1)を省略すればよい。
【0043】
次に、更新された各ノードの特徴量を用いて、例えば、以下の式(3)により、各ノードの属性値を推定する(S8)。以下の式(3)は、
図3のノードn4の属性値aを求める式である。関数gは、ノードの特徴量の更新値を引数として、ノードの属性値aを算出する関数である。
a
4
(L)=g(V
4
(L)) …(3)
【0044】
属性値は、ノードの何らかの属性を表す値であり、属性の具体的な内容は任意である。例えば、属性値とは、寄生成分などの電気的特性値であってもよいし、あるいは、シミュレーションの対象ノードにするか否かを判断する値であってもよいし、配置配線ツールで特別な配置配線を行うか否かを判断する値であってもよい。あるいは、属性値は、素子の故障を判断するための値であってもよい。
【0045】
次に、特徴量算出部13は、特徴量が未更新のノードが存在するか否かを判定する(S9)。未更新のノードが存在する場合には(S9のYES)、S3以降の処理を繰り返す。これにより、例えば、
図3のノードn3、n2については、それぞれ以下の式(4)、式(5)に基づいて特徴量が更新される。
V
3
(L)=f(h
φ(e2)(V
2
(L-1)),V
3
(L-1)) …(4)
V
2
(L)=f(h
φ(e2)(V
3
(L-1)),h
φ(e1)(V
1
(L-1)),h
φ(e3)(V
4
(L-1)),V
2
(L-1)) …(5)
【0046】
S9の判定がNOの場合、
図4のフローチャートの処理は終了する。
【0047】
図4のS5の関数hとS7の関数fは、ニューラルネットワークで構成することができる。例えば、関数hは、エッジのエッジタイプごとに定義され、引数がエッジの他端側のノードの特徴量であり、エッジの他端側の特徴量の更新値を返す関数である。
【0048】
また、関数fは、引数が更新対象ノードに各エッジを介して接続されるノード(第2ノード)の特徴量の更新値と、更新対象ノード自身の特徴量であり、更新対象ノードの特徴量の更新値を返す関数である。属性値が既知の学習データを使って関数hのニューラルネットワークと関数fのニューラルネットワークとを事前に学習しておき、学習済の関数hと関数fとを未知の回路に適用することが可能である。
【0049】
図4のフローチャートの処理により、電気回路2をグラフ表現したグラフデータ3の各ノードの特徴量を更新できる。なお、
図4のS8の属性値を算出する処理はS9の後に実行してもよい。また、S8の処理は、省略してもよい。
【0050】
上述した実施形態では、ノードを例えば素子、エッジを素子間の配線にする例を説明したが、素子と配線の両方をノードとして扱ってもよい。この場合、エッジは、配線と他の素子の端子との接続部分である。
【0051】
配線をノードとして扱う場合、グラフデータ3を2部グラフとして表現できる。
図5は2部グラフの一例を示す図である。
図5の左側に並ぶノード群ng1は、例えばそれぞれ異なる配線に対応している。右側に並ぶノード群ng2は、例えばそれぞれ異なる素子に対応している。2部グラフとは、同一のノード群に属するノード同士は接続されず、異なるノード群に属するノード同士が接続されることを特徴とする。
【0052】
電気回路2を2部グラフで表現することができれば、グラフ構造を単純化することができ、各ノードの特徴量の更新をより迅速に行うことができる。
【0053】
図6は本実施形態に係る情報処理装置1のハードウェア構成を示すブロック図である。
図6に示すように、本実施形態に係る情報処理装置1は、PC(Personal Computer)21と、入力装置22と、表示装置23と、記録装置24とを備える。
【0054】
PC21は、CPU(Central Processing Unit)を内蔵するコンピュータであればよく、例えばワークステーション、ミニコンピュータ、又はサーバ装置などでもよい。入力装置22は、キーボード、マウスなどの、情報を入力又は選択する装置である。表示装置23は、PC21が生成した画像データを表示する装置である。
【0055】
記録装置24は、例えば、ハードディスクドライブ又はSSD(Solid State Drive)などの大容量の記録容量を有し、各種の情報を読み書き可能な装置である。記録装置24には、論理合成ツール25、シミュレータ26、配置配線ツール27、及び回路特性更新ツール28などの複数のプログラムが格納されている。
【0056】
PC21は、記録装置24に格納された各プログラムを読み出して実行する。回路特性更新ツール28は、
図4の処理を実行するプログラムである。
【0057】
これにより、回路特性更新ツール28で各ノードの特徴量を更新した結果を用いて、例えば、各ノードをシミュレータ26による検証の対象にするか否かを決定することができる。
【0058】
なお、記録装置24に格納されてPC21にて実行されるプログラムはユーザごとに異なっていてもよく、
図6に示したものは一例に過ぎない。
【0059】
図6では、論理合成ツール25、シミュレータ26、配置配線ツール27、及び回路特性更新ツール28をコンピュータプログラム、すなわちソフトウェアで構成する例を示したが、配置配線ツール27、又は回路特性更新ツール28の少なくとも一つはハードウェアで構成してもよい。
【0060】
このように、本実施形態では、回路をグラフ表現したグラフデータ3において、更新対象の各ノード(第1ノード)の特徴量を、各ノードに各エッジを介して接続される他端側のノード(第2ノード)の特徴量の更新値及び自身の特徴量に基づいて更新する処理を、ノードごとに行う。また、特徴量の更新には、ニューラルネットワークを用いる。これにより、電気回路の回路規模が大きくても、素子又は素子の端子の種類だけでなく、素子又は素子の端子に接続される配線の寄生成分を考慮に入れて、各素子又は素子の端子の特徴量を短時間で精度よく更新できる。更新された特徴量に基づいて各ノードの属性値を算出することにより、電気回路2の各素子の素子値を決定したり、シミュレーションに不必要なノードを除去したり、故障判断を行うことが容易になる。
【0061】
本実施形態に係る情報処理装置1は、論理合成ツール25、シミュレータ26、配置配線ツール27、又は故障検出装置などに組み込むことができ、電気回路2の設計、レイアウト配置、検証、故障検出などの精度を向上できる。
【0062】
上述した実施形態で説明した情報処理装置1の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、情報処理装置1の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0063】
また、情報処理装置1の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0064】
[付記]
[項目1]
複数のノードと、前記複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の前記複数のノードそれぞれの特徴量を更新する情報処理方法であって、
前記複数のノードそれぞれに接続されるエッジについて、前記エッジの両端の前記2つのノードの種類に応じて、前記エッジの種類を表すエッジタイプを特定することと、
前記複数のノードの中から、前記特徴量を更新する対象とする第1ノードを選択することと、
選択された前記第1ノードに接続されるエッジの前記エッジタイプに基づいて、選択された前記第1ノードに前記エッジを介して接続される第2ノードの特徴量の更新値を算出することと、
算出された前記第2ノードの特徴量の更新値に基づいて、前記第1ノードの特徴量を更新することと、
更新した前記第1ノードの特徴量に基づいて、前記第1ノードの属性を推定することと、を備える、情報処理方法。
[項目2]
選択された前記第1ノードに接続されるエッジのうち、まだ選択されていないエッジが存在するか否かを判定することをさらに備え、
前記第2ノードの特徴量の更新値を算出することは、選択された前記第1ノードに接続されるエッジのうち、まだ選択されていないエッジが存在する場合には、まだ選択されていない一つのエッジの前記エッジタイプに基づいて、前記第1ノードに前記一つのエッジを介して接続される前記第2ノードの特徴量の更新値を算出することを含む、
項目1に記載の情報処理方法。
[項目3]
前記第2ノードの特徴量の更新値を算出することは、前記第1ノードに複数のエッジが接続されている場合、前記複数のエッジのそれぞれの前記エッジタイプに基づいて、前記第1ノードに前記複数のエッジのそれぞれを介して接続される複数の前記第2ノードの特徴量の更新値を順に算出することを含み、
前記第1ノードの特徴量を更新することは、前記複数の第2ノードの特徴量の更新値に基づいて、選択された前記第1ノードの特徴量を更新することを含む、
項目1又は2に記載の情報処理方法。
[項目4]
前記第1ノードの特徴量を更新することは、選択された前記第1ノードに接続されるすべてのエッジの前記エッジタイプに基づいて算出されたすべての前記第2ノードの特徴量の更新値と、選択された前記第1ノードの特徴量とに基づいて、選択された前記第1ノードの特徴量を更新することを含む、
項目1乃至3のいずれか一項に記載の情報処理方法。
[項目5]
前記第1ノードを選択することは、前記複数のノードの中から、前記特徴量を更新する対象である前記第1ノードを順に選択することを含み、
選択された前記第1ノードの特徴量を更新した後、前記特徴量を更新するべき他の前記第1ノードが存在するか否かを判定することをさらに備え、
前記第1ノードを選択することは、前記特徴量を更新するべき他の前記第1ノードが存在すると判定されると、新たな前記第1ノードを選択することを含み、
前記第2ノードの特徴量の更新値を算出することは、前記新たな第1ノードに接続されるエッジの前記エッジタイプに基づいて、前記新たな第1ノードにエッジを介して接続される新たな前記第2ノードの特徴量の更新値を算出することを含む、
項目1乃至4のいずれか一項に記載の情報処理方法。
[項目6]
前記第2ノードの特徴量の更新値を算出することは、選択された前記第1ノードに接続されるエッジの前記エッジタイプと前記第2ノードの特徴量とを引数とする第1関数にて、前記エッジを介して接続される前記第2ノードの特徴量を更新することを含み、
前記第1関数は、学習可能なニューラルネットワークで構成される、
項目1乃至5のいずれか一項に記載の情報処理方法。
[項目7]
選択された前記第1ノードの特徴量を更新することは、選択された前記第1ノードに接続されるすべてのエッジを介して接続されるすべての前記第2ノードの特徴量の更新値を引数とする第2関数にて、選択された前記第1ノードの特徴量を更新することを含み、
前記第2関数は、学習可能なニューラルネットワークで構成される、
項目1乃至6のいずれか一項に記載の情報処理方法。
[項目8]
選択された前記第1ノードの特徴量の更新値を引数とする第3関数にて前記第1ノードの属性を推定し、
前記第3関数は、学習可能なニューラルネットワークで構成される、
項目1乃至7のいずれか一項に記載の情報処理方法。
[項目9]
前記エッジタイプは、前記エッジの両端に接続される前記第1ノード及び前記第2ノードそれぞれの素子又は端子の種類を表す、
項目1乃至8のいずれか一項に記載の情報処理方法。
[項目10]
前記ノードは、前記電気回路の素子を含み、
前記エッジは、前記電気回路の2つの素子を接続する配線を含む、
項目1乃至9のいずれか一項に記載の情報処理方法。
[項目11]
前記ノードは、前記電気回路の素子及び配線を含み、
前記電気回路は、
複数の前記配線に接続される複数の前記素子を表す複数のノードを含む第1ノード群と、
前記複数の配線を表す複数のノードを含む第2ノード群と、
前記第1ノード群に含まれる任意のノードと、前記第2ノード群に含まれる任意のノードとを接続する複数のエッジと、を含む2部グラフで表される、
項目1乃至10のいずれか一項に記載の情報処理方法。
[項目12]
前記第1ノードの特徴量は、前記電気回路に含まれる素子の特性値と、前記電気回路に含まれる配線のインピーダンス値と、前記電気回路に含まれる配線の寄生成分との少なくとも一つを含む、
項目1乃至11のいずれか一項に記載の情報処理方法。
[項目13]
複数のノードと、前記複数のノードのうち任意の2つのノードを接続するエッジとを含むグラフ構造で表現される電気回路の前記複数のノードそれぞれの特徴量を更新する情報処理装置であって、
前記複数のノードそれぞれに接続されるエッジについて、前記エッジの両端の前記2つのノードの種類に応じて、前記エッジの種類を表すエッジタイプを特定するエッジタイプ特定部と、
前記複数のノードの中から、前記特徴量を更新する対象とする第1ノードを選択するノード選択部と、
選択された前記第1ノードに接続されるエッジの前記エッジタイプに基づいて、選択された前記第1ノードに前記エッジを介して接続される第2ノードの特徴量の更新値を算出する特徴量算出部と、
算出された前記第2ノードの特徴量の更新値に基づいて、前記第1ノードの特徴量を更新する特徴量更新部と、を備える、
情報処理装置。
【0065】
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【0066】
1 情報処理装置、2 電気回路、3 グラフデータ、10 グラフデータ生成部、11 エッジタイプ特定部、12 ノード選択部、13 特徴量算出部、14 特徴量更新部、22 入力装置、23 表示装置、24 記録装置、25 論理合成ツール、26 シミュレータ、27 配置配線ツール、28 回路特性更新ツール