(57)【要約】【課題】  ＲＴＬ設計や物理設計を行って初めてその構成の問題点が明らかになるため、システム設計からやり直しをしなければならず、これによる設計期間の増加は甚大なものになる。【解決手段】  システムを構成する少なくとも一つの機能モジュールと、当該機能モジュールを接続するバスを画面上にシンボルで表示して編集するブロック図編集制御部２０１と、機能モジュールを含むシステムのシミュレーションの目的に応じて、システムを構成する各機能モジュールに対するシミュレーションモデルの抽象度を決定する抽象度選択制御部２０２と、編集されたシステムのシミュレーションを、目的及び抽象度に従って実行し、そのシミュレーション結果に基づいて前記バスの構造を決定するバス構造決定部２１６とを有する。【選択図】  図１
2006252155.tif 000002
【特許請求の範囲】
【請求項１】
システムを構成する少なくとも一つの機能モジュールと、当該機能モジュールを接続するバスを画面上にシンボルで表示して編集する編集手段と、
前記機能モジュールを含むシステムのシミュレーションの目的に応じて、前記システムを構成する各機能モジュールに対するシミュレーションモデルの抽象度を決定する抽象度決定手段と、
前記編集手段で編集された前記システムのシミュレーションを、前記目的及び抽象度に従って実行するシミュレーション手段と、
前記シミュレーション手段によるシミュレーション結果に基づいて前記バスの構造を決定するバス構造決定手段と、
を有することを特徴とする設計支援装置。
【請求項２】
前記バス構造決定手段は、各機能モジュール間でのデータ転送の有無に基づいて前記バスの構造を決定することを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記バス構造決定手段は、各機能モジュール間でのデータ転送の同時性に基づいて前記バスの構造を決定することを特徴とする請求項１又は２に記載の設計支援装置。
【請求項４】
前記バス構造決定手段は、各機能モジュール間でのデータ転送に基づいて前記バスの構造を決定する際に、複数のバスを多重化或は逆多重化してバスの再構成を行うことを特徴とする請求項１乃至３のいずれか１項に記載の設計支援装置。
【請求項５】
システムを構成する少なくとも一つの機能モジュールと、当該機能モジュールを接続するバスを画面上にシンボルで表示して編集する編集工程と、
前記機能モジュールを含むシステムのシミュレーションの目的に応じて、前記システムを構成する各機能モジュールに対するシミュレーションモデルの抽象度を決定する抽象度決定工程と、
前記編集工程で編集された前記システムのシミュレーションを、前記目的及び抽象度に従って実行するシミュレーション工程と、
前記シミュレーション工程でのシミュレーション結果に基づいて前記バスの構造を決定するバス構造決定工程と、
を有することを特徴とする設計支援方法。
【請求項６】
前記バス構造決定工程では、各機能モジュール間でのデータ転送の有無に基づいて前記バスの構造を決定することを特徴とする請求項５に記載の設計支援方法。
【請求項７】
前記バス構造決定工程では、各機能モジュール間でのデータ転送の同時性に基づいて前記バスの構造を決定することを特徴とする請求項５又は６に記載の設計支援方法。
【請求項８】
前記バス構造決定工程では、各機能モジュール間でのデータ転送に基づいて前記バスの構造を決定する際に、複数のバスを多重化或は逆多重化してバスの再構成を行うことを特徴とする請求項５乃至７のいずれか１項に記載の設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム設計においてシミュレーションモデルを作成して設計を支援する設計支援装置及びその方法に関するものである。
【背景技術】
【０００２】
プロセス技術の進歩によりＬＳＩの集積度が増大し、これまで１枚或は複数枚の基板に実装されていたシステム回路を、システムＬＳＩとして１つのチップに搭載できるようになった。これに伴い、このようなチップに搭載される機能モジュールも多様化し、回路規模が増大している。システムＬＳＩを効率的に設計する手法として、従来のVerilog-HDLやVHDLといったハードウェア記述言語を使用した設計手法から、SystemCやSpecCといったシステム記述言語による設計が普及してきた（特許文献１）。
【０００３】
またシステム記述言語による設計支援ツールとして、Synopsys社のCoCentricや、CoWare社のn2cが知られている。これによれば、システム記述言語で記述した機能モジュールを、入力画面を用いてブロック図形式で入力して、システムＬＳＩの設計を行うことができる。こうしてシステムＬＳＩの設計が終了すると、設計支援ツールからシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行いシステムＬＳＩの機能や性能を確認できる。
【０００４】
このようなシステム記述言語によるモジュールの記述には、記述の抽象度により以下の３種類の記述レベルが知られている。
【０００５】
トランザクションレベル（ＴＬ）：モジュール間の通信を捉えて機能を記述する抽象度レベルである。通信の開始及び終了のタイミングや通信データにより動作するため、クロックに対する精度は非常に低い。またイベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。
【０００６】
バスサイクルアキュレート（ＢＣＡ）：モジュールの入力と出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対し、入力及び出力部で正確にシミュレートすることができる。
【０００７】
レジスタトランスファレベル（ＲＴＬ）：レジスタファイル間の同期転送を捉えて回路を記述する抽象度レベルである。動作クロックに対して正確に機能の動作をシミュレートすることができ、精度が非常に高い。また１クロックごとに機能をシミュレートするためシミュレーション速度は非常に遅い。
【０００８】
一般に、抽象度が高いほど、シミュレーション速度は速く、抽象度が低いほどシミュレーション精度は高くなる。システムＬＳＩの設計では、抽象度の高い記述から徐々に抽象度の低い記述へと、モジュールの機能が詳細化されていく。従って設計者は、各抽象度で記述されたモジュールを選択してシステムＬＳＩの設計を行うのが一般的である。この際、ユーザがシミュレーションの目的に合わせてシミュレーションモデルを選択する必要がある。このため、経験の浅い設計者や、設計を行わない検証技術者、ソフトウェア開発技術者にとっては、最適なシミュレーションモデルの構成を選択するのが難しく、シミュレーションの目的に合った精度で結果を得ることができない。
【特許文献１】特開２００２−３０４４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記手法を用いてシステム設計を行う際に、システムＬＳＩのハードウェアのアーキテクチャを決定するために、ＣＰＵやメモリコントローラ等の機能モジュールを共有バスを介して接続するといった手法が採られる。しかし、ハードウェア設計の経験の浅い人にとって、システムとしてのデータ処理性能やチップ面積といった観点から、より最適なバスの構成を設計初期から決定するのは極めて困難である。従って、ＲＴＬ設計や物理設計を行って初めて、その構成の問題点が明らかになる。その場合には、システム設計からやり直しをしなければならず、これによる設計期間の増加は甚大なものになる。
【００１０】
本発明は、上記従来技術の欠点を解決することにある。
【００１１】
また本願発明の特徴は、システム設計の初期段階においてシステムのバスの構造を容易に決定できる設計支援装置及びその方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記特徴は、独立クレームに記載の特徴の組み合わせにより達成され、従属項は発明の単なる有利な具体例を規定するものである。
【００１３】
本発明の一態様に係る設計支援装置は以下のような構成を備える。即ち、
システムを構成する少なくとも一つの機能モジュールと、当該機能モジュールを接続するバスを画面上にシンボルで表示して編集する編集手段と、
前記機能モジュールを含むシステムのシミュレーションの目的に応じて、前記システムを構成する各機能モジュールに対するシミュレーションモデルの抽象度を決定する抽象度決定手段と、
前記編集手段で編集された前記システムのシミュレーションを、前記目的及び抽象度に従って実行するシミュレーション手段と、
前記シミュレーション手段によるシミュレーション結果に基づいて前記バスの構造を決定するバス構造決定手段とを有することを特徴とする。
【００１４】
本発明の一態様に係る設計支援方法は以下のような工程を備える。即ち、
システムを構成する少なくとも一つの機能モジュールと、当該機能モジュールを接続するバスを画面上にシンボルで表示して編集する編集工程と、
前記機能モジュールを含むシステムのシミュレーションの目的に応じて、前記システムを構成する各機能モジュールに対するシミュレーションモデルの抽象度を決定する抽象度決定工程と、
前記編集工程で編集された前記システムのシミュレーションを、前記目的及び抽象度に従って実行するシミュレーション工程と、
前記シミュレーション工程でのシミュレーション結果に基づいて前記バスの構造を決定するバス構造決定工程とを有することを特徴とする。
【００１５】
尚、この発明の概要は、必要な特徴を全て列挙しているものでなく、よって、これら特徴群のサブコンビネーションも発明になり得る。
【発明の効果】
【００１６】
本発明によれば、システム設計の初期段階においてシステムのバスの構造を容易に決定できるという効果がある。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１８】
図１は、本発明の実施の形態に係る設計支援装置（コンピュータ機器）の機能構成を説明するブロック図である。
【００１９】
図において、ブロック図編集制御部（以下、図編集部）２０１は、機能モジュールを示すブロック図の追加、削除及び編集を制御し、編集された設計データを設計データベース（設計ＤＢ）２０３へ格納する。この図編集部２０１におけるブロック図の入力、削除、編集の機能は、周知のＣＡＤ技術により実現できる。また図編集部２０１は、画面編集制御部２０１１、モデル選択制御部２０１２、シミュレーション目的選択制御部（以下、目的選択部）２０１３を有している。
【００２０】
画面編集制御部２０１１は、設計対象のブロック図を構成するシンボルやラインの追加、削除や編集を制御している。ここでシンボルは機能モジュールを代表しており、ラインはバスや信号線を代表している。このブロック図を表示する表示部（モニタ）２０７では、機能モジュールを表すシンボルは箱状で、バスや信号線を代表するラインは、線或は矢印で表示される。
【００２１】
モデル選択制御部２０１２は、画面編集制御部２０１１により追加、削除或は編集された機能モジュール又はバスに対し、シミュレーションモデルを選択して管理している。ここで選択可能なシミュレーションモデルは、設計データベース２０３にライブラリとして保持されている。このモデル選択制御部２０１２で選択されたシミュレーションモデルの抽象度は、後述するシミュレーションモデル抽象度選択制御部２０２により、シミュレーションの目的に応じて抽象度を選択する時にも保持される。よって、この選択されたシュミレーションモデルの抽象度は他の抽象度に変更されることはない。
【００２２】
目的選択部２０１３は、画面編集制御部２０１１で選択された機能モジュールに対し、シミュレーションの目的を選択する。シミュレーションモデル抽象度選択制御部（以下、抽象度選択部）２０２は、図編集部２０１の目的選択部２０１３により選択された機能モジュールに対するシミュレーションの目的が選択されると、その選択されたシミュレーションの目的に合わせ、テンプレートデータベース（テンプレートＤＢ）２０４のテンプレートを使用し、システムを構成する各機能モジュールのシミュレーションモデルの抽象度を決定する。
【００２３】
ユーザインタフェース制御部２０５は、入力部２０６と出力部２０８と、図編集部２０１、シミュレーション結果解析部（以下、結果解析部）２１５、バス構造決定部２１６とのインターフェースを司る。ここでは例えば出力部２０６を介して表示部２０７へ設計情報を表示し、入力部２０８を介してユーザからの入力を受け付ける。入力部２０８は、ユーザがキーボード２０９及びマウス２１０を操作して入力した情報を受け取って入力している。キーボード２０９及びマウス２１０は、表示部２０７の表示を参照してユーザにより操作され、ブロック図の追加、削除、及び編集を指示したり、シミュレーションモデルの選択、シミュレーション目的の選択を行うのに使用される。
【００２４】
設計データベース２０３は、設計情報をデータベースとして記憶している。この設計データベース２０３は、図編集部２０１により作成されたブロック図、既存モジュールの設計情報、各機能モジュールに対応した各種シミュレーションモデル、バスの設計情報、バスに対応した各種シミュレーションモデルを格納している。
【００２５】
テストベクタ選択制御部２１１は、システムのシミュレーションに使用するテストベクタを選択して管理している。ここで選択可能なテストベクタは、テストデータベース（テストＤＢ）２１２に保持されている。このテストデータベース２１２は、テストベクタをデータベースとして記憶している。
【００２６】
シミュレーション結果取得制御部（以下、結果取得部）２１３は、シミュレーションの結果から、バス上でのデータ転送の情報を抽出し、シミュレーション結果データベース（結果ＤＢ）２１４へ保持する。結果解析部２１５は、得られたバス上のデータ転送情報を解析し、解析結果の表示情報をユーザインタフェース制御部２０５に送出する。またバスの接続情報を抽出し、バス構造決定部２１６に供給する。バス構造決定部２１６は、結果解析部２１５により抽出されたバスの接続性情報を利用して、最適なバスの構造を決定する。
【００２７】
図２は、本実施の形態に係る設計支援装置の表示部２０７への表示例を示す図で、ここではバスを再構成した状態の表示例を示している。
【００２８】
図２において、１０１は、ブロック図の入力及び編集を行う表示エリアである。ユーザはマウス２１０或はキーボード２０９を使い、この表示エリア１０１で、システムを構成するバスや機能モジュールの追加、削除、配置、接続を変更する。１０２，１０３，１０４のそれぞれは、各機能モジュール間のデータ転送を行うためのバスを模式的に表したものである。また１０５，１０６，１０７，１０８，１０９，１１０のそれぞれは、これらバスに接続され、処理され、転送されたデータを送受信する各機能モジュールを模式的に表したものである。
【００２９】
尚、図２において、Ｉ0〜Ｉ3は、各機能モジュールに設けられ、バスに対して能動的にデータを転送するイニシエータポートである。またＴ0〜Ｔ3は、バスからのデータを受け取るターゲットポートである。
【００３０】
図３は、本実施の形態に係る設計支援装置における処理の流れを説明するフローチャートである。以下、図１〜図３を参照して、図３のフローチャートの流れを説明する。
【００３１】
まずステップＳ３０１で、ユーザによるキーボード２０９やマウス２１０の操作により、必要とする各機能モジュール１０５，１０６，１０７，１０８，１０９，１１０が表示エリア１０１に配置される。次にステップＳ３０２で、ユーザの操作に基づいて、全ての機能モジュールを１つのバスに接続する。その結果、各機能モジュールとバスが接続された状態がモニタ２０７に表示される。尚、この画面入力及び編集処理は、画面編集部２０１１の制御の下に実行される。この表示例を図４に示す。
【００３２】
図４は、図３のステップＳ３０２で入力され、モニタ２０７に表示された初期のバス構成の一例を示す図で、図２と共通する部分は同じ記号で示している。
【００３３】
図４では、機能モジュール１０５〜１１０が全てバス１０２に接続されている。ここでイニシエータポート或はマスタポートＩ0，Ｉ1，Ｉ2，Ｉ3、及びターゲットポート或はスレーブポートＴ0，Ｔ1，Ｔ2，Ｔ3は、図２と同じである。このように、各機能モジュール１０５〜１１０とバス１０２とを接続することにより、システムＬＳＩの初期ハードウェア構成を作成する。
【００３４】
尚、本実施の形態で用いられるバス１０２の形態はどのようなものでも良いが、ここでは各イニシエータ、ターゲット間でのデータ転送をできるだけ効率的にするために、各転送要求が時間的に重なった場合、異なるイニシエータ、ターゲット間であれば同時に実行可能なバスの一形態であるクロスバー形態のバスを例にして説明する。
【００３５】
図５（Ａ），（Ｂ）は、本実施の形態において、図４の例に従ったバス形態における各イニシエータポート、ターゲットポート間の接続例を示す図である。
【００３６】
図８（Ａ）は、各イニシエータポート、ターゲットポート間の接続を黒い点で模式的に表しており、図８（Ｂ）は、各イニシエータポート、ターゲットポート間の接続を、マルチプレクサ５００〜５０３を用いて表している。
【００３７】
次にステップＳ３０３で、ユーザの操作に基づいて、シミュレーションの目的が選択される。これは上述の目的選択部２０１３により行われる。こうしてシミュレーションの目的が選択されると、抽象度選択部２０２は、その選択された目的に対応するテンプレートを、テンプレートデータベース２０４より読み出す。抽象度選択部２０２は、その読み出したテンプレートに従い、システムを構成する各機能モジュールのシミュレーションモデルの抽象度を決定する。尚、ここでユーザが、選択した機能モジュールに対するシミュレーションモデルの抽象度を選択している場合には、そのユーザの選択を優先する。
【００３８】
抽象度選択部２０２は、テンプレートに従い設計データベース２０３から各機能モジュールに対するシミュレーションモデルの抽象度を決定していく。最も高い優先度で指定された抽象度のモデルが無い場合、次の優先度の抽象度のモデルを選択する。最も低い優先のモデルも無い場合は、デフォルトで指定された抽象度のモデルが使用される。
【００３９】
次にステップＳ３０４で、ユーザの操作に基づいて、テストベクタ選択制御部２１１によりテストベクタを選択する。ここではシステムのシミュレーションに使用するテストベクタを、テストデータベース２１２から選択して指定する。このテストベクタの選択が終了すると、システムＬＳＩ全体のシミュレーションモデルを生成する。
【００４０】
次にステップＳ３０５では、その生成されたシミュレーションモデルを使用してシステムＬＳＩ全体のシミュレーションを実行する。このシミュレーションを実行した後、そのシミュレーション結果を、結果取得部２１３を用いて取得する。こうして取得したシミュレーション結果は、シミュレーション結果データベース２１４に保管される。このシミュレーション結果データベース２１４へのデータの保管は、基本的にはデータを追加する形で行われる。もし結果取得部２１３を用いてクリア命令が発行されると、全てのテスト進捗データがクリアされる。
【００４１】
尚、ここで主に取得するテスト結果データとしては、バス１０２上でのデータ転送に関するものである。
【００４２】
図６は、このシミュレーション結果データベース２１４に保管されるテスト結果データの一例を示す図である。
【００４３】
この例では、バス１０２上でのデータ転送の開始時間、終了時間、データ転送が行われたイニシエータとターゲットの情報が保持されている。
【００４４】
次にステップＳ３０７で、ステップＳ３０６で得られた結果データを基に、結果解析部２１５で、その結果データを解析する。尚、この際、解析を行うためのシミュレーション結果データや解析結果を、ユーザインタフェース制御部２０５を通じてモニタ２０７の画面上で確認することができる。
【００４５】
図７は、本実施の形態において、各イニシエータからターゲットへのデータ転送の時系列情報の表示例を示す図である。これは図６に示すテストデータ結果に基づいて表示された場合で示している。ここでは、シミュレーションにおいて、各イニシエータから各ターゲットへの転送の有無をテスト結果データベース２１４を用いて抽出することにより、このような表示が行われる。
【００４６】
図８は、上述のシミュレーションに基づく、各機能モジュール間でのデータ転送の一例を示す図である。図において、「×」は、その列のイニシエータと、その行のターゲットポートとの間でのデータ転送がある状態を示している。一方、何も記されていない箇所は、それぞれ対応するイニシエータとターゲットポートとの間でのデータ転送がない状態を示している。この解析により、本実施の形態で採用した各イニシエータから各ターゲットへのクロスバースイッチの接続に関して、イニシエータＩ2からターゲットＴ3との間、またイニシエータＩ3からターゲットＴ3との間の接続が不要であることがわかる。この情報を基に、バス構成の最適化を図った例を図９（Ａ），（Ｂ）に示す。
【００４７】
図９（Ａ），（Ｂ）は、こうして最適化されたバス接続を例を示す図である。図５（Ａ），（Ｂ）のそれぞれと図９（Ａ），（Ｂ）のそれぞれを比較すると明らかなように、図９（Ａ），（Ｂ）では、Ｉ2とＴ3及びＩ3とＴ3との間の接続が省略されていることが分かる。
【００４８】
このようにバス構成を最適化することにより、バスの結線を削減できる。
【００４９】
次に、テスト結果データベース２１４を参照して、結果解析部２１５により、各データ転送が行われている時期をそれぞれのデータ転送に対して抽出し、時系列にデータ転送を解析する。
【００５０】
この解析の一手段として、例えば図７に示す時系列表示を参照して各イニシエータとターゲット間でのデータ転送に着目し、１つのイニシエータからデータが転送されている時期と、その他のイニシエータからのデータ転送が行われている時期との重なりが少ないものがあれば、そのイニシエータの組み合わせを抽出する。この抽出の方法としては、例えば１つのイニシエータに着目し、その他のイニシエータを１つずつ選択し、シミュレーションサイクル中のデータ転送の時期が重なっている期間を抽出し、全てのシミュレーションサイクルに対する割合を求めることによって得られる。
【００５１】
データ転送重複度＝I_overlap／T_total
ここでI_overlapは、着目したイニシエータと、その他のイニシエータ間の転送が重なったサイクル数を示す。またT_totalは、シミュレーションの全サイクル数を示す。
【００５２】
この重複度が、予め設定した閾値を超えない場合、これらのデータ転送を多重化できると判断し、それらのイニシエータからのデータ転送をまず多重化してから、バスに接続することにする。この手法により、バス構成の最適化を図った例を図１０（Ａ），（Ｂ）に示す。
【００５３】
図１０（Ａ），（Ｂ）は、イニシエータからのデータ転送を多重化した後のバス構成例を示す図である。図において、５１０，５１１は、イニシエータＩ0，Ｉ1からのデータ転送を多重化するためのマルチプレクサ回路を示している。このようにマルチプレクサ回路５１０，５１１を追加する必要があるが、バス構成を最適化することにより、更にバスの結線を少なくできる。
【００５４】
続いて、別の解析の一手段として、各ターゲット間でのデータ転送に着目し、１つのターゲットへのデータ転送が行われている時期と、その他のターゲットへのデータ転送が行われている時期との重なりが少ないものがあれば、そのターゲットの組み合わせを抽出する。この抽出の方法としては、例えば図７に示す時系列表示に基づいて、１つのターゲットタに着目し、その他のターゲットを１つずつ選択し、シミュレーションサイクル中のデータ転送の時期が重なっている期間を抽出し、全シミュレーションサイクルに対する割合を求めることによって得られる。
【００５５】
データ転送重複度＝T_overlap／T_total
ここでT_overlapは、着目したターゲットとその他のターゲット間の転送が重なったサイクル数を示し、T_totalは、全てのシミュレーションサイクル数を示している。
【００５６】
このデータ転送重複度が予め設定した閾値を超えない場合、これらのデータ転送を多重化できると判断する。そして、それらのターゲットへのデータ転送を逆多重化し、バスへは、その内の１つだけ接続する。この手法により、バス構成の最適化を図った例を図１１（Ａ），（Ｂ）に示す。
【００５７】
図１１（Ａ），（Ｂ）は、ターゲットを逆多重化したバス構成例を示す図である。尚、図において、５１２，５１４のそれぞれはマルチプレクサ回路を示し、５１３，５１５のそれぞれはデマルチプレクサ回路を示している。このように、デマルチプレクサ回路５１３，５１５を追加する必要があるが、バス構成をより最適化してバスの結線を削減できる。
【００５８】
こうして、以上の解析結果を基に図３のステップＳ３０８で、バス構造決定部２１６によりバス接続の最適化を行い、バスの再構成を行う。ここでは、図１１（Ａ），（Ｂ）に示すバス構成を採用するものとする。また新たに採用したマルチプレクサ回路、デマルチプレクサ回路をそれぞれ１つのバス構成とする。これにより図２に示すように、最適化されたバス構成の一例としてバスを再構成し、バス再構成案の１つとしてユーザインタフェースを通じて画面に表示することにより、ユーザに通知することができる。
【００５９】
図１１の例では、イニシエータＩ0，Ｉ1はバス１０３に接続され、またターゲットＴ0，Ｔ1はバス１０４に接続されている。これらバス１０３，１０４はそれぞれバス１０２に接続されている。
【００６０】
ここで画面上の各イニシエータ、ターゲットポートの近傍に、例えばバス再構成後の各ポートのバスへの接続の優先度を（Ｌ），（Ｍ）で表示しても良い。この例の場合、（Ｌ）は低優先度、（Ｍ）は中優先度を示す。
【００６１】
ユーザは、こうしてターゲットへのデータ転送を逆多重化してバスを再構成した後のバス構成を画面上で確認し、そのバスの再構成が有益であるかを判断する。有益であると判断した場合は、受諾の旨をマウス２１０やキーボード２００を用いて入力することにより、設計データベース２０３に保持されている設計データを更新することができる。また或は、ユーザの判断無しに自動的に設計データを更新しても良い。
【００６２】
以上説明したように本実施の形態によれば、ブロック図の追加・削除・編集が可能な（ＣＡＤ）設計ツールにおいて、機能モジュールであるブロック図を配置し、まず最初に、機能モジュール間を１つのバスで接続してシステムを設計する。その後、シミュレーションの目的に合った抽象度のシミュレーションモデルを用いてシミュレーションし、そのシミュレーションの結果に基づいてバス接続を再構成を行うことによって、以下のような効果が得られる。
（１）高速シミュレーション環境を用いてシミュレーションすることにより、開発の初期段階でバス上でのデータ転送の概要を知ることができ、その情報を基にバスを最適化できる。これにより、システムＬＳＩチップの面積、配線性、クロック周波数の最適化を図ることができる。
（２）ハードウェアの設計経験の浅い設計者であっても、予め最適なバス構成を決定する必要がないため、容易にシステムＬＳＩのハードウェア設計を行うことができる。
【００６３】
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６４】
プログラムを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６６】
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施の形態に係る設計支援装置（コンピュータ機器）の機能構成を説明するブロック図である。
【図２】本実施の形態に係る設計支援装置の表示部への表示例を示す図である。
【図３】本実施の形態に係る設計支援装置における処理の流れを説明するフローチャートである。
【図４】図３のステップＳ３０２で入力され、モニタに表示された初期のバス構成の一例を示す図である。
【図５】本実施の形態において、図４の例に従ったバス形態における各イニシエータポート、ターゲットポート間の接続例を示す図である。
【図６】本実施の形態に係るシミュレーション結果データベースに保管されるテスト結果データの一例を示す図である。
【図７】本実施の形態において、各イニシエータからターゲットへのデータ転送の時系列情報の表示例を示す図である。
【図８】本実施の形態に係るシミュレーションに基づく、各機能モジュール間でのデータ転送の一例を示す図である。
【図９】本実施の形態で最適化されたバス接続を例を示す図である。
【図１０】本実施の形態に係るイニシエータからのデータ転送を多重化した後のバス構成例を示す図である。
【図１１】本実施の形態においてターゲットを逆多重化したバス構成例を示す図である。
【図１】
2006252155.tif 000003
【図２】
2006252155.tif 000004
【図３】
2006252155.tif 000005
【図４】
2006252155.tif 000006
【図５】
2006252155.tif 000007
【図６】
2006252155.tif 000008
【図７】
2006252155.tif 000009
【図８】
2006252155.tif 000010
【図９】
2006252155.tif 000011
【図１０】
2006252155.tif 000012
【図１１】
2006252155.tif 000013