(57)【要約】【課題】複数の装置４、６、８、１０、１２を接続する相互接続素子１４を持つ集積回路２の構成を生成する方法を提供する。【解決手段】相互接続素子に接続される装置を選択するステップと、ファイルまたはモデル（例えばIP-XACT）からその装置のインターフェースパラメータを読み出すステップと、読み出したパラメータに合わせるために、相互接続素子のインターフェース"if"のパラメータを選択するステップと、インターフェースの選択されたパラメータに合わせるために必要な、相互接続素子１４自体の構成における設定を検出して設定を行うステップと、現状では、相互接続素子の構成に合わせるために必要な、相互接続素子に以前から接続されていた装置の構成における必要な変更を検出するステップとを用いる。この方法において、相互接続素子の構成は、間違いの可能性の減少およびこのような構成の速度の上昇によって、少なくとも半自動であり得る。【選択図】図１
2009087333.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置を接続する相互接続素子を持つ集積回路の構成を生成する方法において、
(i) 前記相互接続素子に接続される装置を選択するステップと、
(ii) 前記装置のインターフェースパラメータを読み出すステップと、
(iii) 前記インターフェースパラメータによって特定される前記装置のインターフェース特性に合わせるために、前記相互接続素子の前記装置とのインターフェースのパラメータを選択するステップと、
(iv) 前記インターフェースの前記選択されたパラメータに合わせるために必要な、前記相互接続素子の構成における設定を検出して設定を行うステップと、(v) 前記相互接続素子の前記構成に合わせるために必要な、前記相互接続素子に以前から接続されていた装置の構成における変更を検出して変更を行うステップと
を有していることを特徴とする方法。
【請求項２】
(vi) 前記相互接続素子の前記構成における結果として生じる変更を必要とする、前記相互接続素子に以前から接続されていた装置の構成に対して、ステップ(v)で変更が行われたかどうかを検出するステップと、
(vii) 前記相互接続素子の前記構成における前記結果として生じる変更を行うステップと、
(viii) 更なる変更が必要なくなるか、または非互換性が検出されるまで、ステップ(v)、(vi)および(vii)を繰り返すステップと
を更に有していることを特徴とする請求項１に記載の方法。
【請求項３】
装置が前記相互接続素子に接続される時に、前記相互接続素子の前記構成における変更によって解決され得ない、前記装置と前記相互接続素子との間の非互換性を検出するステップを更に有していることを特徴とする請求項１に記載の方法。
【請求項４】
前記ステップ(i)から(v)は、前記相互接続素子に接続される複数の装置の各々のために繰り返されることを特徴とする請求項１に記載の方法。
【請求項５】
前記ステップ(i)から(v)は、前記相互接続素子に接続される全ての装置のために繰り返されることを特徴とする請求項４に記載の方法。
【請求項６】
前記複数の装置は、通信を開始する少なくとも１つの装置と、通信に応答する少なくとも１つの装置とを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記インターフェースパラメータは、前記装置のデフォルトインターフェース特性を定めている関連するデフォルトパラメータ値を持つことを特徴とする請求項１に記載の方法。
【請求項８】
前記関連するデフォルトパラメータ値は、予め定められた既定のデフォルトパラメータ値のうちの１つ、または前記相互接続素子および前記複数の装置のうちの少なくとも１つの検出された前記構成に基づいて動的に決定されたデフォルトパラメータ値であることを特徴とする請求項７に記載の方法。
【請求項９】
前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つのパラメータは、ユーザが選択可能なパラメータであることを特徴とする請求項１に記載の方法。
【請求項１０】
ユーザが選択可能なインターフェース特性として選択可能なオプションの範囲は、前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つの他のパラメータに基づいて決定されることを特徴とする請求項９に記載の方法。
【請求項１１】
前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つのパラメータは、ユーザが選択可能なパラメータであり、
ユーザが選択可能なパラメータが設定される時に、
(ix) 前記ユーザが選択可能なパラメータが、前記相互接続素子の前記構成および前記複数の装置の前記構成のうちのいずれかにおける結果として生じる設定を必要とするか、または、それと互換性がないかどうかを検出するステップと、
(x) 前記結果として生じる設定を行うステップと、
(xi) 更なる変更が必要なくなるか、または非互換性が検出されるまで、ステップ(v)、(vi)および(vii)を繰り返すステップと
を更に有している
ことを特徴とする請求項２に記載の方法。
【請求項１２】
前記相互接続素子の前記構成および前記装置の前記構成のうちの少なくとも１つは、処理識別子幅、データ幅、前記装置と関連するアドレス空間、バンド幅要求、前記装置のポートの登録状態、クロック速度、最高クロック速度、合成の間設定される１つ以上の特性の制約、および設定されるマッチングテストデータのうちの１つ以上を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記相互接続素子に接続されている装置の代わりの装置が、利用可能であり、かつ前記集積回路の１つ以上の特性における違いを提供するかどうかを検出するステップと、
ユーザに前記代わりの装置を知らせるステップと
を更に有していることを特徴とする請求項１に記載の方法。
【請求項１４】
前記相互接続素子に接続される前記複数の装置、および前記複数の装置間の通信経路を少なくとも定めるユーザ入力を受け取るステップを更に有していることを特徴とする請求項１に記載の方法。
【請求項１５】
前記ユーザ入力は、前記複数の装置の相対的な調停優先順位レベルを更に定めることを特徴とする請求項１４に記載の方法。
【請求項１６】
複数の装置を接続している相互接続素子を持つ集積回路の構成を生成する方法を実行するコンピュータを制御するためのコンピュータプログラムを格納しているコンピュータプログラム記憶媒体において、前記方法は、
(i) 前記相互接続素子に接続される装置を選択するステップと、
(ii) 前記装置のインターフェースパラメータを読み出すステップと、
(iii) 前記インターフェースパラメータによって特定される前記装置のインターフェース特性に合わせるために、前記相互接続素子の前記装置とのインターフェースのパラメータを選択するステップと、
(iv) 前記インターフェースの前記選択されたパラメータに合わせるために必要な、前記相互接続素子の構成における設定を検出して設定を行うステップと、
(v) 前記相互接続素子の前記構成に合わせるために必要な、前記相互接続素子に以前から接続されていた装置の構成における変更を検出して変更を行うステップと
を有していることを特徴とする記憶媒体。
【請求項１７】
前記方法は、
(vi) 前記相互接続素子の前記構成における結果として生じる変更を必要とする、前記相互接続素子に以前から接続されていた装置の構成に対して、ステップ(v)で変更が行われたかどうかを検出するステップと、
(vii) 前記相互接続素子の前記構成における前記結果として生じる変更を行うステップと、
(viii) 更なる変更が必要なくなるか、または非互換性が検出されるまで、ステップ(v)、(vi)および(vii)を繰り返すステップと
を更に有していることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
前記方法は、装置が前記相互接続素子に接続される時に、前記相互接続素子の前記構成における変更によって解決され得ない、前記装置と前記相互接続素子との間の非互換性を検出するステップを更に有していることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項１９】
前記ステップ(i)から(v)は、前記相互接続素子に接続される複数の装置の各々のために繰り返されることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２０】
前記ステップ(i)から(v)は、前記相互接続素子に接続される全ての装置のために繰り返されることを特徴とする請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記複数の装置は、通信を開始する少なくとも１つの装置と、通信に応答する少なくとも１つの装置とを含むことを特徴とする請求項１６に記載の方法。
【請求項２２】
前記インターフェースパラメータは、前記装置のデフォルトインターフェース特性を定めている関連するデフォルトパラメータ値を持つことを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２３】
前記関連するデフォルトパラメータ値は、予め定められた既定のデフォルトパラメータ値のうちの１つ、または前記相互接続素子および前記複数の装置のうちの少なくとも１つの検出された前記構成に基づいて動的に決定されたデフォルトパラメータ値であることを特徴とする請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つのパラメータは、ユーザが選択可能なパラメータであることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２５】
ユーザが選択可能なインターフェース特性として選択可能なオプションの範囲は、前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つの他のパラメータに基づいて決定されることを特徴とする請求項２４に記載のコンピュータプログラム製品。
【請求項２６】
前記インターフェース特性、前記インターフェース素子の前記構成、および前記複数の装置の前記構成のうちの少なくとも１つのパラメータは、ユーザが選択可能なパラメータであり、
前記方法は、ユーザが選択可能なパラメータが設定される時に、
(ix) 前記ユーザが選択可能なパラメータが、前記相互接続素子の前記構成および前記複数の装置の前記構成のうちのいずれかにおける結果として生じる設定を必要とするか、または、それと互換性がないかどうかを検出するステップと、
(x) 前記結果として生じる設定を行うステップと、
(xi) 更なる変更が必要なくなるか、または非互換性が検出されるまで、ステップ(v)、(vi)および(vii)を繰り返すステップと
を更に有していることを特徴とする請求項１７に記載のコンピュータプログラム製品。
【請求項２７】
前記相互接続素子の前記構成および前記装置の前記構成のうちの少なくとも１つは、処理識別子幅、データ幅、前記装置と関連するアドレス空間、バンド幅要求、前記装置のポートの登録状態、クロック速度、最高クロック速度、合成の間設定される１つ以上の特性の制約、および設定されるマッチングテストデータのうちの１つ以上を含むことを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２８】
前記方法は、
前記相互接続素子に接続されている装置の代わりの装置が、利用可能であり、かつ前記集積回路の１つ以上の特性における改良を提供するかどうかを検出するステップと、
ユーザに前記代わりの装置を知らせるステップと
を更に有していることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項２９】
前記方法は、前記相互接続素子に接続される前記複数の装置、および前記複数の装置間の通信経路を少なくとも定めるユーザ入力を受け取るステップを更に有していることを特徴とする請求項１６に記載のコンピュータプログラム製品。
【請求項３０】
前記ユーザ入力は、前記複数の装置の相対的な調停優先順位レベルを更に定めることを特徴とする請求項２９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に関する。より詳しくは、本発明は、集積回路内での相互接続素子（interconnect component）および装置（device）のための構成（configuration）の生成に関する。
【背景技術】
【０００２】
複数の機能単位（装置/素子）を連結する役に立つ相互接続素子を設けることによって、それらが通信し、かつ協働することが可能になることは、集積回路の分野において知られている。この種の配置は、システムオンチップの集積回路の設計において、ますます重要になってきている。この集積回路においては、多数の装置が単一の集積回路上に共に設けられていて、かつ所望の方法で動作するために共に接続されなければならない。このような方法で接続される装置は、しばしば既存の設計、例えばマイクロプロセッサ、メモリ、周辺装置などである。これらの様々な装置は、装置と相互接続素子との間のインターフェースにおける多様性を必要とする。
【０００３】
相互接続素子の１つの周知の形は、イングランドのケンブリッジのARM Limitedによって提供されているARM PL301インターコネクトである。このようなインターコネクトの構成は複雑であり、潜在的にエラーが発生しやすいタスクである。ARM PL301インターコネクトは、例えば、２５００以上のパラメータを持ち、これらは設定を必要とし、これらのパラメータの多くは、何らかの方法で相互に作用する。例えば、異なる装置は、異なる速度で、そして異なるインターフェースパラメータによって動作することができるかもしれない。他と比較して、より高い性能は、これらの設定によって成し遂げられることができ、用いられる設定は、集積回路内の他の装置と互換性があることが必要である。全ての装置との互換性を保つ一方で、装置およびインターコネクトのための互換性があるパラメータを選択することは、時間がかかって困難な作業である。
【０００４】
集積回路設計における他のトレンドは、設計の再利用に向かうトレンドである。集積回路の一部またはシステムオンチップの集積回路の中で用いられる装置は、時間および労力における相当な投資を意味する。この労力および投資は、他の集積回路の中で再利用されるべきであり、どこかでそれが可能であることが望ましい。この再利用を促進するために、このような装置または集積回路の一部の正規の特徴付けのための規格が作成され、これはSPIRIT/IP-XACT規格として知られている。
【発明の開示】
【課題を解決するための手段】
【０００５】
一態様から見ると、本発明は、複数の装置を接続する相互接続素子を持つ集積回路の構成を生成する方法を提供する。前記方法は、
(i) 前記相互接続素子に接続される装置を選択するステップと、
(ii) 前記装置のインターフェースパラメータを読み出すステップと、
(iii) 前記インターフェースパラメータによって特定される前記装置のインターフェース特性に合わせるために、前記相互接続素子の前記装置とのインターフェースのパラメータを選択するステップと、
(iv) 前記インターフェースの前記選択されたパラメータに合わせるために必要な、前記相互接続素子の構成における設定を検出して設定を行うステップと、
(v) 前記相互接続素子の前記構成に合わせるために必要な、前記相互接続素子に以前から接続されていた装置の構成における変更を検出して変更を行うステップと
を有している。
【０００６】
本発明は、それによって、相互接続素子および複数の装置を含む集積回路の構成がより容易になり、かつ、間違いの可能性を減らすこと、および、このような活動の費用を減らすことが秩序だって達成され得る技術を提供する。本技術は、装置を相互接続素子に接続する時に、接続される新たな装置に合わせるための相互接続素子のパラメータを選択するために、その新たな装置のインターフェースパラメータが用いられ得ることを容認する。更に、相互接続素子が新たに取り付けられた装置によって構成される時に、本技術は、その相互接続素子の新たな構成に合わせるために、相互接続素子に以前から接続されていた装置の構成において、変更が必要かどうかを検出することも可能であることを容認する。従って、装置と相互接続素子との間のインターフェースを横切る制御または作用の流れは、新たな装置が接続される時に装置から相互接続素子に流れるだけでなく、必要に応じて、以前から接続されていた装置の構成における変更を行うために、相互接続素子から、以前から接続されていた装置の方にも流れる。従って、複数の装置および相互接続素子を含む集積回路の構成は、自己検査によって少なくとも半自動化された方法で実行され、これにより、間違いの可能性を減らし、かつ、このような動作が実行され得る速度を上げることができる。
【０００７】
他の態様から見ると、本技術は、更に、
(vi) 前記相互接続素子の前記構成における結果として生じる変更を必要とする、前記相互接続素子に以前から接続されていた装置の構成に対して、ステップ(v)で変更が行われたかどうかを検出するステップと、
(vii) 前記相互接続素子の前記構成における前記結果として生じる変更を行うステップと、
(viii) 更なる変更が必要なくなるか、または非互換性が検出されるまで、ステップ(v)、(vi)および(vii)を繰り返すステップと
を提供する。
【０００８】
上記の技術は、新たな装置が相互接続素子に接続される時に、相互接続素子および以前から接続されていた装置に対する結果として生じる変更が、集積回路のための相互に首尾一貫した構成が達成されるまで、全体としてシステムの周辺に伝達され得るという意味で、反復的であり得ることは言うまでもない。
【０００９】
本技術は、相互接続素子の構成における変更によって解決され得ない、新たに接続された装置と相互接続素子との間の非互換性を検出するためにも用いられ得る。このような非互換性の早めの認識は、強く望まれる。
【００１０】
上記で概説された技術は、複数の様々な装置の各々が相互接続素子に接続される時に、適用され得る。これは、相互接続素子に接続される全ての装置に必ずしも対応する必要があるわけではないが、多くの設計において、この技術は、相互接続素子に接続される全ての装置のために用いられる。
【００１１】
相互接続素子に接続され得る異なる装置は、様々な異なる形をとることができる。いくつかの実施形態において、これらは、通信を開始する少なくとも１つの装置および通信に応答する少なくとも１つの装置（例えばマスタースレーブ配置）を含む。
【００１２】
装置および相互接続素子と関連するインターフェースパラメータは、様々な異なる形を有することができる。いくつかの実施形態において、用いられる装置のデフォルトインターフェース特性を定めている、関連するデフォルトパラメータ値があり得る。デフォルトパラメータ値は、既定のデフォルトパラメータ値であってもよいし、相互接続素子および相互接続素子に既に接続されている複数の他の装置のうちの少なくとも１つの検出された構成に基づいて動的に決定されるデフォルトパラメータ値であってもよい。
【００１３】
上記で概説された技術のユーザに提供される設計の自由度を上げるために、インターフェース特性、インターフェース素子の構成、および複数の装置の構成のうちの少なくとも１つのパラメータは、ユーザが選択可能なパラメータであってもよい。
【００１４】
ユーザは、ユーザによって選択可能なオプションの範囲として、集積回路内の他の要素のために既に設定されている他のパラメータに基づいて決定されたオプションの範囲を示され得る。
【００１５】
ユーザが選択可能なパラメータが設定される時に、集積回路の異なる要素の周辺でのその設定の結果を伝達する技術は、集積回路の首尾一貫した構成が全体として達成されるか、または非互換性が検出されるまで、相互接続素子と装置との間のインターフェースを横切る両方向に伝達される変更および作用によって実行され得る。
【００１６】
設定され得る相互接続素子および装置の構成は、様々な異なる形をとることができることは言うまでもない。これらの形は、処理識別子幅、データ幅、装置と関連するアドレス空間、バンド幅要求、装置のポートの登録状態、クロック速度、最高クロック速度、集積回路の合成の間設定される１つ以上の特性の制約、および、その設計に従って製造された集積回路をテストする際に用いられるために設定されるマッチングテストデータを含む。多くの追加および/または代替構成パラメータが、ここに記載された技術を用いて制御され得ることは言うまでもない。
【００１７】
オプションとして提供され得る更なる改良は、相互接続素子に接続されている装置の代わりの装置が、利用可能で、かつ集積回路の１つ以上の特性の改良を提供するかどうかを検出して、ユーザに代わりの装置を知らせることである。例えば、ユーザは、関係する集積回路の性能を高め、かつその集積回路内の他の装置または素子に、より適合する、より適切なメモリが利用可能であることが知られているときに、メモリの旧式の設計を集積回路内で用いられている相互接続素子に接続することを試みているかもしれない。ユーザは、彼らが初めに意図した装置の代わりに、その使用を考慮することができるように、このような代わりの装置の存在を知らされ得る。
【００１８】
生産される集積回路の概略の形は、相互接続素子に接続されるべき複数の装置および複数の装置間に存在すべき通信経路を少なくとも定める受け取ったユーザ入力の中で、前もって述べられ得る。この高水準設計情報は、望ましい通信経路を目標とするために、かつ取り付けられるべき装置を知ることによって、装置および相互接続素子のためになされる構成の選択を誘導するために用いられ得る。このような高水準設計情報は、関係する装置間の主通信経路であることが意図されるものを通常知っていて、従って、相互接続素子がこれらの要求に合うように構成されるために、この情報を提供することができる、集積回路設計者によって提供され得る。
【００１９】
設計者に知られているシステムの特性を定めることができる更なるユーザ入力の例として、ユーザは、接続されるべき装置の相対的な調停優先順位レベルを定めることができる。また、システム設計者は、設計されている集積回路の使用目的、および優先権を与えられるべき重要そうな通信経路についての彼らの知識のため、どの調停優先順位レベルが割り当てられるべきかについての良い考えを通常既に持っている。
【００２０】
他の態様から見ると、本発明は、複数の装置を接続する相互接続素子を持つ集積回路の構成を生成する方法を実行するコンピュータを制御するためのコンピュータプログラムを格納しているコンピュータプログラム記憶媒体を提供する。前記方法は、
(i) 前記相互接続素子に接続される装置を選択するステップと、
(ii) 前記装置のインターフェースパラメータを読み出すステップと、
(iii) 前記インターフェースパラメータによって特定される前記装置のインターフェース特性に合わせるために、前記相互接続素子の前記装置とのインターフェースのパラメータを選択するステップと、
(iv) 前記インターフェースの前記選択されたパラメータに合わせるために必要な、前記相互接続素子の構成における設定を検出して設定を行うステップと、
(v) 前記相互接続素子の前記構成に合わせるために必要な、前記相互接続素子に以前から接続されていた装置の構成における変更を検出して変更を行うステップと
を有している。
【００２１】
上記の、および他の本発明の目的、特徴および利点は、以下に示した添付の図面と関連して読まれるべき実施形態の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００２２】
図１は、それぞれのインターフェース"if"を介して相互接続素子１４に接続された複数の装置４、６、８、１０、１２から成る集積回路２を示している。装置４、６、８、１０、１２は、マスター装置４、１０とスレーブ装置６、８、１２とを含んでいる。マスター装置４、１０は通信を開始し、スレーブ装置６、８、１２は通信に応答する。個々の装置４、６、８、１０、１２は、いくつかの状況において、状況に応じてマスター装置およびスレーブ装置の両方として用いられ得る。
【００２３】
相互接続素子１４は、装置４、６、８、１０、１２間に所望の通信経路を提供するために用いられ、全体としてシステムオンチップの集積回路２を形成する。相互接続素子１４は、既に述べた周知のARM PL301インターコネクトの形を有していてもよい。それぞれの装置４、６、８、１０、１２と相互接続素子１４との間のインターフェース"if"は、それらと関連する構成パラメータを有する。相互接続素子１４も、個々の装置４、６、８、１０、１２のように構成パラメータを有する。これらの全パラメータは、合成および製造に適した形に定められるべき集積回路２の設計のために、設定を必要とする。集積回路２内の極めて多数の潜在的に相互関係のあるパラメータであり得るものの設定は、ユーザによって実行されるとき、時間を消費し、かつ潜在的に間違いを起こしやすい過程である。
【００２４】
ユーザは、通常、様々な装置４、６、８、１０、１２間に相互接続素子１４を介して設けられることが望まれる主通信経路を既に知っている。例えば、システム設計者は、最初に、マスター装置４は、スレーブ装置６、８、および１２の全てと通信する能力を必要とするが、マスター装置１０は、スレーブ装置６および８と通信する能力を必要とするだけであり、スレーブ装置１２と通信する能力は必要としないことを知っているかもしれない。相互接続素子１４は、このような通信トポロジをサポートするために、適切なマルチプレクサ、バスおよび調停回路を提供する。この種の考慮および通信サポートは、相互接続素子、例えばARM PL301に内蔵されていることは知られていて、この技術分野で熟練した人々にはよく知られている。
【００２５】
図１に示すように、装置４、６、８、１０が相互接続素子１４に既に接続されている時に、新たな装置１２を相互接続素子１４に接続することが要求される。かくして、装置１２が接続される時、図１のステップ"a"によって示したそのインターフェースを構成するために、インターコネクト１４とのそのインターフェースを特徴付けるパラメータを読み出し、かつ用いる目的で、装置１２と関連するパラメータファイル（例えばIP-XACTファイル）が読み出される。ステップ"a"でのインターフェースの構成は、ステップ"b"で示すように、相互接続素子１４内の多重化、バス化（bussing）、調停および他の回路１６の構成上に次々に連鎖反応を持つ。この変更は、設計を通して広がり、他の全ての以前から接続されていた装置４、６、８、１０の構成が、それらが新たな装置１２の接続によって設定または制約される新たに設定されるパラメータに適していることを判定するためにチェックされる。図示した例において、装置１０との接続回路およびインターフェースと関連するものとしての相互接続素子１４の構成は、ステップ"c"および"d"で影響されて変更される。ステップ"d"でのインターフェースの構成における変更もまた、連鎖反応を持ち、ステップ"e"で図示するように、以前から接続されていた装置１０の構成における変更を要求する。従って、構成における変更およびこのような変更の制御が、装置４、６、８、１０、１２から相互接続素子１４に渡り、かつ相互接続素子１４から装置４、６、８、１０、１２に渡ることが見られる。変更は、安定な相互に首尾一貫した構成に到達するか、または非互換性が検出されるまで、システムの構成パラメータの全体にわたって伝達される。検出された非互換性は、ユーザに対して警告され得る。場合によっては、ユーザが設定可能なパラメータが、非互換性を解決するために変更され得る。または、いくつかの変更が、問題を解決するために、基礎をなす通信トポロジまたは他の予め定められた特性において、なされ得る。ユーザは、通信の流れを調整するために相互接続素子１４内に設けられた調停回路によって用いられる様々な装置４、６、８、１０、１２と関連する調停優先順位を予め定めることができる。
【００２６】
図２は、装置４、６、８、１０、１２と相互接続素子１４との間で渡され得る信号のタイプの例を概略的に示している。これらは、それと関連するクロック速度および最高クロック速度を有することができるクロック信号clk、それと関連する処理識別子幅を有することができる処理識別子ＩＤ、およびそれと関連するそれぞれの幅を有することができるアドレスおよびデータ信号を含む。関係するインターフェース信号の他のパラメータは、そのインターフェースを介して接続される装置と関連するアドレス空間、接続される装置のポートの登録状態、装置の合成の間設定される１つ以上の特性の制約、およびその設計の形またはその製造された形で関係する装置をテストするために用いられる目的で設定されるマッチングテストデータを含むことができることは言うまでもない。多くの他のパラメータが、装置間、装置自体と装置間に通信経路を提供する相互接続素子１４との間で渡されるインターフェース信号と関連していてもよいことは言うまでもない。
【００２７】
図３は、装置４、６、８、１０、１２の相互接続素子への接続を概略的に示しているフロー図である。ステップ１８で、システムがインスタンス化され、接続される素子が選択される。同時に、ユーザは、他の高水準設計パラメータ、例えば、用いられる調停優先順位と共に、インスタンス化されているインターコネクトによって提供されるべき通信経路トポロジを定める。
【００２８】
ステップ２０で、相互接続素子１４に接続され、かつその構成が設定される最初の装置が選択される。ステップ２２で、その装置のためのパラメータ値が、その装置を特徴付けているモデルまたはファイルから読み出される。ステップ２４で、モデルまたはファイル内で特定された既定のパラメータが、関係する装置およびその装置のための相互接続素子のインターフェースの両方に適用され、それらの既定のパラメータの互換性が、相互接続装置の既存の構成に対してチェックされる。ユーザが選択可能なパラメータも、ユーザがこれらのパラメータを自由に又は他の既存のパラメータまたは既に確立されているシステムの構成によって課される制約に基づいて動的に決定されるオプションのリストから選択することを促されるのと同時に、設定され得る。構成パラメータにおける許容された変更によって解決可能ではない非互換性が検出された場合には、これはユーザに対して警告され得る。更に、接続されている装置に対する代わりの装置が、利用可能な装置のライブラリの中で利用可能であるとして示されていて、かつこのような装置が、システムの性能または他の特性を改良することができる場合には、これはユーザに対して警告され得る。これにより、彼らは、適宜、接続される装置を変更することができる。
【００２９】
ステップ２６で、全体としてのシステムのパラメータ間の互換性がチェックされ、かつ必要な識別された変更がなされ、または基本的な非互換性が警告されることができるために、相互接続素子１４に既に接続されている他の装置に加えて相互接続素子１４内でも既に設定されていた他のパラメータの必要なところに影響を与える目的で、新たに接続された装置とのインターフェースのために設定されたパラメータが、相互接続素子１４を通して伝達される。ステップ２８で、その構成パラメータのために任意に選択可能な、許容されたか、または好ましいパラメータ値の範囲から、ユーザが新たな互換性を持つパラメータを選択することができるように、任意の素子またはインターコネクトのパラメータ内で必要な変更が、ユーザに対して警告され得る。一例として、ユーザは、あり得るクロック周波数の範囲の中から特定の装置のために望ましいクロック周波数を前もって選択することができた。しかし、新たな装置の接続は、その特定の個々の以前のクロック周波数の選択を不適当なものにする可能性がある。従って、ユーザは、全体としてのシステムの新たな構成を与える許容されたクロック周波数から、新たな選択をすることを促され得る。
【００３０】
ステップ３０で、全ての素子/装置が相互接続素子１４に既に接続されたかどうかに関して判定がなされる。いくつかの装置が接続されていないままであれば、これらのうちの次のものが選択され、処理がステップ２０に返される。そうでなければ、相互接続素子１４および装置４、６、８、１０、１２の構成は完了され、処理は終了する。
【００３１】
図４は、マスター装置とスレーブ装置の間の通信経路のために用いられる処理識別子幅の計算を概略的に示しているフロー図である。ステップ３２で、マスター装置の処理識別子幅が、そのマスター装置のためのモデルまたはファイルと関連するパラメータとして読み出される。ステップ３４で、そのマスター装置と接続するためのスレーブインターフェースの処理識別子幅が設定される。ステップ３６で、それぞれのスレーブ装置に関する処理を伝達するために用いられるべき相互接続素子のマスターインターフェースのための処理識別子幅を計算する。ステップ３８で、接続された新たなマスター装置をサポートして互換性を持たせるために必要であれば、これらのマスターインターフェース処理識別子幅のいずれかを更新する。ステップ４０で、ステップ３８で述べた相互接続素子のマスターインターフェースに接続されるべきスレーブ装置内のスレーブ処理識別子幅パラメータを更新する。従って、新たに接続されたマスター装置によって設定される処理識別子幅の要求または制約は、適宜、処理識別子幅の必要な変更が相互接続素子インターフェースおよびスレーブ装置または他の装置においてなされるのと共に、設計を通して伝達される。
【００３２】
図５は、クロックドメインクロッシング（crossing）パラメータの構成を概略的に示しているフロー図である。ステップ４２で、接続される新たな素子のクロック速度を読み出す。ステップ４４で、これが、既に設定された相互接続素子１４のクロック速度と同じかどうかを判定する。同じであれば、ステップ４６で、新たな素子/装置を相互接続素子に直接接続する。同じでなければ、ステップ４８で、相互接続素子のクロック速度を、新たに接続する装置と同じになるように調節するべきかどうかを判定する。これが適切でないか可能でない場合には、ステップ５０で、クロックドメインクロッシングポイントとして、新たに接続する素子と相互接続素子との間のクロックインターフェースを選択し、適切な回路ブロックが、このようなクロックドメインクロッシングをサポートするために、相互接続素子内に加えられる。
【００３３】
ステップ４８での判定が、相互接続素子が、そのクロック周波数を変更することであった場合には、ステップ５２でこれがなされ、かつステップ５４で、システム内で既に接続されていた装置をサポートするために、クロック速度の適切な変更および/または必要なクロックドメインクロッシング素子が加えられる。装置が、それが以前接続されていたときに設定されたものから、そのクロック速度を変更する場合には、処理がステップ４４に返されると共に、クロックドメインクロッシング素子に対するクロックの互換性および要求をチェックするために、それは新たに接続する装置とみなされる。
【００３４】
図６は、周期的依存回避方法（cyclic dependence avoidance scheme）の選択を概略的に示しているフロー図である。ステップ５６で、マスター処理識別子幅が、新たに接続するマスター装置のために決められる。ステップ５８で、この処理識別子幅がゼロでないか否か判定する。幅がゼロでない場合には、ステップ６０で、ユーザによる選択のために、処理識別子ベースおよび非処理識別子ベースの周期的依存回避方法の選択を提示する。ステップ５８での判定が、新たに接続された装置と関連する処理識別子幅が０であった場合には、処理はステップ６２へ進み、そこで処理識別子ベースの周期的依存回避方法がユーザに提示される。
【００３５】
ユーザまたはシステムが処理識別子幅をゼロからゼロでない値までチャージすることになっている場合には、図６に示した過程は、（おそらくユーザによって選択されるように）追加の構成オプションを提示する。逆に、ゼロでない値から０まで処理識別子幅をチャージすることは、利用可能なオプションの数の減少という結果になり、かつ既に選択されていたオプションが無効になるかもしれない（そして、おそらく自動的に変更されるか警告される）。
【００３６】
本発明の例示としての実施形態を、添付の図面を参照してここに詳述してきたが、本発明が、それらの詳細な実施形態に限定されるものではなく、かつ様々な変更および修正が、添付の請求項によって定められる本発明の範囲および精神から逸脱することなく、当業者によって、その中で遂行され得ることは理解されるべきである。
【図面の簡単な説明】
【００３７】
【図１】複数の装置および相互接続素子を含む集積回路を概略的に示している。
【図２】装置と相互接続素子間のインターフェースを横切って渡される可能な信号の少ない選択を概略的に示している。
【図３】本技術に従って素子/装置を相互接続素子に接続するときに実行されるステップを概略的に示しているフロー図である。
【図４】集積回路内でのＩＤ幅の計算を概略的に示しているフロー図である。
【図５】集積回路内でのクロックドメインクロッシングの構成を概略的に示しているフロー図である。
【図６】集積回路内で用いられる周期的依存回避方法の選択を概略的に示しているフロー図である。
【符号の説明】
【００３８】
２  集積回路
４、６、８、１０、１２  装置
１４  相互接続素子
【図１】
2009087333.tif 000003
【図２】
2009087333.tif 000004
【図３】
2009087333.tif 000005
【図４】
2009087333.tif 000006
【図５】
2009087333.tif 000007
【図６】
2009087333.tif 000008
【外国語明細書】
2009087333.tif 000009
2009087333.tif 000010
2009087333.tif 000011
2009087333.tif 000012
2009087333.tif 000013
2009087333.tif 000014
2009087333.tif 000015
2009087333.tif 000016
2009087333.tif 000017
2009087333.tif 000018
2009087333.tif 000019
2009087333.tif 000020
2009087333.tif 000021
2009087333.tif 000022
2009087333.tif 000023
2009087333.tif 000024
2009087333.tif 000025
2009087333.tif 000026
2009087333.tif 000027
2009087333.tif 000028
2009087333.tif 000029
2009087333.tif 000030
2009087333.tif 000031
2009087333.tif 000032