(57)【要約】【課題】回路規模の増大を防ぐ。【解決手段】遅延回路１では、データ遅延部１ａでは、入力データを、複数のデータ遅延素子によって遅延する。バリッド遅延部１ｂは、入力データの有効を示す入力バリッドを、データ遅延部１ａのデータ遅延素子に対応するバリッド遅延素子によって遅延する。これにより、入力データとそのバリッドとは、対応付けられたデータ遅延素子とバリッド遅延素子を同じタイミングで通過する。各データ遅延素子及びバリッド遅延素子の出力信号は、それぞれ取り出すことができるので、遅延回路１に入力する１つの入力信号について、所望の遅延量の複数の出力信号を得ることができる。【選択図】図１
2008092190.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された構成情報に基づいて、入力信号を遅延させて出力する遅延回路において、
入力データを受け取ると、それぞれに設定される所定の遅延量に基づいて前記入力データの出力を遅延させる複数のデータ遅延素子を有するデータ遅延部と、
前記入力データが有効である場合に前記入力データに添付されて入力される有効情報を受け取ると、対応する前記入力データに応じて前記有効情報の出力を遅延させる複数の有効情報遅延素子を有する有効情報遅延部と、
を有することを特徴とする遅延回路。
【請求項２】
前記データ遅延部は、前記データ遅延素子を前記入力データの伝達経路に並べたデータ遅延素子列が形成され、前記データ遅延素子列の並び順に従って前記入力データを順次転送し、
前記有効情報遅延部は、前記有効情報遅延素子を前記有効情報の伝達経路に並べた有効情報遅延素子列が形成され、前記有効情報遅延素子列の並び順に従って前記有効情報を順次転送することを特徴とする請求項１記載の遅延回路。
【請求項３】
前記データ遅延部は、前記データ遅延素子と外部出力端子との間に出力専用レジスタを有し、
前記データ遅延素子の出力データは、前記出力専用レジスタを介して外部へ出力される
ことを特徴とする請求項１又は２記載の遅延回路。
【請求項４】
前記遅延回路は、さらに、前記構成情報に基づく動作指定を含む制御信号を受け取ると、前記制御信号に基づき、前記データ遅延部及び前記有効情報遅延部の動作を制御する遅延制御部を有することを特徴とする請求項１乃至３のいずれか一項に記載の遅延回路。
【請求項５】
前記遅延制御部は、
前記制御信号として動作の停止指示を受け取ると、前記制御信号に応じて前記データ遅延部及び前記有効情報遅延部の動作の実行と停止を制御することを特徴とする請求項４記載の遅延回路。
【請求項６】
前記遅延制御部は、前記構成情報に基づく前記動作指定に応じて、前記データ遅延部に入力される前記入力データに添付された前記有効情報の状態を検出し、前記入力データが有効である場合にのみ、前記データ遅延部を動作させることを特徴とする請求項４又は５記載の遅延回路。
【請求項７】
前記遅延制御部は、前記構成情報に基づく前記動作指定に応じて、前記有効情報が添付された前記入力データの個数を計数する計数手段を有し、
前記計数手段の計数値に応じて前記有効情報遅延部から出力される出力有効情報の状態を制御することを特徴とする請求項４乃至６のいずれか一項に記載の遅延回路。
【請求項８】
前記遅延制御部は、前記動作指定に応じて、前記計数手段による前記計数値が前記動作指定に基づく指定個数に達するまでは、前記有効情報遅延部に対し、前記有効情報遅延部が出力する前記出力有効情報を無効状態とするように指示することを特徴とする請求項７記載の遅延回路。
【請求項９】
前記遅延制御部は、前記動作指定に応じて、前記計数手段による前記計数値が前記動作指定に基づく指定個数に達するまでは、前記有効情報遅延部に対して前記有効情報遅延部が出力する前記出力有効情報を無効状態とするように指示し、前記計数値が前記指定個数になったときは、前記有効情報遅延部に対して前記有効情報遅延部が出力する前記出力有効情報を有効状態とするように指示し、前記計数手段を初期化することを特徴とする請求項７又は８記載の遅延回路。
【請求項１０】
予め設定された構成情報に基づいて、入力信号の遅延や所定の演算処理を行うモジュールの接続構成を切り替えながら所定の演算処理を行うプロセッサにおいて、
入力データを受け取ると、それぞれに設定される所定の遅延量に基づいて前記入力データの出力を遅延させる複数のデータ遅延素子を有するデータ遅延部と、前記入力データが有効である場合に前記入力データに添付されて入力される有効情報を受け取ると、対応する前記入力データに応じて前記有効情報の出力を遅延させる複数の有効情報遅延素子を有する有効情報遅延部と、を有する遅延モジュールと、
前記遅延モジュールから出力された出力データ及び前記有効情報を入力し、前記構成情報に基づき所定の演算処理を行う演算処理モジュールとを有することを特徴とするプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は遅延回路及びプロセッサに関し、特に、予め設定された構成情報に基づいて、入力信号を遅延させて出力する遅延回路と、このような遅延回路で構成される遅延モジュールと所定の演算処理を行う演算処理モジュールとを有し、モジュールの接続構成を切り替えながら所定の演算処理を行うプロセッサに関する。
【背景技術】
【０００２】
従来、アプリケーションに柔軟に対応するための技術として、動的にハードウェアの再構築を行う技術（ダイナミックリコンフィギュラブル技術）がある。
たとえば、動的再構成が可能なリコンフィギュラブル・プロセッサは、再構成可能なハードウェア部分の処理内容と配置（以下、コンフィギュレーションという）に関する構成情報であるコンフィギュレーション・データを格納するコンフィギュレーションメモリと、処理内容を設定可能なプロセッサ・エレメント（Processor Element；以下、ＰＥとする）と、ＰＥを可変に接続するネットワークを具備する。コンフィギュレーションメモリに格納されるコンフィギュレーション・データに基づいて、ＰＥの配置と処理内容を定め、各ＰＥによる演算処理を並行して実行させるパイプライン処理を行う。このようにパイプライン処理を行うことにより、性能向上を図ることができる。
【０００３】
一連のパイプライン処理が終了すると、コンフィギュレーション・データに基づいてコンフィギュレーションの再構成が行われる。しかしながら、一連の処理が終了してから再構成を行うとすると、切り替え時間が全体処理のオーバヘッドとなる。そこで、パイプライン処理終了時のコンフィギュレーションの切り替えを効率的に行うため、コンフィギュレーションの実行時間を算出して処理が終了するまでのクロックサイクルを予め確定しておき、実際に計測したクロック数と比較することによって、パイプライン処理の終了時刻を判定するプロセッサが提案されている（たとえば、特許文献１参照。）。
【特許文献１】特開２００６−１８４１３号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のダイナミックコンフィギュラブル技術を用いたＬＳＩ（Large Scale Integrated Circuit）では、演算処理のタイミング調整のための遅延エレメントを多数用いなければならず、回路規模が増大するという問題点があった。
【０００５】
ＰＥには、主に演算処理を行うＡＬＵ（Arithmetic and Logic Unit）と、複数のデータの処理タイミングを調整する遅延エレメントがある。図１３は、リコンフィギュラブル・プロセッサのＰＥ接続例を示したブロック図である。
【０００６】
図は、「連続入力データ（ａ０，ａ１，ａ２，ａ３，・・・）を入力し、（ａ０＋ａ３）×ｐ０＋（ａ１＋ａ２）×ｐ１の演算を行って結果を出力する」という演算処理を行うためのリコンフィギュラブル・プロセッサの構成例である。ＡＬＵ９１１は「ａ０＋ａ３」、ＡＬＵ９１２は「ａ１＋ａ２」、ＡＬＵ９１３は「ＡＬＵ９１１の出力（ａ０＋ａ３）×ｐ０」、ＡＬＵ９１４は「ＡＬＵ９１２の出力（ａ１＋ａ２）×ｐ１」、及びＡＬＵ９１５は「ＡＬＵ９１３の出力［（ａ０＋ａ３）×ｐ０］＋ＡＬＵ９１４の出力［（ａ１＋ａ２）×ｐ１］」、の演算処理をそれぞれ実行する。
【０００７】
たとえば、ＡＬＵ９１１は、ａ０と、ａ０より３サイクル遅れて入力するａ３とを加算する。そこで、演算処理のタイミングをとるため、信号伝達経路に３つの遅延エレメント９２１，９２２，９２３を接続し、これらを経由したａ０をＡＬＵ９１１へ入力する。これにより、ａ０のＡＬＵ９１１への入力を３サイクル遅らせ、ａ０とａ３を同じタイミングで入力させることが可能となる。なお、遅延エレメント９２１，９２２，９２３は、それぞれ入力データを１サイクル遅らせて出力する。
【０００８】
同様に、ＡＬＵ９１２は、ａ１とａ２の入力タイミングを合わせ、かつ、演算処理のタイミングをＡＬＵ９１１と合わせるため、ａ１は、２つの遅延エレメント９２１，９２２を経由し、ａ２は、１つの遅延エレメント９２１を経由してＡＬＵ９１２に入力されるようにする。これにより、ＡＬＵ９１２に同じタイミングでａ１とａ２を入力することができる。また、ＡＬＵ９１１とＡＬＵ９１２の演算処理開始のタイミングが同じになる。
【０００９】
なお、この例では、ＡＬＵ９１１とＡＬＵ９１２との演算処理タイミングは同期するので、後段のＡＬＵ９１３，９１４へ新たな遅延エレメントを接続せずに演算結果を出力することができるが、演算処理の構成によっては、さらに、遅延エレメントを接続する必要がある。また、上記の説明では、入力は４データであったが、同様の処理を８データで行うとすると、必要な遅延エレメントは７つになってしまう。したがって、自由度の高いコンフィギュレーションを可能とするためには、さまざまなケースを想定して多数の遅延エレメントを予め用意しておかなければならない。
【００１０】
このように、ダイナミックコンフィギュラブル技術を用いたＬＳＩを設計する場合には、遅延エレメントを予め多数用意しておかなければならならず、回路規模が増大するという問題点がある。
【００１１】
また、一般的に、ＡＬＵは、データが有効であることを表す有効フラグが付加されているデータを受け取ることで演算を開始し、有効フラグ付きの結果を出力する。たとえば、図１３のＡＬＵ９１１の場合では、有効フラグ付きで入力データが順次入力されるので、毎回、現入力データと３サイクル前の入力データとを加算する演算処理が行われ、演算結果が出力される。この時発生する組み合わせによっては、演算結果が後段で不要となるものがある場合には、不要なデータを破棄する管理処理が必要となるという問題点もある。
【００１２】
本発明はこのような点に鑑みてなされたものであり、コンフィギュレーションの自由度を損なうことなく回路規模の増大を防ぐことが可能な遅延回路及びプロセッサを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では上記課題を解決するために、図１に示すような遅延回路１が提供される。遅延回路１は、データ遅延部１ａと、有効情報（図では、バリッド）遅延部１ｂとを有し、予め設定された構成情報に基づいて、入力信号を遅延させて出力する。
【００１４】
データ遅延部１ａは、それぞれに設定される所定の遅延量に基づいて、入力データの出力を遅延させる複数のデータ遅延素子を具備する。そして、データ遅延部１ａ内の異なる遅延量の複数のデータ遅延素子の出力データを外部に出力する。また、有効情報（バリッド）遅延部１ｂは、データ遅延部１ａの入力データが有効である場合に入力データに添付されて遅延回路１に入力される有効情報（バリッド）を受け取ると、対応する入力データに応じて有効情報（バリッド）の出力を遅延する有効情報（バリッド）信号遅延素子を有する。
【００１５】
このような遅延回路１によれば、入力データと、その入力データに添付される有効情報（バリッド）とを受け取ると、入力データはデータ遅延部１ａ、有効情報（バリッド）は有効情報（バリッド）遅延部１ｂに入力する。入力データは、データ遅延部１ａの異なる遅延量が設定される複数のデータ遅延素子によって出力が遅延されて、外部に出力される。これにより、１つの入力データから遅延量の異なる複数の出力データが得られる。一方、有効情報（バリッド）遅延部１ｂでは、有効情報（バリッド）遅延素子によって、有効情報（バリッド）を、対応するデータ遅延部１ａの入力データの遅延量に応じて遅延する。したがって、入力データとその有効情報（バリッド）とは、対応付けられているデータ遅延素子と有効情報（バリッド）遅延素子との組ごとに異なる遅延量で遅延された後、出力される。これにより、同じ入力データについて、遅延量の異なる複数の出力データ及び出力有効情報（バリッド）を得ることができる。
【００１６】
また、上記課題を解決するために、予め設定された構成情報に基づいて、入力信号の遅延や所定の演算処理を行うモジュールの接続構成を切り替えながら所定の演算処理を行うプロセッサにおいて、入力データを受け取ると、それぞれに設定される所定の遅延量に基づいて入力データの出力を遅延させる複数のデータ遅延素子を具備するデータ遅延部と、入力データが有効である場合に入力データに添付されて入力される有効情報を受け取ると、対応する入力データに応じて有効情報の出力を遅延させる複数の有効情報遅延素子を具備する有効情報遅延部と、を有する遅延モジュールと、遅延モジュールから出力された出力データ及び有効情報を入力し、構成情報に基づき所定の演算処理を行う演算処理モジュールと、を具備することを特徴とするプロセッサが提供される。
【００１７】
このようなプロセッサによれば、遅延モジュールでは、入力データとその有効情報とを受け取ると、入力データと有効情報との組ごとに異なる遅延量で出力が遅延される。これにより、遅延モジュールから、同じ入力データに対し、遅延量の異なる複数の出力信号を得ることができる。演算処理モジュールは、遅延モジュールから出力された出力データ及び有効情報を入力し、所定の演算処理を行う。
【発明の効果】
【００１８】
本発明に係る遅延回路及びこの遅延回路を搭載したプロセッサでは、入力データを所定の遅延量で遅延させる複数のデータ遅延素子を有するデータ遅延部と、入力データに添付される有効情報（バリッド）遅延素子を有する有効情報（バリッド）遅延部とを具備し、入力データとその有効情報（バリッド）とを所望の遅延量で遅延して出力する。これにより、遅延回路に入力される１つの入力データ及び有効情報（バリッド）に対し、異なる遅延量の複数の出力データ及び出力有効情報（バリッド）を得ることができる。この結果、出力信号ごとに用意されていた遅延回路の数を削減させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００２０】
本発明に係る遅延回路１は、データ遅延部１ａ、有効情報（以下、バリッドとする）遅延部１ｂ、及び遅延制御部１ｃを有する。なお、この遅延回路１がＬＳＩに組み込まれる場合には、遅延回路１全体が１つの遅延モジュールとして組み込まれる。遅延回路１は、入力データと、その入力データが有効である場合には、入力データに添付されるバリッドを受け取る。
【００２１】
データ遅延部１ａは、それぞれに設定される所定の遅延量に基づいて入力データの出力を遅延させる複数のデータ遅延素子で構成され、入力データを取り込む信号線と、生成した出力データを外部に出力する複数の信号線とに接続する。信号線を介して外部から入力データを受け取ると、各データ遅延素子は、それぞれに設定される遅延量によって入力データの出力を遅延する。これにより、同じ入力データから遅延量の異なる複数の出力データ（１）、・・・、出力データ（ｎ）が生成される。なお、ｎは任意の整数である。この出力データ（１）、・・・、出力データ（ｎ）は、所定の信号線を介して外部に出力される。
【００２２】
バリッド遅延部１ｂは、データ遅延部１ａのデータ遅延素子に対応付けられる所定の遅延量に基づいて、入力バリッドの出力を遅延させる複数のバリッド遅延素子で構成され、入力バリッドを取り込む信号線と、生成した出力バリッドを外部に出力する複数の信号線とに接続する。データ遅延部１ａに入力される入力データが有効である場合に入力データに添付されるバリッドを入力し、データ遅延部１ａによる対応する入力データの遅延に応じて、バリッドの出力を遅延する。これにより、入力データに添付された入力バリッドが、対応するデータ遅延部１ａの出力データ（１）、・・・、出力データ（ｎ）の出力タイミングに合わせて、出力バリッド（１）、・・・、出力バリッド（ｎ）として出力される。
【００２３】
遅延制御部１ｃは、制御信号と入力バリッドとを入力する信号線と、データ遅延部１ａ及びバリッド遅延部１ｂにそれぞれを制御する制御信号を伝達する信号線とに接続する。遅延回路１の動作指示を行う制御信号と、入力バリッドとを受け取ると、制御信号及び入力バリッドに基づいて、データ遅延部１ａ及びバリッド遅延部１ｂの動作を制御する。図の例では、データ遅延部１ａに対しデータ遅延部制御信号、バリッド遅延部１ｂに対しバリッド遅延部制御信号を出力し、制御を行う。
【００２４】
ここで、制御信号が、遅延回路１の動作の停止を指示する信号である場合には、遅延制御部１ｃは、制御信号に応じてデータ遅延部制御信号及びバリッド遅延部制御信号を設定し、データ遅延部１ａ及びバリッド遅延部１ｂの動作を停止させる。これらの制御信号によって停止要求が出力されている間、データ遅延部１ａ及びバリッド遅延部１ｂは動作を停止させる。
【００２５】
また、制御信号が、予め設定される構成情報に基づいて遅延回路１の動作を指示する信号である場合には、遅延制御部１ｃは、指示に従って、バリッド出力など、データ遅延部１ａ及びバリッド遅延部１ｂの動作を制御する。たとえば、入力データに添付される入力バリッドを監視し、入力バリッドが添付されていない場合には、遅延処理動作を行わないようにデータ遅延部１ａを制御する。また、計数手段を具備し、たとえば、入力バリッドが添付される入力データの個数をカウントし、カウント値に応じてバリッド遅延部１ｂを制御し、バリッド遅延部１ｂの出力バリッド（１）、・・・、出力バリッド（ｎ）の状態を操作するとしてもよい。詳細は、後述する。
【００２６】
このような構成の遅延回路１の動作について説明する。
遅延回路１は、入力データと、その入力データが有効であることを示す入力バリッドを受け取ると、入力データをデータ遅延部１ａ、入力バリッドをバリッド遅延部１ｂに送る。データ遅延部１ａとバリッド遅延部１ｂとは、それぞれ所定の遅延量が設定されるデータ遅延素子群とバリッド遅延素子群とを有する。データ遅延素子群とバリッド遅延素子群とは対応付けられており、一対の入力データと入力バリッドとは、特に動作指定がされない場合は、データ遅延部１ａ及びバリッド遅延部１ｂから同じタイミングで出力される。また、データ遅延部１ａのデータ遅延素子群のうちの２以上のデータ遅延素子、及びバリッド遅延部１ｂのバリッド遅延素子群のうちの２以上のバリッド遅延素子には、出力データと、出力バリッドとを外部に出力するための信号線が接続されている。これにより、１組の入力データと入力バリッドとが、遅延量の異なる複数の出力データと出力バリッドとして出力される。
【００２７】
たとえば、図１３に示した連続入力データ（ａ０，ａ１，ａ２，ａ３，・・・）について、「ａ０＋ａ３」のように、ａ０と、ａ０より３サイクル遅れて入力するａ３と、を後段の演算回路で加算する場合を例にとって説明する。遅延回路１のデータ遅延部１ａは、１サイクルずつ遅延を行う複数のデータ遅延素子で構成されるとする。後段の演算回路では、遅延回路１の複数の出力データ（１）、・・・、出力データ（ｎ）のうち、遅延量の差が３サイクルの出力データ２点を選択して接続すれば、１つの遅延回路１によって演算タイミングを調整することができる。なお、バリッドについても同様である。
【００２８】
このように、本発明によれば、同じ入力データに対し、遅延量の異なる複数の出力データと出力バリッドを得ることができるので、出力データごとに設けられていた遅延回路の数を減らすことができる。
【００２９】
さらに、構成情報に基づいて生成される制御信号によって遅延制御部１ｃがデータ遅延部１ａ及びバリッド遅延部１ｂを制御することにより、演算タイミングの調整をより詳細に制御することができる。
【００３０】
以下、実施の形態を、リコンフィギュラブル・プロセッサに適用した場合を例に図面を参照して詳細に説明する。
図２は、本発明の実施の形態のリコンフィギュラブル・プロセッサの構成例を示したブロック図である。
【００３１】
本発明の実施の形態のリコンフィギュラブル・プロセッサ１０は、コンフィギュレーションメモリ１１、ＰＥ１２ａ，１２ｂ，・・・，１２ｎ、及びネットワーク１３を有する。
【００３２】
コンフィギュレーションメモリ１１は、ＰＥ１２ａ，１２ｂ，・・・，１２ｎの処理内容や配置、ネットワーク１３におけるＰＥ接続などの構成情報であるコンフィギュレーション・データを格納する。
【００３３】
ＰＥ１２ａ，１２ｂ，・・・，１２ｎは、四則演算や論理演算などの処理を行うＡＬＵや、遅延モジュールとして機能する遅延エレメントなどのエレメント群である。コンフィギュレーションメモリ１１に格納される動作設定に従って処理動作を行う。エレメントには、１つのバリッド付き入力データを、異なる遅延量で遅延し、それぞれ遅延量の異なる複数のバリッド付き出力データとして出力する、本発明に係る多出力遅延エレメントも含まれる。
【００３４】
ネットワーク１３は、ＰＥ１２ａ，１２ｂ，・・・，１２ｎの間のデータ転送を処理する。コンフィギュレーションメモリ１１に格納される接続設定に従って、ＰＥ１２ａ，１２ｂ，・・・，１２ｎ間のデータの流れを切り替える。
【００３５】
たとえば、コンフィギュレーションメモリ１１に格納されるコンフィギュレーション・データに、ＰＥ１２ａが多出力遅延エレメント、ＰＥ１２ｂがＰＥ１２ａの２つの出力データを加算するＡＬＵであることが設定されていたとする。ＰＥ１２ａは、コンフィギュレーション・データに従って、ネットワーク１３経由で入力される入力データを異なる遅延量の複数の出力データとして出力する。ネットワーク１３は、コンフィギュレーション・データに従って、ＰＥ１２ａの所定の出力データをＰＥ１２ｂの加算エレメントに転送する。ＰＥ１２ｂは、入力データを加算し、ネットワーク１３へ出力する。ネットワーク１３は、次の接続ＰＥへデータを転送する。
【００３６】
ここで、本発明の実施の形態の多出力遅延エレメントについて説明する。
図３は、本発明の実施の形態の多出力遅延エレメントのデータ遅延部の構成例を示すブロック図である。
【００３７】
多出力遅延エレメント１００は、データ遅延部１１０、バリッド遅延部１２０、及び遅延制御部１３０を具備する。
データ遅延部１１０は、入力データの伝達経路に、データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎが並ぶデータ遅延素子列により構成される。データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎは、入力データを所定の遅延量で遅延し、所定の遅延量の出力データを外部に出力する。この例では、データ遅延素子１１１−１は、外部から入力される入力データを遅延し、後段のデータ遅延素子１１１−２へ出力する。以下同様に、入力データは、データ遅延素子間を順に転送され、最終段のデータ遅延素子１１１−ｎまで流れる。各データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎの出力は、それぞれの出力端に接続する信号線によりネットワーク１３に出力される。このような構成により、入力データに対し、複数の異なる遅延量を有する出力データが生成される。
【００３８】
たとえば、データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎが、入力データを１サイクル遅延して出力する遅延素子であるとすると、遅延量が１サイクルのデータ遅延素子１１１−１の出力データから、遅延量がｎサイクルのデータ遅延素子１１１−ｎの出力データまで、１サイクルごとに任意の遅延量のデータを得ることができる。利用者は、必要な遅延量のデータ遅延素子を選択することにより、所望の遅延データを得ることができる。
【００３９】
また、データ遅延部１１０は、遅延制御部１３０からの動作停止信号１を入力し、動作停止信号１が停止を指示するときには、遅延処理を停止する。
バリッド遅延部１２０は、入力データに添付される入力バリッドをデータ遅延部１１０の出力データの遅延量に応じて遅延させ、対応する出力データの出力タイミングに合わせて出力する。たとえば、データ遅延部１１０と同様に、入力バリッドの伝達経路に並ぶバリッド遅延素子により構成される。また、遅延制御部１３０からの動作停止信号２を入力し、動作停止信号２が停止を指示するときには、遅延処理を停止する。さらに、出力バリッドの値を制御するマスク信号及びクリア信号を遅延制御部１３０から入力し、これらの制御信号に応じて出力バリッドを操作する。
【００４０】
遅延制御部１３０は、制御信号、動作設定信号、及び入力バリッドを入力し、これらの信号に応じて、動作停止信号１、動作停止信号２、マスク信号、及びクリア信号を操作し、データ遅延部１１０及びバリッド遅延部１２０を制御する。
【００４１】
入力側の制御信号は、多出力遅延エレメント１００の動作の停止を指示する信号とし、動作設定信号は、コンフィギュレーション・データに基づいて動作を指定する指示情報であるとする。出力側の動作停止信号１は、データ遅延部１１０の遅延処理を停止させる信号とし、動作停止信号２は、バリッド遅延部１２０の遅延処理を停止させる信号とする。マスク信号は、任意の期間、バリッド遅延部１２０の出力バリッドの値を無効状態にするための制御信号とする。そして、クリア信号は、バリッド遅延部１２０の各バリッド遅延素子が保持するバリッドの値をリセットするための制御信号とする。遅延制御部１３０は、これらの信号を用いて、さまざまなケースに適応するようにデータ遅延部１１０及びバリッド遅延部１２０を制御することができる。したがって、利用者は、従来、多数のＰＥを接続して行っていた遅延制御を多出力遅延エレメント１００だけで実現することができる。適用例については、後述する。
【００４２】
なお、上記の説明では、データ遅延部１１０の各データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎの出力データは、直接ネットワーク１３に出力するとしたが、このような構成では、ネットワークへの出力負荷にばらつきがあり、高速動作をする場合には問題がある。そこで、高速動作を目的としたデータ遅延部の構成例を以下に示す。
【００４３】
図４は、本発明の実施の形態の多出力遅延エレメントのデータ遅延部の他の構成例を示すブロック図である。図３と同じものには同じ番号を付し、説明は省略する。
データ遅延部１１２は、図３の多出力遅延エレメント１００のデータ遅延部１１０と置き換えることができる。データ遅延部１１２は、データ遅延素子１１１−１，１１１−２，・・・，１１１−ｎとネットワーク１３を接続する信号線に出力専用レジスタ１１３−１，１１３−２，・・・を具備する。出力専用レジスタ１１３−１，１１３−２，・・・により、ネットワーク１３への出力負荷を揃え、高速動作時の動作を安定させることができる。
【００４４】
次に、実施の形態の多出力遅延エレメントの動作を、ＰＥ接続例を用いて説明する。
図５は、本発明の実施の形態の多出力遅延エレメントを用いたＰＥ接続の一例を示した図である。図１３に示した従来の演算処理を実施の形態の多出力遅延エレメントを用いて構成する例を示している。
【００４５】
多出力遅延エレメント１００は、図３に示したように、入力データを１サイクル遅延して出力するデータ遅延素子１１１−１，１１１−２，・・・，１１１−ｎで構成される遅延素子列を具備する。このデータ遅延素子列において、入力データを１サイクル遅延させた出力データをｃ１、２サイクル遅延させた出力データをｃ２、３サイクル遅延させた出力データをｃ３、及び４サイクル遅延させた出力データをｃ４とする。
【００４６】
加算エレメント１４１は、ｃ１と、ｃ１より３サイクル前のｃ４を入力して加算処理を行うことにより、ａ０と、ａ０より３サイクル後に入力されるａ３との加算処理「ａ０＋ａ３」を実行する。また、加算エレメント１４２は、ｃ４、ｃ１と同じタイミングで出力されるｃ３と、ｃ２を加算する処理（ａ１＋ａ２に相当する）を行う。以降の演算処理は、図１３と同様であるので省略する。
【００４７】
このように、従来３つの遅延エレメントで構成された演算処理を、１つの多出力遅延エレメントで構成することが可能となる。この結果、出力信号ごとに用意されていた遅延回路の数を削減させることができる。
【００４８】
遅延エレメントを用いた演算タイミングの調整は、演算に用いるデータが揃うまでに所定の時間を要する連続入力データの処理などでは必須であるので、そのようなケースで特に効果が得られる。また、上記の例では、３入力であったが、入力が多入力になるほど、遅延エレメントの削減効果が増大する。
【００４９】
次に、多出力遅延エレメントを構成するデータ遅延部、バリッド遅延部、及び遅延制御部の回路構成例を説明する。
図６は、本発明の実施の形態の多出力遅延エレメントのデータ遅延部の回路構成例を示した回路ブロック図である。図は、１入力８出力の場合の回路構成例を示している。
【００５０】
本発明の実施の形態のデータ遅延部１１０は、遅延素子として、フリップフロップ（以下、ＦＦとする）が８段、入力データの伝達経路に直列に配置される。
各ＦＦは、クロック信号に応じて、入力データを順次１サイクル遅延して出力する。また、各ＦＦのイネーブル端子には、動作停止信号１が接続されており、動作停止信号１によってＦＦの動作を停止させることができる。
【００５１】
これにより、各ＦＦを通過するごとに、入力データは１サイクルから８サイクルまで、１サイクルずつ遅延される。これにより、ＦＦに接続する８つの出力端子には、出力データとして、１サイクルから８サイクルまでの遅延量の入力データが出力される。また、動作停止信号１が入力されると、ＦＦは動作を停止し、その状態を保持する。
【００５２】
図７は、本発明の実施の形態の多出力遅延エレメントのバリッド遅延部の回路構成例を示した回路ブロック図である。図は、１入力８出力の場合の回路構成例を示している。
本発明の実施の形態のバリッド遅延部１２０は、遅延素子であるＦＦが８段、入力バリッドの伝達経路に直列に配置される。
【００５３】
各ＦＦの入力端及び出力端は、ＡＮＤに接続される。入力側のＡＮＤにより、前段のＦＦの出力とクリア信号との論理積が入力される。また、出力側のＡＮＤにより、ＦＦの出力とマスク信号との論理積がバリッド遅延部１２０の出力バリッドとして出力される。
【００５４】
ここで、後段のＡＬＵでは、バリッドが１のとき、入力データはバリッド付きの有効データであると判定し、０のときはバリッド無しの無効データであると判定することとする。各ＦＦは、クロック信号に応じて、入力バリッドを順次１サイクル遅延して出力する。このときＦＦには、バリッドが保持される（これを内部バリッドと呼ぶ）が、この内部バリッドは、クリア信号がＬｏｗになると、リセットされ、０（バリッド無し）になる。出力側も、マスク信号がＬｏｗになると、ＦＦの出力バリッドによらず、出力端子に出力される出力バリッドは、０（バリッド無し）になる。
【００５５】
これにより、マスク信号及びクリア信号がＨｉｇｈであれば、入力バリッドは、各ＦＦを通過するごとに、１サイクルから８サイクルまで１サイクルずつ遅延される。このとき、ＦＦに接続する８つの出力端子には、出力データとして、１サイクルから８サイクルまでの遅延量の入力バリッドが出力される。動作停止信号２が入力されると、ＦＦは動作を停止し、その状態が保持される。また、マスク信号がＬｏｗになると、バリッド遅延部１２０から出力される出力バリッドは、すべて０（バリッド無し）になる。したがって、対応する入力データは、すべてバリッド無し入力データとなり、後段のＡＬＵで無効データとして取り扱われる。クリア信号がＬｏｗになると、内部バリッドがすべて０にリセットされ、これに応じて、バリッド遅延部１２０の出力バリッドもすべて０にリセットされる。
【００５６】
図８は、本発明の実施の形態の多出力遅延エレメントの遅延制御部の回路構成例を示した回路ブロック図である。
本発明の実施の形態の遅延制御部１３０は、動作設定信号保持回路１３１、内部バリッドクリア・マスク制御回路１３２、バリッドカウンタ１３３、及び遅延動作制御回路１３４を具備する。
【００５７】
動作設定信号保持回路１３１は、動作設定信号を受け取ると、その動作設定信号を保持するとともに、動作設定信号に応じて内部バリッドクリア・マスク制御回路１３２、バリッドカウンタ１３３、及び遅延動作制御回路１３４を制御する。
【００５８】
内部バリッドクリア・マスク制御回路１３２は、制御信号及び動作設定信号保持回路１３１の動作設定信号に応じてクリア信号とマスク信号を設定し、バリッド遅延部１２０の出力バリッドを操作する。たとえば、制御信号により、動作が停止されたとき、動作設定信号に応じて要求があれば、クリア信号を操作して、バリッド遅延部１２０のＦＦに保持される内部バリッドをクリアし、バリッド遅延部１２０の状態を初期化する。また、後段のＡＬＵに演算処理を実行させたくない場合は、マスク信号を操作して、バリッド遅延部１２０の出力バリッドを強制的にリセット（バリッド無し）とする。また、マスク信号やクリア信号の操作タイミングは、バリッド付き入力データが入力した個数に応じて決めることができる。たとえば、バリッドカウンタ１３３から出力されるバリッド出力指示信号がオンとなった場合にのみ、バリッド遅延部１２０のＦＦの出力を出力させるようにマスク信号を操作するというような用い方もできる。
【００５９】
バリッドカウンタ１３３は、有効なバリッド付き入力データが入力された回数を計数する計数手段である。そして、計数されたカウント値と、予め設定された指定個数とを比較し、一致する場合には、バリッド出力指示信号を内部バリッドクリア・マスク制御回路１３２へ出力する。また、バリッドカウンタ停止信号が入力されると、動作を停止する。このように、バリッド付き入力データの入力個数に応じて処理を変更することができる。
【００６０】
遅延動作制御回路１３４は、制御信号及び動作設定信号に応じて、バリッドカウンタ停止信号、動作停止信号１、及び動作停止信号２を出力し、バリッドカウンタ１３３、データ遅延部１１０、及びバリッド遅延部１２０の動作を制御する。
【００６１】
以下、本発明の実施の形態の多出力遅延エレメントの動作を、いくつかの適用例により説明する。図９は、適用例に用いられる本発明の実施の形態の多出力遅延エレメントを示した図である。
【００６２】
以下の適用例で使用する多出力遅延エレメント１００ａは、コンフィギュレーション・データに基づいて遅延処理を行う。入力端子（ａ０）から連続入力データｄｔ０，ｄｔ１，ｄｔ２，ｄｔ３，ｄｔ４，ｄｔ５，・・・を入力し、入力データを１サイクルずつ遅延させる４段のデータ遅延素子で構成される。それぞれのデータ遅延素子の出力データは、出力端子ｃ１，ｃ２，ｃ３，ｃ４から出力される。
【００６３】
（１）適用例１
適用例１は、連続入力データを３つずつの組で演算処理を行う場合である。
ここでは、入力端子（ａ０）から入力される３組の入力データが揃った時点で演算を行う。すなわち、ｄｔ０，ｄｔ１，ｄｔ２が揃った時点で「ｄｔ０＋ｄｔ１＋ｄｔ２」の演算を行い、続いて、ｄｔ３，ｄｔ４，ｄｔ５が揃った時点で「ｄｔ３＋ｄｔ４＋ｄｔ５」の演算を行うケースである。本発明の実施の形態では、バリッドカウンタ１３３において入力したバリッド付き入力データの個数をカウントし、３入力データが揃ったかどうかを検出する。そして、検出結果に応じてマスク信号を操作し、３入力データが揃ったときのみ演算が行われるようにする。このため、バリッドカウンタ１３３は、動作設定信号に基づき、バリッド付き入力データが指定個数（ここでは３）に到達した場合にバリッド出力信号をオンし、カウンタ値をリセットするように動作が指示されている。また、内部バリッドクリア・マスク制御回路１３２は、動作設定信号に基づき、バリッド出力指示信号がオンになってから１サイクルの間、マスク信号をＬｏｗ、クリア信号をＨｉｇｈにして、出力データに対応するバリッドの出力を許可するように動作が指示されている。
【００６４】
このような設定の多出力遅延エレメントの動作をタイムチャートを用いて説明する。
図１０は、本発明の実施の形態の多出力遅延エレメントを適用例１に用いた場合の動作を示したタイムチャートである。なお、バリッド無しの無効データは、（）で表す。
【００６５】
多出力遅延エレメントの入力端子ａ０に入力される連続入力データは、ｄｔ０，ｄｔ１，ｄｔ２，ｄｔ３，ｄｔ４，ｄｔ５，・・・は、出力端子ｃ１，ｃ２，ｃ３から１サイクルずつ遅延されて出力される。
【００６６】
バリッドカウンタ１３３は、バリッド付き入力データをカウントする。ｄｔ０，ｄｔ１が入力されている間は、カウント値が指定個数（３）に到達しないので、バリッド出力指示信号はオフを出力する。このとき、内部バリッドクリア・マスク制御回路１３２は、バリッド出力指示信号がオフであるので、マスク信号をＨｉｇｈ、クリア信号をＬｏｗで出力する。したがって、出力端子ｃ１，ｃ２から出力されるｄｔ１，ｄｔ０は、バリッド無しとなり、後段のＡＬＵでは演算処理が行われない。
【００６７】
ｄ２が入力され、バリッドカウンタ１３３のカウント値が指定個数（ここでは、３）に到達した場合は、バリッド出力指示信号がオンされる。また、カウンタはリセットする。内部バリッドクリア・マスク制御回路１３２は、バリッド出力指示信号がオンになったことが検出されてから１サイクルの間マスク信号をＬｏｗにし、クリア信号をＨｉｇｈにする。したがって、出力端子ｃ１からｄｔ２、出力端子ｃ２からｄｔ１、及び出力端子ｃ３からｄｔ０が出力されている間は、それぞれのデータのバリッドが有効になる。後段のＡＬＵは、バリッド付きのｄｔ０，ｄｔ１，ｄｔ２が入力されたので、演算処理を行う。
【００６８】
次のｄｔ４が入力されるときには、バリッドカウンタ１３３のカウント値はリセットされており、マスク信号はＨｉｇｈ、クリア信号はＬｏｗになる。このため、出力端子ｃ１，ｃ２，ｃ３の出力データは、バリッド無しとなり、後段のＡＬＵでは演算処理が行われない。
【００６９】
ｄｔ５が入力されると、再びバリッドカウンタ１３３のカウント値が指定個数（３）となるので、バリッド出力が有効となり、演算が行われる。
このように、出力データに添付されるバリッドを操作して、演算対象のデータが揃ったときのみに出力データのバリッドを有効とすることができる。これにより、後段で不必要な演算を停止させることができ、不必要な演算結果を破棄する必要もなくなる。
【００７０】
（２）適用例２
適用例２は、連続入力データが揃ったら、連続入力データで順次演算処理を行う場合である。
【００７１】
ここでは、入力端子（ａ０）から４データが入力されたら順次演算処理を行うとする。すなわち、ｄｔ０，ｄｔ１，ｄｔ２，ｄｔ３が揃った時点で「ｄｔ０＋ｄｔ１＋ｄｔ２+ｄｔ３」の演算を行い、続いて、ｄｔ４が入力されれば、「ｄｔ１＋ｄｔ２＋ｄｔ３＋ｄｔ４」の演算を行うケースである。本発明の実施の形態では、バリッドカウンタ１３３において入力したバリッド付き入力データの個数をカウントし、４入力データが揃ったかどうかを検出する。そして、検出結果に応じてマスク信号を操作し、４入力データが揃った時点以降の演算を許可する。このため、バリッドカウンタ１３３は、動作設定信号に基づき、バリッド付き入力データが指定個数（ここでは４）に到達した以降は、バリッド出力信号をオンするように動作が指示されている。また、内部バリッドクリア・マスク制御回路１３２は、動作設定信号に基づき、バリッド出力指示信号がオンの間、マスク信号をＬｏｗ、クリア信号をＨｉｇｈにして、出力データに対応するバリッドの出力を許可するように動作が指示されている。なお、内部バリッドクリア・マスク制御回路１３２側で、マスク信号とクリア信号の状態を保持するようにしてもよい。
【００７２】
このような設定の多出力遅延エレメントの動作をタイムチャートを用いて説明する。
図１１は、本発明の実施の形態の多出力遅延エレメントを適用例２に用いた場合の動作を示したタイムチャートである。
【００７３】
多出力遅延エレメントの入力端子ａ０に入力される連続入力データｄｔ０，ｄｔ１，ｄｔ２，ｄｔ３，ｄｔ４，ｄｔ５，・・・は、出力端子ｃ１，ｃ２，ｃ３，ｃ４から１サイクルずつ遅延されて出力される。
【００７４】
バリッドカウンタ１３３は、バリッド付き入力データをカウントする。ｄｔ０，ｄｔ１，ｄｔ２が入力されている間は、カウント値が指定個数（４）に到達しないので、バリッド出力指示信号はオフを出力する。このとき、内部バリッドクリア・マスク制御回路１３２は、バリッド出力指示信号がオフであるので、マスク信号をＨｉｇｈ、クリア信号をＬｏｗで出力する。したがって、出力端子ｃ１，ｃ２，ｃ３から出力されるｄｔ２，ｄｔ１，ｄｔ０は、バリッド無しとなり、後段のＡＬＵでは演算処理が行われない。
【００７５】
ｄｔ４が入力され、バリッドカウンタ１３３のカウント値が指定個数（ここでは、４）に到達した場合は、バリッド出力指示信号がオンされる。内部バリッドクリア・マスク制御回路１３２は、バリッド出力指示信号がオンであるので、マスク信号をＬｏｗにし、クリア信号をＨｉｇｈにする。したがって、出力端子ｃ１からｄｔ３、出力端子ｃ２からｄｔ２、出力端子ｃ３からｄｔ３、及び出力端子ｃ４からｄｔ０が出力されるときに、それぞれのデータのバリッドが有効になり、後段のＡＬＵで演算処理を行う。
【００７６】
次のサイクルでもバリッドカウンタ１３３は、バリッド出力指示信号をオンしているので、内部バリッドクリア・マスク制御回路１３２もマスク信号及びクリア信号の状態を保持する。したがって、出力端子ｃ１からｄｔ４、出力端子ｃ２からｄｔ３、出力端子ｃ３からｄｔ２、及び出力端子ｃ４からｄｔ１が、バリッドが添付されて出力されるので、後段のＡＬＵで演算処理を行う。
【００７７】
ここで、ｄｔ４の後の入力データが無効であったとする。たとえば、バリッドカウンタ１３３は、バリッド無し入力データを検出すると、カウンタをリセットし、バリッド出力指示信号をオフするとする。これにより、内部バリッドクリア・マスク制御回路１３２は、バリッド出力指示信号のオフに基づき、マスク信号をＨｉｇｈ、クリア信号をＬｏｗで出力する。したがって、出力データはバリッド無しとなり、後段のＡＬＵでは演算処理が行われない。バリッドカウンタ１３３は、バリッド付き入力データが４連続入力されるまで、この状態を継続する。
【００７８】
このように、出力データに添付されるバリッドを操作して、演算対象のデータが揃ったとき以降に出力データのバリッドを有効とすることができる。これにより、後段で不必要な演算を停止させることができ、不必要な演算結果を破棄する必要もなくなる。また、バリッド無し入力データが入力された場合は、出力データが無効となり、次にバリッド付きデータが揃うまで後段のＡＬＵの演算を停止させることができる。
【００７９】
（３）適用例３
適用例３は、入力データにバリッド付き入力データ（有効データ）と、バリッド無し入力データ（無効データ）とが混在する場合である。
【００８０】
ここでは、入力端子（ａ０）から４データが入力されたら順次演算処理を行うとするが、入力データは、バリッド付き入力データとバリッド無し入力データが混在するとする。適用例３では、バリッド無し入力データが入力された場合には、演算を停止させるのではなく、バリッド付き入力データが４つ揃った時点で演算を行うようにする。
【００８１】
本発明の実施の形態では、バリッドカウンタ１３３において入力したバリッド付き入力データの個数をカウントし、４入力データが揃ったかどうかを検出する。そして、検出結果に応じてマスク信号を操作し、４入力データが揃った時点で演算を許可する。そして、バリッド無し入力データが入力された場合には、遅延動作制御回路１３４は、データ遅延部１１０の動作停止信号１及びバリッド遅延部１２０の動作停止信号２によって、遅延処理を停止させる。
【００８２】
図１２は、本発明の実施の形態の多出力遅延エレメントを適用例３に用いた場合の動作を示したタイムチャートである。
多出力遅延エレメントの入力端子ａ０に入力される連続入力データは、ｄｔ０，ｄｔ１，ｄｔ２，ｄｔ３，ｄｔ４，ｄｔ５，・・・は、出力端子ｃ１，ｃ２，ｃ３，ｃ４から１サイクルずつ遅延されて出力される。なお、バリッド無しの無効データは、×で表現する。
【００８３】
ここで、入力端子ａ０には、ｄｔ０，ｄｔ１とバリッド付き入力データが入力された後、無効データが入力される。続いて、ｄｔ２、無効データ、ｄｔ３の順に入力される。
バリッドカウンタ１３３は、バリッド付き入力データの個数をカウントし、指定個数（４）となった場合に、バリッド出力指示信号をオンする。したがって、ｄｔ３が入力されるまで、バリッド出力指示信号はオフされ、マスク信号はＬｏｗ、クリア信号はＨｉｇｈが出力される。この間、出力端子ｃ１，ｃ２，ｃ３，ｃ４の出力データは、バリッド無しとなり、後段のＡＬＵでは演算処理が行われない。
【００８４】
遅延動作制御回路１３４は、入力データにバリッド無しの無効データが検出されると、動作停止信号１と動作停止信号２（以下、まとめて停止信号と表記する）をＬｏｗとし、データ遅延部１１０とバリッド遅延部１２０を停止させる。データ遅延部１１０とバリッド遅延部１２０は、停止信号がＬｏｗで停止し、Ｈｉｇｈで動作することとする。停止信号がＬｏｗになると、その間データ遅延部１１０は停止し、出力データも保持される。停止信号がＨｉｇｈになると、データ遅延部１１０は動作を再開し、入力データを１サイクル遅延する。したがって、データ遅延部１１０では、バリッド付き入力データが入力されたときのみ、遅延動作が実行され、４つの有効データが揃った時点で、後段のＡＬＵに出力される。なお、バリッド遅延部１２０も同様に動作する。
【００８５】
このように、有効データと無効データが混在して入力される場合において、有効データだけを選択して出力タイミングを調整し、後段のＡＬＵに出力することができる。
以上、本発明の実施の形態の多出力遅延エレメントによれば、さまざまな演算処理に適用可能な自由度を備えており、遅延エレメント及びバリッド処理に関する論理演算を行う論理演算エレメントなどを削減することができるばかりでなく、利用者が任意のアプリケーションを容易に構築することが可能となる。
【００８６】
なお、上記の適用例は、実施の形態の一例であり、他に様々な適用例が想定できる。
【図面の簡単な説明】
【００８７】
【図１】実施の形態に適用される発明の概念図である。
【図２】本発明の実施の形態のリコンフィギュラブル・プロセッサの構成例を示したブロック図である。
【図３】本発明の実施の形態の多出力遅延エレメントのデータ遅延部の構成例を示すブロック図である。
【図４】本発明の実施の形態の多出力遅延エレメントのデータ遅延部の他の構成例を示すブロック図である。
【図５】本発明の実施の形態の多出力遅延エレメントを用いたＰＥ接続の一例を示した図である。
【図６】本発明の実施の形態の多出力遅延エレメントのデータ遅延部の回路構成例を示した回路ブロック図である。
【図７】本発明の実施の形態の多出力遅延エレメントのバリッド遅延部の回路構成例を示した回路ブロック図である。
【図８】本発明の実施の形態の多出力遅延エレメントの遅延制御部の回路構成例を示した回路ブロック図である。
【図９】適用例に用いられる本発明の実施の形態の多出力遅延エレメントを示した図である。
【図１０】本発明の実施の形態の多出力遅延エレメントを適用例１に用いた場合の動作を示したタイムチャートである。
【図１１】本発明の実施の形態の多出力遅延エレメントを適用例２に用いた場合の動作を示したタイムチャートである。
【図１２】本発明の実施の形態の多出力遅延エレメントを適用例３に用いた場合の動作を示したタイムチャートである。
【図１３】リコンフィギュラブル・プロセッサのＰＥ接続例を示したブロック図である。
【符号の説明】
【００８８】
１  遅延回路
１ａ  データ遅延部
１ｂ  有効情報（バリッド）遅延部
１ｃ  遅延制御部
１０  リコンフィギュラブル・プロセッサ
１１  コンフィギュレーションメモリ
１２ａ，１２ｂ，・・・，１２ｎ  ＰＥ
１３  ネットワーク
１００  多出力遅延エレメント
１１０，１１２  データ遅延部
１１１−１，１１１−２，・・・，１１１−ｎ  データ遅延素子
１１３−１，１１３−２  出力専用レジスタ
１２０  バリッド遅延部
１３０  遅延制御部
【図１】
2008092190.tif 000003
【図２】
2008092190.tif 000004
【図３】
2008092190.tif 000005
【図４】
2008092190.tif 000006
【図５】
2008092190.tif 000007
【図６】
2008092190.tif 000008
【図７】
2008092190.tif 000009
【図８】
2008092190.tif 000010
【図９】
2008092190.tif 000011
【図１０】
2008092190.tif 000012
【図１１】
2008092190.tif 000013
【図１２】
2008092190.tif 000014
【図１３】
2008092190.tif 000015