JP3815948B2 - Fifoメモリ制御回路 - Google Patents

Fifoメモリ制御回路 Download PDF

Info

Publication number
JP3815948B2
JP3815948B2 JP2000120041A JP2000120041A JP3815948B2 JP 3815948 B2 JP3815948 B2 JP 3815948B2 JP 2000120041 A JP2000120041 A JP 2000120041A JP 2000120041 A JP2000120041 A JP 2000120041A JP 3815948 B2 JP3815948 B2 JP 3815948B2
Authority
JP
Japan
Prior art keywords
read
clock
write
enable signal
count
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000120041A
Other languages
English (en)
Other versions
JP2001307476A (ja
Inventor
高 山田
幸司 堀川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2000120041A priority Critical patent/JP3815948B2/ja
Priority to US09/802,694 priority patent/US6470439B2/en
Publication of JP2001307476A publication Critical patent/JP2001307476A/ja
Application granted granted Critical
Publication of JP3815948B2 publication Critical patent/JP3815948B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/123Contention resolution, i.e. resolving conflicts between simultaneous read and write operations

Description

【0001】
【発明の属する技術分野】
本発明は、各種の電子機器に搭載されるFIFO(First In First Out)メモリ制御回路に関し、特に、書き込みクロックと読み出しクロックの周波数が異なり、どちらのクロック周波数が高いかが既知である場合に、非同期読み書き制御が可能なFIFOメモリ制御回路に関する。
【0002】
【従来の技術】
図11に、従来のFIFOメモリ制御回路の構成を示す。このFIFOメモリ制御回路は、メモリ101、書き込み制御部102、読み出し制御部103、書き込みアドレス回路104、読み出しアドレス回路105およびFull−Empty(フル−エンプティ)制御回路106を備えている。
【0003】
メモリ101は、同時に読み書き可能なデュアルポートRAM(RandomAccess Memory)からなり、aワードの記憶容量を有する。このメモリ101は、書き込み許可信号(WE)がアサートされているときに、書き込みデータ(WDATA)が1ワードずつ、書き込みクロック(WCLK)のタイミングで、書き込みアドレス(WADR)の指定した番地に書き込まれる。また、読み出し許可信号(RE)がアサートされているときに、読み出しデータ(RDATA)が1ワードずつ、読み出しクロック(RCLK)のタイミングで、読み出しアドレス(RADR)の指定した番地から読み出される。ここで、書き込み許可信号(WE)は後述する書き込み制御部102から出力される信号であり、読み出し許可信号(RE)は後述する読み出し制御部103から出力される信号である。
【0004】
書き込みアドレス回路104には、書き込みクロック(WCLK)と書き込み許可信号(WE)が接続されている。そして、書き込み許可信号(WE)がアサートされているときに、書き込みクロック(WCLK)のタイミングで、書き込みアドレス(WADR)を1つずインクリメントする。
【0005】
読み出しアドレス回路105には、読み出しクロック(RCLK)と読み出し許可信号(RE)が接続されている。そして、読み出し許可信号(RE)がアサートされているときに、読み出しクロック(RCLK)のタイミングで、読み出しアドレス(RADR)を1つずインクリメントする。
【0006】
Full−Empty制御回路106は、書き込み済みのデータ数と読み出し済みのデータ数の差から有効データ数を求めて、書き込みや読み出しのための制御信号を生成するものであり、アップダウンカウンタ107と信号発生器108から構成されている。なお、有効データ数とは、メモリ101に保持されているデータのうち、また読み出されていないデータの数を示す。
【0007】
アップダウンカウンタ107には、書き込み許可信号(WE)がカウントアップ動作を許可するカウントアップイネーブル信号(UPEN)として接続され、読み出し許可信号(RE)がカウントダウン動作を許可するカウントダウンイネーブル信号(DNEN)として接続されている。そして、いずれかのイネーブル信号がアサートされているときに、書き込みクロック(WCLK)のタイミングでカウント動作を行う。このアップダウンカウンタ107のカウント値(CNT)は、有効データ数に相当し、信号発生器108へ出力される。
【0008】
信号発生器108には、アップダウンカウンタ107から出力されるカウント値(CNT)が接続されている。そして、カウント値(CNT)が0まで減少したときに、メモリ101から読み出すべきデータが無いことを示すエンプティ信号(EMP)を読み出し制御部103へ出力する。また、カウント値(CNT)がメモリ101に格納可能なワード数aに達したときに、メモリ101に新規データを書き込むための空き容量が無いことを示すフル信号(FLL)を書き込み制御部102に出力する。
【0009】
書き込み制御部102には、フル信号(FLL)が接続されており、フル信号(FLL)がアサートされているときには、メモリ101へのデータの書き込みを禁止して、データの上書きによるデータ消失を防止している。
【0010】
読み出し制御部103には、エンプティ信号(EMP)が接続されており、エンプティ信号(EMP)がアサートされているときには、メモリ101からのデータの読み出しを禁止して、同一データの2度読みを防止している。
【0011】
図12は、アップダウンカウンタ107を読み出しクロック(RCLK)のタイミングでカウント動作させる場合の構成を示す図である。このFIFOメモリ制御回路は、図11に示した従来のFIFOメモリ制御回路と同様の構成であるので、説明を省略する。
【0012】
【発明が解決しようとする課題】
上述の図11に示した従来のFIFOメモリ制御回路において、書き込みクロック(WCLK)と読み出しクロック(RCLK)が同一周波数である場合には、アップダウンカウンタは書き込み許可信号(WE)をカウントアップ動作を許可するカウントアップイネーブル信号とし、読み出し許可信号(RE)をカウントダウン動作を許可するカウントダウンイネーブル信号として、いずれかのイネーブル信号がアサートされているときに、書き込みクロック(WCLK)のタイミングでカウント動作を行う。また、図12に示した従来のFIFOメモリ制御回路において、書き込みクロック(WCLK)と読み出しクロック(RCLK)が同一周波数である場合には、アップダウンカウンタは書き込み許可信号(WE)をカウントアップ動作を許可するカウントアップイネーブル信号とし、読み出し許可信号(RE)をカウントダウン動作を許可するカウントダウンイネーブル信号として、いずれかのイネーブル信号がアサートされているときに、読み出しクロック(RCLK)のタイミングでカウント動作を行う。
【0013】
しかしながら、これら従来のFIFOメモリ制御回路においては、書き込みクロック(WCLK)と読み出しクロック(RCLK)が異なる周波数である場合には、正確なカウント動作を行うことができない。
【0014】
例えば、図11に示したFIFOメモリ制御回路では、書き込みクロック(WCLK)のタイミングでカウント動作する。この場合、書き込みクロック(WCLK)が読み出しクロック(RCLK)よりも周波数が高いときには、図13に示すように、カウントダウンイネーブル信号(=RE)がアサートされる期間が、1回の読み出しについて書き込みクロック(WCLK)の1周期より長いため、実際には1つのデータしか読み出されていないのに、カウント値が2つ以上デクリメントされるおそれがある。
【0015】
一方、図12に示したFIFOメモリ制御回路では、読み出しクロック(RCLK)のタイミングでカウント動作する。この場合、書き込みクロック(WCLK)が読み出しクロック(RCLK)よりも周波数が高いときには、図14に示すように、実際にはデータが書き込まれているのにカウント値がインクリメントされないという問題が生じる。
【0016】
さらに、読み出しクロック(RCLK)が書き込みクロック(WCLK)よりも周波数が高いときには、図11に示したFIFOメモリ制御回路で、データが読み出されているのにも関わらずカウント値がデクリメントされないという問題が生じ、図12に示したFIFOメモリ制御回路で、1つのデータしか書き込まれていないのに、カウント値が2つ以上インクリメントされるおそれがある。
【0017】
本発明は、このような従来技術の課題を解決すべくなされたものであり、読み出しクロックと書き込みクロックの周波数が異なる場合に、データの上書きによるデータの消失や同一データの2度読みを防止するために、メモリ内の有効データ数を正しくカウントすることができるFIFOメモリ制御回路を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明のFIFOメモリ制御回路は、書き込みクロックの周波数が読み出しクロックの周波数よりも高い場合に用いられるFIFOメモリ制御回路であって、書き込みアドレスを発生する書き込みアドレス発生回路と、読み出しアドレスを発生する読み出しアドレス発生回路と、所定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、該読み出しアドレスの最下位ビットと該書き込みクロックに基づいて、カウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路と、カウントアップイネーブル信号として該書き込み許可信号がアサートされているときに、該書き込みクロックに同期してカウントアップし、該カウントダウンイネーブル信号がアサートされているときに、該書き込みクロックに同期してカウントダウンするアップダウンカウンタとを備え、該カウントダウンイネーブル信号生成回路は、該読み出しアドレスの最下位ビットの値を該書き込みクロックのタイミングで取り込んで出力する第1フリップフロップと、該第1フリップフロップからのデータ出力を該書き込みクロックのタイミングで取り込んで出力する第2フリップフロップと、該第1フリップフロップのデータ出力と該第2フリップフロップのデータ出力の排他的論理和をとって該カウントダウンイネーブル信号として出力する第1排他的論理和手段とを有しており、そのことにより上記目的が達成される。
【0019】
前記カウントダウンイネーブル信号の周期は、前記書き込みクロックの1周期分であればよい。
【0020】
本発明のFIFOメモリ制御回路は、読み出しクロックの周波数が書き込みクロックの周波数よりも高い場合に用いられるFIFOメモリ制御回路であって、書き込みアドレスを発生する書き込みアドレス発生回路と、読み出しアドレスを発生する読み出しアドレス発生回路と、所定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、該書き込みアドレスの最下位ビットと該読み出しクロックに基づいて、カウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路と、該カウントアップイネーブル信号がアサートされているときに、該読み出しクロックに同期してカウントアップし、カウントダウンイネーブル信号として該読み出し許可信号がアサートされているときに、該読み出しクロックに同期してカウントダウンするアップダウンカウンタとを備え、該カウントアップイネーブル信号生成回路は、該書き込みアドレスの最下位ビットの値を該読み出しクロックのタイミングで取り込んで出力する第3フリップフロップと、該第3フリップフロップからのデータ出力を該読み出しクロックのタイミングで取り込んで出力する第4フリップフロップと、該第3フリップフロップのデータ出力と該第4フリップフロップのデータ出力の排他的論理和をとって該カウントアップイネーブル信号として出力する第2排他的論理和手段とを有しており、そのことにより上記目的が達成される。
【0021】
前記カウントアップイネーブル信号の周期は、前記読み出しクロックの1周期分であればよい。
【0022】
本発明のFIFOメモリ制御回路は、書き込みクロックの周波数と読み出しクロックの周波数とが異なる場合に用いられるFIFOメモリ制御回路であって、書き込みアドレスを発生する書き込みアドレス発生回路と、読み出しアドレスを発生する読み出しアドレス発生回路と、所定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、該読み出しアドレスの最下位ビットと、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックとに基づいて、カウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路と、該書き込みアドレスの最下位ビットと、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックとに基づいて、カウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路と、該カウントアップイネーブル信号がアサートされているときに、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックに同期してカウントアップし、該カウントダウンイネーブル信号がアサートされているときに、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックに同期してカウントダウンするアップダウンカウンタとを備え、該カウントダウンイネーブル信号生成回路は、該読み出しアドレスの最下位ビットの値を該書き込みクロックのタイミングで取り込んで出力する第1フリップフロップと、該第1フリップフロップからのデータ出力を該書き込みクロックのタイミングで取り込んで出力する第2フリップフロップと、該第1フリップフロップのデータ出力と該第2フリップフロップのデータ出力の排他的論理和をとって該カウントダウンイネーブル信号として出力する第1排他的論理和手段とを有し、該カウントアップイネーブル信号生成回路は、該書き込みアドレスの最下位ビットの値を該読み出しクロックのタイミングで取り込んで出力する第3フリップフロップと、該第3フリップフロップからのデータ出力を該読み出しクロックのタイミングで取り込んで出力する第4フリップフロップと、該第3フリップフロップのデータ出力と該第4フリップフロップのデータ出力の排他的論理和をとって該カウントアップイネーブル信号として出力する第2排他的論理和手段とを有しており、そのことにより上記目的が達成される。
【0023】
前記カウントダウンイネーブル信号の周期は、前記書き込みクロックおよび前記読み出しクロックのうちの周波数が高い方のクロックの1周期分であればよく、前記カウントアップイネーブル信号の周期は、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックの1周期分であればよい。
【0024】
本発明のFIFOメモリ制御回路は、前記アップダウンカウンタのカウント値が0のときに、前記メモリから読み出すべきデータが無いことを示すエンプティ信号を出力し、該アップダウンカウンタのカウント値が該メモリに格納可能な所定のワード数であるときに、該メモリに新規データを書き込むための空き容量が無いことを示すフル信号を出力するメモリ監視部をさらに備えている構成とすることができる。
【0025】
本発明のFIFOメモリ制御回路は、前記フル信号に基づいて、前記メモリへの書き込みデータの書き込みを制御する書き込み制御回路と、前記エンプティ信号に基づいて、該メモリからの読み出しデータの読み出しを制御する読み出し制御回路とを備えている構成とすることができる。
【0026】
以下、本発明の作用について説明する。
【0027】
本発明にあっては、後述する実施形態1に示すように、書き込みクロック(WCLK)の周波数が読み出しクロック(RCLK)の周波数よりも高い場合に、カウントダウンイネーブル信号生成回路が、読み出しアドレス(RADR)の最下位ビット(RADR0)と書き込みクロック(WCLK)に基づいてカウントダウンイネーブル信号(DNEN)を生成する。これにより、カウントダウンイネーブル信号(DNEN)を、データの読み出しが1回行われる毎に、書き込みクロック(WCLK)のタイミングに同期させてアップダウンカウンタにアサートすることができる。
【0028】
アップダウンカウンタは、このカウントダウンイネーブル信号(DNEN)がアサートされているときに、書き込みクロック(WCLK)に同期してカウントダウンするので、データの読み出しが1回行われる毎にカウント値(CNT)を1回デクリメントすることが可能である。アップダウンカウンタは、書き込み許可信号(WE)がアサートされているときには、これをカウントアップイネーブル信号(UPEN)として書き込みクロック(WCLK)に同期してカウントアップするので、データの書き込みが1回行われる毎にカウント値(CNT)を1回インクリメントすることが可能である。
【0029】
このカウントダウンイネーブル信号(DNEN)の周期は、書き込みクロック(WCLK)の1周期分であればよい。
【0030】
本発明にあっては、後述する実施形態2に示すように、読み出しクロック(RCLK)の周波数が書き込みクロック(WCLK)の周波数よりも高い場合に、カウントアップイネーブル信号生成回路が、書き込みアドレス(WADR)の最下位ビット(WADR0)と読み出しクロック(RCLK)に基づいてカウントアップイネーブル信号(UPEN)を生成する。これにより、カウントアップイネーブル信号(UPEN)を、データの書き込みが1回行われる毎に、読み出しクロック(RCLK)のタイミングに同期させてアップダウンカウンタにアサートすることができる。アップダウンカウンタは、このカウントアップイネーブル信号(UPEN)がアサートされているときに、読み出しクロック(RCLK)に同期してカウントアップするので、データの書き込みが1回行われる毎にカウント値(CNT)を1回インクリメントすることが可能である。アップダウンカウンタは、読み出し許可信号(RE)がアサートされているときには、これをカウントダウンイネーブル信号(DNEN)として読み出しクロック(RCLK)に同期してカウントダウンするので、データの読み出しが1回行われる毎にカウント値(CNT)を1回デクリメントすることが可能である。
【0031】
このカウントアップイネーブル信号(UPEN)の周期は、読み出しクロック(RCLK)の1周期分であればよい。
【0032】
本発明にあっては、後述する実施形態3に示すように、書き込みクロック(WCLK)の周波数と読み出しクロック(RCLK)の周波数とが異なる場合に、カウントダウンイネーブル信号生成回路が、読み出しアドレス(RADR)の最下位ビット(RADR0)と、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックとに基づいて、カウントダウンイネーブル信号(DNEN)を生成する。これにより、カウントダウンイネーブル信号(DNEN)を、データの読み出しが1回行われる毎に、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックのタイミングに同期させてアップダウンカウンタにアサートすることができる。また、カウントアップイネーブル信号生成回路は、書き込みアドレス(WADR)の最下位ビット(WADR0)と、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックとに基づいて、カウントアップイネーブル信号(UPEN)を生成する。これにより、カウントアップイネーブル信号(UPEN)を、データの書き込みが1回行われる毎に、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックのタイミングに同期させてアップダウンカウンタにアサートすることができる。アップダウンカウンタは、このカウントダウンイネーブル信号(DNEN)がアサートされているときに、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックに同期してカウントダウンするので、データの読み出しが1回行われる毎にカウント値(CNT)を1回デクリメントすることが可能である。また、アップダウンカウンタは、カウントアップイネーブル信号(DNEN)がアサートされているときに、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックに同期してカウントアップするので、データの書き込みが1回行われる毎にカウント値(CNT)を1回インクリメントすることが可能である。
【0033】
このカウントダウンイネーブル信号(DNEN)の周期およびカウントアップイネーブル信号(UPEN)の周期は、書き込みクロック(WCLK)および読み出しクロック(RCLK)のうちの周波数が高い方のクロックの1周期分であればよい。
【0034】
アップダウンカウンタのカウント値(CNT)が0のときには、メモリ監視部から出力されたエンプティ信号(EMP)に基づいて、読み出し制御回路がメモリからの読み出しデータ(RDATA)の読み出しを制御する。また、アップダウンカウンタのカウント値(CNT)がメモリに格納可能な所定のワード数であるときには、メモリ監視部から出力されたフル信号(FLL)に基づいて、書き込み制御部がメモリへの書き込みデータ(WDATA)の書き込みを制御する。本発明にあっては、アップダウンカウンタがメモリ内の有効データ数を正しく計数しているので、同一データの2度読みやデータの上書きによるデータ消失を防止することが可能である。
【0035】
【発明の実施の形態】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【0036】
(実施形態1)
図1は実施形態1のFIFOメモリ制御回路の構成を示すブロック図である。
【0037】
このFIFOメモリ制御回路は、メモリ10、書き込み制御部11、読み出し制御部12、書き込みアドレス回路13、読み出しアドレス回路14、アップダウンカウンタ15、メモリ容量監視部16およびカウントダウンイネーブル信号生成回路17を備えている。
【0038】
メモリ10、書き込み制御部11、読み出し制御部12、書き込みアドレス回路13および読み出しアドレス回路14は、図11に示した従来のFIFOメモリ制御回路におけるメモリ101、書き込み制御部102、読み出し制御部103、書き込みアドレス回路104および読み出しアドレス回路105と同一の構成であるので、説明を省略する。なお、本実施形態1では、メモリ10が5ワードの記憶容量を有し、書き込みクロック(WCLK)の周波数が読み出しクロック(RCLK)よりも高いものとする。
【0039】
アップダウンカウンタ15には、カウントアップ動作を許可するカウントアップイネーブル信号(UPEN)として、書き込み制御部11から出力される書き込み許可信号(WE)が接続され、カウントダウンイネーブル信号生成回路17によって生成されたカウントダウン動作を許可するカウントダウンイネーブル信号(DNEN)が接続されている。さらに、カウントクロック(FASTCLK)として読み出しクロック(RCLK)よりも周波数の高い書き込みクロック(WCLK)が接続されている。これらの信号に基づいて、カウントアップイネーブル信号(UPEN)がアサートされているときに、書き込み動作が1回行われる毎に書き込みクロック(WCLK)のタイミングで1つインクリメントし、カウントダウンイネーブル信号(DNEN)がアサートされているときに、読み出し動作が1回行われる毎に書き込みクロック(WCLK)のタイミングで1つデクリメントする。このアップダウンカウンタ15のカウント値(CNT)は、有効データ数としてメモリ容量監視部16に出力される。
【0040】
以下に、アップダウンカウンタ15のカウントダウン動作について、図2および図3を用いて具体的に説明する。図2はカウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路17の一例を示す回路図であり、図3は図2に示すカウントダウンイネーブル信号生成回路各部の信号およびアップダウンカウンタ各部の信号を示すタイムチャートである。
【0041】
まず、読み出しアドレス(RADR)の最下位ビットの値(RADR0)は、図3の(B)に示すように、読み出しアドレスが変化する毎に0、1の順番で繰り返し変化する信号である。読み出しアドレスは、図3の(F)に示す読み出し許可信号(RE)がアサートされているときに、図3の(A)に示す読み出しクロック(RCLK)のタイミングで読み出され、次の読み出しアドレスに変化する。
【0042】
次に、図2に示すカウントダウンイネーブル信号生成回路は、2つのフリップフロップ201、202とEX−OR203とで構成されている。フリップフロップ201は、図3の(C)に示すように、図3の(B)に示す読み出しアドレスの最下位ビットの値(RADR0)を、図3の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。フリップフロップ202は、図3の(D)に示すように、図3の(C)に示すフリップフロップ201の出力を、図3の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。EX−OR203は、図3の(E)に示すように、図3の(C)に示すフリップフロップ201の出力と、図3の(D)に示すフリップフロップ202の出力とを排他的論理和したものを、カウントダウンイネーブル信号(DNEN)として出力する。これにより、カウントダウンイネーブル信号(DNEN)は、書き込みクロック(WCLK)に同期し、かつ、読み出しが1回行われる毎に書き込みクロック(WCLK)の1周期分の時間だけ、アップダウンカウンタ15にアサートされる。よって、アップダウンカウンタ15は、読み出しが1回行われる毎にカウント値(CNT)を1回デクリメントすることができる。なお、図3の(H)は、カウントアップイネーブル信号(UPNE)としても用いられる書き込み許可信号(WE)であり、図3の(I)はアップダウンカウンタの出力である。
【0043】
上記図3において、(E)信号は(G)信号の立ち上がりエッジから生成されるため、(E)信号がアサートされるまでに時間的な遅れがある。よって、実際にカウント動作が行われるのは(G)信号の次の立ち上がりエッジであることを示すため、本実施形態では意図的に(G)信号と(E)信号の変化するタイミングをずらしている。(E)信号と(G)信号とが同時に変化した場合、(G)信号のどちらの立ち上がりエッジでカウント動作が行われるのかが分からなくなるおそれがあるからである。このことは、以下の実施形態2および実施形態3でも同様に考慮している。
【0044】
メモリ容量監視部16には、アップダウンカウンタ15から出力されるカウント値(CNT)が接続されている。そして、カウント値(CNT)が0であれば、メモリ10から読み出すべきデータが無いことを示すエンプティ信号(EMP)を読み出し制御部12へ出力する。また、カウント値(CNT)がメモリ10に格納可能なワード数(ここでは5)に達したときに、メモリ10に新規データを書き込むための空き容量が無いことを示すフル信号(FLL)を書き込み制御部11に出力する。
【0045】
以上の構成により、メモリ内の有効データ数を正しく計数することができる。よって、書き込み制御部11にフル信号(FLL)がアサートされているときにメモリ10へのデータの書き込みを禁止して、データの上書きによるデータ消失を防止すると共に、読み出し制御部12にエンプティ信号(EMP)がアサートされているときにメモリ10からのデータの読み出しを禁止して同一データの2度読みを防止することができる。
【0046】
(実施形態2)
図4は実施形態2のFIFOメモリ制御回路の構成を示すブロック図である。
【0047】
このFIFOメモリ制御回路は、メモリ20、書き込み制御部21、読み出し制御部22、書き込みアドレス回路23、読み出しアドレス回路24、アップダウンカウンタ25、メモリ容量監視部26およびカウントダウンイネーブル信号生成回路27を備えている。
【0048】
メモリ20、書き込み制御部21、読み出し制御部22、書き込みアドレス回路23および読み出しアドレス回路24は、図11に示した従来のFIFOメモリ制御回路におけるメモリ101、書き込み制御部102、読み出し制御部103、書き込みアドレス回路104および読み出しアドレス回路105と同一の構成であるので、説明を省略する。なお、本実施形態2では、メモリ20が5ワードの記憶容量を有し、読み出しクロック(RCLK)の周波数が書き込みクロック(2CLK)よりも高いものとする。
【0049】
アップダウンカウンタ25には、カウントダウン動作を許可するカウントダウンイネーブル信号(DNEN)として、読み出し制御部22から出力される読み出し許可信号(RE)が接続され、カウントアップイネーブル信号生成回路27によって生成されたカウントアップ動作を許可するカウントアップイネーブル信号(UPEN)が接続されている。さらに、カウントクロック(FASTCLK)として書き込みクロック(WCLK)よりも周波数の高い読み出しクロック(RCLK)が接続されている。これらの信号に基づいて、カウントアップイネーブル信号(UPEN)がアサートされているときに、書き込み動作が1回行われる毎に読み出しクロック(RCLK)のタイミングで1つインクリメントし、カウントダウンイネーブル信号(DNEN)がアサートされているときに、読み出し動作が1回行われる毎に読み出しクロック(RCLK)のタイミングで1つデクリメントする。このアップダウンカウンタ25のカウント値(CNT)は、有効データ数としてメモリ容量監視部26に出力される。
【0050】
以下に、アップダウンカウンタ25のカウントアップ動作について、図5および図6を用いて具体的に説明する。図5はカウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路27の一例を示す回路図であり、図6は図5に示すカウントアップイネーブル信号生成回路各部の信号およびアップダウンカウンタ各部の信号を示すタイムチャートである。
【0051】
まず、書き込みアドレス(WADR)の最下位ビットの値(WADR0)は、図6の(B)に示すように、書き込みアドレスが変化する毎に0、1の順番で繰り返し変化する信号である。書き込みアドレスは、図6の(F)に示す書き込み許可信号(WE)がアサートされているときに、図6の(A)に示す書き込みクロック(WCLK)のタイミングで書き込まれ、次の書き込みアドレスに変化する。
【0052】
次に、図5に示すカウントアップイネーブル信号生成回路は、2つのフリップフロップ301、302とEX−OR303とで構成されている。フリップフロップ301は、図6の(C)に示すように、図6の(B)に示す書き込みアドレスの最下位ビットの値(WADR0)を、図6の(G)に示す読み出しクロック(RCLK(FASTCLK))のタイミングで取り込み、出力する。フリップフロップ302は、図6の(D)に示すように、図6の(C)に示すフリップフロップ301の出力を、図6の(G)に示す読み出しクロック(RCLK(FASTCLK))のタイミングで取り込み、出力する。EX−OR303は、図6の(E)に示すように、図6の(C)に示すフリップフロップ301の出力と、図6の(D)に示すフリップフロップ302の出力とを排他的論理和したものを、カウントアップイネーブル信号(UPEN)として出力する。これにより、カウントアップイネーブル信号(UPEN)は、読み出しクロック(RCLK)に同期し、かつ、書き込みが1回行われる毎に読み出しクロック(RCLK)の1周期分の時間だけ、アップダウンカウンタ25にアサートされる。よって、アップダウンカウンタ25は、書き込みが1回行われる毎にカウント値(CNT)を1回インクリメントすることができる。なお、図6の(H)は、カウントダウンイネーブル信号(DNEN)としても用いられる読み出し許可信号(RE)であり、図6の(I)はアップダウンカウンタの出力である。
【0053】
メモリ容量監視部26には、アップダウンカウンタ25から出力されるカウント値(CNT)が接続されている。そして、カウント値(CNT)が0であれば、メモリ20から読み出すべきデータが無いことを示すエンプティ信号(EMP)を読み出し制御部22へ出力する。また、カウント値(CNT)がメモリ20に格納可能なワード数(ここでは5)に達したときに、メモリ20に新規データを書き込むための空き容量が無いことを示すフル信号(FLL)を書き込み制御部21に出力する。
【0054】
以上の構成により、メモリ内の有効データ数を正しく計数することができる。よって、書き込み制御部21にフル信号(FLL)がアサートされているときにメモリ20へのデータの書き込みを禁止して、データの上書きによるデータ消失を防止すると共に、読み出し制御部22にエンプティ信号(EMP)がアサートされているときにメモリ20からのデータの読み出しを禁止して同一データの2度読みを防止することができる。
【0055】
(実施形態3)
図7は実施形態3のFIFOメモリ制御回路の構成を示すブロック図である。
【0056】
このFIFOメモリ制御回路は、メモリ30、書き込み制御部31、読み出し制御部32、書き込みアドレス回路33、読み出しアドレス回路34、アップダウンカウンタ35、メモリ容量監視部36、カウントアップイネーブル信号生成回路37およびカウントダウンイネーブル信号生成回路38を備えている。
【0057】
メモリ30、書き込み制御部31、読み出し制御部32、書き込みアドレス回路33および読み出しアドレス回路34は、図11に示した従来のFIFOメモリ制御回路におけるメモリ101、書き込み制御部102、読み出し制御部103、書き込みアドレス回路104および読み出しアドレス回路105と同一の構成であるので、説明を省略する。なお、本実施形態3では、メモリ30が5ワードの記憶容量を有し、書き込みクロック(WCLK)の周波数が読み出しクロック(RCLK)よりも高いものとする。
【0058】
アップダウンカウンタ35には、カウントアップイネーブル信号生成回路37によって生成されたカウントアップ動作を許可するカウントアップイネーブル信号(UPEN)が接続され、カウントダウンイネーブル信号生成回路38によって生成されたカウントダウンを許可するカウントダウンイネーブル信号(DNEN)が接続されている。さらに、カウントクロック(FASTCLK)として読み出しクロック(RCLK)よりも周波数の高い書き込みクロック(WCLK)が接続されている。これらの信号に基づいて、カウントアップイネーブル信号(UPEN)がアサートされているときに、書き込み動作が1回行われる毎に書き込みクロック(WCLK)のタイミングで1つインクリメントし、カウントダウンイネーブル信号(DNEN)がアサートされているときに、読み出し動作が1回行われる毎に書き込みクロック(WCLK)のタイミングで1つデクリメントする。このアップダウンカウンタ35のカウント値(CNT)は、有効データ数としてメモリ容量監視部36に出力される。
【0059】
以下に、アップダウンカウンタ35のカウントダウン動作およびについて、図8、図9および図10を用いて具体的に説明する。図8はカウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路37の一例を示す回路図であり、図9はカウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路38の一例を示す回路図であり、図10は図8に示すカウントアップイネーブル信号生成回路各部の信号、図9に示すカウントダウンイネーブル信号生成回路各部の信号およびアップダウンカウンタ各部の信号を示すタイムチャートである。
【0060】
まず、書き込みアドレス(ADR)の最下位ビットの値(ADR0)は、図10の(H)に示すように、書き込みアドレスが変化する毎に0、1の順番で繰り返し変化する信号である。書き込みアドレスは、図10の(L)に示す書き込み許可信号(WE)がアサートされているときに、図10の(G)に示す書き込みクロック(RCLK(FASTCLK))のタイミングで書き込まれ、次の書き込みアドレスに変化する。また、読み出しアドレス(RADR)の最下位ビットの値(RADR0)は、図10の(B)に示すように、読み出しアドレスが変化する毎に0、1の順番で繰り返し変化する信号である。読み出しアドレスは、図10の(F)に示す読み出し許可信号(RE)がアサートされているときに、図10の(A)に示す読み出しクロック(RCLK)のタイミングで読み出さ
れ、次の読み出しアドレスに変化する。
【0061】
次に、図8に示すカウントアップイネーブル信号生成回路は、2つのフリップフロップ401、402とEX−OR403とで構成されている。フリップフロップ401は、図10の(I)に示すように、図10の(H)に示す書き込みアドレスの最下位ビットの値(WADR0)を、図10の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。フリップフロップ402は、図10の(J)に示すように、図10の(I)に示すフリップフロップ401の出力を、図10の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。EX−OR403は、図10の(K)に示すように、図10の(I)に示すフリップフロップ401の出力と、図10の(J)に示すフリップフロップ402の出力とを排他的論理和したものを、カウントアップイネーブル信号(UPEN)として出力する。これにより、カウントアップイネーブル信号(UPEN)は、書き込みクロック(WCLK)に同期し、かつ、書き込みが1回行われる毎に書き込みクロック(WCLK)の1周期分の時間だけ、アップダウンカウンタ35にアサートされる。よって、アップダウンカウンタ35は、書き込みが1回行われる毎にカウント値(CNT)を1回インクリメントすることができる。
【0062】
次に、図9に示すカウントダウンイネーブル信号生成回路は、2つのフリップフロップ501、502とEX−OR503とで構成されている。フリップフロップ501は、図9の(C)に示すように、図9の(B)に示す読み出しアドレスの最下位ビットの値(RADR0)を、図9の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。フリップフロップ502は、図9の(D)に示すように、図9の(C)に示すフリップフロップ501の出力を、図9の(G)に示す書き込みクロック(WCLK(FASTCLK))のタイミングで取り込み、出力する。EX−OR503は、図9の(E)に示すように、図9の(C)に示すフリップフロップ501の出力と、図9の(D)に示すフリップフロップ502の出力とを排他的論理和したものを、カウントダウンイネーブル信号(DNEN)として出力する。これにより、カウントダウンイネーブル信号(DNEN)は、書き込みクロック(WCLK)に同期し、かつ、読み出しが1回行われる毎に書き込みクロック(WCLK)の1周期分の時間だけ、アップダウンカウンタ35にアサートされる。よって、アップダウンカウンタ35は、読み出しが1回行われる毎にカウント値(CNT)を1回デクリメントすることができる。なお、図10の(M)は、アップダウンカウンタの出力である。
【0063】
メモリ容量監視部36には、アップダウンカウンタ35から出力されるカウント値(CNT)が接続されている。そして、カウント値(CNT)が0であれば、メモリ30から読み出すべきデータが無いことを示すエンプティ信号(EMP)を読み出し制御部32へ出力する。また、カウント値(CNT)がメモリ30に格納可能なワード数(ここでは5)に達したときに、メモリ30に新規データを書き込むための空き容量が無いことを示すフル信号(FLL)を書き込み制御部31に出力する。
【0064】
以上の構成により、メモリ内の有効データ数を正しく計数することができる。よって、書き込み制御部31にフル信号(FLL)がアサートされているときにメモリ30へのデータの書き込みを禁止して、データの上書きによるデータ消失を防止すると共に、読み出し制御部32にエンプティ信号(EMP)がアサートされているときにメモリ30からのデータの読み出しを禁止して同一データの2度読みを防止することができる。
【0065】
上記実施形態1〜実施形態3では、メモリ10、20、30の記憶容量を5ワードとしたが、本発明はこれに限定されるものではなく、任意の記憶容量に対して適応可能である。また、実施形態3では書き込みクロックの周波数が読み出しクロックの周波数よりも高いものとしたが、読み出しクロックの周波数の方が高い場合には、アップダウンカウンタ35に読み出しクロックを接続することにより本発明を適用可能であることは、容易に推測することができる。
【0066】
【発明の効果】
以上詳述したように、本発明によれば、読み出しクロックと書き込みクロックの周期が異なる場合に、アップダウンカウンタのカウント動作を許可する信号を、書き込みクロックと読み出しクロックの周波数が高い方のクロックに同期させ、かつ、1回の書き込みおよび読み出し毎に、周波数が高い方のクロックの1周期以上2周期未満分の時間だけアサートすることにより、メモリ内の有効データ数を正しく計数することができるFIFOメモリ制御回路を実現することができる。よって、メモリへのデータの上書きによるデータ消失を防止すると共に、メモリからの同一データの2度読みを防止することができる。
【図面の簡単な説明】
【図1】実施形態1のFIFOメモリ制御回路の構成を示すブロック図である。
【図2】実施形態1のFIFOメモリ制御回路におけるカウントダウンイネーブル信号生成回路の一例を示す回路図である。
【図3】実施形態1のFIFOメモリ制御回路における各部の信号を示すタイムチャートである。
【図4】実施形態2のFIFOメモリ制御回路の構成を示すブロック図である。
【図5】実施形態2のFIFOメモリ制御回路におけるカウントアップイネーブル信号生成回路の一例を示す回路図である。
【図6】実施形態2のFIFOメモリ制御回路における各部の信号を示すタイムチャートである。
【図7】実施形態3のFIFOメモリ制御回路の構成を示すブロック図である。
【図8】実施形態3のFIFOメモリ制御回路におけるカウントアップイネーブル信号生成回路の一例を示す回路図である。
【図9】実施形態3のFIFOメモリ制御回路におけるカウントダウンイネーブル信号生成回路の一例を示す回路図である。
【図10】実施形態3のFIFOメモリ制御回路における各部の信号を示すタイムチャートである。
【図11】従来のFIFOメモリ制御回路の構成を示すブロック図である。
【図12】従来のFIFOメモリ制御回路の構成を示すブロック図である。
【図13】従来のFIFOメモリ制御回路の問題点を説明するためのタイムチャートである。
【図14】従来のFIFOメモリ制御回路の問題点を説明するためのタイムチャートである。
【符号の説明】
10、20、30、101メモリ
11、21、31、102 書き込み制御部
12、22、32、103 読み出し制御部
13、23、33、104 書き込みアドレス回路
14、24、34、105 読み出しアドレス回路
15、25、35、107 アップダウンカウンタ
16、26、36 メモリ容量監視部
27、37 カウントアップイネーブル信号生成回路
17、38 カウントダウンイネーブル信号生成回路
108 信号発生器
106 Full−Empty制御回路
201、202、301、302、401、402、501、502 フリップフロップ
203、303、403、503 EX−OR

Claims (8)

  1. 書き込みクロックの周波数が読み出しクロックの周波数よりも高い場合に用いられるFIFOメモリ制御回路であって、
    書き込みアドレスを発生する書き込みアドレス発生回路と、
    読み出しアドレスを発生する読み出しアドレス発生回路と、
    所定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、
    該読み出しアドレスの最下位ビットと該書き込みクロックに基づいて、カウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路と、
    カウントアップイネーブル信号として該書き込み許可信号がアサートされているときに、該書き込みクロックに同期してカウントアップし、該カウントダウンイネーブル信号がアサートされているときに、該書き込みクロックに同期してカウントダウンするアップダウンカウンタとを備え
    該カウントダウンイネーブル信号生成回路は、該読み出しアドレスの最下位ビットの値を該書き込みクロックのタイミングで取り込んで出力する第1フリップフロップと、該第1フリップフロップからのデータ出力を該書き込みクロックのタイミングで取り込んで出力する第2フリップフロップと、該第1フリップフロップのデータ出力と該第2フリップフロップのデータ出力の排他的論理和をとって該カウントダウンイネーブル信号として出力する第1排他的論理和手段とを有しているFIFOメモリ制御回路。
  2. 前記カウントダウンイネーブル信号の周期は、前記書き込みクロックの1周期分である請求項1に記載のFIFOメモリ制御回路。
  3. 読み出しクロックの周波数が書き込みクロックの周波数よりも高い場合に用いられるFIFOメモリ制御回路であって、
    書き込みアドレスを発生する書き込みアドレス発生回路と、
    読み出しアドレスを発生する読み出しアドレス発生回路と、
    所定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、
    該書き込みアドレスの最下位ビットと該読み出しクロックに基づいて、カウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路と、
    該カウントアップイネーブル信号がアサートされているときに、該読み出しクロックに同期してカウントアップし、カウントダウンイネーブル信号として該読み出し許可信号がアサートされているときに、該読み出しクロックに同期してカウントダウンするアップダウンカウンタとを備え
    該カウントアップイネーブル信号生成回路は、該書き込みアドレスの最下位ビットの値を該読み出しクロックのタイミングで取り込んで出力する第3フリップフロップと、該第3フリップフロップからのデータ出力を該読み出しクロックのタイミングで取り込んで出力する第4フリップフロップと、該第3フリップフロップのデータ出力と該第4フリップフロップのデータ出力の排他的論理和をとって該カウントアップイネーブル信号として出力する第2排他的論理和手段とを有しているFIFOメモリ制御回路。
  4. 前記カウントアップイネーブル信号の周期は、前記読み出しクロックの1周期分である請求項3に記載のFIFOメモリ制御回路。
  5. 書き込みクロックの周波数と読み出しクロックの周波数とが異なる場合に用いられるFIFOメモリ制御回路であって、
    書き込みアドレスを発生する書き込みアドレス発生回路と、
    読み出しアドレスを発生する読み出しアドレス発生回路と、
    定数のワードを格納可能な記憶容量を有し、書き込み許可信号がアサートされているときに、該書き込みクロックに同期して該書き込みアドレスに指定された場所に書き込みデータが書き込まれ、読み出し許可信号がアサートされているときに、該読み出しクロックに同期して該読み出しアドレスに指定された場所から読み出しデータが読み出されるメモリと、
    該読み出しアドレスの最下位ビットと、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックとに基づいて、カウントダウンイネーブル信号を生成するカウントダウンイネーブル信号生成回路と、
    該書き込みアドレスの最下位ビットと、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックとに基づいて、カウントアップイネーブル信号を生成するカウントアップイネーブル信号生成回路と、
    該カウントアップイネーブル信号がアサートされているときに、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックに同期してカウントアップし、該カウントダウンイネーブル信号がアサートされているときに、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックに同期してカウントダウンするアップダウンカウンタとを備え
    該カウントダウンイネーブル信号生成回路は、該読み出しアドレスの最下位ビットの値を該書き込みクロックのタイミングで取り込んで出力する第1フリップフロップと、該第1フリップフロップからのデータ出力を該書き込みクロックのタイミングで取り込んで出力する第2フリップフロップと、該第1フリップフロップのデータ出力と該第2フリップフロップのデータ出力の排他的論理和をとって該カウントダウンイネーブル信号として出力する第1排他的論理和手段とを有し、
    該カウントアップイネーブル信号生成回路は、該書き込みアドレスの最下位ビットの値を該読み出しクロックのタイミングで取り込んで出力する第3フリップフロップと、該第3フリップフロップからのデータ出力を該読み出しクロックのタイミングで取り込んで出力する第4フリップフロップと、該第3フリップフロップのデータ出力と該第4フリップフロップのデータ出力の排他的論理和をとって該カウントアップイネーブル信号として出力する第2排他的論理和手段とを有しているFIFOメモリ制御回路。
  6. 前記カウントダウンイネーブル信号の周期は、前記書き込みクロックおよび前記読み出しクロックのうちの周波数が高い方のクロックの1周期分であり、前記カウントアップイネーブル信号の周期は、該書き込みクロックおよび該読み出しクロックのうちの周波数が高い方のクロックの1周期分である請求項5に記載のFIFOメモリ制御回路。
  7. 前記アップダウンカウンタのカウント値が0のときに、前記メモリから読み出すべきデータが無いことを示すエンプティ信号を出力し、該アップダウンカウンタのカウント値が該メモリに格納可能な所定のワード数であるときに、該メモリに新規データを書き込むための空き容量が無いことを示すフル信号を出力するメモリ監視部をさらに備えている請求項1乃至請求項6のいずれかに記載のFIFOメモリ制御回路。
  8. 前記フル信号に基づいて、前記メモリへの書き込みデータの書き込みを制御する書き込み制御回路と、
    前記エンプティ信号に基づいて、該メモリからの読み出しデータの読み出しを制御する読み出し制御回路とを備えている請求項7に記載のFIFOメモリ制御回路。
JP2000120041A 2000-04-20 2000-04-20 Fifoメモリ制御回路 Expired - Fee Related JP3815948B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000120041A JP3815948B2 (ja) 2000-04-20 2000-04-20 Fifoメモリ制御回路
US09/802,694 US6470439B2 (en) 2000-04-20 2001-03-08 FIFO memory control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000120041A JP3815948B2 (ja) 2000-04-20 2000-04-20 Fifoメモリ制御回路

Publications (2)

Publication Number Publication Date
JP2001307476A JP2001307476A (ja) 2001-11-02
JP3815948B2 true JP3815948B2 (ja) 2006-08-30

Family

ID=18630924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000120041A Expired - Fee Related JP3815948B2 (ja) 2000-04-20 2000-04-20 Fifoメモリ制御回路

Country Status (2)

Country Link
US (1) US6470439B2 (ja)
JP (1) JP3815948B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3630591B2 (ja) * 1999-08-30 2005-03-16 沖電気工業株式会社 クロック乗せ換え方法及び回路
US7161999B2 (en) * 2002-01-02 2007-01-09 Intel Corporation Synchronizing data or signal transfer across clocked logic domains
DE60212665T2 (de) 2002-12-18 2006-11-09 Alcatel Verfahren und System zum Bearbeiten von Daten zwischen einer Schaltungsanordnung zur Rückgewinnung eines Taktsignals und eines Datensignals und einer Datenverarbeitungseinheit in asynchronen Netzwerken
JP2004280558A (ja) * 2003-03-17 2004-10-07 Ricoh Co Ltd インタフェース回路及びインタフェース回路を有する光ディスク装置
US6928027B2 (en) * 2003-04-11 2005-08-09 Qualcomm Inc Virtual dual-port synchronous RAM architecture
JP2005101771A (ja) * 2003-09-22 2005-04-14 Matsushita Electric Ind Co Ltd クロック乗せ替え回路および方法
JP2005174090A (ja) * 2003-12-12 2005-06-30 Oki Electric Ind Co Ltd データ転送回路
US20050205566A1 (en) * 2004-03-22 2005-09-22 Solatronix, Inc. Incorporation System and method of interferentially varying electromagnetic near field patterns
JP4502792B2 (ja) * 2004-12-09 2010-07-14 富士通セミコンダクター株式会社 データバッファ回路
US7116601B2 (en) * 2004-12-28 2006-10-03 Via Technologies, Inc. Pseudo-synchronization of the transportation of data across asynchronous clock domains
US7454538B2 (en) * 2005-05-11 2008-11-18 Qualcomm Incorporated Latency insensitive FIFO signaling protocol
KR101393306B1 (ko) * 2007-07-13 2014-05-09 삼성전자주식회사 보안기능을 갖는 레지스터 및 이를 구비하는 컴퓨터 시스템
US8566515B2 (en) * 2009-01-12 2013-10-22 Maxim Integrated Products, Inc. Memory subsystem
US8659973B2 (en) * 2010-06-18 2014-02-25 Fujitsu Limited Sequential-write, random-read memory
US20130066451A1 (en) * 2011-09-14 2013-03-14 Aravind Na Ganesan System and method for mitigating frequency mismatch in a receiver system
US9543044B2 (en) * 2013-11-07 2017-01-10 Stmicroelectronics International N.V. System and method for improving memory performance and identifying weak bits

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4375676A (en) * 1979-12-26 1983-03-01 Varian Associates, Inc. Feedback FIFO for cyclic data acquisition and instrument control
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4894797A (en) * 1986-11-17 1990-01-16 Amp Incorporated FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers
US4942593A (en) * 1989-03-16 1990-07-17 Dallas Semiconductor Corporation Telecommunications interface with improved jitter reporting
DE69124606T2 (de) * 1991-10-17 1997-08-21 Ibm Adaptive FIFO-Speichersteuerung
US5388238A (en) * 1992-07-24 1995-02-07 At&T Corp. System and method for monitoring the validity of circulating pointers in a FIFO memory
US5546347A (en) * 1994-07-22 1996-08-13 Integrated Device Technology, Inc. Interleaving architecture and method for a high density FIFO
US5761203A (en) * 1996-04-04 1998-06-02 Lucent Technologies Inc. Synchronous and asynchronous recovery of signals in an ATM network
JPH11175310A (ja) 1997-12-09 1999-07-02 Toshiba Tec Corp FiFoメモリ制御回路
US6167495A (en) * 1998-08-27 2000-12-26 Micron Technology, Inc. Method and apparatus for detecting an initialization signal and a command packet error in packetized dynamic random access memories

Also Published As

Publication number Publication date
US20020023238A1 (en) 2002-02-21
JP2001307476A (ja) 2001-11-02
US6470439B2 (en) 2002-10-22

Similar Documents

Publication Publication Date Title
JP3815948B2 (ja) Fifoメモリ制御回路
KR100337052B1 (ko) 동기화된 독출 포인터 및 기록 포인터를 갖는 2 중 포트 fifo
TWI474320B (zh) 雙倍資料率虛擬靜態隨機存取記憶體及其控制器、存取與操作方法、寫入與讀取方法
KR0176422B1 (ko) 페이지-인 버스트-아웃 피포 시스템
JP3283659B2 (ja) Fifoメモリの誤動作検出方法及び装置
EP2808801B1 (en) Multiple data rate memory with read timing information
JPH06259225A (ja) データ転送同期装置
JP2729927B2 (ja) 先入先出メモリのデータ入出力状態検出回路
US6191992B1 (en) First-in-first-out storage device including synchronized full-state detention and empty-state detention
JP2004062630A (ja) Fifoメモリ及び半導体装置
JPH0669913A (ja) クロック乗換回路
JP3859885B2 (ja) 半導体記憶装置
JP3559299B2 (ja) バッファメモリ装置
KR101025140B1 (ko) 비동기 지터 저감 기술
US7962698B1 (en) Deterministic collision detection
JP4696003B2 (ja) データ転送回路
US11127439B2 (en) Semiconductor device including first-in first-out circuit
US7116599B1 (en) High speed FIFO synchronous programmable full and empty flag generation
JP3935152B2 (ja) バッファメモリ装置
JP4825065B2 (ja) クロック乗せ換え回路
JP2004080497A (ja) 画像処理システム
JP3667528B2 (ja) デジタル遅延回路
JP2012168754A (ja) メモリインタフェース回路
JP2000011635A (ja) Fifoメモリ
JPH03207077A (ja) フラグ検出回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees