(57)【要約】【課題】複数の機能ブロックを有する半導体装置において、各ブロック間のバス配線数を減少させること。【解決手段】  マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、Ｉ／Ｆ部間を接続するための複数の相互接続部を設けた半導体装置において、Ｉ／Ｆ部は、複合機能ブロックに設けられたマスタ機能ブロック及びスレーブ機能ブロックとの間でそれぞれ入力バス及び出力バスにより接続される一方、一つの入力バス及び出力バスで相互接続部と接続され、しかも、相互接続部間が少なくとも一つの入力バス及び出力バスで接続される。【選択図】  図１
2006330784.tif 000002
【特許請求の範囲】
【請求項１】
マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、
前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、
前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、
前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする半導体装置。
【請求項２】
複数の前記相互接続部は、少なくとも第１の相互接続部及び第２の相互接続部とからなり、第１の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第２の相互接続部を介して出力するべき信号を優先して出力することを特徴とすることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記Ｉ／Ｆ部にレジスタを設けたことを特徴とする請求項１又は請求項２に記載の半導体装置。
【請求項４】
前記入力バス及び出力バスは、チャネル型のオンチップバスであることを特徴とする請求項１〜３のいずれか１項に記載の半導体装置。
【請求項５】
マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、
前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、
前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、
前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする回路基板。
【請求項６】
マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、
前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたＩ／Ｆ部を前記複合機能ブロック毎に配置し、
前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、
前記複合機能ブロックのマスタ機能ブロックと前記Ｉ／Ｆ部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記Ｉ／Ｆ部とそれぞれを一の入力バス及び出力バスで接続し、
前記Ｉ／Ｆと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、
前記相互接続部間を一の入力バス及び出力バスで接続することを特徴とするチャネル型バスの相互接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、回路基板及びチャネル型バスの相互接続方法の技術に関する。詳細には、マスタ機能ブロックとスレーブ機能ブロックとを有する複数の複合機能ブロックを有し、チャネル型のオンチップバスによって複合機能ブロック間を接続する技術に関する。
【背景技術】
【０００２】
近年、集積化技術の進歩に伴い、複数の機能ブロック（ハードマクロ、ソフトマクロなど）が組み合わされて一つの半導体装置を構成するシステムＬＳＩ（System Large Scale
Integrated-Circuit）が提案されてきている。機能ブロックは、オンチップバスバスに対して能動的に動作する機能ブロック（以下、「マスタ機能ブロック」と称す。）と、マスタの動作対象であって受動的に動作する機能ブロック（以下、「スレーブ機能ブロック」と称す。）と、オンチップバスに対して能動的に動作する機能とマスタの動作対象であって受動的に動作する機能とを有する機能ブロック（以下、「複合機能ブロック」と称す。）に分けられる。
【０００３】
このようなシステムＬＳＩにおいては、その内部で複数の機能モジュール間の高速な通信を実現するために内部バス（オンチップバス）が用いられているのが一般的である。
そして、オンチップバスのプロトコルとして、英国ＡＲＭ社が策定するＡＸＩ（Advanced eXtensibleInterface）仕様やＯＣＰ−ＩＰ（OCP International Partnership）が標準化を推進するＯＣＰ（Open Core Protocol）規格などのチャネル型のオンチップバスが採用されてきている（例えば、非特許文献１参照）。
【０００４】
ここで、従来のチャネル型のオンチップバスの相互接続方法について、図４を参照して具体的に説明する。図４は、従来のシステムＬＳＩ100におけるチャネル型のオンチップバスの相互接続の構成を示す図である。
【０００５】
図４において、101はマスタ機能ブロック、102はスレーブ機能ブロック、103a〜dは複合機能ブロック、104a〜fは各ブロック101,102,103a〜d毎に設けられるＩ／Ｆ部、105a、bはＩ／Ｆ部104a〜f間を接続するためのＭＵＸ（相互接続部）である。
【０００６】
Ｉ／Ｆ部104aは、マスタ機能ブロック101から出力される信号をバス110aで受信し、バス114aを介してＭＵＸ105aへ出力すると共に、バス116aを介してＭＵＸ105bから出力される信号を受信し、バス111aを介してマスタ機能ブロック101へ送信する。
【０００７】
Ｉ／Ｆ部104bは、スレーブ機能ブロック102から出力される信号をバス113aで受信し、バス117aを介してＭＵＸ105bへ出力すると共に、バス115aを介してＭＵＸ105aから出力される信号を受信し、バス112aを介してスレーブ機能ブロック102へ送信する。
【０００８】
Ｉ／Ｆ部104c〜fは、複合機能ブロック103a〜dのマスタ機能ブロックから出力される信号をバス110b〜eで受信し、バス114b〜eを介してＭＵＸ105aへ入力すると共に、バス116b〜eを介してＭＵＸ105bから出力される信号を受信し、バス111b〜eを介して複合機能ブロック103a〜dのマスタ機能ブロックへ送信する。
【０００９】
さらに、Ｉ／Ｆ部104c〜fは、複合機能ブロック103a〜dのスレーブ機能ブロックから出力される信号をバス112b〜eで受信し、バス117b〜eを介してＭＵＸ105aへ入力すると共に、バス115b〜eを介してＭＵＸ105bから出力される信号を受信し、バス113b〜eを介して複合機能ブロック103a〜dのスレーブ機能ブロックへ送信する。
【００１０】
ＭＵＸ105aは、マスタ機能ブロック101及び複合機能ブロック103a〜dのマスタ機能ブロックからＩ／Ｆ部104a,c〜fを介して出力される後述のアドレスチャネルを受信し、その信号に含まれるＩＤを記憶する。記憶されたＩＤは、ライトデータチャネル又はリードデータチャネルが送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
【００１１】
また、ＭＵＸ105aは、調停回路をも有し、マスタ機能ブロックからのライトアクセスやリードアクセスが競合した場合に、アクセスの優先順位を決定する。
【００１２】
ＭＵＸ105bは、スレーブ機能ブロック102及び複合機能ブロック103a〜dのスレーブ機能ブロックからＩ／Ｆ部104b,c〜fを介して出力される後述のアドレスチャネルを受信し、その信号に含まれるＩＤを記憶する。記憶されたＩＤは、ライトデータチャネル又はリードデータチャネルが送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
【００１３】
以上のように構成されたシステムＬＳＩ100について、マスタ機能ブロック101から、複合機能ブロック103cのスレーブにライトアクセスする場合の動作を、図４を参照して具体的に説明する。
【００１４】
マスタ機能ブロック101は、アドレスチャネルとしてマスタ機能ブロック101のＩＤを付加したデータをバス110aへ出力すると、そのデータは、Ｉ／Ｆ部104a及びバス114aを通ってＭＵＸ105aに入力される。
【００１５】
ＭＵＸ105aはデータに含まれるアドレスからどのスレーブへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコード結果からＭＵＸ105aは複合機能ブロック103cのスレーブ機能ブロックへのアクセスと判定し、セレクタ120aでバス115dを選択して、入力されたデータをバス115dへ出力する。
【００１６】
このように出力されたデータはＩ／Ｆ部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
【００１７】
続いて、ライトデータチャネルがマスタ機能ブロック101からバス110a、Ｉ／Ｆ部104a及びバス114aを通ってＭＵＸ105aに入力される。ＭＵＸ105aは先ほど記憶したマスタＩＤからマスタ機能ブロック101からのアクセスと判断してバス115dを選択し、バス115dにライトデータを出力する。
【００１８】
バス115dに出力されたライトデータは、Ｉ／Ｆ部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
【００１９】
続いて、複合機能ブロック103cのスレーブ機能ブロックは、ライトレスポンスチャネルとして、ライトデータを受信し、ライトが完了したことを示すデータを出力する。なお、このデータには、マスタ機能ブロック101のＩＤが付加される。
【００２０】
複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス112d、Ｉ／Ｆ部104e及びバス117dを通って、ＭＵＸ105bへ送信される。
【００２１】
ＭＵＸ105bは、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータに付加されたＩＤから送信先がマスタ機能ブロック101であると判定し、セレクタでバス116aを選択する。これによって、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス116a、Ｉ／Ｆ部104a及びバス111aを通って、マスタ機能ブロック101で受信される。
【００２２】
以上の一連の動作によって、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのライト動作が終了する。
【００２３】
次に、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのリード動作を、図４を参照して具体的に説明する。
【００２４】
マスタ機能ブロック101は、アドレスチャネルとしてマスタ機能ブロック101のＩＤを付加したデータをバス110aへ出力すると、そのデータは、Ｉ／Ｆ部104a及びバス114aを通ってＭＵＸ105aに入力される。
【００２５】
ＭＵＸ105aはデータに含まれるアドレスからどのスレーブへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコード結果からＭＵＸ105aは複合機能ブロック103cのスレーブ機能ブロックへのアクセスと判定し、セレクタ120aでバス115dを選択して、入力されたデータをバス115dへ出力する。
【００２６】
このように出力されたデータは、Ｉ／Ｆ部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
【００２７】
続いて、複合機能ブロック103cのスレーブ機能ブロックは、リードデータチャネルとして、マスタ機能ブロック101から要求されたデータを出力する。なお、このデータには、マスタ機能ブロック101のＩＤが付加される。
【００２８】
複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス112d、Ｉ／Ｆ部104e及びバス117dを通って、ＭＵＸ105bへ送信される。
【００２９】
ＭＵＸ105bは、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータに付加されたＩＤから送信先がマスタ機能ブロック101であると判定し、セレクタでバス116aを選択する。これによって、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス116a、Ｉ／Ｆ部104a及びバス111aを通って、マスタ機能ブロック101で受信される。
【００３０】
以上の一連の動作によって、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのリード動作が終了する。
【００３１】
このように従来のシステムＬＳＩにおいては、各マスタ機能ブロックから送信されるデータは、ＭＵＸ105aを介して、各スレーブ機能ブロックへデータを送信することができ、又各スレーブ機能ブロックから送信されるデータは、ＭＵＸ105bを介して、各マスタ機能ブロックへデータを送信することができる。
【非特許文献１】「OCP 2.0 Specification Official Release」 September 2003，OCP International Partnership Association, Inc. （OCP-IP），http://www.ocpip.org/
【発明の開示】
【発明が解決しようとする課題】
【００３２】
しかしながら、従来のシステムＬＳＩなどの半導体装置では、ＭＵＸ105aの入力バスはマスタ機能ブロックの数だけ必要となり、出力バスはスレーブ機能ブロックの数だけ必要となる。また、同様にＭＵＸ105bの入力バスはスレーブ機能ブロックの数だけ必要となり、出力バスはマスタ機能ブロックの数だけ必要となる。したがって、上述のようにマスタ機能ブロック及びスレーブ機能ブロックが多くなってくると、バス配線が非常に混雑してくる。
【００３３】
そこで、本発明においては、各ブロック間のバス配線数を減少させることができる半導体装置、回路基板及びチャネル型バスの相互接続方法を提供することを目的とする。
【課題を解決するための手段】
【００３４】
請求項１に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする。
【００３５】
また、請求項２に記載の発明は、請求項１に記載の発明であって、複数の前記相互接続部は、少なくとも第１の相互接続部及び第２の相互接続部とからなり、第１の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第２の相互接続部を介して出力するべき信号を優先して出力することを特徴とすることを特徴とする。
【００３６】
また、請求項３に記載の発明は、請求項１又は請求項２に記載の発明であって、前記Ｉ／Ｆ部にレジスタを設けたことを特徴とする。
【００３７】
また、請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の発明であって、前記入力バス及び出力バスは、チャネル型のオンチップバスであることを特徴とする。
【００３８】
また、請求項５に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする。
【００３９】
また、請求項６に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたＩ／Ｆ部を前記複合機能ブロック毎に配置し、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、前記複合機能ブロックのマスタ機能ブロックと前記Ｉ／Ｆ部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記Ｉ／Ｆ部とそれぞれを一の入力バス及び出力バスで接続し、前記Ｉ／Ｆと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、前記相互接続部間を一の入力バス及び出力バスで接続することを特徴とする。
【発明の効果】
【００４０】
請求項１に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
【００４１】
また、請求項２に記載の発明によれば、複数の前記相互接続部は、少なくとも第１の相互接続部及び第２の相互接続部とからなり、第１の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第２の相互接続部を介して出力するべき信号を優先して出力することを特徴とするので、データが２つの相互接続部を通過することによるデータ遅延が同時アクセスによってさらに遅延する問題を回避することが可能となる。
【００４２】
また、請求項３に記載の発明によれば、前記Ｉ／Ｆ部にレジスタを設けたので、複合機能ブロックのマスタ機能ブロックへの入力データとスレーブ機能ブロックへの入力データがタイミング的に厳しいパスであっても、複数のレジスタを設ける必要がなく、従来それぞれのバスにレジスタを入れなければならないのに対して、レジスタスライスによるレジスタ挿入数を削減させることができる。
【００４３】
また、請求項４に記載の発明によれば、前記入力バス及び出力バスは、チャネル型のオンチップバスであるので、各ブロック間のバス配線数が混雑することを抑えたチャネル型の半導体装置を提供することができる。
【００４４】
また、請求項５に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、前記Ｉ／Ｆ部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記Ｉ／Ｆ部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
【００４５】
また、請求項６に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたＩ／Ｆ部を前記複合機能ブロック毎に配置し、前記Ｉ／Ｆ部からの入力をデコードした結果に基づいて、前記Ｉ/Ｆ部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、前記複合機能ブロックのマスタ機能ブロックと前記Ｉ／Ｆ部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記Ｉ／Ｆ部とそれぞれを一の入力バス及び出力バスで接続し、前記Ｉ／Ｆと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、前記相互接続部間を一の入力バス及び出力バスで接続するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
【発明を実施するための最良の形態】
【００４６】
本発明に係る半導体装置及び回路基板は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これら複数の複合機能ブロック間を相互に接続するために、各複合機能ブロックにそれぞれＩ／Ｆ部をバス接続すると共に、Ｉ／Ｆ部を介して複合機能ブロック間の相互接続を制御する複数の相互接続部をＩ／Ｆ部間に配置したものである。
【００４７】
また、Ｉ／Ｆ部は、マスタ機能ブロックからの入力とスレーブ機能ブロックからの入力を調停して相互接続部へ出力する調停部と、相互接続部からの入力をデコードした結果に基づいてマスタ機能ブロック又はスレーブ機能ブロックのいずれかに出力するデコード部とを有している。
【００４８】
また、記相互接続部は、Ｉ／Ｆ部からの入力をデコードした結果に基づいて、Ｉ/Ｆ部又は相互接続部のいずれかに出力するデコーダ部を有している。
【００４９】
さらに、Ｉ／Ｆ部は、複合機能ブロックに設けられたマスタ機能ブロック及びスレーブ機能ブロックとの間でそれぞれ入力バス及び出力バスにより接続される一方、一つの入力バス及び出力バスで相互接続部と接続され、しかも、相互接続部間が少なくとも一つの入力バス及び出力バスで接続されている。
【００５０】
しかも、複数の相互接続部は、少なくとも第１の相互接続部及び第２の相互接続部とからなり、第１の相互接続部と第２の相互接続部を有し、この第１の相互接続部と第２の相互接続部とが入力バス及び出力バスで接続される。
【００５１】
したがって、Ｉ／Ｆ部と相互接続部間をより少ないバスで配線することができ、その結果、各機能ブロック間のバス配線数が混雑することを抑えることが可能となる。
【００５２】
以下、本発明の半導体装置であるシステムＬＳＩ１を、図面を参照して具体的に説明する。図１は本発明の実施形態におけるシステムＬＳＩ１におけるチャネル型のオンチップバスの相互接続の構成を示す図である。なお、本実施の形態で説明するチャネル型のオンチップバスの相互接続は、半導体装置上だけでなく、回路基板などの基板上に行なうこともできるが、構成は同じであるため、ここでは半導体装置のみ説明する。
【００５３】
図１において、11はマスタ機能ブロック、12はスレーブ機能ブロック、13a〜dはマスタ機能ブロック及びスレーブ機能ブロックを有する複合機能ブロック、104a〜fは各ブロック11,12,13a〜d毎に設けられるＩ／Ｆ部、15a,bはＩ／Ｆ部14a〜f間を接続するためのＭＵＸで構成される相互接続部である。
【００５４】
Ｉ／Ｆ部14aは、マスタ機能ブロック11から出力される信号を入力バス20aで受信し、出力バス24aを介して相互接続部15aへ入力すると共に、入力バス27aを介して相互接続部15bから出力される信号を受信し、出力バス21aを介してマスタ機能ブロック11へ送信する。
【００５５】
Ｉ／Ｆ部14bは、スレーブ機能ブロック12から出力される信号を入力バス23aで受信し、出力バス26bを介して相互接続部15bへ出力すると共に、入力バス25aを介して相互接続部15aから出力される信号を受信し、出力バス22aを介してスレーブ機能ブロック12へ送信する。
【００５６】
Ｉ／Ｆ部14c〜fは、複合機能ブロック13a〜dのマスタ機能ブロック及びスレーブ機能ブロックから出力される信号を各入力バスで受信し、受信したデータを時系列で多重化して出力バスを介して相互接続部へ出力すると共に、入力バスを介して相互接続部から出力される、時系列で多重化された信号を受信し、受信した信号を複合機能ブロックのマスタ機能ブロックへ出力する信号とスレーブ機能ブロックへ出力する信号に分離する。
【００５７】
そして、分離した信号が複合機能ブロックのマスタ機能ブロックへの信号の場合には、出力バスを介して複合機能ブロックのマスタ機能ブロックへ送信し、分離した信号が複合機能ブロックのスレーブ機能ブロックへの信号の場合には、出力バスを介して複合機能ブロックのスレーブ機能ブロックへ送信する。
【００５８】
さらに、Ｉ／Ｆ部14c〜fは、複合機能ブロックのマスタ機能ブロックへの入力データとスレーブ機能ブロックへの入力データがタイミング的に厳しいパスである場合、内部にレジスタが配置される。このレジスタによって、２つのパスのタイミングをゆるくすることができる。
【００５９】
ここで、Ｉ／Ｆ部14c〜fのうち、Ｉ／Ｆ部14cを例にとって説明する。図２は本実施形態に係るＩ／Ｆ部の構成を示した図であり、以下、この図を参照してＩ／Ｆ部14cの構成を具体的に説明する。
【００６０】
図２に示すように、Ｉ／Ｆ部14cは、複合機能ブロック13aのマスタ機能ブロック及びスレーブ機能ブロックから出力される信号を入力バス20b,22bで受信し、受信したデータを時系列で多重化して出力バス24bを介して相互接続部15aへ出力する多重部50と、入力バス20b,22bからの入力信号が同時に入力されたときにこれらの信号を調停して、いずれか一方を優先させて出力する要求を多重部50に出力するための調停部51と、入力バス27bを介して相互接続部15bから出力される、時系列で多重化された信号をそれぞれ入力すると共に、入力される信号と後述のデコーダ部54からの出力との論理和ととって出力する論理積回路52,53と、相互接続部15bから入力された信号を複合機能ブロック13aのマスタ機能ブロックへ出力する信号とスレーブ機能ブロックへ出力する信号とに分離するために、入力された信号をデコードし、その信号がマスタ機能ブロック宛のものなのか、スレーブ機能ブロック宛のものなのかを判定して、その結果に基づいて論理積回路52,53を制御して、マスタ機能ブロック又はスレーブ機能ブロックへ出力するデコーダ部とを有している。なお、図示しないが、I／Ｆ部には上述のレジスタが配置される。
【００６１】
このように、デコーダ部54及び論理積回路52,53の機能によって、相互接続部15bから入力した信号が複合機能ブロック13aのマスタ機能ブロックへの信号の場合には、出力バス21bを介して複合機能ブロック13aのマスタ機能ブロックへ送信し、相互接続部15bから入力した信号が複合機能ブロック13aのスレーブ機能ブロックへの信号の場合には、出力バス23bを介して複合機能ブロック13aのスレーブ機能ブロックへ送信する。
【００６２】
相互接続部15aは、マスタ機能ブロック11、複合機能ブロック13a,c及び相互接続部15bから出力される信号を入力し、スレーブ機能ブロック12、複合機能ブロック13b,d及び相互接続部15bのうちいずれか一つを選択するセレクタ151aを有している。
【００６３】
さらに、相互接続部15aは、マスタ機能ブロック11及び複合機能ブロック13a,cのマスタ機能ブロックからＩ／Ｆ部14a,c,eを介して出力され、又相互接続部15aから直接出力される後述のアドレスチャネルのデータ信号を受信し、そのデータ信号に含まれるＩＤを記憶する記憶部を有すると共に、マスタ機能ブロック11、複合機能ブロック13a,cのマスタ機能ブロック及び相互接続部15bからＩ／Ｆ部14a,c,e又は相互接続部15aのうち２以上のブロックから同時にアクセスがあったときに、どのアクセスを優先するかを選択する調停回路とを有するアドレスデコーダ／調停回路152aを有している。
【００６４】
また、相互接続部15aは、セレクタ151aで選択されたバス25a〜c,28aの一つへ受信したデータ信号を出力する。
【００６５】
なお、アドレスデコーダ／調停回路152aの調停回路は、入力バス28bを介した相互接続部15bからのアクセスと他のバス24a〜cを介したアクセスとが同時に重なったとき、入力バス28bを介した相互接続部15bからのアクセスを優先させる。また、相互接続部15bへのアクセスと他のバス25a〜cへのアクセスとが同時に重なったとき、相互接続部15bへのアクセスを優先させるように構成されている。
【００６６】
また、記憶部に記憶されたＩＤは、ライトデータチャネル又はリードデータチャネル等が送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
【００６７】
相互接続部15bは、スレーブ機能ブロック12及び複合機能ブロック13a〜dからＩ／Ｆ部14b,c〜fを介して出力される後述のライトレスポンスチャネルやリードレスポンスチャネルを受信し、その信号に含まれるＩＤからアクセス先を判定し、判定したアクセス先へデータを送る。また、ＭＵＸ15bは、調停回路をも有し、レスポンスチャネルが競合した場合に、アクセスの優先順位を決定する。
【００６８】
相互接続部15bは、相互接続部15aと同様に、スレーブ機能ブロック12、複合機能ブロック13b,dから出力される信号を入力し、マスタ機能ブロック11、複合機能ブロック13a,c及び相互接続部15aのうちいずれか一つを選択するセレクタ151bと、マスタ機能ブロック11及び複合機能ブロック13a,cのマスタ機能ブロックからＩ／Ｆ部14b,d,fを介して出力される後述のアドレスチャネルのデータ信号を受信し、そのデータ信号に含まれるＩＤを記憶する記憶部を有すると共に、スレーブ機能ブロック12、複合機能ブロック13b,d及び相互接続部15aのうち２以上のブロックから同時にアクセスがあったときに、どのアクセスを優先するかを選択する調停回路とを有するアドレスデコーダ／調停回路152bを有している。
【００６９】
また、相互接続部15aは、セレクタ151bで選択されたバス27a〜c,28bの一つへ受信したデータ信号を出力する。
【００７０】
なお、アドレスデコーダ／調停回路152bの調停回路は、アドレスデコーダ／調停回路152aと同様に、入力バス28aを介した相互接続部15aからのアクセスと他のバス26a〜cを介したアクセスとが同時に重なったとき、入力バス28aを介した相互接続部15aからのアクセスを優先させる。また、相互接続部15aへのアクセスと他のバス27a〜cへのアクセスとが同時に重なったとき、相互接続部15aへのアクセスを優先させるように構成されている。
【００７１】
また、記憶部に記憶されたＩＤは、ライトデータチャネル又はリードデータチャネル等が送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
【００７２】
以上のように構成されたシステムＬＳＩ１において、マスタ機能ブロック11から、複合機能ブロック13cのスレーブにライトアクセスする場合の動作を、図１を参照して具体的に説明する。
【００７３】
マスタ機能ブロック11は、アドレスチャネルとしてマスタ機能ブロック11のＩＤを付加したデータをバス20aへ出力すると、そのデータは、Ｉ／Ｆ部14aで受信され、バス24aを通って相互接続部15aに入力される。
【００７４】
相互接続部15aのアドレスデコーダ／調停回路152aは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコードした結果からアドレスデコーダ／調停回路152aは送信先が相互接続部15aに直接接続されるＩ／Ｆ部を持つブロックではないと判定し、セレクタ151aを制御することによって、バス28aを選択し、入力されたデータをバス28aへ出力する。
【００７５】
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ／調停回路152bは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコードした結果からアドレスデコーダ／調停回路152bは、複合機能ブロック13cのスレーブ機能ブロックへのアクセスと判定し、セレクタ151bを制御することによって、バス27cを選択し、入力されたデータをバス27cへ出力する。
【００７６】
バス27cを介して入力されたデータは、スレーブ機能ブロックへのアクセスであるため、Ｉ／Ｆ部14eは、このデータをバス23dを介して複合機能ブロック13cのスレーブ機能ブロックへ出力し、このスレーブ機能ブロックにて受信される。
【００７７】
続いて、ライトデータチャネルとして、マスタ機能ブロック11からライトデータがバス20a、Ｉ／Ｆ部14a及びバス24aを通って相互接続部15aに入力される。相互接続部15aのアドレスデコーダ／調停回路152aは、先ほど記憶部に記憶したマスタＩＤに基づいて、セレクタ151aの接続先をバス28aと判定し、バス28aを選択して、入力されたライトデータをバス28aへ出力する。
【００７８】
バス28aを介して、相互接続部15bへライトデータが入力されると、アドレスデコーダ／調停回路152bは、先ほど記憶部に記憶したマスタＩＤに基づいて、セレクタ151bの接続先をバス27cと判定し、セレクタ151bを制御してバス27cを選択し、入力されたライトデータをバス27cへ出力する。
【００７９】
バス27cに出力されたライトデータは、Ｉ／Ｆ部14e及びバス23dを通って複合機能ブロック13cのスレーブ機能ブロックで受信される。
【００８０】
続いて、複合機能ブロック13cのスレーブ機能ブロックは、ライトレスポンスチャネルとして、ライトデータを受信し、ライトが完了したことを示すデータを出力する。なお、このデータには、マスタ機能ブロック11のＩＤが付加される。
【００８１】
複合機能ブロック13cのスレーブ機能ブロックから出力されたデータは、バス22dを介してＩ／Ｆ部14eへ入力され、Ｉ／Ｆ部14eにてバス20dのデータと多重化されてバス24cを介して相互接続部15aへ出力される。
【００８２】
ここで、バス22dからのデータとバス20dからのデータとが同時アクセスとなったとき、Ｉ／Ｆ部14eは優先順位をつけてデータをバス24cへ出力する。
【００８３】
このように送信されたデータが相互接続部15aで受信されると、相互接続部15aのアドレスデコーダ／調停回路152aは、複合機能ブロック13cのスレーブ機能ブロックから出力されたデータに付加されたＩＤから送信先が相互接続部15aに直接接続されるＩ／Ｆ部を持つブロックではないと判定し、セレクタ151aを制御してバス28aを選択し、入力されたデータをバス28aへ出力する。
【００８４】
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ／調停回路152bは、IDからどのマスタ機能ブロックへのアクセスかを判断し、そのデコードした結果からアドレスデコーダ／調停回路152bは、マスタ機能ブロック11のへのアクセスと判定し、セレクタ151bを制御することによって、バス27aを選択し、入力されたデータをバス27aへ出力する。
【００８５】
そして、マスタ機能ブロック11は、バス27a、Ｉ／Ｆ部14a及びバス21aを介して入力されたデータを受信する。
【００８６】
以上の一連の動作によって、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのライト動作が終了する。
【００８７】
次に、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのリード動作を、図１を参照して具体的に説明する。
【００８８】
マスタ機能ブロック11は、アドレスチャネルとしてマスタ機能ブロック11のＩＤを付加したデータをバス20aへ出力すると、そのデータは、Ｉ／Ｆ部14aで受信され、バス24aを通って相互接続部15aに入力される。
【００８９】
相互接続部15aのアドレスデコーダ／調停回路152aは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコードした結果からアドレスデコーダ／調停回路152aは送信先が相互接続部15aに直接接続されるＩ／Ｆ部を持つブロックではないと判定し、セレクタ151aを制御することによって、バス28aを選択し、入力されたデータをバス28aへ出力する。
【００９０】
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ／調停回路152bは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタＩＤを記憶する。デコードした結果からアドレスデコーダ／調停回路152bは、複合機能ブロック13cのスレーブ機能ブロックへのアクセスと判定し、セレクタ151bを制御することによって、バス27cを選択し、入力されたデータをバス27cへ出力する。
【００９１】
Ｉ／Ｆ部14eは、バス27cを介して入力されたデータは、スレーブ機能ブロックへのアクセスであるため、バス23dを介して複合機能ブロック13cのスレーブ機能ブロックへ出力し、このスレーブ機能ブロックにて受信される。
【００９２】
続いて、複合機能ブロック13cのスレーブ機能ブロックは、リードデータチャネルとして、マスタ機能ブロック11のＩＤが付加したリードデータを出力する。
【００９３】
複合機能ブロック13cのスレーブ機能ブロックから出力されたリードデータは、バス22dを介してＩ／Ｆ部14eへ入力され、Ｉ／Ｆ部14eにてバス20dのデータと多重化されてバス24cを介して相互接続部15aへ出力される。
【００９４】
ここで、バス22dからのリードデータとバス20dからのデータとが同時アクセスとなったとき、Ｉ／Ｆ部14eは優先順位をつけてデータをバス24cへ出力する。
【００９５】
このように送信されたデータが相互接続部15aで受信されると、相互接続部15aのアドレスデコーダ／調停回路152aは、複合機能ブロック13cのスレーブ機能ブロックから出力されたリードデータに付加されたＩＤから送信先が相互接続部15aに直接接続されるＩ／Ｆ部を持つブロックではないと判定し、セレクタ151aを制御してバス28aを選択し、入力されたリードデータをバス28aへ出力する。
【００９６】
このように出力されたリードデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ／調停回路152bは、IDからどのマスタ機能ブロックへのアクセスかを判断し、そのデコードした結果からアドレスデコーダ／調停回路152bは、マスタ機能ブロック11のへのアクセスと判定し、セレクタ151bを制御することによって、バス27aを選択し、入力されたデータをバス27aへ出力する。
【００９７】
そして、マスタ機能ブロック11は、バス27a、Ｉ／Ｆ部14a及びバス21aを介して入力されたリードデータを受信する。
【００９８】
以上の一連の動作によって、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのリード動作が終了する。
【００９９】
このように、本発明の実施形態におけるシステムＬＳＩ１によれば、相互接続部間を入力バス及び出力バスで接続し、しかも、Ｉ／Ｆ部と相互接続部間を一つの入力バス及び出力バスで接続するようにしているため、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
【０１００】
なお、上述の実施形態では、複合機能ブロックに設けたＩ／Ｆ部と相互接続部間を一つの入力バス及び出力バスで接続するようにしたが、図３に示すように、一部の複合機能ブロックのＩ／Ｆ部14e´と相互接続部間15a,bを２つの入力バス及び出力バスで接続するようにしてもよい。すなわち、複合機能ブロックのマスタ機能ブロック及びスレーブ機能ブロックがそれぞれ他のスレーブ機能ブロック及びマスタ機能ブロックとデータ転送を同時にかつ頻繁に行なうような場合には、このように入力バス及び出力バスを共用せずに独立して設けることによって、バスの転送量の低減を防ぐことができる。
【０１０１】
また、上述の実施形態では、マスタ機能ブロック11とスレーブ機能ブロック12とを別々の機能ブロックとして説明したが、この２つのブロックを複合機能ブロックとしてもよいことは言うまでもない。このようにすれば、さらにバス配線を削減することができる。
【０１０２】
なお、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置した半導体装置又は回路基板において、これらの複合機能ブロック間におけるチャネル型バスの相互接続を以下のような方法で行なうことができるが、その順序はこれに限られない。
【０１０３】
マスタ機能ブロックからの入力とスレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいてマスタ機能ブロック又はスレーブ機能ブロックのいずれかに出力するデコード部とを備えたＩ／Ｆ部を複合機能ブロック毎に配置する。Ｉ／Ｆ部からの入力をデコードした結果に基づいて、Ｉ/Ｆ部又は相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置する。複合機能ブロックのマスタ機能ブロックとＩ／Ｆ部とをそれぞれ一の入力バス及び出力バスで接続し、複合機能ブロックのスレーブ機能ブロックとＩ／Ｆ部とそれぞれを一の入力バス及び出力バスで接続する。Ｉ／Ｆと相互接続部との間をそれぞれ一の入力バス及び出力バスで接続する。相互接続部間を一の入力バス及び出力バスで接続する。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施形態に係るシステムＬＳＩの全体的な構成を示した図。
【図２】本発明の実施形態に係るＩ／Ｆ部の構成を示した図。
【図３】本発明の実施形態に係る別のシステムＬＳＩの全体的な構成を示した図。
【図４】従来のシステムＬＳＩの全体的な構成を示した図。
【符号の説明】
【０１０５】
１１  マスタ機能ブロック
１２  スレーブ機能ブロック
１３ａ〜ｄ  複合機能ブロック
１４ａ〜ｆ  Ｉ／Ｆ部
１５ａ，ｂ  相互接続部
【図１】
2006330784.tif 000003
【図２】
2006330784.tif 000004
【図３】
2006330784.tif 000005
【図４】
2006330784.tif 000006