JP2019047405A - 半導体装置、電子部品、および電子機器 - Google Patents
半導体装置、電子部品、および電子機器 Download PDFInfo
- Publication number
- JP2019047405A JP2019047405A JP2017170760A JP2017170760A JP2019047405A JP 2019047405 A JP2019047405 A JP 2019047405A JP 2017170760 A JP2017170760 A JP 2017170760A JP 2017170760 A JP2017170760 A JP 2017170760A JP 2019047405 A JP2019047405 A JP 2019047405A
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- transistor
- circuit
- task
- cpu
- 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.)
- Withdrawn
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000003672 processing method Methods 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 description 113
- 230000006870 function Effects 0.000 description 40
- 238000000034 method Methods 0.000 description 33
- 239000003990 capacitor Substances 0.000 description 32
- 238000000899 pressurised-fluid extraction Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 16
- VYVRIXWNTVOIRD-LRHBOZQDSA-N ciguatoxin CTX1B Chemical compound C([C@@]12[C@@H](C)[C@@H]([C@@H]3[C@H]([C@H]([C@H](C)[C@H]4O[C@H]5C[C@@H](C)C[C@H]6O[C@@]7(C)[C@H](O)C[C@H]8O[C@H]9C=C[C@H]%10O[C@H]%11C[C@@H]%12[C@H]([C@@H]([C@H]%13O[C@H](C=CC[C@@H]%13O%12)\C=C\[C@H](O)CO)O)O[C@@H]%11C=C[C@@H]%10O[C@@H]9C\C=C/C[C@@H]8O[C@@H]7C[C@@H]6O[C@@H]5C[C@@H]4O3)O)O2)C)[C@H](O)CO1 VYVRIXWNTVOIRD-LRHBOZQDSA-N 0.000 description 12
- 238000007667 floating Methods 0.000 description 11
- 239000000758 substrate Substances 0.000 description 10
- 239000013078 crystal Substances 0.000 description 8
- 238000000926 separation method Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 229920005989 resin Polymers 0.000 description 2
- 239000011347 resin Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- GPXJNWSHGFTCBW-UHFFFAOYSA-N Indium phosphide Chemical compound [In]#P GPXJNWSHGFTCBW-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- FTWRSWRBSVXQPI-UHFFFAOYSA-N alumanylidynearsane;gallanylidynearsane Chemical compound [As]#[Al].[As]#[Ga] FTWRSWRBSVXQPI-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000003822 epoxy resin Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 229920000647 polyepoxide Polymers 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- HBMJWWWQQXIZIP-UHFFFAOYSA-N silicon carbide Chemical compound [Si+]#[C-] HBMJWWWQQXIZIP-UHFFFAOYSA-N 0.000 description 1
- 229910010271 silicon carbide Inorganic materials 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
Images
Landscapes
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
- Thin Film Transistor (AREA)
- Logic Circuits (AREA)
Abstract
【課題】消費電力が低く、高速処理が可能なタスク処理方法を提供する。【解決手段】CPUと、第1のFPGAと、第2のFPGAと、PMU及びBUSを有し、PMUは前記CPU、第1のFPGA及び第2のFPGAと電気的に接続され、CPUと、第1のFPGA及び第2のFPGAはBUSを介して接続され、第1のFPGAは前記BUSを介して第2の回路とタスクの授受をする機能を有し、第1のFPGA及び第2のFPGAは酸化物半導体を有する。第1のFPGA及び第2のFPGAは入力されたタスクの進行段階を検知し、第1のFPGAからBUSを介して第2のFPGAへタスクを受け渡し、タスクを第1のFPGA及び第2のFPGAによって並列処理を行う。【選択図】図1
Description
本発明の一態様は、半導体装置、電子部品、および電子機器に関する。
なお、本発明の一態様は、上記の技術分野に限定されない。本明細書等で開示する発明の一態様は、物、方法、または、製造方法に関するものである。または、本発明の一態様は、プロセス、マシン、マニュファクチャ、または、組成物(コンポジション・オブ・マター)に関するものである。
なお、本明細書等において半導体装置とは、半導体特性を利用することで機能しうる装置全般を指す。表示装置(液晶表示装置、発光表示装置など)、投影装置、照明装置、電気光学装置、蓄電装置、記憶装置、半導体回路、撮像装置および電子機器などは、半導体装置を有すると言える場合がある。
プログラマブルロジックデバイス(PLD:Programmable Logic Device)は、複数のプログラマブルロジックエレメント(PLE:Programmable Logic Element)およびプログラマブルルーティングスイッチ(PRS:Programmable Routing Switch)を有する。PLDでは、各PLEの機能の情報や、PRSによるPLE間の接続構造の情報をコンフィギュレーションデータとして、コンフィギュレーションメモリ内に格納している。つまり、PLDの回路構成をコンフィギュレーションデータとして記憶している。
また、チャネルが酸化物半導体層に形成されるトランジスタ(以下、“酸化物半導体トランジスタ”、または“OSトランジスタ”と呼ぶ。)のオフ電流が極めて小さいことを利用して、様々なアプリケーションが提案されている。
例えば、特許文献1、非特許文献1では、酸化物半導体トランジスタのソース及びドレインの一方をパストランジスタのゲートに接続することで、パストランジスタのゲートにコンフィギュレーションデータに相当する電位を保持させる不揮発性のコンフィギュレーションメモリを備えたフィールドプログラマブルゲートアレイ(FPGA)が提案されている。これら文献に記載のFPGAは、細粒度パワーゲーティングや不揮発性コンフィギュレーションメモリによる待機時の低消費電力化、コンテキストによる低消費電力化と回路構成の高速切り替えが可能であるとされている。
T.Aoki et al.,"Normally−Off Computing with Crystalline InGaZnO−based FPGA,"IEEE ISSCC Dig.Tech.Papers,2014,pp.502―503.
深層学習(ディープラーニング)の処理や大規模データの処理の高速化の要求に伴い、様々な回路構造が提案されているが、さらなる処理速度の高速化や低消費電力化が求められている。また、深層学習を行う場合において、CNN(Convolution Neural Network)やLSTM(Long Short−Term Momory)等の異なる性質の処理を実行する場合でも高速化、低消費電力化が行える半導体装置及びタスクの処理方法が求められている。
本発明の一形態は、新規な半導体装置、または新規な半導体装置の動作方法を提供することを課題の一つとする。または、新規なタスク処理方法を提供することを課題とする。または、本発明の一形態は、消費電力を削減すること、低電圧駆動でも安定した動作を可能とすること、細粒度パワーゲーティングを可能とすること、電力効率を改善すること、低電力駆動と省電力化を両立すること等を課題の一つとする。
なお、複数の課題の記載は、互いの課題の存在を妨げるものではない。なお、本発明の一形態は、これらの課題の全て解決する必要はない。また、列記した以外の課題が、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、これらの課題も、本発明の一形態の課題となり得る。
本発明の一態様にかかる半導体装置は、CPUと、少なくとも第1のFPGAと、第2のFPGAと、PMUとBUSを有し、PMUはCPU、第1のFPGA及び第2のFPGAと電気的に接続され、CPUは、演算を行う機能及び、第1のFPGA及び第2のFPGAのコンフィギュレーションデータを変更する機能を有し、CPUと、第1のFPGA及び第2のFPGAは前記BUSを介して接続され、第1のFPGAはBUSを介して第2の回路とタスクの授受をする機能を有し、第1のFPGA及び第2のFPGAは酸化物半導体を有する。
本発明の一態様にかかる別の半導体装置は、CPUと、少なくとも第1のFPGAと、第2のFPGAと、PMU及びBUSを有し、PMUは前記CPU、第1のFPGA及び第2のFPGAと電気的に接続され、PMUはタスクの処理状況を検知し、CPU、第1のFPGA及びFPGAの電源をそれぞれ独立に制御する機能を有し、CPUは、演算を行う機能及び第1のFPGA及び第2のFPGAのコンフィギュレーションデータを変更する機能を有し、CPUと、前記第1のFPGA及び前記第2のFPGAは前記BUSを介して接続され、第1のFPGAは前記BUSを介して第2の回路とタスクの授受をする機能を有し、第1のFPGA及び前記第2のFPGAは酸化物半導体を有する。
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、第1のFPGA及び第2のFPGAは入力されたタスクの進行段階を検知し、第1のFPGAからBUSを介して第2のFPGAへ前記タスクを受け渡し、タスクを第1のFPGA及び第2のFPGAによって並列処理を行う、タスク処理方法である。
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、CPUは入力されたタスクを検知し、第1のFPGAへ第1のコンテキストに切り替える命令を出力し、第2のFPGAへ第2のコンテキストへ切り替える命令を出力し、第1のコンテキストと第2のコンテキストは異なる演算方法であり、タスクを第1のFPGA及び第2のFPGAによって並列処理を行う、タスク処理方法である。
また、本発明の別の一態様は、上記構成の半導体装置を用いたタスク処理方法であり、CPUは入力されたタスクを検知し、第1のFPGAへ第1のコンテキストに切り替える命令を出力し、第2のFPGAへ第2のコンテキストへ切り替える命令を出力し、第1のコンテキストと第2のコンテキストは異なる演算方法であり、第1のFPGA及び第2のFPGAは入力されたタスクの進行段階を検知し、第1のFPGAからBUSを介して第2のFPGAへ前記タスクを受け渡し、タスクを前記第1のFPGA及び第2のFPGAによって並列処理を行う、タスク処理方法である。
本発明の一形態によって、新規な半導体装置を提供することができる。また、本発明の一態様によって、新規な半導体装置の動作方法を提供することができる。または、本発明の一態様新規なタスク処理方法を提供することができる。または、本発明の一形態では、消費電力を削減すること、低電圧駆動でも安定した動作を可能とすること、細粒度パワーゲーティングを可能とすること、電力効率を改善すること、低電力駆動と省電力化を両立することができる。
なお、これらの効果の記載は、他の効果の存在を妨げるものではない。なお、本発明の一態様は、これらの効果の全てを有する必要はない。なお、これら以外の効果は、明細書、図面、請求項などの記載から、自ずと明らかとなるものであり、明細書、図面、請求項などの記載から、これら以外の効果を抽出することが可能である。
以下、実施の形態について図面を参照しながら説明する。但し、実施の形態は多くの異なる態様で実施することが可能であり、趣旨およびその範囲から逸脱することなくその形態および詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は、以下の実施の形態の記載内容に限定して解釈されるものではない。
なお本明細書等において、「第1」、「第2」、「第3」という序数詞は、構成要素の混同を避けるために付したものである。従って、構成要素の数を限定するものではない。また、構成要素の順序を限定するものではない。また例えば、本明細書等の実施の形態の一において「第1」に言及された構成要素が、他の実施の形態、あるいは特許請求の範囲において「第2」に言及された構成要素とすることもありうる。また例えば、本明細書等の実施の形態の一において「第1」に言及された構成要素を、他の実施の形態、あるいは特許請求の範囲において省略することもありうる。
なお図面において、同一の要素または同様な機能を有する要素、同一の材質の要素、あるいは同時に形成される要素等には同一の符号を付す場合があり、その繰り返しの説明は省略する場合がある。
(実施の形態1)
本発明の一態様の半導体装置の構成および動作について、図1〜図3までを参照して説明する。
本発明の一態様の半導体装置の構成および動作について、図1〜図3までを参照して説明する。
図1のブロック図に示す半導体装置10は、CPU(中央処理装置)20、PMU(Power Management Unit)50、複数のFPGA(Field Programmable Gate Array)30及びBUS40を有する。
CPU20は順序回路や組合せ回路などの論理回路によって構成することができる。
CPU20はBUS40を介してFPGA30と電気的に接続されている。CPU20から送信される信号がBUS40を介して所望のFPGA30に送信される。なおCPU20は、FPGA30が行わない数値演算や情報処理を行うことができる。また、CPU20は特定の演算処理に対して、FPGA30に演算させるほうが効率が高いか、CPU20自身で演算するほうが効率が高いかを判定することができる。
図1に示す半導体装置10は、CPU20及びFPGA30を有し、CPU20によってFPGA30の動作を制御することができる。そのため、CPU20は、複雑な逐次処理や少量のデータ処理などを自身で実行し、大量のデータ処理が必要な演算や即応性が要求される演算などはFPGA30に処理させることができる。これにより、CPU20による処理の負荷の低減、及びメモリへのアクセス頻度の減少を図ることができ、半導体装置10の動作速度及び電力効率の向上を実現することができる。
また、半導体装置10は複数のFPGA30を有する。そのため、大規模なデータを同時に処理することが可能である。そのため、ビッグデータの統計処理やディープラーニングなど機械学習に好適に用いることができる。
また、FPGA30はそれぞれBUS40を介して接続されている。よって、CPU20にアクセスすることなく、FPGA30間でアクセスすることができる。あるFPGA30における処理が滞った場合、別のFPGA30にCPU20を介することなく処理させることができる。そのため、FPGA30間のデータのやり取りを、CPU20を経由して行う場合と比較し、処理速度を向上させることができる。
またFPGA30は、複数の処理データを格納し、処理を行うタスクに対して適当なコンテキストに切り替えることができる。そのため、本発明の一態様である半導体装置は、多種多様な処理を高速で行うことができる。さらに、一つのFPGA30で多様な処理が可能なため、少ないチップ数でも消費電力を低減することができる。
また、FPGA30は複数のコンテキストを有し、コンテキストの切り替えによって、タスクでは実行的に演算に寄与しないPLE(PLEに関しては後述)への電力供給を停止する機能を有する。さらに、電力供給停止中にもPLE内のレジスタデータを保持する機能を有する。そのため、タスクの停止時と再開時とで演算の連続性を保つことができる。
また、PMU50はCPU20及び複数のFPGA30それぞれに電気的に接続されている。回路PMU50はCPU20またはFPGA30それぞれをパワーゲーティングする機能を有する。PMU50はタスクの処理に使用されていないFPGA30が存在する場合、CPU20からの命令に従い、FPGA30それぞれのパワーオン、パワーオフする機能を有する。PMU50は該FPGA30をパワーゲーティングすることで、消費電力を低減することができる。また、PMU50はタイマーとしての機能を有し、例えばFPGA30がパワーオフの状態にあるとき、該タイマー機能により、定期的にパワーオフからの復帰(パワーオン)を行うことができる。また、PMU50はタスク処理に使用されていないFPGA30が存在する場合、該FPGA30を検知し、該FPGA30をパワーオフする機能を有していても良い。
<半導体装置の使用形態1>
本発明の一態様である半導体装置の使用例を以下図2及び図3を用いて説明する。なお、図2及び図3中、ハッチングを付した部分が入力されたタスク処理を行う部分であることを模式的に表す。
本発明の一態様である半導体装置の使用例を以下図2及び図3を用いて説明する。なお、図2及び図3中、ハッチングを付した部分が入力されたタスク処理を行う部分であることを模式的に表す。
図2(A)では入力されたタスクに対してCPU20が処理を行う場合について示している。この場合、FPGA30はPMU50によって、パワーゲーティングされると消費電力を低減することができるため好ましい。
<半導体装置の使用形態2>
図2(B)では入力されたタスクに対してCPU20及び1つまたは複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。タスクを処理していないFPGA30はPMU50によってパワーゲーティングされると好ましい。また、図2(B)ではタスクを処理しているFPGA30の使用率を高くすることで、演算に使用されているFPGA30の個数を減らすことができる。
図2(B)では入力されたタスクに対してCPU20及び1つまたは複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。タスクを処理していないFPGA30はPMU50によってパワーゲーティングされると好ましい。また、図2(B)ではタスクを処理しているFPGA30の使用率を高くすることで、演算に使用されているFPGA30の個数を減らすことができる。
図2(B)ではCPU20がタスクを処理する例を例示しているが、CPU20がタスク処理を行わなくても構わない。すなわち、CPU20がFPGA30にタスクを振り分けた後、該タスクが処理されている間は、CPU20は演算を行わない、またはPMU50によってパワーゲーティングされていても良い。
<半導体装置の使用形態3>
図3(A)では入力されたタスクに対してCPU20及び複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。本使用例では、入力されたタスクに対して複数のFPGA30を使用して処理を行うことによって、高速で処理を行うことができる。ここで、FPGA30にはOSトランジスタを有すると好ましい。OSトランジスタを用いることで、CPU20が各FPGA30にタスクを振り分ける際に最適な使用率のコンテキストに回路構成を切り替えることができる。すなわち、FPGA30で細粒度パワーゲーティングを行うことができるため、消費電力を低減することができる。
図3(A)では入力されたタスクに対してCPU20及び複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。本使用例では、入力されたタスクに対して複数のFPGA30を使用して処理を行うことによって、高速で処理を行うことができる。ここで、FPGA30にはOSトランジスタを有すると好ましい。OSトランジスタを用いることで、CPU20が各FPGA30にタスクを振り分ける際に最適な使用率のコンテキストに回路構成を切り替えることができる。すなわち、FPGA30で細粒度パワーゲーティングを行うことができるため、消費電力を低減することができる。
図3(A)ではCPU20がタスクを処理する例を例示しているが、CPU20がタスク処理を行わなくても構わない。すなわち、CPU20が各FPGA30にタスクを振り分けた後、該タスクが処理されている間は、CPU20は演算を行わない、またはPMU50によってパワーゲーティングされていても良い。
<半導体装置の使用形態4>
図3(B)では入力されたタスクに対してCPU20及び複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。本実施の形態では、入力されたタスクに対して複数のFPGA30を使用し、各FPGA30において異なる演算手法により処理を行うこと場合を例示している。図3(B)では各FPGA30で異なる演算方法を実行する例を、ハッチングを変えることで示している。該処理を行うことで高速でタスク処理を行うことができる。また、CPU20が各FPGA30にタスクを振り分ける際に最適な処理方法のコンテキストに回路構成を切り替えることで、高速に処理を行うことができる。ここで、各FPGA30にはOSトランジスタを有すると好ましい。OSトランジスタのオフ電流は極めて小さいため、コンフィギュレーションメモリにOSトランジスタを用いることにより、コンフィギュレーションデータを極めて長期間にわたって保持することができる。そのため、FPGA30にOSトランジスタを用いることによって、コンテキストの切り替えをスイッチングの動作のみで行うことができる。
図3(B)では入力されたタスクに対してCPU20及び複数のFPGA30が処理を行う場合について示している。この時、タスクの処理に使用してないFPGA30が存在していても良い。本実施の形態では、入力されたタスクに対して複数のFPGA30を使用し、各FPGA30において異なる演算手法により処理を行うこと場合を例示している。図3(B)では各FPGA30で異なる演算方法を実行する例を、ハッチングを変えることで示している。該処理を行うことで高速でタスク処理を行うことができる。また、CPU20が各FPGA30にタスクを振り分ける際に最適な処理方法のコンテキストに回路構成を切り替えることで、高速に処理を行うことができる。ここで、各FPGA30にはOSトランジスタを有すると好ましい。OSトランジスタのオフ電流は極めて小さいため、コンフィギュレーションメモリにOSトランジスタを用いることにより、コンフィギュレーションデータを極めて長期間にわたって保持することができる。そのため、FPGA30にOSトランジスタを用いることによって、コンテキストの切り替えをスイッチングの動作のみで行うことができる。
図3(B)ではCPU20がタスクを処理する例を例示しているが、CPU20がタスク処理を行わなくても構わない。すなわち、CPU20が各PLDにタスクを振り分けた後、該タスクが処理されている間は、CPU20は演算を行わない、またはPMU50によってパワーゲーティングされていても良い。
上記半導体装置の使用形態1〜4は適宜組み合わせることができる。例えば、入力されたタスクに対して、最初は使用例3で示した方法でタスクを処理した後、続くタスクは使用例4で示した、各FPGA30で異なる演算方法を用いてタスク処理を行っても構わない。上記半導体装置の使用例1〜4で示したタスク処理を組み合わせることによって、高速かつ低い消費電力でタスク処理を行うことができる。また、各FPGA30はコンテキストの書き換えも行うことができる。一つの半導体装置で様々なタスクに対する処理を行うことができるため、本発明の一態様は汎用性が非常に高いと言える。
(実施の形態2)
本実施の形態では、本発明の一態様に用いられるOS(酸化物半導体)を用いたFPGA(以下OS FPGA)の具体的な構成例を図4〜図11を用いて説明する。
本実施の形態では、本発明の一態様に用いられるOS(酸化物半導体)を用いたFPGA(以下OS FPGA)の具体的な構成例を図4〜図11を用いて説明する。
図4に、本発明の一態様に用いられるOS FPGAの要部の一例を示す。図4に示すOS FPGAは、PLE、PRS、コンテキスト・コントローラ、コンフィギュレーション・コントローラ、コンフィギュレーションメモリ・ブロックを有する。PLEはPLEコア(PLEcore)、PPSを有する。PRSはPRScfg、PRSctxを有する。INprs_LはPRSの入力ノードであり、OUTprs_Lは出力ノードである。PRScfg、PRSctx及びPPSは、それぞれコンフィギュレーションメモリ、コンテキスト・メモリ、およびPPSデータを記憶するメモリ(PPSメモリ)に相当する。
PRScfgは、OSトランジスタ(MOcfg)、高Vthのパストランジスタ(MScfg)、およびノード(Ncfg)を有する。MOcfgには、コンフィギュレーション・コントローラから書き込み信号(Wcfg_H)、コンフィギュレーションデータ(Dcfg_H)が入力される。PRSctxは、OSトランジスタ(MOctx)、高Vthのパストランジスタ(MSctx)、ノード(Nctx)を有する。MOctxには、コンテキスト・コントローラから書き込み信号(Wctx_H)、コンテキスト・データ(Dctx_H)が入力される。Dcfg_HはNcfgに書き込まれ、Dctx_HはNctxに書き込まれる。PRSの導通状態は、Dcfg_H、Dctx_Hの電位により制御される。なお、「OS」の符号が付されたトランジスタはOSトランジスタである。また図中、トランジスタ構成80に示すようにOSトランジスタをバックゲートを有するトランジスタである。なお、図4及び図9において「OS」の符号が付されたトランジスタの構成は、トランジスタ構成80に示す構成であるとする。
LVDDはPLEcoreの電源電圧である。PPSは、pch−Siトランジスタ、OSトランジスタ(MOpps)、ノード(Npps)を有し、PLEcoreへのLVDDの供給を制御する。pch−Siトランジスタはパワースイッチであり、Nppsに与えられたPPSデータ(Dpps_L)により、導通状態が制御される。Dpps_Lは、コンフィギュレーションメモリ・ブロックからPPSに入力される。
OS FPGAは図4の電源ドメイン:入出力(IO)ドメイン、HVDDドメイン、LVDDドメインを有する。なお、符号の末尾に追加された符号_H、_Lは、それぞれ、HVDDドメイン、LVDDドメインの要素や、そこで生成される信号であることを表している。
OS FPGAには、データ信号用バッファ、書き込み信号用バッファが設けられている。これらのバッファは対応する回路の電源電圧で動作する。コンフィギュレーション・コントローラの電源電圧はHVDDcfg(書き込み信号用HVDDcfg_w、データ信号用HVDDcfg_d)であり、コンテキスト・コントローラの電源電圧はHVDDctx(書き込み信号用HVDDctx_w、データ信号用HVDDctx_d)である。HVDDcfg、HVDDctxはLVDDよりも高い。オーバードライブ電圧を考慮してデータ信号用電源電圧(HVDDcfg_d、HVDDctx_d)をLVDDよりも高くし、かつMOcfg、MOctxのVthを考慮して書き込み信号用電源電圧(HVDDcfg_w、HVDDctx_w)を、データ信号用電源電圧よりも高くすることで、書き込み電位のばらつきを抑制することが可能である。
<PRSのオーバードライブ>
図5にPRSのオーバードライブ動作のタイミングチャートを示す。コンフィギュレーション動作は、コンフィギュレーション時(Wcfg_H=“H”)に、コンフィギュレーションデータ(Dcfg_H)をコンフィギュレーションメモリ(PRScfg)に書き込むことで、実行される。Ncfgの電位は、LVDD+ΔVcfgまたはGNDになる。ΔVcfgはコンフィギュレーションメモリ(PRScfg)のオーバードライブ電圧である。コンフィギュレーションメモリは、容量に電位を書き込むという単純な動作を行うので、SRAMとは異なり、書き換え、及びデータ保持動作のマージンが広く、極低電圧においても正常な動作が容易である。
図5にPRSのオーバードライブ動作のタイミングチャートを示す。コンフィギュレーション動作は、コンフィギュレーション時(Wcfg_H=“H”)に、コンフィギュレーションデータ(Dcfg_H)をコンフィギュレーションメモリ(PRScfg)に書き込むことで、実行される。Ncfgの電位は、LVDD+ΔVcfgまたはGNDになる。ΔVcfgはコンフィギュレーションメモリ(PRScfg)のオーバードライブ電圧である。コンフィギュレーションメモリは、容量に電位を書き込むという単純な動作を行うので、SRAMとは異なり、書き換え、及びデータ保持動作のマージンが広く、極低電圧においても正常な動作が容易である。
コンフィギュレーション完了時とコンテキスト切り替え時には、Wctx_Hを“H”にして、コンテキスト・データ(Dctx_H)をコンテキスト・メモリ(PRSctx)に書き込む。Nctxの電位は、LVDD+ΔVctxまたはLVDDとなる。ΔVctxはコンテキスト・メモリ(PRSctx)のオーバードライブ電圧である。選択されたコンテキストのコンフィギュレーションデータに対応して、PRSの導通状態が決定される。
コンフィギュレーションメモリにコンフィギュレーションデータを書き込んだ後、MOcfgをオフにすることで(Wcfg_H=“L”)、Ncfgは浮遊ノードとなり、高電位データ(LVDD+ΔVcfg/GND)を保持する。コンテキスト・メモリも同様であり、MOctxをオフとすることで(Wctx_H=“L”)、Nctxは浮遊ノードとなり、高電位データ(LVDD+ΔVctx/GND)を保持する。MOcfg、MOctxは極めて小さいリーク電流を持つOSトランジスタであるため、NcfgおよびNctxを電位の変化が小さい理想的な浮遊ノードにすることができるので、コンフィギュレーションメモリおよびコンテキスト・メモリは不揮発性アナログメモリとして動作する。
MScfgをオン状態にする場合は、そのゲートに高電圧LVDD+ΔVcfgが入力されるため、MScfgはオーバードライブされる。MSctxも同様であり、ゲートにLVDD+ΔVctxが入力されることで、MSctxはオーバードライブされる。当該オーバードライブによって、パストランジスタ(MScfg、MSctx)の高Ion/Ioff比が維持されるので、PRSの出力信号(OUTprs_L)の電位は低下しない。
コンフィギュレーションメモリ、コンテキスト・メモリは、不揮発性アナログメモリとみなせるため、データ保持、すなわち、オーバードライブ電圧を浮遊ゲートで保持するために要する消費電力は低い。コンフィギュレーションメモリでは、Wcfg_H、Dcfg_Hを低電位とすることで、MOcfgをオフ状態にしてNcfgを浮遊状態にし、コンテキスト・メモリでは、Wctx_H、Dctx_Hを低電位とすることで、MOctxをオフ状態にして、Nctxを浮遊状態にしている。よって、コンフィギュレーションデータ、コンテキスト・データの書き込みを行う期間のみ、コンフィギュレーション・コントローラ、およびコンテキスト・コントローラに電源電圧を供給し、その他の期間は、HVDDドメインをパワーゲーティングすることができる。よって、消費電力を効果的に低減できる。
なお、Wcfg_H用信号線、Wctx_H用信号線には、パワーゲーティング時にアクティブとなるプルダウン用OSトランジスタが設けられている。したがって、パワーゲーティング中に、これらの信号線の電位はGNDに維持されるため、MOcfg,MOctxのオフ状態は確実に維持される。OSトランジスタは極小Ioffをもつため、非アクティブ時では信号線に与えるプルダウン用OSトランジスタの影響は無視できるほど小さい。
<PPSのオーバードライブ>
図6にPPSのオーバードライブの動作タイミングチャートを示す。コンフィギュレーション完了時とコンテキスト切り替え時に、Wpps_Hを“H”にして、PPSにPPSデータ(Dpps_L)を書き込む。Nppsの電位は、LVDDhまたはGNDである。
図6にPPSのオーバードライブの動作タイミングチャートを示す。コンフィギュレーション完了時とコンテキスト切り替え時に、Wpps_Hを“H”にして、PPSにPPSデータ(Dpps_L)を書き込む。Nppsの電位は、LVDDhまたはGNDである。
PPSにPPSデータを書き込んだ後、Wpps_Hを“L”にしてMOppsをオフにすると、Nppsは浮遊ノードとなり、電位(LVDDh/GND)を保持する。図6はDpps_Lの電位がGNDの例を示しており、Nppsの電位はGNDとなる。ここで、LVDDドメインの電圧を高電位(LVDDh)から低電位(LVDD)に低下させることで、Npps(pch−Siトランジスタのゲート)とLVDD電源ノードとの間の寄生容量を介した容量結合によってNppsの電位が低下する。ここで、LVDDドメインの電圧を低下させる際、Nppsの電位がLVDDhのときは、pch−Siトランジスタはオフ状態のため、LVDD電源ノードとNppsとの容量結合が小さく、Nppsの電位はほとんど変化しない。一方、Nppsの電位がGNDのときは容量結合が大きいため、Nppsの電位は大きく変化する。
つまり、負電圧を生成する電源回路を設けなくても、PPSのpch−Siトランジスタのオーバードライブができる。MOppsはOSトランジスタであるので、オーバードライブ後に、Wpps_Hを“L”にしてMOppsをオフとすると、Nppsは浮遊ノードとなり、データ(LVDDh/−ΔVpps、ここでΔVppsはPPSのオーバードライブ電圧である。)を保持できる。
該オーバードライブによって、pch−Siトランジスタは高Ion/Ioff比を維持し、良好なスイッチング特性を有する。PPSは、不揮発性アナログメモリとみなせるので、データ保持、すなわち、オーバードライブ電圧を浮遊ゲートに維持するのに要する消費電力は低い。さらに、コンテキスト・データの更新時のみ、LVDDドメインの電圧を高電位(LVDDh)とし、その他の期間は低電位とすることができるので、低消費電力化が可能である。
<OS FPGAの構成>
図7は本発明の一態様に用いられるOS FPGAの構成を示すブロック図である。OS FPGAはマルチコンテキストに対応しており、コンテキスト数は2である。
図7は本発明の一態様に用いられるOS FPGAの構成を示すブロック図である。OS FPGAはマルチコンテキストに対応しており、コンテキスト数は2である。
IOドメインには、複数のプログラム可能なIO回路を有する入出力ブロック(PIOB)の高電位ドメインが属する。HVDDドメインには、コンフィギュレーション・コントローラ(行ドライバ回路、列ドライバ回路を含む)と、コンテキスト・コントローラとが属する。LVDDドメインには、ロジックアレイブロックと、PIOBの低電位ドメインとが属する。
ロジックアレイブロックは2つのPLEブロック(PLEB)と、3つのPRSブロック(PRSB)を有する。各PLEBは10のPLEを有する。PRSBは複数のPRSA(PRSアレイ)を有する。PRSAは複数のPRSを有する配線スイッチである。PRSAを表すブロック内の表記はその機能を表している。例えば、“PLE[0*] to IO[00]”とは、PRSAが、PLE[00]−PLE[09]の出力ノードと入出力回路IO[00]の入力ノードとの間の導通状態を制御する機能をもつことを示している。
<PRS>
図8にPRSの回路図を示す。図8のPRScfgは図8のPRScfgに容量素子Ccfgを追加した回路構成を有する。PRScfg<0>とPRSctx<0>が電気的に直列に接続されて、配線スイッチ対を構成し、PRScfg<1>とPRSctx<1>が電気的に直列に接続され、他の配線スイッチ対を構成している。これら配線スイッチ対は、INprs_LとOUTprs_L間に並列に電気的に接続されている。
図8にPRSの回路図を示す。図8のPRScfgは図8のPRScfgに容量素子Ccfgを追加した回路構成を有する。PRScfg<0>とPRSctx<0>が電気的に直列に接続されて、配線スイッチ対を構成し、PRScfg<1>とPRSctx<1>が電気的に直列に接続され、他の配線スイッチ対を構成している。これら配線スイッチ対は、INprs_LとOUTprs_L間に並列に電気的に接続されている。
<PLE>
図9に、PLEの回路構成を示す。図9に示すPLEは、PPS、PLEcore、およびコンフィギュレーションメモリ・ブロック(CMB)を有する。PLEにPPSを設けることで、細粒度パワーゲーティングが可能である。
図9に、PLEの回路構成を示す。図9に示すPLEは、PPS、PLEcore、およびコンフィギュレーションメモリ・ブロック(CMB)を有する。PLEにPPSを設けることで、細粒度パワーゲーティングが可能である。
PLEcoreは、5の2入力EXOR、LUT、複数のMUX、2のSEL、レジスタ、および複数のメモリ回路(MM)、4の入力ノード(INple_L<0>−INple_L<3>)、1の出力ノードOUTple_Lを有する。MMはMOcm(OSトランジスタ)とCMBとで構成され、コンフィギュレーションデータおよびコンテキスト・データを記憶する。Wcm_HはMOcmの制御信号である。
細粒度パワーゲーティングのため、レジスタには揮発性レジスタ(VR)とシャドウ・レジスタ(SR)が設けられている。SRは、VRのデータをバックアップするための不揮発性レジスタであり、ストア用トランジスタ(OSトランジスタ)、ロード用トランジスタ、および容量素子を含む。ストア用トランジスタと容量素子とにより不揮発性アナログメモリが構成される。
レジスタには各種制御信号が入力される。SRにはph1、ph2とでなる2相クロック信号、WS_H(ストア信号)、WL_H(ロード信号)が入力される。ph1、ph2はOS FPGAに設けられているクロック生成装置で生成される。WS_Hは、SRにデータをバックアップするための動作(ストア動作)を制御する。WS_Hは外部から入力される。WL_HはSRからVRへデータを書き戻す動作(ロード動作)を制御する。WL_Hは、HVDDドメインに属するノーマリ・オフ・コントローラで生成される。
ストア用トランジスタをWS_Hによってオーバードライブすることで、バックアップデータ電位のVth落ちを回避する。また、WL_Hでオーバードライブされることで、ロード用トランジスタは、VR内のデータ保持用インバータラッチよりも高いオン電流を持つため、確実なデータのストア、およびロードが可能となる。
<CMB>
CMBは、プログラム可能な接地接続(PGC、Programmable Ground Connection)を用いた接地電位供給回路と、プリチャージ回路とを有する。PGCは図8のPRSと同じ回路構成を持つ。CMBにおいては、入力ノード(INprs_L)が接地接続され、出力ノード(OUTprs_L)がプリチャージ回路の入力ノード(Npc)に電気的に接続されている。プリチャージ回路は、2のpch−Siトランジスタと1のインバータで構成されているダイナミックロジック回路である。Wpc_HはNpcのプリチャージ動作を制御する信号であり、コンテキスト・コントローラで生成される。
CMBは、プログラム可能な接地接続(PGC、Programmable Ground Connection)を用いた接地電位供給回路と、プリチャージ回路とを有する。PGCは図8のPRSと同じ回路構成を持つ。CMBにおいては、入力ノード(INprs_L)が接地接続され、出力ノード(OUTprs_L)がプリチャージ回路の入力ノード(Npc)に電気的に接続されている。プリチャージ回路は、2のpch−Siトランジスタと1のインバータで構成されているダイナミックロジック回路である。Wpc_HはNpcのプリチャージ動作を制御する信号であり、コンテキスト・コントローラで生成される。
図10にCMBのタイミングチャートを示す。Wpc_Hが“H”である期間はCMB(プリチャージ回路)のプリチャージ期間であり、Wpc_Hが“L”である期間はCMB(プリチャージ回路)の評価期間である。プリチャージ動作後に、コンフィギュレーションデータ(Dcfg_H)及び選択されたコンテキストに依存して、CMBはNpcのLVDD電位を維持もしくは放電する。コンテキスト切り替え動作時に、CMBは出力データを更新する(リフレッシュする)。コンフィギュレーション・モードでは、HVDDドメイン全体に電源が供給され、コンテキスト切り替えモードでは、コンテキスト・コントローラのみに電源が供給される。ユーザ動作モードでは、HVDDドメインの回路は動作する必要がないので、パワーゲーティングにより電源オフにされる。
<OS FPGAの状態遷移>
図11(A)にOS FPGAの状態遷移図を示し、図11(B)にOS FPGAの各動作状態の一覧表を示す。OS FPGAは、コンフィギュレーション・モード、ユーザ動作モード、コンテキスト切り替えモード、更新モードの4つの動作状態を遷移する。以下、4つの動作状態について説明する。
図11(A)にOS FPGAの状態遷移図を示し、図11(B)にOS FPGAの各動作状態の一覧表を示す。OS FPGAは、コンフィギュレーション・モード、ユーザ動作モード、コンテキスト切り替えモード、更新モードの4つの動作状態を遷移する。以下、4つの動作状態について説明する。
コンフィギュレーション・モードでは、起動(電源オン)時もしくはシステムリセット時に、コンフィギュレーションデータを全てのコンフィギュレーションメモリに書き込み、全てのドメインに電源が供給される。
ユーザ動作モードでは、プログラム可能な領域において、コンテキストで選択されたコンフィギュレーションデータによって設定される回路動作が実行され、LVDDドメインのみに電源が供給される。パワーゲーティングによって、コンフィギュレーション・コントローラ、コンテキスト・コントローラへの電源(HVDDcfg、HVDDctx)の供給は停止される。
コンテキスト切り替えモードでは、プログラム可能な領域における回路動作は停止し、コンテキスト・コントローラ、およびLVDDドメインに電源(HVDDctx、LVDD)が供給される。PLE、PRSのコンテキスト・メモリにコンテキスト・データを書き込んだ後は、パワーゲーティングにより、コンテキスト・コントローラへの電源(HVDDctx)供給は再び停止されてもよい。ユーザ動作モードからコンテキスト切り替えモードを経てユーザ動作モードに戻る遷移、すなわち、コンテキストの切り替えは、1クロックで可能である。
更新モードでは、選択されていないコンテキストに対応するコンフィギュレーションメモリのコンフィギュレーションデータを更新する動作を行い、ユーザ動作モードのコンフィギュレーション領域の回路動作を継続し、コンフィギュレーション・コントローラ、およびLVDDドメインに電源(HVDDcfg、LVDD)を供給する。
ユーザ動作モード、コンテキスト切り替えモード、更新モードでは、HVDDドメインの回路がパワーゲーティング中であっても、PLE及びPRS内のコンフィギュレーションメモリ、PRS内のコンテキスト・メモリはデータを保持できるため、電力を消費せずに回路機能を維持する。また、IOドメインには、内部信号をモニターする必要があるときに、電源(IOVDD)を供給すればよい。
(実施の形態3)
本実施の形態では、図9におけるCMBに用いられるコンフィギュレーションメモリの構成例について、図12〜図16を用いて説明する。
本実施の形態では、図9におけるCMBに用いられるコンフィギュレーションメモリの構成例について、図12〜図16を用いて説明する。
コンフィギュレーションメモリは、コンフィギュレーションデータを記憶する機能を有する記憶回路を有する。コンフィギュレーションメモリが有する記憶回路は、揮発性であっても不揮発性であってもよい。揮発性の記憶回路としては、例えば、SRAMなどが挙げられる。また、不揮発性の記憶回路としては、例えば、フラッシュメモリ、強誘電体メモリ(FeRAM)、磁気抵抗メモリ(MRAM)、相変化メモリ(PRAM)、抵抗変化型メモリ(ReRAM)などが挙げられる。
ここで、記憶回路として、OSトランジスタ有する回路を用いることが好ましい。酸化物半導体(OS)は、シリコンなどの半導体よりもバンドギャップが広く、また、キャリア密度を低くすることができる。そのため、OSトランジスタのオフ電流は極めて小さい。よって、コンフィギュレーションメモリにOSトランジスタを用いることにより、コンフィギュレーションデータを極めて長期間にわたって保持することができる。また、以下に述べるように、OSトランジスタを用いることによりコンフィギュレーションメモリの面積の縮小を図ることができる。
<コンフィギュレーションメモリの構成例1>
図12(A)に、コンフィギュレーションメモリに用いることができる記憶回路の構成例を示す。記憶回路300は、複数の回路310を有する。なお、図12(A)には一例として、2つの回路310(回路310[0]、[1])を示しているが、回路310の個数はこれに限られない。回路310に所定のコンフィギュレーションデータを格納することにより、配線INと配線OUTの間の接続状態を制御することができる。そのため、記憶回路300は上述のPLEに適用することができる。
図12(A)に、コンフィギュレーションメモリに用いることができる記憶回路の構成例を示す。記憶回路300は、複数の回路310を有する。なお、図12(A)には一例として、2つの回路310(回路310[0]、[1])を示しているが、回路310の個数はこれに限られない。回路310に所定のコンフィギュレーションデータを格納することにより、配線INと配線OUTの間の接続状態を制御することができる。そのため、記憶回路300は上述のPLEに適用することができる。
回路310は、トランジスタ311、312、313、容量素子314を有する。ここではトランジスタ311、312、313をnチャネル型としているが、これらのトランジスタはそれぞれpチャネル型であってもよい。
トランジスタ311のゲートは配線WLと接続され、ソース又はドレインの一方はトランジスタ312のゲートおよび容量素子314の一方の電極と接続され、ソース又はドレインの他方は配線BLと接続されている。トランジスタ312のソース又はドレインの一方は配線INと接続され、ソース又はドレインの他方はトランジスタ313のソース又はドレインの一方と接続されている。トランジスタ313のゲートは配線CTXと接続され、ソース又はドレインの他方は配線OUTと接続されている。容量素子314の他方の電極は、所定の電位が供給される配線と接続されている。ここで、トランジスタ311のソース又はドレインの一方、トランジスタ312のゲート、および容量素子314の一方の電極と接続されたノードを、ノードN1とする。
次に、回路310の動作について説明する。まず、配線WLの電位を制御してトランジスタ311をオン状態とする。これにより、配線BLの電位がノードN1に与えられる(コンフィギュレーションデータの書き込み)。
その後、配線WLの電位を制御してトランジスタ311をオフ状態とする。これにより、ノードN1が浮遊状態となり、ノードN1の電位が保持される(コンフィギュレーションデータの保持)。ここで、配線INと配線OUT間に設けられたトランジスタ312の導通状態は、ノードN1の電位によって決定される。そのため、ノードN1の電位を制御することにより配線INと配線OUT間の導通状態を制御することができる。このような回路310を有する記憶回路300は、配線間の導通状態を制御するスイッチとしての機能を有するため、PLEのコンフィギュレーションメモリに用いることができる。記憶回路300をPLEのコンフィギュレーションメモリに用いる場合、配線INと配線OUTはそれぞれ、IO又はPLEと接続される。
なお、記憶回路300は回路310[0]及び回路310[1]を有し、両者は配線OUTを共有している。そして、配線CTX[0]、[1]に所定の電位を供給することにより、回路310[0]又は回路310[1]の一方を選択することができる。これにより、記憶回路300をマルチコンテキスト方式のコンフィギュレーションメモリとして用いることができる。
具体的には、Context[0]を選択する場合、配線CTX[0]を制御して回路310[0]のトランジスタ313をオン状態とする。また、配線CTX[1]を制御して回路310[1]のトランジスタ313をオフ状態とする。これにより、配線INと配線OUT間の導通状態は、回路310[0]のノードN1の電位によって制御される。一方、Context[1]を選択する場合は、配線CTX[0]を制御して回路310[0]のトランジスタ313をオフ状態とする。また、配線CTX[1]を制御して回路310[1]のトランジスタ313をオン状態とする。これにより、配線INと配線OUT間の導通状態は、回路310[1]のノードN1の電位によって制御される。このように、配線CTX[0]、[1]の電位を制御することにより、配線INと配線OUTの間の導通状態を制御するコンテキストを選択することができる。
ここで、トランジスタ311はOSトランジスタであり、オフ電流が極めて小さい。そのため、トランジスタ311をオフ状態である期間において、ノードN1の電位を長時間にわたって維持することができる。これにより、コンフィギュレーションデータの更新の頻度を大幅に減らすことができ、FPGA30の消費電力を削減することができる。また、回路310への電力の供給が停止された期間においても、コンフィギュレーションデータを長期間保持することができる。
また、OSトランジスタを用いることにより、少ないトランジスタ数(回路310においては3個)で回路310を構成することができる。これにより、FPGA30の面積を縮小することができる。また、OSトランジスタは他のトランジスタ上に積層することができる。そのため、トランジスタ311をトランジスタ312又はトランジスタ313上に積層し、回路310の面積を縮小することができる。これにより、FPGA30の面積をさらに縮小することができる。
また、FPGA30にマルチコンテキスト方式を用いることができる。この場合、コンフィギュレーションメモリには複数のコンテキストに対応するコンフィギュレーションデータを格納する必要があるため、コンフィギュレーションメモリの面積が大幅に増大する可能性がある。しかしながら、上記の通りOSトランジスタを有する記憶回路300を用いることにより、コンフィギュレーションメモリの面積の増加を抑えることができる。そのため、OSトランジスタをマルチコンテキスト方式のFPGA30に用いることは特に好ましい。
なお、図12(A)において、OSトランジスタ以外のトランジスタの材料は特に限定されない。例えば、チャネル形成領域が単結晶半導体を有する基板の一部に形成されるトランジスタ(以下、単結晶トランジスタともいう)を用いてもよい。単結晶半導体を有する基板としては、単結晶シリコン基板や単結晶ゲルマニウム基板などがあげられる。単結晶トランジスタは高速な動作が可能であるため、記憶回路に単結晶トランジスタを用いることにより、記憶回路の動作速度を向上させることができる。また、OSトランジスタ以外のトランジスタには、酸化物半導体以外の半導体を含む膜にチャネル形成領域が形成されるトランジスタを用いることもできる。酸化物半導体以外の半導体としては、シリコン、ゲルマニウム、シリコンゲルマニウム、炭化シリコン、ガリウムヒ素、アルミニウムガリウムヒ素、インジウムリン、窒化ガリウム、有機半導体などがあげられる。これらの半導体は、単結晶半導体であってもよいし、非晶質半導体、微結晶半導体、多結晶半導体などの非単結晶半導体であってもよい。これらのトランジスタは、以下の説明におけるOSトランジスタ以外のトランジスタにも用いることができる。
また、図12(B)に、回路310の他の構成例を示す。図12(B)に示す回路310は、図12(A)における容量素子314の代わりに回路315が設けられた構成を有する。回路315はインバータループを構成しており、ノードN1の電位は回路315によってハイレベル又はローレベルに維持される。なお、トランジスタ311には上記のOSトランジスタ以外のトランジスタを用いることができる。この場合、回路310は揮発性となる。
<コンフィギュレーションメモリの構成例2>
図13に、コンフィギュレーションメモリに用いることができる他の記憶回路の構成例を示す。記憶回路400は回路410を有する。なお、図13には一例として、2つの回路410(回路410[0]、[1])を示しているが、回路410の個数はこれに限られない。
図13に、コンフィギュレーションメモリに用いることができる他の記憶回路の構成例を示す。記憶回路400は回路410を有する。なお、図13には一例として、2つの回路410(回路410[0]、[1])を示しているが、回路410の個数はこれに限られない。
回路410は、トランジスタ411、412、容量素子413、トランジスタ414、415、容量素子416、トランジスタ417を有する。ここでは、トランジスタ411、412、414、415、417をnチャネル型としているが、トランジスタ411、412、414、415、417はそれぞれpチャネル型であってもよい。
トランジスタ411のゲートは配線WLと接続され、ソース又はドレインの一方はトランジスタ412のゲートおよび容量素子413の一方の電極と接続され、ソース又はドレインの他方は配線BLと接続されている。トランジスタ412のソース又はドレインの一方は所定の電位(ここでは高電源電位VDD)が供給される配線と接続され、ソース又はドレインの他方はトランジスタ417のソース又はドレインの一方と接続されている。容量素子413の他方の電極は、所定の電位が供給される配線と接続されている。また、トランジスタ414のゲートは配線WLと接続され、ソース又はドレインの一方はトランジスタ415のゲートおよび容量素子416の一方の電極と接続され、ソース又はドレインの他方は配線BLbと接続されている。トランジスタ415のソース又はドレインの一方は所定の電位(ここでは低電源電位VSS、例えば接地電位)が供給される配線と接続され、ソース又はドレインの他方はトランジスタ417のソース又はドレインの一方と接続されている。容量素子416の他方の電極は、所定の電位が供給される配線と接続されている。トランジスタ417のゲートは配線CTXと接続され、ソース又はドレインの他方は配線OUTと接続されている。
ここで、トランジスタ411のソース又はドレインの一方、トランジスタ412のゲート、および容量素子413の一方の電極と接続されたノードを、ノードN2とする。また、トランジスタ414のソース又はドレインの一方、トランジスタ415のゲート、および容量素子416の一方の電極と接続されたノードを、ノードN3とする。なお、配線BLbには、配線BLに供給される信号の反転信号が供給される。
ノードN2又はノードN3の一方にはハイレベルの電位、他方にはローレベルの電位が、コンフィギュレーションデータとして格納される。そのため、トランジスタ412又はトランジスタ415の一方はオン状態となり、他方はオフ状態となる。よって、ハイレベル又はローレベルの電位を配線OUTに選択的に供給することができる。このような回路410を有する記憶回路400は、配線OUTに出力される論理値を制御する機能を有するため、PLEのコンフィギュレーションメモリに用いることができる。記憶回路400をPLEのコンフィギュレーションメモリに用いる場合、配線OUTは他の論理回路やPRSなどに接続される。なお、ノードN2及びノードN3へのコンフィギュレーションデータの格納は、図12(A)の回路310と同様の動作により行うことができる。
なお、記憶回路300は回路410[0]及び回路410[1]を有し、両者は配線OUTを共有している。そして、配線CTX[0]、[1]に所定の電位を供給することにより、回路410[0]又は回路410[1]の一方を選択することができる。これにより、記憶回路300をマルチコンテキスト方式のコンフィギュレーションメモリとして用いることができる。
具体的には、Context[0]を選択する場合、配線CTX[0]を制御して回路410[0]のトランジスタ417をオン状態とする。また、配線CTX[1]を制御して回路410[1]のトランジスタ417をオフ状態とする。これにより、配線OUTの電位は、回路410[0]のノードN2及びノードN3の電位によって制御される。一方、Context[1]を選択する場合は、配線CTX[0]を制御して回路410[0]のトランジスタ417をオフ状態とする。また、配線CTX[1]を制御して回路410[1]のトランジスタ417をオン状態とする。これにより、配線OUTの電位は、回路410[1]のノードN2及びノードN3の電位によって制御される。このように、配線CTX[0]、[1]の電位を制御することにより、配線OUTの電位を制御するコンテキストを選択することができる。
回路410には、トランジスタ411、414としてOSトランジスタが用いられている。そのため、回路410においても回路310と同様に、消費電力の削減及び面積の縮小を図ることができる。
また、記憶回路400は、回路420を有していてもよい。回路420は、インバータ421、トランジスタ422を有する。インバータ421の入力端子は配線OUTと接続され、出力端子はトランジスタ422のゲートと接続されている。トランジスタ422のソース又はドレインの一方は配線OUTと接続され、他方は所定の電位が供給される配線(ここでは高電源電位VDD)と接続されている。回路420は、配線OUTの電位を保持する機能を有しており、配線OUTがフロート状態となることを防ぐことができる。これにより、配線OUTの電位が中間電位になるのを防ぐことができ、配線OUTと接続された回路素子における貫通電流の発生を防止することができる。
また、図14に回路410の他の構成例を示す。図14(A)に示す回路410は、図10における容量素子413、416の代わりに回路418、419が設けられた構成を有する。回路418、419はインバータループを構成しており、ノードN2の電位は回路418によって、ノードN3の電位は回路419によって、それぞれハイレベル又はローレベルに維持される。なお、トランジスタ411、414には上記のOSトランジスタ以外のトランジスタを用いることができる。この場合、回路410は揮発性となる。
また、図13、図14(A)においては、トランジスタ411のゲートとトランジスタ414のゲートは同一の配線WLと接続されているが、異なる配線と接続されていてもよい。トランジスタ411のゲートが配線WLaと接続され、トランジスタ414のゲートが配線WLbと接続されている構成を、図14(B)に示す。
<コンフィギュレーションメモリの構成例3>
コンフィギュレーションメモリには、揮発性メモリとOSトランジスタを組み合わせた回路を用いることもできる。このような記憶回路の構成例を図15に示す。記憶回路500の構成例を示す。記憶回路500は、回路510、回路520を有する。なお、記憶回路500は例えば、図12(B)におけるトランジスタ311及び回路315、又は、図14(A)におけるトランジスタ411及び回路418、又は、図14(A)におけるトランジスタ414及び回路419として用いることができる。
コンフィギュレーションメモリには、揮発性メモリとOSトランジスタを組み合わせた回路を用いることもできる。このような記憶回路の構成例を図15に示す。記憶回路500の構成例を示す。記憶回路500は、回路510、回路520を有する。なお、記憶回路500は例えば、図12(B)におけるトランジスタ311及び回路315、又は、図14(A)におけるトランジスタ411及び回路418、又は、図14(A)におけるトランジスタ414及び回路419として用いることができる。
回路510は、トランジスタ511乃至516を有する。トランジスタ511、512、515、516はnチャネル型であり、トランジスタ513、514はpチャネル型である。なお、トランジスタ511、512はそれぞれ、nチャネル型であってもpチャネル型であってもよい。
トランジスタ511のゲートは配線WLと接続され、ソース又はドレインの一方はトランジスタ513のソース又はドレイン一方、トランジスタ515のソース又はドレイン一方、トランジスタ514のゲート、トランジスタ516のゲートと接続され、ソース又はドレインの他方は配線BLと接続されている。トランジスタ512のゲートは配線WLと接続され、ソース又はドレインの一方はトランジスタ514のソース又はドレイン一方、トランジスタ516のソース又はドレイン一方、トランジスタ513のゲート、トランジスタ515のゲートと接続され、ソース又はドレインの他方は配線BLbと接続されている。トランジスタ513のソース又はドレインの他方、トランジスタ514のソース又はドレインの他方は、それぞれ所定の電位(ここでは高電源電位VDD)が供給される配線と接続されている。トランジスタ515のソース又はドレインの他方、トランジスタ516のソース又はドレインの他方は、それぞれ所定の電位(ここでは低電源電位VSS)が供給される配線と接続されている。なお、トランジスタ513のゲートおよびトランジスタ515のゲートと接続されたノードをノードN5とし、トランジスタ514のゲートおよびトランジスタ516のゲートと接続されたノードをノードN4とする。
このように、回路510は揮発性のSRAMセルを構成している。また、ノードN4およびノードN5は、コンフィギュレーションデータを保持するノードに対応する。
回路520は、トランジスタ521、522、容量素子523、524を有する。ここで、トランジスタ521、522はOSトランジスタである。
トランジスタ521のゲートは配線WEと接続され、ソース又はドレインの一方は容量素子523の一方の電極と接続され、ソース又はドレインの他方はノードN5と接続されている。トランジスタ522のゲートは配線WEと接続され、ソース又はドレインの一方は容量素子524の一方の電極と接続され、ソース又はドレインの他方はノードN4と接続されている。容量素子523の他方の電極および容量素子524の他方の電極はそれぞれ、所定の電位が供給される配線と接続されている。所定の電位が供給される配線は、高電位電源線であっても低電位電源線(接地線など)であってもよい。また、電位の切り替えが可能な配線であってもよい。なお、トランジスタ521のソース又はドレインの一方および容量素子523の一方の電極と接続されたノードをノードN6とし、トランジスタ522のソース又はドレインの一方および容量素子524の一方の電極と接続されたノードをノードN7とする。
記憶回路500においてデータが保持されるノードに相当するノードN4は、OSトランジスタであるトランジスタ522を介してノードN7と接続されている。また、記憶回路500においてデータが保持されるノードに相当するノードN5は、OSトランジスタであるトランジスタ521を介してノードN6と接続されている。これにより、SRAMセルを構成する回路510に保持されたデータを、ノードN6およびノードN7に退避させることができる。また、退避させたデータを再度、回路510に復帰させることができる。
具体的には、回路510においてデータの読み書きが行われない期間において、配線WEの電位をハイレベルとすることにより、トランジスタ521、522をオン状態とし、ノードN4に保持されたデータをノードN7に退避させ、ノードN5に保持されたデータをノードN6に退避させることができる。その後、配線WEの電位をローレベルとすることにより、トランジスタ521、522をオフ状態とし、ノードN6、N7の電位を保持する。また、配線WEの電位を再度ハイレベルとし、トランジスタ521、522をオン状態とすることにより、ノードN6、N7に退避させたデータをノードN4、N5に復帰させることができる。なお、データを退避する際には高電源電位VDDを高くし、データを復帰させる際には高電源電位VDDを低くすることで、より安定したデータ退避、復帰が可能となる。
ここで、トランジスタ521、522はOSトランジスタであり、オフ電流が極めて小さい。そのため、トランジスタ521、522がオフ状態であるとき、ノードN6の電位とノードN7の電位を長期間にわたって保持することができる。従って、記憶回路500への電力の供給が停止される直前に、ノードN4、N5に保持されたデータをノードN6、N7に退避させることにより、記憶回路500への電力の供給が停止した場合であっても、記憶回路500に記憶されたデータを保持することが可能となる。そして、記憶回路500への電力の供給が再開された後、ノードN6、N7に保持されたデータをノードN4、N5に復帰させることができる。
なお、記憶回路500はSRAMセルを構成するため、トランジスタ511乃至516には高速動作が要求される。そのため、トランジスタ511乃至516にはチャネル形成領域にシリコンを有するトランジスタ(以下、Siトランジスタともいう)などを用いることが好ましい。
また、記憶回路500に電力が供給され、回路510がSRAMセルとして動作している期間においては、トランジスタ521、522はオフ状態とすることが好ましい。これにより、回路510の高速な動作の阻害を防止することができる。
なお、図15においては、回路520がトランジスタ521、522、容量素子523、524を有する例を示したが、トランジスタ521および容量素子523を省略した構成としてもよいし、トランジスタ522および容量素子524を省略した構成としてもよい。
また、図15においては回路520に揮発性のメモリセルである6トランジスタ型のSRAMセルを用いたが、これに限定されず、回路520として他の揮発性のメモリセルを用いてもよい。他の揮発性メモリセルを用いた場合であっても、図12に示すようにOSトランジスタおよび容量素子を接続することにより、データの退避及び復帰が可能となる。
以上のように、記憶回路500において、回路510に格納されたデータを回路520に退避させて保持することにより、記憶回路500への電力の供給が行われない期間においてもデータを保持することができる。また、電力の供給が再開された後、回路520に保持されたデータを回路510に復帰させることができる。そのため、データの保持期間において記憶回路500への電力の供給を停止することができ、消費電力を低減することができる。
また、OSトランジスタは、Siトランジスタ上に積層することができる。そのため、回路520を回路510上に積層することができる。従って、記憶回路500の面積の増加を抑えることができる。
<コンフィギュレーションメモリの構成例4>
本実施の形態で説明したOSトランジスタは、一対のゲートを有していてもよい。図12における回路310を例として、OSトランジスタに一対のゲートが設けられた構成を図13に示す。なお、トランジスタが一対のゲートを有する場合、一方のゲートをフロントゲート又は単にゲートと呼び、他方のゲートをバックゲートと呼ぶことができる。
本実施の形態で説明したOSトランジスタは、一対のゲートを有していてもよい。図12における回路310を例として、OSトランジスタに一対のゲートが設けられた構成を図13に示す。なお、トランジスタが一対のゲートを有する場合、一方のゲートをフロントゲート又は単にゲートと呼び、他方のゲートをバックゲートと呼ぶことができる。
図16(A)に示すトランジスタ311はバックゲートを有し、バックゲートはフロントゲートと接続されている。この場合、フロントゲートの電位とバックゲートの電位は等しくなる。
図16(B)に示すトランジスタ311は、バックゲートが配線BGLと接続されている。配線BGLは、バックゲートに所定の電位を供給する機能を有する配線である。配線BGLの電位を制御することにより、トランジスタ311の閾値電圧を制御することができる。また、配線BGLは同一の行の回路310において共有されている。
なお、図16においては、一例として回路310が有するトランジスタ311にバックゲートを設けた構成を示したが、本実施の形態におけるOSトランジスタにはいずれも、図16同様にバックゲートを設けることができる。
上記のように、本発明の一態様においては、OSトランジスタをコンフィギュレーションメモリに用いることにより、PLDの面積の縮小及び消費電力の低減を実現することができる。
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
(実施の形態4)
本実施の形態では、本発明の一態様に係る半導体装置を用いたコンピュータについて説明する。
本実施の形態では、本発明の一態様に係る半導体装置を用いたコンピュータについて説明する。
図17は、上記の半導体装置を有するコンピュータの構成例を示すブロック図である。コンピュータ600は、入力装置610、出力装置620、CPU630、FPGA640、記憶装置650を有する。CPU630、BUS636、PMU635及びFPGA640を含む装置が、上記実施の形態1における半導体装置10に対応する。
入力装置610は、コンピュータ600の外部から入力されたデータを受信する機能を有する。出力装置620は、コンピュータ600の外部にデータを出力する機能を有する。
CPU630は、制御装置631、演算装置632、記憶装置633、記憶装置634を有する。なお、CPU630は上記実施の形態におけるCPU20に相当する。
制御装置631は、入力装置610、出力装置620、記憶装置650に、それらの装置を制御するための制御信号を出力する機能を有する。演算装置632は、入力されたデータに対する演算を行う機能を有する。記憶装置633は、演算装置632が演算に用いるデータを保持する機能を有する。記憶装置633は、レジスタとしての機能を有する。記憶装置634は、キャッシュメモリとしての機能を有する。
FPGA640は、上記実施の形態におけるFPGA30に相当する。CPU630はFPGA640を制御する機能を有し、CPU630において行われる処理の一部を、FPGA640に実行させることができる。また、記憶装置650は主記憶装置としての機能を有する。
記憶装置634は記憶装置650よりも高速なアクセスが可能であり、記憶装置634を設けることによりCPU630の処理速度を向上させることができる。記憶装置634として、例えば図5における記憶回路60を用いることができる。すなわち、記憶回路60をキャッシュメモリとして用いることができる。記憶装置650は半導体装置10の内部に設けることができる。
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
(実施の形態5)
本実施の形態では、半導体装置を用いた電子機器の一例について説明する。
本実施の形態では、半導体装置を用いた電子機器の一例について説明する。
<電子部品の作製方法例>
図18(A)は、電子部品の作製方法例を示すフローチャートである。電子部品は、半導体パッケージ、またはIC用パッケージともいう。この電子部品は、端子取り出し方向や、端子の形状に応じて、複数の規格や名称が存在する。そこで、本実施の形態では、その一例について説明することにする。
図18(A)は、電子部品の作製方法例を示すフローチャートである。電子部品は、半導体パッケージ、またはIC用パッケージともいう。この電子部品は、端子取り出し方向や、端子の形状に応じて、複数の規格や名称が存在する。そこで、本実施の形態では、その一例について説明することにする。
トランジスタで構成される半導体装置は、組み立て工程(後工程)を経て、プリント基板に脱着可能な部品が複数合わさることで完成する。後工程については、図18(A)に示す各工程を経ることで完成させることができる。具体的には、前工程で得られる素子基板が完成(ステップST71)した後、基板の裏面を研削する。この段階で基板を薄膜化して、前工程での基板の反り等を低減し、部品の小型化を図る。次に、基板を複数のチップに分離するダイシング工程を行う(ステップST72)。
図18(B)は、ダイシング工程が行われる前の半導体ウエハ7100の上面図である。図18(C)は、図18(B)の部分拡大図である。半導体ウエハ7100には、複数の回路領域7102が設けられている。回路領域7102には、本発明の形態に係る半導体装置が設けられている。
複数の回路領域7102は、それぞれが分離領域7104に囲まれている。分離領域7104と重なる位置に分離線(「ダイシングライン」ともいう)7106が設定される。ダイシング工程ST72では、分離線7106に沿って半導体ウエハ7100切断することで、回路領域7102を含むチップ7110を半導体ウエハ7100から切り出す。図18(D)にチップ7110の拡大図を示す。
分離領域7104に導電層や半導体層を設けてもよい。分離領域7104に導電層や半導体層を設けることで、ダイシング工程時に生じうるESDを緩和し、ダイシング工程に起因する歩留まりの低下を防ぐことができる。また、一般にダイシング工程は、基板の冷却、削りくずの除去、帯電防止などを目的として、炭酸ガスなどを溶解させて比抵抗を下げた純水を切削部に供給しながら行なう。分離領域7104に導電層や半導体層を設けることで、当該純水の使用量を削減することができる。よって、半導体装置の生産コストを低減することができる。また、半導体装置の生産性を高めることができる。
ステップST72を行った後、分離したチップを個々にピックアップしてリードフレーム上に搭載し接合する、ダイボンディング工程を行う(ステップST73)。ダイボンディング工程におけるチップとリードフレームとの接着方法は製品に適した方法を選択すればよい。例えば、接着は樹脂やテープによって行えばよい。ダイボンディング工程は、インターポーザ上にチップを搭載し接合してもよい。ワイヤーボンディング工程で、リードフレームのリードとチップ上の電極とを金属の細線(ワイヤー)で電気的に接続する(ステップST74)。金属の細線には、銀線や金線を用いることができる。ワイヤーボンディングは、ボールボンディングとウェッジボンディングの何れでもよい。
ワイヤーボンディングされたチップは、エポキシ樹脂等で封止される、モールド工程が施される(ステップST75)。モールド工程を行うことで電子部品の内部が樹脂で充填され、機械的な外力による内蔵される回路部やワイヤーに対するダメージを低減することができ、また水分や埃による特性の劣化を低減することができる。リードフレームのリードをメッキ処理する。そしてリードを切断及び成形加工する(ステップST76)。めっき処理によりリードの錆を防止し、後にプリント基板に実装する際のはんだ付けをより確実に行うことができる。パッケージの表面に印字処理(マーキング)を施す(ステップST77)。検査工程(ステップST78)を経て、電子部品が完成する(ステップST79)。上掲した実施の形態の半導体装置を組み込むことで、低消費電力で、小型な電子部品を提供することができる。
完成した電子部品の斜視模式図を図18(E)に示す。図18(E)では、電子部品の一例として、QFP(Quad Flat Package)の斜視模式図を示している。図18(E)に示すように、電子部品7000は、リード7001及びチップ7110を有する。
電子部品7000は、例えばプリント基板7002に実装される。このような電子部品7000が複数組み合わされて、それぞれがプリント基板7002上で電気的に接続されることで電子機器に搭載することができる。完成した回路基板7004は、電子機器等の内部に設けられる。電子部品7000を搭載することで、電子機器の消費電力を削減することができる。または、電子機器を小型化することが容易になる。
電子部品7000は、デジタル信号処理、ソフトウェア無線、アビオニクス(通信機器、航法システム、自動操縦装置、飛行管理システム等の航空に関する電子機器)、ASICのプロトタイピング、医療用画像処理、音声認識、暗号、バイオインフォマティクス(生物情報科学)、機械装置のエミュレータ、および電波天文学における電波望遠鏡等、幅広い分野の電子機器の電子部品(ICチップ)に適用することが可能である。このような電子機器としては、カメラ(ビデオカメラ、デジタルスチルカメラ等)、表示装置、パーソナルコンピュータ(PC)、携帯電話、携帯型を含むゲーム機、携帯型情報端末(スマートフォン、タブレット型情報端末など)、電子書籍端末、ウエアラブル型情報端末(時計型、ヘッドマウント型、ゴーグル型、眼鏡型、腕章型、ブレスレット型、ネックレス型等)、ナビゲーションシステム、音響再生装置(カーオーディオ、デジタルオーディオプレイヤー等)、複写機、ファクシミリ、プリンタ、プリンタ複合機、現金自動預け入れ払い機(ATM)、自動販売機、家庭用電化製品などが挙げられる。
次いで、コンピュータ、携帯情報端末(携帯電話、携帯型ゲーム機、音響再生装置なども含む)、電子ペーパー、テレビジョン装置(テレビ、又はテレビジョン受信機ともいう)、デジタルビデオカメラなどの電子機器に、上述の電子部品を適用する場合について説明する。
図19(A)は、携帯型の情報端末であり、筐体801、筐体802、第1の表示部803a、第2の表示部803bなどによって構成されている。筐体801と筐体802の少なくとも一方には、先の実施の形態に示す半導体装置が設けられている。そのため、低消費電力化が図られた携帯型の情報端末が実現される。
なお、第1の表示部803aはタッチ入力機能を有するパネルとなっており、例えば図19(A)の左図のように、第1の表示部803aに表示される選択ボタン804により「タッチ入力」を行うか、「キーボード入力」を行うかを選択できる。選択ボタンは様々な大きさで表示できるため、幅広い世代の人が使いやすさを実感できる。ここで、例えば「キーボード入力」を選択した場合、図19(A)の右図のように第1の表示部803aにはキーボード805が表示される。これにより、従来の情報端末と同様に、キー入力による素早い文字入力などが可能となる。
また、図19(A)に示す携帯型の情報端末は、図19(A)の右図のように、第1の表示部803a及び第2の表示部803bのうち、一方を取り外すことができる。第2の表示部803bもタッチ入力機能を有するパネルとし、持ち運びの際、さらなる軽量化を図ることができ、一方の手で筐体802を持ち、他方の手で操作することができるため便利である。
図19(A)に示す携帯型の情報端末は、様々な情報(静止画、動画、テキスト画像など)を表示する機能、カレンダー、日付又は時刻などを表示部に表示する機能、表示部に表示した情報を操作又は編集する機能、様々なソフトウェア(プログラム)によって処理を制御する機能、等を有することができる。また、筐体の裏面や側面に、外部接続用端子(イヤホン端子、USB端子など)、記録媒体挿入部などを備える構成としてもよい。
また、図19(A)に示す携帯型の情報端末は、無線で情報を送受信できる構成としてもよい。無線により、電子書籍サーバから、所望の書籍データなどを購入し、ダウンロードする構成とすることも可能である。
更に、図19(A)に示す筐体802にアンテナやマイク機能や無線機能を持たせ、携帯電話として用いてもよい。
図19(B)は、電子ペーパーを実装した電子書籍端末810であり、筐体811と筐体812の2つの筐体で構成されている。筐体811及び筐体812には、それぞれ表示部813及び表示部814が設けられている。筐体811と筐体812は、軸部815により接続されており、該軸部815を軸として開閉動作を行うことができる。また、筐体811は、電源816、操作キー817、スピーカー818などを備えている。筐体811、筐体812の少なくとも一には、実施の形態1に示す半導体装置が設けられている。そのため、低消費電力化が図られた電子書籍端末が実現される。
図19(C)は、テレビジョン装置であり、筐体821、表示部822、スタンド823などで構成されている。テレビジョン装置820の操作は、筐体821が備えるスイッチや、リモコン操作機824により行うことができる。筐体821及びリモコン操作機824には、実施の形態1に示す半導体装置が設けられている。そのため、低消費電力化が図られたテレビジョン装置が実現される。
図19(D)は、スマートフォンであり、本体830には、表示部831と、スピーカー832と、マイク833と、操作ボタン834等が設けられている。本体830内には、先の実施の形態に示す半導体装置が設けられている。そのため誤動作が少なく、低消費電力化が図られたスマートフォンが実現される。
図19(E)は、デジタルカメラであり、本体841、表示部842、操作スイッチ843などによって構成されている。本体841内には、実施の形態1に示す半導体装置が設けられている。そのため、低消費電力化が図られたデジタルカメラが実現される。
本実施の形態は、他の実施の形態の記載と適宜組み合わせることができる。
10 半導体装置
20 CPU
30 FPGA
40 BUS
50 PMU
60 記憶回路
80 トランジスタ構成
300 記憶回路
310 回路
311 トランジスタ
312 トランジスタ
313 トランジスタ
314 容量素子
315 回路
400 記憶回路
410 回路
411 トランジスタ
412 トランジスタ
413 容量素子
414 トランジスタ
415 トランジスタ
416 容量素子
417 トランジスタ
418 回路
419 回路
420 回路
421 インバータ
422 トランジスタ
500 記憶回路
510 回路
511 トランジスタ
512 トランジスタ
513 トランジスタ
514 トランジスタ
515 トランジスタ
516 トランジスタ
520 回路
521 トランジスタ
522 トランジスタ
523 容量素子
524 容量素子
600 コンピュータ
610 入力装置
620 出力装置
630 CPU
631 制御装置
632 演算装置
633 記憶装置
634 記憶装置
635 PMU
636 BUS
640 FPGA
650 記憶装置
801 筐体
802 筐体
803a 表示部
803b 表示部
804 選択ボタン
805 キーボード
810 電子書籍端末
811 筐体
812 筐体
813 表示部
814 表示部
815 軸部
816 電源
817 操作キー
818 スピーカー
820 テレビジョン装置
821 筐体
822 表示部
823 スタンド
824 リモコン操作機
830 本体
831 表示部
832 スピーカー
833 マイク
834 操作ボタン
841 本体
842 表示部
843 操作スイッチ
7000 電子部品
7001 リード
7002 プリント基板
7004 回路基板
7100 半導体ウエハ
7102 回路領域
7104 分離領域
7106 分離線
20 CPU
30 FPGA
40 BUS
50 PMU
60 記憶回路
80 トランジスタ構成
300 記憶回路
310 回路
311 トランジスタ
312 トランジスタ
313 トランジスタ
314 容量素子
315 回路
400 記憶回路
410 回路
411 トランジスタ
412 トランジスタ
413 容量素子
414 トランジスタ
415 トランジスタ
416 容量素子
417 トランジスタ
418 回路
419 回路
420 回路
421 インバータ
422 トランジスタ
500 記憶回路
510 回路
511 トランジスタ
512 トランジスタ
513 トランジスタ
514 トランジスタ
515 トランジスタ
516 トランジスタ
520 回路
521 トランジスタ
522 トランジスタ
523 容量素子
524 容量素子
600 コンピュータ
610 入力装置
620 出力装置
630 CPU
631 制御装置
632 演算装置
633 記憶装置
634 記憶装置
635 PMU
636 BUS
640 FPGA
650 記憶装置
801 筐体
802 筐体
803a 表示部
803b 表示部
804 選択ボタン
805 キーボード
810 電子書籍端末
811 筐体
812 筐体
813 表示部
814 表示部
815 軸部
816 電源
817 操作キー
818 スピーカー
820 テレビジョン装置
821 筐体
822 表示部
823 スタンド
824 リモコン操作機
830 本体
831 表示部
832 スピーカー
833 マイク
834 操作ボタン
841 本体
842 表示部
843 操作スイッチ
7000 電子部品
7001 リード
7002 プリント基板
7004 回路基板
7100 半導体ウエハ
7102 回路領域
7104 分離領域
7106 分離線
Claims (7)
- CPU、第1のFPGA、第2のFPGA、PMU及びBUSを有し、
前記CPUは、演算を行う機能及び前記第1のFPGA及び前記第2のFPGAのコンフィギュレーションデータを変更する機能を有し、
前記CPUは、前記第1のFPGA及び前記第2のFPGAと前記BUSを介して接続され、
前記第1のFPGAは前記BUSを介して前記第2のFPGAとタスクの授受をする機能を有し、
前記第1のFPGA及び前記第2のFPGAは酸化物半導体を有する半導体装置。 - CPU、第1のFPGA、第2のFPGA、PMU及びBUSを有し、
前記PMUは前記CPU、前記第1のFPGA及び前記第2のFPGAと電気的に接続され、
前記PMUはタスクの処理状況を検知し、前記CPU、前記第1のFPGA及び前記FPGAの電源をそれぞれ独立に制御する機能を有し、
前記CPUは、演算を行う機能及び前記第1のFPGA及び前記第2のFPGAのコンフィギュレーションデータを変更する機能を有し、
前記CPUは、前記第1のFPGA及び前記第2のFPGAと前記BUSを介して接続され、
前記第1のFPGAは前記BUSを介して前記第2の回路とタスクの授受をする機能を有し、
前記第1のFPGA及び前記第2のFPGAは酸化物半導体を有する半導体装置。 - 請求項1または請求項2に記載の半導体装置を用いた、タスク処理方法であって、
前記第1のFPGA及び前記第2のFPGAは入力されたタスクの進行段階を検知し
前記第1のFPGAから前記BUSを介して前記第2のFPGAへ前記タスクを受け渡し、
前記タスクを前記第1のFPGA及び前記第2のFPGAによって並列処理を行う、タスク処理方法。 - 請求項1または請求項2に記載の半導体装置を用いた、タスク処理方法であって、
前記CPUは入力されたタスクを検知し、前記第1のFPGAへ第1のコンテキストに切り替える命令を出力し、前記第2のFPGAへ第2のコンテキストへ切り替える命令を出力し、
前記第1のコンテキストと前記第2のコンテキストは異なる演算方法であり、
前記タスクを前記第1のFPGA及び前記第2のFPGAによって並列処理を行う、タスク処理方法。 - 請求項1に記載の半導体装置を用いた、タスク処理方法であって、
前記CPUは入力されたタスクを検知し、前記第1のFPGAへ第1のコンテキストに切り替える命令を出力し、前記第2のFPGAへ第2のコンテキストへ切り替える命令を出力し、
前記第1のコンテキストと前記第2のコンテキストは異なる演算方法であり、
前記第1のFPGA及び前記第2のFPGAは入力されたタスクの進行段階を検知し、前記第1のFPGAから前記BUSを介して前記第2のFPGAへ前記タスクを受け渡し、
前記タスクを前記第1のFPGA及び前記第2のFPGAによって並列処理を行う、タスク処理方法。 - 請求項1または請求項2に記載に記載の半導体装置と、入力装置と、出力装置と、を有するコンピュータ。
- 請求項1または請求項2に記載の半導体装置、もしくは請求項6に記載のコンピュータと、
表示部、マイクロホン、スピーカ、又は操作キーと、を有する電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017170760A JP2019047405A (ja) | 2017-09-06 | 2017-09-06 | 半導体装置、電子部品、および電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017170760A JP2019047405A (ja) | 2017-09-06 | 2017-09-06 | 半導体装置、電子部品、および電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019047405A true JP2019047405A (ja) | 2019-03-22 |
Family
ID=65815743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017170760A Withdrawn JP2019047405A (ja) | 2017-09-06 | 2017-09-06 | 半導体装置、電子部品、および電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019047405A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262440A (zh) * | 2019-07-26 | 2019-09-20 | 中车青岛四方车辆研究所有限公司 | 轨道车辆牵引系统用数据监控采集系统及方法 |
-
2017
- 2017-09-06 JP JP2017170760A patent/JP2019047405A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262440A (zh) * | 2019-07-26 | 2019-09-20 | 中车青岛四方车辆研究所有限公司 | 轨道车辆牵引系统用数据监控采集系统及方法 |
CN110262440B (zh) * | 2019-07-26 | 2021-05-04 | 中车青岛四方车辆研究所有限公司 | 轨道车辆牵引系统用数据监控采集系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6010681B2 (ja) | プログラマブルロジックデバイス | |
US9065438B2 (en) | Programmable logic device | |
US9443564B2 (en) | Semiconductor device, electronic component, and electronic device | |
JP6761882B2 (ja) | 半導体装置 | |
TWI757282B (zh) | 半導體裝置、電子構件及電子裝置 | |
US10088886B2 (en) | Semiconductor device comprising power gating device | |
JP2021057616A (ja) | 半導体装置 | |
US10177767B2 (en) | Semiconductor device, electronic component, and electronic device | |
TW201444285A (zh) | 可程式邏輯裝置及半導體裝置 | |
JP6917168B2 (ja) | 半導体装置 | |
US10277181B2 (en) | Semiconductor device, display module, and electronic device | |
JP2019047405A (ja) | 半導体装置、電子部品、および電子機器 | |
JP7265986B2 (ja) | 半導体装置、電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20200907 |