(57)【要約】【課題】パラメータに設定可能な複数の値の中から、対象回路の性能が制約を満たすことができる値を取得することの容易化を図ること。【解決手段】情報処理装置１００は、設計の対象回路１０２の仕様に関する特徴情報１０４を受け付ける。情報処理装置１００は、機械学習ＤＢ１０１を参照して、複数の組み合わせの各々の組み合わせについて、受け付けた特徴情報１０４と、組み合わせに含まれる複数のパラメータの各々に設定する値とに対応付けられた指標値の合計値を算出する。情報処理装置１００は、複数の組み合わせのうち、算出した合計値に基づく組み合わせを出力する。【選択図】図１
2018077595.tif 000002
【特許請求の範囲】
【請求項１】
回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータに、
設計の対象回路の仕様に関する特徴情報を受け付け、
前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、
算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する、
処理を実行させることを特徴とする設計支援プログラム。
【請求項２】
前記候補の組み合わせを出力する処理では、
前記複数の組み合わせのうち、算出した前記合計値が高い順番に指定数の組み合わせを出力する、
ことを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記記憶部は、前記複数のパラメータのうちのいずれかのパラメータについて、前記回路の複数の性能の各々の性能についての前記性能の識別情報と、前記いずれかのパラメータに設定可能な前記複数の値のいずれかの値と、を対応付けた第２対応情報を記憶し、
前記コンピュータに、
前記対象回路の前記複数の性能のうちのいずれかの性能の識別情報の入力を受け付け、
前記第２対応情報を参照して、前記値の候補の組み合わせに含まれる前記いずれかのパラメータの値を、受け付けた前記識別情報に対応付けられた前記いずれの値に設定する処理を実行させ、
前記値の候補の組み合わせを出力する処理では、
設定した後の前記組み合わせを出力する、
ことを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータが、
設計の対象回路の仕様に関する特徴情報を受け付け、
前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、
算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する、
処理を実行することを特徴とする設計支援方法。
【請求項５】
回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部と、
設計の対象回路の仕様に関する特徴情報を受け付け、前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する制御部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援プログラム、設計支援方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、製造後に購入者や設計者が内部に所望の回路構成を設定できる集積回路としてＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が公知である。ＦＰＧＡに回路構成を設定する方法としては、ハードウェア記述言語を使って設計の対象回路の機能が記述されたネットリストを論理合成し、論理合成によって得られたゲートレベルのネットリストに基づいてＦＰＧＡに対してレイアウトを行う技術が公知である。また、ＦＰＧＡに回路を構成した後に、タイミング、エリア、消費電力等の性能が制約を満たしているか否かを判定する処理などが行われる。
【０００３】
ＦＰＧＡへの回路構成の設定などの処理や、ＦＰＧＡに構成された回路の性能が制約を満たすかの判定などの処理については、例えばＦＰＧＡの供給業者が提供しているアプリケーションプログラムによって行われる。例えば、アプリケーションプログラムが提供している各種パラメータに値が設定されると、アプリケーションプログラムがＦＰＧＡに対象回路を構成させる。各種パラメータに設定可能な値については、アプリケーションプログラムの供給元などによって提供される。
【０００４】
先行技術としては、論理回路の特徴を抽出して特徴に基づき論理回路を種別ごとに分類し、分類された論理回路を分類結果に応じた変換ルールを用いて最適化変換して、論理回路の特徴に応じた分類処理を学習する技術がある（例えば、以下特許文献１参照。）。
【０００５】
また、それぞれ異なる翼を有する複数の飛行体の飛行軌跡のデータを用いた機械学習により求められた学習データと、入力された飛行体の翼の形状データと、に基づいて、翼理論に基づく飛行軌跡のシミュレーションに用いるパラメータを算出する技術がある（例えば、以下特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１９９３６９号公報
【特許文献２】特開２０１６−１３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、パラメータに設定可能な値の中から、対象回路の性能が制約を満たすことができる値をパラメータに設定させることは困難である。例えば、複数の値の中から最適な値をパラメータに設定させることは、設計者の習熟度によっては困難である。また、パラメータに選択された値を設定して対象回路をＦＰＧＡに構成させるには時間がかかる。このため、複数の値のそれぞれを順番にパラメータに設定して対象回路の性能が制約を満たすようになるまで対象回路をＦＰＧＡに構成させることは困難である。
【０００８】
１つの側面では、パラメータに設定可能な複数の値の中から、対象回路の性能が制約を満たすことができる値を取得することの容易化を図る設計支援プログラム、設計支援方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの実施態様では、回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータに、  設計の対象回路の仕様に関する特徴情報を受け付け、前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する設計支援プログラム、設計支援方法、および情報処理装置が提案される。
【発明の効果】
【００１０】
１つの側面によれば、本発明は、パラメータに設定可能な複数の値の中から、対象回路の性能が制約を満たすことができる値を取得することの容易化を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理装置の一動作例を示す説明図である。
【図２】図２は、実施例の全体を示す説明図である。
【図３】図３は、情報処理装置のハードウェア構成例を示す説明図である。
【図４】図４は、機械学習ＤＢの一記憶例を示す説明図である。
【図５】図５は、パラメータ変換表の一記憶例を示す説明図である。
【図６】図６は、情報処理装置の機能的構成例を示すブロック図である。
【図７】図７は、特徴情報の受け付け例を示す説明図である。
【図８】図８は、特徴情報の抽出例を示す説明図である。
【図９】図９は、投票数の合計値の算出及び並び替え例を示す説明図である。
【図１０】図１０は、ターゲットの性能がタイミングの場合におけるパラメータの値の変換例を示す説明図である。
【図１１】図１１は、機械学習ＤＢの更新例を示す説明図である。
【図１２】図１２は、情報処理装置による設計支援処理手順例を示すフローチャート（その１）である。
【図１３】図１３は、情報処理装置による設計支援処理手順例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明にかかる設計支援プログラム、設計支援方法、および情報処理装置の実施の形態を詳細に説明する。
【００１３】
図１は、情報処理装置の一動作例を示す説明図である。情報処理装置１００は、設計の対象回路をＦＰＧＡに構成させる設計を支援するコンピュータである。情報処理装置１００としては、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などが挙げられ、特に限定しない。
【００１４】
上述したように、従来、ＦＰＧＡの供給業者などが提供しているアプリケーションプログラムを用いて対象回路をＦＰＧＡに構成させるために、設計者は、アプリケーションプログラムの各パラメータに値を設定する。
【００１５】
近年、対象回路の大規模化および高速化などにより、パラメータに設定される値によっては、ＦＰＧＡに構成された対象回路の性能が設計の制約を満たさない場合がある。そして、パラメータに設定可能な値の中から、対象回路の性能が制約を満たすことができる値をパラメータに設定させることは困難である。例えば、複数の値の中から最適な値をパラメータに設定させることは、設計者の習熟度によっては困難である。例えば、アプリケーションプログラムを実行するコンピュータの性能に応じて異なるが、パラメータに値を設定して対象回路をＦＰＧＡに１回構成させるのにかかる時間は１日程度の場合もあるなど長い。また、パラメータは約６０種類程度あり、パラメータによっては設定可能な値が７通りある場合もある。このため、各パラメータについてパラメータに設定可能な複数の値を順番にすべてパラメータに設定させ、対象回路の性能が制約を満たすようになるまでＦＰＧＡに対象回路を構成させるという手法を用いることは困難である。
【００１６】
そこで、情報処理装置１００は、機械学習ＤＢ（Ｄａｔａｂａｓｅ）に記憶された回路の特徴に対応するＦＰＧＡの各パラメータの値の指標値を参照して、各パラメータの値の複数の組み合わせの各々の指標値の合計値に基づき最適解候補の組み合わせを出力する。これにより、パラメータに設定可能な複数の値の中から、対象回路の性能が制約を満たすことができる最適解を取得することの容易化を図ることができる。設計者の習熟度に関係なく最適解を得ることの容易化を図ることができる。
【００１７】
まず、図１にて省略するが記憶部は、第１対応情報を記憶する。第１対応情報は、各々の特徴情報について、過去に設計された回路を内部に構成可能な集積回路に回路を構成させる場合に用いる複数のパラメータの各々に設定する複数の値の各々の値と、各々の値の使用に関する指標値とを対応付けた情報である。各々の特徴情報は、過去に設計された回路の仕様に関する。第１対応情報は、例えば、機械学習ＤＢ１０１と称する。本実施の形態では、回路を内部に構成可能な集積回路として、ＦＰＧＡ１０３を例に挙げるが、ＦＰＧＡ１０３に限らずその他のＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などであってもよい。特徴情報とは、例えば、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）ネットリストや論理合成後のネットリスト、タイミング制約情報などから得られる情報である。図１の例では、特徴情報として、クロック周波数、最大ゲート段数などの情報を挙げている。特徴情報としては、例えば、ＦＰＧＡの種類や回路内で使用されるクロックの本数などの情報が含まれていてもよい。ここでのゲートとは、論理回路に含まれるトランジスタを含む（マクロ）セルである。ゲートとしては、ＮＯＲゲート、ＯＲゲート、インバータゲート、バッファゲート、レジスタなどが挙げられる。最大ゲート段数とは、回路に含まれるパス上のゲートの段数の最大値である。パスとは、例えば、レジスタ間の経路、入力端子からレジスタまでの経路、レジスタから出力端子までの経路、入力端子から出力端子までの経路である。
【００１８】
まず、情報処理装置１００は、設計の対象回路１０２の仕様に関する特徴情報１０４を受け付ける。図１の例では、情報処理装置１００は、特徴情報１０４として、クロック周波数と最大ゲート段数とを示す情報を受け付ける。図１の例では、クロック周波数が「ｃ１」であり、最大ゲート段数が「ａａａ」である特徴情報１０４は機械学習ＤＢ１０１に含まれている。
【００１９】
つぎに、情報処理装置１００は、機械学習ＤＢ１０１を参照して、複数の組み合わせの各々の組み合わせについて、受け付けた特徴情報１０４についての組み合わせに含まれる複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出する。組み合わせとは、パラメータの各々に設定可能な値の組み合わせである。図１の例では、パラメータの種類が３種類であり、各パラメータに設定可能な値は２つずつである。このため、組み合わせは、２×２×２の８通りである。情報処理装置１００は、機械学習ＤＢ１０１を参照して、受け付けた特徴情報１０４に対応付けられたパラメータの値の各々についての指標値を検索する。情報処理装置１００は、８通りの組み合わせの各々について指標値の合計値を算出する。
【００２０】
情報処理装置１００は、複数の組み合わせのうち、算出した合計値に基づく組み合わせを出力する。具体的には、情報処理装置１００は、例えば、合計値が閾値以上の組み合わせを出力してもよい。閾値については、設計者や情報処理装置１００の開発者などによって予め定められる。また、具体的には、情報処理装置１００は、例えば、合計値が高い順番に指定数の組み合わせを出力してもよい。図１の例では、情報処理装置１００は、算出した合計値が高い順序において１番目から４番目までの組み合わせを出力する。図１の例では、出力形式としては、ディスプレイへの出力を例に挙げているが、これに限らず、ネットワークを介して外部の装置への出力、記憶装置への出力が挙げられる。
【００２１】
これにより、短時間でパラメータに設定させる最適解を得ることの容易化を図ることができる。また、設計者の習熟度に関係なく最適解を得ることの容易化を図ることができる。
【００２２】
そして、回路をＦＰＧＡに構成させるアプリケーションプログラムが、対象回路１０２をＦＰＧＡ１０３に構成させる。このアプリケーションプログラムは、情報処理装置１００によって実行されてもよいし、情報処理装置１００と異なる装置によって実行されてもよい。
【００２３】
図２は、実施例の全体を示す説明図である。作成者は、過去の設計情報２０５に基づいて、機械学習ＤＢ２０１を作成する。作成者は、情報処理装置１００の提供者である。また、作成者は、対象回路をＦＰＧＡに構成させる設計者であってもよい。設計者は、新たに設計されたＲＴＬネットリスト２０３やタイミング制約情報２０４などを情報処理装置１００に入力する。
【００２４】
そして、情報処理装置１００は、入力されたＲＴＬネットリスト２０３およびタイミング制約情報２０４と、作成された機械学習ＤＢ２０１と、に基づいて、複数のパラメータの各々に設定する値の候補を決定する。複数のパラメータの各々の値の最適解の候補を正解予想値とも称する。そして、情報処理装置１００は、各パラメータに正解予想値を適用する。ここで、適用するとは、ターゲットのＦＰＧＡに対象回路を構成させることを示す。上述したように、ターゲットのＦＰＧＡに対象回路を構成させる処理は、例えば、対象回路をＦＰＧＡに構成可能なアプリケーションプログラムによって行われる。アプリケーションプログラムは、情報処理装置１００が実行してもよいし、情報処理装置１００がアクセス可能な他の装置が実行してもよい。
【００２５】
また、設計者は、対象回路についての設計終了後に、機械学習ＤＢ２０１を参照して、ＦＰＧＡを構成させる際に使用した複数のパラメータの各々に設定した値についての指標値を更新してもよい。または、情報処理装置１００が、設計者からの操作による、ＦＰＧＡを構成させる際に使用した複数のパラメータの各々に設定した値の入力を受け付けて機械学習ＤＢ２０１を更新してもよい。
【００２６】
（情報処理装置１００のハードウェア構成例）
図３は、情報処理装置のハードウェア構成例を示す説明図である。情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。情報処理装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９とは、バス３００によってそれぞれ接続される。
【００２７】
ここで、ＣＰＵ３０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００２８】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に接続され、このネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００２９】
キーボード３０７やマウス３０８は、設計者などの操作による各種データの入力を受け付けるインターフェースである。ディスプレイ３０９は、ＣＰＵ３０１の指示により、データを出力するインターフェースである。
【００３０】
また、図示を省略するが、情報処理装置１００には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置１００には、プリンタなどの出力装置が設けられていてもよい。
【００３１】
また、本実施の形態では、情報処理装置１００のハードウェア構成として、ＰＣを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置１００がサーバである場合、情報処理装置１００と、設計者が操作可能な装置やディスプレイ３０９などと、がネットワーク３１０を介して接続されてもよい。
【００３２】
（各種ＤＢ等の記憶内容）
つぎに、情報処理装置１００が有する各種ＤＢ等の記憶内容について説明する。各種ＤＢ等は、例えば、図３に示した情報処理装置１００のＲＯＭ３０２やディスク３０５、不揮発性の半導体メモリ（図示省略）などの記憶部により実現される。
【００３３】
図４は、機械学習ＤＢの一記憶例を示す説明図である。機械学習ＤＢ２０１は、回路の仕様に関する各々の特徴情報について、複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、各々の値の使用に関する指標値と、を対応付けた第１対応情報である。機械学習ＤＢ２０１は、例えば、図１に示した機械学習ＤＢ１０１の詳細な例に相当する。複数のパラメータはターゲットのＦＰＧＡに回路を構成させる場合に用いられる。パラメータに設定可能な複数の値は、回路をＦＰＧＡに構成させるためのアプリケーションプログラムの提供者によって提供される。指標値は、値の使用頻度に基づく値である。機械学習ＤＢ２０１において、指標値は、例えば、投票数とも称する。
【００３４】
機械学習ＤＢ２０１は、例えば、デザイン特徴と、正解予想値と、のフィールドを有する。デザイン特徴のフィールドには、回路の仕様に関する特徴情報が設定される。具体的には、デザイン特徴のフィールドは、デバイス名、最大クロック周波数、クロック数、最大論理段数、使用率のフィールドを有する。
【００３５】
デバイス名のフィールドには、ターゲットのＦＰＧＡの識別情報としてＦＰＧＡの名称が設定される。最大クロック周波数のフィールドには、対象回路に供給されるクロックの周波数のうちの最大のクロック周波数が設定される。使用率のフィールドには、ターゲットのＦＰＧＡに対象回路を構成させた場合のＦＰＧＡに対する対象回路の使用率が設定される。受け付けた特徴情報と機械学習ＤＢに記憶された特徴情報とを比較する処理において使用率については比較しない。
【００３６】
正解予想値のフィールドには、各種パラメータのフィールドを有する。各種パラメータのフィールドには、パラメータに設定可能な複数の値のうちの、過去に特徴情報を有する対象回路を設計した時に使用されたことがある値と、その値の使用に関する指標値と、が設定される。上述したように指標値を投票数とも称する。投票数は、大きいほど使用頻度が高いことを示す。投票数は、小さいほど使用頻度が低いことを示す。図４の例では、「パラメータの値（投票数）」のように値と投票数とが各種パラメータのフィールドに設定される。
【００３７】
例えば、正解予想値のフィールドには、論理合成関連パラメータ、物理関連パラメータのフィールドを有する。論理合成関連パラメータのフィールドには、論理合成関連に関するパラメータに設定可能な複数の値のうちの、特徴情報を有する対象回路を過去にＦＰＧＡに構成させた時に使用された値が設定される。論理合成関連に関するパラメータとしては、例えば、パラメータ「Ｓｙｎｔｈ  Ｅｆｆｏｒｔ」、パラメータ「Ｔｉｍｉｎｇ  Ｄｒｉｖｅｎ」、パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」などが挙げられる。
【００３８】
物理関連パラメータのフィールドには、物理関連に関するパラメータに設定可能な複数の値のうちの、特徴情報を有する回路を過去にＦＰＧＡに構成させた時に使用された値が設定される。物理関連パラメータとしては、例えば、パラメータ「Ｆｉｔｔｅｒ  Ｅｆｆｏｒｔ」やパラメータ「Ｐｈｙｓｉｃａｌ  Ｓｙｎｔｈ」などが挙げられる。図４においては、パラメータとして５種類を例に挙げているが、実際には約６０種類程度のパラメータがある。
【００３９】
例えば、デバイス名「ＡＢ」、最大クロック周波数「１００［ＭＨｚ］以下」、クロック数「５［本］以下」、最大論理段数「１０段以下」が特徴情報に含まれる場合に、パラメータ「Ｓｙｎｔｈ  Ｅｆｆｏｒｔ」の例では、「Ａｕｔｏ」の投票数は１０である。
【００４０】
図５は、パラメータ変換表の一記憶例を示す説明図である。パラメータ変換表２０２は、複数のパラメータのうちのいずれかのパラメータについて、回路の複数の性能の各々の性能についての性能の識別情報と、いずれかのパラメータに設定可能な複数の値のいずれかの値と、を対応付けた第２対応情報である。
【００４１】
ＦＰＧＡに用いられるパラメータには、タイミングの制約に有効な設定やエリア／消費電力の制約に有効な設定がある。ここで、回路の性能において、エリアと消費電力とは、比例関係にある。回路のエリアが大きくなれば、回路の消費電力も大きくなる。回路のエリアが小さくなれば、回路の消費電力も小さくなる。ここで、エリアや消費電力において、性能が向上するとは、エリアや消費電力が小さくなることを示す。これに対して、回路の性能において、タイミングと、エリアおよび消費電力とは、反比例の関係にある。タイミングの指標値であるスラック値が小さくなると、エリアおよび消費電力は大きくなる。例えば、タイミングの指標値であるスラック値が大きくなると、エリアおよび消費電力は小さくなる。
【００４２】
パラメータ変換表２０２は、パラメータ、エリア／消費電力優先、タイミング優先のフィールドを有する。パラメータのフィールドには、パラメータ名が設定される。エリア／消費電力優先のフィールドには、パラメータに設定可能な複数の値のうちのエリア／消費電力に有効な値が設定される。エリア／消費電力に有効とは、例えば、エリア／消費電力が小さくなるように対象回路をＦＰＧＡに構成させることを示す。タイミング優先のフィールドには、パラメータに設定可能な複数の値のうちのタイミングに有効な値が設定される。タイミングに有効とは、例えば、タイミングの指標値であるスラック値が小さくなるように対象回路をＦＰＧＡに構成させることを示す。
【００４３】
例えば、パラメータ変換表２０２によれば、パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」については、エリア／消費電力優先の値が「Ｏｎ」であり、タイミング優先の値が「Ｏｆｆ」である。例えば、パラメータ変換表２０２によれば、パラメータ「Ａｕｔｏ  Ｒｅｇｉｓｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」については、エリア／消費電力優先の値が「Ｏｆｆ」であり、タイミング優先の値が「Ｏｎ」である。パラメータ「Ａｕｔｏ  Ｒｅｇｉｓｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」については、図４に示す機械学習ＤＢ２０１において省略し、以下詳細な説明においても省略する。
【００４４】
（情報処理装置１００の機能的構成例）
図６は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置１００は、制御部６００と、記憶部６１０と、を有する。制御部６００は、入力受付部６０１、抽出部６０２と、生成部６０３と、算出部６０４と、設定部６０５と、出力部６０６と、登録部６０７と、を有する。入力受付部６０１から登録部６０７までの制御部６００の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部６００の処理が実現される。また、制御部６００の処理結果は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。
【００４５】
記憶部６１０は、例えば、機械学習ＤＢ２０１と、パラメータ変換表２０２と、ＲＴＬネットリスト２０３と、タイミング制約情報２０４と、を有する。記憶部６１０は、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５、半導体メモリ（図示省略）などの記憶装置によって実現される。
【００４６】
入力受付部６０１は、設計の対象回路の仕様に関する特徴情報を受け付ける。具体的には、入力受付部６０１は、例えば、キーボード３０７やマウス３０８、タッチパネル式のディスプレイ３０９などの入力装置に対する設計者の操作によって特徴情報の入力を受け付ける。上述したように、特徴情報とは、例えば、ＲＴＬネットリスト２０３や論理合成後のネットリスト、タイミング制約情報などから得られる情報である。特徴情報としては、ＦＰＧＡの名称、最大クロック周波数、回路内で使用されるクロックの本数、最大ゲート段数などの情報が挙げられる。なお、特徴情報を受け付ける例については図７を用いて後述する。
【００４７】
また、情報処理装置１００は、特徴情報そのものを受け付けることに限らず、対象回路に関する各種情報から特徴情報を抽出してもよい。具体的には、入力受付部６０１は、例えば、ＲＴＬネットリスト２０３およびタイミング制約情報２０４などの対象回路の設計に関する情報の入力を受け付ける。そして、抽出部６０２は、受け付けたＲＴＬネットリスト２０３およびタイミング制約情報２０４などから、設計の対象回路の仕様に関する特徴情報を抽出する。なお、ＲＴＬネットリスト２０３およびタイミング制約情報２０４を受け付けて特徴情報を抽出する例については図８を用いて後述する。
【００４８】
生成部６０３は、例えば、複数のパラメータの各々に設定する値の組み合わせを生成する。例えば、受け付けた特徴情報に含まれるデバイス名は「ＡＢ」であり、最大クロック周波数は「１００［ＭＨｚ］以下」であり、クロック数は「５以下」であり、最大論理段数は「１０以下」である。また、特徴情報に使用率が含まれていないため、情報処理装置１００は、使用率が「５０未満」を処理対象とする。また、情報処理装置１００は、使用率が「５０未満」として決定された正解予想値によって対象回路をＦＰＧＡに構成させた場合に各種制約が収束しなければ、使用率が「５０以上」を処理対象として再度正解予想値を決定してもよい。
【００４９】
図４に示す機械学習ＤＢ２０１においてパラメータは５種類であり、組み合わせは２×２×２×２×３の４８通りである。
【００５０】
算出部６０４は、機械学習ＤＢ２０１を参照して、複数の組み合わせの各々の組み合わせについて、入力受付部６０１によって受け付けられた特徴情報についての組み合わせに含まれる複数のパラメータの各々に設定する値に対応付けられた投票数の合計値を算出する。複数の組み合わせは、生成部６０３によって生成された組み合わせである。
【００５１】
具体的には、算出部６０４は、例えば、機械学習ＤＢ２０１を参照して、生成部６０３によって生成された複数の組み合わせの各々の組み合わせについて、受け付けた特徴情報についての組み合わせに含まれるパラメータの値に対応付けられた投票数を検索する。そして、生成部６０３は、各々の組み合わせについて、検出した投票数の合計値を算出する。これによって、組み合わせについて投票数の合計値が得られる。
【００５２】
そして、出力部６０６は、複数の組み合わせのうち、投票数の合計値に基づく組み合わせを出力する。出力形式としては、ディスプレイ３０９への出力、ネットワーク３１０を介して外部の装置への出力、ＲＯＭ３０２やＲＡＭ３０３、ディスク３０５、半導体メモリ（図示省略）などの記憶装置への出力が挙げられる。具体的には、出力部６０６は、例えば、合計値が閾値以上の組み合わせを出力する。また、具体的には、出力部６０６は、複数の組み合わせのうち、投票数の合計値が高い順番に所定数の組み合わせを出力する。所定数は、例えば、予め定められた値であり、記憶部６１０などに記憶されていてもよい。また、所定数は、例えば、入力受付部６０１によって受け付けられた値である。なお、所定数の組み合わせを出力する例については図９を用いて後述する。
【００５３】
つぎに、設計者によって優先したい性能が指定される場合について説明する。まず、入力受付部６０１は、対象回路の複数の性能のうちの、いずれかの性能の識別情報の入力を受け付ける。複数の性能としては、タイミング、エリア／消費電力などが挙げられる。
【００５４】
そして、設定部６０５は、パラメータ変換表２０２を参照して、複数の組み合わせのうちの、算出された合計値に基づく組み合わせに含まれるいずれかのパラメータの値を、受け付けた識別情報に対応付けられたいずれかの値に設定する。例えば、性能の識別情報として「タイミング」が受け付けられた場合、設定部６０５は、指定数の組み合わせに含まれるパラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値を「Ｏｆｆ」に設定する。これにより、「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値が「Оｎ」に設定されていれば、「Ｏｆｆ」に変換される。「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値が「Оｆｆ」に設定されていれば、「Ｏｆｆ」のままになる。また、設定部６０５は、「Ａｕｔｏ  Ｒｅｇｉｓｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」の値を「Ｏｎ」に設定する。これにより、「Ａｕｔｏ  Ｒｅｇｉｓｅｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」の値が「Оｆｆ」に設定されていれば、「Ｏｎ」に変換される。「Ａｕｔｏ  Ｒｅｇｉｓｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」の値が「Оｎ」に設定されていれば、「Ｏｎ」のままになる。
【００５５】
出力部６０６は、設定した後の組み合わせを出力する。ここでの出力形式については、上述した出力形式と同じでよく、特に詳細な説明を省略する。なお、所定数の組み合わせに含まれるパラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒ」の値が「Ｏｆｆ」に設定される例については図１０を用いて後述する。
【００５６】
また、図２で説明したように、対象回路をＦＰＧＡに構成させて各性能が制約を満たしたような場合に、対象回路をＦＰＧＡに構成させた際のパラメータの値についての投票数が更新されてもよい。具体的には、入力受付部６０１は、例えば、特徴情報と、対象回路をＦＰＧＡに構成させる際に用いたパラメータの値とに対応付けられた投票数の更新を受け付ける。例えば、設計者は、対象回路についてのＦＰＧＡへの設計終了後に、キーボード３０７やマウス３０８などの入力装置を介して、特徴情報と、対象回路をＦＰＧＡに構成させる際に用いたパラメータの値とに対応付けられた投票数を受け付ける。
【００５７】
登録部６０７は、特徴情報と、対象回路をＦＰＧＡに構成させる際に用いたパラメータの値とに対応付けられた投票数の更新を入力受付部６０１が受け付けると、機械学習ＤＢ２０１を参照して、投票数を更新する。投票数が更新された例については、図１１を用いて後述する。
【００５８】
図７は、特徴情報の受け付け例を示す説明図である。入力受付部６０１は、例えば、設計者の操作入力によって、ディスプレイ３０９に表示された対象回路に関する各項目についての情報の入力を受け付ける。これにより、入力受付部６０１は、特徴情報を受け付ける。
【００５９】
図８は、特徴情報の抽出例を示す説明図である。入力受付部６０１は、設計の対象回路のセルおよびセルの接続関係を示すＲＴＬネットリスト２０３およびタイミング制約情報２０４などの対象回路の設計に関する情報の入力を受け付ける。そして、抽出部６０２は、受け付けたＲＴＬネットリスト２０３およびタイミング制約情報２０４などから、設計の対象回路の仕様に関する特徴情報を抽出する。タイミング制約情報２０４には、例えば、最大クロック周波数などが記述されてある。また、ＲＴＬネットリスト２０３には、例えば、最大ゲート段数などの情報が含まれる。
【００６０】
図９は、投票数の合計値の算出及び並び替え例を示す説明図である。算出部６０４は、例えば、生成部６０３によって生成された複数の組み合わせの各々の組み合わせについて、入力受付部６０１によって受け付けた特徴情報と、組み合わせに含まれるパラメータの値とに対応付けられた投票数を合計する。
【００６１】
上述したように組み合わせは４８通りである。算出部６０４は、４８通りの組み合わせの各々についての投票数の合計値を算出する。出力部６０６は、４８通りの組み合わせのうちの、投票数の合計値が大きい順番に１番目から３番目までの組み合わせを出力する。
【００６２】
図１０は、ターゲットの性能がタイミングの場合におけるパラメータの値の変換例を示す説明図である。設定部６０５は、パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値を「Ｏｆｆ」に設定する。これにより、パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値「Ｏｎ」が値「Ｏｆｆ」に変換される。
【００６３】
また、図示省略するが、設定部６０５は、パラメータ「Ａｕｔｏ  Ｒｅｇｉｓｔｅｒ  Ｄｕｐｌｉｃａｔｉｏｎ」の値を「Ｏｎ」に設定する。
【００６４】
図１１は、機械学習ＤＢの更新例を示す説明図である。入力受付部６０１は、対象回路についてＦＰＧＡを構成させる際に用いた複数のパラメータの各々に設定した値の組み合わせの入力を受け付ける。ここで、パラメータ「Ｓｙｎｔｈ  Ｅｆｆｏｒｔ」の値は「Ａｕｔｏ」である。パラメータ「Ｔｉｍｉｎｇ  Ｄｒｉｖｅｎ」の値は「Ｏｆｆ」である。パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の値は「Ｏｆｆ」である。パラメータ「Ｆｉｔｔｅｒ  Ｅｆｆｏｒｔ」の値は「Ａｕｔｏ」である。パラメータ「Ｐｈｙｓｉｃａｌ  Ｓｙｎｔｈ」の値は「Ｎｏｒｍａｌ」である。
【００６５】
登録部６０７は、機械学習ＤＢ２０１を参照して、特徴情報と、受け付けた組み合わせに含まれるパラメータの値と、に対応付けられた投票数を１カウントアップする。登録部６０７は、例えば、パラメータ「Ｓｙｎｔｈ  Ｅｆｆｏｒｔ」の「Ａｕｔｏ」についての投票数を「１０」から「１１」に更新する。登録部６０７は、例えば、パラメータ「Ｔｉｍｉｎｇ  Ｄｒｉｖｅｎ」の「Ｏｆｆ」についての投票数を「９」から「１０」に更新する。登録部６０７は、例えば、パラメータ「Ｒｅｍｏｖｅ  Ｄｕｐｌｉｃａｔｅ  Ｒｅｇｉｓｔｅｒｓ」の「Ｏｆｆ」についての投票数を「３」から「４」に更新する。登録部６０７は、例えば、パラメータ「Ｆｉｔｔｅｒ  Ｅｆｆｏｒｔ」の「Ａｕｔｏ」についての投票数を「１１」から「１２」に更新する。登録部６０７は、例えば、パラメータ「Ｐｈｙｓｉｃａｌ  Ｓｙｎｔｈ」の「Ｆａｓｔ」についての投票数を「５」から「６」に更新する。
【００６６】
（情報処理装置１００による設計支援処理手順例）
図１２および図１３は、情報処理装置による設計支援処理手順例を示すフローチャートである。まず、図１２において、情報処理装置１００は、特徴情報を受け付ける（ステップＳ１２０１）。ステップＳ１２０１において、情報処理装置１００が特徴情報を受け付けるとは、例えば、上述した入力受付部６０１によって特徴情報の入力を受け付けることを示す。または、ステップＳ１２０１において、情報処理装置１００が特徴情報を受け付けるとは、入力受付部６０１によって受け付けたＲＴＬネットリスト２０３やタイミング制約情報２０４から抽出部６０２によって特徴情報を抽出することを示す。
【００６７】
つぎに、情報処理装置１００は、ターゲットの性能の設定を受け付ける（ステップＳ１２０２）。ステップＳ１２０２において、情報処理装置１００がターゲットの性能の設定を受け付けるとは、入力受付部６０１によってターゲットの性能の識別情報を受け付けることを示す。例えば、情報処理装置１００は、「タイミング」、「エリア／消費電力」などの識別情報の入力を受け付ける。また、ターゲットの性能がなければ、設計者は「なし」などを入力してもよい。受け付けた性能の識別情報は記憶部６１０などに記憶される。
【００６８】
情報処理装置１００は、機械学習ＤＢ２０１に抽出した特徴情報があるか否かを判断する（ステップＳ１２０３）。機械学習ＤＢ２０１に抽出した特徴情報がないと判断された場合（ステップＳ１２０３：Ｎｏ）、情報処理装置１００は、正解予想値がないことを出力し（ステップＳ１２０４）、一連の処理を終了する。正解予想値とは、最適解の候補の組み合わせを示す。ステップＳ１２０４において、情報処理装置１００は、例えば、正解予想値がないことを設計者に通知するために、ディスプレイ３０９などに正解予想値がないことを出力する。
【００６９】
機械学習ＤＢ２０１に抽出した特徴情報があると判断された場合（ステップＳ１２０３：Ｙｅｓ）、情報処理装置１００は、パラメータ値の組み合わせを生成する（ステップＳ１２０５）。情報処理装置１００は、パラメータ値の組み合わせ別に、特徴情報およびパラメータ値に対応する投票数を合計する（ステップＳ１２０６）。
【００７０】
情報処理装置１００は、合計値が高い順番に１番目から指定数番目までの組み合わせを正解予想値として選択する（ステップＳ１２０７）。情報処理装置１００は、ターゲットの性能の指定があるか否かを判断する（ステップＳ１２０８）。ターゲットの性能の指定がないと判断された場合（ステップＳ１２０８：Ｎｏ）、情報処理装置１００は、選択した正解予想値を出力する（ステップＳ１２０９）。ターゲットの性能の指定があると判断された場合（ステップＳ１２０８：Ｙｅｓ）、情報処理装置１００は、図１３に示すステップＳ１３０１へ移行する。
【００７１】
図１３において、情報処理装置１００は、設定されたターゲットの性能がタイミングか否かを判断する（ステップＳ１３０１）。ターゲットの性能がタイミングであると判断された場合（ステップＳ１３０１：Ｙｅｓ）、情報処理装置１００は、パラメータ変換表２０２を参照して、正解予想値にエリア／消費電力優先のパラメータ値があるか否かを判断する（ステップＳ１３０２）。正解予想値にエリア／消費電力優先のパラメータ値があると判断された場合（ステップＳ１３０２：Ｙｅｓ）、情報処理装置１００は、パラメータ変換表２０２を参照して、エリア／消費電力優先のパラメータ値を変換する（ステップＳ１３０３）。そして、情報処理装置１００は、変換後の正解予想値を出力し（ステップＳ１３０４）、一連の処理を終了する。
【００７２】
また、ステップＳ１３０２において、正解予想値にエリア／消費電力優先のパラメータ値がないと判断された場合（ステップＳ１３０２：Ｎｏ）、情報処理装置１００は、正解予想値を出力し（ステップＳ１３０５）、一連の処理を終了する。
【００７３】
また、ステップＳ１３０１において、ターゲットの性能がタイミングでないと判断された場合（ステップＳ１３０１：Ｎｏ）、情報処理装置１００は、正解予想値にタイミング優先のパラメータ値があるか否かを判断する（ステップＳ１３０６）。正解予想値にタイミング優先のパラメータ値があると判断された場合（ステップＳ１３０６：Ｙｅｓ）、情報処理装置１００は、タイミング優先のパラメータ値を変換する（ステップＳ１３０７）。情報処理装置１００は、変換後の正解予想値を出力し（ステップＳ１３０８）、一連の処理を終了する。
【００７４】
また、ステップＳ１３０６において、正解予想値にタイミング優先のパラメータ値がないと判断された場合（ステップＳ１３０６：Ｎｏ）、情報処理装置１００は、正解予想値を出力し（ステップＳ１３０９）、一連の処理を終了する。
【００７５】
以上説明したように、情報処理装置１００は、機械学習ＤＢに記憶された回路特徴に対応するＦＰＧＡの各パラメータの値の指標値を参照して、各パラメータの値の複数の組み合わせの各々の指標値の合計値に基づき最適解候補の組み合わせを出力する。上述したように、実際にパラメータは約６０種類程度あり、パラメータによっては設定可能な値が７通りある場合もある。このため、情報処理装置１００は、パラメータに設定可能な値の組み合わせから最適解候補を出力することにより、対象回路の性能が制約を満たすことができる最適解を取得することの容易化を図ることができる。情報処理装置１００は、設計者の習熟度に関係なく最適解を短時間で得ることの容易化を図ることができる。
【００７６】
また、情報処理装置１００は、複数の組み合わせのうちの、算出した投票数の合計値が高い順番に基づく指定数の組み合わせを出力する。これにより、情報処理装置１００は、過去のパラメータの値の使用に基づいて最適解の候補を得ることができる。
【００７７】
また、情報処理装置１００は、対象回路の複数の性能のうちの、いずれかの性能の識別情報の入力を受け付け、算出した合計値に基づく組み合わせに含まれるいずれかのパラメータの値を、受け付けた性能の識別情報に対応付けられたいずれかの値に設定する。これにより、情報処理装置１００は、ターゲットの性能に合わないパラメータ値をターゲットの性能にあうパラメータ値に変換することができる。
【００７８】
また、指標値は、値の使用頻度に基づく値である。これにより、情報処理装置１００は、対象回路の特徴情報と同じ特徴情報を有する回路の設計時に使用した頻度が高いパラメータの値を最適解として提供することができる。したがって、情報処理装置１００は、設計者の習熟度に関係なく最適解を得ることの容易化を図ることができる。
【００７９】
なお、本実施の形態で説明した設計支援方法は、予め用意された設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【００８０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータに、
設計の対象回路の仕様に関する特徴情報を受け付け、
前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、
算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する、
処理を実行させることを特徴とする設計支援プログラム。
【００８２】
（付記２）前記候補の組み合わせを出力する処理では、
前記複数の組み合わせのうち、算出した前記合計値が高い順番に指定数の組み合わせを出力する、
ことを特徴とする付記１に記載の設計支援プログラム。
【００８３】
（付記３）前記記憶部は、前記複数のパラメータのうちのいずれかのパラメータについて、前記回路の複数の性能の各々の性能についての前記性能の識別情報と、前記いずれかのパラメータに設定可能な前記複数の値のいずれかの値と、を対応付けた第２対応情報を記憶し、
前記コンピュータに、
前記対象回路の前記複数の性能のうちのいずれかの性能の識別情報の入力を受け付け、
前記第２対応情報を参照して、前記値の候補の組み合わせに含まれる前記いずれかのパラメータの値を、受け付けた前記識別情報に対応付けられた前記いずれの値に設定する処理を実行させ、
前記値の候補の組み合わせを出力する処理では、
設定した後の前記組み合わせを出力する、
ことを特徴とする付記１または２に記載の設計支援プログラム。
【００８４】
（付記４）前記各々の値の使用に関する指標値は、前記各々の値の使用頻度に基づく値であることを特徴とする付記１〜３のいずれか一つに記載の設計支援プログラム。
【００８５】
（付記５）回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部を有するコンピュータが、
設計の対象回路の仕様に関する特徴情報を受け付け、
前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、
算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する、
処理を実行することを特徴とする設計支援方法。
【００８６】
（付記６）回路の仕様に関する各々の特徴情報について、前記回路を内部に構成可能な集積回路に前記回路を構成させる場合に用いる複数のパラメータの各々のパラメータに設定可能な複数の値の各々の値と、前記各々の値の使用に関する指標値と、を対応付けた第１対応情報を記憶する記憶部と、
設計の対象回路の仕様に関する特徴情報を受け付け、前記第１対応情報を参照して、前記複数のパラメータの各々に設定可能な値の複数の組み合わせの各々の組み合わせについて、受け付けた前記特徴情報についての前記組み合わせに含まれる前記複数のパラメータの各々に設定する値に対応付けられた指標値の合計値を算出し、算出した前記合計値に基づいて、前記複数の組み合わせのうち、前記複数のパラメータに設定する値の候補の組み合わせを出力する制御部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【００８７】
１００  情報処理装置
１０１，２０１  機械学習ＤＢ
１０２  対象回路
１０３  ＦＰＧＡ
１０４  特徴情報
２０２  パラメータ変換表
２０３  ＲＴＬネットリスト
２０４  タイミング制約情報
２０５  過去の設計情報
６００  制御部
６０１  入力受付部
６０２  抽出部
６０３  生成部
６０４  算出部
６０５  設定部
６０６  出力部
６０７  登録部
６１０  記憶部
【図１】
2018077595.tif 000003
【図２】
2018077595.tif 000004
【図３】
2018077595.tif 000005
【図４】
2018077595.tif 000006
【図５】
2018077595.tif 000007
【図６】
2018077595.tif 000008
【図７】
2018077595.tif 000009
【図８】
2018077595.tif 000010
【図９】
2018077595.tif 000011
【図１０】
2018077595.tif 000012
【図１１】
2018077595.tif 000013
【図１２】
2018077595.tif 000014
【図１３】
2018077595.tif 000015