(57)【要約】    【課題】      信頼性を向上させ、消費電力を削減するＦＩＦＯメモリを提供すること。    【解決手段】  バッファ回路１０５は、前回書き込んだライトデータを一時的に保持し、コンパレータ回路１０６は、前回に書き込んだライトデータと新たに書き込むライトデータとをビット毎に比較を行い、ビット幅の半分以上が変化していた場合に１を出力し、エンコーダ回路１０７は、コンパレータ回路１０６の結果が１の場合はライトデータの全ビットを反転させて出力し、コンパレータ回路１０６の結果が０の場合はライトデータをそのまま出力することにより、デュアルポートメモリ１０８に送信するライトデータの変化量を減らす。  【選択図】      図１
2006172672.tif 000002
【特許請求の範囲】
【請求項１】
ライトリクエストによりライトポインタを生成するライトポインタ生成回路と、
リードリクエストによりリードポインタを生成するリードポインタ生成回路と、
前記ライトポインタ生成回路で生成されたライトポインタと、前記リードポインタ生成回路で生成されたリードポインタと、ライトリクエストの状態により書込み制御を行う書込み制御回路と、
前記ライトポインタ生成回路で生成されたライトポインタと、前記リードポインタ生成回路で生成されたリードポインタと、リードリクエストの状態により読出し制御を行う読出し制御回路と、
前回書き込んだ前回ライトデータを一次保持するバッファ回路と、
前記前回ライトデータと新たに書き込む新規ライトデータとを比較するコンパレータ回路と、
前記コンパレータ回路が比較した比較結果に基づいて、前記新規ライトデータを変換するエンコーダ回路と、
前記コンパレータ回路の比較結果と、前記エンコーダ回路が変換したデータとを記録するデュアルポートメモリと、
前記デュアルポートメモリに記録された前記比較結果と前記変換されたデータとを読み出し、前記比較結果により、前記変換されたデータを逆変換するデコーダ回路と、
を備えることを特徴とするＦＩＦＯ（First In First Out）メモリ。
【請求項２】
前記エンコーダ回路は、前記コンパレータ回路の比較結果が、半数を超えるデータの相違を示す場合、前記前回ライトデータを反転させることを特徴とする請求項１記載のＦＩＦＯメモリ。
【請求項３】
前記コンパレータ回路のビット毎の比較結果と全ビットの変化率とに基づいて、前記バッファ回路のビット毎のクロック制御を行うバッファクロック制御回路と、
ライトリクエストにより、前記ライトポインタ制御回路と前記書込み制御回路と前記デュアルポートメモリの書込みクロックを制御するライトクロック制御回路と、
リードリクエストにより、前記リードポインタ制御回路と前記読出し制御回路と前記デュアルポートメモリの読出しクロックを制御するリードクロック制御回路と、
を、更に備えることを特徴とする請求項２または請求項３記載のＦＩＦＯメモリ。
【請求項４】
前記ライトポインタ生成回路と前記リードポインタ生成回路とは、グレイカウンタによって構成することを特徴とする請求項１から請求項３のいずれかに記載のＦＩＦＯメモリ。
【請求項５】
前記グレイカウンタのうち、ビットを反転するレジスタにのみクロックを供給するクロック制御回路を
更に、備えたことを特徴とする請求項４記載のＦＩＦＯメモリ。
【請求項６】
前記ライトポインタ生成回路は、クロック供給時に保持している値を反転させ、
前記リードポインタ生成回路は、クロック供給時に保持している値を反転させ、
前記バッファ回路は、クロック供給時に保持している値を反転させることを特徴とする請求項３または請求項５記載のＦＩＦＯメモリ。
【請求項７】
前回書き込んだ前回ライトデータを一次保持するバッファ回路と、
前記前回ライトデータと新たに書き込む新規ライトデータとを、ビット毎に比較するコンパレータ回路と、
前記コンパレータ回路が比較した比較結果に基づいて、ビット毎に、前記バッファ回路に保持する前回ライトデータを変換するバッファクロック制御回路と、
前記コンパレータ回路の比較結果と、前記バッファクロック制御回路が変換したデータとを記録するデュアルポートメモリと、
前記デュアルポートメモリに記録された前記比較結果と変換されたデータとを読み出し、前記比較結果により、前記データを逆変換するデコーダ回路と、
を備えることを特徴とするＦＩＦＯ（First In First Out）メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＩＦＯ（First In First Out）メモリに関し、特に、大容量、高集積で、低消費電力であるＦＩＦＯメモリに関する。
【背景技術】
【０００２】
従来のＦＩＦＯメモリとして、例えば特許文献１には、デュアルポートメモリを必要最低限の時間で駆動するようにした構成の一例が開示されている。
【特許文献１】特開平６―３０９８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のＦＩＦＯメモリにおいては、書込みや読出しが短時間に連続した場合や、また、書込みデータの変化量が多い場合に、デュアルポートメモリの制御信号やデータ信号の駆動に要する電力が増大する。
【０００４】
また、近年の微細化プロセスによる半導体集積回路において、周辺回路とデュアルポートメモリとを接続する信号配線の距離が長くなると、クロストーク等のノイズの影響を受けやすい。
【０００５】
本発明は、かかる点に鑑みてなされたものであり、信頼性向上と低消費電力化を実現するＦＩＦＯメモリを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のＦＩＦＯメモリは、ライトリクエストによりライトポインタを生成するライトポインタ生成回路と、リードリクエストによりリードポインタを生成するリードポインタ生成回路と、前記ライトポインタ生成回路で生成されたライトポインタと、前記リードポインタ生成回路で生成されたリードポインタと、ライトリクエストの状態により書込み制御を行う書込み制御回路と、前記ライトポインタ生成回路で生成されたライトポインタと、前記リードポインタ生成回路で生成されたリードポインタと、リードリクエストの状態により読出し制御を行う読出し制御回路と、前回書き込んだ前回ライトデータを一次保持するバッファ回路と、前記前回ライトデータと新たに書き込む新規ライトデータとを比較するコンパレータ回路と、前記コンパレータ回路が比較した比較結果に基づいて、前記新規ライトデータを変換するエンコーダ回路と、前記コンパレータ回路の比較結果と、前記エンコーダ回路が変換したデータとを記録するデュアルポートメモリと、前記デュアルポートメモリに記録された前記比較結果と前記変換されたデータとを読み出し、前記比較結果により、前記変換されたデータを逆変換するデコーダ回路と、を備える構成を採る。
【発明の効果】
【０００７】
本発明によれば、ＦＩＦＯメモリの信頼性向上と低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【０００９】
（実施の形態１）
図１は、本発明の実施の形態１に係るＦＩＦＯメモリの構成の一例を示すブロック図である。
【００１０】
ＦＩＦＯメモリは、データの読み／書きのためのアドレス管理機能を備え、最初に書き込んだデータを最後に読み出す方式を用いるメモリである。図１のＦＩＦＯメモリは、ライトポインタ生成回路１０１、リードポインタ生成回路１０２、書込み制御回路１０３、読出し制御回路１０４、バッファ回路１０５、コンパレータ回路１０６、エンコーダ回路１０７、デュアルポートメモリ１０８、デコーダ回路１０９を備える。
【００１１】
ライトポインタ生成回路１０１は、ライトリクエストによりライトポインタを生成する。
【００１２】
リードポインタ生成回路１０２は、リードリクエストによりリードポインタを生成する。
【００１３】
書込み制御回路１０３は、ライトポインタ生成回路１０１で生成されたライトポインタとリードポインタ生成回路１０２で生成されたリードポインタとライトリクエストの状態により書込み制御を行う。
【００１４】
読出し制御回路１０４は、ライトポインタ生成回路１０１で生成されたライトポインタとリードポインタ生成回路１０２で生成されたリードポインタとリードリクエストの状態により読出し制御を行う。
【００１５】
バッファ回路１０５は、ライトデータを一次保持する。
【００１６】
コンパレータ回路１０６は、バッファ回路１０５に保持されたデータとライトデータの比較を行う。
【００１７】
エンコーダ回路１０７は、コンパレータ回路１０６の結果によりライトデータを変換する。
【００１８】
デュアルポートメモリ１０８は、コンパレータ回路１０６の結果とエンコーダ回路１０７により変換されたデータを記録する。
【００１９】
デコーダ回路１０９は、デュアルポートメモリ１０８に記録された前記コンパレータ回路１０６の結果によりデータを逆変換する。
【００２０】
次いで、本実施の形態のＦＩＦＯメモリの動作について、図１を用いて説明する。コンパレータ回路１０６は、バッファ回路１０５に保持されている前回に書き込んだライトデータと、新たに書き込むライトデータとをビット毎に比較を行う。コンパレータ回路１０６は、ビット幅の半分以上が変化していた場合に１を出力する。
【００２１】
エンコーダ回路１０７は、コンパレータ回路１０６の結果が１の場合、全ビットを反転させる。エンコーダ回路１０７を介して、新たに書き込むライトデータは、バッファ回路１０５に書き込まれる。
【００２２】
このように、エンコーダ回路１０７により、データ信号のトグルを抑えることができるとともに、デュアルポートメモリ１０８へのデータ信号のトグル率を下げることができる。即ち、コンパレータ回路１０６の比較結果により、新たに書き込むライトデータを反転させることによって、ライトデータを保持するバッファ回路１０５の変化量を減らすとともに、デュアルポートメモリ１０８のデータの変化量を減らすことができる。その結果、書込み制御回路１０３の消費電力が減少するとともに、長距離配線のデータ変化量が減ることによってノイズに強い回路構成となる。このようにして、信号信頼性向上と低消費電力化を実現することができる。
【００２３】
（実施の形態２）
図２は、本発明の実施の形態２に係るＦＩＦＯメモリの構成の一例を示すブロック図である。図２のＦＩＦＯメモリは、図１のライトポインタ生成回路１０１、リードポインタ生成回路１０２とが、ライトポインタ制御回路２０１、リードポインタ制御回路２０２へ変更されている。なお、図１と同じ符号は、同じ名称、同様の機能を有するため説明を省略する。
【００２４】
ライトポインタ制御回路２０１は、ライトリクエストにより１ビットのみを変化させるグレイカウンタで構成される。
【００２５】
リードポインタ制御回路２０２は、リードリクエストにより１ビットのみを変化させるグレイカウンタで構成される。
【００２６】
図３にグレイカウンタの具体例を示している。グレイカウンタを用いることによってアドレス生成回路のトグルを抑えることができる。
【００２７】
図２において、ライトポインタ制御回路２０１とリードポインタ生成回路２０２はグレイカウンタ回路を用いることにより、アドレス信号のトグルを抑えることが可能となる。デュアルポートメモリ１０８へのデータ信号ならびにアドレス信号のトグル率を下げることにより、信号信頼性向上と低消費電力化を実現する。
【００２８】
（実施の形態３）
図４は、本発明の実施の形態３に係るＦＩＦＯメモリの構成の一例を示すブロック図である。図４のＦＩＦＯメモリは、ライトポインタ生成回路１０１、リードポインタ生成回路１０２と、書込み制御回路１０３、読出し制御回路１０４、デュアルポートメモリ１０８、デコーダ回路１０９、拡張バッファ回路３０５、拡張コンパレータ回路３０６、バッファクロック制御回路３１０、ライトクロック制御回路３１１、リードクロック制御回路３１２を備える。なお、図１と同じ符号は、同じ名称、同様の機能を有するため説明を省略する。
【００２９】
拡張バッファ回路３０５は、前回のライトデータを一時的に保持する。また、拡張バッファ回路３０５は、クロックが供給されると値を反転させる。拡張バッファ回路３０５は、クロックが供給されたビットのみデータを反転するように構成している。
【００３０】
拡張コンパレータ回路３０６は、拡張バッファ回路３０５に保持する前回のライトデータと新たなライトデータとをビット毎に比較する。
【００３１】
バッファクロック制御回路３１０は、拡張コンパレータ回路３０６の結果により拡張バッファ回路３０５のクロック制御を行う。
【００３２】
ライトクロック制御回路３１１は、ライトリクエストを受け取ると、ライトポインタ生成回路１０１のクロックと書込み制御回路１０３のクロックとデュアルポートメモリ１０８の書込みクロックを制御する。
【００３３】
リードクロック制御回路３１２は、リードリクエストによりリードポインタ生成回路１０２と読出し制御回路１０４とデュアルポートメモリ１０８の読出しクロックを制御する。
【００３４】
次いで、本実施の形態のＦＩＦＯメモリの動作について、図４を用いて説明する。拡張コンパレータ回路３０６は、前回に書き込んだライトデータと新たに書き込むライトデータとをビット毎に比較を行い、ビット幅の半分以上が変化していた場合は比較結果を反転させて出力し、ビットの半分以下の変化の場合はそのまま比較結果を出力する。
【００３５】
バッファクロック制御回路３１０は、拡張コンパレータ回路３０６の出力結果とライトリクエストにより、拡張バッファ回路３０５のクロックをビット毎に制御を行う。即ち、バッファクロック制御回路３１０は、拡張バッファ回路３０５の反転すべきビットのみにクロックを供給するような制御を行う。
【００３６】
拡張バッファ回路３０５はクロックが供給されると値を反転させる。
【００３７】
ライトクロック制御回路３１１は、ライトリクエストを受け取ると、ライトポインタ生成回路１０１のクロックと書込み制御回路１０３のクロックとデュアルポートメモリ１０８の書込みクロックの供給を行う。この場合、ライトポインタ生成回路１０１がグレイカウンタによって構成される場合は、反転させるべきビットにのみクロックを供給する。
【００３８】
リードクロック制御回路３１２は、リードリクエストを受け取ると、リードポインタ生成回路１０２のクロックと読出し制御回路１０４のクロックとデュアルポートメモリ１０８の読出しクロックの供給を行う。この場合、リードポインタ生成回路１０２がグレイカウンタによって構成される場合は、反転させるべきビットにのみクロックを供給する。
【００３９】
このように、デュアルポートメモリ１０８へのデータ信号ならびにアドレス信号のトグル率を下げることと、各部のクロック制御を行うことにより、信号信頼性向上と低消費電力化を実現する。
【００４０】
（実施の形態４）
図５は、図４に示すＦＩＦＯメモリの具体例（一部分）を示す図である。図４に示す拡張コンパレータ回路３０６とバッファクロック制御回路３１０と拡張バッファ回路３０５の詳細な実施例を示す。図４では、ライトデータ幅を１６ビットとし、ライトデータの０ビット目のみの回路例を示す。４０１から４０９は、図中の複数の回路それぞれから出力される信号を示す。
【００４１】
図６は、図５に示すＦＩＦＯメモリのタイミングチャートを示す。図６中、４０１から４０９は、図５に示す信号を指す。また、ＷＣＬＫ、ＷＰは、それぞれ図５と対応し、ＷＤ０は、拡張バッファ回路３０５の０ビット目を指し、ＷＤ１６は、拡張バッファ回路３０５の１６ビット目を指す。Ｔ０からＴ９は、ライトリクエストが発生する時間（タイミング）を示す。
【００４２】
次いで、図５に示すＦＩＦＯメモリの動作について、図６を用いて説明する。
【００４３】
図６において、時間Ｔ０ではライトリクエストがあり、このときの０ビット目のライトデータがＨであったとする。このタイミングでは、信号４０６は初期状態のＬとなっており、信号４０１はＨとなる。Ｔ０における各ビットの信号変化量が８以下だった場合、信号４０２はＬとなり、信号４０３はＨとなる。信号４０４はＨとなり、拡張バッファ回路３０５の０ビット目にクロックが供給される。拡張バッファ回路３０５にクロックが供給されると保持している値を反転させ信号４０６ならびにＷＤ０はＨとなる。
【００４４】
信号４０２がＬであり、ＷＤ１６が初期状態のＬであるため、拡張バッファ回路の１６ビット目にはクロックが供給されず、Ｌを保持し続ける。なお、ＷＤ１６はデータの拡張ビットである。
【００４５】
ライトリクエストをトリガにデュアルポートメモリ１０８にはクロック供給がされる。デュアルポートメモリ１０８には外部から入力されるライトデータがそのまま格納される。
【００４６】
時間Ｔ１では、ライトリクエストがあり、このときの０ビット目のライトデータがＨであったとする。このタイミングでは、信号４０６はＨとなっており、信号４０１はＬとなる。時間Ｔ１における各ビットの信号変化量が８以下だった場合、信号４０２はＬとなり、信号４０３はＬとなる。信号４０４はＬとなり、拡張バッファ回路の０ビット目にクロックが供給されず、Ｈを保持し続け、ＷＤ０はＨとなる。
【００４７】
時間Ｔ５ではライトリクエストがあり、このときの０ビット目のライトデータがＨであったとする。このとき、信号４０６は時間Ｔ４のライトデータであるＨとなっており、信号４０１はＬとなる。時間Ｔ５における各ビットの信号変化量が８以上だった場合、信号４０２はＨとなり、信号４０３はＨとなる。信号４０４はＨとなり、拡張バッファ回路の０ビット目にクロックが供給される。拡張バッファ回路にクロックが供給され信号４０６ならびにＷＤ０はＬとなる。
【００４８】
信号４０２がＨであり、時間Ｔ４におけるＷＤ１６がＬであったため、拡張バッファ回路の１６ビット目にはクロックが供給されＨとなる。このときデュアルポートメモリには外部から入力されるライトデータの反転したデータが格納され、ＷＤ１６には１が格納される。
【００４９】
また、読出し時はリードデータの１６ビット目に着目する。リードデータの１６ビット目がＬの場合、そのままのデータを読み取り、１６ビット目がＨの場合はリードデータを反転させる。これにより、所望のリードデータを得ることができる。
【産業上の利用可能性】
【００５０】
本発明にかかるＦＩＦＯメモリは、低消費電力化の機能を有し、携帯電話向けＬＳＩ（Large Scale Integration）等として有用である。またモバイル端末等の用途にも応用できる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態１のＦＩＦＯメモリの構成の一例を示すブロック図
【図２】本発明の実施の形態２のＦＩＦＯメモリの構成の一例を示すブロック図
【図３】実施の形態２のグレイカウンタの具体例を示す図
【図４】本発明の実施の形態３のＦＩＦＯメモリの構成の一例を示すブロック図
【図５】図４に示すＦＩＦＯメモリの具体例（一部分）を示す図
【図６】図５に示すＦＩＦＯメモリのタイミングチャート
【符号の説明】
【００５２】
１０１  ライトポインタ生成回路
１０２  リードポインタ生成回路
１０３  書込み制御回路
１０４  読出し制御回路
１０５  バッファ回路
１０６  コンパレータ回路
１０７  エンコーダ回路
１０８  デュアルポートメモリ
１０９  デコーダ回路
２０１  ライトポインタ制御回路
２０２  リードポインタ制御回路
３０５  拡張バッファ回路
３０６  拡張コンパレータ回路
３１０  バッファクロック制御回路
３１１  ライトクロック制御回路
３１２  リードクロック制御回路
ＷＤ    ライトデータ
ＷＰ    ライトポインタ（ライトアドレス）
ＷＥ    ライトイネーブル
ＷＣＬＫ  書込みクロック
ＲＰ    リードポインタ
ＲＥ    リードイネーブル
ＲＣＬＫ  読出しクロック
【図１】
2006172672.tif 000003
【図２】
2006172672.tif 000004
【図３】
2006172672.tif 000005
【図４】
2006172672.tif 000006
【図５】
2006172672.tif 000007
【図６】
2006172672.tif 000008