JP5999097B2 - 半導体集積回路及びその制御方法 - Google Patents

半導体集積回路及びその制御方法 Download PDF

Info

Publication number
JP5999097B2
JP5999097B2 JP2013545926A JP2013545926A JP5999097B2 JP 5999097 B2 JP5999097 B2 JP 5999097B2 JP 2013545926 A JP2013545926 A JP 2013545926A JP 2013545926 A JP2013545926 A JP 2013545926A JP 5999097 B2 JP5999097 B2 JP 5999097B2
Authority
JP
Japan
Prior art keywords
nonvolatile
register
data
semiconductor integrated
load
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.)
Expired - Fee Related
Application number
JP2013545926A
Other languages
English (en)
Other versions
JPWO2013077316A1 (ja
Inventor
竜介 根橋
竜介 根橋
崎村 昇
昇 崎村
幸秀 辻
幸秀 辻
あゆ香 多田
あゆ香 多田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2013077316A1 publication Critical patent/JPWO2013077316A1/ja
Application granted granted Critical
Publication of JP5999097B2 publication Critical patent/JP5999097B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1659Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1693Timing circuits or methods
    • 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
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/0081Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a magnetic RAM [MRAM] element or ferromagnetic cell
    • 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
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Static Random-Access Memory (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2011−254028号(2011年11月21日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、半導体集積回路及びその制御方法に関する。特に、不揮発レジスタを備えた半導体集積回路及びその制御方法に関する。
近年、半導体集積回路における集積度の向上に伴い、内部に含まれるトランジスタのリーク電流が問題となる。特に、半導体集積回路が動作していない状態でのリーク電流が増加し、その消費電力が無視できない状況にある。そのため、半導体集積回路が動作していなければ、半導体集積回路に供給する電源を遮断し、リーク電流を低減する低消費電力モードを備える半導体集積回路が存在する。
しかし、半導体集積回路に対する電源供給が遮断されると、その内部状態を保持するレジスタ等の値は消去されてしまう。このようなことから、半導体集積回路には、電源供給が遮断される前に保持しておきたいデータを外部記憶装置等に退避する必要がある。
ここで、特許文献1において、構成要素の状態を保存する方法と、電源が完全に遮断された後の再開機能を持つコンピュータシステムが開示されている。特許文献1が開示するコンピュータシステムは、内部状態をコンピュータシステム構成要素内の走査ラッチを使用して読み取る。読み取った内部状態は退避領域に保存され、その後、電源が遮断される。
さらに、特許文献2において、不揮発メモリと書き込み回路を備えたラッチ回路を備える半導体装置が開示されている。特許文献2が開示する半導体装置は、電源をオフする前に、ラッチ回路のデータ(揮発的なデータ)を不揮発メモリに書き込む。このように、特許文献2が開示する半導体装置は、不揮発メモリセルを使用することにより、煩雑な転送動作を必要とせず、かつ、高速にデータの退避が可能である。
特開2002−182803号公報 特開2004−133969号公報
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
ここで、特許文献1が開示するように、内部状態を保持している回路から分離して配置されているメモリ素子を使用する場合には、データ転送に伴う時間遅延及び電力消費が発生する。特に、電源のオン・オフを頻繁に行った場合には、データ転送に伴う時間遅延や電力消費に関する問題が顕著になる。
さらに、特許文献2が開示する半導体装置には、モジュール毎に備えられた電源スイッチをオン・オフするたびに、そのモジュールに含まれる全ての不揮発ラッチのデータを退避・復帰するため、不必要な書き込みやロードが発生し、消費電力が大きくなるという問題がある。また、電源をオンする際に、常に電源をオフの前の状態に復帰させるため、システムの柔軟性という観点からも問題がある。
そのため、半導体集積回路の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制した半導体集積回路及びその制御方法が、望まれる。
本発明の第1の視点によれば、揮発性データを保持する保持回路と、不揮発性データの保持が可能な不揮発素子と、を含む複数の第1の不揮発レジスタと、前記複数の第1の不揮発レジスタのうち、いずれの第1の不揮発レジスタからデータをロードするかを定めるロードイネーブルビットを保持する第2の不揮発レジスタと、外部から電源供給がなされた際に、前記第2の不揮発レジスタからロードした前記ロードイネーブルビットが指定する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードする不揮発レジスタ制御回路と、を備える半導体集積回路が提供される。
本発明の第2の視点によれば、揮発性データを保持する保持回路と、不揮発性データの保持が可能な不揮発素子と、を含む複数の第1の不揮発レジスタを備える半導体集積回路の制御方法であって、前記複数の第1の不揮発レジスタのうち、いずれの第1の不揮発レジスタからデータをロードするかを定めるロードイネーブルビットを参照する第1の工程と、外部から電源供給がなされた際に、前記ロードイネーブルビットが指定する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードする第2の工程と、を含む半導体集積回路の制御方法が提供される。
本発明の各視点によれば、半導体集積回路の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制することに貢献しうる半導体集積回路及びその制御方法が、提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係る半導体集積回路1の内部構成の一例を示す図である。 半導体集積回路1が採用する命令形式の一例を示す図である。 不揮発フリップフロップ60の回路構成の一例を示す図である。 不揮発素子としてスピントルク効果を利用して書き込みを行う磁壁移動素子の素子近傍の断面図である。 半導体集積回路1に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30の接続の一例を示す図である。 命令コードが不揮発素子の書き込み命令である場合の動作波形の一例である。 命令コードが不揮発素子のロード命令である場合の動作波形の一例である。 第2の実施形態に係る半導体集積回路2の内部構成の一例を示す図である。 半導体集積回路2に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30aの接続の一例を示す図である。 第3の実施形態に係る半導体集積回路3のシステム起動時の動作の一例を示すフローチャートである。 第4の実施形態に係る半導体集積回路4のシステム起動時の動作の一例を示すフローチャートである。 第5の実施形態に係る不揮発フリップフロップ60aの回路構成の一例を示す図である。 半導体集積回路5に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30bの接続の一例を示す図である。
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載は何らの限定を意図するものではない。
上述のように、メモリ素子とロジック素子が分離して配置されることによって、電源が遮断されている状態からの復帰に際し、データ転送遅延、及びデータを転送する配線や回路の電力消費が増加する。そのため、半導体集積回路の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制した半導体集積回路及びその制御方法が、望まれる。
そこで、一例として図1に示す半導体集積回路100を提供する。図1に示す半導体集積回路100は、揮発性データを保持する保持回路101と、不揮発性データの保持が可能な不揮発素子102と、を含む複数の第1の不揮発レジスタ103と、複数の第1の不揮発レジスタ103のうち、いずれの第1の不揮発レジスタ103からデータをロードするかを定めるロードイネーブルビットを保持する第2の不揮発レジスタ104と、外部から電源供給がなされた際に、第2の不揮発レジスタ104からロードしたロードイネーブルビットが指定する第1の不揮発レジスタ103に含まれる不揮発素子102が保持するデータを、保持回路101にロードする不揮発レジスタ制御回路105と、を備える。
半導体集積回路100に含まれる第1の不揮発レジスタ103は、ロジック素子である保持回路101と、メモリ素子である不揮発素子102が一体化されて構成されている。ロジック素子とメモリ素子が一体化されているために、遮断されていた電源が復帰する前のデータ転送遅延が防止でき、データ転送に使用する配線や回路の電力消費を削減することができる。さらに、データのロードを行う不揮発素子102の数を限定(ロードイネーブルビットにより指定)することで、データ復帰に要する電力を低減すると共に、意図した復帰後の状態に迅速に復帰することができる。
さらに、下記の形態が可能である。
[形態1]上記第1の視点に係る半導体集積回路のとおりである。
[形態2]前記複数の第1の不揮発レジスタは複数のグループに分割され、それぞれのグループは、前記ロードイネーブルビットと対応付けられているか、又は、対応付けられていないか、のいずれかであって、前記不揮発レジスタ制御回路は、前記ロードイネーブルビットが指定するグループに属する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードすることが好ましい。
[形態3]前記半導体集積回路は、前記ロードイネーブルビットに対応付けられていないグループに属する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードするか否かは予め定められた規則に従うことが好ましい。
[形態4]前記半導体集積回路は、中央処理装置に対する命令をデコードする命令デコーダと、前記命令を記憶する記憶装置と、を備え、前記複数の第1の不揮発レジスタはそれぞれアドレスが付与されと共に、複数のグループに分割されており、前記命令には、前記複数の第1の不揮発レジスタに対応するアドレスを指定するアドレスビットと、前記複数の第1の不揮発レジスタからデータのロードを指示するロードビットと、が含まれ、前記不揮発レジスタ制御回路は、前記命令デコーダが前記記憶装置から読み出した命令をデコードした結果、前記アドレスビットが指定する第1の不揮発レジスタと同一のグループに属する第1の不揮発レジスタであって、対応する前記ロードビットが活性化されている第1の不揮発レジスタのデータのロードを行うことが好ましい。
[形態5]前記複数の第1の不揮発レジスタは、複数のグループに分割され、前記複数の第1の不揮発レジスタが属するいずれのグループを活性化するか否かを定める複数のロード信号の供給が可能である電源制御回路を備え、前記不揮発レジスタ制御回路は、前記電源制御回路が供給するロード信号に対応したグループに属する第1の不揮発レジスタであって、対応する前記ロードイネーブルビットが活性化されている第1の不揮発レジスタのデータのロードを行うことが好ましい。
[形態6]前記不揮発レジスタ制御回路は、外部から電源供給がなされた際に、ロード用分岐フラグに基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含まないシステム起動、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含むシステム起動、のいずれかを行うことが好ましい。
[形態7]前記複数の第1の不揮発レジスタのいずれかにおいて、プログラムカウンタに関するデータを保持し、前記不揮発レジスタ制御回路は、外部から電源供給がなされた際に、前記プログラムカウンタを記憶する不揮発レジスタに含まれる不揮発素子から前記保持回路にデータをロードし、前記プログラムカウンタの値に基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含まないシステム起動、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含むシステム起動、のいずれかを行うことが好ましい。
[形態8]前記複数の不揮発レジスタは、第1及び第2の書き込み信号と、1つのデータ入力と、を受け付け、前記第1の書き込み信号が活性化された場合には、前記保持回路のデータを前記不揮発素子へ書き込み、前記第2の書き込み信号が活性化された場合には、前記データ入力を前記不揮発素子へ書き込みつつ、前記保持回路が保持するデータの変更を行わないことが好ましい。
[形態9]上記第2の視点に係る半導体集積回路の制御方法のとおりである。
[形態10]前記第2の工程は、外部から電源供給がなされた際に、ロード用分岐フラグに基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードせずにシステムを起動する工程、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードしてシステムを起動する工程、のいずれかを含むことが好ましい。
[形態11]前記第2の工程は、外部から電源供給がなされた際に、プログラムカウンタを前記第1の不揮発レジスタに含まれる前記保持回路にロードする工程と、前記プログラムカウンタの値に基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードせずにシステムを起動する工程、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードしてシステムを起動する工程、のいずれかを含むことが好ましい。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、第1の実施形態に係る半導体集積回路1の内部構成の一例を示す図である。なお、図2では、説明の簡略化のため電源遮断からの復帰に関連するモジュールを記載している。
半導体集積回路1は、不揮発レジスタ群10と、ロードイネーブルレジスタ20と、不揮発レジスタ制御回路30と、記憶装置40と、命令デコーダ50から構成されている。
不揮発レジスタ群10には、複数の不揮発レジスタR1〜Rm(但し、mは2以上の整数、以下同じ)が含まれている。さらに、各不揮発レジスタは、nビットの情報が保持可能である(但し、nは2以上の整数、以下同じ)。各不揮発レジスタは複数の不揮発フリップフロップから構成され、1つの不揮発フリップフロップで1ビットの情報を保持する。即ち、各不揮発レジスタは、nビットの情報が保持可能であるので、n個の不揮発フリップフロップを含んで構成される。なお、各不揮発レジスタのビット数nは、各不揮発レジスタによって異なっていてもよい。本実施形態に係る半導体集積回路1では、nの値は各不揮発レジスタで同一とする。
また、各不揮発フリップフロップは、揮発性データを保持する保持回路と、不揮発性データを保持する不揮発素子を含む。なお、保持回路と不揮発素子の詳細については、後述する。
不揮発フリップフロップは、保持回路と不揮発素子との間でデータを転送する機能を備えている。本書では、保持回路のデータを不揮発素子へ転送することを不揮発素子の書き込みと定義する。一方、不揮発素子のデータを保持回路へ転送することを不揮発素子のロードと定義する。
上述のように、半導体集積回路1には、m個の不揮発レジスタが含まれている。さらに、各不揮発レジスタには、アドレスA1〜Amまでが付与されている。不揮発レジスタの一例としては、プログラムカウンタPC、スタックポイントSP、ステータスレジスタSR、汎用レジスタ、周辺モジュールで使用するレジスタ等が考えられる。これらの各不揮発レジスタが保持する値は、半導体集積回路1の内部状態を表現するものである。従って、保持回路の値を不揮発素子に退避させた後、半導体集積回路1への電源供給を遮断し、その後、電源を供給した際にこれらのデータを復元すれば、半導体集積回路1を電源遮断前(動作の中断前)の状態に戻すことができる。
ロードイネーブルレジスタ20には、複数のビットが含まれている。ここでは、ロードイネーブルレジスタ20には、d個のビットが含まれるものとする(但し、dは2以上の整数、以下同じ)。なお、ロードイネーブルレジスタ20に含まれるビットを、ロードイネーブルビットLEB1〜LEBdと呼び、以下説明する。
ロードイネーブルビットLEBは、複数の不揮発レジスタR1〜Rmのうち、いずれの不揮発レジスタのデータをロードするかを判断する際に使用する。各ロードイネーブルビットLEBと不揮発レジスタの対応関係は次のとおりである。不揮発レジスタ群10に含まれるm個の不揮発レジスタは、q個のグループG1からGqに分割される(但し、qは2以上の整数、以下同じ)。それぞれのグループGは、複数のロードイネーブルビットLEB1〜LEBdのうち、いずれかのロードイネーブルビットLEBと1対1に対応付けされる、又は、対応するロードイネーブルビットLEBを有しない。
次に、ロードイネーブルビットLEBの使用方法を概説する。
ロードイネーブルビットLEBは、半導体集積回路1に電源が供給された直後に不揮発レジスタ制御回路30にロードされる(不揮発レジスタR1〜Rmのロードの前にロードされる)。従って、不揮発レジスタ制御回路30は、不揮発レジスタR1〜Rmに先立ち、このロードイネーブルビットLEBの参照が可能である。
不揮発レジスタ制御回路30は、不揮発レジスタR1〜Rmをロードする際、不揮発レジスタR1〜Rmのいずれかを指定し、指定した不揮発レジスタを含むグループに対応したロードイネーブルビットLEBを参照する。参照したロードイネーブルビットLEBの値が「1」の場合には(活性化している場合には)、指定した不揮発レジスタにおいて、不揮発素子のデータを保持回路へロードする。参照したロードイネーブルビットLEBの値が「0」の場合には、指定された不揮発レジスタの不揮発素子のデータを保持回路にロードしない。対応するロードイネーブルビットLEBが存在しない場合には、指定した不揮発レジスタの不揮発素子のデータを保持回路にロードするか否かは、予め不揮発レジスタ制御回路30に固定的に設定しておく。なお、不揮発レジスタ制御回路30による不揮発レジスタR1〜Rmの指定方法については、後述する。
ここで、本実施形態に係る半導体集積回路1は、命令セットを備えている。この命令セットは、不揮発レジスタR1〜Rmの制御を可能にする不揮発レジスタ制御命令を含む。
次に、命令の読み出しから不揮発レジスタの制御までの手順を概説する。
初めに、半導体集積回路1の中央処理装置(図2において図示せず)は、プログラムカウンタPCで指定されるアドレスに従って、そのアドレスに記憶されている命令を記憶装置40から読み出す。読み出された命令は、命令デコーダ50に送られ、デコードされる。その際、命令コードが不揮発素子に対する書き込み命令の場合であれば、不揮発レジスタ制御回路30は、指定された不揮発レジスタに含まれる保持回路が保持するデータを不揮発素子に書き込む。一方、命令コードが不揮発素子に対するロード命令の場合であれば、不揮発レジスタ制御回路30は、指定された不揮発レジスタに含まれる不揮発素子のデータを保持回路にロードする。
続いて、不揮発レジスタの制御命令の詳細について説明する。
本実施形態に係る半導体集積回路1では、シングルオペランドの命令形式を使用するものとする。図3は、半導体集積回路1が採用する命令形式の一例を示す図である。図3に示す命令は、a+b+cのビット長を持っている(a〜cは、いずれも整数、以下同じ)。1〜aビットは、レジスタの指定に使用する。a+1〜a+bビットは、アドレッシングモードの指定に使用する。a+b+1〜a+b+cビットは、命令コードの指定に使用する。
この命令コードに不揮発レジスタの制御命令を追加することで、既存のアーキテクチャを変更することなく、不揮発レジスタを制御することができる。例えば、レジスタ番号4の不揮発レジスタR4の書き込みを行う場合には、レジスタの指定ビットはレジスタ番号4を指定するように設定する。アドレッシングモードについては、通常用意されているレジスタを操作するモードと同様に設定する。そして、命令コードに、新規に追加した不揮発レジスタの書き込み命令を設定する。なお、アドレッシングモードは、通常用意されているモードとは異なるものを使用することもできる。
さらに、アドレスA1〜Amまでのm個の不揮発レジスタをt個(但し、tは2以上の整数、以下同じ)のグループに分け、あるアドレスを指定すると、そのアドレスの不揮発レジスタが属するグループの不揮発レジスタを同時に制御できるようにしてもよい。例えば、不揮発レジスタR1〜Rmが、それぞれ1つのロードイネーブルビットLEBを備え、全ての不揮発レジスタのうち、ロードイネーブルビットLEBが「1」の不揮発レジスタに対してのみロードを行う場合、ロード動作の対象となるグループ数tは1、ロードイネーブルビットLEBの数dはm、ロードイネーブルビットLEBと対応付けられるグループ数qもmとする。そして、レジスタの指定ビットは考慮せず、アドレッシングモードについては不揮発レジスタを操作するモードに設定し、命令コードを設定すればよい。
このように、複数の不揮発レジスタR1〜Rmを同時に操作すれば、不揮発レジスタの制御時間を短縮することができる。特許文献2が開示する半導体装置においては、モジュール内の全てのレジスタをロードするため、ロードする必要のない不揮発素子からのロード動作が発生し、無駄な電力が消費されてしまう。しかし、ロードイネーブルビットLEBによってロードする不揮発レジスタを制限することにより、データ復帰に要するオーバーヘッドを抑えつつ、データ復帰に要する電力消費も削減することができる。なお、不揮発レジスタの制御命令として、シングルオペランドの命令形式を使用することができることを説明したが、これに限定する趣旨ではない。
次に、不揮発レジスタを構成する不揮発フリップフロップについて説明する。
図4は、不揮発フリップフロップ60の回路構成の一例を示す図である。不揮発フリップフロップ60は、マスタラッチ61と、スレーブラッチ62と、を含んで構成される。さらに、スレーブラッチ62には、不揮発素子63及び64が含まれる。
マスタラッチ61とスレーブラッチ62は、揮発性データの保持が可能である。不揮発フリップフロップ60は、スレーブラッチ62と不揮発素子63及び64の間でデータをやり取りする。より具体的には、不揮発フリップフロップ60は、スレーブラッチ62に含まれる保持回路のデータを不揮発素子63及び64に書き込む機能と、不揮発素子63及び64からスレーブラッチ62へデータをロードする機能を備えている。
マスタラッチ61は、Nチャンネル型MOSトランジスタN01及びN02と、Pチャンネル型MOSトランジスタP01及びP02と、からなるクロックドインバータ65と、Nチャンネル型MOSトランジスタN03及びN04と、Pチャンネル型MOSトランジスタP03及びP04と、からなるクロックドインバータ66と、インバータINV01及びインバータINV02と、から構成される。さらに、インバータINV01と、Nチャンネル型MOSトランジスタN03及びN04と、Pチャンネル型MOSトランジスタP03及びP04と、からなるクロックドインバータ66によって保持回路67を構成する。
入力データDは、クロックドインバータ65を介してマスタラッチ61に入力され、保持回路67でラッチされる。マスタラッチ61に入力されたデータは、ノードT01で保持され、インバータINV02で反転されたデータがノードT02で保持される。これらのノードT01及びT02で保持するデータは、Nチャンネル型MOSトランジスタN05及びN06を介してスレーブラッチ62のノードT03及びT04に入力される。
スレーブラッチ62は、Nチャンネル型MOSトランジスタN07及びN08と、Pチャンネル型MOSトランジスタP05及びP06と、からなる保持回路68と、Nチャンネル型MOSトランジスタN09〜N12からなる書き込み用トランジスタと、NOR回路NOR01及びNOR02と、Nチャンネル型MOSトランジスタN13と、Pチャンネル型MOSトランジスタP07〜P09と、出力用インバータINV03及びINV04と、不揮発素子63及び64と、を含む。
Nチャンネル型MOSトランジスタN13は、データの書き込み時以外は、Nチャンネル型MOSトランジスタ07及びN08を接地する。Pチャンネル型MOSトランジスタP07〜P09は、プリチャージ用のトランジスタとして使用する。
不揮発素子63の一端は、Nチャンネル型MOSトランジスタ07のソースに接続され、他の一端は、Nチャンネル型MOSトランジスタN09〜N12のドレインに共通接続される。不揮発素子63の一端は、Nチャンネル型MOSトランジスタ08のソースに接続され、他の一端は、Nチャンネル型MOSトランジスタN09〜N12のドレインに共通接続される。Nチャンネル型MOSトランジスタN07及びN08と、Pチャンネル型MOSトランジスタP05及びP06にラッチされた相補のデータはNOR回路NOR01及びNOR02に入力される。
書き込み信号WBは、Nチャンネル型MOSトランジスタN13と、NOR回路NOR01とNOR02に入力される。ロード信号LBは、Pチャンネル型MOSトランジスタP07〜P09のゲートに入力される。インバータINV04が出力する信号をデータ出力Qとし、インバータINV03が出力する信号をデータ出力QBとする。クロックCLKは、インバータ(図示せず)により反転されてクロックP1としてクロックドインバータ65及び66に入力される。さらに、クロックP1は、インバータ(図示せず)により反転されてクロックP2としてクロックドインバータ65及び66に入力される。
ここで不揮発フリップフロップ60は、本来のフリップフロップとしての機能に加えて、以下の機能を備えている。第1に、スレーブラッチ62に電気的に記憶しているデータを不揮発素子63及び64に書き込む機能を備えている。第2に、不揮発素子63及び64に蓄えられているデータを読み出し、そのデータをスレーブラッチ62で保持する機能を備えている。
不揮発素子63及び64には、例えば、磁気抵抗効果を利用した強磁性トンネル接合素子であるMTJ(Magnetic Tunnel Junction)素子が考えられる。ここで、MTJ素子は、磁化方向が変化する強磁性層(フリー層)と、磁化方向が固定された強磁性層(固定層)と、フリー層と固定層の間に形成される絶縁層と、を含んで構成される。
このようなMTJ素子に、膜面垂直方向に電流を流した際の抵抗値は、フリー層と固定層の磁化の方向によって変化する。フリー層の磁化と固定層の磁化が平行の場合には、抵抗値は低下する。一方、フリー層の磁化と固定層の磁化が反平行の場合には、抵抗値は上昇する。このような性質を利用し、MTJ素子では、この抵抗値、又は、フリー層の磁化の方向に、論理データを対応付ける。例えば、低抵抗な状態を論理値「0」、高抵抗な状態を論理値「1」と対応付ける。MTJ素子の書き込みは、電流磁界を用いてフリー層の磁化方向を制御する磁場書き込み方式と、スピントルク効果を利用してフリー層の磁化方向を制御するスピントルク書き込み方式と、が存在する。
図5は、不揮発素子として、スピントルク効果を利用して書き込みを行う磁壁移動素子の素子近傍の断面図である。なお、不揮発素子63及び64に接続されるトランジスタについては、理解を容易にするため回路記号で示している。
不揮発素子63及び64は、半導体基板を基準にして、メタル層70、第1ハード層71又は第2ハード層72、フリー層73、絶縁層74、リファレンス層75の順に積層され構成されている。
不揮発素子63に関する接続は、リファレンス層75はNチャンネル型MOSトランジスタN07に、第1ハード層71はNチャンネル型MOSトランジスタN09とN10に、第2ハード層72は不揮発素子64の第1ハード層71を介して、Nチャンネル型MOSトランジスタN11及びN12に接続される。フリー層73、第1ハード層71及び第2ハード層72には、例えば、垂直磁気異方性を有する磁性薄膜を利用することができる。第1ハード層71と第2ハード層72の磁化方向は逆向きに固定されている。フリー層73の磁化は、スピン偏極電流の向きによって、図5のZ方向に沿って、上下に制御可能である。より具体的には、第1ハード層71から第2ハード層72に向かって電流を流した場合、偏極した電子は逆向きに流れ、第2ハード層72と同じ向きにフリー層73は揃う。逆に、第2ハード層72から第1ハード層71に向かって電流を流した場合、第1ハード層71と同じ向きにフリー層は揃う。
図6は、半導体集積回路1に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30の接続の一例を示す図である。
本実施形態に係る半導体集積回路1では、n個の不揮発レジスタ毎にアドレスを付与している。例えば、16ビットのワード単位(n=16)、8ビットのバイト単位(n=8)などである。不揮発レジスタのアドレスは、アドレスA1〜Amのm個である。
半導体集積回路1では、アドレスを指定すると、指定されたアドレスに対応付けられたn個の不揮発レジスタを同時に制御できるものとする。若しくは、あるアドレスを指定すると、あるアドレス領域の複数の不揮発レジスタを同時に制御できるようにしてもよい。
不揮発レジスタ制御回路30は、システムのクロックCLK_SYSと、レジスタのアドレスA_REGと、レジスタの揮発性データの書き込み信号WE_REGと、レジスタへの入力データD_REGと、不揮発素子63及び64への書き込み信号NVWE_REGと、不揮発素子63及び64からのロード信号NVLE_REGと、ロードイネーブルビットLEBを受け付ける。これらの制御信号を供給するのは、ロードイネーブルレジスタ20及び命令デコーダ50である。
不揮発レジスタ制御回路30は、受け取った制御信号に応じて、各不揮発レジスタに対し、不揮発レジスタ制御信号を出力する。例えば、アドレスA1に対応する不揮発レジスタR1に供給する不揮発レジスタ制御信号は、クロックCLK_REG(A1)と、入力データD_REG(A1)と、ロード信号LB_REG(A1)と、書き込み信号WB_REG(A1)と、が含まれる。これらの制御信号を受け取った不揮発レジスタR1は、データ出力Q_REG(A1)を出力する。アドレスA2〜Amに対応する不揮発レジスタR2〜Rmも同様の動作を行う。なお、図6においては、不揮発レジスタに含まれる不揮発フリップフロップのうち、1つの不揮発フリップフロップ(例えば、nビット目の不揮発フリップフロップ)を代表して記載している。
次に、図4を参照しつつ、不揮発レジスタに対する書き込み動作について概説する。
半導体集積回路1の書き込み動作時には、書き込み信号WBがLレベルに設定される。その際、不揮発素子への書き込みデータはスレーブラッチ62のデータ出力Qに一致する。データ出力Qが「0」の場合には、Nチャンネル型MOSトランジスタN10及びN11がオン、Nチャンネル型MOSトランジスタN09及びN12はオフになる。このとき、ノードT06からノードT05へ書き込み電流が流れる。これにより、不揮発素子63は低抵抗状態、不揮発素子64は高抵抗状態になり、データ出力Qと対応したデータ「0」を不揮発素子63及び64は記憶する。
一方、データ出力Qが「1」の場合、Nチャンネル型MOSトランジスタN10及びN11がオフ、Nチャンネル型MOSトランジスタN09とN12がオンになる。この場合には、ノードT05からT06に向けて書き込み電流が流れる。その結果、不揮発素子63は高抵抗状態、不揮発素子64は低抵抗状態になり、データ出力Qに対応したデータ「1」を不揮発素子は記憶する。
続いて、図4を参照しつつ、不揮発レジスタからのロード動作について概説する
半導体集積回路1のロード動作時には、ロード信号LBがLレベルに設定される。また、クロックCLKはLレベルである。すると、Pチャンネル型MOSトランジスタP07〜P09はオンとなり、ノードT03及びT04はHレベルになる。その結果、Nチャンネル型MOSトランジスタN07を介して不揮発素子63に読み出し電流が流れる。また、Nチャンネル型MOSトランジスタN08を介して、不揮発素子64にも読み出し電流が流れる。これらの読み出し電流の電流値の差に応じて、ノードT03及びT04には微小な電位差が生じる。
そして、ロード信号LBがHレベルに設定されると、その電位差が増幅される。その際、不揮発素子63及び64に記憶しているデータが「0」である場合には、不揮発素子63は低抵抗状態、不揮発素子64は高抵抗状態のため、ノードT03はLレベル、ノードT04はHレベルになる。その結果、データ出力Qは不揮発素子のデータに対応し、「0」を出力する。一方、不揮発素子63及び64に記憶しているデータが「1」である場合には、不揮発素子63は高抵抗状態、不揮発素子64は低抵抗状態のため、ノードT03はHレベル、ノードT04はLレベルになる。その結果、データ出力Qは、不揮発素子のデータに対応し、「1」を出力する。
次に、半導体集積回路1において、命令コードが不揮発素子の書き込み命令である場合の詳細について説明する。
図7は、命令コードが不揮発素子の書き込み命令である場合の動作波形の一例である。
時刻T1において、半導体集積回路1に含まれる中央処理装置は、記憶装置40へアドレスA_RAMとして、プログラムカウンタPCの値であるPC1を出力する。
時刻T2において、中央処理装置は、記憶装置40から、アドレスA_RAMに対応するデータRD_RAMとして、命令OP1を受け取る。なお、命令OP1は、図3に示す命令形式であり、命令コードは不揮発素子の書き込み命令のコードとする。また、アドレッシングモードはシングルオペランド形式であり、アドレスA1のレジスタを指定するものとする。
時刻T3おいて、中央処理装置に含まれる命令デコーダ50は、命令OP1をデコードし、レジスタのアドレスA_REGとして、アドレスA1を出力する。
時刻T4において、命令デコーダ50は、命令OP1をデコードし、不揮発素子の書き込み信号NVWE_REGを不揮発レジスタ制御回路30に出力し、時刻T5に出力を終了する。
不揮発レジスタ制御回路30は、時刻T6からT8までの間、選択されたアドレスA1のレジスタの書き込み信号WB_REG(A1)をLレベルに設定し、不揮発レジスタR1に書き込み電流を流す。
時刻T7において、アドレスA1に対応した不揮発レジスタR1における不揮発素子は、保持していたデータ出力Q_REG(A1)に対応した値Ra1(抵抗値R_REG(A1))に書き換わる。
次のクロックサイクルでは、アドレスA2に対応した不揮発レジスタR2における不揮発素子の書き込みが行われる動作波形を示しており、アドレスA1と同様の一連の過程で書き込みが行われる。ここで、図7に示すように、不揮発素子への書き込みを行う期間(T6〜T8)は、次の命令を記憶装置40から読み出すサイクルの始まる時刻Taより後であってもよい。不揮発素子への書き込みは、不揮発レジスタの出力を変化させずに行えるため、次の命令の読み出し動作を妨げることはないからである。このようにパイプライン的な動作を行うことで、不揮発素子への書き込みに対する十分なセットアップ時間を確保できると同時に、短い時間で複数の命令を実行することができる。
続いて、半導体集積回路1において、命令コードが不揮発素子のロード命令である場合の詳細について説明する。
図8は、命令コードが不揮発素子のロード命令である場合の動作波形の一例である。
時刻T1において、半導体集積回路1に含まれる中央処理装置は、記憶装置40へアドレスA_RAMとして、プログラムカウンタPCの値であるPC1を出力する。
時刻T2において、中央処理装置は、記憶装置40から、アドレスA_RAMに対応するデータRD_RAMとして、命令OP1を受け取る。なお、命令OP1は、図3に示す命令形式であり、命令コードは不揮発素子の書き込み命令のコードとする。また、アドレッシングモードはシングルオペランド形式であり、アドレスA1のレジスタを指定するものとする。
以下、アドレスA1に対応したロードイネーブルビットLEBはすでにロードされており、かつ、その値は「1」とし、アドレスA1に対応した不揮発レジスタR1のロードが行われる場合の動作を示す。
時刻T3おいて、命令デコーダ50は、命令OP1をデコードして、レジスタのアドレスA_REGとして、アドレスA1を出力する。
時刻T4において、命令デコーダ50は、命令OP1をデコードし、不揮発素子のロード信号NVLE_REGを不揮発レジスタ制御回路30に出力し、時刻T5に出力を終了する。
不揮発レジスタ制御回路30は、時刻T6からT7までの間、選択されたアドレスA1のレジスタのロード信号LB_REG(A1)をLレベルに設定し、不揮発レジスタのロード動作を行う。
時刻T8において、アドレスA1に対応した不揮発レジスタR1のデータ出力Q_REG(A1)は、不揮発素子が保持する値Ra1(抵抗値R_REG(A1))に対応した値D1に書き換わる。
以上のように、本実施形態に係る半導体集積回路1は、ロジック素子と不揮発素子を一体化した不揮発レジスタを備えている。そのため、半導体集積回路1の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制することができる。さらに、ロードイネーブルビットLEBを利用することで、意図したレジスタに限りロードを行うことができる。これにより、ロードを行う不揮発素子の素子数を減らすことができ、ロードに要する消費電力が低減できる。
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
図9は、本実施形態に係る半導体集積回路2の内部構成の一例を示す図である。図9において図2と同一構成要素には、同一の符号を付し、その説明を省略する。半導体集積回路1及び2の相違点は、記憶装置40と命令デコーダ50に代えて、電源制御回路80が制御信号を供給する点である。
本実施形態に係る半導体集積回路2は、半導体集積回路1のように記憶装置40に書き込まれたプログラム(ソフトウェア)による不揮発レジスタの制御を行わない。半導体集積回路2は、電源制御回路80のようなハードウェアによる不揮発レジスタの制御の場合においても、ロードイネーブルビットLEBを用いることで電力消費を抑制する。
図10は、半導体集積回路2に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30aの接続の一例を示す図である。図10において図6と同一構成要素には、同一の符号を付し、その説明を省略する。図10と図6の相違点は、命令デコーダ50から送られてくる書き込み信号NVWE_REGと、不揮発素子からのロード信号NVLE_REGが削除されている点と、電源制御回路80から送られてくる書き込み信号NVWE_PWRと、不揮発素子からのロード信号NVLE_PWRが追加されている点である。
m個の不揮発レジスタはq個のグループG1〜Gqに分割され、それぞれのグループはロードイネーブルビットLEB1〜LEBdのうちの1つのロードイネーブルビットLEBと1対1に対応付けられるか、又は、対応するロードイネーブルビットが存在しない。
ロードイネーブルビットLEBは、半導体集積回路2に電源が供給された直後に不揮発レジスタ制御回路30にロードされる(不揮発レジスタR1〜Rmのロードの前にロードされる)。従って、不揮発レジスタ制御回路30aは、不揮発レジスタR1〜Rmに先立ち、このロードイネーブルビットLEBの参照が可能である。
さらに、m個の不揮発レジスタは、t個のグループG1〜Gtに分割される。また、不揮発レジスタ制御回路30aは、s(但し、sは2以上の整数、以下同じ)個のロード信号NVLE_PWR1〜NVLE_PWRsを受け付け可能である。それぞれの不揮発レジスタのグループは、ロード信号NVLE_PWR1〜NVLE_PWRsのうちの1つのロード信号NVLE_PWRと1対1に対応付けられるか、又は、対応するロード信号NVLE_PWRが存在しない。
不揮発レジスタ制御回路30aは、電源復帰後、電源制御回路80から供給されたs個のロード信号NVLE_PWRに基づき、活性化されたロード信号に対応したグループに属する全ての不揮発レジスタを指定する。不揮発レジスタ制御回路30aは、この指定された不揮発レジスタを含むグループのロードイネーブルビットLEBを参照する。参照したロードイネーブルビットLEBの値が「1」の場合には、指定した不揮発レジスタにおいて、不揮発素子のデータを保持回路へロードする。参照したロードイネーブルビットLEBの値が「0」の場合には、指定した不揮発レジスタにおいて、不揮発素子のデータを保持回路にロードしない。対応するロードイネーブルビットLEBが存在しない場合には、指定した不揮発レジスタにおいて、不揮発素子のデータを保持回路にロードするか否かを、予め不揮発レジスタ制御回路30に固定的に設定しておく。
書き込み時も同様に、m個の不揮発レジスタは、t個のグループG1〜Gtに分割される。また、不揮発レジスタ制御回路30aは、s個の書き込み信号NVWE_PWR1〜NVWE_PWRsを受け付ける。それぞれの不揮発レジスタのグループは、書き込み信号NVWE_PWR1〜NVWE_PWRsのうち、1つの書き込み信号NVWE_PWRと1対1に対応付けられるか、又は、対応する書き込み信号が存在しない。
不揮発レジスタ制御回路30aは、半導体集積回路2に供給されている電源が遮断される前に、電源制御回路80から受け付けたs個の書き込み信号NVWE_PWRに基づき、活性化された書き込み信号NVWE_PWRに対応したグループに属する全ての不揮発レジスタを指定する。指定された不揮発レジスタに含まれる保持回路のデータは不揮発素子に書き込まれる。
なお、本実施形態に係る半導体集積回路2において、不揮発レジスタR1〜Rmは必ずしもアドレスに対応付けされていなくてもよい。上述のように、グループ単位での書き込み信号、又は、読み出し信号が与えられるためである。
本実施形態に係る半導体集積回路2においても、電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制することができる。さらに、中央処理装置(プログラム)による制御ではなく、電源制御回路80(ハードウェア)を使用することで、記憶装置40からの命令フェッチに起因する遅延時間、及び、電力消費の削減効果をより高めることができる。
また、プログラムによる制御ではないため、記憶装置40における該当プログラムの領域を削減することができる(プログラムサイズが縮小する)。
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
本実施形態に係る半導体集積回路3は、半導体集積回路1とはシステム起動時の動作が異なる。従って、半導体集積回路3について、図2〜図6に相当する説明は省略する。
半導体集積回路3は、ロード用分岐フラグを使用する。ロード用分岐フラグは、システム復帰時の動作モードを選択するために使用される。さらに、ロード用分岐フラグは不揮発レジスタにより保持され、そのデータは、電源遮断に先立ち、予め不揮発素子に書き込まれる。なお、ロード用分岐フラグを記憶する不揮発レジスタは、他の不揮発レジスタと同様に、不揮発レジスタ制御回路30により制御することが可能である。
図11は、半導体集積回路3のシステム起動時の動作の一例を示すフローチャートである。
ステップS01において、電源供給に先立ちシステムがリセットされる。
ステップS02において、ロード用分岐フラグを記憶する不揮発レジスタからロード用分岐フラグに相当するデータをロードする。
ステップS03において、ロード用分岐フラグが「1」であるか否かを判断する。ロード用分岐フラグが「0」である場合には、ステップS04に遷移する。ロード用分岐フラグが「1」である場合には、ステップS05に遷移する。
ステップS04において、不揮発レジスタのロード動作を含まないデフォルトのシステムの起動を行う。
ステップS05において、不揮発レジスタのロード動作を含むシステムの起動を行う。
上述の不揮発レジスタのロード動作を含むシステムの起動は、第1の実施形態において開示したロードイネーブルビットLEBや命令コードによるアドレス指定を利用できる。これにより、意図したレジスタのみをロードすることができる。
なお、電源のオン・オフをする単位は、半導体集積回路3の全体である場合に限られず、半導体集積回路3を構成するモジュール単位であってもよい。モジュール単位である場合には、あるモジュールに電源供給された後のリセットは、そのモジュールのみに限定されてもよい。
以上のように、本実施形態に係る半導体集積回路3は、ロジック素子と不揮発素子を一体化した不揮発レジスタを備えている。そのため、半導体集積回路3の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制することができる。
さらに、電源をオンする際に、常に電源をオフの前の状態に復帰する必要はなく、より柔軟に意図した状態にすぐに復帰できる。また、ロード用分岐フラグは不揮発レジスタに記憶されているため、記憶装置40にロード用分岐フラグを記憶する場合と比較すると、記憶装置40からのロード用分岐フラグの転送が不要ある。そのため、データ転送に要する遅延時間と消費電力を低減できると共に、ロード用分岐フラグを利用するための制御(手続き)がより簡便になる。
また、ロードイネーブルビットLEBやロード命令と組み合わせることで、意図したシステムの状態とリセット状態の差分のデータのみをロードすることが可能であり、不揮発素子のロードに要する消費電力を低減できる。
[第4の実施形態]
続いて、第4の実施形態について図面を参照して詳細に説明する。
本実施形態に係る半導体集積回路4は、半導体集積回路1とはシステム起動時の動作が異なる。従って、半導体集積回路4について、図2〜図6に相当する説明は省略する。
半導体集積回路4の不揮発レジスタは、プログラムカウンタPCのデータを記憶する。プログラムカウンタPCは、次に実行すべき命令が記憶されている記憶装置40のアドレス情報である。半導体集積回路4は、その電源が遮断される前に、次回復帰したときに開始したいプログラムカウンタPCの値を不揮発素子に書き込む。
図12は、半導体集積回路4のシステム起動時の動作の一例を示すフローチャートである。
ステップS11において、電源供給に先立ちシステムがリセットされる。
ステップS12において、プログラムカウンタPCの値を記憶する不揮発レジスタにおいて、不揮発素子のプログラムカウンタPCのデータを保持回路へロードする。
ステップS13において、ロードされたプログラムカウンタPCの値がデフォルト値か否かを判断する。デフォルト値である場合には、ステップS14に遷移する。デフォルト値でない場合には、ステップS15に遷移する。
ステップS14では、不揮発レジスタのロード動作を含まないデフォルトのシステムの起動を行う。
ステップS15では、不揮発レジスタのロード動作を含むシステムの起動を行う。その際、第1の実施形態において説明したロードイネーブルビットLEBや命令コードによるアドレス指定を行う。これにより、意図したレジスタのみをロードすることができる。
なお、本実施形態における説明では、ロードイネーブルビットを用いる場合について説明したが、必ずしも、ロードイネーブルビットを備えている必要はない。さらに、電源のオン・オフをする単位は、半導体集積回路4の全体である場合に限られず、半導体集積回路4を構成するモジュール単位であってもよい。モジュール単位である場合には、あるモジュールに電源供給された後のリセットは、そのモジュールのみに限定されてもよい。
本実施形態に係る半導体集積回路4においても、ロードイネーブルビットLEBやロード命令と組み合わせることで、意図したシステムの状態とリセット状態の差分のデータのみをロードすることが可能であり、不揮発素子のロードに要する消費電力を低減できる。
[第5の実施形態]
続いて、第5の実施形態について図面を参照して詳細に説明する。
第4の実施形態においてプログラムカウンタPCを不揮発レジスタに記憶する半導体集積回路4について説明した。本実施形態においては、プログラムカウンタPCの値を不揮発素子へ書き込む際に注意しなければならない点について説明する。
ここで、図4において説明した不揮発フリップフロップ60は、スレーブラッチ62のデータを不揮発素子63及び64に書き込むことができる。その際、電源遮断から復帰した際に開始したいプログラムカウンタPCの値が、スレーブラッチ62が記憶している値と同一である場合には問題ない。しかし、次回復帰した際に開始したいプログラムカウンタPCの値が、スレーブラッチ62が記憶している値と異なる場合に問題が発生する。即ち、不揮発素子63及び64に次回復帰したときのアドレスを書き込むと、スレーブラッチ62が保持する値が更新されてしまう。このとき、次のサイクルでアクセスするはずのアドレスではなく、電源遮断からの復帰後に開始したいアドレスにアクセスしてしまうことになる。
この問題を解決するために、スレーブラッチ62のデータを更新せず直接、不揮発素子のデータを書き込める手段を不揮発フリップフロップ60に追加することが考えられる。本実施形態に係る半導体集積回路5は、このような対策を施した不揮発フリップフロップ60aを備えている。
図13は、不揮発フリップフロップ60aの回路構成の一例を示す図である。図13において図4と同一構成要素には、同一の符号を付し、その説明を省略する。不揮発フリップフロップ60と60aでは、書き込み用のトランジスタであるNチャンネル型MOSトランジスタN09〜N12を制御する周辺回路が異なっている。
具体的には、マルチプレクサMUX01及び02が追加され、書き込み信号WB1とWB2に従い、書き込むデータとして、スレーブラッチ62aのデータと入力データDのいずれを採用するか選択できるようになっている。
不揮発フリップフロップ60aは、2つの書き込み信号WB1とWB2と、1つの入力データDを受け付ける。書き込み信号WB1が活性化された場合には、保持回路68のデータを不揮発素子63及び64に書き込む。書き込み信号WB2が活性化された場合には、入力データDのデータを不揮発素子63及び64に書き込み、かつ、保持回路68のデータは変更しない。なお、入力データDを不揮発素子63及び64に書き込む際には、クロックCLKはLレベルとする。これにより、入力データDを、スレーブラッチ62aのデータは変更せずに、不揮発素子63及び64に書き込むことができる。
図14は、半導体集積回路5に含まれる不揮発レジスタR1〜Rmとその制御回路である不揮発レジスタ制御回路30bの接続の一例を示す図である。図6と図14の相違点は、不揮発レジスタ制御回路30bは、2つの不揮発素子書き込み信号NVWE1_REG及びNVWE2_REGを受け付ける点である。また、不揮発レジスタ制御回路30bは、アドレスA1に対応する不揮発レジスタR1へ2つの不揮発素子書き込み信号WB1_REG(A1)及びWB2_REG(A1)を出力する。アドレスA2〜Amに対応する不揮発レジスタR2〜Rmについても同様である。
半導体集積回路5では、不揮発素子書き込み信号NVWE1_REGを活性化することにより、選択した不揮発レジスタのスレーブラッチのデータを不揮発素子に書き込む。一方、不揮発素子書き込み信号NVWE2_REGを活性化することにより、入力データD_REGを不揮発素子へ書き込む。図13に示す不揮発フリップフロップ60aは、2つのデータを選択して、いずれかのデータを書き込むことができる。しかし、図6と図13を比較すると、書き込みデータの配線は追加されていない。従って、配線が占める面積のオーバーヘッドを抑えることができる。
なお、図14においては、全ての不揮発フリップフロップを不揮発フリップフロップ60aとしたが、第1の実施形態において説明した不揮発フリップフロップ60と不揮発フリップフロップ60aをある割合で混合して使用してもよい。
さらに、本実施形態に係る不揮発フリップフロップ60aは、プログラムカウンタPC以外にも、スレーブラッチのデータによる変更を意図しないレジスタに適用することができる。
以上のように、本実施形態に係る半導体集積回路5は、ロジック素子と不揮発素子を一体化した不揮発レジスタを備えている。そのため、半導体集積回路5の電源を復帰する際に、退避したデータを復帰させるために要する時間及び電力消費を抑制することができる。
さらに、不揮発フリップフロップ60aの保持回路のデータと不揮発素子のデータをそれぞれ独立に書き込むことができるため、保持回路に記憶されているシステムの内部状態を変更せずに、電源が遮断されている状態から復帰したときに開始したいプログラムカウンタPCの値や、他の不揮発レジスタの値を不揮発素子へ書き込むことができる。その結果、より柔軟に意図した状態に復帰可能である。
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。例えば、本書では中央処理装置内のレジスタを中心に説明したが、周辺モジュール内のレジスタにも容易に拡張することができる。また、各実施形態においては、各レジスタにはアドレスが与えられるとしたが、アドレスが与えられないレジスタに対しても不揮発素子の書き込みと読み出しを適用することができる。即ち、アドレスが与えられていないため、プログラムから直接、保持回路のデータを読み書きできなくとも、上述のあるグループに属することができるため、不揮発素子の書き込みと読み出しを実行することができる。本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1〜5、100 半導体集積回路
10 不揮発レジスタ群
20 ロードイネーブルレジスタ
30、30a、30b、105 不揮発レジスタ制御回路
40 記憶装置
50 命令デコーダ
60、60a 不揮発フリップフロップ
61 マスタラッチ
62、62a スレーブラッチ
63、64、102 不揮発素子
65、66 クロックドインバータ
67、68、101 保持回路
70 メタル層
71 第1ハード層
72 第2ハード層
73 フリー層
74 絶縁層
75 リファレンス層
80 電源制御回路
103 第1の不揮発レジスタ
104 第2の不揮発レジスタ

Claims (10)

  1. 揮発性データを保持する保持回路と、不揮発性データの保持が可能な不揮発素子と、を含む複数の第1の不揮発レジスタと、
    前記複数の第1の不揮発レジスタのうち、いずれの第1の不揮発レジスタからデータをロードするかを定めるロードイネーブルビットを保持する第2の不揮発レジスタと、
    外部から電源供給がなされた際に、前記第2の不揮発レジスタからロードした前記ロードイネーブルビットが指定する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードする不揮発レジスタ制御回路と、
    を備えることを特徴とする半導体集積回路。
  2. 前記複数の第1の不揮発レジスタは複数のグループに分割され、それぞれのグループは、前記ロードイネーブルビットと対応付けられているか、又は、対応付けられていないか、のいずれかであって、
    前記不揮発レジスタ制御回路は、前記ロードイネーブルビットが指定するグループに属する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードする請求項1の半導体集積回路。
  3. 前記ロードイネーブルビットに対応付けられていないグループに属する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードするか否かは予め定められた規則に従う請求項2の半導体集積回路。
  4. 中央処理装置に対する命令をデコードする命令デコーダと、
    前記命令を記憶する記憶装置と、
    を備え、
    前記複数の第1の不揮発レジスタはそれぞれアドレスが付与されと共に、複数のグループに分割されており、
    前記命令には、前記複数の第1の不揮発レジスタに対応するアドレスを指定するアドレスビットと、前記複数の第1の不揮発レジスタからデータのロードを指示するロードビットと、が含まれ、
    前記不揮発レジスタ制御回路は、前記命令デコーダが前記記憶装置から読み出した命令をデコードした結果、前記アドレスビットが指定する第1の不揮発レジスタと同一のグループに属する第1の不揮発レジスタであって、対応する前記ロードビットが活性化されている第1の不揮発レジスタのデータのロードを行う請求項1乃至3のいずれか一に記載の半導体集積回路。
  5. 前記複数の第1の不揮発レジスタは、複数のグループに分割され、
    前記複数の第1の不揮発レジスタが属するいずれのグループを活性化するか否かを定める複数のロード信号の供給が可能である電源制御回路を備え、
    前記不揮発レジスタ制御回路は、前記電源制御回路が供給するロード信号に対応したグループに属する第1の不揮発レジスタであって、対応する前記ロードイネーブルビットが活性化されている第1の不揮発レジスタのデータのロードを行う請求項1の半導体集積回路。
  6. 前記不揮発レジスタ制御回路は、外部から電源供給がなされた際に、ロード用分岐フラグに基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含まないシステム起動、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含むシステム起動、のいずれかを行う請求項1乃至5のいずれか一に記載の半導体集積回路。
  7. 前記複数の第1の不揮発レジスタのいずれかにおいて、プログラムカウンタに関するデータを保持し、
    前記不揮発レジスタ制御回路は、外部から電源供給がなされた際に、前記プログラムカウンタを記憶する不揮発レジスタに含まれる不揮発素子から前記保持回路にデータをロードし、
    前記プログラムカウンタの値に基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含まないシステム起動、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードする動作を含むシステム起動、のいずれかを行う請求項1乃至5のいずれか一に記載の半導体集積回路。
  8. 前記複数の不揮発レジスタは、第1及び第2の書き込み信号と、1つのデータ入力と、を受け付け、
    前記第1の書き込み信号が活性化された場合には、前記保持回路のデータを前記不揮発素子へ書き込み、
    前記第2の書き込み信号が活性化された場合には、前記データ入力を前記不揮発素子へ書き込みつつ、前記保持回路が保持するデータの変更を行わない請求項1乃至7のいずれか一に記載の半導体集積回路。
  9. 揮発性データを保持する保持回路と、不揮発性データの保持が可能な不揮発素子と、を含む複数の第1の不揮発レジスタを備える半導体集積回路の制御方法であって、
    前記複数の第1の不揮発レジスタのうち、いずれの第1の不揮発レジスタからデータをロードするかを定めるロードイネーブルビットを参照する第1の工程と、
    外部から電源供給がなされた際に、前記ロードイネーブルビットが指定する第1の不揮発レジスタに含まれる不揮発素子が保持するデータを、前記保持回路にロードする第2の工程と、
    を含むことを特徴とする半導体集積回路の制御方法。
  10. 前記第2の工程は、外部から電源供給がなされた際に、ロード用分岐フラグに基づいて、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードせずにシステムを起動する工程、又は、前記第1の不揮発レジスタに含まれる不揮発素子が保持するデータを前記保持回路にロードしてシステムを起動する工程、のいずれかを含む請求項9の半導体集積回路の制御方法。
JP2013545926A 2011-11-21 2012-11-20 半導体集積回路及びその制御方法 Expired - Fee Related JP5999097B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011254028 2011-11-21
JP2011254028 2011-11-21
PCT/JP2012/080050 WO2013077316A1 (ja) 2011-11-21 2012-11-20 半導体集積回路及びその制御方法

Publications (2)

Publication Number Publication Date
JPWO2013077316A1 JPWO2013077316A1 (ja) 2015-04-27
JP5999097B2 true JP5999097B2 (ja) 2016-09-28

Family

ID=48469760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013545926A Expired - Fee Related JP5999097B2 (ja) 2011-11-21 2012-11-20 半導体集積回路及びその制御方法

Country Status (3)

Country Link
US (1) US20140313843A1 (ja)
JP (1) JP5999097B2 (ja)
WO (1) WO2013077316A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109185190B (zh) * 2018-09-25 2020-11-27 西迪技术股份有限公司 一种对旋风机及对旋风机的轴功匹配方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524007B2 (en) * 2014-02-04 2016-12-20 Qualcomm Incorporated Diagnostic systems and methods of finite state machines
US9728241B2 (en) * 2015-04-30 2017-08-08 University Of South Florida Non-volatile flip-flop with enhanced-scan capability to sustain sudden power failure
JP6551844B2 (ja) * 2016-01-06 2019-07-31 国立大学法人東北大学 半導体装置
JP6885797B2 (ja) * 2017-06-12 2021-06-16 昭和電工株式会社 磁気センサ及び磁気センサの製造方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53121435A (en) * 1977-03-31 1978-10-23 Toshiba Corp Arithmetic operation control unit
JPH0728692A (ja) * 1993-07-09 1995-01-31 Fuji Facom Corp 読み書き可能なレジスタ回路
KR20020026814A (ko) * 2000-10-02 2002-04-12 포만 제프리 엘 컴퓨터 시스템의 중지 및 재개 동작을 위한 방법 및 장치
JP2004133969A (ja) * 2002-10-08 2004-04-30 Renesas Technology Corp 半導体装置
JP4935231B2 (ja) * 2006-08-04 2012-05-23 ソニー株式会社 メモリセル及び不揮発性記憶装置
JP5201487B2 (ja) * 2007-12-06 2013-06-05 日本電気株式会社 不揮発性ラッチ回路
US20090172350A1 (en) * 2007-12-28 2009-07-02 Unity Semiconductor Corporation Non-volatile processor register
CN102171675A (zh) * 2008-10-01 2011-08-31 罗姆股份有限公司 电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109185190B (zh) * 2018-09-25 2020-11-27 西迪技术股份有限公司 一种对旋风机及对旋风机的轴功匹配方法

Also Published As

Publication number Publication date
JPWO2013077316A1 (ja) 2015-04-27
US20140313843A1 (en) 2014-10-23
WO2013077316A1 (ja) 2013-05-30

Similar Documents

Publication Publication Date Title
US7990780B2 (en) Multiple threshold voltage register file cell
JP5999097B2 (ja) 半導体集積回路及びその制御方法
US20140149773A1 (en) Latch circuit and data processing system
JP2003162453A (ja) 不揮発性半導体記憶装置
US7743237B2 (en) Register file bit and method for fast context switch
US8462533B2 (en) System for retaining state data
JP5274069B2 (ja) 低電力モードにおける漏洩電力削減
US7778105B2 (en) Memory with write port configured for double pump write
RU2400804C2 (ru) Способ и система для предоставления энергетически эффективного регистрового файла
US7644223B2 (en) Circuit and method for patching for program ROM
US8862836B2 (en) Multi-port register file with an input pipelined architecture with asynchronous reads and localized feedback
JP5962658B2 (ja) 半導体装置とその制御方法
US20050030796A1 (en) Circuit and/or method for implementing a patch mechanism for embedded program ROM
US9659650B2 (en) Multistate register having a flip flop and multiple memristive devices
JP2014222425A (ja) 半導体集積回路、半導体集積回路の製造方法、コンピュータシステム及び半導体集積回路の制御方法
US8014211B2 (en) Keeperless fully complementary static selection circuit
US8837226B2 (en) Memory including a reduced leakage wordline driver
US20140112429A1 (en) Low Voltage Register File Cell Structure
US7882406B2 (en) Built in test controller with a downloadable testing program
JP5257598B2 (ja) 磁気ランダムアクセスメモリ及びその動作方法
JP2006221807A (ja) 不揮発性半導体記憶装置のアクセス方法
JP2016031768A (ja) データ転送回路
US20110242918A1 (en) Global line sharing circuit of semiconductor memory device
KR100196517B1 (ko) 파이프라인 프로세서에서 바이패스 경로를 지원하는 레지스터 파일
CN117831582A (zh) 一种基于磁性随机存取存储器的缓存地址电路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160815

R150 Certificate of patent or registration of utility model

Ref document number: 5999097

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees