(57)【特許請求の範囲】
【請求項１】
同一の機能を実装した複数の機能ブロックに対する制御を各機能ブロックに対応づけたレジスタを介して行う制御部が、前記各レジスタで各々保持されている各機能ブロックのデータを読み出すためのレジスタデータリード回路であって、
前記制御部から前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを選択して出力するデータ選択部と、
前記各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力する比較部と、
前記データ選択部から出力される選択された機能ブロックのデータと前記比較部から出力される比較結果とを連結して、前記読み出し信号に対するリードデータとして前記制御部に出力する連結部とを備えた
ことを特徴とするレジスタデータリード回路。
【請求項２】
同一の機能を実装した複数の機能ブロックに対応づけるレジスタが複数のバンクに分割して割り当てられ、
比較部がバンク毎に実装され、
前記制御部から前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを保持しているレジスタが属するバンクに対し実装されている比較部から出力される比較結果を選択して出力する比較結果選択部を備え、
各比較部は、実装先のバンクに割り当てられたレジスタが各々保持している各機能ブロックのデータを比較して、比較結果を出力し、
連結部は、データ選択部から出力される選択された機能ブロックのデータと前記比較結果選択部から出力される選択された比較結果とを連結して、前記読み出し信号に対するリードデータとして前記制御部に出力する
請求項１に記載のレジスタデータリード回路。
【請求項３】
レジスタで保持される機能ブロックのデータのビット列に対するマスク値を保持するビットマスク保持部を備え、
比較部は、前記ビットマスク保持部に保持されているマスク値により有効とされたビット値のみを対象にした比較を行う
請求項１または請求項２に記載のレジスタデータリード回路。
【請求項４】
読み出し信号の対象となるデータおよび該データを保持しているレジスタが属するバンクを、該読み出し信号が有効になった時のアドレスバスが示すアドレス値から特定する
請求項１から請求項３のうちのいずれか１項に記載のレジスタデータリード回路。
【請求項５】
機能ブロックとして、送信チャネル別の送信データを生成する送信データ生成ブロックが実装された無線基地局制御装置に適用される
請求項１から請求項４のうちのいずれか１項に記載のレジスタデータリード回路。
【請求項６】
同一の機能を実装した複数の機能ブロックに対応づけて実装され、外部からの前記機能ブロックに対する制御に係り、対応する機能ブロックのデータを保持するレジスタと、
外部から入力される前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを選択して出力するデータ選択部と、
前記各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力する比較部と、
前記データ選択部から出力される選択された機能ブロックのデータと、前記比較部から出力される比較結果とを連結して、前記読み出し信号に対するリードデータとして外部に出力する連結部とを備えた
ことを特徴とする半導体集積回路。
【請求項７】
同一の機能を実装した複数の機能ブロックに対応づけるレジスタが複数のバンクに分割して割り当てられ、
比較部がバンク毎に実装され、
外部から入力される前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを保持しているレジスタが属するバンクに対し実装されている比較部から出力される比較結果を選択して出力する比較結果選択部を備え、
各比較部は、実装先のバンクに割り当てられたレジスタが各々保持している各機能ブロックのデータを比較して、比較結果を出力し、
連結部は、データ選択部から出力される選択された機能ブロックのデータと前記比較結果選択部から出力される選択された比較結果とを連結して、前記読み出し信号に対するリードデータとして外部に出力する
請求項６に記載の半導体集積回路。
【請求項８】
同一の機能を実装した複数の機能ブロックに対する制御を各機能ブロックに対応づけたレジスタを介して行う制御部からの読み出し要求に対して、前記各レジスタで各々保持されている各機能ブロックのデータを出力する際のレジスタデータ出力方法であって、
前記制御部から前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを選択して出力し、
前記各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力し、
前記選択された機能ブロックのデータと、別途比較部を用いて前記レジスタが各々保持しているデータを比較させた結果得られる全て一致しているか否かを示す比較結果とを連結して、前記読み出し信号に対するリードデータとして前記制御部に出力する
ことを特徴とするレジスタデータ出力方法。
【請求項９】
同一の機能を実装した複数の機能ブロックに対応づけるレジスタを複数のバンクに分割して割り当て、
前記制御部から前記各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを保持しているレジスタが属するバンクに対し実装されている比較部から出力される比較結果を選択して出力し、
選択された機能ブロックのデータと選択された比較結果とを連結して、前記読み出し信号に対するリードデータとして前記制御部に出力する
請求項８に記載のレジスタデータ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理の分野において、同一の機能を実装した複数の機能ブロックに対する制御をレジスタを介して行う制御部が、レジスタが保持している機能ブロックのデータを読み出す際に用いられるレジスタデータリード回路、半導体集積回路およびレジスタデータ出力方法に関する。
【背景技術】
【０００２】
ＣＰＵ等のプロセッサユニットがレジスタを介して特定の機能を実装した機能ブロックに対する制御を行うデータ処理装置では、該プロセッサユニットが、各機能ブロックがリセットされたかどうかの確認や、ステータス値の確認、設定値（書き込み制御をした値）の確認をするために、制御対象とされた機能ブロック数分のレジスタの値を読み出して処理していた。
【０００３】
プロセッサユニットからのレジスタを介した機能ブロックに対する制御の時間短縮技術に関し、例えば、特許文献１には、メモリリードの際に読み出されるデータが、予めレジスタに格納しておいたデコードしたいデータと一致したときに有効となる信号を出力するデコード機能付きメモリが記載されている。
【０００４】
また、例えば、特許文献２には、デスティネーション領域の値をデータレジスタに記憶しておき、読み出した転送データと該データレジスタの値を比較した結果同じであった場合に、その転送データのデスティネーション領域への書き込み動作を省略するＤＭＡ装置が記載されている。
【０００５】
また、例えば、特許文献３には、メモリに対する制御がシリアルコマンドで行われる回路での読み出し処理時間を短縮するためのメモリ読み出し処理時間短縮回路が記載されている。特許文献３には、メモリ読み出し処理時間短縮回路が、複数のメモリからそれぞれ読み出されたデータを含む入力コマンドの内容を比較し、その比較結果に基づき一致／不一致コマンドを組み立て１つの返信コマンドとして制御元に送る旨が記載されている。
【０００６】
【特許文献１】特開平０４−７７８２１号公報
【特許文献２】特開平０７−３２５７８１号公報
【特許文献３】特公平０７−７８７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
目的とするデジタル信号処理に必要な機能ブロックの数が少ない場合には、プロセッサユニットの処理時間の中で、該プロセッサユニットが各機能ブロックのデータをレジスタから読み出して処理する時間が占める割合は小さい。しかし、電子回路の規模が大きくなるにつれ、搭載する機能ブロックの数が増えると、レジスタから各機能ブロックのデータを読み出す時間やその値が正しいかどうかを確認する時間が、プロセッサユニットの処理時間の中で大きな時間を占めるようになり、データ処理装置全体のスループットを低下させるおそれがある。
【０００８】
ここで、特許文献１や特許文献２に記載されている技術はいずれも、ある１つの対象について書き込む値と実際に書き込まれている値とを比較することにより、処理時間を低減させようというものであって、複数搭載された機能ブロックのデータの読み出し時間を短縮させようという思想はない。
【０００９】
なお、特許文献３に記載されているメモリ読み出し処理時間短縮回路は、書き込みを同一に行った複数のメモリから返ってくる複数の返信コマンドを１つに組み立てて送出することにより、同一内容を持つ複数のメモリ回路に対する読み出し処理時間を短縮しようというものである。すなわち、同一内容を持つという前提の元に適用されるものであって、そうでない対象に適用することまでは考慮されていない。例えば、同一内容を持っていなかったときに、エラーとして処理するのではなく、個別に読み出すことができるようにしたり、このような一連の読み出し時間をいかに短くするかについてまで考慮されているわけではない。
【００１０】
そこで、本発明は、同一の機能を実装した複数の機能ブロックのデータの読み出し時間や読み出したデータ値の比較時間を削減することにより、装置全体のスループットを向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるレジスタデータリード回路は、同一の機能を実装した複数の機能ブロックに対する制御を各機能ブロックに対応づけたレジスタを介して行う制御部が、各レジスタで各々保持されている各機能ブロックのデータを読み出すためのレジスタデータリード回路であって、制御部から各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、読み出し信号の対象となったデータを選択して出力するデータ選択部と、各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力する比較部と、データ選択部から出力される選択された機能ブロックのデータと比較部から出力される比較結果とを連結して、読み出し信号に対するリードデータとして制御部に出力する連結部とを備えたことを特徴とする。
【００１２】
また、本発明による半導体集積回路は、同一の機能を実装した複数の機能ブロックに対応づけて実装され、外部からの機能ブロックに対する制御に係り、対応する機能ブロックのデータを保持するレジスタと、外部から入力される各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、読み出し信号の対象となったデータを選択して出力するデータ選択部と、各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力する比較部と、データ選択部から出力される選択された機能ブロックのデータと、比較部から出力される比較結果とを連結して、読み出し信号に対するリードデータとして外部に出力する連結部とを備えたことを特徴とする。
【００１３】
また、本発明によるレジスタデータ出力方法は、同一の機能を実装した複数の機能ブロックに対する制御を各機能ブロックに対応づけたレジスタを介して行う制御部からの読み出し要求に対して、各レジスタで各々保持されている各機能ブロックのデータを出力する際のレジスタデータ出力方法であって、制御部から各機能ブロックに対応づけたレジスタが保持しているデータに対する読み出し信号が有効になった時に、読み出し信号の対象となったデータを選択して出力し、各機能ブロックに対応づけたレジスタが各々保持しているデータを比較して、全一致か否かを示す比較結果を出力し、選択された機能ブロックのデータと、別途比較部を用いてレジスタが各々保持しているデータを比較させた結果得られる全て一致しているか否かを示す比較結果とを連結して、読み出し信号に対するリードデータとして制御部に出力することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、同一の機能を実装した複数の機能ブロックのデータの読み出し時間や読み出したデータ値の比較時間を削減することができる。結果、装置全体のスループットを向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明によるレジスタデータリード回路の構成例を示すブロック図である。図１に示す例では、レジスタデータリード回路は、データ選択部２１と、比較部２２と、連結部２３とを備えて構成される。なお、図１において、点線はライト信号やリード信号、ＣＥ（チップイネーブル信号）といった制御信号の接続関係を表している。また、実線はライトデータやリードデータといったデータ信号の接続関係を表している。
【００１６】
図１に示す例は、同一の機能を実装したｎ個の機能ブロック１３−１〜１３−ｎに対する制御を各機能ブロックに対応づけたレジスタ１２−１〜１２−ｎを介して行う制御部１０が、レジスタ１２−１〜１２−ｎでそれぞれ保持されている各機能ブロック１３−１〜１３−ｎのデータを読み出すためのレジスタデータリード回路の例である。なお、本例では、機能ブロックとレジスタに付した符号のうち−（ハイフン）に続く部分で両者の対応づけを表現している。例えば、機能ブロック１３−１に対応するレジスタはレジスタ１２−１となる。同様に、機能ブロック１３−２に対応するレジスタはレジスタ１２−２となる。以下、レジスタ１２−Ｘが保持する機能ブロック１３−Ｘのデータを単にデータＸ（Ｘ＝１〜ｎ）と表現する場合がある。
【００１７】
ここで、機能ブロックとは、特定の機能を実装するために構成されたデバイスや回路群といったひとまとまりで動作するものの総称として用いている。機能ブロックとして、ＳＲＡＭやＤＲＡＭ、ＥＥＰＲＯＭといったデータを記憶するためのメモリデバイスだけでなく、例えば、符号化処理用回路群や、画像処理用回路群、通信制御用回路群といった様々な用途のユニットが考えられる。
【００１８】
データ選択部２１は、制御部１０から各機能ブロック１３（機能ブロック１３−１〜１３−ｎ）に対応づけたレジスタ１２（レジスタ１２−１〜１２−ｎ）が保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータ（データ１〜ｎのいずれか）を選択して出力する。データ選択部２１は、例えば、読み出し信号が有効になった時のアドレスバス（図示省略）が示すアドレス値から、読み出し信号の対象となるデータを特定してもよい。例えば、アドレスバスがデータ１に対し割り当てられたアドレス値を示していれば、データ選択部１２は、そのアドレス値が割り当てられているレジスタ１２−１が保持している機能ブロック１３−１のデータを選択して出力すればよい。
【００１９】
ここで、機能ブロックのデータとは、例えば、制御部１０がレジスタを介して機能ブロックを制御したときの制御データ値である。また、例えば、制御部１０がレジスタを介して機能ブロックにデータの書き込みを行ったときの書き込みデータ値である。なお、例えば、機能ブロックから出力されるステータス値であってもよい。図１では、制御部１０からの各機能ブロックに対応づけたレジスタに対する書き込み信号が有効になったことを受けて、チップ選択部１１がＣＥ（チップイネーブル信号）を出力することにより、対応するレジスタが、ライトデータを取り込んで機能ブロックに出力する過程で保持する例を示している。
【００２０】
比較部２２は、各機能ブロック１３（機能ブロック１３−１〜１３−ｎ）に対応づけたレジスタ１２（レジスタ１２−１〜１２−ｎ）が各々保持しているデータを比較して、全一致か否かを示す比較結果を出力する。
【００２１】
連結部２３は、データ選択部２１から出力される選択された機能ブロックのデータ（ここでは、データ１〜ｎのいずれか）と、比較部２２から出力される比較結果とを連結して、読み出し信号に対するリードデータとして制御部１０に出力する。
【００２２】
このように、本発明によれば、制御部１０が、ある機能ブロックに対応づけたレジスタが保持しているデータに対する１回の読み出し処理で、そのデータの値と、そのデータと他の機能ブロックに対応づけたレジスタが保持しているデータとが全て一致しているか否かの比較結果とを得ることができるので、同一の機能を実装した複数の機能ブロックのデータの読み出し時間や読み出したデータ値の比較時間を削減することができる。結果、装置全体のスループットを向上させることができる。
【００２３】
例えば、これらレジスタの初期値の確認や、全機能ブロックに同じ設定をした後リードバックして確認する際に、１回の読み出し処理で全一致の比較結果が得られれば、そのとき得られたデータ値を用いて所望の確認処理（正しい初期値や設定値と一致しているか否か等）を行うだけでよく、他のデータについて読み出し処理および確認処理を省略することができる。
【００２４】
また、例えば、全一致の比較結果が得られない場合であっても、１回の読み出し処理で指定した１つのデータ値を読み出すことができるので、その後に個々の読み出し処理をし直すといったここまでの処理が余計な処理となることもない。すなわち、全一致の比較結果が得られない場合であっても、個々に読み出し処理をおこなった場合と比べて、読み出し処理の回数および確認処理の回数を増やすことにはならない。
【００２５】
また、本発明によるレジスタデータリード回路は、例えば、図２のような構成をとることも可能である。図２は、本発明によるレジスタデータリード回路の他の構成例を示すブロック図である。図２に示すように、多くの機能ブロックを搭載する場合には、同一の機能を実装した複数の機能ブロック１３−１〜１３−ｎに対応づけるレジスタ１２−１〜１２−ｎを複数のバンクに分割して割り当て、比較部２２をバンク毎に実装してもよい。ここでは、レジスタ１２−１〜１２−ｎを２つのバンク（バンク１とバンク２）に分割し、バンク１にレジスタ１２−１〜１２−ａ（ここでは、ａ＝ｎ÷２（整数））までを割り当て、バンク２にレジスタ１２−（ａ＋１）〜１２−ｎを割り当てている。そして、バンク１に対応づけて比較部２２−１を、バンク２に対応づけて比較部２２−２を実装している。なお、図２では、各レジスタに対して制御を行う制御部１０および制御対象とするレジスタを選択するためのチップ選択部１１を図示省略しているが、これらは図１に示す例と同様である。
【００２６】
このような場合に、各比較部２２（比較部２２−１，２２−２）は、実装先のバンクに割り当てられたレジスタが各々保持している各機能ブロックのデータを比較して、全一致か否かを示す比較結果を出力する。例えば、比較部２２−１は、レジスタ１２−１〜１２−ａが各々保持している各機能ブロックのデータを比較して、全一致か否かの比較結果を示すデータを出力すればよい。なお、各バンクに、２以上のレジスタが属するように分割する。
【００２７】
なお、各比較部２２（比較部２２−１，２２−２）は、実装先のバンクに割り当てられたレジスタが各々保持している各機能ブロックのデータを比較して、全一致か否かの比較結果を出力すればよい。
【００２８】
本例では、このように複数実装される比較部２２に対応させるために、比較結果選択部２４をさらに備える。比較結果選択部２４は、制御部１０から各機能ブロック１３（機能ブロック１３−１〜１３−ｎ）に対応づけたレジスタ１２（レジスタ１２−１〜１２−ｎ）が保持しているデータに対する読み出し信号が有効になった時に、該読み出し信号の対象となったデータを保持しているレジスタが属するバンクに対し実装されている比較部２２（比較部２２−１，２２−２のいずれか）から出力される比較結果を選択して出力する。比較結果選択部２４は、例えば、読み出し信号が有効になった時のアドレスバスが示すアドレス値から、読み出し信号の対象となるデータを保持しているレジスタが属するバンクを特定してもよい。例えば、アドレスバスがデータ１に対し割り当てられたアドレス値を示していれば、比較結果選択部２４は、そのアドレス領域を含んでいるバンク１に対し実装されている比較部２２−１から出力される比較結果（すなわち、レジスタ１２−１〜１２−ａを対象にした比較結果）を示すデータを選択して出力すればよい。
【００２９】
また、連結部２３は、データ選択部２１から出力される選択された機能ブロックのデータと、比較結果選択部２４から出力される選択された比較結果とを連結して、読み出し信号に対するリードデータとして出力すればよい。
【００３０】
これにより、多くの機能ブロックを搭載する場合であっても、比較数が少なくなり、比較結果の出力時間を小さくすることができる。また、不一致時に、不一致になったレジスタの判別が容易になるという利点もある。
【００３１】
また、図２に示すように、レジスタで保持される機能ブロックのデータのビット列に対するマスク値を保持するビットマスク保持部２５を備えていてもよい。そのような場合意は、比較部２２は、ビットマスク保持部２５に保持されているマスク値により有効とされたビット値のみを対象にした比較を行う。これにより、指定したビットに係るもののみの比較結果を得ることができる。
【００３２】
以下、より具体的な実施形態について説明する。図３は、本発明によるレジスタデータリード回路の一実施例を示す概略回路図である。図３では、ｎ個の機能ブロックに対し、対応するｎ個のレジスタを介してＣＰＵが制御を行う場合のレジスタデータリード回路の構成例を示している。なお、図３に示す例では、ＣＰＵ等のプロセッサユニット（図示省略）のアドレスバス、ライト信号、リード信号、クロック信号（ＣＬＫ）、リセット信号（リセット１〜ｎ）およびライトデータを入力として、各機能ブロック１３を制御するＬＳＩ（半導体集積回路）に適用される例である。
【００３３】
図３に示す例では、ＬＳＩとして、少なくとも同一の機能を実装した複数の機能ブロック１３−１〜１３−ｎに対応づけて実装される制御レジスタ群（レジスタ１２−１〜１２−ｎ）と、そのレジスタ１２−１〜１２−ｎが保持するデータを読み出すためのレジスタデータリード回路を構成するデータセレクタ２１と、比較器２２と、ｂｉｔ連結器２３とを備える。また、レジスタ１２−１〜１２−ｎへのデータの書き込みに用いるチップセレクタ１１を備えている。なお、機能ブロック１３−１〜１３−ｎを含めて１つのＬＳＩとして実装することも可能であるが、機能ブロック１３−１〜１３−ｎを必ずしもＬＳＩ内部に備えていなくてもよい。
【００３４】
なお、データセレクタ２１は、図１におけるデータ選択部２１を実現する制御回路である。また、比較器２２は、図１における比較部２２を実現する制御回路である。また、ｂｉｔ連結器２３は、図１における連結部２３を実現する制御回路である。また、チップセレクタ１１は、図１におけるチップ選択部１１を実現する制御回路である。
【００３５】
本例では、各機能ブロック１３（機能ブロック１３−１〜１３−ｎ）は、同じ回路を使用しており、当該機能ブロックに対応づけたレジスタ１２（レジスタ１２−１〜１２−ｎのいずれか）のデータ出力（データ信号Ｑからの出力値）により制御される構成となっている。
【００３６】
ライトデータおよびクロック信号は、各レジスタ１２（レジスタ１２−１〜１２−ｎ）に接続される。また、リセット信号（リセット１〜ｎ）は、レジスタと１対１で接続される。
【００３７】
また、ライト信号は、チップセレクタ１１と接続される。リード信号は、データセレクタ２１と接続される。アドレスバスは、チップセレクタ１１およびデータセレクタ２１と接続される。
【００３８】
チップセレクタ１１では、外部（本例では、ＣＰＵ）から入力されるライト信号をラッチ（立ち上がりまたは立ち下がり変化を捕捉）して、アドレスバスの内容を取り込み、その値（アドレス値）に応じて、各レジスタに出力するチップイネーブル信号（ＣＥ）を生成し、出力する。ここでは、そのアドレス値が割り当てられたデータを保持しているレジスタへのチップイネーブル信号が有効な値になるように出力する。
【００３９】
レジスタ１２−１〜１２−ｎは、それぞれ外部（ＣＰＵ）からの機能ブロックに対する制御に係り、対応する機能ブロックのデータを保持する。各レジスタ１２は、例えば、フリップフロップにより構成され、チップセレクタ１１からのチップイネーブル信号をラッチし、入力されるライトデータ（データ信号Ｄへの入力値）を取り込み、保持しつつ、データ信号Ｑから出力することにより、対応づけられた機能ブロックの制御を行う。なお、本例では、入力されるライトデータをそのままデータ信号Ｑから出力する例を示しているが、所定の変換処理を行って出力するといったことも可能である。そのような場合には、機能ブロックに向けたデータ出力信号と、ＣＰＵへのリードバック用のデータ出力信号とを分けて設けてもよい。以下、レジスタが保持する機能ブロックのデータ（実際には、機能ブロックに関しＣＰＵへのデータ出力信号が示す値）をレジスタデータという。
【００４０】
データセレクタ２１では、外部（本例では、ＣＰＵ）から入力されるリード信号をラッチして、アドレスバスの内容を取り込み、そのアドレス値に応じて、該当するレジスタが保持しているデータ（レジスタデータ）を選択的に取り込み出力する。図３では、データセレクタ２１が出力するレジスタデータを選択データとして示している。
【００４１】
比較器２２では、各レジスタ（レジスタ１２−１〜１２−ｎ）が各々保持しているレジスタデータ全てを比較し、全て一致か否かを示す比較結果を出力する。比較器２２では、例えば、比較結果の出力用として１ビットデータ信号を用い、全て一致している場合には１をそうでない場合には０を出力してもよい。
【００４２】
ｂｉｔ連結器２３では、データセレクタ２１からの選択データと、比較器２２からの比較結果を入力とし、これらを連結して、リード信号に対するリードデータとして外部（ＣＰＵ）に出力する。
【００４３】
図４は、比較器２２の構成例を示すブロック図である。図４に示す例は、８個のレジスタデータを比較し、全一致か否かを出力する比較器２２の例である。図４に示す例では、１段目の比較器群として、レジスタデータ１（レジスタ１２−１に保持されているレジスタデータ）とレジスタデータ２とを比較する比較器Ａ１と、レジスタデータ３とレジスタデータ４とを比較する比較器Ａ２と、レジスタデータ５とレジスタデータ６とを比較する比較器Ａ３と、レジスタデータ７とレジスタデータ８とを比較する比較器Ａ４とを備えている。この１段目の比較器では、２つのレジスタデータ（Ｄ１，Ｄ２）を入力とし、比較結果（Ｒ）と、比較に用いたレジスタデータのいずれか（図４の例では、Ｄ１）とを出力する。
【００４４】
さらに、２段目の比較器群として、１段目の比較器群に含まれる比較器Ａ１と比較器Ａ２とから出力されるレジスタデータ（Ｄ１，Ｄ２）を比較する比較器Ｂ１と、比較器Ａ３と比較器Ａ４とから出力されるレジスタデータ（Ｄ１，Ｄ２）を比較する比較器Ｂ２とを備える。この２段目の比較器では、前段に位置する２つの比較器からそれぞれ出力される計２つのレジスタデータ（Ｄ１，Ｄ２）と、計２つの比較結果（Ｒ１，Ｒ２）とを入力とし、比較結果（Ｒ）と、比較に用いたレジスタデータのいずれか（図４の例では、Ｄ１）とを出力する。なお、２段目の比較器では、前段に位置する２つの比較器から入力される比較結果（Ｒ１，Ｒ２）がいずれも一致を示していた場合にのみ当該比較器で比較した結果を出力し、いずれか１つでも不一致を示す場合には、無条件に不一致を示す比較結果（Ｒ）を出力する。
【００４５】
そして、最終段の比較器群として、２段目の比較器群に含まれる比較器Ｂ１と比較器Ｂ２とから出力されるレジスタデータ（Ｄ１，Ｄ２）を比較する比較器Ｃ１を備える。この最終段の比較器では、前段に位置する２つの比較器からそれぞれ出力される計２つのレジスタデータ（Ｄ１，Ｄ２）と、計２つの比較結果（Ｒ１，Ｒ２）とを入力とし、比較結果（Ｒ）を出力する。比較結果の出力論理は、２段目の比較器群と同様である。すなわち、前段に位置する２つの比較器から入力される比較結果（Ｒ１，Ｒ２）のうちのいずれか１つでも不一致を示す場合には、がいずれも一致を示していた場合にのみ当該比較器で比較した結果を出力し、いずれか１つでも不一致を示す場合には、無条件に不一致を示す比較結果（Ｒ）を出力する。
【００４６】
このような構成を取ることで、比較器の段数に依存する比較処理に要する時間を短くすることができる。なお、図４に示す例では、８個のレジスタデータを比較し、全一致か否かを出力する比較器２２の例を示したが、例えば、１６個のレジスタデータを比較する場合には、１段目の比較器群として比較器Ａ１〜Ａ８を備え、２段目の比較器群としてＢ１〜Ｂ４を備えた上で、２段目の比較器群と同様の処理を行う３段目の比較器群としてＢ’１〜Ｂ’２を備えた次の段に最終段の比較器Ｃ１を備えればよい。
【００４７】
なお、例えば、データ１と２，２と３，３と４，・・・というように順次比較していく方法も可能であるが、レジスタの数（すなわち、搭載する機能ブロックの数）が多い場合には、図４に示すようなパラレルで動作させる方が好ましい。
【００４８】
また、比較器２２は、図５に示すような構成であってもよい。図５は、比較器２２の他の構成例を示すブロック図である。図５に示す例では、図４に示した比較器の前段に、カウンタの値により、比較対象とするレジスタデータ１〜８を保持している各レジスタからラッチして取り込むレジスタ１’〜８’を備えている。カウンタを設けることにより、取り込みタイミングを一律に合わせることができる。
【００４９】
次に、本実施形態の動作について説明する。図６は、本実施形態の動作例を示すタイミング図である。ここでは、ｎの値を４とし、各レジスタが４ビットレジスタ（すなわち、レジスタデータが４ビットデータ）である場合を例に説明する。また、比較結果を１ビットデータとし、ＣＰＵへのリードデータを５ビットデータとして生成する例を示す。
【００５０】
図６において、リセット１〜４は、Ｌｏｗレベルで有効なリセット信号である。ここでは、リセット状態から開始している。リセット状態では、レジスタ１２は、当該レジスタデータを初期値１で出力している（レジスタデータ１〜４＝１）。このとき、レジスタ１２−１〜１２−４は、それぞれ違う個体として実装される機能ブロック１３に接続されるが、同じ制御を行う機能であるため、比較器２２は、比較結果として全て一致を示す１（１ｂ：１ビットデータ）を出力する。
【００５１】
ここで、時刻Ｔ１でリセット１〜４が解除された（Ｈｉｇｈレベルに変化した）上で、時刻Ｔ２で、ＣＰＵがアドレスバスを００にして、リード信号をＬｏｗレベル（有効）にすると、レジスタのリードフェーズが開始される。なお、本例では、アドレスバスが示すアドレス値００〜０３がレジスタ１〜４のデバイスアドレスに対応しているものとする。例えば、アドレス値００であれば、レジスタデータ１が指定されたことになる。同様に、アドレス値０１であれば、レジスタデータ１が指定されたことになる。なお、デバイスアドレスは、ＣＰＵにてアドレス変換機構等により物理アドレスに変換することに指定できる。
【００５２】
これにより、リード信号をラッチしたデータセレクタ２１では、アドレスバスが示す００の値に基づき、読み出し対象となったレジスタデータ１を選択し、選択データとして出力する。また、この時点では、比較結果は、全て一致を示す１ｂのままであるので、ｂｉｔ連結器２３では、選択データとして入力されるレジスタデータ１の値（１ｈ：４ビットデータ）と、比較結果の値（１ｂ：１ビットデータ）とを連結して、リードデータの値を１１ｈ（１  ０００１ｂ：５ビットデータ）と出力する。
【００５３】
リードデータを読み込んだＣＰＵは、比較結果が全一致を示していることにより、１回の読み出し処理でレジスタ１２−１〜１２−４が全て同じ値（１ｈ：初期値）を保持していることを認知することができる。
【００５４】
次に、例えば、時刻Ｔ３で、ＣＰＵがアドレスバスを００に、ライトデータをＦにして、ライト信号をＬｏｗレベル（有効）にし、リード信号をＨｉｇｈレベルにすると、レジスタのライトフェーズが開始される。ここでは、まずチップセレクタ１１が、ライト信号がＬｏｗ区間のＣＬＫの立ち上がりエッジを受けて、レジスタ１２−１に向けてチップイネーブル信号を出力する。これにより、レジスタ１２−１がライトデータ値（Ｆｈ）をレジスタデータ１として保持しつつ、データ信号Ｑから制御データを出力する。これにより、レジスタデータ１がＦになる。また、レジスタデータ１がＦに変化したことにより、比較器２２から出力される比較結果が不一致を示す０となる。なお、比較器２２で比較対象とするデータの取り込みについて、例えば、ライトフェーズと同期させずに、ＣＰＵがリードするタイミングで取り込んだり、別途カウンタからの入力により一定周期毎に取り込むようにしてもよい。
【００５５】
ここでは、レジスタデータがＣＰＵからの制御のみで更新される例を示しているが、レジスタデータの値は、他の要因（機能ブロックからの出力やリセット信号）で更新されたり、ある時間が経過したら自動でクリアされる場合もある。
【００５６】
次に、時刻Ｔ４で再度ＣＰＵがアドレスバスを００にして、リード信号をＬｏｗレベルにすると、リード信号をラッチしたデータセレクタ２１が、アドレスバスが示す００の値に基づき、読み出し対象となったレジスタデータ１を選択し、選択データとして出力する。結果、ｂｉｔ連結器２３が、選択データとして入力されるレジスタデータ１の値（Ｆｈ）と、比較結果の値（０ｂ）とを連結して、リードデータの値を０Ｆｈ（０  １１１１ｂ）と出力する。ここでは、レジスタデータ１のみ時刻Ｔ３で書き換えられたことにより、比較結果として不一致を示す０を含むリードデータが生成され出力される。
【００５７】
以降、アドレスバスを０１，０２，０３と順次移行させてリードフェーズを続けると、レジスタデータ２〜４の値はそれぞれ１ｈであるため、順次、リードデータとして０１ｈ，０１ｈ，０１ｈが出力されることになる。すなわち、０１ｈが出力され続ける。
【００５８】
次に、時刻Ｔ５でＣＰＵがアドレスバスに０１を設定して、ライトデータにＦを設定し、リード信号をＨｉｇｈにするとともにライト信号をＬｏｗレベルにすると、チップセレクタ１１からのチップイネーブル信号を受けたレジスタ１２−２が、ライトデータ値（Ｆｈ）をレジスタデータ２として保持する。以降、アドレスバスを０２，０３と順次移行させるとともに、その都度ライト信号をＬｏｗレベルに立ち下げる（Ｈｉｇｈレベルにした後Ｌｏｗレベルにする）と、レジスタデータ３，４の値もライトデータ値（Ｆｈ）に書き換えられる。レジスタデータ４までライトデータ値（Ｆｈ）に書き換えられたことにより、比較器２２から出力される比較結果が全一致を示す１となる。
【００５９】
次に、時刻Ｔ６で再度ＣＰＵがレジスタデータ１への読み出し処理を行うと、リード信号をラッチしたデータセレクタ２１がレジスタデータ１を選択データとして出力することにより、ｂｉｔ連結器２３が、レジスタデータ１の値（Ｆｈ）と、比較結果の値（１ｂ）とを連結して、リードデータの値を１Ｆｈ（１  １１１１ｂ）と出力する。ここでは、レジスタデータ１〜４が全て同じ値に書き換えられたことにより、比較結果として全一致を示す１を含むリードデータが生成され出力される。
【００６０】
リードデータを読み込んだＣＰＵは、比較結果が全一致を示していることにより、１回の読み出し処理でレジスタ１２−１〜１２−４が全て同じ値（Ｆｈ）を保持していることを認知することができ、他のレジスタデータ（レジスタデータ２〜４）を読み出す必要はない。
【００６１】
例えば、時刻Ｔ７で、リセット３がＬｏｗになり、レジスタ１２−３がリセットされたとする。これにより、レジスタデータ３のみ初期値１ｈに戻り、比較結果が不一致を示す０となる。その後、時刻Ｔ８でＣＰＵがレジスタデータ１への読み出し処理を行うと、リード信号をラッチしたデータセレクタ２１がレジスタデータ１を選択データとして出力することにより、ｂｉｔ連結器２３が、レジスタデータ１の値（Ｆｈ）と、比較結果の値（０ｂ）とを連結して、リードデータの値を０Ｆｈ（０  １１１１ｂ）と出力する。
【００６２】
リードデータを読み込んだＣＰＵは、比較結果が不一致を示していることにより、いずれかのレジスタデータの値が異なることを認知し、他のレジスタデータ（レジスタデータ２〜４）を順次読み出せばよい。
【００６３】
次に、当該レジスタデータリード回路を利用するＣＰＵの動作について一例を示す。図７は、本実施形態のレジスタデータリード回路を使用するＣＰＵの動作例を示すフローチャートである。図７に示すように、ＣＰＵは、機能ブロック１３−１〜１３−ｎの制御レジスタ１２−１〜１２−ｎの確認処理を開始すると、制御レジスタの先頭アドレスに対する読み出し処理を行う（ステップＳ１０１）。
【００６４】
次に、読み出し処理で得られたリードデータに含まれる比較結果ビットを参照し、全一致を示す１であれば（ステップＳ１０２のＹｅｓ）、リードデータに含まれるデータビットで示されるデータ値とＣＰＵの期待値とを照合する（ステップＳ１０３）。照合の結果、一致すれば、制御レジスタ群のデータが全て正常値であるとして、正常終了する（ステップＳ１０４）。
【００６５】
一方、照合の結果一致しなければ、制御レジスタ群のデータが全て異常値であるとして、異常処理系へ移行すればよい（ステップＳ１０５）。
【００６６】
また、ステップＳ１０２において、比較結果ビットが全一致を示す１でなければ（ステップＳ１０２のＮｏ）、今読み出したリードデータに含まれるデータビットで示されるデータ値とＣＰＵの期待値とを照合し（ステップＳ１０６）、一致しなかった場合に該リードデータの読み出し対象としたレジスタのデータが異常値であるとして、検知する（ステップＳ１０７）。そして、レジスタ群のデータを全て読み出すまで（ステップＳ１０８のＮｏ）、次アドレスに対する読み出し処理を行い（ステップＳ１０９）、ステップＳ１０６〜ステップＳ１０７の処理を繰り返す。尚、先頭アドレスに対する確認処理は、ステップＳ１０１で読み出したリードデータを用いて既に行われているので、ＣＰＵは、次のアドレスから個別読み出し処理（ステップＳ１０９→Ｓ１０６→Ｓ１０７）を再開すればよい。なお、個別読み出し処理に続く確認処理では、データビットのみを参照すればよい。
【００６７】
レジスタ群のデータを全て確認しおえた時点で、これまでに検知された異常レジスタデータを元に、異常処理系を移行すればよい（ステップＳ１０８のＹｅｓ）。
【００６８】
このように、本実施形態によれば、ＣＰＵが、機能ブロック１３−１〜１３−ｎに対応づけたレジスタ１２−１〜１２−ｎが保持しているレジスタデータに対する１回の読み出し処理で、指定したレジスタデータの値と、そのレジスタデータと他のレジスタデータととが全て一致しているか否かの比較結果とを得ることができるので、同一の機能を実装した複数の機能ブロックのデータの読み出し時間や読み出したデータ値の比較時間を削減することができる。結果、装置全体のスループットを向上させることができる。
【００６９】
例えば、ＣＰＵがレジスタをリードする時間をｔｒとし、ＣＰＵが内部でリードしたデータを比較する時間をｔｃとする。ここで、比較器２２でｎ個のレジスタを比較する時間がｔｒｃであった場合には、ＣＰＵが個々に読み出すとｎ×（ｔｒ＋ｔｃ）の時間が必要になるのに比べ、本実施形態では、ｔｒｃ＋ｔｒ＋ｔｃの時間ですむ。
【００７０】
例えば、機能ブロックとして、送信チャネル別の送信データを生成する送信データ生成ブロックを１００チャネル分（ｎ＝１００）実装する無線基地局制御装置に適用した場合、送信データ生成ブロックを制御するレジスタはレジスタ１２−１〜１２−１００までの１００個となる。これらのレジスタの初期値を確認する場合、ＣＰＵが個々に読み出すと１００×（ｔｒ＋ｔｃ）の時間が必要になるのに比べ、本実施形態では、ｔｒｃ＋ｔｒ＋ｔｃの時間ですむ。
【００７１】
また、初期値の確認だけでなく、レジスタを介して全送信チャネルの出力イネーブルを制御したり、全送信チャネルのボーレート等のパラメータ値を設定したり、全送信チャネルの出力状態を示すステータス値（送信中／停止中）を確認する場合など、様々な場面で活用することができる。
【００７２】
また、レジスタデータの全ビットを比較対象とせずに、比較対象にするビットを指定できるマスク機能を追加することも可能である。図８は、マスク機能を追加した場合の比較器２２の構成例を示すブロック図である。図８に示す例では、図４に示した比較器の前段に、ビットマスク保持部２５として機能するマスクレジスタ２５を備え、レジスタ１’〜８’が、比較対象とするレジスタデータ１〜８を取り込む際に、マスクレジスタ２５で保持されているビットマスク値でマスクして取り込むように構成されている。なお、ビットマスク値が固定であれば、有効なビットのみを取り込むレジスタを用意し、有効なビット数のみで比較を行う比較器２２を備えることも可能である。
【００７３】
また、レジスタの比較を複数バンクに分割して行うことも可能である。図９は、レジスタデータリード回路の他の実施例を示すブロック図である。なお、図９では、比較処理に係る部分のみを示している。ここでは、レジスタ１２が５１２個ある場合を例にして説明する。ここでは、全５１２個のレジスタ１２を１２８個ずつ４つのバンクに分割している。バンク１に属するレジスタは、レジスタ１２−１〜１２−１２８である。また、バンク２に属するレジスタは、レジスタ１２−１２９〜１２−２５６である。また、バンク３に属するレジスタは、レジスタ１２−２５７〜１２−３８４である。また、バンク４に属するレジスタは、レジスタ１２−３８５〜１２−５１２である。
【００７４】
本例では、レジスタデータの比較を、バンク毎に４箇所で行う。そして、比較結果選択部２４として機能する比較結果セレクタ２４を備え、該比較結果セレクタ２４で、ＣＰＵからのリード信号をラッチして、アドレスバスの内容を取り込み、そのアドレス値に応じて、該当するバンクに対し実装された比較器２２（図９では比較器１〜４のいずれか）の比較結果を選択的に取り込み出力する。
【００７５】
これにより、１つの比較器２２における比較数が少なくなり、比較結果の出力時間をより小さくすることができる。また、不一致時に、不一致になったレジスタの判別が容易になるという利点もある。
【産業上の利用可能性】
【００７６】
本発明は、デジタル信号処理の分野において、制御部が、同一の機能を実装した複数の機能ブロックに対する制御をレジスタを介して行う装置に好適に適用可能である。
【図面の簡単な説明】
【００７７】
【図１】本発明によるレジスタデータリード回路の構成例を示すブロック図である。
【図２】レジスタデータリード回路の他の構成例を示すブロック図である
【図３】レジスタデータリード回路の一実施例を示す概略回路図である。
【図４】比較器２２の構成例を示すブロック図である。
【図５】比較器２２の他の構成例を示すブロック図である。
【図６】本実施形態の動作例を示すタイミング図である。
【図７】レジスタデータリード回路を使用するＣＰＵの動作例を示すフローチャートである。
【図８】マスク機能を追加した場合の比較器２２の構成例を示すブロック図である。
【図９】レジスタデータリード回路の他の実施例を示すブロック図である。
【符号の説明】
【００７８】
１０  制御部
１１  チップ選択部，チップセレクタ
１２，１２−１〜１２−ｎ  レジスタ
１３，１３−１〜１３−ｎ  機能ブロック
２１  データ選択部，データセレクタ
２２  比較部，比較器
２３  連結部，ｂｉｔ連結器
２４  比較結果選択部，比較結果セレクタ
２５  ビットマスク保持部，マスクレジスタ
【図１】
0004967166.tif 000002
【図２】
0004967166.tif 000003
【図３】
0004967166.tif 000004
【図４】
0004967166.tif 000005
【図５】
0004967166.tif 000006
【図６】
0004967166.tif 000007
【図７】
0004967166.tif 000008
【図８】
0004967166.tif 000009
【図９】
0004967166.tif 000010