図面 (/)

技術 設計者教育講座検索プログラム、設計者教育講座検索方法および設計者教育講座を検索する装置

出願人 富士通株式会社
発明者 橋本通高
出願日 2018年3月2日 (2年2ヶ月経過) 出願番号 2018-037274
公開日 2019年9月12日 (7ヶ月経過) 公開番号 2019-152735
状態 未査定
技術分野 検索装置 電気的に作動する教習具
主要キーワード 中間素子 難易度テーブル エラー割合 要因特定 機械学習モデル X座標 設計者端末 教育講座
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年9月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (18)

課題

設計者弱点補完する教育講座を提供することが可能な設計者教育講座検索プログラムを提供する。

解決手段

設計者教育講座検索装置は、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルMを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定する。設計者教育講座検索装置は、第1の回路内のパスのうち、特定した要因のタイミングエラーが発生したパスの数に基づいて、第1の回路の設計者のスキルランクを決定する。設計者教育講座検索装置は、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定したスキルランクと第1の回路の設計難易度とに対応する教育講座を検索する。設計者教育講座検索装置は、検索した結果を出力する。

概要

背景

FPGA(Field Programmable Gate Array)等の半導体集積回路の設計には、デジタル回路設計のスキルが求められる。デジタル回路設計のスキルは、論理設計に関するスキルと物理設計に関するスキルとに分けられる。論理設計では、HDL(Hardware Description Language)、VHDL等を用いて回路動き記述される。物理設計では、セル配置配線が行われる。

先行技術としては、例えば、3次元CAD(Computer Aided Design)装置の操作方法操作者習熟させるための3次元CAD教育システムがある。3次元CAD教育システムは、習熟度測定用問題に対する回答となる操作を受け付けて、操作に対応する3次元CADモデルデータを作成し、3次元モデルデータから設計手法手順およびコマンド操作組み合わせ手順を抽出する。3次元CAD教育システムは、抽出された設計手法手順を、標準設計手法手順と比較して不一致を検出し、抽出されたコマンド操作組み合わせ手順を、標準コマンド操作組み合わせ手順と比較して不一致を検出する。3次元CAD教育システムは、検出された両不一致に基づいて操作における非習熟点を判断し、非習熟点に基づいて、複数の補強用教材のうちから操作を行った者に提示すべき補強用教材を選択して出力する。

概要

設計者弱点補完する教育講座を提供することが可能な設計者教育講座検索プログラムを提供する。設計者教育講座検索装置は、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルMを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定する。設計者教育講座検索装置は、第1の回路内のパスのうち、特定した要因のタイミングエラーが発生したパスの数に基づいて、第1の回路の設計者のスキルランクを決定する。設計者教育講座検索装置は、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定したスキルランクと第1の回路の設計難易度とに対応する教育講座を検索する。設計者教育講座検索装置は、検索した結果を出力する。

目的

特開2005−17982号公報






しかしながら、従来技術では、設計者に適した教育講座を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、検索した結果を出力する、処理をコンピュータに実行させることを特徴とする設計者教育講座検索プログラム

請求項2

前記機械学習モデルは、回路内のパスの特徴量と前記パスに含まれる素子の遅延量を合計した素子総遅延量との関係を学習した第1の機械学習モデルであり、前記記憶部は、回路の設計難易度と、設計者の論理設計に関するスキルランクと、教育講座との対応関係を記憶しており、前記特定する処理は、前記第1の機械学習モデルを用いて、前記第1の回路内のパスのタイミングエラーが、素子総遅延量に関するタイミングエラーであるか否かを特定し、前記決定する処理は、前記第1の回路内の全パスの数に対する、素子総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、前記第1の回路の設計者の論理設計に関するスキルランクを決定し、前記検索する処理は、前記記憶部を参照して、決定した前記論理設計に関するスキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索する、ことを特徴とする請求項1に記載の設計者教育講座検索プログラム。

請求項3

前記機械学習モデルは、回路内のパスの特徴量と前記パスに含まれる配線の遅延量を合計した配線総遅延量との関係を学習した第2の機械学習モデルであり、前記記憶部は、回路の設計難易度と、設計者の物理設計に関するスキルランクと、教育講座との対応関係を記憶しており、前記特定する処理は、前記第2の機械学習モデルを用いて、前記第1の回路内のパスのタイミングエラーが、配線総遅延量に関するタイミングエラーであるか否かを特定し、前記決定する処理は、前記第1の回路内の全パスの数に対する、配線総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、前記第1の回路の設計者の物理設計に関するスキルランクを決定し、前記検索する処理は、前記記憶部を参照して、決定した前記物理設計に関するスキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索する、ことを特徴とする請求項1または2に記載の設計者教育講座検索プログラム。

請求項4

前記第1の回路の設計難易度は、前記第1の回路の回路使用率または動作周波数の少なくともいずれかに応じて特定される、ことを特徴とする請求項1〜3のいずれか一つに記載の設計者教育講座検索プログラム。

請求項5

各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、検索した結果を出力する、処理をコンピュータが実行することを特徴とする設計者教育講座検索方法

請求項6

各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、検索した結果を出力する、制御部を有することを特徴とする設計者教育講座を検索する装置。

技術分野

0001

本発明は、設計者教育講座検索プログラム、設計者教育講座検索方法および設計者教育講座を検索する装置に関する。

背景技術

0002

FPGA(Field Programmable Gate Array)等の半導体集積回路の設計には、デジタル回路設計のスキルが求められる。デジタル回路設計のスキルは、論理設計に関するスキルと物理設計に関するスキルとに分けられる。論理設計では、HDL(Hardware Description Language)、VHDL等を用いて回路動き記述される。物理設計では、セル配置配線が行われる。

0003

先行技術としては、例えば、3次元CAD(Computer Aided Design)装置の操作方法操作者習熟させるための3次元CAD教育システムがある。3次元CAD教育システムは、習熟度測定用問題に対する回答となる操作を受け付けて、操作に対応する3次元CADモデルデータを作成し、3次元モデルデータから設計手法手順およびコマンド操作組み合わせ手順を抽出する。3次元CAD教育システムは、抽出された設計手法手順を、標準設計手法手順と比較して不一致を検出し、抽出されたコマンド操作組み合わせ手順を、標準コマンド操作組み合わせ手順と比較して不一致を検出する。3次元CAD教育システムは、検出された両不一致に基づいて操作における非習熟点を判断し、非習熟点に基づいて、複数の補強用教材のうちから操作を行った者に提示すべき補強用教材を選択して出力する。

先行技術

0004

特開2005−17982号公報

発明が解決しようとする課題

0005

しかしながら、従来技術では、設計者に適した教育講座を提供することが難しい。例えば、設計者がどのスキルをどの程度保有しているのかを把握できなければ、設計者の弱点補完する教育プランニングを行うことは困難である。

0006

一つの側面では、本発明は、設計者の弱点を補完する教育講座を提供することを目的とする。

課題を解決するための手段

0007

1つの実施態様では、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、検索した結果を出力する、設計者教育講座検索プログラムが提供される。

発明の効果

0008

本発明の一側面によれば、設計者の弱点を補完する教育講座を提供することができる。

図面の簡単な説明

0009

図1は、実施の形態にかかる設計者教育講座検索方法の一実施例を示す説明図である。
図2は、エラー情報の具体例を示す説明図である。
図3は、素子総遅延量改善策の一例を示す説明図である。
図4は、配線総遅延量の改善策の一例を示す説明図である。
図5は、設計者教育講座検索システム500のシステム構成例を示す説明図である。
図6は、設計者教育講座検索装置101のハードウェア構成例を示すブロック図である。
図7は、設計難易度テーブル520の記憶内容の一例を示す説明図である。
図8は、教育講座テーブル530の記憶内容の一例を示す説明図である。
図9は、設計者教育講座検索装置101の機能的構成例を示すブロック図である。
図10は、素子総遅延量学習モデルに関する説明図である。
図11は、配線総遅延量学習モデルに関する説明図である。
図12は、エラー要因リスト1200の記憶内容の一例を示す説明図である。
図13は、設計者教育講座検索結果画面1300の画面例を示す説明図である。
図14は、設計者教育講座検索装置101の設計者教育講座検索手順の一例を示すフローチャート(その1)である。
図15は、設計者教育講座検索装置101の設計者教育講座検索手順の一例を示すフローチャート(その2)である。
図16は、素子総遅延量比較処理の具体的処理手順の一例を示すフローチャートである。
図17は、配線総遅延量比較処理の具体的処理手順の一例を示すフローチャートである。

実施例

0010

以下に図面を参照して、本発明にかかる設計者教育講座検索プログラム、設計者教育講座検索方法および設計者教育講座を検索する装置の実施の形態を詳細に説明する。以下の説明では、設計者教育講座を検索する装置を「設計者教育講座検索装置」と表記する場合がある。

0011

(実施の形態)
図1は、実施の形態にかかる設計者教育講座検索方法の一実施例を示す説明図である。図1において、設計者教育講座検索装置101は、設計者に提供する教育講座を検索するコンピュータである。設計者とは、FPGA等の半導体集積回路の設計者である。教育講座とは、回路の設計に要するスキルを学ぶための講座である。回路の設計に要するスキルは、例えば、デジタル回路設計のスキルである。デジタル回路設計は、論理設計に関するスキルと、物理設計に関するスキルとに分けられる。なお、設計者にはロボットを含み、ロボットが設計を行い、教育講座にはロボットに学習させる学習内容を含む。

0012

ここで、FPGAの回路設計では、例えば、PC(Personal Computer)、サーバ等の計算機において、設計者により設計されたRTL(Register Transfer Level)データの論理検証を行い、RTLデータタイミング制約情報とに基づいて論理合成を行って、ネットリストを生成する。タイミング制約情報は、クロック周波数等の使用するFPGAのタイミング制約を示す。

0013

つぎに、計算機において、生成したネットリストに対応する回路をFPGA上に配置配線する処理を実行して配置配線データを生成する。そして、計算機において、生成した配置配線データに基づくタイミング検証を実行して、タイミング検証結果を出力する。タイミング検証結果は、例えば、タイミングエラーが発生したパスのエラー情報を含む。

0014

設計者は、タイミング検証結果を参照して、タイミングエラーが発生しているパスについて、タイミングエラーを解消するための修正を行う。パスとは、回路内のセルから他のセルに辿り着くまでの経路である。セルとは、回路に含まれるNOTゲートANDゲートバッファ、INV(インバータ)、FFフリップフロップ)、配線などの回路素子である。

0015

ここで、タイミングエラーが発生したパスのエラー情報について説明する。

0016

図2は、エラー情報の具体例を示す説明図である。図2において、エラー情報200は、タイミングエラーが発生したパスを示す。タイミングエラーが発生したパスの識別子は「パス1」である。「パス1」の初段、すなわち、送信端の素子の識別子は「AAA」である。「パス1」の最終段、すなわち、受信端の素子の識別子は「BBB」である。また、「パス1」を通過する信号のクロック周期は8[ns]であり、タイミングエラーの大きさを示す「違反量」は−1.2[ns]である。

0017

設計者は、エラー情報200を参照して、「パス1」のタイミングエラーが発生した要因を解析する。例えば、設計者は、送信端の素子「AAA」と受信端の素子「BBB」との間にある中間素子である「素子A」における遅延増加量が大きいことを把握する。つぎに、設計者は、素子「AAA」と素子「BBB」と「素子A」との間の位置関係に注目する。

0018

素子「AAA」のX座標は「9」であり、素子「BBB」のX座標が「17」であるのに対し、「素子A」のX座標は「100」である。設計者は、「素子A」が素子「AAA」および「BBB」と離隔して配置されるために、「素子A」における遅延増加量が大きくなり、「パス1」にタイミングエラーが発生したと判断して、「素子A」の配置を変更するように設計変更する。

0019

このように、設計者は、タイミングエラーが発生したパスごとに解析/対策を行う。このため、例えば、管理者が、設計者のスキルレベルを評価するにあたり、設計者が設計した回路内で発生したタイミングエラーの全体傾向を把握することは難しい。タイミングエラーの全体傾向を把握できなければ、設計者がどのスキルをどの程度保有しているのかを把握することは難しい。

0020

ここで、パスの遅延量は、素子総遅延量と配線総遅延量とに分離することができる。素子総遅延量は、パスに含まれる素子の遅延量を合計したものである。配線総遅延量は、パスに含まれる配線による遅延量を合計したものである。パスのタイミングエラーを解消するためには、素子総遅延量および/または配線総遅延量を改善する必要がある。

0021

図3は、素子総遅延量の改善策の一例を示す説明図である。図3に示すように、パスに含まれる素子の段数が多くなると、素子総遅延量は大きくなる。この場合、設計者は、例えば、回路の機能を満足しつつ回路構成を変更して段数を減らすことで、素子総遅延量を改善することができる。

0022

図4は、配線総遅延量の改善策の一例を示す説明図である。図4に示すように、パスに含まれる素子が離隔して配置されると、素子間が遠くなるため、配線総遅延量は大きくなる。この場合、設計者は、例えば、素子間が近くなるように、素子の配置位置を変更することで、配線総遅延量を改善することができる。

0023

図3に示したような、素子総遅延量の改善には、論理設計に関するスキルが求められる。一方で、図4に示したような、配線総遅延量の改善には、物理設計に関するスキルが求められる。したがって、素子総遅延量、配線総遅延量のいずれを要因とするタイミングエラーが発生しているのかをパスごとに特定できれば、回路全体としてのタイミングエラーの傾向を把握可能となる。

0024

回路全体としてのタイミングエラーの傾向を把握できれば、設計者がどのスキルをどの程度保有しているのかを判断することが可能となり、ひいては、設計者の弱点を補完する教育プランニングを行うことができる。教育プランニングとは、設計者の弱点を補完するために、どのような教育講座を提供すれば効果的であるかといったプランニングを行うことである。

0025

しかしながら、FPGA等の半導体装置微細化、高機能化にともなって、半導体装置に搭載される回路規模が増大し、回路設計時に発生するタイミングエラーの数が増加している。タイミングエラーの数が多くなると、エラー情報に示されるパスそれぞれについて、人手によりタイミングエラーの要因を特定することは困難である。

0026

そこで、本実施の形態では、回路内のパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者が設計した回路内のパスのタイミングエラーの要因を特定し、特定した結果に基づき設計者のスキルランクを推定することで、設計者の弱点を補完する教育講座を提供可能にする設計者教育講座検索方法について説明する。以下、設計者に提供する教育講座を検索するまでの一連の流れについて説明する。

0027

(1)管理者は、テストデザイン選定する。管理者とは、設計者を管理する者であり、例えば、設計者の教育プランニングを行う者である。テストデザインとは、設計者のスキルレベルを判定するために、設計者に設計させる対象回路である。テストデザインは、テスト専用の回路であってもよく、製品となる回路であってもよい。

0028

(2)管理者は、設計期間を設定する。設計期間とは、設計者に対して与えられるテストデザイン(対象回路)を設計するための期間である。設計期間は、任意に設定可能であり、例えば、数週間〜数ヶ月程度の期間が設定される。

0029

(3)設計者は、テストデザインの設計を行う。テストデザインの設計は、論理設計と物理設計とに分けられる。論理設計と物理設計は、求められるスキルが異なるため、それぞれ異なる設計者により行われることが多い。論理設計を行う設計者は、1人であっても複数人であってもよい。同様に、物理設計を行う設計者は、1人であっても複数人であってもよい。

0030

(4)設計者教育講座検索装置101は、機械学習モデルMを用いて、第1の回路内のパスのタイミングエラーの要因を解析する。第1の回路は、設計者により設計された回路(対象回路)である。機械学習モデルMは、回路内のパスの特徴量と遅延量との関係を学習したモデルである。具体的には、例えば、機械学習モデルMは、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習したモデルである。パスの遅延量は、例えば、パスの素子総遅延量または配線総遅延量である。

0031

機械学習モデルMは、過去に設計された各種回路の情報(例えば、配置配線データ)から抽出される教師データをもとに回帰分析等により生成される。ただし、機械学習アルゴリズムとして、既存のいかなるアルゴリズムを適用することにしてもよい。教師データは、例えば、タイミングエラーが起きていないパスの特徴量と遅延量との関係を示す。

0032

特徴量は、例えば、周波数(クロック周期)、電圧バルクサイズなどである。特徴量は、パスの初段の送信素子、パスの中間に含まれる中間素子およびパスの最終段の受信素子のFPGA上のそれぞれの配置位置を示す情報をさらに含んでもよい。また、特徴量は、動作温度等のFPGAの動作条件を示す情報をさらに含んでもよい。

0033

機械学習モデルMによれば、第1の回路内のパスの特徴量に対する遅延量(例えば、素子総遅延量または配線総遅延量)の正解予想値を推定することができる。なお、機械学習モデルMについての詳細な説明は、図9図11を用いて後述する。

0034

具体的には、例えば、設計者教育講座検索装置101は、第1の回路のタイミング検証結果に基づいて、第1の回路内のタイミングエラーが発生したパスの特徴量と機械学習モデルMとから、遅延量(素子総遅延量または配線総遅延量)の正解予想値を推定する。そして、設計者教育講座検索装置101は、推定した正解予想値と、パスの遅延量に関する設計値とを比較した結果に基づいて、パスのタイミングエラーの要因を特定する。

0035

パスの遅延量に関する設計値とは、タイミング検証結果のエラー情報から特定されるパスの遅延量である。例えば、エラー情報から特定されるパスの素子総遅延量(設計値)が正解予想値よりも大きければ、設計者教育講座検索装置101は、当該パスのタイミングエラーの要因として、素子総遅延量の増加にともなうタイミングエラーを特定する。すなわち、設計者教育講座検索装置101は、パスの素子総遅延量が大きくなってタイミングエラーが発生したと判断する。

0036

なお、第1の回路のタイミング検証は、設計者教育講座検索装置101において実行されてもよく、また、設計者教育講座検索装置101とは異なる他のコンピュータにおいて実行されてもよい。

0037

(5)設計者は、設計期間が終了するまで、上記(3)に戻って、タイミング検証結果をもとに、第1の回路の修正を行う。一方、設計期間が終了したら、設計者は、第1の回路の設計を終了する。

0038

なお、設計者教育講座検索装置101は、設計者による設計が終了した第1の回路についてのみ、第1の回路内のパスのタイミングエラーの要因を解析することにしてもよい。すなわち、第1の回路内のパスのタイミングエラーの要因を解析する処理は、設計期間終了後に1回実施されることにしてもよい。

0039

(6)設計者教育講座検索装置101は、設計者に提供する教育講座を検索する。具体的には、例えば、設計者教育講座検索装置101は、上記(4)において特定した結果に基づいて、第1の回路の設計者のスキルランクを決定する。設計者のスキルランクとは、設計者がどのスキルをどの程度保有しているのかを示す指標である。具体的には、例えば、設計者教育講座検索装置101は、第1の回路内のパスのうち、特定した要因のタイミングエラーが発生したパスの数に基づいて、第1の回路の設計者のスキルランクを決定する。

0040

つぎに、設計者教育講座検索装置101は、記憶部110を参照して、決定したスキルランクと第1の回路の設計難易度とに対応する教育講座を検索する。記憶部110は、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を示す情報を記憶する。第1の回路の設計難易度は、例えば、回路使用率動作周波数クロック本数などによって決まる。そして、設計者教育講座検索装置101は、検索した結果を出力する。

0041

このように、設計者教育講座検索装置101によれば、設計者が設計した回路内のパスごとのタイミングエラーの要因特定を自動化して、回路全体としてのタイミングエラーの傾向を容易に把握することができる。また、回路全体としてのタイミングエラーの傾向から設計者のスキルランクを判断して、設計者の弱点を補完するために適した教育講座を提供可能となる。

0042

(設計者教育講座検索システム500のシステム構成例)
つぎに、図1に示した設計者教育講座検索装置101を含む設計者教育講座検索システム500のシステム構成例について説明する。

0043

図5は、設計者教育講座検索システム500のシステム構成例を示す説明図である。図5において、設計者教育講座検索システム500は、設計者教育講座検索装置101と、設計者端末501と、管理者端末502と、を含む。設計者教育講座検索システム500において、設計者教育講座検索装置101、設計者端末501および管理者端末502は、有線または無線ネットワーク510を介して接続される。ネットワーク510は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。

0044

設計者教育講座検索装置101は、設計難易度テーブル520および教育講座テーブル530を有する。図1に示した記憶部110は、例えば、教育講座テーブル530に対応する。設計難易度テーブル520および教育講座テーブル530の記憶内容については、図7および図8を用いて後述する。設計者教育講座検索装置101は、例えば、サーバである。

0045

設計者端末501は、設計者が使用するコンピュータである。管理者端末502は、管理者が使用するコンピュータである。管理者は、例えば、設計者の教育プランニングを行う者である。設計者端末501および管理者端末502は、例えば、PCである。

0046

(設計者教育講座検索装置101のハードウェア構成例)
図6は、設計者教育講座検索装置101のハードウェア構成例を示すブロック図である。図6において、設計者教育講座検索装置101は、CPU(Central Processing Unit)601と、メモリ602と、I/F(Interface)603と、ディスクドライブ604と、ディスク605と、を有する。また、各構成部は、バス600によってそれぞれ接続される。

0047

ここで、CPU601は、設計者教育講座検索装置101の全体の制御を司る。CPU601は、複数のコアを有していてもよい。メモリ602は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることで、コーディングされている処理をCPU601に実行させる。

0048

I/F603は、通信回線を通じてネットワーク510に接続され、ネットワーク510を介して他の装置(例えば、図5に示した設計者端末501、管理者端末502)に接続される。そして、I/F603は、ネットワーク510と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。I/F603には、例えば、モデムLANアダプタなどを採用することができる。

0049

ディスクドライブ604は、CPU601の制御に従ってディスク605に対するデータのリードライトを制御する。ディスク605は、ディスクドライブ604の制御で書き込まれたデータを記憶する。ディスク605としては、例えば、磁気ディスク光ディスクなどが挙げられる。

0050

なお、設計者教育講座検索装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置ディスプレイなどを有することにしてもよい。また、図5に示した設計者端末501、管理者端末502についても、設計者教育講座検索装置101と同様のハードウェア構成により実現することができる。

0051

(設計難易度テーブル520の記憶内容)
つぎに、設計者教育講座検索装置101が有する設計難易度テーブル520の記憶内容について説明する。設計難易度テーブル520は、例えば、図6に示したメモリ602、ディスク605などの記憶装置に記憶される。

0052

図7は、設計難易度テーブル520の記憶内容の一例を示す説明図である。図7において、設計難易度テーブル520は、回路使用率と最高動作周波数との組合せに対応する設計難易度を記憶する。ここで、回路使用率は、FPGAで用意された素子(セル)の総数に対して、どれだけの素子を使用して設計するのかを表す指標である。最高動作周波数は、回路の最高動作周波数である。設計難易度は、回路の設計の難しさを表す指標である。ここでは、設計難易度は、1〜5のいずれかの値によって表される。設計難易度「1」が最も難易度が低く、設計難易度「5」が最も難易度が高い。

0053

例えば、回路使用率が50[%]未満で、かつ、最高動作周波数が200[MHz]未満の場合、設計難易度は「1」となる。また、回路使用率が50[%]以上70[%]以下で、かつ、最高動作周波数が200[MHz]以上300[MHz]以下の場合、設計難易度は「3」となる。また、回路使用率が70[%]より大きく、かつ、最高動作周波数が300[MHz]より大きい場合、設計難易度は「5」となる。

0054

(教育講座テーブル530の記憶内容)
つぎに、設計者教育講座検索装置101が有する教育講座テーブル530の記憶内容について説明する。教育講座テーブル530は、例えば、メモリ602、ディスク605などの記憶装置に記憶される。

0055

図8は、教育講座テーブル530の記憶内容の一例を示す説明図である。図8において、教育講座テーブル530は、設計難易度とスキル種別とスキルランクと教育講座名との対応関係を記憶する。ここで、設計難易度は、回路の設計の難しさを表す指標である。設計難易度は、1〜5のいずれかの値によって表される。

0056

スキル種別は、回路の設計に要するスキルの種別である。ここでは、スキル種別は、論理系または物理系である。論理系は、論理設計に関するスキルを示す。物理系は、物理設計に関するスキルを示す。スキルランクは、スキル種別で示されるスキルをどの程度保有しているのかを示す指標である。ここでは、スキルランクは、初級、中級、上級のいずれかによって表される。スキルランク「初級」が最もランクが低く、スキルランク「上級」が最もランクが高い。教育講座名は、設計者の弱点を補完するのに適した教育講座の名称である。

0057

(設計者教育講座検索装置101の機能的構成例)
図9は、設計者教育講座検索装置101の機能的構成例を示すブロック図である。図9において、設計者教育講座検索装置101は、取得部901と、特定部902と、決定部903と、検索部904と、出力部905と、記憶部910と、を含む。取得部901〜出力部905は制御部となる機能であり、具体的には、例えば、図6に示したメモリ602、ディスク605などの記憶装置に記憶されたプログラムをCPU601に実行させることにより、または、I/F603により、その機能を実現する。各機能部の処理結果は、例えば、メモリ602、ディスク605などの記憶装置に記憶される。

0058

記憶部910は、例えば、メモリ602、ディスク605などの記憶装置により実現される。具体的には、例えば、記憶部910は、図5に示した設計難易度テーブル520、教育講座テーブル530や、機械学習モデルM(例えば、素子総遅延量学習モデルM1、配線総遅延量学習モデルM2)を記憶する。機械学習モデルMは、教師あり学習が実行された学習器である。機械学習モデルMは、例えば、回帰型のサポートベクタマシン等で実現される。具体的には、例えば、機械学習モデルMは、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習したモデルである。

0059

取得部901は、第1の回路内のタイミングエラーが発生したパスのエラー情報を取得する。第1の回路は、設計者により設計された回路である。エラー情報は、第1の回路のタイミング検証により得られる。エラー情報は、例えば、タイミングエラーが発生したパスの遅延量や、パスに含まれる素子の配置配線情報を含む。

0060

具体的には、例えば、設計者教育講座検索装置101は、図5に示した設計者端末501から、設計者により設計されたRTLデータを取得する。つぎに、設計者教育講座検索装置101は、設計者等の指示に応じて、取得したRTLデータの論理検証を実行する。そして、設計者教育講座検索装置101は、論理検証が実行されたRTLデータと、タイミング制約情報とに基づいて、論理合成を実行して論理合成データを生成する。タイミング制約情報は、クロック周波数等のFPGAのタイミング制約を示す情報であり、例えば、記憶部910に記憶されている。

0061

つぎに、設計者教育講座検索装置101は、生成した論理合成データに対応する回路をFPGA上に配置配線する処理を実行して配置配線データを生成する。配置配線データは、複数の素子をFPGAに配置配線したときの各素子の配置位置および素子間の配線に関する情報を示す。そして、設計者教育講座検索装置101は、生成した配置配線データに基づくタイミング検証を実行して、タイミング検証結果を記憶部910に記憶する。タイミング検証結果は、タイミングエラーが発生したパスを示すエラー情報を含む。

0062

この場合、取得部901は、記憶部910に記憶されたタイミング検証結果から、第1の回路内のタイミングエラーが発生したパスごとのエラー情報を取得する。これにより、第1の回路内のタイミングエラーが発生した全てのパスについてのエラー情報を取得することができる。

0063

ただし、第1の回路のタイミング検証は、設計者教育講座検索装置101とは異なる他のコンピュータにおいて実行されてもよい。この場合、取得部901は、例えば、不図示の入力装置を用いたユーザの操作入力により、または、他のコンピュータから受信することにより、第1の回路内のタイミングエラーが発生したパスのエラー情報を取得する。

0064

特定部902は、機械学習モデルMを用いて、第1の回路内のパスのタイミングエラーの要因を特定する。具体的には、例えば、特定部902は、取得されたパスごとのエラー情報に基づいて、素子総遅延量学習モデルM1および配線総遅延量学習モデルM2を用いて、各パスのタイミングエラーの要因を特定する。

0065

ここで、素子総遅延量学習モデルM1、配線総遅延量学習モデルM2は、過去に設計されたFPGAの配置配線データに基づいて教師あり学習されている。素子総遅延量学習モデルM1が教師あり学習されるときのラベルは、例えば、送信素子の素子遅延量、および、パスに含まれるLUT(Look−Up Table)の素子総遅延量である。

0066

LUTは、論理素子とも称され、多入力−1出力のテーブルであり、入力数に応じた規模のメモリで形成される。例えば、LUTは、5入力−1出力の場合には、32ビットのメモリにより形成される。LUTは、配置配線処理時に外部から入力される設定に応じて、所望の組み合わせ回路を実現する。

0067

素子総遅延量学習モデルM1は、過去に設計されたFPGAの配置配線データから抽出された特徴量およびラベルを使用して教師あり学習されることで、所定の評価関数を生成する。ここで、図10を用いて、素子総遅延量学習モデルM1の一例について説明する。

0068

図10は、素子総遅延量学習モデルに関する説明図である。図10に示すように、素子総遅延量学習モデルM1は、パスの特徴量に応じた素子総遅延量を、評価関数に基づいて出力する。図10に示す例では、素子総遅延量学習モデルM1は、n個の特徴量C11〜C1nに応じた素子総遅延量L1を、評価関数f1に基づいて出力する。

0069

また、配線総遅延量学習モデルM2が教師あり学習されるときのラベルは、送信素子と受信素子との間に配置される配線の遅延量を示す配線総遅延量である。配線総遅延量学習モデルM2は、過去に設計されたFPGAの配置配線データから抽出された特徴量およびラベルを使用して教師あり学習されることで、所定の評価関数を生成する。ここで、図11を用いて、配線総遅延量学習モデルM2の一例について説明する。

0070

図11は、配線総遅延量学習モデルに関する説明図である。図11に示すように、配線総遅延量学習モデルM2は、パスの特徴量に応じた配線総遅延量を、評価関数に基づいて出力する。図11に示す例では、配線総遅延量学習モデルM2は、m個の特徴量C21〜C2mに応じた配線総遅延量L2を、評価関数f2に基づいて出力する。

0071

より詳細に説明すると、例えば、特定部902は、取得されたエラー情報から、パスの遅延量に関する設計値(素子総遅延量)と、素子総遅延量を出力として素子総遅延量学習モデルM1が学習するときの入力である特徴量とを抽出する。つぎに、特定部902は、抽出した特徴量を素子総遅延量学習モデルM1に入力して、当該パスの素子総遅延量の正解値を推定する。

0072

そして、特定部902は、抽出した設計値(素子総遅延量)と、推定した正解値とを比較することで、パスのタイミングエラーが、素子総遅延量に関するタイミングエラーであるか否かを特定する。ここで、設計値(素子総遅延量)が正解値以下の場合、特定部902は、素子総遅延量の設計値がエラーでないことを示す「OK」を比較結果として記憶する。

0073

一方、設計値(素子総遅延量)が正解値より大きい場合、特定部902は、素子総遅延量の設計値がエラーであることを示す「NG」を比較結果として記憶する。また、比較結果「NG」を記憶する場合、特定部902は、パスの識別子と対応付けて、素子総遅延量が大きいことがタイミングエラーの原因であることを示す情報を記憶する。特定部902は、取得された全てのエラー情報について、上述した処理を繰り返し行う。

0074

また、特定部902は、取得されたエラー情報から、パスの遅延量に関する設計値(配線総遅延量)と、配線総遅延量を出力として配線総遅延量学習モデルM2が学習するときの入力である特徴量とを抽出する。つぎに、特定部902は、抽出した特徴量を配線総遅延量学習モデルM2に入力して、当該パスの配線総遅延量の正解値を推定する。

0075

そして、特定部902は、抽出した設計値(配線総遅延量)と、推定した正解値とを比較する。ここで、設計値(配線総遅延量)が正解値以下の場合、特定部902は、配線総遅延量の設計値がエラーでないことを示す「OK」を比較結果として記憶する。一方、設計値(配線総遅延量)が正解値より大きい場合、特定部902は、配線総遅延量の設計値がエラーであることを示す「NG」を比較結果として記憶する。

0076

また、比較結果「NG」を記憶する場合、特定部902は、パスの識別子と対応付けて、配線総遅延量が大きいことがタイミングエラーの原因であることを示す情報を記憶する。特定部902は、取得された全てのエラー情報について、上述した処理を繰り返し行う。

0077

特定部902によって特定された結果は、例えば、図12に示すエラー要因リスト1200に記憶される。エラー要因リスト1200は、例えば、メモリ602、ディスク605などの記憶装置に記憶される。ここで、エラー要因リスト1200の記憶内容について説明する。

0078

図12は、エラー要因リスト1200の記憶内容の一例を示す説明図である。図12において、エラー要因リスト1200は、パスの識別子と、送信素子の識別子と、受信素子の識別子と、比較結果と、を含む。エラー要因リスト1200は、例えば、CSV(Comma−Separated Values)形式ファイルである。

0079

パスは、タイミングエラーが発生したパスである。送信素子は、パスの初段の素子である。受信素子は、パスの最終段の素子である。素子総遅延量の比較結果「OK」は、素子総遅延量の設計値がエラーでないことを示す。素子総遅延量の比較結果「NG」は、素子総遅延量の設計値がエラーであり、素子総遅延量が大きいことがタイミングエラーの原因であることを示す。

0080

配線総遅延量の比較結果「OK」は、配線総遅延量の設計値がエラーでないことを示す。配線総遅延量の比較結果「NG」は、配線総遅延量の設計値がエラーであり、配線総遅延量が大きいことがタイミングエラーの原因であることを示す。あるパスについて、素子総遅延量および配線総遅延量の両方とも比較結果が「NG」の場合もある。

0081

エラー要因リスト1200によれば、例えば、「パス1」は、送信素子「A/FF0[31]」から受信素子「A/FF1[0]」までの信号パスであり、素子総遅延量が大きいことがタイミングエラーの原因であることを特定することができる。

0082

図9の説明に戻り、決定部903は、特定部902によって特定された要因のタイミングエラーが発生したパスの数に基づいて、第1の回路の設計者のスキルランクを決定する。具体的には、例えば、決定部903は、第1の回路内の全パスの数に対する、特定された結果に基づく素子総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、第1の回路の設計者の論理設計に関するスキルランクを決定する。

0083

また、例えば、決定部903は、第1の回路内の全パスの数に対する、特定した結果に基づく配線総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、第1の回路の設計者の物理設計に関するスキルランクを決定する。第1の回路内の全パスの数は、タイミング検証対象のパスの総数であり、例えば、第1の回路の配置配線データから特定される。

0084

より詳細に説明すると、例えば、決定部903は、図12に示したエラー要因リスト1200を参照して、素子総遅延量に関するタイミングエラーが発生したパスの数を算出する。すなわち、決定部903は、エラー要因リスト1200を参照して、素子総遅延量の比較結果が「NG」のパスの数を算出する。

0085

また、決定部903は、エラー要因リスト1200を参照して、配線総遅延量に関するタイミングエラーが発生したパスの数を算出する。すなわち、決定部903は、エラー要因リスト1200を参照して、配線総遅延量の比較結果が「NG」のパスの数を算出する。

0086

以下の説明では、素子総遅延量に関するタイミングエラーが発生したパスの数を「素子総遅延量の残エラー数E1」と表記する場合がある。また、配線総遅延量に関するタイミングエラーが発生したパスの数を「配線総遅延量の残エラー数E2」と表記する場合がある。また、第1の回路内の全パスの数(タイミング検証対象のパスの総数)を「全パス数N」と表記する場合がある。

0087

つぎに、決定部903は、下記式(1)を用いて、算出した素子総遅延量の残エラー数E1と、全パス数Nとに基づいて、残エラー割合R1を算出する。残エラー割合R1は、第1の回路内の全パスのうち、素子総遅延量に関するタイミングエラーが発生しているパスがどの程度残っているのかを表す指標である(単位:%)。

0088

R1=E1÷N×100 ・・・(1)

0089

そして、決定部903は、算出した残エラー割合R1に基づいて、第1の回路の設計者の論理設計に関するスキルランクを決定する。例えば、決定部903は、残エラー割合R1が10[%]未満であれば、論理設計に関するスキルランクを「上級」に決定する。また、決定部903は、残エラー割合R1が10[%]以上30[%]以下であれば、論理設計に関するスキルランクを「中級」に決定する。また、決定部903は、残エラー割合R1が30[%]より大きければ、論理設計に関するスキルランクを「初級」に決定する。

0090

一例として、全パス数Nを「N=10,000」とし、素子総遅延量の残エラー数E1を「E1=400」とすると、残エラー割合R1は「R1=4[%]」となる。この場合、残エラー割合R1が10[%]未満のため、論理設計に関するスキルランクは「上級」に決定される。

0091

なお、残エラー割合R1に応じて、論理設計に関するスキルランクをどのように決定するかは任意に設定可能である。

0092

また、決定部903は、下記式(2)を用いて、算出した配線総遅延量の残エラー数E2と、全パス数Nとに基づいて、残エラー割合R2を算出する。残エラー割合R2は、第1の回路内の全パスのうち、配線総遅延量に関するタイミングエラーが発生しているパスがどの程度残っているのかを表す指標である(単位:%)。

0093

R2=E2÷N×100 ・・・(2)

0094

そして、決定部903は、算出した残エラー割合R2に基づいて、第1の回路の設計者の物理設計に関するスキルランクを決定する。例えば、決定部903は、残エラー割合R2が10[%]未満であれば、物理設計に関するスキルランクを「上級」に決定する。また、決定部903は、残エラー割合R2が10[%]以上30[%]以下であれば、物理設計に関するスキルランクを「中級」に決定する。また、決定部903は、残エラー割合R2が30[%]より大きければ、物理設計に関するスキルランクを「初級」に決定する。

0095

一例として、全パス数Nを「N=10,000」とし、配線総遅延量の残エラー数E2を「E1=1,350」とすると、残エラー割合R2は「R2=13.5[%]」となる。この場合、残エラー割合R2が10[%]以上30[%]以下のため、物理設計に関するスキルランクは「中級」に決定される。

0096

なお、残エラー割合R2に応じて、物理設計に関するスキルランクをどのように決定するかは任意に設定可能である。

0097

検索部904は、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部910を参照して、決定したスキルランクと第1の回路の設計難易度とに対応する教育講座を検索する。

0098

具体的には、例えば、まず、検索部904は、図7に示した設計難易度テーブル520を参照して、第1の回路の設計難易度を特定する。例えば、第1の回路の回路使用率が30[%]で、最高動作周波数が100[MHz]の場合、第1の回路の設計難易度は「1」となる。なお、第1の回路の回路使用率と最高動作周波数は、例えば、管理者がテストデザインを選定する際に定義されて、記憶部910に記憶される。

0099

つぎに、検索部904は、図8に示した教育講座テーブル530を参照して、決定された論理設計に関するスキルランクと、特定した第1の回路の設計難易度とに対応する教育講座を検索する。また、決定部903は、教育講座テーブル530を参照して、決定された物理設計に関するスキルランクと、特定した第1の回路の設計難易度とに対応する教育講座を検索する。

0100

一例として、第1の回路の設計難易度を「1」とし、論理設計に関するスキルランクを「上級」とする。この場合、設計難易度「1」、スキル種別「論理系」およびスキルランク「上級」の組合せに対応する教育講座「高速信号処理」が検索される。また、第1の回路の設計難易度を「1」とし、物理設計に関するスキルランクを「中級」とする。この場合、設計難易度「1」、スキル種別「物理系」およびスキルランク「中級」の組合せに対応する教育講座「デバイス構造」、「電気的特性」が検索される。

0101

出力部905は、検索された結果を出力する。出力部905の出力形式としては、例えば、メモリ602、ディスク605などの記憶装置への記憶、I/F603による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。

0102

具体的には、例えば、出力部905は、第1の回路の設計者と対応付けて、検索された教育講座を示す情報を出力することにしてもよい。第1の回路の設計者を特定する情報は、例えば、設計者端末501から取得されるRTLデータに付与されていてもよく、また、記憶部910に記憶されていてもよい。

0103

より詳細に説明すると、例えば、出力部905は、図5に示した管理者端末502に設計者教育講座検索結果情報を送信することにしてもよい。設計者教育講座検索結果情報は、第1の回路を特定する情報、または、第1の回路の設計者を特定する情報と対応付けて、検索された教育講座を示す情報である。

0104

この結果、管理者端末502において、図13に示すような設計者教育講座検索結果画面1300が表示される。なお、出力部905は、設計者教育講座検索結果情報を、設計者端末501に送信することにしてもよい。この場合、設計者端末501において、図13に示すような設計者教育講座検索結果画面1300が表示される。

0105

(設計者教育講座検索結果画面1300の画面例)
つぎに、図13を用いて、管理者端末502に表示される設計者教育講座検索結果画面1300の画面例について説明する。

0106

図13は、設計者教育講座検索結果画面1300の画面例を示す説明図である。図13において、設計者教育講座検索結果画面1300は、回路の設計者と対応付けて、設計者の弱点を補完するための教育講座を示す画面である。設計者教育講座検索結果画面1300において、「回路XXX」は、第1の回路の識別子である。また、「富士太郎」は、第1の回路の論理設計を行った設計者である。また、「川崎花子」は、第1の回路の物理設計を行った設計者である。

0107

設計者教育講座検索結果画面1300によれば、管理者は、設計者「富士太郎」の論理設計に関する弱点を補完するために教育講座「高速信号処理」を受講することが望ましいことがわかる。また、管理者は、設計者「川崎花子」の物理設計に関する弱点を補完するために教育講座「デバイス構造」、「電気的特性」を受講することが望ましいことがわかる。

0108

管理者は、例えば、設計者「富士太郎」に教育講座「高速信号処理」を提供することで、設計者「富士太郎」にとって弱点である分野の学習をさせることができる。また、管理者は、設計者「川崎花子」に教育講座「デバイス構造」、「電気的特性」を提供することで、設計者「川崎花子」にとって弱点である分野の学習をさせることができる。

0109

(設計者教育講座検索装置101の設計者教育講座検索手順)
図14および図15は、設計者教育講座検索装置101の設計者教育講座検索手順の一例を示すフローチャートである。図14において、設計者教育講座検索装置101は、設計者により設計された対象回路のRTLデータを取得する(ステップS1401)。つぎに、設計者教育講座検索装置101は、設計者等の指示に応じて、取得したRTLデータの論理検証を実行する(ステップS1402)。

0110

そして、設計者教育講座検索装置101は、論理検証が実行されたRTLデータと、タイミング制約情報とに基づいて、論理合成を実行して論理合成データを生成する(ステップS1403)。つぎに、設計者教育講座検索装置101は、生成した論理合成データに対応する回路をFPGA上に配置配線する処理を実行して配置配線データを生成する(ステップS1404)。

0111

そして、設計者教育講座検索装置101は、生成した配置配線データに基づくタイミング検証を実行する(ステップS1405)。タイミング検証結果は、記憶部910に記憶される。つぎに、設計者教育講座検索装置101は、記憶部910に記憶されたタイミング検証結果から、タイミングエラーが発生したパスの遅延量およびパスに含まれる素子の配置配線情報を含むエラー情報を取得する(ステップS1406)。

0112

そして、設計者教育講座検索装置101は、素子総遅延量比較処理を実行する(ステップS1407)。素子総遅延量比較処理は、素子総遅延量の設計値と正解値とを比較する処理である。素子総遅延量比較処理の具体的な処理手順については、図16を用いて後述する。

0113

つぎに、設計者教育講座検索装置101は、配線総遅延量比較処理を実行して(ステップS1408)、図15に示すステップS1501に移行する。配線総遅延量比較処理は、配線総遅延量の設計値と正解値とを比較する処理である。配線総遅延量比較処理の具体的な処理手順については、図17を用いて後述する。

0114

図15のフローチャートにおいて、まず、設計者教育講座検索装置101は、エラー要因リスト1200を参照して、素子総遅延量の比較結果が「NG」のパスの数を計数して、素子総遅延量の残エラー数E1を算出する(ステップS1501)。そして、設計者教育講座検索装置101は、上記式(1)を用いて、算出した素子総遅延量の残エラー数E1と、対象回路の全パス数Nとに基づいて、残エラー割合R1を算出する(ステップS1502)。

0115

つぎに、設計者教育講座検索装置101は、エラー要因リスト1200を参照して、配線総遅延量の比較結果が「NG」のパスの数を計数して、配線総遅延量の残エラー数E2を算出する(ステップS1503)。そして、設計者教育講座検索装置101は、上記式(2)を用いて、算出した配線総遅延量の残エラー数E2と、対象回路の全パス数Nとに基づいて、残エラー割合R2を算出する(ステップS1504)。

0116

つぎに、設計者教育講座検索装置101は、算出した残エラー割合R1に基づいて、対象回路の設計者の論理設計に関するスキルランクを決定する(ステップS1505)。そして、設計者教育講座検索装置101は、算出した残エラー割合R2に基づいて、対象回路の設計者の物理設計に関するスキルランクを決定する(ステップS1506)。

0117

つぎに、設計者教育講座検索装置101は、設計難易度テーブル520を参照して、対象回路の設計難易度を特定する(ステップS1507)。そして、設計者教育講座検索装置101は、教育講座テーブル530を参照して、決定した論理設計に関するスキルランクと、特定した対象回路の設計難易度とに対応する教育講座を検索する(ステップS1508)。

0118

つぎに、設計者教育講座検索装置101は、教育講座テーブル530を参照して、決定した物理設計に関するスキルランクと、特定した対象回路の設計難易度とに対応する教育講座を検索する(ステップS1509)。そして、設計者教育講座検索装置101は、対象回路を特定する情報と対応付けて、検索した教育講座を示す設計者教育講座検索結果情報を出力して(ステップS1510)、本フローチャートによる一連の処理を終了する。

0119

これにより、素子総遅延量の残エラー割合R1から、論理設計に関するスキルランクを判断して、論理設計を行った設計者の弱点を補完する教育講座を検索することができる。また、配線総遅延量の残エラー割合R2から、物理設計に関するスキルランクを判断して、物理設計を行った設計者の弱点を補完する教育講座を検索することができる。

0120

図16は、素子総遅延量比較処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、設計者教育講座検索装置101は、取得したエラー情報から、パスの遅延量に関する設計値(素子総遅延量)と、素子総遅延量学習モデルM1が学習するときの入力である特徴量とを抽出する(ステップS1601)。

0121

つぎに、設計者教育講座検索装置101は、抽出した特徴量を素子総遅延量学習モデルM1に入力して、当該パスの素子総遅延量の正解値を推定する(ステップS1602)。そして、設計者教育講座検索装置101は、抽出した設計値(素子総遅延量)が、推定した正解値以下であるか否かを判断する(ステップS1603)。

0122

ここで、設計値(素子総遅延量)が正解値以下の場合(ステップS1603:Yes)、設計者教育講座検索装置101は、素子総遅延量の設計値がエラーでないことを示す「OK」を比較結果としてエラー要因リスト1200に記憶して(ステップS1604)、ステップS1606に移行する。

0123

一方、設計値(素子総遅延量)が正解値より大きい場合(ステップS1603:No)、設計者教育講座検索装置101は、素子総遅延量の設計値がエラーであることを示す「NG」を比較結果としてエラー要因リスト1200に記憶する(ステップS1605)。そして、設計者教育講座検索装置101は、ステップS1406において取得された全てのエラー情報から、設計値(素子総遅延量)と特徴量とを抽出したか否かを判断する(ステップS1606)。

0124

ここで、未抽出のエラー情報がある場合(ステップS1606:No)、設計者教育講座検索装置101は、ステップS1601に戻って、未抽出のエラー情報から、設計値(素子総遅延量)と特徴量とを抽出する。一方、全てのエラー情報から抽出した場合(ステップS1606:Yes)、設計者教育講座検索装置101は、素子総遅延量比較処理を呼び出したステップに戻る。

0125

これにより、対象回路(第1の回路)内のタイミングエラーが発生したパスのうち、素子総遅延量が大きいことがタイミングエラーの原因であるパスを特定することができる。なお、設計者教育講座検索装置101は、パスに含まれるLUTのみの遅延量を素子総遅延量として推定することにしてもよい。

0126

図17は、配線総遅延量比較処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、設計者教育講座検索装置101は、取得したエラー情報から、パスの遅延量に関する設計値(配線総遅延量)と、配線総遅延量学習モデルM2が学習するときの入力である特徴量とを抽出する(ステップS1701)。

0127

つぎに、設計者教育講座検索装置101は、抽出した特徴量を配線総遅延量学習モデルM2に入力して、当該パスの配線総遅延量の正解値を推定する(ステップS1702)。そして、設計者教育講座検索装置101は、抽出した設計値(配線総遅延量)が、推定した正解値以下であるか否かを判断する(ステップS1703)。

0128

ここで、設計値(配線総遅延量)が正解値以下の場合(ステップS1703:Yes)、設計者教育講座検索装置101は、配線総遅延量の設計値がエラーでないことを示す「OK」を比較結果としてエラー要因リスト1200に記憶して(ステップS1704)、ステップS1706に移行する。

0129

一方、設計値(配線総遅延量)が正解値より大きい場合(ステップS1703:No)、設計者教育講座検索装置101は、配線総遅延量の設計値がエラーであることを示す「NG」を比較結果としてエラー要因リスト1200に記憶する(ステップS1705)。そして、設計者教育講座検索装置101は、ステップS1406において取得された全てのエラー情報から、設計値(配線総遅延量)と特徴量とを抽出したか否かを判断する(ステップS1706)。

0130

ここで、未抽出のエラー情報がある場合(ステップS1706:No)、設計者教育講座検索装置101は、ステップS1701に戻って、未抽出のエラー情報から、設計値(配線総遅延量)と特徴量とを抽出する。一方、全てのエラー情報から抽出した場合(ステップS1706:Yes)、設計者教育講座検索装置101は、配線総遅延量比較処理を呼び出したステップに戻る。

0131

これにより、対象回路(第1の回路)内のタイミングエラーが発生したパスのうち、配線総遅延量が大きいことがタイミングエラーの原因であるパスを特定することができる。

0132

以上説明したように、実施の形態にかかる設計者教育講座検索装置101によれば、各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルMを用いて、第1の回路内のパスのタイミングエラーの要因を特定することができる。また、設計者教育講座検索装置101によれば、第1の回路内のパスのうち、特定した要因のタイミングエラーが発生したパスの数に基づいて、第1の回路の設計者のスキルランクを決定することができる。そして、設計者教育講座検索装置101によれば、回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部910を参照して、決定したスキルランクと第1の回路の設計難易度とに対応する教育講座を検索し、検索した結果を出力することができる。

0133

これにより、設計者が設計した対象回路内のパスごとのタイミングエラーの要因特定を自動化して、タイミングエラー解析にかかる工数を削減することができる。このため、回路全体としてのタイミングエラーの傾向を容易に把握することができ、設計者のスキルランクを適切に判断して、設計者の弱点を補完する教育講座を提供可能となる。

0134

また、設計者教育講座検索装置101によれば、回路内のパスの特徴量と素子総遅延量との関係を学習した機械学習モデルM1を用いて、第1の回路内のパスのタイミングエラーが、素子総遅延量に関するタイミングエラーであるか否かを特定することができる。さらに、設計者教育講座検索装置101によれば、第1の回路内の全パスの数(全パス数N)に対する、素子総遅延量に関するタイミングエラーが発生したパスの数(残エラー数E1)の割合(残エラー割合R1)に基づいて、第1の回路の設計者の論理設計に関するスキルランクを決定することができる。そして、設計者教育講座検索装置101によれば、決定した論理設計に関するスキルランクと第1の回路の設計難易度とに対応する教育講座を検索することができる。

0135

これにより、タイミングエラーを解消するために論理設計に関するスキルが求められるエラーの多さから、論理設計を行った設計者のスキルランクを判断して、設計者の弱点を補完する教育講座を提供可能となる。

0136

また、設計者教育講座検索装置101によれば、回路内のパスの特徴量と配線総遅延量との関係を学習した機械学習モデルM2を用いて、第1の回路内のパスのタイミングエラーが、配線総遅延量に関するタイミングエラーであるか否かを特定することができる。さらに、設計者教育講座検索装置101によれば、第1の回路内の全パスの数(全パス数N)に対する、配線総遅延量に関するタイミングエラーが発生したパスの数(残エラー数E2)の割合(残エラー割合R2)に基づいて、第1の回路の設計者の物理設計に関するスキルランクを決定することができる。そして、設計者教育講座検索装置101によれば、決定した物理設計に関するスキルランクと第1の回路の設計難易度とに対応する教育講座を検索することができる。

0137

これにより、タイミングエラーを解消するために物理設計に関するスキルが求められるエラーの多さから、物理設計を行った設計者のスキルランクを判断して、設計者の弱点を補完する教育講座を提供可能となる。

0138

また、設計者教育講座検索装置101によれば、第1の回路の回路使用率または動作周波数の少なくともいずれかに応じて、第1の回路の設計難易度を特定することができる。これにより、対象回路(テストデザイン)の回路使用率や動作周波数などによって変わる設計の難しさを考慮して、設計者の弱点を補完するための教育講座を検索することができる。

0139

これらのことから、設計者教育講座検索装置101によれば、設計者がどのスキルをどの程度保有しているのかを判断することが可能となり、設計者の弱点を補完するための効果的な教育プランニングを行うことができる。

0140

なお、本実施の形態で説明した設計者教育講座検索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計者教育講座検索プログラムは、ハードディスクフレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本設計者教育講座検索プログラムは、インターネット等のネットワークを介して配布してもよい。

0141

上述した実施の形態に関し、さらに以下の付記を開示する。

0142

(付記1)各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、
前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、
回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、
検索した結果を出力する、
処理をコンピュータに実行させることを特徴とする設計者教育講座検索プログラム。

0143

(付記2)前記機械学習モデルは、回路内のパスの特徴量と前記パスに含まれる素子の遅延量を合計した素子総遅延量との関係を学習した第1の機械学習モデルであり、
前記記憶部は、回路の設計難易度と、設計者の論理設計に関するスキルランクと、教育講座との対応関係を記憶しており、
前記特定する処理は、前記第1の機械学習モデルを用いて、前記第1の回路内のパスのタイミングエラーが、素子総遅延量に関するタイミングエラーであるか否かを特定し、
前記決定する処理は、前記第1の回路内の全パスの数に対する、素子総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、前記第1の回路の設計者の論理設計に関するスキルランクを決定し、
前記検索する処理は、前記記憶部を参照して、決定した前記論理設計に関するスキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索する、
ことを特徴とする付記1に記載の設計者教育講座検索プログラム。

0144

(付記3)前記機械学習モデルは、回路内のパスの特徴量と前記パスに含まれる配線の遅延量を合計した配線総遅延量との関係を学習した第2の機械学習モデルであり、
前記記憶部は、回路の設計難易度と、設計者の物理設計に関するスキルランクと、教育講座との対応関係を記憶しており、
前記特定する処理は、前記第2の機械学習モデルを用いて、前記第1の回路内のパスのタイミングエラーが、配線総遅延量に関するタイミングエラーであるか否かを特定し、
前記決定する処理は、前記第1の回路内の全パスの数に対する、配線総遅延量に関するタイミングエラーが発生したパスの数の割合に基づいて、前記第1の回路の設計者の物理設計に関するスキルランクを決定し、
前記検索する処理は、前記記憶部を参照して、決定した前記物理設計に関するスキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索する、
ことを特徴とする付記1または2に記載の設計者教育講座検索プログラム。

0145

(付記4)前記第1の回路の設計難易度は、前記第1の回路の回路使用率または動作周波数の少なくともいずれかに応じて特定される、ことを特徴とする付記1〜3のいずれか一つに記載の設計者教育講座検索プログラム。

0146

(付記5)前記特定する処理は、
前記第1の回路のタイミング検証結果に含まれるパスのエラー情報から、当該パスの特徴量と遅延量に関する設計値とを抽出し、
抽出した前記パスの特徴量と前記機械学習モデルとから、前記パスの遅延量に関する正解値を推定し、
推定した前記正解値と、抽出した前記パスの遅延量に関する設計値とを比較した結果に基づいて、前記パスのタイミングエラーの要因を特定する、ことを特徴とする付記1〜4のいずれか一つに記載の設計者教育講座検索プログラム。

0147

(付記6)各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、
前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、
回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、
検索した結果を出力する、
処理をコンピュータが実行することを特徴とする設計者教育講座検索方法。

0148

(付記7)各種回路内のタイミングエラーが発生していないパスの特徴量と遅延量との関係を学習した機械学習モデルを用いて、設計者によって設計された第1の回路内のパスのタイミングエラーの要因を特定し、
前記第1の回路内のパスのうち、特定した前記要因のタイミングエラーが発生したパスの数に基づいて、前記第1の回路の設計者のスキルランクを決定し、
回路の設計難易度と、設計者のスキルランクと、教育講座との対応関係を記憶する記憶部を参照して、決定した前記スキルランクと前記第1の回路の設計難易度とに対応する教育講座を検索し、
検索した結果を出力する、
制御部を有することを特徴とする設計者教育講座を検索する装置。

0149

101設計者教育講座検索装置
110,910 記憶部
200エラー情報
500 設計者教育講座検索システム
501設計者端末
502管理者端末
510ネットワーク
520 設計難易度テーブル
530 教育講座テーブル
600バス
601 CPU
602メモリ
603 I/F
604ディスクドライブ
605ディスク
901 取得部
902 特定部
903 決定部
904検索部
905 出力部
1200エラー要因リスト
1300 設計者教育講座検索結果画面

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ