(57)【要約】【課題】複数のＣＭＯＳ回路モジュールで構成される半導体集積回路装置において、各回路モジュールが必要な性能を低消費電力で達成し、設計期間の短縮、テスト時間の短縮およびプロセス製造ばらつきへの対応を可能とする高性能低電力回路技術を提供する。【解決手段】半導体集積回路装置を形成するＣＭＯＳ回路チップにおいて、性能測定回路ＰＭＣを有し、ＣＭＯＳ回路チップ内の各回路機能モジュールＣＦＭ毎に記憶テーブル回路ＭＴＣ、クロック周波数制御回路ＣＦＣ、電源電圧制御回路ＳＶＣ、基板バイアス制御回路ＢＢＣを有する。チップテスト時に、性能測定回路が回路機能モジュールの動作速度、消費電力などの性能を測定し該当する記憶テーブル回路に性能データを記憶させ、記憶テーブル回路は該当する回路機能モジュールに供給されるデータ量を計測して最適なクロック周波数、電源電圧、基板バイアスを選択する。【選択図】  図１
2004228417.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路チップ内に、
少なくとも１つのデータ処理機能を有する回路機能モジュールと、
前記回路機能モジュールに供給するクロック信号周波数を制御するクロック周波数制御回路と、
前記回路機能モジュールに電源電圧を供給する電源電圧制御回路と、
前記回路機能モジュールに基板バイアスを供給する基板バイアス制御回路と、
前記回路機能モジュールの性能を測定する性能測定回路と、
前記性能測定回路により測定された性能データを記憶する記憶テーブル回路とを有し、
前記記憶テーブル回路は、前記回路機能モジュールが処理すべきデータの種類およびデータ量に応じて、あるいは前記回路機能モジュールが動作する環境条件に応じて、前記記憶テーブルに記憶された記憶データに基づき、与えられた回路機能モジュールの性能を満たすように前記クロック周波数制御回路または前記電源電圧制御回路または前記基板バイアス制御回路の少なくとも１つを制御することを特徴とする半導体集積回路装置。
【請求項２】
半導体集積回路チップ内に、
少なくとも１つのデータ処理機能を有する回路機能モジュールと、
前記回路機能モジュールに供給するクロック信号周波数を制御するクロック周波数制御回路と、
前記回路機能モジュールに電源電圧を供給する電源電圧制御回路と、
前記回路機能モジュールに基板バイアスを供給する基板バイアス制御回路と、
前記回路機能モジュールの性能を測定する性能測定回路と、
前記性能測定回路により測定された性能データを記憶する記憶テーブル回路とを有し、
前記性能測定回路は、前記半導体集積回路チップの出荷前の性能検査時に、前記回路機能モジュールの消費電力またはデータ処理時間の少なくとも１つを測定し、その測定結果を前記記憶テーブル回路内の記憶テーブルに記憶し、
前記記憶テーブル回路は、前記回路機能モジュールの動作時に、前記回路機能モジュールに要求される性能を満たすように前記記憶テーブルに基づき電源電圧および基板バイアスの組合せを決定し、前記周波数制御回路または前記電源電圧制御回路または前記基板バイアス制御回路の少なくとも１つに制御信号を与えることを特徴とする半導体集積回路装置。
【請求項３】
前記性能測定回路は、前記回路機能モジュールの消費電力もしくはデータ処理時間を測定して前記記憶テーブル回路にその測定結果を保存し、
前記記憶テーブル回路は、前記回路機能モジュールの消費電力に対するデータ処理時間の比が最大になるように前記クロック周波数制御回路または前記電源電圧制御回路または前記基板バイアス制御回路の少なくとも１つを制御することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項４】
前記性能測定回路は、前記半導体集積回路チップの機能検査回路や環境条件評価回路を含むことを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項５】
前記性能測定回路は、与えられるすべてのクロック周波数条件または電源電圧条件または基板バイアス条件における最小データ処理時間もしくは最大データ処理時間を測定することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項６】
前記性能測定回路は、与えられるすべてのクロック周波数もしくは電源電圧、もしくは基板バイアス条件における前記回路機能モジュールの動作時最大消費電流および停止時最大リーク電流を測定することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項７】
前記性能測定回路は、前記回路機能モジュールに供給されるクロック信号の周波数または電源電圧の電圧レベルまたは基板バイアスの電圧レベルの少なくとも１つを測定することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項８】
前記記憶テーブル回路は、前記回路機能モジュールが過去に処理したデータ量から将来処理するデータ量を予測して前記回路機能モジュールの性能を最大にするように、前記クロック周波数制御回路または前記電源電圧制御回路または前記基板バイアス制御回路の少なくとも１つを制御することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項９】
前記記憶テーブル回路は、前記回路機能モジュールへのデータ供給が活性化されている時間をデータ量として測定することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項１０】
前記記憶テーブル回路は、前記回路機能モジュールへ供給されるデータの変化量をデータ量として測定することを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項１１】
前記記憶テーブル回路は、前記回路機能モジュールのデータ処理時間が短い順もしくは長い順、または消費電力が小さい順もしくは大きい順に性能データを保存していることを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項１２】
前記半導体集積回路チップに、前記回路機能モジュールが複数個存在する場合、
前記性能測定回路は、前記半導体集積回路チップに１つ配備され、
前記記憶テーブル回路および前記クロック周波数制御回路および前記電源電圧制御回路および前記基板バイアス制御回路は、回路機能モジュール毎に配備されていることを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項１３】
前記半導体集積回路チップに、前記回路機能モジュールが複数個存在する場合、
バス制御回路が１つ配備され、前記バス制御回路は前記回路機能モジュールがバスを利用する回数を計測し２個以上の前記回路機能モジュールが同時にバスを利用する場合に利用回数の少ない回路機能モジュールに優先的にバスを利用させることを特徴とする請求項１または２に記載の半導体集積回路装置。
【請求項１４】
前記半導体集積回路チップ内において、１種類のクロック周波数を有するクロック信号と１種類の電圧を有する電源信号が各回路機能モジュールに供給され、各回路機能モジュールでは、前記クロック周波数制御回路から与えられる前記クロック信号を分周または逓倍して前記回路機能モジュールにクロック信号を供給し、
前記電源電圧制御回路は、与えられる電源信号を降圧または昇圧して前記回路機能モジュールに電源電圧を供給し、
前記基板バイアス制御回路は、与えられる電源信号を降圧または昇圧して前記回路機能モジュールにｐＭＯＳトランジスタ用基板バイアスおよびｎＭＯＳトランジスタ用基板バイアスを供給することを特徴とする請求項１または２に記載の半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に係わり、特に高速性と低消費電力性を同時に実現する半導体集積回路装置に関する。
【０００２】
【従来の技術】
システムＬＳＩなどのＣＭＯＳ回路を用いた半導体集積回路装置は、ＭＯＳトランジスタなどのデバイスの微細化、スケーリングにともない集積度の増加および性能の向上を続けてきた。しかしながら、近年その成長には鈍化がみられるようになってきている。これは、微細化が限界に近づいてきていることや、これまで問題視されてこなかったＭＯＳトランジスタのサブスレッショルドリーク電流、ゲートトンネルリーク電流、接合リーク電流などがチップの消費電力を左右するほどに増大してきたこと、あるいは、パイプライン段数を増加してステージ当たりの論理段数を減らすというアーキテクチャ的手法に限界があること、などに一因がある。特に消費電力の制約から、これまでのトレンド通りの性能向上を果たすことは困難になる。さらに、集積度の増加にともない配線遅延の影響が莫大なものとなり、同期式システムの設計も困難になってくる。今後、ＬＳＩのさらなる性能向上を目指すためには、デバイス、回路だけでなく、アーキテクチャ的にも工夫が必要である。その一つの解として、非特許文献１あるいは非特許文献２に述べられているように、マルチプロセッシングあるいはグリッドプロセッシングと呼ばれるシステムがあげられる。これらは、多数のプロセッサが一つのチップ上に形成された構造をしており、チップマルチプロセッサ（Ｃｈｉｐ  Ｍｕｌｔｉ  Ｐｒｏｃｅｓｓｏｒ、以下、ＣＭＰと呼ぶ）と言われている。ＣＭＰにおいて、プロセッサ内は通常の同期方式であるが、プロセッサ間は非同期（ハンドシェーク）方式あるいはデータフロー型処理方式などを採用している。各プロセッサが自律的に分散制御を行い、チップとしては全プロセッサを統合し効率的にデータ処理を行っている。データ処理の形式としては、異なる仕事を同時にこなすこと、あるいは同一の仕事を分散させて並列処理することが可能となり、処理性能の向上が見込まれる。ＣＭＰの自律分散化は、高集積化における信号配線遅延の影響を解決するだけでなく、設計工数の大幅な削減も期待できる。
【０００３】
ＣＭＰに代表されるような自律分散型の半導体集積回路装置においても、低電力化は重要な課題となっている。高い集積度を持つＣＭＰにおいて熱対策もまた重要な課題であり、低電力化を施さなければチップ化やパッケージの実現が不可能となってしまう。しかしながら、単純に電源電圧を下げて低電力化を図ったのでは、チップの性能、すなわちデータ処理速度を劣化させてしまう。ＣＭＰでは、チップ上の各プロセッサあるいは各ＩＰ機能モジュールがそれぞれ独立して動作するため、チップ全体の性能／電力比を高めるためには各機能モジュールの性能／電力比を最大にすることが重要である。プロセッサ機能モジュールは、非特許文献３に述べられているように、要求される処理性能（クロック周波数）が一意に決定されると、消費電力を最小にする電源電圧とデバイス（ＭＯＳトランジスタ）しきい値の組合せが決定される。基板バイアスを用いることで、プロセッサ動作中においてもダイナミックにデバイスのしきい値を変化させることが可能となる。したがって、電源電圧と基板バイアスを同時に制御することにより、要求性能に応じて最小の消費電力で機能モジュールを動作させることが可能となり、機能モジュールの性能／電力比を最大にすることが可能となる。
【０００４】
【非特許文献１】
「第３４回アニュアル・インターナショナル・シンポジウム・オン・マイクロアーキテクチャ・プロシーディング（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３４ｔｈ  Ａｎｎｕａｌ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｍｉｃｒｏａｒｃｈｉｔｅｃｔｕｒｅ）」２００１年、  ｐ．４０−５１
【非特許文献２】
「２００２年インターナショナル・ソリッド・ステート・サーキッツ・コンファレンス・ダイジェスト・オブ・テクニカル・ペーパーズ（２００２  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ）」２００２年、  ｐｐ．１９６−１９７
【非特許文献３】
「２００２年インターナショナル・ソリッド・ステート・サーキッツ・コンファレンス・ダイジェスト・オブ・テクニカル・ペーパーズ（２００２  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ）」２００２年、  ｐｐ．５８−５９
【非特許文献４】
「２００１年シンポジウム・オン・ブイエルエスアイ・サーキッツ・ダイジェスト・オブ・テクニカル・ペーパーズ（２００１  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ）」２００１年、ｐ．５５−５６
【０００５】
【発明が解決しようとする課題】
ＣＭＯＳ回路を用いた半導体集積回路装置では、前述したようにクロック周波数、電源電圧、基板バイアスを制御することで、効果的にデータ処理性能を向上し消費電力を削減することが可能になる。回路機能モジュールに要求される性能に応じてクロック周波数を細かく調整することで、周波数に比例して消費電力を減少できる。また、クロック周波数が決定すると、必要な電源電圧およびＣＭＯＳ回路を構成するＭＯＳトランジスタのしきい値電圧を決定することができる。ＭＯＳトランジスタのしきい値電圧は基板バイアスにより調整できるため、回路機能モジュールが要求された性能を満たすための、電源電圧および基板バイアスの組合せは複数採ることができる。電源電圧を下げると、電圧の二乗に比例して消費電力を下げることが可能となる。しかしながら、電圧の低下は性能の劣化をもたらしてしまう。電圧低下時に性能を維持するためには、基板バイアスを用いてＭＯＳトランジスタのしきい値電圧を下げる必要がある。ところが、しきい値電圧を下げるとトランジスタのサブスレッショルドリーク電流が増加してしまう。サブスレッショルドリーク電流はしきい値電圧の低下に対して指数的に増加し、ついには回路動作時の動作電流よりも大きくなり、消費電力を増加させることになる。したがって、回路性能を一定に保つ電源電圧と基板バイアスの組合せにおいて、消費電力を最小とするような組合せが一点だけ存在することになる。この電源電圧／基板バイアスの最適値は、回路機能モジュールの種類、規模、あるいは動作周波数に応じて異なる。また、製造プロセスのばらつきによっても異なる。したがって、複雑な低電力制御技術の最適設計と、多くのチップテストが必要になる。
【０００６】
ところで、前述したように、半導体集積回路装置の機能を高度化するためには、一つのチップ上に多数のプロセッサや機能モジュールを配置してマルチプロセッサ化する必要がある。マルチプロセッサにおいて、回路規模の増加は設計期間の増加、テスト時間の増加、再設計コストの増加をもたらしてしまう。半導体集積回路チップの設計／製造にあたり、これらの課題を解決する方法として２つ考えることができる。１つはＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）と呼ばれる設計資産の再利用である。マルチプロセッサを構成する機能モジュールにおいて、過去に設計された設計データをＩＰとして再度利用することで、設計期間を短縮することができる。もう一つはマルチプロセッサの自律分散機能化である。従来の集中制御方式では、集中制御を行う中央制御モジュールは、チップ全体を見通すことで初めて制御が可能になり設計できるようになる。この方式では、設計後に容易に機能モジュールを追加することができない。これに反して、分散制御方式では、各機能モジュールが独自制御を行えるため、集中制御を行う機能モジュールは不要となり、機能モジュールの追加も容易にできる。また、各機能モジュールに自律機能を持たせることで、同じような機能モジュールを追加するだけで多様な機能を実現できるようになる。これらＩＰ設計されたチップ、あるいは自律分散型のチップは、設計期間短縮やテスト時間の短縮に有効である。
【０００７】
しかしながら、このようなチップの低電力化を図るためにクロック周波数／電源電圧／基板バイアス制御を導入するとなると、ＩＰ毎、デバイス毎、機能モジュール毎の最適な再利用が必要となり、設計期間、テスト時間の短縮が不可能となってしまう。そこで、ＩＰ設計や、自律分散設計に対応した、低電力技術が求められる。例えば、自律分散的に低電力化を図る方式として、非特許文献４に述べられているような方式が挙げられる。この方式は、データの無効期間計測回路と電源を遮断する電源スイッチを有し、無効期間がある一定時間以上になった場合に電源を遮断して低電力化を図るものである。各回路機能モジュールがこの機能を有し、機能モジュール毎に無効期間の計測を行うことで、分散制御を果たしている。しかしながら、この方法は電源遮断にしか用いることができず、最適なクロック周波数／電源電圧／基板バイアスを供給して機能モジュールの動作時におけるデータ処理性能／消費電力比を向上させる方式には対応できない。
【０００８】
そこで、クロック周波数／電源電圧／基板バイアスの各組合せに応じた回路機能モジュールのデータ処理性能および消費電力を自動的に測定し、また回路機能モジュールに要求されるデータ処理量を自動的に測定し、常に最適なクロック周波数／電源電圧／基板バイアスを機能モジュールに供給する。その最適な条件を供給することにより、各機能モジュールのデータ処理性能／消費電力比を最大にし、かつチップ全体の性能を向上することが可能となる。さらに、各機能モジュールにおける低電力化は自律的かつ分散的に行われることから、機能モジュール設計においては低電力技術を考慮せずに設計することが可能となり、結果として設計期間短縮、チップテスト時間短縮、チップ製造ばらつきへの対応が可能なマルチプロセッサチップを実現できるようになる。
【０００９】
したがって、本発明が解決しようとしている課題は以下の通りである。すなわち、ＣＭＯＳ回路を用いた機能モジュールにより形成される半導体集積回路装置において、性能測定回路および記憶テーブル回路およびクロック周波数制御回路および電源電圧制御回路および基板バイアス制御回路を有することにより、以下の課題を解決する。
（１）半導体集積回路装置内のＣＭＯＳ回路で構成される少なくとも１つの機能モジュールにおいて、機能モジュールに要求されるデータ処理性能に応じて消費電力が最小になるように、すなわち機能モジュールの性能／消費電力比が最大になるように、機能モジュールに供給するクロック周波数、電源電圧、基板バイアスの少なくとも一種類を自動的に制御することが可能となり、半導体集積回路装置チップの高性能化、低消費電力化を実現する。
（２）機能モジュールに供給するクロック周波数、電源電圧、基板バイアスの決定において、チップの製造プロセスや使用環境、機能モジュールが受けとるデータ量などに応じて自動的に最適制御をすることが可能になる。
（３）機能モジュールの設計において、低電力技術とは独立に設計、製造することが可能であることから、設計期間の短縮と信頼性向上をもたらす。機能モジュールが複数存在し、自律分散型マルチプロセッサを形成するような場合でも、低電力技術を容易に分散制御法へ対応させることが可能となる。
（４）性能測定回路を組み込むことで、テスト時間の短縮をもたらすとともに、常に性能を監視することによって製造プロセスのばらつきなどによるチップ間の性能ばらつきにも対応可能となる。
【００１０】
【課題を解決するための手段】
上記課題を解決するために本発明で提示した手段の主なものは以下のようになる。
本発明は、回路機能モジュール、クロック周波数制御回路、電源電圧制御回路、基板バイアス制御回路、性能測定回路、記憶テーブル回路から構成される。クロック周波数制御回路は記憶テーブル回路から制御信号を受けとり、回路機能モジュールに所定の周波数のクロック信号を供給する。電源電圧制御回路は記憶テーブル回路から制御信号を受け取り、回路機能モジュールに所定の電源電圧を供給する。基板バイアス制御回路は記憶テーブル回路から制御信号を受け取り、回路機能モジュールに所定の基板バイアスを供給する。性能測定回路は、回路機能モジュールのデータ処理速度や動作消費電力などの性能を測定して、測定データを記憶テーブル回路に伝達するとともに、記憶テーブルを制御する。記憶テーブル回路は、性能測定回路から送られてくる回路機能モジュールの性能測定データを保存し、回路機能モジュールに要求される性能、処理すべきデータ量あるいは動作時の環境条件などに応じて最適なクロック周波数、電源電圧、基板バイアスを決定し、クロック周波数制御回路、電源電圧制御回路、基板バイアス制御回路に制御信号を送信する。
【００１１】
本発明の手段を、以下さらに詳細に説明する。
本発明の他の実施例によると、性能測定回路は回路機能モジュールの性能測定として、データ処理速度もしくは動作最大周波数もしくは動作時消費電力を測定して、記憶テーブル回路に測定結果を送る。記憶テーブル回路は、性能測定回路から得られた性能データを保存し、要求性能に応じて回路機能モジュールの動作速度／消費電力比が最大になるようなクロック周波数、電源電圧、基板バイアスを供給するために、クロック周波数制御回路、電源電圧制御回路、基板バイアス変換回路に制御信号を送信する。
【００１２】
さらに本発明の他の実施例によると、性能測定回路は前述した回路機能モジュールの動作速度や消費電力の性能測定を半導体集積回路のチップ検査時に行う。
【００１３】
さらに本発明の他の実施例によると、性能測定回路は前述した回路機能モジュールの動作速度や消費電力の性能測定のほかに、回路機能モジュールの機能検査回路や、回路機能モジュールに供給されるクロック周波数、電源電圧、基板バイアスなどの環境条件を測定評価する回路を含む。
【００１４】
さらに本発明の他の実施例によると、性能測定回路は、クロック周波数、電源電圧、基板バイアスの供給可能な全ての組合せにおいて、回路機能モジュールの最小データ処理速度（最小動作速度）あるいは最大データ処理時間、いわゆるクリティカルパスの動作時間を測定する。
【００１５】
さらに本発明の他の実施例によると、性能測定回路は、クロック周波数、電源電圧、基板バイアスの供給可能な全ての組合せにおいて、回路機能モジュールの動作時最大消費電流、いわゆるワースト電流、および停止時の最大リーク電流を測定する。
【００１６】
さらに本発明の他の実施例によると、性能測定回路は回路機能モジュールに供給されるクロック信号の周波数、電源電圧の電圧レベル、基板バイアスの電圧レベルを測定評価する。
【００１７】
さらに本発明の他の実施例によると、記憶テーブル回路は、回路機能モジュールがある時点までに処理したデータ量を測定し、その結果をもとにある時点後の処理性能を決定して、回路機能モジュールの動作速度／消費電力性能を最大にするように、クロック周波数制御回路、電源電圧制御回路、基板バイアス制御回路を制御し、最適なクロック信号、電源電圧、基板バイアスを回路機能モジュールに供給する。
【００１８】
さらに本発明の他の実施例によると、回路機能モジュールにデータが連続して与えられる時間を活性化期間とし、記憶テーブル回路がデータ活性化期間を計測することでデータ量として測定する。
【００１９】
さらに本発明の他の実施例によると、記憶テーブル回路が保存する性能データは、測定された回路機能モジュールの動作速度が速いあるいは遅い順、もしくは消費電力が大きいあるいは小さい順に記憶される。
【００２０】
さらに本発明の他の実施例によると、半導体集積回路チップにおいて回路機能モジュールが複数個配置される構成において、性能測定回路はチップに１つ配置され、記憶テーブル回路、クロック周波数制御回路、電源電圧制御回路、基板バイアス制御回路は、回路機能モジュール毎に配置される。
【００２１】
さらに本発明の他の実施例によると、半導体集積回路チップにおいて回路機能モジュールが複数個配置される構成において、チップ全体では１種類のクロック周波数を持つクロック信号と１種類の電圧を持つ電源信号が各回路機能モジュールに分配供給され、各回路機能モジュールにおいて、クロック周波数制御回路がクロック信号を分周または逓倍して回路機能モジュールにクロック信号を供給し、電源電圧制御回路が電源信号を降圧または昇圧して回路機能モジュールに電源電圧を供給し、基板バイアス制御回路が電源信号を降圧または昇圧して回路機能モジュールに基板バイアスを供給する。基板バイアスはｐＭＯＳトランジスタ用バイアスとｎＭＯＳトランジスタ用バイアスの２種類の電圧を供給する。
【００２２】
【発明の実施の形態】
以下、図を参照して本発明の実施例を説明する。
図１は、本発明の実施例を示す図である。
本発明の半導体集積回路装置は、ＣＭＯＳ回路から構成されるマイクロプロセッサ等の機能を有する半導体集積回路である回路機能モジュールＣＦＭ１１と、性能測定回路ＰＭＣ１１、記憶テーブル回路ＭＴＣ１１、クロック周波数制御回路ＣＦＣ１１、電源電圧制御回路ＳＶＣ１１、基板バイアス制御回路ＢＢＣ１１から構成される。回路機能モジュールＣＦＭ１１はクロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、ＰＭＯＳトランジスタ用基板バイアスｖｂｐ１１、ＮＭＯＳトランジスタ用基板バイアスｖｂｎ１１、測定命令信号ｍｅｓｃｍｄ１１を入力し、測定結果信号ｍｅｓｒｅｓ１１を出力する。性能測定回路ＰＭＣ１１は、測定命令信号ｍｅｓｃｍｄ１１、ｍｅｓｃｍｄ１２を出力し、測定結果信号ｍｅｓｒｅｓ１１を入力し、その結果を性能データ信号ｐｆｄａｔ１１として出力する。記憶テーブル回路ＭＴＣ１１は測定命令信号ｍｅｓｃｍｄ１２および性能データ信号ｐｆｄａｔ１１を入力し、動作制御信号ｏｐｃｎｔ１１、ｏｐｃｎｔ１２、ｏｐｃｎｔ１３を出力する。クロック周波数制御回路ＣＦＣ１１は、動作制御信号ｏｐｃｎｔ１１を入力しクロック信号ｃｌｋ１１を出力する。電源電圧制御回路ＳＶＣ１１は、動作制御信号ｏｐｃｎｔ１２を入力し電源電圧ｖｄｄ１１を出力する。基板バイアス制御回路ＢＢＣ１１は、動作制御信号ｏｐｃｎｔ１３を入力しＰＭＯＳトランジスタ用基板バイアスｖｂｐ１１およびＮＭＯＳトランジスタ用基板バイアスｖｂｎ１１を出力する。
【００２３】
ＣＭＯＳ回路で構成される集積回路である、回路機能モジュールＣＦＭ１１のデータ処理速度（または動作速度）、あるいは消費電力といった性能は、回路機能モジュールＣＦＭ１１に供給されるクロック信号ｃｌｋ１１の周波数、電源電圧ｖｄｄ１１の電圧、および基板バイアスｖｂｐ１１、ｖｂｎ１１の電圧によって変化する。従って、回路機能モジュールＣＦＭ１１が処理すべきデータ量、あるいは要求される動作速度に応じて、最適な制御を行うことにより、最小の消費電力で必要処理性能を満たすことができるようになる。すなわち、非特許文献３に述べられているように、回路機能モジュールＣＦＭ１１の動作速度としてクロック信号ｃｌｋ１１の周波数が一意に決定された場合、その速度要求を満たすための電源電圧ｖｄｄ１１と基板バイアスｖｂｐ１１、ｖｂｎ１１の電圧組合せは複数存在するが、その組合せの中で消費電力が最小となる点も一意に決定することができる。結果として、最適なクロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１を供給することにより、回路機能モジュールＣＦＭ１１は動作速度／消費電力の比を最大にして動作することが可能となり、高性能と低電力を同時に実現することができる。
【００２４】
以上のような機能をＣＭＯＳ回路で構成されるマイクロプロセッサ等の半導体集積回路装置である一つのチップ上で実現するために、つまり、クロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１の最適制御を実現するために、本実施例では、性能測定回路ＰＭＣ１１はあらかじめ回路機能モジュールＣＦＭ１１の動作速度や消費電力などの性能を測定する。まず、性能測定回路ＰＭＣ１１から測定を行うための測定命令信号ｍｅｓｃｍｄ１１を回路機能モジュールＣＦＭ１１に、測定命令信号ｍｅｓｃｍｄ１２を記憶テーブル回路ＭＴＣ１１に与える。記憶テーブル回路ＭＴＣ１１は、測定命令信号ｍｅｓｃｄ１２にしたがって、動作制御信号ｏｐｃｎｔ１１、ｏｐｃｎｔ１２、ｏｐｃｎｔ１３を生成し、それぞれクロック周波数制御回路ＣＦＣ１１、電源電圧制御回路ＳＶＣ１１、基板バイアス制御回路ＢＢＣ１１を制御する。クロック周波数制御回路ＣＦＣ１１は動作制御信号ｏｐｃｎｔ１１に応じた周波数のクロック信号ｃｌｋ１１を出力する。電源電圧制御回路ＳＶＣ１１は動作制御信号ｏｐｃｎｔ１２に応じた電圧の電源電圧ｖｄｄ１１を出力する。基板バイアス制御回路ＢＢＣ１１は動作制御信号ｏｐｃｎｔ１３に応じた電圧の基板バイアスｖｂｐ１１およびｖｂｎ１１を出力する。こうして供給されるクロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１のもとで、回路機能モジュールＣＦＭ１１は測定命令信号ｍｅｓｃｍｄ１１にしたがって動作し、性能測定が行われる。測定された性能データは、測定結果信号ｍｅｓｒｅｓ１１として性能測定回路ＰＭＣ１１に与えられ、さらに性能測定回路ＰＭＣ１１は性能データ信号１１として測定結果である性能データを記憶テーブル回路に記憶させる。回路機能モジュールＣＦＭ１１に関する性能の測定は、クロック周波数制御回路ＣＦＣ１１、電源電圧制御回路ＳＶＣ１１、基板バイアス制御回路ＢＢＣ１１が生成できるクロック信号ｃｌｋ１１の周波数、電源電圧ｖｄｄ１１の電圧、基板バイアスｖｂｐ１１およびｖｂｎ１１の電圧において全ての組合せについて行われ、その全性能データが記憶テーブル回路ＭＴＣ１１に記憶される。記憶テーブル回路はレジスタやメモリおよび論理回路で構成される。記憶テーブル回路ＭＴＣ１１は、回路機能モジュールが必要とする動作速度を満たすような性能データの中で、消費電力が最小となるようなクロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１を選択して動作制御信号ｏｐｃｎｔ１１、ｏｐｃｎｔ１２、ｏｐｃｎｔ１３を決定する。
【００２５】
ＣＭＯＳ半導体集積回路チップの性能は、製造プロセスのばらつきにより、設計値との誤差、あるいはチップ内やチップ間において性能誤差を生じる。このことを性能ばらつきと言う。クロック信号ｃｌｋ１１、電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１の最適値を、設計時にシミュレーションなどから求めることは可能であるが、製造プロセスによる性能ばらつきに対応することはできない。また、設計時に最適条件を求めながら設計を行うということは、設計を複雑化し、設計期間を延長することになる。結果としてチップの信頼性を低くする。そこで、本実施例の構成にあるように、回路機能モジュールＣＦＭ１１の性能を実際のチップで測定し、データを記憶させることで、性能ばらつきの問題を解決できるようになる。また、回路機能モジュールＣＦＭ１１の設計にあたっては、これら最適制御に関して考慮する必要が無いため、設計が容易化し、設計期間の短縮、信頼性の向上をもたらす。また、性能測定を行うということは、チップのテストを行うことになるため、チップのテスト時間も短縮できる。
以上の説明にあたり、一つの信号や図中の一本の信号線は、複数の信号の集合あるいは複数のビット分の情報を伝達できる。このことは、以下の説明においても同様である。
【００２６】
図２は、クロック周波数制御回路の実施例を示す図である。
本クロック周波数制御回路は、Ｄ型フリップフロップ回路ＤＦＦ２１とセレクタ回路ＳＥＬ２１から構成される。Ｄ型フリップフロップ回路ＤＦＦ２１は直列に接続され、入力クロック信号ｃｌｋｉｎ２１を分周する。入力クロック信号ｃｌｉｋｉｎ２１のクロック周波数は、初段のＤ型フリップフロップ回路出力ｓｉｇ２１で１／２に分周され、二段目のＤ型フリップフロップ回路出力ｓｉｇ２２で１／４に分周される。何分周したクロック信号をｃｌｋ１１として出力するかをセレクタ回路ＳＥＬ２１が決定する。セレクタ回路ＳＥＬ２１の制御は動作制御信号ｏｐｃｎｔ１１で行われる。本実施例の分周方式の場合、分周されたクロック信号出力ｃｌｋ１１は動作制御信号ｏｐｃｎｔ１１が供給されると１クロック期間で直ちに出力できる。
【００２７】
図３は、クロック周波数制御回路の他の実施例を示す図である。
本クロック周波数制御回路は、位相周波数検出回路ＰＦＤ３１、ＰＭＯＳトランジスタＰＭＳ３１、ＮＭＯＳトランジスタＮＭＳ３１、抵抗ＲＥＳ３１、容量ＣＡＰ３１、電圧制御発振回路ＶＣＯ３１、分周回路ＤＩＶ３１から構成される。公知の回路構成であるフェーズ・ロックド・ロープ回路（以下、ＰＬＬと呼ぶ）である。クロック入力信号ｃｌｋｉｎ２１に対して、クロック周波数を逓倍したクロック信号ｃｌｋ１１を生成できる。逓倍率は分周回路ＤＩＶ３１で決まり、分周が１／２であれば逓倍は２倍、分周が１／３であれば逓倍は３倍となる。動作制御信号ｏｐｃｎｔ１１は、分周回路ＤＩＶ３１の分周率を制御し、クロック信号ｃｌｋ１１の周波数を決定する。
【００２８】
図４は、電源電圧制御回路もしくは基板バイアス制御回路の実施例を示す図である。
本電源電圧制御回路は、参照電圧発生回路ＶＲＦ４１、増幅回路ＡＭＰ４１、ＰＭＯＳトランジスタＰＭＳ４１から構成される。動作制御信号ｏｐｃｎｔ１１により参照電圧発生回路ＶＲＦ４１の出力電圧信号ｓｉｇ４１が制御され、出力となる電源電圧ｖｄｄ１１が変化する。いわゆる、シリーズレギュレータと呼ばれる公知の回路構成になっている。この他、スイッチングレギュレータ方式の回路構成を用いてもよい。参照電圧発生回路ＶＲＦ４１は、例えば抵抗分割回路、バンドギャップリファレンス回路、ＭＯＳトランジスタのしきい値電圧使用回路などで構成できる。入力電圧ｖｄｄｉｎ３１を降圧して出力の電圧ｖｄｄ１１を生成する。本実施例は、同様に基板バイアス制御回路としても用いることが可能である。基板バイアス制御回路の場合、出力電圧としてｖｂｐ１１とｖｂｎ１１の二種類が必要となるので、本実施例の回路を２個用いる。
【００２９】
図５は、電源電圧制御回路もしくは基板バイアス制御回路の他の実施例を示す図である。
本電源電圧制御回路は、リング発振回路ＲＯＳ５１、センサ回路ＳＥＮ５１、容量ＣＡＰ５１、ダイオードＤＩＤ５１、ＤＩＤ５２から構成される。本回路は、出力電圧ｖｄｄ１１を入力電圧ｖｄｄｉｎ３１よりも昇圧したり、負電圧を生成したりする際に用いることができる。公知のチャージポンプ回路と同じ構成である。出力電圧ｖｄｄ１１は、動作制御信号ｏｐｃｎｔ１１がセンサ回路ＳＥＮ５１を制御することで決定される。出力が設定値以上（あるいは以下）の電圧に達すると、センサ回路ＳＥＮ５１が信号ｓｉｇ５１を供給し、リング発振回路ＲＯＳ５１の動作を止め、出力電圧ｖｄｄ１１を決定する。また、チャージポンプ回路を複数段直列につなぎ、何段目の出力を出力電圧ｖｄｄ１１として選択するかを動作制御信号ｏｐｃｎｔ１１が決定する、という回路構成でもよい。ダイオードＤＩＤ５１は、ＣＭＯＳ製造プロセスにおいて直接拡散層などの層を用いても可能であるし、またＭＯＳトランジスタを用いても形成できる。
【００３０】
図６は、本発明の性能測定回路の実施例を示す図であり、図１のＰＭＣ１１中にある。
本発明の性能測定回路ＰＭＣ６１は、インバータアンド回路ＩＮＶＡＮＤ６１、アンド回路ＡＮＤ６１、レジスタ回路ＲＥＧ６１、カウンタ回路ＣＮＴ６１から構成される。インバータアンド回路ＩＮＶＡＮＤ６１はリクエスト信号ｒｅｑ６１と測定結果信号ｍｅｓｒｅｓ１１を入力し信号ｓｉｇ６１を出力する。アンド回路ＡＮＤ６１は信号ｓｉｇ６１と制御クロック信号ｃｎｔｃｌｋ６１を入力し信号ｓｉｇ６２を出力する。カウンタ回路ＣＮＴ６１は信号ｓｉｇ６１およびｓｉｇ６２を入力して信号ｓｉｇ６３を出力する。レジスタ回路ＲＥＧ６１は信号ｓｉｇ６１、ｓｉｇ６３を入力して性能データ信号ｐｆｄａｔ１１を出力する。また、回路機能モジュールＣＦＭ６１はリクエスト信号ｒｅｑ６１を測定命令信号ｍｅｓｃｍｄ１１として受け取り、性能測定用のデータ入力信号ｄａｔｉｎ６１を入力してデータ出力信号ｄａｔｏｕｔ６１を測定結果信号ｍｅｓｒｅｓ１１として出力する。本発明は、回路機能モジュールＣＦＭ６１のデータ処理速度、あるいは回路動作速度を性能として検出する方式である。
【００３１】
本発明の動作波形を図７に示す。あらかじめ、時間ｔ１の前にデータ入力信号ｄａｔｉｎ６１が回路機能モジュールＣＦＭ６１に供給される。リクエスト信号ｒｅｑ６１が時間ｔ１でアサートされるとともに、測定命令信号ｍｅｓｃｍｄ１１もアサートされ、回路機能モジュールＣＦＭ６１はデータ入力信号ｄａｔｉｎ６１の処理を開始する。回路機能モジュールがデータ処理を終了すると、データ出力信号ｄａｔｏｕｔ６１が時間ｔ２でアサートされる。この時間（ｔ２−ｔ１）が、回路機能モジュールＣＦＭ６１のデータ処理速度あるいは回路動作速度を示す遅延時間となる。データ出力信号ｄａｔｏｕｔ６１は測定結果信号ｍｅｓｒｅｓ１１として性能測定回路ＰＭＣ６１に与えられる。性能測定回路ＰＭＣ６１においては、時間ｔ１とｔ２の間だけ制御信号ｓｉｇ６１がアサートされており、このアサート期間の長さを、制御クロック信号ｃｎｔｃｌｋ６１を用いてカウンタ回路ＣＮＴ６１が計測する。時間ｔ２で制御信号ｓｉｇ６１がネゲートされると、カウンタ回路ＣＮＴ６１が計測した値をレジスタ回路ＲＥＧ６１に記憶し、性能データ信号ｐｆｄａｔ１１として出力することになる。性能データ信号ｐｆｄａｔ１１を制御クロック信号ｃｎｔｃｌｋ６１の周波数で割った値が回路機能モジュールＣＦＭ６１のデータ処理にかかる遅延時間に相当する。
【００３２】
図８は、本発明の性能測定回路の他の実施例を示す図である。
本発明の性能測定回路ＰＭＣ８１は、ＮＭＯＳトランジスタＮＭＳ８１、アナログデジタル変換回路ＡＤＣ８１から構成される。回路機能モジュールＣＦＭ８１の、例えば仮想的なグランド電圧線が性能測定回路ＰＭＣ８１の制御信号ｓｉｇ８１と接続される。ＮＭＯＳトランジスタＮＭＳ８１は参照電圧ｖｒｅｆ８１をゲートに、グランド電圧ｇｎｄ８１をソースに、制御信号ｓｉｇ８１をドレインに接続する。アナログデジタル変換回路は制御信号ｓｉｇ８１を入力して性能データ信号ｐｆｄａｔ１１を出力する。通常動作時においては、参照電圧ｖｒｅｆ８１が最大入力電圧レベル、あるいは回路機能モジュールＣＦＭ８１への供給電圧レベルとなり、制御信号ｓｉｇ８１とグランド電圧ｇｎｄ８１が同電位になる。その状態で、回路機能モジュールＣＦＭ８１はデータ入力信号ｄａｔｉｎ８１を処理する。回路機能モジュールＣＦＭ８１の電力測定時には、参照電圧ｖｒｅｆ８１は必要に応じて最大入力電圧レベルよりも低く、グランド電圧レベルよりは高い値に設定される。このような状態で、電力を測定するためのデータをデータ入力信号ｄａｔｉｎ８１として回路機能モジュールＣＦＭ８１に与え、測定命令信号ｍｅｓｃｍｄ１１で測定を開始する。測定結果信号ｍｅｓｒｅｓ１１が出力されるまでの消費電力は制御信号ｓｉｇ８１の電圧レベルに依存するので、そのレベルをアナログデジタル変換回路ＡＤＣ８１で変換すると、そのときのデジタル値が回路機能モジュールＣＦＭ８１の消費電力に相当する。この消費電力データを、性能データ信号ｐｆｄａｔ１１として出力することになる。ＮＭＯＳトランジスタ部分は、ＰＭＯＳトランジスタを用いることも可能。また、回路機能モジュールと性能測定回路の接続部分かつ電力測定部位は、回路機能モジュールのグランド電圧ラインでなく、電源電圧ラインでも同様の効果がある。
【００３３】
図９は、本発明の性能測定回路の他の実施例を示す図である。
本発明の性能測定回路ＰＭＣ９１は、増幅回路ＡＭＰ９１、抵抗ＲＥＳ９１、ＲＥＳ９２、アナログデジタル変換回路ＡＤＣ９１から構成される。増幅回路ＡＭＰ９１は、回路機能モジュールＣＦＭ９１に供給される電源電圧ｖｄｄ９１と参照電圧ｖｒｅｆ９１を入力し、信号ｓｉｇ９１を出力する。抵抗ＲＥＳ９１は電源ｖｄｄ９１と信号ｓｉｇ９１の間に、抵抗ＲＥＳ９２は信号ｓｉｇ９１とｓｉｇ９２の間に挿入される。アナログデジタル変換回路は信号ｓｉｇ９２を入力して性能データ信号ｐｆｄａｔ１１を出力する。増幅回路ＡＭＰ９１と抵抗ＲＥＳ９１、ＲＥＳ９２を図９のように組合せることで、電源ｖｄｄ９１に流れる電流に依存した電圧が信号ｓｉｇ９２に現れる。この電圧をアナログデジタル変換回路ＡＤＣ９１がデジタル信号に変え、消費電流をデジタル信号として性能データｐｆｄａｔ１１に出力する。性能測定時の回路機能モジュールＣＦＭ９１は、図８におけるＣＦＭ８１と同じ働きをする。
【００３４】
また、回路機能モジュールと性能測定回路の接続部分かつ電力測定部位は、回路機能モジュールの電源電圧ラインでなく、グランド電圧ラインでも同様の効果がある。
【００３５】
図１０は、本発明の記憶テーブル回路のテーブル表の実施例を示す図である。
本発明の記憶テーブル回路はフリップフロップ回路やスタティック・ランダム・アクセス・メモリ回路などの記憶素子で構成される。記憶テーブル回路は、回路機能モジュール毎に配置され、各回路機能モジュールに供給できる電源電圧ｖｄｄ１１および基板バイアスｖｂｐ１１、ｖｂｎ１１のすべての組合せについて、回路機能モジュールの消費電力ｐｗｒ１０１と遅延時間ｔｐｄ１０１のデータを保存する。図１０の例では、電源電圧ｖｄｄ１１として１．２Ｖ、１．０Ｖ、０．８Ｖが与えられ、基板バイアスｖｂｐ１１としてはｖｂｐ１１＝ｖｄｄ１１あるいはｖｂｐ１１＝ｖｄｄ１１／２の２種類の電圧が与えられ、また基板バイアスｖｂｎ１１としてはｖｂｎ１１＝０あるいはｖｂｎ１１＝ｖｄｄ１１／２の２種類の電圧が与えられる。したがって、制御組合せとしてはｃｍｂ１０１、ｃｍｂ１０２、ｃｍｂ１０３、ｃｍｂ１０４、ｃｍｂ１０５、ｃｍｂ１０６の６通りになる。それぞれの組合せについて、回路機能モジュールの動作速度、および消費電力といった性能が図６、図８、図９の実施例で示されるような性能測定回路を用いて測定され、測定結果が性能データｐｆｄａｔ１１により図１のように記憶テーブル回路ＭＴＣ１１に与えられ、記憶テーブル回路内で図１０のようなテーブルが作成される。この図では、例えば制御組合せｃｍｂ１０１の時、ある回路機能モジュールの消費電力ｐｗｒ１０１は３．５ｍＷ、遅延時間ｔｐｄ１０１は３．１ｎｓとなっている。回路モジュールに要求される性能が決定すると、この表から最適な電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１の組合せを決定して、周波数制御回路、電源電圧制御回路、基板バイアス制御回路へ、各制御信号を与える。例えば、回路機能モジュールに要求される性能が、クロック信号で２５０ＭＨｚの時、データ処理にかかる遅延時間は４ｎｓ以下であればよいので、制御組合せｃｍｂ１０２が選択されることになる。
電源電圧ｖｄｄ１１、基板バイアスｖｂｐ１１、ｖｂｎ１１の組合せ数、あるいは各電圧の分割数が多いほど、理想的な最低消費電力に近い動作を行う条件を選択することが可能となる。
【００３６】
図１０の表では、遅延時間ｔｐｄ１０１が小さい順に並んでいる。ところが、消費電力ｐｗｒ１０１の大きい順で並べなおすと、図１１のように、図１０の制御組合せのうち、ｃｍｂ１０４とｃｍｂ１０５に相当する電圧の組合せが入れ替わっている。このように組替えることで、例えば、ある回路動作速度を達成するために遅延時間が７ｎｓ以下である電圧の組合せを選択する際に、制御組合せをｃｍｂ１１６からｃｍｂ１１１の方向で探すと、ｃｍｂ１１５を決定することができる。もし、図１０の表で制御組合せｃｍｂ１０６からｃｍｂ１０１の方向に探すと、ｃｍｂ１０５を決定してしまう。ｃｍｂ１０５は、消費電力が０．８ｍＷで、ｃｍｂ１１５の０．６ｍＷよりも大きい。従って、図１１のようなデータの並べ替えを行うことで、動作速度／消費電力比を最大にする制御組合せを選択することが可能になる。図１１のような並べ替えを行うには、消費電力ｐｗｒ１１１や遅延時間ｔｐｄ１１１のデータを比較回路で逐次比較してから記憶テーブル回路に格納する、あるいは記憶テーブル回路に格納後、データを利用する際に比較回路で大小を比較すればよい。
【００３７】
図１２は、本発明の性能測定回路の他の実施例を示す図である。
本発明の回路機能モジュールＣＦＭ１２１は、セレクタ回路ＳＥＬ１２１、Ｄ型フリップフロップ回路ＤＦＦ１２１、論理回路ＬＯＧ１２１から構成される。通常のデータ処理動作時、回路機能モジュールＣＦＭ１２１にはデータ入力信号ｄａｔｉｎ１２１、ｄａｔｉｎ１２２、ｄａｔｉｎ１２３、ｄａｔｉｎ１２４、ｄａｔｉｎ１２５などのデータが入力され、セレクタ回路を経由してＤ型フリップフロップに入力された後、実際のデータ処理を行う論理回路ＬＯＧ１２１に供給される。論理回路ＬＯＧ１２１が計算した結果のデータは、セレクタ回路、Ｄ型フリップフロップ回路を経てデータ出力信号ｄａｔｏｕｔ１２１、ｄａｔｏｕｔ１２２、ｄａｔｏｕｔ１２３、ｄａｔｏｕｔ１２４、ｄａｔｏｕｔ１２５として回路機能モジュールＣＦＭ１２１から外部へ出力される。性能測定回路ＰＭＣ１２１は、チップのテスト時に用いられるような場合、回路機能モジュールＣＦＭ１２１の性能を図６、図８、図９などの手段で測定する他に、動作機能テスト、いわゆる機能テストも行う必要がある。この機能テストにあたる部分の回路構成が図１２に示される構成になっている。性能測定回路ＰＭＣ１２１は、セレクタ回路制御信号ｓｅｌｃｎｔ１２１およびｓｅｌｃｎｔ１２２を回路機能モジュールＣＦＭ１２１内のセレクタ回路に与え、データ入力信号やデータ出力信号との接続を停止し、またスキャン入力信号ｓｃｎｉｎ１２１を用いて性能測定用のデータ信号を回路機能モジュール内のセレクタ回路とＤ型フリップフロップ回路を利用して逐次与える。また出力データ信号は、同様にセレクタ回路とＤ型フリップフロップ回路を利用して逐次スキャン出力信号ｓｃｎｏｕｔ１２１として性能測定回路ＰＭＣ１２１に戻す。テスト用のデータ信号は、性能測定回路ＰＭＣ１２１の外部からテスト入力信号ｂｓｔｉｎ１２１として取り入れ、機能テストの結果はテスト出力信号ｂｓｔｏｕｔ１２１として出力する。回路機能モジュールＣＦＭ１２１内における、上述のいわゆるスキャンテスト方式は公知の技術である。本発明では、回路機能モジュールの性能を測定する性能測定回路ＰＭＣ１２１が、スキャンテスト用の制御信号入出力も行うことで、性能測定とともにスキャンテストを行い、結果として、チップテスト時に、スキャンテストおよび性能テストの両テストを行えるようにしている。したがって、テスト時間が短縮される。また、チップ毎、さらに回路機能モジュール毎の性能テストを行うことから、製造プロセスによる性能のばらつきにも対応できる。
【００３８】
図１３は、本発明の性能測定回路の他の実施例を示す図である。
本発明の回路機能モジュールＣＦＭ１３１は、図１２における回路機能モジュールＣＦＭ１２１と同様に、セレクタ回路ＳＥＬ１２１、Ｄ型フリップフロップ回路ＤＦＦ１２１、論理回路ＬＯＧ１２１から構成される。データ入力信号ｄａｔｉｎ１２１〜ｄａｔｉｎ１２５とスキャン入力信号ｓｃｎｉｎ１２１はセレクタ回路制御信号ｓｅｌｃｎｔ１２１により、データ出力信号ｄａｔｏｕｔ１２１〜ｄａｔｏｕｔ１２５とスキャン出力信号ｓｃｎｏｕｔ１２１はセレクタ回路制御信号ｓｅｌｃｎｔ１２２により選択される。回路機能モジュールＣＦＭ１２１との相違点は、論理回路ＬＯＧ１２１のデータ出力が直接測定結果信号ｍｅｓｒｅｓ１３１として出力される点である。本発明の性能測定回路ＰＭＣ１３１は、インバータアンド回路ＩＮＶＡＮＤ６１、アンド回路ＡＮＤ６１、比較回路ＣＭＰ１３１、レジスタ回路ＲＥＧ６１、カウンタ回路ＣＮＴ６１から構成される。
【００３９】
本発明は、性能測定回路ＰＭＣ１３１を用いて、回路機能モジュールＣＦＭ１３１の動作速度、データ処理速度を示す回路動作の遅延時間を測定する実施例のひとつで、図１２に示すスキャンテスト技術を利用している。また、回路機能モジュールＣＦＭ１３１から出力される測定結果信号ｍｅｓｒｅｓ１３１を利用して、性能測定回路ＰＭＣ１３１は図６の性能測定回路ＰＭＣ６１と同様の仕組みで回路機能モジュールＣＦＭ１３１の遅延時間を計測する。具体的には、セレクタ制御信号ｓｅｌｃｎｔ１２１とスキャン入力信号ｓｃｎｉｎ１２１を利用して、テスト入力信号ｂｓｔｉｎ１３１を回路機能モジュールＣＦＭ１３１に供給する。リクエスト信号ｒｅｑ６１をアサートした瞬間に、回路機能モジュールのＣＦＭ１３１内で論理回路ＬＯＧ１２１がデータ処理動作を開始し、性能測定回路ＰＭＣ１３１ではカウンタ回路ＣＮＴ６１が制御クロック信号ｃｎｔｃｌｋ６１に従って時間を計測する。論理回路ＬＯＧ１２１が処理を終えて出力データが確定すると、測定結果信号ｍｅｓｒｅｓ１３１として比較回路ＣＭＰ１３１に与えられる。比較回路は、測定結果信号ｍｅｓｒｅｓ１３１が正しい結果を示すと、制御信号ｓｉｇ１３１を出力し、カウンタ回路ＣＮＴ６１の計測が停止して計測値がレジスタ回路ＲＥＧ６１に与えられる。その出力であるｐｆｄａｔ１１は、回路機能モジュールＣＦＭ１３１の遅延時間を表している。入力データとして、例えばクリティカルパスを用いるデータをテスト入力信号ｂｓｔｉｎ１３１として与えれば、計測された遅延時間は、該当する回路機能モジュールＣＦＭ１３１のクリティカルパス遅延、すなわちワースト（最大）遅延時間となる。
【００４０】
図１４は、本発明の性能測定回路の他の実施例を示す図である。
本発明の回路機能モジュールＣＦＭ１２１は、図１２における回路機能モジュールのスキャンテスト技術と同じ構成をしており、また本発明の性能測定回路ＰＭＣ１４１は図８あるいは図９に示すような消費電力測定機能を有する。回路機能モジュールのグランドレベルは擬似グランド線となり性能測定回路ＰＭＣ１４１の制御信号ｓｉｇ８１に接続される。テスト入力信号ｂｓｔｉｎ１４１から、例えば該当する回路機能モジュールＣＦＭ１２１が最大消費電力で動作するようなデータを供給することで、性能測定回路ＰＭＣ１４１は回路機能モジュールＣＦＭ１２１のワースト（最大）電力を計測する。
【００４１】
図１５は、本発明の性能測定回路の他の実施例を示す図である。
本発明の性能測定回路は、シフトレジスタ回路ＳＲＧ１５１、セレクタ回路ＳＥＬ１５１、ＳＥＬ１５２、アナログデジタル変換回路ＡＤＣ１５１、比較回路ＣＭＰ１５１、ＣＭＰ１５２、Ｄ型フリップフロップ回路ＤＦＦ１５１、インバータアンド回路ＩＮＶＡＮＤ１５１、アンド回路ＡＮＤ１５１、レジスタ回路ＲＥＧ１５１、カウンタ回路ＣＮＴ１５１で構成される。シフトレジスタ回路ＳＲＧ１５１はテスト入力信号ｂｓｔｉｎ１５１と制御クロック信号ｃｎｔｃｌｋ１５１を入力して制御信号ｓｉｇ１５１を出力する。セレクタ回路ＳＥＬ１５１は被測定電圧ｖｍｅｓ１５１として、電源電圧や基板バイアスなどの電圧信号を入力しそのうちの測定すべき電圧を選択して出力する。アナログデジタル変換回路ＡＤＣ１５１は、セレクタ回路ＳＥＬ１５１が選択した被測定電圧を入力し、その電圧レベルをデジタル値に変換して制御信号ｓｉｇ１５２を出力する。比較回路ＣＭＰ１５１は制御信号ｓｉｇ１５１とｓｉｇ１５２を比較して一致しているかどうかを判定し制御信号ｓｉｇ１５３を出力する。Ｄ型フリップフロップ回路はリクエスト信号ｒｅｑ１５１と入力電圧ｖｄｄｉｎ１５１を入力して制御信号ｓｉｇ１５４を出力する。インバータアンド回路ＩＮＶＡＮＤ１５１、アンド回路ＡＮＤ１５１、レジスタ回路ＲＥＧ１５１およびカウンタ回路ＣＮＴ１５１は図６における性能測定回路ＰＭＣ６１と同じ構成になっている。セレクタ回路ＳＥＬ１５２は制御信号ｓｉｇ１５２とレジスタ回路出力であるテスト出力信号ｂｓｔｏｕｔ１５２のどちらを比較回路ＣＭＰ１５２に伝達するかを選択する。比較回路ＣＭＰ１５２は、セレクタ回路ＳＥＬ１５２からの出力信号がシフトレジスタ回路ＳＲＧ１５１からの出力信号であるｓｉｇ１５１と比べて同じか異なっているかを判定し、テスト出力信号ｂｓｔｏｕｔ１５１として出力する。
【００４２】
本発明の性能測定回路は、回路機能モジュールに供給される電源電圧や基板バイアスの電圧値が正しいレベルで供給されているかを測定するとともに、電源電圧や基板バイアスの値が変化する際の遷移時間を計測し、設計値通りであるかを計測する。まず、シフトレジスタ回路ＳＲＧ１５１が、テスト入力信号ｂｓｔｉｎ１５１を制御クロック信号ｃｎｔｃｌｋ１５１に従って取り込み、信号ｓｉｇ１５１として出力する。電源電圧や基板バイアスは被測定電圧ｖｍｅｓ１５１に接続され、セレクタ回路ＳＥＬ１５１で、どの電圧を計測するか選択する。アナログデジタル変換回路ＡＤＣ１５１は与えられる電圧レベルをデジタル化して、信号ｓｉｇ１５２として出力する。被測定電圧ｖｍｅｓ１５１に与えられる電圧レベルは、信号ｓｉｇ１５２となり、信号ｓｉｇ１５１と比較回路ＣＭＰ１５２において比較されることによって、正しい電圧レベルが生じているかを観測し、結果をテスト出力信号ｂｓｔｏｕｔ１５１として出力する。リクエスト信号ｒｅｑ１５１がアサートされると、カウンタ回路ＣＮＴ１５１は時間を計測開始する。それと同時に、各回路機能モジュールにおいて、供給される電源電圧あるいは基板バイアスが変化しはじめる。該当する電圧レベルはデジタル化され信号ｓｉｇ１５２で与えられており、この値が所望の値である信号ｓｉｇ１５１と等しくなると、比較回路ＣＭＰ１５１が出力信号ｓｉｇ１５３をアサートし、カウンタ回路ＣＮＴ１５１の計測が停止する。この間、カウンタ回路ＣＮＴ１５１が計測した時間が、電圧レベルの遷移時間に相当する。計測結果はレジスタ回路ＲＥＧ１５１に記憶され、テスト出力信号ｂｓｔｏｕｔ１５２として出力される。また、比較回路ＣＭＰ１５２において、信号ｓｉｇ１５１と比較することで、設計値と等しいかを判定する。このようにして、回路機能モジュールに供給される電圧レベルや電圧遷移時間が計測される。
【００４３】
図１６は、本発明の記憶テーブル回路の実施例を示す図である。
本発明は、記憶テーブル回路における、自己学習機能部、すなわち、回路機能モジュールに供給されるデータ量を計測し、将来的に必要とされる回路機能モジュールの性能を予測して、記憶テーブル回路内に格納されている性能データをもとに回路機能モジュールやクロック周波数変換回路、電源電圧変換回路、基板バイアス制御回路への制御信号を生成する回路を示している。
【００４４】
本発明の記憶テーブル回路は、アービタ回路ＡＲＢ１６１、カウンタ回路ＣＮＴ１６１、ＣＮＴ１６２、ＣＮＴ１６３、レジスタ回路ＲＥＧ１６１、ＲＥＧ１６２、比較回路ＣＭＰ１６１、ＣＭＰ１６２および、アンド回路、インバータ回路から構成される。記憶テーブル回路に入力される信号は、図１７の波形で示されるものである。回路機能モジュールへのデータ入力信号ｄａｔｉｎ１６１には、データの有効期間（図の斜線）と無効期間が存在し、有効期間の間にデータが与えられる。１つのデータ有効期間と無効期間を合わせた時間をタイムスロットｔｍｓｌｏｔ１６０、ｔｍｓｌｏｔ１６１、ｔｍｓｌｏｔ１６２と呼ぶ。データフラグ信号ｆｌａｇ１６１はこのタイムスロットの間に値を変化させ、各タイムスロットにおいてデータ有効期間にはデータ有効信号ｆｌｖａｌ１６０、ｆｌｖａｌ１６１、ｆｌｖａｌ１６２を生成し、データ無効期間にはデータ無効信号ｆｌｉｎｖ１６０、ｆｌｉｎｖ１６１、ｆｌｉｎｖ１６２を生成する。従って、データ有効信号の立ち上がりがデータ有効期間の始まりを、データ無効信号のアサートがデータ有効期間の終了を意味する。図１６の記憶テーブル回路において、回路機能モジュールの動作開始時には、最大周波数、最大電源電圧など、最高速度を示す条件の制御を記憶テーブル回路が選択する。その後、実際のデータ処理を進めるに従い、性能を下げ、電力削減するという手法をとっている。
【００４５】
具体的には、あるタイムスロットｔｍｓｌｏｔ１６１においてデータの有効期間、つまりデータ有効信号ｆｌｖａｌ１６１とデータ無効信号ｆｌｉｎｖ１６１の間の時間をｔｖ、無効期間、つまりデータ無効信号ｆｌｉｎｖ１６１と次のタイムスロットｔｍｓｌｏｔ１６２のデータ有効信号ｆｌｖａｌ１６２の間の時間をｔｉとする。このタイムスロット内のデータ量をＮｔ回毎に計測する。はじめは、最大のクロック周波数となるクロック信号ｃｌｋ１６１（周波数ｆ０）を供給し、回路機能モジュールのデータ処理性能に余裕があると、クロック周波数をｆ０となるクロック信号ｃｌｋ１６２に下げ、低電力化していく。この際、記憶テーブル回路の制御組合せに従って電源電圧や基板バイアスも同時に変化させる。最低電力条件において、データ無効期間ｔｉが一定の時間Ｔｓｄ以上続いた場合には、電源を遮断する。電源の遮断を行う場合には、図４や図５に示す電源電圧制御回路に、ＭＯＳトランジスタからなる電源用スイッチを組み込む。また、データ無効期間中は、回路機能モジュール内へのクロック信号供給を停止（例えば、クロック周波数制御回路において、出力クロックの周波数を０にする、あるいはアンド回路などを用いて出力をゲーティングする）することにより、さらに電力を低減する。クロック周波数をｆ０からｆ１に下げられる条件は次のようになる。
【００４６】
【数１】
2004228417.tif 000003
【数２】
2004228417.tif 000004
（１）式で、左辺はクロックｆ０時のデータ数、右辺はクロックをｆ１に下げた場合に一スロットで処理できるデータ数を示す。式（２）は電圧の遷移にかかる時間Ｔｔｒａｎｓとデータ無効期間ｔｉの関係を示している。また、何スロットで周波数を変化させてよいかという条件Ｎｔは、電力制約で決定される。電力制約は、各周波数における回路機能モジュールの動作電力Ｐｆ０、Ｐｆ１、電圧遷移にともなう電力Ｐｔｒａｎｓと遷移時間Ｔｔｒａｎｓから次式のように求められる。
【００４７】
【数３】
2004228417.tif 000005
ここで、動作電力は待機時電力よりも充分大きいと仮定している。したがって、式（１）、（２）の条件がＮｔ回おこった場合に周波数を下げて低電力動作に遷移する。電源遮断を行う条件は、電力制約とタイミング制約から考える。電力制約条件は、最低電源電圧における回路機能モジュールのリーク電力をＰｌｅａｋとした場合に次のようになる。
【００４８】
【数４】
2004228417.tif 000006
【数５】
2004228417.tif 000007
式（４）から求められた条件よりもデータ無効期間が長ければ式（５）を満たし、電源遮断を行う。このようにして、記憶テーブル回路は回路機能モジュールの消費電力を削減していく。データ量が増加して一スロット内で処理できなくなった場合には、データをバッファに蓄えつつクロックを最大周波数（ｆ０）に戻し、再度同じ学習を繰り返す。図１６において、式（１）、（２）の関係が満たされる場合、比較回路ＣＭＰ１６１およびＣＭＰ１６２の出力、つまりアンド回路出力がダウン信号ｄｗｎ１６１を出力する。この場合、記憶テーブル回路の出力である制御信号により、回路機能モジュールに供給される周波数および電圧条件を一段下げ、動作速度を下げるとともに消費電力を低下する。周波数最小になってもデータ無効期間が長いと式（５）が満たされて、シャットダウン信号ｓｄｗｎ１６１が出力され、回路機能モジュールは電源遮断となる。また、あるタイムスロットｔｍｓｌｏｔ１６０でデータを処理しきれなくなり、データ無効信号ｆｌｉｎｖ１６０の前に、次のタイムスロットｔｍｓｌｏｔ１６１用データが到着してデータ有効信号ｆｌｖａｌ１６１が発生してしまった場合には、ｅｒｒｏｒ信号が出力され、周波数および電圧条件は最高速度性能の条件に戻る。
【００４９】
回路機能モジュールがある性能で動作している間に、データ量が増えてタイムスロット内で処理しきれなくなる場合、図１６のｅｒｒ１６１信号が出力される。この時、処理しきれなかったデータについては、回路機能モジュールのデータ入力バッファに格納しておいたり、処理ミスとして一度データを捨ててあらためてデータを要求しなおすなどの対処をする。また、ｅｒｒ１６１信号が出力された後の電源電圧、基板バイアス、クロック周波数の設定については、最高性能を与える設定に戻ってもよいし、現状より一つ上の性能設定に戻してもよい。
以上のようにして、本発明の記憶テーブル回路は、回路機能モジュールに与えられるデータ量を計測し学習することによって、回路機能モジュールが最適な性能を発揮できるように制御信号を生成する。
【００５０】
図１８は、本発明の他の実施例を示す図である。
本発明は、回路機能モジュールＣＦＭ１８１、ＣＦＭ１８２、クロック周波数制御回路ＣＦＣ１８１、ＣＦＣ１８２、電源電圧制御回路ＳＶＣ１８１、ＳＶＣ１８２、基板バイアス制御回路ＢＢＣ１８１、ＢＢＣ１８２、記憶テーブル回路ＭＴＣ１８１、ＭＴＣ１８２、バッファ回路ＢＵＦ１８１、ＢＵＦ１８２、バスＢＵＳ１８１、外部入力ＥＸＴ１８１、性能測定回路ＰＭＣ１８１、バス制御回路ＢＳＣ１８１から構成される。回路機能モジュールＣＦＭ１８１はクロック周波数ｃｌｋ１８１、電源電圧ｖｄｄ１８１、基板バイアスｖｂｐ１８１、ｖｂｎ１８１を入力し、バッファ回路ＢＵＦ１８１を介してデータ信号の入出力を行う。回路機能モジュールＣＦＭ１８２はクロック周波数ｃｌｋ１８２、電源電圧ｖｄｄ１８２、基板バイアスｖｂｐ１８２、ｖｂｎ１８２を入力し、バッファ回路ＢＵＦ１８２を介してデータ信号の入出力を行う。クロック周波数制御回路ＣＦＣ１８１、ＣＦＣ１８２はそれぞれ、入力クロック信号ｃｌｋｉｎ１８１を入力してクロック信号ｃｌｋ１８１、ｃｌｋ１８２を出力する。電源電圧制御回路ＳＶＣ１８１、ＳＶＣ１８２はそれぞれ、入力電圧ｖｄｄｉｎ１８１を入力して電源電圧ｖｄｄ１８１、ｖｄｄ１８２を出力する。基板バイアス制御回路ＢＢＣ１８１、ＢＢＣ１８２はそれぞれ、入力電圧ｖｄｄｉｎ１８１を入力して基板バイアスｖｂｐ１８１、ｖｂｎ１８１およびｖｂｐ１８２、ｖｂｎ１８２を出力する。記憶テーブル回路ＭＴＣ１８１は、制御信号ｓｉｇ１８２を入力して、クロック周波数制御回路ＣＦＣ１８１、電源電圧制御回路ＳＶＣ１８１、基板バイアス制御回路ＢＢＣ１８１を制御する。記憶テーブル回路ＭＴＣ１８２は、制御信号ｓｉｇ１８３を入力して、クロック周波数制御回路ＣＦＣ１８２、電源電圧制御回路ＳＶＣ１８２、基板バイアス制御回路ＢＢＣ１８２を制御する。バッファ回路ＢＵＦ１８１、ＢＵＦ１８２はそれぞれ、回路機能モジュールＣＦＭ１８１、ＣＦＭ１８２とバスＢＵＳ１８１とのデータ入出力を中継し、データの保存を行う。バス回路ＢＵＳ１８１は、外部入力ＥＸＴ１８１、性能測定回路ＰＭＣ１８１、バス制御回路ＢＳＣ１８１、記憶テーブル回路ＭＴＣ１８１、ＭＴＣ１８２、バッファ回路ＢＵＦ１８１、ＢＵＦ１８２との間のデータ授受を中継する。
【００５１】
本発明に示されているように、回路機能モジュールが複数存在する場合のシステム構成は以下のようになる。各回路機能モジュールに対し、クロック周波数制御回路、電源電圧制御回路、基板バイアス制御回路、記憶テーブル回路、およびバッファ回路が各１つづつ配置される。バス配線、外部入力、性能測定回路、バス制御回路は、チップあるいはシステム１つにつき１セット配置される。また、入力電源と入力クロック信号は電圧値および周波数が一定の一種類の信号をチップに供給し、チップ内部で電圧や周波数を変換している。以上の構成により、チップ内の回路機能モジュール設計や、チップ全体のレイアウト設計が容易になり、設計期間の短縮や信頼性の向上をもたらす。また、各回路機能モジュール毎に最適なクロック周波数、電源電圧、基板バイアス制御を行うことで、チップ全体も最適化される。ＢＳＣ１８１は、バスＢＵＳ１８１にどの回路機能モジュールなどモジュールからのデータをバス外部入力ＥＸＴ１８１は、ＯＳ、アプリケーションソフトウェア、ミドルウェアなどが供給される。バス制御回路ＢＳＣ１８１は、バスＢＵＳ１８１にどの回路機能モジュールにデータ信号入出力を許可するかを決定する。リクエスト信号ｒｅｑ１８１を受け取ると、最適な条件となるようにアクノレッジ信号ａｃｋ１８１を出力する。回路機能モジュール間のデータのやりとりについては、同期式、非同期式、データフロー式など、どのような方式でもよい。回路機能モジュール間の結合を実現するアーキテクチャに依存することなく、性能最適化、低電力化を果たすことができる。
【００５２】
図１９は、チップテスト時のフローチャートを示す図である。
１９Ａでチップテストを開始する。１９Ｂで、性能測定回路が測定する回路機能モジュールを選択する。１９Ｃでは選択された回路機能モジュールにおいて、電源電圧制御回路および基板バイアス制御回路が回路機能モジュールの動作速度を最高にするような制御を行うよう、記憶テーブル回路が信号を出力する。１９Ｄで、性能測定回路が測定する電圧種類（電源電圧、基板バイアス、など）を選択する。１９Ｅにおいて電圧レベルが正しいかを判定し、正しくなければ１９Ｆでその結果をログとして記憶し、１９Ｄにもどる。１９Ｅで電圧レベルが正しいと、１９Ｇで電圧の遷移時間を計測する。１９Ｈでは電圧種類の選択が全て終わっているかを判定し、まだ測定していない電圧種があれば１９Ｄに戻る。全ての電圧種について測定が終われば、１９Ｔにおいて最大遷移時間データを記憶テーブル回路に送る。１９Ｃから１９Ｔまでの作業は、アナログテストＡＢＳＴ１９１作業になる。続いて、１９Ｊにおいて、既に選ばれている回路機能モジュールにテストデータ（テストベクタ）を供給する。１９Ｋで、出力データを検出し、回路機能モジュールのＤＣ的な回路動作が正しいかどうかを判定する。動作が誤っていれば、１９Ｌにおいてログを記憶し、１９Ｊにもどる。１９Ｋにおいて回路動作が正しい場合は、１９Ｍですべてのテストベクタを終了したか判定する。終了していなければ１９Ｊにもどり、終了していれば１９Ｎへ進む。１９Ｊから１９Ｍまでの作業は、機能テストＦＢＳＴ１９１作業となる。１９Ｎにおいては、電源電圧、基板バイアスの制御組合せを選択する。１９Ｖでは、選択された制御組合せにおいて、回路機能モジュールの動作速度、すなわち遅延時間測定する。１９Ｐで、測定結果データ信号を該当する回路機能モジュールの記憶テーブル回路に与える。１９Ｑで、制御組合せが全て終了したかを判定し、終了していれば１９Ｒへ進み、終了していなければ１９Ｎに戻る。１９Ｎから１９Ｑまでの作業は、タイミングテストＴＢＳＴ１９１作業となる。１９Ｒにおいて、全ての回路機能モジュール選択が終了したかを判定。終了していなければ１９Ｃにもどり、終了していれば１９Ｓに進む。１９Ｓにおいて、チップテストフローは終了する。
【００５３】
図２０は、図１９と同様チップテスト時のフローチャートを示す図である。図１９との違いは、図２０では回路機能モジュールにおける消費電力の測定を含んでいる点である。図１９では、回路機能モジュールが消費する電力は、制御組合せに応じて既知であるとして、データ処理速度、すなわち遅延時間の測定のみを行う場合のフローチャートになっている。消費電力も未知である場合は、図２０に従って測定する必要がある。図１９との違いは、フローの２０Ｖ、２０Ｐにあたる箇所で、遅延時間を測定する際に消費電力も測定し、記憶テーブル回路に送る情報は遅延時間と消費電力の両方になっている。
【００５４】
図２１は、バス制御回路の実施例を示す図である。
本発明は、インクリメントデクリメント回路ＩＮＣＤＥＣ２１１、カウンタ回路ＣＮＴ２１１、ＣＮ２１２、ＣＮＴ２１３、ＣＮＴ２１４、比較回路ＣＭＰ２１１、セレクタ回路ＳＥＬ２１１、エンコード回路ＥＮＣ２１１、デコード回路ＤＥＣ２１１から構成される。インクリメントデクリメント回路ＩＮＣＤＥＣ２１１は、エンコーダ回路ＥＮＣ２１１からの信号を入力して、カウンタのインクリメントまたはデクリメントを行う信号を出力する。カウンタ回路ＣＮＴ２１１、ＣＮＴ２１２、ＣＮＴ２１３、ＣＮＴ２１４はインクリメントデクリメント回路ＩＮＣＤＥＣ２１１からの信号に応じてカウント値を変化させ、カウント値を比較回路ＣＭＰ２１１に与える。デコード回路ＤＥＣ２１１はリクエスト信号ｒｅｑ２１１をデコードしてセレクタ回路ＳＥＬ２１１を制御する。セレクタ回路ＳＥＬ２１１は比較回路ＣＭＰ２１１の出力をデコード回路２１１からの制御信号に応じてエンコード回路ＥＮＣ２１１に伝え、エンコード回路はインクリメントデクリメント回路ＩＮＣＤＥＣ２１１を制御する信号とアクノレッジ信号ａｃｋ２１１を出力する。バス制御回路は、回路機能モジュールからリクエスト信号が届くと、アクノレッジ信号を返して、回路機能モジュールがバス上のデータとのやりとり（入出力）を行う権限を与える。リクエスト信号が同時に届いた場合、あるいは別の回路機能モジュールがバスを使用している最中にリクエスト信号が届いた場合に、回路機能モジュール間の優先度を調整する働きを行う。具体的には、バスの使用率が低い回路機能モジュールに優先度高くバスを使用させるようにする。全ての回路機能モジュールに該当するカウンタ回路をバス制御回路が所有し、ある回路機能モジュールからリクエスト信号ｒｅｑ２１１が届くと、バス制御回路はその信号をデコード回路ＤＥＣ２１１でデコードする。この時、該当する回路機能モジュールのカウント数が比較対象となる回路機能モジュールのカウント数よりも小さければ、エンコーダ回路ＥＮＣ２１１を介してアクノレッジ信号ａｃｋ２１１を戻し、該当する回路機能モジュールのバス使用を許可する。アクノレッジ信号を出した場合には、インクリメントデクリメント回路ＩＮＣＤＥＣ２１１を用いて、各回路機能モジュールのカウント数を変化させる。アクノレッジ信号を出した回路機能モジュールについてはカウント数を１つインクリメントし、その他のモジュールは全てカウント数を１つデクリメントする。このようにして、回路機能モジュール同士のバス使用率を均一化する。
【００５５】
このようにバス制御回路を用いることで、図１８における各回路機能モジュールが自律分散的に動作できるようになり、それにともなう本発明の低電力高性能化技術を有効に利用できる。
図２２は、バス制御回路の他の実施例を示す図である。
【００５６】
本発明は、アドレスレジスタ回路ＡＤＲ２２１、ＡＤＲ２２２、ＡＤＲ２２３、ＡＤＲ２２４、ＡＤＲ２２５を含むシフトレジスタ回路ＳＲＧ２２１、セレクタ回路ＳＥＬ２２１、デコーダ回路ＤＥＣ２２１、エンコーダ回路ＥＮＣ２２１から構成される。デコーダ回路ＤＥＣ２２１はリクエスト信号ｒｅｑ２２１をデコードしてセレクタ回路ＳＥＬ２２１に伝える。セレクタ回路ＳＥＬ２２１はデコーダ回路ＤＥＣ２２１からの制御信号に応じてアドレスレジスタを選択する。エンコーダ回路ＥＮＣ２２１は選択されたアドレスレジスタの信号をエンコードしてアック信号ａｃｋ２２１として出力するとともに、シフトレジスタ回路ＳＲＧ２２１内のアドレスレジスタを制御する。シフトレジスタ回路ＳＲＧ２２１内のアドレスレジスタ回路は、チップ内の各回路機能モジュールに相当する。各アドレスレジスタの位置は、回路機能モジュールがバスを使用する頻度を示し、あまり使用頻度が高くない回路機能モジュールに対応するアドレスレジスタほど、図の上位置に配置される。リクエスト信号に応じてアクノレッジ信号ａｃｋ２２１が出力されると、エンコーダ回路ＥＮＣ２２１からの制御信号により、該当回路機能モジュールに対応する。
アドレスレジスタは、シフトレジスタ回路ＳＲＧ２２１内で一番下位置に配置される。それ以外のアドレスレジスタは一段づつ上位に上がる。セレクタ回路は、リクエスト信号ｒｅｑ２２１を受け取った時点でバスを使用予定の回路機能モジュールが複数ある場合、それらに対応するアドレスレジスタのうち一番上位置にあるレジスタに対応する、回路機能モジュールに対してアクノレッジ信号を出力する。この回路の場合も、図２１と同様に回路機能モジュール同心のバス使用率を平均化する。
【００５７】
以上説明したように、本実施例によると次の効果がある。すなわち、高速かつ低消費電力で動作することが可能な半導体集積回路装置において、以下に示す課題を実現するＣＭＯＳ回路及びそれで構成されたＣＭＯＳ  ＬＳＩチップならびに半導体集積回路装置を提供できる。すなわち、ＣＭＯＳ回路を構成するＭＯＳトランジスタのクロック周波数、電源電圧、基板バイアスを自律分散的に、かつ自己学習的に制御するための性能測定回路と記憶テーブル回路を備えた構造を使用することで、以下の課題を解決する。
（１）マイクロプロセッサ等のＣＭＯＳ回路で構成される半導体集積回路のチップ内回路規模や種類が複雑多岐にわたる場合でも、各回路モジュールは低電力高速化制御技術を意識せずに設計することが可能で、設計時間の短縮と信頼性向上が可能となる。
（２）マイクロプロセッサ等のチップにおいて既存の回路モジュールを利用する際やマルチプロセッサ化を行う際にも、低電力高速化制御技術を意識せずに使用して設計することが可能となり、設計時間の短縮と信頼性向上をもたらす。
（３）ＡＳＩＣのように回路モジュールを多様に組合せる場合でも、同様に低電力高速化制御技術を意識せずに設計可能で、設計時間短縮と信頼性向上を可能とする。
（４）低電力高速化制御技術を実現するために、あらかじめ各回路モジュールの性能を測定しておくため、チップテストの期間短縮を可能とする。
（５）チップ内の回路モジュール毎に最適なクロック周波数、電源電圧、基板バイアスの供給を可能とすることにより、プロセッサ等の動作において、「動作速度／消費電力性能」を最大にする。
【００５８】
【発明の効果】
以上のように、本発明によれば、ＣＭＯＳ回路を用いた半導体集積回路装置の設計の簡易化、テスト時間の短縮および低電力化が可能となる。
【図面の簡単な説明】
【図１】本発明の実施例の構成図。
【図２】クロック周波数制御回路の実施例の構成図。
【図３】クロック周波数制御回路の他の実施例の構成図。
【図４】電源電圧制御回路もしくは基板バイアス制御回路の実施例の構成図。
【図５】電源電圧制御回路もしくは基板バイアス制御回路の他の実施例の構成図。
【図６】本発明の性能測定回路の実施例の構成図。
【図７】性能測定回路の動作波形図。
【図８】本発明の性能測定回路の他の実施例の構成図。
【図９】本発明の性能測定回路の他の実施例の構成図。
【図１０】本発明の記憶テーブル回路のテーブル表の実施例。
【図１１】本発明の記憶テーブル回路のテーブル表の他の実施例。
【図１２】本発明の性能測定回路の他の実施例の構成図。
【図１３】本発明の性能測定回路の他の実施例の構成図。
【図１４】本発明の性能測定回路の他の実施例の構成図。
【図１５】本発明の性能測定回路の他の実施例の構成図。
【図１６】本発明の記憶テーブル回路の実施例の構成図。
【図１７】タイムスロットの概念を示す波形図。
【図１８】本発明の他の実施例の構成図。
【図１９】チップテスト時のフローチャート。
【図２０】チップテスト時の他のフローチャート。
【図２１】バス制御回路の実施例の構成図。
【図２２】バス制御回路の他の実施例の構成図。
【符号の説明】
ＡＢＳＴ１９１，ＡＢＳＴ２０１・・・アナログテスト、
ＡＤＣ８１，ＡＤＣ９１，ＡＤＣ１５１・・・アナログデジタル変換回路、
ＡＤＲ２２１，ＡＤＲ２２２，ＡＤＲ２２３，ＡＤＲ２２４，ＡＤＲ２２５・・・アドレスレジスタ回路、
ＡＭＰ４１，ＡＭＰ９１・・・増幅回路、
ＡＮＤ６１，ＡＮＤ１５１・・・アンド回路、
ＡＲＢ１６１・・・アービタ回路、
ＢＢＣ１１，ＢＢＣ１８１，ＢＢＣ１８２・・・基板バイアス制御回路、
ＢＵＦ１８１，ＢＵＦ１８２・・・バッファ回路、
ＢＵＳ１８１バス、
ＢＳＣ１８１・・・バス制御回路、
ＣＡＰ３１，ＣＡＰ５１・・・容量、
ＣＦＣ１１，ＣＦＣ１８１，ＣＦＣ１８２・・・クロック周波数制御回路、
ＣＦＭ１１，ＣＦＭ６１，ＣＦＭ８１，ＣＦＭ９１，ＣＦＭ１２１，ＣＦＭ１３１，ＣＦＭ１８１，ＣＦＭ１８２・・・回路機能モジュール、
ＣＭＰ１３１，ＣＭＰ１５１，ＣＭＰ１５２，ＣＭＰ１６１，ＣＭＰ１６２，ＣＭＰ２１１・・・比較回路、
ＣＮＴ６１，ＣＮＴ１５１，ＣＮＴ１６１，ＣＮＴ１６２，ＣＮＴ１６３，ＣＮＴ２１１，ＣＮＴ２１２，ＣＮＴ２１３，ＣＮＴ２１４・・・カウンタ回路、
ＤＥＣ２１１，ＤＥＣ２２１・・・デコード回路、
ＤＦＦ２１，ＤＦＦ１２１，ＤＦＦ１５１・・・Ｄ型フリップフロップ回路、
ＤＩＤ５１，ＤＩＤ５２・・・ダイオード、
ＤＩＶ３１・・・分周回路、
ＥＮＣ２１１，ＥＮＣ２２１・・・エンコード回路、
ＥＸＴ１８１・・・外部入力、
ＦＢＳＴ１９１，ＦＢＳＴ２０１・・・機能テスト、
ＩＮＣＤＥＣ２１１・・・インクリメントデクリメント回路、
ＩＮＶＡＮＤ６１，ＩＮＶＡＮＤ１５１・・・インバータアンド回路、
ＬＯＧ１２１・・・論理回路、
ＭＴＣ１１，ＭＴＣ１８１，ＭＴＣ１８２・・・記憶テーブル回路、
ＮＭＳ３１，ＮＭＳ８１・・・ＮＭＯＳトランジスタ、
ＰＦＤ３１・・・位相周波数検出回路、
ＰＭＣ１１，ＰＭＣ６１，ＰＭＣ８１，ＰＭＣ９１，ＰＭＣ１２１，ＰＭＣ１３１，ＰＭＣ１４１，ＰＭＣ１８１・・・性能測定回路、
ＰＭＳ３１，ＰＭＳ４１・・・ＰＭＯＳトランジスタ、
ＲＥＧ６１，ＲＥＧ１５１，ＲＥＧ１６１，ＲＥＧ１６２・・・レジスタ回路、
ＲＥＳ３１，ＲＥＳ９１，ＲＥＳ９２・・・抵抗、
ＲＯＳ５１・・・リング発振回路、
ＳＥＬ２１，ＳＥＬ１２１，ＳＥＬ１５１，ＳＥＬ１５２，ＳＥＬ２１１，ＳＥＬ２２１・・・セレクタ回路、
ＳＥＮ５１・・・センサ回路、
ＳＲＧ１５１，ＳＲＧ２２１・・・シフトレジスタ回路、
ＳＶＣ１１，ＳＶＣ１８１，ＳＶＣ１８２・・・電源電圧制御回路、
ＴＢＳＴ１９１，ＴＢＳＴ２０１・・・タイミングテスト、
ＶＣＯ３１・・・電圧制御発振回路、
ＶＲＦ４１・・・参照電圧発生回路、
１９Ａ，１９Ｂ，１９Ｃ，１９Ｄ，１９Ｅ，１９Ｆ，１９Ｇ，１９Ｈ，１９Ｊ，１９Ｋ，１９Ｌ，１９Ｍ，１９Ｎ，１９Ｐ，１９Ｑ，１９Ｒ，１９Ｓ，１９Ｔ，１９Ｖ，２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅ，２０Ｆ，２０Ｇ，２０Ｈ，２０Ｊ，２０Ｋ，２０Ｌ，２０Ｍ，２０Ｎ，２０Ｐ，２０Ｑ，２０Ｒ，２０Ｓ，２０Ｔ，２０Ｖ・・・プロセス、
ａｃｋ１８１，ａｃｋ２１１，ａｃｋ２２１・・・アクノレッジ信号、
ｂｓｔｉｎ１２１，ｂｓｔｉｎ１３１，ｂｓｔｉｎ１４１，ｂｓｔｉｎ１５１・・・テスト入力信号、
ｂｓｔｏｕｔ１２１，ｂｓｔｏｕｔ１３１，ｂｓｔｏｕｔ１４１，ｂｓｔｏｕｔ１５１，ｂｓｔｏｕｔ１５２・・・テスト出力信号、
ｃｌｋ１１，ｃｌｋ１６１，ｃｌｋ１６２，ｃｌｋ１７１，ｃｌｋ１８１，ｃｌｋ１８２・・・クロック信号、
ｃｌｋｉｎ２１，ｃｌｋｉｎ１８１・・・入力クロック信号、
ｃｍｂ１０１，ｃｍｂ１０２，ｃｍｂ１０３，ｃｍｂ１０４，ｃｍｂ１０５，ｃｍｂ１０６，ｃｍｂ１１１，ｃｍｂ１１２，ｃｍｂ１１３，ｃｍｂ１１４，ｃｍｂ１１５，ｃｍｂ１１６・・・制御組合せ、
ｃｎｔｃｌｋ６１，ｃｎｔｃｌｋ１５１，ｃｎｔｃｌｋ１５２・・・制御クロック信号、
ｄａｔ１８１，ｄａｔ１８２，ｄａｔ１８３・・・データ信号、
ｄａｔｉｎ６１，ｄａｔｉｎ１２１，ｄａｔｉｎ１２２，ｄａｔｉｎ１２３，ｄａｔｉｎ１２４，ｄａｔｉｎ１２５，ｄａｔｉｎ１６１・・・データ入力信号、
ｄａｔｏｕｔ６１，ｄａｔｏｕｔ１２１，ｄａｔｏｕｔ１２２，ｄａｔｏｕｔ１２３，ｄａｔｏｕｔ１２４，ｄａｔｏｕｔ１２５・・・データ出力信号、
ｄｗｎ１６１・・・ダウン信号、
ｅｒｒ１６１・・・エラー信号、
ｆｌａｇ１６１・・・データフラグ信号、
ｆｌｖａｌ１６０，ｆｌｖａｌ１６１，ｆｌｖａｌ１６２・・・データ有効信号、
ｆｌｉｎｖ１６０，ｆｌｉｎｖ１６１，ｆｌｉｎｖ１６２・・・データ無効信号、
ｇｎｄ３１，ｇｎｄ８１・・・グランド電圧、
ｍｅｓｃｍｄ１１，ｍｅｓｃｍｄ１２・・・測定命令信号、
ｍｅｓｒｅｓ１１，ｍｅｓｒｅｓ１３１・・・測定結果信号、
ｏｐｃｎｔ１１，ｏｐｃｎｔ１２，ｏｐｃｎｔ１３・・・動作制御信号、
ｐｆｄａｔ１１・・・性能データ信号、
ｐｗｒ１０１，ｐｗｒ１１１・・・消費電力、
ｒｅｑ６１，ｒｅｑ１５１，ｒｅｑ１８１，ｒｅｑ２１１，ｒｅｑ２２１・・・リクエスト信号、
ｓｃｎｉｎ１２１・・・スキャン入力信号、
ｓｃｎｏｕｔ１２１・・・スキャン出力信号、
ｓｄｗｎ１６１・・・シャットダウン信号、
ｓｅｌｃｎｔ１２１，ｓｅｌｃｎｔ１２２・・・セレクタ回路制御信号、
ｓｉｇ２１，ｓｉｇ２２，ｓｉｇ２３，ｓｉｇ２４，ｓｉｇ２５，ｓｉｇ３１，ｓｉｇ３２，ｓｉｇ４１，ｓｉｇ５１，ｓｉｇ６１，ｓｉｇ６２，ｓｉｇ６３，ｓｉｇ８１，ｓｉｇ９１，ｓｉｇ９２，ｓｉｇ１３１，ｓｉｇ１５１，ｓｉｇ１５２，ｓｉｇ１５３，ｓｉｇ１５４，ｓｉｇ１５５，ｓｉｇ１５６，ｓｉｇ１８１，ｓｉｇ１８２，ｓｉｇ１８３・・・制御信号、
ｔ０，ｔ１，ｔ２，ｔ３，ｔ００，ｔ０１，ｔ０２，ｔ０３，ｔ０４，ｔ０５，ｔ０６・・・時間、
ｔｉｍ１６１・・・期間信号、
ｔｍｓｌｏｔ１６０，ｔｍｓｌｏｔ１６１，ｔｍｓｌｏｔ１６２・・・タイムスロット、
ｔｐｄ１０１，ｔｐｄ１１１・・・遅延時間、
ｖｂｎ１１，ｖｂｎ１８１，ｖｂｎ１８２・・・ＮＭＯＳトランジスタ用基板バイアス、
ｖｂｐ１１，ｖｂｐ１８１，ｖｂｐ１８２・・・ＰＭＯＳトランジスタ用基板バイアス、
ｖｄｄ１１，ｖｄｄ９１，ｖｄｄ１８１，ｖｄｄ１８２・・・電源電圧、
ｖｄｄｉｎ３１，ｖｄｄｉｎ１５１，ｖｄｄｉｎ１８１・・・入力電圧、
ｖｍｅｓ１５１・・・被測定電圧、
ｖｒｅｆ８１，ｖｒｅｆ９１・・・参照電圧。
【図１】
2004228417.tif 000008
【図２】
2004228417.tif 000009
【図３】
2004228417.tif 000010
【図４】
2004228417.tif 000011
【図５】
2004228417.tif 000012
【図６】
2004228417.tif 000013
【図７】
2004228417.tif 000014
【図８】
2004228417.tif 000015
【図９】
2004228417.tif 000016
【図１０】
2004228417.tif 000017
【図１１】
2004228417.tif 000018
【図１２】
2004228417.tif 000019
【図１３】
2004228417.tif 000020
【図１４】
2004228417.tif 000021
【図１５】
2004228417.tif 000022
【図１６】
2004228417.tif 000023
【図１７】
2004228417.tif 000024
【図１８】
2004228417.tif 000025
【図１９】
2004228417.tif 000026
【図２０】
2004228417.tif 000027
【図２１】
2004228417.tif 000028
【図２２】
2004228417.tif 000029