(57)【要約】【課題】アクセスレイテンシの最適化を図り、内部バスのパフォーマンス向上を図ることができるようにした半導体集積回路装置を提供する。【解決手段】パイプラインレジスタ２０〜２３と、セレクタ２４〜２７と、ソフトウエアからアクセス可能とされたセレクタ切替コントローラ２８を設け、パイプラインレジスタ２０〜２３の個々を経由するパスと経由しないパスを選択することができるようにし、内部バスに余分なアクセスレイテンシが発生しないようにする。【選択図】図１
2007219962.tif 000002
【特許請求の範囲】
【請求項１】
パイプラインレジスタを経由する第１のパスと、前記パイプラインレジスタを経由しない第２のパスを有し、前記第１のパス又は前記第２のパスを選択可能とされた内部バスを有することを特徴とする半導体集積回路装置。
【請求項２】
前記内部バスは、マスタを信号転送元、スレーブを信号転送先とする単方向バスであることを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記内部バスは、スレーブを信号転送元、マスタを信号転送先とする単方向バスであることを特徴とする請求項１記載の半導体集積回路装置。
【請求項４】
前記第１のパス又は前記第２のパスの選択は、ソフトウエアに基づく信号、又は、動作周波数に基づく信号、又は、どの信号転送元からどの信号転送先へのアクセスかが判別できる信号に制御されて行われることを特徴とする請求項１、２又は３記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部バスにパイプラインレジスタの挿入が可能なバスアーキテクチャーを採用する半導体集積回路装置に関する。
【背景技術】
【０００２】
近年、システムＬＳＩには高いパフォーマンスが要求されている。特に携帯電話、カーナビ、デジタル（ビデオ）カメラの組み込み用途向けＬＳＩには高いパフォーマンスが要求されている。システムＬＳＩのパフォーマンス向上には、ＣＰＵ自体のパフォーマンス向上も重要であるが、それにも増して、ＣＰＵ及びその他の回路ブロックとデータをやりとりする内部バスのパフォーマンス向上が重要である。
【０００３】
ここに、組み込み用途向けＬＳＩの内部バスのパフォーマンス向上を目指すバスアーキテクチャーとして、例えば、ＡＭＢＡ（Advanced Microcontroller Bus Architecture）のＡＸＩ（Advanced Extensive Interface）というバスアーキテクチャーが存在する。ＡＸＩは、同じくＡＭＢＡのハイパフォーマンスバスアーキテクチャーであり、多くの組み込み用途向けＬＳＩで採用されているＡＨＢ（Advanced High-performance Bus）と比較しても、高いパフォーマンスが実現できるバスアーキテクチャーである。
【０００４】
ＡＸＩの特徴としては、ハイパフォーマンスであること以外に、単方向のバスアーキテクチャーであることが挙げられる。即ち、ＡＸＩでは、マスタからスレーブへのリードアドレス、ライトアドレス、ライトデータの転送は単方向バスを用いて行われ、スレーブからマスタへのリードデータ、ライトレスポンスの転送も単方向バスを用いて行われる。
【０００５】
このように、ＡＸＩでは、単方向バスでの信号転送を行うとしているので、ＡＸＩの仕様で定義されているように、内部バスにタイミングクローズ（タイミング収束）のためのパイプラインレジスタの挿入（Register Sliceの挿入）を容易に行うことができ、これにより、最大動作周波数を上げることができ、アクセスレイテンシと動作周波数のトレードオフが可能となる。
【０００６】
図４は従来の半導体集積回路装置の一例の要部のブロック回路図である。図４中、１〜３はマスタ、４〜６はスレーブ、７〜１２はマスタ側からスレーブ側に信号転送を行う単方向バス、１３〜１８はスレーブ側からマスタ側への信号転送を行う単方向バス、１９は単方向バス７〜９と単方向バス１０〜１２間の接続及び単方向バス１３〜１５と単方向バス１６〜１８間の接続を切り替えるバス相互接続部である。
【０００７】
本例では、単方向バス７〜１８の遅延値は、単方向バス７、１６が１ｎｓ、単方向バス８、１７が３ｎｓ、単方向バス９、１８が４ｎｓ、単方向バス１０、１３が１ｎｓ、単方向バス１１、１４が２ｎｓ、単方向バス１２、１５が４ｎｓとされている。
【０００８】
図４に示す半導体集積回路装置では、最大遅延パスは、マスタ３からスレーブ６へのパス及びスレーブ６からマスタ３へのパスであり、遅延値は８ｎｓである。ここで、マスタとスレーブ間の信号転送及びスレーブとマスタ間の信号転送は、１クロックサイクル以内で行われる必要がある。この結果、図４に示す半導体集積回路装置では、内部バスの動作周波数の上限は、１２５ＭＨzとなる。
【０００９】
図５は従来の半導体集積回路装置の他の例の要部のブロック回路図である。この半導体集積回路装置は、単方向バス９、１２、１５、１８のそれぞれの中間にパイプラインレジスタ２０、２１、２２、２３を挿入し、その他については、図４に示す半導体集積回路装置と同様に構成したものである。
【００１０】
図５に示す半導体集積回路装置では、最大遅延パスは、マスタ２からスレーブ５へのパス及びスレーブ５からマスタ２へのパスであり、遅延値は５ｎｓである。この結果、図５に示す半導体集積回路装置では、バスの動作周波数の上限は、２００ＭＨzとなる。
【００１１】
なお、マスタ３からスレーブ６へのパスには、パイプラインレジスタ２０、２１が挿入されているため、３クロックサイクルのアクセスレイテンシがかかるものの、マスタ３からスレーブ６へのパスは、最大遅延パスにはならない。
【００１２】
また、スレーブ６からマスタ３へのパスには、パイプラインレジスタ２２、２３が挿入されているため、３クロックサイクルのアクセスレイテンシがかかるものの、スレーブ６からマスタ３へのパスは、最大遅延パスにはならない。
【００１３】
このように、図５に示す従来の半導体集積回路装置によれば、マスタ側からスレーブ側へのアクセスレイテンシ及びスレーブ側からマスタ側へのアクセスレイテンシが大きくなるが、動作周波数を高くすることができ、結果として、トータルのパフォーマンスを向上させることができる。
【特許文献１】特開平９−２０５４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、単方向バス９、１２、１５、１８に対するパイプラインレジスタ２０、２１、２２、２３の挿入は論理設計段階で行う必要があり、このため、図５に示す従来の半導体集積回路装置には、以下に述べる第１〜第３の問題点がある。
【００１５】
第１の問題点は、半導体集積回路装置が製造されるまで、動作周波数とアクセスレイテンシのトレードオフが決まっていない場合があり、パイプラインレジスタを挿入した場合と、パイプラインレジスタを挿入しない場合とで、どちらがトータルパフォーマンスの点で有利かは、実際に半導体集積回路装置を製造して、その半導体集積回路装置上でソフトウエアを実行するまで分からない場合が多く、余分なアクセスレイテンシが発生してしまう場合があるという点である。
【００１６】
第２の問題点は、低消費電力のために、ギア機能により動作周波数を一時的に低下させた場合、その周波数では必要がないパイプラインレジスタのために、本来必要でないアクセスレイテンシが追加されてしまう場合があるという点である。例えば、最大動作周波数を２００ＭＨzから１２５ＭＨzに低下させた場合、パイプラインレジスタ２０〜２３は必要がなく、本来必要でないアクセスレイテンシが追加されてしまうことになる。
【００１７】
第３の問題点は、同一の単方向バスであっても、信号転送元又は信号転送先がどこであるかにより、パイプラインレジスタが必要な場合と不要な場合があり、パイプラインレジスタが不要な場合には余分なアクセスレイテンシが追加されてしまうという点である。
【００１８】
例えば、２００ＭＨzで動作させる場合、パイプラインレジスタ２１、２２は、マスタ２とスレーブ６間の信号転送にはタイミングクローズのために必要であるが、マスタ１とスレーブ６間の信号転送には必要ではなく、マスタ１とスレーブ６間のパスには余分なアクセスレイテンシが追加されてしまうことになる。
【００１９】
本発明は、かかる点に鑑み、アクセスレイテンシの最適化を図り、内部バスのパフォーマンス向上を図ることができるようにした半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の半導体集積回路装置は、パイプラインレジスタを経由する第１のパスと、前記パイプラインレジスタを経由しない第２のパスを有し、第１のパス又は第２のパスを選択可能とされた内部バスを有するものである。
【発明の効果】
【００２１】
本発明によれば、パイプラインレジスタを経由する第１のパス又はパイプラインレジスタを経由しない第２のパスを選択可能とされた内部バスを有するので、第１のパス又は第２のパスを選択制御することにより、アクセスレイテンシの最適化を図り、内部バスのパフォーマンス向上を図ることができる。
【発明を実施するための最良の形態】
【００２２】
（第１実施形態）
図１は本発明の第１実施形態の要部のブロック回路図である。本発明の第１実施形態は、図５に示す従来の半導体集積回路装置を改良したものであり、セレクタ２４〜２７と、セレクタ２４〜２７の切り替え動作を制御するセレクタ切替コントローラ２８を備えている。
【００２３】
本発明の第１実施形態では、単方向バス９を単方向バス９Ａ、９Ｂ、９Ｃに分割すると共に、単方向バス９Ａから単方向バス９Ｄを分岐し、単方向バス９Ａ、９Ｂ間にパイプラインレジスタ２０を接続し、セレクタ２４は、第１入力部２４Ａに単方向バス９Ｂを接続し、第２入力部２４Ｂに単方向バス９Ｄを接続し、出力部２４Ｃを単方向バス９Ｃに接続している。
【００２４】
また、単方向バス１２を単方向バス１２Ａ、１２Ｂ、１２Ｃに分割すると共に、単方向バス１２Ａから単方向バス１２Ｄを分岐し、単方向バス１２Ａ、１２Ｂ間にパイプラインレジスタ２１を接続し、セレクタ２５は、第１入力部２５Ａに単方向バス１２Ｂを接続し、第２入力部２５Ｂに単方向バス１２Ｄを接続し、出力部２５Ｃを単方向バス１２Ｃに接続している。
【００２５】
また、単方向バス１５を単方向バス１５Ａ、１５Ｂ、１５Ｃに分割すると共に、単方向バス１５Ａから単方向バス１５Ｄを分岐し、単方向バス１５Ａ、１５Ｂ間にパイプラインレジスタ２２を接続し、セレクタ２６は、第１入力部２６Ａに単方向バス１５Ｂを接続し、第２入力部２６Ｂに単方向バス１５Ｄを接続し、出力部２６Ｃを単方向バス１５Ｃに接続している。
【００２６】
また、単方向バス１８を単方向バス１８Ａ、１８Ｂ、１８Ｃに分割すると共に、単方向バス１８Ａから単方向バス１８Ｄを分岐し、単方向バス１８Ａ、１８Ｂ間にパイプラインレジスタ２３を接続し、セレクタ２７は、第１入力部２７Ａに単方向バス１８Ｂを接続し、第２入力部２７Ｂに単方向バス１８Ｄを接続し、出力部２７Ｃを単方向バス１８Ｃに接続している。
【００２７】
セレクタ切替コントローラ２８は、ソフトウエアによりアクセス可能とし、ソフトウエアに基づいてセレクタ２４〜２７に与える選択制御信号ＳＣ１〜ＳＣ４を生成し、これら選択制御信号ＳＣ１〜ＳＣ４でセレクタ２４〜２７の切り替え動作を制御するように構成されている。その他については、図５に示す従来の半導体集積回路装置と同様に構成している。
【００２８】
本発明の第１実施形態では、セレクタ２４が第１入力部２４Ａと出力部２４Ｃとを接続すると、単方向バス９Ａ、パイプラインレジスタ２０、単方向バス９Ｂ、セレクタ２４及び単方向バス９Ｃからなるパスが有効となる。これに対して、セレクタ２４が第２入力部２４Ｂと出力部２４Ｃとを接続すると、単方向バス９Ａの始端から分岐点までの部分、単方向バス９Ｄ、セレクタ２４及び単方向バス９Ｃからなるパスが有効となる。
【００２９】
また、セレクタ２５が第１入力部２５Ａと出力部２５Ｃとを接続すると、単方向バス１２Ａ、パイプラインレジスタ２１、単方向バス１２Ｂ、セレクタ２５及び単方向バス１２Ｃからなるパスが有効となる。これに対して、セレクタ２５が第２入力部２５Ｂと出力部２５Ｃとを接続すると、単方向バス１２Ａの始端から分岐点までの部分、単方向バス１２Ｄ、セレクタ２５及び単方向バス１２Ｃからなるパスが有効となる。
【００３０】
また、セレクタ２６が第１入力部２６Ａと出力部２６Ｃとを接続すると、単方向バス１５Ａ、パイプラインレジスタ２２、単方向バス１５Ｂ、セレクタ２６及び単方向バス１５Ｃからなるパスが有効となる。これに対して、セレクタ２６が第２入力部２６Ｂと出力部２６Ｃとを接続すると、単方向バス１５Ａの始端から分岐点までの部分、単方向バス１５Ｄ、セレクタ２６及び単方向バス１５Ｃからなるパスが有効となる。
【００３１】
また、セレクタ２７が第１入力部２７Ａと出力部２７Ｃとを接続すると、単方向バス１８Ａ、パイプラインレジスタ２３、単方向バス１８Ｂ、セレクタ２７及び単方向バス１８Ｃからなるパスが有効となる。これに対して、セレクタ２７が第２入力部２７Ｂと出力部２７Ｃとを接続すると、単方向バス１８Ａの始端から分岐点までの部分、単方向バス１８Ｄ、セレクタ２７及び単方向バス１８Ｃからなるパスが有効となる。
【００３２】
また、本発明の第１実施形態では、単方向バス９Ａの遅延値は２ｎｓ、単方向バス９Ｂと、セレクタ２４の第１入力部２４Ａと出力部２４Ｃ間と、単方向バス９Ｃの合計遅延値は２ｎｓ、単方向バス９Ａの始端から分岐点までの部分と、単方向バス９Ｄとセレクタ２４の第２入力部２４Ｂと出力部２４Ｃ間と、単方向バス９Ｃの合計遅延値は４ｎｓとしている。
【００３３】
また、単方向バス１２Ａの遅延値は２ｎｓ、単方向バス１２Ｂと、セレクタ２５の第１入力部２５Ａと出力部２５Ｃ間と、単方向バス１２Ｃの合計遅延値は２ｎｓ、単方向バス１２Ａの始端から分岐点までの部分と、単方向バス１２Ｄと、セレクタ２５の第２入力部２５Ｂと出力部２５Ｃ間と、単方向バス１２Ｃの合計遅延値は４ｎｓとしている。
【００３４】
また、単方向バス１５Ａの遅延値は２ｎｓ、単方向バス１５Ｂと、セレクタ２６の第１入力部２６Ａと出力部２６Ｃ間と、単方向バス１５Ｃの合計遅延値は２ｎｓ、単方向バス１５Ａの始端から分岐点までの部分と、単方向バス１５Ｄとセレクタ２６の第２入力部２６Ｂと出力部２６Ｃ間と、単方向バス１５Ｃの合計遅延値は４ｎｓとしている。
【００３５】
また、単方向バス１８Ａの遅延値は２ｎｓ、単方向バス１８Ｂと、セレクタ２７の第１入力部２７Ａと出力部２７Ｃ間と、単方向バス１８Ｃの合計遅延値は２ｎｓ、単方向バス１８Ａの始端から分岐点までの部分と、単方向バス１８Ｄと、セレクタ２７の第２入力部２７Ｂと出力部２７Ｃ間と、単方向バス１８Ｃの合計遅延値は４ｎｓとしている。
【００３６】
そこで、本発明の第１実施形態では、動作周波数を、例えば、２００ＭＨzとする場合には、最大遅延パスの遅延値が５ｎｓとなるように、セレクタ切替コントローラ２８を介してセレクタ２４〜２７を制御する。
【００３７】
即ち、例えば、マスタ１とスレーブ６間で信号転送が行われる場合には、セレクタ２５では第２入力部２５Ｂと出力部２５Ｃとが接続されるようにセレクタ２５を制御し、セレクタ２６では第２入力部２６Ｂと出力部２６Ｃとが接続されるようにセレクタ２６を制御する。このようにすると、マスタ１とスレーブ６間の遅延値は５ｎｓとなり、マスタ１とスレーブ６間の信号転送にパイプラインレジスタ２１、２２を使用しなくとも、タイミングクローズの問題は生じない。
【００３８】
また、マスタ２とスレーブ６間で信号転送が行われる場合に、セレクタ２５では第２入力部２５Ｂと出力部２５Ｃとが接続され、セレクタ２６では第２入力部２６Ｂと出力部２６Ｃとが接続されると、マスタ２とスレーブ６間の遅延値は７ｎｓとなり、タイミングクローズの問題が生じる。
【００３９】
そこで、マスタ２とスレーブ６間で信号転送が行われる場合には、セレクタ２５では第１入力部２５Ａと出力部２５Ｃとが接続されるようにセレクタ２５を制御し、セレクタ２６では第１入力部２６Ａと出力部２６Ｃとが接続されるようにセレクタ２６を制御する。このようにすると、マスタ２とスレーブ６間のパスには２クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００４０】
また、マスタ３とスレーブ４間で信号転送が行われる場合には、セレクタ２４では第２入力部２４Ｂと出力部２４Ｃとが接続されるようにセレクタ２４を制御し、セレクタ２７では第２入力部２７Ｂと出力部２７Ｃとが接続されるようにセレクタ２７を制御する。このようにすると、マスタ３とスレーブ４間の遅延値は５ｎｓとなり、マスタ３とスレーブ４間の信号転送にパイプラインレジスタ２０、２３を使用しなくとも、タイミングクローズの問題は生じない。
【００４１】
また、マスタ３とスレーブ５間で信号転送が行われる場合に、セレクタ２４では第２入力部２４Ｂと出力部２４Ｃとが接続され、セレクタ２７では第２入力部２７Ｂと出力部２７Ｃとが接続されると、マスタ３とスレーブ５間の遅延値は６ｎｓとなり、タイミングクローズの問題が生じる。
【００４２】
そこで、マスタ３とスレーブ５間で信号転送が行われる場合には、セレクタ２４では第１入力部２４Ａと出力部２４Ｃとが接続されるようにセレクタ２４を制御し、セレクタ２７では第１入力部２７Ａと出力部２７Ｃとが接続されるようにセレクタ２７を制御する。このようにすると、マスタ３とスレーブ５間のパスには２クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００４３】
また、マスタ３とスレーブ６間で信号転送が行われる場合に、セレクタ２４では第２入力部２４Ｂと出力部２４Ｃとが接続され、セレクタ２５では第２入力部２５Ｂと出力部２５Ｃとが接続され、セレクタ２６では第２入力部２６Ｂと出力部２６Ｃとが接続され、セレクタ２７では第２入力部２７Ｂと出力部２７Ｃとが接続されると、マスタ３とスレーブ６間の遅延値は８ｎｓとなり、タイミングクローズの問題が生じる。
【００４４】
そこで、マスタ３とスレーブ６間で信号転送が行われる場合には、セレクタ２４では第１入力部２４Ａと出力部２４Ｃとが接続されるようにセレクタ２４を制御し、セレクタ２５では第１入力部２５Ａと出力部２５Ｃとが接続されるようにセレクタ２５を制御し、セレクタ２６では第１入力部２６Ａと出力部２６Ｃとが接続されるようにセレクタ２６を制御し、セレクタ２７では第１入力部２７Ａと出力部２７Ｃとが接続されるようにセレクタ２７を制御する。このようにすると、マスタ３とスレーブ６間のパスには３クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００４５】
以上のように、本発明の第１実施形態によれば、パイプラインレジスタ２０〜２３とセレクタ２４〜２７とセレクタ切替コントローラ２８を設け、パイプラインレジスタ２０〜２３の個々を経由するパスと経由しないパスを選択することができるようにされているので、余分なアクセスレイテンシが発生しないようにすることができ、前述の第１の問題点を解消して内部バスのパフォーマンス向上を図ることができる。
【００４６】
（第２実施形態）
図２は本発明の第２実施形態の要部のブロック回路図である。本発明の第２実施形態は、マスタ１〜３、スレーブ４〜６、バス相互接続部１９及びパイプラインレジスタ２０〜２３に供給するクロックの周波数を変更できるようにしたクロックコントローラ２９を設けている。また、クロックコントローラ２９において、３０は周波数値保持手段であり、マスタ１〜３、スレーブ４〜６、バス相互接続部１９及びパイプラインレジスタ２０〜２３に供給するクロックの周波数値を保持するものである。
【００４７】
また、本発明の第２実施形態では、図１に示す本発明の第１実施形態が備えるセレクタ切替コントローラ２８を設けず、この代わりに、クロックコントローラ２９内の周波数値保持手段３０が保持するクロックの周波数値をデコードしてセレクタ２４〜２７に対する選択制御信号ＳＣ１〜ＳＣ４を生成するデコーダ３１を設けている。その他については、図１に示す本発明の第１実施形態と同様に構成している。
【００４８】
本発明の第２実施形態では、動作周波数を、例えば、１２５ＭＨzとする場合には、最大遅延パスの遅延値が８ｎｓとなるようにセレクタ２４〜２７が制御される。即ち、セレクタ２４では第２入力部２４Ｂと出力部２４Ｃとが接続され、セレクタ２５では第２入力部２５Ｂと出力部２５Ｃとが接続され、セレクタ２６では第２入力部２６Ｂと出力部２６Ｃとが接続され、セレクタ２７では第２入力部２７Ｂと出力部２７Ｃとが接続されるように、セレクタ２４〜２７が制御される。この場合、最大遅延パスは、マスタ３とスレーブ６間のパスであり、遅延値は８ｎｓである。この結果、タイミングクローズの問題は生じない。
【００４９】
また、動作周波数を、例えば、１６６ＭＨzとする場合には、最大遅延パスの遅延値が６ｎｓとなるようにセレクタ２４〜２７が制御される。即ち、セレクタ２４では第２入力部２４Ｂと出力部２４Ｃとが接続され、セレクタ２５では第１入力部２５Ａと出力部２５Ｃとが接続され、セレクタ２６では第１入力部２６Ａと出力部２６Ｃとが接続され、セレクタ２７では第２入力部２７Ｂと出力部２７Ｃとが接続されるように、セレクタ２４〜２７が制御される。
【００５０】
この場合、マスタ３とスレーブ４間のパス及びマスタ３とスレーブ５間のパスには２クロックサイクルのアクセスレイテンシが追加され、マスタ３とスレーブ６間のパスには３クロックサイクルのアクセスレイテンシが追加されることになるが、最大遅延パスは、マスタ３とスレーブ５間となり、最大遅延値を６ｎｓに抑えることができる。
【００５１】
また、動作周波数を、例えば、２００ＭＨzとする場合には、最大遅延パスの遅延値が５ｎｓとなるようにセレクタ２４〜２７が制御される。即ち、セレクタ２４では第１入力部２４Ａと出力部２４Ｃとが接続され、セレクタ２５では第１入力部２５Ａと出力部２５Ｃとが接続され、セレクタ２６では第１入力部２６Ａと出力部２６Ｃとが接続され、セレクタ２７では第１入力部２７Ａと出力部２７Ｃとが接続されるように、セレクタ２４〜２７が制御される。
【００５２】
この場合、マスタ１とマスタ６間のパス、マスタ２とスレーブ６間のパス、マスタ３とスレーブ４間のパス及びマスタ３とスレーブ５間のパスには２クロックサイクルのアクセスレイテンシが追加され、マスタ３とスレーブ６間のパスには３クロックサイクルのアクセスレイテンシが追加されることになるが、最大遅延パスは、マスタ２とスレーブ５間となり、最大遅延値を５ｎｓに抑えることができる。
【００５３】
以上のように、本発明の第２実施形態によれば、パイプラインレジスタ２０〜２３とセレクタ２４〜２７とデコーダ３１を設け、パイプラインレジスタ２０〜２３の個々を経由するパスと経由しないパスを選択することができるようにしているので、動作周波数に応じてアクセスレイテンシが最小となるようにすることができ、前述の第２の問題点を解消して内部バスのパフォーマンス向上を図ることができる。
【００５４】
（第３実施形態）
図３は本発明の第３実施形態の要部のブロック回路図である。本発明の第３実施形態では、マスタ１〜３は、リードアドレス又はライトアドレス及びライトデータを出力する際に、任意に値を決定できる信号（以下、ＩＤ信号という）を出力するようにし、このＩＤ信号をアクセス元のマスタ及びアクセス先のスレーブを示す信号として使用し、スレーブ４〜６は、リードデータやライトレスポンスを出力する際に、アクセス元のマスタから受け取ったＩＤ信号をアクセス元のマスタに向けて出力するように構成される。
【００５５】
図３中、３２〜４３はＩＤ信号線であり、本発明の第３実施形態では、バス相互接続部１９は、単方向バス７〜９と単方向バス１０〜１２間の接続及び単方向バス１３〜１５と単方向バス１６〜１８間の接続の切り替えのみならず、ＩＤ信号線３２〜３４とＩＤ信号線３５〜３７間の接続及びＩＤ信号線３８〜４０とＩＤ信号線４１〜４３との接続の切り替えを行う。
【００５６】
また、セレクタ２４は、マスタ３が出力するＩＤ信号線３４上のＩＤ信号を選択制御信号として入力し、これをデコードして選択動作を行うように構成される。セレクタ２５は、バス相互接続部１９が出力するＩＤ信号線３７上のＩＤ信号を選択制御信号として入力し、これをデコードして選択動作を行うように構成される。
【００５７】
セレクタ２６は、スレーブ６が出力するＩＤ信号線４０上のＩＤ信号を選択制御信号として入力し、これをデコードして選択動作を行うように構成される。セレクタ２７は、バス相互接続部１９が出力するＩＤ信号線４３上のＩＤ信号を選択制御信号として入力し、これをデコードして選択動作を行うように構成される。
【００５８】
本発明の第３実施形態では、動作周波数を、例えば、２００ＭＨzとする場合には、最大遅延パスの遅延値が５ｎｓとなるように、ＩＤ信号によってセレクタ２４〜２７が制御される。
【００５９】
即ち、例えば、マスタ１とスレーブ６間で信号転送が行われる場合には、マスタ１は、リードアドレス又はライトアドレス及びライトデータを出力する際に、アクセス元がマスタ１、アクセス先がスレーブ６であることを示すＩＤ信号をＩＤ信号線３２に出力する。このＩＤ信号は、バス相互接続部１９及びＩＤ信号線３７を経由してセレクタ２５に選択制御信号として与えられる。これにより、セレクタ２５は、スレーブ６へのアクセスがマスタ１からのものであることを知り、第２入力部２５Ｂと出力部２５Ｃとを接続する。
【００６０】
また、スレーブ６は、マスタ１に向けてリードデータやライトレスポンスを出力する際に、マスタ１から受け取ったＩＤ信号をＩＤ信号線４０に出力する。このＩＤ信号は、セレクタ２６に選択制御信号として与えられる。これにより、セレクタ２６は、スレーブ６へのアクセス元がマスタ１であることを知り、第２入力部２６Ｂと出力部２６Ｃとを接続する。
【００６１】
この結果、マスタ１とスレーブ６間の遅延値は５ｎｓとなり、マスタ１とスレーブ６間の信号転送にパイプラインレジスタ２１、２２を使用しなくとも、タイミングクローズの問題は生じない。
【００６２】
また、マスタ２とスレーブ６間で信号転送が行われる場合には、マスタ２は、リードアドレス又はライトアドレス及びライトデータを出力する際に、アクセス元がマスタ２、アクセス先がスレーブ６であることを示すＩＤ信号をＩＤ信号線３３に出力する。このＩＤ信号は、バス相互接続部１９及びＩＤ信号線３７を経由してセレクタ２５に選択制御信号として与えられる。これにより、セレクタ２５は、スレーブ６へのアクセス元がマスタ２であることを知り、第１入力部２５Ａと出力部２５Ｃとを接続する。
【００６３】
また、スレーブ６は、マスタ２に向けてリードデータやライトレスポンスを出力する際に、マスタ２から受け取ったＩＤ信号をＩＤ信号線４０に出力する。このＩＤ信号は、セレクタ２６に選択制御信号として与えられる。これにより、セレクタ２６は、スレーブ６へのアクセス元がマスタ２であることを知り、第１入力部２６Ａと出力部２６Ｃとを接続する。
【００６４】
この結果、マスタ２とスレーブ６間の信号転送には、パイプラインレジスタ２１、２２が使用されることになるので、２クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００６５】
また、マスタ３とスレーブ４間で信号転送が行われる場合には、マスタ３は、リードアドレス又はライトアドレス及びライトデータを出力する際に、アクセス元がマスタ３、アクセス先がスレーブ４であることを示すＩＤ信号をＩＤ信号線３４に出力する。このＩＤ信号は、セレクタ２４に選択制御信号として与えられる。これにより、セレクタ２４は、マスタ３のアクセス先がスレーブ４であることを知り、第２入力部２４Ｂと出力部２４Ｃとを接続する。
【００６６】
また、スレーブ４は、マスタ３に向けてリードデータやライトレスポンスを出力する際に、マスタ３から受け取ったＩＤ信号をＩＤ信号線３８に出力する。このＩＤ信号は、バス相互接続部１９及びＩＤ信号線４３を介してセレクタ２７に選択制御信号として与えられる。これにより、セレクタ２７は、マスタ３のアクセス先がスレーブ４であることを知り、第２入力部２７Ｂと出力部２７Ｃとを接続する。
【００６７】
この結果、マスタ３とスレーブ４間の遅延値は５ｎｓとなり、マスタ３とスレーブ４間の信号転送にパイプラインレジスタ２０、２３を使用しなくとも、タイミングクローズの問題は生じない。
【００６８】
また、マスタ３とスレーブ５間で信号転送が行われる場合、マスタ３は、リードアドレス又はライトアドレス及びライトデータを出力する際に、アクセス元がマスタ３、アクセス先がスレーブ５であることを示すＩＤ信号をＩＤ信号線３４に出力する。このＩＤ信号は、セレクタ２４に選択制御信号として与えられる。これにより、セレクタ２４は、マスタ３のアクセス先がマスタ５であることを知り、第１入力部２４Ａと出力部２４Ｃとを接続する。
【００６９】
また、スレーブ５は、マスタ３に向けてリードデータやライトレスポンスを出力する際に、マスタ３から受け取ったＩＤ信号をＩＤ信号線３９に出力する。このＩＤ信号は、バス相互接続部１９及びＩＤ信号線４３を介してセレクタ２７に選択制御信号として与えられる。これにより、セレクタ２７は、マスタ３のアクセス先がスレーブ５であることを知り、第２入力部２７Ａと出力部２７Ｃとを接続する。
【００７０】
この結果、マスタ３とスレーブ５間の信号転送には、パイプラインレジスタ２０、２３が使用されることになるので、２クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００７１】
また、マスタ３とスレーブ６間で信号転送が行われる場合には、マスタ３は、リードアドレス又はライトアドレス及びライトデータを出力する際に、アクセス元がマスタ３、アクセス先がスレーブ６であることを示すＩＤ信号をＩＤ信号線３４に出力する。このＩＤ信号は、セレクタ２４に選択制御信号として与えられる。これにより、セレクタ２４は、マスタ３のアクセス先がマスタ６であることを知り、第１入力部２４Ａと出力部２４Ｃとを接続する。
【００７２】
また、マスタ３が出力したＩＤ信号は、バス相互接続部１９及びＩＤ信号線３７を介してセレクタ２５に選択制御信号として与えられる。これにより、セレクタ２５は、スレーブ６へのアクセス元がマスタ３であることを知り、第１入力部２５Ａを出力部２５Ｃに接続する。
【００７３】
また、スレーブ６は、マスタ３に向けてリードデータやライトレスポンスを出力する際に、マスタ３から受け取ったＩＤ信号をＩＤ信号線４０に出力する。このＩＤ信号は、セレクタ２６に選択制御信号として与えられる。これにより、セレクタ２６は、スレーブ６へのアクセス元がマスタ３であることを知り、第１入力部２６Ａと出力部２６Ｃとを接続する。
【００７４】
また、スレーブ６が出力したＩＤ信号は、バス相互接続部１９及びＩＤ信号線４３を介してセレクタ２７に選択制御信号として与えられる。これにより、セレクタ２７は、マスタ３のアクセス先がスレーブ６であることを知り、第１入力部２７Ａを出力部２７Ｃに接続する。
【００７５】
この結果、マスタ３とスレーブ６間の信号転送には、パイプラインレジスタ２０〜２３が使用されることになるので、３クロックサイクルのアクセスレイテンシが追加されることになるが、タイミングクローズを行うことができる。
【００７６】
以上のように、本発明の第３実施形態によれば、セレクタ２４にはＩＤ信号線３４上のＩＤ信号を選択制御信号として与え、セレクタ２５にはＩＤ信号線３７上のＩＤ信号を選択制御信号として与え、セレクタ２６にはＩＤ信号線４０上のＩＤ信号を選択制御信号として与え、セレクタ２７にはＩＤ信号線４３上のＩＤ信号を選択制御信号として与えるようにし、パイプラインレジスタ２０〜２３の個々を経由するパスと経由しないパスを選択することができるようにしているので、不要なアクセスレイテンシが発生しないようにでき、前述の第３の問題点を解消して内部バスのパフォーマンス向上を図ることができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１実施形態の要部のブロック回路図である。
【図２】本発明の第２実施形態の要部のブロック回路図である。
【図３】本発明の第３実施形態の要部のブロック回路図である。
【図４】従来の半導体集積回路装置の一例の要部のブロック回路図である。
【図５】従来の半導体集積回路装置の他の例の要部のブロック回路図である。
【符号の説明】
【００７８】
１〜３…マスタ
４〜６…スレーブ
７〜１８…単方向バス
１９…バス相互接続部
２０〜２３…パイプラインレジスタ
２４〜２７…セレクタ
２８…セレクタ切替コントローラ
２９…クロックコントローラ
３０…周波数値保持手段
３１…デコーダ
【図１】
2007219962.tif 000003
【図２】
2007219962.tif 000004
【図３】
2007219962.tif 000005
【図４】
2007219962.tif 000006
【図５】
2007219962.tif 000007