(57)【要約】【課題】チップサイズの増大を防ぐことができるバスライン制御回路を提供する。【解決手段】バスライン制御回路は、書き込み動作を可能にするための書き込みイネーブル信号に応じて、書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとを具備することを特徴とする。【選択図】　図１
2004054709.tif 000002
【特許請求の範囲】
【請求項１】
書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、
読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、
前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータを書き込む第２レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとを具備することを特徴とするバスライン制御回路。
【請求項２】
前記バスラインから供給されるアドレス信号に基づいて前記第１レジスタ回路と前記第２レジスタ回路とのいずれかを選択するためのレジスタ選択信号を生成するアドレスデコーダをさらに具備する、請求項１記載のバスライン制御回路。
【請求項３】
前記バスラインは、前記アドレス信号を前記アドレスデコーダへ供給するために設けられたアドレスバスを有している、請求項２記載のバスライン制御回路。
【請求項４】
前記バスラインから供給される書き込み制御信号と前記アドレスデコーダによって生成された前記アドレス選択信号とに基づいて前記書き込みイネーブル信号を生成する書き込みイネーブル信号生成回路と、
前記バスラインから供給される読み出し制御信号と前記アドレスデコーダによって生成された前記アドレス選択信号とに基づいて前記読み出しイネーブル信号を生成する読み出しイネーブル信号生成回路とをさらに具備する、請求項２記載のバスライン制御回路。
【請求項５】
前記バスラインは、前記書き込み制御信号と前記読み出し制御信号とを前記書き込みイネーブル信号生成回路と前記読み出しイネーブル信号生成回路とへそれぞれ供給するために設けられた制御バスを有している、請求項４記載のバスライン制御回路。
【請求項６】
前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータを書き込む第３レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタとをさらに具備する、請求項１記載のバスライン制御回路。
【請求項７】
前記第３セレクタは、選択した前記第１読み出しデータ、前記第２読み出しデータおよび前記第３読み出しデータのいずれかを前記バスラインへ出力する、請求項６記載のバスライン制御回路。
【請求項８】
前記バスラインは、前記第３セレクタから出力された前記第１読み出しデータ、前記第２読み出しデータおよび前記第３読み出しデータのいずれかを受け取るために設けられたデータバスを有している、請求項７記載のバスライン制御回路。
【請求項９】
前記バスラインは、前記書き込みデータを前記第１レジスタと前記第１セレクタとへ供給するために設けられたデータバスを有している、請求項１記載のバスライン制御回路。
【請求項１０】
書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインからシリアルに供給される書き込みデータを書き込む第１レジスタ回路と、
読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインからシリアルに供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、
前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータと前記第１読み出しデータとのいずれかを書き込む第２レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタと、
前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータと前記第２読み出しデータとのいずれかを書き込む第３レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタと、
前記バスラインから供給されるアドレス信号に基づいて、前記第１レジスタないし前記第３レジスタのうちシフトレジスタを構成すべき複数個のレジスタを選択するアドレスデコーダとを具備しており、
前記アドレスデコーダによって選択された複数個のレジスタ回路にそれぞれ対応する複数のセレクタは、各レジスタ回路から読み出された各読み出しデータを選択し、
前記アドレスデコーダによって選択された複数個のレジスタ回路は、前記バスラインからシリアルにそれぞれ供給された前記複数の書き込みデータがそれぞれ書き込まれるように前記書き込みイネーブル信号に応じてシフトレジスタとして動作することを特徴とするバスライン制御回路。
【請求項１１】
前記第１レジスタ回路が前記アドレスデコーダによって選択されないときは、前記第１セレクタは前記バスラインからシリアルに供給された前記書き込みデータを選択し、
前記第３レジスタ回路が前記アドレスデコーダによって選択されないときは、前記第３セレクタは前記第２セレクタによって選択された各読み出しデータを選択する、請求項１０記載のバスライン制御回路。
【請求項１２】
前記第３セレクタは、前記第２セレクタによって選択された前記書き込みデータを選択し、
前記第１レジスタ回路へ供給された前記書き込みデータと前記第３セレクタから出力された前記書き込みデータとを比較することにより前記書き込みデータが前記第１レジスタ回路に正常に供給されたか否かを判定する判定手段と、
前記判定手段による判定結果に応じて肯定確認応答（ＡＣＫ信号）を前記バスラインに出力する書き込みデータモニタ手段とをさらに具備する、請求項１０記載のバスライン制御回路。
【請求項１３】
書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、
読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、
前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータと前記第１読み出しデータとのいずれかを書き込む第２レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタと、
前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータと前記第２読み出しデータとのいずれかを書き込む第３レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタと、
モード選択信号に応じて、前記第１レジスタないし前記第３レジスタのうちシフトレジスタを構成すべき複数個のレジスタとデータを読み書きすべき単数個のレジスタとのいずれかを選択するアドレスデコーダとを具備することを特徴とするバスライン制御回路。
【請求項１４】
前記モード選択信号に応じて、前記バスラインからシリアルに供給された書き込みデータと前記第３セレクタによって選択された前記第１ないし第３読み出しデータのいずれかとのいずれかを選択して前記第１セレクタ回路および前記第１セレクタに与えるフィードバックセレクタをさらに具備する、請求項１３記載のバスライン制御回路。
【請求項１５】
前記第１ないし第３レジスタ回路にそれぞれ設けられたレジスタの値を参照する参照回路と、
前記バスラインから供給される書き込み制御信号および読み出し制御信号に応じて前記第１ないし第３レジスタ回路と前記参照回路とを電気的に切り離すように動作するスイッチ素子とをさらに具備している、請求項１３記載のバスライン制御回路。
【請求項１６】
書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタとによって構成される第１レジスタユニットと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとによって構成される第２レジスタユニットと、前記バスラインから供給されるアドレス信号に基づいて前記第１レジスタ回路と前記第２レジスタ回路とのいずれかを選択するためのレジスタ選択信号を生成するアドレスデコーダとを具備するバスライン制御回路を実装するための回路記述データを自動的に生成するための回路記述データ自動生成方法であって、
前記バスラインのバスインターフェース仕様に基づいて前記アドレスデコーダを形成するための回路記述データを生成する工程と、
前記第１レジスタユニットと前記第２レジスタユニットとの間の接続関係を規定するレジスタマップと各レジスタユニットの構成を規定するレジスタユニットモジュールと前記アドレスデコーダを形成するための回路記述データとに基づいて、前記第１レジスタ回路および前記第１セレクタと前記第２レジスタ回路および前記第２セレクタとの接続関係を規定する回路記述データを生成する工程とを包含することを特徴とする回路記述データ自動生成方法。
【請求項１７】
請求項１０記載のバスライン制御回路と前記バスラインを介して接続されたダイレクトメモリアクセス（ＤＭＡ）回路であって、
前記バスライン制御回路に設けられた前記アドレスデコーダに前記バスラインを介して前記アドレス信号を供給するアドレス信号供給手段と、
前記バスラインに接続されたメモリから前記書き込みデータを読み出し、前記バスライン制御装置に設けられた前記第１レジスタ回路に前記バスラインを介して前記書き込みデータを供給する書き込みデータ供給手段とを具備することを特徴とするＤＭＡ回路。
【請求項１８】
請求項１０記載のバスライン制御回路に設けられた前記アドレスデコーダに前記アドレス信号を直接ダウンロードするアドレス信号ダウンロード手段と、
前記書き込みデータをメモリから読み出し、前記バスライン制御装置に設けられた前記第１レジスタ回路に前記書き込みデータを直接ダウンロードする書き込みデータダウンロード手段とを具備することを特徴とするダウンロード回路。
【請求項１９】
前記第３セレクタは、前記第２セレクタによって選択された前記書き込みデータを選択し、
前記書き込みデータダウンロード手段によって前記第１レジスタ回路にダウンロードされた前記書き込みデータと前記第３セレクタから出力された前記書き込みデータとを比較することにより前記書き込みデータが前記第１レジスタ回路に正常にダウンロードされたか否かを判定する判定手段をさらに具備する、請求項１８記載のダウンロード回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＬＳＩ設計におけるシステムバスラインの設計を容易化し、低コスト化し及び高性能化するためのバスライン構成及びそのバスラインを制御するためのバスライン制御回路に関するものである。
【０００２】
【従来の技術】
図８は、従来のバスライン制御回路９０の構成を示すブロック図である。バスライン制御回路９０は、バスライン１２に接続されている。バスライン１２は、図示しないＣＰＵに接続されており、アドレスバス１３と制御バス１４とデータバス１５とによって構成されている。
【０００３】
バスライン制御回路９０は、複数のレジスタ回路２を備えている。各レジスタ回路２は、８ビット、１６ビット、３２ビット等ＣＰＵバス幅またはその半分程度のビット幅によって構成された複数個のフリップフロップを有している。各レジスタ回路２は、バスライン１２を構成するデータバス１５から書き込みデータをそれぞれ受け取る。
【０００４】
バスライン制御回路９０は、アドレスデコーダ９４を備えている。アドレスデコーダ９４は、バスライン１２を構成するアドレスバス１３から受け取ったアドレス信号１６をデコードし、複数のレジスタ回路２のうちのいずれかを選択するためのレジスタ選択信号９７を生成する。
【０００５】
バスライン制御回路９０は、各レジスタ回路２にそれぞれ対応する複数の書き込みイネーブル信号生成回路９５を備えている。各書き込みイネーブル信号生成回路９５は、制御バス１４から受け取った書き込み制御信号８とアドレスデコーダ９４によって生成されたレジスタ選択信号９７とに基づいて、対応するレジスタ回路２へ書き込みイネーブル信号をそれぞれ出力する。各レジスタ回路２は、対応する書き込みイネーブル信号生成回路９５から出力された書き込みイネーブル信号に応じて、データバス１５から受け取った書き込みデータを書き込む。書込み制御信号８以外に別途チップセレクト信号、チップイネーブル信号を書き込み制御に使用してもよい。
【０００６】
バスライン制御回路９０には、各レジスタ回路２にそれぞれ対応する複数の読み出しイネーブル信号生成回路９６が設けられている。各読み出しイネーブル信号生成回路９６は、制御バス１４から受け取った読み出し制御信号９とアドレスデコーダ９４によって生成されたレジスタ選択信号９７とに基づいて、読み出しイネーブル信号をそれぞれ生成する。
【０００７】
バスライン制御回路９０は、各レジスタ回路２にそれぞれ対応する複数の出力回路９３を備えている。各出力回路９３は、対応する読み出しイネーブル信号生成回路９６によって生成された読み出しイネーブル信号に応じて、対応するレジスタ回路２から読み出しデータを読み出して出力回路８４へそれぞれ出力する。出力回路８４は、レジスタ選択信号９７によって選択されたレジスタ２に対応する出力回路９３から出力された読み出しデータをデータバス１５へ出力する。
【０００８】
書込み時と同様に、更にチップセレクト信号やチップイネーブル信号を読み出し制御に使用してもよい。この例では、いずれのレジスタ回路２からも読み出しデータを出力しない場合、すべての信号がＬＯＷを出力しＯＲ論理で他のブロックからの信号との選択が可能な構成としている。他の方法として出力をＨｉ−Ｚにすることでブロック間の出力を選択する方法がある。ただし通常はＬＳＩ内部に中間電位が発生することがないように図８で示す様なセレクタ構成になることが多い。
【０００９】
バスライン制御回路９０には、参照回路１７が設けられている。参照回路１７は、各レジスタ回路２に書き込まれ保持されているデータを参照する。
【００１０】
【発明が解決しようとする課題】
近年、ＬＳＩを製造するためのプロセスの微細化が進んでおり、このことは開発費用の高額化と回路の大規模化を促している。そのため開発費用を抑える必要があり、１つのＬＳＩで複数のシステムを網羅したＬＳＩの開発が必要となってきている。また機能競争も激しくなり回路の複合化・大規模化が進行している。この様に大規模且つ汎用的なＬＳＩには従来のＬＳＩ以上に多数のレジスタ回路が必要となってきており、今後もソフトのみで処理できる範疇以外の機能においては、その傾向が継続していくと考える。このため、レジスタ回路の効果的な使用方法が必要となってきている。
【００１１】
図９は、従来のバスライン制御回路９０に設けられたレジスタ回路２の配置形態を示す模式図である。各レジスタ回路２は、出力回路８４に対して互いに並列に接続されている。このような従来例は、基本的な構成が単純であり論理的な構成としては極めて良い方法であった。
【００１２】
しかし、多数のレジスタで構成される場合、従来の技術を用いるとＬＳＩの配置配線において配線リソースを多く必要とするという問題が発生する。また、ＬＳＩの配置配線において配線集中が発生するという問題が発生する。
【００１３】
図９は、レジスタが９個存在する場合の例としてその時の配置イメージを示している。この図は斜線で示した各レジスタ回路２から出力された読み出しデータを出力回路８４が選択していることを示している。
【００１４】
図９で示す読み出しデータは、実際には複数ビットで構成された配線を通って伝送される。この配線は、バスライン制御回路９０の全体を覆う様に構成されている。このような構成では、各レジスタ回路２と出力回路８４とを接続するための配線の長さが長くなるため、配線効率は悪い。
【００１５】
このような配線の配置となるため、各レジスタ回路２の入出力線がＬＳＩのブロック内での配線リソースの中で大きな割合を占める状態となる。この例では各レジスタ回路２を９個としているが実際には更に多くのレジスタ回路２を有する場合が多く、レジスタ回路２が多くなるに従い配線リソースは更に消費される。このように配線リソースを消費すると、ブロック内の配線効率が低下する。その結果、チップサイズが増大するという問題がある。
【００１６】
また上記の問題の他に、出力回路８４に最終的な出力信号が集約されるので、出力回路８４の周辺の配線密度は他の部分の配線密度よりも高くなる。このため、出力回路８４の周辺への配線リソースは、他の部分への配線リソースよりも極めて少なくなる。従って、周辺回路への配線効率が著しく低下すると言う問題があり、このことも最終的にはチップサイズが増大する要因となる。
【００１７】
本発明は係る問題を解決するためになされたものであり、その目的は、チップサイズの増大を防ぐことができるバスライン制御回路を提供することにある。
【００１８】
【課題を解決するための手段】
本発明に係るバスライン制御回路は、書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとを具備することを特徴とする。
【００１９】
本発明に係る他のバスライン制御回路は、書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインからシリアルに供給される書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインからシリアルに供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータと前記第１読み出しデータとのいずれかを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタと、前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータと前記第２読み出しデータとのいずれかを書き込む第３レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタと、前記バスラインから供給されるアドレス信号に基づいて、前記第１レジスタないし前記第３レジスタのうちシフトレジスタを構成すべき複数個のレジスタを選択するアドレスデコーダとを具備しており、前記アドレスデコーダによって選択された複数個のレジスタ回路にそれぞれ対応する複数のセレクタは、各レジスタ回路から読み出された各読み出しデータを選択し、前記アドレスデコーダによって選択された複数個のレジスタ回路は、前記バスラインからシリアルにそれぞれ供給された前記複数の書き込みデータがそれぞれ書き込まれるように前記書き込みイネーブル信号に応じてシフトレジスタとして動作することを特徴とする。
【００２０】
本発明に係るさらに他のバスライン制御回路は、書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータと前記第１読み出しデータとのいずれかを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタと、前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータと前記第２読み出しデータとのいずれかを書き込む第３レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタと、モード選択信号に応じて、前記第１レジスタないし前記第３レジスタのうちシフトレジスタを構成すべき複数個のレジスタとデータを読み書きすべき単数個のレジスタとのいずれかを選択するアドレスデコーダとを具備することを特徴とする。
【００２１】
本発明に係る回路記述データ自動生成方法は、書き込み動作を可能にするための書き込みイネーブル信号に応じて、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、読み出し動作を可能にするための読み出しイネーブル信号に応じて、前記バスラインから供給された前記書き込みデータと前記第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタとによって構成される第１レジスタユニットと、前記書き込みイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータを書き込む第２レジスタ回路と、前記読み出しイネーブル信号に応じて、前記第１セレクタによって選択された前記書き込みデータおよび前記第１読み出しデータのいずれかと前記第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとによって構成される第２レジスタユニットと、前記バスラインから供給されるアドレス信号に基づいて前記第１レジスタ回路と前記第２レジスタ回路とのいずれかを選択するためのレジスタ選択信号を生成するアドレスデコーダとを具備するバスライン制御回路を実装するための回路記述データを自動的に生成するための回路記述データ自動生成方法であって、前記バスラインのバスインターフェース仕様に基づいて前記アドレスデコーダを形成するための回路記述データを生成する工程と、前記第１レジスタユニットと前記第２レジスタユニットとの間の接続関係を規定するレジスタマップと各レジスタユニットの構成を規定するレジスタユニットモジュールと前記アドレスデコーダを形成するための回路記述データとに基づいて、前記第１レジスタ回路および前記第１セレクタと前記第２レジスタ回路および前記第２セレクタとの接続関係を規定する回路記述データを生成する工程とを包含することを特徴とする。
【００２２】
本発明に係るＤＭＡ回路は、本発明に係るバスライン制御回路と前記バスラインを介して接続されたダイレクトメモリアクセス（ＤＭＡ）回路であって、前記バスライン制御回路に設けられた前記アドレスデコーダに前記バスラインを介して前記アドレス信号を供給するアドレス信号供給手段と、前記バスラインに接続されたメモリから前記書き込みデータを読み出し、前記バスライン制御装置に設けられた前記第１レジスタ回路に前記バスラインを介して前記書き込みデータを供給する書き込みデータ供給手段とを具備することを特徴とする。
【００２３】
本発明に係るダウンロード回路は、本発明に係るバスライン制御回路に設けられた前記アドレスデコーダに前記アドレス信号を直接ダウンロードするアドレス信号ダウンロード手段と、前記書き込みデータをメモリから読み出し、前記バスライン制御装置に設けられた前記第１レジスタ回路に前記書き込みデータを直接ダウンロードする書き込みデータダウンロード手段とを具備することを特徴とする。
【００２４】
【発明の実施の形態】
本発明に係るバスライン制御回路においては、バスラインから供給される書き込みデータを書き込む第１レジスタ回路と、バスラインから供給された書き込みデータと第１レジスタ回路から読み出された第１読み出しデータとのいずれかを選択する第１セレクタと、第１セレクタによって選択された書き込みデータを書き込む第２レジスタ回路と、第１セレクタによって選択された書き込みデータおよび第１読み出しデータのいずれかと第２レジスタ回路から読み出された第２読み出しデータとのいずれかを選択する第２セレクタとを具備している。このため、第１レジスタ回路と第１セレクタとによって構成されるレジスタユニットと、第２レジスタ回路と第２セレクタとによって構成されるレジスタユニットとがシリアルに接続されるので、各レジスタユニットに対してデータを入出力するための入出力データ線の総配線長が、各レジスタユニットがパラレルに接続される従来技術の構成における総配線長よりも短くなる。従って、入出力データ線を配置するための配線リソースの消費が抑制される。その結果、バスライン制御回路を構成するＬＳＩにおけるチップサイズの増大を防ぐことができる。
【００２５】
前記バスラインから供給されるアドレス信号に基づいて前記第１レジスタ回路と前記第２レジスタ回路とのいずれかを選択するためのレジスタ選択信号を生成するアドレスデコーダをさらに具備することが好ましい。
【００２６】
前記バスラインは、前記アドレス信号を前記アドレスデコーダへ供給するために設けられたアドレスバスを有していることが好ましい。
【００２７】
前記バスラインから供給される書き込み制御信号と前記アドレスデコーダによって生成された前記アドレス選択信号とに基づいて前記書き込みイネーブル信号を生成する書き込みイネーブル信号生成回路と、前記バスラインから供給される読み出し制御信号と前記アドレスデコーダによって生成された前記アドレス選択信号とに基づいて前記読み出しイネーブル信号を生成する読み出しイネーブル信号生成回路とをさらに具備することが好ましい。
【００２８】
前記バスラインは、前記書き込み制御信号と前記読み出し制御信号とを前記書き込みイネーブル信号生成回路と前記読み出しイネーブル信号生成回路とへそれぞれ供給するために設けられた制御バスを有していることが好ましい。
【００２９】
前記書き込みイネーブル信号に応じて、前記第２セレクタによって選択された前記書き込みデータを書き込む第３レジスタ回路と、
前記読み出しイネーブル信号に応じて、前記第２セレクタによって選択された前記第１読み出しデータおよび前記第２読み出しデータのいずれかと前記第３レジスタ回路から読み出された第３読み出しデータとのいずれかを選択する第３セレクタとをさらに具備する、請求項１記載のバスライン制御回路。
【００３０】
前記第３セレクタは、選択した前記第１読み出しデータ、前記第２読み出しデータおよび前記第３読み出しデータのいずれかを前記バスラインへ出力することが好ましい。
【００３１】
前記バスラインは、前記第３セレクタから出力された前記第１読み出しデータ、前記第２読み出しデータおよび前記第３読み出しデータのいずれかを受け取るために設けられたデータバスを有していることが好ましい。
【００３２】
前記バスラインは、前記書き込みデータを前記第１レジスタと前記第１セレクタとへ供給するために設けられたデータバスを有していることが好ましい。
【００３３】
以下、図面を参照して本発明の実施の形態を説明する。
【００３４】
（実施の形態１）
図１は、実施の形態１に係るバスライン制御回路１００の構成を示すブロック図である。バスライン制御回路１００は、バスライン１２に接続されている。バスライン１２は、図示しないＣＰＵに接続されており、アドレスバス１３と制御バス１４とデータバス１５とによって構成されている。
【００３５】
バスライン制御回路１００は、それぞれが所定の間隔を空けてバスライン１２に平行な方向に沿って配置された複数のレジスタユニット１を備えている。各レジスタユニット１には、レジスタ回路２とセレクタ３とがそれぞれ設けられている。各レジスタ回路２は、８ビット、１６ビット、３２ビット等のＣＰＵバス幅またはその半分程度のビット幅によって構成された複数個のフリップフロップをそれぞれ有している。
【００３６】
バスライン制御回路１００は、アドレスデコーダ４を備えている。アドレスデコーダ４は、バスライン１２を構成するアドレスバス１３から受け取ったアドレス信号１６をデコードし、複数のレジスタ回路２のうちのいずれかを選択するためのレジスタ選択信号７を生成する。
【００３７】
バスライン制御回路１００は、各レジスタ回路２にそれぞれ対応する書き込みイネーブル信号生成回路５を備えている。各書き込みイネーブル信号生成回路５は、制御バス１４から受け取った書き込み制御信号８とアドレスデコーダ４によって生成されたレジスタ選択信号７とに基づいて、書き込み動作を可能にするための書き込みイネーブル信号１０を対応するレジスタ回路２へそれぞれ出力する。
【００３８】
バスライン制御回路１００には、各レジスタ回路２にそれぞれ対応する読み出しイネーブル信号生成回路６が設けられている。各読み出しイネーブル信号生成回路６は、制御バス１４から受け取った読み出し制御信号９とアドレスデコーダ４によって生成されたレジスタ選択信号７とに基づいて、読み出し動作を可能にするための読み出しイネーブル信号１１をそれぞれ生成する。
【００３９】
複数のレジスタユニット１のうち一端に配置されたレジスタユニット１に設けられたレジスタ回路２およびセレクタ３は、バスライン１２を構成するデータバス１５から書き込みデータをそれぞれ受け取る。レジスタ回路２は、対応する書き込みイネーブル信号生成回路５によって生成された書き込みイネーブル信号１０に応じて、データバス１５から受け取った書き込みデータを書き込む。
【００４０】
一端に配置されたレジスタユニット１に設けられたセレクタ３は、対応する読み出しイネーブル信号生成回路６によって生成された読み出しイネーブル信号１１に応じて、バスライン１２を構成するデータバス１５から受け取った書き込みデータと、対応するレジスタ回路２から読み出された読み出しデータとのいずれかを選択して、隣に配置されたレジスタユニット１に設けられたレジスタ回路２およびセレクタ３へ出力する。
【００４１】
隣に配置されたレジスタユニット１に設けられたレジスタ回路２は、対応する書き込みイネーブル信号生成回路５によって生成された書き込みイネーブル信号１０に応じて、一端に配置されたレジスタユニット１に設けられたセレクタ３によって選択された書き込みデータを書き込む。
【００４２】
隣に配置されたレジスタユニット１に設けられたセレクタ３は、対応する読み出しイネーブル信号生成回路６によって生成された読み出しイネーブル信号１１に応じて、一端に配置されたレジスタユニット１に設けられたセレクタ３によって選択された書き込みデータおよびレジスタ２から読み出された読み出しデータのいずれかと、対応するレジスタ回路２から読み出された読み出しデータとのいずれかを選択して、さらに隣に配置されたレジスタユニット１に設けられたレジスタ回路２およびセレクタ３へ出力する。
【００４３】
複数のレジスタユニット１のうち他端に配置されたレジスタユニット１に設けられたレジスタ回路２は、隣接するレジスタユニット１に設けられたセレクタ３によって選択された書き込みデータを受け取り、対応する書き込みイネーブル信号生成回路５によって生成された書き込みイネーブル信号１０に応じて、受け取った書き込みデータを書き込む。
【００４４】
他端に配置されたレジスタユニット１に設けられたセレクタ３は、対応する読み出しイネーブル信号生成回路６によって生成された読み出しイネーブル信号１１に応じて、隣接するレジスタユニット１に設けられたセレクタ３によって選択された読み出しデータと対応するレジスタ回路２から読み出された読み出しデータとのいずれかを選択して、バスライン１２を構成するデータバス１５へ出力する。
【００４５】
図２は、バスライン制御回路１００に設けられたレジスタユニット１の配置形態を示す模式図である。レジスタ回路２とセレクタ３とによって構成された各レジスタユニット１は、データバス１５に対してシリアルに接続されている。
【００４６】
バスライン制御回路１００には、参照回路１７が設けられている。参照回路１７は、各レジスタ回路２に書き込まれ保持されているデータを参照する。
【００４７】
このように構成されたバスライン制御回路１００の動作を説明する。まず、バスライン１２に平行な方向に沿って配置されたｎ個（ｎは、３以上の整数）のレジスタユニット１のうち一端からｉ番目（ｉは、１よりも大きくｎよりも小さい整数）に配置されたレジスタユニット１に設けられたレジスタ回路２に書き込みデータを書き込む動作を説明する。
【００４８】
まず、アドレスデコーダ４は、バスライン１２を構成するアドレスバス１３から受け取ったアドレス信号１６をデコードし、複数のレジスタ回路２のうち一端からｉ番目に配置されたレジスタ回路２を選択するレジスタ選択信号７を生成する。
【００４９】
各書き込みイネーブル信号生成回路５のうち一端からｉ番目に配置された書き込みイネーブル信号生成回路５は、一端からｉ番目に配置されたレジスタ回路２を選択するレジスタ選択信号７と制御バス１４から受け取った書き込み制御信号８とに基づいて、書き込み動作を可能にするための書き込みイネーブル信号１０をｉ番目に配置されたレジスタ回路２へ出力する。
【００５０】
一端に配置されたレジスタユニット１に設けられたセレクタ３は、バスライン１２を構成するデータバス１５から受け取った書き込みデータを選択する。２番目に配置されたレジスタユニット１に設けられたセレクタ３は、一端に配置されたレジスタユニット１に設けられたセレクタ３によって選択された書き込みデータを選択する。
【００５１】
このようにして、一端に配置されたレジスタユニット１へデータバス１５から供給された書き込みデータは、一端に配置されたレジスタユニット１からｉ−１番目に配置されたレジスタユニット１までをバイパスする。
【００５２】
ｉ番目に配置されたレジスタ回路２は、書き込みイネーブル信号生成回路５から出力された書き込みイネーブル信号１０に応じて、一端に配置されたレジスタユニット１からｉ−１番目に配置されたレジスタユニット１までをバイパスした書き込みデータを書き込む。
【００５３】
次に、ｉ番目に配置されたレジスタユニット１に設けられたレジスタ回路２から読み出しデータを読み出す動作を説明する。
【００５４】
まず、アドレスデコーダ４は、バスライン１２を構成するアドレスバス１３から受け取ったアドレス信号１６をデコードし、複数のレジスタ回路２のうち一端からｉ番目に配置されたレジスタ回路２を選択するレジスタ選択信号７を生成する。
【００５５】
各読み出しイネーブル信号生成回路６のうち一端からｉ番目に配置された読み出しイネーブル信号生成回路６は、一端からｉ番目に配置されたレジスタ回路２を選択するレジスタ選択信号７と制御バス１４から受け取った読み出し制御信号９とに基づいて、読み出し動作を可能にするための読み出しイネーブル信号１１をｉ番目に配置されたレジスタユニット１に設けられたセレクタ３へ出力する。
【００５６】
ｉ番目に配置されたレジスタユニット１に設けられたセレクタ３は、読み出しイネーブル信号生成回路６から出力された読み出しイネーブル信号１１に応じて、ｉ番目に配置されたレジスタ回路２から読み出された読み出しデータを選択する。
【００５７】
ｉ＋１番目に配置されたレジスタユニット１に設けられたセレクタ３は、ｉ番目に配置されたレジスタユニット１に設けられたセレクタ３によって選択された読み出しデータを選択する。
【００５８】
このようにして、ｉ番目に配置されたレジスタ回路２から読み出された読み出しデータは、ｉ＋１番目に配置されたレジスタユニット１からｎ−１番目に配置されたレジスタユニット１までをバイパスする。
【００５９】
ｎ番目に配置されたレジスタユニット１に設けられたセレクタ３は、ｎ−１番目に配置されたレジスタユニット１に設けられたセレクタ３によって選択された読み出しデータを選択して、データバス１５へ出力する。
【００６０】
このように、レジスタ選択信号７によって選択されたｉ番目のレジスタユニット１に設けられたセレクタ３のみがレジスタ回路２から読み出された読み出しデータを選択し、その他のレジスタユニット１に設けられたセレクタ３は、直前に配置されたセレクタ３からの出力を選択することによって、ｉ番目に配置されたレジスタ回路２から読み出された読み出しデータは、ｉ＋１番目に配置されたレジスタユニット１からｎ−１番目に配置されたレジスタユニット１までをバイパスし、ｎ番目に配置されたレジスタユニット１からデータバス１５へ出力される。
【００６１】
このバス制御回路の特徴は、バスインターフェースの論理的な構成を維持しながら、レジスタのデータ入出力信号が入出力混合信号としてシリアルに接続されているトポロジーを有している点である。この特徴によれば、図２を参照して説明したように、バスに接続されるデータ信号配線の総配線長を削減することができるため、ＬＳＩの配置配線時に配線リソースの消費を削減し、配線混雑を抑制する効果がある。
【００６２】
以上のように実施の形態１によれば、バスライン１２から供給される書き込みデータを書き込むレジスタ回路２と、バスライン１２から供給された書き込みデータとレジスタ回路２から読み出された読み出しデータとのいずれかを選択するセレクタ３と、セレクタ３によって選択された書き込みデータを書き込むレジスタ回路２と、セレクタ３によって選択された書き込みデータおよび読み出しデータのいずれかと対応するレジスタ回路２から読み出された読み出しデータとのいずれかを選択するセレクタ３とを具備している。このため、レジスタ回路２とセレクタ３とによって構成される各レジスタユニット１が互いにシリアルに接続されるので、各レジスタユニット１に対してデータを入出力するための入出力データ線の総配線長が、各レジスタユニット１が互いにパラレルに接続される従来技術の構成における総配線長よりも短くなる。従って、入出力データ線を配置するための配線リソースの消費が抑制される。その結果、バスライン制御回路を構成するＬＳＩにおけるチップサイズの増大を防ぐことができる。
【００６３】
（実施の形態２）
図３は、実施の形態２に係るバスライン制御回路１００Ａの構成を示すブロック図である。図１を参照して前述したバスライン制御回路１００の構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。前述したバスライン制御回路１００と異なる点は、アドレスデコーダ４の替わりにアドレスデコーダ４Ａを備えている点、コマンドデコーダ１８とフィードバックセレクタ１９とスイッチ素子２１とデータホールド回路２２と検出素子２４とをさらに備えている点である。
【００６４】
アドレスデコーダ４Ａは、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定されると、アドレスバス１３から入力されるアドレス信号１６によって表されるバースト転送の最初のレジスタ回路に対応するスタートアドレスとバースト転送のワード長（バースト長）とに基づいて、スタートアドレスからスタートアドレスにバースト長を加算したアドレスまでのアドレスに対応する複数のレジスタ回路２を選択するためのレジスタ選択信号７Ａをイネーブル（ＨＩＧＨ）にする。
【００６５】
レジスタ単位のデータ転送がモード選択信号２０によって指定されたときは、アドレスデコーダ４Ａは、実施の形態１と同様に、アドレス信号１６によって指定されたアドレスに対応する１個のレジスタ回路２を選択するためのレジスタ選択信号７Ａのみをイネーブル（ＨＩＧＨ）にする。
【００６６】
コマンドデコーダ１８は、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定されると、書き込み制御信号８および読み出し制御信号９をともにイネーブル（ＬＯＷ）にして出力する。レジスタ単位のデータ転送がモード選択信号２０によって指定されると、コマンドデコーダ１８は、書き込み制御信号８および読み出し制御信号９をそのまま出力する。
【００６７】
フィードバックセレクタ１９は、コマンドデコーダ１８から出力されたモード選択信号２０に応じて、データバス１５からの書き込みデータと他端に配置されたレジスタユニット１に設けられたセレクタ３から出力された読み出しデータとのいずれかを選択して、一端に配置されたレジスタユニット１に設けられたレジスタ回路２とセレクタ３とへ出力する。
【００６８】
このように構成されたバスライン制御回路１００Ａの動作を説明する。まず、バスライン１２に平行な方向に沿って配置されたｎ個（ｎは、３以上の整数）のレジスタユニット１のうち一端から３番目に配置されたレジスタユニット１に設けられたレジスタ２から、ｋ番目（ｋは、３よりも大きくｎよりも小さい整数）に配置されたレジスタユニット１に設けられたレジスタ回路２に、シフトレジスタ単位で書き込みデータを転送する動作を説明する。
【００６９】
まず、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定され、３番目に配置されたレジスタユニット１に設けられたレジスタ２のアドレスとバースト長ｋとを表すアドレス信号１６がアドレスデコーダ４Ａに入力されると、アドレスデコーダ４Ａは、３番目に配置されたレジスタ２からｋ−１番目に配置されたレジスタ２までに対応するレジスタ選択信号７Ａをイネーブルにする。
【００７０】
コマンドデコーダ１８は、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定されているので、書き込み制御信号８および読み出し制御信号９をともにイネーブル（ＬＯＷ）にして出力し、フィードバックセレクタ１９は、データバス１５から入力された書き込みデータを選択する。
【００７１】
一端に配置されたレジスタユニット１に設けられたセレクタ３は、フィードバックセレクタ１９から受け取った書き込みデータを選択する。２番目に配置されたレジスタユニット１に設けられたセレクタ３は、一端に配置されたレジスタユニット１に設けられたセレクタ３によって選択された書き込みデータを選択する。
【００７２】
このようにして、一端に配置されたレジスタユニット１へフィードバックセレクタ１９から供給された書き込みデータは、一端に配置されたレジスタユニット１から２番目に配置されたレジスタユニット１までをバイパスする。
【００７３】
３番目に配置されたレジスタユニット１に配置されたレジスタ回路２は、対応する書き込みイネーブル信号生成回路５から出力された書き込みイネーブル信号１０に応じて、１番目に配置されたレジスタユニット１から２番目に配置されたレジスタユニット１までをバイパスした書き込みデータを書き込む。
【００７４】
３番目に配置されたレジスタユニット１に配置されたセレクタ３は、対応する読み出しイネーブル信号生成回路６から出力された読み出しイネーブル信号１１に応じて、対応するレジスタ回路２から読み出された読み出しデータを選択する。
【００７５】
４番目に配置されたレジスタユニット１に配置されたレジスタ回路２は、対応する書き込みイネーブル信号生成回路５から出力された書き込みイネーブル信号１０に応じて、３番目に配置されたセレクタ３によって選択された読み出しデータを書き込む。
【００７６】
４番目に配置されたレジスタユニット１に配置されたセレクタ３は、対応する読み出しイネーブル信号生成回路６から出力された読み出しイネーブル信号１１に応じて、対応するレジスタ回路２から読み出された読み出しデータを選択する。
【００７７】
このようにして、１番目に配置されたレジスタユニット１から２番目に配置されたレジスタユニット１までをバイパスした書き込みデータは、ｋ番目に配置されたレジスタ回路２に書き込まれる。
【００７８】
ｋ番目に配置されたレジスタ回路２に書き込まれた書き込みデータは、ｋ＋１番目に配置されたレジスタユニット１からｎ番目に配置されたレジスタユニット１までをバイパスして、データバス１５へ出力される。
【００７９】
このように、データバス１５からの書き込みデータは、１番目に配置されたレジスタユニット１から２番目に配置されたレジスタユニット１までをバイパスして、３番目に配置されたレジスタユニット１に設けられたレジスタ回路２からｋ番目に配置されたレジスタユニット１に設けられたレジスタ回路２までに順次書き込まれる。このため、３番目に配置されたレジスタ回路２からｋ番目に配置されたレジスタ回路２までが、データバス１５に接続されたシフトレジスタとして動作する。
【００８０】
従って、ｋ番目に配置されたレジスタ回路２に書き込むべき書き込みデータから３番目に配置されたレジスタ回路２に書き込むべき書き込みデータまでをこの順番にシリアルにデータバス１５から入力することにより、データ転送を実現することができる。
【００８１】
次に、３番目に配置されたレジスタユニット１に設けられたレジスタ２ないしｋ番目に配置されたレジスタユニット１に設けられたレジスタ回路２から、シフトレジスタ単位で読み出しデータを転送する動作を説明する。
【００８２】
まず、書き込み時と同様に、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定され、３番目に配置されたレジスタユニット１に設けられたレジスタ２のアドレスとバースト長ｋとを表すアドレス信号１６がアドレスデコーダ４Ａに入力されると、アドレスデコーダ４Ａは、３番目に配置されたレジスタ２からｋ−１番目に配置されたレジスタ２までに対応するレジスタ選択信号７Ａをイネーブルにする。
【００８３】
コマンドデコーダ１８は、シフトレジスタ単位のデータ転送がモード選択信号２０によって指定されているので、書き込み制御信号８および読み出し制御信号９をともにイネーブル（ＬＯＷ）にして出力する。フィードバックセレクタ１９は、ｎ番目に配置されたレジスタユニット１に設けられたセレクタ３から出力された読み出しデータを選択し、読み出しデータを１番目に配置されたレジスタユニット１へフィードバックする。
【００８４】
そして、３番目に配置されたレジスタユニット１に設けられたレジスタ回路２からｋ番目に配置されたレジスタユニット１に設けられたレジスタ回路２までは、データバス１５に接続されたシフトレジスタとして動作する。従って、ｋ番目に配置されたレジスタ回路２のデータから３番目に配置されたレジスタ回路２のデータまでがこの順番にデータバス１５へ出力される。
【００８５】
この時、シフトレジスタをシフトさせることでレジスタ回路の値が書き変わってしまうことを防止するため、フィードバックセレクタ１９によってデータをフィードバックさせて、シフト出力と同時にそのシフト出力をシフトレジスタとして動作するレジスタ回路２に書込んで元のデータを保持するようにしている。
【００８６】
本発明の特徴であるシフトレジスタ単位のデータ転送は、従来のバス制御回路と比較してより高速なデータ転送を実現しやすい。レジスタ単位のアクセスでは、アドレス入力してからレジスタを選択するまでのデコード回路など（アドレス信号１６から書込み制御信号８及び読み出し制御信号９まで）の論理段数が多くために遅延が大きくなる結果、高速化を阻害していたが、シフトレジスタ単位のアクセスでは、アドレス処理は転送開始時のみであるため、シフトレジスタを構成した後はデータ転送パスが各レジスタ回路２の間に設けられたセレクタ３のみの論理段となる。また、シフトクロックに同期した構成であるのでタイミング設計が容易となり高速化に有利となる。特に連続データ転送時における効果が大きい。加えて、アドレス制御が転送開始時のみであるために、比較的制御が容易になるうえ、アドレスデコードの動作量が少ないため消費電力も低減される。
【００８７】
検出素子２４は、書き込み制御信号８または読み出し制御信号９に基づいて、シフトレジスタ単位でのデータ転送中であるか否かを判断する。シフトレジスタ単位でのデータ転送中でないと検出素子２４が判断したときは、各スイッチ素子２１はオンとなる。そして、参照回路１７は、各レジスタ回路２のレジスタ値を参照する。各データホールド回路２２には、それぞれ対応するレジスタ回路２のレジスタ値が保持される。
【００８８】
シフトレジスタ単位でのデータ転送中であると検出素子２４が判断したときは、各スイッチ素子２１はオフになる。その結果、各レジスタ回路２は参照回路１７と電気的に切り離される。各データホールド回路２２には、各レジスタ回路２が参照回路１７と電気的に切り離される前の各レジスタ回路２のレジスタ値が保持されている。
【００８９】
このように、シフトレジスタ単位でのデータ転送中は、参照回路１７を各レジスタ回路２から完全に切り離し、無効なレジスタ値を参照回路１７へ伝播させないようにしている。
【００９０】
実施の形態２においては、シストレジスタ単位でのデータ転送を行う場合において、シフト動作中に当該レジスタの値を参照している参照回路１７が予期しない誤動作を起こさないようにして、バスシステムの安全性及び信頼性を保つことができる。
【００９１】
シフトレジスタ単位でのデータ転送を行う場合において、シフト動作中はレジスタ回路２の値が変化しており、その時のレジスタ回路２の値は無効である。従って、シフトレジスタ単位でのデータ転送時のレジスタ回路２の値は使用禁止であり、当該レジスタ回路２の値を参照している参照回路１７は、その時に誤動作を起こさないような設計をしなければならない。
【００９２】
しかしながら、回路のフレキシビリティをあげるためには制御レジスタを多用するケースが多く複雑であるため、こういったデータ無効期間で予期せぬ誤動作を起こす可能性が少なくない。そのために、データ転送中に前記レジスタ値を参照している他の回路の動作に影響を与えないように、前記レジスタ値あるいは前記他の回路に供給する制御信号を制御するなど、レジスタ値の無効期間にレジスタ値が伝播しないしくみを備えることが対策の１つである。
【００９３】
実施の形態２においては、シフトレジスタ単位でのデータ転送中は、データ転送前のレジスタ回路２の値を保持する機構を設けて、参照している回路に無効レジスタ値が伝播しないようにしている。
【００９４】
なお、レジスシストレジスタ単位でのデータ転送中は参照回路１７へ供給されているクロックを停止することによって、参照回路１７が無効データを取り込まないようにしてもよい。
【００９５】
（実施の形態３）
図４（ａ）は実施の形態３に係る回路記述データ自動生成方法において入力される情報を説明するための図であり、図４（ｂ）は実施の形態３に係る回路記述データ自動生成方法において生成される回路記述データによるバスライン制御回路を説明するための図である。
【００９６】
実施の形態３においては、前述した実施の形態１および実施の形態２に係るバスライン制御回路を製造するための回路データを所望の仕様に基づいて自動的に生成する。
【００９７】
バスライン制御回路を製造するための回路データを自動生成するために用いる入力データは、バスインターフェース仕様２５とレジスタマップ２６とレジスタユニットモジュール２７とを含んでいる。
【００９８】
バスインターフェース仕様２５は、特定のバスインターフェースに依存せずに、実際設計しているシステムで用いられるバスアーキテクチャーの仕様やバス制御回路を搭載する機能ブロックの仕様に基づいた回路を生成するために用いる。実施の形態３では、実施の形態１において前述した図１に示す回路をイメージして、アドレス信号のビット幅とデータ信号のビット幅と制御信号と書き込み制御条件と読み出し制御条件とを定義している。具体的には、アドレス信号のビット幅が４ビット、データ信号のビット幅が１６ビット、制御信号はｎｗｅとｎｒｅ、書き込み制御条件はｎｗｅ＝０且つｎｒｅ＝１、読み出し制御条件はｎｗｅ＝１且つｎｒｅ＝０、それ以外の条件はノーオペレーションといった内容を定義している。
【００９９】
レジスタマップ２６は、各レジスタ名とそのレジスタに対応するアドレス値を仕様に基づいて決定し定義している。また、各レジスタをシリアルに接続するための順序を定義している。
【０１００】
レジスタユニットモジュール２７は、レジスタ回路２とセレクタ３とを含んだ回路データライブラリであり、これは本発明のレジスタユニット１の一単位構成となる部分である。レジスタユニットモジュール２７の構成は、レジスタ入力データ線が入力されるポートと入出力混合信号が出力されるポートと書込みイネーブル信号と読み出しイネーブル信号との入力ポートと参照回路１７にレジスタ値を供給するレジスタ出力ポートとを備えており、セレクタ３において前記レジスタ入力線とレジスタ出力データ線とが結合して入出力混合信号を出力している。
【０１０１】
バスライン制御回路を製造するための回路データは、ソフトウェアにより生成する。バスインターフェース仕様２５とレジスタマップ２６とは、ある文法に基づいた定型フォーマットを定義しておき、ユニットレジスタモジュール２７は回路データ（例えばハードウェア記述言語）で予め用意しておいて、これらの情報からバスライン制御回路の回路データ（例えばハードウェア記述言語）を生成する手順をプログラミングしてソフトウェアに実装する。
【０１０２】
生成する手順としては、バスインターフェース仕様２５によりアドレスデコーダ４の回路データを生成して、レジスタマップ２６によりアドレスデコーダ４と複数のレジスタユニットモジュール２７とバスライン制御回路モジュールの外部ポートとを接続する形態となる。
【０１０３】
図４（ｂ）に示すように、データ入力信号はレジスタユニットｒｅｇ０に入力され１０個のレジスタユニットがｒｅｇ０〜ｒｅｇ９の順番にシリアルに接続され、レジスタユニットｒｅｇ９からデータ出力信号が出力されるという具合に１０個のレジスタユニットモジュール２７がレジスタマップ２６で定義した接続順に接続されるレジスタユニット部を構成し、所望の書込みイネーブル信号と読み出しイネーブル信号とによってアドレスデコーダ４と接続される。外部ポート及び内部結線は、入力情報で定義されたビット幅を用いて正確なビット精度で生成され、結果としてＬＳＩ化が可能な回路データ（例えばハードウェア記述言語）が生成される。
【０１０４】
（実施の形態４）
図５（ａ）は実施の形態４に係るＤＭＡ回路２８の構成を示すためのブロック図であり、図５（ｂ）はＤＭＡ回路２８の動作を説明するための波形図である。図３を参照して前述したバスライン制御回路１００Ａの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１０５】
バスライン１２には、バスライン制御回路１００ＡとＣＰＵ３２とＲＡＭ３１とＤＭＡ回路２８とが接続されている。ＤＭＡ回路２８は、アドレス信号供給回路２９を備えている。ＣＰＵ３２およびＤＭＡ回路２８とアドレスバス１３との間には、セレクタ３３が設けられている。セレクタ３３は、ＤＭＡ転送時には、ＤＭＡ回路２８を選択し、ＤＭＡ転送でないときはＣＰＵ３２を選択する。アドレス信号供給回路２９は、バスライン制御回路１００Ａに設けられたアドレスデコーダ４Ａ（図３）へセレクタ３３およびアドレスバス１３を介してアドレス信号１６および制御信号を供給する。
【０１０６】
ＤＭＡ回路２８には、書き込みデータ供給回路３０が設けられている。書き込みデータ供給回路３０は、バスライン１２を構成するデータバス１５に接続されたＲＡＭ３１から書き込みデータを読み出し、バスライン制御装置１００Ａにおいて１番目に配置されたレジスタユニット１にデータバス１５を介して書き込みデータを供給する。
【０１０７】
このように構成されたＤＭＡ回路２８の動作を説明する。まず、ＤＭＡ回路２８へ起動がかかることにより、セレクタ３３がＤＭＡ回路２８側に切り替わりＤＭＡ回路２８がバスライン１２を使用することができる状態となる。次に、ＤＭＡ回路２８に設けられたアドレス信号供給回路２９は、バスライン制御回路１００Ａに対してアドレス信号１６および制御信号を出力し、シフトレジスタ単位の書き込みモードにバスライン制御回路１００Ａを設定する。
【０１０８】
そして、時刻Ｔ１の段階でスタートアドレスおよびバースト長がバスライン制御回路１００Ａに取り込まれシフトレジスタを構成する。その後、時刻Ｔ２からＤＭＡ回路２８に設けられた書き込みデータ供給回路３０は、ＲＡＭ３１に対して読み出しを行い続ける。
【０１０９】
ＲＡＭ３１から読み出されたデータはＤＭＡ回路２８に設けられた書き込みデータ供給回路３０に取り込まれ、書き込みデータ供給回路３０の内部でデータ出力バスからデータ入力バスに乗り換えを行い、バスライン制御回路１００Ａの１番目に配置されたレジスタユニット１へ書き込みデータを供給する。
【０１１０】
そして、バースト長分のシフト動作を行うことでシフトレジスタへ書込みができ、シフトレジスタの高速性を生かした高速なＤＭＡによるデータ転送が可能となる。
【０１１１】
（実施の形態５）
図６（ａ）は実施の形態５に係るダウンロード回路３４の構成を示すためのブロック図であり、図６（ｂ）はダウンロード回路３４の動作を説明するための波形図である。図３を参照して前述したバスライン制御回路１００Ａの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１１２】
バスライン１２には、バスライン制御回路１００ＡとＣＰＵ３２とＲＯＭ３８とダウンロード回路３４とが接続されている。ダウンロード回路３４は、アドレス信号ダウンロード回路３５を備えている。アドレス信号ダウンロード回路３５は、バスライン制御回路１００Ａに設けられたアドレスデコーダ４Ａ（図３）へアドレス信号１６および制御信号を直接ダウンロードする。
【０１１３】
ダウンロード回路３４には、書き込みデータダウンロード回路３６が設けられている。書き込みデータダウンロード回路３６は、書き込みデータをＲＯＭ３８から読み出し、バスライン制御装置１００Ａにおいて１番目に配置されたレジスタユニット１に書き込みデータを直接ダウンロードする。
【０１１４】
ダウンロード回路３４には、判定回路３７が設けられている。判定回路３７は、書き込みデータダウンロード回路３６によって、１番目に配置されたレジスタユニット１にダウンロードされた書き込みデータ４０とｎ番目に配置されたレジスタユニット１から出力された書き込みデータ４１とを比較することにより書き込みデータ４０がレジスタユニット１に正常にダウンロードされたか否かを判定する。
【０１１５】
ダウンロード回路３４およびバスライン１２とバスライン制御回路１００Ａとの間には、セレクタ３９が設けられている。セレクタ３９は、ダウンロード回路３４に設けられた書き込みデータダウンロード回路３６とデータバス１５とのいずれかを選択する。
【０１１６】
このように構成されたダウンロード回路３４の動作を説明する。まず、ダウンロード回路３４へ起動がかかることにより、セレクタ３９がダウンロード回路３４側に切り替わり、バスライン制御回路１００Ａはデータバス１５から切り離されダウンロード回路３４と接続された状態となる。
【０１１７】
次に、ダウンロード回路３４に設けられたアドレス信号ダウンロード回路３５がバスライン制御回路１００Ａに対してアドレス信号および制御信号を出力し、シフトレジスタ単位の書込みモードに設定する。
【０１１８】
そして、時刻Ｔ１の段階でスタートアドレスおよびバースト長がバスライン制御回路１００Ａに取り込まれシフトレジスタを構成すると同時に、ダウンロード回路３４に設けられた書き込みデータダウンロード回路３６はＲＯＭ３８に対して読み出しを開始する。
【０１１９】
ＲＯＭ３８から読み出されたデータは書き込みデータダウンロード回路３６に取り込まれ、書き込みデータダウンロード回路３６の内部でデータ出力バスからデータ入力バスに乗り換えを行い、バスライン制御回路１００Ａの１番目に配置されたレジスタユニット１へ、ＲＯＭ３８から読み出されたデータを書き込みデータ４０として供給する。以上の構成によりバースト長分のシフト動作を行うことでシフトレジスタへのデータ転送が完了する。
【０１２０】
判定回路３７は、書き込みデータダウンロード回路３６によって、１番目に配置されたレジスタユニット１にダウンロードされた書き込みデータ４０とｎ番目に配置されたレジスタユニット１から出力された書き込みデータ４１とを比較する。書き込みデータ４０と書き込みデータ４１とが一致していないときは、判定回路３７はエラーフラグ４２をダウンロード回路３４へ送信する。
【０１２１】
このように、判定回路３７による比較結果をダウンロード回路３４に返送する機構を設けることにより、ダウンロードが正しく実行されたことを確認することができ、正しく実行されなかった場合は再実行するべリファイ機能を実現することができる。その手順を以下に説明する。
【０１２２】
同じダウンロード動作を２回行い、１回目のダウンロード動作でレジスタ設定を行った後に、２回目のダウンロードを実行しながら判定回路３７が検出したエラーフラグ４２をダウンロード回路３４がモニターする。２回目のダウンロード時には、１回目で設定したデータがシフト出力として出力されるので、ダウンロードが正しく実行されていれば、１番目に配置されたレジスタユニット１に入力された書き込みデータ４０は最後に配置されたレジスタユニット１から出力される書き込みデータ４１と一致するはずである。したがって、エラーフラグ４２がＨＩＧＨになったらダウンロードが正しく実行されなかったと判断しダウンロード回路３４が再度ダウンロードを実行する。
【０１２３】
このように、電源立上げ時やリセット時などにバスライン制御回路に設けられたレジスタ回路の設定を高速に行う目的で、シフトレジスタ単位のデータ転送の機能を用いて、バスライン制御回路１００Ａのレジスタ回路と、予めレジスタ回路の設定値が書き込まれたＲＯＭ３８とのデータ転送をＣＰＵ３２からの制御を介せずに直接実行するダウンロード機能を有している。ダウンロード回路３４をＬＳＩ上に備えて、ダウンロード時にはダウンロード回路３４がバスライン制御回路１００Ａをバスライン１２から切り離し、ダウンロード回路３４とバスライン制御回路１００Ａとが直接接続されるようにする。ダウンロード回路３４は本発明のバスライン制御回路１００Ａのレジスタ回路に対しシフトレジスタ単位のデータ転送を指示する。また、ダウンロード回路３４はＲＯＭ３８もバスライン１２から切り離し、ダウンロード回路３４が直接ＲＯＭ３８をアクセスする。
【０１２４】
（実施の形態６）
図７（ａ）は、実施の形態６に係るバスライン制御回路１００Ｂの構成を模式的に示すブロック図であり、図７（ｂ）は、バスライン制御回路１００Ｂの動作を説明するための波形図である。図３を参照して前述したバスライン制御回路１００Ａの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【０１２５】
バスライン制御回路１００Ｂは、判定回路４３を備えている。判定回路４３は、１番目に配置されたレジスタユニット１へ供給された書き込みデータと最後に配置されたレジスタユニット１から出力された書き込みデータとを比較することにより書き込みデータが１番目に配置されたレジスタユニット１へ正常に供給されたか否かを判定する。
【０１２６】
バスライン制御回路１００Ｂには、データモニタ回路４４が設けられている。データモニタ回路４４は、判定回路４３による判定結果に応じて肯定確認応答（ＡＣＫ信号）をバスラインに出力する。
【０１２７】
このように構成されたバスライン制御回路１００Ｂの動作を説明する。
【０１２８】
まず、同じデータ転送を２回行い、１回目のデータ転送によってレジスタユニット１に設けられたレジスタ回路に書き込みを行った後に、２回目のデータ転送を実行しながら、判定回路４３による判定結果をデータモニタ回路４４がモニタする。
【０１２９】
２回目のデータ転送時には、１回目のデータ転送によってレジスタ回路に書き込まれた書き込みデータがシフト出力として出力されるので、データ転送が正しく実行されていれば、１番目に配置されたレジスタユニット１へ供給された書き込みデータと最後に配置されたレジスタユニット１から出力された書き込みデータとが一致するはずである。
【０１３０】
従って、２回目のデータ転送時において判定回路４３による比較結果が不一致とならなければ、データモニタ回路４４はデータ転送が正常に実行されたと判断することができ、ＣＰＵにＡＣＫ信号を送信してデータ転送が正常に終了したことを通知する。
【０１３１】
【発明の効果】
以上のように本発明によれば、チップサイズの増大を防ぐことができるバスライン制御回路を提供することができる。
【図面の簡単な説明】
【図１】実施の形態１に係るバスライン制御回路の構成を示すブロック図である。
【図２】実施の形態１に係るバスライン制御回路に設けられたレジスタユニットの配置形態を示す模式図である。
【図３】実施の形態２に係るバスライン制御回路の構成を示すブロック図である。
【図４】（ａ）は、実施の形態３に係る回路記述データ自動生成方法において入力される情報を説明するための図であり、
（ｂ）は、実施の形態３に係る回路記述データ自動生成方法において生成される回路記述データによるバスライン制御回路を説明するための図である。
【図５】（ａ）は、実施の形態４に係るＤＭＡ回路の構成を示すブロック図であり、
（ｂ）は、実施の形態４に係るＤＭＡ回路の動作を説明するための波形図である。
【図６】（ａ）は、実施の形態５に係るダウンロード回路の構成を示すブロック図であり、
（ｂ）は、実施の形態５に係るダウンロード回路の動作を説明するための波形図である。
【図７】（ａ）は、実施の形態６に係るバスライン制御回路の構成を模式的に示すブロック図であり、
（ｂ）は、実施の形態６に係るバスライン制御回路の動作を説明するための波形図である。
【図８】従来のバスライン制御回路の構成を示すブロック図である。
【図９】従来のバスライン制御回路に設けられたレジスタユニットの配置形態を示す模式図である。
【符号の説明】
１　レジスタユニット
２　レジスタ回路
３　セレクタ
４　アドレスデコーダ
５　書き込みイネーブル信号生成回路
６　読み出しイネーブル信号生成回路
７　レジスタ選択信号
８　書き込み制御信号
９　読み出し制御信号
１０　書き込みイネーブル信号
１１　読み出しイネーブル信号
１２　バスライン
１３　アドレスバス
１４　制御バス
１５　データバス
１６　アドレス信号
１７　参照回路
１８　コマンドデコーダ
１９　フィードバックセレクタ
２０　モード選択信号
２１　スイッチ素子
２２　データホールド回路
２３　レジスタ値
２４　検出素子
２５　バスインターフェース仕様
２６　レジスタマップ
２７　レジスタユニットモジュール
２８　ＤＭＡ回路
２９　アドレス信号供給回路
３０　書き込みデータ供給回路
３１　ＲＡＭ
３２　ＣＰＵ
３３　セレクタ
３４　ダウンロード回路
３５　アドレス信号ダウンロード回路
３６　書き込みデータダウンロード回路
３７　判定回路
３８　ＲＯＭ
３９　セレクタ
【図１】
2004054709.tif 000003
【図２】
2004054709.tif 000004
【図３】
2004054709.tif 000005
【図４】
2004054709.tif 000006
【図５】
2004054709.tif 000007
【図６】
2004054709.tif 000008
【図７】
2004054709.tif 000009
【図８】
2004054709.tif 000010
【図９】
2004054709.tif 000011