(57)【要約】【課題】不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる半導体回路を得る。【解決手段】本開示の半導体回路は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを記憶する第１のメモリとを備える。【選択図】図５
2018060277.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを記憶する第１のメモリと
を備えた半導体回路。
【請求項２】
検査部をさらに備え、
前記順序回路部は、前記第１の期間の後の第２の期間において、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行い、
前記検査部は、前記第２の期間において、前記第１のメモリに記憶された前記第１のデータまたは前記第２のデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第３のデータを検査する
請求項１に記載の半導体回路。
【請求項３】
前記検査部は、前記第２の期間において、前記第３のデータを検査した結果に基づいて第４のデータを生成し、その第４のデータを前記シフトレジスタに供給し、
前記順序回路部は、前記第２の期間において、前記シフト動作を行うことにより、前記第４のデータを前記複数の論理回路部における前記フリップフロップの初期データとして設定する
請求項２に記載の半導体回路。
【請求項４】
前記順序回路部に対して第５のデータを供給する第１の組み合わせ回路と、
第６のデータに基づいて動作する第２の組み合わせ回路と
をさらに備え、
前記順序回路部は、前記第２の期間の後の第３の期間において、前記第５のデータに基づいて前記第６のデータを生成する処理動作を行う
請求項２に記載の半導体回路。
【請求項５】
前記第１のメモリは、前記第２のデータを記憶し、
前記検査部は、前記第１の期間において、前記第１のデータに基づいて第１の誤り訂正コードを生成し、
前記第２のデータは、前記第１の誤り訂正コードである
請求項３に記載の半導体回路。
【請求項６】
前記検査部は、前記第２の期間において、前記第３のデータに基づいて第２の誤り訂正コードを求め、前記第１の誤り訂正コードと前記第２の誤り訂正コードとを比較することにより、前記第３のデータを検査する
請求項５に記載の半導体回路。
【請求項７】
前記検査部は、前記第１の誤り訂正コードと前記第２の誤り訂正コードとが一致しない場合に、前記第１の誤り訂正コードに基づいて前記第４のデータを生成する
請求項６に記載の半導体回路。
【請求項８】
前記検査部は、前記第２の期間において、前記第１の誤り訂正コードに基づいて前記第１のデータを生成し、前記第１のデータと前記第３のデータとを比較することにより、前記第３のデータを検査する
請求項５に記載の半導体回路。
【請求項９】
前記検査部は、前記第１のデータと前記第３のデータとが一致しない場合に、前記１のデータを前記第４のデータとして、前記シフトレジスタに供給する
請求項８に記載の半導体回路。
【請求項１０】
前記第１のメモリは、前記第１のデータを記憶し、
前記検査部は、前記第２の期間において、前記第３のデータと、前記第１のメモリに記憶された前記第１のデータとを比較することにより、前記第３のデータを検査する
請求項３に記載の半導体回路。
【請求項１１】
前記検査部は、前記第３のデータと、前記第１のメモリに記憶された前記第１のデータとが一致しない場合に、前記１のデータを前記第４のデータとして、前記シフトレジスタに供給する
請求項１０に記載の半導体回路。
【請求項１２】
前記第１の期間および前記第２の期間において、前記順序回路部への電源供給を行い、前記第１の期間と前記第２の期間との間の第４の期間において、前記順序回路部への電源供給を停止するように電源制御を行う制御部をさらに備えた
請求項２に記載の半導体回路。
【請求項１３】
前記第１の期間において、前記順序回路部は、前記シフト動作を行った後に前記ストア動作を行う
請求項１に記載の半導体回路。
【請求項１４】
前記第１の期間において、前記順序回路部は、前記ストア動作を行った後に前記シフト動作を行う
請求項１に記載の半導体回路。
【請求項１５】
前記フリップフロップは、マスタラッチとスレーブラッチとを有し、
前記記憶素子は、前記スレーブラッチに接続可能に構成された
請求項１に記載の半導体回路。
【請求項１６】
前記スレーブラッチは、
第１のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を第２のノードに印加可能に構成された第１の回路と、
前記第２のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を前記第１のノードに印加可能に構成された第２の回路と
を有し、
前記記憶素子は、前記第１のノードに接続可能に構成された第１の記憶素子と、前記第２のノードに接続可能に構成された第２の記憶素子とを含む
請求項１５に記載の半導体回路。
【請求項１７】
前記記憶素子は、印加される電流に基づいて情報を記憶する
請求項１に記載の半導体回路。
【請求項１８】
前記記憶素子は、ユニポーラ型またはバイポーラ型の素子である
請求項１７に記載の半導体回路。
【請求項１９】
前記記憶素子は、印加される電圧に基づいて情報を記憶する
請求項１に記載の半導体回路。
【請求項２０】
前記第１のメモリの記憶素子と同じ種類の記憶素子を有する第２のメモリをさらに備え、
前記第１のメモリの記憶素子のサイズは、前記第２のメモリの記憶素子のサイズよりも大きい
請求項１に記載の半導体回路。
【請求項２１】
第１の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを第１のメモリに記憶させる
半導体回路の制御方法。
【請求項２２】
前記第１の期間の後の第２の期間において、前記順序回路部に、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行わせ、
前記第２の期間において、検査部に、前記第１のメモリに記憶されたデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第３のデータを検査させる
請求項２１に記載の半導体回路の制御方法。
【請求項２３】
半導体回路と、
前記半導体回路に電源電圧を供給するバッテリと
を備え、
前記半導体回路は、
それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを記憶する第１のメモリと
を有する
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、不揮発性の記憶素子を有する半導体回路、そのような半導体回路の制御方法、およびそのような半導体回路を備えた電子機器に関する。
【背景技術】
【０００２】
電子機器は、エコロジーの観点から消費電力が低いことが望まれている。半導体回路では、例えば、一部の回路への電源供給を選択的に停止することにより消費電力の低減を図る、いわゆるパワーゲーティングという技術がしばしば用いられる。このように電源供給が停止された回路では、電源供給が再開された後に、すぐに、電源供給が停止される前の動作状態に復帰することが望まれる。そのような短時間での復帰動作を実現する方法の一つに、回路に不揮発性の記憶素子を内蔵する方法がある（例えば特許文献１など）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４２２８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、不揮発性の記憶素子は、長年にわたり書き換えを続けることにより、いわゆる経年劣化が生じるおそれがある。そこで、このような経年劣化が生じた場合でも、回路動作への影響を抑えることができることが望まれる。
【０００５】
不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる半導体回路、半導体回路の制御方法、および電子機器を提供することが望ましい。
【課題を解決するための手段】
【０００６】
本開示の一実施の形態に係る半導体回路は、順序回路部と、第１のメモリとを備えている。順序回路部は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行うものである。第１のメモリは、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを記憶するものである。第１のメモリは、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを記憶するものである。
【０００７】
本開示の一実施の形態に係る半導体回路の制御方法は、第１の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを第１のメモリに記憶させるものである。
【０００８】
本開示の一実施の形態に係る電子機器は、半導体回路と、半導体回路に電源電圧を供給するバッテリとを備えたものである。半導体回路は、順序回路部と、第１のメモリとを有している。順序回路部は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行うものである。第１のメモリは、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを記憶するものである。第１のメモリは、第１の期間において、シフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータを記憶するものである。
【０００９】
本開示の一実施の形態に係る半導体回路、半導体回路の制御方法、および電子機器では、第１の期間において、順序回路部において、ストア動作と、シフト動作とが行われる。ストア動作では、複数の論理回路部における記憶素子により、複数の論理回路部における電圧状態がそれぞれ記憶される。シフト動作では、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作する。そして、このシフト動作によりシフトレジスタから出力された第１のデータまたは第１のデータに対応する第２のデータが、第１のメモリに記憶される。
【発明の効果】
【００１０】
本開示の一実施の形態に係る半導体回路、半導体回路の制御方法、および電子機器によれば、各論理回路部に不揮発性の記憶素子を設けるとともに、シフト動作によりシフトレジスタから出力された第１のデータまたは第２のデータを第１のメモリに記憶するようにしたので、不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれの効果があってもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の一実施の形態に係る半導体回路の一構成例を表すブロック図である。
【図２】図１に示した順序回路部の一構成例を表す回路図である。
【図３】図２に示したフリップフロップおよび記憶部の一構成例を表す回路図である。
【図４】図１に示した半導体回路の通常動作の一例を表す説明図である。
【図５】図１に示した半導体回路のスリープ動作の一例を表す説明図である。
【図６】図１に示した半導体回路のスキャンテスト動作の一例を表す説明図である。
【図７】スリープ動作における前処理動作の一例を表すフローチャートである。
【図８Ａ】図３に示した記憶部におけるストア動作の一例を表す説明図である。
【図８Ｂ】図３に示した記憶部におけるストア動作の一例を表す他の説明図である。
【図９】スリープ動作における後処理動作の一例を表すフローチャートである。
【図１０】図３に示した記憶部におけるリストア動作の一例を表す説明図である。
【図１１】変形例に係る半導体回路の一構成例を表すブロック図である。
【図１２】他の変形例に係る半導体回路の一構成例を表すブロック図である。
【図１３】他の変形例に係る半導体回路の一構成例を表すブロック図である。
【図１４】他の変形例に係る半導体回路の一構成例を表すブロック図である。
【図１５】図１４に示した半導体回路の前処理動作の一例を表すフローチャートである。
【図１６】図１４に示した半導体回路の後処理動作の一例を表すフローチャートである。
【図１７】他の変形例に係る半導体回路の後処理動作の一例を表すフローチャートである。
【図１８】他の変形例に係る半導体回路の前処理動作の一例を表すフローチャートである。
【図１９】他の変形例に係る半導体回路における順序回路部の一構成例を表す回路図である。
【図２０】実施の形態を適用したスマートフォンの外観構成を表す斜視図である。
【発明を実施するための形態】
【００１２】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
１．実施の形態
２．適用例
【００１３】
＜１．実施の形態＞
［構成例］
図１は、一実施の形態に係る半導体回路（半導体回路１）の一構成例を表すものである。半導体回路１は、いわゆるスキャンテストを行うことにより、評価の容易化を図ることができるように構成されたものである。なお、本開示の実施の形態に係る半導体回路の制御方法は、本実施の形態により具現化されるので、併せて説明する。
【００１４】
半導体回路１は、電源トランジスタ５１と、Ｎ個の組み合わせ回路部１０（組み合わせ回路部１０（１）〜１０（Ｎ））と、（Ｎ−１）個の順序回路部２０（順序回路部２０（１）〜２０（Ｎ−１））と、選択部５２，５３と、検査部５４と、メモリ５５と、制御部５６とを備えている。
【００１５】
電源トランジスタ５１は、この例では、Ｐ型のＭＯＳ（Metal Oxide Semiconductor）トランジスタであり、ゲートには制御信号が供給され、ソースには電源電圧ＶＤＤが供給され、ドレインは、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４に接続されている。
【００１６】
この構成により、半導体回路１では、スリープ動作を実現することができるようになっている。すなわち、スリープ動作では、電源トランジスタ５１をオフ状態にして、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４への電源供給を停止する。また、通常動作では、電源トランジスタ５１をオン状態にして、これらの回路に電源電圧ＶＤＤを供給する。半導体回路１では、このようないわゆるパワーゲーティングにより、消費電力を低減することができるようになっている。
【００１７】
組み合わせ回路部１０は、そのときに入力されている信号だけで出力信号が一意的に定まる、いわゆる組み合わせ回路により構成されるものである。この例では、組み合わせ回路部１０は、供給された複数の信号に基づいて複数の信号を生成する。具体的には、例えば、組み合わせ回路部１０（１）は、半導体回路１の外部から供給された複数の信号に基づいてＭ個の信号ＤＩ（１）〜ＤＩ（Ｍ）を生成して、その信号ＤＩ（１）〜ＤＩ（Ｍ）を順序回路部２０（１）に供給する。また、組み合わせ回路部１０（２）は、順序回路部２０（１）から供給されたＭ個の信号ＤＯ（１）〜ＤＯ（Ｍ）に基づいて複数の信号を生成し、生成した複数の信号を順序回路部２０（２）に供給する。組み合わせ回路部１０（３）〜１０（Ｎ−１）についても同様である。そして、組み合わせ回路部１０（Ｎ）は、順序回路部２０（Ｎ−１）から供給された複数の信号に基づいて複数の信号を生成し、生成した複数の信号を半導体回路１の外部に供給するようになっている。このように、半導体回路１では、組み合わせ回路部１０（１）〜１０（Ｎ）と、順序回路部２０（１）〜２０（Ｎ−１）とが、交互に配置されている。
【００１８】
順序回路部２０は、そのときに入力されている信号だけでなく、以前に入力された信号にも基づいて出力信号を生成する、いわゆる順序回路により構成されるものである。この順序回路部２０は、スキャンイネーブル信号ＳＥに応じて異なる動作を行うようになっている。
【００１９】
具体的には、後述するように、順序回路部２０は、スキャンイネーブル信号ＳＥが“０”（非アクティブ）である場合には、前段の組み合わせ回路部１０から供給された複数の信号およびクロック信号ＣＬＫに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部１０に供給する。具体的には、例えば、順序回路部２０（１）は、前段の組み合わせ回路部１０（１）から供給された複数の信号ＤＩ（１）〜ＤＩ（Ｍ）およびクロック信号ＣＬＫに基づいて複数の信号ＤＯ（１）〜ＤＯ（Ｍ）を生成し、その複数の信号ＤＯ（１）〜ＤＯ（Ｍ）を、後段の組み合わせ回路部１０（２）に供給する。順序回路部２０（２）は、前段の組み合わせ回路部１０（２）から供給された複数の信号およびクロック信号ＣＬＫに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部１０（３）に供給する。順序回路部２０（３）〜２０（Ｎ−２）についても同様である。そして、順序回路部２０（Ｎ−１）は、前段の組み合わせ回路部１０（Ｎ−１）から供給された複数の信号およびクロック信号ＣＬＫに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部１０（Ｎ）に供給するようになっている。
【００２０】
また、順序回路部２０は、スキャンイネーブル信号ＳＥが“１”（アクティブ）である場合には、スキャンシフト動作を行う。具体的には、例えば、順序回路部２０（１）は、選択部５２から供給された信号Ｓ（１）を受け取るとともに、シフトレジスタとして動作することにより信号Ｓ（２）を生成し、その信号Ｓ（２）を後段の順序回路部２０（２）に供給する。順序回路部２０（２）は、この信号Ｓ（２）を受け取るとともに、シフトレジスタとして動作することにより信号Ｓ（３）を生成し、その信号Ｓ（３）を後段の順序回路部２０（３）に供給する。順序回路部２０（３）〜２０（Ｎ−２）についても同様である。そして、順序回路部２０（Ｎ−１）は、順序回路部２０（Ｎ−２）から供給された信号Ｓ（Ｎ−１）を受け取るとともに、シフトレジスタとして動作することにより信号Ｓ（Ｎ）を生成し、その信号Ｓ（Ｎ）を選択部５３に供給するようになっている。
【００２１】
図２は、順序回路部２０（１）の一構成例を表すものである。なお、順序回路部２０（２）〜２０（Ｎ−1）についても同様である。順序回路部２０（１）は、Ｍ個のセレクタ２１（セレクタ２１（１）〜２１（Ｍ））と、Ｍ個のフリップフロップ２２（フリップフロップ２２（１）〜２２（Ｍ））と、Ｍ個の記憶部２３（記憶部２３（１）〜２３（Ｍ））とを有している。Ｍ個のセレクタ２１、Ｍ個のフリップフロップ２２、およびＭ個の記憶部２３は、Ｍ個の信号ＤＩ（１）〜ＤＩ（Ｍ）に対応して設けられている。
【００２２】
セレクタ２１は、スキャンイネーブル信号ＳＥに基づいて、第１の入力端子に入力された信号および第２の入力端子に入力された信号のうちの一方を選択して、その選択された信号を出力するものである。具体的には、例えば、セレクタ２１（１）は、スキャンイネーブル信号ＳＥが“０”（非アクティブ）である場合には、信号ＤＩ（１）を選択して信号Ｄ（１）として出力し、スキャンイネーブル信号ＳＥが“１”（アクティブ）である場合には、信号Ｓ（１）を選択して信号Ｄ（１）として出力する。セレクタ２１（２）は、スキャンイネーブル信号ＳＥが“０”（非アクティブ）である場合には、信号ＤＩ（２）を選択して信号Ｄ（２）として出力し、スキャンイネーブル信号ＳＥが“１”（アクティブ）である場合には、信号ＤＯ（１）を選択して信号Ｄ（２）として出力する。セレクタ２１（３）〜２１（Ｍ−１）についても同様である。そして、セレクタ２１（Ｍ）は、スキャンイネーブル信号ＳＥが“０”（非アクティブ）である場合には、信号ＤＩ（Ｍ）を選択して信号Ｄ（Ｍ）として出力し、スキャンイネーブル信号ＳＥが“１”（アクティブ）である場合には、信号ＤＯ（Ｍ−１）を選択して信号Ｄ（Ｍ）として出力するようになっている。
【００２３】
フリップフロップ２２は、Ｄ型フリップフロップであり、クロック信号ＣＬＫの立ち上がりエッジに基づいて、データ入力端子Ｄに入力された信号をサンプリングして、そのサンプリング結果をデータ出力端子Ｑから出力するものである。具体的には、フリップフロップ２２（１）は、クロック信号ＣＬＫの立ち上がりエッジに基づいて、セレクタ２１（１）の出力信号Ｄ（１）をサンプリングし、そのサンプリング結果を信号ＤＯ（１）として出力する。フリップフロップ２２（２）は、クロック信号ＣＬＫの立ち上がりエッジに基づいて、セレクタ２１（２）の出力信号Ｄ（２）をサンプリングし、そのサンプリング結果を信号ＤＯ（２）として出力する。フリップフロップ２２（３）〜２２（Ｍ−１）についても同様である。そして、フリップフロップ２２（Ｍ）は、クロック信号ＣＬＫの立ち上がりエッジに基づいて、セレクタ２１（Ｍ）の出力信号Ｄ（Ｍ）をサンプリングし、そのサンプリング結果を信号ＤＯ（Ｍ）として出力するとともに、信号Ｓ（２）として出力するようになっている。
【００２４】
記憶部２３は、不揮発性の記憶部であり、信号ＳＲ，ＣＴＲＬに基づいて、対応するフリップフロップ２２の電圧状態を記憶するものである。具体的には、記憶部２３（１）は、信号ＳＲ，ＣＴＲＬに基づいて、フリップフロップ２２（１）の電圧状態を記憶し（ストア動作）、または記憶している情報に基づいてフリップフロップ２２の電圧状態を設定する（リストア動作）ようになっている。記憶部２３（２）〜２３（Ｍ）についても同様である。
【００２５】
図３は、フリップフロップ２２（１）および記憶部２３（１）の一構成例を表すものである。なお、フリップフロップ２２（２）〜２２（Ｍ）および記憶部２３（２）〜２３（Ｍ）についても同様である。フリップフロップ２２（１）は、インバータ２４，２５と、マスタラッチ３０と、スレーブラッチ４０とを有している。記憶部２３（１）は、トランジスタ４６，４７と、記憶素子４８，４９とを有している。
【００２６】
インバータ２４は、クロック信号ＣＬＫを反転することによりクロック信号ＣＢを生成するものである。インバータ２５は、クロック信号ＣＢを反転することによりクロック信号Ｃを生成するものである。
【００２７】
マスタラッチ３０は、インバータ３１と、トランスミッションゲート３２と、インバータ３３，３４と、トランスミッションゲート３５とを有している。インバータ３１の入力端子はフリップフロップ２２（１）のデータ入力端子Ｄに接続されるとともに信号Ｄ（１）が供給され、出力端子はトランスミッションゲート３２の一端に接続されている。トランスミッションゲート３２の一端はインバータ３１の出力端子に接続され、他端はノードＮ３１に接続されている。このトランスミッションゲート３２は、クロック信号Ｃが低レベルであるときに一端と他端との間をオン状態にし、クロック信号Ｃが高レベルであるときに一端と他端との間をオフ状態にするものである。インバータ３３の入力端子はノードＮ３１に接続され、出力端子はノードＮ３２に接続されている。インバータ３４の入力端子はノードＮ３２に接続され、出力端子はトランスミッションゲート３５の一端に接続されている。トランスミッションゲート３５の一端はインバータ３４の出力端子に接続され、他端はノードＮ３１に接続されている。このトランスミッションゲート３５は、クロック信号Ｃが高レベルであるときに一端と他端との間をオン状態にし、クロック信号Ｃが低レベルであるときに一端と他端との間をオフ状態にするものである。
【００２８】
スレーブラッチ４０は、トランスミッションゲート４１と、インバータ４２，４３と、トランスミッションゲート４４と、インバータ４５とを有している。トランスミッションゲート４１の一端はノードＮ３２に接続され、他端はノードＮ４１に接続されている。このトランスミッションゲート４１は、クロック信号Ｃが高レベルであるときに一端と他端との間をオン状態にし、クロック信号Ｃが低レベルであるときに一端と他端との間をオフ状態にするものである。インバータ４２の入力端子はノードＮ４１に接続され、出力端子はノードＮ４２に接続されている。インバータ４３の入力端子はノードＮ４２に接続され、出力端子はトランスミッションゲート４４の一端に接続されている。トランスミッションゲート４４の一端はインバータ４３の出力端子に接続され、他端はノードＮ４１に接続されている。このトランスミッションゲート４４は、クロック信号Ｃが低レベルであるときに一端と他端との間をオン状態にし、クロック信号Ｃが高レベルであるときに一端と他端との間をオフ状態にするものである。インバータ４５の入力端子はノードＮ４２に接続され、出力端子はフリップフロップ２２（１）のデータ出力端子Ｑに接続され、インバータ４５は信号ＤＯ（１）を出力するものである。
【００２９】
トランジスタ４６，４７は、この例ではＮ型のＭＯＳトランジスタである。トランジスタ４６のドレインはノードＮ４１に接続され、ゲートには信号ＳＲが供給され、ソースは記憶素子４８の一端に接続されている。トランジスタ４７のドレインはノードＮ４２に接続され、ゲートには信号ＳＲが供給され、ソースは記憶素子４９の一端に接続されている。
【００３０】
記憶素子４８，４９は、不揮発性の記憶素子であり、この例では、スピン注入により、フリー層Ｆ（後述）の磁化の向きを変えることにより情報の記憶を行う、スピン注入磁化反転型（ＳＴＴ；Spin Transfer Torque）の磁気トンネル接合（ＭＴＪ；Magnetic Tunnel Junction）素子である。記憶素子４８の一端はトランジスタ４６のソースに接続され、他端には信号ＣＴＲＬが供給されている。記憶素子４９の一端はトランジスタ４７のソースに接続され、他端には信号ＣＴＲＬが供給されている。
【００３１】
以下、記憶素子４８を例に説明する。なお、記憶素子４９についても同様である。記憶素子４８は、ピンド層Ｐと、トンネルバリア層Ｉと、フリー層Ｆとを有している。ピンド層Ｐは、磁化ＰＪの方向が、例えば膜面垂直方向に固定された強磁性体により構成されるものである。フリー層Ｆは、磁化ＦＪの方向が、流入するスピン偏極電流に応じて、例えば膜面垂直方向において変化する強磁性体により構成されるものである。トンネルバリア層Ｉは、ピンド層Ｐとフリー層Ｆとの間の磁気的結合を切るとともに、トンネル電流を流すように機能するものである。
【００３２】
この構成により、記憶素子４８では、例えば電流をフリー層Ｆからピンド層Ｐに流すと、ピンド層Ｐの磁化ＰＪと同じ方向のモーメント（スピン）を有する偏極電子がピンド層Ｐからフリー層Ｆへ注入され、フリー層Ｆの磁化ＦＪの方向がピンド層Ｐの磁化ＰＪの方向と同じ方向（平行状態）になる。記憶素子４８は、このような平行状態になった場合には、両端間の抵抗値が低くなる（低抵抗状態ＲＬ）。
【００３３】
また、例えば電流をピンド層Ｐからフリー層Ｆに流すと、電子がフリー層Ｆからピンド層Ｐへ注入される。その際、注入された電子のうち、ピンド層Ｐの磁化ＰＪと同じ方向のモーメントを有する偏極電子はピンド層Ｐを透過し、ピンド層Ｐの磁化ＰＪと反対の方向のモーメントを有する偏極電子は、ピンド層Ｐで反射され、フリー層Ｆへ注入される。これにより、フリー層Ｆの磁化ＦＪの方向は、ピンド層Ｐの磁化ＰＪの方向と反対の方向（反平行状態）になる。記憶素子４８は、このような反平行状態になった場合には、両端間の抵抗値が高くなる（高抵抗状態ＲＨ）。
【００３４】
このように、記憶素子４８，４９では、電流を流す方向に応じて、フリー層Ｆの磁化ＦＪの方向が変化することにより、抵抗状態が高抵抗状態ＲＨと低抵抗状態ＲＬとの間で変化する。記憶素子４８，４９は、このようにして抵抗状態を設定することにより、情報を記憶することができるようになっている。
【００３５】
このように、半導体回路１では、各フリップフロップ２２に対応して記憶部２３を設けるようにした。これにより、例えば、記憶部２３は、スリープ動作において、電源供給を停止する直前にストア動作を行うことにより、フリップフロップ２２の電圧状態を記憶する。そして、記憶部２３は、電源供給を再開した後にリストア動作を行うことにより、記憶部２３に記憶された情報に基づいてフリップフロップ２２の電圧状態を設定する。これにより、半導体回路１では、電源供給を再開した後に、短い時間で、各フリップフロップ２２の電圧状態を、電源供給を停止する前の電圧状態に戻すことができるようになっている。
【００３６】
選択部５２（図１）は、制御部５６から供給された制御信号に基づいて、半導体回路１の外部から供給された信号ＳＩ、および検査部５４から供給された信号ＳＡのうちの一方を選択し、選択された信号を信号Ｓ（１）として出力するものである。
【００３７】
選択部５３は、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、検査部５４に信号ＳＢとして供給し、あるいは、半導体回路１の外部に信号ＳＯとして出力するものである。
【００３８】
検査部５４は、スリープ動作において、電源供給を再開し、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３がリストア動作を行った後に、各フリップフロップ２２に記憶された情報を検査するものである。具体的には、後述するように、検査部５４は、まず、電源供給を停止する前に、各フリップフロップ２２に記憶された情報を取得し、取得した情報に基づいて、ＥＣＣ（Error Correcting Code）処理を行うことにより、誤り訂正コードＣＯＤＥ１を生成する。そして、検査部５４は、その誤り訂正コードＣＯＤＥ１を、メモリ５５に記憶させる。そして、検査部５４は、電源供給が再開し、各記憶部２３がリストア動作を行った後に、再度、各フリップフロップ２２に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードＣＯＤＥ２を生成する。そして、検査部５４は、この誤り訂正コードＣＯＤＥ２と、メモリ５５に記憶された誤り訂正コードＣＯＤＥ１とを比較することにより、各フリップフロップ２２に記憶された情報を検査する。そして、検査部５４は、誤り訂正コードＣＯＤＥ２が誤り訂正コードＣＯＤＥ１と一致しない場合には、誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２に記憶されていた情報を生成し、この情報を各フリップフロップ２２にそれぞれ供給するようになっている。
【００３９】
メモリ５５は、この例では、ＳＲＡＭ（Static Random Access Memory）を用いて構成されたものであり、検査部５４が生成した誤り訂正コードＣＯＤＥ１を記憶するものである。メモリ５５は、この例では、電源トランジスタ５１がオフ状態になったときでも電源電圧ＶＤＤが供給されるように構成されている。なお、この例では、メモリ５５を、ＳＲＡＭを用いて構成したが、これに限定されるものではなく、これに代えて、ＤＲＡＭ（Dynamic Random Access Memory）など、揮発性のメモリを用いて構成してもよい。また、不揮発性のメモリを用いて構成してもよい。
【００４０】
制御部５６は、順序回路部２０（１）〜２０（Ｎ−１）、選択部５２，５３、検査部５４、メモリ５５、および電源トランジスタ５１の動作を制御するものである。制御部５６は、例えば、ハードウェアにより構成してもよいし、プログラムを実行可能なプロセッサを用いて構成してもよい。
【００４１】
ここで、セレクタ２１、フリップフロップ２２、および記憶部２３は、本開示における「論理回路部」の一具体例に対応する。順序回路部２０は、本開示における「順序回路部」の一具体例に対応する。組み合わせ回路部１０は、本開示における「第１の組み合わせ回路部」および「第２の組み合わせ回路部」の一具体例に対応する。メモリ５５は、本開示における「第１のメモリ」の一具体例に対応する。誤り訂正コードＣＯＤＥ１は、本開示における「第１の誤り訂正コード」の一具体例に対応する。誤り訂正コードＣＯＤＥ２は、本開示における「第２の誤り訂正コード」の一具体例に対応する。
【００４２】
［動作および作用］
続いて、本実施の形態の半導体回路１の動作および作用について説明する。
【００４３】
（全体動作概要）
まず、図１を参照して、半導体回路１の全体動作概要を説明する。以下に、通常動作ＯＰ１を行う場合、スリープ動作ＯＰ２を行う場合、および、半導体回路１を製造した後の検査（スキャンテスト動作ＯＰ３）を行う場合について説明する。
【００４４】
図４は、通常動作ＯＰ１を行うときの半導体回路１の動作を表すものである。この図４では、通常動作ＯＰ１における主要な信号を太線で示している。組み合わせ回路部１０（１）は、半導体回路１の外部から供給された複数の信号に基づいてＭ個の信号ＤＩ（１）〜ＤＩ（Ｍ）を生成する。順序回路部２０（１）は、組み合わせ回路部１０（１）から供給された複数の信号ＤＩ（１）〜ＤＩ（Ｍ）およびクロック信号ＣＬＫに基づいて複数の信号ＤＯ（１）〜ＤＯ（Ｍ）を生成する。組み合わせ回路部１０（２）は、順序回路部２０（１）から供給されたＭ個の信号ＤＯ（１）〜ＤＯ（Ｍ）に基づいて複数の信号を生成する。組み合わせ回路部１０（３）〜１０（Ｎ−１）、および順序回路部２０（２）〜２０（Ｎ−２）についても同様である。順序回路部２０（Ｎ−１）は、組み合わせ回路部１０（Ｎ−１）から供給された複数の信号およびクロック信号ＣＬＫに基づいて複数の信号を生成する。そして、組み合わせ回路部１０（Ｎ）は、順序回路部２０（Ｎ−１）から供給された複数の信号に基づいて複数の信号を生成し、生成した複数の信号を半導体回路１の外部に供給する。
【００４５】
図５は、スリープ動作ＯＰ２を行うときの半導体回路１の動作を表すものである。この図５では、スリープ動作ＯＰ２における主要な信号を太線で示している。スリープ動作ＯＰ２では、半導体回路１は、電源供給を停止する前に、前処理動作ＯＰ２１を行い、その後に電源供給を停止する。そして、半導体回路１は、電源供給を再開した後に、後処理動作ＯＰ２２を行う。
【００４６】
前処理動作ＯＰ２１では、まず、順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。選択部５３は、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４に供給する。検査部５４は、信号ＳＢに基づいて、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ１を生成し、その誤り訂正コードＣＯＤＥ１を、メモリ５５に記憶させる。また、順序回路部２０（１）〜２０（Ｎ−１）の各記憶部２３は、ストア動作を行うことにより、対応するフリップフロップ２２の電圧状態を記憶する。そして、電源トランジスタ５１が、制御部５６からの制御信号に基づいてオフ状態になる。これにより、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４への電源供給が停止される。
【００４７】
そして、後処理動作ＯＰ２２では、まず、電源トランジスタ５１が、制御部５６からの制御信号に基づいてオン状態になる。これにより、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４への電源供給が再開される。そして、この電源供給の再開に伴い、順序回路部２０（１）〜２０（Ｎ−１）の各記憶部２３がリストア動作を行うことにより、記憶部２３に記憶された情報に基づいて、対応するフリップフロップ２２の電圧状態を設定する。その後、順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。選択部５３は、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４に供給する。検査部５４は、信号ＳＢに基づいて、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ２を生成し、この誤り訂正コードＣＯＤＥ２と、メモリ５５に記憶された誤り訂正コードＣＯＤＥ１とを比較することにより、各フリップフロップ２２に記憶された情報を検査する。そして、検査部５４は、誤り訂正コードＣＯＤＥ２が誤り訂正コードＣＯＤＥ１と一致しない場合には、誤り訂正コードＣＯＤＥ１に基づいて、スリープ動作の前に各フリップフロップ２２に記憶されていた情報を生成し、信号ＳＡとして出力する。選択部５２は、検査部５４から供給された信号ＳＡを、信号Ｓ（１）として順序回路部２０（１）に供給する。そして、順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。
【００４８】
図６は、スキャンテスト動作ＯＰ３を行うときの半導体回路１の動作を表すものである。この図６では、スキャンテスト動作ＯＰ３における主要な信号を太線で示している。選択部５２は、外部（例えばテスタ）から供給された信号ＳＩを信号Ｓ（１）として順序回路部２０（１）に供給する。順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。これにより、外部から供給された信号に含まれる情報が、順序回路部２０（１）〜２０（Ｎ−１）の各フリップフロップ２２に設定される。そして、半導体回路１は、通常動作ＯＰ１（図４）を行うとともに、外部から１パルス分のクロック信号ＣＬＫが供給される。その後、順序回路部２０（１）〜２０（Ｎ−１）は、再度スキャンシフト動作を行う。そして、選択部５３は、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＯとして外部（例えばテスタ）に供給する。このようにして、テスタは、各組み合わせ回路部１０の入力データを設定するとともに、各組み合わせ回路部１０の出力データを取得する。そして、テスタは、出力データを期待されるデータと比較する。半導体回路１では、このようにして、組み合わせ回路部１０（１）〜１０（Ｎ）の検査を個別に行うことにより、半導体回路１の検査を効率的に行うことができる。
【００４９】
（スリープ動作ＯＰ２について）
次に、スリープ動作ＯＰ２における、前処理動作ＯＰ２１および後処理動作ＯＰ２２について詳細に説明する。
【００５０】
図７は、前処理動作ＯＰ２１の一例を表すものである。前処理動作ＯＰ２１では、検査部５４が、各フリップフロップ２２に記憶された情報に基づいて、誤り訂正コードＣＯＤＥ１を生成し、その誤り訂正コードＣＯＤＥ１をメモリ５５に記憶させるとともに、記憶部２３がストア動作を行う。以下に、この動作について、詳細に説明する。
【００５１】
まず、検査部５４は、各フリップフロップ２２に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードＣＯＤＥ１を生成する（ステップＳ１）。具体的には、まず、順序回路部２０（１）〜２０（Ｎ−１）が、制御部５６から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部５３が、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４に供給する。そして、検査部５４は、信号ＳＢに基づいて、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ１を生成する。
【００５２】
このとき、検査部５４は、信号ＳＢを信号ＳＡとしてそのまま出力する。そして、選択部５２は、制御部５６から供給された制御信号に基づいて、この信号ＳＡを、信号Ｓ（１）として順序回路部２０（１）に供給する。そして、順序回路部２０（１）〜２０（Ｎ−１）は、各フリップフロップ２２に記憶された情報が、スキャンシフト動作を始める前と同じ情報になるまで、スキャンシフト動作を続ける。
【００５３】
次に、検査部５４は、制御部５６から供給された制御信号に基づいて、ステップＳ１において生成した誤り訂正コードＣＯＤＥ１をメモリ５５に記憶させる（ステップＳ２）。
【００５４】
次に、制御部５６は、信号ＳＲを高レベルにすることにより、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオン状態にする（ステップＳ３）。これにより、各記憶部２３は、対応するフリップフロップ２２に電気的に接続される。
【００５５】
次に、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３は、ストア動作を行う（ステップＳ４）。
【００５６】
図８Ａ，８Ｂは、ストア動作における、フリップフロップ２２のスレーブラッチ４０、および記憶部２３の一動作例を表すものである。この図８Ａ，８Ｂにおいて、トランスミッションゲート４１，４４、トランジスタ４６，４７は、その動作状態を示すスイッチとして描いている。
【００５７】
このストア動作では、クロック信号ＣＬＫは停止され、低レベルに固定される。これにより、クロック信号Ｃは低レベルになり、クロック信号ＣＢは高レベルになる。その結果、トランスミッションゲート４１はオフ状態になり、トランスミッションゲート４４はオン状態になる。これにより、スレーブラッチ４０では、インバータ４２が、ノードＮ４１の電圧を反転し、その反転結果をノードＮ４２に出力し、インバータ４３が、ノードＮ４２の電圧を反転し、その反転結果を、トランスミッションゲート４４を介してノードＮ４１に出力する。すなわち、スレーブラッチ４０は、いわゆる双安定回路として機能している。
【００５８】
まず、制御部５６は、信号ＣＴＲＬの電圧を低レベル電圧ＶＬ（接地レベル）にする（図８Ａ）。これにより、記憶部２３では、スレーブラッチ４０に記憶された情報に応じて、記憶素子４８，４９の一方に電流が流れる。この例では、ノードＮ４１の電圧ＶＮ４１は、高レベル電圧ＶＨであり、ノードＮ４２の電圧ＶＮ４２は、低レベル電圧ＶＬである。よって、インバータ４３、トランスミッションゲート４４、トランジスタ４６、および記憶素子４８の順にストア電流Ｉstore1が流れる。このとき、記憶素子４８では、ストア電流Ｉstore1がピンド層Ｐからフリー層Ｆに流れるので、フリー層Ｆの磁化ＦＪの方向がピンド層Ｐの磁化ＰＪの方向と反対の方向（反平行状態）になり、その結果、記憶素子４８の抵抗状態は、高抵抗状態ＲＨになる。
【００５９】
次に、制御部５６は、信号ＣＴＲＬの電圧を高レベル電圧ＶＨにする（図８Ｂ）。これにより、記憶部２３では、スレーブラッチ４０に記憶された情報に応じて、記憶素子４８，４９の他方に電流が流れる。この例では、記憶素子４９、トランジスタ４７、トランスミッションゲート４４、インバータ４２の順にストア電流Ｉstore2が流れる。このとき、記憶素子４９では、ストア電流Ｉstore2がフリー層Ｆからピンド層Ｐに流れるので、フリー層Ｆの磁化ＦＪの方向がピンド層Ｐの磁化ＰＪの方向と同じ方向（平行状態）になり、その結果、記憶素子４９の抵抗状態は、低抵抗状態ＲＬになる。
【００６０】
このようにして、順序回路部２０（１）〜２０（Ｎ−１）において、各記憶部２３は、対応するフリップフロップ２２の電圧状態を記憶する。
【００６１】
次に、制御部５６は、信号ＳＲを低レベルにすることにより、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオフ状態にする（ステップＳ５）。これにより、各記憶部２３は、対応するフリップフロップ２２から電気的に切断される。
【００６２】
次に、制御部５６は、電源トランジスタ５１をオフ状態にする（ステップＳ６）。これにより、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４への電源供給が停止される。なお、メモリ５５および制御部５６への電源供給は維持される。
【００６３】
以上で、前処理動作ＯＰ２１は終了する。そして、半導体回路１は、時間が経過した後に後処理動作ＯＰ２２を行う。
【００６４】
図９は、後処理動作ＯＰ２２の一例を表すものである。後処理動作ＯＰ２２では、記憶部２３がリストア動作を行い、その後に、検査部５４が、各フリップフロップ２２に記憶された情報を検査する。以下に、この動作について、詳細に説明する。
【００６５】
まず、制御部５６は、信号ＳＲを高レベルにすることにより、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオン状態にする（ステップＳ１１。これにより、各記憶部２３は、対応するフリップフロップ２２に電気的に接続される。
【００６６】
次に、制御部５６は、電源トランジスタ５１をオン状態にする（ステップＳ１２）。これにより、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４への電源供給が再開される。
【００６７】
そして、この電源供給の再開に伴い、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３は、リストア動作を行う（ステップＳ１３）。
【００６８】
図１０は、リストア動作における、フリップフロップ２２のスレーブラッチ４０、および記憶部２３の一動作例を表すものである。リストア動作では、ストア動作と同様に、クロック信号ＣＬＫは停止され、低レベルに固定される。これにより、トランスミッションゲート４１はオフ状態になり、トランスミッションゲート４４はオン状態になる。また、制御部５６は、信号ＣＴＲＬの電圧を低レベル電圧ＶＬ（接地レベル）にする。
【００６９】
これにより、ノードＮ４１は、トランジスタ４６および記憶素子４８を介して接地され、ノードＮ４２は、トランジスタ４７および記憶素子４９を介して接地される。このとき、記憶素子４８，４９の抵抗状態は互いに異なるので、記憶素子４８，４９の抵抗状態に応じて、スレーブラッチ４０における電圧状態が定まる。この例では、記憶素子４８の抵抗状態は高抵抗状態ＲＨであり、記憶素子４９の抵抗状態は低抵抗状態ＲＬである。よって、ノードＮ４１が高い抵抗値によりプルダウンされ、ノードＮ４２が低い抵抗値によりプルダウンされるため、ノードＮ４１の電圧ＶＮ４１は高レベル電圧ＶＨになり、ノードＮ４２の電圧ＶＮ４２が低レベル電圧ＶＬになる。
【００７０】
このようにして、順序回路部２０（１）〜２０（Ｎ−１）において、各記憶部２３は、記憶された情報に基づいて、対応するフリップフロップ２２の電圧状態を設定する。
【００７１】
次に、制御部５６は、信号ＳＲを低レベルにすることにより、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオフ状態にする（ステップＳ１４）。これにより、各記憶部２３は、対応するフリップフロップ２２から電気的に切断される。
【００７２】
次に、検査部５４は、各フリップフロップ２２に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードＣＯＤＥ２を生成する（ステップＳ１５）。具体的には、まず、順序回路部２０（１）〜２０（Ｎ−１）が、制御部５６から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部５３が、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４に供給する。そして、検査部５４は、信号ＳＢに基づいて、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ２を生成する。
【００７３】
このとき、検査部５４は、信号ＳＢを信号ＳＡとしてそのまま出力する。そして、選択部５２は、制御部５６から供給された制御信号に基づいて、この信号ＳＡを、信号Ｓ（１）として順序回路部２０（１）に供給する。そして、順序回路部２０（１）〜２０（Ｎ−１）は、各フリップフロップ２２に記憶された情報が、スキャンシフト動作を始める前と同じ情報になるまで、スキャンシフト動作を続ける。
【００７４】
次に、検査部５４は、ステップＳ１５において生成した誤り訂正コードＣＯＤＥ２を、メモリ５５が記憶している誤り訂正コードＣＯＤＥ１と比較する（ステップＳ１６）。そして、誤り訂正コードＣＯＤＥ１，ＣＯＤＥ２が一致する場合（ステップＳ１７において“Ｙ”）には、このフローは終了する。
【００７５】
また、誤り訂正コードＣＯＤＥ１，ＣＯＤＥ２が一致しない場合（ステップＳ１７において“Ｎ”）には、検査部５４は、誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２が記憶していた情報を生成し、生成した情報を順序回路部２０（１）〜２０（Ｎ−１）に供給する（ステップＳ１８）。具体的には、検査部５４は、生成した情報を信号ＳＡとして出力する。そして、選択部５２が、制御部５６から供給された制御信号に基づいて、検査部５４から供給された信号ＳＡを、信号Ｓ（１）として順序回路部２０（１）に供給する。そして、順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。これにより、半導体回路１は、検査部５４が生成した情報に基づいて、順序回路部２０（１）〜２０（Ｎ−１）の各フリップフロップ２２を設定する。
【００７６】
以上で、後処理動作ＯＰ２２は終了する。この後、半導体回路１は、通常動作ＯＰ１を行う。
【００７７】
このように、半導体回路１では、各フリップフロップ２２の電圧状態を記憶する記憶部２３を設けるようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、各フリップフロップ２２の電圧状態を、電源供給を停止する前の電圧状態に戻すことができる。すなわち、例えば、記憶部２３を設けず、後処理動作ＯＰ２２において、メモリ５５に記憶された誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２が記憶していた情報を生成し、生成した情報を順序回路部２０（１）〜２０（Ｎ−１）に供給するようにした場合には、各フリップフロップ２２の電圧状態を戻す処理に時間およびエネルギーを要するおそれがある。一方、半導体回路１では、各フリップフロップ２２の電圧状態を記憶する記憶部２３を設けるようにしたので、短い時間かつ少ないエネルギーで、各フリップフロップ２２の電圧状態を戻すことができる。
【００７８】
また、半導体回路１では、後処理動作ＯＰ２２において、誤り訂正コードＣＯＤＥ１と誤り訂正コードＣＯＤＥ２とが一致する場合には、すぐに通常動作ＯＰ１を行うようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、通常動作ＯＰ１を開始することができる。
【００７９】
また、半導体回路１では、電源供給を再開し、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３がリストア動作を行った後に、各フリップフロップ２２に記憶された情報を検査するようにした。これにより、例えば、各記憶部２３の記憶素子４８，４９に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。すなわち、一般に、不揮発性の記憶素子は、長年にわたり書き換えを続けることにより、経年劣化が生じるおそれがある。この場合には、例えば、記憶素子に情報を記憶させようとしても、正しい情報を記憶させることができなくなるおそれがある。半導体回路１では、前処理動作ＯＰ２１において誤り訂正コードＣＯＤＥ１を生成するとともに、後処理動作ＯＰ２２において誤り訂正コードＣＯＤＥ２を生成し、誤り訂正コードＣＯＤＥ１と誤り訂正コードＣＯＤＥ２とを比較することにより、各フリップフロップ２２に記憶された情報を検査するようにした。これにより、検査部５４は、誤り訂正コードＣＯＤＥ１，ＣＯＤＥ２が互いに一致しない場合には、前処理動作ＯＰ２１において、経年劣化により記憶素子４８，４９に正しく情報を記憶させることができなかったと判断し、誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２が記憶していた情報を生成する。これにより、半導体回路１では、記憶素子４８，４９に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。
【００８０】
また、半導体回路１では、前処理動作ＯＰ２１において、検査部５４が各フリップフロップ２２の情報を取得して誤り訂正コードＣＯＤＥ１を生成（ステップＳ１）した後に、記憶部２３がストア動作（ステップＳ４）を行うようにしたので、回路が誤動作するおそれを低減することができる。すなわち、記憶部２３がストア動作を行う際には、図８Ａ，８Ｂに示したように、ストア電流Ｉstore1，Ｉstore2が流れる。このストア電流Ｉstore1，Ｉstore2の電流値が大きい場合には、例えば、スレーブラッチ４０に記憶された情報が失われてしまい、いわゆるディスターブが生じるおそれがある。よって、仮に、記憶部２３がストア動作を行った後に、検査部５４が各フリップフロップ２２の情報を取得して誤り訂正コードＣＯＤＥ１を生成する場合には、検査部５４は、誤った情報に基づいて誤り訂正コードＣＯＤＥ１を生成してしまうおそれがある。一方、半導体回路１では、検査部５４が各フリップフロップ２２の情報を取得して誤り訂正コードＣＯＤＥ１を生成した後に、記憶部２３がストア動作（ステップＳ４）を行うようにした。これにより、ストア動作において仮にディスターブが生じた場合でも、誤り訂正コードＣＯＤＥ１は、そのディスターブの影響を受けないので、回路が誤動作するおそれを低減することができる。
【００８１】
また、半導体回路１では、誤り訂正コードＣＯＤＥ１をメモリ５５に記憶させるようにしたので、各フリップフロップ２２に記憶されていた情報をそのままメモリ５５に記憶させる場合に比べて、メモリ５５の記憶容量を抑えることができる。
【００８２】
また、半導体回路１では、半導体回路１を製造した後の検査（スキャンテスト動作ＯＰ３）の仕組みを利用して、スリープ動作ＯＰ２において、各フリップフロップ２２に記憶された情報を検査するようにした。これにより、回路構成をシンプルにしつつ、各フリップフロップ２２に記憶された情報を検査することができる。
【００８３】
［効果］
以上のように本実施の形態では、各フリップフロップの電圧状態を記憶する記憶部を設けるようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、各フリップフロップの電圧状態を、電源供給を停止する前の電圧状態に戻すことができる。
【００８４】
本実施の形態では、後処理動作において、誤り訂正コードが互いに一致する場合には、すぐに通常動作を行うようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、通常動作を開始することができる。
【００８５】
本実施の形態では、電源供給を再開し、各フリップフロップがリストア動作を行った後に、各フリップフロップに記憶された情報を検査するようにしたので、記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。
【００８６】
本実施の形態では、前処理動作において、検査部が各フリップフロップの情報を取得して誤り訂正コードＣＯＤＥ１を生成した後に、記憶部がストア動作を行うようにしたので、回路が誤動作するおそれを低減することができる。
【００８７】
本実施の形態では、誤り訂正コードＣＯＤＥ１をメモリに記憶させるようにしたので、メモリの記憶容量を抑えることができる。
【００８８】
［変形例１］
上記実施の形態では、電源トランジスタ５１のドレインを、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４に接続したが、これに限定されるものではなく、これに代えて、図１１に示す半導体回路１Ａのように、電源トランジスタ５１のドレインを、さらにメモリ５５Ａに接続してもよい。メモリ５５Ａは、この例では、磁気抵抗メモリ（ＭＲＡＭ；Magnetoresistive Random Access Memory）、相変化メモリ（ＰＣＲＡＭ；Phase Change Random Access Memory）、抵抗変化型メモリ（ＲｅＲＡＭ；Resistive Random Access Memory）のような不揮発性のメモリを用いて構成されたものである。メモリ５５Ａは、電源トランジスタ５１がオン状態になることにより電源電圧ＶＤＤが供給される。半導体回路１Ａでは、スリープ動作において、電源トランジスタ５１をオフ状態にすることにより、Ｎ個の組み合わせ回路部１０、（Ｎ−１）個の順序回路部２０、選択部５２，５３、および検査部５４に加えて、さらにメモリ５５Ａへの電源供給を停止する。これにより、半導体回路１Ａでは、消費電力を低減することができる。
【００８９】
また、図１２に示す半導体回路１Ｂのように、メモリ５７Ｂと、制御部５６Ｂとを備えてもよい。メモリ５７Ｂは、様々な情報を記憶するものであり、メモリ５５Ａと同じ種類の不揮発性のメモリを用いて構成されている。メモリ５７Ｂは、電源トランジスタ５１がオン状態になることにより電源電圧ＶＤＤが供給される。制御部５６Ｂは、半導体回路１Ｂの動作を制御するものである。ここで、メモリ５７Ｂは、本開示における「第２のメモリ」の一具体例に対応する。
【００９０】
この半導体回路１Ｂでは、メモリ５５Ａの記憶素子のサイズは、メモリ５７Ｂの記憶素子のサイズよりも大きいことが望ましい。すなわち、メモリ５５Ａは、誤り訂正コードＣＯＤＥ１を記憶するため、書込エラーレートが低いことが望まれる。メモリ５５Ａの記憶素子のサイズを、メモリ５７Ｂの記憶素子のサイズよりも大きくすることにより、書込エラーレートの低減が期待される。
【００９１】
［変形例２］
上記実施の形態では、検査部５４と、メモリ５５とを別々に設けたが、これに限定されるものではない。これに代えて、例えば、図１３に示す半導体回路１Ｃのように、メモリ５５Ｃの内部に検査部５４Ｃを設けてもよい。すなわち、一般に、メモリの内部には、ＥＣＣ処理を行うブロックが設けられているので、このようなメモリをメモリ５５Ｃとして用いることにより、構成をシンプルにすることができる。
【００９２】
［変形例３］
上記実施の形態では、検査部５４は、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ１，ＣＯＤＥ２を生成したが、これに限定されるものではない。以下に、本変形例に係る半導体回路１Ｄについて詳細に説明する。
【００９３】
図１４は、本変形例に係る半導体回路１Ｄの一構成例を表すものである。半導体回路１Ｄは、検査部５４Ｄと、メモリ５５Ｄとを備えている。検査部５４Ｄは、前処理動作ＯＰ２１において、各フリップフロップ２２から取得した情報を退避データＤＡＴＡとして、メモリ５５Ｄに記憶させるとともに、後処理動作ＯＰ２２において、各フリップフロップ２２から取得した情報と退避データＤＡＴＡとを比較するものである。メモリ５５Ｄは、退避データＤＡＴＡを記憶するものである。
【００９４】
次に、半導体回路１Ｄに係るスリープ動作ＯＰ２における、前処理動作ＯＰ２１および後処理動作ＯＰ２２について詳細に説明する。
【００９５】
図１５は、前処理動作ＯＰ２１の一例を表すものである。まず、検査部５４Ｄは、各フリップフロップ２２に記憶された情報を取得する（ステップＳ２１）。具体的には、まず、順序回路部２０（１）〜２０（Ｎ−１）が、制御部５６から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部５３が、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４Ｄに供給する。次に、検査部５４Ｄは、制御部５６から供給された制御信号に基づいて、ステップＳ２１において取得した情報を、退避データＤＡＴＡとしてメモリ５５Ｄに記憶させる（ステップＳ２２）。そして、制御部５６は、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオン状態にし（ステップＳ３）、各記憶部２３はストア動作を行い（ステップＳ４）、制御部５６は、各記憶部２３のトランジスタ４６，４７をオフ状態にし（ステップＳ５）、制御部５６は、電源トランジスタ５１をオフ状態にする（ステップＳ６）。
【００９６】
図１６は、後処理動作ＯＰ２２の一例を表すものである。まず、制御部５６は、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオン状態にし（ステップＳ１１）、電源トランジスタ５１をオン状態し（ステップＳ１２）、各記憶部２３はリストア動作を行い（ステップＳ１３）、制御部５６は、各記憶部２３のトランジスタ４６，４７をオフ状態にする（ステップＳ１４）。
【００９７】
次に、検査部５４Ｄは、各フリップフロップ２２に記憶された情報を取得する（ステップＳ３５）。具体的には、まず、順序回路部２０（１）〜２０（Ｎ−１）が、制御部５６から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部５３が、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４Ｄに供給する。
【００９８】
次に、検査部５４Ｄは、ステップＳ３５において取得した情報を、メモリ５５Ｄが記憶している退避データＤＡＴＡと比較する（ステップＳ３６）。そして、ステップＳ３５において取得した情報と退避データＤＡＴＡが一致する場合（ステップＳ３７において“Ｙ”）には、このフローは終了する。
【００９９】
また、ステップＳ３５において取得した情報と退避データＤＡＴＡが一致しない場合（ステップＳ３７において“Ｎ”）には、検査部５４Ｄは、退避データＤＡＴＡを順序回路部２０（１）〜２０（Ｎ−１）に供給する（ステップＳ３８）。具体的には、検査部５４Ｄは、退避データＤＡＴＡを信号ＳＡとして出力する。そして、選択部５２が、制御部５６から供給された制御信号に基づいて、検査部５４Ｄから供給された信号ＳＡを、信号Ｓ（１）として順序回路部２０（１）に供給する。そして、順序回路部２０（１）〜２０（Ｎ−１）は、スキャンシフト動作を行う。これにより、半導体回路１Ｄは、退避データＤＡＴＡに基づいて、順序回路部２０（１）〜２０（Ｎ−１）の各フリップフロップ２２を設定する。そして、このフローは終了する。
【０１００】
このように、半導体回路１Ｄでは、検査部５４ＤがＥＣＣ処理を行わないようにしたので、検査部５４Ｄの構成をシンプルにすることができる。
【０１０１】
［変形例４］
上記実施の形態では、検査部５４は、ＥＣＣ処理を行うことにより、誤り訂正コードＣＯＤＥ１，ＣＯＤＥ２を生成し、誤り訂正コードＣＯＤＥ１および誤り訂正コードＣＯＤＥ２を比較したが、これに限定されるものではない。以下に、本変形例に係る半導体回路１Ｅについて詳細に説明する。
【０１０２】
半導体回路１Ｅは、検査部５４Ｅを備えている。検査部５４Ｅは、前処理動作ＯＰ２１において、上記実施の形態の場合（図７）と同様に動作するとともに、後処理動作ＯＰ２２において、誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２に記憶されていた情報を生成し、この生成した情報と、各フリップフロップ２２から取得した情報とを比較するものである。
【０１０３】
図１７は、半導体回路１Ｅに係る後処理動作ＯＰ２２の一例を表すものである。まず、制御部５６は、順序回路部２０（１）〜２０（Ｎ−１）における各記憶部２３のトランジスタ４６，４７をオン状態にし（ステップＳ１１）、電源トランジスタ５１をオン状態し（ステップＳ１２）、各記憶部２３はリストア動作を行い（ステップＳ１３）、制御部５６は、各記憶部２３のトランジスタ４６，４７をオフ状態にする（ステップＳ１４）。
【０１０４】
次に、検査部５４Ｅは、メモリ５５が記憶している誤り訂正コードＣＯＤＥ１に基づいて、電源供給が停止する前に各フリップフロップ２２が記憶していた情報（データＤＡＴＡ１）を生成する（ステップＳ４５）。
【０１０５】
次に、検査部５４Ｅは、各フリップフロップ２２に記憶された情報（データＤＡＴＡ２）を取得する（ステップＳ４６）。具体的には、まず、順序回路部２０（１）〜２０（Ｎ−１）が、制御部５６から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部５３が、制御部５６から供給された制御信号に基づいて、順序回路部２０（Ｎ−１）から供給された信号Ｓ（Ｎ）を、信号ＳＢとして検査部５４Ｅに供給する。
【０１０６】
次に、検査部５４Ｅは、ステップＳ４５において生成したデータＤＡＴＡ１と、ステップＳ４６において取得したデータＤＡＴＡ２とを比較する（ステップＳ４７）。そして、データＤＡＴＡ１とデータＤＡＴＡ２が一致する場合（ステップＳ４８において“Ｙ”）には、このフローは終了する。
【０１０７】
また、データＤＡＴＡ１とデータＤＡＴＡ２一致しない場合（ステップＳ４８において“Ｎ”）には、検査部５４Ｅは、データＤＡＴＡ１を順序回路部２０（１）〜２０（Ｎ−１）に供給する（ステップＳ３８）。そして、このフローは終了する。
【０１０８】
このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。
【０１０９】
［変形例５］
上記実施の形態では、前処理動作ＯＰ２１において、検査部５４が各フリップフロップ２２の情報を取得して誤り訂正コードＣＯＤＥ１を生成した後に、記憶部２３がストア動作を行うようにしたが、これに限定されるものではない。これに代えて、例えば、ストア動作においてディスターブが生じにくい構成である場合には、図１８に示したように、記憶部２３がストア動作（ステップＳ４）を行った後に、検査部５４が各フリップフロップ２２の情報を取得して誤り訂正コードＣＯＤＥ１を生成（ステップＳ１）してもよい。
【０１１０】
［変形例６］
上記実施の形態では、スピン注入磁化反転型の磁気トンネル接合素子を用いて記憶素子４８，４９を構成したが、これに限定されるものではなく、フリップフロップ２２の電圧状態を記憶できるものであれば、どのような記憶素子を用いてもよい。具体的には、例えば、電流駆動型の記憶素子を用いてもよいし、電圧駆動型の記憶素子を用いてもよい。電流駆動型の記憶素子は、例えば、ＭＴＪ素子の他、相変化メモリ（ＰＣＲＡＭ）において用いられる記憶素子や、抵抗変化型メモリ（ＲｅＲＡＭ）において用いられる記憶素子を適用可能である。これらの記憶素子は、ユニポーラ型であってもよいし、バイポーラ型であってもよい。電圧駆動型の記憶素子は、例えば、強誘電体メモリ（ＦｅＲＡＭ；Ferroelectric Random Access Memory）において用いられる記憶素子や、磁性メモリ（ＭｅＲＡＭ；Magnetoelectric Random Access Memory）を適用可能である。
【０１１１】
［変形例７］
上記実施の形態では、図２に示したように、フリップフロップ２２を用いて順序回路部２０を構成したが、これに限定されるものではなく、これに代えて、様々な論理回路を用いて順序回路部を構成することができる。具体的には、例えば、図２において、セレクタ２１、フリップフロップ２２、記憶部２３とからなる一組の回路を、特許文献１に記載の回路（例えば、図１９に示す論理回路６０）に置き換えてもよい。
【０１１２】
この論理回路６０は、ＮＭＯＳ論理回路６１と、フリップフロップ６２，６３と、貫通電流制御回路６４と、不揮発性抵抗素子Ｒ１，Ｒ２と、トランジスタＰ１〜Ｐ８とを有している。以下に、上記実施の形態におけるセレクタ２１（１）、フリップフロップ２２（１）、および記憶部２３（１）を置き換えた場合における対応関係を説明する。信号Ｄinは、例えば図２に示したセレクタ２１（１）に入力される信号ＤＩ（１）に対応する。信号ＴＤin，／ＴＤinは、例えば図２に示したセレクタ２１（１）に入力される信号Ｓ（１）に対応する。信号ＣＬＫは、図２に示したクロック信号ＣＬＫに対応する。信号ＴＥ，／ＴＥは、図２に示したスキャンイネーブル信号ＳＥに対応する。信号Ｑ，／Ｑ，ＴＤout，／ＴＤoutは、図２に示した信号ＤＯ（１）に対応する。ここで、論理回路６０は、本開示における「論理回路部」の一具体例に対応する。
【０１１３】
通常動作ＯＰ１では、信号Ｄinに基づいて、ＮＭＯＳ論理回路６１の論理に応じた信号Ｄout，／Ｄout、Ｑ，／Ｑが生成される。また、スリープ動作ＯＰ２およびスキャンテスト動作ＯＰ３では、信号ＴＤin，／ＴＤinに基づいて、信号ＴＤout，／ＴＤoutが生成される。
【０１１４】
このように構成することにより、順序回路部２０は、ＮＭＯＳ論理回路６１に応じた様々な演算を行うことができ、動作の自由度を高めることができる。
【０１１５】
［その他の変形例］
また、これらの変形例のうちの２以上を組み合わせてもよい。
【０１１６】
＜２．適用例＞
次に、上記実施の形態および変形例で説明した半導体回路の適用例について説明する。
【０１１７】
図２０は、上記実施の形態等の半導体回路が適用されるスマートフォンの外観を表すものである。このスマートフォンは、例えば、本体部３１０、表示部３２０、およびバッテリ３３０を有している。
【０１１８】
上記実施の形態等の半導体回路は、このようなスマートフォンの他、デジタルカメラ、ノート型パーソナルコンピュータ、携帯型ゲーム機、ビデオカメラなどのあらゆる分野の電子機器に適用することが可能である。特に、本技術は、バッテリを有する携帯型の電子機器に適用すると効果的である。
【０１１９】
以上、いくつかの実施の形態および変形例、ならびにそれらの具体的な応用例および電子機器への適用例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
【０１２０】
例えば、上記の実施の形態等では、電源トランジスタ５１を設け、オンオフすることにより電源電圧ＶＤＤの供給を制御するようにしたが、これに限定されたものではない。これに代えて、例えば、接地側にトランジスタを設け、オンオフすることにより電圧ＶＳＳの供給を制御するようにしてもよい。また、例えば、内部回路に電源電圧を供給するレギュレータ回路を設け、レギュレータ回路の動作をオンオフすることにより、電源電圧の供給を制御するようにしてもよい。
【０１２１】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０１２２】
なお、本技術は以下のような構成とすることができる。
【０１２３】
（１）それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを記憶する第１のメモリと
を備えた半導体回路。
（２）検査部をさらに備え、
前記順序回路部は、前記第１の期間の後の第２の期間において、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行い、
前記検査部は、前記第２の期間において、前記第１のメモリに記憶された前記第１のデータまたは前記第２のデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第３のデータを検査する
前記（１）に記載の半導体回路。
（３）前記検査部は、前記第２の期間において、前記第３のデータを検査した結果に基づいて第４のデータを生成し、その第４のデータを前記シフトレジスタに供給し、
前記順序回路部は、前記第２の期間において、前記シフト動作を行うことにより、前記第４のデータを前記複数の論理回路部における前記フリップフロップの初期データとして設定する
前記（２）に記載の半導体回路。
（４）前記順序回路部に対して第５のデータを供給する第１の組み合わせ回路と、
第６のデータに基づいて動作する第２の組み合わせ回路と
をさらに備え、
前記順序回路部は、前記第２の期間の後の第３の期間において、前記第５のデータに基づいて前記第６のデータを生成する処理動作を行う
前記（２）または（３）に記載の半導体回路。
（５）前記第１のメモリは、前記第２のデータを記憶し、
前記検査部は、前記第１の期間において、前記第１のデータに基づいて第１の誤り訂正コードを生成し、
前記第２のデータは、前記第１の誤り訂正コードである
前記（３）または（４）に記載の半導体回路。
（６）前記検査部は、前記第２の期間において、前記第３のデータに基づいて第２の誤り訂正コードを求め、前記第１の誤り訂正コードと前記第２の誤り訂正コードとを比較することにより、前記第３のデータを検査する
前記（５）に記載の半導体回路。
（７）前記検査部は、前記第１の誤り訂正コードと前記第２の誤り訂正コードとが一致しない場合に、前記第１の誤り訂正コードに基づいて前記第４のデータを生成する
前記（６）に記載の半導体回路。
（８）前記検査部は、前記第２の期間において、前記第１の誤り訂正コードに基づいて前記第１のデータを生成し、前記第１のデータと前記第３のデータとを比較することにより、前記第３のデータを検査する
前記（５）に記載の半導体回路。
（９）前記検査部は、前記第１のデータと前記第３のデータとが一致しない場合に、前記１のデータを前記第４のデータとして、前記シフトレジスタに供給する
前記（８）に記載の半導体回路。
（１０）前記第１のメモリは、前記第１のデータを記憶し、
前記検査部は、前記第２の期間において、前記第３のデータと、前記第１のメモリに記憶された前記第１のデータとを比較することにより、前記第３のデータを検査する
前記（３）または（４）に記載の半導体回路。
（１１）前記検査部は、前記第３のデータと、前記第１のメモリに記憶された前記第１のデータとが一致しない場合に、前記１のデータを前記第４のデータとして、前記シフトレジスタに供給する
前記（１０）に記載の半導体回路。
（１２）前記第１の期間および前記第２の期間において、前記順序回路部への電源供給を行い、前記第１の期間と前記第２の期間との間の第４の期間において、前記順序回路部への電源供給を停止するように電源制御を行う制御部をさらに備えた
前記（２）から（１１）のいずれかに記載の半導体回路。
（１３）前記第１の期間において、前記順序回路部は、前記シフト動作を行った後に前記ストア動作を行う
前記（１）から（１２）のいずれかに記載の半導体回路。
（１４）前記第１の期間において、前記順序回路部は、前記ストア動作を行った後に前記シフト動作を行う
前記（１）から（１２）のいずれかに記載の半導体回路。
（１５）前記フリップフロップは、マスタラッチとスレーブラッチとを有し、
前記記憶素子は、前記スレーブラッチに接続可能に構成された
前記（１）から（１４）のいずれかに記載の半導体回路。
（１６）前記スレーブラッチは、
第１のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を第２のノードに印加可能に構成された第１の回路と、
前記第２のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を前記第１のノードに印加可能に構成された第２の回路と
を有し、
前記記憶素子は、前記第１のノードに接続可能に構成された第１の記憶素子と、前記第２のノードに接続可能に構成された第２の記憶素子とを含む
前記（１５）に記載の半導体回路。
（１７）前記記憶素子は、印加される電流に基づいて情報を記憶する
前記（１）から（１６）のいずれかに記載の半導体回路。
（１８）前記記憶素子は、ユニポーラ型またはバイポーラ型の素子である
前記（１７）に記載の半導体回路。
（１９）前記記憶素子は、印加される電圧に基づいて情報を記憶する
前記（１）から（１６）のいずれかに記載の半導体回路。
（２０）前記第１のメモリの記憶素子と同じ種類の記憶素子を有する第２のメモリをさらに備え、
前記第１のメモリの記憶素子のサイズは、前記第２のメモリの記憶素子のサイズよりも大きい
前記（１）から（１９）のいずれかに記載の半導体回路。
（２１）第１の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを第１のメモリに記憶させる
半導体回路の制御方法。
（２２）前記第１の期間の後の第２の期間において、前記順序回路部に、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行わせ、
前記第２の期間において、検査部に、前記第１のメモリに記憶されたデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第３のデータを検査させる
前記（２１）に記載の半導体回路の制御方法。
（２３）半導体回路と、
前記半導体回路に電源電圧を供給するバッテリと
を備え、
前記半導体回路は、
それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第１の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第１の期間において、前記シフト動作により前記シフトレジスタから出力された第１のデータまたは前記第１のデータに対応する第２のデータを記憶する第１のメモリと
を有する
電子機器。
【符号の説明】
【０１２４】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ…半導体回路、１０，１０（１）〜１０（Ｎ）…組み合わせ回路部、２０，２０（１）〜２０（Ｎ−１）…順序回路部、２１，２１（１）〜２１（Ｍ）…セレクタ、２２，２２（１）〜２２（Ｍ）…フリップフロップ、２３，２３（１）〜２３（Ｍ）…記憶部、２４，２５，３１，３３，３４，４２，４３，４５…インバータ、３２，３５，４１，４４…トランスミッションゲート、４６，４７…トランジスタ、４８，４９…記憶素子、５１…電源トランジスタ、５２，５３…選択部、５４，５４Ｃ，５４Ｄ…検査部、５５，５５Ａ，５５Ｃ，５５Ｄ…メモリ、５６，５６Ｂ…制御部、５７Ｂ…メモリ、６０…論理回路、６１…ＮＭＯＳ論理回路、６２，６３…フリップフロップ、６４…貫通電流制御回路、ＣＯＤＥ１，ＣＯＤＥ２…誤り訂正コード、ＣＴＲＬ，ＤＩ（１）〜ＤＩ（Ｍ），ＤＯ（１）〜ＤＯ（Ｍ），ＳＡ，ＳＢ，ＳＩ，ＳＯ，ＳＲ，Ｓ（１）〜Ｓ（Ｎ）…信号、ＤＡＴＡ…退避データ、Ｆ…フリー層、Ｉ…トンネルバリア層、Ｉstore1，Ｉstore2…ストア電流、Ｐ…ピンド層、Ｐ１〜Ｐ８…トランジスタ、ＳＥ…スキャンイネーブル信号、ＶＨ…高レベル電圧、ＶＬ…低レベル電圧。
【図１】
2018060277.tif 000003
【図２】
2018060277.tif 000004
【図３】
2018060277.tif 000005
【図４】
2018060277.tif 000006
【図５】
2018060277.tif 000007
【図６】
2018060277.tif 000008
【図７】
2018060277.tif 000009
【図８Ａ】
2018060277.tif 000010
【図８Ｂ】
2018060277.tif 000011
【図９】
2018060277.tif 000012
【図１０】
2018060277.tif 000013
【図１１】
2018060277.tif 000014
【図１２】
2018060277.tif 000015
【図１３】
2018060277.tif 000016
【図１４】
2018060277.tif 000017
【図１５】
2018060277.tif 000018
【図１６】
2018060277.tif 000019
【図１７】
2018060277.tif 000020
【図１８】
2018060277.tif 000021
【図１９】
2018060277.tif 000022
【図２０】
2018060277.tif 000023