(57)【要約】【課題】  異なるバスプロトコルのバス間においてデータ転送を適切に行うことが可能なバスブリッジを自動的に選択して、バスインターフェースを生成すること。【解決手段】  バスインターフェース設計支援装置１においては、異なるバスプロトコルのバス間を接続するバスブリッジについても、ライブラリ（バスブリッジライブラリ）として記憶しておき、設計対象となるバスインターフェースに含まれるバスのバスプロトコルに基づいて、バスブリッジライブラリから適切なバスブリッジが選択されて、バスインターフェースが設計される。したがって、モジュール間におけるデータ転送を適切に行うことが可能なバスプロトコルおよびバスブリッジを選択してバスインターフェースを自動生成することが可能となる。【選択図】  図１
2006119951.tif 000002
【特許請求の範囲】
【請求項１】
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援装置であって、
設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得手段と、
異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段と、
前記バスプロトコル取得手段によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成手段と、
を含むことを特徴とするバスインターフェース設計支援装置。
【請求項２】
設計対象となるバスインターフェースに要求されるデータ転送速度の算出根拠となるバス転送速度解析情報を取得する解析情報取得手段と、
前記解析情報取得手段によって取得されたバス転送速度解析情報に基づいて、設計対象となるバスインターフェースに要求されるデータ転送速度を算出する転送速度算出手段と、
複数種類のバスについてバスプロトコルを記憶しているバスプロトコル記憶手段と、
をさらに含み、
前記バスプロトコル取得手段は、前記バスプロトコル記憶手段に記憶されたバスプロトコルを参照し、前記転送速度算出手段によって算出されたデータ転送速度を充足するバスプロトコルを取得し、
前記バスインターフェース生成手段は、前記バスプロトコル取得手段によって取得されたバスプロトコルのバスそれぞれと、該バス間を接続する前記バスブリッジとを含むバスインターフェースを生成することを特徴とする請求項１記載のバスインターフェース設計支援装置。
【請求項３】
前記解析情報取得手段は、設計対象となるバスインターフェースが適用される装置において使用されるサンプルプログラムのソースファイルを解析することにより、前記バス転送速度解析情報を取得することを特徴とする請求項２記載のバスインターフェース設計支援装置。
【請求項４】
前記解析情報取得手段は、前記バス転送速度解析情報の少なくとも一部を、外部から入力される外部情報として取得することを特徴とする請求項２または３記載のバスインターフェース設計支援装置。
【請求項５】
前記転送速度算出手段によって算出されたデータ転送速度を充足するバスプロトコルを前記バスインターフェース生成手段が選択する際の付加的な条件の入力を受け付ける付加条件入力手段をさらに含み、
前記バスインターフェース生成手段は、前記付加条件入力手段を介して入力された前記付加的な条件に基づいて、前記バスプロトコルを選択することを特徴とする請求項２から４のいずれか１項に記載のバスインターフェース設計支援装置。
【請求項６】
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援システムであって、
設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得手段と、
異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段と、
前記バスプロトコル取得手段によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成手段と、
を含むことを特徴とするバスインターフェース設計支援システム。
【請求項７】
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援プログラムであって、
異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段を有するコンピュータに、
設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得機能と、
前記バスプロトコル取得機能によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成機能と、
を実現させることを特徴とするバスインターフェース設計支援プログラム。
【請求項８】
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援プログラムであって、
異なるバスプロトコル間を接続するバスブリッジの仕様を取得するバスブリッジ取得機能と、
設計対象となるバスインターフェースに含まれるバスの異なるバスプロトコルについて、前記バスブリッジ取得機能によって取得されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成機能と、
をコンピュータに実現させることを特徴とするバスインターフェース設計支援プログラム。
【請求項９】
異なるモジュール間においてデータ転送を行うバスインターフェースの設計をコンピュータによって支援するバスインターフェース設計支援方法であって、
前記コンピュータが、
異なるバスプロトコル間を接続するバスブリッジの仕様を取得するバスブリッジ取得ステップと、
設計対象となるバスインターフェースに含まれるバスの異なるバスプロトコルについて、前記バスブリッジ取得機能によって取得されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成ステップと、
を実行することを特徴とするバスインターフェース設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるモジュール間においてデータ転送を行うためのバスインターフェースの設計を支援するバスインターフェース設計支援装置、バスインターフェース設計支援システム、バスインターフェース設計支援プログラムおよびバスインターフェース設計支援方法に関する。
【背景技術】
【０００２】
従来、システムＬＳＩ（Large Scale Integration）の設計等を行う場合、モジュール間においてデータの転送を行うためのバスインターフェースについては、設計者がモジュール間における転送要求速度を予想し、適切と考えられるバスプロトコルを選択する方法が取られていた。
一方、近年、システムＬＳＩの設計を自動化する技術が提案されつつあり、バスインターフェースについても、設計を自動化することが試みられている。
【０００３】
例えば、特許文献１には、動作記述から周辺回路とデータ転送を行うために、プロトコルが決められたバスに接続するためのインターフェース回路を自動生成する技術が開示されている。
特許文献１に記載された技術は、処理の動作のみを記述した動作記述からバス接続リソースの情報を抽出して、バス接続させる通信路およびメモリ、レジスタに関する情報が格納されるバス接続リソースデータベースおよび、事前にバスプロトコルが格納されたバスプロトコルライブラリを参照して、対象とするインターフェース回路を自動生成するものである。
【０００４】
これにより、動作記述から、外部回路とデータ転送を行うために、プロトコルが決められたバスに接続するためのバスインターフェースを自動生成することが可能となる。
【特許文献１】特開２００３−８５４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のモジュールからなる装置についてバスインターフェースを設計する場合、各モジュールに備えられるバスとモジュール間を接続するバスのバスプロトコルが異なること等があるため、異なるバスプロトコル間を接続するバスブリッジも含めて設計する必要がある。
そして、特許文献１に記載された技術においては、バスインターフェースの自動生成において、バスブリッジを如何に設計するかについては具体的な手段が提案されていない。
【０００６】
即ち、従来の技術においては、異なるバスプロトコルのバス間においてデータ転送を適切に行うことができるバスブリッジを選択しつつ、バスインターフェースを自動的に生成することはできなかった。
本発明の課題は、異なるバスプロトコルのバス間においてデータ転送を適切に行うことが可能なバスブリッジを自動的に選択して、バスインターフェースを生成することである。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明は、
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援装置であって、設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得手段（例えば、図１の入力部１１および制御部１２）と、異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段（例えば、図１の記憶部１３）と、前記バスプロトコル取得手段によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成手段（例えば、図１の制御部１２）とを含むことを特徴としている。
【０００８】
このような構成により、設計対象となるバスインターフェースに含まれるバスのバスプロトコルに基づいて、異なるバスプロトコルのバス間を接続するバスブリッジを適切に選択することができる。
したがって、異なるバスプロトコルのバス間においてデータ転送を適切に行うことが可能なバスブリッジを自動的に選択して、バスインターフェースを生成することが可能となる。
【０００９】
また、設計対象となるバスインターフェースに要求されるデータ転送速度の算出根拠となるバス転送速度解析情報（例えば、図４のステップＳ１において読み込まれるソースファイルあるいはそれから取得される転送速度を算出するために用いる各種情報等）を取得する解析情報取得手段（例えば、図１の入力部１１および制御部１２）と、前記解析情報取得手段によって取得されたバス転送速度解析情報に基づいて、設計対象となるバスインターフェースに要求されるデータ転送速度を算出する転送速度算出手段（例えば、図１の制御部１２）と、複数種類のバスについてバスプロトコルを記憶しているバスプロトコル記憶手段（例えば、図１の記憶部１３）と、をさらに含み、前記バスプロトコル取得手段は、前記バスプロトコル記憶手段に記憶されたバスプロトコルを参照し、前記転送速度算出手段によって算出されたデータ転送速度を充足するバスプロトコルを取得し、前記バスインターフェース生成手段は、前記バスプロトコル取得手段によって取得されたバスプロトコルのバスそれぞれと、該バス間を接続する前記バスブリッジとを含むバスインターフェースを生成することを特徴としている。
【００１０】
このような構成により、バス転送速度解析情報から算出されたデータ転送速度を充足するバスプロトコルが自動的に選択され、そのバスプロトコルを用いたバスインターフェースが生成される。
したがって、モジュール間におけるデータ転送を適切に行うことが可能なバスプロトコルを選択してバスインターフェースを自動生成することが可能となる。
【００１１】
また、前記解析情報取得手段は、設計対象となるバスインターフェースが適用される装置において使用されるサンプルプログラムのソースファイルを解析することにより、前記バス転送速度解析情報を取得することを特徴としている。
このような構成により、設計されたバスインターフェースが実際に用いられる装置の動作を具体的に想定してバスインターフェースの設計を行うことができるため、バスインターフェースの自動生成後、実際のモジュール間に適用した場合に、転送性能不足等による不具合が生ずる事態を避けることができる。
【００１２】
また、前記解析情報取得手段は、前記バス転送速度解析情報の少なくとも一部を、外部から入力される外部情報（例えば、図５のステップＳ２において入力される外部情報Ａ）として取得することを特徴としている。
このような構成により、データ転送速度の算出に有用な条件をさらに反映させて、バスインターフェースを自動的に生成することが可能となる。
【００１３】
また、前記転送速度算出手段によって算出されたデータ転送速度を充足するバスプロトコルを前記バスインターフェース生成手段が選択する際の付加的な条件（例えば、図５のステップＳ２において入力される外部情報Ｂ）の入力を受け付ける付加条件入力手段（例えば、図１の入力部１１）をさらに含み、前記バスインターフェース生成手段は、前記付加条件入力手段を介して入力された前記付加的な条件に基づいて、前記バスプロトコルを選択することを特徴としている。
【００１４】
このような構成により、バスインターフェースの設計者の要求する条件を反映させて、バスインターフェースを自動的に生成することが可能となる。
また、本発明は、
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援システムであって、設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得手段と、異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段と、前記バスプロトコル取得手段によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成手段とを含むことを特徴としている。
【００１５】
このような構成により、クライアント・サーバシステム等を構成する複数の装置に、本発明に係るバスインターフェース設計支援のための各手段を分散させて備えることが可能となる。
また、本発明は、
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援プログラムであって、異なるバスプロトコル間を接続するバスブリッジの仕様を記憶しているバスブリッジ記憶手段を有するコンピュータに、設計対象となるバスインターフェースに含まれるバスのバスプロトコルを取得するバスプロトコル取得機能と、前記バスプロトコル取得機能によって取得された異なるバスプロトコルについて、前記バスブリッジ記憶手段に記憶されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成機能とを実現させることを特徴としている。
【００１６】
また、本発明は、
異なるモジュール間においてデータ転送を行うバスインターフェースの設計を支援するバスインターフェース設計支援プログラムであって、異なるバスプロトコル間を接続するバスブリッジの仕様を取得するバスブリッジ取得機能と、設計対象となるバスインターフェースに含まれるバスの異なるバスプロトコルについて、前記バスブリッジ取得機能によって取得されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成機能とをコンピュータに実現させることを特徴としている。
【００１７】
また、本発明は、
異なるモジュール間においてデータ転送を行うバスインターフェースの設計をコンピュータによって支援するバスインターフェース設計支援方法であって、前記コンピュータが、異なるバスプロトコル間を接続するバスブリッジの仕様を取得するバスブリッジ取得ステップと、設計対象となるバスインターフェースに含まれるバスの異なるバスプロトコルについて、前記バスブリッジ取得機能によって取得されたバスブリッジの仕様を参照し、該バスプロトコルのバス間を接続するバスブリッジを選択してバスインターフェースを生成するバスインターフェース生成ステップとを実行することを特徴としている。
【００１８】
このように、本発明によれば、異なるバスプロトコルのバス間においてデータ転送を適切に行うことが可能なバスブリッジを自動的に選択して、バスインターフェースを生成することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、図を参照して本発明に係るバスインターフェース設計支援装置の実施の形態を説明する。
まず、構成を説明する。
図１は、本発明に係るバスインターフェース設計支援装置１の機能構成を示すブロック図である。
【００２０】
図１において、バスインターフェース設計支援装置１は、入力部１１と、制御部１２と、記憶部１３と、ＲＡＭ（Random Access Memory）１４と、ＶＲＡＭ（Video Random Access Memory）１５と、表示部１６とを含んで構成される。
入力部１１は、カーソルキーや数字入力キー等を備えたキーボード及びマウス等のポインティングデバイスを含み、キーボードにおいて押下されたキーの押下信号やマウスの位置信号を制御部１２に出力する。
【００２１】
制御部１２は、バスインターフェース設計支援装置１全体を制御するもので、ＣＰＵ（Central Processing Unit）等のプロセッサによって構成される。この制御部１２は、入力部１１から入力される各種の指示信号に従って、記憶部１３に記憶された各種処理に関するプログラムを読み出して実行する。例えば、制御部１２は、記憶部１３に記憶されたバスインターフェース設計支援処理プログラムを読み出し、バスインターフェース設計支援処理（後述）を実行する。
【００２２】
そして、制御部１２は、各種プログラム等を実行した処理結果を記憶部１３やＲＡＭ１４の所定の領域に格納したり、表示部１６に表示させたりする。
記憶部１３は、ハードディスク等の不揮発性の記憶装置で構成される。この記憶部１３は、バスインターフェース設計支援処理において参照されるバスプロトコルライブラリやバスブリッジライブラリ、設計対象であるバスインターフェースを適用するプロセッサにおいて実行されるサンプルプログラムのソースファイル、バスインターフェース設計支援装置１の制御のための各種処理に関するプログラムを記憶する。
【００２３】
ここで、バスプロトコル、バスプロトコルライブラリおよびバスブリッジライブラリについて説明する。
バスプロトコルは、各種バスの規格が定義された情報であり、具体的には、信号の定義（例えば、クロック信号、セレクト信号、リード／ライト指示信号、リードイネーブル信号あるいはライトイネーブル信号等）、各信号の入出力タイミング、バス幅（ビット幅）およびその信号内容（アドレス、データ、制御信号等）、転送速度インデックス（データ転送速度を示す指標）、インターフェース部の回路規模インデックス（インターフェース回路の回路規模を示す指標）が規定されている。なお、スプリットトランザクションを採用する場合には、チャネル設定の仕組みとして、トランザクションに付与するＩＤ情報がさらに定義される。
【００２４】
図２は、基本的な構成のバス（以下、「簡易バス」という。）に関するバスプロトコルの一例を示す模式図であり、図３は、ＡＨＢ（AMBA（Advanced Microcontroller Bus Architecture） High Performance Bus）に関するバスプロトコルの一例を示す模式図である。
図２において、簡易バスの信号定義は、図２（ａ）に示すように、ＣＬＫ（クロック）、ＳＥＬ（スレーブ選択信号：ハイレベルなら該当スレーブが選択され、読み書きが行われる）、ＲＷ（リード／ライト識別信号：ハイレベルなら書き込み、ローレベルなら読み出し動作）、ＡＤＤＲ（アドレス信号）、ＷＤＡＴＡ（書き込みデータ）、ＲＤＡＴＡ（読み出しデータ）となっており、これらの信号について、図２（ｂ）に示すタイミングチャートに従う入出力タイミングが規定されている。なお、転送速度と回路規模とはトレードオフの関係にあり、ここでは具体的な数値を示していないが、例えば、簡易バスの転送速度を過度に高速化すると、その効果に比して回路規模の増大が著しいものとなる。そのため、転送速度インデックスとしては、低速度から中速度を示す数値（例えば、低速度を示す“１”から高速度を示す“５”までの５段階のランク付けにおいて、“１”〜“３”）をバスプロトコルに規定すること等が可能である。また、回路規模インデックスとしては、小規模から中規模を示す数値（例えば、小規模を示す“１”から大規模を示す“５”までの５段階のランク付けにおいて、“１”〜“３”）をバスプロトコルに規定すること等が可能である。
【００２５】
また、図３において、ＡＨＢの信号定義は、図３（ａ）に示すように、ＨＣＬＫ（クロック）、ＨＡＤＤＲ（アドレス信号）、ＨＲＤＡＴＡ（読み出しデータ）、ＨＷＤＡＴＡ（書き込みデータ）、Ｃｏｎｔｒｏｌ（制御信号）、ＨＲＥＳＰ（応答信号）となっており、これらの信号について、図３（ｂ）に示すタイミングチャートに従う入出力タイミングが規定されている。なお、ＡＨＢの場合、簡易バスに比して制御がやや複雑になるため、転送速度が過度に低速度である場合、高速・高効率といったＡＨＢを採用する利点が相殺されることとなる。そのため、転送速度インデックスとしては、中速度から高速度を示す数値（例えば、低速度を示す“１”から高速度を示す“５”までの５段階のランク付けにおいて、“３”〜“５”）をバスプロトコルに規定すること等が可能である。また、回路規模インデックスとしては、中規模から大規模を示す数値（例えば、小規模を示す“１”から大規模を示す“５”までの５段階のランク付けにおいて、“３”〜“５”）をバスプロトコルに規定すること等が可能である。
【００２６】
バスプロトコルライブラリとは、複数種類のバスプロトコルが格納されているデータベースであり、バスインターフェース設計支援処理において、バスプロトコルライブラリに格納されたバスプロトコルのうち、与えられた設計条件に適合するいずれかのバスプロトコルが選択される。
なお、バスプロトコルにおける転送速度および回路規模のランクは、バスプロトコルライブラリに格納された他のバスプロトコルに基づくバスとの比較において、相対的に位置付けられるものである。そのため、簡易バスおよびＡＨＢについて述べた上述のランクは、バスプロトコルライブラリに格納された他のバスプロトコルとの関係によって相対的に変化する。
【００２７】
さらに、バスブリッジライブラリとは、バスプロトコルライブラリに格納された各種バス同士を接続する場合のバスブリッジの仕様が格納されているデータベースであり、具体的には、異なるバスプロトコル間でデータの転送を行うための回路構成が、接続するバスプロトコルの組み合わせそれぞれについて格納されている。
後述するバスインターフェース設計支援処理においては、複数のモジュールに対し、それぞれ異なるバスプロトコルが選択される場合がある。このとき、バスブリッジライブラリを参照して、異なるバスプロトコルのバス間を接続するバスブリッジについても、自動的に適切な仕様が選択される。これにより、バスブリッジを含めたバスインターフェースの自動生成を行うことが可能となる。
【００２８】
図４は、バスブリッジの一例を示す模式図である。
図４においては、ＦＩＦＯ（First-In First-Out）型のメモリを用いて、仕様の異なるバスＸ，Ｙを接続するバスブリッジを構成した例を示している。
図４におけるバスＸのバスプロトコルは、データのリード（read）およびライト（write）の識別をイネーブル（enable）信号のハイレベルとローレベルとによって定義し、また、データとアドレスとを同一の信号で伝達するものである。一方、バスＹのバスプロトコルは、データのリードおよびライトの識別をそれぞれ独立の信号（リードイネーブル信号およびライトイネーブル信号）によって定義し、データバスとアドレスバスとが独立したものである。
【００２９】
これらバスＸ，Ｙを接続する場合、データのライトおよびリードの識別に関しては、バスＸのイネーブル信号がハイレベルでリード、ローレベルでライトを示すものとすると、バスＸのイネーブル信号がハイレベルならバスＹのリードイネーブル信号がハイレベル（アクティブ）、バスＸのイネーブル信号がローレベルならバスＹのライトイネーブル信号がハイレベル（アクティブ）となるように変換される。
【００３０】
また、データおよびアドレスの伝達に関しては、バスＸのデータおよびアドレスが分離され、バスＹのアドレス信号およびデータ信号にそれぞれを割り当てられる。
その他の制御信号についても、ハイアクティブ等の論理やタイミングの違いが相互に変換される。
例えば、変換される信号のタイミングにクロック周波数に基づく遅延がある場合には、遅延クロック数に相当する数のレジスタを挿入することにより、タイミングの相違を吸収することができる。即ち、一方の信号が他方の信号に対して３クロックの遅延がある場合には、レジスタを３つ挿入することにより、クロックの相違分に相当するデータを保持することができる。
【００３１】
なお、高速な転送速度を有するバスに、処理速度が低速なデバイスを接続する場合、低速なデバイスをストライピングして接続することにより、効率的にバスを使用することが可能となる。
図１に戻り、ＲＡＭ１４は、制御部１２における処理に伴う各種データを記憶するもので、制御部１２により実行される各種処理において生成されたデータを一時的に格納する。
【００３２】
ＶＲＡＭ１５は、表示部１６で表示される表示データを格納するビデオメモリである。
表示部１６は、例えばドットマトリクスタイプのカラー液晶表示セル等から構成され、ＶＲＡＭ１５に格納された各種データを表示する。
次に、動作を説明する。
図５は、制御部１２が実行するバスインターフェース設計支援処理を示すフローチャートである。
【００３３】
バスインターフェース設計支援処理は、入力部１１によって処理の実行が指示入力されることに対応して開始される。
図５において、バスインターフェース設計支援処理が開始されると、制御部１２は、記憶部１３に記憶されたソースファイルを読み込み（ステップＳ１）、設計対象であるバスインターフェースに必要なデータ転送速度を解析するバス転送速度解析処理を実行する（ステップＳ２）。
【００３４】
バス転送速度解析処理では、読み込んだソースファイルを解析し、バスに接続されたメモリにおける特定のメモリ領域のアドレスに対するアクセスをカウントする。具体的には、ソースファイルに含まれる命令を解析し、ロード命令およびストア命令の数をカウントする。そして、カウントされたアクセス数を基に、必要な転送速度が算出される。
また、このロード命令およびストア命令においてアクセスするメモリ領域をメモリマップの中で予め指定しておき、指定されたアドレス内で、配列や変数を格納するアドレスを選択することとすれば、上記アクセスのカウントが容易となる。
【００３５】
さらに、バス転送速度解析処理において、アクセスするメモリの種類（ＳＲＡＭであるかＤＲＡＭであるか等）やバスプロトコルの種類に応じた応答時間を付加して転送速度を算出することとすれば、より適切にバスプロトコルを選択することが可能となる。
また、バス転送速度解析処理においては、バスインターフェースの設計者が追加して与えるべき設計条件がある場合、その情報（以下、「外部情報」という。）の入力を受け付ける。
【００３６】
外部情報としては、例えば、要求されるデータ転送速度の算出に用いる情報および条件（以下、「外部情報Ａ」という。）と、バスプロトコルの選択における条件（以下、「外部情報Ｂ」という。）とを挙げることができる。
具体的には、外部情報Ａとは、マスタモジュールおよびスレーブモジュールを含む接続モジュール数、バス幅、動作クロック速度、レイテンシ、バス占有時間および占有比率といったデータトラフィックに関する情報等である。
【００３７】
また、外部情報Ｂとは、スピード優先か（大きいバス幅を選択する、高い動作クロック速度を選択する、アドレスバスとデータバスとを分離するといった条件を優先するか）、回路規模優先か（より簡易でインターフェース回路が小規模となるバスプロトコルを優先するか）といった情報である。
なお、スピード優先とする必要があるのは、モジュール間において、一定時間内にデータアクセスを完了させる必要がある場合である。例えば、ＱＶＧＡ（Quarter Video Graphics Array）サイズの動画を３０ｆｐｓ（frame per second）で再生する場合、データ転送速度のみを単純に計算すると、３２０画素×２４０画素×３色（Ｒ，Ｇ，Ｂ）×２４ビット（各色の階調）×３０フレーム＝１６５．８８８Ｍｂｐｓのデータ転送速度が必要となり、実際には、これに加えて、メモリアクセス等の付加時間を考慮する必要がある。
【００３８】
なお、外部情報Ｂがスピード優先である旨を示している場合に、可能な限り高速に動作可能なバスプロトコルを選択した場合にも、必要とされる動作速度を充足できない場合、制御部１２によって、バスチャネルを複数化し、バスをマルチレイヤ化した設計が選択される。マルチレイヤ化する場合、複数あるバスマスタの入出力部に、それぞれバスを独立して接続することにより、各バスの占有率を低下させ、全体としてのパフォーマンスを向上させることが可能である。
【００３９】
ステップＳ２の後、制御部１２は、記憶部１３に記憶されたバスプロトコルライブラリを参照し、バス転送速度解析処理において算出されたデータ転送速度を充足するバスプロトコルを選択する（ステップＳ３）。このとき、外部情報が入力されている場合、外部情報に示された条件も反映させた上で、バスプロトコルの選択が行われる。
そして、制御部１２は、ステップＳ３において選択したバスプロトコルを表示部１６に表示し（ステップＳ４）、選択されたバスプロトコルが複数あるか否かの判定を行う（ステップＳ５）。
【００４０】
ステップＳ５において、選択されたバスプロトコルが複数である場合、制御部１２は、表示された複数のバスプロトコルのうち、設計者（ユーザ）に入力部１１を介していずれかを選択させる（ステップＳ６）。
そして、制御部１２は、選択されたバスプロトコルに従うバスインターフェースの設計データを生成する（ステップＳ７）。このとき、制御部１２は、バスインターフェースに異なるバスプロトコルのバスを含めて選択した場合、バスブリッジライブラリを参照して、これらのバスを接続する適切なバスブリッジを選択して、バスインターフェースの設計データを生成する（図４参照）。
【００４１】
なお、ステップＳ５において、選択されたバスプロトコルが１つである場合、制御部１２は、ステップＳ７の処理に移行する。
ステップＳ７の後、制御部１２は、バスインターフェース設計支援処理を終了する。
以上のように、本発明を適用したバスインターフェース設計支援装置１においては、設計対象として想定される複数のバスプロトコルをライブラリ（バスプロトコルライブラリ）として記憶しておき、必要となるデータ転送速度や回路規模等の設計条件に基づいて、バスプロトコルライブラリから適切なバスプロトコルが選択されて、バスインターフェースが設計される。
【００４２】
また、異なるバスプロトコルのバス間を接続するバスブリッジについても、ライブラリ（バスブリッジライブラリ）として記憶しておき、設計対象となるバスインターフェースに含まれるバスのバスプロトコルに基づいて、バスブリッジライブラリから適切なバスブリッジが選択されて、バスインターフェースが設計される。
したがって、モジュール間におけるデータ転送を適切に行うことが可能なバスプロトコルおよびバスブリッジを選択してバスインターフェースを自動生成することが可能となる。
【００４３】
また、バスインターフェース設計支援装置１は、バスインターフェースの設計条件をソースファイルから取得する。
そのため、設計されたバスインターフェースが適用される装置の動作を具体的に想定してバスインターフェースの設計を行うことができ、バスインターフェースの自動生成後、実際のモジュール間に適用した場合に、転送性能不足等による不具合が生ずる事態を避けることができる。
【００４４】
さらに、バスインターフェース設計支援装置１においては、バスインターフェースの設計条件を外部情報として任意に入力することができる。
したがって、データ転送速度の算出に有用な条件（外部情報Ａが示す条件）をさらに反映させて、バスインターフェースを自動的に生成することや、バスインターフェースの設計者の要求する条件（外部情報Ｂが示す条件）を反映させて、バスインターフェースを自動的に生成することが可能となる。
【００４５】
なお、本実施の形態において、バスブリッジにＦＩＦＯメモリを用いる場合を例に挙げて説明したが、異なるバスプロトコルの相違を吸収して伝達できるものであればＦＩＦＯメモリ以外のものを用いることも可能であり、例えば、汎用メモリ、レジスタ、スイッチ等を用いることも可能である。
汎用メモリを用いてバスブリッジを構成した場合、転送データをメモリに予め保持してからデータ転送が行われるため、バスブリッジへの入力順序に関係なく、転送先のバスに対するデータの転送に優先順位を設定することが可能となる。また、転送データのデータ構成において、上位と下位とを入れ替えて転送すること等も可能となる。
【００４６】
また、バス転送速度解析処理においてデータ転送速度の解析に用いられるソースファイルは、設計対象であるバスインターフェースを適用するプロセッサにおいて、実際に使用されるプログラムのソースファイルとすることが望ましい。ただし、実際に使用されるプログラムに代えて、検証用のテストプログラムを用いることも可能であり、例えば、静止画像の圧縮・伸長処理、動画像の圧縮・伸長処理あるいは誤り訂正といった処理を想定した検証用のサンプルプログラムを用いても良い。
【００４７】
また、本実施の形態においては、バスインターフェース設計支援装置１を単体の装置として構成する場合を例に挙げて説明したが、バスプロトコルライブラリを蓄積するバスプロトコルライブラリサーバ、バスブリッジライブラリを蓄積するバスブリッジライブラリサーバ、バスインターフェース設計支援処理を実行するバスインターフェース設計支援サーバ、外部情報やソースファイルを入力する設計者用端末装置を、ネットワークを介して接続しておき、各装置が連携することにより、バスインターフェース設計支援装置１の機能をシステム全体として実現することも可能である。
【００４８】
さらに、本実施の形態においては、設計対象となるバスインターフェースを構成するバスプロトコルについても、バスインターフェース設計支援処理において自動的に選択する場合を例に挙げて説明したが、使用するバスプロトコルを手動で入力し、それらのバスを接続するバスブリッジについてのみ、バスインターフェース設計支援処理において自動的に選択し、バスインターフェースを設計することとしても良い。
【００４９】
また、バスインターフェース設計支援装置１の具体的実施態様としては、顧客から提供されたソースファイルや外部情報等に基づいて、ＬＳＩの製造メーカーが、ＬＳＩに組み込むバスインターフェースを設計した上でＬＳＩを製造し、顧客に提供するといったことが考えられる。
したがって、バスインターフェース設計支援処理プログラムの機能のうち、ソースファイルの読み込みおよび外部情報の入力に関する部分と、バス転送速度解析処理、バスプロトコルの選択およびバスインターフェースの生成に関する部分とは、分離した構成とすることも可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明に係るバスインターフェース設計支援装置１の機能構成を示すブロック図である。
【図２】簡易バスに関するバスプロトコルの一例を示す模式図である。
【図３】ＡＨＢに関するバスプロトコルの一例を示す模式図である。
【図４】バスブリッジの一例を示す模式図である。
【図５】制御部１２が実行するバスインターフェース設計支援処理を示すフローチャートである。
【符号の説明】
【００５１】
１  バスインターフェース設計支援装置、１１  入力部、１２  制御部、１３  記憶部、１４  ＲＡＭ、１５  ＶＲＡＭ、１６  表示部
【図１】
2006119951.tif 000003
【図２】
2006119951.tif 000004
【図３】
2006119951.tif 000005
【図４】
2006119951.tif 000006
【図５】
2006119951.tif 000007