説明

データ転送回路

【課題】異なるクロックで動作するデータ転送回路を簡素化する。
【解決手段】周辺回路側の周辺クロックpclkで動作する本体レジスタ14の他、バスクロックbclkで動作し、読出データrdata と書込データwdata に共用するデータバッファ12と、周辺クロックpck で動作し、本体レジスタ14のレジスタデータregdata が更新されたときに、これをコピーして読出保持データとして出力する読出バッファ16を設け、これらの2つのバッファ12,16でクロック信号の相違を補償する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック周波数の異なる回路間でデータを転送するためのデータ転送回路に関するものである。
【背景技術】
【0002】
図2は、従来のデータ転送回路の概略の構成図である。
このデータ転送回路は、CPUとは異なるクロックで動作するタイマや通信回路等の周辺回路が、バスを介してCPUとの間で安定したデータ転送を行うための回路であり、データ転送部50、書込バッファ制御部60、読出データ制御部70、及びパルス信号同期化部80で構成されている。
【0003】
データ転送部50は、書込保持データwbufd とCPUから与えられる書込データwdataを、選択信号wdsel に従って選択するセレクタ51と、このセレクタ51の出力側に接続され、バスクロックbclkに同期してデータを保持する書込バッファ52を有している。書込バッファ52に保持された書込保持データwbufd は、セレクタ51の入力側に戻されると共に、セレクタ53に与えられるようになっている。
【0004】
セレクタ53は、書込保持データwbufd の他、レジスタデータregdata と内部データindataが与えられ、選択信号regwe1,0に従っていずれか1つを選択するものである。セレクタ53の出力側には、周辺クロックpclkに同期してデータを保持し、保持したデータをレジスタデータregdata として出力する本体レジスタ54が接続されている。本体レジスタ54の出力側には、セレクタ55が接続されている。
【0005】
セレクタ55は、レジスタデータregdata と読出保持データrbufd の内の一方を、選択信号rdweに従って選択するもので、このセレクタ55の出力側に、周辺クロックpclkに同期してデータを保持し、保持したデータを読出保持データrbufd として出力する読出バッファ56が接続されている。読出バッファ56の出力側には、セレクタ57が接続されている。
【0006】
セレクタ57は、読出データrdata と読出保持データrbufd のいずれか一方を、選択信号rdackbに従って選択するもので、このセレクタ57の出力に読出バッファ58が接続されている。読出バッファ58は、バスクロックbclkに同期してデータを保持するものである。読出バッファ58に保持されたデータは、読出データrdata としてCPU側へ出力されると共に、セレクタ57の入力側に戻されるようになっている。
【0007】
書込バッファ制御部60は、バスクロックbclkに同期して動作し、CPUから与えられる書込制御信号wdweb と、パルス信号同期化部70から与えられる書込許可信号wdackbに従い、この書込許可信号wdweb が与えられたときに、誤動作を起こさないタイミングで書込データwdata を選択するための選択信号wdsel を出力するものである。
【0008】
読出データ制御部70は、周辺クロックpclkに同期して動作し、セレクタ53に対する選択信号regwe1,0を使用して、本体レジスタ54のレジスタデータregdata を読出バッファ56に書き込むための選択信号rdweを生成するものである。
【0009】
パルス信号同期化部80は、安定したパルス幅の信号を生成するために、バスクロック幅の信号wdsel,rdackbを、周辺クロック幅のパルス信号wdwep(regwe0),rdackpに変換し、周辺クロック幅の信号rdwe,rdwepをバスクロック幅の信号wdackbに変換するものである。また、読出保存データrbufd が変化した時に、この読出保存データrbufd を読出バッファ58に書き込むための選択信号rdackbを出力するようになっている。
【0010】
次に、図2の基本動作を説明する。
バスから本体レジスタ55へデータを書き込む場合、書込データwdata をバスクロックbclkに同期して書込バッファ52に書き込み、その後、この書込バッファ52に保持されている書込保持データwbufd を、周辺クロックpclkに同期して本体レジスタ54へ書き込む。
【0011】
また、本体レジスタ54に書き込まれているレジスタデータregdata を読み出す場合、このレジスタデータregdata を周辺クロックpclkに同期して読出バッファ56にコピーし、読出保持データrbufd として読出バッファ58へ転送する。読出保持データrbufd は、更にバスクロックbclkに同期して読出バッファ58に取り込まれ、読出データrdata としてバスを介してCPUへ出力される。
【0012】
このように、書込バッファ52に書込データwdata を一旦書き込むことにより、本体レジスタ54にデータが書き込まれるまで、書込保持データの値を安定させることができる。また、本体レジスタ54のレジスタデータregdata を読出バッファ56にコピーすることにより、読出バッファ58へのデータ転送期間、読出保持データrbufd の値を安定させることができる。更に、読出バッファ58に読出データrdata を保持することにより、本体レジスタ54からデータを読み出す時間がバスアクセスサイクル数よりも長い場合に対応することができる。
【0013】
【特許文献1】特開2002−269036号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、前記データ転送回路では、本体レジスタ54の他、書込バッファ52、読出バッファ56,58の3組のフリップフロップ(以下、「FF」という)が必要になる。各FFは、データ幅と同じビット数を有するので、回路規模が大きくなるという課題があった。
【0015】
また、CPU側から本体レジスタ54にデータを書き込んだ直後に読み出しを行うと、書き込んだデータではなく、読出バッファ58に保持されている書き込み前のデータが読み出されてしまう。このため、CPU側から本体レジスタ54にデータを書き込んで周辺回路を動作させ、動作が終了した時点で本体レジスタ54のビットをクリアするような機能の場合、動作が終了していないにも拘らず、動作が終了している状態を示すデータが読み出されるおそれがあった。
【0016】
本発明は、異なるクロックで動作するデータ転送回路を簡素化することを目的としている。
【課題を解決するための手段】
【0017】
本発明は、第1のクロック信号に同期して動作するバスインタフェースを介して、該第1のクロック信号とは異なる第2のクロック信号に同期して動作する周辺回路内の本体レジスタとの間でデータの転送を行うデータ転送回路を次のように構成している。
【0018】
即ち、このデータ転送回路は、バスインタフェースから与えられる書込データ、バスインタフェースへ出力する読出データ、または読出保持データの内のいずれか1つを、第1の選択信号に従って選択する第1のセレクタと、第1のセレクタで選択されたデータを、第1のクロック信号に同期して保持すると共に、保持したデータを読出データとして出力するデータバッファと、データバッファから出力されるデータ、本体レジスタの保持されたデータ、または周辺回路内で発生した内部データの内のいずれか1つを、第2の選択信号に従って選択して本体レジスタに与える第2のセレクタと、本体レジスタの保持されたデータまたは読出保持データを、第3の選択信号に従って選択する第3のセレクタと、第3のセレクタで選択されたデータを、第2のクロック信号に同期して保持すると共に、保持したデータを読出保持データとして出力する読出バッファと、前記バスインタフェースからの書込制御信号を受信し、該書込制御信号と前記読出保持データの選択を制御する読出確定信号とに基づいて前記第1の選択信号を生成し、該書込制御信号と前記内部データの発生状態を示す信号とに基づいて前記第2の選択信号を生成し、前記本体レジスタのデータの更新状態を示す信号に基づいて前記第3の選択信号を生成する制御部とを備えている。
【発明の効果】
【0019】
本発明では、本体レジスタの他、バス側の第1のクロック信号で動作し、読出データと書込データに共用するデータバッファと、周辺回路側の第2のクロック信号で動作する読出バッファの2つのバッファでクロック信号の相違を補償するようにしている。これにより、従来のように、本体バッファの他に3つのバッファを使用するデータ転送回路に比べてバッファ数が減少し、回路規模を簡素化することができるという効果がある。
【発明を実施するための最良の形態】
【0020】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例1】
【0021】
図1は、本発明の実施例を示すデータ転送回路の構成図である。
このデータ転送回路は、CPUとは異なるクロックで動作するタイマや通信回路等の周辺回路が、バスを介してCPUとの間で安定したデータ転送を行うための回路であり、データ転送部10、バッファ制御部20、読出データ制御部30、及びパルス信号同期化部40で構成されている。
【0022】
データ転送部10は、読出データrdata と、読出保持データrbufd と、CPUから与えられる書込データwdata を、選択信号wdsel,rdsel に従って選択するセレクタ11を有している。セレクタ11は、選択信号wdsel が“1”の時は書込データwdata を、選択信号wdsel が“0”で選択信号rdsel が“1”の時は読出保持データrbufd を、選択信号wdsel,rdsel が共に“0”の時は読出データrdata を選択して出力するものである。セレクタ11の出力側にはデータバッファ12が接続されている。
【0023】
データバッファ12は、バスクロックbclkに同期してデータを保持するもので、このデータバッファ12に保持されたデータは、読出データrdata としてCPU側へ出力されると共に、セレクタ11,13に与えられるようになっている。
【0024】
セレクタ13は、データバッファ12に保持されたデータの他、レジスタデータregdata と、本体レジスタ14の機能的要因による内部データindataが与えられ、選択信号regwe1,0に従っていずれか1つを選択するものである。選択信号regwe1は、本体レジスタ14の機能的要因(例えば、周辺回路の処理終了によるレジスタ値のクリア等)による信号である。また、選択信号regwe0は、パルス信号同期化部40から与えられるようになっている。このセレクタ13では、選択信号regwe0が“1”の時はデータバッファ12に保持されたデータを、選択信号regwe0,regwe1がそれぞれ“0”,“1”の時は内部データindataを、選択信号regwe0,regwe1が共に“0”の時はレジスタデータregdata を、それぞれ選択するようになっている。
【0025】
セレクタ13の出力側には、本体レジスタ14が接続されている。本体レジスタ14は、セレクタ13で選択されたデータを周辺クロックpclkに同期して保持し、保持したデータをレジスタデータregdata として出力するものである。本体レジスタ14の出力側には、セレクタ15が接続されている。
【0026】
セレクタ15は、レジスタデータregdata と読出保持データrbufd の内の一方を、選択信号rdwep に従って選択するものである。このセレクタ15では、選択信号rdwep が“0”の時に読出保持データrbufd を、“1”の時にはレジスタデータregdata を選択して出力するようになっている。セレクタ15の出力側には、読出バッファ16が接続されている。読出バッファ16は、周辺クロックpclkに同期してデータを保持し、保持したデータを読出保持データrbufd として出力するものである。
【0027】
バッファ制御部20は、バスクロックbclkに同期して動作し、CPUから与えられる書込制御信号wdweb 、パルス信号同期化部40から与えられる書込応答信号wdackb、読出制御信号rdweb 及び読出確定信号rdwev に従って、セレクタ11に対する選択信号wdsel,rdsel を出力するものである。
【0028】
読出データ制御部30は、周辺クロックpclkに同期して動作し、選択信号regwe1,0と読出許可信号rdackpに従って、本体レジスタ14のレジスタデータregdata を読出バッファ16に書き込むための選択信号rdwep を生成するものである。
【0029】
パルス信号同期化部40は、安定したパルス幅の信号を生成するために、バスクロック幅の信号wdsel,rdweb を、周辺クロック幅の信号regwe0,rdackp に変換し、周辺クロック幅の信号rdwep,regwe0をバスクロック幅の信号rdweb,wdackbに変換するものである。
【0030】
図3は、図1中のバッファ制御部20の回路図である。
このバッファ制御部20は、セレクタ21とFF22で同期セット・リセット回路を構成し、データバッファ12に書込データwdata を書き込むための選択信号wdsel を生成するようになっている。書込応答信号wdackbが“1”のときFF22はリセットされ、書込応答信号wdackbが“0”で書込制御信号wdweb が“1”のときFF22はセットされ、書込許可信号wdackbと書込制御信号wdweb が“0”のときFF22は状態を維持するようになっている。FF22から出力される抑止信号wbufl は、データバッファ12のデータ転送中にこのデータバッファ12の更新を抑止するための信号として使用される。抑止が必要な理由は、データ転送中にデータバッファ12の値が変化すると、正しくデータが転送できない場合があるためである。抑止信号wbufl の反転信号、即ちFF22の反転出力端子の信号と書込制御信号wdweb は、AND23によって論理積が取られ、選択信号wdselとして出力される。
【0031】
更に、このバッファ制御部20では、読出保持データrbufd をデータバッファ12に書き込むための選択信号rdsel を生成するために、AND24とOR25による回路を有している。AND24は、読出制御信号rdweb と抑止信号wbufl の反転信号の論理積を取るもので、OR25によって、このAND24の出力信号と読出確定信号rdwev の論理積が取られ、選択信号rdsel が生成される。これにより、データバッファ12が使用中でないときの読出制御信号rdweb のアサート、または読出確定信号rdwev のアサートにより、選択信号rdsel がアサートするようになっている。
【0032】
図4は、図1中の読出データ制御部30の回路図である。
この読出データ制御部30は、セレクタ31とFF32で同期セット・リセット回路を構成し、読出バッファ16の更新を抑止するための抑止信号rbufl を生成するようになっている。選択信号rdwep が“1”のときFF32はセットされ、選択信号rdwep が“0”で読出応答信号rdackpが“1”のときFF32はリセットされ、選択信号rdwep と読出応答信号rdackpが“0”のときFF32は状態を維持するようになっている。FF32の出力端子Qから抑止信rbufl が、反転出力端子/Qからは、抑止信号rbufl を反転した信号が出力されるようになっている。
【0033】
また、この読出データ制御部30は、レジスタ機能要因によるデータ書き込みを制御する回路(AND34〜OR38)と、バスインタフェースからの書き込みとレジスタ機能要因による書き込みが同時であった場合の抑止回路(AND39)を有している。
【0034】
即ち、FF32の反転出力端子/Qは、OR33の一方の入力側に接続され、このOR33の他方の入力側には、選択信号regwe0が与えられている。選択信号regwe0は、更にインバータで反転されてAND34の一方の入力側に与えられ、このAND34の他方の入力側には、選択信号regwe1が与えられている。AND34の出力側は、周辺クロックpclkに同期して動作するFF35に接続され、このFF35からレジスタ書込信号regweff が出力されるようになっている。OR33の出力信号s33 と、レジスタ書込信号regweff は、セレクタ36の選択信号として与えられている。
【0035】
セレクタ36はFF37と共に同期セット・リセット回路を構成し、信号s33 が“1”のときFF37はリセットされ、信号s33 が“0”でレジスタ書込信号regweff が“1”のときFF37はセットされ、信号s33 とレジスタ書込信号regweff が共に“0”のときFF37は状態を維持するようになっている。そして、FF37から読出データ制御信号rdweh が出力されるようになっている。
【0036】
FF37の出力側は、OR38の一方の入力側に接続され、このOR38の他方の入力側に、FF35のレジスタ書込信号regweff が与えられている。OR38の出力側はAND39の一方の入力側に接続され、このAND39の他方の入力側は、FF32の反転出力端子/Qに接続されている。そして、AND39の出力側から、選択信号rdwep が出力されるようになっている。
【0037】
図5は、図1中のパルス信号同期化部40の回路図である。
このパルス信号同期化部40は、バスクロックbclkの1サイクル分のパルスを周辺クロックpclkの1サイクル分のパルスに変換するパルス信号同期化回路41,44と、周辺クロックpclkの1サイクル分のパルスをバスクロックbclkの1サイクル分のパルスに変換するパルス信号同期化回路42,43を有している。
【0038】
パルス信号同期化回路41〜44は、入力側のクロックに従って入力データを保持する1段のフリップフロップと、出力側のクロックに従って動作する2段のフリップフロップを縦続接続したものである。
【0039】
パルス信号同期化回路41,44は、選択信号wdsel と読出制御信号rdweb を、それぞれ選択信号regwe0と読出応答信号rdackpに変換するものである。また、パルス信号同期化回路42,43は、選択信号regwe0と選択信号rdwep を、それぞれ書込応答信号wdackbと読出制御信号rdweb に変換するものである。
【0040】
更に、このパルス信号同期化部40は、データの更新順序を示す更新順序信号s46 と,データ“0”,“1”を、選択信号regwe0,rdwebに従って選択するセレクタ45を有している。このセレクタ45は、選択信号regwe0が“1”の時にはデータ“0”、選択信号regwe0が“0”で選択信号rdwep が“1”の時にはデータ“1”、選択信号regwe0,rdwebが共に“0”の時には更新順序信号s46 を、それぞれ選択するものである。セレクタ45の出力側は、周辺クロックpclkに同期して動作するフリップフロップ46に接続され、このフリップフロップ46から更新順序信号s46 が出力されるようになっている。
【0041】
フリップフロップ46の出力側は、更に、バスクロックbclkに同期して動作するフリップフロップ47に接続され、このフリップフロップ47の出力側が、3入力のANDゲート48の入力側に接続されている。ANDゲート48の他の2つの入力側には、書込応答信号wdackbと読出制御信号rdweb が与えられ、このANDゲート48の出力側から読出確定信号rdwev が出力されるようになっている。これにより、書込応答信号wdackbと読出制御信号rdweb が共に“1”のときにのみ、読出確定信号rdwev が“1”となり、バッファ制御回路20に与えられるようになっている。
【0042】
図6〜図8は、それぞれ図1の基本動作タイムチャート1〜3である。以下、これらの図6〜図8を参照しつつ、図1の動作を説明する。
【0043】
図6は、バスクロックbclkの周波数が周辺クロックpclkの周波数よりも高い場合の基本動作(1)を示している。
【0044】
CPU側から本体レジスタ14にデータを書き込む場合、まず、バスクロックbclkに同期して、バス側の書込制御信号wdweb がアサートされ、書込データwdata として値(B)が出力される。これにより、次のバスクロックbclkの立ち上がりでデータバッファ12の値が(B)となり、バッファ制御部20の抑止信号wbufl がアクティブとなる。
【0045】
また、パルス信号同期化部40内のパルス信号同期化回路41により、周辺クロックpclkで同期化された選択信号regwe0がアサートする。選択信号regwe0はパスル同期化回路43に与えられ、バスクロックbclkで同期化された書込応答信号wdackbが、ハンドシェークの応答信号として折り返される。折り返されてきた書込応答信号wdackbにより、データバッファ12の更新を抑止している抑制信号wbufl がネゲートされる。そして、選択信号regwe0のアサートにより、周辺クロックpclkの次のサイクルで、本体レジスタ14のレジスタデータregdata が書込データwdata の値(B)に切り替わる。
【0046】
一方、レジスタ機能要因によるレジスタ書き込みが発生した場合は、まず、選択信号regwe1がアサートする。これにより、セレクタ13によって内部データindataが選択され、本体レジスタ14のレジスタデータregdata は、内部データindataの値(C)に切り替わる。
【0047】
読出データ制御部30では、選択信号regwe1を受けて、レジスタ書込信号regweff と選択信号rdwep がアサートする。選択信号rdwep がアクティブになると、読出バッファ16の読出保持データrbufd の値がレジスタデータregdata の値(C)に切り替わると同時に、抑止信号rbufl がアサートする。
【0048】
また、選択信号rdwep は、パルス信号同期化部40のパルス信号同期化回路43によってバスクロックbclkで同期化され、読出制御信号rdweb としてアサートされる。読出制御信号rdweb は、更にパルス同期化回路44によって周辺クロックpclkで同期化され、ハンドシェークの応答信号として、読出応答信号rdackpが読出データ制御部30に折り返される。
【0049】
読出データ制御部30では、折り返されてきた読出応答信号rdackpにより、読出バッファ16の更新を抑止している抑止信号rbufl がネゲートされる。そして、バス側から与えられる書込制御信号rdweb のアサートにより、バスクロックbclkの次のサイクルで、読出データrdata が読出保持データrbufd の値(C)に切り替わる。
【0050】
図7は、バスクロックbclkの周波数が周辺クロックpclkの周波数よりも低い場合で、本体レジスタ14に対してレジスタの機能要因による書き込みが連続して発生した後に、バスインタフェースからの書き込みが発生した場合の基本動作(2)である。
【0051】
レジスタの機能要因による連続書き込みにより、選択信号regwe1
が連続してアサートした場合、読出データ制御部30では、1回目のアサートによるハンドシェークの応答信号である読出応答信号rdackpが返るまで、2回目のアサートは読出データ制御信号rdwehによって保持される。通常、1回目のハンドシェークにより読出バッファ16からデータ(B)が転送され、その後、読出応答信号rdackpの受信と読出データ制御信号rdweh により、2回目のハンドシェークが行われ、1回目のデータ(C)が読出データrdata に反映される。本図の動作では、更にバスインタフェースからの書込要求が発生しているため、1回目、2回目とも読出バッファ16からデータバッファ12への書き込みが抑止される。1回目はバッファ制御部20の抑止信号wbufl によって抑止され、2回目は選択信号regwe0によって読出データ制御部30の読出データ制御信号rdweh がクリアされることで抑止される。この抑止機能により、本体レジスタ14における最終のレジスタデータregdata の値(D)と、読出データrdata の値が一致する。
【0052】
図8は、バスクロックbclkの周波数が周辺クロックpclkの周波数よりも低い場合で、本体レジスタ14に対してバスインタフェースからの書き込みが発生した直後に、この本体レジスタ14の機能要因による書き込みが発生した場合の基本動作(3)である。
【0053】
バスインタフェースからの書き込みと、本体レジスタ14の機能要因による書き込みでは、この本体レジスタ14へのタイミングには周辺クロックpclkの1サイクルの差がある。これに対し、バス側の書込応答信号wdackbと読出制御信号rdweb は、アサートのタイミングが一致する。
【0054】
このような場合は、読出確定信号rdwev による判断が行われる。即ち、読出確定信号rdwev は、本体レジスタ14への書き込みが後で発生したときの値となっている。本例のように、本体レジスタ14の機能要因による選択信号regwe1が後で発生した場合、読出確定信号rdwev が“1”となっているので、バッファ制御部20の抑止信号wbufl に拘らずデータバッファ12の値は書き替えられる。なお、読出確定信号rdwev が“0”の場合は、データバッファ12の値は書き替えられず、そのままの値(バスインタフェースからの書込データwdata の値)が保持される。
【0055】
以上のように、この実施例のデータ転送回路は、本体レジスタ14の他、バスクロックbclkで動作し、読出データrdata と書込データwdata に共用するデータバッファ12と、周辺クロックpclkで動作する読出バッファ16の2つのバッファでクロックの相違を補償するようにしているので、従来のように3つのバッファを使用するデータ転送回路に比べてバッファ数が減少し、回路規模を簡素化することができるという利点がある。
【0056】
また、バッファ制御部20では、本体レジスタ14の内容が変化したときに、レジスタデータregdata をデータバッファ12に転送しておくように制御が行われるので、CPUから本体レジスタ14に書き込んだ書込データwdata を、次のサイクルで読み出すことができるという利点がある。
【0057】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。即ち、実施例で示した各部の具体的な回路構成に限定されることなく、同様の機能を有する回路構成であれば、同様に適用することができる。
【図面の簡単な説明】
【0058】
【図1】本発明の実施例を示すデータ転送回路の構成図である。
【図2】従来のデータ転送回路の概略の構成図である。
【図3】図1中のバッファ制御部20の回路図である。
【図4】図1中の読出データ制御部30の回路図である。
【図5】図1中のパルス信号同期化部40の回路図である。
【図6】図1の基本動作タイムチャート1である。
【図7】図1の基本動作タイムチャート2である。
【図8】図1の基本動作タイムチャート3である。
【符号の説明】
【0059】
10 データ転送部
11,13,15 セレクタ
12 データバッファ
14 本体レジスタ
16 読出バッファ
20 バッファ制御部
30 読出データ制御部
40 パルス信号同期化部

【特許請求の範囲】
【請求項1】
第1のクロック信号に同期して動作するバスインタフェースを介して、該第1のクロック信号とは異なる第2のクロック信号に同期して動作する周辺回路内の本体レジスタとの間でデータの転送を行うデータ転送回路であって、
前記バスインタフェースから与えられる書込データ、該バスインタフェースへ出力する読出データ、または読出保持データの内のいずれか1つを、第1の選択信号に従って選択する第1のセレクタと、
前記第1のセレクタで選択されたデータを、前記第1のクロック信号に同期して保持すると共に、保持したデータを前記読出データとして出力するデータバッファと、
前記データバッファから出力されるデータ、前記本体レジスタの保持されたデータ、または前記周辺回路内で発生した内部データの内のいずれか1つを、第2の選択信号に従って選択して該本体レジスタに与える第2のセレクタと、
前記本体レジスタの保持されたデータまたは前記読出保持データを、第3の選択信号に従って選択する第3のセレクタと、
前記第3のセレクタで選択されたデータを、前記第2のクロック信号に同期して保持すると共に、保持したデータを前記読出保持データとして出力する読出バッファと、
前記バスインタフェースからの書込制御信号を受信し、該書込制御信号と前記読出保持データの選択を制御する読出確定信号とに基づいて前記第1の選択信号を生成し、該書込制御信号と前記内部データの発生状態を示す信号とに基づいて前記第2の選択信号を生成し、前記本体レジスタのデータの更新状態を示す信号に基づいて前記第3の選択信号を生成する制御部とを、
備えたことを特徴とするデータ転送回路。
【請求項2】
前記制御部は、
前記読出確定信号が与えられたときには前記読出保持データを選択し、前記書込制御信号が与えられたときには前記書込データを選択し、これらの読出確定信号と書込制御信号のいずれも与えられないときには前記読出データを選択するように前記第1の選択信号の状態を制御する第1の制御部と、
前記書込制御信号が与えられたときには前記データバッファから出力されるデータを選択し、前記内部データの発生状態を示す信号が該内部データが発生したことを指示する時には該内部データを選択し、該書込制御信号が与えられず、かつ該内部データの発生状態を示す信号が該内部データが発生したことを指示しないときには前記本体レジスタに保持されたデータを選択するように前記第2の選択信号の状態を制御する第2の制御部と、
前記本体レジスタのデータの更新状態を示す信号がデータ更新を指示するときには該本体レジスタに保持されたデータを選択し、該本体レジスタのデータの更新状態を示す信号がデータ更新を指示しないときには前記読出保持データを選択するように前記第3の選択信号の状態を制御する第3の制御部とを、
有することを特徴とする請求項1記載のデータ転送回路。
【請求項3】
前記第2の制御部は、パルス信号同期化回路により構成されていることを特徴とする請求項2記載のデータ転送回路。
【請求項4】
前記第1の制御部は、前記第1のクロック信号に同期して動作し、前記第3の制御部は、前記第2のクロック信号に同期して動作することを特徴とする請求項2または3記載のデータ転送回路。
【請求項5】
前記読出確定信号の状態は、前記第3の選択信号の状態に応じて制御されることを特徴とする請求項1〜4のいずれか1項に記載のデータ転送回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−128438(P2007−128438A)
【公開日】平成19年5月24日(2007.5.24)
【国際特許分類】
【出願番号】特願2005−322463(P2005−322463)
【出願日】平成17年11月7日(2005.11.7)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【出願人】(503357654)株式会社沖ネットワークエルエスアイ (61)
【Fターム(参考)】