(57)【要約】【課題】少ない外部端子で内部の専用回路にテスト用のデータを入力でき、また、モニタすることができるデータ処理装置を提供する。【解決手段】外部からシリアル入力されたデータをパラレル変換してＣＰＵ２から供給されるアドレスデータに代わる擬似アドレスデータφＰＡＤとしてアドレスバス７へ出力可能な状態とするアドレスデータ変換回路２１と、外部からシリアル入力されたデータをパラレル変換して擬似入力データφＰＩＤとしてデータバス８へ出力可能な状態とする入力データ変換回路２３と、バスサイクルを発生し、擬似アドレスデータφＰＡＤおよび擬似入力データφＰＩＤを専用回路３〜５が取得可能とするデコード回路２２とを設けたデータ処理装置１を提供する。この構成により、データ処理装置１の動作を止めることなく、少ない外部端子で専用回路のテストを行なえる。【選択図】　　　　図１
2004078739.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスとを有するデータ処理装置に搭載される処理ユニットであって、
外部からシリアル入力されたアドレスデータをパラレル変換して前記ＣＰＵから供給されるアドレスデータに代わる擬似アドレスデータとして前記アドレスバスへ出力可能な状態とするアドレスデータ変換回路と、
前記擬似アドレスデータが前記アドレスバスへ出力可能な状態になるとバスサイクルを発生するバスサイクル発生回路とを有する処理ユニット。
【請求項２】
請求項１において、外部からシリアル入力された入力データをパラレル変換して擬似入力データとして前記データバスへ出力可能な状態とする入力データ変換回路を有し、
前記バスサイクル発生回路は、前記擬似アドレスデータおよび擬似入力データが前記アドレスバスおよびデータバスへそれぞれ出力可能な状態になるとバスサイクルを発生する処理ユニット。
【請求項３】
請求項２において、前記バスサイクルを発生させることにより前記データバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換回路と、
外部から供給される制御信号をデコードし、前記入力データ変換回路を動作するか、前記出力データ変換回路を動作するかを選択する選択回路とを有する処理ユニット。
【請求項４】
請求項２において、前記バスサイクルを発生させることにより前記データバスに表れる出力データを、予め設定された参照データと比較し、その比較結果を外部に出力する出力データ比較回路と、
外部から供給される制御信号をデコードし、前記入力データ変換回路を動作するか、前記出力データ比較回路を動作するかを選択する選択回路とを有する処理ユニット。
【請求項５】
請求項２において、前記バスサイクルを発生させることにより前記データバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換回路と、
前記バスサイクルを発生させることにより前記データバスに表れる出力データを、予め設定された参照データと比較し、その比較結果を外部に出力する出力データ比較回路と、
外部から供給される制御信号をデコードし、前記入力データ変換回路を動作するか、前記出力データ変換回路または出力データ比較回路を動作するかを選択する選択回路とを有する処理ユニット。
【請求項６】
請求項１において、前記バスサイクルを発生させることにより前記データバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換回路を有する処理ユニット。
【請求項７】
請求項１において、前記バスサイクルを発生させることにより前記データバスに表れる出力データを、予め設定された参照データと比較し、その比較結果を外部に出力する出力データ比較回路とを有する処理ユニット。
【請求項８】
請求項１ないし７のいずれかに記載の処理ユニットと、ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスとを有するデータ処理装置。
【請求項９】
請求項８において、前記少なくとも１つの専用回路はメモリであるデータ処理装置。
【請求項１０】
請求項８において、当該データ処理装置は、集積回路装置であることを特徴とするデータ処理装置。
【請求項１１】
ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスとを有するデータ処理装置であって、
外部からシリアル入力されたアドレスデータをパラレル変換して前記ＣＰＵから供給されるアドレスデータに代わる擬似アドレスデータとして前記アドレスバスへ出力可能な状態とするアドレスデータ変換回路と、
前記擬似アドレスデータが前記アドレスバスへ出力可能な状態になるとバスサイクルを発生するバスサイクル発生回路とを有するデータ処理装置。
【請求項１２】
ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスとを有するデータ処理装置のテスト方法であって、
外部からシリアル入力されたアドレスデータをパラレルデータに変換して前記ＣＰＵから供給されるアドレスデータに代わる擬似アドレスデータとして前記アドレスバスに出力可能な状態とするアドレスデータ変換工程と、
前記擬似アドレスデータが前記アドレスバスへ出力可能な状態になると、バスサイクルを発生するデータ処理工程とを有するデータ処理装置のテスト方法。
【請求項１３】
請求項１２において、前記アドレスデータ変換工程と前後して、または並列に、外部からシリアル入力された入力データをパラレルデータに変換して擬似入力データとして前記データバスへ出力可能な状態とする入力データ変換工程を有し、
前記データ処理工程では、前記擬似アドレスデータおよび前記擬似入力データが前記アドレスバスおよび前記データバスへそれぞれ出力可能な状態になると、バスサイクルを発生するデータ処理装置のテスト方法。
【請求項１４】
請求項１３において、前記バスサイクルを発生させた後に、出力済みの信号を外部に出力する工程をさらに有するデータ処理装置のテスト方法。
【請求項１５】
請求項１２において、前記データ処理工程により前記データバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換工程をさらに有するデータ処理装置のテスト方法。
【請求項１６】
請求項１２において、前記データ処理工程により前記データバスに表れる出力データを、予め設定された参照データと比較し、その比較結果を外部に出力する出力データ比較工程をさらに有するデータ処理装置のテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵと少なくとも１つの専用回路とが内蔵されたＡＳＩＣまたはシステムＬＳＩをテストする技術に関するものである。
【０００２】
【従来の技術】
近年、ＣＰＵと、所定の機能、たとえば、メモリや、ＵＳＢ、ＩＥＥＥ１３９４などのインターフェイス回路、モータドライバなどを実現する専用回路、ＬＳＩ−ＩＰ（（ＬＳＩ　Ｉｎｔｅｌｌｅｃｔｕａｌ　Ｐｒｏｐｅｒｔｙ）以降ではＩＰという）あるいは内部ロジックなどと称される回路（本明細書では、これらを総称して専用回路と呼ぶことにする）とによって構成されるシステム全体を単一の半導体チップに構成し、１つのＡＳＩＣ（システムＬＳＩ）として提供されつつある。
【０００３】
【発明が解決しようとする課題】
このようなシステムＬＳＩでは、専用回路の入出力などを含めたテストを行う方法が問題となる。システムＬＳＩの外部から専用回路にアクセスできるような接続配線あるいは端子を設けておくことが望ましい。しかしながら、バス幅の分のデータを入出力する端子が必要になるので、たとえ端子を切り替えて利用するとしてもシステムＬＳＩが通常備えている外部端子でカバーすることは不可能である。また、テストだけのために大量の外部端子を配置することは現実的ではない。複数の専用回路が搭載されているシステムＬＳＩでは、この問題がさらに大きくなる。
【０００４】
このようなシステムＬＳＩのテスト方法として内部スキャンという方法がある。内部スキャンでは専用回路の入出力端をＬＳＩの内部で切り替えてシリアル変換して出力するので、少ない外部端子の数でテスト用のデータを入出力できる。しかしながら、テスト用のデータをシリアル入力したり、テスト結果をシリアル出力するために、少なくともテスト対象の専用回路は一時的に停止する必要がある。このため、ある専用回路をテストすると実際のＬＳＩの動作とは異なる処理を行うことになる。また、複数の専用回路が協働する処理をテストすることもできない。
【０００５】
したがって、現状では、ＬＳＩに搭載されている専用回路の入出力をＬＳＩが実際に稼動している状態、あるいはそれに非常に近い状態でテストあるいはモニタする方法は実質的にはないと言える。そこで、本発明においては、少ない外部端子でＬＳＩに搭載された専用回路を通常動作させながらテストあるいはモニタすることができるデータ処理装置およびそのテスト方法を提供することを目的としている。
【０００６】
【課題を解決するための手段】
このため、本発明では、外部からシリアル入力されたアドレスデータや入力データをパラレル変換してアドレスバスやデータバスに出力できる状態とし、その段階で外部からのトリガ信号によりバスサイクルを発生させて専用回路に供給できるようにしている。これにより、ＣＰＵが専用回路にデータを供給するのと同じ状態を実現し、専用回路の動作をテストできる。また、同様にアドレスデータを出力し、それによりデータバスに表れた出力データをシリアル変換して外部に出力できるようにしている。これにより、ＣＰＵが専用回路からデータを取得するのと同じ状態を実現し、専用回路からの出力をモニタできる。
【０００７】
すなわち、本発明においては、ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスとを有するデータ処理装置に搭載される処理ユニットであって、外部からシリアル入力されたアドレスデータをパラレル変換してＣＰＵから供給されるアドレスデータに代わる擬似アドレスデータとしてアドレスバスへ出力可能な状態とするアドレスデータ変換回路と、擬似アドレスデータがアドレスバスへ出力可能な状態になるとバスサイクルを発生するバスサイクル発生回路とを有する処理ユニットを提供する。この処理ユニットあるいはテストユニット（テスト回路）は、１つのＬＳＩ−ＩＰとして提供することが可能であり、これを搭載することにより、ＣＰＵと、少なくとも１つの専用回路と、これらを接続するデータバスおよびアドレスバスと、テストユニットの機能を備えた本発明のデータ処理装置をシステムＬＳＩなどの集積回路あるいは集積回路装置として提供することが可能となる。
【０００８】
本発明の処理ユニットの機能を備えたデータ処理装置であれば、外部からシリアル入力されたアドレスデータをパラレルデータに変換してＣＰＵから供給されるアドレスデータに代わる擬似アドレスデータとしてアドレスバスに出力可能な状態とするアドレスデータ変換工程と、擬似アドレスデータが出力可能な状態になるとバスサイクルを発生するデータ処理工程とを有するテスト方法でデータ処理装置に搭載された専用回路を動作させることができる。
【０００９】
たとえば、外部からシリアル入力された入力データをパラレル変換して擬似入力データとしてデータバスへ出力可能な状態とする入力データ変換回路を設け、バスサイクル発生回路は、擬似アドレスデータおよび擬似入力データがアドレスバスおよびデータバスへそれぞれ出力可能な状態になるとバスサイクルを発生するようにすることができる。このデータ処理装置においては、アドレスデータ変換工程と前後して、または並列に、外部からシリアル入力された入力データをパラレルデータに変換して擬似入力データとしてデータバスへ出力可能な状態とする入力データ変換工程を設け、擬似アドレスデータおよび擬似入力データが出力可能な状態になるとバスサイクルを発生するテスト方法でデータを入力して専用回路を動作させることができる。
【００１０】
このテスト方法では、アドレスデータおよび入力データをシリアル入力する工程と、それらをバスを介して供給する工程が分離しており、データを入力するタイミングと、バスサイクルを発生させてアドレスデータおよび入力データを専用回路に供給するタイミングを分離できる。したがって、入力対象となっている専用回路や他の専用回路の動きを止めずに、通常のバスサイクルを発生させるだけで、適切なタイミングでテスト用のデータを入力することが可能となる。すなわち、ＬＳＩとしての機能を止めずにテスト用のデータを入力できる。さらに、一旦ＣＰＵからデータが専用回路に供給されると、専用回路が独自で処理を進められるシステムのＬＳＩであると、ＣＰＵから専用回路にデータが供給される時間間隔は十分にあるので、アドレスデータおよび入力データをシリアル入力する時間を確保できる。したがって、通常のＬＳＩの動作の中でテストデータを入力することが可能となる。そのようなＬＳＩは、モータなどのアクチュエータを集中的に制御するプリンタの制御用のＬＳＩがある。
【００１１】
また、本発明の処理ユニットを搭載することにより、データ処理装置は、アドレスバスおよびデータバスという、データ処理装置である集積回路装置に用意されているデータ入出力のアーキテクチャを用いてテストデータを入力することができる。したがって、専用回路の入出力配線を切り替えるためのゲート回路は不要であり、外部からのシリアルデータをパラレルデータに変換してバスに出力する機能を備えた簡易な回路を追加するだけで良い。また、データはシリアルで入力されるので、テスト用の端子の数は少ない。さらに、ＬＳＩ自体をデータ入力用に制御する必要はないので、特別なプロトコルも不要である。このため、経済的に、汎用性のあるテスト用の回路をＬＳＩに実装することができる。
【００１２】
また、入力データがバスを経由して出力されたことを外部に示すために、バスサイクルを発生させた後に、出力済みの信号を外部に出力する機能あるいは工程をさらに設けることが望ましい。
【００１３】
専用回路からのデータをモニタするには、アドレスデータ変換回路によりアドレスデータを出力可能な状態とした後に、バスサイクル発生回路でバスサイクルを発生させ、それによりデータバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換回路を、入力データ変換回路と共に、あるいは入力データ変換回路とは別に設ければ良い。擬似アドレスデータが出力可能になるとバスサイクルを発生するデータ処理工程によりデータバスに表れる出力データをシリアルデータに変換して外部に出力する出力データ変換工程を有するテスト方法によりデータ処理装置をテストできる。このテスト方法およびデータ処理装置であれば、出力データをシリアル変換する工程も分離されるので、出力データをシリアル出力するタイミングもバスサイクルとはセパレートできる。したがって、上記と同様にＬＳＩを止めずに専用回路からの出力をモニタできる。
【００１４】
また、データそのものを外部出力する代わりに、バスサイクルを発生させることによりデータバスに表れる出力データを、予め設定された参照データと比較し、その比較結果を外部に出力する出力データ比較回路を設けて、比較結果だけを外部に出力するようにしても良い。
【００１５】
入力データ変換回路、出力データ変換回路および出力データ比較回路は、それぞれを単独で備えた処理ユニットをテストユニットとして提供することも可能であるし、それらの回路の組み合わせ、あるいはそれらの回路をすべて備えた処理ユニットをテストユニットとして提供することも可能である。これらの回路を有するデータ処理装置においては、外部から供給される制御信号をデコードし、入力データ変換回路を動作するか、出力データ変換回路または比較回路を動作するかを選択する選択回路を設けておくことにより、データ処理装置であるＬＳＩの動作を止めずに、テスト用のデータを専用回路に入力でき、また、出力をモニタできる。
【００１６】
【発明の実施の形態】
以下に図面を参照して本発明をさらに詳しく説明する。図１に本発明に係るデータ処理装置の概略構成を示してある。本例のデータ処理装置１は、１つのＡＳＩＣまたはＬＳＩ（集積回路装置）であり、ＣＰＵ２と、３つの専用回路（ＩＰあるいは内部ロジック）３、４および５と、これらを接続するアドレスバス７およびデータバス８とを有している。したがって、ＬＳＩ１では、アドレスバス７およびデータバス８を介してＣＰＵ２と、専用回路３、４および５との間でデータが転送される。また、データ処理装置１は、専用回路３、４および５をテストまたは検証するテスト回路（処理ユニットまたはテストユニット）６を有しており、外部から外部端子１１に入力されるトリガ信号ＰＣＰＵＤＩＮＥＮにより、テスト回路６がＣＰＵ２の代わりにバスサイクルを発生させて専用回路３、４および５にデータを入出力することができる。
【００１７】
テスト回路６には、外部端子１１からデータ入力信号ＰＣＰＵＤＩＮＥＮとコマンド信号ＰＣＰＵＣＭＤが入力され、外部端子１２からシリアル入力データＰＣＰＵＤＩＮが入力される。さらに、外部端子１３からシリアル出力データＰＣＰＵＤＯＵＴが出力される。テスト回路６は、シリアル入力データＰＣＰＵＤＩＮをラッチしてパラレル変換し、ＣＰＵ２から供給されるアドレスデータに代わる擬似アドレスデータφＰＡＤとしてアドレスバス７に出力可能な状態とするアドレスデータ変換回路２１を備えている。具体的なアドレス変換回路２１の一例は、シリアルデータをパラレル変換できるアドレスバス７と同じビット幅を備えたシフトレジスタである。
【００１８】
また、テスト回路６は、シリアル入力データＰＣＰＵＤＩＮをラッチしてパラレル変換し、擬似入力データφＰＩＤとしてデータバス８に出力可能な状態にする入力データ変換回路２３を備えている。具体的な入力データ変換回路２３の一例は、シリアルデータをパラレル変換できるデータバス８と同じビット幅を備えたシフトレジスタである。
【００１９】
さらに、テスト回路６は、データバス８に表れる出力データをラッチし、シリアルデータに変換して外部にシリアル出力データＰＣＰＵＤＯＵＴとして出力する出力データ変換回路２４を備えている。具体的な出力データ変換回路２４の一例は、パラレルデータをシリアル変換できるデータバス８と同じビット幅を備えたシフトレジスタである。
【００２０】
また、テスト回路６は、入力データ変換回路２３にラッチされたデータと、出力データ変換回路２４にラッチされたデータとを比較して、その比較結果をシリアル出力データＰＣＰＵＤＯＵＴとして出力できる出力データ比較回路２５を備えている。
【００２１】
さらに、テスト回路６は、データ入力信号ＰＣＰＵＤＩＮＥＮとコマンド信号ＰＣＰＵＣＭＤをデコードし種々の制御信号を出力するデコード回路（バスサイクル発生回路）２２を備えている。デコード回路２２は、まず、データ入力信号ＰＣＰＵＤＩＮＥＮが供給されている間、シリアル入力データＰＣＰＵＤＩＮをアドレスデータ変換回路２１および／または入力データ変換回路２３で順番にラッチする制御信号φ１をアドレスデータ変換回路２１および入力データ変換回路２３へ出力する。また、データバス８に表れたデータをラッチする制御信号φ２を出力データ変換回路２４に供給する。さらに、出力を指示する出力制御信号φ３を出力データ変換回路２４、出力データ比較回路２５および出力データ選択回路２７に供給する。出力データ選択回路２７では、出力制御信号φ３によって、出力制御信号φ３に続いて出力データ変換回路２４または出力データ比較回路２５からの出力を選択してシリアル出力データＰＣＰＵＤＯＵＴとして出力する。すなわち、シリアル出力データＰＣＰＵＤＯＵＴとしては、まず、出力制御信号φ３が一発出て、その後で、シリアル変換された出力データまたは比較結果が出力される。この出力制御信号φ３は、バスサイクルが終了すると出るようになっているので、テスト回路６によりデータがバス８を介して書き込まれたときは、書き込みが終了した信号になる。
【００２２】
デコード回路２２は、さらに、データを読み出すときは、アドレスデータ変換回路２１にアドレスデータφＰＡＤがセットされ、データを書き込むときは、さらに入力データ変換回路２３に入力データφＰＩＤがセットされた後に、ＣＰＵ２に代わってバスサイクルを発生させる。このため、デコード回路２２は、バス制御信号φＰＢＣと、入力選択回路２６の制御信号φ４とを出力する。入力選択回路２６は、ＣＰＵ２のアドレスバス２ａおよびアドレスデータ変換回路２１の出力のいずれか選択してアドレスバス７に接続する第１のセレクタ２６ａと、ＣＰＵ２からのバス制御信号φＢＣおよびデコード回路２２からのバス制御信号φＰＢＣのいずれかを選択して専用回路３〜５に供給する第２のセレクタ２６ｂとを備えている。
【００２３】
したがって、本例のＬＳＩ１においては、テスト回路６に外部端子１１および１２により供給された信号によりアドレスデータφＰＡＤおよび／または入力データφＰＩＤがバスを介して出力可能な状態になった後、デコード回路２２から制御信号φ４が出力され、入力選択回路２６においてアドレスデータ変換回路２１の出力とデコード回路２２からのバス制御信号φＰＢＣとが選択される。これにより、テスト回路６がＣＰＵ２に代わってバス７および８を制御し、バスサイクルを発生させる。そして、データを書き込むときは、アドレスデータφＰＡＤおよび入力データφＰＩＤがテスト回路６のアドレスデータ変換回路２１および入力データ変換回路２３から専用回路３〜５にバス７および８を介して供給される。一方、データを読み込むときは、アドレスデータφＰＡＤが専用回路３〜５にバス７を介して供給され、データバス８に表れた出力データがテスト回路６の出力データ変換回路２４にラッチされる。
【００２４】
図２に、専用回路３がメモリであるときに、そのメモリ３の所定のアドレスからデータをリードするテストのタイミングチャートを示してある。まず、テスト回路６では、外部端子１１にトリガ信号ＰＣＰＵＤＩＮＥＮが入力されている状態で、外部端子１２にシリアルデータＰＣＰＵＤＩＮ０が入力されると、アドレスデータ変換回路２１でこれらのシリアルデータがラッチされ、パラレル変換されて２４ビットのリードアドレス（擬似アドレスデータ）φＰＡＤがアドレスバス７に出力可能な状態となる（アドレスデータ変換工程３１）。時刻ｔ１で、トリガとなるデータ入力信号ＰＣＰＵＤＩＮＥＮが立ち下がり、すべてのシリアルデータＰＣＰＵＤＩＮ０がパラレル変換されて擬似アドレスデータφＰＡＤがレディーになると、時刻ｔ２で、制御信号φ１およびφ４でアドレスデータ変換回路２１をアドレスバス７に接続してバス７をアクティブにし、バスサイクルを発生させる（工程３２）。さらに、擬似アドレスデータφＰＡＤにより、デコード回路２２から読み込み対象のメモリ３にメモリ要求信号ｎＭＲＥＱが出力される。これにより、メモリ３は、ｎＷＡＩＴ信号を出力して擬似アドレスデータφＰＡＤを取得する。次に、メモリ３は、時刻ｔ３にｎＷＡＩＴ信号をアップして、データバス８にアドレスデータφＰＡＤに対応する出力データφ５を出力する。
【００２５】
したがって、テスト回路６は、ｎＷＡＩＴ信号を検出し、データバス８に表れた出力データφ５を出力データ変換回路２４にラッチし、時刻ｔ４からシリアルデータＰＣＰＵＤＯＵＴに変換して第３の外部端子１３から出力する（出力データ変換工程３３）。出力データ変換回路２４から出力データφ５の全体をシリアル変換して出力する場合は、出力信号φ３によるスタートビットに続いて、出力データφ５がシリアル変換したデータが順番に出力される。
【００２６】
デコード回路２２は、３ビットのコマンド信号ＰＣＰＵＣＭＤをデコードしてバスサイクルの制御を行う。コマンド信号ＰＣＰＵＣＭＤの先頭ビット（ビット０）の状態は、書き込みを行なうのか、読み出しを行なうのかを示す。ビット０が「０」であればリードを行い、「１」であればライトを行ない、それが制御信号ｎＲＷに反映される。図２ではリードサイクルなので制御信号ｎＲＷは立ち上がらない。信号ＰＣＰＵＣＭＤの２番目のビット（ビット１）は、アクセスするサイズを決定する。ビット１が「０」であれば１６ビットアクセス（ハーフワードアクセス）を行い、「１」であれば３２ビットアクセス（フルワードアクセス）を行い、それが制御信号ＭＡＳに反映される。
【００２７】
コマンド信号ＰＣＰＵＣＭＤの３ビット目（ビット２）は、リードするときのモードを指定する。ビット２が「０」であれば、出力データ変換回路２４にラッチされた出力データφ５がシリアル変換されて、そのまま、シリアルデータＰＣＰＵＤＯＵＴ出力される。一方、ビット２が「１」であれば、出力データ比較回路２５がアクティブになり、出力データ変換回路２４にラッチされた出力データφ５が、予め入力データ変換回路２３にセットされたデータを参照データとして比較され、一致または不一致を示す情報だけがシリアルデータＰＣＰＵＤＯＵＴとして出力される（出力データ比較工程３４）。
【００２８】
図３に、メモリ３にテストデータをライトするテストのタイミングチャートを示してある。外部端子１２に入力されたシリアルデータＰＣＰＵＤＩＮ０およびＰＣＰＵＤＩＮ１をアドレス変換回路２１および入力データ変換回路２３でラッチし、パラレル変換して擬似アドレスデータφＰＡＤおよび入力データφＰＩＤを生成する（アドレスデータ変換工程３１および入力データ変換工程３５）。
本例のＬＩＳ１では、外部端子１２は２チャンネルの幅を備えており、この図３においては、２チャンネル分のシリアルデータＰＣＰＵＤＩＮ０およびＰＣＰＵＤＩＮ１を並列で入力して、擬似アドレスデータφＰＡＤおよび入力データφＰＩＤを並列に生成している。もちろん、擬似アドレスデータφＰＡＤおよび入力データφＰＩＤをこの順番に、あるいは逆の順番でシリアルに入力して、順番にパラレル変換し、アドレスバス７およびデータバス８に出力可能な状態にしても良い。
【００２９】
上記と同様に、時刻ｔ１に、データ入力信号ＰＣＰＵＤＩＮＥＮが立ち下がり、すべてのシリアルデータＰＣＰＵＤＩＮ０およびＰＣＰＵＤＩＮ１がパラレル変換されて擬似アドレスデータφＰＡＤおよび入力データφＰＩＤがレディーになると、時刻ｔ２で、制御信号φ１およびφ４でアドレスデータ変換回路２１および入力データ変換回路２３をアドレスバス７およびデータバス８にそれぞれ接続してバス７および８をアクティブにし、バスサイクルを発生させる（工程３２）。さらに、擬似アドレスデータφＰＡＤにより、デコード回路２２から読み込み対象のメモリ３にメモリ要求信号ｎＭＲＥＱが出力される。これにより、メモリ３は、ｎＷＡＩＴ信号を出力して擬似アドレスデータφＰＡＤおよび入力データφＰＩＤを取得し、そのアドレスにデータを書き込む。次に、メモリ３は、時刻ｔ３にｎＷＡＩＴ信号をアップして、書き込むが終了したことを伝達する。
【００３０】
したがって、テスト回路６は、ｎＷＡＩＴ信号を検出し、時刻ｔ４に書き込みが終了したことを示す信号をワンショットのシリアルデータＰＣＰＵＤＯＵＴとして出力する。
【００３１】
ライトサイクルにおいても、デコード回路２２がコマンド信号ＰＣＰＵＣＭＤをデコードしてバスサイクルを詳細に制御する。すなわち、ライトサイクルであるので制御信号ｎＲＷが立ち上がり、このサイクルではフルワードアクセスであることを示す制御信号ＭＡＳが出力される。これらのテスト回路６を用いたリードサイクルおよびライトサイクルは、ＲＡＭなどのメモリに限らず、モータドライバ回路などの他の専用回路においても同様に行うことができる。
【００３２】
このように、本例のデータ処理装置１では、テスト回路６により、アドレス変換回路２１および入力データ変換回路２３によりシリアル入力されたデータをパラレルに変換し、バスに出力できるようにした後に、バスサイクルを発生させてＣＰＵ２の代わりにアドレスデータと入力データをアドレスバス７およびデータバス８に供給できるようにしている。また、バスサイクルを発生させたことによりデータバス８に出力されたデータは、出力データ変換回路２４で一旦ラッチした後に、シリアル変換して外部に出力できるようにしている。したがって、バスサイクルにより専用回路３〜５にデータを入出力する処理（工程３２）と、テスト用のアドレスデータ、入力データおよび出力データを外部に対して入出力する処理（工程３１、３５および３３）とを分離し、異なるタイミングあるいはサイクルで実行することが可能である。このため、テスト用のデータをＣＰＵ２と同じバスサイクルを発生させて、専用回路を停止させずに入出力できる。したがって、ＬＳＩ１を、実際に動いているのと同じ状態で、内部の専用回路にテストデータを入力したり、専用回路３〜５からの出力をモニタすることができる。
【００３３】
また、専用回路３〜５にデータをバスサイクルで入出力する処理と、外部に対してテストデータを入出力する処理とを分離して異なるタイミングあるいはサイクルで実行できる。このため、テストデータをシリアル変換して外部と入出力できる。したがって、専用回路との間で入出力するテストデータが１６ビットあるいは３２ビットなどのビット幅の広いデータであっても、テストデータを入出力する外部端子の数は１または２あるいは数個と言った非常に少ない数で良い。このため、テスト用のためにほとんど端子を増加しないで、ビット幅の大きなテストデータを入出力できる。
【００３４】
さらに、本例のデータ処理装置１においては、テスト回路６から専用回路３〜５にデータを入出力するために、データ処理装置１が本来備えているアドレスバス７およびデータバス８を利用している。したがって、専用回路の入出力をセレクタでＬＳＩの外部端子に接続しＬＳＩ内部の専用回路を外部からプローブする方法では、セレクタ回路が必要になったり、セレクタを切り替える手間が生じるが、本例のテスト方法では、専用回路の入出力を切り替えるためのセレクタ回路を配置する必要はなく、さらに、専用回路の入出力の切り替えも不要である。このため、テスト用に増加するゲート数も非常に小さく、経済的であり、手間をかけることなく専用回路のテストを行なうことができる。
【００３５】
また、本例のテスト回路６およびそれを用いたテストは、バスの制御方式が決まっていれば、ＬＳＩに搭載されるＣＰＵやコントローラに依存しない。したがって、汎用性があり、本発明のテスト回路を１つのＩＰとしてＬＳＩに搭載することにより、様々なＣＰＵが搭載されるＬＳＩに対して、統一的なテスト環境を提供できるものである。また、ＣＰＵを搭載しなくても、本例のテスト回路６からＣＰＵの信号を、ＬＳＩ１を構成する専用回路に供給できるので、ＬＳＩの開発用にＣＰＵの機能をエミュレートするツールとしても、本発明のテスト回路６は適している。
【００３６】
また、ＣＰＵ２と専用回路３、４および５との間のデータ転送の頻度の少ないシステム１、すなわち、一旦専用回路を動作させると専用回路からＣＰＵ２に信号が入力されるまでの時間が長いシステムでは、テスタ対象外の専用回路を一旦動作させると、動作中の専用回路からＣＰＵ２に信号が入力されるまでの間に、外部から入力されたシリアルのアドレスデータや入力データをパラレル変換して擬似アドレスデータや入力データを生成してアドレスバス７やデータバス８に出力することができる。したがって、システム全体を動作させた実機ベースでのテストが可能になり、専用回路のテスト精度を非常に高めることができる。さらに、ＩＣＥを利用してＣＰＵを介して専用回路にアクセスする場合は、ＣＰＵ毎により定められている固有のプロトコルに従ったデータをＣＰＵに入力する必要があるが、本例のデータ処理装置１では、ＣＰＵを経由させないので、効率的に専用回路にアクセスすることが可能であり、システムに組み込まれているＣＰＵに依存しないテストを行なうことが可能である。
【００３７】
一方、本例のテスト回路６を用いたテスト方法では、ＬＳＩ１の内部ではパラレルでデータが入出力されるが、外部に対しては、データはシリアルで入出力される。したがって、外部に対してデータを入出力する時間は無視することができない。しかしながら、専用回路３〜５がほとんど独自で処理を進めるようなＬＳＩ１においては、ＣＰＵ２とデータを交換する頻度はそれほど高くなく、外部からデータをシリアルで入出力するテスト方法でも、ＣＰＵ２と専用回路がデータ交換する状況を十分にエミュレートすることができる。そのようなＬＳＩとしては、たとえば、処理能力がそれほど高くないＣＰＵ２を搭載し、ＣＰＵ２により専用回路３、４および５を動作させると、専用回路３、４および５で自律的に処理が進行されるシステムがあり、ホストベースのプリンタの制御用のＬＳＩはその例である。
【００３８】
たとえば、ステッピングモータを駆動する専用回路が搭載されたＬＳＩ１であると、レジスタにデータを設定することによりモータの駆動が開始され、割り込み通知によってモータが停止するという手順でステッピングモータが制御される。レジスタにデータがセットされ、モータの駆動を開始してからモータが停止するまでの間隔は数十μｓ〜数ｍｓのオーダーとなり、その間に、次の入力データをシリアルで外部から供給したり、出力データをシリアルで外部に出力する時間的な余裕は十分にある。したがって、モータドライバのような専用回路が次にデータが必要なときにはテスト回路６にデータが準備されており、ＬＳＩ１は、動作を停止することなく、テスト用のデータで次々と処理を進めることができる。また、専用回路の内部データを外部に出力したり、テスト回路６の内部で予め設定された参照データと比較してモニタすることも可能である。
【００３９】
なお、上記では、メモリをテストする場合を説明したが、モータを駆動するドライバ回路やＵＳＢやＩＥＥＥ１３９４などのインターフェイス回路などの種々の内部ロジックを搭載した様々なＬＳＩも上記と同様にテストすることができる。また、本発明のテスト回路および方法は、ＪＴＡＧなどの他のテスト方法との共存を否定するものではなく、ＪＴＡＧ用に用意されている端子を本例のテスト用に使用するなど、他のテスト方法と共存することももちろん可能である。
【００４０】
【発明の効果】
以上に説明したように、本発明においては、外部からシリアル入力されたアドレスデータや入力データをパラレル変換してアドレスバスやデータバスに出力可能な状態とし、次に、バスサイクルを発生させてデータ処理装置内の専用回路に提供できるようにしている。したがって、テスト用のデータをデータ処理装置内で用意する処理と、それを専用回路に供給する処理を異なるサイクルで実施できるので、専用回路の動きを止めることなく、多ビットのテスト用のデータを供給することができる。また、本発明のテスト方法は、内部の入出力と異なるサイクルでデータを外部と入出力できるので、外部にはシリアル変換したデータを出力でき、出力端子の数を大幅に削減できるというメリットや、プロトコルに依存しないという汎用性もあり、様々なＬＳＩに本発明のテスト回路を搭載することにより、経済的な構成で容易にＬＳＩのテストを行うことが可能となる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の概略構成を示す図である。
【図２】メモリからデータを読み出すテストを行なう際のタイミングチャートである。
【図３】メモリにデータを書き込むテストを行なう際のタイミングチャートである。
【符号の説明】
１　　データ処理装置
２　　ＣＰＵ
３、４、５　　専用回路
６　　テスト回路
７　　アドレスバス
８　　データバス
２１　　アドレスデータ変換回路
２２　　デコード回路
２３　　入力データ変換回路
２４　　出力データ変換回路
２５　　出力データ比較回路
【図１】
2004078739.tif 000003
【図２】
2004078739.tif 000004
【図３】
2004078739.tif 000005