(57)【要約】【課題】電力効率を向上させる。【解決手段】クロック信号に同期して動作する２つの同期動作回路１０ａ、１０ｂの間を複数の遅延路の並列形態で接続して並列信号を伝送する信号伝達回路１１ｂと、信号伝達回路におけるそれぞれの遅延路の遅延時間を検出する遅延検出部１５と、複数の遅延路は並列信号の数より大きな冗長構成とされ、遅延検出部１５の検出結果に基づいて並列信号の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止するように制御する制御部１６と、を備える。なお、パイプラインレジスタ１２も信号伝達回路に相当する。【選択図】図１
2010238061.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に同期して動作する２つの同期動作回路の間を複数の遅延路の並列形態で接続して並列信号を伝送する信号伝達回路と、
前記信号伝達回路におけるそれぞれの遅延路の遅延時間を検出する遅延検出部と、
前記複数の遅延路は並列信号の数より大きな冗長構成とされ、前記遅延検出部の検出結果に基づいて並列信号の数だけの前記遅延路を選択し、選択した前記遅延路以外における前記遅延路の信号伝送を阻止するように制御する制御部と、
を備えることを特徴とする半導体集積回路装置。
【請求項２】
前記複数の遅延路は、電源が供給されて動作する能動回路を含んでそれぞれ構成され、
前記制御部は、選択した前記遅延路以外における遅延路中の前記能動回路への電源供給を停止することを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記遅延路は、前記クロック信号に同期して動作するレジスタであることを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項４】
前記制御部は、複数の前記レジスタの内のトグル動作可能なより高い周波数のものから順に前記並列信号の数のレジスタを選択することを特徴とする請求項３記載の半導体集積回路装置。
【請求項５】
前記制御部は、複数の前記レジスタの内のトグル動作可能なより高い周波数のものとより低いものとから交互に前記並列信号の数のレジスタになるまで非選択とすることを特徴とする請求項３記載の半導体集積回路装置。
【請求項６】
前記遅延路は、バス伝送路であることを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項７】
前記制御部は、複数の前記バス伝送路の内の遅延時間がより短いものから順に前記並列信号の数のバス伝送路を選択することを特徴とする請求項６記載の半導体集積回路装置。
【請求項８】
前記制御部は、複数の前記バス伝送路の内の遅延時間がより短いものとより長いものから交互に前記並列信号の数のバス伝送路になるまで非選択とすることを特徴とする請求項６記載の半導体集積回路装置。
【請求項９】
前記２つの同期動作回路間を多段の信号伝達回路で接続してパイプライン構成とし、前記レジスタは、パイプラインレジスタとして機能することを特徴とする請求項３または４記載の半導体集積回路装置。
【請求項１０】
前記クロック信号を前記パイプラインレジスタに並列形態の複数のバッファ回路を介して供給するパイプラインタイミング制御回路を備え、
前記制御部は、前記複数のバッファ回路におけるそれぞれの遅延時間の検出結果に基づいて前記複数のバッファ回路の内の一のバッファ回路を選択することを特徴とする請求項９記載の半導体集積回路装置。
【請求項１１】
前記制御部は、前記複数のバッファ回路の内の遅延時間が最小値となるバッファ回路を前記一のバッファ回路として選択することを特徴とする請求項１０記載の半導体集積回路装置。
【請求項１２】
前記制御部は、前記複数のバッファ回路の内の遅延時間が中央値となるバッファ回路を前記一のバッファ回路として選択することを特徴とする請求項１０記載の半導体集積回路装置。
【請求項１３】
前記制御部は、選択した前記遅延路における遅延時間が所定の範囲に入るように、前記選択した前記遅延路における電源供給電圧を制御することを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項１４】
クロック信号に同期して動作する２つの同期動作回路の間を並列形態で接続して並列信号を伝送する複数の遅延路の制御方法であって、
それぞれの前記遅延路の遅延時間を検出するステップと、
前記複数の遅延路は並列信号の数より大きな冗長構成とされ、前記遅延時間の検出結果に基づいて並列信号の数だけの遅延路を選択し、選択した前記遅延路以外における前記遅延路の信号伝送を阻止するステップと、
を含むことを特徴とする遅延路の制御方法。
【請求項１５】
前記２つの同期動作回路間を多段の前記複数の遅延路で接続してパイプライン構成として信号伝達を行うステップをさらに含むことを特徴とする請求項１４記載の遅延路の制御方法。
【請求項１６】
選択した前記遅延路における遅延時間が所定の範囲に入るように、前記選択した遅延路における電源供給電圧を制御するステップをさらに含むことを特徴とする請求項１４記載の遅延路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置および遅延路の制御方法に係り、特に、２つの回路間で信号伝送を行う半導体集積回路装置およびそこに含まれる遅延路の制御方法に係る。
【背景技術】
【０００２】
論理回路を半導体集積回路装置上に構成する場合、遅延時間に関して、最悪ケースでデバイスのばらつきも考慮し、セットアップ時間、ホールド時間の規定を満足するように設計が行なわれる。例えば、クロック信号に同期して動作する２つの同期動作回路の間では、ＣＭＯＳ回路におけるトランジスタサイズ、閾値電圧、ゲート種類、ゲート段数等を変更して適切な遅延時間を有する回路が挿入され、セットアップ時間、ホールド時間の規定を満足するように構成される。
【０００３】
２つの同期動作回路間に挿入される遅延回路としては、例えば、通常のＣＭＯＳ回路や、場合によっては非特許文献１に記載されるようなＤＣＶＳＬ(Differential Cascode Voltage Switch Logic)を組み合わせて用いることで、安定した遅延時間を得ることができる。
【０００４】
なお、関連する技術として、複数のデジタル処理回路のいずれかの系統で設定状態にずれが生じた場合に、正常系統のデジタル処理回路のいずれかを停止させても、多数決結果の正当性を確保し、正常動作に対する信頼性を維持する冗長回路装置が特許文献１に記載されている。
【０００５】
また、関連する技術として、消費電力の削減を図る自己同期型パイプラインデータパス回路が特許文献２に記載されている。同様にプログラムを効率よく実行するための自己同期型転送制御回路が特許文献３に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１９１９３９号公報
【特許文献２】特開平１０−２４７３９４号公報
【特許文献３】特開２００１−２８２７６５号公報
【非特許文献】
【０００７】
【非特許文献１】Kan M. Chu and David L. Pulfrey,”A Comparison of CMOS Circuit Techniques: Differential Cascode Voltage Switch Logic Versus Conventional Logic”,IEEE Journal of Solid-state Circuits, vol. SC-22, pp.528-532, August 1987
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は本発明において与えられる。
【０００９】
近年、半導体の微細化および低電圧化の進展に伴ってデバイスのばらつきおよび遅延のばらつきが増大している。このため、最悪ケースを想定した設計が徐々に困難となってきている。そこで、２つの同期動作回路間に複数の遅延回路を挿入した多重化設計が考えられる。例えば、特許文献１に記載したような多数決結果を適用するような多重化設計による半導体集積回路装置が考えられる。しかしながら、このような多重化設計による半導体集積回路装置では、多重化したハードウェアが動作し続けるために消費電力およびリーク電流が増大し、電力効率が低下してしまう虞がある。
【課題を解決するための手段】
【００１０】
本発明の１つのアスペクト（側面）に係る半導体集積回路装置は、クロック信号に同期して動作する２つの同期動作回路の間を複数の遅延路の並列形態で接続して並列信号を伝送する信号伝達回路と、信号伝達回路におけるそれぞれの遅延路の遅延時間を検出する遅延検出部と、複数の遅延路は並列信号の数より大きな冗長構成とされ、遅延検出部の検出結果に基づいて並列信号の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止するように制御する制御部と、を備える。
【００１１】
本発明の他のアスペクト（側面）に係る遅延路の制御方法は、クロック信号に同期して動作する２つの同期動作回路の間を並列形態で接続して並列信号を伝送する複数の遅延路の制御方法であって、それぞれの遅延路の遅延時間を検出するステップと、複数の遅延路は並列信号の数より大きな冗長構成とされ、遅延時間の検出結果に基づいて並列信号の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止するステップと、を含む。
【発明の効果】
【００１２】
本発明によれば、冗長構成における信号伝送が阻止されるので、電力効率が向上する。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
【図２】本実施形態に係る半導体集積回路装置の動作を表すフローチャートである。
【図３】本発明の第１の実施例に係る半導体集積回路装置の構成を示すブロック図である。
【図４】バス伝送路および遅延検出部の構成を示す図である。
【図５】遅延検出部の第１の動作を示すタイミングチャートである。
【図６】制御部の第１の動作を表すフローチャートである。
【図７】パイプラインレジスタおよび遅延検出部の構成を示す図である。
【図８】遅延検出部の第２の動作を表すタイミングチャートである。
【図９】制御部の第２の動作を表すフローチャートである。
【図１０】制御部の第３の動作を表すフローチャートである。
【図１１】制御部の第４の動作を表すフローチャートである。
【図１２】制御部の第５の動作を表すフローチャートである。
【図１３】バッファ回路および遅延検出部の構成を示す図である。
【図１４】制御部の第６の動作を表すフローチャートである。
【図１５】制御部の第７の動作を表すフローチャートである。
【図１６】遅延検出部の主要部の回路図である。
【図１７】遅延検出部の主要部の動作を表すタイミングチャートである。
【図１８】電源電圧制御遅延モニタの回路図である。
【図１９】電源電圧制御遅延モニタの動作を表すタイミングチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係る半導体集積回路装置は、クロック信号に同期して動作する２つの同期動作回路（図１の１０ａ、１０ｂ）の間を複数の遅延路の並列形態で接続して並列信号を伝送する信号伝達回路（図１の１２、１１ｂ）と、信号伝達回路におけるそれぞれの遅延路の遅延時間を検出する遅延検出部（図１の１５）と、複数の遅延路は並列信号の数より大きな冗長構成とされ、遅延検出部の検出結果に基づいて並列信号の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止するように制御する制御部（図１の１６）と、を備える。
【００１５】
次に、より具体的に本実施形態に係る半導体集積回路装置について説明する。図１は、本発明の実施形態に係る半導体集積回路装置の構成を示すブロック図である。図１において、半導体集積回路装置は、同期動作回路１０ａ、１０ｂ、信号伝達回路１１ａ、１１ｂ、パイプラインレジスタ１２、パイプラインタイミング制御回路１３、バッファ回路１４ａ、１４ｂ、１４ｃ、遅延検出部１５、遅延モニタ部１７、制御部１６、電源生成部１８を備える。
【００１６】
同期動作回路１０ａは、パイプラインタイミング制御回路１３からバッファ回路１４ａを介して供給されるクロック信号φ０に同期して動作し、並列信号を信号伝達回路１１ａに出力する。なお、ここでは、並列信号は、８ビット構成として図示するが、これに限定されるものではない。信号伝達回路１１ａは、信号伝達回路１１ａが出力する並列信号に対し所定の処理を施してパイプラインレジスタ１２に出力する。
【００１７】
パイプラインレジスタ１２は、パイプラインタイミング制御回路１３からバッファ回路１４ｂを介して供給されるクロック信号φ１に同期し、信号伝達回路１１ａが出力する並列信号をラッチして信号伝達回路１１ｂに出力する。信号伝達回路１１ｂは、パイプラインレジスタ１２が出力する並列信号に対し所定の処理を施して同期動作回路１０ｂに出力する。同期動作回路１０ｂは、パイプラインタイミング制御回路１３からバッファ回路１４ｃを介して供給されるクロック信号φ２に同期して動作し、信号伝達回路１１ｂが出力する並列信号を入力する。
【００１８】
パイプラインタイミング制御回路１３は、クロック信号ＣＬＫを入力し、同期動作回路１０ａ、パイプラインレジスタ１２、同期動作回路１０ｂがそれぞれ所望の遅延時間差を持って同期動作するようにクロック信号ＣＬＫを遅延させたクロック信号φ０、φ１、φ２を生成する。
【００１９】
ここで、バッファ回路１４ａ、１４ｂ、１４ｃ、パイプラインレジスタ１２、信号伝達回路１１ｂのそれぞれは、並列形態で接続する複数の遅延路を含んで構成され、それぞれの遅延路の出力信号である信号群Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５を出力する。また、それぞれの複数の遅延路は、それぞれの信号伝送の数より大きな冗長構成とされる。例えば、バッファ回路１４ａ、１４ｂ、１４ｃは、それぞれ並列形態の複数のバッファ回路を含み、複数のバッファ回路の一つを選択してクロック信号を供給する。
【００２０】
遅延検出部１５は、バッファ回路１４ａ、１４ｂ、１４ｃ、パイプラインレジスタ１２、信号伝達回路１１ｂからそれぞれ出力される信号群Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５を入力し、各信号群内における遅延の大小を検出する。
【００２１】
制御部１６は、遅延検出部１５の検出結果に基づいて冗長構成とされた各部の遅延路についてそれぞれの信号伝送の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止するように、あるいは遅延路中の能動素子の電源を遮断するように制御信号ＣＴ１〜ＣＴ５をそれぞれバッファ回路１４ａ、１４ｂ、１４ｃ、パイプラインレジスタ１２、信号伝達回路１１ｂに出力する。例えば、バッファ回路１４ａ、１４ｂ、１４ｃでは、複数のバッファ回路の一つを選択する。また、パイプラインレジスタ１２では、例えば、１０個のレジスタ中の８個を選択する。さらに、信号伝達回路１１ｂでは、例えば、１０個の伝送路中の８個を選択する。
【００２２】
遅延モニタ部１７は、クロック信号φ０、φ１、φ２、同期動作回路１０ａのパイプラインレジスタの入力信号群Ｓ１０、信号伝達回路１１ａの出力信号群Ｓ１１、同期動作回路１０ｂのパイプラインレジスタの入力信号群Ｓ１２を入力し、各信号群内における遅延の大小を検出する。
【００２３】
電源生成部１８は、遅延モニタ部１７の検出結果に基づいて、遅延に対して所望の性能が得られる範囲で、電源Ｖｄｄの電圧を上昇あるいは低下させる。
【００２４】
次に、本実施形態に係る半導体集積回路装置の動作について説明する。図２は、本実施形態に係る半導体集積回路装置の動作を表すフローチャートである。
【００２５】
ステップＳ１において、制御部１６は、遅延検出部１５の検出結果に基づいて制御信号ＣＴ１〜ＣＴ５を出力する。バッファ回路１４ａ、１４ｂ、１４ｃ、パイプラインレジスタ１２、信号伝達回路１１ｂでは、冗長構成とされた各部の遅延路についてそれぞれの信号伝送の数だけの遅延路を選択し、選択した遅延路以外における遅延路の信号伝送を阻止する。すなわち、遅延路の置換がなされる（リダン置換）。
【００２６】
ステップＳ２において、パイプラインタイミング制御回路１３は、クロック信号φ０、φ１、φ２をそれぞれバッファ回路１４ａ、１４ｂ、１４ｃを介してそれぞれ同期動作回路１０ａ、パイプラインレジスタ１２、同期動作回路１０ｂに供給する。パイプラインタイミング制御回路１３は、パイプラインレジスタ１２のクロック信号φ１の位相と、同期動作回路１０ｂのクロック信号φ２の位相とを調整して内部回路の遅延特性に一致するように制御される。
【００２７】
ステップＳ３において、電源生成部１８は、遅延モニタ部１７の検出結果に基づいて、電源Ｖｄｄの電圧を制御する。なお、ここでは電源電圧Ｖｄｄを適応制御する例を示しているが、基板バイアスを介してしきい値電圧Ｖｔｈを適応制御しても良いし、電源電圧と基板バイアス（しきい値電圧）を同時に適応制御しても良い。
【００２８】
ステップＳ４において、遅延路の置換がなされた状態で、パイプライン動作によって、同期動作回路１０ａから出力される並列信号は、信号伝達回路１１ａ、パイプラインレジスタ１２、信号伝達回路１１ｂを介して同期動作回路１０ａに伝達される。さらに、ステップＳ４の処理実行中には、ステップＳ２またはステップＳ３に戻って、パイプラインタイミング制御および電源電圧制御、または電源電圧制御を、逐次またはバックグランドで行うようする。このようにすることで、例えば、半導体集積回路装置の温度変化などの環境変動に対して適応的に制御することが可能となる。
【００２９】
以上のような半導体集積回路装置によれば、冗長となった遅延路における信号伝送が阻止されるので、電力効率が向上する。すなわち、冗長として排除された遅延路には、低速素子が含まれ、残りの遅延路を用いることで高速化が可能となり、その分、電源電圧を低下させても所望の遅延特性が得られることになる。また、リーク電流の大きな素子を排除できるので電力効率が向上する。さらに、ｎ個の遅延路からｍ個（例えば、ｎ＝１０、ｍ＝８）の遅延路を選択するので、チップにおける面積効率が改善される。またさらに、所望の性能が得られる範囲で各部の電源電圧を低下させることで、より電力効率が向上する。
【００３０】
以下、実施例に即し、各部に関し詳しく説明する。
【実施例１】
【００３１】
図３は、本発明の第１の実施例に係る半導体集積回路装置の構成を示すブロック図である。図３において、図１と同一の符号は同一物を表し、その説明を省略する。本実施例の半導体集積回路装置は、同期動作回路１０ａ、１０ｂ、パイプラインレジスタ１２ａ、１２ｂ、１２ｃ、パイプラインタイミング制御回路１３、バッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅ、バス伝送路２１、組合せ回路２２ａ、２２ｂ、２２ｃ、を備える。なお、図３において、灰色部は、遅延特性において所望の性能が得られないような低速素子を表す。また、図１の遅延検出部１５、１７、制御部１６、電源生成部１８は、図示を省略している。
【００３２】
同期動作回路１０ａから出力される８ビットの並列信号は、組合せ回路２２ａ、パイプラインレジスタ１２ａ、組合せ回路２２ｂ、パイプラインレジスタ１２ｂ、組合せ回路２２ｃ、パイプラインレジスタ１２ｃ、バス伝送路２１を順に介して同期動作回路１０ｂに伝達される。
【００３３】
パイプラインレジスタ１２ａ、１２ｂ、１２ｃは、それぞれ１０個のレジスタから構成され、その内、並列信号の伝送に必要な８個が選択されて（リダン置換）、アクティブとされる。また、バス伝送路２１は、１０個の伝送路から構成され、その内、並列信号の伝送に必要な８個が選択されて（リダン置換）、用いられる。
【００３４】
パイプラインタイミング制御回路１３は、縦続接続されるＣ素子ＣＥａ〜ＣＥｄを備え、隣接するＣ素子同士でｓｅｎｄ信号とａｃｋ信号とをハンドシェーク動作によって伝達しあう。このような構成によって、クロック信号ＣＬＫに対し、パイプライン動作に必要な内部回路の特性に応じた遅延をそれぞれ有するクロック信号φ０〜φ４を生成して出力する。
【００３５】
バッファ回路１４ａ、１４ｂ、１４ｄ、１４ｅ、１４ｃは、それぞれクロック信号φ０〜φ４をバッファリングして、同期動作回路１０ａ、パイプラインレジスタ１２ａ、１２ｂ、１２ｃ、同期動作回路１０ｂにそれぞれ供給する。この場合、バッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅは、それぞれ並列形態の２個のバッファ回路を含み、２個のバッファ回路の一つを遅延特性に応じて選択してクロック信号を供給する。ここでは、図示の簡単化のためバッファ回路を２個としたが、これに限定されるものではない。
【００３６】
以上のような構成の半導体集積回路装置において、低速素子は、パイプラインレジスタ１２ａ、１２ｂ、１２ｃ、バス伝送路２１、バッファ回路１４ａ、１４ｂ、１４ｄ、１４ｅ、１４ｃでリダン置換によって取り除かれた素子として存在しうる。
【００３７】
次に、バス伝送路２１におけるリダン置換について説明する。図４は、バス伝送路２１および遅延検出部１５の構成を示す図である。バス伝送路２１は、１０本の伝送路から構成され、それぞれ信号Ｄ０〜Ｄ９を伝送して信号ＢＵＳ０〜ＢＵＳ９として出力する。
【００３８】
遅延検出部１５は、セレクタＳＥＬ１１、ＳＥＬ１２、位相比較器ＣＰ１（例えばＤタイプのフリップフロップ回路ＦＦ１）を備える。セレクタＳＥＬ１１、ＳＥＬ１２は、信号ＢＵＳ０〜ＢＵＳ９の内の一つを選択してそれぞれ信号ＢＵＳｍ、ＢＵＳｎとしてフリップフロップ回路ＦＦ１のＣＬＫ端子およびＤ端子に出力する。フリップフロップ回路ＦＦ１は、Ｑ端子から信号ＣＭＰ１を出力する。
【００３９】
図５は、遅延検出部１５の動作を示すタイミングチャートである。フリップフロップ回路ＦＦ１は、信号ＢＵＳｍの立ち上がりのタイミングで信号ＢＵＳｎをラッチして信号ＣＭＰ１として出力する。したがって、信号ＢＵＳｎの遅延時間ｔｄｎ＞信号ＢＵＳｍの遅延時間ｔｄｍの場合、ＣＭＰ１＝０、信号ＢＵＳｎの遅延時間ｔｄｎ＜信号ＢＵＳｍの遅延時間ｔｄｍの場合、ＣＭＰ１＝１となる。
【００４０】
次に、遅延検出部１５に対応した制御部１６の動作について説明する。図６は、制御部１６の第１の動作を表すフローチャートである。ここでは、制御部１６は、２つのバス伝送路同士の遅延時間を順次比較していき、遅延時間の長いものを除外して、遅延時間の短いものを選択して残すように機能する。
【００４１】
ステップＳ１１において、ｍ、ｎの初期化を行う。この時、ｍ＝ｎとならないようにする。例えば、ｍ＝１、ｎ＝２とする。
【００４２】
ステップＳ１２において、ＣＭＰ１の値をチェックし、ＣＭＰ１＝０ならば、ステップＳ１３に進み、ＣＭＰ１＝１ならば、ステップＳ１６に進む。
【００４３】
ステップＳ１３に進んだ場合、信号ＢＵＳｎの遅延時間ｔｄｎ＞信号ＢＵＳｍの遅延時間ｔｄｍである。すなわち、バス伝送路（Ｄｍ→ＢＵＳｍ）は、比較の結果、速い方の伝送路である。そこで、ステップＳ１４において、後述のように除外されたバス伝送路を含めずにｍを増加させる。除外されたバス伝送路が無ければ、ｍ＝ｍ＋１とする。
【００４４】
ステップＳ１４において、ｍが最大に達したか否かを判断する。この場合、後述のように除外されたバス伝送路を除いて最大に達したか否かを判断する。通常は先の例では最大が１０である。
【００４５】
ステップＳ１４において、ｍが最大に達しない場合、ステップＳ１２に戻る。ｍが最大に達した場合、ステップＳ１５において、最も遅延時間の長いバス伝送路（Ｄｎ→ＢＵＳｎ）を除外し、ステップＳ１９に進む。
【００４６】
一方、ステップＳ１６に進んだ場合、信号ＢＵＳｎの遅延時間ｔｄｎ＜信号ＢＵＳｍの遅延時間ｔｄｍである。すなわち、バス伝送路（Ｄｎ→ＢＵＳｎ）は、比較の結果、速い方の伝送路である。そこで、ステップＳ１７において、後述のように除外されたバス伝送路を除いてｎを増加させる。除外されたバス伝送路が無ければ、ｎ＝ｎ＋１とする。
【００４７】
ステップＳ１７において、ｎが最大に達したか否かを判断する。この場合、後述のように除外されたバス伝送路を除いて最大に達したか否かを判断する。通常は先の例では最大が１０である。
【００４８】
ステップＳ１７において、ｎが最大に達しない場合、ステップＳ１２に戻る。ｎが最大に達した場合、ステップＳ１８において、最も遅延時間の長いバス伝送路（Ｄｍ→ＢＵＳｍ）を除外する。
【００４９】
ステップＳ１９において、除外すべき冗長なバス伝送路（パス）が残っているか否かを判定し、未だ冗長なバス伝送路（パス）が存在する場合、ステップＳ１１に戻り、ｍ、ｎの初期化を行う。この場合、ｍ、ｎは、除外されたものを除いた最小値とこれに準じて小さな値とに設定されるものとする。
【００５０】
ステップＳ１９において、冗長なバス伝送路（パス）が存在しない場合、除外されなかったバス伝送路によってバス伝送路２１を構成する（リダン置換）。
【００５１】
このようにしてバス伝送路２１を構成することで、遅延時間の長いバス伝送路が除外され、残りのバス伝送路でバス伝送路２１が構成され、バス伝送路２１の高速化が図られる。なお、バス伝送路にアクティブ素子を含むような場合、除外したバス伝送路への電源供給を停止するようにしても良い。
【００５２】
次に、パイプラインレジスタ１２ａ、１２ｂ、１２ｃにおけるリダン置換について説明する。図７は、パイプラインレジスタ１２ａ（１２ｂ、１２ｃ）および遅延検出部１５ａの構成を示す図である。パイプラインレジスタ１２ａ（１２ｂ、１２ｃ）は、１０個のレジスタ（Ｄタイプのフリップフロップ回路）で構成され、１０個のレジスタから動作速度の速い（遅延時間の短い）８個のレジスタをセレクタＳＥＬ２３、２４で選択する。選択された８個のレジスタを用いて組合せ回路２２ａ（２２ｂ、２２ｃ）が出力する８本の並列信号をクロック信号φｘ（Ｘ＝１、２、３）によってそれぞれラッチする。セレクタＳＥＬ２４は、８個のレジスタのラッチ信号を選択して組合せ回路２２ｂ（２２ｃ、バス伝送路２１）に出力する。
【００５３】
遅延検出部１５ａは、１０個のレジスタから動作速度の速い８個のレジスタを選択するために機能する。遅延検出部１５ａは、セレクタＳＥＬ２２、チャージポンプ回路３１を備える。セレクタＳＥＬ２２は、バッファ回路ＢＵＦ１〜ＢＵＦ１０を介してそれぞれ出力される１０個のレジスタの出力／Ｑ１〜／Ｑ１０の一つを選択してチャージポンプ回路３１の入力端に接続する。また、レジスタの出力／Ｑ１〜／Ｑ１０は、スイッチＳＷ１〜ＳＷ１０を介して１０個のレジスタの入力Ｄ１〜Ｄ１０のそれぞれに接続可能とされる。
【００５４】
１０個のレジスタのそれぞれの動作速度を検出する場合、スイッチＳＷ１〜ＳＷ１０によってそれぞれ１０個のレジスタの入力（Ｄ）と出力／Ｑ１〜／Ｑ１０とを接続してループを形成する。この場合、ループを形成したレジスタは、クロック信号φｘでトグル動作する２分周器として機能する。セレクタＳＥＬ２２は、動作速度測定対象の一つのレジスタの出力信号を選択してチャージポンプ回路３１に供給する。
【００５５】
図８は、遅延検出部１５ａの動作を表すタイミングチャートである。図８（Ａ）に示すように、選択されたレジスタは、クロック信号φｘを１／２に分周して出力信号Ｑｋ（ｋ＝１〜１０）を出力する。チャージポンプ回路３１は、選択されたレジスタのトグル周波数で動作して昇圧機能が働き、信号ＣＰ＿ＯＵＴをＨレベル（１）として出力する。
【００５６】
一方、図８（Ｂ）に示すようにクロック信号φｘが高く、選択されたレジスタがクロック信号φｘを１／２に分周できなくなった場合、チャージポンプ回路３１は、昇圧機能が停止して信号ＣＰ＿ＯＵＴをＬレベル（０）として出力する。
【００５７】
次に、遅延検出部１５ａに対応した制御部１６の動作について説明する。図９は、制御部１６の第２の動作を表すフローチャートである。
【００５８】
ステップＳ２１において、クロック信号φｘの周波数を初期化する。
【００５９】
ステップＳ２２において、信号ＣＰ＿ＯＵＴのレベルをチェックし、Ｈレベル（１）ならば、該当のレジスタには動作周波数に余力があるので、ステップＳ２３においてクロック信号φｘの周波数を上昇させ、ステップＳ２２に戻る。
【００６０】
ステップＳ２２において、信号ＣＰ＿ＯＵＴのレベルをチェックし、Ｌレベル（０）ならば、該当のレジスタには動作周波数に余力が無いので、ステップＳ２４において該当する次のレジスタがあるかをチェックする。次のレジスタがあればステップＳ２５に進み、無ければステップＳ２７に進む。
【００６１】
ステップＳ２５において、セレクタＳＥＬ２２を切り替えて該当する次のレジスタを選択する。
【００６２】
ステップＳ２６において、信号ＣＰ＿ＯＵＴのレベルをチェックし、Ｈレベル（１）ならば、該当のレジスタには動作周波数に余力があるので、ステップＳ２４に進む。Ｌレベル（０）ならば、ステップＳ２１に戻る。
【００６３】
ステップＳ２７において、該当のレジスタを動作周波数の低い冗長なレジスタであるとして排除し、ステップＳ２８において、チェックすべきレジスタが残っているか否かをチェックする。
【００６４】
チェックすべきレジスタが残っていれば、ステップＳ２１に戻り、無ければ冗長のチェックが終了したので、ステップＳ２９において、排除したレジスタを除いてパイプラインレジスタを構成する。
【００６５】
次に、遅延検出部１５ａに対応した制御部１６の他の動作について説明する。図１０は、制御部１６の第３の動作を表すフローチャートである。図１０において、図９と同一の符号は、同一の処理を行い、その説明を省略する。
【００６６】
ステップＳ２２において、信号ＣＰ＿ＯＵＴのレベルをチェックし、Ｌレベル（０）ならば、ステップＳ７１において、その時点でのクロック信号φｘの周波数を記録する。
【００６７】
ステップＳ７１に引き続きステップＳ２４を実行する。
【００６８】
ステップＳ２４において該当する次のレジスタが無ければ、ステップＳ７２において、それぞれのレジスタの動作周波数の順位付けを行い、ステップＳ７３において、最も遅いレジスタを排除する。
【００６９】
ステップＳ２８において、チェックすべきレジスタが残っているか否かをチェックし、チェックすべきレジスタが残っていれば、ステップＳ７３に戻り、無ければステップＳ２９に進む。
【００７０】
遅延検出部１５ａに対応した制御部１６は、以上のように第２あるいは第３の動作を行い、冗長構成のレジスタから動作周波数の低いレジスタを順次排除して残ったレジスタでパイプラインレジスタを構成する。したがって、構成されたパイプラインレジスタは、より高速なクロック信号で動作可能となる。なお、除外したレジスタへの電源供給を停止するようにしても良い。
【００７１】
次に、遅延検出部１５ａに対応した制御部１６の別の動作について説明する。図１１は、制御部１６の第４の動作を表すフローチャートである。図１１において、図９と同一の符号は、同一の処理を行い、その説明を省略する。また、ステップＳ２１ａ〜Ｓ２６ａ、Ｓ２８ａは、それぞれステップＳ２１〜Ｓ２６、Ｓ２８と同一の処理を行う。
【００７２】
ステップＳ２７ａにおいて、該当のレジスタを動作周波数の高い冗長なレジスタであるとして排除する。
【００７３】
ステップＳ２８ｂにおいて、チェックすべきレジスタが残っているか否かをチェックし、チェックすべきレジスタが残っていれば、ステップＳ２１ａに戻り、無ければ冗長のチェックが終了したので、ステップＳ２９において、排除したレジスタを除いてパイプラインレジスタを構成する。
【００７４】
次に、遅延検出部１５ａに対応した制御部１６のさらに別の動作について説明する。図１２は、制御部１６の第５の動作を表すフローチャートである。図１２において、図１０と同一の符号は、同一の処理を行い、その説明を省略する。
【００７５】
ステップＳ２８において、チェックすべきレジスタが残っているか否かをチェックし、チェックすべきレジスタが残っていれば、ステップＳ７４に進み、無ければステップＳ２９に進む。
【００７６】
ステップＳ７４において、最も速いレジスタを排除する。
【００７７】
ステップＳ７５において、チェックすべきレジスタが残っているか否かをチェックし、チェックすべきレジスタが残っていれば、ステップＳ７３に進み、無ければステップＳ２９に進む。
【００７８】
遅延検出部１５ａに対応した制御部１６は、以上のように第４あるいは第５の動作を行い、冗長構成のレジスタから動作周波数の低いレジスタと高いレジスタとを交互に排除し、残ったレジスタでパイプラインレジスタを構成する。したがって、構成されたパイプラインレジスタは、中程度の速度のクロック信号で動作可能となる。なお、除外したレジスタへの電源供給を停止するようにしても良い。
【００７９】
このような動作速度が中程度のレジスタであればスキューの発生は少ないと期待できる。また、一般に高速な回路にはリーク電流の大きな素子が使用される。したがって、動作速度が中程度となるレジスタを選択することで、リーク電流の大きなレジスタを排除して消費電流を削減し、電力効率を向上させることができる。
【００８０】
次に、バッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅにおけるリダン置換について説明する。図１３は、バッファ回路および遅延検出部１５ｂの構成を示す図である。バッファ回路１４ｎ（ｎ＝ａ〜ｅ）は、バッファ回路ＢＵＦａ、ＢＵＦｂ、ＢＵＦｃ、ＢＵＦｄ、スイッチＳＷ１を備える。ここでは、一例としてバッファ回路の数を４個としているが、４個に限定されない。図３におけるバッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅでは２個として示している。
【００８１】
バッファ回路ＢＵＦａ、ＢＵＦｂ、ＢＵＦｃ、ＢＵＦｄは、クロック信号φｎ（図３では、ｎ＝０〜４）を入力し、バッファリングし、それぞれ信号ＯＵＴａ〜ＯＵＴｄをセレクタＳＥＬ２、ＳＥＬ３に出力する。
【００８２】
遅延検出部１５ｂは、セレクタＳＥＬ２、ＳＥＬ３、位相比較器ＣＰ２（例えばＤタイプのフリップフロップ回路ＦＦ４）を備える。セレクタＳＥＬ２は、以下で述べるような制御部１６の制御にしたがって信号ＯＵＴ３ａ、ＯＵＴ３ｂ、ＯＵＴ３ｃ、ＯＵＴ３ｄのいずれか一つを選択し、フリップフロップ回路ＦＦ４のＤ端子に出力する。また、セレクタＳＥＬ３は、制御部１６の制御にしたがって信号ＯＵＴ３ａ、ＯＵＴ３ｂ、ＯＵＴ３ｃ、ＯＵＴ３ｄのいずれか一つを選択し、フリップフロップ回路ＦＦ４のクロック端子に出力する。フリップフロップ回路ＦＦ４は、Ｄ端子の信号をクロック端子の信号の立ち上がりでラッチして制御部１６に信号ＣＭＰ１を出力する位相比較器として機能する。
【００８３】
次に、制御部１６の動作について説明する。図１４は、制御部１６の第６の動作を表すフローチャートである。ここで制御部１６は、遅延検出部１５ｂによって遅延時間が最小（最速）となるバッファ回路を選択する。
【００８４】
ステップ３０において、制御部１６は、セレクタＳＥＬ２、ＳＥＬ３に対し初期設定を行う。例えば、セレクタＳＥＬ２が信号ＯＵＴ３ｂを選択し、セレクタＳＥＬ３が信号ＯＵＴ３ａを選択するように制御する。
【００８５】
ステップ３１において、制御部１６は、信号ＣＭＰ１が０か１かを判定する。すなわち、信号ＣＭＰ１が０であることは、信号ＯＵＴ３ａの立ち上がりに対し、信号ＯＵＴ３ｂの立ち上がりが遅れていてフリップフロップ回路ＦＦ４が０をラッチしたことを意味する。したがって、バッファ回路ＢＵＦａがバッファ回路ＢＵＦｂに比べて遅延時間は短いと判断される。また、信号ＣＭＰ１が１であることは、信号ＯＵＴ３ａの立ち上がりに対し、信号ＯＵＴ３ｂの立ち上がりが進んでいて、バッファ回路ＢＵＦａがバッファ回路ＢＵＦｂに比べて遅延時間が長いことを意味する。
【００８６】
ステップ３２において、制御部１６は、セレクタＳＥＬ２を切り替えたときの信号ＣＭＰ１が０であった組み合わせが「パス（バッファ回路）数−１」続いたか否かをチェックする。
【００８７】
「パス（バッファ回路）数−１」続いていない場合、ステップ３３において、制御部１６は、セレクタＳＥＬ２の選択先を次に切り替える。例えば、信号ＯＵＴ３ｃを選択する。そして、ステップＳ３１に戻る。
【００８８】
ステップ３２において、「パス（バッファ回路）数−１」続いた場合、セレクタＳＥＬ２の選択が全て終わったことを意味し、ステップ３４において、セレクタＳＥＬ３が選択している信号ＯＵＴ３ｘ（ｘ＝ａ〜ｄのいずれか）に対応するバッファ回路が最速のバッファ回路であるとして選定し、ステップ３８に進む。
【００８９】
一方、ステップ３１において、信号ＣＭＰ１が１である場合、ステップ３５において、制御部１６は、セレクタＳＥＬ２を切り替えたときの信号ＣＭＰ１が１であった組み合わせが「パス（バッファ回路）数−１」続いたか否かをチェックする。
【００９０】
「パス（バッファ回路）数−１」続いていない場合、ステップ３６において、制御部１６は、セレクタＳＥＬ３の選択先を次に切り替える。例えば、信号ＯＵＴ３ｃを選択する。そして、ステップＳ３１に戻る。
【００９１】
ステップ３５において、「パス（バッファ回路）数−１」続いた場合、セレクタＳＥＬ３の選択が全て終わったことを意味し、ステップ３７において、セレクタＳＥＬ２が選択している信号ＯＵＴ３ｘ（ｘ＝ａ〜ｄのいずれか）に対応するバッファ回路が最速のバッファ回路であるとして選定し、ステップ３８に進む。
【００９２】
ステップ３８において、選定されなかったバッファ回路、すなわち最速でなかったバッファ回路を不要の（冗長な）バッファ回路であるとして除外する。この場合、除外したバッファ回路の電源の遮断（パワーゲーティング）を行うようにしてもよい。
【００９３】
ステップ３９において、選定されたバッファ回路、すなわち最速のバッファ回路を一のバッファ回路とし、通常動作として一のバッファ回路およびスイッチＳＷ１を介したクロック信号伝送がなされる。
【００９４】
制御部１６は、以上のように動作し、フリップフロップ回路ＦＦ４のＤ端子とクロック端子の入力の位相を、それぞれセレクタＳＥＬ２、ＳＥＬ３を切り替えながら比較し、遅延時間が最小（最速）となるバッファ回路を選択し、選択したバッファ回路の出力を外部に出力するようにスイッチＳＷ１を制御する。
【００９５】
図１５は、制御部の第７の動作を表すフローチャートである。ここで制御部１６は、遅延検出部１５ｂによって遅延時間が中央値となるバッファ回路を選択する。
【００９６】
ステップＳ４０において、制御部１６は、セレクタＳＥＬ２、ＳＥＬ３に対し初期設定を行う。ステップＳ４１〜Ｓ４８は、セレクタＳＥＬ２、ＳＥＬ３を切り替えながら、最も遅いバッファ回路を選択して不要のバッファ回路であるとして電源の遮断（パワーゲーティング）を行う処理である。また、ステップＳ５１〜Ｓ５８は、セレクタＳＥＬ２、ＳＥＬ３を切り替えながら、最も速いバッファ回路を選択して不要のバッファ回路であるとして電源の遮断（パワーゲーティング）を行う処理であり、それぞれ図１４のステップＳ３１〜Ｓ３８と同様の処理を行う。
【００９７】
制御部１６は、ステップＳ４１〜Ｓ４９を処理することで、最も遅いバッファ回路を次々と除いていき、ステップＳ５１〜Ｓ５９を処理することで、最も速いバッファ回路を次々と除いていき、結果としてステップＳ４９またはＳ５９において残った１個のバッファ回路は、遅延時間が中央値であるバッファ回路となる。
【００９８】
ステップ６０において、選定されたバッファ回路、すなわち遅延時間が中央値であるバッファ回路を一のバッファ回路とし、通常動作として一のバッファ回路およびスイッチＳＷ１を介したクロック信号伝送がなされる。遅延時間が中央値であればスキューの発生は少ないと期待できる。また、一般に高速な回路にはリーク電流の大きな素子が使用される。したがって、遅延時間が中央値となる回路を選択することで、リーク電流の大きな回路を排除して消費電流を削減し、電力効率を向上させることができる。
【００９９】
なお、上述では、バッファ回路の選択について説明したが、これに限定されること無く、バス伝送路２１におけるリダン置換についても、適用することが可能である。すなわち、バス伝送路２１において、遅延時間が最小および最大の伝送路を次々と除外していき冗長性を無くした構成とする場合にも適用可能である。
【０１００】
以上の説明において、パイプラインレジスタ１２ａ、１２ｂ、１２ｃ、バス伝送路２１、バッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅは、並列形態とされる複数の遅延路に相当する回路からなる冗長構成とされ、それぞれの遅延路に遅延時間に基づいて冗長な遅延路の信号伝送を阻止するように機能する。しかし、これらに限定されること無く、組合せ回路２２ａ、２２ｂ、２２ｃなどにおいても、並列形態とされる複数の遅延路に相当する回路からなる冗長な構成の回路を備え、冗長部分の信号伝送を阻止するようにしてもよいことは言うまでもない。
【０１０１】
一般に、複雑な論理パスを複数備える場合、チップ面積におけるオーバーヘッドが大きい。そこで、複数の論理パスを設けるのは、単純な機能ブロック、例えば、上述したようなレジスタ、バス伝送路、クロックバッファ部などに限定し、複雑な論理パスは、非同期回路、例えば、パイプラインレジスタのタイミングの適応制御を行って単純な機能ブロックと融合させて、それぞれの短所を補うように構成することが好ましい。
【０１０２】
なお、上記で説明した冗長回路の選択は、出荷検査時などにおいて行い、選択結果をフェーズや不揮発メモリに設定するようにしてもよい。また、チップの電源投入時に冗長回路の選択を行うようにしてもよい。
【０１０３】
次に、電源電圧の制御に関して説明する。図１６は、本発明の第１の実施例に係る遅延モニタ部１７の主要部の回路図である。図１６において、対象回路４２は、図３のバッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅ、アクティブ素子を含む場合のバス伝送路２１における一遅延路に相当する。フリップフロップ回路ＦＦ５２は、対象回路４２にそれぞれ対応して設けられるパイプラインレジスタ１２ａ、１２ｂ、１２ｃのいずれかのレジスタ、あるいは同期動作回路１０ｂの中の初段のフリップフロップ回路などであって、対象回路４２の出力をクロック信号φｘ（ｘ＝１〜４）でラッチする。遅延モニタ部１７は、フリップフロップ回路ＦＦ５３、ＦＦ５４、ＦＦ５５、ＦＦ５６、排他的論理和回路ＥＸＯＲ’、ＥＸＯＲ”を備える。
【０１０４】
フリップフロップ回路ＦＦ５３、ＦＦ５４は、対象回路４２の出力をそれぞれクロック信号φｘ’、φｘ”でラッチする。クロック信号φｘ’は、クロック信号φｘに対して所定の遅延量だけ先行するクロック信号であり、例えば、クロック信号φｘを分配するクロックツリーの上位（供給源に近い側）から供給される。クロック信号φｘ”は、クロック信号φｘ’に対してさらに所定の遅延量だけ先行するクロック信号であり、例えば、クロック信号φｘを分配するクロックツリーのさらに上位（供給源に近い側）から供給される。
【０１０５】
排他的論理和回路ＥＸＯＲ’は、フリップフロップ回路ＦＦ５２、ＦＦ５３のそれぞれの出力信号Ｑ１、Ｑ１’の排他的論理和を演算し、演算結果である比較結果信号をフリップフロップ回路ＦＦ５５に出力する。排他的論理和回路ＥＸＯＲ”は、フリップフロップ回路ＦＦ５２、ＦＦ５４のそれぞれの出力信号Ｑ１、Ｑ１”の排他的論理和を演算し、演算結果である比較結果信号をフリップフロップ回路ＦＦ５６に出力する。フリップフロップ回路ＦＦ５５、ＦＦ５６は、それぞれ排他的論理和回路ＥＸＯＲ’、ＥＸＯＲ”の出力をクロック信号φｘの立ち下がりでラッチし、出力信号ＯＵＴ’、ＯＵＴ”を電源生成部１８に出力する。
【０１０６】
次に、図１６の回路の動作について説明する。図１７は、本発明の第１の実施例に係る遅延モニタ部１７の主要部の動作を表すタイミングチャートである。対象回路４２の出力信号Ｄ１は、クロック信号φｘの立ち上がりであるタイミングｔ３と、クロック信号φｘに対して所定の遅延量だけ先行するクロック信号φｘ’の立ち上がりであるタイミングｔ２と、クロック信号φｘ’に対して所定の遅延量だけ先行するクロック信号φｘ”の立ち上がりであるタイミングｔ１とでそれぞれラッチされ、出力信号Ｑ１、Ｑ１’、Ｑ１”として出力される。出力信号Ｑと、出力信号Ｑ’、Ｑ１”のそれぞれに対し、排他的論理和演算がなされ比較結果信号は、クロック信号φｘの立ち下がりであるタイミングｔ４でラッチされる。
【０１０７】
図１７において、ケースＰ１に示すように、出力信号Ｄ１の立ち上がりが、タイミングｔ１より先行する場合、対象回路４２がタイミングに余裕を持って動作する状態にある。したがって、電源生成部１８は、フリップフロップ回路ＦＦ５５、ＦＦ５６の出力がＬレベルであることを検知して対象回路４２の電源電圧を下げることができる。
【０１０８】
また、ケースＰ２に示すように、出力信号Ｄ１の立ち上がりが、タイミングｔ１〜ｔ２に存在する場合、対象回路４２は、適切なタイミングの動作状態にある。したがって、電源生成部１８は、フリップフロップ回路ＦＦ５５出力は、Ｌレベルであり、フリップフロップＦＦ５６の出力は、Ｈレベルであることを検知して対象回路４２の電源電圧を維持する。
【０１０９】
さらに、ケースＰ３に示すように、出力信号Ｄ１の立ち上がりが、タイミングｔ２〜ｔ３に存在する場合、対象回路４２は、タイミングに余裕の無い動作状態にある。したがって、電源生成部１８は、フリップフロップ回路ＦＦ５５、ＦＦ５６の出力がＨレベルであることを検知し、対象回路４２の電源電圧を上昇させる。
【０１１０】
以上のように電源生成部１８は、フリップフロップ回路ＦＦ５５、ＦＦ５６の出力に応じて対象回路４２の電源電圧を変更維持することで、対象回路４２が動作するに適切な電源電圧を供給することができる。
【０１１１】
図１８は、本発明の第１の実施例に係る電源電圧制御遅延モニタの回路図である。図１８において、レプリカ回路２５は、図３のバッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅ、アクティブ素子を含む場合のバス伝送路２１の一つに相当して設けられ、選択された一の遅延路の遅延時間と遅延時間が同等となるように設定可能な回路である。
【０１１２】
レプリカ回路２５は、バッファ回路１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅ、アクティブ素子を含む場合のバス伝送路２１の一つに相当して入力される信号を、所定の時間遅延をもって遅延回路２６に出力する。遅延回路２６は、レプリカ回路２５の出力信号を所定量遅延し、フリップフロップ回路ＦＦ２３および遅延回路２７に出力する。遅延回路２７は、遅延回路２６の出力信号を所定量遅延し、フリップフロップ回路ＦＦ２４に出力する。フリップフロップ回路ＦＦ２３、ＦＦ２４は、それぞれの入力をクロック信号ＣＬＫでラッチする。フリップフロップ回路ＦＦ２３は、反転出力信号を電源電圧アップ信号Ｖｕｐとして電源生成部１８に出力する。フリップフロップ回路ＦＦ２４は、電源電圧ダウン信号Ｖｄｏｗｎを電源生成部１８に出力する。
【０１１３】
次に、このように構成される電源電圧制御遅延モニタの動作について説明する。図１９は、本発明の第１の実施例に係る電源電圧制御遅延モニタの動作を表すタイミングチャートである。ここで、レプリカ回路２５、遅延回路２６、２７の出力信号をそれぞれＳｍ１、Ｓｍ２、Ｓｍ３とし、遅延回路２６、２７の遅延時間をＴとする。
【０１１４】
フリップフロップ回路ＦＦ２３、ＦＦ２４のクロック信号ＣＬＫによるラッチタイミングが信号Ｓｍ２の立ち上がりタイミングより早いｔ３１である場合、フリップフロップ回路ＦＦ２３は、反転出力信号である電源電圧アップ信号ＶｕｐをＨレベルとして出力する。この場合、出力信号Ｓｍ１の立ち上がりのタイミングがクロック信号ＣＬＫによるラッチタイミングに接近していて、電源生成部１８は、選定された一の遅延路の遅延時間に余裕がないものと判断する。したがって、電源生成部１８は、遅延路に供給する電源の電圧を上げるように制御し、遅延路の遅延時間を短くなるようにする。
【０１１５】
一方、フリップフロップ回路ＦＦ２３、ＦＦ２４のクロック信号ＣＬＫによるラッチタイミングが信号Ｓｍ３の立ち上がりタイミングより遅いｔ３２である場合、フリップフロップ回路ＦＦ２４は、電源電圧ダウン信号ＶｄｏｗｎをＨレベルとして出力する。この場合、出力信号Ｓｍ１の立ち上がりのタイミングがクロック信号ＣＬＫによるラッチタイミングから離れていて、電源生成部１８は、選定された一の遅延路の遅延時間に余裕があるものと判断する。したがって、電源生成部１８は、遅延路に供給する電源の電圧を下げるように制御し、遅延路の遅延時間を長くなるようにする。
【０１１６】
電源電圧制御遅延モニタは、以上のように動作して、選択された一の遅延路において適切な遅延時間を得られる限りにおいて、遅延路に供給される電源電圧を下げて、電力効率を向上させることができる。
【０１１７】
以上のような半導体集積回路装置によれば、各部が冗長構成とされ、冗長であるとして取り除かれた回路（素子）には遅延特性において所望の性能が得られない低速素子が含まれる。したがって、全体の遅延特性はより良好なものとなる。また、取り除かれた素子における信号伝送が阻止されるので、電力効率が向上する。さらに、冗長であるとして取り除かれなかった回路（素子）に対しては、所望の遅延時間が得られる範囲において電源電圧を低下させ、消費電力の減少を図ることができる。
【０１１８】
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１１９】
１０ａ、１０ｂ  同期動作回路
１１ａ、１１ｂ  信号伝達回路
１２、１２ａ、１２ｂ、１２ｃ  パイプラインレジスタ
１３  パイプラインタイミング制御回路
１４ａ、１４ｂ、１４ｃ、１４ｄ、１４ｅ、ＢＵＦ１〜ＢＵＦ１０、ＢＵＦａ、ＢＵＦｂ、ＢＵＦｃ、ＢＵＦｄ  バッファ回路
１５、１５ａ、１５ｂ  遅延検出部
１６  制御部
１７  遅延モニタ部
１８  電源生成部
２１  バス伝送路
２２ａ、２２ｂ、２２ｃ  組合せ回路
２５  レプリカ回路
２６、２７  遅延回路
３１  チャージポンプ回路
４２  対象回路
ＣＥａ、ＣＥｂ、ＣＥｃ、ＣＥｄ  Ｃ素子
ＣＰ１、ＣＰ２  位相比較器
ＥＸＯＲ’、ＥＸＯＲ”  排他的論理和回路
ＦＦ１、ＦＦ２３、ＦＦ２４、ＦＦ４、ＦＦ５２〜ＦＦ５６  フリップフロップ回路
ＩＮＶ  インバータ回路
ＳＥＬ２、ＳＥＬ３、ＳＥＬ１１、ＳＥＬ１２、ＳＥＬ２２〜ＳＥＬ２４  セレクタ
ＳＷ１  スイッチ
【図１】
2010238061.tif 000003
【図２】
2010238061.tif 000004
【図３】
2010238061.tif 000005
【図４】
2010238061.tif 000006
【図５】
2010238061.tif 000007
【図６】
2010238061.tif 000008
【図７】
2010238061.tif 000009
【図８】
2010238061.tif 000010
【図９】
2010238061.tif 000011
【図１０】
2010238061.tif 000012
【図１１】
2010238061.tif 000013
【図１２】
2010238061.tif 000014
【図１３】
2010238061.tif 000015
【図１４】
2010238061.tif 000016
【図１５】
2010238061.tif 000017
【図１６】
2010238061.tif 000018
【図１７】
2010238061.tif 000019
【図１８】
2010238061.tif 000020
【図１９】
2010238061.tif 000021