(57)【要約】【課題】安価に且つ効率的に動作マージンのセルフテストが実施可能な半導体集積回路装置を得ること。【解決手段】中央演算処理装置を含む半導体回路を備えた機能ブロックと、機能ブロック内の半導体回路のセルフテストを行うセルフテスト用プログラムを格納したメモリと、外部から入力された電源電圧を所定の電圧に変換して出力する第１の変圧回路と、第１の変圧回路からの出力を所定の比率で変換して前記機能ブロックに対してセルフテスト用の動作電圧として出力する第２の変圧回路とを備え、中央演算処理装置が、セルフテストを行うモードであるテストモード時にセルフテスト用プログラムに従って前記第１の変圧回路及び第２の変圧回路から出力する電圧を制御するとともに自律的に半導体回路のセルフテストを行う。【選択図】      図１
2004260090.tif 000002
【特許請求の範囲】
【請求項１】
内蔵する半導体回路の内部電圧変動に対する動作マージンのテストを自律的に行うセルフテスト機能を内蔵した半導体集積回路装置であって、
中央演算処理装置を含む半導体回路を備えた機能ブロックと、
前記機能ブロック内の半導体回路のセルフテストを行うセルフテスト用プログラムを格納したメモリと、
外部から入力された電源電圧を所定の電圧に変換して出力する第１の変圧回路と、
前記第１の変圧回路からの出力を所定の比率で変換して前記機能ブロックに対してセルフテスト用の動作電圧として出力する第２の変圧回路と、
を備え、
前記中央演算処理装置が、セルフテストを行うモードであるテストモード時に前記セルフテスト用プログラムに従って前記第１の変圧回路及び第２の変圧回路から出力する電圧を制御するとともに自律的に半導体回路のセルフテストを行うこと
を特徴とする半導体集積回路装置。
【請求項２】
前記動作電圧の出力手段を備えること
を特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
内蔵する半導体回路のクロック周波数変動に対する動作マージンのテストを自律的に行うセルフテスト機能を内蔵した半導体集積回路装置であって、
中央演算処理装置を含む半導体回路を備えた機能ブロックと、
前記機能ブロック内の半導体回路のセルフテストを行うセルフテスト用プログラムを格納したメモリと、
外部から入力されたクロックを所定の周波数に逓倍して前記機能ブロックに対してセルフテスト用の動作クロックとして出力する逓倍回路と、
を備え、
前記中央演算処理装置が、セルフテストを行うモードであるテストモード時に前記セルフテスト用プログラムに従って前記逓倍回路での逓倍数を制御するとともに自律的に半導体回路のセルフテストを行うこと
を特徴とする半導体集積回路装置。
【請求項４】
前記逓倍回路が、フェーズロックループ回路であることを特徴とする請求項３に記載の半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路における電源電圧変動や周波数クロック変動への対応能力のテストを自律的に行うセルフテスト機能を内蔵した半導体集積回路装置に関するものである。
【０００２】
【従来の技術】
従来、半導体集積回路装置においては、電源電圧変動やクロック周波数変動への対応能力を確認するための電圧マージンテストや周波数マージンテストなどの動作マージンテストは、専ら半導体集積回路装置の外部に接続され、電圧やクロック信号の周波数を制御可能とされたテスタを用いて行われている（例えば特許文献１参照）。
【０００３】
従来のテスタを用いた電圧マージンテストについて、中央演算処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、読みとり専用記憶装置（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やタイマ回路などの所定の内部電圧を動作電源とする機能ブロックと、電源変圧回路と、動作マージンテストのテストプログラムを格納したメモリと、Ｉ／Ｏポート（Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｐｏｒｔ）とを備えて構成される大規模集積回路装置（ＬＳＩ：Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の場合を例に説明する。
【０００４】
このようなＬＳＩでは、通常の駆動の場合は、外部電源電圧がＩ／Ｏポートの電源となり、また、外部電源電圧を変圧回路により降圧した所定の定電圧が機能ブロックの電源となる。また、外部から入力されたクロック信号がＩ／Ｏポートにおいて所定の周波数に変換されて機能ブロックに供給される。
【０００５】
そして、機能ブロックの電圧マージンテストや周波数マージンテストを行う場合には、製品仕様を包含するように電源電圧及びクロック信号の周波数を変化させた複数のテストポイントにおいてテストを行う必要がある。この場合、テスタからの外部電源電圧、周波数クロックを用いるが、機能ブロックに入力する電源電圧、周波数クロックを製品仕様に応じて複数の条件で制御する必要がある。
【０００６】
例えば製品規格値が内部電源電圧：３Ｖ  ±  １０％、最大周波数：２０ＭＨｚである場合、電圧マージンテストや周波数マージンテストは、内部電源電圧：３．３Ｖ以上、周波数：２０ＭＨｚ以上のテストポイント、内部電源電圧：２．７Ｖ以下、周波数：２０ＭＨｚ以上のテストポイントなど、製品規格値を包含するような条件でテストを行う必要がある。
【０００７】
【特許文献１】
特開昭６２−３８３７４号公報（第２頁−第４頁、第１図）
【０００８】
【発明が解決しようとする課題】
しかしながら、テスタからの電源電圧が一定の場合、電源変圧回路を介した場合には所定の定電圧しか機能ブロックに入力することができない。そこで、機能ブロックのテストを行う場合には、電源変圧回路をバイパスさせて、テスタから機能ブロックに直接電圧、クロック信号の入力を行う。すなわち、テスタから入力された電圧、及びクロック信号がテストを実施する際の電圧及びクロック信号となる。
【０００９】
このため、上述したように複数の条件でセルフテストを行うためには、テスタにおいてＬＳＩに入力する電源電圧、クロック信号の周波数の制御を行わなければならない。そして、テスト対象であるＬＳＩが高機能となり、製品仕様が複雑になるほど実施するテストポイント数も増加し、これに伴ってテスタにおける電圧またはクロック信号の周波数の制御が複雑となる。
【００１０】
したがって、テスト対象であるＬＳＩの仕様の種類に応じた複数のテスタを用意し、ＬＳＩ毎にテスタを交換しなくてはならず、作業が繁雑となり、テスト時間が長くなるという問題がある。
【００１１】
また、電源電圧またはクロック信号の周波数の複雑な制御を行うためには、これらを広範囲な条件において制御可能な高性能なテスタが必要となり、高価格のテスタが必要となるため試験コストが上昇してしまうという問題がある。
【００１２】
この発明は上記に鑑みてなされたものであり、安価に且つ効率的に動作マージンのセルフテストが実施可能な半導体集積回路装置を得ることを目的とする。
【００１３】
【課題を解決するための手段】
以上のような課題を解決する本発明に係る半導体集積回路装置は、内蔵する半導体回路の内部電圧変動に対する動作マージンのテストを自律的に行うセルフテスト機能を内蔵した半導体集積回路装置であって、中央演算処理装置を含む半導体回路を備えた機能ブロックと、機能ブロック内の半導体回路のセルフテストを行うセルフテスト用プログラムを格納したメモリと、外部から入力された電源電圧を所定の電圧に変換して出力する第１の変圧回路と、第１の変圧回路からの出力を所定の比率で変換して機能ブロックに対してセルフテスト用の動作電圧として出力する第２の変圧回路とを備え、中央演算処理装置が、セルフテストを行うモードであるテストモード時にセルフテスト用プログラムに従って第１の変圧回路及び第２の変圧回路から出力する電圧を制御するとともに自律的に半導体回路のセルフテストを行うことを特徴とする。
【００１４】
以上のように構成された本発明に係る半導体集積回路装置においては、入力電圧を所定の電圧に降圧可能な第１の変圧回路と、入力電圧を所定の比率で昇降圧可能な第２の変圧回路とを備え、テストモード時には、機能ブロックの一部として備えられた中央演算処理装置がセルフテスト用プログラムに従ってこれらの変圧回路を制御して電圧マージンテスト用の動作電圧を自動で生成する。
【００１５】
これにより、この半導体集積回路装置においては、電圧マージンテストを行うに際して、該半導体集積回路装置内において電圧マージンテスト用の動作電圧を幅広い範囲において容易に且つ精度良く制御することができる。
【００１６】
したがって、この半導体集積回路装置の電圧マージンテストを行う場合、テスタは、該半導体集積回路装置への入力電圧を電圧マージンテストの条件毎に詳細に制御する必要はなく、所定の範囲内の電圧を入力するように制御するのみで良い。
【００１７】
このため、テスタとして、複雑な電圧制御に対応可能な高性能なテスタ、すなわち高価なテスタを用いる必要がないため、安価で、単純な機能のテスタを用いて電圧マージンテストを実施することができる。
【００１８】
したがって、この半導体集積回路装置では、テスタに性能に因らずに該半導体集積回路装置内において電圧マージンテスト用の動作電圧を制御して、安価に、且つ簡便に電圧マージンテストを自律的に実施することができる。
【００１９】
また、効果的な電圧マージンテスト用の動作電圧パターンを、テスト用プログラムに従って中央演算処理装置が制御して自動的に生成することができるため、テスト対象による、または製品仕様によるテスタの交換が不要である。
【００２０】
したがって、この半導体集積回路装置では、テスタの性能に因らずに該半導体集積回路装置内において電圧マージンテスト用の動作電圧を制御して、効率的に短時間で電圧マージンテストを自律的に実施することができる。
【００２１】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る半導体集積回路装置の好適な実施の形態を詳細に説明する。
【００２２】
実施の形態１．
図１は、実施の形態１に係る半導体集積回路装置であり、電圧マージンテストを自律的に行う機能を備えたワンチップマイコン１００の構成を示すブロック図である。図１において、ワンチップマイコンは、外部から入力された電源電圧を基準電圧として所定の電圧に昇圧変換または降圧変換する第１の変圧回路１４と、第１の変圧回路において変換された電源電圧を基準電圧として所定の比率で昇圧変換または降圧変換して出力する第２の変圧回路８と、所定の内部電圧を動作電源とする機能ブロック７と、テストモードにおけるセルフテスト用プログラム（以下、単にテスト用プログラムと呼ぶことがある。）を格納したＲＯＭ１２と、図示しない外部入力端子から外部入力信号が入力され、所定の動作クロック信号に同期して該外部入力信号を機能ブロック７に出力するデータ入出力制御回路４とを同一半導体チップ（半導体基板）上に備えて構成されている。ここでは第１の変圧回路１４としてＤＡコンバータを用いる。
【００２３】
また、機能ブロック７は、通常モード、及び機能ブロックの電圧マージンテストを行うテストモードにおける動作制御を行うＣＰＵ１３と、通常モードにおけるメモリとして使用すると共に通常モードにおけるプログラム等を記憶するＲＯＭ５と、タイマ回路６とを備えて構成される。
【００２４】
上記第１の変圧回路１４、第２の変圧回路８、ＲＯＭ１２、ＣＰＵ１３、ＲＯＭ５は内部パス１１を介して互いに接続されている。また、データ入出力制御回路４は、第１の変圧回路１４及び第２の変圧回路８に接続され、タイマ回路６はＲＯＭ５に接続されている。また、ＲＯＭ５、タイマ回路６、ＣＰＵ１３及びＲＯＭ１２には、第２の変圧回路８から出力される電圧マージンテスト用の動作電圧９が入力され、第１の変圧回路１４、第２の変圧回路８及びデータ入出力制御回路４には、内部電源電圧１０が入力される。
【００２５】
上記の構成において、上記ＣＰＵ１３は、通常モード時においては、データ入出力制御回路４を介して外部より入力される制御信号に従って、ＲＯＭ５から所定のプログラムを読み込み、所定の演算処理等を実行する。
【００２６】
また、ＣＰＵ１３は、リセット信号が入力されることによりあらかじめＲＯＭ５に記憶された所定のプログラムに従ってテストモードに切り替わり、ＲＯＭ１２から所定のテスト用プログラムを読み込み、電圧マージンテストを実行する。そして、電圧マージンテストが終了すると、テスト用プログラムに書き込まれた通常モード切り替え信号に従って、テストモードを終了させ、通常モードに移行する。
【００２７】
次に、図１で示したワンチップマイコン１００におけるテストモード時における動作例を図２のフローチャートを用いて説明する。
【００２８】
図２において、上記ＣＰＵ１３は、最初にステップＳ１でテスタ１から所定の電圧、クロック周波数が入力されるとリセットされる。そして、ステップＳ２であらかじめＲＯＭ５に記憶された所定のプログラムに従って、機能ブロック７の電圧マージンテストを行うテストモードに切り替わり、ＲＯＭ１２から所定のテスト用プログラムを読み込む。
【００２９】
次に、ステップ３でテスタ１から、一定の電圧に制御された外部電源電圧３を入力する。そして、外部電源電圧３は、内部電源電圧１０として第１の変圧回路１４、第２の変圧回路８及びデータ入出力制御回路４に入力され、これらを駆動する。
【００３０】
また、一定の電圧に制御されてテスタ１から入力された外部電源電圧３は、後述するように第１の変圧回路１４及び第２の変圧回路８において所定の電圧に変換されて、電圧マージンテスト用の動作電圧９として機能ブロック７の各回路に入力され、これらを駆動させる電源とされる。
【００３１】
ここで、ステップ４においてＣＰＵ１３は、ＲＯＭ１２から読み込んだテスト用プログラムに従って所定の制御信号を第１の変圧回路１４であるＤＡコンバータに入力することにより該第１の変圧回路１４を制御し、内部電源電圧１０を基準電圧として所定の電圧に変換させる。そして、第１の変圧回路１４は、変換した所定の電圧を第２の変圧回路８に対してアナログ出力１５として出力する。
【００３２】
次に、ステップ５で第２の変圧回路８では、第１の変圧回路１４からのアナログ出力を基準電圧１６として、電圧マージンテスト用の動作電圧に適合するようにさらに所定の比率で変換することにより電圧マージンテスト用の動作電圧９を生成する。このとき、第２の変圧回路８における変換の比率は、ＲＯＭ１２から読み込んだテスト用プログラムに従ってＣＰＵ１３が制御する。
【００３３】
そして、第２の変圧回路８において生成された電圧マージンテスト用の動作電圧９は、ステップ６でテスト対象モジュールである機能ブロック７の各半導体回路に入力される。
【００３４】
次に、ステップＳ７でＣＰＵ１３は、ＲＯＭ１２に記憶されたテスト用プログラムの先頭番地へジャンプして実行し、ステップＳ８以降のテスト用プログラムの実行を行う。
【００３５】
ステップＳ８において、テスト対象モジュールごとに設けられたインデックスをカウントし、すべてのテスト対象モジュールにおいてテストが終了したかどうかを判断するために使用されるインデックスカウンタｉを１に設定する。
【００３６】
次に、ＣＰＵ１３は、ステップＳ９でインデックスカウンタｉのカウンタ値に対応したテスト対象モジュールｉ、まずテスト対象モジュール１の動作チェック、すなわち電圧マージンテストを自律的に行い、テスト対象モジュールの良品、不良品を自己判定する。そして、動作チェックにおいて異常がなければ（ＹＥＳ）、テスト対象モジュールを良品と判定し、ステップＳ１０において上記インデックスカウンタｉをインクリメントする。
【００３７】
また、ステップＳ９で異常が発見された場合（ＮＯ）、すなわち動作チェックに対してエラーが発生した場合、テスト対象モジュールを不良品と判定してステップＳ１１に進み、ステップＳ１１で該エラーに対する処理を行うエラー処理ルーチンを実行して所定の処理を行った後、ステップＳ１０に進む。なお、エラー処理ルーチンの内容は本発明とは直接関係がないのでここではその説明を省略する。
【００３８】
更に、ＣＰＵ１３は、ステップＳ１２においてインデックスカウンタｉのカウンタ値がすべてのテスト対象モジュールのテストが終了したことを示す所定値Ａであるか否かを調べる。ここで、インデックスカウンタｉのカウンタ値が所定値Ａになっていれば（ＹＥＳ）、ステップＳ１３でテストモードを終了して本フローは終了する。
【００３９】
また、ステップＳ１２でインデックスカウンタｉのカウンタ値が所定値Ａでなければ（ＮＯ）、すなわち所定値Ａ未満であれば、ステップＳ９に戻る。
【００４０】
以上のようにして、ワンチップマイコン１００の電圧マージンテストを自律的に実施することができる。
【００４１】
ここで、ステップ４〜ステップ１２は、ＣＰＵ１３の制御により、テスト対象であるモジュール、すなわち機能ブロックの各半導体回路の仕様により、該仕様を包含するようなテストポイントに適合するように動作電圧を変化させながら繰り返し実施される。このとき、テスタ１から入力された外部電源電圧を上記のようにして第１の変圧回路１４及び第２の変圧回路８において電圧マージンテストの各条件に適合するように変換することにより、電圧マージンテスト用の動作電圧を生成する。そして、この電圧の変換は、ＲＯＭ１２から読み込んだテスト用プログラムに従ってＣＰＵ１３が制御する。
【００４２】
すなわち、このワンチップマイコン１００においては、上記のようにワンチップマイコン１００内において自律的に動作マージンテストを実施するに際して、外部電源電圧から電圧マージンテスト用の動作電圧への電圧の変換の制御は、機能ブロック７の一部として備えられたＣＰＵ１３が行う。
【００４３】
したがって、テスタ１は、基本的に外部電源電圧３を電圧マージンテストの条件毎に詳細に制御する必要はなく、所定の範囲内の外部電圧を入力するべく制御するのみで良く、テスタの負荷が大幅に削減された構成とされている。
【００４４】
このように、入力電圧を所定の電圧に降圧可能な第１の変圧回路１４と、入力電圧を所定の比率で昇降圧可能な第２の変圧回路８とを組み合わせ、テスタ１からの外部電源電圧３を適宜制御することにより、テスタ１に因らずにワンチップマイコン４００内において電圧マージンテスト用の動作電圧を幅広い範囲において容易に且つ精度良く制御することが可能である。
【００４５】
テスト対象であるモジュール、すなわち機能ブロック７の各半導体回路が高機能となり、製品仕様が複雑になった場合には、テストポイント数が増加するため電圧マージンテスト用の動作電圧の制御が複雑となる。このため、従来のワンチップマイコンの電圧マージンテストを行う場合は、複雑な電圧制御に対応可能な高性能なテスタ、すなわち高価なテスタが必要となり、試験コストが上昇してしまう。
【００４６】
しかしながら、上述したようにこのワンチップマイコン１００の電圧マージンテストを行う場合には、テスタ１は所定の範囲の外部電源電圧３を入力するように制御するのみでよい。これにより、テスタとして、複雑な電圧制御に対応可能な高性能なテスタ、すなわち高価なテスタを用いる必要がないため、安価で、単純な機能のテスタを用いて電圧マージンテストを実施することが可能である。
【００４７】
したがって、このワンチップマイコン１００では、テスタ１に因らずにワンチップマイコン１００内において電圧マージンテスト用の動作電圧を制御して、安価に、且つ簡便に電圧マージンテストを自律的に実施することが可能であり、試験コストを効果的に低減させることが可能である。
【００４８】
また、従来のワンチップマイコンの電圧マージンテストを行う場合には、テスト対象である半導体回路の仕様の種類に応じて複数のテスタを用意し、テスト対象によりテスタを交換しなくてはならず、テスト作業が繁雑となり、テスト時間が長くなってしまう。
【００４９】
しかしながら、このワンチップマイコン１００の動作マージンテストを行う場合には、効果的な電圧マージンテスト用の動作電圧パターンを、ＲＯＭ１２から読み込んだテスト用プログラムに従ってＣＰＵ１３が制御して自動的に生成するため、テスト対象による、または製品仕様によるテスタの交換が不要である。したがって、このワンチップマイコン１００では、テスタ１に因らずにワンチップマイコン１００内において電圧マージンテスト用の動作電圧を制御して、効率的に短時間で電圧マージンテストを自律的に実施することが可能である。
【００５０】
また、通常モードにおいて演算処理等を行うために機能ブロック７に備えられたＣＰＵ１３を用いて電圧マージンテストを実施するので、電圧マージンテスト専用のＣＰＵを装備する必要が無く、ワンチップマイコン１００のサイズの増大を抑えつつ、テスタの機能をワンチップマイコン１００内部に取り込み、上述したような効果を得ることが可能である。
【００５１】
以下、ワンチップマイコン１００における電圧マージンテスト用の動作電圧生成の具体的な例を示す。例えば、テスタ１から電源として５Ｖの外部電源電圧を入力する。ここで、第１の変圧回路１４であるＤＡコンバータが８Ｂｉｔ構成、基準電位５Ｖとされ、また、第２の変圧回路８が基準電圧の２倍の一定電圧を出力するようにＣＰＵ１３により制御するものとする。この場合、ＣＰＵ１３がＲＯＭ１２に格納されたテスト用プログラムに従って第１の変圧回路１４であるＤＡコンバータへのデジタル入力値として３Ｃｈを入力すると、第１の変圧回路１４からの出力は１．２５Ｖとなる。そして、第２の変圧回路８には、基準電圧として第１の変圧回路１４からの出力である１．２５Ｖが入力されるため、該第２の変圧回路８からの出力は２．５Ｖとなり、これが電圧マージンテスト用の動作電圧として機能ブロック７に印加される。
【００５２】
また、テスト対象であるモジュールの製品規格が、例えば図３に示すように内部源電圧：３Ｖ  ±  １０％、最大周波数２０ＭＨｚであり、高電圧側テスト電圧として３．６Ｖのテストポイント２０、低電圧側テスト電圧として２．５Ｖのテストポイント２１で電圧マージンテストを実施する場合には、ＲＯＭ１２に格納されたテスト用プログラムを、ＣＰＵ１３が第１の変圧回路１４であるＤＡコンバータへのデジタル入力値として５Ｃｈ及び３Ｃｈを入力するようにプログラムすればよい。
【００５３】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。図４は、実施の形態２に係る半導体集積回路装置であり、周波数マージンテストを自律的に行う機能を備えたワンチップマイコン２００の概略構成を示すブロック図である。なお、周波数マージンテストに直接関係のない構成については理解の容易のため、省略してある。
【００５４】
図４において、ワンチップマイコン２００は、外部から入力された周波数クロックを所定の倍率で逓倍する逓倍回路１８と、所定の周波数クロックを動作周波数とする機能ブロック７と、テストモードにおけるテスト用プログラムを格納したＲＯＭ１２とを同一半導体チップ（半導体基板）上に備えて構成されている。ここで、逓倍回路１８としては、フェーズロックループ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ：ＰＬＬ）回路を用いる。
【００５５】
また、機能ブロック７は、通常モード、及び機能ブロック機能ブロックの周波数マージンテストを行うテストモードにおける動作制御を行うＣＰＵ１３と、通常モードにおけるメモリとして使用すると共に通常モードにおけるプログラム等を記憶するＲＯＭ５と、タイマ回路６とを備えて構成される。
【００５６】
また、上記逓倍回路１８、ＲＯＭ１２、ＣＰＵ１３、ＲＯＭ５は内部パス１１を介して互いに接続されている。
【００５７】
上記の構成において、上記ＣＰＵ１３は、通常モード時においては、図示しないデータ入出力制御回路を介して外部より入力される制御信号に従って、ＲＯＭ５から所定のプログラムを読み込み、所定の演算処理等を実行する。
【００５８】
また、ＣＰＵ１３は、リセット信号が入力されることによりあらかじめＲＯＭ５に記憶された所定のプログラムに従ってテストモードに切り替わり、ＲＯＭ１２から所定のテスト用プログラムを読み込み、周波数マージンテストを自律的に実行する。そして、周波数マージンテストが終了すると、テスト用プログラムに書き込まれた通常モード切り替え信号に従って、テストモードを終了させ、通常モードに移行する。
【００５９】
次に、図４で示したワンチップマイコン２００におけるテストモード時における動作例を図５のフローチャートを用いて説明する。
【００６０】
図５において、上記ＣＰＵ１３は、最初にステップＳ２１でテスタ１から所定の電圧、周波数クロック信号が入力されるとリセットされる。そして、ステップＳ２２であらかじめＲＯＭ５に記憶された所定のプログラムに従って、機能ブロック７の周波数マージンテストを行うテストモードに切り替わり、ＲＯＭ１２から所定のテスト用プログラムを読み込む。
【００６１】
次に、ステップ２３でテスタ１から、一定の周波数に制御された外部クロック信号２２をワンチップマイコン２００内に入力する。入力された外部クロック信号２２は内部クロック信号２３として逓倍回路１８に入力される。
【００６２】
ここで、ステップ２４においてＣＰＵ１３は、ＲＯＭ１２から読み込んだテスト用プログラムに従って所定の制御信号を逓倍回路１８であるＰＬＬ回路に入力することにより該逓倍回路１８での逓倍数を制御し、テスタ１から入力された外部クロック信号２２を所定の逓倍数で変換して、所定の周波数とされた周波数マージンテスト用の動作クロック信号１７を生成する。ここで、例えばテスト用プログラムをＣＰＵ１３が２逓倍、４逓倍、８逓倍、１６逓倍など、所望の逓倍数を選択できるようにプログラムしておくことにより製品仕様を満足するような周波数の動作クロック信号を生成することができる。
【００６３】
そして、ステップ２５で逓倍回路１８は、生成した周波数マージンテスト用の動作クロック信号１７をテスト対象モジュールである機能ブロック７の各半導体回路に入力する。
【００６４】
次に、ステップＳ２６でＣＰＵ１３は、ＲＯＭ１２に記憶されたテスト用プログラムの先頭番地へジャンプして実行し、ステップＳ２７以降のテスト用プログラムの実行を行う。
【００６５】
ステップＳ２７において、テスト対象モジュールごとに設けられたインデックスをカウントし、すべてのテスト対象モジュールにおいてテストが終了したかどうかを判断するために使用されるインデックスカウンタｉを１に設定する。
【００６６】
次に、ＣＰＵ１３は、ステップＳ２８でインデックスカウンタｉのカウンタ値に対応したテスト対象モジュールｉ、まずテスト対象モジュール１の動作チェック、すなわち周波数マージンテストを自律的に行い、テスト対象モジュールの良品、不良品を自己判定する。そして、動作チェックにおいて異常がなければ（ＹＥＳ）、テスト対象モジュールを良品と判定し、ステップＳ２９において上記インデックスカウンタｉをインクリメントする。
【００６７】
また、ステップＳ２８で異常が発見された場合（ＮＯ）、すなわち動作チェックに対してエラーが発生した場合、テスト対象モジュールを不良品と判定してステップＳ３０に進み、ステップＳ３０で該エラーに対する処理を行うエラー処理ルーチンを実行して所定の処理を行った後、ステップＳ２９に進む。なお、エラー処理ルーチンの内容は本発明とは直接関係がないのでここではその説明を省略する。
【００６８】
更に、ＣＰＵ１３は、ステップＳ３１においてインデックスカウンタｉのカウンタ値がすべてのテスト対象モジュールのテストが終了したことを示す所定値Ａであるか否かを調べる。ここで、インデックスカウンタｉのカウンタ値が所定値Ａになっていれば（ＹＥＳ）、ステップＳ３２でテストモードを終了して本フローは終了する。
【００６９】
また、ステップＳ３１でインデックスカウンタｉのカウンタ値が所定値Ａでなければ（ＮＯ）、すなわち所定値Ａ未満であれば、ステップＳ２８に戻る。
【００７０】
以上のようにして、ワンチップマイコン２００の周波数マージンテストを自律的に実施することができる。
【００７１】
ここで、ステップ２４〜ステップ３１は、ＣＰＵ１３の制御により、テスト対象であるモジュール、すなわち機能ブロックの各半導体回路の仕様により、該仕様を包含するようなテストポイントに適合するように動作クロック信号を変化させながら繰り返し実施される。このとき、テスタ１から入力された外部クロック信号を上記のようにして逓倍回路１８において周波数マージンテストの各条件に適合するように変換することにより、周波数マージンテスト用の動作クロック信号１７を生成する。そして、このクロック信号の変換は、ＲＯＭ１２から読み込んだテスト用プログラムに従ってＣＰＵ１３が制御する。
【００７２】
すなわち、このワンチップマイコン２００においては、上記のようにワンチップマイコン２００内において自律的に周波数マージンテストを実施するに際して、外部クロック信号から周波数マージンテスト用の動作クロック信号への周波数の変換の制御は、機能ブロック７の一部として備えられたＣＰＵ１３が行う。
【００７３】
したがって、テスタ１は、基本的に外部クロック信号２２の周波数を周波数マージンテストの条件毎に詳細に制御する必要はなく、所定の範囲内の外部クロック信号を入力するべく制御するのみで良く、テスタの負荷が大幅に削減された構成とされている。
【００７４】
このように、入力されたクロック信号を所定の周波数のクロック信号に逓亜倍可能な逓倍回路１８を使用し、テスタ１からの外部クロック信号２２を適宜制御することにより、周波数マージンテスト用の動作クロック信号１７を幅広い周波数範囲において容易にかつ精度良く制御することが可能である。
【００７５】
テスト対象であるモジュール、すなわち機能ブロック７の各半導体回路が高機能となり、製品仕様が複雑になった場合には、テストポイント数が増加するため周波数マージンテスト用の動作クロック信号の制御が複雑となる。このため、従来のワンチップマイコンの周波数マージンテストを行う場合は、複雑な周波数クロック制御に対応可能な高性能なテスタ、すなわち高価なテスタが必要となり、試験コストが上昇してしまう。
【００７６】
しかしながら、上述したようにこのワンチップマイコン２００の周波数マージンテストを行う場合には、テスタ１は所定の範囲の外部クロック信号２２を入力するように制御するのみでよい。これにより、テスタとして、クロック信号の周波数の複雑な制御に対応可能な高性能なテスタ、すなわち高価なテスタを用いる必要がないため、安価で、単純な機能のテスタを用いて周波数マージンテストを実施することが可能である。
【００７７】
したがって、このワンチップマイコン２００では、テスタ１に因らずにワンチップマイコン２００内において周波数マージンテスト用の動作クロック信号の周波数を制御して、安価に、且つ簡便に周波数マージンテストを自律的に実施することが可能であり、試験コストを効果的に低減させることが可能である。
【００７８】
また、従来のワンチップマイコンの周波数マージンテストを行う場合には、テスト対象である半導体回路の仕様の種類に応じて複数のテスタを用意し、テスト対象によりテスタを交換しなくてはならず、テスト作業が繁雑となり、テスト時間が長くなってしまう。
【００７９】
しかしながら、このワンチップマイコン２００の動作マージンテストを行う場合には、効果的な周波数マージンテスト用の動作クロック信号パターンを、ＲＯＭ１２から読み込んだテスト用プログラムに従ってＣＰＵ１３が制御して自動的に生成するため、テスト対象による、または製品仕様によるテスタの交換が不要である。
【００８０】
したがって、このワンチップマイコン２００では、テスタ１に因らずにワンチップマイコン２００内において周波数マージンテスト用の動作クロック信号の周波数を制御して、効率的に短時間で周波数マージンテストを自律的に実施することが可能である。
【００８１】
また、通常モードにおいて演算処理等を行うために機能ブロック７に備えられたＣＰＵ１３を用いて周波数マージンテストを実施するので、周波数マージンテスト専用のＣＰＵを装備する必要が無く、ワンチップマイコン２００のサイズの増大を抑えつつ、テスタの機能をワンチップマイコン２００内部に取り込み、上述したような効果を得ることが可能である。
【００８２】
以下、ワンチップマイコン２００における周波数マージンテスト用の動作クロック信号生成の具体的な例を示す。例えば、最大周波数２０ＭＨｚの仕様を満足するような周波数マージンテスト用の動作クロック信号として高速側テスト周波数として２２ＭＨｚ、低速側テスト周波数として２．７５ＭＨｚで周波数マージンテストを実施する場合を考える。
【００８３】
テスタ１から外部クロック信号として例えば１．３７５ＭＨｚの一定周波数のクロック信号を入力する。ここで、ＣＰＵ１３の制御により逓倍回路１８において逓倍数を２逓倍、４逓倍、８逓倍、１６逓倍の逓倍数で切り替えができるようにＲＯＭ１２に格納されたテスト用プログラムを設計したものとする。
【００８４】
この場合には、逓倍回路１８において逓倍数を１６逓倍、２逓倍を選択するようにＣＰＵ１３により制御することにより、逓倍回路１８からは２２ＭＨｚ、２．７５ＭＨｚのクロック信号が出力され、これが周波数マージンテスト用の動作クロック信号として機能ブロック７に入力される。
【００８５】
実施の形態３．
つぎに、この発明の実施の形態３について説明する。図６は、実施の形態３に係る半導体集積回路装置であり、電圧マージンテスト及び周波数マージンテストを自律的に行う機能を備えたワンチップマイコン３００の概略構成を示すブロック図である。
【００８６】
図６に示した本実施の形態に係るワンチップマイコン３００は、上述した実施の形態１に係るワンチップマイコン１００と、実施の形態２に係るワンチップマイコン２００とを組み合わされた構成を有するものである。すなわち、本実施の形態に係るワンチップマイコン３００は、実施の形態１と実施の形態２において説明した効果を兼ね備えている。
【００８７】
したがって、このワンチップマイコン３００では、テスタ１に因らずにワンチップマイコン３００内において電圧マージンテスト用の動作電圧及び周波数マージンテスト用の動作クロック信号の周波数を制御して、安価に、且つ簡便に電圧マージンテスト及び周波数マージンテストを自律的に実施することが可能である。また、このワンチップマイコン３００では、テスタ１に因らずにワンチップマイコン３００内において電圧マージンテスト用の動作電圧及び周波数マージンテスト用の動作クロック信号の周波数を制御して、効率的に短時間で電圧マージンテスト及び周波数マージンテストを自律的に実施することが可能である。
【００８８】
実施の形態４．
つぎに、この発明の実施の形態４について説明する。図７は、実施の形態４に係る半導体集積回路装置であり、電圧マージンテストを自律的に行う機能を備えたワンチップマイコン４００の概略構成を示すブロック図である。
【００８９】
図７に示した本実施の形態に係るワンチップマイコン４００は、上述した実施の形態１に係るワンチップマイコン１００に電圧マージンテスト用の動作電圧の出力端子１９を備えた構成とされている。
【００９０】
すなわち、ワンチップマイコン４００は、実施の形態１において説明した効果を備えている。そして、ワンチップマイコン４００は、電圧マージンテスト用の動作電圧の出力端子１９を備えることにより、電圧マージンテスト用の動作電圧９をワンチップマイコン４００の外部において確認することが可能とされている。これにより、電圧マージンテストが確実に行われているか否かを確認することが可能であり、信頼性の高い電圧マージンテスト機能が実現されている。
【００９１】
【発明の効果】
以上説明したように、この発明によれば、半導体集積回路装置内において電圧マージンテスト用の動作電圧を幅広い範囲において容易に且つ精度良く制御することができるため、内蔵する半導体回路の内部電圧変動に対する動作マージンのセルフテストを安価に且つ効率的に行うことが可能であり、試験コストを効果的に低減させることが可能である。
【図面の簡単な説明】
【図１】実施の形態１に係るワンチップマイコン１００の概略構成を示すブロック図である。
【図２】ワンチップマイコン１００におけるテストモード時における動作例を示すフローチャートである。
【図３】電圧マージンテストにおけるテストポイントを説明する図である。
【図４】実施の形態２に係るワンチップマイコン２００の概略構成を示すブロック図である。
【図５】ワンチップマイコン２００におけるテストモード時における動作例を示すフローチャートである。
【図６】実施の形態３に係るワンチップマイコン３００の概略構成を示すブロック図である。
【図７】実施の形態４に係るワンチップマイコン４００の概略構成を示すブロック図である。
【符号の説明】
１  テスタ、３  外部電源電圧、４  データ入出力制御回路、５  ＲＯＭ、６タイマ回路、７  機能ブロック、８  第２の変圧回路、９  電圧マージンテスト用の動作電圧、１０  内部電源電圧、１１  内部パス、１２  ＲＯＭ、１３  ＣＰＵ、１４  第１の変圧回路、１７  周波数マージンテスト用の動作クロック信号、１８  逓倍回路、１９  出力端子、２０，２１  テストポイント、２２  外部クロック信号、２３  内部クロック信号。
【図１】
2004260090.tif 000003
【図２】
2004260090.tif 000004
【図３】
2004260090.tif 000005
【図４】
2004260090.tif 000006
【図５】
2004260090.tif 000007
【図６】
2004260090.tif 000008
【図７】
2004260090.tif 000009