JP2006330784A - 半導体装置、回路基板及びチャネル型バスの相互接続方法 - Google Patents
半導体装置、回路基板及びチャネル型バスの相互接続方法 Download PDFInfo
- Publication number
- JP2006330784A JP2006330784A JP2005148986A JP2005148986A JP2006330784A JP 2006330784 A JP2006330784 A JP 2006330784A JP 2005148986 A JP2005148986 A JP 2005148986A JP 2005148986 A JP2005148986 A JP 2005148986A JP 2006330784 A JP2006330784 A JP 2006330784A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- function block
- bus
- input
- interconnection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】複数の機能ブロックを有する半導体装置において、各ブロック間のバス配線数を減少させること。
【解決手段】 マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、I/F部間を接続するための複数の相互接続部を設けた半導体装置において、I/F部は、複合機能ブロックに設けられたマスタ機能ブロック及びスレーブ機能ブロックとの間でそれぞれ入力バス及び出力バスにより接続される一方、一つの入力バス及び出力バスで相互接続部と接続され、しかも、相互接続部間が少なくとも一つの入力バス及び出力バスで接続される。
【選択図】 図1
【解決手段】 マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、I/F部間を接続するための複数の相互接続部を設けた半導体装置において、I/F部は、複合機能ブロックに設けられたマスタ機能ブロック及びスレーブ機能ブロックとの間でそれぞれ入力バス及び出力バスにより接続される一方、一つの入力バス及び出力バスで相互接続部と接続され、しかも、相互接続部間が少なくとも一つの入力バス及び出力バスで接続される。
【選択図】 図1
Description
本発明は、半導体装置、回路基板及びチャネル型バスの相互接続方法の技術に関する。詳細には、マスタ機能ブロックとスレーブ機能ブロックとを有する複数の複合機能ブロックを有し、チャネル型のオンチップバスによって複合機能ブロック間を接続する技術に関する。
近年、集積化技術の進歩に伴い、複数の機能ブロック(ハードマクロ、ソフトマクロなど)が組み合わされて一つの半導体装置を構成するシステムLSI(System Large Scale
Integrated-Circuit)が提案されてきている。機能ブロックは、オンチップバスバスに対して能動的に動作する機能ブロック(以下、「マスタ機能ブロック」と称す。)と、マスタの動作対象であって受動的に動作する機能ブロック(以下、「スレーブ機能ブロック」と称す。)と、オンチップバスに対して能動的に動作する機能とマスタの動作対象であって受動的に動作する機能とを有する機能ブロック(以下、「複合機能ブロック」と称す。)に分けられる。
Integrated-Circuit)が提案されてきている。機能ブロックは、オンチップバスバスに対して能動的に動作する機能ブロック(以下、「マスタ機能ブロック」と称す。)と、マスタの動作対象であって受動的に動作する機能ブロック(以下、「スレーブ機能ブロック」と称す。)と、オンチップバスに対して能動的に動作する機能とマスタの動作対象であって受動的に動作する機能とを有する機能ブロック(以下、「複合機能ブロック」と称す。)に分けられる。
このようなシステムLSIにおいては、その内部で複数の機能モジュール間の高速な通信を実現するために内部バス(オンチップバス)が用いられているのが一般的である。
そして、オンチップバスのプロトコルとして、英国ARM社が策定するAXI(Advanced eXtensibleInterface)仕様やOCP−IP(OCP International Partnership)が標準化を推進するOCP(Open Core Protocol)規格などのチャネル型のオンチップバスが採用されてきている(例えば、非特許文献1参照)。
そして、オンチップバスのプロトコルとして、英国ARM社が策定するAXI(Advanced eXtensibleInterface)仕様やOCP−IP(OCP International Partnership)が標準化を推進するOCP(Open Core Protocol)規格などのチャネル型のオンチップバスが採用されてきている(例えば、非特許文献1参照)。
ここで、従来のチャネル型のオンチップバスの相互接続方法について、図4を参照して具体的に説明する。図4は、従来のシステムLSI100におけるチャネル型のオンチップバスの相互接続の構成を示す図である。
図4において、101はマスタ機能ブロック、102はスレーブ機能ブロック、103a〜dは複合機能ブロック、104a〜fは各ブロック101,102,103a〜d毎に設けられるI/F部、105a、bはI/F部104a〜f間を接続するためのMUX(相互接続部)である。
I/F部104aは、マスタ機能ブロック101から出力される信号をバス110aで受信し、バス114aを介してMUX105aへ出力すると共に、バス116aを介してMUX105bから出力される信号を受信し、バス111aを介してマスタ機能ブロック101へ送信する。
I/F部104bは、スレーブ機能ブロック102から出力される信号をバス113aで受信し、バス117aを介してMUX105bへ出力すると共に、バス115aを介してMUX105aから出力される信号を受信し、バス112aを介してスレーブ機能ブロック102へ送信する。
I/F部104c〜fは、複合機能ブロック103a〜dのマスタ機能ブロックから出力される信号をバス110b〜eで受信し、バス114b〜eを介してMUX105aへ入力すると共に、バス116b〜eを介してMUX105bから出力される信号を受信し、バス111b〜eを介して複合機能ブロック103a〜dのマスタ機能ブロックへ送信する。
さらに、I/F部104c〜fは、複合機能ブロック103a〜dのスレーブ機能ブロックから出力される信号をバス112b〜eで受信し、バス117b〜eを介してMUX105aへ入力すると共に、バス115b〜eを介してMUX105bから出力される信号を受信し、バス113b〜eを介して複合機能ブロック103a〜dのスレーブ機能ブロックへ送信する。
MUX105aは、マスタ機能ブロック101及び複合機能ブロック103a〜dのマスタ機能ブロックからI/F部104a,c〜fを介して出力される後述のアドレスチャネルを受信し、その信号に含まれるIDを記憶する。記憶されたIDは、ライトデータチャネル又はリードデータチャネルが送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
また、MUX105aは、調停回路をも有し、マスタ機能ブロックからのライトアクセスやリードアクセスが競合した場合に、アクセスの優先順位を決定する。
MUX105bは、スレーブ機能ブロック102及び複合機能ブロック103a〜dのスレーブ機能ブロックからI/F部104b,c〜fを介して出力される後述のアドレスチャネルを受信し、その信号に含まれるIDを記憶する。記憶されたIDは、ライトデータチャネル又はリードデータチャネルが送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
以上のように構成されたシステムLSI100について、マスタ機能ブロック101から、複合機能ブロック103cのスレーブにライトアクセスする場合の動作を、図4を参照して具体的に説明する。
マスタ機能ブロック101は、アドレスチャネルとしてマスタ機能ブロック101のIDを付加したデータをバス110aへ出力すると、そのデータは、I/F部104a及びバス114aを通ってMUX105aに入力される。
MUX105aはデータに含まれるアドレスからどのスレーブへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコード結果からMUX105aは複合機能ブロック103cのスレーブ機能ブロックへのアクセスと判定し、セレクタ120aでバス115dを選択して、入力されたデータをバス115dへ出力する。
このように出力されたデータはI/F部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
続いて、ライトデータチャネルがマスタ機能ブロック101からバス110a、I/F部104a及びバス114aを通ってMUX105aに入力される。MUX105aは先ほど記憶したマスタIDからマスタ機能ブロック101からのアクセスと判断してバス115dを選択し、バス115dにライトデータを出力する。
バス115dに出力されたライトデータは、I/F部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
続いて、複合機能ブロック103cのスレーブ機能ブロックは、ライトレスポンスチャネルとして、ライトデータを受信し、ライトが完了したことを示すデータを出力する。なお、このデータには、マスタ機能ブロック101のIDが付加される。
複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス112d、I/F部104e及びバス117dを通って、MUX105bへ送信される。
MUX105bは、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータに付加されたIDから送信先がマスタ機能ブロック101であると判定し、セレクタでバス116aを選択する。これによって、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス116a、I/F部104a及びバス111aを通って、マスタ機能ブロック101で受信される。
以上の一連の動作によって、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのライト動作が終了する。
次に、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのリード動作を、図4を参照して具体的に説明する。
マスタ機能ブロック101は、アドレスチャネルとしてマスタ機能ブロック101のIDを付加したデータをバス110aへ出力すると、そのデータは、I/F部104a及びバス114aを通ってMUX105aに入力される。
MUX105aはデータに含まれるアドレスからどのスレーブへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコード結果からMUX105aは複合機能ブロック103cのスレーブ機能ブロックへのアクセスと判定し、セレクタ120aでバス115dを選択して、入力されたデータをバス115dへ出力する。
このように出力されたデータは、I/F部104eを及びバス113dを通って複合機能ブロック103cのスレーブ機能ブロックで受信される。
続いて、複合機能ブロック103cのスレーブ機能ブロックは、リードデータチャネルとして、マスタ機能ブロック101から要求されたデータを出力する。なお、このデータには、マスタ機能ブロック101のIDが付加される。
複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス112d、I/F部104e及びバス117dを通って、MUX105bへ送信される。
MUX105bは、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータに付加されたIDから送信先がマスタ機能ブロック101であると判定し、セレクタでバス116aを選択する。これによって、複合機能ブロック103cのスレーブ機能ブロックから出力されたデータは、バス116a、I/F部104a及びバス111aを通って、マスタ機能ブロック101で受信される。
以上の一連の動作によって、マスタ機能ブロック101から複合機能ブロック103cのスレーブ機能ブロックへのリード動作が終了する。
このように従来のシステムLSIにおいては、各マスタ機能ブロックから送信されるデータは、MUX105aを介して、各スレーブ機能ブロックへデータを送信することができ、又各スレーブ機能ブロックから送信されるデータは、MUX105bを介して、各マスタ機能ブロックへデータを送信することができる。
「OCP 2.0 Specification Official Release」 September 2003,OCP International Partnership Association, Inc. (OCP-IP),http://www.ocpip.org/
「OCP 2.0 Specification Official Release」 September 2003,OCP International Partnership Association, Inc. (OCP-IP),http://www.ocpip.org/
しかしながら、従来のシステムLSIなどの半導体装置では、MUX105aの入力バスはマスタ機能ブロックの数だけ必要となり、出力バスはスレーブ機能ブロックの数だけ必要となる。また、同様にMUX105bの入力バスはスレーブ機能ブロックの数だけ必要となり、出力バスはマスタ機能ブロックの数だけ必要となる。したがって、上述のようにマスタ機能ブロック及びスレーブ機能ブロックが多くなってくると、バス配線が非常に混雑してくる。
そこで、本発明においては、各ブロック間のバス配線数を減少させることができる半導体装置、回路基板及びチャネル型バスの相互接続方法を提供することを目的とする。
請求項1に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明であって、複数の前記相互接続部は、少なくとも第1の相互接続部及び第2の相互接続部とからなり、第1の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第2の相互接続部を介して出力するべき信号を優先して出力することを特徴とすることを特徴とする。
また、請求項3に記載の発明は、請求項1又は請求項2に記載の発明であって、前記I/F部にレジスタを設けたことを特徴とする。
また、請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の発明であって、前記入力バス及び出力バスは、チャネル型のオンチップバスであることを特徴とする。
また、請求項5に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする。
また、請求項6に記載の発明は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたI/F部を前記複合機能ブロック毎に配置し、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、前記複合機能ブロックのマスタ機能ブロックと前記I/F部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記I/F部とそれぞれを一の入力バス及び出力バスで接続し、前記I/Fと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、前記相互接続部間を一の入力バス及び出力バスで接続することを特徴とする。
請求項1に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
また、請求項2に記載の発明によれば、複数の前記相互接続部は、少なくとも第1の相互接続部及び第2の相互接続部とからなり、第1の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第2の相互接続部を介して出力するべき信号を優先して出力することを特徴とするので、データが2つの相互接続部を通過することによるデータ遅延が同時アクセスによってさらに遅延する問題を回避することが可能となる。
また、請求項3に記載の発明によれば、前記I/F部にレジスタを設けたので、複合機能ブロックのマスタ機能ブロックへの入力データとスレーブ機能ブロックへの入力データがタイミング的に厳しいパスであっても、複数のレジスタを設ける必要がなく、従来それぞれのバスにレジスタを入れなければならないのに対して、レジスタスライスによるレジスタ挿入数を削減させることができる。
また、請求項4に記載の発明によれば、前記入力バス及び出力バスは、チャネル型のオンチップバスであるので、各ブロック間のバス配線数が混雑することを抑えたチャネル型の半導体装置を提供することができる。
また、請求項5に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
また、請求項6に記載の発明によれば、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたI/F部を前記複合機能ブロック毎に配置し、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、前記複合機能ブロックのマスタ機能ブロックと前記I/F部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記I/F部とそれぞれを一の入力バス及び出力バスで接続し、前記I/Fと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、前記相互接続部間を一の入力バス及び出力バスで接続するので、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
本発明に係る半導体装置及び回路基板は、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これら複数の複合機能ブロック間を相互に接続するために、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、I/F部を介して複合機能ブロック間の相互接続を制御する複数の相互接続部をI/F部間に配置したものである。
また、I/F部は、マスタ機能ブロックからの入力とスレーブ機能ブロックからの入力を調停して相互接続部へ出力する調停部と、相互接続部からの入力をデコードした結果に基づいてマスタ機能ブロック又はスレーブ機能ブロックのいずれかに出力するデコード部とを有している。
また、記相互接続部は、I/F部からの入力をデコードした結果に基づいて、I/F部又は相互接続部のいずれかに出力するデコーダ部を有している。
さらに、I/F部は、複合機能ブロックに設けられたマスタ機能ブロック及びスレーブ機能ブロックとの間でそれぞれ入力バス及び出力バスにより接続される一方、一つの入力バス及び出力バスで相互接続部と接続され、しかも、相互接続部間が少なくとも一つの入力バス及び出力バスで接続されている。
しかも、複数の相互接続部は、少なくとも第1の相互接続部及び第2の相互接続部とからなり、第1の相互接続部と第2の相互接続部を有し、この第1の相互接続部と第2の相互接続部とが入力バス及び出力バスで接続される。
したがって、I/F部と相互接続部間をより少ないバスで配線することができ、その結果、各機能ブロック間のバス配線数が混雑することを抑えることが可能となる。
以下、本発明の半導体装置であるシステムLSI1を、図面を参照して具体的に説明する。図1は本発明の実施形態におけるシステムLSI1におけるチャネル型のオンチップバスの相互接続の構成を示す図である。なお、本実施の形態で説明するチャネル型のオンチップバスの相互接続は、半導体装置上だけでなく、回路基板などの基板上に行なうこともできるが、構成は同じであるため、ここでは半導体装置のみ説明する。
図1において、11はマスタ機能ブロック、12はスレーブ機能ブロック、13a〜dはマスタ機能ブロック及びスレーブ機能ブロックを有する複合機能ブロック、104a〜fは各ブロック11,12,13a〜d毎に設けられるI/F部、15a,bはI/F部14a〜f間を接続するためのMUXで構成される相互接続部である。
I/F部14aは、マスタ機能ブロック11から出力される信号を入力バス20aで受信し、出力バス24aを介して相互接続部15aへ入力すると共に、入力バス27aを介して相互接続部15bから出力される信号を受信し、出力バス21aを介してマスタ機能ブロック11へ送信する。
I/F部14bは、スレーブ機能ブロック12から出力される信号を入力バス23aで受信し、出力バス26bを介して相互接続部15bへ出力すると共に、入力バス25aを介して相互接続部15aから出力される信号を受信し、出力バス22aを介してスレーブ機能ブロック12へ送信する。
I/F部14c〜fは、複合機能ブロック13a〜dのマスタ機能ブロック及びスレーブ機能ブロックから出力される信号を各入力バスで受信し、受信したデータを時系列で多重化して出力バスを介して相互接続部へ出力すると共に、入力バスを介して相互接続部から出力される、時系列で多重化された信号を受信し、受信した信号を複合機能ブロックのマスタ機能ブロックへ出力する信号とスレーブ機能ブロックへ出力する信号に分離する。
そして、分離した信号が複合機能ブロックのマスタ機能ブロックへの信号の場合には、出力バスを介して複合機能ブロックのマスタ機能ブロックへ送信し、分離した信号が複合機能ブロックのスレーブ機能ブロックへの信号の場合には、出力バスを介して複合機能ブロックのスレーブ機能ブロックへ送信する。
さらに、I/F部14c〜fは、複合機能ブロックのマスタ機能ブロックへの入力データとスレーブ機能ブロックへの入力データがタイミング的に厳しいパスである場合、内部にレジスタが配置される。このレジスタによって、2つのパスのタイミングをゆるくすることができる。
ここで、I/F部14c〜fのうち、I/F部14cを例にとって説明する。図2は本実施形態に係るI/F部の構成を示した図であり、以下、この図を参照してI/F部14cの構成を具体的に説明する。
図2に示すように、I/F部14cは、複合機能ブロック13aのマスタ機能ブロック及びスレーブ機能ブロックから出力される信号を入力バス20b,22bで受信し、受信したデータを時系列で多重化して出力バス24bを介して相互接続部15aへ出力する多重部50と、入力バス20b,22bからの入力信号が同時に入力されたときにこれらの信号を調停して、いずれか一方を優先させて出力する要求を多重部50に出力するための調停部51と、入力バス27bを介して相互接続部15bから出力される、時系列で多重化された信号をそれぞれ入力すると共に、入力される信号と後述のデコーダ部54からの出力との論理和ととって出力する論理積回路52,53と、相互接続部15bから入力された信号を複合機能ブロック13aのマスタ機能ブロックへ出力する信号とスレーブ機能ブロックへ出力する信号とに分離するために、入力された信号をデコードし、その信号がマスタ機能ブロック宛のものなのか、スレーブ機能ブロック宛のものなのかを判定して、その結果に基づいて論理積回路52,53を制御して、マスタ機能ブロック又はスレーブ機能ブロックへ出力するデコーダ部とを有している。なお、図示しないが、I/F部には上述のレジスタが配置される。
このように、デコーダ部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のマスタ機能ブロックからI/F部14a,c,eを介して出力され、又相互接続部15aから直接出力される後述のアドレスチャネルのデータ信号を受信し、そのデータ信号に含まれるIDを記憶する記憶部を有すると共に、マスタ機能ブロック11、複合機能ブロック13a,cのマスタ機能ブロック及び相互接続部15bからI/F部14a,c,e又は相互接続部15aのうち2以上のブロックから同時にアクセスがあったときに、どのアクセスを優先するかを選択する調停回路とを有するアドレスデコーダ/調停回路152aを有している。
また、相互接続部15aは、セレクタ151aで選択されたバス25a〜c,28aの一つへ受信したデータ信号を出力する。
なお、アドレスデコーダ/調停回路152aの調停回路は、入力バス28bを介した相互接続部15bからのアクセスと他のバス24a〜cを介したアクセスとが同時に重なったとき、入力バス28bを介した相互接続部15bからのアクセスを優先させる。また、相互接続部15bへのアクセスと他のバス25a〜cへのアクセスとが同時に重なったとき、相互接続部15bへのアクセスを優先させるように構成されている。
また、記憶部に記憶されたIDは、ライトデータチャネル又はリードデータチャネル等が送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
相互接続部15bは、スレーブ機能ブロック12及び複合機能ブロック13a〜dからI/F部14b,c〜fを介して出力される後述のライトレスポンスチャネルやリードレスポンスチャネルを受信し、その信号に含まれるIDからアクセス先を判定し、判定したアクセス先へデータを送る。また、MUX15bは、調停回路をも有し、レスポンスチャネルが競合した場合に、アクセスの優先順位を決定する。
相互接続部15bは、相互接続部15aと同様に、スレーブ機能ブロック12、複合機能ブロック13b,dから出力される信号を入力し、マスタ機能ブロック11、複合機能ブロック13a,c及び相互接続部15aのうちいずれか一つを選択するセレクタ151bと、マスタ機能ブロック11及び複合機能ブロック13a,cのマスタ機能ブロックからI/F部14b,d,fを介して出力される後述のアドレスチャネルのデータ信号を受信し、そのデータ信号に含まれるIDを記憶する記憶部を有すると共に、スレーブ機能ブロック12、複合機能ブロック13b,d及び相互接続部15aのうち2以上のブロックから同時にアクセスがあったときに、どのアクセスを優先するかを選択する調停回路とを有するアドレスデコーダ/調停回路152bを有している。
また、相互接続部15aは、セレクタ151bで選択されたバス27a〜c,28bの一つへ受信したデータ信号を出力する。
なお、アドレスデコーダ/調停回路152bの調停回路は、アドレスデコーダ/調停回路152aと同様に、入力バス28aを介した相互接続部15aからのアクセスと他のバス26a〜cを介したアクセスとが同時に重なったとき、入力バス28aを介した相互接続部15aからのアクセスを優先させる。また、相互接続部15aへのアクセスと他のバス27a〜cへのアクセスとが同時に重なったとき、相互接続部15aへのアクセスを優先させるように構成されている。
また、記憶部に記憶されたIDは、ライトデータチャネル又はリードデータチャネル等が送信されてきたときに、どのマスタ機能ブロックから送信されたのかを判定するために用いられる。
以上のように構成されたシステムLSI1において、マスタ機能ブロック11から、複合機能ブロック13cのスレーブにライトアクセスする場合の動作を、図1を参照して具体的に説明する。
マスタ機能ブロック11は、アドレスチャネルとしてマスタ機能ブロック11のIDを付加したデータをバス20aへ出力すると、そのデータは、I/F部14aで受信され、バス24aを通って相互接続部15aに入力される。
相互接続部15aのアドレスデコーダ/調停回路152aは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコードした結果からアドレスデコーダ/調停回路152aは送信先が相互接続部15aに直接接続されるI/F部を持つブロックではないと判定し、セレクタ151aを制御することによって、バス28aを選択し、入力されたデータをバス28aへ出力する。
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ/調停回路152bは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコードした結果からアドレスデコーダ/調停回路152bは、複合機能ブロック13cのスレーブ機能ブロックへのアクセスと判定し、セレクタ151bを制御することによって、バス27cを選択し、入力されたデータをバス27cへ出力する。
バス27cを介して入力されたデータは、スレーブ機能ブロックへのアクセスであるため、I/F部14eは、このデータをバス23dを介して複合機能ブロック13cのスレーブ機能ブロックへ出力し、このスレーブ機能ブロックにて受信される。
続いて、ライトデータチャネルとして、マスタ機能ブロック11からライトデータがバス20a、I/F部14a及びバス24aを通って相互接続部15aに入力される。相互接続部15aのアドレスデコーダ/調停回路152aは、先ほど記憶部に記憶したマスタIDに基づいて、セレクタ151aの接続先をバス28aと判定し、バス28aを選択して、入力されたライトデータをバス28aへ出力する。
バス28aを介して、相互接続部15bへライトデータが入力されると、アドレスデコーダ/調停回路152bは、先ほど記憶部に記憶したマスタIDに基づいて、セレクタ151bの接続先をバス27cと判定し、セレクタ151bを制御してバス27cを選択し、入力されたライトデータをバス27cへ出力する。
バス27cに出力されたライトデータは、I/F部14e及びバス23dを通って複合機能ブロック13cのスレーブ機能ブロックで受信される。
続いて、複合機能ブロック13cのスレーブ機能ブロックは、ライトレスポンスチャネルとして、ライトデータを受信し、ライトが完了したことを示すデータを出力する。なお、このデータには、マスタ機能ブロック11のIDが付加される。
複合機能ブロック13cのスレーブ機能ブロックから出力されたデータは、バス22dを介してI/F部14eへ入力され、I/F部14eにてバス20dのデータと多重化されてバス24cを介して相互接続部15aへ出力される。
ここで、バス22dからのデータとバス20dからのデータとが同時アクセスとなったとき、I/F部14eは優先順位をつけてデータをバス24cへ出力する。
このように送信されたデータが相互接続部15aで受信されると、相互接続部15aのアドレスデコーダ/調停回路152aは、複合機能ブロック13cのスレーブ機能ブロックから出力されたデータに付加されたIDから送信先が相互接続部15aに直接接続されるI/F部を持つブロックではないと判定し、セレクタ151aを制御してバス28aを選択し、入力されたデータをバス28aへ出力する。
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ/調停回路152bは、IDからどのマスタ機能ブロックへのアクセスかを判断し、そのデコードした結果からアドレスデコーダ/調停回路152bは、マスタ機能ブロック11のへのアクセスと判定し、セレクタ151bを制御することによって、バス27aを選択し、入力されたデータをバス27aへ出力する。
そして、マスタ機能ブロック11は、バス27a、I/F部14a及びバス21aを介して入力されたデータを受信する。
以上の一連の動作によって、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのライト動作が終了する。
次に、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのリード動作を、図1を参照して具体的に説明する。
マスタ機能ブロック11は、アドレスチャネルとしてマスタ機能ブロック11のIDを付加したデータをバス20aへ出力すると、そのデータは、I/F部14aで受信され、バス24aを通って相互接続部15aに入力される。
相互接続部15aのアドレスデコーダ/調停回路152aは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコードした結果からアドレスデコーダ/調停回路152aは送信先が相互接続部15aに直接接続されるI/F部を持つブロックではないと判定し、セレクタ151aを制御することによって、バス28aを選択し、入力されたデータをバス28aへ出力する。
このように出力されたデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ/調停回路152bは、入力されたデータに含まれるアドレスからどのスレーブ機能ブロックへのアクセスかをデコードすると共に、データに含まれるマスタIDを記憶する。デコードした結果からアドレスデコーダ/調停回路152bは、複合機能ブロック13cのスレーブ機能ブロックへのアクセスと判定し、セレクタ151bを制御することによって、バス27cを選択し、入力されたデータをバス27cへ出力する。
I/F部14eは、バス27cを介して入力されたデータは、スレーブ機能ブロックへのアクセスであるため、バス23dを介して複合機能ブロック13cのスレーブ機能ブロックへ出力し、このスレーブ機能ブロックにて受信される。
続いて、複合機能ブロック13cのスレーブ機能ブロックは、リードデータチャネルとして、マスタ機能ブロック11のIDが付加したリードデータを出力する。
複合機能ブロック13cのスレーブ機能ブロックから出力されたリードデータは、バス22dを介してI/F部14eへ入力され、I/F部14eにてバス20dのデータと多重化されてバス24cを介して相互接続部15aへ出力される。
ここで、バス22dからのリードデータとバス20dからのデータとが同時アクセスとなったとき、I/F部14eは優先順位をつけてデータをバス24cへ出力する。
このように送信されたデータが相互接続部15aで受信されると、相互接続部15aのアドレスデコーダ/調停回路152aは、複合機能ブロック13cのスレーブ機能ブロックから出力されたリードデータに付加されたIDから送信先が相互接続部15aに直接接続されるI/F部を持つブロックではないと判定し、セレクタ151aを制御してバス28aを選択し、入力されたリードデータをバス28aへ出力する。
このように出力されたリードデータは、バス28aを介して相互接続部15bで受信される。相互接続部15bのアドレスデコーダ/調停回路152bは、IDからどのマスタ機能ブロックへのアクセスかを判断し、そのデコードした結果からアドレスデコーダ/調停回路152bは、マスタ機能ブロック11のへのアクセスと判定し、セレクタ151bを制御することによって、バス27aを選択し、入力されたデータをバス27aへ出力する。
そして、マスタ機能ブロック11は、バス27a、I/F部14a及びバス21aを介して入力されたリードデータを受信する。
以上の一連の動作によって、マスタ機能ブロック11から複合機能ブロック13cのスレーブ機能ブロックへのリード動作が終了する。
このように、本発明の実施形態におけるシステムLSI1によれば、相互接続部間を入力バス及び出力バスで接続し、しかも、I/F部と相互接続部間を一つの入力バス及び出力バスで接続するようにしているため、各ブロック間のバス配線数が混雑することを抑えることが可能となる。
なお、上述の実施形態では、複合機能ブロックに設けたI/F部と相互接続部間を一つの入力バス及び出力バスで接続するようにしたが、図3に示すように、一部の複合機能ブロックのI/F部14e´と相互接続部間15a,bを2つの入力バス及び出力バスで接続するようにしてもよい。すなわち、複合機能ブロックのマスタ機能ブロック及びスレーブ機能ブロックがそれぞれ他のスレーブ機能ブロック及びマスタ機能ブロックとデータ転送を同時にかつ頻繁に行なうような場合には、このように入力バス及び出力バスを共用せずに独立して設けることによって、バスの転送量の低減を防ぐことができる。
また、上述の実施形態では、マスタ機能ブロック11とスレーブ機能ブロック12とを別々の機能ブロックとして説明したが、この2つのブロックを複合機能ブロックとしてもよいことは言うまでもない。このようにすれば、さらにバス配線を削減することができる。
なお、マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置した半導体装置又は回路基板において、これらの複合機能ブロック間におけるチャネル型バスの相互接続を以下のような方法で行なうことができるが、その順序はこれに限られない。
マスタ機能ブロックからの入力とスレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいてマスタ機能ブロック又はスレーブ機能ブロックのいずれかに出力するデコード部とを備えたI/F部を複合機能ブロック毎に配置する。I/F部からの入力をデコードした結果に基づいて、I/F部又は相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置する。複合機能ブロックのマスタ機能ブロックとI/F部とをそれぞれ一の入力バス及び出力バスで接続し、複合機能ブロックのスレーブ機能ブロックとI/F部とそれぞれを一の入力バス及び出力バスで接続する。I/Fと相互接続部との間をそれぞれ一の入力バス及び出力バスで接続する。相互接続部間を一の入力バス及び出力バスで接続する。
11 マスタ機能ブロック
12 スレーブ機能ブロック
13a〜d 複合機能ブロック
14a〜f I/F部
15a,b 相互接続部
12 スレーブ機能ブロック
13a〜d 複合機能ブロック
14a〜f I/F部
15a,b 相互接続部
Claims (6)
- マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた半導体装置において、
前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、
前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、
前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする半導体装置。 - 複数の前記相互接続部は、少なくとも第1の相互接続部及び第2の相互接続部とからなり、第1の相互接続部のデコード部は、前記複合機能ブロックからの入力される信号のうち、第2の相互接続部を介して出力するべき信号を優先して出力することを特徴とすることを特徴とする請求項1に記載の半導体装置。
- 前記I/F部にレジスタを設けたことを特徴とする請求項1又は請求項2に記載の半導体装置。
- 前記入力バス及び出力バスは、チャネル型のオンチップバスであることを特徴とする請求項1〜3のいずれか1項に記載の半導体装置。
- マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、各複合機能ブロックにそれぞれI/F部をバス接続すると共に、前記I/F部を介して前記複合機能ブロック間を接続するための複数の相互接続部を設けた回路基板において、
前記相互接続部間が少なくとも一つの入力バス及び出力バスで接続され、
前記I/F部は、前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して前記相互接続部へ出力する調停部と、前記相互接続部からの入力をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを有し、
前記相互接続部は、前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有することを特徴とする回路基板。 - マスタ機能ブロックとスレーブ機能ブロックとを有する複合機能ブロックを複数配置し、これらの複合機能ブロック間におけるチャネル型バスの相互接続方法であって、
前記マスタ機能ブロックからの入力と前記スレーブ機能ブロックからの入力を調停して出力する調停部と、入力した信号をデコードした結果に基づいて前記マスタ機能ブロック又は前記スレーブ機能ブロックのいずれかに出力するデコード部とを備えたI/F部を前記複合機能ブロック毎に配置し、
前記I/F部からの入力をデコードした結果に基づいて、前記I/F部又は前記相互接続部のいずれかに出力するデコーダ部を有する相互接続部を複数配置し、
前記複合機能ブロックのマスタ機能ブロックと前記I/F部とをそれぞれ一の入力バス及び出力バスで接続し、前記複合機能ブロックのスレーブ機能ブロックと前記I/F部とそれぞれを一の入力バス及び出力バスで接続し、
前記I/Fと前記相互接続部との間をそれぞれ一の入力バス及び出力バスで接続し、
前記相互接続部間を一の入力バス及び出力バスで接続することを特徴とするチャネル型バスの相互接続方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005148986A JP2006330784A (ja) | 2005-05-23 | 2005-05-23 | 半導体装置、回路基板及びチャネル型バスの相互接続方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005148986A JP2006330784A (ja) | 2005-05-23 | 2005-05-23 | 半導体装置、回路基板及びチャネル型バスの相互接続方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006330784A true JP2006330784A (ja) | 2006-12-07 |
Family
ID=37552446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005148986A Pending JP2006330784A (ja) | 2005-05-23 | 2005-05-23 | 半導体装置、回路基板及びチャネル型バスの相互接続方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006330784A (ja) |
-
2005
- 2005-05-23 JP JP2005148986A patent/JP2006330784A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100812225B1 (ko) | 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조 | |
CN100472494C (zh) | 支持多总线多类型存储器的内存仲裁实现系统和方法 | |
US8285912B2 (en) | Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure | |
US7290075B2 (en) | Performing arbitration in a data processing apparatus | |
US8190801B2 (en) | Interconnect logic for a data processing apparatus | |
US20170063625A1 (en) | Configurable router for a network on chip (noc) | |
US8503466B2 (en) | Network on chip input/output nodes | |
US9372818B2 (en) | Proactive quality of service in multi-matrix system bus | |
US20070011382A1 (en) | Hierarchical memory access via pipelining with deferred arbitration | |
JP4621604B2 (ja) | バス装置、バスシステムおよび情報転送方法 | |
JP2002531891A (ja) | 集積回路デバイスで機能ブロックを集積化するための並行シリアルインタコネクト | |
JP6481427B2 (ja) | 演算処理装置,情報処理装置,及び情報処理装置の制御方法 | |
US7512729B2 (en) | Method and apparatus for a high efficiency two-stage rotating priority arbiter with predictable arbitration latency | |
JP2005516508A5 (ja) | ||
KR20090054793A (ko) | 멀티미디어 시스템용 SoC 시스템 | |
EP1327939A2 (en) | Ring bus system | |
TWI439864B (zh) | 包括階層式交叉開關之裝置及其操作方法 | |
CN105988968B (zh) | 半导体装置 | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
EP2014032A2 (en) | Electronic device with end-to-end flow control of messages | |
US6721816B1 (en) | Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels | |
JP4976325B2 (ja) | マルチサイクル調停を実行するデータ処理装置と方法 | |
US8619554B2 (en) | Interconnecting initiator devices and recipient devices | |
US6801978B2 (en) | Crossbar system with increased throughput | |
US7039750B1 (en) | On-chip switch fabric |