(57)【特許請求の範囲】
【請求項１】
機能ブロックに供給するリソースを制御する制御回路と、
電流源に接続され、前記電流源から供給される電流を監視し、前記電流の値に応じた信号を出力する電流監視部と
クロック信号に応答してカウント動作を開始し、前記電流監視部から出力される信号に基づいて前記カウント動作を停止するカウンタと、
を具備し、
前記カウンタは、
前記カウント動作を開始した時刻から前記カウント動作を停止した時刻までに計測されたカウンタ値を出力し、
前記制御回路は、
前記カウンタから出力される前記カウンタ値に基づいて、前記リソースを制御し、
前記電流源は、
外部から供給される制御信号に応答して前記電流の供給を禁止し、
前記電流監視部は、
前記電流源に接続され、前記制御信号に応答して前記電流源から供給される電流を蓄積する第１キャパシタと、
前記電流源に接続され、前記制御信号を反転した反転制御信号に応答して前記電流源から供給される電流を蓄積する第２キャパシタと、
前記制御信号に応答して前記第１キャパシタと前記電流源との接続を遮断する第１スイッチと、
前記反転制御信号に応答して前記第２キャパシタと前記電流源との接続を遮断する第２スイッチと、
クロック信号に応答して、前記電流監視部に、前記電流源から出力される前記電流の供給を開始するスイッチと、
前記電流監視部から供給される電圧に応答して前記カウント動作を停止させるカウンタ制御回路と
を具備し、
前記カウンタは、
前記カウント動作を開始した時刻から前記カウント動作を停止した時刻までに計測されたカウンタ値を出力し、
前記制御回路は、
前記カウンタから出力される前記カウンタ値に基づいて、前記リソースを制御する
モニタ回路。
【請求項２】
請求項１に記載のモニタ回路において、
前記電流監視部は、
前記電流源に接続され、前記電流源から供給される電流に応答して電荷を蓄積するキャパシタと、
前記クロック信号に応答して、前記キャパシタに、前記電流源から出力される前記電流の供給を開始するスイッチと、
前記キャパシタから供給される電圧に応答して前記カウント動作を停止させるカウンタ制御回路と
を具備し、
前記カウンタは、
前記カウント動作を開始した時刻から前記カウント動作を停止した時刻までに計測されたカウンタ値を出力し、
前記制御回路は、
前記カウンタから出力される前記カウンタ値に基づいて、前記リソースを制御する
モニタ回路。
【請求項３】
請求項２に記載のモニタ回路において、
前記キャパシタは、
接続ノードを介して前記電流源に接続され、
前記スイッチは、
前記クロック信号に応答して、前記接続ノードと放電経路との接続を遮断して、前記キャパシタへの前記電流の供給を開始し、
前記クロック信号が停止したときに、前記接続ノードと前記放電経路とを接続して前記キャパシタの前記電荷を放電する
モニタ回路。
【請求項４】
請求項３に記載のモニタ回路において、
前記カウンタ制御回路は、
前記接続ノードに接続される入力端を有するインバータを含み、
前記インバータは、
前記入力端に印加される電圧に基づいて前記キャパシタの充電状態を監視し、
前記充電状態に基づいて、前記カウント動作を停止させる
モニタ回路。
【請求項５】
請求項４に記載のモニタ回路において、
前記インバータは、
前記入力端に印加される電圧が、しきい値電圧を跨いで変化したときに前記カウント動作を停止させる
モニタ回路。
【請求項６】
請求項１から５の何れか１項に記載のモニタ回路において、さらに、
前記カウンタ値と前記リソースとの対応を示すテーブルを備え、
前記制御回路は、
前記カウンタ値に基づいて、前記テーブルを参照して前記リソースを制御する
モニタ回路。
【請求項７】
請求項１に記載のモニタ回路において、
前記電流源は、
前記カウンタ値に基づいて、前記電流の供給を可変にし、
前記電流監視部は、
前記電流源から供給される電流に応じて動作し、データ信号を遅延させた遅延データ信号を生成する遅延回路と、
前記データ信号を保持する第１記憶回路と、
前記遅延データ信号を保持する第２記憶回路と、
前記第１記憶回路の出力と前記第２記憶回路の出力に対する不一致検出を行う論理回路と
を含み、
前記論理回路は、
前記第１記憶回路の出力と前記第２記憶回路の出力の不一致を検出すると、桁上げ信号を出力し、
前記制御回路は、
前記カウンタ値と、前記桁上げ信号に基づいて、前記リソースを制御する
モニタ回路。
【請求項８】
請求項１から７のいずれか１項に記載のモニタ回路において、
前記電流源は、ＭＯＳトランジスタを含み、
前記ＭＯＳトランジスタは、
前記機能ブロックを構成する半導体素子のプロセス水準と同様のプロセス水準で構成され、動作していないときに流れるリーク電流を前記電流として前記キャパシタに供給する
モニタ回路。
【請求項９】
請求項１から８の何れか１項に記載のモニタ回路において、さらに、
前記電流源と前記キャパシタとの間に備えられた配線を含み、
前記配線は、前記機能ブロックを構成する半導体素子のプロセス水準を同様のプロセス水準を有する
モニタ回路。
【請求項１０】
請求項１から９の何れか１項に記載のモニタ回路において、
前記リソースは、
電源電圧またはクロック周波数の少なくとも一方である
モニタ回路。
【請求項１１】
電流源から供給される電流を監視し、前記電流の値に応じた信号を出力する電流監視ステップと、
クロック信号に応答してカウント動作を開始し、前記電流監視部から出力される信号に基づいて前記カウント動作を停止し、前記カウント動作を開始した時刻から前記カウント動作を停止した時刻までに計測されたカウンタ値を出力する計測ステップと、
前記カウンタから出力される前記カウンタ値に基づいて、機能ブロックに供給するリソースを制御するリソース制御ステップと、
外部から供給される制御信号に応答して前記電流の供給を禁止する供給禁止ステップを具備し、
前記電流監視ステップは、
前記制御信号に応答して前記電流源から供給される電流に基づいてして第１キャパシタに電荷を蓄積する第１蓄積ステップと、
前記電流源に接続され、前記制御信号を反転した反転制御信号に応答して前記電流源から供給される電流に基づいてして第２キャパシタに電荷を蓄積する第２蓄積ステップと、
前記制御信号に応答して前記第１キャパシタと前記電流源との接続を遮断する第１遮断ステップと、
前記反転制御信号に応答して前記第２キャパシタと前記電流源との接続を遮断する第２遮断ステップと、
クロック信号に応答して、前記電流監視部に、前記電流源から出力される前記電流の供給を開始する電流供給開始ステップと、
前記電流監視部から供給される電圧に応答して前記カウント動作を停止させるカウント制御ステップと
を具備する
リソース制御方法。
【請求項１２】
請求項１１に記載のリソース制御方法において、
前記計測ステップは、
前記クロック信号に応答して、電流源から出力される電流をキャパシタに供給する供給ステップと、
前記クロック信号に応答してカウント動作を開始するカウント開始ステップと、
前記キャパシタの充電状態に基づいて、前記カウント動作を停止するカウント終了ステップと
を具備する
リソース制御方法。
【請求項１３】
請求項１２に記載のリソース制御方法において、さらに、
前記クロック信号が停止したときに、前記キャパシタと前記電流源との間の接続ノードと放電経路とを接続して前記キャパシタの前記電荷を放電するステップを含み、
前記供給ステップは、
前記クロック信号に応答して、前記接続ノードと前記放電経路との接続を遮断して、前記電流を前記キャパシタに供給するステップを含む
リソース制御方法。
【請求項１４】
請求項１３に記載のリソース制御方法において、
前記カウント終了ステップは、
前記接続ノードの電圧がしきい値電圧をまたいで変動したときに、前記カウント動作を停止するステップを含む
リソース制御方法。
【請求項１５】
請求項１４に記載のリソース制御方法において、さらに、
前記カウンタ値と前記リソースとの対応を示すテーブルを読み出すステップを備え、
前記リソース制御ステップは、
前記カウンタ値に基づいて、前記テーブルを参照して前記リソースを制御するステップを含む
リソース制御方法。
【請求項１６】
請求項１１に記載のリソース制御方法において、さらに、
前記カウンタ値に基づいて、前記電流の供給を可変にする電流変更ステップを含み、
前記電流監視ステップは、
前記電流源から供給される電流に応じて動作する遅延回路によって、データ信号を遅延させた遅延データ信号を生成する遅延データ生成ステップと、
前記データ信号を保持する第１記憶回路から前記データ信号を読み出すデータ信号読み出しステップと、
前記遅延データ信号を保持する第２記憶回路から前記遅延データ信号を読み出す遅延データ信号読み出しステップと、
前記第１記憶回路の出力と前記第２記憶回路の出力に対する不一致検出を行う不一致検出ステップと
を具備し、
前記不一致検出ステップは、
前記第１記憶回路の出力と前記第２記憶回路の出力との不一致を検出したときに、桁上げ信号を出力する桁上げ信号出力ステップを含み、
前記リソース制御ステップは、
前記カウンタ値と、前記桁上げ信号に基づいて、前記リソースを制御する
リソース制御方法。
【請求項１７】
請求項１１から１６のいずれか１項に記載のリソース制御方法において、
前記電流源は、前記機能ブロックを構成する半導体素子のプロセス水準と同様のプロセス水準で構成されたＭＯＳトランジスタを含み、
前記供給ステップは、
前記ＭＯＳトランジスタが動作していないときに流れるリーク電流を、前記電流として前記キャパシタに供給するステップを含む
リソース制御方法。
【請求項１８】
請求項１１から１７のいずれか１項に記載のリソース制御方法において、
前記リソースは、
電源電圧またはクロック周波数の少なくとも一方である
リソース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モニタ回路およびリソース制御方法に関し、特にモニタ回路を用いてリソース（電源電圧やクロック周波数など）を制御して消費電力を低減する技術に関する。
【背景技術】
【０００２】
半導体集積回路の微細化・高集積化に伴って、消費電力が増加することがある。半導体集積回路の消費電力が増加すると、例えば、温度上昇を招くことがある。温度上昇は、素子の寿命を低下させることがある。素子の寿命の低下は、その半導体集積回路を搭載する装置の信頼性の低下につながる。また、半導体集積回路の消費電力が増加すると、要求される電力が、顧客の所有する電源設備の限界が近づくなどの大きな問題につながる場合がある。したがって、半導体集積回路に対する消費電力低減の要求はますます強くなってきている。
【０００３】
ＬＳＩの消費電力を低減する技術として、クロックゲーティングやデータゲーティングなど、動作が不要な論理回路を停止もしくは遅くする技術が知られている。しかしながら、ＬＳＩの高速化や高性能化にともなって、クロック周波数を増加したり、プロセッサコア数をマルチコア化したりすると、こうした手法だけでは電力増加を抑制しきれない。
【０００４】
図１、２は、電力増加を抑制するための回路を示すブロック図である。図１に示される回路は、ＤＶＦＳ（Dynamic Voltage Frequency Scaling)に基づいて構成され、電源ドロップや温度変化をモニタして、電源電圧や周波数を調整している。そして、モニタ量が信頼性や電力限界に影響を与える量とならないように、ダイナミックかつフレキシブルに動作を変えている。これによって、電力がクリティカルな値を超えないようしている。
【０００５】
図２に示される回路は、性能モニタを搭載している。そして、その性能モニタに基づいて、性能に応じてシステム制御を行っている。これらの性能モニタは、一定の遅延を作っておき、ＦＦ（Flip Flop）間でデータが正確にとれるかをモニタする形をとっている。
【０００６】
また、半導体集積回路の遅延時間をモニタする技術としては、例えば、特許文献１（特開昭６１−０４１９７６号公報）に記載の技術が知られている。図３は、特許文献１に記載のリングオシレータ回路を示す回路図である。特許文献１に記載の技術では、半導体集積回路にリングオシレータと、そのリングオシレータの発振周波数を計測する計測回路を内蔵している。計測回路の計測結果の有効ビットを機能検査することにより、遅延時間のモニタを行っている。また、上記の技術以外にも、半導体集積回路の消費電力を低減するための技術が知られている（例えば、特許文献２〜５参照。）。
【０００７】
【特許文献１】特開昭６１−０４１９７６号公報
【特許文献２】特開２００５−０７３４９４号公報
【特許文献３】特開平０１−１９７６７３号公報
【特許文献４】特開平０６−１１８１２２号公報
【特許文献５】特開平０７−０２０２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
関連する技術では、比較的小さな面積で簡便にモニタリングを行うことが難しかった。また、ＦＦ（Flip Flop）等の回路を使用して遅延モニタを構成しているため、タイミングをきちんと設計へ反映しないと動作を調整できないという問題があった。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、機能ブロックに供給するリソースを制御する制御回路と、電流源に接続され、前記電流源から供給される電流に応答して電荷を蓄積するキャパシタと、制御信号に応答して、前記キャパシタに、前記電流源から出力される前記電流の供給を開始するスイッチと、前記制御信号に応答してカウント動作を開始するカウンタと、前記キャパシタから供給される電圧に応答して前記カウント動作を停止させるカウンタ制御回路とを具備するモニタ回路を構成する。
【００１０】
前記カウンタは、前記カウント動作を開始した時刻から前記カウント動作を停止した時刻までに計測されたカウンタ値を出力し、前記制御回路は、前記カウンタから出力される前記カウンタ値に基づいて、前記リソースを制御する。
【発明の効果】
【００１１】
本発明によると、小さな面積で簡便なリソースのモニターが可能なモニタ回路を構成することが可能である。また、そのモニタ回路は、ＬＳＩテスト時の選別用のモニタリングに使用することが可能である。
【００１２】
リーク電流はプロセスばらつきに敏感な物理量で、例えばプロセス水準が遅いトランジスタの場合、リーク電流量は小さくなり、速いトランジスタの場合、リーク電流量は大きくなる。本発明は、リーク電流を用いてチップもしくはチップ内の各論理ユニットの水準モニタリングを行い、電源電圧やクロック周波数を制御することで、消費される電力を低減することができる。
【００１３】
各ユニットもしくはチップごとに最適なリソース（電源電圧やクロック周波数など）を定義することが可能となるため、従来不確定要素として見ていたマージンを排除することができ、チップの消費電力が削減される。また、モニタ回路の回路規模も小さく、小さな面積で実現することができるので、面積増加や回路追加にともなう電力増加などのデメリットを受けることなく、最適な効果を得ることが可能である。
【発明を実施するための最良の形態】
【００１４】
［第１実施形態］
以下に、図面を参照して、本発明を実施するための形態について説明を行う。図４は、本発明の第１実施形態の半導体集積回路１０の構成を例示するブロック図である。第１実施形態の半導体集積回路１０は、モニタ回路１と、電源電圧設定テーブル３を有する記憶部２と、機能ブロック４０とを含んでいる。以下の実施形態では、モニタ回路１が、機能ブロック４０に供給する電源電圧を制御する場合を例示する。機能ブロック４０は複数のユニット（第１ユニット４０ａ、第２ユニット４０ｂ、第３ユニット４０ｃ第４ユニット４０ｄ）を備えている。モニタ回路１は、各ユニット供給する電源電圧値を決定している。
【００１５】
モニタ回路１は、電源線３０に接続されるリーク電流源３１と、クロック発生回路３３から供給される制御用クロックＣＬＫを受け、そのクロック信号に応答して分周クロックを生成する分周器４１と、制御トランジスタ３２と、容量３４と、カウンタ制御回路４と、クロック発生回路３３から供給される制御用クロックＣＬＫを受けるカウンタ３７と、カウンタ３７から供給されるカウンタ値３８を受ける制御回路３９とを含んでいる。
【００１６】
リーク電流源３１は複数のＰチャネルＭＯＳトランジスタを含んでいる。分周器４１は、制御用クロックＣＬＫを分周して、周期を遅くする機能を有する。分周器４１の出力端は、制御トランジスタ３２のゲート電極に接続されている。また、分周器４１の出力端は、カウンタ３７に接続されている。
【００１７】
制御トランジスタ３２は、ＮチャネルＭＯＳトランジスタで構成されている。制御トランジスタ３２は、リーク電流源３１から供給される電流（リーク電流）を測定する測定期間を制御する。制御トランジスタ３２の接地端は、接地線４２に接続されている。制御トランジスタ３２の電源端は、ノードＮ１を介してリーク電流源３１に接続されている。
【００１８】
容量３４の接地端は、接地線４２に接続されている。容量３４の電源端は、ノードＮ１を介してリーク電流源３１に接続されている。容量３４は、ノードＮ１を介して供給される電流に応じて、充電と放電とを行う。カウンタ制御回路４の第１インバータ３５は、容量３４が充電によりＶｔｈ値以上となったことをチェックする。カウンタ制御回路４の第２インバータ３６は、次段のカウンタ３７へ信号を送信する。
【００１９】
カウンタ３７は、容量３４への充電時間を計測した計測結果をカウンタ値３８として出力する。制御回路３９は、このカウンタ値３８を受けて、機能ブロック４０の各ユニット（第１ユニット４０ａ〜第４ユニット４０ｄ）、もしくは、チップへの電源電圧値を決める。
【００２０】
以下に、本実施形態のモニタ回路１の動作について説明する。図５は、第１実施形態の動作を例示するタイミングチャートである。図５の（ａ）は、制御用クロックＣＬＫの動作を例示するは系図である。図５の（ｂ）は、分周器４１から出力される分周クロックの動作を例示する波形図である。図５の（ｃ）は、第１インバータ３５の入力端の電圧を例示する波形図である。図５の（ｄ）は、第２インバータ３６の出力を例示する波形図である。図５の（ｅ）は、カウンタ３７の出力を例示する波形図である。
【００２１】
リーク電流源３１は、非活性化したＰＭＯＳトランジスタを含んでいる。リーク電流源３１は、ＰＭＯＳトランジスタのリーク電流分だけ、電源線３０からの電流をノードＮ１へ供給する。
【００２２】
時刻ｔ１において、活性化していた制御トランジスタ３２は、分周器４１から出力される分周クロックに応答して非活性化する。換言すると、制御トランジスタ３２は、その分周クックに応答してＯＮ状態からＯＦＦ状態に移行する。制御トランジスタ３２が非活性化している場合（ＯＦＦ状態の場合）、容量３４は、ノードＮ１に流れ込む電流に応じて充電される。容量３４が充電されるにつれて、カウンタ制御回路４の第１インバータ３５の入力端に印加される電圧が上昇する。
【００２３】
第１インバータ３５の出力は、初期状態でＨｉｇｈレベルである。時刻ｔ２において、第１インバータ３５の入力端に印加される電圧が閾値Ｖｔｈを超えると、第１インバータ３５の出力は、ＨｉｇｈレベルからＬｏｗレベルへ変化する。なお、閾値Ｖｔｈは、通常、電源電圧の１／２程度である。このとき、第２インバータ３６の入力端には、Ｌｏｗレベルが供給され、したがって、第２インバータ３６の出力は、時刻ｔ２において、初期状態のＬｏｗレベルからＨｉｇｈレベルへ変化する。
【００２４】
カウンタ３７は、活性化していた制御トランジスタ３２が、非活性化したときにカウント動作を開始する。また、カウンタ３７は、第２インバータ３６の出力がＨｉｇｈレベルになった時点でカウント動作を停止する。
【００２５】
本実施形態においては、カウンタ３７は、時刻ｔ１においてカウント動作を開始する。そして、時刻ｔ２においてカウント動作を停止する。また、図５に示されているように、カウンタ３７は、時刻ｔ３においてカウント動作を開始し、時刻ｔ４においてカウント動作を停止する。したがって、カウンタ３７は、容量３４の充電に要した時間をカウンタ値として計測する。
【００２６】
制御トランジスタ３２が活性化している場合（ＯＮ状態の場合）、リーク電流源３１からの電流は、制御トランジスタ３２を通して接地線４２へ流れる。そのため、容量３４への充電は行われない。容量３４に電荷が蓄積していた場合に制御トランジスタ３２が活性化したときは、この制御トランジスタ３２を通して、容量３４の電荷が放電されて、容量３４に蓄積されていた電荷は無くなる。
【００２７】
本実施形態において、制御トランジスタ３２の制御は、制御用クロックＣＬＫに基づいて生成される分周クロックより行われる。なお、制御トランジスタ３２の制御を制御用クロックＣＬＫで行っても良い。クロック発生回路３３を介してモニタ回路１へ供給される制御用クロックＣＬＫに基づいて生成される分周クロックが、Ｌｏｗレベルになると、制御トランジスタ３２は非活性化し（ＯＦＦ状態になり）、制御用クロックＣＬＫがＨｉｇｈレベルになると、制御トランジスタ３２は、活性化する（ＯＮ状態になる）。分周クロックがＬｏｗレベルになると、カウンタ３７はカウンタ動作を開始する。同時に、リーク電流源３１のリーク電流が容量３４へ充電される。カウンタ３７は、容量３４の充電に要する時間の計測を行い、この充電が完了し、第２インバータ３６の出力がＨｉｇｈレベルになると、カウンタ動作を停止する。
【００２８】
次に、カウンタ３７が計測したカウンタ値３８は、ラッチ回路（図示されず）等により保持される。そして、分周クロックがＨｉｇｈレベルになると、カウンタ３７は、第２インバータ３６の出力値に依存することなくカウンタ動作を停止する。分周クロックがＨｉｇｈレベルのとき、制御トランジスタ３２を通して容量３４の放電が行われ、リセット状態となる。このとき、ラッチ回路に保持されたカウンタ値３８は、制御回路３９によって読み出される。制御回路３９は、読み出したカウンタ値３８に基づいて、記憶部２に保持された電源電圧設定テーブル３を参照して、機能ブロック４０のプロセス水準の状態を知り、この機能ブロック４０の電源電圧を決定し、制御を行う。
【００２９】
図６は、電源電圧設定テーブル３の構成を例示するテーブルである。図６に示されているように、電源電圧設定テーブル３には、カウンタ値５と、電源電圧６との対応関係が保持されている。制御を行う際、プロセス水準が速いトランジスタの場合、一般的に論理回路の遅延量も小さくなるため、マージンを多くもった回路動作が想定され、遅いトランジスタの場合、一般的に論理回路の遅延量は大きくなるため、マージンがほぼない回路動作が想定される。
【００３０】
したがって、カウンタ値が大きい場合、トランジスタ性能が遅いため、電源電圧は標準値（例えば、通常が１Ｖの場合は１Ｖなど）を用い、カウンタ値が小さい場合、トランジスタ性能が速いため、電源電圧は下げても所望の性能がでるので、０．９Ｖなど程度に応じて、相応の電源電圧を用いる。図６の例を用いれば、時刻ｔ１から時刻ｔ２までの間に計測されたカウンタ値が“５”となるので、電源電圧は０．８５Ｖに設定することになる。ノーマル状態では１．０Ｖとなるので、電力低減効果は、約２８％削減となる。
【００３１】
［第２実施形態］
以下に、本発明の第２実施形態について説明する。図７は、第２実施形態の半導体集積回路１０におけるモニタ回路１の構成を例示するブロック図である。上述の第１実施形態では、モニタ回路１には、複数のＰＭＯＳトランジスタを有するリーク電流源３１と、ＮＭＯＳトランジスタで構成された制御トランジスタ３２とを備えていた。第２実施形態のモニタ回路１は、複数のＮＭＯＳトランジスタを有する電流源４６と、ＰＭＯＳトランジスタで構成された制御トランジスタ４７とを含んでいる。また、第２実施形態のカウンタ制御回路４は、第３インバータ４３と、第４インバータ４４と、第５インバータ４５とを備えている。
【００３２】
第２実施形態のモニタ回路１において、カウンタ３７は、容量３４の電荷が放電されるまでの時間を計測する。第２実施形態のモニタ回路１において、分周器４８は、第１実施形態と同様に、制御用クロックＣＬＫに基づいて分周クロックを生成する。
【００３３】
図８は、第２実施形態の動作を例示するタイミングチャートである。カウンタ３７は、分周クロックが、Ｈｉｇｈレベルのとき（例えば、時刻ｔ５のとき）に、測定を開始する。カウンタ３７は、分周クロックがＬｏｗレベルのときに測定を停止する。カウンタ制御回路４が、第３インバータ４３と、第４インバータ４４と、第５インバータ４５と備えているので、カウンタ３７は、カウンタ制御回路４の第５インバータ４５の出力が、Ｈｉｇｈレベルになるまでの時間を計測する。なお、カウンタ３７の回路動作を調整すれば、第３インバータ４３の追加は不要となる。
【００３４】
それ以降の制御回路３９等の動作は、第１実施形態と同様である。図８を参照すると、第２実施形態のカウンタ値３８は“４”となり、電源電圧は0.85V設定となる。したがって、第２実施形態のモニタ回路１も、第１実施形態のモニタ回路１と同様に、電力を低減する効果を発揮することができる。
【００３５】
［第３実施形態］
以下に、本発明の第３実施形態について説明を行う。図９は、第３実施形態のモニタ回路１の構成を例示するブロック図である。第３実施形態のモニタ回路１は、リーク電流源３１と容量３４との間に配線４９を備えている。
【００３６】
配線４９は配線長を有し、抵抗成分となる。そのため、配線４９の抵抗分の時定数で、容量３４への電流が充電される時間が変化する。配線抵抗はチップ内部で、トランジスタ同様にプロセスばらつきの差分が大きく観測される。そのため、配線４９を入れることで、トランジスタ水準と配線抵抗ばらつきの双方を合わせたばらつき評価が可能となる。
【００３７】
この配線抵抗は、遅延量への影響が同様に観測されており、相関がとれる。そのため、カウンタ３７によるカウンタ値３８により、電源電圧やクロック周波数の制御を行うことが可能になる。なお、第３実施形態において、容量３４は、第１、第２実施形態と同様に、ＮＷｅｌｌ容量で構成されていることが好ましい。
【００３８】
また、図１０は、複数のＮＭＯＳトランジスタを有する電流源４６と、ＰＭＯＳトランジスタで構成された制御トランジスタ４７とを有するモニタ回路１において、その電流源４６と容量３４との間に配線４９を備えたモニタ回路１の構成を例示する回路図である。図１０に示されるモニタ回路１は、図９のモニタ回路１と同様に、放電時間を計測することも可能である。
【００３９】
［第４実施形態］
以下に、図面を参照して、本発明を実施するための第４の形態について説明を行う。図１１は、第４実施形態のモニタ回路１の構成を例示する回路図である。第４実施形態のモニタ回路１は、電源線３０に接続される複数のＰＭＯＳトランジスタを有するリーク電流源５１と、その複数のＰＭＯＳトランジスタのＯＮ／ＯＦＦの切り替えを行うための制御信号ＣＴＬを受ける制御信号供給端子５３と、リーク電流監視ユニット５２とを含んでいる。
【００４０】
リーク電流監視ユニット５２は、制御信号ＣＴＬを反転して反転制御信号ＣＴＬＢを出力するインバータ５４と、制御信号ＣＴＬに応じてＯＮ／ＯＦＦが切り替わる第１ＮＭＯＳトランジスタ５５と、その第１ＮＭＯＳトランジスタ５５に接続される第１キャパシタ５６と、反転制御信号ＣＴＬＢに応じてＯＮ／ＯＦＦが切り替わる第２ＮＭＯＳトランジスタ５７と、その第２ＮＭＯＳトランジスタ５７に接続される第２キャパシタ５８とを含んでいる。
【００４１】
また、第４実施形態のモニタ回路１は、制御トランジスタ３２と、制御用クロックＣＬＫを受けるクロック発生回路３３と、制御用クロックＣＬＫに応答して分周クロックを生成する分周器４１とを含んでいる。制御トランジスタ３２は、測定時に非活性化し、測定時以外は、活性化することで容量（第１キャパシタ５６、第２キャパシタ５８）への電荷チャージをせず、ＧＮＤへ電流を流す役割を担う。
【００４２】
ここで、カウンタ制御回路４は、第１キャパシタ５６もしくは第２キャパシタ５８へチャージされる電荷が、第１インバータ３５の閾値を超えると、その第１インバータ３５から出力されるＬｏｅレベルの信号を、第２インバータ３６へ供給する。第２インバータ３６は、そのＬｏｗレベルの信号に応答して、カウンタ３７へＨｉｇｈレベルの信号を供給する。カウンタ３７では、カウンタＣＬＫによってカウント動作を行い、そのカウント動作によって得られたカウンタ値３８を制御回路３９に供給する。制御回路３９は、そのカウンタ値３８に基づいて機能ブロック４０の各ユニット（第１ユニット４０ａ〜第４ユニット４０ｄ）への電源電圧やＣＬＫ周波数などの制御を行う。
【００４３】
図１１に示されているように、第４実施形態のリーク電流源５１は、制御信号ＣＴＬによりリーク（Ｉｏｆｆ）電流源とＩｏｎ電流源とを切り替えることが可能である。リーク電流源５１からの電流は、制御トランジスタ３２がＯＦＦの場合、制御信号供給端子５３に供給される制御信号ＣＴＬに応じて、第１キャパシタ５６もしくは第２キャパシタ５８へチャージアップされる。具体的には、制御信号ＣＴＬがＬｏｗレベルのとき、リーク電流源５１は、Ｉｏｎ電流源となり、第２ＮＭＯＳトランジスタ５７がＯＮとなり第２キャパシタ５８が選択される。そして、Ｉｏｎ電流の大きさが測定されることになる。制御信号ＣＴＬがＨｉｇｈレベルの時、リーク電流源５１はＩｏｆｆ電流源となり、第１ＮＭＯＳトランジスタ５５がＯＮとなり、第１キャパシタ５６が選択される。そして、Ｉｏｆｆ電流の大きさが測定されることになる。
【００４４】
例えば、容量素子の容量値を設計する場合、第２キャパシタ５８の容量値が、第１キャパシタ５６の容量値より３桁程度大きく設計することが好ましい。これによって、Ｉｏｎ電流がＩｏｆｆ電流より３桁程度大きいことを想定できる。一般にＩｏｎ電流は、トランジスタの遅延性能の指標となり、Ｉｏｆｆ電流はリークの大きさ（電力）の指標となる。Ｉｏｎ電流とＩｏｆｆ電流とは、チップ水準に大きく関与するため、２つの指標で評価することによって、より精度の高い制御が可能となる。なお、第４実施形態において、リーク電流源５１を、複数のＮＭＯＳトランジスタを含む電流源で構成してもよい。その場合、各構成要素のＰ型とＮ形とを、リーク電流源５１の構成に合わせて変更すればよい。さらに、容量素子（第１キャパシタ５６、第２キャパシタ５８）とリーク電流源５１の間に、配線４９を入れることで、配線遅延も考慮した制御が可能となる。
【００４５】
［第５実施形態］
以下に、図面を参照して本発明を実施するための第５の形態について説明を行う。図１２は、第５実施形態のモニタ回路１の構成を例示する回路図である。第５実施形態のモニタ回路１は、スイッチ群６３とリーク電流源６２を有するリーク電流供給ユニット６１と、データ信号ＤＡＴＡを受けるデータ供給端子６４と、遅延回路６５と、第１フリップフロップ６６と、第２フリップフロップ６７と、ＥＸＯＲ回路６８とを含んでいる。
【００４６】
リーク電流供給ユニット６１は、電源線３０とリーク電流源６２との間に、スイッチとなるスイッチ群６３を備えている。スイッチ群６３を構成する複数のＮＭＯＳトランジスタは、後述のカウンタ３７のカウンタ出力によってＯＮ／ＯＦＦが決定される。
【００４７】
リーク電流源６２から供給される電流は、遅延回路６５の電源として供給される。つまり、この電流量が小さいと、遅延回路６５の電源は低いままなので、遅延回路６５の遅延量は大きくなる。逆に電流量が大きくなると、遅延回路６５の遅延量は小さくなる。
【００４８】
データ供給端子６４が受け取るデータ信号ＤＡＴＡは、この遅延回路６５を通って第２フリップフロップ６７へ供給される。同時に、遅延回路６５を介さずに、直接第１フリップフロップ６６へも同じデータ信号ＤＡＴＡが供給される。本実施形態におけるデータ信号ＤＡＴＡは、１／０を繰り返すトグルパタンとなっている。
【００４９】
この第１フリップフロップ６６、第２フリップフロップ６７の出力は、ＥＸＯＲ回路６８に供給される。ＥＸＯＲ回路６８は、受け取った信号の不一致検出を行う。第１フリップフロップ６６、第２フリップフロップ６７へのＣＬＫ供給は、クロック発生回路３３より行う。ＥＸＯＲ回路６８で不一致を検出すると、桁上げ信号ＣＡＲがＨｉｇｈとなり、カウンタ３７のカウンタ値が１増える。カウンタ３７の初期値は０に設定しておく。そして、０から１ずつカウンタ値が増えると、スイッチ群６３を構成するＮＭＯＳトランジスタが、１つずつＯＮされてゆき、リーク電流源６２から供給される電流量が増えていく。これによって、遅延回路６５の遅延量は次第に小さくなってゆく。
【００５０】
初期段階においては、遅延回路６５の遅延量が大きく、ＥＸＯＲ回路６８は不一致ばかりを出力するが、この動作を繰り返してスイッチ群６３のＯＮとなる素子数が増えれば、リーク電流源６２は順次大きくなり、遅延回路６５の遅延量が適当に小さくなった時、ＥＸＯＲ回路６８は不一致を検出しなくなる。このとき、ＥＸＯＲ回路６８はＬｏｗレベルを出力する。この時点で制御回路３９は制御の完了を認識して、そのときのホールドされているカウンタ３７のカウンタ値を読み込み、このカウンタ値に応じて、機能ブロック４０の各ユニット（第１ユニット４０ａ〜第４ユニット４０ｄ）の電源電圧やＣＬＫ周波数の制御を行う。
【００５１】
チップ水準に応じて、リーク電流源６２のＩｏｆｆ電流量は大きく異なるため、このカウンタ値を読み込めば、どのカウンタ値のときにリーク電流源６２が十分な電流を供給できたを判断することができる。換言すると、第５実施形態のモニタ回路１は、カウンタ値に基づいてチップ水準をモニターすることが可能となる。
【００５２】
第５実施形態において、リーク電流源６２は、複数のＮＭＯＳトランジスタを有する電流源でもよい。その場合、各構成要素のＰ型とＮ形とを、リーク電流源５１の構成に合わせて変更すればよい。さらに、遅延回路６５とリーク電流源６２の間に、配線４９を入れることで、配線遅延も考慮した制御が可能となる。
【００５３】
上述の複数の実施形態において、モニタ回路１は、機能ブロック４０に供給する電源電圧の調整を行っている。モニタ回路１が、その電源電圧の調整でなく、機能ブロック４０（またはチップ）のコアロジック部へ供給されるクロック周波数を調整してもよい。また、電源電圧の調整をクロック周波数の調整の両方を行っても良い。
【００５４】
論理ユニットごとの制御ではなく、チップごとに制御を行う場合は、モニタ回路１を搭載するチップのＬＳＩテスト時に、テスタによってそのモニタ回路１を動作させ、チップの水準を評価することが好ましい。それによって、そのチップの電源電圧やコアロジックのクロック周波数を規定することができる。この場合に、水準別にまとめて同じ電源電圧やコアロジックのクロック周波数として用いてもよい。
【００５５】
また、モニタ回路１をシステムに搭載した後、チップごとに水準を管理しておき、電源電圧やコアロジックのクロック周波数を制御してもよい。その場合には、ＬＳＩテスト時ではなく、搭載後にカウンタ値の読取動作を行い、制御してもよい。
【００５６】
上述の実施形態では、制御用クロックＣＬＫを、必要に応じて分周器４１により分周して用いている。この分周により、どの制御用クロックＣＬＫの周期が適当かは、容量３４へリーク電流源から充電が完了する時間に依存する。
【００５７】
なお、容量３４を、ＮＷｅｌｌ容量とすることで、容量そのもののばらつきを小さく抑えることが可能で、トランジスタ水準によるリーク電流の差分に比べて十分に無視できる範囲でモニタ評価が可能となる。
【００５８】
そして、リーク電流源を構成するトランジスタのゲート長は、プロセスばらつきの影響を受けにくくするため、太いゲート長のゲートを用いるのがよい。また、リーク電流源を何段のトランジスタで構成するかは、用いるプロセスにより異なるため、プロセスごとのリーク電流量から決定されることが好ましい。
【００５９】
なお、上述の複数の実施形態は、その構成・動作に矛盾が生じない範囲において、組み合わせて実施することが可能である。
【図面の簡単な説明】
【００６０】
【図１】図１は、関連する電力増加を抑制するための回路を示すブロック図である。
【図２】図２は、関連する電力増加を抑制するための回路を示すブロック図である。
【図３】図３は、関連するリングオシレータ回路を示す回路図である。
【図４】図４は、第１実施形態の半導体集積回路の構成を例示するブロック図である。
【図５】図５は、第１実施形態の動作を例示するタイミングチャートである。
【図６】図６は、電源電圧設定テーブル３の構成を例示するテーブルである。
【図７】図７は、第２実施形態の半導体集積回路１０におけるモニタ回路１の構成を例示するブロック図である。
【図８】図８は、第２実施形態の動作を例示するタイミングチャートである。
【図９】図９は、第３実施形態のモニタ回路１の構成を例示するブロック図である。
【図１０】図１０は、第３実施形態のモニタ回路１の他の構成を例示するブロック図である。
【図１１】図１１は、第４実施形態のモニタ回路１の他の構成を例示するブロック図である。
【図１２】図１２は、第５実施形態のモニタ回路１の他の構成を例示するブロック図である。
【符号の説明】
【００６１】
１…モニタ回路
２…記憶部
３…電源電圧設定テーブル
４…カウンタ制御回路
５…カウンタ値
６…電源電圧
１０…半導体集積回路
３０…電源線
３１…リーク電流源
３２…制御トランジスタ
３３…クロック発生回路
３４…容量
３５…第１インバータ
３６…第２インバータ
３７…カウンタ
３８…カウンタ値
３９…制御回路
４０…機能ブロック
４０ａ…第１ユニット
４０ｂ…第２ユニット
４０ｃ…第３ユニット
４０ｄ…第４ユニット
４１…分周器
４２…接地線
４３…第３インバータ
４４…第４インバータ
４５…第５インバータ
４６…電流源
４７…制御トランジスタ
４８…分周器
４９…配線
５１…リーク電流源
５２…リーク電流監視ユニット
５３…制御信号供給端子
５４…インバータ
５５…第１ＮＭＯＳトランジスタ
５６…第１キャパシタ
５７…第２ＮＭＯＳトランジスタ
５８…第２キャパシタ
６１…リーク電流供給ユニット
６２…リーク電流源
６３…スイッチ群
６４…データ供給端子
６５…遅延回路
６６…第１フリップフロップ
６７…第２フリップフロップ
６８…ＥＸＯＲ回路
ＣＬＫ…制御用クロック
Ｎ１…ノード
ＣＴＬ…制御信号
ＣＴＬＢ…反転制御信号
ＤＡＴＡ…データ信号
ＣＡＲ…桁上げ信号
【図１】
0005190767.tif 000002
【図２】
0005190767.tif 000003
【図３】
0005190767.tif 000004
【図４】
0005190767.tif 000005
【図５】
0005190767.tif 000006
【図６】
0005190767.tif 000007
【図７】
0005190767.tif 000008
【図８】
0005190767.tif 000009
【図９】
0005190767.tif 000010
【図１０】
0005190767.tif 000011
【図１１】
0005190767.tif 000012
【図１２】
0005190767.tif 000013