IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人群馬大学の特許一覧

特許7247447回路設計装置、回路設計方法及びプログラム
<>
  • 特許-回路設計装置、回路設計方法及びプログラム 図1
  • 特許-回路設計装置、回路設計方法及びプログラム 図2
  • 特許-回路設計装置、回路設計方法及びプログラム 図3
  • 特許-回路設計装置、回路設計方法及びプログラム 図4
  • 特許-回路設計装置、回路設計方法及びプログラム 図5
  • 特許-回路設計装置、回路設計方法及びプログラム 図6
  • 特許-回路設計装置、回路設計方法及びプログラム 図7
  • 特許-回路設計装置、回路設計方法及びプログラム 図8
  • 特許-回路設計装置、回路設計方法及びプログラム 図9
  • 特許-回路設計装置、回路設計方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-20
(45)【発行日】2023-03-29
(54)【発明の名称】回路設計装置、回路設計方法及びプログラム
(51)【国際特許分類】
   G06F 30/36 20200101AFI20230322BHJP
   G06F 30/27 20200101ALI20230322BHJP
   G06F 30/10 20200101ALI20230322BHJP
【FI】
G06F30/36
G06F30/27
G06F30/10
【請求項の数】 5
(21)【出願番号】P 2019086858
(22)【出願日】2019-04-26
(65)【公開番号】P2020184123
(43)【公開日】2020-11-12
【審査請求日】2022-01-17
(73)【特許権者】
【識別番号】504145364
【氏名又は名称】国立大学法人群馬大学
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【弁理士】
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】高井 伸和
(72)【発明者】
【氏名】福田 雅史
(72)【発明者】
【氏名】猿田 将大
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開平08-095605(JP,A)
【文献】特開平04-330772(JP,A)
【文献】特開2000-293566(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
(57)【特許請求の範囲】
【請求項1】
設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部とを備えて成ることを特徴とする回路設計装置。
【請求項2】
前記設計処理部は、
前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成し、
前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成することを特徴とする請求項1記載の回路設計装置。
【請求項3】
入力部と、シミュレーション部と、設計処理部とを備える回路設計装置が実行する回路設計方法であって、
前記入力部が、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力し、
前記シミュレーション部が、前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成し、
前記設計処理部が、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成することを特徴とする回路設計方法。
【請求項4】
前記設計処理部は、
前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成し、
前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成することを特徴とする請求項3記載の回路設計方法。
【請求項5】
コンピュータに請求項1又は2に記載の回路設計装置を構築させるための回路設計用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の回路設計を行う回路設計装置、回路設計方法及びコンピュータに実行させることによって前記回路設計装置を構築するための回路設計用プログラムに関する。
【背景技術】
【0002】
従来からLSI(Large Scale Integration)等の集積回路の設計手法が開発されている。
例えば従来の設計手法として、回路の特性方程式を定義し、回路に関する豊富な知識を有する設計者が設計方針を組み立てて所望特性の集積回路を設計する方法が開発されている。この方法では、設計により得られる回路の品質が設計者の知識や経験に依存するため、知識や経験の浅い設計者には高品質な回路設計が困難という問題がある。
【0003】
一方、目標とする回路(目標回路)の構成を想定し、前記回路を構成するトランジスタ毎にSPICE(スパイス)等のシミュレーションを行って最適化することにより、所望の特性を有するトランジスタ、ひいては前記トランジスタが構成する所望特性の目標回路を得るようにした設計手法が開発されている(例えば特許文献1参照)。
【0004】
しかしながら、遺伝的アルゴリズム等を用いたシミュレーションではランダム性が高く探索の無駄が多いため、回路を構成する回路素子の数が多くなるとシミュレーションに時間がかかり、設計作業に長期間要するという問題がある。また、設計に学習機能が無いため再現性がないという問題がある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2011-065281号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、前記問題点に鑑み成されたもので、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことができるようにすることを課題としている。
【課題を解決するための手段】
【0007】
本発明の第1の視点によれば、
設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部とを備えて成ることを特徴とする回路設計装置が提供される。
【0008】
また、本発明の第2の視点によれば、
入力部と、シミュレーション部と、設計処理部とを備える回路設計装置が実行する回路設計方法であって、
前記入力部が、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力し、
前記シミュレーション部が、前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成し、
前記設計処理部が、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成することを特徴とする回路設計方法が提供される。
【0009】
また、本発明の第3の視点によれば、コンピュータに前記回路設計装置を構築させるための回路設計用プログラムが提供される。
【発明の効果】
【0010】
本発明の回路設計装置や回路設計方法によれば、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能になる。
【0011】
また、コンピュータが本発明の回路設計用プログラムを実行することにより、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能な回路設計装置を構築することができる。
【図面の簡単な説明】
【0012】
図1】本発明の実施の形態に係る回路設計装置のブロック図である。
図2】本発明の実施の形態に係る回路設計装置のフローチャートである。
図3】本発明の実施の形態における設計対象回路の回路構成図である。
図4】本発明の実施の形態に係る回路設計装置の説明図である。
図5】本発明の実施の形態に係る回路設計装置の部分的な回路構成図である。
図6】本発明の実施の形態に係る回路設計装置の説明図である。
図7】本発明の実施の形態に係る回路設計装置の部分的な回路構成図である。
図8】本発明の実施の形態に係る回路設計装置の説明図である。
図9】本発明の他の実施の形態における設計対象回路の回路構成図である。
図10】本発明の他の実施の形態に係る回路設計装置の説明図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態に係る回路設計装置、回路設計方法、コンピュータに実行させて前記回路設計装置を構築するための回路設計用プログラムについて、図面を用いて説明する。
尚、以下述べる実施の形態ではアナログ回路の例について説明するがデジタル回路にも適用可能である。また、各図において同一機能の部分には同一符号を付している。
【0014】
図1は、本発明の実施の形態に係る回路設計装置100のブロック図である。
図1において、回路設計装置100は、データ処理部101、操作部102、表示部103、記憶部104を備えている。
回路設計装置100は、キーボードやマウスなどの操作部、表示部、中央処理装置(CPU)、記憶部、USBポート等の入出力部を備えたコンピュータによって構成することができる。前記コンピュータに、記憶部104のプログラム記憶領域116に記憶された回路設計用プログラムを実行させることにより、コンピュータを回路設計装置100として機能させることができる。
【0015】
操作部102は、使用者が操作してデータや命令を入力するためのもので、マウスやキーボード等によって構成されている。操作部102は、設計の対象となる回路(設計対象回路)の回路構成、前記設計対象回路の回路特性項目名、前記設計対象回路を構成する回路素子の素子名等のデータを入力や、設計処理等の実行の指示等に使用する。
データ処理部101は、シミュレーション部105及び設計処理部106を備えている。シミュレーション部105は、設計対象回路を構成する回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより、前記回路素子の素子値とそれに対応する回路特性項目の特性値を生成する機能を有している。
【0016】
設計処理部106は、学習モードにおいて回路素子の素子値及び対応する回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する機能を有している。
また、設計処理部106は、シミュレーション部105によって生成した回路特性項目の特性値を及び回路素子の素子値を無次元化する無次元化部107を備えている。
【0017】
また、設計処理部106は、無次元化された特性値及びこれに対応する無次元化された素子値を用いて、学習モードにおいてディープラーニングを行うと共に、設計モードにおいて、回路特性項目の特性値に対応する素子値と、回路素子の素子値に対応する回路特性項目の特性値との少なくとも一方を回帰分析により無次元化した値で生成する生成処理部108を備えている。
【0018】
また、設計処理部106は、生成処理部108からの無次元化された回路特性項目の特性値に対応する素子値と、回路素子の素子値に対応する回路特性項目の特性値を元の次元に復元して出力する復元化部109を備えている。
本実施の形態では、無次元化部107は、シミュレーション部105によって生成した回路特性項目の特性値を正規化すると共に回路素子の素子値を標準化することにより、回路特性項目の特性値及び回路素子の素子値を無次元化する機能を有している。
【0019】
回路特性項目の特性値の正規化は、[Yi=(Xi-Xmin)/(Xmax-Xmin)]なる関係式によって行う。ここで、Xiは当該回路特性項目の当該特性値、Xminは当該回路特性項目の特性値の最小値、Xmaxは当該回路特性項目の特性値の最大値、Yiは当該回路特性項目の当該特性値が正規化された値である。
【0020】
また、回路素子の素子値の標準化は、[標準化された素子値=(当該回路素子の当該素子値)/(当該回路素子の素子値の初期値)]なる関係式によって行う。
このように、特性値については正規化、素子値については標準化することによって無次元化を行っており、後述するように、これによって精度が向上している。
【0021】
尚、復元化部109によって元の次元に復元された特性値や素子値は表示部103によって表示され又、記憶装置104に記憶される。
記憶部104は、各種データを記憶するデータ記憶領域110、本実施の形態に係る回路設計用プログラム等の各種プログラムを記憶するプログラム記憶領域116を有している。
【0022】
データ記憶領域110には、設計対象回路の回路トポロジーのデータである回路構成データ111、設計対象回路に関する項目のデータである回路項目データ112、生成処理部108が学習するためのデータである学習用データ115が随時又は予め記憶される。
回路項目データ112には、設計対象回路の各回路特性の名称である回路特性項目名データ113、設計対象回路を構成するMOSトランジスタや抵抗等の回路素子の名称である回路素子名データ114が含まれている。
【0023】
図2は、本発明の実施の形態に係る回路設計装置100の処理を表すフローチャートで、主としてデータ処理部101の処理を示している。
図3は、本発明の実施の形態において設計を行う対象である設計対象回路301の回路構成図であり、差動入力部がPMOSトランジスタによって構成された演算増幅器の例を示している。
【0024】
図3において、トランジスタM1、M2は同一特性のPMOSトランジスタである。また、トランジスタM3、M4は同一特性のNMOSトランジスタである。実質的に6種類の特性の異なるMOSトランジスタM1~M8と1個の抵抗Rによって構成されており、回路素子の素子値の数が実質的に7個の回路である。
【0025】
本実施の形態では、図3の設計対象回路301の回路特性項目として13項目ある。回路特性項目名は、消費電流(Idis)、消費電力(Pdis)、直流利得(DCgain)、位相余裕(PM)、利得帯域幅積(GBP)、スルーレート(SR)、全高調波歪(THD)、同相除去比(CMRR)、電源電圧変動除去比(PSRR)、出力電圧範囲(OVR)、同相入力範囲(CMIR)、出力抵抗(OR)、入力換算雑音(IRN)である。
【0026】
図4は、シミュレーション部105が設計対象回路301のシミュレーションを行う際、トランジスタM1~M8の特性を変化させるために使用する確率分布を示す図である。
横軸は変数Mの変化率、縦軸は変数Mが発生した個数である。ここで、変数Mはトランジスタのゲート幅Wの所定整数倍の値である。変数Mが1のときを中心として2山になるような特性である。
【0027】
各トランジスタM1~M8のゲート幅Wとゲート長Lは固定しておき、変数Mの値を変えることによって実質的にゲート幅Wを変化させる。これによって各トランジスタM1~M8の素子値を図4に示す確率分布で変化させ、これによってシミュレーション条件を変えるようにしている。トランジスタM1とM2は同じ値に変化させ又、トランジスタM3とM4は同じ値に変化させる。尚、抵抗Rの抵抗値は所定の複数種類の値に変化させてシミュレーションを行うようにしている。
【0028】
図5は、生成処理部108の構成を示す図である。生成処理部108はフィードフォワードニューラルネットワークの回帰分析モデル(regression analysis model)を用いて構成している。
中間層(interlayer)の各ユニットでは、活性化関数ZはReLU(Rectified Linear Unit)(ランプ)関数を用いている。出力層(output layer)の活性化関数Zは恒等関数を用いて回帰分析を行っている。
レイヤ間の関係や出力は次式(1)のように表される。ただし、xは入力、Wは重み、bはバイアス、uは各ユニットへの総入力である。
u=Wx+b , Z=f(u) ・・・(1)
【0029】
生成処理部108の動作モードとして、ディープラーニングによって学習する学習モードと、回路設計処理を行う設計モードがある。学習モードと設計モードでは、図5に示した生成処理部108の構成自体は変わらないが、学習モードと設計モードの切り替えを行って、学習、設計を行う。
【0030】
特性値に基づいて素子値を設計するように機能する場合、学習モードではシミュレーションで得られた特性値(本実施の形態では13種の特性項目の特性値)が入力に、対応する素子値(本実施の形態では実質的に7個の素子値)が出力になるように重みw、バイアスbを更新する。学習後の設計モードにおいて、特性値を入力すると、これに対応する各回路素子の素子値を生成して出力するように機能する。
【0031】
素子値に基づいて特性値を設計するように機能する場合、学習モードではシミュレーションで得られた素子値が入力に、対応する特性値が出力になるように重みw、バイアスbを更新する。学習後の設計モードにおいて、各回路素子の素子値を入力すると、これに対応する特性値を生成して出力するように機能する。
【0032】
尚、図5の例は、特性値に基づいて素子値を設計するように機能する場合の例であり、学習モードではシミュレーションで得られた特性値が入力、対応する素子値が出力となるようにして学習するよう機能する。学習後の設計モードにおいて、新たな特性値を入力すると、これに対応する各回路素子の素子値を生成して出力するように機能する。
【0033】
図6は本発明の実施の形態に係る回路設計装置100の説明図で、特性値に基づいて素子値を設計した場合の結果を示す図表である。
以下、図1図6を参照して本発明の実施の形態の動作を詳細に説明する。
【0034】
先ず使用者は、操作部102を操作し、処理対象として、設計対象回路の回路構成、前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子名を入力する(図2の処理ステップS201)。このとき、操作部102は、記憶部104の回路構成データ111に含まれている複数の回路構成から設計対象回路の回路構成を選択して入力し、回路特性項目名データ113に含まれている複数の回路特性項目名から前記設計対象回路の回路特性項目名を選択して入力し、又、回路素子名データ114に含まれている複数の回路素子名から前記設計対象回路の回路素子名を選択して入力する。
【0035】
ここで、操作部102と記憶部104は入力部を構成している。前記入力部には、USB(Universal Serial Bus)ポート等の入力インターフェースを含めるように構成することができ、これを利用して各種データを入力するように構成することができる。
尚、設計対象回路の回路構成は、ネットリストや制約データ等の回路構成を作成するに必要なデータを予め記憶部104に記憶しておき、これらを用いて生成するように構成してもよい。
【0036】
処理ステップS201の処理対象入力ステップでは、図3の演算増幅器が設計対象回路301として入力される。また、設計対象回路301の回路特性項目名として前述した13項目の回路特性項目名が入力され、MOSトランジスタM1~M8と1個の抵抗Rの素子名(9個の素子の名称)が入力される。
【0037】
シミュレーション部105は、設計対象回路301について、設計対象回路301を構成する回路素子(MOSトランジスタM1~M8と抵抗R)の素子値を変えながらシミュレーションを行うことにより、各素子値とこれに対応する各回路特性項目の特性値から成る学習用データを生成する(ステップS202)。
【0038】
シミュレーション部105は、図4の確率分布を用いて、変数Mを変化させることによってトランジスタM1~M8の特性を変化させながらシミュレーションを行うことになる。このとき、トランジスタM1とM2は同じ値に変化させ又、トランジスタM3とM4も同じ値に変化させる。また、抵抗Rの抵抗値は所定の複数種類の値に変化させてシミュレーションする。
【0039】
(1)シミュレーション部105は、シミュレーションを行う場合、所定の初期値に対して変数Mの変化率をかけて各トランジスタM1~M8の新たな素子値を生成し、又、抵抗値Rも所定の初期値から所定量変化させて新たな抵抗素子値を生成し、設計対象回路301のシミュレーション用の回路構成を生成する。各回路素子の素子値を変化させながら前記処理を行うことにより、設計対象回路301のシミュレーション用の回路構成を所定個数作成する。
【0040】
(2)シミュレーション部105は、作成した前記所定個数の回路構成について各々シミュレーションを実行し、所定の評価式に基づいて前記各回路構成を評価し、所定基準を満たす回路構成の素子値及びこれに対応する特性値を学習用データとして保存する。
(3)シミュレーション部105は、前記生成した回路構成の中の最高評価の素子値を新たな初期値として更新する。
【0041】
シミュレーション部105は、前記(1)~(3)のシミュレーション処理を繰り返し実行して、学習用データを生成する。
以上のようにして生成した学習用データは記憶部104の学習用データ115として保存される。これにより、各回路素子の素子値とこれに対応する各回路特性項目の特性値から成る学習用データ115が収集される。
【0042】
このように、各トランジスタM1~M8のゲート幅Wとゲート長Lは固定しておき、変数Mの値を変えることによってトランジスタM1~M8の素子値を変化させ、これによりシミュレーション条件を変えるようにしているため、効率良く学習用データを収集することができる。また、変数Mを2山特性の確率分布を用いて変化せることによってトランジスタM1~M8の特性を変化させることによって、効率良く学習用データを収集することができる。
【0043】
次に、操作部102の操作によって設計処理部106を学習モードにすると、設計処理部106は収集された学習用データ115をディープラーニングによって学習する(ステップS203)。
このとき、後の設計モードにおいて回路特性項目の特性値に対応する回路素子の素子値を生成する場合には、学習モードにおいて回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する回路素子の素子値を出力とするようにしてディープラーニングを行うように操作部102から指示を入力する。
【0044】
また、設計モードにおいて回路素子の素子値に対応する回路特性項目の特性値を生成する場合には、学習モードにおいて回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する回路特性項目の特性値を出力とするようにしてディープラーニングを行うように操作部102から指示を入力する。
【0045】
無次元化部107は、素子値及び対応する特性値から成る学習用データ115を用いて、素子値と対応する特性値を無次元化して生成処理部108に入力する。無次元化部107は前述したように、特性値については正規化、素子値については標準化することによって無次元化を行う。
【0046】
生成処理部108は、無次元化部107からの無次元化された素子値及び対応する特性値を用いてディープラーニングを行う。
このとき、生成処理部108は、設計モードにおいて特性値に対応する素子値を生成する場合には、学習モードにおいて特性値を入力とすると共に特性値に対応する素子値を出力とするようにしてディープラーニングを行う。また、生成処理部108は、設計モードにおいて素子値に対応する特性値を生成する場合には、学習モードにおいて素子値を入力とすると共に素子値に対応する特性値を出力とするようにしてディープラーニングを行う。
【0047】
次に、設計対象回路301の設計を行う場合、操作部102によって設計処理部106を設計モードに設定し、記憶部104に記憶されている設計対象回路301の新たな回路特性項目の特性値、又は、新たな回路素子の素子値を設計処理部106に入力し、次のようにして回路設計処理を行う(ステップS204)。
【0048】
ここで、回路特性項目の特性値に対応する回路素子の素子値を生成する場合には回路特性項目の新たな特性値を設計処理部106入力部に入力し、回路素子の素子値に対応する回路特性の特性値を生成する場合には回路素子の新たな素子値を入力する。
無次元化部107は、入力された特性値又は素子値を無次元化して生成処理部108に入力する。
【0049】
生成処理部108は、設計モードにおいて特性値に対応する素子値を生成する場合、無次元化部107から入力された特性値に対応する素子値を生成し、復元化部109に入力する。復元化部109は、生成処理部108からの無次元化された素子値を元の単位の値に復元して表示部103に出力する。
表示部103には、前記設計対象回路の各回路特性項目の特性値に対応する各回路素子の素子値が表示される。また、前記設計対象回路の各回路特性項目の特性値に対応する各回路素子の素子値は記憶部104のデータ領域110に記憶される。
【0050】
生成処理部108は、設計モードにおいて素子値に対応する特性値を生成する場合には、無次元化部107から入力された素子値に対応する特性値を生成し、復元化部109に入力する。復元化部109は、生成処理部108からの無次元化された特性値を元の単位の値に復元して表示部103に出力する。
表示部103には、前記設計対象回路の各回路素子の素子値に対応する各回路特性項目の特性値が表示される。また、前記設計対象回路の各回路素子の素子値に対応する各回路特性項目の特性値は記憶部104のデータ領域110に記憶される。
【0051】
本実施の形態では、シミュレーション、学習モードや設計モードの指示、データの入力等を操作部102の指示によって行うようにしたが、シミュレーションから設計モードの終了までの一連の処理を自動で行うようにする等の変更が可能である。いずれの場合も設計処理部106は、学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により自動的に生成する処理を行うことになる。
【0052】
ところで、本発明の実施の形態では、生成処理部108は、無次元化部107によって特性値を正規化すると共に素子値を標準化することによって無次元化した値を用いて、素子値や特性値の生成処理を行うように構成している。
図6は、本実施の形態のように特性値を正規化すると共に素子値を標準化して設計処理したときに得られた素子値の誤差率(右列)と、特性値と素子値の両方を前述した式によって正規化して設計処理したときに得られた素子値の誤差率(中央列)を比較した図表である。図6から明らかなように、本発明の実施の形態における無次元化処理によって精度が向上していることがわかる。
【0053】
これは以下の理由によるものと推測される。
即ち、正規化は単位の異なる(大きさの範囲が異なる)データ群を同じスケールで良し悪しを判断するためにする計算である。回路特性を正規化する場合は、
(1)値の大きいデータが性能の良いことを示す場合は、最も大きい値のデータが1、最も小さい値のデータが0になるように、
(2)値の小さいデータが性能が良いことを示す場合は、最も小さい値のデータが1、最も大きい値のデータが0になるように、
各々正規化する。これにより、回路特性を評価できる。
【0054】
一方、素子値の場合、前記同様に(1)のように定義して素子値を正規化すると、値が大きい場合に性能が良いと判断してしまうことになる。しかしながら、素子値の場合には値が大きいことが良いとは限らない。そのため、正規化によって無次元化すると、良し悪しを判断できない。
【0055】
また、標準化は基準値からの違いを用いて無次元化し、良し悪しを判断しないので、素子値の無次元化に適している。そのため本発明の実施の形態では、素子値は標準化を用いて無次元化している。
また、ニューラルネットワークで用いる標準化は、入力データの平均を0に分散を1にするように処理し、データを概ね-1~1の範囲に限定するのが一般的であるが、今回は(学習データの当該値)/(学習データの初期値)とすることで良い結果が得られたのでこれを用いている。
【0056】
図7は、図5に対応する生成処理部108の構成を示す図であり、素子値に基づいて特性値を設計するように機能する場合の例である。
生成処理部108は、学習モードではシミュレーションで得られた素子値が入力、対応する特性値が出力となるように重みw、バイアスbを更新する。学習後の設計モードにおいて、各回路素子の素子値を入力すると、これに対応する特性値を生成して出力するように機能する。尚、無次元化処理や復元化処理等の他の処理は前述した処理と同じである。
【0057】
図8は、生成処理部108を図7に示すように機能させて、素子値に基づいて生成した特性値の平均一致率を示す図表である。
平均一致率を算出する場合、(1)学習に使用していないテストデータの特性値Aを設計処理部106に入力することによって対応する素子値を生成し、(2)前記素子値を設計処理部106に入力して対応する特性値Bを生成し、(3)特性値Aに対する特性値Bの一致率を算出する。
【0058】
前記(1)~(3)を所定個数のテストデータについて行い、得られた一致率の平均値を平均一致率としている。平均で90パーセント以上の精度を実現しており良好な結果が得られている。
尚、学習を終えたモデルを使用することで次回の設計処理では学習時間が不要になるため、求める特性値や素子値の生成処理に必要な時間のみで設計処理が可能になる。
【0059】
図9は、他の設計対象回路901の例を示す回路構成図で、入力部がNMOSトランジスタによって構成された演算増幅器の例を示している。図9において、トランジスタM1、M2は同一特性のNMOSトランジスタであり又、トランジスタM3、M4は同一特性のPMOSトランジスタである。実質的に6種類の特性の異なるMOSトランジスタM1~M8と1個の抵抗Rによって構成されている。
【0060】
図10は、生成処理部108を図7に示すように機能させて、前記同様にして得た特性値の平均一致率を示す図表である。本例においても平均で90パーセント以上の精度を実現しており良好な結果が得られている。
【0061】
以上述べたように本発明の実施の形態は、設計対象回路の回路構成と前記設計対象回路の回路特性項目名及び前記設計対象回路を構成する回路素子の素子名とを入力する入力部(操作部102、記憶部104)と、
前記回路素子の素子値を変えながら前記設計対象回路のシミュレーションを行うことにより前記回路素子の素子値とそれに対応する前記回路特性項目の特性値を生成するシミュレーション部105と、
学習モードにおいて前記回路素子の素子値及び対応する前記回路特性項目の特性値を用いてディープラーニングを行うと共に、設計モードにおいて、前記回路特性項目の特性値に対応する前記回路素子の素子値と、前記回路素子の素子値に対応する前記回路特性項目の特性値の少なくとも一方を回帰分析により生成する設計処理部106とを備えて成ることを特徴としている。
【0062】
ここで、設計処理部106は、前記設計モードにおいて前記回路特性項目の特性値に対応する前記回路素子の素子値を生成する場合、前記学習モードにおいて前記回路特性項目の特性値を入力とすると共に前記回路特性項目の特性値に対応する前記回路素子の素子値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路特性項目の特性値を入力として前記回路特性項目の特性値に対応する前記回路素子の素子値を生成するように構成することができる。
【0063】
また、設計処理部106は、前記設計モードにおいて前記回路素子の素子値に対応する前記回路特性項目の特性値を生成する場合、前記学習モードにおいて前記回路素子の素子値を入力とすると共に前記回路素子の素子値に対応する前記回路特性項目の特性値を出力とするようにしてディープラーニングを行い、前記設計モードにおいて前記回路素子の素子値を入力として前記回路素子の素子値に対応する前記回路特性項目の特性値を生成するように構成することができる。
【0064】
したがって、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能になる。
また、コンピュータが本発明の実施の形態に係る回路設計用プログラムを実行することにより、設計者の知識や主観に依存することなく、回路設計を短時間で容易に行うことが可能な回路設計装置を構築することが可能になる。
【産業上の利用可能性】
【0065】
アナログ集積回路やデジタル集積回路の回路設計に係る発明に利用することが可能である。
【符号の説明】
【0066】
100・・・回路設計装置
101・・・データ処理部
102・・・操作部
103・・・表示部
104・・・記憶部
105・・・シミュレーション部
106・・・設計処理部
107・・・無次元化部
108・・・生成処理部
109・・・復元化部
110・・・データ領域
111・・・回路構成データ
112・・・回路項目データ
113・・・回路特性項目名データ
114・・・回路素子名データ
115・・・学習用データ
116・・・プログラム
301、901・・・設計対象回路
M1~M8・・・MOSトランジスタ
R・・・抵抗
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10