以下、一実施形態を図1〜図12に従って説明する。
図1に示すように、半導体記憶装置10は、メモリ部11と、メモリ部11のメモリセルをアクセスする第1のポート(Aポート)のためのコントロール部12a,アドレスデコーダ13a,入出力回路14a,アシスト制御回路15aを有している。また、半導体記憶装置10は、メモリ部11のメモリセルをアクセスする第2のポート(Bポート)のためのコントロール部12b,アドレスデコーダ13b,入出力回路14b,アシスト制御回路15bを有している。
図3に示すように、メモリ部11は、主セル部11Mとレプリカセル部11Rを有している。
主セル部11Mは、行列状に配列された複数(図3において9個)のメモリセルC00〜C22を有している。列方向に配列されたメモリセルC00,C10,C20は、Aポートのためのビット線対BL0a,XBL0aと、Bポートのためのビット線対BL0b,XBL0bに接続されている。同様に、メモリセルC01,C11,C21は、Aポートのためのビット線対BL1a,XBL1aと、Bポートのためのビット線対BL1b,XBL1bに接続されている。また、メモリセルC02,C12,C22は、Aポートのためのビット線対BL2a,XBL2aと、Bポートのためのビット線対BL2b,XBL2bに接続されている。ビット線対BL0a,XBL0a〜BL2a,XBL2aは入出力回路14aに接続されている。ビット線対BL0b,XBL0b〜BL2b,XBL2bは入出力回路14bに接続されている。
また、主セル部11Mには、ビット線対BL0a,XBL0a〜BL2a,XBL2aに沿って延びるアシスト線AL0a〜AL2aが配置されている。アシスト線AL0a〜AL2aはアシスト制御回路15aに接続されている。同様に、主セル部11Mには、ビット線対BL0b,XBL0b〜BL2b,XBL2bに沿って延びるアシスト線AL0b〜AL2bが配置されている。アシスト線AL0b〜AL2bはアシスト制御回路15bに接続されている。
行方向に配列されたメモリセルC00,C01,C02は、Aポートのためのワード線WL0aと、Bポートのためのワード線WL0bに接続されている。同様に、メモリセルC10,C11,〜C12は、Aポートのためのワード線WL1aと、Bポートのためのワード線WL1bに接続されている。また、メモリセルC20,C21,C22は、Aポートのためのワード線WL2aと、Bポートのためのワード線WL2bに接続されている。各ワード線WL0a〜WL2aは、図1に示すアドレスデコーダ13aに接続されている。各ワード線WL0b〜WL2bは、図1に示すアドレスデコーダ13bに接続されている。
レプリカセル部11Rは、複数(図3において3個)のレプリカセルRC0〜RC2を有している。各レプリカセルRC0〜RC2は、主セル部11Mに含まれる列方向に配列されたメモリセル(例えば、メモリセルC02,C12,C22)と同じ方向に沿って配列されている。これらレプリカセルRC0〜RC2は、レプリカビット線対RBLa,XRBLbと、レプリカビット線対RBLb,XRBLbに接続されている。レプリカセル部11Rは、レプリカビット線対RBLa,XRBLbに沿って延びるレプリカアシスト線RALaと、レプリカビット線対RBLb,XRBLbに沿って延びるレプリカアシスト線RALbを有している。レプリカセルRC0〜RC2は、Aポートのためのワード線WL0a〜WL2aにそれぞれ接続されている。また、レプリカセルRC0〜RC2は、Bポートのためのワード線WL0b〜WL2bにそれぞれ接続されている。レプリカビット線対RBLa,XRBLaとレプリカアシスト線RALaはアシスト制御回路15aに接続されている。レプリカビット線対RBLb,XRBLbとレプリカアシスト線RALbはアシスト制御回路15bに接続されている。
図4に示すように、メモリセルC00のセル部20は、一対のインバータ21,22を有している。各インバータ21,22の電源端子はそれぞれ電源配線VDD,VSSに接続されている。インバータ21,22は、互いの入力端子が互いの出力端子に接続され、所謂クロスカップル接続されている。クロスカップル接続されたインバータ21,22は、双安定回路の一例である。メモリセルC00は、インバータ21,22間のノードN0,N0xの電位を安定に保持する。
ノードN0とノードN0xは、Aポート用のビット線対BL0a,XBL0aと、Bポート用のビット線対BL0b,XBL0bに接続される。詳述すると、ノードN0は転送ゲートT0aを介してビット線BL0aに接続されている。ノードN0xは転送ゲートT1aを介して反転ビット線XBL0aに接続されている。転送ゲートT0a,T1aは、NチャネルMOSトランジスタであり、ゲートがAポート用のワード線WL0aに接続されている。従って、転送ゲートT0a,T1aは、ワード線WL0aの電位(レベル)に応じてオン/オフする。
また、ノードN0は転送ゲートT0bを介してビット線BL0bに接続されている。ノードN0xは転送ゲートT1bを介して反転ビット線XBL0bに接続されている。転送ゲートT0b,T1bは、NチャネルMOSトランジスタであり、ゲートがBポート用のワード線WL0bに接続されている。従って、転送ゲートT0b,T1bは、ワード線WL0bの電位(レベル)に応じてオン/オフする。
Aポート用のビット線対BL0a,XBL0aの間には、両ビット線BL0a,XBL0aに沿って延びるアシスト線AL0aが形成されている。同様に、Bポート用のビット線対BL0b,XBL0bの間には、両ビット線BL0b,XBL0bに沿って延びるアシスト線AL0bが形成されている。
図5に示すように、メモリセルC00が形成された領域に対して、高電位側の電源配線VDDと低電位側の電源配線VSSとの間に、Aポート用のビット線対BL0a,XBL0a及びアシスト線AL0aと、Bポート用のビット線対BL0a,XBL0a及びアシスト線AL0bと、シールド線SLが、等間隔で配置されている。各配線は、互いに等しい線幅にて形成されている。シールド線SLは、Aポート用のビット線BL0aとBポート用の反転ビット線XBL0bとの間に、各ビット線に沿って延びるように形成されている。このシールド線SLは、所定電位の配線(例えば高電位側の電源配線VVDD)に接続されている。このように形成されたシールド線SLは、Aポートのビット線対BL0a,XBL0aと、Bポートのビット線対BL0b,XBL0bの間の相互的な干渉を防ぐ。
図3に示すメモリセルC01〜C22は、メモリセルC00と同様に接続された素子を含む。そして、各メモリセルC01〜C22に対応する相補ビット線間にそれぞれアシスト線が配置されている。また、各メモリセルにおいて、Aポート用のビット線とBポート用のビット線との間には、シールド線が配置されている。
なお、図3に示されるワード線WL0a〜WL2a,WL0b〜WL2bの数はそれぞれ、半導体記憶装置10のメモリ容量等に応じて設定される。同様に、ビット線対BL0a,XBL0a〜BL2a,XBL2a、BL0b,XBL0b〜BL2b,XBL2bの数はそれぞれ、半導体記憶装置10のメモリ容量等に応じて設定される。
図3に示すレプリカセルRC0〜RC2は、メモリセルC00と同様に接続された素子を含む。そして、レプリカセルRC0〜RC2に対応する相補なレプリカビット線対RBLa,XRBLaの間にレプリカアシスト線RALaが配置されている。同様に、レプリカビット線対RBLb,XRBLbの間にレプリカアシスト線RALbが配置されている。なお、レプリカビット線対RBLa,XRBLa,RBLb,XRBLbに接続されたレプリカセルRC0〜RC2の数は、例えばビット線対BL0a,XBL0a,BL0b,XBL0bに接続されたメモリセルC00〜C20の数と等しい値に設定されている。従って、レプリカビット線対RBLa,XRBLa,RBLb,XRBLbの長さは、ビット線対BL0a,XBL0a,BL0b,XBL0bの長さとほぼ等しい。そして、レプリカアシスト線RALa,RALbの長さは、アシスト線AL0a,AL0bの長さとほぼ等しい。
なお、図3には、1対のレプリカビット線RBLb,XRBLbが示されている。レプリカビット線対の数は、例えば後述する検出回路60に対応する。
次に、メモリ部11をアクセスするための構成の概略を説明する。
先ず、主セル部11Mに対するアクセスを説明する。
図1に示すように、コントロール部12aは、クロック信号CLKに同期して図示しない制御信号を受け取る。制御信号は、例えば、チップセレクト信号やライトイネーブル信号等のコマンド信号を含む。コントロール部12aは、制御信号に基づいて、読み出し動作や書き込み動作のための制御信号(タイミング信号)を生成する。この制御信号は、書き込み制御信号(ライトコントロール信号)WCを含む。コントロール部12aにて生成された制御信号は、アドレスデコーダ13a,入出力回路14a,アシスト制御回路15aに供給される。
アドレスデコーダ13aは、アドレス信号ADRをデコードし、ロウ選択信号とカラム選択信号を生成する。そして、アドレスデコーダ13aは、ロウ選択信号に応じた1つのワード線を活性化する。例えば、アドレスデコーダ13aは、選択した1つのワード線の電位を低電位側の電源電圧VSSレベル(Lレベル)から高電位側の電源電圧VDDレベル(Hレベル)に遷移させる。アドレスデコーダ13aは、生成したカラム選択信号を入出力回路14aに出力する。
入出力回路14aは、ライトアンプ、センスアンプ、カラムスイッチ、等を含む。カラムスイッチは、カラム選択信号に応じたビット線対を選択する。ライトアンプは、選択されたビット線対を、入力データDIに応じて駆動する。書き込み動作において、駆動されたビット線対と、活性化されたワード線とに接続されたメモリセルに、入力データDIが書き込まれる。読み出し動作において、活性化されたワード線に接続されたメモリセルに記憶されたデータが、ビット線対に読み出される。センスアンプは、選択されたビット線対の電位を増幅して出力データDOを生成する。
アシスト制御回路15aは、アシスト線ALの電位を制御する。アシスト制御回路15aは、通常状態において、アシスト線ALをHレベルに駆動する。また、アシスト制御回路15aは、ライトコントロール信号WCに応答して、書き込み動作における所定のタイミングで、アシスト線ALを急峻に立ち下げてLレベルとする。そして、アシスト制御回路15aは、ライトコントロール信号WCに基づいて、書き込み動作が終了するとき、アシスト線ALをHレベルに立ち上げる。
Bポート用のコントロール部12b,アドレスデコーダ13b,入出力回路14b,アシスト制御回路15bは、対応するAポート用の各回路12a,13a,14a,15aと同様である。これらの回路12b〜15bに対する説明を省略する。
次に、ライトアンプの一例を説明する。
図2に示すように、ライトアンプ30は、ライトデータWDとライトコントロール信号WCに基づいて、ビット線対BL0a,XBL0aを駆動する。なお、Aポート用の他のビット線対やBポート用のビット線対についても、同様のライトアンプにより駆動される。
ライトデータWDは、インバータ31に供給される。インバータ31の出力信号S1はインバータ32を介してナンド回路33に供給される。また、インバータ32の出力信号S2は、インバータ34を介してアンド回路35に供給される。ナンド回路33にはライトコントロール信号WCが供給される。アンド回路35には、後述する制御信号WC2が供給される。ナンド回路33の出力端子とアンド回路35の出力端子はドライバ36に接続されている。
ドライバ36は、PチャネルMOSトランジスタTP1とNチャネルMOSトランジスタTN1を含む。トランジスタTP1のソースは電源配線VDDに接続されている。トランジスタTP1のゲートはナンド回路33の出力端子に接続されている。トランジスタTP1のドレインはトランジスタTN1に接続されている。トランジスタTN1のソースは電源配線VSSに接続されている。トランジスタTN1のゲートはアンド回路35の出力端子に接続されている。トランジスタTN1のドレインはトランジスタTP1のドレインに接続されている。トランジスタTP1とトランジスタTN1の間のノードN11にはビット線BL0aが接続されている。
インバータ31の出力信号S1はインバータ37,38を介してナンド回路39に供給される。また、インバータ38の出力信号S3は、インバータ40を介してアンド回路41に供給される。ナンド回路39にはライトコントロール信号WCが供給される。アンド回路41には、後述する制御信号WC2が供給される。ナンド回路39の出力端子とアンド回路41の出力端子はドライバ42に接続されている。
ドライバ42は、PチャネルMOSトランジスタTP2とNチャネルMOSトランジスタTN2を含む。トランジスタTP2のソースは電源配線VDDに接続されている。トランジスタTP2のゲートはナンド回路39の出力端子に接続されている。トランジスタTP2のドレインはトランジスタTN2に接続されている。トランジスタTN2のソースは電源配線VSSに接続されている。トランジスタTN2のゲートはアンド回路41の出力端子に接続されている。トランジスタTN2のドレインはトランジスタTP2のドレインに接続されている。トランジスタTP2とトランジスタTN2の間のノードN12には反転ビット線XBL0aが接続されている。
ライトコントロール信号WCは、遅延回路43とアンド回路44に供給される。遅延回路43は直列接続された奇数個(図において3個)のインバータを含み、インバータの段数に応じた期間、ライトコントロール信号WCを遅延するとともに論理反転して制御信号WC2を生成する。この制御信号WC2は、上記のアンド回路35,41に供給される。
次に、アシスト制御回路50の一例を説明する。
図2に示すように、アシスト制御回路(アシスト制御回路)50は、ライトコントロール信号WCに基づいて、アシスト線AL0aを駆動する。なお、Aポート用の他のアシスト線やBポート用のアシスト線についても、同様のアシスト制御回路により駆動される。
ライトコントロール信号WCは、遅延回路51とアンド回路52に供給される。遅延回路51は、直列接続された複数個(図において4個)のバッファを含み、バッファの段数に応じた時間、ライトコントロール信号WCを遅延した信号を出力する。アンド回路52は、ライトコントロール信号WCと遅延回路51の出力信号とを論理演算(論理積演算)して生成した信号を出力する。アシストドライバ53は、アンド回路52の出力信号に基づいて、アシスト線ALを駆動する。
また、アシストドライバ53は、制御信号SDに応じた駆動能力によりアシスト線AL0aを駆動する。例えば、図8に示すように、アシストドライバ53は、電源配線VDDと電源配線VSSの間に直列接続されたトランジスタTP11,TN11,TN12を有している。制御信号SDは、例えば3ビットの信号SD1,SD2,SD3である。アシストドライバ53は、制御信号SD(SD1〜SD3)に応じた3つのトランジスタTN21,TN22,TN23を有している。トランジスタTP11はPチャネルMOSトランジスタであり、トランジスタTN11,TN12,TN21〜TN23はNチャネルMOSトランジスタである。
トランジスタTP11のソースは電源配線VDDに接続されている。トランジスタTP11のドレインはトランジスタTN11のドレインに接続されている。トランジスタTN11のソースはトランジスタTN12のドレインに接続されている。トランジスタTN11のソースは電源配線VSSに接続されている。トランジスタTP11,TN11,TN12のゲートには、図2に示すアンド回路52の出力信号SD0が供給される。トランジスタTP11のドレインとトランジスタTN11のドレインの間のノードN21はアシスト線AL0aに接続されている。トランジスタTP11は、Hレベルの信号SD0に応答してオフし、Lレベルの信号SD0に応答してオフする。トランジスタTN11,TN12は、Hレベルの信号SD0に応答してオンし、Lレベルの信号SD0に応答してオフする。従って、トランジスタTP11,TN11,TN12は、Hレベルの信号SD0に応答してアシスト線AL0aに電荷を蓄え(プリチャージ)、Lレベルの信号SD0に応答してアシスト線AL0aに電荷を放電(ディスチャージ)する。
トランジスタTN21〜TN23はトランジスタTN12に対して並列に接続されている。詳しくは、トランジスタTN21〜TN23のドレインはトランジスタTN12のドレインに接続されている。トランジスタTN21〜TN23のソースはトランジスタTN12のソース(電源配線VSS)に接続されている。トランジスタTN21のゲートには制御信号SD1が供給される。トランジスタTN21は、制御信号SD1に応答してオンオフする。トランジスタTN22のゲートには制御信号SD2が供給される。トランジスタTN22は、制御信号SD2に応答してオンオフする。トランジスタTN23のゲートには制御信号SD3が供給される。トランジスタTN23は、制御信号SD3に応答してオンオフする。従って、トランジスタTN12に対して並列に接続され、アシスト線AL0aの電荷を放電する経路として働くトランジスタの数は、制御信号SD1〜SD3に応じて変化する。つまり、アシスト線AL0aの電荷を放電する、即ちアシスト線AL0aの電位を引き下げるときのスルーレートは、トランジスタTN21〜TN23を制御する制御信号SD1〜SD3に応じて設定される。
次に、ライトアンプ30とアシスト制御回路15aによる作用を説明する。
今、図6に示すように、ライトコントロール信号WCはLレベルである。なお、図6において、横方向に延びる破線は低電位側の電源電圧VSSレベル(Lレベル)を示す。
図2に示すアンド回路44はLレベルの制御信号WC2を出力する。従って、ナンド回路33はHレベルの信号を出力し、アンド回路35はLレベルの駆動信号を出力する。従って、ドライバ36のトランジスタTP1,TN2がオフする。同様に、ナンド回路39はHレベルの信号を出力し、アンド回路41はLレベルの信号を出力する。従って、ドライバ42のトランジスタTP2,TN2はオフする。このとき、ビット線対BL0a,XBL0aは図示しない回路(例えば、プリチャージ回路)により、所定の電位(例えば、高電位側の電源電圧VDDレベル(Hレベル))に駆動されている。この回路(プリチャージ回路)は、書き込み動作の開始とともにビット線対BL0a,XBL0aから切り離される。アシスト制御回路50は、Lレベルのライトコントロール信号WCに応答してアシスト線AL0aをHレベルに駆動する。
次いで、図6に示すように、時刻t1においてライトコントロール信号WCがLレベルからHレベルに立ち上がると、図2に示すアンド回路44から遅延回路43の遅延時間に対応する期間、Hレベルとなる制御信号WC2が出力される。図2に示すドライバ36,42は、ライトコントロール信号WCと制御信号WC2とライトデータWDに応じてビット線対BL0a,XBL0aを駆動する。例えば、「1」のデータを書き込む場合、HレベルのライトデータWDがライトアンプ30に供給される。
ナンド回路33はLレベルの信号を出力し、アンド回路35はLレベルの信号を出力する。その結果、ドライバ36のトランジスタTP1はオンし、トランジスタTN1はオフする。従って、ドライバ36はビット線BL0aをHレベルに維持する。ナンド回路39はHレベルの信号を出力し、アンド回路41はHレベルの信号を出力する。その結果、ドライバ42のトランジスタTP2はオフし、トランジスタTN2はオンする。従って、ドライバ42は、図6に示すように、反転ビット線XBL0aの電位を引き下げる。
そして、図6に示すように、制御信号WC2がLレベルに立ち下がると、図2に示すアンド回路41がLレベルの信号を出力するため、ドライバ42のトランジスタTN2がオフする。このとき、ナンド回路39はHレベルの信号を出力するため、トランジスタTP2はオフしている。従って、反転ビット線XBL0aはフローティング状態となる。なお、反転ビット線XBL0aをフローティング状態とするタイミング、つまり図2に示す遅延回路43における遅延時間は、Lレベルの駆動されるビット線(この場合は反転ビット線XBL0a)のレベルがほぼ低電位側の電源電圧VSSレベルになったときが好ましい。言い換えれば、駆動されるビット線の電位がLレベルに到達するまでに要する時間に応じて、遅延回路43の遅延時間(インバータの段数)が設定されている。
次いで、時刻t1から図2に示す遅延回路51に対応する期間が経過した時刻t2において、アシスト制御回路50はアシスト線AL0aを急峻にLレベルに立ち下げる。すると、フローティング状態にある反転ビット線XBL0aのレベルは、アシスト線AL0aとの間の容量結合(カップリング)により、Lレベル(電源電圧VSSレベル)から更に低下する。
このとき、ビット線BL0aは、反転ビット線XBL0aと同様に、アシスト線AL0aと容量結合された状態にある。そして、図5に示すように、ビット線BL0aとアシスト線AL0aとの間の間隔は、反転ビット線XBL0aとアシスト線AL0aとの間の間隔と等しい。従って、ビット線BL0aのレベルは、アシスト線AL0aの急峻なレベル変化の影響を受け、電源電圧VDDレベルから低下する。しかし、図2に示すように、ビット線BL0aが接続されたノードN11はオンしたトランジスタTP1のドレインに接続されている。従って、トランジスタTP1はビット線BL0aのレベル低下を抑制する。
その結果、ビット線BL0aのレベルと反転ビット線XBL0aのレベルとの差(電位差)は、高電位側の電源電圧VDDと低電位側の電源電圧VSSのレベル差よりも大きくなる。このように、ビット線対BL0a,XBL0aの電位差は、電源電圧VDD,VSSのレベル差よりも拡大される。このように拡大されたビット線対BL0a,XBL0aのレベル差により、図4に示すメモリセルC00のインバータ21,22が反転動作するため、ライトデータWD、つまり「1」のデータがメモリセルC00に記憶される。
次いで、図6に示す時刻t3において、ライトコントロール信号WCがLレベルに立ち下がると、図2に示すアシスト制御回路50は、アシスト線AL0aをHレベルに立ち上げる。また、図2に示すナンド回路33は、Hレベルの信号を出力し、ドライバ36のトランジスタTP1がオフするため、ビット線BL0aはフローティング状態となる。つまり、ビット線対BL0a,XBL0aはフローティング状態となる。すると、図示しない回路(プリチャージ回路)は、次の書き込み動作等のために、ビット線対BL0a,XBL0aをHレベルにする。
図7に示すように、アシスト線AL0aの電位が急峻にHレベルからLレベルに立ち下げると、反転ビット線XBL0aの電位は、アシスト線AL0aとの容量結合によって、電源電圧VSSからより低い電位に低下する。この反転ビット線XBL0aの電位と、ビット線BL0aの電位により、図4に示すメモリセルC00のノードN0,N0xの電位が変化する。このノードN0,N0xの電位の変化は、アシスト線AL0aを用いていないメモリセルのノードL1,L2の電位の変化と比べ、急激に変化している。つまり、ノードN0,N0xの電位は、アシスト線を用いていないメモリセルのノードL1,L2の電位よりも早く変化する。従って、アシスト線を用いていないメモリと比べ、書き込みに要する時間を短縮することができる。
なお、「0」のデータを書き込む場合、図2に示すライトアンプ30にはLレベルのライトデータWDが供給される。ライトアンプ30はLレベルのライトデータWDに応じてビット線BL0aをLレベルに立ち下げた後、そのビット線BL0aをフローティング状態とする。そして、アシスト制御回路50は、アシスト線AL0aを急峻にHレベルからLレベルへと立ち下げる。すると、フローティング状態にあるビット線BL0aのレベルは、アシスト線AL0aとの間の容量結合(カップリング)により、電源電圧VSSレベルから更に低下する。このように、ビット線対BL0a,XBL0aの電位差は、電源電圧VDD,VSSのレベル差よりも拡大される。このように拡大されたビット線対BL0a,XBL0aのレベル差により、図4に示すメモリセルC00のインバータ21,22が反転動作するため、LレベルのライトデータWDに応じた「0」のデータがメモリセルC00に記憶される。
次に、レプリカセル部11Rに対する制御を説明する。
図1に示すアシスト制御回路15aは、図9に示す検出回路60を含む。
検出回路60は、複数(図9において4つ)の判定回路61a〜61dと、複数(図9において3つ)のナンド回路62a〜62cと、複数(図9において3つ)のラッチ回路63a〜63cを含む。判定回路61a〜61d、ナンド回路62a〜62c、ラッチ回路63a〜63cの数は、図8に示すアシストドライバ53の駆動能力の調整段数に対応する。ナンド回路62a〜62cは論理回路の一例である。
図10に示すように、判定回路61aは、制御回路64aと、レプリカドライバ65aと、電位検出回路66aを含む。
制御回路64aは、判定制御信号TSに基づいて、プリチャージ信号SPR、ディスチャージ信号SDS、ラッチ信号SLA、及びレプリカアシスト信号SACを生成する。
制御回路64aは、例えば図2に示すライトアンプ30と同様に、プリチャージ信号SPRとディスチャージ信号SDSを生成する。図2において、ライトアンプ30は、ライトデータWDとライトコントロール信号WCに基づいて、ビット線対BL0a,XBL0aを駆動する。例えば、ライトアンプ30は、ビット線BL0aに接続されたトランジスタTP1をオンし、ビット線BL0aをプリチャージする。また、ライトアンプ30は、ビット線BL0aに接続されたトランジスタTN1をオンし、ビット線BL0aをディスチャージする。つまり、図10に示す制御回路64aは、図2に示すライトアンプ30において、トランジスタTP1,TN1のゲートに供給する信号と同様に、プリチャージ信号SPRとディスチャージ信号SDSを生成する。
また、制御回路64aは、例えば、図2に示すアシスト制御回路50と同様に、レプリカアシスト信号SACを生成する。図2において、アシスト制御回路50は、遅延回路51とアンド回路52により、ライトコントロール信号WCに基づく信号を出力し、アシストドライバ53は、アンド回路52の出力信号に応じてアシスト線AL0aを駆動する。図10において、レプリカアシスト線RALaは、レプリカドライバ65aに接続されている。従って、制御回路64aは、図2においてアシストドライバ53に対する信号と同様に、レプリカアシスト線RALaが接続されたレプリカドライバ65aに対するレプリカアシスト信号SACを生成する。
また、制御回路64aは、ラッチ信号SLAを生成する。例えば、制御回路64aは、レプリカアシスト信号SACを所定時間遅延させる遅延回路を含み、この遅延回路の出力信号をラッチ信号SLAとする。
レプリカドライバ65aは、図8に示すアシストドライバ53と同様である。即ち、レプリカドライバ65aは、電源配線VDDと電源配線VSSの間に直列接続されたトランジスタTP31,TN31,TN32を有している。アシストドライバ53は、3つのトランジスタTN41,TN42,TN43を有している。トランジスタTP31はPチャネルMOSトランジスタであり、トランジスタTN31,TN32,TN41〜TN43はNチャネルMOSトランジスタである。
トランジスタTP31のソースは電源配線VDDに接続されている。トランジスタTP31のドレインはトランジスタTN31のドレインに接続されている。トランジスタTN31のソースはトランジスタTN32のドレインに接続されている。トランジスタTN31のソースは電源配線VSSに接続されている。トランジスタTP31,TN31,TN32のゲートには、レプリカアシスト信号SACが供給される。トランジスタTP31のドレインとトランジスタTN31のドレインの間のノードN31はレプリカアシスト線RALaに接続されている。
トランジスタTP31は、Hレベルのレプリカアシスト信号SACに応答してオフし、Lレベルのレプリカアシスト信号SACに応答してオフする。トランジスタTN31,TN32は、Hレベルのレプリカアシスト信号SACに応答してオンし、Lレベルのレプリカアシスト信号SACに応答してオフする。従って、トランジスタTP31,TN31,TN32は、Hレベルのレプリカアシスト信号SACに応答してレプリカアシスト線RALaに電荷を蓄え(プリチャージ)、Lレベルのレプリカアシスト信号SACに応答してレプリカアシスト線RALaに電荷を放電(ディスチャージ)する。
トランジスタTN41〜TN43はトランジスタTN32に対して並列に接続されている。詳しくは、トランジスタTN41〜TN43のドレインはトランジスタTN32のドレインに接続されている。トランジスタTN41〜TN43のソースはトランジスタTN32のソース(電源配線VSS)に接続されている。トランジスタTN41〜TN43のゲートは、電源配線VSSに接続されている。従って、レプリカドライバ65aは、トランジスタTP31によりレプリカアシスト線RALaをプリチャージし、トランジスタTN31,TN32によりレプリカアシスト線RALaをディスチャージする。
電位検出回路66aは、トランジスタTP51〜TP56、トランジスタTN51〜TN56、インバータ67〜69を有している。トランジスタTP51〜TP56はPチャネルMOSトランジスタであり、トランジスタTN51〜TN56はNチャネルMOSトランジスタである。
トランジスタTP51のソースは高電位側の電源配線VDDに接続されている。トランジスタTP51のゲートにプリチャージ信号SPRが供給される。トランジスタTP51のドレインはトランジスタTN51のドレインに接続されている。トランジスタTN51のゲートは低電位側の電源配線VSSに接続されている。トランジスタTN51のソースはトランジスタTN52のドレインに接続されている。トランジスタTN51のバックゲートはトランジスタTN51のドレインに接続されている。なお、各図では省略しているが、トランジスタTN51以外のNチャネルMOSトランジスタのバックゲートは低電位側の電源配線VSSに接続されている。トランジスタTN52のゲートにはディスチャージ信号SDSが供給され、ソースは電源配線VSSに接続されている。
トランジスタTN51のソースとトランジスタTN52のドレインの間のノードN42はレプリカビット線RBLaに接続されている。従って、トランジスタTN51のバックゲートには、レプリカビット線RBLaの電位に応じたバックバイアス(基板バイアス)が供給される。
トランジスタTP51のドレインとトランジスタTN51のドレインの間のノードN41はトランジスタTP52のドレイン及びゲートに接続されている。トランジスタTP52のソースは電源配線VDDに接続されている。また、ノードN41は、トランジスタTP53のゲートとトランジスタTN53のゲートに接続されている。
トランジスタTP53のソースは電源配線VDDに接続されている。トランジスタTP53のドレインはトランジスタTP54のソースに接続されている。トランジスタTP54のドレインはトランジスタTN54のドレインに接続されている。トランジスタTN54のソースはトランジスタTN53のドレインに接続されている。トランジスタTN53のソースは電源配線VSSに接続されている。
トランジスタTP54のドレインとトランジスタTN54のドレインの間のノードN43はインバータ68の入力端子に接続されている。インバータ68の出力端子はインバータ69の入力端子に接続されている。インバータ69は、入力信号に基づいて、ノードN43のレベルと等しいレベルの判定信号SJ1を出力する。
また、インバータ68の出力端子はトランジスタTP55,TN55のゲートに接続されている。トランジスタTP55のソースは電源配線VDDに接続されている。トランジスタTP55のドレインはトランジスタTP56のソースに接続されている。トランジスタTP56のドレインはトランジスタTN56のドレインに接続されている。トランジスタTN56のソースはトランジスタTN55のドレインに接続されている。トランジスタTN55のソースは電源配線VSSに接続されている。トランジスタTP56のドレインとトランジスタTN56のドレインの間のノードN44はインバータ68の入力端子に接続されている。
上記のラッチ信号SLAは、トランジスタTP54のゲートと、トランジスタTN56のゲートと、インバータ67の入力端子に供給される。インバータ67は、ラッチ信号SLAのレベルを論理反転したレベルの反転ラッチ信号XSLAを出力する。この反転ラッチ信号XSLAは、トランジスタTN54のゲートと、トランジスタTP56のゲートに供給される。トランジスタTP53〜TP56、TN53〜TN56とインバータ67〜69は、ラッチ信号SLAに応じて動作するラッチ回路の一例である。
上記の判定回路61aの動作を説明する。
制御回路64aは、判定制御信号TSに基づいて、プリチャージ信号SPR、ディスチャージ信号SDSを生成する。トランジスタTP51は、Lレベルのプリチャージ信号SPRに応答してオンし、Hレベルのプリチャージ信号SPRに応答してオフする。オンしたトランジスタTP51は、トランジスタTN51を介してレプリカビット線RBLaを高電位側電源電圧VDDレベル(Hレベル)にプリチャージする。従って、ノードN41は、Hレベルとなる。制御回路64aは、Lレベルのラッチ信号SLAを出力する。このLレベルのラッチ信号SLAに基づいて、トランジスタTP54,TN54がオンする。これらオンしたトランジスタTP54,TN54と、トランジスタTP53,TN53は、ノードN41のレベルに応じて、ノードN43をLレベルとする。また、制御回路64aは、Lレベルのレプリカアシスト信号SACを出力する。レプリカドライバ65aのトランジスタTP31はLレベルのレプリカアシスト信号SACに応答してオンし、レプリカアシスト線RALaを高電位側電源電圧VDDレベル(Hレベル)に駆動する。
制御回路64aは、判定制御信号TSに基づいて、ディスチャージ信号SDSを生成する。トランジスタTN52は、Hレベルのディスチャージ信号SDSに応答してオンし、Lレベルのディスチャージ信号SDSに応答してオフする。オンしたトランジスタTN52は、レプリカビット線RBLaを低電位側電源電圧VSSレベルにディスチャージする。従って、レプリカビット線RBLaの電位は、図11に示すように、HレベルからLレベルへと変化する。なお、図11において、レプリカビット線RBLa,レプリカアシスト線RALaの変化を判りやすくするために、必要に応じて各信号のレベルを図の上下方向にずらして示している。
次いで、図10に示す制御回路64aは、Hレベルのレプリカアシスト信号SACを出力する。レプリカドライバ65aのトランジスタTN31,TN32はLレベルのレプリカアシスト信号SACに応答してオンし、レプリカアシスト線RALaを低電位側電源電圧VSSレベル(LHレベル)に引き下げる。すると、レプリカビット線RBLaのレベルは、レプリカビット線RBLaとレプリカアシスト線RALaの間の容量結合(カップリング)と、レプリカアシスト線RALaのレベルの変化量に応じて変化する。レプリカアシスト線RALaのレベルの変化量は、レプリカドライバ65aの駆動能力に対応する。
例えば、レプリカアシスト線RALaのレベルの変化量が適切(設計通り)であると、レプリカビット線RBLaの電位は、図11に示すように、Lレベル(電源電圧VSSレベル)から更に低下する。図10に示すように、レプリカビット線RBLaは、トランジスタTN51のソースとバックゲートに接続されている。従って、トランジスタTN51のソース電位及びバックバイアスが電源電圧VSSからトランジスタTN51のしきい値電圧以上低下すると、トランジスタTN51はオンする。オンしたトランジスタTN51は、ノードN41の電位をHレベルから引き下げる。このノードN41の電位に応答して、トランジスタTP53,TP54,TN54,TN53は、図11に示すように、ノードN43の電位をHレベルとする。従って、判定回路61aは、図11に示すように、Hレベルの判定信号SJ1を出力する。
なお、図11に示すように、レプリカビット線RBLaの電位は、レプリカアシスト線RALaのカップリングによりLレベルより低くなった後、Lレベルまで上昇する。すると、図10に示すトランジスタTN51は、弱反転領域で動作する。従って、ノードN41の電位はトランジスタTP52とトランジスタTN51による電位となる。
一方、レプリカアシスト線RALaのレベルの変化量が設計値よりも少ない、即ちレプリカドライバ65aの駆動能力が設計値よりも少ないと、レプリカビット線RBLaの電位は、Lレベル(電源電圧VSSレベル)からトランジスタTN51のしきい値電圧以上低下しない。すると、トランジスタTN51はオフ状態を維持する。従って、ノードN41の電位はHレベルのままとなり、ノードN43の電位はLレベルとなる。従って、判定回路61aは、Lレベルの判定信号SJ1を出力する。
即ち、判定回路61aは、図2に示すアシスト制御回路50と同様に、レプリカビット線RBLaに沿って配置されたレプリカアシスト線RALaを駆動する。そして、判定回路61aは、レプリカビット線RBLaの電位の変化に応じたレベルの判定信号SJ1を出力する。Hレベルの判定信号SJ1は、レプリカビット線RBLaの電位が所定のレベルよりも低くなることを示す。一方、Lレベルの判定信号SJ1はレプリカビット線RBLaの電位が所定のレベルまで到達しないことを示す。
図9に示すように、検出回路60は、複数(4つ)の判定回路61a〜61dを含む。判定回路61b〜61dは、判定回路61aのレプリカドライバ65aと同様の素子(トランジスタ)を含むレプリカドライバ65b〜65dを有している。そして、各レプリカドライバ65a〜65dに含まれる素子(トランジスタ)は、レプリカアシスト線に対する駆動能力が互いに異なるように接続されている。
上記したように、判定回路61aのレプリカドライバ65aに含まれるトランジスタTN41〜TN43のゲートは低電位側の電源配線VSSに接続されている。従って、レプリカドライバ65aは、1つのトランジスタTN32により、レプリカアシスト線RALaを駆動する。図示しないが、判定回路61b〜61dのレプリカドライバ65b〜65dは、判定回路61aのレプリカドライバ65aと同様に、トランジスタTN41〜TN43を含む。トランジスタTN41〜TN43のゲートは、レプリカアシスト線に対する駆動能力の設定に応じて、高電位側の電源配線VDDと低電位側の電源配線VSSの何れかに接続される。
例えば、レプリカドライバ65aにおいて、トランジスタTN41のゲートは高電位側の電源配線VDDに接続されている。トランジスタTN42,TN43のゲートは低電位側の電源配線VSSに接続されている。従って、レプリカドライバ65aは、2つのトランジスタTN32,TN41により、レプリカアシスト線を駆動する。レプリカドライバ65aにおいて、トランジスタTN41,TN42のゲートは高電位側の電源配線VDDに接続されている。トランジスタTN43のゲートは低電位側の電源配線VSSに接続されている。従って、レプリカドライバ65aは、3つのトランジスタTN32,TN41,TN42により、レプリカアシスト線を駆動する。同様に、レプリカドライバ65aにおいて、トランジスタTN41〜TN43のゲートは高電位側の電源配線VDDに接続されている。従って、レプリカドライバ65aは、4つのトランジスタTN32,TN41〜TN43により、レプリカアシスト線を駆動する。
判定回路61a〜61dは、それぞれの設定に応じてレプリカアシスト線を駆動し、レプリカビット線の電位に応じたレベルの判定信号SJ1〜SJ4を出力する。例えば、判定回路61a〜61dは、判定回路61aの駆動能力が最も小さく、判定回路61a,61b,61c,61dに順に駆動能力が大きくなるように設定されている。
ナンド回路62aは、判定回路61a,61bから出力される判定信号SJ1,SJ2を否定論理積演算した結果に応じたレベルの信号SE1を出力する。ラッチ回路63aは、ナンド回路62aの出力信号SE1をラッチし、ラッチしたレベルと等しいレベルの制御信号SD1を出力する。ナンド回路62bは、判定回路61b,61cから出力される判定信号SJ2,SJ3を否定論理積演算した結果に応じたレベルの信号SE2を出力する。ラッチ回路63bは、ナンド回路62bの出力信号SE2をラッチし、ラッチしたレベルと等しいレベルの制御信号SD2を出力する。ナンド回路62cは、判定回路61c,61dから出力される判定信号SJ3,SJ4を否定論理積演算した結果に応じたレベルの信号SE3を出力する。ラッチ回路63cは、ナンド回路62cの出力信号SE3をラッチし、ラッチしたレベルと等しいレベルの制御信号SD3を出力する。
この検出回路60の動作を説明する。
各判定回路61a〜61dは、判定制御信号TSに応答して、それぞれのレプリカアシスト線を駆動し、レプリカアシスト線と隣接するレプリカビット線の電位に応じた判定信号SJ1〜SJ4を出力する。例えば、判定回路61aはLレベルの判定信号SJ1を出力する。判定回路61b〜61dはHレベルの判定信号SJ2〜SJ4を出力する。ナンド回路62aは、Lレベルの判定信号SJ1とHレベルの判定信号SJ2に基づいて、Hレベルの信号SE1を出力する。ナンド回路62bは、Hレベルの判定信号SJ2,SJ3に基づいてLレベルの信号SE2を出力する。ナンド回路62cは、Hレベルの判定信号SJ3,SJ4に基づいてLレベルの信号SE3を出力する。
図8に示すアシストドライバ53において、トランジスタTN21は、Hレベルの制御信号SD1に応答してオンする。トランジスタTN22,TN23は、Lレベルの制御信号SD2,SD3に応答してオフする。従って、この制御信号SD1〜SD3が供給されるアシストドライバ53は、アシスト線AL0aを、トランジスタTN11とトランジスタTN21により駆動する。つまり、1つのトランジスタTN11によりアシスト線AL0aを駆動する場合と比べ、アシスト線AL0aに対する駆動能力が、図10に示すレプリカアシスト線RALaとレプリカビット線RBLaによる検出結果に応じて調整される。
なお、図8において、トランジスタTN11は、トランジスタTN21〜TN23をノードN21、即ちアシスト線AL0aに対して接離するために設けられている。上記したように、各トランジスタTN21〜TN23のゲートに供給される制御信号SD1〜SD3のレベルは、図9に示すラッチ回路63a〜63cにより保持される。そして、トランジスタTN21〜TN23は、Hレベルの制御信号に応答してオンする。従って、トランジスタTN11をオフすることで、オンしたトランジスタTN21〜TN23をアシスト線AL0aから切り離すことで、アシスト線AL0aの制御(プリチャージ)を可能としている。
半導体記憶装置10の設計と調整を、図12に従って説明する。
例えば、半導体記憶装置10の設計において、アシストドライバは、2つのNチャネルMOSトランジスタによりアシスト線を駆動する。この設計におけるビット線BLの電位の変化と、アシスト線の電位の変化を図12において、実線L11a,L11bで示す。
設計した状態に対し、作成された半導体記憶装置10におけるビット線BLの電位の変化を破線L12aにて示す。このようなビット線BLの電位の変化は、例えば、プロセスばらつきにより、ビット線BLとアシスト線ALの結合容量(カップリング容量)が設定値よりも小さくなることにより発生する。このような場合、検出回路60の検出結果(制御信号SD)に基づいて、駆動するトランジスタの数を多くする。すると、アシスト線ALの電位は、図12において、破線L12bにて示すように、設計値(実線L11b)よりも急峻に変化する。その結果、ビット線BLの電位は、電源電圧VSSレベルよりも低くなる。
一方、設計した状態に対し、作成された半導体記憶装置10におけるビット線BLの電位の変化を一点鎖線L13aにて示す。このようなビット線BLの電位の変化は、例えば、プロセスばらつきにより、ビット線BLとアシスト線ALの結合容量(カップリング容量)が設定値よりも大きくなることにより発生する。このような場合、検出回路60の検出結果(制御信号SD)に基づいて、駆動するトランジスタの数を少なくする。すると、アシスト線ALの電位は、図12において、一点鎖線L13bにて示すように、設計値(実線L11b)よりもなだらかに変化する。その結果、ビット線BLの電位は、電源電圧VSSレベルよりも低くなりすぎることがなくなり、リンギング等の発生を抑制することができる。
以上説明したように、本実施形態によれば、以下の効果を奏する。
(1)メモリセルC00に接続されたAポート用のビット線対BL0a,XBL0a間にはアシスト線AL0aが形成されている。ライトアンプ30はライトデータWDとライトコントロール信号WCに基づいて、ビット線BL0aと反転ビット線XBL0aの電位を制御する。そして、ライトアンプ30は、HレベルからLレベルに遷移させた反転ビット線XBL0aをフローティング状態にする。アシスト制御回路50は、ライトコントロール信号WCに基づいて、アシスト線AL0aを、HレベルからLレベルへと急峻に立ち下げる。フローティング状態の反転ビット線XBL0aの電位は、容量結合されたアシスト線AL0aの電位変化により、低電位側の電源電圧VSSレベル(Lレベル)から更に低下する。
その結果、ビット線BL0aのレベルと反転ビット線XBL0aのレベルとの差(電位差)は、高電位側の電源電圧VDDと低電位側の電源電圧VSSのレベル差よりも大きくなる。このように、ビット線対BL0a,XBL0aの電位差は、電源電圧VDD,VSSのレベル差よりも拡大される。このように拡大されたビット線対BL0a,XBL0aのレベル差により、図4に示すメモリセルC00のインバータ21,22が反転動作するため、電源電圧VDDが低電圧化された半導体記憶装置10において、ライトデータWDに応じたデータをメモリセルC00に確実に記憶させることができる。
(2)アシスト線AL0aはAポートに対応するアシスト制御回路50により制御され、Bポートのアシスト線AL0bに影響しない。また、高電位側の電源電圧VDDと低電位側の電源電圧VSSは変化しない。従って、リード動作を行う他のメモリセルに対して、書き込み時のアシスト線AL0a及びビット線対BL0a,XBL0aのレベル変化は影響しない。従って、メモリセルからの読み出し動作に影響を与えることなく、データを書き込むことができる。
(3)ライトアンプ30は、ライトデータWDに応じてドライバ36のトランジスタTP1をオンする。従って、アシスト線AL0aが急峻に立ち下がるとき、ビット線BL0aのレベル低下を抑制する。従って、ビット線対BL0a,XBL0a間の電位差を、アシスト線AL0aのレベル変化に応じて容易に大きくすることができる。
(4)メモリ部11は、主セル部11Mとレプリカセル部11Rを有している。レプリカセル部11Rは、複数のレプリカセルRC0〜RC2が接続されたレプリカビット線RBLa,XRBLaと、レプリカビット線RBLa,XRBLaに沿って延びるレプリカアシスト線RALaを有している。検出回路60は、レプリカビット線RBLaの電位をLレベルに遷移させ、レプリカアシスト線RALaを駆動する。そして、検出回路60は、レプリカビット線RBLaの電位を検出し、検出した電位に応じたレベルの制御信号SD1〜SD3を生成する。アシスト制御回路15aのアシストドライバ53は、制御信号SD1〜SD3に応じた駆動能力でアシスト線AL0aを駆動する。従って、レプリカビット線RALaを駆動したときのレプリカビット線RBLaの電位に応じた制御信号SD1〜SD3により、アシストドライバ53の駆動能力を調整する。これにより、ビット線BL0a、XBL0aを負電位にすることができる。そして、ライトデータWDに応じたデータをメモリセルC00に確実に記憶させることができる。従って、プロセス変動等に起因する誤動作を抑制することができる。
(5)半導体記憶装置10は、レプリカアシスト線RALaと容量結合されたレプリカビット線RBLaの電位に応じた制御信号SD1〜SD3を生成する検出回路60を有している。従って、メモリセルC00のビット線BL0a,XBL0aと容量結合されるアシスト線AL0aを駆動するアシストドライバ53の駆動能力を容易に調整することができる。
尚、上記各実施形態は、以下の態様で実施してもよい。
・図9に示す検出回路60は一例であり、以下に示すように変更することができる。
(変形例1)
図13に示すように、検出回路70は、シフトレジスタ回路71と判定回路72を含む。
シフトレジスタ回路71は、例えばHレベルのクロック信号CK1を入力する毎に、3つの制御信号SC1〜SC3を順次Hレベルとする。クロック信号CK1は、パルス信号の一例である。例えば、シフトレジスタ回路71は、Hレベルのクロック信号CK1に応答してHレベルの制御信号SC1とLレベルの制御信号SC2,SC3を出力する。次に、Hレベルのクロック信号CK1を入力すると、シフトレジスタ回路71は、Hレベルの制御信号SC1,SC2と、Lレベルの制御信号SC3を出力する。つまり、シフトレジスタ回路71は、クロック信号CK1を入力する毎に、制御信号SC1〜SC3におけるHレベルの信号の数を順次増加させる。
判定回路72は、図10に示す判定回路61aの構成と、ラッチ回路72aを含む。なお、この変形例1において、判定回路72のレプリカドライバ65aに含まれるトランジスタTN41〜TN43のゲートには、制御信号SC1〜SC3が供給される。つまり、判定回路72は、レプリカドライバ65aの駆動能力を、制御信号SC1〜SC3に応じて変更する。そして、判定回路72は、制御信号SC1〜SC3のレベルが変化する毎に、レプリカビット線RBLaとレプリカアシスト線RALaをそれぞれ駆動し、レプリカビット線RBLaの電位に応じた判定信号SJ1を生成する。ラッチ回路72aは、Hレベルの判定信号SJ1に応答して、制御信号SC1〜SC3をラッチし、ラッチしたレベルとそれぞれ等しい制御信号SD1〜SD3を生成する。また、判定回路72は、判定信号SJ1をシフトレジスタ回路71に出力する。シフトレジスタ回路71は、Hレベルの判定信号SJ1に応答して、動作を停止する。
なお、クロック信号CK1は、制御信号SC1〜SC3のレベル変化から、判定回路72が判定信号SJ1を生成するまでに要する時間よりも長い周期であるとよい。また、シフトレジスタ回路71は、クロック信号CK1のパルス数をカウントし、そのカウント値が所定値(「2」以上の数)になると制御信号SC1〜SC3におけるHレベルの信号の数を変更するようにしてもよい。
(変形例2)
図14に示すように、検出回路80は、図9に示す検出回路60と同様に、4つの判定回路61a〜61dと3つのナンド回路62a〜62cを含む。ナンド回路62a〜62cの出力信号SE1〜SE3は、それぞれラッチ回路81a〜81cに供給される。ナンド回路85は、クロック信号CK1とオア回路84から出力される制御信号DC0を否定論理積演算した結果に応じたクロック信号CK2を出力する。オア回路84は論理回路の一例である。ラッチ回路81a〜81cは例えばDフリップフロップである。ラッチ回路81a〜81cはクロック端子CKに供給されるクロック信号CK2に応答して、各ナンド回路62a〜62cの出力信号SE1〜SE3をラッチし、ラッチしたレベルと等しいレベルの制御信号SD1〜SD3を出力する。これらの制御信号SD1〜SD3は、データ比較回路82a〜82cに供給される。これらのデータ比較回路82a〜82cには、クロック信号CK2と、パワーオンリセット回路83から出力されるリセット信号RESが供給される。
図15に示すように、データ比較回路82aは、複数(図15において3つ)のフリップフロップ91〜93と、排他的論理和回路(EXOR回路)94を有している。フリップフロップ91〜93は、例えばDフリップフロップである。初段のフリップフロップ91と最終段のフリップフロップ93のリセット端子Rにはリセット信号RESが供給され、リセット信号RESは2段目のフリップフロップ92のセット端子Sに供給される。従って、フリップフロップ91,93は、リセット信号RESに応答してLレベルの信号S11,S13を出力し、フリップフロップ92は、リセット信号RESに応答してHレベルの信号S12を出力する。また、各フリップフロップ91〜93のクロック端子CKにはクロック信号CK2が供給される。
制御信号SD1は初段のフリップフロップ91の入力端子Dと、EXOR回路94に供給される。初段のフリップフロップ91の出力端子Qは2段目のフリップフロップ92の入力端子Dと、EXOR回路94の入力端子に接続されている。2段目のフリップフロップ92の出力端子Qは最終段のフリップフロップ93の入力端子Dと、EXOR回路94の入力端子に接続されている。最終段のフリップフロップ93の出力端子Qは、EXOR回路94の入力端子に接続されている。
各フリップフロップ91〜93は、Hレベルのリセット信号RESに応答してLレベルの信号を出力する。そして、各フリップフロップ91〜93は、Hレベルのクロック信号CK2に応答して、入力端子Dにおける信号レベルをラッチし、そのラッチしたレベルと等しいレベルの信号を出力する。EXOR回路94は、複数(図15において4つ)の信号SD1,S11〜S13のレベルが互いに同じレベルのときにLレベルの信号DC1を出力し、少なくとも何れか1つの信号のレベルが他の信号のレベルと異なるときにHレベルの信号DC1を出力する。従って、データ比較回路82aは、クロック信号CK2において、3サイクル分の制御信号SD1を保持する。そして、データ比較回路82aは、保持した3サイクル分の信号と、制御信号SD1のレベルが全て一致するときにLLレベルの信号DC1を出力する。
図14に示すように、各データ比較回路82a〜82cから出力される信号DC1〜DC3は、オア回路84に供給される。オア回路84は、入力信号DC1〜DC3を論理和演算し、その演算結果に応じたレベルの信号DC0を出力する。オア回路84は、3つの入力信号DC1〜DC3の全てがLレベルのときにLレベルの信号DC0を出力し、3つの入力信号DC1〜DC3のうち、少なくとも1つの信号がHレベルのときにHレベルの信号DC0を出力する。
上気したように、レプリカビット線RBLaを適切に負電位にする駆動能力のレプリカドライバを含む判定回路に対応するフリップフロップが制御信号をLレベルからHレベルへと変化させる。そして、データ比較回路82a〜82cは、複数サイクル分の制御信号のレベルが互いに同じレベルであるときにLレベルの信号DC1〜DC3を出力する。オア回路84は、Lレベルの入力信号DC1〜DC3に応答してLレベルの信号DC0を出力する。この信号DC0は、ナンド回路85に供給される。ナンド回路85は、Hレベルの信号DC0に基づいて、クロック信号CK1を論理反転したレベルのクロック信号CK2を出力する。また、ナンド回路85は、Lレベルの信号DC0に基づいて、Lレベルのクロック信号CK2を出力する。
各フリップフロップ81a〜81cの出力信号SD1〜SD3が変化しているとき、データ比較回路82a〜82cはHレベルの信号DC1〜DC3を出力する。そして、各フリップフロップ81a〜81cの出力信号SD1〜SD3が変化しない(Hレベル又はLレベルで安定している)とき、データ比較回路82a〜82cはLレベルの信号DC1〜DC3を出力する。従って、検出回路80は、フリップフロップ81a〜81cの出力信号SD1〜SD3のレベルが安定すると、クロック信号CK2を停止する、つまり一定のレベル(例えばHレベル)に維持する。各フリップフロップ81a〜81cは、クロック信号CK2が停止することにより、信号SD1〜SD3のレベルを維持する。これにより、アシストドライバ53に供給する制御信号SD1〜SD3のレベルを固定する。
図16に示すように、パワーオンリセット回路83は、トランジスタTP61〜TP68、TN61〜TN67、インバータ101〜103を有している。トランジスタTP61〜TP68はPチャネルMOSトランジスタであり、トランジスタTN61〜TN67はNチャネルMOSトランジスタである。
トランジスタTP61のソースは高電位側の電源配線VDDに接続されている。トランジスタTP61のドレインはトランジスタTP61のゲートとトランジスタTN61のゲートに接続されている。トランジスタTN61のソース及びドレインは低電位側の電源配線VSSに接続されている。
トランジスタTP62のソース及びドレインはトランジスタTP62のソース及びドレインにそれぞれ接続されている。
トランジスタTP61のドレインとトランジスタTN61のドレインの間のノードN51はトランジスタTP63のゲートとトランジスタTN62のゲートに接続されている。トランジスタTP63のソースは電源配線VDDに接続され、トランジスタTP63のドレインはトランジスタTN62のドレインに接続されている。トランジスタTN62のソースはトランジスタTN63のドレイン及びゲートに接続されている。トランジスタTN63のソースは電源配線VSSに接続されている。
トランジスタTP63のドレインとトランジスタTN62のドレインの間のノードN52はトランジスタTP66のゲートとトランジスタTN65のゲートに接続されている。トランジスタTP66のソースはトランジスタTP65のドレイン及びゲートに接続され、トランジスタTP65のソースは電源配線VDDに接続されている。トランジスタTP66のドレインはトランジスタTN65のドレインに接続され、トランジスタTN65のソースは電源配線VSSに接続されている。
トランジスタTP66のドレインとトランジスタTN65のドレインの間のノードN53はインバータ101の入力端子に接続されている。インバータ101の出力端子はインバータ102の入力端子に接続され、インバータ102の出力端子はインバータ103の入力端子に接続されている。インバータ103はリセット信号RESを出力する。
インバータ101の出力端子はトランジスタTP62,TP64,TP67,TP68のゲートに接続されている。トランジスタTP64のソース及びドレインは電源配線VDDに接続されている。また、トランジスタTP64のゲートは、トランジスタTP63とトランジスタTN62の間のノードN52と、トランジスタTN64のドレインに接続されている。トランジスタTN64のソースは電源配線VDDに接続されている。同様に、トランジスタTP68のソース及びドレインは電源配線VDDに接続されている。
トランジスタTP67のソースは電源配線VDDに接続されている。トランジスタTP67のドレインはインバータ101の入力端子と、トランジスタTN66のゲートに接続されている。トランジスタTN66のソース及びドレインは電源配線VSSに接続されている。
インバータ102の出力端子はトランジスタTN64,TN67のゲートに接続されている。トランジスタTN67のソース及びドレインは電源配線VSSに接続されている。
高電位側の電源配線VDDにソース及びドレインが接続されたトランジスタTP64,TP68は、それぞれキャパシタとして動作し、それぞれのゲートが接続されたノードの電位を、電源電圧VDDの変化に応じて変化させる。低電位側の電源配線VSSにソース及びドレインが接続されたトランジスタTN61,TN66,TN67は、それぞれキャパシタとして動作し、それぞれのゲートが接続されたノードの電位変化を遅延する。
半導体記憶装置10の電源電圧VDDが供給されると、パワーオンリセット回路83は、回路内の時定数に応じた時間経過後に一定期間Hレベルのリセット信号RESを出力する。このリセット信号RESにより、図15に示すデータ比較回路82aのフリップフロップ91〜93は、リセット信号RESが供給される端子(セット端子又はリセット端子)に応じたレベルの信号をそれぞれ出力する。
・ソース及びバックゲートがレプリカビット線RBLaに接続されたトランジスタTN51によりレプリカビット線RBLaの電位を検出したが、レプリカビット線RBLaの電位を遷移させる遷移方向に応じて、PチャネルMOSトランジスタを用いても良い。
・NチャネルMOSトランジスタTN51によりレプリカビット線RBLaの電位を検出したが、チャネルに対して絶縁されたゲートを有する絶縁ゲート型(MOS型)のトランジスタを用いても良い。
・シールド線SLを、低電位側の電源配線VSSに接続してもよい。また、シールド線SLを、半導体基板上に形成した定電圧生成回路に接続してもよい。
・上記各実施形態はAポートとBポートを有するメモリとしたが、1つのポートを有するメモリとしてもよい。また、3つ以上のポートを有するメモリとしてもよい。
・上記各実施形態は、AポートとBポートのそれぞれからデータの入出力が可能であったが、いずれか一方を読み出し専用又は書き込み専用としたメモリとしてもよい。
・上記各実施形態では、書き込み動作の開始ビット線を高電位側の電源電圧VDDレベルとしたが、レベルを適宜変更してもよい。例えば、低電位側の電源電圧VSSレベルとした場合、アシスト線の電位をLレベルからHレベルへと急峻に遷移させる。
・上記各実施形態は、クロスカップル接続したCMOS構成のインバータ21,22を有するメモリセルC00〜C22としたが、例えば、負荷トランジスタをNチャネルMOSトランジスタとする、等のようにメモリセルC00〜C22を適宜変更してもよい。
・上記実施形態では、ビット線対間に配置形成したアシスト線の電位を制御してデータの書き込みを行うようにしたが、メモリセルが1本のビット線に接続されたメモリ(例えばDRAM:Dynamic Random Access Memory)に適用してもよい。
・上記のメモリは、例えばメモリマクロとして半導体装置に搭載される。例えば、図17に示す半導体装置110は、複数(図17において4つ)のメモリマクロ111〜114を有している。各メモリマクロ111〜114は、メモリ容量、入出力データのビット数、等が互いに異なる。この半導体装置110において、メモリマクロ111〜114のそれぞれがアシスト線の駆動能力を調整することで、データを保持することができるようになる。