(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024107799
(43)【公開日】2024-08-09
(54)【発明の名称】電力測定回路
(51)【国際特許分類】
H01L 21/822 20060101AFI20240802BHJP
【FI】
H01L27/04 T
H01L27/04 U
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023011906
(22)【出願日】2023-01-30
(71)【出願人】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】田中 和人
【テーマコード(参考)】
5F038
【Fターム(参考)】
5F038CD02
5F038CD06
5F038DF08
5F038DF11
5F038DF16
5F038DT12
5F038DT18
5F038EZ20
(57)【要約】
【課題】集積回路内の特定の処理回路における消費電力を容易に算出することができる電力測定回路を提供する。
【解決手段】電力測定回路100は、測定期間を測定する期間測定回路300と、測定期間において、複数の処理回路101~103のうちの第1対象回路への第1入力信号が示す信号値が変化した数である第1トグル数と、第1入力信号が有効である期間である第1動作期間とを測定する第1測定部と、測定期間において、第1対象回路からの第1出力信号が示す信号値が変化した数である第2トグル数と、第1出力信号が有効である期間である第2動作期間とを測定する第2測定部と、第1測定部により測定期間において測定された第1トグル数及び第1動作期間と、第2測定部により測定期間において測定された第2トグル数及び第2動作期間とに基づいて、第1対象回路の第1消費電力を算出する算出部500と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の処理回路を有する集積回路における消費電力を算出する電力測定回路であって、
測定期間を測定する期間測定回路と、
前記測定期間において、前記複数の処理回路のうちの第1対象回路への第1入力信号が示す信号値が変化した数である第1トグル数と、前記第1入力信号が有効である期間である第1動作期間とを測定する第1測定部と、
前記測定期間において、前記第1対象回路からの第1出力信号が示す信号値が変化した数である第2トグル数と、前記第1出力信号が有効である期間である第2動作期間とを測定する第2測定部と、
前記第1測定部により前記測定期間において測定された前記第1トグル数及び前記第1動作期間と、前記第2測定部により前記測定期間において測定された前記第2トグル数及び前記第2動作期間とに基づいて、前記第1対象回路の第1消費電力を算出する算出部と、を備える
電力測定回路。
【請求項2】
さらに、
前記測定期間において、前記複数の処理回路のうちの第2対象回路への第2入力信号が示す信号値が変化した数である第3トグル数と、前記第2入力信号が有効である期間である第3動作期間とを測定する第3測定部と、
前記測定期間において、前記第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、
前記算出部は、さらに、前記第3測定部により前記測定期間において測定された前記第3トグル数及び前記第3動作期間と、前記第4測定部により前記測定期間において測定された前記第4トグル数及び前記第4動作期間とに基づいて、前記第2対象回路の第2消費電力を算出する
請求項1に記載の電力測定回路。
【請求項3】
さらに、
前記測定期間において、前記複数の処理回路のうち、前記第1出力信号が入力信号として入力される第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、
前記算出部は、さらに、前記第2測定部により前記測定期間において測定された前記第2トグル数及び前記第2動作期間と、前記第4測定部により前記測定期間において測定された前記第4トグル数及び前記第4動作期間とに基づいて、前記第2対象回路の第2消費電力を算出する
請求項1に記載の電力測定回路。
【請求項4】
前記期間測定回路は、
クロック信号及び測定開始信号が入力され、前記測定開始信号が入力されてから前記クロック信号をカウントするカウンタと、
前記クロック信号、前記カウンタによるカウント結果、及び、測定終了信号が入力され、前記測定終了信号が入力された時点の前記カウント結果を測定期間として出力する第1出力部と、を備える
請求項1に記載の電力測定回路。
【請求項5】
前記第1測定部及び前記第2測定部のそれぞれは、
第1クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第1信号値を保持する保持回路と、
前記第1信号値と、前記第1クロックサイクルの次の第2クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第2信号値とが互いに異なるビットをカウントするトグルビットカウンタと、
前記トグルビットカウンタによるカウント結果のうち、前記第1入力信号または前記第1出力信号が無効であるカウント結果に対してマスク処理を実行するマスク処理部と、
前記マスク処理部によりマスク処理が実行された前記カウント結果をカウントする有効ビットカウンタと、
前記第1入力信号または前記第1出力信号が有効である期間をカウントする有効期間カウンタと、
前記測定期間において、前記有効ビットカウンタによりカウントされた有効ビットカウント結果を前記第1トグル数または前記第2トグル数として出力し、かつ、前記有効期間カウンタによりカウントされた有効期間カウント結果を前記第1動作期間または前記第2動作期間として出力する第2出力部と、を備える
請求項1から4のいずれか1項に記載の電力測定回路。
【請求項6】
前記第1測定部及び前記第2測定部のそれぞれは、
第1クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第1信号値を保持する保持回路と、
前記第1信号値と、前記第1クロックサイクルの次の第2クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第2信号値とを比較して、前記第1信号値と前記第2信号値とが互いに異なるビットをカウントするトグルビットカウンタと、
前記トグルビットカウンタによるカウント結果のうち、前記第1入力信号または前記第1出力信号が無効であるカウント結果をマスクするマスク処理部と、
第1カウントモードと第2カウントモードとを切り替える第1切替部と、
前記第1カウントモードである第1測定期間において、前記マスク処理部によりマスクされた前記カウント結果をカウントし、前記第2カウントモードである第2測定期間において、前記第1入力信号または前記第1出力信号が有効である期間をカウントする有効カウンタと、
前記第1測定期間において、前記有効カウンタによりカウントされた有効ビットカウント結果を前記第1トグル数または前記第2トグル数として出力し、かつ、前記第2測定期間において、前記有効カウンタによりカウントされた有効期間カウント結果を前記第1動作期間または前記第2動作期間として出力する第2出力部と、を備える
請求項1から4のいずれか1項に記載の電力測定回路。
【請求項7】
前記第1測定部と、前記第2測定部とは、第1測定回路で構成され、
前記電力測定回路は、さらに、
前記第1測定回路と前記第1対象回路の入力側とを接続する第1動作モードと、前記第1測定回路と前記第1対象回路の出力側とを接続する第2動作モードとを切り替える第2切替部を備え、
前記第1測定回路は、前記第1動作モードにおいて前記第1測定部として動作し、前記第2動作モードにおいて前記第2測定部として動作する
請求項1から4のいずれか1項に記載の電力測定回路。
【請求項8】
さらに、
前記測定期間において、前記複数の処理回路のうちの第2対象回路への第2入力信号が示す信号値が変化した数である第3トグル数と、前記第2入力信号が有効である期間である第3動作期間とを測定する第3測定部と、
前記測定期間において、前記第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、
前記第1測定部と、前記第2測定部と、前記第3測定部と、前記第4測定部とのうちの2つの測定部は、それぞれ、第1測定回路及び第2測定回路で構成され、
前記電力測定回路は、さらに、
前記第1対象回路の入力側と、前記第1対象回路の出力側と、前記第2対象回路の入力側と、前記第2対象回路の出力側とのうちの2つの測定対象を前記第1測定回路及び前記第2測定回路に接続するセレクタを備え、
前記第1測定回路及び前記第2測定回路は、前記セレクタにより選択された前記2つの測定対象を測定する測定部として動作する
請求項1から4のいずれか1項に記載の電力測定回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数の処理回路を有する集積回路における消費電力を算出する電力測定回路に関する。
【背景技術】
【0002】
特許文献1には、対象論理回路を構成するゲートの信号変化数を計測し、計測された信号変化数に基づいて対象論理回路の消費電力を算出する消費電力算出方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術では、集積回路内の特定の処理回路における消費電力を容易に算出することは難しいという課題がある。
【0005】
本開示は、集積回路内の特定の処理回路における消費電力を容易に算出することができる電力測定回路を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る電力測定回路は、複数の処理回路を有する集積回路における消費電力を算出する電力測定回路であって、測定期間を測定する期間測定回路と、前記測定期間において、前記複数の処理回路のうちの第1対象回路への第1入力信号が示す信号値が変化した数である第1トグル数と、前記第1入力信号が有効である期間である第1動作期間とを測定する第1測定部と、前記測定期間において、前記第1対象回路からの第1出力信号が示す信号値が変化した数である第2トグル数と、前記第1出力信号が有効である期間である第2動作期間とを測定する第2測定部と、前記第1測定部により前記測定期間において測定された前記第1トグル数及び前記第1動作期間と、前記第2測定部により前記測定期間において測定された前記第2トグル数及び前記第2動作期間とに基づいて、前記第1対象回路の第1消費電力を算出する算出部と、を備える。
【発明の効果】
【0007】
本開示の一態様に係る電力測定回路によれば、集積回路内の特定の処理回路における消費電力を容易に算出することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態に係る電力測定回路の構成の一例を示すブロック図である。
【
図2】
図2は、トグル数及び動作期間を説明するための図である。
【
図3】
図3は、測定回路の構成の一例を示すブロック図である。
【
図4】
図4は、期間測定回路の構成の一例を示すブロック図である。
【
図5】
図5は、トグル数、動作期間及び測定期間が確定するタイミングについて説明するための図である。
【
図6】
図6は、変形例1に係る測定回路の構成の一例を示すブロック図である。
【
図7】
図7は、変形例2に係る電力測定回路の構成の一例を示すブロック図である。
【
図8】
図8は、変形例3に係る電力測定回路の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0009】
(本開示の基礎となった知見)
車載用のSoC(System on a Chip)などのような集積回路は、要求される性能に応じた回路規模が必要とされる。集積回路では、その回路規模が大きくなるにつれてダイナミック電力が増大する。また、ダイナミック電力は、集積回路の使い方にも依存し、使い方が異なればダイナミック電力の大きさは大きく異なる場合がある。集積回路のベンダーは、ユーザによって集積回路がどのように使われるかを、集積回路の開発時に把握することが難しい。このため、ベンダーは、最大の消費電力となる使い方を想定して、集積回路を開発することになる。
【0010】
一方で、ユーザは、採用する集積回路に対して最適な放熱設計を行う際に、ユーザが利用する機能(つまり使い方)に応じた消費電力を見積もる必要がある。集積回路の使い方(ソフトウェア制御)に応じた集積回路内の回路毎の消費電力が計測できれば、集積回路全体の消費電力を低減するためのソフトウェア制御の最適化が実現できる。つまり、集積回路内の回路毎の消費電力を容易に測定できることが求められている。
【0011】
しかしながら、上記特許文献1のような従来技術では、集積回路内の回路毎の消費電力を測定することが難しい。例えば、下記に挙げるような課題がある。
【0012】
例えば、集積回路の各電源端子の電圧及び電流を直接測定することで、電源端子毎の電力を測定することが考えられる。しかしながら、測定環境が複雑で高価なため、複数の測定環境を持つことは困難である。また、集積回路の電力を電源端子から測定しても、集積回路内の特定の回路の消費電力を測定することはできない。
【0013】
また、直接測定する以外の手法では、集積回路内の回路情報とユースケースとに基づいて、シミュレーションにより消費電力を求める手法が考えられる。しかしながら、膨大な時間と高価な環境を必要とし、容易に実現することはできない。また、他の手法として、集積回路のベンダーが提供する回路ブロック毎の動作周波数と動作率と電力の関係を示すテーブルを用いて、ユーザが過去の経験から導き出した動作率を設定することで電力を算出することが考えられる。しかしながら、ユーザが経験から設定する動作率の確からしさに問題があり、ワースト条件での消費電力をマージンをとって大きめに見積もることとなる。つまり、実際の動作率に応じた見積もりができないため、現実の消費電力よりも過剰に放熱設計を行う可能性が高くなり、放熱設計のコストアップとなるという課題がある。
【0014】
上記課題を解決するために、本開示の第1の態様に係る電力測定回路は、複数の処理回路を有する集積回路における消費電力を算出する電力測定回路であって、測定期間を測定する期間測定回路と、前記測定期間において、前記複数の処理回路のうちの第1対象回路への第1入力信号が示す信号値が変化した数である第1トグル数と、前記第1入力信号が有効である期間である第1動作期間とを測定する第1測定部と、前記測定期間において、前記第1対象回路からの第1出力信号が示す信号値が変化した数である第2トグル数と、前記第1出力信号が有効である期間である第2動作期間とを測定する第2測定部と、前記第1測定部により前記測定期間において測定された前記第1トグル数及び前記第1動作期間と、前記第2測定部により前記測定期間において測定された前記第2トグル数及び前記第2動作期間とに基づいて、前記第1対象回路の第1消費電力を算出する算出部と、を備える。
【0015】
これによれば、第1対象回路への第1入力信号に基づいて測定された第1トグル数及び第1動作期間と、第1対象回路からの第1出力信号に基づいて測定された第2トグル数及び第2動作期間とに基づいて、測定期間における第1対象回路の第1消費電力を算出する。つまり、集積回路における第1対象回路の第1消費電力を容易に算出することができる。
【0016】
本開示の第2の態様に係る電力測定回路は、第1の態様に係る電力測定回路であって、さらに、前記測定期間において、前記複数の処理回路のうちの第2対象回路への第2入力信号が示す信号値が変化した数である第3トグル数と、前記第2入力信号が有効である期間である第3動作期間とを測定する第3測定部と、前記測定期間において、前記第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、前記算出部は、さらに、前記第3測定部により前記測定期間において測定された前記第3トグル数及び前記第3動作期間と、前記第4測定部により前記測定期間において測定された前記第4トグル数及び前記第4動作期間とに基づいて、前記第2対象回路の第2消費電力を算出する。
【0017】
これによれば、第2対象回路への第2入力信号に基づいて測定された第3トグル数及び第3動作期間と、第2対象回路からの第2出力信号に基づいて測定された第4トグル数及び第4動作期間とに基づいて、測定期間における第2対象回路の第2消費電力を算出する。つまり、集積回路における第2対象回路の第2消費電力を容易に算出することができる。このように、複数の処理回路のそれぞれの消費電力を容易に算出することができる。
【0018】
本開示の第3の態様に係る電力測定回路は、第1の態様に係る電力測定回路であって、さらに、前記測定期間において、前記複数の処理回路のうち、前記第1出力信号が入力信号として入力される第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、前記算出部は、さらに、前記第2測定部により前記測定期間において測定された前記第2トグル数及び前記第2動作期間と、前記第4測定部により前記測定期間において測定された前記第4トグル数及び前記第4動作期間とに基づいて、前記第2対象回路の第2消費電力を算出する。
【0019】
これによれば、第1対象回路からの第1出力信号に基づいて測定された第2トグル数及び第2動作期間を利用して、第2対象回路の第2消費電力を算出するため、トグル数及び動作期間を測定する測定部の数を低減することができる。
【0020】
本開示の第4の態様に係る電力測定回路は、第1の態様に係る電力測定回路であって、前記期間測定回路は、クロック信号及び測定開始信号が入力され、前記測定開始信号が入力されてから前記クロック信号をカウントするカウンタと、前記クロック信号、前記カウンタによるカウント結果、及び、測定終了信号が入力され、前記測定終了信号が入力された時点の前記カウント結果を測定期間として出力する第1出力部と、を備える。
【0021】
本開示の第5の態様に係る電力測定回路は、第1の態様から第4の態様のいずれか1つの態様に係る電力測定回路であって、前記第1測定部及び前記第2測定部のそれぞれは、第1クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第1信号値を保持する保持回路と、前記第1信号値と、前記第1クロックサイクルの次の第2クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第2信号値とが互いに異なるビットをカウントするトグルビットカウンタと、前記トグルビットカウンタによるカウント結果のうち、前記第1入力信号または前記第1出力信号が無効であるカウント結果に対してマスク処理を実行するマスク処理部と、前記マスク処理部によりマスク処理が実行された前記カウント結果をカウントする有効ビットカウンタと、前記第1入力信号または前記第1出力信号が有効である期間をカウントする有効期間カウンタと、前記測定期間において、前記有効ビットカウンタによりカウントされた有効ビットカウント結果を前記第1トグル数または前記第2トグル数として出力し、かつ、前記有効期間カウンタによりカウントされた有効期間カウント結果を前記第1動作期間または前記第2動作期間として出力する第2出力部と、を備える。
【0022】
これによれば、トグル数を測定する有効ビットカウンタと、動作期間をカウントする有効期間カウンタとを別々に備えるため、同じ測定期間におけるトグル数及び動作期間を測定することができる。よって、第1対象回路の第1消費電力をより精度よく算出することができる。
【0023】
本開示の第6の態様に係る電力測定回路は、第1の態様から第4の態様のいずれか1つの態様に係る電力測定回路であって、前記第1測定部及び前記第2測定部のそれぞれは、第1クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第1信号値を保持する保持回路と、前記第1信号値と、前記第1クロックサイクルの次の第2クロックサイクルにおける前記第1入力信号または前記第1出力信号の信号値である第2信号値とを比較して、前記第1信号値と前記第2信号値とが互いに異なるビットをカウントするトグルビットカウンタと、前記トグルビットカウンタによるカウント結果のうち、前記第1入力信号または前記第1出力信号が無効であるカウント結果をマスクするマスク処理部と、第1カウントモードと第2カウントモードとを切り替える第1切替部と、前記第1カウントモードである第1測定期間において、前記マスク処理部によりマスクされた前記カウント結果をカウントし、前記第2カウントモードである第2測定期間において、前記第1入力信号または前記第1出力信号が有効である期間をカウントする有効カウンタと、前記第1測定期間において、前記有効カウンタによりカウントされた有効ビットカウント結果を前記第1トグル数または前記第2トグル数として出力し、かつ、前記第2測定期間において、前記有効カウンタによりカウントされた有効期間カウント結果を前記第1動作期間または前記第2動作期間として出力する第2出力部と、を備える。
【0024】
これによれば、トグル数を測定するカウンタと、動作期間を測定するカウンタとを共通化することができる。よって、電力測定回路の回路規模を小さくすることができる。
【0025】
本開示の第7の態様に係る電力測定回路は、第1の態様から第6の態様のいずれか1つの態様に係る電力測定回路であって、前記第1測定部と、前記第2測定部とは、第1測定回路で構成され、前記電力測定回路は、さらに、前記第1測定回路と前記第1対象回路の入力側とを接続する第1動作モードと、前記第1測定回路と前記第1対象回路の出力側とを接続する第2動作モードとを切り替える第2切替部を備え、前記第1測定回路は、前記第1動作モードにおいて前記第1測定部として動作し、前記第2動作モードにおいて前記第2測定部として動作する。
【0026】
これによれば、第1測定部と、第2測定部とを第1測定回路で共通化することができる。よって、電力測定回路の回路規模を小さくすることができる。
【0027】
本開示の第8の態様に係る電力測定回路は、第1の態様から第6の態様のいずれか1つの態様に係る電力測定回路であって、さらに、前記測定期間において、前記複数の処理回路のうちの第2対象回路への第2入力信号が示す信号値が変化した数である第3トグル数と、前記第2入力信号が有効である期間である第3動作期間とを測定する第3測定部と、前記測定期間において、前記第2対象回路からの第2出力信号が示す信号値が変化した数である第4トグル数と、前記第2出力信号が有効である期間である第4動作期間とを測定する第4測定部と、を備え、前記第1測定部と、前記第2測定部と、前記第3測定部と、前記第4測定部とのうちの2つの測定部は、それぞれ、第1測定回路及び第2測定回路で構成され、前記電力測定回路は、さらに、前記第1対象回路の入力側と、前記第1対象回路の出力側と、前記第2対象回路の入力側と、前記第2対象回路の出力側とのうちの2つの測定対象を前記第1測定回路及び前記第2測定回路に接続するセレクタを備え、前記第1測定回路及び前記第2測定回路は、前記セレクタにより選択された前記2つの測定対象を測定する測定部として動作する。
【0028】
これによれば、第1測定部、第2測定部、第3測定部及び第4測定部のうち、選択された2つの測定部として機能するように第1測定回路及び第2測定回路を設定することができる。よって、例えば、第1測定部及び第2測定部として機能するように第1測定回路及び第2測定回路を設定することで、同じ測定期間における第1トグル数、第1動作期間、第2トグル数及び第2動作期間に基づいて、第1対象回路の第1消費電力を算出することができる。よって、第1対象回路の第1消費電力をより精度よく算出することができる可能性がある。例えば、第3測定部及び第4測定部として機能するように第1測定回路及び第2測定回路を設定することで、第1対象回路と同様に、第2対象回路の第2消費電力をより精度よく算出することができる可能性がある。
【0029】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0030】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、例えば、各図において縮尺等は必ずしも一致しない。また、各図において、同じ構成部材については同じ符号を付している。
【0031】
(実施の形態)
[構成]
図1は、実施の形態に係る電力測定回路の構成の一例を示すブロック図である。
【0032】
図1に示すように、電力測定回路100は、複数(本実施の形態では3つ)の処理回路101~103と、複数の測定回路201~206と、期間測定回路300と、バス400と、算出部500とを備える。電力測定回路100は、複数の処理回路101~103以外の他の処理回路を備えていてもよい。電力測定回路100は、複数の測定回路201~206以外の他の測定回路を備えていてもよい。
【0033】
複数の処理回路101~103のそれぞれは、入力される信号に従って、処理を行う論理回路またはプロセッサであり、処理結果を出力する。処理回路101は、例えば、1系統の入力信号、valid信号及びクロック信号を受信し、2系統の出力信号を出力する。2系統の出力信号は、処理回路101に入力された1系統の入力信号に対して処理回路101による処理が行われることで生成された信号である。なお、処理回路101は、受信したvalid信号及びクロック信号をそのまま出力してもよい。処理回路101は、第1対象回路の一例である。
【0034】
処理回路102は、例えば、1系統の入力信号、valid信号及びクロック信号を受信し、1系統の出力信号を出力する。処理回路102に入力される1系統の入力信号は、処理回路101から出力される2系統の出力信号のうちの1系統の出力信号である。処理回路102により出力される1系統の出力信号は、処理回路102に入力された1系統の入力信号に対して処理回路102による処理が行われることで生成された信号である。なお、処理回路102は、受信したvalid信号及びクロック信号をそのまま出力してもよい。
【0035】
処理回路103は、例えば、2系統の入力信号、valid信号及びクロック信号を受信し、1系統の出力信号を出力する。処理回路103に入力される2系統の入力信号のうちの1系統の入力信号は、処理回路101から出力される2系統の出力信号のうちの1系統の出力信号であり、処理回路102へ出力された出力信号とは別の出力信号である。処理回路103により出力される1系統の出力信号は、処理回路103に入力された2系統の入力信号に対して処理回路103による処理が行われることで生成された信号である。なお、処理回路103は、受信したvalid信号及びクロック信号をそのまま出力してもよい。
【0036】
測定回路201~206は、測定対象の信号のトグル数と、動作期間とを測定する。トグル数は、測定対象の信号が示す信号値が変化した数である。動作期間は、測定対象の信号が有効である期間である。
【0037】
図2は、トグル数及び動作期間を説明するための図である。
【0038】
図2において、Data[0]~Data[3]は、測定対象の信号の信号値を示す。
図2では、測定対象の信号は、4ビットで表され、各ビットがData[0]~Data[3]のいずれかの信号を示す。validは、valid信号の信号値を示し、Highである場合、測定対象の信号が有効であることを示し、Lowである場合、測定対象の信号が無効であることを示す。clkは、クロック信号を示し、
図2では、時刻T1から時刻T23までの所定のクロックで23回動作したことが示されている。
【0039】
トグル数は、valid信号が有効であることを示している場合において、Data[0]~Data[3]の各ビットが変化した回数の総数である。
図2では、各ビットが変化した時が四角で示されている。つまり、トグル数は、
図2の例では、四角の総数である。トグル率は、各ビットが変化しうるクロック数の総数に対するトグル数の割合である。クロック数の総数は、具体的には、測定期間にビット数を乗算して得られる数である。このように、トグル数、及び、測定期間が分かれば、既知の値である信号のビット数を用いて、トグル率を算出することができる。
【0040】
図2の例では、ビット数、つまり、Data[0]~Data[3]の数は4であり、測定期間は23であるため、クロック数の総数は、23×4の92である。このように、クロック数の総数は、測定対象の信号のビット数と、測定期間とで算出することができる。そして、トグル数は、36であるため、トグル率は、36/92=0.39・・・と算出することができる。
【0041】
動作期間は、valid信号が有効であるクロック信号のサイクル数である。
図2では、valid信号が有効であることを示している時は、丸で示されている。つまり、動作期間は、
図2の例では、丸の総数である。動作期間が丸の数で示されるのは、クロックが所定のクロック周期で繰り返されるからであり、丸の数に所定のクロック周期を乗算することで、測定期間を算出することができるからである。動作率は、測定期間に対する動作期間の割合である。このように、動作期間、及び、測定期間が分かれば、動作率を算出することができる。
【0042】
図2の例では、測定期間はT1~T23の23であり、動作期間は18であるため、動作率は、18/23=0.78・・・と算出することができる。
【0043】
【0044】
測定回路201は、処理回路101の入力側に接続され、処理回路101に入力される1系統の入力信号、valid信号及びクロック信号を受信する。測定回路201は、測定期間において、処理回路101への入力信号(第1入力信号)が示す信号値が変化した数であるトグル数N1と、当該入力信号が有効である期間である動作期間P1とを測定する。なお、測定回路201は、第1測定部の一例である。トグル数N1は、第1トグル数の一例である。動作期間P1は、第1動作期間の一例である。
【0045】
測定回路202は、処理回路101の出力側に接続され、処理回路101から出力される2系統の出力信号のうち、処理回路102に出力される1系統の出力信号(第1出力信号)、valid信号及びクロック信号を受信する。測定回路202は、測定期間において、処理回路101から処理回路102への出力信号(第1出力信号)が示す信号値が変化した数であるトグル数N2と、当該出力信号が有効である期間である動作期間P2とを測定する。なお、処理回路101から処理回路102への出力信号は、処理回路102への入力信号であるため、トグル数N2と、動作期間P2とは、処理回路102への入力信号に対する測定結果であるとも言える。なお、測定回路202は、第2測定部の一例である。トグル数N2は、第2トグル数の一例である。動作期間P2は、第2動作期間の一例である。
【0046】
測定回路203は、処理回路101の出力側に接続され、処理回路101から出力される2系統の出力信号のうち、処理回路103に出力される1系統の出力信号、valid信号及びクロック信号を受信する。測定回路203は、測定期間において、処理回路101から処理回路103への出力信号が示す信号値が変化した数であるトグル数N3と、当該出力信号が有効である期間である動作期間P3とを測定する。なお、処理回路101から処理回路103への出力信号は、処理回路103への入力信号であるため、トグル数N3と、動作期間P3とは、処理回路103への入力信号に対する測定結果であるとも言える。
【0047】
測定回路204は、処理回路102の出力側に接続され、処理回路102から出力される1系統の出力信号、valid信号及びクロック信号を受信する。測定回路204は、測定期間において、処理回路102の出力信号が示す信号値が変化した数であるトグル数N4と、当該出力信号が有効である期間である動作期間P4とを測定する。なお、トグル数N4は、第4トグル数の一例である。動作期間P4は、第4動作期間の一例である。
【0048】
測定回路205は、処理回路103の入力側に接続され、処理回路103へ入力される2系統の入力信号のうち、処理回路103に入力される1系統の入力信号、valid信号及びクロック信号を受信する。測定回路205が受信する1系統の入力信号は、処理回路103へ入力される2系統の入力信号のうち、処理回路101からの1系統の入力信号とは別の入力信号である。測定回路205は、測定期間において、処理回路103への入力信号が示す信号値が変化した数であるトグル数N5と、当該入力信号が有効である期間である動作期間P5とを測定する。
【0049】
測定回路206は、処理回路103の出力側に接続され、処理回路103から出力される1系統の出力信号、valid信号及びクロック信号を受信する。測定回路206は、測定期間において、処理回路103の出力信号が示す信号値が変化した数であるトグル数N6と、当該出力信号が有効である期間である動作期間P6とを測定する。
【0050】
なお、複数の測定回路201~206の詳細な構成は、後述する。
【0051】
期間測定回路300は、測定期間を測定する。期間測定回路300は、クロック信号及び制御信号を受信する。制御信号は、測定開始信号及び測定終了信号を含む。測定開始信号は、測定期間の開始タイミング(開始サイクル)を示す信号である。測定終了信号は、測定期間の終了タイミング(終了サイクル)を示す信号である。期間測定回路300は、測定開始信号で示される開始タイミングから、測定終了信号で示される終了タイミングまでのクロック数をカウントすることで測定期間を測定する。つまり、測定期間は、開始タイミングから終了タイミングまでのクロック数で示される。なお、期間測定回路300の詳細な構成は、後述する。
【0052】
測定回路201~206による測定結果と、期間測定回路300による測定結果とは、バス400を介して、算出部500に出力される。
【0053】
算出部500は、各処理回路の入力側に接続された測定回路による測定結果と、出力側に接続された測定回路による測定結果とに基づいて、測定期間における当該処理回路の消費電力を算出する。算出部500は、電力測定回路100の動作条件を変えて得られたトグル数N1~N6及び動作期間P1~P6に基づいて、回路全体の消費電力の測定を行ってもよい。
【0054】
算出部500は、測定回路201により測定期間において測定されたトグル数N1及び動作期間P1と、測定回路202により測定期間において測定されたトグル数N2及び動作期間P2と、測定回路203により測定期間において測定されたトグル数N3及び動作期間P3とに基づいて、処理回路101の消費電力を算出する。同様に、算出部500は、測定回路202により測定期間において測定されたトグル数N2及び動作期間P2と、測定回路204により測定期間において測定されたトグル数N4及び動作期間P4とに基づいて、処理回路102の消費電力を算出する。同様に、算出部500は、測定回路203により測定期間において測定されたトグル数N3及び動作期間P3と、測定回路205により測定期間において測定されたトグル数N5及び動作期間P5と、測定回路206により測定期間において測定されたトグル数N6及び動作期間P6とに基づいて、処理回路103の消費電力を算出する。
【0055】
算出部500は、測定対象の処理回路の入力側及び出力側のそれぞれの、トグル数に基づいて算出されるトグル率と、動作期間に基づいて算出される動作率とに基づいて、重回帰分析により得られた回帰係数を使用した電力算出式によって、測定対象の処理回路における消費電力を算出する。例えば、処理回路101の入力側のトグル率と動作率から算出する電力PW1、処理回路101の出力側のトグル率と動作率から算出する電力PW2、処理回路101のもう1系統の出力側のトグル率と動作率から算出する電力PW3は、それぞれ下記の式により算出される。なお、kn1、kn2、kn3、kp1、kp2、kp3は、回帰係数である。
【0056】
PW1=kn1×N1+kp1×P1
PW2=kn2×N2+kp2×P2
PW3=kn3×N3+kp3×P3
【0057】
そして、処理回路101の消費電力PWは、下記の式により算出される。
【0058】
PW=PW1+PW2+PW3
【0059】
なお、回帰係数は、複数の異なる回路の動作状態を作り出し、それぞれの動作状態における回路全体の電力をSoCの外部電源端子にて測定し、同時に、処理回路101の入力側のトグル率と動作率、処理回路101の出力側のトグル率と動作率、処理回路101のもう1系統の出力側のトグル率と動作率を取得し、取得したデータから重回帰分析を行うことにより算出することが可能である。
【0060】
なお、算出部500は、電力測定回路100の内部のプロセッサで実現される。算出部500は、電力測定回路100の外部のコンピュータで実現されてもよい。
【0061】
次に、測定回路201~206の具体的な構成について説明する。なお、測定回路201~206の構成は、互いに同じ構成であるため、測定回路201の構成を代表して説明する。
【0062】
図3は、測定回路の構成の一例を示すブロック図である。
【0063】
測定回路201は、フリップフロップ211と、排他的論理和212と、トグルビットカウンタ213と、フリップフロップ214と、マスク処理部215と、カウンタ216と、フリップフロップ217と、カウンタ218と、フリップフロップ219とを備える。
【0064】
フリップフロップ211は、第1クロックサイクルにおける測定対象の信号が示す信号値である第1信号値を保持する保持回路である。測定対象の信号が示す信号値は、例えば、4ビットで表される。なお、当該信号値は、1ビット以上であれば何ビットで表されてもよい。フリップフロップ211は、保持した第1信号値を次のクロックサイクルで出力する。
【0065】
排他的論理和212は、フリップフロップ211により保持された第1信号値と、第1クロックサイクルの次の第2クロックサイクルにおける測定対象の信号が示す信号値の第2信号値とを取得し、第1信号値と第2信号値とを比較した結果を出力する。排他的論理和212は、例えば、第1信号値と第2信号値とを比較して、異なっているビットにおいて「1」を出力し、同じビットにおいて「0」を出力する。
【0066】
トグルビットカウンタ213は、排他的論理和212により出力された値が含む「1」の数、第1信号値と第2信号値とが互いに異なるビットの数をカウントする。
【0067】
フリップフロップ214は、第1クロックサイクルにおけるvalid信号の信号値を保持する。フリップフロップ214は、保持した信号値を次のクロックサイクルで出力する。
【0068】
マスク処理部215は、フリップフロップ214から出力された第1クロックサイクルにおけるvalid信号の信号値が「0」である場合の、トグルビットカウンタ213のカウント結果に対してマスク処理を実行する。つまり、マスク処理部215は、トグルビットカウンタ213によるカウント結果のうち、測定対象の信号が無効であるカウント結果をマスクする。具体的には、マスク処理部215は、マスク処理において、フリップフロップ214から出力された第1クロックサイクルにおけるvalid信号の信号値が「0」である場合の、トグルビットカウンタ213のカウント結果を0に設定して出力し、valid信号の信号値が「1」である場合の、トグルビットカウンタ213のカウント結果を変更せずにそのまま出力する。
【0069】
カウンタ216は、マスク処理部215によりマスク処理が実行されたカウント結果をカウントする。つまり、カウンタ216は、valid信号が有効であることを示している場合において、Data[0]~Data[3]の各ビットが変化した回数をカウントする。カウンタ216は、測定開始信号によって示される測定開始タイミングに応じてカウンタをリセットし、測定開始タイミング以降の上記カウント結果をカウントして、カウント結果をフリップフロップ217に出力する。カウンタ216は、有効ビットカウンタの一例である。
【0070】
フリップフロップ217は、カウンタ216によるカウント結果を保持し、測定終了信号によって示される測定終了タイミングに応じてカウント結果を出力する。これにより、フリップフロップ217は、測定期間においてカウンタ216によりカウントされた有効ビットカウント結果をトグル数として出力する。フリップフロップ217は、出力部の一例である。
【0071】
カウンタ218は、valid信号の信号値が「1」である期間(つまり測定対象の信号が有効である期間)をカウントする。カウンタ218は、測定開始信号によって示される測定開始タイミングに応じてカウンタをリセットし、測定開始タイミング以降の測定対象の信号が有効である期間をカウントして、カウント結果をフリップフロップ219に出力する。カウンタ218は、有効期間カウンタの一例である。
【0072】
フリップフロップ219は、カウンタ218によるカウント結果を保持し、測定終了信号によって示される測定終了タイミングに応じてカウント結果を出力する。これにより、フリップフロップ219は、測定期間においてカウンタ218によりカウントされた有効期間カウント結果を動作期間として出力する。フリップフロップ219は、第2出力部の一例である。
【0073】
次に、期間測定回路300の具体的な構成について説明する。
【0074】
図4は、期間測定回路の構成の一例を示すブロック図である。
【0075】
期間測定回路300は、カウンタ301と、フリップフロップ302とを備える。
【0076】
カウンタ301は、「1」を示す信号と、クロック信号と、測定開始信号とが入力され、測定開始信号によって示される測定開始タイミングに応じてカウンタをリセットし、測定開始タイミング以降のクロックをカウントして、カウント結果をフリップフロップ302に出力する。
【0077】
フリップフロップ302は、カウンタ301によるカウント結果を保持し、測定終了信号によって示される測定終了タイミングに応じてカウント結果を出力する。これにより、フリップフロップ302は、カウンタ301によりカウントされたカウント結果を測定期間Tとして出力する。フリップフロップ302は、第1出力部の一例である。
【0078】
図5は、トグル数、動作期間及び測定期間が確定するタイミングについて説明するための図である。
【0079】
図5に示すように、測定終了信号が時刻T15において測定終了タイミングを示すため、トグル数、動作期間及び測定期間は、時刻T15において確定されることとなる。
【0080】
[効果など]
本実施の形態に係る電力測定回路100は、複数の処理回路101~103を有する集積回路における消費電力を算出する電力測定回路である。電力測定回路100は、期間測定回路300と、複数の測定回路201~206と、算出部500とを備える。期間測定回路300は、測定期間を測定する。測定回路201は、測定期間において、複数の処理回路101~103のうちの処理回路101(第1対象回路)への入力信号が示す信号値が変化した数であるトグル数N1と、当該入力信号が有効である期間である動作期間P1とを測定する。測定回路202は、測定期間において、処理回路101からの出力信号が示す信号値が変化した数であるトグル数N2と、当該出力信号が有効である期間である動作期間P2とを測定する。測定回路203は、測定期間において、処理回路101からの出力信号が示す信号値が変化した数であるトグル数N3と、当該出力信号が有効である期間である動作期間P3とを測定する。算出部500は、測定回路201により測定期間において測定されたトグル数N1及び動作期間P1と、測定回路202により測定期間において測定されたトグル数N2及び動作期間P2と、測定回路203により測定期間において測定されたトグル数N3及び動作期間P3とに基づいて、処理回路101の消費電力を算出する。
【0081】
これによれば、処理回路101への入力信号に基づいて測定されたトグル数N1及び動作期間P1と、処理回路101からの出力信号に基づいて測定されたトグル数N2及び動作期間P2と、処理回路101からのもう1系統の出力信号に基づいて測定されたトグル数N3及び動作期間P3とに基づいて、測定期間における処理回路101の消費電力を算出する。つまり、集積回路における処理回路101の第1消費電力を容易に算出することができる。
【0082】
本実施の形態に係る電力測定回路100において、測定回路204は、測定期間において、複数の処理回路101~103のうち、処理回路101の1系統の出力信号が入力信号として入力される処理回路102からの出力信号が示す信号値が変化した数であるトグル数N4と、当該出力信号が有効である期間である動作期間P4とを測定する。算出部500は、さらに、測定回路202により測定期間において測定されたトグル数N2及び動作期間P2と、測定回路204により測定期間において測定されたトグル数N4及び動作期間P4とに基づいて、処理回路102の消費電力を算出する。
【0083】
これによれば、処理回路101からの1系統の出力信号に基づいて測定されたトグル数N2及び動作期間P2を利用して、処理回路102の消費電力を算出するため、トグル数及び動作期間を測定する測定回路の数を低減することができる。
【0084】
本実施の形態に係る電力測定回路100において、測定回路201~206のそれぞれは、フリップフロップ211(保持回路)と、トグルビットカウンタ213と、マスク処理部215と、カウンタ216(有効ビットカウンタ)と、カウンタ218(有効期間カウンタ)と、フリップフロップ217、219(第2出力部)とを備える。フリップフロップ211は、第1クロックサイクルにおける測定対象の信号の信号値である第1信号値を保持する。トグルビットカウンタ213は、第1信号値と、第1クロックサイクルの次の第2クロックサイクルにおける測定対象の信号の信号値である第2信号値とが互いに異なるビットをカウントする。マスク処理部215は、トグルビットカウンタ213によるカウント結果のうち、測定対象の信号が無効であるカウント結果に対してマスク処理を実行する。カウンタ216は、マスク処理部215によりマスク処理が実行されたカウント結果をカウントする。カウンタ218は、測定対象の信号が有効である期間をカウントする。フリップフロップ217、219は、測定期間において、カウンタ216によりカウントされた有効ビットカウント結果をトグル数として出力し、かつ、カウンタ218によりカウントされた有効期間カウント結果を動作期間として出力する。
【0085】
これによれば、トグル数を測定するカウンタ216(有効ビットカウンタ)と、動作期間をカウントするカウンタ218(有効期間カウンタ)とを別々に備えるため、同じ測定期間におけるトグル数及び動作期間を測定することができる。よって、第1対象回路の第1消費電力をより精度よく算出することができる。
【0086】
(変形例1)
変形例1に係る測定回路201Aについて説明する。
【0087】
図6は、変形例1に係る測定回路の構成の一例を示すブロック図である。測定回路201Aは、実施の形態における測定回路201~206のいずれかの代わりに用いられてもよい。
【0088】
変形例1に係る測定回路201Aは、実施の形態に係る測定回路201と比較して、切替部220をさらに有し、カウンタ218及びフリップフロップ219を有していない点が異なる。変形例1に係る測定回路201Aは、カウンタ216及びフリップフロップ217を、実施の形態に係るカウンタ218及びフリップフロップ219としても機能させる。つまり、測定回路201Aは、トグル数をカウントする機能と、動作期間をカウントする機能とを時分割で切り替えて、共通のカウンタ216及びフリップフロップ217を用いて実現する構成である。以下、異なる点について主に説明する。
【0089】
切替部220は、切替信号に応じて、第1カウントモードと第2カウントモードとを切り替える。つまり、切替部220は、マスク処理部215から出力されるマスク処理が実行されたカウント結果と、フリップフロップ214から出力される第1クロックサイクルにおけるvalid信号の信号値を2つの入力として、切替信号に応じて、いずれか一方の入力を選択する。
【0090】
カウンタ216は、第1カウントモードである第1測定期間において、マスク処理部215によりマスクされたカウント結果をカウントし、第2カウントモードである第2測定期間において、測定対象の信号が有効である期間をカウントする。
【0091】
フリップフロップ217は、第1測定期間において、カウンタ216によりカウントされた有効ビットカウント結果をトグル数として出力し、かつ、第2測定期間において、カウンタ216によりカウントされた有効期間カウント結果を動作期間として出力する。
【0092】
これによれば、トグル数を測定するカウンタと、動作期間を測定するカウンタとを共通化することができる。よって、電力測定回路100の回路規模を小さくすることができる。
【0093】
(変形例2)
変形例2に係る電力測定回路100Aについて説明する。
【0094】
図7は、変形例2に係る電力測定回路の構成の一例を示すブロック図である。
【0095】
変形例2に係る電力測定回路100Aは、実施の形態に係る電力測定回路100と比較して、さらに、切替部221~223を備え、測定回路201、204、205を備えていない点が異なる。変形例2に係る電力測定回路100Aでは、測定回路202は、処理回路102の入力側及び出力側の信号を切替部221により切り替えて測定し、測定回路203は、処理回路101の入力側及び出力側の1系統の信号を切替部223により切り替えて測定し、測定回路206は、処理回路103の入力側の1系統及び出力側の信号を切替部222により切り替えて測定する。つまり、測定回路202、203、206は、複数の信号(例えば、入力側の信号及び出力側の信号)を切替部221~223によって時分割で切り替えて、測定する。なお、切替部221~223のそれぞれは、当該切替部が接続される測定回路と、当該測定回路の計測対象となる処理回路の入力側とを接続する第1動作モードと、当該測定回路と当該処理回路の出力側とを接続する第2動作モードとを切り替える。測定回路は、第1動作モードにおいて入力側の信号を測定する測定回路として動作し、第2動作モードにおいて出力側の信号を測定する測定回路として動作する。
【0096】
なお、切替部は、測定回路を測定対象の回路の入力側と出力側との一方に選択的に接続されるように接続される例を挙げたが、これに限らずに、処理回路の出力側と別の処理回路の出力側との一方に選択的に接続されるように接続されてもよいし、処理回路の入力側と別の処理回路の入力側との一方に選択的に接続されるように接続されてもよい。
【0097】
変形例2に係る電力測定回路100Aよれば、2つの測定回路を1つの測定回路で共通化することができる。よって、電力測定回路100Aの回路規模を小さくすることができる。
【0098】
(変形例3)
変形例3に係る電力測定回路100Bについて説明する。
【0099】
図8は、変形例3に係る電力測定回路の構成の一例を示すブロック図である。
【0100】
変形例3に係る電力測定回路100Bは、実施の形態に係る電力測定回路100と比較して、さらに、セレクタ600を備え、2つの測定回路201B、202Bを備える点が異なる。変形例3に係る電力測定回路100Bでは、3つの処理回路101~103の入力側及び出力側に接続されるセレクタ600によって、測定対象とする信号を複数(変形例3では2つ、つまり測定回路の数)選択し、選択した複数の信号を測定回路201B、202Bに出力する。これにより、測定回路201B、202Bは、選択された信号に対する測定を行い、当該信号のトグル数及び動作期間を得ることができる。
【0101】
このように、セレクタ600は、測定対象の処理回路の入力側及び出力側のうちの2つの測定対象を2つの測定回路201B、202Bに接続する。つまり、複数の入力側及び出力側のうち、選択された2つの測定対象の信号を測定するように測定回路201B、202Bを機能させることができる。例えば、セレクタ600は、処理回路102の入力側と、処理回路102の出力側とを選択することで、処理回路102の消費電力を算出するための、入力側のトグル数及び動作期間と、出力側のトグル数及び動作期間とを同じ測定期間で得ることができる。よって、処理回路102の消費電力を精度よく算出できる可能性がある。
【0102】
なお、変形例3に係る電力測定回路100Bは、2つの測定回路201B、202Bを備えるため、セレクタ600は、3つの処理回路101~103の入力側の信号及び出力側の信号のうち、任意の2つの信号を選択するとしたが、これに限らない。電力測定回路100Bは、3つ以上(あるいは1つ)の測定回路を備えていてもよく、セレクタ600は、測定回路の数の信号を選択してもよい。
【0103】
(他の実施の形態)
以上、一つ又は複数の態様に係る電力測定回路について、上記実施の形態に基づいて説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態に施したものも、本開示の範囲内に含まれてもよい。
【産業上の利用可能性】
【0104】
本開示は、集積回路内の特定の処理回路における消費電力を容易に算出することができる電力想定回路等として有用である。
【符号の説明】
【0105】
100、100A、100B 電力測定回路
101~103 処理回路
201~206、201A、201B、202B 測定回路
211、214、217、219、302 フリップフロップ
212 排他的論理和
213 トグルビットカウンタ
215 マスク処理部
216、218、301 カウンタ
220、221~223 切替部
300 期間測定回路
400 バス
500 算出部
600 セレクタ