JP6902113B2 - SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法 - Google Patents

SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法 Download PDF

Info

Publication number
JP6902113B2
JP6902113B2 JP2019558331A JP2019558331A JP6902113B2 JP 6902113 B2 JP6902113 B2 JP 6902113B2 JP 2019558331 A JP2019558331 A JP 2019558331A JP 2019558331 A JP2019558331 A JP 2019558331A JP 6902113 B2 JP6902113 B2 JP 6902113B2
Authority
JP
Japan
Prior art keywords
soc
domain
smdp
design
value
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
JP2019558331A
Other languages
English (en)
Other versions
JP2020514932A (ja
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.)
Alphaics Corp
Original Assignee
Alphaics Corp
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 Alphaics Corp filed Critical Alphaics Corp
Publication of JP2020514932A publication Critical patent/JP2020514932A/ja
Application granted granted Critical
Publication of JP6902113B2 publication Critical patent/JP6902113B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

[関連出願の相互参照]
本出願は、「システムオンチップ回路を設計するためのコンピュータ実装システムおよびその方法」と題する、2017年1月8日に出願された米国仮特許出願第62/443803号の優先権を主張し、また、「人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法」と題する、2017年4月27日に出願された別の米国非仮特許出願第15/499832号の優先権を主張し、また、「SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法」と題する、2017年9月7日に出願された別の分割出願第15/697803号の優先権を主張する。上述の出願の内容は、参照によりその全体が本明細書に含まれる。
本明細書の実施形態は、集積回路(IC)を設計するための装置/システムに関する。本明細書の実施形態は、特には、システムオンチップ(SoC)のようなICを設計するための装置/システムに関する。本明細書の実施形態は、より具体的には、人工知能(AI)および強化学習技術を使用してシステムオンチップ(SoC)を設計するためのシステムおよび方法に関する。
システムオンチップ(SOC)は、電気/電子システムのすべての構成要素を単一のチップに統合した集積回路(IC)である。集積回路は、通常、とりわけ単一のチップ基板上に埋め込まれた、デジタル機能、アナログ機能、混合信号機能、および無線周波数機能を含む。集積回路は、通常、ハードウェア(例えば、マイクロプロセッサ、およびマイクロコントローラ)に加えて、ハードウェアの機能および実装を制御するために必要なソフトウェアも含む。
通常、SoCは、そこに含まれるべきハードウェア要素に対応する、事前に認定されたハードウェアブロックから、該ハードウェア要素の機能を制御するソフトウェアドライバと共に開発される。通常、ハードウェア要素は、既知のコンピュータ支援設計(CAD)ツールを使用して組み立てられ、対応するソフトウェアモジュールは、SoC回路のアーキテクチャの完成後に、ソフトウェアの統合開発環境を使用して統合される。
通常のSoC回路の設計フローは、手作業で細分化され実装される。さらに、(SoC回路の)設計フローを物理設計に変換するプロセスは、(対応する設計フローが)手作業によって実装および細分化される性質のために、(設計関連の)エラーがないわけではない。通常、(SoC回路の)設計フローから物理設計への変換の重要な部分を形成する(SoC回路の論理設計が設計仕様をコンファームしているかどうかを判断するための)機能検証には、SoC回路の設計が複雑であり、またSoC回路の設計全体を完全に検証するために必要な考えられるテストケース/テストシナリオが膨大である結果、(とりわけ、時間、マンパワーに関する)最大のリソースプールが要求される。通常、SoC回路の設計段階では、複数の形式および実装手順の使用とともに、複数の個別のツールが使用される。
現在、SoCの設計プロセスは、システム仕様、アーキテクチャ設計、機能および論理設計、回路設計、物理設計、物理検証、およびチップの製造を受け取るステップを含む。さらに、各プロセスは、相関性の高いデータを生成する。現在のところ、チップの設計プロセスにおいて生成されたデータの一般化および学習可能性のために利用可能なシステムおよび方法は存在しない。
SoCチップの既存の設計プロセスは、手作業でのチップの設計プロセスにAIフレームワークを実装することについて教示していない。AIフレームワークは、チップの設計プロセスの自動化を助け、それによって設計プロセスを迅速に、素早く、かつ効率的にする。さらに、AIフレームワークは、チップの設計プロセス中に生成されたデータの学習に役立つ。
したがって、SoC回路の設計プロセスに関連するリスクを軽減し、(SoC回路の)設計プロセスを費用効果があるものにすることとは別に、設計品質を改善し、かつSoCの設計回路を達成するために費やされる時間を短縮する必要がある。さらに、SoC回路の設計および実装に伴う複雑さ、ならびに複数の個別ツールおよび複数の設計形式の利用に伴う複雑さのために、効率性を改善するべくSoCの設計プロセスを自動化する必要がある。さらに、将来的なSoC設計で使用するための、現在のSoC設計からの学習可能性、推論および予測のためのシステムが必要である。
本明細書では、上記の欠点、不利益および問題に対処するが、それは、以下の明細書を読解し検討することによって理解されるであろう。
本明細書の実施形態の主な目的は、人工知能に基づいて実装されるSoCの設計フレームワークを開発することである。
本明細書の実施形態の別の目的は、SoC回路設計の設計および実装を改善するために強化学習技術を採用した、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、SoCの設計および実装に最適化された人工知能ベースのフレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、SoCの将来的な設計に使用することが可能である、SoCの設計から学習して推論するための方法を提供することでる。
本明細書の実施形態のさらに別の目的は、SoCの設計および実装のプロセスが自動化された、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、SMDPの階層を同期させることによって、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、構成が柔軟でモジュール式である、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、SoCの設計および実装プロセスに関連するリスクおよび不確実性が低減された、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、最適なSoC構成を生成する、SoCの設計フレームワークを提供することである。
本明細書の実施形態のさらに別の目的は、SoCの設計アーキテクチャに関する容易な洞察を提供してSoC回路の容易なカスタマイズを可能にする、SoCの設計フレームワークを提供することである。
本明細書の実施形態におけるこれらの、あるいは他の目的および利点は、添付の図面と併せて以下の詳細な説明から明らかになるであろう。
本明細書の実施形態は、人工知能に組み込まれて、強化学習技術を適応させて実装するように構成された、SoCの設計フレームワークを開示している。本明細書の実施形態に開示されるSoCの設計フレームワークは、SoC回路の設計に関連する意思決定プロセスにおける複雑さを軽減するように設計されている。SoC回路の設計に関連する決定事項は多数あり、通常は異種性である。本明細書の実施形態におけるSoCの設計フレームワークは、多数の異種性の決定を一般化された同種の決定に一般化するように構成されており、一般化された決定は、SoC回路の設計を完成させて実装するために利用される。本明細書の実施形態に開示されるSoCの設計フレームワークは、人工知能と強化学習原理との組み合わせを利用して、SoC回路の設計および実装に関する最適な決定に到達するように設計されている。
本明細書の一実施形態によれば、SMDPの階層を同期させることによってSoCを設計するための方法が開示される。SoC仕様またはデータベースからのチップトポロジが初期化される。初期化するステップは、受け取ったSoC仕様入力およびチップデータベースライブラリから取得される、チップ、チップスケルトン、クロック、入出力、パーティションに関する詳細を抽出することを含む。複数のドメインおよび複数のサブドメインは、マルコフ決定過程(MDP)、セミマルコフ決定過程(SMDP)、階層型抽象機械(HAM)およびMAX−Qの形式で人工知能(AI)設定によって作成され、チップ固有のグラフライブラリが生成される。人工知能設定は、AIエージェント、AI環境、およびタスクの組み合わせを含む。AI設定は、定義済みの探索および利用のアルゴリズム、ならびに強化学習技術を使用して作成される。各ドメインのQ値は、AIエージェントを使用して生成される。AIエージェントは、各ドメインのQ値を抽出するためにタスクを通じてAI環境と相互作用するように構成されている。チップトポロジは、HAM制約を伴うマルコフ決定過程(MDP)に関連付けられる。チップトポロジは、複数のSMDPまたはMDPに分岐している。複数のSMDPまたはMDPが有効化される。さらに、有効化された複数のSMDPまたはMDPは、事前設定されたQ値または事前設定された目標を達成すると終了する。複数のSMDPまたはMDPは、終了後に同期される。同じレベルの複数のサブドメインが有効化される。さらに、有効化された複数のサブドメインは、事前設定されたQ値または事前設定された目標を達成すると終了する。その後、複数のサブドメインは、終了後に同期される。複数のSMDPまたはMDPの物理検証が開始される。SoCの計画を最適化するために、各ドメインおよびサブドメインの抽出されたQ値は、ビッグデータデータベースのSMDP Qテーブルの形式で階層型SMDP構造に格納される。このようにして、SoCを設計するための最適なチップアーキテクチャが取得される。最適なチップアーキテクチャは、SMDP Qテーブルの最上位レベルの最大Q値に対応する。
本明細書の一実施形態によれば、複数のサブドメインの各々のバックアップは、階層型ディープSMDPネットワーク(HDSN)を通じて階層的に行われる。抽出されたQ値を格納するステップは、リーフレベルのMDPおよびオプションマクロ用のQテーブルにQ値を格納することを含む。
本明細書の一実施形態によれば、事前設定されたQ値を達成するために、強化学習技術が実行されて終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに、Q値が事前設定された閾値未満に収束すると、あるいはSoCドメインごとに、Q値の変化が事前設定された閾値未満に減少すると終了する。あるいは、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みのエピソード数が完了すると終了する。本明細書の一実施形態によれば、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みの目標性能または定義済みの終了状態に達すると終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに定義済みの階層的に最適な状態に達すると終了する。
本明細書の一実施形態によれば、AIエージェントは、グラフデータベースと、Q値およびニューラルネットワークの重みを保持するデータベースと、に推論をフィードバックするように構成されている。AIエージェントの例には、限定しないが、SoC Nocエージェント、SoC 電力エージェント、SoC物理エージェント、SoCマルチプロセッサエージェント、SoCセキュリティエージェント、およびSoCクロックエージェントが含まれる。AIエージェント(以下、AIエージェントという)は、各ドメインのQ値を生成するように構成されている。AIエージェントは、各ドメインのQ値を抽出するためのタスクを通じて、AI環境と相互作用するように構成されている。その後、SoCの計画を最適化するために、各ドメインおよびサブドメインの抽出されたQ値は、ビッグデータベースのSMDP Qテーブルの形式で階層型SMDP構造に格納される。
本明細書の一実施形態によれば、強化学習プロセスが各ドメインに対して開始され、Q値が抽出される。続いて、MDP、SMDP、およびMDPの階層のいずれかの初期化プロセスを通じて、各ドメインの最大Q値が決定される。その後、SMDP Qテーブルの最上位レベルの最大Q値に対応する、最適なチップアーキテクチャが推定される。その後、最適なチップアーキテクチャは、学習および推論のためにデータベースに格納される。最適なチップアーキテクチャおよび生成されたチップ固有のグラフライブラリに基づいて、所望のSoC構成が生成されて最適化される。最大Q値から最適なチップアーキテクチャを取得するステップは、最適なQ値に関連する最適な方策を導出し、当該導出された最適な方策に関連する行動を実行することを含む。
本明細書の一実施形態によれば、Qテーブルの上位レベルのQ値が計算されるときに、下位レベルのSMDP、MDPおよびオプションマクロのQ値の間の関係が、ディープニューラルネットワークを使用して決定される。下位レベルのSMDP、MDPおよびオプションマクロのQ値は、Qテーブルの上位レベルのQ値に関連している。ディープニューラルネットワークは、回帰ネットワーク、畳み込みネットワーク、LSTM、GANおよびこれらのネットワークの階層からなる群から選択される。Qテーブルの複数のQ値間の関係関数を推定するための重みの最適値を取得するために、階層型ディープSMDPネットワーク(HDSN)がトレーニングされ、あるいは採用される。トレーニングによって取得される重みの最適値を使用して、階層型RL設定において、上位レベルのQ値を下位レベルのQ値の関数として推定するプロセスが決定される。閾値Q値の適切なレベルを決定して1つのセミマルコフ決定過程(SMDP)を終了し、並行して別のSMDPを開始することによって、HDSNがさらにトレーニングされ、あるいは採用され、階層型RL実装の同じレベルでSMDP間の同期メカニズムが決定される。本明細書の一実施形態によれば、最大Q値から最適なチップアーキテクチャを取得するステップは、最適なQ値に関連する最適な方策を導出し、導出された最適な方策に関連する行動を実行することを含む。また、下位レベルのSMDPおよびMDPの関係は、Qテーブルの上位レベルのQ値を計算する際に、ニューラルネットワークを使用して決定される。
本明細書の一実施形態によれば、複数のドメインは、SoC通信およびネットワークオンチップ、SoC電力最適化、SoCクロッキング、SoC物理設計、SoC論理検証、SoC物理検証、SoCタイミング、SoC DRC(デザインルールチェック)、SoC ERC(電気的ルールチェック)、およびSoCパッケージを含む。複数のサブドメインは、SoCスループット最適化、SoC動的電力最適化、SoCタイミング最適化、SoC配置最適化、SoC安全機能、SoCセキュリティ機能、配置、フロアプラン、入力/出力およびルーティングを含む。
本明細書の一実施形態によれば、AI設定の複数のドメインおよび複数のサブドメインを作成するステップは、ドメインおよびサブドメインに関連付けられたタスクを複数のエージェントに設定することを含む。さらに、AI環境は、1つまたは複数のAIエージェントに報酬および観測を提供するように設定される。また、1つまたは複数のAIエージェントは、複数のドメインおよびサブドメインに関するフィードバックを受け取るように設定される。
本明細書の一実施形態によれば、所望のSoC構成を最適化して生成するステップは、階層的に最適なSMDP、MDPまたはオプションマクロまたはすべての組み合わせに基づいて、最適なSoCを設計するための計画プロセスを開始することを含む。さらに、MDP、SMDPおよびオプションのモデルは、ルックアップテーブルモデル、線形期待モデル、線形ガウスモデル、ガウスプロセスモデル、およびディープビリーフネットワークモデルからなる群から選択される、決定論的または確率論的モデルを使用して作成される。また、複数のAIドメインおよびサブドメインから受け取ったリアルタイムなフィードバックに基づいて導出されたシミュレーションモデルを使用することにより、複数のAIドメインの計画および学習プロセスが並行して実行される。SoCについて学習した情報を事前設定された形式で格納することによって、計画されたSoCの階層表現が1つまたは複数のデータベースに格納される。その後、SoCに関する計画され格納された情報は、データベースから階層的に取得されて、当該データベースから新しいSoC設計がデバッグおよび作成される。
本明細書の一実施形態によれば、強化学習プロセスは、相互に異なるデータ構造で格納された複数のデータベースへのアクセスに基づいて、AI環境、AIエージェント、タスクおよび実験を含む、シングルステップで、あるいは複数のステップで階層的に実行される。複数のデータ構造は、グラフ、文書および表を含む。AI設定は、一連の環境、エージェント、タスクおよび実験を用いて、SoC設計の各ドメインに対して作成される。AI設定は、各ドメインおよびサブドメインのエージェントと環境との相互作用を用いて、強化学習プロセスを実行するように構成されている。学習情報は、強化学習プロセスの出力または結果であり、SoCの設計において構成された各ドメインおよびサブドメインに固有のデータベースに、Q値またはニューラルの重みの形式で格納される。
本明細書の一実施形態によれば、MDPおよびSMDP、オプションマクロ、HAMおよび最大Q値が抽出されて、SoCの設計において構成された各ドメインおよびサブドメインについて、データベース(例えば、NoSQLデータベース、SQLデータベースまたはグラフデータベース)に格納される。
本明細書の一実施形態によれば、推論は、抽出されたSMDP、オプションマクロ、MDP、HAM、max−Q関数から生成される。生成された推論は、文書データベース、グラフデータベースまたはSQLデータベースの形式で格納される。文書データベース、グラフデータベースまたはSQLデータベースの形式で格納された推論は、抽出されたMDP、SMDPまたはオプションマクロの形式で、あるいはエピソード設定の一連の環境、エージェント、タスクおよび実験として、ドメイン固有のAI設定にロードされる。SoCの設計ドメインごとの推論が抽出されると、エピソード実験設定またはMDPまたはSMDPまたはHAMまたはMAXQ設定の形式の各SoCドメインのAI設定は、オプションマクロの有無に関わらず相互作用して最適なチップアーキテクチャ(OCA)に達する。
本明細書の一実施形態によれば、強化学習で使用される方策勾配法に基づいて、抽出されたMDP、SMDP、オプションマクロ、HAM MAXQについて、状態を行動へマッピングする新しい方策が検証され、検証された新しい方策は、SoCの設計におけるAI SOCドメインおよび任意のAIサブドメインの各々のデータベースに格納される。あるドメインに生成された新しい方策は、別のAI SoCドメインに生成された方策で最適化および反復されてコンテキストが導出され、階層的に最適な、マルチドメイン単位、およびサブドメイン単位の最適な方策が取得される。階層的に最適であり、かつ個々に最適である方策は、方程式、関数、SW、オプションマクロを通じて将来的な使用のためにデータベースに格納され、すべてのAI SoCドメインおよびサブドメインの将来の学習アプリケーションで参照される。
本明細書の一実施形態によれば、SMDPが互いに依存関係を有しない場合(例えば、有効電力のSMDPと配置のSMDP)、同期は、ただ1つのSMDPが他のSMDPと通信してそれが最終状態に達したことを通知する。同期は、SMDPが最終状態に達したことを示唆する、グローバルブロードキャスト信号の1つである。同期プロセスには、SMDPタイミングあるいはSMDPの検証でバグが見つかったときに、終了したSMDPに、タイムクロージャのメトリックのような最終結果をグローバルデータベースにアップロードさせることも含まれる。あるいは、SMDPが他のSMDPに依存している場合、これらのSMDPの各々は、ロックステップまたは反復ループで動作する。SMDPが他のSMDPと通信する場合(例えば、論理検証および論理設計)、同期プロセスは個別の同期状態を含む。各SMDPは、それぞれの最終結果を伝え、バグ修正、最適化を待ち、その設計がPDまたは合成に送るのに最適な形状であることを要求する。本明細書の一実施形態によれば、同期は、2つ以上のSMDPを使用し、多くのSMDP、オプションマクロ、およびMDPの間で最終結果を共有することを含む。
本明細書の実施形態のこれらおよび他の態様は、以下の説明および添付の図面と併せて検討することにより、よりよく認識され、理解されるであろう。しかしながら、以下の説明では、好ましい実施形態およびその多数の具体的な詳細が示されているが、限定としてではなく例示として与えられていることを理解されたい。本発明の精神から逸脱することなく、本明細書の実施形態の範囲内で多くの変更および修正を加えることが可能であり、本明細書の実施形態はそのような修正すべてを含む。
当業者であれば、他の目的、特徴および利点は、以下の説明および添付の図面から明らかになるであろう。
本明細書の一実施形態による、SMDPの階層を同期させることによって、SoCを設計するための方法を説明するフローチャートである。 本明細書の一実施形態による、階層型多目的AIを用いたAI駆動の設計設定を使用したSoCを設計するための方法を説明するフローチャートである。 本明細書の一実施形態による、SoCの設計フレームワークにおけるドメインおよびサブドメインごとに設定された人工知能(AI)の論理設計のブロック図である。 本明細書の一実施形態による、SoCの設計フレームワークに実装されたAIフレームワークの機能ブロック図である。 本明細書の一実施形態による、階層型強化学習用に構成されたAIフレームワークのブロック図である。 本明細書の一実施形態による、SoCの設計フレームワークにおけるメインMDPとSMDPとの間の相互作用プロセスを説明するフローチャートである。 本明細書の一実施形態による、SoCの設計フレームワークにおけるSoCの各設計ドメインについて、Q値の収束時に強化学習(RL)プロセスを終了させる方法を説明するフローチャートである。 本明細書の一実施形態による、SoCの設計フレームワークにおけるSoCの各設計ドメインについて、定義済みの実験数が個別に完了したときに強化学習(RL)プロセスを終了させる方法を説明するフローチャートである。 本明細書の一実施形態による、SoCの設計フレームワークにおけるSoCの各設計ドメインについて、定義済みの目標性能または目標状態に個々に到達し、あるいはそれを個々に達成したときに強化学習(RL)プロセスを終了させる方法を説明するフローチャートである。 本明細書の一実施形態による、トップダウンアプローチによるSoC設計フレームワークにおけるSoCの各設計ドメインについて、個別に導出された定義済みの階層的に最適な状態または目標に到達し、あるいはそれを達成したときに強化学習(RL)プロセスを終了させる方法を説明するフローチャートを示す図である。 本明細書の一実施形態による、SoC設計プロセスにおいてSMDPの階層を同期させる方法を説明するフローチャートを、図11Bとともに示す図である。 本明細書の一実施形態による、SoC設計プロセスにおいてSMDPの階層を同期させる方法を説明するフローチャートを、図11Aとともに示す図である。 本明細書の一実施形態による、SoCの設計プロセスにおいてSQLスキーマまたは文書データベースに格納される階層型Qテーブルの平面図または概略図である。 本明細書の一実施形態による、SoCの設計プロセスにおけるHDSNでの経験再生に使用されるディープニューラルネットワークのブロック図または概略図である。 本明細書の一実施形態による、SoCの設計プロセスにおける階層型強化学習のAIフローを使用して最適なチップアーキテクチャ(OCA)を生成するためのシステムの機能ブロック図である。 本明細書の一実施形態による、強化学習プロセスを用いたSoCの設計プロセスにおいてドメインごとにMDPを抽出する方法を説明するフローチャートである。 本明細書の一実施形態による、SoCの設計プロセスにおけるビッグデータフレームワークの機能ブロック図である。 本明細書の一実施形態による、SoCの設計プロセスにおけるSoCドメインおよびサブドメインを抽象化する方法を説明するフローチャートである。 本明細書の一実施形態による、SoC設計のためのデータベースアーキテクチャのブロック図である。
本明細書における実施形態の特定の特徴は、いくつかの図面に示されているが、他の図面には示されていない。これは、本明細書の実施形態に従って各特徴を他の特徴のうちのいずれかまたはすべてと組み合わせることができるがために、単に便宜上行ったものである。
以下の詳細な説明において、本明細書の一部を形成する添付の図面を参照して、実施され得る特定の実施形態を例示する。これらの実施形態は、当業者が実施形態を実施できるように十分詳細に説明されており、実施形態の範囲から逸脱することなく他の変更がなされ得ることが理解されよう。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
本明細書の実施形態は、人工知能が組み込まれて強化学習技術を適応させ実施するように構成されたSoCの設計フレームワークを開示している。本明細書の実施形態に開示されるSoCの設計フレームワークは、SoC回路の設計に関連する意思決定プロセスにおける複雑さを軽減するように設計されている。SoC回路の設計に関連する意思決定は多数あり、通常は異種性である。本明細書の実施形態のSoCの設計フレームワークは、多種の異種性の決定を、SoC回路の設計を完成させて実施するために現在利用されている、複数の一般化された同種の決定に一般化するように構成されている。本明細書の実施形態に開示されるSoCの設計フレームワークは、人工知能と強化学習原理との組み合わせを利用して、SoC回路の設計および実装に関する最適な決定に到達するように設計されている。
本明細書の一実施形態によれば、SMDPの階層を同期させることによってSoCを設計するための方法が開示される。SoC仕様またはデータベースからのチップトポロジが初期化される。初期化するステップは、受け取ったSoC仕様入力およびチップデータベースライブラリから取得される、チップ、チップスケルトン、クロック、入出力、パーティションに関する詳細を抽出することを含む。複数のドメインおよび複数のサブドメインは、マルコフ決定過程(MDP)、セミマルコフ決定過程(SMDP)、階層型抽象機械(HAM)およびMAX−Qの形式で人工知能(AI)設定によって作成され、チップ固有のグラフライブラリが生成される。人工知能設定は、AIエージェント、AI環境、およびタスクの組み合わせを含む。AI設定は、定義済みの探索および利用のアルゴリズム、ならびに強化学習技術を使用して作成される。各ドメインのQ値は、AIエージェントを使用して生成される。AIエージェントは、各ドメインのQ値を抽出するためにタスクを通じてAI環境と相互作用するように構成されている。チップトポロジは、HAM制約を伴うマルコフ決定過程(MDP)に関連付けられる。チップトポロジは、複数のSMDPまたはMDPに分岐している。複数のSMDPまたはMDPが有効化される。さらに、有効化された複数のSMDPまたはMDPは、事前設定されたQ値または事前設定された目標を達成すると終了する。複数のSMDPまたはMDPは、終了後に同期される。同じレベルの複数のサブドメインが有効化される。さらに、有効化された複数のサブドメインは、事前設定されたQ値または事前設定された目標を達成すると終了する。その後、複数のサブドメインは、終了後に同期される。複数のSMDPまたはMDPの物理検証が開始される。SoCの計画を最適化するために、各ドメインおよびサブドメインの抽出されたQ値は、ビッグデータデータベースのSMDP Qテーブルの形式で階層的SMDP構造に格納される。このようにして、SoCを設計するための最適なチップアーキテクチャが取得される。最適なチップアーキテクチャは、SMDP Qテーブルの最上位レベルの最大Q値に対応する。
本明細書の一実施形態によれば、複数のサブドメインの各々のバックアップは、階層型ディープSMDPネットワーク(HDSN)を通じて階層的に行われる。抽出されたQ値を格納するステップは、リーフレベルのMDPおよびオプションマクロ用のQテーブルにQ値を格納することを含む。
本明細書の一実施形態によれば、事前設定されたQ値を達成するために、強化学習技術が実行されて終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに、Q値が事前設定された閾値未満に収束すると、あるいはSoCドメインごとに、Q値の変化が事前設定された閾値未満に減少すると終了する。あるいは、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みのエピソード数が完了すると終了する。本明細書の一実施形態によれば、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みの目標性能または定義済みの終了状態に達すると終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに定義済みの階層的に最適な状態に達すると終了する。
本明細書の一実施形態によれば、AIエージェントは、グラフデータベースと、Q値およびニューラルネットワークの重みを保持するデーベースと、に推論をフィードバックするように構成されている。AIエージェントの例には、限定しないが、SoC Nocエージェント、SoC 電力エージェント、SoC物理エージェント、SoCマルチプロセッサエージェント、SoCセキュリティエージェントおよびSoCクロックエージェントが含まれる。AIエージェント(以下、AIエージェントという)は、各ドメインについてQ値を生成するように構成されている。AIエージェントは、各ドメインのQ値を抽出するためのタスクを通じて、AI環境と相互作用するように構成されている。その後、SoCの計画を最適化するために、各ドメインおよびサブドメインの抽出されたQ値は、ビッグデータベースのSMDP Qテーブルの形式で階層型SMDP構造に格納される。
本明細書の一実施形態によれば、強化学習プロセスが各ドメインに対して開始され、Q値が抽出される。続いて、MDP、SMDP、およびMDPの階層のいずれかの初期化プロセスを通じて、各ドメインの最大Q値が決定される。その後、SMDP Qテーブルの最上位レベルの最大Q値に対応する、最適なチップアーキテクチャが推定される。その後、最適なチップアーキテクチャは、学習および推論のためにデータベースに格納される。最適なチップアーキテクチャおよび生成されたチップ固有のグラフライブラリに基づいて、所望のSoC構成が生成されて最適化される。最大Q値から最適なチップアーキテクチャを取得するステップは、最適Q値に関連する最適な方策を導出し、導出された最適な方策に関連する行動を実行することを含む。
本明細書の一実施形態によれば、Qテーブルの上位レベルのQ値が計算されるときに、下位レベルのSMDP、MDPおよびオプションマクロのQ値の間の関係が、ディープニューラルネットワークを使用して決定される。下位レベルのSMDP、MDPおよびオプションマクロのQ値は、Qテーブルの上位レベルのQ値に関連している。ディープニューラルネットワークは、回帰ネットワーク、畳み込みネットワーク、LSTM、GANおよびこれらのネットワークの階層からなる群から選択される。Qテーブルの複数のQ値間の関係関数を推定するための重みの最適値を取得するために、階層型ディープSMDPネットワーク(HDSN)がトレーニングされ、あるいは採用される。トレーニングによって取得される重みの最適値を使用して、階層型RL設定において、上位レベルのQ値を下位のQ値の関数として推定するプロセスが決定される。閾値Q値の適切なレベルを決定して1つのセミマルコフ決定過程(SMDP)を終了し、並行して別のSMDPを開始することによって、HDSNがさらにトレーニングされ、あるいは採用され、階層型RL実装の同じレベルでSMDP間の同期メカニズムが決定される。本明細書の一実施形態によれば、最大Q値から最適なチップアーキテクチャを取得するステップは、最適なQ値に関連する最適な方策を導出し、導出された最適な方策に関連する行動を実行することを含む。さらに、下位レベルのSMDPおよびMDPの関係は、Qテーブルの上位レベルのQ値が計算される際に、ニューラルネットワークを使用して決定される。
本明細書の一実施形態によれば、複数のドメインは、SoC通信およびネットワークオンチップ、SoC電力最適化、SoCクロッキング、SoC物理設計、SoC論理検証、SoC物理検証、SoCタイミング、SoC DRC(デザインルールチェック)、SoC ERC(電気的ルールチェック)、およびSoCパッケージを含む。複数のサブドメインは、SoCスループット最適化、SoC動的電力最適化、SoCタイミング最適化、SoC配置最適化、SoC安全機能、SoCセキュリティ機能、配置、フロアプラン、入力/出力およびルーティングを含む。
本明細書の一実施形態によれば、AI設定の複数のドメインおよび複数のサブドメインを作成するステップは、ドメインおよびサブドメインに関連付けられたタスクを複数のエージェントに設定することを含む。さらに、AI環境は、1つまたは複数のAIエージェントに報酬および観測を提供するように設定される。また、1つまたは複数のAIエージェントは、複数のドメインおよびサブドメインに関するフィードバックを受け取るように設定される。
本明細書の一実施形態によれば、所望のSoC構成を最適化して生成するステップは、階層的に最適なSMPD、MDPまたはオプションマクロまたはすべての組み合わせに基づいて、最適なSoCを設計するための計画プロセスを開始することを含む。さらに、MDP、SMDPおよびオプションのモデルは、ルックアップテーブルモデル、線形期待モデル、線形ガウスモデル、ガウスプロセスモデル、およびディープビリーフネットワークモデルからなる群から選択される、決定論的または確率論的モデルを使用して作成される。また、複数のAIドメインおよびサブドメインから受け取ったリアルタイムなフィードバックに基づいて導出されたシミュレーションモデルを使用することにより、複数のAIモデルの計画および学習プロセスが並行して実行される。SoCについて学習した情報を事前設定された形式で格納することによって、計画されたSoCの階層表現が1つまたは複数のデータベースに格納される。その後、SoCに関する、計画され格納された情報は、データベースから階層的に取得され、当該データベースから新しいSoC設計がデバッグおよび作成される。
本明細書の一実施形態によれば、強化学習プロセスは、相互に異なる複数のデータ構造で格納された複数のデータベースへのアクセスに基づいて、AI環境、AIエージェント、タスクおよび実験を含む、シングルステップで、あるいは複数のステップで階層的に実行される。複数のデータ構造は、グラフ、文書および表を含む。AI設定は、一連の環境、エージェント、タスクおよび実験を用いて、SoC設計の各ドメインに対して作成される。AI設定は、各ドメインおよびサブドメインのエージェントと環境との相互作用を用いて、強化学習プロセスを実行するように構成されている。学習情報は、強化学習プロセスの出力または結果であり、SoCの設計において構成された各ドメインおよびサブドメインに固有のデータベースに、Q値またはニューラルの重みの形式で格納される。
本明細書の一実施形態によれば、MDPおよびSMDP、オプションマクロ、HAMおよび最大Q値が抽出されて、SoCの設計において構成された各ドメインおよびサブドメインについて、データベース(例えば、NoSQLデータベース、SQLデータベースまたはグラフデータベース)に格納される。
本明細書の一実施形態によれば、推論は、抽出されたSMDP、オプションマクロ、MDP、HAM、max−Q関数から生成される。生成された推論は、文書データベース、グラフデータベースまたはSQLデータベースの形式で保存される。文書データベース、グラフデータベースまたはSQLデータベースの形式で格納された推論は、抽出されたMDP、SMDPまたはオプションマクロの形式で、あるいはエピソード設定の一連の環境、エージェント、タスクおよび実験として、ドメイン固有のAI設定にロードされる。SoCの設計ドメインごとの推論が抽出されると、エピソード実験設定またはMDPまたはSMDPまたはHAMまたはMAXQ設定の形式の各SoCドメインのAI設定は、オプションマクロの有無に関わらず相互作用して最適なチップアーキテクチャ(OCA)に達する。
本発明の一実施形態によれば、強化学習で使用される方策勾配法に基づいて、抽出されたMDP、SMDP、オプションマクロ、HAM MAXQについて、状態を行動にマッピングする新しい方策が検証され、検証された新しい方策は、SoCの設計におけるAI SOCドメインおよび任意のAIサブドメインの各々のデータベースに格納される。あるドメインに生成された新しい方策は、別のAI SoCドメインに生成された方策で最適化および反復されてコンテキストが導出され、階層的に最適な、マルチドメイン単位およびサブドメイン単位の最適な方策が取得される。階層的に最適であり、かつ個々に最適である方策は、方程式、関数、SW、オプションマクロを通じて将来的な使用のためにデータベースに格納され、すべてのAI SoCドメインおよびサブドメインの将来の学習アプリケーションで参照される。
本明細書の一実施形態によれば、SMDPが互いに依存関係を有しない場合(例えば、有効電力SMDPおよび配置のSMDP)、同期は、ただ1つのSMDPが他のSMDPと通信してそれが最終状態に達したことを通知する。同期は、SMDPが最終状態に達したことを示唆する、グローバルブロードキャスト信号の1つである。同期プロセスには、終了したSMDPに、タイミングSMDPによるタイムクロージャのメトリックやSMDPの検証で見つかったバグなどのその最終結果を、グローバルデータベースにアップロードさせることも含まれる。あるいは、SMDPが他のSMDPに依存している場合、これらのSMDPの各々は、ロックステップまたは反復ループで動作する。SMDPが他のSMDPと通信する場合(例えば、論理検証および論理設計)、同期プロセスは個別の同期状態を含む。各SMDPは、それぞれの最終結果を伝え、バグ修正、最適化を待ち、その設計がPDまたは合成に送るのに最適な形状であることを要求する。本明細書の一実施形態によれば、同期は、2つ以上のSMDPを使用し、多くのSMDP、オプションマクロ、およびMDPの間で最終結果を共有することを含む。
図1は、本発明の一実施形態による、SMDPの階層を同期させることによってSoCを設計するための方法を説明するフローチャートを示す。本明細書の実施形態によれば、SoC回路全体は、プロセッサ、デジタル設計、回路設計プロセスとともに、強化学習実験の実装に続いて、階層モデルの形式で(最適性を重視して)表される。
この方法は、SoC仕様入力を受け取るステップ(101)を含む。さらに、受け取ったSoC仕様入力およびチップデータベースライブラリから取得した、チップ、チップスケルトン、クロック、入出力、パーティションに関する詳細を抽出することによって、(SoCの)チップ設計を初期化する。SoCのチップ設計フローの初期化には、ライブラリの初期化が含まれる(102)。ライブラリを初期化するプロセスでは、ファウンドリのテクノロジライブラリ、AI SOCDデータベースの標準インタフェースIP、データベースのプロセッサIP、および再利用されるその他の標準IPなどの標準ライブラリが、チップデータベースにロードされる。これらのライブラリは、SoC仕様入力を解析した後にチップデータベースにまとめられる。SoC仕様入力は、チップの仕様、または以前のチップに加えてテキストもしくはxml形式のディスクリプションにおける変更を表すデータベースのうちの少なくとも1つである。取り込まれたライブラリ、および特定のSoC仕様またはデータベースは、IO,チップスケルトン、関連IPおよびチップのパーティションを提供する。続いて、マルコフ決定過程(MDP)、セミマルコフ決定過程(SMDP)、階層的抽象マシン(HAM)、およびMAX−Qの形式の人工知能(AI)設定によって、複数のドメインおよび複数のサブドメインを作成し、チップ固有のグラフライブラリを生成する(103)。人工知能設定には、AIエージェント、AI環境、およびタスクの組み合わせが含まれる。AI設定は、事前定義された探索および利用のアルゴリズム、および強化学習技術を使用して作成される。各ドメインのQ値は、AIエージェントを使用して生成される。AIエージェントは、タスクを通じでAI環境と相互作用し、ドメインごとにQ値を抽出するように構成されている(104)。チップトポロジは、HAM制約を伴うマルコフ決定過程(MDP)に関連付けられる。チップトポロジは、複数のSMDPまたはMDPに分岐している。複数のSMDPまたはMDPが有効化される(105)。さらに、有効化された複数のSMDPまたはMDPは、事前設定されたQ値または事前設定された目標を達成すると終了する。複数のSMDPまたはMDPは、終了後に同期される(106)。同じレベルの複数のサブドメインが有効化される。さらに、有効化された複数のサブドメインは、事前設定されたQ値または事前設定された目標を達成すると終了する。その後、複数のサブドメインは、終了後に同期される。
複数のSMDPまたはMDPの物理検証を開始する。SoCの計画を最適化するために、各ドメインおよびサブドメインの抽出されたQ値を、ビッグデータデータベースのSMDP Qテーブルの形式で階層型SMDP構造に格納する(107)。続いて、MDP、SMDP、およびMDPの階層のうちのいずれかの初期化プロセスを通じて、各ドメインの最大Q値を決定する。その後、SMDP Qテーブルの最上位レベルの最大Q値に対応する、最適なチップアーキテクチャを推定する(108)。このようにして、SoCを設計するための最適なチップアーキテクチャを取得する。その後、最適なチップアーキテクチャを、学習および推論のためにデータベースに格納する。最適なチップアーキテクチャおよび生成されたチップ固有のグラフライブラリに基づいて、所望のSoC構成を生成して最適化する(109)。最大Q値から最適なチップアーキテクチャを取得するステップは、最適なQ値に関連する最適な方策を導出し、当該導出された最適な方策に関連する行動を実行することを含む。
本明細書の一実施形態によれば、複数のサブドメインの各々のバックアップは、階層型ディープSMDPネットワーク(HDSN)を通じて階層的に行われる。抽出されたQ値を格納するステップは、リーフレベルのMDPおよびオプションマクロのQテーブルにQ値を格納することを含む。
本明細書の一実施形態によれば、事前設定されたQ値を達成するために、強化学習技術が実行されて終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに、Q値が事前設定された閾値未満に収束すると、あるいはSoCドメインごとに、Q値の変化が事前設定された閾値未満に減少すると終了する。あるいは、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みのエピソード数が完了すると終了する。本明細書の一実施形態によれば、強化学習技術は、該強化学習技術が実行されて、特定のドメインごとに、定義済みの目標性能または定義済みの終了状態に達すると終了する。強化学習技術は、該強化学習技術が実行されて、ドメインごとに定義済みの階層的に最適な状態に達すると終了する。
本明細書の一実施形態によれば、多目的AIエージェントは、グラフデータベースと、Q値およびニューラルネットワークの重みを保持するデータベースと、に推論をフィードバックするように構成されている。推論/学習データを格納するデータベースは、「転移学習」プロセスに用いられる。「転移学習」プロセスは、論理的に近い一連のタスクが既に学習されている場合に、学習されていないが転移学習手段を使用して推定される類似のタスクに、学習されたタスクを転移するプロセスとして定義される。多目的エージェントの例には、限定しないが、SoC Nocエージェント、SoC 電力エージェント、SoC物理エージェント、SoCマルチプロセッサエージェント、SoCセキュリティエージェントおよびSoCクロックエージェントが含まれる。多目的エージェント(以下、AIエージェントという)は、各ドメインのQ値を生成するように構成されている(104)。AIエージェントは、各ドメインのQ値を抽出するためのAIタスクを通じて、AI環境と相互作用するように構成されている。
本明細書の一実施形態によれば、階層型SMDP構造の各ドメインおよびサブドメインの抽出されたQ値は、SoCの設計計画プロセスを最適化するために、SMDP Qテーブルの形式で階層的にビッグデータデータベースに格納される。Q値を抽出するために、各ドメインに対して強化学習プロセスを開始する。ドメインは、NoC生成、電力最適化、インタフェース統合、論理検証、論理合成、レイアウト前のタイミングクロージャ、物理設計、レイアウト後のタイミングクロージャおよび物理検証のいずれかである。
図2は、本明細書の一実施形態による、階層型多目的AIを用いたAI駆動の設計設定を使用したSoCを設計するための方法を説明するフローチャートを示す。SoC仕様入力を受け取る(210)。チップ設計技術、およびチップ設計プロセスに関連して必要とされる規格に関する詳細を格納するために、抽象グラフデータベースライブラリを作成する。さらに、チップ設計知識ライブラリと、一般的なハードウェアおよびソフトウェアライブラリも作成して維持する(211)。受け取ったSoC仕様入力およびチップデータベースライブラリまたはグラフデータベースライブラリから、チップ、チップスケルトン、クロック、入出力、パーティションに関する詳細が取得される。受け取ったSoC仕様入力およびチップデータベースライブラリまたはグラフデータベースライブラリから取得した、チップ、チップスケルトン、クロック、入出力、パーティションに関する抽出された詳細に基づいて、(SoCの)チップ設計を初期化する(212)。初期化後、所望のSoC構成をさらに最適化して生成するために、様々なドメインについて、MDP、SMDP、HAMおよびMAX−Qの形式でAIを設定する。AI設定は、多目的AIエージェントを意味する。ドメインのAI設定には、環境を伴う多目的AIエージェントと、複数のタスクと、が含まれる。ドメインのAI設定を、第1のドメイン、第2のドメイン、そして第3のドメインのように、複数のドメインに対して実行して繰り返す(213,214,215)。次に、複数のドメインに設定したAIから受け取られたデータをコンパイルすることによって、多目的AI環境、エージェントおよびタスクを設定する(216)。チップ固有のグラフライブラリおよびデータベースは、多目的AI環境、エージェントおよびタスクから受け取った出力データに基づいてAI環境を使用して生成される。さらに、チップ固有のグラフライブラリおよびデータベースに格納されたデータを、複数のドメインに対して設定されたAIにフィードバックループで供給する(217)。チップの多目的AIエージェントは、各ドメインのQ値を生成するように構成されている。AIエージェントは、各ドメインのQ値を抽出するためのタスクを通じて、AI環境と相互作用するように構成されている。続いて、階層型SMDPの各ドメインおよびサブドメインの抽出されたQ値は、SoCの設計計画プロセスを最適化するために、SMDP Qテーブルの形式で階層的にビッグデータデータベースに格納される。さらに、最適なQ値から、最適なチップアーキテクチャが得られる(218)。
本明細書の一実施形態によれば、HAM、オプションおよびMax−Q学習の組み合わせを使用して、エンドツーエンドのSoC設計フレームワークを達成する。Max−Q学習は、Q値を取得するために、あるいは複数のSMDPにわたって解決策を同時に学習するために、SoCの設計全体をSMDPの階層に分類することを含む。Max−Q学習のプロセスでは、コアSMDPが複数のサブタスク{M0,M1,M2,M3,...MN}に分割され、M0を解くと、M全体が解かれる。集合MがタスクであるMax−Qの古典的な定義に代わって、本明細書の実施形態によれば、それらはHAMなどの制約を伴う再帰的Max−Qである。M0,M1,M2,...MNのそれぞれは、別のMax−Qを再帰的に表している。
本明細書の一実施形態によれば、Qテーブルの上位レベルのQ値が計算されるときに、下位レベルのSMDP、MDPおよびオプションマクロのQ値の間の関係が、ディープニューラルネットワークを使用して決定される。下位レベルのSMDP、MDPおよびオプションマクロのQ値は、Qテーブルの上位レベルのQ値に関連している。ディープニューラルネットワークは、回帰ネットワーク、畳み込みネットワーク、LSTM、GANおよびこれらのネットワークの階層からなる群から選択される。さらに、Qテーブルの複数のQ値間の関係関数を推定するための重みの最適値を取得するために、階層型ディープSMDPネットワーク(HDSN)がトレーニングされる。重みの最適値は、ニューラルネットワークをトレーニングすることによって取得される。この最適値を使用して、階層型RL設定において、上位レベルのQ値を下位レベルのQ値の関数として推定するプロセスが決定される。閾値Q値の適切なレベルを決定して1つのセミマルコフ決定過程(SMDP)を終了し、並行して別のSMDPを開始することによって、HDSNがさらにトレーニングされ、あるいは採用され、階層型RL実装の同じレベルでSMDP間の同期メカニズムが決定される。
本明細書の一実施形態によれば、SoCドメインの各々、すなわちネットワークオンチップ(NoC)生成、電力最適化、インタフェース統合、論理検証、論理合成、レイアウト前のタイミングクロージャ、物理設計、レイアウト後のタイミングクロージャおよび物理検証は、貪欲法または調整された貪欲法などのアルゴリズムを実装(実行)して、その利用と探索とのバランスをとるように構成されている。その後、Q値が収束すると、あるいは所定の実験数が完了すると、あるいは所定の結果の品質(QoR)基準が満たされると、各SoCドメインから引き出された推論の数に基づいて学習が推定される。「状態」を「行動」へマッピングするための対応する新しい方策(これは、学習の結果である)が考案されて、ドメイン固有のデータベースに格納される。あるドメインで学習された新しい方策は、別の関連するドメインで学習された方策と最適化および結合/反復され、階層的に関連する最適な方策が生成される。通常、あるドメインで学習された新しい方策は、別のAI SoCドメインで学習された方策で最適化および反復されて、コンテキストが導出され、階層的に最適な、マルチドメイン単位およびサブドメイン単位の最適な方策が取得される。そのような階層的に関連する最適な方策は、方策に基づく方法(policy-based method)、価値に基づく方法(value-based method)および強化学習のアクタークリティック法(actor-critic method)のうちの少なくとも1つに基づいて生成される。SoCドメイン全体で実装されている学習方法には、DQN、線形関数、ウィンドウ関数、回帰関数、および価値関数近似が含まれる。階層的に最適であり、かつ個々に最適な方策は、方程式、関数、SW、オプションマクロの形式でデータベースに保存され、すべてのAI SoCドメインおよびサブドメインの将来の学習アプリケーションで再利用および参照される。
本明細書の一実施形態によれば、AI環境との相互作用を使用して、また、各ドメインおよびサブドメインに必要な精度に合わせて、各SoCドメインおよび対応するサブドメインに対して環境モデルおよびオプションが構築される。各SoCドメインおよびサブドメインに対するトレーニングモデルを構築するために、教師付き強化学習の原理を利用する。トレーニングモデルは、ルックアップテーブルモデル、線形期待モデル、線形ガウスモデル、ガウスプロセスモデル、あるいはMDP、SMDPおよびオプションマクロを一緒にモデル化するように設計または構成された任意の他の同様の決定論的または確率論的モデルのいずれかである。
図3は、本明細書の一実施形態による、SoCの設計フレームワークにおけるドメインおよびサブドメインごとに設定された人工知能(AI)の論理設計のブロック図を示す。Socの設計フレームワークにおけるドメインおよびサブドメインごとに設定された人工知能(AI)の論理設計は、オプション、MAXQフレームワーク、HAMおよび任意の他の同様の技術を使用した、階層型強化学習(RL)プロセスまたは技術を実行するように構成されている。マルコフ決定過程(MDP)は、最初にメインSoCの設計用に派生し、該MDPは階層タスクを実行する。ドメインに固有のQ値またはニューラルの重みを利用して、マルコフ決定過程(MDP)またはセミマルコフ決定過程(SMDP)またはオプションマクロまたはHAMまたはMax−Q値を抽出する。続いて、抽出した値を、ドメイン固有のデータベースに格納する。抽出されたSMDPまたはMDP、HAMまたはオプションマクロまたはMax−Q値を、SoCの回路設計に関連する推論を生成するために利用する。そして次に、それらをドメイン固有の人工知能の設定にロードし、それによって推論間の相互作用を開始して、最適なチップアーキテクチャ(OCA)を生成する。
図3を参照すると、人工知能の論理設計タスク222と人工知能の論理設計エージェント225とを含む、人工知能の論理設計設定220が示されている。人工知能の論理設計環境224を含む人工知能(AI)の論理設計タスク222は、AIの論理設計エージェント225と相互作用し、観測を行い、適切な行動を開始し、続いて(実行された)行動に対する報酬を受け取るように構成されている。AIの論理設計エージェント225は、AIの論理設計環境224との相互作用から学習するための学習モジュールとして設計されている。AIの論理設計エージェント225は、実行/実施された行動/動作に対して、AIの論理設計環境224から観測および報酬を獲得または収集するために、AI環境224内で様々な行動を実行するように構成されている。
図4は、本発明の一実施形態による、SoCの設計フレームワークに実装されたAIフレームワークの機能ブロック図を示す。図4を参照すると、チップ設計プロセスのためのAIフレームワーク303は、汎用ハードウェアIPブロック301、汎用ソフトウェアIPブロック302から入力を受け取る。AIフレームワークは、最適なチップ設計を提供するように構成されている。最適なチップ設計は、アプリケーションソフトウェア開発304およびソフトウェアテスト305に提供される。さらに、最適なチップ設計は、アプリケーションプロトタイプ306においてハードウェア/ソフトウェア検証を受ける。最適なチップ設計は、プロトタイプIC製造307に提供される。検証後、最適なチップ設計は、量産IC製造308に送られる。
図5は、本明細書の一実施形態による、階層型強化学習用に構成されたAIフレームワークのブロック図を示す。図5を参照すると、多目的AIは、多目的強化学習エージェントは、初期化プロセス502を実行した後に、サンプルチップの記述ファイル501から受け取った入力に基づいて、環境との相互作用から学習するように設計および構成されている。チップの多目的エージェントの例には、限定しないが、SoC Nocエージェント503、SoC電力エージェント504、SoC物理エージェント505、SoCマルチプロセッサエージェント507、SoCセキュリティエージェント、およびSoCクロックエージェント506が含まれる。AIフレームワークは、非常にモジュール的な設計であるため、複数の同様のエージェントを追加し、それらをAI環境およびalpha DBと呼ばれるビッグデータデータベースにプラグインする。ビッグデータ推論エンジン512は、複数の多目的強化学習エージェント503,504,505,506,507と相互作用して、検証エージェント509による検証プロセスの実行後に、ライブラリ510に格納するための推論を受け取るように構成されている。強化学習エージェントの出力は、SoCの設計を計画するために、GDS(グラフィックデータベースシステム)およびドライバ508に供給される。
本明細書の一実施形態によれば、AIフレームワークは、複数のブロックを互いに接続し、それによってSoCの接続および統合を確立するための、SoC通信およびネットワークオンチップ(NoC)モジュールを含む。NoCは、SoC通信AIエージェント503を使用して実装される。
本明細書の一実施形態によれば、SoC電力最適化モジュールには、SoC 電力エージェント504を使用して、漏電および動的電力などのSoCの様々な電力成分を最適化し、電子移動によるハードウェアの経年劣化がハードウェア性能に及ぼす影響を低減するための技術がロードされている。
本明細書の一実施形態によれば、SoCクロックモジュールは、SoC全体のクロック設計のためのドメインであり、SoCクロックエージェント506を使用したクロックの大域的かつ局所的な最適化を含む。これには、推定およびクロックツリーの最適化も含まれる。
本明細書の一実施形態によれば、SoCの配置およびフロアプランが最適に達する。SoCの配置およびフロアプランには、強化学習アルゴリズムおよび方策にしたがって論理ブロックを配置することが含まれる。SoCの配置およびフロアプランには、パワーアイランドを作成することが含まれるが、配置によってタイミングと電力とを最適化するための方策を作成することに限定されない。
本明細書の一実施形態によれば、SoC物理エージェント505を使用して、電力、トランジスタの物理レイアウト、物理遅延フォーマットおよび物理的な電力ルーティングなどの情報を含むセルの物理ライブラリに論理設計をマッピングすることによって、SoC物理設計が実行される。
本明細書の一実施形態によれば、SoC論理検証モジュールは、検証エージェント509を使用してチップ論理を検証するように構成されている。検証プロセスでは、様々な検証プロセスを使用してバグを報告するためのメトリックを収集し、SoCの品質を向上させ、SoCの機能に対する信頼性を提供する。
本明細書の一実施形態によれば、SoC物理検証モジュールは、検証エージェント509を使用して、SoCの物理的実装を検証するように設計されている。検証プロセスには、LVS対DRS、レイアウト後のタイミング、ルーティング、IRドロップ、電源機能の正確性、電気的ルールチェックの検証が含まれる。さらに、これらすべての要因を考慮して(SoC回路の)物理設計のための最適なトレードオフを提供するために、このドメインで様々な方策が検討される。
本明細書の一実施形態によれば、SoCタイミングモジュールは、レイアウト前およびレイアウト後のタイミングクロージャを実行するように設計されている。タイミングクロージャでは、設定時間およびホールド時間の解決や、偽パスの割り当てなどの特定の行動と方策を実行する。
本明細書の一実施形態によれば、SoC DRC(デザインルールチェック)、SoC ERC(電気的ルールチェック)は、ディープ強化学習技術を使用して、ERCおよびDRCのクロージャ方策を学習し、適用し、計画するように設計および構成されている。
本明細書の一実施形態によれば、包装関連の方策および行動は、SoC包装プロセスにおいて学習される。方策は、基板設計、ピンの多重化、パディング、パワーボールの割り当て、I/Oピンなどにかかる可能性のあるPCB負荷に関する。包装の種類を選択するための方策も、このドメイン内のすべてのタスクの後に学習される。
図6は、本発明の一実施形態による、SoC設計フレームワークにおける主要なMDPとSMDPとの間の相互作用プロセスを説明するフローチャートを示す。図6を参照すると、AIフレームワークは、MDP、オプション、MAXQフレームワーク、HAMおよび他の任意の同様の技術を使用して、階層型強化学習(RL)プロセスを実行するように構成されている。マルコフ決定過程(MDP)は、最初は、SoCの設計仕様から派生する。SoCの設計では、意思決定を行わずに長期間にわたって連続的なタスクが必要になるため、MDPではなくセミマルコフ決定過程(SMDP)が使用される。SoCの設計用のメインMDPまたはマルチエージェントサポートが作成される(520)。メインMDPは、SoCの設計における複数のドメインに対応する複数のSMDP(520a,520b,...520n)に分割される。各ドメインについて、複数のサブドメイン(521a,521b,...521n)が作成される。各サブドメインは、複数のオプションマクロ(522a,522b,...522n)を取得するために、強化学習アルゴリズムを実行するように構成されている。オプション/マクロは、最適なチップアーキテクチャ(OCA)に到達する際に使用される。
本明細書の一実施形態によれば、SMDPは、長期間にわたる閉ループ動作に焦点を合わせるように設定されており、オプションマクロと呼ばれる。SoCの設計では、多くの決定が、閉ループ形式で一定期間にわたって拡張される。したがって、AIフレームワークは、SoCの設計アクティビティでオプションマクロを使用するように設計されている。オプションマクロは、より小さな階層的タスクに適用されてHRLを形成する。オプションマクロは、SoC AIサブドメインにわたって適用されて、SoCの設計において人間レベルのインテリジェンスを取得する。オプションマクロには、時間的に拡張された行動を含むためのプリミティブな行動の一般化が含まれる。例えば、設定時間違反を修正するプロセスは、データパスのリタイミング、クロックパスのバッファリング、パス内のセルのVTタイプの変更、リフロー計画などのタスクを含む。これらのタスクはそれぞれ、EDAツールを使用して閉フィードバックループに合わせて拡張されるオプションマクロとして含まれている。
本明細書の一実施形態によれば、オプションマクロまたはオプションを使用して、最適なチップアーキテクチャ(OCA)に到達する。各オプションは、方策π:S×A→[0,1]、終了条件β:S+→[0,1]、および初期状態I⊆Sを含む。オプションは、トリプレットパラメータ[π,β,I]によって定義される。オプションの中には、トリプレットをデータベースに格納し、方策をわずかに変更することによって、AI設定の過去の実験から派生したものもある。方策は、オプションと次の行動との間のマッピングである。方策をわずかに変更することで、実行する必要のある行動の分布が得られる。さらに、エージェントは、一連の行動を含む。選択されたオプションがSMDPの遷移を使用して終了すると、エージェントは別の行動を開始する。オプションマクロは、特定のタイムアウトメカニズムを伴うマルコフまたはセミマルコフの1つである。したがって、オプションマクロは、例えば、タイミングクロージャの問題に関するフロアプランおよび配置の最適化や、設計の検証範囲を証明するためにエージェントによって実行される、実行時間が長い検証テストケースなどの、OCAの反復最適化パートに使用される。
本明細書の一実施形態によれば、AIフレームワークには、max−Qおよび抽象機械の階層(Hierarchies of Abstract Machines:HAM)フレームワークで実装されたSMDPが組み込まれており、SoCのためのより高速で最適なアーキテクチャおよび設計クロージャが実現されている。SMDPは、Max−QフレームワークとHAMを展開する。これらは、セミマルコフオプション(SMO)である。SMOは、オプションを選択する方策で利用できるものよりも詳細な状態をオプションが表していることを示している。さらに、HAMを使用して、方策の改善のために、エージェントSMDPによって学習された方策に制約が適用される。さらにまた、HAMを使用して、SMDPの階層全体に制約が適用される。各SMDPドメインには独自のHAMがあり、階層内の上位SMDPタスクから下位SMDPタスクへのマッピングに関する制約を提供している。また、HAMは、SMDPの階層を関連付ける方法を提供する。SoCの設計は常に階層的であるため、HAMは、設計の階層(IPからSoC上まで)およびタスクの階層(最適なチップ仕様の抽出から、最適なチップアーキテクチャ(OCA)、GDSIIテープアウト、レイアウトまで)に提供する最適なRLアルゴリズムを決定する上で大きな役割を果たす。本明細書の一実施形態によれば、HAMは、SMDPに対する制約、ならびに低レベルのタスクとより高いレベルのタスクとの間の関係を導出するために使用される。
本明細書の一実施形態によれば、HAMは、AIサブドメインSMDPを呼び出すために本明細書で使用されるような4つの状態を含む。これらの状態は、すべてのSMDPまたはMDPで実行され、次のSMDP、MDPおよびオプションマクロをいつ呼び出すかを決定する。本明細書の一実施形態によれば、AIフレームワークには、AI SOCD行動状態、AI SOCD呼状態、SI SOCD選択状態、AI SOCD停止状態が含まれる。AI SOCD行動状態は、AI SOCDの階層環境で行動を実行する。さらに、AI SOCD呼状態は、サブルーチンとして別のAI SOCD HAMまたはSMDPを実行する。AI SOCD選択状態は、非決定論的にAI SOCDのSMDPを選択する。AI SOCD停止状態は、マシンの実行を停止し、制御を前の呼状態に戻す。AI SOCD HAMまたはSMDPの最上位レベルの階層はチップトップエージェントであり、ドメイン固有のHAMを持つ他のすべてのエージェントを呼び出す。HAMベースのSMDPはそれぞれ多目的であり、ベクトル化された報酬、行動およびQ値を持っている。
本明細書の一実施形態によれば、SoCの設計フレームワークには、次のモジュール/ドメインが含まれる。
SoC通信およびネットワークオンチップ(NoC):このモジュールは、ブロックを互いに接続し、それによってSoCの接続および統合を確立する。また、このモジュールは、SoC通信AIエージェントを使用して実装される。このサブドメインでは、単一または複数のSDMP(Max−Q、HAM、またはオプションの実装とすることができる)によって表される単一または複数のエージェントの主な目的は、最適な通信を生み出すことである。このSOC AIサブドメインは、単一または複数のタイプのエージェントに報酬と観測を提供する環境を含む。報酬および観測は、SoCエンドポイント(マスタとスレーブであって、例示的なマスタはプロセッサであり、スレーブはメモリポートまたはコンフィギュレーション・インタフェースである)間の通信の容易さに関連している。単一または複数のエージェントは、待ち時間の短縮、消費電力、システムのスループットの向上、最適な通信トポロジ(NoCトポロジ)、物理的に設計されたチップの輻湊の低減に関するフィードバックを、所与の行動(データパスのバッファリング、データパスのリタイミング、マスタとスレーブのクラスタへの最グループ化、パワーアイランドの作成、専用チャネルを介した接続ワイヤの再ルーティングによる輻湊の低減など)に対する良い報酬として環境から提供する。さらに、このドメインは、これらの行動の組み合わせとして方策を作成および発見し、最適なSoC通信アーキテクチャを取得するためにそれらを実装するように構成されている。これらのAI SOCドメインNoCエージェントはNoC環境と相互作用して、MDPを抽出し、方策勾配を実施し、結果として得られたQ値をビッグデータベースに格納し、最適なSoC通信構造を計画するように構成されている。
SoC電力最適化:このモジュールには、SoC電力エージェントを使用して、漏電および動的電力などのSoCの様々な電力成分を最適化する技術や、電子の移動によるハードウェアの経年劣化がハードウェアのパフォーマンスに及ぼす影響を低減する技術が組み込まれている。SoC電力最適化サブドメインは、エージェントの行動に基づいて、消費電力の増減に関してエージェントにフィードバックを提供するように構成された環境を含む。このAI SOCサブドメインは、パフォーマンスと様々な電力成分とのバランスをとるように構成された、1つ以上の電力エージェントを含む。環境は、スループット、クロック周波数、ならびに特定のブロックまたはSoC全体の漏電電力および動的電力などの消費電力測定値などの、パフォーマンス測定値に関するフィードバックを提供するように構成されている。このAI SOCDサブドメインは、パフォーマンスあたりのSoC電力消費を最適化するために、HAM制約を使用してMax−qフレームワークのさらなる階層を実装するように構成されている。エージェントによってとられる行動は、クロックゲーティング、ブロックのパワーコラプス、SoCのパーティショニング、パワーレールの再設計などである。これらのAI SOCドメイン電力エージェントは、電力環境と相互作用して、MDPを抽出し、方策勾配を実施し、結果として得られるQ値をビッグデータベースに格納し、最適な電力構造を計画するように構成されている。
SoCクロッキング:このドメインは、SoC全体のクロック設計のドメインであり、SoCクロックエージェントを使用してクロッキングを広域的かつ局所的に最適化する。これには、推定およびクロックツリーの最適化も含まれる。
SoCクロッキングAI SOCサブドメインは、必要とされるPLLの数、推定クロック電力、クロックルーティングの輻湊およびクロックスキューに関して生じ得る問題についてのフィードバックを提供するように構成された環境を有する。1つまたは複数のエージェントを含むこのAI SOCドメインは、PLLの挿入、クロック生成論理(CGL)、クロックゲーティングおよびクロックプログラミングレジスタの実装の行動を実行するように構成されている。これらのAI SOCドメインのクロックエージェントは、クロック環境と相互作用して、MDPを抽出し、方策勾配を実装し、結果として得られるQ値をビッグデータベースに格納し、最適なクロック回路を計画するように構成されている。
SoC配置およびフロアプラン:このドメインでは、SoCフロアプランを最適化する。これには、強化学習アルゴリズムおよび方策に従う論理ブロックの配置が含まれる。これには、パワーアイランドの作成が含まれ、(これに限定されないが)配置によるタイミングおよび電力を最適化するための方策の作成が含まれる。
SoC配置およびフロアプランAI SOCドメインは、配置およびフロアプラン環境を実装するように構成されており、これは、フロアプランおよび配置EDAツールへのフックとして機能する。環境は、フロアプランおよび配置EDAツールをデータベースとして使用し、それらをラップして、輻湊、タイミング、利用可能なルーティングチャネル、ルーティング使用率および結果の品質(QoR)などの様々な報酬および観測を取得するように構成されている。それらは、ツール固有の形式である場合があるが、AIフレームワークがEDAベンダー間で移動できるように、AIフレームワークの汎用フォーマットに変換される。このAI SOCドメインは、説明したように、HAMおよびMax−Qの実装に従って1つ以上のサブドメインを実装するように設計されている。各サブドメインは、最適な配置およびフロアプランを導出するために1つ以上のエージェントを実装するようにも構成されている。エージェントが実行する行動には、限定しないが、設計内のサブブロックの移動、バッファの追加、サブブロックの再形成および設計のタイミングクロージャ、配置およびSoCフロアプランに最適なQoRを得るための他のAI SoCドメインとの相互作用が含まれる。
SoC物理設計:このドメインでは、SoC物理設計を実行する。これには、SoC物理エージェントを使用して、電力、トランジスタの物理レイアウト、物理遅延フォーマットおよび物理電力ルーティングなどの情報を含むセルの物理ライブラリに、論理設計をマッピングすることが含まれる。SoC物理設計AI SoCドメインは、ルーティングの輻湊、タイミング、電力解析、電力ルーティングなどの物理的な設計品質に対する観測と報酬を提供するための環境を実装するように構成されている。このAI SoCドメインは、論理設計をテクノロジライブラリにマッピングするために、物理設計に関連する複数のサブドメインを実装するように構成されている。また、バッファリング、電力ルーティングの変更、電源スイッチの挿入、クロックゲートの挿入、データパスのリタイミング、追加のPLLの削除または追加などの行動を実行する1つ以上のエージェントを実装するようにも構成されている。エージェントは、別のAI SoCドメインおよびサブドメインと相互作用して、最適なSoC物理設計を取得するようにも構成されている。さらに、このAI SoCドメインおよびそのサブドメインは、ツール固有の形式から一般的な形式の観測を取得するために、様々なEDAツールへのフックを実装するように構成されている。
SoC論理検証:このモジュールでは、検証エージェントを使用してチップ論理を検証する。検証プロセスには、SoCの品質を改善し、SoCの機能に対する確実性を提供するための、様々な検証、メトリックの収集、およびバグの報告が含まれる。SoC論理検証AI AoCドメインは、設計に含まれるバグ、検証範囲、テストケースの失敗、アサーションの失敗、デバッグログの推論に関する観測を提供するための環境を実装するように構成されている。このAI SoCドメインはまた、SoCの検証クロージャを取得するために、Max−Q、HAMおよびオプションフレームワークに従って1つ以上のサブドメインを実装するように構成されている。このAI SoCドメインの各AI SoCサブドメインは、テスト機能のライブラリを使用してテストケースを生成すること、機能シミュレータEDAツールによりテストケースを実行すること、検証ログファイル、カバレッジログファイルの読み取りなどのデバッグアクション、各テストの最後に、設計のバグを修正し、データベースにアクセスしてQ値を格納すること、などの行動を実行するために、1つ以上のエージェントを実装するように構成されている。実行した検証量や、テストケースの生成などの行動後に閉じられたバグの数を反映する、複数のQ値がある。また、設計上のバグ修正は、Max−Q、オプションまたはHAMまたはコンビネーションハイブリッドの実装において、より大きな個別のSMDPによって行われる。また、このAI SOCドメインおよびそのサブドメインに関連するエージェントは、最上位レベルのSoC MDPなどの別のAI SOCドメインとデータベースを介して相互作用して、検証済みの最適なSoC回路を取得し、検証可能な最高のカバレッジを閉じるように構成されている。このAI SoCドメインは、コードカバレッジ、アサーションカバレッジ、およびテストケースの開始と終了などの情報観測を取得するために、様々なEDA機能シミュレータおよびデバックツールへのフックを実装するように構成されている。
SoC物理検証:モジュールは、検証エージェントを使用して、SoCの物理的実装を検証する。検証プロセスには、LVS対DRC、レイアウト後のタイミング、ルーティング、IRドロップ、電源機能の正確性、電気ルールチェックの検証が含まれる。さらに、これらすべての要因を考慮して(SoC回路の)物理設計のための最適なトレードオフを提供するために、このドメインにおいて様々な方策が検討される。
SoC物理検証AI SoCドメインは、LVS,DRCエラー、ログ、レイアウト後のタイミング、IPドロップおよび物理設計のQoRに関する観測を提供するための環境を実装するように構成されている。これらの観測は、EDAツールから環境によって取得され、EDAツールはさらに処理されてツール固有の形式から一般的な形式を生成し、報酬または観測としてエージェントに提供される。このAI SoCドメインは、ハイブリッドMAX−QおよびHAMフレームワークを介して複数のAI SOCサブドメイン、オプションマクロを実装するように構成されている。これらの各サブドメインのエージェントによって取られる行動には、限定しないが、ライブラリの再マッピング、ERCエラーの報告、データベースからの標準修正の取得、データベースへのQ値の更新などが含まれる。
SoCタイミング:ドメインは、レイアウト前およびレイアウト後のタイミングクロージャを含む。タイミングクロージャは、セットアップ時間とホールド時間の解決、偽パスの割り当てなどの特定の行動や方策を実行することを含む。SoCタイミングAISoCドメインは、SoCのタイミングを閉じることを主な目的としている。タイミング違反には、セットアップおよびホールド違反、偽パス、マルチサイクルパス、および一般的な例外が含まれる。タイミングクロージャAIドメインの環境は、タイミングクロージャツールにフックされて、セットアップタイム違反、ホールドタイム違反、合計ネガティブスラック、そして最悪の場合はネガティブスラックおよびクロストーク違反についての報酬および観測を提供する。AI SoCタイミングエージェントは、前述のハイブリッドHAM制約を使用して実装された1つ以上のレベルのMax−Q再帰構造を含むように構成されている。このAI SoCドメインおよびそのサブドメインは、エージェントを実装するように構成されており、その主な行動は、リタイミング、データパスの再設計、ならびにクロックツリーのバランス調整によって、セットアップおよびホールド違反を修正することである。これらの各行動は、オプションとしても実装されている。
SoC DRC(デザインルールチェック),SoC ERC(電気的ルールチェック):このドメインでは、ディープ強化学習技術を使用して、ERCおよびDRCクロージャの方策が学習され、適用され、そして計画される。SoC DRC/ERC AIサブドメインは、フローティングGNDネットおよび未接続のVDD/VCCピン、パワーネットの短絡、適切なレベルシフタなしのパワードメインクロッシング、およびアイソレーションセルなどのERC違反の効率的な修正を実装するように構成されている。DRC違反には、金属間の間隔規則、最小幅規則、ビア規則が含まれ、別の規則セットはLVS規則であり、これにより、生成されるレイアウトが物理設計の前に生成されるネットリストと同等になる。短絡、開口、および回路パラメータの不一致をチェックする。このAI SoCドメインは、上記で示唆されたように、HAM制約を用いて階層型Max−Qフレームワークを実装するように構成されている。このAI SoCドメインはまた、浮動接地を接続することによって浮動接地を固定するための動作を行うように構成され、短絡を分離することによって短絡を除去して短絡VDDを修正する、1つまたは複数のエージェントを実装するように構成されている。これらは、浮動型のネットを固定し、レイアウトのパラメータを修正することにより、LVS違反を修正するための行動を実行するように構成されているため、ネットリストと同等になる。エージェントはまた、DRCを修正するための行動を実行するように構成されているため、設計規則に従って金属間の間隔がもたらされ、プロセス規則の定義に従ってルートの幅が設定される。
SoCパッケージ:このドメインでは、パッケージ関連の方策および行動が学習される。方策は、基板設計、ピン多重化、パディング、パワーボールの割り当て、I/OピンへのPCB負荷の可能性などに関する。パッケージのタイプを選択する方策もまた、このドメイン内のすべてのタスクの後に学習される。SoCパッケージAI SOCドメインでは、最適なパッケージ、I/O、基板設計を提供する。このAI SOCドメインは、I/Oモデル、I/Oセルライブラリ、基板モデル、PCBモデル、パッドリング構成、およびピンマ多重化にフックされる環境を実装するように構成されてる。環境は、I/O制約が満たされていること、基板制約が満たされているか、あるいは満たされていないこと、I/OモデルがI/O負荷および駆動要求を満たすために機能的に適しているか、あるいは認定されていること、DRCを満たすI/Oセルの能力、ボードの負荷を駆動するために必要な電力および過渡特性、ならびにボードコンポーネントからの電流のシンクに関する、フィードバック、観測および報酬を提供するように構成されている。また、I/Oの最適な利用を提供するために、ピン多重化での同時実行性など、I/Oの使用に関連するシナリオについても観測される。
本明細書の一実施形態によれば、上述のドメインは、AIフレームワークを使用して実装される。各ドメインは、AI論理設計環境、AI論理設計エージェント、AI論理設計タスク、AI論理設計実験を組み込むように構成されている。本明細書の実施形態によって想定されるSoC設計フレームワークは、前述のすべてのモジュールの実験から学習を抽出し、当該学習結果を、好ましくはQ値またはニューラルネットワークの重みまたはルックアップテーブルの形式で、あるいは他の任意の適切な形式で、データベースに格納することを目的としている。例えば、Q値は、方策の反復に関するBellman方程式から導出される。あるいは、Q値は、オプションまたはマクロまたはHAMもしくはMax−qメソッドから導出し、MDPを導出するためのデータベースに格納される。
通常、Q値は、方策πが与えられたときの行動に対して特定の状態の値を提供する、行動価値関数として解釈される。Q値は、次の関数により定義される:
qπ(s,a)=Eπ[Gt|St=s,At=a]
ここで、qπはQ値であり、Gtは状態「s」および行動「a」からの方策に対する総報酬であり、StおよびAtは、状態空間および行動空間である。Q値は、学習過程で生成され、プログラム変数としてデータベースに格納される。状態「s」からの総価値を定義する価値関数はさておき、方策πは次のように定義される:
Vπ(s)=Eπ[Gt|St=s]
価値関数近似を伴うまたは伴わない価値は、学習過程の終わりに、ローカルプログラム変数または個別のデータベースに格納される。
本明細書の一実施形態によれば、強化学習(RL)アルゴリズムは、SoCドメインごとに、Q値が事前設定された閾値を下回って収束すると終了する。あるいは、強化学習(RL)アルゴリズムは、定義済みの実験/エピソード数が完了すると終了する。さらに、強化学習(RL)アルゴリズムは、それが所定の目標性能または終了状態に達すると終了する。所定の状態の例には、チップ間の通信ドメイン設定におけるNoC(ネットワークオンチップ)の定義済みのスループット目標、またはチップの動的電力の定義済みの電力数、または定義済みのクロックスキュー、または定義済みのクロック数が含まれる。それでも、強化学習(RL)アルゴリズムは、定義済みの階層的に最適な目標または状態に達すると終了する。
図7は、Q値の収束時の強化学習(RL)アルゴリズムの終了に含まれるステップを示すフローチャートを示す。本明細書の一実施形態によれば、SoCの設計に対応する複数のドメインを用いたAI設定によって強化学習を開始する(601)。さらに、ドメイン固有のAIエージェント、ドメイン固有の環境、およびドメイン固有のタスクを使用して、ドメインのAI設定を行う。さらなる最適化を行い、かつ所望のSoC構成を生成するために、初期化され、コンパイルされ、最適化されていないチップデータベース用のMDP、SMDP、HAMおよびMAX−Qの形式で、ドメインAIを設定する。さらに、AI実験の設定をSoCドメインごとに行う。AI実験の設定には、利用および探索を実行するために、貪欲アルゴリズムまたは調整された貪欲アルゴリズムなどのアルゴリズムを実装(実行)するように、各SoCドメインを構成することが含まれる(602)。続いて、ドメイン固有のAIエージェントは、AIタスクを介してドメイン固有の環境と相互作用し、特定のドメインに関するQ値を抽出するように構成されている。さらに、抽出したQ値を、データベース/ビックデータに格納する(603)。Q値が収束するまで、あるいはQ値の変化率が事前設定された閾値λ未満となるまで、このプロセスを各ドメインに対して継続する(604)。各SoCドメインのQ値から導出された推論の数に基づいて学習を推定する。したがって、学習の結果である新規の方策を考案/導出し、ドメイン固有のデータベースに格納する。特定のドメインで学習された新規の方策を、関連する別のドメインで学習された方策を用いて最適化し、組み合わせ/反復し、SoCを計画するための階層的に関連する最適な方策を生成する(605)。
図8は、本明細書の一実施形態による、SoCの設計フレームワークにおいて、SoCの設計ドメインごとに定義済みの実験数またはエピソードを個々に完了した際に、強化学習(RL)プロセスを終了する方法を説明するフローチャートを示す。本明細書の一実施形態によれば、SoCの設計に対応する複数のドメインを用いたAI設定によって強化学習を開始する(701)。さらに、ドメイン固有のAIエージェント、ドメイン固有の環境、およびドメイン固有のタスクを使用して、ドメインのAI設定を行う。さらなる最適化を行い、かつ所望のSoC構成を生成するために、初期化され、コンパイルされ、最適化されていないチップデータベース用のMDP、SMDP、HAMおよびMAX−Qの形式で、ドメインAIを設定する。さらに、AI実験の設定をSoCドメインごとに行う。AI実験の設定には、利用および探索を実行するために、貪欲アルゴリズムまたは調整された貪欲アルゴリズムなどのアルゴリズムを実装(実行)するように、各SoCドメインを構成することが含まれる(702)。続いて、ドメイン固有のAIエージェントは、AIタスクを介してドメイン固有の環境と相互作用し、特定のドメインに関するQ値を抽出する。さらに、抽出したQ値を、データベース/ビッグデータに格納する(703)。定義済みの数の実験/エピソードが完了したら、強化学習(RL)アルゴリズムを終了する(704)。各SoCドメインのQ値から導出された推論の数に基づいて学習を推定する。学習の結果である対応する新規の方策を考案/導出し、ドメイン固有のデータベースに格納する。特定のドメインで学習された新規の方策を、関連する別のドメインで学習された方策を用いて最適化し、組み合わせ/反復し、SoCを計画するための階層的に関連する最適な方策を生成する(705)。
図9は、本明細書の一実施形態による、SoCの設計フレームワークにおいて、SoCの設計ドメインごとに定義済みの目標性能または目標状態に個別に到達し、あるいはそれを達成した際に、強化学習(RL)プロセスを終了する方法を説明するフローチャートを示す。本明細書の一実施形態によれば、SoCの設計に対応する複数のドメインを用いたAI設定によって強化学習を開始する(801)。さらに、ドメイン固有のAIエージェント、ドメイン固有の環境、およびドメイン固有のタスクを使用して、ドメインのAI設定を行う。さらなる最適化を行い、かつ所望のSoC構成を生成するために、初期化され、コンパイルされ、最適化されていないチップデータベース用のMDP、SMDP、HAMおよびMAX−Qの形式で、ドメインAIを設定する。さらに、AI実験の設定をSoCドメインごとに行う。AI実験の設定には、利用および探索を実行するために、貪欲アルゴリズムまたは調整された貪欲アルゴリズムなどのアルゴリズムを実装(実行)するように、各SoCドメインを構成することが含まれる(802)。続いて、ドメイン固有のAIエージェントは、AIタスクを介してドメイン固有の環境と相互作用し、特定のドメインに関するQ値を抽出する。さらに、抽出したQ値を、データベース/ビッグデータに格納する(803)。強化学習(RL)アルゴリズムは、定義済みの目標性能または終了状態に到達すると終了する(804)。各SoCドメインのQ値から導出された推論の数に基づいて学習を推定する。学習の結果である対応する新規の方策を考案/導出し、ドメイン固有のデータベースに格納する。特定のドメインで学習された新規の方策を、関連する別のドメインで学習された方策を用いて最適化し、組み合わせ/反復し、SoCを計画するための階層的に関連する最適な方策を生成する(805)。
図10は、本明細書の一実施形態による、SoC設計フレームワークにおいて、トップダウンアプローチによって、SoCの設計ドメインごとに個別に導出された定義済みの階層的に最適な状態または目標に到達し、あるいはそれを達成した際に、強化学習(RL)プロセスを終了する方法を説明するフローチャートを示す。本明細書の一実施形態によれば、SoC設計に対応する複数のドメインを用いたAI設定によって強化学習を開始する(901)。さらに、ドメイン固有のAIエージェント、ドメイン固有の環境、およびドメイン固有のタスクを使用して、ドメインのAI設定を行う。さらなる最適化を行い、かつ所望のSoC構成を生成するために、初期化され、コンパイルされ、最適化されていないチップデータベース用のMDP、SMDP、HAMおよびMAX−Qの形式で、ドメインのAI設定を行う。さらに、AI実験の設定をSoCドメインごとに行う。AI実験の設定には、利用および探索を実行するために、貪欲アルゴリズムまたは調整された貪欲アルゴリズムなどのアルゴリズムを実装(実行)するように、各SoCドメインを構成することが含まれる(902)。続いて、ドメイン固有のAIエージェントは、タスクを介してドメイン固有の環境と相互作用し、特定のドメインに関するQ値を抽出する。さらに、抽出したQ値を、データベース/ビッグデータに格納する(903)。強化学習(RL)アルゴリズムは、事前設定された階層的に最適な状態に到達すると終了する(904)。各SoCドメインのQ値から導出された推論の数に基づいて学習を推定する。学習の結果である対応する新規の方策を考案し、ドメイン固有のデータベースに格納する。特定のドメインで学習された新規の方策を、関連する別のドメインで学習された方策を用いて最適化し、組み合わせ/反復し、SoCを計画するための階層的に関連する最適な方策を生成する(905)。
図11Aおよび11Bは、本明細書の一実施形態による、SoCの設計プロセスにおいてSMDPの階層を同期させる方法を説明するフローチャートを示す図である。この方法は、仕様またはデータベースからチップトポロジを初期化するステップを含む(1101)。さらに、チップトポロジを、HAM制約を伴うマルコフ決定過程(MDP)に関連付ける(1102)。続いて、チップトポロジを、複数のSMDPまたはMDPに関連付ける。複数のSMDPまたはMDPを有効にする(1103)。続いて、事前設定されたQ値または事前設定された目標が達成され、有効になった複数のSMDPまたはMDPが終了したら、複数のSMDPまたはMDPを同期する(1104)。同じ階層の複数のサブドメインを有効にする(1105)。事前設定されたQ値または事前設定された目標が達成されると、有効になった複数のサブドメインが終了する(1106)。さらに、事前設定されたQ値または事前設定された目標が達成され、有効になった複数のサブドメインが終了したら、複数のサブドメインを同期する(1107)。同期されたサブドメインに従属しているサブドメインを有効にする(1108)。従属サブドメインは、事前設定された目標を達成した後に終了する(1109)。続いて、複数のSMDPの物理検証を開始する(1110)。物理検証プロセスは、事前設定された目標実験回数を達成した後に終了する(1111)。これにより、SoC設計のための最適なチップアーキテクチャが得られる。このチップ設計を、GDS(グラフィックデータベースシステム)に格納し、チップ製造のためのファウンドリに転送する(1112)。
本明細書の一実施形態によれば、あるSMDPが他のSMDPに依存していない(例えば、有効電力SMDPおよび配置SMDP)場合、あるSMDPに、該SMDPが最終状態に達したことを他のSMDPと通信させることによって同期が行われる。同期は、SMDPが終了状態に達したことを示唆するグローバルブロードキャスト信号の1つである。終了したSMDPはまた、SMDPタイミングあるいはSMDPの検証でバグが見つかったときに、タイムクロージャのような最終結果をグローバルデータベースにアップロードするように構成されている。あるいは、あるSMDPが他のSMDPに依存している場合、各SMDPはロックステップまたは反復ループで動作する。各SMDPは、別々の同期状態の他のSMDP(例えば、論理検証SMDPと論理設計SMDP)と通信する。各SMDPは、それぞれの最終結果を伝え、バグ修正、最適化を待ち、その設計がPDまたは合成に送るのに最適な形状であることを要求する。
本明細書の一実施形態によれば、2つ以上のSMDPが同期プロセスに関与して、その最終結果が複数のSMDP、オプションマクロおよびMDPの間で共有される。
図12は、本明細書の一実施形態による、SoC設計のプロセスにおける、SQLスキーマまたは文書データベースに格納された階層型Qテーブルの平面図または概略図を示す。AIフレームワークは、リーフレベルのオプションマクロまたはMDPから、AI SOCDの最上層SMDPへの階層バックアップを実行するように構成されている。HAM制約の呼状態の間に、1つのSMDPが他のSMDPを呼び出す場合、状態のHAMフレームワークはSMDPを同期するために使用される。
本明細書の一実施形態によれば、Max−Qのフレームワークに基づいて、SoCの全体設計を修正する。SoCD1201は、最上層のSoC設計タスクであり、SoCD0,SoCD1,SoCD2,...SoCDNに分解される。これらのSoCDの各々は、複数のAI SoCドメイン1201a,1201b,1201c,1201dにマッピングされる。一例では、ルートタスクSoCDが方策πを実行し、タスクの階層{SoCD0,SoCD1,SoCD2,...SoCDN}は、方策{π0,π1,π2,...πN}(これらがまとまって方策πを表す)を実行するために使用される。さらに、各ドメインは、サブドメイン1202a、1202b、1202cにさらに分割されて、再帰的Max−Q、HAMまたはエンドポイントオプション/マクロ1204などの方策およびSMDPの階層を実装する。
本明細書の一実施形態によれば、SMDPのQ学習は、SoCDサブドメインを使用してAIフレームワークにわたって適用される。Q値は、次式によって与えられる:
Figure 0006902113
ここで、Qπ(i,s,a)は、i番目のSMDPの方策πiに従うQ値であり、Vπは、方策πに従う行動aを伴う状態Sでの価値関数であり、Piπは、方策πに従う次の状態への遷移確率である。
本明細書の一実施形態によれば、Q値の格納および使用法は、Max−Qフレームワークの再帰的構造のために非常に異なる。SMDPの各階層で異なるQ値が生成される。そのため、Q値の式は次式によって与えられる:
Figure 0006902113
ここで、i1,i2,i3,...in,は、関係する反復SMDPによって導入され、nは、Q値のn番目の階層を示している。SMDPの数百万の階層が関係しており、何十億ものQ値があるため、Q値はデータベースに格納される。現在のSoCの設計におけるQ値を組み合わせて最終的なQ値を取得することを可能にするために、データベースは、100ペタバイトの容量を有する。
最上層のSMDPの最終的なQ値は、次式で表される:
Figure 0006902113
Q値は、最上層のSMDPの所与の状態における、すべての階層的SMDPのQ値の関数である。Q値関数は、合計を実行する前に各報酬をスケーリングすることを必要とする。すべての他のQ値のスケール係数は、ディープニューラルネット(DNN)によって決定される。
図12を参照すると、階層的SMDP構造のQ値は、テーブルベースのデータベース(MYSQLおよびMSSQLなど)またはドキュメントベースのデータベース(NOSQL、Mongodbなど)またはグラフデータベースに格納される。各データベースには、子SMDPのQ値を指す外部キーまたはポインタが含まれている。さらに、最上層のSMDPのQ値は、エントリ状態からのより下層のSMDPの最大Q値に依存する。最上層のSMDPのQ値をより下層のQ値にマッピングするプロセスは、最下層のMDPまたはオプションマクロに達するまで階層を下って続く。最上層のSMDPのQ値は、次式により与えられる:
Figure 0006902113
ここで、gi(φ)およびf()は、ディープニューラルネットワーク上でのトレーニングを使用して取得され、Qiπ(s,a)は、子SMDPのi番目の階層のQ値である。
本明細書の一実施形態によれば、ディープニューラルネットワークは、階層的ディープSMDPネットワーク(HDSN)またはディープMax−QネットワークまたはディープHAMネットワークである。(DQNとは異なり)HDSNでは、経験再生は階層的であり、1つ以上のディープニューラルネットワークを使用して、SMDP間の関係を取得し、さらに異なるQ値間の関係関数近似を取得する。HDSNでは、次に、経験再生を使用して、異なるSMDPのQ値間の関係を取得する。
図13は、本明細書の一実施形態による、SoCの設計プロセスにおけるHDSNでの経験再生に使用されるディープニューラルネットワークのブロック図または概略図を示す。HDSNは、階層的AIにおける異なるSMDP間の関係を取得するために使用される。さらに、HDSNは、異なるQ値間の関係関数近似を得るように構成されている。
本明細書の一実施形態によれば、より下層のSMDPテーブルから取得されたSMDPのQ値は、より上層のQ値を取得するためにDNNを通過する。このように、DNNは、より下層のQ値をより上層のSMDPのQ値に変換するために使用される。さらに、Q値の階層は、DNNを介してネットワーク化されている。SMDPの階層ごとに異なるネットワーク構成が使用されている。OCA(最適なチップアーキテクチャ)は、Qテーブル、SMDP、すべての階層にわたるそれらの間の関係の集合として定義される。最適なチップアーキテクチャ(OCA)は、最上層のSMDPの最大Q値に対応する。
本明細書の一実施形態によれば、最上層のSMDPの最大Q値は、AI SOCドメインにわたって取得される。AI SoCドメインは、再帰的なMax−Qフレームワークにさらに分解されるか、HAM選択状態またはMax−QとHAMとの組み合わせを通じて呼び出される。例えば、SoCのフロントエンドの統合は、純粋にMAX−Q値関数の分解であり、一方で、ボトムアップ合成は、1つのモジュールレベルの合成の完了後に、異なる状態の合成またはサブブロック合成を要求するHAMである。Max−Qは、機能検証でも使用され、ここでは、チップ全体の検証値関数が、ブロックレベルの検証、最上層検証の階層的タスクに分割される。検証プロセスは、ブロックレベルの検証が完了したことを確認するために実行される。したがって、AI SoC設計は、最上層のSMDPの最大Q値を達成するためにいくつかのSMDPに分割され、OCAは、最上層のSMDPの最大Q値から取得される。
図14は、本明細書の一実施形態による、SoC設計プロセスにおける階層的強化学習のAIフローを使用して最適なチップアーキテクチャ(OCA)を生成するためのシステムの機能ブロック図を示す。本明細書の一実施形態によれば、AIの階層的強化学習に基づくチップアーキテクト・オプティマイザは、アプリケーションソフトウェアの仕様1401、コンポーネントコストのメトリック1402、コンポーネント性能のメトリック1404、システム記述言語(SDL)を介したソフトウェア機能1403、およびチップ記述言語(SDL)を介したハードウェア機能1405からの入力を受け取るように構成されている。チップアーキテクト・オプティマイザ1406はさらに、チップ通信最適化、チップ入出力最適化、チップ配置最適化、チップDFT/DFD最適化、およびチップ検証最適化を実行するように構成されている。最後に、最適なチップアーキテクチャ1407が生成される。
図15は、本明細書の一実施形態による、強化学習プロセスを使用したSoCの設計プロセスにおける、ドメインごとにMDPを抽出する方法を説明するフローチャートを示す。本明細書の一実施形態によれば、環境の試行錯誤学習を、複数のシングルステップアクションで実行する。各ステップアクションは、状態に関連付けられている(1410)。ステップの実行は、N回の反復後に終了する。各エピソード/ステップについての価値関数(V)およびQ値を、各SMDPのデータベース(例えば、アルファDB)に格納する(1412)。EDAツールと相互作用するときのアーキテクチャのパフォーマンスや結果など、価値関数およびq値における大きなばらつきとして状態を識別する(1413)。N回のステップからのサンプル状態を取得し、遷移の何らかの確率分布を伴うMDPを形成する(1414)。MDPが精密化されて、最適なQ値に見られる収束。その後、バックアップを行い、最上層MDPの価値関数および行動価値を取得する(1415)。MDPが精密化され、集束されると、最適なQ値が得られる。(1416)このようにして、最上層のMDPが終了する(1417)。
図16は、本明細書の一実施形態による、SoC設計プロセスにおけるビッグデータフレームワークの機能ブロック図を示す。階層型強化学習、またはディープ階層型強化学習、または環境からの学習と学習データからのチップアーキテクチャの計画とを含む強化学習の任意の方法を使用して、強化学習を階層的に実行する(1601)。学習データをデータベースに格納する。格納されたデータには、Q値、SMDP行動価値テーブル、価値関数、関数近似に使用されるニューラルネットワークの重み、およびSMDP間の関係が含まれる(1602)。格納されたデータは、SoCに関する学習情報のために引き出される。格納されたデータを使用して、様々なMDP、SMDP、オプションマクロ、HAMおよびMax−QなどのHRL構造を導出することによって、SoCのAI計画を実行する(1603)。将来の再利用のために、計画されたSoC情報を格納する。計画され、格納されたSoC情報には、複数のMDP、計画されたSMDP、HRL構造、OCA、および推論などの情報が含まれる(1604)。
図17は、本明細書の一実施形態による、SoC設計プロセスにおいてSoCドメインおよびサブドメインを抽象化する方法を説明するフローチャートを示す。電子システム設計のための新しい仕様は、ビッグデータプロセッサ(1700)に格納された学習情報および推論を使用することから得られる。ビッグデータプロセッサ(1700)は、古くて既存のPCB設計からボードレベルのPCB情報を受け取って使用する。該プロセッサは、データベースからのSoC設計からの、既存のコンポーネント仕様および学習情報の機械可読形式を使用する。ビッグデータプロセッサ(1700)は、チップ機能のビッグデータ(1701)、コンポーネント性能のビッグデータ(1702)、顧客の要求およびビジネスインテリジェンスのビッグデータ(1703)、プロセスおよびテクノロジノードのビッグデータ(1704)、リアルタイムな情報検索およびテクノロジリサーチ(1705)を受け取って利用するように構成されている。
学習情報を組み合わせることによって、ビッグデータプロセッサ1700は、新しい電子システムに関する洞察を提供するように構成されている。ビッグデータプロセッサが使用する他の情報は、コンポーネントのコスト、品質、および可用性である。ビッグデータプロセッサの出力には、新しい電子コンポーネント1706のコスト、コンポーネント性能1707、アプリケーションソフトウェア仕様1708、CDL1709、ならびにSDL1710、アプリケーション、および新しい電子システムをターゲットにしたSoCに関心がある可能性のあるターゲット顧客の推定値が含まれる。
図18は、本明細書の一実施形態による、SoC設計のためのデータベースアーキテクチャのブロック図を示す。図18を参照すると、AIベースのSoCチップ設計を生成するためのデータベーススキームには、CLDパーサ1801、リレーショナルデータベース1802、入出力リングおよびチップ境界1803、グラフデータベース1804、物理データベース1805、およびチップトポロジ806が含まれる。
電子システム設計の新しい仕様は、ビッグデータプロセッサに格納された学習情報および推論を使用することから得られる。ビッグデータプロセッサは、古い既存のPCB設計からのボードレベルのPCB情報を使用する。それは、既存のコンポーネント仕様の機械可読フォーマットと、データベースからのSoC設計からの学習情報と、を使用する。ビッグデータプロセッサは、学習情報を組み合わせることによって、新しい電子システムの洞察を提供する。ビッグデータプロセッサに格納されているその他の情報は、コンポーネントのコスト、品質および可用性である。ビッグデータプロセッサの出力には、新しい電子システムのコスト、アプリケーション、および新しい電子システムを対象としたSoCに関心のある対象顧客の見積もりが含まれる。
本明細書の一実施形態によれば、いくつかの新しい方策は実験中に学習され、いくつかの選択肢が発見され、SoCアーキテクチャおよび回路を設計する際に適用される。すべてのSMDPのQテーブルが最適なQ値で満たされ、関連するDNNがSMDP階層間の関係関数を近似するように構成されると、最適なSoCアーキテクチャが最上位レベルのSMDPから導出される。SoCアーキテクチャでは、PoR SoCを正しく取得する必要があり、これは、機能SMDPドメインを介して行われる。次に、各AI SoCサブドメインにマッピングされている、パワードメインアーキテクチャ、NoCアーキテクチャおよび設計パーティショニング,クロッキングを介して正しいIPおよび内部接続を選択する必要がある。最適な方策は、格納されたQ値に基づいて学習される。トレーニングされたデータベースから、将来のSoC回路が得られる。
技術的な利点には、SoC設計、および、人工知能を組み込み、強化学習の原理を実装したフレームワークが実現されることが含まれる。本明細書の実施形態のSoC設計フレームワークは、SoC回路の設計に関連するリスクおよび不確実性を軽減する。さらに、SoCフレームワークを使用すると、回路設計者は、これまで未踏の設計スペースを探索できるようになるだけでなく、SoC回路のアーキテクチャを積極的に試すことができるようになる。さらに、本明細書の実施形態によって開示されるSoC設計フレームワークはまた、SoC回路設計に関連する創造性を高めながら、その中のバグの発生を低減する。さらに、当該SoCフレームワークはまた、回路設計者が(SoC回路)設計アーキテクチャで実験することを可能にしながら、SoC回路の設計についての洞察を得ることを可能にする。さらに、SoC設計フレームワークは、SoC回路の設計と実装に関連する応答時間(ターンアラウンドタイム)も短縮する。
特定の実施形態の前述の説明は、本明細書の実施形態の一般的な性質を十分に明らかにしているので、当業者は、現在の知識を適用することによって、一般的な概念から逸脱することなく、特定の実施形態などの様々な応用に容易に変更を加え、かつ/あるいはそれに適応させることができ、したがって、そのような変更および適応は、開示された実施形態の均等物の意味および範囲内で理解されるべきである。
本明細書で使用されている表現または用語は説明を目的としており、限定を目的としていないことを理解されたい。したがって、本明細書の実施形態は好ましい実施形態に関して説明されているが、当業者は、本明細書の実施形態が修正を加えて実施され得ることを認識するであろう。しかしながら、すべてのそのような修正は特許請求の範囲内にあるとみなされる。

Claims (9)

  1. 非一時的コンピュータ可読媒体に格納され、SMDPの階層を同期させることによってSoCを設計するためのハードウェアプロセッサおよびメモリを含むコンピューティングデバイスで実行される、コンピュータ可読命令を含むコンピュータ実装方法であって、当該方法は、
    SoC仕様またはデータベースからのチップトポロジを初期化するステップであって、受け取ったSoC仕様入力およびチップデータベースライブラリから取得した、チップ、チップスケルトン、クロック、入出力、パーティションに関する詳細を抽出することを含むステップと、
    人工知能(AI)設定の複数のドメインおよび複数のサブドメインを、マルコフ決定過程(MDP)、セミマルコフ決定過程(SMDP)、階層的抽象機械(HAM)およびMAX−Qの形式で作成して、チップ固有のグラフライブラリを生成するステップであって、前記人工知能設定が、AIエージェント、AI環境、およびタスクの組み合わせを含み、前記AI設定が、定義済みの探索および利用アルゴリズム、ならびに強化学習技術を使用して作成されるステップと、
    AIエージェントを使用して各ドメインのQ値を生成するステップであって、当該AIエージェントが、各ドメインのQ値を抽出するためのタスクを通じて、AI環境と相互作用するように構成されているステップと、
    前記チップトポロジを、HAM制約を伴うマルコフ決定過程(MDP)に関連付けるステップと、
    前記チップトポロジを複数のSMDPまたはMDPに分岐させるステップと、
    前記複数のSMDPまたはMDPを有効化するステップであって、当該複数の有効化されたSMDPまたはMDPは、事前設定されたQ値または事前設定された目標を達成すると終了するステップと、
    終了後に、前記複数のSMDPまたはMDPを同期させるステップと、
    同じレベルの複数のサブドメインを有効化するステップであって、前記複数の有効化されたサブドメインは、事前設定されたQ値または事前設定された目標を達成すると終了するステップと、
    終了後に、前記複数のサブドメインを同期させるステップと、
    前記複数のSMDPまたはMDPの物理検証を開始するステップと、
    SoCの計画を最適化するために、各ドメインおよびサブドメインの前記抽出されたQ値を、ビッグデータデータベースのSMDP Qテーブルの形式で階層型SMDP構造に格納するステップと、
    SoC設計のために最適なチップアーキテクチャを取得するステップであって、当該最適なチップアーキテクチャが、SMDP Qテーブルにおける最上位レベルの最大Q値に対応するステップと、を含む方法。
  2. 前記複数のサブドメインの各々のバックアップを、階層型ディープSMDPネットワーク(HDSN)を介して階層的に実行するステップをさらに含む、請求項1に記載の方法。
  3. 前記抽出されたQ値を格納する前記ステップが、リーフレベルのMDPおよびオプションマクロ用のQテーブルにQ値を格納することを含む、請求項1に記載の方法。
  4. 事前設定されたQ値を達成する前記ステップが、
    ドメインおよびSoCドメインごとに強化学習プロセスを実行し、Q値がドメインごとに事前設定された閾値未満に収束すると、ドメインごとに当該強化学習プロセスが終了し、Q値の変化がドメインごとに事前設定された閾値未満に減少すると、ドメインごとに当該強化学習プロセスが終了するステップと、
    特定のドメインごとに強化学習プロセスを実行し、特定のドメインごとに定義済みのエピソード数を完了すると、特定のドメインごとに当該強化学習プロセスが終了するステップと、
    特定のドメインごとに強化学習プロセスを実行し、特定のドメインごとに定義済みの目標性能または定義済みの終了状態に達すると、特定のドメインごとに当該強化学習プロセスが終了するステップと、
    ドメインごとに強化学習プロセスを実行し、ドメインごとに定義済みの階層的に最適な状態が達成されると、ドメインごとに当該強化学習プロセスが終了するステップと、を含む、請求項1に記載の方法。
  5. 前記複数のサブドメインを同期させる前記ステップが、第1のサブドメインの完了後に第2のサブドメインの実行をトリガすることをさらに含む、請求項1に記載の方法。
  6. 前記複数のドメインが、SoC通信およびネットワークオンチップ、SoC電力最適化、SoCクロッキング、SoC物理設計、SoC論理検証、SoC物理検証、SoCタイミング、SoC DRC(デザインルールチェック)、SoC ERC(電気的ルールチェック)、およびSoCパッケージを含む、請求項1に記載の方法。
  7. 前記複数のサブドメインが、SoCスループット最適化、SoC動的電力最適化、SoCタイミング最適化、SoC配置最適化、SoC安全機能、SoCセキュリティ機能、配置、フロアプラン、入力/出力およびルーティングを含む、請求項1に記載の方法。
  8. 前記最大Q値から最適なチップアーキテクチャを取得する前記ステップが、前記最適なQ値に関連する最適な方策を導出し、当該導出された最適なポリシーに関連する行動を実行することを含む、請求項1に記載の方法。
  9. 前記Qテーブルの上位レベルのQ値が計算されるときに、下位レベルのSMDPとMDPとの関係がニューラルネットワークを使用して決定される、請求項1に記載の方法。
JP2019558331A 2017-01-08 2017-09-25 SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法 Active JP6902113B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762443803P 2017-01-08 2017-01-08
US62/443,803 2017-01-08
US15/499,832 2017-04-27
US15/499,832 US9792397B1 (en) 2017-01-08 2017-04-27 System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning
US15/697,803 US9892223B1 (en) 2017-01-08 2017-09-07 System and method for designing system on chip (SoC) circuits by synchronizing a hierarchy of SMDPs
US15/697,803 2017-09-07
PCT/US2017/053238 WO2018128654A1 (en) 2017-01-08 2017-09-25 System and method for designing system on chip (soc) circuits by synchronizing a hierarchy of smdps

Publications (2)

Publication Number Publication Date
JP2020514932A JP2020514932A (ja) 2020-05-21
JP6902113B2 true JP6902113B2 (ja) 2021-07-14

Family

ID=60021764

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019558331A Active JP6902113B2 (ja) 2017-01-08 2017-09-25 SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法
JP2019558330A Active JP6902112B2 (ja) 2017-01-08 2017-09-25 人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019558330A Active JP6902112B2 (ja) 2017-01-08 2017-09-25 人工知能および強化学習によるシステムオンチップ(SoC)回路の設計システムおよび方法

Country Status (3)

Country Link
US (2) US9792397B1 (ja)
JP (2) JP6902113B2 (ja)
WO (2) WO2018128653A1 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270053B2 (en) * 2016-07-08 2022-03-08 efabless corporation Systems and methods for assembling and developing an SoC efficiently using templates and designer input data
US9792397B1 (en) * 2017-01-08 2017-10-17 Alphaics Corporation System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning
US20180198682A1 (en) * 2017-01-10 2018-07-12 Netspeed Systems, Inc. Strategies for NoC Construction Using Machine Learning
US10063496B2 (en) * 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
JP6546213B2 (ja) * 2017-04-13 2019-07-17 ファナック株式会社 回路構成最適化装置及び機械学習装置
US10949595B2 (en) * 2017-06-22 2021-03-16 Semiconductor Energy Laboratory Co., Ltd. Layout design system and layout design method
US10515182B2 (en) * 2017-06-30 2019-12-24 Advanced Micro Devices, Inc. Auto detection of select power domain regions in a nested multi power domain design
US11568273B2 (en) 2017-11-14 2023-01-31 International Business Machines Corporation Multi-dimensional cognition for unified cognition in cognitive assistance
US11544576B2 (en) * 2017-11-14 2023-01-03 International Business Machines Corporation Unified cognition for a virtual personal cognitive assistant of an entity when consuming multiple, distinct domains at different points in time
US11443196B2 (en) 2017-11-14 2022-09-13 International Business Machines Corporation Unified cognition for a virtual personal cognitive assistant when cognition is embodied across multiple embodied cognition object instances
CN109871558A (zh) * 2017-12-04 2019-06-11 石家庄创天电子科技有限公司 基于人工智能进行电路设计的方法及装置
US10558775B2 (en) 2017-12-20 2020-02-11 International Business Machines Corporation Memory element graph-based placement in integrated circuit design
US10803223B2 (en) * 2017-12-31 2020-10-13 Arteris, Inc. System and method for designing a chip floorplan using machine learning
US10817634B2 (en) * 2018-01-19 2020-10-27 Synopsys, Inc. Machine-learning circuit optimization using quantized prediction functions
US11568236B2 (en) 2018-01-25 2023-01-31 The Research Foundation For The State University Of New York Framework and methods of diverse exploration for fast and safe policy improvement
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US20190287028A1 (en) * 2018-03-15 2019-09-19 Arm Ltd. Systems, devices, and/or processes for behavioral content processing
US20210004735A1 (en) * 2018-03-22 2021-01-07 Siemens Corporation System and method for collaborative decentralized planning using deep reinforcement learning agents in an asynchronous environment
US11288409B2 (en) 2018-04-30 2022-03-29 Hamilton Sundstrand Corporation Method and system for designing electrical machines using reinforcement learning
US10699050B2 (en) 2018-05-03 2020-06-30 International Business Machines Corporation Front-end-of-line shape merging cell placement and optimization
CN112135716B (zh) * 2018-05-18 2023-11-03 谷歌有限责任公司 数据高效的分层强化学习
KR20190136431A (ko) 2018-05-30 2019-12-10 삼성전자주식회사 뉴럴 네트워크 시스템, 이를 포함하는 어플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법
US10796068B2 (en) * 2018-09-11 2020-10-06 Samsung Electronics Co., Ltd. Standard cell design system, standard cell design optimization method thereof, and semiconductor design system
US10943049B2 (en) * 2018-09-28 2021-03-09 Taiwan Semiconductor Manufacturing Co., Ltd. Rule check violation prediction systems and methods
EP3637256A1 (en) * 2018-10-12 2020-04-15 IMEC vzw Exploring an unexplored domain by parallel reinforcement
US11556406B2 (en) 2018-12-03 2023-01-17 Synopsys, Inc. Automatic root cause analysis of complex static violations by static information repository exploration
KR102611938B1 (ko) * 2018-12-04 2023-12-08 구글 엘엘씨 신경망을 사용한 통합 회로 플로어 플랜 생성
KR20200099252A (ko) 2019-02-13 2020-08-24 삼성전자주식회사 회로 디자인을 검증하기 위한 검증 벡터를 생성하는 장치, 회로 디자인 시스템 및 이의 강화 학습 방법
JP6995451B2 (ja) * 2019-03-13 2022-01-14 東芝情報システム株式会社 回路適正化装置及び回路適正化方法
JP7413353B2 (ja) * 2019-03-20 2024-01-15 株式会社半導体エネルギー研究所 配線レイアウト設計方法、プログラム、および記録媒体
CN109961147B (zh) * 2019-03-20 2023-08-29 西北大学 一种基于Q-Learning算法的自动化模型压缩方法
CN110019151B (zh) * 2019-04-11 2024-03-15 深圳市腾讯计算机系统有限公司 数据库性能调整方法、装置、设备、系统及存储介质
WO2020229904A1 (en) * 2019-05-10 2020-11-19 Tata Consultancy Services Limited System and method for actor based simulation of complex system using reinforcement learning
KR20200131056A (ko) * 2019-05-13 2020-11-23 삼성전자주식회사 강화 학습 기반의 시스템 검증 방법 및 장치
US11521116B2 (en) 2019-06-25 2022-12-06 Nxp Usa, Inc. Self-optimizing multi-core integrated circuit
US11126772B1 (en) * 2019-07-15 2021-09-21 Dialog Semiconductor (Uk) Limited Tools and methods for designing a circuit, and circuits made thereby
KR20210012730A (ko) 2019-07-26 2021-02-03 삼성전자주식회사 인공지능 모델의 학습 방법 및 전자 장치
US11275882B1 (en) * 2019-07-26 2022-03-15 Cadence Design Systems, Inc. System, method, and computer program product for group and isolation prediction using machine learning and applications in analog placement and sizing
US11087060B1 (en) * 2019-07-29 2021-08-10 Cadence Design Systems, Inc. System, method, and computer program product for the integration of machine learning predictors in an automatic placement associated with an electronic design
US10885260B1 (en) 2019-09-04 2021-01-05 International Business Machines Corporation Fin-based fill cell optimization
US11221897B2 (en) * 2019-09-11 2022-01-11 International Business Machines Corporation Managing device maintenance via artificial intelligence
US11030367B2 (en) 2019-09-11 2021-06-08 International Business Machines Corporation Out-of-context feedback hierarchical large block synthesis (HLBS) optimization
US11366948B2 (en) * 2019-10-18 2022-06-21 Synopsys, Inc. Machine-learning enhanced compiler
US11665776B2 (en) 2019-12-27 2023-05-30 Arteris, Inc. System and method for synthesis of a network-on-chip for deadlock-free transformation
US10990724B1 (en) 2019-12-27 2021-04-27 Arteris, Inc. System and method for incremental topology synthesis of a network-on-chip
US11558259B2 (en) 2019-12-27 2023-01-17 Arteris, Inc. System and method for generating and using physical roadmaps in network synthesis
US11657203B2 (en) 2019-12-27 2023-05-23 Arteris, Inc. Multi-phase topology synthesis of a network-on-chip (NoC)
US11836641B2 (en) * 2020-03-14 2023-12-05 Synopsys, Inc. Machine learning-based prediction of metrics at early-stage circuit design
US11418448B2 (en) 2020-04-09 2022-08-16 Arteris, Inc. System and method for synthesis of a network-on-chip to determine optimal path with load balancing
US11287869B2 (en) * 2020-04-30 2022-03-29 Marvell Asia Pte Ltd System and methods for on-chip memory (OCM) port throttling for machine learning operations
US12019967B2 (en) * 2020-05-04 2024-06-25 Nvidia Corporation Routing connections in integrated circuits based on reinforcement learning
JP7466643B2 (ja) * 2020-06-09 2024-04-12 三菱電機株式会社 学習装置、推論装置、学習方法、および推論方法
DE102020118805A1 (de) * 2020-07-16 2022-01-20 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System und Verfahren zum autonomen Konstruieren und/oder Designen von zumindest einer Komponente für ein Bauteil
CN112039767B (zh) * 2020-08-11 2021-08-31 山东大学 基于强化学习的多数据中心节能路由方法及系统
CN112270158B (zh) * 2020-09-15 2022-11-18 海宁利伊电子科技有限公司 一种基于深度强化学习的封装地过孔打孔分布优化方法
JP7376450B2 (ja) * 2020-09-29 2023-11-08 本田技研工業株式会社 学習済モデルの構築方法、及び、その学習済モデルを用いた設計支援装置
US11601357B2 (en) 2020-12-22 2023-03-07 Arteris, Inc. System and method for generation of quality metrics for optimization tasks in topology synthesis of a network
US11281827B1 (en) 2020-12-26 2022-03-22 Arteris, Inc. Optimization of parameters for synthesis of a topology using a discriminant function module
US11449655B2 (en) 2020-12-30 2022-09-20 Arteris, Inc. Synthesis of a network-on-chip (NoC) using performance constraints and objectives
US11956127B2 (en) 2021-03-10 2024-04-09 Arteris, Inc. Incremental topology modification of a network-on-chip
US11775720B2 (en) 2021-07-02 2023-10-03 International Business Machines Corporation Integrated circuit development using machine learning-based prediction of power, performance, and area
US20230139623A1 (en) * 2021-11-02 2023-05-04 Nvidia Corporation Data path circuit design using reinforcement learning
KR102474856B1 (ko) 2021-11-18 2022-12-06 주식회사 마키나락스 인공지능 기반의 반도체 설계 자동화 방법
CN114444240B (zh) * 2022-01-28 2022-09-09 暨南大学 一种面向信息物理融合系统的延迟和寿命优化方法
US12067335B2 (en) 2022-04-11 2024-08-20 Arteris, Inc. Automatic configuration of pipeline modules in an electronics system
US20230367696A1 (en) * 2022-05-13 2023-11-16 Microsoft Technology Licensing, Llc Simulated training for reinforcement learning
WO2023205820A2 (en) * 2022-07-22 2023-10-26 Futurewei Technologies, Inc. Anomalous design handling in single step design space exploration
CN115374739B (zh) * 2022-10-21 2022-12-27 中诚华隆计算机技术有限公司 基于可信计算平台的可信计算芯片的设计方法及计算设备
KR102632950B1 (ko) * 2022-12-26 2024-02-05 주식회사 애자일소다 일반화 모델을 이용한 반도체 배치 시스템 및 방법
KR102603130B1 (ko) * 2022-12-27 2023-11-17 주식회사 애자일소다 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288205A (ja) * 2004-05-10 2004-10-14 Matsushita Electric Ind Co Ltd 半導体集積回路装置の設計方法
US7937678B2 (en) * 2008-06-11 2011-05-03 Infineon Technologies Ag System and method for integrated circuit planar netlist interpretation
US8793119B2 (en) * 2009-07-13 2014-07-29 At&T Intellectual Property I, L.P. System and method for generating manually designed and automatically optimized spoken dialog systems
US9090255B2 (en) * 2012-07-12 2015-07-28 Honda Motor Co., Ltd. Hybrid vehicle fuel efficiency using inverse reinforcement learning
US8839171B1 (en) * 2013-03-31 2014-09-16 Atrenta, Inc. Method of global design closure at top level and driving of downstream implementation flow
JP6269121B2 (ja) * 2014-02-06 2018-01-31 富士通株式会社 情報処理装置、評価関数学習方法およびプログラム
US9530412B2 (en) * 2014-08-29 2016-12-27 At&T Intellectual Property I, L.P. System and method for multi-agent architecture for interactive machines
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US10102320B2 (en) * 2015-02-26 2018-10-16 Autodesk, Inc. Predictive multi-user client-server electronic circuit design system utilizing machine learning techniques
US9792397B1 (en) * 2017-01-08 2017-10-17 Alphaics Corporation System and method for designing system on chip (SoC) circuits through artificial intelligence and reinforcement learning

Also Published As

Publication number Publication date
JP2020506491A (ja) 2020-02-27
WO2018128654A1 (en) 2018-07-12
WO2018128653A1 (en) 2018-07-12
US9792397B1 (en) 2017-10-17
JP2020514932A (ja) 2020-05-21
US9892223B1 (en) 2018-02-13
JP6902112B2 (ja) 2021-07-14

Similar Documents

Publication Publication Date Title
JP6902113B2 (ja) SMDPの階層の同期によるシステムオンチップ(SoC)回路の設計システムおよび方法
US10372859B2 (en) System and method for designing system on chip (SoC) circuits using single instruction multiple agent (SIMA) instructions
JP7413580B2 (ja) ニューラルネットワークを使用した集積回路フロアプランの生成
US8839171B1 (en) Method of global design closure at top level and driving of downstream implementation flow
US7694249B2 (en) Various methods and apparatuses for estimating characteristics of an electronic system's design
US11836641B2 (en) Machine learning-based prediction of metrics at early-stage circuit design
JP3119646B2 (ja) 再コンフュギュレーション可能なハードウェアシステムの評価装置及び演算処理方法
US11256845B2 (en) Machine-learning driven prediction in integrated circuit design
US10915685B1 (en) Circuit stage credit based approaches to static timing analysis of integrated circuits
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
US11669665B1 (en) Application-specific integrated circuit (ASIC) synthesis based on lookup table (LUT) mapping and optimization
US20240169135A1 (en) Reinforcement learning (rl) based chip design optimization using trained graph convolutional networks (gcn) for ultra-fast cost function calculation
KR101275486B1 (ko) 순차적 등가성 검사를 위한 재구성된 설계를 준비하기 위한 방법
US11022634B1 (en) Rail block context generation for block-level rail voltage drop analysis
Bushnell Design automation: automated full-custom VLSI layout using the ULYSSES design environment
Li et al. iPD: An Open-source intelligent Physical Design Toolchain
US11847396B1 (en) Integrated circuit design using multi-bit combinational cells
CN115510802A (zh) 用于预测详细布线拓扑和轨道使用的机器学习模型
US9892227B1 (en) Systems, methods and storage media for clock tree power estimation at register transfer level
US20200410152A1 (en) System and method of timing characterization for semiconductor circuit
Liu et al. Simultaneous technology mapping and placement for delay minimization
US11816409B1 (en) Strongly connected component (SCC) graph representation for interactive analysis of overlapping loops in emulation and prototyping
US11526642B1 (en) Clock network power estimation for logical designs
US20220284161A1 (en) Automated design hierarchy identification and simplified reduced model generation for static verification of circuit designs
CN115730508A (zh) 使用设计和辅助构造的基于监督机器学习的存储器和运行时间预测

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210518

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: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210618

R150 Certificate of patent or registration of utility model

Ref document number: 6902113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150