本願に開示される実施形態は、動的電圧・周波数制御(Dynamic Voltage and Frequency Scaling)(以下、DVFSと称する))に適用して好適なものである。DVFSとは、プロセッサコア等に供給される電源電圧とクロック信号の周波数とを可変制御することである。プロセッサコアが演算処理を行う時に処理速度に応じて最適な電源電圧とクロック信号の周波数を供給することにより、不必要な電力供給を抑止し、消費電力を削減することを目的としている。
プロセッサコアを有する半導体集積回路においてDVFSを実現するため、複数の電源系統を有しており、その少なくとも一系統の電源電圧を可変制御することを可能とする設計(以下、「多電源設計」と記す。)を行うことがある。
図2を参照し、第1実施形態の構成について説明する。図2は、第1実施形態のブロック図である。
図2に示す多電源システム101は、半導体集積回路201と電源制御回路301とを有している。半導体集積回路201は多電源設計がされている半導体集積回路である。半導体集積回路201内部にある第1および第2回路ブロック20、31は、各々、第1電源電圧(PD1)と第2電源電圧(PD2)とが供給されている。ここで、第1電源電圧(PD1)は可変であり、第2電源電圧(PD2)は固定である。
図2において、第1回路ブロック20とは、ブロック内にある回路が第1電源電圧(PD1)を給電されて動作することを示し、第2回路ブロック31とは、ブロック内にある回路が第2電源電圧(PD2)を給電されて動作することを示す。
半導体集積回路201の外部から供給される元クロック信号(CK00)が、第2回路ブロック31に備えられているPLL回路80に入力される。PLL回路80はクロック信号(CK0)を出力する。PLL回路80により、クロック信号(CK0)の周波数は元クロック信号(CK00)に同期する。クロック信号(CK0)は、第2回路ブロック31に備えられている制御回路85に入力される。
制御回路85は、第1元クロック信号(CK01)と第2元クロック信号(CK02)とを出力する。第1元クロック信号(CK01)は、第1回路ブロック20に備えられているプロセッサコア40内部にあるバッファ50に入力される。第2元クロック信号(CK02)は、第2回路ブロック31に備えられている機能回路70内部にあるバッファ55に入力される。
バッファ50は第1クロック信号(CK1)を出力する。また、バッファ55は第2クロック信号(CK2)を出力する。第1クロック信号(CK1)は、プロセッサコア40内部にあるフリップフロップ回路60、及び第2回路ブロック31に備えられている位相比較回路5に入力される。第2クロック信号(CK2)は、機能回路70内部にあるフリップフロップ回路65、電圧変更許可回路1、及び位相比較回路5に入力される。フリップフロップ回路60はフリップフロップ回路65にデータ(DATA)を転送する。
位相比較回路5は、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差を比較して、位相比較結果信号(CKA1)、(CKA2)を出力する。
第1クロック信号(CK1)の位相が第2クロック信号(CK2)の位相よりも進んでいる場合には、位相比較回路5は、位相比較結果信号(CKA1)をハイレベルで、位相比較結果信号(CKA2)をローレベルで出力する。
第1クロック信号(CK1)の位相が第2クロック信号(CK2)の位相よりも遅れている場合には、位相比較回路5は、位相比較結果信号(CKA1)をローレベルで、位相比較結果信号(CKA2)をハイレベルで出力する。
第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相とが実質的に一致している場合には、位相比較回路5は、位相比較結果信号(CKA1)、(CKA2)を共にローレベルで出力する。
ここで、実質的に一致とは、第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相との位相差が、フリップフロップ回路60からフリップフロップ回路65へのデータ(DATA)の受け渡しに支障を生じない範囲内での位相差である。
位相比較結果信号(CKA1)、(CKA2)は、制御回路85及び電圧変更許可回路1に入力される。制御回路85は、位相比較結果信号(CKA1)、(CKA2)に応じて第1元クロック信号(CK01)及び第2元クロック信号(CK02)の位相を調整する。
具体的には、位相比較結果信号(CKA1)がハイレベルで、位相比較結果信号(CKA2)がローレベルで入力される場合には、制御回路85は、第1元クロック信号(CK01)の位相を遅らせる。位相比較結果信号(CKA1)がローレベルで、位相比較結果信号(CKA2)がハイレベルで入力される場合には、制御回路85は第2元クロック信号(CK02)の位相を遅らせる。位相比較結果信号(CKA1)、(CKA2)が共にローレベルで入力される場合には、制御回路85は、第1元クロック信号(CK01)の位相及び第2元クロック信号(CK02)の位相を維持する。
なお、クロック(CK1)は元クロック(CK01)に、クロック(CK2)は元クロック(CK02)に同期する。クロック(CK1)及び元クロック(CK01)は、各々、バッファ50の出力信号及び入力信号であり、クロック(CK2)及び元クロック(CK02)は、各々、バッファ55の出力信号及び入力信号であるからである。よって、元クロック(CK01)、(CK02)の位相が調整されることにより、クロック(CK1)、(CK2)の位相が調整される。
電圧変更許可回路1は、電圧変更許可信号(PCEN)を出力する。電圧変更許可信号(PCEN)は、電源制御回路301に入力される。更に電源制御回路301には、イネーブル信号(EN)、切り替え信号(UPDN)、クロック信号(CLK)、及び対象電圧設定信号(TG)が入力される。電源制御回路301からは、第1電源電圧(PD1)及び比較結果信号(CMP)が出力される。比較結果信号(CMP)は外部コントローラ(不図示)に入力される。
イネーブル信号(EN)、切り替え信号(UPDN)、及び対象電圧設定信号(TG)は、外部コントローラ(不図示)から出力される信号である。イネーブル信号(EN)は、第1電源電圧(PD1)の電圧変動を許可する信号である。イネーブル信号(EN)がハイレベルに維持されている時に第1電源電圧(PD1)の電圧変動が可能となる。
切り替え信号(UPDN)は、第1電源電圧(PD1)を増加するのか又は低下するのかを指示する信号である。切り替え信号(UPDN)がハイレベルに維持されている時に第1電源電圧(PD1)の増加が可能となる。切り替え信号(UPDN)がローレベルに維持されている時に第1電源電圧(PD1)の低下が可能となる。
対象電圧設定信号(TG)は、電源制御回路301が出力する第1電源電圧(PD1)の電圧値を指示する信号である。ここでは、対象電圧設定信号(TG)は、例えば10ビットの信号である。
図3を参照し、電圧変更許可回路1について説明する。図3全体が、電圧変更許可回路1の一例である。
位相比較結果信号(CKA1)は、否定論理和回路NORの一端子に入力される。位相比較結果信号(CKA2)は、否定論理和回路NORの他端子に入力される。否定論理和回路NORの出力端子は、D型フリップフロップ回路DFF1の入力端子D1に接続されている。D型フリップフロップ回路DFF1のクロック入力端子N1には第2クロック信号(CK2)が入力される。D型フリップフロップ回路DFF1は、第2クロック信号(CK2)に同期動作する。D型フリップフロップ回路DFF1の出力端子Q1から出力される信号が、電圧変更許可信号(PCEN)である。
位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態で、第2クロック信号(CK2)がローレベルからハイレベルに遷移すると、否定論理和回路NORから出力されるハイレベル信号がD型フリップフロップ回路DFF1に取り込まれる。これにより、D型フリップフロップ回路DFF1の出力端子Q1からハイレベル信号が出力される。電圧変更許可信号(PCEN)がハイレベルになる。位相比較結果信号(CKA1)、(CKA2)の何れかがハイレベルの状態で第2クロック信号(CK2)がローレベルからハイレベルに遷移すると、電圧変更許可信号(PCEN)はローレベルになる。電圧変更許可信号(PCEN)がハイレベルに維持されていることが、第1電源電圧(PD1)が変動する条件の一つである。
図4を参照し、電源制御回路301の内部構成について説明する。図4全体が電源制御回路301の一例である。
電圧変更許可信号(PCEN)とクロック信号(CLK)とが、カウンタクロック生成回路6に入力される。カウンタクロック生成回路6は、カウンタクロック信号(CCK)を出力する。カウンタクロック信号(CCK)は電圧制御回路7に入力される。電圧制御回路7はカウンタクロック信号(CCK)に同期動作する。また、更に電圧制御回路7には、イネーブル信号(EN)及び切り替え信号(UPDN)が入力される。イネーブル信号(EN)がハイレベルを維持していることが、電圧切り替え信号(CV)の論理値を可変する条件の1つである。切り替え信号(UPDN)がハイレベルを維持していることが、電圧切り替え信号(CV)に1を加算する条件の1つである。切り替え信号(UPDN)をローレベルに維持していることが、電圧制御電圧切り替え信号(CV)に1を減算する条件の1つである。
電圧制御回路7は、電圧切り替え信号(CV)を出力する。電圧切り替え信号(CV)は、対象電圧設定信号(TG)と同じビット列で構成される(ここでは、例えば10ビット)信号である。電圧切り替え信号(CV)は、比較回路8及びレギュレータ回路9に入力される。更に比較回路8には、対象電圧設定信号(TG)が入力される。比較回路8は、電圧切り替え信号(CV)の論理値と対象電圧設定信号(TG)の論理値とを比較し、比較結果信号(CMP)を出力する。レギュレータ回路9から出力される信号が第1電源電圧(PD1)である。
図5を参照し、カウンタクロック生成回路6の内部構成について説明する。図5全体がカウンタクロック生成回路6の一例である。
電圧変更許可信号(PCEN)がラッチ回路LATCHに入力される。更に、ラッチ回路LATCHにはクロック信号(CLK)が入力される。ラッチ回路LATCHは、クロック信号(CLK)に同期動作する。ラッチ回路LATCHは、クロック信号(CLK)が、例えば、ローレベルからハイレベルに遷移した時における電圧変更許可信号(PCEN)の論理状態を保持する。そして、保持した論理状態の信号を出力する。クロック信号(CLK)がローレベルからハイレベルに遷移するときに、電圧変更許可信号(PCEN)がハイレベルを維持していると、ラッチ回路LATCHはハイレベルを出力する。逆に、電圧変更許可信号(PCEN)がローレベルを維持していると、ラッチ回路LATCHはローレベルを出力する。
ここで、ラッチ回路LATCHは、クロック信号(CLK)が、ローレベルからハイレベルに遷移した時の電圧変更許可信号(PCEN)の論理状態を保持するとした。しかし、これに限られない。クロック信号が、ハイレベルからローレベルに遷移した時の電圧変更許可信号(PCEN)の論理状態を保持するとしても良い。クロック信号(CLK)により、ラッチ回路LATCHにおける電圧変更許可信号(PCEN)のラッチのタイミングがとれれば良いのである。
ラッチ回路LATCHの出力端子は論理積回路AND1の一端子に接続されている。論理積回路AND1の他端子にはクロック信号(CLK)が入力される。論理積回路AND1の出力端子から出力される信号が、カウンタクロック信号(CCK)である。
カウンタクロック生成回路6は、電圧変更許可信号(PCEN)がハイレベルを維持している時のみ、クロック信号(CLK)と同相の信号をカウンタクロック信号(CCK)として出力する。
図6を参照し、比較回路8の内部構成について説明する。図6全体が比較回路8の一例である。
電圧切り替え信号(CV)の各ビット(CV1からCV10)が、各ビット(CV1からCV10)に対応した否定排他的論理和回路(ENOR1からENOR10)の一入力端子に入力される。
同様に、対象電圧設定信号(TG)の各ビット(TG1からTG10)が、各ビット(TG1からTG10)に対応した否定排他的論理和回路(ENOR1からENOR10)の他入力端子に入力される。各ビット(TG1からTG10)に対応した否定排他的論理和回路ENOR1からENOR10の他入力端子とは、例えば、対象電圧設定信号(TG)の最下位ビット(TG1)ならば否定排他的論理和回路ENOR1の他入力端子である。
なお、ここでは、電圧切り替え信号(CV)の最下位ビットは(CV1)、電圧切り替え信号(CV)の最下位ビットから1ビット上位のビットは(CV2)、以下順次上位のビットに移るごとに大きな数字となるようし、最上位ビットは(CV10)と表記する。対象電圧設定信号(TG)についても同様である。CV及びTGの後につく数字が、最下位ビットから最上位ビットに向かったビット位置を示すように表されている。
否定排他的論理和回路ENOR1からENOR10の各出力端子は、論理積回路AND2の各入力端子に接続されている。論理積回路AND2の出力端子から出力される信号が比較結果信号(CMP)である。
比較回路8は、電圧切り替え信号(CV)の論理値と対象電圧設定信号(TG)の論理値とが同一である時のみ、比較結果信号(CMP)をハイレベルとして出力する。ここで論理値が同一とは、例えば、電圧切り替え信号(CV)が0000000000である場合に、対象電圧設定信号(TG)も同様に0000000000であることを指す。
図7を参照し、レギュレータ回路9の内部構成について説明する。図7全体がレギュレータ回路9の一例である。
電源電圧(VDD)が、抵抗素子R1の一端子とスイッチ素子SW1の一端子に入力されている。抵抗素子R1の他端子は抵抗素子R2の一端子に接続されている。抵抗素子R2の他端子は抵抗素子R3の一端子に接続されている。以下同様に、抵抗素子Rn(n=3乃至1024)の他端子が、抵抗素子R(n+1)(n=3乃至1024)の一端子に接続されている状態が、抵抗素子R1024まで続く。抵抗素子R1024の他端子は接地されている。
抵抗素子R1の一端子は、スイッチ素子SW1の一端子に接続されている。抵抗素子R2の一端子は、スイッチ素子SW2の一端子に接続されている。以下同様に、抵抗素子Rn(n=3乃至1024)の一端子は、スイッチ素子SWn(n=3乃至1024)の一端子に接続されている状態が、抵抗素子R1024まで続く。
スイッチ素子SW1からスイッチ素子SW1024の各々の他端子は互いに接続されている。この接続点に、スイッチ素子SW1乃至スイッチ素子SW1024の何れかを介して出力される電圧が基準電圧(VREF)である。この接続点は、増幅器AMP1の非反転入力端子に接続されており、増幅器AMP1の非反転入力端子に基準電圧(VREF)が入力される。
ここで、抵抗素子R1から抵抗素子R1023までの抵抗値は同じである。また、抵抗素子R1024の抵抗値は、抵抗素子R1から抵抗素子R1023までの抵抗素子の抵抗値をすべて加算した抵抗値である。抵抗素子R1から抵抗素子R1024までの接続関係は分圧回路の一例である。これにより、電源電圧(VDD)の電圧値をVDDとすると、抵抗素子Rnの一端子に出力される電圧値は、VDD−(((VDD/2)/1023)×(n−1))になる。
スイッチ素子SW1からスイッチ素子SW1024までの制御端子には、電圧切り替え信号(CV)がデコードされて入力される。電圧切り替え信号(CV)に含まれる論理値が、スイッチ素子SW1からスイッチ素子SW1024の導通、非導通に対応する。すなわち、電圧切り替え信号(CV)がデコードされた1024の信号により、スイッチ素子SW1からスイッチ素子SW1024までの何れか一つのスイッチが導通状態に制御される。
具体的には、2進数表記で表されている電圧切り替え信号(CV)の論理値を10進数表記に変換して1を加算した数値を有するスイッチ素子SWm(m=1乃至1024)が導通する。例えば、電圧切り替え信号(CV)の論理値が、0000000000である場合には、スイッチ素子SW1のみ導通し、他のスイッチ素子はすべて非導通となる。
図7に例示するレギュレータ回路9の回路接続により、基準電圧(VREF)の電圧値は、電源電圧(VDD)の電圧値から電源電圧(VDD)の半分の電圧値までを1024段階に分圧した電圧値の何れかとなる。
基準電圧(VREF)は増幅器AMP1の非反転入力端子に入力される。増幅器AMP1の出力端子は、増幅器AMP1の反転入力端子に接続されており、増幅器AMP1は電圧フォロワ回路として作用する。よって、増幅器AMP1の出力端子から出力される第1電源電圧(PD1)の電圧値は、基準電圧(VREF)の電圧値となる。
レギュレータ回路9は、電圧切り替え信号(CV)に含まれる論理値に基づいて、抵抗素子R1から抵抗素子R1024によって分圧されている各分圧点の何れか1つを増幅器AMP1の非反転入力端子と接続する。これにより、第1基準電圧(PD1)を可変し、出力する。
図8と図9を参照し、第1実施形態の作用について説明する。
ここでは説明の都合上、電源電圧(VDD)の電圧値を1.2Vと仮定する。しかしながら第1実施形態の作用はこれに限られない。また、わかりやすく説明するため、第1電源電圧(PD1)の電圧値を、電源電圧(VDD)の電圧値である1.2Vの半分の電圧値0.6Vまで変動すると仮定する。
図8は、第1電源電圧(PD1)が変動している時における電源制御回路301内部の各信号を表した波形図である。なお、図8では対象電圧設定信号(TG)の論理値と電圧切り替え信号(CV)の論理値とを10進数表記で表すことにした。図9は、第1電源電圧(PD1)の電圧値を1.2Vから0.6Vまで変動する時の第1実施形態の作用を表したフローチャートである。
第1電源電圧(PD1)を変更する前である初期状態(図8中のT1)において、第1電源電圧(PD1)は電源電圧(VDD)と同値である。この状態では、対象電圧設定信号(TG)の論理値は0000000000であり、電圧切り替え信号(CV)の論理値も同じ0000000000である。
対象電圧設定信号(TG)の論理値及び電圧切り替え信号(CV)の論理値が同じである。そのため、比較回路8にある各否定排他的論理和回路ENOR1からENOR10の各々において、一入力端子及び他入力端子に入力される信号の論理レベルは同じである。各否定排他的論理和回路ENOR1からENOR10はハイレベルを出力していて、比較結果信号(CMP)はハイレベルに維持されている。
外部コントローラ(不図示)が、クロック信号(CLK)がハイレベルに遷移するタイミング(図8中のT2)で、対象電圧設定信号(TG)の論理値を変更する(図9のS1)。ここでは、0000000000から1111111111に変更する。この1111111111は、第1電源電圧(PD1)を0.6Vにまで変更する論理値である。
ここで、対象電圧設定信号(TG)の論理値と第1電源電圧(PD1)との対応関係を図10に示す。対象電圧設定信号(TG)の論理値0000000000が、第1電源電圧(PD1)の1.2Vに対応する。対象電圧設定信号(TG)が0000000000から対象電圧設定信号(TG)に1が加算されるごとに、第1電源電圧(PD1)の電圧値が1.2Vから約0.0006Vごと低下する。
外部コントローラ(不図示)によって変更された対象電圧設定信号(TG)は、電源制御回路301に入力される。電源制御回路301は、対象電圧設定信号(TG)が変更されても電圧切り替え信号(CV)を直ちに変更することはなく、図9の処理に従って電圧値の変更シーケンスを実行する。対象電圧設定信号(TG)の論理値が変更されることにより(図9のS1)、対象電圧設定信号(TG)の論理値と電圧切り替え信号(CV)の論理値とに差異が生じる。比較回路8にある各否定排他的論理和回路ENOR1からENOR10の各々において、一入力端子及び他入力端子に入力される信号の論理レベルに差異が生じる。各否定排他的論理和回路ENOR1からENOR10の各々がローレベルを出力することにより、比較結果信号(CMP)はローレベルに遷移する。
外部コントローラが、比較結果信号(CMP)のローレベル遷移を検知すると、クロック信号(CLK)がハイレベルに遷移するタイミング(図8中のT3)で、切り替え信号(UPDN)がローレベルに遷移する(図9中のS2)。このローレベル信号は、電源制御回路301に入力される。そして次に、クロック信号(CLK)がハイレベルに遷移するタイミング(図8中のT4)で、イネーブル信号(EN)がハイレベルに遷移する(図9中のS3)。このハイレベル信号は、電源制御回路301に入力される。
処理(図9中のS1)から処理(図9中のS3)までの作用が行われている間にも、位相比較回路5は、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差を比較し、位相比較結果信号(CKA1)、(CKA2)を出力する。第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が、実質的に一致していると、位相比較結果信号(CKA1)、(CKA2)が共にローレベルとして出力される。この状態で、第2クロック信号(CK2)がハイレベルに遷移すると、電圧変更許可信号(PCEN)がハイレベルに遷移する。図8では、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差の一致比較は、第1電源電圧(PD1)の変更前の初期状態(図8中のT1以前)において行われており、電圧変更許可信号(PCEN)がハイレベルに維持されている。
電圧変更許可信号(PCEN)がハイレベルに維持されている(図9中のS4:YES)場合、クロック信号(CLK)がハイレベルに遷移すると、ラッチ回路LATCHにはハイレベルの電圧変更許可信号(PCEN)がラッチされる。ラッチ回路LATCHはハイレベル信号を出力する。ラッチ回路LATCHによるハイレベル出力は、電圧変更許可信号(PCEN)がローレベルに遷移するまで継続する。
ラッチ回路LATCHがハイレベルを出力し、クロック信号(CLK)が論理和回路AND1に入力されると、1クロックのカウンタクロック信号(CCK)が出力される(図9中のS5)。
1クロックのカウンタクロック信号(CCK)がハイレベルに遷移するタイミング(図8中のT5)で、電圧切り替え信号(CV)に1が加算される(図9中のS6)。1が加算されるとは、例えば、電圧切り替え信号(CV)の論理値が、0000000000から0000000001になることを意味する。
電圧切り替え信号(CV)に1が加算される(図9中のS6)とそれに対応して、各スイッチ素子SW1からSW1024の導通・非導通状態が切り替わる。例えば、電圧切り替え信号(CV)の論理値が0000000000から0000000001になると、スイッチ素子SW1が導通であり他のスイッチ素子SW2からSW1024が非導通である状態から、スイッチ素子SW2が導通でありスイッチ素子SW2を除く他のスイッチ素子SW1からSW1024が非導通である状態になる。
これにより、基準電圧(VREF)の電圧値が低下する。また、基準電圧(VREF)の電圧値と第1電源電圧(PD1)の電圧値は同値であるため、第1電源電圧(PD1)の電圧値も低下する。なお、低下する電圧値は、電源電圧(VDD)の電圧値の半分を1023で除算した電圧値である(図9中のS7)。
対象電圧設定信号(TG)の論理値と電圧切り替え信号(CV)の論理値とを比較し(図9中のS8)、一致していなければ(図9中のS8:NO)、処理(図9中のS4)に戻って、一致するまで(図9中のS8:YES)処理を繰り返す。
図11に、電圧切り替え信号(CV)の論理値に対応して導通するスイッチ素子(SW1乃至SW1024のうちの何れか一つ)と、スイッチ素子(SW1乃至SW1024のうちの何れか一つ)が導通することにより、出力される第1電源電圧(PD1)の電圧値との関係を示す。
処理(図9中のS5)から処理(図9中のS7)までの作用は、カウンタクロック信号(CCK)の1周期内で行われる。また、処理(図9中のS5)から処理(図9中のS7)までの作用は、電圧変更許可信号(PCEN)がローレベルで出力される(図8中のT6)(図9中のS4:NO)まで繰り返し継続する。第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が実質的に一致していないと、位相比較結果信号(CKA1)、(CKA2)のどちらかがハイレベルとして出力される。この状態で、D型フリップフロップ回路DFFに入力される第2クロック信号(CK2)がハイレベルに遷移すると、電圧変更許可信号(PCEN)がローレベルに遷移する(図8中のT6)(図9中のS4:NO)。
なお、電圧変更許可信号(PCEN)がローレベルにある場合には、第1電源電圧(PD1)の電圧値の変更シーケンスは中断する(図9中のS4:NO)。この場合は、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が実質的に一致しているとはいえない場合である。第1電源電圧(PD1)の電圧値の変更シーケンスを止めて、フリップフロップ回路60からフリップフロップ回路65へデータ(DATA)の受け渡しができなくなる事態を防止する。
電圧変更許可信号(PCEN)がローレベルを維持している場合、クロック信号(CLK)がハイレベルに遷移すると、ラッチ回路LATCHにはローレベルの電圧変更許可信号(PCEN)がラッチされる。ラッチ回路LATCHはローレベル信号を出力する。ラッチ回路LATCHによるローレベル出力は、電圧変更許可信号(PCEN)がハイレベルに遷移するまで継続する。
ラッチ回路LATCHがローレベルを出力していると、処理(図9中のS5)から処理(図9中のS7)までは行われない。これは、ラッチ回路LATCHがローレベルを出力している状態においては、クロック信号(CLK)の論理レベルがどのように遷移しても、カウンタクロック信号(CCK)はローレベルに維持されるからである。
電圧変更許可信号(PCEN)がハイレベルに遷移し、カウンタクロック信号(CCK)がハイレベルに遷移する(図8中のT7)(図9中のS4:YES)と、処理(図9中のS5)から処理(図9中のS7)が再び開始される。
処理(図9中のS5)から処理(図9中のS7)までは、電圧変更許可信号(PCEN)がハイレベルにあることを条件として(図9中のS4:YES)、対象電圧設定信号(TG)の論理値が、電圧切り替え信号(CV)の論理値と同じになるまで継続する。
対象電圧設定信号(TG)の論理値が電圧切り替え信号(CV)の論理値と同じになる(図8中のT8)(図9中のS8:YES)と、論理積回路AND2が比較結果信号(CMP)をハイレベルで出力する。外部コントローラは、比較結果信号(CMP)がハイレベルに遷移することに応じて、イネーブル信号(EN)をローレベルに遷移する。イネーブル信号(EN)がローレベルになると、電源制御回路301は、第1電源電圧(PD1)の電圧変動を停止させる。
第1実施形態の効果について説明する。
第1回路ブロック20と第2回路ブロック31とを有する多電源システム101の第1電源電圧(PD1)が変動する際に、位相比較回路5が、第1クロック信号(CK1)と第2クロック信号(CK2)との位相を比較する。位相比較回路5によって、第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相が一致しているとみなされれば、電圧変更許可回路1は、電圧変更許可信号(PCEN)をハイレベルで出力する。電圧変更許可信号(PCEN)がハイレベルを維持している時、電源制御回路301は、第1電源電圧(PD1)を変動させる。第1電源電圧(PD1)の変動シーケンスは段階的に行われる。これは、比較回路5によって、第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相が一致しているとみなされている間継続する。
第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相とが実質的に一致する状態が維持された上で、第1電源電圧(PD1)の電圧値の変更が段階的に行われる。従って、第1電源電圧(PD1)の電圧値が急峻に変動して第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が大きくなり、フリップフロップ回路60とフリップフロップ回路65とのデータの受け渡しができなくなるという事態を防止することができる。
第1電源電圧(PD1)の電圧値が動的に変更される変更シーケンスの期間においても、第1クロック信号(CK1)と第2クロック信号(CK2)とは同期して動作をすることができ、電源電圧の変動中でも、フリップフロップ回路60とフリップフロップ回路65とのデータの受け渡しを行うことができる。
位相比較回路5により、第1クロック信号(CK1)の位相と第2クロック信号(CK2)の位相が一致していないとみなされれば、電圧変更許可回路1は、電圧変更許可信号(PCEN)をローレベルに遷移する。電圧変更許可信号(PCEN)がローレベルを維持していると、電源制御回路301は、第1電源電圧(PD1)の変動を停止する。そして、次に電圧変更許可信号(PCEN)がハイレベルに遷移するまで、現状の第1電源電圧(PD1)の電圧値を維持させる。
電圧変更許可信号(PCEN)がローレベルの場合には、第1電源電圧(PD1)の変更シーケンスは中断される。これにより、第1電源電圧(PD1)の電圧値が急激に変動して、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が大きくなってしまうことを防止することができる。電圧変更許可信号(PCEN)のローレベルへの遷移は、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が許容値を超えた場合に行われるので、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が許容値を超えてしまうような第1電源電圧(PD1)の変動を抑止することができる。
第1電源電圧(PD1)の電圧変動が中断している時においても、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差調整は行われる。そして、再び、位相差比較回路5により、第1クロック信号(CK1)と第2クロック信号(CK2)の位相が一致しているとみなされれば、電圧変更許可回路1によって、電圧変更許可信号(PCEN)がハイレベルに遷移する。電圧変更許可信号(PCEN)がハイレベルを維持していると、電源制御回路301が、第1電源電圧(PD1)を変動させる。
第1クロック信号(CK1)と第2クロック信号(CK2)とに位相差が生じたら、第1電源電圧(PD1)の変動が中断する。すなわち、第1クロック信号(CK1)と第2クロック信号(CK2)の位相が実質的に一致する許容範囲の中で第1電源電圧(PD1)の電圧値が動的に変動する変更シーケンスが進行する。第1電源電圧(PD1)の電圧値が動的に変更されている期間中においても、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差は一定の範囲に維持される。
ここで、一定に維持される位相差の範囲は、フリップフロップ回路60とフリップフロップ回路65とのデータ(DATA)の受け渡しが可能な範囲である。
第2実施形態について説明する。第2実施形態は、第1実施形態における電圧変更許可回路1に代えて、電圧変更許可回路2を備えている。以下の説明では、電圧変更許可回路2について説明する。
図12を参照し、電圧変更許可回路2について説明する。図12全体が、電圧変更許可回路2の一例である。
位相比較結果信号(CKA1)は、否定論理和回路NOR2の一端子に入力される。位相比較結果信号(CKA2)は、否定論理和回路NOR2の他端子に入力される。否定論理和回路NOR2の出力端子は、D型フリップフロップ回路DFF2の入力端子D2に接続されている。
D型フリップフロップ回路DFF2のクロック入力端子N2には第2クロック信号(CK2)が入力される。D型フリップフロップ回路DFF2は、第2クロック信号(CK2)に同期動作する。D型フリップフロップ回路DFF2の出力端子Q2は、D型フリップフロップ回路DFF3の入力端子D3に接続されている。
D型フリップフロップ回路DFF3のクロック入力端子N3には第2クロック信号(CK2)が入力される。D型フリップフロップ回路DFF3は、第2クロック信号(CK2)に同期動作する。D型フリップフロップ回路DFF3の出力端子Q3は、D型フリップフロップ回路DFF4の入力端子D4に接続されている。
D型フリップフロップ回路DFF4のクロック入力端子N4には第2クロック信号(CK2)が入力される。D型フリップフロップ回路DFF4は、第2クロック信号(CK2)に同期動作する。
D型フリップフロップ回路DFF2の出力端子Q2、D型フリップフロップ回路DFF3の出力端子Q3、及びD型フリップフロップ回路DFF4の出力端子Q4は、論理積回路AND3の各入力端子に接続されている。第2実施形態において、論理積回路AND3の出力端子から出力される信号が、電圧変更許可信号(PCEN)である。
電圧変更許可回路2の作用について説明する。
位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態で、第2クロック信号(CK2)がローレベルからハイレベルに遷移すると、否定論理和回路NOR2から出力されるハイレベル信号が、D型フリップフロップ回路DFF2に取り込まれる。これにより、D型フリップフロップ回路DFF2の出力端子Q2からハイレベル信号が出力される。
位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態が継続している間に、第2クロック信号(CK2)が再度ローレベルからハイレベルに遷移すると、否定論理和回路NOR2から出力されるハイレベル信号がD型フリップフロップ回路DFF2に、D型フリップフロップ回路DFF2の出力端子Q2から出力されるハイレベル信号がD型フリップフロップ回路DFF3に取り込まれる。これにより、D型フリップフロップ回路DFF2の出力端子Q2及びD型フリップフロップ回路DFF3の出力端子Q3からハイレベル信号が出力される。
更に、位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態が継続して、第2クロック信号(CK2)が再度ローレベルからハイレベルに遷移すると、否定論理和回路NOR2から出力されるハイレベル信号がD型フリップフロップ回路DFF2に、D型フリップフロップ回路DFF2の出力端子Q2から出力されるハイレベル信号がD型フリップフロップ回路DFF3に、D型フリップフロップ回路DFF3の出力端子Q3から出力されるハイレベル信号がD型フリップフロップ回路DFF4に取り込まれる。これにより、D型フリップフロップ回路DFF2の出力端子Q2、D型フリップフロップ回路DFF3の出力端子Q3、及びD型フリップフロップ回路DFF4の出力端子Q4からハイレベル信号が出力される。
D型フリップフロップ回路DFF2の出力端子Q2、D型フリップフロップ回路DFF3の出力端子Q3、及びD型フリップフロップ回路DFF4の出力端子Q4からハイレベル信号が出力される場合、電圧変更許可信号(PCEN)がハイレベルで出力される。言い換えれば、第2クロック信号(CK2)が3サイクルの間、位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態にある場合に、電圧変更許可信号(PCEN)がハイレベルに遷移する。
電圧変更許可回路2の効果について説明する。
第2クロック信号(CK2)が3サイクルの間、位相比較結果信号(CKA1)、(CKA2)が共にローレベルの状態が維持される場合に、電圧変更許可信号(PCEN)がハイレベルに遷移する。すなわち、第2クロック信号(CK2)が3サイクルという期間に、第1クロック信号(CK1)と第2クロック信号(CK2)との位相差が実質的に一致するという状態が安定して継続していることを検出することができる。このような安定期間に電圧変更許可信号(PCEN)としてハイレベル信号を出力して、第1電源電圧(PD1)の電圧値の変更シーケンスを実行することができる。第1クロック信号(CK1)と第2クロック信号(CK2)との同期を確保しながら、第1電源電圧(PD1)の電圧値の変更を行うことができる。
ここで、第1電源電圧(PD1)及び第2電源電圧(PD2)は、請求項の電源電圧の一例である。電源制御回路301は、請求項の電源制御回路の一例である。電圧変更許可信号(PCEN)は、請求項の電圧変更許可信号の一例である。第1クロック信号(CK1)及び第2クロック信号(CK2)は、請求項の各々に供給されるクロック信号の一例である。位相比較回路5は、請求項の位相比較回路の一例である。電圧変更許可回路1、2は、請求項の電圧変更許可回路の一例である。多電源システム101は、請求項の多電源システムの一例である。D型フリップフロップ回路DFF2乃至4は、請求項の複数のフリップフロップ回路の一例である。論理積回路AND3は、請求項のゲート回路の一例である。半導体集積回路201は、請求項の半導体集積回路及び多電源動作装置の一例である。
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。例えば、本願に開示する第1実施形態の作用では、第1電源電圧(PD1)の電圧値が低下する場合のみを説明した。しかしながら、本願はこの場合に限定されない。第1電源電圧(PD1)の電圧値が増加する場合についても、同様の作用効果を奏するものである。第1電源電圧(PD1)が増加する場合には、電圧切り替え信号(UPDN)がハイレベルになる。また、第1電源電圧(PD1)に代えてあるいは第1電源電圧(PD1)と共に、第2電源電圧(PD2)の電圧値が動的に変動する場合にも、本願が同様に適用できることは言うまでもない。
以上に述べた実施形態によれば、電源電圧の動的な変更時においても、電源電圧の変更シーケンスを調整することで、回路ブロック間の同期動作を可能とする多電源システム及び半導体集積回路を提供すること、および電源電圧変更シーケンスを調整する電源制御回路を提供することができる。