JP6585000B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP6585000B2
JP6585000B2 JP2016093696A JP2016093696A JP6585000B2 JP 6585000 B2 JP6585000 B2 JP 6585000B2 JP 2016093696 A JP2016093696 A JP 2016093696A JP 2016093696 A JP2016093696 A JP 2016093696A JP 6585000 B2 JP6585000 B2 JP 6585000B2
Authority
JP
Japan
Prior art keywords
circuit
information
clock
register
semiconductor integrated
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.)
Active
Application number
JP2016093696A
Other languages
English (en)
Other versions
JP2017204019A (ja
Inventor
照明 神▲崎▼
照明 神▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2016093696A priority Critical patent/JP6585000B2/ja
Priority to US15/473,813 priority patent/US10020799B2/en
Priority to CN201710321201.5A priority patent/CN107368145A/zh
Publication of JP2017204019A publication Critical patent/JP2017204019A/ja
Priority to US16/004,478 priority patent/US10361683B2/en
Application granted granted Critical
Publication of JP6585000B2 publication Critical patent/JP6585000B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • 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/06Clock generators producing several clock signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/10Regulating voltage or current
    • G05F1/46Regulating voltage or current wherein the variable actually regulated by the final control device is dc
    • G05F1/56Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/02Input circuits
    • H03K21/026Input circuits comprising logic circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00078Fixed delay

Description

本発明は、半導体集積回路に関し、特にレジスタ設定によって動作周波数を調整可能であり合せて動作モードを変更可能な半導体集積回路に好適に利用できるものである。
半導体集積回路(LSI:Large Scale Integrated circuit)、例えばマイクロコンピュータでは、高速なデータ演算などの高速な処理を実行する必要がある場合と、外部割り込みなどの待ち受けなど特に高速な処理を必要としない場合がある。このため、低消費電力化を目的として、プログラムで高速な処理を実行する場合には高速クロックを使用し、待ち受け時にはプログラムで低速クロックに切り替えるような使用形態が一般的である。
このため、マイクロコンピュータのハードウェアは、内部で複数種類の周波数のクロックを生成し、その間で動作クロックを切り替えるなどの方法によって、動作クロックの周波数を適宜変更することができるように構成されている。例えば、内蔵または外部に設置された発振器で生成されるクロックに対して、PLL(Phase Locked Loop)などを用いて高速クロックを生成し、このクロックを分周して低速クロックを生成する。また、複数の発振器、例えば時計用の32kHz発振器で生成される低速クロックを生成する。マイクロコンピュータは、動作クロック周波数をプログラムで適宜切り替えられる構成となっている。
このように、マイクロコンピュータでは、低速クロックから高速クロックまでの種々の周波数のクロックで動作させる必要があるが、内部回路のトランジスタの電流駆動能力を高速動作が可能なように合わせ込み、低速クロックでもそのまま動作させると、低速クロック領域ではトランジスタが必要以上の電流駆動能力を持つこととなり、電力効率が悪化していた。これに対して、低消費電力化を行うため、従来、例えば以下のような種々の方策がとられてきた。
(1)低速クロックでは、内蔵する降圧レギュレータの電圧を低くして消費電力を抑える。
(2)低速クロックでは、内蔵する降圧レギュレータの電流供給能力を低くし、あるいはその数を少なくして、レギュレータの固定電流を削減する。
(3)内蔵メモリでは、高速クロックで動作するときには、高速読み出しのため常時センスアンプを動作させるのに対して、低速クロックで動作するときには、読み出し要求が発生したときだけセンスアンプを動作させる。
一方、半導体集積回路の外部から供給されるクロック信号の周波数の高低や範囲を検出して、内部回路へ供給する電源電圧を変更し、或いは、動作モードを変更する技術が、以下のように提案されている。
特許文献1には、入力されるクロック信号の周波数を検出する回路手段として、微分回路と積分回路とコンパレータとを備える、集積回路が開示されている。入力されたクロック信号を微分回路で微分した後に、積分回路を通すことによって、周波数に依存する電圧レベルを出力し、コンパレータで所定のレベルと比較する。通常クロックが入力された場合は周波数が高いので積分回路の出力レベルは高く、上記所定のレベルを超える一方、テスト用クロックが入力されたときには、その周波数が低いため、積分回路の出力レベルは低く、上記所定のレベルを超えない。コンパレータの出力に応じて通常動作モードかテストモードかを切替えることによって、モード切替端子をさらに設けて端子数を増やす必要がない。
特許文献2には、機能回路ブロックへ供給される動作電圧をシステムの動作速度に応じて変更することができる動作電圧変換装置を備えた、集積回路装置が開示されている。動作電圧変換装置は、入力されるクロックの周波数を検出する周波数検出回路と、複数電圧の動作電圧を発生する低電圧電源回路と、検出された周波数に応じて動作電圧を選択する電源選択回路とを有する。
特許文献3には、入力クロック同期信号を基に高速動作であるか低速動作であるかを判断して、内部回路を切り替えることにより高速動作及び低消費電力動作の何れにも対応可能な半導体装置が開示されている。入力される入力クロックに対して所定の位相関係を有した内部クロックを生成するクロック生成回路と、クロック生成回路の内部信号に基づいて入力クロックの周期を判定する判定回路と、判定回路の判定結果に応じて動作モードを切り替える内部回路を含んで構成される。
特開昭57−111714号公報 特開昭58−171842号公報 特開平10−209284号公報
半導体集積回路、特に例えばマイクロコンピュータなどの汎用な半導体集積回路では、レジスタ設定などによって、動作周波数を広範囲かつ動的に変更することができる。また、このような半導体集積回路の内部回路は、動作周波数に応じた種々の動作モードを有し、これもレジスタ設定によって自由に変更することができる。動作周波数を規定するレジスタ設定と内部回路の動作モードを規定するレジスタ設定は、いずれも実行されるプログラムの中で行われるが、動作周波数の設定変更に伴って、内部回路の動作モードを適切に変更する必要があるため、プログラム設計者への負担が重いという課題がある。
内部回路の動作モードを適切に設定するためには、そのときの動作周波数を的確に把握している必要がある。しかしながら、複数かつ多重の割り込みの発生、例外処理の発生などに伴って、当該プログラムの実行中に常にそのときの動作周波数を正確に把握することが、プログラム設計者にとって重い負担となることがわかった。さらに、動作周波数が低い期間に内部回路が高い動作周波数に動作モードに設定されていても、機能の上では正常に動作するため、電力効率が低下していることを簡便に検知することができないという問題があることもわかった。例えばプログラムの開発段階で電力効率が低下したままでのプログラム検証を進めた後に、電力効率の低下の問題が発見されると、動作モード設定を適正に変更した後にもう一度プログラム検証を行う必要が生じる場合もあり得る。
また、半導体集積回路の消費電力の無駄をさらに減らすために、内部回路の動作モードは、より細かく細分化されていく傾向にある。そのため、プログラム設計者への負担もより重くなる傾向にある。
これに対して、特許文献1、2及び3に記載される技術を採用すれば、動作周波数を測定して自動的に(自律的に)内部回路の動作モードを適切に変更することができるものと期待される。そこで、特許文献1、2及び3について本発明者が検討した結果、以下のような新たな課題があることがわかった。
特許文献1に記載される技術は、2通りの動作モード(通常モードとテストモード)を、入力されたクロック周波数の高低によって判別することができる回路であるから、閾値となる周波数は微分回路と積分回路の回路定数によって規定されるので、判定のための回路規模が大きい。動作周波数を多段階で判定しようとすれば、その回路規模はますます増大する。
特許文献2に記載される技術では、周波数範囲を多段階で検出することができるものの、主にカウンタ回路で構成される周波数検出回路と多階調のアナログ電圧レベルを発生する定電圧発生回路と、比較回路(電圧選択回路)によって構成されるため、やはり回路規模が大きい。
特許文献3に記載される技術においても、入力される入力クロックに対して所定の位相関係を有した内部クロックを生成するクロック生成回路と判定回路とを搭載する必要がある。
動作周波数を測定しまたは判定するためには、いずれの技術によっても、規模の大きい回路を搭載する必要があり、回路規模を増加させる要因となる。
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態によれば、下記の通りである。
すなわち、供給されるパラメータに応じてクロック源から内部クロックを生成する内部クロック生成回路と、クロック源の周波数情報を格納するレジスタと、前記パラメータを格納するレジスタと、複数の動作モードを有する内部回路とを備える半導体集積回路において、レジスタから供給される周波数情報とパラメータとに対応づけて内部回路の動作モードを制御するテーブル回路を備える。
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、周波数測定回路や周波数判定回路などの大規模な回路を搭載することなく、内部回路の動作モードが内部クロックの周波数に応じて変更されるため、プログラム上の負担を軽減することができる。
図1は、実施形態1の半導体集積回路の構成例を示すブロック図である。 図2は、レジスタの構成例を示す回路図である。 図3は、テーブル回路の構成例を示す回路ブロック図である。 図4は、テーブル回路の機能の一例を示す真理値表である。 図5は、実施形態1の半導体集積回路の動作例を示すフロー図である。 図6は、テーブル回路の実施形態2の構成例を示す回路ブロック図である。 図7は、図6のテーブル回路の機能の一例を示す真理値表である。 図8は、半導体集積回路で実行されるプログラムコードの生成手順を示すフローチャートである。 図9は、テーブル回路の後段に設ける制御信号の遅延を制御する回路の動作例を示す波形図である。 図10は、テーブル回路の後段に設ける制御信号の遅延を制御する回路の構成例を示す回路図である。 図11は、実施形態4の半導体集積回路におけるレジスタとテーブル回路の周辺の構成例を示すブロック図である。 図12は、実施形態4のテーブル回路の構成例を示す回路ブロック図である。 図13は、実施形態4のテーブル回路の機能の一例を示す真理値表である。 図14は、課題検討用の半導体集積回路の構成例を示すブロック図である。 図15は、図14の半導体集積回路の動作例を示すフロー図である。
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
〔検討例〕
発明を実施するための形態について説明する前に、発明が解決しようとする課題について、より具体的な検討例をあげて説明する。
図14は、本発明者が作成した、課題検討用の半導体集積回路1の構成例を示すブロック図である。「背景技術」の(2)に示した技術に対応するものであって、1は半導体集積回路であり、マイクロコンピュータを例にとって説明する。図中の配線は、それぞれ任意の本数の信号線で実装されるが、図では1本か複数本かの区別はせず、所謂ベクトル表記は省略されている。このことは、本願における他の図面についても同様であり、所謂ベクトル表記は省略される場合がある。
2はCPU(Central Processing Unit)、3は不揮発性で書き替え可能なメモリ、4と5はタイマなど任意の機能(「機能A」、「機能B」で示す)を有する機能モジュールであり、バス18を介して互いに接続されている。6は発振器、7はPLL(Phase Locked Loop)、8と9はセレクタ、10は内蔵発振器、11と12はクロックをそれぞれ2分周と4分周する分周器であり、全体として内部クロック19を生成する内部クロック生成回路を構成している。ただし、「内部クロック生成回路」という階層は、図示が省略されている。
外部に発振子26が接続された発振器6はクロック源信号を生成し、PLL7を介して逓倍クロックを生成する。一方、内蔵発振器10は、例えば1MHzの内蔵クロック源信号を生成する。セレクタ8は逓倍クロックか内蔵発振器10によって生成された内蔵クロック源信号かを選択し、更にセレクタ9は、前記セレクタ8の出力(分周なし)か、前記セレクタ8の出力が分周器11で2分周されたクロックか、前記セレクタ8の出力が分周器12で4分周されたクロックかを選択して、内部クロック19として出力する。内部クロック19は、CPU2、メモリ3、機能モジュール4及び5などの内部回路に供給される。
6a、7a、8a、9aは、メモリ3に格納されたプログラムをCPU2が実行することによって、バス18を介して書き込みと読み出しができるレジスタである。レジスタ6a、7a、8a、9aは、内部クロック生成回路に対してパラメータを供給する。内部クロック生成回路は供給されるパラメータに基づいて、クロック源信号または内蔵クロック源信号などのクロック源から内部クロック信号19を生成する。例えば、レジスタ6aから供給されるパラメータ6bによって発振器6が制御され、“0”で停止、“1”で動作とされる。レジスタ7aから供給されるパラメータ7bによってPLL7が制御され、“0”でPLLが動作を停止してクロック源信号を逓倍せずに出力し、“1”でPLLによる逓倍動作を行う。レジスタ8aから供給されるパラメータ8bによってセレクタ8が制御され、“0”で内蔵発振器(1MHz)10の内蔵クロック源信号を選択し、“1”でPLL7から出力される逓倍クロックを選択する。レジスタ9aから供給されるパラメータ9bによってセレクタ9が制御され、“0”で分周器12(4分周)を選択、“1”で分周器11(2分周)を選択、“2”でセレクタ8の出力(分周なし)を選択する。
21はリセット端子であり、リセット信号Reset_nにより、半導体集積回路1の種々の内部回路の初期化を行う。
13、14、15は降圧レギュレータであり、低速用降圧レギュレータ13、中速用降圧レギュレータ14、及び、高速用降圧レギュレータ15で構成され、電源端子20から供給される外部電源を降圧し、半導体集積回路1に内部電源を供給する。14a及び15aは、メモリ3に格納されたプログラムをCPU2が実行することによって、バス18を介して書き込みや読み出しができるレジスタであり、中速用降圧レギュレータ14及び高速用降圧レギュレータ15に対して制御信号14b及び15bを供給する。低速用降圧レギュレータ13は常時動作する。中速用降圧レギュレータ14はレジスタ14aから供給される制御信号14bによって制御され、高速用降圧レギュレータ15はレジスタ15aから供給される制御信号15bによって制御される。例えば、中速用降圧レギュレータ14は制御信号14bが“0”で動作、“1”で停止、高速用降圧レギュレータ15は制御信号15bが“0”で動作、“1”で停止とされる。
これらレギュレータ13、14、15は、その組み合わせによって、半導体集積回路1の動作周波数に応じた電流量の内部電源を供給することができる。例えば、高速動作時には、消費電力が大きいので内部電源に供給すべき電流量も大きいため、すべてのレギュレータ13、14及び15を動作させる。中速動作時には消費電力が中程度となるので内部電源に供給すべき電流量も中程度となるため、低速用降圧レギュレータ13と中速用降圧レギュレータ14とを動作させるが、高速用降圧レギュレータ15は停止させる。低速動作時には消費電力が最低となるので内部電源に供給すべき電流量も最小となるため、低速用降圧レギュレータ13のみを動作させ、中速用降圧レギュレータ14と高速用降圧レギュレータ15とは停止させる。レギュレータ13、14、15は、その電流供給能力に応じて固定電流を消費するため、必要最小限のレギュレータのみを動作させ、他のレギュレータを停止させることによって、レギュレータの固定電流に起因する、半導体集積回路1の消費電流を削減することができる。
機能モジュール4及び5には、それぞれレベルシフタ22を介してI/O23が接続され、外部端子24及び25を介して外部との信号のやり取りを行う。レベルシフタ22は、降圧レギュレータ13、14、15で生成された内部電源と電源端子20から供給される外部電源との間で電圧レベルの変換を行い、外部電源で動作するI/O23との間での信号の交換を助ける。機能モジュール4及び5には、AND回路16及び17が接続され、内部クロック信号19をゲーティングして供給する。4aと5aは、メモリ3に格納されたプログラムをCPU2が実行することによって、バス18を介して書き込みと読み出しができるレジスタであり、AND回路16と17に対して制御信号4b及び5bを供給する。CPU2は機能モジュール4が使用されない場合に、レジスタ4aに内部クロック信号19の供給を停止する制御情報を書き込むことによって、機能モジュール4の動作を停止させる。機能モジュール5及びレジスタ5aについても同様である。
図15は、図14に示した課題検討用の半導体集積回路1の動作例を示すフロー図である。半導体集積回路1が、レギュレータ13〜15の電流供給能力に応じて以下の3つの動作モードを備え、相互間で遷移するものとした場合の例である。
高速動作モードでは、すべてのレギュレータ13、14及び15が動作し、PLL7、セレクタ9の分周なし経路を使用した高速演算が実行可能である。
中速動作モードでは、高速用降圧レギュレータ15が停止し、中速用降圧レギュレータ14と低速用降圧レギュレータ13が動作し、PLL7、セレクタ9の4分周の経路を使用した中速演算が実行可能である。
低速動作モードでは、中速用降圧レギュレータ14と高速用降圧レギュレータ15とが停止し、低速用降圧レギュレータ13のみが動作し、内蔵発振器10を用いた、低速演算を実行するかまたは待機状態となり得る。
図15の動作フローには、初めに、内蔵発振器10を用いた低速演算を行い、次に、PLL7、セレクタ9の分周なし経路を使用した高速演算を行い、次に、PLL7、セレクタ9の4分周の経路を使用した中速演算を行い、最後に、内蔵発振器10を用いた待機状態に遷移する場合の、低消費電力制御の動作を示す。
動作フローについて説明する。
電源投入ステップ(S1)では、電源端子20へ電源が印加される。
リセット、リセット解除ステップ(S2)では、リセット端子21からリセット信号がアサートされその後解除されて、半導体集積回路1が動作を開始する。リセットでは、レジスタ4a〜9a、14a並びに15aは“0”にクリアされるものとする。すなわち、レジスタ出力信号4b〜9bにより、クロック19はセレクタ8と分周器12(4分周)とセレクタ9を介して、内蔵発振器(1MHz)6が選択される。また、機能モジュール(機能A)4のクロックはレジスタ4aの値“0”が信号4bを介してAND回路16に入力され、クロックが非供給となる。同様に機能モジュール(機能B)5のクロックはレジスタ5aの値“0”が信号5bを介してAND回路17に入力され、クロックが非供給となる。更に、レギュレータ14は、レジスタ14aの値“0”が信号14bを介して接続されて動作状態となり、レギュレータ15はレジスタ15aの値“0”が信号15bを介して接続されて動作状態となる。即ち、クロック19からは低速クロックが供給されるが、動作モードとしては、電流供給能力が最大の高速動作モードとなる。
次に不揮発性メモリ3に格納されたトリミングデータを読み出して、内蔵機能をトリミングする(S3)。
次にプログラムコードの実行を開始し、CPU2がメモリ3に保持されたプログラムコードを実行する(S4)。この時点では、クロック19からは低速クロックが供給され、動作モードは高速動作モードである。
次に、動作モードを高速動作モードから低速動作モードに移行する(S5)。つまり、CPU2を使用して、レジスタ14aとレジスタ15aに“1”を書き込む。これにより、中速用降圧レギュレータ14と高速用降圧レギュレータ15とが停止し、低消費電力のモードに移行する。
次に演算1を実行する(S6)。この演算1は、クロック19から供給される低速クロックに同期して、低速で演算処理される。
次に、動作モードを低速動作モードから高速動作モードに移行する(S7)。つまり、CPU2を使用して、レジスタ14aとレジスタ15aに“0”を書き込み、中速用降圧レギュレータ14と高速用降圧レギュレータ15の動作を再開させる。これによって低消費電力のモードが解除される。このステップは、高速演算を実行するための準備である。
次に、クロック設定1を行う(S8)。レジスタ6a、7a、9aを設定して、外部発振子26、発振器6、PLL7の経路を活性化し、さらにセレクタ9で分周なしの出力を選択する。
次に、クロック設定2を行う(S9)。すなわち、セレクタ8でPLL7を選択することで、クロック19へのクロック信号の供給には、外部発振子26の経路が選択され、高速クロックが供給される。
次に、演算2を行う(S10)。演算2は、高速クロックに同期して、高速に演算処理される。このとき、ステップS7において予め高速動作モードに変更されているので、レギュレータ13、14及び15からの電流供給は十分に大きい。
次に、クロック設定3を行う(S11)。セレクタ9で“0”、すなわち分周器12(4分周)を選択して、クロック19をPLL7の4分周にする。クロック19に供給されるクロックは、中速クロックに変更される。
次に、動作モードを高速動作モードから中速動作モードに切り替える(S12)。つまり、レジスタ14aに“0”、レジスタ15aに“1”をCPU2で書き込む。
次に演算3を実行する(S13)。この演算3は、クロック19から供給される中速クロックに同期して、中速で演算処理される。
次に、クロック設定4を行う(S14)。セレクタ8で内蔵発振器10を選択する。内蔵発振器10、セレクタ9の状態は変更しない。すなわちクロック19は、内蔵発振器10から分周器12(4分周)の経路で供給される、低速クロックに変更される。
次に、動作モードを中速動作モードから低速動作モードに切り替える(S15)。つまりレジスタ14aとレジスタ15aに“1”をCPU2で書き込み、高速用降圧レギュレータ15に加えて中速用降圧レギュレータ14も停止させる。これによってさらに低消費電力のモードに移行する。
次に、待機状態に入る(S16)。外部割り込み等の待ち受け状態である。
なお、ステップS3に示す内蔵機能のトリミングは、レギュレータ13~15や内蔵するアナログ回路などの基準電圧や電流源などを、不揮発性メモリに保持したデータ(トリミング値)で調整するものであり、一般的な機能なのでここでは詳細な説明は省略する。
以上のように、クロック19から供給するクロック信号の周波数設定(高速/中速/低速クロック)と、レギュレータ13~15の動作/停止によって制御される電流供給能力と固定電流の調整とは、CPU2で実行されるプログラムによって、適切に設定変更される必要がある。例えば、ステップS10において演算2を高速で演算処理するためには、その前にクロック19を高速クロックに変更し、動作モードを高速動作モードに変更しておく必要がある。また例えば、ステップ16において待機状態において消費電力を最小限に抑えるためには、その前にクロック19を低速クロックに変更し、動作モードを低速動作モードに変更しておく必要がある。このため、クロック19の周波数を変更する各ステップ(S8,S9,S11,S14)に対応して、動作モードを適宜変更するレジスタ設定のための各ステップ(S5,S7,S12,S15)が必要となる。
この方法では、内部クロックの状態を常に的確に把握している必要があるため、複数割り込み、多重に生じる割り込みなどの例外処理などを常に把握しておく必要があり、使い勝手が悪いという課題がある。また、この検討例では3つのモードを例としたが、きめ細かく電力を制御するため、より多くのモードを備えた場合などは、使い勝手がさらに悪くなる。
さらに詳しく説明する。
上述の例ではクロック周波数を高/中/低の3通り、動作モードを同じく高速/中速/低速の3通りとし、高速クロックには高速動作モードが適し、中速クロックには中速動作モードが適し、低速クロックには低速動作モードが適するというように、1:1に対応付けている。しかし、クロック周波数は外付けされる発振子26によって、任意に与えられるので、実際には具体的な動作周波数(絶対値)に基づいて、適切な動作モードが対応付けられることとなる。また、この検討例ではクロック信号をクロック19のみの1系統として説明したが、実際には複数のクロック系統が実装され、それぞれの周波数が可変とされる場合が少なくない。その場合の各クロックの周波数の組合せと適切な動作モードの対応関係は、複雑なものとなる。
次に、設定の順序の問題がある。動作モードをレギュレータの電流供給能力として説明したこの検討例では、高速動作モードでは高速、中速、低速のいづれのクロックでの動作も機能的な問題はない。中速、低速の場合にはレギュレータが必要最小限ではない分だけ、余計に固定電流を消費する問題があるだけである。一方、低速動作モードで中速または高速クロックを供給して演算処理などを実行すると、消費電流の供給不足により、機能的な不具合が発生する恐れがある。したがって、クロックを低速から高速に変更する場合にはクロックの変更よりも前に、動作モードを高速動作モードに変更しておく必要がある。逆にクロックを高速から低速に変更する場合には、クロックを変更した後に動作モードを変更する必要がある。このように、クロック周波数を変更しようとする場合には、その変更が周波数を高くする変更であるのか、低くする変更であるのかによって、動作モードの変更をクロック変更の前に行うか後で行うかを適切にプログラミングする必要がある。
このように、クロック周波数の変更は、これから実行する処理に適する周波数に設定すればよいというわけではなく、そのクロックの設定変更がクロック周波数を高くする方向か低くする方向か或いは変更する必要がないかまで把握する必要がある。また、同様にこれから実行する処理に応じた動作モードに、単純に変更すればよいというわけではなく、クロックの設定変更よりも前に行うべきか後で行うべきか、或いは変更する必要がないかを、適切に判断する必要がある。プログラミングでは、これから実行する処理に適するクロック周波数と動作モードを適切に把握することは容易である。処理の内容に応じて規定される仕様であって、静的なものだからである。これに対して、そのための設定変更を行う時点で、どのようなクロック周波数、どのような動作モードで動作しているかを把握することは、容易とはいえない。設定変更を行う時点のクロック周波数と動作モードは、複数の割り込みや多重の割り込みなどによって、動的に変わり得るからである。このため、クロック周波数と動作モードを保持するグローバル変数を準備し、設定変更の前に読み出して確認し、それによって、設定変更の要否と順序を変更するなどの処理ステップを、プログラム中に追加しておくなど別途の解決手段が必要となる。このため、使い勝手が悪いという課題となる。
〔実施形態1〕
図1は、本実施形態1の半導体集積回路1の構成例を示すブロック図である。上述の検討例と同様に、マイクロコンピュータを例にとって説明する。本実施形態1の半導体集積回路1は、図14に示した検討例の半導体集積回路1と同じ構成要素を含み、さらにレジスタ30とテーブル回路31を備える一方、レジスタ14a及び15aは省略される。検討例の半導体集積回路1に搭載されるレジスタ4a〜9aを第一のレジスタ群と呼び、本実施形態1で追加されるレジスタ30を第二のレジスタと呼ぶ。第二のレジスタ30は、レジスタ4a〜9aと同様にCPU2により書込みと読み出しが可能なレジスタである。レジスタ4a〜9aにそれぞれ保持されるデータは、上述の検討例と同様に制御信号4b〜9bとして半導体集積回路1内の各回路に供給されるのに加え、データ4c〜9cとしてテーブル回路31に入力される。第二のレジスタ30に保持されるデータも、データ30aとしてテーブル回路31に入力される。テーブル回路31からの出力PCNT[1:0]32は、2ビットの制御信号であり、下位ビット(PCNT[0])側が中速用降圧レギュレータ14に、上位ビット(PCNT[1])側が高速用降圧レギュレータ15に、それぞれ供給される。前記出力信号32の下位ビット(PCNT[0])が“0”のとき中速用降圧レギュレータ14は動作し、“1”のとき停止する。同様に前記出力信号32の上位ビット(PCNT[1])が“0”のとき高速用降圧レギュレータ15は動作し、“1”のとき停止する。それ以外の構成は、上述の検討例と同様であるので、説明を省略する。
第一のレジスタ群には、発振器6から供給されるかまたは内蔵発振器10から供給されるクロック源の周波数と内部クロック19の周波数との相対的な関係を示すパラメータが保持される。具体的には、機能モジュール4と5にそれぞれへのクロックの供給/停止を制御するパラメータ4bと5b、発振器6を発振/停止を制御するパラメータ6b、PLL7の逓倍数を示すパラメータ7b、セレクタ8を制御するパラメータ8b、及び、分周器11、12による分周を行うか否かを選択するセレクタ9の選択信号であるパラメータ9bが、相対的な関係を示すパラメータの一例である。これに対して、第二のレジスタ30には、クロック源の周波数の絶対値を示す情報が保持される。本実施形態1では、内蔵発振回路10の発振周波数は固定であるので、外部に接続される発振子26によって決まるクロック源の周波数または周波数レンジが保持される。このように、第一のレジスタ30に格納されるクロック源のクロック周波数の絶対値情報と第二のレジスタ群に格納される相対的な関係を示すパラメータから、内部クロック19の周波数の絶対値を算出することができる。ただし、明示的に周波数の絶対値を算出する必要はない。「相対的な関係」には、上述のような逓倍数、分周比のような比例関係だけではなく、発振器6または内蔵発振器10を選択する選択的な関係、及び、機能モジュール4と5へのクロック19の供給を停止するような制御的な関係が含まれてもよい。
テーブル回路31は、第一のレジスタ群から入力される、クロック源の周波数と内部クロック19の周波数との相対的な関係を示す情報と、第二のレジスタ30から入力される、クロック源の周波数の絶対値を示す情報とに対応づけられている制御情報を、出力PCNT[1:0]32に出力する。テーブル回路31は、例えば、データ4c〜9c、30aがアドレスとして入力され出力PCNT[1:0]32をデータとして読み出すことができるメモリによって実装することができる。このとき、メモリは不揮発性メモリでもよいし、RAM(Random Access Memory)などの書き換え可能な揮発性メモリでもよい。また、フリップフロップなどの論理回路で実装される記憶回路であってもよい。または、演算回路や制御回路などの論理回路であってもよい。さらに演算回路、制御回路およびメモリを組合せて実現しても良い。
図2は、レジスタの構成例を示す回路図である。レジスタ4a〜9a、30aに共通に適用することができる。図2にはレジスタ6aの回路を一例とし、理解を容易にするために1ビット分のみを示す。
図において、27はデコーダ、28はセレクタ28sとフリップフロップ28fで構成される記憶部、29はAND回路が例示されるバス駆動回路である。フリップフロップ28fのクロック端子(Tr)とリセット(“0”でリセット)端子には、それぞれクロック19とリセット端子21から入力されたリセット信号Reset_nが接続される。バス18を介したアドレスおよび書き込み制御信号は、デコーダ27でデコードされ、レジスタ書き込み信号27aを生成し、記憶部28に入力されてセレクタ28sを制御する。レジスタ書き込み時、すなわち信号27aが“1”のとき、バス18から入力される入力データは、セレクタ28sを介してフリップフロップ28fに書き込まれる。信号27aが“0”のとき、セレクタ28sはフリップフロップ28fのデータ出力Qに接続され、書き込み値が保持される。一方、バス18を介したアドレスおよび読み出し制御信号は、デコーダ27でデコードされ、レジスタ読み出し信号27bを生成する。レジスタ読み出し時、すなわち信号27bが“1”のとき、記憶部28の出力が、バス駆動回路であるAND回路29を介してバス18に出力データとして読み出される。記憶部28のデータは6bと6cとして、図1に示す半導体集積回路1の発振器6とテーブル回路31にそれぞれ入力される。
図3は、テーブル回路31の構成例を示す回路ブロック図である。33はデコード回路、34は参照テーブル、A1〜A27はAND回路、35はOR回路、36はフリップフロップ、37は転送回路、38は書き込み信号、39は不揮発性メモリ、40は参照データである。参照テーブル34は、それぞれがセレクタとフリップフロップで構成される各2ビットのレジスタL1〜L27を備える。ただし、図3に例示するレジスタL1のように“00b”を保持するレジスタは、セレクタとフリップフロップの実装を省略して、デコード出力によって選択されたときに配線によって固定された“00b”を出力するように構成しても良い。他のレジスタL2〜L27それぞれのフリップフロップには、クロック19とリセットReset_nが接続されている。
第一のレジスタ群からのデータ信号4c〜9cと、第二のレジスタ30からのデータ信号30aは、デコード回路33に入力される。デコード回路33は、入力された信号をデコードして、デコード出力D1〜D27のうちの1つを「真」(“1”)として信号をアサートする。AND回路A1〜A27で、参照テーブル34の構成要素であるL1で示す固定信号、またはセレクタとフリップフロップからなるレジスタL2〜L27に保持された複数ビットのデータが選択され、OR回路35を介してフリップフロップ回路36でクロックに同期化されて、制御信号32が出力される。テーブル回路31では、参照テーブル34は転送回路37で生成された書き込み信号38で書き込み制御され、不揮発性メモリ39より読み出された参照データ40が、参照テーブル34のレジスタL2〜L27に書き込まれて保持される。この参照データ40の転送は、例えば、電源投入時に行われる。
図4は、テーブル回路31の機能の一例を示す真理値表である。この真理値表は、デコード回路33の機能を示すデコード入力とデコード出力との関係を対応付ける左側の真理値表と、デコード出力とテーブル回路31からの出力32とを対応付ける右側の真理値表との組み合わせで構成されている。
第一のレジスタ群6a〜9aは、ユーザが必要とするクロック(クロック19)に合わせて設定するものであり、レジスタ群4a、5aはユーザが機能モジュール(機能A,機能B)4、5を使用するときに設定するものである。
第二のレジスタ30に設定するパラメータは、予め半導体集積回路1の製造者が定義したパラメータを、ユーザがプログラムで設定する。すなわち、半導体集積回路1の製造段階では特定されず、ユーザが使用する段階で決定する、発振子26の周波数を示すパラメータである。以下のようなパラメータを製造者が定義し、ユーザがプログラムで設定する。
・4MHz<発振子≦5MHzで使用する場合、レジスタ30[1:0]に“0”を設定。
・5MHz<発振子≦6MHzで使用する場合、レジスタ30[1:0]に“1”を設定。
・6MHz<発振子≦7MHzで使用する場合、レジスタ30[1:0]に“2”を設定。
・7MHz<発振子≦8MHzで使用する場合、レジスタ30[1:0]に“3”を設定。
これにより、第一のレジスタ群4a〜9aと、第二のレジスタ30に設定するパラメータで、クロック19の周波数を算出することができ、図4の真理値表の「状態」の項の周波数になる。
ここで、半導体集積回路1において、クロック19の周波数に応じて動作モードを、例えば以下のように設定することができる。
・クロック19≦2MHzのときは低速動作モードの設定可能。
・2MHz<クロック19≦40MHzの場合は、中速動作モードの設定可能。
・40MHz<クロック19の場合は高速動作モード設定のみ。
このとき、「状態」欄に示したクロック19の周波数算出値毎に、参照テーブル34の値を半導体集積回路1の製造者が決めることができ、図4の真理値表の「参照テーブル34」欄に示す値となる。なお、図4では説明を簡単にするため、図4の4c、5cの値は、全て“0”でも“1”の設定でもよいとしている。本実施形態では、動作モードによって調整されるのがレギュレータの電流供給能力と固定電流であるから、機能モジュール4と5へのクロック19の供給と停止を制御するレジスタ4aと5aの値にも依存する制御に変更してもよい。これにより、動作モードをよりきめ細かく制御することができ、消費電力を低減することができる。例えば、レジスタ4aと5aのデータ4cと5cが“0”でクロック停止の場合には、“1”でクロック供給の場合よりも、レギュレータ13〜15に求められる電流供給能力はより小さくて済むので、比較的高いクロック周波数まで低速側の動作モードでの動作を許容することができ、消費電力が低減される。
本実施形態1の半導体集積回路1の動作について説明する。
図5は、半導体集積回路1の動作例を示すフロー図である。検討例と同様に、半導体集積回路1が、レギュレータ13〜15の電流供給能力に応じて以下の3つの動作モードを備え、相互間で遷移するものとした場合の例である。高速動作モードでは、すべてのレギュレータ13、14及び15が動作し、PLL7、セレクタ9の分周なし経路を使用した高速演算が実行可能である。中速動作モードでは、高速用降圧レギュレータ15が停止し、中速用降圧レギュレータ14と低速用降圧レギュレータ13が動作し、PLL7、セレクタ9の4分周の経路を使用した中速演算が実行可能である。低速動作モードでは、中速用降圧レギュレータ14と高速用降圧レギュレータ15とが停止し、低速用降圧レギュレータ13のみが動作し、内蔵発振器10を用いた、低速演算を実行するか、または、待機状態となり得る。
図5の動作フローには、初めに、内蔵発振器10を用いた低速演算を行い、次に、PLL7、セレクタ9の分周なし経路を使用した高速演算を行い、次に、PLL7、セレクタ9の4分周の経路を使用した中速演算を行い、最後に、内蔵発振器10を用いた待機状態に遷移する場合の、低消費電力制御の動作を示す。実行する演算などの処理は、図15に示した検討例と全く同じである。
動作フローについて説明する。図15に示した各ステップと同じ内容のステップには同じステップ番号を付す。
電源投入ステップ(S1)では、電源端子20へ電源が印加される。
リセット、リセット解除ステップ(S2)では、リセット端子21からリセット信号がアサートされその後解除されて、半導体集積回路1が動作を開始する。リセットでは、全レジスタ4a〜9a及び30が“0”に初期化される。すなわち、クロック19は、セレクタ8で内蔵発振器(1MHz)10が選択され、セレクタ9で分周器12(4分周)を介したクロックが選択される。つまりクロック19は0.25MHzとなる。一方、テーブル回路31は、図4に示すように、信号30aが“0”に初期化されることで、表に示すデコードNo.1がデコードされる。つまり、デコード出力信号D1が真となり、AND回路A1とOR回路35、フリップフロップ36を介して、テーブル回路31は降圧レギュレータを制御する信号32として“00b”を出力する。よって、降圧レギュレータ14と降圧レギュレータ15はともに動作状態、即ち、動作モードとしては、電流供給能力が最大の高速動作モードとなる。
次に検討例と同様に、不揮発性メモリ3に格納されたトリミングデータを読み出して、内蔵機能をトリミングする(S3)。このトリミング時に合わせて、図3の転送回路37は、制御信号38を適宜制御して、不揮発性メモリ39よりデータバス40を介して、レジスタL2からL27で示す参照テーブル34に参照データを書き込むとよい。参照テーブル34には、図4の「参照テーブル34」欄に示すデータが、参照データとして格納される。
次にプログラムコードの実行を開始し、CPU2がメモリ3に保持されたプログラムコードを実行する(S4)。この時点では、クロック19からは低速クロックが供給され、動作モードは高速動作モードである。
次に、CPU2がメモリ3に保持されたプログラムコードを実行することによって、レジスタ30にパラメータを設定する(S20)。このパラメータは、半導体集積回路1に接続される発振子26の周波数に応じて、図4の「30a[1:0]」欄に示すように“0”〜“3”の中から適切な値を設定する。ここでは、6MHzの発振子を使用、つまりレジスタ30の[1:0]に“1”を設定したとする。次に30a[2]を“1”に設定する。これら設定により、第一のレジスタの状態(全て“0”)と合わせて、図3のデコードNo.2に記載する参照テーブル値34“11b”が出力32、即ちPCNT[1:0]に出力され、降圧レギュレータ14と15は停止し低速動作モードに移行する。
次に演算1を実行する(S6)。この演算1は、クロック19から供給される低速クロックに同期して、低速で演算処理される。
次に、クロック設定1を行う(S8)。レジスタ6a、7a、9aを設定して、外部発振子26、発振器6、PLL7の経路を活性化し、さらにセレクタ9で分周なしの出力を選択する。
次に、クロック設定2を行う(S9)。すなわち、セレクタ8でPLL7を選択することで、クロック19は、外部発振子26の経路が選択される。これに伴って、図4のデコードNo.15となり、参照テーブル値“00b”が出力32、即ちPCNT[1:0]に出力され、降圧レギュレータ14と15は動作し高速動作モードに移行する。
次に、演算2を行う(S10)。演算2は、高速クロックに同時して、高速に演算処理される。このとき、ステップS9において予め高速動作モードに変更されているので、レギュレータ13、14及び15からの電流供給は十分に大きい。
次にクロック設定3を行う(S11)。セレクタ9で“0”、すなわち分周器12(4分周)を選択して、クロック19をPLL7の4分周にする。クロック19に供給されるクロックは、中速クロックに変更される。これに伴って、図4のデコードNo.13となり、参照テーブル値“10b”が32に出力され、降圧レギュレータ14は動作、降圧レギュレータ15は停止し中速動作モードに移行する。
次に演算3を実行する(S13)。この演算3は、クロック19から供給される中速クロックに同期して、中速で演算処理される。
次に、クロック設定4を行う(S14)。セレクタ8で内蔵発振器10を選択、すなわちクロック19は、内蔵発振器10、分周器12(4分周)の経路となる。これに伴って、図4のデコードNo.2となり、参照テーブル値“11b”が32に出力され、降圧レギュレータ14と15はともに停止し、低速動作モードに移行する。
次に、待機状態に入る(S16)。外部割り込み等の待ち受け状態である。
以上のように、トリミングデータを転送するステップS3において、テーブル回路31に格納される参照データを転送する動作が追加され、半導体集積回路1に接続される発振子26の周波数に応じたパラメータをレジスタ30に設定するステップS20が図15に示した動作フローに追加される。一方、動作モードはクロック設定を行う各ステップ(S8,S9,S11,S14)において、レジスタ設定に伴ってテーブル回路31によって自動的に変更されるので、図15に示した動作フローに対して、動作モードを変更するレジスタ設定のための各ステップ(S5,S7,S12,S15)は不要となる。このように、プログラムステップ上は、S20の追加によって動作モード切替を行っていた各ステップS5,S7,S12,S15が不要となる。
さらに実際には、クロック設定を変更しようとするときには、その時点でのクロック設定を確認して周波数を上げる方向か下げる方向か、それに伴って動作モード設定はクロック設定の前に実行すべきか、後に設定すべきかなどの判断が必要となる。多重割り込みなどのない非常に単純なプログラムであれば、判断をすることなく変更手順をそのままプログラミングすることができるが、複数の割り込みや多重割り込みを許す動作では、動作モードの変更手順を予定することが困難または不可能であるから、本実施形態によって削減されるステップはさらに多い。
このように、周波数測定回路や周波数判定回路などの大規模な回路を搭載することなく、内部回路の動作モードを内部クロック周波数に応じて変更するための、プログラム上の負担を軽減することができる。即ち、従来ユーザが行っていた、動作モードの設定が不要となり、使い勝手のよい半導体集積回路を提供することができる。また、従来ユーザが設定する煩わしさを考慮して動作モードの数が抑えられていたが、本実施形態であれば、複数のモードを備えることで、よりきめ細かく電力を制御することができる。
なお、本実施形態では、動作モードとして、降圧レギュレータ13〜15の電流供給能力と固定電流を制御する形態について説明したが、降圧レギュレータ以外でもよい。例えば、低速動作モードでは、メモリのセンスアンプのバイアス電流を下げることによって読み出し速度を下げつつ低消費電力化する。一方、高速動作モードでは、センスアンプのバイアス電流を上げることによって読み出し速度を高くする。またさらに、低速動作モードではメモリ読み出しにウェイトサイクルを入れるが、高速動作モードではウェイトサイクルを入れないなどの制御を行っても良い。また、動作モードに応じた制御対象は、降圧レギュレータやメモリなど内部回路以外に、外部回路、例えば外部に接続するレギュレータ回路であってもよい。つまり、動作モードに応じて制御する対象は任意の回路であってよい。
また、図3のテーブル回路31は、不揮発性メモリ39からデータを読み出して、参照テーブル34のレジスタL2〜L27に格納する例を示したが、レジスタL2〜L27はL1と同様に固定値であっても良い。
また、図1に示すように発振子26が外付けされる例を示したが、これに代えて外部から入力されるクロックであってもよい。
また、第一のレジスタ群には、前述のように、クロック源の周波数と内部クロック19の周波数との相対的な関係を示すパラメータを保持するレジスタが含まれていればよく、その他のレジスタ、例えば、電源端子20の電位をモニタするレジスタや、内蔵する温度センサの温度値を格納するレジスタなど、内蔵回路の任意のレジスタがさらに含まれていてもよい。このとき、周波数の相対的な関係を示すパラメータではないものの、動作電圧や温度など、動作モードに影響を与えるパラメータは、テーブル回路31の入力とすることができ、動作モードを制御する出力32を動作電圧や温度に応じて自動的に変更することができる。
更に、本実施形態はマイクロコンピュータを一例として説明したが、マイクロコンピュータ以外、例えば、単体のA/D変換器やメモリなどであっても、外部とのインタフェース用バスを介したレジスタを備えていればよく、半導体集積回路の種類は何であってもよい。
以上のなお書きで説明した各種の変形例は、以下に説明する他の実施形態にも同様に妥当する。
〔実施形態2〕
本実施形態2においては、テーブル回路31の図3、4とは異なる構成例について説明する。図6は、テーブル回路31の実施形態2の構成例を示す回路ブロック図であり、図7はそのテーブル回路31の機能の一例を示す真理値表である。
図6、7のテーブル回路31と図3、4のテーブル回路との違いは、以下の通りである。
・デコード回路33に入力される図1のレジスタ30入力信号30aは、1ビット幅であること。
・デコード出力は、D1〜D9であること。
・レジスタ回路は、L2〜L9であること。
・AND回路はA1〜A9であること。
・レジスタL2〜L9の書き込み信号38は、バス18を介して生成されること。
・レジスタL2〜L9の書き込みデータはバス18に接続されること。
・図7の真理値表は、デコードNo.1〜9であること。
これ以外の構成と動作は図3、4と同様である。本実施形態2において、テーブル回路31に格納される真理値表は、使用される発振子26の周波数に応じて作成されるので、図7に示すように、真理値表はクロック源の周波数が特定の値である場合についてのみの、デコード出力で構成される。例えば、図7には発振子26の周波数が6MHzの場合が示されている。これによって、真理値表の規模、即ちテーブル回路31の回路規模が大幅に削減されている。図4の真理値表がデコードNo.1〜27であるのに対して、図7の真理値表はデコードNo.1〜9である。これに伴って、図6に示すテーブル回路31はデコード出力D1〜D9を出力するデコード回路33、レジスタL2〜L9及びAND回路がA1〜A9で構成され、その回路規模は図3に示す回路の規模よりも大幅に削減されている。また、レジスタ30についても発振子の周波数を示す情報は格納されず、テーブル回路31への入力も不要となる。
次に動作について、実施形態1で引用した図5及び上述した図6と7を引用して説明する。
実施形態1では、ユーザが使用する可能性のある発振子の周波数を網羅する参照テーブルを用意していたのに対し、本実施形態2では、発振子26の周波数がある特定の周波数の場合についてのみの真理値表に相当するデータテーブル64を、バス18から参照テーブル34に書き込む。このデータテーブル64は、例えば、半導体集積回路1の製造者が、ユーザであるプログラム作成者に対して、ユーティリティープログラムとして提供する参照テーブル作成プログラム63を使って生成される。
図8は、半導体集積回路1で実行されるプログラムコード62の生成手順を示すフローチャートである。ユーザであるプログラム作成者は、プログラムソース60をコンパイラ61によってコンパイルしてプログラムコード62を生成する。このときユーザは、プログラムソース60が実行されるときに半導体集積回路1で使用される発振子の周波数を、参照テーブル作成プログラム63に入力する。テーブル作成プログラム63は入力された周波数に対応するデータテーブル64を生成する。このデータテーブル64はプログラムソース60に組み込まれてコンパイルされ、プログラムコード62にはデータテーブル64の内容をテーブル回路31内の参照テーブル34のレジスタL2〜L9に書き込むための命令コード群が含まれる。
このように、ユーザが実際に使用する発振子26の周波数に対応するデータテーブル64のデータは、ユーザのプログラムコード62に包含されることとなる。本実施形態2の動作フローでは、図5に示す実施形態1の動作フローにおけるレジスタ30設定ステップS20の前に、プログラムコードに含まれるデータテーブル64の内容を、メモリ3からCPU2で読み出してバス18を介して参照テーブル34に書き込むステップが追加される。参照テーブル34への書き込みは、バス18のアドレスによりデコーダ51で参照テーブル34内のレジスタL2〜L9が選択され、バス18のデータを各レジスタに書き込むことによって、データテーブル64のデータが参照テーブル34へ格納される。次にレジスタ30に“1”を書き込むと、図7の真理値表に示すデコードに従ってテーブル回路31の出力32が生成される。
本実施形態2におけるこれ以降の動作フローは、図5に示す実施形態1の動作フローと同様である。これ以降の動作フローについては、詳しい説明を省略する。
なお、参照テーブル作成プログラム63については、図4の真理値表に示すように、予めすべての周波数を用意した中から、使用する周波数を切り出すユーティリティープログラムであってもよいし、使用する周波数と第一のレジスタ群のデータで構成される真理値表と同等のテーブルからクロック19の周波数を算出し、データテーブル64の内容を作成するものであってもよい。
以上説明したように、実施形態1では、ユーザが使用する可能性がある発振子を網羅する、参照テーブルを用意していたため、参照テーブルの規模が大きく、回路規模の増大を招き、コストの上昇やテーブル回路31が消費する電流も大きくなるという課題があった。更に、図1に示すように発振子26を外付けして使用する場合には、接続できる発振子の周波数は、発振器6の性能によりある程度の範囲に限られるが、外部クロック入力を許す場合には、入力可能な周波数はより広範になるのが一般的であり、これに対応するには、より大規模の参照テーブルが必要になるという問題があった。
これらに対し、本実施形態2では、ユーザのプログラムコード作成時点で、使用する発振子または外部入力クロック周波数を一つに絞り込んだ、特定のクロック周波数についての参照テーブルで済み、前記課題を解決することができる。
一方、実施形態1では、ユーザが使用する可能性がある周波数を網羅する、参照テーブルを用意することによって、ユーザのプログラムに負担をかける必要がない。また、外部クロックの周波数を動的に変更する場合にも容易に対応することができる。即ちレジスタ30のデータを、外部クロックの周波数に応じて変更すればよい。
なお、本実施形態2でも、外部クロックの周波数が動的に変更される場合に対応することができる。ユーザプログラムのコンパイルの段階には、ユーザプログラムを構成するルーチンやタスクについて、使用するすべてのクロック周波数が特定されているはずである。それらすべてのクロック周波数のそれぞれに対応するデータテーブル64をテーブル作成プログラム63によって作成し、プログラムコード62に組み込んでおく。外部クロックの周波数が動的に変更されるときには、一旦レジスタ30を“0”に設定、つまり固定値“00b”の参照テーブルを活性化して、その後、クロック周波数に対応したデータテーブル64を参照テーブル34に書き込む。
このように、本実施形態2でも、外部クロックの周波数が動的に変更される場合に対応することができ、使い勝手のよい電力制御が実現できる。
〔実施形態3〕
本実施形態3では、テーブル回路31の後段に設けると好適な、制御信号32の遅延を制御する回路について説明する。図9はその回路の動作例を示す波形図であり、図10はその構成例を示す回路図である。基本的な構成と動作は実施形態1及び実施形態2と同様であるので、本実施形態3では特徴的な動作についてのみ説明する。
図9は、レジスタ4a〜9a(信号名4c〜9c)でクロック19を切り替える場合の、波形を示したものである。詳細な説明は省略するが、クロック切り替え時には、切り替え前クロックと切り替え後のクロックの同期をとり、クロック19にグリッジが発生しない回路とするのが一般的である。図9では、レジスタ信号4c〜9cが変化した後、3クロック後にクロック19の周波数が切り替わる。これは、切り替え前クロックと切り替え後のクロックの同期のための期間を3クロックとした例である。クロック19を低速から高速に切替える場合には、低速クロックで3周期のクロック切り替え期間をとり、クロック19を高速から中速に切替える場合には、高速クロックで3周期のクロック切り替え期間をとった例である。
図10は、実施形態1及び実施形態2のテーブル回路31とその出力32の間に挿入された回路であり、クロック19とリセット端子21から供給されるReset_n信号で初期化(“0”)されるフリップフロップ41と、所定の遅延を発生させるディレイ回路42と、AND回路43によって構成される。テーブル回路31内のフリップフロップ36の出力は、フリップフロップ41とディレイ回路42に入力され、フリップフロップ41の出力とディレイ回路42の出力とをAND回路43で論理積をとることによって制御信号32が生成される。
この回路によれば、フリップフロップ36で生成された、信号“0”(降圧レギュレータ動作)は、次のクロック19の立ち上がりエッジでフリップフロップ41に取り込まれて、AND回路43を経て信号32に“0”出力される。一方、フリップフロップ36で生成された信号“1”(降圧レギュレータ停止)は、ディレイ回路42の遅延を経た後AND回路43を経て信号32に“1”を出力される。つまり、高速クロックに切り替わる前に降圧レギュレータは動作を開始し、低速クロックに切り替わった後に、降圧レギュレータは停止する。
以上の動作により、例えば、低速クロックから高速クロックに切り替えるときは、降圧レギュレータを早く起動させて、高速クロック移行時の消費電力増大に備え、高速クロックから低速クロックに切り替えるときには、降圧レギュレータを遅く停止させる。つまり、クロック周波数を高くするクロック切り替えを行う時には必ず降圧レギュレータを事前に動作させることができ、クロック周波数を低くするクロック切り替えを行う時には、消費電力が安定してから降圧レギュレータを停止させて、消費電力の変化時にも安定した電力を供給できるよう降圧レギュレータを制御することができる。
なお、ディレイ回路42はアナログ素子で構成してもディジタル素子で構成しても良いが、適切な段数のフリップフロップで構成することにより、上述の前後関係を満足する適切な遅延値をより安定的に得ることができる。
〔実施形態4〕
本実施形態4では、テーブル回路31に禁止されたパラメータ設定を検出する機能を追加した例について説明する。図11は、本実施形態4の半導体集積回路1におけるレジスタ4a〜9aとテーブル回路31の周辺の構成例を示すブロック図である。図12はテーブル回路31の構成例を示す回路ブロック図であり、図13はその機能の一例を示す真理値表である。
基本的な構成と動作は実施形態1〜実施形態3と同様であるので、本実施形態4における特徴的な動作についてのみ説明する。
図11に示すレジスタ4a〜9aは、図2で示したレジスタの変形例である。すなわち図2のレジスタに対してセレクタ48とフリップフロップ49が追加され、その出力4b〜9bは、発振器6やPLL7などの制御を行う。レジスタ4a〜9aの出力4c〜9cは図2と同様に、セレクタ28sとフリップフロップ28fで構成される記憶部28で生成され、テーブル回路31に入力される。なお、レジスタ9aを始めとする各レジスタについて、図11では図2に示したデコーダ27と読み出し回路29の記載は省略している。
テーブル回路31の出力32は、実施形態1〜2のPCNT[1:0]に加えてさらに2ビットが追加されている。図13の真理値表に示すように、参照テーブル34の出力は4ビットとされ、OR回路35の出力の最上位ビット[3]が信号50として出力される。
図13の真理値表における、図7に示した実施形態2のテーブル回路31の真理値表からの変更点は、以下の通りである。まず上述の信号50を出力するデコードNo.5が追加されている。レジスタ4a〜9aの設定(4c〜9c)の組合せのうち、禁止されている組合せが設定されたときに、参照テーブル34の最上位ビットに“1”を出力する。禁止された組み合わせは複数のデコードNoに展開されて表現されても良い。またさらに、図7ではデコードNo.2において[6c,7c,8c]=[*,*,0]のときにD2=1を出力していたのに対して、図13ではデコードNo.2において[6c,7c,8c]=[0,0,0]のときにD2=1を出力し、デコードNo.3と4が追加されている。デコードNo.3では[6c,7c,8c]=[0,1,0]のときにD3=1を出力し、デコードNo.4では[6c,7c,8c]=[1,0,0]のときにD4=1を出力し、ともに参照テーブル34の出力は“0111b”とされ、正常なD2=1の場合と同じPCNT[1:0]=“11b”を出力し、且つ[2]に“1”を出力する。禁止ではないが冗長な組合せを検出するためのデコードNoである。
テーブル回路31の構成は、以上のような真理値表の拡大に伴って、デコード信号がD1〜D11に、レジスタがL2〜L11に、AND回路がA1〜A11に、それぞれ拡張され、またビット数が2ビットから4ビットに増えたこと以外は図6と同様である。参照テーブル34に追加されたビット[3]は、第一のレジスタ群で禁止された設定を示し、ビット[2]は冗長な設定を警告するビット、ビット[1:0]は実施形態2(図7)と同様な構成である。
図11について説明する。テーブル回路31の出力のビット[3]は信号50として、セレクタ47とセレクタ48に接続される。フリップフロップ36で生成されたテーブル回路31の出力[3:0]は、AND回路44を介してバス18に接続され、デコード信号45をアサートすることによって、CPU2が読み出すことができる。フリップフロップ36で生成されたテーブル回路31の下位ビット[1:0]は、セレクタ47を介して実施形態3と同様に41、42、43を経て出力32に接続される。
この回路構成により、レジスタ4a〜9aに設定された値は、4c〜9cを介してテーブル回路31に入力され、図13の真理値表に示す、対応する参照テーブル値を出力する。
信号50は、図13のデコーダで設定禁止、すなわち、デコードNo.5では、PLL7、セレクタ8で発振器経路を選択したにも関わらず発振器6は停止設定なので、クロック供給できないことを検知する役目を果たす例である。信号50が“0”のとき、セレクタ48は記憶部28の出力を選択し、セレクタ47はフリップフロップ36出力が選択されフリップフロップ41に入力され、通常の動作となる。
一方、信号50が“1”、すなわち、禁止設定が検出されたときには、セレクタ48はフリップフロップ49の出力が帰還される。つまり、発振器6やPLL7などを制御する4b〜9bは、信号50が“1”となったこと(禁止設定)が検出される前の値を保持する。同様にセレクタ47を介して、フリップフロップ41の出力が入力に帰還される。すなわち制御信号32も、信号50が“1”となったことが検出される前の値、つまり禁止設定前の値を保持する。この設定禁止の状態は、デコード信号45で選択されたAND回路44を介してCPU2で読むことができる。
更に、AND回路44のビット2([2])は、冗長な設定を警告するものである。例えば、図13のデコードNo.3では、セレクタ8で内蔵発振器10を選択しているにもかかわらず、PLL7を動作させているケースであり、PLL7の動作電流分だけ余分に電力が消費することを警告する役目を果たす。同様に、デコードNo.4では、セレクタ8で内蔵発振器10を選択しているにもかかわらず発振器6は動作しているケースであり、発振器6の動作電流分だけ余分に電力が消費することを警告する役目を果たす。
このように、レジスタ4a〜9aの設定後に、参照テーブル34の出力であるフリップフロップ36の値をAND回路44経由で読み出すことで、禁止設定や警告の状態を確認することができる。
なお、本実施形態では、AND回路44を介して禁止設定や警告をCPU2で読み出す例を説明したが、禁止設定を示すフリップフロップ出力36の最上位ビット[3]や警告を示すビット[2]を割り込み要求信号として割り込み制御回路に接続して、例外処理できるようにしてもよい。
以上の実施形態4によれば、従来プログラム開発過程で生じる禁止設定や好ましくない設定に起因する意図しない動作や消費電力に対して、調査、解析に要する時間を短縮でき、実施形態1〜実施形態3と組み合わせて、さらに使い易い半導体集積回路を提供することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
1 半導体集積回路
2 CPU(Central Processing Unit)
3 不揮発性で書き替え可能なメモリ
4 機能モジュール(機能A)
5 機能モジュール(機能B)
6 発振器
7 PLL(Phase Locked Loop)
8、9、47、48 セレクタ
10 内蔵発振器
11 分周器(2分周)
12 分周器(4分周)
13 低速用降圧レギュレータ
14 中速用降圧レギュレータ
15 高速用降圧レギュレータ
4a、5a、6a、7a、8a、9a、14a、15a、30 レジスタ
4b、5b、6b、7b、8b、9b、14b、15b パラメータ(制御信号)
4c、5c、6c、7c、8c、9c、30a パラメータ
16、17、43、44 AND回路
18 バス
19 クロック信号
20 電源端子
21 リセット端子
22 レベルシフタ
23 I/O
24、25 外部端子
26 発振子
27、51 デコーダ
28 記憶部
28s セレクタ
28f フリップフロップ
29 バス駆動回路(例;AND回路)
31 テーブル回路
32 テーブル回路31の出力PCNT[1:0]
33 デコード回路
D1〜D27 デコード出力
34 参照テーブル
L1〜L27 レジスタ
A1〜A27 AND回路
35 OR回路
36、41、49 フリップフロップ
37 転送回路
38 書き込み信号
39 不揮発性メモリ
40 参照データ
42 ディレイ回路
50 禁止設定検出信号
60 プログラムソースコード
61 コンパイラ
62 プログラムコード
63 参照テーブル作成プログラム
64 データテーブル

Claims (13)

  1. クロック源から内部クロックを生成する内部クロック生成回路と、第1レジスタと、第2レジスタと、テーブル回路と、複数の動作モードを有する内部回路とを備え、
    前記第1レジスタは、前記クロック源の周波数と前記内部クロックの周波数との相対的な関係を規定する第1情報を格納可能であり、
    前記第2レジスタは、前記クロック源の周波数を示す第2情報を格納可能であり、
    前記内部クロック生成回路は、前記第1レジスタに格納される前記第1情報に基づいて前記内部クロックを生成し、
    前記内部回路は、供給される制御信号に基づいて動作モードが規定され、
    前記テーブル回路は、前記第1情報と前記第2情報とに対応づけて前記制御信号に出力する制御情報を記憶可能であり、前記第1レジスタから供給される前記第1情報と前記第2レジスタから供給される前記第2情報とに基づいて、対応する制御情報を前記制御信号に出力するものであって、
    前記テーブル回路は、前記第1情報と前記第2情報をデコードしてデコード結果を出力するデコード回路と、前記デコード結果に対応づけて前記制御情報を記憶する記憶回路とを有し、前記記憶回路は前記デコード結果に応じた前記制御情報を前記制御信号に出力する、
    半導体集積回路。
  2. 請求項において、前記テーブル回路は、不揮発性メモリと転送回路とをさらに備え、
    前記不揮発性メモリは、前記第1情報及び前記第2情報と対応付けて前記制御情報を記憶し、
    前記転送回路は、前記不揮発性メモリに記憶された前記制御情報を前記記憶回路に転送する、
    半導体集積回路。
  3. 請求項1において、前記半導体集積回路は、接続される発振子に応じた周波数の前記クロック源を生成する発振回路を備え、
    前記第1情報は、前記発振子に応じた周波数の情報を含む、
    半導体集積回路。
  4. 請求項1において、前記半導体集積回路は、前記制御信号に所定の遅延を与える遅延回路を、前記テーブル回路の後段に備える、
    半導体集積回路。
  5. 請求項において、前記所定の遅延は、
    前記内部クロックの周波数が高くなる方向に変更される場合には、前記制御信号を前記変更よりも前に遷移させる遅延量とされ、
    前記内部クロックの周波数が低くなる方向に変更される場合には、前記制御信号を前記変更よりも後に遷移させる遅延量とされる、
    半導体集積回路。
  6. 請求項において、前記デコード結果には、前記第1情報が設定を禁止された状態であることを示す第1のデコード値が含まれ、前記記憶回路が記憶する前記制御情報には、前記デコード結果が前記第1のデコード値である場合に対応づけられた第1の制御情報が含まれる、
    半導体集積回路。
  7. 請求項において、前記第1レジスタは、新たな新第1情報が設定される前の旧第1情報を保持する第2の記憶回路をさらに備え、
    前記半導体集積回路は、前記新第1情報が設定される前に前記テーブル回路から出力されていた旧制御情報を保持する第3の記憶回路をさらに備え、
    前記新第1情報についての前記デコード結果が、前記新第1情報が設定を禁止された状態であることを示す前記第1のデコード値である場合には、前記第1レジスタの出力として、前記第2の記憶回路に記憶される前記旧第1情報が出力され、前記制御情報として前記第3の記憶回路に記憶される前記旧制御情報が出力される、
    半導体集積回路。
  8. 請求項において、前記デコード結果には、前記第1情報が推奨されない状態であることを示す第2のデコード値がさらに含まれ、前記記憶回路が記憶する前記制御情報には、前記デコード結果が前記第2のデコード値である場合に対応づけられた第2の制御情報がさらに含まれる、
    半導体集積回路。
  9. 請求項1から請求項のうちのいずれか1項において、
    前記内部回路は、電流供給能力が調整可能な電源供給回路であり、前記複数の動作モードのそれぞれに対応して、前記電流供給能力の大きさが規定され、前記制御信号に基づいて前記電流供給能力の大きさが調整される、
    半導体集積回路。
  10. クロック源から内部クロックを生成する内部クロック生成回路と、第1レジスタと、テーブル回路と、複数の動作モードを有する内部回路とを備え、
    前記第1レジスタは、前記クロック源の周波数と前記内部クロックの周波数との相対的な関係を規定する第1情報を格納可能であり、
    前記第1情報は、前記クロック源の周波数に対応する情報であり、
    前記内部クロック生成回路は、前記第1レジスタに格納される前記第1情報に基づいて前記内部クロックを生成し、
    前記内部回路は、供給される制御信号に基づいて動作モードが規定され、
    前記テーブル回路は、前記第1情報に対応づけて前記制御信号に出力する制御情報を記憶可能であり、前記第1レジスタから供給される前記第1情報に基づいて、対応する制御情報を前記制御信号に出力するものであって、
    前記テーブル回路は、前記第1情報をデコードしてデコード結果を出力するデコード回路と、前記デコード結果に対応づけて前記制御情報を記憶する記憶回路とを有し、前記記憶回路は前記デコード結果に応じた前記制御情報を前記制御信号に出力し、
    前記デコード結果には、前記第1情報が設定を禁止された状態であることを示す第1のデコード値が含まれ、前記記憶回路が記憶する前記制御情報には、前記デコード結果が前記第1のデコード値である場合に対応づけられた第1の制御情報が含まれる、
    半導体集積回路。
  11. 請求項10において、前記第1レジスタは、新たな新第1情報が設定される前の旧第1情報を保持する第2の記憶回路をさらに備え、
    前記半導体集積回路は、前記新第1情報が設定される前に前記テーブル回路から出力されていた旧制御情報を保持する第3の記憶回路をさらに備え、
    前記新第1情報についての前記デコード結果が、前記新第1情報が設定を禁止された状態であることを示す前記第1のデコード値である場合には、前記第1レジスタの出力として、前記第2の記憶回路に記憶される前記旧第1情報が出力され、前記制御情報として前記第3の記憶回路に記憶される前記旧制御情報が出力される、
    半導体集積回路。
  12. 請求項10において、前記デコード結果には、前記第1情報が推奨されない状態であることを示す第2のデコード値がさらに含まれ、前記記憶回路が記憶する前記制御情報には、前記デコード結果が前記第2のデコード値である場合に対応づけられた第2の制御情報がさらに含まれる、
    半導体集積回路。
  13. 請求項10から請求項12のうちのいずれか1項において、
    前記内部回路は、電流供給能力が調整可能な電源供給回路であり、前記複数の動作モードのそれぞれに対応して、前記電流供給能力の大きさが規定され、前記制御信号に基づいて前記電流供給能力の大きさが調整される、
    半導体集積回路。
JP2016093696A 2016-05-09 2016-05-09 半導体集積回路 Active JP6585000B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016093696A JP6585000B2 (ja) 2016-05-09 2016-05-09 半導体集積回路
US15/473,813 US10020799B2 (en) 2016-05-09 2017-03-30 Semiconductor integrated circuit
CN201710321201.5A CN107368145A (zh) 2016-05-09 2017-05-09 半导体集成电路
US16/004,478 US10361683B2 (en) 2016-05-09 2018-06-11 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016093696A JP6585000B2 (ja) 2016-05-09 2016-05-09 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2017204019A JP2017204019A (ja) 2017-11-16
JP6585000B2 true JP6585000B2 (ja) 2019-10-02

Family

ID=60242641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016093696A Active JP6585000B2 (ja) 2016-05-09 2016-05-09 半導体集積回路

Country Status (3)

Country Link
US (2) US10020799B2 (ja)
JP (1) JP6585000B2 (ja)
CN (1) CN107368145A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180042488A (ko) * 2016-10-17 2018-04-26 에스케이하이닉스 주식회사 메모리 장치
US10964363B2 (en) * 2018-08-14 2021-03-30 Mediatek Inc. Delay tracking method and memory system
JP6974549B1 (ja) * 2020-07-17 2021-12-01 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリ装置およびその入出力バッファ制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4925060B1 (ja) 1969-04-08 1974-06-27
JPS57111714A (en) 1980-12-29 1982-07-12 Fujitsu Ltd Integrated circuit
JPS58171842A (ja) 1982-03-31 1983-10-08 Matsushita Electronics Corp 集積回路装置
US5684434A (en) * 1995-10-30 1997-11-04 Cypress Semiconductor Erasable and programmable single chip clock generator
JP4144913B2 (ja) 1997-01-20 2008-09-03 富士通株式会社 半導体装置
JP2000059213A (ja) * 1998-08-12 2000-02-25 Nec Corp クロック再生装置
WO2003090358A1 (fr) * 2002-04-19 2003-10-30 Matsushita Electric Industrial Co., Ltd. Boucle a verrouillage de phase double
US7298178B1 (en) * 2003-07-31 2007-11-20 Actel Corporation Clock-generator architecture for a programmable-logic-based system on a chip
KR102193468B1 (ko) 2014-04-04 2020-12-21 삼성전자주식회사 타이밍 마진을 적응적으로 보정하는 메모리 장치 및 이를 포함하는 집적 회로

Also Published As

Publication number Publication date
US10020799B2 (en) 2018-07-10
US20180294800A1 (en) 2018-10-11
JP2017204019A (ja) 2017-11-16
US10361683B2 (en) 2019-07-23
US20170324399A1 (en) 2017-11-09
CN107368145A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
US6016071A (en) Internal source clock generation circuit for use with power management scheme
US7181188B2 (en) Method and apparatus for entering a low power mode
US20180150099A1 (en) Low power autonomous peripheral management
KR101242893B1 (ko) 프로세서 슬리프 및 웨이크 이벤트들에 대한 시스템에서의 하드웨어 자동 성능 상태 천이
US8041965B2 (en) Power control device for processor
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
KR102340679B1 (ko) 전압 드룹을 위한 클록 조정
US9411714B2 (en) Finite state machine for system management
JP6585000B2 (ja) 半導体集積回路
EP1759460A1 (en) Adaptive control of power supply for integrated circuits
US9450569B1 (en) Very low power real time clock
US10990145B2 (en) Temperature based frequency throttling
JP4421390B2 (ja) 半導体集積回路
JP2012133649A (ja) 半導体装置及び自動車用コントロールシステム
JP7101052B2 (ja) マイクロプロセッサ
JPH08249083A (ja) 電子機器
US20240004455A1 (en) Runtime Aging Compensation and Calibration
US20190179394A1 (en) Method and module for programmable power management, and system on chip
JP2005071203A (ja) マイクロプロセッサ
JP2020098553A (ja) 半導体装置及び半導体装置の制御方法
JP2014002819A (ja) 半導体装置
JP2006127091A (ja) 半導体集積回路
Jacobs et al. Power Management Chapter 21
JP2006072864A (ja) 演算装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190904

R150 Certificate of patent or registration of utility model

Ref document number: 6585000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150