(57)【特許請求の範囲】
【請求項１】
メモリリードアクセス信号のエッジに基づいてリードアドレス信号がラッチされ、リードクロック信号に同期してデータが読み出されるメモリと、
前記リードクロック信号に同期させて、互いに位相が一致したリードカウンタクロック信号とメモリリードアクセス信号とを生成し、かつ、リセット信号がアクティブになった後に、前記リードクロック信号に同期してアクティブとなるリードカウンタリセット信号を生成するリードコントローラと、
前記リードクロック信号に同期させてアドレス値の異なる第１のリードアドレス信号を順次発生し、前記リードカウンタリセット信号がアクティブの時にリセットされるリードカウンタと、
少なくとも前記リードカウンタからの前記第１のリードアドレス信号と、前記リセット信号とに基づいて、第２のリードアドレス信号を前記メモリに出力するリードアドレス設定回路と、
を有し、
前記メモリリードアクセス信号のエッジに基づいて前記第２のリードアドレス信号がラッチされ、
前記リードアドレス設定回路は、
前記特定アドレス値を記憶したアドレスレジスタと、
前記アドレスレジスタからの前記特定アドレス値と前記リードアドレスカウンタのからの前記第１のリードアドレス信号うちの一方を、前記リセット信号に基づいて選択して前記第２のリードアドレス信号として出力するセレクタと、
を有し、
前記セレクタからの前記第２のリードアドレス信号のアドレス値は、前記リセット信号がノンアクティブの時に前記第１のリードアドレス信号のアドレス値に基づいて設定され、前記リセット信号がアクティブの時には、リセットされた後の前記リードカウンタから前記第１アドレス信号が出力される前に、前記第１のリードアドレス信号の論理に拘わらず前記リードクロック信号と非同期にて前記特定アドレス値に設定されることを特徴とする半導体記憶装置。
【請求項２】
メモリリードアクセス信号のエッジに基づいてリードアドレス信号がラッチされ、リードクロック信号に同期してデータが読み出されるメモリと、
前記リードクロック信号に同期させて、互いに位相が一致したリードカウンタクロック信号とメモリリードアクセス信号とを生成し、かつ、リセット信号がアクティブになった後に、前記リードクロック信号に同期してアクティブとなるリードカウンタリセット信号を生成するリードコントローラと、
前記リードクロック信号に同期させてアドレス値の異なる第１のリードアドレス信号を順次発生し、前記リードカウンタリセット信号がアクティブの時にリセットされるリードカウンタと、
少なくとも前記リードカウンタからの前記第１のリードアドレス信号と、前記リセット信号とに基づいて、第２のリードアドレス信号を前記メモリに出力するリードアドレス設定回路と、
を有し、
前記メモリリードアクセス信号のエッジに基づいて前記第２のリードアドレス信号がラッチされ、
前記リードアドレス設定回路からの前記第２のリードアドレス信号のアドレス値は、前記リセット信号がノンアクティブの時に前記第１のリードアドレス信号のアドレス値に基づいて設定され、前記リセット信号がアクティブの時には、リセットされた後の前記リードカウンタから前記第１アドレス信号が出力される前に、前記第１のリードアドレス信号の論理に拘わらず、前記リードクロック信号と同期させて前記特定アドレス値に変更されることを特徴とする半導体記憶装置。
【請求項３】
請求項２において、
前記リードカウンタの出力線はｎ本であり、
前記リードアドレス設定回路は、
前記リードクロック信号と前記リセット信号とに基づいてゲート制御信号を生成するゲート制御回路と、
前記ｎ本の出力線のいずれか一つのからの信号と、前記ゲート制御回路からの出力信号とがそれぞれ入力されるｎ個の論理ゲートと、
を有することを特徴とする半導体記憶装置。
【請求項４】
請求項２において、
前記リードアドレス設定回路は、
前記特定アドレス値を記憶したアドレスレジスタと、
前記リードクロック信号と前記リセット信号とに基づいてセレクタ制御信号を生成するセレクタ制御回路と、
前記アドレスレジスタからの前記特定アドレス値と前記リードアドレスカウンタからの前記第１のリードアドレス信号のうちの一方を、前記セレクタ制御信号に基づいて選択して前記第２のリードアドレス信号として出力するセレクタと、
を有することを特徴とする半導体記憶装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記リードアドレス設定回路は、前記リセット信号がアクティブの時に、前記第２のリードアドレス信号の前記特定アドレス値として０アドレスを設定することを特徴とする半導体記憶装置。
【請求項６】
請求項１または４において、
前記アドレスレジスタは、前記特定アドレス値を任意に設定可能であることを特徴とする半導体記憶装置。
【発明の詳細な説明】
技術分野
本発明は半導体記憶装置に関し、詳しくは、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ）等のメモリにて、外部クロックに従ってアドレス値を順次指定し、リセット時に特定アドレスに戻す動作を行う半導体記憶装置に関する。
背景技術
図１５は、従来のクロック同期型の半導体記憶装置６００のブロック図である。図１５には、ＦＩＦＯメモリ６０１と、そのリードアドレスを指定する回路とが示されている。ＦＩＦＯメモリ６０１のリードアドレスを指定するために、リードコントローラ６０２と、リードカウンタ６０３と、遅延回路６０４とを設けている。
リードコントローラ６０２には、リードクロック信号ＲＣＫとリセット信号ＲＲＳとが入力される。リードコントローラ６０２は、リードクロック信号ＲＣＫに同期させて、リードカウンタクロック信号ＣＮＴとメモリリードアクセス信号ＣＳとを発生する。またリードコントローラ６０２は、リセット信号ＲＲＳのＬＯＷレベルを検知して、リードカウンタリセット信号ＲＳを発生する。
リードカウンタ６０３は、リードカウンタクロック信号ＣＮＴをカウントアップしてアドレス値を１つずつ更新しながら、リードクロック信号ＣＮＴと同期させてリードアドレス信号Ａｎを発生する。ＦＩＦＯメモリ６０１は、メモリリードアクセス信号ＣＳの立ち下がりでアドレス信号Ａｎをラッチするクロック同期型メモリである。なお、遅延回路６０４にて遅延されたメモリリードアクセス信号ＣＳ’を生成する理由については後述する。
図１６には、この半導体記憶装置６００の読み出し動作に関するタイミングチャートが示されている。
図１６に示す時刻ｔ１にて、外部クロック信号ＲＣＫが立ち上がる。この外部クロック信号ＲＣＫの立ち上がりに同期して、時刻ｔ２にメモリリードアクセス信号ＣＳが立ち下がり、ＦＩＦＯメモリ６０１はリード状態に入る。
このとき、リードカウンタ６０３は、図１６に示す通りアドレス信号Ａｎとして“Ｎ”を保持している。
ＦＩＦＯメモリ６０１は、メモリリードアクセス信号ＣＳの時刻ｔ２における立ち下がりで、アドレス信号Ａｎをラッチする。よって、ＦＩＦＯメモリ６０１は、時刻ｔ２にてラッチしたアドレス信号Ａｎ（アドレス値Ｎ）と対応するデータＹｎを読み出すＮリードサイクルを実施することができる。
ただし、実際にはメモリリードアクセス信号ＣＳを遅延回路６０４にて図１６の時間ｔｄｌｙだけ遅延させたメモリリードアクセス信号ＣＳ’を生成し、その信号ＣＳ’の立ち下がりにてアドレス信号Ａｎをラッチしている。このため、データＹｎは、Ｎリードサイクルの開始時刻ｔ１から所定のアクセス時間ｔａｃｓ経過後にＦＩＦＯメモリ６０１より読み出されるが、このアクセス時間ｔａｃｓについては後述する。
データＹｎが読み出された後の時刻ｔ３にて、外部クロックＲＣＫが立ち下がると、時刻ｔ４にてカウンタクロックＣＮＴが立ち下がり、メモリリードアクセス信号ＣＳ，ＣＳ’が立ち上がる。このメモリリードアクセス信号ＣＳ，ＣＳ’の立ち上がりによってメモリアクセスが終了する。その一方、リードカウンタ６０３は、カウンタクロックＣＮＴの立ち下がりでカウントアップして、その出力であるアドレス信号Ａｎとして値Ｎ＋１を出力し、次のリードサイクルに備える。
ここで、図１６では、時刻ｔ３にて外部クロックＲＣＫが立ち下がった後であって、次に立ち上がる時刻ｔ６より前の時刻ｔ５にて、リセット信号ＲＲＳがＬＯＷに変化する場合を示している。
リセット信号ＲＲＳがＬＯＷとなるリセットサイクルでは、ＦＩＦＯメモリ６０１は、そのサイクル内でメモリアドレス０へのリードアクセスを実現する必要がある。
このために、図１６に示す時刻ｔ６でのクロック信号ＲＣＫの立ち上がりに同期してカウンタリセット信号ＲＳが立ち下がり、時刻ｔ７にてリードカウンタ６０３からのアドレス信号Ａｎは“０”になる。
ここで、上述したＮリードサイクルでは、リードカウンタ６０３からのアドレス信号Ａｎが“Ｎ”となるタイミングは、図１６に示す時刻ｔ４よりも半周期前のクロック信号ＲＣＫの立ち下がりに同期している。すなわち、リードカウンタ６０３からのアドレス信号Ａｎが“Ｎ”となるタイミングは、Ｎリードサイクルに入る以前に設定されている。
ところが、リセットサイクルにおいては、リードカウンタ６０３からのアドレス信号Ａｎが“０”になるタイミングは、そのリセットサイクルの開始時点に設定されてしまう。
この場合、メモリリードアクセス信号ＣＳが立ち下がる時刻ｔ７のタイミングにてアドレス信号Ａｎをラッチすると、未だアドレス信号Ａｎは“Ｎ”から“０”に変化していない。このように、リセットサイクルでのアドレスセットアップ時間の確保ができないか、あるいは困難となる。
これを回避するために、上述した通り、メモリリードアクセス信号ＣＳを遅延回路６０４にて図１６の時間ｔｄｌｙだけ遅延させたメモリリードアクセス信号ＣＳ’を生成し、その信号ＣＳ’の立ち下がり（時刻ｔ８）にてアドレス信号Ａｎをラッチしている。
しかしながら、遅延回路６０４にてメモリリードアクセス信号ＣＳを遅延させると、リセットサイクルのみならず通常サイクルでもアドレスラッチタイミングが時間ｔｄｌｙだけ遅れ、ＦＩＦＯメモリ６０１のアクセス時間ｔａｃｓが図１６の通り増加していた。
特に、ＦＩＦＯメモリ６０１のワード数を増加した場合には、リードカウンタ６０３が占有する回路面積が大きくなり、リセットサイクルを実現するための配線長も長くなる。このことは、リードカウンタ６０３内及びその出力線上での信号遅延が助長されることを意味し、リードカウンタ６０３からのアドレス０がＦＩＦＯメモリ６０１に伝送される時間がさらに増大することを意味する。その結果、上記の欠点がより顕著に現れることになる。
そこで、本発明の目的は、リセットサイクルにてアドレスセットアップ時間を確保しながらも、通常サイクル及びリセットサイクルでのメモリアクセス時間を短縮して高速動作を可能とした半導体記憶装置を提供することにある。
本発明の他の目的は、リセットサイクルにてリードアドレス信号をアドレス０等の特定アドレス値に変化させるタイミングを、リードクロック信号と非同期とすることで、さらなる高速動作を可能とした半導体記憶装置を提供することにある。
発明の開示
本発明に係る半導体記憶装置は、
リードクロック信号に同期してデータが読み出されるメモリと、
リードクロック信号に同期させて、リードカウンタクロック信号とメモリリードアクセス信号とを生成し、かつ、リセット信号がアクティブになった後に、リードクロック信号に同期してアクティブとなるリードカウンタリセット信号を生成するリードコントローラと、
リードクロック信号に同期させてアドレス値の異なる第１のリードアドレス信号を順次発生し、リードカウンタリセット信号がアクティブの時にリセットされるリードカウンタと、
少なくともリードカウンタからの第１のリードアドレス信号と、リセット信号とに基づいて、第２のリードアドレス信号をメモリに出力するリードアドレス設定回路と、
を有し、
リードアドレス設定回路からの第２のリードアドレス信号のアドレス値は、リセット信号がノンアクティブの時に第１のリードアドレス信号のアドレス値に基づいて設定され、リセット信号がアクティブの時に第１のリードアドレス信号の論理に拘わらず特定アドレス値に設定されることを特徴とする。
本発明によれば、メモリに供給される第２のリードアドレス信号のアドレス値を、通常リードサイクルではリードカウンタからの第１のリードアドレス信号に基づいて設定するのに対して、リセットサイクルではリードカウンタとは別系統にて設定している。このため、カウンタリセット信号がアクティブとなるのを待ってリセット動作し、かつ内部遅延の生ずるリードカウンタの出力に頼らずに、リセットサイクルでの特定アドレス値を設定できる。よって、リセットサイクルにてリードアドレス信号（第２のリードアドレス信号）を特定アドレス値に設定するタイミングが速まり、メモリリードアクセス信号を必ずしも遅延させることなく、アドレスセットアップ時間を確保して、高速動作を実現できる。
本発明では、リードアドレス設定回路は、リセット信号がアクティブの時に、第２のリードアドレス信号のアドレス値を、リードクロック信号と非同期にて特定アドレス値に変更することが好ましい。
こうすると、リセット信号がアクティブとなった後のリードクロック信号の変化を待たずに、第２のリードアドレス信号を特定アドレス値に設定でき、さらなる高速動作が実現できる。
本発明では、リードアドレス設定回路は、リセット信号がアクティブの時に、リセット信号の論理に基づいて第２のリードアドレス信号の特定アドレス値を設定することができる。
この一例として、リードカウンタの出力線がｎ本である場合、リードアドレス設定回路は、ｎ本の出力線のいずれか一つのからの信号と、リセット信号とがそれぞれ入力されるｎ個の論理ゲートにて構成することができる。
このようにリードアドレス設定回路は、リセット信号がアクティブの時に、第２のリードアドレス信号の特定アドレス値として０アドレスを容易に設定することができる。具体的には、リセット信号がＬＯＷアクティブであれば、ｎ個の論理ゲートはアンドゲートで構成すればよい。また、リセット信号がＨＩＧＨアクティブであれば、ｎ個の論理ゲートはノアゲートで構成すればよい。このように、リードアドレス設定回路は１段の論理ゲート群にて構成することができ、信号遅延が少ないので、高速動作に適している。また、ノアゲートはアンドゲートより信号遅延が少ないので、より高速動作に適している。
本発明では、リードアドレス設定回路は、
特定アドレス値を記憶したアドレスレジスタと、
アドレスレジスタからの特定アドレス値とリードアドレスカウンタのからの第１のリードアドレス信号うちの一方を、リセット信号に基づいて選択して前記第２のリードアドレス信号として出力するセレクタと、
を有する構成としても良い。
この場合にもリセットサイクルでは、セレクタからはリードクロックと非同期で特定アドレス値が設定された第２のリードアドレス信号が選択されるので、高速動作が可能となる。
本発明においては、リードアドレス設定回路は、リセット信号がアクティブの時に、第２のリードアドレス信号のアドレス値を、リードクロック信号と同期させて特定アドレス値に変更してもよい。
このようにしても、カウンタリセット信号がアクティブとなるのを待ってリセット動作し、かつ内部遅延の生ずるリードカウンタの出力に頼らずに、リセットサイクルでの特定アドレス値を設定できる。従って、リセットサイクルでもリードカウンタの出力に頼っていた従来よりも、高速動作を実現できる。
このようなリードアドレス回路は、リードカウンタの出力線をｎ本とした時、リードクロック信号とリセット信号とに基づいてゲート制御信号を生成するゲート制御回路と、ｎ本の出力線のいずれか一つのからの信号とゲート制御回路からの出力信号とがそれぞれ入力されるｎ個の論理ゲートと、を有して構成できる。あるいは、他のリードアドレス設定回路は、特定アドレス値を記憶したアドレスレジスタと、リードクロック信号とリセット信号とに基づいてセレクタ制御信号を生成するセレクタ制御回路と、アドレスレジスタからの特定アドレス値とリードアドレスカウンタからの第１のリードアドレス信号のうちの一方を、セレクタ制御信号に基づいて選択して第２のリードアドレス信号として出力するセレクタと、を有することができる。
このようなリードアドレス設定回路であっても、リセット信号がアクティブの時に、第２のリードアドレス信号の特定アドレス値として０アドレスを設定することができる。
また、アドレスレジスタを用いる場合には、０アドレスを含む任意のアドレス値に設定可能である点で優れている。
発明を実施するための最良の形態
以下、本発明をより詳細に説明するために、添付の図面に従ってこれを説明する。
＜第１の実施の形態＞
（半導体記憶装置の構成）
図１は、本発明の第１の実施の形態に係るクロック同期型の半導体記憶装置１００のブロック図である。図１には、メモリ例えばＦＩＦＯメモリ１０１と、そのリードアドレスを指定する回路とが示されている。このＦＩＦＯメモリ１０１は、例えば通信装置の音声記憶用メモリなどとして利用され、データを一時的に貯え、書き込み動作とは非同期にてそのデータを読み出すことができる。
ＦＩＦＯメモリ１０１のリードアドレスを指定するために、リードコントローラ１０２と、リードカウンタ１０３と、リードアドレス設定回路１１０とを設けている。
リードコントローラ１０２には、半導体記憶装置１００の外部のＣＰＵ等より、リードクロック信号ＲＣＫとリセット信号ＲＲＳとが入力される。リードコントローラ１０２は、リードクロック信号ＲＣＫに同期させて、リードカウンタクロック信号ＣＮＴとメモリリードアクセス信号ＣＳとを発生する。またリードコントローラ１０２は、例えばＬＯＷアクティブのリセット信号ＲＲＳのＬＯＷレベルを検知して、リードカウンタリセット信号ＲＳを発生する。
リードカウンタ１０３は、リードカウンタクロック信号ＣＮＴをカウントアップしてアドレス値を１つずつ更新しながら、リードクロック信号ＣＮＴと同期させて第１のリードアドレス信号Ｑｎを発生する。
ここで、ＦＩＦＯメモリ１０１の記憶容量を例えば１Ｋ×Ｓビットとする。ビット数Ｓは１語、あるいは１画素等に割り当てられるビット数であり、例えば１バイト（８ビット）か、それにパリティの１ビットを加えた９ビットかで構成される。１バイトデータに代えて、１ワード（１６ビット）または１ロングワード（３２ビット）とすることもできる。いずれの場合も、このＦＩＦＯメモリ１０１のアドレス値は１０００（＝１Ｋ）個存在する。このため、本実施の形態での第１のリードアドレス信号Ｑｎのｎの値は、２ｎ≧１０００を満足する値としてｎ＝１０となる。この場合、第１のリードアドレス信号Ｑｎはアドレス値Ｑ０〜Ｑ９にて構成され、アドレスカウンタ１０２の出力線はｎ＝１０本存在する。
図１に示すリードアドレス設定回路１１０は、セレクタ制御回路１１１と、セレクタ１１２と、アドレスレジスタ１１３とを有する。アドレスレジスタ１１３は、特定アドレス値例えばアドレス０（Ｑ００＝Ｑ０１＝…＝Ｑ０９＝０）を記憶している。セレクタ制御回路１１１は、リードクロック信号ＲＣＫとリセット信号ＲＳＳとに基づいてセレクタ制御信号Ｓを生成する。セレクタ１１２は、アドレスレジスタ１１３とリードアドレスカウンタ１０３のうちの一方の出力を、セレクタ制御回路１１１からのセレクタ制御信号Ｓに基づいて選択して出力する。
ここで、セレクタ制御回路１１１は、図２に示すように構成できる。図２において、セレクタ制御回路１１１は、Ｄ型フリップフロップ１２０と、論理ゲート１２１とを有する。Ｄ型フリップフロップ１２０のデータ入力端子Ｄにはリセット信号ＲＲＳが、クロック入力端子Ｃにはリードクロック信号ＲＣＫが入力される。論理ゲート１２１には、Ｄ型フリップフロップ１２０の出力Ｑとリードクロック信号ＲＣＫとが入力され、その出力がセレクタ制御信号Ｓとなる。
アドレスレジスタ１１３がアドレス０を設定するための構成として、図３または図４に示す構成のいずれかを採用することができる。図３はプルダウン構成のアドレスレジスタ１１３を示し、出力Ｑ００〜Ｑ０９の出力線は、２つのインバータ１３０Ａ，１３０Ｂの直列接続からなるバッファ１３０を介して接地されている。図４はプルアップ構成のアドレスレジスタ１１３を示し、出力Ｑ００−Ｑ０９の出力線は、インバータ１３２を介して電源電位ＶＣＣに接続されている。いずれの場合も、出力Ｑ００〜Ｑ０９の論理はＬＯＷ（０）となる。
図１に示すセレクタ１１２は、図５に示すように構成できる。図５に示すように、セレクタ１１２は、第１段目の２０個のアンドゲート１４０−１〜１４０−２０と、第２段目の１０個のオアゲート１４１−１〜１４１−１０とを有して構成できる。奇数番目の１０個のアンドゲート１４０−１〜１４０−１９には、リードカウンタ１０３の出力Ｑ０〜Ｑ９の一つと、セレクタ制御信号Ｓとが入力される。偶数番目の１０個のアンドゲート１４０−２〜１４０−２０には、アドレスレジスタ１１３の出力Ｑ００〜Ｑ０９の一つと、セレクタ制御信号Ｓがインバータ１４２にて反転された信号とが入力される。オアゲート１４１−１〜１４１−１０には、奇数番目と偶数番目のアンドゲートの出力が２入力される。
図１に示すように、リードアドレス設定回路１０４の出力Ａｎ（Ａ０〜Ａ９）が、ＦＩＦＯメモリ１０１に供給される。
ＦＩＦＯメモリ１０１では、メモリリードアクセス信号ＣＳに同期して第２のリードアドレス信号Ａｎをラッチし、そのアドレスＡｎと対応するデータＹｎが読み出される。
次に、図１に示す半導体記憶装置１００でのデータ読み出し動作について、図６のタイミングチャートを参照して説明する。なお、図６は例えば先頭アドレス０から順次一つずつ更新されたリードアドレスを指定た後の、アドレスＮと対応するデータ読み出しを実施するＮリードサイクル以降のサイクルを示している。
（Ｎリードサイクル）
図６において、リセット信号ＲＲＳがノンアクティブ（ＨＩＧＨ）の期間での時刻ｔ１にて、外部クロック信号ＲＣＫが立ち上がる。この外部クロック信号ＲＣＫの立ち上がりに同期して、時刻ｔ２にメモリリードアクセス信号ＣＳが立ち下がり、ＦＩＦＯメモリ１０１はリード状態に入る。
このとき、リードカウンタ１０３は、カウンタクロックＣＮＴの時刻ｔ２の立ち上がりより半周期前の立ち下がりによってカウントアップを終了しており、従って時刻ｔ２では、図６に示す通りカウンタ出力値Ｑｎ（第１のリードアドレス信号のアドレス値）は“Ｎ”を保持している。
ここで、リセット信号ＲＲＳはノンアクティブ（ＨＩＧＨ）であるので、図２に示すセレクタ制御回路１０２のＤ型フリップフロップ１２０のＱ出力は常にＨＩＧＨとなる。従って、図２に示す論理ゲート１２１の出力であるセレクタ制御信号ＳもＨＩＧＨとなる。このため、リードアドレス設定回路１０４のセレクタ１１２は、図５に示すアンドゲート１４０−１〜１４０−２０での論理積及びオアゲート１４１−１〜１４１−９での論理和動作に従い、リードカウンタ１０３の出力値Ｑ１〜Ｑ１０を選択して出力する。こうして、リセット信号ＲＲＳがノンアクティブの時には、リードカウンタ１０３の出力値の論理と同じ第２のリードアドレス信号Ａｎ（＝Ｑｎ）が、ＦＩＦＯメモリ１０１に供給される。
ＦＩＦＯメモリ１０１は、メモリリードアクセス信号ＣＳの時刻ｔ２における立ち下がりで、第２のリードアドレス信号Ａｎをラッチする。このとき、時刻ｔ２では第２のリードアドレス信号Ａｎの値はＮで安定している。よって、ＦＩＦＯメモリ１０１は、時刻ｔ２にてラッチした第２のリードアドレス信号Ａｎ（アドレス値Ｎ）と対応するデータＹｎを読み出すＮリードサイクルを実施することができる。なお、データＹｎは、Ｎリードサイクルの開始時刻ｔ１から所定のアクセス時間ｔａｃｓ経過後にＦＩＦＯメモリ１０１より読み出される。
データＹｎが読み出された後の時刻ｔ３にて、外部クロックＲＣＫが立ち下がると、時刻ｔ４にてカウンタクロックＣＮＴが立ち下がり、メモリリードアクセス信号ＣＳが立ち上がる。このメモリリードアクセス信号ＣＳの立ち上がりによってメモリアクセスが終了する。その一方、リードカウンタ１０３は、カウンタクロックＣＮＴの立ち下がりでカウントアップして、その出力である第１のリードアドレス信号Ｑｎとして値Ｎ＋１を出力し、次のリードサイクルに備える。このとき、リセット信号ＲＲＳがノンアクティブであるので、リードアドレス設定回路１０４からの第２のリードアドレス信号Ａｎも値Ｎ＋１に変化するが、この値は未だＦＩＦＯメモリ１０１にラッチされない。
この後、リセット信号ＲＲＳがアクティブにならなずに外部クロックＲＣＫが立ち上がれば、上記のＮリードサイクルと同様にして、値Ｎ＋１がＦＩＦＯメモリ１０１にてラッチされて、Ｎ＋１リードサイクルが実施される。
（リセット後の０リードサイクル）
図６では、時刻ｔ３にて外部クロックＲＣＫが立ち下がった後であって、次に立ち上がる時刻ｔ６より前の時刻ｔ５にて、リセット信号ＲＲＳがアクティブ（ＬＯＷ）に変化している。
この場合、図１のセレクタ制御回路１０２を構成する図２のＤ型フリップフロップ１２０の出力Ｑは、時刻ｔ６にて外部クロックＲＣＫが立ち上がることによってＬＯＷに変化する。これにより、図２の論理ゲート１２１の出力であるセレクト制御信号ＳがＨＩＧＨからＬＯＷに変化する。
そうすると、セレクタ１１２では図５のアンドゲート１４０−１〜１４０−２０での論理積及びオアゲート１４１−１〜１４１−９での論理和動作に従って、アドレスレジスタ１１３の出力Ｑ００〜Ｑ０９を選択して出力する。このため、リードアドレス設定回路１０４の出力である第２のリードアドレス信号Ａｎを構成するアドレス値Ａ１〜Ａ１０の全てが、第１のリードアドレス信号Ｑｎの論理に拘わらず０となる。
換言すれば、リセット信号ＲＲＳがアクティブとなると、その後の外部クロックＲＣＫの立ち上がりに同期して、リードアドレス設定回路１０４からの第２のリードアドレス信号Ａｎは、アドレスレジスタ１１３の出力Ｑ００〜Ｑ０９に変化する。こうして、第２のリードアドレス信号Ａｎの値を、強制的に０に設定できる。
この時刻ｔ６にて外部クロックＲＣＫが立ち上がると、それと同期して時刻ｔ７にてメモリリードアクセス信号ＣＳが立ち下がる。この時刻ｔ７でのメモリリードアクセス信号ＣＳの立ち下がりで、ＦＩＦＯメモリ１０１は第２のリードアドレス信号Ａｎをラッチする。
このとき、第２のリードアドレス信号Ａｎは、時刻ｔ６にて既に０に設定されているので、ＦＩＦＯメモリ１０１はアドレス値０に対応するデータ０を読み出す０リードサイクルを実現することができる。
このように、第１の実施の形態によれば、リセット信号ＲＲＳがアクティブとなった時（時刻ｔ５）には、その後のリードクロック信号ＲＣＫの立ち上がり（時刻ｔ６）に同期させて第２のリードアドレス信号Ａｎを瞬時に０アドレスに変更できる。よって、ＦＩＦＯメモリ１０１での第２のリードアドレス信号Ａｎのラッチ時（時刻ｔ７）にて、リードカウンタ１０２からの第１のリードアドレス信号Ｑｎの論理状態に拘わらず、０アドレスをラッチすることができる。しかも、時刻ｔ６−ｔ７間を、ＦＩＦＯメモリ１０１でのアドレスセットアップ時間として確保できる他、従来のようにアドレスラッチタイミングを必ずしも遅延させなくて済むため、アクセス時間ｔａｃｓも短縮できる。
この後、時刻ｔ８にてリセット信号ＲＲＳがノンアクティブ（ＨＩＧＨ）になると、クロック信号ＲＣＫの立ち下がり（時刻Ｔ９）にてセレクト制御信号Ｓが立ち上がる。これにより、セレクタ１１２は再びリードカウンタ１０２からの第１のリードアドレス信号Ｑｎを選択する通常動作に復帰される。
＜第２の実施の形態＞
この第２の実施の形態に係る半導体記憶装置を図７に示す。図７に示す半導体記憶装置２００は、図１に示す半導体記憶装置１００のリードアドレス設定回路１１０を、リードアドレス設定回路２１０に変更したものである。
図７に示すリードアドレス設定回路２１０は、ゲート制御回路２２０と、それにより制御される論理ゲート群例えばアンドゲート群２３０とを有し、図１に示すアドレスレジスタ１１３は有しない。ゲート制御回路２２０は、図２に示すセレクタ制御回路１１１と同じ構成を有し、ゲート制御信号Ｓの論理もセレクタ制御信号Ｓの論理と同じとなる。
図７に示すアンドゲート群２３０は、図８に示すように１０個のアンドゲート２３０−１〜２３０−１０にて構成される。アンドゲート２３０−１〜２３０−１０の各々には、リードカウンタ１０２の出力Ｑ１〜Ｑ１０のいずれか１つと、ゲート制御信号Ｓとが入力される。アンドゲート２３０−１〜２３０−１０の出力Ａｎ（Ａ１〜Ａ１０）が、ＦＩＦＯメモリ１０１に供給される。
この第２の実施の形態に係る半導体記憶装置２００の動作は、第１の実施の形態に係る図１の半導体記憶装置の図６のタイミングチャートに示す動作と実質的に同一である。
すなわち、リセット信号ＲＲＳがノンアクティブ（ＨＩＧＨ）であるＮリードサイクルでは、ゲート制御信号ＳがＨＩＧＨであるので、図８に示すアンドゲート２３０−１〜２３０−１０の出力Ａｎとして、リードカウンタ１０２からの出力Ｑｎがそのまま得られる。
一方、０リードサイクルでは、ゲート制御回路２２０は図２に示す回路によって第１の実施の形態に係るセレクタ制御回路１１１の出力と同じゲート制御信号Ｓを生成し、図６の時刻ｔ６にてＨＩＧＨからＬＯＷに変化する。
よって、この第２の実施の形態に係る半導体記憶装置２００においても、図６に示す通り、リセット信号ＲＲＳがアクティブとなった時（時刻ｔ５）には、その後のリードクロック信号ＲＣＫの立ち上がり（時刻ｔ６）に同期させて第２のリードアドレス信号Ａｎを瞬時に０アドレスに変更できる。よって、ＦＩＦＯメモリ１０１での第２のリードアドレス信号Ａｎのラッチ時（時刻ｔ７）にて、リードカウンタ１０２からの第１のリードアドレス信号Ｑｎの論理状態に拘わらず、０アドレスをラッチすることができる。
ここで、第２の実施の形態では、第１の実施の形態のようにアドレスレジスタ１１３を用いず、アンドゲート群２３０にて０アドレスを設定できる。すなわち、図８に示すアンドゲート２３０−１〜２３０−１０に入力されるゲート制御信号ＳがＬＯＷ（＝０）となることで、アンドゲート２３０−１〜２３０−１０の出力である第２のリードアドレス信号Ａｎは、Ａ０＝Ａ１＝…Ａ９＝０となる。このように、第２の実施の形態によればゲート制御信号Ｓの論理に基づいて、０アドレスを設定することができる。
この第２の実施の形態では、第１の実施の形態と比較して、アクセス時間ｔａｃｓを短縮できる効果がある。なぜなら、第１の実施の形態のセレクタ１１２は図５に示すように１段目のアンドゲート群と２段目のオアゲート群とを要するのに対して、図８では１段のアンドゲート群２３０のみで足りるからである。図８では、２段目の論理ゲート群を要しない分、信号遅延が少なくなり、結果としてアクセス時間ｔａｃｓを短縮できる。
＜第３の実施の形態＞
図９は、本発明の第３の実施の形態に係る半導体記憶装置３００を示している。図９に示す半導体記憶装置３００が、図７に示す半導体記憶装置２００と相違する点は、リードアドレス設定回路３１０をアンドゲート群のみで構成し、そのアンドゲート群の一方の入力端子に、リセット信号ＲＲＳを直接入力させ、図７に示すゲート制御回路２２０を省略した点である。
第１，第２の実施の形態では、第２のリードアドレス信号Ａｎをアドレス０に変化させるタイミングを、外部クロック信号ＲＣＫと同期させていた。これに対して、この第３の実施の形態では、外部クロック信号ＲＣＫに同期させずにリセット信号ＲＳＳのみに依存させて、第２のリードアドレス信号Ａｎをアドレス０に変化させている。
図９に示すリードアドレス設定回路３１０は図１０に示す通り、１０個のアンドゲート３１０−１〜３１０−１０にて構成される点で図８の構成と同じである。しかし、図１０に示すアンドゲート３１０−１〜３１０−１０には、図８のようにゲート制御信号Ｓが共通入力されるのでなく、リセット信号ＲＲＳが共通に入力される点で異なる。
この第３の実施の形態に係る半導体記憶装置の動作タイミングチャートを図１１に示す。図６と図１１との比較から分かるように、第３の実施の形態においては、Ｎリードサイクルは第１，第２の実施の形態と同様にして実施されるが、リセット信号ＲＲＳがアクティブ（ＬＯＷ）となった後の動作が異なる。
図１１においても、時刻ｔ３にて外部クロックＲＣＫが立ち下がった後であって、次に立ち上がる時刻ｔ６より前の時刻ｔ５にて、リセット信号ＲＲＳがアクティブ（ＬＯＷ）に変化している。
この場合、図９のリードアドレス設定回路３１０を構成する図１０のアンドゲート３１０−１〜３１０−１０の一方の入力が全てＬＯＷに変化する。よって、アンドゲート３１０−１〜３１０−１０の出力である第２のリードアドレス信号Ａｎを構成するアドレス値Ａ１〜Ａ１０の全てが、第１のリードアドレス信号Ｑｎの論理に拘わらず、直ちに０となる。
換言すれば、リセット信号ＲＲＳがアクティブ（ＬＯＷ）となると直ちに、外部クロック信号ＲＣＫと非同期にて、リードアドレス設定回路３１０からの第２のリードアドレス信号Ａｎの論理は、リセット信号ＲＲＳの論理（ＬＯＷ）に直ちに変化する。こうして、第２のリードアドレス信号Ａｎの値を、強制的に０に設定できる。
この時刻ｔ５の後の時刻ｔ６にて外部クロックＲＣＫが立ち上がると、それと同期して時刻ｔ７にてメモリリードアクセス信号ＣＳが立ち下がる。この時刻ｔ７でのメモリリードアクセス信号ＣＳの立ち下がりで、ＦＩＦＯメモリ１０１は第２のリードアドレス信号Ａｎをラッチする。
このとき、第２のリードアドレス信号Ａｎは、時刻ｔ５にて既に０に設定されているので、ＦＩＦＯメモリ１０１はアドレス値０に対応するデータ０を読み出す０リードサイクルを実現することができる。
なお、外部クロック信号ＲＣＫと非同期にて第２のリードアドレス信号Ａｎをアドレス０に変化させても、そのアドレス０のラッチタイミングはメモリリードアクセス信号ＣＳに基づいて実施されている。このメモリリードアクセス信号ＣＳは、リードコントローラ１０２にて外部リードクロック信号ＲＣＫと同期して生成されている。従って、ＦＩＦＯメモリ１０１でのリード動作は、外部クロック信号ＲＣＫに同期して行われることに相違はない。
図１１のタイミングチャートを図６と比較すると、第２のリードアドレス信号Ａｎの値を“Ｎ＋１”から“０”に変化させる時刻は、図１１の方が早くなっている。すなわち、図１１ではリセット信号ＲＲＳがアクティブ（ＬＯＷ）となる時刻ｔ５に同期しているのに対して、図６では外部クロックＲＣＫの立ち上がり（時刻ｔ６）に同期している。
通常、ＦＩＦＯメモリ１０１のリセット動作では、外部クロック信号ＲＣＫの立ち上がりに対するセットアップ時間（図１１の時間ｔ０）の規格が存在している。第３の実施の形態に係る半導体記憶装置３００では、第１，第２の実施の形態に係る半導体記憶装置１００，２００よりも、上記セットアップ時間ｔ０の分だけ、リードアドレスセットアップ時間をさらに確保することができる。この結果、リセット時にはより確実に０リードサイクルを実現することが可能となる。
＜第４の実施の形態＞
図１２に、第４の実施の形態に係る半導体記憶装置４００を示す。この第４の実施の形態に係る半導体記憶装置４００は、図９に示すアドレス設定回路３１０に代えて、リードアドレス設定回路４１０を用いた点が相違する。
このリードアドレス設定４１０は、図３または図４に示すアドレスレジスタ１１３と、セレクタ４２０とを有する。セレクタ４２０の一例を図１３に示す。図１３に示すように、セレクタ４２０は１段目の２０個のアンドゲート４２１−１〜４２１−１０と、２段目の１０個のオアゲート４２２−１〜４２２−１０とを有して構成される。
奇数番目のアンドゲート４２１−１〜４２１−１９には、リードカウンタ１０３の出力Ｑ０〜Ｑ９の一つと、リセット制御信号ＲＲＳとが入力される。偶数番目のアンドゲート４２１−２〜４２１−２０には、アドレスレジスタ１１３の出力Ｑ００〜Ｑ０９の一つと、リセット制御信号ＲＲＳがインバータ４２３にて反転された信号とが入力される。オアゲート４２２−１〜４２２−１０には、奇数番目と偶数番目のアンドゲートの出力が入力される。
この第４の実施の形態に係る半導体記憶装置４００の動作は、第３の実施の形態に係る半導体記憶装置３００の動作タイミングチャートである図１１と実質的に同じようにして実施される。
すなわち、この第４の実施の形態においても、第３の実施の形態と同様に、外部クロック信号ＲＣＫに同期させずにリセット信号ＲＳＳのみに依存させて、第２のリードアドレス信号Ａｎをアドレス０に変化させることができる。なぜなら、セレクタ４１０には外部クロックＲＣＫが入力されず、リセット信号ＲＳＳのみによって切替制御しているからである。
図１２に示す半導体記憶装置４００は、図９に示す半導体記憶装置３００とは異なり、０アドレスの設定をアドレスレジスタ１１３からの出力に依存しているだけで、他の動作原理は図９に示す半導体記憶装置３０と同じである。
ただし、図１２に示すセレクタ４２０は、図１３に示す通り２段の論理ゲートにて構成される。この点、図１０に示す１段の論理ゲートのみで構成した場合と比較して、アドレス信号の遅延量は多くなる。
なお、本発明は上記実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。
例えば、図８，図１０に示す論理ゲートは、ゲート制御信号Ｓ及びリセット信号ＲＳＳがＬＯＷアクティブの場合の例であるが、ＨＩＧＨアクティブの時には図１４に示すように各ゲートをノアゲート５００−１〜５００−１０に変更すればよい。この方が、アンドゲートの場合よりも信号遅延を少なくできる点で優れている。
また、アドレス０に設定するにはセレクタ制御信号Ｓ、ゲート制御信号Ｓあるいはリセット信号ＲＲＳの論理を用いれば、アドレスレジスタ１１３を省略できる点で優れている。その一方で、アドレスレジスタ１１３を使用する場合には、リセット後の特定アドレスをアドレス０を含めた任意のアドレス値に設定できる点で優れている。例えば、図３、図４に示す出力Ｑ０〜Ｑ９の出力線に接続されるインバータの数をそれぞれ独立して設定できるようにすれば、アドレス値は任意に設定できる。さらには、アドレスレジスタの特定アドレス値を、エンドユーザが任意に変更できるように、プログラマブルレジスタとしてもよい。
さらには、本発明が適用されるメモリとしてはＦＩＦＯメモリに限らず、クロック同期型であって、かつ、リードカウンタによりアドレス値を更新しながら読み出し動作して、リセット後には特定アドレスに復帰する動作を行う種々のメモリに採用できる。
【図面の簡単な説明】
図１は、本発明の第１の実施の形態に係る半導体記憶装置のブロック図である。
図２は、図１に示すセレクタ制御回路の回路図である。
図３は、図１に示すアドレスレジスタをプルダウン型にて構成した回路図である。
図４は、図１に示すアドレスレジスタをプルアップ型にて構成した回路図である。
図５は、図１に示すセレクタの回路図である。
図６は、図１に示す半導体記憶装置の読み出し動作のタイミングチャートである。
図７は、本発明の第２の実施の形態に係る半導体記憶装置のブロック図である。
図８は、図７に示すアンドゲート群の回路図である。
図９は、本発明の第３の実施の形態に係る半導体記憶装置のブロック図である。
図１０は、図９に示すリードアドレス設定回路を構成するアンドゲート群の回路図である。
図１１は、図９に示す半導体記憶装置の読み出し動作のタイミングチャートである。
図１２は、本発明の第４の実施の形態に係る半導体記憶装置のブロック図である。
図１３は、図１２に示すセレクタの回路図である。
図１４は、リセット信号及びゲート制御信号をＨＩＧＨアクティブとした時の図８及び図１０の変形例を示す回路図である。
図１５は、従来のクロック同期型半導体記憶装置のブロック図である。
図１６は、図１５に示す半導体記憶装置の読み出し動作のタイミングチャートである。
【図１】
0004061841.tif 000002
【図２】
0004061841.tif 000003
【図３】
0004061841.tif 000004
【図４】
0004061841.tif 000005
【図５】
0004061841.tif 000006
【図６】
0004061841.tif 000007
【図７】
0004061841.tif 000008
【図８】
0004061841.tif 000009
【図９】
0004061841.tif 000010
【図１０】
0004061841.tif 000011
【図１１】
0004061841.tif 000012
【図１２】
0004061841.tif 000013
【図１３】
0004061841.tif 000014
【図１４】
0004061841.tif 000015
【図１５】
0004061841.tif 000016
【図１６】
0004061841.tif 000017