(57)【要約】      （修正有）【課題】設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことができるようにする回路設計装置、回路設計方法及びプログラムを提供する。【解決手段】回路設計装置１００は、設計対象回路の回路構成と設計対象回路の回路特性項目名及び設計対象回路を構成する素子名とを入力する操作部１０２及び記憶部１０４と、各回路素子の素子値を変えながら設計対象回路のシミュレーションを行うことにより各回路素子の素子値とそれに対応する各回路特性項目の特性値を生成するシミュレーション部１０５と、学習モードにおいて回路素子の素子値及び対応する回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、特性値に対応する素子値と素子値に対応する特性値の少なくとも一方を回帰分析により生成する設計処理部１０６とを備える。【選択図】図１
2020184123.tif 000002
【特許請求の範囲】
【請求項１】
設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部とを備えて成ることを特徴とする回路設計装置。
【請求項２】
前記設計処理部は、
前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成し、
前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成することを特徴とする請求項１記載の回路設計装置。
【請求項３】
入力部が、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力し、
シミュレーション部が、前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成し、
設計処理部が、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成することを特徴とする回路設計方法。
【請求項４】
前記設計処理部は、
前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成し、
前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成することを特徴とする請求項３記載の回路設計方法。
【請求項５】
コンピュータに請求項１又は２に記載の回路設計装置を構築させるための回路設計用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の回路設計を行う回路設計装置、回路設計方法及びコンピュータに実行させることによって前記回路設計装置を構築するための回路設計用プログラムに関する。
【背景技術】
【０００２】
従来からＬＳＩ（Large Scale Integration）等の集積回路の設計手法が開発されている。
例えば従来の設計手法として、回路の特性方程式を定義し、回路に関する豊富な知識を有する設計者が設計方針を組み立てて所望特性の集積回路を設計する方法が開発されている。この方法では、設計により得られる回路の品質が設計者の知識や経験に依存するため、知識や経験の浅い設計者には高品質な回路設計が困難という問題がある。
【０００３】
一方、目標とする回路（目標回路）の構成を想定し、前記回路を構成するトランジスタ毎にＳＰＩＣＥ（スパイス）等のシミュレーションを行って最適化することにより、所望の特性を有するトランジスタ、ひいては前記トランジスタが構成する所望特性の目標回路を得るようにした設計手法が開発されている（例えば特許文献１参照）。
【０００４】
しかしながら、遺伝的アルゴリズム等を用いたシミュレーションではランダム性が高く探索の無駄が多いため、回路を構成する回路素子の数が多くなるとシミュレーションに時間がかかり、設計作業に長期間要するという問題がある。また、設計に学習機能が無いため再現性がないという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０６５２８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、前記問題点に鑑み成されたもので、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことができるようにすることを課題としている。
【課題を解決するための手段】
【０００７】
本発明の第１の視点によれば、
設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部とを備えて成ることを特徴とする回路設計装置が提供される。
【０００８】
また、本発明の第２の視点によれば、
入力部が、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力し、
シミュレーション部が、前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成し、
設計処理部が、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成することを特徴とする回路設計方法が提供される。
【０００９】
また、本発明の第３の視点によれば、コンピュータに前記回路設計装置を構築させるための回路設計用プログラムが提供される。
【発明の効果】
【００１０】
本発明の回路設計装置や回路設計方法によれば、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能になる。
【００１１】
また、コンピュータが本発明の回路設計用プログラムを実行することにより、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能な回路設計装置を構築することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る回路設計装置のブロック図である。
【図２】本発明の実施の形態に係る回路設計装置のフローチャートである。
【図３】本発明の実施の形態における設計対象回路の回路構成図である。
【図４】本発明の実施の形態に係る回路設計装置の説明図である。
【図５】本発明の実施の形態に係る回路設計装置の部分的な回路構成図である。
【図６】本発明の実施の形態に係る回路設計装置の説明図である。
【図７】本発明の実施の形態に係る回路設計装置の部分的な回路構成図である。
【図８】本発明の実施の形態に係る回路設計装置の説明図である。
【図９】本発明の他の実施の形態における設計対象回路の回路構成図である。
【図１０】本発明の他の実施の形態に係る回路設計装置の説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態に係る回路設計装置、回路設計方法、コンピュータに実行させて前記回路設計装置を構築するための回路設計用プログラムについて、図面を用いて説明する。
尚、以下述べる実施の形態ではアナログ回路の例について説明するがデジタル回路にも適用可能である。また、各図において同一機能の部分には同一符号を付している。
【００１４】
図１は、本発明の実施の形態に係る回路設計装置１００のブロック図である。
図１において、回路設計装置１００は、データ処理部１０１、操作部１０２、表示部１０３、記憶部１０４を備えている。
回路設計装置１００は、キーボードやマウスなどの操作部、表示部、中央処理装置（ＣＰＵ）、記憶部、ＵＳＢポート等の入出力部を備えたコンピュータによって構成することができる。前記コンピュータに、記憶部１０４のプログラム記憶領域１１６に記憶された回路設計用プログラムを実行させることにより、コンピュータを回路設計装置１００として機能させることができる。
【００１５】
操作部１０２は、使用者が操作してデータや命令を入力するためのもので、マウスやキーボード等によって構成されている。操作部１０２は、設計の対象となる回路（設計対象回路）の回路構成、前記設計対象回路の回路特性項目名、前記設計対象回路を構成する回路素子の素子名等のデータを入力や、設計処理等の実行の指示等に使用する。
データ処理部１０１は、シミュレーション部１０５及び設計処理部１０６を備えている。シミュレーション部１０５は、設計対象回路を構成する回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより、前記回路素子の素子値とそれに対応する回路特性項目の特性値を生成する機能を有している。
【００１６】
設計処理部１０６は、学習モードにおいて回路素子の素子値及び対応する回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する機能を有している。
また、設計処理部１０６は、シミュレーション部１０５によって生成した回路特性項目の特性値を及び回路素子の素子値を無次元化する無次元化部１０７を備えている。
【００１７】
また、設計処理部１０６は、無次元化された特性値及びこれに対応する無次元化された素子値を用いて、学習モードにおいてディープラーニングを行うと共に、設計モードにおいて、回路特性項目の特性値に対応する素子値と、回路素子の素子値に対応する回路特性項目の特性値との少なくとも一方を回帰分析により無次元化した値で生成する生成処理部１０８を備えている。
【００１８】
また、設計処理部１０６は、生成処理部１０８からの無次元化された回路特性項目の特性値に対応する素子値と、回路素子の素子値に対応する回路特性項目の特性値を元の次元に復元して出力する復元化部１０９を備えている。
本実施の形態では、無次元化部１０７は、シミュレーション部１０５によって生成した回路特性項目の特性値を正規化すると共に回路素子の素子値を標準化することにより、回路特性項目の特性値及び回路素子の素子値を無次元化する機能を有している。
【００１９】
回路特性項目の特性値の正規化は、［Ｙi＝（Ｘi−Ｘmin）／（Ｘmax−Ｘmin）］なる関係式によって行う。ここで、Ｘiは当該回路特性項目の当該特性値、Ｘminは当該回路特性項目の特性値の最小値、Ｘmaxは当該回路特性項目の特性値の最大値、Ｙiは当該回路特性項目の当該特性値が正規化された値である。
【００２０】
また、回路素子の素子値の標準化は、［標準化された素子値＝（当該回路素子の当該素子値）／（当該回路素子の素子値の初期値）］なる関係式によって行う。
このように、特性値については正規化、素子値については標準化することによって無次元化を行っており、後述するように、これによって精度が向上している。
【００２１】
尚、復元化部１０９によって元の次元に復元された特性値や素子値は表示部１０３によって表示され又、記憶装置１０４に記憶される。
記憶部１０４は、各種データを記憶するデータ記憶領域１１０、本実施の形態に係る回路設計用プログラム等の各種プログラムを記憶するプログラム記憶領域１１６を有している。
【００２２】
データ記憶領域１１０には、設計対象回路の回路トポロジーのデータである回路構成データ１１１、設計対象回路に関する項目のデータである回路項目データ１１２、生成処理部１０８が学習するためのデータである学習用データ１１５が随時又は予め記憶される。
回路項目データ１１２には、設計対象回路の各回路特性の名称である回路特性項目名データ１１３、設計対象回路を構成するＭＯＳトランジスタや抵抗等の回路素子の名称である回路素子名データ１１４が含まれている。
【００２３】
図２は、本発明の実施の形態に係る回路設計装置１００の処理を表すフローチャートで、主としてデータ処理部１０１の処理を示している。
図３は、本発明の実施の形態において設計を行う対象である設計対象回路３０１の回路構成図であり、差動入力部がＰＭＯＳトランジスタによって構成された演算増幅器の例を示している。
【００２４】
図３において、トランジスタＭ１、Ｍ２は同一特性のＰＭＯＳトランジスタである。また、トランジスタＭ３、Ｍ４は同一特性のＮＭＯＳトランジスタである。実質的に６種類の特性の異なるＭＯＳトランジスタＭ１〜Ｍ８と１個の抵抗Ｒによって構成されており、回路素子の素子値の数が実質的に７個の回路である。
【００２５】
本実施の形態では、図３の設計対象回路３０１の回路特性項目として１３項目ある。回路特性項目名は、消費電流（Ｉdis）、消費電力（Ｐdis）、直流利得（ＤＣgain）、位相余裕（ＰＭ）、利得帯域幅積（ＧＢＰ）、スルーレート（ＳＲ）、全高調波歪（ＴＨＤ）、同相除去比（ＣＭＲＲ）、電源電圧変動除去比（ＰＳＲＲ）、出力電圧範囲（ＯＶＲ）、同相入力範囲（ＣＭＩＲ）、出力抵抗（ＯＲ）、入力換算雑音（ＩＲＮ）である。
【００２６】
図４は、シミュレーション部１０５が設計対象回路３０１のシミュレーションを行う際、トランジスタＭ１〜Ｍ８の特性を変化させるために使用する確率分布を示す図である。
横軸は変数Ｍの変化率、縦軸は変数Ｍが発生した個数である。ここで、変数Ｍはトランジスタのゲート幅Ｗの所定整数倍の値である。変数Ｍが１のときを中心として２山になるような特性である。
【００２７】
各トランジスタＭ１〜Ｍ８のゲート幅Ｗとゲート長Ｌは固定しておき、変数Ｍの値を変えることによって実質的にゲート幅Ｗを変化させる。これによって各トランジスタＭ１〜Ｍ８の素子値を図４に示す確率分布で変化させ、これによってシミュレーション条件を変えるようにしている。トランジスタＭ１とＭ２は同じ値に変化させ又、トランジスタＭ３とＭ４は同じ値に変化させる。尚、抵抗Ｒの抵抗値は所定の複数種類の値に変化させてシミュレーションを行うようにしている。
【００２８】
図５は、生成処理部１０８の構成を示す図である。生成処理部１０８はフィードフォワードニューラルネットワークの回帰分析モデル（regression analysis model）を用いて構成している。
中間層（interlayer）の各ユニットでは、活性化関数ＺはＲｅＬＵ（Rectified Linear Unit）（ランプ）関数を用いている。出力層（output layer）の活性化関数Ｚは恒等関数を用いて回帰分析を行っている。
レイヤ間の関係や出力は次式（１）のように表される。ただし、ｘは入力、Ｗは重み、ｂはバイアス、ｕは各ユニットへの総入力である。
ｕ＝Ｗｘ＋ｂ  ，  Ｚ＝ｆ（ｕ）        ・・・（１）
【００２９】
生成処理部１０８の動作モードとして、ディープラーニングによって学習する学習モードと、回路設計処理を行う設計モードがある。学習モードと設計モードでは、図５に示した生成処理部１０８の構成自体は変わらないが、学習モードと設計モードの切り替えを行って、学習、設計を行う。
【００３０】
特性値に基づいて素子値を設計するように機能する場合、学習モードではシミュレーションで得られた特性値（本実施の形態では１３種の特性項目の特性値）が入力に、対応する素子値（本実施の形態では実質的に７個の素子値）が出力になるように重みｗ、バイアスｂを更新する。学習後の設計モードにおいて、特性値を入力すると、これに対応する各回路素子の素子値を生成して出力するように機能する。
【００３１】
素子値に基づいて特性値を設計するように機能する場合、学習モードではシミュレーションで得られた素子値が入力に、対応する特性値が出力になるように重みｗ、バイアスｂを更新する。学習後の設計モードにおいて、各回路素子の素子値を入力すると、これに対応する特性値を生成して出力するように機能する。
【００３２】
尚、図５の例は、特性値に基づいて素子値を設計するように機能する場合の例であり、学習モードではシミュレーションで得られた特性値が入力、対応する素子値が出力となるようにして学習するよう機能する。学習後の設計モードにおいて、新たな特性値を入力すると、これに対応する各回路素子の素子値を生成して出力するように機能する。
【００３３】
図６は本発明の実施の形態に係る回路設計装置１００の説明図で、特性値に基づいて素子値を設計した場合の結果を示す図表である。
以下、図１〜図６を参照して本発明の実施の形態の動作を詳細に説明する。
【００３４】
先ず使用者は、操作部１０２を操作し、処理対象として、設計対象回路の回路構成、前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子名を入力する（図２の処理ステップＳ２０１）。このとき、操作部１０２は、記憶部１０４の回路構成データ１１１に含まれている複数の回路構成から設計対象回路の回路構成を選択して入力し、回路特性項目名データ１１３に含まれている複数の回路特性項目名から前記設計対象回路の回路特性項目名を選択して入力し、又、回路素子名データ１１４に含まれている複数の回路素子名から前記設計対象回路の回路素子名を選択して入力する。
【００３５】
ここで、操作部１０２と記憶部１０４は入力部を構成している。前記入力部には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート等の入力インターフェースを含めるように構成することができ、これを利用して各種データを入力するように構成することができる。
尚、設計対象回路の回路構成は、ネットリストや制約データ等の回路構成を作成するに必要なデータを予め記憶部１０４に記憶しておき、これらを用いて生成するように構成してもよい。
【００３６】
処理ステップＳ２０１の処理対象入力ステップでは、図３の演算増幅器が設計対象回路３０１として入力される。また、設計対象回路３０１の回路特性項目名として前述した１３項目の回路特性項目名が入力され、ＭＯＳトランジスタＭ１〜Ｍ８と１個の抵抗Ｒの素子名（９個の素子の名称）が入力される。
【００３７】
シミュレーション部１０５は、設計対象回路３０１について、設計対象回路３０１を構成する回路素子（ＭＯＳトランジスタＭ１〜Ｍ８と抵抗Ｒ）の素子値を変えながらシミュレーションを行うことにより、各素子値とこれに対応する各回路特性項目の特性値から成る学習用データを生成する（ステップＳ２０２）。
【００３８】
シミュレーション部１０５は、図４の確率分布を用いて、変数Ｍを変化させることによってトランジスタＭ１〜Ｍ８の特性を変化させながらシミュレーションを行うことになる。このとき、トランジスタＭ１とＭ２は同じ値に変化させ又、トランジスタＭ３とＭ４も同じ値に変化させる。また、抵抗Ｒの抵抗値は所定の複数種類の値に変化させてシミュレーションする。
【００３９】
（１）シミュレーション部１０５は、シミュレーションを行う場合、所定の初期値に対して変数Ｍの変化率をかけて各トランジスタＭ１〜Ｍ８の新たな素子値を生成し、又、抵抗値Ｒも所定の初期値から所定量変化させて新たな抵抗素子値を生成し、設計対象回路３０１のシミュレーション用の回路構成を生成する。各回路素子の素子値を変化させながら前記処理を行うことにより、設計対象回路３０１のシミュレーション用の回路構成を所定個数作成する。
【００４０】
（２）シミュレーション部１０５は、作成した前記所定個数の回路構成について各々シミュレーションを実行し、所定の評価式に基づいて前記各回路構成を評価し、所定基準を満たす回路構成の素子値及びこれに対応する特性値を学習用データとして保存する。
（３）シミュレーション部１０５は、前記生成した回路構成の中の最高評価の素子値を新たな初期値として更新する。
【００４１】
シミュレーション部１０５は、前記（１）〜（３）のシミュレーション処理を繰り返し実行して、学習用データを生成する。
以上のようにして生成した学習用データは記憶部１０４の学習用データ１１５として保存される。これにより、各回路素子の素子値とこれに対応する各回路特性項目の特性値から成る学習用データ１１５が収集される。
【００４２】
このように、各トランジスタＭ１〜Ｍ８のゲート幅Ｗとゲート長Ｌは固定しておき、変数Ｍの値を変えることによってトランジスタＭ１〜Ｍ８の素子値を変化させ、これによりシミュレーション条件を変えるようにしているため、効率良く学習用データを収集することができる。また、変数Ｍを２山特性の確率分布を用いて変化せることによってトランジスタＭ１〜Ｍ８の特性を変化させることによって、効率良く学習用データを収集することができる。
【００４３】
次に、操作部１０２の操作によって設計処理部１０６を学習モードにすると、設計処理部１０６は収集された学習用データ１１５をディープラーニングによって学習する（ステップＳ２０３）。
このとき、後の設計モードにおいて回路特性項目の特性値に対応する回路素子の素子値を生成する場合には、学習モードにおいて回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する回路素子の素子値を出力とするようにしてディープラーニングを行うように操作部１０２から指示を入力する。
【００４４】
また、設計モードにおいて回路素子の素子値に対応する回路特性項目の特性値を生成する場合には、学習モードにおいて回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する回路特性項目の特性値を出力とするようにしてディープラーニングを行うように操作部１０２から指示を入力する。
【００４５】
無次元化部１０７は、素子値及び対応する特性値から成る学習用データ１１５を用いて、素子値と対応する特性値を無次元化して生成処理部１０８に入力する。無次元化部１０７は前述したように、特性値については正規化、素子値については標準化することによって無次元化を行う。
【００４６】
生成処理部１０８は、無次元化部１０７からの無次元化された素子値及び対応する特性値を用いてディープラーニングを行う。
このとき、生成処理部１０８は、設計モードにおいて特性値に対応する素子値を生成する場合には、学習モードにおいて特性値を入力とすると共に特性値に対応する素子値を出力とするようにしてディープラーニングを行う。また、生成処理部１０８は、設計モードにおいて素子値に対応する特性値を生成する場合には、学習モードにおいて素子値を入力とすると共に素子値に対応する特性値を出力とするようにしてディープラーニングを行う。
【００４７】
次に、設計対象回路３０１の設計を行う場合、操作部１０２によって設計処理部１０６を設計モードに設定し、記憶部１０４に記憶されている設計対象回路３０１の新たな回路特性項目の特性値、又は、新たな回路素子の素子値を設計処理部１０６に入力し、次のようにして回路設計処理を行う（ステップＳ２０４）。
【００４８】
ここで、回路特性項目の特性値に対応する回路素子の素子値を生成する場合には回路特性項目の新たな特性値を設計処理部１０６入力部に入力し、回路素子の素子値に対応する回路特性の特性値を生成する場合には回路素子の新たな素子値を入力する。
無次元化部１０７は、入力された特性値又は素子値を無次元化して生成処理部１０８に入力する。
【００４９】
生成処理部１０８は、設計モードにおいて特性値に対応する素子値を生成する場合、無次元化部１０７から入力された特性値に対応する素子値を生成し、復元化部１０９に入力する。復元化部１０９は、生成処理部１０８からの無次元化された素子値を元の単位の値に復元して表示部１０３に出力する。
表示部１０３には、前記設計対象回路の各回路特性項目の特性値に対応する各回路素子の素子値が表示される。また、前記設計対象回路の各回路特性項目の特性値に対応する各回路素子の素子値は記憶部１０４のデータ領域１１０に記憶される。
【００５０】
生成処理部１０８は、設計モードにおいて素子値に対応する特性値を生成する場合には、無次元化部１０７から入力された素子値に対応する特性値を生成し、復元化部１０９に入力する。復元化部１０９は、生成処理部１０８からの無次元化された特性値を元の単位の値に復元して表示部１０３に出力する。
表示部１０３には、前記設計対象回路の各回路素子の素子値に対応する各回路特性項目の特性値が表示される。また、前記設計対象回路の各回路素子の素子値に対応する各回路特性項目の特性値は記憶部１０４のデータ領域１１０に記憶される。
【００５１】
本実施の形態では、シミュレーション、学習モードや設計モードの指示、データの入力等を操作部１０２の指示によって行うようにしたが、シミュレーションから設計モードの終了までの一連の処理を自動で行うようにする等の変更が可能である。いずれの場合も設計処理部１０６は、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により自動的に生成する処理を行うことになる。
【００５２】
ところで、本発明の実施の形態では、生成処理部１０８は、無次元化部１０７によって特性値を正規化すると共に素子値を標準化することによって無次元化した値を用いて、素子値や特性値の生成処理を行うように構成している。
図６は、本実施の形態のように特性値を正規化すると共に素子値を標準化して設計処理したときに得られた素子値の誤差率（右列）と、特性値と素子値の両方を前述した式によって正規化して設計処理したときに得られた素子値の誤差率（中央列）を比較した図表である。図６から明らかなように、本発明の実施の形態における無次元化処理によって精度が向上していることがわかる。
【００５３】
これは以下の理由によるものと推測される。
即ち、正規化は単位の異なる（大きさの範囲が異なる）データ群を同じスケールで良し悪しを判断するためにする計算である。回路特性を正規化する場合は、
（１）値の大きいデータが性能の良いことを示す場合は、最も大きい値のデータが１、最も小さい値のデータが０になるように、
（２）値の小さいデータが性能が良いことを示す場合は、最も小さい値のデータが１、最も大きい値のデータが０になるように、
各々正規化する。これにより、回路特性を評価できる。
【００５４】
一方、素子値の場合、前記同様に（１）のように定義して素子値を正規化すると、値が大きい場合に性能が良いと判断してしまうことになる。しかしながら、素子値の場合には値が大きいことが良いとは限らない。そのため、正規化によって無次元化すると、良し悪しを判断できない。
【００５５】
また、標準化は基準値からの違いを用いて無次元化し、良し悪しを判断しないので、素子値の無次元化に適している。そのため本発明の実施の形態では、素子値は標準化を用いて無次元化している。
また、ニューラルネットワークで用いる標準化は、入力データの平均を０に分散を１にするように処理し、データを概ね−１〜１の範囲に限定するのが一般的であるが、今回は（学習データの当該値）／（学習データの初期値）とすることで良い結果が得られたのでこれを用いている。
【００５６】
図７は、図５に対応する生成処理部１０８の構成を示す図であり、素子値に基づいて特性値を設計するように機能する場合の例である。
生成処理部１０８は、学習モードではシミュレーションで得られた素子値が入力、対応する特性値が出力となるように重みｗ、バイアスｂを更新する。学習後の設計モードにおいて、各回路素子の素子値を入力すると、これに対応する特性値を生成して出力するように機能する。尚、無次元化処理や復元化処理等の他の処理は前述した処理と同じである。
【００５７】
図８は、生成処理部１０８を図７に示すように機能させて、素子値に基づいて生成した特性値の平均一致率を示す図表である。
平均一致率を算出する場合、（１）学習に使用していないテストデータの特性値Ａを設計処理部１０６に入力することによって対応する素子値を生成し、（２）前記素子値を設計処理部１０６に入力して対応する特性値Ｂを生成し、（３）特性値Ａに対する特性値Ｂの一致率を算出する。
【００５８】
前記（１）〜（３）を所定個数のテストデータについて行い、得られた一致率の平均値を平均一致率としている。平均で９０パーセント以上の精度を実現しており良好な結果が得られている。
尚、学習を終えたモデルを使用することで次回の設計処理では学習時間が不要になるため、求める特性値や素子値の生成処理に必要な時間のみで設計処理が可能になる。
【００５９】
図９は、他の設計対象回路９０１の例を示す回路構成図で、入力部がＮＭＯＳトランジスタによって構成された演算増幅器の例を示している。図９において、トランジスタＭ１、Ｍ２は同一特性のＮＭＯＳトランジスタであり又、トランジスタＭ３、Ｍ４は同一特性のＰＭＯＳトランジスタである。実質的に６種類の特性の異なるＭＯＳトランジスタＭ１〜Ｍ８と１個の抵抗Ｒによって構成されている。
【００６０】
図１０は、生成処理部１０８を図７に示すように機能させて、前記同様にして得た特性値の平均一致率を示す図表である。本例においても平均で９０パーセント以上の精度を実現しており良好な結果が得られている。
【００６１】
以上述べたように本発明の実施の形態は、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部（操作部１０２、記憶部１０４）と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部１０５と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部１０６とを備えて成ることを特徴としている。
【００６２】
ここで、設計処理部１０６は、前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成するように構成することができる。
【００６３】
また、設計処理部１０６は、前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成するように構成することができる。
【００６４】
したがって、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能になる。
また、コンピュータが本発明の実施の形態に係る回路設計用プログラムを実行することにより、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能な回路設計装置を構築することが可能になる。
【産業上の利用可能性】
【００６５】
アナログ集積回路やデジタル集積回路の回路設計に係る発明に利用することが可能である。
【符号の説明】
【００６６】
１００・・・回路設計装置
１０１・・・データ処理部
１０２・・・操作部
１０３・・・表示部
１０４・・・記憶部
１０５・・・シミュレーション部
１０６・・・設計処理部
１０７・・・無次元化部
１０８・・・生成処理部
１０９・・・復元化部
１１０・・・データ領域
１１１・・・回路構成データ
１１２・・・回路項目データ
１１３・・・回路特性項目名データ
１１４・・・回路素子名データ
１１５・・・学習用データ
１１６・・・プログラム
３０１、９０１・・・設計対象回路
Ｍ１〜Ｍ８・・・ＭＯＳトランジスタ
Ｒ・・・抵抗
【図１】
2020184123.tif 000003
【図２】
2020184123.tif 000004
【図３】
2020184123.tif 000005
【図４】
2020184123.tif 000006
【図５】
2020184123.tif 000007
【図６】
2020184123.tif 000008
【図７】
2020184123.tif 000009
【図８】
2020184123.tif 000010
【図９】
2020184123.tif 000011
【図１０】
2020184123.tif 000012