(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024145030
(43)【公開日】2024-10-15
(54)【発明の名称】半導体装置、時間計測方法及び時間計測プログラム
(51)【国際特許分類】
G06F 1/14 20060101AFI20241004BHJP
G06F 15/78 20060101ALI20241004BHJP
【FI】
G06F1/14
G06F15/78 517
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023057253
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】源馬 和明
【テーマコード(参考)】
5B062
【Fターム(参考)】
5B062AA05
5B062HH01
(57)【要約】
【課題】消費電流を低減することができる半導体装置、時間計測方法及び時間計測プログラムを提供する。
【解決手段】一実施の形態によれば、半導体装置1は、演算処理装置10と、演算処理装置10に制御される複数の周辺回路41と、周辺回路41からの時間計測の要求に応じて実行した時間計測の結果を周辺回路41に出力するタイミングマネジメント回路50と、を備え、タイミングマネジメント回路50は、時間計測の各要求に応じて、時間計測を実行する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
演算処理装置と、
前記演算処理装置に制御される複数の周辺回路と、
前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、
を備え、
前記タイミングマネジメント回路は、前記時間計測の各要求に応じて、前記時間計測を実行する、
半導体装置。
【請求項2】
前記タイミングマネジメント回路は、
前記複数の前記周辺回路のいずれかから第1の時間計測の第1の要求を受けると、前記第1の時間計測を開始し、
前記第1の時間計測の実行中に、第2の時間計測の第2の要求を受けると、前記第1の時間計測を継続しながら、第2の時間計測を開始する、
請求項1に記載の半導体装置。
【請求項3】
前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記タイミングマネジメント回路は、前記第1の時間計測及び前記第2の時間計測を実行する際に、前記クロック生成回路から生成された同じ前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行する、
請求項2に記載の半導体装置。
【請求項4】
前記タイミングマネジメント回路は、
前記周辺回路から前記時間計測の前記要求を受けることによって、前記時間計測を実行し、
前記要求を受けた全ての前記時間計測の前記結果を出力した後で、次の前記要求を受けるまでは、前記時間計測を停止させる、
請求項1に記載の半導体装置。
【請求項5】
前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記クロック生成回路は、
第1のクロック信号を生成する第1の発振回路と、
前記第1のクロック信号と異なる第2のクロック信号を生成する第2の発振回路と、
前記第2のクロック信号を分周して第3のクロック信号を生成する分周回路と、
前記第1のクロック信号、前記第2のクロック信号、及び、前記第3のクロック信号を含む複数の前記クロック信号から、前記要求に応じて前記時間計測に用いる前記クロック信号を選択する選択回路と、
を有し、
前記タイミングマネジメント回路は、
前記選択回路における前記クロック信号の選択を制御するクロック制御回路を有し、
前記第1の時間計測及び前記第2の時間計測を実行する際に、相互に異なる前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行する、
請求項2に記載の半導体装置。
【請求項6】
前記クロック制御回路は、前記第1の発振回路における前記第1のクロック信号の生成及び停止、並びに、前記第2の発振回路における前記第2のクロック信号の生成及び停止を制御する、
請求項5に記載の半導体装置。
【請求項7】
クロック信号は、高電圧状態及び低電圧状態を繰り返す信号を含み、
前記タイミングマネジメント回路は、
前記周辺回路から前記時間計測の前記要求を受けるとともに、前記周辺回路に前記時間計測の前記結果を出力するタイミング生成回路と、
前記クロック信号の前記高電圧状態または前記低電圧状態の数をカウントしたカウント数をカウンタ値として保持するカウンタ回路と、
を有し、
前記タイミング生成回路は、
前記要求を受けた前記時間計測における計測時間と、前記クロック信号と、から前記計測時間の目標の前記カウント数をターゲット値として算出する算出回路と、
前記ターゲット値を記憶する記憶部と、
前記カウンタ値と前記ターゲット値とを比較する比較部と、
を有する、
請求項1に記載の半導体装置。
【請求項8】
前記タイミングマネジメント回路は、
クロック信号を用いて前記時間計測を実行する複数のカウンタ部と、
前記時間計測を要求した前記周辺回路に基づいて、前記カウンタ部で用いられる前記クロック信号を選択するクロック制御回路と、
を有し、
前記クロック制御回路は、各カウンタ部に対して相互に異なる前記クロック信号を選択する、
請求項1に記載の半導体装置。
【請求項9】
前記タイミングマネジメント回路は、前記周辺回路からの前記時間計測の前記要求の可否を判定する判定部を有し、
前記判定部は、実行中の前記時間計測を継続できない場合、及び、同時に計測できる前記時間計測の要求数の上限を超える場合の少なくともいずれかの場合に、前記要求を拒否する、
請求項1に記載の半導体装置。
【請求項10】
前記周辺回路は、前記時間計測を行うカウンタ機能を有し、
前記判定部は、前記要求を拒否した場合に、前記周辺回路に前記周辺回路の前記カウンタ機能を用いて前記時間計測を実行させる、
請求項9に記載の半導体装置。
【請求項11】
前記周辺回路は、タイマであり、
前記タイミングマネジメント回路は、前記カウンタ値を変換するカウンタ値変換部を有し、
前記カウンタ値変換部は、前記タイマから前記時間計測の前記要求を受けた場合に、変換した前記カウンタ値を前記タイマに出力する、
請求項7に記載の半導体装置。
【請求項12】
演算処理装置と、
前記演算処理装置に制御される複数の周辺回路と、
前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、
を備えた半導体装置における時間計測方法であって、
前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップを備えた、
時間計測方法。
【請求項13】
前記時間計測を実行させるステップは、
前記複数の前記周辺回路のいずれかから第1の時間計測の第1の要求を受けると、前記第1の時間計測を開始させるステップと、
前記第1の時間計測の実施中に、第2の時間計測の第2の要求を受けると、前記第1の時間計測を継続しながら、第2の時間計測を開始させるステップと、
を有する、
請求項12に記載の時間計測方法。
【請求項14】
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記時間計測を実行させるステップにおいて、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、前記クロック生成回路から生成された同じ前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
請求項13に記載の時間計測方法。
【請求項15】
前記時間計測を実行させるステップにおいて、
前記周辺回路から前記時間計測の前記要求を受けることによって、前記時間計測を実行させ、
前記要求を受けた全ての前記時間計測の結果を出力した後で、次の前記要求を受けるまでは、前記時間計測を停止させる、
請求項12に記載の時間計測方法。
【請求項16】
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記クロック生成回路は、
第1のクロック信号を生成する第1の発振回路と、
前記第1のクロック信号と異なる第2のクロック信号を生成する第2の発振回路と、
前記第2のクロック信号を分周して第3のクロック信号を生成する分周回路と、
前記第1のクロック信号、前記第2のクロック信号、及び、前記第3のクロック信号を含む複数の前記クロック信号から、前記要求に応じて前記時間計測に用いる前記クロック信号を選択する選択回路と、
を有し、
前記時間計測を実行させるステップにおいて、
前記選択回路における前記クロック信号の選択を制御させ、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、相互に異なる前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
請求項13に記載の時間計測方法。
【請求項17】
前記時間計測を実行させるステップにおいて、
前記第1の発振回路における前記第1のクロック信号の発振及び停止、並びに、前記第2の発振回路における前記第2のクロック信号の発振及び停止を制御させる、
請求項16に記載の時間計測方法。
【請求項18】
クロック信号は、高電圧状態及び低電圧状態を繰り返す信号を含み、
前記時間計測を実行させるステップは、
前記周辺回路から前記時間計測の前記要求を受けるステップと、
前記要求を受けた前記時間計測における計測時間と、前記クロック信号と、から前記計測時間の目標のカウント数をターゲット値として算出させるステップと、
前記ターゲット値を記憶させるステップと、
前記クロック信号の前記高電圧状態または前記低電圧状態の数をカウントした前記カウント数をカウンタ値として保持するステップと、
前記カウンタ値と前記ターゲット値とを比較するステップと、
前記カウンタ値と前記ターゲット値とが一致した場合に、前記周辺回路に前記時間計測の前記結果を出力するステップと、
を有する、
請求項12に記載の時間計測方法。
【請求項19】
前記時間計測を実行させるステップは、
前記時間計測を要求した前記周辺回路に基づいて、クロック信号を選択させるステップと、
前記クロック信号を用いて複数の前記時間計測を実行させるステップと、
を有し、
前記クロック信号を選択させるステップにおいて、
各時間計測に異なる前記クロック信号を選択させる、
請求項12に記載の時間計測方法。
【請求項20】
演算処理装置と、
前記演算処理装置に制御される複数の周辺回路と、
前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、
を備えた半導体装置における時間計測プログラムであって、
前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップをコンピュータに実行させる時間計測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体装置、時間計測方法及び時間計測プログラムに関する。
【背景技術】
【0002】
非特許文献1には、マイクロコンピュータにおけるハードウェアのブロック図が記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】:「RX660グループ ユーザーズマニュアル ハードウェア編」、[online]、2022年3月、[2023年2月24日検索]、インターネット<https://www.renesas.com/jp/ja/document/mah/rx660-group-users-manual-hardware?r=1618106>
【発明の概要】
【発明が解決しようとする課題】
【0004】
MCU(Micro Controller Unit)は、クロック生成回路、タイマ及び通信IP(Intellectual Property)等を備えている。クロック生成回路は、発振器の発振が安定するまで待つ発振安定待ち回路を有している。発振安定待ち回路は、発振器の発振が安定するまでの時間を計測する機能を有している。タイマ及び通信IP等の複数の周辺回路は、それぞれ、時間計測を行う機能を有している。各回路は、それぞれの時間計測の機能によって、それぞれ、同時に時間計測することができる。
【0005】
MCUにおける複数の回路が同時に時間計測を行うと、消費電流が増加する。また、多くの回路に時間計測のためのクロック信号が供給されると、クロック動作に伴う消費電流も増加する。
【0006】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
一実施の形態によれば、半導体装置は、演算処理装置と、前記演算処理装置に制御される複数の周辺回路と、前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、を備え、前記タイミングマネジメント回路は、前記時間計測の各要求に応じて、前記時間計測を実行する。
【0008】
一実施の形態によれば、時間計測方法は、演算処理装置と、前記演算処理装置に制御される複数の周辺回路と、前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、を備えた半導体装置における時間計測方法であって、前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップを備える。
【0009】
一実施の形態によれば、時間計測プログラムは、演算処理装置と、前記演算処理装置に制御される複数の周辺回路と、前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、を備えた半導体装置における時間計測プログラムであって、前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップをコンピュータに実行させる。
【発明の効果】
【0010】
前記一実施の形態によれば、消費電流を低減することができる半導体装置、時間計測方法及び時間計測プログラムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】比較例に係る半導体装置を例示したブロック図である。
【
図2】比較例に係る半導体装置を例示したブロック図である。
【
図3】比較例に係る半導体装置において、演算処理装置、クロック生成回路、タイマ及び通信IPを例示したブロック図である。
【
図4】実施形態1に係る半導体装置を例示したブロック図である。
【
図5】比較例に係る半導体装置において、発振安定待ち回路を例示したブロック図である。
【
図6】比較例に係る半導体装置において、発振安定待ち回路を例示したブロック図である。
【
図7】実施形態1に係る半導体装置において、発振安定待ち回路及びタイミングマネジメント回路を例示したブロック図である。
【
図8】比較例に係る半導体装置において、発振安定待ち回路の構成を例示したブロック図である。
【
図9】実施形態1に係る半導体装置において、発振安定待ち回路及びタイミングマネジメント回路の構成を例示したブロック図である。
【
図10】実施形態1に係る半導体装置において、演算処理装置、記憶装置、タイマ及びタイミングマネジメント回路を例示したブロック図である。
【
図11】実施形態1に係る半導体装置において、クロック生成回路、タイマ、周辺回路、及び、タイミングマネジメント回路を例示したブロック図である。
【
図12】比較例に係る半導体装置において、タイマを例示したブロック図である。
【
図13】実施形態1に係る半導体装置において、タイマとタイミングマネジメント回路との関係を例示したブロック図である。
【
図14】比較例に係る半導体装置において、コンペアマッチタイマ動作の設定手順を例示したフローチャート図である。
【
図15】実施形態1に係る半導体装置において、コンペアマッチタイマ動作の設定手順を例示したフローチャート図である。
【
図16】実施形態1に係る半導体装置を例示したブロック図である。
【
図17】実施形態1に係る半導体装置において、クロック生成回路とタイミングマネジメント回路との関係、及び、タイミングマネジメント回路と周辺回路との関係を例示したブロック図である。
【
図18】実施形態1に係る半導体装置のタイミングマネジメント回路を例示したブロック図である。
【
図19】実施形態1に係る半導体装置において、1つの周辺回路から時間計測の要求を受けた単要求の場合におけるタイミングマネジメント回路のカウント動作を例示した図である。
【
図20】実施形態1に係る半導体装置において、複数の周辺回路から時間計測の要求を受けた多重要求の場合におけるタイミングマネジメント回路のカウント動作を例示した図である。
【
図21】実施形態1に係る半導体装置において、クロック生成回路及びタイミングマネジメント回路を例示したブロック図である。
【
図22】実施形態1に係る半導体装置において、タイミングマネジメント回路におけるタイミング生成回路と周辺回路との接続関係を例示したブロック図である。
【
図23】実施形態1に係る半導体装置において、タイミング生成回路の動作を例示したフローチャート図である。
【
図24】実施形態1に係る半導体装置において、1つの周辺回路から時間計測の要求を受けた単要求の場合におけるタイミングマネジメント回路のカウント動作を例示した図である。
【
図25】実施形態1に係る半導体装置において、複数の周辺回路から重複して時間計測の要求を受けた多重要求の場合におけるタイミングマネジメント回路のカウント動作を例示した図である。
【
図26】実施形態1に係る半導体装置において、複数の周辺回路から重複して時間計測の要求を受けた多重要求の場合におけるクロック信号の切り替えを伴うタイミングマネジメント回路のカウント動作を例示した図である。
【
図27】比較例に係る半導体装置において、時間計測での消費電流を例示したグラフであり、横軸は、電流を消費する部材を積み重ねた構成を示し、縦軸は、消費電流を示す。
【
図28】実施形態1に係る半導体装置において、時間計測での消費電流を例示したグラフであり、横軸は、電流を消費する部材を積み重ねた構成を示し、縦軸は、消費電流を示す。
【
図29】実施形態2に係る半導体装置を例示したブロック図である。
【
図30】実施形態3に係る半導体装置において、演算処理装置、クロック生成回路、タイマ、周辺回路、及び、タイミングマネジメント回路を例示したブロック図である。
【発明を実施するための形態】
【0012】
説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0013】
まず、<比較例>において、比較例に係る半導体装置を説明する。その後、<発明者が新たに見出した課題>において、比較例の半導体装置に対して、発明者が新たに見出した課題を説明する。そして、<実施形態1>において、実施形態1に係る半導体装置を説明する。なお、<実施形態1>においても、実施形態1に係る半導体装置の特徴を明確にするために、適宜、比較例の半導体装置と対比する。
【0014】
<比較例>
比較例に係る半導体装置を説明する。
図1及び
図2は、比較例に係る半導体装置を例示したブロック図である。
図1は、
図2の主要部の一部を一例として抽出したブロック図である。
図1に示すように、比較例の半導体装置101は、演算処理装置110、内部周辺バス111、クロック生成回路120、及び、複数のタイマ130を備えている。タイマ130は、レジスタ131、カウンタ回路132、及び、クロック選択回路133を有している。なお、図面に示した「CPU」、「INTERNAL PERIPHERAL BUS」、「TIMER」、「CLOCK GENERATION CIRCUIT」等の名称は、一例であり、これらに限定されない。
【0015】
演算処理装置110は、例えば、CPU(Central Processing Unit)である。なお、演算処理装置110は、半導体装置101内の他の装置及び回路の制御やデータの演算等の処理を行うものであれば、CPUに限らず、MPU(Micro Processor Unit)等でもよい。演算処理装置110は、内部周辺バス111に情報伝達が可能な状態で接続されている。
【0016】
クロック生成回路120は、クロック信号CLKを生成する。クロック信号CLKは、例えば、高電圧状態及び低電圧状態を周期的に繰り返す信号を含んでもよい。クロック生成回路120は、生成したクロック信号CLKを、複数のタイマ130に供給する。
【0017】
タイマ130は、内部周辺バス111に情報伝達が可能な状態で接続されている。例えば、複数のタイマ130の各レジスタ131は、内部周辺バス111に情報伝達が可能な状態で接続されている。レジスタ131は、カウンタ回路132及びクロック選択回路133を制御する。
【0018】
カウンタ回路132は、クロック信号CLKを用いて、時間計測を実行する。例えば、カウンタ回路132は、クロック信号CLKの高電圧状態または低電圧状態の数をカウントすることにより、時間計測を実行する。カウンタ回路132は、カウントしたカウント数を、時間計測の結果として、レジスタ131に出力する。
【0019】
クロック選択回路133は、クロック生成回路120からクロック信号CLKを受信する。クロック選択回路133は、受信したクロック信号CLKから所定のクロック信号CLKを選択する。クロック選択回路133は、レジスタ131による制御により、所定のクロック信号CLKを選択する。クロック選択回路133は、選択したクロック信号CLKをカウンタ回路132に供給する。クロック選択回路133は、クロック生成回路120におけるクロック信号CLKの生成を制御してもよい。
【0020】
図2に示すように、半導体装置101は、演算処理装置CPU、演算処理装置MPU、クロック生成回路120、記憶装置ROM、記憶装置RAM、三角関数演算器TFU、割り込みコントローラICU、データトランスファコントローラDTC、DMAコントローラDMAC、バスコントローラBSCを含んでもよい。また、半導体装置101は、タイマTMR、コンペアマッチタイマCMTW、温度センサ(TEMPERATURE SENSOR)、コンパレータ(COMPARATOR)、及び、D/Aコンバータ(CONVERTER)等の回路を含んでもよい。各回路は、命令バス(INSTRUCTION BUS)、オペラントバス(OPERANT BUS)、内部メインバス(INTERNAL MAIN BUS1及びBUS2)、内部周辺バス(INTERNAL OERIPHERAL BUS)等のバスと情報伝達が可能な状態で接続されてもよい。
【0021】
図3は、比較例に係る半導体装置101において、演算処理装置110、クロック生成回路120、タイマ130及び通信IP140を例示したブロック図である。
図3に示すように、半導体装置101は、演算処理装置110、クロック生成回路120、及び、複数のタイマ130に加えて、複数の通信IP140を備えてもよい。また、半導体装置101は、例えば、MCUを含んでもよい。
【0022】
クロック生成回路120は、発振器A121a、発振器B121b及び発振安定待ち回路123を有してもよい。発振安定待ち回路123は、発振器A121a及び発振器B121bの発振が安定するまで待つ機能を有している。発振安定待ち回路123は、発振器A121a及び発振器B121bの発振が安定するまでの時間を計測する機能を有している。
【0023】
<発明者が新たに見出した課題>
タイマ130及び通信IP140等の複数の周辺回路は、それぞれ、時間計測を行う機能を有している。したがって、発振安定待ち回路123、タイマ130、及び、通信IP140等の各回路は、それぞれの時間計測の機能によって、それぞれ同時に時間計測することができる。このような構成により、半導体装置101は、並列動作の自由度を向上させることができる。しかしながら、半導体装置101における各回路の時間計測を同時に動作させると、消費電流が増加する。また、時間計測のためにクロック信号CLKが供給される回路が多くなると、クロック動作に伴う消費電流も増加する。
【0024】
近年、バッテリを用いた長時間動作の要求や、MCUへの機能追加に伴って、半導体装置101に対して、さらなる低消費電力化が求められている。以下の実施形態では、冗長となる時間計測を行う回路を最適化することで、消費電流を低減する。
【0025】
<実施形態1>
次に、実施形態1に係る半導体装置を説明する。本実施形態の半導体装置は、例えば、MCUの中に、集中的に時間計測を実行する回路を有する。また、本実施形態の半導体装置は、タイマや通信IP等の周辺回路から時間計測の要求を受けるとともに、周辺回路へ時間計測の結果を応答するインターフェースを備える。以下の実施形態において、このような回路をタイミングマネジメント回路と呼ぶ。
【0026】
図4は、実施形態1に係る半導体装置1を例示したブロック図である。
図4に示すように、半導体装置1は、演算処理装置10、クロック生成回路20、タイマ30、通信IP40、及び、タイミングマネジメント回路50を備えている。クロック生成回路20は、発振器A21a、発振器B21b及び発振安定待ち回路23を有してもよい。タイミングマネジメント回路50は、時間計測を実行する機能を有している。半導体装置1は、タイマ30及び通信IP40等以外の複数の周辺回路を含んでもよい。複数の周辺回路は、演算処理装置10に制御されている。
【0027】
クロック生成回路20は、タイミングマネジメント回路50における時間計測の基準となるクロック信号CLKを生成する。クロック生成回路20における発振器A21aから生成されたクロック信号CLKは、発振安定待ち回路23を介して、演算処理装置10に供給されてもよい。発振器B21bから生成されたクロック信号CLKは、タイミングマネジメント回路50に供給されてもよい。
【0028】
タイミングマネジメント回路50は、クロック生成回路20と情報伝達可能な状態で接続されている。具体的には、タイミングマネジメント回路50は、発振安定待ち回路23と情報伝達可能な状態で接続されている。タイミングマネジメント回路50は、複数のタイマ30及び複数の通信IP40を含む周辺回路と情報伝達可能な状態で接続されてもよい。
【0029】
タイミングマネジメント回路50は、発振安定待ち回路23を制御する一方で、発振安定待ち回路23は、タイミングマネジメント回路50を制御する。例えば、発振安定待ち回路23は、タイミングマネジメント回路50に対して時間計測の要求を行う。一方、タイミングマネジメント回路50は、発振安定待ち回路23に対して時間計測の結果を出力する。
【0030】
また、タイミングマネジメント回路50は、複数のタイマ30及び複数の通信IP40を含む複数の周辺回路を制御する一方で、複数の周辺回路は、タイミングマネジメント回路50を制御する。例えば、タイマ30及び通信IP40等の周辺回路は、タイミングマネジメント回路50に対して時間計測の要求を行う。一方、タイミングマネジメント回路50は、周辺回路からの時間計測の要求に応じて実行した時間計測の結果を周辺回路に出力する。
【0031】
このように、タイミングマネジメント回路50は、様々な時間計測を必要とする回路と接続関係にある。タイミングマネジメント回路50は、供給されるクロック信号CLKを用いて時間を計測する機能をもつ。時間計測を必要とする周辺回路がタイミングマネジメント回路50に対して時間計測の開始要求を出すと、一定時間経過後に、タイミングマネジメント回路50は、時間計測の完了を通知する。タイミングマネジメント回路50は、時間計測の結果を出力してもよい。
【0032】
複数の周辺回路から時間計測の要求を受けた場合には、タイミングマネジメント回路50は、時間計測の各要求に応じて、時間計測を実行する。具体的には、タイミングマネジメント回路50は、複数の周辺回路のいずれかから第1の時間計測の第1の要求を受けると、第1の時間計測を開始する。タイミングマネジメント回路50は、第1の時間計測の実行中に、第2の時間計測の第2の要求を受けると、第1の時間計測を継続しながら、第2の時間計測を開始する。タイミングマネジメント回路50は、第1の要求を受けた周辺回路と異なる周辺回路から第2の要求を受けてもよい。場合によっては、タイミングマネジメント回路50は、第1の要求を受けた周辺回路から第2の要求を受けてもよい。
【0033】
また、本実施形態の半導体装置1における時間計測方法は、タイミングマネジメント回路50に、時間計測の各要求に応じて、時間計測を実行させるステップを備えている。時間計測を実行させるステップは、複数の周辺回路のいずれかから第1の時間計測の第1の要求を受けると、第1の時間計測を開始させるステップと、第1の時間計測の実施中に、第2の時間計測の第2の要求を受けると、第1の時間計測を継続しながら、第2の時間計測を開始させるステップと、を有する。
【0034】
時間計測が不要な期間では、タイミングマネジメント回路50は、内蔵された時間計測の機能を停止させる。したがって、タイミングマネジメント回路50は、周辺回路から時間計測の要求を受けることによって、時間計測を実行する。よって、要求を受けた全ての時間計測の結果を出力した後で、次の時間計測の要求を受けるまでは、タイミングマネジメント回路50は、時間計測を停止させる。
【0035】
図5及び
図6は、比較例に係る半導体装置101において、発振安定待ち回路123a~123eを例示したブロック図である。
図6は、
図5の主要部の一部を一例として抽出したブロック図である。
図7は、実施形態1に係る半導体装置1において、発振安定待ち回路23a~23c及びタイミングマネジメント回路50を例示したブロック図である。
【0036】
図5及び
図6に示すように、比較例に係る半導体装置101は、発振器A121a及び発振器B121bの他、複数の発振器121c~121e及び複数のオンチップオシレータ毎に発振安定待ち回路123a~123eを有している。そして、
図6に示すように、複数の発振安定待ち回路123a~123cは、それぞれ、時間計測を行う機能を有している。時間計測を行う機能は、例えば、カウンタが行ってもよい。
【0037】
一方、
図7に示すように、本実施形態の半導体装置1は、時間計測を行うカウンタの機能をタイミングマネジメント回路50が担っている。本実施形態に係る半導体装置1は、複数の発振器A21a及び発振器B21b、並びに、複数のオンチップオシレータ毎に発振安定待ち回路23a~23cを有している。発振器A21a、発振器B21b及び発振器21cが発振を開始するとき、発振安定待ち回路23a~23cは、タイミングマネジメント回路50に時間計測の要求(REQUEST)を出力する。そして、タイミングマネジメント回路50は、時間計測を行う機能を担っている。タイミングマネジメント回路50は、時間計測の結果(RESULT)を発振安定待ち回路23a~23cに対して出力する。
【0038】
図8は、比較例に係る半導体装置101において、発振安定待ち回路123a~123cを例示したブロック図である。
図9は、実施形態1に係る半導体装置1において、発振安定待ち回路23a~23c及びタイミングマネジメント回路50を例示したブロック図である。
【0039】
図8に示すように、比較例に係る半導体装置101において、発振安定待ち回路123a~123cは、時間計測を行う機能と、ANDゲート等のような論理ゲートとを有してもよい。例えば、計測時間が所定の安定化待ち時間に一致した場合にクロック信号CLKを出力してもよい。
【0040】
一方、
図9に示すように、本実施形態の半導体装置1において、発振安定待ち回路23a~23cは、ANDゲート等のような論理ゲートを有してもよい。発振安定待ち回路23a~23cは、タイミングマネジメント回路50に対して、時間計測の要求を行う。タイミングマネジメント回路50は、時間計測を行う機能を有している。タイミングマネジメント回路50は、時間計測の結果を、発振安定待ち回路23a~23cに対して出力する。発振安定待ち回路23a~23cは、タイミングマネジメント回路50が出力した計測時間が所定の安定待ち時間に一致した場合にクロック信号CLKを出力する。なお、
図8及び
図9において、発振安定待ち回路123a~123c、発振安定待ち回路23a~23c、及び、タイミングマネジメント回路50は、簡略化されている。実際は、クロックハザードを防ぐなど複雑な回路を有してもよい。
【0041】
図10は、実施形態1に係る半導体装置1における演算処理装置10、記憶装置12、タイマ30及びタイミングマネジメント回路50を例示したブロック図である。
図10に示すように、半導体装置1は、演算処理装置10、タイマ30及びタイミングマネジメント回路50に加えて、記憶装置12をさらに備えてもよい。タイマ30は、レジスタ31及びインターフェース回路34を有している。タイミングマネジメント回路50は、レジスタ51及びカウンタ回路52を有している。
【0042】
記憶装置12は、演算処理装置10を制御する命令コードを記憶する。例えば、記憶装置12は、ROM(Read Only Memory)を含んでもよい。なお、記憶装置12は、演算処理装置10を制御する命令コードを記憶するものであれば、ROMに限らず、他の記憶装置でもよい。記憶装置12は、演算処理装置10に命令コードを出力する。
【0043】
演算処理装置10は、記憶装置12に記憶された命令コードによって制御されている。演算処理装置10は、タイマ30及びタイミングマネジメント回路50を制御する。具体的には、演算処理装置10は、タイマ30のレジスタ31に命令コードを書き込むことでタイマ30の動作を設定する。また、演算処理装置10は、タイミングマネジメント回路50のレジスタ51に命令コードを書き込むことでタイミングマネジメント回路50の動作を設定する。
【0044】
レジスタ31は、内部周辺バス11に情報伝達可能な状態で接続されている。レジスタ31は、書き込まれた命令コードに従って、タイマ30の動作を制御する。インターフェース回路34は、レジスタ31に情報伝達可能な状態で接続されている。また、インターフェース回路34は、タイミングマネジメント回路50に情報伝達可能な状態で接続されている。タイマ30は、インターフェース回路34を介して、タイミングマネジメント回路50に対して時間計測の要求を行う。また、タイマ30は、インターフェース回路34を介して、タイミングマネジメント回路50から時間計測の結果を受け取る。
【0045】
レジスタ51は、内部周辺バス11に情報伝達可能な状態で接続されている。レジスタ51は、書き込まれた命令コードに従って、タイミングマネジメント回路50の動作を制御する。カウンタ回路52は、時間計測を実行する。カウンタ回路52は、クロック信号CLKの高電圧状態または低電圧状態の数をカウントすることにより、時間計測を実行する。タイミングマネジメント回路50は、タイマ30からの時間計測の要求を受けることによって、時間計測を実行し、実行した時間計測の結果をタイマ30に出力する。タイミングマネジメント回路50は、複数のタイマ30から時間計測の要求を受けてもよい。
【0046】
図11は、実施形態1に係る半導体装置1において、クロック生成回路20、タイマ30、周辺回路41及びタイミングマネジメント回路50を例示したブロック図である。周辺回路41は、例えば、タイマ30及び通信IP40を含んでもよい。
図11に示すように、クロック生成回路20は、発振回路A25a、発振回路B25b、分周回路27、分周回路28及び選択回路29を有している。
【0047】
タイミングマネジメント回路50は、カウンタ回路52、クロック制御回路53、タイミング生成回路54、及び、カウンタ値変換部55を有している。カウンタ回路52は、カウンタ部56を有している。タイミング生成回路54は、比較部57a、比較部57b、比較部57c、記憶部58a、記憶部58b、記憶部58c、及び、算出回路59を有している。
【0048】
発振回路A25aは、クロック信号CLKを生成する。発振回路A25aは、発振器A21aを含んでもよい。発振回路A25aは、生成したクロック信号CLKを選択回路29に出力する。発振回路A25aは、クロック制御回路53の制御により、クロック信号CLKを生成し、生成したクロック信号CLKを選択回路29に出力してもよい。
【0049】
発振回路B25bは、クロック信号CLKを生成する。発振回路B25bは、発振器B21bを含んでもよい。発振回路B25bは、生成したクロック信号CLKを選択回路29に出力する。また、発振回路B25bは、生成したクロック信号CLKを分周回路27に出力してもよい。さらに、発振回路B25bは、生成したクロック信号CLKを分周回路28に出力してもよい。発振回路B25bは、クロック制御回路53の制御により、クロック信号CLKを生成し、生成したクロック信号CLKを選択回路29、分周回路27及び分周回路28に出力してもよい。
【0050】
分周回路27は、クロック信号CLKを分周する。分周回路27は、分周して生成されたクロック信号CLKを選択回路29に出力する。また、分周回路28は、クロック信号CLKを分周する。分周回路28は、分周して生成されたクロック信号CLKを選択回路29に出力する。分周回路27及び分周回路28は、相互に異なる周波数のクロック信号CLKに分周してもよい。具体的には、分周回路27及び分周回路28は、発振回路B25bから生成された同じクロック信号CLKを用いて、それぞれ、相互に異なる周波数のクロック信号CLKを生成してもよい。
【0051】
選択回路29は、発振回路A25a、発振回路B25b、分周回路27及び分周回路28からクロック信号CLKを受信する。選択回路29は、受信した複数のクロック信号CLKからクロック信号CLKを選択してカウンタ回路52に出力する。例えば、選択回路29は、クロック制御回路53の制御により、複数のクロック信号CLKから所定のクロック信号CLKを選択してカウンタ回路52に出力する。選択回路29は、選択したクロック信号CLKをカウンタ回路52におけるカウンタ部56に出力する。
【0052】
このように、発振回路A25aは、第1のクロック信号CLKを生成する。発振回路B25bは、第1のクロック信号CLKと同じ周波数の第2のクロック信号CLKを生成してもよいし、第1のクロック信号CLKと異なる周波数の第2のクロック信号CLKを生成してもよい。分周回路27は、第2のクロック信号CLKを分周して第3のクロック信号CLKを生成する。分周回路28は、第2のクロック信号CLKを分周して第4のクロック信号CLKを生成する。分周回路28は、第3のクロック信号CLKと同じ周波数の第4のクロック信号CLKを生成してもよいし、第3のクロック信号CLKと異なる周波数の第4のクロック信号CLKを生成してもよい。選択回路29は、第1のクロック信号CLK、第2のクロック信号CLK、第3のクロック信号CLK、及び、第4のクロック信号CLKから、時間計測の要求に応じて時間計測に用いるクロック信号CLKを選択する。
【0053】
タイミングマネジメント回路50は、例えば、第1の時間計測及び第2の時間計測を実行する際に、クロック生成回路20から生成された同じクロック信号CLKに基づいて、第1の時間計測及び第2の時間計測を実行してもよい。また、タイミングマネジメント回路50は、第1の時間計測及び第2の時間計測を実行する際に、相互に異なるクロック信号CLKに基づいて、第1の時間計測及び第2の時間計測を実行してもよい。
【0054】
カウンタ回路52は、クロック信号CLKの高電圧状態または低電圧状態の数をカウントしたカウント数をカウンタ値として保持する。具体的には、カウンタ部56は、選択回路29からクロック信号CLKを受信する。カウンタ部56は、クロック信号CLKを用いて時間計測を実行する。カウンタ部56はカウンタ値を生成する。カウンタ部56は、生成したカウンタ値を、カウンタ値変換部55、比較部57a、比較部57b、及び、比較部57cに出力する。
【0055】
クロック制御回路53は、発振回路A25aにおけるクロック信号CLKの生成及び停止、並びに、発振回路B25bにおけるクロック信号CLKの生成及び停止を制御する。また、クロック制御回路53は、選択回路29におけるクロック信号CLKの選択を制御する。クロック制御回路53は、算出回路59の制御に基づいて、発振回路A25a、発振回路B25b、及び、選択回路29の動作を制御する。
【0056】
クロック制御回路53は、時間計測を要求した周辺回路41に基づいて、カウンタ部56で用いられるクロック信号CLKを選択する。例えば、クロック制御回路53は、時間計測を要求した周辺回路41が分解能の高い時間計測を必要とする場合には、高周波数のクロック信号CLKを選択する。
【0057】
タイミング生成回路54は、周辺回路41から時間計測の要求を受けるとともに、周辺回路41に対して時間計測の結果を出力する。算出回路59は、要求を受けた時間計測における計測時間と、クロック信号CLKと、から計測時間の目標のカウント数をターゲット値として算出する。このように、算出回路59は、クロック設定と計測時間とからターゲット値を算出する。算出回路59は、算出したターゲット値を記憶部58a~58cに記憶させる。
【0058】
比較部57a~57cは、カウンタ値とターゲット値とを比較する。カウンタ値は、クロック信号CLKの高電圧状態または低電圧状態の数をカウントしたカウント数である。記憶部58a~58cは、ターゲット値を記憶する。
【0059】
カウンタ値変換部55は、カウンタ回路52から受信したカウンタ値を変換して、タイマ30に出力する。周辺回路41がタイマ30であり、タイミングマネジメント回路50がタイマ30から時間計測の要求を受けた場合には、カウンタ値変換部55は、変換したカウンタ値をタイマ30に出力する。このように、タイミングマネジメント回路50は、周辺回路41の要求に応じて、カウンタ回路52のカウンタ値を変換して出力する機能を有してもよい。
【0060】
例えば、タイマ30がタイミングマネジメント回路50に対して時間計測を要求した時のタイマ30のカウンタ値が100であり、カウンタ回路52のカウンタ値が0であるとする。また、タイマ30とタイミングマネジメント回路50とで同じ周波数のクロック信号CLKを用いているとする。その場合に、カウンタ回路52のカウンタ値が、例えば、15の場合には、カウンタ値変換部55は、タイマ30に対して、115を出力する。
【0061】
また、例えば、タイマ30がタイミングマネジメント回路50に対して時間計測を要求した時のタイマ30のカウンタ値が100であり、カウンタ回路52のカウンタ値が0であるとする。また、タイマ30で用いられているクロック信号CLKの周波数は、タイミングマネジメント回路50で用いられているクロック信号CLKの周波数の2倍であるとする。その場合に、カウンタ回路52のカウンタ値が、例えば、15の場合には、カウンタ値変換部55は、タイマ30に対して、130を出力する。
【0062】
図12は、比較例に係る半導体装置101において、タイマ130a及び130bを例示したブロック図である。
図12に示すように、比較例に係る半導体装置101のタイマ130aは、比較器A0、比較器B0及びカウンタ回路TCNTを含む。タイマ130bは、比較器A1、比較器B1及びカウンタ回路TCNTを含む。なお、図が煩雑にならないように、いくつかの符号等を省略している。比較例の半導体装置101は、カウンタ回路TCNT及び比較器A0等を用いて時間計測を行う。
【0063】
比較例に係る半導体装置101において、複数のタイマ130a及び130b等のように、時間計測を必要とする複数の周辺回路41が接続され、各周辺回路41が時間計測を行う場合には、消費電流が増加する。
【0064】
図13は、実施形態1に係る半導体装置1において、タイマ30a及び30bとタイミングマネジメント回路50との関係を例示したブロック図である。
図13に示すように、本実施形態の半導体装置1は、タイマ30a及び30bに内蔵されたカウンタTCNTを使用しない。タイミングマネジメント回路50は、複数の時間計測の機能を有している。タイミングマネジメント回路50は、タイマ30a及び30bから時間計測の要求を入力され、時間計測した結果として、カウンタ値変換部55が変換したカウンタ値をタイマ30a及び30bに出力する。なお、比較器A0等は、タイミングマネジメント回路50にある比較部57a等を使用する構成、及び、タイマ30a及び30bに内蔵する比較器A0等を使う構成のどちらの構成でもよい。
【0065】
次に、コンペアマッチタイマへの適用例を説明する。本実施形態の半導体装置1は、コンペアマッチタイマ機能に対応させることができる。以下で、比較例と対比させながら、本実施形態の機能を説明する。
【0066】
図14は、比較例に係る半導体装置101において、コンペアマッチタイマ動作の設定手順を例示したフローチャート図である。
図14に示すように、比較例に係る半導体装置101において、コンペアマッチ機能を動作させるためには、まず、ステップS11に示すように、コンペアマッチ動作の許可を行う。具体的には、CMWIORレジスタによりコンペアマッチ動作を許可する。CMWIORレジスタは、例えば、タイマI/Oコントロールレジスタである。
【0067】
次に、ステップS12に示すように、コンペアマッチタイミングの設定を行う。具体的には、CMWCORレジスタにコンペアマッチを発生させるタイミングを設定する。CMWCORレジスタは、例えば、コンペアマッチコンスタントレジスタである。
【0068】
次に、ステップS13に示すように、カウント動作を開始させる。具体的には、CMWCRレジスタを設定し、CMWSTR.STRビットを”1”にしてカウント動作を開始させる。CMWCRレジスタは、例えば、タイマコントロールレジスタであり、CMWSTR.STRビットは、タイマスタートレジスタのビットである。そして、コンペアマッチコンスタントレジスタに設定したタイミングと一致するまでカウント動作を行う。このようにして、比較例の半導体装置101は、コンペアマッチ動作を行う。
【0069】
次に、本実施形態に係る半導体装置1に、コンペアマッチタイマ機能を適用させる例を説明する。本実施形態の半導体装置1は、タイマ30にカウンタ回路が設けられなくてもよい。
図15は、実施形態1に係る半導体装置1において、コンペアマッチタイマ動作の設定手順を例示したフローチャート図である。
図15におけるステップS21~ステップS22は、
図14におけるステップS11~ステップS12と同様である。
【0070】
次に、ステップS23に示すように、タイマ30は、タイミングマネジメント回路50に時間計測を要求する。これにより、タイミングマネジメント回路50は、時間計測を実行する。そして、タイミングマネジメント回路50は、時間計測の結果として、カウンタ値をタイマ30に出力する。したがって、ステップS24に示すように、タイマ30は、タイミングマネジメント回路50から時間計測の結果を受け取る。このようにして、本実施形態の半導体装置1において、タイマ30は、コンペマッチ動作を行うことができる。このように、本実施形態の半導体装置1は、タイミングマネジメント回路50に時間計測を実行させることにより、コンペアマッチタイマ機能等のような比較例の半導体装置101と同様の機能を動作させることができる。
【0071】
図16は、実施形態1に係る半導体装置1を例示したブロック図である。半導体装置1は、例えば、MCUを含む。
図16に示すように、半導体装置1は、演算処理装置10、記憶装置12、クロック生成回路20、タイマ30、通信IP40、及び、タイミングマネジメント回路50を備えている。タイマ30及び通信IP40を含む複数の周辺回路41は、時間計測を必要とする回路を含んでもよい。タイミングマネジメント回路50は、カウンタ回路52等の時間計測を行う回路を含んでいる。半導体装置1におけるタイマ30及び通信IP40を含む複数の周辺回路41は、他の半導体装置MCU1及びMCU2等に情報伝達が可能な状態で接続されてもよい。
【0072】
クロック生成回路20は、クロック生成機能及びクロック選択機能を有している。クロック生成回路20において、クロック生成機能は、例えば、前述の発振回路A25a、発振回路B25b、分周回路27及び分周回路28を含む。クロック選択機能は、前述の選択回路29を含む。演算処理装置10は、記憶装置12に書き込まれたプログラム(命令コード)を実行し、タイミングマネジメント回路50及び周辺回路41を設定する。
【0073】
図17は、実施形態1に係る半導体装置1において、クロック生成回路20とタイミングマネジメント回路50との関係、及び、タイミングマネジメント回路50と周辺回路41との関係を例示したブロック図である。
図17に示すように、タイミングマネジメント回路50は、時間計測用のカウンタ部56を含んでいる。また、タイミングマネジメント回路50は、クロック生成回路20を制御する。
【0074】
前述したように、クロック生成回路20は、発振回路A25a、発振回路B25b、分周回路27、分周回路28、及び、選択回路29を含んでいる。タイミングマネジメント回路50は、発振回路A25aの発振及び停止、発振回路B25bの発振及び停止、分周回路27及び28、並びに、選択回路29を制御する。そして、タイミングマネジメント回路50は、供給されるクロック信号CLKでカウンタ部56を動作させる。また、タイミングマネジメント回路50は、選択によってクロック信号CLKの周波数を調整する。さらに、タイミングマネジメント回路50は、不要な発振回路A25a及び発振回路B25bを停止することで消費電流を削減する。
【0075】
発振安定待ち回路23、周辺IP41a及び41b等を含む周辺回路41は、動作中にタイミング生成が必要なときに、時間計測の開始の要求をタイミングマネジメント回路50に出力する。予め計測時間が取り決められていない場合は、計測時間も通知する。タイミングマネジメント回路50は、要求を受けて時間計測を開始し、決められた時間が経過した後に、計測完了の通知を出力する。
【0076】
図18は、実施形態1に係る半導体装置1のタイミングマネジメント回路50を例示したブロック図である。
図18に示すように、タイミングマネジメント回路50は、カウンタ回路52、クロック制御回路53、及び、タイミング生成回路54を有している。タイミング生成回路54は、複数の周辺回路41からの要求を受けて、時間計測用のカウンタ回路52のカウント動作で必要となる最適なクロック信号CLKを選択する。そして、タイミング生成回路54は、選択したクロック信号CLKを供給するように、クロック制御回路53に要求する。カウンタ回路52は、タイミング生成回路54の制御に応じ、供給されるクロック信号CLKで必要な時間計測を行うためのカウント動作を実行する。
【0077】
図19は、実施形態1に係る半導体装置1において、1つの周辺回路41から時間計測の要求を受けた単要求の場合におけるタイミングマネジメント回路50のカウント動作を例示した図である。
図19に示すように、タイミング生成回路54は、1つの周辺回路41からの要求REQUEST1を受けて、時間計測用のカウンタ回路52のカウント動作で必要となる最適なクロック信号CLKを選択する。タイミング生成回路54は、選択したクロック信号CLKを供給するように、クロック制御回路53に要求する。カウンタ回路52は、タイミング生成回路54の制御に応じ、供給されるクロック信号CLKを用いて、時間計測を行うためのカウント動作を実行する。時間計測の完了END1の後に、タイミング生成回路54は、計測結果を周辺回路41に出力する。
【0078】
図20は、実施形態1に係る半導体装置1において、複数の周辺回路41から時間計測の要求を受けた多重要求の場合におけるタイミングマネジメント回路50のカウント動作を例示した図である。
図20に示すように、タイミング生成回路54は、まず、第1の周辺回路41からの要求REQUEST1を受けて、時間計測用のカウンタ回路52のカウント動作で必要となる最適なクロック信号CLKを選択する。そして、タイミング生成回路54は、選択した第1のクロック信号CLKを供給するように、クロック制御回路53に要求する。カウンタ回路52は、タイミング生成回路54の制御に応じ、供給される第1のクロック信号CLKを用いて、時間計測を行うためのカウント動作を実行する。
【0079】
次に、第2の周辺回路41からの要求REQUEST2を受けて、時間計測用のカウンタ回路52のカウント動作で必要となる最適なクロック信号CLKを選択する。そして、タイミング生成回路54は、選択した第2のクロック信号CLKを供給するように、クロック制御回路53に要求する。カウンタ回路52は、タイミング生成回路54の制御に応じ、供給される第2のクロック信号CLKを用いて、時間計測を行うためのカウント動作を実行する。
【0080】
次に、第2の周辺回路41からの要求REQUEST2による時間計測の完了END2の後に、タイミング生成回路54は、計測結果を第2の周辺回路41に出力する。次に、第1の周辺回路41からの要求REQUEST1による時間計測の完了END1の後に、タイミング生成回路54は、計測結果を第1の周辺回路41に出力する。この例では、第1のクロック信号CLKの周波数は、第2のクロック信号CLKの周波数よりも少ない。また、第1の周辺回路41からの要求REQUEST1により計測した計測時間は、第2の周辺回路41からの要求REQUEST2により計測した計測時間よりも長い。
【0081】
図21は、実施形態1に係る半導体装置1において、クロック生成回路20及びタイミングマネジメント回路50を例示したブロック図である。
図21に示すように、タイミングマネジメント回路50において、クロック制御回路53は、タイミング生成回路54からの要求を受けて、クロック生成回路20を制御する。例えば、分解能の高い時間計測が必要な場合は、高い周波数のクロック信号CLKを生成する発振器を動作させる。
【0082】
クロック制御回路53は、選択回路29を制御して、カウンタ回路52に供給するクロック信号CLKを選択する。また、クロック制御回路53は、選択回路29を制御して、分周回路27及び分周回路28の分周比を選択する。このようにして、クロック制御回路53は、必要最低限の周波数のクロック信号CLKをカウンタ回路52に供給させる。
【0083】
図22は、実施形態1に係る半導体装置1において、タイミングマネジメント回路50におけるタイミング生成回路54と周辺回路41との接続関係を例示したブロック図である。
図22に示すように、タイミング生成回路54は、ターゲット値を算出する算出回路59、カウンタ値とターゲット値とを比較する比較部57a~57c、及び、ターゲット値を記憶する記憶部58a~58cを備えている。なお、タイミングマネジメント回路50は、前述したカウンタ値変換部55を含まなくてもよい。
【0084】
図23は、実施形態1に係る半導体装置1において、タイミング生成回路54の動作を例示したフローチャート図である。
図23のステップS31に示すように、タイミング生成回路54は、周辺回路41から時間計測の開始の要求を受ける。次に、ステップS32に示すように、タイミング生成回路54は、クロック制御回路53から現在のクロック設定を取り込む。次に、ステップS33に示すように、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値を取り込む。
【0085】
次に、ステップS34に示すように、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、クロック信号CKLの周波数と、現在のカウンタ値とから、時間計測の目標カウント数となるターゲット値を算出する。算出回路59は、算出したターゲット値を記憶部58a~58cに記憶させる。
【0086】
次に、ステップS35に示すように、タイミング生成回路54は、必要であれば、クロック制御回路53にカウント用クロック信号CLKを変更させてもよい。また、タイミング生成回路54は、必要であれば、変更したクロック信号CLKに合わせて、ターゲット値を変更してもよい。例えば、他の時間計測の要求におけるクロック設定が異なる場合には、タイミング生成回路54は、カウント用クロック信号CLK及びターゲット値を変更する。
【0087】
次に、ステップS36に示すように、タイミング生成回路54は、カウンタ値とターゲット値とが一致するまで待つ。そして、ステップS37に示すように、カウンタ値とターゲット値とが一致したら、タイミング生成回路54は、時間計測の完了を周辺回路41に通知し、時間計測の結果を出力する。
【0088】
次に、ステップS38に示すように、タイミング生成回路54は、必要であれば、クロック制御回路53にクロック信号CLKを停止させ、カウンタ回路52にクロック信号CLKのカウントを停止させる。また、必要であれば、タイミング生成回路54は、カウント用クロック信号CLKをクロック制御回路53に変更させてもよい。また、タイミング生成回路54は、必要であれば、ターゲット値を変更してもよい。
【0089】
次に、1つの周辺回路41から時間計測の要求を受けた単要求の場合におけるタイミングマネジメント回路50のカウント動作を説明する。単要求の場合には、上述した
図23のタイミング生成回路54の動作をそのまま適用することができる。
【0090】
図24は、実施形態1に係る半導体装置1において、1つの周辺回路41から時間計測の要求を受けた単要求の場合におけるタイミングマネジメント回路50のカウント動作を例示した図である。
図24に示すように、タイミング生成回路54は、1つの周辺回路41から、時間計測(COUNT TIME1)の開始の要求(REQUEST1)を受ける。次に、タイミング生成回路54は、クロック制御回路53から現在のクロック設定(CLK SET A)を取り込む。次に、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値(AAA)を取り込む。
【0091】
次に、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、クロック信号CKLの周波数と、現在のカウンタ値(AAA)とから、時間計測の目標カウント数となるターゲット値(AAA+α)を算出する。次に、タイミング生成回路54は、カウンタ値がターゲット値(AAA+α)と一致するまで待つ。そして、カウンタ値とターゲット値とが一致したら、タイミング生成回路54は、時間計測の完了(END1)を周辺回路41に通知する。
【0092】
次に、タイミング生成回路54は、他の時間計測の要求がない場合には、クロック制御回路53にクロック信号CLKを停止させ、カウンタ回路52にクロック信号CLKのカウントを停止させてもよい。また、タイミング生成回路54は、クロック制御回路53にカウント用クロック信号CLKを変更させてもよい。
【0093】
次に、周辺回路41から時間計測(COUNT TIME2)の開始の要求(REQUEST2)を受けた場合には、タイミング生成回路54は、要求(REQUEST1)と同様に処理を行う。すなわち、タイミング生成回路54は、クロック制御回路53から現在のクロック設定(CLK SET B)を取り込み、カウンタ回路52から現在のカウンタ値(BBB)を取り込む。そして、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値(BBB+β)を算出する。カウンタ値とターゲット値とが一致したら、タイミング生成回路54は、時間計測の完了(END2)を周辺回路41に通知する。
【0094】
次に、複数の周辺回路41から重複して時間計測の要求を受けた多重要求の場合におけるタイミングマネジメント回路50のカウント動作を説明する。多重要求の場合には、上述した
図23のタイミング生成回路54の動作を重複させて適用することができる。
【0095】
図25は、実施形態1に係る半導体装置1において、複数の周辺回路41から重複して時間計測の要求を受けた多重要求の場合におけるタイミングマネジメント回路50のカウント動作を例示した図である。まず、クロック信号CLKの切り替えを伴わない場合を説明する。
図25に示すように、タイミング生成回路54は、周辺回路41から時間計測(COUNT TIME1)の開始の要求(REQUEST1)を受ける。次に、タイミング生成回路54は、クロック制御回路53から現在のクロック設定(CLK SET A)を取り込む。次に、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値(A)を取り込む。
【0096】
次に、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、クロック信号CKLの周波数と、現在のカウンタ値(A)とから、時間計測の目標カウント数となるターゲット値(TARGET VALUE 1)を算出する。次に、タイミング生成回路54は、カウンタ値がターゲット値(TARGET VALUE 1)と一致するまで待つ。
【0097】
多重要求の場合には、カウンタ値がターゲット値(TARGET VALUE 1)と一致するまで待つ間に、タイミング生成回路54は、周辺回路41から時間計測(COUNT TIME 2)の開始の要求(REQUEST2)を受ける。この場合には、タイミング生成回路54は、クロック制御回路53からクロック設定(CLK SET A)を取り込む。次に、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値(A+α)を取り込む。次に、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、クロック信号CKLの周波数と、現在のカウンタ値(A+α)とから、時間計測の目標カウント数となるターゲット値(TARGET VALUE 2)を算出する。次に、タイミング生成回路54は、カウンタ値がターゲット値(TARGET VALUE2)と一致するまで待つ。
【0098】
カウンタ値と、いずれかのターゲット値とが一致したら、タイミング生成回路54は、時間計測の完了(END1またはEND2)を周辺回路41に通知する。例えば、カウンタ値と、ターゲット値(TARGET VALUE 2)とが一致したら、タイミング生成回路54は、時間計測の完了(END2)を周辺回路41に通知する。次に、カウンタ値と、ターゲット値(TARGET VALUE 1)とが一致したら、タイミング生成回路54は、時間計測の完了(END1)を周辺回路41に通知する。
【0099】
次に、多重要求において、クロック信号CLKの切り替えを伴う場合のタイミングマネジメント回路50のカウント動作を説明する。
図26は、実施形態1に係る半導体装置1において、複数の周辺回路41から重複して時間計測の要求を受けた多重要求の場合におけるクロック信号CLKの切り替えを伴うタイミングマネジメント回路50のカウント動作を例示した図である。
図26に示すように、タイミング生成回路54は、周辺回路41から時間計測(COUNT TIME 1)の開始の要求(REQUEST1)を受ける。次に、タイミング生成回路54は、クロック制御回路53から現在のクロック設定(CLK SET A)を取り込む。次に、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値(A)を取り込む。
【0100】
次に、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、クロック信号CKLの周波数と、現在のカウンタ値(A)とから、時間計測の目標カウント数となるターゲット値(TARGET VALUE 1)を算出する。次に、タイミング生成回路54は、カウンタ値がターゲット値(TARGET VALUE 1)と一致するまで待つ。
【0101】
多重要求の場合には、カウンタ値がターゲット値(TARGET VALUE 1)と一致するまで待つ間に、タイミング生成回路54は、周辺回路41から時間計測(COUNT TIME 2)の開始の要求(REQUEST2)を受け取る。この例では、要求(REQUEST2)は、クロック信号CLKの切り替えを伴っている。この場合には、タイミング生成回路54は、クロック制御回路53にクロック設定を切り替えさせる。具体的には、タイミング生成回路54は、周辺回路41の要求(REQUEST2)に応じたクロック設定(CLK SET B)を取り込む。次に、タイミング生成回路54は、カウンタ回路52から現在のカウンタ値(A+α)を取り込む。
【0102】
次に、タイミング生成回路54は、クロック設定とカウンタ値とからターゲット値を算出する。具体的には、算出回路59は、要求(REQUEST2)に対応したクロック設定(CLK SET B)及びカウンタ値(A+α)から、要求(REQUEST2)のターゲット値(TARGET VALUE 2)を算出する。また、クロック信号CLKの切り替えに伴って、算出回路59は、要求(REQUEST1)に対応したターゲット値を再度、算出し直す。具体的には、算出回路59は、設定し直したクロック設定(CLK SET B)及びカウンタ値(A+α)から、ターゲット値(TARGET VALUE 11)を算出し直す。次に、タイミング生成回路54は、カウンタ値がターゲット値(TARGET VALUE 2)、または、ターゲット値(TARGET VALUE 11)と一致するまで待つ。
【0103】
カウンタ値と、いずれかのターゲット値とが一致したら、タイミング生成回路54は、時間計測の完了(END1またはEND2)を周辺回路41に通知する。例えば、カウンタ値と、ターゲット値(TARGET VALUE 2)とが一致したら、タイミング生成回路54は、時間計測の完了(END2)を周辺回路41に通知する。次に、カウンタ値と、ターゲット値(TARGET VALUE 11)とが一致したら、タイミング生成回路54は、時間計測の完了(END1)を周辺回路41に通知する。
【0104】
次に、本実施形態の効果を説明する。
図27は、比較例に係る半導体装置101において、時間計測での消費電流を例示したグラフであり、横軸は、電流を消費する部材を積み重ねた構成を示し、縦軸は、消費電流を示す。
図28は、実施形態1に係る半導体装置1において、時間計測での消費電流を例示したグラフであり、横軸は、電流を消費する部材を積み重ねた構成を示し、縦軸は、消費電流を示す。
【0105】
図27に示すように、比較例の半導体装置101において、タイマTMR0、タイマTMR1及びタイマTMR2を含む複数のタイマ30にそれぞれ設けられた時間計測の機能は、それぞれ時間計測を行う。そうすると、半導体装置101における消費電流は、タイマTMR0、タイマTMR1及びタイマTMR2が消費する消費電流である0.129mAにCTSバッファ電流を含めた電流量になる。
【0106】
一方、
図28に示すように、本実施形態の半導体装置1では、タイマTMR0、タイマTMR1及びタイマTMR2を含む複数のタイマ30における時間計測をタイミングマネジメント回路50が実行する。よって、複数の周辺回路41は、時間計測を実行する必要がないので、時間計測で消費される消費電流を低減させることができる。例えば、半導体装置1における消費電流は、タイミングマネジメント回路50が消費する消費電流である0.043mAにCTSバッファ電流を含めた電流量になる。
【0107】
また、クロック信号を供給する供給先を低減させることができるので、クロック信号CLKの伝達経路で消費する電流を低減させることができる。さらに、時間計測のクロック信号CLKを分配する分配量を低減させることができる。よって、クロック信号CLKの伝達系統を簡素化させることができる。これにより、タイミング設計を容易化することができ、CTSバッファの削減、つまり、クロック生成回路20の動作電流を低減させることができる。
【0108】
例えば、比較例の半導体装置101は、周辺回路として、回路PWMを7個、回路UARTを3個有している。回路PWM及び回路UARTは、時間計測を行う機能を有している。1つの回路PWMの消費電流は、例えば、0.18mAであり、1つの回路UARTの消費電流は、例えば、0.15mAである。そうすると、比較例の半導体装置101において、回路PWM及び回路UARTを動作させる消費電流は、0.18×7+0.15×3=1.71mAとなる。
【0109】
一方、本実施形態の半導体装置1は、周辺回路として、回路PWMを7個、回路UARTを3個の他に、さらに、時間計測を実行するタイミングマネジメント回路50を有している。そして、タイミングマネジメント回路50は、回路PWM及び回路UARTの時間計測を担っている。回路PWM及び回路UARTの消費電流のうち、時間計測の消費電流を70%程度と推定すると、1.71×0.7=1.20mAとなる。よって、回路PWM及び回路UARTの消費電流のうち、時間計測以外の消費電流は、1.71-1.20=0.51mAとなる。タイミングマネジメント回路50の時間計測の消費電流を0.1mAとすると、本実施形態の半導体装置1において、回路PWM及び回路UARTを動作させる消費電流は、0.51+0.1=0.61mAとなる。このように、本実施形態の半導体装置1は、消費電流を大幅に低減させることができる。
【0110】
<実施形態2>
次に、実施形態2に係る半導体装置を説明する。本実施形態の半導体装置は、多重要求に対応するために、発振回路毎に独立したカウンタ部を有している。前述の半導体装置1においては、カウンタ部56に供給するクロック源を、発振回路A25aまたは発振回路B25bに切り替える場合に、切り替えに時間を要することがある。多重要求が頻発すると、クロック信号CLKの切り替えとカウンタ動作が追従できなくなる恐れがある。そこで、本実施形態では、そのような多重要求の頻発に対する対策として、クロック信号CLKの切り替え時間が生じないように複数のカウンタ部を有している。
【0111】
図29は、実施形態2に係る半導体装置2を例示したブロック図である。
図29に示すように、本実施形態の半導体装置2におけるタイミングマネジメント回路50は、複数のカウンタ部A56a及びカウンタ部B56bを有している。カウンタ部A56a及びカウンタ部B56bは、それぞれ、クロック信号CLKを用いて時間計測を実行する。タイミング生成回路54は、カウンタ部A56a及びカウンタ部B56bのうち、どちらを使用するか、周辺回路41の時間計測の要求毎に選択する。クロック制御回路53は、時間計測の要求を行った周辺回路41に基づいて、カウンタ部A56a及びカウンタ部B56bで用いられるクロック信号CLKを選択する。クロック制御回路53は、各カウンタ部A56a及びカウンタ部B56bに異なるクロック信号CLKを選択してもよい。
【0112】
このような構成とすることにより、クロック信号CLKを切り替える場合の切り替え時間を低減することができる。よって、多重要求が頻発しても、クロック信号CLKの切り替えとカウンタ動作を追従させることができる。また、本実施形態のタイミングマネジメント回路50は、非同期クロック信号CLKの切り替えによる計測時間の誤差発生も解消することができる。
【0113】
<実施形態3>
次に、実施形態3に係る半導体装置を説明する。本実施形態の半導体装置は、タイミングマネジメント回路50以外の、例えば、周辺回路41に時間計測を行う機能を持たせている。
図30は、実施形態3に係る半導体装置3において、演算処理装置10、クロック生成回路20、タイマ30、周辺回路41、及び、タイミングマネジメント回路50を例示したブロック図である。
【0114】
図30に示すように、本実施形態の半導体装置3において、タイミングマネジメント回路50は、時間計測を行うことができる要求数に限りがあるカウンタ回路52を有し、通信IP40等の周辺回路41にもカウンタ回路等の時間計測を行うカウンタ機能を配置させている。そして、タイミングマネジメント回路50は、周辺回路41からの時間計測の要求の可否を判定する判定部60を有している。判定部60は、タイミングマネジメント回路50のカウンタ回路52のみで動作できると判定した場合は、周辺回路41からの時間計測の要求を受ける。よって、周辺回路41に配置されたカウンタ回路は動作しない。
【0115】
一方、判定部60は、実行中の時間計測を継続できない場合、及び、同時に計測できる時間計測の要求数の上限を超える場合の少なくともいずれかの場合に、周辺回路41からの時間計測の要求を拒否する。要求を拒否した場合には、判定部60は、周辺回路41に対して、周辺回路41が有するカウンタ機能を用いて時間計測を実行させる。例えば、時間計測の複数の要求が同時に発生して、タイミングマネジメント回路50において時間計測ができない場合は、周辺回路41に配置されたカウンタ回路等を動作させる。消費電流の削減効果は小さくなるが、半導体装置3における時間計測の動作を継続させることができる。
【0116】
なお、タイミングマネジメント回路50が時間計測を行うことができない場合とは、時間計測の複数の要求が同時に発生して、タイミングマネジメント回路50の許容範囲を超える場合に限らない。例えば、時間計測ができない場合とは、クロック信号CLKを切り替えると、動作中の時間計測を正確に継続することができなくなる場合を含んでもよい。また、時間計測ができない場合とは、タイミングマネジメント回路50と周辺回路41とのインターフェースI/Fの形式により、同時に時間計測の要求を受けられなくなる条件に達した時を含んでもよい。
【0117】
以上、本発明者によってなされた開示を実施の形態に基づき具体的に説明したが、本開示は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、以下に示すように、時間計測方法をコンピュータに実行させる時間計測プログラムも本実施形態1~3の技術思想の範囲内である。記憶装置12は、半導体装置1の各構成が行う処理をプログラムにして記憶してもよい。演算処理装置10は、記憶装置12からプログラムをメモリへ読み込ませ、当該プログラムを実行してもよい。これにより、演算処理装置10は、タイミングマネジメント回路50における各構成の機能を実現する。
【0118】
時間計測プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。時間計測プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0119】
(付記A1)
演算処理装置と、
前記演算処理装置に制御される複数の周辺回路と、
前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、
を備えた半導体装置における時間計測方法であって、
前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップを備えた、
時間計測方法。
(付記A2)
前記時間計測を実行させるステップは、
前記複数の前記周辺回路のいずれかから第1の時間計測の第1の要求を受けると、前記第1の時間計測を開始させるステップと、
前記第1の時間計測の実施中に、第2の時間計測の第2の要求を受けると、前記第1の時間計測を継続しながら、第2の時間計測を開始させるステップと、
を有する、
付記A1に記載の時間計測方法。
(付記A3)
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記時間計測を実行させるステップにおいて、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、前記クロック生成回路から生成された同じ前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
付記A2に記載の時間計測方法。
(付記A4)
前記時間計測を実行させるステップにおいて、
前記周辺回路から前記時間計測の前記要求を受けることによって、前記時間計測を実行させ、
前記要求を受けた全ての前記時間計測の結果を出力した後で、次の前記要求を受けるまでは、前記時間計測を停止させる、
付記A1に記載の時間計測方法。
(付記A5)
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記クロック生成回路は、
第1のクロック信号を生成する第1の発振回路と、
前記第1のクロック信号と異なる第2のクロック信号を生成する第2の発振回路と、
前記第2のクロック信号を分周して第3のクロック信号を生成する分周回路と、
前記第1のクロック信号、前記第2のクロック信号、及び、前記第3のクロック信号を含む複数の前記クロック信号から、前記要求に応じて前記時間計測に用いる前記クロック信号を選択する選択回路と、
を有し、
前記時間計測を実行させるステップにおいて、
前記選択回路における前記クロック信号の選択を制御させ、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、相互に異なる前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
付記A2に記載の時間計測方法。
(付記A6)
前記時間計測を実行させるステップにおいて、
前記第1の発振回路における前記第1のクロック信号の発振及び停止、並びに、前記第2の発振回路における前記第2のクロック信号の発振及び停止を制御させる、
付記A5に記載の時間計測方法。
(付記A7)
クロック信号は、高電圧状態及び低電圧状態を繰り返す信号を含み、
前記時間計測を実行させるステップは、
前記周辺回路から前記時間計測の前記要求を受けるステップと、
前記要求を受けた前記時間計測における計測時間と、前記クロック信号と、から前記計測時間の目標のカウント数をターゲット値として算出させるステップと、
前記ターゲット値を記憶させるステップと、
前記クロック信号の前記高電圧状態または前記低電圧状態の数をカウントした前記カウント数をカウンタ値として保持するステップと、
前記カウンタ値と前記ターゲット値とを比較するステップと、
前記カウンタ値と前記ターゲット値とが一致した場合に、前記周辺回路に前記時間計測の前記結果を出力するステップと、
を有する、
付記A1に記載の時間計測方法。
(付記A8)
前記時間計測を実行させるステップは、
前記時間計測を要求した前記周辺回路に基づいて、クロック信号を選択させるステップと、
前記クロック信号を用いて複数の前記時間計測を実行させるステップと、
を有し、
前記クロック信号を選択させるステップにおいて、
各時間計測に異なる前記クロック信号を選択させる、
付記A1に記載の時間計測方法。
(付記A9)
前記時間計測を実行させるステップは、
前記周辺回路からの前記時間計測の前記要求の可否を判定させるステップと、
実行中の前記時間計測を継続できない場合、及び、同時に計測できる前記時間計測の要求数の上限を超える場合の少なくともいずれかの場合に、前記要求を拒否させるステップと、
を有する、
付記A1に記載の時間計測方法。
(付記A10)
前記周辺回路は、前記時間計測を行うカウンタ機能を有し、
前記要求を拒否した場合に、前記周辺回路に前記周辺回路の前記カウンタ機能を用いて前記時間計測を実行させるステップをさらに備えた、
付記A9に記載の時間計測方法。
(付記A11)
前記周辺回路は、タイマであり、
前記時間計測を実行させるステップは、
前記タイマから前記時間計測の前記要求を受けた場合に、前記カウンタ値を変換するステップと、
変換した前記カウンタ値を前記タイマに出力させるステップと、
を有する、
付記A7に記載の時間計測方法。
(付記B1)
演算処理装置と、
前記演算処理装置に制御される複数の周辺回路と、
前記周辺回路からの時間計測の要求に応じて実行した前記時間計測の結果を前記周辺回路に出力するタイミングマネジメント回路と、
を備えた半導体装置における時間計測プログラムであって、
前記タイミングマネジメント回路に、前記時間計測の各要求に応じて、前記時間計測を実行させるステップをコンピュータに実行させる時間計測プログラム。
(付記B2)
前記時間計測を実行させるステップは、
前記複数の前記周辺回路のいずれかから第1の時間計測の第1の要求を受けると、前記第1の時間計測を開始させるステップと、
前記第1の時間計測の実施中に、第2の時間計測の第2の要求を受けると、前記第1の時間計測を継続しながら、第2の時間計測を開始させるステップと、
を有する、
付記B1に記載の時間計測プログラム。
(付記B3)
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記時間計測を実行させるステップにおいて、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、前記クロック生成回路から生成された同じ前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
付記B2に記載の時間計測プログラム。
(付記B4)
前記時間計測を実行させるステップにおいて、
前記周辺回路から前記時間計測の前記要求を受けることによって、前記時間計測を実行させ、
前記要求を受けた全ての前記時間計測の結果を出力した後で、次の前記要求を受けるまでは、前記時間計測を停止させる、
付記B1に記載の時間計測プログラム。
(付記B5)
前記半導体装置は、前記タイミングマネジメント回路における前記時間計測の基準となるクロック信号を生成するクロック生成回路をさらに備え、
前記クロック生成回路は、
第1のクロック信号を生成する第1の発振回路と、
前記第1のクロック信号と異なる第2のクロック信号を生成する第2の発振回路と、
前記第2のクロック信号を分周して第3のクロック信号を生成する分周回路と、
前記第1のクロック信号、前記第2のクロック信号、及び、前記第3のクロック信号を含む複数の前記クロック信号から、前記要求に応じて前記時間計測に用いる前記クロック信号を選択する選択回路と、
を有し、
前記時間計測を実行させるステップにおいて、
前記選択回路における前記クロック信号の選択を制御させ、
前記第1の時間計測及び前記第2の時間計測を実行させる際に、相互に異なる前記クロック信号に基づいて、前記第1の時間計測及び前記第2の時間計測を実行させる、
付記B2に記載の時間計測プログラム。
(付記B6)
前記時間計測を実行させるステップにおいて、
前記第1の発振回路における前記第1のクロック信号の発振及び停止、並びに、前記第2の発振回路における前記第2のクロック信号の発振及び停止を制御させる、
付記B5に記載の時間計測プログラム。
(付記B7)
クロック信号は、高電圧状態及び低電圧状態を繰り返す信号を含み、
前記時間計測を実行させるステップは、
前記周辺回路から前記時間計測の前記要求を受けるステップと、
前記要求を受けた前記時間計測における計測時間と、前記クロック信号と、から前記計測時間の目標のカウント数をターゲット値として算出させるステップと、
前記ターゲット値を記憶させるステップと、
前記クロック信号の前記高電圧状態または前記低電圧状態の数をカウントした前記カウント数をカウンタ値として保持するステップと、
前記カウンタ値と前記ターゲット値とを比較するステップと、
前記カウンタ値と前記ターゲット値とが一致した場合に、前記周辺回路に前記時間計測の前記結果を出力するステップと、
を有する、
付記B1に記載の時間計測プログラム。
(付記B8)
前記時間計測を実行させるステップは、
前記時間計測を要求した前記周辺回路に基づいて、クロック信号を選択させるステップと、
前記クロック信号を用いて複数の前記時間計測を実行させるステップと、
を有し、
前記クロック信号を選択させるステップにおいて、
各時間計測に異なる前記クロック信号を選択させる、
付記B1に記載の時間計測プログラム。
(付記B9)
前記時間計測を実行させるステップは、
前記周辺回路からの前記時間計測の前記要求の可否を判定させるステップと、
実行中の前記時間計測を継続できない場合、及び、同時に計測できる前記時間計測の要求数の上限を超える場合の少なくともいずれかの場合に、前記要求を拒否させるステップと、
を有する、
付記B1に記載の時間計測プログラム。
(付記B10)
前記周辺回路は、前記時間計測を行うカウンタ機能を有し、
前記要求を拒否した場合に、前記周辺回路に前記周辺回路の前記カウンタ機能を用いて前記時間計測を実行させるステップをさらに備えた、
付記B9に記載の時間計測プログラム。
(付記B11)
前記周辺回路は、タイマであり、
前記時間計測を実行させるステップは、
前記タイマから前記時間計測の前記要求を受けた場合に、前記カウンタ値を変換するステップと、
変換した前記カウンタ値を前記タイマに出力させるステップと、
を有する、
付記B7に記載の時間計測プログラム。
【符号の説明】
【0120】
1、2、3 半導体装置
10 演算処理装置
11 内部周辺バス
12 記憶装置
20 クロック生成回路
21a 発振器A
21b 発振器B
23、23a、23b、23c 発振安定待ち回路
25a 発振回路A
25b 発振回路B
27、28 分周回路
29 選択回路
30、30a、30b タイマ
31 レジスタ
34 インターフェース回路
40 通信IP
41 周辺回路
50 タイミングマネジメント回路
51 レジスタ
52 カウンタ回路
53 クロック制御回路
54 タイミング生成回路
55 カウンタ値変換部
56 カウンタ部
56a カウンタ部A
56b カウンタ部B
57a、57b、57c 比較部
58a、58b、58c 記憶部
59 算出回路
60 判定部
101 半導体装置
110 演算処理装置
111 内部周辺バス
120 クロック生成回路
121a 発振器A
121b 発振器B
121c、121d、121e 発振器
123、123a、123b、123c、123d、123e 発振安定待ち回路
130、130a、130b タイマ
131 レジスタ
132 カウンタ回路
133 クロック選択回路
140 通信IP
A0、A1 比較器
B0、B1 比較器
BSC バスコントローラ
CLK クロック信号
CMTW コンペアマッチタイマ
CPU、MPU 演算処理装置
DMAC DMAコントローラ
DTC データトランスファコントローラ
ICU 割り込みコントローラ
RAM、ROM 記憶装置
TCNT カウンタ回路
TFU 三角関数演算器
TMR タイマ