JP2022168364A - 半導体装置及びクロック制御方法 - Google Patents

半導体装置及びクロック制御方法 Download PDF

Info

Publication number
JP2022168364A
JP2022168364A JP2021073744A JP2021073744A JP2022168364A JP 2022168364 A JP2022168364 A JP 2022168364A JP 2021073744 A JP2021073744 A JP 2021073744A JP 2021073744 A JP2021073744 A JP 2021073744A JP 2022168364 A JP2022168364 A JP 2022168364A
Authority
JP
Japan
Prior art keywords
frequency
time
noise
clock
power supply
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.)
Pending
Application number
JP2021073744A
Other languages
English (en)
Inventor
慎一郎 城田
Shinichiro Shirota
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021073744A priority Critical patent/JP2022168364A/ja
Priority to US17/672,746 priority patent/US20220342440A1/en
Publication of JP2022168364A publication Critical patent/JP2022168364A/ja
Pending legal-status Critical Current

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/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

【課題】半導体装置が低周波数で動作する時間を短縮する。【解決手段】クロック部は、第1周波数のクロック信号を出力する。検知部は、電源ノイズの発生及び電源ノイズの収束を検知する。制御部は、電源ノイズの発生が検知された場合、クロック信号の周波数を第1周波数から第2周波数に低下させる。そして、制御部は、電源ノイズの発生から電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、周波数復帰時間に基づいて、クロック信号の周波数を第2周波数から第1周波数に復帰させる。【選択図】図7

Description

本発明は、クロック制御技術に関する。
プロセッサ等のLSI(Large Scale Integration)における消費電流の増加により、演算負荷が変動した場合の電流変化も大きくなり、その結果、非常に大きな電源ノイズが発生することがある。電源ノイズによって電源電圧が低下すると、LSIの内部回路の遅延時間が増加する。LSIは、半導体装置の一例である。
図1は、LSIの例を示している。図1のLSIは、クロックドライバ101、FF(Flip-Flop)102、論理回路103、及びFF104を含む。クロックドライバ101は、FF102及びFF104へクロック信号を供給し、FF102は、クロック信号に従ってデータ信号を論理回路103へ出力する。
論理回路103は、FF102から出力されるデータ信号を用いて論理演算を行い、演算結果のデータ信号をFF104へ出力する。FF104に入力されるデータ信号の遅延時間は、通常の電源電圧における遅延時間Tdと、電源電圧の低下によって増加した遅延時間ΔTdとの和である。
図2は、図1のLSIにおけるクロック信号及びデータ信号の例を示している。クロック信号は、クロックドライバ101から出力されるクロック信号を表し、クロックサイクルは、クロック信号のサイクルを表す。出力データは、FF102から出力されるデータ信号を表し、入力データは、FF104に入力されるデータ信号を表す。
LSIの設計では、増加した遅延時間ΔTdがタイミング制約を満たすように、クロックサイクルにマージンが付加される。この例では、Td+ΔTdがクロックサイクル内に収まるように、クロックサイクルのマージンとしてΔTdが付加されている。
電源ノイズが大きい場合、クロックサイクルのマージンも大きくなる。プロセッサにおけるクロックサイクルのマージンが大きくなると、クロック信号の周波数が低下するため、プロセッサの動作速度の向上及び低消費電力化が妨げられる。そこで、近年のプロセッサでは、クロックサイクルのマージンとして小さな値を採用し、電源ノイズの発生が検知された場合にクロック信号の周波数を低下させることで、タイミングエラーを回避する技術が適用されることがある。
電源ノイズに伴うクロック信号の制御に関連して、クロック周波数が低下する頻度を増加させずに、電源ノイズによるタイミングエラーの発生を抑制する制御プログラムが知られている(例えば、特許文献1を参照)。電源ノイズに追従して高速に発振周波数を変化可能な電子回路も知られている(例えば、特許文献2を参照)。急負荷変動時に発生する大きな電圧降下等の高速な電圧変化に追従することが可能な半導体装置も知られている(例えば、特許文献3を参照)。
特開2020-98545号公報 特開2017-17671号公報 特開2017-58911号公報
電源ノイズ発生時にクロック信号の周波数を低下させると、低周波数のクロック信号で動作している間、プロセッサの性能が低下する。
なお、かかる問題は、プロセッサに限らず、クロック信号に従って動作する様々な半導体装置において生ずるものである。
1つの側面において、本発明は、半導体装置が低周波数で動作する時間を短縮することを目的とする。
1つの案では、半導体装置は、クロック部、検知部、及び制御部を含む。クロック部は、第1周波数のクロック信号を出力する。検知部は、電源ノイズの発生及び電源ノイズの収束を検知する。
制御部は、電源ノイズの発生が検知された場合、クロック信号の周波数を第1周波数から第2周波数に低下させる。そして、制御部は、電源ノイズの発生から電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、周波数復帰時間に基づいて、クロック信号の周波数を第2周波数から第1周波数に復帰させる。
1つの側面によれば、半導体装置が低周波数で動作する時間を短縮することができる。
LSIを示す図である。 LSIにおけるクロック信号及びデータ信号を示す図である。 比較例におけるクロック制御のタイミングチャートである。 比較例においてクロック制御を行う回路の構成図である。 比較例において最大の電源ノイズが発生したときのクロック制御のタイミングチャートである。 比較例において短周期の小ノイズが発生したときのクロック制御のタイミングチャートである。 実施形態の半導体装置の構成図である。 クロック制御のフローチャートである。 LSIの第1のハードウェア構成図である。 クロック制御回路の第1のハードウェア構成図である。 候補時間テーブルを示す図である。 LSIにおいて短周期の小ノイズが発生したときのクロック制御のタイミングチャートである。 第1のクロック制御を示す図である。 第1のクロック制御のフローチャートである。 クロック制御回路の第2のハードウェア構成図である。 第2のクロック制御を示す図である。 第2のクロック制御のフローチャートである。 LSIの第2のハードウェア構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
図3は、比較例のプロセッサにおいて、電源ノイズの発生が検知された場合にクロック信号の周波数を低下させるクロック制御の例を示すタイミングチャートである。CLKは、クロック信号を表し、CLK周波数は、クロック信号の周波数を表す。通常速度は、LSIの通常動作におけるクロック信号の周波数F0に対応し、低速は、通常速度よりも低い周波数FLに対応し、中速は、通常速度と低速の間の周波数に対応する。
通常電圧は、プロセッサの通常動作における電源電圧を表し、限界電圧は、プロセッサが通常速度のCLK周波数で動作できる電源電圧の下限を表す。電源電圧が限界電圧よりも低くなると、プロセッサは、周波数F0で動作することが難しくなる。
動作開始時において、CLK周波数はF0であり、プロセッサは通常速度で動作している。時刻t1において、電源ノイズが発生し、時刻t2において、電源電圧が限界電圧まで低下する。そこで、CLK周波数をFLに変更する制御が行われ、プロセッサは低速で動作する。これにより、クロック信号のタイミングマージンが増加するため、タイミングエラーが発生しなくなる。
その後、電源電圧がさらに低下した後に、電源ノイズの低減によって電源電圧が上昇し始める。そして、時刻t3において、電源ノイズが収束し、電源電圧が限界電圧に到達する。そこで、CLK周波数を段階的に上昇させる制御が行われ、プロセッサは中速で動作する。電源ノイズの収束は、電源ノイズが消滅することを意味する。電源ノイズが発生してから収束するまでの時間であるノイズ発生時間は、時刻t2から時刻t3までの時間である。
中速での動作において、CLK周波数はFLから段階的に上昇し、最終的にF0に復帰する。そして、プロセッサは再び通常速度で動作するようになる。時刻t4において、電源電圧が通常電圧に到達する。
図4は、比較例のプロセッサにおいて、図3のクロック制御を行う回路の構成例を示している。図4の回路は、検知回路401、制御回路402、及びクロック回路403を含む。検知回路401は、比較回路411を含み、電源ノイズの発生及び収束を検知する。クロック回路403は、クロック信号の周波数を動的に変更することができる。
図4(a)は、時刻t2においてCLK周波数をFLに変更する制御の例を示している。比較回路411は、プロセッサの電源電圧と限界電圧とを比較し、電源電圧が限界電圧よりも低くなった場合、電源ノイズの発生を示すノイズ発生信号421を、制御回路402へ出力する。
制御回路402は、ノイズ発生信号421を受信すると、CLK周波数をFLに変更する指示を示す周波数低下信号422を、クロック回路403へ出力する。クロック回路403は、周波数低下信号422を受信すると、CLK周波数をFLに変更してクロック信号を出力する。これにより、プロセッサの動作速度は、通常速度から低速に変化する。
図4(b)は、時刻t3においてCLK周波数を段階的に上昇させる制御の例を示している。比較回路411は、プロセッサの電源電圧と限界電圧とを比較し、電源電圧が限界電圧に到達した場合、電源ノイズの収束を示すノイズ収束信号431を、制御回路402へ出力する。
制御回路402は、ノイズ収束信号431を受信すると、CLK周波数をFLからF0まで段階的に上昇させる周波数復帰制御を開始する。周波数復帰制御において、制御回路402は、CLK周波数を所定値だけ上昇させる指示を示す周波数上昇信号432を、所定時間間隔でクロック回路403へ出力する。
クロック回路403は、周波数上昇信号432を受信する度に、CLK周波数を所定値だけ上昇させてクロック信号を出力する。これにより、プロセッサの動作速度は、低速から中速に変化する。所定回数の周波数上昇信号432を受信すると、CLK周波数がF0に復帰し、プロセッサの動作速度は、中速から通常速度に変化する。
CLK周波数の急激な上昇は大きな電流変動を伴い、再び電源ノイズを発生させることがある。この場合、発生した電源ノイズが検知されて、CLK周波数が再び低下する。そこで、CLK周波数を急激に上昇させるのではなく、FLからF0まで段階的に上昇させることで、CLK周波数の再度の低下を回避することができる。
図5は、比較例のプロセッサにおいて、最大の電源ノイズが発生したときのクロック制御の例を示すタイミングチャートである。以下では、最大の電源ノイズを指して、最大ノイズと記載することがある。
動作開始時において、電源電圧は通常電圧であり、CLK周波数はF0である。時刻t11において、電源ノイズが発生し、電源電圧が限界電圧よりも低くなるため、CLK周波数がFLに変更される。
その後、電源電圧がさらに低下した後に、電源ノイズの低減によって電源電圧が上昇し始め、時刻t12において、電源ノイズが収束し、電源電圧が限界電圧に到達する。そこで、CLK周波数を段階的に上昇させる制御が行われ、時刻t13において、CLK周波数がF0に復帰する。
この場合、ノイズ発生時間は、時刻t11から時刻t12までの数μs(マイクロ秒)であり、CLK周波数がFLからF0に復帰するまでの時間である周波数復帰時間は、時刻t12の直後から時刻t13までの数μsである。周波数復帰時間は、CLK周波数が再び低下しないように、最大ノイズが発生したときの電圧回復時間を考慮して、数μsに設定されている。
しかし、マルチコアプロセッサにおいては、すべてのコアが同時に動作を開始する場合に最大ノイズが発生する。この場合、長周期の大ノイズが発生するが、すべてのコアが同時に動作を開始する頻度は低いため、最大ノイズの発生頻度は低い。
一方、数個程度のコアが同時に動作を開始する場合の電源ノイズは、短周期の小ノイズである。この場合、電圧回復時間は数百ns(ナノ秒)程度以下であり、最大ノイズが発生したときの電圧回復時間よりも短い。
図6は、比較例のプロセッサにおいて、短周期の小ノイズが発生したときのクロック制御の例を示すタイミングチャートである。動作開始時において、電源電圧は通常電圧であり、CLK周波数はF0である。時刻t21において、電源ノイズが発生し、CLK周波数がFLに変更される。そして、時刻t22において、電源ノイズが収束し、CLK周波数を段階的に上昇させる制御が行われ、時刻t23において、CLK周波数がF0に復帰する。
この場合、ノイズ発生時間は、時刻t21から時刻t22までの数nsであり、周波数復帰時間は、時刻t22の直後から時刻t23までの数μsである。周波数復帰時間は、最大ノイズが発生したときの電圧回復時間を基準に設定されるため、ノイズ発生時間が短くても、CLK周波数がFLからF0に復帰するまでに長時間かかってしまう。
短周期の小ノイズが発生したときは短時間で電源電圧が回復するにもかかわらず、プロセッサは、長時間にわたってF0よりも低い周波数で動作する。このため、プロセッサの性能を不必要に低下させている。
特許文献2の電子回路では、電源ノイズに追従して高速に発振周波数を変化させることができるが、周波数復帰時間は最適化されていない。
図7は、実施形態の半導体装置の構成例を示している。図7の半導体装置701は、検知部711、制御部712、及びクロック部713を含む。クロック部713は、クロック信号を出力する。
図8は、図7の半導体装置701が行うクロック制御の例を示すフローチャートである。まず、検知部711は、電源ノイズの発生を検知し(ステップ801)、制御部712は、クロック信号の周波数を第1周波数から第2周波数に低下させる(ステップ802)。
次に、検知部711は、電源ノイズの収束を検知し(ステップ803)、制御部712は、電源ノイズの発生から電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定する(ステップ804)。そして、制御部712は、周波数復帰時間に基づいて、クロック信号の周波数を第2周波数から第1周波数に復帰させる(ステップ805)。
図7の半導体装置701によれば、半導体装置701が低周波数で動作する時間を短縮することができる。
図9は、図7の半導体装置701に対応するLSIの第1のハードウェア構成例を示している。図9のLSI901は、クロック制御回路911、内部回路912、及びI/O(Input/Output)回路913を含む。これらの構成要素はハードウェア回路である。LSI901は、プロセッサであってもよい。
内部回路912は、論理演算を行う。I/O回路913は、論理演算に用いられるデータを外部から受信し、受信したデータを内部回路912へ出力するとともに、内部回路912から出力される演算結果を外部へ出力する。クロック制御回路911は、クロック信号を生成し、信号線922を介して内部回路912へ出力する。このとき、クロック制御回路911は、信号線921を介して内部回路912の電源電圧を検出し、検出された電源電圧に基づいてクロック信号の周波数を制御する。
図10は、図9のクロック制御回路911の第1のハードウェア構成例を示している。図10のクロック制御回路911は、検知回路1011、制御回路1012、クロック回路1013、カウンタ1014、及びレジスタ1015を含む。
クロック回路1013は、クロック信号の周波数を動的に変更することができる。クロック回路1013は、PLL(Phase Locked Loop)、DLL(Delay-Locked Loop)、又はクロック信号の周波数を切り替えるスイッチを含んでいてもよい。
検知回路1011、制御回路1012、及びクロック回路1013は、図7の検知部711、制御部712、及びクロック部713にそれぞれ対応する。
レジスタ1015は、候補時間テーブルを記憶する。候補時間テーブルは、複数の時間範囲それぞれに対応付けられた候補時間を含む。各時間範囲に対応付けられた候補時間は、周波数復帰時間の候補である。レジスタ1015は、記憶部の一例である。カウンタ1014は、電源ノイズが発生したとき、ノイズ発生時間をカウントし、カウント値countを出力する。
図11は、候補時間テーブルの例を示している。図11の候補時間テーブルは、N+1個(Nは1以上の整数)のエントリを含み、各エントリは、項番、条件、及び候補時間を含む。項番は、エントリの識別情報であり、条件は、ノイズ発生時間を表すcountに対する判定条件である。
num_i(i=0~N)は、countに対する閾値であり、time_iは、候補時間である。time_i(i=1~N)は、time_(i-1)よりも長い。各エントリの候補時間は、そのエントリの条件に対応付けられている。
例えば、0番目のエントリの条件は、countがnum_0以下であることを表す。i番目(i=1~N-1)のエントリの条件は、countがnum_(i-1)よりも大きく、かつ、num_i以下であることを表す。N番目のエントリの条件は、countがnum_(N-1)よりも大きいことを表す。
各エントリの条件は、countが属する時間範囲を表しており、countが表すノイズ発生時間が長いほど、countが属する時間範囲に対応する候補時間も長くなる。
検知回路1011は、信号線921を介して内部回路912の電源電圧を検出し、検出された電源電圧から電源ノイズの発生を検知する。そして、検知回路1011は、電源ノイズの発生を示すノイズ発生信号を、制御回路1012へ出力する。
制御回路1012は、電源ノイズのノイズ発生時間と電源ノイズの周期及び大きさとの間の相関関係を利用して、クロック信号の周波数を制御する。制御回路1012は、ノイズ発生信号を受信すると、クロック信号の周波数を低速動作時の周波数FLに変更する指示を示す周波数低下信号を、クロック回路1013へ出力する。そして、制御回路1012は、カウンタ1014に対してカウント動作の開始を指示することで、ノイズ発生時間の測定を開始する。
クロック回路1013は、周波数低下信号を受信すると、クロック信号の周波数をFLに変更し、信号線922を介してクロック信号を内部回路912へ出力する。カウンタ1014は、ノイズ発生時間のカウントを開始する。
次に、検知回路1011は、信号線921を介して検出された電源電圧から、電源ノイズの収束を検知する。そして、検知回路1011は、電源ノイズの収束を示すノイズ収束信号を、制御回路1012へ出力する。
制御回路1012は、ノイズ収束信号を受信すると、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014からcountを取得する。そして、制御回路1012は、取得されたcountをノイズ発生時間として用いて、周波数復帰時間を決定する。
制御回路1012は、レジスタ1015が記憶する候補時間テーブルにアクセスし、候補時間テーブルに含まれる複数の候補時間のうち、取得されたcountを含む時間範囲に対応付けられた候補時間を取得する。これにより、ノイズ発生時間に応じて周波数復帰時間を選択することができる。
次に、制御回路1012は、取得された候補時間を周波数復帰時間として用いて、周波数復帰制御を開始する。周波数復帰制御において、制御回路1012は、周波数復帰時間の間に、クロック信号の周波数がFLから通常動作の周波数F0まで段階的に上昇するように、クロック回路1013を制御する。F0は第1周波数の一例であり、FLは第2周波数の一例である。
制御回路1012は、クロック信号の周波数がFLからF0まで変化する時間が周波数復帰時間に一致し、かつ、周波数がFLからF0まで徐々に上昇するように、時間間隔ΔT及び周波数の増分ΔFを決定する。そして、制御回路1012は、周波数をΔFだけ上昇させる指示を示す周波数上昇信号を、ΔTの間隔でクロック回路1013へ出力する。
クロック回路1013は、周波数上昇信号を受信する度に、クロック信号の周波数をΔFだけ上昇させ、信号線922を介してクロック信号を内部回路912へ出力する。そして、周波数復帰時間が経過すると、クロック信号の周波数がF0に復帰する。周波数を段階的に上昇させることで、再び発生した電源ノイズによる周波数の再度の低下を回避することができる。
候補時間テーブルに設定される条件及び候補時間は、事前のシミュレーションにより求めることができる。しかし、LSI901の動作中に条件及び候補時間を評価しながら決定した方が、条件及び候補時間の精度が高くなる。そこで、クロック制御回路911の外部から候補時間テーブルの条件及び候補時間を設定できるようにしておくことが望ましい。
また、クロック制御において考慮すべき電源ノイズの周期の個数は、電源供給系のインピーダンスピークの個数及び高さによって決まるため、それらの値に応じて候補時間テーブルのエントリの個数を決定することが望ましい。インピーダンスピークの個数及び高さに対応する周波数復帰時間を選択できるように、候補時間テーブルの条件及び候補時間を設定することで、周波数復帰時間をさらに最適化することができる。
図12は、図9のLSI901において、短周期の小ノイズが発生したときのクロック制御の例を示すタイミングチャートである。CLK周波数は、クロック回路1013が出力するクロック信号の周波数を表す。電源電圧の変化を示すグラフの領域1201は、拡大されて下方に示されている。
動作開始時において、電源電圧は通常電圧であり、CLK周波数はF0である。時刻t31において、電源ノイズが発生し、CLK周波数がFLに変更される。そして、時刻t32において、電源ノイズが収束し、CLK周波数を段階的に上昇させる制御が行われ、時刻t33において、CLK周波数がF0に復帰する。
この場合、ノイズ発生時間は、時刻t31から時刻t32までの短時間であり、周波数復帰時間は、時刻t32の直後から時刻t33までの数百nsである。短いノイズ発生時間に応じて短い周波数復帰時間が選択されているため、図6のクロック制御よりも短時間でCLK周波数がF0に復帰する。
図13は、図10のクロック制御回路911が行う第1のクロック制御の例を示している。図13の検知回路1011は、比較回路1311を含む。
図13(a)は、電源ノイズ発生時にCLK周波数をFLに変更する制御の例を示している。比較回路1311は、内部回路912の電源電圧と限界電圧とを比較し、電源電圧が限界電圧よりも低くなった場合、電源ノイズの発生を示すノイズ発生信号1321を、制御回路1012へ出力する。
制御回路1012は、ノイズ発生信号1321を受信すると、CLK周波数をFLに変更する指示を示す周波数低下信号1322を、クロック回路1013へ出力し、カウンタ1014に対してカウント動作の開始を指示する。クロック回路1013は、周波数低下信号1322を受信すると、CLK周波数をFLに変更してクロック信号を出力する。これにより、LSI901の動作速度は、通常速度から低速に変化する。
図13(b)は、短周期の小ノイズが収束したときにCLK周波数を段階的に上昇させる制御の例を示している。比較回路1311は、内部回路912の電源電圧と限界電圧とを比較し、電源電圧が限界電圧に到達した場合、電源ノイズの収束を示すノイズ収束信号1331を、制御回路1012へ出力する。
制御回路1012は、ノイズ収束信号1331を受信すると、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014から、短いノイズ発生時間を示すcountを取得する。そして、制御回路1012は、レジスタ1015が記憶する候補時間テーブルにおいて、取得されたcountを含む時間範囲に対応付けられた短い候補時間を取得する。
次に、制御回路1012は、取得された短い候補時間を周波数復帰時間として用いてΔT及びΔFを決定し、周波数復帰制御を開始する。周波数復帰制御において、制御回路1012は、CLK周波数をΔFだけ上昇させる指示を示す周波数上昇信号1332を、ΔTの間隔でクロック回路1013へ出力する。
クロック回路1013は、周波数上昇信号1332を受信する度に、CLK周波数をΔFだけ上昇させ、クロック信号を内部回路912へ出力する。これにより、LSI901の動作速度は、低速から中速に変化し、短い周波数復帰時間の間、LSI901は中速で動作する。周波数復帰時間が経過すると、CLK周波数がF0に復帰し、LSI901の動作速度は、中速から通常速度に変化する。
図13(c)は、長周期の大ノイズが収束したときにCLK周波数を段階的に上昇させる制御の例を示している。比較回路1311は、内部回路912の電源電圧と限界電圧とを比較し、電源電圧が限界電圧に到達した場合、電源ノイズの収束を示すノイズ収束信号1341を、制御回路1012へ出力する。
制御回路1012は、ノイズ収束信号1341を受信すると、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014から、長いノイズ発生時間を示すcountを取得する。そして、制御回路1012は、レジスタ1015が記憶する候補時間テーブルにおいて、取得されたcountを含む時間範囲に対応付けられた長い候補時間を取得する。
次に、制御回路1012は、取得された長い候補時間を周波数復帰時間として用いてΔT及びΔFを決定し、周波数復帰制御を開始する。周波数復帰制御において、制御回路1012は、CLK周波数をΔFだけ上昇させる指示を示す周波数上昇信号1342を、ΔTの間隔でクロック回路1013へ出力する。
クロック回路1013は、周波数上昇信号1332を受信する度に、CLK周波数をΔFだけ上昇させ、クロック信号を内部回路912へ出力する。これにより、LSI901の動作速度は、低速から中速に変化し、長い周波数復帰時間の間、LSI901は中速で動作する。周波数復帰時間が経過すると、CLK周波数がF0に復帰し、LSI901の動作速度は、中速から通常速度に変化する。
図10のクロック制御回路911によれば、電源ノイズが発生してから収束するまでのノイズ発生時間に応じて、複数の候補時間の中から周波数復帰時間を選択することができる。これにより、実質的に、電源ノイズの周期及び大きさに応じて適切な周波数復帰時間を選択することが可能になり、LSI901が中速で動作する時間を短縮することができる。中速で動作する時間が減少することで、通常速度で動作する時間が増加するため、LSI901の性能が向上する。
図14は、図10のクロック制御回路911が行う第1のクロック制御の例を示すフローチャートである。まず、検知回路1011は、内部回路912の電源電圧から電源ノイズの発生を検知し、ノイズ発生信号を制御回路1012へ出力する(ステップ1401)。
次に、制御回路1012は、受信したノイズ発生信号に基づいて、周波数低下信号をクロック回路1013へ出力し、クロック回路1013は、受信した周波数低下信号に基づいて、クロック信号の周波数をFLに変更する(ステップ1402)。そして、制御回路1012は、カウンタ1014に対してカウント動作の開始を指示し、カウンタ1014は、ノイズ発生時間のカウントを開始する(ステップ1403)。
次に、検知回路1011は、内部回路912の電源電圧から電源ノイズの収束を検知し、ノイズ収束信号を制御回路1012へ出力する(ステップ1404)。
次に、制御回路1012は、受信したノイズ収束信号に基づいて、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014は、ノイズ発生時間のカウントを停止する(ステップ1405)。そして、制御回路1012は、カウンタ1014からcountを取得する(ステップ1406)。
次に、制御回路1012は、候補時間テーブルのエントリを示す制御変数iに0を設定し(ステップ1407)、項番“i”を有するi番目のエントリから、条件に含まれるnum_iを取得する(ステップ1408)。そして、制御回路1012は、カウンタ1014から取得されたcountとnum_iとを比較する(ステップ1409)。
countがnum_i以下である場合(ステップ1409,YES)、制御回路1012は、i番目のエントリからtime_iを取得し(ステップ1410)、time_iを周波数復帰時間として用いて周波数復帰制御を行う(ステップ1411)。
一方、countがnum_iよりも大きい場合(ステップ1409,NO)、制御回路1012は、iを1だけインクリメントして(ステップ1412)、iとNを比較する(ステップ1413)。iがNよりも小さい場合(ステップ1413,NO)、制御回路1012は、ステップ1408以降の処理を繰り返す。
一方、iがNに達している場合(ステップ1413,YES)、制御回路1012は、N番目のエントリからtime_Nを取得し(ステップ1414)、time_Nを周波数復帰時間として用いて周波数復帰制御を行う(ステップ1415)。
図15は、図9のクロック制御回路911の第2のハードウェア構成例を示している。図15のクロック制御回路911は、図10のクロック制御回路911からレジスタ1015を削除し、制御回路1012を制御回路1511に置き換えた構成を有する。制御回路1511は、図7の制御部712に対応する。
検知回路1011、クロック回路1013、及びカウンタ1014の動作は、図10のクロック制御回路911と同様である。
制御回路1511は、検知回路1011からノイズ発生信号を受信すると、クロック信号の周波数を低速動作時の周波数FLに変更する指示を示す周波数低下信号を、クロック回路1013へ出力する。そして、制御回路1511は、カウンタ1014に対してカウント動作の開始を指示する。
制御回路1511は、検知回路1011からノイズ収束信号を受信すると、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014からcountを取得する。そして、制御回路1511は、取得されたcountをXとして用いて、次式により周波数復帰時間TRを計算する。
TR=a+an-1n-1+・・・+a+a (1)
式(1)の右辺は、Xのn次多項式(nは1以上の整数)であり、Xが増加するにつれてTRも増加する。
次に、制御回路1511は、計算されたTRを周波数復帰時間として用いて、クロック信号の周波数をFLからF0まで段階的に上昇させる周波数復帰制御を行う。
式(1)の係数a~係数a及び定数項aの値は、事前のシミュレーションにより求めることができる。しかし、LSI901の動作中に係数a~係数a及び定数項aの値を評価しながら決定した方が、それらの値の精度が高くなる。そこで、クロック制御回路911の外部から係数a~係数a及び定数項aの値を設定できるようにしておくことが望ましい。
また、電源供給系のインピーダンスピークの個数及び高さに対応する周波数復帰時間を計算できるように、係数a~係数a及び定数項aの値を設定することで、周波数復帰時間をさらに最適化することができる。
図16は、図15のクロック制御回路911が行う第2のクロック制御の例を示している。比較回路1311は、内部回路912の電源電圧と限界電圧とを比較し、電源電圧が限界電圧に到達した場合、電源ノイズの収束を示すノイズ収束信号1611を、制御回路1511へ出力する。
制御回路1511は、ノイズ収束信号1611を受信すると、カウンタ1014に対してカウント動作の停止を指示し、カウンタ1014から、ノイズ発生時間を示すcountを取得する。そして、制御回路1511は、取得されたcountをXとして用いて、式(1)によりTRを計算する。
次に、制御回路1511は、計算されたTRを周波数復帰時間として用いてΔT及びΔFを決定し、周波数復帰制御を開始する。周波数復帰制御において、制御回路1511は、CLK周波数をΔFだけ上昇させる指示を示す周波数上昇信号1612を、ΔTの間隔でクロック回路1013へ出力する。
クロック回路1013は、周波数上昇信号1612を受信する度に、CLK周波数をΔFだけ上昇させ、クロック信号を内部回路912へ出力する。これにより、LSI901の動作速度は、低速から中速に変化し、周波数復帰時間の間、LSI901は中速で動作する。周波数復帰時間が経過すると、CLK周波数がF0に復帰し、LSI901の動作速度は、中速から通常速度に変化する。
図15のクロック制御回路911によれば、電源ノイズが発生してから収束するまでのノイズ発生時間に応じて、周波数復帰時間を計算することができる。これにより、実質的に、電源ノイズの周期及び大きさに応じて適切な周波数復帰時間を選択することが可能になり、LSI901が中速で動作する時間を短縮することができる。中速で動作する時間が減少することで、通常速度で動作する時間が増加するため、LSI901の性能が向上する。
図17は、図15のクロック制御回路911が行う第2のクロック制御の例を示すフローチャートである。ステップ1701~ステップ1706の処理は、図14のステップ1401~ステップ1406の処理と同様である。
カウンタ1014からcountを取得すると、制御回路1511は、取得されたcountをXとして用いて、式(1)によりTRを計算する(ステップ1707)。そして、制御回路1511は、計算されたTRを周波数復帰時間として用いて、周波数復帰制御を行う(ステップ1708)。
図18は、図7の半導体装置701に対応するLSIの第2のハードウェア構成例を示している。図18のLSI1801は、マルチコアプロセッサであり、コア1811-1~コア1811-4及びI/O回路1812を含む。これらの構成要素はハードウェア回路である。コア1811-j(j=1~4)は、クロック制御回路1821-jを含む。
コア1811-jは、演算処理を行う。I/O回路1812は、演算処理に用いられるデータを外部から受信し、受信したデータをコア1811-jへ出力するとともに、コア1811-jから出力される演算結果を外部へ出力する。クロック制御回路1821-jは、コア1811-jが使用するクロック信号を生成する。クロック制御回路1821-jは、例えば、図10又は図15に示したクロック制御回路911と同様の構成を有し、同様のクロック制御を行う。
図1のLSI、図7の半導体装置701、図9のLSI901、及び図18のLSI1801の構成は一例に過ぎず、LSI又は半導体装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図18のLSI1801に含まれるコア1811-jの個数は、1個~3個であってもよく、5個以上であってもよい。図10及び図15のクロック制御回路911の構成は一例に過ぎず、LSIの構成又は条件に応じて一部の構成要素を省略又は変更してもよい。
図2のクロック信号及びデータ信号は一例に過ぎず、クロック信号及びデータ信号は、LSIに応じて変化する。図3、図5、図6、及び図12のタイミングチャートは一例に過ぎず、クロック制御のタイミングチャートは、LSI及び電源ノイズに応じて変化する。図4、図13、及び図16に示したクロック制御は一例に過ぎず、クロック制御は、LSI及び電源ノイズに応じて変化する。
図8、図14、及び図17のフローチャートは一例に過ぎず、LSI又は半導体装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。図11の候補時間テーブルは一例に過ぎず、別の形式の条件及び候補時間を用いてもよい。式(1)は一例に過ぎず、制御回路1511は、別の計算式を用いて周波数復帰時間TRを計算してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図3乃至図18を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1周波数のクロック信号を出力するクロック部と、
電源ノイズの発生及び前記電源ノイズの収束を検知する検知部と、
前記電源ノイズの発生が検知された場合、前記クロック信号の周波数を前記第1周波数から第2周波数に低下させ、前記電源ノイズの発生から前記電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、前記周波数復帰時間に基づいて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる制御部と、
を備えることを特徴とする半導体装置。
(付記2)
前記制御部は、前記周波数復帰時間の間に、前記クロック信号の周波数が前記第2周波数から前記第1周波数まで段階的に上昇するように、前記クロック部を制御することを特徴とする付記1記載の半導体装置。
(付記3)
複数の時間範囲それぞれに対応付けられた候補時間を記憶する記憶部をさらに備え、
前記制御部は、前記複数の時間範囲それぞれに対応付けられた候補時間のうち、前記ノイズ発生時間を含む時間範囲に対応付けられた候補時間を、前記周波数復帰時間として用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させることを特徴とする付記1又は2記載の半導体装置。
(付記4)
前記制御部は、前記ノイズ発生時間を用いて前記周波数復帰時間を計算し、計算された前記周波数復帰時間を用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させることを特徴とする付記1又は2記載の半導体装置。
(付記5)
電源ノイズの発生を検知し、
クロック信号の周波数を第1周波数から第2周波数に低下させ、
前記電源ノイズの収束を検知し、
前記電源ノイズの発生から前記電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、
前記周波数復帰時間に基づいて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる、
ことを特徴とするクロック制御方法。
(付記6)
前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる処理は、前記周波数復帰時間の間に、前記クロック信号の周波数が前記第2周波数から前記第1周波数まで段階的に上昇するように、前記クロック信号の周波数を制御する処理を含むことを特徴とする付記5記載のクロック制御方法。
(付記7)
前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる処理は、複数の時間範囲それぞれに対応付けられた候補時間のうち、前記ノイズ発生時間を含む時間範囲に対応付けられた候補時間を、前記周波数復帰時間として用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる処理を含むことを特徴とする付記5又は6記載のクロック制御方法。
(付記8)
前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる処理は、前記ノイズ発生時間を用いて前記周波数復帰時間を計算する処理と、計算された前記周波数復帰時間を用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる処理とを含むことを特徴とする付記5又は6記載のクロック制御方法。
101 クロックドライバ
102、104 FF
103 論理回路
401、1011 検知回路
402、1012、1511 制御回路
403、1013 クロック回路
411、1311 比較回路
421、1321 ノイズ発生信号
422、1322 周波数低下信号
431、1331、1341、1611 ノイズ収束信号
432、1332、1342、1612 周波数上昇信号
701 半導体装置
711 検知部
712 制御部
713 クロック部
901、1801 LSI
911、1821-1~1821-4 クロック制御回路
912 内部回路
913、1812 I/O回路
921、922 信号線
1014 カウンタ
1015 レジスタ
1201 領域
1811-1~1811-4 コア

Claims (5)

  1. 第1周波数のクロック信号を出力するクロック部と、
    電源ノイズの発生及び前記電源ノイズの収束を検知する検知部と、
    前記電源ノイズの発生が検知された場合、前記クロック信号の周波数を前記第1周波数から第2周波数に低下させ、前記電源ノイズの発生から前記電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、前記周波数復帰時間に基づいて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる制御部と、
    を備えることを特徴とする半導体装置。
  2. 前記制御部は、前記周波数復帰時間の間に、前記クロック信号の周波数が前記第2周波数から前記第1周波数まで段階的に上昇するように、前記クロック部を制御することを特徴とする請求項1記載の半導体装置。
  3. 複数の時間範囲それぞれに対応付けられた候補時間を記憶する記憶部をさらに備え、
    前記制御部は、前記複数の時間範囲それぞれに対応付けられた候補時間のうち、前記ノイズ発生時間を含む時間範囲に対応付けられた候補時間を、前記周波数復帰時間として用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させることを特徴とする請求項1又は2記載の半導体装置。
  4. 前記制御部は、前記ノイズ発生時間を用いて前記周波数復帰時間を計算し、計算された前記周波数復帰時間を用いて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させることを特徴とする請求項1又は2記載の半導体装置。
  5. 電源ノイズの発生を検知し、
    クロック信号の周波数を第1周波数から第2周波数に低下させ、
    前記電源ノイズの収束を検知し、
    前記電源ノイズの発生から前記電源ノイズの収束までのノイズ発生時間に応じて周波数復帰時間を決定し、
    前記周波数復帰時間に基づいて、前記クロック信号の周波数を前記第2周波数から前記第1周波数に復帰させる、
    ことを特徴とするクロック制御方法。
JP2021073744A 2021-04-26 2021-04-26 半導体装置及びクロック制御方法 Pending JP2022168364A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021073744A JP2022168364A (ja) 2021-04-26 2021-04-26 半導体装置及びクロック制御方法
US17/672,746 US20220342440A1 (en) 2021-04-26 2022-02-16 Semiconductor device and clock control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021073744A JP2022168364A (ja) 2021-04-26 2021-04-26 半導体装置及びクロック制御方法

Publications (1)

Publication Number Publication Date
JP2022168364A true JP2022168364A (ja) 2022-11-08

Family

ID=83694634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021073744A Pending JP2022168364A (ja) 2021-04-26 2021-04-26 半導体装置及びクロック制御方法

Country Status (2)

Country Link
US (1) US20220342440A1 (ja)
JP (1) JP2022168364A (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6809606B2 (en) * 2002-05-02 2004-10-26 Intel Corporation Voltage ID based frequency control for clock generating circuit
JP4924223B2 (ja) * 2007-06-12 2012-04-25 富士通セミコンダクター株式会社 半導体装置
US9164563B2 (en) * 2012-05-24 2015-10-20 International Business Machines Corporation Processor noise mitigation using differential critical path monitoring
US9141421B2 (en) * 2012-12-04 2015-09-22 International Business Machines Corporation Reducing power grid noise in a processor while minimizing performance loss
US9494658B2 (en) * 2013-03-14 2016-11-15 Flextronics Ap, Llc Approach for generation of power failure warning signal to maximize useable hold-up time with AC/DC rectifiers
US9952281B2 (en) * 2013-07-04 2018-04-24 Nvidia Corporation Clock jitter and power supply noise analysis
US10348281B1 (en) * 2016-09-06 2019-07-09 Ampere Computing Llc Clock control based on voltage associated with a microprocessor
JP2018163498A (ja) * 2017-03-24 2018-10-18 エイブリック株式会社 監視回路
JP7193718B2 (ja) * 2018-12-19 2022-12-21 富士通株式会社 制御プログラム、情報処理装置及び制御方法

Also Published As

Publication number Publication date
US20220342440A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
US10782763B2 (en) Semiconductor device
US8909961B2 (en) Method and apparatus for adjusting power consumption level of an integrated circuit
US9628089B1 (en) Supply voltage tracking clock generator in adaptive clock distribution systems
US8615687B2 (en) Data processing system and method for regulating a voltage supply to functional circuitry of the data processing system
CN114424144B (zh) 自适应片上数字功率估计器
JP7399622B2 (ja) 半導体装置及び半導体装置の制御方法
JP4960179B2 (ja) データ処理装置、電源電圧生成回路及びその電源電圧生成方法
CN117642710A (zh) 用于响应于电压下降在超频期间启用时钟拉伸的系统和方法
JP2014052969A (ja) クロック周波数制御装置、半導体装置
JP6859695B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2022168364A (ja) 半導体装置及びクロック制御方法
KR101297413B1 (ko) 적응형 클럭 생성 장치 및 방법
US9537484B2 (en) Semiconductor device and method of controlling the same
US20190179383A1 (en) Electronic device to control temperature and computing performance of at least one processing unit and system and method thereof
USRE48100E1 (en) Method and system for power management
JP2019057281A (ja) クロック生成回路およびクロック生成方法
CN107918442B (zh) 频率调整装置以及调整频率的方法
JP2017017671A (ja) 電子回路及び発振器の制御方法
Shan et al. Timing error prediction based adaptive voltage scaling for dynamic variation tolerance
JP4894327B2 (ja) ジッタ測定回路
US20230400507A1 (en) Information processing apparatus and degradation estimation method
TWI655577B (zh) 運算速度補償電路及其補償方法
JP6880900B2 (ja) 演算装置、演算装置制御方法、プログラム
Whatmough et al. Hybrid circuit and algorithmic timing error correction for low-power robust dsp accelerators
Sai et al. A cost-efficient delay-fault monitor

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20231024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240111