(57)【要約】【課題】  最終セットのソフトウエア開発を支援するエミュレーションチップに対し、最終セットに実装されるマスクＲＯＭマイコンチップにおいてメモリサイズや周辺機能が制限される場合に、制限される資源への誤ったアクセスが検出されない。【解決手段】  バスコントローラ１００６の動作を監視するアクセス監視回路１００３を設け、エミュレーションチップとしてデバッグホストと接続している場合に、バスコントローラ１００６のアクセスしようとする対象アドレスが無効アドレステーブル部１００４に設定された無効アドレス範囲内である場合にはこれを無効アクセスと判定し、ＣＰＵ１００２へ無効アクセス検出割込みをかける。この割込みを受け、ＣＰＵ１００２はデバッグＩ／Ｆ１１０を通じデバッグホストに無効アクセスの検出を通知する。【選択図】  図１０
2006293824.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と複数の内部資源とを備え、複数のうちのいずれかの前記内部資源の領域および機能のいずれかもしくは両方にバリエーションをもつ複数品種からなるシリーズ品のうちの一の品種の半導体装置であって、
外部のデバッグホストと通信するデバッグ情報入出力装置と、前記シリーズ品のうちの他の品種の品種情報を格納する品種情報格納領域とを設け、前記デバッグ情報入出力装置と前記デバッグホストとの接続時において前記品種情報格納領域に格納された品種情報に基づいて前記他の品種の動作を代行するようにしたことを特徴とする半導体装置。
【請求項２】
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、デバッグ割込みにより起動され前記中央処理装置にて実行されるデバッグプログラムにより前記品種情報格納領域への品種情報の書き込みが行われることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、起動直後に内蔵するシーケンサにより前記品種情報格納領域への品種情報の書き込みが行われることを特徴とする請求項１記載の半導体装置。
【請求項４】
前記他の品種は前記一の品種に比べていずれかの前記内部資源の領域が制限されており、
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、前記品種情報格納領域に格納された品種情報に基づいて前記制限された内部資源を判別し、この制限された内部資源の領域へ前記中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し無視して動作することを特徴とする請求項１〜３のいずれかに記載の半導体装置。
【請求項５】
前記他の品種は前記一の品種に比べていずれかの前記内部資源の領域が制限されており、
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、前記品種情報格納領域に格納された品種情報に基づいて前記制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、固定値の無効データを書き込みもしくは読み出すように動作することを特徴とする請求項１〜３のいずれかに記載の半導体装置。
【請求項６】
前記他の品種は前記一の品種に比べていずれかの前記内部資源の領域が制限されており、
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、前記品種情報格納領域に格納された品種情報に基づいて前記制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、ランダムな無効データを書き込みもしくは読み出すように動作することを特徴とする請求項１〜３のいずれかに記載の半導体装置。
【請求項７】
前記他の品種は前記一の品種に比べていずれかの前記内部資源の領域が制限されており、
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、前記品種情報格納領域に格納された品種情報に基づいて前記制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、前記中央処理装置および前記デバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作することを特徴とする請求項１〜６のいずれかに記載の半導体装置。
【請求項８】
前記他の品種は前記一の品種に比べていずれかの前記内部資源の領域が制限されており、
前記デバッグ情報入出力装置と前記デバッグホストとの接続時において、前記品種情報格納領域に格納された品種情報に基づいて前記制限された内部資源を判別し、この制限された内部資源の領域を活性化するように前記中央処理装置から書き込みのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、前記中央処理装置および前記デバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作することを特徴とする請求項１〜７のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内蔵メモリサイズや内蔵周辺回路にバリエーションをもつマイクロコントローラやマイクロコンピュータのシリーズ品において、そのベース品種によりソフトウエアデバッグ環境を提供する半導体装置に関する。
【背景技術】
【０００２】
半導体デバイスベンダにおいては、マイクロコントローラやマイクロコンピュータ（以下、単にマイコンと呼ぶ）は通常、内蔵メモリサイズや内蔵周辺回路にバリエーションをもつシリーズ品として開発されることが多い。たとえば命令ＲＯＭ内蔵品種シリーズでは、命令ＲＯＭにフラッシュメモリを使用する品種とマスクＲＯＭを使用する品種とがあり、さらにマスクＲＯＭのメモリサイズを変更した品種が用意される。
【０００３】
半導体デバイスユーザでのセット量産時には、コスト面からマスクＲＯＭ品が適用されることが多い。
【０００４】
また半導体デバイスユーザに対し、セットのソフトウエア開発やシステム評価を行うためのインサーキットエミュレータ（ＩＣＥ）やオンボードデバッガなどの開発支援ツール（エミュレータともよぶ）が半導体デバイスベンダから提供される。開発支援ツールは、セットあるいはセット相当の配線基板などに実装されるエミュレーションチップと、このエミュレーションチップを制御しセット開発者とデバッグ情報をやり取りするデバッグホストからなっている。
【０００５】
半導体デバイスユーザは、エミュレーションチップを実装したセットやセット相当のプリント基板（以下、これを単にターゲットとよぶ）でソフトウエアを開発し、このソフトウエアをマスクＲＯＭ化することでマスクＲＯＭ品を入手し最終セットを量産する。
【０００６】
しかしながらエミュレーションチップはシリーズ品のうち内蔵メモリサイズや周辺回路規模などが最大の品種をベースに作成もしくは兼用されることが多く、セット量産に適用されるマスクＲＯＭ品種とは内蔵メモリサイズや周辺機能が必ずしも一致しないことがある。さらにエミュレーションチップのベースとなる品種もしくはエミュレーションチップを兼ねる品種は、シリーズのマスクＲＯＭ品種と同時に開発されるのではなく先行して開発されることが多い。またこのエミュレーションチップのベースとなる品種は内蔵命令ＲＯＭがマスクＲＯＭではなく、セット先行生産の要求を満たすべくフラッシュメモリやＥＰＲＯＭとなっている場合がある。
【０００７】
すなわち、ターゲットと最終セットでは、そのソフトウエアを実行するマイコンの内蔵メモリサイズや周辺機能が必ずしも一致しないために、最終セットが正常動作しないことがある。
【０００８】
このような不具合を根本的に解消するには、内蔵メモリサイズや周辺機能の異なるマスクＲＯＭ品種ごとにエミュレーションチップを作成しなくてはならず非常にコストがかかることになる。またエミュレーションチップはセットのソフトウエア開発に用いられることからマスクＲＯＭ品種の開発に先立って作成されなくてはならず、ベンダでの工数が非常に増加することになる。
【０００９】
上記のような事例の解決案として、内蔵周辺機能が異なるシリーズに対応する場合のエミュレータについては、特許文献１に開示されたものがある。この特許文献１で開示されている技術は、エミュレーションチップに品種識別レジスタを設けておき、エミュレータのパワーオンリセットのたびに品種識別レジスタに格納された品種コードに応じて周辺機能を選択的に活性化するものである。
【特許文献１】特開平３−２６３１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら上記従来技術のように品種コードに応じて周辺機能を選択的に活性化したとしても、セット開発時に非活性な周辺機能に誤ってアクセスするソフトウエアが作成され、また該当品種コードのマスクＲＯＭ品が入手できるまでにベース品種のフラッシュ品を先行生産に適用した場合、ベース品種で誤動作が発生する可能性がある。すなわち非活性な周辺機能に誤ってアクセスしたことを検知する手段がなく、ソフトウエア開発者に報知されないためにこのような問題が発生する。
【００１１】
また上記従来技術ではＲＯＭやＲＡＭなどのメモリサイズがベース品種にくらべマスクＲＯＭでは制限がある場合でも、同様な理由より制限されたメモリ領域への誤ったアクセスが検知されない問題がある。
【００１２】
さらに周辺機能がたとえば汎用シリアル回路でありシリアル資源がいくつか選択できるようになっているが、マスクＲＯＭ化した際には適用セットが決定しているためにマスクＲＯＭ品には回路簡素化のため専用シリアル回路を実装する場合には、この汎用シリアル回路全体を活性化するためにマスクＲＯＭ品での制限が検出できない問題がある。
【００１３】
本発明の目的は、シリーズのベース品種を用いたエミュレーションチップを用い、ベース品種に比較しメモリサイズや周辺機能が制限されるマスクＲＯＭ品用のソフトウエアを開発するエミュレータに関し、シリーズ品種のおのおのの半導体装置に対応するエミュレーションチップおよびデバッグ環境を早期かつ安価にデバッガユーザであるセット開発者に提供でき、さらには制限される資源への誤ったアクセスを検出することが可能となる半導体装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の第１の半導体装置は、中央処理装置と複数の内部資源とを備え、複数のうちのいずれかの内部資源の領域および機能のいずれかもしくは両方にバリエーションをもつ複数品種からなるシリーズ品のうちの一の品種の半導体装置であって、外部のデバッグホストと通信するデバッグ情報入出力装置と、シリーズ品のうちの他の品種の品種情報を格納する品種情報格納領域とを設け、デバッグ情報入出力装置とデバッグホストとの接続時において品種情報格納領域に格納された品種情報に基づいて他の品種の動作を代行するようにしたことを特徴とする。
【００１５】
ここで、内部資源とは、半導体装置に内蔵されるメモリや周辺回路のことである。また、品種情報とは、各内部資源の有無もしくは有効アドレス範囲を表すものである。例えば、内蔵メモリであれば容量の違いにより、大容量品にくらべ、小容量品では上位にマッピングされた該当空間が無効になるので、このような無効空間／有効空間の情報が品種情報になる。
【００１６】
また、第２の半導体装置は、第１の半導体装置において、デバッグ情報入出力装置とデバッグホストとの接続時において、デバッグ割込みにより起動され中央処理装置にて実行されるデバッグプログラムにより品種情報格納領域への品種情報の書き込みが行われることを特徴とする。
【００１７】
また、第３の半導体装置は、第１の半導体装置において、デバッグ情報入出力装置とデバッグホストとの接続時において、起動直後に内蔵するシーケンサにより品種情報格納領域への品種情報の書き込みが行われることを特徴とする。
【００１８】
また、第４の半導体装置は、第１〜第３の半導体装置において、他の品種は一の品種に比べていずれかの内部資源の領域が制限されており、デバッグ情報入出力装置とデバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し無視して動作することを特徴とする。
【００１９】
また、第５の半導体装置は、第１〜第３の半導体装置において、他の品種は一の品種に比べていずれかの内部資源の領域が制限されており、デバッグ情報入出力装置とデバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、固定値の無効データを書き込みもしくは読み出すように動作することを特徴とする。
【００２０】
また、第６の半導体装置は、第１〜第３の半導体装置において、他の品種は一の品種に比べていずれかの内部資源の領域が制限されており、デバッグ情報入出力装置とデバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、ランダムな無効データを書き込みもしくは読み出すように動作することを特徴とする。
【００２１】
また、第７の半導体装置は、第１〜第６の半導体装置において、他の品種は一の品種に比べていずれかの内部資源の領域が制限されており、デバッグ情報入出力装置とデバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、中央処理装置およびデバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作することを特徴とする。
【００２２】
また、第８の半導体装置は、第１〜第７の半導体装置において、他の品種は一の品種に比べていずれかの内部資源の領域が制限されており、デバッグ情報入出力装置とデバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域を活性化するように中央処理装置から書き込みのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、中央処理装置およびデバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作することを特徴とする。
【発明の効果】
【００２３】
本発明の第１の半導体装置によれば、外部のデバッグホストと通信するデバッグ情報入出力装置と、シリーズ品のうちの他の品種の品種情報を格納する品種情報格納領域とを設け、デバッグ情報入出力装置とデバッグホストとの接続時において品種情報格納領域に格納された品種情報に基づいて他の品種の動作を代行するようにしたことにより、シリーズ品種のおのおのの半導体装置に対応するエミュレーションチップおよびデバッグ環境を早期かつ安価にデバッガユーザであるセット開発者に提供可能である。
【００２４】
本発明の第２の半導体装置によれば、デバッグホストとの接続時において、デバッグ割込みにより起動され中央処理装置にて実行されるデバッグプログラムにより品種情報格納領域への品種情報の書き込みが行われるので、デバッグホストから品種情報を送りこむことができ、多様なシリーズ品種に対応可能である。
【００２５】
本発明の第３の半導体装置によれば、デバッグホストとの接続時において、起動直後に内蔵するシーケンサにより品種情報格納領域への品種情報の書き込みが行われるので、半導体装置上に品種情報格納領域とは別に設けられた不揮発性もしくは揮発性の情報格納領域に予め格納した品種情報をデバッグプログラムによらず書き込みを行うことができ、ユーザプログラム実行開始前からシリーズの他の品種の動作を代行することが可能である。
【００２６】
本発明の第４の半導体装置によれば、デバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し無視して動作するので、シリーズの他の品種の動作を代行することができ、その品種でのユーザプログラムの振る舞いを再現することが可能である。
【００２７】
本発明の第５の半導体装置によれば、デバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、固定値の無効データを書き込みもしくは読み出すように動作するので、シリーズの他の品種の動作を代行することができ、制限された内部資源へ誤ってアクセスするユーザプログラムの誤りを検出することが可能である。
【００２８】
本発明の第６の半導体装置によれば、デバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、ランダムな無効データを書き込みもしくは読み出すように動作するので、シリーズの他の品種の動作を代行することができ、制限された内部資源へ誤ってアクセスするユーザプログラムの誤りを検出することが可能である。
【００２９】
本発明の第７の半導体装置によれば、デバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域へ中央処理装置から書き込みもしくは読み出しのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、中央処理装置およびデバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作するので、シリーズの他の品種の動作を代行することができ、制限された内部資源へ誤ってアクセスするユーザプログラムの誤りを検出することが可能である。
【００３０】
本発明の第８の半導体装置によれば、デバッグホストとの接続時において、品種情報格納領域に格納された品種情報に基づいて制限された内部資源を判別し、この制限された内部資源の領域を活性化するように中央処理装置から書き込みのアクセスがあった場合にはこのアクセスを無効アクセスと判断し、中央処理装置およびデバッグ情報入出力装置のいずれかもしくは両方に無効アクセス検出の情報を伝達するように動作するので、シリーズの他の品種の動作を代行することができ、制限された内部資源を誤って活性化するユーザプログラムの誤りを検出することが可能である。
【発明を実施するための最良の形態】
【００３１】
（第１の実施形態）
本発明の第１の実施形態を図１〜５を用いて説明する。
【００３２】
図１は本発明の第１の実施形態のマイクロコントローラチップを示している。このマイクロコントローラチップ１０１は、シリーズのベース品種であり命令ＲＯＭとしてフラッシュメモリ（ＦｌａｓｈＲＯＭ１０３）を内蔵している。セット先行生産時などには内蔵フラッシュメモリ（１０３）にユーザプログラムを書き込み、最終セットに実装することが可能である。またこのマイクロコントローラチップ１０１はユーザプログラム開発のためのエミュレーションチップとして用いることも可能である。エミュレーションチップとして用いる場合には、セットもしくはセット相当の配線基板に実装されてデバッグホストと接続しデバッグ情報を入出力する。
【００３３】
図２は図１に示したマイクロコントローラのベース品種とそのシリーズ展開品であるマスクＲＯＭ品種ＡおよびＢにおける、メモリサイズとそのアドレスアップ、周辺回路の有無と各々の制御レジスタのアドレスマップを示している。マスクＲＯＭ品種ＡおよびＢは命令ＲＯＭとしてマスクＲＯＭを内蔵しており、量産のおこなわれる最終セットに実装されるものである。
【００３４】
図２に示すように、マスクＲＯＭ品種Ａはベース品種とメモリサイズ、周辺機能とそれらのアドレスマッピングが同一であるが、マスクＲＯＭ品種Ｂは相違がある。すなわちマスクＲＯＭ品種ＢはメモリサイズがＲＯＭ，ＲＡＭとも半減しアドレスの若い側のみ有効領域であり、また周辺機能についても周辺回路Ｂが実装されていない。
【００３５】
図１に示すように、エミュレーションチップ兼用のベース品種のマイクロコントローラチップ１０１は、命令を実行することでチップ全体を制御するＣＰＵ１０２と、ユーザプログラムを格納しユーザプログラムの命令をＣＰＵ１０２に供給するＦｌａｓｈＲＯＭ１０３と、ＣＰＵ１０２とアクセス監視回路１０９によって制御され内部バス１０５を制御するバスコントローラ１０４と、内部バス１０５を介しＣＰＵ１０２からデータが入出力されるＳＲＡＭ１０６と、内部に制御レジスタを備え内部バス１０５を介しＣＰＵ１０２から制御レジスタに値を設定されることで周辺機能の実行を制御される周辺回路Ａ１０７および周辺回路Ｂ１０８と、バスコントローラ１０４を監視するアクセス監視回路１０９と、ＣＰＵ１０２と接続しソフトウエアデバッグ時にデバッグ情報をデバッグホストに入出力するデバッグＩ／Ｆ１１０とを備える。
【００３６】
アクセス監視回路１０９は、バスコントローラ１０４を介しマスクＲＯＭ品種に応じた無効アドレス範囲データが書き込まれる無効アドレステーブル部１１１と、バスコントローラ１０４のアクセスしようとする対象アドレスと無効アドレステーブル部１１１に設定された無効アドレス範囲とを比較するアドレス比較部１１２とを備える。
【００３７】
アクセス監視回路１０９は、無効アドレステーブル部１１１に無効アドレス範囲データが書き込まれていない場合にはバスコントローラ１０４のアクセスを監視せずバスコントローラ１０４に作用せず、無効アドレス範囲データが書き込まれている場合にはバスコントローラ１０４のアクセスを監視する。
【００３８】
アクセス監視回路１０９がバスコントローラ１０４のアクセスを監視し、アドレス比較部１１２での結果が、バスコントローラ１０４のアクセスしようとする対象アドレスが無効アドレス範囲外である場合、すなわち有効な領域へのアクセスであった場合にはこれを有効アクセスと判断しバスコントローラ１０４に作用せず、またバスコントローラ１０４のアクセスしようとする対象アドレスが無効アドレス範囲内である場合にはこれを無効アクセスと判定し、アクセスが書き込みの場合はこれを無視し対象アドレスへ書き込まないようバスコントローラ１０４に作用し、またアクセスが読み出しの場合には対象アドレスへの読み出しは行わずＣＰＵ１０２へは無効な読み出し値として固定値のａｌｌ＿０を返すようバスコントローラ１０４に作用する。
【００３９】
次にマイクロコントローラチップ１０１の動作を説明する。動作の一例としてマイクロコントローラチップ１０１のＦｌａｓｈＲＯＭ１０３にユーザプログラムが書き込まれており、最終セットに実装されて最終セット上で動作している場合を図３のフロー図を用いて説明する。
【００４０】
図３において、期間３０１はユーザプログラムの実行が開始されるまでの動作であり、マスクＲＯＭマイコンも同一の動作である。
【００４１】
期間３０２はユーザプログラムが周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作（書き込み動作）を行った場合であり、アクセス監視回路１０９には無効アドレス範囲データが書き込まれていないためアクセス監視をせず、このwrite動作は通常どおり実行されて周辺回路Ｂ１０８の制御レジスタに値が設定される。
【００４２】
期間３０３はユーザプログラムが内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作（読み出し動作）を行った場合であり、アクセス監視回路１０９には無効アドレス範囲データが書き込まれていないためアクセス監視をせず、このread動作は通常どおり実行されて内蔵ＳＲＡＭ１０６のアドレス0x00003000番地に格納されているデータがＣＰＵ１０２に返される。
【００４３】
マイクロコントローラチップ１０１の動作の次の例として、マイクロコントローラチップ１０１がエミュレーションチップとしてセットに実装されておりデバッグホストと接続されエミュレーションチップとして動作し、セット開発者がマスクＲＯＭ品種Ａ用のソフトウエア開発を行っている場合を図４のフロー図を用いて説明する。
【００４４】
図４において、期間４０１はユーザプログラムの実行が開始されるまでの動作であり、マスクＲＯＭマイコンも同一の動作である。
【００４５】
期間４０２はユーザプログラム実行中にデバッグＩ／Ｆ１１０を通じデバッグホストからデバッグ割込みがかかっており、この期間において品種情報としてマスクＲＯＭ品種Ａの無効アドレス範囲データがデバッグホストよりデバッグＩ／Ｆ１１０およびＣＰＵ１０２を経由して送り込まれバスコントローラ１０４を介しアクセス監視回路１０９に書き込まれる。
【００４６】
上記の品種情報とは、内部資源であるメモリや周辺回路の有無もしくは有効アドレス範囲を表すものである。例えば、内蔵メモリであれば容量の違いにより、大容量品にくらべ、小容量品では上位にマッピングされた該当空間が無効になるので、このような無効空間／有効空間の情報が品種情報になる。また、ＲＯＭ品種Ｂのように、周辺回路Ｂが実装されていない場合では、この周辺回路Ｂのアドレスマッピングが無効という情報が品種情報になる。
【００４７】
ここでアクセス監視回路１０９は無効アドレス範囲データが書き込まれたので無効アドレステーブル部１１１にマスクＲＯＭ品種Ａの無効アドレス範囲が設定されバスコントローラ１０４の動作を監視する。
【００４８】
期間４０３はユーザプログラムが周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作を行った場合であり、アクセス監視回路１０９はアクセスを監視しているが、このwrite動作はマスクＲＯＭ品種Ａで有効なアドレスへのアクセスなのでアクセス監視回路１０９は有効アクセスと判断しバスコントローラ１０４に作用しないので、このwrite動作は通常どおり実行され周辺回路Ｂ１０８の制御レジスタに値が設定される。
【００４９】
期間４０４はユーザプログラムが内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作を行った場合であり、アクセス監視回路１０９はアクセスを監視しているが、このread動作はマスクＲＯＭ品種Ａで有効なアドレスへのアクセスなのでアクセス監視回路１０９は有効アクセスと判断しバスコントローラ１０４に作用しないので、このread動作は通常どおり実行され内蔵ＳＲＡＭ１０６のアドレス0x00003000番地に格納されているデータがＣＰＵ１０２に返される。
【００５０】
マイクロコントローラチップ１０１のエミュレーションチップ動作の次の例として、マイクロコントローラチップ１０１がエミュレーションチップとしてセットに実装されており、デバッグホストと接続され、セット開発者がマスクＲＯＭ品種Ｂ用のソフトウエア開発を行っている場合を図５のフロー図を用いて説明する。
【００５１】
図５において、期間５０１はユーザプログラムの実行が開始されるまでの動作であり、マスクＲＯＭマイコンと同一の動作である。
【００５２】
期間５０２はユーザプログラム実行中にデバッグＩ／Ｆ１１０を通じデバッグホストからデバッグ割込みがかかっており、この期間において品種情報としてマスクＲＯＭ品種Ｂの無効アドレス範囲データがデバッグホストよりデバッグＩ／Ｆ１１０およびＣＰＵ１０２を経由して送り込まれバスコントローラ１０４を介しアクセス監視回路１０９に書き込まれる。
【００５３】
ここでアクセス監視回路１０９は無効アドレス範囲データが書き込まれたので無効アドレステーブル部１１１にマスクＲＯＭ品種Ｂの無効アドレス範囲が設定されバスコントローラ１０４の動作を監視する。
【００５４】
期間５０３はユーザプログラムのデバッグが未完了なため誤って周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作を行った場合であり、アクセス監視回路１０９はアクセスを監視しており、このwrite動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路１０９は無効アクセスと判断しバスコントローラ１０４にwrite動作を実行しないように作用する。したがってこのwrite動作は無視され周辺回路Ｂ１０８の制御レジスタには値が設定されず初期状態のままとなる。
【００５５】
期間５０４はユーザプログラムのデバッグが未完了なため誤って内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作を行った場合であり、アクセス監視回路１０９はアクセスを監視しており、このread動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路１０９は無効アクセスと判断しバスコントローラ１０４にread動作を実行しないように作用する。したがってこのread動作は無視され内蔵ＳＲＡＭ１０６へはread動作が行われず、ＣＰＵ１０２へは無効データが返される。
【００５６】
なお、有効アドレスへのアクセスの場合には、アクセス監視回路１０９は有効アクセスと判断しバスコントローラ１０４に作用せず、バスコントローラ１０４は通常どおり動作する。
【００５７】
以上のように動作することで、上記マイクロコントローラチップ１０１はベース品種としての動作をすることができ、エミュレーションチップとしてデバッグホストと接続している場合にはデバッグ割込みにより品種情報をアクセス監視回路１０９に設定することでマスクＲＯＭ品種ＡもしくはＢの機能を代行することができる。
【００５８】
マスクＲＯＭ品種Ｂの機能を代行している場合にはマスクＲＯＭ品種Ｂと同じく無効アドレスへのwriteを無視し無効アドレスへのreadに対しては無効データを返すので、セットのソフトウエア開発者はマスクＲＯＭ品種Ｂでのプログラムの振る舞いを知ることができ、量産セットにマスクＲＯＭ品種を適用した際の不具合を事前に防止することが可能である。
【００５９】
なお上記の構成においては品種情報として無効アドレス範囲データをデバッグホストから転送するようにしたが、フラッシュメモリなどに不揮発に保持したり、チップ上に揮発的に品種情報を保持する手段を設けデバッグに先立ち品種情報を設定しておく構成としても同等の効果が得られる。
【００６０】
また上記の構成においては品種により異なる無効アドレス範囲データを無効アドレステーブル部１１１に転送し格納するようにしたが、品番情報を転送し品番情報から無効アドレス範囲データをデコードする構成とすることも可能である。
【００６１】
また上記の構成においては説明の簡略化のため、命令ＲＯＭおよびＳＲＡＭをそれぞれ１個ずつ、また周辺回路を２個搭載しているが、各要素が１つもしくは複数持つ構成や要素によっては搭載しない構成とすることも可能である。
【００６２】
また上記の構成においては無効データを固定値のａｌｌ＿０としたがその他の任意の固定値でも同等の効果が得られる。
【００６３】
また上記の構成においては無効アクセスの際に対象アドレスへのread動作を行わないようにしたが、対象アドレスへのread動作を行いＣＰＵ１０２へは無効データを返す構成としてもよい。
【００６４】
また上記の構成においては無効アクセスの際に対象アドレスへのwrite動作を行わないようにしたが、対象アドレスへ固定値の無効データのwrite動作を行う構成としてもよい。
【００６５】
また上記の構成においてはユーザプログラムの実行開始後にデバッグホストからデバッグ割込みをかけて品種情報を転送しているが、ユーザプログラム実行前にデバッグホストよりデバッグ割込みをかけ品種情報を転送する構成にしてもよい。
【００６６】
（第２の実施形態）
本発明の第２の実施形態を図６〜７を用いて説明する。
【００６７】
図６は本発明の第２の実施形態のマイクロコントローラチップを示している。このマイクロコントローラチップ６０１は、マイクロコントローラチップ１０１同様、シリーズのベース品種であり命令ＲＯＭとしてフラッシュメモリ（ＦｌａｓｈＲＯＭ６０３）を内蔵し、最終セットに実装することが可能であるとともに、ユーザプログラム開発のためのエミュレーションチップとして用いることも可能である。
【００６８】
図６に示すように、エミュレーションチップ兼用のベース品種のマイクロコントローラチップ６０１は、バスコントローラ１０４の動作を監視するアクセス監視回路６０２と、ユーザプログラムを格納するユーザＲＯＭ領域６０４とマスクＲＯＭ品種の無効アドレス範囲データを格納する品種データ領域６０５を備えユーザプログラムの命令をＣＰＵ６０８に供給するＦｌａｓｈＲＯＭ６０３と、ＦｌａｓｈＲＯＭ６０３の品種データ領域６０５に格納されている無効アドレス範囲データをアクセス監視回路６０２に自動転送するシーケンサ６０６と、デバッグホストとの接続状況をシーケンサ６０６に伝達し、ＣＰＵ６０８と接続しソフトウエアデバッグ時にデバッグ情報をデバッグホストに入出力するデバッグＩ／Ｆ６０７と、シーケンサ６０６によりプログラムカウンタのカウント開始抑制を制御され、命令を実行することでチップ全体を制御するＣＰＵ６０８と、そのほかにマイクロコントローラチップ１０１と同様の構成要素（１０５、１０６、１０７、１０８）とを備える。
【００６９】
シーケンサ６０６は、マイクロコントローラチップ６０１がデバッグホストに接続されている場合に起動し、ユーザプログラム実行開始までにＦｌａｓｈＲＯＭ６０３の品種データ領域６０５に格納されている無効アドレス範囲データをアクセス監視回路６０２に転送する。
【００７０】
アクセス監視回路６０２は、シーケンサ６０６により内部バス１０５を介しマスクＲＯＭ品種に応じた無効アドレス範囲が書き込まれる無効アドレステーブル部６０９と、バスコントローラ１０４のアクセスしようとするアドレスと無効アドレステーブル部６０９に設定された無効アドレス範囲と比較するアドレス比較部６１０とを備える。
【００７１】
アクセス監視回路６０２は、無効アドレステーブル部６０９に無効アドレス範囲データが書き込まれていない場合にはバスコントローラ１０４のアクセスを監視せずバスコントローラ１０４に作用せず、無効アドレス範囲データが書き込まれている場合にはバスコントローラ１０４のアクセスを監視する。
【００７２】
アクセス監視回路６０２がバスコントローラ１０４のアクセスを監視し、アドレス比較部６１０での結果が、バスコントローラ１０４のアクセスしようとするアドレスが無効アドレス範囲外である場合、すなわち有効な領域へのアクセスであった場合にはこれを有効アクセスと判断しバスコントローラ１０４に作用せず、またバスコントローラ１０４のアクセスしようとするアドレスが無効アドレス範囲内である場合にはこれを無効アクセスと判定し、無効アドレスへの書き込みの場合はこれを無視し対象アドレスへ書き込まないようバスコントローラ１０４に作用し、また無効アドレスの読み出しの場合には対象アドレスへの読み出しは行わずＣＰＵ６０８へは無効な読み出し値として固定値のａｌｌ＿０を返すようバスコントローラ１０４に作用する。
【００７３】
次にマイクロコントローラチップ６０１の動作を説明する。マイクロコントローラチップ６０１のＦｌａｓｈＲＯＭ６０３にユーザプログラムが書き込まれており、最終セットに実装されて最終セット上で動作している場合については、マイクロコントローラチップ１０１と同様である。
【００７４】
マイクロコントローラチップ６０１のエミュレーションチップ動作の例として、マイクロコントローラチップ６０１がエミュレーションチップとしてセットに実装されており、デバッグホストと接続され、セット開発者が図２に示したマスクＲＯＭ品種Ｂ用のソフトウエア開発を行っている場合を図７のフロー図を用いて説明する。なお、セットデバッグに先立ちＦｌａｓｈＲＯＭ６０３の品種データ領域６０５にはマスクＲＯＭ品種Ｂの品種情報がＲＯＭライタなどで書き込まれており、品種情報は不揮発に保持されている。
【００７５】
図７において、期間７０１はユーザプログラムの実行が開始されるまでの動作であり、マイクロコントローラチップ６０１がデバッグホストと接続されていることがデバッグＩ／Ｆ６０７により検出されるため内部リセット解除直後にシーケンサ６０６が起動する。
【００７６】
期間７０２では、シーケンサ６０６の起動によりシーケンサ６０６は、ＣＰＵ６０８のプログラムカウンタのカウント開始を抑制し、プログラムカウント抑制中にＦｌａｓｈＲＯＭ６０３の品種データ領域６０５に格納されているマスクＲＯＭ品種Ｂの無効アドレス範囲データを内部バス１０５を介し転送しアクセス監視回路６０２に書き込む。アクセス監視回路６０２は無効アドレス範囲データが書き込まれたのでマスクＲＯＭ品種Ｂに応じた無効アドレス範囲が無効アドレステーブル部６０９に設定され、バスコントローラ１０４の動作を監視する。アクセス監視回路６０２への無効アドレス範囲データの転送が完了するとシーケンサ６０６はＣＰＵ６０８のプログラムカウンタのカウント開始抑制を解除するので、ＣＰＵ６０８はユーザプログラムの実行を開始する。
【００７７】
期間７０３はユーザプログラムのデバッグが未完了なため誤って周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作を行った場合であり、アクセス監視回路６０２はアクセスを監視しており、このwrite動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路６０２は無効アクセスと判断しバスコントローラ１０４にwrite動作を実行しないように作用する。したがってこのwrite動作は無視され周辺回路Ｂ１０８の制御レジスタには値が設定されず初期状態のままとなる。
【００７８】
期間７０４はユーザプログラムのデバッグが未完了なため誤って内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作を行った場合であり、アクセス監視回路６０２はアクセスを監視しており、このread動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路６０２は無効アクセスと判断しバスコントローラ１０４にread動作を実行しないように作用する。したがってこのread動作は無視され内蔵ＳＲＡＭ１０６へはread動作が行われず、ＣＰＵ６０８へは無効データを返す。
【００７９】
なお、有効アドレスへのアクセスの場合には、アクセス監視回路６０２は有効アクセスと判断しバスコントローラ１０４に作用せずバスコントローラ１０４は通常どおり動作する。
【００８０】
以上のように動作することで、上記マイクロコントローラチップ６０１はベース品種としての動作をすることができ、エミュレーションチップとしてデバッグホストと接続している場合にはユーザプログラム実行前に自動で品種情報を設定するのでマスクＲＯＭ品種ＡもしくはＢの機能を代行することができる。
【００８１】
マスクＲＯＭ品種Ｂの機能を代行している場合にはマスクＲＯＭ品種Ｂと同じく無効アドレスへのwriteを無視し無効アドレスへのreadに対しては無効データを返すので、セットのソフトウエア開発者はマスクＲＯＭ品種Ｂでのプログラムの振る舞いを知ることができ、量産セットにマスクＲＯＭ品種を適用した際の不具合を事前に防止することが可能である。
【００８２】
なお上記の構成においては品種情報をフラッシュメモリに不揮発に保持する構成としたが、揮発的に品種情報を保持する手段を備えシーケンサ６０６の起動前にデバッグホストから直接品種情報をこの保持手段に設定するようにしても同等の効果が得られる。
【００８３】
また上記の構成においては品種により異なる無効アドレス範囲データを無効アドレステーブル部６０９に転送し格納するようにしたが、品番情報を転送し品番情報から無効アドレス範囲データをデコードする構成とすることも可能である。
【００８４】
また上記の構成においては説明の簡略化のため、命令ＲＯＭおよびＳＲＡＭをそれぞれ１個ずつ、また周辺回路を２個搭載しているが、各要素が１つもしくは複数持つ構成や要素によっては搭載しない構成とすることも可能である。
【００８５】
また上記の構成においては無効データを固定値のａｌｌ＿０としたがその他の任意の固定値でも同等の効果が得られる。
【００８６】
また上記の構成においては無効アクセスの際に対象アドレスへのread動作を行わないようにしたが、対象アドレスへのread動作を行いＣＰＵ６０８へは無効データを返す構成としてもよい。
【００８７】
また上記の構成においては無効アクセスの際に対象アドレスへのwrite動作を行わないようにしたが、対象アドレスへ固定値の無効データのwrite動作を行う構成としてもよい。
【００８８】
また上記の構成においてはデバッグホスト接続時の内部リセット解除後にシーケンサ６０６を起動しているが、デバッグホスト接続時の内部リセット解除前に内部リセットとは無関係にシーケンサ６０６を起動する構成にしてもよい。
【００８９】
（第３の実施形態）
本発明の第３の実施形態を図８〜９を用いて説明する。
【００９０】
図８は本発明の第３の実施形態のマイクロコントローラチップを示している。このマイクロコントローラチップ８０１は、マイクロコントローラチップ１０１同様、シリーズのベース品種であり命令ＲＯＭとしてフラッシュメモリ（ＦｌａｓｈＲＯＭ１０３）を内蔵し、最終セットに実装することが可能であるとともに、ユーザプログラム開発のためのエミュレーションチップとして用いることも可能である。
【００９１】
図８に示すように、エミュレーションチップ兼用のベース品種のマイクロコントローラチップ８０１は、ＣＰＵ１０２とアクセス監視回路８０３によって制御され内部バス１０５を制御するバスコントローラ８０２と、乱数発生器８０４を持ちバスコントローラ８０２の動作を監視するアクセス監視回路８０３と、そのほかにマイクロコントローラチップ１０１と同様の構成要素（１０２、１０３、１０５、１０６、１０７、１０８、１１０）とを備える。
【００９２】
アクセス監視回路８０３は、乱数発生器８０４と、内部バス１０５を介しマスクＲＯＭ品種に応じた無効アドレス範囲データが書き込まれる無効アドレステーブル部８０５と、バスコントローラ８０２のアクセスしようとするアドレスと無効アドレステーブル部８０５に設定された無効アドレス範囲とを比較するアドレス比較部８０６とを備える。
【００９３】
アクセス監視回路８０３は、無効アドレステーブル部８０５に無効アドレス範囲データが書き込まれていない場合にはバスコントローラ８０２のアクセスを監視せずバスコントローラ８０２に作用せず、無効アドレス範囲データが書き込まれている場合にはバスコントローラ８０２のアクセスを監視する。
【００９４】
アクセス監視回路８０３がバスコントローラ８０２のアクセスを監視し、アドレス比較部８０６での結果が、バスコントローラ８０２のアクセスしようとするアドレスが無効アドレス範囲外である場合、すなわち有効な領域へのアクセスであった場合にはこれを有効アクセスと判断しバスコントローラ８０２に作用せず、またバスコントローラ８０２のアクセスしようとするアドレスが無効アドレス範囲内である場合にはこれを無効アクセスと判定し、無効アドレスへの書き込みの場合はこれを無視し対象アドレスへ書き込まないようバスコントローラ８０２に作用し、また無効アドレスの読み出しの場合には対象アドレスへの読み出しは行わず無効な読み出し値として内蔵する乱数発生器８０４が都度発生するランダムな値をＣＰＵ１０２へ返すようバスコントローラ８０２に作用する。
【００９５】
次にマイクロコントローラチップ８０１の動作を説明する。マイクロコントローラチップ８０１の内蔵フラッシュメモリにユーザプログラムが書き込まれており、最終セットに実装されて最終セット上で動作している場合については、マイクロコントローラチップ１０１と同様である。
【００９６】
マイクロコントローラチップ８０１のエミュレーションチップ動作の例として、マイクロコントローラチップ８０１がエミュレーションチップとしてセットに実装されており、デバッグホストと接続され、セット開発者が図２に示したマスクＲＯＭ品種Ｂ用のソフトウエア開発を行っている場合を図９のフロー図を用いて説明する。
【００９７】
図９において、期間９０１はユーザプログラムの実行が開始されるまでの動作であり、マスクＲＯＭマイコンと同一の動作である。
【００９８】
期間９０２はユーザプログラム実行中にデバッグＩ／Ｆ１１０を通じデバッグホストからデバッグ割込みがかかっており、この期間において品種情報としてマスクＲＯＭ品種Ｂの無効アドレス範囲データがデバッグホストよりデバッグＩ／Ｆ１１０およびＣＰＵ１０２を経由して送り込まれバスコントローラ８０２を介しアクセス監視回路８０３に書き込まれる。アクセス監視回路８０３は無効アドレス範囲データが書き込まれたのでマスクＲＯＭ品種Ｂに応じた無効アドレス範囲が無効アドレステーブル部８０５に設定され、バスコントローラ８０２の動作を監視する。
【００９９】
期間９０３はユーザプログラムのデバッグが未完了なため誤って周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作を行った場合であり、アクセス監視回路８０３はアクセスを監視しており、このwrite動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路８０３は無効アクセスと判断しバスコントローラ８０２にwrite動作を実行しないように作用する。したがってこのwrite動作は無視され周辺回路Ｂ１０８の制御レジスタには値が設定されず初期状態のままとなる。
【０１００】
期間９０４はユーザプログラムのデバッグが未完了なため誤って内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作を行った場合であり、アクセス監視回路８０３はアクセスを監視しており、このread動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路８０３は無効アクセスと判断しバスコントローラ８０２にread動作を実行しないように作用する。したがって内蔵ＳＲＡＭ１０６へはread動作が行われず、ＣＰＵ１０２へは乱数発生器８０４の生成するランダム値が無効データとして転送される。
【０１０１】
なお、有効アドレスへのアクセスの場合には、アクセス監視回路８０３は有効アクセスと判断しバスコントローラ８０２に作用せず、バスコントローラ８０２は通常どおり動作する。
【０１０２】
以上のように動作することで、上記マイクロコントローラチップ８０１はベース品種としての動作をすることができ、エミュレーションチップとしてデバッグホストと接続している場合にはデバッグ割込みにより品種情報を転送することでマスクＲＯＭ品種ＡもしくはＢの機能を代行することができる。
【０１０３】
マスクＲＯＭ品種Ｂの機能を代行している場合にはマスクＲＯＭ品種Ｂと同じく無効アドレスへのwriteを無視し無効アドレスへのreadに対しては無効データとしてランダム値を返すので、セットのソフトウエア開発者はマスクＲＯＭ品種Ｂでのプログラムの振る舞いを知ることができ、また無効なread動作をした場合には第１、第２の実施形態とは異なり対象アドレスからはランダム値が読み出されるように動作するのでプログラムミスを発見しやすくなり、量産セットにマスクＲＯＭ品種を適用した際の不具合を事前に防止することが可能である。
【０１０４】
なお上記の構成においては品種情報として無効アドレス範囲データをデバッグホストから転送するようにしたが、フラッシュメモリなどに不揮発に保持したり、チップ上に揮発的に品種情報を保持する手段を設けデバッグに先立ち品種情報を設定しておく構成としても同等の効果が得られる。
【０１０５】
また上記の構成においては品種により異なる無効アドレス範囲データを無効アドレステーブル部８０５に転送し格納するようにしたが、品番情報を転送し品番情報から無効アドレス範囲データをデコードする構成とすることも可能である。
【０１０６】
また上記の構成においては説明の簡略化のため、命令ＲＯＭおよびＳＲＡＭをそれぞれ１個ずつ、また周辺回路を２個搭載しているが、各要素が１つもしくは複数持つ構成や要素によっては搭載しない構成とすることも可能である。
【０１０７】
また上記の構成においては無効アクセスの際に対象アドレスへのread動作を行わないようにしたが、対象アドレスへのread動作を行いＣＰＵ１０２へは無効データを返す構成としてもよい。
【０１０８】
また上記の構成においては無効アクセスのwrite動作についてはwrite動作を無視するよう構成したが、乱数発生器８０４の生成するランダム値を書き込むよう構成してもよい。
【０１０９】
また上記の構成においてはユーザプログラムの実行開始後にデバッグホストからデバッグ割込みをかけて品種情報を転送しているが、ユーザプログラム実行前にデバッグホストよりデバッグ割込みをかけ品種情報を転送する構成にしてもよい。
【０１１０】
また上記の構成においては品種情報の転送のためデバッグホストよりデバッグ割込みをかける構成としたが、第２の実施形態のごとくシーケンサを備える構成としてもよい。
【０１１１】
（第４の実施形態）
本発明の第４の実施形態を図１０〜１１を用いて説明する。
【０１１２】
図１０は本発明の第４の実施形態のマイクロコントローラチップを示している。このマイクロコントローラチップ１００１は、マイクロコントローラチップ１０１同様、シリーズのベース品種であり命令ＲＯＭとしてフラッシュメモリ（ＦｌａｓｈＲＯＭ１０３）を内蔵し、最終セットに実装することが可能であるとともに、ユーザプログラム開発のためのエミュレーションチップとして用いることも可能である。
【０１１３】
図１０に示すように、エミュレーションチップ兼用のベース品種のマイクロコントローラチップ１００１は、命令を実行することでチップ全体を制御するＣＰＵ１００２と、バスコントローラ１００６の動作を監視し無効アクセスのあった際にはＣＰＵ１００２に無効アクセス検出割込みをかけるアクセス監視回路１００３と、ＣＰＵ１００２によって制御され内部バス１０５を制御するバスコントローラ１００６と、そのほかにマイクロコントローラチップ１０１と同様の構成要素（１０３、１０５、１０６、１０７、１０８、１１０）とを備える。
【０１１４】
アクセス監視回路１００３は、バスコントローラ１００６を介しマスクＲＯＭ品種に応じた無効アドレス範囲データが書き込まれる無効アドレステーブル部１００４と、バスコントローラ１００６のアクセスしようとする対象アドレスと無効アドレステーブル部１００４に設定された無効アドレス範囲とを比較するアドレス比較部１００５とを備える。
【０１１５】
アクセス監視回路１００３は、無効アドレステーブル部１００４に無効アドレス範囲データが書き込まれていない場合にはバスコントローラ１００６のアクセスを監視せずＣＰＵ１００２に作用せず、無効アドレス範囲データが書き込まれている場合にはバスコントローラ１００６のアクセスを監視する。
【０１１６】
アクセス監視回路１００３がバスコントローラ１００６を監視し、アドレス比較部１００５での結果が、バスコントローラ１００６のアクセスしようとする対象アドレスが無効アドレス範囲外である場合、すなわち有効な領域へのアクセスであった場合にはこれを有効アクセスと判断しＣＰＵ１００２に作用せず、またバスコントローラ１００６のアクセスしようとする対象アドレスが無効アドレス範囲内である場合にはこれを無効アクセスと判定し、ＣＰＵ１００２へは無効アクセス検出割込みをかけるように作用する。
【０１１７】
次にマイクロコントローラチップ１００１の動作を説明する。マイクロコントローラチップ１００１のＦｌａｓｈＲＯＭ１０３にユーザプログラムが書き込まれており、最終セットに実装されて最終セット上で動作している場合については、マイクロコントローラチップ１０１と同様である。
【０１１８】
マイクロコントローラチップ１００１のエミュレーションチップ動作の例として、マイクロコントローラチップ１００１がエミュレーションチップとしてセットに実装されており、デバッグホストと接続され、セット開発者が図２に示したマスクＲＯＭ品種Ｂ用のソフトウエア開発を行っている場合を図１１のフロー図を用いて説明する。
【０１１９】
図１１において、期間１１０１はユーザプログラムの実行が開始されるまでの動作であり、マスクＲＯＭマイコンと同一の動作である。
【０１２０】
期間１１０２はユーザプログラム実行中にデバッグＩ／Ｆ１１０を通じデバッグホストからデバッグ割込みがかかっており、この期間において品種情報としてマスクＲＯＭ品種Ｂの無効アドレス範囲データがデバッグホストよりデバッグＩ／Ｆ１１０およびＣＰＵ１００２を経由して送り込まれバスコントローラ１００６を介しアクセス監視回路１００３に書き込まれる。アクセス監視回路１００３は無効アドレス範囲データが書き込まれたのでマスクＲＯＭ品種Ｂに応じた無効アドレス範囲が無効アドレステーブル部１００４に設定され、バスコントローラ１００６の動作を監視する。
【０１２１】
期間１１０３はユーザプログラムのデバッグが未完了なため誤って周辺回路Ｂ１０８の制御レジスタのアドレスにwrite動作を行った場合であり、アクセス監視回路１００３はアクセスを監視しており、このwrite動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路１００３は無効アクセスと判断しＣＰＵ１００２へ割込みをかけるように作用する。ＣＰＵ１００２は割込みがかかったため、デバッグＩ／Ｆ１１０を通じデバッグホストに無効アクセスの検出を通知する。
【０１２２】
期間１１０４はユーザプログラムのデバッグが未完了なため誤って内蔵ＳＲＡＭ１０６のアドレス0x00003000番地にread動作を行った場合であり、アクセス監視回路１００３はアクセスを監視しており、このread動作がマスクＲＯＭ品種Ｂには実装されていない無効アドレスへのアクセスなのでアクセス監視回路１００３は無効アクセスと判断しＣＰＵ１００２へ割込みをかけるように作用する。ＣＰＵ１００２は割込みがかかったため、デバッグＩ／Ｆ１１０を通じデバッグホストに無効アクセスの検出を通知する。
【０１２３】
なお、有効アドレスへのアクセスの場合には、アクセス監視回路１００３は有効アクセスと判断しＣＰＵ１００２に作用せず、ＣＰＵ１００２とデバッグＩ／Ｆ１１０は通常どおり動作する。
【０１２４】
以上のように動作することで、上記マイクロコントローラチップ１００１はベース品種としての動作をすることができ、エミュレーションチップとしてデバッグホストと接続している場合にはデバッグ割込みにより品種情報を転送することでマスクＲＯＭ品種ＡもしくはＢの機能を代行することができる。
【０１２５】
マスクＲＯＭ品種Ｂの機能を代行している場合にはマスクＲＯＭ品種Ｂと同じく無効アドレスへのwriteとreadに対しては、ＣＰＵ１００２へ割込みを発生するので無効アクセスの検出を通知でき、セットのソフトウエア開発者はマスクＲＯＭ品種Ｂでのプログラムの不具合を早期に検出でき、量産セットにマスクＲＯＭ品種を適用した際の不具合を事前に防止することが可能である。
【０１２６】
なお上記の構成においては品種情報として無効アドレス範囲データをデバッグホストから転送するようにしたが、フラッシュメモリなどに不揮発に保持したり、チップ上に揮発的に品種情報を保持する手段を設けデバッグに先立ち品種情報を設定しておく構成としても同等の効果が得られる。
【０１２７】
また上記の構成においては品種により異なる無効アドレス範囲データを無効アドレステーブル部１００４に転送し格納するようにしたが、品番情報を転送し品番情報から無効アドレス範囲データをデコードする構成とすることも可能である。
【０１２８】
また上記の構成においては説明の簡略化のため、命令ＲＯＭおよびＳＲＡＭをそれぞれ１個ずつ、また周辺回路を２個搭載しているが、各要素が１つもしくは複数持つ構成や要素によっては搭載しない構成とすることも可能である。
【０１２９】
また上記の構成においては無効アドレスへのreadの際にＣＰＵ１００２に割込みをかける構成としたが、割込み発生に加え対象アドレスへのread動作を行わないようにしたりもしくは対象アドレスへのread動作を行う構成としてもよい。
【０１３０】
また上記の構成においては無効アドレスへのwriteの際にＣＰＵ１００２に割込みをかける構成としたが、割込み発生に加えwrite動作も行ったりwrite動作を無視したり第３の実施形態のごとく乱数発生器を備えておきランダム値を書き込むよう構成してもよい。
【０１３１】
また上記の構成においてはユーザプログラムの実行開始後にデバッグホストからデバッグ割込みをかけて品種情報を転送しているが、ユーザプログラム実行前にデバッグホストよりデバッグ割込みをかけ品種情報を転送する構成にしてもよい。
【０１３２】
また上記の構成においては品種情報の転送のためデバッグホストよりデバッグ割込みをかける構成としたが、第２の実施形態のごとくシーケンサを備える構成としてもよい。
また上記の構成では無効アクセス検出の際にＣＰＵ１００２に割込みをかけＣＰＵ１００２からデバッグＩ／Ｆ１１０に無効アクセスの検出を通知する構成としたが、無効アクセスの際にアクセス監視回路１００３からデバッグＩ／Ｆ１１０に直接無効アクセスの検出を通知する構成としてもよい。
【０１３３】
（第５の実施形態）
本発明の第５の実施形態を図１２〜１８を用いて説明する。
【０１３４】
図１２は本発明の第５の実施形態のマイクロコントローラチップを示している。このマイクロコントローラチップ１２０１は、マイクロコントローラチップ１０１同様、シリーズのベース品種であり命令ＲＯＭとしてフラッシュメモリ（ＦｌａｓｈＲＯＭ１０３）を内蔵し、最終セットに実装することが可能であるとともに、ユーザプログラム開発のためのエミュレーションチップとして用いることも可能である。
【０１３５】
図１２に示すように、エミュレーションチップ兼用のベース品種のマイクロコントローラチップ１２０１は、命令を実行することでチップ全体を制御するＣＰＵ１２０２と、内部に制御レジスタ１２０４と資源無効化レジスタ１２０５を備え内部バス１０５を介し制御レジスタ１２０４および資源無効化レジスタ１２０５に値を設定されることで制御される周辺回路Ａ１２０３と、内部に制御レジスタ１２０７と資源無効化レジスタ１２０８を備え内部バス１０５を介し制御レジスタ１２０７および資源無効化レジスタ１２０８に値を設定されることで制御される周辺回路Ｃ１２０６と、ＣＰＵ１２０２によって制御され内部バス１０５を制御するバスコントローラ１２０９と、そのほかにマイクロコントローラチップ１０１と同様の構成要素（１０３、１０５、１０６、１１０）とを備える。
【０１３６】
周辺回路Ａ１２０３の資源無効化レジスタ１２０５は、初期値が０であり、資源無効化レジスタ１２０５の値が０のときは制御レジスタ１２０４に作用せず周辺回路Ａ１２０３の資源を無効化せず周辺回路Ａ１２０３へのバスアクセスを監視しないが、デバッグホスト接続時に資源無効化レジスタ１２０５に０以外の値が書き込まれると値に応じ制御レジスタ１２０４に作用し周辺回路Ａ１２０３の資源の一部もしくは全てを無効化するとともに周辺回路Ａ１２０３へのバスアクセスを監視する。
【０１３７】
周辺回路Ａ１２０３へのバスアクセスを監視している際に、周辺回路Ａ１２０３の資源無効化レジスタ１２０５の設定に反して資源を有効化するようなバスアクセスがあった場合には無効アクセスと判断し、ＣＰＵ１２０２へ無効アクセス検出割込みをかけるように作用する。
【０１３８】
周辺回路Ｃ１２０６についても周辺回路Ａ１２０３と同様である。
【０１３９】
図１３は図１２に示したマイクロコントローラのベース品種とそのシリーズ展開品であるマスクＲＯＭ品種ＡおよびＣにおける、メモリサイズと周辺回路の差異を示している。このマスクＲＯＭ品種ＡおよびＣは命令ＲＯＭとしてマスクＲＯＭを内蔵しており、量産のおこなわれる最終セットに実装されるものである。
【０１４０】
図１３に示すように、ベース品種はエミュレーションチップを兼ねており、マスクＲＯＭ品種と比較し各周辺回路ごとに資源無効化レジスタを備えている。マスクＲＯＭ品種Ａはベース品種と比較し資源無効化レジスタを備えないこと以外はメモリサイズ、周辺機能が同一である。マスクＲＯＭ品種Ｃはベース品種と比較し資源無効化レジスタを備えないこと以外にもメモリサイズ、周辺機能に相違がある。すなわちマスクＲＯＭ品種ＣにおいてはメモリサイズがＲＯＭ，ＲＡＭとも半減し、また周辺機能についても周辺回路Ｃの一部が実装されていない。
【０１４１】
周辺回路Ｃは、ベース品種およびマスクＲＯＭ品種ＡにおいてはＵＡＲＴとクロック同期シリアル機能のいずれかが制御レジスタのプロトコル選択ビットで選択可能な汎用シリアルであるが、マスクＲＯＭ品種Ｃではクロック同期専用の回路構成となっている。すなわちマスクＲＯＭ品種Ｃの周辺回路ＣではＵＡＲＴが無効な資源となる。
【０１４２】
図１４にベース品種およびマスクＲＯＭ品種Ａに実装されている周辺回路Ｃの制御レジスタを示す。この制御レジスタ１４０１はプロトコル選択ビット１４０２を備え、プロトコル選択ビット１４０２は初期値としてクロック同期シリアルを選択し、書換えが可能である。
【０１４３】
図１５にマスクＲＯＭ品種Ｃに実装されている周辺回路Ｃの制御レジスタを示す。この制御レジスタ１５０１はプロトコル選択ビット１５０２を備えるが、プロトコル選択ビット１５０２は初期値が固定でクロック同期シリアルを選択し、書換えできない。なお、マスクＲＯＭ品種Ｃにおいてプロトコル選択ビット１５０２を書換えるアクセスがあった場合には、プロトコル選択ビット１５０２はこのアクセスを無視する。
【０１４４】
図１６にベース品種とマスクＲＯＭ品種ＡとマスクＲＯＭ品種Ｃの、おのおのの周辺回路Ｃの動作をしめす。
【０１４５】
図１６に示すようにベース品種とマスクＲＯＭ品種Ａにおいて、プロトコル選択ビット１５０２の初期値は０でありプロトコルとしてクロック同期シリアルを選択しているが、プロトコル選択ビット１５０２の値を１に書換えるアクセスがあった場合には、プロトコル選択ビット１５０２は１に書換えられプロトコルとしてＵＡＲＴを選択する。
【０１４６】
また図１６に示すようにマスクＲＯＭ品種Ｃにおいて、プロトコル選択ビット１５０２の初期値は０でありプロトコルとしてクロック同期シリアルを選択しているが、プロトコル選択ビット１５０２の値を１に書換えるアクセスがあった場合には、プロトコル選択ビット１５０２はこのアクセスを無視して０を保持しプロトコルとしてクロック同期シリアルを選択する。
【０１４７】
図１７にエミュレーション動作をおこなっているベース品種チップに品種ごとの情報を設定し、ベース品種もしくはマスクＲＯＭ品種ＡもしくはマスクＲＯＭ品種Ｃの動作をエミュレートする場合の周辺回路Ｃ１２０６の動作をしめす。
【０１４８】
図１７に示すようにベース品種もしくはマスクＲＯＭ品種Ａの動作をエミュレートする際には、デバッグホストに接続し周辺回路Ｃ１２０６の資源無効化レジスタ１２０８に初期値と同じ０を書き込む。資源無効化レジスタ１２０８の値が０なのでエミュレーションチップの周辺回路Ｃ１２０６のプロトコル選択ビット１５０２は書換え可能であり、周辺回路Ｃ１２０６はプロトコル選択ビット１５０２の値に応じたプロトコルが選択される。
【０１４９】
また図１７に示すようにマスクＲＯＭ品種Ｃの動作をエミュレートする際には、デバッグホストに接続し周辺回路Ｃ１２０６の資源無効化レジスタ１２０８を１に書換える。資源無効化レジスタ１２０８の値が１なのでエミュレーションチップの周辺回路Ｃ１２０６のプロトコル選択ビット１５０２は書換えできなくなり、周辺回路Ｃ１２０６はプロトコル選択ビット１５０２の値０に応じたクロック同期シリアルのプロトコルが選択される。さらに資源無効化レジスタ１２０８の値が１の場合にはエミュレーションチップの周辺回路Ｃ１２０６のプロトコル選択ビット１５０２は書換えできないが、これに反してマスクＲＯＭ品種Ｃでは実装されないＵＡＲＴのプロトコルを選択するようにプロトコル選択ビット１５０２の値を書き換えるアクセスがあった場合には、このアクセスを無視するとともに無効アクセスと判断し、ＣＰＵ１２０２へ無効アクセス検出割込みをかけるように作用する。
【０１５０】
次にマイクロコントローラチップ１２０１の動作を説明する。マイクロコントローラチップ１２０１の内蔵フラッシュメモリにユーザプログラムが書き込まれており、最終セットに実装されて最終セット上で動作している場合については、マイクロコントローラチップ１０１と同様である。
【０１５１】
マイクロコントローラチップ１２０１のエミュレーションチップ動作の例として、マイクロコントローラチップ１２０１がエミュレーションチップとしてセットに実装されており、デバッグホストと接続されセット開発者がマスクＲＯＭ品種Ｃ用のソフトウエア開発を行っている場合を図１８を用いて説明する。
【０１５２】
図１８において、期間１８０１はユーザプログラムの実行が開始されるまでの動作でありマスクＲＯＭマイコンと同一の動作である。
【０１５３】
期間１８０２はユーザプログラム実行中にデバッグＩ／Ｆ１１０を通じデバッグホストからデバッグ割込みがかかっており、この期間において品種情報としてマスクＲＯＭ品種Ｃの無効資源データがデバッグホストよりデバッグＩ／Ｆ１１０およびＣＰＵ１２０２を経由して送り込まれバスコントローラ１０４を介し周辺回路Ａ１２０３の資源無効化レジスタ１２０５と周辺回路Ｃ１２０６の資源無効化レジスタ１２０８に書き込まれる。
【０１５４】
図１３に示したようにこのＲＯＭマスク品種Ｃにおいては周辺回路Ａ１２０３はベース品種およびＲＯＭマスク品種Ａの周辺回路Ａと同一の機能を備えるので周辺回路Ａ１２０３の全ての資源が有効であり、資源無効化レジスタ１２０５には品種情報としてマスクＲＯＭ品種Ｃの無効資源データ「０」が書き込まれる。周辺回路Ａ１２０３の資源無効化レジスタ１２０５の値は「０」であるので制御レジスタ１２０４に作用せず周辺回路Ａ１２０３へのバスアクセスを監視せず、ＣＰＵ１２０２には作用しない。
【０１５５】
また図１３に示したようにこのＲＯＭマスク品種Ｃにおいては周辺回路Ｃ１２０６はベース品種およびＲＯＭマスク品種Ａの周辺回路Ｃにくらべ制限があり周辺回路Ｃ１２０６のクロック同期シリアル機能のみ有効であるので、資源無効化レジスタ１２０８には品種情報としてマスクＲＯＭ品種Ｃの無効資源データ「１」が書き込まれる。周辺回路Ｃ１２０６の資源無効化レジスタ１２０８の値は「１」であるので制御レジスタ１２０７に作用し周辺回路Ｃ１２０６へのバスアクセスを監視する。
【０１５６】
期間１８０３はユーザプログラムのデバッグが未完了なため周辺回路Ｃ１２０６の制御レジスタ１２０７にwrite動作を行い、マスクＲＯＭ品種Ｃでは制限される資源であるＵＡＲＴを誤って有効化しようとしてプロトコル選択ビット１５０２を書き換える動作を行った場合であり、周辺回路Ｃ１２０６の資源無効化レジスタ１２０８は周辺回路Ｃ１２０６へのバスアクセスを監視しており、このwrite動作がマスクＲＯＭ品種Ｃでは制限される資源であるＵＡＲＴを有効化しようとするアクセスのため、周辺回路Ｃ１２０６の資源無効化レジスタ１２０８はこのアクセスを無効アクセスと判断し、ＣＰＵ１２０２へ無効アクセス検出割込みを発生する。ＣＰＵ１２０２は無効アクセス検出割込みがかかったため、デバッグＩ／Ｆ１１０を通じデバッグホストに無効アクセスの検出を通知する。
【０１５７】
以上のように動作することで、上記マイクロコントローラチップ１２０１はベース品種としての動作をすることができ、エミュレーションチップとしてデバッグホストと接続している場合にはデバッグ割込みにより品種情報を転送することでマスクＲＯＭ品種ＡもしくはＣの動作を代行することができる。
【０１５８】
マスクＲＯＭ品種Ｃの動作を代行している場合にはマスクＲＯＭ品種Ｃでは制限される資源への無効なwriteアクセスに対しては、ＣＰＵ１２０２へ割込みを発生するので無効アクセスの検出を通知でき、セットのソフトウエア開発者はマスクＲＯＭ品種Ｃでのプログラムの不具合を早期に検出でき、量産セットにマスクＲＯＭ品種を適用した際の不具合を事前に防止することが可能である。
【０１５９】
なお上記の構成においては品種情報として無効アドレス範囲データをデバッグホストから転送するようにしたが、フラッシュメモリなどに不揮発に保持したり、チップ上に揮発的に品種情報を保持する手段を設けデバッグに先立ち品種情報を設定しておく構成としても同等の効果が得られる。
【０１６０】
また上記の構成においては説明の簡略化のため、命令ＲＯＭおよびＳＲＡＭをそれぞれ１個ずつ、また周辺回路を２個搭載しているが、各要素が１つもしくは複数持つ構成や要素によっては搭載しない構成とすることも可能である。
【０１６１】
また上記の構成においては品種設定により制限される資源を有効に設定するようなwriteの際にＣＰＵ１２０２に割込みをかける構成としたが、割込み発生に加えwrite動作も行ったりwrite動作を無視したり第３の実施形態のごとく乱数発生器を備えておきランダム値を書き込むよう構成してもよい。
【０１６２】
また上記の構成においてはユーザプログラムの実行開始後にデバッグホストからデバッグ割込みをかけて品種情報を転送しているが、ユーザプログラム実行前にデバッグホストよりデバッグ割込みをかけ品種情報を転送する構成にしてもよい。
【０１６３】
また上記の構成においては品種情報の転送のためデバッグホストよりデバッグ割込みをかける構成としたが、第２の実施形態のごとくシーケンサを備える構成としてもよい。
【０１６４】
また上記の構成では無効アクセス検出の際にＣＰＵ１２０２に割込みをかけＣＰＵ１２０２からデバッグＩ／Ｆ１１０に無効アクセスを通知する構成としたが、無効アクセスの際にデバッグＩ／Ｆ１１０に直接無効アクセスを通知する構成としてもよい。
【０１６５】
また上記の構成に加え、第１〜第４の実施形態のごとくアクセス監視回路を備え、無効アクセスの監視を行い無効アクセスを検出した場合には第１〜第４の実施形態のごとく動作する構成としてもよい。
【産業上の利用可能性】
【０１６６】
本発明にかかる半導体装置は、内蔵メモリサイズや内蔵周辺回路にバリエーションをもつマイクロコントローラやマイクロコンピュータのシリーズ品において、そのベース品種によりソフトウエアデバッグ環境を提供するエミュレーションチップ等として有用である。
【図面の簡単な説明】
【０１６７】
【図１】本発明の第１の実施形態のマイクロコントローラチップのブロック図である。
【図２】第１〜第４の実施形態のマイコンシリーズのベース品種およびＲＯＭ品種のメモリサイズや周辺機能の比較表を示す図である。
【図３】第１の実施形態のベース品種がユーザプログラムを実行する場合の動作の例を示すフロー図である。
【図４】第１の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ａの機能を代行している際の動作の例を示すフロー図である。
【図５】第１の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ｂの機能を代行している際の動作の例を示すフロー図である。
【図６】本発明の第２の実施形態のマイクロコントローラチップのブロック図である。
【図７】第２の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ｂの機能を代行している際の動作の例を示すフロー図である。
【図８】本発明の第３の実施形態のマイクロコントローラチップのブロック図である。
【図９】第３の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ｂの機能を代行している際の動作の例を示すフロー図である。
【図１０】本発明の第４の実施形態のマイクロコントローラチップのブロック図である。
【図１１】第４の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ｂの機能を代行している際の動作の例を示すフロー図である。
【図１２】本発明の第５の実施形態のマイクロコントローラチップのブロック図である。
【図１３】第５の実施形態のマイコンシリーズのベース品種およびＲＯＭ品種のメモリサイズや周辺機能の比較表を示す図である。
【図１４】第５の実施形態のベース品種およびマスクＲＯＭ品種Ａの周辺回路Ｂの制御レジスタの構成図である。
【図１５】第５の実施形態のマスクＲＯＭ品種Ｃの周辺回路Ｂの制御レジスタの構成図である。
【図１６】第５の実施形態のマイコンシリーズのベース品種およびＲＯＭ品種の周辺回路Ｃの動作比較表を示す図である。
【図１７】第５の実施形態のベース品種がエミュレーションチップとしてベース品種およびＲＯＭ品種の機能を代行している際の周辺回路Ｃの動作比較表を示す図である。
【図１８】第５の実施形態のベース品種がエミュレーションチップとしてマスクＲＯＭ品種Ｃの機能を代行している際の動作の例を示すフロー図である。
【符号の説明】
【０１６８】
１０１：マイクロコントローラチップ
１０２：ＣＰＵ
１０３：ＦｌａｓｈＲＯＭ
１０４：バスコントローラ
１０５：内部バス
１０６：ＳＲＡＭ
１０７：周辺回路Ａ
１０８：周辺回路Ｂ
１０９：アクセス監視回路
１１０：デバッグＩ／Ｆ
１１１：無効アドレステーブル部
１１２：アドレス比較部
６０１：マイクロコントローラチップ
６０２：アクセス監視回路
６０３：ＦｌａｓｈＲＯＭ
６０４：ユーザＲＯＭ領域
６０５：品種データ領域
６０６：シーケンサ
６０７：デバッグＩ／Ｆ
６０８：ＣＰＵ
６０９：無効アドレステーブル部
６１０：アドレス比較部
８０１：マイクロコントローラチップ
８０２：バスコントローラ
８０３：アクセス監視回路
８０４：乱数発生器
８０５：無効アドレステーブル部
８０６：アドレス比較部
１００１：マイクロコントローラチップ
１００２：ＣＰＵ
１００３：アドレス監視回路
１００４：無効アドレステーブル部
１００５：アドレス比較部
１００６：バスコントローラ
１２０１：マイクロコントローラチップ
１２０２：ＣＰＵ
１２０３：周辺回路Ａ
１２０４：制御レジスタ
１２０５：資源無効化レジスタ
１２０６：周辺回路Ｃ
１２０７：制御レジスタ
１２０８：資源無効化レジスタ
１２０９：バスコントローラ
１４０１：汎用シリアルの制御レジスタ
１４０２：プロトコル選択ビット
１５０１：クロック同期シリアルの制御レジスタ
１５０２：プロトコル選択ビット
【図１】
2006293824.tif 000003
【図２】
2006293824.tif 000004
【図３】
2006293824.tif 000005
【図４】
2006293824.tif 000006
【図５】
2006293824.tif 000007
【図６】
2006293824.tif 000008
【図７】
2006293824.tif 000009
【図８】
2006293824.tif 000010
【図９】
2006293824.tif 000011
【図１０】
2006293824.tif 000012
【図１１】
2006293824.tif 000013
【図１２】
2006293824.tif 000014
【図１３】
2006293824.tif 000015
【図１４】
2006293824.tif 000016
【図１５】
2006293824.tif 000017
【図１６】
2006293824.tif 000018
【図１７】
2006293824.tif 000019
【図１８】
2006293824.tif 000020