JP2018060277A - 半導体回路、半導体回路の制御方法、および電子機器 - Google Patents

半導体回路、半導体回路の制御方法、および電子機器 Download PDF

Info

Publication number
JP2018060277A
JP2018060277A JP2016195757A JP2016195757A JP2018060277A JP 2018060277 A JP2018060277 A JP 2018060277A JP 2016195757 A JP2016195757 A JP 2016195757A JP 2016195757 A JP2016195757 A JP 2016195757A JP 2018060277 A JP2018060277 A JP 2018060277A
Authority
JP
Japan
Prior art keywords
data
period
memory
circuit
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016195757A
Other languages
English (en)
Inventor
啓三 平賀
Keizo Hiraga
啓三 平賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2016195757A priority Critical patent/JP2018060277A/ja
Priority to KR1020197007473A priority patent/KR102414605B1/ko
Priority to PCT/JP2017/030087 priority patent/WO2018066246A1/ja
Priority to US16/336,815 priority patent/US10818369B2/en
Priority to TW106132382A priority patent/TWI744384B/zh
Publication of JP2018060277A publication Critical patent/JP2018060277A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/02Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements
    • G11C19/08Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements using thin films in plane structure
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • H01L21/822Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components the substrate being a semiconductor, using silicon technology
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01FMAGNETS; INDUCTANCES; TRANSFORMERS; SELECTION OF MATERIALS FOR THEIR MAGNETIC PROPERTIES
    • H01F10/00Thin magnetic films, e.g. of one-domain structure
    • H01F10/32Spin-exchange-coupled multilayers, e.g. nanostructured superlattices
    • H01F10/324Exchange coupling of magnetic film pairs via a very thin non-magnetic spacer, e.g. by exchange with conduction electrons of the spacer
    • H01F10/3286Spin-exchange coupled multilayers having at least one layer with perpendicular magnetic anisotropy
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01FMAGNETS; INDUCTANCES; TRANSFORMERS; SELECTION OF MATERIALS FOR THEIR MAGNETIC PROPERTIES
    • H01F10/00Thin magnetic films, e.g. of one-domain structure
    • H01F10/32Spin-exchange-coupled multilayers, e.g. nanostructured superlattices
    • H01F10/324Exchange coupling of magnetic film pairs via a very thin non-magnetic spacer, e.g. by exchange with conduction electrons of the spacer
    • H01F10/329Spin-exchange coupled multilayers wherein the magnetisation of the free layer is switched by a spin-polarised current, e.g. spin torque effect
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B61/00Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
    • H10B61/20Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices comprising components having three or more electrodes, e.g. transistors
    • H10B61/22Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices comprising components having three or more electrodes, e.g. transistors of the field-effect transistor [FET] type
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/80Constructional details

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Manufacturing & Machinery (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる半導体回路を得る。【解決手段】本開示の半導体回路は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを記憶する第1のメモリとを備える。【選択図】図5

Description

本開示は、不揮発性の記憶素子を有する半導体回路、そのような半導体回路の制御方法、およびそのような半導体回路を備えた電子機器に関する。
電子機器は、エコロジーの観点から消費電力が低いことが望まれている。半導体回路では、例えば、一部の回路への電源供給を選択的に停止することにより消費電力の低減を図る、いわゆるパワーゲーティングという技術がしばしば用いられる。このように電源供給が停止された回路では、電源供給が再開された後に、すぐに、電源供給が停止される前の動作状態に復帰することが望まれる。そのような短時間での復帰動作を実現する方法の一つに、回路に不揮発性の記憶素子を内蔵する方法がある(例えば特許文献1など)。
特開2012−242287号公報
ところで、不揮発性の記憶素子は、長年にわたり書き換えを続けることにより、いわゆる経年劣化が生じるおそれがある。そこで、このような経年劣化が生じた場合でも、回路動作への影響を抑えることができることが望まれる。
不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる半導体回路、半導体回路の制御方法、および電子機器を提供することが望ましい。
本開示の一実施の形態に係る半導体回路は、順序回路部と、第1のメモリとを備えている。順序回路部は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行うものである。第1のメモリは、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを記憶するものである。第1のメモリは、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを記憶するものである。
本開示の一実施の形態に係る半導体回路の制御方法は、第1の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを第1のメモリに記憶させるものである。
本開示の一実施の形態に係る電子機器は、半導体回路と、半導体回路に電源電圧を供給するバッテリとを備えたものである。半導体回路は、順序回路部と、第1のメモリとを有している。順序回路部は、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、複数の論理回路部における記憶素子が複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作するシフト動作とを行うものである。第1のメモリは、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを記憶するものである。第1のメモリは、第1の期間において、シフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータを記憶するものである。
本開示の一実施の形態に係る半導体回路、半導体回路の制御方法、および電子機器では、第1の期間において、順序回路部において、ストア動作と、シフト動作とが行われる。ストア動作では、複数の論理回路部における記憶素子により、複数の論理回路部における電圧状態がそれぞれ記憶される。シフト動作では、複数の論理回路部におけるフリップフロップがシフトレジスタとして動作する。そして、このシフト動作によりシフトレジスタから出力された第1のデータまたは第1のデータに対応する第2のデータが、第1のメモリに記憶される。
本開示の一実施の形態に係る半導体回路、半導体回路の制御方法、および電子機器によれば、各論理回路部に不揮発性の記憶素子を設けるとともに、シフト動作によりシフトレジスタから出力された第1のデータまたは第2のデータを第1のメモリに記憶するようにしたので、不揮発性の記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれの効果があってもよい。
本開示の一実施の形態に係る半導体回路の一構成例を表すブロック図である。 図1に示した順序回路部の一構成例を表す回路図である。 図2に示したフリップフロップおよび記憶部の一構成例を表す回路図である。 図1に示した半導体回路の通常動作の一例を表す説明図である。 図1に示した半導体回路のスリープ動作の一例を表す説明図である。 図1に示した半導体回路のスキャンテスト動作の一例を表す説明図である。 スリープ動作における前処理動作の一例を表すフローチャートである。 図3に示した記憶部におけるストア動作の一例を表す説明図である。 図3に示した記憶部におけるストア動作の一例を表す他の説明図である。 スリープ動作における後処理動作の一例を表すフローチャートである。 図3に示した記憶部におけるリストア動作の一例を表す説明図である。 変形例に係る半導体回路の一構成例を表すブロック図である。 他の変形例に係る半導体回路の一構成例を表すブロック図である。 他の変形例に係る半導体回路の一構成例を表すブロック図である。 他の変形例に係る半導体回路の一構成例を表すブロック図である。 図14に示した半導体回路の前処理動作の一例を表すフローチャートである。 図14に示した半導体回路の後処理動作の一例を表すフローチャートである。 他の変形例に係る半導体回路の後処理動作の一例を表すフローチャートである。 他の変形例に係る半導体回路の前処理動作の一例を表すフローチャートである。 他の変形例に係る半導体回路における順序回路部の一構成例を表す回路図である。 実施の形態を適用したスマートフォンの外観構成を表す斜視図である。
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.適用例
<1.実施の形態>
[構成例]
図1は、一実施の形態に係る半導体回路(半導体回路1)の一構成例を表すものである。半導体回路1は、いわゆるスキャンテストを行うことにより、評価の容易化を図ることができるように構成されたものである。なお、本開示の実施の形態に係る半導体回路の制御方法は、本実施の形態により具現化されるので、併せて説明する。
半導体回路1は、電源トランジスタ51と、N個の組み合わせ回路部10(組み合わせ回路部10(1)〜10(N))と、(N−1)個の順序回路部20(順序回路部20(1)〜20(N−1))と、選択部52,53と、検査部54と、メモリ55と、制御部56とを備えている。
電源トランジスタ51は、この例では、P型のMOS(Metal Oxide Semiconductor)トランジスタであり、ゲートには制御信号が供給され、ソースには電源電圧VDDが供給され、ドレインは、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54に接続されている。
この構成により、半導体回路1では、スリープ動作を実現することができるようになっている。すなわち、スリープ動作では、電源トランジスタ51をオフ状態にして、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54への電源供給を停止する。また、通常動作では、電源トランジスタ51をオン状態にして、これらの回路に電源電圧VDDを供給する。半導体回路1では、このようないわゆるパワーゲーティングにより、消費電力を低減することができるようになっている。
組み合わせ回路部10は、そのときに入力されている信号だけで出力信号が一意的に定まる、いわゆる組み合わせ回路により構成されるものである。この例では、組み合わせ回路部10は、供給された複数の信号に基づいて複数の信号を生成する。具体的には、例えば、組み合わせ回路部10(1)は、半導体回路1の外部から供給された複数の信号に基づいてM個の信号DI(1)〜DI(M)を生成して、その信号DI(1)〜DI(M)を順序回路部20(1)に供給する。また、組み合わせ回路部10(2)は、順序回路部20(1)から供給されたM個の信号DO(1)〜DO(M)に基づいて複数の信号を生成し、生成した複数の信号を順序回路部20(2)に供給する。組み合わせ回路部10(3)〜10(N−1)についても同様である。そして、組み合わせ回路部10(N)は、順序回路部20(N−1)から供給された複数の信号に基づいて複数の信号を生成し、生成した複数の信号を半導体回路1の外部に供給するようになっている。このように、半導体回路1では、組み合わせ回路部10(1)〜10(N)と、順序回路部20(1)〜20(N−1)とが、交互に配置されている。
順序回路部20は、そのときに入力されている信号だけでなく、以前に入力された信号にも基づいて出力信号を生成する、いわゆる順序回路により構成されるものである。この順序回路部20は、スキャンイネーブル信号SEに応じて異なる動作を行うようになっている。
具体的には、後述するように、順序回路部20は、スキャンイネーブル信号SEが“0”(非アクティブ)である場合には、前段の組み合わせ回路部10から供給された複数の信号およびクロック信号CLKに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部10に供給する。具体的には、例えば、順序回路部20(1)は、前段の組み合わせ回路部10(1)から供給された複数の信号DI(1)〜DI(M)およびクロック信号CLKに基づいて複数の信号DO(1)〜DO(M)を生成し、その複数の信号DO(1)〜DO(M)を、後段の組み合わせ回路部10(2)に供給する。順序回路部20(2)は、前段の組み合わせ回路部10(2)から供給された複数の信号およびクロック信号CLKに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部10(3)に供給する。順序回路部20(3)〜20(N−2)についても同様である。そして、順序回路部20(N−1)は、前段の組み合わせ回路部10(N−1)から供給された複数の信号およびクロック信号CLKに基づいて複数の信号を生成し、生成した複数の信号を、後段の組み合わせ回路部10(N)に供給するようになっている。
また、順序回路部20は、スキャンイネーブル信号SEが“1”(アクティブ)である場合には、スキャンシフト動作を行う。具体的には、例えば、順序回路部20(1)は、選択部52から供給された信号S(1)を受け取るとともに、シフトレジスタとして動作することにより信号S(2)を生成し、その信号S(2)を後段の順序回路部20(2)に供給する。順序回路部20(2)は、この信号S(2)を受け取るとともに、シフトレジスタとして動作することにより信号S(3)を生成し、その信号S(3)を後段の順序回路部20(3)に供給する。順序回路部20(3)〜20(N−2)についても同様である。そして、順序回路部20(N−1)は、順序回路部20(N−2)から供給された信号S(N−1)を受け取るとともに、シフトレジスタとして動作することにより信号S(N)を生成し、その信号S(N)を選択部53に供給するようになっている。
図2は、順序回路部20(1)の一構成例を表すものである。なお、順序回路部20(2)〜20(N−1)についても同様である。順序回路部20(1)は、M個のセレクタ21(セレクタ21(1)〜21(M))と、M個のフリップフロップ22(フリップフロップ22(1)〜22(M))と、M個の記憶部23(記憶部23(1)〜23(M))とを有している。M個のセレクタ21、M個のフリップフロップ22、およびM個の記憶部23は、M個の信号DI(1)〜DI(M)に対応して設けられている。
セレクタ21は、スキャンイネーブル信号SEに基づいて、第1の入力端子に入力された信号および第2の入力端子に入力された信号のうちの一方を選択して、その選択された信号を出力するものである。具体的には、例えば、セレクタ21(1)は、スキャンイネーブル信号SEが“0”(非アクティブ)である場合には、信号DI(1)を選択して信号D(1)として出力し、スキャンイネーブル信号SEが“1”(アクティブ)である場合には、信号S(1)を選択して信号D(1)として出力する。セレクタ21(2)は、スキャンイネーブル信号SEが“0”(非アクティブ)である場合には、信号DI(2)を選択して信号D(2)として出力し、スキャンイネーブル信号SEが“1”(アクティブ)である場合には、信号DO(1)を選択して信号D(2)として出力する。セレクタ21(3)〜21(M−1)についても同様である。そして、セレクタ21(M)は、スキャンイネーブル信号SEが“0”(非アクティブ)である場合には、信号DI(M)を選択して信号D(M)として出力し、スキャンイネーブル信号SEが“1”(アクティブ)である場合には、信号DO(M−1)を選択して信号D(M)として出力するようになっている。
フリップフロップ22は、D型フリップフロップであり、クロック信号CLKの立ち上がりエッジに基づいて、データ入力端子Dに入力された信号をサンプリングして、そのサンプリング結果をデータ出力端子Qから出力するものである。具体的には、フリップフロップ22(1)は、クロック信号CLKの立ち上がりエッジに基づいて、セレクタ21(1)の出力信号D(1)をサンプリングし、そのサンプリング結果を信号DO(1)として出力する。フリップフロップ22(2)は、クロック信号CLKの立ち上がりエッジに基づいて、セレクタ21(2)の出力信号D(2)をサンプリングし、そのサンプリング結果を信号DO(2)として出力する。フリップフロップ22(3)〜22(M−1)についても同様である。そして、フリップフロップ22(M)は、クロック信号CLKの立ち上がりエッジに基づいて、セレクタ21(M)の出力信号D(M)をサンプリングし、そのサンプリング結果を信号DO(M)として出力するとともに、信号S(2)として出力するようになっている。
記憶部23は、不揮発性の記憶部であり、信号SR,CTRLに基づいて、対応するフリップフロップ22の電圧状態を記憶するものである。具体的には、記憶部23(1)は、信号SR,CTRLに基づいて、フリップフロップ22(1)の電圧状態を記憶し(ストア動作)、または記憶している情報に基づいてフリップフロップ22の電圧状態を設定する(リストア動作)ようになっている。記憶部23(2)〜23(M)についても同様である。
図3は、フリップフロップ22(1)および記憶部23(1)の一構成例を表すものである。なお、フリップフロップ22(2)〜22(M)および記憶部23(2)〜23(M)についても同様である。フリップフロップ22(1)は、インバータ24,25と、マスタラッチ30と、スレーブラッチ40とを有している。記憶部23(1)は、トランジスタ46,47と、記憶素子48,49とを有している。
インバータ24は、クロック信号CLKを反転することによりクロック信号CBを生成するものである。インバータ25は、クロック信号CBを反転することによりクロック信号Cを生成するものである。
マスタラッチ30は、インバータ31と、トランスミッションゲート32と、インバータ33,34と、トランスミッションゲート35とを有している。インバータ31の入力端子はフリップフロップ22(1)のデータ入力端子Dに接続されるとともに信号D(1)が供給され、出力端子はトランスミッションゲート32の一端に接続されている。トランスミッションゲート32の一端はインバータ31の出力端子に接続され、他端はノードN31に接続されている。このトランスミッションゲート32は、クロック信号Cが低レベルであるときに一端と他端との間をオン状態にし、クロック信号Cが高レベルであるときに一端と他端との間をオフ状態にするものである。インバータ33の入力端子はノードN31に接続され、出力端子はノードN32に接続されている。インバータ34の入力端子はノードN32に接続され、出力端子はトランスミッションゲート35の一端に接続されている。トランスミッションゲート35の一端はインバータ34の出力端子に接続され、他端はノードN31に接続されている。このトランスミッションゲート35は、クロック信号Cが高レベルであるときに一端と他端との間をオン状態にし、クロック信号Cが低レベルであるときに一端と他端との間をオフ状態にするものである。
スレーブラッチ40は、トランスミッションゲート41と、インバータ42,43と、トランスミッションゲート44と、インバータ45とを有している。トランスミッションゲート41の一端はノードN32に接続され、他端はノードN41に接続されている。このトランスミッションゲート41は、クロック信号Cが高レベルであるときに一端と他端との間をオン状態にし、クロック信号Cが低レベルであるときに一端と他端との間をオフ状態にするものである。インバータ42の入力端子はノードN41に接続され、出力端子はノードN42に接続されている。インバータ43の入力端子はノードN42に接続され、出力端子はトランスミッションゲート44の一端に接続されている。トランスミッションゲート44の一端はインバータ43の出力端子に接続され、他端はノードN41に接続されている。このトランスミッションゲート44は、クロック信号Cが低レベルであるときに一端と他端との間をオン状態にし、クロック信号Cが高レベルであるときに一端と他端との間をオフ状態にするものである。インバータ45の入力端子はノードN42に接続され、出力端子はフリップフロップ22(1)のデータ出力端子Qに接続され、インバータ45は信号DO(1)を出力するものである。
トランジスタ46,47は、この例ではN型のMOSトランジスタである。トランジスタ46のドレインはノードN41に接続され、ゲートには信号SRが供給され、ソースは記憶素子48の一端に接続されている。トランジスタ47のドレインはノードN42に接続され、ゲートには信号SRが供給され、ソースは記憶素子49の一端に接続されている。
記憶素子48,49は、不揮発性の記憶素子であり、この例では、スピン注入により、フリー層F(後述)の磁化の向きを変えることにより情報の記憶を行う、スピン注入磁化反転型(STT;Spin Transfer Torque)の磁気トンネル接合(MTJ;Magnetic Tunnel Junction)素子である。記憶素子48の一端はトランジスタ46のソースに接続され、他端には信号CTRLが供給されている。記憶素子49の一端はトランジスタ47のソースに接続され、他端には信号CTRLが供給されている。
以下、記憶素子48を例に説明する。なお、記憶素子49についても同様である。記憶素子48は、ピンド層Pと、トンネルバリア層Iと、フリー層Fとを有している。ピンド層Pは、磁化PJの方向が、例えば膜面垂直方向に固定された強磁性体により構成されるものである。フリー層Fは、磁化FJの方向が、流入するスピン偏極電流に応じて、例えば膜面垂直方向において変化する強磁性体により構成されるものである。トンネルバリア層Iは、ピンド層Pとフリー層Fとの間の磁気的結合を切るとともに、トンネル電流を流すように機能するものである。
この構成により、記憶素子48では、例えば電流をフリー層Fからピンド層Pに流すと、ピンド層Pの磁化PJと同じ方向のモーメント(スピン)を有する偏極電子がピンド層Pからフリー層Fへ注入され、フリー層Fの磁化FJの方向がピンド層Pの磁化PJの方向と同じ方向(平行状態)になる。記憶素子48は、このような平行状態になった場合には、両端間の抵抗値が低くなる(低抵抗状態RL)。
また、例えば電流をピンド層Pからフリー層Fに流すと、電子がフリー層Fからピンド層Pへ注入される。その際、注入された電子のうち、ピンド層Pの磁化PJと同じ方向のモーメントを有する偏極電子はピンド層Pを透過し、ピンド層Pの磁化PJと反対の方向のモーメントを有する偏極電子は、ピンド層Pで反射され、フリー層Fへ注入される。これにより、フリー層Fの磁化FJの方向は、ピンド層Pの磁化PJの方向と反対の方向(反平行状態)になる。記憶素子48は、このような反平行状態になった場合には、両端間の抵抗値が高くなる(高抵抗状態RH)。
このように、記憶素子48,49では、電流を流す方向に応じて、フリー層Fの磁化FJの方向が変化することにより、抵抗状態が高抵抗状態RHと低抵抗状態RLとの間で変化する。記憶素子48,49は、このようにして抵抗状態を設定することにより、情報を記憶することができるようになっている。
このように、半導体回路1では、各フリップフロップ22に対応して記憶部23を設けるようにした。これにより、例えば、記憶部23は、スリープ動作において、電源供給を停止する直前にストア動作を行うことにより、フリップフロップ22の電圧状態を記憶する。そして、記憶部23は、電源供給を再開した後にリストア動作を行うことにより、記憶部23に記憶された情報に基づいてフリップフロップ22の電圧状態を設定する。これにより、半導体回路1では、電源供給を再開した後に、短い時間で、各フリップフロップ22の電圧状態を、電源供給を停止する前の電圧状態に戻すことができるようになっている。
選択部52(図1)は、制御部56から供給された制御信号に基づいて、半導体回路1の外部から供給された信号SI、および検査部54から供給された信号SAのうちの一方を選択し、選択された信号を信号S(1)として出力するものである。
選択部53は、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、検査部54に信号SBとして供給し、あるいは、半導体回路1の外部に信号SOとして出力するものである。
検査部54は、スリープ動作において、電源供給を再開し、順序回路部20(1)〜20(N−1)における各記憶部23がリストア動作を行った後に、各フリップフロップ22に記憶された情報を検査するものである。具体的には、後述するように、検査部54は、まず、電源供給を停止する前に、各フリップフロップ22に記憶された情報を取得し、取得した情報に基づいて、ECC(Error Correcting Code)処理を行うことにより、誤り訂正コードCODE1を生成する。そして、検査部54は、その誤り訂正コードCODE1を、メモリ55に記憶させる。そして、検査部54は、電源供給が再開し、各記憶部23がリストア動作を行った後に、再度、各フリップフロップ22に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードCODE2を生成する。そして、検査部54は、この誤り訂正コードCODE2と、メモリ55に記憶された誤り訂正コードCODE1とを比較することにより、各フリップフロップ22に記憶された情報を検査する。そして、検査部54は、誤り訂正コードCODE2が誤り訂正コードCODE1と一致しない場合には、誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22に記憶されていた情報を生成し、この情報を各フリップフロップ22にそれぞれ供給するようになっている。
メモリ55は、この例では、SRAM(Static Random Access Memory)を用いて構成されたものであり、検査部54が生成した誤り訂正コードCODE1を記憶するものである。メモリ55は、この例では、電源トランジスタ51がオフ状態になったときでも電源電圧VDDが供給されるように構成されている。なお、この例では、メモリ55を、SRAMを用いて構成したが、これに限定されるものではなく、これに代えて、DRAM(Dynamic Random Access Memory)など、揮発性のメモリを用いて構成してもよい。また、不揮発性のメモリを用いて構成してもよい。
制御部56は、順序回路部20(1)〜20(N−1)、選択部52,53、検査部54、メモリ55、および電源トランジスタ51の動作を制御するものである。制御部56は、例えば、ハードウェアにより構成してもよいし、プログラムを実行可能なプロセッサを用いて構成してもよい。
ここで、セレクタ21、フリップフロップ22、および記憶部23は、本開示における「論理回路部」の一具体例に対応する。順序回路部20は、本開示における「順序回路部」の一具体例に対応する。組み合わせ回路部10は、本開示における「第1の組み合わせ回路部」および「第2の組み合わせ回路部」の一具体例に対応する。メモリ55は、本開示における「第1のメモリ」の一具体例に対応する。誤り訂正コードCODE1は、本開示における「第1の誤り訂正コード」の一具体例に対応する。誤り訂正コードCODE2は、本開示における「第2の誤り訂正コード」の一具体例に対応する。
[動作および作用]
続いて、本実施の形態の半導体回路1の動作および作用について説明する。
(全体動作概要)
まず、図1を参照して、半導体回路1の全体動作概要を説明する。以下に、通常動作OP1を行う場合、スリープ動作OP2を行う場合、および、半導体回路1を製造した後の検査(スキャンテスト動作OP3)を行う場合について説明する。
図4は、通常動作OP1を行うときの半導体回路1の動作を表すものである。この図4では、通常動作OP1における主要な信号を太線で示している。組み合わせ回路部10(1)は、半導体回路1の外部から供給された複数の信号に基づいてM個の信号DI(1)〜DI(M)を生成する。順序回路部20(1)は、組み合わせ回路部10(1)から供給された複数の信号DI(1)〜DI(M)およびクロック信号CLKに基づいて複数の信号DO(1)〜DO(M)を生成する。組み合わせ回路部10(2)は、順序回路部20(1)から供給されたM個の信号DO(1)〜DO(M)に基づいて複数の信号を生成する。組み合わせ回路部10(3)〜10(N−1)、および順序回路部20(2)〜20(N−2)についても同様である。順序回路部20(N−1)は、組み合わせ回路部10(N−1)から供給された複数の信号およびクロック信号CLKに基づいて複数の信号を生成する。そして、組み合わせ回路部10(N)は、順序回路部20(N−1)から供給された複数の信号に基づいて複数の信号を生成し、生成した複数の信号を半導体回路1の外部に供給する。
図5は、スリープ動作OP2を行うときの半導体回路1の動作を表すものである。この図5では、スリープ動作OP2における主要な信号を太線で示している。スリープ動作OP2では、半導体回路1は、電源供給を停止する前に、前処理動作OP21を行い、その後に電源供給を停止する。そして、半導体回路1は、電源供給を再開した後に、後処理動作OP22を行う。
前処理動作OP21では、まず、順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。選択部53は、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54に供給する。検査部54は、信号SBに基づいて、ECC処理を行うことにより、誤り訂正コードCODE1を生成し、その誤り訂正コードCODE1を、メモリ55に記憶させる。また、順序回路部20(1)〜20(N−1)の各記憶部23は、ストア動作を行うことにより、対応するフリップフロップ22の電圧状態を記憶する。そして、電源トランジスタ51が、制御部56からの制御信号に基づいてオフ状態になる。これにより、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54への電源供給が停止される。
そして、後処理動作OP22では、まず、電源トランジスタ51が、制御部56からの制御信号に基づいてオン状態になる。これにより、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54への電源供給が再開される。そして、この電源供給の再開に伴い、順序回路部20(1)〜20(N−1)の各記憶部23がリストア動作を行うことにより、記憶部23に記憶された情報に基づいて、対応するフリップフロップ22の電圧状態を設定する。その後、順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。選択部53は、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54に供給する。検査部54は、信号SBに基づいて、ECC処理を行うことにより、誤り訂正コードCODE2を生成し、この誤り訂正コードCODE2と、メモリ55に記憶された誤り訂正コードCODE1とを比較することにより、各フリップフロップ22に記憶された情報を検査する。そして、検査部54は、誤り訂正コードCODE2が誤り訂正コードCODE1と一致しない場合には、誤り訂正コードCODE1に基づいて、スリープ動作の前に各フリップフロップ22に記憶されていた情報を生成し、信号SAとして出力する。選択部52は、検査部54から供給された信号SAを、信号S(1)として順序回路部20(1)に供給する。そして、順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。
図6は、スキャンテスト動作OP3を行うときの半導体回路1の動作を表すものである。この図6では、スキャンテスト動作OP3における主要な信号を太線で示している。選択部52は、外部(例えばテスタ)から供給された信号SIを信号S(1)として順序回路部20(1)に供給する。順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。これにより、外部から供給された信号に含まれる情報が、順序回路部20(1)〜20(N−1)の各フリップフロップ22に設定される。そして、半導体回路1は、通常動作OP1(図4)を行うとともに、外部から1パルス分のクロック信号CLKが供給される。その後、順序回路部20(1)〜20(N−1)は、再度スキャンシフト動作を行う。そして、選択部53は、順序回路部20(N−1)から供給された信号S(N)を、信号SOとして外部(例えばテスタ)に供給する。このようにして、テスタは、各組み合わせ回路部10の入力データを設定するとともに、各組み合わせ回路部10の出力データを取得する。そして、テスタは、出力データを期待されるデータと比較する。半導体回路1では、このようにして、組み合わせ回路部10(1)〜10(N)の検査を個別に行うことにより、半導体回路1の検査を効率的に行うことができる。
(スリープ動作OP2について)
次に、スリープ動作OP2における、前処理動作OP21および後処理動作OP22について詳細に説明する。
図7は、前処理動作OP21の一例を表すものである。前処理動作OP21では、検査部54が、各フリップフロップ22に記憶された情報に基づいて、誤り訂正コードCODE1を生成し、その誤り訂正コードCODE1をメモリ55に記憶させるとともに、記憶部23がストア動作を行う。以下に、この動作について、詳細に説明する。
まず、検査部54は、各フリップフロップ22に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードCODE1を生成する(ステップS1)。具体的には、まず、順序回路部20(1)〜20(N−1)が、制御部56から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部53が、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54に供給する。そして、検査部54は、信号SBに基づいて、ECC処理を行うことにより、誤り訂正コードCODE1を生成する。
このとき、検査部54は、信号SBを信号SAとしてそのまま出力する。そして、選択部52は、制御部56から供給された制御信号に基づいて、この信号SAを、信号S(1)として順序回路部20(1)に供給する。そして、順序回路部20(1)〜20(N−1)は、各フリップフロップ22に記憶された情報が、スキャンシフト動作を始める前と同じ情報になるまで、スキャンシフト動作を続ける。
次に、検査部54は、制御部56から供給された制御信号に基づいて、ステップS1において生成した誤り訂正コードCODE1をメモリ55に記憶させる(ステップS2)。
次に、制御部56は、信号SRを高レベルにすることにより、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオン状態にする(ステップS3)。これにより、各記憶部23は、対応するフリップフロップ22に電気的に接続される。
次に、順序回路部20(1)〜20(N−1)における各記憶部23は、ストア動作を行う(ステップS4)。
図8A,8Bは、ストア動作における、フリップフロップ22のスレーブラッチ40、および記憶部23の一動作例を表すものである。この図8A,8Bにおいて、トランスミッションゲート41,44、トランジスタ46,47は、その動作状態を示すスイッチとして描いている。
このストア動作では、クロック信号CLKは停止され、低レベルに固定される。これにより、クロック信号Cは低レベルになり、クロック信号CBは高レベルになる。その結果、トランスミッションゲート41はオフ状態になり、トランスミッションゲート44はオン状態になる。これにより、スレーブラッチ40では、インバータ42が、ノードN41の電圧を反転し、その反転結果をノードN42に出力し、インバータ43が、ノードN42の電圧を反転し、その反転結果を、トランスミッションゲート44を介してノードN41に出力する。すなわち、スレーブラッチ40は、いわゆる双安定回路として機能している。
まず、制御部56は、信号CTRLの電圧を低レベル電圧VL(接地レベル)にする(図8A)。これにより、記憶部23では、スレーブラッチ40に記憶された情報に応じて、記憶素子48,49の一方に電流が流れる。この例では、ノードN41の電圧VN41は、高レベル電圧VHであり、ノードN42の電圧VN42は、低レベル電圧VLである。よって、インバータ43、トランスミッションゲート44、トランジスタ46、および記憶素子48の順にストア電流Istore1が流れる。このとき、記憶素子48では、ストア電流Istore1がピンド層Pからフリー層Fに流れるので、フリー層Fの磁化FJの方向がピンド層Pの磁化PJの方向と反対の方向(反平行状態)になり、その結果、記憶素子48の抵抗状態は、高抵抗状態RHになる。
次に、制御部56は、信号CTRLの電圧を高レベル電圧VHにする(図8B)。これにより、記憶部23では、スレーブラッチ40に記憶された情報に応じて、記憶素子48,49の他方に電流が流れる。この例では、記憶素子49、トランジスタ47、トランスミッションゲート44、インバータ42の順にストア電流Istore2が流れる。このとき、記憶素子49では、ストア電流Istore2がフリー層Fからピンド層Pに流れるので、フリー層Fの磁化FJの方向がピンド層Pの磁化PJの方向と同じ方向(平行状態)になり、その結果、記憶素子49の抵抗状態は、低抵抗状態RLになる。
このようにして、順序回路部20(1)〜20(N−1)において、各記憶部23は、対応するフリップフロップ22の電圧状態を記憶する。
次に、制御部56は、信号SRを低レベルにすることにより、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオフ状態にする(ステップS5)。これにより、各記憶部23は、対応するフリップフロップ22から電気的に切断される。
次に、制御部56は、電源トランジスタ51をオフ状態にする(ステップS6)。これにより、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54への電源供給が停止される。なお、メモリ55および制御部56への電源供給は維持される。
以上で、前処理動作OP21は終了する。そして、半導体回路1は、時間が経過した後に後処理動作OP22を行う。
図9は、後処理動作OP22の一例を表すものである。後処理動作OP22では、記憶部23がリストア動作を行い、その後に、検査部54が、各フリップフロップ22に記憶された情報を検査する。以下に、この動作について、詳細に説明する。
まず、制御部56は、信号SRを高レベルにすることにより、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオン状態にする(ステップS11。これにより、各記憶部23は、対応するフリップフロップ22に電気的に接続される。
次に、制御部56は、電源トランジスタ51をオン状態にする(ステップS12)。これにより、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54への電源供給が再開される。
そして、この電源供給の再開に伴い、順序回路部20(1)〜20(N−1)における各記憶部23は、リストア動作を行う(ステップS13)。
図10は、リストア動作における、フリップフロップ22のスレーブラッチ40、および記憶部23の一動作例を表すものである。リストア動作では、ストア動作と同様に、クロック信号CLKは停止され、低レベルに固定される。これにより、トランスミッションゲート41はオフ状態になり、トランスミッションゲート44はオン状態になる。また、制御部56は、信号CTRLの電圧を低レベル電圧VL(接地レベル)にする。
これにより、ノードN41は、トランジスタ46および記憶素子48を介して接地され、ノードN42は、トランジスタ47および記憶素子49を介して接地される。このとき、記憶素子48,49の抵抗状態は互いに異なるので、記憶素子48,49の抵抗状態に応じて、スレーブラッチ40における電圧状態が定まる。この例では、記憶素子48の抵抗状態は高抵抗状態RHであり、記憶素子49の抵抗状態は低抵抗状態RLである。よって、ノードN41が高い抵抗値によりプルダウンされ、ノードN42が低い抵抗値によりプルダウンされるため、ノードN41の電圧VN41は高レベル電圧VHになり、ノードN42の電圧VN42が低レベル電圧VLになる。
このようにして、順序回路部20(1)〜20(N−1)において、各記憶部23は、記憶された情報に基づいて、対応するフリップフロップ22の電圧状態を設定する。
次に、制御部56は、信号SRを低レベルにすることにより、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオフ状態にする(ステップS14)。これにより、各記憶部23は、対応するフリップフロップ22から電気的に切断される。
次に、検査部54は、各フリップフロップ22に記憶された情報を取得し、取得した情報に基づいて誤り訂正コードCODE2を生成する(ステップS15)。具体的には、まず、順序回路部20(1)〜20(N−1)が、制御部56から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部53が、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54に供給する。そして、検査部54は、信号SBに基づいて、ECC処理を行うことにより、誤り訂正コードCODE2を生成する。
このとき、検査部54は、信号SBを信号SAとしてそのまま出力する。そして、選択部52は、制御部56から供給された制御信号に基づいて、この信号SAを、信号S(1)として順序回路部20(1)に供給する。そして、順序回路部20(1)〜20(N−1)は、各フリップフロップ22に記憶された情報が、スキャンシフト動作を始める前と同じ情報になるまで、スキャンシフト動作を続ける。
次に、検査部54は、ステップS15において生成した誤り訂正コードCODE2を、メモリ55が記憶している誤り訂正コードCODE1と比較する(ステップS16)。そして、誤り訂正コードCODE1,CODE2が一致する場合(ステップS17において“Y”)には、このフローは終了する。
また、誤り訂正コードCODE1,CODE2が一致しない場合(ステップS17において“N”)には、検査部54は、誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22が記憶していた情報を生成し、生成した情報を順序回路部20(1)〜20(N−1)に供給する(ステップS18)。具体的には、検査部54は、生成した情報を信号SAとして出力する。そして、選択部52が、制御部56から供給された制御信号に基づいて、検査部54から供給された信号SAを、信号S(1)として順序回路部20(1)に供給する。そして、順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。これにより、半導体回路1は、検査部54が生成した情報に基づいて、順序回路部20(1)〜20(N−1)の各フリップフロップ22を設定する。
以上で、後処理動作OP22は終了する。この後、半導体回路1は、通常動作OP1を行う。
このように、半導体回路1では、各フリップフロップ22の電圧状態を記憶する記憶部23を設けるようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、各フリップフロップ22の電圧状態を、電源供給を停止する前の電圧状態に戻すことができる。すなわち、例えば、記憶部23を設けず、後処理動作OP22において、メモリ55に記憶された誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22が記憶していた情報を生成し、生成した情報を順序回路部20(1)〜20(N−1)に供給するようにした場合には、各フリップフロップ22の電圧状態を戻す処理に時間およびエネルギーを要するおそれがある。一方、半導体回路1では、各フリップフロップ22の電圧状態を記憶する記憶部23を設けるようにしたので、短い時間かつ少ないエネルギーで、各フリップフロップ22の電圧状態を戻すことができる。
また、半導体回路1では、後処理動作OP22において、誤り訂正コードCODE1と誤り訂正コードCODE2とが一致する場合には、すぐに通常動作OP1を行うようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、通常動作OP1を開始することができる。
また、半導体回路1では、電源供給を再開し、順序回路部20(1)〜20(N−1)における各記憶部23がリストア動作を行った後に、各フリップフロップ22に記憶された情報を検査するようにした。これにより、例えば、各記憶部23の記憶素子48,49に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。すなわち、一般に、不揮発性の記憶素子は、長年にわたり書き換えを続けることにより、経年劣化が生じるおそれがある。この場合には、例えば、記憶素子に情報を記憶させようとしても、正しい情報を記憶させることができなくなるおそれがある。半導体回路1では、前処理動作OP21において誤り訂正コードCODE1を生成するとともに、後処理動作OP22において誤り訂正コードCODE2を生成し、誤り訂正コードCODE1と誤り訂正コードCODE2とを比較することにより、各フリップフロップ22に記憶された情報を検査するようにした。これにより、検査部54は、誤り訂正コードCODE1,CODE2が互いに一致しない場合には、前処理動作OP21において、経年劣化により記憶素子48,49に正しく情報を記憶させることができなかったと判断し、誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22が記憶していた情報を生成する。これにより、半導体回路1では、記憶素子48,49に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。
また、半導体回路1では、前処理動作OP21において、検査部54が各フリップフロップ22の情報を取得して誤り訂正コードCODE1を生成(ステップS1)した後に、記憶部23がストア動作(ステップS4)を行うようにしたので、回路が誤動作するおそれを低減することができる。すなわち、記憶部23がストア動作を行う際には、図8A,8Bに示したように、ストア電流Istore1,Istore2が流れる。このストア電流Istore1,Istore2の電流値が大きい場合には、例えば、スレーブラッチ40に記憶された情報が失われてしまい、いわゆるディスターブが生じるおそれがある。よって、仮に、記憶部23がストア動作を行った後に、検査部54が各フリップフロップ22の情報を取得して誤り訂正コードCODE1を生成する場合には、検査部54は、誤った情報に基づいて誤り訂正コードCODE1を生成してしまうおそれがある。一方、半導体回路1では、検査部54が各フリップフロップ22の情報を取得して誤り訂正コードCODE1を生成した後に、記憶部23がストア動作(ステップS4)を行うようにした。これにより、ストア動作において仮にディスターブが生じた場合でも、誤り訂正コードCODE1は、そのディスターブの影響を受けないので、回路が誤動作するおそれを低減することができる。
また、半導体回路1では、誤り訂正コードCODE1をメモリ55に記憶させるようにしたので、各フリップフロップ22に記憶されていた情報をそのままメモリ55に記憶させる場合に比べて、メモリ55の記憶容量を抑えることができる。
また、半導体回路1では、半導体回路1を製造した後の検査(スキャンテスト動作OP3)の仕組みを利用して、スリープ動作OP2において、各フリップフロップ22に記憶された情報を検査するようにした。これにより、回路構成をシンプルにしつつ、各フリップフロップ22に記憶された情報を検査することができる。
[効果]
以上のように本実施の形態では、各フリップフロップの電圧状態を記憶する記憶部を設けるようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、各フリップフロップの電圧状態を、電源供給を停止する前の電圧状態に戻すことができる。
本実施の形態では、後処理動作において、誤り訂正コードが互いに一致する場合には、すぐに通常動作を行うようにしたので、電源供給を再開した後に、短い時間かつ少ないエネルギーで、通常動作を開始することができる。
本実施の形態では、電源供給を再開し、各フリップフロップがリストア動作を行った後に、各フリップフロップに記憶された情報を検査するようにしたので、記憶素子に経年劣化が生じた場合でも、回路動作への影響を抑えることができる。
本実施の形態では、前処理動作において、検査部が各フリップフロップの情報を取得して誤り訂正コードCODE1を生成した後に、記憶部がストア動作を行うようにしたので、回路が誤動作するおそれを低減することができる。
本実施の形態では、誤り訂正コードCODE1をメモリに記憶させるようにしたので、メモリの記憶容量を抑えることができる。
[変形例1]
上記実施の形態では、電源トランジスタ51のドレインを、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54に接続したが、これに限定されるものではなく、これに代えて、図11に示す半導体回路1Aのように、電源トランジスタ51のドレインを、さらにメモリ55Aに接続してもよい。メモリ55Aは、この例では、磁気抵抗メモリ(MRAM;Magnetoresistive Random Access Memory)、相変化メモリ(PCRAM;Phase Change Random Access Memory)、抵抗変化型メモリ(ReRAM;Resistive Random Access Memory)のような不揮発性のメモリを用いて構成されたものである。メモリ55Aは、電源トランジスタ51がオン状態になることにより電源電圧VDDが供給される。半導体回路1Aでは、スリープ動作において、電源トランジスタ51をオフ状態にすることにより、N個の組み合わせ回路部10、(N−1)個の順序回路部20、選択部52,53、および検査部54に加えて、さらにメモリ55Aへの電源供給を停止する。これにより、半導体回路1Aでは、消費電力を低減することができる。
また、図12に示す半導体回路1Bのように、メモリ57Bと、制御部56Bとを備えてもよい。メモリ57Bは、様々な情報を記憶するものであり、メモリ55Aと同じ種類の不揮発性のメモリを用いて構成されている。メモリ57Bは、電源トランジスタ51がオン状態になることにより電源電圧VDDが供給される。制御部56Bは、半導体回路1Bの動作を制御するものである。ここで、メモリ57Bは、本開示における「第2のメモリ」の一具体例に対応する。
この半導体回路1Bでは、メモリ55Aの記憶素子のサイズは、メモリ57Bの記憶素子のサイズよりも大きいことが望ましい。すなわち、メモリ55Aは、誤り訂正コードCODE1を記憶するため、書込エラーレートが低いことが望まれる。メモリ55Aの記憶素子のサイズを、メモリ57Bの記憶素子のサイズよりも大きくすることにより、書込エラーレートの低減が期待される。
[変形例2]
上記実施の形態では、検査部54と、メモリ55とを別々に設けたが、これに限定されるものではない。これに代えて、例えば、図13に示す半導体回路1Cのように、メモリ55Cの内部に検査部54Cを設けてもよい。すなわち、一般に、メモリの内部には、ECC処理を行うブロックが設けられているので、このようなメモリをメモリ55Cとして用いることにより、構成をシンプルにすることができる。
[変形例3]
上記実施の形態では、検査部54は、ECC処理を行うことにより、誤り訂正コードCODE1,CODE2を生成したが、これに限定されるものではない。以下に、本変形例に係る半導体回路1Dについて詳細に説明する。
図14は、本変形例に係る半導体回路1Dの一構成例を表すものである。半導体回路1Dは、検査部54Dと、メモリ55Dとを備えている。検査部54Dは、前処理動作OP21において、各フリップフロップ22から取得した情報を退避データDATAとして、メモリ55Dに記憶させるとともに、後処理動作OP22において、各フリップフロップ22から取得した情報と退避データDATAとを比較するものである。メモリ55Dは、退避データDATAを記憶するものである。
次に、半導体回路1Dに係るスリープ動作OP2における、前処理動作OP21および後処理動作OP22について詳細に説明する。
図15は、前処理動作OP21の一例を表すものである。まず、検査部54Dは、各フリップフロップ22に記憶された情報を取得する(ステップS21)。具体的には、まず、順序回路部20(1)〜20(N−1)が、制御部56から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部53が、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54Dに供給する。次に、検査部54Dは、制御部56から供給された制御信号に基づいて、ステップS21において取得した情報を、退避データDATAとしてメモリ55Dに記憶させる(ステップS22)。そして、制御部56は、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオン状態にし(ステップS3)、各記憶部23はストア動作を行い(ステップS4)、制御部56は、各記憶部23のトランジスタ46,47をオフ状態にし(ステップS5)、制御部56は、電源トランジスタ51をオフ状態にする(ステップS6)。
図16は、後処理動作OP22の一例を表すものである。まず、制御部56は、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオン状態にし(ステップS11)、電源トランジスタ51をオン状態し(ステップS12)、各記憶部23はリストア動作を行い(ステップS13)、制御部56は、各記憶部23のトランジスタ46,47をオフ状態にする(ステップS14)。
次に、検査部54Dは、各フリップフロップ22に記憶された情報を取得する(ステップS35)。具体的には、まず、順序回路部20(1)〜20(N−1)が、制御部56から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部53が、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54Dに供給する。
次に、検査部54Dは、ステップS35において取得した情報を、メモリ55Dが記憶している退避データDATAと比較する(ステップS36)。そして、ステップS35において取得した情報と退避データDATAが一致する場合(ステップS37において“Y”)には、このフローは終了する。
また、ステップS35において取得した情報と退避データDATAが一致しない場合(ステップS37において“N”)には、検査部54Dは、退避データDATAを順序回路部20(1)〜20(N−1)に供給する(ステップS38)。具体的には、検査部54Dは、退避データDATAを信号SAとして出力する。そして、選択部52が、制御部56から供給された制御信号に基づいて、検査部54Dから供給された信号SAを、信号S(1)として順序回路部20(1)に供給する。そして、順序回路部20(1)〜20(N−1)は、スキャンシフト動作を行う。これにより、半導体回路1Dは、退避データDATAに基づいて、順序回路部20(1)〜20(N−1)の各フリップフロップ22を設定する。そして、このフローは終了する。
このように、半導体回路1Dでは、検査部54DがECC処理を行わないようにしたので、検査部54Dの構成をシンプルにすることができる。
[変形例4]
上記実施の形態では、検査部54は、ECC処理を行うことにより、誤り訂正コードCODE1,CODE2を生成し、誤り訂正コードCODE1および誤り訂正コードCODE2を比較したが、これに限定されるものではない。以下に、本変形例に係る半導体回路1Eについて詳細に説明する。
半導体回路1Eは、検査部54Eを備えている。検査部54Eは、前処理動作OP21において、上記実施の形態の場合(図7)と同様に動作するとともに、後処理動作OP22において、誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22に記憶されていた情報を生成し、この生成した情報と、各フリップフロップ22から取得した情報とを比較するものである。
図17は、半導体回路1Eに係る後処理動作OP22の一例を表すものである。まず、制御部56は、順序回路部20(1)〜20(N−1)における各記憶部23のトランジスタ46,47をオン状態にし(ステップS11)、電源トランジスタ51をオン状態し(ステップS12)、各記憶部23はリストア動作を行い(ステップS13)、制御部56は、各記憶部23のトランジスタ46,47をオフ状態にする(ステップS14)。
次に、検査部54Eは、メモリ55が記憶している誤り訂正コードCODE1に基づいて、電源供給が停止する前に各フリップフロップ22が記憶していた情報(データDATA1)を生成する(ステップS45)。
次に、検査部54Eは、各フリップフロップ22に記憶された情報(データDATA2)を取得する(ステップS46)。具体的には、まず、順序回路部20(1)〜20(N−1)が、制御部56から供給された制御信号に基づいて、スキャンシフト動作を行う。そして、選択部53が、制御部56から供給された制御信号に基づいて、順序回路部20(N−1)から供給された信号S(N)を、信号SBとして検査部54Eに供給する。
次に、検査部54Eは、ステップS45において生成したデータDATA1と、ステップS46において取得したデータDATA2とを比較する(ステップS47)。そして、データDATA1とデータDATA2が一致する場合(ステップS48において“Y”)には、このフローは終了する。
また、データDATA1とデータDATA2一致しない場合(ステップS48において“N”)には、検査部54Eは、データDATA1を順序回路部20(1)〜20(N−1)に供給する(ステップS38)。そして、このフローは終了する。
このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。
[変形例5]
上記実施の形態では、前処理動作OP21において、検査部54が各フリップフロップ22の情報を取得して誤り訂正コードCODE1を生成した後に、記憶部23がストア動作を行うようにしたが、これに限定されるものではない。これに代えて、例えば、ストア動作においてディスターブが生じにくい構成である場合には、図18に示したように、記憶部23がストア動作(ステップS4)を行った後に、検査部54が各フリップフロップ22の情報を取得して誤り訂正コードCODE1を生成(ステップS1)してもよい。
[変形例6]
上記実施の形態では、スピン注入磁化反転型の磁気トンネル接合素子を用いて記憶素子48,49を構成したが、これに限定されるものではなく、フリップフロップ22の電圧状態を記憶できるものであれば、どのような記憶素子を用いてもよい。具体的には、例えば、電流駆動型の記憶素子を用いてもよいし、電圧駆動型の記憶素子を用いてもよい。電流駆動型の記憶素子は、例えば、MTJ素子の他、相変化メモリ(PCRAM)において用いられる記憶素子や、抵抗変化型メモリ(ReRAM)において用いられる記憶素子を適用可能である。これらの記憶素子は、ユニポーラ型であってもよいし、バイポーラ型であってもよい。電圧駆動型の記憶素子は、例えば、強誘電体メモリ(FeRAM;Ferroelectric Random Access Memory)において用いられる記憶素子や、磁性メモリ(MeRAM;Magnetoelectric Random Access Memory)を適用可能である。
[変形例7]
上記実施の形態では、図2に示したように、フリップフロップ22を用いて順序回路部20を構成したが、これに限定されるものではなく、これに代えて、様々な論理回路を用いて順序回路部を構成することができる。具体的には、例えば、図2において、セレクタ21、フリップフロップ22、記憶部23とからなる一組の回路を、特許文献1に記載の回路(例えば、図19に示す論理回路60)に置き換えてもよい。
この論理回路60は、NMOS論理回路61と、フリップフロップ62,63と、貫通電流制御回路64と、不揮発性抵抗素子R1,R2と、トランジスタP1〜P8とを有している。以下に、上記実施の形態におけるセレクタ21(1)、フリップフロップ22(1)、および記憶部23(1)を置き換えた場合における対応関係を説明する。信号Dinは、例えば図2に示したセレクタ21(1)に入力される信号DI(1)に対応する。信号TDin,/TDinは、例えば図2に示したセレクタ21(1)に入力される信号S(1)に対応する。信号CLKは、図2に示したクロック信号CLKに対応する。信号TE,/TEは、図2に示したスキャンイネーブル信号SEに対応する。信号Q,/Q,TDout,/TDoutは、図2に示した信号DO(1)に対応する。ここで、論理回路60は、本開示における「論理回路部」の一具体例に対応する。
通常動作OP1では、信号Dinに基づいて、NMOS論理回路61の論理に応じた信号Dout,/Dout、Q,/Qが生成される。また、スリープ動作OP2およびスキャンテスト動作OP3では、信号TDin,/TDinに基づいて、信号TDout,/TDoutが生成される。
このように構成することにより、順序回路部20は、NMOS論理回路61に応じた様々な演算を行うことができ、動作の自由度を高めることができる。
[その他の変形例]
また、これらの変形例のうちの2以上を組み合わせてもよい。
<2.適用例>
次に、上記実施の形態および変形例で説明した半導体回路の適用例について説明する。
図20は、上記実施の形態等の半導体回路が適用されるスマートフォンの外観を表すものである。このスマートフォンは、例えば、本体部310、表示部320、およびバッテリ330を有している。
上記実施の形態等の半導体回路は、このようなスマートフォンの他、デジタルカメラ、ノート型パーソナルコンピュータ、携帯型ゲーム機、ビデオカメラなどのあらゆる分野の電子機器に適用することが可能である。特に、本技術は、バッテリを有する携帯型の電子機器に適用すると効果的である。
以上、いくつかの実施の形態および変形例、ならびにそれらの具体的な応用例および電子機器への適用例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
例えば、上記の実施の形態等では、電源トランジスタ51を設け、オンオフすることにより電源電圧VDDの供給を制御するようにしたが、これに限定されたものではない。これに代えて、例えば、接地側にトランジスタを設け、オンオフすることにより電圧VSSの供給を制御するようにしてもよい。また、例えば、内部回路に電源電圧を供給するレギュレータ回路を設け、レギュレータ回路の動作をオンオフすることにより、電源電圧の供給を制御するようにしてもよい。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術は以下のような構成とすることができる。
(1)それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを記憶する第1のメモリと
を備えた半導体回路。
(2)検査部をさらに備え、
前記順序回路部は、前記第1の期間の後の第2の期間において、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行い、
前記検査部は、前記第2の期間において、前記第1のメモリに記憶された前記第1のデータまたは前記第2のデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第3のデータを検査する
前記(1)に記載の半導体回路。
(3)前記検査部は、前記第2の期間において、前記第3のデータを検査した結果に基づいて第4のデータを生成し、その第4のデータを前記シフトレジスタに供給し、
前記順序回路部は、前記第2の期間において、前記シフト動作を行うことにより、前記第4のデータを前記複数の論理回路部における前記フリップフロップの初期データとして設定する
前記(2)に記載の半導体回路。
(4)前記順序回路部に対して第5のデータを供給する第1の組み合わせ回路と、
第6のデータに基づいて動作する第2の組み合わせ回路と
をさらに備え、
前記順序回路部は、前記第2の期間の後の第3の期間において、前記第5のデータに基づいて前記第6のデータを生成する処理動作を行う
前記(2)または(3)に記載の半導体回路。
(5)前記第1のメモリは、前記第2のデータを記憶し、
前記検査部は、前記第1の期間において、前記第1のデータに基づいて第1の誤り訂正コードを生成し、
前記第2のデータは、前記第1の誤り訂正コードである
前記(3)または(4)に記載の半導体回路。
(6)前記検査部は、前記第2の期間において、前記第3のデータに基づいて第2の誤り訂正コードを求め、前記第1の誤り訂正コードと前記第2の誤り訂正コードとを比較することにより、前記第3のデータを検査する
前記(5)に記載の半導体回路。
(7)前記検査部は、前記第1の誤り訂正コードと前記第2の誤り訂正コードとが一致しない場合に、前記第1の誤り訂正コードに基づいて前記第4のデータを生成する
前記(6)に記載の半導体回路。
(8)前記検査部は、前記第2の期間において、前記第1の誤り訂正コードに基づいて前記第1のデータを生成し、前記第1のデータと前記第3のデータとを比較することにより、前記第3のデータを検査する
前記(5)に記載の半導体回路。
(9)前記検査部は、前記第1のデータと前記第3のデータとが一致しない場合に、前記1のデータを前記第4のデータとして、前記シフトレジスタに供給する
前記(8)に記載の半導体回路。
(10)前記第1のメモリは、前記第1のデータを記憶し、
前記検査部は、前記第2の期間において、前記第3のデータと、前記第1のメモリに記憶された前記第1のデータとを比較することにより、前記第3のデータを検査する
前記(3)または(4)に記載の半導体回路。
(11)前記検査部は、前記第3のデータと、前記第1のメモリに記憶された前記第1のデータとが一致しない場合に、前記1のデータを前記第4のデータとして、前記シフトレジスタに供給する
前記(10)に記載の半導体回路。
(12)前記第1の期間および前記第2の期間において、前記順序回路部への電源供給を行い、前記第1の期間と前記第2の期間との間の第4の期間において、前記順序回路部への電源供給を停止するように電源制御を行う制御部をさらに備えた
前記(2)から(11)のいずれかに記載の半導体回路。
(13)前記第1の期間において、前記順序回路部は、前記シフト動作を行った後に前記ストア動作を行う
前記(1)から(12)のいずれかに記載の半導体回路。
(14)前記第1の期間において、前記順序回路部は、前記ストア動作を行った後に前記シフト動作を行う
前記(1)から(12)のいずれかに記載の半導体回路。
(15)前記フリップフロップは、マスタラッチとスレーブラッチとを有し、
前記記憶素子は、前記スレーブラッチに接続可能に構成された
前記(1)から(14)のいずれかに記載の半導体回路。
(16)前記スレーブラッチは、
第1のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を第2のノードに印加可能に構成された第1の回路と、
前記第2のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を前記第1のノードに印加可能に構成された第2の回路と
を有し、
前記記憶素子は、前記第1のノードに接続可能に構成された第1の記憶素子と、前記第2のノードに接続可能に構成された第2の記憶素子とを含む
前記(15)に記載の半導体回路。
(17)前記記憶素子は、印加される電流に基づいて情報を記憶する
前記(1)から(16)のいずれかに記載の半導体回路。
(18)前記記憶素子は、ユニポーラ型またはバイポーラ型の素子である
前記(17)に記載の半導体回路。
(19)前記記憶素子は、印加される電圧に基づいて情報を記憶する
前記(1)から(16)のいずれかに記載の半導体回路。
(20)前記第1のメモリの記憶素子と同じ種類の記憶素子を有する第2のメモリをさらに備え、
前記第1のメモリの記憶素子のサイズは、前記第2のメモリの記憶素子のサイズよりも大きい
前記(1)から(19)のいずれかに記載の半導体回路。
(21)第1の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、
前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを第1のメモリに記憶させる
半導体回路の制御方法。
(22)前記第1の期間の後の第2の期間において、前記順序回路部に、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行わせ、
前記第2の期間において、検査部に、前記第1のメモリに記憶されたデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第3のデータを検査させる
前記(21)に記載の半導体回路の制御方法。
(23)半導体回路と、
前記半導体回路に電源電圧を供給するバッテリと
を備え、
前記半導体回路は、
それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを記憶する第1のメモリと
を有する
電子機器。
1,1A,1B,1C,1D…半導体回路、10,10(1)〜10(N)…組み合わせ回路部、20,20(1)〜20(N−1)…順序回路部、21,21(1)〜21(M)…セレクタ、22,22(1)〜22(M)…フリップフロップ、23,23(1)〜23(M)…記憶部、24,25,31,33,34,42,43,45…インバータ、32,35,41,44…トランスミッションゲート、46,47…トランジスタ、48,49…記憶素子、51…電源トランジスタ、52,53…選択部、54,54C,54D…検査部、55,55A,55C,55D…メモリ、56,56B…制御部、57B…メモリ、60…論理回路、61…NMOS論理回路、62,63…フリップフロップ、64…貫通電流制御回路、CODE1,CODE2…誤り訂正コード、CTRL,DI(1)〜DI(M),DO(1)〜DO(M),SA,SB,SI,SO,SR,S(1)〜S(N)…信号、DATA…退避データ、F…フリー層、I…トンネルバリア層、Istore1,Istore2…ストア電流、P…ピンド層、P1〜P8…トランジスタ、SE…スキャンイネーブル信号、VH…高レベル電圧、VL…低レベル電圧。

Claims (23)

  1. それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
    前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを記憶する第1のメモリと
    を備えた半導体回路。
  2. 検査部をさらに備え、
    前記順序回路部は、前記第1の期間の後の第2の期間において、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行い、
    前記検査部は、前記第2の期間において、前記第1のメモリに記憶された前記第1のデータまたは前記第2のデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第3のデータを検査する
    請求項1に記載の半導体回路。
  3. 前記検査部は、前記第2の期間において、前記第3のデータを検査した結果に基づいて第4のデータを生成し、その第4のデータを前記シフトレジスタに供給し、
    前記順序回路部は、前記第2の期間において、前記シフト動作を行うことにより、前記第4のデータを前記複数の論理回路部における前記フリップフロップの初期データとして設定する
    請求項2に記載の半導体回路。
  4. 前記順序回路部に対して第5のデータを供給する第1の組み合わせ回路と、
    第6のデータに基づいて動作する第2の組み合わせ回路と
    をさらに備え、
    前記順序回路部は、前記第2の期間の後の第3の期間において、前記第5のデータに基づいて前記第6のデータを生成する処理動作を行う
    請求項2に記載の半導体回路。
  5. 前記第1のメモリは、前記第2のデータを記憶し、
    前記検査部は、前記第1の期間において、前記第1のデータに基づいて第1の誤り訂正コードを生成し、
    前記第2のデータは、前記第1の誤り訂正コードである
    請求項3に記載の半導体回路。
  6. 前記検査部は、前記第2の期間において、前記第3のデータに基づいて第2の誤り訂正コードを求め、前記第1の誤り訂正コードと前記第2の誤り訂正コードとを比較することにより、前記第3のデータを検査する
    請求項5に記載の半導体回路。
  7. 前記検査部は、前記第1の誤り訂正コードと前記第2の誤り訂正コードとが一致しない場合に、前記第1の誤り訂正コードに基づいて前記第4のデータを生成する
    請求項6に記載の半導体回路。
  8. 前記検査部は、前記第2の期間において、前記第1の誤り訂正コードに基づいて前記第1のデータを生成し、前記第1のデータと前記第3のデータとを比較することにより、前記第3のデータを検査する
    請求項5に記載の半導体回路。
  9. 前記検査部は、前記第1のデータと前記第3のデータとが一致しない場合に、前記1のデータを前記第4のデータとして、前記シフトレジスタに供給する
    請求項8に記載の半導体回路。
  10. 前記第1のメモリは、前記第1のデータを記憶し、
    前記検査部は、前記第2の期間において、前記第3のデータと、前記第1のメモリに記憶された前記第1のデータとを比較することにより、前記第3のデータを検査する
    請求項3に記載の半導体回路。
  11. 前記検査部は、前記第3のデータと、前記第1のメモリに記憶された前記第1のデータとが一致しない場合に、前記1のデータを前記第4のデータとして、前記シフトレジスタに供給する
    請求項10に記載の半導体回路。
  12. 前記第1の期間および前記第2の期間において、前記順序回路部への電源供給を行い、前記第1の期間と前記第2の期間との間の第4の期間において、前記順序回路部への電源供給を停止するように電源制御を行う制御部をさらに備えた
    請求項2に記載の半導体回路。
  13. 前記第1の期間において、前記順序回路部は、前記シフト動作を行った後に前記ストア動作を行う
    請求項1に記載の半導体回路。
  14. 前記第1の期間において、前記順序回路部は、前記ストア動作を行った後に前記シフト動作を行う
    請求項1に記載の半導体回路。
  15. 前記フリップフロップは、マスタラッチとスレーブラッチとを有し、
    前記記憶素子は、前記スレーブラッチに接続可能に構成された
    請求項1に記載の半導体回路。
  16. 前記スレーブラッチは、
    第1のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を第2のノードに印加可能に構成された第1の回路と、
    前記第2のノードにおける電圧に基づいて、その電圧の反転電圧を生成し、その反転電圧を前記第1のノードに印加可能に構成された第2の回路と
    を有し、
    前記記憶素子は、前記第1のノードに接続可能に構成された第1の記憶素子と、前記第2のノードに接続可能に構成された第2の記憶素子とを含む
    請求項15に記載の半導体回路。
  17. 前記記憶素子は、印加される電流に基づいて情報を記憶する
    請求項1に記載の半導体回路。
  18. 前記記憶素子は、ユニポーラ型またはバイポーラ型の素子である
    請求項17に記載の半導体回路。
  19. 前記記憶素子は、印加される電圧に基づいて情報を記憶する
    請求項1に記載の半導体回路。
  20. 前記第1のメモリの記憶素子と同じ種類の記憶素子を有する第2のメモリをさらに備え、
    前記第1のメモリの記憶素子のサイズは、前記第2のメモリの記憶素子のサイズよりも大きい
    請求項1に記載の半導体回路。
  21. 第1の期間において、それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有する順序回路部に、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行わせ、
    前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを第1のメモリに記憶させる
    半導体回路の制御方法。
  22. 前記第1の期間の後の第2の期間において、前記順序回路部に、前記複数の論理回路部における前記記憶素子に記憶された情報に基づいて前記複数の論理回路部の電圧状態を設定するリストア動作と、前記シフト動作とをこの順で行わせ、
    前記第2の期間において、検査部に、前記第1のメモリに記憶されたデータに基づいて、前記シフト動作により前記シフトレジスタから出力された第3のデータを検査させる
    請求項21に記載の半導体回路の制御方法。
  23. 半導体回路と、
    前記半導体回路に電源電圧を供給するバッテリと
    を備え、
    前記半導体回路は、
    それぞれがフリップフロップおよび不揮発性の記憶素子を含む複数の論理回路部を有し、第1の期間において、前記複数の論理回路部における前記記憶素子が前記複数の論理回路部における電圧状態をそれぞれ記憶するストア動作と、前記複数の論理回路部における前記フリップフロップがシフトレジスタとして動作するシフト動作とを行う順序回路部と、
    前記第1の期間において、前記シフト動作により前記シフトレジスタから出力された第1のデータまたは前記第1のデータに対応する第2のデータを記憶する第1のメモリと
    を有する
    電子機器。


JP2016195757A 2016-10-03 2016-10-03 半導体回路、半導体回路の制御方法、および電子機器 Pending JP2018060277A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016195757A JP2018060277A (ja) 2016-10-03 2016-10-03 半導体回路、半導体回路の制御方法、および電子機器
KR1020197007473A KR102414605B1 (ko) 2016-10-03 2017-08-23 반도체 회로, 반도체 회로의 제어 방법, 및 전자 기기
PCT/JP2017/030087 WO2018066246A1 (ja) 2016-10-03 2017-08-23 半導体回路、半導体回路の制御方法、および電子機器
US16/336,815 US10818369B2 (en) 2016-10-03 2017-08-23 Semiconductor circuit, control method of semiconductor circuit, and electronic apparatus
TW106132382A TWI744384B (zh) 2016-10-03 2017-09-21 半導體電路、半導體電路之控制方法、及電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016195757A JP2018060277A (ja) 2016-10-03 2016-10-03 半導体回路、半導体回路の制御方法、および電子機器

Publications (1)

Publication Number Publication Date
JP2018060277A true JP2018060277A (ja) 2018-04-12

Family

ID=61831723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016195757A Pending JP2018060277A (ja) 2016-10-03 2016-10-03 半導体回路、半導体回路の制御方法、および電子機器

Country Status (5)

Country Link
US (1) US10818369B2 (ja)
JP (1) JP2018060277A (ja)
KR (1) KR102414605B1 (ja)
TW (1) TWI744384B (ja)
WO (1) WO2018066246A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107670A1 (ja) * 2020-11-17 2022-05-27 ソニーセミコンダクタソリューションズ株式会社 半導体回路

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169899B2 (en) * 2019-04-15 2021-11-09 Toyota Motor Engineering & Manufacturing North America, Inc. Mitigating data offsets for machine learning
TWI750856B (zh) * 2020-10-21 2021-12-21 大陸商合肥沛睿微電子股份有限公司 快速恢復工作狀態的方法及電子裝置
US11495315B1 (en) * 2021-08-11 2022-11-08 Siemens Industry Software Inc. Configurable built-in self-repair chain for fast repair data loading

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912937A (en) * 1997-03-14 1999-06-15 Xilinx, Inc. CMOS flip-flop having non-volatile storage
JP3986393B2 (ja) * 2002-08-27 2007-10-03 富士通株式会社 不揮発性データ記憶回路を有する集積回路装置
JP3910902B2 (ja) 2002-10-02 2007-04-25 松下電器産業株式会社 集積回路装置
DE102005023118B3 (de) * 2005-05-19 2006-12-21 Infineon Technologies Ag Schaltungsanordnung zum Zuführen von Konfigurationsdaten in FPGA-Einrichtungen
US7386775B2 (en) * 2005-08-18 2008-06-10 International Business Machines Corporation Scan verification for a scan-chain device under test
JP4372068B2 (ja) * 2005-09-06 2009-11-25 株式会社東芝 プログラマブルゲートアレイ装置及び回路切替方法
JP4410296B2 (ja) * 2006-02-27 2010-02-03 富士通株式会社 プロセッサのデバッグ機構
KR101611416B1 (ko) * 2009-12-09 2016-04-12 삼성전자주식회사 비휘발성 논리 회로, 상기 비휘발성 논리 회로를 포함하는 집적 회로 및 상기 집적 회로의 동작 방법
JP5807287B2 (ja) 2011-05-20 2015-11-10 日本電気株式会社 試験可能な不揮発論理ゲート
US20140149773A1 (en) * 2012-11-29 2014-05-29 Agency For Science, Technology And Research Latch circuit and data processing system
KR102112367B1 (ko) * 2013-02-12 2020-05-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107670A1 (ja) * 2020-11-17 2022-05-27 ソニーセミコンダクタソリューションズ株式会社 半導体回路

Also Published As

Publication number Publication date
US20190228829A1 (en) 2019-07-25
TWI744384B (zh) 2021-11-01
TW201814721A (zh) 2018-04-16
WO2018066246A1 (ja) 2018-04-12
KR20190060988A (ko) 2019-06-04
US10818369B2 (en) 2020-10-27
KR102414605B1 (ko) 2022-06-30

Similar Documents

Publication Publication Date Title
WO2018066246A1 (ja) 半導体回路、半導体回路の制御方法、および電子機器
US7936592B2 (en) Non-volatile memory cell with precessional switching
JP5010700B2 (ja) 半導体集積回路
JP5274670B2 (ja) 不揮発性状態保持ラッチ
US20150036415A1 (en) Non-volatile memory cell
US9412448B2 (en) C-element with non-volatile back-up
JP2004247018A (ja) 磁気ランダムアクセスメモリとその読み出し方法
JP2010079988A (ja) 記憶装置
US10802827B2 (en) Memory device having in-situ in-memory stateful vector logic operation
JP5733575B2 (ja) 半導体記憶装置
JP4901899B2 (ja) 磁気抵抗効果メモリ
CN104040632A (zh) 用于自旋矩mram的混合读取方案
CN101814314A (zh) 使用可能性写入对mram单元进行编程
US9368208B1 (en) Non-volatile latch using magneto-electric and ferro-electric tunnel junctions
TW201403596A (zh) 具有雙穩態電路與非揮發性元件之記憶電路
JP2017208146A (ja) 半導体回路、駆動方法、および電子機器
JPWO2017122497A1 (ja) 半導体回路、駆動方法、および電子機器
WO2017150028A1 (ja) 半導体回路、半導体回路の駆動方法、および電子機器
Wang et al. A 1.0 V 45nm nonvolatile magnetic latch design and its robustness analysis
US20210390997A1 (en) Memory device and method of operating a vcma mtj device
US10311931B2 (en) Semiconductor memory device
JP2018195366A (ja) 半導体回路、駆動方法、および電子機器
JP2011198416A (ja) 磁気メモリ
US20240105261A1 (en) Non-volatile storage circuit
JP2012242287A (ja) 試験可能な不揮発論理ゲート