(57)【要約】【課題】安定動作可能な半導体集積回路を提供する。【解決手段】信号処理部１０は、与えられた設定データＤ１に応じて動作条件が変更可能である。不揮発性メモリ２０は、信号処理部１０に設定すべき設定データＤ１および所定のテストデータＤ２を格納する。判定部３０は、テストデータＤ２の期待値を示す期待値データＤ３を保持し、不揮発性メモリ２０から読み出されたテストデータＤ２を期待値データと比較し、一致、不一致を判定する。回路情報設定部４０は、（i）判定部３０により一致と判定されたとき、不揮発性メモリ２０から読み出した設定データＤ１にもとづいて、信号処理部１０の動作条件を更新し、（ii）判定部３０により不一致と判定されたとき、動作条件を初期条件のまま更新しない。【選択図】図１
2015207606.tif 000002
【特許請求の範囲】
【請求項１】
与えられた設定データに応じて動作条件が変更可能な信号処理部と、
前記信号処理部に設定すべき前記設定データおよび所定のテストデータを格納する不揮発性メモリと、
前記テストデータの期待値を示す期待値データを保持し、前記不揮発性メモリから読み出された前記テストデータを前記期待値データと比較し、一致、不一致を判定する判定部と、
（i）前記判定部により一致と判定されたとき、前記不揮発性メモリから読み出した設定データにもとづいて、前記信号処理部の前記動作条件を更新し、（ii）前記判定部により不一致と判定されたとき、前記動作条件を初期条件のまま更新しない回路情報設定部と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記回路情報設定部は、前記信号処理部により参照可能であり、前記設定データを保持するための第１レジスタを含み、
前記第１レジスタは、前記半導体集積回路の起動直後の値が前記半導体集積回路が安定動作可能な初期値となるようハードウェア的に構成されることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記判定部は、判定結果が不一致であるとき、一致となるまで所定の上限回数を限度として、前記テストデータの読み出しをリトライすることを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記回路情報設定部は、前記判定部により不一致と判定されたとき、前記不揮発性メモリから前記設定データを読み出し、前記第１レジスタに書き込まないことを特徴とする請求項２に記載の半導体集積回路。
【請求項５】
前記回路情報設定部は、前記判定部により不一致と判定されたとき、前記不揮発性メモリから前記設定データを読み出さないことを特徴とする請求項１から３のいずれかに記載の半導体集積回路。
【請求項６】
前記回路情報設定部は、その処理が完了すると、完了通知信号をアサートするよう構成されることを特徴とする請求項１から５のいずれかに記載の半導体集積回路。
【請求項７】
前記信号処理部は、
プログラムを格納するＲＯＭ（Read Only Memory）と、
前記プログラムを実行するプロセッサと、
を含み、
前記プロセッサは、前記完了通知信号がアサートされると前記ＲＯＭに格納されたブートプログラムを実行し、（i）判定結果が一致であるとき、前記ＲＯＭに格納された通常のプログラムを実行し、（ii）前記判定結果が不一致であるとき、前記ＲＯＭに格納されたエラー処理用のプログラムを実行することを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
前記判定部により一致と判定された場合と、不一致と判定された場合とで、前記完了通知信号をアサートするタイミングが実質的に同じであることを特徴とする請求項６または７に記載の半導体集積回路。
【請求項９】
前記信号処理部は、前記初期条件で動作する場合、エラー処理を実行することを特徴とする請求項１から５のいずれかに記載の半導体集積回路。
【請求項１０】
前記信号処理部は、前記初期条件で動作する場合と前記設定データに応じた動作条件で動作する場合において、同一の処理を実行することを特徴とする請求項１から５のいずれかに記載の半導体集積回路。
【請求項１１】
前記判定部は、その判定結果を示す判定データを格納する第２レジスタを含むことを特徴とする請求項１から４のいずれかに記載の半導体集積回路。
【請求項１２】
前記信号処理部は、前記設定データに応じて周波数が可変のオシレータを含むことを特徴とする請求項１から１１のいずれかに記載の半導体集積回路。
【請求項１３】
前記信号処理部は、前記設定データに応じて出力電圧の目標値が可変の電源回路を含むことを特徴とする請求項１から１１のいずれかに記載の半導体集積回路。
【請求項１４】
与えられた設定データに応じて動作条件が変更可能な信号処理部を含む半導体集積回路の制御方法であって、
不揮発性メモリに、前記信号処理部に設定すべき前記設定データおよび所定のテストデータを格納するステップと、
前記テストデータの期待値を示す期待値データを保持し、前記不揮発性メモリから読み出された前記テストデータを前記期待値データと比較し、一致、不一致を判定するステップと、
（i）一致と判定されたとき、前記不揮発性メモリから読み出した設定データにもとづいて、前記信号処理部の前記動作条件を更新し（ii）不一致と判定されたとき、前記動作条件を初期条件のまま更新しないステップと、
を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。
【背景技術】
【０００２】
いくつかの回路ブロックを含む半導体集積回路を設計する際に、回路ブロックの動作条件を変更したい場合がある。こうした場合に、半導体集積回路の出荷前に、フラッシュＲＯＭ（Read Only Memory）などの不揮発性メモリに回路ブロックの動作条件を指定する設定データを格納し、半導体集積回路の動作時に、回路ブロックが設定データを読み出す構成をとる場合がある。
【０００３】
たとえばオシレータと、オシレータが生成するクロックにもとづいて動作するプロセッサとを備える半導体集積回路を考える。製造バラツキによって、チップ毎にプロセッサが安定動作可能な周波数は異なる。そこでチップ毎に、オシレータの最適な周波数を指示する設定データを不揮発性メモリに書き込んでおくことで、すべてのチップを安定動作させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２４６８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者はこのような半導体集積回路について検討した結果、以下の課題を認識するに至った。
フラッシュＲＯＭに格納されるデータは、経年劣化、読み出し時の電源電圧のゆらぎ、外部からのノイズなどの影響によって、正常に読み出せない場合がある。こうした場合に、誤って読み出された設定データにもとづいて、回路ブロックの動作条件を指定すると、回路が正常に動作しないこととなる。
【０００６】
本発明はかかる課題に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、安定動作可能な半導体集積回路の提供にある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、半導体集積回路に関する。半導体集積回路は、与えられた設定データに応じて動作条件が変更可能な信号処理部と、信号処理部に設定すべき設定データおよび所定のテストデータを格納する不揮発性メモリと、テストデータの期待値を示す期待値データを保持し、不揮発性メモリから読み出されたテストデータを期待値データと比較し、一致、不一致を判定する判定部と、（i）判定部により一致と判定されたとき、不揮発性メモリから読み出した設定データにもとづいて、信号処理部の動作条件を更新し、（ii）判定部により不一致と判定されたとき、動作条件を初期条件のまま更新しない回路情報設定部と、を備える。
【０００８】
この態様によると、動作条件を指示する設定データを格納する不揮発性メモリに、設定データに加えて所定のテストデータを格納しておき、テストデータとその期待値を比較することにより、不揮発性メモリから読み出された設定データが正常であるか異常であるかを推定することができる。そして設定データが正常であると推定される場合には、設定データにもとづいて信号処理部の動作条件を更新し、設定データが異常であると推定される場合、信号処理部を安全に動作可能な初期条件で動作させることにより、安定動作を実現できる。
【０００９】
回路情報設定部は、信号処理部により参照可能であり、設定データを保持するための第１レジスタを含んでもよい。第１レジスタは、半導体集積回路の起動直後の値が半導体集積回路が安定動作可能な初期値となるようハードウェア的に構成されてもよい。
これにより、判定結果が不一致である場合に、第１レジスタ初期値の書き込み処理が不要となる。
【００１０】
回路情報設定部は、判定部により不一致と判定されたとき、不揮発性メモリから設定データを読み出し、第１レジスタに書き込まなくてもよい。
一致、不一致にかかわらず読み出し処理を行うことにより、一連の処理を完了するまでの時間を揃えることができる。
【００１１】
回路情報設定部は、判定部により不一致と判定されたとき、不揮発性メモリから設定データを読み出さなくてもよい。この場合、不一致である場合の処理を短時間で完了できる。
【００１２】
判定部は、判定結果が不一致であるとき、一致となるまで所定の上限回数を限度として、テストデータの読み出しをリトライしてもよい。
起動直後の電源電圧不足、あるいは電源電圧のゆらぎやノイズの影響で、不揮発性メモリの読み出しに失敗している場合には、リトライを行うことで、正しいデータを読み出すことが可能となる。
【００１３】
回路情報設定部は、その処理が完了すると、完了通知信号をアサートするよう構成されてもよい。
この場合、信号処理部やその他の回路は、完了通知信号を参照することで、次の処理を開始することができる。
【００１４】
信号処理部は、プログラムを格納するＲＯＭ（Read Only Memory）と、プログラムを実行するプロセッサと、を含んでもよい。プロセッサは、完了通知信号がアサートされるとＲＯＭに格納されたブートプログラムを実行し、（i）判定結果が一致であるとき、ＲＯＭに格納された通常のプログラムを実行し、（ii）判定結果が不一致であるとき、ＲＯＭに格納されたエラー処理用のプログラムを実行してもよい。
【００１５】
判定部により一致と判定された場合と、不一致と判定された場合とで、完了通知信号をアサートするタイミングが実質的に同じであってもよい。
これにより、一致、不一致いずれの場合であっても、プロセッサの待機時間を揃えることができ、回路全体の動作シーケンスの設計が容易となる。
【００１６】
信号処理部は、初期条件で動作する場合、エラー処理を実行してもよい。
【００１７】
信号処理部は、初期条件で動作する場合と設定データに応じた動作条件で動作する場合において、同一の処理を実行してもよい。
【００１８】
判定部は、その判定結果を示す判定データを格納する第２レジスタを含んでもよい。
【００１９】
信号処理部は、設定データに応じて周波数が可変のオシレータを含んでもよい。
【００２０】
信号処理部は、設定データに応じて出力電圧の目標値が可変の電源回路を含んでもよい。
【００２１】
なお、以上の構成要素を任意に組み合わせたもの、あるいは本発明の表現を、方法、装置などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２２】
本発明のある態様によれば、半導体集積回路を安定動作させることができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態に係る半導体集積回路のブロック図である。
【図２】図１の半導体集積回路のフローチャートである。
【図３】第１変形例に係る半導体集積回路のブロック図である。
【図４】第３変形例に係る半導体集積回路のブロック図である。
【発明を実施するための形態】
【００２４】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２５】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合のほか、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００２６】
図１は、実施の形態に係る半導体集積回路のブロック図である。半導体集積回路２は、信号処理部１０、不揮発性メモリ２０、判定部３０、回路情報設定部４０、を備え、ひとつの半導体基板に一体集積化される。
【００２７】
信号処理部１０は、与えられた設定データＤ１に応じて動作条件が変更可能に構成される。たとえば信号処理部１０は、オシレータ１２、ＣＰＵ１４、ＲＯＭ１６を備える。ＣＰＵ１４、ＲＯＭ１６および判定部３０は、第２バス５２を介して接続される。本実施の形態において信号処理部１０の動作条件は、オシレータ１２の発振周波数であり、オシレータ１２の発振周波数は、設定データＤ１に応じて変更可能である。ＣＰＵ１４は、ＲＯＭ１６に格納されたプログラムを読み出し、実行する。ＣＰＵ１４をはじめとする半導体集積回路２の各回路ブロックは、オシレータ１２が生成するクロックＣＫと同期して動作する。
【００２８】
不揮発性メモリ２０は、信号処理部１０に設定すべき設定データＤ１と、所定のテストデータＤ２を不揮発的に格納する。不揮発性メモリ２０はたとえばフラッシュＲＯＭである。設定データＤ１は、オシレータ１２の発振周波数の設定値ｆＨであり、不揮発性メモリ２０の第１アドレス２２に格納される。テストデータＤ２は第２アドレス２４に格納される。不揮発性メモリ２０は、第１バス５０を介して判定部３０、回路情報設定部４０と接続され、判定部３０および回路情報設定部４０からアクセス可能となっている。
【００２９】
判定部３０は、テストデータＤ２の期待値を示す期待値データＤ３を保持し、不揮発性メモリ２０から読み出されたテストデータＤ２を期待値データＤ３と比較し、一致、不一致を判定する。判定部３０は、期待値データ保持部３２、比較部３４、第２レジスタ３６を含む。期待値データ保持部３２は、期待値データＤ３を保持する。期待値データ保持部３２は、期待値の各ビット（ハイレベル、ローレベル）を確実に保持可能に構成すればよい。たとえば期待値データ保持部３２は、期待値データのあるビットが１であるとき、そのビットのデータ線をハイレベルにプルアップする抵抗あるいは配線を含み、そのビットが０であるとき、そのビットのデータ線をローレベルにプルダウンする抵抗あるいは配線を含んでもよい。
【００３０】
比較部３４は、読み出し制御信号Ｓ１を発生し、不揮発性メモリ２０の第２アドレス２４にアクセスしてテストデータＤ２を読み出し、その期待値である期待値データＤ３と比較し、一致（１）、不一致（０）を示す１ビットの判定データＤ４を、第２レジスタ３６に格納する。加えて比較部３４は、判定処理の完了（１）、未完了（０）示す１ビットの完了フラグＤ５を、第２レジスタ３６に格納する。完了フラグＤ５の初期値は０であり、比較部３４は、判定処理が完了すると完了フラグＤ５に１を設定する。
【００３１】
たとえば、判定データＤ４および完了フラグＤ５の２ビットは、判定結果信号Ｓ３として、判定部３０から回路情報設定部４０へ出力される。期待値データＤ３を上位ビット、完了フラグＤ５を下位ビットとした場合、判定結果信号Ｓ３が以下の値を取り得る。
０Ｈ（００）  判定が未完了
２Ｈ（１０）  判定が未完了
１Ｈ（０１）  判定完了、結果が不一致
３Ｈ（１１）  判定完了、結果が一致
【００３２】
回路情報設定部４０には、判定結果信号Ｓ３が入力される。回路情報設定部４０は、（i）判定部３０により一致と判定されたとき、不揮発性メモリ２０から読み出した設定データＤ１にもとづいて、信号処理部１０の動作条件を更新し、（ii）判定部３０により不一致と判定されたとき、信号処理部１０の動作条件を更新せず、信号処理部１０を、予め定められた初期条件で動作させる。
【００３３】
回路情報設定部４０は、第１レジスタ４２および読出部４４を備える。第１レジスタ４２は、設定データＤ１の書き込み前において、信号処理部１０の動作条件の初期値、すなわちオシレータ１２の発振周波数の初期値（初期設定周波数ｆＬともいう）が格納される。この初期設定周波数ｆＬは、半導体集積回路２のプロセスばらつき等によらずに、半導体集積回路２が安全かつ確実に動作可能な値に定められ、ｆＬ＜ｆＨとなる。好ましくは第１レジスタ４２は、半導体集積回路２の起動直後の値が、初期値ｆＬとなるようハードウェア的に構成される。
【００３４】
読出部４４は、判定部３０の第２レジスタ３６に格納された判定データＤ４を参照し、判定部３０による判定結果を取得する。読出部４４は、判定データＤ４が一致を示すとき、読み出し制御信号Ｓ２を発生し、不揮発性メモリ２０から設定データＤ１を読み出して第１レジスタ４２に書き込み、信号処理部１０の動作条件を更新する。オシレータ１２は、設定データＤ１が指示する周波数ｆＨで発振する。このとき信号処理部１０は高速動作する。
【００３５】
読出部４４は、判定データＤ４が不一致を示すとき、読み出し制御信号Ｓ２を発生せず、したがって不揮発性メモリ２０から設定データＤ１を読み出さない。したがって第１レジスタ４２の初期値が維持され、信号処理部１０の動作条件は更新されない。オシレータ１２は初期設定周波数ｆＬで発振する。このとき信号処理部１０は低速動作することとなる。
【００３６】
読出部４４は、回路情報設定部４０の処理が完了し、信号処理部１０の動作条件が決定すると、完了通知信号Ｓ４をアサートする。処理の完了は、判定部３０による判定結果が一致であり、第１レジスタ４２に設定データＤ１が書き込まれた後に、あるいは判定結果が不一致である場合には、不一致であることが確認された後にアサートされる。
【００３７】
ＣＰＵ１４は、完了通知信号Ｓ４がアサートされる前（ネゲート）においては、待機状態となっており、完了通知信号Ｓ４がアサートされると、ＲＯＭ１６に格納されたブートプログラムの実行を開始する。
【００３８】
以上が半導体集積回路２の構成である。続いてその動作を説明する。図２は、図１の半導体集積回路２のフローチャートである。
【００３９】
半導体集積回路２の起動直後、回路情報設定部４０の第１レジスタ４２には、信号処理部１０の初期条件、すなわちオシレータ１２の初期設定周波数ｆＬが格納されている。したがって信号処理部１０は初期条件で確実に動作可能な状態となる（Ｓ１００）。
【００４０】
続いて判定部３０は、不揮発性メモリ２０からテストデータＤ２を読み出し（Ｓ１０２）、期待値データＤ３との一致、不一致を判定する（Ｓ１０４）。そして一致のとき（Ｓ１０４のＹ）、回路情報設定部４０は不揮発性メモリ２０から設定データＤ１を読み出し、第１レジスタ４２に格納する（Ｓ１０６）。これにより信号処理部１０の動作条件が設定データＤ１にもとづいて更新され（Ｓ１０８）、回路情報設定部４０は完了通知信号Ｓ４をアサートする（Ｓ１１０）。この場合、信号処理部１０は高い周波数ｆＨで動作可能となる。
【００４１】
期待値データＤ３とテストデータＤ２が不一致の場合（Ｓ１０４のＮ）、回路情報設定部４０は第１レジスタ４２を更新することなく、初期値を維持する。そして完了通知信号Ｓ４をアサートし、処理か完了する（Ｓ１１２）。
【００４２】
続いて、ＣＰＵ１４は、ＲＯＭ１６から続くブートプログラムを読み出す（Ｓ１１４）。そして、判定部３０による判定結果が一致、すなわちＤ３＝１であれば（Ｓ１１６のＹ）、ＣＰＵ１４は通常のプログラムをＲＯＭ１６から読み出し、実行する（Ｓ１１８）。
【００４３】
判定部３０による判定結果が不一致、すなわちＤ３＝０であれば（Ｓ１１６のＮ）、ＣＰＵ１４はエラー処理のプログラムをＲＯＭ１６から読み出し、実行する（Ｓ１２０）。
【００４４】
以上が半導体集積回路２の動作である。続いてその利点を説明する。
【００４５】
この半導体集積回路２では、動作条件を指示する設定データＤ１を格納する不揮発性メモリ２０に、設定データＤ１に加えて所定のテストデータＤ２を格納しておき、テストデータＤ２とその期待値データＤ３を比較することとした。そして、テストデータＤ２と期待値データＤ３が一致である場合には、設定データＤ１も正しい値で読み出される可能性が高いため、設定データＤ１により信号処理部１０の動作条件を更新することで、半導体集積回路２に正規の処理を実行させることができる。反対にテストデータＤ２と期待値データＤ３が不一致である場合には、設定データＤ１も過った値で読み出される可能性が高いため、信号処理部１０の動作条件を初期条件のままとすることで、半導体集積回路２を安全かつ確実に動作させることができ、安定性を高めることができる。
【００４６】
また回路情報設定部４０の第１レジスタ４２は、半導体集積回路２の起動直後、テストデータＤ２の書き込み前の段階において、その値が半導体集積回路２が安定動作可能な初期値となるようハードウェア的に構成される。これにより、判定結果が不一致である場合の初期値の書き込み処理が不要となるとともに、初期値として確実な値を設定できる。
【００４７】
また実施の形態では、回路情報設定部４０は、判定部３０により不一致と判定されたとき、不揮発性メモリ２０から設定データＤ１を読み出さないこととした。これにより、不一致である場合の処理を短時間で完了できる。
【００４８】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００４９】
（第１変形例）
実施の形態では、判定部３０による読み出し、判定は１回としたが本発明はそれには限定されない。図３は、第１変形例に係る半導体集積回路２ａのブロック図である。判定部３０ａは、判定結果が不一致であるとき、一致となるまで所定の上限回数を限度として、テストデータの読み出しをリトライする。
判定部３０ａは、リトライ回数をカウントするカウンタ３８をさらに備える。比較部３４は、一致と判定されるか、もしくは不一致のままリトライ回数が上限回数に達すると、完了フラグＤ５をアサートする。たとえば上限回数は数回〜１００回程度としてもよい。
【００５０】
起動直後の電源電圧不足の影響で、不揮発性メモリ２０の読み出しに失敗している場合には、リトライを行う間に、電源電圧が正常な値まで上昇するのを待つことにより正しいデータを読み出すことが可能となる。また電源電圧のゆらぎやノイズの影響で不揮発性メモリ２０の読み出しに失敗している場合にも、リトライを行うことにより、電源電圧が正常な値となり、あるいはノイズがなくなるのを待つことで、正しいデータを読み出すことが可能となる。
【００５１】
（第２変形例）
実施の形態では、判定部３０の判定結果が不一致である場合に、回路情報設定部４０が設定データＤ１を読み出さないこととしたが本発明はそれには限定されない。第２変形例において、回路情報設定部４０の読出部４４は、判定部３０の判定結果が不一致である場合に、設定データＤ１を読み出した上で、第１レジスタ４２に書き込まないこととする。
【００５２】
これにより、一致、不一致にかかわらず読み出し処理を行うことにより、回路情報設定部４０の一連の処理を完了するまでの時間を揃えることができる。これは、判定部３０により一致と判定された場合と不一致と判定された場合とで、完了通知信号Ｓ４がアサートされるタイミングを実質的に同一とすることと理解される。
これにより、一致、不一致いずれの場合であってもＣＰＵ１４の待機時間を揃えることができ、回路全体の動作シーケンスの設計が容易となる。
【００５３】
（第３変形例）
実施の形態では、信号処理部１０がオシレータ１２を含み、オシレータ１２の周波数が変更可能である場合を説明したが本発明はそれには限定されない。図４は、第３変形例に係る半導体集積回路２ｂのブロック図である。信号処理部１０ｂは、オシレータ１２に代えて、あるいはそれに加えて、電源回路１８を備え、電源回路１８が生成する内部電源電圧ＶＤＤが設定データＤ１に応じて変更可能となっている。
【００５４】
内部電源電圧ＶＤＤの初期値は、半導体集積回路２の製造ばらつきによらずに、確実に動作可能な高い電圧レベルが設定される。設定データＤ１は、半導体集積回路２に固有の値であり、製造ばらつきを考慮した上で、なるべく低い値に設定される。
【００５５】
この変形例によれば、設定データＤ１の読み出しに失敗した場合には、初期値にもとづいて安定動作させることができ、設定データＤ１の読み出しに成功した場合には、なるべく低い電圧で動作させることができるため、消費電力を低減できる。
【００５６】
（第４変形例）
実施の形態では、判定部３０の判定結果に応じて、信号処理部１０が分岐処理を行うこととしたが、本発明はそれには限定されない。すなわち信号処理部１０は、一致する場合と一致しない場合において、実質的に同一の処理を実行してもよい。たとえば第３変形例のように電源電圧を変更する場合に、半導体集積回路２を初期値の電源電圧で動作させた場合の消費電力が許容される場合には、そのまま通常のプログラムを実行しても構わない。
【００５７】
（第５変形例）
実施の形態では不揮発性メモリ２０が半導体集積回路２に内蔵される場合を説明したが、不揮発性メモリ２０は半導体集積回路２に外付けされてもよい。また不揮発性メモリ２０の種類はフラッシュには限定されず、その他のメモリ、たとえばマスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）などであってもよい。
【００５８】
（第６変形例）
期待値データ保持部３２の構成も特に限定されず、ヒューズ型ＰＲＯＭやマスクＲＯＭであってもよい。期待値データ保持部３２は、不揮発性メモリ２０よりも相対的に高い確度で正しいデータを読み出し可能に構成されればよい。
【００５９】
実施の形態にもとづき、具体的な語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【００６０】
２…半導体集積回路、１０…信号処理部、１２…オシレータ、１４…ＣＰＵ、１６…ＲＯＭ、１８…電源回路、２０…不揮発性メモリ、２２…第１アドレス、２４…第２アドレス、３０…判定部、３２…期待値データ保持部、３４…比較部、３６…第２レジスタ、３８…カウンタ、４０…回路情報設定部、４２…第１レジスタ、４４…読出部、５０…第１バス、５２…第２バス、Ｄ１…設定データ、Ｄ２…テストデータ、Ｄ３…期待値データ、Ｄ４…判定データ、Ｄ５…完了フラグ、Ｓ１，Ｓ２…読み出し制御信号、Ｓ３…判定結果信号、Ｓ４…完了通知信号。
【図１】
2015207606.tif 000003
【図２】
2015207606.tif 000004
【図３】
2015207606.tif 000005
【図４】
2015207606.tif 000006