(57)【特許請求の範囲】
【請求項１】
シングルポートＲＡＭのアドレス入力端子にその出力が接続された選択回路の一方の入力端子に対して、発行した書き込み信号で指定された期間、書き込みカウンタによって、所定のクロックをカウントして、書き込みアドレスを生成して供給し、前記選択回路の他方の入力端子に対して、発行した読み出し信号で指定された期間、前記書き込み信号が同時発生しないことを条件として、読み出しカウンタによって、所定のクロックをカウントして、読み出しアドレスを生成して供給するシングルポートＲＡＭ用制御回路であって、
外部から供給された書き込み信号と読み出し信号との同時発生を検出するとともに、前記同時発生を検出した場合に、外部から供給された書き込み信号を優先的に前記書き込みカウンタに出力するとともに、外部から供給された読み出し信号を前記書き込み信号の発生がなくなるまで遅延させるとともに、前記書き込み信号の発生がなくなった後に、前記遅延させた読み出し信号を前記読み出しカウンタに出力する制御回路
を具備することを特徴とするシングルポートＲＡＭ用制御回路。
【請求項２】
シングルポートＲＡＭのアドレス入力端子にその出力が接続された選択回路の一方の入力端子に対して、発行した読み出し信号で指定された期間、読み出しカウンタによって、所定のクロックをカウントして、読み出しアドレスを生成して供給し、前記選択回路の他方の入力端子に対して、発行した書き込み信号で指定された期間、前記読み出し信号が同時発生しないことを条件として、書き込みカウンタによって、所定のクロックをカウントして、書き込みアドレスを生成して供給するシングルポートＲＡＭ用制御回路であって、
外部から供給された書き込み信号と読み出し信号との同時発生を検出するとともに、前記同時発生を検出した場合に、外部から供給された読み出し信号を優先的に前記読み出しカウンタに出力するとともに、外部から供給された書き込み信号を前記読み出し信号の発生がなくなるまで遅延させるとともに、前記読み出し信号の発生がなくなった後に、前記遅延させた書き込み信号を前記書き込みカウンタに出力する制御回路
を具備することを特徴とするシングルポートＲＡＭ用制御回路。
【請求項３】
前記シングルポートＲＡＭ用制御回路の状態を監視する監視手段を備え、
前記制御回路は、前記監視手段によるシングルポートＲＡＭ用制御回路の状態に応じて、前記書き込み信号および前記読み出し信号を発行するか否かを決定する
ことを特徴とする請求項１または２記載のシングルポートＲＡＭ用制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、シングルポートＲＡＭを用いて、First In First Outメモリ（以下、単にＦＩＦＯと記述）を構成する場合に該ＦＩＦＯに対するデータの入出力を制御するシングルポートＲＡＭ用制御回路に関する。
【０００２】
【従来の技術】
従来、比較的安価で構造がシンプルなシングルポートＲＡＭを用いてＦＩＦＯを構成する場合、図５に示す回路構成が知られている。図５において、ＰＵＳＨ（書き込み）カウンタ１は、ＰＵＳＨ信号が供給される度にクロックをカウントして書き込みアドレスを更新し、選択回路３の一方の入力端に供給する。また、ＰＯＰ（読み出し）カウンタ２は、ＰＯＰ信号が供給される度にクロックをカウントして読み出しアドレスを更新し、選択回路３の他方の入力端に供給する。該ＰＯＰカウンタ２には、ＰＵＳＨ信号も供給されており、該ＰＵＳＨ信号が有効の時には、ＰＯＰ信号が供給されても動作しないようになっている。選択回路３は、上記書き込みアドレスおよび読み出しアドレスを、ＰＵＳＨ信号によって選択するようになっており、ＰＵＳＨ信号が供給されたときには、書き込みアドレスをシングルポートＲＡＭ４のアドレス入力端Ａに供給し、ＰＵＳＨ信号が供給されないときには、読み出しアドレスをシングルポートＲＡＭ４のアドレス入力端Ａに供給する。シングルポートＲＡＭ４は、通常、読み出しモードとなっており、書き込み端子ＷＥにＰＯＰ信号が供給されると、書き込みモードとなる。データは、入力端子ＤＩから入力され、出力端子ＤＯから出力される。
【０００３】
上記構成によれば、ＰＵＳＨ信号が供給されると、ＰＵＳＨ（書き込み）カウンタ１で書き込みアドレスが更新され、選択回路３の一方の入力端に供給される。このとき、選択回路３では、ＰＵＳＨ信号が選択信号として供給されるので、上記書き込みアドレスがシングルポートＲＡＭ４のアドレス入力端Ａに供給される。シングルポートＲＡＭ４では、上記書き込みアドレスに入力端子ＤＩから入力されるデータを書き込んで記憶する。
【０００４】
一方、ＰＯＰ信号が供給されると、ＰＯＰ（読み出し）カウンタ２で読み出しアドレスが更新され、選択回路３の他方の入力端に供給される。このとき、選択回路３では、ＰＵＳＨ信号が供給されていないので、上記読み出しアドレスがシングルポートＲＡＭ４のアドレス入力端Ａに供給される。シングルポートＲＡＭ４では上記読み出しアドレスに記憶されているデータを出力端子ＤＯから出力する。
【０００５】
また、上記ＰＯＰカウンタ２には、ＰＵＳＨ信号も供給されており、該ＰＵＳＨ信号が有効の時には、ＰＯＰ信号が供給されても動作しないようになっている。したがって、ＰＵＳＨ信号とＰＯＰ信号とが同時に発生した場合には、常に、ＰＵＳＨ信号が優先され、ＰＯＰ信号が無視されることになる。
【０００６】
【発明が解決しようとする課題】
ところで、従来のＦＩＦＯでは、上述したように、ＰＵＳＨ信号およびＰＯＰ信号の同時発行は許されず、どちらかを優先させなければならない。しかしながら、このような同時発行は、十分に起こり得る事象であり、例えばＰＯＰ信号を無視する構成ではＰＯＰカウンタ２のカウント値が更新されず、同じデータを２度読み出すという不具合が生じる。
【０００７】
この発明は上述した事情に鑑みてなされたもので、シングルポートＲＡＭに対する書き込み信号および読み出し信号が同時に発行されても、自動的に優先順位を与えることができ、どちらの命令も実行できるシングルポートＲＡＭ用制御回路を提供することを目的としている。
【０００８】
【課題を解決するための手段】
上述した課題を解決するために、請求項１記載の発明では、シングルポートＲＡＭのアドレス入力端子にその出力が接続された選択回路の一方の入力端子に対して、発行した書き込み信号で指定された期間、書き込みカウンタによって、所定のクロックをカウントして、書き込みアドレスを生成して供給し、前記選択回路の他方の入力端子に対して、発行した読み出し信号で指定された期間、前記書き込み信号が同時発生しないことを条件として、読み出しカウンタによって、所定のクロックをカウントして、読み出しアドレスを生成して供給するシングルポートＲＡＭ用制御回路であって、外部から供給された書き込み信号と読み出し信号との同時発生を検出するとともに、前記同時発生を検出した場合に、外部から供給された書き込み信号を優先的に前記書き込みカウンタに出力するとともに、外部から供給された読み出し信号を前記書き込み信号の発生がなくなるまで遅延させるとともに、前記書き込み信号の発生がなくなった後に、前記遅延させた読み出し信号を前記読み出しカウンタに出力する制御回路を具備することを特徴とする。
【０００９】
請求項２記載の発明では、シングルポートＲＡＭのアドレス入力端子にその出力が接続された選択回路の一方の入力端子に対して、発行した読み出し信号で指定された期間、読み出しカウンタによって、所定のクロックをカウントして、読み出しアドレスを生成して供給し、前記選択回路の他方の入力端子に対して、発行した書き込み信号で指定された期間、前記読み出し信号が同時発生しないことを条件として、書き込みカウンタによって、所定のクロックをカウントして、書き込みアドレスを生成して供給するシングルポートＲＡＭ用制御回路であって、外部から供給された書き込み信号と読み出し信号との同時発生を検出するとともに、前記同時発生を検出した場合に、外部から供給された読み出し信号を優先的に前記読み出しカウンタに出力するとともに、外部から供給された書き込み信号を前記読み出し信号の発生がなくなるまで遅延させるとともに、前記読み出し信号の発生がなくなった後に、前記遅延させた書き込み信号を前記書き込みカウンタに出力する制御回路を具備することを特徴とする。
また、請求項３記載の発明では、請求項１または２記載の発明において、前記シングルポートＲＡＭ用制御回路の状態を監視する監視手段を備え、前記制御回路は、前記監視手段によるシングルポートＲＡＭ用制御回路の状態に応じて、前記書き込み信号および前記読み出し信号を発行するか否かを決定する。
【００１１】
この発明によれば、書き込み信号と読み出し信号とが同時発生したことが検出手段によって検出されると、発行手段は、前記書き込み信号と前記読み出し信号のいずれか一方を優先的に発行した後、前記書き込み信号と読み出し信号のうち他方を発行する。したがって、優先信号を書き込み信号（ＰＵＳＨ信号）、非優先信号を読み出し信号（ＰＯＰ信号）とした場合、書き込み信号および読み出し信号が同時発行されても、自動的に優先順位を与えることが可能となり、どちらの命令も実行することが可能となる。
【００１２】
【発明の実施の形態】
次に図面を参照してこの発明の実施形態について説明する。
【００１３】
Ａ．第１実施形態
Ａ−１．第１実施形態の構成
図１は本発明の第１実施形態によるシングルポートＲＡＭを使用したＦＩＦＯおよび該ＦＩＦＯに対するデータの書き込みおよび読み出しを制御する制御回路の構成を示すブロック図である。なお、図５に対応する部分には同一の符号を付けて説明を省略する。図において、５は、制御回路であり、ＯＲ回路５ａ、ＡＮＤ回路５ｂ、ディレイ回路５ｃおよびＡＮＤ回路５ｄから構成されている。ＯＲ回路５ａは、一方の入力端にＰＯＰ信号が入力されており、他方の入力端に後述するディレイ回路５ｃの出力が入力されており、論理和をとって、ＡＮＤ回路５ｂの一方の入力端およびＡＮＤ回路５ｄの一方の入力端に供給する。
【００１４】
ＡＮＤ回路５ｂは、ＰＵＳＨ信号と上記ＯＲ回路５ａの出力との論理積をとり、ディレイ回路５ｃとＡＮＤ回路５ｄの他方の入力端に供給する。ディレイ回路５ｃは、ＡＮＤ回路５ｂの出力を１クロック分遅延して上記ＯＲ回路５ａの他方の入力端に供給する。また、ＡＮＤ回路５ｄは、上記ＯＲ回路５ａの出力とＡＮＤ回路５ｂの出力を反転した値との論理積をとり、ＰＯＰカウンタ２のチップセレクト端子ＣＥに供給する。
【００１５】
また、６は、ラッチ回路６ａ，６ｂから構成されている保持回路であり、ＰＯＰ信号が発生したタイミングに同期して新しいデータを出力するために設けている。後述するように、この実施形態では、ＰＵＳＨ信号とＰＯＰ信号とが競合した場合、ＰＵＳＨ動作を優先してＰＯＰ動作をその間待機させる構成としているので、所望のＰＯＰタイミングとは異なるタイミングでＰＯＰ動作が行われることになるが、それを所望のＰＯＰタイミングに合わせるためにラッチ回路６ａ、６ｂが設けられている。
【００１６】
Ａ−２．第１実施形態の動作
次に、上述した第１実施形態による動作について説明する。ここで、図２は、制御回路５の動作を説明するための回路図であり、図３は、その動作を説明するためのタイミングチャートである。ＰＵＳＨ信号とＰＯＰ信号が同時に発行されると（Ｔ１）、まず、ＯＲ回路５ａの出力Ｍが「１」となる。これより、ＡＮＤ回路５ｂの両入力端が「１」となるので、その出力Ｎも「１」となる。ＡＮＤ回路５ｄでは、ＯＲ回路５ａの出力Ｍ（「１」）とＡＮＤ回路５ｂの出力Ｎの反転（「０」）との論理積をとるので、その出力Ｚは、「０」となる。したがって、ＰＯＰカウンタ２は更新されず（データの読み出しも行われず）、同時に発行されたＰＵＳＨ信号に基づきデータが書き込まれるとともに、ＰＵＳＨカウンタ１が更新される。
【００１７】
ＰＯＰ信号は、次のサイクルＴ２で「０」となるが、ディレイ回路５ｃによってＡＮＤ回路５ｂの出力Ｎが遅延されて、ＯＲ回路５ａに供給されるので、該ＯＲ回路５ａの出力Ｍは、サイクルＴ２においても「１」となる。また、ＡＮＤ回路５ｂにおいても、ＰＵＳＨ信号が「１」で、上記ＯＲ回路５ａの出力Ｍが「１」であるので、その出力Ｎは「１」となる。したがって、ＡＮＤ回路５ｄの出力Ｚは、「０」となる。すなわち、ＰＵＳＨ信号はＴ１からＴ２にかけて連続して供給されているので、待機していたＰＯＰ動作はさらに待たされることになる。
【００１８】
ＰＵＳＨ信号は、次のサイクルＴ３で「０」となる。このとき、ＯＲ回路５ａには、上述したように、ディレイ回路５ｃによって、サイクルＴ２におけるＡＮＤ回路５ｂの出力Ｎが遅延されて供給されるので、その出力Ｍは「１」のままとなる。そして、ＰＵＳＨ信号が「０」となるので、ＡＮＤ回路５ｂの出力Ｎは「０」となる。したがって、ＡＮＤ回路５ｄの出力Ｚは、「１」となる。すなわち、このサイクルＴ３で待機していたＰＯＰ動作が行われることになる。
【００１９】
そして、次のサイクルＴ４では、ＡＮＤ回路５ｂの出力ＮがサイクルＴ３で「０」となっているので、ＡＮＤ回路５ｄの出力Ｚは、「０」となる。
【００２０】
上述したように、制御回路５では、ＰＵＳＨ信号とＰＯＰ信号が同時に発行されると、ＰＵＳＨ信号が終了してから、ＰＯＰ信号に相当する信号がＰＯＰカウンタ２のチップセレクタＣＥに供給される。したがって、ＰＵＳＨ信号、ＰＯＰ信号が同時に発行されても、自動的にＰＵＳＨ信号を優先することができ、その後、ＰＯＰ信号を有効とすることができる。なお、ＰＯＰ信号を非優先信号Ａ、ＰＵＳＨ信号を優先信号Ｂとすると、出力Ｚは、優先信号Ｂの終了後に発行されるように制御された、非優先信号Ａと言える。なお、優先信号Ｂをｂｕｓｙ信号（またはｗａｉｔ信号）と置き換えてもよい。
【００２１】
Ｂ．第２実施形態
Ｂ−１．第２実施形態の構成
次に、本発明の第２実施形態について説明する。第１実施形態ではＰＵＳＨ信号とＰＯＰ信号が同時に発行された場合、機械的にＰＵＳＨ信号を優先してＰＯＰ信号を待機させる構成としているので、データが満杯になりやすい構成といえる。そこで、本第２実施形態では、一義的にＰＵＳＨ信号を優先とするのではなく、ＦＩＦＯステータス（ＦＵＬＬとか、ＥＭＰＴＹ）の状態を加味している。なお、ＦＵＬＬとはデータが満杯でこれ以上書き込むことができない状態である（あるいはほぼ満杯である状態も含むようにしてもよい）。また、ＥＭＰＴＹとはデータが空の状態である。ここで、図４は、第２実施形態によるシングルポートＲＡＭを使用したＦＩＦＯおよび該ＦＩＦＯに対するデータの書き込みおよび読み出しを制御する制御回路の構成を示すブロック図である。なお、図１に対応する部分には同一の符号を付けて説明を省略する。
【００２２】
図において、ＡＮＤ回路７は、ＰＵＳＨ信号とＦＵＬＬ信号の反転信号との論理積をとり、制御回路５のＡＮＤ回路５ｂと、ＰＵＳＨカウンタ１のチップセレクト端子ＣＥに供給する。したがって、ＦＵＬＬ信号が「１」となると、ＰＵＳＨ信号は無効となる。次に、ＡＮＤ回路８は、制御回路５の出力であるＰＯＰ信号とＥＭＰＴＹ信号の反転信号との論理積をとり、ＰＯＰカウンタ２のチップセレクト端子ＣＥに供給する。したがって、ＥＭＰＴＹ信号が「１」となると、制御回路の出力であるＰＯＰ信号は無効となる。ＦＩＦＯ状態監視部９は、上記ＡＮＤ回路７の出力と上記ＡＮＤ回路の出力とを監視し、ＦＵＬＬ信号またはＥＭＰＴＹ信号を出力する。
【００２３】
Ｂ−２．第２実施形態の動作
次に、上述した第１実施形態による動作について説明する。通常の状態のとき（ＦＵＬＬ信号またはＥＭＰＴＹ信号がないとき）、ＰＵＳＨ信号およびＰＯＰ信号が同時に発行されると、前述した第１実施形態と同様に、ＰＵＳＨ信号が優先され、該ＰＵＳＨ信号の終了後、ＰＯＰ信号が有効となる。
【００２４】
一方、ＦＵＬＬの状態のとき、ＰＵＳＨ信号およびＰＯＰ信号が同時に発行されると、ＡＮＤ回路７においてＰＵＳＨ信号が無効となるので、第１実施形態のようにＰＯＰ動作が待機させられることがない。言い換えると、ＦＵＬＬの状態とは、データがこれ以上記憶できないという状態であるので、データを読み出すＰＯＰ信号のみを有効とし、データを書き込むＰＵＳＨ信号を無効とするわけである。
【００２５】
なお、ＥＭＰＴＹの状態のときは、ＰＵＳＨ信号およびＰＯＰ信号が同時に発行される場合は勿論のこと、ＰＯＰ信号が単独で発生した場合においても、ＡＮＤ回路８において制御回路５から出力されるＰＯＰ信号が無効となるので、ＰＵＳＨ信号のみが有効となる。言い換えると、ＥＭＰＴＹの状態とは、読み出すデータがないという状態であるので、データを書き込むＰＵＳＨ信号のみを有効とし、データを読み出すＰＯＰ信号を無効とするわけである。
【００２６】
このように、第２実施形態では、通常の状態のときにＰＵＳＨ信号とＰＯＰ信号が同時に発行されると、ＰＵＳＨ信号が終了してから、ＰＯＰ信号が有効となる。但し、ＦＵＬＬ状態のときに限ってＰＵＳＨ信号とＰＯＰ信号が同時に発行されても、ＰＵＳＨ信号が有効となることはない。したがって、ＦＩＦＯステータス（ＦＵＬＬまたはＥＭＰＴＹ）の状態に応じて、ＰＵＳＨ信号またはＰＯＰ信号の発行を制限でき、ＰＯＰ信号が待機させられる頻度を少なくすることができる。
【００２７】
なお、上述した第２実施形態において、第１実施形態と同様に、「原則、ＰＯＰ信号を優先とし、ＥＭＰＴＹ状態のときはＰＵＳＨ信号有効」とするようにしてもよい。
【００２８】
【発明の効果】
以上、説明したように、この発明によれば、書き込み信号と読み出し信号とが同時発生したことが検出手段によって検出された場合、発行手段によって、前記書き込み信号と前記読み出し信号のいずれか一方を優先的に発行した後、前記書き込み信号と読み出し信号のうち他方を発行するようにしたので、優先信号を書き込み信号（ＰＵＳＨ信号）、非優先信号を読み出し信号（ＰＯＰ信号）とした場合、書き込み信号および読み出し信号が同時発行されても、自動的に優先順位を与えることができ、どちらの命令も実行できるいう利点が得られる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態によるＦＩＦＯおよび該ＦＩＦＯに対するデータの書き込みおよび読み出しを制御するデジタル制御回路の構成を示すブロック図である。
【図２】  デジタル制御回路５の動作を説明するための回路図である。
【図３】  デジタル制御回路５の動作を説明するためのタイミングチャートである。
【図４】  本発明の第２実施形態によるＦＩＦＯおよび該ＦＩＦＯに対するデータの書き込みおよび読み出しを制御するデジタル制御回路の構成を示すブロック図である。
【図５】  シングルポートＲＡＭを用いて構成した従来のＦＩＦＯの構成を示すブロック図である。
【符号の説明】
４  シングルポートＲＡＭ
５  デジタル制御回路（検出手段、発行手段）
６  保持回路
７  ＡＮＤ回路
８  ＡＮＤ回路
９  ＦＩＦＯ状態監視部（監視手段）
【図１】
0004232914.tif 000002
【図２】
0004232914.tif 000003
【図３】
0004232914.tif 000004
【図４】
0004232914.tif 000005
【図５】
0004232914.tif 000006