(57)【要約】【課題】ＦＩＦＯ型メモリの面積の縮小化を図る。【解決手段】書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路（１５１）と、上記アドレス一致検出回路の出力信号に基づいてエンプティフラグを形成する第１ラッチ回路（１５２）と、上記アドレス一致検出回路の出力信号に基づいてフルフラグを形成する第２ラッチ回路（１５３）と、上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理（１５４，１５５）とを含んで、フラグ生成回路を構成して、ＦＩＦＯ型メモリの容量をカウントするためのカウンタを不要とする。【選択図】        図１
2005044387.tif 000002
【特許請求の範囲】
【請求項１】
データの書き込み及び読み出しを可能とするメモリと、
上記メモリに書き込む余地が無くなったことを示すフルフラグと、読み出すデータが上記メモリに無くなったことを示すエンプティフラグとを生成するためのフラグ生成回路と、を含むＦＩＦＯ型メモリであって、
上記フラグ生成回路は、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、
上記アドレス一致検出回路の出力信号を読み出しクロック信号に同期して取り込むことで上記エンプティフラグを形成する第１ラッチ回路と、
上記アドレス一致検出回路の出力信号を書き込みクロック信号に同期して取り込むことで上記フルフラグを形成する第２ラッチ回路と、
上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理と、を含んで成ることを特徴とするＦＩＦＯ型メモリ。
【請求項２】
データの書き込み及び読み出しを可能とするメモリと、
上記メモリに書き込む余地が無くなったことを示すフルフラグと、読み出すデータが上記メモリに無くなったことを示すエンプティフラグとを生成するためのフラグ生成回路と、を含むＦＩＦＯ型メモリであって、
上記フラグ生成回路は、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、
読み出しクロック信号と、読み出しの有効性を示す読み出しイネーブル信号との論理演算を行うための第１論理回路と、
上記アドレス一致検出回路での検出結果を上記第１論理回路の出力信号に同期して取り込むことで上記エンプティフラグを形成する第１ラッチ回路と、
書き込みクロック信号と、読み出しの有効性を示す読み出しイネーブル信号との論理演算を行うための第２論理回路と、
上記アドレス一致検出回路での検出結果を書き込みクロック信号に同期して取り込むことで上記フルフラグを形成する第２ラッチ回路と、
上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理と、を含んで成ることを特徴とするＦＩＦＯ型メモリ。
【請求項３】
データの書き込み及び読み出しを可能とするメモリと、
上記メモリに書き込む余地が無くなったことを示すフルフラグと、読み出すデータが上記メモリに無くなったことを示すエンプティフラグとを生成するためのフラグ生成回路と、を含むＦＩＦＯ型メモリであって、
上記フラグ生成回路は、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、
読み出しクロック信号と、読み出しの有効性を示す読み出しイネーブル信号と、上記エンプティフラグとの論理演算を行うための第１論理回路と、
上記アドレス一致検出回路での検出結果を上記第１論理回路の出力信号に同期して取り込むことでエンプティフラグを形成する第１ラッチ回路と、
書き込みクロック信号と、読み出しの有効性を示す読み出しイネーブル信号と、上記フルフラグとの論理演算を行うための第２論理回路と、
上記アドレス一致検出回路での検出結果を書き込みクロック信号に同期して取り込むことでフルフラグを形成する第２ラッチ回路と、
上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理と、を含んで成ることを特徴とするＦＩＦＯ型メモリ。
【請求項４】
上記第１論理回路の出力信号を遅延するための第１遅延回路と、上記第２論理回路の出力信号を遅延するための第２遅延回路と、を含む請求項１乃至３の何れか１項記載のＦＩＦＯ型メモリ。
【請求項５】
上記エンプティフラグを次の書き込み動作に同期してクリアし、上記フルフラグを次ぎの読み出し動作に同期してクリアするためのトランスファゲート回路を含む請求項４記載のＦＩＦＯ型メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＦＩＦＯ（先入れ先出し）型メモリに関し、例えば半導体集積回路に適用して有効な技術に関する。
【０００２】
【従来の技術】
データを記憶するデュアルポート型のメモリと、メモリへの書込パルス信号に従ってメモリの書込アドレスを生成する書込カウンタと、メモリへの読出パルス信号に従ってメモリの読出アドレスを生成する読出カウンタと、前記書込パルス信号及び読出パルス信号に従ってアップ／ダウンすることによりデータの記憶数を計数する容量監視カウンタとを備えるＦＩＦＯ型メモリにおいて、容量監視カウンタへの書込パルス信号又は読出パルス信号をその読出側又は書込側のクロック信号に同期化させることにより、正しいデータ記憶数を計数可能にした技術が知られている（例えば特許文献１参照）。
【０００３】
また、カウントダウンイネーブル信号生成回路が、読み出しアドレスの最下位ビットと読み出しクロックより周波数が高い書き込みクロックから、書き込みクロックに同期し、１回の読み出し毎に書き込みクロックの１周期分アサートされるカウントダウンイネーフ゛ル信号を生成し、アップダウンカウンタに出力する。または、カウントアップイネーブル信号生成回路が、書き込みアドレスの最下位ビットと書き込みクロックより周波数が高い読み出しクロックから、読み出しクロックに同期し、１回の書き込み毎に読み出しクロックの１周期分アサートされるカウントアップイネーブル信号を生成し、アップダウンカウンタに出力するようにした技術が知られている（例えば特許文献２参照）。
【０００４】
【特許文献１】
特開２００１−２８５３４６号公報（図１）
【特許文献２】
特開２００１−３０７４７６号公報（図１）
【０００５】
【発明が解決しようとする課題】
しかしながら、本願発明者の検討によれば、ＦＩＦＯ型メモリの容量をカウントするにはフリップフロップ回路を用いるようにしており、ＦＩＦＯ型の容量が大きくなればフリップフロップ回路の個数も多くなり、チップ占有面積の増大を招くことが見いだされた。
【０００６】
また、アップダウンカウンタは、一つのクロック信号で動作されるため、書き込みクロック信号又は読み出しクロック信号のいずれかしか入力できないため、上記特許文献１記載技術によれば、位相が異なっているクロック信号を片方のクロック信号に同期させる方法を用いている。この場合、サイクルが同じで、位相が異なる場合しかカウントすることができない。
【０００７】
また、上記特許文献２記載技術によれば、周波数が高い方のクロック信号で制御するようにしているため、途中で高い方のクロック信号が、低い方のクロック信号よりも遅くなるような場合は使用できないものと考えられる。
【０００８】
さらに、「非同期で書き込みと読み出しができる」というＦＩＦＯ型メモリでも、書き込みアドレスと読み出しアドレスとを数十アドレス離すという条件があり、システム設計の自由度が阻害される。
【０００９】
本発明の目的は、ＦＩＦＯ型メモリの面積の縮小化を図ることにある。
【００１０】
本発明の別の目的は、ＦＩＦＯ型メモリにおけるシステム設計の自由度の向上を図ることにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１２】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
すなわち、データの書き込み及び読み出しを可能とするメモリと、上記メモリに書き込む余地が無くなったことを示すフルフラグと、読み出すデータが上記メモリに無くなったことを示すエンプティフラグとを生成するためのフラグ生成回路とを含んでＦＩＦＯ型メモリが構成されるとき、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、上記アドレス一致検出回路の出力信号を読み出しクロック信号に同期して取り込むことで上記エンプティフラグを形成する第１ラッチ回路と、上記アドレス一致検出回路の出力信号を書き込みクロック信号に同期して取り込むことで上記フルフラグを形成する第２ラッチ回路と、上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理とを含んで、上記フラグ生成回路を構成する。
【００１４】
上記の手段によれば、書き込みアドレスと読み出しアドレスとが一致することを検出し、上記アドレス一致検出回路の出力信号を読み出しクロック信号に同期して取り込むことで上記エンプティフラグを形成し、上記アドレス一致検出回路の出力信号を書き込みクロック信号に同期して取り込むことで上記フルフラグを形成し、上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避する。このことが、ＦＩＦＯ型メモリの容量をカウントするためのカウンタ（フリップフロップ回路）を不要とし、回路面積の縮小化を達成する。
【００１５】
また、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、読み出しクロック信号と、読み出しの有効性を示す読み出しイネーブル信号との論理演算を行うための第１論理回路と、上記アドレス一致検出回路での検出結果を上記第１論理回路の出力信号に同期して取り込むことで上記エンプティフラグを形成する第１ラッチ回路と、書き込みクロック信号と、読み出しの有効性を示す読み出しイネーブル信号との論理演算を行うための第２論理回路と、上記アドレス一致検出回路での検出結果を書き込みクロック信号に同期して取り込むことで上記フルフラグを形成する第２ラッチ回路と、上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理とを含んで、上記フラグ生成回路を構成することができる。
【００１６】
さらに、上記フラグ生成回路は、書き込みアドレスと読み出しアドレスとが一致することを検出するためのアドレス一致検出回路と、読み出しクロック信号と、読み出しの有効性を示す読み出しイネーブル信号と、上記エンプティフラグとの論理演算を行うための第１論理回路と、上記アドレス一致検出回路での検出結果を上記第１論理回路の出力信号に同期して取り込むことでエンプティフラグを形成する第１ラッチ回路と、書き込みクロック信号と、読み出しの有効性を示す読み出しイネーブル信号と、上記フルフラグとの論理演算を行うための第２論理回路と、上記アドレス一致検出回路での検出結果を書き込みクロック信号に同期して取り込むことでフルフラグを形成する第２ラッチ回路と、上記エンプティフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第２ラッチ回路へ伝達されるのを回避し、上記フルフラグの形成に基づいて上記アドレス一致検出回路の出力信号が上記第１ラッチ回路へ伝達されるのを回避するための制御論理と、を含んで、上記フラグ生成回路を構成することができる。
【００１７】
このとき、回路動作の安定化を図るため、上記第１論理回路の出力信号を遅延するための第１遅延回路と、上記第２論理回路の出力信号を遅延するための第２遅延回路とを設けることができる。
【００１８】
そして、上記エンプティフラグを次の書き込み動作に同期してクリアし、上記フルフラグを次ぎの読み出し動作に同期してクリアするためのトランスファゲート回路を設けることができる。
【００１９】
【発明の実施の形態】
図５には本発明にかかるＦＩＦＯ型メモリの全体的な構成例が示される。
【００２０】
図５に示されるＦＩＦＯ型メモリは、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。このＦＩＦＯ型メモリは、特に制限されないが、デュアルポートＲＡＭ（ランダム・アクセス・メモリ）１０、読み出しアドレス生成回路１１、書き込みアドレス生成回路１２、フラグ生成回路１５とを含む。
【００２１】
上記デュアルポートＲＡＭ１０は、データの読み出しを可能とする読み出しポート１３、及びデータの書き込みを可能とする書き込みポート１４を含む。
【００２２】
読み出しアドレス生成回路１１は、読み出しの有効性を示す読み出しイネーブル信号がアサートされた期間に、読み出しクロック信号に基づいて上記デュアルポートＲＡＭ１０の読み出しアドレス信号を生成する。
【００２３】
書き込みアドレス生成回路１２は、書き込みの有効性を示す書き込みイネーブル信号がアサートされた期間に、書き込みクロック信号に基づいて上記デュアルポートＲＡＭ１０の書き込みアドレス信号を生成する。
【００２４】
フラグ生成回路１５は、上記デュアルポートＲＡＭ１０に書き込む余地が無くなったことを示すフルフラグと、上記デュアルポートＲＡＭ１０に、読み出すデータが無くなったことを示すエンプティフラグとを生成する。このフルフラグとエンプティフラグとは、上記デュアルポートＲＡＭ１０からのデータ読み出しや上記デュアルポートＲＡＭ１０へのデータ書き込みを行う制御回路に伝達される。
【００２５】
図１には、上記フラグ生成回路１５の構成例が示される。
【００２６】
図１に示されるように、フラグ生成回路１５は、アドレス一致検出回路１５１、立ち上がりエッジ取り込みラッチ回路１５２，１５３、及びアンドゲート１５４，１５５を含む。
【００２７】
アドレス一致検出回路１５１は、特に制限されないが、書き込みアドレス信号と読み出しアドレス信号とが一致するのを確認する。このアドレス一致検出回路１５１での検出結果は、後段のアンドゲート１５４，１５５へ伝達される。
【００２８】
立ち上がりエッジ取り込みラッチ回路１５２は、読み出しクロック信号に同期して上記アンドゲート１５４の出力信号を取り込むことでエンプティフラグを形成する。このエンプティフラグは、図示されない制御回路へ伝達されるとともに、論理反転されてから上記アンドゲート１５５へ伝達される。
【００２９】
立ち上がりエッジ取り込みラッチ回路１５３は、書き込みクロック信号に同期して上記アンドゲート１５５の出力信号を取り込むことで、フルフラグを形成する。このフルフラグは、図示されない制御回路へ伝達されるとともに、論理反転されてから上記アンドゲート１５４へ伝達される。
【００３０】
上記の構成の動作を説明する。
【００３１】
ここでまず、ＦＩＦＯ型メモリの一般的な動作を説明する。
【００３２】
説明の便宜上、ＦＩＦＯ型メモリの記憶容量を８ビットとする。
【００３３】
図３（Ａ）には、記憶容量を８ビットのＦＩＦＯ型メモリ１０に４ビットまで書き込まれた状態が示される。図３（Ａ）の状態から記憶データが１ビット読み出され（図３（Ｂ））、さらにその状態で１ビットのデータが書き込まれる（図３（Ｃ））場合や、１ビット読み出される場合（図３（Ｄ））が考えられる。
【００３４】
次に、書き込みアドレスと読み出しアドレスからＦＩＦＯ内のデータがエンプティであるか、フルであるかを判断する方法について説明する。
【００３５】
図４（Ａ）には先にアドレス“６”に書き込みがあった後に、同じアドレス“６”から読み出しが行われる場合が示され、同図（Ｂ）には、アドレス“６”から読み出しが行われている最中に、同じアドレス“６”に書き込みが行われる場合が示される。
【００３６】
書き込みアドレスと読み出しアドレスとが一致する場合には次のように判断される。
【００３７】
（イ）書き込みが行われた後に同アドレスで読み出しが行われる場合は「エンプティ」である。
【００３８】
（ロ）読み出しが行われた後に同アドレスに書き込みが行われた場合は「フル」である。
【００３９】
（ハ）書き込みアドレスと読み出しアドレスとが一致しない場合は、「エンプティ」でも「フル」でもない。
【００４０】
書き込みと読み出しとが同時に行われ、且つ、アドレスが一致しているということは、次の条件が成立する。
【００４１】
（ニ）先ず、データの無いＦＩＦＯ型メモリ（エンプティ＝読み出し禁止状態）の指定アドレスから読み出しながら書き込むことである。
【００４２】
（ホ）次に、書き込む余地の無いＦＩＦＯ型メモリ（フル＝書き込み禁止）の指定アドレスに書き込みながら読み出すことである。
【００４３】
上記（ニ）、（ホ）はそれぞれフラグ発生中の禁止状態である。このため、書き込みと読み出しとが同時に行われるときには書き込みと読み出しとでアドレスは一致しない。つまり、上記（二），（ホ）は生じない。
【００４４】
以上のことから、図１に示されるフラグ生成回路１５は、アドレスの一致を読み出しクロックで取り込めばエンプティフラグを出力し、書き込みクロックで取り込めばフルフラグを出力するように構成される。
【００４５】
図２には、図１に示される回路における主要部の動作タイミングが示される。
【００４６】
図２に示されるように、ｒｃｋは読み出しクロック信号、ｗｃｋは書き込みクロック信号、ｆｕｌｌはフルフラグである。タイミングＴ１は、読み出しと書き込みとで同一アドレスにアクセスする危険のあるタイミングであるが、フルフラグｆｕｌｌがハイレベルにされることで書き込みが禁止される。すなわち、アドレス一致検出回路１５１でアドレス一致が検出され、書き込みクロック信号に同期してアンドゲート１５５の出力信号が立ち上がりエッジ取り込みラッチ回路１５３に取り込まれることにより、フルフラグがハイレベルにされることで、書き込みが禁止される。このとき、アンドゲート１５４が非活性状態にされることで、エンプティフラグはローレベルの状態とされる。ここで、立ち上がりエッジ取り込みラッチ回路１５２が、本発明における第１ラッチ回路の一例とされ、立ち上がりエッジ取り込みラッチ回路１５３が本発明における第２ラッチ回路の一例とされる。また、アンドゲート１５４，１５５が本発明における制御論理の一例とされる。
【００４７】
上記の例によれば、以下の作用効果を得ることができる。
【００４８】
（１）ＦＩＦＯ型メモリの容量をカウントするためのカウンタ（フリップフロップ回路）が不要とされるため、回路面積の縮小化を図ることができる。
【００４９】
（２）書き込みサイクルと読み出しサイクルとの何れが早くても、それを気にすることなく、一つのフラグ生成回路１５においてエンプティフラグとフルフラグとを生成することができる。
【００５０】
（３）書き込みサイクルと読み出しサイクルに対して、ＦＩＦＯ型メモリ使用の制限が無くなるため、システム設計の自由度が高くなる。
【００５１】
図６には、上記フラグ生成回路１５の別の構成例が示される。
【００５２】
図６に示されるフラグ生成回路１５が図１に示されるのと大きく相違するのは、２入力アンドゲート１５８，１６０、遅延段１５９，１６１、インバータ１６２，１６５、トランスミッションゲート１６３，１６４，１６６，１６７が設けられている点である。
【００５３】
アンドゲート１５８は、読み出しイネーブル信号ｒｅｎと、読み出しクロック信号ｒｃｋとのアンド論理を得る。このアンドゲート１５８の出力信号は後段の遅延段１５９で遅延されるようになっている。遅延段１５９の出力信号ｒｅｎｃｋ１は、トランスミッションゲート１６３を介して立ち上がりエッジ取り込みラッチ回路１５２へ伝達され、また、トランスミッションゲート１６４を介して立ち上がりエッジ取り込みラッチ回路１５３へ伝達される。トランスミッションゲート１６３，１６４は、立ち上がりエッジ取り込みラッチ回路１５３の出力信号によって相補的に導通される。トランスミッションゲート１６３，１６４は相補レベルの信号で動作制御されるため、立ち上がりエッジ取り込みラッチ回路１５３の出力信号がインバータ１６２で反転されてからトランスミッションゲート１６３，１６４へ伝達される。
【００５４】
アンドゲート１６０は、書き込みイネーブル信号ｗｅｎと、書き込みクロック信号ｗｃｋとのアンド論理を得る。このアンドゲート１６０の出力信号は後段の遅延段１６１で遅延されるようになっている。遅延段１６１の出力信号ｗｅｎｃｋ１は、トランスミッションゲート１６６を介して立ち上がりエッジ取り込みラッチ回路１５２へ伝達され、また、トランスミッションゲート１６７を介して立ち上がりエッジ取り込みラッチ回路１５３へ伝達される。トランスミッションゲート１６６，１６７は、立ち上がりエッジ取り込みラッチ回路１５２の出力信号によって相補的に導通される。トランスミッションゲート１６６，１６７は相補レベルの信号で動作制御されるため、立ち上がりエッジ取り込みラッチ回路１５２の出力信号がインバータ１６５で反転されてからトランスミッションゲート１６６，１６７へ伝達される。
【００５５】
図７には、図６に示される回路における主要部の動作タイミングが示される。
【００５６】
尚、図７に示される例では、読み出しクロック信号ｒｃｋと書き込みクロック信号ｗｃｋとのサイクルが等しく、読み出しクロック信号ｒｃｋの位相が書き込みクロック信号ｗｃｋよりも早いものとし、ＦＩＦＯ型メモリの容量を４ビットとする。
【００５７】
図１に示される回路構成では、書き込みクロックと読み出しクロックとが同期される場合に、読み出しクロックが立ち上がりエッジ取り込みラッチ回路１５２に直接入力されるために、読み出しイネーブル信号ｒｅｎがハイレベルにアサートされなくても、エンプティフラグとフルフラグとが同時にハイレベルになる。また、図１に示される回路構成では、書き込みクロックと読み出しクロックとが同期される場合に、書き込みクロックが立ち上がりエッジ取り込みラッチ回路１５３に直接入力されるために、書き込みイネーブル信号ｗｅｎがハイレベルにアサートされなくても、エンプティフラグとフルフラグとが同時にハイレベルになる。これに対して、図６に示される回路では、それを回避するために、立ち上がりエッジ取り込みラッチ回路１５２に入力されるクロック信号ｒｅｎｃｋ２、立ち上がりエッジ取り込みラッチ回路１５３に入力されるクロック信号ｗｅｎｃｋ２を生成するために、それぞれ読み出しイネーブル信号ｒｅｎ、書き込みイネーブル信号ｗｅｎが考慮されている。すなわち、アンドゲート１５８において、読み出しイネーブル信号ｒｅｎと読み出しクロック信号ｒｃｋとのアンド論理が求められ、このアンドゲート１５８の出力信号が、遅延回路１５９及びトランスミッションゲート１６３を介して立ち上がりエッジ取り込みラッチ回路１５２へ伝達され、また、アンドゲート１６０において、読み出しイネーブル信号ｗｅｎと読み出しクロック信号ｗｃｋとのアンド論理が求められ、このアンドゲート１６０の出力信号が、遅延回路１６１及びトランスミッションゲート１６７を介して立ち上がりエッジ取り込みラッチ回路１５３へ伝達される。このため、読み出しイネーブル信号ｒｅｎがハイレベルにアサートされない限り、立ち上がりエッジ取り込みラッチ回路１５２でのエッジ取り込みは行われないし、読み出しイネーブル信号ｒｅｎがハイレベルにアサートされない限り、立ち上がりエッジ取り込みラッチ回路１５２でのエッジ取り込みは行われない。
【００５８】
従って、図６に示される構成では、書き込みクロックと読み出しクロックとが同期される場合でも、読み出しイネーブル信号ｒｅｎがハイレベルにアサートされずに、エンプティフラグとフルフラグとが同時にハイレベルになることと、書き込みイネーブル信号ｗｅｎがハイレベルにアサートされずに、エンプティフラグとフルフラグとが同時にハイレベルになることは無い。
【００５９】
読み出しイネーブル信号ｒｅｎがハイレベルとされ、読み出しクロック信号ｒｃｋがハイレベルとされることで、立ち上がりエッジ取り込みラッチ回路１５２によりアンドゲート１５４の出力信号がラッチされる。このとき、アドレス一致回路１５１の出力信号ｃｏｍｐがハイレベルであれば、エンプティフラグｅｍｐｔｙがハイレベルにされる。このエンプティフラグｅｍｐｔｙは、書き込みクロック信号ｗｃｋの立ち上がりタイミングに同期してローレベルにされる。つまり、エンプティフラグｅｍｐｔｙがハイレベルの場合、アンドゲート１５５が非活性状態とされ、フルフラグｆｕｌｌはローレベルとされるため、トランスミッションゲート１６６が導通される。そして、書き込みイネーブル信号ｗｅｎと書き込みクロック信号ｗｃｋがハイレベルの場合に、クロック信号ｒｅｎｃｋ２がハイレベルにされ、このとき、アドレス不一致によりアドレス一致検出回路１５１の出力信号ｃｏｍｐがローレベルにされると、それが立ち上がり取り込みラッチ回路１５２に取り込まれることでエンプティフラグｅｍｐｔｙがローレベルにされる。
【００６０】
書き込みイネーブル信号ｗｅｎがハイレベルとされ、書き込みクロック信号ｗｃｋがハイレベルとされることで、立ち上がりエッジ取り込みラッチ回路１５３によりアンドゲート１５５の出力信号がラッチされる。このとき、アドレス一致回路１５１の出力信号ｃｏｍｐがハイレベルであれば、フルフラグはｆｕｌｌがハイレベルにされる。このフルフラグｆｕｌｌは、読み出しクロック信号ｒｃｋの立ち上がりタイミングに同期してローレベルにされる。つまり、フルフラグｆｕｌｌがハイレベルの場合、アンドゲート１５４が非活性状態とされ、エンプティフラグｅｍｐｔｙｇはローレベルとされるため、トランスミッションゲート１６４が導通される。そして、読み出しイネーブル信号ｒｅｎと書き込みクロック信号ｗｃｋがハイレベルの場合に、クロック信号ｗｅｎｃｋ２がハイレベルにされ、このとき、アドレス不一致によりアドレス一致検出回路１５１の出力信号ｃｏｍｐがローレベルにされると、それが立ち上がり取り込みラッチ回路１５２に取り込まれることでフルフラグｆｕｌｌがローレベルにされる。
【００６１】
図８には上記フラグ生成回路１５の別の構成例が示される。
【００６２】
図８に示されるフラグ生成回路１５が図６に示されるのと大きく相違するのは、アンドゲート１５８，１６０が３入力とされ、それぞれエンプティフラグの反転信号、フルフラグの反転信号が伝達される点である。つまり、図８に示される構成では、エンプティフラグの反転信号がハイレベルにならない限りアンドゲート１５８は活性化されないため、遅延段１５９からクロック信号ｒｅｎｃｋ１が出力されない。同様にフルフラグの反転信号がハイレベルにならない限りアンドゲート１６０は活性化されないため、遅延段１６１からクロック信号ｗｅｎｃｋ１が出力されない。かかる構成によれば、エンプティフラグやフルフラグがハイレベルにアサートされるのが間に合わずに、読み出しイネーブルｒｅｎや書き込みイネーブル信号ｗｅｎが不所望にハイレベルにアサートされた場合でも、読み出しクロック信号ｒｃｋや書き込みクロック信号ｗｃｋの取り込みを阻止することができるので、ＦＩＦＯ型メモリの保持データの破壊を防止することができる。
【００６３】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６４】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である半導体メモリに適用した場合について説明したが、本発明はそれに限定されるものではなく、例えばマイクロコンピュータやその他のデータ処理装置にオンチップされる場合にも適用することができる。
【００６５】
本発明は、少なくともフラグ生成化回路を含むことを条件に適用することができる。
【００６６】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００６７】
すなわち、ＦＩＦＯ型メモリの容量をカウントするためのカウンタ（フリップフロップ回路）を不要とすることで回路面積の縮小化を図ることができる。
【図面の簡単な説明】
【図１】本発明にかかるＦＩＦＯ型メモリにおける主要部の構成例回路図である。
【図２】図１に示される回路における主要部の動作タイミング図である。
【図３】ＦＩＦＯ型メモリの動作説明図である。
【図４】ＦＩＦＯ型メモリの動作説明図である。
【図５】本発明にかかるＦＩＦＯ型メモリの全体的な構成例ブロック図である。
【図６】本発明にかかるＦＩＦＯ型メモリにおける主要部の別の構成例回路図である。
【図７】図６に示される構成における主要部の動作タイミング図である。
【図８】本発明にかかるＦＩＦＯ型メモリにおける主要部の別の構成例回路図である。
【符号の説明】
１０  デュアルポートＲＡＭ
１５  フラグ生成回路
１５１  アドレス一致検出回路
１５２  立ち上がりエッジ取り込みラッチ回路
１５３  立ち上がりエッジ取り込みラッチ回路
１５４，１５５  アンドゲート
１５８，１６０  アンドゲート
１５９，１６１  遅延段
１６３，１６４，１６６，１６７  トランスミッションゲート
【図１】
2005044387.tif 000003
【図２】
2005044387.tif 000004
【図３】
2005044387.tif 000005
【図４】
2005044387.tif 000006
【図５】
2005044387.tif 000007
【図６】
2005044387.tif 000008
【図７】
2005044387.tif 000009
【図８】
2005044387.tif 000010