(57)【特許請求の範囲】
【請求項１】
１サイクルで、奇数アドレスデータにアクセスするための奇数アドレス（最下位ビット“１”を除く）と、偶数アドレスデータにアクセスするための偶数アドレス（最下位ビット“０”を除く）を出力するプリフェッチ用のアドレスカウンタを備えたクロック同期型の半導体記憶装置において、
上記アドレスカウンタは、
読み出しコマンドと同時に与えられるスタートアドレス、カウント値をインクリメントするためのクロック信号、カウンタ内部に上記スタートアドレスを転送するための信号、及びアドレッシングモードを示す信号がそれぞれ入力され、初段は毎サイクルカウントアップを繰り返し、キャリー信号が順次次段に入力されるｎ個の１ビットカウンタ回路と、
アドレッシングモードの状態を示すアドレッシングモード信号と上記ｎ個の１ビットカウンタ回路の出力とが供給され、アドレッシングモードがシーケンシャルで上記スタートアドレスが奇数アドレスであることを検知して各ビット毎に偶数制御信号を生成する加算器制御回路と、
上記各１ビットカウンタ回路に対応して設けられ、上記加算器制御回路から出力される偶数制御信号の状態に従って、アドレッシングモードがシーケンシャルで且つ上記スタートアドレスが奇数アドレスであるときに、上記各１ビットカウンタ回路のマスター段から供給される『奇数アドレス（最下位ビット“１”を除く）』をそれぞれ反転し、それ以外のときには上記各１ビットカウンタ回路のマスター段から供給される『奇数アドレス（最下位ビット“１”を除く）』と同じ『偶数アドレス（最下位ビット“０”を除く）』をそれぞれ出力するｎ個の加算器とを具備し、
上記ｎ個の１ビットカウンタ回路はそれぞれ、マスター段とスレーブ段とを有するマスタースレーブ形式であり、上記マスター段の出力がそれぞれ対応する上記ｎ個の加算器に供給され、上記ｎ個の１ビットカウンタ回路は上記クロック信号が第１の論理レベルの期間にカウントアップ結果をマスター段の出力に転送し、第２の論理レベルに反転する時にスレーブ段から『奇数アドレス（最下位ビット“１”を除く）』を出力し、上記ｎ個の加算器は上記クロック信号の第１の論理レベルの期間に上記ｎ個の１ビットカウンタ回路のマスター段の出力に対して加算を行い、第２の論理レベルに反転する時に『偶数アドレス（最下位ビット“０”を除く）』を出力する
ことを特徴とする半導体記憶装置。
【請求項２】
前記ｎ個の加算器はそれぞれ、前記クロック信号が第１の論理レベルの時に加算を行い、第１の論理レベルから第２の論理レベルに反転するときにアドレスを出力することを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は１サイクルで同時に複数のデータにアクセスする、いわゆるプリフェッチ技術を導入した半導体記憶装置に関し、特にアドレスカウンタの構成に関するものである。
【０００２】
【従来の技術】
近年の半導体メモリの動向として、ＣＰＵやＭＰＵ等のコントローラ側とメモリとのデータ転送レートのギャップを埋めるために、従来から用いられてきた汎用ＤＲＡＭに代わってランバス（Ｒａｍｂｕｓ）仕様ＤＲＡＭやシンクロナス（Ｓｙｎｃｒｏｎｕｓ）ＤＲＡＭ（以下ＳＤＲＡＭと称する）といったバーストデータ転送のための特別な機能を持ったＤＲＡＭが使われるようになってきた。特に、ＳＤＲＡＭにおいては基本クロック（ＣＬＫ）の周波数を上げるばかりではなく、基本クロックの立ち上がりエッジに同期してデータの入出力を行う従来からのＳｉｎｇｌｅ  Ｄａｔａ  Ｒａｔｅ（ＳＤＲ）に対し、ランバス仕様ＤＲＡＭで行われている様に基本クロックの立ち上がりと立ち下がりの両方のエッジに同期させて２倍の速度でデータの入出力を行うＤｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ（ＤＤＲ）の仕様が確立され、製品化されようとしている。
【０００３】
ここで、ＳＤＲＡＭ内部のカラム動作について考えてみると、基本クロックの周波数が１００ＭＨｚとすれば周期は１０ｎｓとなり、ＳＤＲの場合にはこの期間内にアドレスのカウントアップ、カラム選択、データの転送などを行わねばならない。また、更に基本クロックの周波数を上げようとした場合やＤＤＲ動作を行う場合のことを考えると、一連のカラム動作を最短で３．５ｎｓから４ｎｓの間に行う必要がある。これはいかにパイプライン動作を行った場合でも、また半導体の製造プロセスが改善されたとしても現在の技術では達成することが非常に厳しい値であり、例えば従来の汎用ＤＲＡＭのＣＡＳサイクルタイム（ｔＰＣ）が１２〜１５ｎｓ程度であったことを考えれば極めて実現が難しいといえる。
【０００４】
この問題を解決するために、最近、プリフェッチと呼ばれる技術が導入された。ＳＤＲＡＭでは、例えば読み出しのカラム動作を行う際、予めセットされたアドレッシングモードとバースト長から、読み出しコマンドと同時に与えられるスタートアドレス（以下Ｔａｐアドレスと称する）を取り込んだ時点でアクセスされるべき全番地を前もって特定することが出来る。そこで、内部的に最初のＴａｐアドレスにアクセスする際、その後にアクセスされるはずの複数の番地を同時にアクセスしてデータを途中まで読み出しておけば、２番目以降のデータのカラム動作にとっては時間的な余裕が生まれる。読み出しコマンドを受け取ってから最初のＴａｐアドレスのデータ読み出しまでは、ＳＤＲＡＭの仕様上ＣＡＳレイテンシとして余裕が取られているため、後はパイプライン動作と組み合わせることによって連続して短いサイクルタイムでのデータ出力が可能となる。但し、あまりに多くのビットをプリフェッチしてしまうと、内部データ線のタイミング制御が複雑になり、例えばプリフェッチしたデータの数よりも少ないバースト長が指定された場合、せっかく読み出したデータを捨てるような状況が起こる。このため、プリフェッチするビット数は最小に留めるのが普通であり、現在の基本クロックの周波数から考えると、通常は２ビットプリフェッチを行えば十分サイクルタイムに対応できると考えられる。
【０００５】
図８は、プリフェッチしない従来の半導体記憶装置について説明するためのもので、アドレスカウンタの構成図である。カラムアドレスの深さ方向がｎ＋１ビットの時、カウンタの個数はＡ＜０＞からＡ＜ｎ＞（以下＜ｎ＞はビットオーダーの添字を表し、＜ｍ：ｎ＞はｍからｎビットまで連続したビットオーダーを表す：但しｍ，ｎは整数）までのｎ＋１個である。これらのカウンタ１１−０〜１１−ｎにはそれぞれ、信号ＡＬＴＣ＜ｎ：０＞，ＣＴＣＬＫ，ＴＡＰＬＴＣ，ＩＮＴＬＶが入力される。ＡＬＴＣ＜ｎ：０＞は内部でラッチされたＴａｐアドレスであり、各添字に対応したカウンタ１１−０〜１１−ｎへ入力される。またＣＴＣＬＫはカウンタをインクリメントするためのクロック信号、ＴＡＰＬＴＣはカウンタ内部にＴａｐアドレスを転送するための信号である。更にＩＮＴＬＶはアドレッシングモードを示す信号であり、この信号が“Ｈ”レベルの時はインターリーブ（Ｉｎｔｅｒｌｅａｖｅ）モード、“Ｌ”レベルの時にはシーケンシャル（Ｓｅｑｕｅｎｔｉａｌ）モードであることを示している。各ビットのカウンタ１１−０〜１１−ｎからはカウンタアドレスＣＡ＜ｎ：０＞が出力され、また同時にキャリー信号ＣＲＹ＜ｎ−１：０＞が出力されて、それぞれ次段のカウンタへ順次入力される。この時、カウンタ１１−０のキャリー入力は、毎サイクルカウントアップを繰り返すように電源（ＶＤＤ）に固定されており、またカウンタ１１−ｎのキャリー出力は次段がないためここでは特に出力していない。
【０００６】
図９は、２ビットプリフェッチを行う従来の半導体記憶装置について説明するためのもので、アドレスカウンタの構成を表した概念図である。２ビットプリフェッチを行う場合、通常は連続した２つのアドレスを同時にアクセスすることになるため、２セットのカウンタ１２Ａ，１２Ｂが必要になる。これら２セットのカウンタ１２Ａ，１２Ｂのアドレス入力部にはそれぞれ、＋１加算器１３Ａ，１３Ｂが設けられており、加算器制御回路１４の出力によって加算器１３Ａ，１３Ｂのどちらを有効にするかが制御されている。
【０００７】
ここで、上記加算器１３Ａ，１３Ｂの動作について図１０（ａ）〜（ｄ）を基に考えてみる。ＳＤＲＡＭでは、アドレッシングモードとしてインターリーブとシーケンシャルの２つのモードが定義されており、図１０（ａ），（ｂ）がインターリーブ、図１０（ｃ），（ｄ）がシーケンシャルを表している。またそれぞれのモードでＴａｐアドレスが偶数（Ｅｖｅｎ：ここでは“０００”）であるか、奇数（Ｏｄｄ：ここでは“００１”）であるかによって全部で４つのアドレッシングパターンが考えられる。この図１０（ａ）〜（ｄ）では簡単化のために３ビットのアドレッシングについて示しており、各カウンタサイクルにおいて最下位ビットが“０”である偶数（Ｅｖｅｎ）アドレスと“１”である奇数（Ｏｄｄ）アドレスについて別々に分けて記している。
【０００８】
いま、１行に書かれている２つのアドレス（破線で囲まれた部分）を２ビットプリフェッチすることにすると、２つのアドレスカウンタ１２Ａ，１２Ｂは各サイクルでそれぞれ偶数用、奇数用アドレスとしてＥｖｅｎアドレス、Ｏｄｄアドレスを発生させる。従って、各カウンタセットのうち、最下位に相当する１ビットの出力は“０”と“１”に固定されるので不要となり、３ビットのアドレッシングでもカウンタは２ビットあれば良いことになる。
【０００９】
上記各加算器１３Ａ，１３Ｂの動作は、まずインターリーブモードの場合、Ｔａｐアドレスが偶数（Ａ＜０＞＝“０”）であるときには、最初に読み出されるデータのアドレスはＥｖｅｎカウンタで発生し、２ビットプリフェッチで同時にアクセスされる２番目のデータのアドレスはＯｄｄカウンタによって発生する。この時、ＥｖｅｎカウンタのカウンタアドレスはＴａｐアドレスと同じ値（０００）で良いので、偶数側の加算器は動作する必要がなく、Ｔａｐアドレスをそのままカウンタに伝えれば良い。またＯｄｄカウンタのスタートアドレスはＴａｐアドレスに対し最下位ビットを反転させたもの（００１）になっているが、上で述べたようにアドレスの最下位ビットは予め“１”に固定されているので、特に加算器を動作せる必要はなく、Ｔａｐアドレスのうち最下位ビットを除いた残りのビットをＯｄｄカウンタに伝えれば良い。
【００１０】
一方、Ｔａｐアドレスが奇数（Ａ＜０＞＝“１”）であるときには、最初に読み出されるデータのアドレスはＯｄｄカウンタで発生し、２番目のデータのアドレスはＥｖｅｎカウンタで発生する。この時、ＯｄｄカウンタのカウンタアドレスはＴａｐアドレスと同じ値（００１）で良いので、奇数側の加算器は動作する必要はなくＴａｐアドレスをそのままカウンタに伝えれば良い。また、Ｅｖｅｎカウンタのスタートアドレスは、Ｔａｐアドレスに対して最下位ビットを反転させたもの（０００）になっているが、Ｏｄｄカウンタの最下位ビットは“０”に固定されているので、加算器は動作させる必要がなく、Ｔａｐアドレスのうち最下位ビットを除いた残りのビットをＥｖｅｎカウンタに伝えれば良い。
【００１１】
次に、シーケンシャルモードの場合を考える。Ｔａｐアドレスが偶数（Ａ＜０＞＝“０”）である時には、最初に読み出されるデータのアドレスはＥｖｅｎカウンタで発生し、２番目のデータのアドレスはＯｄｄカウンタによって発生する。この時、ＥｖｅｎカウンタのカウンタアドレスはＴａｐアドレスと同じ値（０００）で良いので、偶数側の加算器は動作する必要がなく、Ｔａｐアドレスをそのままカウンタに伝えれば良い。またＯｄｄカウンタのスタートアドレスはＴａｐアドレスに対して１を加えたもの（００１）になっているが、奇数アドレスの最下位ビットは“１”に固定されているので加算器を動作させる必要はなく、Ｔａｐアドレスのうち最下位ビットを除いた残りのビットをＯｄｄカウンタに伝えれば良い。
【００１２】
これに対し、Ｔａｐアドレスが奇数（Ａ＜０＞＝“１”）である時には、最初に読み出されるデータのアドレスはＯｄｄカウンタで発生し、２番目のデータのアドレスはＥｖｅｎカウンタで発生する。この時、ＥｖｅｎカウンタのカウンタアドレスはＴａｐアドレスと同じ値（００１）で良いので奇数側の加算器は動作する必要はなくＴａｐアドレスをそのままカウンタに伝えれば良い。またＥｖｅｎカウンタのスタートアドレスはＴａｐアドレスに対して１を加えたもの（０１０）になっており、この場合は偶数アドレスの最下位ビットが“０”で固定されているだけではだめで、Ｔａｐアドレスの全ビットを見て桁上げの判断を行わなければならない。従って、この場合には偶数側の加算器の動作が必要である。
【００１３】
上述した動作をまとめると、奇数側の加算器は各ケースにおいて１度も動作せず不要であることが分かり、加算器は偶数側のみにあれば良い。この偶数側の加算器が動作するのは、唯一シーケンシャルモードでＴａｐアドレスが奇数の場合だけということが分かる。
【００１４】
図１１は、以上のことを考慮した２ビットプリフェッチカウンタの概念図である。カウンタは偶数用、奇数用の２セットあり、それぞれアドレスのビット数に対して最下位ビットのカウンタは省略され、仮想的な最下位ビットアドレスは偶数が“０”、奇数が“１”に固定されている。また、偶数用のカウンタ１２Ｂ’のアドレス入力部には加算器制御回路１４で制御された＋１加算器１３Ｂが設けられている。この加算器１３Ｂは、アドレッシングモードがシーケンシャルで且つＴａｐアドレスの最下位ビットが“１”であるとき、カウンタ１２Ｂ’のスタートアドレスがＴａｐアドレス＋１になるように動作する。
【００１５】
図１２は、上記図１１に示した概念図に基づいて、実際に２ビットプリフェッチ用のｎビットカウンタを構成したときの構成図である。カウンタ本体は最下位ビットであるＡ＜０＞を除きＡ＜１＞からＡ＜ｎ＞までのものが奇数用と偶数用で２セット、加算器制御回路１４はシーケンシャルでＴａｐアドレスが奇数であることを検知して各ビットごとに偶数制御信号ＥｖｅｎＣｔｒｌ＜１：ｎ＞を生成する。また、＋１加算器１３Ｂ−１〜１３Ｂ−ｎは、各偶数カウンタ１２Ｂ−１〜１２Ｂ−ｎの前段に設けられ、ＥｖｅｎＣｔｒｌ＜１：ｎ＞の状態にしたがってＴａｐアドレスをそのまま伝えたり反転させて（＋１して）伝えたりする。
【００１６】
各回路に入力される信号ＡＬＴＣ＜ｎ：０＞、ＣＴＣＬＫ、ＴＡＰＬＴＣ、ＩＮＴＬＶのうち、ＡＬＴＣ＜ｎ：０＞は内部でラッチされたＴａｐアドレスであり、対応する添字のカウンタにそれぞれ入力される。最下位ビットの信号ＡＬＴＣ＜０＞は、加算器制御回路１４に入力される。また、ＣＴＣＬＫはカウンタ１２Ａ−１〜１２Ａ−ｎ，１２Ｂ−１〜１２Ｂ−ｎをインクリメントさせるためのクロック信号、ＴＡＰＬＴＣはカウンタ内部にＴａｐアドレスを転送するための信号である。更に、ＩＮＴＬＶはアドレッシングモードを示す信号であり、この信号が“Ｈ”レベルの時はインターリーブモード、“Ｌ”レベルの時にはシーケンシャルモードであることを示している。
【００１７】
上記カウンタ１２Ａ−１〜１２Ａ−ｎの各ビットからは奇数のカウンタアドレスＣＡｏ＜１：ｎ＞が出力され、上記カウンタ１２Ｂ−１〜１２Ｂ−ｎの各ビットからは偶数のカウンタアドレスＣＡｅ＜１：ｎ＞が出力される。また、同時に上記カウンタ１２Ａ−１〜１２Ａ−ｎと１２Ｂ−１〜１２Ｂ−ｎからキャリー信号ＣＲＹｏ＜１：ｎ−１＞とＣＲＹｅ＜１：ｎ−１＞がそれぞれ出力される。キャリー信号ＣＲＹｏ＜１：ｎ−１＞とＣＲＹｅ＜１：ｎ−１＞はそれぞれ、順次次段のカウンタへ入力される。ここで、Ａ＜１＞に対応するカウンタ１２Ａ−１，１２Ｂ−１のキャリー入力は毎サイクルカウントアップを繰り返すように電源（ＶＤＤ）に固定されており、またＡ＜ｎ＞に対応するカウンタ１２Ａ−ｎ，１２Ｂ−ｎのキャリー出力は次段がないためここでは特に出力していない。
【００１８】
このような構成において、各カウンタ１２Ａ−１〜１２Ａ−ｎ，１２Ｂ−１〜１２Ｂ−ｎの構成例を図１３に、＋１加算器１３Ｂ−１〜１３Ｂ−ｎの構成例を図１４に、また加算器制御回路１４の構成例を図１５にそれぞれ示す。
【００１９】
図１３に示す如く、各カウンタ１２Ａ−１〜１２Ａ−ｎ，１２Ｂ−１〜１２Ｂ−ｎはそれぞれ、カウンタ部１５、Ｔａｐ入力部１６、キャリー演算部１７の３つの部分から構成されている。この図１３では、ｉ（ｉ＝１〜ｎ）段目のカウンタ１２Ａ−ｉ（または１２Ｂ−ｉ）に着目して示している。カウンタ部１５は、エクスクルーシブオアゲート２１、クロックドインバータ２２〜２５及びインバータ２６，２７を含んで構成されている。Ｔａｐ入力部１６は、クロックドインバータ２８，２９で構成されている。キャリー演算部１７は、インバータ３０〜３３、ノアゲート３４、エクスクルーシブオアゲート３５及びナンドゲート３６を含んで構成されている。また、インバータ３７に信号ＴＡＰＬＴＣを供給してその反転信号ｂＴＡＰＬＴＣを生成し、インバータ３８に信号ＣＴＣＬＫを供給してその反転信号ｂＣＴＣＬＫを生成している。
【００２０】
上記Ｔａｐ入力部１６はＴａｐ取り込み信号ＴＡＰＬＴＣ，ｂＴＡＰＬＴＣによってスタートアドレスＴＡＰをカウンタ部１５及びキャリー演算部１７に取り込み、上記カウンタ部１５は前段のカウンタからのキャリー信号ＣＲＹ＜ｉ−１＞とクロック信号ＣＴＣＬＫによってカウンタアドレスＣＡ＜ｉ＞のカウントアップを順次行い、更に上記キャリー演算部１７はアドレッシングモードに応じて次段のカウンタがカウントアップするタイミングを制御するキャリー信号ＣＲＹ＜ｉ＞を生成する。
【００２１】
また、図１４に示すように、＋１加算器１３Ｂ−１〜１３Ｂ−ｎはそれぞれ、２つのＣＭＯＳ転送ゲート３９，４０とインバータ４１，４２とで構成されており、信号ＥｖｅｎＣｔｒｌが“Ｌ”レベルの時には信号ＡＬＴＣをそのまま信号ＴＡＰとして出力し、“Ｈ”レベルの時には信号ＡＬＴＣを反転して信号ＴＡＰとして出力する。
【００２２】
更に、加算器制御回路１４は、インバータ４３、ナンドゲート４４−１〜４４−ｎ、及びインバータ４５−１〜４５−ｎを含んで構成されている。この加算器制御回路１４は、信号ＩＮＴＬＶとＴａｐアドレスを受け、信号ＩＮＴＬＶが“Ｌ”レベル、すなわちシーケンシャルモードで、且つ入力されている各ビットのＴａｐアドレスが全て“１”に揃っているナンドゲートまでの信号ＥｖｅｎＣｔｒｌを“Ｈ”レベルにする。当然ながらそれより下位の信号ＥｖｅｎＣｔｒｌは全て“Ｈ”レベルである。
【００２３】
次に、このような構成の時に、各カウンタ１２Ａ−１〜１２Ａ−ｎ，１２Ｂ−１〜１２Ｂ−ｎのスタートアドレスがどの様になるかを説明する。まず図１２のような構成の時、奇数カウンタ１２Ａ−１〜１２Ａ−ｎにはＴａｐアドレスＡＬＴＣ＜１：ｎ＞が直接入力されているのでケースに関係なくスタートアドレスはＴａｐアドレスと同一である。また偶数カウンタ１２Ｂ−１〜１２Ｂ−ｎに関しては、アドレッシングモードがインターリーブであれば、加算器制御回路１４のＥｖｅｎＣｔｒｌ信号が全て“Ｌ”レベルになり、各加算器１３Ｂ−１〜１３Ｂｎの転送ゲート３９が開いてＴａｐアドレスがそのままスタートアドレスとなる。しかしアドレッシングモードがシーケンシャルであれば、信号ＩＮＴＬＶが“Ｌ”レベルになり加算器制御回路１４においてＴａｐアドレスのデコードが行われる。もし信号ＡＬＴＣ＜０＞が“０”（Ｔａｐアドレスが偶数）であれば全てのＥｖｅｎＣｔｒｌ信号が“Ｌ”レベルになるのでインターリーブの時と同様にＴａｐアドレスがそのままスタートアドレスとなる。また信号ＡＬＴＣ＜０＞が“１”（Ｔａｐアドレスが奇数）ならば少なくとも信号ＥｖｅｎＣｔｒｌ＜１＞は“Ｈ”レベルになり、それより上位ビットの状態に応じて“Ｈ”レベルになる信号ＥｖｅｎＣｔｒｌのビットが変化する。例えば、信号ＡＬＴＣ＜０：ｎ＞が１１０…０の時には、信号ＥｖｅｎＣｔｒｌ＜１：２＞が“Ｈ”レベルになり、信号ＥｖｅｎＣｔｒｌ＜３：ｎ＞が“Ｌ”レベルになる。ｎビット目の偶数制御信号ＥｖｅｎＣｔｒｌ＜ｎ＞は、一般に下式（１）のように表される。
【００２４】
ＥｖｅｎＣｔｒｌ＜ｎ＞＝／ＩＮＴＬＶ・ＡＩＬＴＣ＜０：ｎ−１＞…（１）
但し、／ＩＮＴＬＶは、ＩＮＴＬＶの反転信号である。
【００２５】
従って、偶数カウンタ１２Ｂ−３〜１２Ｂ−ｎにはＴａｐアドレスがそのまま入力され、偶数カウンタ１２Ｂ−１，１２Ｂ−２には反転したものが入力される。すなわち、偶数カウンタ１２Ｂ−１〜１２Ｂ−ｎに入力されるスタートアドレスは００１…０となり、Ｔａｐアドレスに対して１を加えた値になる。
【００２６】
次に、図１３に示したカウンタの動作タイミングを図１６（ａ），（ｂ）と図１７（ａ），（ｂ）によって説明する。これらのタイミングチャートは、複数のカウンタのうちカウンタ１２Ａ−２を例に示したものであり、アドレッシングは図１０（ａ）〜（ｄ）で説明したように全部で４通りある。図１６（ａ），（ｂ）がシーケンシャルの時、図１７（ａ），（ｂ）がインターリーブの時で、それぞれ（ａ）図がＴＡＰ＜ｉ＞＝“０”の時、（ｂ）図がＴＡＰ＜ｉ＞＝“１”の時を示している。
【００２７】
はじめに図１６（ａ），（ｂ）について説明する。アドレッシングモードがシーケンシャルであるとき、キャリー演算部１７の動作は簡単になる。信号ＩＮＴＬＶが“Ｌ”レベルなのでＴＰＲ＜ｉ＞は“Ｈ”レベルに固定されており、ＴＡＰ＜ｉ＞の状態に関係なくＣＡＲ＜ｉ＞の値は常にＣＡ＜ｉ＞と同じになる。カラムコマンドを受けてＴａｐアドレスが確定すると信号ＴＡＰＬＴＣが“Ｈ”レベル（時刻ｔ１からｔ２）になってカウンタ部１５にＴＡＰ＜ｉ＞が取り込まれる。この時、信号ＣＴＣＬＫはまだ“Ｌ”レベルであるため、このＴＡＰ＜ｉ＞はＣＡＸ＜ｉ＞を経由してそのままＣＡ＜ｉ＞に出力される。次に、信号ＴＡＰＬＴＣが“Ｌ”レベル（時刻ｔ２）になって信号ＣＴＣＬＫが“Ｈ”になっても、前段からのキャリー信号ＣＲＹ＜ｉ−１＞が“Ｌ”レベルであるので、再び同じＣＡ＜ｉ＞の値がマスター段に取り込まれＣＡＸ＜ｉ＞の状態は変化しない。更に、信号ＣＴＣＬＫが“Ｌ”レベル（時刻ｔ３）になるとＣＡＸ＜ｉ＞の値を転送するが、この時ＣＡＸ＜ｉ＞は変化していないのでＣＡ＜ｉ＞の値も変化しない。一方、この時刻には前段のカウンタからのキャリー信号ＣＲＹ＜ｉ−１＞が“Ｈ”レベルになるので、次の時刻ｔ４で信号ＣＴＣＬＫが“Ｈ”レベルになると同時にＣＡＸ＜ｉ＞の値が反転し、更に時刻ｔ５で信号ＣＴＣＬＫが“Ｌ”レベルになるとＣＡ＜ｉ＞が反転する。以下、同様にして時刻ｔ６ではＣＡＸ＜ｉ＞、ＣＡ＜ｉ＞とも変化せず、時刻ｔ７で前段からのキャリー信号ＣＲＹ＜ｉ−１＞が“Ｈ”レベルになることによって、次の時刻ｔ８でＣＡＸ＜ｉ＞の値が反転し、時刻ｔ９ではＣＡ＜ｉ＞が反転する。以下、これらの動作を繰り返してカウントアップを行っていく。
【００２８】
またこのカウンタが出力するキャリー信号ＣＲＹ＜ｉ＞は、ＣＡＲ＜ｉ＞の値が常にＣＡ＜ｉ＞と同じであることから、前段のキャリー信号ＣＲＹ＜ｉ−１＞とＣＡ＜ｉ＞とのＡＮＤを取ったものに等しくなり、（ａ）図に示すようにＴＡＰ＜ｉ＞＝“０”の場合にはＣＡ＜ｉ＞とＣＲＹ＜ｉ−１＞がともに“Ｈ”レベルである期間、時刻ｔ７からｔ９の間“Ｈ”レベルになり、また（ｂ）図に示すようにＴＡＰ＜ｉ＞＝“１”の場合には時刻ｔ３からｔ５の間に“Ｈ”レベルとなる。
【００２９】
また、図１７（ａ），（ｂ）のインターリーブの場合でも、カウンタ部の動作はシーケンシャルの時と同じであり、ここでは説明を省略する。唯一異なるのはキャリー演算部１７の動作であり、信号ＩＮＴＬＶが“Ｈ”レベルになっていることからＴＰＲ＜ｉ＞の値が時刻ｔ１からｔ２で取り込まれたＴＡＰ＜ｉ＞の値と等しくなり、この信号とカウンタアドレスＣＡ＜ｉ＞のＥＸＯＲ（エクスクルーシブオア）を取ったもの（ＣＡＲ＜ｉ＞）に対してＣＲＹ＜ｉ−１＞のＡＮＤを取ったものがキャリー信号ＣＲＹ＜ｉ＞となる。つまりＣＡ＜ｉ＞がＴＡＰ＜ｉ＞に対して一順して反転し、且つ前段のキャリー信号ＣＲＹ＜ｉ−１＞が“Ｈ”レベルになったときにキャリー信号を出すようにしてある。したがって、ここではＴＡＰ＜ｉ＞がどちらの場合でも時刻ｔ７からｔ９の間にキャリー信号ＣＲＹ＜ｉ＞が出力される。
【００３０】
以上のような構成によって、２ビットプリフェッチ用のアドレスカウンタを構成できるが、サイクルタイムやアクセスタイムに対するマージンを確保するためにプリフェッチ技術を採用すると、図１２から分かるようにアドレスカウンタのセットをプリフェッチしようとするビット数分だけ用意しておかなければならない。ＳＤＲＡＭでは通常フルページ（Ｆｕｌｌ  Ｐａｇｅ）モードを考慮した場合、プリフェッチしなくともカラムアドレスの深さ方向に相当するビット数（例えば１Ｋカラムなら１０ビット）のアドレスカウンタを必要とするが、仮に２ビットのプリフェッチを行うとすると、最下位ビットを除いたビット数の２倍（例えば１Ｋカラムなら９ビット×２＝１８個）のアドレスカウンタが必要となる。
【００３１】
このように、プリフェッチ技術には高速化できるメリットの反面、回路数や回路面積の増加といった問題が生ずる。一方、これらのアドレスカウンタは通常チップ内で共通に使用するので、それぞれのバンクまでの遅延時間を揃えるため、なるべく各バンクから等距離の場所に設置することが望ましい。しかしこのような場所はその他の主要回路においても特性的に見て非常に重要な領域であることが多く、多数のアドレスカウンタを配置することはチップ全体の特性から見ても決して有意義なことではない。
【００３２】
【発明が解決しようとする課題】
上述したように、高い周波数の基本クロックやＤＤＲ仕様などの高速データアクセスに対応するためにプリフェッチ技術を採用した従来の半導体記憶装置は、アドレスカウンタの回路数や回路面積が増加するという問題があった。
【００３３】
この発明は、上記のような事情に鑑みてなされたもので、その目的とするところは、プリフェッチ技術を採用しても、アドレスカウンタの回路数や回路面積の増加を抑制してチップ面積を小さくでき、高速で動作特性に優れたクロック同期型の半導体記憶装置を提供することにある。
【００３４】
【課題を解決するための手段】
この発明の実施形態に係る半導体記憶装置は、１サイクルで、奇数アドレスデータにアクセスするための奇数アドレス（最下位ビット“１”を除く）と、偶数アドレスデータにアクセスするための偶数アドレス（最下位ビット“０”を除く）を出力するプリフェッチ用のアドレスカウンタを備えたクロック同期型の半導体記憶装置において、上記アドレスカウンタは、読み出しコマンドと同時に与えられるスタートアドレス、カウント値をインクリメントするためのクロック信号、カウンタ内部に上記スタートアドレスを転送するための信号、及びアドレッシングモードを示す信号がそれぞれ入力され、初段は毎サイクルカウントアップを繰り返し、キャリー信号が順次次段に入力されるｎ個の１ビットカウンタ回路と、アドレッシングモードの状態を示すアドレッシングモード信号と上記ｎ個の１ビットカウンタ回路の出力とが供給され、アドレッシングモードがシーケンシャルで上記スタートアドレスが奇数アドレスであることを検知して各ビット毎に偶数制御信号を生成する加算器制御回路と、上記各１ビットカウンタ回路に対応して設けられ、上記加算器制御回路から出力される偶数制御信号の状態に従って、アドレッシングモードがシーケンシャルで且つ上記スタートアドレスが奇数アドレスであるときに、上記各１ビットカウンタ回路のマスター段から供給される『奇数アドレス（最下位ビット“１”を除く）』をそれぞれ反転し、それ以外のときには上記各１ビットカウンタ回路のマスター段から供給される『奇数アドレス（最下位ビット“１”を除く）』と同じ『偶数アドレス（最下位ビット“０”を除く）』をそれぞれ出力するｎ個の加算器とを具備し、上記ｎ個の１ビットカウンタ回路はそれぞれ、マスター段とスレーブ段とを有するマスタースレーブ形式であり、上記マスター段の出力がそれぞれ対応する上記ｎ個の加算器に供給され、上記ｎ個の１ビットカウンタ回路は上記クロック信号が第１の論理レベルの期間にカウントアップ結果をマスター段の出力に転送し、第２の論理レベルに反転する時にスレーブ段から『奇数アドレス（最下位ビット“１”を除く）』を出力し、上記ｎ個の加算器は上記クロック信号の第１の論理レベルの期間に上記ｎ個の１ビットカウンタ回路のマスター段の出力に対して加算を行い、第２の論理レベルに反転する時に『偶数アドレス（最下位ビット“０”を除く）』を出力する。
【００３５】
また、上記半導体記憶装置において、前記ｎ個の加算器はそれぞれ、前記クロック信号が第１の論理レベルの時に加算を行い、第１の論理レベルから第２の論理レベルに反転するときにアドレスを出力する。
【００３７】
上記のような構成によれば、プリフェッチを行う場合でも１ビットカウンタの個数はｎ個となり、２×ｎ個の１ビットカウンタ回路を必要とした従来の構成に比べて半分の数に抑えることが出来る。また、プリフェッチしない場合にもｎ＋１個が必要だったので１個分は減らすことができ、ビット数が少なければ加算器を設けることによるチップ面積の増大よりも１ビットカウンタの削減による回路面積の削減の方が大きい。よって、アドレスカウンタの回路数や回路面積の増加を抑制してチップ面積を小さくでき、プリフェッチを行うことによって高い周波数の基本クロックやＤＤＲ仕様などの高速データアクセスに対応でき、高速で動作特性に優れたクロック同期型の半導体記憶装置を提供できる。
【００３８】
また、上記のような構成によれば、クロック信号が第１の論理レベルの期間である待機時間にカウントアップを終了させることが出来るので、クロック信号が第２の論理レベルに遷移すると同時に、同じタイミングで偶数と奇数のカウンタアドレスを同時に切り替えることが出来ることから、アドレスカウンタの出力信号を受けるアドレスデコーダ部におけるタイミング設計が容易になる。
【００３９】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、この発明の第１の実施の形態に係る半導体記憶装置について説明するためのもので、プリフェッチ技術を採用した半導体記憶装置におけるアドレスカウンタの概念図である。本実施の形態では、２ビットのプリフェッチを行うことを想定している。カウンタセットは最下位ビットのカウンタを除いた１セットであり、最下位ビット以外のＴａｐアドレスが直接入力されて奇数のカウンタアドレスを生成している。この部分は前述した図１１における従来のカウンタの奇数アドレスを生成する部分と同様である。また、偶数アドレスは奇数カウンタアドレスに対して加算器制御回路５３で制御された＋１加算器５２を通して演算することにより生成している。上記加算器制御回路５３は、アドレッシングモード信号とＴａｐアドレスが偶数か奇数かを判断するためのＴａｐアドレスの最下位ビット、及び奇数のカウンタアドレスから加算器５２を制御している。以下、この加算器５２の動作を前記図１０（ａ）〜（ｄ）に基づいて説明する。
【００４０】
図１０（ａ）〜（ｄ）では、前記したようにアドレッシングモードがインターリーブかシーケンシャルか、またＴａｐアドレスが偶数か奇数かの組み合わせで４通りのアドレッシングパターンが存在することを示した。偶数と奇数のカウンタアドレスを分離して見たとき、“０”と“１”に固定されている最下位アドレスＣＡ＜０＞を無視して考えると、インターリーブの時、及びシーケンシャルで且つＴａｐアドレスが偶数の時はどのサイクルにおいても実線で囲まれた偶数アドレスと奇数アドレスの各ビットは等しくなる。しかし、唯一シーケンシャルでＴａｐアドレスが奇数の場合には、偶数アドレスと奇数アドレスの各ビットは互いに一致せず、偶数アドレスは奇数アドレスに１を加えることによって導かれることが分かる。
【００４１】
このことから、偶数アドレスは独自のカウンタを持たずとも奇数カウンタの出力に対して特定のフィルターを通すことによって生成することができることが分かる。このフィルターの機能としては、第１にシーケンシャルでＴａｐアドレスが奇数の時は＋１の加算演算を行い、第２にそれ以外の場合には奇数アドレスと同じ信号を出力すれば良いことになる。
【００４２】
図２は、以上のことを考慮して２ビットプリフェッチ用のｎビットアドレスカウンタを構成したときの本発明の第１の実施の形態を表す構成図である。カウンタ本体は最下位ビットであるＡ＜０＞を除きＡ＜１＞からＡ＜ｎ＞までのカウンタ（１ビットカウンタ回路）５１−１〜５１−ｎが１セット設けられている。加算器制御回路５３は、シーケンシャルでＴａｐアドレスが奇数であることを検知して各ビット毎に偶数制御信号ＥｖｅｎＣｔｒｌ＜１：ｎ＞を生成する。また、各＋１加算器５２−１〜５２−ｎは、各偶数カウンタの前段にのみ設けられ、ＥｖｅｖＣｔｒｌ＜１：ｎ＞の状態に従ってＴａｐアドレスをそのまま伝えたり反転させて伝えたりする。
【００４３】
各カウンタ５１−１〜５１−ｎには、信号ＡＬＴＣ＜ｎ：０＞、ＣＴＣＬＫ、ＴＡＰＬＴＣ、及びＩＮＴＬＶが入力される。ＡＬＴＣ＜ｎ：０＞は、内部でラッチされたＴａｐアドレスであり、対応する添字のカウンタ５１−１〜５１−ｎに入力され、ＡＬＴＣ＜０＞は加算器制御回路５３に入力される。また、ＣＴＣＬＫはカウンタ５１−１〜５１−ｎをインクリメントさせるためのクロック信号、ＴＡＰＬＴＣはカウンタ内部にＴａｐアドレスを転送するための信号である。更に、ＩＮＴＬＶはアドレッシングモードを示す信号であり、この信号が“Ｈ”レベルの時はインターリーブモード、“Ｌ”レベルの時にはシーケンシャルモードであることを示している。各ビットのカウンタ５１−１〜５１−ｎからは奇数のカウンタアドレスＣＡｏ＜１：ｎ＞が出力され、またキャリー信号ＣＲＹｏ＜１：ｎ−１＞も出力されている。キャリー信号ＣＲＹｏ＜１：ｎ−１＞は、順次次段のカウンタに入力される。この際、カウンタ５１−１のキャリー入力は毎サイクルカウントアップを繰り返すように電源（ＶＤＤ）に固定されており、またカウンタ５１−ｎのキャリー出力は次段がないためここでは特に出力されていない。
【００４４】
上記構成において、カウンタ５１−１〜５１−ｎには従来と同じものが適用でき、図１３に示したように構成することが出来る。また、＋１加算器５２−１〜５２−ｎはそれぞれ、図３に示すように２つのＣＭＯＳ転送ゲート５４，５５とインバータ５６，５７で構成する。信号ＥｖｅｎＣｔｒｌは、インバータ５６の入力端子、転送ゲート５４を構成しているＰチャネル型ＭＯＳトランジスタのゲート、及び転送ゲート５５を構成しているＮチャネル型ＭＯＳトランジスタのゲートにそれぞれ供給される。上記インバータ５６の出力信号は、転送ゲート５４を構成しているＮチャネル型ＭＯＳトランジスタのゲート、及び転送ゲート５５を構成しているＰチャネル型ＭＯＳトランジスタのゲートにそれぞれ供給される。奇数アドレスＣＡｏ＜ｉ＞（ｉ＝１〜ｎ）は、転送ゲート５４の一端に供給されると共に、インバータ５７を介して転送ゲート５５の一端に供給される。そして、上記各転送ゲート５４，５５の他端から偶数アドレスＣＡｅ＜ｉ＞を出力するようになっている。そして、信号ＥｖｅｎＣｔｒｌが“Ｌ”レベルの時には奇数アドレスＣＡｏ＜ｉ＞をそのまま偶数アドレスＣＡｅ＜ｉ＞として出力し、“Ｈ”レベルの時には奇数アドレスＣＡｏ＜ｉ＞を反転して偶数アドレスＣＡｅ＜ｉ＞として出力する。
【００４５】
あるいは、上記＋１加算器５２−１〜５２−ｎをそれぞれ、エクスクルーシブオアゲート５８を使って図４のように構成しても良く、回路構成は異なるが動作は同じである。エクスクルーシブオアゲート５８を用いた場合には、信号ＥｖｅｎＣｔｒｌが“Ｌ”レベルの時には奇数アドレスＣＡｏ＜ｉ＞をそのまま通し、“Ｈ”レベルの時には反転して通すことにより、偶数アドレスＣＡｅ＜ｉ＞を生成する。
【００４６】
更に、加算器制御回路５３は例えば図５のように構成する。この回路１４は、インバータ５９、ナンドゲート６０−１〜６０−ｎ、及びインバータ６１−１〜６１−ｎを含んで構成されている。上記インバータ５９の入力端子にはアドレッシングモードを示す信号ＩＮＴＬＶが供給され、このインバータ５９の出力信号が各ナンドゲート６０−１〜６０−ｎに供給される。また、上記各ナンドゲート６０−１〜６０−ｎには、Ｔａｐアドレスの最下位ビットである信号ＡＬＴＣ＜０＞がそれぞれ供給される。上記ナンドゲート６０−２にはこれらの信号に加えて奇数のカウンタアドレスＣＡｏ＜１＞が供給され、上記ナンドゲート６０−３にはこれらの信号に加えて更に奇数のカウンタアドレスＣＡｏ＜２＞が供給される。以降の段のナンドゲート６０−４〜６０−（ｎ−１）にはそれぞれ奇数のカウンタアドレスＣＡｏ＜３＞〜ＣＡｏ＜ｎ−２＞が順次追加されて供給され、最終段のナンドゲート６０−ｎには奇数のカウンタアドレスＣＡｏ＜ｎ−１＞が追加されて供給されるようになっている。そして、上記各ナンドゲート６０−１〜６０−ｎの出力信号がインバータ６１−１〜６１−ｎの入力端子に供給され、これらインバータ６１−１〜６１−ｎの出力端子から偶数制御信号ＥｖｅｎＣｔｒｌ＜１＞〜ＥｖｅｎＣｔｒｌ＜ｎ＞が出力される。
【００４７】
上記のような構成において、信号ＩＮＴＬＶが“Ｌ”レベルで且つＴａｐアドレスの最下位ビットであるＡＬＴＣ＜０＞が“Ｈ”レベルであるとき、すなわちシーケンシャルでＴａｐアドレスが奇数の時に各奇数カウンタアドレスのデコードを行う。例えば信号ＩＮＴＬＶが“Ｌ”レベルで信号ＡＬＴＣ＜０＞が“Ｈ”レベルの時、あるサイクルにおいて奇数のカウンタアドレスＣＡｏ＜１：ｎ＞が１０…０であったとすると、加算器制御回路５３の出力であるＥｖｅｎＣｔｒｌ＜１：ｎ＞は１１…０となる。従って、偶数アドレスＣＡｅ＜１：ｎ＞は０１…０となって奇数アドレスに対して１を加えた値を得ることが出来る。以上のことから、ｎビット目の偶数制御信号ＥｖｅｎＣｔｒｌ＜ｎ＞を論理式で表すと下式（２）の様になる。
【００４８】
ＥｖｅｎＣｔｒｌ＜ｎ＞＝／ＩＮＴＬＶ・ＡＩＬＴＣ＜０＞・ＣＡ＜１：ｎ−１＞…（２）
但し、／ＩＮＴＬＶは、ＩＮＴＬＶの反転信号である。
【００４９】
以上のように、図２のようなカウンタ構成を用いることによって、２ビットプリフェッチを用いた場合でもカウンタの個数はｎ個となり、図１２のカウンタ構成の時の２×ｎ個に比べて半分の数に抑えることが出来る。しかも、図８に示したプリフェッチしないときのｎ＋１個と比較しても１個分は減らすことができ、ビット数が少なければ加算器５２−１〜５２−ｎを設けることによるチップ面積の増大よりも１ビットカウンタの削減による回路面積の削減の方が大きい。
【００５０】
よって、アドレスカウンタの回路数や回路面積の増加を抑制してチップ面積を小さくでき、プリフェッチを行うことによって高い周波数の基本クロックやＤＤＲ仕様などの高速データアクセスに対応でき、高速で動作特性に優れたクロック同期型の半導体記憶装置を構成できる。
【００５１】
［第２の実施の形態］
図６は、この発明の第２の実施の形態に係る半導体記憶装置について説明するためのもので、プリフェッチ技術を採用した半導体記憶装置におけるアドレスカウンタの１ビットを抽出して示す回路図である。図２に示した第１の実施の形態では、奇数のカウンタアドレスに加算器を通して偶数アドレスを生成したので、信号ＣＴＣＬＫの立ち下がりのタイミングで奇数アドレスが確定し、次に偶数アドレスが確定するという時間差が生じる。このため、これらのアドレスが入力されるアドレスデコーダ部分でタイミング設計が難しくなる可能性がある。そこで、この図６に示す回路では、カウンタ部６５におけるマスター段の出力ノードＣＡＸ＜ｉ＞を加算器部６８に入力し、信号ＣＴＣＬＫが“Ｈ”レベルの期間に加算を行い、信号ＣＴＣＬＫの立ち下がりで偶数と奇数のカウンタアドレスであるＣＡｏ＜ｎ＞とＣＡｅ＜ｎ＞とを同時に出力するように構成したものである。
【００５２】
すなわち、この回路は、カウンタ部６５、Ｔａｐ入力部６６、キャリー演算部６７及び加算器部６８から構成されている。
【００５３】
上記カウンタ部６５は、マスタースレーブ形式であり、エクスクルーシブオアゲート７１、クロックドインバータ７２〜７５及びインバータ７６，７７を含んで構成されている。上記エクスクルーシブオアゲート７１の一方の入力端には、前段からのキャリー信号ＣＲＹ＜ｉ−１＞が供給され、このエクスクルーシブオアゲート７１の出力信号はクロックドインバータ７２の入力端に供給される。このクロックドインバータ７２は、カウンタをインクリメントするためのクロック信号ＣＴＣＬＫとその反転信号ｂＣＴＣＬＫで動作が制御されている。このクロックドインバータ７２の出力信号は、インバータ７６の入力端に供給される。上記インバータ７６の出力信号（ＣＡＸ＜ｉ＞）は、クロックドインバータ７３，７４の入力端、及び加算器部６８中のエクスクルーシブオアゲート８７の一方の入力端にそれぞれ供給される。上記クロックドインバータ７３，７４はクロック信号ＣＴＣＬＫ，ｂＣＴＣＬＫで動作が制御されており、クロックドインバータ７３の出力信号はインバータ７６の入力端に供給される。また、上記クロックドインバータ７７の出力信号は、インバータ７７の入力端に供給される。上記インバータ７７の出力信号は、クロックドインバータ７５の入力端、エクスクルーシブオアゲート７１の他方の入力端、及びキャリー演算部６７中のエクスクルーシブオアゲート８５の一方の入力端にそれぞれ供給されるとともに、奇数アドレスＣＡｏ＜ｉ＞として出力される。上記クロックドインバータ７５はクロック信号ｂＣＴＣＬＫ，ＣＴＣＬＫで動作が制御されており、このクロックドインバータ７５の出力信号はインバータ７７の入力端に供給される。
【００５４】
上記エクスクルーシブオアゲート７１、クロックドインバータ７２，７３及びインバータ７６はマスター段、クロックドインバータ７４，７５及びインバータ７７はスレーブ段を構成しており、クロック信号ｂＣＴＣＬＫとＣＴＣＬＫに同期してマスター段にラッチしたデータを、次のクロックサイクルでクロック信号ＣＴＣＬＫとｂＣＴＣＬＫに同期してスレーブ段にラッチするようになっている。
【００５５】
上記Ｔａｐ入力部６６は、クロック信号ｂＣＴＣＬＫ，ＣＴＣＬＫで動作が制御されるクロックドインバータ７８，７９で構成されている。上記クロックドインバータ７８，７９の入力端には、スタートアドレスのｉビット目であるＴＡＰ＜ｉ＞が供給される。上記クロックドインバータ７８の出力信号は、キャリー演算部６７中のインバータ８０の入力端及びノアゲート８４の一方の入力端に供給される。上記クロックドインバータ７９の出力信号は、上記カウンタ部６５中のインバータ７６の入力端に供給される。
【００５６】
上記キャリー演算部６７は、インバータ８０〜８３、ノアゲート８４、エクスクルーシブオアゲート８５及びナンドゲート８６を含んで構成されている。上記インバータ８０の出力信号は上記インバータ８１の入力端に供給され、このインバータ８１の出力信号が上記ノアゲート８４の一方の入力端に供給される。このノアゲート８４の他方の入力端には、アドレッシングモードを示す信号ＩＮＴＬＶが入力されるインバータ８２の出力信号が供給される。このノアゲート８４の出力信号（ＴＰＲ＜ｉ＞）は、エクスクルーシブオアゲート８５の他方の入力端に供給される。このエクスクルーシブオアゲート８５の出力信号（ＣＡＲ＜ｉ＞）は、ナンドゲート８６の一方の入力端に供給される。このナンドゲート８６の他方の入力端には前段からのキャリー信号ＣＲＹ＜ｉ−１＞が供給され、その出力がインバータ８３に供給される。そして、このインバータ８３からキャリー信号ＣＲＹ＜ｉ＞が出力される。
【００５７】
上記加算器部６８は、エクスクルーシブオアゲート８７、クロックドインバータ８８，８９及びインバータ９０を含んで構成されている。上記エクスクルーシブオアゲート８７の他方の入力端には偶数制御信号ＥｖｅｎＣｔｒｌ＜ｉ＞が供給され、このエクスクルーシブオアゲート８７の出力信号がクロックドインバータ８８の入力端に供給される。このクロックドインバータ８８は、クロック信号ＣＴＣＬＫ，ｂＣＴＣＬＫで動作が制御されており、その出力信号はインバータ９０の入力端に供給される。上記インバータ９０の出力信号は、クロックドインバータ８９の入力端に供給されるとともに、偶数アドレスＣＡｅ＜ｉ＞として出力される。上記クロックドインバータ８９はクロック信号ｂＣＴＣＬＫ，ＣＴＣＬＫで動作が制御されており、このクロックドインバータ８９の出力信号は上記インバータ９０の入力端に供給される。
【００５８】
また、インバータ９１，９２が設けられており、インバータ９１に信号ＴＡＰＬＴＣを供給してその反転信号ｂＴＡＰＬＴＣを生成し、インバータ９２に信号ＣＴＣＬＫを供給してその反転信号ｂＣＴＣＬＫを生成している。
【００５９】
このような構成によれば待機時間であるクロック信号が“Ｈ”の期間にカウントアップを終了させることが出来るので、クロック信号が“Ｌ”になると同時に、同じタイミングで偶数と奇数のカウンタアドレスを同時に切り替えることが出来ることから、動作速度の高速化を図れると共に、アドレスカウンタの出力信号を受けるアドレスデコーダ部におけるタイミング設計が容易になる。
【００６０】
図７は、上記図６に示したカウンタをｎ個用いた２ビットプリフェッチ用のアドレスカウンタの全体構成図である。基本構成は図２に示した回路と大きく変わらないが、各カウンタ５１−１’〜５１−ｎ’の内部に加算器が組み込まれているため、加算器制御信号ＥｖｅｎＣｔｒｌ＜ｎ：１＞がカウンタ５１−１’〜５１−ｎ’に入力されており、またカウンタ内部の加算器によって生成された偶数アドレスがここではカウンタの出力として取り出されている。以上のような構成を用いることによって２ビットプリフェッチを行ってもカウンタの数を抑え、且つ偶数と奇数アドレスの出力されるタイミングを揃えたアドレスカウンタシステムを構築できる。
【００６１】
上述したように、この発明の第１の実施の形態に係る図２の構成を採用することにより、高い周波数の基本クロックや、ＤＤＲ仕様などの高速データアクセスに対応するためにプリフェッチ技術を採用し、且つその副作用であるアドレスカウンタの回路数／回路面積の増加をプリフェッチしないときと同等、またはそれ以下に抑えることが出来る。
【００６２】
また、本発明の第２の実施の形態に係る図７のような構成を用いれば１度に生成される複数のプリフェッチアドレスを基本クロックに対して同じタイミングで出力できるようになり、これを受けるアドレスデコーダのタイミング設計が容易になる。
【００６３】
【発明の効果】
以上説明したように、この発明によれば、プリフェッチ技術を採用しても、アドレスカウンタの回路数や回路面積の増加を抑制してチップ面積を小さくでき、高速で動作特性に優れたクロック同期型の半導体記憶装置が得られる。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態に係る半導体記憶装置について説明するためのもので、プリフェッチ技術を採用した半導体記憶装置におけるアドレスカウンタの概念図。
【図２】この発明の第１の実施の形態に係る半導体記憶装置における２ビットプリフェッチカウンタの構成例を示す回路図。
【図３】図２に示した２ビットプリフェッチカウンタにおける＋１加算器回路の構成例を示す回路図。
【図４】図２に示した２ビットプリフェッチカウンタにおける＋１加算器回路の他の構成例を示す回路図。
【図５】図２に示した２ビットプリフェッチカウンタにおける加算器制御回路の構成例を示す回路図。
【図６】この発明の第２の実施の形態に係る半導体記憶装置について説明するためのもので、プリフェッチ技術を採用した半導体記憶装置におけるアドレスカウンタの１ビットを抽出して示す回路図。
【図７】この発明の第２の実施の形態に係る半導体記憶装置について説明するためのもので、上記図６に示したカウンタを用いて構成した２ビットプリフェッチカウンタの構成例を示す回路図。
【図８】プリフェッチしない従来の半導体記憶装置について説明するためのもので、アドレスカウンタの構成図。
【図９】２ビットプリフェッチを行う従来の半導体記憶装置について説明するためのもので、アドレスカウンタの構成を表した概念図。
【図１０】２ビットプリフェッチにおけるアドレスの遷移について説明するためのもので、（ａ）図及び（ｂ）図はインターリーブ動作、（ｃ）図及び（ｄ）図はシーケンシャル動作を示す図。
【図１１】従来の改良された２ビットプリフェッチカウンタの概念図。
【図１２】図１１に示した２ビットプリフェッチカウンタの構成例を示すブロック図。
【図１３】図１２に示した回路における各カウンタの構成例を示す回路図。
【図１４】図１２に示した回路における＋１加算器の構成例を示す回路図。
【図１５】図１２に示した回路における加算器制御回路の構成例を示す回路図。
【図１６】シーケンシャルモードにおけるカウンタの動作を示すもので、（ａ）図はＴＡＰ＜ｉ＞が“０”の時、（ｂ）図はＴＡＰ＜ｉ＞が“１”の時のタイミングチャート。
【図１７】インターリーブモードにおけるカウンタの動作を示すもので、（ａ）図はＴＡＰ＜ｉ＞が“０”の時、（ｂ）図はＴＡＰ＜ｉ＞が“１”の時のタイミングチャート。
【符号の説明】
５１，５１−１〜５１−ｎ，５１−１’〜５１−ｎ’…カウンタ（１ビットカウンタ回路）、
５２，５２−１〜５２−ｎ…＋１加算器、
５３…加算器制御回路、
５４，５５…ＣＭＯＳ転送ゲート、
５６，５７…インバータ、
５８…エクスクルーシブオアゲート、
５９…インバータ、
６０−１〜６０−ｎ…ナンドゲート、
６１−１〜６１−ｎ…インバータ、
６５…カウンタ部、
６６…Ｔａｐ入力部、
６７…キャリー演算部、
６８…加算器部。
【図１】
0004008624.tif 000002
【図２】
0004008624.tif 000003
【図３】
0004008624.tif 000004
【図４】
0004008624.tif 000005
【図５】
0004008624.tif 000006
【図６】
0004008624.tif 000007
【図７】
0004008624.tif 000008
【図８】
0004008624.tif 000009
【図９】
0004008624.tif 000010
【図１０】
0004008624.tif 000011
【図１１】
0004008624.tif 000012
【図１２】
0004008624.tif 000013
【図１３】
0004008624.tif 000014
【図１４】
0004008624.tif 000015
【図１５】
0004008624.tif 000016
【図１６】
0004008624.tif 000017
【図１７】
0004008624.tif 000018