JP5529555B2 - 半導体集積回路、動作電圧制御方法 - Google Patents

半導体集積回路、動作電圧制御方法 Download PDF

Info

Publication number
JP5529555B2
JP5529555B2 JP2010010372A JP2010010372A JP5529555B2 JP 5529555 B2 JP5529555 B2 JP 5529555B2 JP 2010010372 A JP2010010372 A JP 2010010372A JP 2010010372 A JP2010010372 A JP 2010010372A JP 5529555 B2 JP5529555 B2 JP 5529555B2
Authority
JP
Japan
Prior art keywords
circuit
signal
circuit unit
semiconductor integrated
unit
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.)
Expired - Fee Related
Application number
JP2010010372A
Other languages
English (en)
Other versions
JP2011151146A (ja
Inventor
昌弘 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010010372A priority Critical patent/JP5529555B2/ja
Priority to US13/005,289 priority patent/US8386988B2/en
Publication of JP2011151146A publication Critical patent/JP2011151146A/ja
Application granted granted Critical
Publication of JP5529555B2 publication Critical patent/JP5529555B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

本発明は、半導体集積回路、及び半導体集積回路に対する動作電圧の制御方法に関する。
半導体集積回路における消費電力を低減するためには、動作電圧や動作周波数を低下させることが有効である。このため、回路の動作周波数と電源電圧を動的に制御することで消費電力を削減するDVFS(Dynamic Voltage and Frequency Scaling)が、一般的に知られている。例えば、動作速度を優先する動作モードと省消費電力を優先する動作モードとを切り換えることで、長期間の動作全体において低電力化する技術が、Burd, T.、 Pering, T.、 Stratakos, A.、 Brodersen, R著“A Dynamic Voltage Scaled Microprocessor System”2000 IEEE International Solid−State Circuits Conference 07803−5853−8/00に記載されている(非特許文献1参照)。
非特許文献1では、発振器からのクロック信号の周波数と要求クロック周波数の差に応じて動作電圧を変更している。これにより、所望の周波数での回路動作を行うことが可能となる。
電源電圧を制御する技術として、例えば、特開2000−216337(特許文献1参照)や特開2009−200739(特許文献2参照)が知られている。特許文献1には、レプリカ回路の遅延量に応じて、電源電圧を制御する装置が記載されている。また、プロセスばらつきのセンターに位置する回路が正常に動作できる最低限度の電圧を初期値とすれば最適電源電圧への収束時間が短くなることが記載されている。又、特許文献2には、クリティカルパスにおける遅延マージンのあるパスの電源電圧を低下して、電力低減を図る半導体集積回路が記載されている。
更に、動作電圧を制御することで、プロセスばらつきを補償する技術が知られている。例えば、米国特許2009/0077514には、プロセスばらつき補償のための電圧制御を想定した設計を行う技術が記載されている(特許文献3参照)。
特開2000−216337 特開2009−200739 米国特許2009/0077514
Burd, T.、 Pering, T.、 Stratakos, A.、 Brodersen, R著"A Dynamic Voltage Scaled Microprocessor System"2000 IEEE International Solid−State Circuits Conference 07803−5853−8/00
特許文献3では、プロセスばらつきを補償した設計を行うことで、余計な駆動能力やhold保障バッファが不要となり低電力、小面積となるが、所定の電圧でないと誤動作を引き起こす可能性があった。しかし、電圧制御を実現する仕組みは開示されていない。
又、特許文献3では、プロセスばらつきが擬似的に小さくなるようにプロセスコーナーにおけるFF側は電圧を下げ、SS側は電圧を上げることを前提に設計しているが、動作できない電圧設定時間を要するため、起動に時間がかかるという問題がある。又、半導体集積回路を稼働中に周辺環境の変動等によって遅延特性等が変動した場合、正常動作を継続するためには、一旦、半導体集積回路の演算処理を停止し、所定の電圧になるような電圧制御を実施し、所定の電圧になった後に、演算処理を再開する必要がある。
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明による半導体集積回路は、プロセスばらつきに対して第1のコーナー条件で設計された第1回路部(1)と、第1の条件より狭い第2のコーナー条件で設計された第2回路部(2)と、第1回路部(1)における遅延量に応じて、第1回路部(1)及び第2回路部(2)に供給する動作電圧を変更し、動作電圧の変化による遅延特性が第2コーナー条件における遅延特性に適合した場合、第2回路(2)を起動する制御部(12)とを具備する。
本発明による動作電圧制御方法は、プロセスばらつきに対して第1のコーナー条件で設計された第1回路部(1)における遅延量に応じて、第1の条件より狭い第2のコーナー条件で設計された第2回路部(2)と第1回路部(1)とに供給する動作電圧を変更するステップと、動作電圧の変化による遅延特性が第2コーナー条件における遅延特性に適合した場合、第2回路(2)を起動するステップとを具備する。
本発明によれば、動作電圧を制御してプロセスばらつきを補償する半導体集積回路の起動制御を実現できる。
又、半導体集積回路の消費電力を低減することができる。
更に、半導体集積回路の動作中にプロセスばらつきを補償する動作電圧を設定することができる。
図1は、本発明による半導体集積回路の構成の一例を示す図である。 図2は、本発明に係るコーナー条件の一例を示す図である。 図3は、本発明による電圧制御動作の一例を示す図である。 図4は、本発明による電圧制御動作の他の一例を示す図である。 図5は、本発明によるモニタ部及び制御部の第1の実施の形態における構成を示す図である。 図6は、第1の実施の形態における電圧制御動作の一例(降圧動作)を示すタイミングチャートである。 図7は、第1の実施の形態における電圧制御動作の一例(昇圧動作)を示すタイミングチャートである。 図8は、第1の実施の形態における電圧制御動作の他の一例(降圧動作)を示すタイミングチャートである。 図9は、第1の実施の形態における電圧制御動作の更に他の一例(降圧動作)を示すタイミングチャートである。 図10は、本発明による半導体集積回路の構成の他の一例を示す図である。 図11は、本発明による制御部の第2の実施の形態における構成を示す図である。 図12は、本発明に係るモニタ部の構成の一例を示す図である。 図13は、本発明に係るモニタ部の構成の他の一例を示す図である。 図14は、第2の実施の形態における電圧制御動作の一例を示すタイミングチャートである。 図15は、本発明による半導体集積回路の第3の実施形態における構成を示す図である。 図16は、本発明に係るコーナー条件の他の一例を示す図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
(概要)
本発明による半導体集積回路は、それぞれが異なるコーナー条件で設計され、共通の動作電圧(電源電圧又は/及び基板電圧)が供給される複数の回路ブロックを備える。本発明では、半導体集積回路の起動時、比較的広いコーナー条件(第1コーナー条件)で設計された回路ブロック(第1回路部)を先に起動して、可変電圧源を制御し、遅延特性を所定の値にする電圧を設定する。遅延特性が所定の値に達すると、第1回路部は、狭いコーナー条件(第2コーナー条件)で設計された回路ブロック(第2回路部)を起動する。尚、狭いコーナー条件とした場合、回路設計から見ると甘くなり、デバイスばらつき耐性は厳しくなる。一方、広いコーナー条件とした場合、回路設計から見ると厳しくなり、デバイスばらつき耐性は緩くなる。
ここで、コーナー条件は、プロセス(Process)、電源電圧(Vdd)、閾値電圧(Vt)、温度条件(Temperature)のいずれかに対して遅延値が最小(FAST)及び最大(SLOW)となる2つのプロセスコーナーを含む。第1回路部は、広い第1コーナー条件で設計されている。このため、あるデバイスばらつきのチップにおいて、第1回路部が所望の処理性能と正常動作を達成可能となる動作電圧の範囲は広い。一方、第1コーナー条件より狭い第2コーナー条件で設計された第2回路部が所望の処理性能と正常動作を達成可能となる動作電圧の範囲は、第1回路部より狭くなる。
第1回路部は、所望の処理性能と正常動作が可能な電圧範囲が広いため、供給される動作電圧がある程度小さい又は大きくても動作可能である。このため、動作電圧の初期値がノイズ等により変動する場合や、動作中において周辺環境の変化により所望の動作電圧から大きくはずれた場合でも、第1回路部が誤動作する可能性は低くなる。
本発明では、第2回路部より先に第1回路部が動作し、この動作結果(遅延量)を動作電圧の値にフィードバックして動作電圧の大きさを決定している。第2回路部は、第1回路部によって設定された動作電圧で動作を開始する。第1回路部によって設定された動作電圧が、第2コーナー条件の遅延特性に適合した値である場合、第2回路部は誤動作することがない。すなわち、第1回路部による電圧制御によって、第2回路部のプロセスばらつきは補償されることとなる。
又、動作電圧は、第2コーナー条件の遅延特性に適合するように制御されるため、消費電力を所定の範囲に収束することができる。本発明では、動作電圧が第2コーナー条件の遅延特性から決まる値より高い場合、低くなるように制御され、消費電力は低減される。
更に、周辺環境の変動等により遅延が変化し、現在の動作電圧が第2コーナー条件の遅延特性から外れた値となる場合、第2回路部の動作を停止してもよい。第2回路部が停止している間、第1回路部によって動作電圧が所望の値に設定される。第2回路部は、動作電圧が所望の値に設定された後、動作を再開する。これにより、第2回路の誤動作を防止できるとともに、誤動作の可能性のある動作を行わないため無駄な電力消費を防止できる。
以下、本発明による半導体集積装置及び動作電圧の制御方法について詳細に説明する。
1.第1の実施の形態
図1から図9を参照して、本発明による半導体集積回路の第1の実施の形態を説明する。図1は、本発明による半導体集積回路の構成の一例を示す図である。図1を参照して、本発明による半導体集積回路は、第1コーナー条件で設計された回路部1と、第2コーナー条件で設計された回路部2と、可変電圧源3とを具備する。
図2は、本発明に係るコーナー条件の一例を示す図である。回路部1、2は、CMOS(Complementary Metal Oxide Semiconductor)を含む回路ブロックである。図2を参照して、CMOSにおけるPチャネル型MOSトランジスタのオン電流Ion_PをY軸、Nチャネル型MOSトランジスタのオン電流Ion_NをX軸とし、最も少ない遅延量の電流値(FAST)をF、最も遅延量の大きい電流値(SLOW)をSとする。コーナー条件は、オン電流Ion_P及びオン電流Ion_Nのそれぞれに対応するFとSの組み合わせ、すなわちFF、FS、SF、SSを結ぶ直線で囲まれた領域で表される。尚、図2に示すコーナー条件は、トランジスタのオン電流で表現しているが、他のパラメータ(トランジスタのしきい値電圧)で表現されてもよい。
第2コーナー条件(FF2、FS2、SF2、SS2)は、第1コーナー条件(FF1、FS1、SF1、SS1)よりも狭い条件に設定されている。このため第2コーナー条件で設計された回路部2は、第1コーナー条件で設計された回路部1よりもプロセスばらつきの許容範囲が狭く、あるチップに対して所望の処理性能と正常動作が可能な動作電圧の範囲も回路部1より狭い。
図1を参照して、第1の実施の形態における回路部1は、モニタ部11及び制御部12を備える。第1の実施の形態におけるモニタ部11は、回路部1における遅延量を検出し、制御部12に出力する。制御部12は、遅延量に基づいて可変電圧源3を制御する。詳細には、制御部12は、遅延量の基準値と、検出された遅延量とを比較し、比較結果に応じてUp信号301、又はDown信号302を出力して動作電圧(ここでは一例として電源電圧Vdd)を制御する。可変電圧源3は、Up信号301、又はDown信号302に応じて動作電圧(電源電圧Vdd)の大きさを変動する。回路部1、2は、可変電圧源3から供給される動作電圧に応じて動作する。
制御部12は、動作電圧が所定の遅延特性を示す値に達するとEnable信号400を回路部2に対して出力する。回路部2はEnable400に応じて動作を開始する。例えば、回路部2は、ハイレベル“1”のEnable信号400に応じて動作し、ローレベル“0”のEnable信号400に応じて動作を停止する。
又、回路部2の停止する間、Enable信号400に応じたパワーゲーティングやクロックゲーティング、あるいは、その両方の制御が行われることが好ましい。例えば、回路部2への電源供給を制御する電源スイッチを用意し、Enable信号400に応じて停止中の回路部2への電源供給を遮断(必要データは保持)することでリーク電流がなくなるため、消費電力の低減を図れる。この場合、Enable信号400に応じてパワーゲーティングを解除し、電源が安定したところ(一定時間経過後、又は電源モニタによる指示)でクロックゲーティングを解除する。必要に応じて、プログラムカウンタなどのリセット動作を合わせて行うことで初期化してもよい。
図3及び図4は、本発明による電圧制御動作の一例を示す図である。ここでは、初期電圧(制御開始電圧)をV0、回路部2において所望の処理性能と正常動作が可能な電圧範囲をVa1〜Va2(Va1>Va2)として説明する。動作電圧の電圧範囲がVa1〜Va2の場合、回路部2のプロセスばらつきは、第2コーナー条件に適合する大きさ(電圧Va)となり、安定的に動作する。すなわち、動作電圧を電圧範囲がVa1〜Va2内の電圧Vaに制御することで、回路部2のプロセスばらつきは補償される。
図3を参照して、動作電圧が稼動条件の上限値(Va1)より大きい場合、制御部12は、Down信号302を出力して動作電圧を降下させる。電圧降下の結果、動作電圧が、稼動条件Va1〜Va2の範囲内の値となると、制御部12は、回路部2を起動させるため、Enable信号400をハイレベル“1”とする(時刻ta)。又、制御部12は、時刻ta以降、動作電圧の大きさを電圧Va維持するように可変電圧源3を制御する。これにより、回路部2のプロセスばらつきは補償される。又、図3に示す一例では、動作電圧(電源電圧Vdd)が初期電圧V0よりも低い値に変更されているため、半導体集積回路の消費電力は低減される。
図4を参照して、動作電圧が稼動条件の下限値(Va2)より小さい場合、制御部12は、Up信号301を出力して動作電圧を上昇させる。電圧上昇の結果、動作電圧が、稼動条件Va1〜Va2の範囲内の値(電圧Va)となると、制御部12は、回路部2を起動させるため、Enable信号400をハイレベル“1”とする(時刻ta)。又、制御部12は、時刻ta以降、動作電圧の大きさを電圧Vaに維持するように可変電圧源3を制御する。これにより、回路部2のプロセスばらつきは補償される。
回路部2が稼動中に動作電圧(電源電圧Vdd)が変動し、稼動条件Va1〜Va2の範囲外となった場合、上述と同様に、Up信号301又はDown信号302によって、動作電圧が修正され回路部2が動作可能な電圧範囲Va1〜Va2内の電圧Vaに修正される。この間、制御部12は、ローレベル“0”のEnable信号400を出力し、回路部2の動作を停止させることが好ましい。
次に、図5から図9を参照して、第1の実施の形態におけるモニタ部11及び制御部12の具体的な構成及び動作の一例を説明する。
図5は、本発明によるモニタ部11及び制御部12の第1の実施の形態における構成を示す図である。図5を参照して、モニタ部11は、レジスタ111、117、クリティカルパスレプリカ112、及び遅延回路113〜116を備える。制御部12は、AND回路121〜123及びレジスタ124を備える。
レジスタ111は、入力されるデータ信号DATAをクロック信号CLKに応じてラッチし、データ信号DATA1としてクリティカルパスレプリカ112及びレジスタ117に出力する。クリティカルパスレプリカ112を通過したデータ信号DATA1は、直列に接続された4つの遅延回路113〜116を介してレジスタ117に出力される。
遅延回路113〜116は、それぞれに入力されたデータ信号を所定の遅延量で遅延し、データ信号D0〜D3として出力する。遅延回路113〜116の遅延量は、所望の第2コーナー条件に適合するように設定される。ここでは、データ信号D0に対する遅延量は最小、データ信号D1に対する遅延量は小、データ信号D2に対する遅延量は大、データ信号D3に対する遅延量は最大に設定される。すなわち、データ信号D0〜D3は順に遅延量が大きくなる。詳細は後述するが、クロックCLKに応じたデータ信号DATA1のラッチタイミングにおける、データ信号D0〜D3の位相差に応じて、動作電圧の制御方法(降圧か昇圧か)や回路部2を動作させるか否か(Enable信号400の論理レベル)が設定される。
データ信号DATA1に対するデータ信号D0の遅延量(遅延値最小)及びデータ信号D3の遅延量(遅延値最大)は、第2コーナー条件を補償する遅延量の最上限値と最下限値とに対応して設定される。又、データ信号DATA1に対するデータ信号D1の遅延量(遅延値小)は、動作電圧を昇圧するか否かを決める基準遅延値(以下、下限値と称す)に対応して設定される。更に、データ信号DATA1に対するデータ信号D2の遅延量(遅延値大)は、動作電圧を降圧するか否かを決める基準遅延値(以下、上限値と称す)に対応して設定される。
制御部12は、モニタ部11からのモニタ出力200(データ信号D0〜D3、及びデータ信号DATA1)の位相差を比較することで、動作電圧に応じた一定時間の到達遅延量(以下、単に到達遅延時間と称す)を検出する。制御部12は、到達遅延量が最上限値と最下限値との間の値である場合、Enable信号400の信号レベルをハイレベル“1”に設定して回路部2を動作させる。一方、到達遅延量が最上限値から最下限値の範囲からはずれた値の場合、制御部12は、Enable信号400の信号レベルをローレベル“0”に設定して回路部2の動作を停止する。又、制御部12は、到達遅延量が下限値よりも小さい場合は動作電圧を昇圧するためのUp信号301を出力し、到達遅延量が上限値よりも大きい場合は動作電圧を降圧するためのDown信号302を出力する。
レジスタ117は、クロック信号CLKに応じてデータ信号D0〜D3、及びデータ信号Data1をラッチして、AND回路121〜123に出力する。AND回路121は、データ信号D1の反転信号とデータ信号Data1の論理積をUp信号(Up0)として出力する。AND回路122は、データ信号D2とデータ信号Data1の論理積をDown信号(Down0)として出力する。AND回路123は、データ信号D3の反転信号とデータ信号D0とデータ信号Data1の論理積をEnable信号(EN0)として出力する。レジスタ124は、所定のクロック信号CLKDに応じて、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)をラッチし、それぞれ、Up信号301、Down信号302、Enable信号400として出力する。
データ信号DATA1がラッチされるタイミングにおいて、データ信号D1が“0”としてラッチされる場合、制御部12は、到達遅延量が所望の下限値よりも小さいと判定し、動作電圧を昇圧する。データ信号DATA1がラッチされるタイミングにおいて、データ信号D2が“1”としてラッチされる場合、制御部12は、到達遅延量が所望の上限値よりも大きいと判定し、動作電圧を降圧する。データ信号DATA1がラッチされるタイミングにおいて、データ信号D0が“1”としてラッチされるとともに、データ信号D3が“1”としてラッチされない場合、制御部12は、遅延到達量が所望の最下限値よりも大きく、最上限値よりも小さいと判定し、Enable信号400をハイレベル“1”に設定して回路部2を動作させる。
第1の実施の形態における半導体集積回路では、クリティカルパスレプリカ112とクロック信号CLKとの位相を比較することで遅延到達量が所望の範囲内であるかどうかが判定される。クリティカルパスレプリカ112の遅延量は大きいため、誤動作の判断材料となるホールドマージンは大きくなる。このため、Data1にクリティカルパスレプリカ112より十分小さいhold補償バッファを追加しておけば、誤動作に対するホールド時間による影響は小さい。一方、プロセスばらつきに伴ってセットアップマージンは変動する。よって、図1のように、モニタ部11を、第1コーナー条件にて設計し回路部1に配置するだけでなく、図10のように、第2コーナー条件にて設計し回路部2に配置することも可能である。この場合、モニタ部11は、回路部2の起動を待たずに動作させる必要がある。制御部12は、クリティカルレプリカ112のセットアップ時間(遅延量)を所望の値に制御することで、プロセスばらつきを補償する動作電圧に変更することができる。
制御部12は、第2コーナー条件に応じたプロセスばらつきを補償する動作電圧に制御した後、回路部2を動作させることで、回路部2における誤動作を防止することができる。詳細には、クロック信号CLKに応じたラッチタイミングにおいて、データ信号D1がハイレベル“1”、データ信号D2がローレベル“0”となる状態を中心に、データ信号D0がハイレベル”1”、データ信号D3がローレベル“0”となる状態において第2コーナー条件が定義される。又、遅延回路113〜116の各遅延量を適切な値(均一とは限らない)に設定することで、第2コーナー条件におけるSS2、FF2の範囲を均等な位置に設定することができる。又、遅延回路114の遅延量を十分大きく取れば、遅延回路113の遅延量を小さくすることが可能であり、場合によっては削除することも可能となる。
又、制御部12は、メタステーブル防止のため、第1コーナー条件を想定してモニタ出力200を取り込むための制御側のクロック信号CLKDの位相に十分なマージンで設計されている必要がある。あるいは、レジスタを追加してタイミングを切り直す必要がある。特に、モニタ部11を、図10のように、第2コーナー条件にて設計し回路部2に配置する場合、注意を要する。
以下、図6から図9を参照して、本発明による電圧制御動作の詳細を説明する。
図6は、第1の実施の形態における電圧制御動作の一例(降圧動作)を示すタイミングチャートである。図6を参照して、動作電圧が所望の値(回路部2のプロセスばらつきを補償する電圧値)より高い場合の電圧制御動作を説明する。ここでは、時刻T0(初期状態)において、回路部2が停止状態である間の電圧動作制御動作を説明する。
時刻T0から時刻T1までの間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、及びEnable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302、及びEnable信号400はローレベルを維持する。
時刻T1において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D2がハイレベル“1”であるため、AND回路122からのDown信号Down0はハイレベルとなる。又、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。更に、データ信号D3はハイレベル“1”であるため、AND回路123からのEnable信号EN0は、ローレベルとなる。
時刻T2において、クロック信号CLKDに応じて、ハイレベル“1”のDown信号Down0がラッチされ、Down信号302はハイレベルとなる。同様に時刻T2において、ローレベル“0”のUp信号Up0及びEnable信号EN0がラッチされ、Up信号301及びEnable信号400は、ローレベルとなる。
続く時刻T3から時刻T4の間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。
時刻T4において、ハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D2がローレベル“0”であるため、AND回路122からのDown信号Down0はローレベルとなる。又、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。更に、データ信号D3はローレベル“0”となるため、AND回路123からのEnable信号EN0は、ハイレベルとなる。
時刻T5において、クロック信号CLKDに応じてハイレベル“1”のEnable信号EN0がラッチされ、Enable信号400はハイレベルとなる。同様に時刻T5において、ローレベル“0”のUp信号Up0及びDown信号Down0がラッチされ、Up信号301及びDown信号302は、ローレベルとなる。
続く時刻T6以降、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302はローレベルを維持し、Enable信号400はハイレベルを維持する。
以上のように、図6に示す一例では、時刻T1においてモニタ出力200の到達遅延量が上限値より大きいと判定され、クロック信号CLKDに応じたタイミング(時刻T2)で動作電圧を降圧するためのDown信号302が出力される。これにより可変電圧源3は動作電圧を降圧する。又、時刻T1において、データ信号D3がハイレベルであるため、モニタ出力200の到達遅延量は最上限値よりも大きいと判定され、ローレベルのEnable信号400が出力される。これにより、回路部2は動作の停止状態を維持する。
Down信号302に応じて動作電圧が降圧されることで、モニタ出力200の到達遅延量は小さくなる。時刻T4において到達遅延量が上限値より小さくなることが判定されると、Down信号302はローレベルとなり、制御部12は動作電圧の降圧動作を停止する。このとき、遅延量はデータD0がハイレベル、データD3がローレベルであるため、最下限値より大きく最上限値より小さいと判定され、ハイレベルのEnable信号400が出力される。これにより、時刻T5から回路部2は動作を開始する。
図7は、第1の実施の形態における電圧制御動作の一例(昇圧動作)を示すタイミングチャートである。図7を参照して、動作電圧が所望の値(回路部2のプロセスばらつきを補償する電圧値)より低い場合の電圧制御動作を説明する。ここでは、時刻T0(初期状態)において、回路部2が停止状態である間の電圧動作制御動作を説明する。
時刻T0から時刻T1までの間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、及びEnable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302、及びEnable信号400はローレベルを維持する。
時刻T1において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D1がローレベル“0”であるため、AND回路121からのUp信号Up0はハイレベルとなる。又、データ信号D2はローレベル“0”であるため、AND回路122からのDown信号Down0はローレベルとなる。更に、データ信号D0はローレベル“0”であるため、AND回路123からのEnable信号EN0は、ローレベルとなる。
時刻T2において、クロック信号CLKDに応じて、ハイレベル“1”のUp信号Up0がラッチされ、Up信号301はハイレベルとなる。同様に時刻T2において、ローレベル“0”のDown信号Down0及びEnable信号EN0がラッチされ、Down信号302及びEnable信号400は、ローレベルとなる。
続く時刻T3から時刻T4の間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。
時刻T4において、ハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D2がローレベル“0”であるため、AND回路122からのDown信号Down0はローレベルとなる。又、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。更に、データ信号D3はローレベル“0”となるため、AND回路123からのEnable信号EN0は、ハイレベルとなる。
時刻T5において、クロック信号CLKDに応じてハイレベル“1”のEnable信号EN0がラッチされ、Enable信号400はハイレベルとなる。同様に時刻T5において、ローレベル“0”のUp信号Up0及びDown信号Down0がラッチされ、Up信号301及びDown信号302は、ローレベルとなる。
続く時刻T6以降、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302はローレベルを維持し、Enable信号400はハイレベルを維持する。
以上のように、図7に示す一例では、時刻T1においてモニタ出力200の到達遅延量が下限値より小さいと判定され、クロック信号CLKDに応じたタイミング(時刻T2)で動作電圧を昇圧するためのUp信号301が出力される。これにより可変電圧源3は動作電圧を昇圧する。又、時刻T1においてデータ信号D0はローレベルであるため、モニタ出力200の到達遅延量は最下限値よりも小さいと判定され、ローレベルのEnable信号400が出力される。これにより、回路部2は動作の停止状態を維持する。
Up信号301に応じて動作電圧が昇圧されることで、モニタ出力200の到達遅延量は大きくなる。時刻T4において到達遅延量が下限値より大きくなることが判定されると、Up信号301はローレベルとなり、制御部12は動作電圧の昇圧動作を停止する。このとき、遅延量はデータD0がハイレベル、データD3がローレベルであるため、最下限値より大きく最上限値より小さいと判定され、ハイレベルのEnable信号400が出力される。これにより、時刻T5から回路部2は動作を開始する。
図6及び図7が示すように、本発明では、回路部1の動作によって動作電圧を回路部2のプロセスばらつきを補償する大きさに設定した後、回路部2を動作させている。これにより、半導体集積回路は、プロセスばらつきによる誤動作を防止しつつ、滞りなく起動することが可能となる。すなわち、本発明によれば、第1コーナー条件で設計された回路部1により電圧を制御してプロセスばらつきを補償し、第2コーナー条件で設計された回路部2を起動することで、従来技術で提示されていなかった回路部2の起動をどう実現するかの問題が解消される。
図8は、第1の実施の形態における電圧制御動作の一例(降圧動作)を示すタイミングチャートである。制御部12は、半導体集積回路の起動時のみならず、動作の途中でも動作電圧を所望の値に制御することが好ましい。例えば、回路部2の動作中において周辺環境の変化によって遅延時間が変動し、現在の動作電圧が、回路部2に対して適切な値でなくなることがある。このような場合、制御部12は、回路部2を停止させて、動作電圧を変更する。図8を参照して、回路部2が動作中において、到達遅延量が増加し、現在の動作電圧が所望の値(回路部2のプロセスばらつきを補償する電圧値)より高い値にみなされた場合の電圧制御動作を説明する。
時刻T0から時刻T1までの間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、及びEnable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302はローレベルを維持し、Enable信号400はハイレベルを維持する。
時刻T1において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。又、データ信号D2はローレベル“0”であるため、AND回路122からのDown信号Down0はローレベルとなる。更に、データ信号D0はハイレベル“1”、データ信号D3はローレベル“0”であるため、AND回路123からのEnable信号EN0は、ハイレベルとなる。
時刻T2において、クロック信号CLKDに応じて、ハイレベル“1”のEnable信号EN0がラッチされ、Enable信号400はハイレベルを維持する。同様に時刻T2において、ローレベル“0”のUp信号Up0及びDown信号Down0がラッチされ、Up信号301及びDown信号302は、ローレベルを維持する。
続く時刻T3から時刻T4の間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。
一方、時刻T3から時刻T4の間に周辺環境が変動することにより、モニタ出力200の到達遅延量が変動する。ここでは、一例としてモニタ出力の到達遅延量が増加する。
時刻T4において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、到達遅延量の増加により、データ信号D2がハイレベル“1”であるため、AND回路122からのDown信号Down0はハイレベルとなる。又、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。更に、データ信号D3はハイレベル“1”であるため、AND回路123からのEnable信号EN0は、ローレベルとなる。
時刻T5において、クロック信号CLKDに応じて、ハイレベル“1”のDown信号Down0がラッチされ、Down信号302はハイレベルとなる。同様に時刻T2において、ローレベル“0”のUp信号Up0及びEnable信号EN0がラッチされ、Up信号301及びEnable信号400は、ローレベルとなる。
続く時刻T6以降、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Enable信号400はローレベルを維持し、Down信号302はハイレベルを維持する。
以上のように、図8に示す一例では、回路部2が動作中の時刻T4において、モニタ出力200の到達遅延量が上限値より大きいと判定され、クロック信号CLKDに応じたタイミング(時刻T5)で動作電圧を降圧するためのDown信号302が出力される。これにより可変電圧源3は動作電圧を降圧する。又、時刻T4において、データ信号D3がハイレベルであるためモニタ出力200の到達遅延量は最上限値よりも大きいと判定され、ローレベルのEnable信号400が出力される。これにより、回路部2は動作を停止する。
本一例では、動作中にモニタ出力200の到達遅延量の変化を検出し、回路部2の動作を停止して動作電圧を変更している。しかし、到達遅延量が、回路部2が動作可能な許容範囲内である場合、回路部2を停止させずに動作電圧の制御が行われてもよい。
図9は、第1の実施の形態における電圧制御動作の一例(降圧動作)を示すタイミングチャートである図9を参照して、回路部2が動作可能な許容範囲内において、到達遅延量が増加し、現在の動作電圧が所望の値(回路部2のプロセスばらつきを補償する電圧値)より高い値にみなされた場合の電圧制御動作を説明する。
時刻T0から時刻T1までの間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、及びEnable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301、Down信号302はローレベルを維持し、Enable信号400はハイレベルを維持する。
時刻T1において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。又、データ信号D2はローレベル“0”であるため、AND回路122からのDown信号Down0はローレベルとなる。更に、データ信号D0はハイレベル“1”、データ信号D3はローレベル“0”であるため、AND回路123からのEnable信号EN0は、ハイレベルとなる。
時刻T2において、クロック信号CLKDに応じて、ハイレベル“1”のEnable信号EN0がラッチされ、Enable信号400はハイレベルを維持する。同様に時刻T2において、ローレベル“0”のUp信号Up0及びDown信号Down0がラッチされ、Up信号301及びDown信号302は、ローレベルを維持する。
続く時刻T3から時刻T4の間、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。
一方、時刻T3から時刻T4の間に周辺環境が変動することにより、モニタ出力200の到達遅延量が変動する。ここでは、一例としてモニタ出力の到達遅延量が増加する。
時刻T4において、クロック信号CLKに応じてハイレベル“1”のデータ信号Data1がラッチされる。このとき、到達遅延量の増加により、データ信号D2がハイレベル“1”であるため、AND回路122からのDown信号Down0はハイレベルとなる。又、データ信号D1はハイレベル“1”であるため、AND回路121からのUp信号Up0はローレベルとなる。更に、データ信号D0はハイレベル“1”、データ信号D3はローレベル“0”であるため、AND回路123からのEnable信号EN0は、ハイレベルとなる。
時刻T5において、クロック信号CLKDに応じて、ハイレベル“1”のDown信号Down0がラッチされ、Down信号302はハイレベルとなる。同様に時刻T2において、ハイレベル“1”のEnable信号EN0がラッチされ、Enable信号400はハイレベルとなる。又、ローレベル“0”のUp信号Up0がラッチされ、Up信号301はローレベルとなる。
続く時刻T6以降、クロック信号CLKに応じデータ信号Data1はローレベル“0”がラッチされるため、Up信号(Up0)、Down信号(Down0)、Enable信号(EN0)はローレベルとなる。この間、クロック信号CLKDの入力がないため、Up信号301はローレベルを維持し、Down信号302及びEnable信号400はハイレベルを維持する。
以上のように、図9に示す一例では、回路部2が動作中の時刻T4において、モニタ出力200の到達遅延量が上限値より大きいと判定され、クロック信号CLKDに応じたタイミング(時刻T5)で動作電圧を降圧するためのDown信号302が出力される。これにより可変電圧源3は動作電圧を降圧する。又、本一例では、動作電圧が回路部2において所望の処理性能と正常動作が可能な電圧範囲内であるため、回路部2を停止せずに動作電圧を変更している。
図8及び図9では、降圧動作を一例としたが昇圧動作も、回路部2の動作中に同様に行われる。
モニタ部11は、電圧制御によるばらつき補償対象の回路(ここでは回路部2)の近傍に設けられることが好ましい。これにより、回路部2に対する場所依存のずれが少なく、回路部2に対する高精度なばらつき補償が可能となる。このため、図1に示す一例では、モニタ部11は、回路部1に設けられているが、図10に示すように回路部2に設けられていても良い。モニタ部11が回路部2に設けられても、回路部2の起動に関わらず、回路部1の動作に従い遅延モニタ結果を出力する。また、モニタ部11は回路部1と回路部2の両方に設けられていても良い。この場合、回路部2の起動後は回路部2に設けられたモニタ部に切り替えることで遅延モニタ精度を改善可能である。回路部2の停止(クロックゲーティング)時は回路部2または回路部1のモニタ部を用い、回路部2のパワーゲーティング時は回路部1のモニタ部を用いる。これにより、安定動作と高精度化を達成可能となる。
2.第2の実施の形態
図1及び図11から図14を参照して、本発明による半導体集積回路の第2の実施の形態を説明する。第2の実施の形態における半導体集積回路は、図1に示す第1の実施の形態と同様に、第1コーナー条件で設計された回路部1と、第2コーナー条件で設計された回路部2と、可変電圧源3とを具備する。第2の実施の形態における半導体集積回路は、モニタ部11及び制御部12のみ異なり、他の構成は、第1の実施の形態と同様であるので詳細な説明は省略する。
第2の実施の形態におけるモニタ部11は、クロック信号をモニタ出力200とするリングオシレータを備える。制御部12は、所定の期間におけるモニタ出力200の発振回数をカウントし、カウント値と予め設定された値との比較結果に基づいてUp信号301、Down信号302、及びEnable信号400の信号レベルを決定する。
図11は、本発明による制御部12の第2の実施の形態における構成を示す図である。図12を参照して、第2の実施の形態における制御部12は、カウンタ131、レジスタ132、最下限値レジスタ133、下限値レジスタ134、上限値レジスタ135、最上限値レジスタ136、比較器137〜140、及びAND回路141を備える。
カウンタ131は、リセット信号(Reset)によって設定される期間において、モニタ出力200の発振回数をカウントする。レジスタ132は、カウンタ出力310を格納し、クロック信号CLKDに応じたタイミングで、格納されたカウント値320(A)を比較器137〜140に出力する。
最下限値レジスタ133には、第2コーナー条件を補償する遅延量の最上限値に対応する発振回数の最下限値Bが設定される。下限値レジスタ134には、動作電圧を昇圧するか否かを決める基準遅延値に対応する発振回数(以下、下限値Cと称す)が設定される。上限値レジスタ135には、動作電圧を降圧するか否かを決める基準遅延値に対応する発振回数(以下、上限値Dと称す)が設定される。最上限値レジスタ136には、第2コーナー条件を補償する遅延量の最下限値に対応する発振回数の最上限値Eが設定される。
比較器137は、カウント値320(A)と最下限値Bとを比較し、カウント値320が最下限値Bより大きい場合(A>B)、ハイレベル“1”の信号をAND回路141に出力する。比較器138は、カウント値320(A)と下限値Cとの比較結果に応じた論理レベルのUp信号301を出力する。比較器138は、カウント値320が下限値Cより小さい場合(A<C)、ハイレベル“1”のUp信号301を出力する。比較器139は、カウント値320(A)と上限値Dとの比較結果に応じた論理レベルのDown信号302を出力する。比較器139は、カウント値320が上限値Cより大きい場合(A>D)、ハイレベル“1”のDown信号302を出力する。比較器140は、カウント値320(A)と最上限値Eとを比較し、カウント値320が最上限値Eより小さい場合(A<E)、ハイレベル“1”の信号をAND回路141に出力する。
AND回路141は、比較器137、140からの出力信号の論理積をEnable信号400として出力する。すなわち、AND回路141は、は、カウント値320(A)が、最下限値Bより大きく、最上限値Eより小さい場合、ハイレベル“1”のEnable信号400を出力する。
図12及び図13は、第2の実施の形態におけるモニタ部11の構成の一例を示す図である。本実施の形態におけるモニタ部11は、図12(a)に示すように、複数(奇数個)のインバータが直列に帰還接続されたリングオシレータであることが好ましい。図12(a)に示すモニタ部11は、自発発振し、図12(b)モニタ出力200として所定の範囲の周期のクロック信号を出力する。モニタ出力200のクロック周期は、モニタ部11のプロセスばらつきに応じて遅延する。
モニタ部11は、図13(a)に示すように、NAND回路を介して発振動作が制御されるリングオシレータでも構わない。この場合、図13(b)に示すように、モニタ出力200の発振は、NAND回路に入力される制御信号201に応じて制御される。図13(a)、(b)に示す一例では、ハイレベル“1”の制御信号201に応じてモニタ部11は発振する。ここで、リングオシレータを構成するインバータ回路もNAND回路で構成しても構わない。尚、モニタ部11は、NAND回路に替えてNOR回路を備え、NOR回路によって発振動作が制御されてもよい。この場合、NOR回路に入力される制御信号がローレベル“0”のときモニタ部11は発振する。ここで、リングオシレータを構成するインバータ回路もNOR回路で構成しても構わない。
図14は、第2の実施の形態における電圧制御動作の一例を示すタイミングチャートである。図14を参照して、制御部12は、モニタ出力200の発振回数をカウントし、クロック信号CLKDに応じたタイミングでカウント値320を抽出し、Up/Down信号300及びEnable信号400の論理レベルを決定する。
制御部12は、クロック信号CLKDに応じたタイミングで、モニタ出力200の発振回数をカウント値320(A)として抽出し、予め設定された基準値(最下限値B、下限値C、上限値D、最上限値E)と比較することで、モニタ出力200の遅延量に応じた電圧制御及び回路部2の起動制御を行う。
本実施の形態では、カウント値320(A)が最下限値Bより大きく、最上限値Eより小さい場合(B<A<E)、ハイレベル“1”のEnable信号400が出力される。これにより、回路部2は、プロセスばらつきを補償する動作電圧で動作することができる。一方、カウント値320(A)が最下限値B以下、又は最上限値E以上である場合(A≦B、A≧E)、ローレベル“0”のEnable信号400が出力される。これにより、誤動作する可能性がある動作電圧が供給されている間、回路部2の動作を停止することができる。
又、カウント値320(A)が下限値Bより小さい場合(A<C)、ハイレベル“1”のUp信号301が出力される。これにより、可変電圧源3は、動作電圧を昇圧する。一方、カウント値320(A)が下限値B以上である場合(A≧B)、ローレベル“0”のUp信号301が出力される。この間、昇圧動作は実行されない。
カウント値320(A)が上限値Dより大きい場合(A>D)、ハイレベル“1”のDown信号302が出力される。これにより、可変電圧源3は、動作電圧を降圧する。一方、カウント値320(A)が上限値D以下である場合(A≦D)、ローレベル“0”のDown信号302が出力される。この間、降圧動作は実行されない。
以上のように、本実施の形態では、リングオシレータの発振回数をモニタ出力として検出し、検出された発振回数と基準値との比較結果に応じて動作電圧を制御している。発振回数は、モニタ部11のプロセスばらつきに応じて決まる。このため、モニタ部11は、電圧制御によるばらつき補償対象の回路(ここでは回路部2)の近傍に設けられることが好ましい。これにより、回路部2に対する場所依存のずれが少なく、回路部2に対する高精度なばらつき補償が可能となる。このため、図1に示す一例では、モニタ部11は、回路部1に設けられているが、図10に示すように回路部2に設けられていても良い。この時、回路部2の起動/停止に関わらずモニタ部11は動作させる必要がある。また、モニタ部11を回路部1と回路部2の両方に設けて、回路部2の起動/停止(またはパワーゲーティング)にあわせて、回路部1のモニタ部と回路部2のモニタ部を切り替えても良い。
3.第3の実施の形態
第1及び第2の実施の形態で説明したように、半導体集積回路が動作中においても回路部2が停止するように制御される。この間、図示しないCPUや他の制御部からから回路部2に対して制御信号が入力した場合、反応がなくエラーとなる恐れがある。このため、図15に示すように、第1及び第2の実施の形態における半導体集積回路に加えて、回路部2の停止間に動作するエミュレータ4及びセレクタを更に具備することが好ましい。
図15を参照して、回路部2とエミュレータ4には図示しないCPUや他の制御部から制御信号500が入力される。回路部2は、動作することで制御信号500に応じた信号600をセレクタ5に出力する。エミュレータ4は、例えば第1コーナー条件で設計された規模の小さい低速プロセッサ等によって実現され、制御信号500に応じた信号700をセレクタ5に出力する。セレクタ5は、回路部1(制御部12)からのEnable信号400に応じて、信号600と信号700の一方を出力信号800として、回路部2の後段(図示しない後段回路やCPU)に出力する。
Enable信号400がハイレベル“1”のとき、すなわち回路部2が動作しているとき、セレクタ5は回路部2からの信号600を選択して出力信号800として出力する。又、Enable信号400がローレベル“0”のとき、すなわち回路部2が停止しているとき、セレクタ5はエミュレータ4からの信号700を選択して出力信号800として出力する。
以上のように、回路部2の停止間、回路部2の代わりにエミュレータ4を利用することで、図示しないCPUからの制御信号500に対する回路部2の無反応状態を解消することができる。
ここで、エミュレータ4は、回路部2が動作している間も動作していても良いが、回路部2の動作の開始に応じて停止してもよい。例えば、エミュレータ4は、Enable信号400に応じたクロックゲーティングやパワーゲーティングによって、その動作が制御されることが好ましい。これにより、回路部2の動作間(Enable信号400がハイレベル“1”の期間)においてエミュレータを停止することができ、回路の消費電力を低減することができる。
本発明では、広いコーナー条件で設計された回路ブロックから先に駆動するため、初期電圧による誤動作が生じ難くなる。又、動作電圧を適切な電圧に制御している間、狭いコーナー条件で設計された回路ブロックの動作を停止させているため、半導体集積回路全体における誤動作を防止することが可能となる。本発明によれば、所望の速度性能で正常動作可能な電圧範囲の広い回路部1を先に動作させ、これによって、動作電圧を第2コーナー条件に適合した値に設定し、回路部2を動作させている。このため、半導体集積回路は、起動時から滞りなく動作を開始できるとともに、回路部2のプロセスばらつきは、制御された動作電圧によって補償される。
本発明によれば、動作電圧を制御してプロセスばらつきを補償するのを前提に通常よりも狭いプロセスコーナーで設計した部分を含み、実際に動作電圧を制御してプロセスばらつきを補償する、半導体集積回路の起動制御を実現できる。
更に、半導体集積回路の動作中に、処理の誤動作を防止しつつ、プロセスばらつきを補償する動作電圧を設定することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。上述の実施の形態では、動作電圧として電源電圧Vddを制御する方法を示したが、これに限らず基板電圧Vsbや閾値電圧Vthを制御対象としても構わない。例えば、図2に示す第1コーナー条件で設計された回路部1によって基板電圧VSB、又は、電源電圧Vddと基板電圧VSBの両者を制御することで閾値電圧Vthを制御し、図2に示す第2コーナー条件に対応するプロセスばらつきを補償することができる。
基板電圧VSBとしてpMOSはnウェル電位Vnw、nMOSはpウェル電位Vpwを制御する必要がある。モニタ部11として、NANDリングオシレータとNORリングオシレータを両方追加して、発振周波数(カウンタ値)を比較し、NAND側が一定値よりも大きい場合はpウェル電位Vpwを下げる(逆バイアス方向)、またはnウェル電位Vnwを下げる(順バイアス方向)。一方、NOR側が一定値よりも大きい場合はnウェル電位Vnwを上げる(逆バイアス方向)、またはpウェル電位Vpwを上げる(順バイアス方向)。これにより、MOSとnMOSのアンバランスを低減することができる。
基板電圧VSB(nウェル電位Vnwとpウェル電位Vpw)のみを制御する場合は、モニタ部11の遅延量又はNANDとNORのリングオシレータのカウンタ値の差を解消するように、nウェル電位Vnw及びpウェル電位Vpwを変更する。詳細には、到達遅延量またはカウンタ値が大きい場合は、基板電圧VSBを逆バイアス側に、すなわち、nウェル電位Vnwを上げ、pウェル電位Vpwを下げ、を交互に実施する。ここで、NANDとNORのリングオシレータのカウンタ値のズレが一定以上になった場合は、ズレを解消するよう、交互でなく一方のみを変化するよう制御すれば、遅延量とp/nバランスをともに調整可能である。
又、電源電圧Vddと基板電圧VSB(nウェル電位Vnwとpウェル電位Vpw)をともに制御する場合は、電源電圧Vddを設定した後、モニタ部11の遅延量又はNANDとNORのリングオシレータのカウンタ値の差を解消するように、nウェル電位Vnw及びpウェル電位Vpwを変更する。例えば、到達遅延量またはカウンタ値が大きい場合は、まず電源電圧Vddを下げ、NANDとNORのリングオシレータのカウンタ値のズレが一定以上になった場合は、ズレを解消するよう、基板電圧VSBの一方、すなわち、nウェル電位Vnwまたはpウェル電位Vpwを変化するよう制御する。これにより、遅延量とp/nバランスをともに調整可能である。電源電圧Vddと基板電圧VSBを制御することで、しきい値電圧Vthは最適化され、ある遅延量における電力最適化も図ることが可能となる。
又、電源電圧Vddのみを制御することで、狭いプロセス条件で設計された回路のプロセスばらつきを補償することができる。図16に示す第1コーナー条件のプロセスコーナーFF1、SS1は、第2コーナー条件のプロセスコーナーFF2、SS2より広く、両条件のプロセスコーナーSF1、FS1は共通している。この場合、第1コーナー条件で設計された回路部1によって電源電圧Vddのみを制御することで、図16に示す第2コーナー条件に対応するプロセスばらつきを補償することができる。
1:回路部
2:回路部
3:可変電圧源
4:エミュレータ
5:セレクタ
11:モニタ部
12:制御部
301:Up信号
302:Down信号
400:Enable信号

Claims (14)

  1. プロセスばらつきに対して第1のコーナー条件で設計された第1回路部と、
    前記第1のコーナー条件より狭い第2のコーナー条件で設計された第2回路部と、
    前記第1回路部における遅延量に応じて、前記第1回路部及び前記第2回路部に供給する動作電圧を変更し、前記動作電圧の変化による遅延特性が前記第2コーナー条件における遅延特性に適合した場合、前記第2回路を起動する制御部と、
    を具備する
    半導体集積回路。
  2. 請求項1に記載の半導体集積回路において、
    前記制御部は、前記遅延量が前記第2のコーナー条件の遅延特性に適合すると、前記第2回路部を動作させるためのイネーブル信号を出力し、
    前記第2回路部は前記イネーブル信号に応じて動作を開始する
    半導体集積回路。
  3. 請求項1又は2に記載の半導体集積回路において、
    前記第1回路部及び第2回路部に対して前記動作電圧を供給する可変電圧源と、
    前記動作電圧に応じて動作する前記第1回路部の遅延量を検出するモニタ部と
    を更に具備し、
    前記制御部は、前記遅延量と第1基準値との比較結果に応じて前記動作電圧の変更を前記可変電圧源に指示し、
    前記可変電圧源は、前記指示に応じて前記動作電圧を変更し、
    前記第1基準値は、前記動作電圧を昇圧するか否かを決める前記第1回路部の遅延量の最大値と、前記動作電圧を降圧するか否かを決める前記第1回路部の遅延量の最小値と、に応じて設定される
    半導体集積回路。
  4. 請求項3に記載の半導体集積回路において、
    前記制御部は、前記遅延量と第2基準値との比較結果に応じて前記第2回路部を動作させるためのイネーブル信号を出力し、
    前記第2基準値は、前記第2のコーナー条件を補償する前記第1回路部の遅延量の最上限値と最下限値とに応じて設定される
    半導体集積回路。
  5. 請求項4に記載の半導体集積回路において、
    前記モニタ部は、リングオシレータを備え、
    前記制御部は、前記リングオシレータの第1発振回数をカウントするカウンタと、前記第1基準値に基づいて設定された第2発振回数が設定された第1レジスタと、前記第2基準値に基づいて設定された第3発振回数が設定された第2レジスタとを備え、
    前記制御部は、前記第1発振回数と前記第2発振回数との比較結果に応じて前記動作電圧を変更するための制御信号を出力し、前記第1発振回数と前記第3発振回数との比較結果に応じて前記イネーブル信号を出力する
    半導体集積回路。
  6. 請求項3又は4に記載の半導体集積回路において、
    前記モニタ部は、クリティカルパスレプリカと、直列接続された複数の遅延回路を備え、
    前記クリティカルパスを介して前記複数の遅延回路のそれぞれで遅延されたデータ信号の位相差に基づいて、前記遅延量を検出する
    半導体集積回路。
  7. 請求項3から6のいずれか1項に記載の半導体集積回路において、
    前記モニタ部は、前記第2回路部に設けられる
    半導体集積回路。
  8. 請求項1から7のいずれか1項に記載の半導体集積回路において、
    前記制御部は、前記第1回路部における遅延量に応じて、前記第1回路部及び前記第2回路部に供給する基板電圧を変更する
    半導体集積回路。
  9. 請求項1から8のいずれか1項に記載の半導体集積回路において、
    前記制御部は、前記第1回路部における遅延量に応じて、前記第1回路部及び前記第2回路部に供給する電源電圧を変更する
    半導体集積回路。
  10. 請求項1から9のいずれか1項に記載の半導体集積回路において、
    前記制御部は、前記第1回路部に搭載される
    半導体集積回路。
  11. 請求項1から10のいずれか1項に記載の半導体集積回路において、
    前記第1及び第2コーナー条件は、プロセスコーナーであるファースト条件及びスロー条件を含み、
    前記第1コーナー条件におけるファースト条件は、前記第2コーナー条件におけるファースト条件よりも高く設定され、前記第1コーナー条件におけるスロー条件は、前記第2コーナー条件におけるスロー条件よりも低く設定される
    半導体集積回路。
  12. 請求項1から11のいずれか1項に記載の半導体集積回路において、
    前記制御部は、前記遅延量が前記第2のコーナー条件に適合しない場合、前記第2回路部を停止させるための停止信号を出力し、
    前記第2回路は、前記停止信号に応じて動作を停止する
    半導体集積回路。
  13. 請求項12に記載の半導体集積回路において、
    エミュレータと、
    前記第2回路部からの第1出力信号と前記エミュレータからの第2出力信号の一方を選択して出力するセレクタと
    を更に具備し、
    前記セレクタは、前記第2回路部が動作している間、前記第1出力信号を選択して出力し、前記2回路部が停止している間、前記第2出力信号を選択して出力する
    半導体集積回路。
  14. プロセスばらつきに対して第1のコーナー条件で設計された第1回路部における遅延量に応じて、前記第1のコーナー条件より狭い第2のコーナー条件で設計された第2回路部と前記第1回路部とに供給する動作電圧を変更するステップと、
    前記動作電圧の変化による遅延特性が第2コーナー条件における遅延特性に適合した場合、前記第2回路を起動するステップと
    を具備する
    動作電圧制御方法。
JP2010010372A 2010-01-20 2010-01-20 半導体集積回路、動作電圧制御方法 Expired - Fee Related JP5529555B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010010372A JP5529555B2 (ja) 2010-01-20 2010-01-20 半導体集積回路、動作電圧制御方法
US13/005,289 US8386988B2 (en) 2010-01-20 2011-01-12 Semiconductor integrated circuit and operating voltage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010010372A JP5529555B2 (ja) 2010-01-20 2010-01-20 半導体集積回路、動作電圧制御方法

Publications (2)

Publication Number Publication Date
JP2011151146A JP2011151146A (ja) 2011-08-04
JP5529555B2 true JP5529555B2 (ja) 2014-06-25

Family

ID=44277188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010010372A Expired - Fee Related JP5529555B2 (ja) 2010-01-20 2010-01-20 半導体集積回路、動作電圧制御方法

Country Status (2)

Country Link
US (1) US8386988B2 (ja)
JP (1) JP5529555B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154335B2 (en) * 2009-09-18 2012-04-10 Stmicroelectronics Pvt. Ltd. Fail safe adaptive voltage/frequency system
JP5890998B2 (ja) * 2011-10-17 2016-03-22 ルネサスエレクトロニクス株式会社 半導体装置および電源供給方法
JP2013165135A (ja) * 2012-02-10 2013-08-22 Toshiba Corp 半導体集積回路
KR101297413B1 (ko) * 2012-02-24 2013-08-19 고려대학교 산학협력단 적응형 클럭 생성 장치 및 방법
US8857714B2 (en) * 2012-03-15 2014-10-14 Flir Systems, Inc. Ballistic sight system
JP2014149738A (ja) * 2013-02-01 2014-08-21 Fujitsu Ltd 回路解析装置、回路解析方法およびプログラム
US8988140B2 (en) * 2013-06-28 2015-03-24 International Business Machines Corporation Real-time adaptive voltage control of logic blocks
US9500705B2 (en) * 2013-08-28 2016-11-22 Wisconsin Alumni Research Foundation Integrated circuit providing fault prediction
US10191106B2 (en) 2015-09-25 2019-01-29 Qualcomm Incorporated Techniques to identify a process corner
JP6764299B2 (ja) * 2016-09-30 2020-09-30 ルネサスエレクトロニクス株式会社 半導体装置
US11680983B1 (en) * 2022-02-01 2023-06-20 Nxp Usa, Inc. Integrated circuit having an in-situ circuit for detecting an impending circuit failure

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08136621A (ja) * 1994-11-11 1996-05-31 Oki Electric Ind Co Ltd 電源電圧供給装置
JP2000216337A (ja) * 1999-01-20 2000-08-04 Sony Corp 電源電圧制御装置
JP4783976B2 (ja) * 1999-12-22 2011-09-28 ソニー株式会社 電圧供給回路及びその制御方法
JP2002359289A (ja) * 2001-03-29 2002-12-13 Mitsubishi Electric Corp プロセスモニタ回路を備えた半導体装置、その試験方法、並びにその製造方法
TW522647B (en) * 2001-09-24 2003-03-01 Macronix Int Co Ltd Driving voltage generator having reduced influence caused by operation voltage and temperature
JP2004015544A (ja) * 2002-06-07 2004-01-15 Renesas Technology Corp 電子回路
JP2004228713A (ja) * 2003-01-20 2004-08-12 Sharp Corp 電圧変換回路ならびにそれを備える半導体集積回路装置および携帯端末
US7701240B2 (en) * 2005-03-04 2010-04-20 Arm Limited Integrated circuit with error correction mechanisms to offset narrow tolerancing
US7332947B2 (en) * 2005-03-15 2008-02-19 Intel Corporation Method and apparatus for distorting duty cycle of a clock
US7391277B2 (en) * 2006-07-20 2008-06-24 International Business Machines Corporation Interleaved voltage controlled oscillator
US7440312B2 (en) * 2006-10-02 2008-10-21 Analog Devices, Inc. Memory write timing system
US7802216B2 (en) * 2007-09-13 2010-09-21 Rapid Bridge Llc Area and power saving standard cell methodology
JP2009200739A (ja) * 2008-02-20 2009-09-03 Panasonic Corp 半導体集積回路
JP2009295818A (ja) * 2008-06-05 2009-12-17 Toshiba Corp 半導体集積回路
US8094505B2 (en) * 2009-10-09 2012-01-10 Intel Corporation Method and system to lower the minimum operating voltage of a memory array

Also Published As

Publication number Publication date
US20110175658A1 (en) 2011-07-21
JP2011151146A (ja) 2011-08-04
US8386988B2 (en) 2013-02-26

Similar Documents

Publication Publication Date Title
JP5529555B2 (ja) 半導体集積回路、動作電圧制御方法
JP4894014B2 (ja) 集積回路のための電源の適応制御
US9032236B2 (en) Semiconductor device and power supply control method of the semiconductor device
US20080204158A1 (en) Apparatus and method for generating a supply voltage-dependent clock signal
US20060176099A1 (en) Semiconductor integrated circuit and method of controlling the semiconductor integrated circuit
EP1328065B1 (en) Oscillator circuits
JP3993860B2 (ja) Dll回路
US6646472B1 (en) Clock power reduction technique using multi-level voltage input clock driver
US5416445A (en) Low power-consumption clock pulse generator with two clock sources selectively available
EP0642073A1 (en) Microcomputer with clock control apparatus
JP2007065756A (ja) クロック制御回路、クロック制御方法、半導体集積回路装置、及び電子機器
JP2000013143A (ja) 発振回路
JP2006211064A (ja) 論理回路の特性調整回路及びその方法並びにそれを用いた半導体集積回路
JP2010057160A (ja) 半導体集積回路
JP2009038128A (ja) 半導体集積回路装置
JP3696194B2 (ja) 半導体集積回路
US9581973B1 (en) Dual mode clock using a common resonator and associated method of use
JPS6148726B2 (ja)
JP5507332B2 (ja) 半導体集積回路及びそれを備えた電圧制御装置
US20060255836A1 (en) Clock driver circuit and driving method therefor
JP2013102371A (ja) 半導体集積回路装置
JP3746147B2 (ja) クロック用ゲート回路及びクロックゲーティング回路
JP4746592B2 (ja) 複数の電源により動作するマイクロコンピュータ、及びマイクロコンピュータの起動方法
JP5487627B2 (ja) 半導体集積回路
JP4719077B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140417

R150 Certificate of patent or registration of utility model

Ref document number: 5529555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees