(57)【要約】【課題】  異なる電源ドメインブロック間のデータ転送を、小さいチップ面積で実現する。【解決手段】  異なる電圧で動作する第一の電源ドメインブロックと第二の電源ドメインブロックと、電源ドメインブロックの電圧差を判定し増加または減少させる電圧制御装置と、を備え、第一の電源ドメインブロックと第二の電源ドメインブロックの電圧差が基準電圧より小さい場合転送を開始する。【選択図】  図１
2020194484.tif 000002
【特許請求の範囲】
【請求項１】
異なる電圧で動作する第一の電源ドメインブロックと第二の電源ドメインブロックと、
電源ドメインブロックの電圧差を判定し増加または減少させる電圧制御装置と、を備え、
前記第一の電源ドメインブロックと前記第二の電源ドメインブロックの電圧差が基準電圧値より小さい場合に転送を開始すること、
を特徴とする半導体装置。
【請求項２】
前記電圧制御装置は、データ転送の許可信号を前記電源ドメインブロックへ出力する手段を更に備えることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記電圧制御装置は、前記第一の電源ドメインブロックと前記第二の電源ドメインブロックの電圧値を検出することを特徴とする請求項１に記載の半導体装置。
【請求項４】
前記電圧制御装置は、前記第一の電源ドメインブロックと前記第二の電源ドメインブロックの電圧値をテーブルとして格納することを特徴とする請求項１に記載の半導体装置。
【請求項５】
前記電圧制御装置は、前記第一の電源ドメインブロックと前記第二の電源ドメインブロックの電圧値を各電源ドメインブロックから受け取ることを特徴とする請求項１に記載の半導体装置。
【請求項６】
前記電源ドメインブロックは、データ転送の開始信号を前記電圧制御装置に出力する手段を更に備えることを特徴とする請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、微細化が進む半導体集積回路の省電力化に関する。
【背景技術】
【０００２】
半導体集積回路が微細化する一方で、依然として低消費電力化は定常的な課題であり続けている。
【０００３】
微細化でトランジスタ１つ当たりの電力は小さくなっても、トランジスタの集積度の向上やデバイスの改善によるトランジスタ単体の導通性の向上によって、結果的に電力は増加するためである。
【０００４】
このような状況に対応するための低消費電力化の方法の一つとして、電源を複数設け、クロック周波数ごとに電圧を割り当てることで動作電力を削減するマルチ電源の技術が存在する。
【０００５】
例えば特許文献１では、電源を複数設け電力の管理機構をあらかじめ回路ブロックに実装しておく。レジスタに格納されている電力の管理情報を取り出し、その情報を基に各回路ブロックの電圧をコントロールして低消費電力化を実現する技術が紹介されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１１７９４４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
だがマルチ電源ブロックの転送、特に低い電圧ブロックから高い電圧ブロックへの転送にはレベルシフタが必要である。
【０００８】
レベルシフタは通常のバッファよりも回路規模が大きく、数１００ビットあるバスなどに適用した場合チップ全体の回路規模が増大してしまう上、配線も複雑になりチップ面積の増大を招く。
【０００９】
本発明ではチップ面積を削減した半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
半導体装置であって、異なる電圧で動作する第一の電源ドメインブロックと第二の電源ドメインブロックと、電源ドメインブロックの電圧差を判定し増加または減少させる電圧制御装置と、を備え、前記第一の電源ドメインブロックと前記第二の電源ドメインブロックの電圧差が基準電圧値より小さい場合に転送を開始する。
【発明の効果】
【００１１】
小さいチップ面積で、低電力化を実現できる。
【図面の簡単な説明】
【００１２】
【図１】第一の実施形態における半導体装置を示した図
【図２】第一の実施形態の電源制御装置の制御フローを示した図
【図３】電源制御装置の構成を示した図
【図４】第二の実施形態における半導体装置を示した図
【図５】第一の実施形態の電源制御装置の制御フローを示した図
【発明を実施するための形態】
【００１３】
［第一の実施形態］
第一の実施形態について、図１、図２、図３を参照して説明する。
【００１４】
＜回路構成例＞
回路構成例を図１と図３を用いて説明する。図１は、半導体装置である。半導体装置（１００）は、第一の電源ドメインブロック（１０１）と、第二の電源ドメインブロック（１０２）と、電源制御装置（１０３）を備えている。
【００１５】
第一の電源ドメインブロック（１０１）は、電源制御装置（１０３）と電源配線１（１０８）で接続され、転送準備信号（１０４）を出力し、転送保持信号（１０５）と転送許可信号（１０６）を入力とする。第二の電源ドメインブロック（１０２）にデータを転送するときに転送準備信号（１０４）を出力する。転送準備信号（１０４）はどの電源ドメインブロックへ転送するかの情報も含まれている。また、データの第二の電源ドメインブロックへの転送は、転送保持信号（１０５）が入力されている間は行わず、転送許可信号（１０６）が入力されている間だけ実施する。
【００１６】
第二の電源ドメインブロック（１０２）は、電源制御装置（１０３）と電源配線２（１０９）で接続され、転送完了信号（１０７）を出力する。第一の電源ドメインブロック（１０１）からのデータが全て転送された後、転送完了信号（１０７）を出力する。また、データの第二の電源ドメインブロック（１０２）への転送は、転送保持信号（１０５）が入力されている間は行わず、転送許可信号（１０６）が入力されている間だけ実施する。
【００１７】
第一の電源ドメインブロック（１０１）と第二の電源ドメインブロック（１０２）は任意の異なる電圧値をとることが出来る。
【００１８】
電源制御装置（１０３）は、第一の電源ドメインブロック（１０１）と電源配線１（１０８）と接続され、第二の電源ドメインブロック（１０２）と電源配線２（１０９）で接続されている。また転送保持信号（１０５）と転送許可信号（１０６）を出力し、転送準備信号（１０４）と転送完了信号（１０７）を入力とする。
【００１９】
電源制御装置（１０３）の内部構造を図３に示す。電源制御装置（１０３）は、制御部（３０１）と電圧可変部（３０２）と電圧比較部（３０３）で構成されている。制御部（３０１）は転送準備信号（１０４）、転送完了信号（１０７）、電圧比較部（３０２）からの比較結果（３０７）を入力とする。そして、転送保持信号（１０５）、転送許可信号（１０６）、電圧変更信号（３０４）、開始信号（３０５）、終了信号（３０６）を出力する。制御部（３０１）は第一の電源ドメインブロック（１０１）と第二の電源ドメインブロック（１０２）の初期の電圧値を知ることができる。初期の電圧値を知るには、半導体装置（１０１）の動作開始時に検出する、各電源ドメインブロックへ電圧値を要求し情報を受け取る、各電源ドメインブロックの電圧値をテーブルとして格納しておく、などで実現できる。
【００２０】
電源ドメインブロックの電圧値は、テーブルとして格納したものを用いる。制御部が転送準備信号（１０４）を受け取ったら、データ転送を行う電源ドメインブロック間の電圧差を判定する。もし高い電圧値の電源ドメインブロックへの転送であった場合、転送保持信号（１０５）を出力する。その後、電源配線１（１０８）の電圧値を電源配線２（１０９）の電圧値まで上昇させるような電圧変更信号（３０４）を電圧可変部（３０２）に送信し、電圧比較部（３０３）に開始信号（３０５）を送信する。電圧比較部（３０３）から比較結果（３０７）を受信した後、転送許可信号（１０６）を出力する。また、転送完了信号（１０７）を受信した後、電源配線１（１０８）の電圧値をもとの電圧値に戻すような電圧変更信号（３０４）を電圧可変部（３０２）に送信する。
【００２１】
電源配線１（１０８）の電圧と電源配線２（１０９）の電圧の差が元の電圧差であるという比較結果（３０７）が電圧比較部（３０３）から送信されたら、終了信号（３０６）を、電圧比較部（３０３）に送信する。
【００２２】
電圧可変部は、電源配線１（１０８）と接続され、電圧変更信号（３０４）を入力とする。電圧変更信号（３０４）には、例えば電圧をＸボルトまで上昇させる、Ｙボルトまで減少させるというような情報が含まれており、その情報をもとに電圧可変部は電源配線１（１０８）の電圧を変更する。上記電圧変更信号（３０４）の情報は、制御部（３０１）で各電源ドメインブロックの初期の電圧値をもとに計算されたものである。
【００２３】
電圧比較部（３０３）は、電源配線１（１０８）および電源配線２（１０９）と接続され、開始信号（３０５）と終了信号（３０６）を入力とし、比較結果（３０７）を出力する。開始信号（３０５）トリガとして電源配線１（１０８）の電圧と電源配線２（１０９）の電圧を連続的に比較し、その差が任意の電圧値と等しくなったことを検知して、比較結果（３０７）として制御部へ出力する。終了信号（３０６）の終了命令をトリガとして比較を終了する。この任意の電圧値は基準値として外部から与えても、あらかじめ電源制御装置に設定しておいてもよい。
【００２４】
＜動作例＞
動作に関して、図１、図２、図３を用いて説明を行う。図２は電圧制御装置の制御フローを示している。
【００２５】
本動作例では、通常動作時、第一の電源ドメインブロック（１０１）が低い電圧で動作し第二の電源ドメインブロック（１０２）が高い電圧で動作しているとする。また、高い電圧を１．１Ｖ、低い電圧を０．７Ｖとし、基準電圧を０．１Ｖとする。
【００２６】
第一の電源ドメインブロック（１０１）が、第二の電源ドメインブロック（１０２）にデータを転送開始する際、電源ドメインブロック（１０１）は電源制御装置（１０３）へ転送準備信号（１０４）を出力する。電源制御装置（１０３）は転送準備信号（１０４）が入力されたことをトリガとして、図２に示すフローを実行する。
【００２７】
Ｓ２００で第一の電源ドメインブロック（１０１）から第二の電源ドメインブロック（１０２）へのデータの転送は、電圧が高いドメインブロックへの転送かどうかを判断する。
【００２８】
電圧が高い電源ドメインブロックへの転送の場合、次の処理に進む。それ以外であれば処理を終了する。
【００２９】
Ｓ２０１で第一の電源ドメインブロック（１０１）へ転送保持信号（１０５）を出力しデータ転送を保持させ、Ｓ２０２に移る。このデータ転送の保持は、例えば、クロックをゲーティングして出力させない手法で実現できる。その後、Ｓ２０２で第一の電源ドメインブロック（１０１）の電圧の増加を開始し、Ｓ２０３に移る。Ｓ２０３では、第一の電源ドメインブロック（１０１）の電圧と第二の電源ドメインブロック（１０２）の電圧の差を検知し、それが基準電圧値以下であった場合、Ｓ２０４に進む。
【００３０】
本動作例では、第一の電源ドメインブロック（１０１）の電圧が１．０Ｖになった時、電圧差が基準電圧の０．１Ｖより小さくなるため、次の処理へ進む。１．０Ｖより小さい場合、次の処理へ進まず、Ｓ２０３の比較を第一の電源ドメインブロック（１０１）の電圧が１．０Ｖになるまで繰り返す。このＳ２０２とＳ２０３の処理は並列に同時に行ってもよい。
【００３１】
Ｓ２０４では転送許可信号を第一の電源ドメインブロック（１０１）に出力し、Ｓ２０５に移る。Ｓ２０５では第二の電源ドメインブロック（１０２）から、転送完了信号（１０７）をうけとった場合、Ｓ２０６に移る。それ以外は次の処理には移らず待機する。
【００３２】
Ｓ２０６では、第一の電源ドメインブロック（１０１）の電圧の減少を開始し、Ｓ２０７に移る。Ｓ２０７では、第一の電源ドメインブロック（１０１）の電圧と第二の電源ドメインブロック（１０２）の電圧の差が元の電圧の０．３Ｖになったかどうかを判定し、なっていた場合処理を終了する。
【００３３】
本動作例では、第一の電源ドメインブロック（１０１）の電圧が０．７Ｖになった時、電圧差が元の電圧差の０．３Ｖと等しくなるため、次の処理へ進む。０．７Ｖより大きい場合、次の処理へ進まず、Ｓ２０７の比較を第一の電源ドメインブロック（１０１）の電圧が０．７Ｖになるまで繰り返す。このＳ２０６とＳ２０７の処理は並列に同時に行ってもよい。
【００３４】
以上の処理を、データ転送が行われるたび実施する。
【００３５】
［第二の実施形態］
第二の実施形態について、図４、図５を参照して説明する。図４は第二の実施形態を説明するための半導体処理装置（４００）の構成図を示している。１０１〜１００は第一の実施形態と同様の構成である。第一の実施形態の構成に加え、第一の電源ドメインブロック（１０１）とデータをやりとりする第三の電源ドメインブロック（４０１）を持つ。第三の電源ドメインブロック（４０１）は、電源は変動せず第一の電源ブロック（１０１）の電圧値上昇前の電圧と同様である。第三の電源ドメインブロック（４０１）は、電圧制御装置（１０３）と、転送準備信号（４０２）、転送保持信号（４０３）、転送許可信号（４０４）をやり取りする。このとき電圧制御装置（１０３）の制御方法が第一の実施形態と異なる。
【００３６】
＜動作例＞
動作に関して、図４、図５を用いて説明を行う。図５は電圧制御装置の制御フローを示している。
【００３７】
本動作例では、通常動作時、第一の電源ドメインブロック（１０１）が低い電圧で動作し第二の電源ドメインブロック（１０２）が高い電圧で動作し、第三の電源ドメインブロック（４０３）が低い電圧で動作しているとする。また、高い電圧を１．１Ｖ、低い電圧を０．７Ｖとし、基準電圧を０．１Ｖとする。
【００３８】
第一の電源ドメインブロック（１０１）が、第二の電源ドメインブロック（１０２）にデータを転送開始する際、電源ドメインブロック（１０１）は電源制御装置（１０３）へ転送準備信号（１０４）を出力する。電源制御装置（１０３）は転送準備信号（１０４）が入力されたことをトリガとして、図２に示すフローを実行する。
【００３９】
Ｓ５００で第一の電源ドメインブロック（１０１）から第三の電源ドメインブロック（４０１）へのデータの転送は、電圧が高いドメインブロックへの転送かどうかを判断する。電圧が高い電源ドメインブロックへの転送の場合、次の処理に進む。それ以外であれば処理を終了する。
【００４０】
Ｓ５０１で第一の電源ドメインブロック（１０１）と、第三の電源ブロックブロック（４０１）に転送保持信号（１０５、４０３）を出力しデータ転送を保持させ、Ｓ２０２に移る。このデータ転送の保持は、例えば、クロックをゲーティングして出力させない手法で実現できる。その後、Ｓ５０２で第一の電源ドメインブロック（１０１）の電圧の増加を開始し、Ｓ５０３に移る。Ｓ５０３では、第一の電源ドメインブロック（１０１）の電圧と第二の電源ドメインブロック（１０２）の電圧の差を検知し、それが基準電圧値以下であった場合、Ｓ２０４に進む。
【００４１】
本動作例では、第一の電源ドメインブロック（１０１）の電圧が１．０Ｖになった時、電圧差が基準電圧の０．１Ｖより小さくなるため、次の処理へ進む。１．０Ｖより小さい場合、次の処理へ進まず、Ｓ５０３の比較を第一の電源ドメインブロック（１０１）の電圧が１．０Ｖになるまで繰り返す。このＳ５０２とＳ５０３の処理は並列に同時に行ってもよい。
【００４２】
Ｓ５０４では転送許可信号を第一の電源ドメインブロック（１０１）に出力し、Ｓ５０５に移る。Ｓ５０５では第二の電源ドメインブロック（１０２）から、転送完了信号（１０７）をうけとった場合、Ｓ５０６に移る。それ以外は次の処理には移らず待機する。Ｓ５０６では、第一の電源ドメインブロック（１０１）の電圧の減少を開始し、Ｓ５０７に移る。Ｓ５０７では、第一の電源ドメインブロック（１０１）の電圧と第二の電源ドメインブロック（５０２）の電圧の差が元の電圧の０．３Ｖになったかどうかを判定し、なっていたＳ５０８へ進む。
【００４３】
本動作例では、第一の電源ドメインブロック（１０１）の電圧が０．７Ｖになった時、電圧差が元の電圧差の０．３Ｖと等しくなるため、次の処理へ進む。０．７Ｖより大きい場合、次の処理へ進まず、Ｓ２０７の比較を第一の電源ドメインブロック（１０１）の電圧が０．７Ｖになるまで繰り返す。このＳ５０６とＳ５０７の処理は並列に同時に行ってもよい。
【００４４】
Ｓ５０８では、第三の電源ドメインブロック（４０１）に転送許可信号（４０４）を送信し、第三の電源ドメインブロック（４０１）が第一の電源ドメインブロック（１０１）と転送を可能とし、処理を終了する。
【００４５】
以上の処理を、データ転送が行われるたび実施する。回路ブロックが４つ以上となっても実現が可能である。
【符号の説明】
【００４６】
１００  第一の実施形態の半導体装置
１０１  第一の電源ドメインブロック
１０２  第二の電源ドメインブロック
１０３  電圧制御装置
１０４  第一の電源ドメインブロックと電圧制御装置間の転送準備信号
１０５  第一の電源ドメインブロックと電圧制御装置間の転送保持信号
１０６  第一の電源ドメインブロックと電圧制御装置間の転送許可信号
１０７  第二の電源ドメインブロックと電圧制御装置間の転送完了信号
１０８  電源配線１
１０９  電源配線２
１１０  第一の電源ドメインブロックと第二の電源ドメインブロック間のデータ信号
３０１  電圧制御装置が有する制御部
３０２  電圧制御装置が有する電圧可変部
３０３  電圧制御装置が有する電圧比較部
３０４  電圧変更信号
３０５  開始信号
３０６  終了信号
３０７  比較結果
４００  第二の実施形態の半導体装置
４０１  第三の電源ドメインブロック
４０２  第三の電源ドメインブロックと電圧制御装置間の転送準備信号
４０３  第三の電源ドメインブロックと電圧制御装置間の転送保持信号
４０４  第三の電源ドメインブロックと電圧制御装置間の転送許可信号
４０５  電源配線３
４０６  第一の電源ドメインブロックと第三の電源ドメインブロック間のデータ信号
【図１】
2020194484.tif 000003
【図２】
2020194484.tif 000004
【図３】
2020194484.tif 000005
【図４】
2020194484.tif 000006
【図５】
2020194484.tif 000007