(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-22
(45)【発行日】2023-10-02
(54)【発明の名称】人工知能に基づく回路設計方法及び実装システム
(51)【国際特許分類】
G06F 30/367 20200101AFI20230925BHJP
G06F 30/27 20200101ALI20230925BHJP
G06N 3/0464 20230101ALI20230925BHJP
G06F 119/20 20200101ALN20230925BHJP
【FI】
G06F30/367
G06F30/27
G06N3/0464
G06F119:20
(21)【出願番号】P 2023513525
(86)(22)【出願日】2021-09-02
(86)【国際出願番号】 CN2021116291
(87)【国際公開番号】W WO2023284088
(87)【国際公開日】2023-01-19
【審査請求日】2023-02-24
(31)【優先権主張番号】202110781715.5
(32)【優先日】2021-07-12
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202110783385.3
(32)【優先日】2021-07-12
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】522479212
【氏名又は名称】▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司
(74)【代理人】
【識別番号】110001896
【氏名又は名称】弁理士法人朝日奈特許事務所
(72)【発明者】
【氏名】李 真
【審査官】堀井 啓明
(56)【参考文献】
【文献】国際公開第2020/117991(WO,A1)
【文献】特開2019-204490(JP,A)
【文献】特開2000-200298(JP,A)
【文献】特開2020-184123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
G06N 3/0464
G06F 119/20
(57)【特許請求の範囲】
【請求項1】
回路設計のための人工知能実装方法であって、
複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得するステップと、
前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築するステップと、
前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を含むサンプルデータベースを構築するステップと、
前記サンプルデータベースを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップと、
設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得るステップと、
前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得るステップとを含む、ことを特徴とする回路設計のための人工知能実装方法。
【請求項2】
サンプルデータベースを構築する前記ステップにおいて、具体的に、
前記回路設計トポロジーマップを前記複数のサブ回路トポロジーマップに分割し、前記サブ回路の機能パラメータ中の機能名に従って分類するステップと、
前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を前記サンプルデータベースに格納するステップとが含まれる、ことを特徴とする請求項1に記載の回路設計のための人工知能実装方法。
【請求項3】
前記サブ回路トポロジーの回路素子名及び各回路素子同士の接続関係は第1行列の形態で前記サンプルデータベースに格納され、
隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素X
ijはノードiとノードjとの間の回路素子A
abkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号を表す、ことを特徴とする請求項1に記載の回路設計のための人工知能実装方法。
【請求項4】
前記機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数をさらに含む、ことを特徴とする請求項2に記載の回路設計のための人工知能実装方法。
【請求項5】
前記サンプルデータベース内のデータを収集し前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップにおいて、具体的に、
前記サンプルデータベースに基づきサンプル集合を構築するステップと、
前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割するステップと、
前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記畳み込みニューラルネットワークにバッチで入力して、訓練操作を実行するステップと、
訓練過程で前記畳み込みニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得するステップと、
前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るステップと、
検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記第1特徴モデルを取得するステップとが含まれる、ことを特徴とする請求項2に記載の回路設計のための人工知能実装方法。
【請求項6】
前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るステップにおいて、具体的に、
X個のテストサンプルを前記第1ニューラルネットワークモデルに入力し、X個の第1結果を取得するステップと、
前記X個の第1結果を前記X個のテストサンプルの機能パラメータと比較し、前記第1結果と前記テストサンプルに対応する機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計するステップと、
サンプルの個数Yとサンプルの個数Xとの比である検証結果を計算するステップとが含まれる、ことを特徴とする請求項5に記載の回路設計のための人工知能実装方法。
【請求項7】
前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得るステップにおいて、具体的に、
前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも小さい場合、前記設計中の回路トポロジーマップ設計が合格であると判定し、前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも大きい場合、前記設計中の回路トポロジーマップ設計が不合格であると判定するステップが含まれる、ことを特徴とする請求項1に記載の回路設計のための人工知能実装方法。
【請求項8】
前記回路設計トポロジーマップの全設計時間は1つの設計サイクルであり、前記設計サイクルは複数の連続的なサブ設計段階を含み、前記サンプルデータベースには前記サブ回路トポロジーの設計段階が格納され、
前記回路設計のための人工知能実装方法は、
サブ回路トポロジーの設計段階及び機能パラメータ中の機能名を前記畳み込みニューラルネットワークに入力し訓練して第2特徴モデルを得るステップと、
設計中の回路トポロジーマップを前記第2特徴モデルに入力してサブ回路設計段階を得るステップと、
前記サブ回路設計段階を実際の設計段階と比較し、対応する判定結果を得るステップとをさらに含む、ことを特徴とする請求項1に記載の回路設計のための人工知能実装方法。
【請求項9】
前記サブ回路トポロジーの設計段階は第2行列の形態で前記サンプルデータベースに格納され、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はサブ回路のサブ設計段階を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーの機能パラメータが前に保存されたサブ回路トポロジーの機能パラメータと異なることを示す、ことを特徴とする請求項8に記載の回路設計のための人工知能実装方法。
【請求項10】
回路設計のための人工知能実装システムであって、
複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得する取得モジュールと、
前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築する構築モジュールと、
各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得る訓練モジュールと、
設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得る出力モジュールと、
前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得る比較モジュールとを含む、ことを特徴とする回路設計のための人工知能実装システム。
【請求項11】
回路設計のための人工知能実装システムであって、
履歴段階の回路設計トポロジーマップ中のサブ回路トポロジーマップを分類して格納するために用いられ、前記分類のタイプはサブ回路トポロジーマップの機能である格納モジュールと、
既に格納されたすべての回路設計図に基づいて人工知能訓練を行って回路生成モデルを得るためのジェネレーター演算モジュールと、
既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得るためのトレーナー演算モジュールと、
設計されている回路設計図及び第1目標機能パラメータを入力するための第1入力モジュールと、
前記設計されている回路設計図及び前記第1目標機能パラメータを取得し、且つ前記回路生成モデルに基づき第1目標回路設計図を得るための生成モジュールと、
前記第1目標回路設計図を出力するための出力モジュールと、
第2目標機能パラメータを入力するための第2入力モジュールと、
前記第1目標回路設計図及び前記第2目標機能パラメータを取得し、且つ前記判断モデルに基づき前記第1目標回路設計図及び前記第2目標機能パラメータを判断した後第1結果を得て、訓練命令を生成して前記生成モジュールに出力するための判断モジュールとを含み、
前記生成モジュールは前記訓練命令を取得し、且つ前記訓練命令に基づき前記回路生成モデルを再訓練する、ことを特徴とする回路設計のための人工知能実装システム。
【請求項12】
既に格納されたすべての回路設計図に基づき訓練サンプルデータベースを構築し且つ前記トレーナー演算モジュールに入力するためのサンプルデータベース構築モジュールであって、前記サンプルデータベースは前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を含むサンプルデータベース構築モジュールをさらに含む、ことを特徴とする請求項11に記載の回路設計のための人工知能実装システム。
【請求項13】
前記サンプルデータベース構築モジュールは、
前記サブ回路トポロジーを分割し、前記サブ回路の機能パラメータ中の機能名に従って分類するための分割ユニットと、
前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を前記サンプルデータベースに格納するための構築ユニットとを含む、ことを特徴とする請求項12に記載の回路設計のための人工知能実装システム。
【請求項14】
前記サブ回路トポロジーマップの各回路素子名及び各回路素子同士の電気的接続関係は第1行列の形態で前記サンプルデータベースに格納され、
隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素X
ijはノードiとノードjとの間の回路素子A
abkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号である、ことを特徴とする請求項12に記載の回路設計のための人工知能実装システム。
【請求項15】
前記サンプルデータベースは第2行列をさらに含み、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はサブ回路のサブ設計段階を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーマップの機能パラメータが前に保存されたサブ回路トポロジーマップの機能パラメータと異なることを示す、ことを特徴とする請求項12に記載の回路設計のための人工知能実装システム。
【請求項16】
前記サブ回路の機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数をさらに含む、ことを特徴とする請求項12に記載の回路設計のための人工知能実装システム。
【請求項17】
前記第1目標機能パラメータと前記第2目標機能パラメータの値は同じであり、前記第1目標機能パラメータと前記第2目標機能パラメータはいずれも、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数を含む、ことを特徴とする請求項11に記載の回路設計のための人工知能実装システム。
【請求項18】
前記トレーナー演算モジュールは、
前記サンプルデータベースに基づきサンプル集合を構築するためのサンプル集合構築ユニットと、
前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割するためのサンプル集合分割ユニットと、
前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記ニューラルネットワークに入力して、訓練操作を実行するための読み取りユニットと、
訓練過程で第1ニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得するための第1ニューラルネットワークモデル構築ユニットと、
前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るための検証ユニットと、
検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記判断モデルを取得するための最適化ユニットとを含む、ことを特徴とする請求項12に記載の回路設計のための人工知能実装システム。
【請求項19】
前記検証ユニットは、
X個のテストサンプルを第1ニューラルネットワークモデルに入力し、X個の第1結果を取得するための入力サブユニットと、
前記X個の第1結果を前記X個のテストサンプルと比較し、前記第1結果と前記テストサンプルに対応する機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計するための統計サブユニットと、
サンプルの個数Yとサンプルの個数Xとの比である第1検証結果を計算するための計算サブユニットとを含む、ことを特徴とする請求項18に記載の回路設計のための人工知能実装システム。
【請求項20】
回路設計のための人工知能実装方法であって、
複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを格納するステップと、
既に格納されたすべての回路設計図に基づき人工知能訓練を行って回路生成モデルを得るステップと、
既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得るステップと、
設計されている回路設計図及び第1目標機能パラメータを前記回路生成モデルに入力し、第1目標回路設計図を出力するステップと、
前記判断モデルに基づき前記第1目標回路設計図及び第2目標機能パラメータを判断し第1結果を得て、且つ訓練命令を生成するステップと、
前記訓練命令を前記回路生成モデルに入力し、且つ前記訓練命令に基づき前記回路生成モデルを再訓練するステップとを含む、ことを特徴とする回路設計のための人工知能実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、回路設計の分野に関し、具体的には、人工知能に基づく回路設計方法及び実装システムに関する。
【背景技術】
【0002】
従来の回路の設計において、スイッチングトランジスタ等の半導体デバイスからなる能動回路はすべて研究開発者が経験に基づいて設計されるものであり、しかし、回路構造やデバイスパラメータが複雑で変わりやすいので、回路を設計する際に、研究開発者は通常、EDA(電子設計の自動化)ソフトウェアを利用して回路を設計し、シミュレーションにより設計の正確性を検証し、そのうち、回路を絶えずに変更する過程で、変更方向が誤っている問題があり、シミュレーション時間が長い問題もあり、その結果、回路設計に時間と労力がかかり、効率が低く、回路構造又はパラメータが数百回調整し改良されるため、回路設計の効率が低くなる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これに鑑みて、本願の実施例は、従来技術に存在する問題を解決することに寄与する、人工知能に基づく回路設計方法及び実装システムを提供する。
【課題を解決するための手段】
【0004】
第1態様では、本願は回路設計のための人工知能実装方法を提供し、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得するステップと、前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築するステップと、各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップと、設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得るステップと、前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得るステップとを含む。
【0005】
さらに、各タイプの前記サブ回路トポロジーマップを畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップにおいて、具体的に、前記回路設計トポロジーマップを前記複数のサブ回路トポロジーマップに分割し、前記サブ回路の機能パラメータ中の機能名に従って分類するステップと、前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を含むサンプルデータベースを構築するステップと、前記サンプルデータベース内のデータを収集し前記畳み込みニューラルネットワークに入力し訓練して前記第1特徴モデルを得るステップとが含まれる。
【0006】
さらに、前記サブ回路トポロジーの回路素子名及び各回路素子同士の接続関係は第1行列の形態で前記サンプルデータベースに格納され、隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素Xijはノードiとノードjとの間の回路素子Aabkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号である。
【0007】
さらに、前記サンプルデータベースは第2行列をさらに含み、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はすべてのサブ回路の保存回数を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーの機能パラメータが前に保存されたサブ回路トポロジーの機能パラメータと異なることを示す。
【0008】
さらに、前記機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数をさらに含む。
【0009】
さらに、前記サンプルデータベース内のデータを収集し前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップにおいて、具体的に、前記サンプルデータベースに基づきサンプル集合を構築するステップと、前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割するステップと、前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記畳み込みニューラルネットワークにバッチで入力して、訓練操作を実行するステップと、訓練過程で前記畳み込みニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得するステップと、前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るステップと、検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記第1特徴モデルを取得するステップとが含まれる。
【0010】
さらに、前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るステップにおいて、具体的に、X個のテストサンプルを前記第1ニューラルネットワークモデルに入力し、X個の第1結果を取得するステップと、前記X個の第1結果を前記X個のテストサンプルの機能パラメータと比較し、前記第1結果と前記テストサンプルに対応する機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計するステップと、サンプルの個数Yとサンプルの個数Xとの比である検証結果を計算するステップとが含まれる。
【0011】
さらに、前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得るステップにおいて、具体的に、前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも小さい場合、前記設計中の回路トポロジーマップの設計が合格であると判定し、前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも大きい場合、前記設計中の回路トポロジーマップの設計が不合格であると判定するステップが含まれる。
【0012】
さらに、前記回路設計トポロジーマップの設計全体は1つの設計サイクルであり、前記設計サイクルは複数の連続的なサブ設計段階を含み、各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るステップにおいて、前記サブ回路の入力ラベルは各サブ回路トポロジーマップが所在するサブ設計段階を含み、設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得る前記ステップにおいて、前記特徴パラメータは前記設計中の回路トポロジーマップ中の各サブ回路の設計段階を含む。
【0013】
第2態様では、本願は回路設計の判定システムをさらに提供し、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得する取得モジュールと、前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築する構築モジュールと、各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得る訓練モジュールと、設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得る出力モジュールと、前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得る比較モジュールとを含む。
【0014】
第3態様では、本願は回路設計のための人工知能実装システムを提供し、履歴段階の回路設計トポロジーマップ中のサブ回路トポロジーマップを分類して格納するために用いられ、前記分類のタイプはサブ回路トポロジーマップの機能である格納モジュールと、既に格納されたすべての回路設計図に基づいて人工知能訓練を行って回路生成モデルを得るためのジェネレーター演算モジュールと、既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得るためのトレーナー演算モジュールと、設計されている回路設計図及び第1目標機能パラメータを入力するための第1入力モジュールと、前記設計されている回路設計図及び前記第1目標機能パラメータを取得し、且つ前記回路生成モデルに基づき第1目標回路設計図を得るための生成モジュールと、前記第1目標回路設計図を出力するための出力モジュールと、第2目標機能パラメータを入力するための第2入力モジュールと、前記第1目標回路設計図を取得し、且つ前記判断モデルに基づき前記第1目標回路設計図を判断した後第1結果を得て、訓練命令を生成して前記生成モジュールに出力するための判断モジュールとを含み、前記生成モジュールは前記訓練命令を取得し、且つ前記訓練命令に基づき前記回路生成モデルを再訓練する。
【0015】
さらに、前記回路設計のための人工知能実装システムは、既に格納されたすべての回路設計図に基づき訓練サンプルデータベースを構築し且つ前記トレーナー演算モジュールに入力するためのサンプルデータベース構築モジュールであって、前記サンプルデータベースは前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を含むサンプルデータベース構築モジュールをさらに含む。
【0016】
さらに、前記サンプルデータベース構築モジュールは、前記サブ回路トポロジーを分割し、前記サブ回路の機能パラメータ中の機能名に従って分類するための分割ユニットと、前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を前記サンプルデータベースに格納するための構築ユニットとを含む。
【0017】
さらに、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係は第1行列の形態で前記サンプルデータベースに格納され、隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素Xijはノードiとノードjとの間の回路素子Aabkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号である。
【0018】
さらに、前記サンプルデータベースは第2行列をさらに含み、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はサブ回路のサブ設計段階を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーマップの機能パラメータが前に保存されたサブ回路トポロジーマップの機能パラメータと異なることを示す。
【0019】
さらに、前記機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数をさらに含む。
【0020】
さらに、前記第1目標機能パラメータと前記第2目標機能パラメータの値は同じであり、前記第1目標機能パラメータと前記第2目標機能パラメータはいずれも、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数を含む。
【0021】
さらに、前記トレーナー演算モジュールは、前記サンプルデータベースに基づきサンプル集合を構築するためのサンプル集合構築ユニットと、前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割するためのサンプル集合分割ユニットと、前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記ニューラルネットワークに入力して、訓練操作を実行するための読み取りユニットと、訓練過程で第1ニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得するための第1ニューラルネットワークモデル構築ユニットと、前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るための検証ユニットと、検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記判断モデルを取得するための最適化ユニットとを含む。
【0022】
さらに、前記検証ユニットは、X個のテストサンプルを第1ニューラルネットワークモデルに入力し、X個の第1結果を取得するための入力サブユニットと、前記X個の第1結果を前記X個のテストサンプルと比較し、前記第1結果と前記テストサンプルに対応する機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計するための統計サブユニットと、サンプルの個数Yとサンプルの個数Xとの比である第1検証結果を計算するための計算サブユニットとを含む。
【0023】
第4態様では、本願の回路設計のための人工知能実装方法は、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを格納するステップと、既に格納されたすべての回路設計図に基づき人工知能訓練を行って回路生成モデルを得るステップと、既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得るステップと、設計されている回路設計図及び第1目標機能パラメータを前記回路生成モデルに入力し、第1目標回路設計図を得るステップと、前記判断モデルに基づき前記第1目標回路設計図及び第2目標機能パラメータを判断し第1結果を得て、且つ訓練命令を生成するステップと、前記訓練命令を前記回路生成モデルに入力し、且つ前記訓練命令に基づき前記回路生成モデルを再訓練するステップとを含む。
【発明の効果】
【0024】
本願の技術的解決手段は、以下の利点を有する。
【0025】
本願は回路設計のための人工知能実装方法を提供し、履歴段階の回路設計トポロジーマップの異なるタイプのサブ回路を分類し、畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得て、設計されている回路トポロジーマップを前記第1特徴モデルに入力し回路特徴パラメータを得て、最後、前記回路特徴パラメータを予想パラメータと比較して、対応する判定結果を得ることにより、回路設計に判断を提供することができ、シミュレーションが不要になり、これにより、設計者は回路設計をタイムリーに調整し回路を最適化することができ、設計効率を向上させる。
【0026】
本願が提供するサンプルデータベースでは、サブ回路の接続関係が第1行列の形態で具現化され、且つ履歴段階の回路設計トポロジーマップのサブ回路の格納状況が記録されており、回路設計トポロジーマップを訓練することにより、サブ回路トポロジー構造を正確に説明することができ、訓練精度も向上し、且つ第1行列の形態で格納され、データ量が小さいため、同様に訓練速度を向上させることができる。
【0027】
本願は訓練の過程で、訓練ラベルは各サブ回路トポロジーマップが所在するサブ設計段階をさらに含み、畳み込みニューラルネットワークに入力し訓練して第2特徴モデルを得て、従って第2特徴モデルは前記設計中の回路トポロジーマップ中の各サブ回路の設計段階を出力する。最後、第2特徴モデルが出力した設計段階をサブ回路の実際の設計段階と比較し、同じでない場合、ロジックが乱れていると判定し、これは設計者に最適化の提案を提供し、作業効率を向上させることができる。サブ回路の設計段階が第2行列の形態で具現化されることにより、訓練速度を向上させることができる。
【0028】
本願は履歴段階の回路設計トポロジーマップの異なるタイプのサブ回路を分類して格納し、ジェネレーター演算モジュール及びトレーナー演算モジュールに入力しそれぞれ回路生成モデル及び判断モデルを得て、続いて設計されている回路設計トポロジーマップ及び第1目標機能パラメータを前記生成モジュールに入力し、前記生成モジュールは前記回路生成モデルに基づき第1目標回路設計図を得て、出力モジュールは前記第1目標回路設計図を出力することにより、設計効率を向上させるために、研究開発者に設計されている回路の設計参照方法を提供することができる。
【0029】
さらに、前記判断モジュールは前記第1目標回路設計図及び前記第2目標機能パラメータを取得し、且つ前記判断モデルに基づき前記第1目標回路設計図及び前記第2目標機能パラメータを判断した後第1結果を得て、訓練命令を生成して前記生成モジュールに出力し、前記生成モジュールは前記訓練命令に基づき前記回路生成モデルを再訓練し、再訓練する際にシミュレーションを行う必要がないため、訓練速度が速い。
【図面の簡単な説明】
【0030】
本願の具体的な実施形態又は従来技術の技術的解決手段をより明確に説明するために、以下では、具体的な実施形態又は従来技術の説明に使用される必要のある図面を簡単に説明し、明らかなように、以下の説明における図面は本願のいくつかの実施例であり、当業者であれば、創造的な労働を必要とせずにこれらの図面に基づいて他の図面を取得することもできる。
【0031】
【
図1】本願の実施例に係る回路設計の人工知能実装方法のフローチャートである。
【
図2】本願の実施例に係る回路設計の人工知能実装方法のフローチャートである。
【
図3】本願の実施例に係るサブ回路トポロジーの回路図である。
【
図4】本願の実施例に係る回路設計の人工知能実装方法のフローチャートである。
【
図5】本願の実施例に係る回路設計の人工知能実装方法のフローチャートである。
【
図6】本願の実施例に係る回路設計の人工知能実装システムの構造ブロック図である。
【
図7】本願の実施例に係る電子機器のハードウェア構造模式図である。
【
図8】本願の実施例に係る回路設計のための人工知能実装システムの構造ブロック図である。
【
図9】本願の実施例に係るサンプルデータベース構築モジュールの構造ブロック図である。
【
図10】本願の実施例に係るサブ回路トポロジーマップの回路図である。
【
図11】本願の実施例に係るトレーナー演算モジュールの構造ブロック図である。
【
図12】本願の実施例に係る検証ユニットの構造ブロック図である。
【
図13】本願の実施例に係る回路設計のための人工知能実装方法のフローチャートである。
【
図14】本願の別の実施例に係る電子機器のハードウェア構造模式図である。
【発明を実施するための形態】
【0032】
本願の実施例の目的、技術的解決手段及び利点をより明確にするために、以下では本願の実施例の図面を参照しながら、本願の実施例の技術的解決手段を明瞭で、完全に説明する。勿論、説明される実施例は本願の一部の実施例であり、全ての実施例ではない。本願の実施例に基づき、当業者が創造的な労働を必要とせずに得られるすべての他の実施例は、いずれも本願の保護範囲に属する。
【0033】
実施例1
図1に示すように、本願は回路設計のための人工知能実装方法を提供し、回路開発プラットフォームに適用され、研究開発者が保存ボタンをクリックするたびに、回路設計トポロジーマップのすべての変更記録を自動的に保存する。具体的に、保存ボタンのコードを変更し、つまり、実際にファイルを保存した後プログラムが編集、終了等の他のコードに戻る前に1行を挿入し、プログラムで保存したばかりのファイルの対応するネットリストファイルをコードリポジトリに記憶し、これにより、ファイルの歴史的なバージョンを効果的に保存することができる。回路設計のための人工知能実装方法はステップS1~ステップS6を含む。
【0034】
S1、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得する。前記履歴段階の回路設計トポロジーマップは第1回の設計サイクル内の完全な回路設計トポロジーマップを含む。サブ回路トポロジーマップは能動回路を含む。
【0035】
S2、前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築する。畳み込みニューラルネットワーク(Convolutional Neural Networks、CNNと略記)は畳み込み計算を含んで深層構造を有するフィードフォワードニューラルネットワーク(Feedforward Neural Networks)であり、深層学習(deep learning)の代表的なアルゴリズムの1つである。畳み込みニューラルネットワークは表現学習(representation learning)能力を有し、その階層構造に従って入力情報を並進不変に分類する(shift-invariant classification)ことができ、従って、「並進不変の人工ニューラルネットワーク(Shift-Invariant Artificial Neural Networks、SIANNと略記)」とも呼称される。
【0036】
S3、前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を含むサンプルデータベースを構築する。
図2に示すように、ステップS3は具体的にステップS301~ステップS302を含む。
【0037】
S301、前記回路設計トポロジーマップを前記複数のサブ回路トポロジーマップに分割し、前記サブ回路の機能パラメータ中の機能名に従って分類する。
【0038】
S302、前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を前記サンプルデータベースに格納する。
【0039】
表1に示すように、前記サブ回路トポロジーの回路素子名及び各回路素子同士の接続関係は第1行列の形態で前記サンプルデータベースに格納され、隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素Xijはノードiとノードjとの間の回路素子Aabkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号である。本願は第1行列を用いて訓練することにより訓練時間を短縮することができる。本願は第1行列を用いて回路接続関係を正確に説明するため、訓練モデル際の精度がより高い。
【0040】
図3に示すように、電圧源を含むRC回路トポロジーを例とし、図におけるサブ回路の各ノードに番号を付け、デフォルトのサブ回路の接地箇所のノードは0ノードであり、接地ノードがない場合ノード0が空けられ、ノード1から番号を付け始め、ノード番号を行列の横縦番号として表を作成し、すべての素子を入力して第1行列を得て、回路中のデバイスの実際の接続関係に関連付けることができる。
【0041】
【0042】
表において、X10の要素はVba1であり、ノード1からノード0までの間の回路素子Vを表し、回路素子Vの接続点bはノード1に接続され、回路素子Vの接続点aはノード0に接続され、デフォルトで、回路中の回路素子の出現回数はいずれも1であると仮定する。
【0043】
前記機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数等をさらに含む。
【0044】
異なるサブ回路の機能パラメータは異なり、例えば、バンドギャップ基準電圧源サブ回路の機能パラメータは入力電圧範囲、出力電圧、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率及び静的動作電流等を含み、発振回路の関連パラメータは出力周波数に関連するパラメータになり、従って本願は異なる機能のサブ回路を分類した後に訓練し、サブ回路の回路トポロジーを入力し、対応する機能パラメータを出力する。
【0045】
S4、各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得る。
【0046】
図4に示すように、ステップS4は具体的にステップS401~ステップS405を含む。
【0047】
S401、前記サンプルデータベースに基づきサンプル集合を構築する。
【0048】
S402、前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割する。
【0049】
S403、前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記畳み込みニューラルネットワークにバッチで入力して、訓練操作を実行する。
【0050】
S404、訓練過程で前記畳み込みニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得する。
【0051】
S405、前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得る。
図5に示すように、具体的に、ステップS3035は具体的にステップS4051~ステップS4053を含む。
【0052】
S4051、X個のテストサンプルを前記第1ニューラルネットワークモデルに入力し、X個の第1結果を取得し、前記第1結果は予測された機能パラメータである。
【0053】
S4052、前記X個の第1結果を前記X個のテストサンプルの機能パラメータと比較し、前記第1結果と前記テストサンプルの機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計する。
【0054】
S4053、サンプルの個数Yとサンプルの個数Xとの比である検証結果を計算する。
【0055】
S406、検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記第1特徴モデルを取得する。
【0056】
S5、設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得る。出力される特徴パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数等を含む。出力される特徴パラメータは機能パラメータに対応する。
【0057】
S6、前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得る。
【0058】
ステップS6について、具体的に、前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも小さい場合、前記設計中の回路トポロジーマップの設計が合格であると判定し、前記回路特徴パラメータと前記予想パラメータとの差の絶対値がパラメータ閾値よりも大きい場合、前記設計中の回路トポロジーマップの設計が不合格であると判定する。
【0059】
設計サイクルが完了するたびに、新たなサブ回路トポロジーが出現する可能性があるため、データの整合性を確保するために、第2回の設計サイクル内の完全な回路設計トポロジーマップを保存した後、第2回の設計サイクル内の完全な回路設計トポロジーマップのサンプルデータを前記畳み込みニューラルネットワークに入力して再訓練し、且つ前記第1特徴モデルを更新し、前記第2回の設計サイクル内の完全な回路設計トポロジーマップのサンプルデータは、サブ回路の機能パラメータ、サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係を含み、好ましくは、サブ回路トポロジーの各回路素子名及び各回路素子同士の接続関係は第3行列の形態で前記サンプルデータベースに格納され、前記第3行列は前記第1行列の格納方式と同じであり、以下同様である。
【0060】
1つの実施例では、前記回路設計トポロジーマップの設計全体は1つの設計サイクルであり、前記設計サイクルは複数の連続的なサブ設計段階を含み、一般的に、サブ設計段階は、サブ回路に異なる設計段階でラベリングするために、1~nのように時系列に番号を付ける。
【0061】
表2に示すように、前記サンプルデータベースは第2行列をさらに含み、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はサブ回路のサブ設計段階を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーの機能パラメータが前に保存されたサブ回路トポロジーマップの機能パラメータと異なることを示す。サブ回路の回路名は機能名である。本願は第2行列を用いて訓練することにより訓練時間を短縮することができる。
【0062】
【0063】
表2において、行1~行mはそれぞれ異なるサブ回路の機能名を表し、例えば、第1行はバンドギャップ基準電圧源を表し、第2行は発振器を表し、第m行は最上位の接続を表し、nは回路設計トポロジーマップ全体の保存されたサブ設計段階である。
【0064】
その場合、本願は回路設計のための人工知能実装方法を提供し、以下のステップをさらに含む。
【0065】
S7、前記第2行列を前記畳み込みニューラルネットワークに入力し訓練して第2特徴モデルを得る。ステップS7の訓練方法はステップS403を参照でき、ここで具体的に説明しない。
【0066】
S8、設計中の回路トポロジーマップを前記第2特徴モデルに入力してサブ回路設計段階を得る。
【0067】
S9、前記サブ回路設計段階を実際の設計段階と比較し、対応する判定結果を得る。
【0068】
最後、第2特徴モデルが出力した設計段階をサブ回路の実際の設計段階と比較し、同じでない場合、ロジックが乱れていると判定し、これは設計者に最適化の提案を提供することができる。第2回の設計サイクル内の完全な回路設計トポロジーマップを保存した後、第2回の設計サイクル内の完全な回路設計トポロジーマップに基づき、第2回の設計サイクル内の完全な回路設計トポロジーマップの新たなサブ回路機能名を第2行列に更新し、且つ更新後の第2行列を前記畳み込みニューラルネットワークに入力して再訓練し、前記第2特徴モデルを更新し、以下同様である。
【0069】
本願は、履歴段階の回路設計トポロジーマップの異なるタイプのサブ回路を分類し、畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得て、設計されている回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得て、最後、前記回路特徴パラメータを予想パラメータと比較して、対応する判定結果を得ることにより、回路設計に判断を提供することができ、シミュレーションが不要になり、これにより、設計者は回路設計をタイムリーに調整し回路を最適化することができ、さらに設計効率を向上させる。
【0070】
且つ本願は訓練の過程で、入力ラベルは各サブ回路トポロジーマップが所在するサブ設計段階をさらに含み、畳み込みニューラルネットワークに入力し訓練して第2特徴モデルを得て、従って第2特徴モデルは前記設計中の回路トポロジーマップ中の各サブ回路の設計段階を出力する。最後、第2特徴モデルが出力した設計段階をサブ回路の実際の設計段階と比較し、同じでない場合、ロジックが乱れていると判定し、これは設計者に最適化の提案を提供し、作業効率を向上させることができる。
【0071】
実施例2
図6に示すように、本願は回路設計のための人工知能実装システムを提供し、取得モジュール11、構築モジュール12、訓練モジュール13、出力モジュール14及び比較モジュール15を含む。
【0072】
前記取得モジュール11は、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを取得するために用いられる。
【0073】
前記構築モジュール12は、前記回路設計トポロジーマップを訓練するための畳み込みニューラルネットワークを構築するために用いられる。
【0074】
前記訓練モジュール13は、各タイプの前記サブ回路トポロジーマップを前記畳み込みニューラルネットワークに入力し訓練して第1特徴モデルを得るために用いられる。
【0075】
前記出力モジュール14は、設計中の回路トポロジーマップを前記第1特徴モデルに入力して回路特徴パラメータを得るために用いられる。
【0076】
前記比較モジュール15は、前記回路特徴パラメータを予想パラメータと比較し、対応する判定結果を得るために用いられる。
【0077】
本実施例は回路設計のための人工知能実装システムをさらに提供し、該システムは上記実施例及び好ましい実施形態を実現するために用いられ、既に説明した内容の説明は省略する。以下で使用される用語「モジュール」は所定の機能を実現可能なソフトウェア及び/又はハードウェアの組み合わせである。以下の実施例で説明される装置をソフトウェアで実現することが好ましいが、ハードウェア、又はソフトウェアとハードウェアの組み合わせによって実現することも可能で構想されるものである。
【0078】
本実施例における回路設計のための人工知能実装システムは機能ユニットの形態で具現化され、ここでのユニットとはASIC回路、1つ又は複数のソフトウェア又は固定プログラムを実行するプロセッサ及びメモリ、及び/又は上記機能を提供可能なその他のデバイスを指す。
【0079】
上記各モジュールのさらなる機能の説明は上記対応する実施例と同じであり、ここで繰り返し説明しない。
【0080】
実際に使用する過程で、該システムは研究開発者の第1回の完全な回路設計サイクル中のすべての回路設計トポロジーマップを保存し、既に格納されたすべての回路設計図を訓練モジュール13に入力することにより人工知能訓練を行い、人工知能訓練の結果に基づき、人工知能実装システムは、その後研究開発者が回路を設計するたびに、比較モジュール15によって回路トポロジー構造又はパラメータの変更が合理的であるか否かを判断し、且つ結果を研究開発者に出力し、それにより、研究開発者の回路設計効率を向上させる。
【0081】
図7に示すように、本願の実施例は、上記
図6に示される回路設計のための人工知能実装システムを有する電子機器をさらに提供する。
【0082】
図7を参照して、
図7は本願の選択可能な実施例に係る電子機器の構造模式図であり、該電子機器はCPU(Central Processing Unit、中央プロセッサ)等の少なくとも1つのプロセッサ51、少なくとも1つの通信インタフェース53、メモリ54、少なくとも1つの通信バス52を含んでもよい。通信バス52はこれらの構成要素の間の接続通信を実現するために用いられる。通信インタフェース53は表示画面(Display)、キーボード(Keyboard)を含んでもよく、選択的に、通信インタフェース53は標準の有線インタフェース、無線インタフェースをさらに含んでもよい。メモリ54は高速RAMメモリ(Random Access Memory、揮発性ランダムアクセスメモリ)であってもよく、又は少なくとも1つのディスクメモリ等の不揮発性メモリ(non-volatile memory)であってもよい。選択的に、メモリ54は上記プロセッサ51から離れる少なくとも1つの格納装置であってもよい。プロセッサ51は
図6に説明されるシステムと組み合わせることができ、メモリ54にアプリケーションプログラムが格納され、且つプロセッサ51はメモリ54に格納されるプログラムコードを呼び出して、上記回路設計のための人工知能実装方法を実行するために用いられる。
【0083】
通信バス52は周辺構成要素相互接続(peripheral component interconnect、PCIと略記)バス又は拡張業界標準アーキテクチャ(extended industry standard architecture、EISAと略記)バス等であってもよい。通信バス52はアドレスバス、データバス、コントロールバス等に分けられてもよい。表すことを簡単にするために、
図7では1本の太い線だけで表されているが、1本のバス又は1種類のバスのみが存在することを意味しない。
【0084】
メモリ54は揮発性メモリ(英語:volatile memory)、例えばランダムアクセスメモリ(英語:random-access memory、略称:RAM)を含んでもよく、メモリも不揮発性メモリ(英語:non-volatile memory)、例えばフラッシュメモリ(英語:flash memory)、ハードディスク(英語:hard disk drive、略称:HDD)又はソリッドステートドライブ(英語:solid-state drive、略称:SSD)を含んでもよく、メモリ54はさらに上記種類のメモリの組み合わせを含んでもよい。
【0085】
プロセッサ51は中央プロセッサ(英語:central processing unit、略称:CPU)、ネットワークプロセッサ(英語:network processor、略称:NP)又はCPUとNPの組み合わせであってもよい。
【0086】
プロセッサ51はさらにハードウェアチップを含んでもよい。上記ハードウェアチップは、特定用途向け集積回路(英語:application-specific integrated circuit、略称:ASIC)、プログラマブルロジックデバイス(英語:programmable logic device、略称:PLD)又はそれらの組み合わせであってもよい。上記PLDは、複合プログラマブルロジックデバイス(英語:complex programmable logic device、略称:CPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略称:FPGA)、汎用アレイロジック(英語:generic array logic、略称:GAL)又はそれらの任意の組み合わせであってもよい。
【0087】
選択的に、メモリ54はさらにプロクラム命令を格納するために用いられる。プロセッサ51はプログラム命令を呼び出して、本願に示されるピッキングバレルドリルの最適化方法を実現することができる。
【0088】
実施例3
図8に示すように、本願は回路設計のための人工知能実装システムを提供し、格納モジュール11、サンプルデータベース構築モジュール12、ジェネレーター演算モジュール13、トレーナー演算モジュール14、第1入力モジュール15、生成モジュール16、第2入力モジュール17、判断モジュール18及び出力モジュール19を含む。
【0089】
前記格納モジュール11は、履歴段階の回路設計トポロジーマップ中のサブ回路トポロジーマップを分類して格納するために用いられる。前記分類のタイプはサブ回路トポロジーマップの機能である。
【0090】
具体的に、回路開発プラットフォームは、研究開発者が保存ボタンをクリックするたびに、回路設計トポロジーマップのすべての変更記録を自動的に保存する。すべての変更記録を自動的に保存することは、具体的に、保存ボタンのコードを変更し、つまり、実際にファイルを保存した後プログラムが編集、終了等の他のコードに戻る前に1行を挿入し、プログラムで保存したばかりのファイルの対応するネットリストファイルをコードリポジトリに記憶し、これにより、ファイルの歴史的なバージョンを効果的に保存することができる。
【0091】
前記サンプルデータベース構築モジュール12は、既に格納されたすべての回路設計図に基づきサンプルデータベースを構築し且つ前記トレーナー演算モジュール14に入力するために使用され、前記サンプルデータベースは前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を含む。
【0092】
図9に示すように、前記サンプルデータベース構築モジュール12は分割ユニット121及び構築ユニット122を含む。
【0093】
前記分割ユニット121は、前記サブ回路トポロジーを分割し、前記サブ回路の機能パラメータ中の機能名に従って分類するために用いられる。
【0094】
前記構築ユニット122は、前記サブ回路の機能パラメータ、前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係を前記サンプルデータベースに格納するために用いられる。
【0095】
前記サブ回路トポロジーの各回路素子名及び各回路素子同士の電気的接続関係は第1行列の形態で前記サンプルデータベースに格納される。
【0096】
隣接する回路素子の間に1つのノードが設けられ、各回路素子は前記ノードに接続される接続点を含み、前記第1行列中の第i行第j列の要素Xijはノードiとノードjとの間の回路素子Aabkを表し、Aは回路素子のタイプ、aはノードiに接続される第1接続点、bはノードjに接続される第2接続点であり、kはAタイプの素子の番号である。
【0097】
図10に示すように、電圧源を含むRC回路トポロジーを例とし、図におけるサブ回路の各ノードに番号を付け、デフォルトのサブ回路の接地箇所のノードは0ノードであり、接地ノードがない場合ノード0が空けられ、ノード1から番号を付け始め、ノード番号を行列の横縦番号として表を作成し、すべての素子を入力して第1行列を得て、回路中のデバイスの実際の電気的接続関係に関連付けることができる。
【0098】
【0099】
表において、X10の要素はVba1であり、ノード1からノード0までの間の回路素子Vを表し、回路素子Vの接続点bはノード1に接続され、回路素子Vの接続点aはノード0に接続され、デフォルトで、回路中の回路素子の出現回数はいずれも1であると仮定する。
【0100】
実施例では、前記回路設計トポロジーマップの設計全体は1つの設計サイクルであり、前記設計サイクルは複数の連続的なサブ設計段階を含み、一般的に、サブ設計段階は、サブ回路に異なる設計段階でラベリングするために、1~nのように時系列に番号を付ける。
【0101】
前記サンプルデータベースは第2行列をさらに含み、前記第2行列は前記回路設計トポロジーマップ中のサブ回路を格納するために用いられ、前記第2行列中の第m行第n列の要素Yについては、第m行はあるサブ回路の回路名に対応する番号を表し、第n列はサブ回路のサブ設計段階を表し、Yの値は0又は1であり、0は前記あるサブ回路の回路トポロジーマップと前に保存されたサブ回路トポロジーマップが同じであることを示し、1は前記あるサブ回路の回路トポロジーマップの機能パラメータが前に保存されたサブ回路トポロジーマップの機能パラメータと異なることを示す。サブ回路の回路名は機能名である。
【0102】
【0103】
表4において、行1~行mはそれぞれ異なるサブ回路の機能名を表し、例えば、第1行はバンドギャップ基準電圧源を表し、第2行は発振器を表し、第m行は最上位の接続を表し、nは回路設計トポロジーマップ全体の保存されたサブ設計段階である。設計サイクルが完了するたびに、新たなサブ回路トポロジーが出現する可能性があるため、データの整合性を確保するために、第2回の設計サイクル内の完全な回路設計トポロジーマップを保存した後、第2回の設計サイクル内の完全な回路設計トポロジーマップに基づき第1行列を更新し、第2回の設計サイクル内の完全な回路設計トポロジーマップの新たなサブ回路機能名を第2行列に更新し、且つ更新後の第1行列及び第2行列を前記トレーナー演算モジュールに入力して再訓練し、前記判断モジュールを更新し、以下同様である。
【0104】
前記機能パラメータは、回路設計の設計段階、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数等をさらに含む。
【0105】
前記ジェネレーター演算モジュール13は、既に格納されたすべての回路設計図に基づき人工知能訓練を行って回路生成モデルを得るために用いられる。
【0106】
前記トレーナー演算モジュール14は、既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得るために用いられる。具体的に、サンプルデータベースに基づき人工知能訓練を行って判断モデルを得る。
【0107】
図11に示すように、前記トレーナー演算モジュール14はサンプル集合構築ユニット141、サンプル集合分割ユニット142、読み取りユニット143、第1ニューラルネットワークモデル構築ユニット144、検証ユニット145及び最適化ユニット146を含む。
【0108】
前記サンプル集合構築ユニット141は前記サンプルデータベースに基づきサンプル集合を構築するために用いられる。
【0109】
前記サンプル集合分割ユニット142は前記サンプル集合を訓練サンプル及びテストサンプルにランダムに分割するために用いられる。
【0110】
前記読み取りユニット143は前記訓練サンプル中のデータを読み取り、前記訓練サンプルを前記ニューラルネットワークに入力して、訓練操作を実行するために用いられる。
【0111】
前記第1ニューラルネットワークモデル構築ユニット144は訓練過程で前記ニューラルネットワークのネットワークパラメータ重みを調整して、訓練後の第1ニューラルネットワークモデルを取得するために用いられる。
【0112】
前記検証ユニット145は前記テストサンプルを前記第1ニューラルネットワークモデルに入力して検証操作を行い、検証結果を得るために用いられる。
【0113】
図12に示すように、前記検証ユニット145は入力サブユニット1451、統計サブユニット1452及び計算サブユニット1453を含む。
【0114】
前記入力サブユニット1451はX個のテストサンプルを第1ニューラルネットワークモデルに入力し、X個の第1結果を取得するために用いられる。
【0115】
前記統計サブユニット1452は前記X個の第1結果を前記X個のテストサンプルと比較し、前記第1結果と前記テストサンプルに対応する機能パラメータとの差の絶対値が閾値よりも大きいサンプルの個数Yを統計するために用いられる。
【0116】
前記計算サブユニット1453はサンプルの個数Yとサンプルの個数Xとの比である第1検証結果を計算するために用いられる。
【0117】
前記最適化ユニット146は検証された結果に基づき前記第1ニューラルネットワークモデルを最適化して、前記回路判断モデルを取得するために用いられる。
【0118】
前記第1入力モジュール15は設計されている回路設計図及び第1目標機能パラメータを入力するために用いられる。
【0119】
前記生成モジュール16は前記設計されている回路設計図及び前記第1目標機能パラメータを取得し、且つ前記回路生成モデルに基づき第1目標回路設計図を得るために用いられ、これは研究開発者に参照を提供し、設計効率及び設計精度を向上させることができる。
【0120】
前記第2入力モジュール17は第2目標機能パラメータを入力するために用いられる。前記第1目標機能パラメータと前記第2目標機能パラメータの値は同じであり、前記第1目標機能パラメータ及び第2目標機能パラメータはいずれも、入力電圧範囲、出力電圧範囲、出力電圧の温度ドリフト率、出力電圧の電圧ドリフト率、静的動作電流又は出力周波数等を含む。
【0121】
前記判断モジュール18は前記第1目標回路設計図及び前記第2目標機能パラメータを取得し、且つ前記判断モデルに基づき前記第1目標回路設計図及び前記第2目標機能パラメータを判断した後第1結果を得て、訓練命令を生成して前記生成モジュール16に出力し、生成モジュール16が回路生成モデルを再訓練するために用いられる。
【0122】
具体的に、前記第1目標回路設計図を前記判断モデルに入力し対応する機能パラメータを得て、且つ前記第2目標機能パラメータと比較し、差が閾値よりも大きい場合、該第1目標回路設計図が設計要件を満たさないと判定し、逆方向の訓練命令を生成する。差が閾値よりも小さい場合、該第1目標回路設計図が設計要件を満たすと判定し、順方向の訓練命令を生成し、最後、前記生成モジュール16は前記訓練命令を取得し、前記訓練命令に基づき前記回路生成モデルを再訓練する。再訓練する際にシミュレーションを行う必要がないため、訓練速度は速い。
【0123】
前記出力モジュール19は前記第1目標回路トポロジーマップを参照設計のために研究開発者に出力し、設計効率を向上させるために用いられる。
【0124】
本願は履歴段階の回路設計トポロジーマップの異なるタイプのサブ回路を分類し格納し、ジェネレーター演算モジュール13及びトレーナー計算モジュール14に入力しそれぞれ回路生成モデル及び判断モデルを得て、続いて設計されている回路設計トポロジーマップ及び第1目標機能パラメータを前記生成モジュール16に入力し、前記生成モジュール16は前記回路生成モデルに基づき第1目標回路設計図を得て、出力モジュール19は前記第1目標回路設計図を出力することにより、設計効率を向上させるために、研究開発者に設計されている回路の設計参照方法を提供することができる。
【0125】
さらに、前記判断モジュール17は前記第1目標回路設計図及び前記第2目標機能パラメータを取得し、且つ前記判断モデルに基づき前記第1目標回路設計図及び前記第2目標機能パラメータを判断した後第1結果を得て、訓練命令を生成して前記生成モジュール16に出力し、前記生成モジュール16は前記訓練命令に基づき前記回路生成モデルを再訓練し、再訓練する際にシミュレーションを行う必要がないため、訓練速度は速い。
【0126】
本願のシステムの具体的な動作過程は以下のとおりである。先ず、ジェネレーター演算モジュール13及びトレーナー演算モジュール14は第1回の回路設計サイクルの後に保存されたすべての回路図に基づき人工知能訓練を行って、回路生成モデル及び判断モデルを得る。
【0127】
第2回の回路設計サイクルの第1回のサブ設計段階で、先ず研究開発者が設計している回路図及び第1目標機能パラメータを生成モジュールに入力し第1目標回路設計図を得て、出力モジュールにより研究開発者及び判断モジュールに出力し、研究開発者は第1目標回路設計図を参照しながら回路を設計し、第1回の全体的な設計図を得て、それと同時に、判断モジュールは第2目標機能パラメータ及び第1目標回路設計図を取得し、判断モデルによって判断し、判断モジュールは判断結果に基づき訓練命令を生成して生成モジュールに出力し、生成モジュールは回路生成モデルを再訓練する。
【0128】
第2回の回路設計サイクルの第2回のサブ設計段階で、先ず第1回の全体的な設計図及び第1目標機能パラメータを入力し、生成モジュールは第2目標回路設計図を得て、該第2目標回路設計図は出力モジュールにより研究開発者及び判断モジュールに出力され、研究開発者は第2目標回路設計図を参照しながら回路を設計し、第2回の全体的な設計図を得て、それと同時に、判断モジュールは第2目標機能パラメータ及び第2目標回路設計図を取得し、判断モデルによって判断し、判断モジュールは判断結果に基づき訓練命令を生成して生成モジュールに出力し、生成モジュールは回路生成モデルを再訓練する。そして、第3回のサブ設計段階及びその後の訓練はこれと同様である。
【0129】
本実施例で使用される用語「モジュール」は所定の機能を実現可能なソフトウェア及び/又はハードウェアの組み合わせである。以下の実施例で説明される装置をソフトウェアで実現することが好ましいが、ハードウェア、又はソフトウェアとハードウェアの組み合わせによって実現することも可能で構想されるものである。
【0130】
本実施例中の回路設計のための人工知能実装システムは機能ユニットの形態で具現化され、ここでのユニットとはASIC回路、1つ又は複数のソフトウェア又は固定プログラムを実行するプロセッサ及びメモリ、及び/又は上記機能を提供可能なその他のデバイスを指す。
【0131】
実施例4
図13に示すように、本願は回路設計のための人工知能実装方法を提供し、ステップS1~ステップS6を含む。
【0132】
S1、複数のサブ回路トポロジーマップからなる履歴段階の回路設計トポロジーマップを格納する。
【0133】
S2、既に格納されたすべての回路設計図に基づき人工知能訓練を行って回路生成モデルを得る。
【0134】
S3、既に格納されたすべての回路設計図に基づき人工知能訓練を行って判断モデルを得る。
【0135】
S4、設計されている回路設計図及び第1目標機能パラメータを前記回路生成モデルに入力し、第1目標回路設計図を出力することで、研究開発者に参照を提供し、設計効率を向上させる。
【0136】
S5、前記判断モデルに基づき前記第1目標回路設計図及び第2目標機能パラメータを判断し第1結果を得て、且つ訓練命令を生成する。
【0137】
S6、前記訓練命令を前記回路生成モデルに入力し、且つ前記訓練命令に基づき前記回路生成モデルを再訓練する。
【0138】
本願は回路設計のための人工知能実装方法を提供し、本願は履歴段階の回路設計トポロジーマップの異なるタイプのサブ回路を分類し格納し、人工知能訓練を行ってそれぞれ回路生成モデル及び判断モデルを得て、続いて設計されている回路設計トポロジーマップ及び第1目標機能パラメータを前記回路生成モデルに入力し第1目標回路設計図を出力することにより、設計効率を向上させるために、研究開発者に設計されている回路の設計参照方法を提供することができる。
【0139】
さらに、前記第1目標回路設計図及び前記第2目標機能パラメータを前記判断モデルに入力し、且つ前記判断モデルに基づき前記第1目標回路設計図及び前記第2目標機能パラメータを判断した後第1結果を得て訓練命令を生成し、前記訓練命令に基づき前記回路生成モデルを再訓練し、再訓練する際にシミュレーションを行う必要がないため、訓練速度は速い。
【0140】
実施例5
本願の実施例は、上記
図8、
図9、
図11及び
図12に示される回路設計のための人工知能実装システムを有する電子機器をさらに提供する。
【0141】
図14を参照して、
図14は本願の選択可能な実施例に係る電子機器の構造模式図であり、該電子機器は、CPU(Central Processing Unit、中央プロセッサ)等の少なくとも1つのプロセッサ151、少なくとも1つの通信インタフェース153、メモリ154、少なくとも1つの通信バス152を含んでもよい。通信バス152はこれらの構成要素の間の接続通信を実現するために用いられる。通信インタフェース153は表示画面(Display)、キーボード(Keyboard)を含んでもよく、選択的に、通信インタフェース153は標準の有線インタフェース、無線インタフェースをさらに含んでもよい。メモリ154は高速RAMメモリ(Random Access Memory、揮発性ランダムアクセスメモリ)であってもよく、又は少なくとも1つのディスクメモリ等の不揮発性メモリ(non-volatile memory)であってもよい。選択的に、メモリ154は上記プロセッサ151から離れる少なくとも1つの格納装置であってもよい。プロセッサ151は実施例3に説明されるシステムと組み合わせることができ、メモリ154にアプリケーションプログラムが格納され、且つプロセッサ151はメモリ154に格納されるプログラムコードを呼び出して、上記回路設計のための人工知能実装方法のステップを実行するために用いられる。
【0142】
通信バス152は周辺構成要素相互接続(peripheral component interconnect、PCIと略記)バス又は拡張業界標準アーキテクチャ(extended industry standard architecture、EISAと略記)バス等であってもよい。通信バス152はアドレスバス、データバス、コントロールバス等に分けられてもよい。表すことを簡単にするために、
図14では1本の太い線だけで表されているが、1本のバス又は1種類のバスのみが存在することを意味しない。
【0143】
メモリ154は揮発性メモリ(英語:volatile memory)、例えばランダムアクセスメモリ(英語:random-access memory、略称:RAM)を含んでもよく)、メモリも不揮発性メモリ(英語:non-volatile memory)、例えばフラッシュメモリ(英語:flash memory)、ハードディスク(英語:hard disk drive、略称:HDD)又はソリッドステートドライブ(英語:solid-state drive、略称:SSD)を含んでもよく、メモリ154はさらに上記種類のメモリの組み合わせを含んでもよい。
【0144】
プロセッサ151は中央プロセッサ(英語:central processing unit、略称:CPU)、ネットワークプロセッサ(英語:network processor、略称:NP)又はCPUとNPの組み合わせであってもよい。
【0145】
プロセッサ151はさらにハードウェアチップを含んでもよい。上記ハードウェアチップは、特定用途向け集積回路(英語:application-specific integrated circuit、略称:ASIC)、プログラマブルロジックデバイス(英語:programmable logic device、略称:PLD)又はそれらの組み合わせであってもよい。上記PLDは、複合プログラマブルロジックデバイス(英語:complex programmable logic device、略称:CPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略称:FPGA)、汎用アレイロジック(英語:generic array logic、略称:GAL)又はそれらの任意の組み合わせであってもよい。
【0146】
選択的に、メモリ154はさらにプロクラム命令を格納するために用いられる。プロセッサ151はプログラム命令を呼び出して、本願に示されるピッキングバレルドリルの最適化方法を実現することができる。
【0147】
本願の実施例は非一時的コンピュータ記憶媒体をさらに提供し、前記コンピュータ記憶媒体にはコンピュータ実行可能命令が格納され、該コンピュータ実行可能命令は上記方法実施例のいずれかにおける回路設計のための人工知能実装方法を実行することができる。前記記憶媒体は磁気ディスク、光ディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ(Flash Memory)、ハードディスク(Hard Disk Drive、略称:HDD)又はソリッドステートドライブ(Solid-State Drive、SSD)等であってもよく、前記記憶媒体はさらに上記種類のメモリの組み合わせを含んでもよい。
【0148】
図面を参照しながら本願の実施例を説明したが、当業者であれば、本願の精神や範囲を逸脱することなく様々な修正や変形を行うことができ、これらの修正や変形はすべて添付の特許請求の範囲に限定される範囲内に属する。