(57)【要約】【課題】  製品出荷後においても自律的に対象回路２０の構成を調整可能な自律調整装置１０を提供する。【解決手段】  対象回路２０を自律的に調整する自律調整装置１０であって、対象回路２０の動作性能を設定する複数のパラメータの組み合わせからなるパラメータセットを保持する不揮発性メモリ４と、待機状態時において、対象回路２０が通常動作を行う通常モードから、対象回路２０に対する調整動作を行う調整モードに移行して、不揮発性メモリ４に保持されたパラメータセットを対象回路２０に設定するパラメータ制御部１とを備える。【選択図】    図１
2007310831.tif 000002
【特許請求の範囲】
【請求項１】
対象回路を自律的に調整する自律調整装置であって、
前記対象回路の動作性能を設定する複数のパラメータの組み合わせからなるパラメータセットを保持する不揮発性メモリと、
待機状態時において、前記対象回路が通常動作を行う通常モードから、前記対象回路に対する調整動作を行う調整モードに移行して、前記不揮発性メモリに保持された前記パラメータセットを前記対象回路に設定するパラメータ制御部
とを備えることを特徴とする自律調整装置。
【請求項２】
前記不揮発性メモリ及び前記パラメータ制御部は、同一の半導体チップ上にモノリシックに集積化されることを特徴とする請求項１に記載の自律調整装置。
【請求項３】
前記調整モード時において前記パラメータセットの設定された前記対象回路の動作性能を計測する計測回路を更に備え、
前記計測回路は、
前記対象回路の動作性能が仕様を満たしているかを判定する合格判定回路と、
前記対象回路の動作性能が過去に計測された動作特性よりも優れているかを評価する性能評価回路とを備え、
前記パラメータ制御部は、前記調整モード時において、前記対象回路の動作性能が仕様を満たし、且つ前記対象回路の動作性能が過去に計測された動作特性よりも優れている場合に、前記不揮発性メモリに保持されるパラメータセットを更新することを特徴とする請求項１又は２に記載の自律調整装置。
【請求項４】
前記不揮発性メモリは、複数組のパラメータセットを保持することを特徴とする請求項１〜３のいずれか１項に記載の自律調整装置。
【請求項５】
前記パラメータ制御部は、外部のセンサが検出した動作環境の情報に応じて前記パラメータセットを更新することを特徴とする請求項１〜４のいずれか１項に記載の自律調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はポストファブリケーション技術に関し、特に対象回路を自律的に調整する自律調整装置に関する。
【背景技術】
【０００２】
半導体集積回路（ＩＣ）の微細化が進み、プロセスばらつきに起因する性能のばらつきが顕著になってきている。その対策としてプロセスばらつきを考慮したポストファブリケーション技術が用いられつつある。ポストファブリケーション技術とは、例えばＩＣを製造した後に、遅延調整回路を調整することで最大動作周波数を向上させたり、電源電圧や閾値電圧を調整したりすることで消費電力を抑えるというものである（例えば、特許文献１参照。）。
【０００３】
しかし、上述した動作性能の調整をシステム・オン・チップ（ＳｏＣ）レベルにて実施しようとすると、調整するべきパラメータ数、及びそれらの組み合わせは膨大であり、統一的なアルゴリズムを構築するのは難しい。つまり、各種のパラメータが互いに相関を有しているため、論理的なアルゴリズムを導き出すことが極めて困難である。
【０００４】
そこでよく用いられるのが遺伝的アルゴリズムである。「遺伝的アルゴリズム」とは、生物の進化の過程を真似て過去の最適解をもとに、選択 (selection)、交叉 (crossover)、及び突然変異 (mutation)を繰り返すことによって、より良い解を追求するアルゴリズムである。
【０００５】
遺伝的アルゴリズムの適用の仕方は様々であるが、そのいずれにおいても一般的といえる手法が存在せず、膨大な回数のトライ・アンド・エラーを繰り返さなければならない。しかしながら、製品出荷前の限られた調整時間内では必ずしも収束せず、出荷合格基準には達していても、その個体本来の最適値近辺には達していない場合が多い。
【特許文献１】国際公開第ＷＯ９８／１３７４２号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、製品出荷後においても自律的に対象回路の構成を調整可能な自律調整装置を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、対象回路を自律的に調整する自律調整装置であって、対象回路の動作性能を設定する複数のパラメータの組み合わせからなるパラメータセットを保持する不揮発性メモリと、待機状態時において、対象回路が通常動作を行う通常モードから、対象回路に対する調整動作を行う調整モードに移行して、不揮発性メモリに保持されたパラメータセットを対象回路に設定するパラメータ制御部とを備える自律調整装置が提供される。
【発明の効果】
【０００８】
本発明によれば、製品出荷後においても自律的に対象回路の構成を調整可能な自律調整装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１０】
（自律調整装置）
本発明の実施形態に係る半導体集積回路は、図１に示すように、自律調整装置１０と、自律調整の対象となる対象回路２０と、自律調整装置１０を制御する制御装置３０とを備える。対象回路２０は、例えば画像処理回路又は通信処理回路等であり、デジタル回路又はアナログ回路、あるいはこれらの組み合わせによって構成される。
【００１１】
制御装置３０は、図１に示す半導体集積回路の搭載された機器が待機状態であると判定されるとき、対象回路２０の調整動作を行う調整モードへの移行を要求する信号（以下、「調整モード要求信号」と呼ぶ。）を発生させる。一定時間ユーザから入力操作がない場合、対象回路２０の稼動状態を計測して非稼動状態と判断された場合、図１の半導体集積回路が搭載された機器がＡＣアダプタ（図示省略）に接続された場合等に待機状態であると判定される。
【００１２】
また、制御装置３０は、ユーザからの入力操作等をトリガとして、対象回路２０の調整動作を行わずに対象回路２０を通常動作させる通常モードへの復帰を要求する信号（以下、「通常モード要求信号」と呼ぶ。）を発生させる。制御装置３０としてＲＩＳＣプロセッサを使用する場合、ＲＩＳＣプロセッサの割り込み機能を利用して通常モード要求信号を発生させることで、対象回路２０が十分短期間で通常動作に復帰することが可能である。この結果、自律調整装置１０は、図２に示すように、通常モードＭ１と調整モードＭ２のいずれかのモードで動作する。
【００１３】
自律調整装置１０は、電源電圧、遅延量、及び閾値電圧等のパラメータの組み合わせからなるパラメータセットを対象回路２０に供給し、対象回路２０内の動作性能を調整する。すなわち、対象回路２０は、自律調整装置１０から供給されるパラメータセットによって、電源電圧、遅延量、及び閾値電圧等が回路ブロック毎に調整可能なように構成されている。一例として、パラメータセットを用いて対象回路２０の電源電圧や閾値を回路ブロックごとに変更し、評価関数を用いて消費電力を計測することで、低消費電力化を目的とした調整モードが実行される。対象回路２０の具体的な構成例については後述する。  
自律調整装置１０は、現在の動作モードが通常モードと調整モードのいずれであるかの情報を保持するモードレジスタ２と、パラメータセットを生成するパラメータジェネレータ３と、パラメータセットを記憶する不揮発性メモリ４と、パラメータジェネレータ３及び不揮発性メモリ４のいずれか一方の出力を選択するマルチプレクサ（ＭＵＸ）５と、ＭＵＸ５が選択したパラメータセットを保持するパラメータレジスタ部６と、パラメータセットの設定された対象回路２０の動作特性を計測する計測回路９と、自律調整装置１０内の各回路を制御するパラメータ制御部１とを備える。
【００１４】
パラメータレジスタ部６は、パラメータセットを構成する各パラメータＰ１,Ｐ２,…,Ｐｎを保持する複数のパラメータレジスタ６＿１〜６＿ｎを備える（ｎ；２以上の整数）。動作開始(リセット)直後は不揮発性メモリ４からパラメータセットがパラメータレジスタ部６に供給されるが、調整モードに移行すると、パラメータレジスタ部６はパラメータジェネレータ３が生成するパラメータセットを取り込む。
【００１５】
計測回路９は、対象回路２０の動作周波数及び消費電力等の動作性能が仕様を満たしているかを判定する合格判定回路７と、対象回路２０の動作性能が過去に計測された動作特性よりも優れているかを評価する性能評価回路８とを備える。具体的には、合格判定回路７は、パラメータを振った場合に対象回路２０が、製品として仕様を満たしているか否かを判断する。製品として仕様を満たしていていない場合には、評価値が高くてもそのパラメータセットは不適切であるとして棄却される。例えば、最適化の目的が低消費電力の実現であるときに、パラメータ（電源電圧値や閾値電圧等）を振って、可能な限り消費電力を改善しようとする場合、例えば、満たすべき仕様としては最低動作周波数が挙げられる。
【００１６】
また、性能評価回路８は、評価関数を作成するものである。例えば回路の動作周波数を計測するものであれば動作周波数が大きければ大きいほど評価値が高いと判定し、消費電力を計測するものであれば消費電力値が小さければ小さいほど評価値が高いと判定する。上述したように、満たすべき仕様として最低動作周波数が設定されている場合、最低動作周波数は合格条件を満たしながら、低消費電力化を図るような構成が考えられる。
【００１７】
パラメータジェネレータ３は、対象回路２０を調整するパラメータセットの候補を生成する。パラメータジェネレータ３のパラメータセット生成のアルゴリズムには、例えばランダム性を持つ遺伝的アルゴリズム等が利用できるが、他のアルゴリズムを利用してもかまわない。パラメータジェネレータ３には、試行中のパラメータを使用時の合格判定回路７及び性能評価回路８の出力が入力され、次のパラメータ候補の生成に用いられる。
【００１８】
具体的には、パラメータ制御部１は、調整モード時において、対象回路２０の動作性能が仕様を満たし、且つ対象回路２０の動作性能が過去に計測された動作特性よりも優れている場合に、不揮発性メモリ４を更新する。
【００１９】
不揮発性メモリ４は１組のパラメータセットを記憶する。リセット時には不揮発性メモリ４が記憶したパラメータセットがパラメータレジスタにロードされ、対象回路２０の調整に用いられる。また、調整モード時において、高性能であると判断されるパラメータセットが発見された場合、パラメータレジスタ部６に保持されているパラメータセットを用いて、パラメータ制御部１によって不揮発性メモリ４に記憶されるパラメータセットの内容が更新される。
【００２０】
パラメータ制御部１は、パラメータレジスタ部６の書き込み許可信号、パラメータレジスタ部６の入力選択信号、パラメータジェネレータ３の制御信号、不揮発性メモリ４の書き込み許可信号、モードレジスタ２の更新信号等を出力する。また、パラメータ制御部１は、制御装置３０からの調整モード要求信号及び通常モード要求信号が入力される。
【００２１】
（自律調整処理フロー）
次に、図３に示すフローチャートを参照して、本発明の実施形態に係る自律調整装置１０の自律調整処理フローについて説明する。
【００２２】
ステップＳ１０１において、自律調整装置１０が調整モード時に移行すると、モードレジスタ２は、現在の動作モードが調整モードであることを示す情報を保持する。調整モード開始直後には、パラメータジェネレータ３は、不揮発性メモリ４に保持されるパラメータセットを参照して新たなパラメータセットを生成する。また、パラメータ制御部１がＭＵＸ５をパラメータジェネレータ３側に切り替えることで、パラメータジェネレータ３が生成したパラメータセットがパラメータレジスタ部６を介して対象回路２０に設定される。対象回路２０の内部には、対象回路２０の各回路ブロックを網羅するテスト用のデータが予め設定されており、対象回路２０はテスト用のデータを用いて動作する。
【００２３】
ステップＳ１０２において、計測回路９は対象回路２０の動作性能を計測する。すなわち、合格判定回路７及び性能評価回路８は、対象回路２０がテスト用のデータを用いて動作した際の対象回路２０の動作周波数及び消費電力等の動作性能を計測する。
【００２４】
ステップＳ１０３において、合格判定回路７は、ステップＳ１０２で計測された対象回路２０の動作性能が仕様を満たしているか否か判定する。また、性能評価回路８は、ステップＳ１０２で計測された対象回路２０の動作性能が、過去に計測された動作性能よりも高いか否かを判定する。対象回路２０の動作性能が仕様を満たし、且つ過去に計測された動作性能よりも高い場合、ステップＳ１０４に移行する。ステップＳ１０２で計測された対象回路２０の動作性能が仕様を満たさない、又は過去に計測された動作性能よりも低いと判定された場合、ステップＳ１０１に処理が戻る。計測された動作性能が、仕様を見たしていない、又は過去の計測結果よりも劣っていると判定された場合、その旨がパラメータ制御部１に通知される。この場合、パラメータレジスタ部６に保持されているパラメータセットが不揮発性メモリ４に記憶されずに、パラメータジェネレータ３が新たに生成したパラメータセットがパラメータレジスタ部６に保持される。
【００２５】
ステップＳ１０４において、パラメータ制御部１は、パラメータレジスタ部６に保持されているパラメータセットを、不揮発性メモリ４に転送する。この結果、不揮発性メモリ４で記憶されるパラメータセットが更新される。不揮発性メモリ４で記憶されるパラメータセットが更新されると、ステップＳ１０１に処理が戻る。
【００２６】
なお、ステップＳ１０１〜Ｓ１０４の過程にて制御装置３０から通常モード要求信号が出力されると、図２に示すように通常モードに復帰し、パラメータ制御部１がＭＵＸ５を不揮発性メモリ４側に切り替え、不揮発性メモリ４に保持されたパラメータセットをパラメータレジスタ部６に保持する。このように、制御装置３０からの通常モード要求信号は割込みとして発生し、通常モード要求信号が出力された場合には、不揮発性メモリ４に保持されたパラメータセットがパラメータレジスタ部６に保持され、図３の調整モードから抜けることとなる。
【００２７】
以上詳細に述べたように、本発明の実施形態によれば、大規模化するＳｏＣのパラメータ調整を、「出荷前」のみでなく、「使用後待機時」にも可能とすることで、極限までの性能向上、動作環境への適応、及び経年変化に対応することによる製品寿命の延長等を実現することができる。更に、自律調整装置１０は、パラメータセットと評価関数の関係が適切であれば、動作周波数や消費電力に限らず、他の動作性能の向上に適用可能である。
【００２８】
（対象回路の具体例）
次に、図４を参照して、パラメータセットの具体的な更新動作例を説明する。ここでは対象回路２０内部の第１回路ブロック２０ａと第２回路ブロック２０ｂを自律調整する一例を説明する。第１回路ブロック２０ａと第２回路ブロック２０ｂは、同一のプロセスによって製造され、同一の構成を有しているものとする。また、第１〜第３パラメータＰ１〜Ｐ３として、クロック入力の遅延値をとり、第１回路ブロック２０ａと第２回路ブロック２０ｂのそれぞれの周期を評価するものとする。
【００２９】
図４において、第１パラメータＰ１は第１ＦＦ２０１，２１１のクロック入力に対する遅延値であり、第２パラメータＰ２は第２ＦＦ２０３，２１３のクロック入力に対する遅延値であり、第３パラメータＰ３は第３ＦＦ２０５，２１５のクロック入力に対する遅延値である。
【００３０】
第１ＦＦ２０１，２１１と第２ＦＦ２０３，２１３との間には組み合わせ回路２０２，２１２が存在し、第２ＦＦ２０３，２１３と第３ＦＦ２０３，２１３との間には組み合わせ回路２０４，２１４が存在する。しかし、各組み合わせ回路２０２，２１２，２０４，２１４の遅延時間は製造時のばらつきによって個体間に差がありうる。図４の例では、第１回路ブロック２０ａでは組み合わせ回路２０２，２０４の遅延時間はそれぞれ６０ｎｓ,４０ｎｓであるが、第２回路ブロック２０ｂでは組み合わせ回路２１２，２１４の遅延時間はそれぞれ５２ｎｓ,４８ｎｓである。
【００３１】
ここではパラメータを振って遅延値を更新する例を示す。例えば第１回路ブロック２０ａに対してパラメータジェネレータ３が新たなパラメータセットの候補として(Ｐ１,Ｐ２,Ｐ３)＝(５ｎｓ,０ｎｓ,０ｎｓ)を出してきたとする。この場合、第１ＦＦ２０１，２１１のクロック遅延が５ｎｓ発生することにより第１ＦＦ２０１と第２ＦＦ２０３との間の遅延時間は６５ｎｓに相当するものとなるため、その回路の周期は長くなってしまう。したがってこのパラメータセットは不適切であるとみなされて棄却される。
【００３２】
次にパラメータジェネレータ３が新たなパラメータセットの候補として(Ｐ１,Ｐ２,Ｐ３)＝(０ｎｓ, ５ｎｓ,０ｎｓ)を出してきたとする。その際には上記の周期は５５ｎｓとなるためこのパラメータセットはより適切であると判断される。
【００３３】
同様に第２回路ブロック２０ｂに対してパラメータセットを振ってみる。第２回路ブロック２０ｂにおける第１ＦＦ２１１と第２ＦＦ２１３との間の周期は５２ｎｓである。新たなパラメータセットの候補として(Ｐ１,Ｐ２,Ｐ３)＝(５ｎｓ,０ｎｓ,０ｎｓ)とすれば、周期は５７ｎｓになってしまい、パラメータセットは棄却される。次に、(Ｐ１,Ｐ２,Ｐ３)＝(０ｎｓ, ５ｎｓ,０ｎｓ)とすれば、第２ＦＦ２１３と第３ＦＦ２１５との間の周期が５３ｎｓとなるために棄却される。
【００３４】
このように、同じ製品であっても第１回路ブロック２０ａで採用可能なパラメータが必ずしも第２回路ブロック２０ｂで採用されるとは限らない。第２回路ブロック２０ｂでは例えば(Ｐ１,Ｐ２,Ｐ３)＝(０ｎｓ, １ｎｓ,０ｎｓ)とすれば、第２ＦＦ２１３と第３ＦＦ２１５との間の周期は５１ｎｓ となり、より良い状態であると判断されて、第２回路ブロック２０ｂでも採用可能であると判断される。
【００３５】
（その他の実施形態）
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【００３６】
上述した実施形態においては、不揮発性メモリ４は１組のパラメータセットを記憶すると説明したが、複数組のパラメータセットを記憶する構成であっても良い。
【００３７】
図５に示すように、自律調整装置１０の外部にセンサ４０を設け、動作環境条件に応じた最適なパラメータセットを複数用意する構成も考えられる。一例として、動作温度帯を３つに分割して、それぞれの動作温度帯における最適パラメータをロードする構成としても良い。
【００３８】
また、複数組のパラメータセットを保持する機能を備え、有限数のパラメータセットのヒストリ機能を備えることが考えられる。ただし、この場合でも最適なパラメータセットは１つである。
【００３９】
更に、直接に対象回路２０を調整する機能は持たないものの、そのパラメータセットに付随するメタデータを不揮発性メモリ４に格納しても良い。メタデータとしては、例えば、そのパラメータを生成した際の使用条件情報(温度等)であるとか、パラメータジェネレータ３で用いられたアルゴリズム情報(乱数のシード)等を付加しておき、それらの情報を次回のパラメータ生成に用いる構成が考えられる。
【００４０】
既に述べた実施形態においては、図１の各回路が１チップ上に集積化されているとして説明したが、一部の回路をチップ外に外付けする構成としても良い。例えば、性能評価回路８として電力計測回路を外部に設け、電力値をチップへフィードバックするような構成であっても良い。
【００４１】
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態に係る自律調整装置の構成例を示すブロック図である。
【図２】本発明の実施形態に係る自律調整装置の動作状態の遷移を示す状態遷移図である。
【図３】本発明の実施形態に係る自律調整装置の調整モード時における動作例を示すフローチャートである。
【図４】本発明の実施形態に係る自律調整装置の調整モード時の動作例を説明するための図である。
【図５】その他の実施形態に係る自律調整装置の構成例を示すブロック図である。
【符号の説明】
【００４３】
１…パラメータ制御部
４…不揮発性メモリ
７…合格判定回路
８…性能評価回路
９…計測回路
１０…自律調整装置
２０…対象回路
３０…制御装置
【図１】
2007310831.tif 000003
【図２】
2007310831.tif 000004
【図３】
2007310831.tif 000005
【図４】
2007310831.tif 000006
【図５】
2007310831.tif 000007