(57)【要約】【課題】修正と修正結果の適正性確認の繰り返しを避けることができ、時間短縮と人為的ミスの発生を防止することが可能な回路適正化装置を提供する。【解決手段】設計すべき回路の仕様情報に基づき作成された回路情報と、前記回路の機能検証に用いる制約情報と、前記回路をカスタマイズさせる方向性を示すカスタマイズ方向性情報とが与えられ、これらの情報に基づき前記カスタマイズ方向性情報の方向性に最も合致した結論としての回路情報を生成する強化学習部３７を具備する。【選択図】図３
2020149270.tif 000002
【特許請求の範囲】
【請求項１】
設計すべき回路の仕様情報に基づき作成された回路情報と、前記回路の機能検証に用いる制約情報と、前記回路をカスタマイズさせる方向性を示すカスタマイズ方向性情報とが与えられ、これらの情報に基づき前記カスタマイズ方向性情報の方向性に最も合致した結論としての回路情報を生成する強化学習部を
具備することを特徴とする回路適正化装置。
【請求項２】
前記回路情報は、回路図情報であることを特徴とする請求項１に記載の回路適正化装置。
【請求項３】
前記回路情報は、回路の真理値表情報であることを特徴とする請求項１に記載の回路適正化装置。
【請求項４】
前記回路情報は、回路の論理式レベルの情報であることを特徴とする請求項１に記載の回路適正化装置。
【請求項５】
前記回路情報は、回路のゲート・レベルのネットリスト情報であることを特徴とする請求項１に記載の回路適正化装置。
【請求項６】
前記カスタマイズ方向性情報は、回路素子が少ないことであることを特徴とする請求項１乃至５のいずれか１項に記載の回路適正化装置。
【請求項７】
前記カスタマイズ方向性情報は、論理回路とフリップフロップの比率が所定値であることを特徴とする請求項１乃至５のいずれか１項に記載の回路適正化装置。
【請求項８】
前記カスタマイズ方向性情報は、回路の入力から出力までの速度が速いことであることを特徴とする請求項１乃至５のいずれか１項に記載の回路適正化装置。
【請求項９】
前記強化学習部に、前記回路の入力端子から出力端子までの間のどの範囲について回路生成を行うかを指示する適用範囲指示部が備えられていることを特徴とする請求項１乃至８のいずれか１項に記載の回路適正化装置。
【請求項１０】
設計すべき回路の仕様情報に基づき作成された回路情報と、前記回路の機能検証に用いる制約情報と、前記回路をカスタマイズさせる方向性を示すカスタマイズ方向性情報とを強化学習部へ与えて、これらの情報に基づき前記カスタマイズ方向性情報の方向性に最も合致した結論としての回路情報を生成することを特徴とする回路適正化方法。
【請求項１１】
前記回路情報は、回路図情報であることを特徴とする請求項１０に記載の回路適正化方法。
【請求項１２】
前記回路情報は、回路の真理値表情報であることを特徴とする請求項１０に記載の回路適正化方法。
【請求項１３】
前記回路情報は、回路の論理式レベルの情報であることを特徴とする請求項１０に記載の回路適正化方法。
【請求項１４】
前記回路情報は、回路のゲート・レベルのネットリスト情報であることを特徴とする請求項１０に記載の回路適正化方法。
【請求項１５】
前記カスタマイズ方向性情報は、回路素子が少ないことであることを特徴とする請求項１０乃至１４のいずれか１項に記載の回路適正化方法。
【請求項１６】
前記カスタマイズ方向性情報は、論理回路とフリップフロップの比率が所定値であることを特徴とする請求項１０乃至１４のいずれか１項に記載の回路適正化方法。
【請求項１７】
前記カスタマイズ方向性情報は、回路の入力から出力までの速度が速いことであることを特徴とする請求項１０乃至１４のいずれか１項に記載の回路適正化方法。
【請求項１８】
前記強化学習部に、前記回路の入力端子から出力端子までの間のどの範囲について回路生成を行うかを指示して強化学習を行わせることを特徴とする請求項１０乃至１７のいずれか１項に記載の回路適正化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回路適正化装置及び回路適正化方法に関するものである。
【背景技術】
【０００２】
近年、半導体に搭載される回路は高性能化及び多機能化の要請から回路規模が大きくなる傾向にある。このため、設計の段階において回路の適正化を図り、回路規模を縮小しても高機能で多機能である半導体の開発が求められている。このような回路規模の縮小は機能検証後の論理合成時に行われるのが通例である。
【０００３】
従来の回路規模縮小を含む回路設計の手順は図１のフローチャートのようになる。即ち、開発すべき回路の機能仕様情報を入力し（Ｓ１）、機能設計を行う（Ｓ２）。機能設計を行った後に機能・論理検証を行う（Ｓ３）。このステップＳ３の処理の一環としてフォーマル機能検証を行う（Ｓ４）。
【０００４】
ステップＳ４も含めた機能・論理検証の後に、論理合成を行って（Ｓ５）、その結果について回路規模の確認を行い（Ｓ６）、更に回路規模縮小のための回路修正を行って（Ｓ７）、再びステップＳ３による機能・論理検証へと進む処理を行っていた。このように、ステップＳ７の処理では機能的に不要な回路の削除が行われることから、回路設計の見直しが行われ、再度の機能検証による動作確認及び論理合成が必要となるものであった。
【０００５】
上記のように論理合成の後に回路規模の縮小を行う方法によると、論理的に不要な回路の削減を図ることができるが、機能的に不要な回路については論理的に不要でなければ削減されないことになる。また、論理的に不要な回路の検索は従来、人手によることが多く、作業者のスキルに頼るものであった。このため、回路修正において人為的ミスが生じる可能性があり、万全なものとならない可能性があった。更に、人のスキルが論理回路の削減量に影響を受け易く、適切な回路量の削減達成が保証できない可能性があった。
【０００６】
特許文献１には、人手介入を排除して判断ミスなくフォールス・パスを設定し、ＬＳＩ記述に含まれる冗長性を削除してチップ・サイズを縮小し開発コストを低減することを目的とした論理合成適正化方法が開示されている。この論理合成適正化方法では、ＬＳＩのハードウェア記述のうち解析非対象パス設定、及び冗長部分について、リグレッション・テスト結果からフォールス・パス及び不活性な記述ブロックをソフトウェアで自動抽出し、削除する。
【０００７】
より具体的には、ハードウェア記述言語で設計されたＬＳＩ回路の機能を検証するテスト・ベンチが存在する場合に、このテスト・ベンチによる上記ＬＳＩ回路の回路機能の検証結果から、上記ＬＳＩ回路のハードウェア記述における活性化情報を自動抽出する第１のステップ、この自動抽出された活性化情報からフォールス・パスを自動検出する第２のステップを備える。更に、この自動検出されたフォールス・パスをタイミング適正化のためのフォールス・パス設定スクリプトとして自動生成する第３のステップと、を有する、というものである。
【０００８】
また、特許文献２には、挿入回路の挿入場所によらず任意に論理等価性検証を実行可能にする論理等価性検証システムが開示されている。この論理等価性検証システムは、論理等価性検証部、ＲＴＬ／ゲートレベル回路記述、及びライブラリを備える。そして、この論理等価性検証システムは、半導体集積回路としてのシステムＬＳＩやＳｏＣなどの論理機能の等価性検証を挿入回路の挿入場所によらず任意に実行するというものである。
【０００９】
更に、特許文献３には、回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータによって実行される設計支援方法が開示されている。
【００１０】
この設計支援方法では、設計の対象回路の仕様に関する特徴情報を受け付け、上記第１対応情報を参照して、上記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた上記特徴情報についての上記組み合わせに含まれる上記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、算出した上記合計値に基づいて、上記複数の組み合わせのうち、上記複数のパラメータに設定する値の候補の組み合わせを出力するというものである。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】２０００−２２２４５２号公報
【特許文献２】２００７−１４０８７７号公報
【特許文献３】２０１８−７７５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、修正と修正結果の適正性確認の繰り返しを避けることができ、時間短縮と人為的ミスの発生を防止することが可能な回路適正化装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本実施形態に係る回路適正化装置は、設計すべき回路の仕様情報に基づき作成された回路情報と、前記回路の機能検証に用いる制約情報と、前記回路をカスタマイズさせる方向性を示すカスタマイズ方向性情報とが与えられ、これらの情報に基づき前記カスタマイズ方向性情報の方向性に最も合致した結論としての回路情報を生成する強化学習部を具備することを特徴とする。
【図面の簡単な説明】
【００１４】
【図１】従来例に係る回路適正化装置の動作を示すフローチャート。
【図２】実施形態に係る回路適正化装置を実現するコンピュータシステムのブロック図。
【図３】実施形態に係る回路適正化装置のブロック図。
【図４】実施形態に係る回路適正化装置の要部ブロック図。
【図５】実施形態に係る回路適正化装置による動作を示すフローチャート。
【図６】実施形態に係る回路適正化装置によって強化学習を行う前の一例の回路図。
【図７】図６の回路の真理値表を示す図。
【図８】実施形態に係る回路適正化装置によって所定程度の強化学習を行った後の一例に係る回路図。
【図９】図８の回路の真理値表を示す図。
【図１０】実施形態に係る回路適正化装置によって最終段階まで強化学習を行った後の一例に係る回路図。
【図１１】図１０の回路の真理値表を示す図。
【図１２】実施形態に係る回路適正化装置によって、「ｎ個の組合せ回路より、１つのＦＦの方が「価値」が高い」というカスタマイズ方向性情報を設定して強化学習を行った場合の回路図の変化を示す図。
【図１３】実施形態に係る回路適正化装置によって、回路情報を回路の真理値表情報として強化学習を行った場合（ケース１）の真理値表と回路図の変化を示す図。
【図１４】実施形態に係る回路適正化装置によって、回路情報を回路の真理値表情報として強化学習を行った場合（ケース１）の真理値表と回路図の変化を示す図。
【発明を実施するための形態】
【００１５】
以下添付図面を参照して本発明の実施形態に係る、回路適正化装置及び回路適正化方法を説明する。各図において同一の構成要素には、同一の符号を付し、重複する説明を省略する。本発明の実施形態に係る回路適正化装置は、例えば図２に示されるようなパーソナルコンピュータやワークステーション、その他のコンピュータシステムにより構成することができる。このコンピュータシステムは、ＣＰＵ１０が主メモリ１１に記憶されている或いは主メモリ１１に読み込んだプログラムやデータに基づき各部を制御し、必要な処理を実行することにより状態変動検出装置として動作を行うものである。
【００１６】
ＣＰＵ１０には、バス１２を介して外部記憶インタフェース１３、入力インタフェース１４、表示インタフェース１５、データ入力インタフェース１６が接続されている。外部記憶インタフェース１３には、回路適正化用プログラム等のプログラムと必要なデータ等が記憶されている外部記憶装置２３が接続されている。入力インタフェース１４には、コマンドやデータを入力するための入力装置としてのキーボードなどの入力装置２４とポインティングデバイスとしてのマウス２２が接続されている。
【００１７】
表示インタフェース１５には、ＬＥＤやＬＣＤなどの表示画面を有する表示装置２５が接続されている。このコンピュータシステムには、他の構成が備えられていても良く、また、図２の構成は一例に過ぎない。
【００１８】
ＣＰＵ１０は、回路適正化用プログラムによって図３に示される回路適正化装置３０を実現する。即ち、機能設計部３１、機能・論理検証部３２、論理合成部３３である。上記機能設計部３１は、図３のように機能仕様情報が与えられる。機能仕様情報は、設計しようとする半導体回路の仕様情報であり、機能ライブラリやテスト・ベンチとして与えるようにすることができる。機能設計部３１は、これらの機能ライブラリやテスト・ベンチに基づき機能設計を行い回路情報を得るもので公知の構成とすることができる。
【００１９】
機能・論理検証部３２は、機能設計部３１による設計結果について機能検証と論理検証とを行うものである。このうち、論理検証については、予め用意された期待値とシミュレーションを行って得られた結果との比較を行うものなど公知の手法が採用される。機能・論理検証部３２には、フォーマル機能検証部３２Ａが備えられており、このフォーマル機能検証部３２Ａが機能・論理検証部３２における機能検証を行う。フォーマル機能検証部３２Ａは、公知の手法により機能検証を行うものである。
【００２０】
機能・論理検証部３２には、強化学習部３７が備えられている。強化学習部３７は、設計すべき回路の仕様情報に基づき作成された回路情報と、上記回路の機能検証に用いる制約情報と、上記回路をカスタマイズさせる方向性を示すカスタマイズ方向性情報とが与えられ、これらの情報に基づき上記カスタマイズ方向性情報の方向性に最も合致した結論としての回路情報を生成するものである。強化学習部３７において採用するアルゴリズムとしては、制限がなく、Ｑ学習、Ｓａｒｓａ、モンテカルロ法等適宜なものを採用しても良い。
【００２１】
上記強化学習部３７によって生成された回路情報は、機能・論理検証部３２の出力として論理合成部３３へ送られる。論理合成部３３は、論理回路の実装設計を行うもので、公知の手法による手法が採用される。論理合成部３３には、回路規模検出部３４が含まれていても良い。回路規模検出部３４は、例えば、ゲート数や論理回路数、また、ゲートや論理回路を構成するトランジスタ数などを検出する等の各種の手法を採用することができる。
【００２２】
図４には、フォーマル機能検証部３２Ａと強化学習部３７とに対する入力情報と出力情報が示されている。フォーマル機能検証部３２Ａへ与えられている回路情報は、前述の通り、機能設計部３１による設計結果である。検証後の回路情報については、機能・論理検証部３２が論理検証を行った結果の回路情報であり、且つフォーマル機能検証部３２Ａが機能検証を行った結果の回路情報とすることができる。
【００２３】
制約情報は、フォーマル機能検証部３２Ａが機能検証を行ったときに用いた制約情報である。即ち制約情報は、設計すべき回路の仕様として求められる機能の制約であり、回路が実現すべき機能の情報であり、後に具体的に説明する。
【００２４】
更に、強化学習部３７による強化学習に必要な「状態」、「行動」、「報酬」の設定について説明する。ここで、「状態」は強化学習の対象である回路について、現状の回路（つまり、機能・論理検証部３２が論理検証を行った結果の回路情報であり、且つフォーマル機能検証部３２Ａが機能検証を行った結果の回路情報）を設定する。「行動」としては、回路の変更を設定する。
【００２５】
更に、「報酬」については、本実施形態では即時的なものではなく、より将来を見据えた「価値」が最大化する学習が必要であるので、「価値」と呼ばれるものにする。そして、本実施形態では、「価値」としては回路中のＦＦ（フリップフロップ）の数と論理回路の数を設定し、それらの数が少ないほど「価値」が高いものと設定する。また、「価値」としては、フォーマル機能検証部３２Ａにおいて使用した「制約情報」に反する場合には、最低の「価値」であることを設定する。また、強化学習部３７による強化学習に必要な回路の評価基準情報は、強化学習の上記の「報酬」や「価値」と同一の情報であり、初期状態の「価値」よりも学習後の「価値」が高くなっていれば、強化学習による回路規模の縮小が行われたことになる。本実施形態では、これら「評価基準情報」、「報酬」、「価値」をカスタマイズ方向性情報とすることができる。
【００２６】
なお、本実施形態では、回路規模の縮小を狙って「価値」に上記のような設定を行ったが、カスタマイズ方向性情報としては、回路の入力から出力までの速度が速いことを狙って「価値」に速度や経過時間等に関する情報を設定するようにしても良い。回路規模の縮小或いは回路適正化の場合において、回路の入力端子から出力端子までの間とするのではなく、その途中の位置まで、つまり、回路の入力端子から出力端子までの間のどの範囲について回路生成を行うかを指示するようにしても良く、このような指示する適用範囲指示部を設けることができる。この適用範囲指示部は、図２の入力装置２４によって構成することができる。
【００２７】
以下、回路の具体例を用いて、本発明の実施形態に係る回路適正化装置によって適正化（回路規模の縮小）を行った場合の動作と結果を示す。図５のフローチャートに示すように、設計しようとする半導体回路の仕様情報が入力され（Ｓ１１）、この仕様情報に基づき機能設計が実行される（Ｓ１２）。
【００２８】
次に、機能設計された回路情報に対し機能・論理検証が行われ、特に機能検証としてはフォーマル機能検証がなされる（Ｓ１３）。次に、機能検証した回路情報について強化学習により回路規模の縮小を行う（Ｓ１４）。当初の回路情報が回路図であり、図６に示されるようであるとする。
【００２９】
即ち、ＦＦが３個、インバータが４個、ＡＮＤゲートが４個、ＯＲゲートが３個である。上記図６の回路を数式に置き換えると、次の（式１）ようになる。
【数１】
2020149270.tif 000003
【００３０】
上記において、ＦＦのラッチによるクロック（Ｃｌｏｃｋ）経過については、ｔ＋１とｔ＋２とによって示している。上記（式１）を強化学習に適応させるために、強化学習の状況をＥＮＶとＩＮＰＵＴで、次のように定義する。
【数２】
2020149270.tif 000004
【００３１】
上記のＥＮＶを示す（式２）は、有効な信号の組合せを示す行列である。強化学習により上記（式２）のＥＮＶの内容が変更されることにより回路が変更される。また、上記のＩＮＰＵＴを示す（式３）は、回路内の全信号の組合せパターンの行列である。各信号の組合せに使用するＯＲ／ＡＮＤ／ＮＯＴにより、それぞれの組合せのゲートサイズを計算することができ、ＥＮＶにより有効となった変数に使用したゲートの合計値が回路全体のゲート数となる。この回路の真理値表は、図７に示す通りである。
【００３２】
ここで本実施形態では、フォーマル機能検証における制約情報としての入力制約（Formal Assume）を「Ｍ０とＭ１は同時に使用されることはなく、どちらかが必ず使用される（Ｍ０＝~Ｍ１）」と定義設定し、カスタマイズ方向性情報である報酬として「ゲートサイズが小さいほど報酬が高い」ことを設定する。これにより強化学習を行うと、学習結果によりＥＮＶが次のように変更されて得られる。ＩＮＰＵＴを示す（式３）は、回路内の全信号の組合せパターンの行列であるから変化しない。
【数３】
2020149270.tif 000005
【００３３】
上記の学習後の回路を図８に示す。図６と図８とを比較してみると明らかなように、ＮＯＴ回路が２個少なくなっていることが判る。図９に図８の回路の真理値表を示す。図８の回路は、Ｍ０＝ｎｏｔＭ１の行に対応するゲートを削除することを、真理値表において、他の行と背景色を変えて（背景色を白のままとして）示したものである。
【００３４】
この図８の結果が得られた以降も、カスタマイズ方向性情報などを前述と同様に設定した状態において更にゲートサイズを少なくすることを狙って強化学習部３７による強化学習を続けると、ＥＮＶが次のように変更されて得られる。ＩＮＰＵＴを示す（式３）は、回路内の全信号の組合せパターンの行列であるから変化しない。
【数４】
2020149270.tif 000006
【００３５】
上記の学習後の回路を図１０に示す。この図１０に明らかなように、端子Ａの入力信号を保持するためのＦＦ、端子Ｂの入力信号を保持するためのＦＦ、上記２つのＦＦの出力を入力とするＯＲ回路、このＯＲ回路の出力信号を保持するためのＦＦであって出力信号が出力端子Ｆに接続されているＦＦのみが残った回路となっていることが判る。
【００３６】
図１１に上記回路に対応する真理値表を示す。図１０の回路は、Ｍ０とＭ１の値に拘わらず、出力端子Ｆに現れる値は入力端子Ａまたは入力端子Ｂの値となるようにゲートを削除することを、真理値表において、他の部分と背景色を変えて（背景色を白のままで）示したものである。
【００３７】
再び、図５のフローチャートに戻って説明する。上記のように強化学習を適当な回数続けて結果を得た後、論理合成を実行し、結果を出力する（Ｓ１５）。このステップＳ１５には、回路規模検出処理が含まれていても良い。回路規模検出処理では、例えば、ゲート数や論理回路数、また、ゲートや論理回路を構成するトランジスタ数などを検出する等を行い、結果を表示する等の出力を行っても良い。
【００３８】
以上のように本実施形態によれば、機能を損なうことなく、回路規模の縮小が可能となるメリットがある。なお、フォーマル機能検証を行っていない部分については適正化から除外する設定を強化学習部３７に行っても良い。つまり、学習対象外とする回路を指定して強化学習を行っても良い。また、信号線の組合せに使用しているＦＦの出力の個数を学習結果の評価内容に含ませる設定を行っても良い。例えば、ＦＦ出力個数が少ない回路を、「価値」が高いものと設定しても良い。これによって、既存の回路よりもＦＦの数を削減する適正化を行うことが可能である。ＩＮＰＵＴに対し、初期の回路には存在していないＦＦを含ませた記述とすることで、新規に追加したＦＦを含む回路を強化学習の対象として適正化を実行することができる。このような手法によって、場合によっては設計する組合せ回路に新たなＦＦを含ませることがゲート数の大きな削減につながるような設計を行うことが可能である。また、中間に新たなＦＦを設けることが、全体の回路の小型化簡略化につながるような設計を行うことが可能である。
【００３９】
また、カスタマイズ方向性情報は、回路素子が少ないことであることを設定しても良い。また、カスタマイズ方向性情報は、論理回路とフリップフロップの比率が所定値であることを設定しても良い。先に述べたことではあるが、カスタマイズ方向性情報は、回路の入力から出力までの速度が速いことであることを設定しても良い。
【００４０】
例えば、図１２には、「ｎ個の組合せ回路より、１つのＦＦの方が「価値」が高い」というカスタマイズ方向性情報を設定して強化学習を行った場合の例が示されている。図１２（Ａ）は強化学習前の回路図であり、ｎ個の組合せ回路ｎＣ−１、ｎＣ−Ｃ、ｎＣ−２を備えるものである。この場合に、設定されたカスタマイズ方向性情報に基づき上記３個の組合せ回路中の２つの組合せ回路ｎＣ−１、ｎＣ−２に代えてＦＦ−１、ＦＦ−２を用いるようにしたものである。つまり、図１２（Ｂ）は強化学習後の回路図を示す。１つの組合せ回路ｎＣ−Ｃについては、機能或いは論理の制約からＦＦに代えることができていない。このように、設定されたカスタマイズ方向性情報に沿った適正化を実現することができる。
【００４１】
更に上記では、回路情報は、回路図情報であることを例としたが、回路情報を回路の真理値表情報であるものとして強化学習を行っても良い。その一例を示す。ケース１として図１３（Ａ）に示すように、入力信号がＩＮ１、ＩＮ２、出力信号がＯＵＴであり、ＡＮＤ回路を用いる回路が初期回路情報である。真理値表は図１３（Ａ）の中央に示され、回路図が図１３（Ａ）の右側に回路図が示されている。
【００４２】
上記の場合に、図１３（Ｂ）左側に示すように、入力制約（制約情報）がＩＮ１＝ＩＮ２が設定されて強化学習を行うと、真理値表は図１３（Ｂ）中央に示すような表が得られる。この真理値表に基づき、入力信号ＩＮ１または入力信号ＩＮ２がそのまま出力信号ＯＵＴとなる図１３（Ｂ）の右側の回路図が得られる。入力信号ＩＮ１＝ＩＮ２であるから、入力信号ＩＮ１または入力信号ＩＮ２がそのまま出力信号ＯＵＴとなる回路である。
【００４３】
上記図１３（Ａ）の場合に、図１３（Ｃ）左側に示すように、入力制約（制約情報）がＩＮ１！＝ＩＮ２（！は、イコールでないという意味）が設定されて強化学習を行うと、真理値表は図１３（Ｃ）中央に示すような表が得られる。この真理値表に基づき、入力信号ＩＮ１またはＩＮ２に関係なく、出力信号ＯＵＴが常に０となる図１３（Ｃ）の右側の回路図が得られる。入力信号ＩＮ１！＝ＩＮ２であるから、入力信号０がそのまま出力信号ＯＵＴとなる回路である。
【００４４】
次に他の一例を示す。ケース２として図１４（Ａ）に示すように、入力信号がＩＮ１、ＩＮ２、出力信号がＯＵＴであり、ＯＲ回路を用いる回路が初期回路情報である。真理値表は図１４（Ａ）の中央に示され、回路図が図１４（Ａ）の右側に回路図が示されている。
【００４５】
上記の場合に、図１４（Ｂ）左側に示すように、入力制約（制約情報）がＩＮ１＝ＩＮ２が設定されて強化学習を行うと、真理値表は図１４（Ｂ）中央に示すような表が得られる。この真理値表に基づき、入力信号ＩＮ１または入力信号ＩＮ２がそのまま出力信号ＯＵＴとなる図１４（Ｂ）の右側の回路図が得られる。入力信号ＩＮ１＝ＩＮ２であるから、入力信号ＩＮ１または入力信号ＩＮ２がそのまま出力信号ＯＵＴとなる回路である。
【００４６】
上記図１４（Ａ）の場合に、図１４（Ｃ）左側に示すように、入力制約（制約情報）がＩＮ１！＝ＩＮ２（！は、イコールでないという意味）が設定されて強化学習を行うと、真理値表は図１４（Ｃ）中央に示すような表が得られる。この真理値表に基づき、入力信号ＩＮ１またはＩＮ２に関係なく、出力信号ＯＵＴが常に１となる図１４（Ｃ）の右側の回路図が得られる。入力信号ＩＮ１！＝ＩＮ２であるから、入力信号１がそのまま出力信号ＯＵＴとなる回路である。
【００４７】
以上のように本実施形態の回路適正化装置は、回路情報を回路の真理値表情報として強化学習を行うものであり、修正と修正結果の適正性確認の繰り返しを避けることができ、時間短縮と人為的ミスの発生を防止することが可能な回路適正化装置を提供することができる。
【００４８】
上記実施形態の回路適正化装置は、回路情報を回路の真理値表情報として強化学習を行うことを示したが、回路情報を回路の論理式レベルの情報として強化学習を行うようにしてもよい。回路情報を回路の論理式レベルの情報として扱う１例としては、入力Ａ、Ｂ、Ｃ、Ｄがあり、出力Ｑ１の場合に、当初の論理式が、Ｑ１＝ＡＣ＋ＢＣ＋ＡＤ＋ＢＤである場合に、これを、Ｑ１＝（Ａ＋Ｂ）＊（Ｃ＋Ｄ）へと最適化するような場合をいう。このような実施形態によっても、上記各実施形態と同様の効果を奏することは明らかである。
【００４９】
更に、回路情報を回路のゲート・レベルのネットリスト情報として強化学習を行うようにしてもよい。ゲート・レベルのネットリスト情報とは、論理式Ｑ１＝Ａ・Ｂ＋Ｂ・Ｃ＋Ｃ・Ａについては、例えば３つのＡＮＤゲートと、この３つのＡＮＤゲートの出力を１つのＯＲゲートで受けて出力するものとして当初のネットリスト情報を考えることができる。この場合、３つのＡＮＤゲートと１つのＯＲゲートを、２入力のＯＲゲートをいくつかと、２入力のＮＡＮＤゲートをいくつかと、いくつかのインバータ回路による構成に変えるなど、ゲート・レベルで回路構成を変更する際に強化学習を行う。このような実施形態によっても、上記各実施形態と同様の効果を奏することは明らかである。
【符号の説明】
【００５０】
１０  ＣＰＵ
１１  主メモリ
１２  バス
１３  外部記憶インタフェース
１４  入力インタフェース
１５  表示インタフェース
１６  データ入力インタフェース
２２  マウス
２３  外部記憶装置
２４  入力装置
２５  表示装置
３０  回路適正化装置
３１  機能設計部
３２  機能・論理検証部
３２Ａ  フォーマル機能検証部
３３  論理合成部
３４  回路規模検出部
３７  強化学習部
【図１】
2020149270.tif 000007
【図２】
2020149270.tif 000008
【図３】
2020149270.tif 000009
【図４】
2020149270.tif 000010
【図５】
2020149270.tif 000011
【図６】
2020149270.tif 000012
【図７】
2020149270.tif 000013
【図８】
2020149270.tif 000014
【図９】
2020149270.tif 000015
【図１０】
2020149270.tif 000016
【図１１】
2020149270.tif 000017
【図１２】
2020149270.tif 000018
【図１３】
2020149270.tif 000019
【図１４】
2020149270.tif 000020