(57)【特許請求の範囲】
【請求項１】
それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、
上記ＣＰＵの指令に従って、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、
上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、
上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させるリセット回路とを備えていることを特徴とする１チップマイクロコンピュータ。
【請求項２】
請求項１に記載の１チップマイクロコンピュータを搭載したことを特徴とするＩＣカード。
【請求項３】
それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、
上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理と、
上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理と、
上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させる処理とを含んでいることを特徴とする１チップマイクロコンピュータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テスト回路を備えた１チップマイクロコンピュータ、特に組み込み自己検査機能を有し、内蔵ＣＰＵが組み込み自己検査の起動と結果診断を行う組み込み自己検査回路を備えた１チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたＩＣカードに関するものである。
【０００２】
【従来の技術】
１チップマイクロコンピュータの論理回路群の検査方式の一つに機能を検査する方式がある。これは、１チップマイクロコンピュータが設計者の想定している仕様を満たしているかどうかを検査する方式で、その仕様に基づいて動作をトレースする検査方式である。
【０００３】
１チップマイクロコンピュータの規模が大きくなり、複雑化していくと、上記の機能を検査する方式では高い故障検出率で検出することができないため、充分な品質を保証することが難しくなる。そこで、回路中の記憶素子を専用のセルに置き換えて、それらをシフトレジスタ状に接続し、回路中の記憶素子に対して値の設定、値の読み出しを行えるようにしたスキャンテスト方式が一般的に用いられている。
【０００４】
上記スキャンテスト方式では、記憶素子から置き換えられる専用のセルは一般にスキャンセルと呼ばれ、複数の種類が存在する。そして、スキャンセルには、例えば記憶素子のデータ入力端子にセレクタ回路が付加されたものがある。
【０００５】
ここで、論理回路群およびスキャンテスト方式について、それぞれの概念図（図７，図８）を用いて説明する。
【０００６】
図７に示すように、論理回路群１０３は、記憶素子１０１と組み合わせ回路１０２とで構成されている。スキャンテスト方式では、この論理回路群１０３を、図８に示すように、記憶素子２０２だけを有する記憶素子部２０３と、組み合わせ回路２０４だけを有する組み合わせ回路部２０５に切り分けて、論理回路群２０１とする。そして、論理回路群２０１に対して、シフトモードおよびキャプチャーモードの２つのモードを繰り返してテストを行う。
【０００７】
シフトモードとキャプチャーモードとの切り替えは、上記スキャンセルに新たに付加されるセレクタ回路の入力データを選択する機能を備えた、一般的にテストイネーブル端子と呼ばれる端子によって行われる。すなわち、テストイネーブル端子は、スキャンセルをシフトレジスタ状に接続するか否かを制御するために用いられる。
【０００８】
上記シフトモードは、テストイネーブル端子をシフトレジスタ状に接続する設定にして、各々のスキャンセルの値を設定するモードである。一方、上記キャプチャーモードは、テストイネーブル端子をシフトレジスタ状に接続しない設定にして、組み合わせ回路を動作させてその値をスキャンセルに取り込むモードである。
【０００９】
つづいて、図８を用いてスキャンテストの手順を説明する。
【００１０】
まず、テストイネーブル端子によって論理回路群２０１のモードをシフトモードに設定して、組み合わせ回路部２０５のテストに必要な値を全てのスキャンセルに設定する。その後、論理回路群２０１のモードをキャプチャーモードに切り替え、クロック周期を持つクロック信号Ｓ２０６を１周期分入力して、組み合わせ回路部２０５の動作結果をスキャンセルへ取り込む。つぎに再度、論理回路群２０１のモードをシフトモードに切り替え、クロック信号Ｓ２０６を入力してスキャンセルの値を順次読み出し、期待値と比較する。この時、同時に次のテストのために組み合わせ回路部２０５のテストに必要な新しい値を全てのスキャンセルに設定する。以降、以上の動作を繰り返してテストを行う。
【００１１】
なお、図８中のテストイネーブル信号２０８は、テストイネーブル端子と接続された信号線であり、“Ｈ”の時にはシフトモードに、“Ｌ”の時にはキャプチャーモードに切り換わる。セレクタ２０７は、テストイネーブル信号２０８が“Ｈ”の時に記憶素子２０２からの信号を選択し、“Ｌ”の時に組み合わせ回路２０５からの信号を選択する。
【００１２】
つぎに、図９を用いて、従来の組み込み自己検査機能を有する１チップマイクロコンピュータについて説明する。
【００１３】
従来の組み込み自己検査機能を有する１チップマイクロコンピュータ３００は、メモリ３０１、ＣＰＵ３０２、論理回路群３０３、疑似乱数発生器３０４、論理回路検査用圧縮器３０５、パターンカウンタ３１２、パターン発生器３０６、メモリ検査用圧縮器３０７、ＪＴＡＧ回路３０８、専用のテスト端子群３０９、仕様の端子群３１０を備えて構成されている。そして、上記のメモリ３０１、ＣＰＵ３０２、論理回路群３０３は、バス３１１を介して互いに接続されている。
【００１４】
メモリ３０１にはＣＰＵ３０２の動作を司るプログラムが記憶されている。論理回路群３０３は１チップマイクロコンピュータ３００の仕様動作を実現する回路で構成されている。疑似乱数発生器３０４は、ＣＰＵ３０２と論理回路群３０３とを検査するためのテストパターンとして乱数を発生するものであり、例えば帰還のかかったシフトレジスタで構成されるリニアフィードバックシフトレジスタが用いられる。論理回路検査用圧縮器３０５は、ＣＰＵ３０２と論理回路群３０３とにより検査中随時出力される値を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタが用いられる。
【００１５】
パターンカウンタ３１２は、組み込み自己検査の実行過程を監視するものであり、カウンタ回路で構成されている。そして、パターンカウンタ３１２は、疑似乱数発生器３０４、論理回路検査用圧縮器３０５、パターン発生器３０６、メモリ検査用圧縮器３０７の動作の終了を司る。
【００１６】
パターン発生器３０６は、メモリ３０１を検査するためのテストパターンを発生するものである。メモリ検査用圧縮器３０７は、メモリ３０１より検査中随時出力される値を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタが用いられる。ＪＴＡＧ回路３０８は、ＩＥＥＥ１１４９．１の規格に相応する回路で構成されている。すなわち、ＪＴＡＧ回路３０８は、検査のために命令および付属のデータが回路構成要素に直列に読み込まれ、また命令の実行後に結果のデータが直列に読み出される回路を備えている。なお、ＩＥＥＥ１１４９．１は、ＪＴＡＧ（ｊｏｉｎｔ  ｔｅｓｔ  ａｃｔｉｏｎ  ｇｒｏｕｐ  ）により標準のテスト端子仕様およびテストアーキテクチャーが定められた標準規格である。
【００１７】
専用のテスト端子群３０９はＩＥＥＥ１１４９．１の規格に準じて、ＴＤＩ端子、ＴＤＯ端子、ＴＣＫ端子、ＴＭＳ端子を備えている。ＴＣＫ端子にはクロック周期を持つ信号が入力される。ＴＭＳ端子にはテスト動作を制御する信号が入力され、ＴＣＫ端子から入力される信号に同期してサンプリングされる。ＴＤＩ端子には命令や付属のデータが直列に入力され、ＴＣＫ端子から入力される信号に同期してサンプリングされる。ＴＤＯ端子からは結果のデータが直列に出力され、出力値の変更はＴＣＫ端子に入力される信号に同期して行われる。
【００１８】
仕様の端子群３１０は、１チップマイクロコンピュータ３００の仕様により入力端子、出力端子、入出力端子を備えている。
【００１９】
従来の組み込み自己検査機能を有した１チップマイクロコンピュータ３００は、専用のテスト端子群３０９により制御される。ＪＴＡＧ回路３０８は、専用のテスト端子群３０９からの命令と付属のデータとに従って、疑似乱数発生器３０４、パターン発生器３０６、論理回路検査用圧縮器３０５、メモリ検査用圧縮器３０７の初期状態の設定を行い、組み込み自己検査を起動する。
【００２０】
組み込み自己検査が起動されると、疑似乱数発生器３０４で発生する信号をテストパターンとして、スキャンテストが可能になったＣＰＵ３０２および論理回路群３０３に入力される。そして、ＣＰＵ３０２および論理回路群３０３から出力されるデータを論理回路検査用圧縮器３０５によって圧縮し、その値をＣＰＵ３０２および論理回路群３０３の組み込み自己検査の検査結果とする。
【００２１】
これと同時に、パターン発生器３０６がメモリ３０１にテストパターンを出力し、メモリ３０１から出力されるデータをメモリ検査用圧縮器３０７によって圧縮し、その値をメモリ３０１の組み込み自己検査の検査結果とする。
【００２２】
組み込み自己検査の終了後、パターンカウンタ３１２によって、論理回路検査用圧縮器３０５およびメモリ検査用圧縮器３０７の動作が停止され、専用のテスト端子群３０９からの命令と付属のデータとに従って、ＣＰＵ３０２および論理回路群３０３の組み込み自己検査の検査結果とメモリ３０１の組み込み自己検査の検査結果とを読み出し、１チップマイクロコンピュータ３００の外部で期待値と比較して判定を行う。
【００２３】
【発明が解決しようとする課題】
しかしながら、上記従来の構造では、組み込み自己検査機能を有した１チップマイクロコンピュータは、専用のテスト端子を必要とするため、１チップマイクロコンピュータの端子数が増加するという問題が生ずる。
【００２４】
例えば、ＩＣカードは、ＩＳＯ（ｉｎｔｅｒｎａｔｉｏｎａｌ  ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）７８１６に、端子数、配置座標、端子の機能仕様が規定されているが、端子が８端子しか存在しない。そのため、組み込み自己検査を行う必要性があるにもかかわらず、専用のテスト端子を増設するという方法では実用化できないという問題があった。
【００２５】
本発明は、上記の問題点を解決するためになされたもので、その目的は、限られた端子数に納められない専用のテスト端子を用いず、組み込み自己検査を実行することができる１チップマイクロコンピュータおよびその制御方法、ならびにＩＣカードを提供することにある。
【００２６】
【課題を解決するための手段】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路とを備えていることを特徴としている。
【００２７】
また、本発明の１チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（以下、「第１の処理」と記す。）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（以下、「第２の処理」と記す。）とを含んでいることを特徴としている。
【００２８】
上記の構成または方法により、ＣＰＵの指令に従って組み込み自己検査を起動し（自己検査起動回路、第１の処理）、論理回路群およびメモリの出力信号を検出することができる（自己検査制御回路、第２の処理）。よって、組み込み自己検査の終了後、ＣＰＵの指令に従ってこれら出力信号に基づく結果診断を１チップマイクロコンピュータ内部において行うことができる。すなわち、１チップマイクロコンピュータに内蔵されているＣＰＵによって、組み込み自己検査の起動と結果診断とを制御することができる。
【００２９】
よって、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。したがって、上記の構成または方法によれば、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。
【００３０】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路で検出された上記のＣＰＵ、論理回路群およびメモリの出力信号を外部に出力する検査結果出力回路とを備えていることを特徴としている。
【００３１】
また、本発明の１チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（以下、「第３の処理」と記す。）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（以下、「第４の処理」と記す。）と、上記自己検査制御回路で検出された上記のＣＰＵ、論理回路群およびメモリの出力信号を外部に出力する処理（以下、「第５の処理」と記す。）とを含んでいることを特徴としている。
【００３２】
上記の構成または方法により、ＣＰＵの指令に従って組み込み自己検査を起動し（自己検査起動回路、第３の処理）、ＣＰＵ、論理回路群およびメモリの出力信号を検出することができる（自己検査制御回路、第４の処理）。そして、組み込み自己検査の終了後、ＣＰＵの指令に従ってこれらの出力信号を外部に出力することができる（検査結果出力回路、第５の処理）。
【００３３】
よって、組み込み自己検査の起動および出力信号の検出が、１チップマイクロコンピュータに内蔵されているＣＰＵによって制御されるため、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【００３４】
さらに、組み込み自己検査の終了後、ＣＰＵ、論理回路群およびメモリの出力信号に基づいて、１チップマイクロコンピュータの外部において結果診断を行うことができる。すなわち、論理回路群およびメモリの結果診断に加えて、ＣＰＵ自身の結果診断を行うことが可能となる。
【００３５】
したがって、上記の構成または方法によれば、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができる。
【００３６】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させるリセット回路とを備えていることを特徴としている。
【００３７】
また、本発明の１チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（以下、「第６の処理」と記す。）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（以下、「第７の処理」と記す。）と、上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させる処理（以下、「第８の処理」と記す。）とを含んでいることを特徴としている。
【００３８】
上記の構成または方法により、ＣＰＵの指令に従って組み込み自己検査を起動し（自己検査起動回路、第６の処理）、ＣＰＵ、論理回路群およびメモリの出力信号を検出することができる（自己検査制御回路、第７の処理）。そして、組み込み自己検査の終了後、ＣＰＵをリセットして、ＣＰＵ、論理回路群およびメモリを出力信号に基づいて診断するプログラムをＣＰＵに実行させることができる（リセット回路、第８の処理）。
【００３９】
よって、組み込み自己検査の起動および出力信号の検出は、１チップマイクロコンピュータに内蔵されているＣＰＵによって制御されるため、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【００４０】
さらに、組み込み自己検査の終了後、ＣＰＵ、論理回路群およびメモリの出力信号に基づく結果診断を、ＣＰＵをリセットすることによって、１チップマイクロコンピュータの内部において行うことができる。すなわち、外部に結果診断のための装置を用意する必要がない。
【００４１】
したがって、上記の構成または方法によれば、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができる。しかも、これらの診断を、何ら外部の検査装置を用いることなく、１チップマイクロコンピュータ自身で行うことができる。
【００４２】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する自己検査起動回路と、同一の端子群を介して入出力される自己検査用信号群および仕様の信号群を切り替える端子切り替え手段とを備えていることを特徴としている。
【００４３】
また、本発明の１チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（以下、「第９の処理」と記す。）と、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（以下、「第１０の処理」と記す。）と、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替える処理（以下、「第１１の処理」と記す。）とを含んでいることを特徴としている。
【００４４】
上記の構成または方法により、ＣＰＵの指令に従って組み込み自己検査を起動し（自己検査起動回路、第９の処理）、ＣＰＵ、論理回路群およびメモリの出力信号を検出することができる（自己検査制御回路、第１０の処理）。そして、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替えることができる（端子切り替え手段、第１１の処理）。
【００４５】
よって、仕様上の端子数を増加させることなく組み込み自己検査を実行することができる。すなわち、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【００４６】
したがって、上記の構成または方法によれば、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができる。しかも、これらの診断を、何ら外部の検査装置を用いることなく、１チップマイクロコンピュータ自身で行うことができる。
【００４７】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記自己検査起動回路がＩＥＥＥ１１４９．１規格に準拠したテスト回路であることを特徴としている。
【００４８】
上記の構成により、さらに、１チップマイクロコンピュータの自己検査制御回路を起動する自己検査起動回路として、ＩＥＥＥ１１４９．１規格に準拠したテスト回路（ＪＴＡＧ回路）を使用することができる。
【００４９】
よって、ＪＴＡＧ回路の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うので、ＣＰＵ自身のスキャンテストおよびその結果診断が可能となる。さらに、標準的な規格に準拠したＪＴＡＧ回路をテスト回路に採用することにより、１チップマイクロコンピュータの設計、開発期間を短縮することができる。加えて、ＪＴＡＧ回路とともに上記端子切り替え手段を備えることにより、仕様上の端子数を増加させることなく、標準的な規格に準拠した構成および方法で組み込み自己検査を実行することが可能となる。
【００５０】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示する所定の電位を検出する特別電圧検出回路を具備することを特徴としている。
【００５１】
上記の構成により、さらに、特別電圧検出回路が所定の電位を検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を１チップマイクロコンピュータの所定の端子に入力する電位により外部から制御できる。
【００５２】
本発明の１チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示するコマンドを検出するコマンド検出回路を具備することを特徴としている。
【００５３】
上記の構成により、さらに、コマンド検出回路が所定のコマンドを検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を１チップマイクロコンピュータの所定の端子に入力するコマンドにより外部から制御できる。
【００５４】
本発明のＩＣカードは、上記の課題を解決するために、上記の１チップマイクロコンピュータを搭載したことを特徴としている。
【００５５】
上記の構成により、限られた端子数で組み込み自己検査を実行できることを特徴とする１チップマイクロコンピュータをＩＣカードに搭載することにより、ＩＳＯ７８１６で８本という限られた端子数に規定されているＩＣカードにおいても組み込み自己検査を行うことが可能となる。
【００５６】
また、テスト回路として標準的なＩＥＥＥ１１４９．１規格に準拠したＪＴＡＧ回路を採用した１チップマイクロコンピュータを用いることにより、ＪＴＡＧ回路の制御信号を用いてＩＣカードの組み込み自己検査を実行することが可能となる。よって、ＪＴＡＧ回路は標準的な規格に準拠した回路であるため、この回路を採用した１チップマイクロコンピュータの設計、開発期間を短縮でき、それゆえ、それを用いたＩＣカードの開発期間を短縮することが可能となる。
【００５７】
【発明の実施の形態】
〔実施の形態１〕
本発明の一実施の形態について図１および図２に基づいて説明すれば、以下のとおりである。
【００５８】
本実施の形態に係る１チップマイクロコンピュータは、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ  ）（内蔵ＣＰＵ）と、ＣＰＵの動作を司るプログラムが記憶されているメモリと、論理回路群とが互いにバスで接続されて構成されるとともに、組み込み自己検査機能（ＢＩＳＴ：ｂｕｉｌｔ−ｉｎ  ｓｅｌｆ  ｔｅｓｔ）を備えている論理ＬＳＩ（ｌａｒｇｅ  ｓｃａｌｅ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）である。そして、上記１チップマイクロコンピュータは、組み込み自己検査機能を実行する自己検査制御回路を起動する起動レジスタと、自己検査制御回路に初期値を設定する組み込み自己検査起動パターン発生器とを備えることによって、ＣＰＵがメモリおよび論理回路群の組み込み自己検査を制御することができる。
【００５９】
すなわち、本実施の形態に係る１チップマイクロコンピュータは、メモリおよび論理回路群のスキャンテストを行うものである。なお、上記１チップマイクロコンピュータはＣＰＵのスキャンテストを行わない。その理由は、ＣＰＵは、メモリおよび論理回路群のスキャンテスト結果に基づいて、メモリおよび論理回路群を診断する必要があり、ＣＰＵ自身のスキャンテストを行うとこれらを診断できないからである。
【００６０】
図１に示すように、本実施の形態に係る１チップマイクロコンピュータ１０は、メモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、起動レジスタ１８、組み込み自己検査起動パターン発生器１９、仕様の端子群２１を備えて構成されている。そして、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、起動レジスタ１８、論理回路検査用圧縮器１５、メモリ検査用圧縮器１７は、バス２２を介して互いに接続されている。
【００６１】
なお、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７、パターンカウンタ２０が、自己検査制御回路に相当する。また、起動レジスタ１８、組み込み自己検査起動パターン発生器１９が、自己検査起動回路に相当する。
【００６２】
上記のメモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、仕様の端子群２１は、前述した従来の技術での説明と同様の構成および機能を有している。
【００６３】
すなわち、上記メモリ１１には、ＣＰＵ１２の動作を司るプログラムが記憶されている。
【００６４】
上記論理回路群１３は、１チップマイクロコンピュータ１０の仕様動作を実現する回路で構成されている。論理回路群１３には、例えば、タイマーやシリアル通信制御回路などが含まれている。タイマーはプログラムの時間制御のための回路である。シリアル通信制御回路は、外部とのデータのやりとりのためのインタフェースである。
【００６５】
上記疑似乱数発生器１４は、ＣＰＵ１２と論理回路群１３とを検査するためのテストパターンとして乱数を発生するものであり、例えば帰還のかかったシフトレジスタで構成されるリニアフィードバックシフトレジスタを用いることができる。
【００６６】
上記論理回路検査用圧縮器１５は、ＣＰＵ１２と論理回路群１３とにより検査中随時出力される値（信号）を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタを用いることができる。
【００６７】
上記パターンカウンタ２０は、組み込み自己検査の実行過程を監視するものであり、カウンタ回路で構成されている。そして、パターンカウンタ２０は、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７の動作の終了を司る。
【００６８】
上記パターン発生器１６は、メモリ１１を検査するためのテストパターンを発生するものである。
【００６９】
上記メモリ検査用圧縮器１７は、メモリ１１より検査中随時出力される値（信号）を圧縮するものであり、例えば上記のリニアフィードバックシフトレジスタを用いることができる。
【００７０】
上記仕様の端子群２１は、１チップマイクロコンピュータ１０の仕様により入力端子、出力端子、入出力端子を備えている。
【００７１】
さらに、上記起動レジスタ１８は、１チップマイクロコンピュータ１０のアドレス空間内に配置され、組み込み自己検査機能のテスト動作を起動するものであり、ラッチ回路で構成されている。
【００７２】
上記組み込み自己検査起動パターン発生器１９は、自己検査制御回路（テスト制御回路）である疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７に、初期値であるパターンを発生してそれぞれに設定するものであり、カウンタ回路により構成されている。
【００７３】
つづいて、図２に示したフローチャートを参照しながら、上記１チップマイクロコンピュータ１０の組み込み自己検査の動作について説明する。
【００７４】
ステップＳ１１では、１チップマイクロコンピュータ１０に電源が投入され初期化されることによって、メモリ１１に記憶されているＣＰＵ１２の動作を司るプログラムに従って、ＣＰＵ１２が動作を開始する。
【００７５】
ステップＳ１２（第１の処理）では、組み込み自己検査に起動をかけるため、ＣＰＵ１２がバス２２を介して起動レジスタ１８にアドレス信号Ｐ１２ａおよび書き込み信号Ｐ１２ｗ（書き込みデータ信号）を出力して、起動レジスタ１８の内容をデータ「１」に設定する。
【００７６】
ステップＳ１３（第１の処理）では、起動レジスタ１８の内容がデータ「１」に設定されることにより、起動レジスタ１８は組み込み自己検査起動パターン発生器１９に起動設定信号Ｐ１８を出力する。これにより、組み込み自己検査起動パターン発生器１９は、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７へ初期値設定信号Ｐ１９ｉ（初期値）を出力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号Ｐ１８が論理回路群１３にも入力されて、論理回路群１３はスキャンテストが可能になる。
【００７７】
ステップＳ１４（第２の処理）では、組み込み自己検査起動パターン発生器１９が、疑似乱数発生器１４、パターン発生器１６、パターンカウンタ２０に検査開始信号Ｐ１９ｓを出力して、組み込み自己検査の動作が開始される。
【００７８】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器１４が発生するテストパターン信号Ｐ１４（テストパターン）をスキャンテストが可能になった論理回路群１３にテストパターンとして入力し、論理回路群１３から出力されるデータ信号Ｐ１３（出力信号）を論理回路検査用圧縮器１５によって圧縮して、その値を論理回路群１３の組み込み自己検査の検査結果とする。
【００７９】
同時に、パターン発生器１６が発生するテストパターン信号Ｐ１６（テストパターン）をスキャンテストが可能になったメモリ１１にテストパターンとして入力し、メモリ１１から出力されるデータ信号Ｐ１１（出力信号）をメモリ検査用圧縮器１７によって圧縮して、その値をメモリ１１の組み込み自己検査の検査結果とする。
【００８０】
ステップＳ１５（第２の処理）では、組み込み自己検査の実行終了後、パターンカウンタ２０からテスト終了信号Ｐ２０が論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に入力され、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の動作が停止する。このとき、論理回路群１３のテスト結果が論理回路検査用圧縮器１５に、メモリ１１のテスト結果がメモリ検査用圧縮器１７にそれぞれ格納される。なお、これと同時に、テスト終了信号Ｐ２０がパターン発生器１６および疑似乱数発生器１４にも入力されて、それぞれの動作が停止する。
【００８１】
そして、ＣＰＵ１２は、バス２２にて接続されて、１チップマイクロコンピュータ１０のアドレス空間内に配置されている論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に、アドレス信号Ｐ１２ａおよび読み込み信号Ｐ１２ｒを出力して、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に格納されている値をバス２２を介して読み出す。
【００８２】
ステップＳ１６では、ＣＰＵ１２が、読み出された論理回路検査用圧縮器１５の値およびメモリ検査用圧縮器１７の値をあらかじめメモリ１１に記憶されている期待値とそれぞれ比較し結果診断を行う。この時、例えば、論理回路検査用圧縮器１５の値およびメモリ検査用圧縮器１７の値をシリアル通信にて１チップマイクロコンピュータ１０の外部に出力し、１チップマイクロコンピュータ１０の外部で期待値と比較して結果診断を行っても差し支えはない。
【００８３】
ステップＳ１７ｎ・Ｓ１７ａでは、組み込み自己検査に必要な時間の経過後、ステップＳ１６での診断結果を仕様の端子群２１のうち１端子を用いて出力し、この端子を１チップマイクロコンピュータ１０の外部より観測することによって、故障の有無を確認することができる。
【００８４】
例えば、ステップＳ１６にて正常、つまり故障が存在しないと診断された場合は、診断結果を出力している端子に経時的に変化する信号を出力する（Ｓ１７ｎ）。一方、ステップＳ１６にて異常、つまり故障が存在すると診断された場合は、診断結果を出力している端子に経時的に変化しない信号を出力する（Ｓ１７ａ）。
【００８５】
なお、本実施の形態では、ＣＰＵの指令による端子の状態に基づいて、正常／異常の識別を行っている。よって、上記以外の方法によっても、正常／異常を識別することは可能である。例えば、上記の説明とは逆、すなわち、正常な場合に経時的に変化しない信号を出力し、異常な場合に経時的に変化する信号を出力してもよい。しかし、経時的に変化する信号が出力できなくなる故障もあり得るため、上記のように「正常な場合に経時的に変化する信号を出力する」方が望ましい。
【００８６】
以上のように、本実施の形態に係る１チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段とを備えている。
【００８７】
これにより、内蔵ＣＰＵからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後の検査結果も内蔵ＣＰＵからの指令より１チップマイクロコンピュータ内部において期待値と比較することによって、メモリおよび論理回路群のスキャンテストを内蔵ＣＰＵが起動と結果診断を制御することができる。
【００８８】
〔実施の形態２〕
本発明の他の実施の形態について図３および図４に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【００８９】
本実施の形態に係る１チップマイクロコンピュータは、前記実施の形態１の１チップマイクロコンピュータでは不可能であった、ＣＰＵ自身のスキャンテストを可能とするものである。
【００９０】
前記実施の形態１の１チップマイクロコンピュータは、ＣＰＵ自身のスキャンテストを行うと、▲１▼メモリのテストの診断、▲２▼論理回路群のスキャンテストの診断、▲３▼ＣＰＵ自身のスキャンテストの診断がＣＰＵによって実行できない。そこで、本実施の形態に係る１チップマイクロコンピュータは、組み込み自己検査の終了時、検査結果を１チップマイクロコンピュータの外部に出力する検査結果出力器を備えて、診断を外部において行う。これによって、本実施の形態に係る１チップマイクロコンピュータでは、論理回路群およびメモリの組み込み自己検査を制御する内蔵ＣＰＵを組み込み自己検査の対象とすることができる。
【００９１】
図３に示すように、本実施の形態に係る１チップマイクロコンピュータ３０は、メモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、起動レジスタ１８、組み込み自己検査起動パターン発生器１９、仕様の端子群２１に加えて、検査結果出力器（検査結果出力回路）３１を備えて構成されている。そして、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、起動レジスタ１８は、バス３２を介して互いに接続されている。
【００９２】
ここで、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、起動レジスタ１８、組み込み自己検査起動パターン発生器１９、仕様の端子群２１は、前記の実施の形態１での説明と同様の構成と機能を有する。
【００９３】
そして、上記検査結果出力器３１は、組み込み自己検査の終了後、検査結果として論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の値を１チップマイクロコンピュータの外部へ出力するための制御信号を発生するものであり、カウンタ回路を備えている。
【００９４】
つづいて、図４に示したフローチャートを参照しながら、上記１チップマイクロコンピュータ３０の組み込み自己検査の動作について説明する。
【００９５】
ステップＳ２１では、１チップマイクロコンピュータ３０に電源が投入され初期化されることによって、メモリ１１に記憶されているＣＰＵ１２の動作を司るプログラムに従って、ＣＰＵ１２が動作を開始する。
【００９６】
ステップＳ２２（第３の処理）では、組み込み自己検査に起動をかけるため、ＣＰＵ１２が１チップマイクロコンピュータ３０のアドレス空間内に配置されバス３２にて接続されている起動レジスタ１８に、アドレス信号Ｐ１２ａおよび書き込み信号Ｐ１２ｗ（書き込みデータ信号）をバス３２を介して出力して、起動レジスタ１８の内容をデータ「１」に設定する。
【００９７】
ステップＳ２３（第３の処理）では、起動レジスタ１８の内容がデータ「１」に設定されることにより、起動レジスタ１８は組み込み自己検査起動パターン発生器１９に起動設定信号Ｐ１８を出力する。これにより、組み込み自己検査起動パターン発生器１９は、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７へ初期値設定信号Ｐ１９ｉを出力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号Ｐ１８がＣＰＵ１２および論理回路群１３にも入力され、ＣＰＵ１２および論理回路群１３はスキャンテストが可能になる。
【００９８】
ステップＳ２４（第４の処理）では、組み込み自己検査起動パターン発生器１９が、疑似乱数発生器１４、パターン発生器１６、パターンカウンタ２０に検査開始信号Ｐ１９ｓを出力して、組み込み自己検査の動作が開始される。
【００９９】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器１４が発生するテストパターン信号Ｐ１４をスキャンテストが可能になったＣＰＵ１２および論理回路群１３にテストパターンとして入力し、ＣＰＵ１２および論理回路群１３から出力されるデータ信号Ｐ１２（出力信号）およびデータ信号Ｐ１３を論理回路検査用圧縮器１５によって圧縮して、その値をＣＰＵ１２および論理回路群１３の組み込み自己検査の検査結果とする。
【０１００】
同時に、パターン発生器１６が発生するテストパターン信号Ｐ１６をスキャンテストが可能になったメモリ１１にテストパターンとして入力し、メモリ１１から出力されるデータ信号Ｐ１１をメモリ検査用圧縮器１７によって圧縮して、その値をメモリ１１の組み込み自己検査の検査結果とする。
【０１０１】
ステップＳ２５（第５の処理）では、組み込み自己検査の実行終了後、パターンカウンタ２０からテスト終了信号Ｐ２０が論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に入力され、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の動作が停止する。このとき、ＣＰＵ１２および論理回路群１３のテスト結果が論理回路検査用圧縮器１５に、メモリ１１のテスト結果がメモリ検査用圧縮器１７にそれぞれ格納される。なお、これと同時に、テスト終了信号Ｐ２０がパターン発生器１６および疑似乱数発生器１４にも入力されて、それぞれの動作が停止する。
【０１０２】
これと同時に、テスト終了信号Ｐ２０は検査結果出力器３１にも入力される。テスト終了信号Ｐ２０が入力された検査結果出力器３１は、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７にクロック周期を持った出力クロック信号Ｐ３１を入力する。これにより、従来の技術での説明と同様に、シフトレジスタ状に構成された論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７は、出力クロック信号Ｐ３１が１周期入力されるたびに１ビットの出力データ信号Ｐｏｕｔ（出力信号）を出力線に順次出力する。そして、組み込み自己検査に必要な時間を経た後、仕様の端子群２１のうち１端子を用いて出力した出力データ信号Ｐｏｕｔを、１チップマイクロコンピュータ３０の外部において、期待値と比較することにより、故障の有無を判定する。
【０１０３】
以上のように、本実施の形態に係る１チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段と、組み込み自己検査の結果を１チップマイクロコンピュータの外部に出力するテスト結果出力手段とを備えている。
【０１０４】
これにより、内蔵ＣＰＵからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後、検査結果を１チップマイクロコンピュータの外部に出力して外部において期待値と比較することによって、内蔵ＣＰＵを組み込み自己検査の対象とすることができる。
【０１０５】
〔実施の形態３〕
本発明のさらに他の実施の形態について図５および図６に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１および２において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１０６】
前記実施の形態２の１チップマイクロコンピュータは、ＣＰＵ自身のスキャンテストを可能とするために、診断を外部において行う。これに対して、本実施の形態に係る１チップマイクロコンピュータは、ＣＰＵ自身のスキャンテストが可能であり、テスト結果の診断もＣＰＵで行うものである。
【０１０７】
具体的には、本実施の形態に係る１チップマイクロコンピュータは、内蔵ＣＰＵを初期化するリセット発生器を備え、組み込み自己検査の終了後に内蔵ＣＰＵをリセットして、再びメモリに記憶されているプログラムに従ってＣＰＵを動作させる。これにより、メモリ、論理回路群、ＣＰＵのスキャンテストの結果を論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に内蔵されているメモリに記憶した後、リセット発生器によってＣＰＵをリセットして、ＣＰＵ自身で診断を行うことができる。
【０１０８】
図５に示すように、本実施の形態に係る１チップマイクロコンピュータ５０は、メモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、起動レジスタ１８、組み込み自己検査起動パターン発生器１９、仕様の端子群２１に加えて、リセット発生器（リセット回路）５１を備えて構成されている。そして、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、起動レジスタ１８、論理回路検査用圧縮器１５、メモリ検査用圧縮器１７は、バス５２を介して互いに接続されている。
【０１０９】
ここで、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、起動レジスタ１８、組み込み自己検査起動パターン発生器１９、仕様の端子群２１は、前記の実施の形態１での説明と同様の構成と機能を有する。
【０１１０】
そして、上記リセット発生器５１は、組み込み自己検査の終了後、ＣＰＵ１２の初期化を行う信号を発生するものである。
【０１１１】
つづいて、図６に示したフローチャートを参照しながら、上記１チップマイクロコンピュータ５０の組み込み自己検査の動作について説明する。
【０１１２】
ステップＳ３１では、１チップマイクロコンピュータ５０に電源が投入され初期化されることによって、メモリ１１に記憶されているＣＰＵ１２の動作を司るプログラムに従って、ＣＰＵ１２が動作を開始する。
【０１１３】
ステップＳ３２では、ＣＰＵ１２は１チップマイクロコンピュータ５０のアドレス空間内に配置されバス５２にて接続されている起動レジスタ１８にアドレス信号Ｐ１２ａおよび読み込み信号Ｐ１２ｒを入力し、起動レジスタ１８の内容を確認する。起動レジスタ１８の内容は、ステップＳ３１でデータ「０」に初期化されており、ＣＰＵ１２は起動レジスタ１８の内容がデータ「０」であることを確認して電源投入時の初期化であることを認識する。そして、起動レジスタ１８の内容がデータ「０」（正常）のときステップＳ３３へ移行する。一方、起動レジスタ１８の内容がデータ「１」（異常）のときステップＳ３８へ移行する。
【０１１４】
ステップＳ３３（第６の処理）では、組み込み自己検査に起動をかけるため、ＣＰＵ１２が１チップマイクロコンピュータ５０のアドレス空間内に配置されバス５２にて接続されている起動レジスタ１８に、アドレス信号Ｐ１２ａおよび書き込み信号Ｐ１２ｗ（書き込みデータ信号）をバス５２を介して入力して、起動レジスタ１８の内容をデータ「１」に設定する。
【０１１５】
ステップＳ３４（第６の処理）では、起動レジスタ１８の内容がデータ「１」に設定されることにより、起動レジスタ１８は組み込み自己検査起動パターン発生器１９に起動設定信号Ｐ１８を入力する。これにより、組み込み自己検査起動パターン発生器１９は、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７へ初期値設定信号Ｐ１９ｉを入力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号Ｐ１８がＣＰＵ１２および論理回路群１３にも入力され、ＣＰＵ１２および論理回路群１３はスキャンテストが可能になる。
【０１１６】
ステップＳ３５（第７の処理）では、組み込み自己検査起動パターン発生器１９が、疑似乱数発生器１４、パターン発生器１６、パターンカウンタ２０に検査開始信号Ｐ１９ｓを入力して、組み込み自己検査の動作が開始される。
【０１１７】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器１４が発生するテストパターン信号Ｐ１４をスキャンテストが可能になったＣＰＵ１２および論理回路群１３にテストパターンとして入力し、ＣＰＵ１２および論理回路群１３から出力されるデータ信号Ｐ１３を論理回路検査用圧縮器１５によって圧縮して、その値をＣＰＵ１２および論理回路群１３の組み込み自己検査の検査結果とする。
【０１１８】
同時に、パターン発生器１６がメモリ１１にテストパターン信号Ｐ１６を入力し、メモリ１１から出力されるデータ信号Ｐ１１をメモリ検査用圧縮器１７によって圧縮して、その値をメモリ１１の組み込み自己検査の検査結果とする。
【０１１９】
ステップＳ３６（第８の処理）では、組み込み自己検査の実行終了後、パターンカウンタ２０からテスト終了信号Ｐ２０が論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に入力され、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の動作が停止する。このとき、ＣＰＵ１２および論理回路群１３のテスト結果が論理回路検査用圧縮器１５に、メモリ１１のテスト結果がメモリ検査用圧縮器１７にそれぞれ格納される。なお、これと同時に、テスト終了信号Ｐ２０がパターン発生器１６および疑似乱数発生器１４にも入力されて、それぞれの動作が停止する。
【０１２０】
これと同時に、テスト終了信号Ｐ２０はリセット発生器５１にも入力される。テスト終了信号Ｐ２０が入力されたリセット発生器５１は、ＣＰＵ１２にリセット信号Ｐ５１を出力してＣＰＵ１２を初期化する。
【０１２１】
ステップＳ３７（第８の処理）では、ＣＰＵ１２が初期化されて、スキャンテストの対象である状態から、メモリ１１に記憶されているプログラムに従って動作する状態に戻り、動作を再開する。ＣＰＵ１２は、起動レジスタ１８にアドレス信号Ｐ１２ａおよび読み込み信号Ｐ１２ｒを入力し、起動レジスタ１８の内容がデータ「１」であることを確認して、電源投入時の初期化ではなく、組み込み自己検査終了後のリセット発生器５１からの初期化であることを認識する。
【０１２２】
ステップＳ３８（第８の処理）では、ＣＰＵ１２は、起動レジスタ１８にアドレス信号Ｐ１２ａおよび書き込み信号Ｐ１２ｗ（書き込みデータ信号）をバス５２を介して入力して起動レジスタ１８の内容をデータ「０」に設定する。
【０１２３】
ステップＳ３９（第８の処理）では、ＣＰＵ１２は、１チップマイクロコンピュータ５０のアドレス空間内に配置され、バス５２にて接続されている論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７に、アドレス信号Ｐ１２ａおよび読み込み信号Ｐ１２ｒを入力して、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の値をバス５２を介して読み出す。
【０１２４】
ステップＳ４０（第８の処理）では、ＣＰＵ１２が、読み出された論理回路検査用圧縮器１５の値およびメモリ検査用圧縮器１７の値をあらかじめメモリ１１に記憶されている期待値とそれぞれ比較し結果診断を行う。この時、例えば、論理回路検査用圧縮器１５の値およびメモリ検査用圧縮器１７の値をシリアル通信にて１チップマイクロコンピュータ５０の外部に出力し、１チップマイクロコンピュータ５０の外部で期待値と比較して結果診断を行っても差し支えはない。
【０１２５】
ステップＳ４１ｎ・Ｓ４１ａでは、組み込み自己検査に必要な時間の経過後、ステップＳ４０での診断結果を仕様の端子群２１のうち１端子を用いて出力し、この端子を１チップマイクロコンピュータ５０の外部より観測することによって、故障の有無を確認することができる。
【０１２６】
例えば、ステップＳ４０にて正常、つまり故障が存在しないと診断された場合は、診断結果を出力している端子に経時的に変化する信号を出力する（Ｓ４１ｎ）。一方、ステップＳ４０にて異常、つまり故障が存在すると診断された場合は、診断結果を出力している端子に経時的に変化しない信号を出力する（Ｓ４１ａ）。
【０１２７】
ここで、リセットの動作に異常が発生した場合について説明する。
【０１２８】
第一に、電源投入直後のリセットの判別（Ｓ３２）において、例えば起動レジスタ１８の出力（起動設定信号Ｐ１８）に、常に状態が「１」であり「０」に変化することができないという縮退故障が存在した場合、異常と判別される。そして、ステップＳ３３からステップＳ３７の処理を行わずにステップＳ３８へ移行する。したがって、ステップＳ３９にて論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の値を読み出しても、次のステップＳ４０にて異常と判別されるため、診断結果を出力している端子から正常を示す信号（経時的に変化する信号）が出力されず、故障が存在すると診断できる。
【０１２９】
第二に、組み込み自己検査終了後のリセットの判別（Ｓ３７）において、例えば起動レジスタ１８の出力（起動設定信号Ｐ１８）に、常に状態が「０」であり「１」に変化することができないという縮退故障が存在した場合、ステップＳ３７にて異常と判別される。そして、ステップＳ３３へ移行するので、ステップＳ３３からステップＳ３７の状態の間をループすることになる。したがって、ステップＳ４１が処理されないため、診断結果を出力している端子から正常を示す信号（経時的に変化する信号）が出力されず、異常を示す信号（経時的に変化しない信号）が検出されて、故障が存在すると診断できる。
【０１３０】
以上のように、本実施の形態に係る１チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段と、組み込み自己検査の終了後に内蔵ＣＰＵを初期化するリセット発生手段とを備えている。
【０１３１】
これにより、内蔵ＣＰＵからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後、組み込み自己検査の対象となる回路構成から再びＣＰＵの動作を司るプログラムが記憶されるメモリに従って動作を開始することができる。したがって、上記１チップマイクロコンピュータは、ＣＰＵ自身のスキャンテストが可能であり、テスト結果の診断もＣＰＵで行うことができる。
【０１３２】
〔実施の形態４〕
本発明のさらに他の実施の形態について図１０から図１２に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１から３において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１３３】
図１０に示すように、本実施の形態に係る１チップマイクロコンピュータ７０は、メモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、テスト回路７１、端子切り替え回路（端子切り替え手段）７３、仕様の端子群（端子群）２１を備えて構成されている。そして、上記のメモリ１１、ＣＰＵ１２、論理回路群１３、回路検査用圧縮器１５、メモリ検査用圧縮器１７は、バス７２を介して互いに接続されている。
【０１３４】
上記のメモリ１１、ＣＰＵ１２、論理回路群１３、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターンカウンタ２０、パターン発生器１６、メモリ検査用圧縮器１７、仕様の端子群２１は、前述した従来の技術での説明と同様の構成および機能を有しており、実施の形態１においても説明されているのでここでは省略する。
【０１３５】
また、上記テスト回路７１は、ＩＥＥＥ１１４９．１規格に準拠したＪＴＡＧ回路であり、前述した従来の技術での説明と同様の構成および機能を有しているため、ここでは省略する。
【０１３６】
なお、疑似乱数発生器１４、論理回路検査用圧縮器１５、パターン発生器１６、メモリ検査用圧縮器１７、パターンカウンタ２０が、自己検査制御回路に相当する。また、テスト回路７１が、自己検査起動回路に相当する。
【０１３７】
上記端子切り替え回路７３は、テスト回路７１とのテスト用入出力信号群（自己検査用信号群）Ｐ７１あるいは仕様の入出力信号群（仕様の信号群）Ｐ７０のどちらか一方を、仕様の端子群２１に接続する制御を行う。なお、仕様の入出力信号群Ｐ７０とは、１チップマイクロコンピュータ７０が通常の機能を実現するために、仕様の端子群２１に接続する必要のある信号群のことである。
【０１３８】
ここで、図１１および図１２を用いて、上記端子切り替え回路７３の具体的な構成を２つ示す。
【０１３９】
（１）特別な電位の信号を検出する構成（電圧検出方法）
図１１に示すように、端子切り替え回路７３は、特別電圧検出回路７３ａと、セレクタ回路７３ｂとを備えて構成されてもよい。
【０１４０】
上記特別電圧検出回路７３ａは、仕様の端子群２１の所定の端子により、信号群の切り替えを指示する、仕様動作電圧以外の特別な電位の信号の入力を検出する。すなわち、特別電圧検出回路７３ａは、特別な電位の信号の入力を検出した場合、特別電圧検出信号Ｐ７３ａをデータ「０」からデータ「１」に推移して、セレクタ回路７３ｂへ伝達する。
【０１４１】
ここで、特別電圧検出回路７３ａが検出する特別な電位の信号としては、仕様動作と識別が可能であればよい。また、この信号は仕様の端子群２１の１本もしくは複数本の端子から入力できる。
【０１４２】
上記セレクタ回路７３ｂは、仕様の入出力信号群Ｐ７０およびテスト回路７１のテスト用入出力信号群Ｐ７１が接続されるとともに、特別電圧検出信号Ｐ７３ａと接続されている。そして、セレクタ回路７３ｂは、特別電圧検出信号Ｐ７３ａがデータ「０」のとき、仕様の端子群２１に仕様の入出力信号群Ｐ７０を接続し、特別電圧検出信号Ｐ７３ａがデータ「０」からデータ「１」に推移したとき、仕様の端子群２１にテスト回路７１のテスト用入出力信号群Ｐ７１を接続する。すなわち、セレクタ回路７３ｂは、特別電圧検出信号Ｐ７３ａに応じて、仕様の端子群２１に接続する信号を仕様の入出力信号群Ｐ７０とテスト用入出力信号群Ｐ７１とで切り替えてインタフェースを確立する。
【０１４３】
（２）コマンドを検出する構成（コマンド検出方法）
また、図１２に示すように、端子切り替え回路７３は、上記特別電圧検出回路７３ａの代わりに、コマンド検出回路７３ｃを備えて構成されてもよい。
【０１４４】
上記コマンド検出回路７３ｃは、仕様の端子群２１の所定の端子により、信号群の切り替えを指示する、所定のコマンドの入力を検出する。すなわち、コマンド検出回路７３ｃは、特定のコマンドの入力を検出した場合、コマンド検出信号Ｐ７３ｃをデータ「０」からデータ「１」に推移して、セレクタ回路７３ａへ伝達する。
【０１４５】
ここで、コマンド検出回路７３ｃが検出する特定のコマンドとしては、仕様動作のためのコマンドと識別が可能であればよい。また、このコマンドは仕様の端子群２１の１本もしくは複数本の端子から入力できる。
【０１４６】
上記セレクタ回路７３ｂは、仕様の入出力信号群Ｐ７０およびテスト回路７１のテスト用入出力信号群Ｐ７１が接続されるとともに、コマンド検出信号Ｐ７３ｃと接続されている。そして、セレクタ回路７３ｂは、コマンド検出信号Ｐ７３ｃがデータ「０」のとき、仕様の端子群２１に仕様の入出力信号群Ｐ７０を接続し、コマンド検出信号Ｐ７３ｃがデータ「０」からデータ「１」に推移したとき、仕様の端子群２１にテスト回路７１のテスト用入出力信号群Ｐ７１を接続する。すなわち、セレクタ回路７３ｂは、コマンド検出信号Ｐ７３ｃに応じて、仕様の端子群２１に接続する信号を仕様の入出力信号群Ｐ７０とテスト用入出力信号群Ｐ７１とで切り替えてインタフェースを確立する。
【０１４７】
端子切り替え回路７３が上記の何れかの構成を備えることによって、テストの時のみテスト回路７１が外部より直接制御可能となるため、専用のテスト端子を用いることなく、組み込み自己検査を行うことが可能となる。
【０１４８】
そして、上記端子切り替え回路７３によって、仕様の端子群２１からテスト用入出力信号群Ｐ７１がインタフェースされた場合、仕様の端子群２１からＩＥＥＥ１１４９．１規格に準じてＴＤＩ信号、ＴＤＯ信号、ＴＣＫ信号、ＴＭＳ信号がテスト回路７１に入出力される。よって、これらの信号が仕様の端子群２１の各端子に入出力されると、従来の技術で述べたように、下記の動作で自己検査が実行される。
【０１４９】
すなわち、ＴＣＫ信号でサンプリングされたＴＤＩ信号からの命令と付属のデータとに従って、疑似乱数発生器１４、パターン発生器１６、論理回路検査用圧縮器１５、メモリ検査用圧縮器１７の初期状態の設定を行い、組み込み自己検査を起動する（第９の処理）。
【０１５０】
組み込み自己検査が起動されると、疑似乱数発生器１４が発生する信号Ｐ１４がテストパターンとして、スキャンテストが可能になったＣＰＵ１２および論理回路群１３に入力される。そして、ＣＰＵ１２および論理回路群１３から出力されるデータ信号Ｐ１２・Ｐ１３を論理回路検査用圧縮器１５によって圧縮し、その値を論理回路群１３の組み込み自己検査の検査結果とする。これと同時に、パターン発生器１６がメモリ１１にテストパターン信号Ｐ１６を入力し、メモリ１１が出力するデータ信号Ｐ１１をメモリ検査用圧縮器１７によって圧縮して、その値をメモリ１１の組み込み自己検査の検査結果とする（第１０の処理）。
【０１５１】
組み込み自己検査の終了後、パターンカウンタ２０によって、論理回路検査用圧縮器１５およびメモリ検査用圧縮器１７の動作が停止され、ＴＣＫ信号でサンプリングされたＴＤＩ信号からの命令と付属のデータとに従って、ＣＰＵ１２および論理回路群１３の組み込み自己検査の検査結果とメモリ１１の組み込み自己検査の検査結果とを、ＴＣＫ信号に同期してＴＤＯ信号に割り当てられた端子から出力し、１チップマイクロコンピュータ７０の外部で期待値と比較して判定を行う。
【０１５２】
このとき、１チップマイクロコンピュータ７０は、端子切り替え回路７３によって、自己検査時にテスト用入出力信号群Ｐ７１を入出力し、通常使用時には仕様の入出力信号群Ｐ７０を入出力するように、仕様の端子群２１を通過する信号群を切り替える処理を行う（第１１の処理）。
【０１５３】
以上のように、１チップマイクロコンピュータ７０は、信号群を切り替える端子切り替え回路７３を備えることによって、自己検査のための端子を仕様の端子群２１に加えて設ける必要がない。したがって、端子数を増加させることなく、ＩＥＥＥ１１４９．１規格に準拠した標準的な構成で、組み込み自己検査を行うことが可能となる。
【０１５４】
また、テスト回路７１（ＪＴＡＧ回路）の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うことができるため、ＣＰＵ１２自身のスキャンテストおよびその結果診断が可能となる。
【０１５５】
さらに、テスト回路７１は標準的な規格に準拠した回路であるので、これを搭載した１チップマイクロコンピュータの設計、開発期間を短縮することができる。
【０１５６】
〔実施の形態５〕
本発明のさらに他の実施の形態について図１３および図１４に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態１から４において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１５７】
本実施の形態では、前記実施の形態４において説明した１チップマイクロコンピュータ７０を搭載したＩＣカードについて説明する。
【０１５８】
図１３に示すように、本実施の形態に係るＩＣカード１は、上記１チップマイクロコンピュータ７０（図１０）を搭載するとともに、１チップマイクロコンピュータ７０と外部とのインタフェースである仕様の端子群２１が配設されている。
【０１５９】
上記仕様の端子群２１は、通常、ＩＣカード１の実使用状態において、図１３に示すようにＩＳＯ７８１６に規定されている端子機能を具備する。すなわち、仕様の端子群２１の各端子は、ＶＤＤ、ＧＮＤ、ＶＰＰ、ＲＦＵ１、ＲＳＴ、Ｉ／Ｏ、ＣＬＫ、ＲＦＵ２の信号をそれぞれインタフェースする。
【０１６０】
つぎに、図１４は、上記ＩＣカード１の組み込み自己検査を行う際の状態を示している。ＩＣカード１は組み込み自己検査の時、仕様の端子群２１の端子のうちのテストに使用する端子を介してテスタ９０に接続される。
【０１６１】
実施の形態４で示したように、１チップマイクロコンピュータ７０は端子切り替え回路７３を備えており、仕様の端子群２１でインタフェースする信号を、仕様の入出力信号群Ｐ７０およびテスト用入出力信号群Ｐ７１の何れかを選択して切り替えることができる。よって、ＩＣカード１の仕様の入出力信号群Ｐ７０とテスト回路７１のテスト用入出力信号群Ｐ７１とを対応させることができる。すなわち、例えば、ＪＴＡＧ回路であるテスト回路７１のＴＤＩ端子をＩＣカード１のＲＦＵ１端子に対応させ、同様に、ＴＤＯ端子をＩ／Ｏ端子に、ＴＣＫ端子をＣＬＫ端子に、ＴＭＳ端子をＲＦＵ２端子に対応させて、それぞれの端子を共有させることができる。
【０１６２】
そして、端子の切り替え、すなわち、仕様の入出力信号群Ｐ７０とテスト用入出力信号群Ｐ７１とを切り替えるために、ＩＣカード１の外部から切り替え指示を与える。具体的には、仕様動作電圧以外の特別な電位を検出する電圧検出方法（図１１）の場合、切り替え指示に相当する電圧をＶＰＰ端子から入力する。また、特定のコマンドが入力されたことを検出するコマンド検出方法（図１２）の場合、切り替え指示に相当するコマンドをＩ／Ｏ端子から入力し、端子が切り替わった後にＩ／Ｏ端子からＴＤＯ信号を出力する。なお、これらの電圧あるいはコマンドは、テスタ９０を用いて入力することもできる。
【０１６３】
以上のように、本実施の形態に係るＩＣカード１は、仕様の端子群２１の端子機能を切り替えることにより、テスト時にＪＴＡＧ回路（テスト回路７１）のＴＤＩ、ＴＤＯ、ＴＣＫ、ＴＭＳ信号を外部端子ヘインタフェースすることができるため、搭載した１チップマイクロコンピュータ７０の組み込み自己検査の起動および結果の診断を外部のテスタ９０から行うことが可能となる。
【０１６４】
なお、本実施の形態は本発明の範囲を限定するものではなく、本発明の範囲内で種々の変更が可能である。
【０１６５】
【発明の効果】
本発明の発明の１チップマイクロコンピュータは、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路とを備えている構成である。
【０１６６】
また、本発明の発明の１チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（第１の処理）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（第２の処理）とを含んでいる方法である。
【０１６７】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行できるという効果を奏する。したがって、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。
【０１６８】
本発明の発明の１チップマイクロコンピュータは、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路で検出された上記のＣＰＵ、論理回路群およびメモリの出力信号を外部に出力する検査結果出力回路とを備えている構成である。
【０１６９】
また、本発明の発明の１チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（第３の処理）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（第４の処理）と、上記自己検査制御回路で検出された上記のＣＰＵ、論理回路群およびメモリの出力信号を外部に出力する処理（第５の処理）とを含んでいる方法である。
【０１７０】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、ＣＰＵ自身の結果診断を行うことができるという効果を奏する。
【０１７１】
したがって、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができるという効果を奏する。
【０１７２】
本発明の発明の１チップマイクロコンピュータは、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記ＣＰＵの指令に従って、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記ＣＰＵの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させるリセット回路とを備えている構成である。
【０１７３】
また、本発明の発明の１チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、上記ＣＰＵの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（第６の処理）と、上記ＣＰＵの指令に従って、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（第７の処理）と、上記自己検査制御回路によって上記のＣＰＵ、論理回路群およびメモリの出力信号を検出した後、上記ＣＰＵをリセットして、上記のＣＰＵ、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記ＣＰＵに実行させる処理（第８の処理）とを含んでいる方法である。
【０１７４】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行できるという効果を奏する。さらに、組み込み自己検査の終了後、ＣＰＵ、論理回路群およびメモリの出力信号に基づく結果診断を、ＣＰＵをリセットすることによって、１チップマイクロコンピュータの内部において行うことができるという効果を奏する。
【０１７５】
したがって、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができるという効果を奏する。しかも、これらの診断を、何ら外部の検査装置を用いることなく、１チップマイクロコンピュータ自身で行うことができるという効果を奏する。
【０１７６】
本発明の１チップマイクロコンピュータは、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する自己検査起動回路と、同一の端子群を介して入出力される自己検査用信号群および仕様の信号群を切り替える端子切り替え手段とを備えている構成である。
【０１７７】
また、本発明の１チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたＣＰＵと、ＣＰＵの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた１チップマイクロコンピュータの制御方法であって、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理（第９の処理）と、上記自己検査制御回路によって、上記のＣＰＵ、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理（第１０の処理）と、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替える処理（第１１の処理）とを含んでいる方法である。
【０１７８】
それゆえ、組み込み自己検査のために端子を追加することなく、仕様上の端子数で組み込み自己検査を実行できるという効果を奏する。
【０１７９】
したがって、１チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばＩＣカードのように端子数の少ない１チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったＣＰＵ自身の結果診断を行うことができるという効果を奏する。しかも、これらの診断を、何ら外部の検査装置を用いることなく、１チップマイクロコンピュータ自身で行うことができるという効果を奏する。
【０１８０】
本発明の１チップマイクロコンピュータは、以上のように、さらに、上記自己検査起動回路がＩＥＥＥ１１４９．１規格に準拠したテスト回路である構成である。
【０１８１】
それゆえ、さらに、以下の効果を奏する。ＩＥＥＥ１１４９．１規格に準拠したテスト回路であるＪＴＡＧ回路の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うので、ＣＰＵ自身のスキャンテストおよびその結果診断が可能となる。また、標準的な規格に準拠したＪＴＡＧ回路をテスト回路に採用することにより、１チップマイクロコンピュータの設計、開発期間を短縮することができる。加えて、ＪＴＡＧ回路とともに上記端子切り替え手段を備えることにより、仕様上の端子数を増加させることなく、標準的な規格に準拠した構成および方法で組み込み自己検査を実行することが可能となる。
【０１８２】
本発明の１チップマイクロコンピュータは、以上のように、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示する所定の電位を検出する特別電圧検出回路を具備する構成である。
【０１８３】
それゆえ、さらに、特別電圧検出回路が所定の電位を検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を１チップマイクロコンピュータの所定の端子に入力する電位により外部から制御することができるという効果を奏する。
【０１８４】
本発明の１チップマイクロコンピュータは、以上のように、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示するコマンドを検出するコマンド検出回路を具備する構成である。
【０１８５】
それゆえ、さらに、コマンド検出回路が所定のコマンドを検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を１チップマイクロコンピュータの所定の端子に入力するコマンドにより外部から制御できるという効果を奏する。
【０１８６】
本発明のＩＣカードは、以上のように、上記の１チップマイクロコンピュータを搭載した構成である。
【０１８７】
それゆえ、限られた端子数で組み込み自己検査を実行できることを特徴とする１チップマイクロコンピュータをＩＣカードに搭載することにより、ＩＳＯ７８１６で８本という限られた端子数に規定されているＩＣカードにおいても組み込み自己検査を行うことが可能となるという効果を奏する。
【０１８８】
また、テスト回路として標準的なＩＥＥＥ１１４９．１規格に準拠したＪＴＡＧ回路を採用した１チップマイクロコンピュータを用いることにより、ＪＴＡＧ回路の制御信号を用いてＩＣカードの組み込み自己検査を実行することが可能となる。よって、ＪＴＡＧ回路は標準的な規格に準拠した回路であるため、この回路を採用した１チップマイクロコンピュータの設計、開発期間を短縮でき、それゆえ、それを用いたＩＣカードの開発期間を短縮することが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る１チップマイクロコンピュータの構成の概略を示すブロック図である。
【図２】図１に示した１チップマイクロコンピュータの動作を示すフローチャートである。
【図３】本発明の他の実施の形態に係る１チップマイクロコンピュータの構成の概略を示すブロック図である。
【図４】図３に示した１チップマイクロコンピュータの動作を示すフローチャートである。
【図５】本発明のさらに他の実施の形態に係る１チップマイクロコンピュータの構成の概略を示すブロック図である。
【図６】図５に示した１チップマイクロコンピュータの動作を示すフローチャートである。
【図７】論理回路群の概念を示す説明図である。
【図８】スキャンテスト方式の概念を示す説明図である。
【図９】従来の自己組み込み検査機能を備えた１チップマイクロコンピュータの構成の概略を示すブロック図である。
【図１０】本発明のさらに他の実施の形態に係る１チップマイクロコンピュータの構成の概略を示すブロック図である。
【図１１】図１０に示した１チップマイクロコンピュータが備える端子切り替え回路の一構成の概略を示すブロック図である。
【図１２】図１０に示した１チップマイクロコンピュータが備える端子切り替え回路の他の構成の概略を示すブロック図である。
【図１３】本発明のさらに他の実施の形態に係るＩＣカードの概略を示すものであり、実使用時の状態を示す構成図である。
【図１４】図１３に示したＩＣカードの１チップマイクロコンピュータの組み込み自己検査時の状態を示す構成図である。
【符号の説明】
１    ＩＣカード
１０，３０，５０，７０    １チップマイクロコンピュータ
１１    メモリ
１２    ＣＰＵ
１３    論理回路群
１４    疑似乱数発生器（自己検査制御回路）
１５    論理回路検査用圧縮器（自己検査制御回路）
１６    パターン発生器（自己検査制御回路）
１７    メモリ検査用圧縮器（自己検査制御回路）
１８    起動レジスタ（自己検査起動回路）
１９    組み込み自己検査起動パターン発生器（自己検査起動回路）
２０    パターンカウンタ（自己検査制御回路）
２１    仕様の端子群（端子群）
２２，３２，５２，７２    バス
３１    検査結果出力器（検査結果出力回路）
５１    リセット発生器（リセット回路）
７１    テスト回路（自己検査起動回路）
７３    端子切り替え回路（端子切り替え手段）
７３ａ  特別電圧検出回路
７３ｃ  コマンド検出回路
Ｐ１１，Ｐ１２，Ｐ１３    データ信号（出力信号）
Ｐ１２ａ    アドレス信号（ＣＰＵの指令）
Ｐ１２ｒ    読み込み信号（ＣＰＵの指令）
Ｐ１２ｗ    書き込み信号（ＣＰＵの指令）
Ｐ１４    テストパターン信号（テストパターン）
Ｐ１６    テストパターン信号Ｐ（テストパターン）
Ｐ１９ｉ    初期値設定信号（初期値）
Ｐｏｕｔ    出力データ信号（出力信号）
Ｐ７０      仕様の入出力信号群（仕様の信号群）
Ｐ７１      テスト用入出力信号群（自己検査用信号群）
Ｓ１２，Ｓ１３    （第１の処理）
Ｓ１４，Ｓ１５    （第２の処理）
Ｓ２２，Ｓ２３    （第３の処理）
Ｓ２４    （第４の処理）
Ｓ２５    （第５の処理）
Ｓ３３，Ｓ３４    （第６の処理）
Ｓ３５    （第７の処理）
Ｓ３６，Ｓ３７，Ｓ３８，Ｓ３９，Ｓ４０    （第８の処理）
【図１】
0003576457.tif 000002
【図２】
0003576457.tif 000003
【図３】
0003576457.tif 000004
【図４】
0003576457.tif 000005
【図５】
0003576457.tif 000006
【図６】
0003576457.tif 000007
【図７】
0003576457.tif 000008
【図８】
0003576457.tif 000009
【図９】
0003576457.tif 000010
【図１０】
0003576457.tif 000011
【図１１】
0003576457.tif 000012
【図１２】
0003576457.tif 000013
【図１３】
0003576457.tif 000014
【図１４】
0003576457.tif 000015