説明

半導体装置

【課題】半導体装置の消費電力を低減しつつ、高速に動作させる。
【解決手段】半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備えた半導体装置を用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、特に、電源電圧を低くして消費電力を低減する半導体装置に関する。
【背景技術】
【0002】
近年、システムの省電力化のために、LSIの電源電圧が低下してきている。現状では、1.0Vまで低下しているが、近い将来は、電源電圧が0.5V、消費電力は現状の10分の1にする要求も出てきている。特に、メモリセルが縦横にマトリックス状に配列されたメモリセルアレイを有する半導体チップから成る半導体記憶装置では、低電圧化すると、動作不良を起こし、また、読み出し速度が悪化するので低電圧化は困難な状況である。
【0003】
メモリのなかでも、最も良く使用されており、必要不可欠なメモリはSRAMであるが、プロセスのばらつきにセンシティブであり、低電圧化には最も弱いメモリである。すなわち、電源電圧を下げて、それに合わせてトランジスタのしきい値(閾値)を出来るだけ低くして動作マージンを稼いでいるが、トランジスタの閾値はオフリーク(トランジスタのゲート電圧が0Vでも、トランジスタにリーク電流が流れてしまう現象)を低減するために、ある程度以上小さくすることはできず、電源ノードVDDの電圧が0.5Vであっても、閾値は0.3Vは必要となる。ゲート端子に加えてトランジスタを駆動する駆動電圧は、この閾値以上の電圧で、かつ、電源電圧以下の電圧を加える必要があるので、電源電圧が低くなると、駆動電圧のマージンが大幅に減少してしまう問題があった。このように、現状では、メモリのトランジスタの閾値を出来るだけ低くして動作マージンを稼いでいるが、オフリークが発生するため、十分には下げることが出来ない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−181329号公報
【特許文献2】特開2002−350511号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
そのため、特許文献1等の技術では、図27のように、半導体装置1のチップの回路群を、機能別にまとめ、それぞれの機能の回路に異なる電圧の電源供給回路を接続する。例えば、アナログ回路やメモリは低電圧化が厳しいので、0.5Vの電圧を供給することが望ましい。ロジック回路は、シンプルな回路であれば、低電圧化のマージンが広いので、0.4Vを供給する。NOR回路とかNAND回路とか、特殊回路は低電圧化が厳しいので、0.5Vとか0.6Vを供給する。また、無線回路(RF回路)は高い電圧が必要であるが、常に電波を飛ばしているのではないので、必要なときに、スイッチをオンして回路を動作させることが望ましい。特許文献1では、この電源供給において、いずれかの回路が電源供給を不要とする場合は電源供給回路から切り離し、あるいは、電圧の低い電源供給回路に回路の接続を切り替えることで半導体装置1の消費電力を低減する技術が提案されている。
【0006】
特許文献1の機能ブロックのロジック回路に、特許文献2等で提案されているように図28のインバータチェーンで構成したリングオシレータを形成して機能ブロックをテストできる。ここで、比較的動作マージンの広いロジック回路においても、一部の回路(インバータチェーンで構成したリングオシレータの回路中の1つのインバータ)が動作不能に
なることにより、チップ全部が不良となる。図28のようなインバータチェーンで構成したリングオシレータで回路の動作を評価すると、電源電圧を限界まで低くすると、トランジスタのばらつきにより、特定のインバータが不良となる場合にリングオシレータの動作が停止することで不良トランジスタの存在を検知できる。
【0007】
しかし、機能ブロックの記憶回路では、電源電圧を限界まで低くする場合の記憶回路の動作は、電源供給回路のトランジスタのばらつきにより電源電圧の供給にバラツキを生じるので、記憶回路の正常な動作を保障するには、その電源供給回路の供給する実際の電圧を検出する必要があった。
【0008】
ロジック回路において、図28のリングオシレータでは、極低電圧のときに不良となるのは、局所的なトランジスタの特性のばらつき等で特定のインバータが不良となりリングオシレータが止まってしまうが、他のインバータは動作可能な状態になっている。このため、この対策として、この特定のインバータ(細分化すれば、不良トランジスタ)に関する回路へ供給する電源のみを改善することができれば、それ以外の回路部分は更に低電圧化できると考えられる。
【0009】
また、半導体回路の機能ブロック毎に電圧降下があるため、半導体装置のレイアウト設計を行う基礎データとするために、電圧降下の実態を正確に把握したい課題もあった。
【0010】
そのため、本発明は、半導体装置を、機能ブロックを更に回路ブロックに分割し、各回路ブロック毎に、その回路ブロックに供給する電圧を半導体装置が正常に動作し得る最小限界の電圧に調整して、半導体装置の消費電力を低減しつつ、高速に動作させることを課題とする。
【課題を解決するための手段】
【0011】
本発明は、上記課題を解決するために、半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備えたことを特徴とする半導体装置である。
【0012】
また、本発明は、上記の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備することを特徴とする半導体装置である。
【0013】
また、本発明は、上記の半導体装置であって、前記電源電圧制御メモリが、揮発性メモリと不揮発性メモリとを有することを特徴とする半導体装置である。
【0014】
また、本発明は、上記の半導体装置であって、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子から入力した信号によって、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む回路スイッチ制御回路を有することを特徴とする半導体装置である。
【0015】
また、本発明は、上記の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電源切替デコーダと、前記電圧供給回路の前記回路ブロックへの接続を切り替える電源切替スイッチを含むことを特徴とする半導体装置である。
【0016】
また、本発明は、上記の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電圧トリミングデコーダと、前記電圧供給回路の出力電圧を切り替える電圧調整回路を含むことを特徴とする半導体装置である。
【0017】
また、本発明は、上記の半導体装置であって、前記電源切り替え手段が、前記電圧調整回路を含む前記電圧供給回路の複数の組を切り替えて前記回路ブロックに接続することを特徴とする半導体装置である。
【0018】
また、本発明は、上記の半導体装置であって、前記入力端子の1つの制御端子から制御信号を入力することにより、前記回路スイッチ制御回路が、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む動作モードに切り替えられ、前記入力端子の1つのクロック端子からクロック信号を入力することにより、データを書き込む前記電源電圧制御メモリのアドレスを切り替えることを特徴とする半導体装置である。
【0019】
また、本発明は、上記の半導体装置であって、前記半導体装置の回路の複数箇所に電圧を検出する電圧検出スイッチを有することを特徴とする半導体装置である。
【0020】
また、本発明は、上記の半導体装置であって、各前記電圧検出スイッチを切り替える動作モードに切り替えられる回路スイッチ制御回路を有し、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子の1つのクロック端子からクロック信号を入力することにより前記半導体装置の回路に接続する前記電圧検出スイッチを切り替えることを特徴とする半導体装置である。
【0021】
また、本発明は、上記の半導体装置であって、回路の領域の複数箇所の電源ノード又は接地ノードに前記電圧検出スイッチを設置したことを特徴とする半導体装置である。
【0022】
また、本発明は、上記の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備し、前記回路ブロックの1つが記憶回路であり、前記記憶回路における前記回路ブロックテスト回路がメモリセルの回路に前記電圧検出スイッチを接続して回路の電圧を検出することを特徴とする半導体装置である。
【0023】
また、本発明は、上記の半導体装置であって、前記回路ブロックの1つがロジック回路であり、前記ロジック回路における前記回路ブロックテスト回路が記ロジック回路の領域の複数箇所のインバータを接続したインバータチェーンで構成したリングオシレータで構成されていることを特徴とする半導体装置である。
【発明の効果】
【0024】
本発明は、半導体装置の回路を複数の回路ブロックに分割し、各回路ブロックがそれぞれ正常に動作し得る最小限度の電源電圧を供給する複数の電圧供給回路を備え、各回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、それが記憶する制御内容に従って電圧供給回路が各回路ブロック毎に供給する電源電圧を切り替える電源切り替え手段を用いることで、各回路ブロックに供給する電源電圧を、半導体装置が正常に動作し得る最小限界の電源電圧に調整することができる。これにより、半導体装置の消費電力を低減しつつ、高速に動作させることができる効果がある。
【図面の簡単な説明】
【0025】
【図1】本発明の第1の実施形態の半導体装置の回路のブロック図である。
【図2】本発明の半導体装置の回路の電圧を検出する電圧検出スイッチの回路を示す図である。
【図3】本発明の回路スイッチ制御回路のブロック図である。
【図4】本発明の半導体装置を検査システムにより検査・調整する構成を示すブロック図である。
【図5】本発明の電源切替設定回路のブロック図である。
【図6】本発明の電源切替デコーダと電源切替スイッチの回路図である。
【図7】本発明の半導体装置の機能ブロックの1つである記憶回路のブロック図である。
【図8】本発明の第1の実施形態の記憶回路のレイアウト図である。
【図9】本発明の記憶回路内の1つのメモリセルの回路図である。
【図10】本発明の第1の実施形態の、記憶回路に設置する回路ブロックテスト回路の1つであるテスト用メモリセルの回路図である。
【図11】本発明の第1の実施形態の記憶回路のメモリセルのスタティックノイズマージン特性のグラフを示す図である。
【図12】本発明の第1の実施形態の変形例1の、テスト用メモリセルの回路図である。
【図13】本発明の第1の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の選定手順を示すフローチャートである。
【図14】本発明の第1の実施形態の変形例2の記憶回路へ電圧検出スイッチを設置する位置を示すレイアウト図である。
【図15】本発明の第1の実施形態の、ロジック回路に設置する回路ブロックテスト回路の1つであるインバータチェーンで構成したリングオシレータの回路図である。
【図16】本発明の第1の実施形態のロジック回路用の回路ブロックへ接続する電圧供給回路の選択の処理手順を示すフローチャートである。
【図17】本発明の第1の実施形態のリングオシレータの出力電圧の振幅を示すグラフである。
【図18】本発明の第1の実施形態の変形例3の、リングオシレータを用いた回路ブロックテスト回路の回路図である。
【図19】本発明の第1の実施形態の変形例3の、ロジック回路用の電圧供給回路の出力電圧を調整する電源電圧調整処理の手順を示すフローチャートである。
【図20】本発明の第1の実施形態の変形例3の、リングオシレータの発振周波数を示すグラフである。
【図21】本発明の第2の実施形態の半導体装置の回路のブロック図である。
【図22】本発明の第2の実施形態の電圧供給回路の回路図である。
【図23】本発明の第2の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の選定手順を示すフローチャートである。
【図24】本発明の第2の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の電圧の微調整の手順を示すフローチャートである。
【図25】本発明の第3の実施形態の半導体装置の回路のブロック図である。
【図26】本発明の第3の実施形態の回路ブロックに接続する電圧供給回路の電圧の微調整の手順を示すフローチャートである。
【図27】従来の半導体装置の回路のブロック図である。
【図28】従来の、半導体装置のロジック回路に設置する回路ブロックテスト回路の1つであるインバータチェーンで構成したリングオシレータの回路図である。
【発明を実施するための形態】
【0026】
<第1の実施形態>
以下、本発明の第1の実施形態を図面に基づいて詳細に説明する。図1に第1の実施形態の半導体装置1の回路のブロック図を示す。図2に、図1の回路の各箇所に接続した電圧検出スイッチSWr(r=1〜u)の回路図を示す。図3に、電圧検出スイッチSWrを選択し、電源切替設定回路100の電圧切替制御用のメモリを選択する回路スイッチ制御回路400のブロック図を示す。図4に、この半導体装置1を外部から設定する検査システム2を示し、図5に半導体装置1の電源切替設定回路100を示し、図6に電源切替デコーダ501と電源切替スイッチ510を示す。図7に、図1の半導体装置1の回路の
回路ブロック300のうち、記憶回路320のブロック図を示す。
【0027】
図1のように、半導体装置1は、アナログ回路310、記憶回路(メモリ)320、ロジック回路330のそれぞれの機能ブロックを複数の回路ブロック300に分割し、また、RF回路350の1つの回路ブロック300を有する。更に、半導体装置1は、電源端子Vextから入力された電圧を必要に応じて昇圧回路で昇圧し、その電圧を適宜低下させた電圧を発生させて、その電圧を各回路ブロック300に供給する電圧供給回路200と、電源切替設定回路100と電源切替デコーダ501と電源切替スイッチで構成される電源切り替え手段と、その電源切替設定回路100の電源電圧制御メモリへの書き込み制御信号を発生する書込制御回路120と、電源電圧制御メモリにアドレスを指定してデータを書き込む回路スイッチ制御回路400を有する。電源切り替え手段の電源切替設定回路100が、その電源電圧制御メモリに従って電源切替デコーダ501を介して電源切替スイッチ510を制御することで、各回路ブロック300に接続する電圧供給回路200を切り替える。
【0028】
p個の電圧供給回路200の出力端子は、個々の電源ノードVDDq(q=1〜p)に電圧供給回路200の個別の電源を供給する。そして、各回路ブロック300を接続する電源ノードVDDqを各回路ブロック300毎の電源切替スイッチ510で切り替える。この電圧供給回路200は、例えば図1のように、
(1)RF回路350に1Vの電圧を供給する電圧供給回路200の電源1と、
(2)0.6Vの電圧を供給する電圧供給回路200の電源2と、
(3)0.55Vの電圧を供給する電圧供給回路200の電源3と、
(4)その他の電圧の電源と、
(5)0.35Vの電圧を供給する電圧供給回路200の電源7と、
で構成する。
図1では、RF回路350以外のアナログ回路310と記憶回路320とロジック回路330の各回路ブロック300を、電源切替スイッチ510で接続を切り替えた電源2から7の何れかに接続する。
【0029】
図1の様に各機能ブロックを個々の回路ブロック300に細分化して、細分化した回路ブロック300毎に、それに接続する電圧供給回路200を選択して、各回路ブロック300毎に異なる電圧の電源電圧を供給できるようにする。すなわち、アナログ回路310は、1〜n個に分割、記憶回路320はm個、ロジック回路330はk個に細分化し、細分化したそれぞれの回路ブロック300毎に最適な電源電圧を設定する。
【0030】
(電圧検出スイッチ)
半導体装置1の回路の、回路ブロック300の記憶回路(メモリ)320、その他の回路に電圧検出スイッチSWr(r=1〜u)を接続してその回路の電圧を検出する。電圧検出スイッチSWrは、回路の電圧を測定する必要に応じて、ロジック回路330、電源ノードVDDq、接地ノードVSSに接続することができる。回路スイッチ制御回路400が、それらの電圧検出スイッチSWrのオン/オフを制御し、半導体装置1の回路の各箇所の電圧を外部出力端子であるモニター用端子MONに伝送する。
【0031】
図2のように、各電圧検出スイッチSWr(r=1〜u)は、Nチャネル型のトランジスタとPチャネル型のトランジスタから成るCMOSスイッチで構成する。回路スイッチ制御回路400の電圧検出スイッチアドレスデコーダ411から、スイッチ選択信号SELArと、その信号のハイレベルとロウレベルとを反転させたスイッチ選択信号SELArBを出力する。そのスイッチ選択信号SELArを、電圧検出スイッチSWr(r=1〜u)のNチャネル型のトランジスタのゲート電極に入力し、スイッチ選択信号SELArBをPチャネル型のトランジスタのゲート電極に入力することで、電圧検出スイッチS
Wrのゲートを開き、電圧検出スイッチSWrのオン/オフを制御する。こうして、電圧検出スイッチSWrのゲートを開くことで、電圧検出スイッチSWrの電圧測定端子が接続した回路(測定点)の電圧をモニター用端子MONに伝送することができる。
【0032】
(回路スイッチ制御回路)
以下で図3を用いて、半導体装置1の回路スイッチ制御回路400の構成を詳しく説明する。回路スイッチ制御回路400は、半導体装置1の動作モードを切り替える制御信号やその他の制御信号を入力する制御端子MODE_P(複数端子)と、モニター用カウンタを進めるためのクロック信号CLKを入力するクロック入力端子CLK_Pを有する。回路スイッチ制御回路400は、電源切替設定回路100の電源電圧制御メモリのアドレス番号信号SELB[t:0]を発生する電源アドレスカウンタ(レジスタ)420と、電圧検出スイッチSWrの選択アドレスを生成する電圧検出スイッチアドレスカウンタ(レジスタ)410を備える。電源電圧制御メモリのアドレス番号信号SELB[t:0]は電源切替設定回路100のアドレスデコーダ170でデコードされて、電源電圧制御メモリの所定の記憶素子を指定して記憶素子にデータを書き込む。電源切替設定回路100は、その電源電圧制御メモリが記憶した制御内容のデータを電圧制御信号SELCxとして電源切替デコーダ501へ送信し、電源切替デコーダ501が、各回路ブロック300に各電圧供給回路200を接続する各電源切替スイッチ510を切り替える。一方、電圧検出スイッチアドレスカウンタ410の出力は電圧検出スイッチアドレスデコーダ411でデコードされて電圧検出スイッチSWrを制御する。
【0033】
図3のように、回路スイッチ制御回路400は、電圧検出スイッチアドレスカウンタ(レジスタ)410と電源アドレスカウンタ(レジスタ)420をカウンタで構成し、回路スイッチ制御回路400に接続する少数の制御端子MODE_P(複数端子)とクロック入力端子CLK_Pを半導体装置1の入出力端子として増設する。この構成により、図4のように、少数の制御端子MODE_P(複数端子)とクロック入力端子CLK_Pのみを半導体装置1に増設して半導体装置1の外部の検査システム2から制御することで、電源電圧制御メモリの記憶する制御内容のデータを書き換えて多数の電源切替スイッチ510を制御でき、また、半導体装置1内の多数の電圧検出スイッチSWrを制御できる効果がある。このように、この回路スイッチ制御回路400は、その回路を半導体装置1の回路に組み込む場合に、その回路の組み込みに伴い半導体装置1に増設する外部端子の数と、その外部端子用のインターフェース回路の増加が最小限に抑えられる効果がある。
【0034】
回路スイッチ制御回路400の制御端子MODE_P(複数端子)から入力する制御信号MODEnは、半導体装置1を以下の様に制御する制御信号として用いる。
(第1の制御信号)
半導体装置1の電圧検出スイッチを選択する電圧検出スイッチアドレスカウンタ(レジスタ)410の値を、クロック端子CLK_Pから加えるクロック信号CLKにより順にカウントアップする動作(電圧検出スイッチ切り替えモード)を指令する制御信号。
【0035】
(第2の制御信号)
電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtを、クロック端子CLK_Pから加えるクロック信号CLKにより順にカウントアップする動作(電圧制御回路切り替えモード)を指令する制御信号。また、その制御信号と同時に加える制御信号であって、その電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtが指定するアドレス番号の1ビット単位の電源切替設定回路100の電源電圧制御メモリに書き込む制御内容の1ビットの値である”0”又は”1”のデータの指定を制御信号MODEnにより指定する。
【0036】
電源切替設定回路100の1ビット単位の電源電圧制御メモリには、各制御回路130が
1ビットづつ制御内容のデータの読み書きを制御する不揮発性メモリNVMと、電源電圧テスト用レジスタ110の1ビット単位の記憶回路とがある。電源電圧テスト用レジスタ110は、回路ブロック300の1つである記憶回路320の一部を用いて構成しても良い。
【0037】
(電圧検出スイッチの選定動作)
半導体装置1の内部の電圧検出スイッチSWrの選定と、その電圧検出スイッチSWrのゲートを開かせる動作は以下のように行う。以下に説明する検査システム2による、半導体装置1を検査する動作と、電源電圧制御メモリへ制御内容を読み書きする動作は、半導体装置1が半導体のウェハー上に多数形成された状態で行うことができる。図4のように、半導体装置1の外部の検査システム2から、半導体装置1の制御端子MODE_P(複数端子)に、電圧検出スイッチ切り替えモードを指令する制御信号MODEnを入力する。そのようにモードを切り替えた後に、クロック入力端子CLK_Pからクロック信号CLKを入力させることで、図3の電圧検出スイッチアドレスカウンタ(レジスタ)410の値を順にカウントアップする。そして、電圧検出スイッチアドレスカウンタ410の値を電圧検出スイッチアドレスデコーダ411が変換することで所定の電圧検出スイッチSWrのゲートを開かせるスイッチ選択信号SELArとSELArBを発生させる。
【0038】
(電源切替設定回路)
図5には、電源切替設定回路100を示す。電源切替設定回路100は、恒久的にデータを記憶するEEPROM等の不揮発性メモリNVMと、一時的にテスト用の制御内容のデータを記憶する電源電圧テスト用レジスタ110とから構成される電源電圧制御メモリと、電圧制御信号SELCxを記憶するラッチ160と、電源切替設定回路100のレジスタとラッチへのデータの読み書きを制御する書込制御回路120を有する。電源切替設定回路100は、これらの電源電圧制御メモリのアドレス番号信号SELBtを電源アドレスカウンタ(レジスタ)420から受信し、その値をアドレスデコーダ170が変換して1ビットのメモリセルを選択し、そのメモリセルに制御信号MODEnの書き込みデータビットが指定するデータを書き込む。電源電圧制御メモリのメモリセルに記憶した制御内容のデータは論理素子で構成する回路で演算し、演算結果をラッチ160が記憶し、その値を電圧制御信号SELCxとして電源切替デコーダ501へ送信する。
【0039】
電源切替設定回路100の1ビット単位の電源電圧制御メモリが、不揮発性メモリNVMと、電源電圧テスト用レジスタ110の1ビット単位の記憶セルとからなる。それらの電源電圧制御メモリを1ビット単位でアドレスデコーダ170が指定してそれらの電源電圧制御メモリに制御内容のデータを書き込む。不揮発性メモリNVMへの制御内容のデータの読み書きは、制御回路130と、プリセット信号Preで駆動されるPMOSトランジスタTr1とセル選択トランジスタTr3と、トランジスタTr2とインバータ140で行う。不揮発性メモリNVMから読み出した制御内容のデータの値と電源電圧テスト用レジスタ110の1ビット単位の記憶セルから読み出した値をNAND回路150で合成して、その結果をラッチ回路160で記憶して出力信号SELCxとして電源切替デコーダ501に出力する。
【0040】
(電源切替設定回路の電源電圧制御用メモリへのデータの書き込み)
電源電圧制御用メモリのうち、不揮発性メモリNVMは恒久的にデータを記憶し、また、電源電圧テスト用レジスタ110は一時的データを記憶する揮発性メモリであるが、それらの電源電圧制御用メモリの指定と、そのメモリへのデータの書き込みは以下のようにして行う。すなわち、先ず、図4のように、半導体装置1の外部の検査システム2から、半導体装置1の制御端子MODE_P(複数端子)に、電源アドレスカウンタ(レジスタ)420の値をカウントアップする動作モード(電圧制御回路切り替えモード)を指令する制御信号MODEnを入力する。そのようにモードを切り替えた後に、クロック入力端子CLK_Pからクロック信号CLKを入力させることで、図3の電源アドレスカウンタ(レジスタ)420の値を順にカウントアップする。電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtを電源切替設定回路100のアドレスデコーダ170がデコードして1ビットの電源電圧制御用メモリを選定する。そして、その1ビットの電源電圧制御用メモリに、制御信号MODEnの書き込みデータビットのデータを書き込む。
【0041】
(電源切替設定回路の不揮発性メモリNVMの動作)
電源切替設定回路100の不揮発性メモリNVMは、以下のように読み書きする。すなわち、図5の電源切替設定回路100のように、Tr1のドレイン端子が電源ノードVDDに接続され、ソース端子が不揮発性メモリNVMへの書き込み時に書き込み制御回路から出力される書き込み信号PRNが制御回路130を介して選択的に出力される書き込み信号線PRN0に接続されている。電源切替設定回路100の各回路ユニットは、制御回路130が、セル選択トランジスタTr3のゲートを開くとともに、不揮発性メモリNVMのゲート端子に不揮発性メモリ選択信号Nstを送信する。ここで、書き込み信号PRN0は書き込み時のみ出力される信号であり、読み出し時は制御回路と切り離される。
【0042】
(不揮発性メモリNVMが消去状態のときの回路の動作)
不揮発性メモリNVMの読み出し時は、まず、プリチャージ信号Preが一定期間Lowレベルとなり、プリチャージトランジスタTr1がオンし、書き込み信号線PRN0がVDDにプリチャージされる。もし、不揮発性メモリNVMが消去状態のときは、不揮発性メモリNVMはオン状態である。そのため、不揮発性メモリNVMのドレイン端子の電位は接地ノードVSSの電位(0V)に低下し、その電位がインバータ140で反転されて、インバータ140の出力に信号”1”が出力され、その信号がNAND回路150に入力される。NAND回路150の他方の入力端子には、電源電圧テスト用レジスタ110の出力端子が接続され、電源電圧テスト用レジスタ110のデータが反転された信号が出力されラッチ回路160で記憶される。そのラッチ回路160が記憶したデータが出力信号SELCxとして電源切替デコーダ501に出力される。
【0043】
(不揮発性メモリNVMにデータが書き込まれている状態のときの回路の動作)
一方、もし、不揮発性メモリNVMにデータが書き込まれている状態のときは、不揮発性メモリNVMはオフ状態である。その状態で制御回路130から、不揮発性メモリ選択信号Nstが不揮発性メモリNVMのゲート端子に送信されても、不揮発性メモリNVMはオフ状態であり、不揮発性メモリNVMのドレイン端子の電位は電源ノードVDDの電位になり、その電位がインバータ140で反転されて、インバータ140の出力に信号”0”が出力され、その信号がNAND回路150に入力される。このときは、NAND回路150の他方の入力端子に入力されている電源電圧テスト用レジスタ110のデータの値にかかわらず、不揮発性メモリNVMのデータに由来するインバータ140の出力信号”0”が反転された”1”信号がNAND回路150から出力されてラッチ回路160で記憶される。これにより、ラッチ回路160の出力信号SELCxに"1"が出力される。この出力信号SELCxは、電源切替デコーダ501へ入力され、電源切替デコーダ501の出力信号が電源切替スイッチ510を切り替える。
【0044】
(回路ブロックに接続する電圧供給回路の切替)
図6に電源切替デコーダ501と電源切替スイッチ510を示す。電源切替デコーダ501は、電源切替設定回路100が出力する信号SELCxをデコードして信号SELDyを電源切替スイッチ510に出力する。例えば、出力信号SELCxの信号線のうち3本づつを、各回路ブロック300用の電源切替デコーダ501に割り当てる。電源切替デコーダ501の出力信号SELDyによって、電源切替スイッチ510を切り替えて、回路ブロック300に適切な電圧供給回路200を接続する。例えば、各回路ブロック30
0用の電源切替デコーダ501に割り当てた3本の信号線の信号の組み合わせにより、電源切替デコーダ501を8つの異なる状態にし、すなわち、電源切替デコーダ501に、8個の電圧供給回路200から1つを選んで回路ブロック300の電源端子に接続する動作を行わせる。あるいは、出力信号SELCxの信号線のうち4本づつを、各回路ブロック300用の電源切替デコーダ501に割り当て、4本の信号線の信号の組み合わせにより、電源切替デコーダ501を16の異なる状態にし、16個の電圧供給回路200から1つを選んで各回路ブロック300の電源端子に接続することができる。
【0045】
(回路ブロック)
回路ブロック300には、図1のように、アナログ回路310、記憶回路320、ロジック回路330を複数に分割した1つの回路ブロック300と、RF回路350の回路ブロック300とがある。RF回路350は、半導体装置1の外部と無線信号を送受するアンテナ351に接続されている。それぞれの回路ブロック300には、回路ブロックテスト回路301を設ける。それぞれの回路ブロック300の回路ブロックテスト回路301が、その回路ブロック300の機能毎に、回路ブロック300の動作をチェックする回路を構成する。回路ブロックテスト回路301としては、回路ブロックテスト信号入力端子TESTより検査システム2からテスト信号を受信することで動作する回路を構成することができる。回路ブロックテスト回路301の他の構成として、その回路ブロック300の回路の電圧を電圧検出スイッチSWrでモニター用端子MONまで伝送して、検査システム2の電圧測定装置21がその電圧を測定することで回路ブロック300の動作をチェックすることができるようにする回路構成にもできる。また、回路ブロックテスト回路301が、回路ブロック300の動作を能動的にチェックして、その能動的チェック動作による動作の良否の判定結果を回路ブロック動作確認パッドRESより出力して検査システム2に通知する回路構成にもできる。
【0046】
(記憶回路)
以下で、図7から図13を参照して、記憶回路320の回路ブロックテスト回路301の動作を説明する。図7に、半導体チップの一部をなす記憶回路320の例として、SRAMの記憶回路320の回路図を示す。この記憶回路320は1ビットの記憶単位の回路を示す。図7に示すように、記憶回路320は、回路ブロックテスト回路301と、メモリセルアレイ321、行デコーダ322、列デコーダ323、列ゲート324、センスアンプ325、メモリセルから読出したデータを出力する出力バッファ326、アドレス入力回路327から構成されている。図8に、記憶回路320の回路ブロックのレイアウトを示す。図8の記憶回路320の領域に、回路ブロックテスト回路301として、複数のテスト用メモリセルMtestを設置する。
【0047】
図7のように、記憶回路320が、メモリセルアレイ321から読み出したデータの信号を出力バッファ326の出力端子Doutに出力する。記憶回路320の外部から入力されたメモリアドレス信号A0、A1〜A23をアドレス入力回路327が一時的に格納し、そのメモリアドレスを行デコーダ322と列デコーダ323が変換して、メモリセルアレイ321のメモリセルMhk(h=0〜m、k=0〜n)を選択する行選択信号と列選択信号を生成する。
【0048】
記憶回路320の集積回路チップの領域に記憶の最小単位であるメモリセルM00からM2nが規則正しく縦横にマトリックス状に並べられてメモリセルアレイ321を構成している。行方向に配列されるメモリセルM00からM0nのゲートに共通に行線ノードWL0が接続され、行方向に配列されるメモリセルM10からM1nのゲートには共通に行線ノードWL1が接続され、メモリセルM20からM2nのゲートには共通に行線ノードWL2が接続される。これらの行線ノードWLhに行デコーダ322から行選択信号が送信されることによりメモリセルの行が選択される。
【0049】
アドレス入力回路327から行デコーダ322に行アドレスが入力され、行デコーダ322が行選択信号を行線ノードWLhに出力することでメモリ素子Mh0〜Mhn(h=0〜m)が配列されたメモリセルアレイ321の第h行が選択される。
【0050】
また、列方向に配列されるメモリセルM00からM20のドレイン端子には共通に、列ゲート324の列線ノードBL0が接続される。列線ノードBL0は、列ゲート324の列選択トランジスタCG0のソース端子に接続する。列選択トランジスタCG0のゲートには列デコーダ323の列選択ノードCOL0が接続され、その列選択ノードCOL0には列デコーダ323から列選択信号が送信されて列選択トランジスタCG0が駆動される。列ゲート324の列選択トランジスタCG0からCGnのドレインをセンスアンプ325の共通ノードに接続する。列方向に配列されるメモリセルM0nからM2nのドレインには共通に列ゲート324の列線ノードBLnを接続し、列線ノードBLnは、列デコーダ323の列選択ノードCOLnにゲートが接続されている列選択トランジスタCGnのソース端子に接続する。同様に、列線ノードBL0Bも、メモリセルM00からM20に接続される。
【0051】
図9は、図7に示すSRAMのメモリセルMhk(h=0〜m、k=0〜n)の回路図を示す。図9のメモリセルMhkは、フルCMOSシングルポートSRAMセルの回路構成を有する。図9において、メモリセルMhkは、ハイ側電源ノードVDDとストレージノードV0(IN)との間に接続されかつそのゲートがストレージノードV1(OUT)に接続されるPチャネルMOSトランジスタ(絶縁ゲート型電界効果トランジスタ)P1と、ストレージノードV0とロー側電源ノードVSSの間に接続されかつそのゲートがストレージノードV1に接続されるNチャネルMOSトランジスタN1と、ハイ側電源ノードVDDとストレージノードV1の間に接続されかつそのゲートがストレージノードV0に接続されるPチャネルMOSトランジスタP2と、ストレージノードV1とロー側電源ノードVSSとの間に接続されかつそのゲートがストレージノードV0に接続されるNチャネルMOSトランジスタN2と行線ノードWLh上の電圧に従ってストレージノードV0およびV1を、それぞれ、列線ノードBLおよびBLBに結合するNチャネルMOSトランジスタTa1およびTa2を含む。
【0052】
この図9に示すメモリセルMhkの構成においては、PMOSトランジスタP1およびNMOSトランジスタN1がCMOSインバータを構成し、また、PMOSトランジスタP2およびNMOSトランジスタN2が、CMOSインバータを構成し、これらのインバータの入力および出力が交差結合されて、インバータラッチ(フリップフロップ)を構成する。ストレージノードV0(IN)およびV1(OUT)には、互いに相補なデータが保持される。このインバータラッチのデータ保持力に応じて、データ書込/読出時のマージンが決定される。
【0053】
SRAMの動作のばらつきの要因としては、SRAMを構成するトランジスタのバラツキが主要因となり、
(1)PMOSトランジスタ、P1,P2、NMOSトランジスタN1、N2、トランスファートランジスタTa1、Ta2の閾値Vt、コンダクタンスgm、モービリティμのばらつきが影響する。
(2)トランスファートランジスタTa1、Ta2に関しては、バックバイアス特性のばらつきも影響する。
また、SRAMの回路動作としては、インバータを構成する特性の第1のベータレシオ
β1∝β(N1)/β(Ta1)
β2∝β(N2)/β(Ta2)
が大きくなると、図11に示す眼鏡状を成すスタティックノイズマージンの電圧のグラフ
の、眼鏡状のグラフの低電圧側の眼鏡の幅が広くなり、スタティックノイズマージンが増す。
一方、第2のベータレシオ
β3∝β(P1)/β(N1)
β4∝β(P2)/β(N2)
が大きくなると、スタティックノイズマージンの電圧のグラフの、眼鏡状のグラフの高電圧側の眼鏡の幅が広くなり、スタティックノイズマージンが増す。
SRAMを構成するトランジスタのバラツキにより、第1のベータレシオと第2のベータレシオがばらつき、その結果、図11に示すスタティックノイズマージンの大きさがばらつく影響があらわれる。
【0054】
(回路ブロックテスト回路)
図7に示す記憶回路320の回路ブロック300における回路ブロックテスト回路301は、図10のようなテスト用メモリセルMtestを複数用いて構成することができる。すなわち、半導体装置1の集積回路チップにおける、図8のような記憶回路320の回路ブロック300の領域に、複数のテスト用メモリセルMtestを設置する。各テスト用メモリセルMtestは、図10のように、第1のテスト用メモリセルMt1と第2のテスト用メモリセルMt2とで構成する。検査システム2の測定装置21がこのテスト用メモリセルMtestを測定することにより、SRAMのメモリセルMhk(h=0〜m、k=0〜n)の動作マージンを検査し、また、その動作マージンの位置によるバラツキを検査する。
【0055】
図10のように、テスト用メモリセルMtestの第1のテスト用メモリセルMt1のストレージノードV0(IN)に接続するトランスファートランジスタTa1と、第2のテスト用メモリセルMt2のストレージノードV1(OUT)に接続するトランスファートランジスタTa2に回路ブロックテスト信号入力端子TESTを接続する。そして、第1のテスト用メモリセルMt1のストレージノードV1に電圧検出スイッチSW1を接続し、第2のテスト用メモリセルMt2のストレージノードV0に電圧検出スイッチSW2を接続する。回路スイッチ制御回路400が、電圧検出スイッチアドレスカウンタ(レジスタ)410のアドレス値でテスト用メモリセルMtestを選択して、選択されたテスト用メモリセルMtestの電圧検出スイッチSW1をオンにしてストレージノードV1の電圧をモニター用端子MON1に伝送するとともに、電圧検出スイッチSW2をオンにしてストレージノードV0の電圧をモニター用端子MON2に伝送する。なお、更に、回路ブロックテスト信号入力端子TESTの電位とほとんど同じ電位である、第1のテスト用メモリセルMt1のストレージノードV0及び第2のテスト用メモリセルMt2のストレージノードV1にも、新たな電圧検出スイッチを接続して、それらの位置の電位を新たなモニター用端子に伝送して、検査システム2の電圧測定装置21がそれらの電圧を正確に測定できるようにしても良い。
【0056】
(メモリセルの動作マージン検査処理)
メモリセルの動作マージンの検査は、図4のような検査システム2が、外部から半導体装置1の内部の電圧を測定することで、半導体装置1の記憶回路320の回路ブロック300のメモリセルの動作マージンを検査する。検査システム2は、図4のように、電圧測定回路21と駆動電圧走査回路22と検査システム記憶回路23と検査システム演算回路24で構成する。この検査システム2から半導体装置1の制御端子MODE_P(複数端子)に制御信号MODEnが入力され、クロック入力端子CLK_Pにクロック信号CLKのパルスが所定数入力されることにより電源アドレスカウンタ(レジスタ)420の値をカウントアップする。
【0057】
半導体装置1の電源アドレスカウンタ(レジスタ)420の値が電源電圧制御用メモリ
のメモリセルを選定するアドレス番号信号SELBtとなる。そのアドレス番号信号SELBtにより、電源電圧テスト用レジスタ110のメモリセルを指定して、検査システム2が、制御信号MODEnの値を、半導体装置1の制御端子MODE_Pから入力してそのメモリセルに書き込む。こうして電源電圧テスト用レジスタ110に所定のデータを記憶する。そのデータによって、電源切替設定回路100が電源切替デコーダ501に信号SELCxを出力する。その信号SELCxを電源切替デコーダ501がデコードして信号SELDyを出力し、その出力信号SELDyによって電源切替スイッチ510が切り替えられる。そして、回路ブロック300に接続する電源切替スイッチ510が切り替えられることにより、回路ブロック300に適切な電圧供給回路200が接続される。
【0058】
そして、以下のように、検査システム2の電圧測定回路21がメモリセルの電圧を測定してメモリセルのスタティックノイズマージン(SNM)を検査しつつ、記憶回路320に電源を供給する最小限の電圧の電圧供給回路200を探索する。すなわち、検査システム2は、記憶回路320の回路ブロック300に電源を供給する電圧供給回路200を、電圧が高い電圧供給回路200から電圧が低い電圧供給回路200に順次に切り替えて、その電圧の適否を検査システム2が検査する。それにより、記憶回路320の回路ブロック300毎に、その回路ブロック300に供給する最小限度の電源電圧を探索して設定する。
【0059】
(メモリに供給する電圧の適否の判定処理)
検査システム2が、半導体装置1の回路スイッチ制御回路400を制御することで、半導体装置1のチップのレイアウト中の図8のような記憶回路320の回路ブロック300中の複数箇所に設けたテスト用メモリセルMtest毎に、メモリセルの動作マージンを検査する。すなわち、以下のように、スタティックノイズマージン(SNM)のデータを計算し、半導体装置1の記憶回路320のメモリセルの動作マージンを検査する。
【0060】
以下のようにして、半導体装置1の記憶回路320の1つの回路ブロック300の回路ブロックテスト回路301の所定位置に図8のように設置したテスト用メモリセルMtestの、図10のような回路の位置のストレージノードV1(OUT)とV0(IN)の電圧を測定する。先ず、電圧検出スイッチアドレスカウンタ(レジスタ)410の値を電圧検出スイッチアドレスデコーダ411が変換した出力信号が選択した電圧検出スイッチSWrのゲートを開く。すなわち、テスト用メモリセルMtestの回路のストレージノードV1(OUT)とV0(IN)に接続する電圧検出スイッチSWrのゲートを開く。そして、そのストレージノードV1(OUT)とV0(IN)の電圧をモニター用端子MON1とMON2に伝送する。図4のように、検査システム2が、駆動電圧走査回路22が、半導体装置1の回路ブロックテスト信号入力端子TESTに電圧を加えつつ、電圧測定装置21が、モニター用端子MON1とMON2の電圧を測定する。
【0061】
検査システム2の駆動電圧走査回路22は、半導体装置1の回路ブロックテスト信号入力端子TESTに0Vから電源ノードVDDの電圧(1V)までの電圧を順次に切り替えて加えることで、その電圧を図10のテスト用メモリセルMtestの回路に加える。これにより、半導体装置1のテスト用メモリセルMtestが回路ブロックテスト信号入力端子TESTから加えられた電圧に応答して発生した電圧を、モニター用端子MON1とMON2から取り出して検査システム2の電圧測定装置21で測定する。こうして、検査システム2が、駆動電圧走査回路22により回路ブロックテスト信号入力端子TESTに加える電圧を走査しつつ、モニター用端子MON1およびモニター用端子MON2の電圧を電圧測定装置21で測定することで、第1のテスト用メモリセルMt1のストレージノードV1の電圧と第2のテスト用メモリセルMt2のストレージノードV0の電圧の変化を測定する。そして、検査システム演算回路24が、以下に説明するスタティックノイズマージン特性のグラフのデータを作成し、そのグラフからスタティックノイズマージン(SNM)を計算し、メモリセルの動作マージンを判定する検査処理を実施する。
【0062】
(スタティックノイズマージンの計算処理)
以下で、検査システム2による、スタティックノイズマージン(SNM)の計算処理の手順を詳しく説明する。先ず、検査システム2の駆動電圧走査回路22が、半導体装置1の回路ブロックテスト信号入力端子TESTに電圧を加え、その電圧を0Vから電源ノードVDDの電圧(1V)まで順次に切り替えつつ、検査システム2が半導体装置1の記憶回路320の動作を検査する。目標の動作電圧は、0.5Vであるが、ここで、1Vまで電圧を上げるのは、動作範囲を確認するためである。
【0063】
この回路ブロックテスト信号入力端子TESTに加えた電圧が第1のテスト用メモリセルMt1に、トランスファートランジスタTa1を介してストレージノードV0(IN)に入力する電圧を変化させるので、第1のテスト用メモリセルMt1のストレージノードV1(OUT)の電圧がそれに応じて変化する。このストレージノードV1(OUT)の電圧をモニター用端子MON1に伝送し、その電圧を検査システム2の電圧測定装置21が測定して、ストレージノードV1(OUT)の電圧を、回路ブロックテスト信号入力端子TESTに加えた電圧(その電圧をストレージノードV0(IN)の電圧とみなす)の関数として検査システム記憶回路23に記憶する。すなわち、検査システム2が、第1のテスト用メモリセルMt1のストレージノードV0(IN)に入力した電圧の関数のストレージノードV1(OUT)の電圧を検査システム記憶回路23が記憶する。
【0064】
検査システム2の駆動電圧走査回路22が半導体装置1の回路ブロックテスト信号入力端子TESTに加えて0Vから電源ノードVDDの電圧(1V)まで変化させた電圧は、同時に第2のテスト用メモリセルMt2に、トランスファートランジスタTa2を介してストレージノードV1(OUT)に入力されるので、第2のテスト用メモリセルMt2のストレージノードV0(IN)の電圧がそれに応じて変化する。このストレージノードV0(IN)の電圧をモニター用端子MON2に伝送し、その電圧を検査システム2の電圧測定装置21が測定して、ストレージノードV0(IN)の電圧を、回路ブロックテスト信号入力端子TESTに加えた電圧(その電圧をストレージノードV1(OUT)の電圧とみなす)の関数として検査システム記憶回路23に記憶する。すなわち、第2のテスト用メモリセルMt2のストレージノードV1(OUT)に入力した電圧の関数のストレージノードV0(IN)の電圧を検査システム記憶回路23が記憶する。
【0065】
次に、図11のように、検査システム演算回路24が、検査システム記憶回路23に記憶した、第1のテスト用メモリセルMt1のストレージノードV0の電圧の関数としてのストレージノードV1の電圧のグラフ(スタティックノイズマージン特性)のデータと、第2のテスト用メモリセルMt2のストレージノードV1の電圧の関数としてのストレージノードV0の電圧のグラフ(スタティックノイズマージン特性)のデータを比較する演算処理を行う。図11のスタティックノイズマージン特性のグラフは、全て、選択行線ノードWLhの電圧レベルが電源ノードVDDの電圧の場合のグラフを示すが、実線で示される曲線V0およびV1が、それぞれストレージノードV0およびV1のスタティックノイズマージン特性をあらわす。図11(a)と(c)は電源ノードVDDの電圧が1.0Vの場合のグラフであり、図11(b)と(d)は電源ノードVDDの電圧が0.5Vの場合のグラフである。
【0066】
図11(a)に、SRAMのメモリセルMhkを構成するCMOSインバータのスタティックノイズマージン特性を示す。スタティックノイズマージンSNMは、図11(a)の曲線V0およびV1の間の2つの、二重枠の正方形の対角線で示される。この対角線の長さが長いほど、ノイズに対してマージンがあることを示す。検査システム演算回路24が、この特性図における、曲線V0およびV1の間の2つの正方形の対角線の長さ(2つ)を計算して、スタティックノイズマージンSNMとして検査システム記憶回路23に記憶する。
【0067】
プロセスが微細化されてメモリセルMhkを構成する2つのCMOSインバータのトランジスタの特性がばらつくと、このスタティックノイズマージン特性がアンバランスになり、例えば、図11(c)のように、1つの正方形の対角線が短くなる特性図が得られ、動作マージンが悪化する。また、図11(a)と(c)は電源ノードVDDの電圧が1.0Vの例であるが、今後、低電圧化の要求により、メモリセルMhkに供給される電源ノードVDDの電圧が0.5Vになると、図11(b)と(d)のように、更に動作マージンが悪化し、最悪、図11(d)のようになると、1つの正方形の対角線の長さがほとんどゼロになるので、記憶回路320が動作不良を起こす。
【0068】
以上のように、検査システム演算回路24が、テスト用メモリセルMtestの第1のテスト用メモリセルMt1のストレージノードV0(IN)に入力した電圧を横軸にし、ストレージノードV1(OUT)の電圧を縦軸にしたグラフと、第2のテスト用メモリセルMt2のストレージノードV1(OUT)に入力した電圧を横軸にし、ストレージノードV0(IN)の電圧を縦軸にしたグラフを重ね合わせたグラフのデータを作成して、図11(a)の曲線V0およびV1の間の二重枠の正方形の対角線の長さで定義されるスタティックノイズマージンSNMを計算する。そして、検査システム演算回路24は、スタティックノイズマージンSNMが所定範囲内にある場合に、メモリセルが正常に機能すると判定する。
【0069】
このようにして、検査システム2は、半導体装置1の記憶回路320の全部のテスト用メモリセルMtestを検査し、それらのメモリセルMtestのスタティックノイズマージンSNMが所定範囲内にある場合に、記憶回路320が正常に機能すると判定する演算を行う。検査システム2は、こうして、記憶回路320が正常に機能する最小限度の、記憶回路320に供給する電源電圧の値を探索する。そして、その電源電圧を半導体装置1に記憶させ、半導体装置1が最小限度の消費電力で動作し得るように設定する。
【0070】
(変形例1)
記憶回路320における回路ブロックテスト回路301のテスト用メモリセルMtestとしては、図10の構成以外に、図12の構成のテスト用メモリセルMtestを用いることができる。図12のテスト用メモリセルMtestは、記憶回路320で実働するメモリセルMhkに周辺回路を追加することで、そのメモリセルMhkのスタティックノイズマージンSNMを直に測定する回路ブロックテスト回路301としたものである。図12のメモリセルMtestは、実働するメモリセルMhkに周辺回路を追加することで構成するので、記憶回路320の全部のメモリセルMhkに周辺回路を追加してテスト用メモリセルMtestにすることができる。そうすることで、全てのメモリセルMhkのタティックノイズマージンSNMを測定する回路を構成することもできる。
【0071】
図12のテスト用メモリセルMtestは、電圧検出スイッチアドレスデコーダ411が電圧検出スイッチアドレスカウンタ(レジスタ)410の値をデコードすることで検査すべきメモリセルMhkを選択するとともに、1つのメモリセルに対して2つの検査モードを選ぶ。すなわち、電圧検出スイッチアドレスデコーダ411は、回路ブロックテスト信号入力端子TESTに接続して電圧信号を入力する電圧入力スイッチSWIrとSWI(r+1)と、モニター用端子MONに接続して電圧信号を出力する電圧検出スイッチSWrとSW(r+1)を開閉することで、1つのメモリセルMhkに対して2つの検査モードを切り替えて検査用回路を構成する。
【0072】
(1つ目の検査モード)
1つ目の検査モードは、回路ブロックテスト信号入力端子TESTに加えた電圧を、メモリセルMhk用の電圧入力スイッチSWIrを通じて、トランスファートランジスタTa1を介してストレージノードV0(IN)に接続し、メモリセルMhkのストレージノードV1(OUT)の電圧を電圧検出スイッチSWrを通じてモニター用端子MON(MON1)に出力する検査回路を構成する。ここで、回路ブロックテスト信号入力端子TESTの電位がトランスファートランジスタTa1を介して加えられたストレージノードV0の電位は回路ブロックテスト信号入力端子TESTの電位とほとんど同じ電位であるが、そのストレージノードV0の電位も正確に測定するために、この検査モードにおいて、ストレージノードV0にも、新たな電圧検出スイッチを接続して、その位置の電位を別のモニター用端子MON(MON2)に伝送する回路構成にしても良い。
【0073】
(2つ目の検査モード)
2つ目の検査モードは、回路ブロックテスト信号入力端子TESTに加えた電圧を、メモリセルMhk用の電圧入力スイッチSWI(r+1)を通じて、トランスファートランジスタTa2を介してストレージノードV1(OUT)に接続し、メモリセルMhkのストレージノードV0(IN)の電圧を電圧検出スイッチSW(r+1)を通じてモニター用端子MON(MON1)に出力する検査回路を構成する。ここで、1つ目の検査モード用の回路の場合と同様にして、回路ブロックテスト信号入力端子TESTの電位がトランスファートランジスタTa2を介して加えられたストレージノードV1の電位も正確に測定するために、この検査モードにおいて、ストレージノードV1にも、新たな電圧検出スイッチを接続して、その位置の電位を別のモニター用端子MON(MON2)に伝送する回路構成にしても良い。
【0074】
電圧検出スイッチアドレスデコーダ411が、テスト用メモリセルMtest毎にこの2つの検査モード用の2つの指令を、電圧検出スイッチアドレスカウンタ(レジスタ)410から与えられ、その指令をデコードして電圧入力スイッチSWIr、SWI(r+1)と電圧検出スイッチSWr、SW(r+1)を制御する。なお、その電圧検出スイッチアドレスカウンタ(レジスタ)410の値は、検査システム2が、半導体装置1の回路スイッチ制御回路400を電圧検出スイッチ切り替えモードに設定した後に、クロック端子CLK_Pからクロック信号を入力することで電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップすることで設定する。
【0075】
1つ目の検査モードにより、検査システム2の駆動電圧走査回路22が半導体装置1の回路ブロックテスト信号入力端子TESTに加える電圧を変化させ、モニター用端子MONの電圧を検査システム2の電圧測定装置21が測定することで、回路ブロックテスト信号入力端子TESTからトランスファートランジスタTa1を介してストレージノードV0(IN)に入力した電圧の関数として、ストレージノードV1(OUT)の電圧を検査システム記憶回路23が記憶する。同様にして2つ目の検査モードにより、検査システム2の駆動電圧走査回路22が半導体装置1の回路ブロックテスト信号入力端子TESTに加える電圧を変化させ、モニター用端子MONの電圧を検査システム2の電圧測定装置21が測定することで、回路ブロックテスト信号入力端子TESTからトランスファートランジスタTa2を介してストレージノードV1(OUT)に入力した電圧の関数として、ストレージノードV0(IN)の電圧を検査システム記憶回路23が記憶する。
【0076】
次に、図11のように、検査システム演算回路24が、検査システム記憶回路23に記憶した、ストレージノードV0の電圧の関数としてのストレージノードV1の電圧のグラフ(スタティックノイズマージン特性)のデータと、ストレージノードV1の電圧の関数としてのストレージノードV0の電圧のグラフ(スタティックノイズマージン特性)を重ね合わせたグラフのデータを作成して、図11(a)の曲線V0およびV1の間の二重枠の正方形の対角線の長さで定義されるスタティックノイズマージンSNMを計算する。そ
して、検査システム演算回路24は、スタティックノイズマージンSNMが所定範囲内にある場合に、メモリセルが正常に機能すると判定する演算を行う。検査システム2は、こうして、記憶回路320が正常に機能する最小限度の、記憶回路320に供給する電源電圧の値を探索する。そして、その電源電圧を半導体装置1に記憶させ、半導体装置1が最小限度の消費電力で動作し得るように設定する。
【0077】
(メモリ用回路ブロックに接続する電圧供給回路の選定手順)
図13のフローチャートに、検査システム2が半導体装置1の記憶回路320の1つの回路ブロック300毎に、その回路ブロック300に最小限度の電圧を供給する電圧供給回路200を抽出して接続する手順を示す。
(ステップS1)
半導体装置1の外部の検査システム2が、半導体装置1の回路スイッチ制御回路400の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0078】
(ステップS2:メモリ用の電源電圧テスト用レジスタの設定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、その値により、電源切替設定回路100に、回路ブロック300に接続する電圧供給回路200を選択する電源切替デコーダ501に割り当てた信号線に対応する電源電圧テスト用レジスタ110の各ビットのアドレスを指定する。そして、電源アドレスカウンタ(レジスタ)420が制御信号SELBtとして送信したそのアドレスの電源電圧テスト用レジスタ110の1ビット毎に、検査システム2が半導体装置1の制御端子MODE_Pから入力した制御信号MODEnのデータを書き込む。
【0079】
電源切替設定回路100が、電源電圧テスト用レジスタ110の記憶データを不揮発性メモリNVMの記憶データと論理演算して信号SELCxを出力端子から出力し、その信号SELCxの所定の信号線が割り当てられて接続された所定の回路ブロック300用の電源切替デコーダ501に信号SELCxを入力する。その電源切替デコーダ501の出力信号が回路ブロック300に接続する電源切替スイッチ510を切り替えて電圧供給回路200を選択して回路ブロック300に接続する。この処理で電源電圧テスト用レジスタ110が回路ブロック300毎に選択する電圧供給回路200は、電圧が高いものから電圧が低いものに順次に電圧供給回路200を切り替えつつ、以下の処理を実行する。
【0080】
(ステップS3)
次に、検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧検出スイッチ切り替えモードで動作させる制御信号MODEnを入力する。
(ステップS4:テスト用メモリセルMtestの検査)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップする。電圧検出スイッチアドレスデコーダ411が、電圧検出スイッチアドレスカウンタ(レジスタ)410の値を変換して、図10のテスト用メモリセルMtestのストレージノードV1とV0の電圧を測定するスイッチSW1とSW2を同時に選択してオンにするスイッチ選択信号SELArとSELArBを出力する。そして、ストレージノードV1とV0の電圧をモニター用端子MON1とMON2に伝送する。そのモニター用端子MON1とMON2の電圧を検査システム2の電圧測定装置21が測定する。
【0081】
(ステップS5)
次に、検査システム2の駆動電圧走査回路22を、回路ブロックテスト信号入力端子TESTに接続して、駆動電圧走査回路22が、回路ブロックテスト信号入力端子TESTに、0Vから電源ノードVDDの電圧(1V)まで順次に増加する電圧を印加する。このように、駆動電圧走査回路22が回路ブロックテスト信号入力端子TESTに加える電圧を増加させつつ、その各電圧における、モニター用端子MON1およびモニター用端子MON2の電圧を電圧測定装置21で測定して検査システム記憶回路23で記憶する。これにより、検査システム2が、回路ブロックテスト信号入力端子TESTに加えた電圧の関数として、第1のテスト用メモリセルMt1のストレージノードV1の電圧と第2のテスト用メモリセルMt2のストレージノードV0の電圧の変化を検査システム記憶回路23に記録する。そして、検査システム演算回路24が、その記録したデータを用いてスタティックノイズマージン(SNM)を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【0082】
(ステップS6)
以上のステップS5で、検査システム演算回路24が、メモリセルの動作マージンを不良であると判定した場合は、検査システム2が回路ブロック300に接続する電圧供給回路200の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム2は、その処理をステップS7に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップS3に戻り、検査システム2が、図8の記憶回路320のように回路ブロック300の複数箇所に設置した回路ブロックテスト回路301の、残りのテスト用メモリセルMtestのうちの1つのテスト用メモリセルMtestを選んで、その電圧を測定する電圧検出スイッチSWrを指定してステップS5までの処理を実行し、回路ブロック300の全ての箇所のテスト用メモリセルMtestについて処理を実施する。回路ブロック300の全ての箇所のテスト用メモリセルMtestの動作マージンに問題が無かった場合は、検査システム2は、更にステップS1に戻って、回路ブロック300に接続する電圧供給回路200を更に電圧が低いものに切り替えて、ステップS1からステップS6までの処理を繰り返す。
【0083】
(ステップS7)
検査システム2は、回路ブロック300に接続する電圧供給回路200を、電圧VDDが1段階高い電圧供給回路200に切り替えて供給電圧を戻し、その電圧供給回路200を電源切替デコーダ501に選択させる指令を電源切替設定回路100の不揮発性メモリNVMに書き込む。これにより、1つの回路ブロック300の電源切替デコーダ501用の電源切替設定回路100の不揮発性メモリNVMの設定が終了する。
【0084】
(変形例2)
図14のように、半導体装置1の記憶回路320の回路ブロック300の電源ノードVDDは、配線幅が太い主幹配線(縦配線)から枝配線(横配線)を分岐させ、その枝配線に図9のような各メモリセルMhkのPMOSトランジスタP1、P2のソース端子を接続させている。ここで、本実施形態の変形例2として、半導体装置1の記憶回路320の各メモリセルが接続する電源ノードVDDの枝配線の位置に電圧検出スイッチSWrを設置することができる。
【0085】
この変形例2の構成の半導体装置1の記憶回路320の回路ブロック300は以下のように検査することができる。すなわち、回路ブロック300に電圧供給回路200を、供給電圧がより低い電圧供給回路200に切り替えては検査する。電圧供給回路200を切り替える都度、全部のメモリセルMhkの位置の電圧検出スイッチSWrを順次に開いて各位置のメモリセルMhkの電源ノードVDDの電圧をモニター用端子MONに伝送し、その電圧を検査システム2の電圧測定装置21で測定して、検査システム記憶回路23で
記憶する。その電圧検出スイッチSWrの選択のために、電圧検出スイッチアドレスカウンタ(レジスタ)410を順次にカウントアップする。こうして、回路ブロック300の各位置のメモリセルMhkを動作させつつ、メモリセルMhkの位置の電源ノードVDDの電圧を検査システム記憶回路23で記憶し、その電源ノードVDDの電圧の分布(面分布)を得る。その電圧の面分布を解析することで、メモリセルMhkの動作異常を検知する。こうして、回路ブロック300内の全てのメモリセルMhkを正常に動作させることができる最小の電圧の電圧供給回路200を選定する。
【0086】
また、検査システム2から、記憶回路320のアドレス入力回路327にメモリアドレス信号A0、A1〜A23を入力することで、記憶回路320に特定のメモリセルMhkを読み出させ、その読出し動作の際のそのメモリセルMhkの位置の電源ノードVDDの電位や接地ノードVSSの電位の変化を電圧検出スイッチSWrで検出させることにより、メモリセルMhkの動作の良否を詳細に判定することもできる。
【0087】
この変形例2は、記憶回路320の場合に限らず、一般的に、回路の領域の複数箇所の電源ノードVDD又は接地ノードVSSに、電圧検出スイッチSWrを設置することで回路の各位置の回路動作時の電圧の分布(面分布)あるいはその電圧の変動値の分布を検査システム記憶回路23で記憶し、回路の各位置の回路動作時の電圧の分布から半導体装置1の動作を判定することも可能である。
【0088】
(ロジック回路の回路ブロックに接続する電圧供給回路の選定の処理手順)
次に、ロジック回路330用の各回路ブロック300毎に、その回路ブロック300の動作を回路ブロックテスト回路301で検査しつつ、回路ブロック300に接続する電圧供給回路200を選定する。ロジック回路330の回路ブロックテスト回路301は、半導体チップ上のロジック回路330を形成する領域の各部に形成したインバータ回路を接続した図15のようなインバータチェーンで構成したリングオシレータを用いる。このリングオシレータは、ロジック回路330の各部分を代表するインバータをつないで、ロジック回路330の全領域にわたるリングオシレータを回路ブロックテスト回路301として形成することができる。すなわち、回路ブロックテスト回路301を成すリングオシレータは、全部の回路ブロックにまたがる回路に形成し、一方、ロジック回路330の領域はk個の小さな回路ブロック300に細分化し、それぞれの回路ブロック300がそれぞれ電源切替スイッチ510で所定の電源給回路200に接続するように構成することができる。回路ブロックテスト回路301である図15のリングオシレータでは、ごく一部の回路ブロック300のみが動作マージンが小さく電源電圧を低下させることができないが、その部分以外の回路のほとんどの部分の回路ブロック300は電源電圧を下げることができる。これにより、ロジック回路330の領域の全体で見て、低電圧化、低消費電力化が達成できる効果がある。
【0089】
図16のフローチャートに、ロジック回路330の回路ブロック300へ接続する電圧供給回路200の選択の処理手順を示す。
(ステップS8)
半導体装置1の外部の検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧検出スイッチ切り替えモードで動作させる制御信号MODEnを入力する。
【0090】
(ステップS9:ロジック回路の検査)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップする。その値を電圧検出スイッチアドレスデコーダ411が変換して、ロジック回路330の回路ブロックテスト回路301である図16のリングオシレータの出力電圧Voutを測定する電圧検出スイッチSW3に、そのスイッチをオンにするスイッチ選択信号SELArとSELArBを出力して、リングオシレータの出力電圧Voutをモニター用端子MON1に伝送させる。そして、モニター用端子MON1の電圧を検査システム2の電圧測定装置21が測定することで、図17のように発振しているリングオシレータが出力電圧Voutの振幅を測定する。
【0091】
(ステップS10)
半導体装置1の外部の検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0092】
(ステップS11:ロジック回路用の電源電圧テスト用レジスタの設定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、それにより、電源切替設定回路100に、ロジック回路330の回路ブロック300に接続する電圧供給回路200の切り替え情報を記憶する電源電圧テスト用レジスタ110の1ビットづつを指定するアドレス番号信号SELBtを送信し、そのアドレスの電源電圧テスト用レジスタ110の1ビットに、制御信号MODEnが指定した値のデータを書き込む。電源電圧テスト用レジスタ110は、電源切替設定回路100の出力端子から、電源切替デコーダ501の入力端子に出力信号SELCxを出力する。この信号SELCxで指令された電源切替デコーダ501の出力信号が電源切替スイッチ510を切り替えて電圧供給回路200を選択してロジック回路330の回路ブロック300に接続する。この処理で電源電圧テスト用レジスタ110が回路ブロック300毎に選択する電圧供給回路200は、電圧が高いものから電圧が低いものに順次に電圧供給回路200を切り替えつつ、以下の処理を実行する。
【0093】
(ステップS12:リングオシレータの検査)
次に、電圧測定装置21が、ロジック回路330のインバータチェーンで構成したリングオシレータの出力電圧Voutの振幅を測定し、検査システム演算回路24が、図17のように、出力電圧Voutの振幅を回路ブロック300に接続する電圧供給回路200の供給電圧VDDと比較する。検査システム演算回路24は、電圧供給回路200の電圧VDDに比べリングオシレータの出力電圧Voutの振幅が大幅に小さくなる場合を検知し、その場合にロジック回路330の動作を不良と判定する。
【0094】
(ステップS13)
以上のステップS12で、検査システム演算回路24が、ロジック回路330の動作を不良と判定する場合が、検査システム2が、ロジック回路330の回路ブロック300に接続する電圧供給回路200の供給電圧VDDの電圧の低電圧化の限界を検知する場合である。この場合は、検査システム2は、その処理をステップS14に進める。一方、ロジック回路330の動作に問題が無かった場合は、更に、ステップS10に戻り、回路ブロック300に接続する電圧供給回路200を、更に電圧の低い電圧供給回路200切り替えて、ステップS10からステップS13までの処理を実行する。
【0095】
(ステップS14)
検査システム2は、回路ブロック300に接続する電圧供給回路200を、その電圧VDDが1段階高い電圧供給回路200に切り替えて供給電圧を上げ、その電圧供給回路200を選択する電源切替スイッチの制御情報を、ロジック回路330用の電源切替設定回路100の不揮発性メモリNVMに書き込む。これで、半導体装置1のロジック回路330用の電源切替設定回路100の設定が終了する。
【0096】
(変形例3)
次に、変形例3として、図18のように、ロジック回路330の回路ブロックテスト回路301を、半導体チップ上のロジック回路330を形成する領域の各部に形成したインバータ回路を接続したインバータチェーンで構成したリングオシレータと、その出力電圧Voutを入力してリングオシレータの発振周波数を判定する発振周波数判定手段331で構成する。図19のフローチャートに、そのロジック回路330の回路ブロック300へ接続する電圧供給回路200の選択の処理手順を示す。
【0097】
(ステップS15)
半導体装置1の外部の検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧検出スイッチ切り替えモードで動作させる制御信号MODEnを入力する。
【0098】
(ステップS16)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップする。その値を電圧検出スイッチアドレスデコーダ411が変換して、ロジック回路330へ電圧を供給する電圧供給回路200の供給電圧VDDの電圧を測定する電圧検出スイッチSW4に対してスイッチ選択信号SELArとSELArBを送信することで、電圧検出スイッチSW4をオンにして、その供給電圧VDDの電圧をモニター用端子MON1に伝送させる。そして、モニター用端子MON1の電圧を検査システム2の電圧測定装置21が測定することで、電圧供給回路200が設定した供給電圧VDDの実際の値を正確に測定する。
【0099】
(ステップS17)
半導体装置1の外部の検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0100】
(ステップS18)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、それにより、電源切替設定回路100に、ロジック回路330の回路ブロック300に接続する電圧供給回路200の切り替え情報を記憶する電源電圧テスト用レジスタ110の1ビットづつを指定するアドレス番号信号SELBtを送信し、そのアドレスの電源電圧テスト用レジスタ110の1ビットに、制御信号MODEnが指定した値のデータを書き込む。電源電圧テスト用レジスタ110は、電源切替設定回路100の出力端子から、電源切替デコーダ501の入力端子に出力信号SELCxを出力する。この信号SELCxで指令された電源切替デコーダ501の出力信号が電源切替スイッチ510を切り替えて電圧供給回路200を選択してロジック回路330の回路ブロック300に接続する。この処理で電源電圧テスト用レジスタ110が回路ブロック300毎に選択する電圧供給回路200は、電圧が高いものから電圧が低いものに順次に電圧供給回路200を切り替えつつ、以下の処理を実行する。
【0101】
(ステップS19:変形例3のリングオシレータの検査)
図20に示すように、リングオシレータの発振周波数は、電圧供給回路200がロジック回路330に供給する電圧VDDが低下するのにともない発振周波数が低下し、終には発振停止に至る。そのリングオシレータの発振周波数の良否を、ロジック回路330の回
路ブロックテスト回路301に組み込んで動作する発振周波数判定手段331が判定する。
【0102】
(ステップS20)
以上のステップS19で、発振周波数判定手段331が、ロジック回路330の動作を不良と判定した場合は、ロジック回路330の回路ブロックテスト回路301が、回路ブロック300の電圧の低電圧化の限界を検知したことになる。この場合は、発振周波数判定手段331は、ロジック回路330の動作の良否の判定結果を回路ブロック動作確認パッドRESより出力する。検査システム2は、その回路ブロック動作確認パッドRESの出力を読み取って、判定結果が、動作不良と判定された場合は、処理をステップS21に進める。一方、ロジック回路330の動作に問題が無かった場合は、検査システム2が、処理を、更にステップS17に戻し、回路ブロック300に接続する電圧供給回路200を、更に電圧の低い電圧供給回路200切り替えて、ステップS17からステップS20までの処理を実行する。
【0103】
(ステップS21)
検査システム2は、回路ブロック300に接続する電圧供給回路200を、その電圧VDDが1段階高い電圧供給回路200に切り替えて供給電圧を上げ、その電圧供給回路200を選択する電源切替スイッチの制御情報を、ロジック回路330の回路ブロック300用の電源切替設定回路100の不揮発性メモリNVMに書き込む。これで、半導体装置1のロジック回路330用の電源切替設定回路100の設定が終了する。
【0104】
なお、本実施形態のシステムを簡略化したい場合には、図1の回路から、特に、電圧検出スイッチSWrとモニター用端子MONを省略し、図2の回路スイッチ制御回路400から電圧検出スイッチアドレスカウンタ410と電圧検出スイッチアドレスデコーダ411を省略しても、基本的な目的は達成できる。
【0105】
(変形例4)
本実施形態の変形例4の半導体装置1は、図1の回路において、電圧検出スイッチSWrとモニター用端子MONを省略した回路に構成する。その回路スイッチ制御回路400には、図3の回路のうち電源アドレスカウンタ420のみを設け、電圧検出スイッチアドレスカウンタ410は設けない。変形例4の半導体装置1では、各回路ブロック300の電圧の低電圧化の限界の探索のためのテストは、回路の電圧を測定しない方式の回路ブロックテスト回路301によりテストする。特に、変形例4の半導体装置1は、回路スイッチ制御回路400が、自ら、回路ブロック300をテストして、消費電力を低下すべき最低限の電源電圧を探索する検査プログラムの記憶手段を内蔵する。そして、回路スイッチ制御回路400は更に、その検査プログラムに従って電源アドレスカウンタ420のデータを書き変えることができ、また、制御端子MODE_Pの信号を自ら発生することができる回路に構成する。
【0106】
また、回路スイッチ制御回路400は、回路ブロック300の動作を制御する回路を有し、特に、記憶回路320に、検査のためのデータの読み書きを行うインターフェイス回路を有する。これにより、回路スイッチ制御回路400が、電源アドレスカウンタ420と制御端子MODE_Pの信号を制御して、記憶回路320に接続する電圧供給回路200の電圧を順次に下げる制御を行う。そして、回路スイッチ制御回路400が、記憶回路320へデータを書き込んだ後にそのデータを読み出すことで記憶回路320のデータの読み書き機能をテストする。これにより、記憶回路320が正常に機能する最低限界の電源電圧を探索する。回路スイッチ制御回路400は、図18のインバータチェーンで構成したリングオシレータと発振周波数判定手段331で構成した回路ブロックテスト回路301を動作させる制御を行ってロジック回路330のテストを行う。
【0107】
回路スイッチ制御回路400は、半導体装置1の電源投入の際に、半導体装置1の各回路ブロック300をテストして、各回路ブロック300に供給すべき必要最小限度の電源電圧を探索し、その結果の制御内容のデータを電源電圧制御メモリに記憶する。変形例4は、このように、半導体装置1の電源投入毎に毎回、各回路ブロック300をテストスキャンして、各回路ブロック300に供給する必要最小限度の電源電圧を探索し、その電源電圧を供給する制御内容を電源電圧制御メモリに記憶する。そのため、電源切り替え手段の電源切替設定回路100の電源電圧制御メモリには、揮発性メモリである電源電圧テスト用レジスタ110を備えるだけで十分であり、不揮発性メモリNVMを設けなくても良いため、図5の電源切替設定回路100から不揮発性メモリNVMを除いた回路に構成する。変形例4は、半導体装置1の電源投入毎に毎回、各回路ブロック300に供給する必要最小限度の電源電圧を探索して、その結果の制御内容のデータを電源電圧制御メモリに記憶して電源電圧を設定するので、半導体装置1の経時変化により各回路ブロック300が必要とする最小限度の電源電圧が変わっても、最適な電源電圧を自ら探索してその電源電圧を設定するので、半導体装置1を長期間有効に働かせることができる効果がある。
【0108】
<第2の実施形態>
図21に第2の実施形態を示す。第2の実施形態が第1の実施形態と相違する点は、電源切り替え手段の電源切替設定回路100の出力信号SELCxが、電源切替デコーダ501を制御するとともに、電圧供給回路200の電圧を微調整(トリミング調整)することである。また、微調整した電圧を出力した電源ノードVDDqに電圧検出スイッチSWrを接続し電源の電圧の値を正確に測定するようにする。第2の実施形態の電圧供給回路200は、図22のように、電圧調整回路210と電圧レギュレータ220と電圧トリミングデコーダ230からなる。信号SELCxが電圧供給回路200の電圧トリミングデコーダ230を制御することで、電圧供給回路200の出力電圧VDDqを可変にして微調整する。
【0109】
(電圧供給回路の電圧の微調整)
図22に電圧供給回路200の回路を示す。電圧供給回路200は、電圧調整回路210と、電圧レギュレータ220と電圧トリミングデコーダ230からなり、電圧レギュレータ220は、オペアンプ221が、その出力端子の電源ノードVDDqに電圧を出力し、オペアンプ221の正の入力端子に基準電圧VREFを入力する。電圧調整回路210にNMOSトランジスタTrVxを設置し、そのゲート端子に電圧設定回路100の出力信号SELCxを入力する。電圧調整回路210に分割抵抗を設置し、電圧レギュレータ220のオペアンプ221が出力端子の電源ノードVDDqに発生する電圧を、その分割抵抗で分圧する。分割抵抗の所定位置にNMOSトランジスタTrVxのドレイン端子を接続し、NMOSトランジスタTrVxのソース端子を電圧レギュレータ220のオペアンプ221の負の入力端子に接続する。
【0110】
こうして、電圧レギュレータ220のオペアンプ221の出力端子の電源ノードVDDqの電圧を分圧させてオペアンプ221の負の入力端子にフィードバックさせて、オペアンプ221の正の入力端子の基準電圧VREFと比較して、オペアンプ221の出力端子の電源ノードVDDqに電圧を出力する。例えば、基準電圧VREFが0.2Vで、電圧設定回路100の出力信号SELCxの数本の信号線を入力端子に接続した電圧トリミングデコーダ230が信号SELCxに応じて、電源ノードVDDqの電圧を1/2に分圧した位置にドレイン端子を接続したNMOSトランジスタTrV1のゲートを開き、そのドレイン端子の位置の電圧をNMOSトランジスタTrV1のソース端子を接続したオペアンプ221の負の入力端子にフィードバックさせる。この状態の場合は、オペアンプ221の出力端子の電源ノードVDDqに、基準電圧VREFの電圧の2倍の0.4Vの電圧が出力される。
【0111】
例えば、出力信号SELCxの信号線のうち4本づつを、各電圧供給回路200用の電圧トリミングデコーダ230に割り当てる。それにより、4本の信号線の信号の16組の組み合わせに対応する、電圧調整回路210の16個のNMOSトランジスタTrVzのうちの1つのゲートを開くことで、電圧供給回路200の出力電圧VDDqを16段階に微調整することができる。
【0112】
第2の実施形態でも、第1の実施形態と同様の回路ブロック300及び回路ブロックテスト回路301を用いる。
(メモリ用回路ブロックに接続する電圧供給回路の調整手順)
図23と図24のフローチャートに、検査システム2が半導体装置1の記憶回路320の1つの回路ブロック300毎に、その回路ブロック300に最小限度の電圧を供給する電圧供給回路200を抽出して接続し、その電圧を微調整する手順を示す。この実施形態では、回路ブロックテスト回路301に、図12の回路のテスト用メモリセルMtestを用いる場合を説明する。
(ステップS1)
半導体装置1の外部の検査システム2が、半導体装置1の回路スイッチ制御回路400の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0113】
(ステップS2:電源切替デコーダ用の電源電圧テスト用レジスタの設定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、その値により、電源切替設定回路100に、回路ブロック300に接続する電圧供給回路200を選択する電源切替デコーダ501に割り当てた信号線に対応する電源電圧テスト用レジスタ110の各ビットのアドレスを指定する。そして、電源アドレスカウンタ(レジスタ)420が制御信号SELBtとして送信したそのアドレスの電源電圧テスト用レジスタ110の1ビット毎に、検査システム2が半導体装置1の制御端子MODE_Pから入力した制御信号MODEnのデータを書き込む。
【0114】
電源切替設定回路100が、電源電圧テスト用レジスタ110の記憶データを不揮発性メモリNVMの記憶データと論理演算して信号SELCxを出力端子から出力し、その信号SELCxの所定の信号線が割り当てられて接続された所定の回路ブロック300用の電源切替デコーダ501に信号SELCxを入力する。その電源切替デコーダ501の出力信号が回路ブロック300に接続する電源切替スイッチ510を切り替えて電圧供給回路200を選択して回路ブロック300に接続する。この処理で電源電圧テスト用レジスタ110が回路ブロック300毎に選択する電圧供給回路200は、電圧が高いものから電圧が低いものに順次に電圧供給回路200を切り替えつつ、以下の処理を実行する。
【0115】
(ステップS3)
次に、検査システム2が、半導体装置1の制御端子MODE_P(複数端子)から、半導体装置1を電圧検出スイッチ切り替えモードで動作させる制御信号MODEnを入力する。
【0116】
(ステップS4)
(電圧供給回路の電圧の測定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップする。電圧検出スイッチアドレスデコーダ411が、電圧検出スイッ
チアドレスカウンタ(レジスタ)410の値を変換して、電圧供給回路200が出力する電源ノードVDDqに接続する電圧検出スイッチSWrを選択し、その電圧検出スイッチSWrを通じて電源ノードVDDqの電圧をモニター用端子MONに伝送し、その電圧を検査システム2の電圧測定装置21で測定する。
【0117】
(テスト用メモリセルMtestの検査)
次に、続けて、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップし、その値を電圧検出スイッチアドレスデコーダ411が変換して、図12のテスト用メモリセルMtestを選択し、更に、そのテスト用メモリセルMtestの1つ目又は2つ目の検査モードを選択する。これにより、1つ目の検査モードの場合は、回路ブロックテスト信号入力端子TESTに加えた電圧を、メモリセルMhk用の電圧入力スイッチSWIrを通じてストレージノードV0(IN)に接続し、メモリセルMhkのストレージノードV1(OUT)の電圧を電圧検出スイッチSWrを通じてモニター用端子MONに出力する検査回路を構成する。また、2つ目の検査モードの場合は、回路ブロックテスト信号入力端子TESTに加えた電圧を、メモリセルMhk用の電圧入力スイッチSWI(r+1)を通じてストレージノードV1(OUT)に接続し、メモリセルMhkのストレージノードV0(IN)の電圧を電圧検出スイッチSW(r+1)を通じてモニター用端子MONに出力する検査回路を構成する。
【0118】
(ステップS5)
次に、検査システム2の駆動電圧走査回路22が回路ブロックテスト信号入力端子TESTに0Vから電源ノードVDDの電圧(1V)まで順次に増加する電圧を印加しつつ、その各電圧におけるモニター用端子MONの電圧を電圧測定装置21で測定して検査システム記憶回路23で記憶する。これにより、1つ目の検査モードの場合は、メモリセルMhkのストレージノードV0(IN)に加えた電圧の関数としてストレージノードV1(OUT)の電圧の変化を検査システム記憶回路23で記憶する。また、2つ目の検査モードの場合は、メモリセルMhkのストレージノードV1(OUT)に加えた電圧の関数としてストレージノードV0(IN)の電圧の変化を検査システム記憶回路23で記憶する。
【0119】
(ステップS6)
1つ目の検査モードによりステップS5の検査を実施した場合は、ステップS4に戻り、2つ目の検査モードを設定してステップS4からステップS5までを繰り返す。
(ステップS7)
メモリセルMhkを1つ目の検査モードで検査した後に2つ目の検査モードで検査した場合は、検査システム演算回路24が、1つ目の検査モードと2つ目の検査モードで記録したデータを用いてスタティックノイズマージン(SNM)を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【0120】
(ステップS8)
以上のステップS5で、検査システム演算回路24が、メモリセルの動作マージンを不良であると判定した場合は、検査システム2が、回路ブロック300に接続する電圧供給回路200の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム2は、その処理をステップS9に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップS3に戻り、検査システム2が、残りのテスト用メモリセルMtestから1つを選んで、その1つ目の検査モード又は2つ目の検査モードの回路を構成してステップS7までの処理を実行し、回路ブロック300の全ての箇所のテスト用メモリセルMtestについて処理を実施する。回路ブロック300内の全てのテスト用メモリセルMtestについてメモリセルMhkの動作マージンに問題が無かった場合は、検査システム2は、更にステップS1に戻って、回路ブロック300に接続する電圧供給
回路200を更に電圧が低いものに切り替えて、ステップS1からステップS8までの処理を繰り返す。
【0121】
(ステップS9)
検査システム2は、回路ブロック300に接続する電圧供給回路200を、電圧VDDが1段階高い電圧供給回路200に切り替えて供給電圧を戻し、その電圧供給回路200を電源切替デコーダ501に選択させる指令を電源切替設定回路100の不揮発性メモリNVMに書き込む。これにより、1つの回路ブロック300の電源切替デコーダ501用の電源切替設定回路100の不揮発性メモリNVMの設定が終了する。
【0122】
次に、回路ブロック300に接続した電圧供給回路200の電圧を、以下のようにして、最小限度に微調整する。
(ステップS10)
次に、図24のフローチャートのように、半導体装置1の外部の検査システム2が、半導体装置1の回路スイッチ制御回路400の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0123】
(ステップS11:電圧トリミングデコーダ用の電源電圧テスト用レジスタの設定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、その値により、回路ブロック300に接続した電圧供給回路200の電圧を微調整する電圧トリミングデコーダ230の入力端子に割り当てた信号線に対応する電源電圧テスト用レジスタ110の各ビットのアドレスを指定する。そして、電源アドレスカウンタ(レジスタ)420が制御信号SELBtとして送信したそのアドレスの電源電圧テスト用レジスタ110の1ビット毎に、検査システム2が半導体装置1の制御端子MODE_Pから入力した制御信号MODEnのデータを書き込む。
【0124】
電源切替設定回路100が、電源電圧テスト用レジスタ110の記憶データを不揮発性メモリNVMの記憶データと論理演算して信号SELCxを出力端子から出力し、その信号SELCxの所定の信号線が割り当てられた電圧トリミングデコーダ230に信号SELCxを入力する。その電圧トリミングデコーダ230の出力信号が回路ブロック300に接続する電圧供給回路200の電圧調整回路210の複数のNMOSトランジスタTrVzのうちの1つのゲートを開くことで、電圧供給回路200の出力電圧VDDqを微調整する。この処理で電圧供給回路200が出力する電圧を高い電圧から低い電圧に順次に切り替えつつ、以下の処理を実行する。
【0125】
(ステップS12)
次に、検査システム2が、ステップS3からステップS7と同様にして、テスト用メモリセルMtestとその検査モードとを選択して、メモリセルMhkのストレージノードV0(IN)に加えた電圧の関数としてストレージノードV1(OUT)の電圧の変化を測定し、また、ストレージノードV1(OUT)に加えた電圧の関数としてストレージノードV0(IN)の電圧の変化を測定し、それらのデータから、スタティックノイズマージン(SNM)を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【0126】
(ステップS13)
以上のステップS12で、検査システム演算回路24が、メモリセルの動作マージンを不良であると判定した場合は、検査システム2が、回路ブロック300に接続する電圧供給回路200の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム
2は、その処理をステップS14に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップS12に戻り、検査システム2が、残りのテスト用メモリセルMtestから1つを選んで処理を繰り返し、回路ブロック300の全ての箇所のテスト用メモリセルMtestについて処理を実施する。回路ブロック300内の全てのテスト用メモリセルMtestについてメモリセルMhkの動作マージンに問題が無かった場合は、検査システム2は、更にステップS10に戻って、回路ブロック300に接続する電圧供給回路200を更に電圧が低いものに切り替えて、ステップS10からステップS13までの処理を繰り返す。
【0127】
(ステップS14)
検査システム2は、回路ブロック300に接続する電圧供給回路200の電圧調整回路210を電圧トリミングデコーダ230で制御して電圧供給回路200の出力電圧VDDを1段階高い電圧に戻す。その電圧トリミングデコーダ230により電圧調整回路210を制御する指令を電源切替設定回路100の不揮発性メモリNVMに書き込む。これにより、その回路ブロック300に接続させた電圧供給回路200の電圧トリミングデコーダ230用の電源切替設定回路100の不揮発性メモリNVMの設定が終了する。
【0128】
(電圧設定回路の総合設定)
以上のようにして、各回路ブロック300毎に、その回路ブロック300の電源切替デコーダ501用の電源切替設定回路100の不揮発性メモリNVMを設定し、その回路ブロックに接続すべき電圧供給回路200が選定され、更に、その回路ブロック300に接続した電圧供給回路200の電圧トリミングデコーダ230用の電源切替設定回路100の不揮発性メモリNVMを設定し、電圧供給回路200を設定すべき最低電圧を検出できる。このようにして各回路ブロック300毎に、電圧設定回路100が設定すべき各電圧供給回路200の最低電圧を検出する。
【0129】
次に、複数の回路ブロックに共通に接続される電圧供給回路200については、それに接続する全ての回路ブロック300が正常に機能する電圧に電圧供給回路200の電圧を設定する。すなわち、その電圧供給回路200に設定するべき下限電圧を各回路ブロック300毎に得た場合は、それらの下限電圧の中で一番高い電圧を総合的な下限電圧として計算し、その電圧を電圧供給回路200から出力させる。
【0130】
また、以上のように、検査システム2が、個々の回路ブロック300毎に電圧供給回路200の最低電圧を求めてから、その電圧供給回路200に共通に接続する全ての回路ブロック300における電圧供給回路200の出力電圧の下限を定める結果をまとめて電圧供給回路200の出力電圧の下限を計算しても良いが、それ以外の方法として、以下のようにしても良い。
(1)先ず、検査システム2が、全部の回路ブロック300に対して、図23のステップS1からステップS9までの処理のみを実施して、各回路ブロック300毎に接続すべき電圧供給回路200を全て選定する。
(2)次に、検査システム2が、各電圧供給回路200毎にステップS10からS14を実施する。特に、ステップS11で出力電圧を高い値から低い値に順次に下げた後に行うステップS12については以下のように処理することができる。すなわち、ステップS12で、その電圧供給回路200に接続する全ての回路ブロック300に対して動作を確認する処理を行い、その全ての回路ブロック300が正常に動作することを確認しつつ電圧供給回路200の電圧を下げることで、電圧供給回路200の最低電圧を求めることができる。
【0131】
(変形例5)
本実施形態の変形例5の半導体装置1は、図22の回路図の電源切替スイッチ510と
電源切替デコーダ501を省略した電源切り替え手段を用いる。すなわち、変形例5の半導体装置1の電源切り替え手段は、各回路ブロック300に専用に接続した電圧供給回路200の出力電圧を切り替えることで、電圧供給回路200が各前記回路ブロック300に供給する電圧を切り替えるようにする。この電源切り替え手段は、電圧トリミングデコーダ230へ送信する制御信号を変えることで電圧供給回路200が出力する電圧を切り替える。
【0132】
<第3の実施形態>
第3の実施形態では、半導体装置1を、図25のように、同じレベルの電圧を出力する電圧供給回路200を複数用意する。例えば0.6Vレベルの電圧供給回路200を2つ設置し、また、0.4Vレベルの電圧供給回路200を2つ設置する。第3の実施形態では、電源切り替え手段が、回路ブロック300に、複数の同じレベルの電圧の電圧供給回路200を切り替えて接続し、この同じレベルの電圧の電圧供給回路200のうち、所定の回路ブロックに接続した電圧供給回路200の出力電圧をその回路ブロックに最適な電圧に調整する。このように、同じレベルの電圧の電圧供給回路200のそれぞれを異なる電圧に微調整することで、回路ブロック300に接続する電圧供給回路200を適切な回路に切り替える。なお、この半導体装置1の回路の機能ブロックのうち、複数の電源を用いる回路ブロック300には、その複数の電源毎に電源切替スイッチ510を設ける。
【0133】
以下で、図26のフローチャートを用いて、第3の実施形態の半導体装置1における、電圧供給回路200の選択と微調整の手順を説明する。
(各回路ブロック300毎に接続すべき電圧供給回路200を全て選定する)
先ず、検査システム2が、全部の回路ブロック300に対して、図23のステップS1からステップS9までの処理のみを実施して、各回路ブロック300毎に接続すべき電圧供給回路200を全て選定する。
【0134】
(電圧を微調整した電圧供給回路200を回路ブロック300に再割り当てする)
半導体装置1の外部の検査システム2が、図26のフローチャートのように、電圧供給回路200に接続する回路ブロック300の動作を確認しつつ電圧供給回路200の電圧を下げる微調整を行う。その結果、回路ブロック300の電源電圧の下限に合わせて電圧を微調整した電源供給回路200に、その回路ブロック300の接続を切り替えることで、回路ブロック300毎に最適に電圧を微調整した電圧供給回路200を再割り当てすることができる。以下で、その処理を行う図26のフローチャートの手順を詳しく説明する。
【0135】
(ステップS20)
半導体装置1の回路スイッチ制御回路400の制御端子MODE_P(複数端子)から、半導体装置1を電圧制御回路切り替えモードで動作させる制御信号MODEnを入力する。
【0136】
(ステップS21:電圧トリミングデコーダ用の電源電圧テスト用レジスタの設定)
次に、半導体装置1の外部の検査システム2が、クロック信号CLKをクロック入力端子CLK_Pから入力することで、電源アドレスカウンタ(レジスタ)420の値のアドレス番号信号SELBtをカウントアップする。電源アドレスカウンタ(レジスタ)420は、その値により、回路ブロック300に接続した電圧供給回路200の電圧を微調整する電圧トリミングデコーダ230の入力端子に割り当てた信号線に対応する電源電圧テスト用レジスタ110の各ビットのアドレスを指定する。そして、電源アドレスカウンタ(レジスタ)420が制御信号SELBtとして送信したそのアドレスの電源電圧テスト用レジスタ110の1ビット毎に、検査システム2が半導体装置1の制御端子MODE_Pから入力した制御信号MODEnのデータを書き込む。
【0137】
電源切替設定回路100が、電源電圧テスト用レジスタ110の記憶データを不揮発性メモリNVMの記憶データと論理演算して信号SELCxを出力端子から出力し、その信号SELCxの所定の信号線が割り当てられた電圧トリミングデコーダ230に信号SELCxを入力する。その電圧トリミングデコーダ230の出力信号が回路ブロック300に接続する電圧供給回路200の電圧調整回路210の複数のNMOSトランジスタTrVzのうちの1つのゲートを開くことで、電圧供給回路200の出力電圧VDDqを微調整する。この処理で電圧供給回路200が出力する電圧を高い電圧から低い電圧に順次に切り替えつつ、以下の処理を実行する。
【0138】
(ステップS22)
次に、検査システム2が、電圧検出スイッチアドレスカウンタ(レジスタ)410をカウントアップし、その値で電源ノードVDDqに接続する電圧検出スイッチSWrを選択し、電源ノードVDDqの電圧をモニター用端子MONに伝送し電圧測定装置21で測定する。更に、電源供給回路200に接続する全部の回路ブロック300を、その動作の良否を回路ブロックテスト回路301によって検査し動作の良否を判定する。この判定処理は、メモリ320の回路ブロック300の検査の場合では、例えば、図23のステップS3からステップS7の処理で、電圧検出スイッチSWrでテスト用メモリセルMtestの電圧を取り出して測定することで回路ブロック300の動作の良否を判定する。また、ロジック回路330の回路ブロック300の検査の場合では、例えば、図16のステップS8からS12の処理で、電圧検出スイッチSWrでリングオシレータの出力電圧を取り出して測定することで回路ブロック300の動作の良否を判定する。
【0139】
(ステップS23)
以上のステップS22の判定の結果、正常に動作した回路ブロック300と動作不良になった回路ブロックとが混在した場合は、動作不良になった回路ブロック300に対してステップS24の処理を行い、電圧供給回路200の電圧を下げてステップS20からステップS22までの処理を繰り返す。全部の回路ブロック300が正常に動作した場合も、電圧供給回路200の電圧を下げてステップS20からステップS22までの処理を繰り返す。一方、全部の回路ブロック300が動作不良になった場合は、ステップS25の処理を行って処理を終了させる。
【0140】
(ステップS24)
動作不良となった回路ブロック300に対して、新たな、同じレベルの電圧を出力する電圧供給回路200を割り当てる。そして、その新たな電圧供給回路200は、元の電圧供給回路200の微調整された出力電圧を1段階高い電圧に戻した電圧に微調整し、その新たな電圧供給回路200の電圧に制御する電圧トリミングデコーダ230用の制御指令を、電源切替設定回路100の不揮発性メモリNVMに記憶させる。これにより、動作不良となった回路ブロック300に新たな電圧供給回路200が再割り当てされ、その電圧供給回路200の電圧トリミングデコーダ230用の電源切替設定回路100の不揮発性メモリNVMが設定される。この処理が終わったら、ステップS20に戻る。
【0141】
(ステップS25)
全部の回路ブロック300が動作不良になった場合は、電圧供給回路200の微調整された出力電圧を1段階高い電圧に戻し、その電圧に制御する電圧トリミングデコーダ230用の制御指令を、電源切替設定回路100の不揮発性メモリNVMに記憶させる。これにより、回路ブロック300が接続する電圧供給回路200の電圧トリミングデコーダ230用の電源切替設定回路100の不揮発性メモリNVMの設定が終了する。
【0142】
第3の実施形態の半導体装置1は、同じレベルの電圧の電圧供給回路200の出力電圧
を異なる電圧に微調整することで、回路ブロック300に接続する電圧供給回路200を適切な回路に切り替えることにより、半導体装置1の全回路ブロック300毎に最適に電圧を微調整した電圧供給回路200を接続できるので、半導体装置1の更なる低電圧化、低消費電力化が達成できる効果がある。
【符号の説明】
【0143】
1・・・半導体装置
2・・・検査システム
21・・・電圧測定装置
22・・・駆動電圧走査回路
23・・・検査システム記憶回路
24・・・検査システム演算回路
100・・・電源切替設定回路
110・・・電源電圧テスト用レジスタ
120・・・書込制御回路
130・・・制御回路
140・・・インバータ
150・・・NAND回路
160・・・ラッチ
170・・・アドレスデコーダ
200・・・電圧供給回路
210・・・電圧調整回路
220・・・電圧レギュレータ
221・・・オペアンプ
230・・・電圧トリミングデコーダ
300・・・回路ブロック
301・・・回路ブロックテスト回路
310・・・アナログ回路
320・・・記憶回路(メモリ)
321・・・メモリセルアレイ
322・・・行デコーダ
323・・・列デコーダ
324・・・列ゲート
325・・・センスアンプ
326・・・出力バッファ
327・・・アドレス入力回路
330・・・ロジック回路
331・・・発振周波数判定手段
340・・・デジタル無線回路
350・・・RF回路
351・・・アンテナ
400・・・回路スイッチ制御回路
410・・・電圧検出スイッチアドレスカウンタ(レジスタ)
411・・・電圧検出スイッチアドレスデコーダ
420・・・電源アドレスカウンタ(レジスタ)
501・・・電源切替デコーダ
510・・・電源切替スイッチ
A0、A1、A23・・・メモリアドレス信号
BL0、BLB0、BLn、BLBn・・・列線ノード
CG0、CGn・・・列選択トランジスタ
CLK・・・クロック信号
CLK_P・・・クロック入力端子
COL0、COLn・・・列選択ノード
Dout・・・出力端子
Mhk、M00、M0n、M10,M1n,M20,M2n・・・メモリセル
MON、MON1、MON2・・・モニター用端子
MODE_P・・・制御端子
MODEn・・・制御信号
Mtest・・・テスト用メモリセル
Mt1・・・第1のテスト用メモリセル
Mt2・・・第2のテスト用メモリセル
Nst・・・不揮発性メモリ選択信号
NVM・・・不揮発性メモリ
N1、N2・・・NMOSトランジスタ
P1、P2・・・PMOSトランジスタ
Pre・・・プリセット信号
PRN、PRN0、PRNx・・・書き込み信号線
RES・・・回路ブロック動作確認パッド
SELAr、SELArB・・・スイッチ選択信号
SELBt・・・アドレス番号信号
SELC0、SELCx・・・電圧制御信号
SWr、SW1、SW2、SW3、SW4・・・電圧検出スイッチ
Ta1、Ta2・・・トランスファートランジスタ
TEST・・・回路ブロックテスト信号入力端子
Tr1、Tr2・・・PMOSトランジスタ
Tr3・・・セル選択トランジスタ
V0、V0’、V1・・・ストレージノード
VDD、VDDq・・・電源ノード
Vext・・・電源端子
Vout・・・リングオシレータの出力電圧
VREF・・・基準電圧
VSS・・・接地ノード
WL0、WL1、WLh・・・行線ノード

【特許請求の範囲】
【請求項1】
半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備えたことを特徴とする半導体装置。
【請求項2】
請求項1記載の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備することを特徴とする半導体装置。
【請求項3】
請求項1又は2に記載の半導体装置であって、前記電源電圧制御メモリが、揮発性メモリと不揮発性メモリとを有することを特徴とする半導体装置。
【請求項4】
請求項1乃至3の何れか一項に記載の半導体装置であって、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子から入力した信号によって、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む回路スイッチ制御回路を有することを特徴とする半導体装置。
【請求項5】
請求項1乃至4の何れか一項に記載の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電源切替デコーダと、前記電圧供給回路の前記回路ブロックへの接続を切り替える電源切替スイッチを含むことを特徴とする半導体装置。
【請求項6】
請求項1乃至4の何れか一項に記載の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電圧トリミングデコーダと、前記電圧供給回路の出力電圧を切り替える電圧調整回路を含むことを特徴とする半導体装置。
【請求項7】
請求項6記載の半導体装置であって、前記電源切り替え手段が、前記電圧調整回路を含む前記電圧供給回路の複数の組を切り替えて前記回路ブロックに接続することを特徴とする半導体装置。
【請求項8】
請求項4記載の半導体装置であって、前記入力端子の1つの制御端子から制御信号を入力することにより、前記回路スイッチ制御回路が、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む動作モードに切り替えられ、前記入力端子の1つのクロック端子からクロック信号を入力することにより、データを書き込む前記電源電圧制御メモリのアドレスを切り替えることを特徴とする半導体装置。
【請求項9】
請求項1乃至8の何れか一項に記載の半導体装置であって、前記半導体装置の回路の複数箇所に電圧を検出する電圧検出スイッチを有することを特徴とする半導体装置。
【請求項10】
請求項9記載の半導体装置であって、各前記電圧検出スイッチを切り替える動作モードに切り替えられる回路スイッチ制御回路を有し、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子の1つのクロック端子からクロック信号を入力することにより前記半導体装置の回路に接続する前記電圧検出スイッチを切り替えることを特徴とする半導体装置。
【請求項11】
請求項9又は10に記載の半導体装置であって、回路の領域の複数箇所の電源ノード又は接地ノードに、前記電圧検出スイッチを設置したことを特徴とする半導体装置。
【請求項12】
請求項9又は10に記載の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備し、前記回路ブロックの1つが記憶回路であり、前記記憶回路における前記回路ブロックテスト回路がメモリセルの回路に前記電圧検出スイッチを接続して回路の電圧を検出することを特徴とする半導体装置。
【請求項13】
請求項2記載の半導体装置であって、前記回路ブロックの1つがロジック回路であり、前記ロジック回路における前記回路ブロックテスト回路が前記ロジック回路の領域の複数箇所のインバータを接続したインバータチェーンで構成したリングオシレータで構成されていることを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2012−84787(P2012−84787A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−231483(P2010−231483)
【出願日】平成22年10月14日(2010.10.14)
【出願人】(000003193)凸版印刷株式会社 (10,630)
【Fターム(参考)】