(57)【要約】【課題】  エバチップを使用したユーザプログラムの開発時に、誤ったユーザプログラムの開発を防止する。【解決手段】  周辺回路制御レジスタ２４は、周辺リソース１６０〜１６７にそれぞれ対応する複数のビットを有する。デコーダ２８は、ＣＰＵ１０による周辺リソースのいずれかへのアクセスの発生に応答して、周辺回路制御レジスタ２４におけるアクセス先の周辺リソースに対応するビットがセット状態であるときに、アクセス先の周辺リソースへのアクセス信号を活性化させる。ユーザプログラムの開発時に、製品チップに搭載される周辺リソースに対応する周辺回路制御レジスタ２４のビットをセット状態に予め設定することで、エバチップの機能仕様を製品チップと等価にすることができ、誤ったユーザプログラムの開発を防止できる。【選択図】    図１
2006195793.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従って動作する処理回路と、
複数の周辺回路と、
前記複数の周辺回路にそれぞれ対応する複数のビットを有する周辺回路制御レジスタと、
前記処理回路による前記複数の周辺回路のいずれかへのアクセスの発生に応答して、前記周辺回路制御レジスタにおけるアクセス先の周辺回路に対応するビットがセット状態であるときに、アクセス先の周辺回路へのアクセス信号を活性化させるアクセス制御回路とを備えていることを特徴とするマイクロコントローラ。
【請求項２】
請求項１記載のマイクロコントローラにおいて、
前記アクセス制御回路は、
前記処理回路のアクセス先を示すアクセス先アドレスに応じて、前記複数の周辺回路へのアクセス信号のいずれかを活性化させるデコード回路と、
前記複数の周辺回路にそれぞれ対応して設けられ、前記周辺回路制御レジスタにおける対応するビットがリセット状態であるときに、対応する周辺回路へのアクセス信号をマスクする複数のマスク回路とを備えていることを特徴とするマイクロコントローラ。
【請求項３】
請求項１記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード、および前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モードを備え、
前記アクセス制御回路は、前記特権動作モード時に、前記処理回路による前記周辺回路制御レジスタへのアクセスの発生に応答して、前記周辺回路制御レジスタへのアクセス信号を活性化させることを特徴とするマイクロコントローラ。
【請求項４】
プログラムに従って動作する処理回路と、
メモリと、
前記メモリのアクセス領域を指定するメモリ制御レジスタと、
前記処理回路による前記メモリへのアクセスの発生に応答して、アクセス先が前記メモリ制御レジスタにより指定されるアクセス領域に含まれるときに、前記メモリへのアクセス信号を活性化させるアクセス制御回路とを備えていることを特徴とするマイクロコントローラ。
【請求項５】
請求項４記載のマイクロコントローラにおいて、
前記メモリ制御レジスタは、前記メモリのアクセス領域の開始アドレスおよび終了アドレスをそれぞれ指定する第１および第２レジスタを備え、
前記アクセス制御回路は、前記処理回路のアクセス先を示すアクセス先アドレスを前記第１および第２レジスタにより指定されるアドレスとそれぞれ比較し、アクセス先アドレスが前記第１レジスタにより指定されるアドレス以上かつ前記第２レジスタにより指定されるアドレス以下であるときに、前記メモリへのアクセス信号を活性化させる比較回路を備えていることを特徴とするマイクロコントローラ。
【請求項６】
請求項４記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード、および前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モードを備え、
前記アクセス制御回路は、前記特権動作モード時に、前記処理回路による前記メモリ制御レジスタへのアクセスの発生に応答して、前記メモリ制御レジスタへのアクセス信号を活性化させることを特徴とするマイクロコントローラ。
【請求項７】
第１割込要求をそれぞれ出力する複数の周辺回路と、
前記複数の周辺回路からの第１割込要求と複数の第２割込要求との対応関係を指定する割込要求制御レジスタと、
前記割込要求制御レジスタにより指定される対応関係に応じて、前記複数の周辺回路からの第１割込要求を前記複数の第２割込要求に置換して出力する割込要求入換回路と、
プログラムに従って動作し、前記複数の第２割込要求に応じて、前記複数の第２割込要求にそれぞれ対応する複数の割込処理のいずれかを実行する処理回路とを備えていることを特徴とするマイクロコントローラ。
【請求項８】
請求項７記載のマイクロコントローラにおいて、
前記割込要求制御レジスタは、前記複数の第２割込要求にそれぞれ対応して設けられ、前記複数の周辺回路からの第１割込要求のいずれかをそれぞれ指定する複数のサブレジスタを備え、
前記割込要求入換回路は、前記複数の第２割込要求にそれぞれ対応して設けられ、対応するサブレジスタにより指定される第１割込要求を、対応する第２割込要求として出力する複数の選択回路を備えていることを特徴とするマイクロコントローラ。
【請求項９】
請求項７記載のマイクロコントローラにおいて、
前記割込要求制御レジスタは、前記複数の周辺回路からの第１割込要求にそれぞれ対応して設けられ、前記複数の第２割込要求にそれぞれ対応する複数のビットをそれぞれ有する複数のサブレジスタを備え、
前記割込要求入換回路は、
前記複数の周辺回路からの第１割込要求にそれぞれ対応して設けられ、対応する第１割込要求を、前記複数の第２割込要求にそれぞれ対応する複数の第３割込要求のうち、対応するサブレジスにおけるセット状態のビットに対応する第３割込要求として出力する複数の割当回路と、
前記複数の第２割込要求にそれぞれ対応して設けられ、前記複数の割当回路からの第３割込要求のうち、同一の第２割込要求に対応する複数の第３割込要求を、対応する第２割込要求として共通に出力する複数の合成回路とを備えていることを特徴とするマイクロコントローラ。
【請求項１０】
請求項７記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード時に、前記割込要求制御レジスタへのアクセス信号を非活性レベルに固定し、前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モード時に、前記処理回路による前記割込要求制御レジスタへのアクセスの発生に応答して、前記割込要求制御レジスタへのアクセス信号を活性化させるアクセス制御回路を備えていることを特徴とするマイクロコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラに関し、特に、プログラム開発者やシステムボード設計者向けに開発される試作・評価用のエバリュエーションチップ（以下、エバチップと呼ぶ）に関する。
【背景技術】
【０００２】
一般に、マイクロコントローラの製品チップを使用するプログラム開発者やシステムボード設計者には、試作・評価用のデバイスとしてエバチップが提供される。エバチップを互いに機能仕様が異なる複数の製品チップ（量産用チップ）に対して共通に使用できるようにするために、各製品チップの機能仕様の最小公倍数となる機能仕様を有する共通エバチップが開発されている。共通エバチップは、複数の製品チップの機能仕様を網羅して構成されるため、製品チップより多くの周辺リソースやメモリを搭載している。このような共通エバチップを使用してユーザプログラムが開発され、開発されたユーザプログラムが製品チップに搭載される。また、周辺リソースからの割込要求に応じて割込処理を実行可能なマイクロコントローラでは、周辺リソースからの割込要求毎に一対一で割込番号が割り当てられており、周辺リソースからの割込要求に応答して、その割込要求に割り当てられた割込番号に対応する割込処理プログラムが実行される。
【０００３】
マイクロコントローラに関連する技術として、特許文献１には、外部装置に機能ブロックへのアクセスを許容する手段と、アクセス禁止信号が入力されたときに外部装置による機能ブロックへのアクセスを禁止する手段とを有するマイクロコントローラが開示されている。例えば、マイクロコントローラＡ、Ｂを組み合わせて構成されるシステムにおいて、マイクロコントローラＡの機能ブロック１とマイクロコントローラＢの機能ブロック２とに同一のアドレスが割り当てられている場合にも、外部装置からマイクロコントローラＢにアクセス禁止信号を入力することで、外部装置によるマイクロコントローラＡの機能ブロック１へのアクセスのみを実施できる。
【０００４】
特許文献２には、ＬＣＤコントローラドライバ機能を有するマイクロコントローラのエバチップにおいて、汎用メモリとＬＣＤ表示用メモリとのアドレス連続性を確保するために、エミュレータのプログラムにより汎用メモリの容量を変更すると共に、ＬＣＤ表示用メモリのアドレスをレジスタの設定値に応じて変更する技術が開示されている。また、特許文献３には、割込要求とベクタアドレス（割込処理プログラムの開始アドレス）との対応関係を切り替える信号を入力するための外部入力端子を有するマイクロコントローラが開示されている。このようなマイクロコントローラでは、外部入力端子からのベクタセレクト信号により割込要求とベクタアドレスとの対応関係を切り替えることができるため、プログラムメモリの書き換えを実施することなく、１つの割込要求により複数の割込処理プログラムを選択的に実行できる。
【特許文献１】特開平５−１８９２６４号公報（図１、図２）
【特許文献２】特開平６−３３８５５１号公報（図２）
【特許文献３】特開平９−３０５４１３号公報（［０００９］〜［００１２］）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以下に示す課題を解決するためになされた。共通エバチップは、ある製品チップＡには搭載されないが別の製品チップＢには搭載される周辺リソースやメモリを有している。このため、共通エバチップを使用して製品チップＡのユーザプログラムを開発する場合、プログラム開発者が、製品チップＡには搭載されない周辺リソースやメモリの機能を使用するユーザプログラムを誤って開発してしまう恐れがある。このような誤って開発されたユーザプログラムを製品チップＡに搭載してしまうと、製品チップＡは正常に動作しない。この問題を回避するために製品チップ毎に一対一で対応するエバチップを提供することが考えられるが、開発工数の増大やコストアップの要因となってしまう。
【０００６】
また、共通エバチップでは、搭載される周辺リソースの数が製品チップより多いため、周辺リソースからの割込要求の数も製品チップより多くなる。共通エバチップにおいて、周辺リソースからの割込要求毎に一対一で割込番号を割り当てると、製品チップによっては、搭載されない周辺モジュールからの割込要求に割り当てられた割込番号が存在するため、製品チップでの割込番号の連続性が失われる場合がある。特に、割込番号毎に割込処理プログラムの開始アドレスを指定するベクタテーブル方式が採用されている場合、製品チップにおいて周辺リソースからの割込要求に不連続な割込番号が割り当てられると、プログラムメモリにおける使用しない割込番号に対応する領域が空き領域となり、プログラムメモリが無駄に消費される。割込番号の連続性を確保するために共通エバチップと製品チップとで異なる割込番号を割り当てることが考えられるが、誤った設定処理を含むプログラムが製品チップに搭載されてしまう場合がある。
【０００７】
本発明の目的は、エバチップを使用したユーザプログラムの開発時に、誤ったプログラムの開発を防止することにある。本発明の別の目的は、製品チップでの割込番号の連続性を確保し、ベクタテーブル方式が採用されている場合でも、プログラムメモリの無駄な消費を回避することにある。
【課題を解決するための手段】
【０００８】
本発明のマイクロコントローラの第１形態では、処理回路は、プログラムに従って動作する。周辺回路制御レジスタは、複数の周辺回路にそれぞれ対応する複数のビットを有する。アクセス制御回路は、処理回路による複数の周辺回路のいずれかへのアクセスの発生に応答して、周辺回路制御レジスタにおけるアクセス先の周辺回路に対応するビットがセット状態であるときに、アクセス先の周辺回路へのアクセス信号を活性化させる。換言すれば、アクセス制御回路は、周辺回路制御レジスタにおけるアクセス先の周辺回路に対応するビットがリセット状態であるときには、アクセス先の周辺回路へのアクセス信号を活性化させない。すなわち、周辺回路制御レジスタにおけるアクセス先の周辺回路に対応するビットがリセット状態であるときには、その周辺回路への処理回路によるアクセスは実施されない。
【０００９】
このため、例えば、本発明を適用した共通エバチップを使用してユーザプログラムを開発する際に、製品チップに搭載される周辺回路に対応する周辺回路制御レジスタのビットをセット状態に設定することで、エバチップの周辺回路に関連する機能仕様を製品チップと等価にすることができる。この結果、製品チップに搭載されない周辺回路への処理回路によるアクセス処理を含むような誤ったユーザプログラムが開発されることを防止できる。
【００１０】
本発明のマイクロコントローラの前記第１形態の好ましい例では、アクセス制御回路のデコード回路は、処理回路のアクセス先を示すアクセス先アドレスに応じて、複数の周辺回路へのアクセス信号のいずれかを活性化させる。複数のマスク回路は、複数の周辺回路にそれぞれ対応して設けられる。各マスク回路は、周辺回路制御レジスタの対応するビットがリセット状態であるときに、対応する周辺回路へのアクセス信号をマスクする。これにより、周辺回路へのアクセス信号を制御するアクセス制御回路を容易に構成できる。
【００１１】
本発明のマイクロコントローラの前記第１形態の好ましい例では、マイクロコントローラは、通常動作モードおよび特権動作モードを有している。ここで、通常動作モードは、処理回路がユーザプログラムに従って動作するモードである。特権動作モードは、処理回路がユーザプログラムとは別のプログラムに従って動作するモードである。アクセス制御回路は、特権動作モード時に、処理回路による周辺回路制御レジスタへのアクセスの発生に応答して、周辺回路制御レジスタへのアクセス信号を活性化させる。換言すれば、アクセス制御回路は、通常動作モード時には、処理回路による周辺回路制御レジスタへのアクセスが発生しても、周辺回路制御レジスタへのアクセス信号を活性化させない。
【００１２】
このため、通常動作モード時に、処理回路による周辺回路制御レジスタへのアクセスが実施されることはなく、周辺回路制御レジスタのビットのセット・リセット状態が変更されることはない。この結果、ユーザプログラムの開発時に、周辺回路制御レジスタの各ビットのセット・リセット状態がユーザプログラムにより誤って変更され、製品チップとエバチップとの機能仕様の等価性が失われることを防止できる。従って、誤ったユーザプログラムの開発をより確実に防止できる。
【００１３】
本発明のマイクロコントローラの第２形態では、処理回路は、プログラムに従って動作する。メモリ制御レジスタは、メモリのアクセス領域を指定する。アクセス制御回路は、処理回路によるメモリへのアクセスの発生に応答して、アクセス先がメモリ制御レジスタにより指定されるアクセス領域に含まれるときに、メモリへのアクセス信号を出力する。換言すれば、アクセス制御回路は、アクセス先がメモリ制御レジスタにより指定されるアクセス領域に含まれないときには、メモリへのアクセス信号を活性化させない。すなわち、処理回路のアクセス先がメモリ制御レジスタにより指定されるアクセス領域に含まれないときには、メモリへの処理回路によるアクセスは実施されない。
【００１４】
このため、例えば、本発明を適用した共通エバチップを使用してユーザプログラムを開発する際に、製品チップに搭載されるメモリの容量に対応するアクセス領域をメモリ制御レジスタに設定することで、エバチップのメモリに関連する機能仕様を製品チップと等価にすることができる。この結果、製品チップに搭載されるメモリの容量に対応するアクセス領域を除くメモリ領域へのアクセス処理を含むような誤ったユーザプログラムが開発されることを防止できる。
【００１５】
本発明のマイクロコントローラの前記第２形態の好ましい例では、メモリ制御レジスタの第１および第２レジスタは、メモリのアクセス領域の開始アドレスおよび終了アドレスをそれぞれ指定する。アクセス制御回路の比較回路は、処理回路のアクセス先を示すアクセス先アドレスを第１および第２レジスタにより指定されるアドレスとそれぞれ比較し、アクセス先アドレスが第１レジスタにより指定されるアドレス以上かつ第２レジスタにより指定されるアドレス以下であるときに、メモリへのアクセス信号を活性化させる。これにより、メモリへのアクセス信号を制御するアクセス制御回路を容易に構成できる。
【００１６】
本発明のマイクロコントローラの前記第２形態の好ましい例では、マイクロコントローラは、前記第１形態と同様に、通常動作モードおよび特権動作モードを有している。アクセス制御回路は、特権動作モード時に、処理回路によるメモリ制御レジスタへのアクセスの発生に応答して、メモリ制御レジスタへのアクセス信号を活性化させる。換言すれば、アクセス制御回路は、通常動作モード時には、処理回路によるメモリ制御レジスタへのアクセスが発生しても、メモリ制御レジスタへのアクセス信号を活性化させない。
【００１７】
このため、通常動作モード時に、処理回路によるメモリ制御レジスタへのアクセスが実施されることはなく、メモリ制御レジスタにより指定されるアクセス領域が変更されることはない。この結果、ユーザプログラムの開発時に、メモリ制御レジスタにより指定されるアクセス領域がユーザプログラムにより誤って変更され、製品チップとエバチップとの機能仕様の等価性が失われることを防止できる。従って、誤ったユーザプログラムの開発をより確実に防止できる。
【００１８】
本発明のマイクロコントローラの第３形態では、複数の周辺回路は、第１割込要求をそれぞれ出力する。割込要求制御レジスタは、複数の周辺回路からの第１割込要求と複数の第２割込要求との対応関係を指定する。割込要求入換回路は、割込要求制御レジスタにより指定される対応関係に応じて、複数の周辺回路からの第１割込要求を複数の第２割込要求に置換して出力する。処理回路は、プログラムに従って動作し、複数の第２割込要求に応じて、複数の第２割込要求にそれぞれ対応する複数の割込処理のいずれかを実行する。
【００１９】
このため、例えば、本発明を適用した共通エバチップを使用してユーザプログラムを開発する際に、製品チップに搭載される複数の周辺回路からの第１割込要求が、割込処理の実行時に処理回路により認識される割込番号が互いに連続する複数の第２割込要求に置換されるように、割込要求制御レジスタにより指定される対応関係を設定することで、製品チップでの割込番号の連続性を確保できる。この結果、ベクタテーブル方式が採用されている場合でも、プログラムメモリの無駄な消費を回避できる。
【００２０】
本発明のマイクロコントローラの前記第３形態の好ましい例では、割込要求制御レジスタの複数のサブレジスタは、複数の第２割込要求にそれぞれ対応して設けられ、複数の周辺回路からの第１割込要求のいずれかをそれぞれ指定する。割込要求入換回路の複数の選択回路は、複数の割込要求にそれぞれ対応して設けられる。各選択回路は、対応するサブレジスタにより指定される第１割込要求を、対応する第２割込要求として出力する。
【００２１】
このため、ユーザプログラムの開発時に、製品チップに搭載される複数の周辺回路からの第１割込要求が、互いに割込番号が連続する複数の第２割込要求にそれぞれ対応する複数の選択回路によりそれぞれ選択されるように、複数のサブレジスタをそれぞれ設定することで、製品チップでの割込番号の連続性を確保できる。
本発明のマイクロコントローラの前記第３形態の好ましい例では、割込要求制御レジスタの複数のサブレジスタは、複数の周辺回路からの第１割込要求にそれぞれ対応して設けられる。各サブレジスタは、複数の第２割込要求にそれぞれ対応する複数のビットを有している。割込要求入換回路の複数の割当回路は、複数の周辺回路からの第１割込要求にそれぞれ対応して設けられる。各割当回路は、対応する第１割込要求を、複数の第２割込要求にそれぞれ対応する複数の第３割込要求のうち、対応するサブレジスタにおけるセット状態のビットに対応する第３割込要求として出力する。割込要求入換回路の複数の合成回路は、複数の第２割込要求にそれぞれ対応して設けられる。各合成回路は、複数の割当回路からの第３割込要求のうち、同一の第２割込要求に対応する複数の第３割込要求を、対応する第２割込要求として共通に出力する。
【００２２】
このため、ユーザプログラムの開発時に、製品チップに搭載される複数の周辺回路からの第１割込要求が、互いに割込番号が連続する複数の第２割込要求にそれぞれ対応する合成回路にそれぞれ入力されるように、複数のサブレジスタをそれぞれ設定することで、製品チップでの割込番号の連続性を確保できる。また、同一のサブレジスタにおける複数のビットを共にセット状態に設定することで、１つの第１割込要求を複数の第２割込要求として出力させることができる。従って、製品チップに搭載される周辺回路からの第１割込要求の数が第２割込要求より多い場合にも、周辺回路からの第１割込要求の全てを第２割込要求として出力させることができる。
【００２３】
本発明のマイクロコントローラの前記第３形態の好ましい例では、マイクロコントローラは、前記第１形態と同様に、通常動作モードおよび特権動作モードを有している。アクセス制御回路は、通常動作モード時に、割込要求制御レジスタへのアクセス信号を非活性レベルに固定する。すなわち、アクセス制御回路は、通常動作モード時には、処理回路による割込要求制御レジスタへのアクセスが発生しても、割込要求制御レジスタへのアクセス信号を活性化させない。アクセス制御回路は、特権動作モード時に、処理回路による割込要求制御レジスタへのアクセスの発生に応答して、割込要求制御レジスタへのアクセス信号を活性化させる。
【００２４】
このため、通常動作モード時に、処理回路による割込要求制御レジスタへのアクセスが実施されることはなく、割込要求制御レジスタにより指定される対応関係が変更されることはない。この結果、ユーザプログラムの開発時に、割込要求制御レジスタにより指定される対応関係がユーザプログラムにより誤って変更され、製品チップでの割込番号の連続性が失われることをより確実に防止できる。
【発明の効果】
【００２５】
本発明のマイクロコントローラでは、ユーザプログラムの開発時に、エバチップと製品チップとを機能的に等価にでき、製品チップに搭載されない周辺回路への処理回路によるアクセス処理あるいは製品チップに搭載されるメモリの容量に対応するアクセス領域を除くメモリ領域への処理回路によるアクセス処理を含むような誤ったプログラムの開発を防止できる。また、製品チップでの割込番号の連続性を確保でき、ベクタテーブル方式が採用されている場合でも、プログラムメモリの無駄な消費を回避できる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を用いて本発明の実施形態を説明する。図１は、本発明のマイクロコントローラの第１実施形態を示している。マイクロコントローラ１００は、例えば、複数の製品チップの機能仕様を網羅して構成される共通エバチップである。マイクロコントローラ１００は、ＣＰＵ１０（処理回路）、製品チップにおいてＣＰＵ１０が実行するユーザプログラムや各種データを格納するためのＲＯＭ１２（例えば、フラッシュメモリ）、ＣＰＵ１０の演算結果等の各種データを一時的に格納するＲＡＭ１４、８個の周辺リソース１６０〜１６７（周辺回路）、割込要求入換回路１８、割込制御回路２０、メモリ制御レジスタ２２、周辺リソース制御レジスタ２４（周辺回路制御レジスタ）、割込要求制御レジスタ２６、デコーダ２８（アクセス制御回路）を有している。
【００２７】
また、マイクロコントローラ１００は、ＣＰＵ１０がユーザプログラムに従って動作するユーザモード（通常動作モード）と、ＣＰＵ１０がデバッグプログラムに従って動作するデバッグモード（特権動作モード）とを有している。マイクロコントローラ１００は、例えば、エミュレータ用のインタフェース回路（図示せず）を有しており、このインタフェース回路を介して、エミュレータとの間でデータの授受が可能である。プログラム開発者は、エミュレータを使用して、製品チップに搭載するユーザプログラムを開発する。
【００２８】
ＣＰＵ１０は、ユーザモード時に、エミュレータ側のユーザプログラムに従って各種処理（命令）を実行する。ＣＰＵ１０は、デバッグモード時に、エミュレータ側のデバッグプログラムに従って各種処理を実行する。また、ＣＰＵ１０は、デバッグモード時にデバッグモード信号ＤＭを活性化させる。すなわち、デバッグモード信号ＤＭは、通常動作モード時には、非活性レベルに固定される。ＣＰＵ１０は、アクセス処理時に、アドレス信号ＡＤをアクセス先のアドレスを示すレベルに変化させるとともに、アクセス内容に応じてライト信号またはリード信号（図示せず）のいずれかを活性化させる。ＣＰＵ１０は、データバスＤＢを介して、ＲＯＭ１２、ＲＡＭ１４、周辺リソース１６０〜１６７、割込制御回路２０、メモリ制御レジスタ２２、周辺リソース制御レジスタ２４および割込要求制御レジスタ２６と接続されおり、これらとの間でデータの授受が可能である。また、ＣＰＵ１０は、割込制御回路２０から出力される割込要求信号ＩＲＱの活性化に応答して、割込番号信号ＮＵＭが示す割込番号に対応する割込処理を実行する。
【００２９】
マイクロコントローラ１００は、例えば、ベクタテーブル方式を採用している。従って、ＣＰＵ１０は、割込要求信号ＩＲＱの活性化に応答して、ユーザプログラム内のベクタテーブルを参照することで、割込番号信号ＮＵＭが示す割込番号に対応するベクタアドレス（割込処理プログラムの開始アドレス）を取得する。そして、ＣＰＵ１０は、取得したベクタアドレスの割込処理プログラムに従って割込処理を実行する。なお、マイクロコントローラ１００は、ベクタテーブル方式に代えて、割込番号に対応するベクタアドレスが固定される方式を採用していてもよい。
【００３０】
周辺リソース１６０〜１６７は、タイマ機能や通信インタフェース機能等を有する回路である。周辺リソース１６０〜１６７は、それぞれ予め設定された条件が成立したときに、割込要求信号ＩＲＱ１０〜ＩＲＱ１７（第１割込要求）を活性化させる。割込要求入換回路１８は、割込要求制御レジスタ２６から出力されるレジスタ値信号ＩＳ１０〜ＩＳ１３に応じて、周辺回路１６０〜１６７からそれぞれ出力される割込要求信号ＩＲＱ１０〜ＩＲＱ１７を、割込要求信号ＩＲＱ２０〜ＩＲＱ２３（第２割込要求）に置換して割込制御回路２０に出力する。割込制御回路２０は、割込要求入換回路１８から出力される割込要求信号ＩＲＱ２０〜ＩＲＱ２３の活性化にそれぞれ応答して、ＣＰＵ１０への割込番号信号ＮＵＭを、活性化した割込要求信号に予め割り当てられた割込番号を示すレベルに変化させると共に、ＣＰＵ１０への割込要求信号ＩＲＱを活性化させる。
【００３１】
メモリ制御レジスタ２２は、ＲＯＭ１２のアクセス領域の開始アドレスおよび終了アドレスをそれぞれ示す開始アドレス信号ＳＡ０および終了アドレス信号ＥＡ０と、ＲＡＭ１４のアクセス領域の開始アドレスおよび終了アドレスをそれぞれ示す開始アドレス信号ＳＡ１および終了アドレス信号ＥＡ１とをデコーダ２８に出力する。周辺リソース制御レジスタ２４は、周辺リソース１６０〜１６７にそれぞれ対応する８個のビットを有し、各ビットのビット値をビット値信号Ｂ０〜Ｂ７としてデコーダ２８にそれぞれ出力する。メモリ制御レジスタ２２および周辺リソース制御レジスタ２４の詳細については、図２で説明する。割込要求制御レジスタ２６は、レジスタ値信号ＩＳ１０〜ＩＳ１３を割込要求入換回路１８に出力する。割込要求制御レジスタ２６の詳細については、割込要求入換回路１８と共に図３で説明する。
【００３２】
デコーダ２８は、ＣＰＵ１０から出力されるアドレス信号ＡＤおよびデバッグモード信号ＤＭに基づいて、メモリ制御レジスタ２２へのアクセス信号ＡＲ０、周辺リソース制御レジスタ２４へのアクセス信号ＡＲ１および割込要求制御レジスタ２６へのアクセス信号ＡＲ２をそれぞれ活性化させる。デコーダ２８は、アドレス信号ＡＤとメモリ制御レジスタ２２から出力される開始アドレス信号ＳＡ０および終了アドレス信号ＥＡ０とに基づいて、ＲＯＭ１２へのアクセス信号ＡＭ０を活性化させる。デコーダ２８は、アドレス信号ＡＤとメモリ制御レジスタ２２から出力される開始アドレス信号ＳＡ１および終了アドレス信号ＥＡ１とに基づいて、ＲＡＭ１４へのアクセス信号ＡＭ１を活性化させる。デコーダ２８は、アドレス信号ＡＤと周辺リソース制御レジスタ２４から出力されるビット値信号Ｂ０（Ｂ１〜Ｂ７）とに基づいて、周辺リソース１６０（１６１〜１６７）へのアクセス信号ＡＰ０（ＡＰ１〜ＡＰ７）を活性化させる。デコーダ２８は、アドレス信号ＡＤに基づいて、割込制御回路２０へのアクセス信号ＡＩＣを活性化させる。
【００３３】
ＲＯＭ１２は、デコーダ２８から出力されるアクセス信号ＡＭ０の活性化中、かつＣＰＵ１０から出力されるリード信号の活性化中に、ＣＰＵ１０から出力されるアドレス信号ＡＤが示すアドレスのデータを、データバスＤＢを介してＣＰＵ１０に出力する。ＲＡＭ１４は、デコーダ２８から出力されるアクセス信号ＡＭ１の活性化中、かつＣＰＵ１０から出力されるライト信号の活性化中に、アドレス信号ＡＤが示すアドレスに、データバスＤＢを介してＣＰＵ１０から出力されるデータを取り込む。ＲＡＭ１４は、アクセス信号ＡＭ１の活性化中、かつＣＰＵ１０から出力されるリード信号の活性化中に、アドレス信号ＡＤが示すアドレスのデータを、データバスＤＢを介してＣＰＵ１０に出力する。
【００３４】
周辺回路１６０〜１６７および割込制御回路２０は、デコーダ２８から自身に出力されるアクセス信号の活性化中、かつＣＰＵ１０から出力されるライト信号の活性化中に、データバスＤＢを介してＣＰＵ１０から出力されるデータを内部レジスタにそれぞれ取り込む。周辺回路１６０〜１６７および割込制御回路２０は、デコーダ２８から自身に出力されるアクセス信号の活性化中、かつＣＰＵ１０から出力されるリード信号の活性化中に、内部レジスタのデータを、データバスＤＢを介してＣＰＵ１０にそれぞれ出力する。
【００３５】
図２は、図１のメモリ制御レジスタ２２、周辺リソース制御レジスタ２４およびデコーダ２８を示している。メモリ制御レジスタ２２は、ＲＯＭ１２のアクセス領域の開始アドレスおよび終了アドレスをそれぞれ指定するレジスタＳＡＲ０、ＥＡＲ０と、ＲＡＭ１４のアクセス領域の開始アドレスおよび終了アドレスをそれぞれ指定するレジスタＳＡＲ１、ＥＡＲ１とを有している。レジスタＳＡＲ０、ＳＡＲ１（第１レジスタ）は、レジスタ値を開始アドレス信号ＳＡ０、ＳＡ１としてそれぞれ出力する。レジスタＥＡＲ０、ＥＡＲ１（第２レジスタ）は、レジスタ値を終了アドレス信号ＥＡ０、ＥＡ１としてそれぞれ出力する。周辺リソース制御レジスタ２４は、周辺リソース１６０〜１６７にそれぞれ対応するビットＰＥ０〜ＰＥ７を有し、各ビットのビット値をビット値信号Ｂ０〜Ｂ７としてそれぞれ出力する。
【００３６】
デコーダ２８は、デコード回路ＤＥＣ、比較回路ＣＭＰ０、ＣＭＰ１、ＡＮＤ回路ＧＰ０〜ＧＰ７（マスク回路）、ＡＮＤ回路ＧＲ０〜ＧＲ２を有している。デコード回路ＤＥＣは、ＣＰＵ１０から出力されるアドレス信号ＡＤに応じて、アクセス信号ＡＭ０Ｓ、ＡＭ１Ｓ、ＡＰ０Ｓ〜ＡＰ７Ｓ、ＡＲ０Ｓ〜ＡＲ２Ｓのいずれかを活性化させる。具体的には、デコード回路ＤＥＣは、アドレス信号ＡＤがＲＯＭ１２（ＲＡＭ１４）に割り当てられたアドレスを示すときに、アクセス信号ＡＭ０Ｓ（ＡＭ１Ｓ）を高レベルに活性化させる。デコード回路ＤＥＣは、アドレス信号ＡＤが周辺回路１６０（１６１〜１６７）に割り当てられたアドレスを示すときに、アクセス信号ＡＰ０Ｓ（ＡＰ１Ｓ〜ＡＰ７Ｓ）を高レベルに活性化させる。デコード回路ＤＥＣは、アドレス信号ＡＤがメモリ制御レジスタ２２（周辺リソース制御レジスタ２４、割込要求制御レジスタ２６）に割り当てられたアドレスを示すときに、アクセス信号ＡＲ０Ｓ（ＡＲ１Ｓ、ＡＲ２Ｓ）を高レベルに活性化させる。デコード回路ＤＥＣは、アドレス信号ＡＤが割込制御回路２０に割り当てられたアドレスを示すときに、アクセス信号ＡＩＣを高レベルに活性化させる。
【００３７】
比較回路ＣＭＰ０は、アドレス信号ＡＤが示すアドレスが、開始アドレス信号ＳＡ０が示すＲＯＭ１２のアクセス領域の開始アドレス以上かつ終了アドレス信号ＥＡ０が示すＲＯＭ１２のアクセス領域の終了アドレス以下であるときに、アクセス信号ＡＭ０を活性化させる。同様に、比較回路ＣＭＰ１は、アドレス信号ＡＤが示すアドレスが、開始アドレス信号ＳＡ１が示すＲＡＭ１４のアクセス領域の開始アドレス以上かつ終了アドレス信号ＥＡ１が示すＲＡＭ１４のアクセス領域の終了アドレス以下であるときに、アクセス信号ＡＭ１を活性化させる。従って、アドレス信号ＡＤがＲＯＭ１２（ＲＡＭ１４）に割り当てられたアドレスを示すときに、アドレス信号ＡＤが示すアドレスがメモリ制御レジスタ２２により指定されるアクセス領域から外れている場合には、アクセス信号ＡＭ０（ＡＭ１）は活性化されない。すなわち、アドレス信号ＡＤが示すアドレスがメモリ制御レジスタ２２により指定されるアクセス領域から外れている場合には、ＣＰＵ１０によるＲＯＭ１２（ＲＡＭ１４）へのアクセスは実施されない。従って、デバッグモード時に、デバッグプログラムにより、製品チップに搭載されるＲＯＭ（ＲＡＭ）の容量に対応するアクセス領域の開始アドレスおよび終了アドレスをメモリ制御レジスタ２２に設定することで、エバチップのＲＯＭ（ＲＡＭ）に関する機能仕様が製品チップと等価になる。
【００３８】
ＡＮＤ回路ＧＲ０（ＧＲ１、ＧＲ２）は、ＣＰＵ１０から出力されるデバッグモード信号ＤＭが高レベル（”論理１”）であるときに、デコード回路ＤＥＣから出力されるアクセス信号ＡＲ０Ｓ（ＡＲ１Ｓ、ＡＲ２Ｓ）を、アクセス信号ＡＲ０（ＡＲ１、ＡＲ２）として出力する。すなわち、デバッグモード信号ＤＭが低レベル（”論理０”）であるときに、アクセス信号ＡＲ０Ｓ（ＡＲ１Ｓ、ＡＲ２Ｓ）は、ＡＮＤ回路ＧＲ０（ＧＲ１、ＧＲ２）によりマスクされる。従って、ユーザモード時に、アドレス信号ＡＤがメモリ制御レジスタ２２（周辺リソース制御レジスタ２４、割込要求制御レジスタ２６）に割り当てられたアドレスを示すときに、アクセス信号ＡＲ０（ＡＲ１、ＡＲ２）は活性化されない。すなわち、ユーザモード時に、ＣＰＵによるメモリ制御レジスタ２２（周辺リソース制御レジスタ２４、割込要求制御レジスタ２６）へのアクセスは実施されない。換言すれば、ユーザモード時に、メモリ制御レジスタ２２（周辺リソース制御レジスタ２４、割込要求制御レジスタ２６）のレジスタ値が変更されることはない。
【００３９】
ＡＮＤ回路ＧＰ０（ＧＰ１〜ＧＰ７）は、周辺リソース制御レジスタ２４のビットＰＥ０（ＰＥ１〜ＰＥ７）がセット状態（”論理１”）であるときに、デコード回路ＤＥＣから出力されるアクセス信号ＡＰ０Ｓ（ＡＰ１Ｓ〜ＡＰ７Ｓ）を、アクセス信号ＡＰ０（ＡＰ１〜ＡＰ７）として出力する。すなわち、周辺リソース制御レジスタ２４のビットＰＥ０（ＰＥ１〜ＰＥ７）がリセット状態（”論理０”）であるときに、アクセス信号ＡＰ０Ｓ（ＡＰ１Ｓ〜ＡＰ７Ｓ）は、ＡＮＤ回路ＧＰ０（ＧＰ１〜ＧＰ７）によりマスクされる。従って、周辺リソース制御レジスタ２４のビットＰＥ０（ＰＥ１〜ＰＥ７）がリセット状態であれば、アドレス信号ＡＤが周辺リソース１６０（１６１〜１６７）に割り当てられたアドレスを示すときに、アクセス信号ＡＰ０（ＡＰ１〜ＡＰ１）は活性化されない。すなわち、周辺リソース制御レジスタ２４のビットＰＥ０（ＰＥ１〜ＰＥ７）がリセット状態であるときに、ＣＰＵ１０による周辺リソース１６０（１６１〜１６７）へのアクセスは実施されない。従って、デバッグモード時に、デバッグプログラムにより、製品チップに搭載される周辺リソースに対応する周辺回路制御レジスタ２４のビットをセット状態に設定することで、エバチップの周辺リソースに関連する機能仕様が製品チップと等価になる。
【００４０】
図３は、図１の割込要求入換回路１８および割込要求制御レジスタ２６を示している。割込要求制御レジスタ２６は、割込制御回路への割込要求信号ＩＲＱ２０〜ＩＲＱ２３にそれぞれ対応する３ビットのレジスタＩＳＲ１０〜ＩＳＲ１３（サブレジスタ）を有している。レジスタＩＳＲ１０〜ＩＳＲ１３は、レジスタ値をレジスタ値信号ＩＳ１０〜ＩＳ１３としてそれぞれ出力する。割込要求入換回路１８は、割込制御回路２０への割込要求信号ＩＲＱ２０〜ＩＲＱ２３にそれぞれ対応するセレクタＳＥＬ０〜ＳＥＬ３（選択回路）を有している。
【００４１】
セレクタＳＥＬ０（ＳＥＬ１〜ＳＥＬ３）は、レジスタＩＳＲ１０（ＩＳＲ１１〜ＩＳＲ１３）から出力されるレジスタ値信号ＩＳ１０（ＩＳ１１〜ＩＳ１３）に応じて、周辺リソース１６０〜１６７からの割込要求信号ＩＲＱ１０〜ＩＲＱ１７のいずれかを割込要求信号ＩＲＱ２０（ＩＲＱ２１〜ＩＲＱ２３）として割込制御回路２０に出力する。具体的には、セレクタＳＥＬ０（ＳＥＬ１〜ＳＥＬ３）は、レジスタＩＳＲ１０（ＩＳＲ１１〜ＩＳＲ１３）のレジスタ値（３ビット）が１０進数”ｎ”（ｎ＝０、１、・・・、７）を示すときに、周辺回路１６ｎからの割込要求信号ＩＲＱ１ｎを、割込制御回路２０への割込要求信号ＩＲＱ２０（ＩＲＱ２１〜ＩＲＱ２３）として出力する。従って、デバッグモード時に、デバッグプログラムにより、製品チップに搭載される複数の周辺リソースからの割込要求信号がセレクタＳＥＬ０〜ＳＥＬ３によりそれぞれ選択されるように、割込要求制御レジスタ２６のレジスタＩＳＲ１０〜ＩＳＲ１３のレジスタ値を設定することで、製品チップでの割込番号の連続性が確保される。
【００４２】
図４は、図１のマイクロコントローラ１００の比較例を示している。マイクロコントローラ１００の比較例を説明するにあたって、図１〜図３で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。マイクロコントローラ１５０は、例えば、マイクロコントローラ１００と同様に、共通エバチップである。マイクロコントローラ１５０は、ＣＰＵ１０、ＲＯＭ１２、ＲＡＭ１４、周辺リソース１６０〜１６７、割込制御回路５０、デコーダ５２を有している。割込制御回路５０は、周辺リソース１６０〜１６７からそれぞれ出力される割込要求信号ＩＲＱ１０〜ＩＲＱ１７の活性化にそれぞれ応答して、ＣＰＵ１０への割込番号信号ＮＵＭを、活性化した割込要求信号に予め割り当てられた割込番号を示すレベルに変化させると共に、ＣＰＵ１０への割込要求信号ＩＲＱを活性化させる。デコーダ５２は、図２で示したデコード回路ＤＥＣと機能的に等価である。
【００４３】
このような構成のマイクロコントローラ１５０では、プログラム開発者が製品チップには搭載されない周辺リソースやメモリの機能を使用したユーザプログラムを誤って開発してしまう恐れがある。また、周辺リソース１６０〜１６７からの割込要求ＩＲＱ１０〜ＩＲＱ１７毎に一対一で割込番号が割り当てられており、製品チップによっては、搭載されない周辺モジュールからの割込要求に割り当てられた割込番号が存在するため、製品チップでの割込番号の連続性が失われる場合がある。このため、ベクタテーブル方式が採用されている場合、プログラムメモリが無駄に消費されてしまう。
【００４４】
以上、第１実施形態では、ユーザプログラムの開発時に、エバチップの周辺リソースに関連する機能仕様およびＲＯＭ（またはＲＡＭ）に関連する機能仕様を製品チップと等価にできるため、製品チップに搭載されない周辺リソースへのアクセス処理あるいは製品チップに搭載されるＲＯＭ（またはＲＡＭ）の容量に対応するアクセス領域を除くメモリ領域へのアクセス処理を含むような誤ったプログラムが開発されることを防止できる。また、製品チップでの割込番号の連続性を確保できるため、ベクタテーブル方式が採用されている場合でも、プログラムメモリの無駄な消費を防止できる。
【００４５】
ユーザモード時に、メモリ制御レジスタ２２、周辺リソース制御レジスタ２４および割込要求制御レジスタ２６のレジスタ値が変更されることはないため、ユーザプログラムにより、メモリ制御レジスタ２２、周辺リソース制御レジスタ２４、割込要求制御レジスタ２６のレジスタ値が誤って変更され、エバチップと製品チップとの機能仕様の等価性が失われることを防止できる。
【００４６】
図５は、本発明のマイクロコントローラの第２実施形態を示している。第２実施形態を説明するにあたって、第１実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。マイクロコントローラ２００は、例えば、第１実施形態のマイクロコントローラ１００と同様に、共通エバチップである。マイクロコントローラ２００は、ＣＰＵ１０、ＲＯＭ１２、ＲＡＭ１４、周辺リソース１６０〜１６７、割込要求入換回路３０、割込制御回路２０、メモリ制御レジスタ３２、周辺リソース制御レジスタ３４、割込要求制御レジスタ３６、デコーダ３８、４０、４２０〜４２７、４４を有している。
【００４７】
マイクロコントローラ２００は、マイクロコントローラ１００と同様に、ＣＰＵ１０がユーザプログラムに従って動作するユーザモードと、ＣＰＵ１０がデバッグプログラムに従って動作するデバッグモードとを有している。マイクロコントローラ２００は、例えば、マイクロコントローラ１００と同様に、エミュレータ用のインタフェース回路（図示せず）を有しており、このインタフェース回路を介して、エミュレータとの間でデータの授受が可能である。割込要求入換回路３０は、割込要求制御レジスタ３６から出力されるレジスタ値信号ＩＳ２０〜ＩＳ２７に応じて、周辺回路１６０〜１６７からそれぞれ出力される割込要求信号ＩＲＱ１０〜ＩＲＱ１７を割込要求信号ＩＲＱ２０〜ＩＲＱ２３に置換して割込制御回路２０に出力する。割込要求入換回路３０の詳細については、図６で説明する。
【００４８】
メモリ制御レジスタ３２は、第１実施形態のメモリ制御レジスタ２２に、デコード回路ＤＥＣにおけるアクセス信号ＡＲ０Ｓを生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＲ０とを加えて構成されている。周辺リソース制御レジスタ３４は、第１実施形態の周辺リソース制御レジスタ２４に、デコード回路ＤＥＣにおけるアクセス信号ＡＲ１Ｓを生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＲ１とを加えて構成されている。割込要求制御レジスタ３６は、レジスタ値信号ＩＳ２０〜ＩＳ２７を割込要求入換回路１８に出力する。また、割込要求制御レジスタ３６は、デコード回路ＤＥＣにおけるアクセス信号ＡＲ２Ｓを生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＲ２とを備えて構成されている。
【００４９】
デコーダ３８は、第１実施形態のデコード回路ＤＥＣにおけるアクセス信号ＡＭ０Ｓを生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＭ０とを備えて構成されている。デコーダ４０は、デコード回路ＤＥＣにおけるアクセス信号ＡＭ１Ｓを生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＭ１とを備えて構成されている。デコーダ４２０（４２１〜４２７）は、デコード回路ＤＥＣにおけるアクセス信号ＡＰ０Ｓ（ＡＰ１Ｓ〜ＡＰ７Ｓ）を生成する機能を具現するデコード回路と第１実施形態のＡＮＤ回路ＧＰ０（ＧＰ１〜ＧＰ７）とを備えて構成されている。デコーダ４４は、デコード回路ＤＥＣにおけるアクセス信号ＡＩＣを生成する機能を具現するデコード回路を備えて構成されている。このように、デコーダを回路毎に個別に構成することで、例えば、周辺リソースやメモリを追加する必要性が生じた場合に、追加する回路に対応するデコーダのみを新たに構成するだけでよく、回路の追加を容易に実施できる。
【００５０】
図６は、図５の割込要求入換回路３０および割込要求制御レジスタ３６を示している。割込要求制御レジスタ３６は、周辺リソース１６０〜１６７から出力される割込要求信号ＩＲＱ１０〜ＩＲＱ１７にそれぞれ対応するレジスタＩＳＲ２０〜ＩＳＲ２７（サブレジスタ）を有している。レジスタＩＳＲ２０（ＩＳＲ２１〜ＩＳＲ２７）は、割込制御回路２０への割込要求信号ＩＲＱ２０〜ＩＲＱ２３にそれぞれ対応する４ビットを有し、レジスタ値をレジスタ値信号ＩＳ２０（ＩＳ２１〜ＩＳ２７）として出力する。
【００５１】
割込要求入換回路３０は、周辺リソース１６０〜１６７からそれぞれ出力される割込要求信号ＩＲＱ１０〜ＩＲＱ１７にそれぞれ対応する複数組のＡＮＤ回路Ｇ０〜Ｇ３（割当回路）と、割込制御回路２０への割込要求信号ＩＲＱ２０〜ＩＲＱ２３にそれぞれ対応するＯＲ回路ＯＲ０〜ＯＲ３（合成回路）とを有している。
割込要求信号ＩＲＱ１０に対応するＡＮＤ回路Ｇ０は、レジスタＩＳＲ２０の最下位のビットがセット状態であるとき、すなわちレジスタ値信号ＩＳ２０の最下位の信号が”論理１”を示すときに、割込要求信号ＩＲＱ１０を割込要求信号ＩＲＱ３００（第３割込要求）としてＯＲ回路ＯＲ０に出力する。割込要求信号ＩＲＱ１０に対応するＡＮＤ回路Ｇ１は、レジスタＩＳＲ２０の下位から２番目のビットがセット状態であるとき、すなわちレジスタ値信号ＩＳ０の下位から２番目の信号が”論理１”を示すときに、割込要求信号ＩＲＱ１０を割込要求信号ＩＲＱ３０１としてＯＲ回路ＯＲ１に出力する。割込要求信号ＩＲＱ１０に対応するＡＮＤ回路Ｇ２は、レジスタＩＳＲ２０の下位から３番目のビットがセット状態であるとき、すなわちレジスタ値信号ＩＳ０の下位から３番目の信号が”論理１”を示すときに、割込要求信号ＩＲＱ１０を割込要求信号ＩＲＱ３０２としてＯＲ回路ＯＲ２に出力する。割込要求信号ＩＲＱ２０に対応するＡＮＤ回路Ｇ３は、レジスタＩＳＲ０の最上位のビットがセット状態であるとき、すなわちレジスタ値信号ＩＳ２０の最上位の信号が”論理１”を示すときに、割込要求信号ＩＲＱ１０を割込要求信号ＩＲＱ３０３としてＯＲ回路ＯＲ３に出力する。割込要求信号ＩＲＱ１１（ＩＲＱ１２〜ＩＲＱ１７）に対応するＡＮＤ回路Ｇ０〜Ｇ３、レジスタＩＳＲ２１（ＩＳＲ２２〜ＩＳＲ２７）およびＯＲ回路ＯＲ０〜ＯＲ３の関係は、前述した割込要求信号ＩＲＱ１０に対応するＡＮＤ回路Ｇ０〜Ｇ３、レジスタＩＳＲ２０およびＯＲ回路ＯＲ０〜ＯＲ３の関係と同一である。
【００５２】
ＯＲ回路ＯＲ０（ＯＲ１、ＯＲ２、ＯＲ３）は、割込要求信号ＩＲＱ１０〜ＩＲＱ１７にそれぞれ対応する８個のＡＮＤ回路Ｇ０（Ｇ１、Ｇ２、Ｇ３）からそれぞれ出力される割込要求信号ＩＲＱ３００〜ＩＲＱ３７０（ＩＲＱ３０１〜ＩＲＱ３７１、ＩＲＱ３０２〜ＩＲＱ３７２、ＩＲＱ３０３〜ＩＲＱ３７３）の高レベルへの活性化にそれぞれ応答して、割込要求信号ＩＲＱ２０（ＩＲＱ２１〜ＩＲＱ２３）を高レベルに活性化させる。従って、デバッグモード時に、デバッグプログラムにより、製品チップに搭載される複数の周辺リソースからの割込要求信号がＯＲ回路ＯＲ０〜ＯＲ３にそれぞれ入力されるように、割込要求制御レジスタ２６のレジスタＩＳＲ２０〜ＩＳＲ２３のレジスタ値を設定することで、製品チップでの割込番号の連続性が確保される。
【００５３】
図７は、図５のマイクロコントローラ２００の比較例を示している。マイクロコントローラ２００の比較例を説明するにあたって、図１、図４および図５で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。マイクロコントローラ２５０は、図４のマイクロコントローラ１５０からデコーダ５２を取り除き、図５のデコーダ４４およびデコーダ５４、５６、５８０〜５８７を加えて構成されている。
【００５４】
デコーダ５４は、第１実施形態のデコード回路ＤＥＣにおけるアクセス信号ＡＭ０Ｓを生成する機能を具現するデコード回路を備えて構成されている。デコーダ５６は、デコード回路ＤＥＣにおけるアクセス信号ＡＭ１Ｓを生成する機能を具現するデコード回路を備えて構成されている。デコーダ５８０（５８１〜５８７）は、デコード回路ＤＥＣにおけるアクセス信号ＡＰ０Ｓ（ＡＰ１Ｓ〜ＡＰ７Ｓ）を生成する機能を具現するデコード回路を備えて構成されている。このようなマイクロコントローラ２５０は、デコーダに関連する部分を除いて図４のマイクロコントローラ１５０と同一であり、マイクロコントローラ１５０と同様の問題点を有している。
【００５５】
以上、第２実施形態でも、第１実施形態と同様の効果が得られる。さらに、割込要求制御レジスタ３６のレジスタＩＳＲ２０〜ＩＳＲ２７において、同一レジスタ内の複数のビットを共にセット状態に設定することで、周辺リソースからの１つの割込要求を割込制御回路２０への複数の割込要求として出力させることができる。従って、製品チップに搭載される周辺リソースからの割込要求の数が割込制御回路２０への割込要求より多い場合にも、周辺リソースからの割込要求の全てを割込制御回路２０への割込要求として出力させることができる。
【００５６】
なお、第１および第２実施形態では、デバッグモード信号ＤＭがＣＰＵ１０から出力される例について述べた。しかしながら、本発明はかかる実施形態に限定されるものではない。例えば、デバッグモード信号ＤＭは、エミュレータ用のインタフェース回路あるいはマイクロコントローラの動作モードを識別できるその他の回路から出力されてもよい。
第１および第２実施形態では、メモリ制御レジスタが、ＲＯＭ１２（ＲＡＭ１４）に対応してレジスタＳＡＲ０、ＥＡＲ０（ＳＡＲ１、ＥＡＲ１）の双方を有する例について述べた。しかしながら、本発明はかかる実施形態に限定されるものではない。例えば、複数の製品チップにおいて、ＲＯＭ（ＲＡＭ）の容量は互いに異なるが、ＲＯＭ（ＲＡＭ）の開始アドレスはＲＯＭ１２（ＲＡＭ１４）の開始アドレスと共通である場合には、メモリ制御レジスタのレジスタＳＡＲ０（ＳＡＲ１）を省いても良い。また、複数の製品チップにおいて、ＲＯＭ（ＲＡＭ）の容量は異なるが、ＲＯＭ（ＲＡＭ）の終了アドレスはＲＯＭ１２（ＲＡＭ１４）の終了アドレスと共通である場合には、メモリ制御レジスタのレジスタＥＡＲ０（ＥＡＲ１）を省いても良い。これらの場合には、メモリ制御レジスタのレジスタＳＡＲ０、ＥＡＲ０（ＳＡＲ１、ＥＡＲ１）のいれずれかを不要にできるため、メモリ制御レジスタの回路規模を低減できる。
【００５７】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
プログラムに従って動作する処理回路と、
複数の周辺回路と、
前記複数の周辺回路にそれぞれ対応する複数のビットを有する周辺回路制御レジスタと、
前記処理回路による前記複数の周辺回路のいずれかへのアクセスの発生に応答して、前記周辺回路制御レジスタにおけるアクセス先の周辺回路に対応するビットがセット状態であるときに、アクセス先の周辺回路へのアクセス信号を活性化させるアクセス制御回路とを備えていることを特徴とするマイクロコントローラ。
（付記２）
付記１記載のマイクロコントローラにおいて、
前記アクセス制御回路は、
前記処理回路のアクセス先を示すアクセス先アドレスに応じて、前記複数の周辺回路へのアクセス信号のいずれかを活性化させるデコード回路と、
前記複数の周辺回路にそれぞれ対応して設けられ、前記周辺回路制御レジスタにおける対応するビットがリセット状態であるときに、対応する周辺回路へのアクセス信号をマスクする複数のマスク回路とを備えていることを特徴とするマイクロコントローラ。
（付記３）
付記１記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード、および前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モードを備え、
前記アクセス制御回路は、前記特権動作モード時に、前記処理回路による前記周辺回路制御レジスタへのアクセスの発生に応答して、前記周辺回路制御レジスタへのアクセス信号を活性化させることを特徴とするマイクロコントローラ。
（付記４）
プログラムに従って動作する処理回路と、
メモリと、
前記メモリのアクセス領域を指定するメモリ制御レジスタと、
前記処理回路による前記メモリへのアクセスの発生に応答して、アクセス先が前記メモリ制御レジスタにより指定されるアクセス領域に含まれるときに、前記メモリへのアクセス信号を活性化させるアクセス制御回路とを備えていることを特徴とするマイクロコントローラ。
（付記５）
付記４記載のマイクロコントローラにおいて、
前記メモリ制御レジスタは、前記メモリのアクセス領域の開始アドレスおよび終了アドレスをそれぞれ指定する第１および第２レジスタを備え、
前記アクセス制御回路は、前記処理回路のアクセス先を示すアクセス先アドレスを前記第１および第２レジスタにより指定されるアドレスとそれぞれ比較し、アクセス先アドレスが前記第１レジスタにより指定されるアドレス以上かつ前記第２レジスタにより指定されるアドレス以下であるときに、前記メモリへのアクセス信号を活性化させる比較回路を備えていることを特徴とするマイクロコントローラ。
（付記６）
付記４記載のマイクロコントローラにおいて、
前記メモリ制御レジスタは、前記メモリのアクセス領域の開始アドレスを指定する第１レジスタを備え、
前記アクセス制御回路は、前記処理回路のアクセス先を示すアクセス先アドレスを前記第１レジスタにより指定されるアドレスおよび前記メモリの終了アドレスとそれぞれ比較し、アクセス先アドレスが前記第１レジスタにより指定されるアドレス以上かつ前記メモリの終了アドレス以下であるときに、前記メモリへのアクセス信号を活性化させる比較回路を備えていることを特徴とするマイクロコントローラ。
（付記７）
付記４記載のマイクロコントローラにおいて、
前記メモリ制御レジスタは、前記メモリのアクセス領域の終了アドレスを指定する第２レジスタを備え、
前記アクセス制御回路は、前記処理回路のアクセス先を示すアクセス先アドレスを前記メモリの開始アドレスおよび前記第１レジスタにより指定されるアドレスとそれぞれ比較し、アクセス先アドレスが前記メモリの開始アドレス以上かつ前記第２レジスタにより指定されるアドレス以下であるときに、前記メモリへのアクセス信号を活性化させる比較回路を備えていることを特徴とするマイクロコントローラ。
（付記８）
付記４記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード、および前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モードを備え、
前記アクセス制御回路は、前記特権動作モード時に、前記処理回路による前記メモリ制御レジスタへのアクセスの発生に応答して、前記メモリ制御レジスタへのアクセス信号を活性化させることを特徴とするマイクロコントローラ。
（付記９）
第１割込要求をそれぞれ出力する複数の周辺回路と、
前記複数の周辺回路からの第１割込要求と複数の第２割込要求との対応関係を指定する割込要求制御レジスタと、
前記割込要求制御レジスタにより指定される対応関係に応じて、前記複数の周辺回路からの第１割込要求を前記複数の第２割込要求に置換して出力する割込要求入換回路と、
プログラムに従って動作し、前記複数の第２割込要求に応じて、前記複数の第２割込要求にそれぞれ対応する複数の割込処理のいずれかを実行する処理回路とを備えていることを特徴とするマイクロコントローラ。
（付記１０）
付記９記載のマイクロコントローラにおいて、
前記割込要求制御レジスタは、前記複数の第２割込要求にそれぞれ対応して設けられ、前記複数の周辺回路からの第１割込要求のいずれかをそれぞれ指定する複数のサブレジスタを備え、
前記割込要求入換回路は、前記複数の第２割込要求にそれぞれ対応して設けられ、対応するサブレジスタにより指定される第１割込要求を、対応する第２割込要求として出力する複数の選択回路を備えていることを特徴とするマイクロコントローラ。
（付記１１）
付記９記載のマイクロコントローラにおいて、
前記割込要求制御レジスタは、前記複数の周辺回路からの第１割込要求にそれぞれ対応して設けられ、前記複数の第２割込要求にそれぞれ対応する複数のビットをそれぞれ有する複数のサブレジスタを備え、
前記割込要求入換回路は、
前記複数の周辺回路からの第１割込要求にそれぞれ対応して設けられ、対応する第１割込要求を、前記複数の第２割込要求にそれぞれ対応する複数の第３割込要求のうち、対応するサブレジスにおけるセット状態のビットに対応する第３割込要求として出力する複数の割当回路と、
前記複数の第２割込要求にそれぞれ対応して設けられ、前記複数の割当回路からの第３割込要求のうち、同一の第２割込要求に対応する複数の第３割込要求を、対応する第２割込要求として共通に出力する複数の合成回路とを備えていることを特徴とするマイクロコントローラ。
（付記１２）
付記９記載のマイクロコントローラにおいて、
前記処理回路がユーザプログラムに従って動作する通常動作モード時に、前記割込要求制御レジスタへのアクセス信号を非活性レベルに固定し、前記処理回路がユーザプログラムとは別のプログラムに従って動作する特権動作モード時に、前記処理回路による前記割込要求制御レジスタへのアクセスの発生に応答して、前記割込要求制御レジスタへのアクセス信号を活性化させるアクセス制御回路を備えていることを特徴とするマイクロコントローラ。
（付記１３）
付記１、４、９のいずれかに記載のマイクロコントローラにおいて、
マイクロコントローラは、複数の製品チップの機能仕様を網羅して構成されるエバリュエーションチップであることを特徴とするマイクロコントローラ。
【００５８】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００５９】
【図１】本発明のマイクロコントローラの第１実施形態を示すブロック図である。
【図２】図１のメモリ制御レジスタ、周辺リソース制御レジスタおよびデコーダを示すブロック図である。
【図３】図１の割込要求入換回路および割込要求制御レジスタを示すブロック図である。
【図４】図１のマイクロコントローラの比較例を示すブロック図である。
【図５】本発明のマイクロコントローラの第２実施形態を示すブロック図である。
【図６】図５の割込要求入換回路および割込要求制御レジスタを示すブロック図である。
【図７】図５のマイクロコントローラの比較例を示すブロック図である。
【符号の説明】
【００６０】
１０  ＣＰＵ
１２  ＲＯＭ
１４  ＲＡＭ
１６０〜１６７  周辺リソース
１８、３０  割込要求入換回路
２０  割込制御回路
２２、３２  メモリ制御レジスタ
２４、３４  周辺リソース制御レジスタ
２６、３６  割込要求制御レジスタ
２８、３８、４０、４２０〜４２７、４４  デコーダ
１００、２００  マイクロコントローラ
１６０〜１６７  周辺リソース
ＡＤ  アドレス信号
ＡＩＣ、ＡＭ０、ＡＭ１、ＡＰ０〜ＡＰ７、ＡＲ０〜ＡＲ２  アクセス信号
ＡＩＣ、ＡＭ０Ｓ、ＡＭ１Ｓ、ＡＰＳ０〜ＡＰ７Ｓ、ＡＲ０Ｓ〜ＡＲ２Ｓ  アクセス信号
Ｂ０〜Ｂ７  ビット値信号
ＣＭＰ０、ＣＭＰ１  比較回路
ＤＢ  データバス
ＤＭ  デバッグモード信号
ＥＡ０、ＥＡ１  終了アドレス信号
ＥＡＲ０、ＥＡＲ１  レジスタ
Ｇ０〜Ｇ３、ＧＰ０〜ＧＰ７、ＧＲ０〜ＧＲ２  ＡＮＤ回路
ＩＲＱ、ＩＲＱ１０〜ＩＲＱ１７  割込要求信号
ＩＲＱ２０〜ＩＲＱ２７、ＩＲＱ３００〜３７３  割込要求信号
ＩＲＱ３００〜３７３
ＩＳ１０〜ＩＳ１３、ＩＳ２０〜ＩＳ２７  レジスタ値信号
ＮＵＭ  割込番号信号
ＯＲ０〜ＯＲ３  ＯＲ回路
ＰＥ０〜ＰＥ７  ビット
ＳＡ０、ＳＡ１  開始アドレス信号
ＳＡＲ０、ＳＡＲ１  レジスタ
【図１】
2006195793.tif 000003
【図２】
2006195793.tif 000004
【図３】
2006195793.tif 000005
【図４】
2006195793.tif 000006
【図５】
2006195793.tif 000007
【図６】
2006195793.tif 000008
【図７】
2006195793.tif 000009