JP3576457B2 - 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード - Google Patents

1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード Download PDF

Info

Publication number
JP3576457B2
JP3576457B2 JP2000106954A JP2000106954A JP3576457B2 JP 3576457 B2 JP3576457 B2 JP 3576457B2 JP 2000106954 A JP2000106954 A JP 2000106954A JP 2000106954 A JP2000106954 A JP 2000106954A JP 3576457 B2 JP3576457 B2 JP 3576457B2
Authority
JP
Japan
Prior art keywords
test
cpu
self
group
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000106954A
Other languages
English (en)
Other versions
JP2001027958A (ja
Inventor
正樹 若林
和宏 八重川
雅明 丹野
啓樹 首藤
忠雄 竹田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Sharp Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Sharp Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000106954A priority Critical patent/JP3576457B2/ja
Priority to TW089108531A priority patent/TW452655B/zh
Priority to EP00303796A priority patent/EP1074915B1/en
Priority to DE60013210T priority patent/DE60013210T2/de
Priority to KR10-2000-0025058A priority patent/KR100377904B1/ko
Priority to US09/568,683 priority patent/US6934884B1/en
Publication of JP2001027958A publication Critical patent/JP2001027958A/ja
Application granted granted Critical
Publication of JP3576457B2 publication Critical patent/JP3576457B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、テスト回路を備えた1チップマイクロコンピュータ、特に組み込み自己検査機能を有し、内蔵CPUが組み込み自己検査の起動と結果診断を行う組み込み自己検査回路を備えた1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたICカードに関するものである。
【0002】
【従来の技術】
1チップマイクロコンピュータの論理回路群の検査方式の一つに機能を検査する方式がある。これは、1チップマイクロコンピュータが設計者の想定している仕様を満たしているかどうかを検査する方式で、その仕様に基づいて動作をトレースする検査方式である。
【0003】
1チップマイクロコンピュータの規模が大きくなり、複雑化していくと、上記の機能を検査する方式では高い故障検出率で検出することができないため、充分な品質を保証することが難しくなる。そこで、回路中の記憶素子を専用のセルに置き換えて、それらをシフトレジスタ状に接続し、回路中の記憶素子に対して値の設定、値の読み出しを行えるようにしたスキャンテスト方式が一般的に用いられている。
【0004】
上記スキャンテスト方式では、記憶素子から置き換えられる専用のセルは一般にスキャンセルと呼ばれ、複数の種類が存在する。そして、スキャンセルには、例えば記憶素子のデータ入力端子にセレクタ回路が付加されたものがある。
【0005】
ここで、論理回路群およびスキャンテスト方式について、それぞれの概念図(図7,図8)を用いて説明する。
【0006】
図7に示すように、論理回路群103は、記憶素子101と組み合わせ回路102とで構成されている。スキャンテスト方式では、この論理回路群103を、図8に示すように、記憶素子202だけを有する記憶素子部203と、組み合わせ回路204だけを有する組み合わせ回路部205に切り分けて、論理回路群201とする。そして、論理回路群201に対して、シフトモードおよびキャプチャーモードの2つのモードを繰り返してテストを行う。
【0007】
シフトモードとキャプチャーモードとの切り替えは、上記スキャンセルに新たに付加されるセレクタ回路の入力データを選択する機能を備えた、一般的にテストイネーブル端子と呼ばれる端子によって行われる。すなわち、テストイネーブル端子は、スキャンセルをシフトレジスタ状に接続するか否かを制御するために用いられる。
【0008】
上記シフトモードは、テストイネーブル端子をシフトレジスタ状に接続する設定にして、各々のスキャンセルの値を設定するモードである。一方、上記キャプチャーモードは、テストイネーブル端子をシフトレジスタ状に接続しない設定にして、組み合わせ回路を動作させてその値をスキャンセルに取り込むモードである。
【0009】
つづいて、図8を用いてスキャンテストの手順を説明する。
【0010】
まず、テストイネーブル端子によって論理回路群201のモードをシフトモードに設定して、組み合わせ回路部205のテストに必要な値を全てのスキャンセルに設定する。その後、論理回路群201のモードをキャプチャーモードに切り替え、クロック周期を持つクロック信号S206を1周期分入力して、組み合わせ回路部205の動作結果をスキャンセルへ取り込む。つぎに再度、論理回路群201のモードをシフトモードに切り替え、クロック信号S206を入力してスキャンセルの値を順次読み出し、期待値と比較する。この時、同時に次のテストのために組み合わせ回路部205のテストに必要な新しい値を全てのスキャンセルに設定する。以降、以上の動作を繰り返してテストを行う。
【0011】
なお、図8中のテストイネーブル信号208は、テストイネーブル端子と接続された信号線であり、“H”の時にはシフトモードに、“L”の時にはキャプチャーモードに切り換わる。セレクタ207は、テストイネーブル信号208が“H”の時に記憶素子202からの信号を選択し、“L”の時に組み合わせ回路205からの信号を選択する。
【0012】
つぎに、図9を用いて、従来の組み込み自己検査機能を有する1チップマイクロコンピュータについて説明する。
【0013】
従来の組み込み自己検査機能を有する1チップマイクロコンピュータ300は、メモリ301、CPU302、論理回路群303、疑似乱数発生器304、論理回路検査用圧縮器305、パターンカウンタ312、パターン発生器306、メモリ検査用圧縮器307、JTAG回路308、専用のテスト端子群309、仕様の端子群310を備えて構成されている。そして、上記のメモリ301、CPU302、論理回路群303は、バス311を介して互いに接続されている。
【0014】
メモリ301にはCPU302の動作を司るプログラムが記憶されている。論理回路群303は1チップマイクロコンピュータ300の仕様動作を実現する回路で構成されている。疑似乱数発生器304は、CPU302と論理回路群303とを検査するためのテストパターンとして乱数を発生するものであり、例えば帰還のかかったシフトレジスタで構成されるリニアフィードバックシフトレジスタが用いられる。論理回路検査用圧縮器305は、CPU302と論理回路群303とにより検査中随時出力される値を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタが用いられる。
【0015】
パターンカウンタ312は、組み込み自己検査の実行過程を監視するものであり、カウンタ回路で構成されている。そして、パターンカウンタ312は、疑似乱数発生器304、論理回路検査用圧縮器305、パターン発生器306、メモリ検査用圧縮器307の動作の終了を司る。
【0016】
パターン発生器306は、メモリ301を検査するためのテストパターンを発生するものである。メモリ検査用圧縮器307は、メモリ301より検査中随時出力される値を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタが用いられる。JTAG回路308は、IEEE1149.1の規格に相応する回路で構成されている。すなわち、JTAG回路308は、検査のために命令および付属のデータが回路構成要素に直列に読み込まれ、また命令の実行後に結果のデータが直列に読み出される回路を備えている。なお、IEEE1149.1は、JTAG(joint test action group )により標準のテスト端子仕様およびテストアーキテクチャーが定められた標準規格である。
【0017】
専用のテスト端子群309はIEEE1149.1の規格に準じて、TDI端子、TDO端子、TCK端子、TMS端子を備えている。TCK端子にはクロック周期を持つ信号が入力される。TMS端子にはテスト動作を制御する信号が入力され、TCK端子から入力される信号に同期してサンプリングされる。TDI端子には命令や付属のデータが直列に入力され、TCK端子から入力される信号に同期してサンプリングされる。TDO端子からは結果のデータが直列に出力され、出力値の変更はTCK端子に入力される信号に同期して行われる。
【0018】
仕様の端子群310は、1チップマイクロコンピュータ300の仕様により入力端子、出力端子、入出力端子を備えている。
【0019】
従来の組み込み自己検査機能を有した1チップマイクロコンピュータ300は、専用のテスト端子群309により制御される。JTAG回路308は、専用のテスト端子群309からの命令と付属のデータとに従って、疑似乱数発生器304、パターン発生器306、論理回路検査用圧縮器305、メモリ検査用圧縮器307の初期状態の設定を行い、組み込み自己検査を起動する。
【0020】
組み込み自己検査が起動されると、疑似乱数発生器304で発生する信号をテストパターンとして、スキャンテストが可能になったCPU302および論理回路群303に入力される。そして、CPU302および論理回路群303から出力されるデータを論理回路検査用圧縮器305によって圧縮し、その値をCPU302および論理回路群303の組み込み自己検査の検査結果とする。
【0021】
これと同時に、パターン発生器306がメモリ301にテストパターンを出力し、メモリ301から出力されるデータをメモリ検査用圧縮器307によって圧縮し、その値をメモリ301の組み込み自己検査の検査結果とする。
【0022】
組み込み自己検査の終了後、パターンカウンタ312によって、論理回路検査用圧縮器305およびメモリ検査用圧縮器307の動作が停止され、専用のテスト端子群309からの命令と付属のデータとに従って、CPU302および論理回路群303の組み込み自己検査の検査結果とメモリ301の組み込み自己検査の検査結果とを読み出し、1チップマイクロコンピュータ300の外部で期待値と比較して判定を行う。
【0023】
【発明が解決しようとする課題】
しかしながら、上記従来の構造では、組み込み自己検査機能を有した1チップマイクロコンピュータは、専用のテスト端子を必要とするため、1チップマイクロコンピュータの端子数が増加するという問題が生ずる。
【0024】
例えば、ICカードは、ISO(international organization for standardization)7816に、端子数、配置座標、端子の機能仕様が規定されているが、端子が8端子しか存在しない。そのため、組み込み自己検査を行う必要性があるにもかかわらず、専用のテスト端子を増設するという方法では実用化できないという問題があった。
【0025】
本発明は、上記の問題点を解決するためになされたもので、その目的は、限られた端子数に納められない専用のテスト端子を用いず、組み込み自己検査を実行することができる1チップマイクロコンピュータおよびその制御方法、ならびにICカードを提供することにある。
【0026】
【課題を解決するための手段】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路とを備えていることを特徴としている。
【0027】
また、本発明の1チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(以下、「第1の処理」と記す。)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(以下、「第2の処理」と記す。)とを含んでいることを特徴としている。
【0028】
上記の構成または方法により、CPUの指令に従って組み込み自己検査を起動し(自己検査起動回路、第1の処理)、論理回路群およびメモリの出力信号を検出することができる(自己検査制御回路、第2の処理)。よって、組み込み自己検査の終了後、CPUの指令に従ってこれら出力信号に基づく結果診断を1チップマイクロコンピュータ内部において行うことができる。すなわち、1チップマイクロコンピュータに内蔵されているCPUによって、組み込み自己検査の起動と結果診断とを制御することができる。
【0029】
よって、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。したがって、上記の構成または方法によれば、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。
【0030】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路で検出された上記のCPU、論理回路群およびメモリの出力信号を外部に出力する検査結果出力回路とを備えていることを特徴としている。
【0031】
また、本発明の1チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(以下、「第3の処理」と記す。)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(以下、「第4の処理」と記す。)と、上記自己検査制御回路で検出された上記のCPU、論理回路群およびメモリの出力信号を外部に出力する処理(以下、「第5の処理」と記す。)とを含んでいることを特徴としている。
【0032】
上記の構成または方法により、CPUの指令に従って組み込み自己検査を起動し(自己検査起動回路、第3の処理)、CPU、論理回路群およびメモリの出力信号を検出することができる(自己検査制御回路、第4の処理)。そして、組み込み自己検査の終了後、CPUの指令に従ってこれらの出力信号を外部に出力することができる(検査結果出力回路、第5の処理)。
【0033】
よって、組み込み自己検査の起動および出力信号の検出が、1チップマイクロコンピュータに内蔵されているCPUによって制御されるため、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【0034】
さらに、組み込み自己検査の終了後、CPU、論理回路群およびメモリの出力信号に基づいて、1チップマイクロコンピュータの外部において結果診断を行うことができる。すなわち、論理回路群およびメモリの結果診断に加えて、CPU自身の結果診断を行うことが可能となる。
【0035】
したがって、上記の構成または方法によれば、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができる。
【0036】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させるリセット回路とを備えていることを特徴としている。
【0037】
また、本発明の1チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(以下、「第6の処理」と記す。)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(以下、「第7の処理」と記す。)と、上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させる処理(以下、「第8の処理」と記す。)とを含んでいることを特徴としている。
【0038】
上記の構成または方法により、CPUの指令に従って組み込み自己検査を起動し(自己検査起動回路、第6の処理)、CPU、論理回路群およびメモリの出力信号を検出することができる(自己検査制御回路、第7の処理)。そして、組み込み自己検査の終了後、CPUをリセットして、CPU、論理回路群およびメモリを出力信号に基づいて診断するプログラムをCPUに実行させることができる(リセット回路、第8の処理)。
【0039】
よって、組み込み自己検査の起動および出力信号の検出は、1チップマイクロコンピュータに内蔵されているCPUによって制御されるため、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【0040】
さらに、組み込み自己検査の終了後、CPU、論理回路群およびメモリの出力信号に基づく結果診断を、CPUをリセットすることによって、1チップマイクロコンピュータの内部において行うことができる。すなわち、外部に結果診断のための装置を用意する必要がない。
【0041】
したがって、上記の構成または方法によれば、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができる。しかも、これらの診断を、何ら外部の検査装置を用いることなく、1チップマイクロコンピュータ自身で行うことができる。
【0042】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する自己検査起動回路と、同一の端子群を介して入出力される自己検査用信号群および仕様の信号群を切り替える端子切り替え手段とを備えていることを特徴としている。
【0043】
また、本発明の1チップマイクロコンピュータの制御方法は、上記の課題を解決するために、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(以下、「第9の処理」と記す。)と、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(以下、「第10の処理」と記す。)と、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替える処理(以下、「第11の処理」と記す。)とを含んでいることを特徴としている。
【0044】
上記の構成または方法により、CPUの指令に従って組み込み自己検査を起動し(自己検査起動回路、第9の処理)、CPU、論理回路群およびメモリの出力信号を検出することができる(自己検査制御回路、第10の処理)。そして、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替えることができる(端子切り替え手段、第11の処理)。
【0045】
よって、仕様上の端子数を増加させることなく組み込み自己検査を実行することができる。すなわち、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することが可能となる。
【0046】
したがって、上記の構成または方法によれば、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができる。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができる。しかも、これらの診断を、何ら外部の検査装置を用いることなく、1チップマイクロコンピュータ自身で行うことができる。
【0047】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記自己検査起動回路がIEEE1149.1規格に準拠したテスト回路であることを特徴としている。
【0048】
上記の構成により、さらに、1チップマイクロコンピュータの自己検査制御回路を起動する自己検査起動回路として、IEEE1149.1規格に準拠したテスト回路(JTAG回路)を使用することができる。
【0049】
よって、JTAG回路の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うので、CPU自身のスキャンテストおよびその結果診断が可能となる。さらに、標準的な規格に準拠したJTAG回路をテスト回路に採用することにより、1チップマイクロコンピュータの設計、開発期間を短縮することができる。加えて、JTAG回路とともに上記端子切り替え手段を備えることにより、仕様上の端子数を増加させることなく、標準的な規格に準拠した構成および方法で組み込み自己検査を実行することが可能となる。
【0050】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示する所定の電位を検出する特別電圧検出回路を具備することを特徴としている。
【0051】
上記の構成により、さらに、特別電圧検出回路が所定の電位を検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を1チップマイクロコンピュータの所定の端子に入力する電位により外部から制御できる。
【0052】
本発明の1チップマイクロコンピュータは、上記の課題を解決するために、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示するコマンドを検出するコマンド検出回路を具備することを特徴としている。
【0053】
上記の構成により、さらに、コマンド検出回路が所定のコマンドを検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を1チップマイクロコンピュータの所定の端子に入力するコマンドにより外部から制御できる。
【0054】
本発明のICカードは、上記の課題を解決するために、上記の1チップマイクロコンピュータを搭載したことを特徴としている。
【0055】
上記の構成により、限られた端子数で組み込み自己検査を実行できることを特徴とする1チップマイクロコンピュータをICカードに搭載することにより、ISO7816で8本という限られた端子数に規定されているICカードにおいても組み込み自己検査を行うことが可能となる。
【0056】
また、テスト回路として標準的なIEEE1149.1規格に準拠したJTAG回路を採用した1チップマイクロコンピュータを用いることにより、JTAG回路の制御信号を用いてICカードの組み込み自己検査を実行することが可能となる。よって、JTAG回路は標準的な規格に準拠した回路であるため、この回路を採用した1チップマイクロコンピュータの設計、開発期間を短縮でき、それゆえ、それを用いたICカードの開発期間を短縮することが可能となる。
【0057】
【発明の実施の形態】
〔実施の形態1〕
本発明の一実施の形態について図1および図2に基づいて説明すれば、以下のとおりである。
【0058】
本実施の形態に係る1チップマイクロコンピュータは、CPU(central processing unit )(内蔵CPU)と、CPUの動作を司るプログラムが記憶されているメモリと、論理回路群とが互いにバスで接続されて構成されるとともに、組み込み自己検査機能(BIST:built−in self test)を備えている論理LSI(large scale integrated circuit)である。そして、上記1チップマイクロコンピュータは、組み込み自己検査機能を実行する自己検査制御回路を起動する起動レジスタと、自己検査制御回路に初期値を設定する組み込み自己検査起動パターン発生器とを備えることによって、CPUがメモリおよび論理回路群の組み込み自己検査を制御することができる。
【0059】
すなわち、本実施の形態に係る1チップマイクロコンピュータは、メモリおよび論理回路群のスキャンテストを行うものである。なお、上記1チップマイクロコンピュータはCPUのスキャンテストを行わない。その理由は、CPUは、メモリおよび論理回路群のスキャンテスト結果に基づいて、メモリおよび論理回路群を診断する必要があり、CPU自身のスキャンテストを行うとこれらを診断できないからである。
【0060】
図1に示すように、本実施の形態に係る1チップマイクロコンピュータ10は、メモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、起動レジスタ18、組み込み自己検査起動パターン発生器19、仕様の端子群21を備えて構成されている。そして、上記のメモリ11、CPU12、論理回路群13、起動レジスタ18、論理回路検査用圧縮器15、メモリ検査用圧縮器17は、バス22を介して互いに接続されている。
【0061】
なお、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17、パターンカウンタ20が、自己検査制御回路に相当する。また、起動レジスタ18、組み込み自己検査起動パターン発生器19が、自己検査起動回路に相当する。
【0062】
上記のメモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、仕様の端子群21は、前述した従来の技術での説明と同様の構成および機能を有している。
【0063】
すなわち、上記メモリ11には、CPU12の動作を司るプログラムが記憶されている。
【0064】
上記論理回路群13は、1チップマイクロコンピュータ10の仕様動作を実現する回路で構成されている。論理回路群13には、例えば、タイマーやシリアル通信制御回路などが含まれている。タイマーはプログラムの時間制御のための回路である。シリアル通信制御回路は、外部とのデータのやりとりのためのインタフェースである。
【0065】
上記疑似乱数発生器14は、CPU12と論理回路群13とを検査するためのテストパターンとして乱数を発生するものであり、例えば帰還のかかったシフトレジスタで構成されるリニアフィードバックシフトレジスタを用いることができる。
【0066】
上記論理回路検査用圧縮器15は、CPU12と論理回路群13とにより検査中随時出力される値(信号)を圧縮するものであり、例えば上記リニアフィードバックシフトレジスタを用いることができる。
【0067】
上記パターンカウンタ20は、組み込み自己検査の実行過程を監視するものであり、カウンタ回路で構成されている。そして、パターンカウンタ20は、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17の動作の終了を司る。
【0068】
上記パターン発生器16は、メモリ11を検査するためのテストパターンを発生するものである。
【0069】
上記メモリ検査用圧縮器17は、メモリ11より検査中随時出力される値(信号)を圧縮するものであり、例えば上記のリニアフィードバックシフトレジスタを用いることができる。
【0070】
上記仕様の端子群21は、1チップマイクロコンピュータ10の仕様により入力端子、出力端子、入出力端子を備えている。
【0071】
さらに、上記起動レジスタ18は、1チップマイクロコンピュータ10のアドレス空間内に配置され、組み込み自己検査機能のテスト動作を起動するものであり、ラッチ回路で構成されている。
【0072】
上記組み込み自己検査起動パターン発生器19は、自己検査制御回路(テスト制御回路)である疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17に、初期値であるパターンを発生してそれぞれに設定するものであり、カウンタ回路により構成されている。
【0073】
つづいて、図2に示したフローチャートを参照しながら、上記1チップマイクロコンピュータ10の組み込み自己検査の動作について説明する。
【0074】
ステップS11では、1チップマイクロコンピュータ10に電源が投入され初期化されることによって、メモリ11に記憶されているCPU12の動作を司るプログラムに従って、CPU12が動作を開始する。
【0075】
ステップS12(第1の処理)では、組み込み自己検査に起動をかけるため、CPU12がバス22を介して起動レジスタ18にアドレス信号P12aおよび書き込み信号P12w(書き込みデータ信号)を出力して、起動レジスタ18の内容をデータ「1」に設定する。
【0076】
ステップS13(第1の処理)では、起動レジスタ18の内容がデータ「1」に設定されることにより、起動レジスタ18は組み込み自己検査起動パターン発生器19に起動設定信号P18を出力する。これにより、組み込み自己検査起動パターン発生器19は、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17へ初期値設定信号P19i(初期値)を出力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号P18が論理回路群13にも入力されて、論理回路群13はスキャンテストが可能になる。
【0077】
ステップS14(第2の処理)では、組み込み自己検査起動パターン発生器19が、疑似乱数発生器14、パターン発生器16、パターンカウンタ20に検査開始信号P19sを出力して、組み込み自己検査の動作が開始される。
【0078】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器14が発生するテストパターン信号P14(テストパターン)をスキャンテストが可能になった論理回路群13にテストパターンとして入力し、論理回路群13から出力されるデータ信号P13(出力信号)を論理回路検査用圧縮器15によって圧縮して、その値を論理回路群13の組み込み自己検査の検査結果とする。
【0079】
同時に、パターン発生器16が発生するテストパターン信号P16(テストパターン)をスキャンテストが可能になったメモリ11にテストパターンとして入力し、メモリ11から出力されるデータ信号P11(出力信号)をメモリ検査用圧縮器17によって圧縮して、その値をメモリ11の組み込み自己検査の検査結果とする。
【0080】
ステップS15(第2の処理)では、組み込み自己検査の実行終了後、パターンカウンタ20からテスト終了信号P20が論理回路検査用圧縮器15およびメモリ検査用圧縮器17に入力され、論理回路検査用圧縮器15およびメモリ検査用圧縮器17の動作が停止する。このとき、論理回路群13のテスト結果が論理回路検査用圧縮器15に、メモリ11のテスト結果がメモリ検査用圧縮器17にそれぞれ格納される。なお、これと同時に、テスト終了信号P20がパターン発生器16および疑似乱数発生器14にも入力されて、それぞれの動作が停止する。
【0081】
そして、CPU12は、バス22にて接続されて、1チップマイクロコンピュータ10のアドレス空間内に配置されている論理回路検査用圧縮器15およびメモリ検査用圧縮器17に、アドレス信号P12aおよび読み込み信号P12rを出力して、論理回路検査用圧縮器15およびメモリ検査用圧縮器17に格納されている値をバス22を介して読み出す。
【0082】
ステップS16では、CPU12が、読み出された論理回路検査用圧縮器15の値およびメモリ検査用圧縮器17の値をあらかじめメモリ11に記憶されている期待値とそれぞれ比較し結果診断を行う。この時、例えば、論理回路検査用圧縮器15の値およびメモリ検査用圧縮器17の値をシリアル通信にて1チップマイクロコンピュータ10の外部に出力し、1チップマイクロコンピュータ10の外部で期待値と比較して結果診断を行っても差し支えはない。
【0083】
ステップS17n・S17aでは、組み込み自己検査に必要な時間の経過後、ステップS16での診断結果を仕様の端子群21のうち1端子を用いて出力し、この端子を1チップマイクロコンピュータ10の外部より観測することによって、故障の有無を確認することができる。
【0084】
例えば、ステップS16にて正常、つまり故障が存在しないと診断された場合は、診断結果を出力している端子に経時的に変化する信号を出力する(S17n)。一方、ステップS16にて異常、つまり故障が存在すると診断された場合は、診断結果を出力している端子に経時的に変化しない信号を出力する(S17a)。
【0085】
なお、本実施の形態では、CPUの指令による端子の状態に基づいて、正常/異常の識別を行っている。よって、上記以外の方法によっても、正常/異常を識別することは可能である。例えば、上記の説明とは逆、すなわち、正常な場合に経時的に変化しない信号を出力し、異常な場合に経時的に変化する信号を出力してもよい。しかし、経時的に変化する信号が出力できなくなる故障もあり得るため、上記のように「正常な場合に経時的に変化する信号を出力する」方が望ましい。
【0086】
以上のように、本実施の形態に係る1チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段とを備えている。
【0087】
これにより、内蔵CPUからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後の検査結果も内蔵CPUからの指令より1チップマイクロコンピュータ内部において期待値と比較することによって、メモリおよび論理回路群のスキャンテストを内蔵CPUが起動と結果診断を制御することができる。
【0088】
〔実施の形態2〕
本発明の他の実施の形態について図3および図4に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態1において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【0089】
本実施の形態に係る1チップマイクロコンピュータは、前記実施の形態1の1チップマイクロコンピュータでは不可能であった、CPU自身のスキャンテストを可能とするものである。
【0090】
前記実施の形態1の1チップマイクロコンピュータは、CPU自身のスキャンテストを行うと、▲1▼メモリのテストの診断、▲2▼論理回路群のスキャンテストの診断、▲3▼CPU自身のスキャンテストの診断がCPUによって実行できない。そこで、本実施の形態に係る1チップマイクロコンピュータは、組み込み自己検査の終了時、検査結果を1チップマイクロコンピュータの外部に出力する検査結果出力器を備えて、診断を外部において行う。これによって、本実施の形態に係る1チップマイクロコンピュータでは、論理回路群およびメモリの組み込み自己検査を制御する内蔵CPUを組み込み自己検査の対象とすることができる。
【0091】
図3に示すように、本実施の形態に係る1チップマイクロコンピュータ30は、メモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、起動レジスタ18、組み込み自己検査起動パターン発生器19、仕様の端子群21に加えて、検査結果出力器(検査結果出力回路)31を備えて構成されている。そして、上記のメモリ11、CPU12、論理回路群13、起動レジスタ18は、バス32を介して互いに接続されている。
【0092】
ここで、上記のメモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、起動レジスタ18、組み込み自己検査起動パターン発生器19、仕様の端子群21は、前記の実施の形態1での説明と同様の構成と機能を有する。
【0093】
そして、上記検査結果出力器31は、組み込み自己検査の終了後、検査結果として論理回路検査用圧縮器15およびメモリ検査用圧縮器17の値を1チップマイクロコンピュータの外部へ出力するための制御信号を発生するものであり、カウンタ回路を備えている。
【0094】
つづいて、図4に示したフローチャートを参照しながら、上記1チップマイクロコンピュータ30の組み込み自己検査の動作について説明する。
【0095】
ステップS21では、1チップマイクロコンピュータ30に電源が投入され初期化されることによって、メモリ11に記憶されているCPU12の動作を司るプログラムに従って、CPU12が動作を開始する。
【0096】
ステップS22(第3の処理)では、組み込み自己検査に起動をかけるため、CPU12が1チップマイクロコンピュータ30のアドレス空間内に配置されバス32にて接続されている起動レジスタ18に、アドレス信号P12aおよび書き込み信号P12w(書き込みデータ信号)をバス32を介して出力して、起動レジスタ18の内容をデータ「1」に設定する。
【0097】
ステップS23(第3の処理)では、起動レジスタ18の内容がデータ「1」に設定されることにより、起動レジスタ18は組み込み自己検査起動パターン発生器19に起動設定信号P18を出力する。これにより、組み込み自己検査起動パターン発生器19は、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17へ初期値設定信号P19iを出力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号P18がCPU12および論理回路群13にも入力され、CPU12および論理回路群13はスキャンテストが可能になる。
【0098】
ステップS24(第4の処理)では、組み込み自己検査起動パターン発生器19が、疑似乱数発生器14、パターン発生器16、パターンカウンタ20に検査開始信号P19sを出力して、組み込み自己検査の動作が開始される。
【0099】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器14が発生するテストパターン信号P14をスキャンテストが可能になったCPU12および論理回路群13にテストパターンとして入力し、CPU12および論理回路群13から出力されるデータ信号P12(出力信号)およびデータ信号P13を論理回路検査用圧縮器15によって圧縮して、その値をCPU12および論理回路群13の組み込み自己検査の検査結果とする。
【0100】
同時に、パターン発生器16が発生するテストパターン信号P16をスキャンテストが可能になったメモリ11にテストパターンとして入力し、メモリ11から出力されるデータ信号P11をメモリ検査用圧縮器17によって圧縮して、その値をメモリ11の組み込み自己検査の検査結果とする。
【0101】
ステップS25(第5の処理)では、組み込み自己検査の実行終了後、パターンカウンタ20からテスト終了信号P20が論理回路検査用圧縮器15およびメモリ検査用圧縮器17に入力され、論理回路検査用圧縮器15およびメモリ検査用圧縮器17の動作が停止する。このとき、CPU12および論理回路群13のテスト結果が論理回路検査用圧縮器15に、メモリ11のテスト結果がメモリ検査用圧縮器17にそれぞれ格納される。なお、これと同時に、テスト終了信号P20がパターン発生器16および疑似乱数発生器14にも入力されて、それぞれの動作が停止する。
【0102】
これと同時に、テスト終了信号P20は検査結果出力器31にも入力される。テスト終了信号P20が入力された検査結果出力器31は、論理回路検査用圧縮器15およびメモリ検査用圧縮器17にクロック周期を持った出力クロック信号P31を入力する。これにより、従来の技術での説明と同様に、シフトレジスタ状に構成された論理回路検査用圧縮器15およびメモリ検査用圧縮器17は、出力クロック信号P31が1周期入力されるたびに1ビットの出力データ信号Pout(出力信号)を出力線に順次出力する。そして、組み込み自己検査に必要な時間を経た後、仕様の端子群21のうち1端子を用いて出力した出力データ信号Poutを、1チップマイクロコンピュータ30の外部において、期待値と比較することにより、故障の有無を判定する。
【0103】
以上のように、本実施の形態に係る1チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段と、組み込み自己検査の結果を1チップマイクロコンピュータの外部に出力するテスト結果出力手段とを備えている。
【0104】
これにより、内蔵CPUからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後、検査結果を1チップマイクロコンピュータの外部に出力して外部において期待値と比較することによって、内蔵CPUを組み込み自己検査の対象とすることができる。
【0105】
〔実施の形態3〕
本発明のさらに他の実施の形態について図5および図6に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態1および2において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【0106】
前記実施の形態2の1チップマイクロコンピュータは、CPU自身のスキャンテストを可能とするために、診断を外部において行う。これに対して、本実施の形態に係る1チップマイクロコンピュータは、CPU自身のスキャンテストが可能であり、テスト結果の診断もCPUで行うものである。
【0107】
具体的には、本実施の形態に係る1チップマイクロコンピュータは、内蔵CPUを初期化するリセット発生器を備え、組み込み自己検査の終了後に内蔵CPUをリセットして、再びメモリに記憶されているプログラムに従ってCPUを動作させる。これにより、メモリ、論理回路群、CPUのスキャンテストの結果を論理回路検査用圧縮器15およびメモリ検査用圧縮器17に内蔵されているメモリに記憶した後、リセット発生器によってCPUをリセットして、CPU自身で診断を行うことができる。
【0108】
図5に示すように、本実施の形態に係る1チップマイクロコンピュータ50は、メモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、起動レジスタ18、組み込み自己検査起動パターン発生器19、仕様の端子群21に加えて、リセット発生器(リセット回路)51を備えて構成されている。そして、上記のメモリ11、CPU12、論理回路群13、起動レジスタ18、論理回路検査用圧縮器15、メモリ検査用圧縮器17は、バス52を介して互いに接続されている。
【0109】
ここで、上記のメモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、起動レジスタ18、組み込み自己検査起動パターン発生器19、仕様の端子群21は、前記の実施の形態1での説明と同様の構成と機能を有する。
【0110】
そして、上記リセット発生器51は、組み込み自己検査の終了後、CPU12の初期化を行う信号を発生するものである。
【0111】
つづいて、図6に示したフローチャートを参照しながら、上記1チップマイクロコンピュータ50の組み込み自己検査の動作について説明する。
【0112】
ステップS31では、1チップマイクロコンピュータ50に電源が投入され初期化されることによって、メモリ11に記憶されているCPU12の動作を司るプログラムに従って、CPU12が動作を開始する。
【0113】
ステップS32では、CPU12は1チップマイクロコンピュータ50のアドレス空間内に配置されバス52にて接続されている起動レジスタ18にアドレス信号P12aおよび読み込み信号P12rを入力し、起動レジスタ18の内容を確認する。起動レジスタ18の内容は、ステップS31でデータ「0」に初期化されており、CPU12は起動レジスタ18の内容がデータ「0」であることを確認して電源投入時の初期化であることを認識する。そして、起動レジスタ18の内容がデータ「0」(正常)のときステップS33へ移行する。一方、起動レジスタ18の内容がデータ「1」(異常)のときステップS38へ移行する。
【0114】
ステップS33(第6の処理)では、組み込み自己検査に起動をかけるため、CPU12が1チップマイクロコンピュータ50のアドレス空間内に配置されバス52にて接続されている起動レジスタ18に、アドレス信号P12aおよび書き込み信号P12w(書き込みデータ信号)をバス52を介して入力して、起動レジスタ18の内容をデータ「1」に設定する。
【0115】
ステップS34(第6の処理)では、起動レジスタ18の内容がデータ「1」に設定されることにより、起動レジスタ18は組み込み自己検査起動パターン発生器19に起動設定信号P18を入力する。これにより、組み込み自己検査起動パターン発生器19は、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17へ初期値設定信号P19iを入力して、任意の初期値にそれぞれ設定する。これと同時に、起動設定信号P18がCPU12および論理回路群13にも入力され、CPU12および論理回路群13はスキャンテストが可能になる。
【0116】
ステップS35(第7の処理)では、組み込み自己検査起動パターン発生器19が、疑似乱数発生器14、パターン発生器16、パターンカウンタ20に検査開始信号P19sを入力して、組み込み自己検査の動作が開始される。
【0117】
組み込み自己検査の動作が開始すると、従来の技術と同様に疑似乱数発生器14が発生するテストパターン信号P14をスキャンテストが可能になったCPU12および論理回路群13にテストパターンとして入力し、CPU12および論理回路群13から出力されるデータ信号P13を論理回路検査用圧縮器15によって圧縮して、その値をCPU12および論理回路群13の組み込み自己検査の検査結果とする。
【0118】
同時に、パターン発生器16がメモリ11にテストパターン信号P16を入力し、メモリ11から出力されるデータ信号P11をメモリ検査用圧縮器17によって圧縮して、その値をメモリ11の組み込み自己検査の検査結果とする。
【0119】
ステップS36(第8の処理)では、組み込み自己検査の実行終了後、パターンカウンタ20からテスト終了信号P20が論理回路検査用圧縮器15およびメモリ検査用圧縮器17に入力され、論理回路検査用圧縮器15およびメモリ検査用圧縮器17の動作が停止する。このとき、CPU12および論理回路群13のテスト結果が論理回路検査用圧縮器15に、メモリ11のテスト結果がメモリ検査用圧縮器17にそれぞれ格納される。なお、これと同時に、テスト終了信号P20がパターン発生器16および疑似乱数発生器14にも入力されて、それぞれの動作が停止する。
【0120】
これと同時に、テスト終了信号P20はリセット発生器51にも入力される。テスト終了信号P20が入力されたリセット発生器51は、CPU12にリセット信号P51を出力してCPU12を初期化する。
【0121】
ステップS37(第8の処理)では、CPU12が初期化されて、スキャンテストの対象である状態から、メモリ11に記憶されているプログラムに従って動作する状態に戻り、動作を再開する。CPU12は、起動レジスタ18にアドレス信号P12aおよび読み込み信号P12rを入力し、起動レジスタ18の内容がデータ「1」であることを確認して、電源投入時の初期化ではなく、組み込み自己検査終了後のリセット発生器51からの初期化であることを認識する。
【0122】
ステップS38(第8の処理)では、CPU12は、起動レジスタ18にアドレス信号P12aおよび書き込み信号P12w(書き込みデータ信号)をバス52を介して入力して起動レジスタ18の内容をデータ「0」に設定する。
【0123】
ステップS39(第8の処理)では、CPU12は、1チップマイクロコンピュータ50のアドレス空間内に配置され、バス52にて接続されている論理回路検査用圧縮器15およびメモリ検査用圧縮器17に、アドレス信号P12aおよび読み込み信号P12rを入力して、論理回路検査用圧縮器15およびメモリ検査用圧縮器17の値をバス52を介して読み出す。
【0124】
ステップS40(第8の処理)では、CPU12が、読み出された論理回路検査用圧縮器15の値およびメモリ検査用圧縮器17の値をあらかじめメモリ11に記憶されている期待値とそれぞれ比較し結果診断を行う。この時、例えば、論理回路検査用圧縮器15の値およびメモリ検査用圧縮器17の値をシリアル通信にて1チップマイクロコンピュータ50の外部に出力し、1チップマイクロコンピュータ50の外部で期待値と比較して結果診断を行っても差し支えはない。
【0125】
ステップS41n・S41aでは、組み込み自己検査に必要な時間の経過後、ステップS40での診断結果を仕様の端子群21のうち1端子を用いて出力し、この端子を1チップマイクロコンピュータ50の外部より観測することによって、故障の有無を確認することができる。
【0126】
例えば、ステップS40にて正常、つまり故障が存在しないと診断された場合は、診断結果を出力している端子に経時的に変化する信号を出力する(S41n)。一方、ステップS40にて異常、つまり故障が存在すると診断された場合は、診断結果を出力している端子に経時的に変化しない信号を出力する(S41a)。
【0127】
ここで、リセットの動作に異常が発生した場合について説明する。
【0128】
第一に、電源投入直後のリセットの判別(S32)において、例えば起動レジスタ18の出力(起動設定信号P18)に、常に状態が「1」であり「0」に変化することができないという縮退故障が存在した場合、異常と判別される。そして、ステップS33からステップS37の処理を行わずにステップS38へ移行する。したがって、ステップS39にて論理回路検査用圧縮器15およびメモリ検査用圧縮器17の値を読み出しても、次のステップS40にて異常と判別されるため、診断結果を出力している端子から正常を示す信号(経時的に変化する信号)が出力されず、故障が存在すると診断できる。
【0129】
第二に、組み込み自己検査終了後のリセットの判別(S37)において、例えば起動レジスタ18の出力(起動設定信号P18)に、常に状態が「0」であり「1」に変化することができないという縮退故障が存在した場合、ステップS37にて異常と判別される。そして、ステップS33へ移行するので、ステップS33からステップS37の状態の間をループすることになる。したがって、ステップS41が処理されないため、診断結果を出力している端子から正常を示す信号(経時的に変化する信号)が出力されず、異常を示す信号(経時的に変化しない信号)が検出されて、故障が存在すると診断できる。
【0130】
以上のように、本実施の形態に係る1チップマイクロコンピュータは、組み込み自己検査機能を備え、さらに、テスト動作を起動する手段と、テスト制御回路に初期値を設定するパターン発生手段と、組み込み自己検査の終了後に内蔵CPUを初期化するリセット発生手段とを備えている。
【0131】
これにより、内蔵CPUからの指令によって組み込み自己検査を起動し、組み込み自己検査の終了後、組み込み自己検査の対象となる回路構成から再びCPUの動作を司るプログラムが記憶されるメモリに従って動作を開始することができる。したがって、上記1チップマイクロコンピュータは、CPU自身のスキャンテストが可能であり、テスト結果の診断もCPUで行うことができる。
【0132】
〔実施の形態4〕
本発明のさらに他の実施の形態について図10から図12に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態1から3において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【0133】
図10に示すように、本実施の形態に係る1チップマイクロコンピュータ70は、メモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、テスト回路71、端子切り替え回路(端子切り替え手段)73、仕様の端子群(端子群)21を備えて構成されている。そして、上記のメモリ11、CPU12、論理回路群13、回路検査用圧縮器15、メモリ検査用圧縮器17は、バス72を介して互いに接続されている。
【0134】
上記のメモリ11、CPU12、論理回路群13、疑似乱数発生器14、論理回路検査用圧縮器15、パターンカウンタ20、パターン発生器16、メモリ検査用圧縮器17、仕様の端子群21は、前述した従来の技術での説明と同様の構成および機能を有しており、実施の形態1においても説明されているのでここでは省略する。
【0135】
また、上記テスト回路71は、IEEE1149.1規格に準拠したJTAG回路であり、前述した従来の技術での説明と同様の構成および機能を有しているため、ここでは省略する。
【0136】
なお、疑似乱数発生器14、論理回路検査用圧縮器15、パターン発生器16、メモリ検査用圧縮器17、パターンカウンタ20が、自己検査制御回路に相当する。また、テスト回路71が、自己検査起動回路に相当する。
【0137】
上記端子切り替え回路73は、テスト回路71とのテスト用入出力信号群(自己検査用信号群)P71あるいは仕様の入出力信号群(仕様の信号群)P70のどちらか一方を、仕様の端子群21に接続する制御を行う。なお、仕様の入出力信号群P70とは、1チップマイクロコンピュータ70が通常の機能を実現するために、仕様の端子群21に接続する必要のある信号群のことである。
【0138】
ここで、図11および図12を用いて、上記端子切り替え回路73の具体的な構成を2つ示す。
【0139】
(1)特別な電位の信号を検出する構成(電圧検出方法)
図11に示すように、端子切り替え回路73は、特別電圧検出回路73aと、セレクタ回路73bとを備えて構成されてもよい。
【0140】
上記特別電圧検出回路73aは、仕様の端子群21の所定の端子により、信号群の切り替えを指示する、仕様動作電圧以外の特別な電位の信号の入力を検出する。すなわち、特別電圧検出回路73aは、特別な電位の信号の入力を検出した場合、特別電圧検出信号P73aをデータ「0」からデータ「1」に推移して、セレクタ回路73bへ伝達する。
【0141】
ここで、特別電圧検出回路73aが検出する特別な電位の信号としては、仕様動作と識別が可能であればよい。また、この信号は仕様の端子群21の1本もしくは複数本の端子から入力できる。
【0142】
上記セレクタ回路73bは、仕様の入出力信号群P70およびテスト回路71のテスト用入出力信号群P71が接続されるとともに、特別電圧検出信号P73aと接続されている。そして、セレクタ回路73bは、特別電圧検出信号P73aがデータ「0」のとき、仕様の端子群21に仕様の入出力信号群P70を接続し、特別電圧検出信号P73aがデータ「0」からデータ「1」に推移したとき、仕様の端子群21にテスト回路71のテスト用入出力信号群P71を接続する。すなわち、セレクタ回路73bは、特別電圧検出信号P73aに応じて、仕様の端子群21に接続する信号を仕様の入出力信号群P70とテスト用入出力信号群P71とで切り替えてインタフェースを確立する。
【0143】
(2)コマンドを検出する構成(コマンド検出方法)
また、図12に示すように、端子切り替え回路73は、上記特別電圧検出回路73aの代わりに、コマンド検出回路73cを備えて構成されてもよい。
【0144】
上記コマンド検出回路73cは、仕様の端子群21の所定の端子により、信号群の切り替えを指示する、所定のコマンドの入力を検出する。すなわち、コマンド検出回路73cは、特定のコマンドの入力を検出した場合、コマンド検出信号P73cをデータ「0」からデータ「1」に推移して、セレクタ回路73aへ伝達する。
【0145】
ここで、コマンド検出回路73cが検出する特定のコマンドとしては、仕様動作のためのコマンドと識別が可能であればよい。また、このコマンドは仕様の端子群21の1本もしくは複数本の端子から入力できる。
【0146】
上記セレクタ回路73bは、仕様の入出力信号群P70およびテスト回路71のテスト用入出力信号群P71が接続されるとともに、コマンド検出信号P73cと接続されている。そして、セレクタ回路73bは、コマンド検出信号P73cがデータ「0」のとき、仕様の端子群21に仕様の入出力信号群P70を接続し、コマンド検出信号P73cがデータ「0」からデータ「1」に推移したとき、仕様の端子群21にテスト回路71のテスト用入出力信号群P71を接続する。すなわち、セレクタ回路73bは、コマンド検出信号P73cに応じて、仕様の端子群21に接続する信号を仕様の入出力信号群P70とテスト用入出力信号群P71とで切り替えてインタフェースを確立する。
【0147】
端子切り替え回路73が上記の何れかの構成を備えることによって、テストの時のみテスト回路71が外部より直接制御可能となるため、専用のテスト端子を用いることなく、組み込み自己検査を行うことが可能となる。
【0148】
そして、上記端子切り替え回路73によって、仕様の端子群21からテスト用入出力信号群P71がインタフェースされた場合、仕様の端子群21からIEEE1149.1規格に準じてTDI信号、TDO信号、TCK信号、TMS信号がテスト回路71に入出力される。よって、これらの信号が仕様の端子群21の各端子に入出力されると、従来の技術で述べたように、下記の動作で自己検査が実行される。
【0149】
すなわち、TCK信号でサンプリングされたTDI信号からの命令と付属のデータとに従って、疑似乱数発生器14、パターン発生器16、論理回路検査用圧縮器15、メモリ検査用圧縮器17の初期状態の設定を行い、組み込み自己検査を起動する(第9の処理)。
【0150】
組み込み自己検査が起動されると、疑似乱数発生器14が発生する信号P14がテストパターンとして、スキャンテストが可能になったCPU12および論理回路群13に入力される。そして、CPU12および論理回路群13から出力されるデータ信号P12・P13を論理回路検査用圧縮器15によって圧縮し、その値を論理回路群13の組み込み自己検査の検査結果とする。これと同時に、パターン発生器16がメモリ11にテストパターン信号P16を入力し、メモリ11が出力するデータ信号P11をメモリ検査用圧縮器17によって圧縮して、その値をメモリ11の組み込み自己検査の検査結果とする(第10の処理)。
【0151】
組み込み自己検査の終了後、パターンカウンタ20によって、論理回路検査用圧縮器15およびメモリ検査用圧縮器17の動作が停止され、TCK信号でサンプリングされたTDI信号からの命令と付属のデータとに従って、CPU12および論理回路群13の組み込み自己検査の検査結果とメモリ11の組み込み自己検査の検査結果とを、TCK信号に同期してTDO信号に割り当てられた端子から出力し、1チップマイクロコンピュータ70の外部で期待値と比較して判定を行う。
【0152】
このとき、1チップマイクロコンピュータ70は、端子切り替え回路73によって、自己検査時にテスト用入出力信号群P71を入出力し、通常使用時には仕様の入出力信号群P70を入出力するように、仕様の端子群21を通過する信号群を切り替える処理を行う(第11の処理)。
【0153】
以上のように、1チップマイクロコンピュータ70は、信号群を切り替える端子切り替え回路73を備えることによって、自己検査のための端子を仕様の端子群21に加えて設ける必要がない。したがって、端子数を増加させることなく、IEEE1149.1規格に準拠した標準的な構成で、組み込み自己検査を行うことが可能となる。
【0154】
また、テスト回路71(JTAG回路)の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うことができるため、CPU12自身のスキャンテストおよびその結果診断が可能となる。
【0155】
さらに、テスト回路71は標準的な規格に準拠した回路であるので、これを搭載した1チップマイクロコンピュータの設計、開発期間を短縮することができる。
【0156】
〔実施の形態5〕
本発明のさらに他の実施の形態について図13および図14に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記の実施の形態1から4において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【0157】
本実施の形態では、前記実施の形態4において説明した1チップマイクロコンピュータ70を搭載したICカードについて説明する。
【0158】
図13に示すように、本実施の形態に係るICカード1は、上記1チップマイクロコンピュータ70(図10)を搭載するとともに、1チップマイクロコンピュータ70と外部とのインタフェースである仕様の端子群21が配設されている。
【0159】
上記仕様の端子群21は、通常、ICカード1の実使用状態において、図13に示すようにISO7816に規定されている端子機能を具備する。すなわち、仕様の端子群21の各端子は、VDD、GND、VPP、RFU1、RST、I/O、CLK、RFU2の信号をそれぞれインタフェースする。
【0160】
つぎに、図14は、上記ICカード1の組み込み自己検査を行う際の状態を示している。ICカード1は組み込み自己検査の時、仕様の端子群21の端子のうちのテストに使用する端子を介してテスタ90に接続される。
【0161】
実施の形態4で示したように、1チップマイクロコンピュータ70は端子切り替え回路73を備えており、仕様の端子群21でインタフェースする信号を、仕様の入出力信号群P70およびテスト用入出力信号群P71の何れかを選択して切り替えることができる。よって、ICカード1の仕様の入出力信号群P70とテスト回路71のテスト用入出力信号群P71とを対応させることができる。すなわち、例えば、JTAG回路であるテスト回路71のTDI端子をICカード1のRFU1端子に対応させ、同様に、TDO端子をI/O端子に、TCK端子をCLK端子に、TMS端子をRFU2端子に対応させて、それぞれの端子を共有させることができる。
【0162】
そして、端子の切り替え、すなわち、仕様の入出力信号群P70とテスト用入出力信号群P71とを切り替えるために、ICカード1の外部から切り替え指示を与える。具体的には、仕様動作電圧以外の特別な電位を検出する電圧検出方法(図11)の場合、切り替え指示に相当する電圧をVPP端子から入力する。また、特定のコマンドが入力されたことを検出するコマンド検出方法(図12)の場合、切り替え指示に相当するコマンドをI/O端子から入力し、端子が切り替わった後にI/O端子からTDO信号を出力する。なお、これらの電圧あるいはコマンドは、テスタ90を用いて入力することもできる。
【0163】
以上のように、本実施の形態に係るICカード1は、仕様の端子群21の端子機能を切り替えることにより、テスト時にJTAG回路(テスト回路71)のTDI、TDO、TCK、TMS信号を外部端子ヘインタフェースすることができるため、搭載した1チップマイクロコンピュータ70の組み込み自己検査の起動および結果の診断を外部のテスタ90から行うことが可能となる。
【0164】
なお、本実施の形態は本発明の範囲を限定するものではなく、本発明の範囲内で種々の変更が可能である。
【0165】
【発明の効果】
本発明の発明の1チップマイクロコンピュータは、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路とを備えている構成である。
【0166】
また、本発明の発明の1チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(第1の処理)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記の論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(第2の処理)とを含んでいる方法である。
【0167】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行できるという効果を奏する。したがって、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。
【0168】
本発明の発明の1チップマイクロコンピュータは、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路で検出された上記のCPU、論理回路群およびメモリの出力信号を外部に出力する検査結果出力回路とを備えている構成である。
【0169】
また、本発明の発明の1チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(第3の処理)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(第4の処理)と、上記自己検査制御回路で検出された上記のCPU、論理回路群およびメモリの出力信号を外部に出力する処理(第5の処理)とを含んでいる方法である。
【0170】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、CPU自身の結果診断を行うことができるという効果を奏する。
【0171】
したがって、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができるという効果を奏する。
【0172】
本発明の発明の1チップマイクロコンピュータは、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記CPUの指令に従って、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させるリセット回路とを備えている構成である。
【0173】
また、本発明の発明の1チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(第6の処理)と、上記CPUの指令に従って、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(第7の処理)と、上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させる処理(第8の処理)とを含んでいる方法である。
【0174】
それゆえ、従来必要であった複数の専用のテスト端子を用いず、また外部からの複雑な制御を行わず、組み込み自己検査を実行できるという効果を奏する。さらに、組み込み自己検査の終了後、CPU、論理回路群およびメモリの出力信号に基づく結果診断を、CPUをリセットすることによって、1チップマイクロコンピュータの内部において行うことができるという効果を奏する。
【0175】
したがって、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができるという効果を奏する。しかも、これらの診断を、何ら外部の検査装置を用いることなく、1チップマイクロコンピュータ自身で行うことができるという効果を奏する。
【0176】
本発明の1チップマイクロコンピュータは、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、上記自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する自己検査起動回路と、同一の端子群を介して入出力される自己検査用信号群および仕様の信号群を切り替える端子切り替え手段とを備えている構成である。
【0177】
また、本発明の1チップマイクロコンピュータの制御方法は、以上のように、それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理(第9の処理)と、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理(第10の処理)と、自己検査時には自己検査用信号群を入出力し、通常使用時には仕様の信号群を入出力するように、端子群を通過する信号群を切り替える処理(第11の処理)とを含んでいる方法である。
【0178】
それゆえ、組み込み自己検査のために端子を追加することなく、仕様上の端子数で組み込み自己検査を実行できるという効果を奏する。
【0179】
したがって、1チップマイクロコンピュータの端子数増加の問題が解決できるため、例えばICカードのように端子数の少ない1チップマイクロコンピュータにおいても組み込み自己検査を実用化することができるという効果を奏する。さらに、論理回路群およびメモリの結果診断に加えて、従来困難であったCPU自身の結果診断を行うことができるという効果を奏する。しかも、これらの診断を、何ら外部の検査装置を用いることなく、1チップマイクロコンピュータ自身で行うことができるという効果を奏する。
【0180】
本発明の1チップマイクロコンピュータは、以上のように、さらに、上記自己検査起動回路がIEEE1149.1規格に準拠したテスト回路である構成である。
【0181】
それゆえ、さらに、以下の効果を奏する。IEEE1149.1規格に準拠したテスト回路であるJTAG回路の制御信号を用いて外部から組み込み自己検査を起動し、外部にて結果診断を行うので、CPU自身のスキャンテストおよびその結果診断が可能となる。また、標準的な規格に準拠したJTAG回路をテスト回路に採用することにより、1チップマイクロコンピュータの設計、開発期間を短縮することができる。加えて、JTAG回路とともに上記端子切り替え手段を備えることにより、仕様上の端子数を増加させることなく、標準的な規格に準拠した構成および方法で組み込み自己検査を実行することが可能となる。
【0182】
本発明の1チップマイクロコンピュータは、以上のように、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示する所定の電位を検出する特別電圧検出回路を具備する構成である。
【0183】
それゆえ、さらに、特別電圧検出回路が所定の電位を検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を1チップマイクロコンピュータの所定の端子に入力する電位により外部から制御することができるという効果を奏する。
【0184】
本発明の1チップマイクロコンピュータは、以上のように、さらに、上記端子切り替え手段が、上記端子群の所定の端子に入力された、上記信号群の切り替えを指示するコマンドを検出するコマンド検出回路を具備する構成である。
【0185】
それゆえ、さらに、コマンド検出回路が所定のコマンドを検出した時に、端子切り替え手段が信号群を切り替えることができるため、自己検査起動回路を外部から直接制御することが可能となる。すなわち、端子機能を切り替えるために新たな専用端子を設ける必要がなく、共用する端子群の端子機能を1チップマイクロコンピュータの所定の端子に入力するコマンドにより外部から制御できるという効果を奏する。
【0186】
本発明のICカードは、以上のように、上記の1チップマイクロコンピュータを搭載した構成である。
【0187】
それゆえ、限られた端子数で組み込み自己検査を実行できることを特徴とする1チップマイクロコンピュータをICカードに搭載することにより、ISO7816で8本という限られた端子数に規定されているICカードにおいても組み込み自己検査を行うことが可能となるという効果を奏する。
【0188】
また、テスト回路として標準的なIEEE1149.1規格に準拠したJTAG回路を採用した1チップマイクロコンピュータを用いることにより、JTAG回路の制御信号を用いてICカードの組み込み自己検査を実行することが可能となる。よって、JTAG回路は標準的な規格に準拠した回路であるため、この回路を採用した1チップマイクロコンピュータの設計、開発期間を短縮でき、それゆえ、それを用いたICカードの開発期間を短縮することが可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る1チップマイクロコンピュータの構成の概略を示すブロック図である。
【図2】図1に示した1チップマイクロコンピュータの動作を示すフローチャートである。
【図3】本発明の他の実施の形態に係る1チップマイクロコンピュータの構成の概略を示すブロック図である。
【図4】図3に示した1チップマイクロコンピュータの動作を示すフローチャートである。
【図5】本発明のさらに他の実施の形態に係る1チップマイクロコンピュータの構成の概略を示すブロック図である。
【図6】図5に示した1チップマイクロコンピュータの動作を示すフローチャートである。
【図7】論理回路群の概念を示す説明図である。
【図8】スキャンテスト方式の概念を示す説明図である。
【図9】従来の自己組み込み検査機能を備えた1チップマイクロコンピュータの構成の概略を示すブロック図である。
【図10】本発明のさらに他の実施の形態に係る1チップマイクロコンピュータの構成の概略を示すブロック図である。
【図11】図10に示した1チップマイクロコンピュータが備える端子切り替え回路の一構成の概略を示すブロック図である。
【図12】図10に示した1チップマイクロコンピュータが備える端子切り替え回路の他の構成の概略を示すブロック図である。
【図13】本発明のさらに他の実施の形態に係るICカードの概略を示すものであり、実使用時の状態を示す構成図である。
【図14】図13に示したICカードの1チップマイクロコンピュータの組み込み自己検査時の状態を示す構成図である。
【符号の説明】
1 ICカード
10,30,50,70 1チップマイクロコンピュータ
11 メモリ
12 CPU
13 論理回路群
14 疑似乱数発生器(自己検査制御回路)
15 論理回路検査用圧縮器(自己検査制御回路)
16 パターン発生器(自己検査制御回路)
17 メモリ検査用圧縮器(自己検査制御回路)
18 起動レジスタ(自己検査起動回路)
19 組み込み自己検査起動パターン発生器(自己検査起動回路)
20 パターンカウンタ(自己検査制御回路)
21 仕様の端子群(端子群)
22,32,52,72 バス
31 検査結果出力器(検査結果出力回路)
51 リセット発生器(リセット回路)
71 テスト回路(自己検査起動回路)
73 端子切り替え回路(端子切り替え手段)
73a 特別電圧検出回路
73c コマンド検出回路
P11,P12,P13 データ信号(出力信号)
P12a アドレス信号(CPUの指令)
P12r 読み込み信号(CPUの指令)
P12w 書き込み信号(CPUの指令)
P14 テストパターン信号(テストパターン)
P16 テストパターン信号P(テストパターン)
P19i 初期値設定信号(初期値)
Pout 出力データ信号(出力信号)
P70 仕様の入出力信号群(仕様の信号群)
P71 テスト用入出力信号群(自己検査用信号群)
S12,S13 (第1の処理)
S14,S15 (第2の処理)
S22,S23 (第3の処理)
S24 (第4の処理)
S25 (第5の処理)
S33,S34 (第6の処理)
S35 (第7の処理)
S36,S37,S38,S39,S40 (第8の処理)

Claims (3)

  1. それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えるとともに、
    上記CPUの指令に従って、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する自己検査制御回路と、
    上記CPUの指令に従って、上記自己検査制御回路に初期値を設定し、上記自己検査制御回路を起動する自己検査起動回路と、
    上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させるリセット回路とを備えていることを特徴とする1チップマイクロコンピュータ。
  2. 請求項1に記載の1チップマイクロコンピュータを搭載したことを特徴とするICカード。
  3. それぞれバスで接続されたCPUと、CPUの動作を司るプログラムが記憶されたメモリと、論理回路群とを備えた1チップマイクロコンピュータの制御方法であって、
    上記CPUの指令に従って、自己検査制御回路に初期値を設定し、該自己検査制御回路を起動する処理と、
    上記CPUの指令に従って、上記自己検査制御回路によって、上記のCPU、論理回路群およびメモリにそれぞれテストパターンを入力し、それぞれの出力信号を検出する処理と、
    上記自己検査制御回路によって上記のCPU、論理回路群およびメモリの出力信号を検出した後、上記CPUをリセットして、上記のCPU、論理回路群およびメモリを上記出力信号に基づいて診断するプログラムを上記CPUに実行させる処理とを含んでいることを特徴とする1チップマイクロコンピュータの制御方法。
JP2000106954A 1999-05-11 2000-04-07 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード Expired - Lifetime JP3576457B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000106954A JP3576457B2 (ja) 1999-05-11 2000-04-07 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード
TW089108531A TW452655B (en) 1999-05-11 2000-05-04 One-chip microcomputer and control method thereof as well as an IC card having such a one-chip microcomputer
EP00303796A EP1074915B1 (en) 1999-05-11 2000-05-05 One-chip microcomputer and control method for said one-chip microcomputer
DE60013210T DE60013210T2 (de) 1999-05-11 2000-05-05 Ein-Chip-Mikrorechner und dessen Steuerungsverfahren
KR10-2000-0025058A KR100377904B1 (ko) 1999-05-11 2000-05-10 1칩 마이크로컴퓨터와 그 제어방법, 및 1칩마이크로컴퓨터를 탑재한 ic 카드
US09/568,683 US6934884B1 (en) 1999-05-11 2000-05-11 One-chip microcomputer and control method thereof as well as an IC card having such a one-chip microcomputer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13029799 1999-05-11
JP11-130297 1999-05-11
JP2000106954A JP3576457B2 (ja) 1999-05-11 2000-04-07 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004169126A Division JP2004303271A (ja) 1999-05-11 2004-06-07 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード

Publications (2)

Publication Number Publication Date
JP2001027958A JP2001027958A (ja) 2001-01-30
JP3576457B2 true JP3576457B2 (ja) 2004-10-13

Family

ID=26465468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000106954A Expired - Lifetime JP3576457B2 (ja) 1999-05-11 2000-04-07 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード

Country Status (6)

Country Link
US (1) US6934884B1 (ja)
EP (1) EP1074915B1 (ja)
JP (1) JP3576457B2 (ja)
KR (1) KR100377904B1 (ja)
DE (1) DE60013210T2 (ja)
TW (1) TW452655B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734762B2 (ja) * 2001-05-25 2011-07-27 ソニー株式会社 メモリカード
JP4737929B2 (ja) * 2003-12-12 2011-08-03 株式会社東芝 半導体記憶装置
JP2005190112A (ja) * 2003-12-25 2005-07-14 Internatl Business Mach Corp <Ibm> マイクロコンピュータ及びそのデバッグ方法
KR20070079831A (ko) * 2006-02-03 2007-08-08 삼성전자주식회사 디스플레이장치 및 그 제어방법
JP5173216B2 (ja) * 2006-04-18 2013-04-03 パナソニック株式会社 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
US7669090B2 (en) * 2006-05-18 2010-02-23 Kabushiki Kaisha Toshiba Apparatus and method for verifying custom IC
JP2010140219A (ja) * 2008-12-11 2010-06-24 Renesas Technology Corp 半導体データ処理デバイス
US9595350B2 (en) * 2012-11-05 2017-03-14 Nxp Usa, Inc. Hardware-based memory initialization
CN104122497B (zh) * 2014-08-11 2016-09-21 中国科学院自动化研究所 集成电路内建自测试所需测试向量的生成电路及方法
JP6438353B2 (ja) * 2015-05-27 2018-12-12 ルネサスエレクトロニクス株式会社 半導体装置及び診断テスト方法
GB2549280B (en) * 2016-04-11 2020-03-11 Advanced Risc Mach Ltd Self-testing in a processor core
US10473711B2 (en) * 2016-04-15 2019-11-12 Infineon Technologies Ag Multi-channel fault detection with a single diagnosis output
EP3324295B1 (en) * 2016-11-18 2021-04-14 u-blox AG Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit
JP7477780B2 (ja) 2020-02-13 2024-05-02 日本電信電話株式会社 通信装置及びエラー検出方法
KR102428901B1 (ko) * 2022-04-15 2022-08-04 삼성전자주식회사 명령어 로그 레지스터를 포함하는 반도체 메모리 장치 및 그것의 명령어 로그 출력 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57207347A (en) 1981-06-16 1982-12-20 Mitsubishi Electric Corp Semiconductor device
DE3138989A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb
JPH0223432A (ja) * 1988-07-13 1990-01-25 Toshiba Corp 自己診断方式
JPH0389182A (ja) 1989-08-31 1991-04-15 Sharp Corp 集積回路装置
JPH03138742A (ja) * 1989-10-25 1991-06-13 Toshiba Corp メモリシステム
US5638382A (en) * 1994-06-29 1997-06-10 Intel Corporation Built-in self test function for a processor including intermediate test results
JPH08137824A (ja) * 1994-11-15 1996-05-31 Mitsubishi Semiconductor Software Kk セルフテスト機能内蔵シングルチップマイコン
JPH09146790A (ja) * 1995-11-21 1997-06-06 Seiko Epson Corp 半導体集積回路装置とその試験方法
KR0165818B1 (ko) * 1995-12-07 1999-01-15 구본준 원칩 마이크로 컴퓨터
US5960009A (en) * 1996-08-09 1999-09-28 Lucent Technologies Inc. Built in shelf test method and apparatus for booth multipliers
JPH10143386A (ja) 1996-10-31 1998-05-29 Texas Instr Inc <Ti> マイクロプロセッサ
US6249893B1 (en) * 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
DE19911939C2 (de) * 1999-03-17 2001-03-22 Siemens Ag Verfahren für den eingebauten Selbsttest einer elektronischen Schaltung

Also Published As

Publication number Publication date
KR20010014896A (ko) 2001-02-26
EP1074915A1 (en) 2001-02-07
KR100377904B1 (ko) 2003-03-29
US6934884B1 (en) 2005-08-23
DE60013210D1 (de) 2004-09-30
EP1074915B1 (en) 2004-08-25
JP2001027958A (ja) 2001-01-30
TW452655B (en) 2001-09-01
DE60013210T2 (de) 2005-09-01

Similar Documents

Publication Publication Date Title
JP3576457B2 (ja) 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード
US6564347B1 (en) Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US9121892B2 (en) Semiconductor circuit and methodology for in-system scan testing
US7313739B2 (en) Method and apparatus for testing embedded cores
US7340658B2 (en) Technique for combining scan test and memory built-in self test
US7353442B2 (en) On-chip and at-speed tester for testing and characterization of different types of memories
JP3698166B2 (ja) Jtagを用してasic内のメガセルを試験する方法と装置
US20030070118A1 (en) Semiconductor integrated circuit with built-in test function
JP3645578B2 (ja) スマート・メモリの組込み自己検査のための装置と方法
US20050034021A1 (en) Semiconductor device and method for testing the same
TWI389129B (zh) 積體電路裝置
EP1491906B1 (en) An integrated device with an improved BIST circuit for executing a structured test
JP3403814B2 (ja) 自己試験機能組込み型回路
CN106291313B (zh) 用于测试集成电路的方法和设备
US7089473B2 (en) Method and apparatus for testing a circuit using a die frame logic analyzer
CN116881067B (zh) 一种生成vcd文件的方法、装置、设备及存储介质
JP2004303271A (ja) 1チップマイクロコンピュータおよびその制御方法、ならびにそれを用いたicカード
CN116643140A (zh) 集成电路及集成电路的测试方法
KR20070015984A (ko) 하드웨어 자가 진단이 가능한 내장형 시스템 및 그시스템에서의 자가 진단 방법
KR100690995B1 (ko) 반도체 메모리의 셀프 테스트 회로
US20060069974A1 (en) One-hot encoded instruction register for boundary scan test compliant devices
RU2198411C2 (ru) Устройство и способ тестирования стандартного функционального блока в интегральной схеме с использованием jtag
JPH06222946A (ja) 集積回路およびその試験方法
Harrison et al. Board Level IEEE1149. 1 Boundary Scan Built In Self Test
Viswabharathi et al. High Speed Test Architecture for SRAM using Modified March Algorithm

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040707

R150 Certificate of patent or registration of utility model

Ref document number: 3576457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070716

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term