(57)【要約】  【課題】  端子数を削減した上で、マイクロコンピュータに内蔵されたＲＯＭなどの記憶部をテストすることのできるマイクロコンピュータ及びＬＳＩテスト装置を提供する。  【解決手段】  プロセッサ３と、プロセッサ３と信号のやり取りを行う記憶部５と、通常動作時には記憶部５から出力されるデータ信号１５を選択し、試験時には特定の命令コードを選択して、プロセッサ３に出力するデータ選択部１３を備え、特定の命令コードは、プロセッサ３が記憶部５に対して値を変化させつつアドレス信号１７を出力すると共に、記憶部５へリードイネーブル信号１９を出力することを指示する命令を含み、記憶部５は、プロセッサ３からのアドレス信号１７で指定されるアドレスに記憶されているデータ信号１５を出力する。【選択図】  図１
2007018320.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサにより信号を読み書きされる記憶部と、
通常動作時には前記記憶部から出力されるデータ信号を選択し、試験時には特定の命令コードを選択して、前記プロセッサに出力するデータ選択部を備え、
前記特定の命令コードは、前記プロセッサが前記記憶部に対して値を変化させつつアドレス信号を出力すると共に、前記記憶部へリードイネーブル信号を出力することを指示する命令コードを含み、
前記記憶部は、前記プロセッサからのアドレス信号で指定されるアドレスに記憶されているデータ信号を出力するマイクロコンピュータ。
【請求項２】
前記リードイネーブル信号は、前記プロセッサに入力する試験用クロック信号に同期して生成される請求項１記載のマイクロコンピュータ。
【請求項３】
前記特定の命令コードは、前記プロセッサが、前記アドレス信号の値を任意の値ずつインクリメント、もしくはディクリメントさせつつ、前記アドレス信号を出力することを指示する命令コードを含む請求項１から２のいずれか記載のマイクロコンピュータ。
【請求項４】
前記特定の命令コードは、前記プロセッサが、前記アドレス信号の値を所定間隔毎に論理反転させつつ、前記アドレス信号を出力することを指示する命令コードを含む請求項１から２のいずれか記載のマイクロコンピュータ。
【請求項５】
前記プロセッサが出力するアドレス信号の値を論理反転するアドレス反転部と、前記論理反転を制御する反転許可信号を生成する反転制御部を更に備え、前記アドレス反転部は、前記反転許可信号が許可状態の時に、前記アドレス信号の値を論理反転する請求項１から２のいずれか記載のマイクロコンピュータ。
【請求項６】
前記マイクロコンピュータは、試験用クロック信号を分周する分周器を更に備え、前記反転制御部は、前記分周器の出力信号に同期して、前記反転許可信号を生成する請求項５記載のマイクロコンピュータ。
【請求項７】
前記記憶部から出力される前記データ信号を、複数の並列系列ビット列に分割して、前記複数の並列系列ビット列の内、任意の並列系列ビット列を選択して出力するデータ分割部を更に備える請求項１から６のいずれか記載のマイクロコンピュータ。
【請求項８】
前記データ分割部は、前記記憶部に入力するアドレス信号の少なくとも一部の値に応じて、前記複数の並列系列ビット列の内、選択する並列系列ビット列を決定する請求項７記載のマイクロコンピュータ。
【請求項９】
前記並列系列ビット列は、８ビットの信号を含む請求項７から８のいずれか記載のマイクロコンピュータ。
【請求項１０】
前記並列系列ビット列のビット数に対応するアドレス値を有する試験用アドレス信号を生成するアドレス生成部を更に備え、前記命令コードで指定される前記データ信号の最小のビット数が前記並列系列ビット列のビット数よりも多い場合には、前記試験用アドレス信号が、前記記憶部に出力される請求項７から９のいずれか記載のマイクロコンピュータ。
【請求項１１】
請求項１から１０のいずれか記載のマイクロコンピュータから受け取るデータ信号を所定の期待値と比較して、前記マイクロコンピュータに含まれる記憶部の読み出しテストを行うＬＳＩテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作時電源電流テストを行うマイクロコンピュータ及びＬＳＩテスト装置に関するものである。
【背景技術】
【０００２】
プロセッサとＲＯＭやＲＡＭなどの記憶部を同一半導体チップに内蔵するマイクロコンピュータや、プロセッサと記憶部を同一パッケージに封じたマイクロコンピュータが、商品化されている。このようにマイクロコンピュータに内蔵された記憶部のテストは、ＲＯＭ掃きだしテストと呼ばれ、テスト専用の端子が設けられ、外部からテスト信号やテストクロックを直接記憶部に送って、記憶部からの出力を専用端子から直接受け取って行われる。
【０００３】
また、ＲＯＭなどの記憶部のテストでは、記憶部に与えるアドレス信号のアドレス値を増加させつつデータを読み出すアドレスインクリメント読み出しと、アドレス値を反転させつつデータを読み出すアドレスコンプリメント読み出しなどの手法が用いられる。
【０００４】
図１２、図１３を用いて従来のマイクロコンピュータのテストについて説明する。
【０００５】
図１２は、従来のマイクロコンピュータのブロック図である。図１３は、マイクロコンピュータの通常動作時と試験時の動作を示すタイミングチャートである。
【０００６】
マイクロコンピュータ１００は、プロセッサ１０１と、記憶部１０３を備え、外部のＬＳＩテスト装置１０５との間は、テストクロック１０８、外部アドレス信号１０９、外部リードイネーブル１１１、外部出力信号１２３により接続されている。
【０００７】
通常動作時においては、選択部１１５は、プロセッサ１０１からのアドレス出力１１０を選択して、記憶部１０３にアドレス信号１１９として出力する。同様に、通常動作時においては、選択部１１３は、プロセッサ１０１からのリードイネーブル出力１１２を選択して、記憶部１０３に対して、リードイネーブル１１７として出力する。
【０００８】
一方、試験時には、記憶部１０３には、ＬＳＩテスト装置１０５から出力される外部アドレス信号１０９と、外部リードイネーブル１１１が与えられる。記憶部１０３は、これらの信号に従って、データ信号１２１を出力する。このデータ信号１２１は、外部出力１２３として、専用端子からＬＳＩテスト装置１０５に出力される。この動作は、図１３のタイミングチャートに示されるとおりである。外部からの制御にしたがって、プロセッサ１０１を介さず、記憶部１０３からのデータ信号である外部出力１２３を、ＬＳＩテスト装置１０５は直接観測できる。
【０００９】
ＬＳＩテスト装置１０５は、受け取った外部出力１２３の値を期待値と比較するなどして、記憶部１０３のテストを実行する。
【００１０】
また、近年は、マイクロコンピュータの低価格化や小型化のため、端子数の削減が望まれている。更に、テストコスト削減のために、一つのＬＳＩテスト装置で、複数のマイクロコンピュータを同時にテストすることも行われている。
【００１１】
特許文献１は、このようなＲＯＭなどの記憶部のテスト手法の例を開示する。
【００１２】
しかしながら、従来の技術では次のような問題があった。
【００１３】
従来のテストに用いられるマイクロコンピュータでは、外部からのリードイネーブルとアドレス付与のための専用端子に加え、データ信号を外部に出力する専用端子が必要であった。現在主流のマイクロコンピュータは、アドレスが３２ビット、もしくは６４ビットであるため、このビット数に相当する専用端子が増加する問題があった。
【００１４】
更に、外部出力に必要となるデータ信号のビット数に相当する専用端子も必要となる。
【００１５】
これらの専用端子の追加のために、マイクロコンピュータの低価格化や小型化が阻害される問題があった。特に、端子数が増加すると、端子に対応する入出力パッドを半導体集積回路内に設ける必要も生じ、マイクロコンピュータの大型化や消費電力の増加などの問題もあった。
【００１６】
また、端子数が増加することで、一つのＬＳＩテスト装置でテストできるマイクロコンピュータの数が減少するため、テストコストの増大も生じる。
【００１７】
また、外部からの専用端子を用いずに、プロセッサを専用のテストプログラムで制御して、記憶部からのデータを読み出してテストすることも可能であるが、テストに要するサイクルが大きく、テストコストが増大する問題があった。また、テストプログラムを必要とするため、記憶部の記憶容量が大きくなる問題もあった。
【特許文献１】特開平６−６７９１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
そこで本発明は、端子数を削減した上で、マイクロコンピュータに内蔵されたＲＯＭなどの記憶部をテストすることのできるマイクロコンピュータ及びＬＳＩテスト装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
第１の発明に係るマイクロコンピュータは、プロセッサと、プロセッサにより信号を読み書きされる記憶部と、通常動作時には記憶部から出力されるデータ信号を選択し、試験時には特定の命令コードを選択して、プロセッサに出力するデータ選択部を備え、特定の命令コードは、プロセッサが記憶部に対して値を変化させつつアドレス信号を出力すると共に、記憶部へリードイネーブル信号を出力することを指示する命令コードを含み、記憶部は、プロセッサからのアドレス信号で指定されるアドレスに記憶されているデータ信号を出力する。
【００２０】
この構成により、マイクロコンピュータ外部からの制御なしに、記憶部からの各アドレス毎のデータ読み出しが行われる。このため、記憶部の読み出しテストにおいて、ＬＳＩテスト装置からの制御に必要なアドレス信号、リードイネーブル信号にかかわる専用端子が削減される
第２の発明に係るマイクロコンピュータでは、リードイネーブル信号は、プロセッサに入力する試験用クロック信号に同期して生成される。
【００２１】
この構成により、記憶部のテスト時に適したタイミングにより、記憶部からデータが読み出される。
【００２２】
第３の発明に係るマイクロコンピュータでは、特定の命令コードは、プロセッサが、アドレス信号の値を任意の値ずつインクリメント、もしくはディクリメントさせつつ、アドレス信号を出力することを指示する命令コードを含む。
【００２３】
この構成により、アドレスインクリメントもしくはアドレスディクリメントに対応した記憶部の読み出しテストが実行される。
【００２４】
第４の発明に係るマイクロコンピュータでは、特定の命令コードは、プロセッサが、アドレス信号の値を所定間隔毎に論理反転させつつ、アドレス信号を出力することを指示する命令コードを含む。
【００２５】
この構成により、アドレスコンプリメントモードによる記憶部の読み出しテストが実行される。
【００２６】
第５の発明に係るマイクロコンピュータでは、プロセッサが出力するアドレス信号の値を論理反転するアドレス反転部と、論理反転を制御する反転許可信号を生成する反転制御部を更に備え、アドレス反転部は、反転許可信号が許可状態の時に、アドレス信号の値を論理反転する。
【００２７】
この構成により、アドレスコンプリメントモードによる記憶部の読み出しテストが実行される。
【００２８】
第６の発明に係るマイクロコンピュータでは、マイクロコンピュータは、試験用クロック信号を分周する分周器を更に備え、反転制御部は、分周器の出力信号に同期して、反転許可信号を生成する。
【００２９】
この構成により、アドレス値の論理反転が行われる期間が確保される。
【００３０】
第７の発明に係るマイクロコンピュータでは、記憶部から出力されるデータ信号を、複数の並列系列ビット列に分割して、複数の並列系列ビット列の内、任意の並列系列ビット列を選択して出力するデータ分割部を更に備える。
【００３１】
この構成により、試験時にマイクロコンピュータから外部にデータ信号を出力するための専用端子が削減される。
【００３２】
第８の発明に係るマイクロコンピュータでは、データ分割部は、記憶部に入力するアドレス信号の少なくとも一部の値に応じて、複数の並列系列ビット列の内、選択する並列系列ビット列を決定する。
【００３３】
この構成により、アドレス値に従ったデータ信号の外部出力が実行される。
【００３４】
第９の発明に係るマイクロコンピュータでは、並列系列ビット列は、８ビットの信号を含む。
【００３５】
この構成により、バイト単位でのデータ信号の外部出力が可能となり、記憶部での期待値などとの比較が容易になる。
【００３６】
第１０の発明に係るマイクロコンピュータでは、並列系列ビット列のビット数に対応するアドレス値を有する試験用アドレス信号を生成するアドレス生成部を更に備え、命令コードで指定されるデータ信号の最小のビット数が並列系列ビット列のビット数よりも多い場合には、試験用アドレス信号が、記憶部に出力される。
【００３７】
この構成により、プロセッサが読み出す最小命令語長よりも少ない並列系列ビット列での、データの読み出しが可能となる。
【００３８】
第１１の発明に係るＬＳＩテスト装置は、請求項１から１０のいずれか記載のマイクロコンピュータから受け取るデータ信号を所定の期待値と比較して、マイクロコンピュータに含まれる記憶部の読み出しテストを行う
この構成により、不要な専用端子を設けることなく、マイクロコンピュータと共に格納される記憶部の読み出しテストが実行される。
【発明の効果】
【００３９】
本発明によれば、マイクロコンピュータに含まれる記憶部の読み出しテストにおいて、ＬＳＩテスト装置からの制御に必要なアドレス信号、リードイネーブル信号にかかわる専用端子が削減される。
【００４０】
更に、データ信号が分割されて出力されることで、データ信号にかかわる専用端子も減少できる。これらにより、試験用の専用端子の増加を抑えたマイクロコンピュータが実現される。
【００４１】
このため、ＬＳＩテスト装置による試験が可能なマイクロコンピュータを、低コストで製造することができる。
【００４２】
また、アドレス反転部などが設けられることで、アドレスコンプリメントモードに対応した読み出しテストも実現され、外部からの専用端子を増加させること無く、種々の読み出しテストが実現される。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【００４４】
（実施の形態１）
図１、図２を用いて、実施の形態１について説明する。図１は、本発明の実施の形態１におけるマイクロコンピュータのブロック図である。
【００４５】
マイクロコンピュータ１は、プロセッサ３と記憶部５、データ選択部１３を備える。また、マイクロコンピュータ１は、同一の半導体チップ、もしくは単一のパッケージであり、プロセッサ３と記憶部５は、同一の半導体チップ上に内蔵されているか、もしくは同一パッケージに封入されている。このため、プロセッサ３と記憶部５のそれぞれに接続される端子は、全てマイクロコンピュータ１に設けられる。すなわち、外部からプロセッサ３や記憶部５の制御は、マイクロコンピュータ１に設けられている端子を介して行われる必要がある。
【００４６】
なお、図１では、ＬＳＩテスト装置７が、マイクロコンピュータ１の外部に示されている。実施の形態１では、試験時におけるマイクロコンピュータ１を説明する便宜上、図１では、マイクロコンピュータ１にＬＳＩテスト装置７が接続された状態が示されている。なお、本発明の対象である「マイクロコンピュータ」にとって、ＬＳＩテスト装置７は必要な構成要件ではない。マイクロコンピュータ１もＬＳＩテスト装置７も、それぞれ独立した部品や装置であり、必要に応じて一緒に用いられる。
【００４７】
まず、各部の詳細について説明する。
【００４８】
最初に、プロセッサ３について説明する。
【００４９】
プロセッサ３は、中央処理装置（以下、「ＣＰＵ」という）やコ・プロセッサ、あるいはデジタル・シグナル・プロセッサ（以下、「ＤＳＰ」という）など、プログラムに従って動作する電子回路である。プロセッサ３は、記憶部５に記憶されているプログラムやデータを用いて動作する。
【００５０】
プロセッサ３は、様々な入出力信号を備えるが、図１では説明のために、クロック入力、リードイネーブル出力、アドレス出力、データ入力のみ記載してある。なお、ここでは試験時におけるマイクロコンピュータ１を説明するため、プロセッサ３には、ＬＳＩテスト装置７から、テストクロック９が入力する。
【００５１】
次に、記憶部５について説明する。
【００５２】
記憶部５は、ＲＯＭやＲＡＭなどのメモリであり、プロセッサ３と信号のやり取りを行う。また、記憶部５は、プログラムデータなどを記憶し、プロセッサ３からのアクセスに従ってデータ信号１５を出力する。プロセッサ３は、リードイネーブル１９とアドレス信号１７を記憶部５に出力し、記憶部５は、これらのリードイネーブル１９とアドレス信号１７に基づいて、アドレス信号１７で指定されたアドレスに記憶されているデータを、データ信号１５として出力する。
【００５３】
なお、リードイネーブル１９は、プロセッサ３に入力する試験用クロックである、テストクロック９に同期して生成される。
【００５４】
記憶部５から出力されるデータ信号１５は、データ選択部１３に出力されると共に、マイクロコンピュータ１の端子を介して外部へ（図１ではＬＳＩテスト装置７に接続される）、外部出力１６として出力される。
【００５５】
なお、記憶部５は、ＲＯＭやＲＡＭなどのデータを記憶する回路やデバイスを幅広く含むが、実施の形態１では、説明の便宜のために、プロセッサ３に必要なプログラムを記憶するＲＯＭを例にする。また、図１では、説明の便宜のため、リードイネーブル１９、アドレス信号１７、データ信号１５を、入出力信号として記載してある。
【００５６】
次に、データ選択部１３について説明する。
【００５７】
データ選択部１３は、テストモード信号１１により、マイクロコンピュータ１が通常動作時であるのか、試験時であるのかを判断する。
【００５８】
ここで、通常動作時には、データ選択部１３は、記憶部５から出力されたデータ信号１５を選択して、プロセッサ３に対して出力する。逆に、試験時には、データ選択部１３は、特定の命令コードをプロセッサ３に対して出力する。
【００５９】
この特定の命令コードは、プロセッサ３に対して、定められた命令を与え、プロセッサ３は、受け取った命令コードに従って動作する。ここで、特定の命令コードは、プロセッサ３が記憶部５に対して値を変化させつつアドレス信号１７を出力すると共に、記憶部５へリードイネーブル信号１９を出力することを指示する命令を含んでいる。すなわち、プロセッサ３は、試験時においては、外部（例えばＬＳＩテスト装置７）からの命令を受け取ることなく、記憶部５に対してアドレス値を変えながら、アドレス信号１７とリードイネーブル１９を出力する。この動作により、記憶部５に対して、アドレス値毎の読み出しアクセスが行われる。
【００６０】
なお、命令コードは、アドレス値をインクリメントさせながらアドレス信号１７を出力することを指示する命令や、逆に、アドレス値をディクリメントさせながらアドレス信号１７を出力することを指示する命令を含んでいても良い。
【００６１】
また、アドレス値を一定間隔毎に論理反転させつつ、アドレス信号１７を出力する命令を含んでいてもよい。アドレス値が一定間隔毎に論理反転されることで、アドレスコンプリメントモードに対応した、読み出しテストが実行される。
【００６２】
次に、マイクロコンピュータ１の動作について、図２のタイミングチャートを用いて説明する。図２は、本発明の実施の形態１におけるマイクロコンピュータの動作を示すタイミングチャートである。
【００６３】
ここで、記憶部５のデータ出力は３２ビット幅であり、データ選択部１３が出力する特定の命令コードは、プロセッサ３に対して、アドレス値を値「４」ずつ増加させながら出力させる命令を含んでいる。なお、一般的には、プロセッサ３は、命令語長の長さに応じて、アドレス値を増加させる。すなわち、命令語長が１バイト（８ビット）のときには、アドレス値は値「１」だけ増加し、命令語長が４バイト（３２ビット）のときには、アドレス値は、値「４」だけ増加する。
【００６４】
図２に示されるタイミングチャートでは、プロセッサ３に入力するテストクロック９、プロセッサ３が出力するアドレス信号１７、リードイネーブル１９、記憶部５が出力するデータ信号１５、データ選択部１３が出力する特定の命令コードが示されている。命令コードは、図２に示されるようにアドレス値を値「４」ずつ増加させる指示を含んでいる。
【００６５】
時刻ｔ０においてプロセッサ３はアドレス値「４０００番地」のアドレス信号１７を出力し、リードイネーブル１９とこのアドレス信号１７により、時刻ｔ１にて記憶部５から４０００番地に記憶されているデータ信号１５が出力される。このデータ信号１５は、外部出力１６として、マイクロコンピュータ１の外部に出力される。外部出力１６は、例えばマイクロコンピュータ１に接続されたＬＳＩテスト装置７などで、期待値と比較されて読み出しテストが実行される。
【００６６】
また、プロセッサ３のデータ入力には、データ選択部１３から出力される「アドレス値を値「４」ずつ増加させながら、アドレス信号１７を出力する」という指示を含む命令コードが入力する。この命令に従い、時刻ｔ２においてプロセッサ３はアドレス値「４００４番地」のアドレス信号１７を出力し、時刻ｔ３において記憶部５は４００４番地に記憶されているデータをデータ信号１５として出力する。以降も同様である。
【００６７】
なお、アドレス信号１７の初期値は、試験時に記憶部５の先頭アドレスなど（例えば、リセット直後のアドレス）が用いられればよい。
【００６８】
また、命令コードに含まれる理論値も、プロセッサ３の仕様に応じて、設計段階から組み込まれればよい。例えば、アドレス値をインクリメントさせるのか、ディクリメントさせるのかなどの命令や、増分（減少分）の値やなどの指示が、設計時に組み込まれる。
【００６９】
このように、試験時には、データ選択部１３から自動で特定の命令コード（プロセッサ３に対して、アドレス値を変化させつつアドレス信号１７を記憶部５に出力することを支持する命令）が、プロセッサ３に出力されることで、外部からの制御なしに、記憶部５のデータが読み出される。この読み出された記憶部５のデータがＬＳＩテスト装置７などで期待値などと比較され、記憶部５の読み出しテストが実現される。
【００７０】
以上により、マイクロコンピュータ１では、従来では記憶部５のテストに必要であった、外部リードイネーブルと外部アドレス信号に用いられる専用端子が削減される。アドレス信号１７が３２ビットの場合には、合計で３３ピンの端子が削減される。これは、通常のＬＳＩの端子数の数％〜数１０％になり、マイクロコンピュータ１の低価格化、小型化、低消費電力化が促進される。
【００７１】
なお、データ選択部１３は、試験時のテストモード信号１１などにより、プロセッサ３に対して命令コードを与えることを判断する。
【００７２】
（実施の形態２）
次に実施の形態２について説明する。
【００７３】
実施の形態２では、アドレス信号、リードイネーブルに係る試験時の専用端子の削減に加えて、データの外部出力１６に係る専用端子の削減が実現される。
【００７４】
なお、データ選択部１３は、試験時のテストモード信号１１などにより、プロセッサ３に対して命令コードを与えることを判断し、この命令コードにより試験時の動作が実行される。
【００７５】
図３は、本発明の実施の形態２におけるマイクロコンピュータ１のブロック図である。
【００７６】
マイクロコンピュータ１は、データ分割部２１を更に備えている。
【００７７】
データ分割部２１は、記憶部５が出力するデータ信号１５を構成する並列系列ビット列を、複数の並列系列ビット列に分割し、この中の任意の並列系列ビット列を外部出力１６として出力する。例えば、データ分割部２１は、データ信号１５が３２ビットの場合に、８ビットずつに分割する。更に、データ分割部２１は、この８ビット毎に、外部出力１６を出力する。このとき、８ビットの信号を４回に分けて出力することで、３２ビットのデータ信号１５を全て出力することができる。しかも、外部出力１６は８ビットですむため、外部端子に必要となる専用端子は削減される。
【００７８】
例えば、データ信号１５が３２ビットである場合に、データ分割部２１は、まず下位８ビットを選択して、外部出力１６として出力する。次に、１５ビット目〜８ビット目の区間の８ビットを選択して、外部出力１６として出力する。次に、２３ビット目〜１６ビット目の区間の８ビットを選択して、外部出力１６として出力する。最後に、３２ビット目〜２４ビット目の区間の８ビットを選択して、外部出力１６として出力する。この処理により、３２ビットのデータ信号１５を、８ピンの専用端子から全て出力することができる。
【００７９】
また、このとき、データ分割部２１は、アドレス信号１７の下位２ビットの値を基に、データ信号１５を分割してもよい。下位２ビットが、値「０」なら、データ分割部２１は、データ信号１５の７ビット目〜０ビット目の区間の８ビットを選択する。下位２ビットが、値「１」なら、データ分割部２１は、データ信号１５の１５ビット目〜８ビット目を選択する。下位２ビットが、値「２」なら、データ分割部２１は、データ信号１５の２３ビット目〜１６ビット目の区間の８ビットを選択する。下位２ビットが、値「３」なら、データ分割部２１は、データ信号１５の最上位８ビットを選択する。もちろん、分割された並列系列ビット列の選択においては、アドレス信号１７の下位２ビットのみでなく、アドレス信号１７の一部もしくは全部が用いられればよい。
【００８０】
なお、データ分割部２１は、データ信号１５を複数の並列系列ビット列に分割すればよく、分割された並列系列ビット列は、８ビットでも１６ビットでも、他のビット数でも良い。但し、ＬＳＩテスト装置７での期待値との比較などに要する時間と、専用端子の削減との関係、および記憶部５のデータ出力アクセスの容易性から８ビット単位が好ましい。
【００８１】
なお、このようにデータ信号１５が８ビット毎に分割される場合には、データ選択部１３は、プロセッサ３に対して、「アドレス値を、値「１」ずつ増加させながら、プロセッサ３からアドレス信号１７を記憶部５に出力する」という指示を含む命令コードを出力する。
【００８２】
次に、図４を用いて、動作を説明する。図４は、本発明の実施の形態２におけるマイクロコンピュータの動作を示すタイミングチャートである。
【００８３】
時刻ｔ１〜ｔ２では、記憶部５はアドレス信号１７で指定される４０００番地に記憶されている３２ビット幅のデータＤ０［３１：０］を出力する。アドレス信号１７の下位２ビットは値「０」なので、データ分割部２１は、Ｄ０［７：０］を選択して、外部出力１６として出力する。次に、プロセッサ３は、命令コードに従い、アドレス値を値「１」だけ増加させたアドレス値「４００１」を、アドレス信号１７として、記憶部５に出力する。
【００８４】
次に時刻ｔ３〜ｔ４では、記憶部５は、アドレス信号１７の示す「４００１番地」に記憶されている、３２ビット幅のデータＤ０［３１：０］を出力する。このとき、アドレス信号１７の下位２ビットは値「１」なので、データ分割部２１は８ビット幅のＤ０［１５：８］を出力する。プロセッサ３は、命令コードに従って、アドレス信号１７のアドレス値をさらに値「１」だけ増加させて、「４００２番地」のアドレス信号１７を出力する。
【００８５】
次に時刻ｔ５〜ｔ６では記憶部５は、アドレス信号１７の示す「４００２番地」に記憶されている、３２ビット幅のデータＤ０［３１：０］を出力する。このとき、アドレス信号１７の下位２ビットが値「２」なので、データ分割部２１は、選択された８ビットのデータＤ０［２３：１６］を出力する。プロセッサ３は、命令コードに従い、アドレス値を値「１」だけ増加させて、「４００３番地」を指定するアドレス信号を出力する。
【００８６】
次に、時刻ｔ７〜ｔ８では、記憶部５は、アドレス信号１７で指定される４００３番地に記憶されている３２ビット幅のデータＤ０［３１：０］を出力する。アドレス信号１７の下位２ビットが値「３」なので、データ分割部２１はデータの３１ビット目〜２４ビット目の区間の８ビットであるＤ０［３１：２４］を出力する。
【００８７】
以降、処理が、同様に繰り返される。
【００８８】
つまり、８ビットずつにデータ信号が分割されて、外部出力１６として、マイクロコンピュータ１の外部に出力される。このため、本来３２ビット幅のデータ信号１５に対して必要な外部の専用端子が、３２ピンから８ピンに削減される。
【００８９】
もちろん、データ信号１５が、６４ビット幅であって、これをデータ分割部２１が８ビット幅に分割して出力することでも良い。この場合には、専用端子が、６４ピンから８ピンへと５６ピンもの削減が可能となる。
【００９０】
なお、データ信号１５のビット幅や、データ分割部２１での分割後のビット幅などは、種々であってよく、特に制限されるものではない。
【００９１】
以上のマイクロコンピュータ１により、実施の形態１と同じく、外部からのリードイネーブルやアドレス信号に必要な専用端子が削減される上、データ信号を外部に出力する外部出力に必要な専用端子も削減され、読み出しテストなどに必要となる専用端子が大幅に削減される。
【００９２】
（実施の形態３）
次に実施の形態３について、図５〜図７を用いて説明する。実施の形態３では、アドレス値を反転させながらアドレス信号を出力して読み出しテストを行う、アドレスコンプリメントモードでの処理について説明する。
【００９３】
図５、図６は、本発明の実施の形態３におけるマイクロコンピュータのブロック図である。
【００９４】
アドレス反転部２３は、プロセッサ３から出力されるアドレス信号１７のアドレス値を論理反転させる。例えば、アドレス値が値「４０００番地」の場合には、値「ＢＦＦＦ番地」に変換される。
【００９５】
反転制御部２５は、アドレス反転部２３でのアドレス反転を制御する。具体的には、反転制御部２５は、反転許可信号２６を生成して、アドレス反転部２３に出力する。反転許可信号２６は、許可状態と不許可状態の両方の値を含んでおり、例えば反転許可信号２６が値「１」の場合は、アドレス値の論理反転を指示しており、反転許可信号２６が値「０」の場合には、アドレス値はそのままであることを指示している。
【００９６】
分周器３１は、入力するテストクロック９を任意の倍数で分周する。例えば、２分周する。この分周器３１の出力は、プロセッサ３に入力する。分周器３１の出力が、プロセッサ３に入力することで、プロセッサ３が出力するアドレス信号１７の保持期間が、分周された期間だけ延長される。例えば、２分周された分周器３１の出力がプロセッサ３にクロック信号として入力した場合には、プロセッサ３の出力するアドレス信号１７は、テストクロック９の２クロック分の期間において、その値を保持する。
【００９７】
なお、分周器３１、反転制御部２５は、アドレスコンプリメントモードを示す、アドレスコンプリメントモード信号により、分周と反転許可信号の生成を開始する。
【００９８】
反転制御部２５は、アドレスコンプリメントモード信号がイネーブルの場合には、分周器３１の出力が低位レベル（以下、「Ｌｏレベル」という）の期間は反転許可信号２６を許可状態にし、分周器３１の出力が高位レベル（以下、「Ｈｉｇｈレベル」という）の期間は、反転許可信号２６を不許可状態にする。
【００９９】
プロセッサ３から出力されるアドレス信号１７は、反転許可信号２６が許可状態では、アドレス反転部２３で論理反転されて、記憶部５に出力される。記憶部５は、この論理反転したアドレス値に記憶されているデータを、データ信号１５として出力する。一方、反転許可信号２６が、不許可状態では、アドレス反転部２３では論理反転されず、アドレス信号１７はそのままのアドレス値で、記憶部５に出力される。記憶部５は、このアドレス値に記憶されているデータを、データ信号１５として出力する。
【０１００】
データ信号１５は、そのまま外部出力１６として、マイクロコンピュータ１の外部に、専用端子を介して出力される。このとき、データ分割部２１により、実施の形態２で説明されたように、データ信号１５が、複数の並列系列ビット列に分割されて出力されても良い。分割出力により、外部出力１６に必要な専用端子が削減される。もちろん、データ分割部２１は、任意に設けられれば良い。
【０１０１】
外部出力１６の信号は、マイクロコンピュータ１に接続されるＬＳＩテスト装置７に出力されて、期待値などと比較されて、読み出しテストが実行される。
【０１０２】
以上のように、図５に示されるマイクロコンピュータは、アドレス値を反転させつつ、記憶部５からのデータ読み出しを行う。
【０１０３】
次に、図６に示されるように、マイクロコンピュータ１は、リードイネーブル制御部２９と、リードイネーブル発生部２７を更に備えている。
【０１０４】
リードイネーブル発生部２７は、アドレスコンプリメントモード時に、リードイネーブルを生成し、アドレスコンプリメントモード時には、プロセッサ３からのリードイネーブルではなく、このリードイネーブルが選択されて、記憶部５に出力される。
【０１０５】
次に、マイクロコンピュータ１の動作について、図７を用いて説明する。図７は、本発明の実施の形態３におけるマイクロコンピュータの動作を示すタイミングチャートである。
【０１０６】
ここで、記憶部５のデータ信号１５の出力幅は３２ビット幅であり、３２ビット単位のアドレス指定により、３２ビット単位のワード読み出しが実行されるものとする。
【０１０７】
また、アドレス信号１７の初期値は４０００番地とし、プロセッサ３に与えられる命令コードは、アドレス値を値「１」ずつ増加させて出力する指示を含むものとする。
【０１０８】
また、アドレスコンプリメントモードはテストモードの一種であり、アドレスコンプリメントモード信号がイネーブルならば、テストモード信号もイネーブルになるものとする。
【０１０９】
分周器３１は、テストクロックを２分周して、プロセッサ３のクロック端子へ出力する。プロセッサ３は、２分周されたテストクロックに同期して動作し、時刻ｔ０〜ｔ４の期間にアドレス値「４０００番地」のアドレス信号１７を出力する。
【０１１０】
時刻ｔ０〜ｔ２の期間では、分周器３１の出力がＨｉｇｈレベルなので反転許可信号２６を不許可状態にする。アドレス反転部２３は、反転許可信号２６が不許可状態なので、「４０００番地」のアドレス値のまま、アドレス信号１７を記憶部５に出力する。また、時刻ｔ１からｔ２の期間で、リードイネーブルがイネーブル状態であるので、時刻ｔ１において、記憶部５は、「４０００番地」に記憶されているデータを、データ信号１５として出力する。
【０１１１】
次に、時刻ｔ２からｔ４の期間では、分周器３１の出力がＬｏレベルなので、反転許可信号２６は許可状態になる。このため、アドレス反転部２３は、アドレス値「４０００番地」のアドレス値を論理反転させて、アドレス値「ＢＦＦＦ番地」として、記憶部５に出力する。このため、時刻ｔ３において、記憶部５は、「ＢＦＦＦ番地」に記憶されているデータを、データ信号１５として出力する。
【０１１２】
以下、同様に、アドレス信号１７は、そのアドレス値が「４００２番地」、「ＢＦＦＥ番地」、「４００４番地」、「ＢＦＦＤ番地」と論理反転を繰り返して、記憶部５に出力される。
【０１１３】
記憶部５は、この論理反転されたアドレス信号１７に従って、データ信号１５を出力する。
【０１１４】
以上のように、実施の形態３におけるマイクロコンピュータ１により、アドレスコンプリメントモードに対応した、記憶部５の読み出しテストが実行される。また、当然ながら、試験時に必要なアドレス信号、およびリードイネーブルに対応する専用端子が削減され、データ分割部２１が設けられた場合には、データ信号に対応する専用端子も削減される。このため、マイクロコンピュータの端子数の増加を抑えて、アドレスコンプリメントモードでの、記憶部の読み出しテストが実現される。
【０１１５】
なお、アドレスコンプリメントモードは、レジスタ設定や外部端子で設定される。
【０１１６】
（実施の形態４）
次に実施の形態４について説明する。
【０１１７】
実施の形態４におけるマイクロコンピュータは、記憶部からの読み出し時に必要な待ち期間（以下、「ＷＡＩＴ数」という）に対応する。
【０１１８】
図８は、本発明の実施の形態４におけるマイクロコンピュータのブロック図である。
【０１１９】
ＷＡＩＴ調整部３３が、マイクロコンピュータ１に設けられている。ＷＡＩＴ調整部３３は、記憶部５からのデータの読み出し時に必要なＷＡＩＴ数に対応して、反転制御部２５からの反転許可信号２６の出力期間を調整する。すなわち、記憶部５の読み出しに必要なＷＡＩＴ数に応じて、反転許可信号２６の有する、許可状態、不許可状態のそれぞれの保持期間を延ばすことができる。
【０１２０】
このＷＡＩＴ数は、記憶部５の仕様に応じて定まる。例えば、記憶部５がＲＯＭである場合に、ＲＯＭの種類や品番に応じて、読み出しに必要なＷＡＩＴ数が定まる。例えば、ＷＡＩＴ数はクロックサイクルを基準として定められ、ＷＡＩＴ数が値「３」などの様に定められる。
【０１２１】
ＷＡＩＴ調整部３３は、分周器３１の出力を、予め定められた分周比である（１＋ＷＡＩＴ数）で分周することで、反転許可信号の保持期間を延ばす。
【０１２２】
次に、図９を用いて、ＷＡＩＴ調整部３３を備えるマイクロコンピュータ１の動作について説明する。図９は、本発明の実施の形態４におけるマイクロコンピュータの動作を示すタイミングチャートである。
【０１２３】
ここで、記憶部５は、３２ビット幅のデータ出力を有し、３２ビット境界のアドレスで、３２ビットのワード読み出しが実行される。また、プロセッサ３のアドレス信号１７の出力の初期値は４０００番地であり、データ選択部１３からの命令コードは、「アドレス値を１ずつ増加させながらアドレス信号１７を出力させる」ことの指示を含んでいる。また、記憶部５の読み出しに必要なＷＡＩＴ数を値「３」とする。
【０１２４】
図９に示されるように、上半分には通常動作時のタイミングチャートが示されており、下半分には、試験時のタイミングチャートが示されている。試験時として、アドレスコンプリメントモードでの読み出しテストが示されている。
【０１２５】
ＷＡＩＴ数が値「３」であるので、アドレス信号１７の出力期間とリードイネーブル１９の出力期間は、３テストクロックの期間だけ延びている。このＷＡＩＴ数に応じたアドレス信号１７とリードイネーブル１９の出力期間により、記憶部５からのデータ信号１５が読み出される。
【０１２６】
試験時においては、ＷＡＩＴ調整部３３の出力期間が、ＷＡＩＴ数の値「３」に従って、延びる。このＷＡＩＴ調整部３３の出力に応じて、反転許可信号２６の出力期間も定まる。
【０１２７】
具体的には、まず、分周器３１は、テストクロックを２分周する。プロセッサ３は、２分周された分周器３１の出力に同期して動作する。時刻ｔ０〜ｔ１６の期間に、「４０００番地」のアドレス信号１７が出力される。ＷＡＩＴ調整部３３は、分周器３１の出力を４分周し、ｔ０〜ｔ８の期間はＨｉｇｈレベルの信号を出力し、時刻ｔ８〜ｔ１６の期間はＬｏレベルの信号を出力する。
【０１２８】
時刻ｔ０〜ｔ８の期間では、ＷＡＩＴ調整部３３の出力がＨｉｇｈレベルなので、反転制御部２５は、反転許可信号２６を不許可状態にする。このため、記憶部５には、プロセッサ３から出力されたアドレス信号１７がそのまま出力される。リードイネーブル信号はｔ１〜ｔ８の期間にアクティブとなる。これらの信号状態により、ｔ１〜ｔ８の期間において、記憶部５の「４０００番地」に記憶されているデータが、データ信号１５として出力される。
【０１２９】
これにより、ＷＡＩＴ数を考慮した上で、記憶部５のデータが読み出される。
【０１３０】
次に、時刻ｔ８〜ｔ１６の期間では、ＷＡＩＴ調整部３３の出力がＬｏレベルなので、反転制御部２５は、反転制御部２５は、反転許可信号２６を許可状態にする。反転許可信号２６が許可状態であるので、アドレス反転部２３は、プロセッサ３からのアドレス信号のアドレス値を論理反転して、記憶部５に出力する。また時刻ｔ９〜ｔ１６の期間において、リードイネーブル１９がアクティブとなる。以上より、時刻ｔ９〜ｔ１６の期間に、論理反転したアドレス値「ＢＦＦＦ番地」に記憶されているデータの読み出しが可能となる。
【０１３１】
以上のように、ＷＡＩＴ数を考慮した信号に基づいて、反転許可信号２６が生成されることで、記憶部５の待ち時間に対応した読み出しテストが実現される。
【０１３２】
なお、ＷＡＩＴ数は設計段階でわかるため、ＷＡＩＴ調整部３３の分周比は設計段階で予め設定することが可能である。
【０１３３】
なお、データ分割部２１は、備えられていても備えられていなくとも良い。
【０１３４】
（実施の形態５）
次に、図１０と図１１を用いて実施の形態５について説明する。
【０１３５】
例えば、プロセッサ３の最小の命令語長が３２ビットの場合には、最小のアドレス値の増加も値「４」となる。このため、アドレス値を値「１」、値「２」などの単位で増加させて記憶部５に出力させることができない。このため、３２ビットのデータ信号１５を、８ビットや１６ビット幅に分割することができない場合がある。
【０１３６】
実施の形態５におけるマイクロコンピュータ１は、アドレス生成部４１を備えることで、プロセッサの持つ最小の命令語長が３２ビットの場合でも、データ信号１５が８ビットや１６ビット幅に分割されて外部に出力され、外部出力１６に必要な専用端子を削減することができる。
【０１３７】
図１０は、本発明の実施の形態５におけるマイクロコンピュータのブロック図であり、図１１は、本発明の実施の形態５におけるマイクロコンピュータの動作を示すタイミングチャートである。
【０１３８】
アドレス生成部４１は、テストクロックに同期して、値「１」で増加するアドレス信号、もしくは値「２」で増加するアドレスを生成する。例えば、アドレス生成部４１は、カウンタを備え、値「１」や値「２」などの単位で、アドレス値をインクリメント、もしくはディクリメントしてアドレスを生成する。このとき、アドレス生成部４１は、プロセッサ３の有するアドレス値の初期値を基準として、アドレスを生成する。
【０１３９】
マルチプレクサ４３は、アドレス生成部４１の出力と、プロセッサ３の出力を選択して、記憶部５に出力する。マルチプレクサ４３の出力が、記憶部５において最終的に使用されるアドレス信号１７となる。
【０１４０】
例えば、プロセッサ３の最小の命令語長が３２ビットであるが、データ分割部２１で、８ビット毎にデータ信号１５を分割して出力したい場合には、アドレス生成部４１は、値「１」ずつ増加するアドレスを生成して、これがアドレス信号１７として記憶部５に出力される。これにより、記憶部５は、８ビット毎に切り替わるアドレスに記憶されているデータを、データ信号１５として出力する（但し、データ信号１５は３２ビット幅を有しているので、３２ビット幅のデータ信号１５の、所定の８ビット上に、読み出されたデータが存在する）ので、データ分割部２１で８ビット毎の並列系列のビット列として分割されて外部出力１６として出力される。
【０１４１】
アドレス生成部４１でのアドレス値の変化が値「２」ずつであれば、データ分割部２１は、３２ビット幅のデータ信号１５を、１６ビット幅に分割して、外部出力１６として出力する。
【０１４２】
試験時であって、プロセッサ３の有する最小の命令語長が、データ分割部２１で分割しようとする並列系列ビット列よりも長い場合には、アドレス生成部４１で生成されるアドレスが記憶部５で利用されることで、データ分割部２１でデータ信号１５が分割される。
【０１４３】
次に、図１１をもちいて、マイクロコンピュータ１の動作について説明する。
【０１４４】
ここで、プロセッサ３は、３２ビットの最小命令語長を有しており、記憶部５は、３２ビット幅のデータ出力を有している。また、データ分割部２１は、データ信号１５を８ビット毎に分割して、外部出力１６として出力するものとする。また、プロセッサ３の出力するアドレスの初期値は「４０００番地」とし、データ選択部１３の出力する命令コードは、「プロセッサ３の出力するアドレスを値「４」ずつ増加させる」ことを指示する。
【０１４５】
プロセッサ３は、命令コードに従って、４０００番地から、アドレス値を値「４」ずつ増加させてアドレスを出力する。一方、アドレス生成部４１は、４０００番地から、アドレス値を値「１」ずつ増加させてアドレスを出力する。マルチプレクサ４３は、アドレス生成部４１の出力を選択して、記憶部５に出力する。すなわち、記憶部５には、「４０００番地」、「４００１番地」、「４００２番地」、「４００３番地」のアドレス値をもったアドレス信号１７が入力する。
【０１４６】
記憶部５は、これらの入力するアドレス信号１７のアドレス値に記憶されているデータをデータ信号１５として出力する。データ分割部２１は、アドレス信号１７の下位２ビットに従って、８ビットずつの並列系列ビット列を選択して、外部出力１６として出力する。
【０１４７】
時刻ｔ１では、データ信号１５の０ビット目から７ビット目までの８ビットの信号が、選択されて外部出力１６として出力される。次に、時刻ｔ３では、データ信号１５の８ビット目から１５ビット目までの８ビットの信号が選択されて、外部出力１６として出力される。次いで、時刻ｔ５では、データ信号１５の１６ビット目から２３ビット目までの８ビットの信号が選択されて、外部出力１６として出力される。更に、時刻ｔ７では、データ信号１５の２４ビット目から３１ビット目までの８ビットの信号が選択されて、外部出力１６として出力される。
【０１４８】
このとき、アドレス信号１７は、アドレス生成部４１の出力に従い、アドレス値が値「１」ずつ増加して、記憶部５に出力されている。
【０１４９】
このように、実施の形態５におけるマイクロコンピュータでは、アドレス生成部４１により、プロセッサ３の最小命令語長に係らず、データ分割部２１で任意のビット幅に、データ信号１５を分割することができる。結果として、外部出力１６に必要となる専用端子を削減できる。
【０１５０】
なお、図１０に示されるマイクロコンピュータ１では、試験時にはアドレス生成部４１からのアドレス信号１７が、記憶部５において用いられて読み出しテストが実行されるので、命令コードを出力するデータ選択部１３が無くても良い。
【産業上の利用可能性】
【０１５１】
本発明は、同一の半導体チップ、もしくはパッケージに設けられた記憶部の製造後試験が必要なマイクロコンピュータなどのＬＳＩ分野等において好適に利用できる。
【図面の簡単な説明】
【０１５２】
【図１】本発明の実施の形態１におけるマイクロコンピュータのブロック図
【図２】本発明の実施の形態１におけるマイクロコンピュータの動作を示すタイミングチャート
【図３】本発明の実施の形態２におけるマイクロコンピュータ１のブロック図
【図４】本発明の実施の形態２におけるマイクロコンピュータの動作を示すタイミングチャート
【図５】本発明の実施の形態３におけるマイクロコンピュータのブロック図
【図６】本発明の実施の形態３におけるマイクロコンピュータのブロック図
【図７】本発明の実施の形態３におけるマイクロコンピュータの動作を示すタイミングチャート
【図８】本発明の実施の形態４におけるマイクロコンピュータのブロック図
【図９】本発明の実施の形態４におけるマイクロコンピュータの動作を示すタイミングチャート
【図１０】本発明の実施の形態５におけるマイクロコンピュータのブロック図
【図１１】本発明の実施の形態５におけるマイクロコンピュータの動作を示すタイミングチャート
【図１２】従来のマイクロコンピュータのブロック図
【図１３】マイクロコンピュータの通常動作時と試験時の動作を示すタイミングチャート
【符号の説明】
【０１５３】
１  マイクロコンピュータ
３  プロセッサ
５  記憶部
７  ＬＳＩテスト装置
９  テストクロック
１１  テストモード信号
１３  データ選択部
１５  データ信号
１６  外部出力
１７  アドレス信号
１９  リードイネーブル
２１  データ分割部
２３  アドレス反転部
２５  反転制御部
２６  反転許可信号
２７  リードイネーブル発生部
２９  リードイネーブル制御部
３１  分周器
３３  ＷＡＩＴ調整部
４１  アドレス生成部
【図１】
2007018320.tif 000003
【図２】
2007018320.tif 000004
【図３】
2007018320.tif 000005
【図４】
2007018320.tif 000006
【図５】
2007018320.tif 000007
【図６】
2007018320.tif 000008
【図７】
2007018320.tif 000009
【図８】
2007018320.tif 000010
【図９】
2007018320.tif 000011
【図１０】
2007018320.tif 000012
【図１１】
2007018320.tif 000013
【図１２】
2007018320.tif 000014
【図１３】
2007018320.tif 000015