(57)【要約】【課題】タイミングエラーを解消するための対策案の検討作業を容易にする。【解決手段】情報処理装置１は、エラー情報から、信号パスの遅延量に関する設計値と、設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出する。次いで、情報処理装置１は、特徴量と、設計値と特徴量との関係を学習した機械学習モデルとから、設計値の正解値を推定する。次いで、情報処理装置１は、設計値と正解値とを比較した比較結果を記憶する。情報処理装置１は、比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成する。そして、情報処理装置１は、比較結果リストに含まれる信号パスを設計ブロック毎に集約して、設計ブロック毎に集約された信号パスを示す情報と、対策案とを含むエラーリストを生成し、エラーリストを出力する。【選択図】図５
2019036199.tif 000002
【特許請求の範囲】
【請求項１】
タイミングエラーが発生した信号パスの遅延量、及び前記信号パスに含まれる素子の配置配線情報を含むエラー情報から、前記信号パスの遅延量に関する設計値と、前記設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出し、
前記特徴量と、前記設計値と前記特徴量との関係を学習した機械学習モデルとから、前記設計値の正解値を推定し、
前記設計値と前記正解値とを比較し、比較した結果を示す比較結果を記憶し、
前記比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成し、
前記比較結果リストに含まれる信号パスを設計ブロック毎に集約して、前記設計ブロック毎に集約された信号パスを示す情報と、前記対策案とを含むエラーリストを生成し、
前記エラーリストを出力する、
処理をコンピュータに実行させるタイミングエラー解析プログラム。
【請求項２】
前記設計値は、前記信号パスに含まれる素子の素子遅延量の合計の遅延量である素子総遅延量、及び前記信号パスに含まれる配線による遅延量の合計の遅延量である配線総遅延量を含み、
前記比較結果を記憶する処理は、
前記素子総遅延量が前記素子総遅延量の正解値よりも大きいときに、前記信号パスの素子総遅延量がタイミングエラーの原因であることを示す素子遅延エラー情報を生成し、前記素子遅延エラー情報を前記信号パスの識別情報と関連付けて記憶し、
前記配線総遅延量が前記配線総遅延量の正解値よりも大きいときに、前記信号パスの配線総遅延量がタイミングエラーの原因であることを示す配線遅延エラー情報を生成し、前記配線遅延エラー情報を前記信号パスの識別情報と関連付けて記憶する、
処理を含む、請求項１に記載のタイミングエラー解析プログラム。
【請求項３】
前記比較結果リストに基づいて、前記素子遅延エラー情報に関連付けられた信号パスと前記配線遅延エラー情報に関連付けられた信号パスとの比率を示す第１エラー比率情報を生成し、
前記第１エラー比率情報を出力する、
処理を更に含む、請求項２に記載のタイミングエラー解析プログラム。
【請求項４】
前記設計値は、前記信号パスに含まれる素子の配置領域に関連する配置領域情報、及び前記信号パスに含まれる配線の合計の配線長を示す配線長情報を更に含み、
前記比較結果リストを生成する処理は、
前記配置領域情報が前記配置領域情報の正解値よりも大きいときに、前記信号パスの配置領域情報がタイミングエラーの原因であることを示す配置領域エラー情報を生成し、前記配置領域エラー情報を前記信号パスの識別情報と関連付けて記憶し、
前記配線長情報に対応する配線長が前記配線長の正解値よりも大きいときに、前記信号パスの迂回配線がタイミングエラーの原因であることを示す迂回配線エラー情報を生成し、前記迂回配線エラー情報を前記信号パスの識別情報と関連付けて記憶する、
処理を更に含む、請求項２又は３に記載のタイミングエラー解析プログラム。
【請求項５】
前記比較結果リストに基づいて前記配置領域エラー情報に関連付けられた信号パスと前記迂回配線エラー情報に関連付けられた信号パスとの比率を示す第２エラー比率情報を生成し、
前記第２エラー比率情報を出力する、
処理を更に含む、請求項４に記載のタイミングエラー解析プログラム。
【請求項６】
前記エラーリストを生成する処理は、
他の信号パスとバスを形成する信号パスを、前記他の信号パスと一体化して単一の信号パスとして規定する、
処理を更に含む、請求項１〜５の何れか一項に記載のタイミングエラー解析プログラム。
【請求項７】
前記比較結果リストは、前記信号パスに含まれる素子を示す識別情報を含み、
前記比較結果リストに含まれる信号パスを設計ブロック毎に集約する処理は、
前記識別情報に基づいて、前記信号パスが集約される設計ブロックを決定する、
処理を更に含む、請求項１〜６の何れか一項に記載のタイミングエラー解析プログラム。
【請求項８】
タイミングエラーが発生した信号パスの遅延量、及び前記信号パスに含まれる素子の配置配線情報を含むエラー情報から、前記信号パスの遅延量に関する設計値と、前記設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出するパラメータ抽出部と、
前記特徴量と、前記設計値と前記特徴量との関係を学習した機械学習モデルとから、前記設計値の正解値を推定する正解値推定部と、
前記設計値と前記正解値とを比較し、比較した結果を示す比較結果を記憶する正解値比較部と、
前記比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成比較結果リスト生成部と、
前記比較結果リストに含まれる信号パスを設計ブロック毎に集約して、前記設計ブロック毎に集約された信号パスを示す情報と、前記対策案とを含むエラーリストを生成するエラーリスト生成部と、
前記エラーリストを出力するエラーリスト出力部と、
を有する情報処理装置。
【請求項９】
タイミングエラーが発生した信号パスの遅延量、及び前記信号パスに含まれる素子の配置配線情報を含むエラー情報から、前記信号パスの遅延量に関する設計値と、前記設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出し、
前記特徴量と、前記設計値と前記特徴量との関係を学習した機械学習モデルとから、前記設計値の正解値を推定し、
前記設計値と前記正解値とを比較し、比較した結果を示す比較結果を記憶し、
前記比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成し、
前記比較結果リストに含まれる信号パスを設計ブロック毎に集約して、前記設計ブロック毎に集約された信号パスを示す情報と、前記対策案とを含むエラーリストを生成し、
前記エラーリストを出力する、
ことをコンピュータに実行させるタイミングエラー解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、タイミングエラー解析プログラム及びタイミングエラー解析方法に関する。
【背景技術】
【０００２】
フィールドプログラマブルゲートアレイ（Field Programmable Gate Array、ＦＰＧＡ）等の半導体回路の設計において、クリティカル信号パス等のタイミングエラーの有無を検証するときに検証を容易にするための種々の技術が知られている。例えば、信号パスの遅延量の計算結果をリストとして表示部に表示させることで、設計者による信号パスの選択を容易にする技術が知られている（例えば、特許文献１を参照）。また、配線の遅延値を所与の範囲でグループ分けして遅延値に対応する配線の数を棒グラフで表したヒストグラムを表示することで、クリティカル信号パスが存在する範囲の把握を容易にする技術が知られている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２７８９９８号公報
【特許文献２】特開２００３−３０２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ＦＰＧＡ等の半導体装置の微細化及び高機能化等の進展に伴って、半導体装置に搭載される回路規模が増大することで、回路設計時に発生するタイミングエラーの数が増加している。タイミングエラーの数が多くなると、タイミングエラーを解消するための対策案の検討作業が煩雑になり作業工数も増加している。
【０００５】
一実施形態では、タイミングエラーを解消するための対策案の検討作業を容易にすることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、情報処理装置は、エラー情報から、信号パスの遅延量に関する設計値と、設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出する。エラー情報は、タイミングエラーが発生した信号パスの遅延量、及び信号パスに含まれる素子の配置配線情報を含む。次いで、情報処理装置は、特徴量と、設計値と特徴量との関係を学習した機械学習モデルとから、設計値の正解値を推定する。次いで、情報処理装置は、設計値と正解値とを比較し、比較した結果を示す比較結果を記憶する。次いで、情報処理装置は、比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成する。そして、情報処理装置は、比較結果リストに含まれる信号パスを設計ブロック毎に集約して、設計ブロック毎に集約された信号パスを示す情報と、対策案とを含むエラーリストを生成し、エラーリストを出力する。
【発明の効果】
【０００７】
一実施形態では、タイミングエラーを解消するための対策案の検討作業を容易にすることができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）はＦＰＧＡの概略平面図であり、（ｂ）は（ａ）に示すＣＬＢの内部ブロック図であり、（ｃ）は（ｂ）に示すＬＥの内部ブロック図である。
【図２】情報処理装置によるＦＰＧＡ設計処理を示す図である。
【図３】タイミングエラーが発生した信号パスのエラー情報の一例を示す図である。
【図４】（ａ）は信号パスの一例を示す図であり、（ｂ）は信号パスの他の例を示す図であり、（ｃ）は信号パスの更に他の例を示す図である。
【図５】実施形態に係るタイミングエラー解析を示す説明図である。
【図６】（ａ）は第１実施形態に係るタイミングエラー解析を実行する情報処理装置の回路ブロック図であり、（ｂ）は（ａ）に示す処理部の機能ブロック図である。
【図７】（ａ）は図６（ａ）に示す素子総遅延量学習モデルを説明するための図であり、（ｂ）は図６（ａ）に示す配線総遅延量学習モデルを説明するための図であり、（ｃ）は図６（ａ）に示す配線領域学習モデルを説明するための図であり、（ｄ）は図６（ａ）に示す迂回配線学習モデルを説明するための図である。
【図８】矩形形状の検出枠のマージン量を説明するための図である。
【図９】図６（ａ）に示す情報処理装置によるタイミングエラー解析処理のフローチャートである。
【図１０】図９に示すＳ２０７のより詳細な処理を示すフローチャートである。
【図１１】図９に示すＳ２１１の処理で生成される比較結果リストの一例を示す図である。
【図１２】（ａ）はＳ２１２の処理で生成されるエラーリストの一例を示す図であり、（ｂ）は（ａ）に示すエラーリストを説明するための図である。
【図１３】（ａ）は第２実施形態に係るタイミングエラー解析を実行する情報処理装置の回路ブロック図であり、（ｂ）は（ａ）に示す処理部の機能ブロック図である。
【図１４】図１３（ａ）に示す情報処理装置によるタイミングエラー解析処理のフローチャートである。
【図１５】（ａ）はエラー比率情報の一例を示す図であり、（ｂ）はエラー比率情報の他の例を示す図である。
【図１６】（ａ）は第３実施形態に係るタイミングエラー解析を実行する情報処理装置の回路ブロック図であり、（ｂ）は（ａ）に示す処理部の機能ブロック図である。
【図１７】図１６（ａ）に示す情報処理装置によるタイミングエラー解析処理のフローチャートである。
【図１８】図１７に示すＳ５１２のより詳細な処理を示すフローチャートである。
【図１９】図１７に示すＳ５１２の処理で生成されるエラーリストの一例を示す図である。
【図２０】第３実施形態に係る情報処理装置の作用効果を説明するための図である。
【発明を実施するための形態】
【０００９】
以下図面を参照して、情報処理装置、タイミングエラー解析プログラム及びタイミングエラー解析方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
【００１０】
（一般的なＦＰＧＡの設計方法）
実施形態に係るについて説明する前に、一般的なＦＰＧＡの設計方法について説明する。
【００１１】
図１（ａ）はＦＰＧＡの概略平面図であり、図１（ｂ）は図１（ａ）に示すＣＬＢの内部ブロック図であり、図１（ｃ）は図１（ｂ）に示すＬＥの内部ブロック図である。
【００１２】
ＦＰＧＡ９００は、外周部に沿って配置される複数のＩＯブロック９０１と、複数のＩＯブロック９０１に囲まれる内部領域にアレイ状に配置される複数のＣＬＢ９０２、と、ブロックＲＡＭ９０３及びＤＳＰ９０４等のＩＰプロックを有する。図１（ａ）において、ブロックＲＡＭ９０３は右下がり斜線のハッチが付され、ＤＳＰ９０４は左下がり斜線のハッチが付される。ＩＯブロック９０１、ＣＬＢ９０２、ブロックＲＡＭ９０３及びＤＳＰ９０４の間には、それぞれのブロックを接続可能な配線及びスイッチを有する配線領域が形成される。
【００１３】
ＣＬＢ９０２は、複数のロジックエレメント（Logic Element、ＬＥ）９２０を有する。複数のＬＥ９２０のそれぞれは、ルックアップテーブル（Look-Up Table、ＬＵＴ）９２１と、フリップフロップ９２２とを有する。ＬＵＴ９２１は、論理素子とも称され、多入力−１出力のテーブルであり、入力数に応じた規模のメモリで形成される。例えば、ＬＵＴ９２１は、５入力−１出力の場合には、３２ビットのメモリにより形成される。ＬＵＴ９２１は、配置配線処理時に外部から入力される設定に応じて、所望の組み合わせ回路を実現する。フリップフロップ９２２は、ＬＵＴ９２１から出力される信号を、配線領域を介して入力されるクロックに応じてラッチして、ラッチした信号を配線領域を介して他のＣＬＢ９０２に出力する。
【００１４】
図２は、不図示の情報処理装置によるＦＰＧＡ設計処理を示す図である。情報処理装置は、例えば、パーソナルコンピュータ等の電子計算機である。図２に示すＦＰＧＡ設計処理は、予め情報処理装置のメモリに記憶させているコンピュータプログラムに基づいて、主に中央処理装置（Central Processing Unit、ＣＰＵ）等の演算部により情報処理装置の各要素と協働して実行される。
【００１５】
まず、情報処理装置は、設計者により設計されたＲＴＬを示すＲＴＬデータを取得し（Ｓ１０１）、取得したＲＴＬデータに対応するＲＴＬの論理検証を実行する（Ｓ１０２）。次いで、情報処理装置は、論理検証が実行されたＲＴＬデータと、タイミング制約情報とに基づいて論理合成を実行して、ネットリストとも称される論理合成データを生成する（Ｓ１０３）。タイミング制約情報は、クロック周波数等の使用するＦＰＧＡのタイミング制約を示す。次いで、情報処理装置は、生成された論理合成データに対応する回路をＦＰＧＡ上に配置配線する処理を実行して配置配線データを生成する（Ｓ１０４）。次いで、情報処理装置は、配置配線データに対応する配置配線情報のタイミング検証を実行して（Ｓ１０５）、タイミング検証結果を示すタイミング検証データを出力する（Ｓ１０６）。設計者は、タイミング検証結果を参照して、タイミングエラーが発生している信号パスのそれぞれについて、フリップフロップを追加するようにＲＴＬを書き換えるといった修正を行うなどで、タイミングエラーが発生している信号パスのタイミングエラーを解消する。
【００１６】
しかしながら、ＦＰＧＡ等の半導体装置の微細化及び高機能化等の進展に伴って、半導体装置に搭載される回路規模が増大することに応じて、回路設計時に発生するタイミングエラーの数が増加している。タイミングエラーの数が多くなると、タイミングエラーを解消するための対策案の検討作業が煩雑になるおそれがある。
【００１７】
図３は、タイミングエラーが発生した信号パスのエラー情報の一例を示す図である。図３において、タイミングエラーが発生した信号パスの識別子は「信号パス１」であり、「信号パス１」の初段すなわち送信端の素子の識別子は「ＡＡＡ」であり、「信号パス１」の最終段すなわち受信端の素子の識別子は「ＢＢＢ」である。また、「信号パス１」を通過する信号のクロック周期は８〔ｎｓ〕であり、タイミングエラーの大きさを示す「違反量」は１．２〔ｎｓ〕である。
【００１８】
設計者は、エラー情報に示される信号パスのそれぞれについて、タイミングエラーが発生した要因を解析する。図３に示す例では、まず、設計者は、送信端の素子「ＡＡＡ」と受信端の素子「ＢＢＢ」との間にある中間素子である「素子Ａ」における遅延増加量が大きいことを把握する。次いで、設計者は、素子「ＡＡＡ」及び「ＢＢＢ」と、「素子Ａ」との間の位置関係に注目する。素子「ＡＡＡ」のＸ座標は「９」であり、素子「ＢＢＢ」のＸ座標が「１７」であるのに対し、「素子Ａ」のＸ座標は「１００」である。設計者は、「素子Ａ」が素子「ＡＡＡ」及び「ＢＢＢ」と離隔して配置されるために、「素子Ａ」における遅延増加量が大きくなり「信号パス１」にタイミングエラーが発生したと判断して、「素子Ａ」の配置を変更するように設計変更する。
【００１９】
設計者は、エラー情報に示される信号パスのそれぞれについて解析を実行するため、タイミングエラーが発生したバスの増加に従って解析時間は膨大になる。例えば数千個の信号パスの解析処理を一人の設計者が実行することは容易ではないため、タイミングエラーの解析は、複数の設計者のそれぞれが例えば数百個ずつ解析処理を実行する。
【００２０】
（実施形態に係る情報処理装置の概要）
実施形態に係る情報処理装置は、タイミングエラーが発生した信号パスの遅延量及び信号パスに含まれる素子の配置配線情報を含むエラー情報から信号パスの遅延量に関する設計値と、設計値を機械学習モデルが学習するときの入力である特徴量とを抽出する。次いで、実施形態に係る情報処理装置は、特徴量と、設計値と特徴量との関係を学習した機械学習モデルとから推定した設計値の正解値と、設計値とを比較して、比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成する。そして、実施形態に係る情報処理装置は、比較結果リストに含まれる信号パスを設計ブロック毎に集約し、設計ブロック毎に集約された信号パスを示す情報と、対策案とを含むエラーリストを出力する。
【００２１】
具体的には、実施形態に係る情報処理装置は、信号パスの遅延量を素子総遅延量と配線総遅延量とに分離して、タイミングエラーの解析を実行する。素子総遅延量は信号パスに含まれる素子の素子遅延量の合計の遅延量であり、配線総遅延量は信号パスに含まれる配線による遅延量の合計の遅延量である。素子総遅延量は、図４（ａ）に示すように、信号パスに含まれる素子の段数が多くなるに従って大きくなる。また、実施形態に係る情報処理装置は、配線総遅延量を、信号パスに含まれる素子の配置領域に依存する素子配置領域要因と、信号パスに含まれる配線の合計の配線長に依存する配線迂回要因とに更に分離して、タイミングエラーの解析を実行する。素子配置領域要因は、図４（ｂ）に示すように、信号パスに含まれる素子が離隔して配置されるときに大きくなる。配線迂回要因は、図４（ｃ）に示すように、配線が迂回等して長くなるときに大きくなる。
【００２２】
実施形態に係る情報処理装置は、機械学習モデルが推定した設計値の正解値と、設計値との比較結果に含まれる信号パスを設計ブロック毎に集約したエラーリストを生成するので、タイミングエラーを解消するための対策案の検討作業が容易になる。すなわち、設計者は、学習モデルが推定した設計値の正解値と、設計値との比較結果を視認することで、タイミングエラーの傾向を把握することができるので、作業見積もり等の検討が容易になる。具体的には、実施形態に係る情報処理装置は、信号パスのタイミングエラーが素子総遅延量に起因すると判断すると、信号パスの素子総遅延量を低減するような対策を設計者に提示する。また、実施形態に係る情報処理装置は、信号パスのタイミングエラーが素子配置領域要因に起因すると判断すると、信号パスの素子配置領域要因を除去するような対策を設計者に提示する。また、実施形態に係る情報処理装置は、信号パスのタイミングエラーが配線迂回要因に起因すると判断すると、信号パスの配線迂回要因を除去するような対策を設計者に提示する。
【００２３】
また、エラーリストでは、設計値との比較結果に含まれる信号パスは、設計ブロック毎に集約されるので、設計者のそれぞれは、自分が設計した設計ブロックのタイミングエラーの傾向の把握が容易になり、タイミングエラーの対策案を検討する工数を削減できる。具体的には、実施形態に係る情報処理装置は、エラーリストを設計ブロック毎に集約して出力するので、複数の設計者は、自らが設計した設計ブロックにおけるタイミングエラーの傾向を容易に把握できる。
【００２４】
図５は、実施形態に係るタイミングエラー解析を示す説明図である。モデル作成者は、ＦＰＧＡの配置配線情報を含む過去の設計情報１０１に基づいて、機械学習モデル１０２及び対策案テーブル１０３を作成する。モデル作成者は、例えば情報処理装置１の提供者である。また、モデル作成者は、対象回路を設計するの設計者と同一であってもよい。設計者は、新たに設計されたネットリスト１０４と、タイミング検証結果を示すタイミング検証情報１０５とを情報処理装置１に入力する。
【００２５】
そして、情報処理装置１は、入力されたネットリスト１０４及びタイミング検証情報１０５と、作成された機械学習モデル１０２及び対策案テーブル１０３とに基づいてタイミングエラーの原因を解析する。そして、情報処理装置１は、レポート２００を出力する。レポート２００は、エラーリスト２０１と、第１エラー比率情報２０２と、第２エラー比率情報２０３とを含む。エラーリスト２０１は、設計ブロック毎に集約された信号パスと、それぞれの信号パスのタイミングエラーを解消するための対策案とを少なくとも含む。第１エラー比率情報２０２は、エラーリストに含まれる信号パスにおける素子総遅延量に起因するエラーが発生した信号パスと、配線総遅延量に起因するエラーが発生した信号パスとの比率を示す円グラフである。第２エラー比率情報２０３は、配線総遅延量に起因するエラーが発生した信号パスにおける素子配置領域要因に起因するエラーが発生した信号パスと、配線迂回要因に起因するエラーが発生した信号パスとの比率を示す円グラフである。
【００２６】
設計者は、エラーリスト２０１に示される対策案、並びに第１エラー比率情報２０２及び第２エラー比率情報２０３に示される比率等に基づいて、タイミングエラーが発生しないようにネットリストを修正する。
【００２７】
（第１実施形態に係るタイミングエラー解析を実行する情報処理装置の構成及び機能）
図６（ａ）は第１実施形態に係るタイミングエラー解析を実行する情報処理装置の回路ブロック図であり、図６（ｂ）は図６（ａ）に示す処理部の機能ブロック図である。
【００２８】
情報処理装置１は、通信部１０と、記憶部１１と、入力部１２と、出力部１３と、処理部２０とを有する。
【００２９】
通信部１０は、ＨＴＴＰ（Hypertext Transfer Protocol）のプロトコルに従ってインタネットを介して不図示のサーバ等と通信を行う。そして、通信部１０は、サーバ等から受信したデータを処理部２０に供給する。また、通信部１０は、処理部２０から供給されたデータをサーバ等に送信する。
【００３０】
記憶部１１は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部１１は、処理部２０での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部１１は、アプリケーションプログラムとして、ＦＰＧＡのタイミングエラー解析を実行するためのタイミングエラー解析プログラムを記憶する。タイミングエラー解析プログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部１１にインストールされてもよい。
【００３１】
また、記憶部１１は、タイミングエラー解析処理で使用される種々のデータを記憶する。さらに、記憶部１１は、所定の処理に係る一時的なデータを一時的に記憶してもよい。記憶部１１は、ＦＰＧＡに搭載される回路の論理を記述したＲＴＬ１１１と、クロック周波数等のＦＰＧＡのタイミング制約を記述したタイミング制約情報１１２と、ＦＰＧＡのデバイスの種類のそれぞれの素子の遅延量を示す素子遅延情報１１３とを記憶する。記憶部１１は、素子総遅延量学習モデル１１４と、配線総遅延量学習モデル１１５と、配線領域学習モデル１１６と、迂回配線学習モデル１１７と、対策案テーブル１１８とを更に記憶する。素子総遅延量学習モデル１１４〜迂回配線学習モデル１１７は図５に示す機械学習モデル１０２の具体例であり、対策案テーブル１１８は図５に示す対策案テーブル１０３の具体例である。
【００３２】
素子総遅延量学習モデル１１４〜迂回配線学習モデル１１７のそれぞれは、教師あり学習が実行された学習器であり、例えば、回帰型のサポートベクタマシン等で実現されるが、他アルゴリズムで実現しても良い。回帰型のサポートベクタマシンは、「サポートベクタマシン」（小野田崇著、人工知能学会編集、２００７年８月２０日発行）等に記載されているので、ここでは詳細な説明は省略する。
【００３３】
素子総遅延量学習モデル１１４〜迂回配線学習モデル１１７のそれぞれは、過去に設計されたＦＰＧＡの配置配線データに基づいて教師あり学習されている。素子総遅延量学習モデル１１４〜迂回配線学習モデル１１７のそれぞれが教師あり学習されるときの特徴量は、クロックの１周期の長さ又は周波数を含んでもよい。素子総遅延量学習モデル１１４等が教師あり学習されるときの特徴量は、信号パスの初段の送信素子、信号パスの中間に含まれる中間素子及び信号パスの最終段の受信素子のＦＰＧＡ上のそれぞれの配置位置を示す配置配線情報を更に含んでもよい。素子総遅延量学習モデル１１４等が教師あり学習されるときの特徴量は、動作温度等のＦＰＧＡの動作条件を示す情報等の他の情報を更に含んでもよい。素子総遅延量学習モデル１１４〜迂回配線学習モデル１１７のそれぞれは、適宜選択された特徴量を使用して教師あり学習を実行する。
【００３４】
素子総遅延量学習モデル１１４が教師あり学習されるときのラベルは、送信素子の素子遅延量、及び信号パスに含まれるＬＵＴの素子総遅延量である。配線領域学習モデル１１６の一例は、特願２０１７−１０９５１３号に記載される。素子総遅延量学習モデル１１４は、過去に設計されたＦＰＧＡの配置配線データから抽出された特徴量及びラベルを使用して教師あり学習されることで、所定の評価関数を生成する。図７（ａ）に示すように、素子総遅延量学習モデル１１４は、信号パスの特徴量を配置配線データ等から抽出し、抽出した特徴量に応じた素子総遅延量を、評価関数に基づいて出力する。図７（ａ）に示す例では、素子総遅延量学習モデル１１４は、ｎ個の特徴量Ｃ１1〜Ｃ１nに応じた素子総遅延量Ｌ１を、評価関数ｆ１に基づいて出力する。
【００３５】
配線総遅延量学習モデル１１５が教師あり学習されるときのラベルは、送信素子と受信素子との間に配置される配線の遅延量を示す配線総遅延量である。配線総遅延量学習モデル１１５は、過去に設計されたＦＰＧＡの配置配線データから抽出された特徴量及びラベルを使用して教師あり学習されることで、所定の評価関数を生成する。図７（ｂ）に示すように、配線総遅延量学習モデル１１５は、信号パスの特徴量を配置配線データ等から抽出し、抽出した特徴量に応じた素子総遅延量を、評価関数に基づいて出力する。図７（ｂ）に示す例では、配線総遅延量学習モデル１１５は、ｍ個の特徴量Ｃ２1〜Ｃ２mに応じた配線総遅延量Ｌ２を、評価関数ｆ２に基づいて出力する。
【００３６】
配線領域学習モデル１１６が教師あり学習されるときのラベルは、送信素子及び受信素子の配置位置に基づいて決定される仮検出枠に対する、信号パスに含まれる中間素子が配置可能な検出枠のマージン量である。
【００３７】
図８は、矩形形状の検出枠のマージン量を説明するための図である。仮検出枠８０１は、送信素子及び受信素子の双方を包含する領域を規定する枠である。仮検出枠８０１は、図８に示すように矩形形状の枠であってもよく、円形形状の枠であってよい。図８の例では、マージン量が「×２」である。すなわち、「ｄ０／２＝ｄ１×２」であり、検出枠８０２は仮検出枠８０１の２倍の面積を有する。
【００３８】
検出枠８０２は、ｘ軸のプラス方向とマイナス方向に均等に仮検出枠８０１を大きくし、ｘ軸とｙ軸とを均等に仮検出枠８０１を大きくしているが、これに限らない。例えば、ｘ軸のプラス方向およびマイナス方向との比率やｘ軸とｙ軸との比率などが、利用者の操作入力によって異なるようにしてもよい。
【００３９】
配線領域学習モデル１１６は、過去に設計されたＦＰＧＡの配置配線データから抽出された特徴量及びラベルを使用して教師あり学習されることで、所定の評価関数を生成する。配線領域学習モデル１１６の一例は、特願２０１７−００４６７３号に記載される。図７（ｃ）に示すように、配線領域学習モデル１１６は、信号パスの特徴量を配置配線データ等から抽出し、抽出した特徴量に応じたマージン量を、評価関数に基づいて出力する。図７（ｃ）に示す例では、配線領域学習モデル１１６は、ｐ個の特徴量Ｃ３1〜Ｃ３pに応じたマージン量Ｌ３を、評価関数ｆ３に基づいて出力する。
【００４０】
迂回配線学習モデル１１７が教師あり学習されるときのラベルは、信号パスに含まれる配線の合計の配線長である。迂回配線学習モデル１１７は、過去に設計されたＦＰＧＡの配置配線データから抽出された特徴量及びラベルを使用して教師あり学習されることで、所定の評価関数を生成する。図７（ｄ）に示すように、迂回配線学習モデル１１７は、信号パスの特徴量を配置配線データ等から抽出し、抽出した特徴量に応じた配線長を、評価関数に基づいて出力する。図７（ｄ）に示す例では、迂回配線学習モデル１１７は、ｑ個の特徴量Ｃ１1〜Ｃ１qに応じた配線長Ｌ４を、評価関数ｆ４に基づいて出力する。
【００４１】
対策案テーブル１１８は、タイミングエラーの原因と、タイミングエラーを解消するための対策案とを関連付けて記憶する。素子総遅延量が大きいことがタイミングエラーの原因であることを示す識別子は、文字列「論理段数削減」に関連付けて記憶される。信号パスの配置位置がタイミングエラーの原因であることを示す識別子は、文字列「配置領域縮小」に関連付けて記憶される。迂回配線を含むことがタイミングエラーの原因であることを示す識別子は、文字列「配置領域拡大」に関連付けて記憶される。
【００４２】
入力部１２は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部１２を用いて、文字、数字、記号等を入力することができる。入力部１２は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指示として、処理部２０に供給される。
【００４３】
出力部１３は、映像やフレーム等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機ＥＬ（Electro−Luminescence）ディスプレイ等である。出力部１３は、処理部２０から供給された映像データに応じた映像や、動画データに応じたフレーム等を表示する。
【００４４】
処理部２０は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部２０は、情報処理装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。処理部２０は、記憶部１１に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、処理部２０は、複数のプログラム（アプリケーションプログラム等）を並列に実行できる。
【００４５】
処理部２０は、エラー情報生成部２１と、パラメータ抽出部２２と、正解値推定部２３と、正解値比較部２４と、比較結果リスト生成部２５と、エラーリスト生成部２６と、エラーリスト出力部２７とを有する。エラー情報生成部２１は、ＲＬＴデータ取得部２１１と、論理検証部２１２と、論理合成部２１３と、配置配線部２１４と、タイミング検証部２１５とを有する。これらの各部は、処理部２０が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして情報処理装置１に実装されてもよい。
【００４６】
（第１実施形態に係る情報処理装置によるタイミングエラー解析処理）
図９は情報処理装置１によるタイミングエラー解析処理のフローチャートであり、図１０は図９に示すＳ２０７のより詳細な処理を示すフローチャートである。図９に示すタイミングエラー解析処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部２０により情報処理装置１の各要素と協働して実行される。
【００４７】
まず、ＲＬＴデータ取得部２１１は、設計者により設計されたＲＴＬを示すＲＴＬデータを取得（Ｓ２０１）する。次いで、論理検証部２１２は、入力部１２を介する設計者の指示に応じて、Ｓ１０１の処理で取得されたＲＴＬデータに対応するＲＴＬの論理検証を実行する（Ｓ２０２）。次いで、論理合成部２１３は、Ｓ２０２の処理で論理検証が実行されたＲＴＬデータと、タイミング制約情報１１２とに基づいて、論理合成を実行して論理合成データを生成する（Ｓ２０３）。次いで、配置配線部２１４は、Ｓ２０３の処理で生成された論理合成データに対応する回路をＦＰＧＡ上に配置配線する処理を実行して配置配線情報を示す配置配線データを生成する（Ｓ２０４）。配置配線情報は、複数の素子をＦＰＧＡに配置配線したときの複数の素子の配置位置及び複数の素子の間の配線に関する情報を示す。次いで、タイミング検証部２１５は、Ｓ２０４の処理で生成された配置配線データに対応する配置配線情報のタイミング検証を実行して（Ｓ２０５）、タイミング検証結果を示すタイミング検証情報を記憶部１１に記憶する。タイミング検証情報は、タイミングエラーが発生した信号パスを示す情報を含む。Ｓ２０１〜Ｓ２０５の処理は、よく知られているので、ここでは詳細な説明は省略する。
【００４８】
次いで、パラメータ抽出部２２は、タイミングエラーが発生した信号パスの遅延量、及び信号パスに含まれる素子の配置配線情報を含むエラー情報を取得する（Ｓ２０６）。具体的には、パラメータ抽出部２２は、Ｓ２０５の処理で記憶部１１に記憶されたタイミング検証情報に含まれるエラー情報を取得する。
【００４９】
次いで、パラメータ抽出部２２、正解値推定部２３及び正解値比較部２４は、素子総遅延量の設計値と正解値とを比較する比較処理を実行する（Ｓ２０７）。
【００５０】
より詳細には、まず、パラメータ抽出部２２は、Ｓ２０６の処理で取得されたエラー情報から、信号パスの遅延量に関する設計値と、設計値を出力として機械学習モデルが学習するときの入力である特徴量とを抽出する（Ｓ３０１）。具体的には、パラメータ抽出部２２は、素子総遅延量と、素子総遅延量を出力として素子総遅延量学習モデル１１４が学習するときの入力である特徴量とを抽出する。次いで、正解値推定部２３は、Ｓ３０１の処理で抽出された信号パスにおいて、特徴量と、設計値と特徴量との関係を学習した機械学習モデルとから、設計値の正解値を推定する（Ｓ３０２）。具体的には、正解値推定部２３は、Ｓ３０１の処理で抽出した特徴量を、素子総遅延量学習モデル１１４に入力して、素子総遅延量の正解値を推定する。
【００５１】
次いで、正解値比較部２４は、設計値と正解値とを比較し、比較した結果を示す比較結果を記憶する。具体的には、正解値比較部２４は、Ｓ３０１の処理で抽出された素子総遅延量の設計値と、Ｓ３０２の処理で推定された素子総遅延量の正解値とを比較する（Ｓ３０３）。正解値比較部２４は、Ｓ３０１の処理で抽出された素子総遅延量の設計値が、Ｓ３０２の処理で推定された素子総遅延量の正解値以下のときに、素子総遅延量の設計値がエラーでないことを示す「ＯＫ」を比較結果として記憶する（Ｓ３０４）。また、正解値比較部２４は、素子総遅延量の設計値が、素子総遅延量の正解値より大きいときに、素子総遅延量の設計値がタイミングエラーの原因であることを示す素子遅延エラー情報「ＮＧ」を比較結果として記憶する（Ｓ３０５）。正解値比較部２４は、素子遅延エラー情報「ＮＧ」を比較結果として記憶するとき、記憶するとき、信号パスの識別子を素子総遅延量が大きいことがタイミングエラーの原因であることを示す識別子と関連付けて記憶する。また、正解値比較部２４は、特願２０１７−１０９５１３号に記載されるように、信号パスに含まれるＬＵＴのみの遅延量を素子総遅延量として推定してもよい。
【００５２】
次いで、パラメータ抽出部２２は、タイミング検証情報に情報が含まれる全ての信号パスについて情報を抽出したか否かを判定する（Ｓ３０６）。パラメータ抽出部２２によって全ての信号パスについて情報を抽出したと判定される（Ｓ３０６−ＹＥＳ）まで、Ｓ３０１〜Ｓ３０６の処理が繰り返される。パラメータ抽出部２２によって全ての信号パスについて情報を抽出したと判定される（Ｓ３０６−ＹＥＳ）と、Ｓ２０７の比較処理は終了する。
【００５３】
次いで、パラメータ抽出部２２、正解値推定部２３及び正解値比較部２４は、配線総遅延量の設計値と正解値とを比較する比較処理を実行する（Ｓ２０８）。次いで、パラメータ抽出部２２、正解値推定部２３及び正解値比較部２４は、中間素子が配置可能な検出枠のマージン量の設計値と正解値とを比較する比較処理を実行する（Ｓ２０９）。次いで、パラメータ抽出部２２、正解値推定部２３及び正解値比較部２４は、信号パス合計の配線長の設計値と正解値とを比較する比較処理を実行する（Ｓ２１０）。
【００５４】
Ｓ２０８〜Ｓ２１０の処理は、比較処理の対象及び使用する機械学習モデルが相違する以外はＳ２０７の処理と同様なので、Ｓ２０８〜Ｓ２１０のより詳細な処理の説明はここでは省略する。正解値比較部２４は、配線総遅延量の設計値が、配線総遅延量の正解値より大きいときに、配線総遅延量の設計値がタイミングエラーの原因であることを示す配線遅延エラー情報「ＮＧ」を比較結果として記憶する。正解値比較部２４は、中間素子が配置可能な検出枠のマージン量の設計値が、検出枠のマージン量の正解値より大きいときに、検出枠のマージン量の設計値がタイミングエラーの原因であることを示す配置領域エラー情報「ＮＧ」を比較結果として記憶する。正解値比較部２４は、特願２０１７−００４６７３号に記載されるように、比較処理を実行してもよい。正解値比較部２４は、信号パス合計の配線長の設計値が、信号パス合計の配線長の正解値より大きいときに、配線総遅延量の設計値がタイミングエラーの原因であることを示す配線遅延エラー情報「ＮＧ」を比較結果として記憶する。
【００５５】
次いで、比較結果リスト生成部２５は、Ｓ２０７〜Ｓ２１０の比較処理での比較結果に応じてタイミングエラーを解消するための対策案を含む比較結果リストを生成する（Ｓ２１１）。
【００５６】
図１１は、Ｓ２１１の処理で生成される比較結果リストの一例を示す図である。
【００５７】
比較結果リスト１１００は、信号パスの識別子と、送信素子の識別子と、受信素子の識別子と、比較結果と、対策案とを含み、一例ではＣＳＶ形式のファイルである。信号パスの識別子は、図１１の例では１〜４の数字である。送信素子の識別子は比較結果リスト１１００に含まれる信号パスの初段の素子の識別子であり、受信素子の識別子は比較結果リスト１１００に含まれる信号パスの最終段の素子の識別子である。比較結果はＳ２０７〜Ｓ２１１で示される比較処理により記憶された比較結果を示し、対策案は比較結果に応じた対策案を示す。対策案は、対策案テーブル１１８を参照して、Ｓ２０７〜Ｓ２１１で示される比較処理で関連付けられたタイミングエラーの識別子に関連付けられた文字列である。
【００５８】
次いで、エラーリスト生成部２６は、比較結果リストに含まれる信号パスを設計ブロック毎に集約して、設計ブロック毎に集約された信号パスを示す情報と、対策案とを含むエラーリストを生成する（Ｓ２１２）。
【００５９】
図１２（ａ）はＳ２１２の処理で生成されるエラーリストの一例を示す図であり、図１２（ｂ）は図１２（ａ）に示すエラーリストを説明するための図である。
【００６０】
エラーリスト１２００は、第１エラーリスト１２０１と、第２エラーリスト１２０２と、第３エラーリスト１２０３とを有する。第１エラーリスト１２０１は図１２（ｂ）に示す設計ブロックＡに含まれる信号パスを集約したエラーリストであり、第２エラーリスト１２０２は図１２（ｂ）に示す設計ブロックＢに含まれる信号パスを集約したエラーリストである。第３エラーリスト１２０３は、図１２（ｂ）に示す設計ブロックＡと設計ブロックＢとを接続する信号パスを集約したエラーリストである。エラーリスト生成部２６は、例えば送信素子の識別子及び受信素子の識別子から集約する設計ブロックを推定する。例えば、エラーリスト生成部２６は、送信素子及び受信素子の識別子の双方が「Ａ／」から始まる信号パスを設計ブロックＡに含まれる信号パスと推定する。また、エラーリスト生成部２６は、送信素子及び受信素子の識別子の双方が「Ｂ／」から始まる信号パスを設計ブロックＢに含まれる信号パスと推定する。そして、エラーリスト生成部２６は、送信素子の識別子が「Ａ／」から始まり且つ受信素子の識別子が「Ｂ／」から始まる信号パスを設計ブロックＡと設計ブロックＢとを接続する信号パスと推定する。他の例では、エラーリスト生成部２６は、記憶部１１に記憶される設計ブロックと、信号パス、送信素子及び受信素子の識別子との関係を示す外部制約ファイルを参照して、比較結果リストに含まれる信号パスを設計ブロック毎に集約してもよい。
【００６１】
エラーリスト出力部２７は、Ｓ２１２の処理で生成されたエラーリストを出力部１３に出力する（Ｓ２１３）。出力部１３は、入力されたエラーリストを表示する。
【００６２】
（第１実施形態に係る情報処理装置の作用効果）
第１実施形態に係る情報処理装置は、機械学習モデルが推定した設計値の正解値と、設計値との比較結果に含まれる信号パスを設計ブロック毎に集約したエラーリストを生成するので、タイミングエラーを解消するための対策案の検討作業が容易になる。
【００６３】
（第２実施形態に係るタイミングエラー解析を実行する情報処理装置の構成及び機能）
図１３（ａ）は第２実施形態に係る設置位置決定処理を実行する情報処理装置の回路ブロック図であり、図１３（ｂ）は図１３（ａ）に示す処理部の機能ブロック図である。
【００６４】
情報処理装置２は、処理部３０を処理部２０の代わりに有することが情報処理装置１と相違する。処理部３０は、エラー比率情報生成部３１と、エラー比率情報出力部３２とを有することが処理部２０と相違する。エラー比率情報生成部３１及びエラー比率情報出力部３２以外の情報処理装置２の構成要素の構成及び機能は、同一符号が付された情報処理装置１の構成要素の構成及び機能と同一なので、ここでは詳細な説明は省略する。
【００６５】
（第２実施形態に係る情報処理装置によるタイミングエラー解析処理）
図１４は情報処理装置２によるタイミングエラー解析処理のフローチャートである。図１４に示すタイミングエラー解析処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部３０により情報処理装置２の各要素と協働して実行される。
【００６６】
Ｓ４０１〜Ｓ４１３の処理は、Ｓ２０１〜Ｓ２１３の処理と同様なので、ここでは詳細な説明は省略する。エラー比率情報生成部３１は、比較結果リストに基づいて、第１エラー比率情報及び第２エラー比率情報を生成する（Ｓ４１４）。第１エラー比率情報は、素子遅延エラー情報に関連付けられた信号パスと配線遅延エラー情報に関連付けられた信号パスとの比率を示す。すなわち、第１エラー比率情報は、タイミング検証情報に含まれる信号パスのうち、素子総遅延量に起因するタイミングエラーと、配線総遅延量に起因するタイミングエラーとの比率を示す。また、第２エラー比率情報は、配置領域エラー情報に関連付けられた信号パスと迂回配線エラー情報に関連付けられた信号パスとの比率を示す。すなわち、第２エラー比率情報は、タイミングエラーが配線総遅延量に起因する信号パスのうち、中間素子の配置領域に起因するタイミングエラーと、信号パスに含まれる迂回配線に起因するタイミングエラーとの比率を示す。そして、エラー比率情報出力部３２は、Ｓ４１３の処理で生成されたエラー比率情報を出力する（Ｓ４１５）。
【００６７】
図１５（ａ）はエラー比率情報の一例を示す図であり、図１５（ｂ）はエラー比率情報の他の例を示す図である。
【００６８】
エラー比率情報１５００は、素子総遅延量テーブル１５０１と、配線総遅延量テーブル１５０２とを有する。素子総遅延量テーブル１５０１及び配線総遅延量テーブル１５０２は、信号パスの送信素子及び受信素子の識別子を信号パス毎に示す。素子総遅延量テーブル１５０１は３つの信号パスを含み、配線総遅延量テーブル１５０２は１つの信号パスを含む。
【００６９】
エラー比率情報１５１０は、エラー比率情報１５００に基づいて生成され、第１エラー比率情報１５１１と、第２エラー比率情報１５１２とを有する。第１エラー比率情報１５１１は、タイミング検証情報に含まれる信号パスの中で、素子総遅延量に起因するタイミングエラーの数と配線総遅延量に起因するタイミングエラーの数との比率を示す円グラフである。第２エラー比率情報１５１２は、配線総遅延量に起因するタイミングエラーの中で、配置領域に起因するタイミングエラーの数と迂回配線に起因するタイミングエラーの数との比率を示す円グラフである。
【００７０】
（第２実施形態に係る情報処理装置の作用効果）
第２実施形態に係る情報処理装置は、タイミングエラーの原因別の比率を示すエラー比率情報を出力するので、エラー比率情報を参照して検討することで、設計者タイミングエラーを解消するための対策案の検討作業が更に容易になる。
【００７１】
例えば、第１エラー比率情報１５１１において、素子総遅延量に起因するタイミングエラーの数との比率が高いとき、設計者は、ＲＬＴレベルでの修正が多くなるため、開発期間が長くなるおそれが高いと推定することができる。一方、第１エラー比率情報１５１１において、配置総遅延量に起因するタイミングエラーの数との比率が高いとき、設計者は、配置配線処理を実行するときの設計ブロックの配置制約条件が緩いためにタイミングエラーが発生していると推定することができる。
【００７２】
（第３実施形態に係るタイミングエラー解析を実行する情報処理装置の構成及び機能）
図１６（ａ）は第２実施形態に係る設置位置決定処理を実行する情報処理装置の回路ブロック図であり、図１６（ｂ）は図１６（ａ）に示す処理部の機能ブロック図である。
【００７３】
情報処理装置３は、処理部４０を処理部３０の代わりに有することが情報処理装置２と相違する。処理部４０は、エラーリスト生成部４６をエラーリスト生成部２６の代わりに有することが処理部３０と相違する。エラーリスト生成部４６以外の情報処理装置３の構成要素の構成及び機能は、同一符号が付された情報処理装置２の構成要素の構成及び機能と同一なので、ここでは詳細な説明は省略する。
【００７４】
（第３実施形態に係る情報処理装置によるタイミングエラー解析処理）
図１７は情報処理装置３によるタイミングエラー解析処理のフローチャートである。図１７に示すタイミングエラー解析処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部４０により情報処理装置３の各要素と協働して実行される。
【００７５】
Ｓ５０１〜Ｓ５１１及びＳ５１３〜Ｓ５１５の処理は、Ｓ４０１〜Ｓ４１１及びＳ４１３〜Ｓ４１５の処理と同様なので、ここでは詳細な説明は省略する。エラーリスト生成部４６は、設計ブロック毎に集約され且つバスを単一の信号パスとして示す信号パスを示す情報と、対策案とを含むエラーリストを生成する（Ｓ５１２）。
【００７６】
図１８は図１７に示すＳ５１２のより詳細な処理を示すフローチャートである。
【００７７】
まず、エラーリスト生成部４６は、Ｓ５１１の処理で生成された比較結果リストから比較結果の列を削除する（Ｓ６０１）。次いで、エラーリスト生成部４６は、Ｓ６０２１の処理で比較結果の列が削除された比較結果リストの送信素子識別子及び受信素子識別子の行からバスを示す括弧表記〔ｎi〕を削除する（Ｓ６０２）。次いで、エラーリスト生成部４６は、Ｓ６０２の処理でバスを示す括弧表記〔ｎi〕が削除された比較結果リストから送信素子識別子、受信素子識別子及び対策案が同一の行を単一の行にまとめる（Ｓ６０３）。次いで、エラーリスト生成部４６は、比較結果リストに含まれる信号パスのそれぞれが集約される設計ブロックを推定する（Ｓ６０４）。そして、エラーリスト生成部４６は、Ｓ６０４の処理で推定された設計ブロック毎に信号パスを集約して、設計ブロック毎に集約された信号パスを示す情報と、対策案とを含むエラーリストを生成する（Ｓ６０５）。
【００７８】
図１９は、Ｓ５１２の処理で生成されるエラーリストの一例を示す図である。エラーリスト１９００は、比較結果リスト１１００から生成されるエラーリストの一例である。
【００７９】
エラーリスト１９００は、第１エラーリスト１９０１を第１エラーリスト１２０１の代わりに有することが図１２に示されるエラーリスト１２００と相違する。第１エラーリスト１９０１は、第１エラーリスト１２０１においてバスを形成すると推定される２つのパスを単一のパスで示すことが第１エラーリスト１２０１と相違する。
【００８０】
（第３実施形態に係る情報処理装置の作用効果）
一般に、回路は、データバス及びアドレスバス等の種々のバスを含む。バスを形成する信号パスは、同一の構成を有することが多いため、バスを形成する１つの信号パスにおいてタイミングエラーが発生している場合、バスを形成する他の信号パスにおいても同様の理由によりタイミングエラーが発生する可能性が高い。また、バスは、３２ビット及び６４ビット等の比較的大きなビット幅を有することが多いため、バスを形成する信号パスを別個にエラーリストに示す場合、エラーリストに示される信号パスの数が増加するため、設計者によるタイミングエラー解析が煩雑になる。
【００８１】
第３実施形態に係る情報処理装置は、バスを形成する複数の信号パスを単一の信号パスとしてエラーリストに示すので、設計者は、バスに含まれる複数の信号パスのタイミングエラーを解消するための対策案の検討作業が容易になる。例えば、第３実施形態に係る情報処理装置は、図２０に示すように、ビット幅が３２ビットであるバスの中で、３つの信号バスが同一の理由でタイミングエラーを発生していた場合、３行に亘って示されていたバスに含まれる信号パスを単一の信号パスで示す。第３実施形態に係る情報処理装置は、バスに含まれる複数の信号パスを単一の信号パスでエラーリストに示すので、エラーリストに示される信号パスの数が削減され、タイミングエラーが発生した信号パスをより明確に示すことができる。
【符号の説明】
【００８２】
１〜３    情報処理装置
２０、３０、４０    処理部
２１    エラー情報生成部
２２    パラメータ抽出部
２３    正解値推定部
２４    正解値比較部
２５    比較結果リスト生成部
２６、４６    エラーリスト生成部
２７    エラーリスト出力部
３１    エラー比率情報生成部
３２    エラー比率情報出力部
【図１】
2019036199.tif 000003
【図２】
2019036199.tif 000004
【図３】
2019036199.tif 000005
【図４】
2019036199.tif 000006
【図５】
2019036199.tif 000007
【図６】
2019036199.tif 000008
【図７】
2019036199.tif 000009
【図８】
2019036199.tif 000010
【図９】
2019036199.tif 000011
【図１０】
2019036199.tif 000012
【図１１】
2019036199.tif 000013
【図１２】
2019036199.tif 000014
【図１３】
2019036199.tif 000015
【図１４】
2019036199.tif 000016
【図１５】
2019036199.tif 000017
【図１６】
2019036199.tif 000018
【図１７】
2019036199.tif 000019
【図１８】
2019036199.tif 000020
【図１９】
2019036199.tif 000021
【図２０】
2019036199.tif 000022