以下に、本願の開示する半導体記憶装置及び半導体記憶装置の制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する半導体記憶装置及び半導体記憶装置の制御方法が限定されるものではない。
図1は、LSIの概略構成図である。LSI1は、例えば、プロセッサである。LSI1は、複数のコア2及びL(Level)2キャッシュ4を有する。コア2には、L1キャッシュ3が搭載される。L1キャッシュ3及びL2キャッシュ4には、複数のSRAM10が搭載される。SRAM10は、半導体記憶装置である。SRAM10は、図1に示すように、メモリセルアレイ5を有する。さらに、SRAM10は、ワークドライバ、ライト/センスアンプ及びデコーダを有する。
図2は、実施例に係るSRAMの構成図である。SRAM10は、メモリセル100、ライトアンプ101、降圧回路102及びVdd依存発生回路103を有する。さらに、SRAM10は、ビット線Bit及びビット線/Bitを有する。ビット線Bitとビット線/Bitとは、それぞれトランジスタT3、T4を介して接続ノードaで繋がる。また、SRAM10は、ワード線WL、ライトイネイブル信号WE及びライトデータ信号WDの入力経路、並びに、NMOSトランジスタT5を有する。NMOSトランジスタT5のドレインは接続ノードaに接続され、ソースはVssに繋がる。
メモリセル100は、記憶素子であり、図1に示したメモリセルアレイ5に複数搭載される。メモリセル100は、トランスファT1及びT2、出力ノードDを有するCMOSインバータINV2、並びに、出力ノード/Dを有するCMOSインバータINV1を有する。
CMOSインバータINV1は、出力ノード/DがトランスファT1に接続され、トランスファT1を介してビット線Bitに接続される。また、CMOSインバータINV2は、出力ノードDがトランスファT2に接続され、トランスファT2を介してビット線/Bitに接続される。また、CMOSインバータINV1の入力ノードは、CMOSインバータINV2の出力ノードDに接続される。逆に、CMOSインバータINV2の入力ノードは、CMOSインバータINV1の出力ノード/Dに接続される。
トランスファT1及びT2は、それぞれゲートがワード線WLに接続される。さらに、トランスファT1におけるCMOSインバータINV1の接続端とは逆の端子はビット線Bitに接続される。また、トランスファT2におけるCMOSインバータINV2の接続端とは逆の端子はビット線/Bitに接続される。
また、ライトアンプ101は、AND回路G1及びG3、インバータG2、並びに、NMOSトランジスタT3及びT4を有する。
NMOSトランジスタT3は、ソースがビット線Bitに接続され、ドレインが接続ノードaに接続される。また、NMOSトランジスタT3のゲートは、AND回路G1の出力ノードに接続される。また、NMOSトランジスタT4は、ドレインがビット線/Bitに接続され、ソースが接続ノードaに接続される。また、NMOSトランジスタT4のゲートは、AND回路G3の出力ノードに接続される。
AND回路G1及びG3の一方の入力端子には、ライトイネイブル信号WEが入力される。また、AND回路G1の他方の入力端子には、ライトイデータ信号WDが入力される。また、AND回路G3の他方の入力端子にはインバータG2の出力端子が接続される。インバータG2の入力端子はライトデータ信号WDが接続される。
降圧回路102は、バッファG4及びカップリング容量C1を有する。この降圧回路102が、「第1降圧回路」の一例にあたる。
バッファG4の入力端子は、ビット線Bit及びビット線/Bitの電圧を負電位まで落とすためのアシスト信号を出力するASSIST ENX端子に接続される。また、バッファG4の出力端子は、カップリング容量C1に接続される。また、ASSIST ENX端子は、NMOSトランジスタT5のゲートに接続される。
カップリング容量C1は、バッファG4の出力端子及び接続ノードaとNMOSトランジスタT5とを繋ぐ経路に接続される。
Vdd依存発生回路103は、インバータチェーン131、インバータチェーン132及びNAND回路133を有する。インバータチェーン131が、「第1インバータ」の一例にあたる。また、インバータチェーン132が、「第2インバータ」の一例にあたる。
NAND回路133の一方の入力端子は、インバータチェーン131の出力端子であるEN’端子に接続される。また、NAND回路133の他方の入力端子は、インバータチェーン132の出力端子であるENX’端子に接続される。NAND回路133の出力端子であるEN_NPLS端子は、ASSIST ENX端子に接続される。
インバータチェーン131は、ディレイの電圧依存性が小さいゲートが偶数段直列に並ぶ。ディレイの電圧依存性が小さいとは、電圧が上昇するにしたがって減少する遅延量が小さいことを指す。逆に、ディレイの電圧依存性が大きいとは、電圧が上昇するにしたがって減少する遅延量が大きいことを指す。インバータチェーン132は、ゲートディレイの電圧依存性が大きいゲートが奇数段直列に並ぶ。
ゲートディレイの電圧依存性は、例えばトランジスタの電圧閾値、トランジスタの多段積みなどの回路構成によるもの、またはそれらの組合せなどで変化させることができる。図3は、トランジスタの電圧閾値を変えた場合のゲートディレイの電圧依存性を示す図である。図3の横軸は電源電圧(Vdd)を表し、縦軸はディレイ変動を表す。グラフ11は、ディレイの電圧閾値が小さいトランジスタのディレイ変動を表す。また、グラフ13は、ディレイの電圧閾値が大きいトランジスタのディレイ変動を表す。また、グラフ12は、グラフ11とグラフ13との間のディレイの電圧閾値を有するトランジスタのディレイ変動を表す。
グラフ13に示すように、電圧閾値が大きいトランジスタは、ディレイの変動が大きくなり、電圧依存が大きいといえる。逆に、グラフ11に示すように、電圧閾値が小さいトランジスタは、ディレイの変動が小さくなり、電圧依存性が小さいといえる。
そこで、例えば、インバータチェーン131には、図3の電圧閾値が小さいトランジスタを多数段並べられることで、ディレイの電圧依存性が小さくなる。また、インバータチェーン132には、図3の電圧閾値が大きいトランジスタを多数段並べることで、ディレイの電圧依存性が大きくなる。
Vddが低電圧域の場合、インバータチェーン131のディレイより、インバータチェーン132のディレイが大きく、それに対して、Vddが高電圧域の場合、インバータチェーン132のディレイは、インバータチェーン131のディレイと同じもしくは小さくなるようにそれぞれのゲートの段数を設定する。
また、インバータチェーン131及びインバータチェーン132の入力端子であるEN端子は、ライトイネイブル信号WEが入力される。
Vddが低電圧域の場合、インバータチェーン131のディレイよりインバータチェーン132のディレイが大きくなるため、EN端子がVssレベルであるLからVddレベルであるHに変化することで、EN_NPLS端子からネガパルスが発生する。逆に、Vddが高電圧域の場合、インバータチェーン132のディレイは、インバータチェーン131のディレイと同じもしくは小さくなるため、EN端子がVssレベルであるLからVddレベルであるHに変化しても、EN_NPLS端子からネガパルスは発生しない。
図4は、Vddの高さとネガパルスの幅との関係を示す図である。グラフ151~153は、それぞれ縦軸で電圧を表し横軸で時間経過を表す。グラフ151は、Vddが低電圧域の場合の各信号の動作波形を表す。また、グラフ152は、Vddが低電圧域と高電圧域との間の中電圧域の場合の各信号の動作波形を表す。また、グラフ152は、Vddが高電圧域の場合の各信号の動作波形を表す。ここで、図4を参照して、Vddの大きさとEN_NPLS端子で発生するネガパルスの関係について説明する。
波形161は、Vdd依存発生回路103のEN端子の電圧変化を表す。また、波形162は、インバータチェーン131のEN’端子の電圧変化を表す。また、波形163は、インバータチェーン132のENX’端子の電圧変化を表す。また、波形164は、NAND回路133のEN_NPLS端子の電圧変化を表す。
Vddが低電圧領域の場合について説明する。グラフ151に示すように、タイミングT11でEN端子がLからHに変化する。その後、タイミングT11からインバータチェーン131のディレイである期間T18の経過後のタイミングT12でEN’端子がLからHに変化することで、NAND回路133のEN_NLPS端子はHからLに変化する(ステップS1)。詳しくは、タイミングT12以前には、EN’端子がLであり、ENX’端子がHであるので、NAND回路133のEN_NLPS端子はHとなる。そして、タイミングT12以降、EN’端子及びENX’端子ともにHであるので、NAND回路133のEN_NLPS端子はLとなる。
この場合、電圧依存性が大きいインバータチェーン132のタイミングT11からのディレイである期間T19は、電圧依存性が小さいインバータチェーン132のタイミングT11からのディレイである期間T18よりも長い。そこで、タイミングT12より後の、タイミングT11から期間T19の経過後のタイミングT13で、ENX’端子はHからLに変化する(ステップS2)。これにより、EN_NLPS端子から出力されるネガパルスが生成される。グラフ152及び153における矢印で表される処理も、グラフ151で示した各処理に対応する。
Vddが低電圧域から上昇して中電圧域になった場合、グラフ152に示すようにインバータチェーン131及び132のいずれのディレイタイムも短くなる。これにより、タイミングT12より前のタイミングT14でEN’のLからHへの変化が発生する。また、タイミングT13より前のタイミングT15でENX’のHからLへの変化が発生する。ただし、インバータチェーン132の方がインバータチェーン131よりも電圧依存性が大きいため、インバータチェーン132のディレイの方がインバータチェーン131のディレイよりも短縮される程度が大きい。そのため、タイミングT14とタイミングT15との間の間隔は、タイミングT12とタイミングT13との間隔よりも短くなる。すなわち、EN_NLPS端子から出力されるネガパルスの幅が短くなる。
さらに電圧が上昇して、Vddが高電圧域になった場合、グラフ153に示すようにインバータチェーン131及び132のいずれのディレイタイムもさらに短くなる。これにより、タイミングT14より前のタイミングT16でEN’端子のLからHへの変化が発生する。また、タイミングT15より前のタイミングT17でENX’端子のHからLへの変化が発生する。ただし、タイミングT16とタイミングT17との間の間隔は、タイミングT14とタイミングT15との間隔よりもさらに短くなる。この場合、EN_NLPS端子は、HからLに落ちきる前にHに戻ってしまう。このため、グラフ153に示すようにネガパルスが発生しなくなる。
図2に戻って説明を続ける。インバータチェーン131及び132におけるゲートの段数や電圧依存性の組合せを変えることで、ネガパルスが発生しなくなる電圧が調整される。
次に、SRAM10のデータ書き込み時の動作について説明する。メモリセル100の書込み前は、ビット線Bit及び/BitはHにプリチャージされる。また、ワード線WLはLであり、ライトイネイブル信号WEはLである。また、ASSIST EXT端子はHである。このとき、AND回路G1及びG3の出力はLであり、NMOSトランジスタT3及びT4はオフであり、NMOSトランジスタT5はオンである。そして、接続ノードaはLになる。
メモリセル100へのデータの書き込みは、ワード線WLをLからHに変化させてメモリセル100のトランスファT1及びT2をオンさせたうえで、ライトイネイブル信号WEをLからHへ遷移させることで行われる。このとき、ライトデータ信号WDにより入力されるデータに応じてNMOSトランジスタT3又はNMOSトランジスタT4がオンになり、ビット線Bit又は/BitのどちらかがVssに引き下げられる。これにより、メモリセル100の内部ノードは強制的にLなり通常の書き込みが完了する。例えば、ライトデータ信号WDをHとすると、NMOSトランジスタT3がオンとなり、ビット線BitがVssに引き下げられる。
ライトイネイブル信号WEのLからHへの遷移により、同時にVdd依存発生回路103のインバータチェーン131とインバータチェーン132に共通のEN端子が、LからHに遷移する。
Vddが低電圧域、例えば0.5V程度においてはインバータチェーン131のEN’端子におけるディレイはインバータチェーン132のENX’端子におけるディレイより早いため、NAND回路133にディレイの差に応じた逆相の信号が入力される。これにより、NAND回路133のEN_NPLS端子の出力と等しいASSIST_ENX端子にネガパルスが発生する。このネガパルスはライトイネイブル信号WEに対してインバータチェーン131のディレイの時間遅れて発生する。このネガパルスのライトイネイブル信号WEに対する遅延時間の間に、上述したBitをVssまで下げることで行われる通常書き込みは完了する。
ASSIST_EN端子に発生したネガパルスは、ビット線BitをVssに繋いでいるNMOSトランジスタT5をネガパルスによるLが連続する期間オフする。これにより、ビット線Bit及び接続ノードaは、LのままVssから切り離されてフローティングとなり初期電位の0Vになる。
次いで、NMOSトランジスタT5をオフした直後に、ネガパルスは、バッファG4を通じてカップリング容量C1をHからLに駆動する。これにより、フローティングにより0Vであるビット線Bitが、さらにVssより所定電圧であるα(V)低い負電位にまで下げられる。すなわち、ビット線Bitは、ネガパルスのリーディングエッジを受けて、負電位にブートストされ、パルス幅の期間、ビット線Bitを負電位まで引き下げるアシストが継続する。このため、メモリセル100の内部ノードの引き下げがより強力に行われることになり、SRAM10は、メモリセル100における書き込みマージンを確保することができる。所定電圧であるαは、ビット線Bit及び/Bitの寄生容量とカップリング容量C1との容量比で決められる。その後、ビット線Bitは、ネガパルスのトレーディングエッジによるLからHへの変化を受けてVssにリセットされる。
以上は、例えば0.5Vといった低電圧域での動作であるが、次に、低電圧域から電圧が上昇した場合について説明する。インバータチェーン131のディレイの電圧依存性に比べてインバータチェーン132のディレイの電圧依存性は大きい。そのため、電圧の上昇によってインバータチェーン131とインバータチェーン132とのディレイ差は縮まる。すなわち、ASSIST ENX端子で発生するネガパルスの幅に等しいアシスト期間は短くなる。そして、ある程度の電圧以上になると、ASSIST ENX端子においてネガパルスは発生せずH固定となり、アシストがなくなる。アシストが無い状態では、Vdd依存発生回路103及び降圧回路102は動作しないので、ビット線Bitは、Vssより低くなることは無い。したがって、例えば0.9Vといったアシストの不要な電圧域ではASSIST ENX端子においてネガパルスは発生しない。これにより、メモリセル100のトランスファT1に電源電圧以上のストレスが印可されることを防ぐことができる。また、アシストによる無駄な電力消費を削減することができる。
高電圧の場合は、低電圧の場合と異なり、CMOSであっても書き込み動作マージンが不十分になることは少ないため、ビット線Bitを負電位まで下げなくてもメモリセル100の不良の発生確率は低い値を維持できる。
図5は、実施例1に係るSRAMにおける各信号の動作波形を示す図である。次に、図5を参照して、実施例1に係る半導体記憶装置におけるデータ書き込み時の各信号の電圧変化を説明する。この場合も、例えば、ライトデータ信号WDをHとして、NMOSトランジスタT3がオンとなり、ビット線BitがVssに引き下げられることで、データ書き込みが行われる場合を例に説明する。
図5のグラフ211~213は、それぞれ縦軸で電圧を表し横軸で時間経過を表す。グラフ211は、Vddが低電圧域の場合の各信号の動作波形を表す。また、グラフ212は、Vddが低電圧域と高電圧域との間の中電圧域の場合の各信号の動作波形を表す。また、グラフ213は、Vddが高電圧域の場合の各信号の動作波形を表す。
図5における、波形201は、ライトイネイブル信号WEの電圧変化を表す。また、波形202は、ASSIST ENX端子における電圧変化を表す。また、波形203は、ビット線Bitの電圧変化を表す。また、波形204は、出力ノードDの電圧変化を表す。また、波形205は、出力ノード/Dの電圧波形を表す。電位200は、ビット線Bit、出力ノードD及び出力ノード/Dの各ノードに対して基準となるVssを表す。
グラフ211で示されるVddが低電圧域の場合の各信号の動作波形について説明する。データ書き込みを行う場合、ライトイネイブル信号WEは、波形201に示すようにLからHへ変化する(ステップS3)。これを受けて、ビット線Bitは、波形203に示すようにHからLへ変化する(ステップS4)。ビット線BitがLに変化すると、波形204に示すように、セル内部ノードである出力ノードDがLに引き下げられる(ステップS5)。
このとき、波形202に示すように、ASSIST ENX端子がHからLに変化する(ステップS6)。そして、期間L1の間では、ASSIST ENX端子はLであり、その後、Hに変化する(ステップS7)。このASSIST ENX端子の電圧変化により、パルス幅が期間L1となるネガパルスが発生する。ビット線Bitは、ネガパルスのリーディングエッジを受けて、波形203に示すように負電位αにブートストされる(ステップS8)。これにより、メモリセル100の内部ノードの引き下げがより強力に行われる。パルス幅の期間L1の間、ビット線Bitは、負電位が継続する。その後、ビット線Bitは、ネガパルスのトレーディングエッジによるLからHへの変化を受けてVssにリセットされる(ステップS9)。その後、D信号は、負電圧状態からVssに戻り(ステップS10)、Lを維持する。これにより、メモリセル100へのデータの書き込みが完了する。
また、グラフ212で示されるように、Vddが低電圧域から電圧が上昇して中電圧域になった場合、インバータチェーン131とインバータチェーン132とのディレイ差は縮まる。これにより、ASSIST ENX端子に発生するネガパルスの幅であるアシスト期間L1が短くなる。アシスト期間L1は短くなるが、この場合も、グラフ212の波形203に示すようにビット線Bitが負電位αに引き下げられ、それに応じて、グラフ212の波形204に示すようにセル内部ノードである出力ノードDも負電位αに引き下げられる。これにより、メモリセル100の書込みがより強力に行われる。
これに対して、グラフ213で示されるように、Vddが高電圧域になった場合、インバータチェーン131とインバータチェーン132とのディレイ差はより縮まる。これにより、グラフ213の波形202に示すように、ASSIST ENX端子で発生するネガパルスの幅であるアシスト期間L1がなくなる。さらに、Vddが高くなった場合、波形202に発生した電圧の低下もなくなり、ASSIST ENX端子は、H固定となる。この場合、グラフ213の波形203に示すようにビット線BitはVddに落ちるが、それを下回る負電位に引き下げられることはない。
このように、Vdd依存発生回路103は、「制御部」の一例にあたり、発生遅延の電圧依存性を有する第1インバータからの第1出力と、発生遅延の電圧依存性が前記第1インバータよりも大きい第2インバータからの第2出力とを基に、電源電圧を検出し、検出した前記電源電圧の量に応じて前記第1降圧回路による前記ビット線電圧の引き下げ量を制御する。より詳しくは、Vdd依存発生回路103は、EN端子への所定信号の入力に対する第1出力のタイミングと、同じ所定信号の入力に対する第2出力のタイミングとの差分の期間、降圧回路102に第1所定値である負電位αへ前記ビット線を引き下げさせる。
図6は、実施例1に係るSRAMにおける低電圧域でのデータ書き換え処理のフローチャートである。次に、図6を参照して、本実施例に係るSRAM10における低電圧域でのデータ書き換えの処理の流れを説明する。ここでは、ビット線Bitの電圧を引き下げることで書き込みが行われる場合で説明する。
ワード線WLがLからHに変化して、メモリセル100のトランスファT1及びT2がオンになる(ステップS101)。
そして、ライトイネイブル信号WEがLからHへ遷移する(ステップS102)。
次に、ライトデータ信号WDによりデータが入力される(ステップS103)。
ライトデータ信号WDによる入力に応じてNMOSトランジスタT3がオンになり、ビット線BitがVssに引き下げられる(ステップS104)。
ライトイネイブル信号WEのLからHへの遷移により、同時にVdd依存発生回路103のインバータチェーン131とインバータチェーン132に共通のEN端子が、LからHに遷移する(ステップS105)。
次に、インバータチェーン131のEN’端子がLからHに遷移する(ステップS106)。
次に、EN_NPLS端子がHからLに遷移して、ASSIST_EN端子にネガパルスのリーディングエッジが発生する(ステップS107)。
ASSIST_EN端子に発生したネガパルスにより、ビット線BitをVssに繋いでいるNMOSトランジスタT5がオフにされる。さらに、ネガパルスは、バッファG4を通じてカップリング容量C1をHからLに駆動する。これにより、フローティングにより0Vであるビット線Bitが、さらにVssより所定電圧低い負電位に引き下げられる(ステップS108)。
その後、インバータチェーン131とインバータチェーン132とのディレイの差分遅れて、ENX’端子がHからLに遷移する(ステップS109)。
次に、EN_NPLS端子がLからHに遷移して、ASSIST_EN端子にネガパルスのトレーディングエッジが発生する(ステップS110)。
そして、ビット線Bitは、ネガパルスのトレーディングエッジによるLからHへの変化を受けてVssにリセットされる(ステップS111)。
図7は、実施例1に係るSRAMにおける高電圧域でのデータ書き換え処理のフローチャートである。次に、図7を参照して、本実施例に係るSRAM10における高電圧域でのデータ書き換えの処理の流れを説明する。ここでも、ビット線Bitの電圧を引き下げることで書き込みが行われる場合で説明する。
ワード線WLがLからHに変化して、メモリセル100のトランスファT1及びT2がオンになる(ステップS121)。
そして、ライトイネイブル信号WEがLからHへ遷移する(ステップS122)。
次に、ライトデータ信号WDによりデータが入力される(ステップS123)。
ライトデータ信号WDによる入力に応じてNMOSトランジスタT3がオンになり、ビット線BitがVssに引き下げられる(ステップS124)。
ライトイネイブル信号WEのLからHへの遷移により、同時にVdd依存発生回路103のインバータチェーン131とインバータチェーン132に共通のEN端子が、LからHに遷移する(ステップS125)。
次に、インバータチェーン131のEN’端子がLからHに遷移する(ステップS126)。
高電圧域では、インバータチェーン131とインバータチェーン132とのディレイの差分が小さいため、EN_NPLS端子がHからLに遷移する前に、ENX’端子がHからLに遷移する(ステップS127)。これにより、ビット線Bitは負電位まで下げられずVssを維持する。
以上に説明したように、本実施例に係る半導体記憶装置は、Vddが低電圧の場合、データ書き込みの際にVssより低い負電位までビット線の電圧を落とし、Vddが高電圧の場合、データ書き込みの際にVssまでビット線の電圧を落とす。
例えば、昇圧回路の容量を電源電圧が高くなるほど小さくなる可変容量に置き換える技術では、アシスト回路がどの電圧域でも動作するのでアシストなしでも不良が発生しない領域においては無駄な電力が発生する。また、メモリセルに最大定格の電圧が印加された場合は、アシスト回路によって、メモリセルに最大定格以上の電圧が印加され、特性劣化や信頼性上の問題が発生する。
これに対して、本実施例に係る半導体記憶装置によれば高電圧では自動でライトアシストが完全に解除されるので、メモリセルの劣化を軽減できる。また、本実施例に係る半導体記憶装置では、最大定格以下であれば自由に動作電圧を設定することができる。したがって、本実施例に係る半導体記憶装置を用いることで、DVFS方式においては動作速度範囲を最大限まで拡大でき、且つ、LSIの電力効率を向上することができる。また、不要なアシストによる無駄な電力を削減することができる。
また、降圧回路と昇圧回路とを同時に動作させてビット線の電位下降を緩和する技術では、高電圧域でライトアシストを完全に解除することができるが、その実現の為に降圧回路と昇圧回路を同時に動作させている。
これに対して、本実施例に係る半導体記憶装置では降圧回路を停止させることができるので、アシスト回路の面積の多くを占める容量素子を小さく抑えることができ、且つ、高電圧域においてアシストを解除する為の無駄な電力を削減することができる。また、本実施例に係る半導体記憶装置では、アシスト量を自動で段階的に変化させることが可能であり、アシストによる電力増を最小限に抑えることができる。
また、搭載されているメモリのライトアシスト回路の制御をプロセッサなどから行うことは可能であるが、それ用の論理設計、実装、信号分配及びタイミング設計のための開発コストが増大する。これに対して、本実施例に係る半導体記憶装置の場合、LSI設計者はライトアシストを内蔵したメモリセルを使用することで開発コストを抑えつつ自由にDVFS設定等をすることが可能となる。
図8は、実施例2に係るSRAMの構成図である。本実施例に係るSRAM10は、ビット線Bitを負電位にまで落とすアシストを一定期間維持することが実施例1と異なる。本実施例に係るSRAM10は、インバータG5及びダイナミックゲート104をさらに有する。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
Vdd依存発生回路103は、入力端子であるEN端子に対して、ライトイネイブル信号WEが入力される。また、Vdd依存発生回路103は、ネガパルスの出力端子であるEN_NPLS端子がインバータG5の入力へ接続される。
インバータG5は、Vdd依存発生回路103から出力されたネガパルスをポジパルスに変換したtrg信号を生成する。そして、インバータG5は、trg信号をダイナミックゲート104のEN端子に入力する。
ダイナミックゲート104は、2つの入力端子であるPC端子及びEN端子、並びに、出力端子であるOUT端子を有する。ダイナミックゲート104のPC端子は、制御命令が出力されるプリチャージラインPCに接続される。また、ダイナミックゲート104のOUT端子は、ASSIST ENX端子に接続される。
図9は、ダイナミックゲートの一例を示す回路図である。ダイナミックゲート104のPC端子は、Vddに繋がるPチャネル型のFETスイッチのゲートから延びる。また、ダイナミックゲート104のEN端子は、PC端子が繋がるFETスイッチとVssとの間に配置されたNチャネル型のFETスイッチのゲートから延びる。そして、PC端子が繋がるFETスイッチとEN端子が繋がるFETスイッチとの接続点がOUT端子へ接続され、その間にHキーパー141が配置される。
図10は、ダイナミックゲートの動作波形を示す図である。図8の縦軸は電圧を表し、横軸は時間経過を表す。また、グラフ21はPC端子への入力信号の波形を表し、グラフ22はEN端子への入力信号の波形を表し、グラフ23はOUT端子からの出力信号の波形を表す。
ダイナミックゲート104は、グラフ22で示すように、EN端子に入力されるtrg信号がLの状態で、グラフ21に示すようにプリチャージラインPCから期間T21の幅を有するネガパルスがPC端子に対して入力される。これにより、ダイナミックゲート104は、グラフ23に示すように、期間T21に対応する期間T22の間はOUT端子からの出力がHにプリチャージされる。そして、ダイナミックゲート104は、期間T21が経過してPC端子がHに戻っても、グラフ23に示すようにHキーパー141により期間T23の間はOUT端子からの出力をHに保持し続ける。この後、EN端子に入力されるtrg信号がHに変化することで期間T23が終了して、ダイナミックゲート104のOUT端子からの出力がHからLへと変化する。そして、ダイナミックゲート104は、次サイクルのプリチャージラインPCからのネガパルスの入力により、OUT端子からの出力がHにリセットされて、図10で示した動作を繰り返す。このダイナミックゲート104が、「保持回路」の一例にあたる。そして、期間T23が「所定期間」の一例にあたる。
図11は、実施例2に係るSRAMにおける各信号の動作波形を示す図である。次に、図11を参照して、本実施例に係るSRAM10の動作について説明する。図11のグラフ221~223は、それぞれ縦軸で電圧を表し横軸で時間経過を表す。グラフ221は、Vddが低電圧域の場合の各信号の動作波形を表す。また、グラフ222は、Vddが低電圧域と高電圧域との間の中電圧域の場合の各信号の動作波形を表す。また、グラフ223は、Vddが高電圧域の場合の各信号の動作波形を表す。
ライトイネイブル信号WEのLからHへの遷移に先立って、ダイナミックゲート104は、PC端子にネガパルスが印加されて、OUT端子からの出力がHにリセットされ、ASSIST ENX端子がLからHに変化する(ステップS21)。次に、ライトイネイブル信号WEがLからHへ変化すると、ビット線Bitは、Vssに落とされる。さらに、Vddが低電圧の場合、ライトイネイブル信号WEがLからHへ変化すると、Vdd依存発生回路103は、ネガパルスを発生する(ステップS22)。インバータG5は、Vdd依存発生回路103から出力されたネガパルスをポジパルスに変換したtrg信号を生成して、ダイナミックゲート104のEN端子に入力する(ステップS23)。ダイナミックゲート104は、trg信号がEN端子に入力されることでOUT端子からの出力がHからLに変化する(ステップS24)。これにより、ASSIST ENX端子がHからLに変化して、ビット線Bitは負電位に駆動される(ステップS25)。グラフ222における矢印で示される処理は、グラフ221で説明した各処理に対応する。また、グラフ223における矢印で示される処理は、グラフ221におけるステップS21~S23の処理に対応する。
Vddが高くなるにつれて、グラフ222に示すように、EN端子に入力されるtrg信号は細くなる。さらに電圧が上昇してVddが高電圧域に達すると、Vdd依存発生回路103においてネガパルスが発生せず、trg信号も小さくなるため、ビット線BitはVssより低い負電位にならない。
以上に説明したように、本実施例に係る半導体記憶装置では、Vddが低電圧の場合、ASSIST ENX端子は、HからLに遷移した後、次サイクルのプリチャージPCからの入力信号でリセットされるまでLを保持する。そして、ASSIST ENX端子がLに保持されている期間、ビット線は負電位のままとなる。実施例1に係る半導体記憶装置はパルスの幅の期間のみアシストするので、十分なアシストにはある程度ビット線の引下げ量を大きくすることが好ましい。これに対して、本実施例に係る半導体記憶装置は、アシストする期間を延ばすことができるので、アシスト強度を比較的小さくできる。したがってアシスト用の容量を小さくすることができ、アシスト回路の面積と電力を抑えることができる。
また、本実施例に係る半導体記憶装置は、高電圧域ではアシストが完全に解除されるのでメモリセルの耐圧の制約を受けることなくSRAMに最大定格まで電圧を印加することができる。また、本実施例に係る半導体記憶装置は、アシストの解除により降圧回路の動作自体を抑止する。したがって、電圧域で消費電力を低く抑えることができる。
図12は、実施例3に係るSRAMの構成図である。本実施例に係るSRAM10は、ビット線Bitの降圧量を電圧によって変化させることが実施例2と異なる。以下の説明では、既に説明した各部の機能については説明を省略する。
本実施例に係るVdd依存発生回路103は、2つの出力を有し、それぞれ出力のパルスが発生しなくなる電圧が異なる。Vdd依存発生回路103は、インバータチェーン131及びインバータチェーン132に加えて、インバータチェーン134を有する。また、Vdd依存発生回路103は、NAND回路133に加えて、NAND回路135を有する。
インバータチェーン134は、ゲートディレイの電圧依存性が大きいトランジスタを有するゲートが偶数段直列に並ぶ。すなわち、インバータチェーン134は、ディレイの電圧依存性が大きい。インバータチェーン134の入力端子は、インバータチェーン132の出力端子に接続される。また、インバータチェーン134の出力端子であるENX’’端子は、NAND回路135の一方の入力端子に接続される。このインバータチェーン134が、「第3インバータ」の一例にあたる。
NAND回路135は、一方の入力端子が、インバータチェーン134の出力端子であるENX’’端子に接続される。また、NAND回路135は、他方の入力端子が、インバータチェーン131の出力端子であるEN’端子に接続される。
ここでは、NAND回路133の出力端子をEN_NPLS1端子と呼び、NAND回路135の出力端子をEN_NPLS2端子と呼ぶ。
インバータG5の入力端子は、NAND回路133の出力端子であるEN_NPLS1端子が接続される。また、インバータG7の入力端子は、NAND回路135の出力端子であるEN_NPLS2端子が接続される。ここでは、インバータG5の出力信号をtrg1信号とよび、インバータG7の出力信号をtrg2信号と呼ぶ。
ダイナミックゲート104Aは、EN端子にインバータG5から出力されたtrg1信号が入力される。また、ダイナミックゲート104Bは、EN端子にインバータG7から出力されたtrg2信号が入力される。また、ダイナミックゲート104A及び104Bのいずれも、PC端子はプリチャージラインPCが接続される。また、ダイナミックゲート104Aの出力端子であるOUT端子は、ASSIST ENX1端子に接続される。また、ダイナミックゲート104Bの出力端子であるOUT端子は、ASSIST ENX2端子に接続される。
降圧回路102Aは、バッファG4及びカップリング容量C1を有する。バッファG4は、入力端子がASSIST ENX1端子に接続される。また、バッファG4の出力端子は、カップリング容量C1に接続される。カップリング容量C1は、接続ノードaとNMOSトランジスタT5との間に接続される。
降圧回路102Bは、バッファG6及びカップリング容量C2を有する。バッファG6は、入力端子がASSIST ENX2端子に接続される。また、バッファG6の出力端子は、カップリング容量C2に接続される。カップリング容量C2は、接続ノードaとNMOSトランジスタT5との間に接続される。ASSIST ENX2端子は、NMOSトランジスタT5のゲートに接続される。この降圧回路102A及び102Bが、「第1降圧回路」及び「第2降圧回路」の一例にあたる。
このように、本実施例に係るSRAM10は、降圧回路102A及び102Bとそれらの制御回路であるダイナミックゲート104A及び104Bとの2組の制御回路が設けられ、それぞれがVdd依存発生回路103の2つの出力端子のそれぞれに接続される。
本実施例に係るSRAM10の動作を説明する。Vddが低電圧域の場合、降圧回路102A及び102Bの両方が動作し、Vddの電圧が高くなるにつれて降圧回路102Aが停止し、最終的に両方の降圧回路102A及び102Bが動作しなくなる。また、ここでは、2つの組の制御回路を配した場合で説明したが、降圧回路102とダイナミックゲート104とを含む制御回路の組は3つ以上とすることも可能である。制御回路が複数の場合、Vddが低電圧域では全ての降圧回路102が動作し、Vddが高くなるにつれて動作する降圧回路102の数が少なくなり、最終的にすべての降圧回路102が動作しなくなる。
図13は、実施例3に係るVdd依存発生回路の動作波形を示す図である。図13のグラフ301~303は、それぞれ縦軸で電圧を表し横軸で時間経過を表す。グラフ301は、Vddが低電圧域の場合の各信号の動作波形を表す。また、グラフ302は、Vddが低電圧域と高電圧域との間の中電圧域の場合の各信号の動作波形を表す。また、グラフ303は、Vddが高電圧域の場合の各信号の動作波形を表す。
NAND回路135は、EN’端子からの出力とインバータチェーン134のENX’’端子からの出力とが入力される。そして、NAND回路135は、EN_NPLS2端子から信号を出力する。EN’端子からの出力がHに変化したタイミングで、EN_NPSL1端子及びEN_NPSL2端子のいずれも、Lに落とされる(ステップS31)。そして、ENX’端子がLに変化するタイミングで、EN_NPSL1端子はHに戻る(ステップS32)。また、ENX’’端子がLに変化するタイミングで、EN_NPSL2端子はHに戻る(ステップS33)。
グラフ302における矢印で示される処理は、グラフ301における各処理にあたる。また、グラフ303における矢印で示される処理は、グラフ301におけるステップS31及びS33の処理にあたる。
ENX’’端子は、インバータチェーン134によるディレイに応じてENX’端子よりディレイが大きくなるのでEN_NPLS2端子に発生するネガパルスはEN_NPLS1端子に発生するネガパルスより幅が広い。したがって、Vddが低電圧域の場合、グラフ301に示すように、EN_NPLS1端子及びEN_NPLS2端子の両方にネガパルスが発生する。また、Vddの電圧を上げてゆくと、グラフ302に示すように、EN_NPLS1端子のネガパルスが消え、EN_NPLS2端子に発生するネガパルスが残る。更にVddの電圧を上げ高電圧域に達すると、グラフ303に示すように、EN_NPLS1端子及びEN_NPLS2端子のいずれでもネガパルスが発生しなくなる。
ここで、想定する最低電圧で書込みに必要な電位をVss-2αとし、その電位を発生させるのに必要な容量をCとした場合、カップリング容量C1及びC2はその和がCとなるよう設定される。Vdd依存発生回路103を構成する各インバータチェーン131、132及び134の段数やディレイの電圧依存性を調整することで、各ネガパルスの幅を調整でき、各ネガパルスが消滅する電圧を調整することができる。例えば、Vss-αで書込みが可能になる電圧になると、EN_NPLS1端子でのパルスの発生が止まるように調整することが可能である。
図14は、実施例3に係るSRAMの動作波形を示す図である。図14のグラフ301~303は、それぞれ縦軸で電圧を表し横軸で時間経過を表す。グラフ311は、Vddが低電圧域の場合の各信号の動作波形を表す。また、グラフ312は、Vddが低電圧域と高電圧域との間の中電圧域の場合の各信号の動作波形を表す。また、グラフ313は、Vddが高電圧域の場合の各信号の動作波形を表す。
Vddが低電圧域の場合、グラフ311に示すように、プリチャージラインPCからダイナミックゲート104A及び104BにPC信号が入力され、ASSIST_ENX1端子及びASSIST_ENX1端子の両方がHに変化する(ステップS34)。その後、trg1信号がダイナミックゲート104Aに入力され、OUT端子がHに変化することで、ASSIST_ENX1端子はLからHに変化する(ステップS35)。同様に、trg2信号がダイナミックゲート104Bに入力され、OUT端子がHに変化することで、ASSIST_ENX2端子はLからHに変化する(ステップS36)。これにより、降圧回路102A及び102Bの双方が動作して、ビット線BitをVss-2αまで引き下げる(ステップS37)。
グラフ312における矢印で示される処理は、グラフ311におけるステップS34、S36及びS37にあたる。また、グラフ313における矢印で示される処理は、グラフ311におけるステップS34の処理にあたる。
Vddの電圧を上げていき、Vss-αで書込みが可能になる電圧になると、グラフ312に示すように、EN_NPLS1端子でのネガパルスの発生がなくなり、trg1信号が消える。この場合、降圧回路102Aの動作が停止し、降圧回路102Bの動作は継続して、ビット線BitをVss-αまで引き下げる。
Vddが高電圧域となりVssで書込みが可能な電圧になると、グラフ313に示すように、EN_NPLS2端子でのネガパルスの発生もなくなり、trg2信号が消える。この場合、降圧回路102A及び102Bの両方とも動作が停止して、ビット線Bitの引き下げはVssまでとなる。
以上に説明したように、本実施例に係る半導体記憶装置では、電圧の高さに応じて段階的にビット線の降圧量が変化する。これにより、無駄な電力を減らし、メモリセルに印加させる電圧を低減して劣化を最小限に抑えることができる。さらに、ここではVdd依存発生回路及び降圧回路が2組の場合について説明したが、この組の数を増やすことによって効果を高めることができる。
また、以上の説明では、ダイナミックゲートを用いる場合で説明したが、同様の構成はダイナミックゲートを用いない実施例1の構成に組み込むことも可能である。
次に、実施例4について説明する。本実施例に係るSRAM10は、降圧回路102の駆動パルスが発生しなくなる電圧を調整できることが実施例2と異なる。以下の説明では、既に説明した各部の機能については説明を省略する。
本実施例に係るVdd依存発生回路103は、降圧回路102の駆動パルスを発生しなくなる電圧を外部信号によって調整される。Vdd依存発生回路103は、ネガパルスのリーディングエッジを決める電圧依存の小さいインバータチェーン131の段数、ネガパルスのトレーディングエッジを決める電圧依存の大きいインバータチェーン132の段数のどちらか又は両方が外部から切り替えらえる。これにより。Vdd依存発生回路103は、出力するネガパルスの幅が変更され、結果としてパルスが消滅する電圧が調整される。
図15は、実施例4に係るSRAMの構成図である。図15は、電圧依存の大きいインバータチェーン132の段数を3段階で調整する場合の例である。本実施例に係るVdd依存発生回路103は、インバータチェーン131及びインバータチェーン132に加えて、インバータチェーン136及び137を有する。このインバータチェーン136及び137が、「第4インバータ」の一例にあたる。また、Vdd依存発生回路103は、セレクタ401~403を有する。また、Vdd依存発生回路103は、NAND回路133を有する。
図16は、セレクタの回路図である。セレクタ401~403は、SEL端子に入力される信号がHで導通、Lで遮断となる。例えば、セレクタ401~403のSEL端子へ入力は、信号として3ビットの信号であるSEL[0:2]であってもよい。その場合、SEL[0:2]のうち選択する段数のセレクタの入力がHでありそれ以外がLである信号がセレクタ401~402に入力されることで、Vdd依存発生回路103は、ネガパルスの幅、すなわちネガパルスが消滅する電圧が切り替わる。
ネガパルスの幅の設定の一例について説明する。ここでは、3ビットの信号であるSEL[0:2]のうち、セレクタ401に入力される信号をSEL[0]、セレクタ402に入力される信号をSEL[1]、セレクタ401に入力される信号をSEL[2]として説明する。Vdd依存発生回路103が出力するネガパルスの幅は、セレクタ401~403のうちSEL端子にHが入力されたものが導通する。そこで、SEL[1]をHとしたときに選択されるインバータチェーン132及び136を合わせた段数は、製造ばらつき中心値で求めた値になるように設定される。また、SEL[0]をHとしたときに選択されるインバータチェーン132の段数は、SEL[1]をHとしたときの段数よりも少なくなる。また、SEL[2]をHとしたときに選択されるインバータチェーン137の段数は、SEL[1]をHとしたときの段数よりも多くなる。
この場合、アシストを解除すべき電圧が製造ばらつきによって中心値からずれて、例えばまだアシストすることが好ましい電圧であるにも関わらずアシストが解除されてしまう場合、SEL[2]がHとされることでパルス幅が広がる。アシストしなくてもよいにもかかわらずアシストが解除されない場合、SEL[0]がHとされることでパルス幅が狭くなる。このように、セレクタ401~403を選択することで、本実施例に係るSRAM10は、製造ばらつきが起きても適切なアシストを実現することができる。
次に、実施例5について説明する。実施例4に示したアシストの解除電圧を調整できるSRAM10を使用するにあたり、製造ばらつきにより解除電圧が中心値からずれてしまった場合にこれを修正することが好ましい。そこで、本実施例では、SRAM10のレプリカを搭載した試験回路50を用いて試験を行い、製造ばらつきにより解除電圧が中心値からずれてしまった場合に、これを修正する調整量を決定して、実際のSRAM10に反映させる。以下の説明では、既に説明した各部の機能については説明を省略する。
図17は、実施例5に係るLSIテスタ、試験回路及びパルス幅設定回路を含む構成図である。本実施例では、LSIテスタ53、試験回路50及びパルス幅設定回路51が設けられる。ここでは、SRAM10は、図15の構成を有する。
LSIテスタ53、試験回路50及びパルス幅設定回路51は、実施例4で説明したSRAM10を使用するにあたり、製造ばらつきにより解除電圧が中心値からずれてしまった場合にこれを修正するためにアシストのタイミングを調整する。試験回路50は、SRAM10に内蔵されたVdd依存発生回路103のパルス消失電圧、即ちアシスト解除電圧の中心値からのずれを調べる。また、パルス幅設定回路51は、試験回路50による試験結果から求められた最適なパルス幅の設定を格納し、その値を図15のSRAM10が有するVdd依存発生回路103のセレクタ401~403のSEL端子に分配する。
LSIテスタ53は、LSI1における各種テストを統括制御する。例えば、LSIテスタ53は、試験回路50及びパルス幅設定回路51によるSRAM10に関する試験を統括制御する。
図18は、実施例5に係る試験回路の構成図である。試験回路50は、図18に示すように、図15に示したSRAM10に内蔵されたVdd依存発生回路103に最小限の回路変更とそれに伴う最小限のレイアウト変更を加えたVdd依存発生回路レプリカ501有する。Vdd依存発生回路レプリカ501を使用することで、試験回路50とSRAM10のVdd依存発生回路103との特性のずれを最小することができる。また、試験回路50は、NAND回路511及び512、インバータ513~515、ダイナミックゲート516~518及びフリップフロップ521~523を有する。
Vdd依存発生回路レプリカ501は、ディレイの電圧依存性が小さいインバータチェーン502及びディレイの電圧依存性が大きいインバータチェーン503~505を有する。インバータチェーン502、504及び505は偶数段であり、インバータチェーン502は奇数段である。インバータチェーン502のEN’端子からの信号により、生成するネガパルスのリーディングエッジが決定される。インバータチェーン503~505のENX’0端子、ENX’1端子及びENX’端子から出力される信号により、生成するネガパルスのトレーディングエッジが決定される。
さらに、Vdd依存発生回路レプリカ501は、セレクタ506~508及びNAND回路509を有する。セレクタ506~508は、例えば図14で示した回路構成を有する。このVdd依存発生回路レプリカ501を有する試験回路50が、「試験実行部」の一例にあたる。
ここで、図15に示したVdd依存発生回路103は、インバータチェーン132、136及び137の出力端子の接続をセレクタ506~508で切替えて1つのNAND回路133に入力することでネガパルス1つを生成する。これに対して、Vdd依存発生回路レプリカ501は、NAND回路509、511及び512の一方の入力端子に共通して、EN’端子が接続される。さらに、NAND回路509の他方の入力端子には、ENX’0端子が接続され、NAND回路511の他方の入力端子には、ENX’1端子が接続され、NAND回路512の他方の入力端子には、ENX’2端子が接続される。これにより、NAND回路509、511及び512は、幅の異なる三つのネガパルスを生成する。NAND回路509、511及び512は、同一形状であることが望ましい。NAND回路509、511及び512の出力はインバータ513~515のそれぞれでポジパルスに変換され、ダイナミックゲート516~518に入力される。
ダイナミックゲート516~518は、例えば、図9に示した回路構成を有する。ダイナミックゲート516~518から出力される信号S[2:0]は、スキャン機能が実装されたポジティブエッジトリガのD型フリップフロップであるフリップフロップ521~523のデータ端子に入力される。フリップフロップ521は、例えば、図19に示す回路構成を有する。図19は、試験回路に搭載されるフリップフロップの回路構成の一例を示す図である。
図20は、実施例5における試験パタンの一例を示す図である。また、図21は、実施例5における試験パタンのタイミング図である。図20及び21を参照して、試験回路50の動作を説明する。パタン#0において、図20の「N」で示されるプリチャージラインPCにおけるネガパルスで、ダイナミックゲート516~518のPC端子は図19に示すように変化する。これにより、ダイナミックゲート516~518から出力される信号S[2:0]はHにプリチャージされる。そして、Hにプリチャージされた信号S[2:0]は、図20の「P」で示されるフリップフロップ521~523のそれぞれのCLK端子のポジパルスにより、フリップフロップ521~523のそれぞれのD端子から取り込まれてすべてHに初期化される。次に、試験パタン#1において、Vdd依存発生回路レプリカ501のインバータチェーン502のEN端子がLからHへ変化する。これにより、図19に示すようにNAND回路509、511及び512の出力に、電圧に応じてネガパルスが発生する。インバータ513~515によりネガパルスは反転されて、ダイナミックゲート516~518のEN端子に入力される。このとき、ダイナミックゲート516~518のうちパルスが発生したものの出力がHからLへ変化する。ダイナミックゲート516~518からのパルス発生の結果は、図21に示すフリップフロップ521~523のそれぞれのCLK端子のポジパルスによりフリップフロップ521~523のそれぞれに取り込まれる。次に、パタン#2及び#3において、フリップフロップ521~523のそれぞれのSM端子は図21に示すように1に設定され、フリップフロップ521~523はスキャンシフトモードになる。そして、フリップフロップ521~523は、CLK端子にポジパルスが入力される度に、取り込んだパルス発生の結果を順次SO端子から出力する。試験回路50は、電圧を変化させながら以上の試験を繰り返すことで、Vdd依存発生回路レプリカ501が出力するネガパルスが消失するインバータチェーン503~505の段数を得ることができる。すなわち、試験回路50は、セレクタ506~508のSEL[2:0]の設定と電圧の相関を得ることができる。
図22は、実施例5における試験結果の一例を示す図である。図22は、測定電圧を最低電圧VminからVmaxまでをV[0:8]の9段階に分割し、各電圧で試験パタン#1を走行させたときのダイナミックゲート516~518から出力された信号S[2:0]の値を低電圧側から順次並べた表を示す。図20の表において出力Lはパルスが発生したことを、出力Hはパルスが発生しなかったことを示す。ここで、アシストすることが好ましい最高電圧は搭載するメモリセル100の数と製造ばらつきに基づいて半導体メーカーが提示する規格値である。ここでは、アシストすることが好ましい最高電圧を、Vminから2ステップ高い値V[2]とする。すなわち、範囲541が、アシストをすることが好ましい電圧域となる。また、アシストを行わない最低電圧は、半導体メーカーの仕様である最大定格電圧からアシストされることでビット線BitがVssより引き下げられる電位差を減じた値とする。ここでは、アシストを行わない最低電圧を、Vmaxから2ステップ低い値V[6]とする。すなわち、範囲542が、アシストを行わない電圧域となる。
この場合、アシストを行うための設定は電圧域V[2:0]で試験結果がL、電圧域V[8:6]でHとなるものが好ましい。この試験結果の例では、信号S[0]及びS[1]がその条件を満たす。しかし、電圧上昇に伴い、より早くアシストが解除される方が消費電力と素子へのストレスが少ないので、信号S[0]が最適な条件となる。したがって、この試験結果の例においては、Vdd依存発生回路103のセレクタ401~403へ入力する信号はSEL[0]をHとする設定が最適となる。
図23は、パルス幅設定回路の一例を示す構成図である。本実施例に係るパルス幅設定回路51は、FUSE素子551~553と読出し回路554~556とのそれぞれ1つずつを組として、図15に示すVdd依存発生回路103のセレクタ401~403の選択信号の数だけ組を有する。図15に示すVdd依存発生回路103はセレクタ401~403に入力される信号であるSEL[2:0]の3ビットで選択を行うため、ここでは3ビットの例について示す。FUSE素子551~553には試験回路50により求められたVdd依存発生回路103に入力される信号であるSEL[2:0]の設定が書き込まれる。読出し回路554~556は、設定の書き込みにより接続されたFUSE素子551~553が切断されるとHを出力、未切断の場合はLを出力する。FUSE素子551~553は、例えば、レーザーヒューズ、電気ヒューズ等が用いられる。読出し回路554~556は、例えば、電源投入直後の短時間にFUSE素子551~553に電流を流して切断有無を判定し、ラッチに格納するものなどがある。
図24は、実施例5に係る試験回路及びパルス幅設定回路の運用のフローチャートである。次に、図24を参照して、本実施例に係る試験回路50及びパルス幅設定回路51の運用の流れについて説明する。ここでは、Vdd依存発生回路103が、セレクタ401~403に入力される信号であるSEL[2:0]の3ビットで選択を行う場合を例に説明する。以下では、それぞれのビットの信号をS[n](n=0,1,2)と表す。
試験時開始時に、LSIテスタ53は、電源の電圧VをVminに設定する(ステップS201)。
そして、試験回路50は、例えば図18に示す予め決められた試験パタンを1回走行させる(ステップS202)。
次に、LSIテスタ53は、電源の電圧VがVmax以上か否かを判定する(ステップS203)。電圧VがVmax未満の場合(ステップS203:否定)、LSIテスタ53は、電源の電圧Vを予め決められたステップ分だけ昇圧(V=V+step)する(ステップS204)。その後、処理は、ステップS202へ戻る。
これに対して、電圧VがVmax以上の場合(ステップS203:肯定)、LSIテスタ53は、試験結果を収集して図20に示すような試験結果を得る(ステップS205)。
次に、LSIテスタ53は、SEL[n]のLの数L[n]及びHの数H[n]を取得する(ステップS206)。具体的には、LSIテスタ53は、全ての電圧Vを通じて各出力に発生したパルスの数、すなわち信号S[n]にLが出力された数をそれぞれテスタプログラム上の変数L[n]として格納する。また、LSIテスタ53は、発生しなかった、すなわちHが出力された数をテスタプログラム上の変数H[n]として格納する。
ここで、図20の範囲541に示すようなアシストをすることが好ましい電圧域のステップ数をLPとし、範囲542に示すようなアシストを行わない電圧域のステップ数をHPとすると適切なパルスの条件はH[n]≧HP且つL[n]≧LPとなる。
そこで、LSIテスタ53は、n=0とする(ステップS207)。次に、LSIテスタ53は、nが2以下かを判定する(ステップS208)。nが2より大きい場合(ステップS208:否定)、LSIテスタ53は、試験対象のSRAM10が不良であると判定して(ステップS209)、試験を終了する。
これに対して、nが2以下の場合(ステップS208:肯定)、LSIテスタ53は、H[n]≧HP且つL[n]≧LPであるか否かを判定する(ステップS210)。H[n]がHP未満もしくはL[n]がLP未満又はその両方の場合(ステップS210:否定)、LSIテスタ53は、nを1つインクリメントして(ステップS211)、ステップS208へ戻る。
これに対して、H[n]≧HP且つL[n]≧LPである場合(ステップS210:肯定)、LSIテスタ53は、その時点でのS[n]が最適なネガパルスの幅となると判定して、HとするS[k]をその時点でのS[n]として、k=nとする(ステップS212)。
次に、LSIテスタ53は、S[k]をHとするようにパルス幅設定回路51に書き込む(ステップS213)。これにより、パルス幅設定回路51のFUSE素子551~553のうちS[k]に対応するものが切断される。これによってSRAM10のVdd依存発生回路103に最適なパルス幅が設定される。
その後、LSIテスタ53は、通常のLSI試験を実施する(ステップS214)。そして、LSIテスタ53は、試験結果に基づいて、設定が行われたSRAM10の良否判定を行う(ステップS215)。
以上に説明したように、本実施例に係る試験回路及びパルス幅設定回路は、SRAMに搭載されたVdd依存発生回路のレプリカを用いて、SRAMに最適なパルス幅を特定し、その特定したパルス幅となるようにセレクタへの信号の入力を決定する。これにより、製造ばらつきによるアシストの解除電圧の中心値からのずれを意識することなく自動で最適なアシストの解除電圧に修正することができる。
次に、実施例6について説明する。実施例5ではアシストをすることが好ましい最高電圧は、搭載するメモリセル100の数と製造ばらつきに基づいて半導体メーカーが提示する規格値を用いた。この規格値はメモリセル100のでき上がり中心の変動もカバーする為にマージンを含んだものであり、メモリセル100の実際のでき上がり中心値によってはアシストが過剰になる。そこで、アシストは、メモリセル100の実際のでき上がりに合わせた設定を用いることがより好ましい。
本実施例に係るパルス幅設定回路51は、スキャンシフトでSRAM10のVdd依存発生回路103のパルス幅を変えることができることが実施例5と異なる。図25は、実施例6に係るパルス幅設定回路の構成図である。以下の説明では、既に説明した各部の機能については説明を省略する。
パルス幅設定回路51は、図15に示したVdd依存発生回路103のセレクタ401~403に入力される信号であるSEL[2:0]に対応するフリップフロップ521~523の出力が以下のように接続される。フリップフロップ532の出力がフリップフロップ522の入力に接続され、フリップフロップ522の出力がフリップフロップ521の入力に接続される。これによってCK端子にポジパルスを入力する度にSI端子から入力されたデータがフリップフロップ523、フリップフロップ522、フリップフロップ521の順番にスキャンシフトで格納される。
図26は、実施例6に係る試験回路及びパルス幅設定回路の運用のフローチャートである。次に、図26を参照して、本実施例に係る試験回路50及びパルス幅設定回路51の運用の流れについて説明する。ここでは、Vdd依存発生回路103が、セレクタ401~403に入力される信号であるSEL[2:0]の3ビットで選択を行う場合を例に説明する。以下では、それぞれのビットの信号をS[n](n=0,1,2)と表す。
試験時開始時に、LSIテスタ53は、試験回路50に入力される電源の電圧VをVminに設定する(ステップS301)。
そして、試験回路50は、例えば図18に示す予め決められた試験パタンを1回走行させる(ステップS302)。
次に、パルス幅設定回路51は、SRAM10に内蔵されたVdd依存発生回路103のSEL[2:n]=0として初期化する(ステップS303)。
次に、試験回路50は、SEL[n]におけるnを0に設定する(ステップS304)。
次に、試験回路50は、SEL[n]をHに設定する(ステップS305)。
次に、試験回路50は、スキャンでパルス幅設定回路51にSEL[2:0]を書き込む(ステップS306)。これにより、SRAM10に内蔵されたVdd依存発生回路103のSEL[2:n]にSEL[n]をHとした信号が入力される。
その後、LSIテスタ53は、SRAM10のSRAMファンクション試験を実行する(ステップS307)。
次に、試験回路50は、nが最大数である2以上かを判定する(ステップS308)。nが2未満の場合(ステップS308:否定)、パルス幅設定回路51は、SRAM10に内蔵されたVdd依存発生回路103のSEL[2:n]=0として初期化する(ステップS309)。
次に、試験回路50は、SEL[n]におけるnを1つインクリメントする(ステップS310)。その後、試験回路50は、ステップS305へ戻る。
これに対して、nが2以上の場合(ステップS308:肯定)、試験回路50は、電源の電圧VがVmax以上か否かを判定する(ステップS311)。電圧VがVmax未満の場合(ステップS311:否定)、LSIテスタ53は、電源の電圧Vを予め決められたステップ分だけ昇圧(V=V+step)する(ステップS312)。その後、処理は、ステップS302へ戻る。
これに対して、電圧VがVmax以上の場合(ステップS311:肯定)、試験回路50は、試験結果を収集する(ステップS313)。図27は、実施例6で得られる試験結果の一例の図である。例えば、試験回路50は、図27に示すような、テストパタンを走行させて得た試験結果601及びSRAMファンクション試験結果602を得る。図27に示すように、テストパタンを走行させて得た試験結果601は、実施例5と同様の試験結果が得られる。試験結果601における範囲603は、アシストを行わない電圧域である。これに対して、SRAMファンクション試験結果602は、各パルス幅設定におけるSRAM10の機能が正常に動作したか否かの結果について正常に動作した場合をP(Pass)、失敗した場合をF(Fail)として電圧ステップ毎に集計した情報を表す。この場合、SRAMファンクション試験結果602において、Fが登録されたパルス幅は使用に適さない。
ここで、図27の試験結果から得られる適切なパルス幅の条件は、全電圧でSRAM10の機能が正常に動作し、且つ、アシストを行わない電圧域ではパルスが発生しないことである。そして、図27の場合、これらの条件を満たす信号は、s[1]、s[2]であるがこのうち、パルス幅の狭いs[1]の方が電力とメモリセル100へのストレス緩和の観点で最適となる。そこで以下に示すように、LSIテスタ53は、この最適なパルス幅を求める計算を実行する。
次に、LSIテスタ53は、試験回路50による試験結果から全電圧を通じて各出力に発生したパルスが発生しなかった、すなわち試験結果601におけるSEL[n]のHの数をカウントしてH[n]として格納する(ステップS314)。
また、LSIテスタ53は、SRAMファンクション試験結果602におけるSEL[n]のFの数をカウントしてF[n]として格納する(ステップS315)。
ここで、実施例5と同様にアシストを行わない電圧ステップ数がHPである場合、適切なパルスの条件はH[n]≧HP且つF[n]=0である。図25の場合HPは3である。
この条件を満たすnが複数ある場合はパルス幅が最も狭いものが最適であるが、これはn=0から判定して最初に条件を満たしたnを選択すれば良い。
LSIテスタ53は、n=0とする(ステップS316)。
次に、LSIテスタ53は、nが2以下か否かを判定する(ステップS317)。nが2より大きい場合(ステップS317:否定)、LSIテスタ53は、試験対象のSRAM10が不良であると判定して(ステップS318)、試験を終了する。
これに対して、nが2以下の場合(ステップS317:肯定)、LSIテスタ53は、H[n]≧HP且つF[n]≧0であるか否かを判定する(ステップS319)。H[n]がHP未満もしくはF[n]が0未満又はその両方の場合(ステップS319:否定)、LSIテスタ53は、nを1つインクリメントして(ステップS320)、ステップS317へ戻る。
これに対して、H[n]≧HP且つF[n]≧0である場合(ステップS319:肯定)、LSIテスタ53は、その時点でのS[n]が最適なネガパルスの幅となると判定して、HとするS[k]をその時点でのS[n]として、k=nとする(ステップS321)。
そして、LSI1の起動時に、パルス幅設定回路51は、SEL[k]=HをスキャンでSRAM10のVdd電圧依存回路103にスキャンで設定する(ステップS322)。例えば、得られた最適なパルス幅を与えるSEL[2:0]の値を、LSI1外部のROM(Read Only Memory)などに記憶させ、パワーオン時にJTAG(Joint Test Action Group)等でパルス幅設定回路51へ送り込むことで設定が行われる。
以上に説明したように、本実施例6に係る方法によればアシストを行うことが好ましい電圧を半導体メーカーが提示するマージンを含んだ規格値ではなく、実際のメモリセルの実力に合わせること可能となる。したがって、結果としてアシストによる電力とメモリセルへのストレスを最小に抑えることが可能になる。
また、本実施例に係る方法によれば、アシストを解除する電圧を変えながらSRAMの試験が可能となる。したがって、メモリセルの実際のできあがりに合わせた設定が可能になる。その結果として、アシストを解除する電圧として、最も省電力且つメモリセルに印加されるストレスを最小にする電圧を設定することが可能となる。
次に、実施例7について説明する。図28は、実施例7に係るパルス幅設定回路の構成図である。本実施例に係る試験回路50は、図18に示した試験回路50と同様である。
パルス幅設定回路51は、FUSE素子551~553と読出し回路554~556と、フリップフロップ521~523とのそれぞれ1つずつを組として、図13に示すVdd依存発生回路103のセレクタ401~403の選択信号の数だけ組を有する。
フリップフロップ521~523は、スキャン機能が実装されたポジティブエッジトリガのD型フリップフロップである。フリップフロップ521~523は、データ入力端子に読出し回路554~556の出力端子が接続される。
フリップフロップ521~523は、SM端子がLのときは、FUSE素子551~553から読み出されたデータを取得する。また、フリップフロップ521及び522は、SM端子がHのときは、スキャンシフトで前段のフリップフロップ522又は523の出力を取り込む。
図29は、実施例7に係る試験回路及びパルス幅設定回路の運用のフローチャートである。次に、図29を参照して、本実施例に係る試験回路50及びパルス幅設定回路51の運用の流れについて説明する。
LSIテスタ53、試験回路50及びパルス幅設定回路51は、電源電圧とパルス消失及びSRAMファンクション試験との相関取得処理を実行する(ステップS401)。例えば、LSIテスタ53、試験回路50及びパルス幅設定回路51は、この処理にあたる具体的な処理として、図26に示したフローにおけるステップS301~S311の処理を実行する。
次に、LSIテスタ53、試験回路50及びパルス幅設定回路51は、Vdd依存発生回路103のセレクタ401~403の選択信号であるSEL[2:0]の決定処理を実行する(ステップS402)。例えば、LSIテスタ53、試験回路50及びパルス幅設定回路51は、この処理にあたる具体的な処理として、図26に示したフローにおけるステップS313~S321の処理を実行する。
その後、パルス幅設定回路51は、FUSE素子551~553のうち、Hと決定されたSEL[k]に対応するFUSE素子[k]を切断する(ステップS403)。
本実施例に係る方法によれば、全てのパルス幅設定についてSRAMファンクション試験を行った結果を反映し、製造ばらつきに応じた最適なパルス幅を決定することができる。さらに、本実施例に係る方法によれば、最適なパルス幅の決定結果をFUSE素子に書込むことでシステム運用時には外部ROMなどから設定をロードしなくてもよく、運用コストを抑えることができる。
次に、実施例8について説明する。図30は、実施例8に係る試験回路及びパルス幅設定回路を含む構成図である。本実施例では、図15に示したアシストを解除する電圧を調整可能なSRAM10を使用するにあたり、アシストを解除する電圧を、SRAMファンクション試験の結果を基に設定する。本実施例では、試験及びパルス幅設定回路801が設けられる。
図31は、試験及びパルス幅設定回路の構成図である。試験及びパルス幅設定回路801は、各電圧においてSRAM10に内蔵されたVdd依存発生回路103で発生するネガパルスが消失する設定を検出しその設定を保持する。さらに、試験及びパルス幅設定回路801は、保持した設定を各SRAM10に内蔵されたVdd依存発生回路103のセレクタ401~403を選択する信号であるSEL[2:0]として設定する。
試験及びパルス幅設定回路801は、Vdd依存発生回路レプリカ501、NAND回路511~512、インバータ513~515、ダイナミックゲート516~518、XOR回路811~813及びフリップフロップ521~523を有する。Vdd依存発生回路レプリカ501、NAND回路511~512、インバータ513~515及びダイナミックゲート516~518は、実施例5と同様の動作を行う。
XOR回路811~813は、一方の入力端子がそれぞれ、ダイナミックゲート516~518の出力端子に接続される。また、XOR回路811の他方の入力端子は、ダイナミックゲート517の出力端子に接続される。また、XOR回路812の他方の入力端子は、ダイナミックゲート518の出力端子に接続される。また、XOR回路813の他方の入力端子は、Vssに接続される。
XOR回路811は、ダイナミックゲート516及び517から出力される信号P[0]及びP[1]の排他的論理和である信号S[0]を出力する。また、XOR回路812は、ダイナミックゲート517及び518から出力される信号P[1]及びP[2]の排他的論理和であるS[1]を出力する。また、XOR回路813は、ダイナミックゲート518から出力される信号P[2]とVssとの排他的論理和である信号S[2]出力する。
フリップフロップ521~523は、各XOR回路811~813から出力されたそれぞれの信号S[2:0]を取り込む。
図32は、パルス消失設定検出パタンの一例を示す図である。また、図33は、パルス消失設定パタンのタイミング図である。
試験及びパルス幅設定回路801は、パルス消失設定検出パタン820におけるパタン#00を走行させることで、フリップフロップ521~523を1にクリアする。次に、試験及びパルス幅設定回路801は、パルス消失設定検出パタン820におけるパタン#01を走行させることで、フリップフロップ521~523に取り込まれるパルスが発生する。各パタン#00及び#01を走行させる場合に、試験及びパルス幅設定回路801は、実際には図31に示すタイミングで各信号を変化させる。
図34は、パルス消失設定検出パタンを走行させたときの内部信号の変化を示す図である。ここで、内部信号は、ダイナミックゲート516~518から出力される信号P[2:0]及び、XOR回路811~813から出力される信号S[2:0]である。
電源電圧を変化させながらパルス消失設定検出パタン820を走行させると、信号P[2:0]及びS[2:0]は、図32に示すように変化する。このように各電圧においてP[2]からP[0]へとパルス幅を狭くしていったとき、パルスが消失する変化ポイントで、パルスの消失に対応するXOR回路811~813からHが出力され、それ以外はLとなる。すなわち、試験及びパルス幅設定回路801は、アシストを行わない電圧より低い電圧でパルス消失設定検出パタン820を走行させることで、パルスが消失する電圧に応じた、アシストを解除する電圧をVdd依存発生回路103に設定することができる。この後、LSIテスタ53によるSRAMファンクション試験をパスすれば、SRAM10は、設定された電圧でアシスト解除しても問題ないことが確認される。
図35は、実施例8に係る試験及びパルス幅設定回路の運用のフローチャートである。次に、図35を参照して、本実施例に係る試験及びパルス幅設定回路801の運用の流れについて説明する。
試験時開始時に、LSIテスタ53は、電源の電圧VをVminに設定する(ステップS501)。
そして、試験及びパルス幅設定回路801は、例えば図30に示す予め決められたパルス消失設定検出パタン820を1回走行させる(ステップS502)。これにより、試験及びパルス幅設定回路801は、SRAM10のVdd依存発生回路103に電圧Vでアシストが解除される設定を行う。
電圧Vでのアシストの解除が設定された状態で、LSIテスタ53は、SRAM10に対してSRAMファンクション試験を実行する。そして、LSIテスタ53は、SRAM10がSRAMファンクション試験をパスしたか否かを判定する(ステップS503)。
SRAMファンクション試験をパスした場合(ステップS503:肯定)、LSIテスタ53は、電圧Vを予め決められたステップ分の電圧下げる(ステップS504)。その後、処理は、ステップS502へ戻る。
これに対して、SRAMファンクション試験がフェイルした場合(ステップS503:否定)、LSIテスタ53は、その時点での電圧Vよりも1ステップ高い電圧を、最適なアシストを解除する電圧であるVpsetとする。すなわち、LSIテスタ53は、Vpset=V+stepとする(ステップS505)。次に、LSIテスタ53は、Vpsetを試験及びパルス幅設定回路801に通知する。
試験及びパルス幅設定回路801は、電圧VをVpsetとする(ステップS506)。
そして、試験及びパルス幅設定回路801は、パルス消失設定検出パタン820を再走行させて(ステップS507)、SRAM10のアシストを解除する電圧をVpsetに設定し直す。
その後、LSIテスタ53は、SRAM10に対して通常のLSI試験を実行する(ステップS508)。そして、LSIテスタ53は、LSI試験の結果を基に良否判定を行う(ステップS509)。
図36は、実施例8におけるSRAMが搭載されたシステムの動作のフローチャートである。次に、図36を参照して、本実施例に係る試験及びパルス幅設定回路801により設定が行われたSRAM10が搭載されたシステムの動作の流れについて説明する。試験及びパルス幅設定回路801は、図35のフローのステップS506において決定したVpsetを例えばLSI1の外部のROMに書き込む。
LSI1は、パワーオンされて起動する(ステップS511)。
LSI1は、LSI起動プログラムで外部のROMからVpsetを読み出して電圧VをVpsetに設定する(ステップS512)。
次に、LSI1は、パルス消失設定検出パタン820を走行させて、LSI1内のSRAM10のVdd依存発生回路103にアシストを解除する電圧を設定する(ステップS513)。
その後、LSI1は、電源オフさせずに、電圧Vを通常設定に戻す(ステップS514)。そして、LSI1は、通常運用に移行する(ステップS515)。
以上に説明したように、本実施例に係る試験及びパルス幅設定回路は、SRAMファンクション試験を行いながらアシスト解除電圧を徐々に下げていきながらアシスト解除電圧の下限を特定する。これにより、試験及びパルス幅設定回路は、半導体メーカーが提示する規格値に制約されることなく、そのときのメモリセルのできあがりに合ったアシストを解除する電圧の下限を設定することができる。したがって、アシストによる電力増とメモリセルへのストレスを最小限に抑えることができる。