Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7541902B2 - FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM - Google Patents
[go: Go Back, main page]

JP7541902B2 - FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM - Google Patents

FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM Download PDF

Info

Publication number
JP7541902B2
JP7541902B2 JP2020188448A JP2020188448A JP7541902B2 JP 7541902 B2 JP7541902 B2 JP 7541902B2 JP 2020188448 A JP2020188448 A JP 2020188448A JP 2020188448 A JP2020188448 A JP 2020188448A JP 7541902 B2 JP7541902 B2 JP 7541902B2
Authority
JP
Japan
Prior art keywords
gcn
netlist
nodes
learning
inference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020188448A
Other languages
Japanese (ja)
Other versions
JP2021089722A (en
Inventor
紘晃 安田
全広 飯田
太樹 尼崎
大輝 小山
裕一郎 藤城
寛人 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Engineering Co Ltd
Kumamoto University NUC
Original Assignee
Mitsubishi Electric Engineering Co Ltd
Kumamoto University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Engineering Co Ltd, Kumamoto University NUC filed Critical Mitsubishi Electric Engineering Co Ltd
Publication of JP2021089722A publication Critical patent/JP2021089722A/en
Application granted granted Critical
Publication of JP7541902B2 publication Critical patent/JP7541902B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

特許法第30条第2項適用 平成30年12月5日 サテライトキャンパスひろしま(広島県広島市中区大手町1丁目5-3)にて開催された、電子情報通信学会 VLSI設計技術研究会において公開Article 30, paragraph 2 of the Patent Act is applicable. December 5, 2018: Disclosed at the Institute of Electronics, Information and Communication Engineers' VLSI Design Technology Study Group held at the Hiroshima Satellite Campus (1-5-3 Otemachi, Naka-ku, Hiroshima City, Hiroshima Prefecture)

特許法第30条第2項適用 平成30年11月28日 ウェブサイト:https://www.ieice.org/ken/paper/20181205F1IC/にて公開された電子情報通信学会の信学技報において「グラフ畳み込みネットワークを用いたネットリスト機能推定の検討」として公開Article 30, paragraph 2 of the Patent Act applies November 28, 2018 Website: https://www.ieice.org/ken/paper/20181205F1IC/ Published as "Study on netlist function estimation using graph convolution network" in the IEICE Technical Report of the Institute of Electronics, Information and Communication Engineers.

本発明は、LSIの論理設計に係り、主にネットリストから設計情報およびハードウェア言語を生成するための搭載機能を備えた機能推定方法、機能推定装置、および機能推定プログラムに関する。 The present invention relates to the logical design of LSIs, and primarily relates to a function estimation method, a function estimation device, and a function estimation program that are equipped with built-in functions for generating design information and hardware language from a netlist.

半導体集積回路(以後、LSIと称す)の設計技術として、開発効率がよく、半導体ベンダにとらわれないハードウェア記述言語(HDL:Hardware Descripti-on Language)が用いられる場合がある。この場合には、HDLにより回路設計が行われた後に、回路に実装する部品の接続関係を表現するネットリストへ自動で変換する論理合成が用いられている。ここで、いわゆる論理合成が可能なHDL記述レベルは、レジスタトランスファレベル(以下、RTLと称す)と呼ばれる。 As a design technique for semiconductor integrated circuits (hereafter referred to as LSIs), a Hardware Description Language (HDL) may be used, which is efficient in development and not limited to semiconductor vendors. In this case, logic synthesis is used to automatically convert the circuit design using HDL into a netlist that describes the connections between the components to be implemented in the circuit. Here, the HDL description level at which logic synthesis is possible is called the register transfer level (hereafter referred to as RTL).

これに対し、RTLの存在しない過去の設計資産を活用する目的で、ネットリストに実装されている機能の抽出、あるいはネットリストをRTLへ変換する要望がある。しかしながら、半導体ベンダ毎に異なるネットリストを、単純な言語変換ではなく、記述を自動で抽象化し変換する技術までは確立されておらず、主に人手により、ドキュメントを参考にしながらネットリストの読解が行われていた。 In response to this, there is a demand to extract functions implemented in netlists or convert netlists to RTL, with the aim of utilizing past design assets for which RTL does not exist. However, technology has not yet been established to automatically abstract and convert descriptions, rather than simply converting the language, for the different netlists used by each semiconductor vendor, and so netlists are primarily read manually while referring to documentation.

この問題に対して、RTLに実装された機能を推定する方法がある(例えば、特許文献1参照)。特許文献1では、ニューラルネットワーク(以後、NNと称す)を用いて、判定機能の学習後に機能推定を行い、一致した機能の回路データを差し替える方法が紹介されている。 To address this issue, there is a method for estimating the functions implemented in RTL (see, for example, Patent Document 1). Patent Document 1 introduces a method that uses a neural network (hereafter referred to as NN) to learn a judgment function, then estimates the function and replaces the circuit data of the matching function.

特開平4-199369号公報Japanese Unexamined Patent Publication No. 4-199369

しかしながら、特許文献1では、変換ルールとして学習した機能の推定、および回路置き換えを対象にしている。従って、学習した機能が組み合わされた機能に対しての機能推定を行う仕組みはない。そのため、判定したい機能毎に、すべて手作業で学習させる必要がある。 However, in Patent Document 1, the focus is on estimating functions learned as conversion rules and circuit replacement. Therefore, there is no mechanism for estimating functions that are combinations of learned functions. Therefore, it is necessary to manually train each function to be judged.

本発明は、前記のような課題を解決するためになされたものであり、LSIのネットリストに対して、機能推定を効率的に実行することができる機能推定方法、機能推定装置、および機能推定プログラムを得ることを目的とする。 The present invention has been made to solve the above-mentioned problems, and aims to provide a function estimation method, a function estimation device, and a function estimation program that can efficiently perform function estimation on an LSI netlist.

本発明に係る機能推定方法は、グラフ構造を畳み込んだネットワークであるGraph Convolutional Networks(以降、GCNと称す)を用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定方法であって、GCN構成用パラメータ情報からネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理工程と、ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築したGCNクラス構成情報に応じてクラス分けを行うクラスタリング工程と、クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換工程と、管理工程および変換工程の処理結果に基づいて、機能の学習および推論を行う学習・推論工程とを有するものである。 The function estimation method according to the present invention is a function estimation method executed on a computer to extract functions implemented in a netlist used in the logic design of an LSI using Graph Convolutional Networks (hereinafter referred to as GCN), which are networks with a folded graph structure, and includes a management process for constructing GCN class configuration information for the netlist from GCN configuration parameter information, and managing the GCN function labels held within each constructed GCN class and the GCN binary tree configuration that determines the GCN inference order during inference; a clustering process for converting the netlist into a graph representation composed of nodes and edges, and classifying the netlist according to the measured number of nodes and the constructed GCN class configuration information; a conversion process for performing a complementation process to match the number of nodes in each classified class; and a learning and inference process for learning and inferring functions based on the processing results of the management process and the conversion process.

本発明に係る機能推定装置は、グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出する機能推定装置であって、GCN構成用パラメータ情報からネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理部と、ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築したGCNクラス構成情報に応じてクラス分けを行うクラスタリング部と、クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換部と、管理部および変換部の処理結果に基づいて、機能の学習および推論を行う学習・推論部とを有するものである。 The function estimation device according to the present invention is a function estimation device that uses a GCN, which is a network with a folded graph structure, to extract functions implemented in a netlist used in the logical design of an LSI. The device has a management unit that constructs GCN class configuration information for the netlist from parameter information for GCN configuration, and manages the GCN function labels held within each constructed GCN class and the GCN binary tree configuration that determines the GCN inference order during inference, a clustering unit that converts the netlist into a graph representation composed of nodes and edges, and performs classification according to the measured number of nodes and the constructed GCN class configuration information, a conversion unit that executes a complementation process to match the number of nodes in each classified class, and a learning and inference unit that learns and infers functions based on the processing results of the management unit and the conversion unit.

本発明に係る機能推定プログラムは、グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定プログラムであって、コンピュータを、GCN構成用パラメータ情報からネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理手段と、ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築したGCNクラス構成情報に応じてクラス分けを行うクラスタリング手段と、クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換手段と、管理手段および変換手段の処理結果に基づいて、機能の学習および推論を行う学習・推論手段として機能させるものである。 The function estimation program of the present invention is a function estimation program executed on a computer to extract functions implemented in a netlist used in the logic design of an LSI using a GCN, which is a network with a folded graph structure, and causes the computer to function as a management means for constructing GCN class configuration information of the netlist from GCN configuration parameter information, and for each constructed GCN class, managing the GCN function labels held within the class and the GCN binary tree configuration that determines the GCN inference order during inference, a clustering means for converting the netlist into a graph representation composed of nodes and edges, and classifying according to the measured number of nodes and the constructed GCN class configuration information, a conversion means for executing a complementation process to match the number of nodes in each classified class, and a learning and inference means for learning and inferring functions based on the processing results of the management means and the conversion means.

本発明により、大規模で複雑なネットリスト、またはドキュメントの存在しないネットリストにおいても、機能推定が効率的に実行できる。 The present invention enables efficient function estimation even for large, complex netlists or netlists for which no documentation exists.

本発明の実施の形態1におけるLSIネットリスト用の搭載機能を推定するためのプログラムが備える機能構成を示した図である。1 is a diagram showing a functional configuration of a program for estimating implemented functions for an LSI netlist according to the first embodiment of the present invention; 本発明の実施の形態1における、ネットリストの回路規模によるGCNクラス構成構築方法を示した図である。1 is a diagram showing a method for constructing a GCN class configuration based on the circuit scale of a netlist in the first embodiment of the present invention. FIG. 本発明の実施の形態1における、GCNでの機能推定時に機能判定の順序を決定する2分木構成を示した図である。1 is a diagram showing a binary tree structure for determining the order of function determination during function estimation in a GCN in accordance with the first embodiment of the present invention. FIG. 本発明の実施の形態1における、ネットリストをグラフ表現として変換した図である。FIG. 2 is a diagram showing a netlist converted into a graph representation in the first embodiment of the present invention. 本発明の実施の形態1におけるGCN構成管理部で実行される一連処理を示したフローチャートである。4 is a flowchart showing a series of processes executed by a GCN configuration management unit in the first embodiment of the present invention. 本発明の実施の形態1における、GCN構成用パラメータ情報によるGCNクラス構成の違いを示した図である。1 is a diagram showing differences in GCN class configurations based on GCN configuration parameter information in the first embodiment of the present invention. FIG. 本発明の実施の形態1におけるノード数クラスタリング部で実行される一連処理を示したフローチャートである。11 is a flowchart showing a series of processes executed by a node number clustering unit in the first embodiment of the present invention. 本発明の実施の形態1におけるネットリスト行列変換部で実行される一連処理を示したフローチャートである。4 is a flowchart showing a series of processes executed by a netlist matrix conversion unit in the first embodiment of the present invention. 本発明の実施の形態1における特徴ベクトル行列Xの変換例を示した図である。FIG. 4 is a diagram showing an example of conversion of a feature vector matrix X in the first embodiment of the present invention. 本発明の実施の形態1における接続行列Aの変換例を示した図である。FIG. 11 is a diagram showing an example of conversion of a connection matrix A in the first embodiment of the present invention. 本発明の実施の形態1における正解ラベル行列Yの変換例を示した図である。FIG. 11 is a diagram showing an example of conversion of a correct label matrix Y in the first embodiment of the present invention. 本発明の実施の形態1における学習・推論部で実行される一連処理を示したフローチャートである。4 is a flowchart showing a series of processes executed by a learning/inference unit in the first embodiment of the present invention. 本発明の実施の形態1における学習データの追加例を示した図である。FIG. 4 is a diagram showing an example of adding learning data in the first embodiment of the present invention. 本発明の実施の形態1における学習データの追加例を示した図である。FIG. 4 is a diagram showing an example of adding learning data in the first embodiment of the present invention. 本発明の実施の形態1における学習・推論部による学習用行列自動生成の例を示した図である。4 is a diagram showing an example of automatic generation of a learning matrix by a learning/inference unit in embodiment 1 of the present invention. FIG. 本発明の実施の形態1ですでに説明したGCNによる、ノードとノードの接続関係を表すためのグラフ表現および隣接行列を示した図である。1 is a diagram showing a graph representation and an adjacency matrix for representing the connection relationship between nodes in the GCN already described in the first embodiment of the present invention. FIG. 本発明の実施の形態2で説明するR-GCNによる、ノードとノードの接続関係を表すためのグラフ表現および隣接行列を示した図である。11 is a diagram showing a graph representation and an adjacency matrix for representing the connection relationship between nodes in an R-GCN described in a second embodiment of the present invention. 本発明の実施の形態2におけるネットリスト行列変換部で実行される一連処理を示したフローチャートである。13 is a flowchart showing a series of processes executed by a netlist matrix conversion unit in the second embodiment of the present invention.

以下、本発明の機能推定方法、機能推定装置、および機能推定プログラムの好適な実施の形態につき、図面を用いて説明する。特に、本発明は、NNの一種であり、グラフ構造を畳み込んだネットワークである、GCN、またはRelational Graph Convolutional Networks(以降、R-GCNと称す)を用いて、LSIネットリストに実装されている機能の推定を効率的に行うことを特徴としている。GCNを用いる場合について、実施の形態1で詳述し、R-GCNを用いる場合について、実施の形態2で詳述する。 Below, preferred embodiments of the function estimation method, function estimation device, and function estimation program of the present invention will be described with reference to the drawings. In particular, the present invention is characterized by efficiently estimating functions implemented in an LSI netlist using GCN or Relational Graph Convolutional Networks (hereinafter referred to as R-GCN), which is a type of NN and a network with a folded graph structure. The case where GCN is used will be described in detail in embodiment 1, and the case where R-GCN is used will be described in detail in embodiment 2.

実施の形態1.
図1は、本発明の実施の形態1におけるLSIネットリスト用の搭載機能を推定するためのプログラムが備える機能構成を示した図である。図1に示すように、入力データとして、GCN構成用パラメータ情報1と、学習または推論用のネットリスト2と、学習時にネットリストの機能識別タグとして入力し、推論時に推論候補となる機能ラベル情報3と、学習用または推論用のLSIデバイス固有のスタンダードセル情報4がある。
Embodiment 1.
1 is a diagram showing a functional configuration of a program for estimating on-chip functions for an LSI netlist in the first embodiment of the present invention. As shown in Fig. 1, input data includes GCN configuration parameter information 1, a learning or inference netlist 2, function label information 3 that is input as a function identification tag of the netlist during learning and becomes an inference candidate during inference, and standard cell information 4 specific to an LSI device for learning or inference.

本実施の形態1に係るプログラムは、図1に示したように、GCN構成用パラメータ情報1より、GCNクラス構成および各クラス内のGCN2分木構成を管理するGCN構成管理部5と、ネットリスト内の複合ゲートおよびその接続関係をノードとエッジとして置き換えて、ネットリスト内のノード数に応じてクラス分類を行うノード数クラスタリング部6と、GCN内部演算用のネットリスト行列変換部7と、機能を学習する学習・推論部8にて構成されている。そして、本実施の形態1に係るプログラムは、推論時に一致した機能ラベル名または機能なしを推論結果9として出力するように、コンピュータ上で実行される。 As shown in FIG. 1, the program according to the first embodiment is composed of a GCN configuration management unit 5 that manages the GCN class configuration and the GCN binary tree configuration within each class based on the GCN configuration parameter information 1, a node number clustering unit 6 that replaces the composite gates and their connection relationships in the netlist as nodes and edges to perform class classification according to the number of nodes in the netlist, a netlist matrix conversion unit 7 for GCN internal calculations, and a learning and inference unit 8 that learns functions. The program according to the first embodiment is then executed on a computer so as to output the function label name that matches during inference or the absence of a function as an inference result 9.

次に、図1に示した各機能構成について個別に説明する。
GCN構成管理部5は、入力されたGCN構成用パラメータ情報1からネットリストの回路規模よるクラスを構築する。また、GCN構成管理部5は、構築したクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する。なお、GCN構成管理部5は、ネットリスト入力時に、機能ラベル情報3が入力されれば学習処理として動作し、機能ラベル情報3が入力されなければ推論処理として動作する。
Next, each of the functional components shown in FIG. 1 will be described individually.
The GCN configuration management unit 5 constructs classes according to the circuit scale of the netlist from the input GCN configuration parameter information 1. The GCN configuration management unit 5 also manages the GCN function labels held in each constructed class and the GCN binary tree configuration that determines the GCN inference order during inference. If function label information 3 is input when the netlist is input, the GCN configuration management unit 5 operates as a learning process, and if function label information 3 is not input, it operates as an inference process.

まず、クラス管理について説明する。図2は、本発明の実施の形態1における、ネットリストの回路規模によるGCNクラス構成構築方法を示した図である。GCN構成用パラメータ情報1は、3種のパラメータを指定することで、図2に示すとおり、最下位クラス11、上位クラス12および13として、GCNのクラス階層を構築する。ネットリストの回路規模により、推論処理するGCNを分類するために、パラメータP1(以後、P1と称す)として、管理するクラスの数が入力される。 First, class management will be explained. Figure 2 is a diagram showing a method for constructing a GCN class configuration based on the circuit scale of the netlist in embodiment 1 of the present invention. GCN configuration parameter information 1 specifies three types of parameters, and constructs a GCN class hierarchy as shown in Figure 2, with a lowest class 11 and higher classes 12 and 13. In order to classify the GCN to be inferred based on the circuit scale of the netlist, the number of classes to be managed is input as parameter P1 (hereinafter referred to as P1).

また、下位クラスの機能ラベルを組み合わせた機能ラベルを自動生成する機能を有しており、自動生成を行うために、パラメータP2(以後、P2と称す)として、最下位クラス11の最大ノード数、パラメータP3(以後、P3と称す)として、最下位クラス11の機能の組み合わせ数が入力される。 It also has a function to automatically generate function labels that combine function labels of lower classes. To perform this automatic generation, the maximum number of nodes in the lowest class 11 is input as parameter P2 (hereafter referred to as P2), and the number of combinations of functions in the lowest class 11 is input as parameter P3 (hereafter referred to as P3).

次に、機能ラベルについて説明する。機能ラベルは、学習時にユーザにより正解情報として与えられる場合と、学習・推論部8にて自動生成されて通知される場合とがある。機能ラベルは、GCNが推論する機能として、1つのGCNにつき、1つの機能を定義する。 Next, we will explain function labels. Function labels may be provided by the user as correct answer information during learning, or they may be automatically generated and notified by the learning and inference unit 8. Function labels define one function per GCN as a function to be inferred by the GCN.

次に、2分木構成管理について説明する。図3は、本発明の実施の形態1における、GCNでの機能推定時に機能判定の順序を決定する2分木構成を示した図である。GCNのクラス内で複数の機能ラベルを保有する場合には、各機能ラベルを判定するGCNが機能ラベルの数だけ存在する。そのため、GCN構成管理部5は、推論時においては、これら複数のGCNの判定順序を管理する必要がある。 Next, we will explain binary tree configuration management. Figure 3 is a diagram showing a binary tree configuration that determines the order of function judgment during function estimation in a GCN in embodiment 1 of the present invention. When multiple function labels are held within a GCN class, there are as many GCNs that judge each function label as there are function labels. Therefore, the GCN configuration management unit 5 needs to manage the judgment order of these multiple GCNs during inference.

そこで、GCN構成管理部5は、GCNを2分木として管理する。具体的には、GCN構成管理部5は、木の頂点に位置するGCNから機能推定を行い、機能ありと判定した場合には推定終了とし、機能なしと判定した場合には子のGCNで機能推定を行う構成として、GCNを2分木として管理する。 The GCN configuration management unit 5 manages the GCN as a binary tree. Specifically, the GCN configuration management unit 5 performs function estimation from the GCN located at the top of the tree, and ends the estimation if it is determined that the function is present, and manages the GCN as a binary tree in such a configuration that function estimation is performed on a child GCN if it is determined that the function is not present.

そして、GCN構成管理部5は、学習時には、ユーザより与えられた機能ラベルが新規ラベルか否かの判定を行う。判定の結果、機能ラベルが新規ラベルであった場合、または学習・推論部8からGCNの自動生成通知が入力された場合には、GCN構成管理部5は、GCN2分木構成の頂点にGCNを追加する。 During learning, the GCN configuration management unit 5 determines whether the functional label provided by the user is a new label. If the result of the determination is that the functional label is a new label, or if a notification of automatic generation of a GCN is input from the learning/inference unit 8, the GCN configuration management unit 5 adds the GCN to the apex of the GCN binary tree configuration.

一方、推論時には、GCN構成管理部5は、学習・推論部8へ該当クラスのGCN2分木構成情報を出力する。学習・推論部8は、機能ありと判定した場合には、その時点の機能ラベル一致として推論終了し、機能なしと判定した場合には、子に位置するGCNへ切り替えて機能推定を行う。 On the other hand, during inference, the GCN configuration management unit 5 outputs the GCN binary tree configuration information of the corresponding class to the learning and inference unit 8. If the learning and inference unit 8 determines that the function is present, it ends the inference as the functional label at that time matches, and if it determines that the function is not present, it switches to the GCN located in the child and performs function estimation.

ノード数クラスタリング部6は、ネットリスト2をノードおよびエッジから構成されるグラフ表現に変換する。また、ノード数クラスタリング部6は、計測したノード数と、GCN構成管理部5からのGCNクラス構成情報から、クラス分類判定を行う。 The node number clustering unit 6 converts the netlist 2 into a graph representation consisting of nodes and edges. The node number clustering unit 6 also performs class classification judgment based on the measured node count and the GCN class configuration information from the GCN configuration management unit 5.

図4は、本発明の実施の形態1における、ネットリストをグラフ表現として変換した図である。図4に示すように、ノード数クラスタリング部6は、ネットリスト内の複合ゲートをノードとして、各複合ゲート間の接続をエッジとして、グラフ表現する。 Figure 4 is a diagram showing the netlist converted into a graph representation in the first embodiment of the present invention. As shown in Figure 4, the node number clustering unit 6 creates a graph representation in which the composite gates in the netlist are represented as nodes, and the connections between each composite gate are represented as edges.

ノードは、RTLからネットリストへの論理合成時に使用するスタンダードセル情報から作成される。このとき、回路構成が等しく、ドライブ能力のみが異なるものは、同一機能であるため、同じノード種類として扱われる。 Nodes are created from standard cell information used during logic synthesis from RTL to netlist. At this time, nodes that have the same circuit configuration and differ only in drive capacity are treated as the same node type because they have the same function.

ノード数クラスタリング部6は、スタンダードセル情報から分類されるノードの種類情報と、グラフ表現したネットリストとを、ネットリスト行列変換部7へ出力する。また、ノード数クラスタリング部6は、GCN構成管理部5から取得したクラス階層情報から、クラス分けを行い、判定結果を学習・推論部8へ通知する。 The node number clustering unit 6 outputs node type information classified from the standard cell information and a graph-represented netlist to the netlist matrix conversion unit 7. The node number clustering unit 6 also performs classification based on the class hierarchy information acquired from the GCN configuration management unit 5, and notifies the learning and inference unit 8 of the judgment result.

ネットリスト行列変換部7は、ノード数クラスタリング部6から入力したグラフ表現より、特徴ベクトル行列X、隣接行列A、正解ラベル行列Yを作成する。 The netlist matrix conversion unit 7 creates a feature vector matrix X, an adjacency matrix A, and a correct label matrix Y from the graph representation input from the node count clustering unit 6.

ネットリスト行列変換部7は、ネットリスト内の各ノードにおける複合ゲートの種別を特徴ベクトル行列Xとして表現する。具体的には、ネットリスト行列変換部7は、ノードを行、複合ゲートを列として表現し、行数は各クラスの最大ノード数、列数は複合ゲート数として作成する。 The netlist matrix conversion unit 7 expresses the type of composite gate at each node in the netlist as a feature vector matrix X. Specifically, the netlist matrix conversion unit 7 expresses nodes as rows and composite gates as columns, creating the number of rows as the maximum number of nodes in each class and the number of columns as the number of composite gates.

また、ネットリスト行列変換部7は、ネットリスト内の各ノードにおける接続関係を隣接行列Aとして表現する。具体的には、ネットリスト行列変換部7は、ノードを行、列として表現し、接続関係にあるノードを1、それ以外を0として表現する。 The netlist matrix conversion unit 7 also expresses the connection relationships at each node in the netlist as an adjacency matrix A. Specifically, the netlist matrix conversion unit 7 expresses the nodes as rows and columns, and expresses nodes in a connection relationship as 1 and other nodes as 0.

さらに、ネットリスト行列変換部7は、ネットリスト内の各ノードにおけるGCNの判定結果をラベルデータ行列Yとして表現する。具体的には、ネットリスト行列変換部7は、GCN構成管理部5より学習時と通知された場合にはラベルデータ行列Yを作成し、推論時と通知された場合にはラベルデータ行列Yを作成しない。 Furthermore, the netlist matrix conversion unit 7 expresses the GCN judgment result at each node in the netlist as a label data matrix Y. Specifically, the netlist matrix conversion unit 7 creates the label data matrix Y when notified by the GCN configuration management unit 5 that it is learning time, and does not create the label data matrix Y when notified that it is inference time.

学習・推論部8は、機能の学習および推論を行う。学習時において、GCN構成管理部5から既存機能の通知があった場合には、学習・推論部8は、通知されたGCNに対して、特徴ベクトル行列X、隣接行列A、正解ラベル行列Yを入力して、GCN内部の重みパラメータを更新する。 The learning and inference unit 8 learns and infers functions. During learning, if the GCN configuration management unit 5 notifies the learning and inference unit 8 of an existing function, the learning and inference unit 8 inputs the feature vector matrix X, the adjacency matrix A, and the correct label matrix Y to the notified GCN, and updates the weight parameters within the GCN.

また、GCN構成管理部5から新規機能の通知があった場合には、学習・推論部8は、新規のGCNを作成する。学習後にノード数クラスタリング部6で分類されたクラス内の既存機能との組み合わせ機能として、新たなGCNを作成可能であった場合には、学習・推論部8は、GCNを自動生成し、機能ラベル情報をGCN構成管理部5へ通知する。 When a new function is notified from the GCN configuration management unit 5, the learning and inference unit 8 creates a new GCN. If a new GCN can be created as a combined function with an existing function in the class classified by the node count clustering unit 6 after learning, the learning and inference unit 8 automatically generates the GCN and notifies the GCN configuration management unit 5 of the function label information.

また、学習・推論部8は、推論時には、特徴ベクトル行列X、隣接行列Aを入力して機能の判定結果である出力行列Zを得る。具体的には、学習・推論部8は、ノードを行として表現し、機能あり、機能なしの判定結果を列として表現し、
{機能ありの判定結果を持つノード数 ≧ 機能ありの判定結果を持つノード数}
が成立した場合、判定した機能ありとする。
During inference, the learning and inference unit 8 inputs the feature vector matrix X and the adjacency matrix A to obtain an output matrix Z that is a function determination result. Specifically, the learning and inference unit 8 expresses nodes as rows, and the determination results of whether or not a function is present as columns,
{Number of nodes with the judgement result that the function is present ≧ Number of nodes with the judgement result that the function is present}
If the above is true, it is determined that the determined function is present.

一方、判定した機能なしの場合、学習・推論部8は、クラス内のGCN2分木構成に従い判定を継続し、全て一致しない場合に該当機能なしを出力する。 On the other hand, if the function is determined to be absent, the learning and inference unit 8 continues the judgment according to the GCN binary tree structure within the class, and if there is no match, outputs that the corresponding function does not exist.

次に、図1の各ブロックに対する処理フローを用いて、ここまで説明したプログラム内の処理を説明する。 Next, we will explain the processing within the program explained so far using the processing flow for each block in Figure 1.

図5は、本発明の実施の形態1におけるGCN構成管理部5で実行される一連処理を示したフローチャートである。この図5を用いて、図1のGCN構成管理部5の処理の流れを説明する。 Figure 5 is a flowchart showing a series of processes executed by the GCN configuration management unit 5 in embodiment 1 of the present invention. The flow of processes of the GCN configuration management unit 5 in Figure 1 will be explained using this Figure 5.

ステップS100において、GCN構成管理部5は、ネットリストの機能ラベル情報3、またはクラスのGCN構成用パラメータ情報1を入力する。 In step S100, the GCN configuration management unit 5 inputs the netlist's function label information 3 or the class's GCN configuration parameter information 1.

次に、ステップS101において、GCN構成管理部5は、GCNクラス構成を更新するとともに、ステップS100で入力された各クラスのノード数情報からクラスを設定し、ノード数クラスタリング部6へ、クラス設定を通知する。 Next, in step S101, the GCN configuration management unit 5 updates the GCN class configuration, sets the class from the node count information of each class input in step S100, and notifies the node count clustering unit 6 of the class setting.

図6は、本発明の実施の形態1における、GCN構成用パラメータ情報によるGCNクラス構成の違いを示した図である。図6に示した各クラスは、ノード数でクラス分類を行っている。GCNで演算を行うためには、ノード数を一致させる必要がある。そこで、ネットリスト行列変換部7は、入力したネットリストのノード数から、分類されたクラスの最大ノード数まで、行列の補完処理を行う。 Figure 6 shows the difference in GCN class configuration according to GCN configuration parameter information in the first embodiment of the present invention. Each class shown in Figure 6 is classified by the number of nodes. In order to perform calculations in GCN, the number of nodes must match. Therefore, the netlist matrix conversion unit 7 performs a matrix complement process from the number of nodes in the input netlist to the maximum number of nodes in the classified class.

また、学習・推論部8は、下位クラスの機能ラベルを組み合わせた機能ラベルを自動生成する機能を有している。そして、学習・推論部8は、組み合わせる機能のノードを再度ナンバリングすることで、機能ラベルの自動生成を実現する。 The learning and inference unit 8 also has a function of automatically generating a function label that combines the function labels of lower classes. The learning and inference unit 8 then realizes the automatic generation of function labels by renumbering the nodes of the functions to be combined.

そのため、自動生成する行列の最大ノード数は、
{最下位クラスの最大ノード数(P2)×組み合わせ機能数(P3)}
となる。そこで、GCN構成管理部5は、上位クラスでGCNの演算を行うために、GCN構成用パラメータ情報1を入力する。
Therefore, the maximum number of nodes in an automatically generated matrix is
{Maximum number of nodes in the lowest class (P2) × number of combined functions (P3)}
Therefore, the GCN configuration management unit 5 inputs the GCN configuration parameter information 1 in order to perform GCN calculations in the higher class.

次に、ステップS102において、GCN構成管理部5は、学習または推論の判定を行う。GCN構成管理部5は、ステップS100で機能ラベル情報3が入力された場合には、学習と判定し、何も入力されない場合には、推論と判定する。GCN構成管理部5は、学習と判定した場合には、ネットリスト行列変換部7へ学習処理を実行すべきことを通知する。 Next, in step S102, the GCN configuration management unit 5 judges whether learning or inference is to be performed. If the function label information 3 is input in step S100, the GCN configuration management unit 5 judges it as learning, and if nothing is input, it judges it as inference. If the GCN configuration management unit 5 judges it as learning, it notifies the netlist matrix conversion unit 7 that it should perform a learning process.

ステップS102において、GCN構成管理部5は、学習と判定した場合にはステップS103の処理に進み、推論と判定したにはステップS108の処理に進む。 In step S102, if the GCN configuration management unit 5 determines that learning has occurred, it proceeds to processing in step S103, and if it determines that inference has occurred, it proceeds to processing in step S108.

ステップS103に進んだ場合には、GCN構成管理部5は、ノード数クラスタリング部6によって入力されたクラス分類結果に基づくクラスごとの機能ラベルと、ステップS100で取得済みの機能ラベル情報3により特定される機能ラベルとの比較結果に基づいて、新規機能判定を行う。 When the process proceeds to step S103, the GCN configuration management unit 5 performs a new function determination based on the comparison result between the function label for each class based on the class classification result input by the node count clustering unit 6 and the function label identified by the function label information 3 already acquired in step S100.

GCN構成管理部5は、両者の機能ラベルが一致しない比較結果を得た場合には、新規機能であると判定し、ステップS104の処理に進む。一方、GCN構成管理部5は、両者の機能ラベルが一致する比較結果を得た場合には、新規機能でないと判定し、ステップS107の処理に進む。 If the GCN configuration management unit 5 obtains a comparison result in which the function labels of both do not match, it determines that it is a new function and proceeds to processing in step S104. On the other hand, if the GCN configuration management unit 5 obtains a comparison result in which the function labels of both match, it determines that it is not a new function and proceeds to processing in step S107.

ステップS104に進んだ場合には、GCN構成管理部5は、学習・推論部8へ学習指示および新規機能の通知を行う。 If the process proceeds to step S104, the GCN configuration management unit 5 issues a learning instruction and notifies the learning/inference unit 8 of the new function.

次に、ステップS105において、GCN構成管理部5は、学習・推論部8で追加されたGCNの情報を、学習・推論部8から取得する。 Next, in step S105, the GCN configuration management unit 5 obtains information about the GCN added by the learning and inference unit 8 from the learning and inference unit 8.

次に、ステップS106において、GCN構成管理部5は、追加したGCNを2分木構成の頂点の位置に反映する。GCN構成管理部5は、機能のあり/なしを判定するGCNを2分木構成で持つことにより、推論で入力した機能が学習済みの機能として存在しないことが判定可能となる。この場合には、入力した機能の学習データを用意することで、容易に判定機能の追加が可能となる。 Next, in step S106, the GCN configuration management unit 5 reflects the added GCN at the apex position of the binary tree configuration. By having a GCN that determines whether a function exists or not in a binary tree configuration, the GCN configuration management unit 5 can determine that the function input by inference does not exist as a learned function. In this case, by preparing learning data for the input function, it is possible to easily add a judgment function.

一方、ステップS103からステップS107に進んだ場合には、GCN構成管理部5は、学習・推論部8へ機能ラベルの学習指示を通知する。 On the other hand, if the process proceeds from step S103 to step S107, the GCN configuration management unit 5 notifies the learning and inference unit 8 of an instruction to learn the functional labels.

また、ステップS102からステップS108に進んだ場合には、GCN構成管理部5は、ノード数クラスタリング部6より入力されたクラス情報をもとに、該当クラスのGCNクラス構成情報の通知を行う。 Also, when the process proceeds from step S102 to step S108, the GCN configuration management unit 5 notifies the GCN class configuration information of the corresponding class based on the class information input from the node count clustering unit 6.

次に、図1のノード数クラスタリング部6の処理の流れを説明する。図7は、本発明の実施の形態1におけるノード数クラスタリング部6で実行される一連処理を示したフローチャートである。 Next, we will explain the process flow of the node number clustering unit 6 in Figure 1. Figure 7 is a flowchart showing a series of processes executed by the node number clustering unit 6 in embodiment 1 of the present invention.

ノード数クラスタリング部6は、ユーザに指定された学習または推論用のネットリスト2、LSIデバイス固有のスタンダードセル情報4、およびGCN構成管理部5よりクラス単位でのノード数情報を指定したGCN構成情報を入力する。ノード数クラスタリング部6は、使用するスタンダードセル情報により複合ゲートの構成が異なりノード数が変化することも考慮して、ノード数を指示することにより、適切に分類を行うことが可能となる。 The node number clustering unit 6 inputs the learning or inference netlist 2 specified by the user, the standard cell information 4 specific to the LSI device, and the GCN configuration information that specifies the node number information on a class basis from the GCN configuration management unit 5. The node number clustering unit 6 is able to perform appropriate classification by specifying the number of nodes, taking into consideration that the configuration of the composite gate differs depending on the standard cell information used, resulting in a change in the number of nodes.

ステップS200において、ノード数クラスタリング部6は、回路データのネットリスト2における複合ゲートをノードとして表現し、各複合ゲート間の接続をエッジとして表現するように、ノード変換を行う。 In step S200, the node number clustering unit 6 performs node conversion so that the composite gates in the netlist 2 of the circuit data are represented as nodes and the connections between each composite gate are represented as edges.

ノードは、論理合成に用いるスタンダードセル情報4から作成することができる。スタンダードセル情報4には、複合ゲート種別の他に、回路のドライブ能力によって識別番号が与えられている。機能推定にあたっては、回路のドライブ能力は不要である。そこで、ノード数クラスタリング部6は、同一の入出力を持ち、ドライブ能力が異なる複合ゲートを、同一のノードとする変換テーブルを作成する。 Nodes can be created from standard cell information 4 used for logic synthesis. In addition to the composite gate type, the standard cell information 4 also includes an identification number that is assigned based on the drive capacity of the circuit. The drive capacity of the circuit is not required for function estimation. Therefore, the node number clustering unit 6 creates a conversion table that treats composite gates that have the same input/output but different drive capacities as the same node.

さらに、ノード数クラスタリング部6は、変換テーブルに従い、複合ゲート単位でノードに変換し、各ノード間をエッジとしてナンバリングを行う。 Furthermore, the node number clustering unit 6 converts the nodes into compound gate units according to a conversion table, and performs numbering by treating the edges between each node.

次に、ステップS201において、ノード数クラスタリング部6は、ナンバリングしたノード数の計測を行う。 Next, in step S201, the node count clustering unit 6 measures the number of numbered nodes.

次に、ステップS202において、ノード数クラスタリング部6は、計測したノード数と、GCN構成管理部5より入力されたクラス単位でのノード数情報とから、クラス判定を行うことでクラス分けを行う。同時に、ノード数クラスタリング部6は、該当クラスの最大ノード数を取得し、ネットリスト行列変換部7およびGCN構成管理部5に最大ノード数を通知する。 Next, in step S202, the node number clustering unit 6 performs class determination based on the measured node number and the node number information for each class input from the GCN configuration management unit 5, thereby classifying the nodes. At the same time, the node number clustering unit 6 obtains the maximum number of nodes for the corresponding class, and notifies the netlist matrix conversion unit 7 and the GCN configuration management unit 5 of the maximum number of nodes.

次に、図1のネットリスト行列変換部7の処理の流れを説明する。図8は、本発明の実施の形態1におけるネットリスト行列変換部7で実行される一連処理を示したフローチャートである。 Next, we will explain the process flow of the netlist matrix conversion unit 7 in Figure 1. Figure 8 is a flowchart showing a series of processes executed by the netlist matrix conversion unit 7 in embodiment 1 of the present invention.

ステップS300において、ネットリスト行列変換部7は、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行として、スタンダードセル情報4から生成した変換テーブル上の複合ゲート種類数に該当なしを表現する1列を追加した数を列として、特徴ベクトル行列Xを作成する。 In step S300, the netlist matrix conversion unit 7 creates a feature vector matrix X by using the maximum number of nodes for the class notified by the node number clustering unit 6 as rows and an additional column representing no match for the number of composite gate types on the conversion table generated from the standard cell information 4 as columns.

図9は、本発明の実施の形態1における特徴ベクトル行列Xの変換例を示した図である。特徴ベクトル行列Xは、ノード毎の複合ゲート種別を表現する。そこで、ネットリスト行列変換部7は、特徴ベクトル行列Xを作成するに当たり、図9に示すとおり、行列内の各行においては、1つだけ1を設定し、残りの要素は0を設定することになる。また、ネットリスト行列変換部7は、列要素の該当なしについては、分類したクラスにおいて入力したネットリストのノード数以上のノード数番号に対して、1を設定する。 Figure 9 is a diagram showing an example of conversion of feature vector matrix X in embodiment 1 of the present invention. Feature vector matrix X represents the composite gate type for each node. Therefore, when creating feature vector matrix X, as shown in Figure 9, netlist matrix conversion unit 7 sets only one 1 in each row of the matrix, and sets the remaining elements to 0. In addition, for column elements that are not applicable, netlist matrix conversion unit 7 sets 1 to the node number numbers that are equal to or greater than the number of nodes in the input netlist in the classified class.

次に、ステップS301において、ネットリスト行列変換部7は、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行および列として、隣接行列Aを作成する。 Next, in step S301, the netlist matrix conversion unit 7 creates an adjacency matrix A with the maximum number of nodes in the class notified by the node number clustering unit 6 as rows and columns.

図10は、本発明の実施の形態1における接続行列Aの変換例を示した図である。ネットリスト行列変換部7は、接続行列Aを作成するに当たり、図10に示すとおり、各行に対して接続されるノード番号の要素に対して1を設定し、残りの要素は0を設定することになる。接続行列Aは、特徴ベクトル行列Xとは異なり、接続関係を表現するので、2つ以上の要素を1とする場合もある。 Figure 10 is a diagram showing an example of conversion of the connection matrix A in the first embodiment of the present invention. When creating the connection matrix A, the netlist matrix conversion unit 7 sets the elements of the node numbers connected to each row to 1, as shown in Figure 10, and sets the remaining elements to 0. Unlike the feature vector matrix X, the connection matrix A expresses the connection relationships, so there are cases where two or more elements are set to 1.

次に、ステップS302において、ネットリスト行列変換部7は、GCN構成管理部5から通知された学習指示または推論指示に従った処理を行う。学習指示を通知された場合には、ステップS303に進み、ネットリスト行列変換部7は、ラベルデータ行列Yを作成する。 Next, in step S302, the netlist matrix conversion unit 7 performs processing according to the learning instruction or inference instruction notified by the GCN configuration management unit 5. If a learning instruction is notified, the process proceeds to step S303, where the netlist matrix conversion unit 7 creates a label data matrix Y.

ラベルデータ行列Yは、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行として、各ノード単位で機能あり/なしを列として、表現される。図11は、本発明の実施の形態1における正解ラベル行列Yの変換例を示した図である。図11に示すとおり、機能単位でネットリストを学習するため、ネットリスト行列変換部7は、全ノードに対して機能ありの正解ラベルをもつラベルデータ行列Yを作成する。 The label data matrix Y is expressed with the maximum number of nodes in the class notified by the node number clustering unit 6 as rows, and with/without function for each node as columns. Figure 11 is a diagram showing an example of conversion of the correct answer label matrix Y in embodiment 1 of the present invention. As shown in Figure 11, in order to learn the netlist in function units, the netlist matrix conversion unit 7 creates a label data matrix Y with a correct answer label of with function for all nodes.

次に、図1の学習・推論部8の処理の流れを説明する。図12は、本発明の実施の形態1における学習・推論部8で実行される一連処理を示したフローチャートである。 Next, we will explain the process flow of the learning and inference unit 8 in Figure 1. Figure 12 is a flowchart showing a series of processes executed by the learning and inference unit 8 in embodiment 1 of the present invention.

ステップS400において、学習・推論部8は、GCN構成用パラメータ情報1を取得する。 In step S400, the learning/inference unit 8 acquires parameter information 1 for GCN configuration.

次に、ステップS401において、学習・推論部8は、GCN構成管理部5から通知された指示が、学習指示または推論指示のいずれであるかを判定する。そして、学習・推論部8は、学習指示が通知された場合には、ステップS402に進み、推論指示が通知された場合には、ステップS406に進む。 Next, in step S401, the learning/inference unit 8 determines whether the instruction notified from the GCN configuration management unit 5 is a learning instruction or an inference instruction. If a learning instruction is notified, the learning/inference unit 8 proceeds to step S402, and if an inference instruction is notified, the learning/inference unit 8 proceeds to step S406.

ステップS402に進んだ場合には、学習・推論部8は、GCN構成管理部5から通知された学習データが新規機能であるか否かを判定する。新規機能と判定した場合にはステップS403に進み、学習・推論部8は、GCNを新規追加する。 When the process proceeds to step S402, the learning and inference unit 8 determines whether the learning data notified by the GCN configuration management unit 5 is a new function. If it is determined that the learning data is a new function, the process proceeds to step S403, where the learning and inference unit 8 adds a new GCN.

図13および図14は、本発明の実施の形態1における学習データの追加例を示した図である。具体的には、図13および図14では、GCN構成管理部5がGCN構成用パラメータ情報1を、P1=2、P2=100、P3=2として、クラスを構成している場合を例示している。 Figures 13 and 14 show an example of adding learning data in embodiment 1 of the present invention. Specifically, Figures 13 and 14 show an example of a case in which the GCN configuration management unit 5 configures a class with GCN configuration parameter information 1 set as P1 = 2, P2 = 100, and P3 = 2.

図13の具体例に示したように、管理していないクラス1内のノード数をもつ新規の機能ラベルAが入力された場合には、学習・推論部8は、ステップS403で新たなGCN機能Aを作成する。学習・推論部8は、新たな機能ラベルAをもつネットリストをユーザが用意した数だけ繰り返し学習を行う。また、クラス1内の機能は、機能ラベルAの1つだけであり、学習・推論部8は、上位クラスであるクラス2でGCNの自動生成は行わない。 As shown in the specific example of Figure 13, when a new function label A having a node count in class 1 that is not managed is input, the learning and inference unit 8 creates a new GCN function A in step S403. The learning and inference unit 8 repeatedly learns the netlist having the new function label A the number of times prepared by the user. In addition, there is only one function in class 1, function label A, and the learning and inference unit 8 does not automatically generate a GCN in class 2, which is the higher class.

次に、管理していないクラス1内のノード数をもつ新規の機能ラベルBが入力された場合には、学習・推論部8は、ステップS403で新たなGCN機能Bを作成する。学習・推論部8は、新たな機能ラベルBをもつネットリストをユーザが用意した数だけ繰り返し学習を行う。また、クラス1内の機能は、機能ラベルA、Bの2つとなり、学習・推論部8は、上位クラスであるクラス2で組み合わせ機能ラベルABを持つGCNの自動生成を行う。 Next, if a new function label B with a node count in class 1 that is not managed is input, the learning and inference unit 8 creates a new GCN function B in step S403. The learning and inference unit 8 repeatedly learns the netlist with the new function label B the number of times prepared by the user. In addition, there are two functions in class 1, function labels A and B, and the learning and inference unit 8 automatically generates a GCN with the combined function label AB in class 2, which is the higher class.

このように、学習・推論部8は、ユーザが用意した機能ラベルA、機能ラベルBの学習データから、新たな行列を作成し、繰り返し学習を行う。図15は、本発明の実施の形態1における学習・推論部8による学習用行列自動生成の例を示した図である。学習・推論部8は、ネットリスト行列変換部7で作成された機能ラベルA、機能ラベルBの行列のうち、機能ラベルBのノード番号nB0~nB99を、nAB100~nAB199に変換して、各行列を作成する。 In this way, the learning and inference unit 8 creates a new matrix from the learning data of function label A and function label B prepared by the user, and performs repeated learning. FIG. 15 is a diagram showing an example of automatic generation of a learning matrix by the learning and inference unit 8 in the first embodiment of the present invention. The learning and inference unit 8 converts the node numbers nB0 to nB99 of function label B from the matrices of function label A and function label B created by the netlist matrix conversion unit 7 into nAB100 to nAB199 to create each matrix.

図14の具体例において、GCN構成管理部5が管理していない新規の機能ラベルCが入力された場合には、学習・推論部8は、ステップS403で新たなGCN機能Cを作成する。学習・推論部8は、新たな機能ラベルCをもつネットリストをユーザが用意した数だけ繰り返し学習を行う。また、クラス1内の機能は、機能ラベルA、B、Cの3つとなり、学習・推論部8は、上位クラスであるクラス2で組み合わせ機能ラベルAC、BCを持つGCNの自動生成を行う。 In the specific example of FIG. 14, when a new function label C that is not managed by the GCN configuration management unit 5 is input, the learning and inference unit 8 creates a new GCN function C in step S403. The learning and inference unit 8 repeatedly learns the netlist with the new function label C the number of times prepared by the user. In addition, the functions in class 1 are three, function labels A, B, and C, and the learning and inference unit 8 automatically generates a GCN with combination function labels AC and BC in class 2, which is the higher class.

学習・推論部8は、ステップS403でGCNを新規追加した後には、ステップS404において、追加したGCNの機能ラベル情報をGCN構成管理部5へ通知する。 After adding a new GCN in step S403, the learning/inference unit 8 notifies the GCN configuration management unit 5 of the functional label information of the added GCN in step S404.

また、先のステップS402において、既存ラベルへの学習指示であると判定した場合には、ステップS405に進み、学習・推論部8は、追加のGCNの学習を実施する。 Also, if it is determined in the previous step S402 that the instruction is to learn an existing label, the process proceeds to step S405, where the learning and inference unit 8 performs learning of an additional GCN.

また、先のステップS401において、推論指示であると判定した場合には、ステップS406に進み、学習・推論部8は、GCN構成管理部5から通知された推論用のGCNを用意する。 Also, if it is determined in the previous step S401 that the instruction is an inference instruction, the process proceeds to step S406, where the learning/inference unit 8 prepares the GCN for inference notified by the GCN configuration management unit 5.

先の図3に示したように、GCN構成管理部5は、クラスごとにGCNを2分木構成として管理している。そして、ステップS406において、学習・推論部8は、2分木の頂点のGCNの機能ラベルのあり/なしを選択する。 As shown in FIG. 3, the GCN configuration management unit 5 manages the GCN for each class as a binary tree configuration. Then, in step S406, the learning and inference unit 8 selects whether or not there is a functional label for the GCN at the apex of the binary tree.

次に、ステップS407において、2分木の頂点のGCNの機能ラベルがあると判定した場合には、ステップS409に進み、学習・推論部8は、判定に用いたGCNの機能ラベルを推論結果として出力する。 Next, if it is determined in step S407 that there is a functional label for the GCN at the apex of the binary tree, the process proceeds to step S409, where the learning and inference unit 8 outputs the functional label of the GCN used in the determination as the inference result.

一方、ステップS407において、2分木の頂点のGCNの機能ラベルがないと判定した場合には、ステップS408に進み、学習・推論部8は、GCNの更新可否の判定を行う。ステップS400で取得したGCNの2分木構成で、一階層下のGCNがある場合には、学習・推論部8は、GCN更新可能と判断し、ステップS406に戻り、GCNを更新する。 On the other hand, if it is determined in step S407 that there is no functional label for the GCN at the apex of the binary tree, the process proceeds to step S408, where the learning and inference unit 8 determines whether or not the GCN can be updated. If there is a GCN one level lower in the binary tree configuration of the GCN acquired in step S400, the learning and inference unit 8 determines that the GCN can be updated, returns to step S406, and updates the GCN.

一方、ステップS400で取得したGCNの2分木構成で、更新する下位階層のGCNが存在しない場合には、学習・推論部8は、GCN更新不可と判断し、ステップS409に進み、判定に用いたGCNの機能ラベルを推論結果として出力する。 On the other hand, if there is no GCN in a lower hierarchy to update in the binary tree structure of the GCN obtained in step S400, the learning/inference unit 8 determines that the GCN cannot be updated, proceeds to step S409, and outputs the functional label of the GCN used in the judgment as the inference result.

以上のように、実施の形態1によれば、NNの一種であるGraph Convolutional Networks(GCN)を用いて機能推定が行われる。この手法で取り扱うグラフとは、ノード、エッジ、重みなどで構成されているグラフ理論に基づくデータ構造のことである。インターネット、交通網、SNSのつながりといった身近にある様々のものが、このようなデータ構造の例として挙げられる。 As described above, according to the first embodiment, function estimation is performed using Graph Convolutional Networks (GCN), which is a type of NN. The graph used in this method is a data structure based on graph theory that is composed of nodes, edges, weights, etc. Examples of such data structures include various familiar things such as the Internet, transportation networks, and SNS connections.

GCNでは、そのようなグラフに対してノードおよびエッジの接続関係による畳み込み演算を用いてNNを構築し、グラフの特徴量を抽出することで、グラフの分類を行っている。先行技術文献では、ノード毎の特徴量を抽出し、抽出した特徴量をノードの分類のために用いている。 In GCN, a NN is constructed for such graphs using convolution operations based on the connections between nodes and edges, and graph features are extracted to classify the graphs. In prior art documents, features are extracted for each node, and the extracted features are used to classify the nodes.

これに対して、本実施の形態1は、抽出した特徴量をグラフ全体で1つの機能を持つネットリストへ適用し、学習した機能があるかないかの判定を行う。これらのGCNを機能の判別器として2分木構成とすることで、未学習機能の抽出が可能となる。これにより、未学習機能の誤分類が抑制される。 In contrast, in the first embodiment, the extracted features are applied to a netlist that has one function in the entire graph, and a determination is made as to whether or not a learned function exists. By configuring these GCNs as a binary tree as a function discriminator, it becomes possible to extract unlearned functions. This reduces misclassification of unlearned functions.

さらに、本実施の形態1は、ネットリストの回路規模によるクラス分けを行い、それぞれのクラスでGCNを管理する。これにより、回路規模の小さいクラスの機能を組み合わせて、上位クラスのGCNを自動生成でき、組み合わせ機能の判定候補として利用可能となる。また、推論時において判定対象とするGCNを選別可能となるため、効率化も図ることができる。 Furthermore, in this first embodiment, the netlist is classified according to the circuit size, and the GCNs are managed for each class. This allows functions of classes with small circuit sizes to be combined to automatically generate GCNs of higher-level classes, which can be used as candidates for determining combined functions. In addition, it is possible to select the GCNs to be determined during inference, which improves efficiency.

実施の形態2.
先の実施の形態では、グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定方法、機能推定装置、および機能推定プログラムについて説明した。
Embodiment 2.
In the above embodiments, a function estimation method, a function estimation device, and a function estimation program executed on a computer have been described in order to extract functions implemented in a netlist used in the logical design of an LSI by using a GCN, which is a network formed by folding a graph structure.

これに対して、本実施の形態2では、GCNの代わりに、R-GCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定方法、機能推定装置、および機能推定プログラムについて説明する。 In contrast, in the second embodiment, we will explain a function estimation method, a function estimation device, and a function estimation program that are executed on a computer to extract functions implemented in a netlist used in the logical design of an LSI by using an R-GCN instead of a GCN.

まず、GCNとR-GCNとの違いについて、図16および図17を用いて説明する。図16は、本発明の実施の形態1ですでに説明したGCNによる、ノードとノードの接続関係を表すためのグラフ表現および隣接行列を示した図である。一方、図17は、本発明の実施の形態2で説明するR-GCNによる、ノードとノードの接続関係を表すためのグラフ表現および隣接行列を示した図である。 First, the difference between GCN and R-GCN will be explained using Figures 16 and 17. Figure 16 is a diagram showing a graph representation and an adjacency matrix for representing the connection relationships between nodes using GCN, which has already been explained in embodiment 1 of the present invention. On the other hand, Figure 17 is a diagram showing a graph representation and an adjacency matrix for representing the connection relationships between nodes using R-GCN, which will be explained in embodiment 2 of the present invention.

図16および図17では、ノードとして、n0~n4の5つを用いた場合の接続関係が例示されている。先の実施の形態1で説明したGCNでは、図16(a)に示すように、ネットリストの入出力関係が保持されない無向グラフを使用している。すなわち、GCNでは、どのノードと、どのノードとが接続されているかは表現されているが、どのノードからどのノードに対して信号が出力されるかを示す入出力関係の情報までは、表現されていなかった。 Figures 16 and 17 show an example of the connection relationship when five nodes, n0 to n4, are used. The GCN described in the first embodiment uses an undirected graph in which the input/output relationships of the netlist are not maintained, as shown in Figure 16(a). In other words, the GCN shows which nodes are connected to each other, but does not show the input/output relationship information showing which node outputs a signal to which node.

従って、図16(a)に示したGCNでのグラフ表現に対応する隣接行列Aは、図16(b)に示すように、各ノード間で接続関係を有する場合が1、接続関係を有さない場合が0として、表現されていた。 Therefore, the adjacency matrix A corresponding to the graph representation in the GCN shown in Figure 16(a) was expressed as 1 when there was a connection between nodes and 0 when there was no connection, as shown in Figure 16(b).

これに対して、本実施の形態2で説明するR-GCNでは、図17(a)に示すように、ネットリストの入出力関係を保持した有向グラフを使用している。すなわち、R-GCNでは、どのノードと、どのノードとが接続されているかが表現されているとともに、どのノードからどのノードに対して信号が出力されるかを示す入出力関係の情報も、矢印として表現されている。 In contrast, the R-GCN described in this second embodiment uses a directed graph that holds the input/output relationships of the netlist, as shown in FIG. 17(a). That is, the R-GCN expresses which nodes are connected to which other nodes, and also expresses the input/output relationship information, which indicates which node outputs a signal to which other node, as arrows.

従って、図17(a)に示したR-GCNでのグラフ表現に対応する隣接行列Aは、図17(b)に示した隣接行列(入力側)Ain、図17(c)に示した隣接行列(自分)Aown、および図17(d)に示した隣接行列(出力側)Aout、の3種類を用いて表現できる。 Therefore, the adjacency matrix A corresponding to the graph representation in the R-GCN shown in Figure 17(a) can be expressed using three types of adjacency matrix: the adjacency matrix (input side) Ain shown in Figure 17(b), the adjacency matrix (self) Aown shown in Figure 17(c), and the adjacency matrix (output side) Aout shown in Figure 17(d).

換言すると、本実施の形態2では、ネットリスト内の各ノードにおける接続関係および入出力関係を表現する3種の隣接行列として、各ノードにおけるノード間の入力に関する接続関係を示す第1の隣接行列Ainと、各ノードを要素とする単位行列を示す第2の隣接行列Aownと、各ノードにおけるノード間の出力に関する接続関係を示す第3の隣接行列Aoutとから構成される。 In other words, in this second embodiment, the three types of adjacency matrices that represent the connection relationships and input/output relationships at each node in the netlist are composed of a first adjacency matrix Ain that indicates the connection relationships regarding inputs between nodes at each node, a second adjacency matrix Aown that indicates a unit matrix with each node as an element, and a third adjacency matrix Aout that indicates the connection relationships regarding outputs between nodes at each node.

図17(b)に示した第1の隣接行列に相当する隣接行列(入力側)Ainでは、行側が入力側のノードを示しており、列側が出力側のノードを示しており、各ノード間で入力関係を有する場合が1、入力関係を有さない場合が0として表現されている。例えば、ノードn1に着目すると、ノードn0からの信号を受け取るため、隣接行列(入力側)Ainにおける2行1列目の要素が「1」となっている。 In the adjacency matrix (input side) Ain, which corresponds to the first adjacency matrix shown in FIG. 17(b), the rows indicate the nodes on the input side, and the columns indicate the nodes on the output side, with the value 1 representing an input relationship between nodes, and the value 0 representing no input relationship. For example, when looking at node n1, the element in the second row and first column of the adjacency matrix (input side) Ain is "1" because it receives a signal from node n0.

また、図17(c)に示した第2の隣接行列に相当する隣接行列(自分)Aownでは、行と列の同じノードの要素が「1」となる単位行列となっている。 Also, the adjacency matrix (self) Aown, which corresponds to the second adjacency matrix shown in Figure 17(c), is a unit matrix in which elements of nodes in the same row and column are "1".

さらに、図17(d)に示した第3の隣接行列に相当する隣接行列(出力側)Aoutでは、行側が出力側のノードを示しており、列側が入力側のノードを示しており、各ノード間で出力関係を有する場合が1、出力関係を有さない場合が0として表現されている。例えば、ノードn0に着目すると、ノードn1へ信号を出力するため、隣接行列(出力側)Aoutにおける1行2列目の要素が「1」となっている。 Furthermore, in the adjacency matrix (output side) Aout, which corresponds to the third adjacency matrix shown in FIG. 17(d), the rows indicate the nodes on the output side, and the columns indicate the nodes on the input side, with an output relationship between the nodes represented as 1 and no output relationship represented as 0. For example, when focusing on node n0, the element in the first row and second column of the adjacency matrix (output side) Aout is "1" since it outputs a signal to node n1.

このように、GCNにおける1つの隣接行列Aを用いた場合には、ノード間の接続関係のみの情報が得られ、入出力関係の情報までは得られなかった。従って、図16(a)、図16(b)からも明らかなように、例えば、ノードn0とノードn1とが接続されている情報は得られるものの、ノードn0からノードn1への信号であるか、ノードn1からノードn0への信号であるかの情報までは得ることができない。 In this way, when one adjacency matrix A in a GCN is used, only information on the connection relationships between nodes is obtained, and information on the input/output relationships is not obtained. Therefore, as is clear from Figures 16(a) and 16(b), for example, although information that nodes n0 and n1 are connected can be obtained, it is not possible to obtain information on whether the signal is from node n0 to node n1 or from node n1 to node n0.

換言すると、ノードn0からノードn1へ信号が出力されている場合と、ノードn1からノードn0へ信号が出力されている場合とで、両方とも同一のグラフ表現、および同一の隣接行列Aが得られてしまい、両者を区別することはできなかった。 In other words, when a signal is output from node n0 to node n1 and when a signal is output from node n1 to node n0, the same graph representation and the same adjacency matrix A are obtained, and it is not possible to distinguish between the two.

これに対して、R-GCNにおける3つの隣接行列(入力)Ain、隣接行列(自分)Aown、および隣接行列(出力側)Aoutを用いた場合には、ノード間の接続関係の情報とともに、入出力関係の情報まで得られる。 In contrast, when using the three adjacency matrices (input) Ain, adjacency matrix (self) Aown, and adjacency matrix (output) Aout in the R-GCN, information on the connection relationships between nodes as well as information on the input/output relationships can be obtained.

従って、図17(a)~図17(d)からも明らかなように、例えば、ノードn0とノードn1とが接続されている情報とともに、ノードn0からノードn1へ信号が出力されている情報も、得ることができる。 Therefore, as is clear from Figures 17(a) to 17(d), for example, in addition to information that nodes n0 and n1 are connected, it is also possible to obtain information that a signal is being output from node n0 to node n1.

換言すると、ノードn0からノードn1へ信号が出力されている場合と、ノードn1からノードn0へ信号が出力されている場合とで、グラフ表現、および3種の隣接行列により、両者を区別することが可能となる。このため,R-GCNを用いることで、GCNを用いる場合と比較して、より汎用的かつ高精度の機能推定を実現することが可能となる。 In other words, it is possible to distinguish between the case where a signal is output from node n0 to node n1 and the case where a signal is output from node n1 to node n0 using a graph representation and three types of adjacency matrices. Therefore, by using R-GCN, it is possible to achieve more versatile and highly accurate function estimation compared to the case where GCN is used.

本実施の形態2における機能推定装置の構成は、GCNを用いる場合の、先の実施の形態1における図1で説明した構成と基本的には変わらない。ただし、本実施の形態2におけるネットリスト行列変換部7の処理は、図16に示したような1種の隣接行列Aを生成する代わりに、図17に示したような3種の隣接行列(入力)Ain、隣接行列(自分)Aown、および隣接行列(出力側)Aoutを生成する点で相違している。 The configuration of the function estimation device in this embodiment 2 is basically the same as the configuration described in FIG. 1 in the previous embodiment 1 when using GCN. However, the process of the netlist matrix conversion unit 7 in this embodiment 2 differs in that, instead of generating one type of adjacency matrix A as shown in FIG. 16, it generates three types of adjacency matrices: an (input) Ain, an adjacency matrix (self) Aown, and an adjacency matrix (output side) Aout as shown in FIG. 17.

そこで、本実施の形態2におけるネットリスト行列変換部7の処理の流れについて、次に説明する。図18は、本発明の実施の形態2におけるネットリスト行列変換部7で実行される一連処理を示したフローチャートである。 The processing flow of the netlist matrix conversion unit 7 in the second embodiment will now be described. Figure 18 is a flowchart showing a series of processes executed by the netlist matrix conversion unit 7 in the second embodiment of the present invention.

図18に示したフローチャートは、先の実施の形態1における図8に示したフローチャートと比較すると、ステップS301において隣接行列を作成する処理が、3種の隣接行列(入力)Ain、隣接行列(自分)Aown、および隣接行列(出力側)Aoutを生成するように変更されている。そこで、変更されているステップS301の処理を中心に、以下に説明する。 Compared to the flowchart shown in FIG. 8 in the first embodiment, the flowchart shown in FIG. 18 has been modified in that the process of creating the adjacency matrix in step S301 is modified to generate three types of adjacency matrix: input Ain, self Aown, and output Aout. Therefore, the following explanation focuses on the modified process in step S301.

本実施の形態2におけるステップS301は、3つのステップS301-1、S301-2、S301-3として構成されている。ネットリスト行列変換部7は、ステップS300で特徴ベクトル行列Xを作成した後、ステップS301-1において、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行および列として、隣接行列(入力)Ainを作成する。 In this second embodiment, step S301 is composed of three steps: S301-1, S301-2, and S301-3. After creating the feature vector matrix X in step S300, the netlist matrix conversion unit 7 creates an adjacency matrix (input) Ain in step S301-1, with the maximum number of nodes of the class notified by the node number clustering unit 6 as the rows and columns.

次に、ネットリスト行列変換部7は、ステップS301-2において、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行および列として、隣接行列(自分)Aownを作成する。 Next, in step S301-2, the netlist matrix conversion unit 7 creates an adjacency matrix (self) Aown, with the maximum number of nodes in the class notified by the node number clustering unit 6 as the row and column.

さらに、ネットリスト行列変換部7は、ステップS301-3において、ノード数クラスタリング部6から通知されたクラスの最大ノード数を行および列として、隣接行列(出力)Aoutを作成する。 Furthermore, in step S301-3, the netlist matrix conversion unit 7 creates an adjacency matrix (output) Aout with the maximum number of nodes of the class notified by the node number clustering unit 6 as rows and columns.

その後、ネットリスト行列変換部7は、ステップS302、ステップS303の処理を実行する。 Then, the netlist matrix conversion unit 7 executes the processes of steps S302 and S303.

以上のように、実施の形態2によれば、NNの一種であるRelational Graph Convolutional Networks(R-GCN)を用いて機能推定が行われる。この手法で取り扱うグラフとは、GCNを用いて機能推定が行われる先の実施の形態1と同様に、ノード、エッジ、重みなどで構成されているグラフ理論に基づくデータ構造のことである。インターネット、交通網、SNSのつながりといった身近にある様々のものが、このようなデータ構造の例として挙げられる。 As described above, according to the second embodiment, function estimation is performed using Relational Graph Convolutional Networks (R-GCN), which is a type of NN. The graph used in this method is a data structure based on graph theory that is composed of nodes, edges, weights, etc., just like in the first embodiment where function estimation is performed using a GCN. Examples of such data structures include various familiar things such as the Internet, transportation networks, and SNS connections.

R-GCNでは、そのようなグラフに対してノードおよびエッジの接続関係による畳み込み演算を用いてNNを構築するとともに、ノード間の入出力関係を考慮したグラフの特徴量を抽出することで、グラフの分類を行っている。先行技術文献では、ノード毎の特徴量を抽出し、抽出した特徴量をノードの分類のために用いている。 In R-GCN, a NN is constructed for such graphs using convolutional calculations based on the connections between nodes and edges, and the graph features are extracted taking into account the input/output relationships between nodes, thereby classifying the graphs. In prior art documents, features are extracted for each node, and the extracted features are used to classify the nodes.

これに対して、本実施の形態2は、抽出した特徴量をグラフ全体で1つの機能を持つネットリストへ適用し、学習した機能があるかないかの判定を行う。これらのR-GCNを機能の判別器として2分木構成とすることで、未学習機能の抽出が可能となる。これにより、未学習機能の誤分類が抑制される。 In contrast, in the second embodiment, the extracted features are applied to a netlist that has one function in the entire graph, and a determination is made as to whether or not a learned function exists. By configuring these R-GCNs as a binary tree discriminator for functions, it becomes possible to extract unlearned functions. This reduces misclassification of unlearned functions.

さらに、本実施の形態2は、ネットリストの回路規模によるクラス分けを行い、それぞれのクラスでR-GCNを管理する。これにより、回路規模の小さいクラスの機能を組み合わせて、上位クラスのR-GCNを自動生成でき、組み合わせ機能の判定候補として利用可能となる。また、推論時において判定対象とするR-GCNを選別可能となるため、効率化も図ることができる。 Furthermore, in this second embodiment, the netlist is classified according to the circuit size, and the R-GCN is managed for each class. This makes it possible to combine functions of classes with small circuit sizes to automatically generate R-GCNs of higher classes, which can be used as candidates for determining combined functions. In addition, it is possible to select the R-GCNs to be determined during inference, which improves efficiency.

さらに、本実施の形態2は、R-GCNを用いることで、有向グラフ表現、および3種の隣接行列に基づく機能推定が可能となる。この結果、GCNを用いる場合と比較して、より汎用的かつ高精度の機能推定を実現することが可能となる。 Furthermore, in this second embodiment, by using R-GCN, function estimation based on directed graph representation and three types of adjacency matrices becomes possible. As a result, it becomes possible to realize more versatile and highly accurate function estimation compared to the case where GCN is used.

1 GCN構成用パラメータ情報、2 ネットリスト、3 機能ラベル情報、4 スタンダードセル情報、5 GCN構成管理部(管理工程、管理部、管理手段)、6 ノード数クラスタリング部(クラスタリング工程、クラスタリング部、クラスタリング手段)、7 ネットリスト行列変換部(変換工程、変換部、変換手段)、8 学習・推論部(学習・推論工程、学習・推論手段)、9 推論結果、11 最下位クラス、12、13 上位クラス。 1 GCN configuration parameter information, 2 Netlist, 3 Function label information, 4 Standard cell information, 5 GCN configuration management unit (management process, management unit, management means), 6 Node number clustering unit (clustering process, clustering unit, clustering means), 7 Netlist matrix conversion unit (conversion process, conversion unit, conversion means), 8 Learning and inference unit (learning and inference process, learning and inference means), 9 Inference result, 11 Lowest class, 12, 13 Highest class.

Claims (9)

グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定方法であって、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理工程と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング工程と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換工程と、
前記管理工程および前記変換工程の処理結果に基づいて、前記機能の学習および推論を行う学習・推論工程と
を有する機能推定方法。
A function estimation method executed on a computer to extract functions implemented in a netlist used in an LSI logic design using a GCN, which is a network formed by convolving a graph structure, comprising the steps of:
A management process for constructing GCN class configuration information of the netlist from GCN configuration parameter information, and for each constructed GCN class, managing a GCN function label held within the class and a GCN binary tree configuration that determines a GCN inference order during inference;
A clustering process for converting the netlist into a graph representation composed of nodes and edges, and classifying the netlist into classes according to the number of nodes measured and the GCN class configuration information constructed;
a conversion step of executing a complementation process to make the number of nodes in each of the classes obtained by the classification consistent;
a learning and inference step of learning and inferring the function based on the processing results of the management step and the conversion step.
前記変換工程において、
前記ネットリスト内の各ノードにおける複合ゲートの種別を表現する特徴ベクトル行列と、
前記ネットリスト内の各ノードにおける接続関係を表現する隣接行列と、
前記ネットリスト内の各ノードにおけるGCNの判定結果を表現する正解ラベル行列と
を作成し、
前記学習・推論工程において、
前記変換工程で作成された前記特徴ベクトル行列、前記隣接行列、および前記正解ラベル行列に基づいて前記学習を行う
請求項1に記載の機能推定方法。
In the converting step,
a feature vector matrix representing a type of a composite gate at each node in the netlist;
an adjacency matrix representing a connection relationship between each node in the netlist;
A correct label matrix representing the GCN determination result for each node in the netlist is created;
In the learning and inference step,
The function estimation method according to claim 1 , wherein the learning is performed based on the feature vector matrix, the adjacency matrix, and the correct label matrix created in the conversion step.
前記学習・推論工程において、
前記管理工程で管理されていない新規ラベルが入力された場合には、新たなGCN機能を生成し、新たに生成したそれぞれのGCN機能を組み合わせることで新たなGCNを自動生成する
請求項1または2に記載の機能推定方法。
In the learning and inference step,
The function estimation method according to claim 1 or 2, wherein when a new label not managed in the management process is input, a new GCN function is generated, and a new GCN is automatically generated by combining each of the newly generated GCN functions.
前記管理工程において、
前記GCN2分木構成を利用して、前記機能が学習済みであるか否かを判別する
請求項1から3のいずれか1項に記載の機能推定方法。
In the management step,
The function estimation method according to claim 1 , further comprising: determining whether or not the function has been learned by utilizing the GCN binary tree structure.
グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出する機能推定装置であって、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理部と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング部と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換部と、
前記管理部および前記変換部の処理結果に基づいて、前記機能の学習および推論を行う学習・推論部と
を有する機能推定装置。
A function estimation device that extracts functions implemented in a netlist used in an LSI logic design by using a GCN, which is a network formed by folding a graph structure, comprising:
A management unit that constructs GCN class configuration information of the netlist from GCN configuration parameter information, and manages a GCN function label held in each constructed GCN class and a GCN binary tree configuration that determines a GCN inference order during inference;
a clustering unit that converts the netlist into a graph representation composed of nodes and edges, and performs classification according to the measured number of nodes and the constructed GCN class configuration information;
a conversion unit that executes a complementation process to make the number of nodes in each of the classes obtained by the classification consistent;
a learning and inference unit that learns and infers the function based on processing results of the management unit and the conversion unit.
グラフ構造を畳み込んだネットワークであるGCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定プログラムであって、
前記コンピュータを、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理手段と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング手段と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換手段と、
前記管理手段および前記変換手段の処理結果に基づいて、前記機能の学習および推論を行う学習・推論手段と
して機能させる機能推定プログラム。
A function estimation program executed on a computer to extract functions implemented in a netlist used in an LSI logic design using a GCN, which is a network formed by folding a graph structure, comprising:
The computer,
A management means for constructing GCN class configuration information of the netlist from GCN configuration parameter information, and for each constructed GCN class, managing a GCN function label held within the class and a GCN binary tree configuration for determining a GCN inference order during inference;
A clustering means for converting the netlist into a graph representation composed of nodes and edges, and classifying the netlist into classes according to the number of nodes measured and the GCN class configuration information that has been constructed;
A conversion means for executing a complementation process for matching the number of nodes in each of the classes obtained by the classification;
A function estimation program that functions as a learning and inference means for learning and inferring the function based on the processing results of the management means and the conversion means.
グラフ構造を畳み込んだネットワークであるGCNとしてR-GCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定方法であって、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理工程と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング工程と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換工程と、
前記管理工程および前記変換工程の処理結果に基づいて、前記機能の学習および推論を行う学習・推論工程と
を有する機能推定方法であって、
前記変換工程において、
前記ネットリスト内の各ノードにおける複合ゲートの種別を表現する特徴ベクトル行列と、
前記ネットリスト内の各ノードにおける接続関係および入出力関係を表現する3種の隣接行列と、
前記ネットリスト内の各ノードにおけるGCNの判定結果を表現する正解ラベル行列と
を作成し、
前記学習・推論工程において、
前記変換工程で作成された前記特徴ベクトル行列、前記3種の隣接行列、および前記正解ラベル行列に基づいて前記学習を行い、
前記3種の隣接行列は、前記各ノードにおけるノード間の入力に関する接続関係を示す第1の隣接行列と、各ノードを要素とする単位行列を示す第2の隣接行列と、前記各ノードにおけるノード間の出力に関する接続関係を示す第3の隣接行列とで構成される
機能推定方法。
A function estimation method executed on a computer to extract functions implemented in a netlist used in an LSI logic design, using an R-GCN as a GCN that is a network obtained by folding a graph structure, comprising:
A management process for constructing GCN class configuration information of the netlist from GCN configuration parameter information, and for each constructed GCN class, managing a GCN function label held within the class and a GCN binary tree configuration that determines a GCN inference order during inference;
A clustering process for converting the netlist into a graph representation composed of nodes and edges, and classifying the netlist into classes according to the number of nodes measured and the GCN class configuration information constructed;
a conversion step of executing a complementation process to make the number of nodes in each of the classes obtained by the classification consistent;
a learning and inference step of learning and inferring the function based on the processing results of the management step and the conversion step,
In the converting step,
a feature vector matrix representing a type of a composite gate at each node in the netlist;
Three types of adjacency matrices that represent connection relationships and input/output relationships at each node in the netlist;
A correct label matrix representing the GCN determination result for each node in the netlist is created;
In the learning and inference step,
The learning is performed based on the feature vector matrix, the three types of adjacency matrices, and the correct label matrix created in the conversion process;
The three types of adjacency matrices are composed of a first adjacency matrix indicating a connection relationship between the nodes regarding inputs at each of the nodes, a second adjacency matrix indicating a unit matrix with each of the nodes as elements, and a third adjacency matrix indicating a connection relationship between the nodes regarding outputs at each of the nodes.
グラフ構造を畳み込んだネットワークであるGCNとしてR-GCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出する機能推定装置であって、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理部と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング部と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換部と、
前記管理部および前記変換部の処理結果に基づいて、前記機能の学習および推論を行う学習・推論部と
を有する機能推定装置であって、
前記変換部は、
前記ネットリスト内の各ノードにおける複合ゲートの種別を表現する特徴ベクトル行列と、
前記ネットリスト内の各ノードにおける接続関係および入出力関係を表現する3種の隣接行列と、
前記ネットリスト内の各ノードにおけるGCNの判定結果を表現する正解ラベル行列と
を作成し、
前記学習・推論部は、
前記変換部で作成された前記特徴ベクトル行列、前記3種の隣接行列、および前記正解ラベル行列に基づいて前記学習を行い、
前記3種の隣接行列は、前記各ノードにおけるノード間の入力に関する接続関係を示す第1の隣接行列と、各ノードを要素とする単位行列を示す第2の隣接行列と、前記各ノードにおけるノード間の出力に関する接続関係を示す第3の隣接行列とで構成される
機能推定装置。
A function estimation device that extracts functions implemented in a netlist used in an LSI logic design by using an R-GCN as a GCN that is a network obtained by folding a graph structure, comprising:
A management unit that constructs GCN class configuration information of the netlist from GCN configuration parameter information, and manages a GCN function label held in each constructed GCN class and a GCN binary tree configuration that determines a GCN inference order during inference;
a clustering unit that converts the netlist into a graph representation composed of nodes and edges, and performs classification according to the measured number of nodes and the constructed GCN class configuration information;
a conversion unit that executes a complementation process to make the number of nodes in each of the classes obtained by the classification consistent;
a learning and inference unit that learns and infers the function based on a processing result of the management unit and the conversion unit,
The conversion unit is
a feature vector matrix representing a type of a composite gate at each node in the netlist;
Three types of adjacency matrices that represent connection relationships and input/output relationships at each node in the netlist;
A correct label matrix representing the GCN determination result for each node in the netlist is created;
The learning and inference unit includes:
The learning is performed based on the feature vector matrix, the three types of adjacency matrices, and the correct label matrix created by the conversion unit;
The three types of adjacency matrices are composed of a first adjacency matrix indicating a connection relationship between the nodes regarding inputs at each of the nodes, a second adjacency matrix indicating a unit matrix with each node as an element, and a third adjacency matrix indicating a connection relationship between the nodes regarding outputs at each of the nodes.
グラフ構造を畳み込んだネットワークであるGCNとしてR-GCNを用いて、LSIの論理設計で使用されるネットリストに実装されている機能を抽出するために、コンピュータ上で実行される機能推定プログラムであって、
前記コンピュータを、
GCN構成用パラメータ情報から前記ネットリストのGCNクラス構成情報を構築し、構築したGCNクラス毎にクラス内で保有するGCNの機能ラベルと、推論時のGCN推論順序を決定するGCN2分木構成とを管理する管理手段と、
前記ネットリストをノードおよびエッジから構成されるグラフ表現に変換し、計測したノード数および構築した前記GCNクラス構成情報に応じてクラス分けを行うクラスタリング手段と、
前記クラス分けが行われた各クラスのノード数を一致させるための補完処理を実行する変換手段と、
前記管理手段および前記変換手段の処理結果に基づいて、前記機能の学習および推論を行う学習・推論手段と
して機能させる機能推定プログラムであって、
前記変換手段は、
前記ネットリスト内の各ノードにおける複合ゲートの種別を表現する特徴ベクトル行列と、
前記ネットリスト内の各ノードにおける接続関係および入出力関係を表現する3種の隣接行列と、
前記ネットリスト内の各ノードにおけるGCNの判定結果を表現する正解ラベル行列と
を作成し、
前記学習・推論手段は、
前記変換手段で作成された前記特徴ベクトル行列、前記3種の隣接行列、および前記正解ラベル行列に基づいて前記学習を行い、
前記3種の隣接行列は、前記各ノードにおけるノード間の入力に関する接続関係を示す第1の隣接行列と、各ノードを要素とする単位行列を示す第2の隣接行列と、前記各ノードにおけるノード間の出力に関する接続関係を示す第3の隣接行列とで構成される
機能推定プログラム。
A function estimation program executed on a computer to extract functions implemented in a netlist used in an LSI logic design, using an R-GCN as a GCN that is a network obtained by folding a graph structure, comprising:
The computer,
A management means for constructing GCN class configuration information of the netlist from GCN configuration parameter information, and for each constructed GCN class, managing a GCN function label held within the class and a GCN binary tree configuration for determining a GCN inference order during inference;
A clustering means for converting the netlist into a graph representation composed of nodes and edges, and classifying the netlist into classes according to the number of nodes measured and the GCN class configuration information that has been constructed;
A conversion means for executing a complementation process for matching the number of nodes in each of the classes obtained by the classification;
a function estimation program for causing the program to function as a learning and inference means for learning and inferring the function based on processing results of the management means and the conversion means,
The conversion means is
a feature vector matrix representing a type of a composite gate at each node in the netlist;
Three types of adjacency matrices that represent connection relationships and input/output relationships at each node in the netlist;
A correct label matrix representing the GCN determination result for each node in the netlist is created;
The learning and inference means includes:
The learning is performed based on the feature vector matrix, the three types of adjacency matrices, and the correct label matrix created by the conversion means;
The three types of adjacency matrices are composed of a first adjacency matrix indicating the connection relationship between the nodes regarding inputs at each of the nodes, a second adjacency matrix indicating an identity matrix with each node as an element, and a third adjacency matrix indicating the connection relationship between the nodes regarding outputs at each of the nodes.
JP2020188448A 2019-11-26 2020-11-12 FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM Active JP7541902B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019213015 2019-11-26
JP2019213015 2019-11-26

Publications (2)

Publication Number Publication Date
JP2021089722A JP2021089722A (en) 2021-06-10
JP7541902B2 true JP7541902B2 (en) 2024-08-29

Family

ID=76220735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020188448A Active JP7541902B2 (en) 2019-11-26 2020-11-12 FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM

Country Status (1)

Country Link
JP (1) JP7541902B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847443B2 (en) * 2021-09-07 2023-12-19 International Business Machines Corporation Constraints-based refactoring of monolith applications through attributed graph embeddings
JP7756590B2 (en) * 2022-03-31 2025-10-20 三菱電機エンジニアリング株式会社 Function estimation method and function estimation program
CN114896943B (en) * 2022-04-29 2025-12-30 上海概伦电子股份有限公司 Data selection methods, systems, and devices for extracting parameters from integrated circuit device models
JP7612125B2 (en) * 2022-10-21 2025-01-10 三菱電機株式会社 Information processing device and information processing method
CO2023017271A1 (en) * 2023-12-13 2025-06-16 Zuluaga Luis Fernando Velez Infusion preparation and filtration system comprising a container module and an integrated filtration and closure module
WO2025133867A1 (en) * 2023-12-22 2025-06-26 株式会社半導体エネルギー研究所 Information processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200298A (en) 1998-06-09 2000-07-18 Matsushita Electric Ind Co Ltd Graph representation conversion method and apparatus, and automatic arrangement method and apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199369A (en) * 1990-11-29 1992-07-20 Toshiba Corp Circuit optimization system
JP2977422B2 (en) * 1992-10-05 1999-11-15 松下電器産業株式会社 Product specification estimation method, logic circuit classification / evaluation device, product specification database creation device, product specification estimation device, and automatic logic circuit hierarchy generation device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200298A (en) 1998-06-09 2000-07-18 Matsushita Electric Ind Co Ltd Graph representation conversion method and apparatus, and automatic arrangement method and apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
藤城裕一郎 外5名,R-GCNを用いたゲートレベルネットリスト機能分類手法,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2019年11月06日,Vol. 119, No. 283,pp. 7-12

Also Published As

Publication number Publication date
JP2021089722A (en) 2021-06-10

Similar Documents

Publication Publication Date Title
JP7541902B2 (en) FUNCTION ESTIMATION METHOD, FUNCTION ESTIMATION DEVICE, AND FUNCTION ESTIMATION PROGRAM
US11017149B2 (en) Machine-learning design enablement platform
TWI716115B (en) Integrated circuit design method, iintegrated circuit design system and non-transitory computer readable media
US6574779B2 (en) Hierarchical layout method for integrated circuits
US20150067626A1 (en) Knowledge-based analog layout generator
JP7353699B2 (en) Circuit design method and implementation system based on artificial intelligence
CN110968692B (en) Text classification method and system
CN115204076A (en) Logic optimization method and device of integrated circuit, electronic equipment and readable medium
Said et al. Circuit design completion using graph neural networks
Lu et al. On advancing physical design using graph neural networks
Wu et al. Circuit-gnn: A graph neural network for transistor-level modeling of analog circuit hierarchies
Bairamkulov et al. Graphs in vlsi circuits and systems
JP3791239B2 (en) Graph expression conversion method and apparatus, and automatic arrangement method and apparatus
WO2023245626A1 (en) Method for electronic design automation, and device
CN113239651B (en) Artificial intelligence implementation method and system for circuit design
Khamis et al. Converter circuits to machine learning: Optimal feature selection
EP4270236B1 (en) Method and device for providing a recommender system
Tu et al. SMART: Graph Learning-Boosted Subcircuit Matching for Large-Scale Analog Circuits
Patel et al. Machine learning based structure recognition in analog schematics for constraints generation
Wu et al. Variation-aware analog circuit sizing with classifier chains
US20240086601A1 (en) Method and system to generate performance-data-library associated with standard-cell-library
Malik Combinational logic optimization techniques in sequential logic synthesis
CN114417754B (en) Formalized identification method of combinational logic unit and related equipment
JP2023149501A (en) Function estimation method and function estimation program
US20140033155A1 (en) Systems and methods for generating a higher level description of a circuit design based on connectivity strengths

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20201116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240819

R150 Certificate of patent or registration of utility model

Ref document number: 7541902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350