(57)【要約】【課題】消費電力を回路ブロック単位で削減できる、半導体集積回路装置及びその消費電力削減方法を提供することを目的とする。【解決手段】データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備え、前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整可能な振幅調整回路とを備える、半導体集積回路装置。例えば、前記振幅調整回路は、前記複数のラッチ回路の動作が同期可能な範囲で、前記振幅を低くする。例えば、前記振幅調整回路は、前記ラッチ回路の伝搬遅延時間が目標遅延時間を超えないように、前記振幅を調整する。【選択図】図１
2015159368.tif 000002
【特許請求の範囲】
【請求項１】
データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備え、
前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整可能な振幅調整回路とを備える、半導体集積回路装置。
【請求項２】
前記振幅調整回路は、前記複数のラッチ回路の動作が同期可能な範囲で、前記振幅を低くする、請求項１に記載の半導体集積回路装置。
【請求項３】
前記振幅調整回路は、前記ラッチ回路の伝搬遅延時間が目標遅延時間を超えないように、前記振幅を調整する、請求項２に記載の半導体集積回路装置。
【請求項４】
前記振幅調整回路は、前記各回路ブロックのクリティカルパスを用いて導出された電圧に、前記各回路ブロックの前記振幅を設定する、請求項１から３のいずれか一項に記載の半導体集積回路装置。
【請求項５】
データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備える半導体集積回路装置の消費電力削減方法であって、
前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整する振幅調整ステップを有する、半導体集積回路装置の消費電力削減方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置及びその消費電力削減方法に関する。
【背景技術】
【０００２】
従来、半導体集積回路のクリティカルパスを備えた順序回路が正常動作する範囲で半導体集積回路全体の電源電圧をできるだけ低い値に設定することで、半導体集積回路の低消費電力化を図る技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９６２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体集積回路全体の電源電圧を下げると、半導体集積回路の消費電力が低下するだけでなく、半導体集積回路内のラッチ回路間のデータパスの伝搬遅延時間の増加により半導体集積回路の性能も低下する。
【０００５】
しかしながら、データパスの伝搬遅延時間が製造ばらつきによって半導体集積回路内の複数の回路ブロック間でばらつくと、正常動作に必要な最低電圧が複数の回路ブロックの中で最も高い電圧値までしか、半導体集積回路全体の電源電圧を下げられない。そのため、消費電力を削減できる余地が一部の回路ブロックに残っている場合がある。
【０００６】
そこで、消費電力を回路ブロック単位で削減できる、半導体集積回路装置及びその消費電力削減方法の提供を目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、
データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備え、
前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整可能な振幅調整回路とを備える、半導体集積回路装置が提供される。
【発明の効果】
【０００８】
一態様によれば、消費電力を回路ブロック単位で削減できる。
【図面の簡単な説明】
【０００９】
【図１】半導体集積回路装置の一例を示す構成図
【図２】順序回路の一例を示す構成図
【図３】半導体集積回路装置間の製造プロセスのばらつきの一例を説明するための図
【図４】半導体集積回路装置内の製造プロセスのばらつきの一例を説明するための図
【図５】チョッパの一例を示す構成図
【図６】チョッパの入出力波形の一例を示すタイミングチャート
【図７】振幅調整回路の一例を示す構成図
【図８】動作不良検出回路の一例を示す構成図
【図９】動作不良検出回路の動作の一例を示すタイミングチャート
【図１０】動作不良検出回路の動作の一例を示すタイミングチャート
【図１１】動作不良検出回路の動作の一例を示すタイミングチャート
【図１２】動作不良検出回路の動作の一例を示すタイミングチャート
【図１３】ステートマシンの動作の一例を示すフローチャート
【図１４】振幅調整回路の動作の一例を示すフローチャート
【図１５】動作不良検出回路の一例を示す構成図
【図１６】動作不良検出回路の一例を示す構成図
【図１７】動作不良検出回路の一例を示す構成図
【図１８】動作不良検出回路の一例を示す構成図
【図１９】消費電力削減効果をシミュレーションするための回路の一例を示す構成図
【図２０】シミュレーション結果の一例を示す図
【図２１】シミュレーション結果の一例を示す図
【図２２】半導体集積回路装置内の製造ばらつきがない場合の一例を説明するための図
【図２３】半導体集積回路装置内の製造ばらつきがある場合の一例を説明するための図
【図２４】シミュレーション結果の一例を示す図
【図２５】シミュレーション結果の一例を示す図
【図２６】シミュレーション結果の一例を示す図
【図２７】シミュレーション結果の一例を示す図
【発明を実施するための形態】
【００１０】
図１は、半導体集積回路装置１００（以下、単に「装置１００」という）の一例を示す構成図である。装置１００は、ＬＳＩ（Large  Scale  Integrated  circuit：大規模集積回路）の一例であり、複数の順序回路（sequential  circuit）２０と、振幅調整回路１０とを備えている。
【００１１】
複数の順序回路２０は、互いに同じ回路構成を有し、それぞれ、複数のラッチ回路２１，２２，２３と、複数のラッチ回路２１，２２，２３の動作を同期させるクロックＣＬＫを全振幅で出力するチョッパ２５とを有している。複数のラッチ回路２１，２２，２３は、順序回路２０単位で、チョッパ２５から出力される共通のクロックＣＬＫによって駆動される。チョッパ２５は、振幅調整回路１０から供給される振幅調整信号Ｓａに応じて、クロックＣＬＫの振幅を可変する機能を有している。
【００１２】
振幅調整回路１０は、各順序回路２０内の各チョッパ２５から出力されるクロックＣＬＫの振幅を調整するための振幅調整信号Ｓａを、各チョッパ２５に対して出力する手段の一例である。振幅調整回路１０は、装置１００の所定の目標性能を下回らない電圧に各クロックＣＬＫの振幅を自動で調整することで、装置１００の消費電力を削減する。
【００１３】
例えば、順序回路２０を形成するＣＭＯＳ回路の動作時の消費電力は、負荷容量をＣ，スイッチング周波数をｆ，電源電圧をＶとすると、「Ｃ×Ｖ２×ｆ」に応じて変化する。したがって、電源電圧Ｖの全振幅で振動するクロックＣＬＫの振幅を小さくすると、電源電圧Ｖが下がるので、チョッパ２５の動作中の消費電力を下げることができる。各チョッパ２５の消費電力を下げることができるので、装置１００全体の消費電力も下げることができる。
【００１４】
振幅調整回路１０は、各順序回路２０内の各チョッパ２５から出力される各クロックＣＬＫの振幅を互いに同じ電圧に調整する回路でもよいし、互いに異なる電圧に調整できる回路でもよい。各クロックＣＬＫの振幅が互いに異なる電圧に調整できることによって、消費電力を順序回路２０単位で削減できる。振幅調整回路１０は、複数のチョッパ２５に対して一つ設けられる回路でもよいし、一つのチョッパ２５に対して一つ設けられる回路でもよい。
【００１５】
図２は、順序回路２０の一例を示す図である。順序回路２０は、データパス２４を介して接続された複数のラッチ回路２１，２２と、チョッパ２５とを有している。チョッパ２５は、データパス２４を介して複数のラッチ回路２１，２２間で信号を送受する動作を同期させるクロックＣＬＫを出力する回路である。
【００１６】
なお、図２は、共通のクロックＣＬＫで駆動されるラッチ回路の個数が２つの場合を示しているが、当該個数は３つ以上であってもよい。また、ラッチ回路２１，２２は、例えば、Ｄフリップフロップである。
【００１７】
ラッチ回路２１のデータ出力端ＳＬは、データパス２４を介して、ラッチ回路２２のデータ入力端Ｄに接続されている。クロックＣＬＫは、ラッチ回路２１，２２それぞれのクロック入力端に供給される信号である。データパス２４は、組み合わせ論理回路又は比較的長い配線である。ラッチ回路２１のデータ出力端ＳＬから出力された信号ＰＩは、データパス２４を伝搬することにより、信号ＰＩに対応する信号ＰＯに変換される。変換後の信号ＰＯは、ラッチ回路２２のデータ入力端Ｄに入力される。
【００１８】
ラッチ回路２１は、データ入力端Ｄから入力される入力データＤＩＮをクロックＣＬＫに同期して保持して信号ＰＩを出力する一方で、ラッチ回路２２は、信号ＰＯをクロックＣＬＫに同期して保持して出力データＤＯＵＴをデータ出力端ＳＬから出力する。
【００１９】
順序回路２０を形成するＣＭＯＳ回路の伝搬遅延時間は、負荷容量をＣ，電源電圧をＶとすると、「Ｃ／Ｖ」に応じて変化する。すなわち、負荷容量Ｃが小さいほど、又は電源電圧Ｖが高いほど、ＣＭＯＳ回路の伝搬遅延時間は短くなる。したがって、電源電圧Ｖを下げると、ＣＭＯＳ回路の伝搬遅延時間は長くなるため、装置１００の性能は低下する。例えば、電源電圧Ｖを下げると、装置１００の動作周波数が低下する。
【００２０】
振幅調整回路１０から供給される振幅調整信号Ｓａは、順序回路２０全体の電源電圧Ｖ（端子ＶＤＤと端子ＶＳＳとの電位差）を低下させる制御信号ではなく、クロックＣＬＫの振幅の低下量を調整する制御信号である。したがって、ＣＭＯＳ回路の伝搬遅延時間が長くなる回路は、チョッパ１０から出力されるクロックＣＬＫによって駆動されるラッチ回路２１，２２であって、データパス２４ではない。つまり、クロックＣＬＫの振幅が小さくされても、データが一つのラッチ回路に入力されてから出力されるまでの伝搬遅延時間は増加するが（つまり、ラッチ回路２１又２２の伝搬遅延時間は増加するが）、データパス２４の伝搬遅延時間は増加せずに一定である。
【００２１】
しかしながら、クロックＣＬＫの振幅を小さくするのではなく順序回路２０全体の電源電圧Ｖを下げると、ラッチ回路２１又は２２の伝搬遅延時間が増加するだけでなく、データパス２４の伝搬遅延時間も増加する。データパス２４は、電源電圧Ｖで動作するからである。
【００２２】
よって、振幅調整回路１０は、データパス２４の実際の伝搬遅延時間が所定の目標遅延時間よりも短い場合（余裕がある場合）、ラッチ２１，２２の動作が同期可能な範囲で、クロックＣＬＫの振幅を振幅調整信号Ｓａにより低くするとよい。これにより、データパス２４の伝搬遅延時間が増加しないため、順序回路２０及び装置１００の性能低下を抑制でき、且つ、クロックＣＬＫの振幅が減少するため、順序回路２０及び装置１００全体の消費電力を削減できる。
【００２３】
また、本実施例では、チョッパ２５から出力されるクロックＣＬＫの振幅を調整する振幅調整回路１０が装置１００の内部に一つ又は複数備えられているため、装置１００単位でクロックＣＬＫの振幅を調整できる。
【００２４】
図３は、装置１００間の製造プロセスのばらつきの一例を説明するための図である。図４は、装置１００内の製造プロセスのばらつきの一例を説明するための図である。
【００２５】
製造プロセスのばらつき（製造ばらつき）とは、設計上同じレイアウトで同じサイズのトランジスタであっても、製造された素子の閾値電圧やドレーン電流などの特性が、個々のトランジスタごとに異なる値を示すという現象である。その結果、回路の動作マージンが著しく減少することや、製造の歩留りが急激に低下するなどの現象が引き起こされる。このようなトランジスタばらつきによって、半導体集積回路装置の動作マージンを大きくとらなければならないという問題がある。
【００２６】
図３の場合、装置１００は、ウェハ２００から切り出されたチップの一つである。ウェハ２００には、互いに同一の回路構成を有する複数の装置１００が形成されている。振幅調整回路１０及びチョッパ２５は、各装置１００の内部に一つ又は複数配置されている。したがって、各装置１００に配置された各振幅調整回路１０は、自身が配置された装置１００内のチョッパ２５から出力されるクロックＣＬＫの振幅を下げることで、自身が配置された装置１００の消費電力を削減できる。よって、装置１００間の製造ばらつきが生じても、消費電力を装置１００単位で削減できる。
【００２７】
また、各振幅調整回路１０は、例えば、自身が配置された装置１００のクリティカルパスを用いて導出された電圧に、自身が配置された装置１００内のチョッパ２５から出力されるクロックＣＬＫの振幅を設定するとよい。これにより、装置１００間の製造ばらつきが生じても、クロックＣＬＫの振幅を個々の装置１００に最適な電圧に調整できる。その結果、装置１００の性能低下を抑制しつつ消費電力を削減することを装置１００単位で実現できる。
【００２８】
一方、図４の場合、一つの装置１００は、互いに同一の回路構成を有する複数の回路ブロック５０を備えている。振幅調整回路１０及びチョッパ２５は、各回路ブロック５０の内部に一つ又は複数配置されている。例えば、装置１００がマルチコアプロセッサである場合、各回路ブロック５０は、マルチコアプロセッサ内の各コアに相当する。したがって、各回路ブロック５０に配置された各振幅調整回路１０は、自身が配置された回路ブロック５０内のチョッパ２５から出力されるクロックＣＬＫの振幅を下げることで、自身が配置された回路ブロック５０の消費電力を削減できる。よって、装置１００内の製造ばらつき（この場合、言い換えれば、回路ブロック５０間の製造ばらつき）が生じても、消費電力を回路ブロック５０単位で削減できる。
【００２９】
また、装置１００内の製造ばらつきによって、それぞれの回路ブロック５０のクリティカルパスの伝搬遅延時間が異なることがある。このような場合、チョッパ２５のクロックＣＬＫは、回路ブロック５０単位で設定されることが好ましい。
【００３０】
したがって、各振幅調整回路１０は、例えば、自身が配置された回路ブロック５０のクリティカルパスを用いて導出された電圧に、自身が配置された回路ブロック５０内のチョッパ２５から出力されるクロックＣＬＫの振幅を設定するとよい。これにより、回路ブロック５０間の製造ばらつきが生じても、クロックＣＬＫの振幅を個々の回路ブロック５０に最適な電圧に調整できる。その結果、回路ブロック５０の性能低下を抑制しつつ消費電力を削減することを回路ブロック５０単位で実現できる。
【００３１】
なお、クリティカルパスとは、伝搬遅延時間が所定の目標遅延時間に等しい又は僅かに短い、ラッチ回路間のデータパスである。
【００３２】
図５は、チョッパ２５の一例を示す構成図である。チョッパ２５は、例えば、インバータ２６，２７，２９と、ＮＡＮＤゲート２８と、ドライバ３０とを有する回路である。また、チョッパ２５は、例えば、電源端子ＶＤＤと、電源端子ＶＳＳと、クロック端子Ａと、出力端子Ｘと、調整端子ＶＳＳＬとを有している。
【００３３】
電源端子ＶＤＤは、高電源電位に接続される端子の一例であり、電源端子ＶＳＳは、低電源電位に接続される端子の一例である。電源端子ＶＳＳと電源端子ＶＤＤとの電位差が、電源電圧である。
【００３４】
クロック端子Ａは、クロック信号が入力される端子の一例である。出力端子Ｘは、チョッパ２５の出力信号であるクロックＣＬＫが出力される端子の一例である。調整端子ＶＳＳＬは、クロックＣＬＫの振幅を調整するための振幅調整信号Ｓａが入力される端子の一例である。
【００３５】
図６は、チョッパ２５の入出力波形の一例を示すタイミングチャートである。縦軸は電圧を表し、横軸は時間を表す。図５を参照して、図６について説明する。クロック信号がクロック端子Ａに入力されると、ローレベルの時間幅がインバータ２７の伝搬遅延時間と等しいクロックＣＬＫが、出力端子Ｘから出力される。クロックＣＬＫの周波数は、クロック端子Ａに入力されるクロック信号とほぼ同じ周波数である。電源端子ＶＳＳに対して正の電圧の振幅調整信号Ｓａが調整端子ＶＳＳＬに入力されると、調整端子ＶＳＳＬに入力された電圧だけクロック端子Ａに入力されるクロック信号よりも振幅の狭いクロックＣＬＫが、ドライバ３０から出力端子Ｘを介して出力される。クロックＣＬＫの振幅の調整は、ドライバ３０のグランド電位が振幅調整信号Ｓａにより調整されることで行われる。
【００３６】
クロックＣＬＫが各ラッチ回路のクロック信号入力端子に入力されることで、各ラッチ回路が駆動される。クロックＣＬＫの振幅が小さくされると、駆動されるラッチ回路の伝搬遅延時間が大きくなる。ラッチ回路の伝搬遅延時間が目標遅延時間と等しい又は僅かに短い場合、クロックＣＬＫの振幅が小さくされると、ラッチ回路のデータ出力の遅延が大きくなり、伝搬遅延時間が目標遅延時間を超えること（オーバーディレイ）が起こるおそれがある。そのため、振幅調整回路１０は、ラッチ回路の伝搬遅延時間が目標遅延時間を超えないように、クロックＣＬＫの振幅を調整する。
【００３７】
図７は、振幅調整回路１０の一例を示す構成図を示す。振幅調整回路１０は、動作不良検出回路４０と、ステートマシン６０と、電圧設定回路６１とを有している。動作不良検出回路４０は、チョッパの出力振幅を低下させたときに、装置１００又は回路ブロック５０のクリティカルパスを利用して、ラッチ回路間の同期不良を検出する回路である。ステートマシン６０は、チョッパ２５の調整端子ＶＳＳＬ（図５参照）に入力されるＶＳＳＬ電圧（振幅調整信号Ｓａの電圧）の最適値を探索する回路である。電圧設定回路６１は、ステートマシン６０によって探索されたＶＳＳＬ電圧の最適値をチョッパ２５の調整端子ＶＳＳＬに設定する回路である。
【００３８】
動作不良検出回路４０の出力は、ステートマシン６０に入力され、ステートマシン６０の出力は、電圧設定回路６１に入力される。電圧設定回路６１の出力電圧値は、動作不良検出回路４０にフィードバックされ、最適なＶＳＳＬ電圧になるまで変化する。ＶＳＳＬ電圧の設定が終了すると、ＶＳＳＬ電圧の最適値は、装置１００内のラッチ回路を駆動している各チョッパ２５に分配される。このように、振幅調整回路１０を装置１００毎又は回路ブロック５０毎に備えることで、製造ばらつきに対応することが可能である。
【００３９】
図８は、チョッパ２５と同一の回路構成を有する調整用チョッパ４３を含む動作不良検出回路４０の一例を示す構成図である。動作不良検出回路４０は、装置１００又は回路ブロック５０のクリティカルパス４６を利用して、複数のラッチ回路間（例えば、図２のラッチ回路２１，２２間）の動作が正常に同期できる、クロックＣＬＫの振幅の下限値を検出するための回路である。クリティカルパス４６は、装置１００又は回路ブロック５０の機能を実現するために使用されるデータパスと略同一回路構成で形成されたレプリカパスであるが、入力信号がそのまま出力されるバッファとして動作するように多少の回路変更を要する場合がある。
【００４０】
クロック信号源４１は、全振幅チョッパ４２、調整用チョッパ４３及びダウンカウンタ回路４４に共通のクロック信号を供給している。ダウンカウンタ回路４４は、２ｂｉｔ以上のカウンタであって、カウントダウン数を設定するためのsetcnt信号が入力されることで、任意の数をカウントダウンすることができる。クロック信号が入力されダウンカウンタ回路４４の出力が０になると、ハイアクティブのEN信号（イネーブル信号）がＮＯＲゲート４７から出力される。EN信号は、各ラッチ回路１，２，３，４のIH端子に接続され、IH端子にハイレベルのEN信号が入力されると、各ラッチ回路１，２，３，４の出力は直前の論理レベルで固定される。ステートマシン６０（図７参照）は、EN信号がハイレベルの時のラッチ回路４の出力レベルに基づいて、ラッチ回路２とラッチ回路３との間の同期動作が正常か否かを判定する。
【００４１】
ラッチ回路１とインバータ４５によって生成された周期的なパルス信号が、ラッチ回路２にデータとして供給される。ラッチ回路２とラッチ回路３との間にはバッファで構成されたクリティカルパス４６が接続されている。バッファの段数が変更されることで、クリティカルパス４６の伝搬遅延時間を、目標遅延時間と等しく設定することもできるし、目標遅延時間より遅い伝搬遅延時間に設定することもできる。
【００４２】
ラッチ回路１，ラッチ回路３及びラッチ回路４は、全振幅チョッパ４２から全振幅で出力されるクロック信号で駆動されている。ラッチ回路２は、調整用チョッパ４３から全振幅で出力されるクロックで駆動されている。ラッチ回路２のデータ出力とラッチ回路３のデータ出力との排他的論理和（XOR出力）が、ＸＯＲゲート４８からラッチ回路４の入力に出力される。ステートマシン６０が調整用チョッパ４３の出力振幅を変化させると、ラッチ回路２のデータ出力の伝搬遅延時間が変化する。
【００４３】
ＸＯＲゲート４８は、ラッチ回路２とラッチ回路３との間のデータ信号の差分を検出することで、オーバーディレイを検出できる。クリティカルパス４６の伝搬遅延時間が目標遅延時間を超えていない通常動作時では、ラッチ回路２とラッチ回路３のデータ出力は必ず異なる（反転している）ので、ラッチ回路４の出力はハイレベルとなる。一方、クリティカルパス４６の伝搬遅延時間が目標遅延時間を超えている異常動作時では、ラッチ回路２とラッチ回路３のデータ出力が一致するタイミングが存在するので、ラッチ回路４の出力はローレベルとなる。
【００４４】
したがって、動作不良検出回路４０は、調整用チョッパ４３の出力振幅がステートマシン６０により段階的に下げられる過程において、ラッチ回路４の出力の論理レベルの変化に基づいて、ラッチ回路２とラッチ回路３との間の同期動作の不良を検出できる。
【００４５】
図９〜１２は、チョッパの出力振幅調整時の動作不良検出回路４０の動作の一例を示すタイミングチャートである。図９〜１２において、「CLK」は、クロック信号源４１のクロック信号であり、「チョッパ出力」は、全振幅チョッパ４２のクロック信号であり、縦軸は電圧を表し、横軸は時間を表す。
【００４６】
ラッチ回路間のクリティカルパス４６の伝搬遅延時間が目標遅延時間を満たしている通常動作時（図９）、EN信号がローレベルからハイレベルに変化したタイミングｔ１でのラッチ回路４の出力はハイレベルとなる。ステートマシン６０は、ラッチ回路４のハイレベル出力に基づいて、ラッチ回路２とラッチ回路３との間の同期動作が正常と判定できる。
【００４７】
ただし、ラッチ回路のリセット時は、ラッチ回路２とラッチ回路３のデータ出力が一致し、ラッチ回路４の出力はローレベルとなり、ステートマシン６０の判定結果が同期不良となってしまう。同期不良と判定されることを防ぐため、リセット時のラッチ回路４のデータ出力は無視されるように、ダウンカウンタ回路４４のカウント値は３に設定される。
【００４８】
調整用チョッパ４３の出力振幅を小さくすることで、ラッチ回路２の伝搬遅延時間がラッチ回路３のデータ取り込みタイミングｔ２に間に合わなくなるまで大きくなると、オーバーディレイが発生する（図１０参照）。オーバーディレイが発生すると、ラッチ回路２とラッチ回路３のデータ出力が一致するタイミングが存在するので、ステートマシン６０は、ラッチ回路４のローレベル出力に基づいて、ラッチ回路２とラッチ回路３との間の同期動作が不良と判定できる。
【００４９】
ただし、オーバーディレイによって、２クロック目のタイミングｔ２でのラッチ回路４の出力はハイレベルなので、オーバーディレイ時のラッチ回路４のデータ出力が無視されるように、ダウンカウンタ回路４４のカウント値は３に設定される。
【００５０】
調整用チョッパ４３の出力振幅がラッチの検出感度より小さくなると、ラッチの出力がローレベルやハイレベルで固定される（図１２参照）。この場合、ラッチ回路２とラッチ回路３のデータ出力が一致するタイミングが存在するので、ステートマシン６０は、ラッチ回路４のローレベル出力に基づいて、ラッチ回路２とラッチ回路３との間の同期動作が不良と判定できる。
【００５１】
なお、図１０のオーバーディレイは、データ信号が２クロック目でラッチ回路３の受け取りに間に合わず（タイミングｔ２）、次の３クロック目でラッチ回路３がデータを受け取っている例である。図１１のオーバーディレイは、３クロック目でもデータの受け取りが間に合わず（タイミングｔ３）、クロック信号が抑制されるまでにラッチ回路３がデータを受け取れない例である。
【００５２】
図１３は、チョッパの出力振幅調整時のステートマシン６０の動作の一例を示すフローチャートである。
【００５３】
ステップＳ１で、ステートマシン６０は、ダウンカウンタ回路４４に入力されるsetcnt信号を所定の初期値に設定する。
【００５４】
ステップＳ２で、ステートマシン６０は、調整用チョッパ４３のＶＳＳＬ端子に入力されるＶＳＳＬ電圧の初期値を設定する。
【００５５】
ステップＳ３で、ステートマシン６０は、ダウンカウンタ回路４４のカウンタをリセットする。
【００５６】
ステップＳ４で、ステートマシン６０は、EN信号がハイレベルであるか否かを判定し、ステップＳ５で、ハイレベルでなければハイレベルになるまで待機する。
【００５７】
ステップＳ６で、ステートマシン６０は、EN信号がハイレベルのときのラッチ回路４のデータ出力がハイレベルであるか否かを判定し、ラッチ回路４のデータ出力がローレベルになるまで、ステップＳ７で、調整用チョッパ４３に入力されるＶＳＳＬ電圧を段階的に上げる。ラッチ回路４でエラーが検出されたら（ラッチ回路４のデータ出力がローレベルになると）、ステートマシン６０は、ステップＳ８の処理を実行する。
【００５８】
ステップＳ８で、ステートマシン６０は、ＶＳＳＬ電圧の直前の正常値（ラッチ回路４でエラーが検出される直前の正常値）を、ＶＳＳＬ電圧の設定値（ＶＳＳＬ電圧の最適値）とする。
【００５９】
図１４は、装置１００の検査時の振幅調整回路１０の動作の一例を示すフローチャートを示している。クリティカルパス４６の伝搬遅延時間は、バッファの段数を調節することで、要求される目標遅延時間に等しくなるように予め設計されている。
【００６０】
ステップＳ１１で、振幅調整回路１０は、装置１００に予め実装されている複数のクリティカルパス４６の中から、動作不良検出回路４０が不良検出のために使用するクリティカルパスを選択する。
【００６１】
ステップＳ１２で、振幅調整回路１０は、ステートマシン６０を動作させることによって、ＶＳＳＬ電圧の最適値を抽出する。
【００６２】
ステップＳ１３で、振幅調整回路１０は、抽出されたＶＳＳＬ電圧の最適値を電圧設定回路６１によって各チョッパ２５に分配する。各チョッパ２５は、分配されたＶＳＳＬ電圧の最適値に対応する振幅でクロックＣＬＫを出力する。
【００６３】
ステップＳ１４で、振幅調整回路１０は、各順序回路２０内の各ラッチ回路が各チョッパ２５から出力されるクロックＣＬＫに従って駆動するように、チップの装置１００を動作させる。
【００６４】
ステップＳ１５で、半導体試験装置は、装置１００全体の機能試験(通常のウェハー試験)を実施し、振幅調整回路１０は、試験結果が正常になるまで、ステップＳ１６で、各チョッパ２５から出力されるクロックＣＬＫの振幅が増えるように、ＶＳＳＬ電圧を段階的に下げる。振幅調整回路１０は、ステップＳ１３で、段階的に下げたＶＳＳＬ電圧を電圧設定回路６１によって各チョッパ２５に分配する。各チョッパ２５は、段階的に下げたＶＳＳＬ電圧に対応する振幅でクロックＣＬＫを出力する。
【００６５】
図１５は、上述の形態とは異なる動作不良検出回路の一例を示す構成図である。図１５の動作不良検出回路７０と図８の動作不良検出回路４０とが異なる部分は、ラッチ回路２とラッチ回路３との間のクリティカルパスである。
【００６６】
図１５の動作不良検出回路７０は、ＡＮＤゲートやＯＲゲート等の複数種の論理素子で構成されるクリティカルパスを複数有している（ディレイパス７１，７２，７３）。ディレイパス７１，７２，７３は、互いに伝搬遅延時間が異なる。デマルチプレクサ７５は、制御レジスタで決められた選択信号Ｓに従って、ディレイパス７１，７２，７３中からクリティカルパスの種類を選択することで、クリティカルパスの伝搬遅延時間を調整する時間調整回路である。各チョッパ２５のクロックＣＬＫの振幅調整のために、複数のクリティカルパスの候補が用意されているので、より正確なモデルでＶＳＳＬ電圧を決定することができる。
【００６７】
図１６は、上述の形態とは異なる動作不良検出回路の一例を示す構成図である。図１６の動作不良検出回路８０と図８の動作不良検出回路４０とが異なる部分は、ラッチ回路２とラッチ回路３との間のクリティカルパスである。
【００６８】
図１６の動作不良検出回路８０は、装置１００への実装後に、伝搬遅延時間を変更できるクリティカルパスを有している。デマルチプレクサ８３，８４は、制御レジスタで決められた選択信号sel1,sel2に従って、クリティカルパスのバッファ８１，８２の段数を変更することで、装置１００への実装後でも、クリティカルパスの伝搬遅延時間を段階的に調整できる時間調整回路である。
【００６９】
図１７は、上述の形態とは異なる動作不良検出回路の一例を示す構成図である。図１７の動作不良検出回路９０と図８の動作不良検出回路４０とが異なる部分は、調整用チョッパ４３の出力に接続される負荷である。
【００７０】
図１７の動作不良検出回路９０は、調整用チョッパ４３の負荷として、ラッチ回路２と並列に接続されたコンデンサアレイ９１を有している。コンデンサアレイ９１の各コンデンサには、スイッチＳ１，Ｓ２，Ｓ３，Ｓ４が設けられている。振幅調整回路１０は、スイッチＳ１，Ｓ２，Ｓ３，Ｓ４を制御レジスタ９２に従ってオン又はオフすることで、コンデンサアレイ９１の容量を変更できる。コンデンサアレイ９１の容量を変更することにより、任意の数のラッチ回路が調整用チョッパ４３の出力に接続された状態を作り出すことができ、その状態を反映したＶＳＳＬ電圧を決定できる。
【００７１】
図１８は、上述の形態とは異なる動作不良検出回路の一例を示す構成図である。図１５，１６，１７で示した、データパスの種類の選択機能とバッファの段数の選択機能と調整用チョッパの負荷容量の選択機能とを組み合わせることもできる。図１８の動作不良検出回路１１０は、これらの選択機能を全て含んだ回路である。
【００７２】
図１９は、消費電力削減効果をシミュレーションするための回路の一例を示す構成図である。本シミュレーション回路は、マスタースレーブ形ｄラッチ（フリップフロップ）と、バッファで構成されたデータパスと、各ラッチ回路にクロックを供給するチョッパとを有している。「×５」は、２つのラッチ回路とデータパスで構成された順序回路が５つあり、それら５つの順序回路にチョッパがクロックを供給していることを意味している。
【００７３】
本シミュレーション回路全体の消費電力を評価するために、電流計Ichp_bufと、電流計Ichp_bodyと、電流計Ilatch0と、電流計Ilatch1と、電流計Idtとが設けられている。電流計Ichp_bufは、チョッパの振幅を調整するための電源Vsslとグランドと間に設けられている。電源Vsslは、チョッパの出力バッファ（ドライバ）のグランド側に設けられている。電流計Ichp_bodyは、チョッパ内の出力バッファ以外の回路とグランドとの間に設けられている。電流計Ilatch0は、データを送り出す方のマスタースレーブ形ｄラッチとグランドとの間に設けられている。電流計Ilatch1は、データを受け取る方のマスタースレーブ形ｄラッチとグランドとの間に設けられている。電流計Idtは、データパスを構成するバッファとグランドとの間に設けられている。
【００７４】
本シミュレーション試験では、振幅調整と電源調整の少なくとも一方を実行したときの、本シミュレーション回路全体の消費電力とデータパスの伝搬遅延時間Tdtの変化をシミュレーションしている。振幅調整とは、チョッパの出力振幅を調整することであり、電源調整とは、電源電圧ＶＤＤを調整することである。
【００７５】
本シミュレーション回路全体の消費電力は、各電流計で得られた電流をシミュレーション時間で積分して電荷に換算し、換算した電荷と電源電圧とクロック周波数（データパスの場合、データの周波数)との積を求めることで算出している。
【００７６】
振幅調整時のシミュレーション条件については、電源電圧VDDは、一定値に設定され、接合温度は、90℃に設定されている。また、チョッパのクロックの振幅が全振幅時の最大電圧からその最大電圧の60%の電圧まで変化するように、電源Vsslの電源電圧を変化させている。
【００７７】
電源調整時のシミュレーション条件については、電源電圧VDDは、最大値から最大値の90%の範囲で変化させ、接合温度は、90℃に設定されている。また、チョッパのクロックの振幅が全振幅時の最大電圧になるように、電源Vsslの電源電圧は設定されている。
【００７８】
図２０は、シミュレーション結果の一例を示す図である。データパスの伝搬遅延時間Tdtと消費電力との関係において、電源調整では、消費電力の低下に伴って、伝搬遅延時間Tdtは増加している。図中の斜線は、伝搬遅延時間Tdtの増加が2%以上になるとタイミングエラーが発生し、回路が動作しなくなる領域を示している。タイミングエラーを起こさない範囲で電源調整では3%消費電力を下げることができる。一方、振幅調整では、消費電力が下がっているにも関わらず、伝搬遅延時間Tdtはほとんど一定である。ラッチ回路を駆動できる範囲で最大で6%消費電力を下げることができる。振幅調整の場合、電源調整の場合に比べて、3%消費電力を下げることができる。よって、振幅調整では、電源調整よりも電力対性能比が良い。
【００７９】
図２１は、電源調整と振幅調整の両方を組み合わせて実行した場合のシミュレーション結果の一例である。すなわち、消費電力が3%下がったときの電圧値に電源電圧を固定した状態で、チョッパのクロックの振幅を全振幅時の最大電圧からその最大電圧の63%の電圧まで変化させている。接合温度は90℃である。
【００８０】
電源調整と振幅調整を組み合わせることで、電源調整のみでの3%の消費電力の削減に対して、さらに5%の消費電力を削減できる。電源電圧とクロックの振幅が100%のときと比較すると、8%の消費電力を削減できる。
【００８１】
つまり、振幅調整は電源調整による消費電力削減技術と組み合わせることができ、その組み合わせは、消費電力削減効果が極めて大きな汎用性の高い手法である。
【００８２】
図２２は、回路ブロック５０間の製造ばらつきを持たない半導体集積回路装置１０１の一例を示し、図２３は、回路ブロック５０間の製造ばらつきを持つ半導体集積回路装置１０２の一例を示す。FF、TT、SSは製造ばらつきを表し、TTはTypicalである。FFはTTに対して1σ性能の高い分布、SSはTTに対して1σ性能の低い分布を表している。
【００８３】
それぞれの回路ブロック５０に図１９のシミュレーション回路が一つずつ配置されている。それぞれの回路ブロック５０の電力の合計を半導体集積回路装置全体の消費電力と定義して、シミュレーションを行っている。
【００８４】
本シミュレーション回路全体の消費電力は、各電流計で得られた電流をシミュレーション時間で積分して電荷に換算し、換算した電荷と電源電圧とクロック周波数（データパスの場合、データの周波数)との積を求めることで算出している。
【００８５】
製造ばらつきが無い場合のシミュレーション条件については、接合温度は90℃に設定されている。また、チョッパのクロックの振幅が全振幅時の最大電圧からその最大電圧の60%の電圧まで変化するように、電源Vsslの電源電圧を変化させている。電源調整時のシミュレーション条件については、電源電圧VDDは、最大値から最大値の98%の範囲で変化させ、接合温度は、90℃に設定されている。また、チョッパのクロックの振幅が全振幅時の最大電圧になるように、電源Vsslの電源電圧は設定されている。
【００８６】
製造ばらつきがある場合のシミュレーション条件については、接合温度は90℃に設定されている。また、個々の回路ブロック５０の消費電力が最小になるように、電源Vsslの電源電圧を変化させている。電源調整時のシミュレーション条件については、製造ばらつきが無い場合と同様である。
【００８７】
図２４は、FF、TT、SSそれぞれの回路ブロック５０の伝搬遅延時間Tdtに対する消費電力のシミュレーション結果の一例を示す図である。SS条件の電源電圧VDDが最大である。クロックの振幅が全振幅時の最大電圧であるときにおける、データパスの伝搬遅延時間Tdtと消費電力とを、100%とする。
【００８８】
電源調整では、消費電力の低下に伴って、伝搬遅延時間Tdtは増加している。一方、振幅調整では、消費電力が下がっているにも関わらず、伝搬遅延時間Tdtはほとんど一定である。
【００８９】
電源電圧VDDが最大のとき、振幅調整では6%~8%の消費電力を下げることができる。SS条件の伝搬遅延時間Tdtが2%まで増加するのを許容するならば、電源電圧VDDを下げた後、さらに振幅調整の適用もできる。このとき、8%〜12%の消費電力を下げることができる。
【００９０】
図２５は、図２２のように回路ブロック５０間の製造ばらつきが無い場合において、伝搬遅延時間Tdtと半導体集積回路全体の消費電力との関係を調べたシミュレーション結果の一例を示す図である。
【００９１】
電源調整では、消費電力の低下に伴って、伝搬遅延時間Tdtは増加している。図中の斜線は、伝搬遅延時間Tdtの増加が2%以上になるとタイミングエラーが発生し、回路が動作しなくなる領域を示している。タイミングエラーを起こさない範囲で電源調整では3%消費電力を下げることができる。一方、振幅調整では、消費電力が下がっているにも関わらず、伝搬遅延時間Tdtはほとんど一定である。ラッチ回路を駆動できる範囲で最大で6%消費電力を下げることができる。振幅調整の場合、電源調整の場合に比べて、2%消費電力を下げることができる。
【００９２】
図２６は、図２２のように回路ブロック５０間の製造ばらつきが無い場合において、電源調整と振幅調整の両方を組み合わせて実行した場合のシミュレーション結果の一例である。図中の斜線は、伝搬遅延時間Tdtの増加が2%以上になるとタイミングエラーが発生し、回路が動作しなくなる領域を示している。
【００９３】
電源調整と振幅調整を組み合わせることで、電源調整のみでの3%の消費電力の削減に対して、さらに5%の消費電力を削減できる。電源電圧VDDが最大のときと比較すると、8%の消費電力を削減できる。
【００９４】
図２７は、図２３のように回路ブロック５０間の製造ばらつきがある場合において、伝搬遅延時間Tdtと半導体集積回路全体の消費電力との関係を調べたシミュレーション結果の一例を示す図である。
【００９５】
半導体集積回路装置全体から見れば、半導体集積回路装置の性能は、SS条件の回路ブロックの性能で決められてしまう。伝搬遅延時間Tdtの値は、SS条件の値に設定され、消費電力は、各回路ブロック５０の電力の和である。
【００９６】
電源調整では、消費電力を3%下げることができる。一方、振幅調整では、電源電圧VDDが最大時において6%の消費電力を下げることができる。
【００９７】
また、電源調整と振幅調整を組み合わせることで、電源調整のみでの3%の消費電力の削減に対して、さらに6%の消費電力を削減できる。電源電圧VDDが最大のときと比較すると、9%の消費電力を削減できる。
【００９８】
このように、チョッパのクロックの振幅調整をするための回路を複数個配置することで、製造ばらつきに対応した振幅調整が可能である。
【００９９】
以上、半導体集積回路装置及びその消費電力削減方法を実施形態により説明したが、本発明は上記実施形態に限定されるものではない。他の実施形態の一部又は全部との組み合わせや置換などの種々の変形及び改良が、本発明の範囲内で可能である。
【０１００】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備え、
前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整可能な振幅調整回路とを備える、半導体集積回路装置。
（付記２）
前記振幅調整回路は、前記複数のラッチ回路の動作が同期可能な範囲で、前記振幅を低くする、付記１に記載の半導体集積回路装置。
（付記３）
前記振幅調整回路は、前記ラッチ回路の伝搬遅延時間が目標遅延時間を超えないように、前記振幅を調整する、付記２に記載の半導体集積回路装置。
（付記４）
前記振幅調整回路は、前記各回路ブロックのクリティカルパスを用いて導出された電圧に、前記各回路ブロックの前記振幅を設定する、付記１から３のいずれか一項に記載の半導体集積回路装置。
（付記５）
前記クリティカルパスの伝搬遅延時間を調整する時間調整回路を備える、付記４に記載の半導体集積回路装置。
（付記６）
互いに伝搬遅延時間が異なる複数のディレイパスを備え、
前記時間調整回路は、前記複数のディレイパスの中から前記クリティカルパスを選択する、付記５に記載の半導体集積回路装置。
（付記７）
前記時間調整回路は、前記クリティカルパスのバッファの数を変更する、付記５に記載の半導体集積回路装置。
（付記８）
データパスを介して接続された複数のラッチ回路と、前記複数のラッチ回路の動作を同期させるクロックを出力するチョッパとを各回路ブロックに備える半導体集積回路装置の消費電力削減方法であって、
前記各回路ブロックの前記クロックの振幅を互いに異なる電圧に調整する振幅調整ステップを有する、半導体集積回路装置の消費電力削減方法。
【符号の説明】
【０１０１】
１０  振幅調整回路
２０  順序回路
２１，２２，２３  ラッチ回路
２４  データパス
２５  チョッパ
２６，２７，２９  インバータ
２８  ＮＡＮＤゲート
３０  ドライバ
４０，７０，８０，９０，１１０  動作不良検出回路
４１  クロック信号源
４２  全振幅チョッパ
４３  調整用チョッパ
４４  ダウンカウンタ回路
４５  インバータ
４６  クリティカルパス
４７  ＮＯＲゲート
４８  ＸＯＲゲート
５０  回路ブロック
６０  ステートマシン
６１  電圧設定回路
７１，７２，７３  ディレイパス
７５，８３，８４  デマルチプレクサ
８１，８２  バッファ
９１  コンデンサアレイ
９２  制御レジスタ
１００，１０１，１０２  半導体集積回路装置
２００  ウェハ
【図１】
2015159368.tif 000003
【図２】
2015159368.tif 000004
【図３】
2015159368.tif 000005
【図４】
2015159368.tif 000006
【図５】
2015159368.tif 000007
【図６】
2015159368.tif 000008
【図７】
2015159368.tif 000009
【図８】
2015159368.tif 000010
【図９】
2015159368.tif 000011
【図１０】
2015159368.tif 000012
【図１１】
2015159368.tif 000013
【図１２】
2015159368.tif 000014
【図１３】
2015159368.tif 000015
【図１４】
2015159368.tif 000016
【図１５】
2015159368.tif 000017
【図１６】
2015159368.tif 000018
【図１７】
2015159368.tif 000019
【図１８】
2015159368.tif 000020
【図１９】
2015159368.tif 000021
【図２０】
2015159368.tif 000022
【図２１】
2015159368.tif 000023
【図２２】
2015159368.tif 000024
【図２３】
2015159368.tif 000025
【図２４】
2015159368.tif 000026
【図２５】
2015159368.tif 000027
【図２６】
2015159368.tif 000028
【図２７】
2015159368.tif 000029