(57)【要約】  【課題】  信号遅延の削減を図る。  【解決手段】  ＣＰＵ１１と周辺回路３１〜３４とを接続するバスシステムにおいて、周辺回路３１〜３４とＣＰＵ１１との間で信号の送信又は受信を行うフリップフロップ４１〜４４と、該フリップフロップ４１〜４４をシフトレジスタが構成されるように接続する接続手段５１、５２とを備え、ＣＰＵ１１を周辺回路３１〜３４の内の最も高速応答が要求される周辺回路３１に対応するフリップフロップ４１に接続する。【選択図】  図１
2007004424.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと複数の周辺回路との間を接続するバスシステムにおいて、
前記複数の周辺回路との間で信号の転送を個々に行うよう設けた複数のフリップフロップと、該複数のフリップフロップをシフトレジスタが構成されるように接続する接続手段とを備え、前記複数の周辺回路の内の最も高速応答が要求される周辺回路に対応する前記フリップフロップが前記ＣＰＵとの間で最初に信号転送を行うようにしたことを特徴とするバスシステム。
【請求項２】
請求項１に記載のバスシステムにおいて、
前記複数のフリップフロップの内の少なくとも１個のフリップフロップの入力側に、２個の入力の内の１つを選択する２−１セレクタを設けたことを特徴とするバスシステム。
【請求項３】
請求項２に記載のバスシステムにおいて、
前記ＣＰＵの他にバスマスタを備え、前記接続手段により前記複数のフリップフロップがリング状のシフトレジスタが構成されるように接続し、前記複数のフリップフロップの内の前記ＣＰＵへの接続を前記リング状の接続と前記ＣＰＵへの接続を切り替える第１の２−１セレクタを介して行い、前記複数のフリップフロップの内の前記バスマスタへの接続を前記リング状の接続と前記バスマスタへの接続を切り替える第２の２−１セレクタを介して行ったことを特徴とするバスシステム。
【請求項４】
請求項１に記載のバスシステムにおいて、
前記複数のフリップフロップの入力は前記複数の周辺回路に個々に２個の入力の内の１つを選択する２−１セレクタを介して接続され、該個々の２−１セレクタが前記シフトレジスタの接続を行う前記接続手段を構成するようにしたことを特徴とするバスシステム。
【請求項５】
請求項４に記載のバスシステムにおいて、
前記ＣＰＵの他にバスマスタを備え、前記複数の２−１セレクタにより前記複数のフリップフロップがリング状のシフトレジスタが構成されるように接続し、前記周辺回路の内の前記ＣＰＵに対する最も高速応答が要求される周辺回路に対応する前記フリップフロップを前記ＣＰＵに接続し、前記周辺回路の内の前記バスマスタに対する最も高速応答が要求される周辺回路に対応する前記フリップフロップを前記バスマスタに接続したことを特徴とするバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号転送の遅延時間の短縮を図ったバスシステムに関するものである。
【背景技術】
【０００２】
システムＬＳＩの開発において、ＣＰＵと周辺回路の構成が複雑（例えばビット数増大等）となり、それらを接続するバスシステムへの負担が大きくなってきている。その結果、バスシステムでの信号遅延がシステム全体の性能を左右することになり、バスシステムの遅延時間を削減することが必要となってきている。
【０００３】
そこで、従来では、図２に示すように、ＣＰＵ１０１と周辺回路３０１〜３０５を接続する場合において、ＣＰＵ１０１に直接接続される回路を例えば周辺回路３０１〜３０３とバスブリッジ６０１の４個に制限してこれらを１次バスで接続し、残りの周辺回路３０４、３０５についてはバスブリッジ６０１および２次バスを使用して接続することで、各バスにおける信号遅延を最小にし、高速化を図っている（例えば、バスブリッジについては特許文献１参照）。なお、図２では、バスとして周辺回路３０１〜３０５への書込みデータ線、周辺回路３０１〜３０５からの読出しデータ線は１本のみを示し、他のデータ線、アドレス線、制御線等は省略した。５０１，５０２はＣＰＵ１０１に取り込む読出しデータを選択するためのセレクタである。
【０００４】
また、図３に示すように、ＣＰＵ１０２をバスによってバスユニット７０１に接続し、このバスユニット７０１に対しては１：１で周辺回路３０６〜３０８を接続する構成をとり、遅延時間については周辺回路３０６〜３０８とバスユニット７０１間の遅延時間のみを考慮すればよい方法が採用されることもある。なお、図３でも、バスとして書込みデータ線、読出しデータ線は１本のみを示し、他のデータ線、アドレス線、制御線等は省略した。
【特許文献１】特開平９−２３１１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、図２で説明した手法では、バスを放射状に配線することになるのでファンアウト数が増大して遅延時間が増大し、また各周辺回路の信号を選択するためのセレクタ５０１は２−１セレクタの多段接続構成となるので、これによる遅延時間の増大も加わり、バスシステムの高速化に限界が出てくる。その結果、ＬＳＩの設計において、目標の動作速度を達成するための論理合成の処理時間の増大や、レイアウト作業の繰り返しを発生させる原因になっていた。また、図３で説明した手法では、バスユニット７０１内の構成が複雑となってタイミング調整が難しいという問題があった。
【０００６】
本発明の目的は、簡単な手法によって遅延時間の削減を図ったバスシステムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、ＣＰＵと複数の周辺回路との間を接続するバスシステムにおいて、前記複数の周辺回路との間で信号の転送を個々に行うよう設けた複数のフリップフロップと、該複数のフリップフロップをシフトレジスタが構成されるように接続する接続手段とを備え、前記複数の周辺回路の内の最も高速応答が要求される周辺回路に対応する前記フリップフロップが前記ＣＰＵとの間で最初に信号転送を行うようにしたことを特徴とする。
【０００８】
ここで、前記複数のフリップフロップの内の少なくとも１個のフリップフロップの入力側に、２個の入力の内の１つを選択する２−１セレクタを設けることが望ましい。
【０００９】
また、前記ＣＰＵの他にバスマスタを備え、前記接続手段により前記複数のフリップフロップがリング状のシフトレジスタが構成されるように接続し、前記複数のフリップフロップの内の前記ＣＰＵへの接続を前記リング状の接続と前記ＣＰＵへの接続を切り替える第１の２−１セレクタを介して行い、前記複数のフリップフロップの内の前記バスマスタへの接続を前記リング状の接続と前記バスマスタへの接続を切り替える第２の２−１セレクタを介して行うことも望ましい。
【００１０】
さらに、前記複数のフリップフロップの入力は前記複数の周辺回路に個々に２個の入力の内の１つを選択する２−１セレクタを介して接続され、該個々の２−１セレクタが前記シフトレジスタの接続を行う前記接続手段を構成することも望ましい。
【００１１】
このとき、前記ＣＰＵの他にバスマスタを備え、前記複数の２−１セレクタにより前記複数のフリップフロップがリング状のシフトレジスタが構成されるように接続し、前記周辺回路の内の前記ＣＰＵに対する最も高速応答が要求される周辺回路に対応する前記フリップフロップを前記ＣＰＵに接続し、前記周辺回路の内の前記バスマスタに対する最も高速応答が要求される周辺回路に対応する前記フリップフロップを前記バスマスタに接続することが望ましい。
【発明の効果】
【００１２】
本発明によれば、複数の周辺回路に個々に対応する複数のフリップフロップのファンアウト数は最大でも２であるので、信号転送の遅延の短縮を実現できる。また、高速が要求される周辺回路に対してはＣＰＵから１個のフリップフロップを介して接続されるので、アクセス時間のレイテンシに応じて周辺回路に優先順位を設けることが可能となる。また、使用されるセレクタは２個の入力の一方を選択する２−１セレクタであるので、その部分での信号遅延は小さくできる。さらに、複数のフリップフロップからなるシフトレジスタをリング状に構成するときは、ＣＰＵの他にバスマスタを追加することもできる。
【発明を実施するための最良の形態】
【００１３】
図１は本発明の１つの実施例のバスシステムの構成を示すブロック図である。１１はＣＰＵ、２１はバスマスタ、３１〜３４は周辺回路、４１〜４８はリピータとして機能するフリップフロップ、５１〜５６は２個の入力の一方を選択する２−１セレクタである。ここでは、周辺回路３１〜３４への書込みデータ線、周辺回路３１〜３４からの読出しデータ線の各１本の配線のみを代表して示し、他のデータ線、アドレス線、制御線およびこれらに関連するフリップフロップとセレクタは省略した。また、フリップフロップ４１〜４８は共通のクロック線で動作するが、これも省略した。
【００１４】
フリップフロップ４１〜４４の出力は周辺回路３１〜３４に入力しているが、セレクタ５１〜５２を経由することでリング状のシフトレジスタを構成するよう接続されている。また、フリップフロップ４６，４８の出力はバスマスタ２１、ＣＰＵ１１に入力しているが、フリップフロップ４５、４７とセレクタ５３〜５６を経由することでリング状のシフトレジスタを構成するように接続されている。
【００１５】
そして、ＣＰＵ１１からの書込みデータ線はセレクタ５１を経由してフリップフロップ４１に接続され、バスマスタ２１からの書込みデータ線はセレクタ５２を介してフリップフロップ４３に接続されている。周辺回路３１からの読出しデータ線はセレクタ５６を介してフリップフロップ４８に接続され、周辺回路３２からの読出しデータ線はセレクタ５５を介してフリップフロップ４７に接続され、周辺回路３３からの読出しデータ線はセレクタ５４を介してフリップフロップ４６に接続され、周辺回路３４からの読出しデータ線はセレクタ５３を介してフリップフロップ４５に接続されている。
【００１６】
以上により、各フリップフロップ４１〜４８のファンアウト数は１又は２となり、信号遅延の短縮が実現できる。また、ＣＰＵ１１やバスマスタ２１と周辺回路３１〜３４との間は、最短で１個のフリップフロップ、最長で４個のフリップフロップを経由して接続されるので、それらＣＰＵ１１やバスマスタ２１と各周辺回路３１〜３４との間のアクセス時間に優先順位を設けることができる。また、各フリップフロップ４１〜４８はシフト動作を行い、その内の特にフリップフロップ４１〜４４は周辺回路３１〜３４への書込みデータのロード動作も行い、フリップフロップ４５〜４８は周辺回路３１〜３４からの読出しデータのロード動作も行う。また、ＣＰＵ１１、バスマスタ２１、周辺回路３１〜３４は、ロード許可のときにデータのセット（書込み）を行う。また、各フリップフロップには有効ビットを設けて、ロードしたときにその有効ビットをセットし、ＣＰＵ１１、バスマスタ２１が読出しデータを取得したときにクリア、周辺回路３１〜３４が書込みデータを取得したときにクリアする。各フリップフロップを接続したシフトレジスタは、ループ構成であり、ＣＰＵ１１，バスマスタ２１のようなマスタ機能はどの位置にでも配置可能である。
【００１７】
さて、ＣＰＵ１１から周辺回路３１にデータを書き込むときは、セレクタ５１をＣＰＵ１１側に切り替えてフリップフロップ４１経由により、そのデータを周辺回路３１に入力させる。このとき、ＣＰＵ１１から周辺回路３１へのアクセス時間は１クロックとなる。
【００１８】
ＣＰＵ１１から周辺回路３２にデータを書き込むときは、セレクタ５１をＣＰＵ１１側に切り替えてフリップフロップ４１、４２経由により、そのデータを周辺回路３２に入力させる。このとき、ＣＰＵ１１から周辺回路３２へのアクセス時間は２クロックとなる。
【００１９】
ＣＰＵ１１から周辺回路３３にデータを書き込むときは、セレクタ５１をＣＰＵ１１側に切り替え、セレクタ５２をフリップフロップ４２側に切り替えて、フリップフロップ４１、４２、４３経由により、そのデータを周辺回路３３に入力させる。このとき、ＣＰＵ１１から周辺回路３３へのアクセス時間は３クロックとなる。
【００２０】
ＣＰＵ１１から周辺回路３４にデータを書き込むときは、セレクタ５１をＣＰＵ１１側に切り替え、セレクタ５２をフリップフロップ４２側に切り替えて、フリップフロップ４１、４２、４３、４４経由により、そのデータを周辺回路３４に入力させる。このとき、ＣＰＵ１１から周辺回路３４へのアクセス時間は４クロックとなる。
【００２１】
バスマスタ２１から周辺回路３３にデータを書き込むときは、セレクタ５２をバスマスタ２１側に切り替えて、フリップフロップ４３経由により、そのデータを周辺回路３３に入力させる。このとき、バスマスタ２１から周辺回路３３へのアクセス時間は１クロックとなる。
【００２２】
バスマスタ２１から周辺回路３４にデータを書き込むときは、セレクタ５２をバスマスタ２１側に切り替えて、フリップフロップ４３、４４経由により、そのデータを周辺回路３４に入力させる。このとき、バスマスタ２１から周辺回路３４へのアクセス時間は２クロックとなる。
【００２３】
バスマスタ２１から周辺回路３１にデータを書き込むときは、セレクタ５２をバスマスタ２１側に切り替え、セレクタ５１をフリップフロップ４４側に切り替えて、フリップフロップ４３、４４、４１経由により、そのデータを周辺回路３１に入力させる。このとき、バスマスタ２１から周辺回路３１へのアクセス時間は３クロックとなる。
【００２４】
バスマスタ２１から周辺回路３２にデータを書き込むときは、セレクタ５２をバスマスタ２１側に切り替え、セレクタ５１をフリップフロップ４４側に切り替えて、フリップフロップ４３、４４、４１、４２経由により、そのデータを周辺回路３２に入力させる。このとき、バスマスタ２１から周辺回路３２へのアクセス時間は４クロックとなる。
【００２５】
ＣＰＵ１１により周辺回路３１のデータの読出しを行うときは、セレクタ５６を周辺回路３１側に切り替えて、フリップフロップ４８経由により、そのデータをＣＰＵ１１に入力させる。このときは、周辺回路３１からＣＰＵ１１へのアクセス時間は１クロックとなる。
【００２６】
ＣＰＵ１１により周辺回路３２のデータの読出しを行うときは、セレクタ５６をフリップフロップ４７側に切り替え、セレクタ５５を周辺回路３２側に切り替えて、フリップフロップ４７、４８経由により、そのデータをＣＰＵ１１に入力させる。このときは、周辺回路３２からＣＰＵ１１へのアクセス時間は２クロックとなる。
【００２７】
ＣＰＵ１１により周辺回路３３のデータの読出しを行うときは、セレクタ５６をフリップフロップ４７側に切り替え、セレクタ５５をフリップフロップ４６側に切り替え、セレクタ５４を周辺回路３３側に切り替えて、フリップフロップ４６、４７、４８経由により、そのデータをＣＰＵ１１に入力させる。このとき、周辺回路３３からＣＰＵ１１へのアクセス時間は３クロックとなる。
【００２８】
ＣＰＵ１１により周辺回路３４のデータの読出しを行うときは、セレクタ５６をフリップフロップ４７側に切り替え、セレクタ５５をフリップフロップ４６側に切り替え、セレクタ５４をフリップフロップ４５側に切り替え、セレクタ５３を周辺回路３４側に切り替えて、フリップフロップ４５、４６、４７、４８経由により、そのデータをＣＰＵ１１に入力させる。このとき、周辺回路３４からＣＰＵ１１へのアクセス時間は４クロックとなる。
【００２９】
バスマスタ２１により周辺回路３３のデータの読出しを行うときは、セレクタ５４を周辺回路３３側に切り替えて、フリップフロップ４６経由により、そのデータをバスマスタ２１に入力させる。このときは、周辺回路３３からバスマスタ２１へのアクセス時間は１クロックとなる。
【００３０】
バスマスタ２１により周辺回路３４のデータの読出しを行うときは、セレクタ５４をフリップフロップ４５側に切り替え、セレクタ５３を周辺回路３４側に切り替えて、フリップフロップ４５、４６経由により、そのデータをバスマスタ２１に入力させる。このときは、周辺回路３４からバスマスタ２１へのアクセス時間は２クロックとなる。
【００３１】
バスマスタ２１により周辺回路３１のデータの読出しを行うときは、セレクタ５４をフリップフロップ４５側に切り替え、セレクタ５３をフリップフロップ４８側に切り替え、セレクタ５６を周辺回路３１側に切り替えて、フリップフロップ４８、４５、４６経由により、そのデータをバスマスタ２１に入力させる。このとき、周辺回路３１からバスマスタ２１へのアクセス時間は３クロックとなる。
【００３２】
バスマスタ２１により周辺回路３２のデータの読出しを行うときは、セレクタ５４をフリップフロップ４５側に切り替え、セレクタ５３をフリップフロップ４８側に切り替え、セレクタ５６をフリップフロップ４７側に切り替え、セレクタ５５を周辺回路３２側に切り替えて、フリップフロップ４７、４８、４５、４６経由により、そのデータをバスマスタ２１に入力させる。このとき、周辺回路３２からバスマスタ２１へのアクセス時間は４クロックとなる。
【００３３】
以上のように、ＣＰＵ１１と周辺回路３１との間のアクセス時間は１クロック、周辺回路３２のとの間は２クロック、周辺回路３３との間は３クロック、周辺回路３４との間は４クロックとなり、バスマスタ２１と周辺回路３３との間は１クロック、周辺回路３４のとの間は２クロック、周辺回路３１との間は３クロック、周辺回路３２との間は４クロックとなる。
【００３４】
したがって、周辺回路３１〜３４として、ＣＰＵ１１およびバスマスタ２１へのアクセス優先順位に対応した周辺回路を割り当てることにより、各周辺回路に応じて要求される高速性を確保することが可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例のバスシステムの構成を示すブロック図である。
【図２】従来のバスシステムの構成を示すブロック図である。
【図３】従来の別のバスシステムの構成を示すブロック図である。
【符号の説明】
【００３６】
１１，１０１，１０２：ＣＰＵ
２１：バスマスタ
３１〜３４，３０１〜３０８：周辺回路
４１〜４８：フリップフロップ
５１〜５６、５０１、５０２：セレクタ
６０１：バスブリッジ
７０１：バスユニット
【図１】
2007004424.tif 000003
【図２】
2007004424.tif 000004
【図３】
2007004424.tif 000005