(57)【要約】【課題】既存の開発情報を利用した新たなＬＳＩの開発を支援する技術を提供する。【解決手段】データベース11に格納された原モジュールの開発情報に基づいて、新たなＬＳＩを開発するＬＳＩ開発支援装置10は、主変更工数算出手段101、副変更工数算出手段102及び総変更工数見積もり手段103を備えている。主変更工数算出手段101は、データベース11から選択した改変モジュールに対応する関数に改変率を代入して、原モジュールから改変モジュールへの変更に要する第１の工数を算出する。副変更工数算出手段102は、改変モジュールに依存する原モジュールの変更に要する第２の工数を算出する。そして、総変更工数見積もり手段103は、第１の工数及び第２の工数の合計値に基づいて新たなＬＳＩ開発に追加的に必要となる工数を見積もる。【選択図】図１
2007193497.tif 000002
【特許請求の範囲】
【請求項１】
データベースに格納された原モジュールの開発情報に基づいて、原モジュールを改変したものである改変モジュールを含む新たなＬＳＩを開発するための支援方法であって、
前記データベースは、原モジュールの開発ステップ毎に要する工数に関する工数情報と、原モジュールに対する改変モジュールの改変部分の割合である改変率を引数として原モジュールから改変モジュールへの変更に要する工数を算出する関数と、原モジュール間の依存関係に関する依存情報とを格納しており、
当該ＬＳＩ開発支援方法は、
前記データベースに格納された関数の中から前記新たなＬＳＩの開発に係る改変モジュールに対応するものを選択し、当該選択した関数に、入力された当該改変モジュールの改変率を代入して、原モジュールから当該改変モジュールへの変更に要する第１の工数を算出する第１のステップと、
前記データベースに格納された工数情報及び依存情報を参照して、前記新たなＬＳＩの開発に係る改変モジュールに依存する原モジュールの変更に要する第２の工数を算出する第２のステップと、
前記第１の工数と前記第２の工数との合計値に基づいて、前記新たなＬＳＩを開発する場合に追加的に必要となる第３の工数を見積もる第３のステップとを備えた
ことを特徴とするＬＳＩ開発支援方法。
【請求項２】
請求項１に記載のＬＳＩ開発支援方法において、
前記工数情報は、原モジュール毎の少なくとも設計・設計検証・実装・実装検証の各ステップに要する工数と、複数の原モジュールから構成される、上位の原モジュールについての全体検証に要する工数とに関する情報を有するものである
ことを特徴とするＬＳＩ開発支援方法。
【請求項３】
請求項１に記載のＬＳＩ開発支援方法において、
前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、
入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する第５のステップと、
前記第４のステップにおいて見積もられた開発コスト、前記第５のステップにおいて算出された製造単価、及び入力された前記新たなＬＳＩの予定量産数に基づいて、当該ＬＳＩを量産する場合の総コストを算出する第６のステップとを備えた
ことを特徴とするＬＳＩ開発支援方法。
【請求項４】
請求項１に記載のＬＳＩ開発支援方法において、
前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、
入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する第５のステップと、
前記第４のステップにおいて見積もられた開発コスト、前記第５のステップにおいて算出された製造単価、及び原モジュールを改変せずに新たなＬＳＩを開発する場合の開発コスト及び製造単価に基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の損益分岐点を算出する第６のステップとを備えた
ことを特徴とするＬＳＩ開発支援方法。
【請求項５】
請求項４に記載のＬＳＩ開発支援方法において、
前記第６のステップにおいて算出された損益分岐点、及び入力された前記新たなＬＳＩの予定量産数とに基づいて、原モジュールを改変して前記新たなＬＳＩを開発すべきか否かを判断する第７のステップを備えた
ことを特徴とするＬＳＩ開発支援方法。
【請求項６】
請求項１に記載のＬＳＩ開発支援方法において
前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、
入力された新たなＬＳＩの予定量産数、原モジュールを改変せずに新たなＬＳＩを開発して前記予定量算数だけ製造する場合の総コスト、及び前記第４のステップにおいて見積もられた開発コストに基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の製造単価の目標値を見積もる第５のステップとを備えた
ことを特徴とするＬＳＩ開発支援方法。
【請求項７】
請求項１に記載のＬＳＩ開発支援方法において、
前記第３のステップは、前記第３の工数の見積もりに際して、過去に見積もった値とそれに対応する実測値との誤差を補正する
ことを特徴とするＬＳＩ開発支援方法。
【請求項８】
請求項３に記載のＬＳＩ開発支援方法において、
原モジュールはハードウエアであり、
前記目標値は、当該ハードウエアのサイズ縮小指数である
ことを特徴とするＬＳＩ開発支援方法。
【請求項９】
請求項３に記載のＬＳＩ開発支援方法において、
原モジュールはソフトウエアであり、
前記目標値は、当該ソフトウエアを格納するメモリのサイズ縮小指数である
ことを特徴とするＬＳＩ開発支援方法。
【請求項１０】
請求項３に記載のＬＳＩ開発支援方法において、
前記データベースは、原モジュールのサイズ情報を格納しており、
前記第５のステップは、前記データベースに格納された原モジュールのサイズ情報及び前記回路規模削減に係る目標値から算出した前記新たなＬＳＩのサイズ削減率に基づいて前記新たなＬＳＩの製造単価を算出する
ことを特徴とするＬＳＩ開発支援装方法。
【請求項１１】
データベースに格納された原モジュールの開発情報に基づいて、原モジュールを改変したものである改変モジュールを含む新たなＬＳＩを開発するための支援プログラムであって、
前記データベースは、原モジュールの開発ステップ毎に要する工数に関する工数情報と、原モジュールに対する改変モジュールの改変部分の割合である改変率を引数として原モジュールから改変モジュールへの変更に要する工数を算出する関数と、原モジュール間の依存関係に関する依存情報とを格納しており、
当該ＬＳＩ開発支援プログラムは、コンピュータを、
入前記データベースに格納された関数の中から前記新たなＬＳＩの開発に係る改変モジュールに対応するものを選択し、当該選択した関数に、入力された当該改変モジュールの改変率を代入して、原モジュールから当該改変モジュールへの変更に要する第１の工数を算出する主変更工数算出手段と、
前記データベースに格納された工数情報及び依存情報を参照して、前記新たなＬＳＩの開発に係る改変モジュールに依存する原モジュールの変更に要する第２の工数を算出する副変更工数算出手段と、
前記第１の工数と前記第２の工数との合計値に基づいて、前記新たなＬＳＩを開発する場合に追加的に必要となる第３の工数を見積もる総変更工数見積もり手段として機能させる
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１２】
請求項１１に記載のＬＳＩ開発支援プログラムにおいて、
前記工数情報は、原モジュール毎の少なくとも設計・設計検証・実装・実装検証の各ステップに要する工数と、複数の原モジュールにから構成される、上位の原モジュールについての全体検証に要する工数とに関する情報を有するものである
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１３】
請求項１１に記載のＬＳＩ開発支援プログラムにおいて、
コンピュータを、
前記総変更工数見積もり手段において算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる開発コスト見積もり手段と、
入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する製造単価算出手段と、
前記開発コスト見積もり手段において見積もられた開発コスト、前記製造単価算出手段において算出された製造単価、及び入力された前記新たなＬＳＩの予定量産数に基づいて、当該ＬＳＩを量産する場合の総コストを算出する総コスト算出手段として機能させる
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１４】
請求項１１に記載のＬＳＩ開発支援プログラムにおいて、
コンピュータを、
前記総変更工数見積もり手段において算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる開発コスト見積もり手段と、
入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する製造単価算出手段と、
前記開発コスト見積もり手段において見積もられた開発コスト、前記製造単価算出手段において算出された製造単価、及び原モジュールを改変せずに新たなＬＳＩを開発する場合の開発コスト及び製造単価に基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の損益分岐点を算出する損益分岐点算出手段として機能させる
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１５】
請求項１４に記載のＬＳＩ開発支援プログラムにおいて、
コンピュータを、
前記損益分岐点算出手段において算出された損益分岐点と、入力された前記新たなＬＳＩの予定量産数とに基づいて、原モジュールを改変して前記新たなＬＳＩを開発すべきか否かを判断する判断手段として機能させる
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１６】
請求項１１に記載のＬＳＩ開発支援プログラムにおいて、
コンピュータを、
前記総変更工数見積もり手段において算出された第３の工数に基づいて、前記新たなＬＳＩを開発する場合の開発コストを見積もる開発コスト見積もり手段と、
入力された新たなＬＳＩの予定量産数、原モジュールを改変せずに新たなＬＳＩを開発して前記予定量算数だけ製造する場合の総コスト、及び前記開発コスト見積もり手段において見積もられた開発コストとに基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の製造単価の目標値を見積もる目標値見積もり手段として機能させる
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１７】
請求項１１に記載のＬＳＩ開発支援プログラムにおいて、
前記総変更工数見積もり手段は、前記第３の工数の見積もりに際して、過去に見積もった値とそれに対応する実測値との誤差を補正する
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１８】
請求項１３に記載のＬＳＩ開発支援プログラムにおいて、
原モジュールはハードウエアであり、
前記目標値は、当該ハードウエアのサイズ縮小指数である
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項１９】
請求項１３に記載のＬＳＩ開発支援プログラムにおいて、
原モジュールはソフトウエアであり、
前記目標値は、当該ソフトウエアを格納するメモリのサイズ縮小指数である
ことを特徴とするＬＳＩ開発支援プログラム。
【請求項２０】
請求項１３に記載のＬＳＩ開発支援プログラムにおいて、
前記データベースは、原モジュールのサイズ情報を格納しており、
前記製造単価算出手段は、前記データベースに格納された原モジュールのサイズ情報及び前記回路規模削減に係る目標値から算出した前記新たなＬＳＩのサイズ削減率に基づいて前記新たなＬＳＩの製造単価を算出する
ことを特徴とするＬＳＩ開発支援装プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存のＬＳＩ開発情報を利用した新たなＬＳＩの開発を支援する技術に関する。
【背景技術】
【０００２】
ＬＳＩの開発方法として、既存の開発情報を利用する方法が採用されている。既存の開発情報を利用した開発を支援する技術として、新規プロジェクトの計画を、プロジェクトメンバーの経験、生産性、作業量といった情報及び再利用の有無に関する情報に基づいて、既存データベースの中から類似のプロジェクトのデータをもとに見積もり評価する方法（例えば、特許文献１）や、システムを構成するモジュールの情報として、実現機能との関係、他モジュールとの関係、及び当該モジュールの派生バージョン等をデータベースとして管理し、当該モジュールの変更時にシステムに与える影響をこれら管理情報から抽出する方法（例えば、特許文献２）が提案されている。
【特許文献１】特開２００３−２８０９０１号公報
【特許文献２】特開２００５−１０００７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
既存の開発情報を利用した新たなＬＳＩの開発は、既存の開発情報をそのまま利用するのではなく、新たなＬＳＩに要求される機能や性能に応じて、既存の開発情報を改変して利用する場合が多い。このように既存の開発情報を改変することによって、実装面積、コードサイズ、性能面での改善が期待できる。しかし、これらの改変に要するコストが発生する。
【０００４】
上記前者の方法によると、既存の開発情報をそのまま利用することを前提として新規プロジェクトの見積もり評価を行っている。したがって、既存の開発情報の変更に要するコストが考慮されないといった問題がある。
【０００５】
また、上記後者の方法は、モジュールを変更する場合におけるシステムへの影響把握を目的としている。したがって、コスト面での影響を把握できないといった問題がある。
【０００６】
上記問題に鑑み、本発明は、既存の開発情報を利用してＬＳＩの開発を行う場合において、特にコスト的観点からＬＳＩ開発を支援する技術を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために講じた手段は、データベースに格納された原モジュールの開発情報に基づいて、原モジュールを改変したものである改変モジュールを含む新たなＬＳＩを開発するためのＬＳＩ開発支援方法として、前記データベースは、原モジュールの開発ステップ毎に要する工数に関する工数情報と、原モジュールに対する改変モジュールの改変部分の割合である改変率を引数として原モジュールから改変モジュールへの変更に要する工数を算出する関数と、原モジュール間の依存関係に関する依存情報とを格納しており、前記データベースに格納された関数の中から前記新たなＬＳＩの開発に係る改変モジュールに対応するものを選択し、当該選択した関数に、入力された当該改変モジュールの改変率を代入して、原モジュールから当該改変モジュールへの変更に要する第１の工数を算出する第１のステップと、前記データベースに格納された工数情報及び依存情報を参照して、前記新たなＬＳＩの開発に係る改変モジュールに依存する原モジュールの変更に要する第２の工数を算出する第２のステップと、前記第１の工数と前記第２の工数との合計値に基づいて、前記新たなＬＳＩを開発する場合に追加的に必要となる第３の工数を見積もる第３のステップとを備えたのもとする。
【０００８】
この発明によると、データベースに格納された原モジュールの開発情報に基づいて、原モジュールから改変モジュールへの変更に要する第１の工数と、改変モジュールに依存する原モジュールの変更に要する第２の工数とがそれぞれ算出され、これらの合計に基づいて、原モジュールを改変して新たなＬＳＩ開発を行う場合における原モジュールの改変に要する第３の工数が算出される。
【０００９】
具体的には、工数情報は、原モジュール毎の少なくとも設計・設計検証・実装・実装検証の各ステップに要する工数と、複数の原モジュールから構成される、上位の原モジュールについての全体検証に要する工数とに関する情報を有するものとする。
【００１０】
好ましくは、ＬＳＩ開発支援方法として、前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する第５のステップと、前記第４のステップにおいて見積もられた開発コスト、前記第５のステップにおいて算出された製造単価、及び入力された前記新たなＬＳＩの予定量産数に基づいて、当該ＬＳＩを量産する場合の総コストを算出する第６のステップとを備えたものとする。
【００１１】
また、好ましくは、ＬＳＩ開発支援方法として、前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、入力された前記新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する第５のステップと、前記第４のステップにおいて見積もられた開発コスト、前記第５のステップにおいて算出された製造単価、及び原モジュールを改変せずに新たなＬＳＩを開発する場合の開発コスト及び製造単価に基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の損益分岐点を算出する第６のステップとを備えたものとする。
【００１２】
より好ましくは、ＬＳＩ開発支援方法として、前記第６のステップにおいて算出された損益分岐点、及び入力された前記新たなＬＳＩの予定量産数とに基づいて、原モジュールを改変して前記新たなＬＳＩを開発すべきか否かを判断する第７のステップを備えたものとする。
【００１３】
また、好ましくは、ＬＳＩ開発支援方法として、前記第３のステップにおいて算出された第３の工数に基づいて、前記新たなＬＳＩの開発コストを見積もる第４のステップと、入力された新たなＬＳＩの予定量産数、原モジュールを改変せずに新たなＬＳＩを開発して前記予定量算数だけ製造する場合の総コスト、及び前記第４のステップにおいて見積もられた開発コストに基づいて、原モジュールを改変して前記新たなＬＳＩを開発する場合の製造単価の目標値を見積もる第５のステップとを備えたものとする。
【００１４】
また、具体的には、第３のステップは、前記第３の工数の見積もりに際して、過去に見積もった値とそれに対応する実測値との誤差を補正するものとする。
【００１５】
具体的には、原モジュールはハードウエアであり、前記目標値は、当該ハードウエアのサイズ縮小指数であるものとする。
【００１６】
また、具体的には、原モジュールはソフトウエアであり、前記目標値は、当該ソフトウエアを格納するメモリのサイズ縮小指数であるものとする。
【００１７】
また、具体的には、データベースは、原モジュールのサイズ情報を格納しており、前記第５のステップは、前記データベースに格納された原モジュールのサイズ情報及び前記回路規模削減に係る目標値から算出した前記新たなＬＳＩのサイズ削減率に基づいて前記新たなＬＳＩの製造単価を算出するものとする。
【００１８】
一方、上記課題を解決するために講じた手段は、ＬＳＩ開発支援プログラムとして、上記方法をコンピュータに実行させるものとする。
【発明の効果】
【００１９】
以上、本発明によると、既存のＬＳＩ開発情報を利用した新たなＬＳＩの開発において、コスト的観点から新たなＬＳＩ開発を支援することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について図面に基づいて詳細に説明する。
【００２１】
図１は、本実施形態に係るＬＳＩ開発支援システムの構成を示す。本システムにおいて、ＬＳＩ開発支援装置10には、既存のＬＳＩ開発情報が格納されたデータベース11と、外部から情報を入力する入力手段12と、処理結果を表示する表示手段13とが接続されている。
【００２２】
ＬＳＩ開発支援装置10は、入力手段12から入力された、新たなＬＳＩ開発に関する情報と、データベース11に格納された既存のＬＳＩ開発情報とに基づいて、新たなＬＳＩの開発に利用するモジュール全体に係る変更工数の算出及び当該モジュールを変更すべきか否かの判断を行う。
【００２３】
データベース11は、既存のＬＳＩ開発情報として、原モジュールの開発ステップ毎に要する工数に関する工数情報と、原モジュール間の依存関係に関する依存情報と、原モジュールのサイズに関する情報と、改変率を引数として原モジュールから改変モジュールへの変更に要する工数を算出する関数とを格納している。なお、改変率は、原モジュールに対する改変モジュールの改変部分の割合で表される。
【００２４】
図２は、データベース11に格納された、原モジュールの開発ステップ毎に要する工数情報の一例を示す。本実施形態において、原モジュール（以下、サブモジュールともいう）M1〜M9は、設計作業、設計検証作業、実装作業及び実装検証作業の４つのステップで開発される。サブモジュールM1〜M9のそれぞれについて開発が完了した後で、上位の原モジュールであるモジュールMAについて、全体検証作業のステップが実施される。図中の数値は、各ステップの作業を完了させるまでに要する工数であり、例えば「人月」の単位で表される。具体的には、サブモジュールM4の開発には、設計作業として「0.8」、設計検証作業として「0.2」、実装作業として「3.0」、実装検証作業として「0.5」の工数を要することを示している。サブモジュールM１〜M9の開発においては、全体検証作業のステップは関係しないため、「--」と表記している。
【００２５】
図３は、データベース11に格納された、原モジュール間の依存関係に関する情報の一例を示す。各サブモジュールM1〜M9の依存関係は依存率dep（Mx,My)として表されている。ここで、依存率dep（Mx,My)は、改変の対象となるサブモジュールMxの変更を受けて、これに影響を受けるサブモジュールMyを変更しなければならない割合である。例えば、サブモジュールM1〜M9がソフトウエアであった場合、全コードステップ数に対する、修正しなければならないステップ数の割合で示される。具体的には、サブモジュールM4が改変対象である場合、サブモジュールM4を参照しているサブモジュールM1、M2、M6について、それぞれ20%、10%、10%の修正が必要であることを示している。
【００２６】
図４は、モジュールMA及びサブモジュールM1〜M9どうしの関係を示す。モジュールMAは、サブモジュールM1〜M9から構成されている。矢印は、各サブモジュール間の依存関係を示している。本図においては、矢印の始点に位置するサブモジュールが、矢印の終点に位置するサブモジュールを参照しているという依存関係を示している。すなわち、矢印の終点に位置するサブモジュールが変更されると、矢印の始点に位置するサブモジュールは影響を受ける。
【００２７】
図５は、データベース11に格納された、原モジュールのサイズ情報の一例を示す。本図においては、サブモジュールM1〜M9及びモジュールMAのサイズが格納されている。ここで、サイズは、サブモジュールM1〜M9がハードウエアの場合には回路面積によって、ソフトウエアの場合にはコードサイズによってそれぞれ表される。
【００２８】
図６は、データベース11に格納された、原モジュールから改変モジュールへの変更に要する工数を算出する関数のグラフである。本図において、縦軸は、図２に示した設計作業、設計検証作業、実装作業及び実装検証作業の各開発ステップに要する変更工数を合計した変更工数を示しており、横軸は改変率xを示している。関数f(x)は、改変率xを引数として、原モジュールから改変モジュールへの変更に要する工数を算出する。ここで、設計に関する工程は、実装に関する工程よりも先に実施され、設計作業に変更があった場合には、設計検証作業以降の開発ステップを改めて実行する。さらに、設計に関する工程、実装に関する工程とも、開発規模と開発に要した工数が比例するものとし、少しでも変更があった場合には、各検証作業を完全に実施するものとする。
【００２９】
関数f(x)は、サブモジュールの構成や特性に応じて、サブモジュールM1〜M9毎に用意されている。例えば、サブモジュールM1〜M9がハードウエアの場合、関数f(x)は、メモリ部とロジック部のサイズ比率によって決定される。
【００３０】
図１に戻り、ＬＳＩ開発支援装置10は、主変更工数算出手段101と、副変更工数算出手段102と、総変更工数見積もり手段103と、開発コスト見積もり手段104と、製造単価算出手段105と、総コスト算出手段106と、損益分岐点算出手段107と、判断手段108と、目標値見積もり手段109とを備えている。
【００３１】
主変更工数算出手段101は、データベース11に格納された原モジュールから改変モジュールへの変更に要する工数を算出する関数の中から新たなＬＳＩの開発に係る改変モジュールに対応するもの（例えば図６に示した関数）を選択し、当該選択した関数に、入力された改変モジュールの改変率xを代入して、原モジュールから改変モジュールへの変更に要する工数を算出する。
【００３２】
副変更工数算出手段102は、データベース11に格納された工数情報（図２参照）及び依存情報（図３参照）を参照して、新たなＬＳＩの開発に係る改変モジュールに依存する原モジュールの変更に要する工数を算出する。
【００３３】
総変更工数見積もり手段103は、主変更工数算出手段101及び副変更工数算出手段102において算出された、それぞれの変更工数の合計値に基づいて、新たなＬＳＩを開発する場合に追加的に必要となる工数を見積もる。
【００３４】
開発コスト見積もり手段104は、総変更工数見積もり手段103で見積もった変更工数に基づいて、新たなＬＳＩの開発コストを見積もる。
【００３５】
製造単価算出手段105は、入力された新たなＬＳＩを開発する場合の回路規模削減に係る目標値に基づいて、当該ＬＳＩの製造単価を算出する。
【００３６】
総コスト算出手段106は、開発コスト見積もり手段104において見積もられた開発コスト、製造単価算出手段105において算出された製造単価、及び入力された新たなＬＳＩの予定量産数に基づいて、ＬＳＩを量産する場合の総コストを算出する。
【００３７】
損益分岐点算出手段107は、開発コスト見積もり手段104において見積もられた開発コスト、製造単価算出手段105において算出された製造単価、及び原モジュールを改変せずに新たなＬＳＩを開発する場合の開発コスト及び製造単価に基づいて、原モジュールを改変して新たなＬＳＩを開発する場合の損益分岐点を算出する。
【００３８】
判断手段108は、損益分岐点算出手段107において算出された損益分岐点と、入力された新たなＬＳＩの予定量産数とに基づいて、原モジュールを改変して新たなＬＳＩを開発すべきか否かを判断する。
【００３９】
目標値見積もり手段109は、入力された新たなＬＳＩの予定量産数、原モジュールを改変せずに新たなＬＳＩを開発して予定量算数だけ製造する場合の総コスト、及び開発コスト見積もり手段104において見積もられた開発コストとに基づいて、原モジュールを改変して新たなＬＳＩを開発する場合の製造単価の目標値を見積もる。
【００４０】
なお、上記各手段は、ＬＳＩ開発支援プログラムがコンピュータに読み込まれて実行されることにより、実現可能である。また、必要に応じて一部の手段を省略してもかまわない。例えば、原モジュールを利用した新たなＬＳＩ開発において、改変の対象となる原モジュールの変更に伴う上位の原モジュールの総変更工数のみを見積もる場合については、開発コスト見積もり手段104以降の手段は省略してもかまわない。
【００４１】
次に、本ＬＳＩ開発支援装置10の処理フローについて説明する。図７は、本実施形態に係るＬＳＩ開発支援装置10の処理フローを示す。まず、入力手段12から、改変対象であるサブモジュールMxの変更目標値及びこの改変に伴う改変率xが入力される（S100）。次に、主変更工数算出手段101によって、データベース11からサブモジュールMxに対応する関数f(x)が選択される。そして、当該関数f(x)に改変率xが代入され、サブモジュールMxの変更工数MCHが算出される（S102）。具体的には、次式１に従って、変更工数MCHが算出される。
MCH＝DH（Mx）＊x＋DIH（Mx）＋IH（Mx）＋IIH（Mx）  ・・・（式１）
ただし、
DH（Mx） ：サブモジュールMxの設計工数
DIH（Mx）：サブモジュールMxの設計検証工数
IH（Mx） ：サブモジュールMxの実装工数
IIH（Mx）：サブモジュールMxの実装検証工数
【００４２】
S104において、副変更工数算出手段102によって、サブモジュールMxの変更によって影響を受けるサブモジュールMyがあるか否かが判断される。影響を受けるサブモジュールMyがあると判断された場合は、図３に示した依存率dep(Mx,My）に基づいて、サブモジュールMyの変更工数が算出される（S106）。ここで、サブモジュールMxの変更に伴うサブモジュールMyの派生的な変更作業は、実装工程にのみ影響を与えるものとする。具体的には、サブモジュールMyの変更工数SCHは、図２に示した各開発ステップの工数に基づいて、次式２に従って算出される。
SCH＝IH(My)＋dep（Mx,My)＋IIH（My)    ・・・（式２）
ただし、
IH（My）   ：サブモジュールMyの実装工数
IIH（My）  ：サブモジュールMyの実装検証工数
【００４３】
その後、全てのサブモジュールMyについて変更工数の見積もりが完了したか否かが判断され（S108）、全てのサブモジュールMyについて変更工数の見積もりが完了していない場合はS106に戻り、残りのサブモジュールMyの変更工数が算出される。ただし、本処理フローでは、二次的な派生による、変更工数算出の処理は行わないものとする。これは、サブモジュール間で相互参照が行われている場合であっても、再帰的に派生により変更されることはあり得ないためである。さらに、他のサブモジュールへの二次的な派生による変更工数は小さいと考えられるためである。
【００４４】
S108において全てのサブモジュールMyについて変更工数の見積もりが完了したと判断された場合は、S110において、総変更工数見積もり手段103によって、変更工数MCHと、変更工数SCHと、図２に示したモジュールMAの全体検証工数とに基づいて、モジュールMAの総変更工数TCHが算出される。具体的には、次式３に従って、総変更工数TCHが算出される。もし、S104において、サブモジュールMyがないと判断された場合は、S110にスキップする。
TCH＝MCH＋SCH＋TIH（MA)    ・・・（式３）
ただし、
TIH（MA)    ：モジュールMAの全体検証工数
【００４５】
以上がサブモジュールMxの変更に伴うモジュールMAの総変更工数TCHの見積もり処理である。続いて、上述した、モジュールMAの総変更工数TCHの見積もり結果に基づいて、新たなＬＳＩの開発において、モジュールMAを改変して利用すべきか否かを判断する処理フローについて説明する。
【００４６】
入力手段12から、新たなＬＳＩ開発に係る情報として、ＬＳＩの予定量算数、新規開発コスト、モジュールMAを改変しない場合の製造単価が入力される（S200）。ここで、新規開発コスト及びモジュールMAを改変しない場合の製造単価は、過去のＬＳＩ開発規模と工数の関係や製造工場の歩留まり特性等に基づいて予測可能であるものとする。
【００４７】
S202において、総コスト算出手段106によって、モジュールMAを利用した新たなＬＳＩの開発に係る総コストTCが、次式４に従って算出される。
TC＝DC＋PC    ・・・（式４）
ただし、
DC＝NDC＋TCC
DC   ：開発コスト
NDC  ：新規開発コスト
TCC  ：モジュールMAの総変更コスト
PC＝UC＊PN
PC  ：製造コスト
UC  ：製造単価
PN  ：量産数
ここで、モジュールMAの総変更コストTCCは、S110において見積もったモジュールMAの総変更工数TCHと、工数あたりのコスト（以下、単位コストとも称する）とに基づいて算出される。単位コストは予め決められており、例えば、工数「1.0」に対して、単位コスト「1.0」である。また、モジュールMAを改変しない場合の製造単価OUCは、ＬＳＩの製造歩留まりや製造プロセス等の製造特性に差がないと仮定すると、ＬＳＩの回路面積に依存する。すなわち、ＬＳＩは面積が小さいほど、安価なコストで製造できる。サブモジュールMxの変更によって、モジュールMAの回路面積がD％削減された場合、モジュールMAを改変した場合の製造単価CUCは、製造単価算出手段105によって、次式５に従って算出される。
CUC＝OUC＊（１−AR＊D）    ・・・（式５）
ただし、
OUC  ：モジュールMAを改変しない場合の製造単価
AR   ：新たなＬＳＩに占めるモジュールMAの面積の割合
【００４８】
S204において、損益分岐点算出手段107によって、モジュールMAを改変してＬＳＩの開発を行う場合の損益分岐点が算出される。具体的には、次式６によって表される、モジュールMAを改変せずにＬＳＩの開発を行う場合の総コストOTCと、次式７によって表される、モジュールMAを改変してＬＳＩの開発を行う場合の総コストCTCとの連立方程式から算出される。
OTC＝NDC＋OUC＊PN    ・・・（式６）
CTC＝NDC＋TCC＋CUC＊PN    ・・・（式７）
【００４９】
図８は、量産数と総コストとの関係を示すグラフの一例を示す。本図は、モジュールMAを改変せずにＬＳＩの開発を行った場合のグラフと、モジュールMAを改変してＬＳＩの開発を行った場合のグラフを示している。これらのグラフの交点が、モジュールMAを改変してＬＳＩの開発を行った場合の損益分岐点である。
【００５０】
さらに、S204において、判断手段108は、上記の損益分岐点と、S200で入力された予定量産数とに基づいて、モジュールMAを改変してＬＳＩの開発を行うべきか否かが判断される。
【００５１】
次に、本処理フローにおけるS100及びS200において、以下の条件が入力されたものとして数値を示し、具体的に説明する。
サブモジュールMx    ：サブモジュールM4
変更目標値          ：（サイズ削減率）50%
改変率x             ：25%
ＬＳＩの予定量算数  ：14
新規開発コストNDC   ：20
製造単価OUC         ：10（モジュールMAを改変しない場合）
【００５２】
S102において、サブモジュールM4の変更工数MCHを、上記式１により算出する。ここで、サブモジュールM4における各開発ステップの工数は、図２を参照して、設計工数DH（M4）＝0.8、設計検証工数DIH（M4）＝0.2、IH実装工数（M4）＝3.0、IIH実装検証工数（M4）＝0.5である。したがって、サブモジュールM4の変更工数MCH＝3.9となる。
【００５３】
S104において、サブモジュールM4に影響を受けるサブモジュールMyがあるか否か判断される。図３を参照して、サブモジュールM4の変更に伴って影響を受けるサブモジュールMyは、サブモジュールM1、M2、M6である。そして、それぞれのサブモジュールについて、変更工数を算出する（S106、S108）。図３を参照して、サブモジュールM1のサブモジュールM4に対する依存率dep（M4,M1）＝20%、サブモジュールM2のサブモジュールM4に対する依存率dep（M4,M2）＝10%、サブモジュールM6のサブモジュールM4に対する依存率dep（M4,M6）＝10%である。上記式２に従って各サブモジュールMyの変更工数SCHを算出すると、依存モジュールM1の変更工数SCH（M1）＝1.4、依存モジュールM2の変更工数SCH(M2)＝1.1、依存モジュールM6の変更工数SCH(M6)＝1.4となる。図２より、モジュールMAの全体検証工数TIH（MA）＝4.2である。S110において、上記式３に上記各値を代入すると、モジュールMAの総変更工数TCH＝MCH＋SCH（M1）＋SCH（M2）＋SCH（M6）＋TIH（MA）＝12.0と算出される。
【００５４】
S202において、単位コストが「1.0」の場合、モジュールMAの総変更コストTCC＝12.0となる。また、図５を参照して、サブモジュールM4がモジュールMAに占める面積の割合は40%であり、S100において入力された変更目標値はサイズ削減率50%である。したがって、モジュールMAの面積削減率D＝20%となる。ここで、新たなＬＳＩに占めるモジュールMAの面積の割合AR＝50%であったとすると、上記式５より、モジュールMAを改変した場合の製造単価CUC＝9と算出される。
【００５５】
S200において入力された条件及び、上記算出結果に基づいて、S204においてモジュールMAを改変してＬＳＩの開発を行う場合の損益分岐点を算出する。上記式６により表されるモジュールMAを改変しない場合の総コストOTC＝20＋10＊PNとなる。一方、上記式７により表されるモジュールMAを改変する場合の総コストCTC＝20＋12＋9＊PMとなる。したがって、モジュールMAを改変してＬＳＩの開発を行った場合の損益分岐点は量産数＝12となり、その場合の総コスト＝140となる。
【００５６】
判断手段108は、S200で入力された予定量産数＝14であるため、モジュールMAを改変してＬＳＩの開発を行うことをユーザーに推奨する。
【００５７】
なお、目標値見積もり手段109において、予定量産数に基づく総コストの計画値から、サブモジュールMxの変更目標値を算出することも可能である。具体的には、予定量産数が「15」と入力された場合、上記式６より総コストは「170」となる。すなわち、図８において、モジュールMAを改変してＬＳＩの開発を行った場合の損益分岐点が、座標値（15,170）よりも座標原点に近くなるような変更目標値を算出する。
【００５８】
また、本実施形態においては、モジュールMAをハードウエアとして説明を行ったが、モジュールMAがソフトウエアの場合は、メモリサイズの縮小がＬＳＩのサイズ縮小に反映される。すなわち、モジュールMAを改変しても、これを格納するメモリサイズが小さくならなければ、ＬＳＩの製造コストは削減されない。
【００５９】
図９は、メモリの種類とメモリサイズの関係の一例を示す。本図において、横軸は、メモリサイズの異なるメモリの種類R1〜R6を示し、縦軸はメモリサイズS1〜S6を示す。例えば、モジュールMAを格納するメモリサイズがS3より大きく、且つS4より小さければ、最適な使用メモリはR4となる。モジュールMAの改変によって、これを格納するメモリサイズをS3より小さくすることができれば、使用するメモリをR3等小さなものに変更することができる。つまり、ＬＳＩのサイズを「S4−S3」だけ小さくすることができる。このことから、モジュールMAがソフトウエアの場合、モジュールMAを改変した場合の製造単価CUCは、次式８に従って算出される。
CUC＝OUT＊（１−MR／LA）    ・・・（式８）
MR  ：メモリサイズの縮小量
LA  ：ＬＳＩの面積
上式８におけるメモリサイズの縮小量とは、例えば、「S4−S3」によって計算できる値である。以上より、上述した図７の説明は、モジュールMAがソフトウエアであっても、上記式５を上記式８に置き換えることにより適用可能である。
【００６０】
また、本実施形態においては依存率dep（Mx,My）を静的に算出しているが、改変内容によって依存率dep（Mx,My）を動的に算出してもよい。例えば、名称変更等のテキストを置き換える変更よりも、引数追加等のインターフェイス方法を変更する修正の方が一般的には難しい修正作業である。したがって、このような場合には、依存率dep（Mx,My）を重み付けにより算出するとよい。あるいは、予め変更内容を想定して、それぞれの変更内容に対応する依存率dep（Mx,My）の表を用意しておき、変更内容に応じてこれらの表を使い分けるようにしてもよい。
【００６１】
（誤差補正機能）
再び図７に戻り、S110におけるモジュールMAの総変更工数の見積もりに際して、過去に見積もった変更工数とその実工数に基づいて誤差を補正する方法について説明する。過去に見積もったモジュールMAの総変更工数の推定値と、それに対応する実際の工数とを、改変に関係する情報とともにデータベース11に格納しておく。ここで、改変に関する情報とは、サブモジュールMxの改変率xや変更の難易度等である。そして、過去に改変対象となったサブモジュールを改変する場合、総変更工数見積もり手段103は、データベース11に格納された過去の情報をもとに誤差を考慮して、モジュールMAの総変更工数の見積もりを行う。ここで、推定値と実測値の誤差はモジュールMAの総変更工数でのみ生じているものとする。
【００６２】
図１０は、誤差を考慮する場合の量産数と総コストとの関係を示すグラフの一例を示す。本図は、図８に示したグラフに加えて、モジュールMAを改変してＬＳＩの開発を行った場合の補正を行ったグラフを示している。判断手段108は、モジュールMAを改変してＬＳＩの開発を行った場合の損益分岐点と、補正を行った場合の損益分岐点とによる範囲を考慮して、モジュールMAを改変して新たなＬＳＩの開発を行うべきか否かを判断する。
【００６３】
なお、本例では、過去に蓄積された実測値の情報が１つの場合を示したが、複数の実測値が蓄積管理されている場合は、それぞれの実測値に基づいたグラフとモジュールMAを改変せずにＬＳＩの開発を行った場合のグラフとの交点も、複数存在する。このような場合、例えば、判断手段108は、これらの交点のうち、最も座標原点に近い最小値と、最も座標原点から遠い最大値を代表の２点として、モジュールMAを改変してＬＳＩの開発を行うべきか否かを判断してもよい。
【産業上の利用可能性】
【００６４】
本発明に係るＬＳＩ開発支援方法は、既存のＬＳＩ開発情報を利用して行う新たなＬＳＩ開発において、コスト的観点からＬＳＩの開発の方針を決定する上で有用である。また、モジュールの調達や、改変作業を外部組織に委託すべきか否か判断基準としても応用可能である。
【図面の簡単な説明】
【００６５】
【図１】本実施形態に係るＬＳＩ開発支援システムの構成を示す図である。
【図２】原モジュールの開発ステップ毎に要する工数情報の一例を示す図である。
【図３】原モジュール間の依存関係に関する情報の一例を示す図である。
【図４】サブモジュール間の関係を示す図である。
【図５】原モジュールのサイズ情報の一例を示す図である。
【図６】原モジュールから改変モジュールへの変更に要する工数を算出する関数のグラフである。
【図７】本発明の一実施形態に係るＬＳＩ開発支援装置10の処理フローを示す図である。
【図８】量産数と総コストとの関係を示すグラフの一例である。
【図９】メモリの種類とメモリサイズの関係の一例を示す図である。
【図１０】誤差を補正した場合の量産数と総コストとの関係を示すグラフの一例である。
【符号の説明】
【００６６】
11     データベース
101    主変更工数算出手段
102    副変更工数算出手段
103    総変更工数見積もり手段
104    開発コスト見積もり手段
105    製造単価算出手段
106    総コスト算出手段
107    損益分岐点算出手段
108    判断手段
109    目標値見積もり手段
【図１】
2007193497.tif 000003
【図２】
2007193497.tif 000004
【図３】
2007193497.tif 000005
【図４】
2007193497.tif 000006
【図５】
2007193497.tif 000007
【図６】
2007193497.tif 000008
【図７】
2007193497.tif 000009
【図８】
2007193497.tif 000010
【図９】
2007193497.tif 000011
【図１０】
2007193497.tif 000012