JP2015001832A - Information processor and control method thereof - Google Patents
Information processor and control method thereof Download PDFInfo
- Publication number
- JP2015001832A JP2015001832A JP2013126130A JP2013126130A JP2015001832A JP 2015001832 A JP2015001832 A JP 2015001832A JP 2013126130 A JP2013126130 A JP 2013126130A JP 2013126130 A JP2013126130 A JP 2013126130A JP 2015001832 A JP2015001832 A JP 2015001832A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- delay
- clocks
- circuit block
- types
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、回路ブロックに供給するクロック、特に、それぞれが電源電圧の供給及び遮断が制御可能な複数の回路ブロックに供給するクロックの生成技術に関するものである。 The present invention relates to a technique for generating a clock to be supplied to a circuit block, in particular, a clock to be supplied to a plurality of circuit blocks, each of which can control supply and cutoff of a power supply voltage.
半導体製造技術の進歩による素子の微細化に伴い、LSI(Large Scale Integration)等の情報処理装置は、半導体プロセスの進化に伴い大規模化され、搭載されるトランジスタ数が飛躍的に増大してきている。また、LSI等の情報処理装置には、高速動作や低消費電力等の性能向上が求められている。情報処理装置には一般に搭載するCPU(Central Processing Unit)、DSP(Digital Signal Processor)、演算器もしくは演算ユニット等の演算要素の数を増やすことで処理性能を向上させることができる。しかし、情報処理装置に搭載する演算要素の数を増やすと、消費電力が増大してしまう。 With the miniaturization of elements due to advances in semiconductor manufacturing technology, information processing devices such as LSI (Large Scale Integration) have been scaled up with the evolution of semiconductor processes, and the number of transistors mounted has increased dramatically. . Further, information processing apparatuses such as LSIs are required to improve performance such as high-speed operation and low power consumption. Processing performance can be improved by increasing the number of arithmetic elements such as a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an arithmetic unit or an arithmetic unit that are generally installed in an information processing apparatus. However, increasing the number of computing elements mounted on the information processing apparatus increases power consumption.
情報処理装置における消費電力には、機能動作により消費されるダイナミック電力と、搭載されているトランジスタに電源を供給するだけで消費されるスタティック電力とがある。ダイナミック電力は、システムクロックに同期して機能動作する際に消費される電力で、クロックエッジに同期して電流が消費される。スタティック電力は、トランジスタの寄生容量に充電される電荷とリーク電流のために消費される電力である。リーク電流を削減するには、電源電圧の供給及び遮断が制御可能な回路構造にする方法が有効である。そのため、LSIに搭載される電源制御可能な回路ブロックを増やすことで、低消費電力化を実現することが出来る。 The power consumption in the information processing apparatus includes dynamic power consumed by functional operation and static power consumed only by supplying power to the mounted transistor. Dynamic power is power consumed when a functional operation is performed in synchronization with a system clock, and current is consumed in synchronization with a clock edge. Static power is power consumed for charge and leakage current charged in the parasitic capacitance of the transistor. In order to reduce the leakage current, it is effective to use a circuit structure in which supply and interruption of the power supply voltage can be controlled. Therefore, the power consumption can be reduced by increasing the number of circuit blocks that can be controlled in the power supply mounted on the LSI.
ところで、電源制御可能な回路ブロックを処理に用いる場合には、電源が遮断状態から電源供給が復帰する際、対象となる回路ブロックの初期化動作を実行する。このとき、クロックに同期して一度に回路が動作するため通常動作時に比較しより大きな電流が流れ、特に、初期化動作時に用いられるクロックエッジで瞬間的に多くの電流が流れる。また、LSIに多数の演算要素を搭載した情報処理装置では、電源制御可能な回路ブロックが他種多様な形態で構成されるため、初期化動作もランダムに発生する。そのため、情報処理装置に構成された多数の回路ブロックが、同時に初期化動作を開始した場合、初期化動作用クロックに同期して瞬間的に大きな電流が流れ、信号にノイズ等が発生してしまう。 By the way, when a circuit block capable of controlling the power supply is used for processing, the initialization operation of the target circuit block is executed when the power supply returns from the power-off state. At this time, since the circuit operates at a time in synchronization with the clock, a larger current flows than in the normal operation, and in particular, a large amount of current instantaneously flows at the clock edge used in the initialization operation. Further, in an information processing apparatus in which a large number of arithmetic elements are mounted on an LSI, circuit blocks that can be controlled by power supplies are configured in various other forms, and therefore an initialization operation also occurs at random. For this reason, when a large number of circuit blocks configured in the information processing apparatus start the initialization operation at the same time, a large current instantaneously flows in synchronization with the initialization operation clock, and noise is generated in the signal. .
そこで、特許文献1では、情報処理装置での初期化動作時の瞬間的な電流を抑制するために、回路ブロック毎に初期化動作の開始タイミングを意図的にずらし、ピーク電流を抑える技術が提案されている。また、特許文献2では、情報処理装置の動作時にデータの転送を阻害しない範囲内で 一定量クロックタイミングをずらしてピーク電力を抑える技術が提案されている。
Therefore,
しかしながら、特許文献1に記載の技術においては、初期化動作に使用する初期化動作用クロックを各回路ブロックに供給する際、サイクル単位でずらして生成している。そのため、システム全体での初期化動作に係る時間を増大させてしまい処理性能が劣化してしまう。また、特許文献2に記載の技術においては、動作時にデータの転送を阻害しない範囲内で一定量クロックタイミングをずらしてピーク電力を抑える。そのため、データ転送が可能となるような遅延調整を回路ブロック間のいたるところで行わなければならず実装に手間がかかる。また、通常動作用クロックの制約を受けるため、自由なタイミングで初期化動作用クロックを調整することが出来ない。
本発明は、上述の問題点に鑑みなされたものであり、複数の回路ブロックの初期化動作におけるピーク電流の低減及びノイズ抑制を可能とするクロック生成技術を提供することを目的とする。
However, in the technique described in
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a clock generation technique capable of reducing a peak current and suppressing noise in an initialization operation of a plurality of circuit blocks.
上述の問題点を解決するため、本発明に係る情報処理装置は以下の構成を備える。すなわち、情報処理装置は、入力クロックからエッジの揃った複数種のクロックを生成するクロック生成手段と、前記複数種のクロックに対する複数種の遅延値を決定する遅延値決定手段と、前記遅延値決定手段で決定した遅延値に基づいて、前記複数種のクロックの各々に対して遅延処理を行う遅延設定手段と、前記遅延設定手段で遅延させた前記複数種のクロックを、対応する回路ブロックの初期化動作時に供給するか否かを制御する制御信号を生成する制御信号生成手段と、前記制御信号に基づいて、対応する回路ブロックへ供給するクロックを切り替えるクロック制御手段と、を有する。 In order to solve the above-described problems, an information processing apparatus according to the present invention has the following configuration. That is, the information processing apparatus includes a clock generation unit that generates a plurality of types of clocks having edges aligned from an input clock, a delay value determination unit that determines a plurality of types of delay values for the plurality of types of clocks, and the delay value determination A delay setting means for performing a delay process on each of the plurality of types of clocks based on the delay value determined by the means, and the plurality of types of clocks delayed by the delay setting means in an initial stage of a corresponding circuit block Control signal generating means for generating a control signal for controlling whether or not to supply during the merging operation, and clock control means for switching the clock supplied to the corresponding circuit block based on the control signal.
本発明によれば、複数の回路ブロックの初期化動作におけるピーク電流の低減及びノイズ抑制を可能とするクロック生成技術を提供することができる。 According to the present invention, it is possible to provide a clock generation technique capable of reducing a peak current and suppressing noise in an initialization operation of a plurality of circuit blocks.
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The following embodiments are merely examples, and are not intended to limit the scope of the present invention.
(第1実施形態)
本発明に係る情報処理装置の第1実施形態として、複数の回路ブロックを有する情報処理装置100を例に挙げて以下に説明する。
(First embodiment)
An
<装置構成>
図1は、第1実施形態に係る情報処理装置100の構成例を示す図である。ここでは、情報処理装置100は、クロック生成部101、遅延値決定部102、遅延設定部103、制御信号生成部104、クロック制御部105、OSC106、及び4つの回路ブロックA107〜D110を含む。
<Device configuration>
FIG. 1 is a diagram illustrating a configuration example of an
オシレータ(OSC)106は、信号処理の基準となるクロックを生成する機能部である。具体的には、初期化動作のための基準クロックCLKと、通常動作用クロックCLK4を生成する。 The oscillator (OSC) 106 is a functional unit that generates a clock that serves as a reference for signal processing. Specifically, a reference clock CLK for initialization operation and a normal operation clock CLK4 are generated.
クロック生成部101は、初期化動作のための基準クロックCLKから初期化動作時に使用されるエッジの揃った複数種のクロック(ここでは、CLK0、CLK1、CLK2、CLK3)を生成する。クロック生成部101は、生成したエッジの揃った複数種のクロックを遅延設定部103に供給する。また、クロック生成部101は、遅延値決定部102に、クロック情報111を送信される。クロック情報111には、クロック生成部で生成したクロックの周期(分周等含む)やクロック本数の情報が含まれる。
The
制御信号生成部104は、初期化動作時にクロック制御部105に送信することになる制御信号を生成する。なお、初期化動作時には、対象となる回路ブロックの初期化を行うため、外部(例えば後述のCPU1001)からリセット信号が入力され初期化が実行される。例えば、回路ブロックA107、回路ブロックB108、回路ブロックC109、回路ブロックD110の各回路ブロックに対応したリセット信号(RESET_A、RESET_B、RESET_C、RESET_D)が入力される。制御信号生成部104は、各回路ブロックに入力されたリセット信号に基づいて、初期化時のクロックを制御する制御信号を生成しクロック制御部105に送信する。また、制御信号生成部104は、初期化動作の対象となる回路ブロックの情報を保持しており、対象となる回路ブロックの情報113を遅延値決定部102に送信する。
The control
ここで説明している初期化動作は、システム起動時のように情報処理装置100の電源遮断状態から電源供給状態に変化した場合の他、情報処理装置100の処理内容が切り替わる場合に実行される。例えば、情報処理装置100に含まれる電源制御可能な回路ブロックに対する電源供給が電源遮断状態から電源供給状態に復帰するような場合も含まれる。
The initialization operation described here is executed not only when the
図14は、電源制御可能な回路の構成を例示的に示す図である。例えば、電源電圧の供給及び遮断が制御可能な回路1401は、シリコン基板上に構成されたLSI回路の一部である。回路1401は、論理回路で構成される回路ブロック1402(ブロック内部の詳細は省略)と、電源を制御する電源制御部1403とを含むよう構成される。電源制御部1403は、入力信号1404の値に基づいて、回路ブロック1402に対して電源供給状態にするか電源遮断状態にするかを決定する。電源供給状態のときに回路ブロック1402が動作することになる。ここでは、回路ブロックA107、回路ブロックB108、回路ブロックC109、回路ブロックD110は、それぞれが、図14に示す構成を含むものとする。
FIG. 14 is a diagram exemplarily showing a configuration of a circuit capable of controlling the power supply. For example, the
遅延値決定部102は、クロック生成部101が生成した各クロックに設定する遅延値情報112を生成し、遅延値情報112を遅延設定部103に送信する機能部である。詳細は後述するが、遅延値決定部102は、クロック生成部101から取得したクロック情報111及び、制御信号生成部104から取得した回路ブロックの情報113に基づいて、各クロックに設定する遅延値情報112を生成する。また、遅延値決定部102は、回路ブロック情報113に応じたクロック本数を決定し、クロック割り当て情報114として制御信号生成部104に送信するよう構成されている。
The delay
遅延設定部103は、遅延値決定部102で決定された遅延情報に基づき、各クロックに対して遅延を付加する機能部である。そして、遅延設定部103は、遅延を付加したクロックを、制御信号生成部104及びクロック制御部105に供給する。
The
クロック制御部105は、制御信号生成部104から送信された制御信号に基づき、初期化動作用クロック(CLK0_D、CLK1_D、CLK2_D、CLK3_D)と、通常動作用クロック(CLK4)を切り替えて各回路ブロックに供給する。ここでは、回路ブロックA107に供給するクロックCLK_Aは、制御信号SL_Aにより、回路ブロックB108に供給するクロックCLK_Bは、制御信号SL_Bにより制御するものとする。同様に、回路ブロックC109に供給するクロックCLK_Cは、制御信号SL_Cにより、回路ブロックD110に供給するクロックCLK_Dは、制御信号SL_Dにより制御するものとする。
Based on the control signal transmitted from the control
図10は、情報処理装置100を含む処理装置全体の構成を示すブロック図である。CPU1001は、処理装置全体の制御を司る機能部である。ROM(Read Only Memory)1002は、ブートプログラムなどを記憶している。RAM(Random Access Memory)1003は、例えばCPU1001のワークエリアとして利用される機能部である。ハードディスクドライブ(HDD)1004は、OS(Operating System)、回路構成情報を作成するためのアプリケーション、並びに様々なデータを格納するための機能部である。
FIG. 10 is a block diagram illustrating a configuration of the entire processing apparatus including the
キーボード1005及びマウス1006は、ユーザからの指示を受け付けるユーザインタフェースとして機能する。表示制御部1007は、内部にビデオメモリ及び表示コントローラを内蔵する。表示装置1008は、表示制御部1007からの映像信号を受信し、各種の情報を表示するための機能部である。インタフェース(I/F)1009は、各種外部デバイスと接続するための機能部である。例えば、I/F1009は、図10に示した外部メモリ1010を接続することで、処理装置が作成した処理情報を外部メモリ1010に書き込むことが出来る。
The
図10に示した処理装置に電源が投入されると、CPU1001は、ROM1002に格納されたブートプログラムを実行し、HDD1004に格納されたOSをRAM1003にロードする。その後、処理情報を作成するアプリケーションを起動することで、所定の処理を行う装置として機能する。また、システム起動時に、情報処理装置100に対しリセット信号が送信され、情報処理装置100は電源遮断状態から電源供給状態となり初期化動作が実行される。
When the processing apparatus shown in FIG. 10 is turned on, the
図3は、第1実施形態におけるクロック生成部の構成例を示す図である。図3(A)は、異なる回路ブロック(回路ブロックA107〜回路ブロックD110)に供給する初期化動作用クロックを同一周期、同一位相で供給する場合の構成を示す図である。この場合、クロック生成部101からは、4つのクロック信号(CLK0〜CLK3)が同一周期、同一位相で出力される。一方、図3(B)は、異なる回路ブロック(回路ブロックA107〜回路ブロックD110)に供給する初期化動作用クロックに分周クロックを利用した場合の構成を示す図である。この場合、クロック生成部101からは、元のクロックCLK0及び、分周器302により分周された3つのクロック(CLK1、CLK2、CLK3)が出力される。
FIG. 3 is a diagram illustrating a configuration example of the clock generation unit in the first embodiment. FIG. 3A is a diagram showing a configuration in the case where clocks for initialization operation supplied to different circuit blocks (circuit block A107 to circuit block D110) are supplied in the same cycle and in the same phase. In this case, the
図4は、第1実施形態における初期化動作用クロックの遅延値設定の例を示す図である。図4(A)は、同一周期、同一位相で供給する場合の遅延値設定の例である。一方、図4(B)は、分周クロックを利用する場合の遅延値設定の例である。 FIG. 4 is a diagram illustrating an example of setting a delay value of the initialization operation clock according to the first embodiment. FIG. 4A shows an example of delay value setting in the case of supplying with the same period and the same phase. On the other hand, FIG. 4B is an example of setting a delay value when a divided clock is used.
遅延値設定401では、CLK1の遅延値が1/4周期、CLK2の遅延値が1/8周期、CLK3の遅延値が1/16周期である初期化動作用クロックを設定することを示す。すなわち、CLK0に対し、CLK0のクロック周期の1/2N(Nは2以上の整数)が遅延値として設定されている。各クロックに対し異なる遅延値を設定することで、初期化動作用クロックの位相をずらすことが出来る。 The delay value setting 401 indicates that an initialization operation clock is set in which the delay value of CLK1 is 1/4 cycle, the delay value of CLK2 is 1/8 cycle, and the delay value of CLK3 is 1/16 cycle. That is, 1/2 N (N is an integer of 2 or more) of the clock period of CLK0 is set as the delay value with respect to CLK0. By setting a different delay value for each clock, the phase of the initialization operation clock can be shifted.
一方、遅延値設定402は、各クロックに対し1/8周期毎に位相をずらす場合、遅延値設定403では、各クロックに対し1/16周期毎に位相をずらす場合を示している。 On the other hand, the delay value setting 402 indicates a case where the phase is shifted every 1/8 period for each clock, and the delay value setting 403 indicates a case where the phase is shifted every 1/16 period for each clock.
図9は、遅延付加前後のクロックのタイミング例を示す図である。図9(A)は、遅延設定部103に入力される、同一周期、同一位相の4つのクロック信号(CLK0、CLK1、CLK2、CLK3)を示している。そして、図9(B)は、遅延設定部103から出力される、それぞれが異なる遅延量(位相)を有する4つのクロック信号(CLK0_D、CLK1_D、CLK2_D、CLK3_D)を示している。
FIG. 9 is a diagram illustrating an example of clock timings before and after adding a delay. FIG. 9A shows four clock signals (CLK 0,
例えば、遅延設定部103の入力が図9(A)のt1のタイミングで生成されていた場合、遅延設定部103の出力信号は、図9(B)のようになる。CLK1_Dは、t1のタイミングでCLK0の位相を1/4周期ずらしたクロックであり、CLK2_Dは、1/8周期ずらしたクロックであり、CLK3_Dは、1/16周期ずらしたクロックである。この場合、各クロックは同一周期であるため、CLK1の立ち上がりエッジを遅延させてCLK1_Dとすることで、他の入力クロック(CLK0、CLK2、CLK3)の立ち上がりエッジをずらすことが出来る。また入力クロックは同一周期であるため、同時に立下りエッジもずらすことが出来る。ここでは、1/(2のべき乗)でクロックの位相調整を行っているが、立ち上がりエッジ、立下りエッジが重ならなければ上記設定以外の値で位相をずらしても良い。
For example, when the input of the
ただし、例えば、CLK1を1/4周期ずらしてCLK1_Dを生成し、CLK3を3/4周期ずらしてCLK3_Dを生成した場合には、CLK1_DのクロックとCLK3_Dのクロックは逆相となる。そのため、CLK1_Dの立下りエッジとCLK3_Dの立ち上がりエッジ、CLK1_Dの立ち上がりエッジとCLK3_Dの立下りエッジがそれぞれ重なる。そのため、別途、重なりの発生回避を考慮した設定が必要となる。 However, for example, when CLK1_D is generated by shifting CLK1 by 1/4 period and CLK3_D is generated by shifting CLK3 by 3/4 period, the clock of CLK1_D and the clock of CLK3_D are in opposite phases. Therefore, the falling edge of CLK1_D and the rising edge of CLK3_D overlap, and the rising edge of CLK1_D and the falling edge of CLK3_D overlap. For this reason, it is necessary to separately set in consideration of avoiding the occurrence of overlap.
また、図4(B)の遅延値設定404では、CLK0の遅延値がCLK0の1/4周期、CLK1がCLK1の1/4周期、CLK2の遅延値がCLK2の1/4周期、CLK3の遅延値がCLK3の1/4周期で設定することを示している。同様に、遅延値設定405は、それぞれのクロックの1/8周期で位相をずらす例を示している。すなわち、それぞれのクロック周期の1/2N(Nは2以上の整数)が遅延値として設定されている。 Further, in the delay value setting 404 of FIG. 4B, the delay value of CLK0 is 1/4 period of CLK0, CLK1 is 1/4 period of CLK1, delay value of CLK2 is 1/4 period of CLK2, and delay of CLK3. It shows that the value is set in a quarter cycle of CLK3. Similarly, the delay value setting 405 shows an example in which the phase is shifted in 1/8 period of each clock. That is, 1/2 N (N is an integer of 2 or more) of each clock cycle is set as the delay value.
図9(C)は、遅延設定部103に入力される、4つクロック信号(CLK0、及び分周したCLK1、CLK2、CLK3)を示している。そして、図9(D)は、遅延設定部103から出力される、それぞれが異なる遅延量(位相)を有する4つのクロック信号(CLK0_D、CLK1_D、CLK2_D、CLK3_D)を示している。
FIG. 9C illustrates four clock signals (CLK0 and divided CLK1, CLK2, and CLK3) input to the
例えば、遅延設定部103の入力が図9(C)のt1のタイミングで生成されていた場合、分周クロックを用いているため、各クロック信号のクロック周期は異なる。ここでは、CLK0の周期をTとすると、CLK1の周期は2T、CLK2の周期は4T、CLK3の周期は8Tとなる。ここで、例えば、遅延値設定401のように、CLK1を1/4周期ずらし、CLK3を1/16周期ずらすと、クロックの立ち上がりエッジ同士が重なってしまう。そこで、分周クロックを用いる場合は、図4(B)に示すように各クロックに対し固定の遅延割合を設定することで重なりが生じないようにする。すなわち、CLK0を1/4周期ずらしたCLK0_D、CLK1を1/4周期ずらしたCLK1_D、CLK2を1/4周期ずらしたCLK2_D、CLK3を1/4周期ずらしたCLK3_Dを生成する。
For example, when the input of the
このように、遅延設定部103で遅延付加されたクロックが、クロック制御部105を介して、各回路ブロック(ここでは、回路ブロックA〜D)のクロックとして割り当てられることになる。
As described above, the clock added with a delay by the
<装置の動作>
図2は、第1実施形態における情報処理装置の動作例を示すフローチャートである。また、図7は、第1実施形態における初期化動作における各クロックの開始タイミングを説明する図である。
<Operation of the device>
FIG. 2 is a flowchart illustrating an operation example of the information processing apparatus according to the first embodiment. FIG. 7 is a diagram for explaining the start timing of each clock in the initialization operation in the first embodiment.
図7の最上段には、OSC106から出力されるクロックである通常動作用クロック(CLK4)及び初期化動作用クロック(CLK)を示している。ここでは、初期化動作用クロックを通常動作用クロックの1/2の周波数(2倍の周期)のクロックとして説明しているが、その他の周波数のクロックであっても良く、同一であってもよい。そして、次に、CLKに基づいてクロック生成部101により出力されるクロック(CLK0、CLK1、CLK2、CLK3)を示している。更に、遅延設定部103により出力されるクロック(CLK0_D、CLK1_D、CLK2_D、CLK3_D)を示している。
7 shows a normal operation clock (CLK4) and an initialization operation clock (CLK) which are clocks output from the OSC. Here, the initialization operation clock is described as a clock having a frequency ½ that of the normal operation clock (twice the period), but it may be a clock of other frequency or the same. Good. Next, clocks (CLK0, CLK1, CLK2, CLK3) output by the
併せて、回路ブロックA〜Dの各回路ブロックに対応したリセット信号(RESET_A、RESET_B、RESET_C、RESET_D)の入力タイミングが示されている。そして、当該リセット信号に基づいて制御信号生成部104により生成される制御信号(SL_A、SL_B、SL_C、SL_D)のタイミングを示す。
In addition, the input timing of the reset signals (RESET_A, RESET_B, RESET_C, RESET_D) corresponding to each circuit block of the circuit blocks A to D is shown. And the timing of the control signals (SL_A, SL_B, SL_C, SL_D) generated by the control
そして、図7の最下段には、クロック制御部105により出力されるクロック(CLK_A、CLK_B、CLK_C、CLK_D)が示されている。なお、CLK_Aは、SL_Aの立ち上がりタイミングで、出力されるクロックがCLK4からCLK0_Dに切り替わった信号に相当する。同様に、CLK_Bは、SL_Bの立ち上がりタイミングで、出力されるクロックがCLK4からCLK1_Dに切り替わった信号に相当する。また、CLK_Cは、SL_Cの立ち上がりタイミングで、出力されるクロックがCLK4からCLK2_Dに切り替わった信号に相当する。そして、CLK_Dは、SL_Dの立ち上がりタイミングで、出力されるクロックがCLK4からCLK3_Dに切り替わった信号に相当する。
7 shows clocks (CLK_A, CLK_B, CLK_C, CLK_D) output by the
ステップS201では、情報処理装置100は、処理に使用する基準クロック(CLK)をOSC106からクロック生成部101に入力する。
In step S <b> 201, the
ステップS202では、クロック生成部101は、S201で入力された基準クロックから、エッジの揃った複数種のクロックを生成する。つまり、前述したように、クロック生成部101は、4つの初期化動作用クロック(CLK0、CLK1、CLK2、CLK3)を生成する。以降の説明は、前述の図3(B)の分周クロックを用いた場合に対応する。
In step S202, the
ステップS203では、遅延値決定部102は、初期化動作時のクロック情報111を取得する。そして、遅延値決定部102は、S202で生成したエッジの揃った複数種のクロックの情報をクロック生成部101から取得する。クロック情報111には、初期化動作用クロックとして使用可能なクロック本数、及びクロック周期、同期関係の情報が含まれる。ここでは、クロック本数が4本、CLKの分周クロックの情報を取得する。
In step S203, the delay
ステップS204では、遅延値決定部102は、初期化動作時の回路ブロック情報113を取得する。そして、遅延値決定部102は、初期化動作の対象となる回路ブロック数の情報を制御信号生成部104から取得する。特に、電源電圧の供給及び遮断が制御可能な回路ブロックが含まれる場合、処理内容の切り替わり時には再度、回路ブロック情報を取得することになる。これは、電源遮断状態から電源供給が再開する際、処理内容により対象となる回路ブロックが異なるためである。
In step S204, the delay
ステップS205では、遅延値決定部102は、各初期化動作用クロックに対して遅延値の決定を行う。遅延値の決定に関しては、図5を用いて詳細に説明する。
In step S205, the delay
図5は、第1実施形態における遅延値決定部の動作例を示すフローチャートである。 FIG. 5 is a flowchart illustrating an operation example of the delay value determination unit in the first embodiment.
ステップS501では、遅延値決定部102は、S203で取得したクロック情報と、S204で取得した回路ブロック情報から、初期化動作用クロック数と取得した回路ブロック数の比較を行う。
In step S501, the delay
ステップS502では、遅延値決定部102は、S501で比較した結果、初期化動作用クロック数と回路ブロック数が等しいかを判定する。初期化動作用クロック数と回路ブロック数が等しい場合には、S505へと移行する。一方、等しくない場合には、S503へと移行する。ここでは、図1のように初期化動作用クロック数と回路ブロック数が等しい場合を説明するので、S505に移動する。
In step S502, the delay
ステップS503では、遅延値決定部102は、初期化動作用クロック数と回路ブロック数の大小関係を判定する。初期化動作用クロック数の方が回路ブロック数よりも大きい場合には、S505へと移行する。一方、初期化動作用クロック数の方が回路ブロック数よりも小さい場合には、S504へと移行する。ここで、判定結果はクロック割り当て情報114として制御信号生成部104へと送信される。
In step S503, the delay
ステップS504では、制御信号生成部104は、あらかじめ取得している回路ブロック情報から、回路ブロックのグループ設定を行う。つまり、クロック制御部105により設定可能な初期化動作用クロック数の方が回路ブロック数よりも小さいため、全ての回路ブロックに、別の初期化動作用クロックが割り当てられないため、グループ化を行うのである。ここでは、例えば、最優先に初期化動作用クロックを割り当てるグループと、次に割り当てるグループの優先順位を決定する。
In step S504, the control
図8は、各回路ブロックに対するクロックの割り当ての例を示す図である。例えば、初期化対象となる回路ブロックが5個あり、クロック数が4つの場合には、図8のように、最優先に初期化動作するグループを回路ブロック1、回路ブロック2、回路ブロック3、回路ブロック4を割り当て、次のグループに回路ブロック5を割り当てる。
FIG. 8 is a diagram illustrating an example of clock allocation to each circuit block. For example, when there are five circuit blocks to be initialized and the number of clocks is four, as shown in FIG. 8, the group that performs the initialization operation with the highest priority is the
この場合、最初に優先的に割り当てられたグループ1の処理が行われ、グループ1の回路ブロックの処理が終了した段階で、次に割り当てられたグループ2の処理を行う。この時、グループ単位処理で処理終了を検知し次の処理を開始しても良いし、グループを構成する回路ブロック単位で処理終了を検知し次の処理を開始するようにしても良い。ただし、あらかじめ初期化動作用クロックの個数を十分用意出来れば、初期化対象となる回路ブロックの割り当てが容易となり、グループ割り当ては不要となる。
In this case, the processing of the
なお、グループの決定は、各回路ブロックのゲート規模情報やリセットに必要な期間情報を元に決定するとよい。例えば、ゲート規模が大きいブロックを最優先に割り当てたり、リセット期間の短い回路ブロックを最優先に割り当てることが出来る。ただし、ユーザが指定した回路ブロックを優先的に割り当てても良いし、他の回路ブロック動作状態や前述の複数の情報を組み合わせて割り当てを決定しても良い。 The group may be determined based on gate scale information of each circuit block and period information necessary for resetting. For example, a block with a large gate scale can be assigned with the highest priority, or a circuit block with a short reset period can be assigned with the highest priority. However, the circuit block designated by the user may be preferentially assigned, or the assignment may be determined by combining other circuit block operation states and the plurality of information described above.
ステップS505では、制御信号生成部104は、S504で設定したグループに対して、初期化動作用クロックの割り当てを行う。ここでは、グループ1に4個の回路ブロックが割り当てられているため、各回路ブロックに4つの何れの初期化動作用クロックを割り当てるかを決定する。
In step S505, the control
グループ内の回路ブロック数が4個以下であるため、図4(A)の遅延値設定401〜403、及び、図4(B)の遅延値設定404〜405のいずれかの遅延値が各クロックに割り当てられる。同一周期、同一位相のクロックの場合には、図4(A)の遅延値設定が利用され、分周クロックを利用する場合には、図4(B)の遅延値設定が利用されることになる。クロックの割り当ては、S504と同様に、各回路ブロックのゲート規模の情報やリセットに必要な期間の情報を元に優先順位を変更して割り当てても良い。
Since the number of circuit blocks in the group is four or less, any one of the delay values of the
ステップS506では、遅延設定部103は、初期化動作用クロックの1つを選択する。ここでは、CLK0、CLK1、CLK2、CLK3のいずれか1つのクロックを選択する。
In step S506, the
ステップS507では、遅延設定部103は、S506で選択したクロックに対する遅延値を取得する。例えば、CLK0に対する遅延値を取得する。
In step S507, the
ステップS508では、遅延設定部103は、初期化動作の対象となる回路ブロックに供給する全てのクロックに遅延値を取得したかを判定する。全てのクロックの遅延値が取得していない場合は、S506へと移行し、対象となる次のクロックの遅延値を取得する。そして、全てのクロックに対する遅延値の取得が完了すると、動作処理を終了する。
In step S508, the
ステップS206では、遅延設定部103は、S205で取得した遅延値に基づき、各クロックに対し遅延を付加する。例えば、前述の分周クロックを用いた場合は、図4(B)の遅延値設定405のように、CLK0、CLK1、CLK2、CLK3に対して、それぞれのクロックの1/8周期の遅延を付加する。
In step S206, the
なお、遅延値決定部102でクロック割り当て情報114から初期化動作用クロックの本数が決定され、処理する回路ブロック数が多い場合には、制御信号生成部104でグループが決定される。各回路ブロックへの初期化動作用クロックの割り当てが終了した時点で初期化動作用クロックへの切り替えが可能な状態となる。
The delay
尚、新たに初期化動作が必要な場合でも、初期化動作の前後で回路ブロックの数が同じであれば、新たな初期化動作用クロック割り当てる処理をバイパスすることも可能である。その場合は、処理が終了した回路ブロックの初期化動作用クロックを、新たな回路ブロックの初期化動作用クロックに割り当てるようにすれば良い。 Even when a new initialization operation is required, a process for assigning a new initialization operation clock can be bypassed if the number of circuit blocks is the same before and after the initialization operation. In that case, the initialization operation clock of the circuit block for which processing has been completed may be assigned to the initialization operation clock of the new circuit block.
図6は、第1実施形態における遅延設定部の構成例を示す図である。遅延値決定部102から取得した遅延値情報112は、各クロックの遅延付加部601、遅延付加部602、遅延付加部603、遅延付加部604に供給される。
FIG. 6 is a diagram illustrating a configuration example of the delay setting unit in the first embodiment. The
遅延付加部602は、例えば、拡大図に示すように、遅延ロックループ(DLL)605のように出力クロックを監視して配線遅延を補償する回路構成によって、特定位相をずらすことが出来る。また、遅延素子を直列に1以上並べて任意の遅延値を切替器(切替手段)で選択する構成でも良い。その他の遅延付加部601、遅延付加部603、遅延付加部604も同様の構成となる。
For example, as shown in the enlarged view, the
遅延付加部601は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK0を、CLK0の1/8周期だけ遅延させたCLK0_Dを出力する。同様に、遅延付加部602は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK1を、CLK1の1/8周期だけ遅延させたCLK1_Dを出力する。遅延付加部603は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK2を、CLK2の1/8周期だけ遅延させたCLK2_Dを出力する。遅延付加部604は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK3を、CLK3の1/8周期だけ遅延させたCLK3_Dを出力する。
Based on the
ここでは、図7に示されるように、CLK0は、T21のタイミングにずれたCLK0_D、CLK1は、T22のタイミングにずれたCLK1_Dとなる。また、CLK2は、T23のタイミングにずれたCLK2_D、CLK3は、T24のタイミングにずれたCLK3_Dとなる。 Here, as shown in FIG. 7, CLK0 is CLK0_D shifted to the timing of T21, and CLK1 is CLK1_D shifted to the timing of T22. CLK2 is CLK2_D shifted to the timing of T23, and CLK3 is CLK3_D shifted to the timing of T24.
ステップS207では、制御信号生成部104は、各回路ブロックへのリセット信号に基づいて、初期化時の制御信号を生成する。すなわち、制御信号生成部104は、リセット信号(RESET_A、RESET_B、RESET_C、RESET_D)を受信すると、対象となる回路ブロックの初期化動作に必要なクロック数から制御信号を生成する。
In step S207, the control
回路ブロックA107のリセット信号RESET_Aに基づき制御信号SL_Aを生成し、回路ブロックB108のリセット信号RESET_Bに基づき制御信号SL_Bを生成する。同様に、回路ブロックC109のリセット信号RESET_Cに基づき制御信号SL_Cを生成し、回路ブロックD110のリセット信号RESET_Dに基づき制御信号SL_Dを生成する。なお、回路ブロックの初期化動作に必要なクロック数が終了した時点で制御信号はインアクティブになるように制御する。 A control signal SL_A is generated based on the reset signal RESET_A of the circuit block A107, and a control signal SL_B is generated based on the reset signal RESET_B of the circuit block B108. Similarly, the control signal SL_C is generated based on the reset signal RESET_C of the circuit block C109, and the control signal SL_D is generated based on the reset signal RESET_D of the circuit block D110. The control signal is controlled to become inactive when the number of clocks necessary for the initialization operation of the circuit block is completed.
なお、上記回路ブロックの他に回路ブロックEが存在した場合には、前述のようにグループ処理が行われ、上記制御信号(SL_A、SL_B、SL_C、SL_D)のいずれかの信号が回路ブロックEの制御信号に割り当てられることになる。 When the circuit block E exists in addition to the circuit block, the group processing is performed as described above, and any one of the control signals (SL_A, SL_B, SL_C, SL_D) is output from the circuit block E. It will be assigned to the control signal.
ステップS208では、クロック制御部105は、S207で生成され受信した制御信号により、通常動作用クロックと初期化動作用クロックとの切り替えを行う。ここでは、回路ブロックA107では、通常動作時は、クロック生成部101で生成された通常動作用クロックCLK4が選択されている。一方、初期化動作時は、元の遅延処理された初期化動作用クロックCLK0_Dが選択される。
In step S208, the
同様に、回路ブロックB108では、通常動作時は、通常動作用クロックCLK4が選択され、初期化動作時は、元の遅延処理された初期化動作用クロックCLK1_Dが選択される。回路ブロックC109では、通常動作時は、通常動作用クロックCLK4が選択され、初期化動作時は、元の遅延処理された初期化動作用クロックCLK2_Dが選択される。回路ブロックD110では、通常動作時は、通常動作用クロックCLK4が選択され、初期化動作時は、元の遅延処理された初期化動作用クロックCLK3_Dが選択される。 Similarly, in the circuit block B108, the normal operation clock CLK4 is selected during the normal operation, and the original initialization operation clock CLK1_D subjected to the delay process is selected during the initialization operation. In the circuit block C109, the normal operation clock CLK4 is selected in the normal operation, and the original initialization operation clock CLK2_D subjected to the delay process is selected in the initialization operation. In the circuit block D110, the normal operation clock CLK4 is selected during the normal operation, and the original initialization operation clock CLK3_D subjected to the delay process is selected during the initialization operation.
以上説明したように第1実施形態によれば、複数の回路ブロックの初期化動作時に各初期化動作用クロックの立上りエッジと立下りエッジの重なりを回避することで出来る。そのため、システム全体での初期化動作時のピーク電流を削減可能になると共にノイズの抑制も併せて可能になる。 As described above, according to the first embodiment, it is possible to avoid the overlapping of the rising edge and the falling edge of each initialization operation clock during the initialization operation of a plurality of circuit blocks. Therefore, the peak current during the initialization operation in the entire system can be reduced, and noise can be suppressed.
この構成は、例えば、システム立ち上げ時の初期化動作における電源遮断状態から電源供給状態への変化タイミングに適用することが出来る。また、それぞれが電源電圧の供給及び遮断が制御可能な複数の回路ブロックを含み、データ処理内容によって使用する回路ブロックを切り替える情報処理装置に適用することも出来る。その場合、例えば、データ処理内容を変更する際に発生する、電源遮断状態から電源供給状態への変化タイミングに適用する。 This configuration can be applied to, for example, the change timing from the power cutoff state to the power supply state in the initialization operation at the time of system startup. Also, the present invention can be applied to an information processing apparatus that includes a plurality of circuit blocks each capable of controlling supply and cutoff of a power supply voltage and that switches circuit blocks to be used depending on data processing contents. In this case, for example, the present invention is applied to the change timing from the power-off state to the power supply state that occurs when the data processing content is changed.
なお、第1実施形態においては、分周クロックを使用する場合(図3(B)、図4(B)、図9(D)に相当)について説明したが、同一周期、同一位相のクロックを使用する構成でも実現可能である。その場合、図3(A)、図4(A)、図9(B)に示されるよう、各クロックに遅延を付加すると良い。さらに、この2つの手法を組み合わせることで、初期化動作用クロックの数を増やす構成としてもよい。 In the first embodiment, the case of using the divided clock (corresponding to FIG. 3B, FIG. 4B, and FIG. 9D) has been described. However, clocks having the same period and the same phase are used. It can also be realized with the configuration used. In that case, it is preferable to add a delay to each clock as shown in FIGS. 3 (A), 4 (A), and 9 (B). Further, a combination of these two methods may increase the number of initialization operation clocks.
(第2実施形態)
本発明に係る情報処理装置の第2実施形態として、複数の回路ブロックを有する情報処理装置100の他の例について以下に説明する。
(Second Embodiment)
Another example of the
<装置構成>
図11は、第2実施形態に係る情報処理装置100の構成例を示す図である。ここでは、クロック生成部1101、及び、遅延設定部1103に係る構成が図1と異なる。そのため、以下では、クロック生成部1101、及び、遅延設定部1103以外の構成についての説明は省略する。
<Device configuration>
FIG. 11 is a diagram illustrating a configuration example of the
クロック生成部1101は、基準クロックCLK、及び、通常動作用クロックCLK4の入力を受け付ける。そして、基準クロックCLKに基づき、初期化動作時に使用されるエッジの揃った複数種のクロック(ここでは、CLK0、CLK1、CLK2、CLK3)を生成するよう構成されている。
The
そして、クロック生成部1101は、制御信号生成部104からの制御信号(SL_A、SL_B、SL_C、SL_D)の入力を受け付けるよう構成されている。制御信号の入力に基づき、クロック生成部1101は、4つのクロック信号(ここでは、CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)を出力する。例えば、CLK0_S1は、通常動作用クロック(CLK4)とCLK0の何れかが選択されて生成されるクロックである。同様に、CLK1_S1は、通常動作用クロック(CLK4)とCLK1の何れかが選択されて生成されるクロックである。CLK2_S1は、通常動作用クロック(CLK4)とCLK2の何れかが選択されて生成されるクロックである。CLK3_S1は、通常動作用クロック(CLK4)とCLK3の何れかが選択されて生成されるクロックである。
The
遅延設定部1103は、遅延値決定部102で決定した遅延値情報112を各クロック(CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)に設定する。クロック生成部1101と同様に制御信号生成部104から初期化動作用クロックと通常動作用クロックを切り替えるための制御信号(SL_A、SL_B、SL_C、SL_D)の入力を受け付けるように構成されている。制御信号に基づいて、初期化動作時には、初期化動作用クロックに遅延を付加したクロックが出力し、通常動作時は通常動作用クロックを出力する。
The
つまり、初期化動作時には、クロック(CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)に対して遅延が付加されたクロック(CLK0_S2、CLK1_S2、CLK2_S2、CLK3_S2)を出力する。一方、通常動作時には、通常動作用クロック(CLK4)をそのままCLK0_S2〜CLK3_S2として出力する。 That is, in the initialization operation, the clocks (CLK0_S2, CLK1_S2, CLK2_S2, CLK3_S2) added with a delay with respect to the clocks (CLK0_S1, CLK1_S1, CLK2_S1, CLK3_S1) are output. On the other hand, during normal operation, the normal operation clock (CLK4) is output as CLK0_S2 to CLK3_S2.
図12は、第2実施形態におけるクロック生成部の構成例を示す図である。ここでは、異なる回路ブロック(回路ブロックA107〜回路ブロックD110)に供給する初期化動作用クロックに分周クロックを利用した場合の構成図を示している。
FIG. 12 is a diagram illustrating a configuration example of the clock generation unit in the second embodiment. Here, a configuration diagram is shown in the case where a divided clock is used as an initialization operation clock supplied to different circuit blocks (
クロック生成部1101からは、内部の4つの選択器1201〜1204によって各回路ブロックに供給されるクロック(CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)が出力される。
The
具体的には、選択器1201〜1204は、それぞれ、制御信号(SL_A、SL_B、SL_C、SL_D)に基づいて初期化動作用クロックと通常動作用クロックの切り替えを行う。初期化動作時には初期化動作用クロックを選択する。すなわち、選択器1201は、制御信号SL_Aに基づいてCLK入力を選択し、選択器1202は、制御信号SL_Bに基づいて分周クロック1205を選択する。同様に、選択器1203は、制御信号SL_Cに基づいて分周クロック1206を選択し、選択器1204は、制御信号SL_Dに基づいて分周クロック1207を選択する。一方、通常動作時には、選択器1201〜1204は、通常動作用クロックCLK4を選択する。
Specifically, the
なお、ここでは説明を簡単にするため、通常動作用クロックが1本(CLK4)の場合で説明しているが、通常動作用クロックが複数存在する構成でも良い。また、分周器302で生成した分周クロック1205〜1207を通常動作用クロックに使用するよう構成しても良い。更に、複数のクロック出力(例えば、CLK1_S1、CLK2_S1)に同一のクロックを割り当てても良い。
Here, for the sake of simplicity of explanation, the case where the number of clocks for normal operation is one (CLK4) is described, but a configuration in which a plurality of clocks for normal operation exist may be used. Further, the frequency-divided
図13は、第2実施形態における遅延設定部の構成例である。遅延値決定部102から取得した遅延値情報112は、各クロックの遅延付加部601、遅延付加部602、遅延付加部603、遅延付加部604に供給される。また、制御信号SL_Aは選択器1301に供給され、制御信号SL_Bは選択器1302に供給される。同様に、制御信号SL_Cは選択器1303に供給され、制御信号SL_Dは選択器1304に供給される。
FIG. 13 is a configuration example of the delay setting unit in the second embodiment. The
遅延付加部601〜604は、それぞれ、図6を参照して説明したように、出力クロックを監視して配線遅延を補償する回路構成によって構成することが出来る。
Each of the
例えば、遅延付加部601は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK0_S1を、CLK0_S1の1/8周期だけ遅延させたクロック1305を出力する。同様に、遅延付加部602は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK1_S1を、CLK1_S1の1/8周期だけ遅延させたクロック1306を出力する。遅延付加部603は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK2_S1を、CLK2_S1の1/8周期だけ遅延させたクロック1307を出力する。遅延付加部604は、遅延値決定部102から取得した遅延値情報112に基づいて、CLK3_S1を、CLK3_S1の1/8周期だけ遅延させたクロック1308を出力する。
For example, the
選択器1301は、制御信号SL_Aに基づいて、初期化動作時には、クロック1305を選択し、通常動作時には、CLK0_S1を選択し、CLK0_S2として出力する。同様に、選択器1302は、制御信号SL_Bに基づいて、初期化動作時には、クロック1306を選択し、通常動作時には、CLK1_S1を選択し、CLK1_S2として出力する。選択器1303は、制御信号SL_Cに基づいて、初期化動作時には、クロック1307を選択し、通常動作時には、CLK2_S1を選択し、CLK2_S2として出力する。選択器1304は、制御信号SL_Dに基づいて、初期化動作時には、クロック1308を選択し、通常動作時には、CLK3_S1を選択し、CLK3_S2として出力する。
Based on the control signal SL_A, the
したがって、遅延付加部604は、初期化動作時には、クロック生成部1101で生成され遅延設定部1103で遅延が付加されたクロックを出力することになる。一方、遅延付加部604は、通常動作時には、クロック生成部1101で生成されたクロックをそのまま(遅延を付加せず)出力することになる。
Therefore, the
尚、第2実施形態では、クロック生成部1101で、初期化動作のための基準クロック及び、通常動作用クロックを入力して、制御信号生成部104の制御信号によりクロックを切り替えて制御している。更に、遅延設定部1103では、初期化動作時に遅延を付加する経路と通常動作用の経路を切り替えてクロックを生成する構成としている。ただし、クロック生成部1101の構成と遅延設定部1103の構成を1つの回路として構成しても良い。
In the second embodiment, the
例えば、上記構成のクロック生成部1101に入力している通常動作用クロック(CLK4)を遅延設定部1103に入力する構成としても良い。この場合、初期化動作用クロックと通常動作用クロックの切り替えと、初期化動作用クロックの遅延付加を両方行う構成とする。この場合、制御信号生成部104で生成する制御信号は、遅延設定部1103にのみ供給すればよい。
For example, the normal operation clock (CLK4) input to the
以上説明したように第2実施形態によれば、複数の回路ブロックの初期化動作時に各初期化動作用クロックの立上りエッジと立下りエッジの重なりを回避することで出来る。そのため、システム全体での初期化動作時のピーク電流を削減可能になると共にノイズの抑制も併せて可能になる。 As described above, according to the second embodiment, it is possible to avoid the overlapping of the rising edge and the falling edge of each initialization operation clock during the initialization operation of a plurality of circuit blocks. Therefore, the peak current during the initialization operation in the entire system can be reduced, and noise can be suppressed.
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
Claims (12)
前記複数種のクロックに対する複数種の遅延値を決定する遅延値決定手段と、
前記遅延値決定手段で決定した遅延値に基づいて、前記複数種のクロックの各々に対して遅延処理を行う遅延設定手段と、
前記遅延設定手段で遅延させた前記複数種のクロックを、対応する回路ブロックの初期化動作時に供給するか否かを制御する制御信号を生成する制御信号生成手段と、
前記制御信号に基づいて、対応する回路ブロックへ供給するクロックを切り替えるクロック制御手段と、
を有することを特徴とする情報処理装置。 A clock generation means for generating a plurality of types of clocks with edges aligned from an input clock;
Delay value determining means for determining a plurality of types of delay values for the plurality of types of clocks;
Delay setting means for performing delay processing on each of the plurality of types of clocks based on the delay value determined by the delay value determining means;
Control signal generating means for generating a control signal for controlling whether or not to supply the plurality of types of clocks delayed by the delay setting means during the initialization operation of the corresponding circuit block;
Clock control means for switching a clock to be supplied to a corresponding circuit block based on the control signal;
An information processing apparatus comprising:
前記遅延値決定手段は、前記複数種のクロックの各々に対して互いに異なる複数種の遅延値を決定する
ことを特徴とする請求項1又は2に記載の情報処理装置。 The clock generation means generates the plurality of types of clocks as the same clock as the input clock,
The information processing apparatus according to claim 1, wherein the delay value determining unit determines a plurality of different delay values for each of the plurality of clocks.
ことを特徴とする請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein the plurality of types of delay values are determined as 1/2 N of a period of the input clock (N is an integer of 2 or more).
前記遅延値決定手段は、前記複数種のクロックの各々に対して、それぞれのクロック周期の1/2N(Nは2以上の整数)を遅延値として決定する
ことを特徴とする請求項1又は2に記載の情報処理装置。 The clock generation means generates the plurality of types of clocks as frequency-divided clocks of the input clock signal that are different from each other,
The delay value determining means determines 1/2 N (N is an integer of 2 or more) of each clock cycle as a delay value for each of the plurality of types of clocks. 2. The information processing apparatus according to 2.
互いに異なる遅延値を有する複数の遅延付加手段と、
前記複数の遅延付加手段の何れかに切り替える切替手段と、
を含む
ことを特徴とする請求項1乃至5の何れか一項に記載の情報処理装置。 The delay setting means includes
A plurality of delay adding means having different delay values;
Switching means for switching to any of the plurality of delay adding means;
The information processing apparatus according to any one of claims 1 to 5, further comprising:
前記複数種のクロックに対する複数種の遅延値を決定する遅延値決定工程と、
前記遅延値決定工程で決定した遅延値に基づいて、前記複数種のクロックの各々に対して遅延処理を行う遅延設定工程と、
前記遅延設定工程で遅延させた前記複数種のクロックを、対応する回路ブロックの初期化動作時に供給するか否かを制御する制御信号を生成する制御信号生成工程と、
前記制御信号に基づいて、対応する回路ブロックへ供給するクロックを切り替えるクロック制御工程と、
を有することを特徴とする情報処理装置の制御方法。 A clock generation process for generating multiple types of clocks with aligned edges from the input clock;
A delay value determining step for determining a plurality of types of delay values for the plurality of types of clocks;
A delay setting step for performing a delay process on each of the plurality of types of clocks based on the delay value determined in the delay value determination step;
A control signal generating step for generating a control signal for controlling whether or not to supply the plurality of types of clocks delayed in the delay setting step during the initialization operation of the corresponding circuit block;
A clock control step of switching a clock to be supplied to a corresponding circuit block based on the control signal;
A method for controlling an information processing apparatus, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013126130A JP2015001832A (en) | 2013-06-14 | 2013-06-14 | Information processor and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013126130A JP2015001832A (en) | 2013-06-14 | 2013-06-14 | Information processor and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015001832A true JP2015001832A (en) | 2015-01-05 |
Family
ID=52296323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013126130A Pending JP2015001832A (en) | 2013-06-14 | 2013-06-14 | Information processor and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015001832A (en) |
-
2013
- 2013-06-14 JP JP2013126130A patent/JP2015001832A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7777543B2 (en) | Duty cycle correction circuit apparatus | |
CN103677210B (en) | Method, application processor and mobile device for dynamic voltage frequency adjustment | |
JP6940585B2 (en) | Clock adjustment for voltage drop | |
TWI460583B (en) | Dynamic frequency control using coarse clock gating | |
JP6103783B2 (en) | Power control device | |
JP2007133527A (en) | Clock signal generation circuit, semiconductor integrated circuit, and frequency-division rate control method | |
CN110869876B (en) | Digital power multiplexer | |
JP6905596B2 (en) | Clock divider device and its method | |
JP2005339310A (en) | Semiconductor device | |
US20150241905A1 (en) | Glitch Free Clock Frequency Change | |
TWI475355B (en) | Method for data reception and transmission and related integrated circuit | |
EP3134794B1 (en) | Clock phase alignment | |
CN108268119B (en) | Method for operating system-on-chip, system-on-chip and electronic system | |
JP2007065756A (en) | Clock control circuit, clock control method, semiconductor integrated circuit device, and electronic apparatus | |
TW201448470A (en) | An approach clock frequency modulation of a fixed frequency clock source | |
JP2006302056A (en) | Clock control circuit | |
JP2013046268A (en) | Clock frequency division device | |
JP2015001832A (en) | Information processor and control method thereof | |
De | Energy efficient computing in nanoscale CMOS: Challenges and opportunities | |
KR101172271B1 (en) | Semiconductor device | |
JP2019075058A (en) | Asynchronous FIFO circuit | |
US9438217B2 (en) | System and method for clocking integrated circuit | |
JP2008217063A (en) | Semiconductor device | |
WO2012067211A1 (en) | Information processing device, electronic apparatus, computer program storage medium, and method of controlling performance and power | |
TW202303332A (en) | Circuits and methods to alter a phase speed of an output clock |