(57)【要約】【課題】  論理回路の機能検証のおける検証負荷の定量化および、該検証負荷に応じた演算処理装置の配分を目的とする。【解決手段】  論理回路の設計に対する検証負荷見積り手法と、論理回路の検証項目に対する検証負荷見積り手法と、検証結果による検証負荷の再見積り見積り手法と、  検証負荷による演算処理装置の配分を行うスケジューラと、による構成。【選択図】  図１
2007087183.tif 000002
【特許請求の範囲】
【請求項１】
論理回路の機能が仕様を満たすことを確認するための論理検証手法において、
該論理回路の特性に対する検証負荷の重み付けと、
該論理回路の新規設計部の比率と、
設計者の設計成熟度と、
を鑑みることにより見積もられた検証負荷Ａと、
該論理回路の機能ごとの検証項目に対する検証負荷の重み付けと、
該検証項目の新規検証部の比率と、
検証者の検証成熟度と、
を鑑みることにより見積もられた検証負荷Ｂと、
該論理回路の特性から見積もられた該検証負荷Ａと、
該論理回路の検証項目から見積もられた該検証負荷Ｂと、
を鑑みることにより見積もられた検証負荷Ｃと、
検証項目が検証されるに従い、自動的に検証対象項目から削除する手法と、
該検証対象項目が変更されるに従い、自動的に該検証負荷Ｃを再見積りする手法と、
該動的に再見積もりされる検証負荷に従い、検証を行う演算処理装置の配分を行う手法と、
を特徴とする検証負荷見積り手法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の検証負荷の見積もりに関わるものである。
【背景技術】
【０００２】
論理回路の検証負荷見積もり方法の例を以下にあげる。
【０００３】
１．検証対象の論理回路の検証項目をあげる。
【０００４】
２．新規検証項目に必要な工数を見積もる。
【０００５】
また特開平10-111887「LSI開発工程支援システム」の例を以下にあげる。
【０００６】
１．検証対象の論理回路の仕様にランク付けする。
【０００７】
２．論理設計において、論理図インターフェース・検証レベル・ベクタ数のパラメータを用いて工数を予測する。
【特許文献１】特開平10-111887号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら上記従来例においては以下の課題がある。
【０００９】
１．検証対象の論理回路の特性に依存する設計難易度・設計流用度・設計者の成熟度などが定量的に加味されない。
【００１０】
２．論理回路の検証項目に対する検証難易度・検証流用度・検証者の成熟度などが定量的に加味されない。
【００１１】
３．検証の進行状況の管理、工数見積りの再修正が動的に加味されない。
【００１２】
４．再修正された検証工数による、検証を行う演算器の配分が動的に行われない。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本出願に係わる第１の発明は、
１．検証対象の論理回路の特性に依存する設計難易度・設計流用度・設計者の成熟度などの検証負荷に対する係数の定量的リスト。
【００１４】
２．論理回路の検証項目に対する検証難易度・検証流用度・検証者の成熟度などの検証負荷に対する係数の定量的リスト。
【００１５】
３．１および２のリストを元に検証負荷見積りを行うパーサ。
【００１６】
４．検証結果を検証項目に反映させ、３のパーサで検証負荷を再見積りするスクリプト。
【００１７】
５．再見積もりされた検証負荷から、検証を行う演算処理装置の配分を動的に行うスケジューラー。
【００１８】
を特徴とする。
【発明の効果】
【００１９】
以上説明したように、本出願に係わる発明によれば、
1.論理回路の特性から見積もられた論理回路に潜在する不具合等の予測を盛り込んだ検証負荷工数および、論理回路の検証項目から見積もられた実際の検証に関わる検証負荷工数を、検証演算が行われるたびに自動的に更新できる。
【発明を実施するための最良の形態】
【００２０】
（実施例１）
図１は本発明の論理回路の検証負荷見積もり手法を表す図である。
【００２１】
１０１は論理回路の特性に関わる検証負荷係数リスト、１０２は検証対象の論理回路の特性を示すリスト、１０３は検証対象の論理回路の流用度を示すリスト、１０４は論理回路の設計者の成熟度を示すリスト、１０５は１０１〜１０４の情報から検証負荷を解析するパーサ、１０６は論理回路の検証項目に関わる検証負荷係数リスト、１０７は検証対象の論理回路の検証項目を示すリスト、１０８は検証対象の論理回路の検証流用度を示すリスト、１０９は論理回路の検証者の成熟度を示すリスト、１１０は１０６〜１０９の情報から検証負荷を解析するパーサ、１１１は１０５および１１０で解析された検証負荷から最終的な検証負荷の見積もりを解析するパーサ、１１２は検証負荷見積もり結果のファイル、１１３は検証を行う演算処理装置、１１４は検証結果ファイル、１１５は検証処理を起動するスクリプト、１１６は検証負荷に応じた演算処理装置の配分を行うスケジューラ、である。
【００２２】
検証負荷係数リスト１０１は、論理回路の特性であるところの行数・モード数・状態遷移(以下FSM）数などの検証負荷係数が記載されたリストであり、論理回路の特性リスト１０２には検証対象の論理回路の各特性の値が、流用度リスト１０３には検証対象の論理回路の各特性の流用度比率が、設計者の成熟度リスト１０４には検証対象の論理回路の各特性に対する設計経験度が、おのおの記載されている。
【００２３】
パーサ１０５では、検証対象の論理回路の設計特性に関わる１０２〜１０４の値に、設計特性に関わる検証負荷係数リスト１０１の係数を掛け合わせることで、設計特性に関わる検証負荷を見積もる。
【００２４】
検証負荷係数リスト１０６は、論理回路の機能であるところの入力クロック数・レジスタ数・割り込み本数・調停機能などに対する検証項目ごとの検証負荷係数が記載されたリストであり、検証項目リスト１０７には検証対象の論理回路の各検証項目の値が、流用度リスト１０８には検証対象の論理回路の各検証項目の流用度比率が、検証者の成熟度リスト１０９には検証対象の論理回路の各検証項目に対する検証経験度が、おのおの記載されている。
【００２５】
パーサ１１０では、検証対象の論理回路の検証項目に関わる１０７〜１０９の値に、紺小項目に関わる検証負荷係数リスト１０６の係数を掛け合わせることで、検証項目に関わる検証負荷を見積もる。
【００２６】
パーサ１０５による設計特性に関わる検証負荷見積もり結果と、パーサ１１０による検証項目に関わる検証負荷見積もり結果から、パーサ１１１は最終的な検証負荷見積もりを解析する。その結果が検証負荷見積もり１１２である。
【００２７】
実際の検証を行う場合、
検証演算処理装置１１３は、論理回路の検証起動スクリプト１１５を実行し、検証結果ファイル１１４を作成する。検証結果ファイル１１４の結果により、検証項目１０７が検証されたかの判定が行われ、結果が記される。
【００２８】
検証結果が反映された検証項目１０７の未検証項目に対し、パーサ１１０およびパーサ１１１で再見積りを行うことで、最新の検証負荷を見積ることが可能となる。
【００２９】
以上の検証実行工程を検証実行スクリプトで行うことで、検証を実行するたびに、最新の検証結果が反映された検証項目１０７および、最新の検証負荷見積り１１２が作成できる。
【００３０】
複数の検証演算処理装置１１３のスケジュール配分はスケジューラ１１６が行う。
【００３１】
最新の検証負荷見積もり１１２の結果による検証負荷の大きさにより、検証項目を実行する検証演算処理装置を優先する。待ち行列にある検証項目より優先して実行、処理速度の速い装置に配分を行う。
【００３２】
図２は、論理回路の特性に関わるリスト１０１〜１０４とパーサ１０５の例を示した図である。
【００３３】
２−１０１は論理回路の特性に関わる検証負荷係数リスト１０１の例、２−１０２は検証対象の論理回路の特性を示すリスト１０２の例、２−１０３は検証対象の論理回路の流用度を示すリスト１０３の例、２−１０４は論理回路の設計者の成熟度を示すリスト１０４の例、２−１０５は１０１〜１０４の情報から検証負荷を解析するパーサの結果の例である。
【００３４】
論理回路の行数であるHDL line数から検証負荷を見積もる場合、２−１０１より論理検証負荷係数が0.05 [人／時間]であることがわかる。この論理回路の実際の行数が２−１０２より2000である場合、この論理回路の検証負荷は、
2000 x 0.05 = 100 [人／時間]
となる。また２−１０３より再利用度が0.4であるため、再利用できない箇所に関わる負荷は、
2000 x 0.05 x (1 - 0.4) = 60 [人／時間]
となる。この設計担当者の成熟度は２−１０４より900行の記述経験があるため、この値に２−１０１の係数を掛け合わせ、
2000 x 0.05 x (1 - 0.4) x (1000 / 900) = 66.7 [人／時間]
となる。
【００３５】
以上の解析結果が２−１０５である。同様に他のパラメータ値の値も計算し、集計した結果が388.7[人／時間]となる。
【００３６】
図３は、論理回路の検証項目に関わるリスト１０６〜１０９とパーサ１１０の例を示した図である。
【００３７】
３−１０６は論理回路の検証項目に関わる検証負荷係数リスト１０６の例、３−１０７は検証対象の論理回路の検証項目を示すリスト１０７の例、３−１０８は検証対象の論理回路の検証流用度を示すリスト１０８の例、３−１０９は論理回路の検証者の成熟度を示すリスト１０９の例、３−１１０は１０６〜１０９の情報から検証負荷を解析するパーサの結果の例である。
【００３８】
クロックの本数(n本)に関わる検証項目から検証負荷を見積もる場合、３−１０６より論理検証負荷係数がn x n x 200 [人／時間]であることがわかる。この検証項目の実際のクロック本数が３−１０７より2である場合、この検証項目の検証負荷は、
2 x 2 x 200 = 800 [人／時間]
となる。ここで検証結果が０％のため検証負荷は変わらないが、検証結果１００％の場合は検証工数は０となる。また３−１０８より再利用度が0.5であるため、再利用できない箇所に関わる負荷は、
2 x 2 x 200 x 0.5 = 400 [人／時間]
となる。この検証担当者の成熟度は３−１０９より未経験があるため、この値に３−１０６の係数を掛け合わせ、
2 x 2 x 200 x 0.5 x 4 = 1600 [人／時間]
となる。
【００３９】
以上の解析結果が３−１１０である。同様に他のパラメータ値の値も計算し、集計した結果が2800[人／時間]となる。
【００４０】
以上、図２および図３の結果より、最終的な検証負荷見積り結果の例は、
388.7 + 2800 = 3188.7 [人／時間]
となる。
【００４１】
図４は、検証実行スクリプト１１５のアルゴリズムの例を示した図である。
【００４２】
検証実行スクリプトが起動されると、４０１で論理回路のコンパイルおよび検証演算が実行される。検証演算が終了すると、４０２で検証結果ファイル１１４の結果を解析し、４０３で検証項目１０７の項目が検証された場合は、検証項目の検証割合が４０４で記され、４０５で検証項目がすべて解析されるまで繰り返される。検証項目リスト１０７の更新が終了すると、４０６でパーサ１０７が、４０７でパーサ１１２が起動され、４０８で検証負荷１１２が更新される。
【００４３】
図５は、検証演算処理装置のスケジューラ１１６のアルゴリズムの例を示した図である。
【００４４】
５０１で検証実行スクリプト１１５の実行要求が確認されると、５０２で演算処理装置の使用の待ち行列に登録される。５０３で検証演算処理装置が使用可能な場合、５０４で待ち行列に登録された検証項目の検証負荷が比較され検証負荷の最も大きい検証項目が選択される。検証演算処理装置が複数台より選択可能な場合、選択された検証項目は５０５で検証負荷が特定閾値より大きい検証項目の場合は５０６で処理性能の高い演算処理装置から優先して配分され、それ以外の場合は５０７で通常の演算処理装置配分が行われる。
【図面の簡単な説明】
【００４５】
【図１】本発明の論理回路の検証負荷見積もり手法を表す図である。
【図２】論理回路の特性に関わるリスト１０１〜１０４とパーサ１０５の例を示した図である。
【図３】論理回路の検証項目に関わるリスト１０６〜１０９とパーサ１１０の例を示した図である。
【図４】検証実行スクリプト１１５のアルゴリズムの例を示した図である。
【図５】検証演算処理装置のスケジューラ１１６のアルゴリズムの例を示した図である。
【符号の説明】
【００４６】
１０１  論理回路の特性に関わる検証負荷係数リスト
１０２  検証対象の論理回路の特性を示すリスト
１０３  検証対象の論理回路の流用度を示すリスト
１０４  論理回路の設計者の成熟度を示すリスト
１０５  １０１〜１０４の情報から検証負荷を解析するパーサ
１０６  検証項目に関わる検証負荷係数リスト
１０７  検証対象の論理回路の検証項目を示すリスト
１０８  検証対象の論理回路の検証流用度を示すリスト
１０９  論理回路の検証者の成熟度を示すリスト
１１０  １０６〜１０９の情報から検証負荷を解析するパーサ
１１１  １０５および１１０で解析された検証負荷から最終的な検証負荷の見積もりを解析するパーサ
１１２  検証負荷見積もり結果のファイル
１１３  検証を行う演算処理装置
１１４  検証結果ファイル
１１５  検証処理を起動するスクリプト
１１６  検証負荷に応じた演算処理装置の配分を行うスケジューラ
２−１０１  論理回路の特性に関わる検証負荷係数リスト１０１の例
２−１０２  検証対象の論理回路の特性を示すリスト１０２の例
２−１０３  検証対象の論理回路の流用度を示すリスト１０３の例
２−１０４  論理回路の設計者の成熟度を示すリスト１０４の例
２−１０５  １０１〜１０４の情報から検証負荷を解析するパーサの結果の例
３−１０６  検証項目に関わる検証負荷係数リスト１０６の例
３−１０７  検証対象の論理回路の検証項目を示すリスト１０７の例
３−１０８  検証対象の論理回路の検証流用度を示すリスト１０８の例
３−１０９  論理回路の検証者の成熟度を示すリスト１０９の例
３−１１０  １０６〜１０９の情報から検証負荷を解析するパーサの結果の例
４０１  論理回路のコンパイルおよび検証演算の実行
４０２  検証結果ファイル１１４の結果の解析
４０３  検証項目１０７の項目が検証されかの判定
４０４  検証項目の検証割合の記述
４０５  検証項目がすべて解析されるかの判定
４０６  パーサ１０７の起動
４０７  パーサ１１２の起動
４０８  検証負荷１１２が更新
５０１  検証実行スクリプトの実行要求の確認
５０２  演算処理装置の使用の待ち行列への登録
５０３  検証演算処理装置の空き待ち
５０４  待ち行列に登録された検証項目の検証負荷の最も大きい検証項目の選択
５０５  検証負荷の特定閾値との比較
５０６  処理性能の高い検証演算処理装置への配分の選択
５０７  通常の検証演算処理装置への配分の選択
【図１】
2007087183.tif 000003
【図２】
2007087183.tif 000004
【図３】
2007087183.tif 000005
【図４】
2007087183.tif 000006
【図５】
2007087183.tif 000007