(57)【要約】      （修正有）【課題】半導体集積回路を設計するためのプログラム実行結果・ログをチェックし、仕様書を含めて設計の矛盾やチェック漏れを防止する設計データ管理装置を得る。【解決手段】仕様書２１、設計データ２２、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に基づいて、設計手順チェック部１２１が設計フロー順にプログラムが実行されたかをチェックし、設計結果正当性チェック部１２２が正しい入力ファイルを用いてプログラムが実行されたかおよび重要なメッセージが残っていないかをチェックし、仕様書チェック部１２３が仕様書２１に必要事項が記載されているかをチェックし、整合性チェック部１２４が仕様書２１と設計データ２２との整合性をチェックし、整合性チェック部１２５が仕様書２１とプログラム実行結果・ログ２３との整合性をチェックし、定量的評価部１３が、各チェック部のチェック結果から定量的データを算出する。【選択図】図１
2008146403.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を設計するために必要な設計情報が記載された仕様書データと、この仕様書データの記載に基づいて設計された半導体集積回路の少なくとも１つの設計データと、設計データを入力として所定のプログラムを実行して得られたプログラム実行結果・ログを管理する設計データ管理装置において、
前記仕様書データ、設計データ、およびプログラム実行結果・ログに対するチェック項目が登録されるチェック項目・評価基準と、
前記チェック項目・評価基準の登録内容に基づいて、仕様書データ、設計データ、およびプログラム実行結果・ログをチェックするチェック部、
を備えることを特徴とする設計データ管理装置。
【請求項２】
前記チェック項目・評価基準には、
半導体集積回路を設計する際の手順を示す設計フローの各工程に対応付けてプログラム名を定義した設計手順チェック項目が登録され、
前記チェック部は、
設計データおよびプログラム実行結果・ログ内に記載されたタイムスタンプおよびプログラム名と、前記チェック項目・評価基準に登録された設計手順チェック項目とに基づいて、設計フロー順にプログラムが実行されたか否かをチェックする設計手順チェック部、
を備えることを特徴とする請求項１に記載の設計データ管理装置。
【請求項３】
前記チェック項目・評価基準には、
プログラム名に対応付けた入力データのファイル名およびプログラムの実行によって出力される重要なメッセージを定義した設計結果正当性チェック項目が登録され、
前記チェック部は、
前記設計データおよびプログラム実行結果・ログ内に記載されたプログラム名およびメッセージと、前記設計結果正当性チェック項目とに基づいて、正しい入力データのファイルを用いてプログラムが実行されたか否か、および前記重要なメッセージが前記設計データおよびプログラム実行結果・ログ内に存在するか否かをチェックする設計結果正当性チェック部、
を備えることを特徴とする請求項１または２に記載の設計データ管理装置。
【請求項４】
前記チェック項目・評価基準には、
前記仕様書データに記載されるべき必要事項が定義される仕様書チェック項目が登録され、
前記チェック部は、
前記仕様書データおよび前記仕様書チェック項目に基づいて、前記仕様書データに前記必要事項が記載されているか否かをチェックする仕様書チェック部、
を備えることを特徴とする請求項１〜３のいずれか一つに記載の設計データ管理装置。
【請求項５】
前記チェック項目・評価基準には、
前記仕様書データに記載されるべき必要事項を特定する条件が定義される第１の整合性チェック項目が登録され、
前記チェック部は、
前記仕様書データ、設計データ、および第１の整合性チェック項目に基づいて、前記仕様書データから必要事項の記載を抽出し、抽出した必要事項の記載と前記設計データの記載との整合性をチェックする第１の整合性チェック部、
を備えることを特徴とする請求項１〜４のいずれか一つに記載の設計データ管理装置。
【請求項６】
前記チェック項目・評価基準には、
前記仕様書データに記載されるプログラム情報およびデバイス情報を特定するための条件が定義される第２の整合性チェック項目が登録され、
前記チェック部は、
前記仕様書データ、プログラム実行結果・ログ、および整合性チェック項目に基づいて、前記仕様書データからプログラム情報に記載されているプログラム名およびデバイス情報を抽出し、抽出したプログラム名およびデバイス情報と前記プログラム実行結果・ログ内に記載されているプログラム名およびデバイス情報との整合性をチェックする第２の整合性チェック部、
を備えることを特徴とする請求項１〜５のいずれか一つに記載の設計データ管理装置。
【請求項７】
前記チェック部のチェック結果から定量的データを算出して評価する定量的評価部、
をさらに備え、
前記チェック項目・評価基準には、
チェック項目に対応付けた評価係数が登録され、
前記定量的評価部は、
前記チェック項目・評価基準に登録されたチェック項目に対応付けた評価係数を用いて前記チェック部のチェック結果から定量的データを算出すること、
を特徴とする請求項２〜６のいずれか一つに記載の設計データ管理装置。
【請求項８】
前記チェック部のチェック結果、仕様書データ、設計データ、プログラム実行結果・ログに基づいて、前記仕様書データに記載された設計フローの進捗状況を分析してプロジェクトを管理するプロジェクト管理部、
をさらに備えることを特徴とする請求項１〜６のいずれか一つに記載の設計データ管理装置。
【請求項９】
前記チェック部のチェック結果、および前記定量的評価部が算出した定量的データを知識データベースとして一元管理するとともに、前記知識データベース、仕様書データ、設計データ、およびプログラム実行結果・ログに基づいて半導体集積回路の設計に関する設計生産性指標を算出する知識データベース化処理部、
をさらに備えることを特徴とする請求項８に記載の設計データ管理装置。
【請求項１０】
前記知識データベース化処理部は、
算出した設計生産性指標に基づいて、前記チェック項目・評価基準の定義を更新すること、
を特徴とする請求項９に記載の設計データ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計に関するものであり、特に、半導体集積回路の設計に関するデータを管理する設計データ管理装置に関するものである。
【背景技術】
【０００２】
ＡＳＩＣ（Application  Specific  Integrated Circuit）やＦＰＧＡ(Field  Programmable  Gate  Array）などの半導体集積回路、いわゆるＬＳＩ（Large  Scale  Integration）の開発では、まず、どのような機能を実現するかを記載した仕様書が作成される。そして、この仕様書に基づいて機能設計や論理設計が行われる。機能設計や論理設計は、一般的に、ハードウェア記述言語（ＨＤＬ：Hardware  description  language）が用いられ、設計工程に応じたＣＡＤ（Computer  Aided  Design）ツール（プログラム）によって機能検証や論理検証が行われる。そのため、ＬＳＩの開発においては、様々な設計データやプログラム実行結果・ログを管理する必要がある。
【０００３】
たとえば、半導体集積回路の開発における設計データを管理する従来技術として特許文献１がある。特許文献１には、設計作業において、自分の作成・修正した設計データおよび他の設計者が作成・修正した設計データの変更に対して、過去に、自分または他の設計者がどのような修正変更を行ったか、どのようなプログラムを実行したかを把握することを容易にし、設計データの修正・変更に対してプログラムの実行の未対応や誤った組合せの設計データによるプログラムの実行などの防止およびプログラムの実行を容易に把握することができる設計データ管理装置に関する技術が開示されている。
【０００４】
具体的には、設計および検証を行う場合に用いるプログラムの実行履歴情報を蓄積および検索し、設計者によるツールやデータ種類、期間などの指定に対して、過去に利用したデータを整理して表示するようにしている。
【０００５】
【特許文献１】特開平７−１９２０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の従来の設計データ管理装置は、プログラムの実行履歴情報の管理、すなわち設計データの変更・修正を管理するものであり、半導体集積回路の設計の基本なる仕様書についての管理がなされていないという問題があった。
【０００７】
また、仕様書には、半導体集積回路の機能仕様だけでなく、どのような手順で設計を行うかを示す設計フローや、設計フローの各設計工程で使用するプログラム名やそのバージョンなども記載される。しかしながら、上記特許文献１に記載の従来の設計データ管理装置は、仕様書を管理していないため、設計フローの各設計工程におけるプログラムの実行結果の整合性や、各設計データおよびプログラム実行結果の関連性をチェックすることができないという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、半導体集積回路を設計するために必要な設計情報が記載された仕様書データと、この仕様書データの記載に基づいて設計された半導体集積回路の少なくとも１つの設計データと、設計データを入力として所定のプログラムを実行して得られたプログラム実行結果・ログをチェックし、設計の基本となる仕様書を含めて設計の矛盾やチェック漏れを防止する設計データ管理装置を得ることを第１の目的とする。
【０００９】
本発明の第２の目的は、半導体集積回路を設計するために必要な設計情報が記載された仕様書データと、この仕様書データの記載に基づいて設計された半導体集積回路の少なくとも１つの設計データと、設計データを入力として所定のプログラムを実行して得られたプログラム実行結果・ログのチェック結果から設計品質を定量的に評価することができる設計データ管理装置を得ることである。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、半導体集積回路を設計するために必要な設計情報が記載された仕様書データと、この仕様書データの記載に基づいて設計された半導体集積回路の少なくとも１つの設計データと、設計データを入力として所定のプログラムを実行して得られたプログラム実行結果・ログを管理する設計データ管理装置において、前記仕様書データ、設計データ、およびプログラム実行結果・ログに対するチェック項目が登録されるチェック項目・評価基準と、前記チェック項目・評価基準の登録内容に基づいて、仕様書データ、設計データ、およびプログラム実行結果・ログをチェックするチェック部、を備えることを特徴とする。
【発明の効果】
【００１１】
この発明によれば、チェック項目・評価基準に登録された仕様書データ、設計データ、およびプログラム実行結果・ログに対するチェック項目に基づいて、半導体集積回路を設計するために必要な設計情報が記載された仕様書データと、この仕様書データの記載に基づいて設計された半導体集積回路の少なくとも１つの設計データと、設計データを入力として所定のプログラムを実行して得られたプログラム実行結果・ログをチェックするようにしているため、設計の基本となる仕様書データを含めて設計の矛盾やチェック漏れを防止する設計データ管理装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる設計データ管理装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
図１および図２を参照してこの発明の実施の形態を説明する。図１は、この発明における設計データ管理装置の構成および入出力関係を示すブロック図である。図１において、設計データ管理装置１は、入力データ２（仕様書２１、設計データ２２、およびプログラム実行結果・ログ２３）を入力としてチェック結果５、評価結果６、プロジェクト管理結果７、および統計データ８を出力する。
【００１４】
入力データ２は、電子データで図示しない記憶装置に格納されており、設計データ管理装置１は、図示しない入力手段によって設計者が指定したファイル名の入力データ２を記憶装置から読み込む。また、チェック結果５、評価結果６、プロジェクト管理結果７、および統計データ８は、電子データとして記憶装置に格納してもよいし、図示しない表示手段に表示するようにしてもよい。
【００１５】
仕様書２１には、半導体集積回路を設計するために必要な設計情報が自然言語によって記載される。設計情報とは、設計すべき半導体集積回路の機能や論理仕様などの機能情報、半導体集積回路の設計時に用いるツール（プログラム）の情報であるプログラム情報、使用するデバイスに関するデバイス情報である。
【００１６】
機能情報としては、たとえば、半導体集積回路の外部端子、Ａ／ＤやＤ／Ａ、ＣＰＵ、ＤＳＰ、タイマ、メモリなど半導体集積回路に搭載する機能モジュールの種類、機能モジュールの端子情報、機能モジュール間の接続情報、機能モジュールを制御するレジスタマップ、レジスタマップの設定による動作モード、機能モジュール構成、クロック系統、リセット系統、各機能モジュールの詳細機能などが挙げられる。
【００１７】
プログラム情報としては、たとえば、機能設計や機能検証、論理設計、論理検証、レイアウト設計、レイアウト検証などの設計の各設計工程において使用するプログラム名やバージョンなどが挙げられる。
【００１８】
デバイス情報としては、たとえば、半導体集積回路をＡＳＩＣ（Application  Specific  Integrated  Circuit）で開発するのかＦＰＧＡ（Field  Programmable  Gate  Array）で開発するのかなどの使用するデバイスの種類や、使用するデバイスのベンダー名、シリーズ名、パッケージ種別などが挙げられる。
【００１９】
設計データ２２は、設計すべき半導体集積回路に関する１〜複数の設計データである。具体的には、たとえば、仕様書２１に基づいて設計者がハードウェア記述言語（ＨＤＬ：Hardware  description  language）などで記述した機能記述のデータや、機能記述ファイルを入力として論理合成プログラムが生成した論理記述のデータ、機能記述および論理記述のデータの検証に用いる検証用データの入力データなどである。
【００２０】
プログラム実行結果・ログ２３は、設計データ２２を入力として、各設計工程において所定のプログラムを実行したプログラム実行結果である。具体的には、たとえば、機能記述のデータおよび機能記述の検証のデータを入力としてシミュレーションプログラムを実行して得られた機能検証結果や、論理記述のデータおよび論理記述の検証データを入力としてシミュレーションプログラムを実行して得られた論理検証結果、機能記述のデータを入力を入力として論理合成プログラムを実行して得られた論理記述のデータ、論理記述のデータを入力として配置配線プログラムを実行して得られた配置配線（レイアウト）結果などである。
【００２１】
設計データ管理装置１は、チェック項目・評価基準１１、設計手順チェック部１２１、設計結果正当性チェック部１２２、仕様書チェック部１２３、および整合性チェック部１２４，１２５を有するチェック部１２と、定量的評価部１３と、プロジェクト管理部１４と、知識ＤＢ化処理部１５と、知識ＤＢ１６とを備えている。
【００２２】
チェック項目・評価基準１１には、仕様書２１、設計データ２２、およびプログラム実行結果・ログ２３に対するチェック項目とチェックの結果に対する評価基準が定義される。チェック項目として、設計手順チェック項目、設計結果正当性チェック項目、仕様書チェック項目、第１の整合性チェック項目、および第２の整合性チェック項目が定義され、評価基準として、各チェック項目に対するチェック結果毎に対応付けて評価係数が定義される。
【００２３】
設計手順チェック項目に定義される項目としては、たとえば、半導体集積回路を設計する際の手順（設計工程）を示す設計フローと、設計フローにおける各設計工程に対応付けた当該設計工程において使用するプログラム名およびプログラムのバージョンが挙げられる。
【００２４】
設計結果正当性チェック項目に定義される項目としては、たとえば、プログラム名に対応付けたプログラムに対する入力データ２のファイル名およびプログラム実行時に出力されるメッセージが挙げられる。
【００２５】
仕様書チェック項目に定義される項目としては、たとえば、仕様書に記載されるべき必要事項（機能情報、プログラム情報、およびデバイス情報）を特定するための条件（キーワードなど）、および必要事項の文字数や数値の制限値が挙げられる。
【００２６】
第１の整合性チェック項目に定義される項目としては、たとえば、仕様書２１に記載される機能情報を特定するための条件であり、具体的には、半導体集積回路の外部端子、半導体集積回路に搭載する機能モジュールの種類、機能モジュールの端子情報、機能モジュール間の接続情報、レジスタマップ、機能モジュール構成、クロック系統、リセット系統などの記載を特定するための条件が挙げられる。
【００２７】
第２の整合性チェック項目に定義される項目としては、たとえば、仕様書２１に記載されるプログラム情報およびデバイス情報を特定するための条件が挙げられる。
【００２８】
設計手順チェック部１２１は、設計データ２２、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された設計手順チェック項目に基づいて、設計における各設計工程のプログラムの実行手順をチェックする。設計手順チェック部１２１は、チェックの結果を設計手順チェック結果として定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、設計手順チェック結果をチェック結果５に登録する。
【００２９】
設計結果正当性チェック部１２２は、設計データ２２、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された設計結果正当性チェック項目に基づいて、正しい設計データ２２を用いてプログラムが実行されたか、プログラム実行結果・ログ２３に設計品質に影響を及ぼす重要なワーニングなどのメッセージが存在していないかをチェックする。設計結果正当性チェック部１２２は、チェックの結果を設計結果正当性チェック結果として定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、設計結果正当性チェック結果をチェック結果５に登録する。
【００３０】
仕様書チェック部１２３は、仕様書２１とチェック項目・評価基準１１に定義された仕様書チェック項目に基づいて、仕様書２１に必要な事項が記載されているか、すなわち記載漏れがないかをチェックする。仕様書チェック部１２３は、チェックの結果を仕様書チェック結果として定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、仕様書チェック結果をチェック結果５に登録する。
【００３１】
整合性チェック部１２４は、仕様書２１、設計データ２２、およびチェック項目・評価基準１１に定義された第１の整合性チェック項目に基づいて、仕様書２１と設計データ２２との整合性をチェックする第１の整合性チェック部である。整合性チェック部１２４は、チェックの結果を第１の整合性チェック結果として定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、第１の整合性チェック結果をチェック結果５に登録する。
【００３２】
整合性チェック部１２５は、仕様書２１、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された第２の整合性チェック項目に基づいて、仕様書２１とプログラム実行結果・ログ２３との整合性をチェックする第２の整合性チェック部である。整合性チェック部１２５は、チェックの結果を第２の整合性チェック結果として定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、第２の整合性チェック結果をチェック結果５に登録する。
【００３３】
定量的評価部１３は、チェック部１２のチェック結果（設計手順チェック結果、設計結果正当性チェック結果、仕様書チェック結果、第１の整合性チェック結果、および第２の整合性チェック結果）、およびチェック項目・評価基準１１に定義された評価基準に基づいて定量的データを算出して設計品質を定量的に評価する。定量的評価部１３は、定量的データを評価結果６に登録するとともに、プロジェクト管理部１４および知識ＤＢ化処理部１５に通知する。
【００３４】
プロジェクト管理部１４は、入力データ２、チェック部１２のチェック結果、および定量的評価部１３の定量的データと評価結果に基づいて、半導体集積回路の設計工程の進捗状況を分析し、分析した結果をプロジェクト管理結果７に登録するとともに、知識ＤＢ化処理部１５に通知する。
【００３５】
知識ＤＢ化処理部１５は、入力データ２、チェック部１２の各チェック結果、定量的評価部１３の定量的データと評価結果、およびプロジェクト管理部１４の分析結果を知識ＤＢ１６に登録して一元管理する。また、知識ＤＢ化処理部１５は、知識ＤＢ１６の登録内容に基づいて設計生産性指標算出の統計データを生成する。知識ＤＢ化処理部１５は、生成した統計データを統計データ８に登録する。また、知識ＤＢ化処理部１５は、統計データ８に基づいてチェック項目・評価基準１１に定義された各項目の内容を更新する。
【００３６】
つぎに、図２のフローチャートを参照して、この発明における設計データ管理装置１の動作について説明する。設計者は、図示していない入力手段を用いて、設計データ管理装置１の処理対象となる入力データ２のファイル名を指定する（ステップＳ１００）。具体的には、仕様書２１、機能記述のデータや論理記述のデータ、検証用データなどの設計データ２２、設計データ２２を入力としてプログラムを実行して得られた機能検証結果や論理検証結果、レイアウト結果などのプログラム実行結果・ログ２３のファイル名を指定する。また、設計者は、図示していない入力手段を用いて、プロジェクト管理処理、知識ＤＢ化処理、またはチェック項目・評価基準１１の更新処理を行なうか否かなどの動作モードを指定する。このように、入力データ２のファイル名を設計者が入力することにより、設計の途中段階、たとえば、仕様書２１の作成が完了した時点での仕様書２１のチェックや、機能設計が完了した時点での仕様書２１と機能設計のファイルとの整合性のチェックなどでの実行も可能となる。
【００３７】
１〜複数の半導体集積回路の仕様書２１、設計データ２２、およびプログラム実行結果・ログ２３は電子データとして図示していない記憶装置に格納されている。設計データ管理装置１は、記憶装置に格納されているファイルの中から、指定されたファイル名の仕様書２１、設計データ２２、およびプログラム実行結果・ログ２３を読み込む。
【００３８】
設計手順チェック部１２１は、読み込んだ設計データ２２、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された設計手順チェック項目に基づいて、設計における各設計工程のプログラムの実行手順をチェックする設計手順チェック処理を実行する（ステップＳ１０１）。
【００３９】
上述したように、チェック項目・評価基準１１の設計手順チェック項目には、半導体集積回路を設計する際の手順（設計工程）を示す設計フローと、設計フローにおける各設計工程に対応付けた当該設計工程において使用するプログラム名およびプログラムのバージョンが定義されている。設計手順チェック部１２１は、設計データ２２およびプログラム実行結果・ログ２３のファイルの日付（タイムスタンプ）、ファイル内に記載されている実行日時に基づいて、設計データ２２およびプログラム実行結果・ログ２３の各ファイルを日付順（実行順）に並べ替える。設計手順チェック部１２１は、実行順に並べ替えた夫々のファイル内に記載されているプログラム名およびバージョンを抽出し、チェック項目・評価基準１１の設計手順チェック項目に定義されている設計フローの設計工程に対応付けられたプログラム名およびバージョンと比較する。
【００４０】
実行順に並べ替えた各ファイルから抽出したプログラム名およびバージョンのそれぞれの組と、チェック項目・評価基準１１の設計手順チェック項目に定義されている設計フローにおける設計工程順のプログラム名およびバージョンのそれぞれの組とが一致している場合、設計手順チェック部１２１は、設計が正しい手順で実行されたと判定し、設計が正しい手順で実行されたことを示す設計手順チェック結果を、定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、設計手順チェック結果をチェック結果５に登録する。
【００４１】
実行順に並べ替えた各ファイルから抽出したプログラム名およびバージョンのそれぞれの組と、チェック項目・評価基準１１の設計手順チェック項目に定義されている設計フローにおける設計工程順のプログラム名およびバージョンのそれぞれの組とが不一致の場合、設計手順チェック部１２１は、設計が正しい手順で実行されていないと判定し、設計が正しい手順で実行されていないことを示す設計手順チェック結果を、定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、設計手順チェック結果をチェック結果５に登録する。
【００４２】
設計手順チェック処理が終了すると、設計結果正当性チェック部１２２は、設計データ２２、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された設計結果正当性チェック項目に基づいて、正しい設計データ２２を用いてプログラムが実行されたか、プログラム実行結果・ログ２３に設計品質に影響を及ぼす重要なワーニングなどのメッセージが存在していないかをチェックする設計結果正当性チェック処理を実行する（ステップＳ１０２）。
【００４３】
上述したように、チェック項目・評価基準１１の設計結果正当性チェック項目には、プログラム名に対応付けたプログラムに対する入力データ２のファイル名およびプログラム実行時に出力される重要なメッセージが定義されている。設計結果正当性チェック部１２２は、設計データ２２およびプログラム実行結果・ログ２３のそれぞれに記載されているプログラム名および入力ファイルのファイル名を抽出する。設計結果正当性チェック部１２２は、抽出したプログラム名および入力ファイルのファイル名の組が、チェック項目・評価基準１１の設計結果正当性チェック項目に定義されているプログラム名および入力データ２のファイル名の組の中に存在するか否かを判定する。設計結果正当性チェック部１２２は、抽出したプログラム名および入力ファイルのファイル名の組が、チェック項目・評価基準１１の設計結果正当性チェック項目に定義されているプログラム名および入力データ２のファイル名の組の中に存在する場合には、正しい設計データ２２を用いてプログラムが実行されたと判定し、抽出したプログラム名および入力ファイルのファイル名の組が、チェック項目・評価基準１１の設計結果正当性チェック項目に定義されているプログラム名および入力データ２のファイル名の組の中に存在しない場合には、正しい設計データ２２を用いてプログラムが実行されていないと判定する。
【００４４】
また、設計結果正当性チェック部１２２は、設計データ２２およびプログラム実行結果・ログ２３内に記載されているプログラム名を抽出し、抽出したプログラム名に対応付けてチェック項目・評価基準１１の設計結果正当性チェック項目に定義されているプログラム実行時に出力されるメッセージ（重要メッセージ）が、プログラム名を抽出した設計データ２２またはプログラム実行結果・ログ２３内に存在するか否かを判定する。設計結果正当性チェック部１２２は、正しい設計データ２２を用いてプログラムが実行されたか否か、および設計データ２２またはプログラム実行結果・ログ２３内に重要メッセージが存在しているか否かを示す設計結果正当性チェック結果を、定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、設計結果正当性チェック結果をチェック結果５に登録する。
【００４５】
設計結果正当性チェック処理が終了すると、仕様書チェック部１２３は、仕様書２１とチェック項目・評価基準１１に定義された仕様書チェック項目に基づいて、仕様書２１に必要な事項が記載されているか、すなわち記載漏れがないかをチェックする仕様書チェック処理を実行する（ステップＳ１０３）。
【００４６】
上述したように、チェック項目・評価基準１１の仕様書チェック項目には、仕様書２１に記載されるべき必要事項（機能情報、プログラム情報、およびデバイス情報）を特定するための条件（キーワードなど）、および必要事項の文字数や数値の制限値が定義されている。仕様書チェック部１２３は、指定された仕様書２１内に必要事項を特定するための条件、たとえば、キーワードが記載されているか否かを判定する。また、仕様書チェック部１２３は、必要事項の記載がチェック項目・評価基準１１の仕様書チェック項目に定義された必要事項の文字数や数値の制限値の範囲内であるか否かを判定する。具体的には、たとえば、外部端子名や機能モジュール名、レジスタ名、内部端子名などの文字数が必要事項の文字数や範囲内であるか否か、レジスタの設定値が数値の制限値の範囲内であるか否かを判定する。仕様書チェック部１２３は、仕様書２１に必要な事項が記載されているか否か、また必要事項の制約条件（文字数や数値の制限値）が守られているか否かを示す仕様書チェック結果を、定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、仕様書チェック結果をチェック結果５に登録する。
【００４７】
なお、仕様書２１に記載されるべき必要条件を特定するための条件は、キーワードのほかに、たとえば、ＥｘｃｅｌのセルやＷｏｒｄのタグで指定するようにしてもよい。
【００４８】
仕様書チェック処理が終了すると、整合性チェック部１２４は、仕様書２１、設計データ２２、およびチェック項目・評価基準１１に定義された第１の整合性チェック項目に基づいて、仕様書２１と設計データ２２との整合性をチェックする第１の整合性チェック処理（仕様書と設計データの整合性チェック処理）を実行する（ステップＳ１０４）。
【００４９】
上述したように、チェック項目・評価基準１１の第１の整合性チェック項目には、半導体集積回路の外部端子、半導体集積回路に搭載する機能モジュールの種類、機能モジュールの端子情報、機能モジュール間の接続情報、レジスタマップ、機能モジュール構成、クロック系統、リセット系統などの記載を特定するための条件が定義されている。整合性チェック部１２４は、これらの条件に基づいて仕様書２１から、半導体集積回路の外部端子、半導体集積回路に搭載する機能モジュールの種類、機能モジュールの端子情報、機能モジュール間の接続情報、レジスタマップ、機能モジュール構成、クロック系統、リセット系統などの記載を抽出する。また、整合性チェック部１２４は、設計データ２２から半導体集積回路の外部端子、半導体集積回路に搭載する機能モジュールの種類、機能モジュールの端子情報、機能モジュール間の接続情報、レジスタマップ、機能モジュール構成、クロック系統、リセット系統の記載を抽出する。そして、整合性チェック部１２４は、仕様書２１から抽出した記載と設計データ２２から抽出した記載とが一致しているか否かを判定する。整合性チェック部１２４は、判定結果（第１の整合性チェック結果）を定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、第１の整合性チェック結果をチェック結果５に登録する。
【００５０】
仕様書と設計データとの整合性チェック処理が終了すると、整合性チェック部１２５は、仕様書２１、プログラム実行結果・ログ２３、およびチェック項目・評価基準１１に定義された第２の整合性チェック項目に基づいて、仕様書２１とプログラム実行結果・ログ２３との整合性をチェックする第２の整合性チェック処理（仕様書とプログラム実行結果・ログの整合性チェック処理）を実行する（ステップＳ１０５）。
【００５１】
上述したように、チェック項目・評価基準１１の第２の整合性チェック項目には、仕様書２１に記載されるプログラム情報およびデバイス情報を特定するための条件が定義されている。整合性チェック部１２５は、これらの条件に基づいて仕様書２１から、各設計工程におけるプログラム情報と、デバイス情報とを抽出する。また、整合性チェック部１２５は、プログラム実行結果・ログ２３内の記載からプログラム名やデバイス情報を抽出する。そして、整合性チェック部１２５は、仕様書２１から抽出した各設計工程におけるプログラム名と各設計工程におけるプログラム実行結果・ログ２３から抽出したプログラム名とが一致するか否か、仕様書２１から抽出したデバイス情報とプログラム実行結果・ログ２３から抽出したデバイス情報とが一致するか否かを判定する。また、仕様書２１およびプログラム実行結果・ログ２３からそれぞれ外部端子に関する情報を抽出し、外部端子に関する情報が一致するか否かについての判定も行うようにしてもよい。整合性チェック部１２５は、判定結果（第２の整合性チェック結果）を定量的評価部１３、プロジェクト管理部１４、および知識ＤＢ化処理部１５に通知するとともに、第２の整合性チェック結果をチェック結果５に登録する。
【００５２】
仕様書２１とプログラム実行結果・ログ２３との整合性チェックが終了すると、定量的評価部１３は、チェック部１２から通知された各チェック結果（設計手順チェック結果、設計結果正当性チェック結果、仕様書チェック結果、仕様書と設計データとの整合性チェック結果、仕様書とプログラム実行結果・ログとの整合性チェック結果）、およびチェック項目・評価基準１１に定義された評価基準に基づいて定量的データを算出して設計品質を定量的に評価する定量的評価処理を実行する（ステップＳ１０６）。
【００５３】
上述したように、チェック項目・評価基準１１には、各チェック項目に対するチェック結果毎に対応付けて評価係数が定義されている。定量的評価部１３は、各チェック結果と各チェック結果に対応する評価係数とを乗算し、それぞれの乗算結果を加算して定量的データを算出する。定量的評価部１３は、算出した定量的データを評価結果６に登録するとともに、プロジェクト管理部１４および知識ＤＢ化処理部１５に通知する。なお、それぞれの乗算結果を設計工程毎に集計した結果や、それぞれのチェック結果毎の乗算結果を集計した結果などを定量的データとともに評価結果６に登録するとともに、プロジェクト管理部１４および知識ＤＢ化処理部１５に通知するようにしてもよい。
【００５４】
プロジェクト管理が指定されている場合、プロジェクト管理部１４は、入力データ２、チェック部１２のチェック結果、および定量的評価部１３の定量的データと評価結果に基づいて、半導体集積回路の設計工程の進捗状況を分析するプロジェクト管理処理を実行する（ステップＳ１０７，Ｓ１０８）。
【００５５】
上述したように、チェック部１２から通知されるチェック結果には、設計手順チェク結果、設計結果正当性チェック結果、仕様書チェック結果、第１の整合性チェック結果、および第２の整合性チェック結果がある。設計手順チェック結果は、チェック項目・評価基準１１の設計手順チェック項目に定義されている設計フローに基づいて設計が正しい手順で行われたか否かが示されている。設計結果正当性チェック結果は、正しい設計データ２２を用いてプログラムが実行されたか、プログラム実行結果・ログ２３に設計品質に影響を及ぼす重要なワーニングなどのメッセージが存在していないかを示している。仕様書チェック結果は、仕様書２１に必要な事項が記載されているか、すなわち記載漏れがないかを示している。第１の整合性チェック結果は、仕様書２１と設計データ２２との整合性を示している。第２の整合性チェック結果は、仕様書２１とプログラム実行結果・ログ２３との整合性を示している。プロジェクト管理部１４は、これらのチェック結果、および入力データ２から、設計フローのどの設計工程に対応する設計データ２２およびプログラム実行結果・ログ２３が存在するかによって、設計フローのどの設計工程まで設計が終了しているか、どの設計工程を実施中であるのか、どの設計工程が残っているのかなど、設計工程の進捗状況を分析する。プロジェクト管理部１４は、分析結果をプロジェクト管理結果７として出力する。
【００５６】
プロジェクト管理処理が終了した後、またはプロジェクト管理が指定されていない場合、知識ＤＢ化処理部１５は、入力データ２、チェック部１２の各チェック結果、定量的評価部１３の定量的データと評価結果、およびプロジェクト管理部１４の分析結果を知識ＤＢ１６に登録して一元管理する知識ＤＢ化処理を実行する（ステップＳ１０９）。具体的には、たとえば、半導体集積回路毎に、ゲート規模やピン数、ファイル数、設計データの行数、プログラムに残っている重要なメッセージの種類/件数/処置、定量的評価結果などを知識ＤＢ１６に登録する。
【００５７】
統計データ８の生成の指示がある場合、知識ＤＢ化処理部１５は、知識ＤＢ１６の登録内容に基づいて半導体集積回路の設計に関する設計生産性指標の統計データを生成する統計データ算出処理を実行する（ステップＳ１１０，Ｓ１１１）。具体的には、知識ＤＢ１６に登録された半導体集積回路ごとの開発期間（計画／実際）やゲート規模、ピン数、ファイル数、設計データの行数、プログラムに残っている重要なメッセージの種類／件数／処置、定量的評価結果から、半導体集積回路の開発における傾向を見出して指標を算出する。たとえば、ゲート規模が所定の範囲の半導体集積回路では、どのくらいのファイル数が存在し、設計データの行数がどの程度になるかなどの傾向を見出して指標を算出する。知識ＤＢ化処理部１５は、算出した統計データを統計データ８として出力する。
【００５８】
また、チェック項目・評価基準１１の更新の指示がある場合、知識ＤＢ化処理部１５は、統計データ８に基づいてチェック項目・評価基準１１に定義された各項目の内容を更新するチェック項目・評価基準更新処理を実行する（ステップＳ１１２，Ｓ１１３）。たとえば、チェック項目・評価基準１１に登録されていない重要なメッセージが、統計データとして挙げられている場合、この重要なメッセージをチェック項目・評価基準１１に追加登録する。
【００５９】
このように、この実施の形態においては、設計手順チェック部１２１が、チェック項目・評価基準１１に登録された半導体集積回路を設計する際の手順を示す設計フローの各工程に対応付けてプログラム名を定義した設計手順チェック項目と、設計データ２２およびプログラム実行結果・ログ２３内に記載されたタイムスタンプおよびプログラム名とに基づいて、設計フロー順にプログラムが実行されたか否かをチェックし、設計結果正当性チェック部１２２が、チェック項目・評価基準１１に登録されたプログラム名に対応付けた入力データのファイル名およびプログラムの実行によって出力される重要なメッセージを定義した設計結果正当性チェック項目と、設計データ２２およびプログラム実行結果・ログ２３内に記載されたプログラム名およびメッセージとに基づいて、正しい入力データのファイルを用いてプログラムが実行されたか否か、および重要なメッセージが設計データ２２およびプログラム実行結果・ログ２３内に存在するか否かをチェックし、仕様書チェック部１２３が、チェック項目・評価基準１１に登録された仕様書２１に記載されるべき必要事項が定義される仕様書チェック項目と、仕様書２１および仕様書チェック項目に基づいて、仕様書２１に必要事項が記載されているか否かをチェックし、第１の整合性チェック部である整合性チェック部１２４が、チェック項目・評価基準１１に登録された仕様書２１に記載されるべき必要事項を特定する条件が定義される第１の整合性チェック項目、仕様書２１、および設計データ２２に基づいて、仕様書２１から必要事項の記載を抽出し、抽出した必要事項の記載と設計データの記載との整合性をチェックし、第２の整合性チェック部である整合性チェック部１２５が、チェック項目・評価基準１１に登録された仕様書２１に記載されるプログラム情報およびデバイス情報を特定するための条件が定義される第２の整合性チェック項目、仕様書２１、およびプログラム実行結果・ログ２３に基づいて、仕様書２１からプログラム情報に記載されているプログラム名およびデバイス情報を抽出し、抽出したプログラム名およびデバイス情報とプログラム実行結果・ログ２３内に記載されているプログラム名およびデバイス情報との整合性をチェックするようにしているため、設計データ２２およびプログラム実行結果・ログ２３だけでなく、設計の基本となる仕様書２１を含めて、仕様書２１と設計データ２２間の矛盾、仕様書２１とプログラム実行結果・ログ２３間の矛盾、設計データ２２とプログラム実行結果・ログ２３の矛盾やチェック漏れを防止することができる。
【００６０】
また、この実施の形態においては、設計手順チェック部１２１、設計結果正当性チェック部１２２、仕様書チェック部１２３、および整合性チェック部１２４，１２５が、チェック項目・評価基準１１に登録されたチェック項目に基づいてチェックを行うようにしているため、チェック項目を変更することで容易にチェック内容を変更することができ、柔軟にチェックを行うことができる。
【００６１】
さらに、この実施の形態においては、定量的評価部１３が、チェック項目・評価基準１１に登録されたチェック項目に対応付けた評価係数に基づいて、設計手順チェック部１２１のチェック結果である設計手順チェック結果、設計結果正当性チェック部１２２のチェック結果である設計結果正当性チェック結果、仕様書チェック部１２３のチェック結果である仕様書チェック結果、整合性チェック部１２４のチェック結果である第１の整合性チェック結果、および整合性チェック部１２５のチェック結果である第２の整合性チェック結果から定量的データを算出するようにしているため、設計品質を定量的データとすることが可能となり、設計品質を客観的に判断することができる。
【００６２】
さらにまた、この実施の形態においては、プロジェクト管理部１４が、設計手順チェック部１２１のチェック結果である設計手順チェック結果、設計結果正当性チェック部１２２のチェック結果である設計結果正当性チェック結果、仕様書チェック部１２３のチェック結果である仕様書チェック結果、整合性チェック部１２４のチェック結果である第１の整合性チェック結果、および整合性チェック部１２５のチェック結果である第２の整合性チェック結果に基づいて仕様書２１に記載された設計フローの進捗状況を分析するようにしているため、設計における各工程のプログラム実行と連動して、プログラムの実行状況、エラー発生・収束状況を把握してプロジェクト管理を行うことができる。
【００６３】
また、この実施の形態においては、知識ＤＢ化処理部１５が、設計手順チェック部１２１のチェック結果である設計手順チェック結果、設計結果正当性チェック部１２２のチェック結果である設計結果正当性チェック結果、仕様書チェック部１２３のチェック結果である仕様書チェック結果、整合性チェック部１２４のチェック結果である第１の整合性チェック結果、および整合性チェック部１２５のチェック結果である第２の整合性チェック結果と、定量的評価部１３が算出した定量的データとを知識ＤＢ１６として一元管理するとともに、知識ＤＢ１６の登録内容、仕様書２１、設計データ２２、およびプログラム実行結果・ログ２３に基づいて、半導体集積回路の設計に関する設計生産指数を算出するようにしているため、以後の半導体集積回路の開発における作業見積もりや、設計品質見積もりなどに本装置を使用した過去の半導体集積回路の設計に関する情報を有効に利用することができる。
【００６４】
さらに、この実施の形態においては、知識ＤＢ化処理部１５が、算出した設計生産性指数に基づいてチェック項目・評価基準１１の定義を更新するようにしているため、本装置を使用した過去の半導体集積回路の設計に関する情報を有効に利用して、各チェックや定量的データを算出することが可能となり、より良いチェック項目や評価基準を作成することができる。
【産業上の利用可能性】
【００６５】
以上のように、本発明にかかる設計データ管理装置は、半導体集積回路の開発に有用であり、特に、仕様書と設計データ間の矛盾、仕様書とプログラム実行結果・ログ間の矛盾、設計データとプログラム実行結果・ログの矛盾やチェック漏れのチェックに適している。
【図面の簡単な説明】
【００６６】
【図１】本発明の設計データ管理装置の構成および入出力関係を示す図である。
【図２】本発明の設計データ管理装置の動作を説明するためのフローチャートである。
【符号の説明】
【００６７】
１  設計データ管理装置
２  入力データ
５  チェック結果
６  評価結果
７  プロジェクト管理結果
８  統計データ
１１  チェック項目・評価基準
１２  チェック部
１３  定量的評価部
１４  プロジェクト管理部
１５  知識ＤＢ化処理部
１６  知識ＤＢ
２１  仕様書
２２  設計データ
２３  プログラム実行結果・ログ
１２１  設計手順チェック部
１２２  設計結果正当性チェック部
１２３  仕様書チェック部
１２４，１２５  整合性チェック部
【図１】
2008146403.tif 000003
【図２】
2008146403.tif 000004