(57)【要約】【課題】  回路構成を簡単にし、クロックの異なる回路とのデータの入出力が可能なインターフェース回路を提供すること。【解決手段】  本発明におけるインターフェース回路は、第１の回路と第２の回路との間のデータ転送をインターフェース処理するインターフェース回路であって、複数のデータ保持要素から構成され、入力されたデータをそのデータ保持要素間で順次転送し、第１の回路との間でデータの順次転送を行うシフトレジスタと、シフトレジスタを構成するデータ保持要素に対応し、当該データ保持要素にデータが格納されているか否かの情報を格納するフラグビットとを備えるインターフェース回路である。このような構成により、回路構成を簡単にすることが可能となる。【選択図】図２
2006323976.tif 000002
【特許請求の範囲】
【請求項１】
異なる回路間のデータ転送をインターフェース処理するインターフェース回路であって、
複数のレジスタを備え、入力された前記異なる回路間の転送データを、そのレジスタ間で順次転送する、シフトレジスタと、
前記複数のレジスタのそれぞれの格納データが有効であるか否かを示すデータを保持する、レジスタ格納状態データ保持回路と、
を備えるインターフェース回路。
【請求項２】
前記シフトレジスタは、前記複数のレジスタの一部の複数レジスタから構成され転送データを出力する出力データ格納レジスタを備え、
前記出力データ格納レジスタは、その全てのレジスタに転送データが格納された後にその転送データを出力する、
請求項１に記載のインターフェース回路。
【請求項３】
前記レジスタ格納状態データ保持回路は複数のフラグレジスタを備え、
前記複数のフラグレジスタのそれぞれは、前記シフトレジスタの各レジスタに対応し、その対応レジスタの格納データが有効であるか否かを示すフラグデータを格納する、
請求項１または２に記載のインターフェース回路。
【請求項４】
前記複数のフラグレジスタは、前記シフトレジスタの順次転送動作に対応して、その格納しているフラグデータをフラグレジスタ間で順次転送する、請求項３に記載のインターフェース回路。
【請求項５】
前記複数のフラグレジスタは、データ入力側のフラグレジスタからデータ出力側のフラグレジスタの方向に順次データを転送し、
各フラグレジスタについて当該フラグレジスタに格納されているフラグデータを当該フラグレジスタの出力側に隣接するフラグレジスタに転送可能か否かを判定し、判定の結果、転送可能である場合に当該フラグレジスタに格納されているフラグデータを当該フラグレジスタの出力側に隣接するフラグレジスタに転送することを特徴とする請求項３記載のインターフェース回路。
【請求項６】
前記シフトレジスタは、前記複数のフラグレジスタの順次転送動作に対応して、その格納しているデータをシフトレジスタ間で順次転送する請求項５記載のインターフェース回路。
【請求項７】
前記複数のフラグレジスタは、各フラグレジスタについて当該フラグレジスタに格納されているフラグデータを当該フラグレジスタの出力側に隣接するフラグレジスタに転送可能か否かの判定を、当該フラグレジスタよりも出力側にあるフラグレジスタ全ての論理積により行うことを特徴とする請求項５または６に記載のインターフェース回路。
【請求項８】
前記インターフェース回路は、前記出力データ格納レジスタから選択したデータを外部に出力する出力データセレクタをさらに備える、請求項２乃至７のいずれか一つに記載のインターフェース回路。
【請求項９】
前記インターフェース回路は、前記出力データセレクタからのデータ出力に応じて、該当する前記フラグレジスタの情報を、データが有効である情報からデータが無効である情報に書き換えるシフト動作制御回路を備えることを特徴とする請求項８記載のインターフェース回路。
【請求項１０】
第１の回路と第２の回路との間のデータ転送をインターフェース処理するインターフェース回路であって、
複数のレジスタを備え、入力されたデータをそのレジスタ間で順次転送する、シフトレジスタと、
前記シフトレジスタの一部の複数レジスタと接続され、前記第２回路との間でデータ転送を行うサブバッファと、
を備えるインターフェース回路。
【請求項１１】
前記シフトレジスタは、前記第１回路との間でデータの順次転送を行い、前記第１の回路と前記第２の回路とは非同期動作する、請求項１０に記載のインターフェース回路。
【請求項１２】
前記サブバッファと接続された一部の複数レジスタは、その全てのレジスタにデータが格納されたことを条件として、前記サブバッファにデータを出力する、請求項１１に記載のインターフェース回路。
【請求項１３】
前記サブバッファと接続された一部の複数レジスタは、前記サブバッファにデータが格納されたことを条件として、前記サブバッファからデータを入力する、請求項１１に記載のインターフェース回路。
【請求項１４】
前記インターフェース回路は、さらに、前記シフトレジスタの各レジスタの格納データが有効であるか否かを示すデータを保持するレジスタ格納状態データ保持回路を備える、請求項１０、１１または１２に記載のインターフェース回路。
【請求項１５】
前記レジスタ格納状態データ保持回路は複数のフラグレジスタを備え、
前記複数のフラグレジスタのそれぞれは、前記シフトレジスタの各レジスタに対応し、その対応レジスタの格納データが有効であるか否かを示すデータを格納する、
請求項１４に記載のインターフェース回路。
【請求項１６】
前記複数のフラグレジスタは、前記シフトレジスタの順次転送動作に対応して、その格納しているデータをフラグレジスタ間で順次転送する、請求項１５に記載のインターフェース回路。
【請求項１７】
前記複数のフラグレジスタは、データ入力側のフラグレジスタからデータ出力側のフラグレジスタの方向に順次データを転送し、
各フラグレジスタについて当該フラグレジスタに格納されている情報を当該フラグレジスタに出力側に隣接するフラグレジスタに転送可能か否かを判定し、判定の結果可能である場合に当該フラグレジスタに格納されている情報を当該フラグレジスタに出力側に隣接するフラグレジスタに転送することを特徴とする請求項１５記載のインターフェース回路。
【請求項１８】
前記シフトレジスタは、前記複数のフラグレジスタの順次転送動作に対応して、格納しているデータをフラグレジスタ間で順次転送する、請求項１７に記載のインターフェース回路。
【請求項１９】
前記複数のフラグレジスタは、各フラグレジスタについて当該フラグレジスタに格納されているフラグデータを当該フラグレジスタの出力側に隣接するフラグレジスタに転送可能か否かの判定を、当該フラグレジスタよりも出力側にあるフラグレジスタ全ての論理積により行うことを特徴とする請求項１７または１８に記載のインターフェース回路。
【請求項２０】
光ディスクから読み取ったデータを制御回路により処理する、光ディスク装置であって、
読み取ったデータのデータ転送において、前記制御回路のためにインターフェース処理を行う請求項１乃至１９のいずれか一つに記載のインターフェース回路を備えた光ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送の処理を行うインターフェース回路に関する。
【背景技術】
【０００２】
クロック周波数の異なる回路間でデータを転送する場合などにおいて、回路間のデータ転送速度の違い及び転送プロトコルの違いを吸収するためにＦＩＦＯ（First In First Out）を介してデータ転送を行うインターフェース回路が利用される。
【０００３】
このインターフェース回路において、ＦＩＦＯの必要な深さにより、ＦＩＦＯをＲＡＭで構成するかレジスタで構成するかを決める。ＦＩＦＯ段数が少数でよい場合は、回路規模的に優位なレジスタによりＦＩＦＯを構成する。このレジスタにより構成されたＦＩＦＯを介してデータ転送を行うインターフェース回路において、高速に動作することと回路構成を簡単にすることが要求され、多くの発明がなされてきた（例えば、特許文献１など）。
【０００４】
このようなインターフェース回路の従来技術における構成について説明する。図１８は、従来技術におけるインターフェース回路の構成を示すブロック図である。従来技術に示すインターフェース回路３１は、シフトレジスタ３１０、入力ポインタ制御回路３１１、出力データセレクタ３１２、出力ポインタ制御回路３１３、シフト動作制御回路３１４を備える。
【０００５】
従来技術におけるインターフェース回路の処理の流れについて簡単に説明する。シフトレジスタ３１０は、データ書き込み回路３００から入力データを入力する。このとき、入力データ単位が、シフトレジスタ３１０を構成する複数のレジスタ分のデータ量の場合、入力ポインタ制御回路３１１からの信号に基づいて、順次シフトレジスタ３１０内のレジスタに入力する。
【０００６】
その後シフトレジスタ３１０は、入力したデータのシフト処理を行う。ポインタ制御回路３１３は、データ読み出し回路３２からのデータ読み出し要求信号に応じて、シフトレジスタ３１０のうち、先に入力した出力データ単位毎に順にシフトレジスタ３１０からデータ読み出し回路３２にデータを出力指示する制御信号を出力データセレクタ３１２に対して出力する。
【０００７】
出力データセレクタ３１２は、出力ポインタ制御回路３１３から信号を入力するとシフトレジスタ３１０内の信号に該当するレジスタからデータを入力し、データ読み出し回路３２に対して出力する。これを出力データ単位数分繰り返すことにより、データの出力が行われる。
【０００８】
このようにシフトレジスタを用いることにより、入出力を行うレジスタを限定することができるので、シフトレジスタの備えるレジスタ全てからレジスタを指定してデータの入出力を行う場合に比べて入力ポインタ制御回路３１１の回路構成を簡単にすることが可能となる。しかしながら、入出力がシフトレジスタの備えるレジスタ複数分の容量の単位で行われるバースト転送である場合、シフトレジスタの備えるレジスタ全てからではないものの、シフトレジスタの備えるどのレジスタにデータを入力するかを、データ入出力の単位に該当する数のレジスタから指定する処理を行うポインタ制御回路は必要となる。また、出力ポインタ制御回路３１３は、シフトレジスタ３１０を構成する全てのレジスタからデータを出力するレジスタを選択するため、シフトレジスタ３１０を構成するレジスタ数が多くなると、ポインタ制御回路３１３は回路構成が大きくなってしまう。
【０００９】
更には、従来技術に示す構成の場合、データ書き込み回路３００とデータ読み出し回路３２の動作クロック周波数が異なる場合、タイミングを制御する同期回路が必要となり、回路構成が複雑になってしまう。
【特許文献１】特開２００１−４３６７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このように、従来のインターフェース回路は、回路構成が複雑になってしまうという問題点があった。また、クロックの異なる回路とのデータの入出力を行うには、タイミングの制御が必要となり、更に、回路構成が大きく、かつ複雑になってしまうという問題点もあった。
【課題を解決するための手段】
【００１１】
本発明におけるインターフェース回路は、異なる回路間のデータ転送をインターフェース処理するインターフェース回路であって、複数のレジスタを備え、入力された前記異なる回路間の転送データを、そのレジスタ間で順次転送する、シフトレジスタと、前記複数のレジスタのそれぞれの格納データが有効であるか否かを示すデータを保持するレジスタ格納状態データ保持回路を備えるものである。このような構成により、インターフェース回路の回路構成を小さくかつ簡単にすることが可能となる。
【００１２】
本発明におけるインターフェース回路は、第１の回路と第２の回路との間のデータ転送をインターフェース処理するインターフェース回路であって、複数のデータ保持要素から構成され、入力されたデータをそのデータ保持要素間で順次転送し、第１の回路との間でデータの順次転送を行うシフトレジスタと、前記第２の回路との間でデータ転送を行い、その転送データを一時的に記憶し、前記シフトレジスタの一部のデータ保持要素に接続され、接続されたデータ保持要素との間で前記データの転送を行うバッファと、を備えるインターフェース回路である。
【００１３】
本発明における他のインターフェース回路は、第１の回路と第２の回路との間のデータ転送をインターフェース処理するインターフェース回路であって、複数のレジスタを備え、入力されたデータをそのレジスタ間で順次転送する、シフトレジスタと、前記シフトレジスタの一部の複数レジスタと接続され、前記第２回路との間でデータ転送を行うサブバッファを備えるものである。このような構成により、クロックの異なる回路とのデータの入出力が可能となる。
【発明の効果】
【００１４】
本発明によれば、インターフェース回路の回路構成をよりシンプルかつ規模を抑えて構成することができる。
【発明を実施するための最良の形態】
【００１５】
発明の実施の形態１．
図１は、本発明の実施の形態１におけるインターフェース回路を利用したＤＶＤ装置の構成例を示す図である。ＤＶＤ装置１は、制御回路１０、インターフェース回路１１、ＳＤＲＡＭ１２、ＤＶＤ読取回路１３を備える。その他の回路構成についてはここでは省略する。
【００１６】
制御回路１０は、ＤＶＤ装置１の制御を行う演算装置でありＣＰＵ（Central Processing Unit）等により構成される。制御回路１０は、ＳＤＲＡＭ１２へ書き込むデータの出力、ＳＤＲＡＭ１２から出力されるデータの入力、ＤＶＤ読取回路１３から出力されるデータの入出力制御を行う。制御回路１０とＳＤＲＡＭ１２、ＤＶＤ読取回路１３のデータの入出力はインターフェース回路１１を介して行われる。
【００１７】
インターフェース回路１１は、制御回路１０、ＳＤＲＡＭ１２、ＤＶＤ読取回路１３間のデータの入出力を介するインターフェース回路である。インターフェース回路１１の構成については後に詳しく説明する。
【００１８】
ＳＤＲＡＭ１２は、データを記憶するメモリである。ＤＶＤ装置１が動作するときは、ＳＤＲＡＭ１２は、制御回路１０の命令によりＤＶＤ読取回路１３から出力されたデータを入力する。ここでは、ＳＤＲＡＭ１２は、制御回路１０とＤＶＤ読取回路１３とのデータ転送速度の違い及び転送プロトコルの違いを吸収するバッファとして利用される。また、ここでのＳＤＲＡＭ１２は、インターフェース回路１１からのデータの入力及びインターフェース回路１１に対してデータ出力を要求する信号を出力する読み出し回路を含んでいる。
【００１９】
ＤＶＤ読取回路１３は、ＤＶＤからデータを読み取る。ＤＶＤ読取回路１３の読み取ったデータは、最終的には制御回路１０に出力され制御回路１０により処理される。しかし、ＤＶＤ読取回路１３は読み取ったデータを、まずバッファであるＳＤＲＡＭ１２に対してインターフェース回路１１を介して出力する。
【００２０】
続いて、図２に示すブロック図を用いて、インターフェース回路１１の構成について説明する。ここで図２のインターフェース回路１１は、インターフェース回路１１への書き込みは1ワード単位で行われ、データ読み出し回路への出力は複数ワード単位で行う場合のインターフェース回路構成である。インターフェース回路１１は、シフトレジスタ１１０、フラグビットシフトレジスタ１１１、サブバッファ１１２を備える。
【００２１】
シフトレジスタ１１０はデータ保持要素である複数のレジスタで構成されており、レジスタ間で順次データの転送が行われる。ここでのシフトレジスタは、ワード単位でデータの転送を行うシフトレジスタである。つまり、一つのレジスタが１ワードのデータを格納する。シフトレジスタ１１０は、データ読み出し回路１００と接続されており、データの書き込みを行うことが可能である。
【００２２】
フラグビットシフトレジスタ１１１は、複数のフラグビットレジスタより構成されており、フラグビット間で順次データの転送が行われる。フラグビットシフトレジスタ１１１の各ビットは、シフトレジスタ１１０の各レジスタと対応しており、対応するレジスタに格納されているデータが有効であるか否かを表す。
【００２３】
サブバッファ１１２は、読み出し側に複数ワード単位でデータを出力するためのバッファであり、シフトレジスタ１１０に蓄積したデータを格納する。サブバッファ１１２に格納したデータは、読み出し回路とのインタフェースプロトコルに従い、データ読み出し回路１２０に出力する。
【００２４】
次に、シフトレジスタ１１０、フラグビットシフトレジスタ１１１、サブバッファ１１２の構成について詳細に説明する。図３は、本発明におけるシフトレジスタ１１０、フラグビットシフトレジスタ１１１、サブバッファ１１２の構成を示す図である。
【００２５】
ここでは、１ワードを４ビットとし、４ワード単位でデータを出力する場合について説明する。つまり、シフトレジスタ１１０の一つのレジスタが１ワード、つまり４ビットデータを格納する。また、シフトレジスタは３２ワードのデータを格納可能とする。この場合、シフトレジスタ１１０は、レジスタＲ０からレジスタＲ３１の３２のレジスタを備える。ここでは説明のため、番号の少ないほうを下位、多いほうを上位と呼ぶ。本実施形態では、シフトレジスタ１１０及びフラグビットシフトレジスタ１１１は下位から上位にデータの転送が行われる。
【００２６】
フラグビットシフトレジスタ１１１は、Ｆ０からＦ３１までの３２ビットのフラグビットを格納する。フラグビットシフトレジスタ１１１の各ビットＦ０〜Ｆ３１は、それぞれレジスタＲ０〜Ｒ３１に有効なデータが格納されているか否かを示している。ここでは、有効なデータを１、無効なデータを０とする。
【００２７】
サブバッファ１１２には、４ワード分のデータを格納することができる。ここで４ワードとなっているのは、データ出力が４ワード単位となっているためであり、サブバッファ１１２のデータ容量はデータ出力単位によって決定される。
【００２８】
サブバッファ１１２は、シフトレジスタ１１０の最上位レジスタのデータを格納する。本実施例では、サブバッファは４ワードサイズであり、シフトレジスタの最上位であるレジスタＲ２８〜レジスタＲ３１とサブバッファ１１２のデータを格納する。
【００２９】
続いて、インターフェース回路１１の処理の流れについて説明する。図４は本発明におけるインターフェース回路１１の処理の流れを示すフローチャートである。
【００３０】
まず、シフトレジスタ１１０は、データ書き込み回路１００からデータ書き込み要求があるか否かを確認する（Ｓ１０）。確認の結果、書き込み要求があった場合、データはレジスタＲ０に格納されるため、シフトレジスタ１１０のレジスタＲ０にデータが書き込み可能であるかをフラグビットシフトレジスタ１１１のＦ０が０であることにより確認する（Ｓ１１）。Ｆ０が０でない場合は、書き込み不可能なため、エラー処理を行う（Ｓ１２）。エラー処理の内容は特に限定されないが、例えば、書き込み不可能である信号を制御回路１０に出力する等である。
【００３１】
フラグビットシフトレジスタ１１１のＦ０が１の場合、シフトレジスタ１１０は、制御回路１０からデータを入力し、レジスタＲ０に入力データの書き込みを行う（Ｓ１３）。フラグビットシフトレジスタ１１１は、レジスタＲ０にデータが書き込まれたためデータが格納されたことを示すためフラグビットシフトレジスタ１１１のＦ０を１にする（Ｓ１４）。
【００３２】
シフトレジスタ１１０とフラグビットシフトレジスタ１１１は、シフト処理を行う（Ｓ１５）。また、データ書き込み回路１００からデータ書き込み要求がなかった場合も、シフトレジスタ１１０とフラグビットシフトレジスタ１１１はシフト処理を行う（Ｓ１６）。
【００３３】
シフト処理の内容について具体的に説明する。まず、フラグビットシフトレジスタ１１１は、フラグビットが０である最上位のレジスタよりも下位のフラグビットシフトレジスタ及びそれに対応するシフトレジスタ全てについて、格納されたフラグビット及びデータを１つ上位のレジスタにシフトする。この条件でシフトするか否かの判定は、各レジスタの上位側に存在する全てのレジスタのフラグビットのＡＮＤを取ることにより行われる。その結果が０であれば、格納されたフラグビット及びデータを１つ上位のレジスタにシフトする。例えば、フラグビットシフトレジスタ１１１のＦ２８〜Ｆ３１が１でＦ２７が０の場合、フラグビットが０である最上位のレジスタはＦ２７となる。この場合、フラグビットシフトレジスタ１１１のＦ０〜Ｆ２６及びシフトレジスタ１１０のＲ０〜Ｒ２６のデータを一つ上位のレジスタに転送する。
【００３４】
この転送は入力クロック等の予め定められたタイミングで行われる。このようにすることにより、最下位側レジスタから最上位側レジスタに隙間無くデータを転送することが可能となる。データ書き込み回路１００からデータ書き込み要求がなかった場合、フラグビットシフトレジスタ１１１のＦ０を０にする（Ｓ１７）。
【００３５】
更に、シフトレジスタ１１０は、上位４ワード、つまり２８番から３１番のレジスタ全てに有効なデータが格納されているか否かを判定する（Ｓ１８）。このときの判定はフラグビットシフトレジスタ１１１が全て１になったことを判定することより行う。
【００３６】
判定の結果、上位４ワードのレジスタに有効なデータが格納されていた場合、サブバッファ１１２の空きを確認する（Ｓ１９）。サブバッファ１１２に空きがあった場合、上位４ワードのレジスタのデータをサブバッファ１１２に格納する（Ｓ２０）。また、上位４ワードのレジスタに該当するフラグビットシフトレジスタ１１１のレジスタ、つまりＦ２８〜Ｆ３１を０にする。
【００３７】
サブバッファ１１２にデータが格納されると、データ読み出し回路１２に対してデータ出力が可能となるので、サブバッファ１１２は、データ読み出し回路１２に対して、データ出力可能である旨を示す信号を出力する。データ読み出し回路１２は、サブバッファ１１２がデータ出力可能である旨を示す信号を入力すると、必要に応じてサブバッファ１１２に対してデータ出力を要求する信号を出力する。上位レジスタへのデータ転送、データの書き込み、サブバッファ１１２への転送等の本シフト処理における動作は、全て同一タイミングで行われる。
【００３８】
サブバッファ１１２は、読み出し側であるデータ読み出し回路１２から要求する信号の入力に応じてサブバッファ１１２に格納されたデータを読み出し側に出力する。シフトレジスタ１１０は、サブバッファ１１２に空きがあるかを確認し、空きがあった場合に限りデータを出力するようにしているため、サブバッファ１１２のデータ出力のタイミングは、シフトレジスタ１１０と同期をとる必要が無い。ただし、このとき、データ読み出し回路１２とインターフェース回路１１が非同期である場合、異なるクロック周波数に対応するため、クロック乗せ替え回路（図示せず）が必要となる。クロック乗せ替え回路はインターフェース回路１１の内部に備えてもよいし、外部に備えてもよい。
【００３９】
具体的に例を挙げて説明する。図５は、インターフェース回路動作時のシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータの一例を示す図である。まず、Ｒ０にデータが書き込まれたときの状態は、（ａ）のようになる。ここで書き込まれるデータはａ０〜ａ３の４ビットで、ａ０〜ａ３はそれぞれ０か１のビットデータである。また書き込みと同時に、Ｒ０に有効なデータが格納されていることを示すため、Ｒ０に対応するフラグビットＦ０を１とする。
【００４０】
次に、シフトレジスタ１１０及びフラグビットシフトレジスタ１１１のシフト処理が行われる。シフト処理を１回行った後の状態は、（ｂ）のようになる。更に、もう１度シフト処理を行った後の状態は（ｃ）のようになる。以後、新たにデータが入力されない場合、この作業が繰り返される。
【００４１】
図６は、新たにデータ入力されたときのシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータの状態を示す図である。ａ０〜ａ３のデータがＲ４に格納されているときに、新たにＲ０にｂ０〜ｂ３が入力されたときの状態は、（ａ）のようになる。
【００４２】
その後、シフトレジスタ１１０及びフラグビットシフトレジスタ１１１のシフト処理が行われる。シフト処理を１回行った後の状態は、（ｂ）のようになる。更に、もう１度シフト処理を行った後の状態は（ｃ）のようになる。以後、新たにデータが入力されない場合、この動作が繰り返される。
【００４３】
このように、シフト処理とデータ入力が繰り返される。図７は、ａ０〜ａ３のデータがＲ３１までシフトされたときのシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータ配置を示す図である。シフト処理とデータ入力が繰り返された結果（ａ）のようになったとする。
【００４４】
この状態でシフト処理を行った場合、レジスタＲ３１は新たなデータを入力せずに、ａ０〜ａ３のデータをそのまま保持する。その他のデータは１つ上位のレジスタへシフトする。シフト処理の結果は（ｂ）のようになる。
【００４５】
この後更に、シフト処理とデータ入力を繰り返し、各データを最上位側レジスタに詰めていく。図８は、Ｒ２８〜Ｒ３１にデータが格納されたときのシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータの状態の一例を示す図である。シフト処理とデータ入力が繰り返された結果（ａ）のようになったとする。
【００４６】
このとき、Ｒ２８〜Ｒ３１の全てにデータが格納されているため、サブバッファ１１２は、サブバッファ１１２に空きがある場合、Ｒ２８〜Ｒ３１のデータを格納する。サブバッファ１１２がデータの格納を完了すると、フラグビットシフトレジスタ１１１のＦ２８〜Ｆ３１のビットは０になる。このときの状態は、（ｂ）のようになる。
【００４７】
それ以降のシフト処理においては、Ｆ２８〜Ｆ３１のビットが０であるため、レジスタＲ２８〜Ｒ３１のデータは空きとして扱われる。つまり、もう１回シフト処理を行った後の、シフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータの状態は、図９に示すように、レジスタ２８〜３１のデータはシフトされたデータにより更新される。
【００４８】
次に、インターフェース回路への書き込みが、複数ワードで書き込まれる場合の構成について説明する。この場合の回路構成を図１８に示す。図１８のインターフェース回路１１は、インターフェース回路１１への書き込みは複数ワード単位で行われ、データ読み出し回路への出力は１ワード単位で行う場合のインターフェース回路構成である。複数ワードで書き込みが行われることに対応するため、図２の回路構成と異なり、書き込み側にサブバッファ１１２を用意する。ここでは説明のため、シフトレジスタ及び、フラグビットシフトレジスタの構成は、図１１のように構成するとし、また番号の少ないほうを下位、多いほうを上位と呼ぶ。
【００４９】
なお、インターフェース回路１１は、複数ワードで書き込みかつ複数ワードで読み出しする場合にも対応することもできる。その場合は、書き込みワード数及び読み出しワード数に対応したサブバッファをそれぞれ用意し、その他は図２及び図１９と同様の回路構成、処理フローを行うことで可能となる。
【００５０】
また両方向にデータ転送するように構成する、あるいは、上記インターフェース回路１１と別に、逆方向にデータ転送するインターフェース回路を用意することもできる。
【００５１】
図１０は、本発明におけるインターフェース回路１１の処理の流れを示すフローチャートである。
【００５２】
まず、サブバッファ１１２は、サブバッファ１１２の空きを確認する（Ｓ３０）。確認の結果、サブバッファ１１２に空きがある場合、書き込み要求の有無を確認し（Ｓ３１）、書き込み要求がある場合、サブバッファ１１２にデータを書き込む（Ｓ３２）。
【００５３】
次に、サブバッファ１１２は、サブバッファ１１２にデータが格納されているか否かを確認する（Ｓ３３）。確認の結果、サブバッファ１１２にデータが格納されている場合、フラグビットシフトレジスタ１１１のＦ２８〜Ｆ３１の値によって、シフトレジスタ１１０の上位４ワード分のレジスタＲ２８〜Ｒ３１の全てが空いているか否かを確認する（Ｓ３４）。確認の結果、上位４ワード全てが空いている場合は、サブバッファ１１２のデータをシフトレジスタ１１０の上位４ワードに格納する（Ｓ３５）。またこれらのシフトレジスタＲ２８〜Ｒ３１に有効なデータが格納されていることを示すため、フラグビットシフトレジスタ１１１のＦ２８〜Ｆ３１を１とする（Ｓ３９）。
【００５４】
シフトレジスタ１１０は、下位のレジスタ方向に順次シフト処理を行う（Ｓ３６）。Ｒ０のレジスタのデータはこれ以上下位のレジスタへシフトすることができないのでシフト処理はＲ１から上位のレジスタに格納されたデータに対して行われる。シフトレジスタ１１０のシフトの方法については、図５において説明した内容のシフトの方向が上位から下位に変わった以外は同様であるので、ここでは説明を省略する。
【００５５】
シフト処理が完了すると、Ｒ０にデータが格納されているか否かを確認する（Ｓ３７）。確認の結果、データが格納されている場合は、Ｒ０のデータを読み出し回路１０に対して出力する（Ｓ３８）。読み出し回路１０にデータを出力後、Ｆ０を０にする（Ｓ４０）。
【００５６】
このようにして、インターフェース回路１１により、転送プロトコルが異なるデータ読み出し回路１０とデータ書き込み回路１２間のデータを転送することが可能となる。
【００５７】
具体的に例を挙げて説明する。図１１は、インターフェース回路動作時のシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータを示す図である。まず、サブバッファ１１２に４ワード分のデータが入力され、サブバッファのデータがＲ２８〜Ｒ３１のレジスタに格納される。このときの状態が（ａ）である。
【００５８】
この後シフト処理が行われ毎に、シフトレジスタ１１０のデータは下位レジスタにシフトされる。（ａ）の状態から１回シフトした状態が（ｂ）、更にもう１回シフトした状態が（ｃ）である。この状態ではレジスタＲ２８〜Ｒ３１が全部空き状態ではないので、サブバッファ１１２にデータが入力されても、サブバッファ１１２のデータはシフトレジスタ１１０には格納されず、サブバッファ１１２は待機状態となる。
【００５９】
その後、シフト処理を繰り返し、図１２の（ａ）の状態でサブバッファ１１２にデータが入力されたとする。このときは、レジスタＲ２８〜Ｒ３１の全てが空いているため、サブバッファ１１２のデータはレジスタＲ２８〜Ｒ３１に格納される。シフト処理とサブバッファデータをシフトレジスタに格納する動作は同時に行われるため、データ格納後の状態は（ｂ）となる。
【００６０】
このように、シフト処理とデータ入力が繰り返される。ただし、図１３の（ａ）のように、これ以上シフトできない状態のときは、シフトされず下位レジスタから順にデータが蓄積される。データはデータ読み出し回路１２０からのリクエストに応じてＲ０から読み出される。ここでの読み出しは、１ワード単位で行われる。（ｂ）がデータ読み出し時のインターフェース回路動作時のシフトレジスタ１１０及びフラグビットシフトレジスタ１１１のデータの一例を示す図である。
【００６１】
Ｒ０からデータ読み出し回路１２０にデータの読み出しが行われると、Ｒ０のデータの格納状態を示すフラグビットＦ０が１から０に書き換えられる。このときの状態が図１４の（ａ）である。この状態でシフト処理を行うと、Ｆ０が０であるため、Ｒ０にはデータが格納されてないものとして扱われる。そのため、シフト後の状態は（ｂ）となる。
【００６２】
上述のように、シフトレジスタ１１０及びその各レジスタのデータ格納状態を示すフラグビットシフトレジスタ１１１を備えることによって、ポインタ制御回路を使用することなく出力データ管理を行うことができ、ポインタ制御回路及びセレクタ回路が不要なことにより、従来に比べ小規模な面積で回路を構成することができる。あるいは、シフトレジスタ１１０に加えてサブバッファ１１２を備えることによって、複数ワード単位での転送を行う場合において、シフトレジスタ１１０（ＦＩＦＯ回路部）の構成・制御を複雑化することなく実現することができる。
【００６３】
発明の実施の形態２．
発明の実施の形態１において、サブバッファを利用せずに出力データセレクタを利用する構成にすることも可能である。以下、出力データセレクタを利用した構成について説明する。
【００６４】
図１６は、本発明の実施の形態２における、インターフェース回路の構成を示す図である。インターフェース回路２１は、シフトレジスタ２１０、フラグビットシフトレジスタ２１１、出力データセレクタ２１２、ポインタ制御回路２１３、シフト動作制御回路２１４を備える。
【００６５】
シフトレジスタ２１０は複数のレジスタで構成されており、レジスタ間で順次データの転送が行われる。ここでのシフトレジスタ２１０は、ワード単位でデータの転送を行うシフトレジスタである。シフトレジスタ自体の構成は発明の実施の形態１と同様であり、上位レジスタのデータの出力先がサブバッファ１１２でなく出力データセレクタであるという点だけが異なる。
【００６６】
フラグビットシフトレジスタ２１１は、複数のフラグビットより構成されており、フラグビット間で順次データの転送が行われる。フラグビットシフトレジスタ２１１の各ビットは、シフトレジスタの各レジスタと対応しており、対応するレジスタに有効なデータが格納されているか否かをフラグビットにより示している。フラグビットシフトレジスタ２１１自体の構成は発明の実施の形態１と同様であり、フラグビットのクリアがシフト動作制御回路により行われるという点だけが異なる。
【００６７】
出力データセレクタ２１２は、シフトレジスタ２１０の上位レジスタのデータをＳＤＲＡＭ２２に対して出力する。データの出力は、ポインタ制御回路２１３から出力データの信号を入力し、接続された上位レジスタのデータを入力した信号に基づいて順次出力することにより行われる。
【００６８】
ポインタ制御回路２１３は、出力データセレクタ２１２に対して、出力データセレクタ２１２と接続されているシフトレジスタ２１０内のレジスタのうち、どのレジスタからデータを出力するかを指示するポインタ信号を出力する。
【００６９】
シフト動作制御回路２１４は、シフトレジスタ２１０の上位レジスタに対応するフラグビットシフトレジスタ２１１のクリア制御を行う。クリア制御は、ポインタ制御信号から入力する信号に基づいて、読み出し処理完了後に行われる。
【００７０】
続いて、インターフェース回路２１動作時の処理の流れについて説明する。図１８は、本発明の実施の形態２におけるインターフェース回路２１の処理の流れを示すフローチャートである。
【００７１】
まず、シフトレジスタ２１０のシフト処理を行う（Ｓ４０）。シフトレジスタ１１０は、格納したデータを予め定められたタイミングでシフトする。シフトするタイミングはシフトレジスタの動作クロック等により決定される。シフトの方法については発明の実施の形態１と同様であるため、ここでは説明を省略する。
【００７２】
シフトレジスタ２１０のシフトが完了すると、データ入力があったか否かの判定を行う（Ｓ４１）。判定の結果、データの入力があった場合は、入力データをシフトレジスタ２１０のＲ０に格納する（Ｓ４２）。このとき、フラグビットシフトレジスタ２１１のＦ０はデータが入ったので１となる。データの入力がなかった場合は、Ｒ０のレジスタは空きとなる。このとき、フラグビットシフトレジスタ２１１のＦ０はデータが入ったので０となる。
【００７３】
シフトレジスタ２１０の全レジスタのシフト処理が完了すると上位４ワード、つまり２８番から３１番のレジスタ全てにデータが格納されたか否かを判定する（Ｓ４３）。このときの判定はフラグビットシフトレジスタ２１１が全て１になったことを判定することより行う。
【００７４】
判定の結果、シフトレジスタ２１０の上位４ワードのレジスタにデータが格納されていた場合、ポインタ制御回路２１３は、データ読み出し回路２２に対して読み出し可能信号を出力する（Ｓ４４）。そして、ポインタ制御回路２１３は、データ読み出し回路２２から読み出し要求信号が入力されたかを確認し（Ｓ４５）、読み出し要求信号が入力された場合、出力データセレクタ２１２からデータ読み出し回路２２に対してシフトレジスタ２１０の上位４ワードのデータが出力される。
【００７５】
データの出力は、出力データセレクタ２１２がシフトレジスタ２１０のＲ２８〜Ｒ３１の上位４ワードのデータを順次選択し、データ読み出し回路２２に対して出力することにより行われる。どのタイミングでどのレジスタのデータを出力するかは、ポインタ制御回路２１３から出力データセレクタ２１２に出力する信号により決定される。
【００７６】
このような構成により、データ書き込み時にデータ書き込み回路２０からシフトレジスタ２１０にデータ書き込みを行うときにポインタ制御回路を必要としないため、回路構成を簡単にすることが可能となる。
【図面の簡単な説明】
【００７７】
【図１】本発明におけるＤＶＤ装置の構成を示す図である。
【図２】本発明におけるインターフェース回路の構成を示すブロック図である。
【図３】本発明におけるシフトレジスタ、フラグビットシフトレジスタ、サブバッファの構成を示す図である。
【図４】本発明におけるインターフェース回路の処理の流れを示すフローチャートである。
【図５】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図６】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図７】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図８】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図９】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図１０】本発明におけるインターフェース回路の処理の流れを示すフローチャートである。
【図１１】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図１２】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図１３】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図１４】本発明におけるインターフェース回路動作時のシフトレジスタ及びフラグビットシフトレジスタのデータの一例を示す図である。
【図１５】本発明におけるＤＶＤ装置の構成を示す図である。
【図１６】本発明におけるインターフェース回路の構成を示すブロック図である。
【図１７】本発明におけるインターフェース回路の処理の流れを示すフローチャートである。
【図１８】本発明におけるシフトレジスタ、フラグビットシフトレジスタ、サブバッファの構成を示す図である。
【図１９】従来技術におけるインターフェース回路の構成を示すブロック図である。
【符号の説明】
【００７８】
１    ＤＶＤ装置
１０    制御回路
１００    データ書き込み回路
１１    インターフェース回路
１１０    シフトレジスタ
１１１    フラグビットシフトレジスタ
１１２    サブバッファ
１２    ＳＤＲＡＭ
１２０    データ読み出し回路
１３    ＤＶＤ読取回路
２    ＤＶＤ装置
２０    制御回路
２００    データ書き込み回路
２１    インターフェース回路
２１０    シフトレジスタ
２１１    フラグビットシフトレジスタ
２１２    出力データセレクタ
２１３    ポインタ制御回路
２１４    シフト動作制御回路
２２    ＳＤＲＡＭ
２２０    データ読み出し回路
２３    ＤＶＤ読取回路
３０    制御回路
３００    データ書き込み回路
３１    インターフェース回路
３１０    シフトレジスタ
３１１    ポインタ制御回路
３１２    出力データセレクタ
３１３    ポインタ制御回路
３１４    シフト動作制御回路
３２    データ読み出し回路
３２０    データ読み出し回路
【図１】
2006323976.tif 000003
【図２】
2006323976.tif 000004
【図３】
2006323976.tif 000005
【図４】
2006323976.tif 000006
【図５】
2006323976.tif 000007
【図６】
2006323976.tif 000008
【図７】
2006323976.tif 000009
【図８】
2006323976.tif 000010
【図９】
2006323976.tif 000011
【図１０】
2006323976.tif 000012
【図１１】
2006323976.tif 000013
【図１２】
2006323976.tif 000014
【図１３】
2006323976.tif 000015
【図１４】
2006323976.tif 000016
【図１５】
2006323976.tif 000017
【図１６】
2006323976.tif 000018
【図１７】
2006323976.tif 000019
【図１８】
2006323976.tif 000020
【図１９】
2006323976.tif 000021