(57)【要約】  設計支援システム（１）は、変数抽出手段と、設定手段と、を備える。設計支援システム（１）において、変数抽出手段は、検証済みの設計データから、設計制約を定める変数を抽出する。設定手段は、変数抽出手段により抽出された変数の度数分布を統計的処理又は機械学習を用いて解析することにより、設計制約を設定する。
2021045018.tif 000002
【特許請求の範囲】
【請求項１】
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する設定手段と、
を備える設計支援システム。
【請求項２】
抽出した前記変数の存在確率を求める存在確率取得手段と、
求めた前記存在確率の累積存在確率を求める累積存在確率取得手段と、を更に備え、
前記設定手段は、前記累積存在確率が予め設定された基準値に一致するときの前記変数の値を特定し、この値を、前記設計制約の設計制約値に設定する、
請求項１に記載の設計支援システム。
【請求項３】
前記変数抽出手段は、前記設計制約を定める複数の変数を抽出し、
前記存在確率取得手段は、抽出された前記複数の変数それぞれの存在確率を求め、
前記累積存在確率取得手段は、前記複数の変数のそれぞれの存在確率の累積存在確率を求め、
前記設定手段は、累積存在確率が予め設定された基準値に一致するときの前記変数の値それぞれを前記設計制約の設計制約値に設定する、
請求項２に記載の設計支援システム。
【請求項４】
前記存在確率取得手段は、求めた存在確率から、属性に基づいて１又は複数の新たな存在確率を求める手段を備え、
前記累積存在確率取得手段は、新たな存在確率の累積存在確率を求める、
請求項２又は３に記載の設計支援システム。
【請求項５】
前記存在確率取得手段は、求めた存在確率が複数の極値を有する場合に、前記複数の極値を分離するように複数の新たな存在確率を求め、
前記累積存在確率取得手段は、前記複数の新たな存在確率のそれぞれの累積存在確率を求め、
前記設定手段は、それぞれの累積存在確率が予め設定された基準値に一致するときの前記変数の値を特定し、この値を前記設計制約の設計制約値に設定する、
請求項２から４のいずれか１項に記載の設計支援システム。
【請求項６】
前記変数抽出手段は、前記検証済みの設計データから、前記設計制約を定める変数として、設計段階で設定された第１の設計制約を満たしていない変数を抽出し、
前記設定手段は、前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記第１の設計制約よりも緩和された第２の設計制約を設定する、
請求項１から５のいずれか１項に記載の設計支援システム。
【請求項７】
前記変数の値が第１の設計制約値以上であること又は以下であることを規定する前記第１の設計制約を記憶する設計基準記憶部をさらに備え、
前記変数抽出手段は、前記検証済みの設計データから、前記第１の設計制約値未満又はより大きい値を有する前記変数を抽出する、
請求項６に記載の設計支援システム。
【請求項８】
設計の対象とされる装置の面積における複数の部品の占有率を求め、複数の前記部品の占有率に応じて、前記設計制約値を調整する設計制約値調整手段を備える、
請求項１から７の何れか１項に記載の設計支援システム。
【請求項９】
設計の対象とされる装置の面積における複数の部品の占有率を、前記装置の複数の領域ごとに求め、複数の前記領域それぞれにおける複数の前記部品の占有率に応じて、複数の前記領域それぞれの前記設計制約値を調整する設計制約値調整手段を備える、
請求項１から８の何れか１項に記載の設計支援システム。
【請求項１０】
前記設計制約値調整手段は、複数の部品の占有率が大きければ大きいほど、前記設計制約値を大きい値に調整する、
請求項８又は９に記載の設計支援システム。
【請求項１１】
前記検証済みの設計データから抽出された前記変数を複数のグループに分類する分類手段、を更に備え、
前記設定手段は、前記分類手段により分類された前記変数の、グループ毎の度数分布に基づいて、グループ毎に前記設計制約を設定する、
請求項１から１０のいずれか１項に記載の設計支援システム。
【請求項１２】
前記分類手段は、前記検証済みの設計データから抽出された前記変数を、クラスタリング技法を用いて、前記複数のグループに分類する、
請求項１１に記載の設計支援システム。
【請求項１３】
前記設定手段は、前記変数抽出手段により抽出された前記変数の度数分布を、教師なしの機械学習を用いて解析することにより、前記設計制約を設定する、
請求項１から１２のいずれか１項に記載の設計支援システム。
【請求項１４】
前記変数抽出手段は、前記検証により合格と判定された設計データと、前記検証により不合格と判定された設計データと、のそれぞれから前記変数を抽出し、
前記設定手段は、前記合格と判定された設計データから抽出された変数の度数分布と前記不合格と判定された設計データから抽出された変数の度数分布とを、前記教師なしの機械学習を用いて解析することにより、前記設計制約を設定する、
請求項１３に記載の設計支援システム。
【請求項１５】
新規設計データに含まれる変数が、前記設定手段により設定された前記設計制約を満たしているか否かを検証する設計検証手段、を更に備える、
請求項１から１４のいずれか１項に記載の設計支援システム。
【請求項１６】
複数の設計制約のうちから、前記新規設計データに適用する設計制約の選択を受け付ける受付手段、を更に備え、
前記設計検証手段は、前記新規設計データに含まれる変数が、前記受付手段により受け付けられた前記設計制約を満たしているか否かを検証する、
請求項１５に記載の設計支援システム。
【請求項１７】
前記設定手段は、前記設計検証手段により検証された、前記新規設計データに含まれる前記変数が前記設計制約を満たしているか否かの検証結果に基づいて、前記設計制約を更新する、
請求項１５又は１６に記載の設計支援システム。
【請求項１８】
前記設定手段は、前記検証結果に対する修正をユーザから受け付け、受け付けた前記修正が加えられた前記検証結果に基づいて前記設計制約を更新する、
請求項１７に記載の設計支援システム。
【請求項１９】
検証済みの設計データから、設計制約を定める変数を抽出し、
抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する、
設計支援方法。
【請求項２０】
コンピュータに、
検証済みの設計データから、設計制約を定める変数を抽出する処理、
抽出された前記変数の度数分布を計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、設計支援システム、設計支援方法およびプログラムに関する。
【背景技術】
【０００２】
機械装置の機構、半導体装置の回路配置などを示す設計図面は、機構部品、回路要素などの部品の形状、サイズ、座標などの設計情報を含む。各部品は、位置の重なり、動作上の干渉等が生じないように、予め決められる設計制約を守って配置されなければならない。このため、設計事項が設計制約を遵守しているか否かのチェックが行われている。【０００３】
しかし、部品間の距離を与える設計制約は、一般に、余裕をもたせて決められる。このため、部品の間隔も大きくなる傾向がある。従って、従来の設計制約を採用して装置を設計すると、設計された装置が、予め決められたサイズより大きくなったり、コスト高になったりする場合がある。このため、最終性能が目標値を満足できると予想できる範囲内において、設計制約を例外的に緩和して、設計図面を合格として、設計を成立させることがある。【０００４】
特許文献１は、設計制約を例外的に緩和する作業を支援する回路設計支援装置を開示する。この回路設計支援装置は、疑似エラー登録ファイルを備える。回路設計支援装置が設計制約に違反していると判別した設計事項について、ユーザが真のエラーではないとした場合、ユーザは、そのエラーを疑似エラー登録ファイルに登録する。回路設計支援装置は、設計制約に従ってエラーと判定した設計事項が、疑似エラー登録ファイルに登録されている場合には、そのエラーを取り消し、合格とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−３６８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この特許文献に記載の技術では、設計規約に基づいてエラーであると判別された設計事項が真のエラーであるか偽のエラーであるかを判別するための基準が存在しない。このため、ユーザの判別に属人性がでてしまう。また、設計規約に違反していると判別された設計事項と同一の設計事項が疑似エラー登録ファイルに登録されている場合にのみ、自動的に、そのエラーが真のエラーではないと判別し、その他の場合には、ユーザの判別を要求する。このため、ユーザの負担が大きい。【０００７】
本開示は上記実情に鑑みてなされたものであり、設計制約を容易に設定できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記に記載された課題を解決するために、本開示の設計支援システムは、
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する設定手段と、
を備える。
【発明の効果】
【０００９】
本開示によれば、検証済みの設計データから設計制約を定める変数を抽出し、抽出された変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する。従って、設計制約を容易に設定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本開示の実施の形態に係る設計支援システムの構成図
【図２】図１に示す設計支援システムで検証の対象となる設計データを例示する図
【図３】図２に示す設計図面における回路要素の半径と、回路要素間の距離と、回路要素間の外形距離を例示する図
【図４】図１に示す過去設計ＤＢに記憶された設計データにおける外形距離の存在確率を例示する図
【図５】図１に示す過去設計ＤＢに記憶された設計データにおける外形距離の離散的存在確率とその累積存在確率とを例示する図
【図６】図１に示す閾値算出装置が実行する閾値算出処理のフローチャート
【図７】図１に示す設計検証装置が実行する設計検証処理のフローチャート
【図８】図１に示す過去設計ＤＢに記憶された設計データにおける外形距離の存在確率の他の例を示す図
【図９】図１に示す過去設計ＤＢに記憶された設計データにおける外形距離の離散的存在確率とその累積存在確率の他の例を示す図
【図１０】本開示の実施の形態２にかかる変数とその存在確率との例を示す図
【図１１】本開示の実施の形態３にかかる設計支援システムの処理を説明するための図
【図１２】本開示の実施の形態４にかかる設計支援システムにおける処理を示す図
【図１３】本開示の実施の形態５にかかる設計支援システムの閾値ＤＢに記憶されるデータの構成を示す図
【図１４】本開示の実施の形態６にかかる過去設計ＤＢに記憶されるデータの例を示す図
【図１５】実施の形態６にかかる設計データ及び変数の例を示す図
【図１６】実施の形態６にかかる閾値算出装置が実行する閾値算出処理のフローチャート
【図１７】実施の形態６にかかる度数テーブルの例を示す図
【図１８】実施の形態６にかかる設計制約テーブルの例を示す図
【図１９】実施の形態６にかかる合格及び不合格の度数分布の例を示す図
【図２０】本開示の実施の形態７にかかる変数と設計制約との対応関係の例を示す図
【図２１】本開示の実施の形態８にかかる設計検証装置が実行する検証処理のフローチャート
【図２２】実施の形態８にかかる検証結果出力ファイルの例を示す図
【図２３】図１示す設計支援システムのハードウエア構成の一例を示す図
【発明を実施するための形態】
【００１１】
［実施の形態１］
以下、本開示の実施の形態１に係る設計支援システム、設計支援方法およびプログラムについて、図面を参照しながら説明する。なお、理解を容易にするため、以下の説明においては、設計対象物を、複数の回路要素を含む半導体装置として説明する。
【００１２】
本実施の形態に係る設計支援システムと方法は、本来の設計制約を、設計対象物の最終性能が目標値を過剰に上回ることなく達成できる程度に緩和した設計制約を求め、設計データを検証する。以下の説明では、理解を容易にするため、緩和対象の設計制約を、回路部品間の外形距離として説明する。また、区別のため、設計段階で設定されている設計制約を第１の設計制約、最終性能が目標値を満足できると予想できる範囲内において、緩和された設計制約を第２の設計制約と呼ぶ。
【００１３】
図１は、本開示の実施の形態１にかかる設計支援システム１の構成を示す。図１に示すように、設計支援システム１は、情報の受け入れおよび出力を行うＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）装置１０と、製品出荷のための検証が済んだ過去の類似の設計データから第２の設計制約、即ち、緩和された設計制約を算出する閾値算出装置２０と、新規設計データ３１が設計制約を満たしているか否かを検証する設計検証装置３０と、を備える。
【００１４】
設計支援システム１は、新規設計データ３１が示す回路素子の外形距離が、本来の設計制約である第１の設計制約を満たさない場合でも、緩和された設計制約である第２の設計制約を満たす場合には、新規設計データ３１を合格として検証する。
【００１５】
新規設計データ３１は、半導体装置設計用のＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）装置４０により作成され、供給される。
【００１６】
図２は、新規設計データ３１の内容を例示する図である。図２に示すように、新規設計データ３１は、半導体チップＣＨと、半導体チップＣＨ上に配置されるｎ個の回路要素Ｃ１〜Ｃｎの２次元の画像とこれらの位置とを示すデータを含む。なお、ｎは２以上の整数であり、図２はｎ＝８の場合を例示し、ｉ，ｊは１以上ｎ以下の互いに異なる自然数である。また、回路要素Ｃ１〜Ｃｎの形状を円として説明する。
【００１７】
図３は、回路要素ＣｉとＣｊの半径ｒｉ，ｒｊと、回路要素Ｃｉ，Ｃｊの中心の間の距離として定義される回路要素距離Ｄijと、回路要素Ｃｉ，Ｃｊの外形の間の距離である外形距離ｄijを例示する図である。なお、回路要素距離Ｄijと半径ｒｉ，ｒｊと外形距離ｄijとは、ｄij＝Ｄij−ｒｉ−ｒｊの関係にある。また、回路要素距離Ｄij＝Ｄji、外形距離ｄij＝ｄjiが成立する。以下では、外形距離ｄijが設計制約を定める変数、すなわち設計変数であるとして説明する。設計変数は、設計データが設計制約を満たしているかを判定するための、設計データに含まれる変数である。
【００１８】
この実施の形態では、第１の設計制約として、「外形距離ｄij≧基準距離ｄthij」が設定されている。即ち、回路要素Ｃｉ，Ｃｊを、基準距離ｄthij以上離して配置すべきことが設定されている。一方、この設計支援システム１は、回路要素Ｃｉ，Ｃｊの外形距離ｄijが、基準距離ｄthij未満であっても、それ以上であれば合格と見なすことができる閾値ｄrthijを求め、外形距離ｄijが閾値ｄrthij以上の場合には、合格と判定する。
【００１９】
図１に示すＵＩ装置１０は、画像を表示してオペレータに示すディスプレイ装置、オペレータの操作を受け入れるキーボード、マウス、タブレット装置およびＵＳＢ端子などのデータ入出力端子を有する。
【００２０】
閾値算出装置２０は、第１の設計制約を記憶する設計基準ＤＢ（データベース）２１と、製品出荷のための検証が済んだ設計データを記憶する過去設計ＤＢ２２と、緩和された設計制約に相当する外形距離ｄijの閾値ｄrthijを算出する閾値算出部２３と、算出された閾値ｄrthijを記憶する閾値ＤＢ２４とを備える。
【００２１】
設計基準ＤＢ２１は、設計者により設定された設計制約、即ち、第１の設計制約を記憶する。上述のように、この実施の形態では、設計制約は、回路要素ＣｉとＣｊの外形距離ｄijの基準距離ｄthijを含む。回路要素ＣｉとＣｊの外形距離ｄijが基準距離ｄthij以上であれば、外形距離に関しては、第１の設計制約を満たしていることになる。なお、基準距離ｄthijは、複数の設計に共通の値である。設計基準ＤＢ２１は、設計基準記憶部として機能する。基準距離ｄthijは、第１の設計制約値の一例である。
【００２２】
過去設計ＤＢ２２は、検証済みの設計データを記憶する。ここで、検証済みの設計データは、製品出荷のための検証が済んだ過去の設計データである。過去設計ＤＢ２２は、検証済みの設計データとして、過去の検証で「合格」と判定された設計データ、即ち、実質的に問題がないと検証され、商品化までされた設計データを格納する。設計データが「合格」であるか否かは、その設計データによって得られた製品の試作品に対する各種の性能評価試験の結果によって判定される。
【００２３】
閾値算出部２３は、過去設計ＤＢ２２に記憶されている過去の設計データに基づいて、第２の設計制約を求める。この例では、回路要素ＣｉとＣｊの外形距離ｄijについて、基準距離ｄthijよりは小さいが、合格と認めてもかまわない外形距離の最小値である閾値ｄrthijを求める。閾値ｄrthijを求める手法については後述する。閾値ＤＢ２４は、閾値算出部２３が算出した閾値ｄrthijを記憶する。閾値ｄrthijは、第２の設計制約値の一例である。
【００２４】
閾値算出部２３は、算出した閾値ｄrthijが閾値ＤＢ２４に存在しないときには、算出した閾値ｄrthijを追加して記憶し、既に存在しているときには、既存の閾値ｄrthijを、新たに算出した閾値ｄrthijで置き換える。
【００２５】
新規設計データ３１は、ＣＡＤ装置４０で形成され、この設計支援システム１に、ネットワークなどを介して供給される。新規設計データ３１は、図２および図３に例示したように、設計対象の半導体装置の回路要素の形状、サイズ、位置等を定義するデータである。設計検証装置３０は、外形距離に関し、設計基準ＤＢ２１から基準距離ｄthijを読み出し、閾値ＤＢ２４から閾値ｄrthijを読み出す。
【００２６】
設計検証装置３０は、新規設計データ３１に含まれる隣接する回路要素Ｃｉ，Ｃｊの全ての組み合わせについて外形距離ｄijと基準距離ｄthijを求める。設計検証装置３０は、求めた外形距離ｄijと基準距離ｄthijとを比較し、外形距離ｄij≧基準距離ｄthijであれば、第１の設計制約を満たすので、その設計事項を合格と判別する。
【００２７】
一方、設計検証装置３０は、外形距離ｄij＜基準距離ｄthijの場合、外形距離ｄijと閾値ｄrthijとを比較し、外形距離ｄij≧閾値ｄrthijであれば、第１の設計制約を満たさないが、第２の設計制約を満たすので、その設計事項を合格と判別する。
【００２８】
一方、設計検証装置３０は、外形距離ｄij＜閾値ｄrthij≦基準距離ｄthijの場合、外形距離ｄijが小さすぎ、第１の設計制約も第２の設計制約も満たさないので、不合格と判別する。
【００２９】
設計検証装置３０は、検証の結果を検証結果出力ファイル３２に書き込む。設計検証装置３０は、隣接する回路要素Ｃｉ，Ｃｊの全ての組み合わせについて検証を完了すると、検証結果出力ファイル３２を出力する。
【００３０】
次に、図４および図５を参照して、第２の設計制約、より正確には、閾値ｄrthijを求める手順を説明する。閾値算出部２３は、設計変数である外形距離ｄijの度数分布を、統計的処理を用いて解析することにより、第２の設計制約を示す値である閾値ｄrthijを設定する。
閾値算出部２３は、まず、過去設計ＤＢ２２に格納されている設計データが示すｎ個の回路要素Ｃ１〜Ｃｎのうち、隣接すると判断できる２つの回路要素Ｃｉ，Ｃｊの組み合わせを全て求める。閾値算出部２３は、図２の例であれば、例えば、回路要素群｛（Ｃ１，Ｃ２），（Ｃ３，Ｃ４），・・・，（Ｃｉ，Ｃｊ），・・・（Ｃn-1，Ｃｎ）｝を求める。
【００３１】
次に、閾値算出部２３は、回路要素群｛（Ｃ１，Ｃ２），（Ｃ３，Ｃ４），・・・，（Ｃｉ，Ｃｊ），・・・（Ｃn-1，Ｃｎ）｝に含まれる回路要素Ｃｉ，Ｃｊの組み合わせそれぞれについて外形距離ｄijを抽出する。抽出した外形距離ｄijは、例えば、図４に例示するように分布する。
【００３２】
また、閾値算出部２３は、設計基準ＤＢ２１から、ｉとｊの各組み合わせについて、基準距離ｄthijを読み出す。
【００３３】
次に、閾値算出部２３は、抽出した外形距離ｄijのうち基準距離ｄthij未満のものだけを抽出する。抽出された外形距離ｄijは、第１の設計制約は満たさないが、半導体装置全体としては正常とされ、製品化までされた値である。従って、外形距離ｄijをこれらの値としても大きな問題は発生しない可能性が高い値である。
【００３４】
閾値算出部２３は、次に、図５に例示するように、抽出した外形距離ｄijについて、［基準距離ｄthij−外形距離ｄij］を横軸とし、離散的存在確率ρｄを縦軸としてグラフを作成する。閾値算出部２３は、さらに、離散的存在確率ρｄの累積値を示す累積存在確率σを求める。
【００３５】
図５は、［基準距離ｄthij−外形距離ｄij］を複数の区間に区切って、複数の区間それぞれにおいて［基準距離ｄthij−外形距離ｄij］が存在する確率を示す離散的存在確率ρｄと、累積存在確率σとを例示する。なお、図５においては、離散的存在確率ρｄの分布を把握しやすくするため、離散的存在確率ρdを［基準距離ｄthij−外形距離ｄij］の区間ごとにグラフの形式で示す。また、図５は、図４とは必ずしも対応していない。
【００３６】
実際の存在確率ρｄは、連続的なので、累積存在確率σを、実際の存在確率ρｄの分布に合わせて連続的な点線で示す。換言すると、閾値算出部２３は、過去設計データに含まれている外形距離ｄijを統計処理し、図５に示すように、［基準距離ｄthij−外形距離ｄij］の複数の区間それぞれにおける離散的存在確率ρｄと、その累積存在確率σとを算出する。
【００３７】
閾値算出部２３は、累積存在確率σが、設計支援システム１の予め決められた設定値Ｐcdr、例えば９９％に達した部分に対応する外形距離ｄijを求める。設定値Ｐcdrは、例えば、ＵＩ装置１０を用いて製造者またはオペレータにより適宜指定される。閾値算出部２３は、求めた外形距離ｄijを閾値ｄrthijとして設定する。なお、図５においては、［基準距離ｄthij−外形距離ｄij］の第１０の区間までの累積存在確率σが、予め決められた設定値Ｐcdr、例えば９９％を越えない範囲で最大の区間である。このため閾値算出部２３は、第１０の区間においてこの点に対応する外形距離ｄijを、設計閾値ｄrthijとして設定する。
【００３８】
閾値算出部２３は、求めた閾値ｄrthijが閾値ＤＢ２４に記憶されている従前の設計閾値ｄrthijより小さいときには、求めた閾値ｄrthijを新たな設計閾値ｄrthijとして閾値ＤＢ２４に記憶し、閾値ファイルを更新する。あるいは、閾値算出部２３は、回路要素Ｃｉ，Ｃｊの組み合わせの設計閾値ｄrthijが閾値ＤＢ２４に記憶されていないときには、求めた設計閾値ｄrthijを、回路要素Ｃｉ，Ｃｊの組み合わせの閾値ｄrthijとして新たに記憶し、閾値ファイルを更新する。
【００３９】
このようにして、閾値算出部２３は、商品化までされた複数の検証済みの設計データから、設計制約を定める変数ｄijを抽出する変数抽出手段、抽出した変数ｄijの存在確率ρｄを求める存在確率取得手段、求めた存在確率ρｄの累積存在確率σを求める累積存在確率取得手段、累積存在確率σが予め設定された基準値Ｐcdrに一致するときの変数ｄijの値を特定し、この値を設計制約値に設定する設定手段、として機能する。また、外形基準距離ｄthij及び設計閾値ｄrthijは、設計制約値の一例である。
【００４０】
次に、設計支援システム１の動作を説明する。
ユーザは、ＵＩ１０を操作し、過去設計ＤＢ２２に、検証され製品化にまで至った過去の設計データを順次蓄積する。
【００４１】
ユーザは、検証対象の新規設計データ３１を取り込む。また、ユーザは、検証対象の新規設計データ３１の設計制約を設計基準ＤＢ２１に取り込む。
また、ユーザは、例えば、ＵＩ装置１０を用いて、設定値Ｐcdrと新規設計データ３１に含まれる回路要素の数ｎを指定する。
【００４２】
次に、ユーザは、ＵＩ装置１０を用いて、新規設計データ３１の検証を指示する。
この指示に応答して、設計支援システム１は、図６に示す閾値計算処理を実行し、続いて、図７に示す検証処理を実行する。
【００４３】
以下、閾値計算処理と検証処理を、図６及び図７を参照して説明する。
まず、閾値算出部２３は、図６に示す閾値計算処理を開始すると、変数ｉとｊを１に設定する（ステップＳ１１，１２）。
【００４４】
次に、閾値算出部２３は、過去設計ＤＢ２２から過去に設計された回路の回路要素ＣｉとＣｊの間の外形距離ｄijを読み出す（ステップＳ１３）。また、閾値算出部２３は、設計基準ＤＢ２１から、回路要素ＣｉとＣｊの間の外形距離の基準距離ｄthijを読み出す（ステップＳ１４）。
【００４５】
次に、読み出した外形距離ｄijのうち基準距離ｄthijをより小さいものを抽出する（ステップＳ１５）。
閾値算出部２３は、抽出した外形距離ｄijについて［基準距離ｄthij−外形距離ｄij］を計算する（ステップＳ１６）。
【００４６】
次に、閾値算出部２３は、計算した［基準距離ｄthij−外形距離ｄij］が取り得る値の範囲を複数の区間に区切る。次に、閾値算出部２３は、区間それぞれに［基準距離ｄthij−外形距離ｄij］が存在する数をカウントし、図５に示すように、その全体に対する確率を示す離散的存在確率ρｄを求める（ステップＳ１７）。
【００４７】
閾値算出部２３は、離散的存在確率ρｄを累積して、累積存在確率σと求める（ステップＳ１８）。
【００４８】
閾値算出部２３は、累積存在確率σが設定値Ｐｃｄｒに一致するときの［基準距離ｄthij−外形距離ｄij］を求める（ステップＳ１９）。次に、閾値算出部２３は、求めた［基準距離ｄthij−外形距離ｄij］と基準距離ｄthijから外形距離ｄijを求め、求めた外形距離ｄijを閾値ｄrthijとし、これを閾値ＤＢ２４に登録する（ステップＳ１９）。
【００４９】
次に、閾値算出部２３は、変数ｊがｎに達した可否かを判別し（ステップＳ２０）、達していなければ、ｊ＝ｊ＋１として（ステップＳ２１）、ステップＳ１３に進み、処理を継続する。なお、回路要素ＣｉとＣｊの外形距離ｄijと回路要素ＣjとＣiの外形距離は等しい。即ち、ｄｉｊ＝ｄｊｉである。従って、ｊを更新する際には、処理済みのｄijに関して再度処理を行わないように、変数ｊを更新する。
【００５０】
ステップＳ２０で、ｊ＝ｎと判別された場合（ステップＳ２０：Ｙｅｓ）、閾値算出部２３は、変数ｉがｎに達した可否かを判別し（ステップＳ２２）、達していなければ（ステップＳ２２：Ｎｏ）、ｉ＝ｉ＋１として（ステップＳ２１）、ステップＳ１２に進み、処理を継続する。前述したように、ｄij＝ｄjiである。従って、ｉを更新する際には、処理済みのｄijに関して再度処理を行わないように、または変数ｊと等しくならないように変数ｉを更新する。
【００５１】
このようにして、外形距離ｄ12，ｄ13，．．．ｄ1n，ｄ23，ｄ24．．．ｄ2n，ｄ34，ｄ35，．．．ｄn-1,nを処理したところで、ステップS２２で、ｊ＝ｎ−１と判別され、処理は図７の検証処理に進む。
【００５２】
検証処理を開始すると、設計検証装置３０は、まず、変数ｉとｊを１に設定する（ステップＳ３１，３２）。
【００５３】
次に、閾値算出部２３は、外形距離ｄijについて、設計基準ＤＢ２１に登録されている第１の設計制約を満たすか否か、即ち、外形距離ｄij≧基準距離ｄthijであるか否かを判別する（ステップＳ３３）。第１の設計制約を満たす、即ち、外形距離ｄij≧基準距離ｄthijであると判別した場合（ステップＳ３３：Ｙｅｓ）、設計検証装置３０は、その設計項目については、合格と判別し、検証結果を検証結果出力ファイル３２に登録する（ステップＳ３４）。
【００５４】
一方、第１の設計制約を満たさない、即ち、外形距離ｄij＜基準距離ｄthijであると判別した場合（ステップＳ３３：Ｙｅｓ）、外形距離ｄijがついて、閾値ＤＢ２４に登録されている第２の設計制約を満たすか否か、即ち、外形距離ｄij≧閾値ｄrthijであるか否を判別する（ステップＳ３５）。第２の制約を満たす、即ち、外形距離ｄij≧閾値ｄrthijであると判別した場合（ステップＳ３６：Ｙｅｓ）、設計検証装置３０は、その設計項目については、合格と判別し、検証結果を検証結果出力ファイル３２に登録する（ステップＳ３４）。
【００５５】
また、第２の設計制約を満たさない、即ち、外形距離ｄij＜閾値ｄrthijであると判別した場合（ステップＳ３６：Ｎｏ）、設計検証装置３０は、その設計項目については、不合格と判別し、検証結果を検証結果出力ファイル３２に登録する（ステップＳ３７）。
【００５６】
ステップＳ３７で、ｊ＝ｎと判別された場合（ステップＳ３７：Ｙｅｓ）、設計検証装置３０は、変数ｊがｎに達した可否かを判別し（ステップＳ３８）、達していなければ、ｊ＝ｊ＋１として（ステップＳ３８）、ステップＳ３３に進み、処理を継続する。前述したように、ｄij＝ｄjiである。従って、ｊを更新する際には、処理済みのｄijを再度処理しないように、また、ｉとｊが一致しないように、変数ｊを更新する。
【００５７】
ステップＳ３８で、ｊ＝ｎと判別された場合（ステップＳ３８：Ｙｅｓ）、設計検証装置３０は、変数ｉがｎに達した可否かを判別し（ステップＳ３８）、達していなければ、ｉ＝ｉ＋１として（ステップＳ３９）、ステップＳ３２に進み、処理を継続する。前述したように、ｄij＝ｄjiである。従って、ｉを更新する際には、処理済みのｄijに関して再度処理を行わないように、変数ｉを更新する。
【００５８】
このようにして、外形距離ｄ12，ｄ13，．．．ｄ1n，ｄ23，ｄ24．．．ｄ2n，ｄ34，ｄ35，．．．ｄn-1,nについて順に検証が進められる。
最終的に、設計検証装置３０は、検証結果出力ファイル３２を出力し（ステップＳ４０）、処理を終了する。
【００５９】
以上説明したように、本実施の形態にかかる閾値算出装置２０は、検証済みの設計データから設計変数として外形距離ｄijを抽出し、抽出した外形距離ｄijの度数分布を、統計的処理を用いて解析することにより、第２の設計制約を示す値である閾値ｄrthijを設定する。これにより、設計対象物の最終性能が目標を満足すると予想される範囲で、経済的で合理的な第２の設計制約、即ち、閾値を自動的に求めることができる。これにより、属人性の少ない適切な緩和された設計制約である第２の設計制約を容易に得ることができる。そのため、設計製造物の電気性能等の性能が目標値を過剰に上回ることのない、経済的で合理的な設計制約を容易に生成することができる。
【００６０】
また、上記実施の形態においては、合否判定を実施済みの設計データから閾値を求めている。このため、設計制約のチェック時に、設計者が与える合否判定とは異なるエラーに相当する疑似エラーの発生を防止できる。より具体的に説明すると、このような擬似エラーは、外形距離ｄijが設計制約値ｄthijと設計閾値ｄrthijとの間にあるときに発生しやすく、また、設計制約値ｄthijと設計閾値ｄrthijとの差が大きいときに発生しやすい。設計支援システム１においては、外形距離ｄijの全てそれぞれが、この外形距離ｄijに対応する設計閾値ｄrthijと比較されるので、設計図面の目視チェックにおいて発生するような擬似チェックエラーは生じない。
【００６１】
従って、設計支援システム１によれば、装置を構成する部品としての回路要素などを適切に配置することができる。さらに、この結果として、半導体チップＣＨのサイズなど、装置の大きさを小さくすることができ、装置を経済的に製造することができる。
【００６２】
上記実施の形態においては、「外形距離ｄが基準距離ｄth以上である」という設計制約を例にこの開示を説明した。この開示はこれに限定されない。例えば、「外形距離ｄが基準距離ｄth以下である」という設計制約についても同様に適用可能である。
【００６３】
この場合は、図８、図９に例示するように、基準距離ｄthijより大きい外形距離ｄijについて、［外形距離ｄij−基準距離ｄthij］と、その離散的存在確率ρｄ、累積存在確率σが求められる。そして、累積存在確率σが基準値Ｐcdrに一致するときの外形距離ｄijが閾値ｄrthijとして設定される。
【００６４】
これにより、図８に示すように、外形距離ｄij≦基準距離ｄthijのときは、設計事項が第１の設計制約を充足して合格となり、基準距離ｄthij＜外形距離ｄij≦閾値ｄrthijのときは、設計事項が第１の設計制約を充足しないが、第２の設計制約を充足するので合格となり、閾値ｄrthij＜外形距離ｄijのときは、設計事項が第１の設計制約も第２の設計制約も充足しないので、不合格となる。
【００６５】
本実施の形態においては、「外形距離」を、設計制約を定める変数の例とした。他の任意の変数、例えば、要素間距離Ｄ、半径ｒ、等の設計制約についても同様に本実施の形態を適用可能である。また、半導体装置の回路要素を例にこの開示を説明したが、任意の電気・電子回路の回路要素、機械装置の機械要素についても同様に適用可能である。以下の実施の形態においても同様である。
【００６６】
本実施の形態においては、理解を容易にするため、第１の設計制約を満たさない変数の存在確率及び累積存在確率を求めるために、変数の値と設計基準値との差を求めて、差の離散的存在確率と累積存在確率を求めた。この開示はこの手法に限定されない。第１の設計制約を満たさないが、全体としては合格と判断された変数を抽出し、抽出した変数の存在確率と累積存在確率を求める手法は任意である。例えば、抽出した変数を、差を取らずに、そのまま処理してもよい。以下の実施の形態においても同様である。
【００６７】
［実施の形態２］
実施の形態１では、変数の値について、その値が基準値以上であること、或いは、基準閾値以下であること、という設計制約を例に開示を説明した。
この開示は、これに限定されない。例えば、設計制約が「複数の変数を有する式が成立すること」というような形態で与えられる場合がある。このような場合の処理について、実施の形態２として説明する。
本実施の形態に係る設計支援システムの構成は、図１に示した実施の形態１の設計支援システム１の構成と同一である。また、設計データは、図２，３に示した設計データと同一であるとして説明する。
【００６８】
ここでは、設計制約は、図３を参照して示した「ｄij＝Ｄij−（ｒi＋ｒｊ）が成立すること」であるとする。また、各変数には、基準値以上であること、という個別の設計制約が施定されているものとする。
【００６９】
この場合、閾値算出部２３は、設計制約を構成する式の変数として、回路要素距離Ｄij、半径ｒi、半径ｒｊ、外形距離ｄij、を特定する。
【００７０】
これらの変数は、例えば、図１０Ａ〜１０Ｄに例示するような分布を示す。
本実施の形態では、回路要素距離Ｄijは、図１０Ａに示すように、回路要素距離Ｄij≧基準値Ｄthijのとき第１の設計制約を満たすとして、合格と判別され、基準値Ｄthij＞回路要素距離Ｄij≧閾値Ｄrthijのとき第２の設計制約を満たすとして、合格と判別され、閾値Ｄthij＞回路要素距離Ｄijのとき不合格と判別される。
【００７１】
また、半径ｒiは、図１０Ｂに示すように、半径ｒi≧基準値ｒthiのとき第１の設計制約を満たすとして、合格と判別され、基準値ｒthi＞半径ｒi≧閾値rthiのとき第２の設計制約を満たすとして、合格と判別され、閾値rthi＞半径ｒiのとき不合格と判別される。
【００７２】
同様に、半径ｒjは、図１０Ｃに示すように、半径ｒｊ≧基準値ｒthｊのとき第１の設計制約を満たすとして、合格と判別され、基準値ｒthj＞半径ｒi≧閾値rthjのとき第２の設計制約を満たすとして、合格と判別され、閾値rthj＞半径ｒｊのとき不合格と判別される。
【００７３】
また、外形距離ｄijは、図１０Ｄに示すように、外形距離ｄij≧基準値ｄthijのとき第１の設計制約を満たすとして、合格と判別され、基準値ｄthij＞外形距離ｄij≧閾値ｄthijのとき第２の設計制約を満たすとして、合格と判別され、閾値Ｄrthij＞回路要素距離Ｄijのとき不合格と判別される。
【００７４】
閾値算出部２３は、回路要素距離Ｄijの閾値Ｄrthijを求める際には、ｉ）過去設計ＤＢ２２に格納されている設計データを処理して、（基準値Ｄthij＞回路要素距離Ｄij）である回路要素距離Ｄijを抽出し、ii）（基準値Ｄthij−回路要素距離Ｄij）の離散的存在確率ρＤを求め、iii）離散的存在確率ρＤを累算して累積存在確率σＤの曲線を求め、iii）予め決められた値ＰDcdrに等しい累積存在確率σＤを与えるときの回路要素距離Ｄijを、回路要素距離の閾値Ｄrthijとし、閾値ＤＢ２４に記憶する。
【００７５】
また、閾値算出部２３は、半径ｒiの閾値ｒriを求める際には、ｉ）過去設計ＤＢ２２に格納されている設計データを処理して、（基準値ｒthri＞半径ｒi）である半径ｒiを抽出し、ii）（基準値ｒti−半径ｒi）の離散的存在確率ρriを求め、iii）離散的存在確率ρriを累算して累積存在確率σriの曲線を求め、iii）予め決められた値Ｐricdrに等しい累積存在確率σriを与えるときの半径ｒiを、半径ｒiの閾値ｒriとし、閾値ＤＢ２４に記憶する。
【００７６】
同様に、閾値算出部２３は、半径ｒｊの閾値ｒrjを求める際には、ｉ）過去設計ＤＢ２２に格納されている設計データを処理して、（基準値ｒthrj＞半径ｒj）である半径ｒjを抽出し、ii）（基準値ｒtj−半径ｒj）の離散的存在確率ρrjを求め、iii）離散的存在確率ρrjを累算して累積存在確率σrjの曲線を求め、iii）予め決められた値Ｐrjcdrに等しい累積存在確率σrjを与えるときの半径ｒjを、半径ｒjの閾値ｒrjとし、閾値ＤＢ２４に記憶する。
【００７７】
また、閾値算出部２３が、外形距離ｄijの閾値drijを求める処理は実施の形態１と同様である。
【００７８】
ただし、存在確率ρＤ，ρri，ρrj，ρｄの全範囲に渡る積分値∫ρＤ，∫ρri，∫ρrj，∫ρｄの値は、１と等しくなるように算出される。つまり、∫ρD＝∫ρri＝∫ρrj＝∫ρd＝１である。
【００７９】
設計検証装置３０は、ｉ）回路要素距離Ｄij≧閾値Ｄrthijのときに、回路要素距離Ｄijが設計制約を充足すると判別し、ii）半径ｒｉ≧閾値ｒriのときに、半径ｒiが設計制約を充足すると判別し、iii）半径ｒｊ≧閾値ｒrjのときに、半径ｒｊが設計制約を充足すると判別し、iv）外形距離ｄij≧閾値ｄrthijのときに、外形距離ｄijが設計制約を充足すると判別する。
【００８０】
［実施の形態３］
以下、本開示の実施の形態３について、この実施の形態にかかる設計支援システム１における処理を示す図１１を参照しながら説明する。実施の形態３の設計支援システムの構成は、実施の形態１の設計支援システム１の構成と同一である。また、本実施の形態においても、第1の設計制約は、外形距離ｄij≧基準値ｄthijであるとして説明する。
【００８１】
図１１Ａは、過去の設計データに含まれる回路要素Ｃｉ，Ｃｊの［基準値ｄthij−外形距離ｄij］の存在確率ρｄが複数の極値、例えば、２つの極大値Lａ，Lｂを含む場合を例示する。図１１Ｂ，図１１Ｃは、図１１Ａに示された存在確率ρｄを示す曲線のうち、それぞれ極大値Lａ，Lｂの一方を含む部分ρｄａとρｄｂとを分離して示す。図１１Ｄ，図１１Ｅは、図１１Ｂ，１１Ｃに示された存在確率ρｄａとρｄｂとからそれぞれ得られる閾値ｄarthij，ｄbrthijを示す。
【００８２】
図１１Ａに示すように、過去の設計データに含まれる回路要素Ｃｉ，Ｃｊの［ｄthij−ｄij］の存在確率ρｄに複数、例えば２つの極大値Ｌａ，Ｌｂが生じることがある。このような複数の極大値は、例えば、回路要素Ｃｉ，Ｃｊが、それぞれ固有の属性を有する複数の形式の半導体装置用パッケージに収容される半導体装置に共通に使われる場合に発生する。このような複数の属性を有する形状の半導体装置用パッケージには、ＳＯＰ（Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）またはＢＧＡ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙ）などがある。
【００８３】
パッケージの属性ごとの極大値は、閾値算出部２３が、過去設計ＤＢ２２に記憶された設計データにおける回路要素Ｃｉ，Ｃｊの［ｄthij−ｄij］の存在確率ρｄの分布を統計的に解析することにより得られる。閾値算出部２３は、このような存在確率ρｄの分布の統計的な解析により、図１１Ａに示す極大値Ｌａ，Ｌｂそれぞれが示す半導体装置用パッケージなどの属性を求めることができる。
【００８４】
この場合、閾値算出部２３は、過去設計ＤＢ２２に記憶された設計データが示す回路要素Ｃｉ，Ｃｊの［ｄthij−ｄij］の存在確率ρｄに、複数の極大値が存在するか否かを判断する。閾値算出部２３は、図１１Ａに示すように存在確率ρｄに２つの極大値Ｌａ，Ｌｂが存在するときには存在確率ρｄの曲線を、図１１Ｂに示す極大値Ｌａを含む部分曲線ρdaと、図１１Ｃに示す極大値Ｌｂを含む部分曲線ρdbとに分割する。
【００８５】
続いて、閾値算出部２３は、極大値Lａを含む部分曲線ρdaのみにおいて、予め決められた値Ｐcdrに等しい累積存在確率σを与える外形距離ｄijを閾値ｄarthijとして設定する。また、閾値算出部２３は、極大値Ｌｂを含む部分曲線ρｄbのみにおいて、予め決められた値Ｐcdrに等しい累積存在確率σを与える外形距離ｄijを閾値ｄbrthijとして設定する。
【００８６】
なお、閾値算出部２３は、存在確率ρｄに３つ以上の極大値が存在するときには、極大値を含む部分曲線それぞれに同様の処理を行い、閾値ｄarthij，ｄbrthij，ｄcrthij・・・を得る。閾値算出部２３は、以上の処理により得られた複数の閾値ｄarthij，ｄbrthij，ｄcrthij・・・を、検証結果出力ファイル３２に出力する。なお、予め決められた値Ｐcdrには、累積存在確率σの複数の部分曲線に共通でも、部分曲線毎に異なる値でもよい。
【００８７】
実施の形態３にかかる設計支援システム１によれば、回路要素Ｃｉ，Ｃｊの間の外形距離ｄｉｊが適切であるか否かを、半導体装置のパッケージなどの属性ごとに検証することができ、その検証結果出力ファイル３２が示す検証結果の精度を向上させることができる。
【００８８】
［実施の形態４］
以下、本開示の実施の形態４について、この実施の形態にかかる設計支援システム１における処理を示す図１２を参照しながら説明する。
【００８９】
図１２は、新規設計データ３１の内容を例示する図である。新規設計データ３１には、設計支援システム１における処理の対象となる半導体装置の半導体チップＣＨと、半導体チップＣＨに配置される２種類の回路要素Ｃａ１〜ＣａＫ，Ｃｂ１〜ＣｂＬの２次元画像とを示すデータが含まれる。なお、図１２において、Ｋ＝５，Ｌ＝３であり、ｋは１以上Ｋ以下の任意の数であり、ｌは１以上Ｌ以下の任意の数である。
【００９０】
半導体装置は、回路要素のサイズおよび密度などが異なるため、閉図形で示されうる複数の領域ＡＡ，ＡＢに分割されて設計されることがある。例えば、図１２に示す半導体装置において、領域ＡＡには、例えばディジタル回路が配置され、領域ＡＢには、例えばアナログ回路が配置される。
【００９１】
設計検証装置３０は、領域ＡＡにおける回路要素Ｃａ１〜ＣａＫの面積占有率ＤＡを、下式（２）により算出する。ただし、下式（２）において、Ｓａは、回路要素Ｃａ１〜ＣａＫの面積の総和であり、ＳＡは、Ｓａを含む領域ＡＡ全体の面積である。
【００９２】
ＤＡ  ＝  Ｓａ／ＳＡ  ＝  ΣＳａｋ／ＳＡ      （２）
【００９３】
設計検証装置３０は、領域ＡＢにおける回路要素Ｃｂ１〜ＣｂＬの面積占有率ＤＢを、下式（３）により算出する。ただし、下式（３）において、Ｓｂは、回路要素Ｃｂ１〜ＣｂＬの面積の総和であり、ＳＢは、Ｓｂを含む領域ＡＢ全体の面積である。
【００９４】
ＤＢ  ＝  Ｓｂ／ＳＢ  ＝  ΣＳｂｌ／ＳＢ      （３）
【００９５】
設計検証装置３０は、面積占有率ＤＡ，ＤＢの値を比較し、ＤＡ＜ＤＢのときには、閾値ＤＢ２４に記憶された領域ＡＡ用の設計閾値ｄAthijの値が、領域ＡＢ用の設計閾値ｄBrthijの値をよりも小さくなるように調整する。設計検証装置３０は、設計制約値調整手段の一例である。
【００９６】
より一般化すると、例えば、半導体チップＣＨにｍ個の領域１〜ｍが設けられたとき、設計検証装置３０は、これらｍ個の領域Ａ１〜Ａｍの面積占有率Ｄ１〜Ｄｍを算出し、算出した面積占有率Ｄ１〜Ｄｍを、値が大きい順に、例えば、Ｄ１＜Ｄ２＜Ｄ３＜・・・＜Ｄｍのように配列したテーブルを作成する。なお、ここでｍは２以上の整数である。
【００９７】
このとき、設計検証装置３０は、閾値ＤＢ２４に記憶された領域Ａ１〜Ａｍ用の基準値ｄ1thij〜ｄmthijの値を、ｄ1thij＜ｄ2thij＜ｄ3thij＜・・・ｄmthijとなるように変更する。
設計検証装置３０は、このように変更された基準値ｄ1thij〜ｄmthijを、閾値ｄr1thij〜ｄrmthijとして用いて、領域Ａ１〜Ａｍそれぞれに含まれる回路要素Ｃｉ’，Ｃｊ’の間の外形距離ｄｉ’ｊ’が適切であるか否かを判断する。ただし、ｉ’，ｊ’は１以上で各領域に含まれる回路要素以下の互いに異なる任意の数である。
【００９８】
このように、半導体チップが複数の領域に分割されるときに、領域ごとに回路要素の面積占有率に応じて基準値ｄthijを変更して、閾値することにより、擬似エラーの発生を減らすことができる。
【００９９】
［実施の形態５］
以下、本開示の実施の形態５について、図１３を参照しながら詳細に説明する。
本実施の形態において、閾値ＤＢ２４は、ｐ個の属性１〜ｐそれぞれに対応付けられた閾値ファイル２６１〜２６ｐを含む。
【０１００】
半導体装置における属性は、上述したアナログ回路、ディジタル回路の他に、例えば、アナログ・ディジタル混在回路などがある。閾値ＤＢ２４に含まれる閾値ファイル２６１〜２６ｐそれぞれは、半導体装置の種類、または、半導体装置の領域ごとの閾値ｄr1thij〜ｄrpthijの値を含む。
【０１０１】
オペレータが、ＵＩ装置１０を介して、半導体装置の属性、または、半導体装置における複数の領域それぞれの属性を指定する操作を行うと、設計検証装置３０は、指定された属性に対応する閾値ファイル２６１〜２６ｐを読み出す。
【０１０２】
設計検証装置３０は、指定された属性に対応する閾値ファイル２６１〜２６ｐのいずれかを用いて、回路要素Ｃｉ，Ｃｊの間の外形距離ｄｉｊそれぞれが適切であるか否かを判断する。または、設計検証装置３０は、半導体装置の複数の領域それぞれに指定された属性に対応する閾値ファイル２６１〜２６ｐの２つ以上それぞれを用いて、複数の領域それぞれに含まれる回路要素Ｃｉ’，Ｃｊ’の間の外形距離ｄｉ’ｊ’が適切であるか否かを判断する。
【０１０３】
このように、半導体装置、または、半導体装置の複数の領域それぞれの属性に適した閾値ｄrthijを用いることにより、擬似チェックエラーの発生を減らすことができる。
【０１０４】
［実施の形態６］
次に、実施の形態６について説明する。上述した実施の形態１〜５では、設計支援システム１は、設計データから抽出された変数ｄijの存在確率ρｄに基づいて、設計制約を設定した。これに対して、実施の形態６では、設計支援システム１は、ＡＩ（Artificial Intelligence）による機械学習の手法を用いて、設計制約を設定する。以下、説明する。
【０１０５】
実施の形態６に係る設計支援システム１の構成は、図１に示した構成と同一である。
【０１０６】
過去設計ＤＢ２２は、検証済みの設計データを記憶する。具体的には図１４に示すように、過去設計ＤＢ２２は、検証済みの設計データとして、設計データＡ、設計データＢ、設計データＣ、…を含む複数の設計データを記憶する。設計データＡ、設計データＢ、設計データＣ、…のそれぞれは、例えば、機種Ａ、機種Ｂ、機種Ｃ、…の製品を設計するためのデータである。設計データＡ，Ｂ，Ｃ…は、一例として、電気・電子機器における実装基板を設計するためのデータが挙げられる。
【０１０７】
また、図１４に示すように、過去設計ＤＢ２２に記憶されている設計データＡ，Ｂ，Ｃ…のそれぞれには、過去の検証の結果により「合格」又は「不合格」のラベルが付されている。過去の検証は、例えば、設計データによって得られた製品の試作品に対する各種の性能評価試験により行われる。例えば、電気・電子機器に対する性能評価において合格と判定された実装基板ａの設計データに対しては「合格」のラベルが付され、不合格と判定された実装基板ｂの設計データに対しては「不合格」のラベルが付される。
【０１０８】
過去設計ＤＢ２２に記憶されている設計データＡ，Ｂ，Ｃ…のそれぞれは、図１５に示すように、設計制約を定める複数の変数を含んでいる。具体的に説明すると、設計データＡは、設計制約を定める変数ａ１，ａ２，ａ３…を含んでいる。更に、変数ａ１は、変数ａ１１，ａ１２，ａ１３…を含んでおり、変数ａ２は、変数ａ２１，ａ２２，ａ２３…を含んでおり、変数ａ３は、変数ａ３１，ａ３２，ａ３３…を含んでいる。変数ａ１に含まれる変数ａ１１，ａ１２，ａ１３…は、例えば、設計データに含まれる様々な要素の長さであり、変数ａ２に含まれる変数ａ２１，ａ２２，ａ２３…は、例えば、設計データに含まれる様々な要素間の間隔であり、変数ａ３に含まれる変数ａ３１，ａ３２，ａ３３…は、例えば、設計データに含まれる様々な要素間の厚みである。設計データＢ，Ｃ…も、設計データＡと同様に、設計制約を定める複数の変数を含んでいる。
【０１０９】
より詳細には、設計データＡ，Ｂ，Ｃ…が電気・電子機器における実装基板である場合、変数の例として、ＢＧＡ、ＳＯＰ…等の各ＩＣ（Integrated Circuit）パッケージに対するバイパスコンデンサまでの距離が挙げられる。このように、過去設計ＤＢ２２に記憶されている設計データＡ，Ｂ，Ｃ…は、設計制約を定める変数として、長さ、間隔、厚み、距離等のような複数の種別の変数を含んでいる。
【０１１０】
次に、図１６に示すフローチャートを参照して、実施の形態６にかかる閾値算出装置２０により実行される閾値算出処理について説明する。
【０１１１】
閾値算出部２３は、過去設計ＤＢ２２に記憶されている検証済みの設計データＡ，Ｂ，Ｃ…から、設計制約を定める変数を抽出する（ステップＳ５１）。上述したように、設計データＡ，Ｂ，Ｃ…は、長さ、間隔等の複数の種別の変数ａ１，ａ２，ａ３…を含んでいる。閾値算出部２３は、設計データＡ，Ｂ，Ｃ…に含まれるこのような複数の種別の変数ａ１，ａ２，ａ３…を抽出する。閾値算出部２３は、変数抽出手段の一例である。
【０１１２】
設計データＡ，Ｂ，Ｃ…から変数を抽出すると、閾値算出部２３は、抽出された変数を、クラスタリング技法を用いて、複数のグループに分類する（ステップＳ５２）。設計データＡ，Ｂ，Ｃ…から抽出された変数の分類後、各分類は、複数の種別を含んでいるため、全ての変数が満たすべき設計制約が同じであるとは限らず、一般的には異なる設計制約を満たす必要がある。閾値算出部２３は、設計データＡ，Ｂ，Ｃ…に含まれる各変数に対応する設計制約を設定するために、前処理として、各変数を対応する設計制約毎に分類する。
【０１１３】
ここで、各変数がどの設計制約を満たすべきであるかが判明していない場合、ユーザが手作業で各変数を分類することは一般的には難しく、また作業の手間を要する。そのため、閾値算出部２３は、教師なしの機械学習の一種であるクラスタリング技法を用いて、各変数を複数のグループに分類する。閾値算出部２３は、分類手段の一例である。
【０１１４】
閾値算出部２３は、クラスタリング技法として、ｋ平均法（ｋ−ｍｅａｎｓ法）を用いる。具体的に説明すると、閾値算出部２３は、下記の（１）〜（４）の処理を実行することにより、各変数をｋ個のグループに分類する。
（１）各変数を適当にｋ個のグループに分類する。ｋの値は予めユーザにより設定される。例えば、ｋの初期値として従来の設計制約の対象となる数を入力する。つまり、ｋの初期値として、すべての設計制約が使用する変数の数の総和を入力する。
（２）各グループの重心を計算する。重心を計算するためのパラメータは、変数の大きさ、位置座標等の情報を用いることができる。
（３）各グループの重心と各変数との距離を計算し、各変数を最も距離が近い重心に対応するグループに分類し直す。
（４）各グループの重心の変化が予め定められた値以下になるまで（２）（３）の処理を繰り返す。
【０１１５】
なお、閾値算出部２３による分類の結果として、同じ種別の変数が、２以上の別のグループに分類されることがあっても良い。言い換えると、複数の設計制約が同じ種別の変数を使うことがあるため、分類後の変数の種別は、複数のグループ間で全て異なることに限らず、複数のグループ間で重複していても良い。例えば、長さに対応する変数が、異なる複数のグループのそれぞれに分類されても良いし、間隔に対応する変数が、異なる複数のグループのそれぞれに分類されても良い。また、１つのグループに複数の種別の変数が含まれてることがあっても良い。例えば、長さに対応する変数と間隔に対応する変数が同じグループに分類されても良い。
【０１１６】
変数を複数のグループに分類すると、閾値算出部２３は、グループ毎に変数の度数分布を生成する（ステップＳ５３）。具体的に説明すると、閾値算出部２３は、図１７に示すような度数テーブルを生成する。図１７は、一例として、設計データＡ，Ｂ，Ｃ…から抽出された変数が、変数ａ１のグループと、変数ａ２のグループと、…に分類された場合を示している。
【０１１７】
閾値算出部２３は、各グループに含まれる変数の度数分布を生成する。具体的に説明すると、閾値算出部２３は、変数ａ１のグループに含まれる複数の変数のうち、１ｍｍをとるものは１回、２ｍｍをとるものは２回、…というように、各値をとる変数の度数を集計する。また、閾値算出部２３は、変数ａ２のグループなどの他のグループについても同様に、各値をとる変数の度数を集計する。このように、閾値算出部２３は、複数のグループのそれぞれに含まれる変数の度数を集計することにより、図１７に示すような度数テーブルを生成する。
【０１１８】
閾値算出部２３は、このような度数分布テーブルを、「合格」のラベルが付された設計データから抽出された変数と、「不合格」のラベルが付された設計データから抽出された変数と、のそれぞれについて生成する。これにより、閾値算出部２３は、複数のグループのそれぞれについて、「合格」と判定された度数分布と「不合格」と判定された度数分布とを生成する。
【０１１９】
図１６に示す閾値算出処理に戻って、閾値算出部２３は、度数分布を生成すると、生成された度数分布に基づいて、グループ毎に設計制約を示す値である閾値を算出する（ステップＳ５４）。具体的に説明すると、閾値算出部２３は、複数のグループのそれぞれについて、生成された度数分布を教師なしの機械学習を用いて解析する。これにより、閾値算出部２３は、各グループにおける変数が満たすべき設計制約を設定する。実装基板の例では、閾値算出部２３は、「合格」と判定された設計データから抽出された変数のデータ群と「不合格」と判定された設計データから抽出された変数のデータ群とに基づいて、実装基板に搭載されるＩＣのパッケージ毎にコンデンサまでの距離に対する設計制約を算出する。
【０１２０】
一例として、図１９に、ある１つのグループにおける「合格」の度数分布と「不合格」の度数分布とを示す。閾値算出部２３は、教師なしの学習により、「合格」の度数分布と「不合格」の度数分布との間を区切る境界を探索する。
【０１２１】
具体的に説明すると、閾値算出部２３は、予め設定された閾値の初期値を境界として、「合格」の度数分布のうちの合格側及び不合格側に存在する変数の割合と、「不合格」の度数分布のうちの合格側及び不合格側に存在する変数の割合と、を算出する。そして、閾値算出部２３は、「合格」の度数分布のうちの合格側に存在する変数の割合と、「不合格」の度数分布のうちの不合格側に存在する変数の割合と、がどちらも適度に大きくなるように、閾値を初期値から更新する。
【０１２２】
ここで、教師なしの機械学習による閾値の算出方法の一例について説明する。閾値算出部２３は、仮の閾値ｄを設定し、閾値ｄにより決まる合格の面積Ｓｐ（ｄ）及び不合格の面積Ｓｆ（ｄ）を計算する。そして、閾値算出部２３は、合格の面積Ｓｐ（ｄ）をパラメータのサンプル数で平均した平均合格面積Ｓｐａｖｅ（ｄ）を下記（１）式により計算し、不合格の面積Ｓｆ（ｄ）をパラメータのサンプル数で平均した平均不合格面積Ｓｆａｖｅ（ｄ）を下記（２）式により計算する。（１）、（２）式において、ｎ，ｍはパラメータのサンプル数を表す。
【０１２３】
【数１】
2021045018.tif 000003
【０１２４】
【数２】
2021045018.tif 000004
【０１２５】
平均合格面積Ｓｐａｖｅ（ｄ）と平均不合格面積Ｓｆａｖｅ（ｄ）とを計算すると、閾値算出部２３は、これらにより表される評価関数Ｊ（Ｓｐａｖｅ（ｄ），Ｓｆａｖｅ（ｄ））を計算する。閾値算出部２３は、閾値ｄの値を様々に変化させて評価関数Ｊ（Ｓｐａｖｅ（ｄ），Ｓｆａｖｅ（ｄ））を計算し、評価関数Ｊ（Ｓｐａｖｅ（ｄ），Ｓｆａｖｅ（ｄ））が最大となる閾値ｄを探索する。探索の結果、閾値算出部２３は、評価関数Ｊ（Ｓｐａｖｅ（ｄ），Ｓｆａｖｅ（ｄ））が最大となる閾値ｄを、最終的な閾値として設定する。
【０１２６】
このように機械学習により算出される閾値の精度は、過去設計ＤＢ２２に記憶されている設計データＡ，Ｂ，Ｃ…の数が多いほど、すなわち変数の数が多いほど、高くなる。また、初期値としてユーザが従来から認識している既存の閾値を用いることで、算出される閾値の精度を高めることができる。閾値算出部２３は、設定手段の一例である。
【０１２７】
なお、機械学習により得られた設計制約値である閾値と既存の設計制約値である閾値との差が予め定められた想定値よりも大きい場合、閾値算出部２３は、ＵＩ装置１０を介して警告を出力する。言い換えると、機械学習により得られた設計制約が既存の設計制約に対して想定する範囲を逸脱している場合、閾値算出部２３は、ユーザに警告を報知する。
【０１２８】
ただし、警告が出力された場合であっても、ユーザは、機械学習により得られた設計制約を利用することができる。なぜなら、想定範囲外の設計制約であっても、機械学習により得られた以上は目標性能を得られる可能性があるからである。例えば、閾値算出部２３は、警告が出力された設計制約値を利用するか否かの指示を、ＵＩ装置１０を介してユーザから受け付ける。警告が出力された設計制約値を利用する指示を受け付けた場合、設計検証装置３０は、その設計制約値を用いて新規設計データ３１を検証する。
【０１２９】
図１６に示す閾値算出処理に戻って、閾値算出部２３は、グループ毎に閾値を算出すると、算出した閾値を閾値ＤＢ２４に格納する（ステップＳ５５）。具体的に説明すると、閾値算出部２３は、図１８に示す設計制約テーブルを生成し、閾値ＤＢ２４に格納する。設計制約テーブルは、複数のグループのそれぞれについて算出された設計制約を、グループ毎に識別可能に格納したテーブルである。図１８の例では、設計制約テーブルは、変数ａ１のグループにおける設計制約として、変数ａ１が４ｍｍ以下であることを定めており、変数ａ２のグループにおける設計制約として、変数ａ２が４ｍｍ以上であることを定めている。
【０１３０】
このように設計制約テーブルを生成することにより、閾値算出部２３は、複数のグループのそれぞれにおける設計制約を設定する。閾値ＤＢ２４は、複数の設計制約を記憶する設計制約記憶部の一例である。
【０１３１】
以上説明したように、実施の形態６に係る設計支援システム１は、検証済みの設計データから設計制約を定める変数を抽出し、抽出した変数をクラスタリング技法を用いて複数のグループに分類する。そして、実施の形態６に係る設計支援システム１は、複数のグループのそれぞれにおける変数の度数分布を機械学習を用いて解析することにより、グループ毎に設計制約を示す値である閾値を設定する。このように、機械学習を用いて設計制約を設定するため、数式モデル化による手続き的処理が不要である。そのため、たとえ変数の度数分布が想定外の形状をしており数式モデル化が困難であっても、設計製造物の性能が目標値を過剰に上回ることのない、経済的で合理的な設計制約を容易に設定することが可能になる。
【０１３２】
また、実施の形態６では、閾値算出部２３は、設計データＡ，Ｂ，Ｃ…から抽出された全ての変数を、クラスタリング技法を用いて複数のグループに分類した。しかしながら、閾値算出部２３は、分類処理の前に、設計データＡ，Ｂ，Ｃ…から抽出された変数のうちから分類対象となる変数を一部に絞っても良い。例えば、閾値算出部２３は、設計データＡ，Ｂ，Ｃ…に含まれる変数のうちから、設計制約を定めるための変数の選択を、ＵＩ装置１０を介してユーザから受け付ける。そして、閾値算出部２３は、受け付けた変数を、クラスタリング技法を用いて複数のグループに分類しても良い。
【０１３３】
また、実施の形態６では、閾値算出部２３は、「合格」の度数分布と「不合格」の度数分布とに基づいて、設計制約として閾値を設定した。しかしながら、閾値算出部２３は、「合格」のラベルが付された設計データのみから抽出された変数の度数分布を生成し、「合格」の度数分布のみに基づいて設計制約を設定しても良い。具体的に説明すると、閾値算出部２３は、「合格」の度数分布を教師なしの機械学習により解析することにより、変数が満たすべき設計制約を示す値である閾値を算出する。「合格」の度数分布のみに基づいて設計制約を設定しても、「合格」及び「不合格」の度数分布に基づく場合に比べて精度は低下するものの、同質の効果を得ることができる。
【０１３４】
［実施の形態７］
次に、実施の形態７について説明する。上述した実施の形態６では、閾値算出部２３は、設計データＡ，Ｂ，Ｃ…から抽出された変数を、クラスタリング技法を用いて複数のグループに分類した。これに対して、実施の形態７では、設計データＡ，Ｂ，Ｃ…に含まれる変数が、複数の設計制約のうちのどの設計制約の対象となるかの情報が予め与えられている。
【０１３５】
実施の形態７に係る設計支援システム１の構成は、図１に示した構成と同一である。
【０１３６】
過去設計ＤＢ２２は、実施の形態６と同様に、それぞれに「合格」又は「不合格」のラベルが付された検証済みの設計データＡ，Ｂ，Ｃ…を記憶する。実施の形態７において、過去設計ＤＢ２２は、更に、図２０に示すような変数と設計制約との対応関係を予め記憶する。図２０に示す対応関係は、設計データＡ，Ｂ，Ｃ…に含まれる長さ、間隔、厚み、距離等の各変数が、複数の設計制約Ｐ，Ｑ，Ｒ…のうちのどの設計制約の対象となるかを定めている。
【０１３７】
実施の形態７にかかる閾値算出装置２０は、図１６に示した実施の形態６における閾値算出処理と同様の処理を実行する。ただし、各変数に対応する設計制約が予め定められているため、ステップＳ５２の分類処理が実施の形態６とは異なる。
【０１３８】
具体的に説明すると、閾値算出部２３は、過去設計ＤＢ２２に記憶されている検証済みの設計データＡ，Ｂ，Ｃ…から、設計制約を定める変数を抽出する（ステップＳ５１）。変数を抽出すると、閾値算出部２３は、抽出した変数を、対応する設計制約のグループに分類する（ステップＳ５２）。具体的に説明すると、閾値算出部２３は、過去設計ＤＢに記憶されている変数と設計制約との対応関係を参照して、抽出した変数を、その変数が対応する設計制約のグループに分類する。
【０１３９】
変数を分類すると、閾値算出部２３は、グループ毎に変数の度数分布を生成する（ステップＳ５３）。度数分布を生成すると、閾値算出部２３は、生成した度数分布に基づいて、グループ毎に設計制約を示す値である閾値を算出する（ステップＳ５４）。閾値を算出すると、閾値算出部２３は、算出した閾値を閾値ＤＢ２４に格納する（ステップＳ５５）。ステップＳ５３〜Ｓ５５の処理は実施の形態６と同様であるため、説明を省略する。
【０１４０】
以上説明したように、実施の形態７に係る設計支援システム１は、検証済みの設計データから設計制約を定める変数を抽出し、抽出した変数を、設計制約毎に予め用意された複数のグループに分類する。そして、実施の形態７に係る設計支援システム１は、複数のグループのそれぞれにおける変数の度数分布を、機械学習を用いて解析することにより、グループ毎に設計制約である閾値を設定する。変数と設計制約との対応関係が予め定められているため、実施の形態６の効果に加えて、クラスタリング技法により分類できない変数に対しても設計制約を設定することができるという効果が得られる。
【０１４１】
［実施の形態８］
次に、実施の形態８について説明する。実施の形態８にかかる設計支援システム１は、上記実施の形態６、７にかかる閾値算出装置２０により設定された設計制約を用いて、新規設計データの設計検証を行う。
【０１４２】
実施の形態８に係る設計支援システム１の構成は、図１に示した構成と同一である。閾値ＤＢ２４は、実施の形態６、７にかかる閾値算出装置２０により生成された設計制約テーブルを記憶している。
【０１４３】
図２１に示すフローチャートを参照して、実施の形態８にかかる設計検証装置３０により実行される検証処理について説明する。
【０１４４】
検証処理を開始すると、設計検証装置３０は、設計検証を行う際の条件である検証条件の入力を受け付ける（ステップＳ７１）。具体的に説明すると、設計検証装置３０は、検証条件として、閾値ＤＢ２４に記憶されている複数の設計制約のうちの、新規設計データ３１に適用する設計制約の選択を、ＵＩ装置１０を介してユーザから受け付ける。また、設計検証装置３０は、検証条件として、検証対象の新規設計データ３１の種類及び変数等の選択を、ＵＩ装置１０を介してユーザから受け付ける。ＵＩ装置１０は、受付手段の一例である。
【０１４５】
検証条件の入力を受け付けると、設計検証装置３０は、新規設計データ３１を検証する（ステップＳ７２）。具体的に説明すると、設計検証装置３０は、新規設計データ３１から、ステップＳ７１で受け付けられた検証対象の変数を抽出する。そして、設計検証装置３０は、閾値ＤＢ２４に記憶されている設計制約テーブルを参照して、抽出した変数が、ステップＳ７１で受け付けられた適用対象の設計制約を満たしているか否かを検証する。設計検証装置３０は、設計検証手段の一例である。
【０１４６】
新規設計データ３１を検証すると、設計検証装置３０は、検証結果を出力する（ステップＳ７３）。具体的に説明すると、設計検証装置３０は、新規設計データ３１に含まれる各変数が設計制約を満たしているか否かを示す出力情報を、図２２に示す検証結果出力ファイル３２に書き込む。
【０１４７】
図２２の例では、座標（ｘ１，ｙ１）に存在する変数ａ１１は、その値が４ｍｍ以下であるため、設計制約を満たす。そのため、設計検証装置３０は、変数ａ１１を合格であると判定する。一方で、座標（ｘ２，ｙ２）に存在する変数ａ１２は、その値が４ｍｍ以上であるため、設計制約を満たさない。そのため、設計検証装置３０は、変数ａ１２を不合格であると判定する。
【０１４８】
設計検証装置３０は、このような新規設計データ３１に含まれる各変数が設計制約を満たしているか否かを示す出力情報を、ＵＩ装置１０のディスプレイに表示することにより、外部に出力する。ＵＩ装置１０は、出力情報を出力する出力手段の一例である。
【０１４９】
以上説明したように、実施の形態８に係る設計支援システム１は、機械学習により高精度且つ自動的に設定された設計制約を用いて、新規設計データ３１を検証する。これにより、設計製造物の性能が目標値を満足するか否かを検証することができる。
【０１５０】
なお、実施の形態８では、設計検証装置３０は、実施の形態６，７にかかる閾値算出装置２０により機械学習の手法で設定された設計制約を用いて新規設計データ３１を検証した。しかしながら、設計検証装置３０は、機械学習により設定された設計制約と、機械学習によらずに設定された既存の設計制約と、のどちらを用いて検証を行うかを切り替え可能であっても良い。例えば、設計検証装置３０は、新規設計データ３１に含まれる各変数に対して、機械学習により設定された設計制約と、機械学習によらずに設定された既存の設計制約と、のどちらを用いて検証を行うかの選択を、ステップＳ７１での検証条件の１つとしてユーザから受け付けても良い。
【０１５１】
また、設計検証装置３０は、実施の形態６，７にかかる閾値算出装置２０により設定された設計制約をそのまま用いることに限らず、閾値算出装置２０により設定された設計制約を補正した新たな設計制約を用いて、新規設計データ３１を検証しても良い。例えば、設計検証装置３０は、閾値算出装置２０により設定された閾値に安全率を乗じた新たな閾値を用いて、新規設計データ３１を検証しても良い。安全率は、予め定められていても良いし、ステップＳ７１での検証条件の１つとしてユーザから受け付けても良い。
【０１５２】
また、閾値算出部２３は、設計検証装置３０により検証された、新規設計データ３１に含まれる変数が設計制約を満たしているかの検証結果に基づいて、設計制約をベイズ更新により更新しても良い。具体的に説明すると、閾値算出部２３は、既に機械学習に用いた「合格」の度数分布に、新規設計データ３１から抽出されて検証により「合格」と判定された変数の度数を加えることで、「合格」の度数分布を更新する。閾値算出部２３は、「不合格」の度数分布も同様に更新する。そして、閾値算出部２３は、更新された「合格」及び「不合格」の度数分布を教師なしの機械学習を用いて解析することにより、新たな設計制約を設定する。このようにベイズ更新により逐次的に設計制約を更新することにより、より高精度に設計制約を設定することができる。
【０１５３】
更に、閾値算出部２３は、設計検証装置３０により検証された検証結果に対する修正をユーザから受け付け、受け付けた修正が加えられた検証結果に基づいて設計制約を修正しても良い。具体的に説明すると、ユーザは、検証結果出力ファイル３２に出力された各変数の検証結果の修正を、ＵＩ装置１０を介して入力する。例えば、設計検証装置３０による検証では合格であると判定された変数の検証結果を、ユーザは自身の判断により不合格であると修正する。或いは、設計検証装置３０による検証では不合格であると判定された変数の検証結果を、ユーザは自身の判断により合格であると修正する。検証結果の修正を受け付けると、閾値算出部２３は、既に機械学習に用いた「合格」及び「不合格」の度数分布に、それぞれ修正後の検証結果における「合格」及び「不合格」の変数の度数を加えることにより、「合格」及び「不合格」の度数分布を更新する。そして、閾値算出部２３は、更新された「合格」及び「不合格」の度数分布を教師なしの機械学習を用いて解析することにより、新たな設計制約を設定する。これにより、ユーザの判断も考慮してより柔軟に設計制約を設定することができる。
【０１５４】
図２３は、上述した実施の形態１〜８に係る設計支援システム１を実現するコンピュータ６のハードウエア構成を例示する図である。図２３に示すように、コンピュータ６は、プログラムの命令コードを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などを含むメモリ３０４、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）およびＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などを含む記憶装置３０６、および、ディスプレイ装置およびマウスなどを備え、ＵＩ装置１０として用いられ得る入出力装置３０８が、バス３００を介して接続された構成をとる。
【０１５５】
図１に示した設計支援システム１の各構成要素は、コンピュータ６において動作するプログラムにより実現される。このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk ROM）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
【０１５６】
また、設計支援システム１の各構成要素は、図２３に示したＣＰＵ３０２、メモリ３０４などに限らず、例えば、ディジタル回路、アナログ回路およびＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）と、マイクロコントローラなどにより実行されるプログラムとの組み合わせにより実現されうる。設計支援システム１の各構成要素を動作させるＣＰＵ３０２、ディジタル回路、アナログ回路、ＦＰＧＡなどをまとめて、制御部又はプロセッサと呼ぶことができる。
【０１５７】
また、実施の形態１〜８は、相互に矛盾を生じない限り、任意に組み合わせ可能である。また、実施の形態１〜５には、設計支援システム１を半導体装置の設計データを検証する場合を例示したが、設計支援システム１は、任意の電気回路、電子回路、機械装置の設計データの検証に用いられる。
【０１５８】
また、実施の形態１〜８では、二次元の設計データを検証する場合を例示したが、設計支援システム１を、三次元の設計データの閾値データの生成と設計事項の検証のために用いることができる。また、回路要素の形状として円を例示したが、部品の形状は任意である。
【０１５９】
また、回路要素Ｃｉ，Ｃｊの形状が円以外のときには、これらの間の回路要素距離Ｄｉｊおよび外形距離ｄｉｊなどを定義するために用いる点は、例えば、これらの中心として定義される点、これらの重心の位置などとされる。基準点は、回路要素の形状に怖じて、基準点を適当に設定すればよい。
【０１６０】
実施の形態１〜５では、閾値算出部２３は、検証済みの設計データから第１の設計制約を満たしていない変数を抽出し、抽出した変数の存在確率に基づいて、第１の設計制約よりも緩和された第２の設計制約を設定した。しかしながら、第１の設計制約は設けられなくても良い。第１の設計制約が設けられない場合、閾値算出部２３は、検証済みの設計データから、第１の設計制約を満たすか否かにかかわらず、設計制約を定める変数を抽出する。具体的には、閾値算出部２３は、隣接する２つの回路要素Ｃｉ，Ｃｊの組み合わせの全てについて、外形距離ｄijを抽出する。そして、閾値算出部２３は、抽出した変数の存在確率に基づいて設計制約を設定しても良い。なお、第１の設計制約が設けられない場合、設計支援システム１は、第１の設計制約を記憶する設計基準ＤＢ２１を備えていなくても良い。以下の実施の形態でも同様である。
【０１６１】
一方で、実施の形態６，７では、閾値算出部２３は、第１の設計制約を満たしているか否かにかかわらず、設計データＡ，Ｂ，Ｃ…から設計制約を定める全ての変数を抽出した。しかしながら、閾値算出部２３は、実施の形態１〜５と同様に、設計データＡ，Ｂ，Ｃ…から第１の設計制約を満たしていない変数を抽出し、抽出された変数の度数分布に基づいて、第１の設計制約よりも緩和された第２の設計制約を設定しても良い。
【０１６２】
設計基準ＤＢ２１、過去設計ＤＢ２２及び閾値ＤＢ２４は、設計支援システム１の内部に備えられることに限らず、設計支援システム１の外部に設けられても良い。例えば、各ＤＢは、クラウドコンピューティングにおけるリソースを提供するデータサーバに設けられても良い。この場合、設計支援システム１は、インターネットのような広域ネットワークを介してデータサーバと通信することにより、各ＤＢにデータを書き込み、各ＤＢからデータを読み出す。
【０１６３】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
【０１６４】
この出願は、２０１９年９月２日に出願された国際出願ＰＣＴ／ＪＰ２０１９／０３４３８６号に基づく。本明細書中に国際出願ＰＣＴ／ＪＰ２０１９／０３４３８６号の明細書、請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【０１６５】
１  設計支援システム、３  コンピュータ、３００  バス、３０２  ＣＰＵ、３０４  メモリ、３０６  記憶装置、３０８  入出力装置、１０  ＵＩ装置、２０  閾値算出装置、２１  設計基準ＤＢ、２２  過去設計ＤＢ、２３  閾値算出部、２４  閾値ＤＢ，２６  閾値ファイル、３０  設計検証装置、３１  新規設計データ、３２  検証結果出力ファイル、４０  ＣＡＤ装置。
【図１】
2021045018.tif 000005
【図２】
2021045018.tif 000006
【図３】
2021045018.tif 000007
【図４】
2021045018.tif 000008
【図５】
2021045018.tif 000009
【図６】
2021045018.tif 000010
【図７】
2021045018.tif 000011
【図８】
2021045018.tif 000012
【図９】
2021045018.tif 000013
【図１０】
2021045018.tif 000014
【図１１】
2021045018.tif 000015
【図１２】
2021045018.tif 000016
【図１３】
2021045018.tif 000017
【図１４】
2021045018.tif 000018
【図１５】
2021045018.tif 000019
【図１６】
2021045018.tif 000020
【図１７】
2021045018.tif 000021
【図１８】
2021045018.tif 000022
【図１９】
2021045018.tif 000023
【図２０】
2021045018.tif 000024
【図２１】
2021045018.tif 000025
【図２２】
2021045018.tif 000026
【図２３】
2021045018.tif 000027
【手続補正書】
【提出日】令和3年8月27日(2021.8.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記に記載された課題を解決するために、本開示の設計支援システムは、
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数を複数のグループに分類する分類手段と、
前記分類手段により分類された前記変数の、グループ毎の度数分布を統計的処理又は機械学習を用いて解析することにより、グループ毎に前記設計制約を設定する設定手段と、
を備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数を複数のグループに分類する分類手段と、
前記分類手段により分類された前記変数の、グループ毎の度数分布を統計的処理又は機械学習を用いて解析することにより、グループ毎に前記設計制約を設定する設定手段と、
を備える設計支援システム。
【請求項２】
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
抽出した前記変数の存在確率を求める存在確率取得手段と、
求めた前記存在確率の累積存在確率を求める累積存在確率取得手段と、
前記累積存在確率が予め設定された基準値に一致するときの前記変数の値を特定し、この値を、前記設計制約の設計制約値に設定する設定手段と、
を備える設計支援システム。
【請求項３】
前記変数抽出手段は、前記設計制約を定める複数の変数を抽出し、
前記存在確率取得手段は、抽出された前記複数の変数それぞれの存在確率を求め、
前記累積存在確率取得手段は、前記複数の変数のそれぞれの存在確率の累積存在確率を求め、
前記設定手段は、累積存在確率が予め設定された基準値に一致するときの前記変数の値それぞれを前記設計制約の設計制約値に設定する、
請求項２に記載の設計支援システム。
【請求項４】
前記存在確率取得手段は、求めた存在確率から、属性に基づいて１又は複数の新たな存在確率を求める手段を備え、
前記累積存在確率取得手段は、新たな存在確率の累積存在確率を求める、
請求項２又は３に記載の設計支援システム。
【請求項５】
前記存在確率取得手段は、求めた存在確率が複数の極値を有する場合に、前記複数の極値を分離するように複数の新たな存在確率を求め、
前記累積存在確率取得手段は、前記複数の新たな存在確率のそれぞれの累積存在確率を求め、
前記設定手段は、それぞれの累積存在確率が予め設定された基準値に一致するときの前記変数の値を特定し、この値を前記設計制約の設計制約値に設定する、
請求項２から４のいずれか１項に記載の設計支援システム。
【請求項６】
前記変数抽出手段は、前記検証済みの設計データから、前記設計制約を定める変数として、設計段階で設定された第１の設計制約を満たしていない変数を抽出し、
前記設定手段は、前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記第１の設計制約よりも緩和された第２の設計制約を設定する、
請求項１から５のいずれか１項に記載の設計支援システム。
【請求項７】
前記変数の値が第１の設計制約値以上であること又は以下であることを規定する前記第１の設計制約を記憶する設計基準記憶部をさらに備え、
前記変数抽出手段は、前記検証済みの設計データから、前記第１の設計制約値未満又はより大きい値を有する前記変数を抽出する、
請求項６に記載の設計支援システム。
【請求項８】
設計の対象とされる装置の面積における複数の部品の占有率を求め、複数の前記部品の占有率に応じて、前記設計制約値を調整する設計制約値調整手段を備える、
請求項１から７の何れか１項に記載の設計支援システム。
【請求項９】
設計の対象とされる装置の面積における複数の部品の占有率を、前記装置の複数の領域ごとに求め、複数の前記領域それぞれにおける複数の前記部品の占有率に応じて、複数の前記領域それぞれの前記設計制約値を調整する設計制約値調整手段を備える、
請求項１から８の何れか１項に記載の設計支援システム。
【請求項１０】
前記設計制約値調整手段は、複数の部品の占有率が大きければ大きいほど、前記設計制約値を大きい値に調整する、
請求項８又は９に記載の設計支援システム。
【請求項１１】
前記検証済みの設計データから抽出された前記変数を複数のグループに分類する分類手段、を更に備え、
前記設定手段は、前記分類手段により分類された前記変数の、グループ毎の度数分布に基づいて、グループ毎に前記設計制約を設定する、
請求項２から５のいずれか１項に記載の設計支援システム。
【請求項１２】
前記分類手段は、前記検証済みの設計データから抽出された前記変数を、クラスタリング技法を用いて、前記複数のグループに分類する、
請求項１又は１１に記載の設計支援システム。
【請求項１３】
前記設定手段は、前記変数抽出手段により抽出された前記変数の度数分布を、教師なしの機械学習を用いて解析することにより、前記設計制約を設定する、
請求項１から１２のいずれか１項に記載の設計支援システム。
【請求項１４】
前記変数抽出手段は、前記検証により合格と判定された設計データと、前記検証により不合格と判定された設計データと、のそれぞれから前記変数を抽出し、
前記設定手段は、前記合格と判定された設計データから抽出された変数の度数分布と前記不合格と判定された設計データから抽出された変数の度数分布とを、前記教師なしの機械学習を用いて解析することにより、前記設計制約を設定する、
請求項１３に記載の設計支援システム。
【請求項１５】
新規設計データに含まれる変数が、前記設定手段により設定された前記設計制約を満たしているか否かを検証する設計検証手段、を更に備える、
請求項１から１４のいずれか１項に記載の設計支援システム。
【請求項１６】
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する設定手段と、
新規設計データに含まれる変数が、前記設定手段により設定された前記設計制約を満たしているか否かを検証する設計検証手段と、
複数の設計制約のうちから、前記新規設計データに適用する設計制約の選択を受け付ける受付手段と、を備え、
前記設計検証手段は、前記新規設計データに含まれる変数が、前記受付手段により受け付けられた前記設計制約を満たしているか否かを検証する、
設計支援システム。
【請求項１７】
検証済みの設計データから、設計制約を定める変数を抽出する変数抽出手段と、
前記変数抽出手段により抽出された前記変数の度数分布を統計的処理又は機械学習を用いて解析することにより、前記設計制約を設定する設定手段と、
新規設計データに含まれる変数が、前記設定手段により設定された前記設計制約を満たしているか否かを検証する設計検証手段と、を備え、
前記設定手段は、前記設計検証手段により検証された、前記新規設計データに含まれる前記変数が前記設計制約を満たしているか否かの検証結果に基づいて、前記設計制約を更新する、
設計支援システム。
【請求項１８】
前記設定手段は、前記検証結果に対する修正をユーザから受け付け、受け付けた前記修正が加えられた前記検証結果に基づいて前記設計制約を更新する、
請求項１７に記載の設計支援システム。
【請求項１９】
請求項１から１８のいずれか１項に記載の設計支援システムにより実行される設計支援方法。
【請求項２０】
コンピュータを、請求項１から１８のいずれか１項に記載の設計支援システムとして機能させるためのプログラム。
【国際調査報告】
2021045018.tif 000028
2021045018.tif 000029
2021045018.tif 000030
2021045018.tif 000031