(57)【要約】【課題】転送速度の向上を図る。また、装置の小型化を図る。【解決手段】半導体装置１が備えるバスインターコネクト２は、スレーブ間接続回路３と、データ処理回路４とを有している。スレーブ間接続回路３は、複数のスレーブ回路５ａ〜５ｄ間を接続し、少なくとも２つの異なる経路を確保できる。データ処理回路４は、スレーブ回路５ａ〜５ｄのうちの所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の経路を確保する信号をスレーブ間接続回路３に出力するデータ転送経路調停部４ａと、確保された各経路により接続されるスレーブ回路５ａ〜５ｄそれぞれに対し、データ転送を行うための信号を出力する制御信号生成部４ｂとを備えている。【選択図】図１
2009080609.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ転送を同時に行う半導体装置において、
複数のスレーブ回路間を接続し、少なくとも２つの異なるデータ転送経路を確保できるスレーブ間接続回路と、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の前記経路を確保する信号を前記スレーブ間接続回路に出力するデータ転送経路調停部と、確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する制御信号生成部と、を有するデータ処理回路と、
を備えるバスインターコネクトを有することを特徴とする半導体装置。
【請求項２】
前記スレーブ間接続回路は、データ転送元とデータ転送先とがいずれも異なる前記経路を確保することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記データ処理回路は、データ転送元のリードデータ転送と、データ転送先のライトデータ転送とを同時に行うよう前記データ転送経路調停部と前記制御信号生成部とを制御することを特徴とする請求項１記載の半導体装置。
【請求項４】
複数のデータ転送を同時に行うバスインターコネクトにおいて、
複数のスレーブ回路間を接続し、少なくとも２つの異なるデータ転送経路を確保できるスレーブ間接続回路と、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の前記経路を確保する信号を前記スレーブ間接続回路に出力するデータ転送経路調停部と、確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する制御信号生成部と、を有するデータ処理回路と、
を備えることを特徴とするバスインターコネクト。
【請求項５】
複数のスレーブ回路間のデータ転送を同時に行うバスインターコネクトのデータ転送方法において、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間のデータ転送経路を確保する信号を、前記各スレーブ回路間を接続し、少なくとも２つの異なる前記経路を確保できるスレーブ間接続回路に出力し、
確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する、
ことを特徴とするバスインターコネクトのデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、バスインターコネクトおよびバスインターコネクトのデータ転送方法に関し、特に、複数のデータ転送を同時に行う半導体装置、バスインターコネクトおよびバスインターコネクトのデータ転送方法に関する。
【背景技術】
【０００２】
ＣＰＵ（Central Processing Unit）コアの処理を合理的に行うための機能としてＤＭＡＣ（Direct Memory Access Controller）が知られている。ＤＭＡＣは、メモリ上にあるまとまったデータを、バスを介して外部バスに転送する場合に、ＣＰＵコアに代わって転送処理を行う。
【０００３】
図８は、従来のＬＳＩを示す図である。
ＬＳＩ（Large Scale Integration）９０は、バスインターコネクト９１を介してＣＰＵ９２、ＤＭＡＣ（バスマスター）９３、バス調停回路９４、およびスレーブ回路９５〜９７が接続されている。
【０００４】
スレーブ回路９５からのデータ転送要求信号ＤＲＥＱがＤＭＡＣ９３において受け付けられ（ステップＳ９１）、それに対応したバス権獲得要求信号ＢＲＥＱが、バス調停回路９４に発行される（ステップＳ９２）。
【０００５】
バス調停回路９４は、データバスが使用可能な状態のときにＤＭＡＣ９３にバス使用許可信号ＢＡＣＫを発行する（ステップＳ９３）。
ＤＭＡＣ９３は、バス使用許可信号ＢＡＣＫに対する、データ転送許可信号ＤＡＣＫをスレーブ回路９５に発行する（ステップＳ９４）。また、スレーブ回路９５に対してリード動作制御を行い（ステップＳ９５）、データのリード転送を行う（ステップＳ９６）。
【０００６】
次に、スレーブ回路９６に対してライト動作制御を行い（ステップＳ９７）、データのライト転送を行い（ステップＳ９８）、一連のデータ転送動作を完了させる。
このように、従来はＤＭＡＣを介してのみ、スレーブ回路間のデータ転送が可能であり、また、データ転送元、データ転送先が異なる場合でも同時に複数のデータ転送が不可能であった。例えば、図８においては、このスレーブ回路９５からＤＭＡＣ９３を経由してスレーブ回路９６にデータ転送を行っているときに、スレーブ回路９７からデータ転送要求信号ＤＲＥＱを発行（ステップＳ９９）しても、バス使用の権利は与えられずにデータ転送を行うことができないため、転送速度が遅いという問題があった。
【０００７】
そこで、データの同時転送を行うことにより、データ転送の高速化を図るための技術が知られている（例えば、特許文献１参照。）。
【特許文献１】特開２００５−３０９７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に係る発明は、メモリを使用してデータを一時保管するため、転送速度が低下するという問題があった。また、回路規模が増大するという問題があった。
本発明はこのような点に鑑みてなされたものであり、転送速度の向上を図ることができる半導体装置、バスインターコネクトおよびバスインターコネクトのデータ転送方法を提供することを目的とする。
【０００９】
また、他の目的として装置の小型化を図ることができる半導体装置、バスインターコネクトおよびバスインターコネクトのデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では上記課題を解決するために、複数のデータ転送を同時に行う半導体装置において、複数のスレーブ回路間を接続し、少なくとも２つの異なるデータ転送経路を確保できるスレーブ間接続回路と、前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の前記経路を確保する信号を前記スレーブ間接続回路に出力するデータ転送経路調停部と、確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する制御信号生成部と、を有するデータ処理回路と、を備えるバスインターコネクトを有することを特徴とする半導体装置が提供される。
【発明の効果】
【００１１】
本発明は、バスインターコネクトが、予め経路を把握し全てのデータ転送とその制御を行うようにしたので、複数のスレーブ回路間で直接データ転送を行うことができる。これにより、転送速度の向上を図ることができる。また、装置の小型化を図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１３】
半導体装置１は、バスインターコネクト２と、複数のスレーブ回路５ａ〜５ｄを有している。
バスインターコネクト２は、スレーブ間接続回路３と、データ処理回路４とを有している。
【００１４】
スレーブ回路５ａ〜５ｄは、それぞれデータ処理回路（マスタ回路）４によって制御されるデバイスである。
スレーブ間接続回路３は、複数のスレーブ回路５ａ〜５ｄ間を接続し、少なくとも２つの異なる経路を確保できる。
【００１５】
ここで、異なる経路とは、データ転送元とデータ転送先とが共に異なる経路を言い、図１では、スレーブ回路５ａからスレーブ回路５ｂへの経路とスレーブ回路５ｃからスレーブ回路５ｄへの経路とが確保されている。
【００１６】
データ処理回路４は、データバス上のデータ転送制御とスレーブ回路５ａ〜５ｄの制御を行う機能を実現するため、データ転送経路調停部４ａと、制御信号生成部４ｂとを有している。
【００１７】
データ転送経路調停部４ａは、複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の転送経路を確保する信号をスレーブ間接続回路３に出力する。スレーブ間接続回路３は、この信号を受け取ることにより、前述した経路を確保する。
【００１８】
制御信号生成部４ｂは、確保された各経路により接続される各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する。
図１では、データ転送要求信号を出力したスレーブ回路５ａと、このスレーブ回路５ａとの間でデータ転送を行うスレーブ回路５ｂとに対してデータ転送を行うための信号を出力する。また、データ転送要求信号を出力したスレーブ回路５ｃと、このスレーブ回路５ｃとの間でデータ転送を行うスレーブ回路５ｄとに対してデータ転送を行うための信号を出力する。なお、データ処理回路４は、データ転送要求信号により、リード動作を要求しているのかライト動作を要求しているのかを予め識別しており、制御信号生成部４ｂは、この動作に即した信号を各スレーブ回路に転送する。
【００１９】
このような半導体装置１によれば、スレーブ回路５ａ、５ｃがそれぞれ出力するデータ転送要求信号がデータ処理回路４に入力される度に、データ転送経路調停部４ａにより、転送経路を確保する信号がスレーブ間接続回路３に出力される。スレーブ間接続回路３により、スレーブ回路５ａからスレーブ回路５ｂへの経路とスレーブ回路５ｃからスレーブ回路５ｄへの経路とが確保される。そして、制御信号生成部４ｂにより、スレーブ回路５ａ〜５ｄそれぞれに対し、データ転送を行うための信号が出力される。
【００２０】
これにより、スレーブ回路５ａからスレーブ回路５ｂにデータが転送されるとともに、スレーブ回路５ｃからスレーブ回路５ｄにデータが転送される。
以下、本発明の実施の形態を説明する。
【００２１】
図２は、実施の形態のバスインターコネクトの構成を示す図である。
バスインターコネクト１０は、データバス上の全てのデータ転送を制御するデータトランザクションコントローラ（DTC：Data Transaction Controller）１１と、スレーブ回路２１〜２４間のデータバスを直接接続可能とするマルチプレクサ回路（Mux-1〜Mux-4）１２〜１５とを有している。
【００２２】
また、図２中、スレーブ回路２１（Slave-1）、スレーブ回路２４（Slave-4）は、他のスレーブ回路との間でデータの転送を行う機能を備える回路である。スレーブ回路２１は、データトランザクションコントローラ１１に対し、データの転送を希望する他のスレーブ回路や、そのスレーブ回路とのデータの転送方向（リード／ライト）の情報を含むデータ転送要求信号Ｃｈ１＿ＤＲＥＱを出力する。また、スレーブ回路２４は、データトランザクションコントローラ１１に対し、データの転送を希望する他のスレーブ回路や、そのスレーブ回路とのデータの転送方向（リード／ライト）等を含むデータ転送要求信号Ｃｈ２＿ＤＲＥＱを出力する。
【００２３】
スレーブ回路２２（Slave-2）、スレーブ回路２３（Slave-3）は、例えばＳＲＡＭ（Static Random Access Memory）等のメモリで構成され、所定のデータを格納する機能を備える回路である。
【００２４】
データトランザクションコントローラ１１は、スレーブ回路２１からのデータ転送要求信号Ｃｈ１＿ＤＲＥＱ、スレーブ回路２４からのデータ転送要求信号Ｃｈ２＿ＤＲＥＱそれぞれに対応して、マルチプレクサ回路１２〜１５を制御する転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］を出力する。
【００２５】
また、データ転送を行うスレーブ回路にデータバスを割り当てるためのチップセレクト（ＣＳ）信号、データ転送を行うスレーブ回路にデータの読み出しアドレスを指示するリード動作用アドレス信号、読み出し動作の許否を制御するリード動作用制御信号、データの書き込みアドレスを指示するライト動作用アドレス信号、書き込み動作の許否を制御するライト動作用制御信号を出力する。
【００２６】
また、データ転送要求信号Ｃｈ１＿ＤＲＥＱに対しては、スレーブ回路２１が要求した回路間のデータ転送を許可するデータ転送許可信号Ｃｈ１＿ＤＡＣＫをスレーブ回路２１に出力する。データ転送要求信号Ｃｈ２＿ＤＲＥＱに対しては、スレーブ回路２４が要求した回路間のデータ転送を許可するデータ転送許可信号Ｃｈ２＿ＤＡＣＫをスレーブ回路２４に出力する。
【００２７】
マルチプレクサ回路１２〜１５は、それぞれスレーブ回路２１〜２４に対応して設けられており、データトランザクションコントローラ１１からの転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］に基づいて、対応するスレーブ回路以外の他のスレーブ回路からの入力信号のうち１つの信号を選択する。これにより、データ転送を行うスレーブ回路間の経路が確保される。
【００２８】
例えば、マルチプレクサ回路１２は、スレーブ回路２１に対応して設けられており、その入力には、スレーブ回路２２〜２４の出力が入力される。マルチプレクサ回路１２は、転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］に基づいてスレーブ回路２２〜２４の出力のうち１つを選択し、スレーブ回路２１に出力する。なお、選択ルールについては後述する。
【００２９】
スレーブ回路２１〜２４は、それぞれ、データトランザクションコントローラ１１からのチップセレクト信号、リード動作用アドレス信号、リード動作用制御信号、ライト動作用アドレス信号およびライト動作用制御信号に従って動作する。
【００３０】
このような回路構成のバスインターコネクト１０において、データトランザクションコントローラ１１は、複数データの同時転送の制御を行う。簡単に説明すると、スレーブ回路２１、２４から同時にまたは逐次、データ転送要求信号Ｃｈ１＿ＤＲＥＱ、Ｃｈ２＿ＤＲＥＱを受信すると、その要求内容に応じて各マルチプレクサ回路１２〜１５に転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］を送信して、データの転送経路を確保する。
【００３１】
例えば、図２では経路を点線で示しており、スレーブ回路２２からスレーブ回路２１へのデータ転送経路を確保し、スレーブ回路２４からスレーブ回路２３へのデータ転送経路を確保する。
【００３２】
また、スレーブ回路２１、２４にデータ転送許可信号ＤＡＣＫを出力し、スレーブ回路２１〜２４のリード動作の制御とライト動作の制御も行う。これにより、スレーブ回路２１〜２４間でデータを直接（バッファ等を介さずに）転送する。
【００３３】
図３は、マルチプレクサ回路の選択ルールを示す図である。
８ビットの転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］のうち最上位の２ビットが、マルチプレクサ回路１５の制御ビット（Ｍｕｘ−４制御ビット）を示し、次の２ビットが、マルチプレクサ回路１４の制御ビット（Ｍｕｘ−３制御ビット）を示し、次の２ビットが、マルチプレクサ回路１３の制御ビット（Ｍｕｘ−２制御ビット）を示し、最下位の２ビットが、マルチプレクサ回路１２の制御ビット（Ｍｕｘ−１制御ビット）を示している。すなわち、転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］のビット数は、マルチプレクサ回路１２〜１５（スレーブ回路２１〜２４）の個数に対応している。
【００３４】
マルチプレクサ回路１２〜１５は、自己のビット領域のビットパターンに対応する処理を行う。各ビットについて詳しく見ると、以下のようになる。
マルチプレクサ回路１５は、Ｍｕｘ−４制御ビットが“００”の場合、未選択、“０１”の場合、スレーブ回路２１（Slave-1）を選択、“１０”の場合、スレーブ回路２２（Slave-2）を選択、“１１”の場合、スレーブ回路２３（Slave-3）を選択する。
【００３５】
マルチプレクサ回路１４は、Ｍｕｘ−３制御ビットが“００”の場合、未選択、“０１”の場合、スレーブ回路２１（Slave-1）を選択、“１０”の場合、スレーブ回路２２（Slave-2）を選択、“１１”の場合、スレーブ回路２４（Slave-4）を選択する。
【００３６】
マルチプレクサ回路１３は、Ｍｕｘ−２制御ビットが“００”の場合、未選択、“０１”の場合、スレーブ回路２１（Slave-1）を選択、“１０”の場合、スレーブ回路２３（Slave-3）を選択、“１１”の場合、スレーブ回路２４（Slave-4）を選択する。
【００３７】
マルチプレクサ回路１２は、Ｍｕｘ−１制御ビットが“００”の場合、未選択、“０１”の場合、スレーブ回路２２（Slave-2）を選択、“１０”の場合、スレーブ回路２３（Slave-3）を選択、“１１”の場合、スレーブ回路２４（Slave-4）を選択する。
【００３８】
図２に示す回路を例にとると、データトランザクションコントローラ１１は、スレーブ回路２４からスレーブ回路２３へのデータ転送経路を確保するために、Ｍｕｘ−４制御ビットを“００”に設定する。Ｍｕｘ−３制御ビットを“１１”に設定する。
【００３９】
また、スレーブ回路２２からスレーブ回路２１へのデータ転送経路を確保するために、Ｍｕｘ−２制御ビットを“００”に設定し、Ｍｕｘ−１制御ビットを、“０１”に設定する。
【００４０】
従って、データトランザクションコントローラ１１は、転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］“００１１０００１”を出力する。
これにより、マルチプレクサ回路１５は、未選択となり、マルチプレクサ回路１４は、スレーブ回路２４からの信号を選択する。
【００４１】
また、マルチプレクサ回路１３は、未選択となり、マルチプレクサ回路１２は、スレーブ回路２２からの信号を選択する。
図４は、データトランザクションコントローラの回路構成を示す図である。
【００４２】
データトランザクションコントローラ１１は、チャネル制御回路１１１、１１２と、データ転送経路調停回路１１３と、ＣＳ信号生成回路１１４と、制御信号生成回路１１５とを有している。
【００４３】
チャネル制御回路１１１は、マルチプレクサ回路１２〜１５の選択ルールを有しており、スレーブ回路２１からのデータ転送要求信号Ｃｈ１＿ＤＲＥＱの内容に応じた転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］を生成し、データ転送経路調停回路１１３に出力する。
【００４４】
その後、チャネル制御回路１１１は、データ転送経路調停回路１１３から信号Ｃｈ１＿ＤＡＣＫ＿ＥＮを受け取ると、データ転送許可信号Ｃｈ１＿ＤＡＣＫを生成し、スレーブ回路２１およびデータ転送経路調停回路１１３に出力する。
【００４５】
また、リード／ライト動作許可信号ＲＤ＿ＷＲ、３２ビットのリード動作用アドレス信号ＲＡＤ［３１：０］および３２ビットのライト動作用アドレス信号ＷＡＤ［３１：０］を生成し、制御信号生成回路１１５に出力する。
【００４６】
チャネル制御回路１１２は、マルチプレクサ回路１２〜１５の選択ルールを有しており、スレーブ回路２４からデータ転送要求信号Ｃｈ２＿ＤＲＥＱの内容に応じた転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］を生成し、データ転送経路調停回路１１３に出力する。
【００４７】
その後、チャネル制御回路１１２は、データ転送経路調停回路１１３から信号Ｃｈ２＿ＤＡＣＫ＿ＥＮを受け取ると、データ転送許可信号Ｃｈ２＿ＤＡＣＫを生成し、スレーブ回路２４およびデータ転送経路調停回路１１３に出力する。
【００４８】
また、リード／ライト動作許可信号ＲＤ＿ＷＲ、リード動作用アドレス信号ＲＡＤ［３１：０］およびライト動作用アドレス信号ＷＡＤ［３１：０］を生成し、制御信号生成回路１１５に出力する。
【００４９】
データ転送経路調停回路１１３は、チャネル制御回路１１１、１１２から転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］、ＭＵＸ＿ＳＥＬ２［７：０］のいずれかを受け取ると、受け取った転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］またはＭＵＸ＿ＳＥＬ２［７：０］を転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］として出力する。
【００５０】
また、転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］を受け取り転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］として出力しているときに、転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］を受け取ると、現在出力中の転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］の各ビットに転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］の各ビットの変化を反映させて新たな転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］を生成し、出力する。
【００５１】
同様に、転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］を受け取り転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］として出力しているときに、転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］を受け取ると、現在出力中の転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］の各ビットに転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］の各ビットの変化を反映させて新たな転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］を生成し、出力する。
【００５２】
また、データ転送経路調停回路１１３は、転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］を受け取った場合、チャネル制御回路１１１に信号Ｃｈ１＿ＤＡＣＫ＿ＥＮを出力し、転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］を受け取った場合、チャネル制御回路１１２に信号Ｃｈ２＿ＤＡＣＫ＿ＥＮを出力する。
【００５３】
ＣＳ信号生成回路１１４は、転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］の変化しているビットに対応してチップセレクト信号ＣＳ＿Ｓ１〜ＣＳ＿Ｓ４を生成する。
制御信号生成回路１１５は、チャネル制御回路１１１、１１２からのリード／ライト動作許可信号ＲＤ＿ＷＲおよびリード動作用アドレス信号ＲＡＤ［３１：０］、ＷＡＤ［３１：０］並びにデータ転送経路調停回路１１３からの転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］の組合せに基づいて、適切なスレーブ回路２１〜２４へのリード動作用アドレス信号ＲＡＤ＿Ｓ４［３１：０］〜ＲＡＤ＿Ｓ１［３１：０］、リード動作用制御信号ＲＤ＿Ｓ４〜ＲＤ＿Ｓ１、ライト動作用アドレス信号ＷＡＤ＿Ｓ４［３１：０］〜ＷＡＤ＿Ｓ１［３１：０］、ライト動作用制御信号ＷＲ＿Ｓ４〜ＷＲ＿Ｓ１を生成する。
【００５４】
図５は、チャネル制御回路の構成を示す図である。
チャネル制御回路１１１、１１２の構成は等しいため、代表的にチャネル制御回路１１１の構成を示す。
【００５５】
チャネル制御回路１１１は、ＤＲＥＱ／ＤＡＣＫ制御回路１１１ａと、リード／ライト信号生成回路１１１ｂと、レジスタ１１１ｃと、リード・アドレスデコーダ１１１ｄと、ライト・アドレスデコーダ１１１ｅと、転送経路選択回路１１１ｆと、リード・アドレスカウンタ１１１ｇと、ライト・アドレスカウンタ１１１ｈと、転送データカウンタ１１１ｉと、バースト長カウンタ１１１ｊとを有している。
【００５６】
ＤＲＥＱ／ＤＡＣＫ制御回路１１１ａは、データ転送経路調停回路１１３からの信号Ｃｈ１＿ＤＡＣＫ＿ＥＮに応じて、スレーブ回路２１からのデータ転送要求信号Ｃｈ１＿ＤＲＥＱに対応するデータ転送許可信号Ｃｈ１＿ＤＡＣＫを生成する。
【００５７】
リード／ライト信号生成回路１１１ｂは、データ転送許可信号Ｃｈ１＿ＤＡＣＫに基づいて、リード／ライト動作許可信号ＲＤ＿ＷＲを生成する。
レジスタ１１１ｃには、リード・アドレス、ライト・アドレス、転送データ・サイズおよびバースト・サイズが格納されている。
【００５８】
リード・アドレスデコーダ１１１ｄは、レジスタ１１１ｃに格納されているリード・アドレスをデコードし、転送経路選択回路１１１ｆに出力する。
ライト・アドレスデコーダ１１１ｅは、レジスタ１１１ｃに格納されているライト・アドレスをデコードし、転送経路選択回路１１１ｆに出力する。
【００５９】
転送経路選択回路１１１ｆは、データ転送要求信号Ｃｈ１＿ＤＲＥＱとリード・アドレスデコーダ１１１ｄおよびライト・アドレスデコーダ１１１ｅの出力に基づいて転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］を生成する。
【００６０】
リード・アドレスカウンタ１１１ｇは、リード／ライト動作許可信号ＲＤ＿ＷＲと、レジスタ１１１ｃに格納されているリード・アドレスに基づいて、リード動作用アドレス信号ＲＡＤ［３１：０］を生成する。
【００６１】
ライト・アドレスカウンタ１１１ｈは、リード／ライト動作許可信号ＲＤ＿ＷＲと、レジスタ１１１ｃに格納されているライト・アドレスに基づいて、ライト動作用アドレス信号ＷＡＤ［３１：０］を生成する。
【００６２】
転送データカウンタ１１１ｉは、リード／ライト動作許可信号ＲＤ＿ＷＲと、レジスタ１１１ｃに格納されている転送データ・サイズに基づいて、転送データをカウントし、そのカウント信号ｄｔ＿ｃｏｕｎｔをＤＲＥＱ／ＤＡＣＫ制御回路１１１ａに出力する。
【００６３】
バースト長カウンタ１１１ｊは、リード／ライト動作許可信号ＲＤ＿ＷＲと、レジスタ１１１ｃに格納されているバースト・サイズとに基づいて、バースト長をカウントし、そのカウント信号ｂｓｔ＿ｃｏｕｎｔをＤＲＥＱ／ＤＡＣＫ制御回路１１１ａに出力する。
【００６４】
次に、バスインターコネクト１０のデータ転送方法を説明する。
以下、スレーブ回路２２からスレーブ回路２１にデータ転送を開始し、そのデータ転送途中にスレーブ回路２４からスレーブ回路２３にデータ転送を開始して同時転送を実現する場合を例にとって説明する。
【００６５】
図６は、バスインターコネクトのデータ転送方法を示す図である。
図６中、上から（ａ）〜（ｈ）は、チャネル制御回路１１１に関する信号であり、（ｉ）〜（ｐ）は、チャネル制御回路１１２に関する信号であり、（ｑ）〜（ｗ）は、データトランザクションコントローラ１１全体の信号である。
【００６６】
なお、図６中、リード／ライト動作許可信号ＲＤ＿ＷＲ（図６（ｅ）、（ｍ））、チップセレクト信号ＣＳ＿Ｓ１〜ＣＳ＿Ｓ４（図６（ｒ）、（ｕ））およびリード動作用制御信号ＲＤ＿Ｓ２、ＲＤ＿Ｓ４、ライト動作用制御信号ＷＲ＿Ｓ１、ＷＲ＿Ｓ３（図６（ｓ）、（ｖ））は、Ｌｏｗアクティブの信号である。
【００６７】
チャネル制御回路１１１は、スレーブ回路２１からのデータ転送要求信号Ｃｈ１＿ＤＲＥＱを受け取ると（図６（ａ））、ＭＵＸ＿ＳＥＬ１［７：０］信号“０００００００１ｂ”を生成し（図６（ｂ））、データ転送経路調停回路１１３に出力する。
【００６８】
データ転送経路調停回路１１３は、受け取ったＭＵＸ＿ＳＥＬ１［７：０］信号“０００００００１ｂ”に応じてＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”を出力する（図６（ｑ））。これにより、マルチプレクサ回路１２は、スレーブ回路２２からの信号を選択する。
【００６９】
また、データ転送経路調停回路１１３は、信号Ｃｈ１＿ＤＡＣＫ＿ＥＮを出力する（図６（ｃ））。
また、ＣＳ信号生成回路１１４は、ＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”を受け取ると、チップセレクト信号ＣＳ＿Ｓ１、ＣＳ＿Ｓ２を出力する（図６（ｒ））。
【００７０】
チャネル制御回路１１１が、データ転送経路調停回路１１３からの信号Ｃｈ１＿ＤＡＣＫ＿ＥＮを受け取ると、データ転送経路調停回路１１３およびスレーブ回路２１にデータ転送許可信号Ｃｈ１＿ＤＡＣＫを出力する（図６（ｄ））。
【００７１】
その後、チャネル制御回路１１１のリード／ライト信号生成回路１１１ｂは、リード／ライト動作許可信号ＲＤ＿ＷＲを制御信号生成回路１１５に出力する（図６（ｅ））。
制御信号生成回路１１５は、ＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”から、スレーブ回路２２からスレーブ回路２１へのデータ転送であると判断し、スレーブ回路２１へのライト動作用制御信号ＷＲ＿Ｓ１を生成する。また、スレーブ回路２２へのリード動作用制御信号ＲＤ＿Ｓ２を生成する（図６（ｓ））。
【００７２】
また、チャネル制御回路１１１のリード・アドレスカウンタ１１１ｇおよびライト・アドレスカウンタ１１１ｈは、リード動作用アドレス信号ＲＡＤ［３１：０］、ライト動作用アドレス信号ＷＡＤ［３１：０］を生成する（図６（ｆ）、（ｇ））。また、転送データカウンタ１１１ｉは、カウント信号ｄｔ＿ｃｏｕｎｔをＤＲＥＱ／ＤＡＣＫ制御回路１１１ａに出力する（図６（ｈ））。
【００７３】
制御信号生成回路１１５は、チャネル制御回路１１１からのライト動作用アドレス信号ＷＡＤ［３１：０］を用いてスレーブ回路２１へのライト動作用アドレス信号ＷＡＤ＿Ｓ１［３１：０］を生成し、ライト動作用制御信号ＷＲ＿Ｓ１とともにパラレル出力する。また、チャネル制御回路１１１からのリード動作用アドレス信号ＲＡＤ［３１：０］を用いてスレーブ回路２２へのリード動作用アドレス信号ＲＡＤ＿Ｓ２［３１：０］を生成し、リード動作用制御信号ＲＤ＿Ｓ２とともにパラレル出力する。
【００７４】
これにより、スレーブ回路２２からスレーブ回路２１にデータの出力が開始される（図６（ｔ））。
一方、チャネル制御回路１１２は、スレーブ回路２４からのデータ転送要求信号Ｃｈ２＿ＤＲＥＱを受け取ると（図６（ｉ））、ＭＵＸ＿ＳＥＬ２［７：０］信号“００１１００００ｂ”を出力する（図６（ｊ））。
【００７５】
これにより、データ転送経路調停回路１１３は、現在マルチプレクサ回路１２〜１５に出力している転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”に、転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］“００１１００００ｂ”を足し合わせたＭＵＸ＿ＳＥＬ［７：０］信号“００１１０００１ｂ”を出力する（図６（ｑ））。これにより、マルチプレクサ回路１４は、スレーブ回路２４からの信号を選択する。
【００７６】
また、データ転送経路調停回路１１３は、信号Ｃｈ２＿ＤＡＣＫ＿ＥＮを出力する（図６（ｋ））。
また、ＣＳ信号生成回路１１４は、ＭＵＸ＿ＳＥＬ［７：０］信号“００１１０００１ｂ”を受け取ると、チップセレクト信号ＣＳ＿Ｓ１、ＣＳ＿Ｓ２はそのままでチップセレクト信号ＣＳ＿Ｓ３、ＣＳ＿Ｓ４を出力する（図６（ｕ））。
【００７７】
チャネル制御回路１１２が、データ転送経路調停回路１１３からの信号Ｃｈ２＿ＤＡＣＫ＿ＥＮを受け取ると、データ転送経路調停回路１１３およびスレーブ回路２４にデータ転送許可信号Ｃｈ２＿ＤＡＣＫを出力する（図６（ｌ））。
【００７８】
その後、チャネル制御回路１１２のリード／ライト信号生成回路は、リード／ライト動作許可信号ＲＤ＿ＷＲを制御信号生成回路１１５に出力する（図６（ｍ））。
制御信号生成回路１１５は、ＭＵＸ＿ＳＥＬ［７：０］信号“００１１０００１ｂ”から、スレーブ回路２２からスレーブ回路２１へのデータ転送に加えてスレーブ回路２４からスレーブ回路２３へのデータ転送であると判断し、スレーブ回路２３へのライト動作用制御信号ＷＲ＿Ｓ３を生成する。また、スレーブ回路２４へのリード動作用制御信号ＲＤ＿Ｓ４を生成する（図６（ｖ））。
【００７９】
また、チャネル制御回路１１２のリード・アドレスカウンタおよびライト・アドレスカウンタは、リード動作用アドレス信号ＲＡＤ［３１：０］、ライト動作用アドレス信号ＷＡＤ［３１：０］を生成する（図６（ｎ）、（ｏ））。また、チャネル制御回路１１２の転送データカウンタは、カウント信号ｄｔ＿ｃｏｕｎｔをチャネル制御回路１１２のＤＲＥＱ／ＤＡＣＫ制御回路に出力する（図６（ｐ））。
【００８０】
制御信号生成回路１１５は、チャネル制御回路１１２からのライト動作用アドレス信号ＷＡＤ［３１：０］を用いてスレーブ回路２３へのライト動作用アドレス信号ＷＡＤ＿Ｓ３［３１：０］を生成し、ライト動作用制御信号ＷＲ＿Ｓ３とともにパラレル出力する。また、チャネル制御回路１１２からのリード動作用アドレス信号ＲＡＤ［３１：０］を用いてスレーブ回路２４へのリード動作用アドレス信号ＲＡＤ＿Ｓ４［３１：０］を生成し、リード動作用制御信号ＲＤ＿Ｓ４とともにパラレル出力する。
【００８１】
これにより、スレーブ回路２４からスレーブ回路２３へのデータの出力が開始される（図６（ｗ））。
その後、チャネル制御回路１１２は、スレーブ回路２４からのデータ転送要求信号Ｃｈ２＿ＤＲＥＱの出力が終了すると（図６（ｉ））、ＭＵＸ＿ＳＥＬ２［７：０］信号“００００００００ｂ”をデータ転送経路調停回路１１３に出力する（図６（ｊ））。
【００８２】
また、チャネル制御回路１１２のリード・アドレスカウンタおよびライト・アドレスカウンタは、リード動作用アドレス信号ＲＡＤ［３１：０］、ライト動作用アドレス信号ＷＡＤ［３１：０］の生成を終了する（図６（ｎ）、（ｏ））。また、チャネル制御回路１１２の転送データカウンタは、カウント信号ｄｔ＿ｃｏｕｎｔの生成を終了する。（図６（ｐ））。
【００８３】
これにより、スレーブ回路２４からスレーブ回路２３へのデータの出力が終了する（図６（ｗ））。
データ転送経路調停回路１１３は、現在マルチプレクサ回路１２〜１５に出力している転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］信号“００１１０００１ｂ”から、転送経路選択用信号ＭＵＸ＿ＳＥＬ２［７：０］“００１１００００ｂ”を減算したＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”を出力する（図６（ｑ））。これにより、マルチプレクサ回路１４は、未選択となる。
【００８４】
その後、チャネル制御回路１１２のリード／ライト信号生成回路は、リード／ライト動作許可信号ＲＤ＿ＷＲの制御信号生成回路１１５への出力を終了する（図６（ｍ））。
制御信号生成回路１１５は、ライト動作用制御信号ＷＲ＿Ｓ３およびリード動作用制御信号ＲＤ＿Ｓ４の生成を終了する（図６（ｖ））。
【００８５】
その後、データ転送経路調停回路１１３は、信号Ｃｈ２＿ＤＡＣＫ＿ＥＮの出力を終了する（図６（ｋ）参照）。
また、ＣＳ信号生成回路１１４は、ＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”を受け取ると、チップセレクト信号ＣＳ＿Ｓ１、ＣＳ＿Ｓ２はそのままでチップセレクト信号ＣＳ＿Ｓ３、ＣＳ＿Ｓ４の出力を終了する（図６（ｕ））。
【００８６】
チャネル制御回路１１２が、データ転送経路調停回路１１３からの信号Ｃｈ２＿ＤＡＣＫ＿ＥＮの出力の終了を受け取ると、データ転送経路調停回路１１３およびスレーブ回路２４へのデータ転送許可信号Ｃｈ２＿ＤＡＣＫの出力を終了する（図６（ｌ））。
【００８７】
その後、チャネル制御回路１１１は、スレーブ回路２１からのデータ転送要求信号Ｃｈ１＿ＤＲＥＱの出力が終了すると（図６（ａ））、ＭＵＸ＿ＳＥＬ１［７：０］信号“００００００００ｂ”をデータ転送経路調停回路１１３に出力する（図６（ｂ））。
【００８８】
また、チャネル制御回路１１１のリード・アドレスカウンタ１１１ｇおよびライト・アドレスカウンタ１１１ｈは、リード動作用アドレス信号ＲＡＤ［３１：０］、ライト動作用アドレス信号ＷＡＤ［３１：０］の生成を終了する（図６（ｆ）、（ｇ））。また、チャネル制御回路１１１の転送データカウンタ１１１ｉは、カウント信号ｄｔ＿ｃｏｕｎｔの生成を終了する。（図６（ｈ））。
【００８９】
これにより、スレーブ回路２２からスレーブ回路２１へのデータの出力が終了する（図６（ｔ））。
データ転送経路調停回路１１３は、現在マルチプレクサ回路１２〜１５に出力している転送経路選択用信号ＭＵＸ＿ＳＥＬ［７：０］信号“０００００００１ｂ”から、転送経路選択用信号ＭＵＸ＿ＳＥＬ１［７：０］“０００００００１ｂ”を減算したＭＵＸ＿ＳＥＬ［７：０］信号“００００００００ｂ”を出力する（図６（ｑ））。これにより、マルチプレクサ回路１２は、未選択となる。
【００９０】
その後、チャネル制御回路１１１のリード／ライト信号生成回路１１１ｂは、リード／ライト動作許可信号ＲＤ＿ＷＲの制御信号生成回路１１５への出力を終了する（図６（ｅ））。
【００９１】
制御信号生成回路１１５は、ライト動作用制御信号ＷＲ＿Ｓ１およびリード動作用制御信号ＲＤ＿Ｓ２の生成を終了する（図６（ｓ））。
その後、データ転送経路調停回路１１３は、信号Ｃｈ１＿ＤＡＣＫ＿ＥＮの出力を終了する（図６（ｃ））。
【００９２】
また、ＣＳ信号生成回路１１４は、ＭＵＸ＿ＳＥＬ［７：０］信号“００００００００ｂ”を受け取ると、チップセレクト信号ＣＳ＿Ｓ１、ＣＳ＿Ｓ２の出力を終了する（図６（ｒ））。
【００９３】
チャネル制御回路１１２が、データ転送経路調停回路１１３からの信号Ｃｈ１＿ＤＡＣＫ＿ＥＮの出力の終了を受け取ると、データ転送経路調停回路１１３およびスレーブ回路２１へのデータ転送許可信号Ｃｈ１＿ＤＡＣＫの出力を終了する（図６（ｄ））。
【００９４】
図７は、実施の形態のバスインターコネクトを適用した半導体装置を示す図である。
ＬＳＩ（半導体装置）１００は、バスインターコネクト１０と、バスブリッジ２０と、ＣＰＵ３０と、ＲＯＭ４０と、ＤＭＡＣ５０と、Ｉ／Ｏデバイス６０と、バッファメモリ７０とを有している。バスインターコネクト１０は、バスブリッジ２０を介してＬＳＩ１００内の各デバイスに接続されている。
【００９５】
以上述べたように、本実施の形態のバスインターコネクト１０によれば、データトランザクションコントローラ１１が、データバス上のデータ転送制御とスレーブ回路２１〜２４の制御とを行うようにしたので、ＤＭＡＣを介さずに、スレーブ回路２１〜２４間のデータ転送経路をバスインターコネクト１０内で実現することができる。これにより、複数データの同時転送を実現することができ、データ転送効率を向上させることができる。
【００９６】
また、図６に示すようなデータ転送を行うことで、データ保管用のバッファ等を用いることなく複数データの同時転送を実現することができる。
また、スレーブ回路２１〜２４間を直接接続するようにしたので、フライ・バイ転送を行うことができる。
【００９７】
以上、本発明の半導体装置、バスインターコネクトおよびバスインターコネクトのデータ転送方法を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００９８】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
（付記１）  複数のデータ転送を同時に行う半導体装置において、
複数のスレーブ回路間を接続し、少なくとも２つの異なるデータ転送経路を確保できるスレーブ間接続回路と、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の前記経路を確保する信号を前記スレーブ間接続回路に出力するデータ転送経路調停部と、確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する制御信号生成部と、を有するデータ処理回路と、
を備えるバスインターコネクトを有することを特徴とする半導体装置。
【００９９】
（付記２）  前記スレーブ間接続回路は、データ転送元とデータ転送先とがいずれも異なる前記経路を確保することを特徴とする付記１記載の半導体装置。
（付記３）  前記データ処理回路は、データ転送元のリードデータ転送と、データ転送先のライトデータ転送とを同時に行うよう前記データ転送経路調停部と前記制御信号生成部とを制御することを特徴とする付記１記載の半導体装置。
【０１００】
（付記４）  前記スレーブ間接続回路は、前記各スレーブ回路にそれぞれ対応して設けられ、当該スレーブ回路と他の前記スレーブ回路とを接続する複数の経路選択回路を有し、
前記データ転送経路調停部は、前記各経路選択回路それぞれに対し、接続する前記スレーブ回路を指定した信号を出力することを特徴とする付記１記載の半導体装置。
【０１０１】
（付記５）  前記データ処理回路は、前記転送要求信号を受け取る度に、接続する前記スレーブ回路を指定するデータを前記経路選択回路毎に設けられた固有のビット領域に格納したビット信号を出力するチャネル制御回路をさらに有し、
前記データ転送経路調停部は、前記チャネル制御回路から前記ビット信号が出力される度に、出力された前記ビット信号における前記ビット領域の変化を反映させた前記ビット信号を前記各経路選択回路に出力することを特徴とする付記４記載の半導体装置。
【０１０２】
（付記６）  複数のデータ転送を同時に行うバスインターコネクトにおいて、
複数のスレーブ回路間を接続し、少なくとも２つの異なるデータ転送経路を確保できるスレーブ間接続回路と、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間の前記経路を確保する信号を前記スレーブ間接続回路に出力するデータ転送経路調停部と、確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する制御信号生成部と、を有するデータ処理回路と、
を備えることを特徴とするバスインターコネクト。
【０１０３】
（付記７）  複数のスレーブ回路間のデータ転送を同時に行うバスインターコネクトのデータ転送方法において、
前記複数のスレーブ回路のうち、所定のスレーブ回路から他のスレーブ回路へのデータ転送を要求する転送要求信号を受け取る度に、これらのスレーブ回路間のデータ転送経路を確保する信号を、前記各スレーブ回路間を接続し、少なくとも２つの異なる前記経路を確保できるスレーブ間接続回路に出力し、
確保された前記各経路により接続される前記各スレーブ回路それぞれに対し、データ転送を行うための信号を出力する、
ことを特徴とするバスインターコネクトのデータ転送方法。
【図面の簡単な説明】
【０１０４】
【図１】本発明の概要を示す図である。
【図２】実施の形態のバスインターコネクトの構成を示す図である。
【図３】マルチプレクサ回路の選択ルールを示す図である。
【図４】データトランザクションコントローラの回路構成を示す図である。
【図５】チャネル制御回路の構成を示す図である。
【図６】バスインターコネクトのデータ転送方法を示す図である。
【図７】実施の形態のバスインターコネクトを適用した半導体装置を示す図である。
【図８】従来のＬＳＩを示す図である。
【符号の説明】
【０１０５】
１  半導体装置
２、１０  バスインターコネクト
３  スレーブ間接続回路
４  データ処理回路
４ａ  データ転送経路調停部
４ｂ  制御信号生成部
５ａ〜５ｄ、２１〜２４  スレーブ回路
１１  データトランザクションコントローラ
１２〜１５  マルチプレクサ回路
１００  ＬＳＩ
１１１、１１２  チャネル制御回路
１１３  データ転送経路調停回路
１１４  ＣＳ信号生成回路
１１５  制御信号生成回路
【図１】
2009080609.tif 000003
【図２】
2009080609.tif 000004
【図３】
2009080609.tif 000005
【図４】
2009080609.tif 000006
【図５】
2009080609.tif 000007
【図６】
2009080609.tif 000008
【図７】
2009080609.tif 000009
【図８】
2009080609.tif 000010