JP2015001832A - Information processor and control method thereof - Google Patents

Information processor and control method thereof Download PDF

Info

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
Application number
JP2013126130A
Other languages
Japanese (ja)
Inventor
青木 恒治
Koji Aoki
恒治 青木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013126130A priority Critical patent/JP2015001832A/en
Publication of JP2015001832A publication Critical patent/JP2015001832A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a clock generation technique which is capable of reducing a peak current in initializing operations of a plurality of circuit blocks and of suppressing noise.SOLUTION: An information processor includes: clock generation means which generates a plurality of kinds of clocks having edges trued up, from an input clock; delay value determination means which determines a plurality of kinds of delay values for the plurality of kinds of clocks; delay setting means which subjects the plurality of kinds of clocks to delay processing respectively on the basis of the delay values determined by the delay value determination means; control signal generation means which generates a control signal which controls whether the plurality of kinds of clocks delayed by the delay setting means should be supplied during the initializing operation of a corresponding circuit block; and clock control means which switches a clock to be supplied to the corresponding circuit, on the basis of the control signal.

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, Patent Document 1 proposes a technique for intentionally shifting the start timing of the initialization operation for each circuit block to suppress the peak current in order to suppress the instantaneous current during the initialization operation in the information processing apparatus. Has been. Patent Document 2 proposes a technique for suppressing peak power by shifting a certain amount of clock timing within a range that does not impede data transfer during operation of an information processing apparatus.

特開2011−248579号公報JP 2011-248579 A 特開2011−034470号公報JP 2011-034470 A

しかしながら、特許文献1に記載の技術においては、初期化動作に使用する初期化動作用クロックを各回路ブロックに供給する際、サイクル単位でずらして生成している。そのため、システム全体での初期化動作に係る時間を増大させてしまい処理性能が劣化してしまう。また、特許文献2に記載の技術においては、動作時にデータの転送を阻害しない範囲内で一定量クロックタイミングをずらしてピーク電力を抑える。そのため、データ転送が可能となるような遅延調整を回路ブロック間のいたるところで行わなければならず実装に手間がかかる。また、通常動作用クロックの制約を受けるため、自由なタイミングで初期化動作用クロックを調整することが出来ない。
本発明は、上述の問題点に鑑みなされたものであり、複数の回路ブロックの初期化動作におけるピーク電流の低減及びノイズ抑制を可能とするクロック生成技術を提供することを目的とする。
However, in the technique described in Patent Document 1, when an initialization operation clock used for an initialization operation is supplied to each circuit block, it is generated by shifting in units of cycles. For this reason, the time required for the initialization operation in the entire system is increased, and the processing performance is deteriorated. In the technique described in Patent Document 2, the peak power is suppressed by shifting a fixed amount of clock timing within a range that does not hinder data transfer during operation. Therefore, delay adjustment that enables data transfer must be performed everywhere between circuit blocks, which takes time and effort. In addition, since the normal operation clock is restricted, the initialization operation clock cannot be adjusted at any timing.
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.

第1実施形態に係る情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus which concerns on 1st Embodiment. 第1実施形態における情報処理装置の動作フローチャートである。It is an operation | movement flowchart of the information processing apparatus in 1st Embodiment. クロック生成部の構成例を示す図である。It is a figure which shows the structural example of a clock generation part. 初期化動作用クロックの遅延値設定の例を示す図である。It is a figure which shows the example of the delay value setting of the clock for initialization operation | movement. 遅延値決定部の動作フローチャートである。It is an operation | movement flowchart of a delay value determination part. 遅延設定部の構成例を示す図である。It is a figure which shows the structural example of a delay setting part. 初期化動作における各クロックの開始タイミングを説明する図である。It is a figure explaining the start timing of each clock in initialization operation | movement. 各回路ブロックに対するクロックの割り当ての例を示す図である。It is a figure which shows the example of the allocation of the clock with respect to each circuit block. 遅延付加前後のクロックのタイミング例を示す図である。It is a figure which shows the example of a timing of the clock before and behind delay addition. 処理装置全体の構成を示すブロック図である。It is a block diagram which shows the structure of the whole processing apparatus. 第2実施形態に係る情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus which concerns on 2nd Embodiment. クロック生成部の構成例を示す図である。It is a figure which shows the structural example of a clock generation part. 遅延設定部の構成例を示す図である。It is a figure which shows the structural example of a delay setting part. 電源制御可能な回路の構成を例示的に示す図である。It is a figure which shows the structure of the circuit which can control power supply exemplarily.

以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。   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 information processing apparatus 100 having a plurality of circuit blocks will be described as an example as a first embodiment of the information processing apparatus according to the present invention.

<装置構成>
図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 information processing apparatus 100 according to the first embodiment. Here, the information processing apparatus 100 includes a clock generation unit 101, a delay value determination unit 102, a delay setting unit 103, a control signal generation unit 104, a clock control unit 105, an OSC 106, and four circuit blocks A107 to D110.

オシレータ(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 clock generation unit 101 generates a plurality of types of clocks (herein, CLK0, CLK1, CLK2, and CLK3) that have the same edges used during the initialization operation from the reference clock CLK for the initialization operation. The clock generation unit 101 supplies the generated multiple types of clocks with aligned edges to the delay setting unit 103. In addition, the clock generation unit 101 transmits the clock information 111 to the delay value determination unit 102. The clock information 111 includes information on the cycle (including frequency division) generated by the clock generation unit and the number of clocks.

制御信号生成部104は、初期化動作時にクロック制御部105に送信することになる制御信号を生成する。なお、初期化動作時には、対象となる回路ブロックの初期化を行うため、外部(例えば後述のCPU1001)からリセット信号が入力され初期化が実行される。例えば、回路ブロックA107、回路ブロックB108、回路ブロックC109、回路ブロックD110の各回路ブロックに対応したリセット信号(RESET_A、RESET_B、RESET_C、RESET_D)が入力される。制御信号生成部104は、各回路ブロックに入力されたリセット信号に基づいて、初期化時のクロックを制御する制御信号を生成しクロック制御部105に送信する。また、制御信号生成部104は、初期化動作の対象となる回路ブロックの情報を保持しており、対象となる回路ブロックの情報113を遅延値決定部102に送信する。   The control signal generation unit 104 generates a control signal to be transmitted to the clock control unit 105 during the initialization operation. In the initialization operation, in order to initialize a target circuit block, a reset signal is input from the outside (for example, a CPU 1001 described later) and the initialization is executed. For example, reset signals (RESET_A, RESET_B, RESET_C, and RESET_D) corresponding to the circuit blocks A107, circuit block B108, circuit block C109, and circuit block D110 are input. The control signal generation unit 104 generates a control signal for controlling a clock at initialization based on the reset signal input to each circuit block, and transmits the control signal to the clock control unit 105. In addition, the control signal generation unit 104 holds information on a circuit block that is a target of the initialization operation, and transmits information 113 on the target circuit block to the delay value determination unit 102.

ここで説明している初期化動作は、システム起動時のように情報処理装置100の電源遮断状態から電源供給状態に変化した場合の他、情報処理装置100の処理内容が切り替わる場合に実行される。例えば、情報処理装置100に含まれる電源制御可能な回路ブロックに対する電源供給が電源遮断状態から電源供給状態に復帰するような場合も含まれる。   The initialization operation described here is executed not only when the information processing apparatus 100 is switched from the power-off state to the power supply state, such as when the system is started, but also when the processing content of the information processing apparatus 100 is switched. . For example, the case where the power supply to the power controllable circuit block included in the information processing apparatus 100 returns from the power cut-off state to the power supply state is also included.

図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 circuit 1401 capable of controlling the supply and cutoff of the power supply voltage is a part of an LSI circuit configured on a silicon substrate. The circuit 1401 is configured to include a circuit block 1402 (details inside the block are omitted) constituted by a logic circuit, and a power supply control unit 1403 that controls the power supply. Based on the value of the input signal 1404, the power control unit 1403 determines whether to supply power to the circuit block 1402 or to turn off the power. The circuit block 1402 operates in the power supply state. Here, it is assumed that the circuit block A 107, the circuit block B 108, the circuit block C 109, and the circuit block D 110 each include the configuration shown in FIG.

遅延値決定部102は、クロック生成部101が生成した各クロックに設定する遅延値情報112を生成し、遅延値情報112を遅延設定部103に送信する機能部である。詳細は後述するが、遅延値決定部102は、クロック生成部101から取得したクロック情報111及び、制御信号生成部104から取得した回路ブロックの情報113に基づいて、各クロックに設定する遅延値情報112を生成する。また、遅延値決定部102は、回路ブロック情報113に応じたクロック本数を決定し、クロック割り当て情報114として制御信号生成部104に送信するよう構成されている。   The delay value determination unit 102 is a functional unit that generates delay value information 112 to be set for each clock generated by the clock generation unit 101 and transmits the delay value information 112 to the delay setting unit 103. Although details will be described later, the delay value determination unit 102 sets delay value information to be set for each clock based on the clock information 111 acquired from the clock generation unit 101 and the circuit block information 113 acquired from the control signal generation unit 104. 112 is generated. In addition, the delay value determination unit 102 is configured to determine the number of clocks according to the circuit block information 113 and transmit it to the control signal generation unit 104 as clock allocation information 114.

遅延設定部103は、遅延値決定部102で決定された遅延情報に基づき、各クロックに対して遅延を付加する機能部である。そして、遅延設定部103は、遅延を付加したクロックを、制御信号生成部104及びクロック制御部105に供給する。   The delay setting unit 103 is a functional unit that adds a delay to each clock based on the delay information determined by the delay value determining unit 102. Then, the delay setting unit 103 supplies the clock with the delay added to the control signal generation unit 104 and the clock control unit 105.

クロック制御部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 signal generation unit 104, the clock control unit 105 switches the initialization operation clock (CLK0_D, CLK1_D, CLK2_D, CLK3_D) and the normal operation clock (CLK4) to each circuit block. Supply. Here, the clock CLK_A supplied to the circuit block A 107 is controlled by the control signal SL_A, and the clock CLK_B supplied to the circuit block B 108 is controlled by the control signal SL_B. Similarly, the clock CLK_C supplied to the circuit block C109 is controlled by the control signal SL_C, and the clock CLK_D supplied to the circuit block D110 is controlled by the control signal SL_D.

図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 information processing apparatus 100. The CPU 1001 is a functional unit that controls the entire processing apparatus. A ROM (Read Only Memory) 1002 stores a boot program and the like. A RAM (Random Access Memory) 1003 is a functional unit used as a work area of the CPU 1001, for example. A hard disk drive (HDD) 1004 is an OS (Operating System), an application for creating circuit configuration information, and a functional unit for storing various data.

キーボード1005及びマウス1006は、ユーザからの指示を受け付けるユーザインタフェースとして機能する。表示制御部1007は、内部にビデオメモリ及び表示コントローラを内蔵する。表示装置1008は、表示制御部1007からの映像信号を受信し、各種の情報を表示するための機能部である。インタフェース(I/F)1009は、各種外部デバイスと接続するための機能部である。例えば、I/F1009は、図10に示した外部メモリ1010を接続することで、処理装置が作成した処理情報を外部メモリ1010に書き込むことが出来る。   The keyboard 1005 and the mouse 1006 function as a user interface that receives an instruction from the user. The display control unit 1007 incorporates a video memory and a display controller. The display device 1008 is a functional unit that receives a video signal from the display control unit 1007 and displays various types of information. An interface (I / F) 1009 is a functional unit for connecting to various external devices. For example, the I / F 1009 can write processing information created by the processing device in the external memory 1010 by connecting the external memory 1010 shown in FIG.

図10に示した処理装置に電源が投入されると、CPU1001は、ROM1002に格納されたブートプログラムを実行し、HDD1004に格納されたOSをRAM1003にロードする。その後、処理情報を作成するアプリケーションを起動することで、所定の処理を行う装置として機能する。また、システム起動時に、情報処理装置100に対しリセット信号が送信され、情報処理装置100は電源遮断状態から電源供給状態となり初期化動作が実行される。   When the processing apparatus shown in FIG. 10 is turned on, the CPU 1001 executes the boot program stored in the ROM 1002 and loads the OS stored in the HDD 1004 into the RAM 1003. After that, by starting an application that creates processing information, it functions as a device that performs predetermined processing. Further, when the system is activated, a reset signal is transmitted to the information processing apparatus 100, and the information processing apparatus 100 is changed from the power-off state to the power supply state, and the initialization operation is executed.

図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 clock generator 101 outputs four clock signals (CLK0 to CLK3) with the same period and the same phase. On the other hand, FIG. 3B is a diagram illustrating a configuration in which a divided clock is used as an initialization operation clock supplied to different circuit blocks (circuit block A107 to circuit block D110). In this case, the clock generator 101 outputs the original clock CLK0 and three clocks (CLK1, CLK2, CLK3) divided by the frequency divider 302.

図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/2(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, CLK 1, CLK 2, CLK 3) that are input to the delay setting unit 103 and have the same period and the same phase. FIG. 9B shows four clock signals (CLK0_D, CLK1_D, CLK2_D, CLK3_D) output from the delay setting unit 103, each having a different delay amount (phase).

例えば、遅延設定部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 delay setting unit 103 is generated at the timing t1 in FIG. 9A, the output signal of the delay setting unit 103 is as shown in FIG. 9B. CLK1_D is a clock in which the phase of CLK0 is shifted by 1/4 period at the timing t1, CLK2_D is a clock in which 1/8 period is shifted, and CLK3_D is a clock in which 1/16 period is shifted. In this case, since the clocks have the same period, the rising edges of the other input clocks (CLK0, CLK2, CLK3) can be shifted by delaying the rising edge of CLK1 to CLK1_D. Since the input clock has the same period, the falling edge can be shifted at the same time. Here, the clock phase is adjusted by 1 / (power of 2), but the phase may be shifted by a value other than the above setting if the rising edge and falling edge do not overlap.

ただし、例えば、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/2(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 delay setting unit 103. FIG. 9D shows four clock signals (CLK0_D, CLK1_D, CLK2_D, and CLK3_D) output from the delay setting unit 103, each having a different delay amount (phase).

例えば、遅延設定部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 delay setting unit 103 is generated at the timing t1 in FIG. 9C, the clock cycle of each clock signal is different because the divided clock is used. Here, assuming that the period of CLK0 is T, the period of CLK1 is 2T, the period of CLK2 is 4T, and the period of CLK3 is 8T. Here, for example, when CLK1 is shifted by 1/4 period and CLK3 is shifted by 1/16 period as in the delay value setting 401, the rising edges of the clocks overlap each other. Therefore, when a divided clock is used, as shown in FIG. 4B, a fixed delay ratio is set for each clock so that no overlap occurs. That is, CLK0_D is generated by shifting CLK0 by 1/4 cycle, CLK1_D by shifting CLK1 by 1/4 cycle, CLK2_D by shifting CLK2 by 1/4 cycle, and CLK3_D by shifting CLK3 by 1/4 cycle.

このように、遅延設定部103で遅延付加されたクロックが、クロック制御部105を介して、各回路ブロック(ここでは、回路ブロックA〜D)のクロックとして割り当てられることになる。   As described above, the clock added with a delay by the delay setting unit 103 is assigned as a clock of each circuit block (here, circuit blocks A to D) via the clock control unit 105.

<装置の動作>
図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 clock generation unit 101 based on CLK are shown. Furthermore, clocks (CLK0_D, CLK1_D, CLK2_D, CLK3_D) output by the delay setting unit 103 are shown.

併せて、回路ブロック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 signal generation unit 104 based on the reset signal is shown.

そして、図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 clock control unit 105. Note that CLK_A corresponds to a signal obtained by switching the output clock from CLK4 to CLK0_D at the rise timing of SL_A. Similarly, CLK_B corresponds to a signal in which the output clock is switched from CLK4 to CLK1_D at the rise timing of SL_B. CLK_C corresponds to a signal obtained by switching the output clock from CLK4 to CLK2_D at the rise timing of SL_C. CLK_D corresponds to a signal obtained by switching the output clock from CLK4 to CLK3_D at the rise timing of SL_D.

ステップS201では、情報処理装置100は、処理に使用する基準クロック(CLK)をOSC106からクロック生成部101に入力する。   In step S <b> 201, the information processing apparatus 100 inputs a reference clock (CLK) used for processing from the OSC 106 to the clock generation unit 101.

ステップS202では、クロック生成部101は、S201で入力された基準クロックから、エッジの揃った複数種のクロックを生成する。つまり、前述したように、クロック生成部101は、4つの初期化動作用クロック(CLK0、CLK1、CLK2、CLK3)を生成する。以降の説明は、前述の図3(B)の分周クロックを用いた場合に対応する。   In step S202, the clock generation unit 101 generates a plurality of types of clocks with aligned edges from the reference clock input in step S201. That is, as described above, the clock generation unit 101 generates four initialization operation clocks (CLK0, CLK1, CLK2, and CLK3). The following description corresponds to the case where the frequency-divided clock shown in FIG.

ステップS203では、遅延値決定部102は、初期化動作時のクロック情報111を取得する。そして、遅延値決定部102は、S202で生成したエッジの揃った複数種のクロックの情報をクロック生成部101から取得する。クロック情報111には、初期化動作用クロックとして使用可能なクロック本数、及びクロック周期、同期関係の情報が含まれる。ここでは、クロック本数が4本、CLKの分周クロックの情報を取得する。   In step S203, the delay value determination unit 102 acquires the clock information 111 at the time of the initialization operation. Then, the delay value determination unit 102 acquires information on a plurality of types of clocks with the aligned edges generated in S202 from the clock generation unit 101. The clock information 111 includes information on the number of clocks that can be used as the initialization operation clock, the clock cycle, and the synchronization relationship. Here, information on the divided clock of CLK with four clocks is acquired.

ステップS204では、遅延値決定部102は、初期化動作時の回路ブロック情報113を取得する。そして、遅延値決定部102は、初期化動作の対象となる回路ブロック数の情報を制御信号生成部104から取得する。特に、電源電圧の供給及び遮断が制御可能な回路ブロックが含まれる場合、処理内容の切り替わり時には再度、回路ブロック情報を取得することになる。これは、電源遮断状態から電源供給が再開する際、処理内容により対象となる回路ブロックが異なるためである。   In step S204, the delay value determination unit 102 acquires circuit block information 113 at the time of initialization operation. Then, the delay value determination unit 102 acquires information on the number of circuit blocks that are the targets of the initialization operation from the control signal generation unit 104. In particular, when a circuit block that can control the supply and interruption of the power supply voltage is included, the circuit block information is acquired again when the processing content is switched. This is because the target circuit block differs depending on the processing contents when the power supply is resumed from the power-off state.

ステップS205では、遅延値決定部102は、各初期化動作用クロックに対して遅延値の決定を行う。遅延値の決定に関しては、図5を用いて詳細に説明する。   In step S205, the delay value determination unit 102 determines a delay value for each initialization operation clock. The determination of the delay value will be described in detail with reference to FIG.

図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 value determining unit 102 compares the number of clocks for initialization operation and the number of acquired circuit blocks from the clock information acquired in S203 and the circuit block information acquired in S204.

ステップS502では、遅延値決定部102は、S501で比較した結果、初期化動作用クロック数と回路ブロック数が等しいかを判定する。初期化動作用クロック数と回路ブロック数が等しい場合には、S505へと移行する。一方、等しくない場合には、S503へと移行する。ここでは、図1のように初期化動作用クロック数と回路ブロック数が等しい場合を説明するので、S505に移動する。   In step S502, the delay value determination unit 102 determines whether the number of initialization operation clocks is equal to the number of circuit blocks as a result of the comparison in step S501. If the number of clocks for initialization operation is equal to the number of circuit blocks, the process proceeds to S505. On the other hand, if they are not equal, the process proceeds to S503. Here, since the case where the number of clocks for initialization and the number of circuit blocks is equal as shown in FIG. 1 will be described, the process proceeds to S505.

ステップS503では、遅延値決定部102は、初期化動作用クロック数と回路ブロック数の大小関係を判定する。初期化動作用クロック数の方が回路ブロック数よりも大きい場合には、S505へと移行する。一方、初期化動作用クロック数の方が回路ブロック数よりも小さい場合には、S504へと移行する。ここで、判定結果はクロック割り当て情報114として制御信号生成部104へと送信される。   In step S503, the delay value determination unit 102 determines the magnitude relationship between the number of initialization operation clocks and the number of circuit blocks. If the number of clocks for initialization operation is larger than the number of circuit blocks, the process proceeds to S505. On the other hand, when the number of clocks for initialization operation is smaller than the number of circuit blocks, the process proceeds to S504. Here, the determination result is transmitted to the control signal generation unit 104 as the clock allocation information 114.

ステップS504では、制御信号生成部104は、あらかじめ取得している回路ブロック情報から、回路ブロックのグループ設定を行う。つまり、クロック制御部105により設定可能な初期化動作用クロック数の方が回路ブロック数よりも小さいため、全ての回路ブロックに、別の初期化動作用クロックが割り当てられないため、グループ化を行うのである。ここでは、例えば、最優先に初期化動作用クロックを割り当てるグループと、次に割り当てるグループの優先順位を決定する。   In step S504, the control signal generation unit 104 performs circuit block group setting from circuit block information acquired in advance. That is, since the number of initialization operation clocks that can be set by the clock control unit 105 is smaller than the number of circuit blocks, another initialization operation clock is not assigned to all circuit blocks, and grouping is performed. It is. Here, for example, the priority of the group to which the clock for initialization operation is assigned with the highest priority and the group to be assigned next are determined.

図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 circuit block 1, the circuit block 2, the circuit block 3, The circuit block 4 is assigned, and the circuit block 5 is assigned to the next group.

この場合、最初に優先的に割り当てられたグループ1の処理が行われ、グループ1の回路ブロックの処理が終了した段階で、次に割り当てられたグループ2の処理を行う。この時、グループ単位処理で処理終了を検知し次の処理を開始しても良いし、グループを構成する回路ブロック単位で処理終了を検知し次の処理を開始するようにしても良い。ただし、あらかじめ初期化動作用クロックの個数を十分用意出来れば、初期化対象となる回路ブロックの割り当てが容易となり、グループ割り当ては不要となる。   In this case, the processing of the group 1 assigned with priority first is performed, and the processing of the group 2 assigned next is performed after the processing of the circuit block of the group 1 is completed. At this time, the end of the process may be detected in the group unit process and the next process may be started, or the end of the process may be detected in the circuit block unit constituting the group and the next process may be started. However, if a sufficient number of initialization operation clocks can be prepared in advance, assignment of circuit blocks to be initialized becomes easy, and group assignment becomes unnecessary.

なお、グループの決定は、各回路ブロックのゲート規模情報やリセットに必要な期間情報を元に決定するとよい。例えば、ゲート規模が大きいブロックを最優先に割り当てたり、リセット期間の短い回路ブロックを最優先に割り当てることが出来る。ただし、ユーザが指定した回路ブロックを優先的に割り当てても良いし、他の回路ブロック動作状態や前述の複数の情報を組み合わせて割り当てを決定しても良い。   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 signal generation unit 104 assigns an initialization operation clock to the group set in S504. Here, since four circuit blocks are assigned to group 1, it is determined which of the four initialization operation clocks is assigned to each circuit block.

グループ内の回路ブロック数が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 delay value settings 401 to 403 in FIG. 4A and the delay value settings 404 to 405 in FIG. Assigned to. In the case of clocks having the same period and phase, the delay value setting of FIG. 4A is used, and in the case of using the divided clock, the delay value setting of FIG. 4B is used. Become. As in S504, the clocks may be allocated by changing the priority order based on the gate scale information of each circuit block and the period information necessary for resetting.

ステップS506では、遅延設定部103は、初期化動作用クロックの1つを選択する。ここでは、CLK0、CLK1、CLK2、CLK3のいずれか1つのクロックを選択する。   In step S506, the delay setting unit 103 selects one of the initialization operation clocks. Here, one of the clocks CLK0, CLK1, CLK2, and CLK3 is selected.

ステップS507では、遅延設定部103は、S506で選択したクロックに対する遅延値を取得する。例えば、CLK0に対する遅延値を取得する。   In step S507, the delay setting unit 103 acquires a delay value for the clock selected in S506. For example, a delay value for CLK0 is acquired.

ステップS508では、遅延設定部103は、初期化動作の対象となる回路ブロックに供給する全てのクロックに遅延値を取得したかを判定する。全てのクロックの遅延値が取得していない場合は、S506へと移行し、対象となる次のクロックの遅延値を取得する。そして、全てのクロックに対する遅延値の取得が完了すると、動作処理を終了する。   In step S508, the delay setting unit 103 determines whether delay values have been acquired for all the clocks supplied to the circuit block that is the target of the initialization operation. If the delay values of all the clocks have not been acquired, the process proceeds to S506, and the delay value of the next target clock is acquired. Then, when the acquisition of delay values for all clocks is completed, the operation process is terminated.

ステップS206では、遅延設定部103は、S205で取得した遅延値に基づき、各クロックに対し遅延を付加する。例えば、前述の分周クロックを用いた場合は、図4(B)の遅延値設定405のように、CLK0、CLK1、CLK2、CLK3に対して、それぞれのクロックの1/8周期の遅延を付加する。   In step S206, the delay setting unit 103 adds a delay to each clock based on the delay value acquired in S205. For example, when the above-mentioned frequency-divided clock is used, a delay of 1/8 period of each clock is added to CLK0, CLK1, CLK2, and CLK3 as in delay value setting 405 in FIG. To do.

なお、遅延値決定部102でクロック割り当て情報114から初期化動作用クロックの本数が決定され、処理する回路ブロック数が多い場合には、制御信号生成部104でグループが決定される。各回路ブロックへの初期化動作用クロックの割り当てが終了した時点で初期化動作用クロックへの切り替えが可能な状態となる。   The delay value determining unit 102 determines the number of clocks for initialization operation from the clock allocation information 114. When the number of circuit blocks to be processed is large, the control signal generating unit 104 determines a group. When the assignment of the initialization operation clock to each circuit block is completed, it is possible to switch to the initialization operation clock.

尚、新たに初期化動作が必要な場合でも、初期化動作の前後で回路ブロックの数が同じであれば、新たな初期化動作用クロック割り当てる処理をバイパスすることも可能である。その場合は、処理が終了した回路ブロックの初期化動作用クロックを、新たな回路ブロックの初期化動作用クロックに割り当てるようにすれば良い。   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 delay value information 112 acquired from the delay value determining unit 102 is supplied to the delay adding unit 601, the delay adding unit 602, the delay adding unit 603, and the delay adding unit 604 for each clock.

遅延付加部602は、例えば、拡大図に示すように、遅延ロックループ(DLL)605のように出力クロックを監視して配線遅延を補償する回路構成によって、特定位相をずらすことが出来る。また、遅延素子を直列に1以上並べて任意の遅延値を切替器(切替手段)で選択する構成でも良い。その他の遅延付加部601、遅延付加部603、遅延付加部604も同様の構成となる。   For example, as shown in the enlarged view, the delay adding unit 602 can shift the specific phase by a circuit configuration that monitors the output clock and compensates for the wiring delay, such as a delay lock loop (DLL) 605. Moreover, the structure which arranges one or more delay elements in series, and selects arbitrary delay values with a switch (switching means) may be sufficient. The other delay adding unit 601, delay adding unit 603, and delay adding unit 604 have the same configuration.

遅延付加部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 delay value information 112 acquired from the delay value determining unit 102, the delay adding unit 601 outputs CLK0_D obtained by delaying CLK0 by 1/8 period of CLK0. Similarly, the delay adding unit 602 outputs CLK1_D obtained by delaying CLK1 by 1/8 period of CLK1 based on the delay value information 112 acquired from the delay value determining unit 102. Based on the delay value information 112 acquired from the delay value determining unit 102, the delay adding unit 603 outputs CLK2_D obtained by delaying CLK2 by 1/8 period of CLK2. Based on the delay value information 112 acquired from the delay value determining unit 102, the delay adding unit 604 outputs CLK3_D obtained by delaying CLK3 by 1/8 period of CLK3.

ここでは、図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 signal generation unit 104 generates a control signal for initialization based on a reset signal for each circuit block. That is, when receiving the reset signals (RESET_A, RESET_B, RESET_C, and RESET_D), the control signal generation unit 104 generates a control signal from the number of clocks necessary for the initialization operation of the target circuit block.

回路ブロック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 clock control unit 105 switches between the normal operation clock and the initialization operation clock according to the control signal generated and received in S207. Here, in the circuit block A107, during normal operation, the normal operation clock CLK4 generated by the clock generation unit 101 is selected. On the other hand, during the initialization operation, the original delay operation clock CLK0_D subjected to the delay process is selected.

同様に、回路ブロック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 information processing apparatus 100 having a plurality of circuit blocks will be described below as a second embodiment of the information processing apparatus according to the present invention.

<装置構成>
図11は、第2実施形態に係る情報処理装置100の構成例を示す図である。ここでは、クロック生成部1101、及び、遅延設定部1103に係る構成が図1と異なる。そのため、以下では、クロック生成部1101、及び、遅延設定部1103以外の構成についての説明は省略する。
<Device configuration>
FIG. 11 is a diagram illustrating a configuration example of the information processing apparatus 100 according to the second embodiment. Here, the configurations of the clock generation unit 1101 and the delay setting unit 1103 are different from those in FIG. Therefore, in the following, description of configurations other than the clock generation unit 1101 and the delay setting unit 1103 is omitted.

クロック生成部1101は、基準クロックCLK、及び、通常動作用クロックCLK4の入力を受け付ける。そして、基準クロックCLKに基づき、初期化動作時に使用されるエッジの揃った複数種のクロック(ここでは、CLK0、CLK1、CLK2、CLK3)を生成するよう構成されている。   The clock generation unit 1101 receives the input of the reference clock CLK and the normal operation clock CLK4. Based on the reference clock CLK, a plurality of types of clocks (herein, CLK0, CLK1, CLK2, and CLK3) used in the initialization operation are generated.

そして、クロック生成部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 clock generation unit 1101 is configured to receive input of control signals (SL_A, SL_B, SL_C, SL_D) from the control signal generation unit 104. Based on the input of the control signal, the clock generation unit 1101 outputs four clock signals (here, CLK0_S1, CLK1_S1, CLK2_S1, CLK3_S1). For example, CLK0_S1 is a clock generated by selecting either the normal operation clock (CLK4) or CLK0. Similarly, CLK1_S1 is a clock generated by selecting either the normal operation clock (CLK4) or CLK1. CLK2_S1 is a clock generated by selecting either the normal operation clock (CLK4) or CLK2. CLK3_S1 is a clock generated by selecting either the normal operation clock (CLK4) or CLK3.

遅延設定部1103は、遅延値決定部102で決定した遅延値情報112を各クロック(CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)に設定する。クロック生成部1101と同様に制御信号生成部104から初期化動作用クロックと通常動作用クロックを切り替えるための制御信号(SL_A、SL_B、SL_C、SL_D)の入力を受け付けるように構成されている。制御信号に基づいて、初期化動作時には、初期化動作用クロックに遅延を付加したクロックが出力し、通常動作時は通常動作用クロックを出力する。   The delay setting unit 1103 sets the delay value information 112 determined by the delay value determining unit 102 for each clock (CLK0_S1, CLK1_S1, CLK2_S1, CLK3_S1). Similar to the clock generation unit 1101, the control signal generation unit 104 is configured to receive input of control signals (SL_A, SL_B, SL_C, SL_D) for switching between the initialization operation clock and the normal operation clock. Based on the control signal, a clock obtained by adding a delay to the initialization operation clock is output during the initialization operation, and the normal operation clock is output during the normal operation.

つまり、初期化動作時には、クロック(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 (circuit block A 107 to circuit block D 110).

クロック生成部1101からは、内部の4つの選択器1201〜1204によって各回路ブロックに供給されるクロック(CLK0_S1、CLK1_S1、CLK2_S1、CLK3_S1)が出力される。   The clock generator 1101 outputs clocks (CLK0_S1, CLK1_S1, CLK2_S1, CLK3_S1) supplied to each circuit block by the four internal selectors 1201 to 1204.

具体的には、選択器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 selectors 1201 to 1204 switch between the initialization operation clock and the normal operation clock based on the control signals (SL_A, SL_B, SL_C, and SL_D), respectively. At initialization operation, an initialization operation clock is selected. That is, the selector 1201 selects the CLK input based on the control signal SL_A, and the selector 1202 selects the divided clock 1205 based on the control signal SL_B. Similarly, the selector 1203 selects the divided clock 1206 based on the control signal SL_C, and the selector 1204 selects the divided clock 1207 based on the control signal SL_D. On the other hand, during normal operation, the selectors 1201 to 1204 select the normal operation clock CLK4.

なお、ここでは説明を簡単にするため、通常動作用クロックが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 clocks 1205 to 1207 generated by the frequency divider 302 may be used as the normal operation clock. Furthermore, the same clock may be assigned to a plurality of clock outputs (for example, CLK1_S1, CLK2_S1).

図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 delay value information 112 acquired from the delay value determining unit 102 is supplied to the delay adding unit 601, the delay adding unit 602, the delay adding unit 603, and the delay adding unit 604 for each clock. Further, the control signal SL_A is supplied to the selector 1301, and the control signal SL_B is supplied to the selector 1302. Similarly, the control signal SL_C is supplied to the selector 1303, and the control signal SL_D is supplied to the selector 1304.

遅延付加部601〜604は、それぞれ、図6を参照して説明したように、出力クロックを監視して配線遅延を補償する回路構成によって構成することが出来る。   Each of the delay adding units 601 to 604 can be configured by a circuit configuration that monitors the output clock and compensates for the wiring delay as described with reference to FIG.

例えば、遅延付加部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 delay adding unit 601 outputs a clock 1305 obtained by delaying CLK0_S1 by 1/8 period of CLK0_S1 based on the delay value information 112 acquired from the delay value determining unit 102. Similarly, the delay adding unit 602 outputs a clock 1306 obtained by delaying CLK1_S1 by 1/8 period of CLK1_S1 based on the delay value information 112 acquired from the delay value determining unit 102. Based on the delay value information 112 acquired from the delay value determining unit 102, the delay adding unit 603 outputs a clock 1307 obtained by delaying CLK2_S1 by 1/8 period of CLK2_S1. Based on the delay value information 112 acquired from the delay value determining unit 102, the delay adding unit 604 outputs a clock 1308 obtained by delaying CLK3_S1 by 1/8 period of CLK3_S1.

選択器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 selector 1301 selects the clock 1305 at the time of initialization operation, selects CLK0_S1 at the time of normal operation, and outputs it as CLK0_S2. Similarly, based on the control signal SL_B, the selector 1302 selects the clock 1306 during the initialization operation, selects CLK1_S1 during normal operation, and outputs it as CLK1_S2. Based on the control signal SL_C, the selector 1303 selects the clock 1307 at the time of initialization operation, selects CLK2_S1 at the time of normal operation, and outputs it as CLK2_S2. Based on the control signal SL_D, the selector 1304 selects the clock 1308 during the initialization operation, selects CLK3_S1 during the normal operation, and outputs it as CLK3_S2.

したがって、遅延付加部604は、初期化動作時には、クロック生成部1101で生成され遅延設定部1103で遅延が付加されたクロックを出力することになる。一方、遅延付加部604は、通常動作時には、クロック生成部1101で生成されたクロックをそのまま(遅延を付加せず)出力することになる。   Therefore, the delay adding unit 604 outputs a clock generated by the clock generating unit 1101 and added with a delay by the delay setting unit 1103 during the initialization operation. On the other hand, the delay adding unit 604 outputs the clock generated by the clock generating unit 1101 as it is (without adding a delay) during normal operation.

尚、第2実施形態では、クロック生成部1101で、初期化動作のための基準クロック及び、通常動作用クロックを入力して、制御信号生成部104の制御信号によりクロックを切り替えて制御している。更に、遅延設定部1103では、初期化動作時に遅延を付加する経路と通常動作用の経路を切り替えてクロックを生成する構成としている。ただし、クロック生成部1101の構成と遅延設定部1103の構成を1つの回路として構成しても良い。   In the second embodiment, the clock generator 1101 inputs a reference clock for initialization operation and a normal operation clock, and controls the clock by switching the control signal from the control signal generator 104. . Further, the delay setting unit 1103 is configured to generate a clock by switching between a path for adding a delay and a path for normal operation during the initialization operation. However, the configuration of the clock generation unit 1101 and the configuration of the delay setting unit 1103 may be configured as one circuit.

例えば、上記構成のクロック生成部1101に入力している通常動作用クロック(CLK4)を遅延設定部1103に入力する構成としても良い。この場合、初期化動作用クロックと通常動作用クロックの切り替えと、初期化動作用クロックの遅延付加を両方行う構成とする。この場合、制御信号生成部104で生成する制御信号は、遅延設定部1103にのみ供給すればよい。   For example, the normal operation clock (CLK4) input to the clock generation unit 1101 having the above configuration may be input to the delay setting unit 1103. In this case, the configuration is such that both the switching of the initialization operation clock and the normal operation clock and the addition of the delay of the initialization operation clock are performed. In this case, the control signal generated by the control signal generation unit 104 need only be supplied to the delay setting unit 1103.

以上説明したように第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 information according to claim 1, wherein the clock control unit switches to one of the plurality of types of clocks delayed by the delay setting unit in the input clock during the initialization operation of the corresponding circuit block. Processing equipment. 前記クロック生成手段は、前記複数種のクロックを、前記入力クロックと同一のクロックとして生成し、
前記遅延値決定手段は、前記複数種のクロックの各々に対して互いに異なる複数種の遅延値を決定する
ことを特徴とする請求項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.
前記複数種の遅延値は、前記入力クロックの周期の1/2(Nは2以上の整数)として決定される
ことを特徴とする請求項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/2(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:
前記遅延付加手段は、遅延ロックループ(DLL)を含むことを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the delay adding unit includes a delay locked loop (DLL). 前記遅延付加手段は、直列に接続された1以上の遅延素子を含むことを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the delay adding unit includes one or more delay elements connected in series. 前記回路ブロックは、電源電圧の供給及び遮断が制御可能な回路ブロックであることを特徴とする請求項1乃至8の何れか一項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the circuit block is a circuit block capable of controlling supply and interruption of a power supply voltage. 前記初期化動作の対象とする複数の回路ブロックをグループ化するグループ化手段を更に有することを特徴とする請求項1乃至9の何れか一項に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising grouping means for grouping a plurality of circuit blocks to be subjected to the initialization operation. 入力クロックからエッジの揃った複数種のクロックを生成するクロック生成工程と、
前記複数種のクロックに対する複数種の遅延値を決定する遅延値決定工程と、
前記遅延値決定工程で決定した遅延値に基づいて、前記複数種のクロックの各々に対して遅延処理を行う遅延設定工程と、
前記遅延設定工程で遅延させた前記複数種のクロックを、対応する回路ブロックの初期化動作時に供給するか否かを制御する制御信号を生成する制御信号生成工程と、
前記制御信号に基づいて、対応する回路ブロックへ供給するクロックを切り替えるクロック制御工程と、
を有することを特徴とする情報処理装置の制御方法。
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:
コンピュータを、請求項1乃至10の何れか一項に記載の情報処理装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the information processing apparatus as described in any one of Claims 1 thru | or 10.
JP2013126130A 2013-06-14 2013-06-14 Information processor and control method thereof Pending JP2015001832A (en)

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)

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