JP2018084932A - Control circuit, control method thereof and program - Google Patents

Control circuit, control method thereof and program Download PDF

Info

Publication number
JP2018084932A
JP2018084932A JP2016227213A JP2016227213A JP2018084932A JP 2018084932 A JP2018084932 A JP 2018084932A JP 2016227213 A JP2016227213 A JP 2016227213A JP 2016227213 A JP2016227213 A JP 2016227213A JP 2018084932 A JP2018084932 A JP 2018084932A
Authority
JP
Japan
Prior art keywords
clock
time
target circuit
supply
circuit
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
JP2016227213A
Other languages
Japanese (ja)
Inventor
光洋 稲垣
Mitsuhiro Inagaki
光洋 稲垣
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 JP2016227213A priority Critical patent/JP2018084932A/en
Publication of JP2018084932A publication Critical patent/JP2018084932A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To solve the problem that a circuit increases in size due to the necessity of a plurality of counters, the number of which corresponds to the number of restoration requests which can be issued, for circuits to which the clock supply is stopped.SOLUTION: A control circuit includes: control means; first generation means which generates a supply request for requesting clock supply; first measurement means which starts measurement of a first period in response to generation of the supply request and generates a first signal for ordering clock supply after the first period; second generation means which generates a stop request for requesting stop of clock supply; second measurement means which starts measurement of a second period in response to generation of another supply request during the measurement of the first period by the first measurement means; and third generation means which generates a second signal for ordering the stop of clock supply in response to generation of the stop request if the second period has elapsed, and restricts generation of the second signal during the measurement of the second period by the second measurement means.SELECTED DRAWING: Figure 3

Description

本発明は、画像処理装置の省電力制御を行う制御回路、その制御方法及びプログラムに関する。   The present invention relates to a control circuit that performs power saving control of an image processing apparatus, a control method thereof, and a program.

近年の半導体集積回路の集積度の向上や処理能力の向上は消費電力の増大を招き、消費電力の削減対策が必須となっており、クロックゲーティングと呼ばれる、対象回路のクロックを停止して電力を削減する手法が存在している。   Improvements in the degree of integration and processing power of semiconductor integrated circuits in recent years have led to an increase in power consumption, and measures to reduce power consumption are essential. The clock of the target circuit, called clock gating, is stopped and power is reduced. There is a way to reduce this.

クロックゲーティング制御手法は大きく2つに大別される。1つは、クロックゲーティング対象回路の使用・未使用が静的に分かる場合に、ソフトウェアでクロックの供給・停止の制御を実施する手法である。もう1つは、より細かくクロックゲーティング制御を実施するために、ハードウェアで実施する方法である。   The clock gating control method is roughly divided into two. One is a method of controlling clock supply / stop by software when the use / non-use of a clock gating target circuit is statically known. The other is a method that is implemented in hardware in order to perform clock gating control more finely.

ハードウェアによるクロックゲーティングの制御手法として、特許文献1の方法がある。特許文献1の方法では、対象回路のクロック制御要求の発生から対象回路が実際に動作可能になるまでに時間差がある等の理由から、何らかのイベント・トリガの発生を検知し、時間差をおいてからクロックや電力を供給するように制御する。例えば、特許文献1では、スレーブデバイスが転送を受理する間隔を予測し、転送完了から次の転送が発生するまでの間、スレーブのクロックを停止させ、次のトランザクションを処理するのに間に合うように、電力状態を元に戻す、という技術が開示されている。   As a method for controlling clock gating by hardware, there is a method disclosed in Patent Document 1. In the method of Patent Document 1, the occurrence of some event trigger is detected and the time difference is set because there is a time difference from the generation of the clock control request of the target circuit until the target circuit is actually operable. Control to supply clock and power. For example, in Patent Document 1, an interval at which a slave device accepts a transfer is predicted, and the slave clock is stopped from the completion of the transfer until the next transfer occurs, so that the next transaction can be processed in time. A technique for restoring the power state is disclosed.

しかしながら、クロックゲーティング対象回路の復帰要求が発生してから、一定時間の計測後に、時間差をおいてクロックゲーティング対象回路のクロックを供給するケースにおいて、特許文献1の技術を適用すると、次のような問題があった。特許文献1の技術では、1個のカウンタのみを使用して時間差でクロック制御を行っている。しかしながら、短い時間の間に、複数回のクロックゲーティング対象回路の復帰要求が発生する場合に適用すると、1個のカウンタでは、全ての復帰要求に対してクロック制御のためのフラグ管理ができない点である。   However, in the case where the clock of the clock gating target circuit is supplied with a time lag after measurement for a certain time after the request for returning the clock gating target circuit is generated, the following technique is applied. There was a problem like this. In the technique of Patent Document 1, clock control is performed with a time difference using only one counter. However, when applied to a case where a plurality of clock gating target circuit return requests are generated in a short time, a single counter cannot perform flag management for clock control for all return requests. It is.

一方で上記問題に対する解決策として、特許文献2に示す、複数の異なる、同時並行的に発生する複数のクロック制御要求イベントに対して、複数のカウンタを使用してクロック停止処理を行う、という先行技術を利用する方法がある。即ち、特許文献2の手法を適用すると、複数回の復帰要求に対応する複数のカウンタのそれぞれが全ての復帰要求に対してクロック制御のためのフラグ管理を行う。   On the other hand, as a solution to the above problem, the prior art of performing clock stop processing using a plurality of counters for a plurality of different clock control request events that occur in parallel as shown in Patent Document 2 There are ways to use technology. That is, when the method of Patent Document 2 is applied, each of a plurality of counters corresponding to a plurality of return requests performs flag management for clock control for all the return requests.

特許第4837780号公報Japanese Patent No. 4837780 特公平06−048454号公報Japanese Patent Publication No. 06-048454

しかしながら、特許文献1及び特許文献2の方法では、クロックゲーティング対象回路に対して、クロックゲーティング対象回路に対して発行され得る復帰要求の最大回数(例えば、最大アウトスタンディング数)の分だけの複数のカウンタが必要となる。クロック供給を含む電力制御のための回路規模が大きくなるという問題がある。   However, in the methods of Patent Document 1 and Patent Document 2, only the maximum number of return requests (for example, the maximum number of standings) that can be issued to the clock gating target circuit with respect to the clock gating target circuit. Multiple counters are required. There is a problem that the circuit scale for power control including clock supply becomes large.

本発明は上記の課題に鑑みてなされたものであり、クロックゲーティング対象回路に対して複数回の復帰要求が発生する場合でも、小さな回路規模でクロック供給の制御を含む電力制御を実現する制御回路を提供することを目的とする。また、その制御回路の制御方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and realizes power control including control of clock supply with a small circuit scale even when a plurality of return requests are generated for a clock gating target circuit. An object is to provide a circuit. It is another object of the present invention to provide a control method and program for the control circuit.

上記課題を解決するために、本発明に係る制御回路は、以下の構成を備える。対象回路に対してクロックを供給させ、又は前記対象回路に対するクロック供給を停止させる制御手段と、前記対象回路が所定処理を開始する前に、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成手段と、前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、前記対象回路が前記所定処理を完了した後に、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成手段と、前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御することを特徴とする制御回路。   In order to solve the above problems, a control circuit according to the present invention has the following configuration. Control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit, and generating a supply request for requesting the clock supply to the target circuit before the target circuit starts predetermined processing When the supply request is generated by the first generation unit and the first generation unit, measurement of the first time is started, and after the first time has elapsed, a first signal instructing clock supply is generated First measurement means for outputting to the control means; second generation means for generating a stop request for requesting stop of clock supply to the target circuit after the target circuit has completed the predetermined processing; and When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, the second measurement unit starts measuring the second time, and the second Over time When the stop request is generated by the second generation means, a second signal instructing to stop the clock supply to the target circuit is generated and output to the control means. When the measuring means is measuring the second time, it has a third generating means for restricting the generation of the second signal, and the control means receives the first signal, A control circuit that controls to stop the clock supply to the target circuit when the clock is supplied to the target circuit and the second signal is received.

本発明によれば、クロックゲーティング対象回路に対して複数回の復帰要求が発生する場合でも、小さな回路規模でクロック供給を含む電力制御を実現することができる。   According to the present invention, power control including clock supply can be realized with a small circuit scale even when a plurality of return requests are generated for a clock gating target circuit.

第1の実施形態の画像処理用システムオンチップ100の構成例である。1 is a configuration example of an image processing system-on-chip 100 according to a first embodiment. 第1の実施形態の画像処理モジュール11の構成例である。It is a structural example of the image processing module 11 of 1st Embodiment. 第1の実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例である。3 is a configuration example of a Write DMAC clock enable control module 303 according to the first embodiment. 第1の実施形態のクロックイネーブル生成カウンタ400の動作フロー図である。It is an operation | movement flowchart of the clock enable production | generation counter 400 of 1st Embodiment. 第1の実施形態のクロック停止要求マスク期間カウンタ401の動作フロー図である。It is an operation | movement flowchart of the clock stop request | requirement mask period counter 401 of 1st Embodiment. 第1の実施形態の単発の転送が発行された場合のクロック停止処理の波形図である。It is a wave form diagram of a clock stop process when the single transfer of 1st Embodiment is issued. 第1の実施形態の十分に長い間隔で2連続の転送が発行された場合のクロック停止処理の波形図である。FIG. 6 is a waveform diagram of clock stop processing when two continuous transfers are issued at a sufficiently long interval according to the first embodiment. 第1の実施形態のケース1の短い間隔で2連続の転送が発行された場合のクロック停止処理の波形図である。It is a wave form diagram of a clock stop process in case two continuous transfers are issued at a short interval of case 1 of a 1st embodiment. 第1の実施形態のケース2の短い間隔で2連続の転送が発行された場合のクロック停止処理の波形図である。It is a wave form chart of clock stop processing when two continuous transfers are issued at a short interval of case 2 of a 1st embodiment. 第1の実施形態の短い間隔で3連続の転送が発行された場合のクロック停止処理の波形図である。FIG. 6 is a waveform diagram of clock stop processing when three continuous transfers are issued at short intervals according to the first embodiment. 第2の実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例である。It is an example of a structure of WriteDMAC clock enable control module 303 of 2nd Embodiment. 第2の実施形態の短い間隔で2連続の転送が発行された場合のクロック停止処理の波形図である。It is a wave form diagram of a clock stop process when two continuous transfers are issued at a short interval of the second embodiment. 第3の実施形態のクロックイネーブル生成カウンタ400の構成例である。It is a structural example of the clock enable generation counter 400 of 3rd Embodiment. 第3の実施形態の分割クロックイネーブル生成カウンタA700の動作フロー図である。It is an operation | movement flowchart of the division | segmentation clock enable generation counter A700 of 3rd Embodiment. 第3の実施形態の分割クロックイネーブル生成カウンタB701の動作フロー図である。It is an operation | movement flowchart of the division | segmentation clock enable generation counter B701 of 3rd Embodiment. 第3の実施形態の分割クロックイネーブル生成カウンタD703の動作フロー図である。It is an operation | movement flowchart of the division | segmentation clock enable generation counter D703 of 3rd Embodiment. 第3の実施形態の短い間隔で2連続の転送が発行された場合のクロック停止処理の波形図である。It is a wave form diagram of a clock stop process when two continuous transfers are issued at a short interval of a 3rd embodiment. 第4の実施形態の画像処理演算に350サイクル(最小値)要する場合の波形図である。It is a wave form diagram when 350 cycles (minimum value) are required for the image processing calculation of 4th Embodiment. 第4の実施形態の画像処理演算に400サイクル(中央値)要する場合の波形図である。It is a wave form diagram in case 400 cycles (median value) are required for the image processing calculation of 4th Embodiment. 第4の実施形態の画像処理演算に450サイクル(最大値)要する場合の波形図である。It is a wave form diagram when the image processing calculation of 4th Embodiment requires 450 cycles (maximum value). 第5の実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例である。It is an example of a structure of WriteDMAC clock enable control module 303 of 5th Embodiment. 第5の実施形態のカウント対象時間計測回路901の構成例である。It is a structural example of the count object time measurement circuit 901 of 5th Embodiment. 第5の実施形態のカウント対象時間計測回路901および測定モード切替回路900の動作フロー図である。FIG. 10 is an operation flowchart of a count target time measuring circuit 901 and a measurement mode switching circuit 900 according to the fifth embodiment.

以下、本発明にかかる実施形態の制御回路に関して、図面を参照して詳細に説明する。なお、以下の実施形態は例示であり、本発明の範囲を限定するものではない。   Hereinafter, a control circuit according to an embodiment of the present invention will be described in detail with reference to the drawings. In addition, the following embodiment is an illustration and does not limit the scope of the present invention.

(第1の実施形態)
[装置の構成例]
図1のブロック図に本実施形態の画像処理用システムオンチップ100の構成例を示す。
(First embodiment)
[Device configuration example]
The block diagram of FIG. 1 shows a configuration example of the image processing system-on-chip 100 of the present embodiment.

画像処理用のシステムオンチップ100は、情報処理を行うCPU10、画像処理を行う画像処理モジュール11、画像処理モジュール11のクロックの供給・非供給等の制御を行う供給モジュール21を備える。画像処理用のシステムオンチップ100は、本実施形態の画像処理装置を構成するシステムオンチップである。   The system-on-chip 100 for image processing includes a CPU 10 that performs information processing, an image processing module 11 that performs image processing, and a supply module 21 that controls supply / non-supply of a clock of the image processing module 11. The system-on-chip 100 for image processing is a system-on-chip that constitutes the image processing apparatus of the present embodiment.

本実施形態では、供給モジュール21は、WriteDMAC302のクロックの供給・停止などを制御し、WriteDMAC302の省電力化を図ることを例に詳細に説明するが、これに限定するわけではない。供給モジュール21は、WriteDMAC302のクロックの供給・停止だけではなく、WriteDMAC302の電源供給又は電源供給の停止を制御してもよい。また、供給モジュール21は、WriteDMAC302のクロック周波数を変更し、またはWriteDMAC302の電源電圧を変更するように制御してもよい。また、システムオンチップ100は、非図示の各モジュールが接続され、データ転送を司るバスモジュール30、揮発性の一時記憶装置であるDRAM200、DRAM200の制御を行うメモリコントローラであるMEMC20を備える。また、画像処理用システムオンチップ100は、各モジュールへのクロック信号を生成するクロックジェネレータやリセット信号を生成するリセットジェネレータ等を備えるが、図1では省略している。   In the present embodiment, the supply module 21 will be described in detail by taking an example of controlling the supply / stop of the clock of the Write DMAC 302 to save power of the Write DMAC 302, but the present invention is not limited to this. The supply module 21 may control not only supply / stop of the clock of the Write DMAC 302 but also power supply or stop of the power supply of the Write DMAC 302. Further, the supply module 21 may control to change the clock frequency of the Write DMAC 302 or to change the power supply voltage of the Write DMAC 302. The system-on-chip 100 includes a bus module 30 that is connected to each module (not shown), manages data transfer, a DRAM 200 that is a volatile temporary storage device, and a MEMC 20 that is a memory controller that controls the DRAM 200. The image processing system-on-chip 100 includes a clock generator that generates a clock signal to each module, a reset generator that generates a reset signal, and the like, which are omitted in FIG.

[画像処理モジュール11の構成例]
図2のブロック図に本実施形態の画像処理モジュール11の構成例を示す。画像処理モジュール11は、ReadDMAC300、画像処理モジュール内の演算回路301、WriteDMAC302、WriteDMACクロックイネーブル制御モジュール303を備える。WriteDMACクロックイネーブル制御モジュール303は、本実施形態において、省電力制御を行う制御回路である。
[Configuration Example of Image Processing Module 11]
The block diagram of FIG. 2 shows a configuration example of the image processing module 11 of the present embodiment. The image processing module 11 includes a ReadDMAC 300, an arithmetic circuit 301 in the image processing module, a Write DMAC 302, and a Write DMAC clock enable control module 303. The Write DMAC clock enable control module 303 is a control circuit that performs power saving control in this embodiment.

以下に、画像処理モジュール11内の各モジュールの動作に関して、基本的なデータ処理フローにそって説明する。   Hereinafter, the operation of each module in the image processing module 11 will be described along a basic data processing flow.

まず、ReadDMAC300は、バスモジュール30を介してMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そして、ReadDMAC300は、画像処理モジュール内の演算回路301に対してDRAM200より受信したデータを転送する。このデータ転送の開始タイミングで、ReadDMAC内部バスデータ転送発生信号(パルス信号)がアサートされる。   First, the ReadDMAC 300 issues a read request to the MEMC 20 via the bus module 30 and reads data in a predetermined address area on the DRAM 200. The ReadDMAC 300 transfers the data received from the DRAM 200 to the arithmetic circuit 301 in the image processing module. At the start timing of this data transfer, the ReadDMAC internal bus data transfer generation signal (pulse signal) is asserted.

次に、演算回路301は、ReadDMAC300から転送された入力データに対して画像処理演算などの所定の演算処理を行う。この演算回路301での画像処理演算などの所定の演算処理には400サイクルの時間を要するとする。画像処理モジュール内の演算回路301の処理が完了すると、演算回路301は、WriteDMAC302に対して画像処理を行ったデータの転送を行う。   Next, the arithmetic circuit 301 performs predetermined arithmetic processing such as image processing arithmetic on the input data transferred from the ReadDMAC 300. It is assumed that a predetermined calculation process such as an image processing calculation in the calculation circuit 301 requires 400 cycles. When the processing of the arithmetic circuit 301 in the image processing module is completed, the arithmetic circuit 301 transfers data subjected to image processing to the Write DMAC 302.

WriteDMAC302は、演算回路301より出力データを受信した後、バスモジュール30を介してMEMC20にライトリクエストを発行し、DRAM200上の所定のアドレス領域にデータを書き込む。このデータ書き込みが完了したタイミングで、WriteDMAC外部バスデータ転送完了信号(パルス信号)がアサートされる。また、WriteDMAC動作状態を示す信号は、WriteDMAC302が動作中の期間は常にアサートされ、非動作中の期間は常にネゲートされる。   The Write DMAC 302 receives the output data from the arithmetic circuit 301, issues a write request to the MEMC 20 via the bus module 30, and writes the data in a predetermined address area on the DRAM 200. At the timing when this data writing is completed, the Write DMAC external bus data transfer completion signal (pulse signal) is asserted. The signal indicating the write DMAC operating state is always asserted while the write DMAC 302 is operating, and is always negated during the non-operating period.

また、WriteDMACクロックイネーブル制御モジュール303は、画像処理モジュール11内のデータ処理状況に応じて、供給モジュール21に対して、WriteDMAC302のクロック制御指示信号を送信することができる。本実施形態において、WriteDMAC302は、供給モジュール21によって、クロックの供給を制御されるクロックゲーティング対象回路である。なお、本実施形態では、クロックゲーティング対象回路の例として、WriteDMAC302について説明するが、所定処理を行う回路であれば、WriteDMAC302に限定されない。   The Write DMAC clock enable control module 303 can transmit a write DMAC 302 clock control instruction signal to the supply module 21 in accordance with the data processing status in the image processing module 11. In this embodiment, the Write DMAC 302 is a clock gating target circuit that is controlled by the supply module 21 to supply a clock. In the present embodiment, the Write DMAC 302 is described as an example of a clock gating target circuit. However, the circuit is not limited to the Write DMAC 302 as long as the circuit performs a predetermined process.

[WriteDMACクロックイネーブル制御モジュール303の構成例]
図3のブロック図に本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。
[Configuration Example of Write DMAC Clock Enable Control Module 303]
The block diagram of FIG. 3 shows an example of the configuration of the Write DMAC clock enable control module 303 of this embodiment.

WriteDMACクロックイネーブル制御モジュール303は、クロックイネーブル生成カウンタ400、クロック停止要求マスク期間カウンタ401、クロックイネーブルネゲート指示生成回路403及びクロックイネーブル制御回路402を備える。第1計測部であるクロックイネーブル生成カウンタ400の計測対象は第一の所定時間500であり、第2計測部であるクロック停止要求マスク期間カウンタ401の計測対象は第二の所定時間501である。本実施形態では、第一の所定時間500及び第二の所定時間501の計測は、それぞれ設定されたクロック数を計測することによって実現する。本実施形態では、簡単のために、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401とWriteDMAC302のクロック周波数は同一であるとして説明する。しかし、これらのカウンタとWriteDMAC302のクロック周波数は異なる周波数で動作していても構わない。例えば、これらのカウンタの周波数をWriteDMAC302のクロック周波数の1/2に設定することで、クロック制御の精度は低下するが、同じ期間を測定する場合に、カウンタを構成するFFの個数を半分にすることができる。そうすると、カウンタの回路規模は約1/2になり、回路規模が1/2かつ周波数が1/2のため、カウンタの動作電力は約1/4に低下させることが可能になる。また、第1計測部及び第2計測部は、時間(サイクル数)を計測する回路であれば、カウンタに限らず、例えばレジスタによって構成することも可能である。   The Write DMAC clock enable control module 303 includes a clock enable generation counter 400, a clock stop request mask period counter 401, a clock enable negate instruction generation circuit 403, and a clock enable control circuit 402. The measurement target of the clock enable generation counter 400 that is the first measurement unit is the first predetermined time 500, and the measurement target of the clock stop request mask period counter 401 that is the second measurement unit is the second predetermined time 501. In the present embodiment, measurement of the first predetermined time 500 and the second predetermined time 501 is realized by measuring the set number of clocks. In the present embodiment, for the sake of simplicity, description will be made assuming that the clock frequencies of the clock enable generation counter 400, the clock stop request mask period counter 401, and the Write DMAC 302 are the same. However, the clock frequencies of these counters and Write DMAC 302 may be operating at different frequencies. For example, by setting the frequency of these counters to ½ of the clock frequency of Write DMAC 302, the accuracy of clock control is reduced, but when measuring the same period, the number of FFs constituting the counter is halved. be able to. Then, the circuit scale of the counter is about ½, the circuit scale is ½, and the frequency is ½, so that the operation power of the counter can be reduced to about ¼. In addition, the first measurement unit and the second measurement unit are not limited to the counter as long as they are circuits that measure time (number of cycles), and may be configured by registers, for example.

本実施形態では、図2に示すように、クロックゲーティング対象回路の一例として、WriteDMAC302について説明したが、所定処理を行う回路であれば本実施形態を適用することができる。また、クロックゲーティング対象回路が複数存在する場合は、クロックイネーブル生成カウンタ400とクロック停止要求マスク期間カウンタ401を、各クロックゲーティング対象回路の1個につき1組ずつ用意すればよい。各クロックゲーティング対象回路とクロックイネーブル生成カウンタ400とクロック停止要求マスク期間カウンタ401の関係は同様であるので、詳細な説明を省略する。   In the present embodiment, as shown in FIG. 2, the Write DMAC 302 has been described as an example of a clock gating target circuit. However, the present embodiment can be applied to any circuit that performs predetermined processing. If there are a plurality of clock gating target circuits, one set of the clock enable generation counter 400 and the clock stop request mask period counter 401 may be prepared for each clock gating target circuit. Since the relationship among each clock gating target circuit, the clock enable generation counter 400, and the clock stop request mask period counter 401 is the same, detailed description thereof is omitted.

また、WriteDMACクロックイネーブル制御モジュール303は、WriteDMACクロック供給要求信号生成回路304(第1生成回路)及びWriteDMACクロック停止要求信号生成回路305(第2生成回路)を備える。この二つのモジュールは、WriteDMACクロックイネーブル制御モジュール303に対して、WriteDMAC302へのクロック供給又はクロック供給停止を要求する信号を受信する。   The Write DMAC clock enable control module 303 includes a Write DMAC clock supply request signal generation circuit 304 (first generation circuit) and a Write DMAC clock stop request signal generation circuit 305 (second generation circuit). These two modules receive a signal requesting the Write DMAC clock enable control module 303 to supply a clock to the Write DMAC 302 or to stop the clock supply.

これらのモジュールの動作詳細は、以下のフローチャートおよび波形を用いた動作説明の項で説明する。   Details of the operation of these modules will be described in the following flowchart and explanation of operation using waveforms.

[クロックイネーブル生成カウンタ400の動作フロー]
図4に本実施形態のクロックイネーブル生成カウンタ400の動作フローのフローチャートを示す。
[Operation Flow of Clock Enable Generation Counter 400]
FIG. 4 shows a flowchart of the operation flow of the clock enable generation counter 400 of this embodiment.

まず、ステップS11において、クロックイネーブル生成カウンタ400は、非カウント状態である。そして、ステップS12において、クロックイネーブル生成カウンタ400は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、クロックイネーブル生成カウンタ400は、ステップS11の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、ステップS13に進み、クロックイネーブル生成カウンタ400は、カウント状態に移行する。そして、次のサイクルで、ステップS14において、クロックイネーブル生成カウンタ400は、クロックイネーブル生成カウンタ400の値を1にセットする。その後、ステップS15において、クロックイネーブル生成カウンタ400は、クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しいかどうかを、毎サイクル判定する。クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しくなければ、ステップS16において、クロックイネーブル生成カウンタ400は値を+1し、次のサイクルに再度ステップS15の判定を行う。クロックイネーブル生成カウンタ400の値が第一の所定時間500の値と等しければ、ステップS17において、クロックイネーブル生成カウンタ400は、クロックイネーブルアサート指示信号(第1信号)の値を1に変更する。そして、クロックイネーブル生成カウンタ400は、ステップS11の非カウント状態に戻る。   First, in step S11, the clock enable generation counter 400 is in a non-count state. In step S12, the clock enable generation counter 400 determines whether or not the Write DMAC clock supply request signal has a value of 1 every cycle. When the Write DMAC clock supply request signal is 0, the clock enable generation counter 400 continues the non-count state in step S11. If the Write DMAC clock supply request signal is 1, the process proceeds to step S13, and the clock enable generation counter 400 shifts to the count state. Then, in the next cycle, in step S14, the clock enable generation counter 400 sets the value of the clock enable generation counter 400 to 1. Thereafter, in step S15, the clock enable generation counter 400 determines whether or not the value of the clock enable generation counter 400 is equal to the value of the first predetermined time 500 every cycle. If the value of the clock enable generation counter 400 is not equal to the value of the first predetermined time 500, in step S16, the clock enable generation counter 400 increments the value and performs the determination of step S15 again in the next cycle. If the value of the clock enable generation counter 400 is equal to the value of the first predetermined time 500, the clock enable generation counter 400 changes the value of the clock enable assert instruction signal (first signal) to 1 in step S17. Then, the clock enable generation counter 400 returns to the non-count state in step S11.

[クロック停止要求マスク期間カウンタ401の動作フロー]
図5に本実施形態のクロック停止要求マスク期間カウンタ401の動作フローのフローチャートを示す。
[Operation Flow of Clock Stop Request Mask Period Counter 401]
FIG. 5 shows a flowchart of the operation flow of the clock stop request mask period counter 401 of this embodiment.

まず、ステップS21において、クロック停止要求マスク期間カウンタ401は、非カウント状態である。そして、ステップS22において、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、クロック停止要求マスク期間カウンタ401は、ステップS22と同一サイクルにおいて、次のステップS23に移る。   First, in step S21, the clock stop request mask period counter 401 is in a non-count state. In step S22, the clock stop request mask period counter 401 determines whether or not the Write DMAC clock supply request signal has a value of 1 every cycle. When the Write DMAC clock supply request signal is 0, the clock stop request mask period counter 401 continues the non-count state of step S21. When the Write DMAC clock supply request signal is 1, the clock stop request mask period counter 401 proceeds to the next step S23 in the same cycle as step S22.

ステップS23では、クロック停止要求マスク期間カウンタ401は、クロックイネーブル生成カウンタ400がカウント状態であるかどうかを判定する。クロックイネーブル生成カウンタ400が、カウント状態でない場合は、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態を継続する。クロックイネーブル生成カウンタ400が、カウント状態の場合は、クロック停止要求マスク期間カウンタ401は、ステップS24のカウント状態に移行する。ステップS25では、ステップS24と同一サイクルにおいて、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック停止要求信号の無効化を開始する。具体的に、クロック停止要求マスク期間カウンタ401のカウント状態では、クロック停止要求マスク期間カウンタ401はクロックイネーブルネゲート指示生成回路403に対して、カウント中を示す信号を出力する。クロックイネーブルネゲート指示生成回路403は、クロック停止要求マスク期間カウンタ401のカウント中を示す信号を受信すると、クロックイネーブルネゲート指示信号を出力しないように、クロックイネーブルネゲート指示信号の生成を制限する。クロックイネーブルネゲート指示信号の生成が制限されるので、WriteDMACクロック停止要求信号が発生されても、クロックイネーブルネゲート指示信号が生成されず、WriteDMACクロック停止要求信号が無効化される。   In step S23, the clock stop request mask period counter 401 determines whether or not the clock enable generation counter 400 is in a count state. When the clock enable generation counter 400 is not in the count state, the clock stop request mask period counter 401 continues the non-count state in step S21. When the clock enable generation counter 400 is in the count state, the clock stop request mask period counter 401 shifts to the count state in step S24. In step S25, in the same cycle as step S24, the clock stop request mask period counter 401 starts to invalidate the Write DMAC clock stop request signal. Specifically, in the count state of the clock stop request mask period counter 401, the clock stop request mask period counter 401 outputs a signal indicating that counting is in progress to the clock enable negate instruction generation circuit 403. When receiving the signal indicating that the clock stop request mask period counter 401 is counting, the clock enable negate instruction generation circuit 403 limits the generation of the clock enable negate instruction signal so as not to output the clock enable negate instruction signal. Since the generation of the clock enable negate instruction signal is limited, even when the Write DMAC clock stop request signal is generated, the clock enable negate instruction signal is not generated, and the Write DMAC clock stop request signal is invalidated.

そして、ステップS26では、次のサイクルで、クロック停止要求マスク期間カウンタ401は、クロック停止要求マスク期間カウンタ401の値を1にセットする。ステップS27では、ステップS26と同一サイクルで、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック供給要求信号が1の値であるかどうか、を判定する。WriteDMACクロック供給要求信号が1の場合は、次のサイクルでステップS26に戻ることで、クロック停止要求マスク期間カウンタ401は値を再度1にセットし、カウンタ値のリセットを行う。これは、クロック停止要求マスク期間カウンタ401がカウント状態時にWriteDMACクロック供給要求信号がアサートされた場合に、カウンタのカウント期間を延長し、カウンタを何度も再利用するためである。WriteDMACクロック供給要求信号が0の場合は、ステップS27と同一サイクルにおいて、次のステップS28に移る。   In step S26, in the next cycle, the clock stop request mask period counter 401 sets the value of the clock stop request mask period counter 401 to 1. In step S27, in the same cycle as step S26, the clock stop request mask period counter 401 determines whether or not the Write DMAC clock supply request signal has a value of 1. When the Write DMAC clock supply request signal is 1, by returning to step S26 in the next cycle, the clock stop request mask period counter 401 sets the value to 1 again and resets the counter value. This is because when the Write DMAC clock supply request signal is asserted while the clock stop request mask period counter 401 is in the count state, the counter count period is extended and the counter is reused many times. When the Write DMAC clock supply request signal is 0, the process proceeds to the next step S28 in the same cycle as step S27.

ステップS28では、クロック停止要求マスク期間カウンタ401は、クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しいかどうかを判定する。クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しくなければ、ステップS29では、クロック停止要求マスク期間カウンタ401は値を+1し、次のサイクルに再度ステップS27の判定を行う。ステップS30において、クロック停止要求マスク期間カウンタ401の値が第二の所定時間501と等しければ、クロック停止要求マスク期間カウンタ401は、WriteDMACクロック停止要求信号の無効化を終了する。そして、クロック停止要求マスク期間カウンタ401は、ステップS21の非カウント状態に戻る。   In step S28, the clock stop request mask period counter 401 determines whether or not the value of the clock stop request mask period counter 401 is equal to the second predetermined time 501. If the value of the clock stop request mask period counter 401 is not equal to the second predetermined time 501, the clock stop request mask period counter 401 increments the value by 1 in step S29, and the determination in step S27 is performed again in the next cycle. In step S30, if the value of the clock stop request mask period counter 401 is equal to the second predetermined time 501, the clock stop request mask period counter 401 ends the invalidation of the Write DMAC clock stop request signal. Then, the clock stop request mask period counter 401 returns to the non-count state in step S21.

●単発の転送が発行された場合
図6に、本実施形態において単発の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When Single Transfer Is Issued FIG. 6 illustrates the data processing of the image processing module 11 and the write DMAC 302 clock stop processing when a single transfer is issued in this embodiment, using waveforms.

まず、ReadDMAC300は、バスモジュール30を介してMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む(T0)。その際にReadDMAC外部バスデータ転送完了信号がアサートされる(T0)。そしてReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T2)。その際にReadDMAC内部バスデータ転送発生信号がアサートされる(T2)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T2)。   First, the ReadDMAC 300 issues a read request to the MEMC 20 via the bus module 30 and reads data in a predetermined address area on the DRAM 200 (T0). At this time, the ReadDMAC external bus data transfer completion signal is asserted (T0). The ReadDMAC 300 transfers the data received from the DRAM 200 to the arithmetic processing module 301 in the image processing module (T2). At this time, the ReadDMAC internal bus data transfer generation signal is asserted (T2). At the same time, the Write DMAC clock supply request signal generation circuit 304 asserts the Write DMAC clock supply request signal (T2).

WriteDMACクロック供給要求信号のアサートを受け、クロックイネーブル生成カウンタ400は、時刻T3より第一の所定時間500の間、時間計測を行う(T3→T397)。本実施形態では第一の所定時間500は、395サイクルである。また、図3に示したクロックイネーブル生成カウンタのカウント中を示す信号(図6では不図示)は、クロックイネーブル生成カウンタ400がカウント中の期間(T3→T397)はアサートされ、非カウント中の期間はネゲートされる。図6の、クロックイネーブル生成カウンタ400がカウントを行っているサイクルにおいて、クロックイネーブル生成カウンタのカウント中を示す信号は常にアサートされている。   In response to the assertion of the Write DMAC clock supply request signal, the clock enable generation counter 400 performs time measurement for a first predetermined time 500 from time T3 (T3 → T397). In the present embodiment, the first predetermined time 500 is 395 cycles. Further, the signal indicating that the clock enable generation counter is counting (not shown in FIG. 6) shown in FIG. 3 is asserted during the period when the clock enable generation counter 400 is counting (T3 → T397) and is not counting. Is negated. In the cycle in which the clock enable generation counter 400 in FIG. 6 is counting, the signal indicating that the clock enable generation counter is counting is always asserted.

次に、画像処理モジュール内の演算回路301は、ReadDMAC300から転送されたデータに対して画像処理演算を行う(T3→T402)。この画像処理モジュール内演算回路301内部での画像処理演算には400サイクルの時間を要するとする。   Next, the arithmetic circuit 301 in the image processing module performs image processing arithmetic on the data transferred from the ReadDMAC 300 (T3 → T402). It is assumed that the image processing calculation in the image processing module internal calculation circuit 301 requires 400 cycles.

T397において、クロックイネーブル生成カウンタ400の第一の所定時間500の時間計測が完了し、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。   At T397, the time measurement of the first predetermined time 500 of the clock enable generation counter 400 is completed, and the clock enable assert instruction signal is asserted to the clock enable control circuit 402.

WriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するのは、クロックイネーブルアサート指示信号のアサート後、5サイクルの後であるとする。T402において、WriteDMAC302のクロックが供給され、WriteDMAC302の動作が開始される。   It is assumed that the clock of the Write DMAC 302 is supplied and the Write DMAC 302 actually starts operating after five cycles after the assertion of the clock enable assert instruction signal. At T402, the write DMAC 302 clock is supplied, and the operation of the write DMAC 302 is started.

T402において、画像処理モジュール内演算回路301の処理が完了し、画像処理モジュール内演算回路301は、WriteDMAC302に対して画像処理を行ったデータの転送を行う(T402)。   In T402, the processing in the image processing module arithmetic circuit 301 is completed, and the image processing module arithmetic circuit 301 transfers the data subjected to the image processing to the Write DMAC 302 (T402).

WriteDMAC302は、画像処理モジュール内演算回路301より出力データを受信した後、バスモジュール30を介してMEMC20にライトリクエストを発行し、DRAM200上の所定のアドレス領域にデータを書き込む(T408)。その際にWriteDMAC外部バスデータ転送完了信号がアサートされる(T408)。それと同時にWriteDMACクロック停止要求信号生成回路305は、WriteDMACクロック停止要求信号をアサートする(T408)。また、WriteDMAC302がデータ処理を行っている間(T403→T408)、図3に示したWriteDMAC動作状態を示す信号(図6では不図示)はアサートされる。図6では、WriteDMAC動作状態が動作中となっているサイクルにおいて、WriteDMAC動作状態を示す信号は常にアサートされている。   The Write DMAC 302 receives the output data from the arithmetic circuit 301 in the image processing module, then issues a write request to the MEMC 20 via the bus module 30, and writes the data in a predetermined address area on the DRAM 200 (T408). At this time, the Write DMAC external bus data transfer completion signal is asserted (T408). At the same time, the Write DMAC clock stop request signal generation circuit 305 asserts the Write DMAC clock stop request signal (T408). Further, while the Write DMAC 302 is performing data processing (T403 → T408), the signal (not shown in FIG. 6) indicating the Write DMAC operation state shown in FIG. 3 is asserted. In FIG. 6, in the cycle in which the Write DMAC operation state is in operation, the signal indicating the Write DMAC operation state is always asserted.

WriteDMAC302とMEMC20間のデータ転送が完了すると、WriteDMAC302内に転送情報は存在しなくなり、WriteDMAC302をクロック停止状態に置くことができる。そのため、時刻T408において、WriteDMAC302とMEMC20間のデータ転送の完了と同時に、WriteDMACクロック停止要求信号生成回路305は、WriteDMACクロック停止要求信号をアサートする。同時に、クロックイネーブルネゲート指示生成回路403(第3生成回路)は、クロックイネーブル制御回路402に対して出力するクロックイネーブルネゲート指示信号(第2信号)をアサートする。即ち、クロックイネーブルネゲート指示生成回路403は、クロックイネーブルネゲート指示信号を生成し、クロックイネーブル制御回路402に出力する。   When the data transfer between the Write DMAC 302 and the MEMC 20 is completed, there is no transfer information in the Write DMAC 302, and the Write DMAC 302 can be placed in a clock stop state. Therefore, at the time T408, simultaneously with the completion of the data transfer between the Write DMAC 302 and the MEMC 20, the Write DMAC clock stop request signal generation circuit 305 asserts the Write DMAC clock stop request signal. At the same time, the clock enable negate instruction generation circuit 403 (third generation circuit) asserts a clock enable negate instruction signal (second signal) output to the clock enable control circuit 402. That is, the clock enable negate instruction generation circuit 403 generates a clock enable negate instruction signal and outputs it to the clock enable control circuit 402.

WriteDMAC302のクロックが停止され、WriteDMAC302が実際に動作を停止するのは、クロックイネーブルネゲート指示信号のアサート後、5サイクル後であるとする。T413において、WriteDMAC302のクロックが停止され、WriteDMAC302の動作が停止される。   It is assumed that the clock of the Write DMAC 302 is stopped and the Write DMAC 302 actually stops operating after five cycles after the assertion of the clock enable negate instruction signal. At T413, the clock of the Write DMAC 302 is stopped, and the operation of the Write DMAC 302 is stopped.

なお、図6では、クロック停止要求マスク期間カウンタ401は、図5に示したカウンタの起動要件を満たさないため、全サイクル期間において非カウント状態を継続する。   In FIG. 6, the clock stop request mask period counter 401 does not satisfy the counter activation requirement shown in FIG.

●十分に長い間隔で、2連続の転送が発行された場合
十分に長い間隔で、2連続の転送が発行された場合は、それらの転送の間のWriteDMAC302が転送の処理を行っていない期間、WriteDMAC302のクロックを停止させることができる。
When two consecutive transfers are issued at a sufficiently long interval When two consecutive transfers are issued at a sufficiently long interval, the period during which the Write DMAC 302 between those transfers is not processing the transfer, The clock of the Write DMAC 302 can be stopped.

上記の『十分に長い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されていない状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用可能な状態を意味する。   The phrase “sufficiently long interval” means that the subsequent transfer is issued in a state where the clock enable generation counter 400 is not used by the preceding transfer, and the clock enable generation counter 400 can be used by the subsequent transfer. Means state.

図7に、十分に長い間隔で、本実施形態において2連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。   FIG. 7 illustrates the data processing of the image processing module 11 and the clock stop processing of the Write DMAC 302 when two continuous transfers are issued in this embodiment at sufficiently long intervals, using waveforms.

図7において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 7, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

転送AのT408までの処理内容は、先述した図6の『単発の転送が発行された場合』の説明内容と同一処理であるため、詳細な説明は省略する。T408においてWriteDMAC302における転送Aの処理が完了した結果、T413より、WriteDMAC302のクロックは停止される。   Since the processing content up to T408 of transfer A is the same processing as the description content of “when a single transfer is issued” in FIG. 6 described above, detailed description thereof is omitted. As a result of the completion of the transfer A process in the Write DMAC 302 at T408, the clock of the Write DMAC 302 is stopped at T413.

T418において、転送Bが発行され、ReadDMAC300がMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そして、ReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T420)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T420)。   At T418, transfer B is issued, ReadDMAC 300 issues a read request to MEMC 20, and reads data in a predetermined address area on DRAM 200. Then, the ReadDMAC 300 transfers the data received from the DRAM 200 to the in-image processing module arithmetic circuit 301 (T420). At the same time, the Write DMAC clock supply request signal generation circuit 304 asserts the Write DMAC clock supply request signal (T420).

そして、クロックイネーブル生成カウンタ400は、T421から第一の所定時間500(395サイクル)経過した後のT815において、クロックイネーブルアサート指示信号をアサートする。そして、さらに5サイクル後のT820にWriteDMAC302のクロックが供給される。   Then, the clock enable generation counter 400 asserts the clock enable assert instruction signal at T815 after the first predetermined time 500 (395 cycles) has elapsed from T421. Further, the write DMAC 302 clock is supplied to T820 after five cycles.

その結果、転送Aの処理が完了しWriteDMAC302のクロックが停止されるT413から、転送Bが発行されてWriteDMAC302のクロックが供給されるT819までの期間、WriteDMAC302のクロックは停止する。その期間、WriteDMAC302の電力を削減することができる。   As a result, the clock of the Write DMAC 302 is stopped during a period from T413 when the processing of the transfer A is completed and the clock of the Write DMAC 302 is stopped to T819 when the transfer B is issued and the clock of the Write DMAC 302 is supplied. During that period, the power of the Write DMAC 302 can be reduced.

またT831では、WriteDMAC302における転送Bの処理完了に伴い、WriteDMAC302のクロックは停止する。   Further, at T831, the clock of the Write DMAC 302 stops with the completion of the transfer B processing in the Write DMAC 302.

なお、図7では、クロック停止要求マスク期間カウンタ401は、図5に示したカウンタの起動要件を満たさないため、全サイクル期間において非カウント状態を継続する。   In FIG. 7, the clock stop request mask period counter 401 does not satisfy the activation requirement of the counter shown in FIG.

●短い間隔で、2連続の転送が発行された場合(ケース1)
短い間隔で、2連続の転送が発行された場合(ケース1)は、それらの転送の間のWriteDMAC302が転送の処理を行っていない期間でも、WriteDMAC302のクロックは停止されない。
● When two consecutive transfers are issued at short intervals (Case 1)
When two consecutive transfers are issued at a short interval (case 1), the clock of the Write DMAC 302 is not stopped even during the period during which the Write DMAC 302 is not performing a transfer process.

上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。   The phrase “short interval” means that the subsequent transfer is issued while the clock enable generation counter 400 is used by the preceding transfer, and the clock enable generation counter 400 cannot be used by the subsequent transfer. Means.

本実施形態では、クロック停止要求マスク期間カウンタ401を利用して、後行の転送の発生から所定時間、WriteDMACクロック停止要求信号のアサートを無効化させる。こうすることで、WriteDMAC302のクロックが停止状態で、WriteDMAC302に後行の転送が到達することを防ぐ。   In this embodiment, the clock stop request mask period counter 401 is used to invalidate the assertion of the Write DMAC clock stop request signal for a predetermined time from the occurrence of the subsequent transfer. By doing so, the transfer of the succeeding line is prevented from reaching the Write DMAC 302 when the clock of the Write DMAC 302 is stopped.

図8に、本実施形態において短い間隔で、2連続の転送が発行された場合(ケース1)の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。   FIG. 8 illustrates the data processing of the image processing module 11 and the clock stop processing of the Write DMAC 302 when two continuous transfers are issued at a short interval (case 1) in this embodiment, using waveforms.

図8において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 8, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

転送AのT408までの処理内容は、先述した『単発の転送が発行された場合』の説明内容と同一処理であるため、詳細な説明は省略する。   Since the processing content up to T408 of transfer A is the same processing content as that described above in the case of “single transfer is issued”, detailed description thereof is omitted.

T8において、転送Bが発行され、ReadDMAC300がMEMC20にリードリクエストを発行し、DRAM200上の所定のアドレス領域のデータを読み込む。そしてReadDMAC300は、画像処理モジュール内演算回路301に対してDRAM200より受信したデータを転送する(T10)。それと同時にWriteDMACクロック供給要求信号生成回路304は、WriteDMACクロック供給要求信号をアサートする(T10)。   At T8, transfer B is issued, ReadDMAC 300 issues a read request to MEMC 20, and reads data in a predetermined address area on DRAM 200. The ReadDMAC 300 transfers the data received from the DRAM 200 to the arithmetic processing module 301 in the image processing module (T10). At the same time, the Write DMAC clock supply request signal generation circuit 304 asserts the Write DMAC clock supply request signal (T10).

しかしながら、転送Bに関するWriteDMACクロック供給要求信号がアサートされるT10の時点では、転送Aに関するクロックイネーブル生成カウンタ400の時間計測が実行中である。そのため、T10の時点では、転送Bに関するクロックイネーブル生成カウンタ400の時間計測を実行できない。   However, at time T10 when the Write DMAC clock supply request signal for transfer B is asserted, the time measurement of the clock enable generation counter 400 for transfer A is being executed. Therefore, the time measurement of the clock enable generation counter 400 related to the transfer B cannot be performed at time T10.

クロックイネーブル生成カウンタ400の時間計測が実行中に、新しくWriteDMACクロック供給要求信号がアサートされたため、クロック停止要求マスク期間カウンタ401が動作を開始する(T11)。具体的には、クロックイネーブル生成カウンタのカウント中を示す信号(図8では不図示)がアサート期間中(T11→T410)にWriteDMACクロック供給要求信号がアサートされたことで、本カウンタの動作が開始される(T11)。   Since the Write DMAC clock supply request signal is newly asserted during the time measurement of the clock enable generation counter 400, the clock stop request mask period counter 401 starts its operation (T11). Specifically, the operation of this counter is started when the Write DMAC clock supply request signal is asserted during the assertion period (T11 → T410) of the signal indicating that the clock enable generation counter is counting (not shown in FIG. 8). (T11).

クロック停止要求マスク期間カウンタ401は、時刻T11より第二の所定時間501の間、時間計測を行う(T11→T410)。本実施形態では第二の所定時間501は、400サイクルである。また、図3に示したクロック停止要求マスク期間カウンタのカウント中を示す信号(図8では不図示)は、クロック停止要求マスク期間カウンタ401がカウント中の期間(T11→T410)はアサートされ、非カウント中の期間はネゲートされる。図8の、クロック停止要求マスク期間カウンタ401がカウントを行っているサイクルにおいて、クロック停止要求マスク期間カウンタのカウント中を示す信号は常にアサートされている。   The clock stop request mask period counter 401 performs time measurement for a second predetermined time 501 from time T11 (T11 → T410). In the present embodiment, the second predetermined time 501 is 400 cycles. Also, the signal indicating that the clock stop request mask period counter is being counted (not shown in FIG. 8) shown in FIG. 3 is asserted during the period (T11 → T410) during which the clock stop request mask period counter 401 is counting, The period being counted is negated. In the cycle in which the clock stop request mask period counter 401 is counting in FIG. 8, the signal indicating that the clock stop request mask period counter is being counted is always asserted.

T408において、WriteDMAC302における転送Aの処理が完了し、WriteDMACクロック停止要求信号がアサートされる。しかしながら、T408の時点では転送Bによりクロック停止要求マスク期間カウンタ401が時間計測中である。そのため、クロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。即ち、クロックイネーブルネゲート指示信号の生成は、クロック停止要求マスク期間カウンタ401が計測中であることを示す信号によって制限される。そのため、転送Aの処理完了に伴う、WriteDMAC302のクロック停止要求は無効化される(T408)。その結果、WriteDMAC302が転送Bを処理しているT413以降も、WriteDMAC302のクロックは供給され続ける。   At T408, the processing of transfer A in the Write DMAC 302 is completed, and the Write DMAC clock stop request signal is asserted. However, at time T408, the clock stop request mask period counter 401 is measuring time by transfer B. Therefore, the clock enable negate instruction generation circuit 403 ignores the assertion of the Write DMAC clock stop request signal and does not assert the clock enable negate instruction signal. That is, the generation of the clock enable negate instruction signal is limited by a signal indicating that the clock stop request mask period counter 401 is measuring. Therefore, the write DMAC 302 clock stop request accompanying the completion of the transfer A processing is invalidated (T408). As a result, the clock of the Write DMAC 302 continues to be supplied even after T413 when the Write DMAC 302 is processing the transfer B.

具体的には、クロックイネーブルネゲート指示生成回路403は、クロック停止要求マスク期間カウンタのカウント中を示す信号、またはWriteDMAC動作状態を示す信号(図8では不図示)のいずれかがアサートされていない期間、以下の制御を行う。クロックイネーブルネゲート指示生成回路403は、当該期間はWriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号の生成を制限し、クロックイネーブルネゲート指示信号をアサートしない。クロックイネーブルネゲート指示生成回路403は、WriteDMAC302が動作時に、WriteDMAC302のクロックを不用意に停止させることを防止する機構である。なお、WriteDMAC302のクロック供給時の狭間の時間で、クロックを停止させないために、第1の実施形態に以下の構成を加えてもよい。クロックイネーブルアサート指示信号のアサートから、WriteDMACが動作を開始するまでの期間は、クロックイネーブルネゲート指示信号を無効化する。   Specifically, the clock enable negate instruction generation circuit 403 is a period in which either the signal indicating that the clock stop request mask period counter is being counted or the signal indicating the Write DMAC operating state (not shown in FIG. 8) is not asserted. The following control is performed. The clock enable negate instruction generation circuit 403 ignores the assertion of the Write DMAC clock stop request signal during this period, restricts the generation of the clock enable negate instruction signal, and does not assert the clock enable negate instruction signal. The clock enable negate instruction generation circuit 403 is a mechanism for preventing the clock of the Write DMAC 302 from being inadvertently stopped when the Write DMAC 302 is operating. Note that the following configuration may be added to the first embodiment so that the clock is not stopped in the interval between the clocks of the Write DMAC 302 when it is supplied. The clock enable negate instruction signal is invalidated during the period from the assertion of the clock enable assert instruction signal until the Write DMAC starts operation.

このように、転送Aと転送Bの発生間隔が短い場合は、以下のことがいえる。2つの転送間でWriteDMAC302のクロックを停止させないが、WriteDMAC302のクロックが停止状態時において、WriteDMAC302に転送Bが到達することを防止できる。   Thus, when the generation interval of transfer A and transfer B is short, the following can be said. Although the write DMAC 302 clock is not stopped between the two transfers, the transfer B can be prevented from reaching the write DMAC 302 when the write DMAC 302 clock is stopped.

このように、本実施形態では、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401の2つのカウンタを用いてクロック制御を行っており、クロック制御に必要な回路規模を小さく構成することができる。   Thus, in this embodiment, clock control is performed using the two counters of the clock enable generation counter 400 and the clock stop request mask period counter 401, and the circuit scale required for clock control can be reduced. .

また、T421では、WriteDMAC302における転送Bの処理完了に伴い、WriteDMAC302のクロックは停止する。   Also, at T421, the write DMAC 302 clock stops upon completion of the transfer B processing in the Write DMAC 302.

●短い間隔で、2連続の転送が発行された場合(ケース2)
図9に、短い間隔で、2連続の転送が発行された場合(ケース2)の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
● When two consecutive transfers are issued at short intervals (Case 2)
In FIG. 9, data processing of the image processing module 11 and clock stop processing of the Write DMAC 302 when two continuous transfers are issued at short intervals (case 2) will be described using waveforms.

上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。   The phrase “short interval” means that the subsequent transfer is issued while the clock enable generation counter 400 is used by the preceding transfer, and the clock enable generation counter 400 cannot be used by the subsequent transfer. Means.

図9において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 9, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

図8では転送Aと転送Bの間隔は8サイクルとかなり短かったが、図9では転送Aと転送Bの間隔は103サイクルとなる。図9での転送間隔(103サイクル)は図8のケース(8サイクル)よりも長いが、第一の所定時間500の395サイクルよりも短くなっている。   In FIG. 8, the interval between transfer A and transfer B is as short as 8 cycles, but in FIG. 9, the interval between transfer A and transfer B is 103 cycles. The transfer interval (103 cycles) in FIG. 9 is longer than the case (8 cycles) in FIG. 8, but is shorter than 395 cycles of the first predetermined time 500.

図9において図8との違いは、転送Aと転送Bの間隔が8サイクル→103サイクルに変更されているだけであり、個々の処理内容は違いがない。そのため、詳細な説明は省略する。   9 is different from FIG. 8 only in that the interval between transfer A and transfer B is changed from 8 cycles to 103 cycles, and there is no difference in individual processing contents. Therefore, detailed description is omitted.

図9では、T105において、転送BによりWriteDMACクロック供給要求信号がアサートされるが、転送Aによりクロックイネーブル生成カウンタ400が使用されている。そのため、T106→T410の期間、クロック停止要求マスク期間カウンタ401が動作する。   In FIG. 9, the Write DMAC clock supply request signal is asserted by transfer B at T105, but the clock enable generation counter 400 is used by transfer A. Therefore, the clock stop request mask period counter 401 operates during a period from T106 to T410.

T408で、WriteDMAC302における転送Aの処理が完了し、WriteDMACクロック停止要求信号がアサートされる。しかしながら、T408の時点では転送Bによりクロック停止要求マスク期間カウンタ401が時間計測中である。そのためクロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。   At T408, the processing of the transfer A in the Write DMAC 302 is completed, and the Write DMAC clock stop request signal is asserted. However, at time T408, the clock stop request mask period counter 401 is measuring time by transfer B. Therefore, the clock enable negate instruction generation circuit 403 ignores the assertion of the Write DMAC clock stop request signal and does not assert the clock enable negate instruction signal.

その結果、転送Aの処理が完了後のT413から、転送BがWriteDMAC302に到達する直前のT504までの期間、WriteDMAC302のクロックは供給され続ける。そのため、2つの転送間でWriteDMAC302のクロックを停止させないが、WriteDMAC302のクロックが停止状態時において、WriteDMAC302に転送Bが到達することを防止できる。   As a result, the clock of the Write DMAC 302 continues to be supplied during a period from T413 after the completion of the transfer A processing to T504 immediately before the transfer B reaches the Write DMAC 302. Therefore, although the write DMAC 302 clock is not stopped between two transfers, the transfer B can be prevented from reaching the write DMAC 302 when the write DMAC 302 clock is stopped.

●短い間隔で、3連続以上の転送が発行された場合
図10に、短い間隔で、3連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理(第1の実施形態)に関して波形を用いて説明する。
FIG. 10 shows data processing by the image processing module 11 and clock stop processing by the Write DMAC 302 (first processing) when three consecutive transfers are issued at short intervals. Embodiment) will be described using waveforms.

上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。   The phrase “short interval” means that the subsequent transfer is issued while the clock enable generation counter 400 is used by the preceding transfer, and the clock enable generation counter 400 cannot be used by the subsequent transfer. Means.

図10において、1つ目の転送を転送A、2つ目の転送を転送B,3つ目の転送を転送Cとする。3つの転送による個々の処理内容は、図6や図8の説明内容と同様であり、詳細な説明は省略する。   In FIG. 10, the first transfer is transfer A, the second transfer is transfer B, and the third transfer is transfer C. The individual processing contents by the three transfers are the same as the explanation contents of FIG. 6 and FIG. 8, and the detailed explanation is omitted.

短い間隔で、3連続以上で転送が発行された場合、すなわちクロック停止要求マスク期間カウンタ401の時間計測中に、後行の転送によりWriteDMACクロック供給要求信号がアサートされた場合(T10)は、次の動作を行う。クロック停止要求マスク期間カウンタ401は現在の値をリセットし(T11)、再度第二の所定時間501の間、時間を計測する(T11→T410)。これにより、短い間隔で、3連続以上の転送が発行された場合でも、クロック停止要求マスク期間カウンタ401の計測時間をその都度延長させ、本カウンタを再利用することができる。このため、クロック停止要求マスク期間カウンタ401を複数用意しなくても、WriteDMAC302のクロックが停止状態で、WriteDMAC302に後行の転送が到達することを防ぐことができる。   When a transfer is issued at a short interval for 3 or more consecutive times, that is, when the Write DMAC clock supply request signal is asserted by the subsequent transfer during the time measurement of the clock stop request mask period counter 401 (T10), Perform the operation. The clock stop request mask period counter 401 resets the current value (T11), and again measures the time for the second predetermined time 501 (T11 → T410). As a result, even when three or more consecutive transfers are issued at short intervals, the measurement time of the clock stop request mask period counter 401 can be extended each time, and this counter can be reused. For this reason, even if a plurality of clock stop request mask period counters 401 are not prepared, it is possible to prevent a subsequent transfer from reaching the Write DMAC 302 when the clock of the Write DMAC 302 is stopped.

なお、T412において、WriteDMAC302における転送Bの処理完了に伴いWriteDMACクロック停止要求信号がアサートされている。この際にクロック停止要求マスク期間カウンタ401が非カウント状態にも関わらず、クロックイネーブルネゲート指示信号がアサートされていない。これはT412の時点で、転送CによりWriteDMACが使用されているため、この時点ではWriteDMACのクロックを停止させることができないためである。具体的には、T412ではWriteDMAC302が転送Cを処理しており、WriteDMAC動作状態を示す信号(図10では不図示)がアサートされている。そのため、クロックイネーブルネゲート指示生成回路403は、WriteDMACクロック停止要求信号のアサートを無視し、クロックイネーブルネゲート指示信号をアサートしない。   At T412, the Write DMAC clock stop request signal is asserted with the completion of transfer B processing in the Write DMAC 302. At this time, the clock enable negate instruction signal is not asserted even though the clock stop request mask period counter 401 is not counted. This is because the Write DMAC is used by the transfer C at time T412, and the Write DMAC clock cannot be stopped at this time. Specifically, at T412, the Write DMAC 302 processes the transfer C, and a signal (not shown in FIG. 10) indicating the Write DMAC operating state is asserted. Therefore, the clock enable negate instruction generation circuit 403 ignores the assertion of the Write DMAC clock stop request signal and does not assert the clock enable negate instruction signal.

(第2の実施形態)
[装置の構成例]
第2の実施形態では、第1の実施形態の構成のうち、一部の構成のみが異なる。そのため、第1の実施形態と同じ構成部分に関しては説明を省略し、主に第2の実施形態が第1の実施形態と異なる部分を詳細に説明する。
(Second Embodiment)
[Device configuration example]
In the second embodiment, only a part of the configuration of the configuration of the first embodiment is different. Therefore, the description of the same components as those in the first embodiment will be omitted, and portions in which the second embodiment is different from the first embodiment will be mainly described in detail.

第2の実施形態の画像処理モジュール11の基本構成は、第1の実施形態の画像処理モジュール11の基本構成と同じであるので、その説明を省略する。本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成は第1の実施形態と異なり、図11のブロック図に、本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。   Since the basic configuration of the image processing module 11 of the second embodiment is the same as the basic configuration of the image processing module 11 of the first embodiment, the description thereof is omitted. The configuration of the Write DMAC clock enable control module 303 of this embodiment is different from that of the first embodiment, and the block diagram of FIG. 11 shows a configuration example of the Write DMAC clock enable control module 303 of this embodiment.

第2の実施形態では、第1の実施形態の構成に加えて、画像処理モジュール内演算回路301のデータのストール状態の発生を通知するデータストール状態通知手段600を備える。また、データストール状態通知手段600は、画像処理モジュール内演算回路301の内部状態を示す演算回路内部状態信号を受信する。   In the second embodiment, in addition to the configuration of the first embodiment, a data stall state notifying unit 600 for notifying the occurrence of a data stall state of the arithmetic circuit 301 in the image processing module is provided. Further, the data stall state notifying unit 600 receives an arithmetic circuit internal state signal indicating the internal state of the arithmetic circuit 301 in the image processing module.

データストール状態通知手段600は、演算回路内部状態信号の状態を確認して画像処理モジュール内演算回路301内部でデータ処理のストールが発生している期間を特定し、その期間の間、データストール状態通知信号をアサートする。   The data stall state notifying means 600 confirms the state of the arithmetic circuit internal state signal to identify a period during which data processing stall occurs inside the arithmetic circuit 301 in the image processing module, and during that period, the data stall state Assert a notification signal.

クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、データストール状態通知信号がアサートされている期間は、これらのカウンタの時間計測を中断させることができる。データ処理のストールが解消され、データストール状態通知信号がネゲートされると、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は時間計測を再開する。   The clock enable generation counter 400 and the clock stop request mask period counter 401 can interrupt the time measurement of these counters while the data stall state notification signal is asserted. When the data processing stall is resolved and the data stall state notification signal is negated, the clock enable generation counter 400 and the clock stop request mask period counter 401 resume time measurement.

これにより、データのストール状態の発生により、画像処理モジュール11内での処理時間が遅延する場合でも、WriteDMAC302のクロック制御を正しく行うことができる。   Accordingly, even when the processing time in the image processing module 11 is delayed due to the occurrence of a data stall state, the clock control of the Write DMAC 302 can be performed correctly.

●短い間隔で、2連続の転送が発行された場合
図12に、短い間隔で、2連続の転送が発行された場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理(第2の実施形態)に関して波形を用いて説明する。
When two consecutive transfers are issued at short intervals FIG. 12 shows the data processing of the image processing module 11 and the clock stop processing of the Write DMAC 302 (second processing) when two consecutive transfers are issued at short intervals. Embodiment) will be described using waveforms.

上記の『短い間隔』という文言は、先行の転送によりクロックイネーブル生成カウンタ400が使用されている状態で後行の転送が発行され、後行の転送によりクロックイネーブル生成カウンタ400が使用不可能な状態を意味する。   The phrase “short interval” means that the subsequent transfer is issued while the clock enable generation counter 400 is used by the preceding transfer, and the clock enable generation counter 400 cannot be used by the subsequent transfer. Means.

図12において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 12, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

2つの転送による個々の処理内容は、図6や図8の説明内容と同様であり、詳細な説明は省略する。   The individual processing contents by the two transfers are the same as the explanation contents of FIG. 6 and FIG. 8, and the detailed explanation is omitted.

T395において、画像処理モジュール内演算回路301のデータのストール状態が発生し、データストール状態通知信号のアサートが開始される。データストール状態通知信号のアサートは、T395からT398まで発生している。これに伴い、T396からT399までの期間は、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、時間計測を中断し、現在の値を保持する。時刻T399に、データのストール状態が解消され、データストール状態通知信号がネゲートされる。これにより、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、T400より時間計測を再開する。   At T395, a data stall state of the arithmetic circuit 301 in the image processing module occurs, and assertion of the data stall state notification signal is started. The assertion of the data stall state notification signal occurs from T395 to T398. Accordingly, during the period from T396 to T399, the clock enable generation counter 400 and the clock stop request mask period counter 401 interrupt the time measurement and hold the current value. At time T399, the data stall state is canceled, and the data stall state notification signal is negated. As a result, the clock enable generation counter 400 and the clock stop request mask period counter 401 restart time measurement from T400.

本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。   Although the present embodiment has been described in the form of a difference from the first embodiment, it is easily understood that the present embodiment can be implemented in combination with embodiments other than the first embodiment. I can do it.

(第3の実施形態)
[装置の構成例]
第3の実施形態では、第1の実施形態の構成のうち、一部の構成のみが異なる。そのため、第1の実施形態と同じ構成部分に関しては説明を省略し、主に第3の実施形態が第1の実施形態と異なる部分を、詳細に説明する。
(Third embodiment)
[Device configuration example]
In the third embodiment, only a part of the configuration of the configuration of the first embodiment is different. Therefore, description is abbreviate | omitted regarding the same component as 1st Embodiment, and the part from which 3rd Embodiment differs from 1st Embodiment is mainly demonstrated in detail.

第3の実施形態では、クロックイネーブル生成カウンタ400の内部構成のみが第1の実施形態と異なる。図13のブロック図に、第3の実施形態のクロックイネーブル生成カウンタ400の構成例を示す。   In the third embodiment, only the internal configuration of the clock enable generation counter 400 is different from that of the first embodiment. The block diagram of FIG. 13 shows a configuration example of the clock enable generation counter 400 of the third embodiment.

第3の実施形態では、第1の実施形態のWriteDMACクロックイネーブル制御モジュール303内の構成のうち、クロックイネーブル生成カウンタ400を、直列的に接続された複数のカウンタで分割構成する。本実施形態では、クロックイネーブル生成カウンタ400を4つのカウンタで分割構成する。分割したカウンタはそれぞれ、分割クロックイネーブル生成カウンタA700、分割クロックイネーブル生成カウンタB701、分割クロックイネーブル生成カウンタC702、分割クロックイネーブル生成カウンタD703と名称する。   In the third embodiment, among the configurations in the Write DMAC clock enable control module 303 of the first embodiment, the clock enable generation counter 400 is divided and configured with a plurality of counters connected in series. In the present embodiment, the clock enable generation counter 400 is divided into four counters. The divided counters are referred to as a divided clock enable generation counter A700, a divided clock enable generation counter B701, a divided clock enable generation counter C702, and a divided clock enable generation counter D703, respectively.

また、このように分割した4つのカウンタは、それぞれ所定時間A800、所定時間B801、所定時間C802、所定時間D803を計測する。このように分割した上記4つの所定時間を合計すると、第1の実施形態の第一の所定時間500と等しくなる。   The four counters thus divided measure a predetermined time A800, a predetermined time B801, a predetermined time C802, and a predetermined time D803, respectively. The total of the four predetermined times divided in this way is equal to the first predetermined time 500 of the first embodiment.

このとき、初段の所定時間A800の値は、後段の所定時間B801、所定時間C802、所定時間D803と等しいか、より大きな値である必要がある。これは後述するように、初段の分割クロックイネーブル生成カウンタA700の時間計測中に、WriteDMACクロック供給要求信号がアサートされた場合のみ、クロック停止要求マスク期間カウンタ401を動作させるからである。   At this time, the value of the predetermined time A800 in the first stage needs to be equal to or larger than the predetermined time B801, the predetermined time C802, and the predetermined time D803 in the subsequent stage. This is because, as will be described later, the clock stop request mask period counter 401 is operated only when the Write DMAC clock supply request signal is asserted during the time measurement of the divided clock enable generation counter A700 at the first stage.

上記分割した4つのカウンタの動作は、以下の通りである。   The operation of the four divided counters is as follows.

まず、WriteDMACクロック供給要求信号がアサートされると、分割クロックイネーブル生成カウンタA700が所定時間A800の時間計測を開始する。分割クロックイネーブル生成カウンタA700の時間計測が終了すると、分割クロックイネーブル生成カウンタB701が所定時間B801の時間計測を開始する。   First, when the Write DMAC clock supply request signal is asserted, the divided clock enable generation counter A700 starts measuring time for a predetermined time A800. When the time measurement of the divided clock enable generation counter A700 is completed, the divided clock enable generation counter B701 starts measuring the predetermined time B801.

同様に、分割クロックイネーブル生成カウンタB701の時間計測が終了すると、分割クロックイネーブル生成カウンタC702が所定時間C802の時間計測を開始する。   Similarly, when the time measurement of the divided clock enable generation counter B 701 is completed, the divided clock enable generation counter C 702 starts measuring the predetermined time C 802.

同様に、分割クロックイネーブル生成カウンタC702の時間計測が終了すると、分割クロックイネーブル生成カウンタD703が所定時間D803の時間計測を開始する。   Similarly, when the time measurement of the divided clock enable generation counter C702 is completed, the divided clock enable generation counter D703 starts measuring the predetermined time D803.

最後に、分割クロックイネーブル生成カウンタD703の時間計測が終了すると、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。その後、WriteDMAC302のクロックが供給され、WriteDMAC302の動作が開始される。   Finally, when the time measurement of the divided clock enable generation counter D703 is completed, a clock enable assert instruction signal is asserted to the clock enable control circuit 402. Thereafter, the clock of the Write DMAC 302 is supplied, and the operation of the Write DMAC 302 is started.

第3の実施形態では、初段の分割クロックイネーブル生成カウンタA700が時間計測中に、WriteDMACクロック供給要求信号がアサートされた場合のみ、クロック停止要求マスク期間カウンタ401を動作させる。すなわち、第3の実施形態では、クロックイネーブル生成カウンタのカウント中を示す信号は、初段の分割クロックイネーブル生成カウンタA700がカウント中の期間はアサートされ、非カウント中の期間はネゲートされる。   In the third embodiment, the clock stop request mask period counter 401 is operated only when the Write DMAC clock supply request signal is asserted while the first-stage divided clock enable generation counter A700 is measuring time. That is, in the third embodiment, the signal indicating that the clock enable generation counter is being counted is asserted while the first stage divided clock enable generation counter A700 is counting, and is negated during the non-counting period.

一方で、第1の実施形態では、クロックイネーブル生成カウンタ400全体が時間計測中に、WriteDMACクロック供給要求信号がアサートされると、クロック停止要求マスク期間カウンタ401を動作させる。   On the other hand, in the first embodiment, if the Write DMAC clock supply request signal is asserted while the entire clock enable generation counter 400 is measuring time, the clock stop request mask period counter 401 is operated.

第3の実施形態のカウンタ4分割の例では、所定時間A800は第一の所定時間500の1/4程度の値に構成することができる。このクロックイネーブル生成カウンタ400を分割構成することで、カウンタを分割構成しない場合(第1の実施形態)と比較して、より短い発行間隔の転送間でもクロックを停止できるようになる。   In the example of the four-counter division of the third embodiment, the predetermined time A800 can be configured to be a value that is about ¼ of the first predetermined time 500. By dividing the clock enable generation counter 400, it is possible to stop the clock even between transfers with a shorter issuance interval compared to the case where the counter is not divided (first embodiment).

第1の実施形態の第一の所定時間500は395サイクルであり、第3の実施形態のカウンタ4分割の例では、各分割した計測時間は以下のように設定される。所定時間A800は100サイクル、所定時間B801は100サイクル、所定時間C802は100サイクル、所定時間D803は95サイクルである。   The first predetermined time 500 of the first embodiment is 395 cycles, and in the example of the counter four division of the third embodiment, the divided measurement times are set as follows. The predetermined time A800 is 100 cycles, the predetermined time B801 is 100 cycles, the predetermined time C802 is 100 cycles, and the predetermined time D803 is 95 cycles.

そのため、第1の実施形態では各転送間隔が395サイクル以下の場合、転送間にWriteDMAC302のクロックは停止しなくなる。その一方で第3の実施形態では各転送間隔が100サイクル以下の場合に、転送間にWriteDMAC302のクロックは停止しなくなり、カウンタ分割によりクロックが停止する時間粒度をより細かくできる。   Therefore, in the first embodiment, when each transfer interval is 395 cycles or less, the write DMAC 302 clock does not stop between transfers. On the other hand, in the third embodiment, when each transfer interval is 100 cycles or less, the clock of the Write DMAC 302 is not stopped between transfers, and the time granularity at which the clock is stopped by counter division can be made finer.

[分割クロックイネーブル生成カウンタA700の動作フロー]
図14に、第3の実施形態の分割クロックイネーブル生成カウンタA700の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter A700]
FIG. 14 shows a flowchart of the operation flow of the divided clock enable generation counter A700 of the third embodiment.

まず、ステップS41において、分割クロックイネーブル生成カウンタA700は、非カウント状態である。そして、ステップS42において、分割クロックイネーブル生成カウンタA700は、WriteDMACクロック供給要求信号が1の値であるかどうか、を毎サイクル判定する。WriteDMACクロック供給要求信号が0の場合は、分割クロックイネーブル生成カウンタA700は、ステップS41の非カウント状態を継続する。WriteDMACクロック供給要求信号が1の場合は、分割クロックイネーブル生成カウンタA700は、ステップS43のカウント状態に移行する。   First, in step S41, the divided clock enable generation counter A700 is in a non-count state. In step S42, the divided clock enable generation counter A700 determines whether or not the Write DMAC clock supply request signal has a value of 1 every cycle. When the Write DMAC clock supply request signal is 0, the divided clock enable generation counter A700 continues the non-count state of step S41. When the Write DMAC clock supply request signal is 1, the divided clock enable generation counter A700 shifts to the count state of step S43.

そして、ステップS44において、次のサイクルで、分割クロックイネーブル生成カウンタA700は、分割クロックイネーブル生成カウンタA700の値を1にセットする。その後、ステップS45において、分割クロックイネーブル生成カウンタA700は、分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しくなければ、ステップS46において、分割クロックイネーブル生成カウンタA700が値を+1し、次のサイクルに再度ステップS45の判定を行う。分割クロックイネーブル生成カウンタA700の値が所定時間A800の値と等しければ、ステップS47において、分割クロックイネーブル生成カウンタA700は、後段のカウンタである分割クロックイネーブル生成カウンタB701の起動指示を行う。そして、分割クロックイネーブル生成カウンタA700は、ステップS41の非カウント状態に戻る。   In step S44, the divided clock enable generation counter A700 sets the value of the divided clock enable generation counter A700 to 1 in the next cycle. Thereafter, in step S45, the divided clock enable generation counter A700 determines whether or not the value of the divided clock enable generation counter A700 is equal to the value of the predetermined time A800 every cycle. If the value of the divided clock enable generation counter A700 is not equal to the value of the predetermined time A800, the divided clock enable generation counter A700 increments the value by 1 in step S46, and the determination in step S45 is performed again in the next cycle. If the value of the divided clock enable generation counter A700 is equal to the value of the predetermined time A800, in step S47, the divided clock enable generation counter A700 issues a start instruction for the divided clock enable generation counter B701, which is a subsequent counter. Then, the divided clock enable generation counter A700 returns to the non-count state in step S41.

なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、初段のカウンタに関しては、図14の動作説明が適用できる。   Even when the number of divisions of the clock enable generation counter 400 is changed from four, the operation description of FIG. 14 can be applied to the first-stage counter.

[分割クロックイネーブル生成カウンタB701の動作フロー]
図15に、第3の実施形態の分割クロックイネーブル生成カウンタB701の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter B701]
FIG. 15 shows a flowchart of the operation flow of the divided clock enable generation counter B 701 of the third embodiment.

まず、ステップS51において、分割クロックイネーブル生成カウンタB701は、非カウント状態である。そして、ステップS52において、前段のカウンタである分割クロックイネーブル生成カウンタA700のカウント状態が完了し、前段のカウンタがカウント状態から非カウント状態に移行したかどうか、を毎サイクル判定する。前段のカウンタがカウント状態から非カウント状態に移行していない場合は、分割クロックイネーブル生成カウンタB701は、ステップS51の非カウント状態を継続する。前段のカウンタがカウント状態から非カウント状態に移行した場合は、分割クロックイネーブル生成カウンタB701は、ステップS53のカウント状態に移行する。   First, in step S51, the divided clock enable generation counter B 701 is in a non-count state. In step S52, it is determined every cycle whether or not the count state of the divided clock enable generation counter A700, which is the preceding stage counter, is completed and the preceding stage counter has shifted from the counting state to the non-counting state. If the preceding counter has not shifted from the count state to the non-count state, the divided clock enable generation counter B 701 continues the non-count state in step S51. When the counter at the previous stage shifts from the count state to the non-count state, the divided clock enable generation counter B 701 shifts to the count state of step S53.

そして、ステップS54において、次のサイクルで、分割クロックイネーブル生成カウンタB701は、分割クロックイネーブル生成カウンタB701の値を1にセットする。その後、ステップS55において、分割クロックイネーブル生成カウンタB701は、分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しくなければ、ステップS56において、分割クロックイネーブル生成カウンタB701は値を+1し、次のサイクルに再度ステップS55の判定を行う。分割クロックイネーブル生成カウンタB701の値が所定時間B801の値と等しければ、ステップS57において、分割クロックイネーブル生成カウンタB701は、後段のカウンタである分割クロックイネーブル生成カウンタC702の起動指示を行う。そして、分割クロックイネーブル生成カウンタB701は、ステップS51の非カウント状態に戻る。   In step S54, in the next cycle, the divided clock enable generation counter B701 sets the value of the divided clock enable generation counter B701 to 1. Thereafter, in step S55, the divided clock enable generation counter B701 determines whether or not the value of the divided clock enable generation counter B701 is equal to the value of the predetermined time B801 every cycle. If the value of the divided clock enable generation counter B 701 is not equal to the value of the predetermined time B 801, the divided clock enable generation counter B 701 increments the value by 1 in step S 56 and performs the determination of step S 55 again in the next cycle. If the value of the divided clock enable generation counter B 701 is equal to the value of the predetermined time B 801, in step S 57, the divided clock enable generation counter B 701 issues a start instruction for the divided clock enable generation counter C 702 which is a subsequent stage counter. Then, the divided clock enable generation counter B 701 returns to the non-count state in step S51.

なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、初段と最終段を除く中段のカウンタに関しては、図15の動作説明が適用できる。分割クロックイネーブル生成カウンタC702の動作フローは、分割クロックイネーブル生成カウンタB701の動作フローと同一であるので、詳細な説明は省略する。   Even when the number of divisions of the clock enable generation counter 400 is changed from 4, the description of the operation of FIG. 15 can be applied to the middle stage counter excluding the first stage and the last stage. Since the operation flow of the divided clock enable generation counter C702 is the same as the operation flow of the divided clock enable generation counter B701, detailed description thereof is omitted.

[分割クロックイネーブル生成カウンタD703の動作フロー]
図16に、第3の実施形態の分割クロックイネーブル生成カウンタD703の動作フローのフローチャートを示す。
[Operation Flow of Divided Clock Enable Generation Counter D703]
FIG. 16 shows a flowchart of the operation flow of the divided clock enable generation counter D703 of the third embodiment.

まず、ステップS71において、分割クロックイネーブル生成カウンタD703は、非カウント状態である。そして、ステップS72において、前段のカウンタである分割クロックイネーブル生成カウンタC702のカウント状態が完了し、前段のカウンタがカウント状態から非カウント状態に移行したかどうか、を毎サイクル判定する。前段のカウンタがカウント状態から非カウント状態に移行していない場合は、分割クロックイネーブル生成カウンタD703は、ステップS71の非カウント状態を継続する。前段のカウンタがカウント状態から非カウント状態に移行した場合は、ステップS73において、分割クロックイネーブル生成カウンタD703は、カウント状態に移行する。   First, in step S71, the divided clock enable generation counter D703 is in a non-counting state. Then, in step S72, it is determined every cycle whether or not the count state of the divided clock enable generation counter C702 that is the preceding stage counter is completed and the preceding stage counter has shifted from the counting state to the non-counting state. When the preceding counter has not shifted from the count state to the non-count state, the divided clock enable generation counter D703 continues the non-count state of step S71. When the preceding counter shifts from the count state to the non-count state, in step S73, the divided clock enable generation counter D703 shifts to the count state.

そして、次のサイクルで、ステップS74において、分割クロックイネーブル生成カウンタD703は、分割クロックイネーブル生成カウンタD703の値を1にセットする。その後、ステップS75において、分割クロックイネーブル生成カウンタD703は、分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しいかどうかを、毎サイクル判定する。分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しくなければ、ステップS76において、分割クロックイネーブル生成カウンタD703は値を+1し、次のサイクルに再度ステップS75の判定を行う。分割クロックイネーブル生成カウンタD703の値が所定時間D803の値と等しければ、ステップS77において、分割クロックイネーブル生成カウンタD703は、クロックイネーブルアサート指示信号の値を1に変更する。そして、分割クロックイネーブル生成カウンタD703は、ステップS71の非カウント状態に戻る。   In the next cycle, in step S74, the divided clock enable generation counter D703 sets the value of the divided clock enable generation counter D703 to 1. Thereafter, in step S75, the divided clock enable generation counter D703 determines whether or not the value of the divided clock enable generation counter D703 is equal to the value of the predetermined time D803 every cycle. If the value of the divided clock enable generation counter D703 is not equal to the value of the predetermined time D803, the divided clock enable generation counter D703 increments the value by 1 in step S76, and performs the determination of step S75 again in the next cycle. If the value of the divided clock enable generation counter D703 is equal to the value of the predetermined time D803, the divided clock enable generation counter D703 changes the value of the clock enable assert instruction signal to 1 in step S77. Then, the divided clock enable generation counter D703 returns to the non-count state in step S71.

なお、クロックイネーブル生成カウンタ400の分割数が4から変化した場合でも、最終段のカウンタに関しては、図16の動作説明が適用できる。   Even when the number of divisions of the clock enable generation counter 400 is changed from 4, the description of the operation of FIG. 16 can be applied to the last stage counter.

本実施形態のクロック停止要求マスク期間カウンタ401の基本的な動作は、図5の第1の実施形態のクロック停止要求マスク期間カウンタ401の動作フローと同一なので、第1の実施形態と違いがある箇所に関してのみ詳細に説明する。   The basic operation of the clock stop request mask period counter 401 of this embodiment is the same as the operation flow of the clock stop request mask period counter 401 of the first embodiment of FIG. Only the location will be described in detail.

図5のステップS23では、クロックイネーブル生成カウンタ400が、カウント状態であるかどうかを判定し、その後、ステップS24に移行してクロック停止要求マスク期間カウンタ401をカウント状態にしていた。一方で、本実施形態では、分割したクロックイネーブル生成カウンタ400の初段のカウンタである、分割クロックイネーブル生成カウンタA700が、カウント状態であるかどうかを判定している。   In step S23 of FIG. 5, it is determined whether or not the clock enable generation counter 400 is in the count state. Thereafter, the process proceeds to step S24 and the clock stop request mask period counter 401 is in the count state. On the other hand, in the present embodiment, it is determined whether or not the divided clock enable generation counter A700, which is the first stage counter of the divided clock enable generation counter 400, is in the count state.

第1の実施形態では、クロックイネーブル生成カウンタ400全体の計測対象である第一の所定時間500は、395サイクルである。一方で、本実施形態では、分割クロックイネーブル生成カウンタA700の計測対象である分割第一の時間A800は、100サイクルである。このため、クロックイネーブル生成カウンタ400を分割構成することで、各転送間でクロックが停止する時間粒度をより細かくできる。   In the first embodiment, the first predetermined time 500 that is the measurement target of the entire clock enable generation counter 400 is 395 cycles. On the other hand, in the present embodiment, the divided first time A800 that is the measurement target of the divided clock enable generation counter A700 is 100 cycles. Therefore, by dividing the clock enable generation counter 400, the time granularity at which the clock stops between each transfer can be made finer.

●短い間隔で、2連続の転送が発行されるが、クロックが停止する場合
図17に、短い間隔で、2連続の転送が発行された場合の、第3の実施形態の画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When two continuous transfers are issued at short intervals but the clock stops FIG. 17 shows the image processing module 11 of the third embodiment when two continuous transfers are issued at short intervals. Data processing and write DMAC 302 clock stop processing will be described using waveforms.

図17において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 17, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

図17では、第1の実施形態の図9の例と同じ間隔で転送Aと転送Bが発行されており、各転送が処理されるタイミングは、図17と図9の例で同一である。しかし、図9では単一構成のクロックイネーブル生成カウンタ400が、図17では4つのカウンタに分割構成されている点が異なる。   In FIG. 17, transfer A and transfer B are issued at the same interval as the example of FIG. 9 of the first embodiment, and the timing at which each transfer is processed is the same in the examples of FIG. 17 and FIG. However, FIG. 9 is different in that the clock enable generation counter 400 having a single configuration is divided into four counters in FIG.

このため、図17と図9では、以下のような違いが生じている。   For this reason, the following differences occur between FIG. 17 and FIG.

図9の時刻T105では、クロックイネーブル生成カウンタ400の時間計測が実行中に、新しくWriteDMACクロック供給要求信号がアサートされる。そのため、転送Bに関してクロックイネーブル生成カウンタ400を動作させることができず、クロック停止要求マスク期間カウンタ401が動作を開始している。その結果、T413→T504の転送Aと転送Bの間に、WriteDMAC302のクロックを停止させることができない。   At time T105 in FIG. 9, a new Write DMAC clock supply request signal is asserted while the clock enable generation counter 400 is measuring time. For this reason, the clock enable generation counter 400 cannot be operated for the transfer B, and the clock stop request mask period counter 401 starts operating. As a result, the clock of the Write DMAC 302 cannot be stopped between the transfer A and the transfer B from T413 to T504.

一方で、図17の時刻T105では、分割クロックイネーブル生成カウンタA700の時間計測が完了後に、新しくWriteDMACクロック供給要求信号がアサートされる。そのため、転送Bに関して分割クロックイネーブル生成カウンタA700を動作させることができ、クロック停止要求マスク期間カウンタ401は動作を開始しない。その結果、T413→T504の転送Aと転送Bの間に、WriteDMAC302のクロックを停止させることができる。   On the other hand, at time T105 in FIG. 17, after the time measurement of the divided clock enable generation counter A700 is completed, a new Write DMAC clock supply request signal is asserted. Therefore, the divided clock enable generation counter A700 can be operated for the transfer B, and the clock stop request mask period counter 401 does not start the operation. As a result, the clock of the Write DMAC 302 can be stopped between the transfer A and the transfer B from T413 to T504.

図17の時刻T105での転送Bの発生により、時刻T106から分割クロックイネーブル生成カウンタA700がカウントを開始し、394サイクル後のT500(非図示)において、分割クロックイネーブル生成カウンタD703のカウントが完了する。そして、クロックイネーブル制御回路402に対してクロックイネーブルアサート指示信号がアサートされる。さらに5サイクル後の時刻T505に、クロック供給が停止されていたWriteDMAC302に対して、クロックが供給される。   The generation of transfer B at time T105 in FIG. 17 causes the divided clock enable generation counter A700 to start counting from time T106, and the counting of the divided clock enable generation counter D703 is completed at T500 (not shown) after 394 cycles. . Then, a clock enable assert instruction signal is asserted to the clock enable control circuit 402. Further, at time T505 after five cycles, a clock is supplied to the Write DMAC 302 for which the clock supply has been stopped.

本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を、第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。   Although the present embodiment has been described in the form of a difference from the first embodiment, it is easy to implement this embodiment together with embodiments other than the first embodiment. I understand.

(第4の実施形態)
第4の実施形態では、第1の実施形態と同一構成において、各カウンタが適切な値の設定する方法を説明する。
(Fourth embodiment)
In the fourth embodiment, a method in which each counter sets an appropriate value in the same configuration as the first embodiment will be described.

第1の実施形態では、クロックイネーブル生成カウンタ400が第一の所定時間500を、クロック停止要求マスク期間カウンタ401が第二の所定時間501を計測することで、WriteDMAC302のクロック制御を行っている。   In the first embodiment, the clock enable generation counter 400 measures the first predetermined time 500 and the clock stop request mask period counter 401 measures the second predetermined time 501 so that the write DMAC 302 is controlled.

本実施形態では、これらのカウンタの計測すべき時間の値が変動する場合に、第一の所定時間500および第二の所定時間501に適切な値を設定する方法の一例について述べる。   In the present embodiment, an example of a method of setting appropriate values for the first predetermined time 500 and the second predetermined time 501 when the values of the times to be measured by these counters vary will be described.

本実施形態では、画像処理モジュール内の演算回路301内部での画像処理演算に、最小で350サイクル、最大で450サイクルの時間を要し、この範囲内で処理時間が変動するものとする。一方でWriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するのは、クロックイネーブルアサート指示信号のアサート後、第1の実施形態と同じく5サイクル後であるとする。   In the present embodiment, it is assumed that an image processing operation within the arithmetic circuit 301 in the image processing module requires a minimum of 350 cycles and a maximum of 450 cycles, and the processing time varies within this range. On the other hand, it is assumed that the write DMAC 302 is supplied with a clock and the write DMAC 302 actually starts operating after five cycles after the assertion of the clock enable assert instruction signal, as in the first embodiment.

この場合、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間は、最小で350サイクル、最大で450サイクルとなる。   In this case, the time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the Write DMAC 302 is a minimum of 350 cycles and a maximum of 450 cycles.

一方で、WriteDMAC302のクロック供給からWriteDMAC302の動作開始までの時間差(5サイクル)を考慮すると、以下のことがいえる。すなわち、WriteDMACクロック供給要求信号のアサートから、クロックイネーブルアサート指示信号のアサートまでの時間は、最小で345サイクル、最大で445サイクルを設定するのが適切である。   On the other hand, considering the time difference (5 cycles) from the clock supply of the Write DMAC 302 to the start of the operation of the Write DMAC 302, the following can be said. That is, it is appropriate to set a minimum of 345 cycles and a maximum of 445 cycles from the assertion of the Write DMAC clock supply request signal to the assertion of the clock enable assert instruction signal.

クロックイネーブル生成カウンタ400は、WriteDMAC302のクロックの供給制御を行っている。   The clock enable generation counter 400 performs clock supply control of the Write DMAC 302.

そのため、確実なクロック制御という観点では、本カウンタの計測対象の時間が変動する場合は、早めにクロックを供給させるように制御することが好ましい。そのため、第4の実施形態では、第一の所定時間500として、WriteDMACクロック供給要求信号のアサートから、クロックイネーブルアサート指示信号のアサートまでの時間の最小値である、345サイクルを設定する。   Therefore, from the viewpoint of reliable clock control, it is preferable to perform control so that the clock is supplied as soon as possible when the measurement target time of the counter fluctuates. Therefore, in the fourth embodiment, the first predetermined time 500 is set to 345 cycles, which is the minimum value of the time from the assertion of the Write DMAC clock supply request signal to the assertion of the clock enable assert instruction signal.

一方でクロック停止要求マスク期間カウンタ401は、短い間隔で転送が発生した場合に、後行の転送に関して、WriteDMAC302のクロックが停止状態時にWriteDMAC302に転送が到達することを防ぐことを目的としている。クロック停止要求マスク期間カウンタ401は、短い間隔で転送が発生した場合に、所定時間、WriteDMACクロック停止要求信号のアサートを無効化し、WriteDMAC302のクロックが不用意に停止しないように制御する。   On the other hand, the clock stop request mask period counter 401 is intended to prevent the transfer from reaching the Write DMAC 302 when the clock of the Write DMAC 302 is in a stopped state when the transfer occurs at a short interval. The clock stop request mask period counter 401 controls the write DMAC 302 so that the clock of the write DMAC 302 is not inadvertently stopped by invalidating the assertion of the write DMAC clock stop request signal for a predetermined time when transfer occurs at a short interval.

そのため、確実なクロック制御という観点では、本カウンタの計測対象の時間が変動する場合は、できるだけ長くWriteDMAC302のクロックが停止しないように制御することが好ましい。そのため第4の実施形態では、第二の所定時間501として、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間の最大値である、450サイクルを設定する。   Therefore, from the viewpoint of reliable clock control, when the time to be measured by this counter varies, it is preferable to perform control so that the clock of the Write DMAC 302 does not stop as long as possible. Therefore, in the fourth embodiment, the second predetermined time 501 is set to 450 cycles, which is the maximum value of the time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the Write DMAC 302.

このように、データ処理時間が変動する等して、これらのカウンタの計測すべき時間の値が変動する場合には、以下の対策が有効である。クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には変動値のうち最小値を、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には変動値のうち最大値を使用する。   Thus, when the value of the time to be measured by these counters fluctuates due to fluctuations in the data processing time, the following measures are effective. The minimum value among the fluctuation values is measured at the first predetermined time 500 to be measured by the clock enable generation counter 400, and the maximum value among the fluctuation values at the second predetermined time 501 to be measured by the clock stop request mask period counter 401. Is used.

こうすることで、WriteDMAC302のクロックが停止状態時にWriteDMAC302に転送が到達することを防ぐように、WriteDMAC302のクロック制御を堅実に行うことができる。   By doing so, the clock control of the Write DMAC 302 can be steadily performed so as to prevent the transfer from reaching the Write DMAC 302 when the clock of the Write DMAC 302 is stopped.

●カウンタの計測すべき時間の値が変動する場合
以下に、本実施形態において、カウンタの計測すべき時間の値が変動する場合の、画像処理モジュール11のデータ処理およびWriteDMAC302のクロック停止処理に関して波形を用いて説明する。
When the value of the time to be measured by the counter fluctuates In the following, in this embodiment, the waveform regarding the data processing of the image processing module 11 and the clock stop processing of the Write DMAC 302 when the value of the time to be measured by the counter fluctuates. Will be described.

前述した通り、画像処理モジュール内演算回路301内部での画像処理演算に、最小で350サイクル、最大で450サイクルの時間を要するとする。またクロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には最小値の345サイクルを、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には最大値の450サイクルを使用する。   As described above, it is assumed that a minimum of 350 cycles and a maximum of 450 cycles are required for the image processing calculation in the calculation circuit 301 in the image processing module. In addition, a minimum value of 345 cycles is measured for the first predetermined time 500 to be measured by the clock enable generation counter 400, and a maximum value of 450 cycles is measured for the second predetermined time 501 to be measured by the clock stop request mask period counter 401. use.

以下に、画像処理モジュール内演算回路301内部での画像処理演算に、それぞれ、350サイクル(最小値)、400サイクル(中央値)、450サイクル(最大値)要する場合の動作に関して、個別に説明する。   In the following, the operation in the case where 350 cycles (minimum value), 400 cycles (median value), and 450 cycles (maximum value) are required for the image processing calculation in the calculation circuit 301 in the image processing module will be individually described. .

・画像処理演算に350サイクル(最小値)要する場合
図18に、第4の実施形態の画像処理演算に350サイクル(最小値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 350 cycles (minimum value) FIG. 18 illustrates the processing when the image processing calculation according to the fourth embodiment requires 350 cycles (minimum value) using waveforms.

図18において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 18, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

図18では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T352でWriteDMAC302に転送Aが到達する。   In FIG. 18, the clock enable generation counter 400 starts measuring time by the transfer A at T3, and the transfer A reaches the Write DMAC 302 at T352.

クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T352でWriteDMAC302に転送Aが到達する時点のT352にはクロックを供給することができている。   Since the minimum value of 345 cycles is set for the first predetermined time 500 to be measured by the clock enable generation counter 400, a clock can be supplied to T352 when transfer A reaches the Write DMAC 302 at T352.

また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T360でWriteDMAC302に転送Bが到達する。   Further, at T11, the clock stop request mask period counter 401 starts time measurement by transfer B, and transfer T arrives at the Write DMAC 302 at T360.

クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。   Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request mask period counter 401, the clock of the Write DMAC 302 is not stopped between the transfer A and the transfer B.

・画像処理演算に400サイクル(中央値)要する場合
図19に、第4の実施形態の画像処理演算に400サイクル(中央値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 400 cycles (median value) FIG. 19 illustrates the processing when the image processing calculation according to the fourth embodiment requires 400 cycles (median value) using waveforms.

図19において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 19, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

図19では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T402でWriteDMAC302に転送Aが到達する。   In FIG. 19, the clock enable generation counter 400 starts measuring time by transfer A at T3, and transfer A arrives at the Write DMAC 302 at T402.

クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T402でWriteDMAC302に転送Aが到達するより前のT352にはクロックを供給することができている。   Since the minimum value of 345 cycles is set at the first predetermined time 500 to be measured by the clock enable generation counter 400, the clock can be supplied to T352 before transfer A arrives at the Write DMAC 302 at T402. .

また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T410でWriteDMAC302に転送Bが到達する。   Further, at T11, the clock stop request mask period counter 401 starts time measurement by the transfer B, and the transfer B reaches the Write DMAC 302 at T410.

クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。   Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request mask period counter 401, the clock of the Write DMAC 302 is not stopped between the transfer A and the transfer B.

・画像処理演算に450サイクル(最大値)要する場合
図20に、第4の実施形態の画像処理演算に450サイクル(最大値)要する場合の処理に関して波形を用いて説明する。
When the image processing calculation requires 450 cycles (maximum value) FIG. 20 illustrates the processing when the image processing calculation according to the fourth embodiment requires 450 cycles (maximum value) using waveforms.

図20において、転送Aが先行の転送、転送Bが後行の転送であるとする。   In FIG. 20, it is assumed that transfer A is a preceding transfer and transfer B is a subsequent transfer.

図20では、T3において転送Aによりクロックイネーブル生成カウンタ400が時間計測を開始し、T452でWriteDMAC302に転送Aが到達する。   In FIG. 20, the clock enable generation counter 400 starts measuring time by the transfer A at T3, and the transfer A reaches the Write DMAC 302 at T452.

クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500に最小値の345サイクルを設定したので、T452でWriteDMAC302に転送Aが到達するより前のT352にはクロックを供給することができている。   Since the minimum value of 345 cycles is set at the first predetermined time 500 to be measured by the clock enable generation counter 400, the clock can be supplied to T352 before transfer A arrives at the Write DMAC 302 at T452. .

また、T11において転送Bによりクロック停止要求マスク期間カウンタ401が時間計測を開始し、T460でWriteDMAC302に転送Bが到達する。   Further, at T11, the clock stop request mask period counter 401 starts time measurement by the transfer B, and the transfer B reaches the Write DMAC 302 at T460.

クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501に最大値の450サイクルを設定したので、転送Aと転送Bの間では、WriteDMAC302のクロックは停止しない。   Since the maximum 450 cycles is set as the second predetermined time 501 to be measured by the clock stop request mask period counter 401, the clock of the Write DMAC 302 is not stopped between the transfer A and the transfer B.

・クロックを停止させる機会を増やすための機構の組み込み
本実施形態では、第二の所定時間501に変動値のうち最大値を使用して、クロック停止要求マスク期間カウンタ401の制御を行っている。
Incorporation of Mechanism for Increasing Opportunity to Stop Clock In this embodiment, the clock stop request mask period counter 401 is controlled using the maximum value among the fluctuation values at the second predetermined time 501.

そのため、WriteDMACクロック停止要求信号がアサートされても、クロック停止要求マスク期間カウンタ401がカウント中のために、WriteDMAC302のクロックが停止しないケースが発生し得る。この現象は、図18のT366や図19のT416で発生している。   For this reason, even if the Write DMAC clock stop request signal is asserted, the clock of the Write DMAC 302 may not stop because the clock stop request mask period counter 401 is counting. This phenomenon occurs at T366 in FIG. 18 and T416 in FIG.

そのため、第4の実施形態において、WriteDMAC302の非動作状態をより積極的に感知して、クロックを停止させる機会を増やすための機構を組み込むことができる。   Therefore, in the fourth embodiment, it is possible to incorporate a mechanism for more actively sensing the non-operating state of the Write DMAC 302 and increasing the opportunity to stop the clock.

第4の実施形態において、クロック停止要求マスク期間カウンタ401が非カウント状態、かつWriteDMAC302の動作状態が非動作時に、WriteDMAC302のクロックを常に停止させるという処理を行ってもよい。   In the fourth embodiment, when the clock stop request mask period counter 401 is in a non-counting state and the operation state of the Write DMAC 302 is not in operation, a process of always stopping the clock of the Write DMAC 302 may be performed.

また、上記のWriteDMAC302のクロックを常に停止させるという処理を、別途カウンタ等を用意して、時間を遅らせて制御を行ってもよい。   Further, the process of always stopping the clock of the Write DMAC 302 may be controlled by delaying the time by preparing a separate counter or the like.

さらに、WriteDMAC302のクロック供給時の狭間の時間で、クロックを停止させないために、以下の処理を加えてもよい。クロックイネーブルアサート指示信号のアサートから、WriteDMACが動作を開始するまでの期間は、WriteDMAC302のクロックを停止させない。   Furthermore, the following processing may be added in order to prevent the clock from being stopped in the interval between the write DMAC 302 clocks. During the period from the assertion of the clock enable assert instruction signal until the Write DMAC starts its operation, the clock of the Write DMAC 302 is not stopped.

第1の実施形態における第一の所定時間500は、クロックイネーブル生成カウンタ400がWriteDMAC302のクロックの供給制御を行うのに用いる時間である。第1の実施形態では、第一の所定時間500の一例として395サイクルという値を用いたが、第5の実施形態では最適な第一の所定時間500の値を、計算で求める手法を説明する。   The first predetermined time 500 in the first embodiment is a time used for the clock enable generation counter 400 to perform supply control of the write DMAC 302 clock. In the first embodiment, a value of 395 cycles is used as an example of the first predetermined time 500. However, in the fifth embodiment, a method for calculating the optimal value of the first predetermined time 500 by calculation will be described. .

WriteDMAC302のクロック供給開始は、WriteDMAC302に転送が到達し、WriteDMAC302の処理が開始される直前のタイミングに行うことで、以下の効果が期待できる。WriteDMAC302のクロック停止期間を長くし、WriteDMAC302の省電力効果をより高めることができる。   By starting the clock supply of the Write DMAC 302 at the timing immediately before the transfer reaches the Write DMAC 302 and the processing of the Write DMAC 302 is started, the following effects can be expected. The clock stop period of the Write DMAC 302 can be lengthened, and the power saving effect of the Write DMAC 302 can be further enhanced.

そのため、第一の所定時間500としては、以下の値を設定するのが望ましい。   Therefore, it is desirable to set the following value as the first predetermined time 500.

第一の所定時間500は、第三の所定時間1000−第四の所定時間1001で計算し、第三の所定時間1000が400サイクル、第四の所定時間1001が5サイクルであるとすると、第一の所定時間500は395サイクルである。   The first predetermined time 500 is calculated from the third predetermined time 1000 to the fourth predetermined time 1001, and if the third predetermined time 1000 is 400 cycles and the fourth predetermined time 1001 is 5 cycles, One predetermined time 500 is 395 cycles.

第三の所定時間1000は、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間であって、本実施形態では400サイクルであるとする。第四の所定時間1001は、WriteDMAC302のクロックが供給され、WriteDMAC302が実際に動作を開始するまでの時間までを差し引いた時間であって、本実施形態では5サイクルであるとする。   The third predetermined time 1000 is a time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the Write DMAC 302, and in the present embodiment, it is assumed to be 400 cycles. The fourth predetermined time 1001 is a time obtained by subtracting the time until the Write DMAC 302 is supplied with the clock of the Write DMAC 302 and actually starts the operation, and is assumed to be 5 cycles in this embodiment.

また、第二の所定時間501としては、後行の転送がWriteDMAC302に到達する際に、WriteDMAC302のクロックの停止を防止するという観点より、以下の値を設定するのが望ましい。即ち、第二の所定時間501は、第三の時間1000と同じ、400サイクルとするのが望ましい。   Further, as the second predetermined time 501, it is desirable to set the following value from the viewpoint of preventing the write DMAC 302 from stopping when the subsequent transfer reaches the Write DMAC 302. That is, the second predetermined time 501 is desirably 400 cycles, which is the same as the third time 1000.

このように、以下のようにクロック制御を行うことで、クロックゲーティング対象回路であるWriteDMAC302のクロック停止期間を長くし、WriteDMAC302の省電力効果をより高めることができる。   Thus, by performing clock control as follows, the clock stop period of the Write DMAC 302 that is the clock gating target circuit can be lengthened, and the power saving effect of the Write DMAC 302 can be further enhanced.

WriteDMAC302に転送が到達して回路が使用開始されるまでの時間(第三の時間1000)から、WriteDMAC302のクロック供給処理に必要な時間(第四の時間1001)を差し引いた値を第一の所定時間500に設定する。   A value obtained by subtracting the time (fourth time 1001) required for the clock supply processing of the WriteDMAC 302 from the time (third time 1000) from when the transfer reaches the WriteDMAC 302 until the circuit is started to be used is a first predetermined value. Set to time 500.

また、第4の実施形態のように、第三の時間1000の値が変動する場合では、WriteDMAC302のクロックを確実に制御するという観点からは、以下のような値を設定することが望ましい。   Further, in the case where the value of the third time 1000 fluctuates as in the fourth embodiment, it is desirable to set the following values from the viewpoint of reliably controlling the write DMAC 302 clock.

即ち、第一の所定時間500は、第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000が350サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は345サイクルである。   That is, the first predetermined time 500 is calculated as the minimum value of the third time 1000 minus the fourth time 1001, and the third time 1000 is 350 cycles and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 345 cycles.

第二の所定時間501は、第三の時間1000の最大値と同じ、450サイクルである。   The second predetermined time 501 is 450 cycles, which is the same as the maximum value of the third time 1000.

本実施形態としては、第1の実施形態との差分という形で説明したが、本実施形態を、第1の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。   Although the present embodiment has been described in the form of a difference from the first embodiment, it is easy to implement this embodiment together with embodiments other than the first embodiment. I understand.

(第5の実施形態)
第5の実施形態では、第4の実施形態の構成のうち、一部の構成のみが異なる。そのため、第4の実施形態と同じ構成部分に関しては説明を省略し、主に本実施形態が第4の実施形態と異なる部分を詳細に説明する。
(Fifth embodiment)
In the fifth embodiment, only a part of the configuration of the configuration of the fourth embodiment is different. Therefore, the description of the same components as those in the fourth embodiment is omitted, and portions in which the present embodiment is different from the fourth embodiment will be mainly described in detail.

第5の実施形態では、各カウンタの計測対象である第一の所定時間500と第二の所定時間501に関して、これらの値を実機上で自動的に測定および決定する手法に関して述べる。本手法は、第4の実施形態のように、各カウンタの計測対象の時間が変動する場合にも適用可能な手法である。   In the fifth embodiment, regarding a first predetermined time 500 and a second predetermined time 501 that are measurement targets of each counter, a method of automatically measuring and determining these values on an actual machine will be described. This technique is applicable to the case where the measurement target time of each counter varies as in the fourth embodiment.

本実施形態の画像処理モジュール11のハードウェアの構成は、第1の実施形態の画像処理モジュール11のハードウェアの構成と同じであるので、その説明を省略する。本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成は第1の実施形態と異なり、図21のブロック図に、本実施形態のWriteDMACクロックイネーブル制御モジュール303の構成例を示す。   Since the hardware configuration of the image processing module 11 of the present embodiment is the same as the hardware configuration of the image processing module 11 of the first embodiment, the description thereof is omitted. The configuration of the Write DMAC clock enable control module 303 of this embodiment is different from that of the first embodiment, and the block diagram of FIG. 21 shows a configuration example of the Write DMAC clock enable control module 303 of this embodiment.

本実施形態では、第1の実施形態のハードウェア構成に加えて、測定モード切替回路900とカウント対象時間計測回路901を備える。また、WriteDMAC内部バスデータ転送発生信号と測定モード切替要求信号を備える。   In this embodiment, in addition to the hardware configuration of the first embodiment, a measurement mode switching circuit 900 and a count target time measurement circuit 901 are provided. In addition, a Write DMAC internal bus data transfer generation signal and a measurement mode switching request signal are provided.

WriteDMAC内部バスデータ転送発生信号は、画像処理モジュール内演算回路301が処理を完了させ、WriteDMAC302に対して画像処理を行ったデータの転送を開始した際に、アサートされる(パルス信号)。   The Write DMAC internal bus data transfer generation signal is asserted (pulse signal) when the processing circuit 301 in the image processing module completes the processing and starts transferring the data subjected to the image processing to the Write DMAC 302.

測定モード切替回路900は、測定モード切替要求信号がCPU10等により制御されることにより、カウント対象時間計測モードのON/OFFの切り替えを行う。   The measurement mode switching circuit 900 performs ON / OFF switching of the count target time measurement mode when the measurement mode switching request signal is controlled by the CPU 10 or the like.

カウント対象時間計測回路901は、測定モード切替回路900により切り替えられる、カウント対象時間計測モードがONの時に、画像処理モジュール内演算回路301内部での画像処理演算に要する時間の最大値と最小値を測定する。この値は、第5の実施形態における第三の時間1000の最大値と最小値を測定することで得られる。第三の時間1000は、WriteDMACクロック供給要求信号のアサートから、WriteDMAC302に転送が到達するまでの時間である。   The count target time measurement circuit 901 is switched by the measurement mode switching circuit 900. When the count target time measurement mode is ON, the count target time measurement circuit 901 sets the maximum value and the minimum value of the time required for the image processing calculation in the image processing module calculation circuit 301. taking measurement. This value is obtained by measuring the maximum value and the minimum value of the third time 1000 in the fifth embodiment. The third time 1000 is a time from when the Write DMAC clock supply request signal is asserted until the transfer reaches the Write DMAC 302.

カウント対象時間計測モードがONの際は、クロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、それらの動作を停止させることができる。同様にカウント対象時間計測モードがOFFの際は、カウント対象時間計測回路901は、その動作を停止させることができる。また、これらのモジュールの動作が停止している際は、これらのモジュールのクロックや電源を停止させ、これらのモジュールを省電力状態におくことができる。   When the count target time measurement mode is ON, the clock enable generation counter 400 and the clock stop request mask period counter 401 can stop their operations. Similarly, when the count target time measurement mode is OFF, the count target time measurement circuit 901 can stop its operation. In addition, when the operation of these modules is stopped, the clock and power supply of these modules can be stopped to put these modules in a power saving state.

カウント対象時間計測回路901が第三の時間1000の最大値と最小値を測定後、カウント対象時間計測モードをOFFにする。するとクロックイネーブル生成カウンタ400およびクロック停止要求マスク期間カウンタ401は、カウント対象時間計測回路901が測定した第三の時間1000の最大値と最小値を用いて第一の所定時間500と第二の所定時間501を設定する。   After the count target time measurement circuit 901 measures the maximum value and the minimum value of the third time 1000, the count target time measurement mode is turned off. Then, the clock enable generation counter 400 and the clock stop request mask period counter 401 use the first predetermined time 500 and the second predetermined time using the maximum value and the minimum value of the third time 1000 measured by the counting target time measuring circuit 901. Time 501 is set.

カウント対象時間計測回路901が第三の時間1000の最大値として450サイクル、第三の時間1000の最小値として350サイクルを得たとすると、第一の所定時間500と第二の所定時間501は以下のように設定できる。   Assuming that the counting target time measuring circuit 901 obtains 450 cycles as the maximum value of the third time 1000 and 350 cycles as the minimum value of the third time 1000, the first predetermined time 500 and the second predetermined time 501 are as follows. You can set as follows.

第一の所定時間500は、測定された第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000が350サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は345サイクルである。   The first predetermined time 500 is calculated from the measured minimum value of the third time 1000 minus the fourth time 1001, and the third time 1000 is 350 cycles and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 345 cycles.

第二の所定時間501は、測定された第三の時間1000の最大値と同じ、450サイクルである。   The second predetermined time 501 is 450 cycles, which is the same as the maximum value of the measured third time 1000.

また、図22のブロック図に、カウント対象時間計測回路901の構成例を示す。カウント対象時間計測回路901には、カウント対象時間カウンタ902、カウント対象時間最小値記憶回路903、カウント対象時間最大値記憶回路904を備える。これらのモジュールの詳細動作は、以下に示すフローチャート図を用いて説明する。
[カウント対象時間計測回路901の動作フロー]
図23に、本実施形態のカウント対象時間計測回路901および測定モード切替回路900の動作フローのフローチャートを示す。
The block diagram of FIG. 22 shows a configuration example of the count target time measuring circuit 901. The count target time measurement circuit 901 includes a count target time counter 902, a count target time minimum value storage circuit 903, and a count target time maximum value storage circuit 904. Detailed operations of these modules will be described with reference to the flowcharts shown below.
[Operation Flow of Count Target Time Measurement Circuit 901]
FIG. 23 shows a flowchart of the operation flow of the count target time measuring circuit 901 and the measurement mode switching circuit 900 of this embodiment.

まず、ステップS101において、カウント対象時間計測回路901は、非動作状態である。そして、ステップS102において、カウント対象時間カウンタ902は、カウント対象時間計測モードがONであるかどうかを判定する。カウント対象時間計測モードのON/OFF制御は、測定モード切替回路900の測定モード切替要求信号がCPU10等により制御され、測定モード切替指示信号の値が変化することで行われる。カウント対象時間計測モードがOFFの場合、カウント対象時間計測回路901は、ステップS101の非動作状態を維持する。カウント対象時間計測モードがONの場合、カウント対象時間計測回路901は、ステップS103に移行し、カウント対象時間計測回路901が動作状態に移行する。   First, in step S101, the count target time measuring circuit 901 is in a non-operating state. In step S102, the count target time counter 902 determines whether the count target time measurement mode is ON. The ON / OFF control of the count target time measurement mode is performed when the measurement mode switching request signal of the measurement mode switching circuit 900 is controlled by the CPU 10 or the like and the value of the measurement mode switching instruction signal is changed. When the count target time measurement mode is OFF, the count target time measurement circuit 901 maintains the non-operation state of step S101. When the count target time measurement mode is ON, the count target time measurement circuit 901 proceeds to step S103, and the count target time measurement circuit 901 shifts to the operating state.

次に、ステップS104において、カウント対象時間カウンタ902は、WriteDMACクロック供給要求信号が1の値であるかどうか判定する。WriteDMACクロック供給要求信号が0の場合は、次のサイクルに再度ステップS104で値の判定を行う。WriteDMACクロック供給要求信号が1の場合は、ステップS105において、カウント対象時間カウンタ902は、次のサイクルにカウント対象時間カウンタ902の値を1にセットする。その後同一サイクルで、ステップS106において、カウント対象時間カウンタ902は、WriteDMAC内部バスデータ転送発生信号が1の値であるかどうかを判定する。WriteDMAC内部バスデータ転送発生信号が0の場合は、ステップS107において、カウント対象時間カウンタ902は、カウント対象時間カウンタの値を+1し、次のサイクルに再度ステップS106の判定を行う。WriteDMAC内部バスデータ転送発生信号が1の場合は、次に、ステップS108において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902による計測が1回目の計測かどうか、を判定する。   Next, in step S104, the count target time counter 902 determines whether or not the Write DMAC clock supply request signal has a value of 1. If the Write DMAC clock supply request signal is 0, the value is determined again in step S104 in the next cycle. If the Write DMAC clock supply request signal is 1, the count target time counter 902 sets the value of the count target time counter 902 to 1 in the next cycle in step S105. Thereafter, in the same cycle, in step S106, the count target time counter 902 determines whether or not the Write DMAC internal bus data transfer generation signal has a value of 1. If the Write DMAC internal bus data transfer generation signal is 0, in step S107, the count target time counter 902 increments the value of the count target time counter by 1, and performs the determination in step S106 again in the next cycle. If the Write DMAC internal bus data transfer generation signal is 1, then in step S108, the count target time counter 902 determines whether or not the measurement by the count target time counter 902 is the first measurement.

カウント対象時間カウンタ902による計測が1回目の計測の場合は、ステップS109において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最大値記憶回路904にコピーする。ステップS110において、同様に、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最小値記憶回路903にコピーする。その後、ステップS104に戻り、カウント対象時間カウンタ902は、カウント対象時間カウンタ902は2回目の計測を開始する。ステップS108において、カウント対象時間カウンタ902による計測が1回目の計測でない場合は、ステップS111の判定に進む。   If the measurement by the count target time counter 902 is the first measurement, the count target time counter 902 copies the value of the count target time counter 902 to the count target time maximum value storage circuit 904 in step S109. In step S <b> 110, similarly, the count target time counter 902 copies the value of the count target time counter 902 to the count target time minimum value storage circuit 903. Thereafter, the process returns to step S104, and the count target time counter 902 starts the second measurement. If the measurement by the count target time counter 902 is not the first measurement in step S108, the process proceeds to the determination in step S111.

ステップS111では、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っているかどうか、の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っていない場合は、ステップS112のステップをスキップし、カウント対象時間カウンタ902は、ステップS113の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最大値記憶回路904の現在値を上回っている場合は、ステップS112に進む。ステップS112において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最大値記憶回路904にコピーし、次に、ステップS113の判定を行う。   In step S111, the count target time counter 902 determines whether the value of the count target time counter 902 exceeds the current value of the count target time maximum value storage circuit 904. When the value of the count target time counter 902 does not exceed the current value of the count target time maximum value storage circuit 904, the step of step S112 is skipped, and the count target time counter 902 performs the determination of step S113. When the value of the count target time counter 902 exceeds the current value of the count target time maximum value storage circuit 904, the process proceeds to step S112. In step S112, the count target time counter 902 copies the value of the count target time counter 902 to the count target time maximum value storage circuit 904, and then performs the determination in step S113.

ステップS113では、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っているかどうか、の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っていない場合は、ステップS114のステップをスキップし、カウント対象時間カウンタ902は、ステップS115の判定を行う。カウント対象時間カウンタ902の値が、カウント対象時間最小値記憶回路903の現在値を下回っている場合は、ステップS114に進む。ステップS114において、カウント対象時間カウンタ902は、カウント対象時間カウンタ902の値をカウント対象時間最小値記憶回路903にコピーし、次に、ステップS115の判定を行う。   In step S113, the count target time counter 902 determines whether the value of the count target time counter 902 is less than the current value of the count target time minimum value storage circuit 903. When the value of the count target time counter 902 is not less than the current value of the count target time minimum value storage circuit 903, the step of step S114 is skipped, and the count target time counter 902 performs the determination of step S115. When the value of the count target time counter 902 is less than the current value of the count target time minimum value storage circuit 903, the process proceeds to step S114. In step S114, the count target time counter 902 copies the value of the count target time counter 902 to the count target time minimum value storage circuit 903, and then performs the determination of step S115.

ステップS115において、カウント対象時間カウンタ902は、カウント対象時間計測モードがONであるかどうかを判定する。カウント対象時間計測モードがONの場合、ステップS104に戻り、カウント対象時間カウンタ902は次の回の計測を開始する。カウント対象時間計測モードがOFFの場合、ステップS116において、カウント対象時間計測回路901は、非動作状態に戻り、カウント対象時間の計測は完了する。   In step S115, the count target time counter 902 determines whether or not the count target time measurement mode is ON. When the count target time measurement mode is ON, the process returns to step S104, and the count target time counter 902 starts the next measurement. When the count target time measurement mode is OFF, in step S116, the count target time measurement circuit 901 returns to the non-operation state, and the measurement of the count target time is completed.

本実施形態としては、第4の実施形態との差分という形で説明したが、本実施形態を、第4の実施形態以外の実施形態と合わせて実施することが可能であることは、容易に理解できよう。   Although the present embodiment has been described in the form of a difference from the fourth embodiment, it is easy to implement this embodiment together with embodiments other than the fourth embodiment. I understand.

第4の実施形態では、第1の実施形態と同一構成において、各カウンタが適切な値の設定する方法を説明する。   In the fourth embodiment, a method in which each counter sets an appropriate value in the same configuration as the first embodiment will be described.

(第6の実施形態)
第6の実施形態では、第4の実施形態又は第5の実施形態と同一構成において、各カウンタが適切な値を設定する方法を説明する。
(Sixth embodiment)
In the sixth embodiment, a method will be described in which each counter sets an appropriate value in the same configuration as the fourth embodiment or the fifth embodiment.

第4の実施形態では、データ処理時間が変動する等して、クロック制御用のカウンタの計測すべき時間の値が変動する場合には、以下の対策が有効であるとした。クロックイネーブル生成カウンタ400の計測対象の第一の所定時間500には変動値のうち最小値を、クロック停止要求マスク期間カウンタ401の計測対象の第二の所定時間501には変動値のうち最大値を使用する。   In the fourth embodiment, the following measures are effective when the value of the time to be measured by the clock control counter fluctuates because the data processing time fluctuates. The minimum value among the fluctuation values is measured at the first predetermined time 500 to be measured by the clock enable generation counter 400, and the maximum value among the fluctuation values at the second predetermined time 501 to be measured by the clock stop request mask period counter 401. Is used.

一方で、第4の実施形態において、カウンタの計測すべき時間の値は変動するが、値の変動の傾向に偏りがある場合は、必ずしも最大値・最小値を用いて制御せず、より適切な値をカウンタに計測させてもいい。   On the other hand, in the fourth embodiment, the value of the time to be measured by the counter varies, but if the tendency of the value variation is biased, the maximum value / minimum value are not necessarily used for control and more appropriate. You may let the counter measure the correct value.

具体的には、画像処理モジュール内演算回路301内部での画像処理演算の時間(第三の時間1000)が350−450サイクルまで変動するが、時間の変動に以下のような偏りがあったとする。   Specifically, the image processing calculation time (third time 1000) in the image processing module calculation circuit 301 fluctuates up to 350-450 cycles. .

375−425サイクル:発生確率90%。
425−450サイクル:発生確率5%。
350−375サイクル:発生確率5%。
375-425 cycles: probability of occurrence 90%.
425-450 cycle: occurrence probability 5%.
350-375 cycles: probability of occurrence 5%.

この場合は、第三の時間1000の最大値・最小値の設定として、真の最大値・最小値(それぞれ350・450サイクル)を使用するのではなく、時間の変動の偏りを考慮して最大値・最小値を設定した方がクロックの制御性が良くなる場合がある。   In this case, instead of using the true maximum and minimum values (350 and 450 cycles, respectively) as the setting of the maximum and minimum values for the third time 1000, the maximum is set in consideration of the bias of time fluctuations. The controllability of the clock may be better if the value / minimum value is set.

真の最大値は450サイクルであるが、その発生確率は所定値以下(例えば5%以下)であるので使用されない。同様に、真の最小値は350サイクルであるが、その発生確率は所定値以下(例えば5%以下)であるので使用されない。本実施形態では、第三の時間1000の最大値として425サイクルを、第三の時間1000の最小値として375サイクルを使用するとする。   The true maximum value is 450 cycles, but the probability of occurrence is not more than a predetermined value (for example, 5% or less) and is not used. Similarly, the true minimum value is 350 cycles, but its occurrence probability is not more than a predetermined value (for example, 5% or less) and is not used. In the present embodiment, 425 cycles are used as the maximum value of the third time 1000, and 375 cycles are used as the minimum value of the third time 1000.

その場合、第一の所定時間500と第二の所定時間501は、以下のように設定できる。   In that case, the first predetermined time 500 and the second predetermined time 501 can be set as follows.

第一の所定時間500は、第三の時間1000の最小値−第四の時間1001で計算し、第三の時間1000の最小値が375サイクル、第四の時間1001が5サイクルであるとすると、第一の所定時間500は370サイクルである。   The first predetermined time 500 is calculated from the minimum value of the third time 1000 minus the fourth time 1001, and the minimum value of the third time 1000 is 375 cycles, and the fourth time 1001 is 5 cycles. The first predetermined time 500 is 370 cycles.

第二の所定時間501は、第三の時間1000の最大値と同じ、425サイクルである。   The second predetermined time 501 is 425 cycles, which is the same as the maximum value of the third time 1000.

ただし、本実施形態では、発生確率は小さいものの、第三の時間1000に関して、第一の所定時間500と第二の所定時間501の設定値から外れるケースが生じる(本例では425−450サイクル、および350−375サイクルの期間)。   However, in the present embodiment, although the probability of occurrence is small, there is a case where the third time 1000 deviates from the set values of the first predetermined time 500 and the second predetermined time 501 (in this example, 425-450 cycles, And a period of 350-375 cycles).

このため、本実施形態では、WriteDMAC302のクロックが停止中に、転送がWriteDMAC302に到達してしまった場合でも、転送の情報を失わせることなく、WriteDMAC302のクロックを供給させる機構を組み込むことができる。例えば、WriteDMAC302とのインターフェースに、Valid−Readyタイプの転送プロトコルを採用する方法がある。この場合は、WriteDMAC302のクロック停止中は、WriteDMAC302からのReady信号をネゲートしておくことで、アクセスペナルティは発生するが、転送の情報が失われることは防止できる。   For this reason, in this embodiment, even if the transfer reaches the WriteDMAC 302 while the WriteDMAC 302 clock is stopped, a mechanism for supplying the WriteDMAC 302 clock without losing the transfer information can be incorporated. For example, there is a method of adopting a Valid-Ready type transfer protocol for the interface with the Write DMAC 302. In this case, while the Write DMAC 302 clock is stopped, an access penalty occurs by negating the Ready signal from the Write DMAC 302, but the transfer information can be prevented from being lost.

本実施形態としては、第4の実施形態との差分という形で説明したが、本実施形態を、第4の実施形態以外の本明細書に記載の実施形態と合わせて実施することが可能であることは、容易に理解できよう。   Although the present embodiment has been described in the form of a difference from the fourth embodiment, the present embodiment can be implemented in combination with the embodiments described in the present specification other than the fourth embodiment. It can be easily understood.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出して実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read the program. It can also be realized by processing to be executed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

10 CPU
11 画像処理モジュール
20 MEMC
21 供給モジュール
30 バスモジュール
100 画像処理用システムオンチップ
200 DRAM
300 ReadDMAC
301 演算回路
302 WriteDMAC
303 WriteDMACクロックイネーブル制御モジュール
304 WriteDMACクロック供給要求信号生成回路
305 WriteDMACクロック停止要求信号生成回路
400 クロックイネーブル生成カウンタ
401 クロック停止要求マスク期間カウンタ
402 クロックイネーブル制御回路
403 クロックイネーブルネゲート指示生成回路
10 CPU
11 Image processing module 20 MEMC
21 Supply module 30 Bus module 100 Image processing system on chip 200 DRAM
300 ReadDMAC
301 arithmetic circuit 302 Write DMAC
303 Write DMAC clock enable control module 304 Write DMAC clock supply request signal generation circuit 305 Write DMAC clock stop request signal generation circuit 400 Clock enable generation counter 401 Clock stop request mask period counter 402 Clock enable control circuit 403 Clock enable negate instruction generation circuit

Claims (18)

対象回路に対してクロックを供給させ、又は前記対象回路に対するクロック供給を停止させる制御手段と、
前記対象回路が所定処理を開始する前に、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成手段と、
前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、
前記対象回路が前記所定処理を完了した後に、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成手段と、
前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御することを特徴とする制御回路。
Control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit;
First generation means for generating a supply request for requesting clock supply to the target circuit before the target circuit starts predetermined processing;
When the supply request is generated by the first generation unit, measurement of a first time is started, and after the first time has elapsed, a first signal instructing clock supply is generated and output to the control unit First measuring means to perform,
Second generation means for generating a stop request for requesting stop of clock supply to the target circuit after the target circuit has completed the predetermined processing;
When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, a second measurement unit starts measuring the second time;
When the stop request is generated by the second generation means after the second time has elapsed, a second signal is generated to instruct to stop the clock supply to the target circuit, and is sent to the control means. Output, and when the second measuring means is measuring the second time, has a third generating means for restricting the generation of the second signal,
The control means controls to supply a clock to the target circuit when receiving the first signal, and to stop supplying a clock to the target circuit when receiving the second signal. Control circuit.
前記第2計測手段が前記第2時間を計測している間において、前記第1生成手段によって供給要求が生成された場合、前記第2計測手段は、既に計測した前記第2時間の値をリセットして、前記第2時間を新たに計測することを特徴とする請求項1に記載の制御回路。   When a supply request is generated by the first generation unit while the second measurement unit is measuring the second time, the second measurement unit resets the value of the second time that has already been measured. The control circuit according to claim 1, wherein the second time is newly measured. 前記第1計測手段は、直列に接続する複数のカウンタによって構成され、
前記第2計測手段は、前記複数のカウンタにおける初段のカウンタが時間を計測している間に前記第1生成手段によって供給要求が新たに生成された場合、前記第2時間を計測し、前記複数のカウンタにおける後段のカウンタが時間を計測している間に前記第1生成手段によって新たに供給要求が生成された場合、前記第2時間を計測しないことを特徴とする請求項1又は2に記載の制御回路。
The first measuring means is constituted by a plurality of counters connected in series,
The second measuring unit measures the second time when a supply request is newly generated by the first generating unit while the first-stage counter of the plurality of counters is measuring the time. 3. The second time is not measured when a new supply request is generated by the first generation unit while the counter of the latter stage is measuring the time. 4. Control circuit.
前記複数のカウンタのそれぞれが計測する時間の合計は、前記第1時間であることを特徴とする請求項3に記載の制御回路。   4. The control circuit according to claim 3, wherein the total time measured by each of the plurality of counters is the first time. 5. 前記第1計測手段及び前記第2計測手段は、それぞれカウンタによって構成されることを特徴とする請求項1乃至4の何れか1項に記載の制御回路。   5. The control circuit according to claim 1, wherein each of the first measurement unit and the second measurement unit includes a counter. 対象回路と、請求項1乃至5の何れか1項に記載の制御回路と、前記対象回路に対してクロックを供給し、又は前記対象回路に対するクロック供給を停止する供給手段と、を有し、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給するように前記供給手段を制御し、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止するように前記供給手段を制御することを特徴とする画像処理装置。
A target circuit; a control circuit according to any one of claims 1 to 5; and a supply unit that supplies a clock to the target circuit or stops a clock supply to the target circuit.
The control means controls the supply means to supply a clock to the target circuit when receiving the first signal, and stops supplying the clock to the target circuit when receiving the second signal. An image processing apparatus that controls the supply means.
転送された入力データに対して所定の演算処理を行って、前記対象回路に対して前記演算処理の出力データを出力する演算回路と、前記演算回路に前記入力データを転送する転送手段と、をさらに有し、
前記第1生成手段は、前記転送手段が前記演算回路へのデータ転送を開始するタイミングで、前記対象回路へのクロック供給を要求する供給要求を生成することを特徴とする請求項6に記載の画像処理装置。
An arithmetic circuit that performs predetermined arithmetic processing on the transferred input data and outputs the output data of the arithmetic processing to the target circuit; and a transfer unit that transfers the input data to the arithmetic circuit; In addition,
The said 1st production | generation means produces | generates the supply request | requirement which requests | requires the clock supply to the said target circuit at the timing which the said transfer means starts the data transfer to the said arithmetic circuit. Image processing device.
前記演算回路の内部状態を示す信号を受信し、受信した該信号に基づいて前記演算回路の演算処理においてストールを確認し、前記ストールが発生している場合は、通知信号を前記第1計測手段及び前記第2計測手段に出力する通知手段をさらに有し、
前記第1計測手段及び前記第2計測手段は、前記通知信号を受信している間、時間の計測を中断することを特徴とする請求項7に記載の画像処理装置。
A signal indicating the internal state of the arithmetic circuit is received, a stall is confirmed in the arithmetic processing of the arithmetic circuit based on the received signal, and if the stall has occurred, a notification signal is sent to the first measuring means And a notification means for outputting to the second measurement means,
The image processing apparatus according to claim 7, wherein the first measurement unit and the second measurement unit interrupt time measurement while receiving the notification signal.
前記第1時間は、前記演算回路による前記演算処理の開始から終了までの時間の最小値に基づいて設定され、
前記第2時間は、前記演算回路による前記演算処理の開始から終了までの時間の最大値に基づいて設定されることを特徴とする請求項8に記載の画像処理装置。
The first time is set based on a minimum value of time from the start to the end of the arithmetic processing by the arithmetic circuit,
The image processing apparatus according to claim 8, wherein the second time is set based on a maximum value of a time from the start to the end of the arithmetic processing by the arithmetic circuit.
前記演算回路による前記演算処理の開始から終了までの時間の最大値及び最小値を計測する計測手段をさらに有することを特徴とする請求項9に記載の画像処理装置。   The image processing apparatus according to claim 9, further comprising a measuring unit that measures a maximum value and a minimum value of a time from the start to the end of the arithmetic processing by the arithmetic circuit. 前記第1時間は、発生確率が所定値以下の前記最小値に基づいて設定されない、
前記第2時間は、発生確率が所定値以下の前記最大値に基づいて設定されないことを特徴とする請求項9又は10に記載の画像処理装置。
The first time is not set based on the minimum value having an occurrence probability of a predetermined value or less,
The image processing apparatus according to claim 9, wherein the second time is not set based on the maximum value having an occurrence probability equal to or less than a predetermined value.
前記演算回路による前記演算処理の出力データを記憶する記憶手段をさらに有し、
前記対象回路は、前記記憶手段に前記演算処理の前記出力データを転送することを特徴とする請求項6乃至11の何れか1項に記載の画像処理装置。
Further comprising storage means for storing output data of the arithmetic processing by the arithmetic circuit;
The image processing apparatus according to claim 6, wherein the target circuit transfers the output data of the arithmetic processing to the storage unit.
前記対象回路は、WriteDMACであることを特徴とする請求項6乃至12の何れか1項に記載の画像処理装置。   The image processing apparatus according to claim 6, wherein the target circuit is a Write DMAC. 対象回路に対して電源を供給させ、又は前記対象回路に対する電源供給を停止させる制御手段と、
前記対象回路が所定処理を開始する前に、前記対象回路への電源供給を要求する供給要求を生成する第1生成手段と、
前記第1生成手段によって前記供給要求が生成されると、第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測手段と、
前記対象回路が前記所定処理を完了した後に、前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成手段と、
前記第1計測手段が前記第1時間を計測している間に、前記第1生成手段によって供給要求が新たに生成されると、第2時間の計測を開始する第2計測手段と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、前記対象回路への電源供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成手段と、を有し、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御することを特徴とする制御回路。
Control means for supplying power to the target circuit or stopping power supply to the target circuit;
First generation means for generating a supply request for requesting power supply to the target circuit before the target circuit starts predetermined processing;
When the supply request is generated by the first generation unit, measurement of a first time is started, and after the first time has elapsed, a first signal instructing power supply is generated and output to the control unit First measuring means to perform,
Second generation means for generating a stop request for requesting stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
When a supply request is newly generated by the first generation unit while the first measurement unit is measuring the first time, a second measurement unit starts measuring the second time;
If the stop request is generated by the second generation means after the second time has elapsed, a second signal is generated to instruct the power supply to the target circuit to be stopped, and the control means is supplied to the control means. Output, and when the second measuring means is measuring the second time, has a third generating means for restricting the generation of the second signal,
The control means controls to supply power to the target circuit when receiving the first signal, and to stop supplying power to the target circuit when receiving the second signal. Control circuit.
対象回路に対してクロックを供給させ、又は前記対象回路に対するクロック供給を停止させる制御手段を有する制御回路の制御方法であって、
前記対象回路が所定処理を開始する前に、第1生成手段が前記対象回路へのクロック供給を要求する供給要求を生成する第1生成工程と、
前記第1生成工程において前記供給要求が生成されると、第1計測手段が第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測工程と、
前記対象回路が前記所定処理を完了した後に、第2生成手段が前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成工程と、
前記第1計測工程において前記第1計測手段が前記第1時間を計測している間に、前記第1生成工程において供給要求が新たに生成されると、第2計測手段が第2時間の計測を開始する第2計測工程と、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段が前記対象回路へのクロック供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測工程において前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成工程と、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御する制御工程を有することを特徴とする方法。
A control method of a control circuit having control means for supplying a clock to a target circuit or stopping a clock supply to the target circuit,
A first generation step of generating a supply request for requesting a clock supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and after the first time has elapsed, generates a first signal instructing clock supply, A first measuring step for outputting to the control means;
A second generation step of generating a stop request for requesting the stop of the clock supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit measures the second time. A second measuring step for starting
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit generates a second signal instructing to stop the clock supply to the target circuit. A third generation step of outputting to the control means, and limiting the generation of the second signal when the second measurement means is measuring the second time in the second measurement step;
The control means has a control step of controlling to supply a clock to the target circuit when receiving the first signal and to stop supplying a clock to the target circuit when receiving the second signal. A method characterized by.
対象回路に対して電源を供給させ、又は前記対象回路に対する電源供給を停止させる制御手段を有する制御回路の制御方法であって、
前記対象回路が所定処理を開始する前に、第1生成手段が前記対象回路への電源供給を要求する供給要求を生成する第1生成工程と、
前記第1生成工程において前記供給要求が生成されると、第1計測手段が第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測工程と、
前記対象回路が前記所定処理を完了した後に、第2生成手段が前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成工程と、
前記第1計測工程において前記第1計測手段が前記第1時間を計測している間に、前記第1生成工程において供給要求が新たに生成されると、第2計測手段が第2時間の計測を開始する第2計測工程と、
前記第2時間が経過した後の場合は、前記第2生成手段によって前記停止要求が生成されると、第3生成手段が前記対象回路への電源供給の停止を指示する第2信号を生成し、前記制御手段に出力し、前記第2計測工程において前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成工程と、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御する制御工程を有することを特徴とする方法。
A control method for a control circuit having control means for supplying power to a target circuit or stopping power supply to the target circuit,
A first generation step in which a first generation unit generates a supply request for requesting power supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measurement unit starts measuring the first time, and after the first time has elapsed, generates a first signal instructing power supply, A first measuring step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit measures the second time. A second measuring step for starting
After the second time has elapsed, when the stop request is generated by the second generation unit, the third generation unit generates a second signal instructing to stop power supply to the target circuit. A third generation step of outputting to the control means, and limiting the generation of the second signal when the second measurement means is measuring the second time in the second measurement step;
The control means includes a control step of controlling to supply power to the target circuit when receiving the first signal and to stop supplying power to the target circuit when receiving the second signal. A method characterized by.
対象回路に対してクロックを供給させ、又は前記対象回路に対するクロック供給を停止させる制御手段を有する制御回路の制御プログラムであって、
前記対象回路が所定処理を開始する前に、第1生成手段は、前記対象回路へのクロック供給を要求する供給要求を生成する第1生成ステップと、
前記第1生成工程において前記供給要求が生成されると、第1計測手段は、第1時間の計測を開始し、該第1時間が経過した後に、クロック供給を指示する第1信号を生成し、前記制御手段に出力する第1計測ステップと、
前記対象回路が前記所定処理を完了した後に、第2生成手段は、前記対象回路へのクロック供給の停止を要求する停止要求を生成する第2生成ステップと、
前記第1計測ステップにおいて前記第1計測手段が前記第1時間を計測している間に、前記第1生成ステップにおいて供給要求が新たに生成されると、第2計測手段は、第2時間の計測を開始する第2計測ステップと、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段は、前記対象回路へのクロック供給の停止を指示する前記第2信号を生成し、前記制御手段に出力し、前記第2計測ステップにおいて前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成ステップと、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対してクロックを供給させ、前記第2信号を受信すると、前記対象回路に対するクロック供給を停止させるように制御する制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
A control program for a control circuit having control means for supplying a clock to the target circuit or stopping the clock supply to the target circuit,
A first generation step for generating a supply request for requesting a clock supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and generates a first signal instructing clock supply after the first time has elapsed. A first measurement step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of clock supply to the target circuit after the target circuit completes the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit A second measurement step for starting measurement;
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit outputs the second signal instructing to stop the clock supply to the target circuit. A third generation step for restricting the generation of the second signal when the second measurement unit is measuring the second time in the second measurement step. ,
A control step for controlling to supply a clock to the target circuit when receiving the first signal and to stop supplying a clock to the target circuit when receiving the second signal;
A program that causes a computer to execute.
対象回路に対して電源を供給させ、又は前記対象回路に対する電源供給を停止させる制御手段を有する制御回路の制御プログラムであって、
前記対象回路が所定処理を開始する前に、第1生成手段は、前記対象回路への電源供給を要求する供給要求を生成する第1生成ステップと、
前記第1生成工程において前記供給要求が生成されると、第1計測手段は、第1時間の計測を開始し、該第1時間が経過した後に、電源供給を指示する第1信号を生成し、前記制御手段に出力する第1計測ステップと、
前記対象回路が前記所定処理を完了した後に、第2生成手段は、前記対象回路への電源供給の停止を要求する停止要求を生成する第2生成ステップと、
前記第1計測ステップにおいて前記第1計測手段が前記第1時間を計測している間に、前記第1生成ステップにおいて供給要求が新たに生成されると、第2計測手段は、第2時間の計測を開始する第2計測ステップと、
前記第2時間が経過した後の場合に、前記第2生成手段によって前記停止要求が生成されると、第3生成手段は、前記対象回路への電源供給の停止を指示する前記第2信号を生成し、前記制御手段に出力し、前記第2計測ステップにおいて前記第2計測手段が前記第2時間を計測している間の場合は、前記第2信号の生成を制限する第3生成ステップと、
前記制御手段は、前記第1信号を受信すると、前記対象回路に対して電源を供給させ、前記第2信号を受信すると、前記対象回路に対する電源供給を停止させるように制御する制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
A control program for a control circuit having control means for supplying power to a target circuit or stopping power supply to the target circuit,
A first generation step for generating a supply request for requesting power supply to the target circuit before the target circuit starts a predetermined process;
When the supply request is generated in the first generation step, the first measuring unit starts measuring the first time, and generates a first signal instructing power supply after the first time has elapsed. A first measurement step for outputting to the control means;
A second generation step of generating a stop request for requesting a stop of power supply to the target circuit after the target circuit has completed the predetermined processing;
If a supply request is newly generated in the first generation step while the first measurement unit is measuring the first time in the first measurement step, the second measurement unit A second measurement step for starting measurement;
When the stop request is generated by the second generation unit after the second time has elapsed, the third generation unit outputs the second signal instructing to stop power supply to the target circuit. A third generation step for restricting the generation of the second signal when the second measurement unit is measuring the second time in the second measurement step. ,
A control step for controlling to supply power to the target circuit when receiving the first signal and to stop power supply to the target circuit when receiving the second signal;
A program that causes a computer to execute.
JP2016227213A 2016-11-22 2016-11-22 Control circuit, control method thereof and program Pending JP2018084932A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016227213A JP2018084932A (en) 2016-11-22 2016-11-22 Control circuit, control method thereof and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016227213A JP2018084932A (en) 2016-11-22 2016-11-22 Control circuit, control method thereof and program

Publications (1)

Publication Number Publication Date
JP2018084932A true JP2018084932A (en) 2018-05-31

Family

ID=62238358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016227213A Pending JP2018084932A (en) 2016-11-22 2016-11-22 Control circuit, control method thereof and program

Country Status (1)

Country Link
JP (1) JP2018084932A (en)

Similar Documents

Publication Publication Date Title
US7941684B2 (en) Synchronization of processor time stamp counters to master counter
TWI594115B (en) Thermal control apparatus and methodology
TW201913290A (en) Low-power microcontroller system
US8766646B2 (en) Calibration method and apparatus for clock signal and electronic device
JP5102789B2 (en) Semiconductor device and data processor
JP2013536532A (en) Dynamic performance control of processing nodes
US9494992B2 (en) Multi-core processor system avoiding stopping of cores too close in time
US20160085279A1 (en) Method for resetting an electronic device having independent device domains
JP2014048972A (en) Processor, information processing apparatus, and power consumption management method
US8020020B2 (en) Fast, automatically scaled processor time stamp counter
US10530562B2 (en) Correlating local time counts of first and second integrated circuits
US10261927B2 (en) DMA controller with trigger sequence generator
US8892923B2 (en) Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation
JP2007058716A (en) Data transfer bus system
TW201348964A (en) Determining optimal preload distance at runtime
TW201504802A (en) Controlling power supply unit power consumption during idle state
US20130227329A1 (en) Using a stuttered clock signal to reduce self-induced voltage noise
JP2018084932A (en) Control circuit, control method thereof and program
TWI750118B (en) Clock management circuitry, system on chip and method of clock management
TW200944997A (en) Technique for promoting determinism among mulitiple clock domains
US10460772B2 (en) Semiconductor device
TWI639157B (en) Semiconductor device and automatic adjustment method of access cycles of flash memory thereof
JP2010140319A (en) Semiconductor device
JP2017021513A (en) Multi-core processor, clock control method of multi-core processor and clock control program
JP2017162407A (en) Semiconductor device