(57)【特許請求の範囲】
【請求項１】
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、
内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段と、
前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする制御手段と、
を備えることを特徴とする内部バス試験装置。
【請求項２】
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、
内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段と、
前記内部バス試験が開始されるとき、前記複数のモジュール全てに対応する前記内部バス制御回路の各領域セレクタに、前記領域アドレス設定手段からのアドレス情報を転送することにより、前記複数のモジュールと接続する前記複数のバスを介して前記複数のモジュールを前記半導体集積回路に割り当てられた全てのアドレス領域に同時にアクセス可能とする制御手段と、
を備えることを特徴とする内部バス試験装置。
【請求項３】
前記内部バス試験装置はさらに、前記内部バス試験の開始信号を生成する試験開始手段を備え、該試験開始手段が、外部端子の設定状態に応じて、前記開始信号を前記領域アドレス設定手段に出力することを特徴とする請求項１または２記載の内部バス試験装置。
【請求項４】
前記内部バス試験装置はさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、該レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする請求項１記載の内部バス試験装置。
【請求項５】
前記内部バス試験装置はさらに、前記複数のモジュールと接続する前記複数のバスの各々に、送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、各レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする請求項２記載の内部バス試験装置。
【請求項６】
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路であって、内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段を有する半導体集積回路の内部バス試験方法において、
前記領域アドレス設定手段に出力される内部バス試験の開始信号がオン状態に設定されたことを検出する工程と、
前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに係る前記内部バス制御回路の状態を通常状態から内部バス試験状態に遷移させる信号を前記領域アドレス設定手段に設定する工程と、
前記特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする工程と、
前記内部バス試験を終了する前に、前記内部バス制御回路の状態を前記内部バス試験状態から前記通常状態に戻す信号を前記領域アドレス設定手段に設定する工程と、
を含むことを特徴とする内部バス試験方法。
【請求項７】
前記内部バス試験方法はさらに、前記半導体集積回路の外部端子の設定状態に応じて、前記内部バス試験の開始信号を前記領域アドレス設定手段に出力する工程を含むことを特徴とする請求項６記載の内部バス試験方法。
【請求項８】
前記内部バス試験方法はさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタに保持されたデータを前記内部バス試験の検証結果として出力する工程を含むことを特徴とする請求項６記載の内部バス試験方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコントローラ等の半導体集積回路に使用される内部バス試験装置及び内部バス試験方法に関する。
【０００２】
【従来の技術】
近年、マイクロコントローラ等の半導体集積回路は、多機能、高機能化が求められており、回路構成が複雑化している。このため、半導体集積回路の試験検証も複雑化しており、試験検証を行うための時間が増大している。この対策として、試験用回路等をマイクロコントローラ内部に組み込んでおき、試験用回路を用いた試験検証を行うことが一般的である。しかしながら、試験用回路を追加することが、チップ面積や回路規模の増大につながってしまうという問題がある。
一方、半導体集積回路のコスト低減のため、チップ面積や回路規模を小さくすることが求められている。このため、複雑な回路を必要としないで、内部バス試験を効率よく行うことができる半導体集積回路の需要が高まっている。
【０００３】
図１に、従来の半導体集積回路の内部バス試験装置の構成を示す。
【０００４】
図１では、従来の半導体集積回路の一例として、マイクロコントローラをあげる。このマイクロコントローラを構成する複数のモジュールとして、ＣＰＵ１、内部バス制御回路２、ＤＭＡ（ダイレクト・メモリ・アクセス）コントローラ３、フラッシュメモリ等の内蔵メモリ４、外部バスインターフェース５などがある。
【０００５】
図１に示したように、これら複数のモジュールが複数のバスで接続されることでマイクロコントローラが構成されている。ＣＰＵ１と内部バス制御回路２とは、命令バス（以下、Ｉ−ＢＵＳという）６及びデータバス（以下、Ｄ−ＢＵＳという）７で接続されている。内部バス制御回路２と内蔵メモリ４とは、内蔵メモリ専用バス（以下、Ｆ−ＢＵＳという）８で接続されている。内部バス制御回路２と外部バスインターフェース５とは、外部バス（以下、Ｘ−ＢＵＳという）９で接続されている。さらに、内部バス制御回路２とＤＭＡコントローラ３とは、ＤＭＡバス（以下、Ｍ−ＢＵＳという）１０で接続されている。これらのバスにはそれぞれ、アドレスバス、データバスおよび制御信号バスが含まれる。
【０００６】
また、外部バスインターフェース５には、ポート１１からの配線が入力させてあり、ＣＰＵ１は、外部からこのポート１１に送出されるデータを外部バス９経由で受取ることができる。
【０００７】
図１のマイクロコントローラにおいて、内部バス制御回路２は各バスの制御を行っている。ＣＰＵ１、ＤＭＡコントローラ３及び外部バスインターフェース５は、各バスに対してマスタモジュールとして機能することができる。ＣＰＵ１がマスタモジュールとして機能するときには、内蔵メモリ４や外部バスインターフェース５は、各バスに対してスレーブモジュールとして機能する。
【０００８】
この場合に、マスタモジュール側からのアクセスの際、各バスのアドレスバス、データバス、制御信号バスに対し、内部バス試験のために、アドレス領域を任意に切り替えることが可能である。例えば、ＣＰＵ１がマスタモジュールとしてデータバス７からアクセスする際に、「０ｈ−＞５ｈ−＞Ｆｈ−＞Aｈ−＞０ｈ」という試験パターンでアドレス領域を切り替えることは可能である。この内部バス試験は、半導体集積回路に係る故障検出率の向上のために一般的に行われる。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来のマイクロコントローラでは、複数のモジュールと接続する各バスをアドレス領域によってアクセス先をあらかじめ決めているため、内部バス制御回路２は、通常動作として、スレーブモジュール側へのアクセス信号出力の際、アドレスバスの内の数ビットは全く試験検証することが不可能であった。
図１０は、マイクロコントローラで使用されるメモリマップの一例を示す。
【００１０】
図１０に示した例では、図１のマイクロコンピュータは、入出力（ＩＯ）領域１００に００００＿００００ｈから００００＿ＦＦＦＦｈのアドレス領域が、命令バス６に対応するＩ−ＢＵＳ領域１０２に０００１＿００００ｈから０００１＿ＦＦＦＦｈのアドレス領域が、データバス７に対応するD−ＢＵＳ領域１０４に０００２＿００００ｈから０００３＿ＦＦＦＦｈのアドレス領域が、内蔵メモリ専用バス８に対応するＦ−ＢＵＳ領域１０６に０００４＿００００ｈから０００Ｆ＿ＦＦＦＦｈのアドレス領域が、外部バス９に対応するＸ−ＢＵＳ領域１０８に００１０＿００００ｈからＦＦＦＦ＿ＦＦＦＦｈのアドレス領域がそれぞれ割り当てられている。このように、従来のマイクロコントローラでは、複数のモジュールと接続する各バスをアドレス領域によってアクセス先をあらかじめ決めている。
【００１１】
例えば、内蔵メモリ専用バス（Ｆ−ＢＵＳ）８のアドレス領域は、０００４＿００００ｈから０００Ｆ＿ＦＦＦＦｈであるため、内部バス制御回路２が通常動作としてスレーブモジュールである内蔵メモリ４側へアクセス信号出力の際には、Ｆ−ＢＵＳ８に含まれるアドレスバスの上位１０ビットは意味をもっていないことになり、従来の半導体集積回路では検証不可能であった。
【００１２】
上記した内部バス試験を行うために、従来の半導体集積回路の多くがテストモードを設け、テスト時には、内部バスを外部から制御することで試験する必要があった。従って、ユーザは実際に使用するＣＰＵ命令動作で半導体集積回路の内部バス試験を行うことが困難であった。
【００１３】
本発明は、上記の点に鑑みてなされたものであり、複雑な回路を必要としないで、半導体集積回路の内部バス試験を効率よく行うことのできる内部バス試験装置及び方法を提供することを目的とする。
【００１４】
また、本発明の他の目的は、ユーザが実際に使用するＣＰＵ命令で半導体集積回路の内部バス試験を行うことを可能にする内部バス試験装置及び方法を提供することである。
【００１５】
【課題を解決するための手段】
上記課題を解決するために、請求項１に記載された発明は、内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段と、前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする制御手段とを備えることを特徴とする。本発明によれば、ユーザ使用時の通常動作でアクセスできないアドレス領域の設定が簡単に実行可能となる。複数のバスのうち選択されたバスの通常動作時に設定できないアドレスであっても検証可能となり、効率的な内部バス試験が実現可能となる。
【００１６】
また、上記課題を解決するため、請求項２に記載された発明は、内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段と、前記内部バス試験が開始されるとき、前記複数のモジュール全てに対応する前記内部バス制御回路の各領域セレクタに、前記領域アドレス設定手段からのアドレス情報を転送することにより、前記複数のモジュールと接続する前記複数のバスを介して前記複数のモジュールを前記半導体集積回路に割り当てられた全てのアドレス領域に同時にアクセス可能とする制御手段とを備えることを特徴とする。本発明によれば、ユーザ使用時の通常動作でアクセスできないアドレス領域の設定が簡単に実行可能となる。複数のバスの各々で通常動作時に設定できないアドレスであっても検証可能となり、効率的な内部バス試験が実現可能となる。
【００１７】
請求項３に記載された発明は、請求項１または２記載の内部バス試験装置がさらに、前記内部バス試験の開始信号を生成する試験開始手段を備え、該試験開始手段が、外部端子の設定状態に応じて、前記開始信号を前記領域アドレス設定手段に出力することを特徴とする。
【００１８】
請求項４に記載された発明は、請求項１記載の内部バス試験装置がさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、該レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする。
【００１９】
請求項５に記載された発明は、請求項２記載の内部バス試験装置がさらに、前記複数のモジュールと接続する前記複数のバスの各々に、送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、各レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする。
【００２０】
また、上記課題を解決するため、請求項６に記載された発明は、内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路であって、内部バス試験の開始信号に応じてイネーブル状態に設定され、前記内部バス制御回路の状態を、半導体集積回路の内部バス試験のための任意のアドレス領域を示すアドレス情報が設定可能な内部バス試験状態に遷移させる領域アドレス設定手段を有する半導体集積回路の内部バス試験方法において、前記領域アドレス設定手段に出力される内部バス試験の開始信号がオン状態に設定されたことを検出する工程と、前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに係る前記内部バス制御回路の状態を通常状態から内部バス試験状態に遷移させる信号を前記領域アドレス設定手段に設定する工程と、  前記特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする工程と、前記内部バス試験を終了する前に、前記内部バス制御回路の状態を前記内部バス試験状態から前記通常状態に戻す信号を前記領域アドレス設定手段に設定する工程とを含むことを特徴とする。本発明によれば、ユーザ使用時の通常動作でアクセスできないアドレス領域の設定が簡単に実行可能となる。複数のバスのうち選択されたバスの通常動作時に設定できないアドレスであっても検証可能となり、効率的な内部バス試験が実現可能となる。
【００２１】
請求項７に記載された発明は、請求項６記載の内部バス試験方法がさらに、前記半導体集積回路の外部端子の設定状態に応じて、前記内部バス試験の開始信号を前記領域アドレス設定手段に出力する工程を含むことを特徴とする。
【００２２】
請求項８に記載された発明は、請求項６記載の内部バス試験方法がさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタに保持されたデータを前記内部バス試験の検証結果として出力する工程を含むことを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を添付の図面を参照しながら具体的に説明する。
【００２４】
図２は、本発明の一実施例に係る半導体集積回路の内部バス試験装置の構成を示す。また、図３は、図２に示した内部バス試験装置の動作を説明するための図である。
【００２５】
本実施例の内部バス試験装置は、図１と同様に、半導体集積回路の一例として、マイクロコントローラをあげる。図２および図３において、図１の半導体集積回路と同一の構成要素には同一の参照符号を付す。
【００２６】
図２に示したように、マイクロコントローラを構成する複数のモジュールとして、ＣＰＵ１、内部バス制御回路２、ＤＭＡコントローラ３、フラッシュメモリ等の内蔵メモリ４、および外部バスインターフェース５がある。これら複数のモジュールが複数のバスで接続されることでマイクロコントローラが構成されている。ＣＰＵ１と内部バス制御回路２とは、命令バス（Ｉ−ＢＵＳ）６及びデータバス（Ｄ−ＢＵＳ）７で接続されている。内部バス制御回路２と内蔵メモリ４とは、内蔵メモリ専用バス（Ｆ−ＢＵＳ）８で接続されている。内部バス制御回路２と外部バスインターフェース５とは、外部バス（Ｘ−ＢＵＳ）９で接続されている。さらに、内部バス制御回路２とＤＭＡコントローラ３とは、ＤＭＡバス（Ｍ−ＢＵＳ）１０で接続されている。これらのバスにはそれぞれ、アドレスバス、データバスおよび制御信号バスが含まれる。
【００２７】
また、外部バスインターフェース５には、ポート１１からの配線が入力させてあり、ＣＰＵ１は、外部からこのポート１１に送出されるデータを外部バス９経由で受取ることができる。
【００２８】
図２のマイクロコントローラにおいて、内部バス制御回路２は各バスの制御を行っている。ＣＰＵ１、ＤＭＡコントローラ３及び外部バスインターフェース５は、各バスに対してマスタモジュールとして機能することができる。ＣＰＵ１がマスタモジュールとして機能するときには、内蔵メモリ４や外部バスインターフェース５は、各バスに対してスレーブモジュールとして機能する。
【００２９】
この場合に、マスタモジュール側からのアクセスの際、各バスのアドレスバス、データバス、制御信号バスに対し、内部バス試験のために、アドレス領域を任意に切り替えることが可能である。例えば、ＣＰＵ１がマスタモジュールとしてデータバス７からアクセスする際に、「０ｈ−＞５ｈ−＞Ｆｈ−＞Ａｈ−＞０ｈ」という試験パターンでアドレス領域を切り替えることは可能である。
【００３０】
しかしながら、上述したように、図１の従来のマイクロコントローラの場合は、複数のモジュールと接続する各バスをアドレス領域によってアクセス先をあらかじめ決めている（図１０参照）ため、内部バス制御回路２は、通常動作として、スレーブモジュール側へのアクセス信号出力の際、アドレスバスの内の数ビットは全く試験検証することが不可能であった。
【００３１】
上記の問題を解決するために、本実施例の内部バス試験装置では、図２に示したように、内部バス制御回路２内に、領域アドレス設定レジスタ（ＡＲＣＲ）２１を設け、この領域アドレス設定レジスタ２１を用いて、内部バス試験を開始する際には、内部バス制御回路２を、任意のアドレス領域を示すアドレス情報が設定可能な状態に設定するよう構成している。
【００３２】
図２の内部バス試験装置では、さらに、外部バスインターフェース５内に、ＭＯＤＲレジスタ５１を設け、このＭＯＤＲレジスタ５１の所定のビット位置に予め内部バス試験開始用のイネーブルビットを設定しておく。外部端子ＣＰＵＴＥＳＴ１２がオン状態（＝１）に設定されたとき、ＭＯＤＲレジスタ５１の上記イネーブルビットからＡＲＣＲレジスタ２１に出力される内部バス試験の開始信号ＢＵＳＴＥＳＴがオン状態（＝１）となる。この開始信号ＢＵＳＴＥＳＴが１のとき、内部バス制御回路２のＡＲＣＲレジスタ２１は、イネーブル状態となり、内部バス制御回路２は、各バスのアドレス領域を任意に設定することが可能になる。以下の説明では、この内部バス制御回路２の状態を、通常動作モードと区別するため、内部バス試験モードという。
【００３３】
また、本実施例の内部バス試験装置では、図３に示したように、一例として、内蔵メモリ専用バス（Ｆ−ＢＵＳ）８にキューレジスタ１２を設け、内部バス試験時においてＦ−ＢＵＳ８に送出させたデータをこのキューレジスタ１２に、一時的に保持させ、その保持させたデータを内部バス試験の検証結果として出力するよう構成しておく。内部バス試験時には、図３の点線矢印に示したように、ＣＰＵ１が、Ｄ−ＢＵＳ７及びＦ−ＢＵＳ８を介して、内蔵メモリ４の任意のアドレス領域を指定して送出させたデータ（例えば、内蔵メモリ４に書込むべきデータ）と、そのときにキューレジスタ１２に保持させたデータとを比較検証することによって、通常動作モードでは検証できなかったアドレスバスの内の数ビットの試験検証でも簡単に実現することができる。
【００３４】
以上のように、本実施例の内部バス試験装置においては、上記ＡＲＣＲレジスタ２１を用いることにより、スレーブモジュールのアドレス領域を任意に設定することを可能としている。
【００３５】
図４は、図２に示した内部バス制御回路２の構成を示す。
【００３６】
図４に示したように、本実施例の内部バス制御回路２は基本的に、コントロールモジュール２０と、Ｍ−ＢＵＳ制御部３０と、Ｆ−ＢＵＳ制御部４０と、Ｘ−ＢＵＳ制御部５０と、Ｉ−ＢＵＳ制御部６０と、Ｄ−ＢＵＳ制御部７０とからなる。図２の複数のモジュールに対応させて、各バス制御部３０、５０、６０、７０には、領域セレクタ３６、５６、６６、７６をそれぞれ接続させている。コントロールモジュール２０は、前記ＡＲＣＲレジスタ２１に接続するステートマシン２２と、前記領域セレクタ３６、５６、６６、７６に接続するバスセレクタ２４とを含む。
【００３７】
また、図４の内部バス制御回路２において、Ｍ−ＢＵＳ制御部３０は、入力回路３２と、領域判定部３４とを含む。Ｆ−ＢＵＳ制御部４０は、出力回路４２を含む。Ｘ−ＢＵＳ制御部５０は、入出力回路５２と、領域判定部５４とを含む。Ｉ−ＢＵＳ制御部６０は、入出力回路６２と、領域判定部６４とを含む。Ｄ−ＢＵＳ制御部７０は、入出力回路７２と、領域判定部７４とを含む。
【００３８】
図５は、図４に示した内部バス制御回路の領域セレクタ７６の一例を示す。図５に示したように、Ｄ−ＢＵＳ制御部７０に接続させた領域セレクタ７６は、バッファ７７と領域セレクタ７８とからなる。Ｄ＿ＲＥＱは、ＣＰＵ１からＤ−ＢＵＳ７を介してＤ−ＢＵＳ制御部７０に入力されるデータ信号である。データ入力信号Ｄ＿ＲＥＱの一部（Ｄ＿ＲＥＱ［１：０］）が領域セレクタ７８に供給され、データ入力信号Ｄ＿ＲＥＱの残りの部分（Ｄ＿ＲＥＱ［３：２］）がバッファ７７に供給される。Ｄ＿ＲＥＱＥは、領域セレクタ７６からコントロールモジュール２０へ出力されるデータ出力信号である。データ出力信号Ｄ＿ＲＥＱＥは、バッファ７７からの出力信号と、領域セレクタ７８からの出力信号とから構成される。さらに、ＡＲＣＲレジスタ２１からの出力信号が領域セレクタ７８に供給され、内部バス試験モード時には、このＡＲＣＲレジスタ２１からの出力信号により、任意のアドレス領域が指定される。
【００３９】
図６は、図４に示した内部バス制御回路のＤ−ＢＵＳ制御部７０の一例を示す。
【００４０】
図６に示したように、Ｄ−ＢＵＳ制御部７０は、ＡＮＤゲート７１と、スリーステートバッファ７３Ｂと、フリップフロップ７３Ａと、領域判定部７４と、ステートマシン７５とからなる。ＡＮＤゲート７１とスリーステートバッファ７３Ｂは、Ｄ−ＢＵＳ制御部７０からＤ−ＢＵＳ７を介してＣＰＵ１へ供給されるデータ出力信号を送出する。フリップフロップ７３Ａ、領域判定部７４及びステートマシン７５は、ＣＰＵ１からＤ−ＢＵＳ７を介してＤ−ＢＵＳ制御部７０に入力されるデータ信号Ｄ＿ＲＥＱを領域セレクタ７６に送出すると共に、Ｄ−ＢＵＳ７に含まれるアドレス信号ＤＡ＿Ｉ、データ信号ＤＤ＿Ｉ及び制御信号ＤＲＷ＿Ｉを送出する。
【００４１】
図７は、図４に示した内部バス制御回路のバスセレクタ２４の一例を示す。
【００４２】
説明の便宜上、図７に示したコントロールモジュール２０には、バスセレクタ２４のＤ−ＢＵＳ制御部７０（図６）との接続部分と、ステートマシン（ＤＥＣ＿ＳＴＡＴＥ）２２との接続部分のみを示す。ステートマシン２２は、論理回路とバッファとを含み、この論理回路は、領域セレクタ７６から供給されるデータ出力信号Ｄ＿ＲＥＱＥを受取って、アクセス先を指定する信号Ｄ＿ＲＥＱＥＳを出力する。バスセレクタ２４は、ステートマシン２２から供給されるアクセス先を指定する信号Ｄ＿ＲＥＱＥＳに基づいて、スイッチング動作を行い、このアクセス先に対応するバス（この場合は、Ｆ−ＢＵＳ８）に、Ｄ−ＢＵＳ７に含まれるアドレス信号ＤＡ＿Ｉ、データ信号ＤＤ＿Ｉ及び制御信号ＤＲＷ＿Ｉを送出する。
【００４３】
上記したように、図４の内部バス制御回路２は、通常動作モードにおいては、図１の従来のマイクロコントローラと同様に、上記した入出力回路、領域判定部および領域セレクタの機能を用いて、各バスモジュールと接続する複数のバスをアドレス領域によってアクセス先を固定して（図１０参照）アクセスする。
【００４４】
しかし、本実施例の内部バス制御回路２においては、内部バス試験を開始する際に、コントロールモジュール２０が、ＡＲＣＲレジスタ２１に所定の値を設定する（書込む）ことによって、内部バス制御回路２を通常動作モードから遷移して、各バスモジュールが常に該当バスのアドレス領域に固定となる内部バス試験モードに設定される。
【００４５】
図８は、内部バス試験時における本実施例の内部バス試験装置の制御信号の状態を説明するためのタイミング図である。
説明の便宜上、図８は、図４のＤ−ＢＵＳ７からＦ−ＢＵＳ制御部４０の出力回路４２を介して任意のアドレス領域を指定する内部バス試験を行う場合を示している。図８において、「システムクロック」はＣＰＵ１から内部バス制御回路２に供給されるクロック信号、「ＤＡ」はＣＰＵ１から送出されたＤ−ＢＵＳ７内に含まれるアドレス信号、「ＤＲＷ」はＣＰＵ１から送出されたＤ−ＢＵＳ７内に含まれる制御信号、「ＤＤ」はＣＰＵ１から送出されたＤ−ＢＵＳ７内に含まれるデータ信号、「ＤＥＣ＿ＳＴＡＴＥ」はステートマシン２２の状態を示す信号、「ＡＲＣＲ」はＡＲＣＲレジスタ２１が保持している信号の内容、「Ｄ＿ＲＥＱ」はＣＰＵ１からＤ−ＢＵＳ７を介してＤ−ＢＵＳ制御部７０に入力されるデータ信号、「Ｄ＿ＲＥＱＥ」は領域セレクタ７６がコントロールモジュール２０へ送出するデータ信号、「ＤＡ＿Ｉ」はコントロールモジュール２０が出力回路４２へ送出するアドレス信号、「ＤＲＷ＿Ｉ」はコントロールモジュール２０が出力回路４２へ送出する制御信号、「ＤＤ＿Ｉ」はコントロールモジュール２０が出力回路４２へ送出するデータ信号、「ＦＡ＿Ｏ」は出力回路４２がＦ−ＢＵＳ８に送出するアドレス信号、「ＦＲＷ＿Ｏ」は出力回路４２がＦ−ＢＵＳ８に送出する制御信号、「ＦＤ＿Ｏ」は出力回路４２がＦ−ＢＵＳ８に送出するデータ信号をそれぞれ示す。
【００４６】
図８に示したように、コントロールモジュール２０は、例えば、ＡＲＣＲレジスタ２１に「１００」を設定することによって、アクセス領域としてＦ−ＢＵＳ領域１０６（図１０）が常にアクセスされるように、領域セレクタ６６および７６を設定する。
コントロールモジュール２０は、ＡＲＣＲレジスタ２１に上記の所定値を設定した後、内部バスの状態によって各バスがアクセスしていない状態を確認後、ステートマシン２２の状態をＦ−ｓｌａｖｅ状態に遷移する。
その後、内部バス試験が実行され、ＣＰＵ１はマスタモジュールとしてデータバス（Ｄ−ＢＵＳ）７から内蔵メモリ４にアクセスする際に、例えば、所定の試験アドレスパターン「００００００００ｈ−＞５５５５５５５５ｈ−＞ＦＦＦＦＦＦＦＦｈ−＞ＡＡＡＡＡＡＡＡｈ−＞００００００００ｈ」でアドレス領域を切り替える。このデータバス７からの出力は、内部バス制御回路２を経由して内蔵メモリ専用バス（Ｆ−ＢＵＳ）８に接続するキューレジスタ１２に一時的に保持されると共に、Ｆ−ＢＵＳ８を介して内蔵メモリ４に供給される。
【００４７】
上記の内部バス試験を終了する際に、コントロールモジュール２０は、ＡＲＣＲレジスタ２１に所定の値を設定（書込む）ことによって、内部バス制御回路２を内部バス試験モードから通常動作モードに戻す。例えば、ＡＲＣＲレジスタ２１に「０００」を設定することによって、通常動作モードに戻す。その後、ＣＰＵ１は、キューレジスタ１２を読み出して、内蔵メモリ４へのアクセス結果の確認をすることが可能となる。
【００４８】
次に、図９は、本発明の一実施例に係る内部バス試験方法を説明するためのフロー図である。この実施例による内部バス試験は、外部端子ＣＰＵＴＥＳＴがオン状態に設定されており、外部バスインターフェース５のＭＯＤＲレジスタ５１からＡＲＣＲレジスタ２１に送出される内部バス試験の開始信号ＢＵＳＴＥＳＴがオン状態に設定されていることが検出されたとき、開始される。
【００４９】
図９に示した内部バス試験方法が開始されると、ＣＰＵ１は、コントロールモジュール２０を制御することにより、ＡＲＣＲレジスタ２１に「１００」を設定する（Ｓ１）。これによって、ステートマシン２２の状態（ＤＥＣ＿ＳＴＡＴＥ）は通常動作モードから遷移して、Ｆ−ｓｌａｖｅ状態に設定される。また、アクセス領域としてＦ−ＢＵＳ領域が常にアクセスされるように、領域セレクタ７６が設定される。
【００５０】
内部バス試験モードにおいて、ＣＰＵ１は、Ｉ−ＢＵＳ６及びＤ−ＢＵＳ７を介して、データ信号として「００００００００ｈ」を送出して内蔵メモリ４のアドレス「００００００００ｈ」に書込む（Ｓ２）。次に、ＣＰＵ１は、Ｉ−ＢＵＳ６及びＤ−ＢＵＳ７を介して、データ信号として「５５５５５５５５ｈ」を送出して内蔵メモリ４のアドレス「５５５５５５５５ｈ」に書込む（Ｓ３）。次に、ＣＰＵ１は、Ｉ−ＢＵＳ６及びＤ−ＢＵＳ７を介して、データ信号として「００００００００ｈ」を送出して内蔵メモリ４のアドレス「００００００００ｈ」に書込む（Ｓ４）。次に、ＣＰＵ１は、Ｉ−ＢＵＳ６及びＤ−ＢＵＳ７を介して、データ信号として「５５５５５５５５ｈ」を送出して内蔵メモリ４のアドレス「５５５５５５５５ｈ」に書込む（Ｓ５）。次に、ＣＰＵ１は、Ｉ−ＢＵＳ６及びＤ−ＢＵＳ７を介して、データ信号として「００００００００ｈ」を送出して内蔵メモリ４のアドレス「００００００００ｈ」に書込む（Ｓ６）。
上記の内部バス試験を終了する前に、ＣＰＵ１は、コントロールモジュール２０を制御することにより、ＡＲＣＲレジスタ２１に「０００」を設定する（Ｓ７）。これによって、ステートマシン２２の状態（ＤＥＣ＿ＳＴＡＴＥ）はＦ−ｓｌａｖｅ状態から通常動作モードに戻される。そして、最後に、ＣＰＵ１はキューレジスタ１２を読み出して、内蔵メモリ４へのアクセス結果を確認する（Ｓ８）。
【００５１】
上記実施例の内部バス試験方法によれば、ユーザ使用時の通常動作でアクセスできない領域アドレスの設定が簡単に実行可能となる。複数のバスのうち選択されたバスの通常できないアドレスあっても検証可能となり、効率的な内部バス試験が実現可能となる。
【００５２】
（付記１）
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、
内部バス試験の開始信号に応じて、前記内部バス制御回路を、任意のアドレス領域を示すアドレス情報が設定可能な状態に設定する領域アドレス設定手段と、前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする制御手段と、
を備えることを特徴とする内部バス試験装置。
【００５３】
（付記２）
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路の内部バス試験装置において、
内部バス試験の開始信号に応じて、前記内部バス制御回路を、任意のアドレス領域を示すアドレス情報が設定可能な状態に設定する領域アドレス設定手段と、前記内部バス試験が開始されるとき、前記複数のモジュール全てに対応する前記内部バス制御回路の各領域セレクタに、前記領域アドレス設定手段からのアドレス情報を転送することにより、前記複数のモジュールと接続する前記複数のバスを介して前記複数のモジュールを前記半導体集積回路に割り当てられた全てのアドレス領域に同時にアクセス可能とする制御手段と、
を備えることを特徴とする内部バス試験装置。
【００５４】
（付記３）
前記内部バス試験装置はさらに、前記内部バス試験の開始信号を生成する試験開始手段を備え、該試験開始手段が、外部端子の設定状態に応じて、前記開始信号を前記領域アドレス設定手段に出力することを特徴とする付記１または２記載の内部バス試験装置。
【００５５】
（付記４）
前記内部バス試験装置はさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、該レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする付記１記載の内部バス試験装置。
【００５６】
（付記５）
前記内部バス試験装置はさらに、前記複数のモジュールと接続する前記複数のバスの各々に、送出されたデータを一時的に保持するレジスタを備え、かつ、前記制御手段は、各レジスタに保持されたデータを前記内部バス試験の検証結果として出力することを特徴とする付記２記載の内部バス試験装置。
【００５７】
（付記６）
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路であって、該内部バス制御回路を、任意のアドレス領域を示すアドレス情報が設定可能な状態に設定する領域アドレス設定手段を有する半導体集積回路の内部バス試験方法において、
前記領域アドレス設定手段に出力される内部バス試験の開始信号がオン状態に設定されたことを検出する工程と、
前記内部バス試験が開始されるとき、前記複数のモジュールの内の特定のモジュールに係る前記内部バス制御回路の状態を通常状態から内部バス試験状態に遷移させる信号を前記領域アドレス設定手段に設定する工程と、
前記特定のモジュールに対応する前記内部バス制御回路の領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記特定モジュールと接続するバスを介して前記特定モジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする工程と、
前記内部バス試験を終了する前に、前記内部バス制御回路の状態を前記内部バス試験状態から前記通常状態に戻す信号を前記領域アドレス設定手段に設定する工程と、
を含むことを特徴とする内部バス試験方法。
【００５８】
（付記７）
前記内部バス試験方法はさらに、前記半導体集積回路の外部端子の設定状態に応じて、前記内部バス試験の開始信号を前記領域アドレス設定手段に出力する工程を含むことを特徴とする付記６記載の内部バス試験方法。
【００５９】
（付記８）
前記内部バス試験方法はさらに、前記特定のモジュールと接続する前記バスに送出されたデータを一時的に保持するレジスタに保持されたデータを前記内部バス試験の検証結果として出力する工程を含むことを特徴とする付記６記載の内部バス試験方法。
（付記９）
内部バス制御回路と複数のモジュールとを複数のバスにより接続して構成される半導体集積回路であって、該内部バス制御回路を、任意のアドレス領域を示すアドレス情報が設定可能な状態に設定する領域アドレス設定手段を有する半導体集積回路の内部バス試験方法において、
前記領域アドレス設定手段に出力される内部バス試験の開始信号がオン状態に設定されたことを検出する工程と、
前記内部バス試験が開始されるとき、前記複数のモジュール全てに係る前記内部バス制御回路の状態を通常状態から内部バス試験状態に遷移させる信号を前記領域アドレス設定手段に設定する工程と、
前記複数のモジュールに対応する前記内部バス制御回路の各領域セレクタに、前記領域アドレス設定手段からの状態設定信号を転送することにより、前記複数のモジュールと接続する前記複数のバスを介して前記複数のモジュールを前記半導体集積回路に割り当てられた全てのアドレス領域にアクセス可能とする工程と、
前記内部バス試験を終了する前に、前記内部バス制御回路の状態を前記内部バス試験状態から前記通常状態に戻す信号を前記領域アドレス設定手段に設定する工程と、
を含むことを特徴とする内部バス試験方法。
【００６０】
（付記１０）
前記内部バス試験方法はさらに、前記半導体集積回路の外部端子の設定状態に応じて、前記内部バス試験の開始信号を前記領域アドレス設定手段に出力する工程を含むことを特徴とする付記９記載の内部バス試験方法。
【００６１】
（付記１１）
前記内部バス試験方法はさらに、前記複数のモジュールと接続する前記複数のバスの各々に送出されたデータを一時的に保持するレジスタに保持されたデータを前記内部バス試験の検証結果として出力する工程を含むことを特徴とする付記９記載の内部バス試験方法。
【００６２】
（付記１２）
前記制御手段は、前記領域セレクタに接続するバスセレクタと、前記領域アドレス設定手段に接続するステートマシンとを有することを特徴とする付記１又は２記載の内部バス試験装置。
【発明の効果】
上述したように、本発明の内部バス試験装置及び方法によれば、ユーザ使用時の通常動作ではアクセスできないアドレス領域の指定が簡単に実現でき、すべての内部バスのうち選択されたバスの通常アクセスできないアドレスも検証可能となり、効果的な内部バス試験が実現可能である。従って、ユーザは実際に使用するＣＰＵ命令動作で内部バス試験を行うことができ、複雑な回路を設けることなく、容易に半導体集積回路の故障検出率を向上することができる。
【図面の簡単な説明】
【図１】従来の半導体集積回路の内部バス試験装置の構成を示すブロック図である。
【図２】本発明の一実施例に係る内部バス試験装置の構成を示すブロック図である。
【図３】図２に示した内部バス制御回路の動作を説明するための図である。
【図４】図２に示した内部バス制御回路の構成を示すブロック図である。
【図５】図４に示した内部バス制御回路の領域セレクタの一例を示す図である。
【図６】図４に示した内部バス制御回路のバス制御部の一例を示す図である。
【図７】図４に示した内部バス制御回路のバスセレクタの一例を示す図である。
【図８】内部バス試験時における内部バス試験装置の制御信号の状態を説明するためのタイミング図である。
【図９】本発明の一実施例に係る内部バス試験方法を説明するためのフロー図である。
【図１０】マイクロコントローラで使用されるメモリマップの一例を示す図である。
【符号の説明】
１  ＣＰＵ
２  内部バス制御回路
３  ＤＭＡコントローラ
４  内蔵メモリ
５  外部バスインターフェース
６  命令バス（Ｉ−ＢＵＳ）
７  データバス（Ｄ−ＢＵＳ）
８  内蔵メモリ専用バス（Ｆ−ＢＵＳ）
９  外部バス（Ｘ−ＢＵＳ）
１０  ＤＭＡバス（Ｍ−ＢＵＳ）
１１  ポート
１２  キューレジスタ
１３  命令用メモリ
２０  コントロールモジュール
２１  エリア制御レジスタ（ＡＲＣＲ）
２２  ステートマシン
２４  バスセレクタ
３０  Ｍ−ＢＵＳ制御部
３２  入力制御部
３６  領域セレクタ
４０  Ｆ−ＢＵＳ制御部
４２  出力制御部
５０  Ｘ−ＢＵＳ制御部
５１  ＭＯＤＲレジスタ
５２  入出力制御部
５６  領域セレクタ
６０  Ｉ−ＢＵＳ制御部
６２  入出力制御部
６６  領域セレクタ
７０  Ｄ−ＢＵＳ制御部
７２  入出力制御部
７６  領域セレクタ
【図１】
0004116805.tif 000002
【図２】
0004116805.tif 000003
【図３】
0004116805.tif 000004
【図４】
0004116805.tif 000005
【図５】
0004116805.tif 000006
【図６】
0004116805.tif 000007
【図７】
0004116805.tif 000008
【図８】
0004116805.tif 000009
【図９】
0004116805.tif 000010
【図１０】
0004116805.tif 000011