JP2007108993A - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2007108993A JP2007108993A JP2005298890A JP2005298890A JP2007108993A JP 2007108993 A JP2007108993 A JP 2007108993A JP 2005298890 A JP2005298890 A JP 2005298890A JP 2005298890 A JP2005298890 A JP 2005298890A JP 2007108993 A JP2007108993 A JP 2007108993A
- Authority
- JP
- Japan
- Prior art keywords
- power supply
- clock
- register
- supply
- signal
- 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.)
- Granted
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
Description
本発明は、マイクロプロセッサ等に使用される半導体集積回路に関し、例えば動作時での消費電力が小さい半導体集積回路に適用して有効な技術に関する。 The present invention relates to a semiconductor integrated circuit used in a microprocessor or the like, for example, a technique effective when applied to a semiconductor integrated circuit with low power consumption during operation.
半導体集積回路の微細化に伴い、半導体集積回路のゲート密度や動作速度は向上しているが、その一方で、半導体集積回路の非動作時でのリーク電力が急速に増大している。半導体集積回路の動作時での消費電力を低下させるために、半導体集積回路へのクロック供給を停止する制御が行われることがある。しかし、リーク電力は、クロック供給の有無とは無関係に発生するので、リーク電力を低下させるには、半導体集積回路への電力供給を停止する必要がある。 With the miniaturization of the semiconductor integrated circuit, the gate density and operation speed of the semiconductor integrated circuit are improved. On the other hand, the leak power when the semiconductor integrated circuit is not operating is rapidly increasing. In order to reduce the power consumption during the operation of the semiconductor integrated circuit, control for stopping the clock supply to the semiconductor integrated circuit may be performed. However, since the leak power is generated regardless of whether or not the clock is supplied, it is necessary to stop the power supply to the semiconductor integrated circuit in order to reduce the leak power.
特に、SoC(System on Chip)のような大規模な半導体集積回路では、使用期間を通してSoCに含まれる全ての機能モジュールを動作させる必要はなく、ある動作に不要な機能モジュールは停止させても構わない。例えば、携帯電話用SoCにおいて、通信機能を実現する機能モジュールは、通話時のみ動作させ、非通話時は停止させることができる。この場合には、動作させる必要のない機能モジュールへの電力供給を停止することによって、リーク電力を低下させることができる。このため、SoCでは、機能モジュール毎に電力供給を開始又は停止する技術が普及しつつある。 In particular, in a large-scale semiconductor integrated circuit such as SoC (System on Chip), it is not necessary to operate all functional modules included in the SoC throughout the period of use, and functional modules that are unnecessary for a certain operation may be stopped. Absent. For example, in a mobile phone SoC, a functional module that realizes a communication function can be operated only during a call and can be stopped during a non-call. In this case, the leakage power can be reduced by stopping the power supply to the functional modules that do not need to be operated. For this reason, in SoC, a technique for starting or stopping power supply for each functional module is becoming widespread.
ところが、SoCでは、同時に複数の処理を行うマルチタスク処理が一般的となっており、例えばSoCによって機能を実現する携帯電話機がテレビ電話機能を実現するときには、通信処理、動画像圧縮伸張処理、音声圧縮伸張処理等を含む多くの処理が同時に実行されることになる。このような状況では、SoC内の機能モジュールが、その搭載数を低減するために複数の処理によって利用されることがあり、機能モジュール毎に電力供給を開始又は停止することが困難となる。 However, in SoC, multitask processing that performs a plurality of processes simultaneously is common. For example, when a mobile phone that realizes a function by SoC realizes a videophone function, communication processing, moving image compression / decompression processing, audio Many processes including a compression / decompression process and the like are executed simultaneously. In such a situation, the functional modules in the SoC may be used by a plurality of processes in order to reduce the number of mounted modules, and it becomes difficult to start or stop power supply for each functional module.
例えば、機能モジュールの一つであるDMAコントローラが、通信処理及び動画像圧縮伸張処理で利用される場合には、一方の処理でDMAコントローラへの電力供給を停止すると、他方の処理でDMAコントローラを利用できなくなってしまい、テレビ電話機能を実現できなくなってしまう。このため、SoCを制御するソフトウェアには、2つの処理を監視して、いずれの処理も実行されていないときに限りDMAコントローラを停止する複雑なソフトウェア処理が必要となる。しかしながら、SoCやSoCが搭載される各種装置の高機能化や複雑化に伴い、SoCを制御するソフトウェアの開発コストが高騰しており、この傾向は、今後も続く見込みである。従って、SoCには、SoCを制御するために必要なソフトウェア処理を極力単純化して、ソフトウェアの開発コストを抑えることが求められており、上記した複雑なソフトウェア処理を行うと、開発コストが上昇してしまう。 For example, when a DMA controller, which is one of functional modules, is used in communication processing and moving image compression / decompression processing, if the power supply to the DMA controller is stopped in one process, the DMA controller is switched in the other process. It becomes impossible to use the videophone function. For this reason, the software that controls the SoC requires a complicated software process that monitors two processes and stops the DMA controller only when neither process is being executed. However, the development cost of software for controlling the SoC is rising as the functions and complexity of the SoC and the various devices on which the SoC is mounted, and this trend is expected to continue in the future. Therefore, the SoC is required to simplify the software processing necessary for controlling the SoC as much as possible to reduce the software development cost. If the above complicated software processing is performed, the development cost increases. End up.
特許文献1には、ソフトウェアによる制御を複雑化させることなく、各周辺回路モジュールへのクロック供給を自律分散的に制御することにより、消費電力の低減を図る技術が開示されている。
また、SoCの機能モジュール間のデータ転送には、スプリット方式が広く用いられている。このスプリット方式では、アクセス要求を受信した機能モジュールが、アクセス要求を発生させた機能モジュールに対して、明示的にアクセス応答を送信しなければならない。このため、消費電力を低減するために、機能モジュールへの電力供給を停止した場合には、電力供給を停止された機能モジュールからアクセス応答が送信されず、SoCのデータ転送が破綻してしまう恐れがある。 A split method is widely used for data transfer between SoC function modules. In this split method, the functional module that has received the access request must explicitly transmit an access response to the functional module that has generated the access request. For this reason, when power supply to a functional module is stopped in order to reduce power consumption, an access response is not transmitted from the functional module whose power supply has been stopped, and SoC data transfer may fail. There is.
さらに、大規模なSoCを開発する場合には、多くの機能モジュールは、既存の開発品を流用したものや、外部から購入したものが導入される。この場合には、不具合が発生する確率を低減するために、導入した機能モジュールには変更を加えないことが望ましい。 Furthermore, when developing a large-scale SoC, many functional modules are introduced that are diverted from existing development products or purchased from the outside. In this case, it is desirable not to change the introduced functional module in order to reduce the probability of occurrence of a malfunction.
特許文献1によれば、機能モジュールに対するアクセスを検出してソフトウェア制御を介在させることなく、機能モジュールへのクロック供給を動的に開始又は停止できるから、機能モジュールが動作しないときの消費電力を低減することができる。しかしながら、特許文献1の技術では、機能モジュールへの電力供給の開始又は停止を行わないので、リーク電力を低減することができない。さらに、マルチタスク処理時に電力供給を停止するときに必要な考慮が全くなされていない。
According to
本発明の目的は、必要な動作を阻害することなく、動作時の消費電力だけでなく非動作時のリーク電力も比較的簡単に低減できる半導体集積回路を提供することにある。 An object of the present invention is to provide a semiconductor integrated circuit that can relatively easily reduce not only power consumption during operation but also leakage power during non-operation without hindering necessary operations.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
〔1〕本発明に係る半導体集積回路(11)は、第1の機能モジュール(107)と、第2の機能モジュール(101)と、前記第1の機能モジュールと前記第2の機能モジュール間のアクセスを中継すると共に、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を制御する制御回路(104)と、を備える。前記制御回路は、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止しているとき、前記第2の機能モジュールによる前記第1の機能モジュールに対するアクセスを可能にするための制御を行う。 [1] A semiconductor integrated circuit (11) according to the present invention includes a first functional module (107), a second functional module (101), and between the first functional module and the second functional module. And a control circuit (104) that relays access and controls at least one of power supply and clock supply to the first functional module. The control circuit is configured to enable access to the first functional module by the second functional module when at least one of power supply and clock supply to the first functional module is stopped. I do.
上記より、第1の機能モジュールが停止していても、第2の機能モジュールは、第1の機能モジュールにアクセスすることが保証されるから、必要な動作を阻害することなく、動作時の消費電力だけでなく非動作時のリーク電力も低減できる。 From the above, even if the first functional module is stopped, the second functional module is guaranteed to access the first functional module, so that the consumption during operation is performed without hindering the necessary operation. Not only power but also leakage power when not operating can be reduced.
本発明の具体的な一つの形態として、前記制御回路は、レジスタ(図5参照)を備える。前記制御回路は、前記第2の機能モジュールから前記第1の機能モジュールへ送信されるアクセス要求信号に含まれるアドレス、アクセス属性、ライトデータ及びリードデータのうち少なくとも一つと、前記レジスタに保持されている値とを比較する。前記制御回路は、この比較結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始(図6、図8参照)又は停止(図7、図9参照)を決定する。上記より、第1の機能モジュールへのアクセスを監視して、その監視結果に応じて第1の機能モジュールへの電力供給とクロック供給の制御を行うから、第1の機能モジュールが変更困難な既存の開発品や外部からの導入品であっても、制御回路のレジスタ設定を変更するだけで第1の機能モジュールのリーク電流を低減できる。従って、電力供給やクロック供給の制御を複雑なソフトウェア処理で行う必要がなく、ソフトウェアの開発コストを抑えることができる。 As a specific form of the present invention, the control circuit includes a register (see FIG. 5). The control circuit is held in the register and at least one of an address, an access attribute, write data, and read data included in an access request signal transmitted from the second functional module to the first functional module. Compare the value. Based on the comparison result, the control circuit determines whether to start (see FIGS. 6 and 8) or stop (see FIGS. 7 and 9) at least one of power supply and clock supply to the first functional module. To do. From the above, since the access to the first functional module is monitored, and the power supply and the clock supply control to the first functional module are controlled according to the monitoring result, it is difficult to change the first functional module. Even if it is a newly developed product or a product introduced from the outside, the leakage current of the first functional module can be reduced only by changing the register setting of the control circuit. Therefore, it is not necessary to control power supply and clock supply by complicated software processing, and software development costs can be reduced.
本発明の具体的な一つの形態として、前記第2の機能モジュール(101A,101B)は、前記第1の機能モジュール(107)へ送信する前記アクセス要求信号に自身を識別させるためのマスタIDを付加する。前記制御回路(104A)は、レジスタを備える。前記制御回路は、前記マスタIDと前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始(図28、図30参照)又は停止(図29、図31参照)を決定する。上記より、第2の機能モジュールが複数であっても、特定の第2の機能モジュールからのアクセス要求信号を、電力供給とクロック供給の制御の契機とすることができる。 As a specific form of the present invention, the second functional module (101A, 101B) assigns a master ID for identifying itself to the access request signal transmitted to the first functional module (107). Append. The control circuit (104A) includes a register. The control circuit starts at least one of power supply and clock supply to the first functional module based on a result of comparing the master ID and a value held in the register (FIGS. 28 and 30). (Refer to FIG. 29 and FIG. 31). As described above, even when there are a plurality of second functional modules, an access request signal from a specific second functional module can be used as a trigger for controlling power supply and clock supply.
本発明の具体的な一つの形態として、前記第2の機能モジュールは、複数のプロセスを実行するプロセッサであって、前記第1の機能モジュールへ送信する前記アクセス要求信号に前記プロセスを識別させるためのプロセスIDを付加する。前記制御回路は、レジスタを備える。前記制御回路は、前記プロセスIDと前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始(図28、図30参照)又は停止(図29、図31参照)を決定する。上記より、第2の機能モジュールが複数であっても、特定の第2の機能モジュールで実行される特定のプロセスによるアクセス要求信号を、電力供給とクロック供給の制御の契機とすることができる。従って、ソフトウェアの不具合や、コンピュータウィルス等によるプロセスによって、第1の機能モジュールへの電力供給やクロック供給が不所望に開始又は停止されることがない。 As a specific form of the present invention, the second functional module is a processor that executes a plurality of processes, and makes the access request signal transmitted to the first functional module identify the process. The process ID is added. The control circuit includes a register. The control circuit starts at least one of power supply and clock supply to the first functional module based on a result of comparing the process ID and a value held in the register (FIGS. 28 and 30). (Refer to FIG. 29 and FIG. 31). As described above, even when there are a plurality of second functional modules, an access request signal by a specific process executed by the specific second functional module can be used as a trigger for controlling power supply and clock supply. Therefore, power supply and clock supply to the first functional module are not undesirably started or stopped due to a software malfunction or a process due to a computer virus or the like.
本発明の具体的な一つの形態として、前記第1の機能モジュールは、前記第1の機能モジュールの処理状態を前記制御回路に通知する機能を有する。前記制御回路は、レジスタ(図20参照)を備える。前記制御回路は、前記第1の機能モジュールの処理状態と前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を開始(図21、図22参照)又は停止(図21〜図23参照)する。上記より、第1の機能モジュールが自律的に出力する状態信号に基づいて電力供給やクロック供給の制御を行うから、これらの制御にソフトウェアが介在することを要しない。従って、制御回路のレジスタ設定を行うだけでよく、ソフトウェア開発コストを削減できる。 As a specific form of the present invention, the first functional module has a function of notifying the control circuit of a processing state of the first functional module. The control circuit includes a register (see FIG. 20). The control circuit starts at least one of power supply and clock supply to the first functional module based on a result of comparing a processing state of the first functional module and a value held in the register. (See FIGS. 21 and 22) or stop (see FIGS. 21 to 23). As described above, since the power supply and the clock supply are controlled based on the state signal autonomously output by the first functional module, it is not necessary for the software to intervene in these controls. Therefore, it is only necessary to set the register of the control circuit, and the software development cost can be reduced.
本発明の具体的な一つの形態として、前記制御回路は、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方が開始された後に、前記第1の機能モジュールへの情報転送を開始する。上記より、第1の機能モジュールへの電力供給やクロック供給が停止されていたときに、第1の機能モジュールへ送信されたアクセス要求信号を、第1の機能モジュールが動作したときに再送信できる。従って、第1の機能モジュールにアクセス要求信号を確実に受信させることができ、半導体集積回路の内部の情報転送を破綻させることがない。 As a specific form of the present invention, the control circuit starts transferring information to the first functional module after at least one of power supply and clock supply to the first functional module is started. To do. From the above, when power supply or clock supply to the first functional module is stopped, the access request signal transmitted to the first functional module can be retransmitted when the first functional module operates. . Therefore, the access request signal can be reliably received by the first functional module, and information transfer inside the semiconductor integrated circuit is not broken down.
本発明の具体的な一つの形態として、前記制御回路は、代理応答生成部(304)を備える。代理応答生成部は、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方が停止されているときに、前記第2の機能モジュールから前記第1の機能モジュールへアクセス要求信号が送信された場合には、前記第1の機能モジュールに代わって、前記第2の機能モジュールにアクセス応答信号を送信する。上記より、第1の機能モジュールが動作していない場合であっても、代理応答生成部により、第2の機能モジュールにアクセス応答信号を送信できる。従って、第2の機能モジュールは、第1の機能モジュールへの電力供給やクロック供給が開始されるまでアクセス応答信号を待つ必要がなく、第2の機能モジュールの処理が滞ることがない。 As a specific form of the present invention, the control circuit includes a proxy response generation unit (304). The proxy response generation unit transmits an access request signal from the second function module to the first function module when at least one of power supply and clock supply to the first function module is stopped. In the case of an error, an access response signal is transmitted to the second functional module instead of the first functional module. As described above, even when the first functional module is not operating, the proxy response generation unit can transmit the access response signal to the second functional module. Therefore, the second functional module does not need to wait for an access response signal until power supply or clock supply to the first functional module is started, and processing of the second functional module is not delayed.
本発明の具体的な一つの形態として、前記制御回路は、代理応答生成部(304A)を備える。前記代理応答生成部は、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方が停止されているときに、前記第2の機能モジュールから前記第1の機能モジュールへ送信されたアクセス要求信号がライトアクセスである場合には、前記第1の機能モジュールに代わって、前記第2の機能モジュールにアクセス応答信号を送信する。前記代理応答生成部は、前記アクセス要求信号がリードアクセスである場合には、前記アクセス応答信号の送信を停止する。上記より、第1の機能モジュールが動作していない場合において、ライトアクセスに対しては第2の機能モジュールにアクセス応答信号を送信するから、第2の機能モジュールの処理が滞ることがない。さらに、リードアクセスに対しては代理応答生成部が第2の機能モジュールにアクセス応答信号を送信せず、その後、制御回路が第1の機能モジュールを動作させるから、第1の機能モジュールは、正確なリードデータを付加したアクセス応答信号を第2の機能モジュールに送信することができる。 As a specific form of the present invention, the control circuit includes a proxy response generation unit (304A). The proxy response generation unit transmits an access request transmitted from the second functional module to the first functional module when at least one of power supply and clock supply to the first functional module is stopped. If the signal is a write access, an access response signal is transmitted to the second functional module instead of the first functional module. The proxy response generation unit stops transmission of the access response signal when the access request signal is read access. As described above, when the first functional module is not operating, an access response signal is transmitted to the second functional module for write access, so that the processing of the second functional module is not delayed. Further, since the proxy response generation unit does not transmit an access response signal to the second functional module for the read access, and then the control circuit operates the first functional module, the first functional module is accurate. An access response signal to which the read data is added can be transmitted to the second functional module.
本発明の具体的な一つの形態として、前記制御回路は、初期化を指示するリセット信号(14)と、初期化時での前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始又は停止を指定するモード信号(13)とを取込む。前記制御回路は、前記リセット信号がアサートされているときの前記モード信号の値(図2参照)に基づいて、前記第1の機能モジュールへの電力供給(図10、図11参照)とクロック供給(図12、図13参照)の少なくとも一方を制御する。上記より、例えばリセット信号入力端子とモード信号入力端子を制御回路に設けるだけで、初期化時における第1の機能モジュールの電力供給状態及びクロック供給状態を決定できるから、低コスト化を図ることができる。 As one specific form of the present invention, the control circuit includes a reset signal (14) instructing initialization, and at least one of power supply and clock supply to the first functional module at the time of initialization. A mode signal (13) designating start or stop is taken in. The control circuit supplies power (see FIGS. 10 and 11) and clocks to the first functional module based on the value of the mode signal (see FIG. 2) when the reset signal is asserted. (See FIGS. 12 and 13) At least one of them is controlled. As described above, for example, the power supply state and the clock supply state of the first functional module at the time of initialization can be determined simply by providing the reset signal input terminal and the mode signal input terminal in the control circuit. it can.
本発明の具体的な一つの形態として、前記制御回路は、複数の前記第2の機能モジュールが前記第1の機能モジュールを使用しているか否かを示す値、又は、前記第2の機能モジュールによって実行される複数のプロセスが前記第1の機能モジュールを使用しているか否かを示す値を保持するレジスタ(図33、図41参照)を備える。前記制御回路は、前記レジスタの保持する値が、複数の前記第2の機能モジュール又は複数の前記プロセスにおいて前記第1の機能モジュールが使用されていないことを示す場合には、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止する(図35、図37、図43、図45参照)。前記制御回路は、前記レジスタの保持する値が、少なくとも一つの前記第2の機能モジュール又は前記プロセスにおいて前記第1の機能モジュールが使用されていることを示す場合には、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を開始する(図34、図36、図42、図44参照)。上記より、複数の第2の機能モジュール又はプロセスが1つの第1の機能モジュールを制御する場合であっても、第1の機能モジュールが使用されていないときには、第1の機能モジュールへの電力供給やクロック供給を停止できる。従って、第1の機能モジュールへの電力供給やクロック供給は、必要最小限の期間だけ行われることになり、消費電力を低減できる。 As a specific form of the present invention, the control circuit is configured to provide a value indicating whether or not a plurality of the second functional modules use the first functional module, or the second functional module. A register (see FIG. 33 and FIG. 41) that holds a value indicating whether or not a plurality of processes executed by using the first functional module is used. When the value held in the register indicates that the first function module is not used in a plurality of the second function modules or a plurality of the processes, the control circuit At least one of power supply and clock supply to the module is stopped (see FIGS. 35, 37, 43, and 45). When the value held in the register indicates that the first function module is used in at least one of the second function module or the process, the first function module At least one of power supply and clock supply is started (see FIGS. 34, 36, 42, and 44). As described above, even when a plurality of second functional modules or processes control one first functional module, when the first functional module is not used, power is supplied to the first functional module. And clock supply can be stopped. Therefore, power supply and clock supply to the first functional module are performed only for a minimum necessary period, and power consumption can be reduced.
〔2〕本発明に係る半導体集積回路(11B)は、複数の機能モジュール(107A,107B)と、マスタモジュール(101)と、前記複数の機能モジュールと前記マスタモジュール間のアクセスを中継すると共に、前記複数の機能モジュールへの電力供給とクロック供給の少なくとも一方を制御する制御回路(104C)と、を備える。前記制御回路は、前記複数の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止しているとき、前記マスタモジュールによる前記複数の機能モジュールに対するアクセスを可能にするための制御を行う。 [2] The semiconductor integrated circuit (11B) according to the present invention relays access between the plurality of functional modules (107A, 107B), the master module (101), the plurality of functional modules and the master module, A control circuit (104C) that controls at least one of power supply and clock supply to the plurality of functional modules. The control circuit performs control for enabling access to the plurality of function modules by the master module when at least one of power supply and clock supply to the plurality of function modules is stopped.
上記より、複数の機能モジュールが停止していても、マスタモジュールは、複数の機能モジュールにアクセスすることが保証されるから、必要な動作を阻害することなく、動作時の消費電力だけでなく非動作時のリーク電力も低減できる。 From the above, even if a plurality of function modules are stopped, the master module is guaranteed to access the plurality of function modules. Leakage power during operation can also be reduced.
本発明の具体的な一つの形態として、前記制御回路は、初期化を指示するリセット信号と、初期化時での前記複数の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始又は停止を指定する一組のモード信号とを取込む。前記制御回路は、前記リセット信号がアサートされているときの前記モード信号の値(図55参照)に基づいて、前記複数の機能モジュールへの電力供給とクロック供給の少なくとも一方を制御する。上記より、例えばリセット信号入力端子と一組のモード信号入力端子を制御回路に設けるだけで、初期化時における複数の機能モジュールの電力供給状態及びクロック供給状態を決定できるから、低コスト化を図ることができる。 As one specific form of the present invention, the control circuit starts or stops at least one of a reset signal instructing initialization and power supply and clock supply to the plurality of functional modules at the time of initialization. Captures a set of mode signals that you specify. The control circuit controls at least one of power supply and clock supply to the plurality of functional modules based on the value of the mode signal (see FIG. 55) when the reset signal is asserted. As described above, for example, the power supply state and the clock supply state of a plurality of functional modules at the time of initialization can be determined simply by providing a reset signal input terminal and a pair of mode signal input terminals in the control circuit. be able to.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
即ち、必要な動作を阻害することなく、動作時の消費電力だけでなく非動作時のリーク電力も比較的簡単に低減できる。 In other words, not only the power consumption during operation but also the leakage power during non-operation can be relatively easily reduced without hindering necessary operations.
《実施形態1》
図1には本発明の実施形態1に係る半導体集積回路が例示される。半導体集積回路11は、特に制限されないが、単結晶シリコン等の1個の半導体基板に、相補型MOSトランジスタやバイポーラトランジスタ等を形成する半導体集積回路技術によって形成されている。
FIG. 1 illustrates a semiconductor integrated circuit according to
半導体集積回路11は、CPU(中央処理装置)101と、メモリ制御部102と、ルータ103と、電力・クロック制御ブリッジ104と、電力供給部105と、クロック供給部106と、IP(Intellectual Property)モジュールと称される機能モジュール(以下、IPと記す)107とを備えている。さらに、半導体集積回路11は、DMAC(Direct Memory Access Controller)108と、割込みコントローラ109等の各機能モジュールを備えている。また、半導体集積回路11には、メモリ12と、モード信号生成部13と、リセット信号生成部14と、電源15と、クロック信号生成部16等が接続される。
The semiconductor integrated
CPU101は、ルータ103及びメモリ制御部102を介してメモリ12にアクセスし、メモリ12に保持されているプログラムを実行することによって、半導体集積回路11内外の制御を行う。半導体集積回路11内部のアクセスは、スプリット方式で行われており、アクセスを要求する機能モジュールがアクセス要求信号を送信し、アクセス要求信号を受信した機能モジュールが、アクセスを要求した機能モジュールにアクセス応答信号を送信することにより、データ転送が可能となる。
The
メモリ制御部102は、ルータ103を介してCPU101、電力・クロック制御ブリッジ104、IP107及びDMAC108からのアクセス要求信号を受信し、このアクセス要求信号に基づいて、メモリ12に読出し処理又は書込み処理を行う。また、メモリ制御部102は、このアクセス要求信号に応じたアクセス応答信号を生成し、このアクセス応答信号をルータ103を介してCPU101、電力・クロック制御ブリッジ104、IP107及びDMAC108に送信する。ルータ103は、中継回路であって、CPU101、メモリ制御部102、電力・クロック制御ブリッジ104及びDMAC108が送受信するアクセス要求信号及びアクセス応答信号を中継する。
The
電力・クロック制御ブリッジ104は、IP107とルータ103の間のアクセス要求信号及びアクセス応答信号の中継を行うブリッジ回路であると共に、IP107への電力供給とクロック供給を制御する制御回路でもある。電力供給部105は、電源15から電力供給を受け、さらに、電力・クロック制御ブリッジ104からの指令に基づいて、IP107への電力供給を開始する。また、電力供給部105は、電力・クロック制御ブリッジ104からの指令とは無関係に、IP107以外の半導体集積回路11に含まれる図示を省略する各機能モジュールに電力を供給する機能も有する。
The power /
次に、電力・クロック制御ブリッジ104と電力供給部105の間で信号線を介して行われる通信について説明する。尚、本明細書中では、説明の便宜上、信号を活性状態に遷移させることを“アサート”、信号が活性状態であることを“アサート状態”といい、さらに、信号を不活性状態に遷移させることを“ディアサート”、信号が不活性状態であることを“ディアサート状態”という。例えば、機能モジュールAが機能モジュールBに電力供給を要求する信号(以下、電力供給要求信号とも記す)がアサート状態であれば、機能モジュールBは、機能モジュールAが電力供給を要求していると認識し、一方、ディアサート状態であれば、機能モジュールAが電力供給を要求していないと認識する。機能モジュールAは、電力供給を開始するときに電力供給要求信号をアサートし、電力供給を停止するときに電力供給要求信号をディアサートする。
Next, communication performed between the power /
電力・クロック制御ブリッジ104は、IP107への電力供給を行うときには電力供給部105に対する電力供給要求信号をアサート状態に保持し、IP107への電力供給を停止するときには電力供給要求信号をディアサート状態に保持する。
The power /
電力供給部105は、電力供給要求信号がアサート状態になったことを検知すると、IP107への電力供給を開始し、IP107に安定した電力が供給されるようになると、電力・クロック制御ブリッジ104に対する電力供給応答信号をアサートする。一方、電力供給部105は、電力供給要求信号がディアサート状態になったことを検知すると、IP107への電力供給を停止し、電力・クロック制御ブリッジ104に対する電力供給応答信号をディアサートする。
When the
クロック供給部106は、クロック信号の供給を受け、さらに、電力・クロック制御ブリッジ104からの指令に基づいて、IP107へのクロック供給を開始する。また、クロック供給部106は、電力・クロック制御ブリッジ104からの指令とは無関係に、IP107以外の半導体集積回路11に含まれる各機能モジュールにクロックを供給する機能も有する。
The
次に、電力・クロック制御ブリッジ104とクロック供給部106の間で行われる通信について説明する。電力・クロック制御ブリッジ104は、IP107へのクロック供給を行うときにはクロック供給部106に対するクロック供給要求信号をアサート状態に保持し、IP107へのクロック供給を停止するときにはクロック供給要求信号をディアサート状態に保持する。
Next, communication performed between the power /
クロック供給部106は、クロック供給要求信号がアサート状態になったことを検知すると、IP107へのクロック供給を開始し、IP107に安定したクロックが供給されるようになると、電力・クロック制御ブリッジ104に対するクロック供給応答信号をアサートする。一方、クロック供給部106は、クロック供給要求信号がディアサート状態になったことを検知すると、IP107へのクロック供給を停止し、電力・クロック制御ブリッジ104に対するクロック供給応答信号をディアサートする。
When the
IP107は、論理回路であって、電力供給及びクロック供給が開始されることにより動作する。IP107は、電力・クロック制御ブリッジ104からアクセス要求信号を受信して、このアクセス要求信号に応じた処理を実行し、電力・クロック制御ブリッジ104を介してCPU101やDMAC108にアクセス要求信号に応じたアクセス応答信号を送信する。また、IP107は、自らがアクセス要求信号元となり、電力・クロック制御ブリッジ104にアクセス要求信号を送信することによって、メモリ12等にアクセスする。さらに、IP107は、IP107内部の状態を信号線によって電力・クロック制御ブリッジ104に通知する機能を有する。
The
DMAC108は、電力・クロック制御ブリッジ104からDMA転送開始信号を取込み、この信号の変化を契機としてメモリ12から読込んだデータをIP107に送信するDMA転送を行う。割込みコントローラ109は、電力・クロック制御ブリッジ104からの割込み信号をCPU101に中継する。
The
次に、半導体集積回路11の外部に接続された各種デバイスについて説明する。メモリ12は、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリである。モード信号生成部13は、モード信号を生成して電力・クロック制御ブリッジ104に供給する回路である。モード信号は、初期化完了時点におけるIP107の電力供給状態及びクロック供給状態を指定する信号である。リセット信号生成部14は、リセット信号を生成して電力・クロック制御ブリッジ104に供給する回路である。リセット信号は、半導体集積回路11内部の初期化を指令する信号である。リセット信号生成部14は、半導体集積回路11の使用を開始するときにリセット信号を一定期間アサートする。電源15は、電力供給部105に電力を供給する装置であって、この電力は電源線やグランド線等を含む電力線によって供給される。クロック信号生成部16は、水晶振動子等を用いた発振回路を含み、クロック信号を生成してクロック供給部106に供給する回路である。
Next, various devices connected to the outside of the semiconductor integrated
次に、半導体集積回路11の初期化時におけるIP107の電力供給状態及びクロック供給状態の決定について説明する。半導体集積回路11の使用開始時には、リセット信号生成部14によってリセット信号が一定期間アサートされる。リセット信号による初期化時にIP107への電力供給やクロック供給が開始されるか否かは、モード信号の値に基づいて、電力・クロック制御ブリッジ104が決定する。電力・クロック制御ブリッジ104は、リセット信号がアサートされているときには、モード信号の値に基づいて電力供給要求信号とクロック供給要求信号の状態を決定する。
Next, determination of the power supply state and clock supply state of the
図2には、リセット信号がアサート時でのモード信号、電力供給要求信号及びクロック供給要求信号の関係が例示される。リセット信号アサート時にモード信号が“00”であれば、電力・クロック制御ブリッジ104は、電力供給要求信号とクロック供給信号を両方ともディアサート状態とする。これにより、IP107への電力供給及びクロック供給が停止される。モード信号が“01”であれば、電力・クロック制御ブリッジ104は、電力供給要求信号をアサート状態に、クロック供給要求信号をディアサート状態とする。これにより、IP107への電力供給が開始され、クロック供給が停止される。モード信号が“10”であれば、電力・クロック制御ブリッジ104は、電力供給要求信号をディアサート状態に、クロック供給要求信号をアサート状態とする。これにより、IP107への電力供給が停止され、クロック供給が開始される。モード信号が“11”であれば、電力・クロック制御ブリッジ104は、電力供給要求信号とクロック供給要求信号を両方ともアサート状態とする。これにより、IP107への電力供給及びクロック供給が開始される。一方、リセット信号のディアサート時には、電力・クロック制御ブリッジ104はモード信号を無視して、後述するIP107が出力する状態信号に基づいて電力供給要求信号及びクロック供給要求信号の状態を決定する(図20〜図23参照)。
FIG. 2 illustrates the relationship among the mode signal, the power supply request signal, and the clock supply request signal when the reset signal is asserted. If the mode signal is “00” when the reset signal is asserted, the power /
従って、半導体集積回路11に図示を省略するリセット信号入力端子及びモード信号入力端子を設けることによって、初期化時におけるIP107の電力供給状態及びクロック供給状態を決定できる。
Accordingly, by providing the semiconductor integrated
次に、初期化完了後のIP107への電力供給とクロック供給の制御について説明する。初期化完了後のIP107への電力供給とクロック供給の制御は、ルータ103からIP107へのアクセス要求信号を、電力・クロック制御ブリッジ104が監視した結果に基づいて行われる。
Next, control of power supply and clock supply to the
図3には、電力・クロック制御ブリッジ104の構成が例示される。電力・クロック制御ブリッジ104は、バスインタフェース301(以下、バスIF301と記す)と、電力供給要求信号生成部302と、クロック供給要求信号生成部303と、代理応答生成部304と、供給制御部305とを備えている。バスIF301は、ルータ103、IP107、代理応答生成部304及び供給制御部305の間でアクセスを中継する中継回路である。
FIG. 3 illustrates the configuration of the power /
図4には、バスIF301が中継するアクセスの流れが例示される。バスIF301が中継するアクセスは、図示のように、ターゲットアクセスとイニシエータアクセスに大別できる。ターゲットアクセスは、ルータ103からアクセス要求信号が送信され、このアクセス要求信号に応じたアクセス応答がルータ103に返される一連のアクセスである。イニシエータアクセスは、IP107からアクセス要求信号が送信され、このアクセス要求信号に応じたアクセス応答がIP107に返される一連のアクセスである。
FIG. 4 illustrates an access flow relayed by the bus IF 301. The access relayed by the bus IF 301 can be broadly divided into target access and initiator access as shown in the figure. The target access is a series of accesses in which an access request signal is transmitted from the
まず、ターゲットアクセスの処理について説明する。ルータ103からアクセス要求信号を受信したバスIF301は、このアクセス要求信号に含まれるアドレスに基づいて、アクセス要求信号の転送先を判断し、アクセス要求信号をIP107、供給制御部305のいずれかに送信する。転送先がIP107と判断されたアクセス要求信号は、代理応答生成部304にも送信される。そして、バスIF301は、アクセス要求信号に応じたアクセス応答信号をIP107、供給制御部305及び代理応答生成部304のいずれかから受信し、このアクセス応答信号をルータ103に送信する。また、バスIF301は、後述する代理応答生成部304からのリトライ信号に基づいて、IP107にアクセス要求信号を再送信する機能を有する。再送信されたアクセス要求信号は、代理応答生成部304には送信されず、IP107にのみ送信される。
First, target access processing will be described. The bus IF 301 that has received the access request signal from the
次に、イニシエータアクセスの処理について説明する。バスIF301は、IP107から受信したアクセス要求信号をルータ103に送信し、ルータ103から供給されるアクセス要求信号に応じたアクセス応答信号をIP107に送信する。
Next, initiator access processing will be described. The bus IF 301 transmits the access request signal received from the
次に、供給制御部305について説明する。供給制御部305は、ルータ103からIP107へのアクセス要求信号の特徴を検出し、この検出結果に基づいて、バスIF301、電力供給要求信号生成部302、クロック供給信号生成部303及び代理応答生成部304に制御信号を出力する。アクセス要求信号には、アドレス、ライトデータ、アクセス属性等が含まれる。アクセス属性は、アクセスがリード(リードアクセスとも記す)であるかライト(ライトアクセスとも記す)であるかを示す情報である。供給制御部305は、ルータ103からIP107へのアクセス要求信号の特徴を保持するレジスタ群を有する。このレジスタ群には、ルータ103を介してCPU101等から値を書込んだり、読出したりできる。また、供給制御部305は、バスIF301からIP107へのアクセス要求信号を取込む。
Next, the
供給制御部305は、図5に示すように各レジスタを有する。まず、電力供給開始の契機となるアクセス要求信号の特徴を保存するためのレジスタについて説明する。電力供給開始アドレスレジスタ(PSSAR)は、電力供給開始信号をアサートする契機となるアドレスを設定するためのレジスタである。電力供給開始アドレスイネーブルレジスタ(PSSAER)は、電力供給開始アドレスレジスタの値を参照するか否かを設定するためのレジスタである。電力供給開始ライトデータレジスタ(PSSWDR)は、電力供給開始信号をアサートする契機となるライトデータを設定するためのレジスタである。電力供給開始ライトデータイネーブルレジスタ(PSSWDER)は、電力供給開始ライトデータレジスタの値を参照するか否かを設定するためのレジスタである。電力供給開始アクセス属性レジスタ(PSSAAR)は、電力供給開始信号をアサートする契機となるアクセス属性を設定するためのレジスタである。電力供給開始アクセス属性イネーブルレジスタ(PSSAAER)は、電力供給開始アクセス属性レジスタの値を参照するか否かを設定するためのレジスタである。そして、電力供給開始イネーブルレジスタ(PSSER)は、電力供給開始信号をアサートするか否かを設定するためのレジスタである。
The
次に、電力供給停止の契機となるアクセス要求信号の特徴を保存するためのレジスタについて説明する。電力供給停止アドレスレジスタ(PSIAR)は、電力供給停止信号をアサートする契機となるアドレスを設定するためのレジスタである。電力供給停止アドレスイネーブルレジスタ(PSIAER)は、電力供給停止アドレスレジスタの値を参照するか否かを設定するためのレジスタである。電力供給停止ライトデータレジスタ(PSIWDR)は、電力供給停止信号をアサートする契機となるライトデータを設定するためのレジスタである。電力供給停止ライトデータイネーブルレジスタ(PSIWDER)は、電力供給停止ライトデータレジスタの値を参照するか否かを設定するためのレジスタである。電力供給停止アクセス属性レジスタ(PSIAAR)は、電力供給停止信号をアサートする契機となるアクセス属性を設定するためのレジスタである。電力供給停止アクセス属性イネーブルレジスタ(PSIAAER)は、電力供給停止アクセス属性レジスタの値を参照するか否かを設定するためのレジスタである。電力供給停止リードデータレジスタ(PSIRDR)は、電力供給停止信号をアサートする契機となるリードデータを設定するためのレジスタである。電力供給停止リードデータイネーブルレジスタ(PSIRDER)は、電力供給停止リードデータレジスタの値を参照するか否かを設定するためのレジスタである。そして、電力供給停止イネーブルレジスタ(PSIER)は、電力供給停止信号をアサートするか否かを設定するためのレジスタである。 Next, a register for storing the characteristics of the access request signal that triggers the power supply stop will be described. The power supply stop address register (PSIAR) is a register for setting an address that triggers the assertion of the power supply stop signal. The power supply stop address enable register (PSIAER) is a register for setting whether or not to refer to the value of the power supply stop address register. The power supply stop write data register (PSIWDR) is a register for setting write data that triggers the assertion of the power supply stop signal. The power supply stop write data enable register (PSIWDER) is a register for setting whether or not to refer to the value of the power supply stop write data register. The power supply stop access attribute register (PSIAAR) is a register for setting an access attribute that triggers the assertion of the power supply stop signal. The power supply stop access attribute enable register (PSIAAER) is a register for setting whether or not to refer to the value of the power supply stop access attribute register. The power supply stop read data register (PSIRDR) is a register for setting read data that triggers the assertion of the power supply stop signal. The power supply stop read data enable register (PSIRDER) is a register for setting whether or not to refer to the value of the power supply stop read data register. The power supply stop enable register (PSIER) is a register for setting whether or not to assert a power supply stop signal.
次に、クロック供給開始の契機となるアクセス要求信号の特徴を保存するためのレジスタについて説明する。クロック供給開始アドレスレジスタ(CSSAR)は、クロック供給開始信号をアサートする契機となるアドレスを設定するためのレジスタである。クロック供給開始アドレスイネーブルレジスタ(CSSAER)は、クロック供給開始アドレスレジスタの値を参照するか否かを設定するためのレジスタである。クロック供給開始ライトデータレジスタ(CSSWDR)は、クロック供給開始信号をアサートする契機となるライトデータを設定するためのレジスタである。クロック供給開始ライトデータイネーブルレジスタ(CSSWDER)は、クロック供給開始ライトデータレジスタの値を参照するか否かを設定するためのレジスタである。クロック供給開始アクセス属性レジスタ(CSSAAR)は、クロック供給開始信号をアサートする契機となるアクセス属性を設定するためのレジスタである。クロック供給開始アクセス属性イネーブルレジスタ(CSSAAER)は、クロック供給開始アクセス属性レジスタの値を参照するか否かを設定するためのレジスタである。そして、クロック供給開始イネーブルレジスタ(CSSER)は、クロック供給開始信号をアサートするか否かを設定するためのレジスタである。 Next, a register for storing the characteristics of an access request signal that triggers the start of clock supply will be described. The clock supply start address register (CSSAR) is a register for setting an address that triggers the assertion of the clock supply start signal. The clock supply start address enable register (CSSAER) is a register for setting whether or not to refer to the value of the clock supply start address register. The clock supply start write data register (CSSWDR) is a register for setting write data that triggers the assertion of the clock supply start signal. The clock supply start write data enable register (CSSWDER) is a register for setting whether or not to refer to the value of the clock supply start write data register. The clock supply start access attribute register (CSAAR) is a register for setting an access attribute that triggers the assertion of the clock supply start signal. The clock supply start access attribute enable register (CSAAAER) is a register for setting whether or not to refer to the value of the clock supply start access attribute register. The clock supply start enable register (CSSER) is a register for setting whether to assert a clock supply start signal.
次に、クロック供給停止の契機となるアクセス要求信号の特徴を保存するためのレジスタについて説明する。クロック供給停止アドレスレジスタ(CSIAR)は、クロック供給停止信号をアサートする契機となるアドレスを設定するためのレジスタである。クロック供給停止アドレスイネーブルレジスタ(CSIAER)は、クロック供給停止アドレスレジスタの値を参照するか否かを設定するためのレジスタである。クロック供給停止ライトデータレジスタ(CSIWDR)は、クロック供給停止信号をアサートする契機となるライトデータを設定するためのレジスタである。クロック供給停止ライトデータイネーブルレジスタ(CSIWDER)は、クロック供給停止ライトデータレジスタの値を参照するか否かを設定するためのレジスタである。クロック供給停止アクセス属性レジスタ(CSIAAR)は、クロック供給停止信号をアサートする契機となるアクセス属性を設定するためのレジスタである。クロック供給停止アクセス属性イネーブルレジスタ(CSIAAER)は、クロック供給停止アクセス属性レジスタの値を参照するか否かを設定するためのレジスタである。クロック供給停止リードデータレジスタ(CSIRDR)は、クロック供給停止信号をアサートする契機となるリードデータを設定するためのレジスタである。クロック供給停止リードデータイネーブルレジスタ(CSIRDER)は、クロック供給停止リードデータレジスタの値を参照するか否かを設定するためのレジスタである。そして、クロック供給停止イネーブルレジスタ(CSIER)は、クロック供給停止信号をアサートするか否かを設定するためのレジスタである。 Next, a register for storing the characteristics of the access request signal that triggers the stop of clock supply will be described. The clock supply stop address register (CSIAR) is a register for setting an address that triggers the assertion of the clock supply stop signal. The clock supply stop address enable register (CSIAER) is a register for setting whether or not to refer to the value of the clock supply stop address register. The clock supply stop write data register (CSIWDR) is a register for setting write data that triggers the assertion of the clock supply stop signal. The clock supply stop write data enable register (CSIWDER) is a register for setting whether or not to refer to the value of the clock supply stop write data register. The clock supply stop access attribute register (CSIAAR) is a register for setting an access attribute that triggers the assertion of the clock supply stop signal. The clock supply stop access attribute enable register (CSIAAER) is a register for setting whether or not to refer to the value of the clock supply stop access attribute register. The clock supply stop read data register (CSIRDR) is a register for setting read data that triggers the assertion of the clock supply stop signal. The clock supply stop read data enable register (CSIRDER) is a register for setting whether or not to refer to the value of the clock supply stop read data register. The clock supply stop enable register (CSIER) is a register for setting whether to assert a clock supply stop signal.
次に、供給制御部305による電力供給開始信号、電力供給停止信号、クロック供給開始信号、クロック供給停止信号の生成処理について説明する。まず、電力供給開始信号のアサートについて説明する。図6には電力供給開始信号生成回路が例示される。電力供給開始信号は、電力供給開始イネーブルレジスタが電力供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、以下の3条件が全て成立するときにアサートされる。
Next, generation processing of a power supply start signal, a power supply stop signal, a clock supply start signal, and a clock supply stop signal by the
第1の条件は、電力供給開始アドレスイネーブルレジスタの値が、電力供給開始アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給開始アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、電力供給開始ライトデータイネーブルレジスタの値が、電力供給開始ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給開始ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。第3の条件は、電力供給開始アクセス属性イネーブルレジスタの値が、電力供給開始アクセス属性レジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給開始アクセス属性レジスタの設定値とバスIF301から供給されるアクセス要求信号のアクセス属性が一致することである。
The first condition is that the value of the power supply start address enable register is a value “0” indicating that the set value of the power supply start address register is not referred to, or the set value of the power supply start address register and the bus That is, the addresses included in the access request signal supplied from the
次に、電力供給停止信号のアサートについて説明する。図7には、電力供給停止信号生成回路が例示される。電力供給停止信号は、電力供給停止イネーブルレジスタが電力供給停止信号をアサートすることを示す値‘1’に設定されていて、さらに、以下の4条件が全て成立するときにアサートされる。 Next, the assertion of the power supply stop signal will be described. FIG. 7 illustrates a power supply stop signal generation circuit. The power supply stop signal is set to a value “1” indicating that the power supply stop enable register asserts the power supply stop signal, and is asserted when all of the following four conditions are satisfied.
第1の条件は、電力供給停止アドレスイネーブルレジスタの値が、電力供給停止アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給停止アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、電力供給停止ライトデータイネーブルレジスタの値が、電力供給停止ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給停止ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。第3の条件は、電力供給停止リードデータイネーブルレジスタの値が、電力供給停止リードデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給停止リードデータレジスタの設定値とIP107から供給されるアクセス応答信号に含まれるリードデータが一致することである。第4の条件は、電力供給停止アクセス属性イネーブルレジスタの値が、電力供給停止アクセス属性レジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給停止アクセス属性レジスタの設定値とバスIF301から供給されるアクセス要求信号のアクセス属性が一致することである。
The first condition is that the value of the power supply stop address enable register is a value “0” indicating that the set value of the power supply stop address register is not referred to, or the set value of the power supply stop address register and the bus That is, the addresses included in the access request signal supplied from the
次に、クロック供給開始信号のアサートについて説明する。図8にはクロック供給開始信号生成回路が例示される。クロック供給開始信号は、クロック供給開始イネーブルレジスタがクロック供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、以下の3条件が全て成立するときにアサートされる。 Next, the assertion of the clock supply start signal will be described. FIG. 8 illustrates a clock supply start signal generation circuit. The clock supply start signal is set to a value “1” indicating that the clock supply start enable register asserts the clock supply start signal, and is asserted when all of the following three conditions are satisfied.
第1の条件は、クロック供給開始アドレスイネーブルレジスタの値が、クロック供給開始アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給開始アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、クロック供給開始ライトデータイネーブルレジスタの値が、クロック供給開始ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給開始ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。第3の条件は、クロック供給開始アクセス属性イネーブルレジスタの値が、クロック供給開始アクセス属性レジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給開始アクセス属性レジスタの設定値とバスIF301から供給されるアクセス要求信号のアクセス属性が一致することである。
The first condition is that the value of the clock supply start address enable register is a value “0” indicating that the set value of the clock supply start address register is not referred to, or the set value of the clock supply start address register and the bus That is, the addresses included in the access request signal supplied from the
次に、クロック供給停止信号のアサートについて説明する。図9には、クロック供給停止信号生成回路が例示される。クロック供給停止信号は、クロック供給停止イネーブルレジスタがクロック供給停止信号をアサートすることを示す値‘1’に設定されていて、以下の4条件が全て成立するときにアサートされる。 Next, the assertion of the clock supply stop signal will be described. FIG. 9 illustrates a clock supply stop signal generation circuit. The clock supply stop signal is set to a value “1” indicating that the clock supply stop enable register asserts the clock supply stop signal, and is asserted when all of the following four conditions are satisfied.
第1の条件は、クロック供給停止アドレスイネーブルレジスタの値が、クロック供給停止アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給停止アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、クロック供給停止ライトデータイネーブルレジスタの値が、クロック供給停止ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給停止ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。第3の条件は、クロック供給停止リードデータイネーブルレジスタの値が、クロック供給停止リードデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給停止リードデータレジスタの設定値とIP107から供給されるアクセス応答信号に含まれるリードデータが一致することである。第4の条件は、クロック供給停止アクセス属性イネーブルレジスタの値が、クロック供給停止アクセス属性レジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給停止アクセス属性レジスタの設定値とバスIF301から供給されるアクセス要求信号のアクセス属性が一致することである。
The first condition is that the value of the clock supply stop address enable register is a value “0” indicating that the set value of the clock supply stop address register is not referred to, or the set value of the clock supply stop address register and the bus That is, the addresses included in the access request signal supplied from the
次に、電力供給要求信号生成部302について説明する。図10には、電力供給要求信号生成部302の状態遷移が例示される。尚、電力供給要求信号生成部302の状態を電力状態という。電力供給要求信号生成部302は、リセット信号によって初期化される。電力供給要求信号生成部302は、リセット信号がアサートされたときに、モード信号の値が“00”又は“10”であれば、電力状態は“電力供給OFF”となり、モード信号の値が“11”又は“01”であれば、電力状態は“電力供給ON”となる。また、電力供給要求信号生成部302は、リセット信号がディアサート状態であって、電力状態が“電力供給OFF”であるときに電力供給開始信号がアサートされると、電力状態は“電力供給ON”に遷移し、電力状態が“電力供給ON”であるときに電力供給停止信号がアサートされると、電力状態は“電力供給OFF”に遷移する。電力供給要求信号生成部302は、電力状態に応じて電力供給要求信号の出力値を決定し、例えば図11に示すように、電力状態が“電力供給ON”であれば電力供給要求信号をアサート状態に保持し、電力状態が“電力供給OFF”であれば電力供給要求信号をディアサート状態に保持する。
Next, the power supply request
次に、クロック供給要求信号生成部303について説明する。図12には、クロック供給要求信号生成部303の状態遷移が例示される。尚、クロック供給要求信号生成部303の状態をクロック状態という。クロック供給要求信号生成部303は、リセット信号によって初期化される。クロック供給要求信号生成部303は、リセット信号がアサートされたとき、モード信号の値が“00”又は“01”であれば、クロック状態は“クロック供給OFF”となり、モード信号の値が“11”又は“10”であれば、クロック状態は“クロック供給ON”となる。また、クロック供給要求信号生成部303は、リセット信号がディアサート状態であって、クロック状態が“クロック供給OFF”であるときにクロック供給開始信号がアサートされると、クロック状態は“クロック供給ON”に遷移する。そして、クロック供給要求信号生成部303は、リセット信号がディアサート状態であって、クロック状態が“クロック供給ON”であるときにクロック供給停止信号がアサートされると、クロック状態は“クロック供給OFF”に遷移する。クロック供給要求信号生成部303は、クロック状態に応じてクロック供給要求信号の出力値を決定し、例えば図13に示すように、クロック状態が“クロック供給ON”であればクロック供給要求信号をアサート状態に保持し、クロック状態が“クロック供給OFF”であればクロック供給要求信号をディアサート状態に保持する。
Next, the clock supply request
次に、代理応答生成部304について説明する。IP107がバスIF301からのアクセス要求信号に応じてアクセス応答信号を送信するためには、IP107への電力供給及びクロック供給が開始されている必要がある。一方、アクセス要求信号を生成した機能モジュール、例えばCPU101は、アクセス要求信号に応じたアクセス応答信号を受信しなければ処理が完了せず、後続の処理を実行できないから、例えばハングアップ等の不具合を生じてしまう。そこで、代理応答生成部304は、IP107への電力供給及びクロック供給の制御によってハングアップが発生しないように、IP107に代わってアクセス応答信号(代理応答信号とも記す)をCPU101に送信する。
Next, the proxy
代理応答生成部304は、バスIF301からIP107へのアクセス要求信号を取込み、IP107へのアクセスを監視する。また、代理応答生成部304は、電力供給部105から電力供給応答信号を、クロック供給部106からクロック供給応答信号を、供給制御部305から電力供給開始信号及びクロック供給開始信号をそれぞれ取込み、図14に示す規則に従って代理応答信号を生成する。以下、各規則について説明する。
The proxy
代理応答生成部304は、IP107がアクセス応答信号を送信可能であるとき、即ち、IP107への電力供給及びクロック供給が開始されているときには、代理応答信号を生成しない。そして、代理応答生成部304は、IP107がアクセス応答信号を送信不能であるとき、即ち、IP107への電力供給とクロック供給のいずれか又は両方が停止されているときには、代理応答信号を生成する。
The proxy
また、代理応答生成部304は、IP107がアクセス応答信号不能状態からアクセス応答信号可能状態に遷移すると判断するときには、IP107がアクセス応答信号可能状態に遷移した後にリトライ信号をアサートして、バスIF301にアクセス応答信号可能状態に遷移したIP107に対してアクセスを再送信させる。
When the proxy
即ち、代理応答生成部304は、IP107への電力供給が停止され、クロック供給が開始されているときに、電力供給開始信号がアサートされたときには、電力供給応答信号がアサートされた後にリトライ信号をアサートする。また、代理応答生成部304は、IP107への電力供給が開始され、クロック供給が停止されているときに、クロック供給開始信号がアサートされたときには、クロック供給応答信号がアサートされた後にリトライ信号をアサートする。さらに、代理応答生成部304は、IP107への電力供給及びクロック供給が停止されているときに、電力供給開始信号とクロック供給開始信号が両方アサートされたときには、電力供給応答信号とクロック供給応答信号が両方ともアサートされた後にリトライ信号をアサートする。
That is, when the power supply start signal is asserted when the power supply to the
以下、電力・クロック制御ブリッジ104が、IP107への電力供給とクロック供給の少なくとも一方を制御するときの動作について説明する。ここでは、一例として、IP107が半導体集積回路11に接続された表示デバイスに対して表示データを出力する表示コントローラである場合について説明する。
The operation when the power /
図15には、IP107の制御レジスタ一覧が例示されている。IP107の制御レジスタには、画像アドレスレジスタ(IAR)と、画像水平サイズレジスタ(IHSR)と、画像垂直サイズレジスタ(IPSR)と、表示制御レジスタ(ICR)と、表示状態レジスタ(ISR)とがある。IP107によって表示処理を行うときには、まず、メモリ12に被表示データを格納しておく。そして、画像アドレスレジスタには被表示データが格納されたアドレスを設定する。また、画像水平サイズレジスタには被表示画像の水平方向のサイズを設定する。さらに、画像垂直サイズレジスタには被表示画像の垂直方向のサイズを設定する。その上で、表示制御レジスタに‘1’を設定する。表示制御レジスタに‘1’を設定されたIP107は、電力・クロック制御ブリッジ104、ルータ103及びメモリ制御部102を介してメモリ12から被表示データを読込む。そして、IP107は、読込まれたデータを画像水平サイズレジスタ及び画像垂直サイズレジスタによって指定されたフォーマットで、半導体集積回路11の外部に出力する。IP107は一画面分の処理が完了次第、自動的に次の画面の表示処理に移行する。また、IP107は、表示処理を行っているときには表示状態レジスタを‘1’に設定する。IP107による表示処理を停止するためには、表示制御レジスタに‘0’を書込む。表示制御レジスタに‘0’を書込まれたIP107は、1画面分の表示を完了させた後に表示処理を停止し、表示状態レジスタの値を‘0’に更新する。
FIG. 15 illustrates a list of control registers of the
図16には、画像表示処理を行うときのIP107に対するレジスタアクセスの手順が例示されている。ここでは、CPU101がソフトウェアを実行することによって、IP107に対するレジスタアクセスを行う。
FIG. 16 illustrates a procedure for register access to the
まず、表示制御レジスタに‘1’を設定する前に、画像アドレスレジスタ、画像水平サイズレジスタ及び画像垂直サイズレジスタの設定を行う(S1)。ステップS1では、これらの3つのレジスタの設定順はIP107の動作に影響を与えないので、設定順は任意とする。次に、表示制御レジスタに‘1’を設定する(S2)。ステップS2において、IP107は表示処理を開始し、表示状態レジスタの値を‘1’に更新する。このステップS2の状態では、IP107は、表示処理を実行し続けることになる。
First, before setting "1" in the display control register, the image address register, the image horizontal size register, and the image vertical size register are set (S1). In step S1, since the setting order of these three registers does not affect the operation of the
次に、表示処理を終了させるためには、表示制御レジスタに‘0’を設定する(S3)。ステップS3では、IP107は、現在処理中の画面の表示処理が完了するまで表示処理を継続し、この現在の画面の表示処理が完了したら表示処理を停止し、表示状態レジスタの値を‘0’に更新する。次に、IP107が表示処理を終了したか否かを確認するために表示状態レジスタ値を読込み(S4)、読込んだ値が‘0’であるか否かが判定され(S5)、‘0’が読込まれるまで繰り返し読込み処理が行われる。
Next, in order to end the display process, "0" is set in the display control register (S3). In step S3, the
ここで、上記したレジスタアクセスを行うソフトウェアに変更を加えずに、IP107への電力供給とクロック供給の少なくとも一方を制御するためには、ソフトウェアがCPU101によって実行される前に、供給制御部305の各レジスタ(図5参照)に、図17〜図19に示す値を設定すればよい。
Here, in order to control at least one of power supply and clock supply to the
図17には、IP107への電力供給の制御を行うための各レジスタの設定値が例示されている。ここでは、IP107への電力供給が停止され、クロック供給が開始されているとする(図14参照)。以下、図17に例示された各レジスタの設定値について具体的に説明する。電力供給開始アドレスイネーブルレジスタと電力供給開始ライトデータイネーブルレジスタには、それぞれ電力供給開始アドレスレジスタと電力供給開始ライトデータレジスタの設定値を参照しないことを示す値を設定する。そして、電力供給開始アクセス属性レジスタには、ライトアクセスを示す値を設定する。
FIG. 17 illustrates setting values of each register for controlling power supply to the
このため、供給制御部305は、IP107に対する全てのライトアクセスを契機として電力供給開始信号をアサートする。これにより、供給制御部305は、IP107を制御するソフトウェアが、図16に示したステップS1を実行したことを検出して、IP107への電力供給を開始することができる。また、代理応答生成部304は、電力供給開始信号のアサートと同時にリトライ信号をアサートし、IP107への電力供給が停止されていたときにIP107へ送信されたアクセス要求信号を、IP107への電力供給が開始された後にバスIF301から再送信させる。このため、IP107へのアクセス要求信号は、電力供給及びクロック供給が開始されて動作状態となったIP107へ送信されることになり、IP107への電力供給を停止しても、IP107にアクセス要求信号を確実に受信させることができる。さらに、代理応答生成部304は、ステップS1の最初のアクセス要求信号に応じて代理応答信号を送信するので、CPU101は、後続のアクセス要求信号を実行することができる。
For this reason, the
一般的に、電力供給を開始してからIP等の機能モジュールに安定した電力が供給されて、機能モジュールが動作可能になるためには、例えばCPUのクロック周期に比べて長い時間がかかる。このため、仮にアクセス応答信号の送信を機能モジュールが動作可能になった後に行うとすれば、アクセス要求信号を送信したCPUは、長時間のアクセス応答信号待ちで処理が滞ってしまい、処理性能が低下してしまう。これに対して、本実施形態では、代理応答生成部304がIP107への電力供給が安定するのを待つことなく、代理応答信号を送信するので、アクセス要求信号を送信したCPU101の処理性能は低下することがない。
In general, it takes a longer time than the clock cycle of a CPU, for example, in order for stable power to be supplied to a functional module such as IP after the power supply is started and the functional module becomes operable. For this reason, if the access response signal is transmitted after the functional module becomes operable, the CPU that has transmitted the access request signal will be delayed in waiting for an access response signal for a long time, and the processing performance will be reduced. It will decline. On the other hand, in this embodiment, the proxy
一方、IP107への電力供給を停止する場合には、電力供給停止アドレスレジスタ、電力供給停止リードデータレジスタ及び電力供給停止アクセス属性レジスタには、IP107の表示状態レジスタのアドレスを示す“FF001010”、‘0’、リードアクセスを示す値‘1’をそれぞれ設定する。そして、電力供給停止ライトデータイネーブルレジスタには、電力供給停止ライトデータレジスタの値を参照しない値‘0’を設定する。このため、供給制御部305は、“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出して、電力供給停止信号をアサートする。従って、供給制御部305は、IP107を制御するソフトウェアが、図16に示したステップS5の条件分岐が“Yes”となったときに電力供給を停止できる。
On the other hand, when the power supply to the
図18には、IP107へのクロック供給の制御を行うための各レジスタの設定値が例示されている。ここでは、IP107への電力供給が開始され、クロック供給が停止されているとする(図14参照)。供給制御部305は、各レジスタの値を図18に示すように設定することにより、IP107へのレジスタライトによってIP107へのクロック供給を開始できる。また、供給制御部305は、IP107の表示状態レジスタを示すアドレス“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出して、クロック供給停止信号をアサートする。従って、供給制御部305は、IP107が表示処理を行っていないときにクロック供給を停止できる。
FIG. 18 exemplifies setting values of each register for controlling clock supply to the
図19には、IP107への電力供給とクロック供給の制御を行うための各レジスタの設定値が例示されている。ここでは、IP107への電力供給及びクロック供給が開始されている場合と、電力供給及びクロック供給が停止されている場合とがある(図14参照)。供給制御部305は、各レジスタの値を図19に示すように設定することにより、IP107へのレジスタライトによってIP107への電力供給及びクロック供給を開始できる。また、供給制御部305は、IP107の表示状態レジスタを示すアドレス“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出して、電力供給停止信号及びクロック供給停止信号をアサートする。従って、供給制御部305は、IP107が表示処理を行っていないときに電力供給及びクロック供給を停止できる。
FIG. 19 illustrates setting values of each register for controlling power supply to the
次に、供給制御部305によるアクセス要求信号の監視結果ではなく、IP107が出力する状態信号に基づいて、電力供給及びクロック供給を制御する方法について説明する。
Next, a method for controlling the power supply and the clock supply based on the status signal output from the
この方法を実行する場合には、供給制御部305は、図20に示す各レジスタを有する。状態信号アサート時電力供給開始信号設定レジスタ(SAPSSSR)には、状態信号がアサートしたときの電力供給開始信号の出力値が設定される。状態信号アサート時電力供給停止信号設定レジスタ(SAPSISR)には、状態信号がアサートしたときの電力供給停止信号の出力値が設定される。状態信号アサート時クロック供給開始設定レジスタ(SACSSSR)には、状態信号がアサートしたときのクロック供給開始信号の出力値が設定される。状態信号アサート時クロック供給停止信号設定レジスタ(SACSISR)には、状態信号がアサートしたときのクロック供給停止信号の出力値が設定される。状態信号ディアサート時電力供給開始信号設定レジスタ(SDPSSSR)には、状態信号がディアサートしたときの電力供給開始信号の出力値が設定される。状態信号ディアサート時電力供給停止信号設定レジスタ(SDPSISR)には、状態信号がディアサートしたときの電力供給停止信号の出力値が設定される。状態信号ディアサート時クロック供給開始設定レジスタ(SDCSSSR)には、状態信号がディアサートしたときのクロック供給開始信号の出力値が設定される。状態信号ディアサート時クロック供給停止信号設定レジスタ(SDCSISR)には、状態信号がディアサートしたときのクロック供給停止信号の出力値が設定される。
When this method is executed, the
図21には、IP107の状態信号に基づいて電力供給の開始及び停止を行うための各レジスタの設定値が例示されている。供給制御部305は、各レジスタの値を図21のように設定することにより、IP107から出力される状態信号がアサートされたときにIP107への電力供給を開始でき、状態信号がディアサートされたときにIP107への電力供給を停止できる。図22には、IP107の状態信号に基づいてクロック供給の開始及び停止を行うための各レジスタの設定値が例示されている。供給制御部305は、各レジスタの値を図22のように設定することにより、IP107から出力される状態信号がアサートされたときにIP107へのクロック供給を開始でき、状態信号がディアサートされたときにIP107へのクロック供給を停止できる。図23には、IP107の状態信号に基づいて電力供給及びクロック供給の停止を行うための各レジスタの設定値が例示されている。供給制御部305は、各レジスタの値を図23のように設定することにより、IP107から出力される状態信号がアサートされたときに、電力供給及びクロック供給を停止できる。ここで、電力供給及びクロック供給の開始については、図5に示した電力供給開始信号やクロック供給開始信号の契機とするアクセス要求信号の特徴を保存するためのレジスタを用いて行うようにしてもよい。これにより、電力供給及びクロック供給の停止のみを状態信号に基づいて行い、電力供給及びクロック供給の開始をアクセス要求信号の監視結果に基づいて行うことができる。さらに、IP107から出力される状態信号に限らず、適宜の割込み信号を用いて、この割込み信号の変化を検出することにより、IP107への電力供給及びクロック供給の制御を行うようにしてもよい。
FIG. 21 exemplifies setting values of each register for starting and stopping power supply based on the status signal of the
このように、アクセス要求信号の監視結果ではなく、状態信号や割込み信号に基づいて電力供給及びクロック供給の制御を行う利点は、ソフトウェアを介在させることなく、IP107を動作又は停止できる点にある。例えば、IP107のように、外部からのアクセスに応答するだけでなく自律的にメモリ12等にアクセスを行って動作する機能モジュールでは、IP107にアクセスするためのソフトウェアが不要となる。このため、IP107を動作させるために、CPU101等のIP制御用機能モジュールを動作させる必要がなく、半導体集積回路11全体の消費電力を低減でき、さらに、処理性能を向上させることができる。
As described above, the advantage of controlling the power supply and the clock supply based on the status signal and the interrupt signal rather than the monitoring result of the access request signal is that the
以上のように、電力供給及びクロック供給の制御は、IP107へのアクセス要求信号や電力・クロック制御ブリッジ104に供給される信号の変化を契機として行われるので、図16に示したソフトウェア制御には修正を加える必要がない。また、供給制御部305の各レジスタへの設定は、半導体集積回路11の初期化を完了した後であって、IP107へのアクセスを実行する前であれば、適宜行ってよく、さらに、IP107の表示処理を何回起動又は停止したとしても1回行うだけでよいから、ソフトウェア開発コストの増加を抑えることができる。
As described above, control of power supply and clock supply is performed in response to a change in an access request signal to the
また、電力・クロック制御ブリッジ104は、IP107への電力供給とクロック供給の少なくとも一方が停止され、IP107がアクセス応答信号を送信できないときには、IP107に代わって代理応答信号を送信するので、CPU101がハングアップ等の不具合を生じない。そして、電力・クロック制御ブリッジ104は、IP107とCPU101間のデータ転送を維持した状態で、IP107への電力供給とクロック供給の両方を停止することができるから、半導体集積回路11の内部のデータ転送を破綻させることなく、動作時の消費電力だけでなく非動作時のリーク電力も低減できる。さらにまた、IP107への電力供給とクロック供給の制御はIP107の外部で行われるので、IP107自体には電力供給とクロック供給の制御のために修正を加える必要がない。そのため、IP107が、修正が不可能又は困難な既存の開発品や外部からの導入品であっても、IP107への電力供給とクロック供給の制御を行う技術を半導体集積回路11に搭載可能である。
In addition, when at least one of power supply and clock supply to the
《実施形態2》
本発明の実施形態2に係る半導体集積回路は、上記した実施形態1に係る半導体集積回路11と比べると、代理応答生成部304と供給制御部305の機能等が異なる。以下、各実施形態2〜7では、上記した実施形態1と同一機能等を有する部分には同一符号を付し、機能等が異なる部分には符号の末尾にアルファベットを付して区別すると共に、説明が重複する部分については適宜省略した。実施形態2に係る供給制御部305Aは、供給制御部305と比べると、電力供給開始アクセス属性レジスタ、電力供給開始アクセス属性イネーブルレジスタ、クロック供給開始アクセス属性レジスタ及びクロック供給開始アクセス属性イネーブルレジスタが除かれている点が異なる。この理由は、実施形態2に係る電力・クロック制御ブリッジ104は、IP107への全てのリードアクセスに対して、実施形態2に係る代理応答生成部304Aが生成する代理応答信号ではなく、IP107が生成する正規のアクセス応答信号を送信するからである。
<<
The semiconductor integrated circuit according to the second embodiment of the present invention differs from the semiconductor integrated
以下、供給制御部305Aによる電力供給開始信号、クロック供給開始信号の生成処理について説明する。尚、電力供給停止信号、クロック供給停止信号の生成処理は実施形態1と同一である。まず、電力供給開始信号のアサートについて説明する。図24には、電力供給開始信号生成回路が例示される。電力供給開始信号は、電力供給開始イネーブルレジスタが電力供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、IP107へのアクセスがリードアクセスであるか、又は、以下の2条件が全て成立するときにアサートされる。
Hereinafter, generation processing of the power supply start signal and the clock supply start signal by the
第1の条件は、電力供給開始アドレスイネーブルレジスタの値が、電力供給開始アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給開始アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、電力供給開始ライトデータイネーブルレジスタの値が、電力供給開始ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、電力供給開始ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。
The first condition is that the value of the power supply start address enable register is a value “0” indicating that the set value of the power supply start address register is not referred to, or the set value of the power supply start address register and the bus That is, the addresses included in the access request signal supplied from the
次に、クロック供給開始信号のアサートについて説明する。図25には、クロック供給開始信号生成回路が例示される。クロック供給開始信号は、クロック供給開始イネーブルレジスタがクロック供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、IP107へのアクセスがリードアクセスであるか、又は、以下の2条件が全て成立するときにアサートされる。
Next, the assertion of the clock supply start signal will be described. FIG. 25 illustrates a clock supply start signal generation circuit. The clock supply start signal is set to a value '1' indicating that the clock supply start enable register asserts the clock supply start signal, and the access to the
第1の条件は、クロック供給開始アドレスイネーブルレジスタの値が、クロック供給開始アドレスレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給開始アドレスレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるアドレスが一致することである。第2の条件は、クロック供給開始ライトデータイネーブルレジスタの値が、クロック供給開始ライトデータレジスタの設定値を参照しないことを示す値‘0’であるか、又は、クロック供給開始ライトデータレジスタの設定値とバスIF301から供給されるアクセス要求信号に含まれるライトデータが一致することである。
The first condition is that the value of the clock supply start address enable register is a value “0” indicating that the set value of the clock supply start address register is not referred to, or the set value of the clock supply start address register and the bus That is, the addresses included in the access request signal supplied from the
また、代理応答生成部304Aは、バスIF301からアクセス属性信号を取込み、バスIF301がIP107へ送信しているアクセス要求信号がリードアクセスであるかライトアクセスであるかを判別し、図26の規則に従って代理応答信号を生成する。代理応答生成部304Aは、アクセスがリードアクセスであれば、IP107への電力供給及びクロック供給の開始又は停止とは無関係に、IP107へのアクセス要求信号に応じた代理応答信号を生成せず、リトライ信号のアサートも行わない。そして、供給制御部305Aは、代理応答生成部304Aが代理応答信号の送信を停止した後に、IP107への電力供給及びクロック供給を開始する。一方、代理応答生成部304Aは、アクセスがライトアクセスであれば、代理応答生成部304と同様に動作する。
Also, the proxy response generation unit 304A takes in the access attribute signal from the bus IF 301, determines whether the access request signal transmitted from the bus IF 301 to the
即ち、代理応答生成部304Aは、アクセス応答信号に正確なリードデータを付加できない状態にあるIP107に対して、アクセス要求信号が送信された場合には、代理応答信号の生成やリトライ信号のアサートを行わない。従って、実施形態2に係る半導体集積回路では、全てのリードアクセスに対して、正確なリードデータが付加された正規のアクセス応答信号をIP107から送信することができる。
That is, the proxy response generation unit 304A generates a proxy response signal or asserts a retry signal when an access request signal is transmitted to the
《実施形態3》
本発明の実施形態3に係る半導体集積回路11Aは、半導体集積回路11と比べると、図27に示すように、複数のCPU101A,101Bが配置され、DMAC108及び割込みコントローラ109が除かれた点が異なり、そのため、電力・クロック制御ブリッジ104Aの機能等が異なる。ここでは、各CPU101A,101Bがそれぞれ複数のプロセスを時分割等の手法によって並列実行し、特定のCPUが実行する特定のプロセスのみがIP107への電力供給とクロック供給の制御を行う場合について説明する。
<<
The semiconductor integrated
CPU101A,101Bは、ルータ103及びメモリ制御部102を介してメモリ32にアクセスし、このメモリに格納されているプログラムを実行することによって、半導体集積回路11A内外の制御を行う。CPU101A,101Bは、ルータ103を介して電力・クロック制御ブリッジ104A及びIP107にアクセス要求信号を送信するときに、アクセス要求信号がCPU101A,101Bのいずれから送信されたかを電力・クロック制御ブリッジ104Aが識別できるように、それぞれのマスタIDをアクセス要求信号に付加する。ここでは、CPU101AのマスタIDを‘0’、CPU101BのマスタIDを‘1’とする。また、CPU101A,101Bは、アクセス要求信号を送信するときに、アクセス要求信号を送信するプロセスのプロセスIDを電力・クロック制御ブリッジ104Aが識別できるように、プロセスIDをアクセス要求信号に付加する。ルータ103は、CPU101A,101Bからのアクセス要求信号を電力・クロック制御ブリッジ104Aに中継するときに、CPU101A,101Bが出力するマスタID及びプロセスIDを同時に送信する。
The
次に、半導体集積回路11Aの初期化完了後のIP107への電力供給とクロック供給の制御について説明する。初期化完了後のIP107への電力供給及びクロック供給の制御は、ルータ103からIP107へのアクセス要求信号を、電力・クロック制御ブリッジ104Aが監視した結果に基づいて行われる。アクセス要求信号には、アドレス、ライトデータ、アクセス属性だけでなく、マスタID、プロセスIDが含まれる。
Next, control of power supply and clock supply to the
電力・クロック制御ブリッジ104Aは、電力・クロック制御ブリッジ104と比べると、例えば、バスIF301からIP107へのアクセス要求信号を取込む供給制御部305Bに含まれるレジスタの種類が異なる。具体的には、実施形態3に係る供給制御部305Bは、供給制御部305に比べると、マスタIDレジスタ(MIDR)、マスタIDイネーブルレジスタ(MIDER)、プロセスIDレジスタ(PIDR)及びプロセスIDイネーブルレジスタ(PIDER)が含まれる点が異なる。マスタIDレジスタは、電力・クロック制御ブリッジ104Aの電力・クロック制御を行う機能モジュールのマスタIDを保存するためのレジスタであり、ルータ103を介してCPU101A,101Bから読み書き可能である。マスタIDイネーブルレジスタは、このマスタIDレジスタの値を参照するか否かを設定するためのレジスタである。プロセスIDレジスタは、電力・クロック制御ブリッジ104Aの電力・クロック制御を行うソフトウェアのプロセスIDを保存するためのレジスタであり、ルータ103を介してCPU101A,101Bから読み書き可能である。プロセスIDイネーブルレジスタは、このプロセスIDレジスタの値を参照するか否かを設定するためのレジスタである。
The power /
次に、供給制御部305Bによる電力供給開始信号、電力供給停止信号、クロック供給開始信号、クロック供給停止信号の生成処理について説明する。まず、電力供給開始信号のアサートについて説明する。図28には、電力供給開始信号生成回路が例示されるが、この回路は、図6に示す電力供給開始信号生成回路と比べると、供給制御部305Bに4つのレジスタが追加されたことにより、2条件が追加された点が異なる。即ち、電力供給開始信号は、電力供給開始イネーブルレジスタが電力供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、5条件が全て成立するときにアサートされる。第1〜3の条件は、図6において記載した条件と同一である。
Next, generation processing of a power supply start signal, a power supply stop signal, a clock supply start signal, and a clock supply stop signal by the
第4の条件(以下、追加条件1とも記す)は、マスタIDイネーブルレジスタの値が、マスタIDレジスタの設定値を参照しないことを示す値‘0’であるか、又は、マスタIDレジスタの値とバスIF301から供給されるマスタIDの値が一致することである。第5の条件(以下、追加条件2とも記す)は、プロセスIDイネーブルレジスタの値が、プロセスIDレジスタの設定値を参照しないことを示す値‘0’であるか、又は、プロセスIDレジスタの値とバスIF301から供給されるプロセスIDの値が一致することである。 The fourth condition (hereinafter also referred to as additional condition 1) is that the value of the master ID enable register is a value “0” indicating that the setting value of the master ID register is not referred to, or the value of the master ID register And the master ID value supplied from the bus IF 301 match. The fifth condition (hereinafter also referred to as additional condition 2) is that the value of the process ID enable register is a value “0” indicating that the setting value of the process ID register is not referred to, or the value of the process ID register And the value of the process ID supplied from the bus IF 301 match.
次に、電力供給停止信号のアサートについて説明する。図29には、電力供給停止信号生成回路が例示されるが、この回路は、図7に示す電力供給停止信号生成回路と比べると、2条件が追加された点が異なる。即ち、電力供給停止信号は、電力供給停止イネーブルレジスタが電力供給停止信号をアサートすることを示す値‘1’に設定されていて、さらに、6条件が全て成立するときにアサートされる。第1〜4の条件は、図7において記載した条件と同一である。また、第5の条件は、図28での追加条件1と同一であり、第6の条件は、追加条件2と同一である。
Next, the assertion of the power supply stop signal will be described. FIG. 29 illustrates a power supply stop signal generation circuit, but this circuit is different from the power supply stop signal generation circuit shown in FIG. 7 in that two conditions are added. That is, the power supply stop signal is set to a value “1” indicating that the power supply stop enable register asserts the power supply stop signal, and is asserted when all six conditions are satisfied. The first to fourth conditions are the same as the conditions described in FIG. Further, the fifth condition is the same as the
次に、クロック供給開始信号のアサートについて説明する。図30には、クロック供給開始信号生成回路が例示されるが、この回路は、図8に示すクロック供給開始信号生成回路と比べると、2条件が追加された点が異なる。即ち、クロック供給開始信号は、クロック供給開始イネーブルレジスタがクロック供給開始信号をアサートすることを示す値‘1’に設定されていて、さらに、5条件が全て成立するときにアサートされる。第1〜3の条件は、図8において記載した条件と同一である。また、第4の条件は、上記した追加条件1と同一であり、第5の条件は、追加条件2と同一である。
Next, the assertion of the clock supply start signal will be described. FIG. 30 illustrates a clock supply start signal generation circuit, but this circuit is different from the clock supply start signal generation circuit shown in FIG. 8 in that two conditions are added. That is, the clock supply start signal is set to a value “1” indicating that the clock supply start enable register asserts the clock supply start signal, and is asserted when all five conditions are satisfied. The first to third conditions are the same as the conditions described in FIG. The fourth condition is the same as the above-described
次に、クロック供給停止信号のアサートについて説明する。図31には、クロック供給停止信号生成回路が例示されるが、この回路は、図9に示すクロック供給停止信号生成回路と比べると、2条件が追加された点が異なる。即ち、クロック供給停止信号は、クロック供給停止イネーブルレジスタがクロック供給停止信号をアサートすることを示す値‘1’に設定されていて、さらに、6条件が全て成立するときにアサートされる。第1〜4の条件は、図9において記載した条件と同一である。また、第5の条件は、上記した追加条件1と同一であり、第6の条件は、追加条件2と同一である。
Next, the assertion of the clock supply stop signal will be described. FIG. 31 illustrates a clock supply stop signal generation circuit. This circuit is different from the clock supply stop signal generation circuit shown in FIG. 9 in that two conditions are added. That is, the clock supply stop signal is set to a value “1” indicating that the clock supply stop enable register asserts the clock supply stop signal, and is asserted when all six conditions are satisfied. The first to fourth conditions are the same as the conditions described in FIG. The fifth condition is the same as the
以下、電力・クロック制御ブリッジ104Aが、IP107への電力供給とクロック供給の少なくとも一方を制御するときの動作について説明する。ここでは、CPU101A上で実行されるプロセスIDが“80”であるプロセスのみがIP107による表示処理を制御し、CPU101B上で実行されるプロセスや、プロセスIDが“80”以外であるプロセスはIP107による表示処理の制御を許可されていないものとする。
Hereinafter, an operation when the power /
まず、IP107への電力供給を制御する場合について説明する。ここでは、IP107への電力供給が停止され、クロック供給が開始されているとする。この場合には、マスタIDイネーブルレジスタ、マスタIDレジスタ、プロセスIDイネーブルレジスタ及びプロセスIDレジスタに、図32に示す値を設定すればよい。また、供給制御部105Bに含まれる、マスタIDイネーブルレジスタ、マスタIDレジスタ、プロセスIDイネーブルレジスタ及びプロセスIDレジスタ以外のレジスタには、図17に示した設定値をそれぞれ設定する。
First, a case where power supply to the
以下、図32に例示された各レジスタの設定値について具体的に説明する。マスタIDイネーブルレジスタには、マスタIDレジスタの設定値を参照することを示す値‘1’を設定する。マスタIDレジスタの設定値が‘0’であるので、マスタIDとして‘0’を出力するCPU101Aからのアクセス要求信号のみが電力供給の制御に使用されることになる。同様に、プロセスIDイネーブルレジスタには、プロセスIDレジスタの設定値を参照することを示す値‘1’を設定する。プロセスIDレジスタ設定値が“80”であるので、プロセスIDとして“80”を出力するプロセスによるアクセス要求信号のみが電力供給の制御に使用されることになる。従って、CPU101A上で実行されるプロセスIDが“80”のプロセスによって送信されたアクセス要求信号に基づいて、電力供給の制御が実行される。
Hereinafter, the setting values of each register illustrated in FIG. 32 will be specifically described. In the master ID enable register, a value “1” indicating that the set value of the master ID register is referred is set. Since the set value of the master ID register is “0”, only the access request signal from the
ここで、上記処理を図16に示したレジスタアクセスの手順に対応させて説明する。供給制御部305Bは、CPU101A上で実行されるプロセスIDが“80”であるプロセスが、ステップS1を実行したことを検出して、IP107への電力供給を開始することができる。また、供給制御部305BがIP107への電力供給を停止する動作は、実施形態1と略同様であって、例えば、CPU101A上で実行されるプロセスIDが“80”であるプロセスがステップS5を実行し、このステップS5の条件分岐が“Yes”となったときに電力供給を停止できる。
Here, the above processing will be described in correspondence with the register access procedure shown in FIG. The
また、供給制御部305Bに含まれるレジスタに、図32に示した値と図18に示した値を設定してもよい。この場合には、供給制御部305Bは、CPU101A上で実行されるプロセスIDが“80”であるプロセスによって実行されたIP107へのレジスタライトによって、IP107へのクロック供給を開始できる。そして、供給制御部305Bは、IP107の表示状態レジスタを示すアドレス“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出して、クロック供給停止信号をアサートする。従って、供給制御部305Bは、IP107が表示処理を行っていないときにクロック供給を停止できる。
Further, the value shown in FIG. 32 and the value shown in FIG. 18 may be set in the register included in the
さらに、供給制御部305Bに含まれるレジスタ、図32に示した値と図19に示した値を設定してもよい。この場合には、供給制御部305Bは、CPU101A上で実行されるプロセスIDが“80”であるプロセスによって実行されたIP107へのレジスタライトによって、IP107への電力供給及びクロックの供給を開始できる。そして、供給制御部305Bは、IP107の表示状態レジスタを示すアドレス“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出して、電力供給停止信号及びクロック供給停止信号をアサートする。従って、供給制御部305Bは、IP107が表示処理を行っていないときに電力供給及びクロック供給を停止できる。
Furthermore, a register included in the
次に、CPU101B上で実行されるプロセスやプロセスIDが“80”以外のプロセスがIP107にアクセス要求信号を送信したときの電力・クロック制御ブリッジ104Aの動作を説明する。
Next, the operation of the power /
供給制御部305Bは、CPU101B上で実行されるプロセスや、プロセスIDが“80”以外のプロセス送信したアクセス要求信号に対しては、電力供給開始信号、電力供給停止信号、クロック供給開始信号、クロック供給停止信号をアサートしない。
The
このとき、実施形態3に係る代理応答生成部は、図14の規則に従い、IP107への電力供給及びクロック供給が開始されているときには、代理応答信号をバスIF301に送信せず、IP107への電力供給とクロック供給のいずれか又は両方が停止されているときには、代理応答信号をバスIF301に送信する。尚、ここでの代理応答生成部は、電力供給開始信号及びクロック供給開始信号がアサートされないので、リトライ信号をアサートしない。
At this time, the proxy response generation unit according to the third embodiment does not transmit the proxy response signal to the bus IF 301 when the power supply to the
即ち、IP107への電力供給とクロック供給のいずれか又は両方が停止され、IP107がアクセス応答信号を送信できないときには、IP107に代わって、電力・クロック制御ブリッジ104Aが代理応答信号を送信する。このとき、電力・クロック制御ブリッジ104Aは、この代理応答信号を、アクセス要求信号を送信したCPU101A,101Bのいずれかに正しく送信するので、CPU101A,101B等の機能モジュールの処理が滞ることがない。
That is, when either or both of power supply and clock supply to the
従って、半導体集積回路11Aでは、電力供給及びクロック供給の制御の対象とするアクセスを、特定のCPUで実行される特定のプロセスによって実行されたものに限定できるので、ソフトウェアの不具合やコンピュータウィルス等によるプロセスによって、IP107への電力供給やクロック供給が不所望に開始又は停止されることがない。
Therefore, in the semiconductor integrated
《実施形態4》
本発明の実施形態4に係る半導体集積回路は、実施形態3に係る半導体集積回路11Aに比べると、複数のCPU101A,101B(以下、第1のマスタ、第2のマスタとも記す)が、IP107への電力供給とクロック供給の制御を行う点が異なる。また、バスIF301からIP107へのアクセス要求信号を取込む供給制御部305C以外の構成は、半導体集積回路11Aと同様としてもよい。このアクセス要求信号には、アドレス、ライトデータ、アクセス属性だけでなく、マスタIDが含まれる。
<< Embodiment 4 >>
In the semiconductor integrated circuit according to the fourth embodiment of the present invention, compared to the semiconductor integrated
供給制御部305Cは、図33に示すように各レジスタを有する。尚、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタ、クロック供給開始イネーブルレジスタ及びクロック供給停止イネーブルレジスタは、図5において記載したレジスタと同様である。マスタIDレジスタA(MIDRA)には、IP107への電力供給とクロック供給の制御を行う第1のマスタのマスタIDが保存される。マスタID電力ステータスレジスタA(MIDPSRA)には、第1のマスタによって電力供給がなされているか否かを示す情報が保存される。マスタIDクロックステータスレジスタA(MIDCSRA)には、第1のマスタによってクロック供給がなされているか否かを示す情報が保存される。マスタIDレジスタB(MIDRB)には、IP107への電力供給とクロック供給の制御を行う第2のマスタのマスタIDが保存される。マスタID電力ステータスレジスタB(MIDPSRB)には、第2のマスタによって電力供給がなされているか否かを示す情報が保存される。マスタIDクロックステータスレジスタB(MIDCSRB)には、第2のマスタによってクロック供給がなされているか否かを示す情報が保存される。尚、ここでは、マスタがIP107にライトアクセスを行ってから、IP107にリードアクセスを行うまでの期間を、マスタによるIP107の使用期間といい、マスタがIP107に電力供給及びクロック供給を開始している期間とする。
The
供給制御部305Cは、これらの各レジスタを以下のように設定する。マスタID電力ステータスレジスタAには、マスタIDレジスタAに設定された第1のマスタがIP107にライトアクセスを行ったときには、第1のマスタによって電力供給が開始されていることを示す値が設定される。また、マスタID電力ステータスレジスタAには、第1のマスタがIP107にリードアクセスを行ったときには、第1のマスタによって電力供給が停止されていることを示す値が設定される。マスタID電力ステータスレジスタBには、マスタIDレジスタBに設定された第2のマスタがIP107にライトアクセスを行ったときには、第2のマスタによって電力供給が開始されていることを示す値が設定される。また、マスタID電力ステータスレジスタBには、第2のマスタがIP107にリードアクセスを行ったときには、第2のマスタによって電力供給が停止されていることを示す値が設定される。マスタIDクロックステータスレジスタAには、マスタIDレジスタAに設定された第1のマスタがIP107にライトアクセスを行ったときには、第1のマスタによってクロック供給が開始されていることを示す値が設定される。また、マスタIDクロックステータスレジスタAには、第1のマスタがIP107にリードアクセスを行ったときには、第1のマスタによってクロック供給が停止されていることを示す値が設定される。マスタIDクロックステータスレジスタBには、マスタIDレジスタBに設定された第2のマスタがIP107にライトアクセスを行ったときには、第2のマスタによってクロック供給が開始されていることを示す値が設定される。また、マスタIDクロックステータスレジスタBには、第2のマスタがIP107にリードアクセスを行ったときには、第2のマスタによってクロック供給が停止されていることを示す値が設定される。
The
次に、供給制御部305Cによる電力供給開始信号、電力供給停止信号、クロック供給開始信号、クロック供給停止信号の生成処理について説明する。まず、電力供給開始信号のアサートについて説明する。図34には、電力供給開始信号生成回路が例示される。電力供給開始信号は、電力供給開始イネーブルレジスタが電力供給開始信号をアサートすることを示す値‘1’に設定されていて、マスタIDレジスタA又はマスタIDレジスタBに設定されたマスタがIP107にライトアクセスを行ったときにアサートされる。
Next, generation processing of a power supply start signal, a power supply stop signal, a clock supply start signal, and a clock supply stop signal by the
次に、電力供給停止信号のアサートについて説明する。図35には、電力供給停止信号生成回路が例示される。電力供給停止信号は、電力供給停止イネーブルレジスタが電力供給停止信号をアサートすることを示す値‘1’に設定されていて、さらに、以下の2条件のうちのいずれかが成立したときにアサートされる。 Next, the assertion of the power supply stop signal will be described. FIG. 35 illustrates a power supply stop signal generation circuit. The power supply stop signal is set to a value “1” indicating that the power supply stop enable register asserts the power supply stop signal, and is asserted when one of the following two conditions is satisfied. The
第1の条件は、マスタID電力ステータスレジスタBに設定されたマスタによって電力供給がなされていない旨を示す情報が格納されているときに、マスタIDレジスタAに設定されたマスタがリードアクセスを行うことである。第2の条件は、マスタID電力ステータスレジスタAに設定されたマスタによって電力供給がなされていない旨を示す情報が格納されているときに、マスタIDレジスタBに設定されたマスタがリードアクセスを行うことである。 The first condition is that when information indicating that power is not supplied by the master set in the master ID power status register B is stored, the master set in the master ID register A performs read access. That is. The second condition is that the master set in the master ID register B performs read access when information indicating that power is not supplied by the master set in the master ID power status register A is stored. That is.
次に、クロック供給開始信号のアサートについて説明する。図36には、クロック供給開始信号生成回路が例示される。クロック供給開始信号は、クロック供給開始イネーブルレジスタがクロック供給開始信号をアサートすることを示す値‘1’に設定されていて、マスタIDレジスタA又はマスタIDレジスタBに設定されたマスタがIP307にライトアクセスを行ったときにアサートされる。 Next, the assertion of the clock supply start signal will be described. FIG. 36 illustrates a clock supply start signal generation circuit. The clock supply start signal is set to a value '1' indicating that the clock supply start enable register asserts the clock supply start signal, and the master set in the master ID register A or the master ID register B writes to the IP 307. Asserted when access is made.
次に、クロック供給停止信号のアサートについて説明する。図37には、クロック供給停止信号生成回路が例示される。クロック供給停止信号は、クロック供給停止イネーブルレジスタがクロック供給停止信号をアサートすることを示す値‘1’に設定されていて、以下の2条件のうちのいずれかが成立したときにアサートされる。 Next, the assertion of the clock supply stop signal will be described. FIG. 37 illustrates a clock supply stop signal generation circuit. The clock supply stop signal is set to a value “1” indicating that the clock supply stop enable register asserts the clock supply stop signal, and is asserted when one of the following two conditions is satisfied.
第1の条件は、マスタIDクロックステータスレジスタBに設定されたマスタによってクロック供給がなされていない旨を示す情報が格納されているときに、マスタIDレジスタAに設定されたマスタがリードアクセスを行うことである。第2の条件は、マスタIDクロックステータスレジスタAに設定されたマスタによってクロック供給がなされていない旨を示す情報が格納されているときに、マスタIDレジスタBに設定されたマスタがリードアクセスを行うことである。 The first condition is that the master set in the master ID register A performs read access when information indicating that no clock is supplied by the master set in the master ID clock status register B is stored. That is. The second condition is that the master set in the master ID register B performs read access when information indicating that no clock is supplied by the master set in the master ID clock status register A is stored. That is.
以下、供給制御部305Cの動作をレジスタ設定値に基づいて説明する。まず、クロック供給の制御を行わず、電力供給の制御を行う場合、即ち、供給制御部305Cが、IP107へのクロック供給を常に開始し、電力供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107への電力供給を停止し、クロック供給を開始するために、図2に示すモード信号を“10”とする。供給制御部305Cは、初期化時にモード信号を参照して、マスタID電力ステータスレジスタA及びマスタID電力ステータスレジスタBには、電力供給を行っていない旨を示す‘0’を設定し、マスタIDクロックステータスレジスタA及びマスタIDクロックステータスレジスタBには、クロック供給を行っている旨を示す‘1’を設定する。
Hereinafter, the operation of the
また、供給制御部305Cの各レジスタには、クロック供給の制御を行わず、電力供給の制御を行うために、図38に示す値をそれぞれ設定する。即ち、電力供給開始イネーブルレジスタには、電力供給開始信号をアサートすることを示す値‘1’を設定する。電力供給停止イネーブルレジスタには、電力供給停止信号をアサートすることを示す値‘1’を設定する。クロック供給開始イネーブルレジスタには、クロック供給開始信号をアサートしないことを示す値を設定する。クロック供給停止イネーブルレジスタには、クロック供給停止信号をアサートしないことを示す値を設定する。マスタIDレジスタAには、CPU101Aを示す値‘0’を設定する。マスタIDレジスタBには、CPU101Bを示す値‘1’を設定する。
Further, the values shown in FIG. 38 are set in the respective registers of the
この場合には、電力供給開始信号は、CPU101A又はCPU101BがIP107にライトアクセスを行ったときにアサートされる。電力供給停止信号は、CPU101Bによって電力供給が停止され、CPU101Aがリードアクセスを行ったとき、又は、CPU101Aによって電力供給が停止され、CPU101Bがリードアクセスを行ったときにアサートされる。また、クロック供給開始信号及びクロック供給停止信号は、クロック供給開始イネーブルレジスタ、クロック供給停止イネーブルレジスタの設定値が各信号をアサートしないようにそれぞれ設定されているので、アサートされない。
In this case, the power supply start signal is asserted when the
次に、電力供給の制御を行わず、クロック供給の制御を行う場合、即ち、供給制御部305Cが、IP107への電力供給を常に開始し、クロック供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107へのクロック供給を停止し、電力供給を開始するために、モード信号を“01”とする。供給制御部305Cは、初期化時にモード信号を参照して、マスタID電力ステータスレジスタA及びマスタID電力ステータスレジスタBには、電力供給を行っている旨を示す‘1’を設定し、マスタIDクロックステータスレジスタA及びマスタIDクロックステータスレジスタBには、クロック供給を行っていない旨を示す‘0’を設定する。
Next, a description will be given of an operation in which the
また、供給制御部305Cの各レジスタには、電力供給の制御を行わず、クロック供給の制御を行うために、図39に示す値をそれぞれ設定する。即ち、電力供給開始イネーブルレジスタには、電力供給開始信号をアサートしないことを示す値‘0’を設定する。電力供給停止イネーブルレジスタには、電力供給停止信号をアサートしないことを示す値‘0’を設定する。クロック供給開始イネーブルレジスタには、クロック供給開始信号をアサートすることを示す値‘1’を設定する。クロック供給停止イネーブルレジスタには、クロック供給停止信号をアサートすることを示す値‘1’を設定する。マスタIDレジスタAには、CPU101Aを示す値‘0’を設定する。マスタIDレジスタBには、CPU101Bを示す値‘1’を設定する。
Also, the values shown in FIG. 39 are set in the respective registers of the
この場合には、クロック供給開始信号は、CPU101A又はCPU101BがIP107にライトアクセスを行ったときにアサートされる。クロック供給停止信号は、CPU101Bによってクロック供給が停止され、CPU101Aがリードアクセスを行ったとき、又は、CPU101Aによってクロック供給が停止され、CPU101Bがリードアクセスを行ったときにアサートされる。また、電力供給開始信号及び電力供給停止信号は、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタの設定値が各信号をアサートしないようにそれぞれ設定されているので、アサートされない。
In this case, the clock supply start signal is asserted when the
次に、電力供給及びクロック供給の制御を行う場合、即ち、供給制御部305Cが、IP107への電力供給及びクロック供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107への電力供給及びクロック供給を停止するために、モード信号を“00”とする。供給制御部305Cは、初期化時にモード信号を参照して、マスタID電力ステータスレジスタA及びマスタID電力ステータスレジスタBには、電力供給を行っていない旨を示す‘0’を設定し、マスタIDクロックステータスレジスタA及びマスタIDクロックステータスレジスタBには、クロック供給を行っていない旨を示す‘0’を設定する。
Next, a description will be given of an operation in which power supply and clock supply are controlled, that is, an operation in which the
また、供給制御部305Cの各レジスタには、電力供給及びクロック供給の制御を行うために、図40に示す値を設定する。即ち、電力供給開始イネーブルレジスタには、電力供給開始信号をアサートすることを示す値‘1’を設定する。電力供給停止イネーブルレジスタには、電力供給停止信号をアサートすることを示す値‘1’を設定する。クロック供給開始イネーブルレジスタには、クロック供給開始信号をアサートすることを示す値‘1’を設定する。クロック供給停止イネーブルレジスタには、クロック供給停止信号をアサートすることを示す値‘1’を設定する。マスタIDレジスタAには、CPU101Aを示す値‘0’を設定する。マスタIDレジスタBには、CPU101Bを示す値‘1’を設定する。
Also, the values shown in FIG. 40 are set in the respective registers of the
この場合には、電力供給開始信号及びクロック供給開始信号は、CPU101A又はCPU101BがIP107にライトアクセスを行ったときにアサートされる。また、電力供給停止信号は、CPU101Bによって電力供給が停止され、CPU101Aがリードアクセスを行ったとき、又は、CPU101Aによって電力供給が停止され、CPU101Bがリードアクセスを行ったときにアサートされる。クロック供給停止信号は、CPU101Bによってクロック供給が停止され、CPU101Aがリードアクセスを行ったとき、又は、CPU101Aによってクロック供給が停止され、CPU101Bがリードアクセスを行ったときにアサートされる。
In this case, the power supply start signal and the clock supply start signal are asserted when the
従って、実施形態4に係る半導体集積回路では、複数のCPU101A,101Bが並列的にIP107を制御するときに、CPU101A,101BのうちいずれかがIP107を動作させるときにはIP107への電力供給を開始し、CPU101A,101BのいずれもIP107を動作させないときにはIP107への電力供給を停止できる。一般的に、複数のCPUが1つのIPを制御する場合において、あるCPUから、他のCPUがIPを使用しているか否かを判定することは困難であり、そのため、通常、IPへの電力供給は常時行われる。これに対して、実施形態4に係る半導体集積回路は、複数のCPU101A,101Bが1つのIP107を制御する場合であっても、IP107への電力供給を必要最小限の期間だけ行うので、常時電力を供給する従来方式に比べて消費電力を低減できる。
Therefore, in the semiconductor integrated circuit according to the fourth embodiment, when the
《実施形態5》
本発明の実施形態5に係る半導体集積回路は、実施形態4に係る半導体集積回路と比べると、CPUが複数のプロセス(以下、第1のプロセス、第2のプロセスとも記す)を実行するときに、複数のプロセスが、IP107への電力供給とクロック供給の制御を行う点が異なる。また、バスIF301からIP107へのアクセス要求信号を取込む供給制御部305D以外の構成は、半導体集積回路11Aと同様としてもよい。このアクセス要求信号には、アドレス、ライトデータ、アクセス属性だけなく、プロセスIDが含まれる。
<<
The semiconductor integrated circuit according to the fifth exemplary embodiment of the present invention is compared with the semiconductor integrated circuit according to the fourth exemplary embodiment when the CPU executes a plurality of processes (hereinafter also referred to as a first process and a second process). The difference is that a plurality of processes control power supply to the
供給制御部305Dは、図41に示すように各レジスタを有する。尚、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタ、クロック供給開始イネーブルレジスタ及びクロック供給停止イネーブルレジスタは、図5において記載したレジスタと同様である。プロセスIDレジスタA(PIDRA)には、IP107への電力・クロック供給制御を行う第1のプロセスのプロセスIDが保存される。プロセスID電力ステータスレジスタA(PIDPSRA)には、この第1のプロセスによって電力供給がなされているか否かを示す情報が保存される。プロセスIDクロックステータスレジスタA(PIDCSRA)には、この第1のプロセスによってクロック供給がなされているか否かを示す情報が保存される。プロセスIDレジスタB(PIDRB)には、IP107への電力・クロック供給制御を行う第2のプロセスのプロセスIDが保存される。プロセスID電力ステータスレジスタB(PIDPSRB)には、この第2のプロセスによって電力供給がなされているか否かを示す情報が保存される。プロセスIDクロックステータスレジスタB(PIDCSRB)には、この第2のプロセスによってクロック供給がなされているか否かを示す情報が保存される。尚、ここでは、プロセスがIP107にライトアクセスを行ってから、IP107にリードアクセスを行うまでの期間を、プロセスによるIP107の使用期間といい、プロセスがIP107に電力供給及びクロック供給を開始している期間とする。
The
供給制御部305Dは、これらの各レジスタを以下のように設定する。プロセスID電力ステータスレジスタAには、プロセスIDレジスタAに設定された第1のプロセスがIP107にライトアクセスを行ったときに、第1のプロセスによって電力供給が開始されていることを示す値が設定される。また、プロセスID電力ステータスレジスタAには、第1のプロセスがIP107にリードアクセスを行ったときに、第1のプロセスによって電力供給が停止されていることを示す値が設定される。プロセスID電力ステータスレジスタBには、プロセスIDレジスタBに設定された第2のプロセスがIP107にライトアクセスを行ったときに、第2のプロセスによって電力供給が開始されていることを示す値が設定される。また、プロセスID電力ステータスレジスタBには、第2のプロセスがIP107にリードアクセスを行ったときに、第2のプロセスによって電力供給が停止されていることを示す値が設定される。プロセスIDクロックステータスレジスタAには、プロセスIDレジスタAに設定された第1のプロセスがIP107にライトアクセスを行ったときに、第1のプロセスによってクロック供給が開始されていることを示す値が設定される。また、プロセスIDクロックステータスレジスタAには、第1のプロセスがIP107にリードアクセスを行ったときに、第1のプロセスによってクロック供給が停止されていることを示す値が設定される。プロセスIDクロックステータスレジスタBには、プロセスIDレジスタBに設定された第2のプロセスがIP107にライトアクセスを行ったときに、第2のプロセスによってクロック供給が開始されていることを示す値が設定される。また、プロセスIDクロックステータスレジスタBには、第2のプロセスがIP107にリードアクセスを行ったときに、第2のプロセスによってクロック供給が停止されていることを示す値が設定される。
The
次に、供給制御部305Dによる電力供給開始信号、電力供給停止信号、クロック供給開始信号、クロック供給停止信号の生成処理について説明する。まず、電力供給開始信号のアサートについて説明する。図42には、電力供給開始信号生成回路が例示される。この電力供給開始信号生成回路は、図34に示す電力供給開始信号生成回路と比べると、マスタIDの代わりにプロセスIDを設定する点が異なる。そして、電力供給開始信号のアサートについては、図34に対応する説明において、マスタIDレジスタA,BをプロセスIDレジスタに置き換えたものと同様である。
Next, generation processing of a power supply start signal, a power supply stop signal, a clock supply start signal, and a clock supply stop signal by the
次に、電力供給停止信号のアサートについて説明する。図43には、電力供給停止信号生成回路が例示される。この電力供給停止信号生成回路は、図35に示す電力供給停止信号生成回路と比べると、マスタIDの代わりにプロセスIDを設定する点が異なる。そして、電力供給停止信号のアサートについては、図35に対応する説明において、マスタIDレジスタA,B及びマスタID電力ステータスレジスタA,Bを、プロセスIDレジスタA,B及びプロセスID電力ステータスレジスタA,Bに置き換えたものと同様である。 Next, the assertion of the power supply stop signal will be described. FIG. 43 illustrates a power supply stop signal generation circuit. This power supply stop signal generation circuit is different from the power supply stop signal generation circuit shown in FIG. 35 in that a process ID is set instead of a master ID. As for the assertion of the power supply stop signal, in the description corresponding to FIG. 35, the master ID registers A and B and the master ID power status registers A and B are replaced with the process ID registers A and B and the process ID power status registers A and B. It is the same as that replaced with B.
次に、クロック供給開始信号のアサートについて説明する。図44には、クロック供給開始信号生成回路が例示される。クロック供給開始信号生成回路は、図36に示すクロック供給開始信号生成回路と比べると、マスタIDの代わりにプロセスIDを設定する点が異なる。そして、クロック供給開始信号のアサートについては、図36に対応する説明において、マスタIDレジスタA,BをプロセスIDレジスタに置き換えたものと同様である。 Next, the assertion of the clock supply start signal will be described. FIG. 44 illustrates a clock supply start signal generation circuit. The clock supply start signal generation circuit is different from the clock supply start signal generation circuit shown in FIG. 36 in that the process ID is set instead of the master ID. The assertion of the clock supply start signal is the same as that in the description corresponding to FIG. 36 in which the master ID registers A and B are replaced with process ID registers.
次に、クロック供給停止信号のアサートについて説明する。図45には、クロック供給停止信号生成回路が例示される。クロック供給停止信号生成回路は、図37に示すクロック供給停止信号生成回路と比べると、マスタIDの代わりにプロセスIDを設定する点が異なる。そして、クロック供給停止信号のアサートについては、図37に対応する説明において、マスタIDレジスタA,B及びマスタIDクロックステータスレジスタA,Bを、プロセスIDレジスタA,B及びプロセスIDクロックステータスレジスタA,Bに置き換えたものと同様である。 Next, the assertion of the clock supply stop signal will be described. FIG. 45 illustrates a clock supply stop signal generation circuit. The clock supply stop signal generation circuit is different from the clock supply stop signal generation circuit shown in FIG. 37 in that a process ID is set instead of a master ID. Regarding the assertion of the clock supply stop signal, in the description corresponding to FIG. 37, the master ID registers A and B and the master ID clock status registers A and B are replaced with the process ID registers A and B and the process ID clock status registers A and B. It is the same as that replaced with B.
以下、供給制御部305Dの動作をレジスタ設定値に基づいて説明する。まず、クロック供給の制御を行わず、電力供給の制御を行う場合、即ち、供給制御部305Dが、IP107へのクロック供給を常に開始し、電力供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107への電力供給を停止し、クロック供給を開始するために、モード信号を“10”とする。供給制御部305Dは、初期化時にモード信号を参照して、プロセスID電力ステータスレジスタA及びプロセスID電力ステータスレジスタBには、電力供給を行っていない旨を示す‘0’を設定する。さらに、供給制御部305Dは、プロセスIDクロックステータスレジスタA及びプロセスIDクロックステータスレジスタBには、クロック供給を行っている旨を示す‘1’を設定する。
Hereinafter, the operation of the
また、供給制御部305Dの各レジスタには、クロック供給の制御を行わず、電力供給の制御を行うために、図46に示す値をそれぞれ設定する。これらの各レジスタのうち、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタ、クロック供給開始イネーブルレジスタ、クロック供給停止イネーブルレジスタの設定値については、図38に示す設定値と同様である。また、プロセスIDレジスタAには、プロセスAを示す値“80”を設定する。プロセスIDレジスタBには、プロセスBを示す値“FF”を設定する。
Also, the values shown in FIG. 46 are set in the respective registers of the
この場合には、電力供給開始信号は、プロセスIDが“80”又は“FF”であるプロセスがIP107にライトアクセスを行ったときにアサートされる。電力供給停止信号は、プロセスBによって電力供給が停止され、プロセスAがリードアクセスを行ったとき、又は、プロセスAによって電力供給が停止され、プロセスBがリードアクセスを行ったときにアサートされる。また、クロック供給開始信号及びクロック供給停止信号は、クロック供給開始イネーブルレジスタ、クロック供給停止イネーブルレジスタの設定値が各信号をアサートしないようにそれぞれ設定されているので、アサートされない。
In this case, the power supply start signal is asserted when a process whose process ID is “80” or “FF” performs write access to the
次に、電力供給の制御を行わず、クロック供給の制御を行う場合、即ち、供給制御部305Dが、IP107への電力供給を常に開始し、クロック供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107へのクロック供給を停止し、電力供給を開始するために、モード信号を“01”とする。供給制御部305Dは、初期化時にモード信号を参照して、プロセスID電力ステータスレジスタA及びプロセスID電力ステータスレジスタBには、電力供給を行っている旨を示す‘1’を設定する。さらに、供給制御部305Dは、プロセスIDクロックステータスレジスタA及びプロセスIDクロックステータスレジスタBには、クロック供給を行っていない旨を示す‘0’を設定する。
Next, a description will be given of an operation in which the
また、供給制御部305Dの各レジスタには、電力供給の制御を行わず、クロック供給の制御を行うために、図47に示す値をそれぞれ設定する。これらの各レジスタのうち、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタ、クロック供給開始イネーブルレジスタ、クロック供給停止イネーブルレジスタの設定値については、図39に示す設定値と同様である。また、プロセスIDレジスタA,Bについては、図46に示す値と同様である。
Also, the values shown in FIG. 47 are set in the registers of the
この場合には、クロック供給開始信号は、プロセスIDが“80”又は“FF”であるプロセスがIP107にライトアクセスを行ったときにアサートされる。クロック供給停止信号は、プロセスBによってクロック供給が停止され、プロセスAがリードアクセスを行ったとき、又は、プロセスAによってクロック供給が停止され、プロセスBがリードアクセスを行ったときにアサートされる。また、電力供給開始信号及び電力供給停止信号は、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタの設定値が各信号をアサートしないようにそれぞれ設定されているので、アサートされない。
In this case, the clock supply start signal is asserted when a process whose process ID is “80” or “FF” performs write access to the
次に、電力供給及びクロック供給の制御を行う場合、即ち、供給制御部305Dが、IP107への電力供給及びクロック供給を開始又は停止する動作について説明する。まず、初期化完了直後に、IP107への電力供給及びクロック供給を停止するために、モード信号を“00”とする。供給制御部305Dは、初期化時にモード信号を参照して、プロセスID電力ステータスレジスタA及びプロセスID電力ステータスレジスタBには、電力供給を行っていない旨を示す‘0’を設定する。さらに、供給制御部305Dは、プロセスIDクロックステータスレジスタA及びプロセスIDクロックステータスレジスタBには、クロック供給を行っていない旨を示す‘0’を設定する。
Next, a description will be given of an operation in which power supply and clock supply are controlled, that is, an operation in which the
また、供給制御部305Dの各レジスタには、電力供給及びクロック供給の制御を行うために、図48に示す値を設定する。これらの各レジスタのうち、電力供給開始イネーブルレジスタ、電力供給停止イネーブルレジスタ、クロック供給開始イネーブルレジスタ、クロック供給停止イネーブルレジスタの設定値については、図40に示す設定値と同様である。また、プロセスIDレジスタA,Bについては、図46に示す値と同様である。
Further, the values shown in FIG. 48 are set in each register of the
この場合には、電力供給開始信号及びクロック供給開始信号は、プロセスIDが“80”又は“FF”であるプロセスがIP107にライトアクセスを行ったときにアサートされる。また、電力供給停止信号は、プロセスBによって電力供給が停止され、プロセスAがリードアクセスを行ったとき、又は、プロセスAによって電力供給が停止され、プロセスBがリードアクセスを行ったときにアサートされる。クロック供給停止信号は、プロセスBによってクロック供給が停止され、プロセスAがリードアクセスを行ったとき、又は、プロセスBによってクロック供給が停止され、プロセスAがリードアクセスを行ったときにアサートされる。
In this case, the power supply start signal and the clock supply start signal are asserted when a process whose process ID is “80” or “FF” performs write access to the
従って、実施形態5に係る半導体集積回路では、複数のプロセスA,Bが並列的にIP107を制御するときに、プロセスA,BのうちいずれかがIP107を動作させるときにはIP107への電力供給を開始し、プロセスA,BのいずれもIP107を動作させないときにはIP107への電力供給を停止できる。一般的に、複数のプロセスが1つのIPを制御する場合において、あるプロセスから、他のプロセスがIPを使用しているか否かを判定することは困難であり、そのため、通常、IPへの電力供給は常時行われる。これに対して、実施形態5に係る半導体集積回路は、複数のプロセスA,Bが1つのIP107を制御する場合であっても、IP107への電力供給を必要最小限の期間だけ行うので、常時電力を供給する従来方式に比べて消費電力を低減できる。
Therefore, in the semiconductor integrated circuit according to the fifth embodiment, when a plurality of processes A and B control the
《実施形態6》
本発明の実施形態6に係る半導体集積回路は、IP107への電力供給とクロック供給を開始したときに、単純化されたソフトウェア処理によって、IP107を電力供給状態とクロック供給状態にするものであって、上記した半導体集積回路11と比べると、電力・クロック制御ブリッジ104Bの機能等が異なる。電力・クロック制御ブリッジ104Bは、電力・クロック制御ブリッジ104と比べると、図49に示すようにブリッジDMAC306が追加された点が異なる。
Embodiment 6
In the semiconductor integrated circuit according to the sixth embodiment of the present invention, when power supply and clock supply to the
図50には、バスIF301が中継するアクセスの流れが例示されている。このアクセスは、図4に示すアクセスと比べると、ターゲットアクセスの処理は同様であり、イニシエータアクセスの処理の処理が異なる。具体的には、バスIF301は、IP107又はブリッジDMAC306から受信したアクセス要求信号をルータ103に送信し、ルータ103から供給されるアクセス要求信号に応じたアクセス応答信号をIP107とブリッジMAC306に送信する。
FIG. 50 illustrates an access flow relayed by the bus IF 301. Compared to the access shown in FIG. 4, this access has the same target access processing and different initiator access processing. Specifically, the bus IF 301 transmits an access request signal received from the
ブリッジDMAC306は、バスIF301、ルータ103、メモリ制御部102を介してメモリ12からデータを読込み、このデータをIP107に書込むDMACである。ブリッジDMAC306は、DMA開始信号がアサートされた後に、電力供給応答信号又はクロック供給応答信号がディアサート状態からアサート状態に遷移したことを検出して、メモリ12からIP107へのデータ転送を行う。
The
以下、電力・クロック制御ブリッジ104Bが、IP107への電力供給とクロック供給の制御を行うときの一連の処理について説明する。まず、供給制御部305Eは、各レジスタの値を図51に示すように設定する。この場合には、電力供給開始アドレスイネーブルレジスタ及び電力供給開始ライトデータイネーブルレジスタが有効を示す値となる。このため、供給制御部305Eは、IP107の表示制御レジスタを示すアドレス“FF00100C”に‘1’を書込むライトアクセスが発生したことを契機として、電力供給開始信号とDMA開始信号をアサートする。ブリッジDMAC306は、DMA開始信号がアサートされたので、電力供給応答信号又はクロック供給応答信号がアサートされるまで待機する。そして、ブリッジDMAC306は、電力供給応答信号がアサートされたことを契機として、DMA転送を行い、メモリ12に格納されているデータをIP107に転送する。
Hereinafter, a series of processing when the power /
図52には、メモリ12に格納される被DMAデータが例示される。被DMAデータは、ライトデータとライトアドレスが1組となっている。ブリッジDMAC306は、IP107にライトアクセスを実行するとき、メモリ12から読出されたアドレスをIP107へのアドレスとし、メモリ12から読出されたライトデータをIP107へのライトデータとする。
FIG. 52 illustrates DMA-targeted data stored in the
また、IP107への電力供給の停止については、供給制御部305Eは、IP107の表示状態レジスタを示すアドレス“FF001010”をリードし、その結果、表示処理を実行していないことを示す‘0’であることを検出し、電力供給停止信号をアサートする。従って、供給制御部305Eは、IP107が表示処理を行っていないときに電力供給を停止できる。
Further, regarding the stop of the power supply to the
さらに、IP107へのクロック供給の開始又は停止については、供給制御部305Eは、各レジスタの値を、上記した図51に示す設定値に代えて、図53に示す設定値、即ち、クロック供給の開始又は停止に関するレジスタの設定値とすればよい。この場合には、供給制御部305Eは、IP107の表示状態レジスタを示すアドレス“FF001010”に‘1’を書込むライトアクセスが発生したことを契機として、クロック供給開始信号とDMA開始信号をアサートする。ブリッジDMAC306は、DMA開始信号がアサートされたので、電力供給応答信号又はクロック供給応答信号がアサートされるまで待機する。そして、ブリッジDMAC306は、クロック供給応答信号がアサートされたことを契機として、DMA転送を行い、メモリ12に格納されているデータをIP107に転送する。
Further, regarding the start or stop of the clock supply to the
以上のように、電力供給及びクロック供給の制御は、開始と停止のいずれも供給制御部305Eの各レジスタではなく、IP107のレジスタへのアクセスを契機として行われる。また、供給制御部305Eの各レジスタへの設定は、半導体集積回路の初期化を完了した後であって、IP107の表示処理を実行する前であれば、適宜行ってもよく、さらに、IP107の表示処理を何回起動又は停止したとしても1回行うだけでよいから、ソフトウェア開発コストの増加を抑えることができる。そして、ブリッジDMAC306は、IP107のレジスタ設定を代行するので、CPU101はレジスタライトを1回行うだけでよく、消費電力を低減できる。
As described above, control of power supply and clock supply is performed in response to access to the register of the
《実施形態7》
図54には、本発明の実施形態7に係る半導体集積回路が例示される。半導体集積回路11Bは、一組のモード信号によって複数のIPへの電力供給及びクロック供給を制御するものであって、半導体集積回路11Aと比べると、1つのCPU101と、複数のIP107A,107Bとを配置した点が異なる。
<< Embodiment 7 >>
FIG. 54 illustrates a semiconductor integrated circuit according to the seventh embodiment of the present invention. The semiconductor integrated
IP107A,107Bは、論理回路であって、電力供給及びクロック供給が開始されることにより動作する。IP107A,107Bは、電力・クロック制御ブリッジ104Cからアクセス要求信号を受信して、このアクセス要求信号に応じた処理を実行し、電力・クロック制御ブリッジ104Cを介してCPU101にアクセス要求信号に応じたアクセス応答信号を送信する。また、IP107A,107Bは、自らがアクセス要求信号元となり、電力・クロック制御ブリッジ104Cにアクセス要求信号を送信することによって、メモリ12等にアクセスする。さらに、IP107A,107Bは、IP107A,107B内部の状態を信号線によって電力・クロック制御ブリッジ104Cに通知する機能を有する。
The
次に、半導体集積回路11Bの初期化時におけるIP107A,107Bの電力供給状態及びクロック供給状態の決定について説明する。半導体集積回路11Bの使用開始時には、リセット信号生成部14によってリセット信号が一定期間アサートされる。リセットによる初期化時にIPA107A及びIPB107Bへの電力供給やクロック供給を開始されるか否かは、モード信号の値に基づいて、電力・クロック制御ブリッジ104Cが決定する。電力・クロック制御ブリッジ104Cは、リセット信号がアサートされているときには、モード信号の値に基づいて電力供給要求信号A,B、クロック供給要求信号A,Bの出力値を決定する。
Next, determination of the power supply state and the clock supply state of the
図55には、リセット信号がアサート時でのモード信号、電力供給要求信号A,B及びクロック供給要求信号A,Bの関係が例示される。リセット信号アサート時にモード信号が“00”であれば、電力・クロック制御ブリッジ104Cは、電力供給要求信号A,B、クロック供給要求信号A,Bを全てディアサート状態とする。これにより、IP107A,107Bへの電力供給及びクロック供給が停止される。モード信号が“01”であれば、電力・クロック制御ブリッジ104Cは、電力供給要求信号A,Bをアサート状態、クロック供給要求信号A,Bをディアサート状態とする。これにより、IP107A,107Bへの電力供給が開始され、クロック供給が停止される。モード信号が“10”であれば、電力・クロック制御ブリッジ104Cは、電力供給要求信号A,Bをディアサート状態、クロック供給信号A,Bをアサート状態とする。これにより、IP107A,107Bへの電力供給が停止され、クロック供給が開始される。モード信号が“11”であれば、電力・クロック制御ブリッジ104Cは、電力供給要求信号A,B及びクロック供給信号A,Bを全てアサート状態とする。これにより、IPA107A,107Bへの電力供給及びクロック供給が開始される。一方、リセット信号がディアサート状態であるときには、電力・クロック制御ブリッジ104Cは、モード信号を無視して、IP107A,107Bが出力する状態信号に基づいて、電力供給要求信号A,B、クロック供給要求信号A,Bの値を決定する(図20〜図23参照)。
FIG. 55 illustrates the relationship among the mode signal, the power supply request signals A and B, and the clock supply request signals A and B when the reset signal is asserted. If the mode signal is “00” when the reset signal is asserted, the power /
従って、実施形態7に係る半導体集積回路11Bでは、2ビットのモード信号を設定すると共に、図示を省略する一組のモード信号入力端子を設けることによって、複数のIP107A,107Bの初期化時における電力供給状態及びクロック供給状態を決定できるから、低コスト化を図ることができる。
Therefore, in the semiconductor integrated
以上、本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 As mentioned above, although the invention made by this inventor was concretely demonstrated based on embodiment, it cannot be overemphasized that this invention is not limited to it and can be variously changed in the range which does not deviate from the summary.
例えば、実施形態6に係る半導体集積回路では、IP107へのデータ転送を電力・クロック制御ブリッジ104に含まれるブリッジDMAC306で行うとしたが、これに限らず、DMAC108やCPU101で行ってもよい。DMAC108でデータ転送を行う場合には、DMA開始信号をDMAC108に供給すればよい。また、CPU101でデータ転送を行う場合には、DMA開始信号を割込みコントローラ109に接続し、割込みコントローラ109から割込み要求の通知を受信したCPU101がIP107へのデータ転送を行うプログラムを実行できるように半導体集積回路11を構成すればよい。
For example, in the semiconductor integrated circuit according to the sixth embodiment, data transfer to the
11,11A,11B 半導体集積回路
12 メモリ
13 モード信号生成部
14 リセット信号生成部
15 電源
16 クロック信号生成部
101,101A,101B CPU
102 メモリ制御部
103 ルータ
104,104A〜C 電力・クロック制御ブリッジ
105 電力供給部
106 クロック供給部
107,107A,107B IP
108 DMAC
109 割込みコントローラ
301 バスインタフェース
302 電力供給要求信号生成部
303 クロック供給要求信号生成部
304,304A 代理応答生成部
305,305A〜E 供給制御部
306 ブリッジDMAC
11, 11A, 11B Semiconductor integrated
102
108 DMAC
109 Interrupt
Claims (12)
前記制御回路は、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止しているとき、前記第2の機能モジュールによる前記第1の機能モジュールに対するアクセスを可能にするための制御を行う半導体集積回路。 Relaying access between the first functional module, the second functional module, the first functional module, and the second functional module, and at least power supply and clock supply to the first functional module; A control circuit for controlling one of them,
The control circuit is configured to enable access to the first functional module by the second functional module when at least one of power supply and clock supply to the first functional module is stopped. A semiconductor integrated circuit.
前記制御回路は、レジスタを備え、前記マスタIDと前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始又は停止を決定する請求項1記載の半導体集積回路。 The second functional module adds a master ID for identifying itself to the access request signal transmitted to the first functional module,
The control circuit includes a register, and starts or stops at least one of power supply and clock supply to the first functional module based on a result of comparing the master ID and a value held in the register The semiconductor integrated circuit according to claim 1, wherein:
前記制御回路は、レジスタを備え、前記プロセスIDと前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方の開始又は停止を決定する請求項1記載の半導体集積回路。 The second functional module is a processor that executes a plurality of processes, and adds a process ID for identifying the process to the access request signal transmitted to the first functional module;
The control circuit includes a register, and starts or stops at least one of power supply and clock supply to the first functional module based on a result of comparing the process ID and a value held in the register The semiconductor integrated circuit according to claim 1, wherein:
前記制御回路は、レジスタを備え、前記第1の機能モジュールの処理状態と前記レジスタに保持されている値とを比較した結果に基づいて、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を開始又は停止する請求項1記載の半導体集積回路。 The first functional module has a function of notifying the control circuit of a processing state of the first functional module;
The control circuit includes a register, and based on a result of comparing a processing state of the first functional module and a value held in the register, power supply and clock supply to the first functional module are performed. 2. The semiconductor integrated circuit according to claim 1, wherein at least one of them is started or stopped.
前記レジスタの保持する値が、複数の前記第2の機能モジュール又は複数の前記プロセスにおいて前記第1の機能モジュールが使用されていないことを示す場合には、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止し、
前記レジスタの保持する値が、少なくとも一つの前記第2の機能モジュール又は前記プロセスにおいて前記第1の機能モジュールが使用されていることを示す場合には、前記第1の機能モジュールへの電力供給とクロック供給の少なくとも一方を開始する請求項1記載の半導体集積回路。 In the control circuit, a value indicating whether or not a plurality of the second function modules are using the first function module, or a plurality of processes executed by the second function module is the first function module. A register that holds a value indicating whether or not the function module is used,
When the value held in the register indicates that the first function module is not used in the plurality of second function modules or the plurality of processes, the power supply to the first function module And stop at least one of the clock supply,
When the value held in the register indicates that the first functional module is being used in at least one of the second functional module or the process, power supply to the first functional module; The semiconductor integrated circuit according to claim 1, wherein at least one of clock supply is started.
前記制御回路は、前記複数の機能モジュールへの電力供給とクロック供給の少なくとも一方を停止しているとき、前記マスタモジュールによる前記複数の機能モジュールに対するアクセスを可能にするための制御を行う半導体集積回路。 A plurality of functional modules; a master module; and a control circuit that relays access between the plurality of functional modules and the master module and controls at least one of power supply and clock supply to the plurality of functional modules. Prepared,
The semiconductor integrated circuit that performs control for enabling access to the plurality of functional modules by the master module when at least one of power supply and clock supply to the plurality of functional modules is stopped. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005298890A JP4711410B2 (en) | 2005-10-13 | 2005-10-13 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005298890A JP4711410B2 (en) | 2005-10-13 | 2005-10-13 | Semiconductor integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007108993A true JP2007108993A (en) | 2007-04-26 |
JP4711410B2 JP4711410B2 (en) | 2011-06-29 |
Family
ID=38034817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005298890A Expired - Fee Related JP4711410B2 (en) | 2005-10-13 | 2005-10-13 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4711410B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128803A (en) * | 2008-11-27 | 2010-06-10 | Ricoh Co Ltd | Data transfer device and data transfer method |
JP2010539615A (en) * | 2007-09-20 | 2010-12-16 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | Circuit device for receiving and forming signals and method of operating the circuit device |
JP2011170730A (en) * | 2010-02-22 | 2011-09-01 | Renesas Electronics Corp | Semiconductor device and data processing system |
JP2013504811A (en) * | 2009-09-09 | 2013-02-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Method and apparatus for disabling a device |
WO2013038549A1 (en) * | 2011-09-15 | 2013-03-21 | 富士通株式会社 | Power supply control method and system |
CN106681472A (en) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | Heterogeneous multi-core processor power consumption control device and power consumption control method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0511898A (en) * | 1990-11-22 | 1993-01-22 | Hitachi Ltd | Peripheral controller and scsi bus controller |
JPH09237131A (en) * | 1996-03-04 | 1997-09-09 | Fujitsu Ltd | Semiconductor integrated circuit device |
JP2004199115A (en) * | 2002-12-16 | 2004-07-15 | Renesas Technology Corp | Semiconductor integrated circuit |
-
2005
- 2005-10-13 JP JP2005298890A patent/JP4711410B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0511898A (en) * | 1990-11-22 | 1993-01-22 | Hitachi Ltd | Peripheral controller and scsi bus controller |
JPH09237131A (en) * | 1996-03-04 | 1997-09-09 | Fujitsu Ltd | Semiconductor integrated circuit device |
JP2004199115A (en) * | 2002-12-16 | 2004-07-15 | Renesas Technology Corp | Semiconductor integrated circuit |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010539615A (en) * | 2007-09-20 | 2010-12-16 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | Circuit device for receiving and forming signals and method of operating the circuit device |
US8750294B2 (en) | 2007-09-20 | 2014-06-10 | Robert Bosch Gmbh | Circuit arrangement for signal pick-up and signal generation and method for operating this circuit arrangement |
JP2010128803A (en) * | 2008-11-27 | 2010-06-10 | Ricoh Co Ltd | Data transfer device and data transfer method |
JP2013504811A (en) * | 2009-09-09 | 2013-02-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Method and apparatus for disabling a device |
JP2011170730A (en) * | 2010-02-22 | 2011-09-01 | Renesas Electronics Corp | Semiconductor device and data processing system |
WO2013038549A1 (en) * | 2011-09-15 | 2013-03-21 | 富士通株式会社 | Power supply control method and system |
JPWO2013038549A1 (en) * | 2011-09-15 | 2015-03-23 | 富士通株式会社 | Power supply control method and system |
US9471123B2 (en) | 2011-09-15 | 2016-10-18 | Fujitsu Limited | Reducing unnecessary power consumed by peripheral devices while displaying a moving image |
CN106681472A (en) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | Heterogeneous multi-core processor power consumption control device and power consumption control method thereof |
CN106681472B (en) * | 2016-10-20 | 2019-08-23 | 南方电网科学研究院有限责任公司 | heterogeneous multi-core processor power consumption control device and power consumption control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP4711410B2 (en) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4711410B2 (en) | Semiconductor integrated circuit | |
US7716536B2 (en) | Techniques for entering a low-power link state | |
US8339869B2 (en) | Semiconductor device and data processor | |
CN114490194B (en) | Power failure processing method, functional node, processing system, device and storage medium | |
US7398409B2 (en) | Semiconductor integrated circuit and its power-saving control method and program | |
US9170963B2 (en) | Apparatus and method for generating interrupt signal that supports multi-processor | |
US9319313B2 (en) | System and method of forwarding IPMI message packets based on logical unit number (LUN) | |
TW202026895A (en) | Aggregated in-band interrupt | |
JP2010277160A (en) | Bus control system and semiconductor integrated circuit | |
JP4421390B2 (en) | Semiconductor integrated circuit | |
JP5981004B2 (en) | Semiconductor device | |
JP2016206891A (en) | Access interruption circuit, semiconductor integrated circuit, and access interruption method | |
TWI765282B (en) | Touch display chip and information processing device | |
JP6252799B2 (en) | Arithmetic processing device and control method thereof | |
JP2006268390A (en) | Serial interface circuit | |
JP5805546B2 (en) | Semiconductor device | |
JP2008102886A (en) | Bus control method and device | |
TWI682273B (en) | Power control method for storage devices and electronic system using the same | |
CN113923173B (en) | Quick starting recovery method for data surface of network switching equipment | |
JP2006155488A (en) | Data processor and data processing method | |
JP2008047033A (en) | Controller and control method | |
JP2001084161A (en) | Data processor | |
JP2024058871A (en) | Port sampling system and latch circuit device | |
JPH09297637A (en) | Plural-power supply processor | |
JPH11338713A (en) | Computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080912 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100507 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110318 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |