(57)【特許請求の範囲】
【請求項１】
抵抗値が記憶される不揮発性抵抗素子を有する不揮発メモリ回路と、
テストデータ入力信号を受け取るテストデータ入力端子、テストイネーブル信号を受け取るテストイネーブル信号端子、トランジスタからなるネットワーク回路、前記抵抗値に基づいて前記ネットワーク回路に流れる電流差に応じた結果を出力するセンス回路、及び前記センス回路の出力結果をラッチするラッチ回路を有する演算回路と、
ライトイネーブル信号を受け取るライトイネーブル信号端子を含む、前記不揮発性抵抗素子の抵抗値を書き換え可能な書込み回路と、を備え、
テストイネーブル信号により選択されるテストモードにおいて、前記テストデータ入力端子は前記センス回路の入力端子と電気的に接続し、前記テストデータ入力信号をセンス回路に供給でき、
前記ラッチ回路がラッチした前記出力結果を前記書込み回路へ入力し、前記不揮発性抵抗素子のための書き込みデータとして用いることを特徴とする不揮発論理ゲート。
【請求項２】
前記不揮発論理ゲートにおいて、前記演算回路は更にクロック信号を受け取るクロック信号端子を備え、
前記テストモードであり、かつ、前記クロック信号がハイ又はロウのどちらか一方の期間のみ、前記テストデータ入力端子は前記センス回路の入力端子と電気的に接続し、前記テストデータ入力信号を前記センス回路に供給できることを特徴とする請求項１に記載の不揮発論理ゲート。
【請求項３】
前記不揮発論理ゲートは、更に前記演算回路と前記不揮発メモリ回路の間に電気的に接続されたシフト回路を備え、
前記シフト回路はシフト制御信号に基づいてリダンダンシ出力を制御するシフト制御端子を有し、
前記シフト制御端子に供給される前記シフト制御信号が非アクティブの場合には、前記演算回路からのセンス電流は前記不揮発メモリ回路に流れ、前記シフト制御信号がアクティブの場合には、前記演算回路からのセンス電流は前記リダンダンシ出力として出力されることを特徴とする請求項１又は２に記載の不揮発論理ゲート。
【請求項４】
請求項３に記載の不揮発論理ゲートを複数備えるシフトリダンダンシにおいて、
前記シフトリダンダンシにおける前記不揮発論理ゲートは冗長な不揮発メモリ回路を有し、
不良と判定された不揮発メモリ回路より後段のシフト回路における前記シフト制御信号がアクティブになることにより、前段のシフト回路のリダンダンシ出力が後段のシフト回路のリダンダンシ入力として入力され、各演算回路からのセンス電流は、前記不良と判定された不揮発メモリ回路を回避して、不揮発メモリ回路および冗長な不揮発メモリ回路に流れることを特徴とする不揮発論理ゲートからなるシフトリダンダンシ。
【請求項５】
請求項１乃至３の何れか一項に記載の不揮発論理ゲートを複数有するシフトレジスタと、該シフトレジスタと電気的に接続する少なくとも一以上の組み合わせ回路と、を備え、
前記テストイネーブル信号より選択されるテストモードにおいて、前記テストデータ入力信号を前記シフトレジスタにシフトイン又はシフトアウトすることを特徴とするスキャンチェーン。
【請求項６】
前記スキャンチェーンは更にライトイネーブル信号線を備え、
前記シフトレジスタへの前記テストデータ入力信号が前記ライトイネーブル信号線に流れることで不揮発性抵抗素子への書き込みデータとなることを特徴とする請求項５に記載のスキャンチェーン。
【請求項７】
前記シフトレジスタの一部がフリップフロップであることを特徴とする請求項６に記載のスキャンチェーン。
【請求項８】
前記フリップフロップから供給されるテストデータ入力信号を用いて、スキャンチェーン内又はその近傍にある前記不揮発性抵抗素子にデータを書き込むことを特徴とする請求項７に記載のスキャンチェーン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強磁性トンネル接合素子（MTJ素子）などの抵抗変化素子を利用した不揮発論理ゲートに関する。
【背景技術】
【０００２】
近年、半導体の集積度が向上するにつれ、トランジスタのリーク電流による消費電力の増加が問題になってきている。また、メモリ素子とロジック素子が分離して配置されることに起因するデータ転送遅延、及びデータを転送する配線の消費電力の増加が問題となっている。
【０００３】
これらの問題を解決する一つの方法として、特許文献１には、メモリ素子とロジック素子が一体となった不揮発論理ゲートを用いた集積回路が提案されている。この集積回路は、データを複数の不揮発性抵抗素子が記憶しているため、電源を切ってもデータは消えない。従って、動作していないときに電源を切ることができるため、リーク電流による消費電力を抑制できる。また、メモリ素子とロジック素子が近接しているため、配線遅延は小さく、かつ、低消費電力で動作することが期待されている。
【０００４】
図１を参照して、上記した集積回路に使用可能な不揮発論理ゲート１’の構成例を示す。図示された不揮発論理ゲート１’は、NMOS論理回路１１’と、相補のデータを抵抗値として記憶する不揮発性抵抗素子R1、R2と、及び貫通電流制御回路２１’を備えている。また、NMOS論理回路１１’には、出力データをラッチするPMOSトランジスタP1、P2と、プリチャージ用の２つのPMOSトランジスタP3、P4が接続されている。図示された不揮発性抵抗素子R1とR2はそれぞれ、一端がNMOS論理回路１１’に接続され、他端は貫通電流制御回路２１’に接続されている。
【０００５】
次に、図１に示された不揮発論理ゲート１’を構成する各要素の接続状態について具体的に説明する。PMOSトランジスタP1のゲートは、PMOSトランジスタP2のドレインと、PMOSトランジスタP4のドレイン、及び、NMOS論理回路１１’に接続されると共に、出力信号/Doutを出力するデータ出力端子に接続されている。一方、PMOSトランジスタP2のゲートは、PMOSトランジスタP1のドレインと、PMOSトランジスタP3のドレイン、及び、NMOS論理回路１１’に接続されると共に、出力信号Doutを出力するデータ出力端子に接続されている。また、PMOSトランジスタP3とP4のゲートには、クロック信号CLKが与えられている。各PMOSトランジスタP1、P2、P3、及びP4のソースは電源電圧Vddに接続されている。
【０００６】
図１の不揮発性抵抗素子R1、R2としては、例えば、磁気抵抗効果を利用した強磁性トンネル接合素子（MTJ(Magnetic Tunnel Junction)素子）が考えられる。ここで、MTJ素子は、磁化方向が変化する強磁性層（フリー層）と、磁化方向が固定された強磁性層（固定層）と、フリー層と固定層の間に形成される絶縁層を含む構成を備えている。このようなMTJ素子に、膜面垂直方向に電流を流した際の抵抗値は、フリー層と固定層の磁化の方向によって変化する。フリー層の磁化と固定層の磁化が平行の場合、抵抗値は低く、両者の磁化が反平行の場合、抵抗値は高くなる。この性質を利用して、MTJ素子では、この抵抗値、もしくは、フリー層の磁化の方向に、論理データを対応付ける。例えば、低抵抗状態を論理値「０」、高抵抗状態を論理値「１」とする。不揮発論理ゲート１’では、このMTJ素子の論理値を演算に用いる。MTJ素子の書き込みは、電流磁界を用いてフリー層の磁化方向を制御する磁場書き込み方式と、スピントルク効果を利用してフリー層の磁化方向を制御するスピントルク書き込み方式が知られている。
【０００７】
図１に示された不揮発論理ゲート１’は、不揮発性抵抗素子R1、R2の論理値を演算に利用する。その不揮発抵抗素子R1、R2の論理値とNMOS論理回路１１’に入力されるデータ入力Dinにより演算を行い、相補出力Dout、/Doutを出力する。設計者が、不揮発論理ゲート１’にどのような演算を行わせるかは、NMOS論理回路１１’の構成により決めることができる。
【０００８】
次に、不揮発性抵抗素子R1、R2に接続されている貫通電流制御回路２１’の構成について、図２(a)及び(b)を参照して説明する。図２(a)に示した貫通電流制御回路２１’は、NMOSトランジスタN1を備える。NMOSトランジスタN1のドレインは、不揮発性抵抗素子R1とR2の一端に接続されている。NMOSトランジスタN1のソースは接地され、そのゲートにはクロック信号CLKが与えられている。
【０００９】
他方、図２(b)に示した貫通電流制御回路２１’は、２つのNMOSトランジスタN1、N2と、一端を接地され、他端をNMOSトランジスタN1、N2の共通接続点に接続されたキャパシタC1を備えている。更に、NMOSトランジスタN1のドレインは、不揮発性抵抗素子R1とR2の一端に接続され、そのソースは、NMOSトランジスタN2のドレインとキャパシタC1の一端に接続される。NMOSトランジスタN1のゲートにはクロック信号CLKが与えられている。一方、NMOSトランジスタN2のソースは接地され、そのゲートには反転したクロック信号/CLKが与えられている。
【００１０】
図２(a)及び(b)にそれぞれ示す貫通電流制御回路２１’の違いは、論理演算時の貫通電流の有無である。図２(a)に示す貫通電流制御回路２１’の場合、クロック信号CLKがHighのとき、不揮発性抵抗素子R1、R2とNMOSトランジスタN1に定常的な電流が流れる。一方、図２(b)に示す貫通電流制御回路２１’の場合、クロック信号CLKがHighのとき、不揮発性抵抗素子R1、R2とNMOSトランジスタN1に流れる電流は、キャパシタC1を充電する間のみ流れる。したがって、図２(b)に示す回路２１’のほうが、定常電流が流れないため、消費電力を低減できる。
【００１１】
図３には、不揮発論理ゲート１’を構成するNMOS論理回路１１’の一例が示されており、ここでは、加算が可能なNMOS論理回路（SUM回路）１１’が示されている。図示されたNMOS論理回路１１’は、８個のNMOSトランジスタN3、N4、N5、N6、N7、N8、N9、N10を備え、データ入力信号Dinとして、それぞれ相補の入力信号A、/A、C、/CがNMOSトランジスタN3〜N10のゲートに入力される。NMOS論理回路１１’には、各入力信号に依存して、電流パスが形成される。不揮発性抵抗素子R1、R2の一方は、データ出力Doutを出力するNMOS論理回路１１’に電気的に接続される。また、不揮発性抵抗素子R1、R2の他方は、データ出力/Doutを出力するNMOS論理回路１１’に電気的に接続される。この２つの電流パスに流れる電流差を利用して、データ出力Dout、/Doutとなる出力電圧、すなわち論理演算結果（出力結果）が決定される。
【００１２】
図１、図２(b)、及び、図３に示した各構成要素を組み合わせることによって構成された不揮発論理ゲート１’は、次のように動作する。尚、図示された不揮発論理ゲート１’は、プリチャージ期間と評価期間を有し、このような動作は、一般的なスタティックCMOS回路の動作とは異なる独特の動作である。
【００１３】
まず、クロック信号CLKがLowの時はプリチャージ期間である。貫通電流制御回路２１’（図２(b)）のNMOSトランジスタN1はOFFとなり、PMOSトランジスタP3、P4は出力Dout、/Doutを電源電圧Vddにプリチャージする。また、貫通電流制御回路２１’のNMOSトランジスタN2はキャパシタC1に蓄えられた電荷を放電する。
【００１４】
一方、クロック信号CLKがHighのとき、貫通電流制御回路２１’のNMOSトランジスタN1（図２(b)）はON、N2はOFF、プリチャージ用PMOSトランジスタP3、P4（図1）はOFFとなり、評価期間となる。プリチャージ時に各キャパシタ（不図示）に蓄えられていた電荷は、NMOS論理回路１１’内に形成された２つの電流パス、および、相補の抵抗値を記憶した不揮発性抵抗素子R1、R2を介して、貫通電流制御回路２１’のキャパシタC1に流れ込む。不揮発性抵抗素子R1、R2を流れる電流値は不揮発性抵抗素子R1、R2の抵抗値に依存するため、相補の出力であるDoutと/Doutには電位差が生じる。そして、その電位差は、PMOSトランジスタP1、P2によって増幅され、相補のデータ出力Dout、/Doutを出力する。なお、本不揮発論理ゲート１’において、入力信号A、/A、C、/Cは、クロック信号CLKがHighである評価期間中は変化してはならない。上記のように不揮発論理ゲート１’は、演算機能とラッチ機能を有する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００５−２３５３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
図１〜図３に示した不揮発論理ゲート１’は、その独特の動作のため、そのままでは、インバータ等を構成するために使用されるCMOS回路と併用できないという課題があった。
【００１７】
更に、不揮発論理ゲート１’は、記憶状態を保持する通常のＤフリップフロップとも２つの動作の点で相違している。一つは出力である。不揮発論理ゲート１’は評価期間であるクロックの半周期しかデータを出力しないが、Ｄフリップフロップはクロックサイクル期間で出力される。もう一つは入力データである。不揮発論理ゲート１’においては、評価期間中にデータ入力信号は変化してはならないが、Ｄフリップフロップにおいては、クロックの立ち上がり前後で確定していれば良い。  上記したように、既存の設計ツールは、不揮発論理ゲート１’の独特の動作をサポートしていないから、不揮発論理ゲート１’に応じて設計された回路が別途必要である。
【００１８】
更に、不揮発論理ゲート１’を用いた回路設計の際に生じる問題の一つは、自動設計ツールによるスキャンテスト回路の設計が行えないことである。従来のスタティックなCMOSにおける自動設計フローでは、スキャンフリップフロップをライブラリにあらかじめ登録しておき、論理合成時に、回路システム中のフリップフロップをスキャンフリップフロップに置き換え、テストが行われている。このようなテスト回路の設計は、上記不揮発論理ゲート１’を用いた場合、その独特の動作をCADツールが対応していないため行えない。
【００１９】
また、不揮発論理ゲート１’を用いた回路において、手作業でスキャンテスト回路を構築する際には、どのような構成が好ましいか明らかにされていない。
【００２０】
加えて、不揮発論理ゲート１’を用いた回路のテストでは、不揮発性抵抗素子R1、R2のデータを書き換えてテストできる必要がある。しかしながら、既存のテスト回路にはそのような機構が設けられていない等の課題がある。
【００２１】
そこで、本発明は、上記した不揮発論理ゲートに伴う課題の少なくとも一つを改善しようとするものである。
【００２２】
具体的には、本発明の目的は、スタティックCMOS論理回路と併用でき、既存の設計ツールに適用できる試験可能な不揮発論理ゲートを提供することにある。
【００２３】
また、本発明の他の目的は、テスト回路の面積増加を抑えつつ、効率的にテストを行える試験可能な不揮発論理ゲートを提供することである。
【００２４】
更に、本発明の別の目的は、不揮発論理ゲートに備えられた不揮発抵抗素子にテストデータを効率的に書き込む回路およびテスト回路を提供することである。
【課題を解決するための手段】
【００２５】
本発明によると、本発明の一態様に係る不揮発論理ゲートは、抵抗値が記憶される不揮発性抵抗素子を有する不揮発メモリ回路と、テストデータ入力信号を受け取るテストデータ入力端子、テストイネーブル信号を受け取るテストイネーブル信号端子、トランジスタからなるネットワーク回路、及び上記抵抗値に基づいて上記ネットワーク回路に流れる電流差に応じた結果を出力するセンス回路、を有する演算回路と、を備え、テストイネーブル信号により選択されるテストモードにおいて、上記テストデータ入力端子は上記センス回路の入力端子と電気的に接続し、上記テストデータ入力信号をセンス回路に供給できることするように構成されている。
【００２６】
また、本発明の別の態様は、上記不揮発論理ゲートを複数備えるシフトリダンダンシにおいて、上記シフトリダンダンシにおける上記不揮発論理ゲートは冗長な不揮発メモリ回路を有し、不良と判定された不揮発メモリ回路より後段のシフト回路における上記シフト制御信号がアクティブになることにより、前段のシフト回路のリダンダンシ出力が後段のシフト回路のリダンダンシ入力として入力され、各演算回路からのセンス電流は、上記不良と判定された不揮発メモリ回路を回避して、不揮発メモリ回路および冗長な不揮発メモリ回路に流れることを特徴とする不揮発論理ゲートからなるシフトリダンダンシに関する。
【００２７】
また、本発明の別の態様は、上記不揮発論理ゲートを複数有するシフトレジスタと、該シフトレジスタと電気的に接続する少なくとも一以上の組み合わせ回路と、を備え、上記テストイネーブル信号より選択されるテストモードにおいて、上記テストデータ入力信号を上記シフトレジスタにシフトイン又はシフトアウトすることを特徴とするスキャンチェーンに関する。
【発明の効果】
【００２８】
本発明によれば、スタティックＣＭＯＳ論理回路と併用でき、既存の設計ツールに適用できる、試験可能な不揮発論理ゲートを提供可能となる。
【００２９】
本発明の更なる利点及び実施形態を、記述と図面を用いて下記に詳細に説明する。
【図面の簡単な説明】
【００３０】
【図１】図１は、従来の不揮発論理ゲートの回路構成を示す図である。
【図２】図２(a)は、不揮発論理ゲートにおける演算評価時に貫通電流がある回路の従来例を示し、図２(b)は、不揮発論理ゲートにおける貫通電流がない回路の従来例を示す図である。
【図３】図３は、不揮発論理ゲートのNMOS論理回路の従来例を示す図である。
【図４】図４は、第１実施形態における試験可能な不揮発論理ゲートの回路図である。
【図５】図５は、第１実施形態における試験可能な不揮発論理ゲートを用いたスキャンチェーンの構成図である。
【図６】図６は、第１実施形態における試験可能な不揮発論理ゲートの通常モードのタイミングチャートを示す図である。
【図７】図７は、第１実施形態における試験可能な不揮発論理ゲートのテストモードのタイミングチャートを示す図である。
【図８】図８は、第２実施形態における試験可能な不揮発論理ゲートの回路図である。
【図９】図９は、第２実施形態における試験可能な不揮発論理ゲートを用いたスキャンチェーンの構成図を示す図である。
【図１０】図１０は、第３実施形態における試験可能な不揮発論理ゲートの回路図である。
【図１１】図１１は、第３実施形態における試験可能な不揮発論理ゲートを用いたスキャンチェーンにおいて、不良ビットを避けて冗長ビットを利用した場合の模式図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施形態を図面に基づいて説明する。
（第１実施形態）
【００３２】
図４は、本発明の第１実施形態に係る試験可能な不揮発論理ゲート１の回路図である。本不揮発論理ゲート１は、演算回路１０と不揮発メモリ回路２０を備える。
【００３３】
具体的には、演算回路１０は、NMOS論理回路１１と、ロースルーラッチ回路１２と、ハイスルーラッチ回路１３と、テスト回路１４とを含む。また、不揮発メモリ回路２０は、貫通電流制御回路２１と、相補のデータを抵抗値として記憶する不揮発性抵抗素子R1、R2とを含む。上記各不揮発性抵抗素子R1とR2は、一端が演算回路１０のNMOS論理回路１１に接続され、他端は貫通電流制御回路２１に接続されている。
【００３４】
図示されたテスト回路１４は、より詳細には、データ出力をラッチする２個のPMOSトランジスタP1、P2から構成されるセンス回路と、クロック信号CLKが与えられる２個のPMOSトランジスタP3、P4から構成されるクロック信号端子と、テストイネーブル信号TEが与えられる２個のPMOSトランジスタP5、P6から構成されるテストイネーブル信号端子と、テストデータ入力信号TDin、/TDinが入力されるとともに、そのゲートには反転したテストイネーブル信号/TEが与えられる２個のPMOSトランジスタP7、P8から構成されるテストデータ入力端子とを含む。
【００３５】
次に、本不揮発論理ゲート１を構成する各要素の接続状態について説明する。PMOSトランジスタP1のゲートは、PMOSトランジスタP2のドレインと、PMOSトランジスタP4のドレイン、及び、NMOS論理回路１１に接続されると共に、出力信号/Doutを出力するデータ出力端子に接続されている。PMOSトランジスタP2のゲートは、PMOSトランジスタP1のドレインと、PMOSトランジスタP3のドレイン、及び、NMOS論理回路１１に接続されると共に、出力信号Doutを出力するデータ出力端子に接続されている。また、各PMOSトランジスタP1、P2のソースは電源電圧Vddに接続されている。PMOSトランジスタP3のソースは、PMOSトランジスタP5のドレインとPMOSトランジスタP7のドレインに接続され、そのゲートにはクロック信号CLKが与えられている。
【００３６】
また、PMOSトランジスタP4のソースは、PMOSトランジスタP6のドレインとPMOSトランジスタP8のドレインに接続され、そのゲートにはクロック信号CLKが与えられている。各PMOSトランジスタP5、P6のソースは電源電圧Vddに接続され、そのゲートにはテストイネーブル信号TEが与えられている。更に、PMOSトランジスタP7のソースには、テストデータ入力信号TDinが与えられ、PMOSトランジスタP8のソースには、反転したテストデータ入力信号/TDinが与えられている。また、PMOSトランジスタP7、P8のゲートには、反転したテストイネーブル信号/TEが与えられている。
【００３７】
ロースルーラッチ回路１２は、データ入力信号Dinとクロック信号CLKを入力し、データ入力信号Din’を出力する。そして、データ入力信号Din’はNMOS論理回路１１に入力される。ハイスルーラッチ回路１３は、クロック信号CLKと、データ出力（出力結果）Dout、/Doutを入力し、テストデータ出力TDout、/TDout又は外部出力Q、/Qを出力する。貫通電流制御回路２１とNMOS論理回路１１は、従来のものと同じ回路を用いることができる。ここでは、貫通電流制御回路２１として図２(a)に示す回路、及びNMOS論理回路１１として図３に示すSUM回路を例に説明する。
【００３８】
図５は、本発明の第１実施形態に係る試験可能な不揮発論理ゲート１（図4）を用いたスキャンチェーン２の構成図であり、図からも明らかな通り、各不揮発論理ゲート１のテスト出力端子（TDout、/TDout）が次段の不揮発論理ゲート１のテスト入力端子（TDin, /TDin）に順次直列に接続されることにより、テスト用にスキャンチェーン２が形成されている。また、各不揮発論理ゲート１には、クロック信号CLK及びテストイネーブル信号TEが並列に供給されている。ここでは、簡略化のため、TE信号やCLK信号の反転信号である/TE信号や/CLK信号は省略されているが、必要に応じて、インバータなどの回路により反転信号を生成することが可能である。
【００３９】
図示されたスキャンチェーン２は、テストモードと通常モードを備える。テストモード時には、テストデータ入力信号TDinを、スキャンチェーン２を構成する各不揮発論理ゲート１に、順次入力でき、かつ、テストデータ出力TDoutを順次出力できる。他方、通常モード時には、組み合わせ回路５０に並列に接続された複数の不揮発論理ゲート１から成るシフトレジスタと同様に動作し、組み合わせ回路５０からの並列データ入力信号Dinに対し、後段の組み合わせ回路５０に外部出力Qを供給する。
【００４０】
ここで、図４及び図５を参照して、テストモードにおける動作を説明する。テストの一例としては、テストイネーブル信号TEをHighにし、テストモードでテストデータ入力信号TDinを入力する。この結果、テストイネーブル信号/TEが与えられている図４のPMOSトランジスタP7、P8がONになり、テストデータ入力信号TDinがNMOS論理回路１１に与えられる。
【００４１】
次に、テストイネーブル信号TEをLowにし、通常モードで１クロック動作させ、その結果をスキャンチェーン２に蓄える。そして、再びテストイネーブル信号TEをHighにし、テストモードに切り替えて、そのテスト結果であるテストデータ出力TDoutを順次出力するテストが考えられる。ここで、本実施形態ではシフトレジスタとしてシリアルレジスタを示すが、本発明は特にこれに限定されるものではなく、例えば、シフトレジスタとしてパラレルレジスタを用いてもよい。
【００４２】
図６を参照して、試験可能な不揮発論理ゲート１の通常モード時における動作について説明する。クロック信号CLKがLowの時はプリチャージ期間である。この期間、図２(b)に示す貫通電流制御回路２１のNMOSトランジスタN1はOFFとなり、PMOSトランジスタP3、P4、P5、P6はON状態となって、データ出力Dout、/Doutを電源電圧Vddにプリチャージする。
【００４３】
次に、クロック信号CLKの立ち上がりで、組み合わせ回路５０からのデータ入力信号Dinはロースルーラッチ回路１２によりラッチされ、NMOS論理回路１１へデータ入力信号Din’が供給される。貫通電流制御回路２１のNMOSトランジスタN1はON、プリチャージ用PMOSトランジスタP3、P4はOFFとなり、評価期間となる。プリチャージ時に蓄えられていた電荷は、NMOS論理回路１１などのネットワーク回路内に形成された２つの電流パス、および、相補の抵抗値を記憶した不揮発性抵抗素子R1、R2を介して、接地に流れ込む。MTJ素子に流れる電流値は不揮発性抵抗素子R1、R2の抵抗値に依存するため、データ出力Doutと/Doutには電位差が生じる。そして、その電位差は、PMOSトランジスタP1、P2（センス回路）によって増幅され、相補のデータ出力Dout、/Doutが出力される。次に、クロック信号CLKの立ち下りで、データ出力（出力結果）Dout、/Doutはハイスルーラッチ回路１３でラッチされ、後段の組み合わせ回路５０に外部出力Q、/Qを供給する。
【００４４】
上記のように第１実施形態における試験可能な不揮発論理ゲート１は、その独特な動作である、プリチャージ期間と評価期間を隠蔽することができ、通常のＤフリップフロップと同様の動作方法である。さらに、第１実施形態における試験可能な不揮発論理ゲート１は、不揮発性抵抗素子R1、R2の論理値を用いた演算が可能である。
【００４５】
本実施形態では、クロック信号CLKの立ち上がりでデータ入力信号Dinをラッチし、クロック信号CLKの立ち下りで、データ出力Dout、/Doutをラッチする例を挙げたが、他の実施形態として、クロック信号CLKの立ち下りでデータ入力信号Dinをラッチし、クロック信号CLKの立ち上がりで、データ出力Dout、/Doutをラッチするように不揮発論理ゲート１を構成させることができる。
【００４６】
次に、図７を参照して、テストモード時の動作について説明する。テストイネーブル信号TEがHighの場合、各不揮発素子１はテストモードとなり、試験可能な不揮発論理ゲート１からなるスキャンチェーン２はテストデータ入力信号TDinを順次入力できる状態になる。図４に示された試験可能な不揮発論理ゲート１は、クロック信号CLKがLowでテストイネーブル信号/TEがLowの時、PMOSトランジスタP3、P4、P7、P8がONとなり、テストデータ入力信号TDinがデータ出力Dout、/Doutとして出力される。クロック信号CLKがHighになると、貫通電流制御回路２１のNMOSトランジスタN1はON、PMOSトランジスタP3、P4がOFFとなり、評価期間となる。既にデータ出力Dout、/Doutによってデータ出力端子には、テストデータ入力信号TDin、/TDinに対応した電圧差が生じており、PMOSトランジスタP1、P2はその電圧差を大きくするように働く。そして、次のクロックの立下りで、データ出力Dout、/Doutはハイスルーラッチ回路１３でラッチされ、後段の試験可能な不揮発論理ゲート１にテストデータ出力TDout、/TDoutを供給する。
【００４７】
上記のように、第１実施形態における試験可能な不揮発論理ゲート１は、通常のＤフリップフロップと同様に動作可能である。さらに、本試験可能な不揮発論理ゲート１を含むスキャンチェーン２は通常のＤフリップフロップからなるスキャンチェーン２と同様に動作できる。
【００４８】
さらに、本試験可能な不揮発論理ゲート１は、ライブラリに登録することで、既存のCADシステムを用いた自動設計フローにほぼ沿った形で設計が可能となる。
【００４９】
さらに本試験可能な不揮発論理ゲート１は不揮発論理ゲート１にもともと備わっている回路の一部をテスト回路の一部として利用することにより回路部品点数を削減し、テスト回路面積を抑えている。
【００５０】
（第２実施形態）
本発明の第２実施形態について説明する。図８は、本発明の第２の実施形態に係る試験可能な不揮発論理ゲート１の回路図である。本実施形態は、図４に示した第１実施形態と比較し、NMOSトランジスタN11とN12から構成されるライトイネーブル信号端子を含む書込み回路３０を追加的に備えている点で異なっている。即ち、本実施形態では、不揮発性抵抗素子R1、R2へテストデータを書き込める手段を備えている点で、図４とは相違している。この点以外は第１実施形態と同様であるため、ここでは詳細な説明を省略する。
【００５１】
第２実施形態における不揮発論理ゲート１の各要素は以下のように接続される。NMOSトランジスタN11のドレインまたはソースの一方は、外部出力Qと接続され、そのドレインまたはソースの他方は、不揮発性抵抗素子R1、R2の一方の端子と、NMOSトランジスタN12のソースまたはドレインの一方と、NMOSトランジスタN1のソースとに接続されている。NMOSトランジスタN12のドレインまたはソースの他方は、外部出力/Qに接続されている。NMOSトランジスタN11、N12のゲートには、ライトイネーブル信号WEが与えることができる。
【００５２】
本不揮発論理ゲート１の書き込みは次のように行われる。クロック信号CLKがLowの時、不揮発性抵抗素子R1、R2に書き込むデータはハイスルーラッチ回路１３に保持される。この状態では、NMOSトランジスタN1はOFFである。ライトイネーブル信号WEがHighになるとNMOSトランジスタN11とN12がONとなり、書き込み電流が不揮発性抵抗素子R1、R2の近傍を流れる。
【００５３】
磁場書きこみ素子の場合、書き込み電流がN11とN12の間に設けられた書き込み配線に電流が流れる。その書き込み電流で発生する磁場により、不揮発性抵抗素子R1、R2に相補のデータを書き込むことができる。不揮発性抵抗素子R1、R2に書き込まれるデータは、書き込み電流の流れる方向に依存する。その電流方向は外部出力Qにより決定される。
【００５４】
図９は、第２実施形態における不揮発論理ゲート１を用いたスキャンチェーン２の模式図である。第１実施形態のスキャンチェーン２と比較して、本実施形態では、各不揮発論理ゲート１にライトイネーブル信号WEが入力できるように構成されている。ここで、TE信号やCLK信号の反転信号である/TE信号や/CLK信号は省略されているが、必要に応じて、インバータなどの回路により反転信号を生成することができる。
【００５５】
本スキャンチェーン２は、第１実施形態と同様のテストモードと通常モードに加え、書き込みモードを備える。テストの一例としては、テストイネーブル信号TEをHighにし、テストモードで、不揮発性抵抗素子R1、R2へ書き込むテストデータ入力信号TDinを順次入力する。次に、テストイネーブル信号TEをLowにし、通常モードに切り替える。そして、ライトイネーブル信号WEをHighにし、不揮発性抵抗素子R1、R2にテストデータを書き込む。その後、ライトイネーブル信号WEをLowにし、不揮発性抵抗素子R1、R2の書き込み電流を停止する。以上で不揮発性抵抗素子R1、R2へのテストデータの書き込みは完了する。この後、第１実施形態と同様にテストデータをスキャンチェーン２に供給し、１クロックだけ通常モードで動作させた結果を、スキャンチェーン２を用いて出力する。
【００５６】
上記のように、第２実施形態における試験可能な不揮発論理ゲート１は、第１実施家形態の効果に加え、次の効果が得られる。不揮発性抵抗素子R1、R2に書き込むテストデータと、不揮発論理ゲート１の出力電圧として保持されるテストデータを同じ回路を利用して、各試験可能な不揮発論理ゲート１に供給できるため、テスト回路面積を削減できる。また、本回路は、初期化や再設定時に利用することもできる。
【００５７】
（第３実施形態）
次に、本発明の第３実施形態について説明する。図１０は、第３実施形態における試験可能な不揮発論理ゲート１の回路図である。本実施形態における試験可能な不揮発論理ゲート１は、演算回路１０と、不揮発メモリ回路２０と、シフト回路４０とから構成される。本実施形態では、第１実施形態の不揮発論理ゲート１に対して、シフト回路４０が追加されている。この点以外は第１実施形態と同様であるため、構成及び動作については、ここでは詳細な説明を省略する。
【００５８】
まず、シフト回路４０は、４個のNMOSトランジスタN13、N14、N15、N16から構成されるシフト制御端子を含む。次に、シフト回路４０の各要素の接続状態について説明する。NMOSトランジスタN13のソースまたはドレインの一方は、NMOSトランジスタN15のソースまたはドレインの一方と、NMOS論理回路１１の一端と接続され、さらに、そのソースまたはドレインの他方は、不揮発性抵抗素子R1の一端と接続され、リダンダンシ入力REDinを入力できるよう構成される。NMOSトランジスタN14のソースまたはドレインの一方は、NMOSトランジスタN16のソースまたはドレインの一方と、NMOS論理回路１１の一端と接続され、さらに、そのソースまたはドレインの他方は、不揮発性抵抗素子R2の一端と接続され、反転したリダンダンシ入力/REDinを入力できるように構成されている。各NMOSトランジスタN13、N14のゲートは、反転したシフト制御信号/SHIFTを受け取るように構成されている。NMOSトランジスタN15のソースまたはドレインの他方は、リダンダンシ出力REDoutを出力できるように構成されている。また、NMOSトランジスタN16のソースまたはドレインの他方は、反転したリダンダンシ出力/REDoutを出力できるように構成されている。NMOSトランジスタN15、N16のゲートは、シフト制御信号SHIFTを受け取るように構成されている。
【００５９】
図１１は、第３実施形態における試験可能な不揮発論理ゲート１を用いたスキャンチェーン２に対し、不良ビットを避けて冗長ビットを利用できるように改良した場合の模式図である。第１実施形態に比較して、シフト回路４０と、追加の不揮発メモリ回路２０aが追加されており、シフト制御信号SHIFTを各シフト回路４０に入力できるように構成されている。簡略化のため、TE信号やCLK信号の反転信号である/TE信号や/CLK信号などは省略されているが、必要に応じて、インバータなどの回路により反転信号を生成することができる。
【００６０】
ここで、本スキャンチェーン２のシフト制御端子に非アクティブ（Low）のシフト制御信号SHIFTが与えられる場合、不揮発メモリ回路２０に演算回路１０からのセンス電流が流れる。一方、シフト制御端子にアクティブ（High）のシフト制御信号SHIFTが与えられる場合には、上記演算回路１０からのセンス電流はリダンダンシ出力として出力されることとなる。
【００６１】
本スキャンチェーン２は、第１実施形態の機能に加え、シフトリダンダンシとして不良ビットを救済する手段を提供する。具体的には、不良と判定された不揮発メモリ回路２０より後段にあるシフト回路４０にHighのシフト制御信号SHIFTが供給される場合には、前段のシフト回路４０のリダンダンシ出力が後段のシフト回路４０のリダンダンシ入力として入力される。そして、演算回路１０からのセンス電流は、不良と判定された不揮発メモリ回路２０を回避して、他の不揮発メモリ回路２０及び/又は冗長な不揮発メモリ回路２０aに流れる。
【００６２】
図１１に示す本スキャンチェーン２においては、まず、テストモードにより不揮発メモリ回路２０のテストが行われ、不良が検出される。その不良と判定された不揮発メモリ回路２０を避けるために、シフト制御信号SHIFTの一部（図１１ではSHIFT1、SHIFT2）には、Highの電圧が供給される。それ以外のシフト信号（図１１ではSHIFT0）はLowである。これにより、不揮発論理ゲート１の演算時、演算回路１０から流れる電流は、不良と判定された不揮発メモリ回路２０を避けて後段の不揮発メモリ回路２０aに流れることで、正常に動作することができる。
【００６３】
シフト制御信号SHIFTを供給する回路は、シリアルレジスタなどのシフトレジスタから構成されていても良い。また、シリアルレジスタ内の不良データを記憶するために、不揮発性メモリを用いても良い。また、そのシリアルレジスタは本スキャンチェーン２に隣接し、かつ、平行に走ることで、シフト制御信号SHIFTの配線領域を小さくしていても良い。
【００６４】
上記のように第３実施形態における試験可能な不揮発論理ゲート１は、第１実施形態の機能に加え、シフトリダンダンシとして不良ビットを救済する手段を提供する。さらに、トランジスタ素子に比較して、プロセスが未成熟な不揮発性抵抗素子R1、R2は不良となりやすいため、ＭＴＪ素子を含む小さい回路部品のみに冗長性を持たせている。これにより、追加する回路面積を抑えることができる。
【００６５】
また、追加される回路は演算回路１０を含まないため、主データパスは変更する必要がない。つまり、演算回路１０への複数の入力にシフト回路４０を挿入する必要が無い。また、演算回路１０への出力にシフト回路４０を挿入する必要がない。これにより、追加する回路面積を抑えることができ、かつ、主データパスに追加されるデータ遅延を軽減できる。
【００６６】
なお、他の実施形態として、第３の実施形態の不揮発論理ゲート１に書込み回路３０を追加した構成も本発明の範疇に含まれる。
【００６７】
以上、本発明のいくつかの実施形態について説明したが、本発明は上記実施形態に限定されない。例えば、上記実施形態では、PMOSトランジスタで構成される信号入力端子、NMOSトランジスタで構成されるNMOS論理回路、及びNMOSトランジスタで構成されるシフト回路を例に説明したが、その構成要素はPMOSトランジスタ、NMOSトランジスタに関わらない。また、本不揮発論理ゲートの動作を維持できる限りにおいて、ロースルーラッチ回路及びハイスルーラッチ回路を入れ替えて構成してもよい。更に、センス回路、クロック信号端子、テストイネーブル信号端子、及びテストデータ入力端子を構成するトランジスタの数は、例示した個数に限定されるものではない。
【００６８】
また、上記各実施形態においては、３個又は６個の試験可能な不揮発論理ゲート１からなるスキャンチェーン２を示したが、実際には、スキャンチェーン２の不揮発論理ゲート１の数は３個又は６個に限られるものではなく、例えば、スキャンチェーン２を４個や１２個の試験可能な不揮発論理ゲート１で構成させても良い。
【００６９】
他に、上記各実施形態においては、試験可能な不揮発論理ゲート１の替わりに、通常のスキャンフリップフロップがスキャンチェーン２の一部となっていてもよい。通常のスキャンフリップフロップのデータはスキャンチェーン２内もしくはその近傍の不揮発論理ゲート１の磁気抵抗素子の書き込みデータとして用いてもよい。
【００７０】
以上、いくつかの実施の形態に基づき本発明を具体的に説明したが、本発明は上述の実施の形態に限定されるものではない。本発明の要旨を逸脱しない範囲で種々の変更を施すことができ、これらの変更例も本発明に含まれることはいうまでもない。
【符号の説明】
【００７１】
１  不揮発論理ゲート
２  スキャンチェーン
１０  演算回路
１１  NMOS論理回路
１２  ロースルーラッチ回路
１３  ハイスルーラッチ回路
１４  テスト回路
２０  不揮発メモリ回路
２１  貫通電流制御回路
３０  書込み回路
４０  シフト回路
５０  組み合わせ回路
【図１】
0005807287.tif 000002
【図２】
0005807287.tif 000003
【図３】
0005807287.tif 000004
【図４】
0005807287.tif 000005
【図５】
0005807287.tif 000006
【図６】
0005807287.tif 000007
【図７】
0005807287.tif 000008
【図８】
0005807287.tif 000009
【図９】
0005807287.tif 000010
【図１０】
0005807287.tif 000011
【図１１】
0005807287.tif 000012