(57)【特許請求の範囲】
【請求項１】
クロック信号の前縁に応答してアドレス信号を取込む半導体記憶装置であって、
複数のメモリセル、
アドレス信号に従って前記複数のメモリセルのうちのいずれかのメモリセルを選択する選択回路、
前記選択回路によって選択されたメモリセルのデータ信号の書込／読出を行なう書込／読出回路、および
入力された２つのアドレス信号が互いに一致しているか否かを検出し、検出結果に基づいて、前記書込／読出回路を制御する制御信号を出力する一致／不一致検出回路を備え、
前記一致／不一致検出回路は、
所定のノードを第１の電位に充電するための充電回路、
それぞれアドレス信号に含まれる複数の信号に対応して設けられ、各々が、入力された２つのアドレス信号に含まれる対応の２つの信号を受け、受けた２つの信号の論理レベルが互いに異なることに応じて前記所定のノードを第２の電位に放電する複数の放電回路、および
前記所定のノードの電位に基づいて前記制御信号を発生する信号発生回路を含み、
前記充電回路は、
前記クロック信号を予め定められた時間だけ遅延させる遅延回路、
前記第１の電位のラインと前記所定のノードとの間に接続され、前記遅延回路の出力クロック信号の後縁に応答して導通し、前記遅延回路の出力クロック信号の前縁に応答して非導通になる第１のスイッチング素子、および
その一方電極が前記所定のノードに接続され、その他方電極が前記複数の放電回路に接続され、前記クロック信号の前縁に応答して導通し、前記クロック信号の後縁に応答して非導通になる第２のスイッチング素子を有する、半導体記憶装置。
【請求項２】
前記第２のスイッチング素子は、前記遅延回路の出力クロック信号の前縁に応答して導通し、前記遅延回路の出力クロック信号の後縁に応答して非導通になる、請求項１に記載の半導体記憶装置。
【請求項３】
前記充電回路は、さらに、予め定められた電流駆動力を有し、前記所定のノードを前記第１の電位に保持するハーフラッチ回路を含む、請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記放電回路は、
前記第２のスイッチング素子の他方電極と前記第２の電位のラインとの間に接続された第３のスイッチング素子、および
対応の２つの信号の論理レベルが互いに異なることに応じて前記第３のスイッチング素子を導通させる排他的論理和回路を含む、請求項１から請求項３のいずれかに記載の半導体記憶装置。
【請求項５】
前記放電回路は、
その一方電極が前記第２のスイッチング素子の他方電極に接続され、対応の２つの信号のうちの一方の信号が第１の論理レベルの場合に導通する第４のスイッチング素子、
前記第４のスイッチング素子の他方電極と前記第２の電位のラインとの間に接続され、前記２つの信号のうちの他方の信号が第２の論理レベルの場合に導通する第５のスイッチング素子、
その一方電極が前記第２のスイッチング素子の他方電極に接続され、前記２つの信号のうちの他方の信号が第１の論理レベルの場合に導通する第６のスイッチング素子、および
前記第６のスイッチング素子の他方電極と前記第２の電位のラインとの間に接続され、前記２つの信号のうちの一方の信号が第２の論理レベルの場合に導通する第７のスイッチング素子を含む、請求項１から請求項３のいずれかに記載の半導体記憶装置。
【請求項６】
前記信号発生回路は、前記第１および第２の電位間の予め定められたしきい値電位を有し、前記所定のノードの電位が前記しきい値電位を超えた場合は第１のレベルの信号を出力し、前記所定のノードの電位が前記しきい値電位を超えない場合は第２のレベルの信号を出力する電位検出回路を含む、請求項１から請求項５のいずれかに記載の半導体記憶装置。
【請求項７】
前記信号発生回路は、さらに、前記電位検出回路の出力信号を受け、前記クロック信号の前縁に応答して前記電位検出回路の出力信号を通過させ、前記クロック信号の後縁に応答して前記電位検出回路の出力信号のレベルを保持および出力する第１のラッチ回路を含む、請求項６に記載の半導体記憶装置。
【請求項８】
前記信号発生回路は、さらに、前記第１のラッチ回路の出力信号を受け、前記半導体記憶装置がフロースルー型として使用される場合は、前記クロック信号に関係なく前記第１のラッチ回路の出力信号を通過させ、前記半導体記憶装置がパイプライン型として使用される場合は、前記クロック信号の後縁に応答して前記第１のラッチ回路の出力信号を通過させ、前記クロック信号の前縁に応答して前記第１のラッチ回路の出力信号を保持および出力する第２のラッチ回路を含む、請求項７に記載の半導体記憶装置。
【請求項９】
さらに、前記クロック信号の前縁に応答してアドレス信号を保持および出力する第１のレジスタ、および
前記クロック信号の前縁に応答して前記第１のレジスタの出力アドレス信号を保持および出力する第２のレジスタを備え、
前記選択回路は、読出および書込動作時にそれぞれ前記第１および第２のレジスタの出力アドレス信号に従って前記複数のメモリセルのうちのいずれかのメモリセルを選択し、
前記一致／不一致検出回路は、前記第１および第２のレジスタの出力アドレス信号が互いに一致しているか否かを検出する、請求項１から請求項８のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体記憶装置に関し、特に、クロック信号の前縁に応答してアドレス信号を取込む半導体記憶装置に関する。
【０００２】
【従来の技術】
近年、動作周波数およびバスの利用効率の向上を図るため、シンクロナス・スタティック・ランダム・アクセスメモリ（以下、シンクロナスＳＲＡＭと称す）の種類が増加している。シンクロナスＳＲＡＭとは、クロック信号に同期して動作するＳＲＡＭをいう。シンクロナスＳＲＡＭは、リード・レイテンシの違いによってフロースルー型とパイプライン型に分けられ、ライト・レイテンシの違いによってアーリーライト型、レイトライト型およびダブルレイトライト型に分けられる。
【０００３】
図１５は、フロースルー型シンクロナスＳＲＡＭとパイプライン型シンクロナスＳＲＡＭのリード動作を示すタイムチャートである。図１５において、クロック信号ＣＬＫの立上がりエッジに同期して、アドレス信号ＡＤＤが入力されるとともに、制御信号ＷＥによってリードコマンドが入力される。Ｑ（ＦＴ）はフロースルー型の読出データ信号を示し、Ｑ（ＰＬ）はパイプライン型の読出データ信号を示している。
【０００４】
リード・レイテンシの違いとは、アドレス信号ＡＤＤとリードコマンドを入力してから、そのアドレス信号ＡＤＤに対応したデータ信号Ｑが出力されるまでのサイクル数の違いをいう。つまり、フロースルー型の場合は、アドレス信号（たとえばＡ０）が入力されたサイクル０内に対応のデータ信号Ｑ（Ａ０）が出力されるが、パイプライン型の場合は、アドレス信号Ａ０が入力されたサイクル０の次のサイクル１で対応のデータ信号Ｑ（Ａ０）が出力される。
【０００５】
図１６は、アーリーライト型シンクロナスＳＲＡＭ、レイトライト型シンクロナスＳＲＡＭおよびダブルレイトライト型シンクロナスＳＲＡＭのライト動作を示すタイムチャートである。図１６において、クロック信号ＣＬＫの立上がりエッジに同期して、アドレス信号ＡＤＤが入力されるとともに、制御信号ＷＥによってライトコマンドが入力される。Ｄ（ＥＷ）、Ｄ（ＬＷ）およびＤ（ＤＬＷ）は、それぞれアーリーライト型、レイトライト型およびダブルレイトライト型の書込データ信号を示している。
【０００６】
ライト・レイテンシの違いとは、アドレス信号ＡＤＤとライトコマンドを入力してから、そのアドレス信号ＡＤＤに対応したデータ信号Ｄを入力するまでのサイクル数の違いをいう。つまり、アーリーライト型の場合は、アドレス信号（たとえばＡ０）の入力サイクル０と同じサイクル０に対応のデータ信号Ｄ（Ａ０）を入力するが、レイトライト型の場合は、アドレス信号Ａ０の入力サイクル０の次のサイクル１に対応のデータ信号Ｄ（Ａ０）を入力する。また、ダブルレイトライト型の場合は、アドレス信号Ａ０の入力サイクル０の次の次のサイクル２に対応のデータ信号Ｄ（Ａ０）を入力する。
【０００７】
このようなレイトライト方式またはダブルレイトライト方式を採用した場合において、ライト動作とリード動作を交互に行なった場合、連続的に入力された２つのアドレス信号Ａ０，Ａ１が異なる場合は問題ないが、２つのアドレス信号Ａ０，Ａ１が同じ場合はまだデータ信号Ｄを書込んでいないメモリセルからデータ信号を読出すことになるという不具合が生じる。そこで、この不具合を解消するためレイトライト型またはダブルレイト型のシンクロナスＳＲＡＭには、連続的に入力された２つのアドレス信号Ａ０，Ａ１が一致しているか否かを検出するためのコンパレータが設けられている。
【０００８】
図１７は、そのようなコンパレータ７０の構成を示す回路図である。連続的に入力される２つのアドレス信号ＡＤＤのうちの一方のアドレス信号はデータ信号ａ０〜ａｎ（ただし、ｎは０以上の整数である）を含み、他方のアドレス信号ＡＤＤはデータ信号ｂ０〜ｂｎを含むものとする。図１７において、このコンパレータ７０は、ＥＸ−ＯＲゲート７１．０〜７１．ｎ、ＯＲゲート７２、インバータ７６，７７およびラッチ回路７８を含む。
【０００９】
データ信号ａ０〜ａｎは、それぞれＥＸ−ＯＲゲート７１．０〜７１．ｎの一方入力ノードに入力される。データ信号ｂ０〜ｂｎは、それぞれＥＸ−ＯＲゲート７１．０〜７１．ｎの他方入力ノードに入力される。ＯＲゲート７２は、複数の２入力ＮＯＲゲート７３，７４，…、３入力ＮＡＮＤゲート７５などで構成されている。多数の２入力または３入力のＮＯＲゲートおよびＮＡＮＤゲートを使用するのは、４入力以上のＮＯＲゲートおよびＮＡＮＤゲートを使用するのは効率の面から非現実的だからである。ＯＲゲート７２は、ＥＸ−ＯＲゲート７１．０〜７１．ｎの出力信号を受け、その出力信号はインバータ７６で反転されてラッチ回路７８のデータ入力端子Ｄに入力される。ラッチ回路７８は、クロック信号ＣＬＫの反転信号／ＣＬＫが「Ｈ」レベルの期間にスルー状態になって入力信号の反転信号を出力し、クロック信号／ＣＬＫが「Ｌ」レベルにされたことに応じてその直前に入力していたレベルの信号を保持および出力する。ラッチ回路７８の出力信号は、インバータ７７で反転されて、コンパレータ７４の出力信号ＣＴとなる。
【００１０】
データ信号ａ０〜ａｎとｂ０〜ｂｎが一致しない場合は、ＥＸ−ＯＲゲート７１．０〜７１．ｎの出力信号がともに「Ｌ」レベルになり、ＯＲゲート７２の出力信号が「Ｌ」レベルになって信号ＣＴは「Ｈ」レベルになる。データ信号ａ０〜ａｎとｂ０〜ｂｎが一致していない場合は、ＥＸ−ＯＲゲート７１．０〜７１．ｎのうちの少なくとも１つのＥＸ−ＯＲゲートの出力信号が「Ｈ」レベルになり、ＯＲゲート７２の出力信号が「Ｈ」レベルになって信号ＣＴは「Ｌ」レベルになる。シンクロナスＳＲＡＭでは、この信号ＣＴに応答して読出動作が切換えられる。
【００１１】
【発明が解決しようとする課題】
しかし、従来のコンパレータ７０では、ＯＲゲート７２を多段のＮＯＲゲートおよびＮＡＮＤゲートで構成していたので、データ信号ａ０〜ａｎ，ｂ０〜ｂｎが確定してから比較結果を出力するまでの時間が長くなりＳＲＡＭの動作速度が遅くなるという問題があった。
【００１２】
それゆえに、この発明の主たる目的は、動作速度が速い半導体記憶装置を提供することである。
【００１３】
【課題を解決するための手段】
この発明に係る半導体記憶装置は、クロック信号の前縁に応答してアドレス信号を取込む半導体記憶装置であって、複数のメモリセルと、アドレス信号に従って複数のメモリセルのうちのいずれかのメモリセルを選択する選択回路と、選択回路によって選択されたメモリセルのデータ信号の書込／読出を行なう書込／読出回路と、入力された２つのアドレス信号が互いに一致しているか否かを検出し、検出結果に基づいて、書込／読出回路を制御する制御信号を出力する一致／不一致検出回路とを備えたものである。ここで、一致／不一致検出回路は、所定のノードを第１の電位に充電するための充電回路と、それぞれアドレス信号に含まれる複数の信号に対応して設けられ、各々が、入力された２つのアドレス信号に含まれる対応の２つの信号を受け、受けた２つの信号の論理レベルが互いに異なることに応じて所定のノードを第２の電位に放電する複数の放電回路と、所定のノードの電位に基づいて制御信号を発生する信号発生回路とを含む。
【００１４】
この充電回路は、クロック信号を予め定められた時間だけ遅延させる遅延回路と、第１の電位のラインと所定のノードとの間に接続され、遅延回路の出力クロック信号の後縁に応答して導通し、遅延回路の出力クロック信号の前縁に応答して非導通になる第１のスイッチング素子と、その一方電極が所定のノードに接続され、その他方電極が複数の放電回路に接続され、クロック信号の前縁に応答して導通し、クロック信号の後縁に応答して非導通になる第２のスイッチング素子とを有する。
【００１６】
また好ましくは、第２のスイッチング素子は、遅延回路の出力クロック信号の前縁に応答して導通し、遅延回路の出力クロック信号の後縁に応答して非導通になる。
【００１７】
また好ましくは、充電回路は、さらに、予め定められた電流駆動力を有し、所定のノードを第１の電位に保持するハーフラッチ回路を含む。
【００１８】
また好ましくは、放電回路は、第２のスイッチング素子の他方電極と第２の電位のラインとの間に接続された第３のスイッチング素子と、対応の２つの信号の論理レベルが互いに異なることに応じて第３のスイッチング素子を導通させる排他的論理和回路を含む。
【００１９】
また好ましくは、放電回路は、その一方電極が第２のスイッチング素子の他方電極に接続され、対応の２つの信号のうちの一方の信号が第１の論理レベルの場合に導通する第４のスイッチング素子と、第４のスイッチング素子の他方電極と第２の電位のラインとの間に接続され、２つの信号のうちの他方の信号が第２の論理レベルの場合に導通する第５のスイッチング素子と、その一方電極が第２のスイッチング素子の他方電極に接続され、２つの信号のうちの他方の信号が第１の論理レベルの場合に導通する第６のスイッチング素子と、第６のスイッチング素子の他方電極と第２の電位のラインとの間に接続され、２つの信号のうちの一方の信号が第２の論理レベルの場合に導通する第７のスイッチング素子とを含む。
【００２０】
また好ましくは、信号発生回路は、第１および第２の電位間の予め定められたしきい値電位を有し、所定のノードの電位がしきい値電位を超えた場合は第１のレベルの信号を出力し、所定のノードの電位がしきい値電位を超えない場合は第２のレベルの信号を出力する電位検出回路を含む。
【００２１】
また好ましくは、信号発生回路は、さらに、電位検出回路の出力信号を受け、クロック信号の前縁に応答して電位検出回路の出力信号を通過させ、クロック信号の後縁に応答して電位検出回路の出力信号のレベルを保持および出力する第１のラッチ回路を含む。
【００２２】
また好ましくは、信号発生回路は、さらに、第１のラッチ回路の出力信号を受け、半導体記憶装置がフロースルー型として使用される場合は、クロック信号に関係なく第１のラッチ回路の出力信号を通過させ、半導体記憶装置がパイプライン型として使用される場合は、クロック信号の後縁に応答して第１のラッチ回路の出力信号を通過させ、クロック信号の前縁に応答して第１のラッチ回路の出力信号を保持および出力する第２のラッチ回路を含む。
【００２３】
また好ましくは、さらに、クロック信号の前縁に応答してアドレス信号を保持および出力する第１のレジスタと、クロック信号の前縁に応答して第１のレジスタの出力アドレス信号を保持および出力する第２のレジスタとが設けられる。選択回路は、読出および書込動作時にそれぞれ第１および第２のレジスタの出力アドレス信号に従って複数のメモリセルのうちのいずれかのメモリセルを選択する。一致／不一致検出回路は、第１および第２のレジスタの出力アドレス信号が互いに一致しているか否かを検出する。
【００２４】
【発明の実施の形態】
［実施の形態１］
図１は、この発明の実施の形態１によるレイトライト，フロースルー型シンクロナスＳＲＡＭの全体構成を示すブロック図である。
【００２５】
図１において、このＳＲＡＭは、クロックバッファ１、レジスタ２〜６、カウンタ７、ライトパルス発生器８、ＷＥ制御回路９、ＯＥバッファ１０、出力バッファ１１、セレクタ１２，１３、コンパレータ１４、およびＳＲＡＭコア１５を備える。
【００２６】
ＳＲＡＭコア１５は、図２に示すように、メモリアレイ１６、行デコーダ１７、列デコーダ１８、および書込／読出回路１９を備える。メモリアレイ１６は、複数行複数列に配置された複数のメモリセルＭＣと、それぞれ複数行に対応して設けられた複数のワード線ＷＬと、それぞれ複数列に対応して設けられた複数のビット線対ＢＬＰとを含む。各メモリセルＭＣには、予め固有の行アドレスおよび列アドレスが割当てられている。各メモリセルＭＣは、１ビットのデータを記憶する。
【００２７】
行デコーダ１７は、行アドレス信号ＲＥに従って複数のワード線ＷＬのうちのいずれかのワード線ＷＬを選択し、選択したワード線ＷＬを選択レベルにしてそのワード線ＷＬに対応する複数のメモリセルＭＣを活性化させる。列デコーダ１８は、列アドレス信号ＣＡに従って、複数のビット線対ＢＬＰのうちのいずれかのビット線対ＢＬＰを選択する。
【００２８】
書込／読出回路１９は、信号ＡＴＤ，ＷＥ′によって制御され、デコーダ１７，１８によって選択されたメモリセルＭＣのデータ信号の書込／読出を行なう。すなわち書込／読出回路１９は、書込動作時は、列デコーダ８によって選択されたビット線対ＢＬＰを介して行デコーダ１７によって活性化されたメモリセルＭＣにデータ信号Ｄｉｎを書込む。また書込／読出回路１９は、読出動作時は、行デコーダ１７によって活性化されたメモリセルＭＣのデータ信号Ｄｏｕｔを列デコーダ１８によって選択されたビット線対ＢＬＰを介して読出す。
【００２９】
図１に戻って、クロックバッファ１は、クロック信号ＣＬＫをＳＲＡＭ全体に伝達するとともに、クロック信号ＣＬＫに同期して制御信号ＡＴＤを生成してＳＲＡＭコア１５に与える。レジスタ２〜６の各々は、クロック信号ＣＬＫが「Ｌ」レベルの期間に入力信号のレベルを取込み、取込んだ入力信号のレベルをクロック信号ＣＬＫの立上がりエッジに応答して保持および出力する。
【００３０】
すなわち、レジスタ２は、クロック信号ＣＬＫに同期して、バースト制御信号ＢＣをカウンタ７に伝達する。レジスタ３は、クロック信号ＣＬＫに同期して、アドレス信号ＡＤＤをカウンタ７、レジスタ６およびセレクタ１２に与える。レジスタ４は、クロック信号ＣＬＫに同期して、制御信号ＷＥ，ＣＳをライトパルス発生器８、ＷＥ制御回路９およびＯＥバッファ１０に伝達する。レジスタ５は、ＷＥ制御回路９によって活性化／非活性化され、クロック信号ＣＬＫに同期して書込データ信号ＤをＳＲＡＭコア１５およびセレクタ１３に与える。具体的には、レジスタ５は、ライトコマンドが入力されたサイクルの次のサイクルでデータ信号Ｄを保持および出力する。
【００３１】
カウンタ７は、バースト制御信号ＢＣによってバースト・スタートが指示されるとリセットされ、レジスタ３から与えられたアドレス信号ＡＤＤａを保持および出力する。またカウンタ７は、バースト制御信号ＢＣによってバースト・アドバンスが指示されると、前サイクルよりもアドバンスされたアドレス信号ＡＤＤａ′を出力する。
【００３２】
レジスタ６は、ＷＥ制御回路９によって活性化／非活性化され、クロック信号ＣＬＫに同期してレジスタ３またはカウンタ７の出力信号をセレクタ１２に与える。具体的には、レジスタ６は、ライトコマンドが入力されたサイクルの次のサイクルでライトコマンドが入力されたサイクルのアドレス信号ＡＤＤを保持および出力する。
【００３３】
セレクタ１２は、ＷＥ制御回路９によって制御され、ライトコマンドが入力されたサイクルではレジスタ６からのアドレス信号ＡＤＤｂをＳＲＡＭコア１５に与え、リードコマンドが入力されたサイクルではレジスタ３またはカウンタ７からのアドレス信号ＡＤＤａをＳＲＡＭコア１５に与える。セレクタ１２の出力アドレス信号ＡＤＤｃは、行アドレス信号ＲＡおよび列アドレス信号ＣＡを含んでいる。
【００３４】
ライトパルス発生器８は、レジスタ４からの制御信号ＷＥ，ＣＳに従ってライトパルス信号ＷＥ′を生成し、生成したライトパルス信号ＷＥ′をＳＲＡＭコア１５に与える。ＷＥ制御回路９は、クロック信号ＣＬＫおよびレジスタ４からの制御信号ＷＥ，ＣＳに従って、レジスタ６およびセレクタ１２を制御する。ＯＥバッファ１０は、制御信号ＯＥおよびレジスタ４からの制御信号ＷＥ，ＣＳに従って出力バッファ１１を制御する。
【００３５】
コンパレータ１４は、レジスタ３またはカウンタ７からのアドレス信号ＡＤＤとレジスタ６からのアドレス信号ＡＤＤとを比較し、２つのアドレス信号ＡＤＤが一致している場合は信号ＣＴを「Ｈ」レベルにし、２つのアドレス信号ＡＤＤが一致していない場合は信号ＣＴを「Ｌ」レベルにする。
【００３６】
セレクタ１３は、レジスタ５からのデータ信号ＤとＳＲＡＭコア１５からのデータ信号Ｄｏｕｔとを受け、信号ＣＴが「Ｈ」レベルの場合はレジスタ５からのデータ信号Ｄを出力バッファ１１に与え、信号ＣＴが「Ｌ」レベルの場合はＳＲＡＭコア１５からのデータ信号Ｄｏｕｔを出力バッファ１１に与える。出力バッファ１１は、ＯＥバッファ１０の出力信号に応答して、セレクタ１３からのデータ信号ＤまたはＤｏｕｔをデータ入出力端子Ｔに出力する。
【００３７】
次に、このＳＲＡＭのリード／ライト動作について説明する。図３において、クロック信号ＣＬＫのある立上がりエッジ（時刻ｔ０）に同期して、アドレス信号Ａ０が入力されるとともに、制御信号ＷＥによってライトコマンドが入力される。また、クロック信号ＣＬＫの次の立上がりエッジ（時刻ｔ１）に同期して、アドレス信号Ａ１が入力されるとともに、制御信号ＷＥによってリードコマンドが入力される。また、時刻ｔ０の前の立上がりエッジではリードコマンドが入力されていたものとする。
【００３８】
レジスタ３は、アドレス信号Ａ０が入力されたサイクル０で、アドレス信号Ａ０を保持および出力する（ＡＤＤａ＝Ａ０）。レジスタ６は、ライトコマンドが入力されたサイクル０の次のサイクル１、つまりアドレス信号Ａ１が入力されたサイクル１で、アドレス信号Ａ０を保持および出力する（ＡＤＤｂ＝Ａ０）。アドレス信号Ａ０が入力される前のサイクル（−１）はリードサイクルであるので、レジスタ６の出力アドレス信号ＡＤＤｂはアドレス信号Ａ０が入力されたサイクル０では変化しない。
【００３９】
セレクタ１２は、ライトコマンドが入力されたサイクルでレジスタ６の出力アドレス信号ＡＤＤｂを選択するので、アドレス信号Ａ０が入力されたライトサイクル０では、以前のライトサイクルで入力されたアドレス信号Ａ（−１）がセレクタ１２の出力アドレス信号ＡＤＤｃとなる（ＡＤＤｃ＝Ａ（−１））。
【００４０】
このとき、レジスタ５は、ライトコマンドが入力されたサイクルの次のサイクルでデータＤを保持および出力するので、アドレス信号Ａ０が入力されたサイクル０では以前のライトデータ信号Ｄ（Ａ（−１））を保持および出力している。したがって、アドレス信号Ａ０が入力されたサイクル０では、前のライトアドレス信号Ａ（−１）がＳＲＡＭコア１５に与えられ、ライトアドレス信号（−１）に対応するメモリセルＭＣにデータ信号Ｄ（Ａ（−１））が書込まれる。
【００４１】
次に、アドレス信号Ａ１が入力されたリードサイクル１では、レジスタ３はアドレス信号Ａ１をラッチする（ＡＤＤａ＝Ａ１）。レジスタ６は、アドレス信号Ａ１が入力されたサイクル１はライトコマンドが入力されたサイクル０の次のサイクル１であるので、前のサイクル０のライトアドレス信号Ａ０をラッチする（ＡＤＤｂ＝Ａ０）。
【００４２】
アドレス信号Ａ１が入力されたサイクル１はリードサイクルであるので、セレクタ１２はレジスタ３の出力アドレス信号Ａ１を選択してＳＲＡＭコア１５に与える（ＡＤＤｃ＝Ａ１）。ＳＲＡＭコア１５は、所定の遅延時間だけ遅延して読出データ信号Ｑ（Ａ１）を出力する（Ｄｏｕｔ＝Ｑ（Ａ１））。
【００４３】
ここで、レジスタ３，６の出力アドレス信号Ａ０とＡ１が異なる場合は、特に問題はなく、ＳＲＡＭコア１５の出力データ信号Ｑ（Ａ１）がセレクタ１３および出力バッファ１１を介してデータ入出力端子Ｔに出力される。しかし、レジスタ３，６の出力アドレス信号Ａ０とＡ１が一致した場合は、アドレス信号Ａ０に対応するライトデータ信号Ｄ（Ａ０）はまだレジスタ５に保持されている状態であり、ＳＲＡＭコア１５に書込まれていない。したがって、この場合は、セレクタ１３によってレジスタ５の出力データ信号Ａ０を選択する必要がある。
【００４４】
そして、アドレス信号Ａ１が入力されたサイクル１でＳＲＡＭコア１５に書込まれていなかったデータ信号Ｄ（Ａ０）は、リードサイクル１でのコンパレータ１４の比較結果に関係なく、次のライトサイクル２で確実にＳＲＡＭコア１５に書込まれる。
【００４５】
図４は、このＳＲＡＭの特徴となるコンパレータ１４の構成を示す回路ブロック図である。図４において、コンパレータ１４は、遅延回路２１、ＰチャネルＭＯＳトランジスタ２２，２３、ＮチャネルＭＯＳトランジスタ２４，２５．０〜２５．ｎ、ＥＸ−ＯＲゲート２６．０〜２６．ｎ、インバータ２７〜２９、およびラッチ回路３０を含む。レジスタ３の出力アドレス信号ＡＤＤａはデータ信号ａ０〜ａｎを含み、レジスタ６の出力アドレス信号ＡＤＤｂはデータ信号ｂ０〜ｂｎを含むものとする。
【００４６】
遅延回路２１は、クロック信号ＣＬＫを所定時間だけ遅延させてクロック信号ＣＬＫＤを生成する。ＰチャネルＭＯＳトランジスタ２２は電源電位ＶＣＣのラインとノードＮ２４との間に接続され、ＮチャネルＭＯＳトランジスタ２４はノードＮ２４とＮ２５の間に接続され、それらのゲートはともに遅延回路２１の出力クロック信号ＣＬＫＤを受ける。
【００４７】
クロック信号ＣＬＫＤが「Ｌ」レベルの場合は、ＰチャネルＭＯＳトランジスタ２２が導通するとともにＮチャネルＭＯＳトランジスタ２４が非導通になり、ノードＮ２４が「Ｈ」レベル（電源電位ＶＣＣ）に充電される。クロック信号ＣＬＫＤが「Ｈ」レベルの場合は、ＰチャネルＭＯＳトランジスタ２２が非導通になってノードＮ２４の充電が停止されるとともにＮチャネルＭＯＳトランジスタ２４が導通する。
【００４８】
ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎは、ノードＮ２５と接地電位ＧＮＤのラインとの間に並列接続される。レジスタ３の出力アドレス信号ａ０〜ａｎはそれぞれＥＸ−ＯＲゲート２６．０〜２６．ｎの一方入力ノードに入力され、レジスタ６の出力アドレス信号ｂ０〜ｂｎはそれぞれＥＸ−ＯＲゲート２６．０〜２６．ｎの他方入力ノードに入力される。ＥＸ−ＯＲゲート２６．０〜２６．ｎの出力信号は、それぞれＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎのゲートに入力される。
【００４９】
アドレス信号ａ０〜ａｎとｂ０〜ｂｎが完全に一致した場合は、ＥＸ−ＯＲゲート２６．０〜２６．ｎの出力信号はともに「Ｌ」レベルになってＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎがともに非導通になり、「Ｈ」レベルにプリチャージされたノードＮ２４，Ｎ２５のレベルは変化しない。
【００５０】
アドレス信号ａ０〜ａｎとｂ０〜ｂｎが異なる場合は、ＥＸ−ＯＲゲート２６．０〜２６．ｎのうちの少なくとも１つのＥＸ−ＯＲゲートの出力信号が「Ｈ」レベルになってＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎのうちの少なくとも１つのＮチャネルＭＯＳトランジスタが導通し、「Ｈ」レベルにプリチャージされたノードＮ２４，Ｎ２５は「Ｌ」レベルになる。
【００５１】
インバータ２７，２８、ラッチ回路３０およびインバータ２９は、ノードＮ２４と出力ノードＮ２９との間に直列接続される。ＰチャネルＭＯＳトランジスタ２３は、所定の電流駆動力を有し、電源電位ＶＣＣのラインとノードＮ２４との間に接続され、そのゲートはインバータ２７の出力信号を受ける。インバータ２７は、所定のしきい値電位ＶＴを有し、ノードＮ２４の電位がしきい値電位ＶＴよりも高い場合は「Ｌ」レベルの信号を出力し、ノードＮ２４の電位がしきい値電位ＶＴよりも低い場合は「Ｈ」レベルの信号を出力する。インバータ２７およびＰチャネルＭＯＳトランジスタ２３は、ハーフラッチ回路を構成する。ノードＮ２４が「Ｈ」レベルの場合は、インバータ２７の出力信号は「Ｌ」レベルになってＰチャネルＭＯＳトランジスタ２３が導通し、ノードＮ２４が「Ｈ」レベルに保持される。
【００５２】
ラッチ回路３０は、図５に示すように、インバータ３１〜３３およびトランスファーゲート３４を含む。トランスファーゲート３４およびインバータ３２は、データ入力端子Ｄとデータ出力端子Ｑとの間に直列接続される。遅延回路２１の出力クロック信号ＣＬＫＤは、クロック端子Ｃを介してトランスファーゲート３４のＮチャネルＭＯＳトランジスタ側のゲートに入力されるとともに、クロック端子Ｃおよびインバータ３１を介してトランスファーゲート３４のＰチャネルＭＯＳトランジスタ側のゲートに入力される。インバータ３３は、インバータ３２に逆並列に接続される。
【００５３】
クロック信号ＣＬＫＤが「Ｈ」レベルの場合は、トランスファーゲート３４が導通し、入力信号の反転信号が出力端子Ｑに出力される。クロック信号ＣＬＫＤが「Ｈ」レベルから「Ｌ」レベルに立下げられると、トランスファーゲート３４が非導通になり、その直前に出力されていた信号がインバータ３２，３３によって保持および出力される。すなわちクロック信号ＣＬＫＤが「Ｈ」レベルの場合はラッチ回路３０はスルー状態になり、クロック信号ＣＬＫＤが「Ｌ」レベルの場合はラッチ回路３０はホールド状態になる。ラッチ回路３０の出力信号は、インバータ２９で反転されて信号ＣＴとなる。
【００５４】
次に、このコンパレータ１４の動作について説明する。遅延回路２１の遅延時間は、たとえばクロック信号ＣＬＫの１／４周期に設定される。クロック信号ＣＬＫＤが「Ｌ」レベルの期間は、ＰチャネルＭＯＳトランジスタ２２が導通するとともにＮチャネルＭＯＳトランジスタ２４が非導通になり、ノードＮ２４は「Ｈ」レベルに充電される。また、この期間はラッチ回路３０がホールド状態となり、信号ＣＴのレベルは前のサイクルにおける比較結果を示している。
【００５５】
図３の時刻ｔ１において、クロック信号ＣＬＫが「Ｌ」レベルから「Ｈ」レベルに立上げられると、レジスタ３の出力アドレス信号ＡＤＤａ＝ａ０〜ａｎおよびレジスタ６の出力アドレス信号ＡＤＤｂ＝ｂ０〜ｂｎが決定される。次いで、遅延回路２１の遅延時間の経過後にクロック信号ＣＬＫＤが「Ｌ」レベルから「Ｈ」レベルに立上げられると、ＰチャネルＭＯＳトランジスタ２２が非導通になり、ＮチャネルＭＯＳトランジスタ２４が導通し、ラッチ回路３０はスルー状態となる。
【００５６】
アドレス信号ａ０〜ａｎとｂ０〜ｂｎが異なる場合は、ノードＮ２４，Ｎ２５は「Ｌ」レベルになって信号ＣＴが「Ｌ」レベルになり、ＳＲＡＭコア１５の出力データ信号Ｄｏｕｔがセレクタ１３および出力バッファ１１を介してデータ入出力端子Ｔに出力される。アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致した場合は、ノードＮ２４，Ｎ２５は「Ｈ」レベルのまま変化せず信号ＣＴが「Ｈ」レベルになり、レジスタ５の出力データ信号Ｄｉｎがセレクタ１３および出力バッファ１１を介してデータ入出力端子Ｔに出力される。
【００５７】
この実施の形態では、連続的に入力された２つのアドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致しているか否かをｎ＋１個のＥＸ−ＯＲゲート２６．０〜２６．ｎとワイヤードＯＲゲートによって検出するので、多段のゲート回路を用いて検出していた従来に比べ、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致しているか否かを迅速に検出することができ、ＳＲＡＭの動作速度の高速化を図ることができる。
【００５８】
［実施の形態２］
図６は、この発明の実施の形態２によるレイトライト，フロースルー／パイプライン切換型シンクロナスＳＲＡＭの全体構成を示すブロック図であって、図１と対比される図である。
【００５９】
図６を参照して、このＳＲＡＭが図１のＳＲＡＭと異なる点は、レジスタ４０が追加され、コンパレータ１４がコンパレータ４１で置換され、切換信号／ＦＴが新たに導入されている点である。信号／ＦＴは、ＳＲＡＭをフロースルー型として使用する場合は「Ｌ」レベルにされ、ＳＲＡＭをパイプライン型として使用する場合は「Ｈ」レベルにされる。
【００６０】
レジスタ４０は、ＳＲＡＭコア１５のデータ出力ノードとセレクタ１３との間に介挿され、信号／ＦＴが「Ｌ」の場合はスルー状態になり、クロック信号ＣＬＫに関係なく、ＳＲＡＭコア１５の出力データ信号Ｄｏｕｔをセレクタ１３に伝達する。またレジスタ４０は、信号／ＦＴが「Ｈ」レベルの場合は通常のレジスタとして動作し、クロック信号ＣＬＫが「Ｌ」レベルの期間にＳＲＡＭコア１５の出力データ信号Ｄｏｕｔのレベルを取込み、取込んだデータ信号Ｄｏｕｔのレベルをクロック信号ＣＬＫの立上がりエッジに応答して保持および出力する。したがって、ＳＲＡＭをパイプライン型として使用する場合は、リードコマンドが入力されたサイクルの次のサイクルで読出データ信号Ｑが出力される（図１５参照）。
【００６１】
コンパレータ４１は、図７に示すように、図４のコンパレータ１４にラッチ回路４２、インバータ４３およびＮＡＮＤゲート４４を追加したものである。ラッチ回路４２は、ラッチ回路３０と同じ構成である。インバータ２９の出力信号は、ラッチ回路４２のデータ入力端子Ｄに入力される。ラッチ回路４２の出力信号は、インバータ４３で反転されて信号ＣＴとなる。ＮＡＮＤゲート４４は、クロック信号ＣＬＫおよび信号／ＦＴを受け、その出力信号はラッチ回路４２のクロック端子Ｃに入力される。
【００６２】
信号／ＦＴが「Ｌ」レベルの場合は、クロック信号ＣＬＫに関係なく、ＮＡＮＤゲート４４の出力信号が「Ｈ」レベルに固定され、ラッチ回路４２はスルー状態になる。したがって、コンパレータ４１は図４のコンパレータ１４と同じ構成になる。
【００６３】
信号／ＦＴが「Ｈ」レベルの場合は、ＮＡＮＤゲート４０はクロック信号ＣＬＫに対してインバータとして動作し、クロック信号ＣＬＫの反転信号／ＣＬＫがラッチ回路４２のクロック端子Ｃに入力される。したがって、信号ＣＴがラッチ回路４２によって半サイクル分だけ遅延されることとなり、レジスタ４０の出力タイミングと信号ＣＴの出力タイミングとを一致させることができる。
【００６４】
この実施の形態２では、実施の形態１と同じ効果が得られるほか、信号／ＦＴを「Ｌ」レベルまたは「Ｈ」レベルに設定することにより、ＳＲＡＭをフロースルー型として使用するかパイプライン型として使用するかを選択することができる。
【００６５】
なお、この実施の形態２では、信号／ＦＴを外部から入力したが、これに限るものではなく、所定のアドレス信号ＡＤＤを所定のタイミングで入力するいわゆるアドレスキーによって信号／ＦＴを内部で発生してもよい。この場合は、信号信号／ＦＴ用の入力端子を別途設ける必要がない。
【００６６】
［実施の形態３］
実施の形態１，２のコンパレータ１４，４１では、アドレス信号ＡＤＤに含まれるデータ信号の数ｎ＋１が多くなると、正常に動作しなくなるという問題がある。たとえば図７のコンパレータ４１において、アドレス信号ＡＤＤに含まれるデータ信号の数ｎ＋１が増加してＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎの数が多くなると、ノードＮ２５の寄生容量が大きくなるとともに、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎのリーク電流も大きくなる。したがって、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致してすべてのＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎが非導通になった場合でも、ＰチャネルＭＯＳトランジスタ２２が非導通になるとともにＮチャネルＭＯＳトランジスタ２４が導通するとノードＮ２４が「Ｌ」レベルになってしまう。これを防止するためにＰチャネルＭＯＳトランジスタ２３が設けられているが、ＰチャネルＭＯＳトランジスタ２３のサイズは小さく設定されているので、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎの数が多すぎるとノードＮ２５を「Ｈ」レベルに保持することができない。
【００６７】
図８は、そのような誤動作状態を示すタイムチャートである。図８では、アドレス信号ＡＤＤに含まれるデータ信号ａｎが「Ｈ」レベルの期間はアドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致し、データ信号ａｎが「Ｌ」レベルの期間はアドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致していないものとする。データ信号ａｎとクロック信号ＣＬＫＤがともに「Ｈ」レベルになると、ノードのＮ２４，Ｎ２５および信号ＣＴが「Ｈ」レベルになる必要があるが、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎの数が多すぎるためノードＮ２４，Ｎ２５を「Ｈ」レベルにすることができず、誤動作が生じている。
【００６８】
このような誤動作を防止するためにＰチャネルＭＯＳトランジスタ２３のサイズを大きくすると、逆に、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致しない場合でもノードＮ２４，Ｎ２５を「Ｌ」レベルに引き下げることができなくなる。
【００６９】
図９は、そのような誤動作状態を示すタイムチャートである。図９でも、データ信号ａｎが「Ｈ」レベルの期間はアドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致し、データ信号ａｎが「Ｌ」レベルの期間はアドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致していないものとする。データ信号ａｎが「Ｌ」レベルにされるとともにクロック信号ＣＬＫＤが「Ｈ」レベルにされると、ノードＮ２４，Ｎ２５および信号ＣＥが「Ｌ」レベルになる必要があるが、ＰチャネルＭＯＳトランジスタ２３のサイズが大きすぎるためノードＮ２４，Ｎ２５を「Ｌ」レベルにすることができず、誤動作が生じている。この実施の形態３では、この問題の解決が図られる。
【００７０】
図１０は、この発明の実施の形態３によるＳＲＡＭのコンパレータ４５の構成を示す回路ブロック図であって、図７と対比される図である。図１０を参照して、このコンパレータ４５が図７のコンパレータ４１と異なる点は、遅延回路２１の出力クロック信号ＣＬＫＤの代わりにクロック信号ＣＬＫをＮチャネルＭＯＳトランジスタ２４のゲートに与えている点である。
【００７１】
図１１は、コンパレータ４５の動作を示すタイムチャートである。信号／ＦＴは「Ｌ」レベルにされているものとする。図１１において、データ信号ａｎが「Ｌ」レベルの期間は、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致していないので、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎのうちの少なくとも１つのＮチャネルＭＯＳトランジスタが導通し、ノードＮ２５は「Ｌ」レベルになっている。
【００７２】
データ信号ａｎが「Ｌ」レベルから「Ｈ」レベルに立上げられると、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致したので、すべてのＮチャネルＭＯＳトランジスタ２５．０〜２５ｎが非導通になる。次いでクロック信号ＣＬＫが「Ｌ」レベルから「Ｈ」レベルに立上げられると、ＮチャネルＭＯＳトランジスタ２４が導通してノードＮ２５が充電される。このとき、ＰチャネルＭＯＳトランジスタ２２，２３を介してノードＮ２４に電流を供給するので、ＰチャネルＭＯＳトランジスタ２３のサイズが小さくてもノードＮ２４が「Ｌ」レベルに引き下げられることはない。
【００７３】
次に、クロック信号ＣＬＫＤが「Ｌ」レベルから「Ｈ」レベルに立上げられると、ＰチャネルＭＯＳトランジスタ２２が非導通になるが、ノードＮ２４，Ｎ２５が十分に充電されているので、ノードＮ２４，Ｎ２５のレベルはＰチャネルＭＯＳトランジスタ２３によって保持される。また、クロック信号ＣＬＫＤが「Ｈ」レベルに立上げられると、ラッチ回路３０がスルー状態になって信号ＣＴは「Ｈ」レベルになる。なお、信号／ＦＴは「Ｌ」レベルにされているので、ラッチ回路４２はスルー状態に固定されている。
【００７４】
次いで、クロック信号ＣＬＫ，ＣＬＫＤが順次「Ｌ」レベルに立下げられると、ＰチャネルＭＯＳトランジスタ２２が導通するとともにＮチャネルＭＯＳトランジスタ２４が非導通になり、ノードＮ２４が「Ｈ」レベルに充電される。次に、データ信号ａｎが「Ｈ」レベルから「Ｌ」レベルに立下げられると、アドレス信号ａ０〜ａｎとｂ０〜ｂｎが一致せず、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎのうちの少なくとも１つのＮチャネルＭＯＳトランジスタが導通してノードＮ２５の電位が徐々に低下する。
【００７５】
次いで、クロック信号ＣＬＫ，ＣＬＫＤが「Ｈ」レベルに立上げられると、ＮチャネルＭＯＳトランジスタ２４が導通するとともにＰチャネルＭＯＳトランジスタ２２が非導通になる。これにより、ＰチャネルＭＯＳトランジスタ２３によってノードＮ２４，Ｎ２５の電位を保持することができなくなり、ノードＮ２４，Ｎ２５の電位が急激に低下し、信号ＣＴも「Ｈ」レベルから「Ｌ」レベルに立下げられる。
【００７６】
この実施の形態３では、ＮチャネルＭＯＳトランジスタ２４を導通させた後にＰチャネルＭＯＳトランジスタ２２を非導通にするので、ＮチャネルＭＯＳトランジスタ２５．０〜２５．ｎの数が増加した場合でも安定に動作する。
【００７７】
［実施の形態４］
実施の形態１〜３のコンパレータ１４，４１，４５では、ｎ＋１個のＥＸ−ＯＲゲート２６．０〜２６．ｎを用いた。１個のＥＸ−ＯＲゲートは一般に１０個のＭＯＳトランジスタを含むので、アドレス信号ＡＤＤに含まれるデータ信号ａ０〜ａｎの数が多くなると、コンパレータを構成するＭＯＳトランジスタの数が多くなり、コンパレータの回路面積が大きくなるという問題がある。
【００７８】
すなわちＥＸ−ＯＲゲート２６．ｎは、図１２に示すように、ＮＯＲゲート４６，４８およびＡＮＤゲート４７を含む。ＮＯＲゲート４６は、データ信号ａｎ，ｂｎを受ける。ＡＮＤゲート４７は、データ信号ａｎ，ｂｎを受ける。ＮＯＲゲート４８は、ＮＯＲゲート４６およびＡＮＤゲート４７の出力信号を受け、その出力信号はＮチャネルＭＯＳトランジスタ２５．ｎのゲートに入力される。
【００７９】
データ信号ａｎ，ｂｎがともに「Ｌ」レベルの場合は、ＮＯＲゲート４６の出力信号φ４６が「Ｈ」レベルになり、ＮＯＲゲート４８の出力信号が「Ｌ」レベルになる。データ信号ａｎ，ｂｎがともに「Ｈ」レベルの場合は、ＡＮＤゲート４７の出力信号が「Ｈ」レベルになり、ＮＯＲゲート４８の出力信号は「Ｌ」レベルになる。データ信号ａｎ，ｂｎのレベルが異なる場合は、ＮＯＲゲート４６およびＡＮＤゲート４７の出力信号はともに「Ｌ」レベルになり、ＮＯＲゲート４８の出力信号は「Ｈ」レベルになる。
【００８０】
図１３は、図１２のＡＮＤゲート４７およびＮＯＲゲート４８を含むゲート回路の構成を示す回路図である。図１３において、ゲート回路は、３つのＰチャネルＭＯＳトランジスタ５１〜５３および３つのＮチャネルＭＯＳトランジスタ５４〜５６を含む。ＰチャネルＭＯＳトランジスタ５１のソースは電源電位ＶＣＣを受け、そのゲートはＮＯＲゲート４６の出力信号φ４６を受ける。ＰチャネルＭＯＳトランジスタ５２，５３は、ＰチャネルＭＯＳトランジスタ５１のドレインと出力ノードＮ５２との間に並列接続され、それらのゲートはそれぞれデータ信号ｂｎ，ａｎを受ける。ＮチャネルＭＯＳトランジスタ５４，５５は、出力ノードＮ５２と接地電位ＧＮＤのラインとの間に直列接続され、それらのゲートはそれぞれデータ信号ｂｎ，ａｎを受ける。ＮチャネルＭＯＳトランジスタ５６は、出力ノードＮ５２と接地電位ＧＮＤのラインとの間に接続され、そのゲートは信号φ４６を受ける。
【００８１】
信号φ４６が「Ｈ」レベルの場合は、ＰチャネルＭＯＳトランジスタ５１が非導通になるとともにＮチャネルＭＯＳトランジスタ５６が導通し、データ信号ａｎ，ｂｎに関係なく、出力ノードＮ５２が「Ｌ」レベルになる。信号φ４６が「Ｌ」レベルの場合は、ＰチャネルＭＯＳトランジスタ５１が導通するとともにＮチャネルＭＯＳトランジスタ５６が非導通になり、このゲート回路はデータ信号ａｎ，ｂｎに対してＮＡＮＤゲートとして動作する。
【００８２】
すなわち、データ信号ａｎ，ｂｎがともに「Ｈ」レベルの場合は、ＰチャネルＭＯＳトランジスタ５２，５３が非導通になるとともにＮチャネルＭＯＳトランジスタ５４，５５が導通し、出力ノードＮ５２は「Ｌ」レベルになる。データ信号ａｎ，ｂｎのうちの少なくとも一方のデータ信号が「Ｌ」レベルの場合は、ＰチャネルＭＯＳトランジスタ５２，５３のうちの少なくとも一方のＰチャネルＭＯＳトランジスタが導通するとともにＮチャネルＭＯＳトランジスタ５４，５５のうちの少なくとも一方のＮチャネルＭＯＳトランジスタが非導通になり、出力ノードＮ５２は「Ｈ」レベルになる。
【００８３】
このように、図１２のＡＮＤゲート４７およびＮＯＲゲート４８を含むゲート回路は６つのＭＯＳトランジスタで構成され、ＮＯＲゲート４６は周知のように４つのＭＯＳトランジスタで構成される。したがって、データ信号ａｎとｂｎを比較するためには、ＮチャネルＭＯＳトランジスタ２５．ｎを含めると、１１個のＭＯＳトランジスタが必要となる。よって、アドレス信号ＡＤＤに含まれるデータ信号の数ｎ＋１が多くなると、ＭＯＳトランジスタの数が多くなり、コンパレータの面積が大きくなる。この実施の形態４では、この問題の解決が図られる。
【００８４】
図１４は、この発明の実施の形態４によるＳＲＡＭのコンパレータに含まれる比較単位回路６０．ｎの構成を示す回路図である。この比較単位回路６０．ｎは、図１２のＥＸ−ＯＲゲート２６．ｎおよびＮチャネルＭＯＳトランジスタ２５．ｎに相当する回路であって、４つのＮチャネルＭＯＳトランジスタ６１〜６４および２つのインバータ６０，６６を含む。ＮチャネルＭＯＳトランジスタ６１，６３はノードＮ２５と接地電位ＧＮＤのラインとの間に直列接続され、ＮチャネルＭＯＳトランジスタ６２，６４はノードＮ２５と接地電位ＧＮＤのラインとの間に直列接続される。データ信号ａｎは、ＮチャネルＭＯＳトランジスタ６２のゲートに直接入力されるとともに、インバータ６５を介してＮチャネルＭＯＳトランジスタ６３のゲートに入力される。データ信号ｂｎは、ＮチャネルＭＯＳトランジスタ６１のゲートに直接入力されるとともに、インバータ６６を介してＮチャネルＭＯＳトランジスタ６４のゲートに入力される。
【００８５】
データ信号ａｎ，ｂｎがともに「Ｈ」レベルの場合は、ＮチャネルＭＯＳトランジスタ６１，６２が導通するとともにＮチャネルＭＯＳトランジスタ６３，６４が非導通になり、ノードＮ２５と接地電位ＧＮＤのラインとの間が非導通状態になる。データ信号ａｎ，ｂｎがともに「Ｌ」レベルの場合は、ＮチャネルＭＯＳトランジスタ６１，６２が非導通になるとともにＮチャネルＭＯＳトランジスタ６３，６４が導通し、ノードＮ２５と接地電位ＧＮＤのラインとの間は非導通状態になる。
【００８６】
データ信号ａｎ，ｂｎがそれぞれ「Ｈ」レベルおよび「Ｌ」レベルの場合は、ＮチャネルＭＯＳトランジスタ６２，６４が導通するとともにＮチャネルＭＯＳトランジスタ６１，６３が非導通になり、ノードＮ２５はＮチャネルＭＯＳトランジスタ６２，６４を介して接地される。データ信号ａｎ，ｂｎがそれぞれ「Ｌ」レベルおよび「Ｈ」レベルの場合は、ＮチャネルＭＯＳトランジスタ６１，６３が導通するとともにＮチャネルＭＯＳトランジスタ６２，６４が非導通になり、ノードＮ２５はＮチャネルＭＯＳトランジスタ６１，６３を介して接地される。
【００８７】
したがって、データ信号ａｎ，ｂｎのレベルが一致した場合はノードＮ２５はフローティング状態にされ、データ信号ａｎ，ｂｎのレベルが一致しない場合はノードＮ２５は接地される。よって、この比較単位回路６０．ｎは、図１２のＥＸ−ＯＲゲート２６．ｎおよびＮチャネルＭＯＳトランジスタ２５．ｎと同じ機能を有する。
【００８８】
また、インバータ６０，６６の各々は、周知のように２つのＭＯＳトランジスタで構成されるので、比較単位回路６０．ｎは８つのＭＯＳトランジスタで構成される。したがって、この比較単位回路６０．ｎを使用すれば、図１２のＥＸ−ＯＲゲート２６．ｎおよびＮチャネルＭＯＳトランジスタ２５．ｎを用いた場合に比べ、ＭＯＳトランジスタの数が３つ少なくて済み、コンパレータの回路面積が小さくて済む。
【００８９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００９０】
【発明の効果】
以上のように、この発明に係る半導体記憶装置では、複数のメモリセルと、クロック信号の前縁に応答して取込まれたアドレス信号に従って複数のメモリセルのうちのいずれかのメモリセルを選択する選択回路と、選択回路によって選択されたメモリセルのデータ信号の書込／読出を行なう書込／読出回路と、入力された２つのアドレス信号が互いに一致しているか否かを検出し、検出結果に基づいて、書込／読出回路を制御する制御信号を出力する一致／不一致検出回路とが設けられる。この一致／不一致検出回路は、所定のノードを第１の電位に充電するための充電回路と、それぞれアドレス信号に含まれる複数の信号に対応して設けられ、各々が、入力された２つのアドレス信号に含まれる対応の２つの信号を受け、受けた２つの信号の論理レベルが互いに異なることに応じて所定のノードを第２の電位に放電する複数の放電回路と、所定のノードの電位に基づいて制御信号を発生する信号発生回路とを含む。したがって、従来のように多段のＮＯＲゲートおよびＮＡＮＤゲートを用いる必要がないので、２つのアドレス信号が一致しているか否かの検出結果を迅速に得ることができ、半導体記憶装置の動作速度の高速化を図ることができる。
【００９１】
また、充電回路は、クロック信号を予め定められた時間だけ遅延させる遅延回路と、第１の電位のラインと所定のノードとの間に接続され、遅延回路の出力クロック信号の後縁に応答して導通し、遅延回路の出力クロック信号の前縁に応答して非導通になる第１のスイッチング素子と、その一方電極が所定のノードに接続され、その他方電極が複数の放電回路に接続され、クロック信号の前縁に応答して導通し、クロック信号の後縁に応答して非導通になる第２のスイッチング素子とを有する。したがって、遅延回路の遅延時間分だけ第１および第２のスイッチング素子の両方を導通させることができるので、放電回路の数が増えた場合でも誤動作することがない。なお、クロック信号の前縁とはクロック信号の立上がりエッジまたは立下りエッジをいい、クロック信号の後縁とはクロック信号の立下りエッジまたは立上がりエッジをいう。
【００９３】
また好ましくは、第２のスイッチング素子は、遅延回路の出力クロック信号の前縁に応答して導通し、遅延回路の出力クロック信号の後縁に応答して非導通になる。この場合は、２つのアドレス信号が確定するのを待って所定のノードと複数の放電回路を結合することができる。
【００９４】
また好ましくは、充電回路は、さらに、予め定められた電流駆動力を有し、所定のノードを第１の電位に保持するハーフラッチ回路を含む。この場合は、所定のノードの電位を第１の電位に安定に保持することができる。
【００９５】
また好ましくは、放電回路は、第２のスイッチング素子の他方電極と第２の電位のラインとの間に接続された第３のスイッチング素子と、対応の２つの信号の論理レベルが互いに異なることに応じて第３のスイッチング素子を導通させる排他的論理和回路とを含む。この場合は、放電回路を容易に構成することができる。
【００９６】
また好ましくは、放電回路は、その一方電極が第２のスイッチング素子の他方電極に接続され、対応の２つの信号のうちの一方の信号が第１の論理レベルの場合に導通する第４のスイッチング素子と、第４のスイッチング素子の他方電極と第２の電位のラインとの間に接続され、２つの信号のうちの他方の信号が第２の論理レベルの場合に導通する第５のスイッチング素子と、その一方電極が第２のスイッチング素子の他方電極に接続され、２つの信号のうちの他方の信号が第１の論理レベルの場合に導通する第６のスイッチング素子と、第６のスイッチング素子の他方電極と第２の電位のラインとの間に接続され、２つの信号のうちの一方の信号が第２の論理レベルの場合に導通する第７のスイッチング素子とを含む。この場合は、放電回路を構成する素子の数を少なくすることができる。
【００９７】
また好ましくは、信号発生回路は、第１および第２の電位間の予め定められたしきい値電位を有し、所定のノードの電位がしきい値電位を超えた場合は第１のレベルの信号を出力し、所定のノードの電位がしきい値電位を超えない場合は第２のレベルの信号を出力する電位検出回路を含む。この場合は、所定のノードが充電されたか放電されたかを容易に検出することができる。
【００９８】
また好ましくは、信号発生回路は、さらに、電位検出回路の出力信号を受け、クロック信号の前縁に応答して電位検出回路の出力信号を通過させ、クロック信号の後縁に応答して電位検出回路の出力信号のレベルを保持および出力する第１のラッチ回路を含む。この場合は、電位検出回路の検出結果を半サイクル間保持することができる。
【００９９】
また好ましくは、信号発生回路は、さらに、第１のラッチ回路の出力信号を受け、半導体記憶装置がフロースルー型として使用される場合は、クロック信号に関係なく第１のラッチ回路の出力信号を通過させ、半導体記憶装置がパイプライン型として使用される場合は、クロック信号の後縁に応答して第１のラッチ回路の出力信号を通過させ、クロック信号の前縁に応答して第１のラッチ回路の出力信号を保持および出力する第２のラッチ回路を含む。この場合は、半導体記憶装置がフロースルー型として使用される場合でもパイプライン型として使用される場合でも、タイミングよく制御信号を出力することができる。
【０１００】
また好ましくは、さらに、クロック信号の前縁に応答してアドレス信号を保持および出力する第１のレジスタと、クロック信号の前縁に応答して第１のレジスタの出力アドレス信号を保持および出力する第２のレジスタとが設けられる。選択回路は、読出および書込動作時にそれぞれ第１および第２のレジスタの出力アドレス信号に従って複数のメモリセルのうちのいずれかのメモリセルを選択する。一致／不一致検出回路は、第１および第２のレジスタの出力アドレス信号が互いに一致しているか否かを検出する。この場合は、連続的に入力された２つのアドレス信号を容易に保持することができる。
【図面の簡単な説明】
【図１】  この発明の実施の形態１によるシンクロナスＳＲＡＭの全体構成を示す回路ブロック図である。
【図２】  図１に示したＳＲＡＭコアの構成を示すブロック図である。
【図３】  図１に示したシンクロナスＳＲＡＭのライト／リード動作を示すタイムチャートである。
【図４】  図１に示したコンパレータの構成を示す回路ブロック図である。
【図５】  図４に示したラッチ回路の構成を示す回路図である。
【図６】  この発明の実施の形態２によるシンクロナスＳＲＡＭの全体構成を示す回路ブロック図である。
【図７】  図６に示したコンパレータの構成を示す回路ブロック図である。
【図８】  実施の形態１，２の問題点を説明するためのタイムチャートである。
【図９】  実施の形態１，２の問題点を説明するための他のタイムチャートである。
【図１０】  この発明の実施の形態３によるシンクロナスＳＲＡＭのコンパレータの構成を示す回路ブロック図である。
【図１１】  図１０に示したコンパレータの動作を示すタイムチャートである。
【図１２】  実施の形態１〜３の問題点を説明するための回路図である。
【図１３】  図１２に示したＡＮＤゲート４７およびＮＯＲゲート４８を含むゲート回路の構成を示す回路図である。
【図１４】  この発明の実施の形態４によるシンクロナスＳＲＡＭのコンパレータに含まれる比較単位回路の構成を示す回路図である。
【図１５】  従来のシンクロナスＳＲＡＭのリード動作を示すタイムチャートである。
【図１６】  従来のシンクロナスＳＲＡＭのライト動作を示すタイムチャートである。
【図１７】  従来のシンクロナスＳＲＡＭのコンパレータの構成を示す回路ブロック図である。
【符号の説明】
１  クロックバッファ、２〜６，４０  レジスタ、７  カウンタ、８  ライトパルス発生回路、９  ＷＥ制御回路、１０  ＯＥバッファ、１１  出力バッファ、１２，１３  セレクタ、１４，４１，４５，７０  コンパレータ、１５  ＳＲＡＭコア、１６  メモリアレイ、１７  行デコーダ、１８  列デコーダ、１９  書込／読出回路、２１  遅延回路、２２，２３，５１〜５３  ＰチャネルＭＯＳトランジスタ、２４，２５．０〜２５．ｎ，５４〜５６，６１〜６４  ＮチャネルＭＯＳトランジスタ、２６．０〜２６．ｎ，７１．０〜７１．ｎ  ＥＸ−ＯＲゲート、２７〜２９，３１〜３３，４３，６５，６６，７６，７７  インバータ、３０，４２，７８  ラッチ回路、３４  トランスファーゲート、４４，７５  ＮＡＮＤゲート、４６，４８，７３，７４  ＮＯＲゲート、４７  ＡＮＤゲート、７０  ＯＲゲート。
【図１】
0004100930.tif 000002
【図２】
0004100930.tif 000003
【図３】
0004100930.tif 000004
【図４】
0004100930.tif 000005
【図５】
0004100930.tif 000006
【図６】
0004100930.tif 000007
【図７】
0004100930.tif 000008
【図８】
0004100930.tif 000009
【図９】
0004100930.tif 000010
【図１０】
0004100930.tif 000011
【図１１】
0004100930.tif 000012
【図１２】
0004100930.tif 000013
【図１３】
0004100930.tif 000014
【図１４】
0004100930.tif 000015
【図１５】
0004100930.tif 000016
【図１６】
0004100930.tif 000017
【図１７】
0004100930.tif 000018