(57)【要約】【課題】記憶容量の大小に関係なく満杯／空きの判断を行い、高速の読み出し／書き込みを可能とする記憶モジュールと順次アクセス記憶装置を提供する。【解決手段】記憶モジュール５は、記憶回路１、状態信号を出力する補助記憶回路２、外部入力データ及び前段入力データを選択する選択回路４、書き込み，読み出し信号により、前段，次段の状態信号及び補助記憶回路２の状態信号から、各回路の制御を行う制御回路３を有する。この記憶モジュール５を複数個直列に接続し、書き込み時には前段，後段の補助記憶回路２の値と自己の補助記憶回路２の値を制御回路４で比較して書き込み位置を判断し、読み出し時には末端の記憶モジュールの記憶回路１の値を読み出し、他の記憶モジュールは次段の記憶モジュールに記憶回路１の内容と補助記憶回路２の値を順次転送して記憶容量が満杯か、空きの状態にあるかを判断する。【選択図】　　　図１
2004146005.tif 000002
【特許請求の範囲】
【請求項１】
１ワード分のデータを保持し、次段に対して保持データを出力する記憶回路と、前記記憶回路に対して１対１で設けられ、前記記憶回路の状態信号を出力する補助記憶回路と、外部からの入力データおよび前段からの入力データのいずれかを選択し、前記記憶回路に転送する選択回路と、書き込み信号あるいは読み出し信号に基づいて、前段および次段の状態信号および前記補助記憶回路の状態信号から、前記記憶回路に対する書き込みあるいは読み出し制御，前記選択回路に対する選択制御，前記補助記憶回路に対する書き込み値の制御を行う制御回路とを有することを特徴とする記憶モジュール。
【請求項２】
前記制御回路は、前記書き込み信号，前記補助記憶回路のステータス信号の反転信号，後段の補助記憶回路のステータス信号のアンド論理をとる第１のアンドゲートと、前記補助記憶回路のステータス信号，前記読み出し信号，前段の補助記憶回路のステータス信号のアンド論理をとる第２のアンドゲートと、前記補助記憶回路のステータス信号，前記読み出し信号，前記前段の補助記憶回路のステータス信号の反転信号のアンド論理をとる第３のアンドゲートと、前記補助記憶回路のステータス信号，前記第３のアンドゲートの出力の反転信号のアンド論理をとる第４のアンドゲートと、前記第１，第４のアンドゲートの出力のオア論理をとり、その出力を前記補助記憶回路に対する書き込み値とする第１のオアゲートと、前記第１乃至第３のアンドゲートの出力のオア論理をとり、その出力を前記記憶回路に対する書き込み制御信号とする第２のオアゲートと、前記第２，第３のアンドゲートの出力のオア論理をとり、その出力を前記選択回路に対する選択信号とする第３のオアゲートと、前記補助記憶回路のステータス信号を所定時間遅延させ、その出力を前段に対するステータス信号とするバッファとで構成したことを特徴とする請求項１記載の記憶モジュール。
【請求項３】
前記制御回路は、前記補助記憶回路のステータス出力を所定時間遅延させ、その出力を前段へのステータス出力にするとともに、前記選択回路への選択信号とするバッファと、前記補助記憶回路のステータス出力を遅延させた信号の反転信号，書き込み信号，後段からのステータス入力のアンド論理をとる第１のアンドゲートと、前記補助記憶回路のステータス出力を遅延させた信号，後段からのステータス入力のアンド論理をとる第２のアンドゲートと、前記補助記憶回路のステータス出力を遅延させた信号，読み出し信号のアンド論理をとる第３のアンドゲートと、前段からのステータス入力，前記補助記憶回路のステータス出力を遅延させた信号のアンド論理をとる第４のアンドゲートと、前記第１，第３のアンドゲートの出力のオア論理をとり、その出力を前記記憶回路に対する書き込み制御信号とする第１のオアゲートと、前記第２，第４のアンドゲートの出力のオア論理をとり、その出力を前記補助記憶回路に対する書き込み値とする第２のオアゲートとで構成したことを特徴とする請求項１記載の記憶モジュール。
【請求項４】
１ワード分のデータを保持し、次段に対して保持データを出力する記憶回路と、前記記憶回路に対して１対１で設けられ、前記記憶回路の状態信号を出力する補助記憶回路と、外部からの入力データおよび前段からの入力データのいずれかを選択し、前記記憶回路に転送する選択回路と、書き込み信号あるいは読み出し信号に基づいて、前段および次段の状態信号および前記補助記憶回路の状態信号から、前記記憶回路に対する書き込みあるいは読み出し制御，前記選択回路に対する選択制御，前記補助記憶回路に対する書き込み値の制御を行う制御回路とをそれぞれに備えた複数個の記憶モジュールを直列に接続し、書き込み時には、前段および後段の記憶モジュールにおける補助記憶回路の値と自己の補助記憶回路の値を前記制御回路でそれぞれ比較して書き込み位置を判断する一方、読み出し時には、末端の記憶モジュールの記憶回路の値を読み出し、他の記憶モジュールは次段の記憶モジュールに記憶回路の内容と補助記憶回路の値を順次転送して記憶容量が満杯になっているか、空きの状態にあるかの判断を行うことを特徴とする順次アクセス記憶装置。
【請求項５】
前記複数個直列に接続した記憶モジュールのうち、最前段の記憶モジュールは、前段のステート入力および前段からの入力データををローレベルに固定してプルダウン信号を供給し且つ前段へのステート出力から満杯信号を取り出すとともに、最後段記憶モジュールは、後段からのステート入力をハイレベルに固定してプルアップ信号を供給し且つ前記補助記憶装置からのステート出力からインバータを介して空き信号を取り出すことを特徴とする請求項４記載の順次アクセス記憶装置。
【請求項６】
前記複数の記憶モジュールは、ハードマクロ化して連結したことを特徴とする請求項４記載の順次アクセス記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信機器などで用いられる記憶モジュールおよびそれを用いた順次アクセス記憶装置に関する。
【０００２】
【従来の技術】
従来、このような順次アクセス記憶装置は、例えばイーサネット（登録商標）・メディア・アクセス・コントローラ（Ｅｔｈｅｒｎｅｔ（登録商標）　Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌｅｒ）の送受信データバッファや、ＰＨＹインターフェイスのエラスティックバッファといった、異なる周波数で動作する回路間のデータの受け渡しを行う際に、一時的にデータを保存し、しかも書き込む時の周波数と読み出す時の周波数が異なっていても正常に動作するように、記憶装置に保存されているデータの量によって前段の回路とハンドシェイクを行う機構を持つように構成されている。
【０００３】
かかる順次アクセス記憶装置は、その記憶装置に有効なデータが何も記憶されていない事を示す信号（ＥＭＰＴＹ）と、その記憶装置が一杯にデータを保持しており、これ以上データを受け付けられない状態を示す信号（ＦＵＬＬ）とを有しており、ＥＭＰＴＹの状態では記憶装置からの読み出しを禁止してデータの書き込みを促し、またＦＵＬＬの状態では記憶装置へのデータの書き込みを禁止し読み出しを促す制御を行うのが一般的ではある。しかし、近年の通信機器などにおいては、高機能化によるデータ量の増大等から動作速度の高速化が進み、ＦＵＬＬ／ＥＭＰＴＹの判断も高速に行うことが要求されている。
【０００４】
この要請に応えるため、従来の通信機器やコンピュータ装置では、記憶回路に補助記憶回路を付加したモジュールを複数個直列に接続し、前後の補助記憶回路の値から書き込み位置と読み出し位置を判断するリングバッファ形式の順次アクセス記憶装置を使用することが提案されている（例えば、特許文献１参照）。
【０００５】
図８はこのような従来の一例を示す順次アクセス記憶装置の機能ブロック図である。図８に示すように、従来の順次アクセス記憶装置は、記憶モジュール３０〜３４と、ＦＵＬＬ信号を作成するＮＯＲゲート３５と、ＥＭＰＴＹ信号を作成するＡＮＤゲート３６と、後段へのステータス・フラグ信号（ＳＴ）を作成するＯＲゲート３７とを備え、５段ＦＩＦＯを構成している。この記憶装置において、データ入力（ＤＡＴＡ　ＩＮ）はＤＡＴＡ１を入力し、データ出力（ＤＡＴＡＯＵＴ）はＤＡＴＡ２を出力する端子であり、またＷＲＩＴＥは書き込み、ＲＥＡＤは読み出し、ＲＥＳＥＴはリセット端子である。
【０００６】
かかる５段ＦＩＦＯ記憶装置においては、記憶モジュール３０が最前段であり、記憶モジュール３４が最後段である。従って、入力されるデータＤＡＴＡ１は記憶モジュール３０〜３４に順次入力され、また出力されるデータＤＡＴＡ２は記憶モジュール３０〜３４から順次出力される構成である。すなわち、このＦＩＦＯ記憶装置においては、書き込む最初の位置および読み出す最初の位置が常に記憶モジュール３０に固定されている。
【０００７】
このため、ＦＵＬＬ／ＥＭＰＴＹの判断を行なう為には、全ての記憶モジュール３０〜３４における補助記憶回路の値を調べ、その値（ＲＥＡＤＹ端子の１，０出力）によってＦＵＬＬ／ＥＭＰＴＹの判断を行なうという動作となる。
【０００８】
【特許文献１】
特開２０００−２９８９８０号公報（第３〜４頁、図２）
【０００９】
【発明が解決しようとする課題】
上述した従来の順次アクセス記憶装置は、その記憶容量が増えるに伴って調べる補助記憶回路の数も増え、ＦＵＬＬ／ＥＭＰＴＹの判断部がクリティカルパスになり易いという欠点がある。
【００１０】
さらに、従来の装置は、リングバッファを構成している為に、書き込み用のデータバスと読み出し用のデータバスが全ての記憶回路に接続される構造となっている。このため、記憶装置の容量が増えるに伴ってバスの負荷が重くなり、データ各種信号の入力波形／出力波形になまりが生じるので、書き込み／読み出しの動作速度に悪影響を及ぼすという問題もある。
【００１１】
本発明の主な目的は、記憶容量の大小に無関係にＦＵＬＬ／ＥＭＰＴＹの判断を行なえるとともに、高速の読み出し／書き込みを可能とする記憶モジュールおよびそれを用いた順次アクセス記憶装置を提供することにある。
【００１２】
【課題を解決するための手段】
本発明の記憶モジュールは、１ワード分のデータを保持し、次段に対して保持データを出力する記憶回路と、前記記憶回路に対して１対１で設けられ、前記記憶回路の状態信号を出力する補助記憶回路と、外部からの入力データおよび前段からの入力データのいずれかを選択し、前記記憶回路に転送する選択回路と、書き込み信号あるいは読み出し信号に基づいて、前段および次段の状態信号および前記補助記憶回路の状態信号から、前記記憶回路に対する書き込みあるいは読み出し制御，前記選択回路に対する選択制御，前記補助記憶回路に対する書き込み値の制御を行う制御回路とを有して構成される。
【００１３】
また、本発明の記憶モジュールにおける前記制御回路は、前記書き込み信号，前記補助記憶回路のステータス信号の反転信号，後段の補助記憶回路のステータス信号のアンド論理をとる第１のアンドゲートと、前記補助記憶回路のステータス信号，前記読み出し信号，前段の補助記憶回路のステータス信号のアンド論理をとる第２のアンドゲートと、前記補助記憶回路のステータス信号，前記読み出し信号，前記前段の補助記憶回路のステータス信号の反転信号のアンド論理をとる第３のアンドゲートと、前記補助記憶回路のステータス信号，前記第３のアンドゲートの出力の反転信号のアンド論理をとる第４のアンドゲートと、前記第１，第４のアンドゲートの出力のオア論理をとり、その出力を前記補助記憶回路に対する書き込み値とする第１のオアゲートと、前記第１乃至第３のアンドゲートの出力のオア論理をとり、その出力を前記記憶回路に対する書き込み制御信号とする第２のオアゲートと、前記第２，第３のアンドゲートの出力のオア論理をとり、その出力を前記選択回路に対する選択信号とする第３のオアゲートと、前記補助記憶回路のステータス信号を所定時間遅延させ、その出力を前段に対するステータス信号とするバッファとで形成することができる。
【００１４】
また、本発明の記憶モジュールにおける前記制御回路は、前記補助記憶回路のステータス出力を所定時間遅延させ、その出力を前段へのステータス出力にするとともに、前記選択回路への選択信号とするバッファと、前記補助記憶回路のステータス出力を遅延させた信号の反転信号，書き込み信号，後段からのステータス入力のアンド論理をとる第１のアンドゲートと、前記補助記憶回路のステータス出力を遅延させた信号，後段からのステータス入力のアンド論理をとる第２のアンドゲートと、前記補助記憶回路のステータス出力を遅延させた信号，読み出し信号のアンド論理をとる第３のアンドゲートと、前段からのステータス入力，前記補助記憶回路のステータス出力を遅延させた信号のアンド論理をとる第４のアンドゲートと、前記第１，第３のアンドゲートの出力のオア論理をとり、その出力を前記記憶回路に対する書き込み制御信号とする第１のオアゲートと、前記第２，第４のアンドゲートの出力のオア論理をとり、その出力を前記補助記憶回路に対する書き込み値とする第２のオアゲートとで形成することができる。
【００１５】
さらに、本発明の順次アクセス記憶装置は、１ワード分のデータを保持し、次段に対して保持データを出力する記憶回路と、前記記憶回路に対して１対１で設けられ、前記記憶回路の状態信号を出力する補助記憶回路と、外部からの入力データおよび前段からの入力データのいずれかを選択し、前記記憶回路に転送する選択回路と、書き込み信号あるいは読み出し信号に基づいて、前段および次段の状態信号および前記補助記憶回路の状態信号から、前記記憶回路に対する書き込みあるいは読み出し制御，前記選択回路に対する選択制御，前記補助記憶回路に対する書き込み値の制御を行う制御回路とをそれぞれに備えた複数個の記憶モジュールを直列に接続し、書き込み時には、前段および後段の記憶モジュールにおける補助記憶回路の値と自己の補助記憶回路の値を前記制御回路でそれぞれ比較して書き込み位置を判断する一方、読み出し時には、末端の記憶モジュールの記憶回路の値を読み出し、他の記憶モジュールは次段の記憶モジュールに記憶回路の内容と補助記憶回路の値を順次転送して記憶容量が満杯になっているか、空きの状態にあるかの判断を行うことを特徴としている。
【００１６】
また、本発明の順次アクセス記憶装置における前記複数個直列に接続した記憶モジュールのうち、最前段の記憶モジュールは、前段のステート入力および前段からの入力データををローレベルに固定してプルダウン信号を供給し且つ前段へのステート出力から満杯信号を取り出すとともに、最後段記憶モジュールは、後段からのステート入力をハイレベルに固定してプルアップ信号を供給し且つ前記補助記憶装置からのステート出力からインバータを介して空き信号を取り出すように形成することができる。
【００１７】
また、本発明の順次アクセス記憶装置における前記複数の記憶モジュールは、ハードマクロ化して連結するように形成することができる。
【００１８】
【発明の実施の形態】
本発明は、ＦＩＦＯ／エラスティック・バッファといった、記憶装置に書き込んだデータを書き込まれた順に読み出す記憶装置において、読み出し位置を特定の記憶回路に固定するとともに、読み出し後に前段の記憶回路の値をシフトできるような記憶モジュールおよび順次アクセス記憶装置を実現するものである。以下、本発明の実施の形態を図面を参照して説明する。
【００１９】
図１は本発明の記憶モジュールの第１の実施の形態を示す機能ブロック図である。図１に示すように、本実施の形態における記憶モジュール５は、１ワード（語）のデータを保持し、次段に対してデータＤＯＵＴ［７：０］を出力する記憶回路１と、この記憶回路１に対して１対１に対応し、後段に対して状態信号ＳＴＯＵＴを出力する補助記憶回路２と、前段の補助記憶回路の値ＳＴ　ＩＮと後段の補助記憶回路の値ＳＴ　ＢＩＮと自分自身の補助記憶回路２の値ＳＴ　ＯＵＴから、記憶回路１に対する処理（書き込み制御ＣＳ／転送／その他）などを制御する制御回路３と、外部からのデータＤＡＴＡ［７：０］および前段からのデータＤＩＮ［７：０］のどちらのデータを選択するかを制御回路３の選択信号ＳＥＬにより制御され、その選択結果Ｏ［７：０］を記憶回路１に供給する選択回路４とを備えている。
【００２０】
このデータを保持する記憶回路１に対して１対１で設けられる補助記憶回路２は、記憶回路１が有効なデータを保持している事を示す回路であり、また選択回路４は、上述したように、記憶回路１に書き込むデータＯ［７：０］を前段の記憶回路の値ＤＩＮと外部のデータＤＡＴＡから選択する回路である。さらに、制御回路３は、外部からの書き込み信号ＷＲＩＴＥ，読み出し信号ＲＥＡＤおよび前段，後段からの状態信号を入力して、これらの記憶回路１，補助記憶回路２，選択回路４の動作を制御する書き込み制御信号ＣＳ，書き込み値ＴＡＧ，選択信号ＳＥＬを出力する回路である。
【００２１】
すなわち、記憶モジュール５は、ＦＩＦＯへの書き込みデータＤＡＴＡ［７：０］と前段の記憶回路が保持しているデータ入力ＤＩＮ［７：０］のいずれかを出力するにあたっては、制御回路３から記憶回路１に対する書き込み制御信号ＣＳおよび外部からの同期クロックＣＬＫにより制御される。また、記憶回路１と同様に外部からの同期クロックＣＬＫを供給される補助記憶回路２は、記憶回路１の値ＤＯＵＴを後段のモジュールへ出力するにあたり、制御回路３からの書き込み値ＴＡＧにより制御され、後段および自段の制御回路３に対するステータス・フラグＳＴ　ＯＵＴを出力する。この補助記憶回路２は、外部からのリセット信号ＣＬＲによってクリアされる。なお、このリセット信号ＣＬＲは、全ての記憶モジュール５における補助記憶回路２を初期化することにより、順次アクセス記憶装置の初期化が行われる。
【００２２】
一方、制御回路３は、上述したように、外部からＦＩＦＯへの書き込み信号（ＷＲＩＴＥ），読み出し信号（ＲＥＡＤ），後段の記憶モジュールにおける補助記憶回路のステータス・フラグ値ＳＴ　ＢＩＮ，同じく前段の記憶モジュールにおける補助記憶回路のステータス・フラグ値ＳＴ　ＩＮ，自段の補助記憶回路２よりフィードバックされるステータス・フラグ値ＳＴ　ＯＵＴに基づいて、前後の記憶モジュールの状態を把握することにより、選択信号ＳＥＬ，書き込み制御信号ＣＳおよび書き込み値ＴＡＧ，前段へのステータス・フラグ値ＳＴ　ＢＯＵＴを出力し、記憶回路１のデータをシフトする制御を行なう。
【００２３】
図２は図１における制御回路の一例を示す具体的構成図である。図２に示すように、制御回路３は、外部からの書き込み信号ＷＲＩＴＥ，補助記憶回路２から出力されるステータス・フラグ値ＳＴ　ＯＵＴの反転信号，後段からのステータス・フラグ値ＳＴ　ＢＩＮのアンド論理をとるＡＮＤゲートＡ１と、ステータス・フラグ値ＳＴ　ＯＵＴ，読み出し信号ＲＥＡＤ，前段のステータス・フラグ値ＳＴ　ＩＮのアンド論理をとるＡＮＤゲートＡ２と、ステータス・フラグ値ＳＴＯＵＴ，読み出し信号ＲＥＡＤ，前段のステータス・フラグ値ＳＴ　ＩＮの反転信号のアンド論理をとるＡＮＤゲートＡ３と、ステータス・フラグ値ＳＴ　ＯＵＴおよびＡＮＤゲートＡ３出力の反転信号のアンド論理をとるＡＮＤゲートＡ４と、ＡＮＤゲートＡ１およびＡ４の出力のオア論理をとるＯＲゲートＯＲ１と、ＡＮＤゲートＡ１，Ａ２，Ａ３の出力のオア論理をとるＯＲゲートＯＲ２と、ＡＮＤゲートＡ２およびＡ３の出力のオア論理をとるＯＲゲートＯＲ３と、フィードバックされた自段のステータス・フラグ値ＳＴ　ＯＵＴを前段へのステータス・フラグ値ＳＴ　ＢＯＵＴとして出力する際、所定時間だけ遅延させるバッファＢ１とで構成している。これらＯＲゲートＯＲ１〜ＯＲ３は、それぞれ前述したＴＡＧ信号，ＣＳ信号，ＳＥＬ信号を出力し、バッファＢ１は、上述したＡＮＤゲートＡ１〜Ａ４およびＯＲゲートＯＲ１〜ＯＲ３による遅延時間に見合った信号を出力する。
【００２４】
図３は図１における制御動作を説明するための真理値を表わす図である。図３に示すように、上述したＦＩＦＯで使用される制御回路３の各種信号は、書き込み動作，読み出し動作，保持動作に対し、それぞれ図示の論理を持っている。
【００２５】
例えば、書き込み動作のときの制御回路３の動作は、後段の補助記憶回路の値ＳＴ　ＢＩＮが１にセットされていて、補助記憶回路２の値ＳＴ　ＯＵＴが０の場合に、データの選択信号ＳＥＬを０にし、補助記憶回路２に書き込む値ＴＡＧを１にする。ここで、空白欄は未定義を意味し、他の信号はその値には左右されないことを表わしている。
【００２６】
図４は本発明の順次アクセス記憶装置の第１の実施の形態を説明するためのブロック図である。図４に示すように、本実施の形態における順次アクセス記憶装置（ＦＩＦＯ）は、図１で説明した記憶モジュール５を５段直列に接続（モジュール５Ｅが前段、モジュール５Ａが後段）し、その最後のモジュール５Ａからデータ出力ＤＯＵＴを取り出すものである。ここで、最前段の記憶モジュール５ＥのＳＴ　ＩＮおよびＤＩＮ［７：０］には、プルダウン信号ＰＤが固定的に入力されており、また、最後段の記憶モジュール５ＡのＳＴ　ＢＩＮには、プルアップ信号ＰＵが固定的に入力されている。しかも、そのデータを読み出す毎に前段の記憶回路１の値と補助記憶回路２の値を次段の記憶回路１と補助記憶回路２に転送することにより、記憶装置が一杯になった事の判断（ＦＵＬＬ信号の出力）及び、記憶装置が空になった事の判断（ＥＭＰＴＹ信号の出力）を簡単に行なうものである。なお、ここでは、記憶モジュール５Ａおよび５Ｅにのみデータおよび信号名を付しているが、他の記憶モジュール５Ｂ〜５Ｄも同様である。
【００２７】
まず、記憶モジュール５Ａ〜５Ｅは、前述した図１の記憶モジュール５を５個直列に接続したものであり、各モジュール間はそれぞれ前段（５Ｅ側）から後段（５Ａ側）へのデータＤＯＵＴ，前段から後段への補助記憶回路２の値ＳＴ　ＩＮ，後段から前段への補助記憶回路２の値ＳＴ　ＢＩＮを順次供給される。また、ＦＩＦＯへの書き込みデータＤＡＴＡ［７：０］，ＦＩＦＯへの書き込み信号ＷＲＩＴＥ，読み出し信号ＲＥＡＤ，リセット信号ＣＬＲ，同期クロックＣＬＫは、全ての記憶モジュール５Ａ〜５Ｅに共通して供給される。
【００２８】
また、ＦＩＦＯのデータは、最後段の記憶モジュール５Ａから読み出しデータＤＯＵＴ［７：０］として読み出され、最後段のモジュール５Ａの補助記憶回路２の値ＳＴ　ＯＵＴはインバータＩＮＶで反転され、ＦＩＦＯのＥＭＰＴＹ信号として出力される一方、最前段のモジュール５Ｅのステータス・フラグＳＴ　ＢＯＵＴはＦＩＦＯのＦＵＬＬ信号として出力される。
【００２９】
このＦＩＦＯで使用される制御回路３は、上述したように、図３の真理値表で示される論理を持ち、後段の補助記憶回路２の値（ＳＴ　ＢＩＮ）が１にセットされていて補助記憶回路２の値ＳＴ　ＯＵＴが０の場合に、データの選択信号ＳＥＬを０にするとともに、補助記憶回路２に書き込む値ＴＡＧを１にする。
【００３０】
この状態で書き込み信号ＷＲＩＴＥが１の状態になると、書き込み制御信号ＣＳを１にし、同期クロックＣＬＫに同期して記憶回路１に書き込みデータＤＡＴＡ［７：０］を記憶するとともに、補助記憶回路２に記憶回路１に書き込む値ＴＡＧを保持する。また、補助記憶回路２の値ＳＴ　ＯＵＴが１の場合には、データの選択信号ＳＥＬを１に、補助記憶回路２に書き込む値ＴＡＧは前段の補助記憶回路の値ＳＴ　ＩＮの値とし、読み出し信号ＲＥＡＤが１の状態になると、書き込み制御信号ＣＳを１にする。これにより、同期クロックＣＬＫに同期して、記憶回路１にデータ入力ＤＩＮ［７：０］が、補助記憶回路２に記憶回路１に書き込む値ＴＡＧが保持される。それ以外の場合は、書き込み制御信号ＣＳは０となり、記憶回路１および補助記憶回路２は現在の状態を保持している。
【００３１】
これにより、データＤＡＴＡ［７：０］を書き込む場合は、記憶モジュール５Ａ→５Ｂ→５Ｃ→５Ｄ→５Ｅと順次データを積み上げて行き、データを読み出す場合は記憶モジュール５Ａから順次読み出すと同時に、記憶モジュール５Ｂのデータを記憶モジュール５Ａへ、５Ｃのデータを５Ｂへ、５Ｄのデータを５Ｃへ、５Ｅのデータを５Ｄへとそれぞれ転送する。要するに、達磨落としのように、下からデータをＤＯＵＴとして引き抜いてゆくと、上のモジュールのデータが下のモジュールに落ちて来るという動作を実行する。
【００３２】
従って、保持しているデータが記憶装置の容量一杯になったかどうかの判断は、一番上のモジュール５Ｅの補助記憶回路２の値ＳＴ　ＯＵＴの値だけで判断することが出来る。すなわち、同じ値がモジュール５Ｅから出力されている前段への補助記憶回路２の値ＦＵＬＬにも出力されているので、この信号がアクティブになっている場合、記憶装置の容量が一杯である事を示している。
【００３３】
同様に、記憶装置が空になったかどうかの判断は、一番下の記憶モジュール５Ａの補助記憶回路２の値ＳＴ　ＯＵＴだけで判断することができ、補助記憶回路２の値ＳＴ　ＯＵＴの値がアクティブになっていなければ、ＦＩＦＯが空になった事を示す。しかし、通常は記憶装置の容量が一杯になったかどうかの判断と論理を合わせる事が多いので、補助記憶回路２の値ＳＴ　ＯＵＴの値をインバータＩＮＶで反転し、正論理の信号ＥＭＰＴＹとして出力する。
【００３４】
この上述した関係は、記憶モジュールの数を増やすことにより記憶装置の容量を増やしても変わらない為、容量の大小に無関係に且つ高速にＦＵＬＬ／ＥＭＰＴＹの判断を行うことが出来る。
【００３５】
次に、図１の記憶モジュールおよび図４に示す順次アクセス記憶装置の回路動作をタイミング図を用いて説明する。
【００３６】
図５は図４におけるデータおよび各種信号のタイミング図である。図５に示すように、この動作タイミングでは、書き込み動作期間Ａと、読み出し動作期間Ｂを表わし、ＳＴ　ＯＵＴ１は記憶モジュール５Ａのステータス・フラグ、ＳＴ　ＯＵＴ５は記憶モジュール５Ｅのステータス・フラグであり、同様にＤＯＵＴは記憶モジュール５Ａのデータ出力、ＤＯＵＴ２〜ＤＯＵＴ５は記憶モジュール５Ｂ〜５Ｅのデータ出力である。
【００３７】
まず、書き込み時の動作Ａついて説明する。各モジュール５Ａ〜５Ｅの制御回路３はＷＲＩＴＥ信号をアサート（アクティブに）された時、前段と後段の状態を判断し、記憶回路１にＦＩＦＯへの書き込みデータＤＡＴＡ［７：０］の値を保持する。また、このとき、各モジュール５Ａ〜５Ｅの補助記憶回路２は、最初にリセット信号ＣＬＲ（図５では省略）で０に初期化される。それにより、モジュール５ＡのＳＴ　ＯＵＴ（ＳＴ　ＯＵＴ１）には０が出力されるので、ＥＭＰＴＹ信号はＩＮＶにより１が出力される。これは、記憶装置（ＦＩＦＯ）には有効な値が保持されていない事を示す。
【００３８】
ついで、最初の書き込みは、後段の補助記憶回路２の値（電源電圧）をＰＵＬＬ−ＵＰしているモジュール５Ａの記憶回路１に対して行われる。すなわち、最初のデータＤ１が記憶回路１に保持され、出力ＤＯＵＴに出力されると同時に、補助記憶回路２にも１がセットされ、その値がＳＴ　ＯＵＴ１およびＳＴ　ＢＯＵＴ１に出力される。この結果、次の書き込みはモジュール５Ｂの記憶回路１に対して行われ、次のデータＤ２が記憶回路１に保持され且つＤＯＵＴ２に出力されると同時に、補助記憶回路２にも１がセットされ、ＳＴ　ＯＵＴ２とＳＴ　ＢＯＵＴ２に出力される。
【００３９】
このようにして、モジュール５Ｃ，モジュール５Ｄ，モジュール５Ｅと順に値が保持される。最後のモジュール５Ｅに５番目のデータＤ５が保持されると、ＳＴ　ＯＵＴ５とＦＵＬＬ信号に１がセットされ、記憶装置（ＦＩＦＯ）が一杯になった事を示す。以上が書き込み時Ａの動作である。
【００４０】
次に、読み出し時の動作Ｂついて説明する。各モジュール５Ａ〜５Ｅの制御回路３は、ＲＥＡＤ信号をアサートされた時、前段と後段の状態を判断し、記憶回路１に前段の記憶回路１が保持しているデータＤＡＴＡ［７：０］の値を保持する。
【００４１】
最初の読み出しでは、ＤＯＵＴに出力されている値Ｄ１が読み出され、モジュール５Ａにはモジュール５Ｂの保持していた値Ｄ２が転送され、モジュール５Ｂにはモジュール５Ｃの保持していた値Ｄ３が転送され、モジュール５Ｃにはモジュール５Ｄの保持していた値Ｄ４が転送され、同様にモジュール５Ｄにはモジュール５Ｅの保持していた値Ｄ５が転送される。
【００４２】
また、モジュール５Ｅはモジュール５Ｄに値を転送すると同時に、補助記憶回路２を０クリアし、ＳＴ　ＯＵＴ５とＦＵＬＬ信号を０にする事で、記憶回路１に空きが出来た事を示す。
【００４３】
同様にして、次の読み出しサイクルではＤ２が読み出され、以下順にＤ３，Ｄ４，Ｄ５と読み出される毎に記憶装置（ＦＩＦＯ）内のデータはシフトしていく。最後に、データＤ５が読み出された時点で、モジュール５Ａの補助記憶回路２も０になり、ＥＭＰＴＹ信号には１が出力され、記憶装置には有効な値が保持されていない事を示す。以上が読み出し時Ｂの動作である。
【００４４】
要するに、本実施の形態は、ＦＩＦＯやエラスティクバッファという順次アクセス記憶装置において、１ワード分の記憶回路と，補助記憶回路と，選択回路と，制御回路とで一つの記憶モジュールを構成し、そのモジュールを必要な段数だけ直列に接続することにある。かかる順次アクセス記憶装置において、前後段の補助記憶回路の値と自分自身の補助記憶回路の値を比較することにより、書き込み位置（どの段の記憶回路に対する書き込みか）を判断することができる。従って、本実施の形態によれば、書き込み位置の制御にカウンタ等の演算回路を必要としないで済む。また、読み出しを行う時に、末端のモジュールの記憶回路の値を読み出し、他のモジュールは次のモジュールに記憶回路の内容と補助記憶回路の値を転送することにより、ＦＵＬＬ／ＥＭＰＴＹの判断を簡単にすることができる。
【００４５】
上述した実施の形態では、全てのモジュールが同じ回路をとなっていたが、必要に応じてモジュールの数を増やしたり減らしたりする事で、簡単に記憶装置の容量を変更する事が出来、その場合でもＦＩＦＯ−ＦＵＬＬ／ＥＭＰＴＹの判断に必要な時間は常に一定となる。
【００４６】
なお、上記実施の形態では、書き込み時の動作として２クロックで１サイクルとなるように書き込み信号ＷＲＩＴＥを変化させているが、読み出し時の動作と同様に、１クロックで１サイクルとなるようにしてもよい。また、読み出し時の動作にについても、書き込み時と同様に、数クロックで１サイクルとなるようにＲＥＡＤ信号を変化させても良い。
【００４７】
図６は本発明の記憶モジュールの第２の実施の形態を示す機能ブロック図である。図６に示すように、本実施の形態は、図１における記憶回路１，補助記憶回路２，選択回路４と同一の回路を用い、制御回路３の構成について改良したものである。かかる制御回路３は、前述した図２の回路よりも更に少ない素子数の回路で構成している。すなわち、本実施の形態における制御回路３は、４つのＡＮＤゲートＡ５〜Ａ８と、２つのＯＲゲートＯＲ４，ＯＲ５と、１つのバッファＢ２とで構成することにより、ＯＲゲートを１個だけ少なくし、制御回路３をより小さくすることができる。
【００４８】
具体的には、制御回路３は、補助記憶回路２のステータス出力ＳＴ　ＯＵＴを所定時間遅延させ、その出力を前段へのステータス出力ＳＴ　ＢＯＵＴにするとともに、選択回路４への選択信号ＳＥＬとするバッファＢ２と、このステータス出力ＳＴ　ＯＵＴを遅延させた信号の反転信号，書き込み信号ＷＲＩＴＥ，後段からのステータス入力ＳＴ　ＢＩＮのアンド論理をとる第１のＡＮＤゲートＡ５と、ステータス出力ＳＴ　ＯＵＴを遅延させた信号，後段からのステータス入力ＳＴ　ＢＩＮのアンド論理をとる第２のＡＮＤゲートＡ６と、ステータス出力ＳＴ　ＯＵＴを遅延させた信号，読み出し信号ＲＥＡＤのアンド論理をとる第３のＡＮＤゲートＡ７と、前段からのステータス入力ＳＴ　ＩＮ，ステータス出力ＳＴ　ＯＵＴを遅延させた信号のアンド論理をとる第４のＡＮＤゲートＡ８と、ＡＮＤゲートＡ５，Ａ７の出力のオア論理をとり、その出力を記憶回路１に対する書き込み制御信号ＣＳとする第１のＯＲゲートＯＲ４と、ＡＮＤゲートＡ６，Ａ８の出力のオア論理をとり、その出力を補助記憶回路２に対する書き込み値ＴＡＧとする第２のＯＲゲートＯＲ５とで構成している。
【００４９】
上述した図３の真理値表によれば、各制御信号ＣＳ，ＳＥＬ，ＴＡＧ，ＳＴ　ＢＯＵＴの論理はつぎの式で表わされる。
2004146005.tif 000003
【００５０】
これらの式は、下記のように簡略化することが可能である。
2004146005.tif 000004
【００５１】
従って、この制御回路３を用いたモジュールを使用した場合の記憶装置の動作のタイミングは、前述した図５のタイミングと同一となる。すなわち、図２の制御回路を用いた場合とまったく同じ動作となる。
【００５２】
このように、本実施の形態では、第１の実施の形態と比較して、回路規模を小さくすることができるという利点がある。
【００５３】
上述した各実施の形態は、容量の大小に無関係にＦＵＬＬ／ＥＭＰＴＹ信号の判断および高速の読み出し／書き込みを可能にするのを、記憶回路１に補助記憶回路２を付加したモジュールを複数個直列に接続し、前後の補助記憶回路２の値から書き込み位置を判断する制御回路３を用いて得ている。しかし、これは、モジュールのハードマクロ化と言う技術思想を用いても得ることができる。以下、そのための構成を第３の実施の形態として説明する。
【００５４】
図７は本発明の順次アクセス記憶装置の第２の実施の形態を説明するための機能ブロック図である。図７に示すように、本実施の形態は、図６に示す記憶モジュール５をハードマクロ化し、それをレイアウト上で連結したものである。本実施の形態によれば、各モジュール間の配線を短縮することが可能になり、配線遅延による動作速度への影響を受けにくくするとともに、さらに高速の動作に対応することを可能にしている。なお、ここでは、スペースの都合上、クリア信号ＣＬＲは省略している。
【００５５】
しかも、本実施の形態では、メモリ・コンパイラ等のツールにマクロ化したモジュールを登録することにより、ツールによる記憶装置の自動設計も容易に実現できるという相乗的な利点もある。
【００５６】
【発明の効果】
以上説明したように、本発明の記憶モジュールは、記憶回路に対する補助記憶回路と自身の補助記憶回路および前段，後段の補助記憶回路のステータス・フラグを用いて記憶回路や選択回路などを制御する制御回路とを設けることにより、前段，後段の状態（ＦＵＬＬ／ＥＭＰＴＹ）を把握でき、書き込みおよび読み出しの制御を高速に行うことができるという効果がある。
【００５７】
また、本発明の順次アクセス記憶装置は、かかる記憶モジュールを複数個直列に接続することにより、データを書き込む場合には、後段から前段へ、つまり下から上への順に、下からデータを積み上げて行き、またデータを読み出す場合には、後段から前段へ、つまり下から達磨落としのように、データを引き抜いてゆくという動作を実行することにより、保持しているデータが記憶装置の容量に対し一杯になったかどうかの判断を、一番上の記憶モジュールの補助記憶回路の値（ステータス・フラグ：ＳＴ　ＯＵＴ）だけで判断出来、且つ記憶装置が空になったかどうかの判断を、一番下の記憶モジュールの補助記憶回路の値（ステータス・フラグ：ＳＴ　ＯＵＴ）だけで判断出来るので、複雑な回路や多段の論理回路を必要とせずに、記憶装置の状態（ＦＵＬＬ／ＥＭＰＴＹ）の判断を高速に行なうことができ、書き込みおよび読み出しの制御を高速に行なうことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の記憶モジュールの第１の実施の形態を示す機能ブロック図である。
【図２】図１における制御回路の一例を示す具体的構成図である。
【図３】図１における制御動作を説明するための真理値を表わす図である。
【図４】本発明の順次アクセス記憶装置の第１の実施の形態を説明するための機能ブロック図である。
【図５】図４におけるデータおよび各種信号のタイミング図である。
【図６】本発明の記憶モジュールの第２の実施の形態を示す機能ブロック図である。
【図７】本発明の順次アクセス記憶装置の第２の実施の形態を説明するための機能ブロック図である。
【図８】従来の一例を示す順次アクセス記憶装置の機能ブロック図である。
【符号の説明】
１　　記憶回路
２　　補助記憶回路
３　　制御回路
４　　選択回路
５，５Ａ〜５Ｅ　　記憶モジュール
ＤＡＴＡ，ＤＩＮ　　データ入力
ＤＯＵＴ　　データ出力
ＳＴ　ＩＮ，ＳＴ　ＢＩＮ　　ステータス・フラグ入力
ＳＴ　ＯＵＴ，ＳＴ　ＢＯＵＴ　　ステータス・フラグ出力
ＦＵＬＬ　　満杯信号
ＥＭＰＴＹ　　空信号
ＳＥＬ　　選択信号
ＣＳ　　書き込み制御信号
ＴＡＧ　　書き込み値
ＷＲＩＴＥ　　書き込み信号
ＲＥＡＤ　　読み出し信号
ＣＬＫ　　クロック
ＣＬＲ　　クリア信号
Ａ１〜Ａ８　　ＡＮＤゲート
ＯＲ１〜ＯＲ５　　ＯＲゲート
Ｂ１，Ｂ２　　バッファ
ＩＮＶ　　インバータ
【図１】
2004146005.tif 000005
【図２】
2004146005.tif 000006
【図３】
2004146005.tif 000007
【図４】
2004146005.tif 000008
【図５】
2004146005.tif 000009
【図６】
2004146005.tif 000010
【図７】
2004146005.tif 000011
【図８】
2004146005.tif 000012