(57)【特許請求の範囲】
【請求項１】
第１クロック信号を提供するデータ発生器から生成される入力ディジタルデータを一時的に格納し、一定のビットレートを有する出力ディジタルデータを発生させる先入先出バッファシステムであって、
各々の書き込み信号に応答して前記入力ディジタルデータを順次に格納し、読み取り信号に応答して出力ディジタルデータを順次に発生させ、充満状態を表す充満フラッグ信号（ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、・・・、ＦＦ（Ｎ））および空状態を表わす空フラッグ信号（ＥＦ１、ＥＦ２、ＥＦ３、ＥＦ４、・・・、ＥＦ（Ｎ））を含む格納状態信号を発生させるＮ個（ただし、Ｎは４以上の正の整数である）の縦続結合された先入先出バッファと、
第２クロック信号を発生させるクロック発生器と、
前記縦続結合された先入先出バッファからの充満フラッグ信号に応答して、（Ｎ−１）個の縦続結合された先入先出バッファが充満されたことを検出すると、第１クロック信号と同期された書き込み信号の発生を止める第１制御手段と、
前記縦続結合された先入先出バッファからの空フラッグ信号に応答して、前記入力ディジタルデータが順次に格納された最初の（Ｎ−１）個以上の縦続結合された先入先出バッファが空状態でなくなったことを検出すると、前記第２クロック信号に同期された読み取り信号を発生させることによって、最初の先入先出バッファから読み取り動作を開始し、前記書き込み信号に応答して書き込まれた前記ディジタルデータの最終ビットが前記縦続結合された先入先出バッファから読み取られたのち、読み取り動作を終了させる第２制御手段とを含み、
前記第１制御手段は、Ｎ個のアンドゲートと、当該Ｎ個アンドゲートのそれぞれの出力を入力とするオアゲートまたはノアゲートを備え、
前記Ｎ個のアンドゲートの入力には、それぞれ、上記Ｎ個の充満フラッグ信号のうちの（Ｎ−１）個が接続され、非接続となる１個の充満フラッグ信号が互いに異なることを特徴とする先入先出バッファシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、先入先出（Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ：以下、ＦＩＦＯという）バッファシステムに関し、とくに、書き込みおよび読み取り動作を効果的に制御することができる改善されたＦＩＦＯバッファシステムに関する。
【０００２】
【従来の技術】
公知のように、ＦＩＦＯバッファシステムは、多様な電子／電気的応用分野に広く用いられている。通常、ＦＩＦＯバッファシステムは、少なくとも一つのＦＩＦＯバッファメモリを有し、たとえば、変動するかまたはより高いビットレートを有する不連続的なビットストリーム（bit stream）の形態で伝送される入力ディジタルデータを一時的に格納するために用いられ、前記不連続的なビットストリームはより低いビットレートを有する一定のビットストリームに変換される。
【０００３】
ＦＩＦＯバッファシステムは、一般に入力と出力のディジタルデータ間のビットレート差を調整するために多数のＦＩＦＯバッファメモリを用いるが、これはバッファのハードウェーア容量が制限されている。このばあい、ＦＩＦＯバッファメモリは縦続結合または深さ膨脹（depth expansion)の形態に配置されている。
【０００４】
公知のように、このような配置では入力ディジタルデータが順次にＦＩＦＯバッファメモリに格納（または書き込み）され、格納された入力ディジタルデータはまた同一の順序で前記ＦＩＦＯバッファメモリから出力（または読み取り）されて入力ディジタルデータと同一の出力ディジタルデータを生成する。
【０００５】
【発明が解決しようとする課題】
しかしながら、かかる縦続結合のＦＩＦＯバッファメモリなどを採用した通常のＦＩＦＯバッファシステムは、ＦＩＦＯバッファメモリなどが全て充満であるか空になるまで書き込みまたは読み取り動作を行なうので、書き込みおよび読み取り動作が一つのＦＩＦＯバッファメモリで同時に行なわれるばあい、書き込みおよび読み取りシーケンスのあいだに相違が発生し、エラーの出力ディジタルデータが発生しうる。
【０００６】
したがって、本発明の主な目的は、書き込み／読み取り動作を効果的に制御することができる制御装置を備えた改善されたＦＩＦＯバッファシステムを提供することにある。
【０００７】
【課題を解決するための手段】
前記目的を達成するために、本発明によると、各々の書き込み信号に応答して前記入力ディジタルデータを順次に格納し、読み取り信号に応答して出力ディジタルデータを順次に発生させ、充満状態を表す充満フラッグ信号（ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、・・・、ＦＦ（Ｎ））および空状態を表わす空フラッグ信号（ＥＦ１、ＥＦ２、ＥＦ３、ＥＦ４、・・・、ＥＦ（Ｎ））を含む格納状態信号を発生させるＮ個（ただし、Ｎは４以上の正の整数である）の縦続結合された先入先出バッファと、
第２クロック信号を発生させるクロック発生器と、
前記縦続結合された先入先出バッファからの充満フラッグ信号に応答して、（Ｎ−１）個の縦続結合された先入先出バッファが充満されたことを検出すると、第１クロック信号と同期された書き込み信号の発生を止める第１制御手段と、
前記縦続結合された先入先出バッファからの空フラッグ信号に応答して、前記入力ディジタルデータが順次に格納された最初の（Ｎ−１）個以上の縦続結合された先入先出バッファが空状態でなくなったことを検出すると、前記第２クロック信号に同期された読み取り信号を発生させることによって、最初の先入先出バッファから読み取り動作を開始し、前記書き込み信号に応答して書き込まれた前記ディジタルデータの最終ビットが前記縦続結合された先入先出バッファから読み取られたのち、読み取り動作を終了させる第２制御手段とを含み、
前記第１制御手段は、Ｎ個のアンドゲートと、当該Ｎ個アンドゲートのそれぞれの出力を入力とするオアゲートまたはノアゲートを備え、
前記Ｎ個のアンドゲートの入力には、それぞれ、上記Ｎ個の充満フラッグ信号のうちの（Ｎ−１）個が接続され、非接続となる１個の充満フラッグ信号が互いに異なることを特徴としている。
【０００８】
【実施例】
つぎに、本発明のＦＩＦＯバッファシステムを添付の図面を参照しながら、詳細に説明する。
【０００９】
図１は、本発明のＦＩＦＯバッファシステムの望ましい実施例のブロック図である。
【００１０】
ＦＩＦＯバッファシステムはＦＩＦＯモジュール２００と、第１制御手段である第１制御ユニット３００および第２制御手段である第２制御ユニット４００とを含む。
【００１１】
入力ディジタルデータはたとえば、出力ディジタルデータのビットレートよりさらに大きいビットレートを有する不連続的なビットストリームの形態で、ライン１３５を通じてＦＩＦＯモジュール２００に提供される。入力ディジタルデータはデータ発生器１００から提供され、データ発生器１００はまたデータラッチクロックＩＯＷおよびエンド信号ＥＮＤをライン１２５および１１５を通じて第１制御ユニットおよび第２制御ユニット４００にそれぞれ提供する。データ発生器１００からのエンド信号はそれから伝送される入力ディジタルデータが全てＦＩＦＯモジュール２００に伝送されるとき、論理値「ハイ」で、そうでないばあいは論理値「ロー」である。論理値「ハイ」のエンド信号は入力ディジタルビットストリームの終りを表わす。
【００１２】
規則的なビットレートを有する連続的なビットストリームの形態で出力データを発生させるように適応されているＦＩＦＯモジュール２００は第１制御ユニット３００および第２制御ユニット４００により発生された書き込み／読み取り信号に応答して書き込み／読み取り動作を行なう。本発明の望ましい実施例によると、ＦＩＦＯモジュール２００は縦続結合の形態で結合されたＮ個、たとえば四つのＦＩＦＯバッファを含む。すなわち、縦続結合のＦＩＦＯバッファ２２０、２４０、２６０および２８０は書き込みまたは読み取り動作を順次行なう。各々のＦＩＦＯバッファは、図１に示されるように結合されたエキスパンションアウト（expansion out ）端子（ＸＯ１、ＸＯ２、ＸＯ３、ＸＯ４）とエキスパンションイン（expansion in）端子（ＸＩ１、ＸＩ２、ＸＩ３、ＸＩ４）とを含む。すなわち、ＸＯ１はＸＩ２に、ＸＯ２はＸＩ３に、ＸＯ４はＸＩ１にそれぞれ連結される。各々のＦＩＦＯバッファはまたファーストロード（first load）端子（ＦＬ１、ＦＬ２、ＦＬ３、ＦＬ４）を含んで、入力ディジタルデータの書き込みまたは格納された入力ディジタルデータの読み取りを縦続結合のＦＩＦＯバッファ２２０から順次にスタートするようにするために、ＦＬ１は接地され、ＦＬ２、ＦＬ３およびＦＬ４は電源Ｖｃｃに連結される。ＦＩＦＯバッファはまた、充満フラッグ端子（Ｆ１、Ｆ２、Ｆ３、Ｆ４）と空フラッグ端子（Ｅ１、Ｅ２、Ｅ３、Ｅ４）を各々含む。各々のＦＩＦＯバッファは、充満時論理値「ハイ」の充満フラッグ信号（ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４）と空時論理値「ハイ」の空フラッグ信号（ＥＦ１、ＥＦ２、ＥＦ３、ＥＦ４）を発生させる。
【００１３】
ＦＩＦＯモジュール２００に印加される入力ディジタルデータは、書き込み端子（Ｗ１、Ｗ２、Ｗ３、Ｗ４）に提供される書き込み信号が論理値「ハイ」のときＦＩＦＯバッファ２２０〜２８０に順次に書き込まれ、読み取り端子（Ｒ１、Ｒ２、Ｒ３、Ｒ４）に提供される論理値「ハイ」の読み取り信号に応答して書き込まれた順にＦＩＦＯバッファ２２０〜２８０から読み取られる。図２は、図１に示される第１制御ユニット３００で、四つのアンドゲート３３３、３３５、３３７および３３９を含むアンドゲート群３３０と、ＯＲゲート３５０と、インバータ３６０およびアンドゲート３７０とを含む。各アンドゲート３３３、３３５、３３７および３３９の入力はＦＩＦＯモジュール２２０から発生される四つの充満フラッグ信号中の三つからなる四種類の互いに異なるセットのうちの一つである。ＯＲゲート３５０の出力は、インバータ３６０を通じてアンドゲート３７０の第１入力に結合される。ＡＮＤゲート３７０はインバータ３６０から提供される第１入力と第２入力、すなわち、データ発生器１００から生成されるデータラッチクロックＩＯＷをロジック「アンド」して書き込み信号Ｗを発生させる。
【００１４】
前記のように、二つ以下の充満フラッグ信号が論理値「ハイ」であれば、書き込み信号ＷはデータラッチクロックＩＯＷで、そうでないばあいは、書き込み信号は論理値「ロー」である。すなわち、ＦＩＦＯモジュールの書き込み動作は、二つ以下のＦＩＦＯバッファが充満であると、データラッチクロックによって行なわれ、三つまたは四つのＦＩＦＯバッファが充満であると、中止される。
【００１５】
図３には、図１に示した第２制御ユニット４００が詳細に示されている。
【００１６】
第１制御ユニット３００から提供される書き込み信号Ｗは第１カウンター４６０に提供される。エンド信号もインバータ４６１を通じて第１カウンター４６０に提供される。第１カウンター４６０はイネーブル端子ＥＮ１に印加される論理値「ハイ」のインバータされたエンド信号によりイネーブルされる。イネーブルされた第１カウンター４６０は端子ＣＬＫ１に印加される書き込み信号Ｗのライジングエッジ（rising edge ）に応答してカウントを一つずつ増加させるとともに増加されたカウントを出力端子ＯＵＴｌを通じて比較器４５０へ出力する。
【００１７】
一方、図１に示されているＦＩＦＯモジュール２００から提供される空フラッグ信号ＥＦ１、ＥＦ２、ＥＦ３およびＥＦ４は第１アンドゲート４１０に結合される。とくに、空フラッグ信号ＥＦ１、ＥＦ２およびＥＦ３は各インバータ４１１、４１２および４１３を通じて第１アンドゲート４１０に連結され、空フラッグ信号ＥＦ４は第１アンドゲート４１０に直接連結される。第１アンドゲート４１０の出力は、フリップフロップ４２０の端子ＣＫに結合され、空フラッグ信号ＥＦ１，ＥＦ２およびＥＦ３が全て論理値「ロー」で、ＥＦ４が論理値「ハイ」であるばあいのみ、論理値「ハイ」である。すなわち、第１アンドゲート４１０の出力は、図１に示された最初の三つのＦＩＦＯバッファが入力ディジタルデータで詰められるとき論理値「ハイ」となる。
【００１８】
フリップフロップ４２０は、そのプリセット（preset）端子ＰＲが接地に連結されているので、第１アンドゲート４１０の出力が論理値「ハイ」となるまで、その出力端子Ｑで論理値「ロー」を出力する。フリップフロップ４２０はまたは電源Ｖｃｃに連結されている入力端子Ｄを含んで、よって、第１アンドゲート４１０の出力が論理値「ハイ」となるとき、第２アンドゲート４３０の第１入力に接続されたその出力は論理値「ハイ」でセットされる。第２アンドゲート４３０はフリップフロップ４２０からの第１入力と第２入力すなわち、クロック発生器（図示せず）から印加されるクロック信号Ｃｐを論理アンドする。第２アンドゲート４３０の出力Ｒ´はフリップフロップ４２０からの出力が論理値「ハイ」のばあいクロック信号Ｃｐとなり、第２カウンター４７０および第３アンドゲート４４０に提供される。
【００１９】
比較器４５０は、第１カウンター４６０からの出力カウンターと第２カウンター４７０からの出力カウンターを比較する。比較器４５０からの出力信号はカウンター４６０および４７０の出力カウントが互いに異なると、論理値「ハイ」で、互いに同一であると、論理値「ロー」である。第２カウンター４７０はそのイネーブル端子ＥＮ２に印加される比較器４５０からの論理値「ハイ」の出力によりイネーブルされる。イネーブルされた第２カウンター４７０は第２アンドゲート４３０から端子ＣＬＫ２に印加される出力信号Ｒ´のライジングエッジ信号に応答して、該カウントを一つずつ増加させると共に増加されたカウントを該出力端子ＯＵＴ２で比較器４５０へ出力する。
【００２０】
比較器４５０の出力は、また、第３アンドゲート４４０に結合され、第２カウンター４７０の出力カウントが第１カウンター４６０の出力カウントより小さいと、読み取り信号Ｒとしてクロック信号ＣｐがＦＩＦＯモジュール２００に提供される。一応、書き込み動作が完了すると、論理値「ハイ」のエンド信号がデータ発生器１００から発生され、第１カウンター４６０がディスイネーブルされる。
【００２１】
読み取り動作は第２カウンター４７０の出力が第１カウンター４６０の出力カントと同一になるまで行なわれる。
【００２２】
前記において、本発明の特定の実施例について説明したが、本発明の範囲を外れない限り、当業者なら種々の改変をなしうる。
【００２３】
【発明の効果】
したがって、本発明によれば、各々のバッファからの充満フラッグ信号を用いて書き込み動作を制御し、空フラッグ信号を用いてビットレートが相異なる装置で一定のビットレートの出力ディジタルデータを発生させるのに有用である。
【図面の簡単な説明】
【図１】本発明によるＦＩＦＯバッファシステムを簡略に示した図である。
【図２】図１に示された第１制御ユニットを詳細に示した回路図である。
【図３】図１に示された第２制御ユニットを詳細に示した回路図である。
【符号の説明】
１００  データ発生器
２００  ＦＩＦＯモジュール
２２０、２４０、２６０、２８０  ＦＩＦＯバッファ
３００  第１制御ユニット
３３３、３３５、３３７、３３９、３７０、４１０、４３０、４４０  アンドゲート
３５０  ＯＲゲート
３６０、４１１、４１２、４１３、４６１  インバータ
４００  第２制御ユニット
４２０  フリップフロップ
４５０  比較器
４６０、４７０  カウンター
【図１】
0003950178.tif 000002
【図２】
0003950178.tif 000003
【図３】
0003950178.tif 000004