(57)【要約】【課題】  クリティカルパスとモニタ回路の相関を保障するとともに最小限の回路追加で高精度な遅延モニタを実現することができる半導体集積回路および電源電圧制御方式を提供する。【解決手段】  ＬＳＩ１１０１は、電圧発生回路１１０９と、メモリ１１０４と、メモリ１１０４に書き込むデータをラッチするフリップフロップ１１０２と、書き込み側クリティカルパス１１０３と、読み出し側クリティカルパス１１０５と、読み出しデータをラッチするフリップフロップ１１０６と、電圧発生回路１１０９とメモリ１１０４を制御しクリティカルパス遅延をモニタするクリティカルパス遅延モニタ部１１０７と、電圧制御回路１１１１と、制御回路の動作を制御する制御レジスタ１１０８と、要求動作周波数を出力するクロック発生回路１１１０で構成され、メモリ１１０４へのデータの書き込み、読み出しを行いその結果から電圧発生回路１１０９を制御する。【選択図】図１
2010123807.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧を供給する電圧発生回路と、前記電圧発生回路を制御して、設定した前記電源電圧を発生させる電圧制御回路と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、
予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記電圧制御回路は、前記クリティカルパス遅延モニタ部の判断に基づき、前記電圧発生回路が発生する前記電源電圧を前記要求動作周波数に対して最小になるように制御することを特徴とする半導体集積回路。
【請求項２】
前記半導体集積回路において、
外部から設定可能な制御レジスタを有し、この制御レジスタの値によって、前記電源電圧を、前記要求動作周波数のクロックに対して最小になるように制御を行うかどうかを選択することができるようにしたことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
電源電圧の入力部と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、
予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記クリティカルパス遅延モニタ部の判断を外部の電圧発生回路に供給するための電源電圧設定信号出力を備えたことを特徴とする半導体集積回路。
【請求項４】
電源電圧を供給する電源発生回路と、前記電圧発生回路を制御して、設定した前記電源電圧を発生させる電圧制御回路と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、
予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記電圧制御回路は、前記クリティカルパス遅延モニタ部の判断に基づき、前記電圧発生回路が発生する前記電源電圧を前記要求動作周波数に対して最小になるように制御することを特徴とする半導体集積回路の電源電圧制御方式。
【請求項５】
電源電圧の入力部と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、
予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記クリティカルパス遅延モニタ部の判断を外部の電圧発生回路に供給するために電源電圧設定信号出力を出力することを特徴とする半導体集積回路の電源電圧制御方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路における低消費電力化を目的とした電源電圧制御を行う半導体集積回路とその電源電圧制御方式に関する。  
【背景技術】
【０００２】
ＬＳＩの微細化によりＬＳＩに実装されるトランジスタ数の増加に伴う消費電力の増加が問題となっている。近年ＬＳＩの要求動作周波数に応じて電源電圧を低減し低消費電力化するＤＶＦＳ（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ）などの技術により低消費電力化が図られている。
ＤＦＶＳのようにＬＳＩの電源電圧を低下させることは、消費電力が電圧の２乗に比例することから消費電力削減に最も効果が高い。しかしながら、ＬＳＩの電源電圧を低下させることでＬＳＩ内部のゲート遅延が増加するため設定する電源電圧においてタイミングエラーによる誤動作が起こらないようにクリティカルパス遅延をモニタする必要がある。ここでクリティカルパスとは２つの記憶素子間における最長のパスを意味し、例えば送り側の記憶素子から受けて側の記憶素子までの経路において伝播遅延が最も大きい最長のパスのことである。
従来クリティカルパス遅延をモニタするために電源電圧制御回路中に実回路中のクリティカルパスと等価な遅延特性の回路を設けてモニタ回路とし、そのモニタ回路の遅延値を電源電圧毎にモニタすることで実回路が動作する最小の電圧を検知する。このようにして検知した最小の電圧を実回路に供給することで低消費電力化を図る方法が存在する（例えば、特許文献１参照）。この方法では実回路のクリティカルパスと等価な遅延特性を持った別回路において遅延をモニタするため、実回路とモニタ回路との間で遅延の相関が保証できないという問題がある。この問題点を解消するため実回路のクリティカルパス遅延を遅延回路とラッチ回路で構成された遅延測定回路の動作結果を基にクリティカルパス遅延を測定する遅延モニタ回路が提言された（例えば、特許文献２参照）。
しかしこの方法では遅延回路の遅延特性のばらつきとラッチ回路のクロックスキューのばらつきにより、実回路のクリティカルパス遅延と遅延測定回路による測定結果に誤差が生じる問題がある。また上記２つの方法は遅延をモニタするための回路を別途追加する必要があるため回路規模が増加するという問題もある。
【特許文献１】特開２００５−０４５１７２号公報  図１
【特許文献２】特開２００８−０９８３２２号公報  図２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の方法では、特許文献１に記載されているようにクリティカルパスと等価な遅延特性を持ったモニタ回路を用いてクリティカルパス遅延をモニタする方法がある。図７は特許文献１の実施形態である。ターゲット回路３のクリティカルパス遅延と等価な遅延特性を持ったモニタ回路２２を用いて、電圧発生回路２５における遅延特性を遅延検知回路２３で検知する。このためターゲット回路３とモニタ回路２２との遅延の相関がなく相関を保障できないという問題がある。また、特許文献２に記載されているようにクリティカルパス遅延を遅延回路とラッチ回路で構成された遅延測定回路で測定することにより遅延をモニタする方法がある。図８は特許文献２の実施形態である。クリティカルパス回路１０３と遅延回路１１１の遅延ばらつきとラッチ回路１１２のクロックスキューのばらつきにより、クリティカルパス回路１０３の遅延と遅延モニタ回路１１３で観測した結果に誤差が生じるという問題がある。また上記２つの方法は遅延をモニタするための回路を別途追加する必要があるため回路規模が増加するという問題もある。
本発明はこのような問題点に鑑みてなされたものであり、クリティカルパスとモニタ回路の相関を保障するとともに最小限の回路追加で高精度な遅延モニタを実現することができる半導体集積回路および電源電圧制御方式を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、電源電圧を供給する電圧発生回路と、前記電圧発生回路を制御して、設定した前記電源電圧を発生させる電圧制御回路と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記電圧制御回路は、前記クリティカルパス遅延モニタ部の判断に基づき、前記電圧発生回路が発生する前記電源電圧を前記要求動作周波数に対して最小になるように制御することを特徴とする半導体集積回路である。
請求項２に記載の発明は、外部から設定可能な制御レジスタを有し、この制御レジスタの値によって、前記電源電圧を、前記要求動作周波数のクロックに対して最小になるように制御を行うかどうかを選択することができるようにしたことを特徴とする請求項１記載の半導体集積回路である。
請求項３に記載の発明は、電源電圧の入力部と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記クリティカルパス遅延モニタ部の判断を外部の電圧発生回路に供給するための電源電圧設定出力信号を備えたことを特徴とする半導体集積回路である。
請求項４に記載の発明は、電源電圧を供給する電源発生回路と、前記電圧発生回路を制御して、設定した前記電源電圧を発生させる電圧制御回路と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記電圧制御回路は、前記クリティカルパス遅延モニタ部の判断に基づき、前記電圧発生回路が発生する前記電源電圧を前記要求動作周波数に対して最小になるように制御することを特徴とする半導体集積回路の電源電圧制御方式である。
請求項５に記載の発明は、電源電圧の入力部と、要求動作周波数のクロックを生成するクロック発生回路と、データの書き込み、読み出しが可能なメモリと、クリティカルパスのゲート遅延時間をモニタするクリティカルパス遅延モニタ部を備えた半導体集積回路において、予めクリティカルパスが前記メモリの書き込み、読み出し部の回路となるように設計しておき、前記クリティカルパス遅延モニタ部は、メモリへ所定のデータパターンを書き込み、同じデータが読み出せるかどうかで設定された電源電圧の高さが十分であるかを判断し、前記クリティカルパス遅延モニタ部の判断を外部の電圧発生回路に供給するために電源電圧設定信号出力を出力することを特徴とする半導体集積回路の電源電圧制御方式である。
【発明の効果】
【０００５】
請求項１に記載の発明によると、通常動作で使用するメモリをクリティカルパスにすることで最小限の回路追加でクリティカルパスを実現することができ、回路規模増加を抑えることができ、前記メモリへの書き込み、読み出しでクリティカルパス遅延をモニタすることができる。
また、請求項２に記載の発明によると、外部から設定可能なレジスタを有しているため、ソフトウェアによる制御を行うことができ、柔軟な電圧制御を行うことができる。
また、請求項３に記載の発明によると、外部に電源電圧発生回路がある場合においてもクリティカルパス遅延のモニタ結果に基づき電源電圧を制御することができる。
また、請求項４に記載の発明によると、クリティカルパス遅延のモニタ結果に基づき電源電圧を制御でき、低消費電力化することができる。
また、請求項５に記載の発明によると、外部に電源電圧発生回路がある場合においてもクリティカルパス遅延のモニタ結果に基づき電源電圧を制御でき、低消費電力化することができる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００７】
図１は、本発明の第１の実施例の半導体集積回路のブロック図である。図１において、ＬＳＩ１１０１はメモリ１１０４への書き込み動作を同期化するフリップフロップ１１０２と、メモリ１１０４への書き込み側のクリティカルパス１１０３と、メモリ１１０４からの読み出し側のクリティカルパス１１０５と、メモリ１１０４の読み出しデータを取り込むフリップフロップ１１０６と、クリティカルパス遅延をモニタするクリティカルパス遅延モニタ部１１０７と、クリティカルパス遅延モニタ部１１０７の動作を設定する制御レジスタ１１０８と、ＬＳＩ１１０１へ供給される電源電圧を発生する電圧発生回路１１０９と、電圧発生回路１１０９を制御する電圧制御回路１１１１と、要求動作周波数を出力するクロック発生回路１１１０で構成される。
クリティカルパス遅延モニタ部１１０７は書き込み側クリティカルパス１１０３と、読み出し側クリティカルパス１１０５の遅延をモニタするためにメモリ１１０４に対して書き込みと読み出しのアクセス制御を行う。メモリ１１０４対するアクセス結果に基づき電圧制御回路１１１１へ電圧制御要求信号１１１２を出力し、電圧制御回路１１１１は電源電圧設定信号１１１３を電圧発生回路１１０９へ出力し、電圧発生回路は電源電圧設定信号１１１３により設定される電圧を発生させる。
書き込み側クリティカルパス１１０３と読み出し側クリティカルパス１１０４はＬＳＩ１１０１内でクリティカルパスとなるように必要に応じてバッファなどの素子を入れクリティカルパスとなるように設計する。
メモリ１１０４へのアクセスがクリティカルパスであるかどうかは、ＬＳＩで使用するメモリのスペックや構成する回路の論理段数検討時などのアーキテクチャ設計段階で見積もることができ、また最終的にはＬＳＩの設計工程におけるＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）で知ることが可能である。
図２は、図１のクリティカルパス遅延モニタ部１１０７の内部構成を示す図である。図２において、クリティカルパス遅延モニタ部１１０７はメモリへのアクセスを行うアドレスの制御や制御信号の生成を行うステートマシン２０１と、メモリへの書き込みデータを選択するセレクタ２０２と、書き込みデータと読み出しデータを比較する比較器２０３と、メモリのデータを退避する退避データレジスタ２０４で構成される。
図３は、図１の制御レジスタ１１０８の構成を示す図である。図３において、レジスタ１１０８は電源制御要求ビット３０１と、テスト回数設定ビット３０２と、動作周波数設定ビット３０３で構成されている。
図４は、本発明の第１の実施例による電源電圧制御方式を示すフローチャートである。図１および図２、図３を参照し、以下図４について説明を行う。
ＬＳＩ１１０１は、電圧の最適化を行う場合、制御レジスタ１１０８の動作周波数設定ビット３０３に要求動作周波数を設定する（図４のステップＳ４０１）。次に制御レジスタ１１０８の電源制御要求ビット３０１を１に設定する（図４のステップＳ４０２）。電源制御要求ビット３０１が１に設定されるとクリティカルパス遅延モニタ部１１０７のステートマシン２０１はメモリ１１０４の書き込み先アドレスにあるデータを退避データレジスタ２０４へ退避するためメモリ１１０４に対して読み出し動作を行い、読み出したデータを退避データレジスタ２０４へ書き込む（図４のステップＳ４０３）。データの退避完了後、ステートマシン２０１は電圧制御回路１１１１へ電圧制御要求信号１１１２を出力し、電圧制御回路１１１１は電圧発生回路１１０９に対し電圧設定信号１１１３を出力し電圧を下げる（図４のステップＳ４０４）。電圧発生回路１１０９は電圧設定が完了すると電圧設定完了信号１１１４を電圧制御回路１１１１へ出力する。電圧制御回路１１１１は電圧設定完了信号１１１４がアサートされるとステートマシン２０１へクリティカルパス遅延モニタ要求信号１１１５を出力する。ステートマシン２０１はクリティカルパス遅延モニタ要求信号がアサートされると、メモリ１１０４への書き込み処理を行う（図４のステップＳ４０５）。ステートマシン２０１はセレクタ２０２に対しステートマシンから出力される書き込みデータを選択するための選択信号を出力する。書き込みデータはフリップフロップ１１０２でラッチされ、書き込み側クリティカルパス１１０３を経てメモリ１１０４へ書き込まれる。メモリ１１０４へのデータ書き込み後ステートマシン２０１は、ステップＳ４０５でデータを書き込んだアドレスに対してデータの読み出し処理を行う（図４のステップＳ４０６）。メモリ１１０４から読み出したデータは、読み出し側クリティカルパス１１０５を経てフリップフロップ１１０６へラッチされる。メモリ１１０４からのデータ読み出し後ステートマシン２０１は、ステップＳ４０５で書き込んだデータと処理Ｓ４０６で読み出したデータが一致しているか比較器２０３で比較する（図４のステップＳ４０７）。データが一致していなければステップＳ４０４で設定した電圧でメモリ１１０４への書き込みと、読み出しのどちらかでタイミングエラーを起こしおり、ＬＳＩ１１０１は処理Ｓ４０４で設定した電圧では動作しないことになる。この場合、ステップＳ４０４の設定前の電圧に戻すためステートマシン２０１は電圧制御回路１１１１へ電圧制御要求信号１１１２を出力し、電圧制御回路１１１１は電圧発生回路１１０９に対し電圧設定信号１１１３を出力し電圧を上げる（図４のステップＳ４１０）。電圧発生回路１１０９は電圧設定が完了すると電圧設定完了信号１１１４を電圧制御回路１１１１へ出力する。電圧制御回路１１１１はステートマシン２０１へ電圧制御完了信号１１１６を出力し、ステートマシン２０１はセレクタ２０２に対し退避データレジスタ２０４を選択する選択信号を出力し、退避データレジスタ２０４の値がフリップフロップ１１０２にラッチされ、データメモリ１１０４へ退避したデータを書き戻す処理を行う（図４のステップＳ４１１）。データが一致していれば、ステップＳ４０４で設定した電圧でメモリ１１０４への書き込みと、読み出しが正しく行えたことになる。このことはＬＳＩ１１０１内のクリティカルパスでタイミングエラーなく正常動作したことになり、ステップＳ４０４で設定した電圧でＬＳＩ１１０１がタイミングエラーなく動作することを意味する。書き込みデータと読み出しデータの比較後ステートマシン２０１は、制御レジスタ１１０８のテスト回数設定ビット３０２で設定される回数の比較を行ったかを確認する（図４のステップＳ４０８）。設定回数に満たない場合、ステートマシン２０１は書き込みデータを前回の書き込みデータから変更し（図４のステップＳ４０９）、テスト回数設定ビット３０２で設定された回数繰り返すことによりＬＳＩ１１０１の動作する最適な電圧を設定する。
【０００８】
図５はクリティカルパスの遅延特性を示す図である。電圧発生回路１１０９が供給する電圧におけるＬＳＩ１１０１のクリティカルパス１１０３、１１０４の遅延の関係である。供給電圧を下げるにしたがって遅延時間は大きくなる。
【０００９】
【実施例２】
【００１０】
図６は、第２の実施例の半導体集積回路のブロック図である。図から明らかなように図１の第１の実施例における半導体集積回路と同等の構成であるが、電圧発生回路６０２がＬＳＩ６０１の外にあるという点で異なるが、第１の実施例と同様の効果を得ることが可能である。
【００１１】
以上のように本発明ではメモリへの書き込みと読み出しを行うことにより設定された電圧における遅延モニタを実現しており、従来技術のように遅延モニタ回路を備えず最小限の回路追加で遅延モニタを実現している。また、実回路のクリティカルパスを使って遅延をモニタしているためクリティカルパスとモニタ回路の相関を保障することが可能である。
【００１２】
また、図４で示す電源電圧制御方式のフローをシステムのブート処理時に適用することでシステムに最適な電源電圧の設定を行うことが可能となる。
【産業上の利用可能性】
【００１３】
本発明はＬＳＩを使用したシステムにおいて広く適用可能である。特にマイコンや、ＡＳＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｅ）などの汎用性の高いＬＳＩにおいては、システム毎に要求される動作周波数が異なるため各システムにおける動作周波数において最適な電圧制御を行うことによりシステムの低消費電力化を測ることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施例を示す半導体集積回路のブロック図
【図２】本発明の第１実施例を示す図１のクリティカルパス遅延モニタ部１０７の内部構成図
【図３】本発明の第１実施例を示す図１の制御レジスタ１０８の内部構成図
【図４】本発明の第１実施例による電圧制御を示すフローチャート
【図５】クリティカルパスの遅延特性
【図６】本発明の第２実施例を示す半導体集積回路のブロック図
【図７】従来の半導体集積回路のブロック図
【図８】従来の半導体集積回路のブロック図
【符号の説明】
【００１５】
１１０１  ＬＳＩ
１１０２、１１０６  フリップフロップ
１１０３  書き込み側クリティカルパス
１１０４  メモリ
１１０５  読み出し側クリティカルパス
１１０７  クリティカルパス遅延モニタ部
１１０８  制御レジスタ
１１０９  電圧発生回路
１１１０  クロック発生回路
１１１１  電圧制御回路
１１１２  電圧制御要求信号
１１１３  電源電圧設定信号
１１１４  電源電圧設定完了信号
１１１５  クリティカルパス遅延モニタ要求信号
１１１６  電圧制御完了信号
２０１  ステートマシン
２０２  セレクタ
２０３  比較器
２０４  退避データ格納レジスタ
３０１  電圧制御要求ビット（ＰＣＲＥＱ）
３０２  テスト回数設定ビット（ＴＳＴＮＵＭ［３：０]）
３０３  動作周波数設定ビット（ＦＲＥＱ［９：０］）
６０３  電源電圧設定信号出力
６０４  電源電圧設定完了信号入力
【図１】
2010123807.tif 000003
【図２】
2010123807.tif 000004
【図３】
2010123807.tif 000005
【図４】
2010123807.tif 000006
【図５】
2010123807.tif 000007
【図６】
2010123807.tif 000008
【図７】
2010123807.tif 000009
【図８】
2010123807.tif 000010