(57)【要約】【課題】異なる処理速度で動作する回路ブロック間でデータを送受信する。【解決手段】書込終了信号及び第１のクロック信号に基づきデータを書き込むメモリ領域を切り替える第１の切替信号を生成し、第２のクロック信号、書込終了信号及び第１のクロック信号に基づき第１のトリガ信号を生成する第１のクロック同期化回路１２１、読出終了信号及び第２のクロック信号に基づきデータを読み出すメモリ領域を切り替える第２の切替信号を生成し、第１のクロック信号、読出終了信号及び第２のクロック信号に基づき第２のトリガ信号を生成する第２のクロック同期化回路１２２、書込終了信号及び第２のトリガ信号に基づきメモリへのデータの書き込みの可否を示す信号を第１のブロックに出力する第１の出力手段１２５、読出終了信号及び第１のトリガ信号に基づきメモリからのデータの読み出しの可否を示す信号を第２のブロックに出力する第２の出力手段１２６を有する。【選択図】      図１
2008079237.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックで動作する書込側ブロックから入力されるデータを複数のメモリ領域のうち１のメモリ領域に書き込むとともに前記メモリ領域から前記データを読み出して第２のクロックで動作する読出側ブロックへ出力するデータ伝送装置において、
前記書込側ブロックから入力する書込終了信号及び前記第１のクロック信号に基づいて、前記データを書き込むメモリ領域を切り替える第１の切替信号を生成して前記メモリに出力するとともに、前記第２のブロックから入力する前記第２のクロック信号、前記書込終了信号及び前記第１のクロック信号に基づいて、第１のトリガ信号を生成する第１のクロック同期化回路と、
前記読出側ブロックから入力する読出終了信号及び前記第２のクロック信号に基づいて、前記データを読み出すメモリ領域を切り替える第２の切替信号を生成して前記メモリに出力するとともに、前記第１のブロックから入力する前記第１のクロック信号、前記読出終了信号及び前記第２のクロック信号に基づいて、第２のトリガ信号を生成する第２のクロック同期化回路と、
前記書込終了信号及び前記第２のトリガ信号に基づいて、前記メモリへのデータの書き込みの可否を示す信号を前記第１のブロックに出力する第１の出力手段と、
前記読出終了信号及び前記第１のトリガ信号に基づいて、前記メモリからのデータの読み出しの可否を示す信号を前記第２のブロックに出力する第２の出力手段と、
を有することを特徴とするデータ伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに異なる処理速度で動作する２つの回路ブロック間でデータを送受信するデータ伝送装置に関する。
【背景技術】
【０００２】
互いに異なる処理速度で動作する２つの回路ブロック間においてデータを書込側の回路ブロックから読出側の回路ブロックへ伝送する際に利用するデータ伝送装置がある。データ伝送装置で使用するメモリとして、互いに２つの排他メモリ領域を有するメモリがある（Ping-Pongバッファ）。Ping-Pongバッファは、２ポートメモリを２分割したり、メモリを２個使用することによって２つのメモリ領域を設けて構成されている。データ伝送に、Ping-Pongバッファを使用することで、複数のメモリ領域にデータを書き込むことができるため、データの書き込み及び読み出しの処理をパイプライン化して効率化を図ることができる。
【０００３】
一方、１つのメモリ領域に対して同時に書き込み及び読み出しのためのアクセスがされると、データの衝突等によって伝送されるデータにエラーの発生等の不具合が問題となる。このようなデータ伝送の不具合に対し、書き込み及び読み出しを交互にさせるデータ伝送装置があった（例えば、特許文献１参照）。
【特許文献１】特許第２５７２２９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、従来は書込側ブロックからは読出側ブロックからのアクセス状態を把握できず、読出側ブロックからは書込側ブロックからのアクセス状態を把握できないため、各ブロックは各メモリ領域が書き込み中の状態にあるのか、読み出し中の状態にあるのかを互いに把握することができない問題があった。特に、書込側の回路ブロックと読出側の回路ブロックとが異なるクロック（非同期クロック）で動作している場合、互いの状態を把握することはさらに困難となる。
【０００５】
また、各メモリ領域に交互にデータが書き込まれて書き込みと読出しが制限されるため、書き込みを連続して繰り返すことはできない等の制限があり、メモリ領域を有効に使用することができない問題もあった。
【０００６】
本発明は、互いに異なるクロックで動作するブロック間のデータ伝送を各ブロックにおける制御を不要とし、データ伝送装置内部の制御のみでクロックの同期化の処理することができるとともに、メモリ領域を有効に使用することができるデータ伝送装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の特徴に係るデータ伝送装置は、第１のクロックで動作する書込側ブロックから入力されるデータを複数のメモリ領域のうち１のメモリ領域に書き込むとともにメモリ領域からデータを読み出して第２のクロックで動作する読出側ブロックへ出力するデータ伝送装置において、書込側ブロックから入力する書込終了信号及び第１のクロック信号に基づいて、データを書き込むメモリ領域を切り替える第１の切替信号を生成してメモリに出力するとともに、第２のブロックから入力する第２のクロック信号、書込終了信号及び第１のクロック信号に基づいて、第１のトリガ信号を生成する第１のクロック同期化回路と、読出側ブロックから入力する読出終了信号及び第２のクロック信号に基づいて、データを読み出すメモリ領域を切り替える第２の切替信号を生成してメモリに出力するとともに、第１のブロックから入力する第１のクロック信号、読出終了信号及び第２のクロック信号に基づいて、第２のトリガ信号を生成する第２のクロック同期化回路と、書込終了信号及び第２のトリガ信号に基づいて、メモリへのデータの書き込みの可否を示す信号を第１のブロックに出力する第１の出力手段と、読出終了信号及び第１のトリガ信号に基づいて、メモリからのデータの読み出しの可否を示す信号を第２のブロックに出力する第２の出力手段とを有する。
【発明の効果】
【０００８】
本発明では、互いに異なる処理速度で動作する２つの回路ブロック間でデータを送受信することができる。
【発明を実施するための最良の形態】
【０００９】
本発明の最良の実施形態に係る非同期データ伝送装置１について、図１に示すブロック図を用いて説明する。非同期データ伝送装置１は、互いにクロックが異なる書込側ブロック２及び読出側ブロック３と接続されており、書込側ブロック２から読出側ブロック３へのデータ伝送を制御する。データ伝送を制御するため、非同期データ伝送装置１は、図１に示すように、メモリ１１及び制御回路１２を有している。
【００１０】
メモリ１１は、複数のメモリ領域を有するメモリである。例えば、このメモリ１１はメモリ領域として複数のメモリバンクを有するRAM(Random Access Memory)である。本発明の最良の実施形態において、メモリ１１が２つのメモリバンクを有する2ポートRAMとして説明する。
【００１１】
制御回路１２は、書込側ブロック２から入力するデータをメモリ１１へ書き込むとともにメモリ１１からデータを読み出して読出側ブロック３に出力することで、データ伝送を制御する。制御回路１２は、書込ブロック２から読出ブロック３へのデータ伝送を制御するため、クロック同期化回路１２１，１２２、ステートマシン１２３，１２４及び出力手段１２５，１２６を有している。
【００１２】
非同期データ伝送装置１は、図１に示すように書込側ブロック２から、伝送データであるデータ信号（書込データ）wr_data、メモリ１１の相対アドレスを示すアドレス信号（書込アドレス）wr_addr、メモリ１１へ書き込むデータが有効であることを示す書込信号wr_en、メモリ１１へメモリバンクへの書き込みの終了を通知する書込終了信号wr_end及び書込側ブロック２のクロック信号wr_clkを外部信号として入力する。
【００１３】
これらの信号を入力した非同期データ伝送装置１は、外部信号の書込データwr_dataを内部信号の書込データw_dataとしてメモリ１１に入力し、外部信号の書込アドレスwr_addrを内部信号の書込アドレスw_addrとしてメモリ１１に入力し、外部信号の書込信号wr_enを内部信号の書込信号w_enとしてメモリ１１に入力する。また、非同期データ伝送装置１は、外部信号の書込終了信号wr_endを内部信号の書込終了信号w_endとして制御回路１２に入力する。非同期データ伝送装置１は、これらの信号w_addr，w_en，w_end，wr_clkに従って、書込データw_dataをメモリ１１の対象となるメモリバンクに書き込む。
【００１４】
また、非同期データ伝送装置１は、図１に示すように読出側ブロック３から、メモリ１１の相対アドレスを示すアドレス信号（読出アドレス）rd_addr、アドレス信号が有効であることを示す読出信号rd_en、メモリ１１からのデータの読み出しの終了を通知する読出終了信号rd_end及び読出側ブロック３のクロック信号rd_clkを外部信号として入力する。
【００１５】
こららの信号を入力した非同期データ伝送装置１は、外部信号の読出アドレスrd_addrを内部信号の読出アドレスr_addrとしてメモリ１１に入力し、外部信号の読出信号rd_enを内部信号の読出信号r_enとしてメモリ１１に入力する。また、非同期データ伝送装置１は、外部信号の読出終了信号rd_endを内部信号の読出終了信号r_endとして制御回路１２に入力する。非同期データ伝送装置１は、これらの信号r_addr，r_en，r_end，rd_clkに従って、メモリ１１の該当するメモリバンクから読み出したデータ信号（読出データ）r_dataを外部信号の読出データrd_dataとして読出側ブロック３に出力する。
【００１６】
書込側のクロック同期化回路１２１は、図２（ａ）に示すように、書込終了信号w_end及びクロック信号wr_clkに基づいて排他的論理和出力によってアクセス対象となるメモリバンクを切り替える切替信号w_bankを出力する。この切替信号w_bankはメモリ１１の書き込みアドレスの最上位ビットに入力される。また、クロック同期化回路１２１は、図２（ａ）に示すように、書込終了信号w_end、書込側ブロック２のクロック信号wr_clk及び読出側ブロック３のクロック信号rd_clkに基づいて書き込み側のメモリバンクが切り替わったことを読み出し側に通知するトリガ信号w_bank_swを生成する。具体的には、クロック同期化回路１２１では、パルス信号である終了信号w_endをトグル信号である切替信号w_bankに変換し、入力側のクロックドメインから読み出し側のクロックドメインに信号を受け渡す。またクロック同期化回路１２１は、切替信号w_bankの変化点(立上り及び立下り)に対応する位置でアクティブになるパルス信号をトリガ信号w_bank_swとして出力する。
【００１７】
また、読出側のクロック同期化回路１２２は、図２（ｂ）に示すように、読出終了信号r_end及びクロック信号rd_clkに基づいて排他的論理和出力によってアクセス対象となるメモリバンクを切り替える切替信号r_bankを出力する。この切替信号r_bankはメモリ１１の読み出しアドレスの最上位ビットに入力される。
【００１８】
クロック同期化回路１２２は、図２（ｂ）に示すように、読出終了信号r_end、読出側ブロック３のクロック信号rd_clk及び書込側ブロック２のクロック信号wr_clkに基づいて読み出し側のメモリバンクが切り替わったことを書き込み側に通知するトリガ信号r_bank_swを生成する。具体的には、クロック同期化回路１２２では、パルス信号である終了信号r_endをトグル信号である切替信号r_bankに変換し、入力側のクロックドメインから読み出し側のクロックドメインに信号を受け渡す。またクロック同期化回路１２２は、切替信号r_bankの変化点(立上り及び立下り)に対応する位置でアクティブになるパルス信号をトリガ信号r_bank_swとして出力する。
【００１９】
書込側のステートマシン１２３は、書込終了信号w_end及びトリガ信号r_bank_swに基づいて、メモリ１１におけるデータの状態を管理する（w_bank_state）。また、読出側のステートマシン１２４は、読出終了信号r_end及びトリガ信号w_bank_swに基づいて、メモリ１１におけるデータの状態を管理する(r_bank_state)。
【００２０】
書込側の出力手段１２５は、ステートマシン１２３の状態w_bank_stateに基づいて図１に示すように信号w_okを出力する。ステートマシン１２３の状態w_bank_stateがEMPTY又はHALF状態の場合、出力手段１２５は、信号w_okをアクティブにする。内部信号の信号w_okは、書込側ブロック２に外部信号の信号wr_okとして出力される。書込側ブロック２は、非同期データ伝送装置１から入力する信号wr_okがアクティブである場合にメモリ１１へのデータの書き込みを開始する。
【００２１】
読出側の出力手段１２６は、ステートマシン１２４の状態r_bank_stateに基づいて信号r_okを出力する。ステートマシン１２４の状態r_bank_stateがHALF又はFULL状態の場合、出力手段１２６は、信号r_okをアクティブにする。内部信号の信号r_okは、読出側ブロック３に外部信号の信号rd_okとして出力される。読出ブロック３は、非同期データ伝送装置１から入力する信号rd_okがアクティブである場合にメモリ１１からのデータの読み出しを開始する。
【００２２】
以下に、ステートマシン１２３，１２４の状態について説明する。メモリ１１が２つのメモリバンクを有する場合、ステートマシン１２３，１２４では、以下のように、３つの状態（EMPTY,HALF,FULL）が考えられ、データの書き込み及びデータの読み出しに伴って各状態を遷移する。
【００２３】
EMPTY：メモリバンクに有効なデータが存在しない場合
HALF：１つのメモリバンクにのみ有効なデータが存在する場合
FULL：２つのメモリバンクに有効なデータが存在する場合
書込側のステートマシン１２３の初期状態w_bank_stateは、図３（ａ）に示すように、初期信号clearによってEMPTYである。ステートマシン１２３の状態w_bank_state がEMPTYのときは、２つのメモリバンクにデータを書き込むことができる状態であるため、表１に示すように書込側の出力手段１２５からの信号w_okはアサートされている。
【００２４】
ステートマシン１２３の状態w_bank_state がEMPTYのときに書込終了信号w_endがアクティブになると、１つのメモリバンクにデータが書き込まれたということである。したがって、図３（ａ）に示すように、ステートマシン１２３の状態w_bank_stateはHALFに遷移する。ステートマシン１２３の状態w_bank_stateがHALFのときは、１つのメモリバンクにデータを書き込むことができる状態にあるため、表１に示すように出力手段１２５からの信号w_okはアサートされている。
【００２５】
ステートマシン１２３の状態w_bank_state がHALFのときにトリガ信号r_bank_swがアクティブでなく、トリガ信号w_bank_swがアクティブになると、２つのメモリバンクにデータが書き込まれており、書き込みを行うための空きメモリバンクが存在しないということである。したがって、図３（ａ）に示すように、ステートマシン１２３の状態w_bank_stateはFULLに遷移する。ここで、書き込み側から読み出し側へバンク切り替えが発生したことを通知する書込終了信号w_bank_swはクロック信号rd_clkに、読み出し側から書き込み側へバンク切り替えが発生したことを通知する読出終了信号r_bank_swはクロック信号wr_clkに各々クロック同期化回路１２１，１２２によって同期化されている。ステートマシン１２３の状態w_bank_state がFULLのときは空きメモリバンクが存在しないため、表１に示すように出力手段１２５からの信号w_okはネゲートされ、書込側ブロック２は、信号wr_okがアサートされるまで待ち状態になる。
【００２６】
ステートマシン１２３の状態w_bank_state がFULLのときにクロック同期化回路１２２から出力されるトリガ信号r_bank_swがアクティブになると、ステートマシン１２３の状態w_bank_state がHALFとなり、ステートマシン１２３の状態w_bank_state がHALFのときにトリガ信号r_bank_swがアクティブになると、ステートマシン１２３の状態w_bank_stateはEMPTYとなる。
【表１】
2008079237.tif 000003
【００２７】
読出側のステートマシン１２４の初期状態r_bank_stateは、図３（ｂ）に示すように、初期信号clearによってEMPTYである。ステートマシン１２４の状態r_bank_state がEMPTYのときは、メモリバンクに読み出すデータが存在しないので、読出側ブロック３は、入力する信号r_okがアサートされるまで待ち状態になる。
【００２８】
ステートマシン１２４の状態r_bank_state がEMPTYのときに書込終了信号w_bank_swがアクティブになると、１つのメモリバンクにデータが書き込まれたということである。したがって、図３（ｂ）に示すように、ステートマシン１２４の状態r_bank_stateはHALFに遷移する。ステートマシン１２４の状態r_bank_stateがHALFのときは、１つのメモリバンクに読み出すデータが存在する状態にあるため、表２に示すように読出側の出力手段１２６からの信号r_okはアサートされる。
【００２９】
ステートマシン１２４の状態r_bank_state がHALFのときトリガ信号r_bank_swがアクティブでなく、トリガ信号w_bank_swがアクティブになると、２つのメモリバンクにデータが書き込まれたこととなる。したがって、図３（ｂ）に示すように、ステートマシン１２４の状態r_bank_stateはFULLに遷移する。ステートマシン１２４の状態r_bank_state がFULLのときメモリバンクには読み出すデータが存在するため、表２に示すように出力手段１２６からの信号r_okはアサートされる。
【００３０】
ステートマシン１２４の状態r_bank_state がFULLのときに読出終了信号r_endがアクティブになると、ステートマシン１２４の状態r_bank_stateはHALFとなり、ステートマシン１２４の状態r_bank_state がHALFのときに信号r_endがアクティブになると、ステートマシン１２４の状態r_bank_stateはEMPTYとなる。
【表２】
2008079237.tif 000004
【００３１】
図１に示す非同期データ伝送装置１は、1つのメモリをアドレスの最上位ビットmsbで上位アドレス空間と下位アドレス空間の２つのメモリ領域に分割して使用する構成例であり、バンク切替信号w_bankを書込側メモリアドレスの最上位ビットmsbとして使用し、バンク切替信号r_bankを読出側メモリアドレスの最上位ビットmsbとして使用する一例である。
【００３２】
次に、非同期データ伝送装置１のメモリ１１にデータが書き込まれる際の動作を図４及び図５に示すタイミングチャートを用いて説明する。図４に示すタイミングチャートは、書込側のステートマシン１２３の状態w_bank_stateがEMPTYからHALFになる場合の一例である。また、図５に示すタイミングチャートは、書込側のステートマシン１２３の状態w_bank_stateがHALFからFULLに遷移する場合の一例である。
【００３３】
図４に示すように、書込側ブロック２が非同期データ伝送装置１から入力する信号wr_okがアクティブである場合、書込側ブロック２は、アドレス信号wr_addr及び書込信号wr_enに従って、メモリ１１に書込データwr_dataを書き込む。
【００３４】
メモリ１１へのデータの書き込みが終了すると、書込側ブロック２は、書込終了信号wr_endをアクティブにする。外部信号の書込終了信号wr_endがアクティブにされると、制御回路１２に入力される内部信号の書込終了信号w_endがアクティブになり（４−１）、書込側のステートマシン１２３の状態w_bank_stateがEMPTYからHALFに遷移される（４−２）。
【００３５】
また、書込終了信号w_endは、図２（ａ）を用いて上述したクロック同期化回路１２１を経由してトリガ信号w_bank_swがアクティブとなる。
【００３６】
トリガ信号w_bank_swがアクティブになると、読出側のステートマシン１２４の状態r_bank_stateがEMPTYからHALFに遷移する（４−４）。
【００３７】
また、メモリ１１からのデータの読み出しが可能となるため、非同期データ伝送装置１から読出側ブロック３に出力する信号rd_okもアクティブとなる（４−３）。
【００３８】
このように外部信号である書込終了信号wr_endが入力されて書込側のステートマシン１２３の状態w_bank_stateと読出側のステートマシン１２４の状態r_bank_stateが遷移するが、図４で示すように、書込側ブロック２と読出側ブロック３の動作クロックが異なるために、メモリバンクが切り替わった情報が他方のブロックに届かない不感帯が発生する。この不感帯の期間には書込側と読出側のステートが異なるため正常な動作を実行できない。
【００３９】
不感帯に対しては、例えば、書き込み側は書込終了信号wr_endがアクティブになると、ステートマシンの状態に因らず信号wr_okをネゲートし、信号wr_endから生成されるトリガ信号w_bank_swを、逆方向にクロック再同期化して得られる信号のタイミングでステートマシンの状態を正規の信号wr_okとして出力させる。また、読み出し側も同様に読出終了信号rd_endがアクティブになると、ステートマシンの状態に因らず信号rd_okをネゲートし、読出終了信号rd_endから生成されるトリガ信号r_bank_swを、逆方向にクロック再同期化して得られる信号のタイミングでステートマシンの状態を正規の信号rd_okとして出力させる。これにより、バンクを切り替えるように読出終了信号rd_end、書込終了信号wr_endを活性化しても、他方のクロック遅延分だけ信号rd_ok,wr_okが活性化しないため不感帯区間を保護できる。
【００４０】
また、図５に示すように、信号wr_okがアクティブである場合、書込側ブロック２は、アドレス信号wr_addr及び書込信号wr_enに従って、メモリ１１に書込データwr_dataを書き込む。
【００４１】
メモリ１１へのデータの書込みが終了すると、書込側ブロック２は、書込終了信号wr_endをアクティブにする。外部信号の書込終了信号wr_endがアクティブにされると、内部信号である終了信号w_endがアクティブになり（５−１）、書込側のステートマシン１２３の状態w_bank_stateがHALFからFULLに遷移される（５−２）。
【００４２】
また、空きメモリバンクが存在せず、データを書き込むことができない状態となるため、制御回路１２からの信号w_okはネゲートされる（５−３）。
【００４３】
さらに、書込終了信号w_endは、クロック同期化回路１２１を経由してトリガ信号w_bank_swがアクティブとなる。
【００４４】
トリガ信号w_bank_swがアクティブになると、読出側のステートマシン１２４の状態r_bank_stateがHALFからFULLに遷移される（５−４）。
【００４５】
このように外部信号の書込終了信号wr_endが入力すると、書込側のステートマシン１２３の状態w_bank_stateと読出側のステートマシン１２４の状態r_bank_stateが遷移するが、図５で示すように、書込側ブロック２と読出側ブロック３の動作クロックが異なるために、不感帯が発生する。
【００４６】
続いて、非同期データ伝送装置１のメモリ１１からデータが読出される際の動作を図６に示すタイミングチャートを用いて説明する。図６に示すタイミングチャートは、読出側のステートマシン１２４の状態r_bank_stateがFULLからHALFに遷移する場合の一例である。
【００４７】
図６に示すように、読出側ブロック３がデータ伝送装置１から入力する信号rd_okがアクティブである場合、読出側ブロック３は、アドレス信号rd_addr及び読出信号rd_enに従って、メモリ１１から読出データrd_dataを読み出す。
【００４８】
メモリ１１からのデータの読み出しが終了すると、読出側ブロック３は、読出信号rd_endをアクティブにする。外部信号の終了信号rd_endがアクティブにされると、内部信号の終了信号r_endがアクティブになり（６−１）、読出側のステートマシン１２４の状態r_bank_stateがFULLからHALFに遷移される（６−２）。
【００４９】
また、終了信号r_endは、クロック同期化回路１２２を経由してトリガ信号r_bank_swがアクティブとなる。
【００５０】
トリガ信号r_bank_swがアクティブになると、書込側のステートマシン１２３の状態w_bank_stateがFULLからHALFに遷移する（６−４）。また同時に書込側ブロック２が非同期データ伝送装置１から入力する信号wr_okもアクティブになる（６−３）。
【００５１】
このように外部信号である読出終了信号rd_endが入力されて書込側のステートマシン１２３の状態w_bank_stateと読出側のステートマシン１２４の状態r_bank_stateが遷移するが、図６で示すように、書込側ブロック２と読出側ブロック３の動作クロックが異なるために、不感帯が発生する。
【００５２】
次に、非同期データ伝送装置１のメモリ１１にデータが書き込まれるとともにメモリ１１からデータが読み出される際の動作を図７に示すタイミングチャートを用いて説明する。図７に示すタイミングチャートは、書込側のステートマシン１２３及び読出側のステートマシン１２４の状態がともにHALFであるとき、書き込みと読み出しが同時にされる場合の一例である。
【００５３】
図７に示すように、書込終了信号w_endに起因して生成されるトリガ信号w_bank_swと、読出終了信号r_endが同一タイミングになるために読出側のステートマシン１２４の状態r_bank_stateはHALFのまま遷移しない。書込側のステートマシン１２３の状態w_bank_stateは書込終了信号w_endがアクティブになることにより一度FULLに遷移する（７−２）。しかし、読出終了信号r_endがアクティブとなることによってトリガ信号r_bank_swがアクティブとなるため（７−４）、書込側のステートマシン１２４の状態w_bank_stateはすぐにHALFに戻る（７−５）。また、トリガ信号r_bank_swによって制御回路１２から出力される信号wr_okはアサートされる（７−６）。この場合、図７で示すように、不感帯が発生する。
【００５４】
上述したように、本発明の最良の実施形態に係る非同期データ伝送装置１によれば、クロック同期化回路１２１，１２２によって書込側ブロック２及び読出側ブロック３の異なるクロックの同期を合わせることができるとともに、ステートマシン１２３，１２４によってメモリ１１の状態を把握し、出力手段１２５，１２６で書き込み又は読み出しの可否を示す信号を出力している。
【００５５】
これにより、書込側ブロック２及び読出側ブロック３は従来と同様の構成であっても、非同期データ伝送装置１の制御回路１２で同期をとことができるため、データ伝送を容易に制御することができるとともに、各ブロックの処理速度の変動に対応することができるようになる。なお、書込側ブロック２と読出側ブロック３のクロックは非同期である場合に限らず、同期していても問題なく動作する。
【００５６】
〈第１変形例〉
図８を用いて本発明の第１変形例に係る非同期データ伝送装置１ａについて説明する。非同期データ伝送装置１ａは、図８に示すように、メモリ１１及び制御回路１２に加え、加算器１３１，１３２及びオフセットアドレス選択器１４１，１４２を有している。他の構成は図１に示した非同期データ伝送装置１と同一であり、制御回路１２ａは、書込側と読出側のクロック同期化回路、ステートマシン及び出力手段を有している（図示せず）。
【００５７】
書込側の加算器１３１は、書込アドレスw_addrとオフセットアドレス選択器１４１を介して入力する切替信号w_bankの加算によって、データ書き込みのためにアクセスするメモリバンクを特定する。書込側のオフセットアドレス選択器１４１は、Base Addressが０であり、Offset Addressはメモリサイズの半分に設定される。読出側の加算器１３２は、読出アドレスr_addrとオフセットアドレス選択器１４２を介して入力する切替信号r_bankの加算によって、データ読み出しのためにアクセスするメモリバンクを特定する。読出側のオフセットアドレス選択器１４２は、Base Addressが０であり、Offset Addressはメモリサイズの半分に設定される。
【００５８】
図１に示した非同期データ伝送装置１は、メモリ１１の領域を２のべき乗単位に分ける必要があり、伝送するデータサイズに対して無駄なメモリ領域が発生する場合があったが、図８に示す非同期データ伝送装置１ａは、加算器１３及びオフセットアドレス選択器１４を有するため、メモリ領域を必要最小限にすることができる。
【００５９】
〈第２変形例〉
図９を用いて本発明の第２変形例に係る非同期データ伝送装置１ｂについて説明する。非同期データ伝送装置１ｂのメモリ１１ｂは、４つのメモリ領域すなわち４つのメモリバンクを有している。非同期データ伝送装置１ｂでは、アクセスするメモリバンクの特定に書込アドレスw_addrの上位２ビットを用いる。
【００６０】
非同期データ伝送装置１ｂの制御回路１２ｂも書込側と読出側のクロック同期化回路１２１ｂ，１２２ｂ、ステートマシン１２３ｂ，１２４ｂ及び出力手段１２５ｂ，１２６ｂを有している。
【００６１】
非同期データ伝送装置１ｂでは、メモリバンクは４つ存在するためにメモリバンクを特定するためには２ビット必要である。したがって、クロック同期化回路１２１ｂ，１２２ｂから出力するメモリバンクの切替信号w_bank，r_bankは、排他的論理和出力でなく図１０に示すように２ビットカウンターの出力である。
【００６２】
メモリバンクが４つある場合、ステートマシン１２３ｂ，１２４ｂの状態は以下のように考えられる。
【００６３】
EMPTY：メモリバンクに有効なデータが存在しない場合
HALF0：１つのメモリバンクにのみ有効なデータが存在する場合
HALF1：２つのメモリバンクにのみ有効なデータが存在する場合
HALF2：３つのメモリバンクにのみ有効なデータが存在する場合
FULL：４つのメモリバンクに有効なデータが存在する場合
また、書込側のステートマシン１２３ｂは図１１（ａ）に示すように拡張され、読出側のステートマシン１２４ｂは図１１（ｂ）に示すように拡張される。
【００６４】
図１に示した非同期データ伝送装置１は、メモリ１１が有するメモリバンクは２つであったが、図９に示す非同期データ伝送装置１ｂは、データ処理の速度に合わせてメモリ１１ｂが有するメモリバンクを２以上（２のべき乗）とした。これにより、非同期データ伝送装置１ｂでは、メモリバンクにアクセスできない待ち時間を減少させ、データ伝送の効率を向上させることができる。
【００６５】
本発明は、ここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００６６】
【図１】本発明の最良の実施形態に係る非同期データ伝送装置の構成を説明するブロック構成図である。
【図２】本発明の最良の実施形態に係る非同期データ伝送装置のクロック同期化回路について説明する図である。
【図３】本発明の最良の実施形態の係る非同期データ伝送装置のステートマシンの状態について説明する図である。
【図４】本発明の最良の実施形態に係る非同期データ伝送装置のメモリにデータが書込まれる際のタイミングチャートの一例について説明する図である。
【図５】本発明の最良の実施形態に係る非同期データ伝送装置のメモリにデータが書込まれる際のタイミングチャートの他の例について説明する図である。
【図６】本発明の最良の実施形態に係る非同期データ伝送装置のメモリからデータが読出される際のタイミングチャートの一例について説明する図である。
【図７】本発明の最良の実施形態に係る非同期データ伝送装置のメモリにデータが書込まれるとともにメモリからデータが読み出される際のタイミングチャートの一例について説明する図である。
【図８】本発明の最良の実施形態の第１変形例に係る非同期データ伝送装置を説明する図である。
【図９】本発明の最良の実施形態の第２変形例に係る非同期データ伝送装置を説明する図である。
【図１０】本発明の最良の実施形態の第２変形例に係る非同期データ伝送装置のクロック同期化回路について説明する図である。
【図１１】本発明の最良の実施形態の第２変形例に係る非同期データ伝送装置のステートマシンの状態について説明する図である。
【符号の説明】
【００６７】
１…非同期データ伝送装置
２…書込側ブロック
３…読出側ブロック
１１…メモリ
１２…制御回路
１２１…書込側のクロック同期化回路（第１のクロック同期化回路）
１２２…読出側のクロック同期化回路（第２のクロック同期化回路）
１２３…書込側のステートマシン（第１のステートマシン）
１２４…読出側のステートマシン（第２のステートマシン）
１２５…書込側の出力手段（第１の出力手段）
１２６…読出側の出力手段（第２の出力手段）
１３…加算器
１４…オフセットアドレス選択器
【図１】
2008079237.tif 000005
【図２】
2008079237.tif 000006
【図３】
2008079237.tif 000007
【図４】
2008079237.tif 000008
【図５】
2008079237.tif 000009
【図６】
2008079237.tif 000010
【図７】
2008079237.tif 000011
【図８】
2008079237.tif 000012
【図９】
2008079237.tif 000013
【図１０】
2008079237.tif 000014
【図１１】
2008079237.tif 000015