以下、本発明の実施の形態について、図面を用いて説明する。
[第1の実施形態]
図1は、第1の実施形態の半導体装置の構成を表わす図である。
この半導体装置は、複数個のマスクROM用のメモリセルCLと、ワード線WLと、ビット線対Bit、Bitnと、差動センスアンプ503と、出力ラッチ504と、論理回路505とを備える。
ワード線WLは、メモリセルCLに接続される。
ビット線対Bit、Bitnは、メモリセルCLに接続される。
差動センスアンプ503は、ビット線対Bit、Bitnの電位差を増幅する。
論理回路505は、ビット線対Bit、Bitnに接続される。論理回路505は、ビット線対Bit、Bitnの論理状態の一致もしくは不一致を検出する。
出力ラッチ504は、論理回路505の出力をラッチする。
以上のように、本実施の形態によれば、ビット線対に接続される論理回路を備えることによって、マスクROM用のメモリセルに故障がある場合に、テスト時に期待値通りの判定をし、その結果テストをパスしてしまうのを防止できる。
[第2の実施形態]
図2は、第2の実施形態の半導体装置の構成を表わす図である。
図2を参照して、この半導体装置は、アドレスプリデコーダ101と、制御回路102と、ロウデコーダ103と、メモリアレイ104と、I/O回路107とを備える。
アドレスプリデコーダ101は、それぞれが、アドレス信号Aの異なるビットを保持する複数のラッチ110−1〜110−と、ラッチ110−1〜110−5から出力されるアドレス信号Aのビットをデコードするプリデコーダ111−1〜111−5を備える。
メモリアレイ104は、行列状に配置された複数の複数個のマスクROM用のメモリセルを含む。
ロウデコーダ103は、プリデコーダ111−1〜111−5のデコード結果に従って、メモリアレイ104内の複数のワード線WLの中から1つを選択し、選択したワード線WLを活性化する。
制御回路102は、ラッチ110aと、内部クロック生成回路112と、制御ロジック回路108とを備える。
ラッチ110aは、クロックイネーブル信号CENがイネーブルのときに、制御ロジック回路108からの制御信号をラッチする。
内部クロック生成回路112は、外部クロックCLKから内部クロックCLKBを生成して、内部クロックCLKBを制御ロジック回路108などに供給する。
制御ロジック回路108は、テストモード(第1のモード)時の動作(テスト信号レベル)などを制御する。なお、制御ロジック回路108は、マスクROM外部から、テストモードと後述する通常モードを切り替えるモード切替信号を受け、テストモードに切り替わると内部制御信号(Test、(Test1,Test2)等)の生成を行う。
I/O回路107は、プリチャージ回路+CSLドライバ群105と、カラムセレクタ群106と、差動センスアンプ群310と、出力ラッチ群211とを備える。
図3は、内部クロック生成回路112の構成を表わす図である。
図3に示すように、内部クロック生成回路112は、インバータ51と、インバータ52と、NAND回路53と、NAND回路54と、インバータ55と、遅延回路56とを備える。
インバータ51は、外部クロックCLKを受けて、外部クロックCLKを反転した信号を出力する。
インバータ52は、インバータ51の出力を受けて、インバータ51の出力を反転した信号MKPLSDを出力する。
NAND回路53は、制御ロジック回路108がマスクROM外部からモード切替信号を受けて生成する信号PGEと、信号MKPLSDを受けて、信号PGEと信号MKPLSDの否定論理積を出力する。
遅延回路56は、NAND回路53の出力を受けて、信号PLSWを出力する。
NAND回路54は、外部クロックCLKと、信号PLSWを受けて、外部クロックCLKと信号PLSWの否定論理積を出力する。
インバータ55は、NAND回路54の出力を受けて、NAND回路54の出力を反転した内部クロックCLKBを出力する。
図4は、通常モード(第2のモード)時に生成される内部クロックCLKBのパルス幅を説明するための図である。ここで、通常モードとは、通常動作を行う時のモード、及び出荷時テストにおいて通常動作時の状態をテストするときのモードである。
外部クロックCLKが立ち上がると、NADN回路54およびインバータ55による遅延時間(α1)の後、内部クロックCLKBが立ち上がる。
一方、外部クロックCLKが立ち上がると、インバータ51、52による遅延時間(α2)の後、信号MKPLSDが立ち上がる。通常モードでは、PGEは「H」レベルのため、遅延回路56による遅延時間(DELAY)の後、信号PLSWは立ち下がる。その後、信号PLSWの立ち下がりからNADN回路54およびインバータ55による遅延時間(α1)の後、内部クロックCLKBが立ち下がる。
したがって、内部クロックCLKBがハイレベルとなる期間の長さは、DELAY+α1である。
図5は、テストモード時に生成される内部クロックCLKBのパルス幅を説明するための図である。
外部クロックCLKが立ち上がると、NADN回路54およびインバータ55による遅延時間(α1)の後、内部クロックCLKBが立ち上がる。
一方、外部クロックCLKが立ち上がると、インバータ51、52による遅延時間(α2)の後、信号MKPLSDが立ち上がる。テストモードでは、PGEは「L」レベルのため、信号PLSWは「H」レベルを維持する。
外部クロックCLKが立ち下がると、信号PLSWは「H」レベルのため、NADN回路54およびインバータ55による遅延時間(α1)の後、内部クロックCLKBが立ち下がる。
したがって、内部クロックCLKBがハイレベルとなる期間は、外部クロックCLKが「H」レベルとなる期間の長さ(DT)である。
図6は、第2の実施形態におけるメモリアレイ104およびI/O回路107の第i列における一部の構成を表わす図である。
図6を参照して、メモリアレイ104の第i列は、複数のメモリセルを含むが、本実施の形態では、3つのメモリセルCL_000、CL_xxx、CL_yyyを代表して示す。
メモリアレイ104は、メモリセルCL_000、CL_xxx、CL_yyyに接続されるワード線WL_000、WL_xxx、WL_yyyと、ビット線Bit、Bitnと、ソース線SLと、切替器161とを備える。
切替器161は、ソース線SLを電源vddまたはグランドGNDに接続する。
メモリセルCL_000は、NチャネルMOSトランジスタTR−A、TR−Bとからなる。NチャネルMOSトランジスタTR−Aは、ビット線Bit上のノードN1_000と、ソース線SL上のノードS_000との間に設けられる。NチャネルMOSトランジスタTR−Aのゲートは、ワード線WL_000に接続される。NチャネルMOSトランジスタTR−Bは、ビット線Bitn上のノードN2_000と、ソース線SL上のノードS_000との間に設けられる。NチャネルMOSトランジスタTR−Bのゲートは、ワード線WL_000に接続される。
ここで、NチャネルMOSトランジスタTR−Aと、ソース線SL上のノードS_000との間には、プログラムコンタクタが存在する。したがって、NチャネルMOSトランジスタTR−Aがオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Aを介してビット線Bitに伝送される。
一方、NチャネルMOSトランジスタTR−Bと、ソース線SL上のノードS_000との間には、プログラムコンタクタが存在しない。したがって、NチャネルMOSトランジスタTR−Bがオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Bを介してビット線Bitnに伝送されない。
メモリセルCL_xxxは、NチャネルMOSトランジスタTR−1、TR−2とからなる。NチャネルMOSトランジスタTR−1は、ビット線Bit上のノードN1_xxxと、ソース線SL上のノードS_xxxとの間に設けられる。NチャネルMOSトランジスタTR−1のゲートは、ワード線WL_xxxに接続される。NチャネルMOSトランジスタTR−2は、ビット線Bitn上のノードN2_xxxと、ソース線SL上のノードS_xxxとの間に設けられる。NチャネルMOSトランジスタTR−2のゲートは、ワード線WL_xxxに接続される。
ここで、NチャネルMOSトランジスタTR−1と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在する。したがって、NチャネルMOSトランジスタTR−1がオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しない。したがって、NチャネルMOSトランジスタTR−2がオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されない。
メモリセルCL_yyyは、NチャネルMOSトランジスタTR−C、TR−Dとからなる。NチャネルMOSトランジスタTR−Cは、ビット線Bit上のノードN1_yyyと、ソース線SL上のノードS_yyyとの間に設けられる。NチャネルMOSトランジスタTR−Cのゲートは、ワード線WL_yyyに接続される。NチャネルMOSトランジスタTR−Dは、ビット線Bitn上のノードN2_yyyと、ソース線SL上のノードS_yyyとの間に設けられる。NチャネルMOSトランジスタTR−Dのゲートは、ワード線WL_yyyに接続される。
ここで、NチャネルMOSトランジスタTR−Cと、ソース線SL上のノードS_yyyとの間には、プログラムコンタクタが存在しない。したがって、NチャネルMOSトランジスタTR−Cがオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Cを介してビット線Bitに伝送されない。
一方、NチャネルMOSトランジスタTR−Dと、ソース線SL上のノードS_yyyとの間には、プログラムコンタクタが存在する。したがって、NチャネルMOSトランジスタTR−Dがオンのときに、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Dを介してビット線Bitnに伝送される。
ワード線活性化前にビット線対をあらかじめ一定電位にするためのプリチャージ回路50は、PチャネルMOSトランジスタTR−3、TR−4、TR−5を備える。PチャネルMOSトランジスタTR−3は、電源vddと、ビット線Bit上のノードND1との間に設けられる。PチャネルMOSトランジスタTR−3のゲートは、プリチャージ信号PCを受ける。PチャネルMOSトランジスタTR4は、電源vddと、ビット線Bitn上のノードND2との間に設けられる。PチャネルMOSトランジスタTR4のゲートは、プリチャージ信号PCを受ける。PチャネルMOSトランジスタTR−5は、ビット線Bit上のノードND1とビット線Bitn上のノードND2との間に設けられる。PチャネルMOSトランジスタTR4のゲートは、プリチャージ信号PCを受ける。
カラムセレクタ58は、PチャネルMOSトランジスタTR−6と、TR−7を備える。PチャネルMOSトランジスタTR−6は、ビット線Bit上のノードN1_yyyと、ノードND3との間に設けられる。PチャネルMOSトランジスタTR−6は、ビット線Bit上のノードN2_yyyと、ノードND4との間に設けられる。PチャネルMOSトランジスタTR−6、TR−7のゲートは、カラム選択信号C_SEL<i>を受ける。
PチャネルMOSトランジスタTR−6のゲートおよびPチャネルMOSトランジスタTR−7のゲートは、カラム選択信号C_SEL<i>を受ける。
差動センスアンプ10は、ビット線Bit上のノードND3の電圧と、ビット線Bitn上のノードND4の電位差を増幅する。
論理回路245は、ビット線対Bit、Bitnに接続される。
論理回路245は、インバータIV1、IV2と、排他的論理和回路EORを含む。
インバータIV1は、ビット線Bit上のノードND3と接続し、ビット線Bitの電圧を受ける。インバータIV2は、ビット線Bitn上のノードND4と接続し、ビット線Bitnの電圧を受ける。インバータIV1とインバータIV2とは、同一の特性を有し、閾値電圧は、同一である。
ここで、カラムセレクタ58は、PチャネルMOSトランジスタTR−6、TR−7で構成されているので、インバータIV1,IV2の入力は、プリチャージレベル(vddレベル)からPチャネルMOSトランジスタTR−6、TR7の閾値電圧P_Vthだけ小さな値までしか下がらない。したがって、インバータIV1,IV2の閾値電圧は、vdd/2よりも高めに設定される。なお、カラムセレクタ58をCMOSトランジスタで構成した場合、インバータIV1,IV2の閾値電圧は、vdd/2に設定すればよい。
排他的論理和回路EORは、インバータIV1の出力と、インバータIV2の出力との排他的論理和を表わすラッチ信号QTを出力する。
マルチプレクサMUXは、排他的論理和回路EORの出力信号QTと、差動センスアンプ10の出力信号QNとを受ける。マルチプレクサMUXは、テスト信号Testが「H」レベルに活性化されている場合には、信号QTを出力する。マルチプレクサMUXは、テスト信号Testが「L」レベルに非活性化されている場合には、信号QNを出力する。
図7は、第i列における差動センスアンプ10の構成を表わす図である。
差動センスアンプ10は、プリチャージおよびイコライズ部220と、増幅部230と、バッファ部240とを備える。
プリチャージおよびイコライズ部220は、データ読出線CTBと電源電圧vddとを接続するためのPチャネルMOSトランジスタP3と、データ読出線CBBと電源電圧vddとを接続するためのPチャネルMOSトランジスタP4と、データ読出し線CTBとCBBとを接続するためのPチャネルMOSトランジスタP5とを備える。PチャネルMOSトランジスタP3、P4、P5のゲートは、イコライズ信号EQBを受ける。なお、イコライズ信号EQBは図示しないが、制御ロジック回路108で生成される。
増幅部230は、PチャネルMOSトランジスタP6、P7と、NチャネルMOSトランジスタN1、N2、N3とを備える。
PチャネルMOSトランジスタP6は、電源電圧vddと、データ読出線CTBのノードND3との間に設けられる。NチャネルMOSトランジスタN1は、データ読出線CTBのノードND3とノードND5との間に設けられる。PチャネルMOSトランジスタP7は、電源電圧vddと、データ読出線CBBのノードND4との間に設けられる。NチャネルMOSトランジスタN2は、データ読出線CBBのノードND4とノードND5との間に設けられる。NチャネルMOSトランジスタN3は、ノードND5とグランドGNDとの間に設けられる。
PチャネルMOSトランジスタP6のゲートとNチャネルMOSトランジスタN1のゲートは、ノードND6に接続される。PチャネルMOSトランジスタP7のゲートとNチャネルMOSトランジスタN2のゲートは、ノードND9に接続される。NチャネルMOSトランジスタN3のゲートは、センスアンプ活性化信号SAEを受ける。センスアンプ活性化信号SAEが「H」レベルに活性化されるときに、増幅部230は増幅動作を行なう。
バッファ部240は、IV11と、PチャネルMOSトランジスタP8、P10と、NチャネルMOSトランジスタN5、N6とを備える。
なお、センスアンプ活性化信号SAEは図示しないが、制御ロジック回路108で生成される。
PチャネルMOSトランジスタP8は、電源電圧vddとノードND7との間に設けられる。
NチャネルMOSトランジスタN5は、グランドGNDとノードND7との間に設けられる。
PチャネルMOSトランジスタP8のゲートおよびNチャネルMOSトランジスタN5のゲートは、データ読出線CTBに接続される。
PチャネルMOSトランジスタP10およびNチャネルMOSトランジスタN6は、電源電圧vddと、グランドGNDとの間に設けられる。PチャネルMOSトランジスタP10のゲートおよびNチャネルMOSトランジスタN6のゲートは、データ読出線CBBに接続される。
インバータIV11は、ノードND7の電圧を受けて、ラッチ信号QNを出力する。
図8は、差動センスアンプの動作を説明するための図である。
ここでは、図6のメモリセルCL_xxxに着目した動作を説明する。
ワード線WL_xxxが活性化され、ソース線SLがグランドGNDと接続すると、ビット線Bitの電位が減少し、ビット線Bitnの電位は、プリチャージレベル(vddレベル)を維持する。
このとき、カラム選択信号C_SEL<i>が「L」レベルに立ち下がり、イコライズ信号EQBが「H」レベルに立ち上がる。これにより、PチャネルMOSトランジスタP1およびP2がオンとなり、ビット線Bitとデータ読出線CTBが接続され、ビット線Bitnとデータ読出線CBBが接続される。また、PチャネルMOSトランジスタP3、P4、P5によるデータ読出線CBTとCBBのプリチャージおよびイコライズが終了する。
ワード線WLの活性化が終了したタイミングで、センスアンプ活性化信号SAEが活性化される。これによって、増幅部230による増幅動作が開始し、データ読出線CTBの電圧が「L」レベルに減少し、ラッチ信号QNが「L」レベルに変化する。
(通常モード時の動作)
図9は、第2の実施形態において、通常モード時に生成される信号の時間変化を表わす図である。
ここでは、図6のメモリセルCL_xxxに着目し、通常モード時のメモリセルCL_xxxの読出し動作を説明する。
図示しないが、通常モード時には、制御ロジック回路108によって、テスト信号Testは、「L」レベルとなる。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧が、プリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、通常モード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図4に示すような通常モード時のクロックCLKBのパルス幅となり、テストモード時に比べて短い。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−A、TR−Bがオンとなる。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。
通常モード時には、テスト信号Testが「L」レベルとなるため、マルチプレクサMUXは、差動センスアンプ10から出力されるラッチ信号QNを出力ラッチ11へ供給する。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図9の破線で示すように、ビット線Bitの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10の仕上がりによって、ビット線Bitが「L」レベルだとセンスし易いオフセットを持っていた場合、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。その結果、製造時の不良がないときと同様に、出力ラッチ11からの出力信号Qは、「L」レベルとなる。そのため、この半導体装置が、後述するようなテストモードを持たない場合に、出荷テストがパスしてしまうことになる。
しかしながら、NチャネルMOSトランジスタTR−1、TR−2は、ともにソース線SLとは非接続のため、市場での実動作時には、ノイズの影響を受け易いことが考えられる。その結果、出力ラッチ11からの出力信号Qが、不安定となり、「H」レベルとなることもあり、誤動作のリスクがある。
(テストモード時の動作)
図10は、第2の実施形態において、テストモード時に生成される信号の時間変化を表わす図である。
ここでは、図6のメモリセルCL_xxxに着目し、テストモード時のメモリセルCL_xxxのプログラムの異常の検出について説明する。
図示しないが、テストモード時には、制御ロジック回路108によって、テスト信号Testは、「H」レベルとなる。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧が、プリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、テストモード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−A、TR−Bがオンとなる。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧はプリチャージレベル(vddレベル)を維持する。
テストモードにおいても、差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅するが、テストモードにおいては、差動センスアンプ10を停止させてもよい。
インバータIV1は、ビット線Bitの電圧がインバータIV1の閾値電圧以下まで減少すると、「H」レベルを出力する。逆に言うと、本実施の形態では、ロウデコーダ103は、ビット線Bitの電圧がインバータIV1の閾値電圧以下となるまでの期間、ワード線WL_xxxを活性化することが必要である。
一方、インバータIV2の出力は、ビット線Bitnの電圧が、プリチャージレベル(vddレベル)を維持するため、「L」レベルを維持する。
排他的論理和回路EORは、インバータIV1の出力と、インバータIV2の出力との排他的論理和である「H」をラッチ信号QTとして出力する。
テストモード時には、テスト信号Testが「H」レベルとなるため、マルチプレクサMUXは、排他的論理和回路EORから出力される「H」レベルのラッチ信号QTを出力ラッチ11へ供給する。
出力ラッチ11は、「H」レベルのラッチ信号QTを受けて、「H」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図10の破線で示すように、ビット線Bitの電圧はプリチャージレベル(vddレベル)を維持する。
インバータIV1の出力は、ビット線Bitの電圧がプリチャージレベル(vddレベル)のため、「L」レベルを維持する。その結果、排他的論理和回路EORが出力するラッチ信号QTは「L」レベルとなり、マルチプレクサMUXから出力されるラッチ信号QTが「L」レベルとなり、出力ラッチ11から出力される出力信号Qは「L」レベルとなる。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
以上のように、本実施の形態によれば、テストモード時に、ビット線対の電圧のレベルをインバータを用いて判定することによって、差動センスアンプのオフセット電圧の影響を受けないようにできるので、テストの精度を向上させることができる。
また、本実施の形態では、テストモード時の期待値はすべてのアドレスについて「1」となり、プログラムコードに依らないため、BIST(Built-In Self-Test)が容易となる。
また、本実施の形態では、追加する回路が、2つのインバータと、排他的論理和回路と、マルチプレクサのみであるので、回路面積のオーバーヘッドが僅かである。
なお、本実施の形態では、インバータを用いて、ビット線Bit、Bitnの電圧をセンスしたが、排他的論理和回路あるいはNADN回路を用いて直接、ビット線Bit、Bitnの電圧をセンスしてもよい。
[第3の実施形態]
図11は、第3の実施形態におけるメモリアレイ104およびI/O回路107の第i列における一部の構成を表わす図である。
図11の構成が、図6の構成と相違する点は、以下である。
図11の構成は、インバータIV1、IV2および排他的論理和回路EORを含まず、その代わりに、電圧固定化回路(電圧制御回路)61を備える。
電圧固定化回路61は、ビット線BitまたはBitnを、グランドGNDの電圧よりも高く、かつプリチャージ電圧(vdd)よりも低い電圧に固定する。
電圧固定化回路61は、PチャネルMOSトランジスタTR−8、TR−9とを備える。
PチャネルMOSトランジスタTR−8は、ビット線Bit上のノードN_te1とグランドGNDの間に設けられる。PチャネルMOSトランジスタTR−8のゲートは、テスト信号Test2を受ける。
PチャネルMOSトランジスタTR−9は、ビット線Bitn上のノードN_te2とグランドGNDの間に設けられる。PチャネルMOSトランジスタTR−9のゲートは、テスト信号Test1を受ける。
出力ラッチ11は、差動センスアンプ10の出力信号QNを受けてラッチし、外部へ出力信号Qとして出力する。
(通常モード時の動作)
本実施の形態における通常モード時に生成される信号の時間変化は、図9に示す第2の実施形態におけるものと同様である。したがって、図9を参照して本実施の形態における通常モード時に生成される信号の時間変化を説明する。
ここでは、図11のメモリセルCL_xxxに着目し、通常モード時のメモリセルCL_xxxの読出し動作を説明する。
図示しないが、通常モード時には、制御ロジック回路108によって、テスト信号Test1およびTest2は、「H」レベルとなる。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧がプリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、通常モード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図4に示すような通常モード時のクロックCLKBのパルス幅となり、テストモード時に比べて短い。
通常モード時には、テスト信号Test1およびTest2が「H」レベルのため、PチャネルMOSトランジスタTR−8、TR−9は、オフ状態を維持するため、グランドの電圧GNDが、PチャネルMOSトランジスタTR−8を介してビット線Bitに伝送されず、かつグランドGNDの電圧が、PチャネルMOSトランジスタTR−9を介してビット線Bitnに伝送されない。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−1、TR−2がオンとなる。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図9の破線で示すように、ビット線Bitの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10の仕上がりによって、ビット線Bitが「L」レベルだとセンスし易いオフセットを持っていた場合、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。その結果、製造時の不良がないときと同様に、出力ラッチ11からの出力信号Qは、「L」レベルとなる。そのため、この半導体装置が、後述するようなテストモードを持たない場合に、出荷テストがパスしてしまうことになる。
しかしながら、NチャネルMOSトランジスタTR−1、TR−2は、ともにソース線SLとは非接続のため、市場での実動作時には、ノイズの影響を受け易いことが考えられる。その結果、出力ラッチ11からの出力信号Qが、不安定となり、「H」レベルとなることもあり、誤動作のリスクがある。
(テストモード時の第1フェーズの動作)
第1フェーズでは、ビット線Bit側のプログラムの非導通を検出する。つまり、メモリセルに含まれる2つのトランジスタのうち、ビット線Bitに接続されるトランジスタとソース線SLとを接続するコンタクトホールに異常がないかを検出する。
図12は、第3の実施形態において、テストモード時の第1フェーズで生成される信号の時間変化を表わす図である。
ここでは、図11のメモリセルCL_xxxに着目し、テストモード時のメモリセルCL_xxxのプログラムの異常の検出について説明する。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧が、プリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、テストモード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
また、制御ロジック回路108によって、テスト信号Test1が「L」レベルに立下がる。テスト信号Test2は、「H」レベルに維持される。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−1、TR−2がオンとなる。
テスト信号Test1が「L」レベルのため、PチャネルMOSトランジスタTR−9は、オン状態となり、グランドGNDの電圧が、PチャネルMOSトランジスタTR−9を介してビット線Bitnに伝送されて、ビット線Bitnの電圧は、グランド(gnd)レベルからPチャネルMOSトランジスタTR−9の閾値電圧P_Vthだけ高い電圧まで減少する。電圧P_Vthは、差動センスアンプ10のオフセット電圧よりも大きな値である。なお、テスト信号Test2は常時「H」レベルに維持されている。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧は、gndレベルからPチャネルMOSトランジスタTR−9の閾値電圧P_Vthだけ高い電圧を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図12の破線で示すように、ビット線Bitの電圧は、プリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「H」レベルを維持するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QNを受けて、「H」レベルの出力信号Qを出力する。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
(テストモード時の第2フェーズの動作)
第2フェーズでは、ビット線Bitn側のプログラムの非導通を検出する。つまり、メモリセルに含まれる2つのトランジスタのうち、ビット線Bitnに接続されるトランジスタとソース線SLとを接続するコンタクトホールに異常がないかを検出する。
図13は、第3の実施形態において、テストモード時の第2フェーズで生成される信号の時間変化を表わす図である。
ここでは、図11のメモリセルCL_yyyに着目し、テストモード時のメモリセルCL_yyyのプログラムの異常の検出について説明する。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧が、プリチャージレベル(vddレベル)となる。
また、ワード線WL_yyyが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−C、TR−Dがオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_yyyが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_yyyを活性化する。したがって、テストモード時には、プリチャージ信号PCおよびワード線WL_yyyが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
また、制御ロジック回路108によって、テスト信号Test2が「L」レベルに立下がる。テスト信号Test1は、「H」レベルに維持される。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_yyyが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−C、TR−Dがオンとなる。
テスト信号Test2が「L」レベルのため、PチャネルMOSトランジスタTR−8は、オン状態となり、グランドGNDの電圧が、PチャネルMOSトランジスタTR−8を介してビット線Bitに伝送されて、ビット線Bitの電圧は、gndレベルからPチャネルMOSトランジスタTR−9の閾値電圧P_Vthだけ高い電圧となる。なお、テスト信号Test1は常時「H」レベルに維持されている。
NチャネルMOSトランジスタTR−Dと、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−Dを介してビット線Bitnに伝送される。これにより、ビット線Bitnの電圧は減少する。
一方、NチャネルMOSトランジスタTR−Cと、ソース線SL上のノードS_yyyとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Cを介してビット線Bitに伝送されず、ビット線Bitの電圧は、gndレベルからPチャネルMOSトランジスタTR−9の閾値電圧P_Vthだけ高い電圧を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「H」レベルに維持するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QNを受けて、「H」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−Dと、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−Dを介してビット線Bitに伝送されない。その結果、図13の破線で示すように、ビット線Bitnの電圧は、プリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QTを受けて、「L」レベルの出力信号Qを出力する。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−Dと、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
以上のように、本実施の形態によれば、テストモード時に、レベル判定をしない方のビット線を中間電位に固定することによって、差動センスアンプのオフセット電圧の影響を受けないようにできるので、テストの精度を向上させることができる。
また、本実施の形態では、追加する回路が、電圧固定化回路のみであるので、回路面積のオーバーヘッドが僅かである。
[第4の実施形態]
図14は、第4の実施形態におけるメモリアレイ104およびI/O回路107の第i列における一部の構成を表わす図である。
図14の構成が、図6の構成と相違する点は、以下である。
図14の構成は、インバータIV1、IV2および排他的論理和回路EORを含まず、その代わりに、電圧固定化(電圧制御回路)回路62を備える。
電圧固定化回路62は、ビット線BitまたはBitnを、グランドGNDの電圧よりも高く、かつプリチャージ電圧(vdd)よりも低い電圧に固定する。
電圧固定化回路62は、インバータIV3、IV4と、PチャネルMOSトランジスタTR−10、TR−11とを備える。
インバータIV3は、テスト信号Test2を反転して、信号NTest2を出力する。
PチャネルMOSトランジスタTR−10は、ビット線Bit上のノードN_te1と電源vddの間に設けられる。PチャネルMOSトランジスタTR−10のゲートは、信号NTest2を受ける。
インバータIV4は、テスト信号Test1を反転して、信号NTest1を出力する。
PチャネルMOSトランジスタTR−11は、ビット線Bitn上のノードN_te2と電源vddの間に設けられる。PチャネルMOSトランジスタTR−11のゲートは、信号NTest1を受ける。
出力ラッチ11は、差動センスアンプ10の出力信号QNを受けてラッチし、外部へ出力信号Qとして出力する。
(通常モード時の動作)
本実施の形態における通常モード時に生成される信号の時間変化は、図9に示す第2の実施形態におけるものと同様である。したがって、図9を参照して本実施の形態における通常モード時に生成される信号の時間変化を説明する。
ここでは、図11のメモリセルCL_xxxに着目し、通常モード時のメモリセルCL_xxxの読出し動作を説明する。
図示しないが、通常モード時には、制御ロジック回路108によって、テスト信号Test1およびTest2は、「H」レベルとなる。
まず、プリチャージ信号PC0、PC1、PC2が「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧がプリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PC0、PC1、PC2が「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、通常モード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図4に示すような通常モード時のクロックCLKBのパルス幅となり、テストモード時に比べて短い。
通常モード時には、テスト信号Test1およびTest2が「H」レベルのため、NチャネルMOSトランジスタTR−10、TR−11は、オフ状態を維持するため、電源電圧vddが、NチャネルMOSトランジスタTR−10を介してビット線Bitに伝送されず、かつ電源電圧vddが、NチャネルMOSトランジスタTR−11を介してビット線Bitnに伝送されない。
プリチャージ信号PC0、PC1、PC2が「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。PチャネルMOSトランジスタTR−5がオフのため、ビット線Bitとビット線Bitnとの間のイコライズが行われない。
また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−1、TR−2がオンとなる。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図9の破線で示すように、ビット線Bitの電圧は「H」レベル(vddレベル)を維持する。
差動センスアンプ10の仕上がりによって、ビット線Bitが「L」レベルだとセンスし易いオフセットを持っていた場合、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。その結果、製造時の不良がないときと同様に、出力ラッチ11からの出力信号Qは、「L」レベルとなる。そのため、この半導体装置が、後述するようなテストモードを持たない場合に、出荷テストがパスしてしまうことになる。
しかしながら、NチャネルMOSトランジスタTR−1、TR−2は、ともにソース線SLとは非接続のため、市場での実動作時には、ノイズの影響を受け易いことが考えられる。その結果、出力ラッチ11からの出力信号Qが、不安定となり、「H」レベルとなることもあり、誤動作のリスクがある。
(テストモード時の第1フェーズの動作)
第1フェーズでは、ビット線Bit側のプログラムの非導通を検出する。つまり、メモリセルに含まれる2つのトランジスタのうち、ビット線Bitに接続されるトランジスタとソース線SLとを接続するコンタクトホールに異常がないかを検出する。
図15は、第4の実施形態において、テストモード時の第1フェーズで生成される信号の時間変化を表わす図である。
ここでは、図14のメモリセルCL_xxxに着目し、テストモード時のメモリセルCL_xxxのプログラムの異常の検出について説明する。
初期状態では、プリチャージ信号PC0、PC2、テスト信号Test2が「H」レベルとなり、プリチャージ信号PC1、テスト信号Test1が「L」レベルとなり、ワード線WL_xxxが非活性化(「L」レベル)となる。
このときには、PチャネルMOSトランジスタTR−4、TR−5がオフ、PチャネルMOSトランジスタTR−3がオン、NチャネルMOSトランジスタTR−10がオフ、NチャネルMOSトランジスタTR−11がオンとなる。
その結果、ビット線Bitの電圧がプリチャージレベル(vddレベル)となる。また、ビット線Bitnの電圧が、プリチャージレベル(vddレベル)からNチャネルMOSトランジスタTR−11の閾値電圧N_Vthだけ低い電圧となる。電圧N_Vthは、差動センスアンプ10のオフセット電圧よりも大きな値である。
また、このときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなる。
その結果、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC1、ワード線WL_xxxを活性化する。したがって、テストモード時には、プリチャージ信号PC1およびワード線WL_xxxが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
また、切替器161によってソース線SLがグランドGNDに接続され、制御ロジック回路108によって、テスト信号Test1が「H」レベルに立上がる。
プリチャージ信号PC1が「H」レベルに立ち上がることによって、PチャネルMOSトランジスタTR−3がオフとなる。テスト信号Test1が「H」レベルに立上がることによって、NチャネルMOSトランジスタTR−11はオフとなる。
その結果、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧は、プリチャージレベル(vddレベル)からN_Vthだけ低い電圧を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、図示しないが、データ読出線CTBの電圧は、「L」レベルに減少するとともに、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図15の破線で示すように、ビット線Bitの電圧は、プリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、プリチャージレベル(vddレベル)を維持し、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QTを受けて、「H」レベルの出力信号Qを出力する。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
(テストモード時の第2フェーズの動作)
第2フェーズでは、ビット線Bitn側のプログラムの非導通を検出する。つまり、メモリセルに含まれる2つのトランジスタのうち、ビット線Bitnに接続されるトランジスタとソース線SLとを接続するコンタクトホールに異常がないかを検出する。
図16は、第4の実施形態において、テストモード時の第2フェーズで生成される信号の時間変化を表わす図である。
ここでは、図14のメモリセルCL_yyyに着目し、テストモード時のメモリセルCL_yyyのプログラムの異常の検出について説明する。
初期状態では、プリチャージ信号PC0、PC1、テスト信号Test1が「H」レベルとなり、プリチャージ信号PC2、テスト信号Test2が「L」レベルとなり、ワード線WL_yyyが非活性化(「L」レベル)となる。
このときには、PチャネルMOSトランジスタTR−3、TR−5がオフ、PチャネルMOSトランジスタTR−4がオン、NチャネルMOSトランジスタTR−11がオフ、NチャネルMOSトランジスタTR−10がオンとなる。
その結果、ビット線Bitnの電圧がプリチャージレベル(vddレベル)となる。また、ビット線Bitの電圧が、プリチャージレベル(vddレベル)からNチャネルMOSトランジスタTR−10の閾値電圧N_Vthだけ低い電圧となる。電圧N_Vthは、差動センスアンプ10のオフセット電圧よりも大きな値である。
また、このときには、NチャネルMOSトランジスタTR−C、TR−Dがオフとなる。
その結果、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC2、ワード線WL_yyyを活性化する。したがって、テストモード時には、プリチャージ信号PC2およびワード線WL_yyyが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
また、切替器161によってソース線SLがグランドGNDに接続され、制御ロジック回路108によって、テスト信号Test2が「H」レベルに立上がる。
プリチャージ信号PC2が「H」レベルに立ち上がることによって、PチャネルMOSトランジスタTR−4がオフとなる。テスト信号Test2が「H」レベルに立上がることによって、NチャネルMOSトランジスタTR−10はオフとなる。
その結果、NチャネルMOSトランジスタTR−Dと、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−Dを介してビット線Bitnに伝送される。これにより、ビット線Bitnの電圧は減少する。
一方、NチャネルMOSトランジスタTR−Cと、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−Cを介してビット線Bitに伝送されず、ビット線Bitの電圧は、プリチャージレベル(vddレベル)からN_Vthだけ低い電圧を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「H」レベルに維持するとともに、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QNを受けて、「H」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−Dと、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−Dを介してビット線Bitnに伝送されない。その結果、図16の破線で示すように、ビット線Bitnの電圧は、プリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少し、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QTを受けて、「L」レベルの出力信号Qを出力する。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
以上のように、本実施の形態によれば、第3の実施形態と同様に、テストモード時に、レベル判定をしない方のビット線を中間電位に固定することによって、差動センスアンプのオフセット電圧の影響を受けないようにできるので、テストの精度を向上させることができる。
また、本実施の形態では、追加する回路が、電圧固定化回路のみであるので、回路面積のオーバーヘッドが僅かである。
[第5の実施形態]
図17は、第5の実施形態におけるメモリアレイ104およびI/O回路107の第i列における一部の構成を表わす図である。
図17の構成が、図6の構成と相違する点は、以下である。
図17の構成は、インバータIV1、IV2および排他的論理和回路EORを含まず、その代わりに、短絡化回路63を備える。
短絡化回路63は、テストモード時に、ビット線Bitとビット線Bitnとを短絡させる。
短絡化回路63は、PチャネルMOSトランジスタTR−12を備える。
PチャネルMOSトランジスタTR−12は、ビット線Bit上のノードN_te1とビット線Bitn上のノードN_te2との間に設けられる。PチャネルMOSトランジスタTR−12のゲートは、テスト信号Testを受ける。
出力ラッチ11は、差動センスアンプ10の出力信号QNを受けてラッチし、外部へ出力信号Qとして出力する。
(通常モード時の動作)
本実施の形態における通常モード時に生成される信号の時間変化は、図9に示す第2の実施形態におけるものと同様である。したがって、図9を参照して本実施の形態における通常モード時に生成される信号の時間変化を説明する。
ここでは、図17のメモリセルCL_xxxに着目し、通常モード時のメモリセルCL_xxxの読出し動作を説明する。
図9を参照して、まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧がプリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、通常モード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図4に示すような通常モード時のクロックCLKBのパルス幅となり、テストモード時に比べて短い。
通常モード時には、テスト信号Testが「L」レベルのため、NチャネルMOSトランジスタTR−12は、オフ状態を維持し、NチャネルMOSトランジスタTR−12を介して、ビット線Bitとビット線Bitnとが接続されることがない。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−1、TR−2がオンとなる。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されず、ビット線Bitnの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10は、ビット線Bitとビット線Bitnの間の微小電位差を増幅する。その結果、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図9の破線で示すように、ビット線Bitの電圧はプリチャージレベル(vddレベル)を維持する。
差動センスアンプ10の仕上がりによって、ビット線Bitが「L」レベルだとセンスし易いオフセットを持っていた場合、データ読出線CTBの電圧は、「L」レベルに減少するとともに、図示しないが、ラッチ信号QNは「H」レベルとなる。その結果、製造時の不良がないときと同様に、出力ラッチ11からの出力信号Qは、「L」レベルとなる。そのため、この半導体装置が、後述するようなテストモードを持たない場合に、出荷テストがパスしてしまうことになる。
しかしながら、NチャネルMOSトランジスタTR−1、TR−2は、ともにソース線SLとは非接続のため、市場での実動作時には、ノイズの影響を受け易いことが考えられる。その結果、出力ラッチ11からの出力信号Qが、不安定となり、「H」レベルとなることもあり、誤動作のリスクがある。
(テストモード時の動作)
図18は、第5の実施形態において、テストモード時に生成される信号の時間変化を表わす図である。
ここでは、図17のメモリセルCL_xxxに着目し、テストモード時のメモリセルCL_xxxのプログラムの異常の検出について説明する。
まず、プリチャージ信号PCが「L」レベルのときには、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオンとなり、ビット線Bitおよびビット線Bitnの電圧がプリチャージレベル(vddレベル)となる。
また、ワード線WL_xxxが非活性化(「L」レベル)のときには、NチャネルMOSトランジスタTR−1、TR−2がオフとなり、ソース線SLの電圧は、ビット線Bitおよびビット線Bitnに伝わらない。
次に、プリチャージ信号PCが「H」レベルに立ち上がるとともに、ワード線WL_xxxが「H」レベルに立ち上がり、切替器161によってソース線SLがグランドGNDに接続される。
ここで、プリチャージ回路+CSLドライバ群105およびロウデコーダ103は、クロックCLKBに基づいて、プリチャージ信号PC、ワード線WL_xxxを活性化する。したがって、テストモード時には、プリチャージ信号PCおよびワード線WL_xxxが活性化される期間は、図5に示すようなテストモード時のクロックCLKBのパルス幅となり、通常モード時に比べて長い。
また、テストモード時には、制御ロジック回路108によって、テスト信号Test1は、「H」レベルとなる。
プリチャージ信号PCが「H」レベルに立ち上がると、PチャネルMOSトランジスタTR−3、TR−4、TR−5がオフとなる。また、ワード線WL_xxxが「H」レベルに立ち上がると、NチャネルMOSトランジスタTR−1、TR−2がオンとなる。
テスト信号Testが「H」レベルのため、NチャネルMOSトランジスタTR−12は、オン状態となり、NチャネルMOSトランジスタTR−12を介して、ビット線Bitとビット線Bitnとが接続される。
NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線していない場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送される。これにより、ビット線Bitの電圧は次第に減少する。
一方、NチャネルMOSトランジスタTR−2と、ソース線SL上のノードS_xxxとの間には、プログラムコンタクタが存在しないため、ソース線SL上の電圧が、NチャネルMOSトランジスタTR−2を介してビット線Bitnに伝送されない。しかし、NチャネルMOSトランジスタTR−12はがオン状態のため、ビット線Bitの電圧が、ビット線Bitnに伝送され、ビット線Bitの電圧は、ビット線Bitの電圧と同様にして、次第に減少する。
このとき、本実施の形態では、他の実施形態と異なり、センスアンプ活性化信号SAEが「H」レベルに活性化されず、差動センスアンプ10は、起動されない。その結果、データ読出線CTBの電圧は、ビット線Bitの電圧である「L」レベルに減少するとともに、ラッチ信号QNは「L」レベルとなる。
出力ラッチ11は、「L」レベルのラッチ信号QNを受けて、「L」レベルの出力信号Qを出力する。
ここで、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線している場合には、ソース線SL上のグランドGNDの電圧が、NチャネルMOSトランジスタTR−1を介してビット線Bitに伝送されない。その結果、図18の破線で示すように、ビット線Bitの電圧は、プリチャージレベル(vddレベル)を維持する。また、NチャネルMOSトランジスタTR−12はがオン状態のため、ビット線Bitの電圧が、ビット線Bitnに伝送され、ビット線Bitの電圧は、ビット線Bitの電圧と同様に、プリチャージレベル(vddレベル)を維持する。このとき、本実施の形態では、他の実施形態と異なり、センスアンプ活性化信号SAEが「H」レベルに活性化されず、差動センスアンプ10は、起動されない。その結果、データ読出線CTBの電圧は、ビット線Bitの電圧である「H」レベルを維持するとともに、ラッチ信号QNは「H」レベルとなる。
出力ラッチ11は、「H」レベルのラッチ信号QNを受けて、「H」レベルの出力信号Qを出力する。
正常時のレベル(期待値)と異なるレベルの出力信号Qが出力ラッチ11から出力されたことを認識することによって、製造時の不良によって、NチャネルMOSトランジスタTR−1と、ソース線SLとの間の配線が断線し、正常にプログラムされていないことを知ることができる。
以上のように、本実施の形態によれば、テストモード時に、ビット線対を短絡させるとともに、差動センスアンプを動作させずに、ビット線対のレベルを判定することによって、差動センスアンプのオフセット電圧の影響を受けないようにできるので、テストの精度を向上させることができる。
また、テストモード時の期待値がプログラムコードに依らないので、BIST(Built-In Self-Test)が容易となる。
また、本実施の形態では、追加する回路が、短絡化回路のみであるので、回路面積のオーバーヘッドが僅かである。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。