(57)【要約】【課題】消費電力が低く、高速処理が可能なタスク処理方法を提供する。【解決手段】ＣＰＵと、第１のＦＰＧＡと、第２のＦＰＧＡと、ＰＭＵ及びＢＵＳを有し、ＰＭＵは前記ＣＰＵ、第１のＦＰＧＡ及び第２のＦＰＧＡと電気的に接続され、ＣＰＵと、第１のＦＰＧＡ及び第２のＦＰＧＡはＢＵＳを介して接続され、第１のＦＰＧＡは前記ＢＵＳを介して第２の回路とタスクの授受をする機能を有し、第１のＦＰＧＡ及び第２のＦＰＧＡは酸化物半導体を有する。第１のＦＰＧＡ及び第２のＦＰＧＡは入力されたタスクの進行段階を検知し、第１のＦＰＧＡからＢＵＳを介して第２のＦＰＧＡへタスクを受け渡し、タスクを第１のＦＰＧＡ及び第２のＦＰＧＡによって並列処理を行う。【選択図】図１
2019047405.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ、第１のＦＰＧＡ、第２のＦＰＧＡ、ＰＭＵ及びＢＵＳを有し、
前記ＣＰＵは、演算を行う機能及び前記第１のＦＰＧＡ及び前記第２のＦＰＧＡのコンフィギュレーションデータを変更する機能を有し、
前記ＣＰＵは、前記第１のＦＰＧＡ及び前記第２のＦＰＧＡと前記ＢＵＳを介して接続され、
前記第１のＦＰＧＡは前記ＢＵＳを介して前記第２のＦＰＧＡとタスクの授受をする機能を有し、
前記第１のＦＰＧＡ及び前記第２のＦＰＧＡは酸化物半導体を有する半導体装置。
【請求項２】
ＣＰＵ、第１のＦＰＧＡ、第２のＦＰＧＡ、ＰＭＵ及びＢＵＳを有し、
前記ＰＭＵは前記ＣＰＵ、前記第１のＦＰＧＡ及び前記第２のＦＰＧＡと電気的に接続され、
前記ＰＭＵはタスクの処理状況を検知し、前記ＣＰＵ、前記第１のＦＰＧＡ及び前記ＦＰＧＡの電源をそれぞれ独立に制御する機能を有し、
前記ＣＰＵは、演算を行う機能及び前記第１のＦＰＧＡ及び前記第２のＦＰＧＡのコンフィギュレーションデータを変更する機能を有し、
前記ＣＰＵは、前記第１のＦＰＧＡ及び前記第２のＦＰＧＡと前記ＢＵＳを介して接続され、
前記第１のＦＰＧＡは前記ＢＵＳを介して前記第２の回路とタスクの授受をする機能を有し、
前記第１のＦＰＧＡ及び前記第２のＦＰＧＡは酸化物半導体を有する半導体装置。
【請求項３】
請求項１または請求項２に記載の半導体装置を用いた、タスク処理方法であって、
前記第１のＦＰＧＡ及び前記第２のＦＰＧＡは入力されたタスクの進行段階を検知し
前記第１のＦＰＧＡから前記ＢＵＳを介して前記第２のＦＰＧＡへ前記タスクを受け渡し、
前記タスクを前記第１のＦＰＧＡ及び前記第２のＦＰＧＡによって並列処理を行う、タスク処理方法。
【請求項４】
請求項１または請求項２に記載の半導体装置を用いた、タスク処理方法であって、
前記ＣＰＵは入力されたタスクを検知し、前記第１のＦＰＧＡへ第１のコンテキストに切り替える命令を出力し、前記第２のＦＰＧＡへ第２のコンテキストへ切り替える命令を出力し、
前記第１のコンテキストと前記第２のコンテキストは異なる演算方法であり、
前記タスクを前記第１のＦＰＧＡ及び前記第２のＦＰＧＡによって並列処理を行う、タスク処理方法。
【請求項５】
請求項１に記載の半導体装置を用いた、タスク処理方法であって、
前記ＣＰＵは入力されたタスクを検知し、前記第１のＦＰＧＡへ第１のコンテキストに切り替える命令を出力し、前記第２のＦＰＧＡへ第２のコンテキストへ切り替える命令を出力し、
前記第１のコンテキストと前記第２のコンテキストは異なる演算方法であり、
前記第１のＦＰＧＡ及び前記第２のＦＰＧＡは入力されたタスクの進行段階を検知し、前記第１のＦＰＧＡから前記ＢＵＳを介して前記第２のＦＰＧＡへ前記タスクを受け渡し、
前記タスクを前記第１のＦＰＧＡ及び前記第２のＦＰＧＡによって並列処理を行う、タスク処理方法。
【請求項６】
請求項１または請求項２に記載に記載の半導体装置と、入力装置と、出力装置と、を有するコンピュータ。
【請求項７】
請求項１または請求項２に記載の半導体装置、もしくは請求項６に記載のコンピュータと、
表示部、マイクロホン、スピーカ、又は操作キーと、を有する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一態様は、半導体装置、電子部品、および電子機器に関する。
【０００２】
なお、本発明の一態様は、上記の技術分野に限定されない。本明細書等で開示する発明の一態様は、物、方法、または、製造方法に関するものである。または、本発明の一態様は、プロセス、マシン、マニュファクチャ、または、組成物（コンポジション・オブ・マター）に関するものである。
【０００３】
なお、本明細書等において半導体装置とは、半導体特性を利用することで機能しうる装置全般を指す。表示装置（液晶表示装置、発光表示装置など）、投影装置、照明装置、電気光学装置、蓄電装置、記憶装置、半導体回路、撮像装置および電子機器などは、半導体装置を有すると言える場合がある。
【背景技術】
【０００４】
プログラマブルロジックデバイス（ＰＬＤ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）は、複数のプログラマブルロジックエレメント（ＰＬＥ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｅｌｅｍｅｎｔ）およびプログラマブルルーティングスイッチ（ＰＲＳ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｏｕｔｉｎｇ  Ｓｗｉｔｃｈ）を有する。ＰＬＤでは、各ＰＬＥの機能の情報や、ＰＲＳによるＰＬＥ間の接続構造の情報をコンフィギュレーションデータとして、コンフィギュレーションメモリ内に格納している。つまり、ＰＬＤの回路構成をコンフィギュレーションデータとして記憶している。
【０００５】
また、チャネルが酸化物半導体層に形成されるトランジスタ（以下、“酸化物半導体トランジスタ”、または“ＯＳトランジスタ”と呼ぶ。）のオフ電流が極めて小さいことを利用して、様々なアプリケーションが提案されている。
【０００６】
例えば、特許文献１、非特許文献１では、酸化物半導体トランジスタのソース及びドレインの一方をパストランジスタのゲートに接続することで、パストランジスタのゲートにコンフィギュレーションデータに相当する電位を保持させる不揮発性のコンフィギュレーションメモリを備えたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）が提案されている。これら文献に記載のＦＰＧＡは、細粒度パワーゲーティングや不揮発性コンフィギュレーションメモリによる待機時の低消費電力化、コンテキストによる低消費電力化と回路構成の高速切り替えが可能であるとされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許公開第２０１４／０１５９７７１号公報
【非特許文献】
【０００８】
【非特許文献１】Ｔ．Ａｏｋｉ  ｅｔ  ａｌ．，“Ｎｏｒｍａｌｌｙ−Ｏｆｆ  Ｃｏｍｐｕｔｉｎｇ  ｗｉｔｈ  Ｃｒｙｓｔａｌｌｉｎｅ  ＩｎＧａＺｎＯ−ｂａｓｅｄ  ＦＰＧＡ，”ＩＥＥＥ  ＩＳＳＣＣ  Ｄｉｇ．Ｔｅｃｈ．Ｐａｐｅｒｓ，２０１４，ｐｐ．５０２―５０３．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
深層学習（ディープラーニング）の処理や大規模データの処理の高速化の要求に伴い、様々な回路構造が提案されているが、さらなる処理速度の高速化や低消費電力化が求められている。また、深層学習を行う場合において、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｏｍｏｒｙ）等の異なる性質の処理を実行する場合でも高速化、低消費電力化が行える半導体装置及びタスクの処理方法が求められている。
【００１０】
本発明の一形態は、新規な半導体装置、または新規な半導体装置の動作方法を提供することを課題の一つとする。または、新規なタスク処理方法を提供することを課題とする。または、本発明の一形態は、消費電力を削減すること、低電圧駆動でも安定した動作を可能とすること、細粒度パワーゲーティングを可能とすること、電力効率を改善すること、低電力駆動と省電力化を両立すること等を課題の一つとする。
【００１１】
なお、複数の課題の記載は、互いの課題の存在を妨げるものではない。なお、本発明の一形態は、これらの課題の全て解決する必要はない。また、列記した以外の課題が、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、これらの課題も、本発明の一形態の課題となり得る。
【課題を解決するための手段】
【００１２】
本発明の一態様にかかる半導体装置は、ＣＰＵと、少なくとも第１のＦＰＧＡと、第２のＦＰＧＡと、ＰＭＵとＢＵＳを有し、ＰＭＵはＣＰＵ、第１のＦＰＧＡ及び第２のＦＰＧＡと電気的に接続され、ＣＰＵは、演算を行う機能及び、第１のＦＰＧＡ及び第２のＦＰＧＡのコンフィギュレーションデータを変更する機能を有し、ＣＰＵと、第１のＦＰＧＡ及び第２のＦＰＧＡは前記ＢＵＳを介して接続され、第１のＦＰＧＡはＢＵＳを介して第２の回路とタスクの授受をする機能を有し、第１のＦＰＧＡ及び第２のＦＰＧＡは酸化物半導体を有する。
【００１３】
本発明の一態様にかかる別の半導体装置は、ＣＰＵと、少なくとも第１のＦＰＧＡと、第２のＦＰＧＡと、ＰＭＵ及びＢＵＳを有し、ＰＭＵは前記ＣＰＵ、第１のＦＰＧＡ及び第２のＦＰＧＡと電気的に接続され、ＰＭＵはタスクの処理状況を検知し、ＣＰＵ、第１のＦＰＧＡ及びＦＰＧＡの電源をそれぞれ独立に制御する機能を有し、ＣＰＵは、演算を行う機能及び第１のＦＰＧＡ及び第２のＦＰＧＡのコンフィギュレーションデータを変更する機能を有し、ＣＰＵと、前記第１のＦＰＧＡ及び前記第２のＦＰＧＡは前記ＢＵＳを介して接続され、第１のＦＰＧＡは前記ＢＵＳを介して第２の回路とタスクの授受をする機能を有し、第１のＦＰＧＡ及び前記第２のＦＰＧＡは酸化物半導体を有する。
【００１４】
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、第１のＦＰＧＡ及び第２のＦＰＧＡは入力されたタスクの進行段階を検知し、第１のＦＰＧＡからＢＵＳを介して第２のＦＰＧＡへ前記タスクを受け渡し、タスクを第１のＦＰＧＡ及び第２のＦＰＧＡによって並列処理を行う、タスク処理方法である。
【００１５】
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、ＣＰＵは入力されたタスクを検知し、第１のＦＰＧＡへ第１のコンテキストに切り替える命令を出力し、第２のＦＰＧＡへ第２のコンテキストへ切り替える命令を出力し、第１のコンテキストと第２のコンテキストは異なる演算方法であり、タスクを第１のＦＰＧＡ及び第２のＦＰＧＡによって並列処理を行う、タスク処理方法である。
【００１６】
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、ＣＰＵは入力されたタスクを検知し、第１のＦＰＧＡへ第１のコンテキストに切り替える命令を出力し、第２のＦＰＧＡへ第２のコンテキストへ切り替える命令を出力し、第１のコンテキストと第２のコンテキストは異なる演算方法であり、第１のＦＰＧＡ及び第２のＦＰＧＡは入力されたタスクの進行段階を検知し、第１のＦＰＧＡからＢＵＳを介して第２のＦＰＧＡへ前記タスクを受け渡し、タスクを前記第１のＦＰＧＡ及び第２のＦＰＧＡによって並列処理を行う、タスク処理方法である。
【発明の効果】
【００１７】
本発明の一形態によって、新規な半導体装置を提供することができる。また、本発明の一態様によって、新規な半導体装置の動作方法を提供することができる。または、本発明の一態様新規なタスク処理方法を提供することができる。または、本発明の一形態では、消費電力を削減すること、低電圧駆動でも安定した動作を可能とすること、細粒度パワーゲーティングを可能とすること、電力効率を改善すること、低電力駆動と省電力化を両立することができる。
【００１８】
なお、これらの効果の記載は、他の効果の存在を妨げるものではない。なお、本発明の一態様は、これらの効果の全てを有する必要はない。なお、これら以外の効果は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の効果を抽出することが可能である。
【図面の簡単な説明】
【００１９】
【図１】半導体装置の構成例を説明するブロック図。
【図２】半導体装置の動作例を説明するブロック図。
【図３】半導体装置の動作例を説明するブロック図。
【図４】ＯＳ  ＦＰＧＡの要部を示す回路図。
【図５】プログラム可能な配線スイッチ（ＰＲＳ）のオーバードライブ動作を説明するタイミングチャート。
【図６】プログラム可能なパワースイッチ（ＰＰＳ）のオーバードライブ動作を説明するタイミングチャート。
【図７】ＯＳ  ＦＰＧＡのブロック図。
【図８】ＯＳ  ＦＰＧＡのＰＲＳの回路図。
【図９】ＯＳ  ＦＰＧＡのＰＬＥの回路図。
【図１０】ＰＬＥ内のコンフィギュレーションメモリ・ブロック（ＣＭＢ）のタイミングチャート。
【図１１】Ａ：本ＯＳ  ＦＰＧＡの状態遷移図。Ｂ：本ＯＳ  ＦＰＧＡの動作状態の一覧表。
【図１２】回路の構成例を説明する図。
【図１３】回路の構成例を説明する図。
【図１４】回路の構成例を説明する図。
【図１５】回路の構成例を説明する図。
【図１６】回路の構成例を説明する図。
【図１７】コンピュータの構成例を説明する図。
【図１８】電子部品の作製方法例を説明するフローチャートおよび電子部品の構成例を説明する斜視模式図。
【図１９】電子機器を説明する図。
【発明を実施するための形態】
【００２０】
以下、実施の形態について図面を参照しながら説明する。但し、実施の形態は多くの異なる態様で実施することが可能であり、趣旨およびその範囲から逸脱することなくその形態および詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。
【００２１】
なお本明細書等において、「第１」、「第２」、「第３」という序数詞は、構成要素の混同を避けるために付したものである。従って、構成要素の数を限定するものではない。また、構成要素の順序を限定するものではない。また例えば、本明細書等の実施の形態の一において「第１」に言及された構成要素が、他の実施の形態、あるいは特許請求の範囲において「第２」に言及された構成要素とすることもありうる。また例えば、本明細書等の実施の形態の一において「第１」に言及された構成要素を、他の実施の形態、あるいは特許請求の範囲において省略することもありうる。
【００２２】
なお図面において、同一の要素または同様な機能を有する要素、同一の材質の要素、あるいは同時に形成される要素等には同一の符号を付す場合があり、その繰り返しの説明は省略する場合がある。
【００２３】
（実施の形態１）
本発明の一態様の半導体装置の構成および動作について、図１〜図３までを参照して説明する。
【００２４】
図１のブロック図に示す半導体装置１０は、ＣＰＵ（中央処理装置）２０、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）５０、複数のＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３０及びＢＵＳ４０を有する。
【００２５】
ＣＰＵ２０は順序回路や組合せ回路などの論理回路によって構成することができる。
【００２６】
ＣＰＵ２０はＢＵＳ４０を介してＦＰＧＡ３０と電気的に接続されている。ＣＰＵ２０から送信される信号がＢＵＳ４０を介して所望のＦＰＧＡ３０に送信される。なおＣＰＵ２０は、ＦＰＧＡ３０が行わない数値演算や情報処理を行うことができる。また、ＣＰＵ２０は特定の演算処理に対して、ＦＰＧＡ３０に演算させるほうが効率が高いか、ＣＰＵ２０自身で演算するほうが効率が高いかを判定することができる。
【００２７】
図１に示す半導体装置１０は、ＣＰＵ２０及びＦＰＧＡ３０を有し、ＣＰＵ２０によってＦＰＧＡ３０の動作を制御することができる。そのため、ＣＰＵ２０は、複雑な逐次処理や少量のデータ処理などを自身で実行し、大量のデータ処理が必要な演算や即応性が要求される演算などはＦＰＧＡ３０に処理させることができる。これにより、ＣＰＵ２０による処理の負荷の低減、及びメモリへのアクセス頻度の減少を図ることができ、半導体装置１０の動作速度及び電力効率の向上を実現することができる。
【００２８】
また、半導体装置１０は複数のＦＰＧＡ３０を有する。そのため、大規模なデータを同時に処理することが可能である。そのため、ビッグデータの統計処理やディープラーニングなど機械学習に好適に用いることができる。
【００２９】
また、ＦＰＧＡ３０はそれぞれＢＵＳ４０を介して接続されている。よって、ＣＰＵ２０にアクセスすることなく、ＦＰＧＡ３０間でアクセスすることができる。あるＦＰＧＡ３０における処理が滞った場合、別のＦＰＧＡ３０にＣＰＵ２０を介することなく処理させることができる。そのため、ＦＰＧＡ３０間のデータのやり取りを、ＣＰＵ２０を経由して行う場合と比較し、処理速度を向上させることができる。
【００３０】
またＦＰＧＡ３０は、複数の処理データを格納し、処理を行うタスクに対して適当なコンテキストに切り替えることができる。そのため、本発明の一態様である半導体装置は、多種多様な処理を高速で行うことができる。さらに、一つのＦＰＧＡ３０で多様な処理が可能なため、少ないチップ数でも消費電力を低減することができる。
【００３１】
また、ＦＰＧＡ３０は複数のコンテキストを有し、コンテキストの切り替えによって、タスクでは実行的に演算に寄与しないＰＬＥ（ＰＬＥに関しては後述）への電力供給を停止する機能を有する。さらに、電力供給停止中にもＰＬＥ内のレジスタデータを保持する機能を有する。そのため、タスクの停止時と再開時とで演算の連続性を保つことができる。
【００３２】
また、ＰＭＵ５０はＣＰＵ２０及び複数のＦＰＧＡ３０それぞれに電気的に接続されている。回路ＰＭＵ５０はＣＰＵ２０またはＦＰＧＡ３０それぞれをパワーゲーティングする機能を有する。ＰＭＵ５０はタスクの処理に使用されていないＦＰＧＡ３０が存在する場合、ＣＰＵ２０からの命令に従い、ＦＰＧＡ３０それぞれのパワーオン、パワーオフする機能を有する。ＰＭＵ５０は該ＦＰＧＡ３０をパワーゲーティングすることで、消費電力を低減することができる。また、ＰＭＵ５０はタイマーとしての機能を有し、例えばＦＰＧＡ３０がパワーオフの状態にあるとき、該タイマー機能により、定期的にパワーオフからの復帰（パワーオン）を行うことができる。また、ＰＭＵ５０はタスク処理に使用されていないＦＰＧＡ３０が存在する場合、該ＦＰＧＡ３０を検知し、該ＦＰＧＡ３０をパワーオフする機能を有していても良い。
【００３３】
＜半導体装置の使用形態１＞
本発明の一態様である半導体装置の使用例を以下図２及び図３を用いて説明する。なお、図２及び図３中、ハッチングを付した部分が入力されたタスク処理を行う部分であることを模式的に表す。
【００３４】
図２（Ａ）では入力されたタスクに対してＣＰＵ２０が処理を行う場合について示している。この場合、ＦＰＧＡ３０はＰＭＵ５０によって、パワーゲーティングされると消費電力を低減することができるため好ましい。
【００３５】
＜半導体装置の使用形態２＞
図２（Ｂ）では入力されたタスクに対してＣＰＵ２０及び１つまたは複数のＦＰＧＡ３０が処理を行う場合について示している。この時、タスクの処理に使用してないＦＰＧＡ３０が存在していても良い。タスクを処理していないＦＰＧＡ３０はＰＭＵ５０によってパワーゲーティングされると好ましい。また、図２（Ｂ）ではタスクを処理しているＦＰＧＡ３０の使用率を高くすることで、演算に使用されているＦＰＧＡ３０の個数を減らすことができる。
【００３６】
図２（Ｂ）ではＣＰＵ２０がタスクを処理する例を例示しているが、ＣＰＵ２０がタスク処理を行わなくても構わない。すなわち、ＣＰＵ２０がＦＰＧＡ３０にタスクを振り分けた後、該タスクが処理されている間は、ＣＰＵ２０は演算を行わない、またはＰＭＵ５０によってパワーゲーティングされていても良い。
【００３７】
＜半導体装置の使用形態３＞
図３（Ａ）では入力されたタスクに対してＣＰＵ２０及び複数のＦＰＧＡ３０が処理を行う場合について示している。この時、タスクの処理に使用してないＦＰＧＡ３０が存在していても良い。本使用例では、入力されたタスクに対して複数のＦＰＧＡ３０を使用して処理を行うことによって、高速で処理を行うことができる。ここで、ＦＰＧＡ３０にはＯＳトランジスタを有すると好ましい。ＯＳトランジスタを用いることで、ＣＰＵ２０が各ＦＰＧＡ３０にタスクを振り分ける際に最適な使用率のコンテキストに回路構成を切り替えることができる。すなわち、ＦＰＧＡ３０で細粒度パワーゲーティングを行うことができるため、消費電力を低減することができる。
【００３８】
図３（Ａ）ではＣＰＵ２０がタスクを処理する例を例示しているが、ＣＰＵ２０がタスク処理を行わなくても構わない。すなわち、ＣＰＵ２０が各ＦＰＧＡ３０にタスクを振り分けた後、該タスクが処理されている間は、ＣＰＵ２０は演算を行わない、またはＰＭＵ５０によってパワーゲーティングされていても良い。
【００３９】
＜半導体装置の使用形態４＞
図３（Ｂ）では入力されたタスクに対してＣＰＵ２０及び複数のＦＰＧＡ３０が処理を行う場合について示している。この時、タスクの処理に使用してないＦＰＧＡ３０が存在していても良い。本実施の形態では、入力されたタスクに対して複数のＦＰＧＡ３０を使用し、各ＦＰＧＡ３０において異なる演算手法により処理を行うこと場合を例示している。図３（Ｂ）では各ＦＰＧＡ３０で異なる演算方法を実行する例を、ハッチングを変えることで示している。該処理を行うことで高速でタスク処理を行うことができる。また、ＣＰＵ２０が各ＦＰＧＡ３０にタスクを振り分ける際に最適な処理方法のコンテキストに回路構成を切り替えることで、高速に処理を行うことができる。ここで、各ＦＰＧＡ３０にはＯＳトランジスタを有すると好ましい。ＯＳトランジスタのオフ電流は極めて小さいため、コンフィギュレーションメモリにＯＳトランジスタを用いることにより、コンフィギュレーションデータを極めて長期間にわたって保持することができる。そのため、ＦＰＧＡ３０にＯＳトランジスタを用いることによって、コンテキストの切り替えをスイッチングの動作のみで行うことができる。
【００４０】
図３（Ｂ）ではＣＰＵ２０がタスクを処理する例を例示しているが、ＣＰＵ２０がタスク処理を行わなくても構わない。すなわち、ＣＰＵ２０が各ＰＬＤにタスクを振り分けた後、該タスクが処理されている間は、ＣＰＵ２０は演算を行わない、またはＰＭＵ５０によってパワーゲーティングされていても良い。
【００４１】
上記半導体装置の使用形態１〜４は適宜組み合わせることができる。例えば、入力されたタスクに対して、最初は使用例３で示した方法でタスクを処理した後、続くタスクは使用例４で示した、各ＦＰＧＡ３０で異なる演算方法を用いてタスク処理を行っても構わない。上記半導体装置の使用例１〜４で示したタスク処理を組み合わせることによって、高速かつ低い消費電力でタスク処理を行うことができる。また、各ＦＰＧＡ３０はコンテキストの書き換えも行うことができる。一つの半導体装置で様々なタスクに対する処理を行うことができるため、本発明の一態様は汎用性が非常に高いと言える。
【００４２】
（実施の形態２）
本実施の形態では、本発明の一態様に用いられるＯＳ（酸化物半導体）を用いたＦＰＧＡ（以下ＯＳ  ＦＰＧＡ）の具体的な構成例を図４〜図１１を用いて説明する。
【００４３】
図４に、本発明の一態様に用いられるＯＳ  ＦＰＧＡの要部の一例を示す。図４に示すＯＳ  ＦＰＧＡは、ＰＬＥ、ＰＲＳ、コンテキスト・コントローラ、コンフィギュレーション・コントローラ、コンフィギュレーションメモリ・ブロックを有する。ＰＬＥはＰＬＥコア（ＰＬＥｃｏｒｅ）、ＰＰＳを有する。ＰＲＳはＰＲＳｃｆｇ、ＰＲＳｃｔｘを有する。ＩＮｐｒｓ＿ＬはＰＲＳの入力ノードであり、ＯＵＴｐｒｓ＿Ｌは出力ノードである。ＰＲＳｃｆｇ、ＰＲＳｃｔｘ及びＰＰＳは、それぞれコンフィギュレーションメモリ、コンテキスト・メモリ、およびＰＰＳデータを記憶するメモリ（ＰＰＳメモリ）に相当する。
【００４４】
ＰＲＳｃｆｇは、ＯＳトランジスタ（ＭＯｃｆｇ）、高Ｖｔｈのパストランジスタ（ＭＳｃｆｇ）、およびノード（Ｎｃｆｇ）を有する。ＭＯｃｆｇには、コンフィギュレーション・コントローラから書き込み信号（Ｗｃｆｇ＿Ｈ）、コンフィギュレーションデータ（Ｄｃｆｇ＿Ｈ）が入力される。ＰＲＳｃｔｘは、ＯＳトランジスタ（ＭＯｃｔｘ）、高Ｖｔｈのパストランジスタ（ＭＳｃｔｘ）、ノード（Ｎｃｔｘ）を有する。ＭＯｃｔｘには、コンテキスト・コントローラから書き込み信号（Ｗｃｔｘ＿Ｈ）、コンテキスト・データ（Ｄｃｔｘ＿Ｈ）が入力される。Ｄｃｆｇ＿ＨはＮｃｆｇに書き込まれ、Ｄｃｔｘ＿ＨはＮｃｔｘに書き込まれる。ＰＲＳの導通状態は、Ｄｃｆｇ＿Ｈ、Ｄｃｔｘ＿Ｈの電位により制御される。なお、「ＯＳ」の符号が付されたトランジスタはＯＳトランジスタである。また図中、トランジスタ構成８０に示すようにＯＳトランジスタをバックゲートを有するトランジスタである。なお、図４及び図９において「ＯＳ」の符号が付されたトランジスタの構成は、トランジスタ構成８０に示す構成であるとする。
【００４５】
ＬＶＤＤはＰＬＥｃｏｒｅの電源電圧である。ＰＰＳは、ｐｃｈ−Ｓｉトランジスタ、ＯＳトランジスタ（ＭＯｐｐｓ）、ノード（Ｎｐｐｓ）を有し、ＰＬＥｃｏｒｅへのＬＶＤＤの供給を制御する。ｐｃｈ−Ｓｉトランジスタはパワースイッチであり、Ｎｐｐｓに与えられたＰＰＳデータ（Ｄｐｐｓ＿Ｌ）により、導通状態が制御される。Ｄｐｐｓ＿Ｌは、コンフィギュレーションメモリ・ブロックからＰＰＳに入力される。
【００４６】
ＯＳ  ＦＰＧＡは図４の電源ドメイン：入出力（ＩＯ）ドメイン、ＨＶＤＤドメイン、ＬＶＤＤドメインを有する。なお、符号の末尾に追加された符号＿Ｈ、＿Ｌは、それぞれ、ＨＶＤＤドメイン、ＬＶＤＤドメインの要素や、そこで生成される信号であることを表している。
【００４７】
ＯＳ  ＦＰＧＡには、データ信号用バッファ、書き込み信号用バッファが設けられている。これらのバッファは対応する回路の電源電圧で動作する。コンフィギュレーション・コントローラの電源電圧はＨＶＤＤｃｆｇ（書き込み信号用ＨＶＤＤｃｆｇ＿ｗ、データ信号用ＨＶＤＤｃｆｇ＿ｄ）であり、コンテキスト・コントローラの電源電圧はＨＶＤＤｃｔｘ（書き込み信号用ＨＶＤＤｃｔｘ＿ｗ、データ信号用ＨＶＤＤｃｔｘ＿ｄ）である。ＨＶＤＤｃｆｇ、ＨＶＤＤｃｔｘはＬＶＤＤよりも高い。オーバードライブ電圧を考慮してデータ信号用電源電圧（ＨＶＤＤｃｆｇ＿ｄ、ＨＶＤＤｃｔｘ＿ｄ）をＬＶＤＤよりも高くし、かつＭＯｃｆｇ、ＭＯｃｔｘのＶｔｈを考慮して書き込み信号用電源電圧（ＨＶＤＤｃｆｇ＿ｗ、ＨＶＤＤｃｔｘ＿ｗ）を、データ信号用電源電圧よりも高くすることで、書き込み電位のばらつきを抑制することが可能である。
【００４８】
＜ＰＲＳのオーバードライブ＞
図５にＰＲＳのオーバードライブ動作のタイミングチャートを示す。コンフィギュレーション動作は、コンフィギュレーション時（Ｗｃｆｇ＿Ｈ＝“Ｈ”）に、コンフィギュレーションデータ（Ｄｃｆｇ＿Ｈ）をコンフィギュレーションメモリ（ＰＲＳｃｆｇ）に書き込むことで、実行される。Ｎｃｆｇの電位は、ＬＶＤＤ＋ΔＶｃｆｇまたはＧＮＤになる。ΔＶｃｆｇはコンフィギュレーションメモリ（ＰＲＳｃｆｇ）のオーバードライブ電圧である。コンフィギュレーションメモリは、容量に電位を書き込むという単純な動作を行うので、ＳＲＡＭとは異なり、書き換え、及びデータ保持動作のマージンが広く、極低電圧においても正常な動作が容易である。
【００４９】
コンフィギュレーション完了時とコンテキスト切り替え時には、Ｗｃｔｘ＿Ｈを“Ｈ”にして、コンテキスト・データ（Ｄｃｔｘ＿Ｈ）をコンテキスト・メモリ（ＰＲＳｃｔｘ）に書き込む。Ｎｃｔｘの電位は、ＬＶＤＤ＋ΔＶｃｔｘまたはＬＶＤＤとなる。ΔＶｃｔｘはコンテキスト・メモリ（ＰＲＳｃｔｘ）のオーバードライブ電圧である。選択されたコンテキストのコンフィギュレーションデータに対応して、ＰＲＳの導通状態が決定される。
【００５０】
コンフィギュレーションメモリにコンフィギュレーションデータを書き込んだ後、ＭＯｃｆｇをオフにすることで（Ｗｃｆｇ＿Ｈ＝“Ｌ”）、Ｎｃｆｇは浮遊ノードとなり、高電位データ（ＬＶＤＤ＋ΔＶｃｆｇ／ＧＮＤ）を保持する。コンテキスト・メモリも同様であり、ＭＯｃｔｘをオフとすることで（Ｗｃｔｘ＿Ｈ＝“Ｌ”）、Ｎｃｔｘは浮遊ノードとなり、高電位データ（ＬＶＤＤ＋ΔＶｃｔｘ／ＧＮＤ）を保持する。ＭＯｃｆｇ、ＭＯｃｔｘは極めて小さいリーク電流を持つＯＳトランジスタであるため、ＮｃｆｇおよびＮｃｔｘを電位の変化が小さい理想的な浮遊ノードにすることができるので、コンフィギュレーションメモリおよびコンテキスト・メモリは不揮発性アナログメモリとして動作する。
【００５１】
ＭＳｃｆｇをオン状態にする場合は、そのゲートに高電圧ＬＶＤＤ＋ΔＶｃｆｇが入力されるため、ＭＳｃｆｇはオーバードライブされる。ＭＳｃｔｘも同様であり、ゲートにＬＶＤＤ＋ΔＶｃｔｘが入力されることで、ＭＳｃｔｘはオーバードライブされる。当該オーバードライブによって、パストランジスタ（ＭＳｃｆｇ、ＭＳｃｔｘ）の高Ｉｏｎ／Ｉｏｆｆ比が維持されるので、ＰＲＳの出力信号（ＯＵＴｐｒｓ＿Ｌ）の電位は低下しない。
【００５２】
コンフィギュレーションメモリ、コンテキスト・メモリは、不揮発性アナログメモリとみなせるため、データ保持、すなわち、オーバードライブ電圧を浮遊ゲートで保持するために要する消費電力は低い。コンフィギュレーションメモリでは、Ｗｃｆｇ＿Ｈ、Ｄｃｆｇ＿Ｈを低電位とすることで、ＭＯｃｆｇをオフ状態にしてＮｃｆｇを浮遊状態にし、コンテキスト・メモリでは、Ｗｃｔｘ＿Ｈ、Ｄｃｔｘ＿Ｈを低電位とすることで、ＭＯｃｔｘをオフ状態にして、Ｎｃｔｘを浮遊状態にしている。よって、コンフィギュレーションデータ、コンテキスト・データの書き込みを行う期間のみ、コンフィギュレーション・コントローラ、およびコンテキスト・コントローラに電源電圧を供給し、その他の期間は、ＨＶＤＤドメインをパワーゲーティングすることができる。よって、消費電力を効果的に低減できる。
【００５３】
なお、Ｗｃｆｇ＿Ｈ用信号線、Ｗｃｔｘ＿Ｈ用信号線には、パワーゲーティング時にアクティブとなるプルダウン用ＯＳトランジスタが設けられている。したがって、パワーゲーティング中に、これらの信号線の電位はＧＮＤに維持されるため、ＭＯｃｆｇ，ＭＯｃｔｘのオフ状態は確実に維持される。ＯＳトランジスタは極小Ｉｏｆｆをもつため、非アクティブ時では信号線に与えるプルダウン用ＯＳトランジスタの影響は無視できるほど小さい。
【００５４】
＜ＰＰＳのオーバードライブ＞
図６にＰＰＳのオーバードライブの動作タイミングチャートを示す。コンフィギュレーション完了時とコンテキスト切り替え時に、Ｗｐｐｓ＿Ｈを“Ｈ”にして、ＰＰＳにＰＰＳデータ（Ｄｐｐｓ＿Ｌ）を書き込む。Ｎｐｐｓの電位は、ＬＶＤＤｈまたはＧＮＤである。
【００５５】
ＰＰＳにＰＰＳデータを書き込んだ後、Ｗｐｐｓ＿Ｈを“Ｌ”にしてＭＯｐｐｓをオフにすると、Ｎｐｐｓは浮遊ノードとなり、電位（ＬＶＤＤｈ／ＧＮＤ）を保持する。図６はＤｐｐｓ＿Ｌの電位がＧＮＤの例を示しており、Ｎｐｐｓの電位はＧＮＤとなる。ここで、ＬＶＤＤドメインの電圧を高電位（ＬＶＤＤｈ）から低電位（ＬＶＤＤ）に低下させることで、Ｎｐｐｓ（ｐｃｈ−Ｓｉトランジスタのゲート）とＬＶＤＤ電源ノードとの間の寄生容量を介した容量結合によってＮｐｐｓの電位が低下する。ここで、ＬＶＤＤドメインの電圧を低下させる際、Ｎｐｐｓの電位がＬＶＤＤｈのときは、ｐｃｈ−Ｓｉトランジスタはオフ状態のため、ＬＶＤＤ電源ノードとＮｐｐｓとの容量結合が小さく、Ｎｐｐｓの電位はほとんど変化しない。一方、Ｎｐｐｓの電位がＧＮＤのときは容量結合が大きいため、Ｎｐｐｓの電位は大きく変化する。
【００５６】
つまり、負電圧を生成する電源回路を設けなくても、ＰＰＳのｐｃｈ−Ｓｉトランジスタのオーバードライブができる。ＭＯｐｐｓはＯＳトランジスタであるので、オーバードライブ後に、Ｗｐｐｓ＿Ｈを“Ｌ”にしてＭＯｐｐｓをオフとすると、Ｎｐｐｓは浮遊ノードとなり、データ（ＬＶＤＤｈ／−ΔＶｐｐｓ、ここでΔＶｐｐｓはＰＰＳのオーバードライブ電圧である。）を保持できる。
【００５７】
該オーバードライブによって、ｐｃｈ−Ｓｉトランジスタは高Ｉｏｎ／Ｉｏｆｆ比を維持し、良好なスイッチング特性を有する。ＰＰＳは、不揮発性アナログメモリとみなせるので、データ保持、すなわち、オーバードライブ電圧を浮遊ゲートに維持するのに要する消費電力は低い。さらに、コンテキスト・データの更新時のみ、ＬＶＤＤドメインの電圧を高電位（ＬＶＤＤｈ）とし、その他の期間は低電位とすることができるので、低消費電力化が可能である。
【００５８】
＜ＯＳ  ＦＰＧＡの構成＞
図７は本発明の一態様に用いられるＯＳ  ＦＰＧＡの構成を示すブロック図である。ＯＳ  ＦＰＧＡはマルチコンテキストに対応しており、コンテキスト数は２である。
【００５９】
ＩＯドメインには、複数のプログラム可能なＩＯ回路を有する入出力ブロック（ＰＩＯＢ）の高電位ドメインが属する。ＨＶＤＤドメインには、コンフィギュレーション・コントローラ（行ドライバ回路、列ドライバ回路を含む）と、コンテキスト・コントローラとが属する。ＬＶＤＤドメインには、ロジックアレイブロックと、ＰＩＯＢの低電位ドメインとが属する。
【００６０】
ロジックアレイブロックは２つのＰＬＥブロック（ＰＬＥＢ）と、３つのＰＲＳブロック（ＰＲＳＢ）を有する。各ＰＬＥＢは１０のＰＬＥを有する。ＰＲＳＢは複数のＰＲＳＡ（ＰＲＳアレイ）を有する。ＰＲＳＡは複数のＰＲＳを有する配線スイッチである。ＰＲＳＡを表すブロック内の表記はその機能を表している。例えば、“ＰＬＥ［０＊］  ｔｏ  ＩＯ［００］”とは、ＰＲＳＡが、ＰＬＥ［００］−ＰＬＥ［０９］の出力ノードと入出力回路ＩＯ［００］の入力ノードとの間の導通状態を制御する機能をもつことを示している。
【００６１】
＜ＰＲＳ＞
図８にＰＲＳの回路図を示す。図８のＰＲＳｃｆｇは図８のＰＲＳｃｆｇに容量素子Ｃｃｆｇを追加した回路構成を有する。ＰＲＳｃｆｇ＜０＞とＰＲＳｃｔｘ＜０＞が電気的に直列に接続されて、配線スイッチ対を構成し、ＰＲＳｃｆｇ＜１＞とＰＲＳｃｔｘ＜１＞が電気的に直列に接続され、他の配線スイッチ対を構成している。これら配線スイッチ対は、ＩＮｐｒｓ＿ＬとＯＵＴｐｒｓ＿Ｌ間に並列に電気的に接続されている。
【００６２】
＜ＰＬＥ＞
図９に、ＰＬＥの回路構成を示す。図９に示すＰＬＥは、ＰＰＳ、ＰＬＥｃｏｒｅ、およびコンフィギュレーションメモリ・ブロック（ＣＭＢ）を有する。ＰＬＥにＰＰＳを設けることで、細粒度パワーゲーティングが可能である。
【００６３】
ＰＬＥｃｏｒｅは、５の２入力ＥＸＯＲ、ＬＵＴ、複数のＭＵＸ、２のＳＥＬ、レジスタ、および複数のメモリ回路（ＭＭ）、４の入力ノード（ＩＮｐｌｅ＿Ｌ＜０＞−ＩＮｐｌｅ＿Ｌ＜３＞）、１の出力ノードＯＵＴｐｌｅ＿Ｌを有する。ＭＭはＭＯｃｍ（ＯＳトランジスタ）とＣＭＢとで構成され、コンフィギュレーションデータおよびコンテキスト・データを記憶する。Ｗｃｍ＿ＨはＭＯｃｍの制御信号である。
【００６４】
細粒度パワーゲーティングのため、レジスタには揮発性レジスタ（ＶＲ）とシャドウ・レジスタ（ＳＲ）が設けられている。ＳＲは、ＶＲのデータをバックアップするための不揮発性レジスタであり、ストア用トランジスタ（ＯＳトランジスタ）、ロード用トランジスタ、および容量素子を含む。ストア用トランジスタと容量素子とにより不揮発性アナログメモリが構成される。
【００６５】
レジスタには各種制御信号が入力される。ＳＲにはｐｈ１、ｐｈ２とでなる２相クロック信号、ＷＳ＿Ｈ（ストア信号）、ＷＬ＿Ｈ（ロード信号）が入力される。ｐｈ１、ｐｈ２はＯＳ  ＦＰＧＡに設けられているクロック生成装置で生成される。ＷＳ＿Ｈは、ＳＲにデータをバックアップするための動作（ストア動作）を制御する。ＷＳ＿Ｈは外部から入力される。ＷＬ＿ＨはＳＲからＶＲへデータを書き戻す動作（ロード動作）を制御する。ＷＬ＿Ｈは、ＨＶＤＤドメインに属するノーマリ・オフ・コントローラで生成される。
【００６６】
ストア用トランジスタをＷＳ＿Ｈによってオーバードライブすることで、バックアップデータ電位のＶｔｈ落ちを回避する。また、ＷＬ＿Ｈでオーバードライブされることで、ロード用トランジスタは、ＶＲ内のデータ保持用インバータラッチよりも高いオン電流を持つため、確実なデータのストア、およびロードが可能となる。
【００６７】
＜ＣＭＢ＞
ＣＭＢは、プログラム可能な接地接続（ＰＧＣ、Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇｒｏｕｎｄ  Ｃｏｎｎｅｃｔｉｏｎ）を用いた接地電位供給回路と、プリチャージ回路とを有する。ＰＧＣは図８のＰＲＳと同じ回路構成を持つ。ＣＭＢにおいては、入力ノード（ＩＮｐｒｓ＿Ｌ）が接地接続され、出力ノード（ＯＵＴｐｒｓ＿Ｌ）がプリチャージ回路の入力ノード（Ｎｐｃ）に電気的に接続されている。プリチャージ回路は、２のｐｃｈ−Ｓｉトランジスタと１のインバータで構成されているダイナミックロジック回路である。Ｗｐｃ＿ＨはＮｐｃのプリチャージ動作を制御する信号であり、コンテキスト・コントローラで生成される。
【００６８】
図１０にＣＭＢのタイミングチャートを示す。Ｗｐｃ＿Ｈが“Ｈ”である期間はＣＭＢ（プリチャージ回路）のプリチャージ期間であり、Ｗｐｃ＿Ｈが“Ｌ”である期間はＣＭＢ（プリチャージ回路）の評価期間である。プリチャージ動作後に、コンフィギュレーションデータ（Ｄｃｆｇ＿Ｈ）及び選択されたコンテキストに依存して、ＣＭＢはＮｐｃのＬＶＤＤ電位を維持もしくは放電する。コンテキスト切り替え動作時に、ＣＭＢは出力データを更新する（リフレッシュする）。コンフィギュレーション・モードでは、ＨＶＤＤドメイン全体に電源が供給され、コンテキスト切り替えモードでは、コンテキスト・コントローラのみに電源が供給される。ユーザ動作モードでは、ＨＶＤＤドメインの回路は動作する必要がないので、パワーゲーティングにより電源オフにされる。
【００６９】
＜ＯＳ  ＦＰＧＡの状態遷移＞
図１１（Ａ）にＯＳ  ＦＰＧＡの状態遷移図を示し、図１１（Ｂ）にＯＳ  ＦＰＧＡの各動作状態の一覧表を示す。ＯＳ  ＦＰＧＡは、コンフィギュレーション・モード、ユーザ動作モード、コンテキスト切り替えモード、更新モードの４つの動作状態を遷移する。以下、４つの動作状態について説明する。
【００７０】
コンフィギュレーション・モードでは、起動（電源オン）時もしくはシステムリセット時に、コンフィギュレーションデータを全てのコンフィギュレーションメモリに書き込み、全てのドメインに電源が供給される。
【００７１】
ユーザ動作モードでは、プログラム可能な領域において、コンテキストで選択されたコンフィギュレーションデータによって設定される回路動作が実行され、ＬＶＤＤドメインのみに電源が供給される。パワーゲーティングによって、コンフィギュレーション・コントローラ、コンテキスト・コントローラへの電源（ＨＶＤＤｃｆｇ、ＨＶＤＤｃｔｘ）の供給は停止される。
【００７２】
コンテキスト切り替えモードでは、プログラム可能な領域における回路動作は停止し、コンテキスト・コントローラ、およびＬＶＤＤドメインに電源（ＨＶＤＤｃｔｘ、ＬＶＤＤ）が供給される。ＰＬＥ、ＰＲＳのコンテキスト・メモリにコンテキスト・データを書き込んだ後は、パワーゲーティングにより、コンテキスト・コントローラへの電源（ＨＶＤＤｃｔｘ）供給は再び停止されてもよい。ユーザ動作モードからコンテキスト切り替えモードを経てユーザ動作モードに戻る遷移、すなわち、コンテキストの切り替えは、１クロックで可能である。
【００７３】
更新モードでは、選択されていないコンテキストに対応するコンフィギュレーションメモリのコンフィギュレーションデータを更新する動作を行い、ユーザ動作モードのコンフィギュレーション領域の回路動作を継続し、コンフィギュレーション・コントローラ、およびＬＶＤＤドメインに電源（ＨＶＤＤｃｆｇ、ＬＶＤＤ）を供給する。
【００７４】
ユーザ動作モード、コンテキスト切り替えモード、更新モードでは、ＨＶＤＤドメインの回路がパワーゲーティング中であっても、ＰＬＥ及びＰＲＳ内のコンフィギュレーションメモリ、ＰＲＳ内のコンテキスト・メモリはデータを保持できるため、電力を消費せずに回路機能を維持する。また、ＩＯドメインには、内部信号をモニターする必要があるときに、電源（ＩＯＶＤＤ）を供給すればよい。
【００７５】
（実施の形態３）
本実施の形態では、図９におけるＣＭＢに用いられるコンフィギュレーションメモリの構成例について、図１２〜図１６を用いて説明する。
【００７６】
コンフィギュレーションメモリは、コンフィギュレーションデータを記憶する機能を有する記憶回路を有する。コンフィギュレーションメモリが有する記憶回路は、揮発性であっても不揮発性であってもよい。揮発性の記憶回路としては、例えば、ＳＲＡＭなどが挙げられる。また、不揮発性の記憶回路としては、例えば、フラッシュメモリ、強誘電体メモリ（ＦｅＲＡＭ）、磁気抵抗メモリ（ＭＲＡＭ）、相変化メモリ（ＰＲＡＭ）、抵抗変化型メモリ（ＲｅＲＡＭ）などが挙げられる。
【００７７】
ここで、記憶回路として、ＯＳトランジスタ有する回路を用いることが好ましい。酸化物半導体（ＯＳ）は、シリコンなどの半導体よりもバンドギャップが広く、また、キャリア密度を低くすることができる。そのため、ＯＳトランジスタのオフ電流は極めて小さい。よって、コンフィギュレーションメモリにＯＳトランジスタを用いることにより、コンフィギュレーションデータを極めて長期間にわたって保持することができる。また、以下に述べるように、ＯＳトランジスタを用いることによりコンフィギュレーションメモリの面積の縮小を図ることができる。
【００７８】
＜コンフィギュレーションメモリの構成例１＞
図１２（Ａ）に、コンフィギュレーションメモリに用いることができる記憶回路の構成例を示す。記憶回路３００は、複数の回路３１０を有する。なお、図１２（Ａ）には一例として、２つの回路３１０（回路３１０［０］、［１］）を示しているが、回路３１０の個数はこれに限られない。回路３１０に所定のコンフィギュレーションデータを格納することにより、配線ＩＮと配線ＯＵＴの間の接続状態を制御することができる。そのため、記憶回路３００は上述のＰＬＥに適用することができる。
【００７９】
回路３１０は、トランジスタ３１１、３１２、３１３、容量素子３１４を有する。ここではトランジスタ３１１、３１２、３１３をｎチャネル型としているが、これらのトランジスタはそれぞれｐチャネル型であってもよい。
【００８０】
トランジスタ３１１のゲートは配線ＷＬと接続され、ソース又はドレインの一方はトランジスタ３１２のゲートおよび容量素子３１４の一方の電極と接続され、ソース又はドレインの他方は配線ＢＬと接続されている。トランジスタ３１２のソース又はドレインの一方は配線ＩＮと接続され、ソース又はドレインの他方はトランジスタ３１３のソース又はドレインの一方と接続されている。トランジスタ３１３のゲートは配線ＣＴＸと接続され、ソース又はドレインの他方は配線ＯＵＴと接続されている。容量素子３１４の他方の電極は、所定の電位が供給される配線と接続されている。ここで、トランジスタ３１１のソース又はドレインの一方、トランジスタ３１２のゲート、および容量素子３１４の一方の電極と接続されたノードを、ノードＮ１とする。
【００８１】
次に、回路３１０の動作について説明する。まず、配線ＷＬの電位を制御してトランジスタ３１１をオン状態とする。これにより、配線ＢＬの電位がノードＮ１に与えられる（コンフィギュレーションデータの書き込み）。
【００８２】
その後、配線ＷＬの電位を制御してトランジスタ３１１をオフ状態とする。これにより、ノードＮ１が浮遊状態となり、ノードＮ１の電位が保持される（コンフィギュレーションデータの保持）。ここで、配線ＩＮと配線ＯＵＴ間に設けられたトランジスタ３１２の導通状態は、ノードＮ１の電位によって決定される。そのため、ノードＮ１の電位を制御することにより配線ＩＮと配線ＯＵＴ間の導通状態を制御することができる。このような回路３１０を有する記憶回路３００は、配線間の導通状態を制御するスイッチとしての機能を有するため、ＰＬＥのコンフィギュレーションメモリに用いることができる。記憶回路３００をＰＬＥのコンフィギュレーションメモリに用いる場合、配線ＩＮと配線ＯＵＴはそれぞれ、ＩＯ又はＰＬＥと接続される。
【００８３】
なお、記憶回路３００は回路３１０［０］及び回路３１０［１］を有し、両者は配線ＯＵＴを共有している。そして、配線ＣＴＸ［０］、［１］に所定の電位を供給することにより、回路３１０［０］又は回路３１０［１］の一方を選択することができる。これにより、記憶回路３００をマルチコンテキスト方式のコンフィギュレーションメモリとして用いることができる。
【００８４】
具体的には、Ｃｏｎｔｅｘｔ［０］を選択する場合、配線ＣＴＸ［０］を制御して回路３１０［０］のトランジスタ３１３をオン状態とする。また、配線ＣＴＸ［１］を制御して回路３１０［１］のトランジスタ３１３をオフ状態とする。これにより、配線ＩＮと配線ＯＵＴ間の導通状態は、回路３１０［０］のノードＮ１の電位によって制御される。一方、Ｃｏｎｔｅｘｔ［１］を選択する場合は、配線ＣＴＸ［０］を制御して回路３１０［０］のトランジスタ３１３をオフ状態とする。また、配線ＣＴＸ［１］を制御して回路３１０［１］のトランジスタ３１３をオン状態とする。これにより、配線ＩＮと配線ＯＵＴ間の導通状態は、回路３１０［１］のノードＮ１の電位によって制御される。このように、配線ＣＴＸ［０］、［１］の電位を制御することにより、配線ＩＮと配線ＯＵＴの間の導通状態を制御するコンテキストを選択することができる。
【００８５】
ここで、トランジスタ３１１はＯＳトランジスタであり、オフ電流が極めて小さい。そのため、トランジスタ３１１をオフ状態である期間において、ノードＮ１の電位を長時間にわたって維持することができる。これにより、コンフィギュレーションデータの更新の頻度を大幅に減らすことができ、ＦＰＧＡ３０の消費電力を削減することができる。また、回路３１０への電力の供給が停止された期間においても、コンフィギュレーションデータを長期間保持することができる。
【００８６】
また、ＯＳトランジスタを用いることにより、少ないトランジスタ数（回路３１０においては３個）で回路３１０を構成することができる。これにより、ＦＰＧＡ３０の面積を縮小することができる。また、ＯＳトランジスタは他のトランジスタ上に積層することができる。そのため、トランジスタ３１１をトランジスタ３１２又はトランジスタ３１３上に積層し、回路３１０の面積を縮小することができる。これにより、ＦＰＧＡ３０の面積をさらに縮小することができる。
【００８７】
また、ＦＰＧＡ３０にマルチコンテキスト方式を用いることができる。この場合、コンフィギュレーションメモリには複数のコンテキストに対応するコンフィギュレーションデータを格納する必要があるため、コンフィギュレーションメモリの面積が大幅に増大する可能性がある。しかしながら、上記の通りＯＳトランジスタを有する記憶回路３００を用いることにより、コンフィギュレーションメモリの面積の増加を抑えることができる。そのため、ＯＳトランジスタをマルチコンテキスト方式のＦＰＧＡ３０に用いることは特に好ましい。
【００８８】
なお、図１２（Ａ）において、ＯＳトランジスタ以外のトランジスタの材料は特に限定されない。例えば、チャネル形成領域が単結晶半導体を有する基板の一部に形成されるトランジスタ（以下、単結晶トランジスタともいう）を用いてもよい。単結晶半導体を有する基板としては、単結晶シリコン基板や単結晶ゲルマニウム基板などがあげられる。単結晶トランジスタは高速な動作が可能であるため、記憶回路に単結晶トランジスタを用いることにより、記憶回路の動作速度を向上させることができる。また、ＯＳトランジスタ以外のトランジスタには、酸化物半導体以外の半導体を含む膜にチャネル形成領域が形成されるトランジスタを用いることもできる。酸化物半導体以外の半導体としては、シリコン、ゲルマニウム、シリコンゲルマニウム、炭化シリコン、ガリウムヒ素、アルミニウムガリウムヒ素、インジウムリン、窒化ガリウム、有機半導体などがあげられる。これらの半導体は、単結晶半導体であってもよいし、非晶質半導体、微結晶半導体、多結晶半導体などの非単結晶半導体であってもよい。これらのトランジスタは、以下の説明におけるＯＳトランジスタ以外のトランジスタにも用いることができる。
【００８９】
また、図１２（Ｂ）に、回路３１０の他の構成例を示す。図１２（Ｂ）に示す回路３１０は、図１２（Ａ）における容量素子３１４の代わりに回路３１５が設けられた構成を有する。回路３１５はインバータループを構成しており、ノードＮ１の電位は回路３１５によってハイレベル又はローレベルに維持される。なお、トランジスタ３１１には上記のＯＳトランジスタ以外のトランジスタを用いることができる。この場合、回路３１０は揮発性となる。
【００９０】
＜コンフィギュレーションメモリの構成例２＞
図１３に、コンフィギュレーションメモリに用いることができる他の記憶回路の構成例を示す。記憶回路４００は回路４１０を有する。なお、図１３には一例として、２つの回路４１０（回路４１０［０］、［１］）を示しているが、回路４１０の個数はこれに限られない。
【００９１】
回路４１０は、トランジスタ４１１、４１２、容量素子４１３、トランジスタ４１４、４１５、容量素子４１６、トランジスタ４１７を有する。ここでは、トランジスタ４１１、４１２、４１４、４１５、４１７をｎチャネル型としているが、トランジスタ４１１、４１２、４１４、４１５、４１７はそれぞれｐチャネル型であってもよい。
【００９２】
トランジスタ４１１のゲートは配線ＷＬと接続され、ソース又はドレインの一方はトランジスタ４１２のゲートおよび容量素子４１３の一方の電極と接続され、ソース又はドレインの他方は配線ＢＬと接続されている。トランジスタ４１２のソース又はドレインの一方は所定の電位（ここでは高電源電位ＶＤＤ）が供給される配線と接続され、ソース又はドレインの他方はトランジスタ４１７のソース又はドレインの一方と接続されている。容量素子４１３の他方の電極は、所定の電位が供給される配線と接続されている。また、トランジスタ４１４のゲートは配線ＷＬと接続され、ソース又はドレインの一方はトランジスタ４１５のゲートおよび容量素子４１６の一方の電極と接続され、ソース又はドレインの他方は配線ＢＬｂと接続されている。トランジスタ４１５のソース又はドレインの一方は所定の電位（ここでは低電源電位ＶＳＳ、例えば接地電位）が供給される配線と接続され、ソース又はドレインの他方はトランジスタ４１７のソース又はドレインの一方と接続されている。容量素子４１６の他方の電極は、所定の電位が供給される配線と接続されている。トランジスタ４１７のゲートは配線ＣＴＸと接続され、ソース又はドレインの他方は配線ＯＵＴと接続されている。
【００９３】
ここで、トランジスタ４１１のソース又はドレインの一方、トランジスタ４１２のゲート、および容量素子４１３の一方の電極と接続されたノードを、ノードＮ２とする。また、トランジスタ４１４のソース又はドレインの一方、トランジスタ４１５のゲート、および容量素子４１６の一方の電極と接続されたノードを、ノードＮ３とする。なお、配線ＢＬｂには、配線ＢＬに供給される信号の反転信号が供給される。
【００９４】
ノードＮ２又はノードＮ３の一方にはハイレベルの電位、他方にはローレベルの電位が、コンフィギュレーションデータとして格納される。そのため、トランジスタ４１２又はトランジスタ４１５の一方はオン状態となり、他方はオフ状態となる。よって、ハイレベル又はローレベルの電位を配線ＯＵＴに選択的に供給することができる。このような回路４１０を有する記憶回路４００は、配線ＯＵＴに出力される論理値を制御する機能を有するため、ＰＬＥのコンフィギュレーションメモリに用いることができる。記憶回路４００をＰＬＥのコンフィギュレーションメモリに用いる場合、配線ＯＵＴは他の論理回路やＰＲＳなどに接続される。なお、ノードＮ２及びノードＮ３へのコンフィギュレーションデータの格納は、図１２（Ａ）の回路３１０と同様の動作により行うことができる。
【００９５】
なお、記憶回路３００は回路４１０［０］及び回路４１０［１］を有し、両者は配線ＯＵＴを共有している。そして、配線ＣＴＸ［０］、［１］に所定の電位を供給することにより、回路４１０［０］又は回路４１０［１］の一方を選択することができる。これにより、記憶回路３００をマルチコンテキスト方式のコンフィギュレーションメモリとして用いることができる。
【００９６】
具体的には、Ｃｏｎｔｅｘｔ［０］を選択する場合、配線ＣＴＸ［０］を制御して回路４１０［０］のトランジスタ４１７をオン状態とする。また、配線ＣＴＸ［１］を制御して回路４１０［１］のトランジスタ４１７をオフ状態とする。これにより、配線ＯＵＴの電位は、回路４１０［０］のノードＮ２及びノードＮ３の電位によって制御される。一方、Ｃｏｎｔｅｘｔ［１］を選択する場合は、配線ＣＴＸ［０］を制御して回路４１０［０］のトランジスタ４１７をオフ状態とする。また、配線ＣＴＸ［１］を制御して回路４１０［１］のトランジスタ４１７をオン状態とする。これにより、配線ＯＵＴの電位は、回路４１０［１］のノードＮ２及びノードＮ３の電位によって制御される。このように、配線ＣＴＸ［０］、［１］の電位を制御することにより、配線ＯＵＴの電位を制御するコンテキストを選択することができる。
【００９７】
回路４１０には、トランジスタ４１１、４１４としてＯＳトランジスタが用いられている。そのため、回路４１０においても回路３１０と同様に、消費電力の削減及び面積の縮小を図ることができる。
【００９８】
また、記憶回路４００は、回路４２０を有していてもよい。回路４２０は、インバータ４２１、トランジスタ４２２を有する。インバータ４２１の入力端子は配線ＯＵＴと接続され、出力端子はトランジスタ４２２のゲートと接続されている。トランジスタ４２２のソース又はドレインの一方は配線ＯＵＴと接続され、他方は所定の電位が供給される配線（ここでは高電源電位ＶＤＤ）と接続されている。回路４２０は、配線ＯＵＴの電位を保持する機能を有しており、配線ＯＵＴがフロート状態となることを防ぐことができる。これにより、配線ＯＵＴの電位が中間電位になるのを防ぐことができ、配線ＯＵＴと接続された回路素子における貫通電流の発生を防止することができる。
【００９９】
また、図１４に回路４１０の他の構成例を示す。図１４（Ａ）に示す回路４１０は、図１０における容量素子４１３、４１６の代わりに回路４１８、４１９が設けられた構成を有する。回路４１８、４１９はインバータループを構成しており、ノードＮ２の電位は回路４１８によって、ノードＮ３の電位は回路４１９によって、それぞれハイレベル又はローレベルに維持される。なお、トランジスタ４１１、４１４には上記のＯＳトランジスタ以外のトランジスタを用いることができる。この場合、回路４１０は揮発性となる。
【０１００】
また、図１３、図１４（Ａ）においては、トランジスタ４１１のゲートとトランジスタ４１４のゲートは同一の配線ＷＬと接続されているが、異なる配線と接続されていてもよい。トランジスタ４１１のゲートが配線ＷＬａと接続され、トランジスタ４１４のゲートが配線ＷＬｂと接続されている構成を、図１４（Ｂ）に示す。
【０１０１】
＜コンフィギュレーションメモリの構成例３＞
コンフィギュレーションメモリには、揮発性メモリとＯＳトランジスタを組み合わせた回路を用いることもできる。このような記憶回路の構成例を図１５に示す。記憶回路５００の構成例を示す。記憶回路５００は、回路５１０、回路５２０を有する。なお、記憶回路５００は例えば、図１２（Ｂ）におけるトランジスタ３１１及び回路３１５、又は、図１４（Ａ）におけるトランジスタ４１１及び回路４１８、又は、図１４（Ａ）におけるトランジスタ４１４及び回路４１９として用いることができる。
【０１０２】
回路５１０は、トランジスタ５１１乃至５１６を有する。トランジスタ５１１、５１２、５１５、５１６はｎチャネル型であり、トランジスタ５１３、５１４はｐチャネル型である。なお、トランジスタ５１１、５１２はそれぞれ、ｎチャネル型であってもｐチャネル型であってもよい。
【０１０３】
トランジスタ５１１のゲートは配線ＷＬと接続され、ソース又はドレインの一方はトランジスタ５１３のソース又はドレイン一方、トランジスタ５１５のソース又はドレイン一方、トランジスタ５１４のゲート、トランジスタ５１６のゲートと接続され、ソース又はドレインの他方は配線ＢＬと接続されている。トランジスタ５１２のゲートは配線ＷＬと接続され、ソース又はドレインの一方はトランジスタ５１４のソース又はドレイン一方、トランジスタ５１６のソース又はドレイン一方、トランジスタ５１３のゲート、トランジスタ５１５のゲートと接続され、ソース又はドレインの他方は配線ＢＬｂと接続されている。トランジスタ５１３のソース又はドレインの他方、トランジスタ５１４のソース又はドレインの他方は、それぞれ所定の電位（ここでは高電源電位ＶＤＤ）が供給される配線と接続されている。トランジスタ５１５のソース又はドレインの他方、トランジスタ５１６のソース又はドレインの他方は、それぞれ所定の電位（ここでは低電源電位ＶＳＳ）が供給される配線と接続されている。なお、トランジスタ５１３のゲートおよびトランジスタ５１５のゲートと接続されたノードをノードＮ５とし、トランジスタ５１４のゲートおよびトランジスタ５１６のゲートと接続されたノードをノードＮ４とする。
【０１０４】
このように、回路５１０は揮発性のＳＲＡＭセルを構成している。また、ノードＮ４およびノードＮ５は、コンフィギュレーションデータを保持するノードに対応する。
【０１０５】
回路５２０は、トランジスタ５２１、５２２、容量素子５２３、５２４を有する。ここで、トランジスタ５２１、５２２はＯＳトランジスタである。
【０１０６】
トランジスタ５２１のゲートは配線ＷＥと接続され、ソース又はドレインの一方は容量素子５２３の一方の電極と接続され、ソース又はドレインの他方はノードＮ５と接続されている。トランジスタ５２２のゲートは配線ＷＥと接続され、ソース又はドレインの一方は容量素子５２４の一方の電極と接続され、ソース又はドレインの他方はノードＮ４と接続されている。容量素子５２３の他方の電極および容量素子５２４の他方の電極はそれぞれ、所定の電位が供給される配線と接続されている。所定の電位が供給される配線は、高電位電源線であっても低電位電源線（接地線など）であってもよい。また、電位の切り替えが可能な配線であってもよい。なお、トランジスタ５２１のソース又はドレインの一方および容量素子５２３の一方の電極と接続されたノードをノードＮ６とし、トランジスタ５２２のソース又はドレインの一方および容量素子５２４の一方の電極と接続されたノードをノードＮ７とする。
【０１０７】
記憶回路５００においてデータが保持されるノードに相当するノードＮ４は、ＯＳトランジスタであるトランジスタ５２２を介してノードＮ７と接続されている。また、記憶回路５００においてデータが保持されるノードに相当するノードＮ５は、ＯＳトランジスタであるトランジスタ５２１を介してノードＮ６と接続されている。これにより、ＳＲＡＭセルを構成する回路５１０に保持されたデータを、ノードＮ６およびノードＮ７に退避させることができる。また、退避させたデータを再度、回路５１０に復帰させることができる。
【０１０８】
具体的には、回路５１０においてデータの読み書きが行われない期間において、配線ＷＥの電位をハイレベルとすることにより、トランジスタ５２１、５２２をオン状態とし、ノードＮ４に保持されたデータをノードＮ７に退避させ、ノードＮ５に保持されたデータをノードＮ６に退避させることができる。その後、配線ＷＥの電位をローレベルとすることにより、トランジスタ５２１、５２２をオフ状態とし、ノードＮ６、Ｎ７の電位を保持する。また、配線ＷＥの電位を再度ハイレベルとし、トランジスタ５２１、５２２をオン状態とすることにより、ノードＮ６、Ｎ７に退避させたデータをノードＮ４、Ｎ５に復帰させることができる。なお、データを退避する際には高電源電位ＶＤＤを高くし、データを復帰させる際には高電源電位ＶＤＤを低くすることで、より安定したデータ退避、復帰が可能となる。
【０１０９】
ここで、トランジスタ５２１、５２２はＯＳトランジスタであり、オフ電流が極めて小さい。そのため、トランジスタ５２１、５２２がオフ状態であるとき、ノードＮ６の電位とノードＮ７の電位を長期間にわたって保持することができる。従って、記憶回路５００への電力の供給が停止される直前に、ノードＮ４、Ｎ５に保持されたデータをノードＮ６、Ｎ７に退避させることにより、記憶回路５００への電力の供給が停止した場合であっても、記憶回路５００に記憶されたデータを保持することが可能となる。そして、記憶回路５００への電力の供給が再開された後、ノードＮ６、Ｎ７に保持されたデータをノードＮ４、Ｎ５に復帰させることができる。
【０１１０】
なお、記憶回路５００はＳＲＡＭセルを構成するため、トランジスタ５１１乃至５１６には高速動作が要求される。そのため、トランジスタ５１１乃至５１６にはチャネル形成領域にシリコンを有するトランジスタ（以下、Ｓｉトランジスタともいう）などを用いることが好ましい。
【０１１１】
また、記憶回路５００に電力が供給され、回路５１０がＳＲＡＭセルとして動作している期間においては、トランジスタ５２１、５２２はオフ状態とすることが好ましい。これにより、回路５１０の高速な動作の阻害を防止することができる。
【０１１２】
なお、図１５においては、回路５２０がトランジスタ５２１、５２２、容量素子５２３、５２４を有する例を示したが、トランジスタ５２１および容量素子５２３を省略した構成としてもよいし、トランジスタ５２２および容量素子５２４を省略した構成としてもよい。
【０１１３】
また、図１５においては回路５２０に揮発性のメモリセルである６トランジスタ型のＳＲＡＭセルを用いたが、これに限定されず、回路５２０として他の揮発性のメモリセルを用いてもよい。他の揮発性メモリセルを用いた場合であっても、図１２に示すようにＯＳトランジスタおよび容量素子を接続することにより、データの退避及び復帰が可能となる。
【０１１４】
以上のように、記憶回路５００において、回路５１０に格納されたデータを回路５２０に退避させて保持することにより、記憶回路５００への電力の供給が行われない期間においてもデータを保持することができる。また、電力の供給が再開された後、回路５２０に保持されたデータを回路５１０に復帰させることができる。そのため、データの保持期間において記憶回路５００への電力の供給を停止することができ、消費電力を低減することができる。
【０１１５】
また、ＯＳトランジスタは、Ｓｉトランジスタ上に積層することができる。そのため、回路５２０を回路５１０上に積層することができる。従って、記憶回路５００の面積の増加を抑えることができる。
【０１１６】
＜コンフィギュレーションメモリの構成例４＞
本実施の形態で説明したＯＳトランジスタは、一対のゲートを有していてもよい。図１２における回路３１０を例として、ＯＳトランジスタに一対のゲートが設けられた構成を図１３に示す。なお、トランジスタが一対のゲートを有する場合、一方のゲートをフロントゲート又は単にゲートと呼び、他方のゲートをバックゲートと呼ぶことができる。
【０１１７】
図１６（Ａ）に示すトランジスタ３１１はバックゲートを有し、バックゲートはフロントゲートと接続されている。この場合、フロントゲートの電位とバックゲートの電位は等しくなる。
【０１１８】
図１６（Ｂ）に示すトランジスタ３１１は、バックゲートが配線ＢＧＬと接続されている。配線ＢＧＬは、バックゲートに所定の電位を供給する機能を有する配線である。配線ＢＧＬの電位を制御することにより、トランジスタ３１１の閾値電圧を制御することができる。また、配線ＢＧＬは同一の行の回路３１０において共有されている。
【０１１９】
なお、図１６においては、一例として回路３１０が有するトランジスタ３１１にバックゲートを設けた構成を示したが、本実施の形態におけるＯＳトランジスタにはいずれも、図１６同様にバックゲートを設けることができる。
【０１２０】
上記のように、本発明の一態様においては、ＯＳトランジスタをコンフィギュレーションメモリに用いることにより、ＰＬＤの面積の縮小及び消費電力の低減を実現することができる。
【０１２１】
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
【０１２２】
（実施の形態４）
本実施の形態では、本発明の一態様に係る半導体装置を用いたコンピュータについて説明する。
【０１２３】
図１７は、上記の半導体装置を有するコンピュータの構成例を示すブロック図である。コンピュータ６００は、入力装置６１０、出力装置６２０、ＣＰＵ６３０、ＦＰＧＡ６４０、記憶装置６５０を有する。ＣＰＵ６３０、ＢＵＳ６３６、ＰＭＵ６３５及びＦＰＧＡ６４０を含む装置が、上記実施の形態１における半導体装置１０に対応する。
【０１２４】
入力装置６１０は、コンピュータ６００の外部から入力されたデータを受信する機能を有する。出力装置６２０は、コンピュータ６００の外部にデータを出力する機能を有する。
【０１２５】
ＣＰＵ６３０は、制御装置６３１、演算装置６３２、記憶装置６３３、記憶装置６３４を有する。なお、ＣＰＵ６３０は上記実施の形態におけるＣＰＵ２０に相当する。
【０１２６】
制御装置６３１は、入力装置６１０、出力装置６２０、記憶装置６５０に、それらの装置を制御するための制御信号を出力する機能を有する。演算装置６３２は、入力されたデータに対する演算を行う機能を有する。記憶装置６３３は、演算装置６３２が演算に用いるデータを保持する機能を有する。記憶装置６３３は、レジスタとしての機能を有する。記憶装置６３４は、キャッシュメモリとしての機能を有する。
【０１２７】
ＦＰＧＡ６４０は、上記実施の形態におけるＦＰＧＡ３０に相当する。ＣＰＵ６３０はＦＰＧＡ６４０を制御する機能を有し、ＣＰＵ６３０において行われる処理の一部を、ＦＰＧＡ６４０に実行させることができる。また、記憶装置６５０は主記憶装置としての機能を有する。
【０１２８】
記憶装置６３４は記憶装置６５０よりも高速なアクセスが可能であり、記憶装置６３４を設けることによりＣＰＵ６３０の処理速度を向上させることができる。記憶装置６３４として、例えば図５における記憶回路６０を用いることができる。すなわち、記憶回路６０をキャッシュメモリとして用いることができる。記憶装置６５０は半導体装置１０の内部に設けることができる。
【０１２９】
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
【０１３０】
（実施の形態５）
本実施の形態では、半導体装置を用いた電子機器の一例について説明する。
【０１３１】
＜電子部品の作製方法例＞
図１８（Ａ）は、電子部品の作製方法例を示すフローチャートである。電子部品は、半導体パッケージ、またはＩＣ用パッケージともいう。この電子部品は、端子取り出し方向や、端子の形状に応じて、複数の規格や名称が存在する。そこで、本実施の形態では、その一例について説明することにする。
【０１３２】
トランジスタで構成される半導体装置は、組み立て工程（後工程）を経て、プリント基板に脱着可能な部品が複数合わさることで完成する。後工程については、図１８（Ａ）に示す各工程を経ることで完成させることができる。具体的には、前工程で得られる素子基板が完成（ステップＳＴ７１）した後、基板の裏面を研削する。この段階で基板を薄膜化して、前工程での基板の反り等を低減し、部品の小型化を図る。次に、基板を複数のチップに分離するダイシング工程を行う（ステップＳＴ７２）。
【０１３３】
図１８（Ｂ）は、ダイシング工程が行われる前の半導体ウエハ７１００の上面図である。図１８（Ｃ）は、図１８（Ｂ）の部分拡大図である。半導体ウエハ７１００には、複数の回路領域７１０２が設けられている。回路領域７１０２には、本発明の形態に係る半導体装置が設けられている。
【０１３４】
複数の回路領域７１０２は、それぞれが分離領域７１０４に囲まれている。分離領域７１０４と重なる位置に分離線（「ダイシングライン」ともいう）７１０６が設定される。ダイシング工程ＳＴ７２では、分離線７１０６に沿って半導体ウエハ７１００切断することで、回路領域７１０２を含むチップ７１１０を半導体ウエハ７１００から切り出す。図１８（Ｄ）にチップ７１１０の拡大図を示す。
【０１３５】
分離領域７１０４に導電層や半導体層を設けてもよい。分離領域７１０４に導電層や半導体層を設けることで、ダイシング工程時に生じうるＥＳＤを緩和し、ダイシング工程に起因する歩留まりの低下を防ぐことができる。また、一般にダイシング工程は、基板の冷却、削りくずの除去、帯電防止などを目的として、炭酸ガスなどを溶解させて比抵抗を下げた純水を切削部に供給しながら行なう。分離領域７１０４に導電層や半導体層を設けることで、当該純水の使用量を削減することができる。よって、半導体装置の生産コストを低減することができる。また、半導体装置の生産性を高めることができる。
【０１３６】
ステップＳＴ７２を行った後、分離したチップを個々にピックアップしてリードフレーム上に搭載し接合する、ダイボンディング工程を行う（ステップＳＴ７３）。ダイボンディング工程におけるチップとリードフレームとの接着方法は製品に適した方法を選択すればよい。例えば、接着は樹脂やテープによって行えばよい。ダイボンディング工程は、インターポーザ上にチップを搭載し接合してもよい。ワイヤーボンディング工程で、リードフレームのリードとチップ上の電極とを金属の細線（ワイヤー）で電気的に接続する（ステップＳＴ７４）。金属の細線には、銀線や金線を用いることができる。ワイヤーボンディングは、ボールボンディングとウェッジボンディングの何れでもよい。
【０１３７】
ワイヤーボンディングされたチップは、エポキシ樹脂等で封止される、モールド工程が施される（ステップＳＴ７５）。モールド工程を行うことで電子部品の内部が樹脂で充填され、機械的な外力による内蔵される回路部やワイヤーに対するダメージを低減することができ、また水分や埃による特性の劣化を低減することができる。リードフレームのリードをメッキ処理する。そしてリードを切断及び成形加工する（ステップＳＴ７６）。めっき処理によりリードの錆を防止し、後にプリント基板に実装する際のはんだ付けをより確実に行うことができる。パッケージの表面に印字処理（マーキング）を施す（ステップＳＴ７７）。検査工程（ステップＳＴ７８）を経て、電子部品が完成する（ステップＳＴ７９）。上掲した実施の形態の半導体装置を組み込むことで、低消費電力で、小型な電子部品を提供することができる。
【０１３８】
完成した電子部品の斜視模式図を図１８（Ｅ）に示す。図１８（Ｅ）では、電子部品の一例として、ＱＦＰ（Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ）の斜視模式図を示している。図１８（Ｅ）に示すように、電子部品７０００は、リード７００１及びチップ７１１０を有する。
【０１３９】
電子部品７０００は、例えばプリント基板７００２に実装される。このような電子部品７０００が複数組み合わされて、それぞれがプリント基板７００２上で電気的に接続されることで電子機器に搭載することができる。完成した回路基板７００４は、電子機器等の内部に設けられる。電子部品７０００を搭載することで、電子機器の消費電力を削減することができる。または、電子機器を小型化することが容易になる。
【０１４０】
電子部品７０００は、デジタル信号処理、ソフトウェア無線、アビオニクス（通信機器、航法システム、自動操縦装置、飛行管理システム等の航空に関する電子機器）、ＡＳＩＣのプロトタイピング、医療用画像処理、音声認識、暗号、バイオインフォマティクス（生物情報科学）、機械装置のエミュレータ、および電波天文学における電波望遠鏡等、幅広い分野の電子機器の電子部品（ＩＣチップ）に適用することが可能である。このような電子機器としては、カメラ（ビデオカメラ、デジタルスチルカメラ等）、表示装置、パーソナルコンピュータ（ＰＣ）、携帯電話、携帯型を含むゲーム機、携帯型情報端末（スマートフォン、タブレット型情報端末など）、電子書籍端末、ウエアラブル型情報端末（時計型、ヘッドマウント型、ゴーグル型、眼鏡型、腕章型、ブレスレット型、ネックレス型等）、ナビゲーションシステム、音響再生装置（カーオーディオ、デジタルオーディオプレイヤー等）、複写機、ファクシミリ、プリンタ、プリンタ複合機、現金自動預け入れ払い機（ＡＴＭ）、自動販売機、家庭用電化製品などが挙げられる。
【０１４１】
次いで、コンピュータ、携帯情報端末（携帯電話、携帯型ゲーム機、音響再生装置なども含む）、電子ペーパー、テレビジョン装置（テレビ、又はテレビジョン受信機ともいう）、デジタルビデオカメラなどの電子機器に、上述の電子部品を適用する場合について説明する。
【０１４２】
図１９（Ａ）は、携帯型の情報端末であり、筐体８０１、筐体８０２、第１の表示部８０３ａ、第２の表示部８０３ｂなどによって構成されている。筐体８０１と筐体８０２の少なくとも一方には、先の実施の形態に示す半導体装置が設けられている。そのため、低消費電力化が図られた携帯型の情報端末が実現される。
【０１４３】
なお、第１の表示部８０３ａはタッチ入力機能を有するパネルとなっており、例えば図１９（Ａ）の左図のように、第１の表示部８０３ａに表示される選択ボタン８０４により「タッチ入力」を行うか、「キーボード入力」を行うかを選択できる。選択ボタンは様々な大きさで表示できるため、幅広い世代の人が使いやすさを実感できる。ここで、例えば「キーボード入力」を選択した場合、図１９（Ａ）の右図のように第１の表示部８０３ａにはキーボード８０５が表示される。これにより、従来の情報端末と同様に、キー入力による素早い文字入力などが可能となる。
【０１４４】
また、図１９（Ａ）に示す携帯型の情報端末は、図１９（Ａ）の右図のように、第１の表示部８０３ａ及び第２の表示部８０３ｂのうち、一方を取り外すことができる。第２の表示部８０３ｂもタッチ入力機能を有するパネルとし、持ち運びの際、さらなる軽量化を図ることができ、一方の手で筐体８０２を持ち、他方の手で操作することができるため便利である。
【０１４５】
図１９（Ａ）に示す携帯型の情報端末は、様々な情報（静止画、動画、テキスト画像など）を表示する機能、カレンダー、日付又は時刻などを表示部に表示する機能、表示部に表示した情報を操作又は編集する機能、様々なソフトウェア（プログラム）によって処理を制御する機能、等を有することができる。また、筐体の裏面や側面に、外部接続用端子（イヤホン端子、ＵＳＢ端子など）、記録媒体挿入部などを備える構成としてもよい。
【０１４６】
また、図１９（Ａ）に示す携帯型の情報端末は、無線で情報を送受信できる構成としてもよい。無線により、電子書籍サーバから、所望の書籍データなどを購入し、ダウンロードする構成とすることも可能である。
【０１４７】
更に、図１９（Ａ）に示す筐体８０２にアンテナやマイク機能や無線機能を持たせ、携帯電話として用いてもよい。
【０１４８】
図１９（Ｂ）は、電子ペーパーを実装した電子書籍端末８１０であり、筐体８１１と筐体８１２の２つの筐体で構成されている。筐体８１１及び筐体８１２には、それぞれ表示部８１３及び表示部８１４が設けられている。筐体８１１と筐体８１２は、軸部８１５により接続されており、該軸部８１５を軸として開閉動作を行うことができる。また、筐体８１１は、電源８１６、操作キー８１７、スピーカー８１８などを備えている。筐体８１１、筐体８１２の少なくとも一には、実施の形態１に示す半導体装置が設けられている。そのため、低消費電力化が図られた電子書籍端末が実現される。
【０１４９】
図１９（Ｃ）は、テレビジョン装置であり、筐体８２１、表示部８２２、スタンド８２３などで構成されている。テレビジョン装置８２０の操作は、筐体８２１が備えるスイッチや、リモコン操作機８２４により行うことができる。筐体８２１及びリモコン操作機８２４には、実施の形態１に示す半導体装置が設けられている。そのため、低消費電力化が図られたテレビジョン装置が実現される。
【０１５０】
図１９（Ｄ）は、スマートフォンであり、本体８３０には、表示部８３１と、スピーカー８３２と、マイク８３３と、操作ボタン８３４等が設けられている。本体８３０内には、先の実施の形態に示す半導体装置が設けられている。そのため誤動作が少なく、低消費電力化が図られたスマートフォンが実現される。
【０１５１】
図１９（Ｅ）は、デジタルカメラであり、本体８４１、表示部８４２、操作スイッチ８４３などによって構成されている。本体８４１内には、実施の形態１に示す半導体装置が設けられている。そのため、低消費電力化が図られたデジタルカメラが実現される。
【０１５２】
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
【符号の説明】
【０１５３】
１０    半導体装置
２０    ＣＰＵ
３０    ＦＰＧＡ
４０    ＢＵＳ
５０    ＰＭＵ
６０    記憶回路
８０    トランジスタ構成
３００    記憶回路
３１０    回路
３１１    トランジスタ
３１２    トランジスタ
３１３    トランジスタ
３１４    容量素子
３１５    回路
４００    記憶回路
４１０    回路
４１１    トランジスタ
４１２    トランジスタ
４１３    容量素子
４１４    トランジスタ
４１５    トランジスタ
４１６    容量素子
４１７    トランジスタ
４１８    回路
４１９    回路
４２０    回路
４２１    インバータ
４２２    トランジスタ
５００    記憶回路
５１０    回路
５１１    トランジスタ
５１２    トランジスタ
５１３    トランジスタ
５１４    トランジスタ
５１５    トランジスタ
５１６    トランジスタ
５２０    回路
５２１    トランジスタ
５２２    トランジスタ
５２３    容量素子
５２４    容量素子
６００    コンピュータ
６１０    入力装置
６２０    出力装置
６３０    ＣＰＵ
６３１    制御装置
６３２    演算装置
６３３    記憶装置
６３４    記憶装置
６３５    ＰＭＵ
６３６    ＢＵＳ
６４０    ＦＰＧＡ
６５０    記憶装置
８０１    筐体
８０２    筐体
８０３ａ    表示部
８０３ｂ    表示部
８０４    選択ボタン
８０５    キーボード
８１０    電子書籍端末
８１１    筐体
８１２    筐体
８１３    表示部
８１４    表示部
８１５    軸部
８１６    電源
８１７    操作キー
８１８    スピーカー
８２０    テレビジョン装置
８２１    筐体
８２２    表示部
８２３    スタンド
８２４    リモコン操作機
８３０    本体
８３１    表示部
８３２    スピーカー
８３３    マイク
８３４    操作ボタン
８４１    本体
８４２    表示部
８４３    操作スイッチ
７０００    電子部品
７００１    リード
７００２    プリント基板
７００４    回路基板
７１００    半導体ウエハ
７１０２    回路領域
７１０４    分離領域
７１０６    分離線
【図１】
2019047405.tif 000003
【図２】
2019047405.tif 000004
【図３】
2019047405.tif 000005
【図４】
2019047405.tif 000006
【図５】
2019047405.tif 000007
【図６】
2019047405.tif 000008
【図７】
2019047405.tif 000009
【図８】
2019047405.tif 000010
【図９】
2019047405.tif 000011
【図１０】
2019047405.tif 000012
【図１１】
2019047405.tif 000013
【図１２】
2019047405.tif 000014
【図１３】
2019047405.tif 000015
【図１４】
2019047405.tif 000016
【図１５】
2019047405.tif 000017
【図１６】
2019047405.tif 000018
【図１７】
2019047405.tif 000019
【図１８】
2019047405.tif 000020
【図１９】
2019047405.tif 000021