(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052589
(43)【公開日】2024-04-11
(54)【発明の名称】プリント回路基板のレイアウト設計のための機械学習ツール
(51)【国際特許分類】
G06F 30/398 20200101AFI20240404BHJP
G06F 30/27 20200101ALI20240404BHJP
G06F 30/392 20200101ALI20240404BHJP
G06F 115/12 20200101ALN20240404BHJP
【FI】
G06F30/398
G06F30/27
G06F30/392
G06F115:12
【審査請求】未請求
【請求項の数】3
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023160172
(22)【出願日】2023-09-25
(31)【優先権主張番号】202211056301
(32)【優先日】2022-09-30
(33)【優先権主張国・地域又は機関】IN
(31)【優先権主張番号】18/059,138
(32)【優先日】2022-11-28
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】500575824
【氏名又は名称】ハネウェル・インターナショナル・インコーポレーテッド
【氏名又は名称原語表記】Honeywell International Inc.
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】アプルブ ジャイスワル
(72)【発明者】
【氏名】プラディープ アパランバス
(72)【発明者】
【氏名】シャナ アフリーン
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146DC03
5B146GC12
5B146GL04
(57)【要約】 (修正有)
【課題】プリント回路基板(PCB)の寄生効果を機械学習で判定し、出力するシステムを提供する。
【解決手段】機械学習システムにおいて、寄生インピーダンスの推定値を生成するために機械学習モデルによって実装されるプロセスは、メモリに結合された処理回路が、複数のPCBレイアウトで動作する機械学習モデルを、取得したPCBレイアウトに適用して、PCBレイアウト内の要素の寄生値の推定値を判定し、ディスプレイにその推定値を出力する。機械学習モデルは、規制値の推定値を判定するために、複数のPCBレイアウトを用いて訓練される。
【選択図】
図6
【特許請求の範囲】
【請求項1】
メモリと、
処理回路であって、前記処理回路は、前記メモリに結合されており、かつ
PCBレイアウトを取得し、
複数のPCBレイアウト上で動作するように構成された訓練された機械学習モデルである機械学習モデルを前記PCBレイアウトに適用して、前記PCBレイアウト内の要素の寄生値の推定値を判定するように構成されている、処理回路と、
前記PCBレイアウト内の前記要素の前記寄生値の前記推定値を出力するように構成されたディスプレイと、を備える、システム。
【請求項2】
前記要素の前記寄生値が、前記要素の寄生抵抗、前記要素の寄生インダクタンス、又は前記要素の寄生キャパシタンスのうちの1つを含み、
前記推定値を出力することが、
評価データセットを生成することと、
前記評価データセットに基づいて、変更されたレイアウト領域を作成することと、
前記変更されたレイアウト領域をグラフィカルユーザインターフェースに出力することと、を含む、請求項1に記載のシステム。
【請求項3】
前記訓練された機械学習モデルが、複数のPCBレイアウトを使用して訓練され、前記訓練することが、
学習データセットを用いて前記機械学習モデルを訓練することと、
出力に対して承認された範囲のセットを評価することと、
前記承認された範囲のセットを使用して、前記機械学習モデル内のコスト関数を調整することと、を更に含み、前記承認された範囲のセットにおいて、以前のPCBレイアウトを製造することから得られた複素インピーダンス分布を含む、請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2022年9月30日に出願されたインド特許仮出願第2022/11056301号の利益を主張するものであり、その全容が参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、プリント回路基板レイアウトツールに関する。
【背景技術】
【0003】
回路基板シミュレーションツールは、基板設計性能の精度を向上させながら、基板製造に必要なコスト及び時間を削減するのに役立つ。
【発明の概要】
【0004】
本開示の技法に従って、プリント回路基板(printed circuit board、PCB)の寄生効果をシミュレートする機械学習システムの出力を説明及び視覚化するPCBレイアウトツールが本明細書に記載される。本開示は、PCBを製造する前にPCB設計の性能を予測するためのPCBレイアウトツールを設計するための技法を対象とする。PCBの製造は、多くのリソース、時間、機器、及び金銭を必要とし得るので、製造改訂の数を制限するために、PCBレイアウトツールを用いて反復設計をシミュレートすることができる。
【0005】
現在の回路基板レイアウトツールは、場合によっては、回路基板の性能を有意な精度で予測しないことがある。予測される性能の不正確さは、現在の回路基板レイアウトツールを使用して正確に推定されない寄生インピーダンスに起因し得る。機械学習及びニューラルネットワークを使用することによって、本開示の回路基板レイアウトツールは、回路基板の性能をより正確に予測することができる。シミュレーションと測定との間の差から生じる誤差は、設計技術者によって実行される直観ベースの予測と比較して、グラフィカルニューラルネットワーク(graphical neural network、GNN)予測を使用して減少され得る。寄生インピーダンスの影響は、回路基板レイアウトツールにおける機械学習を使用してより正確に予測され得る。このようにして、訓練されたニューラルネットワークは、PCBレイアウトを分析し、新しいPCB設計の寄生インピーダンスをより正確に予測するために使用され得る。寄生インピーダンスのより正確な予測は、ユーザが、PCB設計の性能を、それを製造する前に、より正確に予測することを可能にする。
【0006】
一例では、本開示は、PCBレイアウトを取得することを含む方法を説明する。この方法はまた、PCBレイアウトに機械学習モデルを適用して、PCBレイアウト内の要素の寄生値の推定値を判定することを含む。機械学習モデルは、複数のPCBレイアウト上で動作するように構成された訓練された機械学習モデルである。本方法はまた、PCBレイアウト内の要素の寄生値の推定値を出力することを含む。
【0007】
別の例では、システムは、メモリと、メモリに結合された処理回路とを含む。処理回路は、PCBレイアウトを取得し、かつPCBレイアウトに機械学習モデルを適用して、PCBレイアウト内の要素の寄生値の推定値を判定するように構成されている。機械学習モデルは、複数のPCBレイアウト上で動作するように構成された訓練された機械学習モデルである。システムはまた、PCBレイアウト内の要素の寄生値の推定値を出力するように構成されたディスプレイを含む。
【0008】
1つ以上の例の詳細を添付図面及び以下の明細書に記載する。他の特徴、目的、及び利点は、説明、図面、及び特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0009】
【
図1】プリント回路基板(PCB)レイアウトの寄生効果を判定するために使用されるコンピューティングシステムのネットワークを示す概念ブロック図である。
【
図2】本開示の1つ以上の技法による、PCBレイアウトを分析するための機械学習モデルを起動するように構成されたコンピューティングシステムを示す概念ブロック図である。
【
図3】本開示の1つ以上の技法による、PCBレイアウト内の寄生インピーダンスを推定するためのシステムの一例を示す概念ブロック図である。
【
図4】本開示の1つ以上の技法による、寄生効果の推定値を生成する機械学習モデルによって実装されるプロセスの一例を示すフロー図である。
【
図5】本開示の1つ以上の技法による、寄生インピーダンスの推定値を生成する機械学習モデルによって実装されるプロセスの一例を示すフロー図である。
【
図6】寄生インピーダンスの推定値を生成するために機械学習モデルによって実装されるプロセスの一例を示すフロー図である。
【発明を実施するための形態】
【0010】
多くのデバイスに存在する電子回路は、プリント回路基板(PCB)上に実装されることが多い。これらの回路の設計及びレイアウトは、コンピュータシミュレーション及び設計反復の使用によって容易にされる。いくつかのPCBレイアウト設計は、高周波又は高速の信号を利用し得る。しかしながら、寄生容量、抵抗、及びインダクタンスなどの高速基板寄生効果が回路性能に著しい影響を及ぼすので、PCBレイアウトを設計することは困難な作業であり得る。キャパシタンス、抵抗、及びインダクタンスなどの寄生効果は、寄生インピーダンスとして表すこともできる。寄生インピーダンスは、複素インピーダンス値として表され得る。複素インピーダンス値は、抵抗成分値及び無効成分値を含み得る。複素インピーダンスの抵抗成分値は、寄生抵抗であってもよい。複素インピーダンスの無効成分値は、寄生容量(例えば、値が0より小さい場合)及び/又は寄生インダクタンス(例えば、値が0より大きい場合)であってもよい。
【0011】
高周波又は高速の信号は、様々な方法で使用されるアナログ又はデジタル電磁信号であり得る。特に、高周波電磁信号は、デジタル通信、デジタルクロッキング、無線周波数(radio frequency、RF)通信、デジタルデータ、及び電磁信号伝送に関する他の用途に使用され得る。高周波数では、電気信号は、近接して配置された電磁材料の物理的トポロジの影響をより受けやすくなる。電磁材料は、空気と著しく異なる導電率、誘電率、又は透磁率の値を有する材料であってもよい。高周波回路設計において重要な役割を果たすいくつかの用途は、PCBレイアウトを含む。PCBレイアウトは、所望の方法で電磁場を操作するために特定の構成で配置された導電性トレースを保持するために使用される誘電体材料を含む。構成の配置及びレイアウトは、高周波信号の完全性において重要な役割を果たす。いくつかの例では、電磁トレースは、寄生効果から発生する電磁損失を最小限に抑えるためにPCBレイアウト上に配置される。他の例では、寄生効果の評価は、不利な設計基準(例えば、位相遅延、電圧定在波(voltage standing wave、VSW))を最小限に抑えるようにPCBレイアウトがどのように構成されるかを指示するのに役立つ。
【0012】
寄生効果は、PCB上のトレース及び構成要素サイズの変動から生成され得る。寄生効果は、PCB伝送線の幅又はサイズが理想的な伝送線トポロジから変動するときに発生し得る。高い電磁周波数では、寄生効果が電磁反射の可能性を増大させ、それによって電磁損失を増大させる可能性がある。
【0013】
PCBレイアウトの設計及びレイアウトは、寄生効果を制限し、それによってPCBレイアウトの効率及び有効性を改善するステップを含むことができる。寄生効果を制限する1つのステップは、特定の回路設計又はPCBレイアウトの電磁効果をシミュレートすることを含むことである。PCBレイアウトツールを使用して、数式に基づいて予測される寄生インピーダンスをシミュレートすることができる。マクスウェル方程式などの方程式を使用して、PCBレイアウトの電界及び磁界を解くことができる。回路又はレイアウトの寄生インピーダンスの正確な推定値を有することによって、寄生効果が判定され得る。その寄生効果に基づいて、設計者は、それらのインピーダンスを補償するようにPCBレイアウトを調整することができる。
【0014】
しかしながら、PCBレイアウトツールは、いくつかの状況において、寄生インピーダンスを不正確に予測し得る。不正確さのために、レイアウト後のシミュレーションを使用して推定された性能と比較して、レイアウト前のシミュレーションを使用して推定された性能は異なる。レイアウトと性能との関係は複雑である。伝統的に、回路設計者は、自身の経験に従って寄生インピーダンスを推定し、より長いサイクル時間をもたらす。
【0015】
機械学習及びニューラルネットワークを使用することによって、回路レイアウトツールは、回路基板の性能をより正確に予測することができる。したがって、以前の設計を使用して設計ルールチェック(design rule check、DRC)を作成するために人工知能(artificial intelligence、AI)又は機械学習(machine learning、ML)を使用することは、以前の設計から新しい設計へとベストプラクティスを伝播する。
【0016】
図1は、電磁シミュレーションを起動するために使用されるコンピューティングシステムのネットワーク100を示す概念ブロック図である。ネットワーク100は、コンピュータ、サーバ、プロセッサ、ネットワークスイッチ、及び他のネットワークデバイスの相互接続である。ネットワーク100は、インターネット102への接続を含むことができる。インターネット102は、コンピューティングシステムの追加のネットワークへの接続を含むことができる。ネットワーク100は、コンピューティングシステム120及びシミュレーションサーバ130への接続を含んでもよい。
【0017】
ネットワーク100は、1つ以上の非エッジスイッチ、ルータ、ハブ、ゲートウェイ、ファイアウォール、侵入検出、及び/又は侵入防止デバイスなどのセキュリティデバイス、サーバ、コンピュータ端末、ラップトップ、プリンタ、データベース、携帯電話又は携帯情報端末などの無線モバイルデバイス、無線アクセスポイント、ブリッジ、ケーブルモデム、アプリケーションアクセラレータ、又は他のネットワークデバイスなどの1つ以上のコンピューティングデバイスを含んでもよい。ネットワーク100は、サービスプロバイダによって管理される1つ以上のネットワークを含むことができ、したがって、大規模公衆ネットワークインフラストラクチャ、例えばインターネットの一部を形成することができる。ネットワーク100は、コンピューティングシステム120などのコンピューティングデバイスにインターネット102へのアクセスを提供することができ、コンピューティングデバイスが互いに通信することを可能にする通信フレームワークを提供することができる。いくつかの例において、ネットワーク100は、コンピューティングシステム120、外部デバイス104、及びシミュレーションサーバが互いに通信することを可能にする通信フレームワークを提供するプライベートネットワークであってもよい。ネットワークの部分間の相互通信は可能であるが、ネットワーク100は、セキュリティ目的のために、コンピューティングシステム120、外部デバイス104、及びシミュレーションサーバのうちの1つ以上を、ネットワーク100の外部のデバイスから分離することができる。
【0018】
いくつかの例では、コンピューティングシステム120は、ハンドヘルドコンピューティングデバイス、コンピュータワークステーション、サーバ若しくは他のネットワーク化されたコンピューティングデバイス、スマートフォン、タブレット、又はユーザに情報を提示しユーザから入力を受信するためのユーザインターフェースを含む外部プログラマのうちの少なくとも1つを含む。機械学習モデルは、例えば、ニューラルネットワーク、深層学習システム、又は他のタイプの予測分析システムを含み得る。回路設計エンジニア、レイアウト技術者、レイアウト専門家、又はPCBエンジニアなどのユーザは、コンピューティングシステム120と対話して、PCB設計内の寄生効果の推定値に関連する電磁シミュレーションデータを取り出すことができる。ユーザはまた、コンピューティングシステム120と対話して、機械学習モデルを訓練及び検証することができる。コンピューティングシステム120は、回路基板設計を評価するために機械学習モデルを起動するように構成されたプロセッサを含み得る。コンピューティングシステム120は、機械学習モデルを起動して、特定のPCB設計によって生成される寄生インピーダンスを推定することができる。いくつかの例において、コンピューティングシステム120は、シミュレーションサーバのためのモデルを生成するために使用され得る。コンピューティングシステム120上のユーザは、回路又はPCBのモデルを生成し、ネットワーク100を介してモデルをシミュレーションサーバに転送することができる。
【0019】
シミュレーションサーバは、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、データベースサーバ、仮想サーバ、プロキシサーバ、ライセンスサーバ、又はユーザ入力デバイスから遠隔でソフトウェアを処理する際に使用される他のコンピュータプロセッサのうちの1つ以上を含んでもよい。シミュレーションサーバは、シミュレーションモデル、入力パラメータ、又は電磁ソルバシミュレーションを構成するための他のデータを受信するように構成され得る。サーバは、機械学習モデルを記憶するように更に構成され得る。サーバは、ネットワーク100を介してシミュレーション要求を受信し、一連のシミュレーションタスクを実行するためのキューを作成することができる。シミュレーションサーバは、機械学習モデルを訓練し、検証し、評価するためのアプリケーションを記憶するための記憶デバイスを含むコンピューティングシステムとして構成され得る。
【0020】
図2は、本開示の1つ以上の技法による、機械学習モデルを起動するように構成されたコンピューティングシステムの一例を示す概念ブロック図である。一例では、コンピューティングシステム120は、機械学習システム246又は本明細書で説明される任意の他のアプリケーションを含むアプリケーション230を実行するための処理回路202を含む。例示のためにスタンドアロンのコンピューティングシステム120として
図2に示されているが、コンピューティングシステム120は、ソフトウェア命令を実行するための処理回路又は他の適切なコンピューティング環境を含む任意のコンポーネント又はシステムであってもよく、例えば、
図2に示される1つ以上の要素を必ずしも含む必要はない(例えば、入力デバイス204、ネットワーク通信回路206、ユーザインターフェースデバイス210、又は出力デバイス212、いくつかの例では、記憶デバイス220などのコンポーネントは、他のコンポーネントと同じ場所に配置されていなくてもよく、又は他のコンポーネントと同じシャーシ内に配置されていなくてもよい)。いくつかの例では、コンピューティングシステム120は、複数のデバイスにわたって分散されたクラウドコンピューティングシステムであってもよい。
【0021】
図2の例に示されるように、コンピューティングシステム120は、処理回路202、1つ以上の入力デバイス204、ネットワーク通信回路206、1つ以上の記憶デバイス220、ユーザインターフェース(user interface、UI)デバイス210、及び1つ以上の出力デバイス212を含む。コンピューティングシステム120は、一例では、コンピューティングシステム120によって実行可能な機械学習システム246及びオペレーティングシステム232などの1つ以上のアプリケーション230を更に含む。コンポーネント202、204、206、208、210、及び212の各々は、コンポーネント間通信のために(物理的に、通信可能に、及び/又は動作可能に)結合されている。いくつかの例では、通信チャネル216は、伝送線、ケーブル、データ線、同軸接続、光ファイバ接続、無線接続、又はコンピューティングシステム120のコンポーネントをデジタル的に相互接続するための任意の他の方法を含み得る。一例として、コンポーネント202、204、206、208、210、及び212は、1つ以上の通信チャネル216によって結合され得る。
【0022】
処理回路202は、一例では、コンピューティングシステム120内で実行するための機能及び/又は処理命令を実装するように構成されている。例えば、処理回路202は、記憶デバイス220に記憶された命令を処理することが可能であってもよい。処理回路202の例は、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、又は等価の個別若しくは一体化した論理回路のうちの任意の1つ以上を含み得る。
【0023】
1つ以上の記憶デバイス220は、動作中にコンピューティングシステム120内に情報を記憶するように構成されることができる。記憶デバイス220は、いくつかの例では、コンピュータ可読記憶媒体として説明される。いくつかの例では、記憶デバイス220は一時メモリであり、これは、記憶デバイス220の主目的が長期記憶ではないことを意味する。記憶デバイス220は、いくつかの例では、揮発性メモリとして説明され、これは、記憶デバイス220が、コンピュータがオフにされたときに記憶されたコンテンツを維持しないことを意味する。揮発性メモリの例は、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、及び当技術分野で知られている他の形態の揮発性メモリを含む。いくつかの例では、記憶デバイス220は、処理回路202による実行のためのプログラム命令を記憶するために使用される。記憶デバイス220は、一例において、プログラム実行中に情報を一時的に記憶するために、コンピューティングシステム120上で起動されるソフトウェア又はアプリケーション230によって使用される。
【0024】
記憶デバイス220は、いくつかの例では、1つ以上のコンピュータ可読記憶媒体も含む。記憶デバイス220は、揮発性メモリよりも大量の情報を記憶するように構成され得る。記憶デバイス220は更に、情報の長期記憶のために構成され得る。いくつかの例では、記憶デバイス220は、不揮発性記憶要素を含む。そのような不揮発性記憶要素の例は、磁気ハードディスク、光ディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、又は電気的プログラマブルメモリ(electrically programmable memory、EPROM)若しくは電気的消去可能プログラマブル(electrically erasable and programmable、EEPROM)メモリの形態を含む。
【0025】
コンピューティングシステム120は、いくつかの例では、ネットワーク通信回路206も含む。コンピューティングシステム120は、一例では、ネットワーク通信回路206を利用して、
図1の外部デバイス104の例などの外部デバイスと通信する。ネットワーク通信回路206は、イーサネット(登録商標)カードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、又は情報を送受信することができる任意の他のタイプのデバイスを含むことができる。そのようなネットワークインターフェースの他の例は、3G、4G、5G、及びWiFi無線を含み得る。
【0026】
コンピューティングシステム120は、一例では、1つ以上のユーザインターフェースデバイス210も含む。ユーザインターフェースデバイス210は、いくつかの例では、触覚、音声、又は映像のフィードバックを通して、ユーザから入力を受信するように構成される。ユーザインターフェースデバイス210の例は、存在感知ディスプレイ、マウス、キーボード、音声応答システム、ビデオカメラ、マイクロフォン、又はユーザからのコマンドを検出するための任意の他のタイプのデバイスを含む。いくつかの例では、存在感知ディスプレイは、タッチ感知スクリーンを含む。存在感知ディスプレイは、入力デバイス204及びグラフィカルユーザインターフェース(graphical user interface、GUI)214の両方に見出される機能性を有し得る。
【0027】
1つ以上の出力デバイス212は、GUI214を含んでもよい。出力デバイス212は、いくつかの例では、触覚刺激、音声刺激、又は映像刺激を使用してユーザに出力を提供するように構成される。出力デバイス212は、一例では、GUI214を含む。GUI214は、存在感知ディスプレイ、サウンドカード、ビデオグラフィックスアダプタカード、又は信号を人間又は機械に理解可能な適切な形式に変換するための任意の他のタイプのデバイスを含むモニタ上に表示され得る。出力デバイス212の更なる例は、スピーカ、陰極線管(cathode ray tube、CRT)モニタ、液晶ディスプレイ(liquid crystal display、LCD)、又はユーザに対して理解可能な出力を生成することができる任意の他のタイプのデバイスを含む。
【0028】
コンピューティングシステム120は、オペレーティングシステム232を含んでもよい。オペレーティングシステム232は、いくつかの例では、コンピューティングシステム120のコンポーネントの動作を制御する。例えば、オペレーティングシステム232は、一例では、1つ以上のアプリケーション230及び機械学習システム246と、処理回路202、ネットワーク通信回路206、記憶デバイス220、入力デバイス204、ユーザインターフェースデバイス210、及び出力デバイス212との通信を容易にする。
【0029】
アプリケーション230はまた、コンピューティングシステム120によって実行可能なプログラム命令及び/又はデータを含んでもよい。コンピューティングシステム120によって実行可能な例示的なアプリケーション230は、機械学習システム246を含んでもよい。図示されていない他の追加のアプリケーションが、本明細書で説明される他の機能を提供するために代替的に又は追加的に含まれてもよく、簡略化のために図示されていない。
【0030】
本開示の技法によれば、コンピューティングシステム120は、機械学習システム246を使用して、機械学習モデルを新しいPCBレイアウトに適用する。機械学習モデルは、様々な機械学習アーキテクチャを使用して構成され得る。一例では、機械学習モデルは、グラフィカルニューラルネットワーク(GNN)として構成され得る。
【0031】
いくつかの例では、機械学習システム246によって実装される機械学習モデルは、訓練データセットを用いて訓練される。訓練データセットは、様々な学習データPCBレイアウトを含み得る。機械学習モデルを訓練することは、学習データセットに対して機械学習モデルを動作させることを含み得る。訓練はまた、出力に対して承認された範囲のセットを評価することを含み得る。最後に、訓練はまた、機械学習モデル内でコスト関数を調整することを含み得る。
【0032】
例えば、訓練段階中に、機械学習システム246は、複数のPCBレイアウトを処理する。典型的には、複数のPCBレイアウトは、複数の異なる回路基板設計からのものである。各PCBは、固有の伝送線及び構成要素構成を有し得る。例えば、訓練PCBは、複数のマイクロストリップ伝送線を含んでもよく、各マイクロストリップは、異なる配向及びルーティング経路を有する。マイクロストリップは、複数の個別構成要素及び接続パッドとともにPCB上に配置されてもよい。構成要素及び接続パッドに対する伝送線の配向は、パトリスティックインピーダンスをもたらし得る。いくつかの例では、PCB設計者は、どのPCBが所望の寄生インピーダンス値に沿った特性を有するかを判定することができる。いくつかの例では、機械学習システム246の機械学習モデルを訓練するために、望ましくないが測定された又は既知の寄生値を有するPCBレイアウトが使用され得る。
図2の機械学習システム246内の機械学習モデルは、訓練データを入力パラメータ及び重み(例えば、多変数ベクトル及びテンソル)に変換するように動作し得る。入力パラメータ及び重みを作成すると、機械学習システム246は、線形代数演算、非線形演算、又は代替計算演算などの数学的演算を適用することができる。いくつかの数学的演算が、バックプロパゲーションの目的のために使用され得る。バックプロパゲーションは、推定された寄生インピーダンスと既知の又は測定された寄生インピーダンスとの間の差に基づいて重みを調整することを含む。訓練されると、機械学習モデルは、新しいPCB設計における寄生インピーダンスを推定するために使用され得る。
【0033】
いくつかの例では、機械学習システム246は、まず機械学習モデルを訓練する。機械学習システム246は、PCBレイアウト又は回路基板を訓練データとして使用して、基板寄生の予測推定値と測定データとの間の差に応答して重みを調整することによって機械学習モデルを教示する。いくつかの例では、PCBの異なる特徴は、異なる入力パラメータによって表され得る。大きな寄生インピーダンスを有する基板特徴に関連付けられた重みは、訓練中に増加し得る。いくつかの基板特徴は、アンチパッドクリアランス、コンデンサ間のピッチ、分割平面ルーティング識別子、トレース間の間隔、アナログ及びデジタル接地平面の分離、アナログ及びデジタル接地間の仮想分割、バイア位置、差動対識別子、及びPCBレイアウトの他のデジタル化入力記述子を含み得る。
【0034】
いくつかの例では、複数の回路レイアウトを使用して機械モデルを訓練することは、学習データセットを用いて機械学習モデルを訓練することと、承認された範囲のセットを使用して機械学習モデル内のコスト関数を更新することとを更に含む。コスト関数は、重みの調整を判定するために使用される関数であり得る。いくつかの例では、機械学習システム246は、PCBレイアウト領域の1つ以上のサブ領域に対応する重みを適用するために、機械学習モデルのための訓練データとしてPCBレイアウトを使用し得る。各重みは、PCBの全体的な寄生推定値に対する様々なサブ領域の影響を強調又は非強調する数であり得る。多数のプリント回路カードレイアウトを処理することによって、機械学習システム246は、機械学習システム246が以前に分析していないPCBレイアウトを受信するために機械学習モデルを構築及び訓練することができる。新しいPCBレイアウトを処理する際に、訓練された機械学習モデルは、PCBレイアウト上の異なる構成要素及びトレースの寄生インピーダンスを正確に推定することができる。典型的には、機械学習システム246が訓練されるPCBレイアウトなどの訓練データの量が多いほど、寄生インピーダンス値を推定する際の機械学習モデルの精度が高くなる。
【0035】
いくつかの例では、承認された範囲は、様々な方法で判定され得る。承認された範囲は、設計限界又は製造公差を含んでもよい。いくつかの例では、複素インピーダンス分布は、以前のPCBレイアウトを製造することから得られ得る。複素インピーダンス分布は、コスト関数を更新するために使用される承認された範囲を判定するために使用され得る。いくつかの例では、訓練は、コスト関数の更新を伴う。コスト関数によって調整された重みが、承認された値の範囲内の出力を生成すると、機械学習モデルを訓練することができる。
【0036】
機械学習システム246が機械学習モデルを訓練した後、機械学習システム246は、新しいユーザPCB設計を受け取ることができる。訓練データと同様に、PCB設計は、デジタルデータの形態で機械学習モデルによって受信され得る。デジタルデータのいくつかの例は、定義された電磁材料特性を有する様々な2D又は3D基板モデルを含んでもよい。各PCB設計は、高速無線周波数(RF)通信ボードなどの特定の回路設計に対応する。機械学習システム246は、訓練された機械学習モデルを新しい回路設計のための新しいPCBレイアウトに適用する。更に、機械学習システム246は、訓練された機械学習モデルを適用して、再設計のために選択されたPCBレイアウトの一部を識別する。いくつかの例では、識別は、基板の最悪性能領域であってもよく、最悪性能サブ領域を除去するように基板レイアウトを再構成してもよい。いくつかの例では、機械学習システム246は、サブ領域の構成要素上の高レベルの寄生インピーダンスが大量の電磁損失を生成すると予想されるという判定を高レベルの信頼度で出力することができる。構成要素又はサブ領域上の寄生インピーダンスの推定値が高いと判定することに応答して、機械学習システムは、寄生インピーダンス値の推定値を出力し得る。一例では、推定値を出力することは、GUI214上に複素インピーダンス値を表示することを含み得る。
【0037】
いくつかの例では、推定値を出力するステップは、変更されたレイアウト領域を作成するステップと、変更されたレイアウト領域を使用して評価データセットを生成するステップと、変更されたレイアウト領域をグラフィカルユーザインターフェースに出力するステップとを含んでもよい。いくつかの例では、変更されたレイアウト領域は、最初に入力されたPCBレイアウトから変更されたPCBレイアウトであり得る。いくつかの例では、評価データセットを生成することは、変更されたレイアウト領域の特性に基づいて、PCBレイアウトのデータベースから類似のPCBレイアウトを選択することを含み得る。変更されたレイアウト領域をグラフィカルユーザインターフェースに出力することは、トレース及び構成要素の向きのPCB図を表示することを含み得る。
【0038】
いくつかの例では、機械学習システム246は、1つ以上のPCBレイアウトを処理して、1つ以上の推定寄生インピーダンス値にすることができる。1つ以上の推定された寄生インピーダンス値は、PCBレイアウトのサブ領域を強調する画像として視覚表示を介して出力されてもよい。画像はまた、数字又はグラフとして表示される、種々の推定寄生インピーダンス値を含んでもよい。推定寄生インピーダンス値は、PCBレイアウトの強調表示されたサブ領域に対応してもよい。推定された寄生インピーダンス値はまた、離散インピーダンス値として表され得る。要素についてのいくつかの寄生インピーダンス値は、要素についての寄生抵抗、要素についての寄生インダクタンス、及び/又は要素についての寄生キャパシタンスを含み得る。そのような例では、機械学習システムは、既知の又は測定された寄生インピーダンス値を有する複数のPCBレイアウトを介して機械学習モデルを訓練し得る。計算された推定値を既知の値又は測定値と比較することにより、機械学習モデルが差に基づいて重みを調整することが可能になる。計算された推定値と測定値との間の差に基づく重みの調整は、バックプロパゲーションと呼ばれる。
【0039】
いくつかの例では、機械学習システム246は、学習データで訓練されると、新しいPCBレイアウトを処理し、新しいPCBレイアウトのサブ領域の寄生インピーダンス値を推定することができる。追加の例では、機械学習システム246は、PCBレイアウト内のサブ領域の各々について、どのサブ領域がPCBレイアウト性能に最も大きな影響を与えるかを判定することができる。影響は、サブ領域推定寄生インピーダンスに比例し得る。様々なサブ領域は、対応する推定寄生インピーダンス値を有し、各寄生インピーダンス値は、PCB領域全体のインピーダンス値に寄与し得る。サブ領域の寄生インピーダンス値は、累積寄生インピーダンスに異なる影響を与える可能性がある。いくつかの例では、いくつかのサブ領域を形成する寄生インピーダンス値は、基板の特定の部分に沿った電磁界強度のために、基板全体により著しく影響を及ぼし得る。
【0040】
機械学習システム246は、累積寄生インピーダンス効果を推定するために、様々なサブ領域の推定された寄生値の重み調整を使用し得る。いくつかの例では、大きい推定寄生インピーダンス値を有するサブ領域(例えば、最悪性能のサブ領域)は、削除され、PCB内の異なるサブ領域のクローン化されたコピーで置換され得る。サブ領域を削除及び置換した後、機械学習システム246は、修正されたPCBの第2の分析を実行するために機械学習モデルを開始することができる。いくつかの例では、寄生インピーダンスの推定値が所定の承認された値の範囲内に入るまで、反復分析を実行することができる。
【0041】
いくつかの例では、機械学習システム246は、機械学習モデルを他のタイプのデータに適用して、寄生インピーダンスの推定値を判定することができる。例えば、機械学習システム246は、機械学習モデルを回路図、2D図面、又は材料特性のデータベースに適用することができる。データセットのいずれかを使用して、機械学習システム246は、寄生インピーダンスの推定値を計算し、それを既知の又は測定された寄生インピーダンス値と比較することができる。
【0042】
更なる例では、処理回路202は、寄生インピーダンスの推定値から、許容可能な値の範囲内の寄生インピーダンスの推定値を有する修正されたPCBの2Dレンダリングを生成してもよい。例えば、処理回路202は、機械学習システム246を反復的に適用して、寄生インピーダンス値の多数の推定値を得ることができる。機械学習モデルを使用する機械学習システム246の反復毎に、PCBレイアウトが修正され得る。PCBレイアウトは、領域全体をいくつかのサブ領域に細分し、大きな推定寄生インピーダンス値を有するサブ領域を削除することによって修正することができる。次いで、除去されたサブ領域は、PCB領域の別の部分からのサブ領域のコピーで置換される。いくつかの例では、この推定プロセスの各反復は、処理回路202によって指示され得る。処理回路202は、全処理時間を高速化するために、各反復を直列又は並列に指示してもよい。複数の機械学習モデルは、機械学習システムの複数の反復を通して利用され得る。反復推定値を並列に処理するとき、複数の反復中に起動される複数の機械学習モデルが使用され得る。
【0043】
追加の例は、訓練及び検証システム242及び評価システム244を含むことができる。訓練及び検証システム242及び評価システム244は、アプリケーション230に含まれてもよく、記憶デバイス220に記憶されてもよい。訓練及び検証システムは、処理回路202を動作させるために使用されるコンピュータ命令を用いて実装されてもよい。訓練及び検証システム242は、機械学習モデルを訓練するために機械学習システム246によって使用される訓練データセットを生成するために使用され得る。評価システム244はまた、処理回路202によって動作させられ、評価データを機械学習システム246に転送するように構成されている、コンピュータ命令を用いて実装されてもよい。
【0044】
いくつかの例では、訓練及び検証システム242並びに評価システム244は、処理回路202によって動作される単一のプログラムに組み合わせられてもよい。訓練及び検証システム242は、機械学習システム246を用いて機械学習モデルを訓練するように構成され得る。訓練及び検証システム242は、評価されるPCBレイアウトのタイプに適用可能な訓練データセット及び検証データセットに対応するPCBレイアウトデータを生成、フィルタリング、検索、又はグループ化することができる。機械学習システム246に関連して、訓練及び検証システム242は、訓練データとして選択されたPCBレイアウトデータを機械学習モデルに入力することができる。生成された結果を使用して、機械学習システム246は、コスト関数に基づいて機械学習モデルの重みを調整し得る。各モデルの後に重みを調整することは、バックプロパゲーションを通して行われ得る。訓練及び検証システム242はまた、訓練データセットからの全てのデータが機械学習モデルに入力された後に、訓練された機械学習モデルを検証するために使用され得る。
【0045】
評価システム244は、評価されるように選択されたPCBレイアウトを、機械学習システム246を介して訓練された機械学習モデルに転送するように構成され得る。検証データは、学習データセットに含まれるPCBレイアウトの量と比較して、より少ないPCBレイアウトを含み得る。検証データは、より多様な構成要素又はトレースの配向を有することができる。機械学習モデルの重みは、検証データセットを入力し、結果を期待される結果と比較した後に生成された出力応答に基づいて調整され得る。
【0046】
図3は、本開示の1つ以上の技法による、PCBレイアウト310内の寄生インピーダンス320を推定するための方法の一例を示す概念ブロック図である。
図3の例では、機械学習モデル300に出入りするデータの流れが示されている。機械学習モデルは、まずPCBレイアウト310を表すデータを取得する。このデータは、機械学習モデル内の入力パラメータにインポートされ得る。機械学習モデル300は、記憶デバイス上に記憶され得る。
図2の記憶デバイス220の例は、機械学習モデル300を記憶するための記憶デバイスとして使用され得る。いくつかの例では、機械学習モデルは、
図2の機械学習システム246などの機械学習システムを用いて実装され得る。機械学習モデル300は、PCBレイアウトを処理するために、様々な機械学習アーキテクチャを実装することができる。
図3の例では、ニューラルネットワーク304が実装される。ニューラルネットワーク304は、重み302を利用して、様々な入力パラメータが機械学習モデル300のアウトカムに与える影響を強調又は非強調し得る。機械学習モデル300は、PCBレイアウト310を正確に分析し、寄生インピーダンス320の信頼できる正確な推定値を出力するように訓練され得る。機械学習モデル300を訓練することは、様々なPCBレイアウト310を帰属させることから生成された結果を使用して重み302を調整することを含み得る。重み302を調整するプロセスは、寄生インピーダンス320の推定値を処理することと、その結果を、入力として使用されるPCBレイアウト310に対応する既知の値又は測定値と比較することとを含み得る。重み302の比較及び調整は、バックプロパゲーションと呼ばれることがある。
【0047】
図3の例では、PCBレイアウト310は、デジタルデータとして機械学習モデル300に入力されてもよい。PCBレイアウト310は、様々な形態のデータとして表すことができる。いくつかの例では、データは、三次元(three-dimensional、3D)コンピュータ支援設計(computer aided design、CAD)ファイルを表すデータであってもよい。そのようなファイルは、PCBレイアウト310を、割り当てられた寸法及び材料特性を有する3D形状として表すことができる。いくつかの例では、PCBレイアウト310は、電磁特性値のメッシュに対応するデータとして表されてもよい。いくつかの例では、デジタルデータは、PCBレイアウト310上の特徴に関する入力パラメータを表すことができる。入力パラメータのいくつかの例は、アンチパッドクリアランス、コンデンサ間のピッチ、分割平面ルーティング識別子、トレース間の間隔、アナログ及びデジタル接地平面の分離、アナログ及びデジタル接地間の仮想分割、バイア位置、差動対識別子、及びPCBレイアウトの他のデジタル化入力記述子を含み得る。いくつかの例では、PCBレイアウト310は、集中要素値(例えば、抵抗、インダクタンス、及びキャパシタンス)のウェブを指定するデータとして表されてもよい。各集中定数は、他の集中定数と空間的に関連付けられ、各集中定数は、特性インピーダンスを表す。
【0048】
図3の例において、PCBレイアウト310は、能動構成要素及び受動構成要素を備える集積チップを含み得る。いくつかの例では、PCBレイアウトは、複数の集積チップと、複数の集中要素と、複数の伝送線とを含み得る。集中要素はまた、能動構成要素及び受動構成要素を含んでもよい。集中要素、集積チップ、及びトレースは、PCBレイアウト310の物理的特徴並びに電磁特性を表すデジタルデータとして表され得る。
【0049】
図3の例では、PCBレイアウトを表すデータは、記憶デバイスに記憶され得る。記憶デバイスの一例は、
図2の記憶デバイス220を含み得る。次いで、データは、機械学習システムを使用して機械学習モデル300によって処理され得る。機械学習システムの一例は、
図2の機械学習システム246を含み得る。いくつかの例では、PCBレイアウトをデータに変換し、シミュレーションサーバに送信することができる。シミュレーションサーバの一例は、
図1のシミュレーションサーバ130であってよい。シミュレーションサーバは、データを機械学習モデル300にインポートし、それによって寄生インピーダンス320の推定値を生成することができる。
【0050】
PCBレイアウト310を表すデータは、機械学習モデル300内で様々な目的のために使用することができる。いくつかの例では、データは、訓練データ、検証データ、又は評価データ(例えば、アプリケーションデータ)として使用され得る。訓練データは、既知の結果又は測定された結果が存在するデータに対して機械学習モデル300を訓練するために使用される。訓練データは、既知の寄生インピーダンス値又は測定された寄生インピーダンス値を有するPCBレイアウトの大きなサンプルを表すデータを含むことができる。訓練データについての既知の寄生インピーダンス値又は測定された寄生インピーダンス値は、値の正規分布を有し得る。訓練データは、既知の寄生インピーダンス値又は測定された寄生インピーダンス値を有するPCBレイアウト310の小さいサンプリングを表すデータを含むことができる。検証データについての既知の寄生インピーダンス値又は測定された寄生インピーダンス値は、訓練データよりも大きな分布を有し得る。評価データ(例えば、アプリケーションデータ)は、既知の寄生インピーダンス値又は測定されたインピーダンス値を有さない単一のPCBレイアウトを表すデータを含み得る。
【0051】
いくつかの例では、PCBレイアウト310を表すデータ(例えば、訓練データ、検証データ、及びアプリケーションデータ)は、機械学習モデル300によって寄生インピーダンス320の推定値に処理され得る。
図3の例では、機械学習モデル300は、データを処理するためにニューラルネットワーク304を使用する。データを処理する間、機械学習モデル300内のニューラルネットワーク304は、重み302を使用して、寄生インピーダンス320の推定値に対して特定のサブ領域が有する影響を強調又は非強調し得る。
【0052】
図3の例では、ニューラルネットワーク304は、モデル内の重みを調整するために機械学習モデル300によって使用される。ニューラルネットワーク304は、重みを使用して、PCBレイアウトの特定のサブ領域が寄生インピーダンス320の推定値に及ぼす影響を非強調又は減衰させてもよい。第1の訓練データがモデルにインポートされる前に、重み302の値はランダムに割り当てられ得る。いくつかの例では、重み302の値は、初期入力データ値に比例して割り当てられ得る。第1の訓練データが寄生インピーダンス320の推定値に処理された後、バックプロパゲーションを使用して重みが調整され得る。
【0053】
いくつかの例では、バックプロパゲーションは、寄生インピーダンス320の結果として生じる推定値と、対応する既知の寄生インピーダンス値又は測定された寄生インピーダンス値との間の差に基づく数学的演算を含み得る。推定値と既知の値又は測定値との間のより大きい差は、重み302に対するより大きい変化をもたらし得る。ニューラルネットワーク304によって訓練データが寄生インピーダンス320の推定値に処理された後、バックプロパゲーションが実行される。いくつかの例では、検証データは、学習データの後に処理され得る。
【0054】
検証データは、重み302が十分に大きい学習データセットで特性訓練されたことを検証するために使用され得る。いくつかの例では、検証データは、以前の学習データよりも大きな統計的分布(例えば、分散)を有する既知の値又は測定値を有するPCBレイアウト310を表し得る。より大きな統計的分布は、機械学習システムが、アプリケーションデータとして観察される可能性がより低いデータに対して訓練されたニューラルネットワーク304をテストすることを可能にする。機械学習モデルが非常に変化しやすい検証データを処理することができる場合、機械学習モデルは、アプリケーションデータの寄生インピーダンス値を推定することにより成功する可能性が高い。
【0055】
図3の例では、機械学習モデル300は、入力パラメータ、関係接続(例えば、ベクトル又はテンソル)、及び重み302(例えば、大きさ)のアーキテクチャを含む。
図3の例では、ニューラルネットワーク304は入力パラメータを含み得る。入力パラメータデータ入力値は、他の入力パラメータに関係接続される。関係接続は、入力パラメータ間のデータ転送を示す入力パラメータ(例えば、ノード)のマッピングである。いくつかの例では、各ノードは、1つ以上のノードとの関係接続を有する。いくつかの例では、関係接続は、数学的演算を実行する前又は後に、関連するノードからの入力値の増幅又は減衰を含み得る。GNNなどのいくつかの例では、入力パラメータは、後に入力される値を修正するために、様々な関係接続及びノードを介して操作され得る。初期入力パラメータ値は、PCBレイアウト310を表すために使用されるデータから導出される。PCBレイアウト310から入力値を導出することは、入力パラメータへの入力値として使用され得る個々の値に行列を分割することを含み得る。
【0056】
図3の例では、ニューラルネットワーク304は、様々なアーキテクチャを含み得る。ニューラルネットワーク304のために使用される異なるアーキテクチャのいくつかの例は、畳み込みニューラルネットワーク、人工ニューラルネットワーク、深層学習ニューラルネットワーク、及びサブサンプリングニューラルネットワークを含む。
図3の例では、ニューラルネットワーク304は、本開示において明示的に言及されていない様々なニューラルネットワークとともに、異なるニューラルネットワークアーキテクチャの組み合わせを含み得る。
図3の例では、GNNが使用され得る。GNNは、関係をモデル化するためのよく知られたアーキテクチャである。GNNは、グラフのノード間を通過するメッセージを介してグラフの依存関係を捕捉するニューラルモデルである。推定(例えば、予測モデル)は、デジタル回路、デジタルPCB、又は回路モデルを表す他のデータの大きなデータセット上で評価され得る。
【0057】
いくつかの例では、GNNは、複数のグラフノード間の相互接続関係(例えば、ベクトル)のウェブから形成される。各ノードは、追加的に、データ入力のための入力パラメータを表す。GNNの例では、時間要素が、ニューラルネットワークの層を表すために導入され得る。各レイヤは、ある瞬間におけるニューラルネットワーク内の全てのノードの状態として定義され得る。ある層から次の層への移動は、相互接続されたノードからの入力に基づいて、ニューラルネットワーク内の各ノードを1回更新することを含む。複数の層が実行された後、ノードの状態が累積され、寄生インピーダンス306の推定値に処理され得る。
【0058】
図3の例では、重み302は、様々な方法で実装され得る。
図3の例では、重み302は、特定のノードが別のノードの値に対して有する影響に対応する1と0との間の数値を含む。一例では、第1のノードと第2のノードとの間の第1の関係接続は、重み302からの第1の重みで増幅又は減衰され得る。第3のノードは、重み302からの第2の重みを使用して、第2のノードとの第2の関係接続を有することができる。第1及び第2の関係接続のうち最大の重みを有する関係接続は、第3のノードに最も大きく影響する。しかしながら、学習プロセス中に、ニューラルネットワークの重みは、バックプロパゲーションに基づいて調整され得る。バックプロパゲーションは、寄生インピーダンスの計算された推定値と、訓練データとして使用される複数のPCBレイアウトにおけるPCBレイアウトのための測定された寄生インピーダンス又は既知の寄生インピーダンスとの間の差に基づいて重みを調整するために使用され得る。寄生インピーダンスの推定値を既知の寄生インピーダンス値又は測定された寄生インピーダンス値と比較した場合の差が大きいとき、重み302は、より大きい調整で調整され得る。
【0059】
図4は、寄生インピーダンスの推定値を生成する機械学習モデルによって実装されるプロセスの一例を示すフロー図である。
図4の例では、訓練データセット402が訓練モジュール404に送信される。訓練モジュール404は、ネットワークを保持しながら、モデルモジュール406を使用して機械学習モデルを訓練し得る。一例では、モジュール404は、
図2の訓練及び検証システム242に統合されてもよい。モデルモジュール406は、訓練モデル使用モジュールに基づいて訓練モジュール404にフィードバックを提供することができる。一例では、モデルモジュール406は、
図2の機械学習システム246に統合され得る。いくつかの例では、モデルモジュール406は、モジュール406を介して機械学習モデルを訓練するために、訓練データセット402の特定のサブセットを訓練モジュール404が使用することを要求するフィードバックを提供し得る。訓練モジュール404及びモデルモジュール406を使用して訓練された機械学習モデルは、モデル評価408を使用して評価される。一例では、モデル評価408は、
図2の訓練及び検証システム242に統合されてもよい。モデル評価が、モデルが十分に訓練又は検証されていないと判定した場合、訓練モジュール404は、モデルモジュール406によって動作されるモデルを訓練し続ける。モデル評価408が、モデルが訓練され検証されたと判定した場合、モデルは、モデルモジュール406を介して予測モジュール410に送られる。予測モジュールは、寄生モデルを予測するためにモデルモジュール内のデータ又は評価データを使用する。寄生モデルは、寄生インピーダンスの値が予測モジュール410によって予測される検出モジュール412に送信されてもよい。比較により、最も高い予測寄生インピーダンス値を有するPCBレイアウトのサブ領域を判定することができる。どのサブ領域が最も高い寄生インピーダンス値を有するかの判定に基づいて、ターゲット検出結果414が生成され得る。ターゲット検出結果414は、PCBレイアウト、寄生インピーダンス値、又は寄生効果の予測を示す他のデータソースを表すデジタルデータであってもよい。ターゲット検出結果414から得られる追加の情報は、最も高い寄生インピーダンスを有する基板の部分の識別、又は寄生インピーダンス要件を満たすために提案される変更を含むことができる。
【0060】
いくつかの例では、モデルモジュール内のモデルは、モデルモジュール406によって作成されるGNNである。機械学習モデルは、訓練データセット402を使用して、訓練モジュール404を介して訓練され得る。機械学習モデルは、訓練された機械学習モデルが検証されたかどうかを判定するために、モデル評価408を使用して評価され得る。いくつかの例では、訓練された機械学習モデルが検証されていない場合、異なる訓練データセット402が要求され得る。追加的に、検証されていない機械学習モデルは、機械学習モデルが変更されることをもたらし得る。いくつかの例では、モデルモジュール406は、新しいGNN又は変更されたGNNを作成し、訓練データセット402を用いて新しいGNN又は変更されたGNNを訓練する。新しいGNN又は変更されたGNNは、モデル評価408を使用して再評価され得る。モデルがモデル評価408によって検証されると判定された場合、モデルは予測モジュール410に送信されてもよく、結果は更に検出モジュール412に送信される。検出モジュール412から来る検出結果は、ターゲット検出結果414に送信されてもよい。
【0061】
図5は、寄生インピーダンス306の推定値をもたらす機械学習モデル300によって実装されるプロセスの一例を示すフロー図である。
図5の例では、寄生インピーダンスの推定値を生成するプロセスは、機械学習システム246によって実装され得る。このプロセスは、現在の結果を初期化及び評価すること(502)と、現在の結果を使用して領域についての学習サンプル及び検証サンプルを生成すること(504)とを含み得る。
図5の例では、プロセスは、中間ニューラルモデルを作成すること(506)を含む。いくつかの例では、機械学習モデルは、
図2の機械学習システム246によって作成され得る。中間ニューラルモデルを作成(506)した後、プロセスは、学習サンプルを用いて中間ニューラルモデルを訓練すること(508)と、検証サンプルを使用して現在の結果を評価すること(510)とを含む。検証サンプルを使用して現在の結果を評価すること(510)が完了すると、現在の結果を所望の範囲と比較すること(512)が実行され得る。結果が所望の範囲内にある場合、モデルは検証されており、プロセスは結果を出力すること(520)ができる。
【0062】
しかしながら、結果が所望の範囲内にない場合、プロセスは、領域を等しいサブ領域に分割すること(514)によって継続することができる。領域を等しいサブ領域に分割すること(514)は、PCBレイアウト面積をより小さいPCBレイアウト面積に分割することを含み得、全てのより小さいPCBレイアウト面積は、より大きい領域をテッセレーションする。領域を等しいサブ領域に分割することは、再設計のために選択されたPCBレイアウトの一部を識別することを含み得る。一例は、最悪性能のサブ領域を識別して除去し(516)、最悪性能のサブ領域を異なるサブ領域で置換すること(518)を含む。
【0063】
領域を等しいサブ領域に分割(514)した後、最悪性能のサブ領域を識別して除去すること(516)は、様々な方法で実行され得る。より小さいPCBレイアウト面積又はサブ領域は、そのそれぞれの寄生効果の推定値のために評価され得る。比較により、対応するサブ領域から生じる最悪の推定寄生効果を判定することができる。一例では、推定された寄生効果を所望の許容範囲と比較することができる。許容範囲外の推定寄生効果を有するサブ領域は、最悪性能のサブ領域であると判定されてもよい。
【0064】
いくつかの例では、置換されたサブ領域を含む新しい領域は、現在の結果について再び評価され得、学習サンプル及び検証サンプルを再生成し、中間ニューラルモデルを再作成し、学習サンプルを用いて中間ニューラルモデルを再訓練し、現在の結果を再評価し、現在の結果を所望の範囲と再び比較する。プロセスは、新しい領域を評価データ(例えば、アプリケーションデータ)として使用して現在の結果を評価することによって再び開始する。プロセスは、現在の結果を所望の範囲と比較すること(512)が所望の範囲内の現在の結果をもたらすまで継続することができる。現在の結果が所望の範囲内となると、出力結果520が生じ得る。
【0065】
図6は、寄生インピーダンスの推定値を生成するために機械学習モデルによって実装されるプロセスの一例を示すフロー図である。
図6のプロセスは、
図1のネットワーク100を使用して実装することができる。プロセスは、ユーザインターフェース又はデジタルインターフェースからPCBレイアウトを取得するステップ(602)を含んでもよい。いくつかの例では、ユーザは、デジタルカメラのスキャナを介してレイアウトのコピーをスキャンすることができる。場合によっては、レイアウトは、デジタルソフトウェアから作成されてもよく、レイアウトが記憶されているデジタル記憶媒体から取得されてもよい。
【0066】
いくつかの例では、
図1のコンピューティングシステム120又はシミュレーションサーバ130は、機械学習モデルをPCBレイアウトに適用すること(604)ができる。機械学習モデルは、
図4又は
図5の機械学習プロセスを介して作成され、訓練され、検証された学習モデルであり得る。この機械学習プロセスは、GNN又は他のニューラルネットワークを介して行われる機械学習プロセスを使用することができる。
【0067】
いくつかの例では、
図1のコンピューティングシステム120又はシミュレーションサーバ130は、PCBレイアウトの要素についての寄生インピーダンスの推定値を判定すること(606)ができる。推定値を判定することは、機械学習モデルを評価データに適用することと、出力を生成することとを含み得る。いくつかの例では、推定値を判定するステップは、訓練データ及び評価データに基づいて調整された重みを有するニューラルネットワークに評価データを入力することを含み得る。PCBの要素は、トレース、バイアホール、ランディングパッド、基板パラメータ、又は他の基板特性であってもよい。
【0068】
追加の例では、
図1のコンピューティングシステム120は、PCBレイアウトの要素の寄生インピーダンスの推定値を出力すること(608)ができる。いくつかの例では、推定値は、評価されたPCBのグラフィカル表示であってもよい。いくつかの例では、グラフィカル表示は、寄生インピーダンスの位置及び等価の個別構成要素表現を示し得る。いくつかの例では、寄生インピーダンスの推定値は、等価の個別回路の例示であり得る。いくつかの例では、推定値を出力することは、変更されたレイアウト領域を作成することと、変更されたレイアウト領域を使用して評価データセットを再生成することと、変更されたレイアウト領域をGUIに出力することとを含む。
【0069】
以下の実施例は、本開示の1つ以上の態様を示し得る。
【0070】
条項1:プリント回路基板(PCB)レイアウトを取得することと、複数のPCBレイアウト上で動作するように構成された訓練された機械学習モデルである機械学習モデルをPCBレイアウトに適用して、PCBレイアウト内の要素の寄生値の推定値を判定することと、PCBレイアウト内の要素の寄生値の推定値を出力することと、を含む、方法。
条項2:要素の寄生値が、要素の寄生抵抗、要素の寄生インダクタンス、又は要素の寄生キャパシタンスのうちの1つを含む、条項1に記載の方法。
条項3:機械学習モデルが、グラフィカルニューラルネットワークを含む、条項1又は2に記載の方法。
条項4:推定値を出力することが、評価データセットを生成することと、評価データセットに基づいて、変更されたレイアウト領域を作成することと、変更されたレイアウト領域をグラフィカルユーザインターフェースに出力することと、を含む、条項1~3に記載の方法。
条項5:推定値を出力することが、グラフィカルユーザインターフェース上に複素インピーダンス値を表示することを含む、条項1~4に記載の方法。
条項6:訓練された機械学習モデルが、複数のPCBレイアウトを使用して訓練され、訓練することが、学習データセットに対して機械学習モデルを動作させることと、出力に対して承認された範囲のセットを評価することと、機械学習モデル内のコスト関数を調整することと、を更に含む、条項1~5に記載の方法。
条項7:承認された範囲のセットにおいて、以前のPCBレイアウトの製造から得られた複素インピーダンス分布を含む、条項6に記載の方法。
条項8:動作するように構成されることが、再設計のために選択されたPCBレイアウトの一部分を識別することを更に含む、条項1~7に記載の方法。
条項9:PCBレイアウトが、複数の集積チップと、複数の集中要素と、複数の伝送線とを備える、条項1~8に記載の方法。
条項10:集積チップが能動構成要素及び受動構成要素を備え、集中要素が能動構成要素及び受動構成要素を備える、条項1~9に記載の方法。
第11項:メモリと、処理回路であって、処理回路は、メモリに結合されており、かつPCBレイアウトを取得し、複数のPCBレイアウト上で動作するように構成された訓練された機械学習モデルである機械学習モデルをPCBレイアウトに適用して、PCBレイアウト内の要素の寄生値の推定値を判定するように構成されている、処理回路と、PCBレイアウト内の要素の寄生値の推定値を出力するように構成されたディスプレイと、を備える、システム。
条項12:要素の寄生値が、要素の寄生抵抗、要素の寄生インダクタンス、又は要素の寄生キャパシタンスのうちの1つを含む、条項11に記載の方法。
条項13:機械学習モデルが、グラフィカルニューラルネットワークを含む、条項11又は12に記載の方法。
条項14:推定値を出力することが、評価データセットを生成することと、評価データセットに基づいて、変更されたレイアウト領域を作成することと、変更されたレイアウト領域をグラフィカルユーザインターフェースに出力することと、を含む、条項11~13に記載の方法。
条項15:承認された範囲のセットにおいて、以前のPCBレイアウトの製造から得られた複素インピーダンス分布を含む、条項11~14に記載の方法。
条項16:複数の回路レイアウトを使用して機械モデルを訓練することが、学習データセットを用いて機械学習モデルを訓練することと、承認された範囲のセットを使用して機械学習モデル内のコスト関数を更新することと、を更に含む、条項11~15に記載の方法。
条項17:動作するように構成されることが、再設計のために選択されたPCBレイアウトの一部分を識別することを更に含む、条項11~16に記載の方法。
条項18:PCBレイアウトが、複数の集積チップと、複数の集中要素と、複数の伝送線とを備える、条項11~17に記載の方法。
条項19:集積チップが能動構成要素及び受動構成要素を備え、集中要素が能動構成要素及び受動構成要素を備える、条項16~18に記載の方法。
条項20:PCBレイアウトが、複数の集積チップと、複数の集中要素と、複数の伝送線とを備える、条項11~19に記載の方法。
【0071】
本開示は、プロセッサに、本明細書に記載される機能及び技法のいずれかを実行させる命令を含むコンピュータ可読記憶媒体を企図する。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、不揮発性ランダムアクセスメモリ、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、又はフラッシュメモリなど、任意の揮発性、不揮発性、磁気、光、又は電気媒体の例示的な形態をとることができる。コンピュータ可読記憶媒体は、非一時的信号を記憶するように構成され得る。
【0072】
本開示に記載される技法は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせで実装され得る。例えば、技法の様々な態様は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、又は任意の他の等価な集積若しくは個別の論理回路、並びにこのような構成要素の任意の組み合わせを含む、1つ以上のプロセッサ内で実行され得る。「プロセッサ」又は「処理回路」という用語は、一般に、前述の論理回路のうちのいずれかを単独で、又は他の論理回路と組み合わせて、又は任意の他の等価回路を指すことができる。
【0073】
本明細書で使用するとき、「回路」という用語は、特定用途向け集積回路、電子回路、(共有、専用、又はグループ)プロセッサ、及び1つ以上のソフトウェア若しくはファームウェアプログラムを実行するメモリ、組み合わせ論理回路、又は記載された機能を提供する他の好適な構成要素を指す。「処理回路」という用語は、1つ以上のデバイスにわたって分散された1つ以上のプロセッサを指す。例えば、「処理回路」は、デバイス上の単一のプロセッサ又は複数のプロセッサを含んでもよい。「処理回路」はまた、複数のデバイス上のプロセッサを含むことができ、本明細書に記載される操作は、プロセッサ及びデバイスにわたって分散されてもよい。
【0074】
そのようなハードウェア、ソフトウェア、ファームウェアは、本開示に記載される様々な操作及び機能をサポートするために、同じデバイス内又は別個のデバイス内に実装されてもよい。加えて、記載されたユニット、モジュール、又は構成要素のいずれも、個別であるが相互運用可能な論理デバイスとして、一緒に又は別個に実装されてもよい。モジュール又はユニットとしての異なる特徴の描写は、異なる機能的態様を強調することを意図しており、そのようなモジュール又はユニットが別個のハードウェア又はソフトウェア構成要素によって実現されなければならないことを必ずしも意味するものではない。むしろ、1つ以上のモジュール又はユニットと関連付けられた機能は、別個のハードウェア若しくはソフトウェア構成要素によって実行されてもよく、又は共通の若しくは別個のハードウェア若しくはソフトウェア構成要素内に統合されてもよい。
【外国語明細書】