(57)【特許請求の範囲】
【請求項１】
構成情報を記憶するコンフィギュレーションメモリと、
上記コンフィギュレーションメモリより供給される上記構成情報に応じて動的に回路構成を再構成可能な複数の演算器とを備え、
上記演算器は、
入力データを用いて上記構成情報に応じた処理を行うデータ処理部と、
上記データ処理部による処理結果を保持するとともに、保持した処理結果を出力データとして出力する出力データ保持部と、
上記出力データ保持部より出力する出力データが有効であるか否かを示す出力バリッド信号を出力する出力バリッド信号制御部と
を有することを特徴とする半導体装置。
【請求項２】
上記出力バリッド信号制御部は、上記構成情報により規定されるタイミングで上記出力バリッド信号を出力することを特徴とする請求項１記載の半導体装置。
【請求項３】
上記出力データ保持部は、
入力されるデータを一時保持して上記出力データとして出力するデータ保持部と、
上記データ処理部による処理結果及び上記データ保持部の出力が入力され、何れか一方を上記データ保持部の入力に供給するセレクタ部とを有することを特徴とする請求項１記載の半導体装置。
【請求項４】
上記出力バリッド信号制御部は、
クロック数もしくはデータ数をカウントするカウンタ部と、
上記カウンタ部のカウント値と、上記構成情報により規定される上記出力バリッド信号の出力タイミングに係る値とを比較する比較部と、
上記比較部での比較結果に基づいて、上記出力バリッド信号を生成し出力する出力バリッド信号生成部とを有することを特徴とする請求項１記載の半導体装置。
【請求項５】
上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報に応じた動作を開始してから所定時間が経過した後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする請求項１記載の半導体装置。
【請求項６】
上記出力データ保持部及び上記出力バリッド信号制御部が、有効な入力データが入力されてから所定時間が経過した後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする請求項１記載の半導体装置。
【請求項７】
上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データが入力された後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする請求項１記載の半導体装置。
【請求項８】
上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データが入力された後に一度だけ有効な出力データを出力するよう制御を行うことを特徴とする請求項１記載の半導体装置。
【請求項９】
上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データに対して、最初の有効な入力データが入力されたときのみ有効な出力データを出力するよう制御を行うことを特徴とする請求項１記載の半導体装置。
【請求項１０】
請求項１記載の半導体装置を用いて、ベースバンド処理に係る機能の全部又は一部を実行することを特徴とする無線通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、詳しくは再構成可能な半導体装置におけるデータフロー制御技術に関する。
【背景技術】
【０００２】
粗粒度リコンフィギュラブル回路は、様々な機能を備えた複数のプロセッシングエレメントと、それらプロセッシングエレメント間を接続する内部接続ネットワークで構成される。粗粒度リコンフィギュラブル回路は、コンフィギュレーションデータに応じてプロセッシングエレメントの機能及び内部接続ネットワークの経路が設定され、そのコンフィギュレーションデータを変更することにより任意の機能を実現する。つまり、粗粒度リコンフィギュラブル回路は、プロセッシングエレメントで実行する処理内容及び処理に供されるデータの経路が、コンフィギュレーションデータに応じて動的に再構成可能になっている。
【０００３】
プロセッシングエレメントは、四則演算、シフト、マスクなどのワード単位の演算や、タイミング調整のための遅延処理、セレクタのような条件命令処理及びＡＮＤ（論理積）演算／ＯＲ（論理和）演算などのビット処理といった機能を備えている。また、それらの機能等を利用して、プロセッシングエレメントにカウンタの機能を持たせることも可能である。
【０００４】
ワイヤレス通信等のストリーム系アプリケーションの処理（通信用ストリームデータに係る処理）においては、データのフロー制御を伴う処理が含まれる。このようなフロー制御を伴う処理には、一つの入力データをシーケンシャルな系列データに変換してパイプライン処理を実行したり、逆にシーケンシャルな系列データの中から一つだけ有効なデータを取り出して演算したりする処理がある。前者の例としては、１ビットの入力（符号）に多ビットの拡散符号を掛け合わせて多ビットの信号に変換する符号拡散処理（図８（Ａ）参照）があり、後者の例としては、異なる周波数で動作する回路間、例えば低周波数動作の回路から高周波数動作の回路に対するデータ転送処理（図９参照）がある。
【０００５】
このような処理を実現するためには、回路構成が固定される通常の回路であれば当該処理のみを実行する回路を予め組み込んでおけば良い。一方、リコンフィギュラブル回路においては、いわゆるデータフローマシンのような処理形態が望ましい。そのため、プロセッシングエレメントが備える基本機能を用いて上述したような処理を実現するには、多くのプロセッシングエレメントが必要となる。
【０００６】
例えば、リコンフィギュラブル回路にて、図８（Ａ）に示したような多ビット（例えば、ｎビット）の拡散符号を用いる符号拡散処理を実現する場合には、同じ入力（符号）を時間的に繰り返すために、１ビットの入力（符号）をさらに（ｎ−１）ビット分繰り返す。その入力とｎビットの拡散符号とを掛け合わせることにより、符号拡散処理されたｎビットの信号を得ることになる。
【０００７】
具体的には、図８（Ｂ）に示すように入力信号を分岐させて複数のパラレル信号に変換した後、セレクタ１０３がカウンタ１０２の出力に応じて信号を順次選択することによりパラレルシリアル変換処理を行ってシーケンシャルな１次元系列の信号を得る。そして、この１次元系列の信号と拡散符号とを排他的論理和演算器（ＸＯＲ演算器）１０４により掛け合わせて所望の拡散処理された符号が得られる。ここで、セレクタ１０３によるパラレルシリアル変換処理の前段では、遅延器１０１−１、１０１−２、…、１０１−（ｎ−１）により、それらの出力がシーケンシャルな配列になるようにタイミングの調整が行われる。
【０００８】
遅延器１０１、カウンタ１０２、セレクタ１０３、及びＸＯＲ演算器１０４のそれぞれは、１つのプロセッシングエレメントにより構成される。したがって、例えばｎビットの拡散符号を用いた符号拡散処理をリコンフィギュラブル回路により実現するためには、最大ｎの遅延が可能な（ｎ−１）個の遅延器１０１、カウンタ１０２、ｎ入力のセレクタ１０３、及びＸＯＲ演算器１０４が使用され、多くのプロセッシングエレメントが必要となる。
【０００９】
【特許文献１】特開２００４−１９９６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、データの出力タイミングを制御可能な演算器を有する再構成可能な半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の半導体装置は、コンフィギュレーションメモリより供給される構成情報に応じて動的に回路構成を再構成可能な複数の演算器を有し、演算器は、データ処理部、出力データ保持部、及び出力バリッド信号制御部を有する。データ処理部が入力データを用いて構成情報に応じた処理を行って得られた処理結果を、出力データ保持部が保持する。そして、保持した処理結果を出力データとして出力データ保持部より出力するとともに、出力データが有効であるか否かを示す出力バリッド信号を出力バリッド信号制御部より出力する。
本発明によれば、入力データを処理して得られた処理結果を保持して出力データとして出力するとともに、その出力データが有効であるか否かを示す出力バリッド信号を出力するので、出力バリッド信号の出力タイミングを制御することにより出力データの出力タイミングが任意に制御可能となる。
【発明の効果】
【００１２】
本発明によれば、半導体装置の一部構成であって、供給される構成情報に応じて動的に回路構成を再構成可能な演算器が、入力データを基に得られる処理結果を保持し出力データとして出力する出力データ保持部、及びその出力データが有効であるか否かを示す出力バリッド信号を出力する出力バリッド信号制御部を有する。これにより、出力バリッド信号制御部からの出力バリッド信号の出力タイミングを制御することで、演算器外部に対するデータの出力タイミングを任意に制御することができる。したがって、データの出力タイミングを制御可能な演算器を有する再構成可能な半導体装置を提供するができ、従来と比較して少ない数の演算器で所望の処理を実現することが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【００１４】
図１は、本発明の一実施形態による半導体装置を適用したリコンフィギュラブル回路の構成例を示すブロック図である。なお、図１においては、１つの演算器（プロセッシングエレメント）１０を図示しているが、複数の図１に示すような演算器（プロセッシングエレメント）により本実施形態におけるリコンフィギュラブル回路が構成される。また、各々の演算器には構成情報としてのコンフィギュレーションデータが供給される。つまり、コンフィギュレーションメモリ２０は、リコンフィギュラブル回路が有する複数の演算器の各々に対して、コンフィギュレーションデータが供給可能なように接続されている。
【００１５】
本実施形態におけるリコンフィギュラブル回路は、コンフィギュレーションメモリ２０からのコンフィギュレーションデータに応じて、各演算器１０にて実行する処理（機能）及び演算器間等におけるデータの入出力経路が設定される。これにより、本実施形態におけるリコンフィギュラブル回路は、コンフィギュレーションデータに基づき回路構成が動的に再構成され、任意の機能を実現可能である。
【００１６】
ここで、本実施形態におけるリコンフィギュラブル回路内の演算器１０については、コンフィギュレーションデータにより規定されるデータの出力タイミングとして、図２及び図３に示すように、以下の５つのパターン（モードＡ、Ｂ、Ｃ、Ｄ、及びＥ）を設けている。各演算器１０は、それぞれ供給されるコンフィギュレーションデータに応じて、図２及び図３に示す５つのパターンを選択的に実現する。なお、データ出力タイミングの各モードの詳細については後述する。
【００１７】
＜モードＡ＞（図２（Ａ）参照。）
コンフィギュレーションの切り替え後（より詳細には、所定時間が経過して切り替え後のコンフィギュレーションデータに応じた動作を演算器１０で開始した後）、さらにオフセット時間が経過した後に最初の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。続いて、インターバル時間の間は、出力バリッド信号を無効にしておき、インターバル時間が経過した後に次の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。このインターバル時間間隔で出力信号を出力する処理を、規定した反復回数だけ繰り返し行う。
【００１８】
＜モードＢ＞（図２（Ｂ）参照。）
有効な（バリッド信号付の）信号が入力されてからオフセット時間が経過した後に最初の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。続いて、インターバル時間の間は、出力バリッド信号を無効にしておき、インターバル時間が経過した後に次の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。このインターバル時間間隔で出力信号を出力する処理を、規定した反復回数だけ繰り返し行う。
【００１９】
＜モードＣ＞（図２（Ｃ）参照。）
規定した個数の有効な（バリッド信号付の）信号が入力された後に最初の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。続いて、インターバル時間の間は、出力バリッド信号を無効にしておき、インターバル時間が経過した後に次の出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。このインターバル時間間隔で出力信号を出力する処理を、規定した反復回数だけ繰り返し行う。
【００２０】
＜モードＤ＞（図３（Ａ）参照。）
規定した個数の有効な（バリッド信号付の）信号が入力された後に、１回だけ出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力する。
【００２１】
＜モードＥ＞（図３（Ｂ）参照。）
有効な（バリッド信号付の）信号が入力された後に１回だけ出力信号（データの有効性を示す出力バリッド信号付の出力データ）を出力し、その後規定した個数の有効な（バリッド信号付の）信号が入力されるまでは出力しない。言い換えれば、有効な信号が入力された後に１回だけ出力信号を出力し、その後有効な信号が規定の個数入力された後に出力信号を出力する。
【００２２】
次に、本実施形態におけるリコンフィギュラブル回路の構成の詳細について説明する。上述したように本実施形態におけるリコンフィギュラブル回路は、複数の演算器１０及びコンフィギュレーションメモリ２０を備える。
【００２３】
演算器１０は、図１に示したようにデータ処理部１１、入力バリッド信号制御部１２、出力データ保持部１３、及び出力バリッド信号制御部１４を有している。なお、図１においては、演算器１０に２つの入力データＤＩＡ、ＤＩＢが入力される場合を一例として示しているが、これに限定されるものではなく、コンフィギュレーションデータにより設定されるデータ経路に応じて入力されるデータの数は決定される。
【００２４】
データ処理部１１は、他の演算器１０あるいは外部等から第１の入力データＤＩＡ及び第２の入力データＤＩＢが入力されるとともに、入力バリッド信号制御部１２により生成される内部バリッド信号Ｓ２が入力される。また、データ処理部１１は、コンフィギュレーションメモリ２０よりコンフィギュレーションデータ（データ処理部）２１が供給される。
【００２５】
データ処理部１１は、供給されるコンフィギュレーションデータに応じて回路構成を再構成し、当該コンフィギュレーションデータにより規定された機能を実現する。データ処理部１１は、有効な入力データＤＩＡ、ＤＩＢを用いて、規定された機能に応じた所定の処理（演算処理等）を行い、その処理結果を内部データＩＮＴＤとして出力データ保持部１３に出力する。なお、データ処理部１１での入力データＤＩＡ、ＤＩＢが有効であるか否かの判定（入力データの有効性に係る判断）は、入力バリッド信号制御部１２からの内部バリッド信号Ｓ２の値に基づいて行う。
【００２６】
入力バリッド信号制御部１２は、他の演算器１０あるいは外部等から第１のバリッド信号ＶＩＡ及び第２のバリッド信号ＶＩＢが入力される。このバリッド信号ＶＩＡ、ＶＩＢは、対応する入力データＤＩＡ、ＤＩＢが有効であるか無効であるかを示す信号（タグ）である。また、入力バリッド信号制御部１２は、コンフィギュレーションメモリ２０よりコンフィギュレーションデータ（入力バリッド信号制御部）２２が供給され、当該コンフィギュレーションデータに応じて回路構成が再構成される。
【００２７】
入力バリッド信号制御部１２は、入力されるバリッド信号ＶＩＡ、ＶＩＢに基づいて内部バリッド信号Ｓ２を生成し、データ処理部１１、出力データ保持部１３、及び出力バリッド信号制御部１４に出力する。本実施形態では、内部バリッド信号Ｓ２の値が“１”（ハイレベル）の場合にデータが有効であることを示すものとし、値が“０”（ロウレベル）の場合にデータが無効であることを示すものとする。なお、バリッド信号ＶＩＡ、ＶＩＢ及び出力バリッド信号Ｓ３についても同様とする。
【００２８】
出力データ保持部１３は、データ処理部１１より出力される内部データＩＮＴＤが入力されるとともに、入力バリッド信号制御部１２により生成される内部バリッド信号Ｓ２が入力される。出力データ保持部１３は、有効な処理結果を保持するためのものであり、有効な処理結果としての内部データＩＮＴＤが供給されるまでは既に保持している（前クロックにおける）データを続けて保持し、有効な処理結果としての内部データＩＮＴＤが入力されると保持するデータを当該内部データＩＮＴＤに更新する。出力データ保持部１３に保持されているデータは、出力データＤＯとして演算器１０外部に出力される。なお、内部データＩＮＴＤが有効な処理結果であるか否かは、内部バリッド信号Ｓ２の値に基づいて判定する。
【００２９】
出力データ保持部１３は、例えば図４に示すように、１つの２入力セレクタ４１、及び入力される値を一時的に記憶し出力するフリップフロップ４２により構成される。
２入力セレクタ４１は、一方の入力にフリップフロップ４２の出力が供給され、他方の入力にデータ処理部１１からの内部データＩＮＴＤが供給されている。また、２入力セレクタ４１の制御入力には、入力バリッド信号制御部１２からの内部バリッド信号Ｓ２が供給されている。２入力セレクタ４１は、内部バリッド信号Ｓ２の値が“１”の場合には内部データＩＮＴＤを選択して出力し、内部バリッド信号Ｓ２の値が“０”の場合にはフリップフロップ４２の出力を選択して出力する。
【００３０】
フリップフロップ４２は、２入力セレクタ４１の出力が入力されており、図示しないクロック信号により動作して出力を２入力セレクタ４１の一方に供給するとともに、出力データＯＵＴとして出力する。
【００３１】
出力バリッド信号制御部１４は、入力バリッド信号制御部１２により生成される内部バリッド信号Ｓ２が入力される。出力バリッド信号制御部１４は、入力される内部バリッド信号Ｓ２等に基づいて、出力データＤＯが有効であるか否かを示す出力バリッド信号Ｓ３を生成して演算器１０外部に出力する。また、出力バリッド信号制御部１４は、コンフィギュレーションメモリ２０よりコンフィギュレーションデータ（出力バリッド信号制御部）２３が供給され、当該コンフィギュレーションデータに応じて回路構成が再構成される。
【００３２】
ここで、出力バリッド信号制御部１４に供給されるコンフィギュレーションデータには、演算器１０におけるデータの出力タイミングを規定するためのコンフィギュレーションデータが含まれる。このコンフィギュレーションデータには、例えば反復回数値、オフセット値、インターバル値、動作モード値、起動モード値、及び出力タイミング値があり、これらにより規定されるタイミングで出力バリッド信号Ｓ３を生成し出力する。
【００３３】
反復回数値は、モードＡ、Ｂ、Ｃにおいて出力する信号の個数を規定するためのものであり、オフセット値は、モードＡ、Ｂにおいて最初の信号を出力するまでの時間を規定し、インターバル値は、モードＡ、Ｂ、Ｃにおいて出力する信号間の時間間隔を規定する。また、オフセット値は、モードＤ、Ｅにおいて入力信号数の規定値にも用いられる。
【００３４】
動作モード値、起動モード値、及び出力タイミング値は、実行するモードを規定するためのものであり、例えば図２及び図３に示したように、動作モード値、起動モード値、及び出力タイミング値の組み合わせにより実行するモードが一意に決定される。なお、本実施形態では、動作モード値及び出力タイミング値はそれぞれ１ビットであり、起動モード値は２ビットである。
【００３５】
コンフィギュレーションデータ２１、２２、２３は、コンフィギュレーションメモリ２０に記憶されており、データ処理部１１、入力バリッド信号制御部１２、及び出力バリッド信号制御部１４にそれぞれ供給される。コンフィギュレーションメモリ２０よりデータ処理部１１、入力バリッド信号制御部１２、及び出力バリッド信号制御部１４にそれぞれ供給されるデータは、図示しない制御機構からコンフィギュレーションメモリ２０に供給されるコンフィグレーション切替信号Ｓ１に応じて切り替えられる。なお、図１においては、対応を明確にするためにコンフィギュレーションメモリ２０に記憶されるコンフィギュレーションデータ２１、２２、２３を分けて図示しているが、コンフィギュレーションメモリ２０へのコンフィギュレーションデータの格納形式は任意である。
【００３６】
出力バリッド信号制御部１４は、例えば図５に示すように構成される。出力バリッド信号制御部１４は、カウンタ有効信号生成部５１、内部状態生成部５３、カウンタ部５５、比較部５８、バリッド信号生成部６３、及びフリップフロップ６４を有する。また、出力バリッド信号制御部１４には、コンフィギュレーションメモリ２０よりコンフィギュレーションデータとして、反復回数値、オフセット値、インターバル値、動作モード値、起動モード値、及び出力タイミング値が適宜供給されて保持される。
【００３７】
カウンタ有効信号生成部５１は、動作モード値、起動モード値、内部バリッド信号Ｓ２、及びウェイトフラグ５４の値が供給され、それらの値に基づいて、内部状態生成部５３を制御するための内部制御信号２１及びカウンタ部５５を制御するカウンタ制御信号Ｓ２２を生成する。カウンタ有効信号生成部５１における内部制御信号２１及びカウンタ制御信号Ｓ２２の生成論理テーブルを表１に示す。
【００３８】
【表１】
0004685682.tif 000002
【００３９】
表１に示されるように、カウンタ有効信号生成部５１は、動作モード値が“０”、すなわち動作モードがモードＤ、Ｅであり、かつ内部バリッド信号Ｓ２の値が“１”の場合には、内部制御信号Ｓ２１の値を“０”にし、カウンタ制御信号Ｓ２２の値を“１”にする。また、カウンタ有効信号生成部５１は、動作モード値が“１”で起動モード値が“０Ｘ”（Ｘは任意値、以下同様）、すなわち動作モードがモードＢ、Ｃであり、かつ内部バリッド信号Ｓ２の値が“１”及びウェイトフラグ５４の値が“０”の場合には、内部制御信号Ｓ２１の値を“０”にし、カウンタ制御信号Ｓ２２の値を“１”にする。
【００４０】
また、カウンタ有効信号生成部５１は、動作モード値が“１”で起動モード値が“０Ｘ”、すなわち動作モードがモードＢ、Ｃであり、かつウェイトフラグ５４の値が“０”の場合、又は動作モード値が“１”で起動モード値が“１Ｘ”、すなわち動作モードがモードＡの場合には、制御信号Ｓ２１及びＳ２２の値をともに“１”にする。カウンタ有効信号生成部５１は、それ以外の場合には、制御信号Ｓ２１及びＳ２２の値をともに“０”にする。
【００４１】
内部状態生成部５３は、内部制御信号Ｓ２１、起動モード値、比較部５８の結果出力が供給され、それらの値に基づいて各動作モードにおける状態を示すインターバルフラグ５３及びウェイトフラグ５４を生成する。ここで、インターバルフラグ５３は、オフセット／インターバルカウンタ５６の値と比較する値（比較値）を切り替えるフラグであり、モードＡ、Ｂにおいて、オフセット期間中は比較値としてオフセット値を選択させ、信号出力から信号出力までのインターバル期間中は比較値としてインターバル値を選択させるためのものである。ウェイトフラグ５４は、モードＢ、Ｃにおいて、最初の入力信号が入力されるまではカウンタ部５５を停止状態にするためのフラグである。
【００４２】
内部状態生成部５３におけるインターバルフラグ５３の生成論理テーブルを表２に示し、ウェイトフラグ５４の生成論理テーブルを表３に示す。
【００４３】
【表２】
0004685682.tif 000003
【００４４】
表２に示されるように、内部状態生成部５３は、内部制御信号Ｓ２１の値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“１”、及び終了出力信号検出値が“０”の場合には、インターバルフラグ５３を“１”に設定する。また、内部状態生成部５３は、内部制御信号Ｓ２１の値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値及び終了出力信号検出値がともに“１”の場合には、インターバルフラグ５３を“０”に設定する。それ以外の場合には、インターバルフラグ５３の値は保持される。
【００４５】
【表３】
0004685682.tif 000004
【００４６】
表３に示されるように、内部状態生成部５３は、内部制御信号Ｓ２１の値が“１”で起動モード値が“００”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“０”の場合には、ウェイトフラグ５４を“１”に設定する。また、内部状態生成部５３は、内部制御信号Ｓ２１の値が“１”で起動モード値が“０Ｘ”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“１”、及び終了出力信号検出値が“０”の場合には、ウェイトフラグ５４を“１”に設定する。
【００４７】
また、内部状態生成部５３は、内部制御信号Ｓ２１の値が“１”で起動モード値が“０Ｘ”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値及び終了出力信号検出値がともに“１”の場合には、ウェイトフラグ５４を“０”に設定する。それ以外の場合には、ウェイトフラグ５４の値は保持される。
【００４８】
カウンタ部５５は、クロック数や入力信号（入力データ）数をカウントするオフセット／インターバルカウンタ５６、及び出力信号（出力データ）の個数をカウントする出力回数カウンタ５７を有する。なお、オフセット時間とインターバル時間を同時にカウントすることがないため、本実施形態ではオフセット／インターバルカウンタ５６を切り替えて用いるようにしているが、オフセット時間カウント用のカウンタとインターバル時間カウント用のカウンタをそれぞれ設けるようにしても良い。カウンタ部５５における各カウンタの動作に係る論理テーブルを表４に示す。
【００４９】
【表４】
0004685682.tif 000005
【００５０】
表４に示すように、オフセット／インターバルカウンタ５６のカウンタ値は、カウンタ制御信号Ｓ２２の値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“０”の場合に１インクリメントされ、カウンタ制御信号Ｓ２２の値が“１”であり、かつオフセット／インターバル検出値が“１”の場合に“０”にリセットされる。それ以外の場合には、オフセット／インターバルカウンタ５６のカウンタ値は保持される。
【００５１】
出力回数カウンタ５７のカウンタ値は、カウンタ制御信号Ｓ２２の値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“１”、及び終了出力信号検出値が“０”の場合には、１インクリメントされる。また、出力回数カウンタ５７のカウンタ値は、カウンタ制御信号Ｓ２２の値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値及び終了出力信号検出値がともに“１”の場合には、“０”にリセットされる。それ以外の場合には、出力回数カウンタ５７のカウンタ値は保持される。
【００５２】
比較部５８は、オフセット／インターバルカウンタ５６のカウンタ値と、コンフィギュレーションメモリ２０より供給されるオフセット値又はインターバル値（インターバルフラグ５３により選択）とを比較するとともに、出力回数カウンタ５７のカウンタ値とコンフィギュレーションメモリ２０より供給される反復回数値とを比較して、出力データ（出力バリッド信号）の出力タイミングを決定する。また、比較部５８は、最初の入力信号の入力を検出して先頭信号検出値を出力するための比較も実施する。
【００５３】
比較部５８にて実現される機能を、図６を参照して説明する。
比較部５８内の終了出力信号検出部５９は、出力回数カウンタ５７のカウンタ値と反復回数値とを比較し、それらが一致する場合には結果出力としての終了出力信号検出値を“１”にし、一致しない場合には終了出力信号検出値を“０”にする。
また、比較部５８内の先頭信号検出部６１は、オフセット／インターバルカウンタ５６のカウンタ値をモニタし、カウント値が“０”の場合には結果出力としての先頭信号検出値を“１”にし、そうでない場合には先頭信号検出値を“０”にする。
【００５４】
また、比較部５８内のオフセット／インターバル検出部６０は、セレクタ６２の出力とオフセット／インターバルカウンタ５６のカウンタ値とを比較する。ここで、セレクタ６２は、インターバルフラグ５３の値に応じてオフセット値又はインターバル値の一方を出力する。オフセット／インターバル検出部６０は、比較の結果、値が一致する場合には結果出力としてのオフセット／インターバル検出値を“１”にし、一致しない場合にはオフセット／インターバル検出値を“０”にする。
【００５５】
バリッド信号生成部６３は、カウンタ制御信号Ｓ２２、動作モード値、出力タイミング値、及び比較部５８の結果出力が入力され、それらに基づいて出力信号の有効性を示す出力バリッド信号を生成し出力する。なお、バリッド信号生成部６３の後段には、生成し出力された出力バリッド信号を保持するフリップフロップ６４を設けているため、バリッド信号生成部６３にて出力バリッド信号が生成されてから１クロック遅れて演算器１０外部に出力される。バリッド信号生成部６３における出力バリッド信号の生成論理テーブルを表５に示す。
【００５６】
【表５】
0004685682.tif 000006
【００５７】
表５に示されるように、バリッド信号生成部６３は、カウンタ制御信号Ｓ２２の値が“１”、動作モード値及び出力タイミング値がともに“０”であり、かつ比較部５８の結果出力のうち、先頭信号検出値が“１”の場合には、出力バリッド信号の値を“１”にする。バリッド信号生成部６３は、カウンタ制御信号Ｓ２２の値が“１”、動作モード値が“０”、出力タイミング値が“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“１”の場合には、出力バリッド信号の値を“１”にする。また、バリッド信号生成部６３は、カウンタ制御信号Ｓ２２の値及び動作モード値がともに“１”であり、かつ比較部５８の結果出力のうち、オフセット／インターバル検出値が“１”の場合には、出力バリッド信号の値を“１”にする。それ以外の場合には、出力バリッド信号の値を“０”にする。
【００５８】
＜モードＡ＞
図２（Ａ）に示したモードＡにおける動作について説明する。モードＡにおいては、コンフィギュレーションの切り替え後（より詳細には、所定時間が経過して切り替え後のコンフィギュレーションデータに応じた動作を演算器１０で開始した後）、所定時間が経過した後に最初の有効な出力データを出力し、その後一定時間間隔で指定された個数の有効な出力データを出力する。以下に説明するモードＡの動作においては、出力データは出力データ保持部１３にセットしてあるものとする。
【００５９】
入力されたコンフィギュレーション切替信号Ｓ１に基づいてコンフィギュレーションを切り替えた後の初期状態において、オフセット／インターバル検出値、終了出力信号検出値、インターバルフラグ５３の値は“０”に初期化される。また、モードＡにおいて、動作モード値は“１”、起動モード値は“１Ｘ”（“１１”又は“１０”）である。
【００６０】
この場合、表１に示した論理テーブルに従って、カウンタ有効信号生成部５１は、値がともに“１”の内部制御信号Ｓ２１及びカウンタ制御信号Ｓ２２を出力する。また、内部状態生成部５３におけるフラグの値は保持される。カウンタ部５５では、オフセット／インターバルカウンタ５６の値が１つ増加し“１”となる。
【００６１】
一方、比較部５８のオフセット／インターバル検出部６０は、インターバルフラグ５３の値が“０”であるため、オフセット値とオフセット／インターバルカウンタ５６のカウント値とを比較する。仮にオフセット値が“０”に設定してある場合には、オフセット／インターバルカウンタ５６のカウント値が“０”であるため、オフセット／インターバル検出値は“１”となって出力バリッド信号は“１”が出力されるが、ここでは、オフセット値はｋ（≠０）とする（図２（Ａ）に示した例ではｋ＝２）。したがって、オフセット／インターバル検出値は“０”であり、バリッド信号生成部６３が生成する出力バリッド信号は“０”が出力される。
【００６２】
そして、次のクロックにおいて、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバルカウンタ５６の値とオフセット値とを比較する。その結果、カウンタ５６の値とオフセット値が異なれば、オフセット／インターバル検出値は“０”が設定される。そして、カウンタ部５５におけるオフセット／インターバルカウンタ５６の値が１つ増加して“２”となる。
【００６３】
この処理は、オフセット／インターバルカウンタ５６のカウント値とオフセット値が等しくなるまで続けられる。オフセット値がｋの場合には、ｋクロック目にカウンタ５６の値とオフセット値が等しくなる。オフセット／インターバルカウンタ５６の値がオフセット値と等しくなると、オフセット／インターバル検出部６０は、オフセット／インターバル検出値に“１”がセットされる。
【００６４】
その結果、オフセット／インターバルカウンタ５６は、カウント値が“０”にリセットされ、出力回数カウンタ５７は、カウント値が“１”となる。また、内部状態生成部５３のインターバルフラグ５３が“１”に設定され、比較部５８のオフセット／インターバル検出部６０で用いる比較値として、オフセット値のかわりにインターバル値がセレクタ６２により選択される。また、バリッド信号生成部６３は、出力バリッド信号Ｓ３として“１”（出力１）を出力する。したがって、この時刻における出力データは有効なデータとして出力されることになる。
【００６５】
オフセット／インターバル検出値が“１”となった次の時刻からは、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバルカウンタ５６のカウント値とインターバル値を比較して、オフセット／インターバル検出値をセットすることになる。オフセット／インターバルカウンタ５６の値とインターバル値とを比較した結果、値が異なれば、オフセット／インターバル検出値は“０”が設定され、オフセット／インターバルカウンタ５６はカウント値を１増加する。時刻の経過とともに、インターバル値と等しくなるまでオフセット／インターバルカウンタ５６のカウント値は１クロック毎に１ずつインクリメントされる。
【００６６】
そして、オフセット／インターバルカウンタ５６のカウント値とインターバル値が等しくなると（例えば、図２（Ａ）に示した例ではインターバル時間として１クロック経過した時刻）、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバル検出値に“１”を設定する。その結果、オフセット／インターバルカウンタ５６は、カウント値が“０”にリセットされ、出力回数カウンタ５７は、カウント値が“２”になる。また、バリッド信号生成部６３は、出力バリッド信号Ｓ３として“１”（出力２）を出力する。
【００６７】
以降、同様にして、インターバル値として設定された時間間隔で出力バリッド信号Ｓ３が“１”となる。そして、出力回数カウンタ５７のカウント値が反復回数値に達したら、比較部５８の終了出力信号検出部５９は、出力信号検出値を“１”に設定する。これにより、内部状態生成部５３におけるインターバルフラグ５３は“０”にリセットされる。
【００６８】
その次の時刻からは、比較部５８のオフセット／インターバル検出部６０では、再びオフセット／インターバルカウンタ５６のカウント値とインターバル値の比較が行われ、上述した処理動作が繰り返される。
【００６９】
＜モードＢ＞
次に、図２（Ｂ）に示したモードＢにおける動作について説明する。モードＢにおいては、有効な入力データが演算器１０に入力された後、所定時間が経過した後に最初の有効な出力データを出力し、その後一定時間間隔で指定された個数の有効な出力データを出力する。以下に説明するモードＢの動作においては、ウェイトフラグ５４が使用される。
【００７０】
入力されたコンフィギュレーション切替信号Ｓ１に基づいてコンフィギュレーションを切り替えた後の初期状態において、オフセット／インターバル検出値、終了出力信号検出値、インターバルフラグ５３の値、及びウェイトフラグ５４の値は“０”に初期化されている。また、モードＢにおいて、動作モード値は“１”、起動モード値は“００”であるため、カウンタ有効信号生成部５１は、有効な入力データが入力されるまで（言い換えると、入力データの有効性を示す内部バリッド信号Ｓ２の値が“１”となるまで）は、値がともに“０”の内部制御信号Ｓ２１及びカウンタ制御信号Ｓ２２を出力する。したがって、カウンタ部５５内の２つのカウンタ５６、５７の値はいずれも“０”のままであり、バリッド信号生成部６３が生成する出力バリッド信号の値は“０”である。
【００７１】
その後、演算器１０に対して有効な入力データが入力されると、内部バリッド信号Ｓ２の値は“１”となる。そのため、カウンタ有効信号生成部５１は、値がともに“１”の内部制御信号Ｓ２１及びカウンタ制御信号Ｓ２２を出力する。比較部５８のオフセット／インターバル検出部６０は、インターバルフラグ５３の値が“０”であるため、オフセット値とオフセット／インターバルカウンタ５６のカウント値を比較し、その結果に基づいてオフセット／インターバル検出値を決定する。
【００７２】
仮にオフセット値が“０”の場合には、オフセット／インターバルカウンタ５６のカウント値が“０”であるため、オフセット／インターバル検出値は“１”となり、バリッド信号生成部６３は値が“１”の出力バリッド信号が出力される。一方、オフセット値が“０”でなければ、オフセット／インターバル検出値は“０”のままであり、カウンタ部５５内のオフセット／インターバルカウンタ５６はカウント値が“１”となるとともに、値が“０”の出力バリッド信号が出力される。
【００７３】
以下、上述したモードＡの処理動作と同様にして、オフセット／インターバルカウンタ５６は、カウント値（クロック数）がオフセット値と等しくなるまでカウントを行う。そして、カウンタ５６のカウント値とオフセット値が等しくなると、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバル検出値に“１”をセットする。これにより、バリッド信号生成部６３は、出力バリッド信号Ｓ３として“１”（出力１）を出力する。その後、オフセット／インターバル検出値は“０”に戻る。
【００７４】
続いて、オフセット／インターバルカウンタ５６のカウント値と比較する比較値をインターバル値に変更して、再びカウンタ５６のカウント値がインターバル値に達するまでカウントを行う。そして、カウンタ５６のカウント値とインターバル値が等しくなると、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバル検出値に再び“１”をセットする。これにより、バリッド信号生成部６３は、出力バリッド信号Ｓ３として“１”（出力２）を出力する。
【００７５】
出力バリッド信号Ｓ３の値を“１”とした回数を出力回数カウンタ５７によりカウントし、出力回数カウンタ５７のカウント値が反復回数値に達するまで上述した処理を繰り返す。出力回数カウンタ５７のカウント値が反復回数値に達したら、比較部５８の終了出力信号検出部５９は、出力信号検出値を“１”に設定する。これにより、内部状態生成部５２にてインターバルフラグ５３及びウェイトフラグ５４がともに“０”にセットされ初期状態に戻る。
【００７６】
＜モードＣ＞
次に、図２（Ｃ）に示したモードＣにおける動作について説明する。モードＣにおいては、規定個数の有効な入力データが演算器１０に入力された後、最初の有効な出力データを出力し、その後一定時間間隔で指定された個数の有効な出力データを出力する。
【００７７】
上述したモードＢにおける動作では、有効な入力データが入力されてからクロック数をオフセット／インターバルカウンタ５６によりカウントし、そのカウント値がオフセット値に達した後に最初の有効な出力データを出力した。モードＣにおける動作では、オフセット／インターバルカウンタ５６によりクロック数をカウントする代わりに、有効な入力データ数（言い換えると、入力データの有効性を示す内部バリッド信号Ｓ２の値が“１”である回数）をカウントして、そのカウント値がオフセット値に達した後に最初の有効な出力データを出力する。
【００７８】
そのため、モードＣにおける動作においては、ウェイトフラグ５４の値は、最初の有効な出力データが出力されるまでは“０”のままであり、内部バリッド信号Ｓ２が入力された場合のみカウンタ有効信号生成部５１から値が“１”のカウンタ制御信号Ｓ２２が出力され、オフセット／インターバルカウンタ５６のカウンタ値がインクリメントされる。そして、オフセット／インターバルカウンタ５６のカウント値がオフセット値に達すると、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバル検出値に“１”をセットする。これにより、バリッド信号生成部６３は、出力バリッド信号Ｓ３として“１”を出力され、最初の有効な出力データが出力される。その後の動作は、上述したモードＢにおける動作と同様であるので説明は省略する。
【００７９】
＜モードＤ＞
次に、図３（Ａ）に示したモードＤにおける動作について説明する。モードＤにおいては、規定個数の有効な入力データが演算器１０に入力された後に一度だけ有効な出力データを出力する。
【００８０】
モードＤにおいては、表１から明らかなようにカウンタ有効信号生成部５１より出力される内部制御信号Ｓ２１の値は常に“０”であり、インターバルフラグ５３及びウェイトフラグ５４は“０”に固定したままである。また、コンフィギュレーションデータのオフセット値には、出力しない入力データの個数（例えば、図３（Ａ）に示すように２つのデータ入力後に有効な出力データを出力したい場合にはオフセット値は１となる。）をセットする。
【００８１】
入力されたコンフィギュレーション切替信号Ｓ１に基づいてコンフィギュレーションを切り替えて動作を開始した後、カウンタ有効信号生成部５１は、内部バリッド信号Ｓ２が入力されるとカウンタ制御信号Ｓ２２の値を“１”にする。これにより、オフセット／インターバルカウンタ５６のカウンタ値がインクリメントされる。
【００８２】
そして、オフセット値で指定した個数の入力データが入力されると、次のクロックにてオフセット／インターバルカウンタ５６のカウンタ値がオフセット値と等しくなるため、比較部５８のオフセット／インターバル検出部６０は、オフセット／インターバル検出値を“１”に設定する。以降、内部バリッド信号Ｓ２が入力しない限り、カウンタ有効信号生成部５１から出力されるカウンタ制御信号Ｓ２２の値は“０”であるので、オフセット／インターバルカウンタ５６のカウント値はオフセット値に固定されたままとなる。
【００８３】
その後、次に有効な入力データ（すなわち、値が“１”の内部バリッド信号Ｓ２）が入力されると、カウンタ制御信号Ｓ２２の値は“１”となり、バリッド信号生成部６３は値が“１”の出力バリッド信号を出力する。そして、カウンタ部５５ではオフセット／インターバルカウンタ５６のカウンタ値はリセットされて“０”となり、次のクロック以降、再び有効な入力データのカウントが開始され、上述した動作を繰り返す。
【００８４】
＜モードＥ＞
次に、図３（Ｂ）に示したモードＥについて説明する。モードＥにおいては、規定個数の有効な入力データに対して、最初の有効な入力データが演算器１０に入力されたときのみ有効な出力データを出力する。
【００８５】
モードＥにおける動作は、モードＤにおける動作とほぼ同様であるが、バリッド信号生成部６３における値が“１”の出力バリッド信号の出力タイミングが異なる。モードＤにおいては、オフセット値に１を加えた個数の入力データが入力されたタイミングで出力バリッド信号の値を“１”としたが、モードＥにおいては、最初の有効な入力データが入力されたタイミングで出力バリッド信号の値を“１”とする。そのため、モードＥにおける動作では、バリッド信号生成部６３は、比較部５８の先頭信号検出部６１により設定される先頭信号検出値を参照して出力バリッド信号の値を決定している。
【００８６】
以上、本実施形態によれば、コンフィギュレーションメモリ２０からのコンフィギュレーションデータに応じて動的に回路構成が再構成可能な演算器１０に、入力データを用いて処理を行うデータ処理部１１に加え、その処理結果を保持して出力データＤＯとして演算器１０外部に出力する出力データ保持部１３と、出力データＤＯが有効なデータであるか否かを示す出力バリッド信号Ｓ３を出力する出力バリッド信号制御部１４を設ける。
【００８７】
これにより、出力バリッド信号制御部１４からの出力バリッド信号Ｓ３の出力タイミング、より詳細には信号の値を“１”にするタイミングを制御することで、演算器１０外部に対する有効な出力データＤＯの出力タイミングを任意に制御することができる。したがって、演算器１０外部に対するデータの出力タイミングを制御可能なリコンフィギュラブル回路を提供するができ、例えば、ある処理を行おうとする場合には、従来と比較して少ない数の演算器１０で実現することが可能になる。
【００８８】
なお、上述したように本実施形態におけるリコンフィギュラブル回路は複数の演算器を有し構成されるが、すべての演算器が演算器１０と同様に出力データ保持部１３及び出力バリッド信号制御部１４を備えるようにしても良いし、一部の演算器が出力データ保持部１３及び出力バリッド信号制御部１４を備え、残りの他の演算器はデータ処理部１１及び入力バリッド信号制御部１２のみで構成するようにしても良い。
【００８９】
図７は、上述した本実施形態におけるリコンフィギュラブル回路を使用したワイヤレス通信システムの構成例を示すブロック図である。
図７に示すように、ワイヤレス通信システムは、アンテナ部７１、ＲＦ部７２、ディジタルベースバンド処理部７３、リコンフィギュラブル回路部７４、及びＭＡＣ部７５を有する。アンテナ部７１は、無線信号（ＲＦ信号）を送受信するためのものである。ＲＦ部７２は、ＲＦ／ＩＦ変換処理を行うものである。ＲＦ部７２は、アンテナ７１にて受信されたＲＦ（高周波）信号をＩＦ（中周波）信号に変換してディジタルベースバンド処理部７３及びリコンフィギュラブル回路部７４に供給したり、ディジタルベースバンド処理部７３及びリコンフィギュラブル回路部７４からのＩＦ信号をＲＦ信号に変換してアンテナ部７１に供給したりする。
【００９０】
ディジタルベースバンド処理部７３及びリコンフィギュラブル回路部７４は、送受信される信号に係るベースバンド処理を行うものであり、例えば上述したようなストリームデータに係る処理を行う。リコンフィギュラブル回路部７４は、本実施形態におけるリコンフィギュラブル回路を用いて構成され、実行されるベースバンド処理の一部を実行する。なお、ディジタルベースバンド処理部７３を設けずに、リコンフィギュラブル回路部７４にて、実行されるすべてのベースバンド処理を実行するようにしても良い。ＭＡＣ部７５は、いわゆるＭＡＣ処理を行うものである。
なお、図７に示したワイヤレス通信システムは、本実施形態におけるリコンフィギュラブル回路の一利用例を示したものであり、本実施形態におけるリコンフィギュラブル回路の用途はこれに限定されるものでない。
【００９１】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００９２】
（付記１）構成情報を記憶するコンフィギュレーションメモリと、
上記コンフィギュレーションメモリより供給される上記構成情報に応じて動的に回路構成を再構成可能な複数の演算器とを備え、
上記演算器は、
入力データを用いて上記構成情報に応じた処理を行うデータ処理部と、
上記データ処理部による処理結果を保持するとともに、保持した処理結果を出力データとして出力する出力データ保持部と、
上記出力データ保持部より出力する出力データが有効であるか否かを示す出力バリッド信号を出力する出力バリッド信号制御部と
を有することを特徴とする半導体装置。
（付記２）上記出力バリッド信号制御部は、上記構成情報により規定されるタイミングで上記出力バリッド信号を出力することを特徴とする付記１記載の半導体装置。
（付記３）上記データ処理部は、上記入力データが有効であるか否かを示す信号に基づいて生成される内部バリッド信号に基づいて上記構成情報に応じた処理を行い、
上記出力データ保持部は、データが有効であることを上記内部バリッド信号が示した場合に、保持する処理結果を上記データ処理部より供給される処理結果に更新することを特徴とする付記１記載の半導体装置。
（付記４）上記出力データ保持部は、
入力されるデータを一時保持して上記出力データとして出力するデータ保持部と、
上記データ処理部による処理結果及び上記データ保持部の出力が入力され、何れか一方を上記データ保持部の入力に供給するセレクタ部とを有することを特徴とする付記１記載の半導体装置。
（付記５）上記出力バリッド信号制御部は、
クロック数もしくはデータ数をカウントするカウンタ部と、
上記カウンタ部のカウント値と、上記構成情報により規定される上記出力バリッド信号の出力タイミングに係る値とを比較する比較部と、
上記比較部での比較結果に基づいて、上記出力バリッド信号を生成し出力する出力バリッド信号生成部とを有することを特徴とする付記１記載の半導体装置。
（付記６）上記カウンタ部は、有効な入力データ数、所定の出力契機が生じてから有効な出力データを出力するまでのクロック数、有効な出力データの出力時間間隔に係るクロック数、及び有効な出力データ数をカウント可能であることを特徴とする付記５記載の半導体装置。
（付記７）上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報に応じた動作を開始してから所定時間が経過した後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする付記１記載の半導体装置。
（付記８）上記出力データ保持部及び上記出力バリッド信号制御部が、有効な入力データが入力されてから所定時間が経過した後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする付記１記載の半導体装置。
（付記９）上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データが入力された後に最初の有効な出力データを出力し、続いて、上記構成情報により指定された個数の有効な出力データを一定時間間隔で出力するよう制御を行うことを特徴とする付記１記載の半導体装置。
（付記１０）上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データが入力された後に一度だけ有効な出力データを出力するよう制御を行うことを特徴とする付記１記載の半導体装置。
（付記１１）上記出力データ保持部及び上記出力バリッド信号制御部が、上記構成情報により指定された個数の有効な入力データに対して、最初の有効な入力データが入力されたときのみ有効な出力データを出力するよう制御を行うことを特徴とする付記１記載の半導体装置。
（付記１２）上記複数の演算器のうち一部の演算器が、上記データ処理部、上記出力データ保持部、及び上記出力バリッド制御部を有することを特徴とする付記１記載の半導体装置。
（付記１３）上記複数の演算器のすべてが、上記データ処理部、上記出力データ保持部、及び上記出力バリッド制御部をそれぞれ有することを特徴とする付記１記載の半導体装置。
（付記１４）付記１記載の半導体装置を用いて、ベースバンド処理に係る機能の全部又は一部を実行することを特徴とする無線通信システム。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態におけるリコンフィギュラブル回路の構成例を示す図である。
【図２】本実施形態における演算器からのデータの出力タイミングを示すタイミングチャートである。
【図３】本実施形態における演算器からのデータの出力タイミングを示すタイミングチャートである。
【図４】出力データ保持部の構成例を示す図である。
【図５】出力バリッド信号制御部の構成例を示す図である。
【図６】出力バリッド信号制御部内の比較部の機能を説明するための図である。
【図７】本実施形態におけるリコンフィギュラブル回路を使用したワイヤレス通信システムの構成例を示す図である。
【図８】ｎビットの拡散符号を用いた符号拡散処理を説明するための図である。
【図９】異なる周波数で動作する回路間のデータ転送処理を説明するための図である。
【符号の説明】
【００９４】
１０  演算器（プロセッシングエレメント）
１１  データ処理部
１２  入力バリッド信号制御部
１３  出力データ保持部
１４  出力バリッド信号制御部
２０  コンフィギュレーションメモリ
Ｓ１  コンフィグ切替信号
Ｓ２  内部バリッド信号
Ｓ３  出力バリッド信号
【図１】
0004685682.tif 000007
【図２】
0004685682.tif 000008
【図３】
0004685682.tif 000009
【図４】
0004685682.tif 000010
【図５】
0004685682.tif 000011
【図６】
0004685682.tif 000012
【図７】
0004685682.tif 000013
【図８】
0004685682.tif 000014
【図９】
0004685682.tif 000015