(57)【特許請求の範囲】
【請求項１】
入力データを先入れ先出しメモリへバッファリングした後に、前記入力データの前記先入れ先出しメモリへの書込クロックとは非同期かつ周波数の異なる読出クロックに同期して、前記先入れ先出しメモリから前記入力データを読み出す際に、前記先入れ先出しメモリに蓄積される未読のデータ量を監視する蓄積量監視装置において、
前記書込クロックに同期して前記先入れ先出しメモリの書込アドレスを生成する書込カウンタレジスタと、
前記読出クロックに同期して前記先入れ先出しメモリの読出アドレスを生成する読出カウンタレジスタと、
前記書込クロックと前記読出クロックのうち速い方のクロックで、遅い方のクロックに同期する側のカウンタレジスタのカウント値を保持して出力する第一のレジスタと、
前記第一のレジスタの出力値がゼロであるか否かを判定し、ゼロの場合は前記遅い方のクロックに同期する側のカウンタレジスタのカウント値の最大となる値を、そうでない場合は該第一のレジスタの出力値から１を減じた値を出力するデータ変換回路と、
動作開始時にはゼロを出力し、イネーブル信号が入力されている期間は前記第一のレジスタの出力値を前記速い方のクロックで保持して出力する第二のレジスタと、
前記データ変換回路の出力と前記第二のレジスタの出力を比較し、一致した際にイネーブル信号を前記第二のレジスタに入力する一致検出回路と、
前記速い方のクロックに同期する側のカウンタレジスタのカウント値と前記第二のレジスタの出力値の差分を出力する差分回路と、
前記差分回路の出力を前記速い方のクロックで保持して前記先入れ先出しメモリの未読のデータ量を出力する第三のレジスタとから構成されることを特徴とする
、データ蓄積量監視装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ蓄積量監視装置、特に、バースト状の入力データを一時的に保持する為の先入れ先出し（ＦＩＦＯ）メモリ等へバッファリングした後に、装置内のクロックに乗せ変えて連続的なデータにして読出す際に、ＦＩＦＯメモリに蓄積されているデータ量を管理制御するデータ蓄積量監視装置に関する。
【０００２】
【従来の技術】
斯るバッファメモリの蓄積量を監視制御する回路、即ちデータ蓄積量監視装置は、一般的な画像データの高能率符号化装置等においては、画像（又は映像）データを、例えば、可変長符号化等により符号化している。この可変長符号化処理による可変レートの符号化データを一旦バッファメモリに格納した後に、一定の伝送レートで読出すことにより行われる。
【０００３】
換言すると、バッファメモリは、高性能符号化装置の後段に配置され、所定（一定）の伝送レートのデータを得る為に用いられる。このバッファメモリ内に一時的に蓄積されている未読のデータ量は、（書込みの際には、可変レートでデータの書込みが行われるのに対し）読出しの際には、一定伝送レートでデータの読出しが行われる為に、メモリ容量のオーバフローやアンダーフローが発生する虞れがある。この事態を回避する為に、データ蓄積量の監視装置が必要となる。
【０００４】
斯る必要性を満す為の従来例として、例えば特開平５−５３７６１号公報「バッファメモリの蓄積量制御装置」に提案されている従来技術を図６及び図７を参照して説明する。この従来技術は、図６に示す如く、バッファメモリ９への書込側と読出側とのクロック信号及びイネーブル信号の速度が非同期においてバッファメモリ９の蓄積量を求め、更に蓄積量の同期もとることができる機能を有する回路であり、バッファメモリ９への書込み量を保持する書込カウンタレジスタ１と、読出量を保持する読出カウンタレジスタ７と、読出側のクロックに同期した読出カウンタレジスタ７の出力データを他方の書込み側のクロックで保持するレジスタ６と、レジスタ６の出力を書込み側のクロックで保持するレジスタ５と、このレジスタ５への格納前後のデータの一致を見る一致回路４と、格納前後のデータが同一となったときのデータを書込側のクロックで保持し同期のとれた読出量を出力するレジスタ３と、書込量とレジスタ３、５、６、一致回路４から書込側のクロックに同期した読出量とを減算する減算器２と、この減算器２からの出力データを書込側のクロックで保持し、同期のとれた蓄積量データとして出力端１１２から出力するレジスタ８とを有す構成にしたものである。
【０００５】
この従来技術によると、２つの保持手段のうち何れか一方の保持手段の出力データを他方の保持手段のクロックを用いて格納し、この格納前後のデータを比較して前後のデータが同一となったときのデータを一方の保持手段の出力データと減算するようにしている為に、この減算結果による蓄積量データは同期が取られた真の正しい値であり、容易にバッファメモリの蓄積量を求めることができるとされている。
【０００６】
【発明が解決しようとする課題】
この従来の技術では、書込側と読出側とのクロックの関係が同期のとれている場合と又は非同期で互いの周波数が２倍以上の十分に速度差がある場合、即ち書込側クロック周波数が読出側クロック周波数の２倍より速い場合には、蓄積量データは真の正しい値として得られる。しかし、書込側と読出側とのクロックの関係が非同期且つ周波数が２倍速未満となる速度差が小さい場合には、２つの保持手段のうち何れか一方の保持手段の出力データを他方の保持手段のクロックで格納し、この格納前後のデータを比較するとき、格納前後のデータが同一にならない状況が発生してしまうので、他方のクロックに同期したデータが得られるまでに時間的な遅延が生じある時点にて実際の蓄積量とは違う蓄積量データが出力されてしまうという問題がある。この問題となる動作を図７のタイミングチャートを用いて説明する。
【０００７】
図７に示すタイミングチャートでは図６における信号１０１、１０２、１０９、１１０、１０８、１０７、１０６、１０５、１０４を夫々（ａ）乃至（ｉ）として示している。図示の例にあっては、クロックの関係は、書込み側クロックＣＫＷ１０２：読出し側クロックＣＫＲ１１０＝６：７の速度差が小さい。また、書込側イネーブル信号のＷＴ１０１（図７の（ａ）参照）と、読出側イネーブル信号のＲＴ１０９（図７の（ｃ）参照）は、“Ｈ”（ハイ）レベルの常時イネーブル有効としている。
【０００８】
次に、図７（ｅ）に示す読出カウンタ出力データ１０８（ｎ、ｎ＋１、ｎ＋２、ｎ＋３、・・、ｎ＋６、・・・）は、ＲＴ１０９が“Ｈ”の時にＣＫＲ１１０の立ち上がりで生成される。 図７（ｆ）のレジスタ出力データ１０７はＣＫＷ１０２の立ち上がりで読出カウンタ出力データ１０８をラッチすることにより出力される。
【０００９】
また、図７（ｇ）に示すレジスタ出力データ１０６は、ＣＫＷ１０２の立ち上がりでレジスタ出力データ１０７をラッチすることで出力される。
【００１０】
図７（ｈ）に示す一致回路出力信号１０５は前述した格納前後のデータとするレジスタ出力信号１０７とレジスタ出力信号１０６が同一の時にアクティブ“Ｌ”（ローレベル）として出力される。
【００１１】
図７（ｉ）に示すレジスタ出力データ１０４は一致回路出力信号１０５が“Ｌ”のときにＣＫＷ１０２の立ち上がりでレジスタ出力データ１０６をラッチすることで出力される。
【００１２】
これらの動作における図中ａの時点にて、レジスタ出力データ１０７とレジスタ出力データ１０６との同一から一致回路出力信号１０５が“Ｌ”でありそれに従いＣＫＷ１０２の立ち上がりでレジスタ出力データ１０６をラッチして書込み側クロックに同期のとれた読出し量とするレジスタ出力データ１０４にｎの値が出力されている。
【００１３】
この動作は、ａ時点における実際のバッファメモリ９での読出し量と同じである読出カウンタ出力データ１０８に関してＣＫＷ１０２で１クロック分のみの遅延でありほぼ実際の読出し量に追従した正しいものである。しかし、ａ時点以降の時間にて前記格納前後のデータに一致が無いため一致回路出力信号１０５は無効な“Ｈ”を継続し、実際の読出し量である読出カウンタ出力データ１０８がｎ＋６の値になった時点でも同期のとれた読出し量とするレジスタ出力データ１０４はｎのままであり実際の読出量と違うことから、このレジスタ出力データ１０４と書込カウンタレジスタ１からの出力データ１０３とから得られる蓄積量データはある時点にて実動作の蓄積量とは違う値が出力されてしまうことになる。
【００１４】
この為に、従来技術の回路から出力された蓄積量データはバッファメモリ内に実際に蓄積されている未読のデータ量と異なる場合が生じるので、バッファメモリが例えばオーバーフローやアンダーフローになる以前に蓄積量監視によりデータ流量を制御するということが不可能となる。更には、例えばオーバーフローが発生しているにも拘らずその状態を検出できないという問題も発生する。
【００１５】
そこで、本発明の主な目的は、入力データを先入れ先出し（ＦＩＦＯ）メモリへバッファリングする際において書込側と読出側の速度が非同期の場合に、特に互いの速度比が小さいとき、メモリ蓄積量監視の誤動作を防止した、更に実際のメモリ蓄積量に遅延無く、よりリアルタイムな蓄積量データを出力する機能を有するメモリ蓄積量監視装置を提供することにある。
【００１６】
【課題を解決するための手段】
前述の課題を解決するために、本発明によるデータ蓄積監視装置は、次のような特徴的な構成を備えている。
【００１７】
上述の事項を鑑み、本発明のデータ蓄積量監視装置は、入力データを先入れ先出しメモリへバッファリングした後に、前記入力データの前記先入れ先出しメモリへの書込クロックとは非同期かつ周波数の異なる読出クロックに同期して、前記先入れ先出しメモリから前記入力データを読み出す際に、前記先入れ先出しメモリに蓄積される未読のデータ量を監視する蓄積量監視装置において、前記書込クロックに同期して前記先入れ先出しメモリの書込アドレスを生成する書込カウンタレジスタと、前記読出クロックに同期して前記先入れ先出しメモリの読出アドレスを生成する読出カウンタレジスタと、前記書込クロックと前記読出クロックのうち速い方のクロックで、遅い方のクロックに同期する側のカウンタレジスタのカウント値を保持して出力する第一のレジスタと、前記第一のレジスタの出力値がゼロであるか否かを判定し、ゼロの場合は前記遅い方のクロックに同期する側のカウンタレジスタのカウント値の最大となる値を、そうでない場合は該第一のレジスタの出力値から１を減じた値を出力するデータ変換回路と、動作開始時にはゼロを出力し、イネーブル信号が入力されている期間は前記第一のレジスタの出力値を前記速い方のクロックで保持して出力する第二のレジスタと、前記データ変換回路の出力と前記第二のレジスタの出力を比較し、一致した際にイネーブル信号を前記第二のレジスタに入力する一致検出回路と、前記速い方のクロックに同期するカウンタレジスタのカウント値と前記第二のレジスタの出力値の差分を出力する差分回路と、前記差分回路の出力を前記速い方のクロックで保持して前記先入れ先出しメモリの未読のデータ量を出力する第三のレジスタとから構成されることを特徴とする。
【００２３】
【発明の実施の形態】
本発明の上述及びその他の目的、特徴並びに利点を明確にすべく、以下添付図、特に図１乃至図５を参照しながら、本発明による好適実施形態例を詳細に説明する。尚、説明の便宜上、図６及び図７で説明した従来技術の構成要素及び信号と対応する構成要素及び信号には同様な参照符号を使用するものとする。
【００２４】
先ず、図１は本発明による好適実施形態例によるデータ蓄積量監視装置を使用するシステムの全体構成を示すブロック図である。入力データ１１３はそれに同期した書込側のイネーブル信号ＷＴ１０１とクロックＣＫＷ１０２によってＦＩＦＯメモリとするバッファメモリ（以後、ＦＩＦＯという）９へ格納される。出力データ１１４は書込側に非同期・異速度である読出側のイネーブル信号ＲＴ１０９とクロックＣＫＲ１１０によってＦＩＦＯ９から送出される。ＦＩＦＯ９へ一時的に蓄積されるデータ量を監視する機能を有すデータ蓄積量監視装置１０が本発明の対象である。
【００２５】
データ蓄積量監視装置１０は書込側のイネーブル信号ＷＴ１０１とクロックＣＫＷ１０２とからＦＩＦＯ９へ書き込まれる入力データ量をカウントし、読出し側のイネーブル信号ＲＴ１０９とクロックＣＫＲ１１０とからＦＩＦＯ９から読出される出力データ量をカウントする。これら入力データ量と出力データ量のカウント値からＦＩＦＯ９へ一時的に蓄積されている未読の蓄積量である蓄積量データ１１２を出力する。
【００２６】
次に、図２は図１中のデータ蓄積量監視装置１０の詳細構成を示すブロック図である。図２において、本発明のデータ蓄積量監視装置１０は、書込カウンタレジスタ１１と、読出カウンタレジスタ１２と、書込クロック同期読出カウント値生成部１９と、差分回路１７と、レジスタ１８とから構成されいる。書込クロック同期読出カウント値生成部１９は、レジスタ１３と、データ変換回路１４と、レジスタ１５と一致検出回路１６とから構成されている。
【００２７】
書込カウンタレジスタ１１は、書込イネーブル信号ＷＴ１０１が有効のとき、書込クロックＣＫＷ１０２の立ち上がりでデータがＦＩＦＯ９に書込まれる際のアドレスとする書込カウンタ出力データ１１５を生成する。書込カウンタレジスタ１１は０から始まり０、１、２、３・・・、Ｍ−１、Ｍ、０、１、２、・・・のようにアップカウント（但し、Ｍは任意なカウンタ最大値とし、Ｍの次には０となる）を行っている。
【００２８】
読出カウンタレジスタ１２は、読出イネーブル信号ＲＴ１０９が有効のとき、読出クロックＣＫＲ１１０の立ち上がりでＦＩＦＯ９から読み出される際のアドレスとする読出カウンタ出力データ１１７を生成する。読出カウンタレジスタ１２は０から始まり０、１、２、３・・・、Ｍ−１、Ｍ、０、１、２、・・・のようにアップカウント（但し、Ｍは任意なカウンタ最大値とし、Ｍの次には０となる）を行っている。
【００２９】
書込クロック同期読出カウント値生成部１９は、読出側のクロックに同期した読出カウンタ出力データ１１７から書込側のクロックに同期した読出量に関するレジスタ出力データ１２０を生成し差分回路１７の入力Ｂへ出力する。この書込クロック同期読出カウント値生成部１９のブロック詳細については後述する。
【００３０】
差分回路１７は、入力Ａの書込カウンタ出力データ１１５と入力Ｂのレジスタ出力データ１２０とから演算処理した差分回路出力データ１１６をレジスタ１８へ出力する。差分回路１７の演算結果出力は、データ蓄積量であり単純な入力Ａ、Ｂの差から生じるマイナスの値も結果とする演算を行うのみの組合せ回路ではなく、例えば、入力Ａ、Ｂそれぞれの最大値が１０とするとＡ＝１０、Ｂ＝３のとき出力のＡ−Ｂは７、次にＡが＋１インクリメントした値が入力されＡ＝０、Ｂ＝３のとき出力のＡ−Ｂは−３とするのではなくＡが＋１大きくなったので８としてレジスタ１８へ出力する。
【００３１】
論理記述式で示すと減算の結果が正となる場合には（出力のＡ−Ｂ）＝（Ａの値）−（Ｂの値）となり、減算の結果が負となる場合には（出力のＡ−Ｂ）＝（１０＋（Ａの値））−（Ｂの値）＋１となる前記差分回路１７は条件分岐付きの減算組合せ回路で構成されている。この論理記述式から作られる回路は、当業者にとって周知であるので、その詳細なブロック図示は省略する。
【００３２】
レジスタ１８は、差分回路１７の出力データ１１６をＣＫＷ１０２で保持して単一のクロック（ここでは書込み側クロック）に同期させたメモリ内の未読のデータ蓄積量とする蓄積量データ１１２を出力する。
【００３３】
書込クロック同期読出カウント値生成部１９は、レジスタ１３と、データ変換回路１４と、レジスタ１５と一致検出回路１６とで構成される。レジスタ１３は、読出カウンタ出力データをＣＫＷ１０２の立ち上がりで保持してデータ変換回路１４とレジスタ１５へレジスタ出力データ１１８を出力する。
図２中のＥは動作を説明するために記したもので、レジスタ出力データ１１８のデータ値である。
【００３４】
データ変換回路１４は、レジスタ出力データ１１８を入力してデータ値Ｅが０のとき、前記読出カウンタ出力データ１１７の最大値とするＭの値を、データ値Ｅが０以外の時にはＥ−１の値を一致検出回路１６へ出力する。この条件分岐付きの組合回路は、当業者にとって周知であるので、その詳細なブロックは省略する。
【００３５】
一致検出回路１６は、データ変換回路１４からのデータ変換回路出力データ１１９とレジスタ１５からのレジスタ出力データ１２０との一致比較を行う。その結果が一致していたならばレジスタ１５での保持イネーブル信号とする一致検出回路出力信号１２１を送出する。
【００３６】
レジスタ１５は、レジスタ出力データ１１８を一致検出回路出力信号１２１が有効な“Ｈ”のとき、ＣＫＷ１０２の立ち上がりで保持してレジスタ出力データ１２０を一致検出力回路１６へ出力する。但し、このデータ蓄積量監視装置１０への電源投入直後は、レジスタ出力データ１２０が０の値になっているものとする。即ち、図示してはいないが、当業者に周知のパワーオンリセット回路が設けられているものとする。
【００３７】
次に、図３のタイミングチャートを参照して、図２に示す本発明のデータ蓄積量監視装置１０の動作を説明する。図３において（ａ）乃至（ｌ）は、夫々書込イネーブル信号ＷＴ１０１、書込クロックＣＫＷ１０２、書込カウンタ出力データ１１５、読出イネーブル信号ＲＴ１０９、読出クロックＣＫＲ１１０、読出カウンタ出力データ１１７、レジスタ出力データ１１８、データ変換回路出力データ１１９、レジスタ出力データ１２０、一致検出回路出力データ１２１、差分回路出力データ１１６及びレジスタ出力データ（蓄積量データ）１１２である。
【００３８】
図３において、書込量と読出量が生成されて、そこから処理されたメモリ内に蓄積されている未読のデータ量を出力する動作を示している。図３中の縦方向に引かれた点線ｔ１からｔ１２は時間軸方向における書込側のクロックＣＫＷ１０２の立ち上がり変化時の位置を示している。
【００３９】
書込みイネーブル信号のＷＴ１０１（ａ）が”Ｈ”のときに書込みクロックＣＫＷ１０２（ｂ）の立ち上がりで書込み量とする書込カウンタ出力データ１１５（ｃ）は、ＦＩＦＯ９にデータが１つ格納される毎に０から１、２、３、・・・、Ｍ、０、１、・・・と＋１ずつカウントアップするデータとして出力される。尚、書込カウンタ出力データ１１５は電源投入直後のパワーオンリセットにより初期値０とされ、また最大を任意のＭとし、Ｍまでカウントアップした次には０になるものとする。
【００４０】
読出イネーブルのＲＴ１０９（ｄ）が”Ｈ”であるとき読出クロックのＣＫＲ１１０（ｅ）の立ち上がりで読出量とする読出カウンタ出力データ１１７（ｆ）は、ＦＩＦＯ９からデータが１つ読出される毎に０から１、２、３、・・・、Ｍ、０、１、・・・と＋１ずつカウントアップするデータとして出力される。尚、読出カウンタ出力データ１１７（ｆ）は、電源投入直後のパワーオンリセットにより初期値０とされ、また最大を任意のＭとし、Ｍまでカウントアップした次には０になるものとする。
【００４１】
レジスタ出力データ１１８（ｇ）は、読出カウンタ出力データ１１７（ｆ）をＣＫＷ１０２（ｂ）の立ち上がりで保持して出力される。読出カウンタ出力データ１１７（ｆ）とそれをラッチするＣＫＷ１０２（ｂ）とが非同期の関係であり、このレジスタ出力データ１１８（ｇ）の成分には読出カウンタ出力データ１１７（ｆ）の変化点をＣＫＷ１０２でラッチしたときに誤った値が存在する。
【００４２】
データ変換回路出力データ１１９（ｈ）は、レジスタ出力データ１１８（ｇ）が０の値のときにはＭの値が出力され、０以外のときには、レジスタ出力データ１１８（ｇ）の値から１小さい値が出力される。尚、レジスタ出力データ１１８には前述から誤った値が存在するときがあり、それから生成されるデータ変換回路出力データ１１９（ｈ）には誤った値が存在するときがある。
【００４３】
レジスタ出力データ１２０（ｉ）は、電源投入直後のパワーオンリセットにより初期値０として、一致検出回路出力信号１２１（ｉ）が”Ｈ”の時にＣＫＷ１０２（ｂ）の立ち上がりでレジスタ出力データ１１８（ｇ）を保持して出力される。尚、レジスタ出力データ１１８には前述の如く誤った値が存在するときがあるが、ＣＫＷ１０２の立ち上がりにおける一致検出回路出力信号１２１（ｉ）が”Ｈ”のタイミングにてレジスタ出力データ１１８は正しい値でありその時保持されて出力されるレジスタ出力データ１２０はＣＫＷ１０２に同期した且つ誤った値の成分を含まないデータになっている。このＣＫＷ１０２の立ち上がりにおける一致検出回路出力信号１２１が”Ｈ”のタイミングにてレジスタ出力データ１１８は正しい値になることについては以下に説明する。
【００４４】
一致検出回路出力信号１２１（ｊ）は、データ変換回路出力データ１１９（ｈ）とレジスタ出力データ１２０（ｉ）とが同一である時に”Ｈ”となる。ここで、上記のＣＫＷ１０２の立ち上がりにおける一致検出回路出力信号１２１が”Ｈ”のタイミングにてレジスタ出力データ１１８は正しい値になることについて図３を参照しながら説明する。
【００４５】
レジスタ出力データ１１８（ｇ）は、前述の如く誤った値が存在するときがあるが、図３中のｔ５以前が０、ｔ５とｔ６間では１となっておりこのときにはｔ５で保持された前後の値が＋１インクリメントされたものである。ｔ５のＣＫＷ１０２立ち上がりタイミングにて読出カウンタ出力データ１１７を保持しており、レジスタ出力データ１１８は正しく、その値から出されたデータ変換回路出力データ１１９のｔ６時の０は正しい。そしてｔ６時にて互いに誤った値を含まない正しい値となっているデータ変換回路出力データ１１９とレジスタ出力データ１２０との値が同一であり、そこから出力される一致検出回路出力信号１２１のｔ６時の”Ｈ”は正しい。そしてｔ６時にて正しい一致検出回路出力信号１２１が”Ｈ”のとき、レジスタ出力データ１１８の正しい値となっている１を保持して出力されたレジスタ出力データ１２０のｔ６とｔ７間の１は正しい値である。
【００４６】
この一連動作によりＣＫＷ１０２の立ち上がりにおける一致検出回路出力信号１２１が”Ｈ”のタイミングにてレジスタ出力データ１１８は正しい値である。そのタイミングにて保持されたレジスタ出力データ１２０は、ＣＫＷ１０２に同期のとれた且つ必ず真の正しい値になっている読出量である。また、ｔ５時にて読出カウンタ出力データ１１７が１であり、そこからＣＫＷ１０２に関して１クロック後のｔ６時にてレジスタ出力データ１２０が１になる現象と、ｔ６時にて読出カウンタ出力データ１１７が２でありｔ７時にてレジスタ出力データ１２０が２になる現象と、ｔ９時にて読出カウンタ出力データ１１７が３でありｔ１０時にてレジスタ出力データ１２０が３になる現象等から、レジスタ出力データ１２０は実際のメモリ内データの読出量とするところの読出カウンタ出力データ１１７の変化に遅延無く追従するというよりリアルタイムな読出量である。ＣＫＷ１０２に関して実際の読出量の１クロック後に出力される動作になっている。
【００４７】
差分回路出力データ１１６は、互いにＣＫＷ１０２と同期のとれている書込カウンタ出力データ１１５とレジスタ出力データ１２０との演算結果から出力される。この演算の処理手段については前述した差分回路１７の動作説明を参照することとし、ここでは省略する。
【００４８】
レジスタ出力データ１１２は、組合せ回路からの出力となる差分回路出力データ１１６をＣＫＷ１０２で保持して書込側のクロックに同期した蓄積量データとして出力される。この蓄積量データが前述の説明から書込側のクロックに同期して且つメモリ内に蓄積された未読のデータ量をリアルタイムに監視することを可能にする信号である。
【００４９】
次に、従来技術で問題が発生するとした実動作の蓄積量とは違う蓄積量データが出力されてしまうという動作の説明にて用いた図７と同じタイミングになる書込側のイネーブル信号ＷＴ１０１とクロックＣＫＷ１０２と、読出側のイネーブル信号ＲＴ１０９とクロックＣＫＲ１１０とを、本発明のデータ蓄積量監視装置１０へ入力した場合の動作にてついて図４を用いて説明する。
【００５０】
図４中の（ａ）乃至（ｉ）は、夫々書込イネーブル信号ＷＴ１０１、書込クロックＣＫＷ１０２、読出イネーブル信号ＲＴ１０９、読出クロックＣＫＲ１１０、読出カウンタ出力データ１１７、レジスタ出力データ１１８、データ変換回路出力データ１１９、レジスタ出力データ１２０及び一致検出回路出力信号１２１である。また、図４中に縦方向に引かれた点線ｔ１からｔ８は時間軸方向における夫々書込側のクロックＣＫＷ１０２の立ち上がり変化時の位置を示している。
【００５１】
読出カウンタ出力データ１１７（ｅ）は、ＣＫＲ１１０（ｄ）の立ち上がりでｎ、ｎ＋１、・・・とアップカウントするデータになっていて、その読出カウンタ出力データ１１７（ｅ）をＣＫＷ１０２（ｂ）の立ち上がりで保持出力されたレジスタ出力データ１１８（ｆ）を変換してデータ変換回路出力データ１１９は出力される。
【００５２】
レジスタ出力データ１２０（ｈ）は、図３の説明によりＣＫＷ１０２に関して読出カウンタ出力データ１１７の１クロック後に出力される動作であることから、ｔ１時にて読出カウンタ出力データ１１７がｎのときには、ｔ２時にてレジスタ出力データ１２０はｎが出力される。またこのｔ２時にはレジスタ出力データ１１８がレジスタ１５にて保持される条件が成立することから一致検出回路出力信号１２１（ｉ）は”Ｈ”、レジスタ出力データ１２０はｎ−１になっている。
【００５３】
ｔ３時においては、データ変換回路出力データ１１９（ｇ）とレジスタ出力データ１２０（ｈ）が不一致であり一致検出回路出力信号１２１（ｉ）は”Ｌ”になっていてレジスタ出力データ１２０はｔ３以前のデータを保持し続ける。ｔ４時にてはデータ変換回路出力データ１１９（ｇ）とレジスタ出力データ１２０（ｈ）との一致によりそのときのレジスタ出力データ１１８（ｆ）のｎ＋１が保持されてレジスタ出力データ１２０にｎ＋１が出力される。以後同様に動作して、レジスタ出力データ１２０にｔ５時にてｎ＋２が、ｔ６時にてｎ＋３が、・・・、ｔ８時にてｎ＋５が出力される。
【００５４】
これらの動作から読出カウンタ出力データ１１７（ｅ）に追従したレジスタ出力データ１２０になっている。従って、ＣＫＷ１０２（ｂ）から生成された書込カウンタ出力データ１１５とＣＫＷ１０２に同期がとれた読出量であるレジスタ出力データ１２０から、差分回路１７とレジスタ１８を介して得られる蓄積量データが、書込側のクロックに同期して且つメモリ内に蓄積された未読のデータ量をリアルタイムに出力される。
【００５５】
即ち、従来の技術では実動作の蓄積量とは違う蓄積量データが出力されてしまうという問題が生じるタイミングの場合においても、前期動作説明から理解される如く、本発明のデータ蓄積量監視装置では、書込側のクロックに同期して且つメモリ内に蓄積された未読のデータ量をリアルタイムに監視することが可能となる。
【００５６】
以上、本発明によるデータ蓄積量監視装置の好適実施形態例の構成及び動作を詳述した。しかし、本発明は斯る特定実施形態例のみに限定されるべきではなく、本発明の要旨を逸脱することなく種々の変形変更が可能であることが当業者には容易に理解できよう。例えば、図５は、本発明のデータ蓄積量監視装置の変形例を示す。このデータ蓄積量監視装置１０´は、図２のデータ蓄積量監視装置１０と類似するので、対応素子には同一又は類似参照符号を附している。また、主要相違点のみ以下に説明することとする。
【００５７】
図５のデータ蓄積量監視装置１０´にあっては、書込カウンタレジスタ１１の出力信号１１５は、差分回路１７のＡ入力ではなく、レジスタ１３に入力される。また、差分回路１７のＡ入力には、レジスタ１５の出力信号１２６が、Ｂ入力には読出カウンタレジスタ１２の出力信号１１７が入力される。１９´は、読出しクロック同期書込みカウント値生成部である。更に、レジスタ１５、１８のクロック端子には、書込クロックＣＫＷ１０２に代わって、読出クロック１１０が入力される。尚、図５のデータ蓄積量監視装置１０´の動作は、図２のデータ蓄積量監視装置１０と基本的に同様であるので省略する。
【００５８】
【発明の効果】
以上説明したように本発明のデータ蓄積量監視装置によれば、入力データをＦＩＦＯメモリへバッファリングした後に、入力データのＦＩＦＯメモリへの書込クロックとは異なる読出クロックに同期してＦＩＦＯメモリからデータを読出すことでデータ蓄積量監視装置内のクロックに乗せ換えて読出す際にＦＩＦＯメモリに一時的に蓄積される未読のデータ量を監視する蓄積量監視装置において、書込クロックに同期してＦＩＦＯメモリの書込アドレスを生成する書込カウンタレジスタのカウント値と、読出しクロックに同期して先入れ先出しメモリの読出しアドレスを生成する読出カウンタレジスタのカウント値とから処理して書込クロックに同期した蓄積量データを出力するという基本構成に基づいている。メモリへの書込及び読出クロック速度差がいかなる場合でも誤動作を防止することができる。メモリに蓄積されている未読のデータ量をリアルタイムに監視可能である。
【図面の簡単な説明】
【図１】本発明のデータ蓄積量監視装置を使用するＦＩＦＯバッファメモリシステムの構成図である。
【図２】本発明によるデータ蓄積量監視装置の好適実施形態例の詳細構成を示すブロック図である。
【図３】図２に示すデータ蓄積量監視装置の動作説明用タイミングチャートである。
【図４】本発明によるデータ蓄積量監視装置の特徴的動作を説明するタイミングチャートである。
【図５】本発明によるデータ蓄積量監視装置の変形例のブロック図である。
【図６】従来のバッファメモリの蓄積量制御装置のブロック図である。
【図７】図6に示すバッファメモリの蓄積量制御装置の動作説明用タイミングチャートである。
【符号の説明】
９                バッファメモリ（ＦＩＦＯ）
１０、１０´      データ蓄積量監視装置
１１              書込カウンタレジスタ
１２              読出カウンタレジスタ
１３、１５、１８  レジスタ
１４              データ変換回路
１６              一致検出回路
１７              差分回路
１９            書込クロック同期読出カウント値生成部
１９’ 読出クロック同期書込カウント値生成部
【図１】
0004355383.tif 000002
【図２】
0004355383.tif 000003
【図３】
0004355383.tif 000004
【図４】
0004355383.tif 000005
【図５】
0004355383.tif 000006
【図６】
0004355383.tif 000007
【図７】
0004355383.tif 000008