本発明の実施の形態について、図面を用いて詳細に説明する。但し、本発明は以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。なお、以下に説明する本発明の構成において、同じものを指す符号は異なる図面間で共通して用いる。
(実施の形態1)
本発明の半導体装置は、非接触でデータを交信する機能を有し、主に、電源回路11、クロック発生回路12、データ復調/変調回路13、中央処理回路14(以下CPUと略記することがある)、インターフェイス回路15、メモリ16、データバス17、アンテナ(アンテナコイル)18等を有する(図3参照)。電源回路11は、アンテナ18から入力された交流信号を基に、半導体装置の内部の各回路に供給する各種電源を生成する回路である。クロック発生回路12は、アンテナ18から入力された交流信号を基に、半導体装置内の各回路に供給する各種クロックを生成する回路である。データ復調/変調回路13は、リーダライタ19と交信するデータを復調/変調する機能を有する。アンテナ18は、電磁波の送受信を行う機能を有する。リーダライタ19は、半導体装置との交信、制御及びそのデータに関する処理を制御する。なお、半導体装置は上記構成に制約されず、様々な構成に成りうるものであり、例えば、電源電圧のリミッタ回路や暗号処理専用ハードウエアといった他の構成要素を追加した構成であってもよい。
本発明は、CPU14の構成に特徴を有する。そこで、以下には、CPU14の構成について説明する。CPU14は、CPUコア64と制御回路65を有する(図2(A)参照)。CPUコア64は、複数のユニットを有し、例えば、バスインターフェイス51、データキャッシュ52、命令デコーダ53、リザベーションステーション54、命令キャッシュ55、各種パイプラインユニット62、汎用レジスタ63を有する。パイプラインユニット62は、整数演算ユニット(以下ALUと略記することがある、算術論理演算ユニット、演算ユニットともよばれる)56、57、浮動小数点演算ユニット(以下FPUと略記することがある)58、59、ブランチユニット60、ロード/ストアユニット61を有する。上記構成を有するCPUコア64は、スーパスカラ構造のチップの標準的な構成である。
また上記とは異なる構成のCPU14として、例えば、CPUコア64、制御回路65、周辺コントローラ70を有する構成がある。周辺コントローラ70は複数のユニットを有し、例えば、周辺メモリコントローラ67、68、周辺バスコントローラ69を有する(図2(B)参照)。
なお、本発明のCPU14の構成は、上記の記載に制約されず、上記の要素のうち必要のないものは適宜削除してもよく、また他の要素を適宜追加してもよい。
上記に挙げたユニットX(X=51〜63、ここでは51とする)は、スイッチ74を介して、電源71〜73に接続する(図1(A)参照)。電源71の電源電位(以下、第1の電源電位、VDD1と表記することがある)と、電源72の電源電位(以下、第2の電源電位、VDD2と表記することがある)と、電源73の電源電位(以下第3の電源電位、GNDと表記することがある)は、VDD1>VDD2>GNDを満たす。スイッチ74は、制御回路65から供給される制御信号により制御される。
また、ユニットXは、スイッチ75を介してクロック発生回路12と電源73に接続する。スイッチ75は、制御回路65から供給される制御信号により制御される。
なお電源71〜73の電源電位は、電源回路11で発生する電源電位であってもよいし、CPU14の内部に設けられた電源回路で発生する電源電位でもよい。
制御回路65は、電源回路11から入力される電源供給信号、又はCPUコア64が含む複数のユニットの各々から供給されるイベント信号により求めた負荷信号に基づき、制御信号を供給する手段(機能)を有する。制御回路65は、電源電位やクロックの供給の設定、つまり、モード(通常モード又は待機モード)を変えて、低消費電力化を実現することを目的とするが、単に電源電位やクロックの供給の設定を変えるだけでは、CPU14の全体の動作に影響する場合がある。そこで、モードを変える動作とは、スイッチ74、75の制御の動作だけではなく、他の各種設定の動作も合わせた動作を意味する。
通常モードとは、ユニットXの状態が、スイッチ74を介して電源71と導通状態であり、スイッチ75を介してクロック発生回路12と導通状態の場合である。つまり、ユニットXにVDD1が供給され、なお且つ、クロック信号が供給される状態である。ここでは、そのような状態を(VDD1、CLK)と表記する。
また、待機モードとは、ユニットXの状態が、(1)スイッチ74を介して電源71と導通状態であり、且つスイッチ75を介して電源73と導通状態の場合(VDD1、GND)、(2)スイッチ74を介して電源72と導通状態であり、且つスイッチ75を介してクロック発生回路12と導通状態の場合(VDD2、CLK)、(3)スイッチ74を介して電源72と導通状態であり、且つスイッチ75を介して電源73と導通状態の場合(VDD2、GND)、(4)スイッチ74を介して電源73と導通状態であり、且つスイッチ75を介してクロック発生回路12と導通状態の場合(GND、CLK)、(5)スイッチ74を介して電源73と導通状態であり、且つスイッチ75を介して電源73と導通状態の場合(GND、GND)のいずれかの場合である。
なお、ユニットXがスイッチ74を介して電源73に接続する場合、つまり、上記の(4)、(5)の場合は、そのユニットXの状態(ステート)を、当該ユニットX内で保持する必要がない場合に限られる。従って、初期設定に戻したくない場合は、上記の(1)〜(3)の場合を採用して、ユニットXにVDD1又はVDD2を供給するように設定する。VDD2を供給する上記の(2)、(3)の場合、ユニットXの内部で、当該ユニットXの設定を格納するレジスタの値を保持することができるため、待機モードから通常モードに復帰した際に、初期設定ではなく、待機モードに切り換わる前の状態に復帰することができる。
制御回路65に入力される電源供給信号は、アンテナ18による電源供給の情報を含む信号であり、具体的には、当該アンテナ18による電源供給が安定又は不安定の情報を含む。
負荷信号は、イベント信号をカウントした結果に基づき、制御回路65の内部で発生する信号である。イベント信号とは、複数のユニットの各々から供給される信号であり、例えば、ALU56、57で演算が行われるイベント信号、FPU58、59で演算が行われるイベント信号、命令キャッシュミスやデータキャッシュミスのイベント信号等である。制御回路65は、一定期間毎に、イベント信号をカウントし、そのカウント結果に基づき、ALU56、57の負荷や、FPU58、59の負荷、キャッシュの効率等の情報を含む負荷信号を内部で発生させる。そして、負荷信号に基づき、ユニットXのモードの切り換えを行う。具体的には、負荷や効率が低いという情報を含む負荷信号が発生した場合、制御回路65は、ユニットXを待機モードに設定する制御信号を出力する。また、負荷や効率が通常と同じという情報を含む負荷信号が発生した場合、制御回路65は、ユニットXを通常モードに設定する制御信号を出力する。
例えば、ある期間のイベント信号のカウント結果により、ALU56、57に対する負荷が低いという情報を含む負荷信号が発生した場合、ALU56のみを動作モードに設定し、ALU57を待機モードに設定する。ALU57が待機モードのときは、当該ALU57を用いた演算が行われないように、CPU14の内部の設定が行われる。具体的には、命令スケジューリングを行うリザベーションステーション54において、ALU57を使用しないという設定を行えばよい。また、別の期間のイベント信号のカウント結果により、ALU56に対する負荷が高いという情報を含む負荷信号が発生した場合、ALU57を通常モードに復帰させる。
また、例えば、ある期間のイベント信号のカウント結果により、ブランチユニット60に対する負荷が低いという情報を含む負荷信号が発生した場合、ブランチユニット60を待機モードにする。但し、ブランチユニット60が待機モードの間に、ブランチ命令が実行された場合は、例外処理を発生させ、ブランチユニット60を通常モードに復帰させるとよい。
このように、待機モードの対象となるユニットとは、当該ユニットXを使用する命令が限られているユニット(例えば、分岐命令実行時にのみ使用するブランチユニット)、或いは、当該ユニットXを使用せずに、CPUの動作を支障なく行える動作モードが存在するようなユニット(例えば、CPU14がキャッシュを使用しない動作モードを有する場合のキャッシュ)である。使用する命令が限られているユニットとは、例えば、複数のパイプラインユニットから選択された1つ又は複数、周辺メモリコントロールユニット、バスとのインターフェイスユニットである。なお、命令によっては使用されないユニットが待機モード時にアクセスされた場合、例外処理を行って、通常モードに復帰させ、再度命令を実行する構成とするとよい。
また、使用しない動作モードを有するユニットXとしては、キャッシュメモリやスーパスカラにおける並列に設けられたパイプラインユニットなどが挙げられる。待機モードに設定する際、予め、キャッシュメモリや、複数設けたパイプラインユニットから選択された1つ又は複数を使用しないように設定するとよい。キャッシュを待機モードにする際は、キャッシュのアクセス時に毎回キャッシュミスを発生する構成にするとよい。また、複数のパイプラインユニットから選択された1つ又は複数を使用する動作モードにする際は、選択されたパイプラインユニットを使用する命令だけで、命令スケジューリングを行うように、リザベーションステーション54を活用するとよい。
以上をまとめると、ユニットXを通常モードに設定するという電源供給信号又は負荷信号が入力された制御回路65は、それらの信号に基づき、ユニットXを(VDD1、GND)の状態にする制御信号を出力する。一方、ユニットXを待機モードに設定するという電源供給信号又は負荷信号が入力された制御回路65は、それらの信号に基づき、ユニットXを(VDD1、GND)、(VDD2、CLK)、(VDD2、GND)、(GND、CLK)、(GND、GND)のいずれかの状態にする制御信号を出力する。ここでは、複数のユニットから選択された一つ又は複数に供給する電源を停止する制御信号を第1の制御信号とし、複数のユニットから選択された一つ又は複数に供給する電源電位を変える制御信号を第2の制御信号とし、複数のユニットから選択された一つ又は複数に対するクロック信号の供給を停止する制御信号を第3の制御信号とする。
つまり、上記構成を有するCPU14の動作は、図1(B)のチャートのように示すことができる。まず、電源供給信号又は負荷信号が制御回路65に入力される(ステップ1)。ここでは電源供給が安定であるという情報を含む電源供給信号、又は、負荷が通常と同じであるという情報を含む負荷信号であったとする。そうすると、制御回路65は、ユニットXを通常モードに設定する制御信号を出力する(ステップ2)。
次に、上記とは異なる電源供給信号又は負荷信号が制御回路65に入力される(ステップ3)。ここでは、電源供給が不安定であるという情報を含む電源供給信号、又は、ユニットXの負荷が大きいという情報を含む負荷信号であったとする。そうすると、制御回路65は、ユニットXを待機モードに設定する信号を出力する(ステップ4)。そして、次はステップ1に戻り、再びステップ1からステップ4までを繰り返す。
なお、本実施の形態では、ユニットXと電源71〜73の間に配置されたスイッチ74の制御により、複数の電源電位から最適な電源電位の選択を行って、モード(通常モード又は待機モード)の切り換えを行う形態について説明した。しかしながら、本発明はこの形態に制約されない。
例えば、複数の電源電位からの最適な電源電位の選択は、電源回路11の内部の制御による方式を用いてもよい。この方式は、電源回路11において、抵抗分割によって、複数の電源電位を発生させ、当該複数の電源電位をアナログバッファで増幅後、容量素子により安定化させて、複数の電源電位を出力する方式である。但し、この方式によると、制御用のスイッチや容量素子が必要であるため、それら素子のための回路面積が必要となってしまう。そこで、回路面積の増大を抑制するために、電源回路11において抵抗分割によって複数の電源電位を発生させ、当該複数の電源電位から最適な電源電位を選択し、その最適な電源電位を増幅後、安定化させて、複数の電源電位を出力する方式を用いてもよい。
また、本実施の形態では、ユニットXとクロック発生回路12の間に配置されたスイッチ75の制御により、モード(通常モード又は待機モード)の切り換えを行う形態について説明したが、本発明はこの形態に制約されない。クロック発生回路12の内部の制御によって、モードの切り換えを行ってもよい。
また、本実施の形態では、電源供給信号/負荷信号(電源供給信号又は負荷信号)に基づいて、制御回路65がモード(通常モード又は待機モード)の切り換えを行う形態について説明した。しかしながら、本発明はこの形態に制約されない。
電源供給信号/負荷信号を用いてモードの切り換えを行うのは変わらないが、制御回路65はそれらの信号に基づいてモードの切り換えを行うのではなく、制御回路65がそれらの信号(電源供給信号/負荷信号/イベント信号)を一定期間収集して、その結果に基づいて、モードの切り換えを行ってもよい。この動作について、図9を用いて説明する。
まず、制御回路65は、電源供給信号/負荷信号/イベント信号(電源供給信号、負荷信号又はイベント信号)を収集する(ステップ1)。次に、一定期間(例えば1000〜10000サイクル)が経過したら、その期間に収集した信号に基づいて、モードを決定する(ステップ2)。モードが決定したら、モードの切り換えを行うユニットを選択し、そのユニットのモードの切り換えを行う。次に、ステップ1に戻って、上記の動作を繰り返す。
例えば、特定のALUにより整数演算を行ったイベントをイベント信号としたとき、そのイベント信号に基づき、モードの切り換えを行う場合について説明する。
まず、特定のALUが整数演算を行ったイベント信号をカウントする(ステップ1)。一定期間が経過したら、最初に定めた設定値とカウントした値を比較して、モードを決定する(ステップ2)。具体的には、カウントした値が、最初に定めた設定値以下であれば待機モード、設定値以上であれば通常モードを選択する。そして、特定のALUを、選択されたモードに切り換える。
また、別の例として、4つのレベルからなる電源供給信号に基づき、モードの切り換えを行う場合について説明する。まず、4つのレベルからなる電源供給信号を収集する(ステップ1)。一定期間が経過したら、レベルの平均値を算出し、その結果に基づいて、モードを決定する(ステップ2)。
例えば、平均値が4であれば全てのユニットを通常モードに設定する。平均値が3であれば複数のユニットから選択された1つ又は複数を待機モードに設定する。この際、例えば、複数のALUから選択された1つや、複数のFPUから選択された1つを待機モードに設定する。また、平均値が2であれば、平均レベルが3のときに待機モードにした複数のユニットに加えて、例えば、命令キャッシュとデータキャッシュを待機モードに設定する。平均値が1であれば、必要なデータを不揮発性メモリに保存して、停電の処理を行う。
また、本発明は、電源供給信号/負荷信号に基づいて、モードの切り換えを行うことを特徴とするが、続いて、電源供給信号を発生する電源供給信号発生回路の構成とその動作について、図10を用いて説明する。
電源供給信号発生回路は、電源発生回路601、602、抵抗素子603、参照電位発生回路604及び比較回路605を有する。電源発生回路601、602は、アンテナ18に接続する。また、電源発生回路601、602の各々は、ダイオードとコンデンサを有し、複数の電源電位を発生する機能を有する。また、電源発生回路602は、アンテナ18による電源供給レベルが低くても、安定な動作を実現する電源供給能力を有する。参照電位発生回路604は、抵抗とバッファを有し、抵抗分割により参照電位(以下Vrefと略記することがある)を生成し、アナログバッファにより増幅して出力する機能を有する。比較回路605は、差動増幅器を有し、2つのアナログ電位を比較する機能を有する。
電源発生回路602で発生する電源電位と、接地電位(GND)とは、抵抗素子603により電圧降下されて、電位V1〜Vnが生成される。比較回路605は、電位V1〜Vnと、参照電位(Vref)とを比較し、電源供給レベルの情報を含む電源供給信号(デジタル信号)を生成する。
電位V1〜Vnは、電源発生回路602の電源供給能力と、抵抗素子603による電流消費量によって決まるアナログ電位である。例えば、n=3として、V1>V2>V3となるように各回路のパラメータを適宜選択すると、電力供給レベルは、高い順に(1、1、1)、(1、1、0)、(1、0、0)、(0、0、0)、の4段階の電源信号によって表現される。
つまり、アンテナ18による電力供給レベルが高いと、抵抗素子603による電圧降下が小さく、V1〜V3は全てVrefより高い電位となり(1、1、1)が出力される。一方、アンテナ18による電力供給レベルが低いと、抵抗素子603による電圧降下が大きく、V1〜V3は全てVrefより低い電位となり(0、0、0)が出力される。
なお、電源供給信号発生回路は、図10に示す構成に制約されず、公知の電源発生回路、電位発生回路、比較回路の構成を適用してもよい。また、上記の構成では、1つの参照電位と、複数の電位V1〜Vnとの比較を行ったが、本発明はこの構成に制約されない。例えば、複数の参照電位を生成して、複数の参照電位と、電圧降下させた電位Vとの比較を行って、電源供給レベルを判定してもよい。
上記構成を有する本発明は、電源供給信号に基づき、モードの切り換えを行うことで、アンテナによる電源供給に応じた、消費電力の最適化を行うことができる。また、イベント信号により求めた負荷信号に基づき、モードの切り換えを行うことで、CPUの動作状況に応じた、消費電力の最適化を行うことができる。従って、電源供給に関する動作マージンに優れた半導体装置を提供することができる。
(実施の形態2)
次に、メモリ16の構成に特徴を有する半導体装置の構成について説明する。そこで、以下には、メモリ16の構成について説明する。メモリ16は、複数(ここでは4つの場合を例示)のメモリブロック33〜36、カラムデコーダ21、セレクタ22、データの入出力(書き込み/読み出し、書き込み又は読み出し)を行うリード/ライト回路23、動作信号に基づいて動作する制御回路24を有する(図12参照)。
メモリブロック33はメモリセルアレイ29とロウデコーダ25を有し、メモリブロック34はメモリセルアレイ30とロウデコーダ26を有し、メモリブロック35はメモリセルアレイ31とロウデコーダ27を有し、メモリブロック36はメモリセルアレイ32とロウデコーダ28を有する。メモリセルアレイ29は、ビット線Ba1〜Bam(mは自然数)とワード線Wa1〜Wai(iは自然数)を有し、メモリセルアレイ30はビット線Ba1〜Bamとワード線Wb1〜Wbj(jは自然数)を有し、メモリセルアレイ31はビット線Bb1〜Bbn(nは自然数)とワード線Wc1〜Wciを有し、メモリセルアレイ32はビット線Bb1〜Bbnとワード線Wd1〜Wdjを有する。
複数のメモリセルアレイ29〜32の各々は、ビット線Bax(1≦x≦m)、Bbx(1≦x≦n)とワード線Way、Wby(1≦y≦i)、Wcy、Wdy(1≦y≦j)が絶縁体を介して交差する領域に記憶素子を有するメモリセル37を複数有する。
記憶素子は、トランジスタ、容量素子及び抵抗素子から選択された1つ又は複数に相当する。SRAMの場合、記憶素子は、6つのトランジスタ、5つのトランジスタ、4つのトランジスタと2つの抵抗素子、又は4つのトランジスタと1つの抵抗素子等の形態を挙げることができる。なお、記憶素子として6つのトランジスタ、又は4つのトランジスタと2つの抵抗素子を用いる場合には、各列に2本のビット線(1本はビット線、もう1本はビットバー線)を配置する。また、フラッシュメモリの場合、記憶素子は、電荷蓄積層を含むトランジスタに相当する。このように、メモリ16は、記憶素子の構成に従って、SRAM、フラッシュメモリだけでなく、DRAM、FeRAM、OUM、MRAM、マスクROM、PRAM、EPROM、EEPROM等に成りうる。なお、製造歩留まりや動作制御の観点から、複数のメモリセルアレイ29〜32の各々が含む全てのメモリセル37の構成は同じである方が好適である。しかし、メモリセルアレイ単位で、メモリセル37の構成が互いに異なっていてもよい。
上記構成を有するメモリ16は、複数のメモリブロック33〜36の各々が含む複数のメモリセル37において、同じ列に設けられた複数のメモリセル37は、同じビット線Bax、Bbxに接続する点を特徴とする。
上記特徴により、複数のメモリブロック33〜36が含む複数のメモリセル37は、互いに同じカラムデコーダ21に接続する。但し、カラムデコーダ21の個数に制約はなく、メモリブロックの個数が増加した場合や、高速動作が必要な場合は、カラムデコーダを複数設けてもよい。例えば、メモリブロック33、35に対して1つのカラムデコーダを設けて、メモリブロック34、36に対して1つのカラムデコーダを設けてもよい。また、複数のメモリブロック33〜36の各々にカラムデコーダを設けても構わない。この場合には、複数のメモリブロック33〜36の各々でビット線を独立して設けることができる。
また、上記構成を有するメモリ16は、複数のメモリブロック33〜36の各々において、ワード線Way、Wby、Wcy、Wdy(1≦y≦i、j)が独立して設けられる点を特徴とする。そのため、複数のメモリブロック33〜36の各々は、互いに独立して動作するロウデコーダ25〜28を有する。つまり、複数のメモリブロック33〜36の各々の水平方向の走査は、互いに独立して動作する。
メモリブロックX(X=33〜36、ここではX=33)が含むメモリセルアレイY(Y=29〜32、ここではY=29)は、スイッチ43を介して、電源39、40に接続する(図11(A)参照)。電源39の電源電位(以下、第1の電源電位、VDD1と表記することがある)と、電源40の電源電位(以下、第2の電源電位、VDD2と表記することがある)は、VDD1>VDD2を満たす。スイッチ43は、制御回路24から供給される第1の制御信号により制御される。
また、ロウデコーダZ(Z=25〜28、ここではZ=25)は、スイッチ44を介して電源41、42に接続する。電源41の電源電位(以下VDDと表記することがある)と、電源42の電源電位(以下GNDと表記することがある)は、VDD>GNDを満たす。スイッチ44は、制御回路24から供給される第2の制御信号により制御される。
なお、電源39と電源41は互いに同じ電源電位であることがある。従って、互いに電源を共有してもよい。また、電源39〜42の電位は、電源回路11で発生した電源電位であってもよいし、メモリ16の内部に設けた電源回路を用いて発生させた電源電位であってもよい。
制御回路24は、CPU14から供給される動作信号、又はリーダライタ19を介して外部に設けられた専用回路から供給される動作信号、又はメモリの内部から発生する動作信号に基づき、メモリブロックXに制御信号を供給する手段(機能)を有する。動作信号は、メモリブロックXのモード(通常モード又は待機モード)の切り換えを指示する信号であり、制御回路24は、当該動作信号に基づき、メモリブロックXが含むスイッチ43、44に制御信号を供給する。そして、スイッチ43、44の接続により、メモリブロックXは、通常モードと待機モードのどちらかのモードとなる。
なお、動作信号が含む情報は、例えば、メモリブロック毎に、一定期間のアクセス回数をカウントした結果に基づくものである。具体的には、一定期間のアクセス回数が設定値以下であれば、そのメモリブロックを待機モードに切り換えるという動作信号を出力する。このようなメモリブロック毎のアクセス回数のカウントは、CPU14が行ってもよいし、外部に設けられた専用回路が行ってもよいし、メモリ16自身が行ってもよい。
通常モードとは、スイッチ43を介して電源39と導通状態であり、且つスイッチ44を介して電源41と導通状態の場合である。つまり、メモリセルアレイYにVDD1が供給され、且つロウデコーダZにVDDが供給される状態である。ここでは、そのような状態を(VDD1、VDD)と表記する。
一方、待機モードは、メモリブロックXの状態が、(1)スイッチ43を介して電源39と導通状態であり、且つスイッチ44を介して電源42と導通状態の場合(VDD1、GND)、(2)スイッチ43を介して電源40と導通状態であり、且つスイッチ44を介して電源41と導通状態の場合(VDD2、GND)、(3)スイッチ43を介して電源40と導通状態であり、且つスイッチ44を介して電源42と導通状態の場合(VDD2、VDD)のいずれかの場合である。
なお、メモリセル37の構成が、揮発性の場合、メモリセルアレイYに供給する電源電位を変えると、データが消失してしまう場合がある。従って、メモリセル37が揮発性の場合、VDD2は、データが消失しない電源電位に設定する。また、メモリセル37が不揮発性の場合、VDD2は接地電位(GNDともいう)に設定する。
上記構成を有するメモリ16の動作は、図11(B)のチャートのように示すことができる。まず、動作信号が制御回路24に入力される。ここでは動作信号がメモリブロックXを使用するという信号であったとする(ステップ1)。そうすると、制御回路24は、メモリブロックXを通常モードに設定する制御信号を出力する(ステップ2)。
次に、上記とは異なる動作信号が制御回路24に入力される(ステップ3)。ここでは、動作信号がメモリブロックXを使用しないという信号であったとする。そうすると、制御回路24は、メモリブロックXを待機モードに設定する制御信号を出力する(ステップ4)。そして、次はステップ1に戻り、再びステップ1からステップ4までを繰り返す。
なお、本実施の形態では、メモリブロックXと電源39〜42の間に配置されたスイッチ43、44の制御により、複数の電源電位から最適な電源電位の選択を行って、モード(通常モード又は待機モード)の切り換えを行う形態について説明した。しかしながら、本発明はこの形態に制約されない。例えば、複数の電源電位からの最適な電源電位の選択は、電源回路11の内部の制御による方式を用いてもよい。この方式は、電源回路11において、抵抗分割によって、複数の電源電位を発生させ、当該複数の電源電位をアナログバッファで増幅後、容量素子により安定化させて、複数の電源電位を出力する方式である。但し、この方式によると、制御用のスイッチや容量素子が必要であるため、それら素子のための回路面積が必要となってしまう。そこで、回路面積の増大を抑制するために、電源回路11において抵抗分割によって複数の電源電位を発生させ、当該複数の電源電位から最適な電源電位を選択し、その最適な電源電位を増幅後、安定化させて、複数の電源電位を出力する方式を用いてもよい。
なお、CPU14がある特定のプログラムを使用して通常動作を行う際は、数個のデータファイルへのみアクセスする場合が多い。このような場合、アクセスする実メモリは比較的狭い空間に局在することが多い。従って、アクセスする実メモリを、なるべく同じメモリブロック内に記憶するようにすれば、使用しないメモリブロックを増やすことができる。そして、使用しない全てのメモリブロックを待機モードに設定すれば、さらなる低消費電力化が実現する。従って、本発明のメモリ16が含む複数のメモリブロックの各々において、アドレスがシーケンシャルに割り当てられるように、アドレスをデコードすることが好適である。
また、待機モードに設定したメモリブロックにアクセスした場合の対処方法として以下の2つの方法がある。
1つは、メモリブロックXが待機モードにあり、データの読み出し/書き込みができる状態ではないという情報を含む信号を、アクセスしてきた回路(代表的にはCPU)に伝達する方法である。具体的には、メモリブロックXと、アクセスする可能性がある回路の間に、専用の制御信号線を設ける。そして、待機モードのメモリブロックXに、アクセスしてきた場合、まず、専用の制御信号をアサートし、アクセスしてきた相手に割り込みをかけて待機させる。並行して、アクセスのあったメモリブロックXを通常モードに復帰させ、準備ができたら割り込みを解除する。
もう1つは、メモリブロックXが準備できていることを保証する方法である。具体的には、CPU14がメモリブロックXの容量の情報を有する。そして、各メモリブロックにアクセスする場合、或いは直前にアクセスしたメモリブロックから異なるメモリブロックにアクセスする場合などに、そのメモリブロックが待機モードでないか調べる手段(プログラムやハードウエア)を備える方法である。メモリブロックXが待機モードであれば、メモリアクセスの命令を中止し、まず、メモリブロックXを通常モードに復帰させる。
上記の通り、本発明は、メモリ16を複数のメモリブロックに分割し、メモリブロックを1つの単位として、使用しないメモリブロックに対する電源供給を削減することで、低消費電力化を実現する。
本発明の半導体装置は、非接触でのデータの読み出しと書き込みが可能であることを特徴としており、データの伝送形式は、一対のコイルを対向配置して相互誘導によって交信を行う電磁結合方式、誘導電磁界によって交信する電磁誘導方式、電波を利用して交信する電波方式の3つに大別されるが、いずれの方式を用いてもよい。データの伝送に用いるアンテナ18は2通りの設け方があり、1つは複数の素子が設けられた基板81上にアンテナ18を設ける場合(図4(A)(C)参照)、もう1つは複数の素子が設けられた基板81上に端子部を設けて当該端子部に接続するようにアンテナ18を設ける場合(図4(B)(D)参照)である。ここでは、基板81上に設けられた複数の素子を素子群80と呼ぶ。
前者の構成(図4(A)(C))の場合、基板81上に、素子群80と、アンテナ18として機能する導電膜を設ける。図示する構成では、ソース・ドレイン配線と同じレイヤーにアンテナ18として機能する導電膜を設けている。しかしながら、本発明は上記構成に制約されずゲート電極と同じレイヤーにアンテナ18を設けてもよいし、素子群80を覆うように絶縁膜を設けて、当該絶縁膜上にアンテナ18を設けてもよい。
後者の構成(図4(B)(D))の場合、基板81上に、素子群80と、端子部85を設ける。図示する構成では、素子群80から選択された半導体素子のソース・ドレイン配線を端子部85として用いる。そして、端子部85に接続するように、基板81と、アンテナ18が設けられた基板82とを貼り合わせている。基板81と基板82の間には、導電性粒子83と樹脂84(このような導電性粒子83と樹脂84を含むものは異方性導電ペーストとよばれる)が設けられている。
素子群80は、大きな面積の基板上に複数形成し、その後、分断することで完成させれば、安価なものを提供することができる。このときに用いる基板としては、石英基板、ガラス基板等が挙げられるが、面積に制約がないガラス基板を用いることが好適である。
素子群80が含む複数のトランジスタは、複数の層に渡って設けられていてもよい。複数の層に渡る素子群80を形成する際には、層間絶縁膜を用いるが、当該層間絶縁膜の材料として、エポキシ樹脂やアクリル樹脂等の樹脂材料、透過性を有するポリイミド樹脂等の樹脂材料、シロキサン系ポリマー等の重合によってできた化合物材料、水溶性ホモポリマーと水溶性共重合体を含む材料、無機材料を用いるとよい。
シロキサン系の化合物材料とは、珪素と酸素との結合で骨格構造が構成され置換基に少なくとも水素を含む材料、又は、置換基にフッ素、アルキル基、又は芳香族炭化水素のうち少なくとも1種を有する材料が挙げられる。また、層間絶縁膜の材料として、層間で発生する寄生容量の減少を目的として、低誘電率(low−k)材料を用いるとよい。寄生容量が減少すれば、高速の動作を実現し、また、低消費電力化を実現する。
素子群80が含む複数のトランジスタは、非晶質半導体、微結晶半導体、多結晶半導体、有機半導体等のいずれの半導体を活性層として用いてもよいが、特に、良好な特性のトランジスタを得るために、金属元素を触媒として結晶化した活性層、レーザ照射法により結晶化した活性層を用いるとよい。また、プラズマCVD法により、SiH4とF2ガス、SiH4とH2ガス(+Arガス)を用いて形成した半導体層や、前記半導体層にレーザ照射を行ったものを活性層として用いるとよい。
また、素子群80が含む複数のトランジスタは、200度から600度の温度(好適には350度から500度)で結晶化した結晶質半導体層(低温ポリシリコン層)や、600度以上の温度で結晶化した結晶質半導体層(高温ポリシリコン層)を用いることができる。なお、基板上に高温ポリシリコン層を作成する場合は、ガラス基板だけでなく、石英基板を使用してもよい。
素子群80が含むトランジスタの活性層(特にチャネル形成領域)には、1×1019atoms/cm3〜1×1022atoms/cm3の濃度、好適には1×1019atoms/cm3〜5×1020atoms/cm3の濃度で、水素又はハロゲン元素を添加するとよい。そうすると、欠陥の少ないため、クラックが生じにくい活性層を得ることができる。
また、素子群80が含むトランジスタを包むように、又は素子群80自身を包むように、アルカリ金属等の汚染物質をブロックするバリア膜を設けるとよい。そうすると、汚染されることがなく、信頼性が向上した素子群80を提供することができる。なおバリア膜とは、窒化珪素膜、窒化酸化珪素膜又は酸化窒化珪素膜等である。
また、素子群80が含むトランジスタの活性層の厚さは、20nm〜200nm、好ましくは40nm〜170nm、さらに好ましくは45nm〜55nm、145nm〜155nm、さらに好ましくは50nm、150nmとするとよい。そうすると、折り曲げても、クラックが生じにくい素子群80を提供することができる。
また、素子群80が含むトランジスタの活性層を構成する結晶は、キャリアの流れる方向(チャネル長方向)と平行に延びる結晶粒界を有するように形成するとよい。このような活性層は、連続発振レーザ(CWLC)や、10MHz以上、好ましくは60〜100MHzで動作するパルスレーザで形成するとよい。
また、素子群80が含むトランジスタのS値(サブスレッシュホールド値)は0.35V/dec以下(好ましくは0.09〜0.25V/dec)、移動度10cm2/Vs以上の特性を有するとよい。このような特性は、活性層を、連続発振レーザや、10MHz以上で動作するパルスレーザで形成すれば、実現する。
また、素子群80は、リングオシレータレベルで1MHz以上、好適には10MHz以上(3〜5Vにて)の特性を有する。又は、ゲートあたりの周波数特性を100kHz以上、好適には1MHz以上(3〜5Vにて)を有する。換言すると、素子群80は、リングオシレータのゲート1段あたりの遅延時間を1μsec以下、好適には100nsec以下(3〜5Vにて)の特性を有する。
アンテナ18は、金、銀、銅などのナノ粒子を含む導電性ペーストにより、液滴吐出法を用いて形成するとよい。液滴吐出法は、インクジェット法やディスペンサ方式等の液滴を吐出してパターンを形成する方式の総称であり、材料の利用効率の向上等の利点を有する。
また、素子群80はガラスや石英からなる基板81上に設ける。基板81上の素子群80をそのまま使用してもよいが、付加価値をつけるために、基板81上の素子群80を剥離し(図5(A)参照)、当該素子群80をフレキシブル基板86に貼り合わせてもよい(図5(B)参照)。フレキシブル基板86は、可撓性を有し、例えば、ポリカーボネート、ポリアリレート、ポリエーテルスルフォン等のプラスチック基板、ポリテトラフルオロエチレンからなる基板又はセラミック基板等が挙げられる。
基板81からの素子群80の剥離は、あらかじめ基板81と素子群80との間に剥離層を設けておいて、剥離層をエッチング剤により除去することで行う方法か、又は、剥離層をエッチング剤により部分的に除去し、その後、基板81と素子群80とを物理的に剥離する方法を用いればよい。なお、物理的手段によって剥離されるとは、外部からストレスが与えられて剥離されることを指し、例えば、ノズルから吹き付けられるガスの風圧や超音波等からストレスを与えられて剥離することである。
基板81からの素子群80の剥離は、(1)耐熱性の高い基板81と素子群80の間に金属酸化膜を設け、当該金属酸化膜を結晶化により脆弱化して、当該素子群80を剥離する方法、(2)耐熱性の高い基板81と素子群80の間に水素を含む非晶質珪素膜を設け、レーザ光の照射またはエッチングにより当該非晶質珪素膜を除去することで、当該素子群80を剥離する方法、(3)素子群80が形成された耐熱性の高い基板81を機械的に削除又は溶液やClF3等のガスによるエッチングで除去することで、当該素子群80を切り離す方法等を用いればよい。また、剥離した素子群80のフレキシブル基板86への貼り付けは、市販の接着剤を用いればよく、例えば、エポキシ樹脂系接着剤や樹脂添加剤を用いた接着材等を用いればよい。
上記のように、素子群80をフレキシブル基板86に貼り合わせると、厚さが薄く、軽く、落下しても割れにくい半導体装置を提供することができる(図5(C)参照)。また、安価なフレキシブル基板86を用いると、安価な半導体装置を提供することができる。さらに、フレキシブル基板86は可撓性を有するため、曲面や異形の形状上に貼り合わせることが可能となり、多種多様の用途が実現する。例えば、薬の瓶のような曲面上に、本発明の半導体装置の一形態である無線タグ20を密着して貼り合わせることができる(図5(D)参照)。さらに、基板81を再利用すれば、半導体装置の低コスト化を実現する。本実施例は、上記の実施の形態、実施例と自由に組み合わせることができる。