(57)【要約】【課題】バスインターフェース設計の際の物理的制約条件を満足し、安定して駆動可能なバスインターフェースの生成が可能なバスインターフェース設計装置、方法及びプログラムを提供すること。【解決手段】バスインターフェース設計装置４は、バスインターフェース設計用ライブラリ、並びにバスインターフェース設計の際の論理的制約条件及び物理的制約条件を読み込むデータ読込部４１と、バスインターフェースのコンフィグレーションに必要なパラメータを算出するパラメータ算出部４２と、バスインターフェースのコンフィグレーションを実行する実行部４３と、コンフィグレーションを実行した実行結果として、バスインターフェース回路をフリップフロップ及び組み合わせ論理回路で表現したＲＴＬを出力する出力部４４とを有する。【選択図】図２
2009294744.tif 000002
【特許請求の範囲】
【請求項１】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計方法であって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する、バスインターフェースの設計方法。
【請求項２】
複数のチップ間を接続するバスのバスインターフェースデータが複数登録されたバスインターフェース設計用ライブラリを読み込み、
前記チップ間の物理的制約条件に基づき、少なくともバス幅及びバスインターフェースデータを決定し、
決定されたバス幅及びバスインターフェースデータに応じた回路を備えるバスＩＰコアを自動生成するバスインターフェース設計方法。
【請求項３】
前記チップ間の論理的制約条件及び物理的制約条件を読み込み、
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出し、
前記バスインターフェースのコンフィグレーションを実行してバスインターフェースを自動生成するバスインターフェース設計方法。
【請求項４】
前記バスインターフェースは、前記チップ間を接続する前記バスを駆動する送受信回路を有し、
前記パラメータは、前記送受信回路の特性パラメータである
ことを特徴とする請求項３記載のバスインターフェース設計方法。
【請求項５】
前記バスインターフェースは、前記チップ間を接続する前記バスを駆動するシリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項３記載のバスインターフェース設計方法。
【請求項６】
前記バスインターフェースは、１以上のバスマスタモジュール、１以上のバススレーブモジュール、並びに前記１以上のバスマスタモジュール及び前記１以上のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を有する
ことを特徴とする請求項１乃至５のいずれか１項記載のバスインターフェース設計方法。
【請求項７】
前記物理制約条件をキーとし、出力を前記パラメータとして構成したデータベースをルックアップテーブル方式で検索することにより、当該パラメータを算出する
ことを特徴とする請求項３乃至６のいずれか１項記載のバスインターフェース設計方法。
【請求項８】
前記特性パラメータの算出では、
複数のバスマスタモジュール及び複数のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を生成するために必要なマスターポート数及びスレーブポート数を決定し、
前記論理的制約条件からチップ間を接続しているインターフェースに必要な論理帯域数を算出し、
前記物理的制約条件から、前記論理帯域を実現可能なインターフェース数及び各インターフェースを駆動する送受信回路の前記パラメータを算出する
ことを特徴とする請求項４乃至７のいずれか１項記載のバスインターフェース設計方法。
【請求項９】
前記物理的制約条件は、プリント基板素材、プリント基板層数、プリント基板の配線膜厚及び層間厚、各システムＬＳＩのパッケージ情報、システムＬＳＩ間の配線距離、配線負荷モデル、及び最大配線可能リンク数のうち１以上を含む
ことを特徴とする請求項１乃至８のいずれか１項記載のバスインターフェース設計方法。
【請求項１０】
前記論理的制約条件は、どのマスタがどのスレーブにアクセスするかの経路情報であるルート情報、各ポートのバス幅及びバスクロック周波数のうち１以上を含む
ことを特徴とする請求項２乃至９のいずれか１項記載のバスインターフェース設計方法。
【請求項１１】
前記特性パラメータは、ＬＶＤＳ（Low Voltage Differential Signaling）バッファタイプ、デエンファシス量、プリエンファシス量、及び受信回路側のイコライズ量のうち１以上を含む
ことを特徴とする請求項４乃至１０のいずれか１項記載のバスインターフェース設計方法。
【請求項１２】
バスインターフェース設計用ライブラリは、コンフィギャラブルなバスインターフェースのパラメータが格納されたものであって、
前記パラメータは、バスクロック周波数、マスターポートの数、スレーブポートの数、各ボートのデータバス幅、スレーブの場合のアドレス領域の開始アドレス及び終了アドレス、外部インターフェース数、各外部インターフェースの送受信回路の特性パラメータのいずれか１以上を有し、
指定された前記パラメータに従って内部回路構成を再構成する
ことを特徴とする請求項４乃至１１のいずれか１項記載のバスインターフェース設計方法。
【請求項１３】
複数のチップ間を接続するバスの設計用バスインターフェースが複数登録されたバスインターフェース設計用ライブラリ、及び前記チップ間の物理的制約条件を読み込むデータ読込部と、
前記物理的制約条件に基づき、バス幅及び設計用バスインターフェースを決定する決定部と、
前記決定されたバス幅及び設計用バスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する実行部とを有するバスインターフェース設計装置。
【請求項１４】
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出するパラメータ算出部を有し、
前記実行部は、前記パラメータ算出部が算出したパラメータに基づきバスインターフェースのコンフィグレーションを実行するバスインターフェース設計装置。
【請求項１５】
前記バスインターフェースは、前記半導体集積回路間を接続する前記バスを駆動する送受信回路を有し、
前記パラメータは、前記送受信回路の特性パラメータである
ことを特徴とする請求項１４記載のバスインターフェース設計装置。
【請求項１６】
前記バスインターフェースは、前記半導体集積回路間を接続する前記バスを駆動するシリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項１４記載のバスインターフェース設計装置。
【請求項１７】
前記バスインターフェースは、１以上のバスマスタモジュール、１以上のバススレーブモジュール、並びに前記１以上のバスマスタモジュール及び前記１以上のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を有する
ことを特徴とする請求項１３乃至１６のいずれか１項記載のバスインターフェース設計装置。
【請求項１８】
前記パラメータ算出部は、前記物理制約条件をキーとし、出力を前記パラメータとして構成したデータベースをルックアップテーブル方式で検索することにより、当該パラメータを算出する
ことを特徴とする請求項１３乃至１７のいずれか１項記載のバスインターフェース設計装置。
【請求項１９】
前記特性パラメータ算出部は、
複数のバスマスタモジュール及び複数のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を生成するために必要なマスターポート数及びスレーブポート数を決定するポート数決定部と、
前記論理的制約条件から半導体集積回路間を接続しているインターフェースに必要な論理帯域数を算出する帯域算出部と、
前記物理的制約条件から、前記論理帯域を実現可能なインターフェース数及び各インターフェースを駆動する送受信回路の前記パラメータを算出するパラメータ出力部とを有する
ことを特徴とする請求項１５乃至１８のいずれか１項記載のバスインターフェース設計装置。
【請求項２０】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計処理をコンピュータに実行させるためのプログラムであって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する、バスインターフェースの設計方法。
【請求項２１】
所定の動作をコンピュータに実行させるためのプログラムであって、
バスインターフェース設計用ライブラリを読み込み、
前記バスインターフェース設計の際の論理的制約条件及び物理的制約条件を読み込み、
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出し、
前記バスインターフェースのコンフィグレーションを実行するプログラム。
【請求項２２】
前記バスインターフェースは、複数の半導体集積回路間を接続するバスのインターフェースであって、当該バスを駆動する送受信回路、シリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記送受信回路、シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項１９記載のプログラム。
【請求項２３】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計システムであって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定する決定部と、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する実行部とを有する、バスインターフェースの設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩの設計において、バスＩＰコアを自動生成するバスインターフェース設計システム、バスインターフェース設計装置、バスインターフェース設計方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、システムＬＳＩ（large scale integration）の高性能化に伴い高速なバスインターフェースを実装するケースが増えてきている。同時に、ＰＣＢ（print circuit board：プリント基板）の高速動作・高集積化も進み、システムＬＳＩとＰＣＢの連携した設計が重要になりつつある。今までは、部品配置・基版層数・基版素材等のＰＣＢの物理的制限条件をもとにシステムＬＳＩ設計者が、人手によりパッケージやバスインターフェースの設計をしてきたが、より設計の効率化を行える環境が求められている。
【０００３】
従来、システムＬＳＩ内部のバスインターフェースを設計するためのシステムが特許文献１に開示されている。図８は、特許文献１に記載のバスインターフェース設計支援装置を示す機能ブロック図である。図８に示すように、従来のバスインターフェース設計支援装置２００は、入力部２１１と、制御部２１２と、記憶部２１３と、ＲＡＭ（Random Access Memory）２１４と、ＶＲＡＭ（Video Random Access Memory）２１５と、表示部２１６とを有する。記憶部２１３は、バスプロトコルライブラリ２１３ａ及びバスブリッジライブラリ２１３ｂを有する。
【０００４】
入力部２１１よりモジュールのインターフェース情報として、信号の定義（クロック信号、セレクト信号、リードライト指示信号、リード又はライドイネーブル信号）、各信号の入出力タイミング、バス幅（アドレス及びデータ）、転送速度インデックス（転送速度の指標）インターフェースの回路規模（回路規模の指標）、トランザクションＩＤ（スプリットトランザクション時の識別情報）を入力する。制御部２１２がインターフェース情報と記憶部２１３に予め格納されたバスプロトコルライブラリ２１３ａ及びバスライブラリ２１３ｂを参照しながらインターフェース情報に適合したバスブリッジ回路を選択し、その結果を表示部２１６に出力したあと生成したバスを出力する仕組みとなっている。
【０００５】
次に、適切なバスブリッジを選択する仕組みについて図９を用いて説明する。図９に示すように、バス転送帯域を算出するためにソースファイルを読み込み（ステップＳＰ１０１）、転送速度解析を行う（ステップＳＰ１０２）。バス転送速度解析処理では、読み込んだソースファイルを解析し、バスに接続されたメモリにおける特定のメモリ領域のアドレスに対するアクセスをカウントする。さらに、バス転送速度解析処理において、アクセスするメモリの種類（ＳＲＡＭであるかＤＲＡＭであるか等）やバスプロトコルの種類に応じた応答時間を付加して転送速度を算出することとすれば、より適切にバスプロトコルを選択することが可能となる。
【０００６】
また、バス転送速度解析処理においては、バスインターフェースの設計者が追加して与えるべき設計条件がある場合、その情報（以下、「外部情報」という。）の入力を受け付ける。外部情報としては、例えば、要求されるデータ転送速度の算出に用いる情報及び条件（以下、「外部情報Ａ」という。）と、バスプロトコルの選択における条件（以下、「外部情報Ｂ」という。）とを挙げることができる。具体的には、外部情報Ａとは、マスタモジュール及びスレーブモジュールを含む接続モジュール数、バス幅、動作クロック速度、レイテンシ、バス占有時間及び占有比率といったデータトラフィックに関する情報等である。
【０００７】
また、外部情報Ｂとは、スピード優先か（大きいバス幅を選択する、高い動作クロック速度を選択する、アドレスバスとデータバスとを分離するといった条件を優先するか）、回路規模優先か（より簡易でインターフェース回路が小規模となるバスプロトコルを優先するか）といった情報である。
【０００８】
ステップＳＰ１０２の後、制御部２１２は、記憶部２１３に記憶されたバスプロトコルライブラリ２１３ａを参照し、バス転送速度解析処理において算出されたデータ転送速度を充足するバスプロトコルを選択する（ステップＳＰ１０３）。このとき、外部情報が入力されている場合、外部情報に示された条件も反映させた上で、バスプロトコルの選択が行われる。そして、制御部２１２は、ステップＳＰ１０３において選択したバスプロトコルを表示部２１６に表示し（ステップＳＰ１０４）、選択されたバスプロトコルが複数あるか否かの判定を行う（ステップＳＰ１０５）。
【０００９】
ステップＳＰ１０５において、選択されたバスプロトコルが複数である場合、制御部２１２は、表示された複数のバスプロトコルのうち、設計者（ユーザ）に入力部２１１を介していずれかを選択させる（ステップＳＰ１０６）。
【００１０】
そして、制御部２１２は、選択されたバスプロトコルに従うバスインターフェースの設計データを生成する（ステップＳＰ１０７）。このとき、制御部２１２は、バスインターフェースに異なるバスプロトコルのバスを含めて選択した場合、バスブリッジライブラリを参照して、これらのバスを接続する適切なバスブリッジを選択して、バスインターフェースの設計データを生成する。なお、ステップＳＰ１０５において、選択されたバスプロトコルが１つである場合、制御部２１２は、ステップＳＰ１０７の処理に移行する。ステップＳＰ１０７の後、制御部２１２は、バスインターフェース設計支援処理を終了する。
【特許文献１】特開２００６−１１９９５１号公報
【特許文献２】特開２００６−１０７３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に記載の方法では、昨今流行している、複数のシステムＬＳＩを高速なバスインターフェースにて接続した大規模システムの設計において、システムＬＳＩ間の物理的制約条件（プリント基板の素材やシステムＬＳＩ間の距離等）を考慮した設計が出来ないという問題がある。すなわち、バス生成時に論理的制約条件（プロトコルやバス幅等）だけでシステムＬＳＩのバスインターフェースを生成してしまうと、物理的要因による電気特性の変化によりシステムＬＳＩ間のインターフェースが安定的に動作しない・目標としていた転送帯域が達成できないといった問題が発生する。その対処は、最終的にチップ以外の部分、つまりパッケージ基板、プリント基板、ケーブル等の再設計という形で現れ、システム設計全体の効率化という観点においても大きな問題となる。
【課題を解決するための手段】
【００１２】
本発明にかかるバスインターフェースの設計方法は、複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計方法であって、チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成するものである。
【００１３】
本発明に係るバスインターフェース設計方法は、複数のチップ間を接続するバスのバスインターフェースデータが複数登録されたバスインターフェース設計用ライブラリを読み込み、前記チップ間の物理的制約条件に基づき、少なくともバス幅及びバスインターフェースデータを決定し、決定されたバス幅及びバスインターフェースデータに応じた回路を備えるバスＩＰコアを自動生成するものである。
【００１４】
本発明にかかるバスインターフェース設計方法は、前記チップ間の論理的制約条件及び物理的制約条件を読み込み、前記バスインターフェースのコンフィグレーションに必要なパラメータを算出し、前記バスインターフェースのコンフィグレーションを実行してバスインターフェースを自動生成するものである。
【００１５】
本発明においては、バスインターフェースのコンフィグレーションをする際に、通常使用される論理的制約条件に加え、例えばプリント基板の素材やＬＳＩ間の距離情報などの物理的制約条件も考慮することで、安定して駆動可能なバスインターフェースの生成が可能となる。
【００１６】
本発明に係るバスインターフェース設計装置は、複数のチップ間を接続するバスの設計用バスインターフェースが複数登録されたバスインターフェース設計用ライブラリ、及び前記チップ間の物理的制約条件を読み込むデータ読込部と、前記物理的制約条件に基づき、バス幅及び設計用バスインターフェースを決定する決定部と、前記決定されたバス幅及び設計用バスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する実行部とを有するものである。
【００１７】
本発明にかかるバスインターフェース設計装置は、前記バスインターフェースのコンフィグレーションに必要なパラメータを算出するパラメータ算出部を有し、前記実行部は、前記パラメータ算出部が算出したパラメータに基づきバスインターフェースのコンフィグレーションを実行するものである。
【００１８】
本発明に係るプログラムは、上述したバスインターフェースの設計処理をコンピュータに実行させるものである。
【発明の効果】
【００１９】
本発明によれば、バスインターフェース設計の際の物理的制約条件を満足し、安定して駆動可能なバスインターフェースの生成が可能なバスインターフェース設計装置、方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、システムＬＳＩの設計に関し、複数のチップをまたがるバスインターフェースを含むバスインターフェース設計装置に適用したものである。本実施の形態にかかるバスインターフェース設計装置は、複数のチップをまたがるＩ／Ｆを含むバスインターフェースを設計するものであって、チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する。
【００２１】
このため、バスインターフェース（以下、バスＩＰともいう。）を生成するための制約情報として、プロトコルやバス幅などの論理的制約条件と、プリント基板の素材やＬＳＩ間の距離情報などの物理的制約条件を入力可能な構成とし、バスインターフェースを生成するための論理的制約条件及び物理的制約条件として、複数のシステムＬＳＩをハンドリングできる構成とする。
【００２２】
また、バスインターフェースを生成する際に参照するバスインターフェース設計用ライブラリに前記物理的制約条件及び論理的制約条件に応じてコンフィギュレーション可能なバスＩＰ（Intellectual Property）コアを含める構成とする。さらに、バスＩＰコアに与えるコンフィギュレーションパラメータを論理的制約条件及び物理的制約条件から算出すると共に、バスＩＰコアにＬＳＩ間高速インターフェース（リンク）を持たせる構成とし、複数のシステムＬＳＩ間を高速インターフェースにて接続可能な構成とする。この高速インターフェース（リンク）の本数は、論理的制約条件から算出された論理帯域と前記物理的制約条件を考慮して決定する。
【００２３】
実施の形態１.
図１は、本発明の実施の形態にかかるバスインターフェース設計システムを示す図である。本実施の形態にかかるバスインターフェース設計システムは、論理的制約条件ファイル１及び物理的制約条件ファイル２と、バスインターフェース設計用ライブラリ３と、バスインターフェース設計装置４とを有し、バスインターフェース５、６を設計する。すなわち、論理的制約条件ファイル１及び物理的制約条件ファイル２から論理的制約条件及び物理的制約条件を入力し、予め用意されたバスインターフェース設計用ライブラリ３に含まれるコンフィギュレーション可能なバスＩＰを、入力制約条件に基づきコンフィギュレーションすることでバスを生成する。
【００２４】
図２は、本実施の形態にかかるバスインターフェース設計装置を示すブロック図である。図２に示すように、バスインターフェース設計装置は、バスインターフェース設計用ライブラリ、並びにバスインターフェース設計の際の論理的制約条件及び物理的制約条件を読み込むデータ読込部４１と、バスインターフェースのコンフィグレーションに必要なパラメータを算出するパラメータ算出部４２と、バスインターフェースのコンフィグレーションを実行する実行部４３と、コンフィグレーションを実行した実行結果として、バスインターフェース回路をフリップフロップ及び組み合わせ論理回路で表現したＲＴＬ（Register Transfer Level）を出力する出力部４４とを有する。
【００２５】
バスインターフェースは、複数のシステムＬＳＩ間を接続するバスのインターフェースであり、当該バスインターフェースは、システムＬＳＩ間を接続する伝送路（バス）を駆動する送受信回路を有する。さらに、バスインターフェースは、１以上のバスマスタモジュール、１以上のバススレーブモジュール、並びに１以上のバスマスタモジュール及び１以上のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を有する。
【００２６】
パラメータ算出部４２は、このバスインターフェースに含まれる送受信回路の特性パラメータ（特性調整パラメータ）を算出する。なお、後述するように、バスインターフェースは、システムＬＳＩ間を接続する伝送路を駆動する高速シリアルインターフェース及び／又は高速パラレルインターフェースを有するものとし、パラメータ算出部４２にて、この高速シリアルインターフェース、高速パラレルインターフェースの特性パラメータを算出するようにしてもよい。
【００２７】
さらに、パラメータとして、前記特性パラメータに換えて、又は特性パラメータと共に、バスインターフェースのクロック周波数、マスターポートの数、スレーブポートの数、各ボートのデータバス幅、スレーブの場合アドレス領域の開始アドレス及び終了アドレス、外部高速インターフェース数（リンク数）等の出力するようにしてもよい。バスインターフェース設計装置は、後述するように、これらのパラメータを指定することにより、バスインターフェースを生成する。
【００２８】
パラメータ算出部４２は、物理制約条件をキーとし、出力を特性パラメータとして構成したデータベースをルックアップテーブル方式で検索するものとして構成することができる。具体的には、特性パラメータ算出部は、バスマトリックス部を生成するために必要なマスターポート数及びスレーブポート数を決定するポート数決定部５１と、論理的制約条件から、システムＬＳＩ間を接続している高速インターフェースに必要な論理帯域数を算出する帯域算出部５２と、物理的制約条件から、上記の論理帯域を実現可能なインターフェース数及び各インターフェースを駆動する送受信回路の特性パラメータを算出するパラメータ出力部５３とを有するものとすることができる。
【００２９】
次に、本実施の形態にかかるバスインターフェース設計装置の動作について説明する。図３は本実施の形態にかかるバスインターフェース設計装置により設計されるバスを含むＬＳＩを示す図である。先ず、図３に示すＬＳＩ１００の構成について説明する。図３に示すように、ＬＳＩ１００は、プリント基板（ＰＣＢ）１０１上に、システムＬＳＩ（ＣＨＩＰ）１１０及び１２０が配置され、ＣＨＩＰ１１０とＣＨＩＰ１２０の間は、伝送路１３１及び伝送路１３２にて接続されている。
【００３０】
ＣＨＩＰ１１０内にはバスマスタモジュールＭ１１及びＭ１２、バススレーブモジュールＳ１１及びＳ１２が実装され、それらモジュール間をバスＩＰ（Intellectual Property）１１１で接続している。バスＩＰ１１１の内部はクロスバースイッチとして機能するバスマトリックス１１２とＬＳＩ外部と通信するための高速インターフェース（ＳＥＲＤＥＳ）（SERializer/DESerializer）１１３及び１１４が実装されている。ＳＥＲＤＥＳは、シリアル、パラレルを相互変換する回路である。ＳＥＲＤＥＳ１１３のシステムインターフェースはバスマトリックス１１２に、高速シリアルインターフェースはＣＨＩＰ１１０の外部端子Ｌ１１に接続されている。同様にＳＥＲＤＥＳ１１４のシステムインターフェースはバスマトリックス１１２に、高速シリアルインターフェースはＣＨＩＰ１１０外部端子Ｌ１２に接続している。ＣＨＩＰ１１０の外部端子Ｌ１１は、ＰＣＢ１０１上に配線された伝送路１３１に接続され、同様にＣＨＩＰ１００の外部端子Ｌ１２はＰＣＢ１００上に配線された伝送路１３２に接続されている。
【００３１】
システムＬＳＩ１００のＣＨＩＰ１２０も、ＣＨＩＰ１１０と同様に構成されている。すなわち、ＣＨＩＰ１２０内にはバスマスタモジュールＭ２１及びＭ２２、バススレーブモジュールＳ２１及びＳ２２が実装され、それらモジュール間はバスＩＰ１２１により接続されている。バスＩＰ１２１の内部はクロスバースイッチとして機能するバスマトリックス１２２とＬＳＩ外部と通信するための高速インターフェース（ＳＥＲＤＥＳ）１２３及び１２４が実装されている。ＳＥＲＤＥＳ１２３のシステムインターフェースはバスマトリックス１２２に、高速シリアルインターフェースはＣＨＩＰ１２０の外部端子Ｌ２１に接続している。同様にＳＥＲＤＥＳ１２４のシステムインターフェースはバスマトリックス１２２に、高速シリアルインターフェースはＣＨＩＰ１２０の外部端子Ｌ２２に接続されている。ＣＨＩＰ１２０の外部端子Ｌ２１はＰＣＢ１０１上に配線された伝送路１３２に接続され、同様にＣＨＩＰ１２０の外部端子Ｌ２２はＰＣＢ１０１上に配線された伝送路１３２に接続されている。
【００３２】
バスインターフェース設計装置４は、この図３に示すバスＩＰ１１１、１２１を自動的に生成することを目的としている。次に、その具体的な動作について説明する。図４は本実施の形態にかかるバスインターフェース設計装置で行われる処理方法を示すフローチャートである。
【００３３】
図４に示すように、先ずステップＳＰ１にて、バスインターフェース設計用のライブラリを読み込む。バスインターフェース設計用ライブラリの内容については後述する。次にステップＳＰ２において、論理的制約条件を入力する。具体的には、図５に示すような論理的制約ファイルの読み込みを行う。次に、物理的制約条件を入力する（ステップＳＰ３）。具体的には、図６に示すような物理的制約ファイルの読み込みを行う。次に、バスＩＰ用コンフィギュレーションパラメータを算出する（ステップＳＰ４）。
【００３４】
ステップＳＰ４にてバスＩＰのコンフィギュレーションに必要なパラメータの計算を行った後、バスＩＰのコンフィギュレーションを実施する（ステップＳＰ５）。最後、コンフィギュレーション済みバスＩＰの回路をフリップフロップ＋組み合わせ論理回路で表現したＲＴＬ（Register Transfer Level）を出力し、バス生成の処理を完了する（ステップＳＰ６）。
【００３５】
次に、バスＩＰ用コンフィギュレーションパラメータの算出方法の詳細について説明する。図７は、バスＩＰ用コンフィギュレーションパラメータの算出方法を示すフローチャートである。先ず、論理的制約条件からバスマトリックスのマスタ数及びスレーブ数を読み取る。そして、バスＩＰ内部にある、複数のバスマスタモジュール及び複数のバススレーブモジュールの間を任意に接続するためのバスマトリックス部（クロスバースイッチ（cross bar switch））を生成するために必要なマスターポート数とスレーブポート数を確定させる（ステップＳＰ１１）。次に、論理的制約条件の、ルート情報（どのマスタがどのスレーブにアクセスするかの経路情報）と各ボートのバス幅及びバスクロック周波数の情報からシステムＬＳＩ間を接続している高速インターフェース（リンク）に必要な論理帯域数を算出する（ステップＳＰ１２）。
【００３６】
そして、物理的制約条件から、ステップＳＰ１２にて求めた論理帯域を実現可能なリンク数及び各リンクをドライブする送受信回路（ＳＥＲＤＥＳ）の特性パラメータを算出する（ステップＳＰ１３）。送受信回路の特性パラメータとしては、ＬＶＤＳ（Low Voltage Differential Signaling）バッファタイプ、送信回路側のプリエンファシスによって強調された周波数成分を受信側で復調後に元に戻すデエンファシス又は予め送信側で変調信号の高域を強調するプリエンファシス量、受信回路側のイコライズ量などを含む。
【００３７】
物理的制約条件とは、プリント基板素材、プリント基板層数、プリント基板の配線膜厚及び層間厚、各システムＬＳＩのパッケージ情報（パッケージタイプ、ＩＢＩＳ（Input/Output Buffer Information Specification）モデル名）、システムＬＳＩ間の配線距離、配線負荷モデル、並びに最大配線可能リンク数などの情報を示す。ＩＢＩＳは、ＡＮＳＩ（American National Standards Institute：アメリカ規格協会）標準のＩＣ入出力特性を記述したモデルで、ＩＣチップの入力及び出力特性を示す。
【００３８】
特性パラメータの算出の手段としては上記物理制約条件をキーとし、アウトプットをバスＩＰへのパラメータとして構成したデータベースをルックアップテーブル方式で検索することにより行う。以上ステップＳＰ１１〜Ｓ１３にてバスＩＰをコンフィギュレーションするためのパラメータの抽出が完了する。
【００３９】
次に、バスインターフェース設計用ライブラリ３について説明する。バスインターフェース（バスＩＰ）設計用ライブラリ３には、コンフィギャラブルなバスＩＰが格納されている。コンフィギャラブなバスＩＰとは、アプリケーションに合わせて命令セットのレベルでアーキテクチャをカスタマイズできるバスＩＰのことである。すなわち、コンフィギャラブルなバスＩＰは、そのパラメータとして、バスクロック周波数、マスターポートの数、スレーブポートの数、各ボートのデータバス幅、スレーブの場合アドレス領域の開始アドレス及び終了アドレス、外部高速インターフェース数（リンク数）、各リンクの送受信回路（ＳＥＲＤＥＳ等）の特性パラメータ等を有し、指定されたパラメータに従って内部回路構成を再構成することができる。
【００４０】
次に、図５及び図６を使用して論理的制約ファイルと物理的制約ファイルの具体的な内容について説明する。なお、論理的制約ファイルと物理的制約ファイルはＨＴＭＬ／ＸＭＬ等の同様なフォーマットにて階層的な情報構造を保持できる構成としている。
【００４１】
図５は論理的制約ファイルの一具体例を示す図である。本例における論理的制約ファイル１は、大きなセクションとして２つのＣＨＩＰセクション（００３行から０２３行、０２５行から０４１行）と１つのＣＯＮＦＩＧセクション（０４３行から０５２行）で構成されている。ＣＨＩＰセクションでは図３のＣＨＩＰ１１０及びＣＨＩＰ１２０のブロック構成を定義している。
【００４２】
ＣＨＩＰ１０１のＣＨＩＰセクション内の主な項目について説明する。
００４行：ＣＨＩＰ１０１に関するセクションであることを指示
００７行：バスクロックが１５０ＭＨｚであることを指示
００９−０１１行：バスマスタモジュールＭ１１が３２ｂｉｔ幅でＡＨＢ（Advanced High-Performance Bus）（登録商標）マスターポートであることを指示
０１４−０１６行：バススレーブモジュールＳ１１が３２ｂｉｔ幅でＡＨＢスレーブポートであることを指示
０１８−０１９行：バススレーブモジュールＳ１１のアドレス領域が0x10000000-0x1001ffffであることを指示
【００４３】
次に、ＣＯＮＦＩＧセクション内の主な項目について説明する。
０４４−０４７７行：ＣＨＩＰ１０１のバスマスタモジュールＭ１１はＣＨＩＰ１０１のバススレーブモジュールＳ１１にアクセスすることを指示
０４９−０５００行：ＣＨＩＰ１０１のバスマスタモジュールＭ１１はＣＨＩＰ２のバススレーブモジュールＳ２１にアクセスすることを指示
【００４４】
図６は物理的制約ファイルの具体例である。まず図６の物理的制約ファイル２では大きなセクションとして１つのＰＣＢセクション（００３行から０１０行）、２つのＣＨＩＰセクション（０１２行から０２０行、０２２行から０３０行）、そして１つのＣＯＮＦＩＧセクションで構成されている。ＰＣＢセクションでは図１のプリント基板ＰＣＢ１０１の物理的制約条件を定義しており、ＣＨＩＰセクションでは図１のＣＨＩＰ１１０及びＣＨＩＰ１２０の物理的制約条件を定義している。ＣＯＮＦＩＧセクションでは配置配線情報等の物理制約条件を指定している。ＰＣＢセクションの主な項目について説明する。
００５行：ＰＣＢ１０１のプリント基板素材がＦＲ−４（耐然性ガラス基材エポキシ樹脂積層板）であることを指示
００６行：ＰＣＢ１０１のプリント基板層数が６層であることを指示
００７行：ＰＣＢ１０１のプリント基板銅箔膜厚が１８μｍであることを指示
００８行：ＰＣＢ１０１のプリント基板層間厚が０．４ｍｍであることを指示
ＣＨＩＰセクションの主な項目について説明する。
０１７行：ＣＨＩＰ１０１のパッケージ型番がＢＧＡ５００（ボールグリッドアレイ、５００ピン）であることを指示
０１８行：ＣＨＩＰ１０１のパッケージ用ＩＢＩＳモデルがＩＢＩＳ５０（Input/Output Buffer Information Specification）であることを指示
【００４５】
ＣＯＮＦＩＧセクションの主な項目について説明する。
０３６行：ＣＨＩＰ１１０とＣＨＩＰ１２０間のＰＣＢ１０１上距離が１２０ｍｍであることを指示
０３７行：ＣＨＩＰ１１０とＣＨＩＰ１２０間の配線可能最大リンク数が１６であることを指示
０３８行：ＣＨＩＰ１１０とＣＨＩＰ１２０間の配線モデルがＦＲ４ＷＬＭ６０１（ＦＲ４：プリント基板材料、ＷＬＭ：Wire Load Model）であることを指示
【００４６】
なお、ＩＢＩＳ５０は、ＰＫＧの電気的モデルを示し、本例では、１例としてユニークにつけたモデル名を示す。ＦＲ４ＷＬＭ６０１は、プリント板の配線の電気的モデルであり、本例では１例としてユニークにつたモデル名を示している。
【００４７】
本実施の形態においては、複数ＬＳＩ間の高速インターフェースにおいて物理的制約条件を満足し、安定して駆動可能なバスインターフェースの生成が可能となることで、従来のようにＬＳＩ設計後にパッケージ基板、プリント基板、ケーブル等を再設計もしくは再調整するという問題を低減することができる。
【００４８】
また、従来は、バスインタフェース（回路）を事前にライブラリとして複数準備し、クライアントの要求（仕様）に合わせて選択し、ＡＳＩＣ（Application Specific Integrated Circuit）等のＬＳＩに組み入れている。このため、物理的要因による電気特性の変化によりシステムＬＳＩ間のインターフェースが安定的に動作しない・目標としていた転送帯域が達成できないといった問題が発生する。これに対し、本実施の形態においては、事前にクライアントのＡＳＩＣの使用条件を物理制約で示しておいて、１つ１つのＡＳＩＣに最適なバスインタフェース（回路）を作成するため、上記の問題を回避することができる。
【００４９】
実施の形態２．
実施の形態１の高速インターフェースとしてＳＤＲＤＥＳではなく、高速パラレルインターフェース(ＤＤＲ（Double Data Rate）インターフェース等)を扱えるようにすると同時に、高速シリアルと高速パラレルの選択が可能とする機能を有する構成とする。どちらのインターフェースを選択するかは、システムＬＳＩのパッケージタイプにより制限を受ける利用可能外部端子数（スロット数）、ＬＳＩ間の通信に必要な帯域、プリント基板の材質及び配線情報により決まる伝送速度上限値をキーとして予め用意していたデータベースを検索することで最適な高速インターフェースのタイプを決定する手段を有する。
【００５０】
本実施の形態においても、システムＬＳＩの設計に関し、複数のチップをまたがるバスインターフェースを含むバスＩＰコアの設計装置であって、特に、チップ間の物理制約条件を元に、チップ間インターフェースのバス幅、インターフェースの種類等を決定することで、決定されたバス幅、インターフェース回路を備えるバスＩＰコアを自動生成することができる。
【００５１】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態にかかるバスインターフェース設計システムを示す図である。
【図２】本実施の形態にかかるバスインターフェース設計装置を示すブロック図である。
【図３】本発明の実施の形態にかかるバスインターフェース設計装置により設計されるバスを含むＬＳＩを示す図である。
【図４】本発明の本実施の形態にかかるバスインターフェース設計装置における設計方法を示すフローチャートである。
【図５】本発明の本実施の形態にかかるバスインターフェース設計装置が参照する論理的制約ファイルの一例を示す図である。
【図６】本発明の本実施の形態にかかるバスインターフェース設計装置が参照する物理的制約ファイルの一例を示す図である。
【図７】本発明の実施の形態にかかるバスインターフェース設計装置におけるバスＩＰ用コンフィギュレーションパラメータの算出方法を示すフローチャートである。
【図８】特許文献１に記載のバスインターフェース設計支援装置を示す機能ブロック図である。
【図９】特許文献１に記載のバスインターフェース設計支援装置の動作を示すフローチャートである。
【符号の説明】
【００５３】
２  物理的制約条件ファイル
３  バスインターフェース設計用ライブラリ
４  バスインターフェース設計装置
４１  データ読込部
４２  パラメータ算出部
４２  パラメータ算出部
４３  実行部
４４  出力部
５１  ポート数決定部
５２  帯域算出部
５３  パラメータ出力部
１００  ＬＳＩ
１０１  プリント基板
１１０  バスインターフェース
１１２，１２２  バスマトリックス
１３１、１３２  伝送経路
１１１、１２１  バスＩＰ
Ｌ１１、Ｌ１２、Ｌ２１、Ｌ２２  外部端子
Ｍ１１、Ｍ２１  バスマスタモジュール
Ｓ１１  バススレーブモジュール
Ｓ２１  バススレーブモジュール
【図１】
2009294744.tif 000003
【図２】
2009294744.tif 000004
【図３】
2009294744.tif 000005
【図４】
2009294744.tif 000006
【図５】
2009294744.tif 000007
【図６】
2009294744.tif 000008
【図７】
2009294744.tif 000009
【図８】
2009294744.tif 000010
【図９】
2009294744.tif 000011
【手続補正書】
【提出日】平成21年5月7日(2009.5.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計方法であって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する、バスインターフェースの設計方法。
【請求項２】
複数のチップ間を接続するバスのバスインターフェースデータが複数登録されたバスインターフェース設計用ライブラリを読み込み、
前記チップ間の物理的制約条件に基づき、少なくともバス幅及びバスインターフェースデータを決定し、
決定されたバス幅及びバスインターフェースデータに応じた回路を備えるバスＩＰコアを自動生成することを特徴とする請求項１に記載のバスインターフェース設計方法。
【請求項３】
前記チップ間の論理的制約条件及び物理的制約条件を読み込み、
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出し、
前記バスインターフェースのコンフィグレーションを実行してバスインターフェースを自動生成するバスインターフェース設計方法。
【請求項４】
前記バスインターフェースは、前記チップ間を接続する前記バスを駆動する送受信回路を有し、
前記パラメータは、前記送受信回路の特性パラメータである
ことを特徴とする請求項３に記載のバスインターフェース設計方法。
【請求項５】
前記バスインターフェースは、前記チップ間を接続する前記バスを駆動するシリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項３に記載のバスインターフェース設計方法。
【請求項６】
前記バスインターフェースは、１以上のバスマスタモジュール、１以上のバススレーブモジュール、並びに前記１以上のバスマスタモジュール及び前記１以上のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を有する
ことを特徴とする請求項１乃至５のいずれか１項に記載のバスインターフェース設計方法。
【請求項７】
前記物理制約条件をキーとし、出力を前記パラメータとして構成したデータベースをルックアップテーブル方式で検索することにより、当該パラメータを算出する
ことを特徴とする請求項３乃至６のいずれか１項に記載のバスインターフェース設計方法。
【請求項８】
前記特性パラメータの算出では、
複数のバスマスタモジュール及び複数のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を生成するために必要なマスターポート数及びスレーブポート数を決定し、
前記論理的制約条件からチップ間を接続しているインターフェースに必要な論理帯域数を算出し、
前記物理的制約条件から、前記論理帯域を実現可能なインターフェース数及び各インターフェースを駆動する送受信回路の前記パラメータを算出する
ことを特徴とする請求項４乃至７のいずれか１項に記載のバスインターフェース設計方法。
【請求項９】
前記物理的制約条件は、プリント基板素材、プリント基板層数、プリント基板の配線膜厚及び層間厚、各システムＬＳＩのパッケージ情報、システムＬＳＩ間の配線距離、配線負荷モデル、及び最大配線可能リンク数のうち１以上を含む
ことを特徴とする請求項１乃至８のいずれか１項に記載のバスインターフェース設計方法。
【請求項１０】
前記論理的制約条件は、どのマスタがどのスレーブにアクセスするかの経路情報であるルート情報、各ポートのバス幅及びバスクロック周波数のうち１以上を含む
ことを特徴とする請求項２乃至９のいずれか１項に記載のバスインターフェース設計方法。
【請求項１１】
前記特性パラメータは、ＬＶＤＳ（Low Voltage Differential Signaling）バッファタイプ、デエンファシス量、プリエンファシス量、及び受信回路側のイコライズ量のうち１以上を含む
ことを特徴とする請求項４乃至１０のいずれか１項に記載のバスインターフェース設計方法。
【請求項１２】
バスインターフェース設計用ライブラリは、コンフィギャラブルなバスインターフェースのパラメータが格納されたものであって、
前記パラメータは、バスクロック周波数、マスターポートの数、スレーブポートの数、各ボートのデータバス幅、スレーブの場合のアドレス領域の開始アドレス及び終了アドレス、外部インターフェース数、各外部インターフェースの送受信回路の特性パラメータのいずれか１以上を有し、
指定された前記パラメータに従って内部回路構成を再構成する
ことを特徴とする請求項４乃至１１のいずれか１項に記載のバスインターフェース設計方法。
【請求項１３】
複数のチップ間を接続するバスの設計用バスインターフェースが複数登録されたバスインターフェース設計用ライブラリ、及び前記チップ間の物理的制約条件を読み込むデータ読込部と、
前記物理的制約条件に基づき、バス幅及び設計用バスインターフェースを決定する決定部と、
前記決定されたバス幅及び設計用バスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する実行部とを有するバスインターフェース設計装置。
【請求項１４】
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出するパラメータ算出部を有し、
前記実行部は、前記パラメータ算出部が算出したパラメータに基づきバスインターフェースのコンフィグレーションを実行することを特徴とする請求項１３に記載のバスインターフェース設計装置。
【請求項１５】
前記バスインターフェースは、前記半導体集積回路間を接続する前記バスを駆動する送受信回路を有し、
前記パラメータは、前記送受信回路の特性パラメータである
ことを特徴とする請求項１４に記載のバスインターフェース設計装置。
【請求項１６】
前記バスインターフェースは、前記半導体集積回路間を接続する前記バスを駆動するシリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項１４に記載のバスインターフェース設計装置。
【請求項１７】
前記バスインターフェースは、１以上のバスマスタモジュール、１以上のバススレーブモジュール、並びに前記１以上のバスマスタモジュール及び前記１以上のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を有する
ことを特徴とする請求項１３乃至１６のいずれか１項に記載のバスインターフェース設計装置。
【請求項１８】
前記パラメータ算出部は、前記物理制約条件をキーとし、出力を前記パラメータとして構成したデータベースをルックアップテーブル方式で検索することにより、当該パラメータを算出する
ことを特徴とする請求項１３乃至１７のいずれか１項に記載のバスインターフェース設計装置。
【請求項１９】
前記特性パラメータ算出部は、
複数のバスマスタモジュール及び複数のバススレーブモジュールの間を任意に接続するためのバスマトリックス部を生成するために必要なマスターポート数及びスレーブポート数を決定するポート数決定部と、
前記論理的制約条件から半導体集積回路間を接続しているインターフェースに必要な論理帯域数を算出する帯域算出部と、
前記物理的制約条件から、前記論理帯域を実現可能なインターフェース数及び各インターフェースを駆動する送受信回路の前記パラメータを算出するパラメータ出力部とを有する
ことを特徴とする請求項１５乃至１８のいずれか１項に記載のバスインターフェース設計装置。
【請求項２０】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計処理をコンピュータに実行させるためのプログラムであって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定し、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する、バスインターフェースの設計方法。
【請求項２１】
所定の動作をコンピュータに実行させるためのプログラムであって、
バスインターフェース設計用ライブラリを読み込み、
前記バスインターフェース設計の際の論理的制約条件及び物理的制約条件を読み込み、
前記バスインターフェースのコンフィグレーションに必要なパラメータを算出し、
前記バスインターフェースのコンフィグレーションを実行するプログラム。
【請求項２２】
前記バスインターフェースは、複数の半導体集積回路間を接続するバスのインターフェースであって、当該バスを駆動する送受信回路、シリアルインターフェース及び／又はパラレルインターフェースを有し、
前記パラメータは、前記送受信回路、シリアルインターフェース及び／又はパラレルインターフェースの特性パラメータである
ことを特徴とする請求項２１に記載のプログラム。
【請求項２３】
複数のチップをまたがるＩ／Ｆを含むバスインターフェースの設計システムであって、
チップ間の物理制約条件に基づいて、チップ間のバスインターフェースのバス幅、及びバスインターフェースの種類を決定する決定部と、
決定された前記バス幅、及びバスインターフェースに応じた回路を備えるバスＩＰコアを自動生成する実行部とを有する、バスインターフェースの設計システム。