(58)【調査した分野】(Int.Cl.,DB名)
前記第1の動作設定時に取得される前記被測定回路の遅延特性情報及び前記第2の動作設定時に取得される前記被測定回路の遅延特性情報に基づいて決定された電圧を前記半導体集積回路の内部回路に供給するチャージポンプ回路を有することを特徴とする請求項1又は2に記載の半導体集積回路。
前記第1のバッファ回路及び前記第2のバッファ回路は、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間とが同じ遅延回路を複数有することを特徴とする請求項1〜3の何れか1項に記載の半導体集積回路。
【背景技術】
【0002】
半導体集積回路は、動作速度や回路面積だけでなく、消費電力も重要な要素の1つであり、低消費電力化が求められるようになってきている。半導体集積回路の消費電力を改善するために、半導体集積回路のプロセスばらつきや使用状況に応じて制御を行う技術がある。例えば、半導体集積回路に供給する電源電圧を制御するASV(Adaptive Supply Voltage)、バックバイアスを制御するABB(Adaptive Body Bias)、動作周波数及び電源電圧を動的に制御するDVFS(Dynamic Voltage Frequency Scaling)等の技術がある。
【0003】
半導体集積回路のプロセスばらつきや使用状況に応じた制御は、センス回路等を用いて半導体集積回路の状態を読み取ることで適切に行うことが可能になる。前述のような低消費電力化技術を適用する場合、半導体集積回路の遅延特性情報は重要であり、半導体集積回路の動作余裕度や速度制御可能な許容値を遅延特性情報から決定することができる。半導体集積回路の遅延特性情報を取得する方法として、リングオシレータを用いる方法(例えば、特許文献1参照)やバッファリングを用いる方法(例えば、特許文献2参照)が知られている。
【0004】
リングオシレータを用いる方法では、被測定回路を用いてリングオシレータを構成して、所定の期間における発振回数を測定する。測定された発振回数に基づいて算出される周波数から、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和が、被測定回路の遅延特性情報として取得することが可能である。なお、ローレベルの信号入力時の遅延時間とは、入力信号がハイレベルからローレベルに変化したときの遅延時間であり、ハイレベルの信号入力時の遅延時間とは、入力信号がローレベルからハイレベルに変化したときの遅延時間である。しかし、リングオシレータを用いる方法では、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間とを精度良く分けることはできない。
【0005】
また、バッファリングを用いる方法では、
図8(A)に示すように、複数の被測定回路のバッファ200をリング状に直列接続してバッファリングを構成する。そして、例えばバッファリングにおけるノードNDAをローレベルに固定し、ノードNDAに対して半周分離れたノードNDBをハイレベルに固定した状態から、その状態を同時に解除して発振を開始させる。ここで、例えば被測定回路であるバッファ200でのローレベルの信号入力時の遅延時間がハイレベルの信号入力時の遅延時間より短い場合、バッファリングのある1つのノードで信号を観測すると、
図8(B)に示すように、ローレベル周りの遅延時間DLLがハイレベル周りの遅延時間DLHより短い。その結果、波形が潰れてハイレベルである期間が徐々に短くなっていき(
図8(B)の210参照)、ある回数発振した後に発振が止まる。
【0006】
このようにバッファリングを用いる方法では、遅延時間の差によって発振が止まるまでの発振回数を測定するとともに、発振が止まったときの信号レベルを取得することで、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との比が、被測定回路の遅延特性情報として取得することが可能である。例えば、N回発振して最終的にハイレベルに固定されていた場合、バッファリングにおいて、ローレベルの信号がN周したときに、ハイレベルの信号が(N+1/2)周したこととなり、ハイレベル周りのほうが速く、ローレベルの信号及びハイレベルの信号のスピード比はN:(N+1/2)であることがわかる。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面に基づいて説明する。
【0014】
前述したように、リングオシレータを用いる方法では、被測定回路の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和を取得することが可能である。また、バッファリングを用いる方法では、被測定回路の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との比を取得することが可能である。
【0015】
リングオシレータを用いる方法によって取得されるローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びバッファリングを用いる方法によって取得されるローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との比を用いれば、ローレベルの信号入力時の遅延時間及びハイレベルの信号入力時の遅延時間のそれぞれの値を取得することは可能である。しかしながら、遅延特性情報を取得するための試験用回路として、被測定回路を用いたリングオシレータ及びバッファリングを別々に半導体集積回路に形成すると、回路面積が大きくなってしまう。
【0016】
そこで、以下に説明する本発明の実施形態では、1つの回路を、被測定回路を用いたリングオシレータ及びバッファリングに切り替えられるようにする。これにより、1つの回路で、被測定回路の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得可能にし、回路面積の増大を抑制しつつ、ローレベルの信号入力時の遅延時間及びハイレベルの信号入力時の遅延時間のそれぞれの値を取得できるようにする。
【0017】
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態における半導体集積回路の構成例を示す図である。第1の実施形態における半導体集積回路は、制御回路10、複数のバッファ20、及びパルスカウンタ30を有する。バッファ20のそれぞれは、被測定回路であり、入力された信号と同じ論理の信号を出力する。
【0018】
複数の被測定回路のバッファ20が直列接続された第1のバッファ回路21の入力(第1のバッファ回路21における初段のバッファ20の入力端子)と制御回路10の第2の出力端子OUT2とが接続される。また、第1のバッファ回路21の出力(第1のバッファ回路21における最終段のバッファ20の出力端子)と制御回路10の第1の入力端子IN1とが接続される。
【0019】
同様に、複数の被測定回路のバッファ20が直列接続された第2のバッファ回路22の入力(第2のバッファ回路22における初段のバッファ20の入力端子)と制御回路10の第1の出力端子OUT1とが接続される。また、第2のバッファ回路22の出力(第2のバッファ回路22における最終段のバッファ20の出力端子)と制御回路10の第2の入力端子IN2とが接続される。ここで、第2のバッファ回路22が有するバッファ20の数は、第1のバッファ回路21が有するバッファ20の数と同じである。
【0020】
制御回路10は、第1の動作設定時には、第1の入力端子IN1に入力された信号と同じ論理の信号を第1の出力端子OUT1から出力する。すなわち、制御回路10は、第1の動作設定時には、第1の入力端子IN1にローレベルの信号が入力された場合には第1の出力端子OUT1からローレベルの信号を出力し、第1の入力端子IN1にハイレベルの信号が入力された場合には第1の出力端子OUT1からハイレベルの信号を出力する。また、制御回路10は、第1の動作設定時には、第2の入力端子IN2に入力された信号と異なる論理の信号(論理反転した信号)を第2の出力端子OUT2から出力する。すなわち、制御回路10は、第1の動作設定時には、第2の入力端子IN2にローレベルの信号が入力された場合には第2の出力端子OUT2からハイレベルの信号を出力し、第2の入力端子IN2にハイレベルの信号が入力された場合には第2の出力端子OUT2からローレベルの信号を出力する。
【0021】
制御回路10は、第2の動作設定時には、第1の入力端子IN1に入力された信号と同じ論理の信号を第1の出力端子OUT1から出力するとともに、第2の入力端子IN2に入力された信号と同じ論理の信号を第2の出力端子OUT2から出力する。このようにして、第1の動作設定時には、回路全体が負の論理になるようにし、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22によってリングオシレータとしての回路機能を実現する。また、第2の動作設定時には、回路全体が正の論理になるようにし、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22によってバッファリングとしての回路機能を実現する。
【0022】
制御回路10は、第1の入力端子IN1に入力された信号に基づく出力信号(例えば、第1の入力端子IN1に入力された信号を論理反転した信号)を第3の出力端子OUT3から出力する。パルスカウンタ30は、制御回路10の第3の出力端子OUT3から出力された出力信号を受けてパルス数をカウントするカウンタ回路である。
【0023】
図2は、本実施形態における制御回路10の構成例を示す図である。制御回路10は、否定論理積演算回路(NAND回路)101〜107、否定論理和演算回路(NOR回路)108、109、インバータ110、111、及び負荷容量LDを有する。
【0024】
NAND回路101は、A入力端子が制御回路10の第1の入力端子IN1に接続され、B入力端子が高電位側内部電源(電圧VDDI)に接続される。NAND回路102は、A入力端子がNAND回路101の出力端子に接続され、B入力端子がNOR回路108の出力端子に接続され、出力端子が制御回路10の第1の出力端子OUT1に接続される。
【0025】
NAND回路103は、A入力端子が制御回路10の第2の入力端子IN2に接続され、B入力端子が高電位側内部電源(電圧VDDI)に接続される。NAND回路104は、A入力端子がNAND回路103の出力端子に接続され、B入力端子が制御回路10の論理制御端子LCTLに接続される。NAND回路105は、A入力端子がNAND回路106の出力端子に接続され、B入力端子がNAND回路104の出力端子に接続され、出力端子が制御回路10の第2の出力端子OUT2に接続される。NAND回路106は、A入力端子が制御回路10の第2の入力端子IN2に接続され、B入力端子がNOR回路109の出力端子に接続される。
【0026】
NAND回路107は、A入力端子が制御回路10の第2の入力端子IN2に接続され、B入力端子が高電位側内部電源(電圧VDDI)に接続される。インバータ111は、入力端子がNAND回路107の出力端子に接続され、出力端子が制御回路10の第3の出力端子OUT3に接続される。したがって、制御回路10の第3の出力端子OUT3からは、NAND回路107及びインバータ111を介して、第1の入力端子IN1に入力された信号と同じ論理の信号が出力される。
【0027】
NOR回路108は、A入力端子がインバータ110の出力端子に接続され、B入力端子が低電位側内部電源(電圧VSSI)に接続される。NOR回路109は、A入力端子がインバータ110の出力端子に接続され、B入力端子が制御回路10の論理制御端子LCTLに接続される。インバータ110は、入力端子が制御回路10の発振制御端子ENに接続される。
【0028】
論理制御端子LCTLは、第1の動作設定とするか、第2の動作設定とするかを切り替える論理制御信号LCTLが入力される端子である。本実施形態では、論理制御信号LCTLがハイレベルである場合、制御回路10、第1のバッファ回路22、及び第2のバッファ回路22の回路全体を負の論理になるように、制御回路10が第1の動作設定とされる。また、論理制御信号LCTLがローレベルである場合、制御回路10、第1のバッファ回路22、及び第2のバッファ回路22の回路全体を正の論理になるように、制御回路10が第2の動作設定とされる。
【0029】
発振制御端子ENは、制御回路10、第1のバッファ回路22、及び第2のバッファ回路22による発振動作を行うか否かを制御する発振制御信号ENが入力される端子である。本実施形態では、発振制御信号ENがハイレベルである場合、制御回路10、第1のバッファ回路22、及び第2のバッファ回路22による発振動作が行われ、発振制御信号ENがローレベルである場合、発振動作が行われないものとする。
【0030】
図2に示した制御回路10は、論理制御信号LCTLがハイレベルであり、かつ発振制御信号ENがハイレベルである場合、第1の動作設定で発振動作を行う。このとき、第1の出力端子OUT1からは、NAND回路101、102を介して、第1の入力端子IN1に入力された信号と同じ論理の信号が出力される。第2の出力端子OUT2からは、NAND回路103、104、105を介して、第2の入力端子IN2に入力された信号とは異なる論理の信号(論理反転した信号)が出力される。
【0031】
また、制御回路10は、論理制御信号LCTLがハイレベルであり、かつ発振制御信号ENがローレベルである場合、第1の動作設定であるが発振動作を行わない。このとき、第1の出力端子OUT1からは、インバータ110、NOR回路108、及びNAND回路102により、固定されたハイレベルの信号が出力される。第2の出力端子OUT2からは、NAND回路103、104、105を介して、第2の入力端子IN2に入力された信号とは異なる論理の信号(論理反転した信号)が出力される。
【0032】
制御回路10は、論理制御信号LCTLがローレベルであり、かつ発振制御信号ENがハイレベルである場合、第2の動作設定で発振動作を行う。このとき、第1の出力端子OUT1からは、NAND回路101、102を介して、第1の入力端子IN1に入力された信号と同じ論理の信号が出力される。第2の出力端子OUT2からは、NAND回路106、105を介して、第2の入力端子IN2に入力された信号と同じ論理の信号が出力される。
【0033】
また、制御回路10は、論理制御信号LCTLがローレベルであり、かつ発振制御信号ENがローレベルである場合、第2の動作設定であるが発振動作を行わない。このとき、第1の出力端子OUT1からは、インバータ110、NOR回路108、及びNAND回路102により、固定されたハイレベルの信号が出力される。第2の出力端子OUT2からは、インバータ110、NOR回路109、及びNAND回路104、106、105により、固定されたローレベルの信号が出力される。
【0034】
ここで、第2の動作設定(正の論理)で発振動作を行う場合、第1の入力端子IN1に入力された信号は、NAND回路101、102を介して第1の出力端子OUT1から出力され、第2の入力端子IN2に入力された信号は、NAND回路106、105を介して第2の出力端子OUT2から出力される。このとき、NAND回路101、102におけるA入力端子を使用して、第1の入力端子IN1から第1の出力端子OUT1に信号が伝わるようにし、NAND回路106、105におけるA入力端子を使用して、第2の入力端子IN2から第2の出力端子OUT2に信号が伝わるようにしている。これにより、第2の動作設定(正の論理)での発振動作では、第1の入力端子IN1から第1の出力端子OUT1までの遅延時間と第2の入力端子IN2から第2の出力端子OUT2までの遅延時間とは等価となる。
【0035】
また、第1の入力端子IN1から第1の出力端子OUT1までの遅延は2段のゲートであり、第2の入力端子IN2から第2の出力端子OUT2までの遅延は2段又は3段のゲートであるので、マルチプレクサ等の回路を用いて切り替える場合よりも遅延時間を低減することができる。
【0036】
なお、
図2に示した負荷容量LDは、第2の動作設定(正の論理)での発振動作開始時に、第1の出力端子OUT1から出力される信号が変化するタイミングと第2の出力端子OUT2から出力される信号が変化するタイミングとを合わせる遅延調整回路である。遅延調整回路としての負荷容量LDにより遅延時間を調整することで、第2の動作設定(正の論理)で発振動作を開始させるときの同時発振が可能になる。なお、
図2には、負荷容量LDとしてインバータ112を用いた例を示しているが、負荷容量LDとして用いる回路は回路構成等に応じて適宜決定すれば良い。
【0037】
図3は、本実施形態における半導体集積回路の動作例を示す図である。
図3には、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22による回路全体が負の論理になるようにして(リングオシレータ)、発振動作を行った後、回路全体が正の論理になるようにして(バッファリング)、発振動作を行う場合の例を示している。
【0038】
リセット信号RSTにより、制御回路10、第1のバッファ回路21、第2のバッファ回路22、及びパルスカウンタ30を初期状態にし、時刻t1においてリセット信号RSTがネゲートされる。このとき、論理制御信号LCTLがハイレベルであるので、制御回路10は、第1の入力端子IN1に入力される信号と同じ論理の信号を第1の出力端子OUT1から出力し、第2の入力端子IN2に入力される信号とは異なる論理の信号(論理反転した信号)を第2の出力端子OUT2から出力する。ただし、時刻t1において、発振制御信号ENはローレベルであるので、第1の出力端子OUT1からの出力はハイレベルに固定されている。したがって、第2のバッファ回路22のバッファの入出力はハイレベルであり、第1のバッファ回路21のバッファの入出力はローレベルである。
【0039】
次に、時刻t2において、発振制御信号ENがローレベルからハイレベルとされると、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22による発振が開始される。そして、時刻t2から所定の時間が経過した後の時刻t3において、発振制御信号ENがハイレベルからローレベルとされ、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22による発振が停止される。時刻t2から時刻t3までの発振動作における出力信号OUT3のパルス数が、パルスカウンタ30によりカウントされる。なお、カウントされたパルス数は、外部に読み出される、あるいはパルスカウンタ30に保持される(パルスカウンタ30に保持する場合、後述するリセット信号RSTにより初期化されない領域に保持するものとする)。
【0040】
続いて、リセット信号RSTにより、制御回路10、第1のバッファ回路21、第2のバッファ回路22、及びパルスカウンタ30を初期状態にするとともに、時刻t4において論理制御信号LCTLをローレベルにした後、時刻t5においてリセット信号RSTがネゲートされる。このとき、論理制御信号LCTLがローレベルであるので、制御回路10は、第1の入力端子IN1に入力される信号と同じ論理の信号を第1の出力端子OUT1から出力し、第2の入力端子IN2に入力される信号と同じ論理の信号を第2の出力端子OUT2から出力する。ただし、時刻t5において、発振制御信号ENはローレベルであるので、第1の出力端子OUT1からの出力はハイレベルに固定されており、第2の出力端子OUT2からの出力はローレベルに固定されている。したがって、第2のバッファ回路22のバッファの入出力はハイレベルであり、第1のバッファ回路21のバッファの入出力はローレベルである。
【0041】
次に、時刻t6において、発振制御信号ENがローレベルからハイレベルとされると、制御回路10の第1の出力端子OUT1からローレベルの信号が出力されるのと同時に、第2の出力端子OUT2からハイレベルの信号が出力され、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22による発振が開始される。その後、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22におけるハイレベル周りの遅延時間とローレベル周りの遅延時間との差によって、例えば時刻t7に発振が止まる。時刻t6以降の発振動作における出力信号OUT3のパルス数が、パルスカウンタ30によりカウントされる。なお、カウントされたパルス数は、その後、外部に読み出される。なお、時刻t2から時刻t3までの発振動作におけるパルス数をパルスカウンタ30に保持した場合には、そのパルス数も読み出される。なお、パルスカウンタ30からのパルス数の読み出し方法は任意であり、例えばスキャンシフト用のクロックを用いたスキャンシフト動作等によって読み出すようにしても良い。
【0042】
このようにして、本実施形態によれば、回路全体を負の論理になるようにして、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22によりリングオシレータとしての回路機能を実現することで、所定の期間における発振回数を測定することができる。これにより、被測定回路であるバッファ20の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和を取得することが可能になる。
【0043】
また、本実施形態によれば、回路全体を正の論理になるようにして、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22によりバッファリングとしての回路機能を実現することで、遅延時間の差によって発振が止まるまでの発振回数及び発振が止まったときの信号レベルを測定することができる。これにより、被測定回路であるバッファ20の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との比を取得することが可能になる。
【0044】
すなわち、本実施形態によれば、制御回路10を制御することで、制御回路10、第1のバッファ回路21、及び第2のバッファ回路22によりリングオシレータとしての回路機能とバッファリングとしての回路機能とを切り替えて実現することができる。したがって、リングオシレータとバッファリングとを別々に設けなくとも、同じ回路で、被測定回路であるバッファ20の遅延特性情報として、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得可能になり、ローレベルの信号入力時の遅延時間及びハイレベルの信号入力時の遅延時間のそれぞれの値を取得することが可能になる。
【0045】
図4は、本実施形態における被測定回路であるバッファ20の例を示す図である。
図4には、
図4(A)に示すようにバッファ20としてNAND回路121とNOR回路122とを用いた例を示している。
図4(A)に示した例では、NAND回路121は、A入力端子に高電位側電源(電圧VDD)が入力され、B入力端子にバッファ20への入力信号が入力される。また、NOR回路122は、A入力端子に低電位側電源(電圧VSS)が入力され、B出力端子にNAND回路121の出力が入力され、出力がバッファ20からの出力信号として出力される。
【0046】
ここで、NAND回路121は、
図4(B)に示すように、Pチャネル型トランジスタT11、T14、及びNチャネル型トランジスタT12、T13を有する。Pチャネル型トランジスタT11、T14は、ソースが高電位側電源(電圧VDD)に接続され、ドレインがNAND回路121のYB出力端子に接続される。また、Pチャネル型トランジスタT11は、ゲートがNAND回路121のA入力端子に接続され、Pチャネル型トランジスタT14は、ゲートがNAND回路121のB入力端子に接続される。Nチャネル型トランジスタT12は、ドレインがNAND回路121のYB出力端子に接続され、ソースがNチャネル型トランジスタT13のドレインに接続され、ゲートがNAND回路121のA入力端子に接続される。Nチャネル型トランジスタT13は、ソースが低電位側電源(電圧VSS)に接続され、ゲートがNAND回路121のB入力端子に接続される。
【0047】
また、NOR回路122は、
図4(C)に示すように、Pチャネル型トランジスタT21、T22、及びNチャネル型トランジスタT23、T24を有する。Pチャネル側トランジスタT21は、ソースが高電位側電源(電圧VDD)に接続され、ドレインがPチャネル型トランジスタT22のソースに接続され、ゲートがNOR回路122のB入力端子に接続される。Pチャネル型トランジスタT22は、ドレインがNOR回路122のYB出力端子に接続され、ゲートがNOR回路122のA入力端子に接続される。Nチャネル型トランジスタT23、T24は、ソースが低電位側電源(電圧VSS)に接続され、ドレインがNOR回路122のYB出力端子に接続される。また、Nチャネル型トランジスタT23は、ゲートがNOR回路122のA入力端子に接続され、Nチャネル型トランジスタT24は、ゲートがNOR回路122のB入力端子に接続される。
【0048】
したがって、
図4(A)に示したように、NAND回路121のA入力端子に高電位側電源(電圧VDD)を入力し、NOR回路122のA入力端子に低電位側電源(電圧VSS)を入力すると、バッファに入力される信号がハイレベルからローレベルに変化した場合に、1段のPチャネル型トランジスタ(T14)と1段のNチャネル型トランジスタ(T24)とによる遅延時間を測定することができる。また、バッファに入力される信号がローレベルからハイレベルに変化した場合に、それぞれ縦積みにした2段のNチャネル型トランジスタ(T12、T13)と2段のPチャネル型トランジスタ(T21、T22)とによる遅延時間を測定することができる。このようにして、トランジスタの単体の遅延や縦積みにしたトランジスタの遅延を測定することが可能になる。
【0049】
また、
図5(A)に示すようにインバータ131−1、131−2を直列接続したバッファ20の内部に、容量負荷(例では、インバータ131−3、131−4)を付加することで、1段目のインバータ131−1の遅延時間を長くすることで、Nチャネル型トランジスタ及びPチャネル型トランジスタそれぞれの遅延特性を取得することが可能である。
図5(A)に示したインバータ131のそれぞれは、
図5(B)に示すようにPチャネル型トランジスタT31及びNチャネル型トランジスタT32を有する。Pチャネル型トランジスタT31は、ソースが高電位側電源(電圧VDD)に接続され、ドレインがNチャネル型トランジスタT32のドレインに接続され、ゲートがインバータ131の入力端子に接続される。Nチャネル型トランジスタT32は、ソースが低電位側電源(電圧VSS)に接続され、ゲートがインバータ131の入力端子に接続される。また、Pチャネル型トランジスタT31のドレインと、Nチャネル型トランジスタT32のドレインとの相互接続点が、インバータ131の出力端子に接続される。
【0050】
なお、
図4及び
図5に示した被測定回路であるバッファ20の構成は一例であり、これに限定されるものではない。本実施形態における被測定回路であるバッファ20の回路構成は取得する遅延特性情報等に応じて適宜選択すれば良い。
【0051】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前述したように、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との比は、発振が止まるまでのパルス数NによりN:(N+1/2)で得られる。そのため、バッファによる被測定回路パスにおいて、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間とがほぼ等しい場合には、パルス数Nの値が大きくなって十分な精度が得られる。一方、バッファによる被測定回路パスにおいて、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との差が大きい(例えば2倍程度の差がある)場合には、数周で発振が止まってしまいパルス数Nが小さく誤差が大きくなってしまう。
【0052】
そこで、以下に説明する第2の実施形態では、被測定回路パスにおけるローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との差が大きい場合、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間とが同じ遅延回路を被測定回路パスに多数挿入する。これにより、発振が止まるまでのパルス数を増加させ、取得される遅延特性情報の精度を向上させる。
【0053】
図6は、第2の実施形態における半導体集積回路の構成例を示す図である。
図6において、
図1に示した構成要素等と同一の機能を有する構成要素等には同一の符号を付し、重複する説明は省略する。第2の実施形態における半導体集積回路は、制御回路10、パルスカウンタ30、複数のバッファ40、及び複数の遅延回路50を有する。なお、
図6においては、
図1に示した第1のバッファ回路及び第2のバッファ回路に相当する構成を簡略化してそれぞれ1つのバッファ40として図示しているが、
図1と同様に複数のバッファが直列接続されている。
【0054】
第1のバッファ回路41及び第2のバッファ回路42のそれぞれは、バッファ40及び複数の遅延回路50が直列接続されている。第1のバッファ回路41のバッファ40は、
図1に示した第1のバッファ回路21に相当する直列接続された複数の被測定回路のバッファを有し、第2のバッファ回路42のバッファ40は、
図1に示した第2のバッファ回路22に相当する直列接続された複数の被測定回路のバッファを有する。
【0055】
遅延回路50は、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間とが同じ回路である。遅延回路50は、例えば
図6に示すように、出力配線等による配線負荷も同じになるようにして接続した2つのインバータ51、52を有する。ここで、複数の遅延回路50は、第1のバッファ回路41及び第2のバッファ回路42に対して同様に挿入される。
【0056】
被測定回路であるバッファの遅延特性情報の取得は、遅延回路50を含む回路構成で、第1の実施形態と同様にして、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得する。すなわち、制御回路10、第1のバッファ回路41、及び第2のバッファ回路42によりリングオシレータ及びバッファリングとしての回路機能とを切り替えてローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得する。
【0057】
また、第1のバッファ回路41及び第2のバッファ回路42からバッファ40を除いた回路構成で、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得する。すなわち、第1のバッファ回路41及び第2のバッファ回路42を挿入した遅延回路50だけとした回路構成で、制御回路10、第1のバッファ回路41、及び第2のバッファ回路42によりリングオシレータ及びバッファリングとしての回路機能を切り替えてローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を取得する。
【0058】
このようにして、バッファ40を含む第1のバッファ回路41及び第2のバッファ回路42で得られた遅延特性情報と、バッファ40を含まない第1のバッファ回路41及び第2のバッファ回路42で得られた遅延特性情報とから、バッファ40におけるローレベルの信号入力時の遅延時間及びハイレベルの信号入力時の遅延時間のそれぞれの値を得ることが可能になる。
【0059】
図6に示したように複数の遅延回路50を挿入することで、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との総和が大きくなる。これにより、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との総和に対する遅延時間の差の割合が小さくなり、遅延時間の差によって発振が止まるまでのパルス数を増加させることができ、取得される遅延特性情報の精度を向上させることができる。
【0060】
なお、
図6に示した例では、直列接続された複数のバッファに相当するバッファ40の後段に、直列接続された複数の遅延回路50を挿入するようにしているが、第1のバッファ回路41及び第2のバッファ回路42に挿入する位置は任意である。第1のバッファ回路41及び第2のバッファ回路42に同じ数の遅延回路50が挿入されていれば良いが、第1のバッファ回路41及び第2のバッファ回路42が配線等を含めて同じ回路構成であることが望ましい。
【0061】
図7は、前述した第1及び第2の実施形態における半導体集積回路を、プロセスばらつきに応じてバックバイアスの電圧制御を行うABBシステムに適用した例を示す図である。
図7(A)にレイアウト例を示すように、チップ150は、領域151にスタンダードセル(ユニットセル)が配置されるとともに、
図1や
図6に示したようなモニター回路(プロセスモニター)152が配置される。また、チップ150には、電気的に切断及び接続でき制御情報を保持するヒューズ回路153や、入力される電力を基にチップ150内部の回路に供給する電源を生成するチャージポンプ回路154や、メモリ回路155を適宜設けられる。
【0062】
また、チップ150は、チップ150の外部とデータ等を入出力する入出力回路(I/O回路)156を有している。
図7に示した例では、例えばモニター回路152用のI/O回路156−1や、ヒューズ回路153用のI/O回路156−2や、チャージポンプ回路154用のI/O回路156−3を図示している。
【0063】
図7(B)は、
図7(A)に示したABBシステムの制御例を示す図である。チップ170内のモニター回路(プロセスモニター)171により、回路機能をリングオシレータ及びバッファリングに切り替えて、ローレベルの信号入力時の遅延時間とハイレベルの信号入力時の遅延時間との和、及びその比を被測定回路の遅延特性情報として取得する。テスター180は、チップ170内のモニター回路171から取得された遅延特性情報を読み出し、読み出した遅延特性情報に基づいて、プロセスばらつきに応じてチップ内のセルにバックバイアスとして供給する電圧を示す電圧コードを決定する。テスター180は、プロセスばらつきに応じて決定した電圧コードをヒューズ回路172に書き込む。
【0064】
そして、チャージポンプ回路173は、ヒューズ回路172に書き込まれた電圧コードに応じたバックバイアス電圧を生成する。このチャージポンプ回路173により生成された電圧を、バックバイアス電源メッシュ及びウェルタップセル174を介して、ウェル領域を通じて電圧コードに応じたバックバイアス電圧として内部回路175のスタンダードセルに供給する。このようにして、プロセスばらつきに応じたバックバイアス電圧の供給を行うことができ、チップのプロセスばらつきに応じて適切な電圧制御を行うことができ、半導体集積回路の低消費電力化を向上させることができる。
【0065】
なお、前述した第1及び第2の実施形態における半導体集積回路は、
図7に示したABBシステムに適用されるだけではなく、ASVやDVFS等の他の低消費電力化の技術に対しても適用可能である。
【0066】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。