(57)【特許請求の範囲】
【請求項１】
データが書き込んだ順序で読み出されるＦＩＦＯ機能を有する半導体記憶装置において、
データを格納する複数のメモリセルをマトリクス状に配置したメモリアレイと、
所定のクロック信号に同期してカウントアップして、前記メモリアレイに対する読み出し用アドレスを生成するアドレスカウンタと、
外部から制御信号線を介して入力される制御信号に基づいて前記所定のクロック信号を生成し、前記アドレスカウンタを制御し、テストモードの間、前記制御信号線を介して入力した制御信号に基づき選択信号を生成する制御手段と、
前記アドレスカウンタから出力されるアドレスと前記メモリアレイからのデータのいずれかを前記選択信号に基づいて選択して、データのビット数に対応するデータ信号線から外部に出力する出力手段と、
を有し、
前記読み出し用アドレスを構成する複数ビットを、１グループが前記データのビット数以下となるように、所定数のグループに分割しておき、  前記出力手段は、前記アドレスカウンタから出力されるアドレスを出力する場合に、所定数のグループに分割された前記読み出し用アドレスのビットを前記選択信号に基づいてグループ単位で選択して出力する
ことを特徴とする半導体記憶装置。
【請求項２】
前記制御手段は、テストモードに移行した時に、入力した前記制御信号の値をラッチすると共に、テストモードの間、前記制御信号線を介して入力された制御信号の一部を前記選択信号として前記出力手段に出力することを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体記憶装置に関し、特に、データを入力した順に出力するＦＩＦＯ機能を有するメモリに関する。
【０００２】
【従来の技術】
従来より、データを入力した順に出力する、すなわち、先入れ先出し（First in First out）機能を有するメモリ（以下「ＦＩＦＯメモリ」という。）がある。従来のＦＩＦＯメモリは、外部からアドレスを入力する代わりに、クロック信号によりカウンタをカウントアップし、そのカウント値をアドレス入力として書き込み、読み出し動作を行なっている。
【０００３】
図１２に従来のＦＩＦＯメモリの構成を示す。ＦＩＦＯメモリは、データを記憶する複数のメモリセルをマトリクス上に配置したメモリアレイ１１を備える。このメモリアレイ１１に対してデータ入力回路１９を介してデータが書き込まれ、書き込まれた順にデータ出力回路２１を介してデータが読み出される。
【０００４】
ＦＩＦＯメモリにおいて、メモリアレイ１への書き込みアドレスは、書き込みクロック信号ＷＣＫによりアドレスカウンタ１５ｂをカウントアップすることにより得られる。メモリアレイ１への読み出しアドレスは、読み出しクロック信号ＲＣＫによりアドレスカウンタ１５ａをカウントアップすることにより得られる。アドレスカウンタ１５ａ、１５ｂは、制御回路１７ａ、１７ｂから与えられるクロック信号（ＷＣＫ、ＡＷＣＫ、ＲＣＫ、ＡＲＣＫ）と、イネーブル信号（ＲＥＮ、ＷＥＮ）とからアドレス信号を生成する。このアドレス信号は行／列デコーダ１３ａ、１３ｂに与えられ、行／列デコーダ１３ａ、１３ｂがアドレスをデコードし、メモリアレイ１１のアクセスされるセルが選択される。
【０００５】
【発明が解決しようとする課題】
以上のように、従来のＦＩＦＯメモリでは、読み出し／書き込みアドレスは外部から与えられず、メモリ内部で生成される。このため、メモリアレイ１１に不良がある場合に、その不良が生じたアドレスを直接的に求めることができず、不良が生じたテストパターンのパターン数等から換算して求めるしかない。半導体チップ内で使用されるＦＩＦＯメモリが単独でテストできる場合はそのような方法でも不良箇所を特定することができるが、システムの一部としてＦＩＦＯを使用している場合は、そのような方法では不良箇所の特定はきわめて困難となる。
【０００６】
アドレスの観測性を向上する方法として、ＦＩＦＯメモリに対し外部よりアドレスを入力し、アドレスを直接的に制御する方法がある（特開平８−１６１９００号公報参照）。この場合は、外部から入力されたアドレスと内部で生成したアドレスのいずれかを選択する回路が必要となり、回路規模が増大し、処理速度が低下する。また、外部からアドレスを入力するための信号線も別途必要となり、ＦＩＦＯメモリを使用する半導体チップ全体の回路面積の増大を招く。また、単純にアドレスカウンタの信号を外部に引き出す方法も考えられるが、この場合でも、信号線の増加及びその信号線上での消費電流の増加を招く。
【０００７】
本発明は上記課題を解決すべくなされたものであり、その目的とするところは、ＦＩＦＯ機能を有する半導体記憶装置において、簡単な構成で不良アドレスの特定を容易に可能とする半導体記憶装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、データが書き込んだ順序で読み出されるＦＩＦＯ機能を有する半導体記憶装置において、データを格納する複数のメモリセルをマトリクス状に配置したメモリアレイと、所定のクロック信号に同期してカウントアップして、メモリアレイに対する読み出し用アドレスを生成するアドレスカウンタと、外部から制御信号線を介して入力される制御信号に基づいて所定のクロック信号を生成し、アドレスカウンタを制御し、テストモードの間、制御信号線を介して入力した制御信号に基づき選択信号を生成する制御手段と、アドレスカウンタから出力されるアドレスとメモリアレイからのデータのいずれかを外部から入力される選択信号に基づいて選択して、データのビット数に対応するデータ信号線から外部に出力する出力手段と、を有し、読み出し用アドレスを構成する複数ビットを、１グループがデータのビット数以下となるように、所定数のグループに分割しておき、出力手段は、アドレスカウンタから出力されるアドレスを出力する場合に、所定数のグループに分割された読み出し用アドレスのビットを選択信号に基づいてグループ単位で選択して出力する。
【０００９】
より好ましくは、制御手段は、テストモードに移行した時に、入力した制御信号の値をラッチすると共に、テストモードの間、制御信号線を介して入力された制御信号の一部を選択信号として出力手段に出力する。
【００１２】
【発明の実施の形態】
以下添付の図面を参照して、本発明に係る半導体記憶装置の実施の形態を詳細に説明する。なお、以下の説明において信号名の最後の「Ｂ」の文字は、その信号がアクティブ・ローで動作することを示す。
【００１３】
＜実施の形態１＞
（ＦＩＦＯメモリの構成）
図１に本発明に係るＦＩＦＯメモリの構成例を示す。
ＦＩＦＯメモリは、データを記憶する複数のメモリセルをマトリクス状に配置したメモリアレイ１１と、行／列デコーダ１３ａ、１３ｂと、読み出し／書き込みアドレスを生成するアドレスカウンタ１５ａ、１５ｂと、アドレスカウンタ１５ａ、１５ｂを制御する制御回路１７ａ、１７ｂと、メモリアレイ１１にデータを入力するデータ入力回路１９と、メモリアレイ１１からデータを出力するデータ出力回路２１とを備える。メモリアレイ１１はデータの書き込み、読み出しを非同期で可能とする２ポートメモリである。
【００１４】
行列デコーダ１３ａ、アドレスカウンタ１５ａ及び制御回路１７ａはデータの読み出し動作を制御するための回路であり、行列デコーダ１３ｂ、アドレスカウンタ１５ｂ及び制御回路１７ｂはデータの書き込み動作を制御するための回路である。
【００１５】
さらに、ＦＩＦＯメモリは、読み出しアドレスを生成するアドレスカウンタ１５ａの出力信号線に接続されたパラレル／シリアル変換回路２３を備えている。パラレル／シリアル変換回路２３は、テストモード時には、クロック信号ＦＡＤＣＫを入力し、このクロック信号ＦＡＤＣＫに同期して、アドレスカウンタ１５ａのパラレルデータをシリアルデータＦＡＤＯＵＴに変換して外部に出力する（詳細は後述）。
【００１６】
図２にアドレスカウンタ１５ａの構成例を示す。アドレスカウンタ１５ａはカウンタ部２９とバッファ部３０とを有する。制御回路１７ａより、クロック信号ＲＣＫ、ＡＲＣＫと、イネーブル信号ＲＥＮとが与えられる。カウンタ部２９はクロック信号ＡＲＣＫ、ＡＲＣＫＢにより、インクリメント動作を行ない、インクリメントされたカウンタ値を出力し、バッファ部３０に格納する。バッファ部３０はクロック信号ＲＣＫに応じて行／列デコーダ１３ａにアドレス信号を出力する。なお、アドレスカウンタ１５ｂも同様に構成される。
【００１７】
図３はパラレル／シリアル変換回路２３の回路構成の一例を示した図である。図３は例として４ビットパラレルデータ（ＡＣ0〜ＡＣ3）をシリアルデータＦＡＤＯＵＴに変換する回路の構成を示している。パラレル／シリアル変換回路２３は、複数のＤフリップフロップ３１とセレクタ３３を組み合わせて構成できる。セレクタ３３は通常動作時において入力Ｉ1を、テストモード時において入力Ｉ0を選択する。
【００１８】
また、図４はパラレル／シリアル変換回路２３の別の回路構成を示した図である（４ビットパラレルデータを１ビットシリアルデータに変換する例）。図４のパラレル／シリアル変換回路は２ビットカウンタ３５とマルチプレクサ３７とからなる。２ビットカウンタ３５はクロック信号ＦＡＤＣＫに応じてカウントアップし、マルチプレクサ３７は２ビットカウンタ３５の２ビット出力に応じて入力ビットＡＣ0〜ＡＣ3の１つを順次選択して出力する。
【００１９】
（ＦＩＦＯメモリの通常動作時の読み出し／書き込み）
以上のように構成されるＦＩＦＯメモリにおいてメモリアレイ１１へのデータ書き込み動作について説明する。
【００２０】
書き込み動作は制御回路１７ｂにより制御される。制御回路１７ｂには、リセット信号ＷＲＥＳＢ、ライトイネーブル信号ＷＥＢ、クロック信号ＷＣＫが、ＦＩＦＯメモリの外部より入力される。制御回路１７ｂは、アドレスカウンタ１５ｂに対し、クロック信号ＡＷＣＫ、ＡＷＣＫＢ、ＷＣＫ、ＷＣＫＢ、リセット信号ＷＲＥＳＢを出力する。
【００２１】
アドレスカウンタ１５ｂは、制御回路１７ｂからのクロック信号ＡＷＣＫにしたがいインクリメント動作を行ない、インクリメントされたカウンタ値（書き込みアドレス）をクロック信号ＷＣＫに応じて行／列デコーダ１３ｂに出力する。
【００２２】
このように、アドレスカウンタ１５ｂは制御回路１７ｂからのクロック信号ＡＷＣＫに同期してカウントアップし、書き込みアドレスを生成する。行／列デコーダ１３ｂは、アドレスカウンタ１５ｂで生成されたアドレス信号をデコードし、メモリアレイ１１のデータが書き込まれるセルを選択する。メモリセル１１の選択されたセルに対してデータ入力回路１９を介して入力されたデータが書き込まれる。
【００２３】
次に、メモリアレイ１１からのデータの読み出しについて説明する。
読み出し動作は制御回路１７ａにより制御される。制御回路１７ａには、リセット信号ＲＲＥＳＢ、リードイネーブル信号ＲＥＢ、クロック信号ＲＣＫ、チップイネーブル信号ＣＥＢがＦＩＦＯメモリの外部より入力される。制御回路１７ａは、アドレスカウンタ１５ａに対し、クロック信号ＡＲＣＫ、ＡＲＣＫＢ、ＲＣＫ、ＲＣＫＢ、リセット信号ＲＲＥＳＢを出力する。
【００２４】
アドレスカウンタ１５ａは、制御回路１７ａからのクロック信号ＡＲＣＫにしたがいインクリメント動作を行ない、インクリメントされたカウンタ値（読み出しアドレス）をクロック信号ＲＣＫに応じて行／列デコーダ１３ａに出力する。
【００２５】
このように、アドレスカウンタ１５ａは制御回路１７ａからのクロック信号ＡＲＣＫに同期してカウントアップし、読み出しアドレスを生成する。行／列デコーダ１３ａは、アドレスカウンタ１５ｂで生成されたアドレス信号をデコードし、メモリアレイ１１のデータを読み出すセルを選択する。メモリセル１１の選択されたセルからデータ出力回路２１を介してデータが読み出される。データ出力回路２１からのデータバス上へのデータの読み出しは制御回路１７ａからの出力イネーブル信号ＯＥにより制御される。
【００２６】
以上のように、ＦＩＦＯメモリにおいて、アドレスカウンタ１５ａ、１５ｂによりアドレスを生成して読み出し、書き込み動作を非同期に行なうことによりＦＩＦＯ機能が実現される。
【００２７】
（テストモード時の動作）
ＦＩＦＯメモリのテストモード時の動作について説明する。
テストモード時には、外部よりテストモード信号ＴＥＳＴがアクティブにされる。これにより、アドレスカウンタ１５ａ、シリアル／パラレル変換回路２３はテストモード時の動作を行なう。テストモード時には、アドレスカウンタ１５ａは制御回路１７ａに対し、テストモード信号ＩＴＥＳＴをアクティブにする。制御回路１７ａは信号ＩＴＥＳＴを受け、アドレスカウンタ１５ａへのクロック信号ＡＲＣＫ、ＲＣＫ…の供給を停止する。アドレスカウンタ１５ａはテストモードに入ると、カウントアップ動作を停止し、その時点のカウント値（ＡＤＣＡ）を出力する。パラレル／シリアル変換回路２３は外部より入力するクロック信号ＦＡＤＣＫに同期してアドレスカウンタ１５ａからのパラレルデータをシリアルデータに変換して外部に出力する。
【００２８】
このように、本実施形態のＦＩＦＯメモリは、テストモード時には、読み出しアドレスを与えるアドレスカウンタ１５ａの値を外部に出力するため、アクセスしているセルのアドレスをメモリ外部で認識することができる。また、外部出力の際にシリアルデータに変換するため、信号線（端子）数の増加を抑制できる。
【００２９】
＜実施の形態２＞
図５にＦＩＦＯメモリの別の構成を示す。
前述の実施形態では、パラレル／シリアル変換回路２３はその動作クロック信号として外部より入力するクロック信号ＦＡＤＣＫを用いたが、本実施形態では、動作クロック信号として制御回路１７ａに入力する読み出し用クロック信号ＲＣＫを用いる。この場合、テスト信号ＴＥＳＴによりアドレスカウンタ１５ａでのカウントアップ動作は停止されるが、クロック信号ＲＣＫはパラレル／シリアル変換回路２３に供給され続ける。このように、元々制御回路１７ａに入力されるクロック信号（ＲＣＫ）を用いるため、クロック信号線（ＦＡＤＣＫ）を別途設ける必要がなく、前述の実施形態のＦＩＦＯメモリよりも信号線数を減らすことができる。
【００３０】
＜実施の形態３＞
図６にＦＩＦＯメモリのさらに別の構成を示す。
本実施形態のＦＩＦＯメモリは、アドレスカウンタ１５ａからの出力とメモリアレイ１１からの出力を選択して外部に出力するようにしている。その構成は、実施の形態１の構成においてパラレル／シリアル変換回路２３をとり除き、データ出力回路２１の代わりにデータ／アドレス出力回路２５を設けたものである。
【００３１】
データ／アドレス出力回路２５は、アドレスカウンタ１５ａからのアドレス信号と、メモリアレイ１１からのデータとを入力し、いずれか一方を選択的に出力する。データ／アドレス出力回路２５は、制御回路１７ａからの選択信号ＳＥＬＤＡに基いてアドレスまたはデータのいずれかを選択して出力する。
【００３２】
図７（ａ）にデータ／アドレス出力回路２５の構成の一部を示す。データ／アドレス出力回路２５はマルチプレクサ３９を含む。マルチプレクサ３９はメモリアレイ１１の出力側データ信号線のビット毎に設けられている。マルチプレクサ３９は選択信号ＳＥＬＤＡにしたがい、データビット（ＤＯＵＴＢ）またはアドレスビット（ＡＣＢ）のいずれかを選択して出力する。
【００３３】
このように、本実施形態では、パラレル／シリアル変換回路２３を用いていないため、回路規模を増大させることがない。また、データ信号線を介してアドレスを出力できるため、アドレスの取り出しのための信号線を別途設ける必要がなく、信号線数の増加を抑制できる。
【００３４】
＜実施の形態４＞
本実施形態では、アドレスのビット数がデータのビット数よりも多い場合でもデータ信号線を介してアドレスの出力を可能とするＦＩＦＯメモリの構成を説明する。例えば、データが８ビットでアドレスが１６ビットの場合、１６ビットのアドレスを一度にデータ信号線を介して出力することはできない。このため、アドレスビットをいくつかのグループに分割し、そのグループ毎に、グループに含まれるアドレスビットを出力するようにする。
【００３５】
図８に本実施形態のＦＩＦＯメモリの構成を示す。同図に示すように本実施形態のＦＩＦＯメモリの構成は実施の形態３の構成とほぼ同様であるが、データ／アドレス出力回路２５ｂが異なっている。データ／アドレス出力回路２５ｂには、分割されたアドレスのグループを選択するための選択信号ＳＥＬＤＡｎが入力される。ここで、選択信号ＳＥＬＤＡｎは、分割されたアドレスのグループのそれぞれ及びデータのいずれかを指定できる数のビット数の信号とする。例えば、１６ビットのアドレスを８ビット毎に２つのグループに分割する場合、２つのグループ及びデータを指定するために２ビット必要となる。このため、選択信号ＳＥＬＤＡｎは２ビットとなる。また、１６ビットのアドレスを４ビット毎に４つのグループに分割する場合、４つのグループ及びデータを指定するために３ビット必要となり、選択信号ＳＥＬＤＡｎは３ビットとなる。
【００３６】
図７（ｂ）に、アドレスを２つのグループに分割したときのデータ／アドレス出力回路２５ｂの構成の一部を示す。選択信号ＳＥＬＤＡｎは選択信号ＳＥＬＤＡ0及び選択信号ＳＥＬＤＡ1からなる２ビットの信号である。データ／アドレス出力回路２５ｂはデータ信号線のビット毎にマルチプレクサ３９ｂを備える。マルチプレクサ３９ｂは選択信号ＳＥＬＤＡ0及びＳＥＬＤＡ1にしたがい、データビット（ＤＯＵＴＢ）またはアドレスビット（ＡＣ0Ｂ）もしくはアドレスビット（ＡＣ1Ｂ）のいずれかを選択して出力する。ここで、アドレスビット（ＡＣ0Ｂ）は第１のグループに属するビットであり、アドレスビット（ＡＣ1Ｂ）は第２のグループに属するビットである。
【００３７】
図７（ｃ）はアドレスをｎ＋１個のグループに分割したときのデータ／アドレス出力回路２５ｂの構成の一部を示した図である。選択信号ＳＥＬＤＡｎは、データ及びｎ＋１個のグループのそれぞれのうちの一つを選択できるようなビット数となる。データ／アドレス出力回路２５ｂはデータ信号線のビット毎に設けられたマルチプレクサ３９ｃを備える。マルチプレクサ３９ｃは選択信号ＳＥＬＤＡ0〜ＳＥＬＤＡｘにしたがい、データビット（ＤＯＵＴＢ）またはアドレスビット（ＡＣ0Ｂ、ＡＣ1Ｂ…又はＡＣｎＢ）のいずれかを選択して出力する。なお、アドレスビットＡＣiＢ（i=0,1…n）は第i番目のビットグループに属するビットである。
【００３８】
＜実施の形態５＞
本実施形態のＦＩＦＯメモリは実施の形態４のＦＩＦＯメモリにおいて、データ／アドレス出力回路に入力する選択信号ＳＥＬＤＡｎを、制御回路１７ａに入力する信号線の一部を利用して入力するようにしたものである。図９にその構成を示す。例えば、制御回路１７ａに入力する制御信号線ＲＣＫ、ＣＥＢ等を介して外部より選択信号ＳＥＬＤＡｎを入力するようにする。このように既存の信号線を使用して選択信号ＳＥＬＤＡｎを入力することにより、選択信号ＳＥＬＤＡｎのための信号線を別途設ける必要がない。
【００３９】
この場合は、テスト信号ＴＥＳＴによりテストモードにされたときに選択信号ＳＥＬＤＡｎを入力するために使用する制御信号（ＲＣＫ、ＣＥＢ等）の値を内部でラッチし、内部状態を保持しておき、この保持した値を制御信号として用いる。このような動作を実現するための制御回路１７ｃの構成の一部を図１０に示す。同図に示すように、制御回路１７ｃにおいてＲＥＢ、ＲＣＫ等の制御信号の信号線にラッチ回路５１が接続され、また、制御信号とＴＥＳＴ信号がＡＮＤ回路５３に入力される。ＡＮＤ回路５３の出力が選択信号ＳＥＬＤＡｎの一部として使用される。
【００４０】
＜実施の形態６＞
前述の実施形態では、メモリアレイ１１が２ポートメモリの場合であったが、本発明に係る思想は１ポートメモリの場合にも適用可能である。以下に１ポートメモリへの適用例を説明する。
【００４１】
図１１に、実施の形態１のＦＩＦＯメモリを１ポートメモリを用いたＦＩＦＯメモリに適用した場合の構成例を示す。同図に示すようにＦＩＦＯメモリは読み出しアドレス又は書き込みアドレスを選択するセレクタ４５を有する。アドレスカウンタ１５ａ、１５ｂは制御回路１７ｄにより制御される。メモリアレイ１１ｂは１ポートメモリである。１ポートメモリを用いた場合、一時に、メモリアレイ１１ｂに対して書き込み及び読み出しのいずれかの動作しか行うことができない。このため、セレクタ４５が、読み出しアドレス用アドレスカウンタ１５ａと書き込みアドレス用アドレスカウンタ１５ｂのいずれかの出力を選択し、行／列デコーダ１３ｃに出力する。セレクタ４５は制御信号ＲＥＢ、ＷＥＢ等の制御信号に基いてかかる選択を行なう。
【００４２】
図１１に示すＦＩＦＯメモリにおいても、実施の形態１の場合と同様に、アドレスカウンタ１５ａ、パラレル／シリアル変換回路２３が動作することにより、テストモード時において、読み出しアドレス用アドレスカウンタ１５ａの出力をパラレル／シリアル変換回路２３で外部に取り出しが可能になり、不良セルのアドレスを外部で認識することが可能となる。
【００４３】
実施の形態２ないし実施の形態５に示した思想についても、上記と同様にして１ポートメモリの場合に適用できる。
【００４４】
【発明の効果】
本発明によれば、簡単な構成でＦＩＦＯメモリにおいて内部で生成する読み出し用アドレスをテストモード時において外部に取り出すことができ、メモリにおいて不良箇所がある場合に、容易にその不良箇所（不良アドレス）を特定することができる。
【図面の簡単な説明】
【図１】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態１）
【図２】  アドレスカウンタの構成を示した図
【図３】  パラレル／シリアル変換回路の構成例を示した図
【図４】  パラレル／シリアル変換回路の別の構成例を示した図
【図５】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態２）
【図６】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態３）
【図７】  データ／アドレス出力回路の構成を示した図
【図８】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態４）
【図９】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態５）
【図１０】  制御回路の構成の一例を示した図（実施の形態５）
【図１１】  本発明に係るＦＩＦＯメモリの構成を示した図（実施の形態６）
【図１２】  従来のＦＩＦＯメモリの構成を示した図
【符号の説明】
１１  メモリアレイ（２ポートメモリ）
１１ｂ  メモリアレイ（１ポートメモリ）
１３ａ、１３ｂ、１３ｃ  行／列デコーダ
１５ａ、１５ｂ  アドレスカウンタ
１７ａ、１７ｂ、１７ｃ、１７ｄ  制御回路
２３  シリアル／パラレル変換回路
２５、２５ｂ  データ／アドレス出力回路
【図１】
0004113711.tif 000002
【図２】
0004113711.tif 000003
【図３】
0004113711.tif 000004
【図４】
0004113711.tif 000005
【図５】
0004113711.tif 000006
【図６】
0004113711.tif 000007
【図７】
0004113711.tif 000008
【図８】
0004113711.tif 000009
【図９】
0004113711.tif 000010
【図１０】
0004113711.tif 000011
【図１１】
0004113711.tif 000012
【図１２】
0004113711.tif 000013