(57)【要約】【課題】  ユーザがＩＰの設計パラメータを決定した際に、そのＩＰ構成で自動でテストを実行し、ユーザの作成したＩＰ構成が妥当なものであれば、設計パラメータの変更を反映したドキュメントを自動生成する。【解決手段】  設計パラメータによりハードウェアデザインの内部サブモジュールの組み合わせ構成や各サブモジュールのパラメータ値を変更し、変更したサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値をテストする。そのテストの結果、エラーがない場合、変更したサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値に基づきドキュメントを生成する。【選択図】      図７
2007213232.tif 000002
【特許請求の範囲】
【請求項１】
設計支援システムであって、
設計パラメータによりハードウェアデザインの内部サブモジュールの組み合わせ構成や各サブモジュールのパラメータ値を変更する変更手段と、
前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値をテストするテスト手段と、
前記テストの結果、エラーがない場合に、前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値に基づきドキュメントを生成する生成手段と、
を有することを特徴とする設計支援システム。
【請求項２】
前記ドキュメントは、前記ハードウェアデザインの機能記述部、ブロック図、波形図で構成され、前記機能記述部には開始と終了を示すインデックスが挿入され、前記設計パラメータにより変更されるパラメータ値が挿入されることを示すインデックスが挿入されていることを特徴とする請求項１に記載の設計支援システム。
【請求項３】
前記設計パラメータは、サブモジュールを表す識別子と、そのサブモジュールが有するパラメータ値とから構成されるリストであることを特徴とする請求項１に記載の設計支援システム。
【請求項４】
前記テスト手段は、前記サブモジュールに対するテスト項目を論理シミュレーションによってテストすることを特徴とする請求項１に記載の設計支援システム。
【請求項５】
前記生成手段は、前記設計パラメータを参照し、生成済みのドキュメントから前記変更されたサブモジュールに関するドキュメント部分を抽出し、前記設計パラメータ値を挿入し、ドキュメントを生成することを特徴とする請求項１に記載の設計支援システム。
【請求項６】
ドキュメント生成方法であって、
設計パラメータによりハードウェアデザインの内部サブモジュールの組み合わせ構成や各サブモジュールのパラメータ値を変更する工程と、
前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値をテストする工程と、
前記テストの結果、エラーがない場合に、前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値に基づきドキュメントを生成する工程と、
を有することを特徴とするドキュメント生成方法。
【請求項７】
請求項６に記載のドキュメント生成方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援システム及びドキュメント生成方法に関する。
【背景技術】
【０００２】
ＬＳＩ開発手法に関しては、従来より設計の生産性を向上させるべく、設計済みの機能ブロックをＬＳＩ設計の知的財産（ＩＰ:intellectual property）と位置付けて活用するＩＰベース設計が実用化されている。
【０００３】
ＩＰには、内部構成を複数のサブモジュールに分割し、サブモジュールの組み合わせを設計パラメータで変更することで要求機能を提供しているものがある。このようなＩＰは、複数のパラメータ設定変更可能なサブモジュールから構成されるハードウェアデザインと、それらのテストベンチ、代表的なテスト及びそれらの仕様書などのドキュメント類を備えるパッケージ形式で提供される場合がある。
【０００４】
このようなパラメータ化されたＩＰの仕様書やテスト仕様書のドキュメントはパラメータやサブモジュールの数や種類に伴って増加する。また、ＩＰとして提供される際には、ＩＰの取り得る全ての構成やパラメータ全てに関して記述されているドキュメントを提供するのが一般的である。
【０００５】
文書作成技術に関しては、従来、文書を部品化してデータベースに格納し、文書作成時に部品を抽出、合成することで文書作成を効率化する技術があった。従来の文書作成支援システムでは、ユーザが指定した文書部品をデータベースから抽出し、これら部品の合成により文書が確定する。この文書を所定のフォーマットにレイアウトし、その結果が出力される（例えば、特許文献１参照）。
【０００６】
また、ＬＳＩ開発に関するドキュメント自動生成技術として、ＬＳＩで使用されるＩＰを変更したときに、それらのパラメータをドキュメントに自動で反映させ、ドキュメントを自動生成するという技術が開示されている（例えば、特許文献２参照）。
【特許文献１】特開平５−１０１０５４号公報
【特許文献２】特開２００４−１９９３４７号広報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したような形態のＩＰが提供され、実際にユーザがＩＰを使用するときに、ユーザは自身の要求仕様に沿ってパラメータや構成を一意に選択する。その後、ユーザは自身のＩＰ構成のデザインに対してＩＰのドキュメントを元に自身のデザインに対する仕様書等のドキュメントを作成する。
【０００８】
しかし、ドキュメントには、ＩＰの取り得る全ての構成やパラメータ全てに関して記述されているため、ユーザにとって不必要な項目が多数記述されてしまうこともある。
【０００９】
そのため、ユーザが必要なドキュメントや記述項目を抽出し、自身のデザインに対するドキュメントを作成することは困難、且つ、煩雑であるという問題があった。
【００１０】
更に、特許文献２のように、変更した時点でドキュメントを生成しても、ユーザが生成したデザインの組み合わせや設計パラメータ値が正しくなかった場合、生成したドキュメント自体が無駄になってしまうという問題もあった。
【００１１】
本発明は、設計パラメータによりハードウェアデザインを変更してテストを行い、妥当なものであれば、変更を反映したドキュメントを自動生成することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、設計支援システムであって、設計パラメータによりハードウェアデザインの内部サブモジュールの組み合わせ構成や各サブモジュールのパラメータ値を変更する変更手段と、前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値をテストするテスト手段と、前記テストの結果、エラーがない場合に、前記変更されたサブモジュールの組み合わせ構成や各サブモジュールのパラメータ値に基づきドキュメントを生成する生成手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、設計パラメータによりハードウェアデザインを変更してテストを行い、妥当なものであれば、変更を反映したドキュメントを自動生成することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１５】
図１は、本実施形態におけるドキュメント生成システムの構成の一例を示すブロック図である。ＩＰは、内部サブモジュールの組み合わせや各サブモジュールのパラメータ値を設計パラメータ等により変更可能で、それにより様々な機能を提供する複数のパラメータ設定変更可能なサブモジュールから構成されている。また、ドキュメント生成システムは、ハードウェアデザインデータ１０８と、テストデータ１０９と、それらの仕様書などのドキュメントデータ１１０とを備える。
【００１６】
デザインデータ１０８は、ＩＰを構成するためのサブモジュールのソースコードが格納されている。テストデータ１０９は、ユーザによって構成されたユーザデザイン１１１をテストするためのテストデータと、設計パラメータとテストを関連付けしたリストが格納されている。テストデータ１０９は、ＩＰに含まれるサブモジュール及び設計パラメータをキーとしたリストで、サブモジュール及び設計パラメータに対応するテストを検索し、参照することが可能である。
【００１７】
図２は、テストデータ１０９の関連付けされたリストの構成例を示す図である。図２に示すリストはサブモジュールＩＤフィールド２０１と、パラメータフィールド２０２と、バリューフィールド２０３と、テストＩＤフィールド２０４とから構成される。ここで、サブモジュールＩＤフィールド２０１は、ＩＰを構成するサブモジュールの名称や番号を表すフィールドである。パラメータフィールド２０２は、チャネル、内部ＦＩＦＯ、対象バスなどの設計パラメータの種類を示すフィールドである。バリューフィールド２０３は、設計パラメータの取り得る値を表すフィールドである。テストＩＤフィールド２０４は、設計パラメータに対応するテストの名称や番号を表すＩＤを示すフィールドである。
【００１８】
ここで図１に戻り、ドキュメントデータ１１０は、ＩＰの全てのサブモジュールと設計パラメータの組み合わせによって実現されるＩＰの機能全てを含むドキュメントの仕様を格納している。このドキュメントデータ１１０は、機能記述部と、ブロック図部と、信号波形図部とに分類されている。
【００１９】
まず、機能記述部は、記述されている機能を有するサブモジュール名をキーワードにして、記述開始及び記述終了を示すインデックスが予め挿入されている。また、設計パラメータ値によって記述が変化する部分には、設計パラメータから挿入するためのインデックスが予め挿入されている。
【００２０】
図３は、ドキュメントデータ１１０における機能記述部の一例を示す図である。図３に示す例では、モジュールＢと内部ＦＩＦＯに関する記述部分を示している。キーワードとなるサブモジュール名は“module_B”及び“internal_fifo”である。また、開始を表すインデックスは＜#module_B＞及び＜#internal_fifo＞であり、終了を示すインデックスは＜#＞としている。
【００２１】
また、ユーザが選択可能な設計パラメータを表している値は、ユーザデザインが決定し、そのシミュレーションが終了した際に、選択されているパラメータ値を挿入することを示すインデックスである［$n］が挿入されている。この例のようなインデックスをＩＰのドキュメント内のモジュールの有する機能記述部分に予め挿入してドキュメントを部品化しておく。
【００２２】
次に、ドキュメントデータ１１０におけるブロック図部は、ＩＰ構成として最大であるブロック図が挿入されている。図４は、ドキュメントデータ１１０におけるブロック図部の構成の一例を示す図である。図４に示す例では、ブロック図部は、内部ＦＩＦＯ４０１を有するモジュールＡ４０２と、Ａバスインターフェース４０３と、Ａバス４０４とから構成されている。
【００２３】
次に、ドキュメントデータ１１０における信号波形部は、設計パラメータ値によって記述が変化する部分には設計パラメータから挿入するためのインデックスが予め挿入されている。図５は、ドキュメントデータ１１０における信号波形部の構成の一例を示す図である。図５において、ユーザが選択可能な設計パラメータを表している値はユーザデザインが決定し、そのシミュレーションが終了した際に、選択されているパラメータ値を挿入することを示すインデックスである＜$n＞が挿入されている。
【００２４】
ここで図１に戻り、１０２はＩＰ設計部であり、ＩＰを元にユーザが自身の要求仕様に従ってＩＰの内部サブモジュールの組み合わせ構成や各サブモジュールのパラメータ値を変更するためのＧＵＩ等の手段を備える。１１１は、ＩＰ設計部１０２によってユーザが作成したユーザデザインである。
【００２５】
１０３はＩＰ設計パラメータ抽出部であり、ユーザがＩＰ設計部１０２で構成した内部サブモジュールの組み合わせ及び変更したＩＰの設計パラメータ値を抽出する。１０７はＩＰ設計パラメータリストであり、ＩＰ設計パラメータ抽出部１０３によって抽出された内部サブモジュールの組み合わせ及び変更したＩＰの設計パラメータ値を出力したリストである。
【００２６】
図６は、ＩＰ設計パラメータリスト１０７の構成の一例を示す図である。図６に示すように、ＩＰ設計パラメータリスト１０７はＩＤフィールド６０１と、パラメータフィールド６０２と、バリューフィールド６０３とから構成される。ここで、ＩＤフィールド６０１は、ＩＰにおけるサブモジュール等の名称や番号を表すフィールドである。パラメータフィールド６０２は、各サブモジュールが有する設計パラメータの種類を表すフィールドである。バリューフィールド６０３は、ユーザが選択したパラメータ値を格納するフィールドである。
【００２７】
ここで図１に戻り、１０４はテスト選択部であり、ＩＰ設計パラメータリストとテストデータを参照し、ユーザデザインに適したテストをテストデータから選択する。１１２はテスト選択部１０４によって選択されたテストである。１０５は論理シミュレータであり、ユーザの設計したＩＰデザインとテストでシミュレーションを行う。
【００２８】
１０６はドキュメント生成部であり、ユーザの設計したＩＰデザインに対してＩＰ設計データリストを参照し、ＩＰのドキュメントデータから選択されているモジュールの持つ機能記述部分を抽出する。そして、該当する設計データを変更し、自動的にドキュメントを生成する。
【００２９】
次に、図７を用いてドキュメント生成システムにおいて、ユーザの作成したＩＰ構成をテストし、ユーザ決定した設計パラメータの変更を反映したドキュメントを自動生成する処理について説明する。
【００３０】
図７は、本実施形態におけるドキュメント生成処理を示すフローチャートである。まず、ステップＳ７０１において、ユーザが自身の要求仕様に従ってＩＰ設計部１０２によってＩＰからサブモジュールを選択する。次に、ユーザはデザインに必要なサブモジュールを選択した後、各サブモジュールにおいて、変更可能な設計パラメータを変更し、ユーザデザイン１１１を作成する。
【００３１】
ユーザが自身のＩＰデザインの構成及び設計パラメータの変更を終了すると、ステップＳ７０２へ進み、ＩＰ設計パラメータ抽出部１０３がユーザの選択したサブモジュールの組み合わせ及び変更した設計パラメータの抽出を行う。具体的には、ＩＰ設計パラメータ抽出部１０３はユーザが選択しているサブモジュールの組み合わせ及び変更した設計パラメータをＩＰ設計部１０２から参照し、ＩＰ設計パラメータリスト１０７を作成する。
【００３２】
次に、ステップＳ７０３において、テスト選択部１０４がＩＰ設計パラメータリスト１０７を参照し、ユーザの選択したデザインに適するテスト１１２をＩＰのテストデータ１０９から選択する。ここで、テスト選択部１０４は、ＩＰ設計パラメータリスト１０７からサブモジュールＩＤフィールド６０１、サブモジュールのパラメータフィールド６０２、パラメータのバリューフィールド６０３の順に参照する。そして、参照した順にテストデータの関連付けリストを検索する。
【００３３】
例えば、図６に示す設計パラメータリストを参照し、図２に示すテストデータでテストを選択すると、“module_B”、“channel”、“1”のテストは“single test”である。また、“A_Bus_IF”、“ABus”、“data width”、“32”、及び“burst”、“wrap8”のテストは“AbusI/F test”となる。
【００３４】
次に、ステップＳ７０４において、テスト選択部１０４で選択されたテスト１１２と、ユーザデザイン１１１を使用して論理シミュレータ１０５がシミュレーションを開始する。そして、ステップＳ７０５において、論理シミュレーションが終了すると、ステップＳ７０６へ進み、論理シミュレーションによってテストエラーが発生したか否かを判定する。ここで、テストエラーが発生していた場合、ユーザにエラーであることを伝える。これにより、ユーザはＩＰ設計段階から再びステップＳ７０１〜ステップＳ７０６までの手順を繰り返す。
【００３５】
また、ステップＳ７０６において、論理シミュレーションの結果、テストエラーが発生していない場合はステップＳ７０７へ進む。このステップＳ７０７で、ドキュメント生成部１０６がＩＰ設計パラメータリスト１０７を参照してＩＰドキュメントデータ１１０の設計パラメータ値の変更及び、選択されているサブモジュールに関する記述部分の抽出を行う。そして、ユーザの設計したユーザデザイン１１１のドキュメントを作成する。
【００３６】
例えば、図６に示すＩＰ設計パラメータリスト１０７を参照してドキュメントを作成する場合、ユーザが選択したサブモジュールはモジュールＢであるので、図３に示すＩＰの機能記述部からモジュールＢの機能記述部を抽出する。具体的には、機能記述部において、開始インデックス＜#module_B＞から終了インデックス＜#＞で区切られている機能記述部を抽出する。
【００３７】
更に、ＩＰ設計パラメータリスト１０７では、ユーザデザイン１１１はモジュールＢのチャネル数１が選択されている。そこで、選択されているパラメータ値を挿入することを示すインデックスである［$n］が挿入されている箇所に選択された設計パラメータ値１を挿入する。
【００３８】
図８は、図３に示す機能記述部に抽出及び挿入を行って得られたドキュメントの一例を示す図である。また、図４に示すブロック図部の構成については、ユーザが選択しているモジュールＢには内部ＦＩＦＯを示すパラメータフィールドが存在しないため、ＩＰのブロック全体図から内部ＦＩＦＯ４０１を削除する。そして、モジュールＡ４０２を図９に示すように、モジュールＢ９０１に変更する。尚、これらの削除及び変更の技術は従来のドキュメント生成技術を用いる。
【００３９】
図９は、図４に示すモジュールＡ４０２に削除及び変更を行った一例を示す図である。また、図１０は、図５に示す信号波形図に設計パラメータの変更を反映した一例を示す図である。図１０に示すように、ユーザはＡバスインターフェースのデータ幅３２を選択しているので、選択されているパラメータ値の挿入を示すインデックスの［$n］箇所に選択された設計パラメータ値３２を挿入する。
【００４０】
以上のように、ユーザデザインの設計パラメータの値をドキュメントデータに反映する作業が終了すると、ドキュメント生成部１０６はこれらを出力する。出力の際には従来の文書作成記述を用い、ドキュメントを成形して出力を行う。
【００４１】
本実施形態によれば、ユーザが自身のＩＰデザインを設計する際に、ＩＰからテスト、及びテストベンチを自動で選択し、論理シミュレーションを行う。そして、論理シミュレーションでエラーが発生しなかった場合に限り、ユーザの設計したＩＰデザインのドキュメントを自動作成することを可能にしたため、以下のような効果がある。
（１）後工程で、ユーザによって設計されたユーザデザインのドライバ開発などでユーザデザインを使用する場合、実装されているサブモジュール、機能、及び設計パラメータに関してだけドキュメントに記載される。従って、必要な情報と不必要な情報の分類に時間を費やさなくて済み、開発期間短縮につながる。
（２）ユーザが独自のデザインを作成するときに、ＩＰのドキュメントから新規にユーザデザインのドキュメントを作成しなくてもよいので、設計が容易になり、設計期間が短縮する。
（３）デザインの品質がシミュレーションで保証された後、ドキュメントを生成するので後工程で不具合が発見されることによるドキュメントの作成の手戻りがなくなる。
【００４２】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００４３】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００４４】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００４５】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
【００４７】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４８】
【図１】本実施形態におけるドキュメント生成システムの構成の一例を示すブロック図である。
【図２】テストデータ１０９の関連付けされたリストの構成例を示す図である。
【図３】ドキュメントデータ１１０における機能記述部の一例を示す図である。
【図４】ドキュメントデータ１１０におけるブロック図部の構成の一例を示す図である。
【図５】ドキュメントデータ１１０における信号波形部の構成の一例を示す図である。
【図６】ＩＰ設計パラメータリスト１０７の構成の一例を示す図である。
【図７】本実施形態におけるドキュメント生成処理を示すフローチャートである。
【図８】図３に示す機能記述部に抽出及び挿入を行って得られたドキュメントの一例を示す図である。
【図９】図４に示すモジュールＡ４０２に削除及び変更を行った一例を示す図である。
【図１０】図５に示す信号波形図に設計パラメータの変更を反映した一例を示す図である。
【符号の説明】
【００４９】
１０２  ＩＰ設計部
１０３  ＩＰ設計パラメータ抽出部
１０４  テスト選択部
１０５  論理シミュレーション
１０６  ドキュメント生成部
１０７  ＩＰ設計パラメータリスト
１０８  デザインデータ
１０９  テストデータ
１１０  ドキュメントデータ
１１１  ユーザデザイン
１１２  テスト
【図１】
2007213232.tif 000003
【図２】
2007213232.tif 000004
【図３】
2007213232.tif 000005
【図４】
2007213232.tif 000006
【図５】
2007213232.tif 000007
【図６】
2007213232.tif 000008
【図７】
2007213232.tif 000009
【図８】
2007213232.tif 000010
【図９】
2007213232.tif 000011
【図１０】
2007213232.tif 000012