IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-32493クロック周波数調整回路、及び、クロック周波数調整方法
<>
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図1
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図2
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図3
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図4
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図5
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図6
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図7
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図8
  • 特開-クロック周波数調整回路、及び、クロック周波数調整方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024032493
(43)【公開日】2024-03-12
(54)【発明の名称】クロック周波数調整回路、及び、クロック周波数調整方法
(51)【国際特許分類】
   G06F 1/04 20060101AFI20240305BHJP
   G06F 1/06 20060101ALI20240305BHJP
   H03L 7/095 20060101ALI20240305BHJP
   H03L 7/081 20060101ALI20240305BHJP
【FI】
G06F1/04 510
G06F1/06 590
H03L7/095
H03L7/081
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022136172
(22)【出願日】2022-08-29
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】城田 慎一郎
【テーマコード(参考)】
5J106
【Fターム(参考)】
5J106BB02
5J106CC58
5J106DD09
5J106DD24
5J106DD48
5J106EE03
5J106EE07
5J106HH01
5J106HH10
5J106KK02
5J106KK29
(57)【要約】
【課題】集積回路における電源ノイズの発生検知からクロック周波数の低下までの遅延時間を短縮する。
【解決手段】クロック周波数調整回路は、クロック信号に同期して動作する集積回路2に入力される電力におけるノイズの発生有無を示す検知信号を出力する検知回路4と、第1クロック信号を集積回路2に出力し、検知回路4から入力される検知信号がノイズの発生を示す場合、第1クロック信号に代えて低いクロック周波数の第2クロック信号を集積回路2に出力する制御回路5とを備え、検知回路4は、第1クロック信号を集積回路2の動作電圧に応じて遅延させた第1遅延クロック信号を出力する遅延回路42と、第1クロック信号を閾値電圧に応じて遅延させた第2遅延クロック信号を出力する遅延回路41と、第1及び第2遅延クロック信号の位相比較結果に基づき、前記検知信号を出力する回路43,44とを備える。
【選択図】図4
【特許請求の範囲】
【請求項1】
クロック信号に同期して動作する集積回路に入力される電力におけるノイズの発生有無を示す検知信号を出力する検知回路と、
第1クロック周波数を有する第1クロック信号を前記集積回路に出力し、前記検知回路から入力される前記検知信号が前記ノイズの発生を示す場合に、前記第1クロック信号に代えて、前記第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号を前記集積回路に出力するクロック周波数制御回路と、を備え、
前記検知回路は、
前記第1クロック信号を前記集積回路の動作電圧に応じて遅延させた第1遅延クロック信号を出力する第1遅延回路と、
前記第1クロック信号を前記動作電圧よりも低い閾値電圧に応じて遅延させた第2遅延クロック信号を出力する第2遅延回路と、
前記第1遅延クロック信号及び前記第2遅延クロック信号の位相の比較結果に基づき、前記検知信号を出力する検知信号出力回路と、を備える、
クロック周波数調整回路。
【請求項2】
前記検知信号出力回路は、
前記第1遅延クロック信号の立ち上がりのタイミングが、前記第2遅延クロック信号の立ち上がりのタイミングよりも早いか否かに応じた比較結果を出力する比較回路と、
前記比較結果を前記第1クロック信号に同期したタイミングで出力する出力回路と、を備える、
請求項1に記載のクロック周波数調整回路。
【請求項3】
前記第1遅延回路及び前記第2遅延回路の各々において、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する調整回路、を備える、
請求項1又は請求項2に記載のクロック周波数調整回路。
【請求項4】
前記調整回路は、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内で最大となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する、
請求項3に記載のクロック周波数調整回路。
【請求項5】
前記調整回路は、
前記第1遅延回路及び前記第2遅延回路の各々の遅延量を、前記閾値電圧と前記第1クロック周波数との組み合わせごとに記憶領域に保持し、
前記集積回路の動作電圧及び前記第1クロック周波数のうちの少なくとも一方の変化に応じて、前記集積回路の動作電圧に応じた閾値電圧と前記第1クロック周波数との組み合わせに対応する遅延量を、前記記憶領域から読み出して前記第1遅延回路及び前記第2遅延回路に設定する、
請求項3に記載のクロック周波数調整回路。
【請求項6】
検知回路とクロック周波数制御回路とを備えるクロック周波数調整回路におけるクロック周波数調整方法であって、
前記検知回路は、
前記クロック周波数制御回路から入力される第1クロック周波数を有する第1クロック信号をクロック信号に同期して動作する集積回路の動作電圧に応じて遅延させた第1遅延クロック信号を、第1遅延回路から出力し、
前記第1クロック信号を前記動作電圧よりも低い閾値電圧に応じて遅延させた第2遅延クロック信号を第2遅延回路から出力し、
検知信号出力回路から、前記第1遅延クロック信号及び前記第2遅延クロック信号の位相の比較結果に基づき、前記集積回路に入力される電力におけるノイズの発生有無を示す検知信号を出力し、
前記クロック周波数制御回路は、
前記第1クロック信号を前記集積回路に出力し、
前記検知回路から入力される前記検知信号が前記ノイズの発生を示す場合に、前記第1クロック信号に代えて、前記第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号を前記集積回路に出力する、
クロック周波数調整方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック周波数調整回路、及び、クロック周波数調整方法に関する。
【背景技術】
【0002】
近年、LSI(Large-Scale Integration)等の集積回路(IC:Integrated Circuit)における内部回路の消費電流量が増加している。消費電流量の増加により演算負荷変動時の電流変化が大きくなると、内部回路に供給される電源電圧に大きな電源ノイズが発生することがある。電源ノイズの発生は、電源電圧及びクロック周波数の低下を引き起こし、内部回路の遅延時間を増加させる。
【0003】
LSI設計では、内部回路での動作のタイミングに、増加した遅延時間を吸収するためのマージンを持たせた設計が行なわれることがある。想定される電源ノイズが大きいほどマージンが大きくなるため、マージンの存在は、LSIの周波数の向上及び消費電力の低減のための設計の妨げとなる。
【0004】
設計においてマージンを持たせない又は小さくするために、ノイズ検知回路が電源ノイズの発生を検知した場合に、クロック選択回路によってLSIの内部回路のクロック周波数を低下させるシステムが知られている。
【0005】
当該システムでは、ノイズ検知回路は、内部回路の動作限界電圧よりも高いノイズ検知電圧を閾値とし、電源電圧がノイズ検知電圧を下回った場合に、電源ノイズの発生を検知する。動作限界電圧は、内部回路が通常の周波数で(周波数を低下させないで)動作できる限界の電圧である。また、当該システムでは、クロック選択回路は、ノイズ検知回路による検知状況に応じて、互いに異なるクロック周波数のうちのいずれかを選択して内部回路に供給することで、内部回路のクロック周波数を変化させる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008-311767号公報
【特許文献2】特開2000-077999号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述したシステムでは、ノイズ検知回路が電源ノイズの発生を検知してから、クロック選択回路がクロック周波数を低下させるまでの遅延時間が発生する。
【0008】
当該遅延時間の間も電源電圧は低下し続けるため、ノイズ検知電圧には、動作限界電圧に対して十分なマージンを持たせた電圧が設定される。しかし、マージンが大きいほどノイズ検知電圧が通常時の電源電圧に近づくため、通常時の電源電圧からの小さな電圧低下によって電源ノイズの発生が検知され、LSIの処理性能が低下し得る。
【0009】
また、通常時の動作電圧をノイズ検知電圧よりも十分に高い電圧に設定することで、通常時の電源電圧からの小さな電圧低下による電源ノイズの発生の検知を抑制することも想定されるが、LSIの消費電力が増加する。
【0010】
1つの側面では、本発明は、集積回路における電源ノイズの発生検知からクロック周波数の低下までの遅延時間を短縮することを目的の1つとする。
【課題を解決するための手段】
【0011】
1つの側面では、クロック周波数調整回路は、検知回路と、クロック周波数制御回路とを備えてよい。前記検知回路は、クロック信号に同期して動作する集積回路に入力される電力におけるノイズの発生有無を示す検知信号を出力してよい。前記クロック周波数制御回路は、第1クロック周波数を有する第1クロック信号を前記集積回路に出力し、前記検知回路から入力される前記検知信号が前記ノイズの発生を示す場合に、前記第1クロック信号に代えて、前記第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号を前記集積回路に出力してよい。また、前記検知回路は、第1遅延回路と、第2遅延回路と、検知信号出力回路とを備えてよい。前記第1遅延回路は、前記第1クロック信号を前記集積回路の動作電圧に応じて遅延させた第1遅延クロック信号を出力してよい。前記第2遅延回路は、前記第1クロック信号を前記動作電圧よりも低い閾値電圧に応じて遅延させた第2遅延クロック信号を出力してよい。前記検知信号出力回路は、前記第1遅延クロック信号及び前記第2遅延クロック信号の位相の比較結果に基づき、前記検知信号を出力してよい。
【発明の効果】
【0012】
1つの側面では、本発明は、集積回路における電源ノイズの発生検知からクロック周波数の低下までの遅延時間を短縮することができる。
【図面の簡単な説明】
【0013】
図1】比較例に係るLSIにおける遅延時間を説明するための図である。
図2】比較例に係るLSIの構成例を示すブロック図である。
図3図2に示すLSIにおける周波数調整処理を説明するための図である。
図4】一実施形態に係るLSIの構成例を示すブロック図である。
図5】キャリブレーション回路(第1調整部)による第1調整シーケンスの一例を説明するための図である。
図6】一実施形態に係るノイズ検知回路におけるクロック信号の位相関係の一例を示す図である。
図7】設定保持部が保持する設定情報の一例を示す図である。
図8】一実施形態に係る第1調整部の動作例を説明するフローチャートである。
図9】一実施形態に係る第2調整部の動作例を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0015】
〔A〕比較例
図1は、比較例に係るLSI100における遅延時間を説明するための図である。図1には、LSI100において、CLK(Clock)ドライバ110により供給されるクロック信号により、データ出力(出し)側のFF(Flip Flop)120から、論理回路130を経由して、データ入力(受け)側のFF140にデータが転送される例を示す。
【0016】
図1に例示するように、LSI100に供給される電源電圧(以下、「LSI電圧」と表記する場合がある)が通常電圧である場合、FF120からFF140へのデータ転送の時間は、破線で示す遅延Tdとなる(符号A1参照)。通常電圧は、正常状態、例えば、電源ノイズが発生していない状態、又は、電源ノイズが所定レベル未満の状態における電圧である。
【0017】
一方、LSI100に供給される電源電圧が低下した場合、データ転送の時間は、遅延Tdと、点線で示す遅延増加ΔTd(符号A2参照)との合計の時間(Td+ΔTd)となる。遅延時間ΔTdは、電源ノイズが大きいほど増加する。そのため、LSI設計では、LSI100において発生し得る電源ノイズの大きさに応じたマージン(符号A3参照)が確保される。このマージンの存在は、LSIの周波数の向上及び消費電力の低減のための設計の妨げとなる。
【0018】
図2は、比較例に係るLSI200の構成例を示すブロック図である。図2に示すように、LSI200は、電源ノイズの発生を検知するノイズ検知回路210と、ノイズ検知回路210による電源ノイズの発生の検知に応じて、内部回路のクロック周波数を低下させるクロック選択回路220とを備える。これにより、タイミングエラーを回避でき、LSI200の設計においてマージンを持たせない又は小さくすることができる。
【0019】
ノイズ検知回路210は、所定のノイズ検知電圧を動作電圧として印加されるDL(Delay Line)211、LSI電圧を動作電圧として印加されるDL212、並びに、FF213を備える。DL211及び212の各々には、同一のクロック(PLLCLK:Phase Locked Loop Clock)が入力される。
【0020】
DL211及び212は、入力されるクロックを、印加される動作電圧の高さに応じて遅延させ、遅延させたクロックを出力する。DL211は、PLLCLKをノイズ検知電圧に応じて遅延させたクロックCLKを出力し、DL212は、PLLCLKをLSI電圧に応じて遅延させたクロックDATAを出力する。
【0021】
FF213は、符号Bに示すように、クロックDATA及びCLKの各々のタイミングの比較結果に応じたノイズ検知信号をクロック選択回路220に出力する。
【0022】
例えば、FF213は、クロックDATAの立ち上がりのタイミングがクロックCLKの立ち上がりのタイミングよりも時間的に早い場合、すなわち、クロックDATAの方がクロックCLKよりも遅延が小さい場合、“1”を出力する。
【0023】
また、FF213は、クロックDATAの立ち上がりのタイミングがクロックCLKの立ち上がりのタイミングよりも時間的に遅い場合、すなわち、クロックDATAの方がクロックCLKよりも遅延が大きい場合、“0”を出力する。
【0024】
DL211及び212から出力されるクロックの遅延は、例えば、動作電圧が高いほど小さくなる。
【0025】
例えば、LSI電圧がノイズ検知電圧よりも高い場合、クロックDATAの方がクロックCLKよりも遅延が小さくなり、FF213の出力は“1”(ノイズ未検知)となる。
【0026】
一方、LSI電圧がノイズ検知電圧よりも低い場合は、クロックDATAの方がクロックCLKよりも遅延が大きくなるため、FF213の出力は“0”(ノイズ検知)となる。
【0027】
クロック選択回路220は、同期化FF221及び選択回路222を備える。
【0028】
同期化FF221は、ノイズ検知回路210から入力されるノイズ検知信号を、LSI200の内部回路で用いられるシステムCLKで同期化して出力する。
【0029】
選択回路222は、同期化FF221から入力される出力信号(選択信号)に応じて、通常CLKと、通常CLKよりも低速な低速CLKとのうちのいずれか一方のCLKをシステムCLKとして選択し出力する。
【0030】
例えば、選択回路222は、選択信号が“1”の場合(ノイズ未検知)に通常CLKを選択し、選択信号が“0”の場合(ノイズ検知)に低速CLKを選択する。
【0031】
図3は、図2に示すLSI200における周波数調整処理を説明するための図である。例えば、図3に示すように、タイミングt0において、LSI電圧Vが、通常電圧V_normalからノイズ検知電圧V_noiseまで低下した場合、ノイズ検知回路210がノイズ検知信号として“0”を出力する(電源ノイズの発生を検知する)。
【0032】
クロック選択回路220は、タイミングt1において、選択信号“0”に応じて低速CLKを選択し出力する(システムCLKの周波数を低下させる)。
【0033】
タイミングt2において、電源ノイズが収束すると、LSI電圧Vがノイズ検知電圧V_noiseを上回り、ノイズ検知回路210がノイズ検知信号として“1”を出力する。クロック選択回路220は、選択信号“1”に応じて通常CLKを選択し出力する(システムCLKの周波数を通常CLKに戻す)。
【0034】
このように、LSI200は、LSI電圧Vがノイズ検知電圧V_noiseを下回ったタイミングでシステムCLKの周波数を低下させることができ、LSI電圧Vの低下によるタイミングエラーの発生を回避できる。
【0035】
しかし、図3に例示するように、LSI200では、ノイズ検知回路210が電源ノイズの発生を検知してから、クロック選択回路220がシステムCLKの周波数を低下させるまでの遅延Tr(t1-t0)が発生する。
【0036】
遅延Trの要因としては、ノイズ検知回路210の遅延、ノイズ検知信号をクロック選択回路220のクロックに同期させる同期遅延、クロック選択回路220の遅延、クロック分配遅延等が挙げられる。例えば、同期遅延は、2~3クロックサイクル程度の時間となるため、遅延Trの大きな割合を占める。
【0037】
図3に示すように、遅延Trの間もLSI電圧Vは低下し続けるため、ノイズ検知電圧V_noiseは、LSI200の内部回路が動作できる限界(下限)の電圧である動作限界電圧V_limitに対してマージンを持たせて設定される。
【0038】
しかし、ノイズ検知電圧V_noiseを上げると、周波数を低下させなくてもLSI200が動作可能な程度の小さなノイズによっても電圧低下が検知される可能性がある。この場合、システムCLKの周波数が低下し、LSI200の処理性能が低下する。
【0039】
これを回避するためには、通常電圧_normalとノイズ検知電圧V_noiseとのマージンを確保するために、通常電圧V_normalを高く設定することになるが、LSI200の消費電力が増加する。
【0040】
そこで、一実施形態では、集積回路における電源ノイズの発生検知からクロック周波数の低下までの遅延時間を短縮する手法を説明する。当該遅延時間を短縮することで、図1図3に示すLSI100及び200と比較して、集積回路の動作限界電圧に対するノイズ検知電圧のマージンを小さくでき、集積回路の低電圧化又は高速化を実現できる。
【0041】
〔B〕一実施形態の構成例
図4は、一実施形態に係るLSI1の構成例を示すブロック図である。
【0042】
LSI1は、クロック信号(システムCLK)に基づき動作する集積回路である。LSI1は、供給される電源電圧のノイズを検知し、供給されるクロック信号(システムCLK)の周波数を低下させることで、タイミングエラーの発生を回避するシステムの一例である。LSI1の非限定的な一例としては、CPU(Central Processing Unit)等のプロセッサが挙げられる。
【0043】
図4に示すように、LSI1は、例示的に、回路ブロック2、ノイズ検知電圧供給部3、ノイズ検知回路4、クロック選択回路5、及び、キャリブレーション回路6を備えてよい。回路ブロック2には、電源回路7から電力が供給されてよい。ノイズ検知電圧供給部3、ノイズ検知回路4、クロック選択回路5、及び、キャリブレーション回路6は、クロック周波数調整回路の一例である。
【0044】
回路ブロック2は、LSI1の内部回路であり、クロック信号に同期して動作する集積回路の一例である。例えば、回路ブロック2は、LSI1の外部の電源回路7から供給される電力と、クロック選択回路5から供給されるシステムCLKとを利用して動作する。
【0045】
回路ブロック2は、互いに異なるLSI電圧を利用する複数の回路領域を備えてもよい。LSI電圧は、回路ブロック2の回路領域で利用される電源電圧であってよく、例えば、電源回路7から供給される電源電圧そのものであってもよい。
【0046】
回路ブロック2が複数の回路領域を備える場合、LSI1は、回路領域ごとに、換言すれば、LSI電圧に応じたノイズ検知電圧とシステムCLKとの組み合わせごとに、ノイズ検知回路4及びクロック選択回路5を備えてよい。この場合、LSI1は、回路領域ごとに、当該回路領域のLSI電圧に基づくノイズの発生の検知結果に応じて、当該回路領域に供給するシステムCLKのクロック周波数を制御させてよい。
【0047】
電源回路7は、図示しない電力供給源からの電力を回路ブロック2に供給する。例えば、電源回路7は、LSI電圧を回路ブロック2に供給してよい。
【0048】
回路ブロック2が複数の回路領域を備える場合、電源回路7は、回路領域ごとに、当該回路領域が利用するLSI電圧を供給してもよい。或いは、互いに異なるLSI電圧を供給する複数の電源回路7が存在してもよい。なお、電源回路7は、LSI1に含まれてもよい。
【0049】
回路ブロック2又は電源回路7(図4の例では回路ブロック2)は、ノイズ検知回路4にLSI電圧を供給してよい。
【0050】
ノイズ検知電圧供給部3は、ノイズ検知回路4のDL41にノイズ検知電圧を供給する。例えば、ノイズ検知電圧供給部3は、電源回路7、他の電力供給源又はキャリブレーション回路6から供給される電力(電圧)に基づき、ノイズ検知電圧を出力してよい。
【0051】
また、ノイズ検知電圧供給部3は、後述するキャリブレーション処理において、キャリブレーション回路6からの指示に応じて、ノイズ検知回路4のDL42にノイズ検知電圧を出力してよい。
【0052】
さらに、LSI1がDVFS(Dynamic Voltage and Frequency Scaling)動作を行なう場合、LSI電圧に応じてノイズ検知電圧も変化する。そのため、ノイズ検知電圧供給部3は、後述するキャリブレーション回路6と協調して、複数のノイズ検知電圧を出力可能であってもよい。
【0053】
ノイズ検知回路4は、回路ブロック2に入力される電力におけるノイズの発生有無を示す検知信号を出力する検知回路の一例である。例えば、ノイズ検知回路4は、LSI電圧及びノイズ検知電圧に基づき、電源ノイズの発生を検知するノイズ発生検知処理(遅延測定処理)を実行する。
【0054】
クロック選択回路5は、通常CLKを回路ブロック2に出力し、ノイズ検知回路4から入力される検知信号がノイズの発生を示す場合に、通常CLKに代えて、低速CLKを回路ブロック2に出力するクロック周波数制御回路の一例である。例えば、クロック選択回路5は、ノイズ検知回路4による電源ノイズの発生の検知に応じて、回路ブロック2に供給されるシステムCLKのクロック周波数を低下させる。
【0055】
以下の説明では、回路ブロック2における或る回路領域(LSI電圧に応じたノイズ検知電圧とシステムCLKとの組み合わせ)に対応付けて設けられたノイズ検知回路4及びクロック選択回路5に着目する。例えば、ノイズ検知回路4及びクロック選択回路5が、或る回路領域に供給されるLSI電圧に基づき、当該或る回路領域に供給するシステムCLKのクロック周波数を制御する場合を例に挙げて説明する。
【0056】
ノイズ検知回路4は、例示的に、DL41及び42、SR(Set Reset)回路43、並びに、FF44を備えてよい。
【0057】
DL41及び42は、入力されるクロックを、印加される動作電圧(駆動電圧)の大きさに応じて遅延させ、遅延させたクロックを出力する。DL41及び42の各々には、同一のクロックが入力される。一実施形態にノイズ検知回路4では、DL41及び42の各々に、クロック発生源51aから出力される通常CLKが入力される。通常CLKは、第1クロック周波数を有する第1クロック信号の一例であり、電源ノイズの発生が検知されていない状態においてシステムCLKとして回路ブロック2に供給されるクロック信号である。
【0058】
例えば、DL41は、ノイズ検知電圧供給部3からのノイズ検知電圧を動作電圧として印加され、通常CLKをノイズ検知電圧に応じて遅延させたクロックRESETを出力する。DL41は、通常CLKをノイズ検知電圧に応じて遅延させた第2遅延クロック信号を出力する第2遅延回路の一例である。ノイズ検知電圧は、動作電圧よりも低い閾値電圧の一例であり、クロックRESETは、第2遅延クロック信号の一例である。
【0059】
また、例えば、DL42は、回路ブロック2(又は電源回路7)からのLSI電圧を動作電圧として印加され、通常CLKをLSI電圧に応じて遅延させたクロックSETを出力する。DL42は、通常CLKをLSI電圧に応じて遅延させた第1遅延クロック信号を出力する第1遅延回路の一例である。LSI電圧は、回路ブロック2の動作電圧の一例であり、クロックSETは、第1遅延クロック信号の一例である。
【0060】
SR回路43は、DL41及び42の各々から出力されるクロック信号の出力位相(タイミング)を比較し、比較結果を出力する回路である。換言すれば、SR回路43は、クロックSETの立ち上がりのタイミングが、クロックRESETの立ち上がりのタイミングよりも早いか否かに応じた比較結果を出力する比較回路の一例である。例えば、SR回路43は、2つの出力Q及びXQのうちのXQを比較結果として出力してよい。
【0061】
一例として、符号Cに示すように、SR回路43からの比較結果XQは、DL42からのクロックSETの立ち上がりのタイミングが、DL41からのクロックRESETの立ち上がりのタイミングよりも時間的に早い場合、“1”となる。
【0062】
一方、SR回路43からの比較結果XQは、DL42からのクロックSETの立ち上がりのタイミングが、DL41からのクロックRESETの立ち上がりのタイミングよりも時間的に遅い(遅延する)場合、“0”となる。
【0063】
なお、図4の例では、SR回路43がNANDゲートを利用した回路である場合を例に挙げるが、これに限定されるものではない。SR回路43は、図4の例と同様の入力に応じて、図4の例と同様の出力を得ることができる種々の回路に置き換えられてもよい。
【0064】
FF44は、SR回路43による比較結果を通常CLKに同期したタイミングで出力する出力回路の一例である。例えば、FF44は、符号Cに示すように、SR回路43からの比較結果XQに応じたノイズ検知信号をクロック選択回路5に出力する。
【0065】
DL41及び42から出力されるクロック信号の遅延は、例えば、動作電圧が高いほど小さくなる。
【0066】
例えば、LSI電圧がノイズ検知電圧よりも高い場合、クロックSETの方がクロックRESETよりも遅延が小さくなり、FF44の出力は“1”(ノイズ未検知)となる。
【0067】
一方、LSI電圧がノイズ検知電圧よりも低い場合は、クロックSETの方がクロックRESETよりも遅延が大きくなるため、FF44の出力は“0”(ノイズ検知)となる。
【0068】
以上のように、SR回路43及びFF44は、クロックSET及びクロックRESETの位相の比較結果に基づき、検知信号を出力する検知信号出力回路の一例である。
【0069】
クロック選択回路5は、例示的に、クロック発生源51a及び51b、並びに、選択回路52を備えてよい。
【0070】
クロック発生源51a及び51bは、所定のクロック周波数のクロック信号を出力する回路であってよく、一例として、水晶振動子等を利用した発振回路であってよい。クロック発生源51a及び51bは、互いに異なる複数のクロック周波数のクロック信号を出力する発振回路であってもよいし、各々が個別の発振回路であってもよい。
【0071】
クロック発生源51aは、通常CLKを出力する。クロック発生源51bは、通常CLKよりも周波数の低い低速CLKを出力する。低速CLKは、第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号の一例である。
【0072】
選択回路52は、ノイズ検知回路4から入力されるノイズ検知信号に応じて、通常CLKと低速CLKとのうちのいずれか一方のクロック信号をシステムCLKとして選択し、回路ブロック2に出力する。選択回路52としては、例えば、セレクタ又はマルチプレクサ等の回路が挙げられる。
【0073】
一例として、選択回路52は、ノイズ検知信号(選択信号)が“1”(ノイズ未検知)の場合に通常CLKを選択し、ノイズ検知信号が“0”(ノイズ検知)の場合に低速CLKを選択する。
【0074】
このように、一実施形態に係るLSI1では、クロック周波数を低下させる前の通常CLKでノイズ検知回路4を動作させることにより、ノイズ検知回路4とクロック発生源51とを同期させることができる。
【0075】
これにより、一実施形態に係るLSI1によれば、図2に例示するクロック選択回路220の同期化FF221を省略することができる。換言すれば、ノイズ検知からクロック周波数の低下までの遅延時間Tr(図3参照)のうちの大きな割合を占める、ノイズ検知信号の同期遅延を減少(短縮)させることができる。
【0076】
例えば、同期遅延は、2~3クロックサイクル程度である。一方、一実施形態に係るLSI1によれば、クロック選択回路5は、ノイズ検知回路4がノイズの発生を検知してから通常CLKの1クロックサイクル後に、低速CLKを出力することができる。
【0077】
また、同期遅延の減少により、遅延時間Trを短縮できるため、図2及び図3を参照して説明したLSI200と比較して、動作限界電圧V_limitに対するノイズ検知電圧V_noiseのマージンを小さく設定できる。これにより、通常時の電源電圧からの小さな電圧低下による電源ノイズの発生の検知を抑制でき、周波数低下が頻発することによるLSI1の処理性能の低下を抑制できる。
【0078】
さらに、ノイズ検知電圧に対する十分なマージンの設定が不要になるということは、通常時の動作電圧をノイズ検知電圧よりも十分に高い電圧に設定することも不要になる。従って、LSI1の消費電力の増加を抑制できる。
【0079】
キャリブレーション回路6は、DL41及び42の各々において、通常CLKをノイズ検知電圧に応じて遅延させる際の遅延が通常CLKのクロック周波数のクロックサイクル内となるように、DL41及び42の各々の遅延量を調整する調整回路の一例である。
【0080】
キャリブレーション回路6は、例えば、ノイズ検知回路4とクロック選択回路5とを同期させるためのキャリブレーション処理(初期調整シーケンス)を実行する。例えば、キャリブレーション回路6は、LSI1の起動時等の運用開始前のタイミングでキャリブレーション処理を実行してよい。
【0081】
図4に例示するように、キャリブレーション回路6は、第1調整部61、第2調整部62、及び、設定保持部63を備えてよい。
【0082】
図2に例示するLSI200のDL211及び212には、入力されるPLLCLKに与えられる通過遅延に対する設計上の制限は設けられない。従って、例えば、電圧変化から遅延変化への変換利得を大きく取るために、DL211及び212では、印加電圧の電圧変化に応じた遅延量が大きく設定されることがある。
【0083】
一方、一実施形態に係るLSI1では、ノイズ検知回路4をクロック選択回路5と同期構成とする。このような同期構成を担保するために、第1調整部61は、キャリブレーション処理のうちの第1調整シーケンスを実行する。第1調整シーケンスは、DL41に対するキャリブレーションであり、DL41及び42に通常CLKが入力されてからFF44へのデータ(XQ)の入力までの遅延時間を1クロックサイクル以内に収めるための処理である。
【0084】
図5は、キャリブレーション回路6(第1調整部61)による第1調整シーケンスの一例を説明するための図である。
【0085】
第1調整部61は、第1調整シーケンスにおいて、LSI電圧を供給されるDL42がHIGH(例えば“1”)を固定出力するように、DL42を設定する。一例として、第1調整部61は、DL42をオフにするためのPowerDown信号をDL42に送出することで、DL42にHIGHを固定出力させる。
【0086】
これにより、FF44への入力(XQ)は、DL41に入力される通常CLKにノイズ検知電圧に応じた遅延が付加されたクロック信号RESETを反転させたものと一致する。従って、第1調整部61は、FF44から出力されるノイズ検知信号の値“0/1”を参照することで、DL41の遅延が1クロックサイクルに収まっているか否かを判定できる。
【0087】
第1調整部61は、FF44からの出力(ノイズ検知信号)に基づき、DL41の遅延量を調整するためのDL遅延調整コードをDL41に送出することで、DL41の遅延量を増加させる。DL遅延調整コードは、例えば、DL41の遅延量を増加させるためのコード(DLCODE)である。一例として、DLCODEには、“0”以上の整数の値が設定されてよい。例えば、DLCODEの値が大きいほど(“1”ずつ増加するにつれて)、DL41の遅延量は段階的に増加してよい。
【0088】
図5の(i)に例示するように、第1調整シーケンスの開始時において、XQ(ノイズ検知信号)=0であれば、DL41における遅延は1クロックサイクル以内であると判定できる。この場合、第1調整部61は、DL41の遅延量ができるだけ大きくなるように、DLCODEの初期値“0”から、段階的に(“1”ずつ)DLCODEの値を増加させていく。
【0089】
図5の(ii)に例示するように、DLCODEの値を増加させた結果、XQ=1に切り替わった場合、DL41の遅延は1クロックサイクルを僅かに超えた状態になる。この場合、第1調整部61は、DL41の遅延量(DLCODE)を所定のマージン分減少させて、第1調整シーケンスを終了する。
【0090】
なお、所定のマージンは、例えば、DLCODEの増加単位である“1”(1段階の遅延量)であってもよいし、第1調整シーケンスの実施時と運用時との差異を考慮して、“1”よりも大きい値であってもよい。差異としては、例えば、第1調整シーケンスの実施時と運用時とにおけるDL41(LSI1)の温度差等の誤差が挙げられる。
【0091】
以上により、第1調整部61は、DL41の遅延量となるDLCODEを特定する。なお、第1調整シーケンスの終了の際に、第1調整部61は、DL42へのPowerDown信号の送出を停止する。
【0092】
このように、第1調整部61は、DL41の遅延を、1クロックサイクルの中でDL41の遅延量が最大となるように、キャリブレーションを行なう。これにより、DL41及び42における、電圧に応じた遅延の変化の総量を大きくすることができる。従って、ノイズ検知回路4では、DL41の遅延(RESET)と比較されるDL42の遅延(SET)の僅かな変化による、XQの値の切り替わりを検知できるようになるため、ノイズ検知の精度を向上できる。
【0093】
なお、図5の(iii)に例示するように、第1調整シーケンスの開始時において、XQ=1である場合、DL41における遅延は、1/2クロックサイクル以内であると判定できる。このような場合としては、例えば、通常CLKのクロック周波数が、DL41の遅延量との関係で小さすぎる(通常CLKが遅すぎる)ケースが挙げられる。この場合、第1調整部61は、DLCODEの値を段階的に(“1”ずつ)増加させればよい。DLCODEの値の増加によりXQ=0に切り替わると(図5の(i)参照)、第1調整部61は、上記(i)及び(ii)を参照して説明した処理を行なう。
【0094】
なお、図5の(iii)に示すように、第1調整シーケンスの開始時にXQ=1となる場合としては、DL41における遅延が1クロックサイクルを超えた場合も想定される。しかし、第1調整シーケンスの開始時には遅延量が最小(DLCODE=“0”)である点、及び、LSI1では遅延時間Trが1クロックサイクル以内となるようにDL41及び42が設計される点から、このような想定は除外されてよい。
【0095】
以上のように、第1調整部61による第1調整シーケンスによれば、DL41及び42への通常CLKの入力からFF44へのXQの入力までの遅延時間を1クロックサイクル以内に収めることができる。
【0096】
第2調整部62は、第1調整シーケンスの終了後に、キャリブレーション処理のうちの第2調整シーケンスを実行する。第2調整シーケンスは、DL42に対するキャリブレーションであり、ノイズ検知電圧とLSI電圧とが一致する場合にDL41の遅延量とDL42の遅延量とを一致させるための処理である。
【0097】
例えば、第2調整部62は、第2調整シーケンスにおいて、DL42の動作電圧をノイズ検知電圧に設定する。第2調整部62は、例えば、ノイズ検知電圧供給部3からDL42にノイズ検知電圧を印加させてもよいし、DL42に印加される回路ブロック2からのLSI電圧をノイズ検知電圧の値に低下させてもよい。
【0098】
また、第2調整部62は、第1調整シーケンスで特定したDL遅延調整コードをDL41に出力(設定)するとともに、初期値“0”に設定したDL42用のDL遅延調整コードをDL42に出力する。これにより、遅延量が最小であるDL42からのクロックSETの立ち上がりが、DL41からのクロックRESETの立ち上がりよりも早くなる(遅延が小さくなる)。従って、FF44の出力はXQ(ノイズ検知信号)=1である。
【0099】
第2調整部62は、XQを参照しながら、XQ=0となるまで、換言すれば、DL41及び42の遅延が一致するまで、DL42に出力するDLCODEを段階的に(例えば“1”ずつ)増加させていく。
【0100】
そして、第2調整部62は、XQ=0となったときのDLCODEをDL42の遅延量として特定し、第2調整シーケンスを終了する。なお、第2調整シーケンスの終了の際に、第2調整部62は、DL42に印加する電圧をノイズ検知電圧からLSI電圧に変更する。
【0101】
以上のように、第2調整部62による第2調整シーケンスによれば、DL41及び42に同一の電圧が印加された場合における、DL42の遅延量とDL41の遅延量とを一致させることができる。従って、DL41及び42の差異、例えば、DL41及び42の製造誤差、LSI1におけるDL41及び42の配置等に基づく温度差等の環境誤差等をキャンセルでき、ノイズ検知の精度を向上できる。
【0102】
キャリブレーション回路6は、キャリブレーション処理が終了すると、第1調整シーケンスで特定したDL41のDLCODEをDL41に設定し、第2調整シーケンスで特定したDL42のDLCODEをDL42に設定する。これにより、ノイズ検知回路4とクロック選択回路5との間の同期構成が最適化される。
【0103】
図6は、一実施形態に係るノイズ検知回路4におけるクロック信号の位相関係の一例を示す図である。図6では、同期構成の最適化後における、電源ノイズの発生前後のCLK、RESET、SET、XQの位相関係の一例を示す。例えば、図6の(I)は、電源ノイズの発生前(t0よりも前)の位相関係を示し、図6の(II)は、電源ノイズの発生後(t0以降)の位相関係を示す。
【0104】
図6に示すように、(I)及び(II)の間で、CLK、RESETの位相関係は変化しない。
【0105】
(I)において、SETがHIGHになるタイミングは、RESETがHIGHになるタイミングよりも前である。この場合、XQはHIGH(“1”)のままとなり、FF44には、CLKがHIGHになるタイミングでXQ=1が入力される。
【0106】
一方、(II)において、SETがHIGHになるタイミングは、RESETがHIGHになるタイミングよりも後である。この場合、XQはRESETがHIGHになるタイミングでLOW(“0”)となり、FF44には、CLKがHIGHになるタイミングでXQ=0が入力される。
【0107】
このように、一実施形態に係るLSI1によれば、周波数を低下させるタイミングを、t1からt1’に早めることができる。換言すれば、ノイズの発生から周波数(システムCLK)の低下まで遅延Tr(破線)を遅延Tr’(実線)に短縮することができる。このことは、ノイズ検知電圧V_noiseをより小さく設定できる(動作限界電圧V_limitに対するマージンを小さくできる)ことを意味する。
【0108】
ノイズ検知電圧V_noiseをより小さく設定できることで、電源ノイズの発生検知を鈍くすることができ、周波数の低下制御の発生頻度が低下するため、LSI1の処理性能の低下を抑制できる。また、ノイズ検知電圧V_noiseと通常電圧V_normalとの差を大きくできるため、LSI1の消費電力の増加を抑制できる。
【0109】
以上のように、図2及び図3に示すLSI200と比較して、LSI1の低電圧化又は高速化を実現できる。
【0110】
なお、キャリブレーション回路6は、キャリブレーション処理が終了すると、DL41及び42の各々のDLCODEの値を、設定保持部63に格納(保持)してもよい。
【0111】
設定保持部63は、キャリブレーション回路6又はキャリブレーション回路6の外部の回路が備える記憶領域の一例である。例えば、設定保持部63は、レジスタであってもよいし、不揮発性のメモリであってもよい。設定保持部63が不揮発性のメモリである場合、キャリブレーション回路6は、LSI1の起動時に、過去に実行されたキャリブレーション処理の結果を利用して、DLCODEをDL41及び42に設定してもよい。
【0112】
ここで、LSI1がDVFS動作を行なう場合、回路ブロック2(或る回路領域)に供給されるLSI電圧及びシステムCLKには、複数の組み合わせが存在することになる。
【0113】
例えば、キャリブレーション回路6は、回路ブロック2(回路領域)に供給されるLSI電圧及びシステムCLKの組み合わせごとにキャリブレーション処理を行ない、各キャリブレーション処理で特定されるDLCODEの値を設定記憶部63に保持してもよい。
【0114】
図7は、設定保持部63が保持する設定情報63aの一例を示す図である。なお、図7では、設定情報をテーブル形式で示すが、これに限定されるものではなく、設定情報63aは、配列等の種々の形式であってもよい。
【0115】
図7に示すように、設定情報63aは、例示的に、ノイズ検知電圧、通常CLK、REF_DLCODE、及び、CMP_DLCODEの項目を含んでよい。ノイズ検知電圧及び通常CLKは、回路ブロック2の回路領域に供給されるLSI電圧に応じたノイズ検知電圧と通常CLKとの組み合わせである。REF_DLCODEは、ノイズ検知電圧及び通常CLKの組み合わせにおいて第1調整部61により特定された、DL41のDL調整コードの値である。CMP_DLCODEは、ノイズ検知電圧及び通常CLKの組み合わせにおいて第2調整部62により特定された、DL42のDL調整コードの値である。
【0116】
例えば、キャリブレーション回路6は、DVFS動作により、回路ブロック2のLSI電圧及び通常CLKの少なくとも一方の変化に応じて、設定情報63aから、変化後のLSI電圧に応じたノイズ検知電圧と通常CLKとの組み合わせに対応するエントリを読み出してよい。そして、キャリブレーション回路6は、読み出したエントリ(プロファイル)におけるREF_DLCODEをDL41に設定し、CMP_DLCODEをDL42に設定してよい。
【0117】
これにより、LSI1がDVFS動作を行なう場合においても、或る回路領域に供給されるLSI電圧及び通常CLKの組み合わせごとに、電源ノイズの発生検知から周波数の低下制御までを1クロックサイクル以内に完了させることができる。
【0118】
なお、上述のように、ノイズ検知回路4及びクロック選択回路5は、回路領域ごとに設けられてよい。一方、キャリブレーション回路6は、回路領域ごとに設けられてもよいし、ノイズ検知回路4及びクロック選択回路5の2以上の組み合わせごとに設けられてもよい。キャリブレーション回路6がノイズ検知回路4及びクロック選択回路5の2以上の組み合わせごとに設けられる場合、例えば、設定情報63aには、ノイズ検知回路4及びクロック選択回路5の組み合わせを特定するための項目が追加されてもよい。
【0119】
〔C〕動作例
次に、一実施形態に係るLSI1における、キャリブレーション回路6によるキャリブレーション処理の動作例を説明する。図8は、一実施形態に係る第1調整部61の動作例を説明するフローチャートであり、図9は、一実施形態に係る第2調整部62の動作例を説明するフローチャートである。
【0120】
〔C-1〕第1調整シーケンスの一例
以下、図8を参照して、一実施形態に係るキャリブレーション回路6の第1調整部61の動作例を説明する。
【0121】
ステップS1において、第1調整部61は、DL42(「CMP_DL」と表記)にPowerDown信号を送出し、DL42をオフにする。
【0122】
ステップS2において、第1調整部61は、DL41に出力するDL遅延調整コード(「REF_DLCODE」と表記)を初期値“0”に設定する。
【0123】
ステップS3において、第1調整部61は、FF44の出力を参照し、設定したREF_DLCODEにより動作するDL41の出力(RESET)に応じたXQの値が“0”か否かを判定する。
【0124】
XQ=0ではない場合(ステップS3でNO)、処理がステップS4に移行し、XQ=0である場合(ステップS3でYES)、処理がステップS5に移行する。
【0125】
ステップS4において、第1調整部61は、REF_DLCODEに“1”を加算し、ステップS3の処理を実行する。
【0126】
ステップS5において、第1調整部61は、REF_DLCODEに“1”を加算し、ステップS6の処理を実行する。
【0127】
ステップS6において、第1調整部61は、XQの値が“1”か否かを判定する。
【0128】
XQ=1ではない場合(ステップS6でNO)、処理がステップS5に移行し、XQ=1である場合(ステップS6でYES)、処理がステップS7に移行する。
【0129】
ステップS7において、第1調整部61は、REF_DLCODEからマージン(「MARGIN」と表記)を減算した結果を、DL41に設定するDL遅延調整コードとして特定する。
【0130】
ステップS8において、第1調整部61は、DL42へのPowerDown信号の送出を停止(PowerDownを解除)することでDL42をオンにし、処理が終了する。
【0131】
〔C-2〕第2調整シーケンスの一例
次に、図9を参照して、一実施形態に係るキャリブレーション回路6の第2調整部62の動作例を説明する。
【0132】
ステップS11において、キャリブレーション回路6の第2調整部62は、DL42の駆動電圧をノイズ検知電圧に設定する。
【0133】
ステップS12において、第2調整部62は、REF_DLCODEに、第1調整シーケンスにおいて特定したDL遅延調整コード(「ref_dlcode_1cyc」と表記)を設定する。
【0134】
ステップS13において、第2調整部62は、DL42のDL遅延調整コード(「CMP_DLCODE」と表記)に初期値“0”を設定する。なお、ステップS12及びS13は逆順でもよい。また、図8のステップS7の時点でDL41にREF_DLCODEが適用されていれば、ステップS12の処理は省略されてもよい。
【0135】
ステップS14において、第2調整部62は、XQの値が“0”か否かを判定する。
【0136】
XQ=0ではない場合(ステップS14でNO)、処理がステップS15に移行し、XQ=0である場合(ステップS14でYES)、処理がステップS16に移行する。
【0137】
ステップS15において、第2調整部62は、CMP_DLCODEに“1”を加算し、ステップS14の処理を実行する。
【0138】
ステップS16において、第2調整部62は、DL42の駆動電圧をLSI電圧に設定し、処理が終了する。なお、第2調整部62は、ステップS14でYESとなったときのCMP_DLCODEを、DL42に設定するDL遅延調整コードとして特定する。
【0139】
〔D〕その他
上述した実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0140】
例えば、図6に示すキャリブレーション回路6が備える第1調整部61及び第2調整部62は、併合してもよく、それぞれ分割してもよい。また、ノイズ検知回路4及びクロック選択回路5の各々の回路構成は、図6に例示する構成に限定されるものではなく、任意の組み合わせで併合してもよく、それぞれ分割してもよいし、同様の機能を有する他の回路構成に置き換えられてもよい。
【0141】
また、第1調整部61及び第2調整部62は、第1調整シーケンス及び第2調整シーケンスの各々において、DL遅延調整コードを“0”から増加させるものとしたが、これに限定されるものではない。例えば、第1調整部61及び第2調整部62は、第1調整シーケンス及び第2調整シーケンスの少なくとも一方において、DL遅延調整コードを最大値から減少させていき、遅延量が1クロックサイクル内に収まるときのDL遅延調整コードを特定してもよい。
【0142】
〔E〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0143】
(付記1)
クロック信号に同期して動作する集積回路に入力される電力におけるノイズの発生有無を示す検知信号を出力する検知回路と、
第1クロック周波数を有する第1クロック信号を前記集積回路に出力し、前記検知回路から入力される前記検知信号が前記ノイズの発生を示す場合に、前記第1クロック信号に代えて、前記第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号を前記集積回路に出力するクロック周波数制御回路と、を備え、
前記検知回路は、
前記第1クロック信号を前記集積回路の動作電圧に応じて遅延させた第1遅延クロック信号を出力する第1遅延回路と、
前記第1クロック信号を前記動作電圧よりも低い閾値電圧に応じて遅延させた第2遅延クロック信号を出力する第2遅延回路と、
前記第1遅延クロック信号及び前記第2遅延クロック信号の位相の比較結果に基づき、前記検知信号を出力する検知信号出力回路と、を備える、
クロック周波数調整回路。
【0144】
(付記2)
前記検知信号出力回路は、
前記第1遅延クロック信号の立ち上がりのタイミングが、前記第2遅延クロック信号の立ち上がりのタイミングよりも早いか否かに応じた比較結果を出力する比較回路と、
前記比較結果を前記第1クロック信号に同期したタイミングで出力する出力回路と、を備える、
付記1に記載のクロック周波数調整回路。
【0145】
(付記3)
前記第1遅延回路及び前記第2遅延回路の各々において、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する調整回路、を備える、
付記1又は付記2に記載のクロック周波数調整回路。
【0146】
(付記4)
前記調整回路は、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内で最大となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する、
付記3に記載のクロック周波数調整回路。
【0147】
(付記5)
前記調整回路は、
前記第1遅延回路及び前記第2遅延回路の各々の遅延量を、前記閾値電圧と前記第1クロック周波数との組み合わせごとに記憶領域に保持し、
前記集積回路の動作電圧及び前記第1クロック周波数のうちの少なくとも一方の変化に応じて、前記集積回路の動作電圧に応じた閾値電圧と前記第1クロック周波数との組み合わせに対応する遅延量を、前記記憶領域から読み出して前記第1遅延回路及び前記第2遅延回路に設定する、
付記3又は付記4に記載のクロック周波数調整回路。
【0148】
(付記6)
検知回路とクロック周波数制御回路とを備えるクロック周波数調整回路におけるクロック周波数調整方法であって、
前記検知回路は、
前記クロック周波数制御回路から入力される第1クロック周波数を有する第1クロック信号をクロック信号に同期して動作する集積回路の動作電圧に応じて遅延させた第1遅延クロック信号を、第1遅延回路から出力し、
前記第1クロック信号を前記動作電圧よりも低い閾値電圧に応じて遅延させた第2遅延クロック信号を第2遅延回路から出力し、
検知信号出力回路から、前記第1遅延クロック信号及び前記第2遅延クロック信号の位相の比較結果に基づき、前記集積回路に入力される電力におけるノイズの発生有無を示す検知信号を出力し、
前記クロック周波数制御回路は、
前記第1クロック信号を前記集積回路に出力し、
前記検知回路から入力される前記検知信号が前記ノイズの発生を示す場合に、前記第1クロック信号に代えて、前記第1クロック周波数よりも低い第2クロック周波数を有する第2クロック信号を前記集積回路に出力する、
クロック周波数調整方法。
【0149】
(付記7)
前記検知信号出力回路は、
前記第1遅延クロック信号の立ち上がりのタイミングが前記第2遅延クロック信号の立ち上がりのタイミングよりも早いか否かに応じた比較結果を比較回路から出力し、
前記比較結果を前記第1クロック信号に同期したタイミングで出力回路から出力する、
付記6に記載のクロック周波数調整方法。
【0150】
(付記8)
前記クロック周波数調整回路が備える調整回路は、前記第1遅延回路及び前記第2遅延回路の各々において、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する、
付記6又は付記7に記載のクロック周波数調整方法。
【0151】
(付記9)
前記調整回路は、前記第1クロック信号を前記閾値電圧に応じて遅延させる際の遅延が前記第1クロック周波数のクロックサイクル内で最大となるように、前記第1遅延回路及び前記第2遅延回路の各々の遅延量を調整する、
付記8に記載のクロック周波数調整方法。
【0152】
(付記10)
前記調整回路は、
前記第1遅延回路及び前記第2遅延回路の各々の遅延量を、前記閾値電圧と前記第1クロック周波数との組み合わせごとに記憶領域に保持し、
前記集積回路の動作電圧及び前記第1クロック周波数のうちの少なくとも一方の変化に応じて、前記集積回路の動作電圧に応じた閾値電圧と前記第1クロック周波数との組み合わせに対応する遅延量を、前記記憶領域から読み出して前記第1遅延回路及び前記第2遅延回路に設定する、
付記8又は付記9に記載のクロック周波数調整方法。
【符号の説明】
【0153】
1 LSI
2 回路ブロック
3 ノイズ検知電圧供給部
4 ノイズ検知回路
41、42 DL(Delay Line)
43 SR(Set Reset)回路
44 FF(Flip Flop)
5 クロック選択回路
51a、51b クロック発生源
52 選択回路
6 キャリブレーション回路
61 第1調整部
62 第2調整部
63 設定保持部
63a 設定情報
図1
図2
図3
図4
図5
図6
図7
図8
図9