(57)【特許請求の範囲】
【請求項１】
２ポートメモリと、２ポートメモリに対し一方のポートを介してデータを読み出すための読み出しアドレスを発生する第１のアドレス発生手段と、２ポートメモリに対し他方のポートを介してデータを書き込むための書き込みアドレスを発生する第２のアドレス発生手段とを備え、読み出しアドレスと書き込みアドレスとの差が規定値以内に接近した場合に両アドレスの差を補正するエラスティックストア回路において、
前記読み出しアドレスと書き込みアドレスのいずれか一方の最下位ビットをカウントアップ信号とし、他方の最下位ビットをカウントダウン信号として両アドレスの距離差をカウント値として認識するアップダウンカウンタと、
アップダウンカウンタのカウンタ値が、読み出しアドレスと書き込みアドレスとが接近したことを表す所定の第１の規定値に達したことを検出すると、前記第１のアドレス発生手段または第２のアドレス発生手段のいずれか一方のアドレス発生を停止する信号を一定時間出力し、アップダウンカウンタのカウンタ値が、読み出しアドレスと書き込みアドレスとが更に接近したことを表す所定の第２の規定値に達したことを検出すると、前記第１のアドレス発生手段の読み出しアドレスと第２のアドレス発生手段の書き込みアドレスとを最大距離の初期値に設定するイニシャライズ信号を出力する距離検出部と、
を備えることを特徴とするエラスティックストア回路。
【請求項２】
前記最大距離の初期値は、２ポートメモリの最大アドレス値の約半分の値であることを特徴とする請求項１に記載のエラスティックストア回路。
【請求項３】
前記アップダウンカウンタは、読み出しアドレスまたは書き込みアドレスが２アドレス変化したときに、１カウントアップまたは１カウントダウンすることを特徴とする請求項１または２に記載のエラスティックストア回路。
【請求項４】
２ポートメモリを使用し、読み出しアドレスと書き込みアドレスの接近を検出し、両アドレスを補正するエラスティックストア回路のアドレス補正方法において、
読み出しアドレスと書き込みアドレスのいずれか一方の最下位ビットをカウントアップ信号とし、他方の最下位ビットをカウントダウン信号として両アドレスの距離差をカウント値として認識し、前記カウンタ値が、読み出しアドレスと書き込みアドレスとが接近したことを表す所定の第１の規定値に達したことを検出すると、前記読み出しアドレスまたは書き込みアドレスの発生を停止して読み出しアドレスと書き込みアドレスの差を所定の距離に設定し、前記読み出しアドレスと書き込みアドレスとが更に接近したことを表す所定の第２の規定値に達したことを検出すると、前記読み出しアドレスと書き込みアドレスの差を最大距離の初期値に設定することを特徴とするエラスティックストア回路のアドレス補正方法。
【請求項５】
前記最大距離の初期値は、２ポートメモリの最大アドレス値の約半分の値であることを特徴とする請求項４に記載のエラスティックストア回路のアドレス補正方法。
【請求項６】
前記アップダウンカウンタは、読み出しアドレスまたは書き込みアドレスが２アドレス変化したときに、１カウントアップまたは１カウントダウンすることを特徴とする請求項４または５に記載のエラスティックストア回路のアドレス補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第１のポートに書き込んだデータを第２のポートから読み出す２ポートメモリを用いる際に、読み出しアドレスと書き込みアドレスとの接近を検出し、両アドレスを初期値に設定することにより補正するエラスティックストア回路に関し、特に、アドレスが所定値以上に接近したことを簡単な回路で検出し、かつ、初期設定の頻度を抑えることができるエラスティックストア回路に関する。
【０００２】
【従来の技術】
デジタルデータ伝送システムの高速化、高機能化の要求に伴い、データの速度変換あるいは遅延調整などを行うためのエラスティックメモリ回路にも高速化、高機能化が要求されるようになっており、このため、入出力ポートが独立した２ポートメモリを使用したエラスティックメモリ回路が使用されるようになってきている。
【０００３】
このようなエラスティックメモリ回路においては、書き込み動作と読み出し動作は、それぞれ独立したクロックにより行われるため、それぞれのクロックの位相のずれに起因する読み出しアドレスの書き込みアドレスの接近を事前に検出して、読み出しアドレスが書き込みアドレスを追い越さないように補正する制御を必要としており、また、回路規模の縮小も重要となってきている。
【０００４】
図３は、このような従来のエラスティックストア回路の一例を示すブロック図である。図３において、読み出しアドレス発生回路１１は、２ポートメモリ１３の図示しない出力ポートより出力すべきデータが蓄積されている２ポートメモリ１３内のアドレスを指定する読み出しアドレス２１を発生する回路であり、書き込みアドレス発生回路１２は、２ポートメモリ１３の図示しない入力ポートから入力するデータを蓄積する２ポートメモリ１３内のアドレスを指定する書き込みアドレス２２を発生する回路であり、それぞれ２ポートメモリ１３と減算器１７に接続されている。
【０００５】
減算器１７は、２ポートメモリ１３に送出される読み出しアドレス２１と書き込みアドレス２２をそれぞれモニタして、読み出しアドレス値と書き込みアドレス値を減算することにより両アドレスの距離を算出している。減算器１７の算出結果は、減算器１７に接続されている距離検出部１８に伝達され、距離検出部１８では、両アドレスの距離が規定値に達したことを検出すると、イニシャライズ信号２３を読み出しアドレス発生回路１１と書き込みアドレス発生回路１２に送出して各回路を初期状態に設定する。また、このとき距離検出部１８は、アラーム信号２６を図示しないアラーム受信部に送出して、両アドレスの接近と初期設定が行われたことを通知する。
【０００６】
初期状態に設定された読み出しアドレス発生回路１１と書き込みアドレス発生回路１２では、発生する読み出しアドレスと書き込みアドレスを初期の状態に戻すので、両アドレスの距離は最大値に戻る。
【０００７】
【発明が解決しようとする課題】
しかし、上述した従来のエラスティックストア回路では、読み出しアドレスと書き込みアドレスとの距離差を求めて規定値以内か否かを判断するために、２つのアドレスに対して蓄積・演算・比較が必要であり、回路規模構成が大きいという問題がある。
【０００８】
また、読み出しアドレスの基準値を中心とする規定値以内の書き込みアドレスという基準値への接近の際に、読み出しアドレス発生回路および書き込みアドレス発生回路に対して初期設定という手段で対応しているために、初期設定する機会頻度が多くなる可能性が高いという問題がある。
【０００９】
本発明の目的は、読み出しアドレスと書き込みアドレスとの差を検出する回路を簡素化して回路規模の縮小化を図り、かつ読み出しアドレスと書き込みアドレスとが接近する状態を事前に検知し、初期設定の機会頻度を抑えることができるエラスティックストア回路を提供することにある。
【００１０】
【課題を解決するための手段】
本発明は、２ポートメモリと、２ポートメモリに対し一方のポートを介してデータを読み出すための読み出しアドレスを発生する第１のアドレス発生手段と、２ポートメモリに対し他方のポートを介してデータを書き込むための書き込みアドレスを発生する第２のアドレス発生手段とを備え、読み出しアドレスと書き込みアドレスの差が規定値以内に接近した場合に両アドレスの差を補正するエラスティックストア回路において、
前記読み出しアドレスと書き込みアドレスのいずれか一方の最下位ビットをカウントアップ信号とし、他方の最下位ビットをカウントダウン信号として両アドレスの距離差をカウント値として認識するアップダウンカウンタと、
アップダウンカウンタのカウンタ値が、読み出しアドレスと書き込みアドレスとが接近したことを表す所定の第１の規定値に達したことを検出すると、前記第１のアドレス発生手段または第２のアドレス発生手段のいずれか一方のアドレス発生を停止する信号を一定時間出力し、アップダウンカウンタのカウンタ値が、読み出しアドレスと書き込みアドレスとが更に接近したことを表す所定の第２の規定値に達したことを検出すると、前記第１のアドレス発生手段の読み出しアドレスと第２のアドレス発生手段の書き込みアドレスとを最大距離の初期値に設定するイニシャライズ信号を出力する距離検出部と、
を備えることを特徴とする。
【００１１】
本発明は、２ポートメモリを使用し、読み出しアドレスと書き込みアドレスの接近を検出し、両アドレスを補正するエラスティックストア回路において、前記の両アドレスの距離差を補正する機能ブロックを、両アドレスの最下位ビットのみを利用したアップダウンカウンタを用いることにより極めて小さな回路規模で実現し、常に両アドレスの距離差をカウンタ値として認識することにより、両アドレスの接近をそのカウンタ値が規定値になることで発見し、読み出しアドレスが書き込みアドレスに追いついた場合は読み出し停止信号を、書き込みアドレスが読み出しアドレスに追いついた場合は書き込み停止信号を出力し、両アドレスの距離を補正することにより、回路がイニシャライズされる頻度を抑えることができる。
【００１２】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明に係るエラスティックストア回路の実施の形態を示すブロック図である。図１において、読み出しアドレス発生回路１１は、２ポートメモリ１３の図示しない出力ポートより出力すべきデータが蓄積されている２ポートメモリ１３内のアドレスを指定する読み出しアドレス２１を発生する回路であり、書き込みアドレス発生回路１２は、２ポートメモリ１３の図示しない入力ポートから入力するデータを蓄積する２ポートメモリ１３内のアドレスを指定する書き込みアドレス２２を発生する回路である。
【００１４】
読み出しアドレス発生回路１１は、２ポートメモリ１３とアップダウンカウンタ１５に接続されており、アップダウンカウンタ１５に接続されるのは、読み出しアドレス２１の最下位ビット２１１のみである。また、書き込みアドレス発生回路１２は、２ポートメモリ１３とアップダウンカウンタ１５に接続されており、アップダウンカウンタ１５に接続されるのは、書き込みアドレス２２の最下位ビット２２１のみである。
【００１５】
アップダウンカウンタ１５は、初期設定時にアドレス値の約半分となる理想距離の半分の値を初期値としてロードし、書き込みアドレス２２の最下位ビット２２１をカウントアップ指示信号として、読み出しアドレス２１の最下位ビット２１１をカウントダウン指示信号として入力し、両アドレスの距離をカウンタ出力値として認識している。このアップダウンカウンタ１５は、２アドレスで１カウント動作するため、実際のアドレス間の距離は、カウント値の約２倍の値である。
【００１６】
アップダウンカウンタ１５は、距離検出部１６に接続されており、距離検出部１６は、アップダウンカウンタ１５のカウンタ値が最小規定値に達したことを検出すると、読み出しアドレスが書き込みアドレスに追いついたことを検出しているので、読み出し停止信号２４を、設定した一定時間の間出力する。逆に、カウント値が最大規定値に達したことを検出すると、書き込みアドレスが読み出しアドレスに追いついたことを検出しているので、書き込み停止信号２５を、設定した一定時間の間出力する。この制御により、回路がイニシャライズされる頻度は、極端に減らすことができる。
【００１７】
読み出し動作か書き込み動作のどちらかが止まってしまったような場合は、上記制御を行ってもカウンタ値は、最小規定値より小さく、あるいは最大規定値より大きくなり、イニシャライズ条件（読み出しアドレスと書き込みアドレスが極端に隣接）に達する。このときは、イニシャライズ信号２３を読み出しアドレス発生回路１１と書き込みアドレス発生回路１２に送出して、各回路を初期状態に設定する。
【００１８】
初期状態に設定された読み出しアドレス発生回路１１と書き込みアドレス発生回路１２では、発生する読み出しアドレスと書き込みアドレスを初期状態に戻すので、両アドレスの距離は最大値に戻される。このとき、回路の異常状態を外部へ通知するために、イニシャライズ信号２３をアラーム信号２６として外部へ送出する。
【００１９】
アップダウンカウンタ１５は、カウントアップ指示信号が入力されると１カウントアップし、カウントダウン指示信号が入力されると１カウントダウンする。従って、書き込みデータと読み出しデータの速度差／位相差が大きくない場合は、カウント出力値は、ロード値に近い値をキープすることになる。読み出し／書き込み両アドレスの最下位ビットをカウントアップ／ダウン指示信号に使用しているので、２アドレス変化したときに、１カウントアップ／ダウンすることになる。
【００２０】
アップダウンカウンタ１５は、読み出し／書き込み両アドレスの最下位ビットのみを使用しているので、アドレス全てを比較する減算器に比べて回路規模を小さくすることが可能である。また、メモリが深くなってアドレス値が大きくなった場合でも、同じ回路で対応できる。よって、アドレス幅が大きい場合には特に有効である。
【００２１】
読み出し停止信号２４と書き込み停止信号２５は、外部で読み出し停止あるいは書き込み停止機能を持っていない場合は、事前アラーム信号として用いることもできる。通常どちらかの制御は行われる構成となるので、片方を停止信号として用い、もう片方をアラーム信号として用いればよい。
【００２２】
なお、書き込みアドレス２２の最下位ビット２２１をダウン制御信号、読み出しアドレス２１の最下位ビット２１１をアップ制御信号としても良い。
【００２３】
次に、図２を参照して本発明の実施の形態の動作を説明する。
【００２４】
図２において、アドレス距離差を検出する距離検出部１６は、読み出し停止信号２４の出力条件としてのカウント値を検出するｍｉｎ条件デコード部１６１と、書き込み停止信号２５の出力条件としてのカウント値を検出するｍａｘ条件デコード部１６２と、イニシャライズ条件としてのカウント値を検出するイニシャライズ条件デコード部１６３と、読み出し停止信号２４および書き込み信号２５を設定した一定時間の間出力するカウンタ１６４とを備えている。
【００２５】
ここで一例として、２ポートメモリ１３のアドレスを０〜１２７、読み出し停止信号を出力するときの読み出しアドレス２１と、書き込み停止信号を出力するときの書き込みアドレス２２との距離差を８とし、イニシャライズする条件を距離差２とする。このとき設定する停止信号送出条件とイニシャライズ条件のアドレス距離差は、各エラスティックストア回路における読み出しと書き込みの位相差により両アドレスが接近するであろうアドレスを予測して設定する。
【００２６】
距離検出部１６は、常に両アドレスの距離差を認識しているので、ぎりぎりの値に設定することも可能であるが、読み出し側／書き込み側にそれぞれイネーブル信号がある場合には、このイネーブル信号によるアドレス距離差の増減を考慮に入れる必要がある。カウントアップ指示信号、カウントダウン指示信号にアドレスの最下位ビットを使用しているため、２アドレスに１回アップあるいはダウンする。カウンタ出力値で１に設定することにより、アドレス距離差としては２を最小値に設定することになる。
【００２７】
まず、初期状態においては、両アドレスは、最大距離となるように設定され、例えば、書き込みアドレスを０番地、読み出しアドレスを６４番地に設定する。アップダウンカウンタ１５には理想距離６４の半分の３２をロードする。読み出し停止信号２４の出力条件はアドレス差で８、アップダウンカウンタ１５は２アドレスに１回カウント動作するので、カウント値としては４を設定する。また、書き込み停止信号２５の出力条件としてはアドレス差で１２８−８＝１２０、カウントはその半分で６０に設定する。イニシャライズ条件としては、カウント値で１と６３を設定する。
【００２８】
アップダウンカウンタ１５は、初期状態で３２をロードし、書き込みアドレス最下位ビット２２１をカウントアップ指示信号、読み出しアドレス最下位ビット２１１をカウントダウン指示信号として受ける。最下位ビットをそのまま制御信号として用いているので、書き込みアドレス２２が２増えて０１と立ち上がりエッジが見えた所で１カウントアップする。読み出しアドレス２１が２増えて０１と立ち上がりエッジが見えた所で１カウントダウンする動作をする。こうすることで、実際の両アドレスの距離の半分の値がカウンタの出力値として表示されることになる。
【００２９】
この実施の形態では、読み出し停止信号２４の出力条件をアドレス差８と設定しているので、ｍｉｎ条件のカウント値は４に設定する。ｍｉｎ条件デコード部１６１で４を検出すると、読み出し停止信号２４を外部へ通知し、読み出し動作を停止させる。このとき、読み出し停止信号２４は、アドレス差がちょうど中心に近い値まで戻るように、カウンタ１６４から５６クロック間出力される。こうすることで、書き込み動作が順当に行われると、アドレス値差で５６、アップダウンカウンタのカウント値で２８、カウント値が離れることになるので、カウント値差が３２となり、安定した正常動作状態に戻る。
【００３０】
逆に、書き込み停止信号２５の出力条件であるｍａｘ条件としては、検出カウント値に６０を設定する。ｍａｘ条件デコード部１６２で６０を検出すると、書き込み停止信号２５を外部へ通知し、書き込み動作を停止させる。このとき、書き込み停止信号は、アドレス値差が中心付近まで戻るように、カウンタ１６４から５６クロック間出力される。こうすることで、６０まで上がっていたカウント値は２８減り、３２となる。こうすることで、アドレス値が最も離れた理想的な状態に戻る。通常は、読み出し停止か書き込み停止のどちらかの機能にしか対応していないので、逆の条件の停止信号は、事前アラーム信号として用いればよい。
【００３１】
また、イニシャライズ条件としては、アドレス距離差を２と設定しているので、その半分で１をｍｉｎ条件とし、６３をｍａｘ条件とし、それぞれイニシャライズ条件デコード部１６３でデコードする。もしイニシャライズ条件デコード部１６３で１あるいは６３を検出した場合は、イニシャライズ信号２３を、読み出しアドレス発生回路１１と書き込みアドレス発生回路１２に送出することにより、回路全体を初期状態にリセットする。このとき、アラーム状態を外部に通知するためにアラーム信号２６も出力する。
【００３２】
具体例として、読み出しアドレス２１が３２で書き込みアドレス２２が４８と、読み出しアドレス２１が書き込みアドレス２２に追いついてきた場合を示す。このとき、読み出しアドレス２１は、基準値の６４から９６増え、書き込みアドレス２２は、基準値の０から４８増えている。従って、アップダウンカウンタ１５の出力値は、３２＋４８／２−９６／２＝８となる。この場合は、ｍｉｎ条件４にはひっかからないので、そのまま正常に動作する。
【００３３】
更に、読み出しアドレス２１が書き込みアドレス２２に追いつき、読み出しアドレス２１が５２、書き込みアドレス２２が６０と距離差が８になると、アップダウンカウンタ１５のカウント出力値は、３２＋６０／２−１１６／２＝４を示し、読み出し停止条件に当てはまるため、読み出し停止信号２４が５６クロック間出力され、読み出し動作を止める。この間も書き込み動作は行われるため、書き込みアドレス２２は５６カウントアップし、１１６となる。読み出しアドレス２１は５２のままなので、両者の距離は６４離れることになり、正常動作状態に戻る。
【００３４】
逆に、書き込みアドレス２２が５２、読み出しアドレス２１が６０と、書き込みアドレス２２が読み出しアドレス２１に追いついた場合は、アップダウンカウンタの出力値は、３２＋１１６／２−６０／２＝６０となり、書き込み停止条件となり、書き込み停止信号２５が５６クロック間出力され、書き込み動作は停止する。この間に読み出しアドレス２１は５６進み、１１６となり、両アドレス間の距離は６４離れることになる。
【００３５】
読み出し動作あるいは書き込み動作のどちらかが停止し、両アドレス間の距離が２になると、アップダウンカウンタ１５の出力値から、イニシャライズ条件デコード部１６３で１あるいは６３を検出し、イニシャライズ条件となる。この状態はアラーム状態であるので、イニシャライズ信号２３を読み出し、読み出しアドレス発生回路１１と書き込みアドレス発生回路１２に出力し、回路全体を初期状態に戻し、アラーム信号２６を外部へ出力する。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、読み出しアドレスと書き込みアドレスの接近を判断し初期設定するエラスティック回路のアドレス制御部を非常に小さな回路規模で実現することが可能となる。アドレスの距離検出には最下位ビットのみを使用するので、メモリの深さ（アドレス値の大きさ）に関係なく、同じ小規模の回路で実現できる。
【００３７】
また、両アドレス間の距離を観測し、読み出し停止信号あるいは書き込み停止信号を出力することで、両アドレス間の距離を補正するため、簡単にイニシャライズされることがなくなる。読み出し停止／書き込み停止双方の機能を外部回路で実現していることは少ないが、片方の制御のみでイニシャライズされる頻度は格段に減らすことができる。使用しないもう片方の停止信号は事前アラーム信号として使用すればよい。
【００３８】
また、両アドレスの最下位ビットをアップダウンカウンタに入力しているため、アップダウンカウンタの動作スピードは、読み出し／書き込みクロックの半分となり、低消費電力化にも貢献する。
【図面の簡単な説明】
【図１】本発明に係るエラスティックストア回路の実施の形態を示すブロック図である。
【図２】本発明に係るエラスティックストア回路の動作を説明するブロック図である。
【図３】従来のエラスティックストア回路の一例を示すブロック図である。
【符号の説明】
１１  読み出しアドレス発生回路
１２  書き込みアドレス発生回路
１３  ２ポートメモリ
１５  アップダウンカウンタ
１６，１８  距離検出部
１７  減算器
２１  読み出しアドレス
２２  書き込みアドレス
２３  イニシャライズ信号
２４  読み出し停止信号
２５  書き込み停止信号
２６  アラーム信号
１６１  ｍｉｎ条件デコード部
１６２  ｍａｘ条件デコード部
１６３  イニシャライズ条件デコード部
１６４  カウンタ
２１１  読み出しアドレス最下位ビット
２２１  書き込みアドレス最下位ビット
【図１】
0003772639.tif 000002
【図２】
0003772639.tif 000003
【図３】
0003772639.tif 000004