(57)【要約】【課題】  開発時に使用されるエミュレーション装置がマルチチップで構成される場合でも、エミュレーション時と実動作時とで割り込み処理タイミングの互換性を取ることができるシングルチップのマイクロコンピュータを提供する。【解決手段】  シングルチップマイコン１１に、ロジック回路１３によって発生された割り込み信号を、クロック信号により同期化してＣＰＵ１２側に出力するフリップフロップ１８を配置し、エミュレーション装置によりマイコン１１の機能をエミュレーションする場合に、周辺エバチップのロジック回路が発生した割り込み信号がＣＰＵエバチップにより受け付けられるまでの時間が遅延するとしても、マイコン１１が実動作する場合の割り込み処理タイミングがエミュレーション時と同一のタイミングとなるように、フリップフロップ１８による同期化で遅延時間分を吸収して調整する。【選択図】  図１
2005242439.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、複数の周辺回路とで構成されるシングルチップのマイクロコンピュータであって、
前記複数の周辺回路の何れかによって発生された割り込み信号を、クロック信号により同期化して前記ＣＰＵ側に出力する割り込み信号同期化手段を備えることを特徴とするマイクロコンピュータ。
【請求項２】
前記クロック信号の周波数を変化させる周波数変化手段を備えることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
請求項１又は２記載のマイクロコンピュータを用いた開発時に使用されるエミュレーション装置であって、
夫々独立したチップにより、ＣＰＵ機能部と、複数の周辺回路機能部とをなすように構成され、
前記複数の周辺回路機能部の内、少なくとも割り込み制御回路の機能をエミュレーションする１つが、自身及び／又は他の何れかによって発生された割り込み信号を、クロック信号により同期化して割り込み制御回路のエミュレーション機能部に出力することを特徴とするエミュレーション装置。
【請求項４】
前記クロック信号の周波数を変化させる周波数変化手段を備えることを特徴とする請求項３記載のエミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵと、複数の周辺回路とで構成されるシングルチップのマイクロコンピュータ、及びそのマイクロコンピュータを用いた開発時に使用されるエミュレーション装置に関する。
【背景技術】
【０００２】
シングルチップマイクロコンピュータは、ＣＰＵと複数の周辺回路とを同一の半導体チップ上に形成したものであり、その処理機能が増加するのに応じて搭載される周辺回路も増加する。また、マイクロコンピュータの用途に応じて、搭載される周辺回路は様々に変更される。
そして、マイクロコンピュータを用いたハードウエア,ソフトウエアの開発を行う場合には、そのマイクロコンピュータの機能をエミュレーションするエミュレーション装置が使用される。このエミュレーション装置については、マイクロコンピュータに搭載される周辺回路の増加とそのバリエーションへの対応を柔軟に行うため、ＣＰＵの機能をエミュレーションする部分と、複数の周辺回路の機能をエミュレーションする部分とを夫々異なる半導体チップで構成する場合がある。特許文献１には、そのようなエミュレーション装置の一構成例が開示されている。
【特許文献１】特開平５−３３４４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、シングルチップマイクロコンピュータのエミュレーション装置をマルチチップで構成すると、以下のような問題が発生する場合がある。即ち、図５に示すように、シングルチップマイコン１が、ＣＰＵ２、周辺回路３、割り込み制御回路４で構成されているとする。この場合、周辺回路３が、図６に示すタイミングチャートにおけるクロックサイクル（１）のタイミングで割り込み要求を発生させると（（ｂ）参照）、割り込み制御回路４は、１クロック経過後のサイクル（３）でＣＰＵ２に割り込み信号ＩＮＴを発生させる（（ｃ）参照）。すると、ＣＰＵ２は、サイクル（４）から割り込み処理を開始する（（ｄ）参照）。
【０００４】
一方、このシングルチップマイコン１の機能を、図７に示す構成のエミュレーション装置５でエミュレーションを行う場合を想定する。エミュレーション装置５は、ＣＰＵチップ６，周辺回路チップ７，割り込み制御回路チップ８が夫々独立したチップで構成されており、各チップが、夫々ＣＰＵ２，周辺回路３，割り込み制御回路４の機能をエミュレーションするようになっている。
【０００５】
そして、周辺回路３が、図８（ｂ）に示すタイミング，クロックサイクル（１）のタイミングで割り込み要求を発生させる状態をエミュレーション装置５でエミュレーションする。すると、図８（ｂ）に示すように、周辺回路チップ７が発生した割り込み要求が割り込み制御回路チップ８に到達するタイミングは、チップ間配線などの影響によってサイクル（２）に（即ち、破線で示すタイミングから実線で示すタイミングに）遅れてしまう。
【０００６】
この場合、割り込み制御回路チップ８は、サイクル（３）で前記割り込み要求を認識するため、ＣＰＵチップ６に対して割り込み信号ＩＮＴを出力するタイミングはサイクル（４）となる（（ｃ）参照）。その結果、ＣＰＵチップ６は、サイクル（５）から割り込み処理を開始することになる（（ｄ）参照）。
従って、エミュレーション装置５における割り込み処理タイミングと、シングルチップマイコン１が実際に動作した場合の割り込み処理タイミングとの互換性が取れなくなってしまい、エミュレーションで確認していた処理タイミングが、実際のシングルチップマイコン１の動作では再現されなくなってしまうおそれがある。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、開発時に使用されるエミュレーション装置がマルチチップで構成される場合でも、エミュレーション時と実動作時とで割り込み処理タイミングの互換性を取ることができるシングルチップのマイクロコンピュータ、及びそのマイクロコンピュータの機能をエミュレーションするエミュレーション装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のマイクロコンピュータによれば、割り込み信号同期化手段は、複数の周辺回路の何れかによって発生された割り込み信号を、クロック信号により同期化してＣＰＵ側に出力する。斯様に構成すれば、割り込み要因の発生から、その割り込みをＣＰＵが受け付けるまでのタイミングを前記クロック信号によって規定することができるため、以下のような作用効果を奏する。
【０００９】
即ち、前記マイクロコンピュータの機能をエミュレーションする装置が、当該マイコンの各機能を複数のチップに振り分けて構成されるとする。すると、何れかの周辺回路の機能をエミュレーションするチップが割り込み信号を出力し、その割り込み信号がＣＰＵの機能をエミュレーションするチップによって受け付けられるまでの時間は、それらチップ間の配置距離によりマイコンの実動作上の時間に対して遅延せざるを得なくなる。
【００１０】
そして、その遅延時間が無視できない値になる場合でも、マイコンが実動作する場合における割り込み処理タイミングがエミュレーション時と同一のタイミングとなるように、割り込み信号同期化手段において同期化を行なうクロック信号の周期によって、前記遅延時間分を吸収して調整することが可能となる。従って、割り込み処理のタイミングがエミュレーション時と実動作時とで実質的に一致するようになり、マイコンを用いた開発時において想定した処理タイミングと同一の処理タイミングをマイコンの実動作で再現することができ、開発効率を向上させることが可能となる。
【００１１】
請求項２記載のマイクロコンピュータによれば、周波数変化手段によって、割り込み信号同期化手段において同期化を行なうクロック信号の周波数を変化させることができるので、エミュレーション時における割り込み処理タイミングの遅延状態に合わせて、実動作上の処理タイミングを容易に調整することができる。
【００１２】
請求項３記載のエミュレーション装置によれば、請求項１又は２記載のマイクロコンピュータの機能をエミュレーションするに当たり、夫々独立したチップにより、ＣＰＵ機能部と複数の周辺回路機能部とをなすように構成する。そして、割り込み制御回路の機能をエミュレーションする１つは、自身及び／又は他の何れかによって発生された割り込み信号を、クロック信号により同期化して割り込み制御のエミュレーション機能部に出力する。従って、エミュレーション装置側においても、割り込み処理のタイミングがエミュレーション時と実動作時とで実質的に一致するように、クロック信号により同期化を行うことで調整することができる。
【００１３】
請求項４記載のエミュレーション装置によれば、周波数変化手段によって、同期化を行なうクロック信号の周波数を変化させることができるので、エミュレーション時における割り込み処理タイミングの調整を容易に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施例について図１乃至図４を参照して説明する。図１は、シングルチップマイクロコンピュータ１１の構成を示すものである。マイコン１１は、マイコン１１を例えば制御対象機器に組み込んで使用するための開発段階において、ハード又はソフトウエアのデバッグを行う場合に用いられるエミュレーション装置の構成要素としても使用が可能となるように構成されている。
従って、マイコン１１は、その動作モードが、シングルチップマイコン１１としての実際の動作、例えば、上述した制御対象機器に組み込まれてその制御を行なうような場合の実動作モードと、エミュレーション装置の構成要素として動作する場合のエミュレーションモードとに切換えられるようになっている。
【００１５】
図１に示すように、マイコン１１は、ＣＰＵ１２，ロジック回路（周辺回路）１３，割り込み制御回路（周辺回路）１４を中心として構成されている。ロジック回路１３は、実際にはその機能に応じて（例えば、ＵＡＲＴやＤＭＡコントローラなど）多数存在する。また、クロック発振回路１５は、システムクロック信号を生成出力するものであり、そのクロック信号は、セレクタ１６を介してＣＰＵ１２，ロジック回路１３，割り込み制御回路１４に供給されている。
【００１６】
セレクタ１６は、マイコン１１がエミュレーションモードで動作する場合に、他のチップより供給されるクロック信号に同期して動作させる必要があれば、前記システムクロック信号に替えて外部チップより供給されるクロック信号を選択させるために使用される。その選択制御は、外部端子で決定されるモードによって設定される。
また、セレクタ１６より出力されるクロック信号は、クロック分周回路（周波数変化手段）１７を介してフリップフロップ（割り込み信号同期化手段）１８のクロック入力端子にも与えられている。フリップフロップ１８は、セレクタ１９を介して与えられる割り込み要求信号を分周されたクロック信号により同期化して、割り込み制御回路１４に出力するものである。割り込み制御回路１４は、複数の発生元より与えられた割り込み要求信号について、予め設定されている優先順位やＣＰＵ１２によりダイナミックに設定されるマスク状況に応じて選択を行い、ＣＰＵ１２に割り込み要求信号ＩＮＴとして出力する。
【００１７】
セレクタ１９は、マイコン１１が実動作モードで動作する場合は、ロジック回路１３より出力される割り込み信号を選択し、マイコン１１がエミュレーションモードで動作する場合は、他のチップより出力される割り込み要求信号を選択するために使用される。その選択制御は、セレクタ１６と同様に、外部端子で決定されるモードによって設定される。また、クロック分周回路１７における分周比は、分周設定レジスタ（周波数変化手段）２０によって設定されるようになっている。この分周設定レジスタ２０に対する書込みも、ＣＰＵ１２によって行われる。
【００１８】
尚、ロジック回路１３は、実動作モードにおいては割り込み要求信号をセレクタ１９に出力するが、エミュレーションモードにおいては、必要に応じて外部チップに割り込み要求信号を出力可能となるように構成されている。また、割り込み制御回路１４も、実動作モードでは割り込み要求信号ＩＮＴをＣＰＵ１２に出力するが、エミュレーションモードでは、必要に応じて外部チップに割り込み要求信号ＩＮＴを出力可能となるように構成されている。更に、クロック発振回路１５も、エミュレーションモードにおいてシステムクロック信号の供給元になる場合には、そのクロック信号を外部チップに出力可能となるように構成されている。
【００１９】
図２は、マイコン１１の機能をエミュレーションするためのエミュレーション装置２１の構成を示すものである。エミュレーション装置２１は、エミュレーション基板２２と外部エミュレーション装置２３とで構成されている。エミュレーション基板２２には、ＣＰＵ１２の機能をエミュレーションするＣＰＵエバリエーションチップ（以下、ＣＰＵエバチップと称す，ＣＰＵ機能部）２４，少なくとも割り込み制御回路１４の機能をエミュレーションする周辺エバリエーションチップ（周辺エバチップ，周辺回路機能部）２５，少なくともロジック回路１３の機能をエミュレーションする周辺エバチップ（周辺回路機能部）２６などが搭載されており、マルチチップで構成されている。そして、周辺エバチップ２５及び２６は、マイコン１１をエミュレーションモードで動作させることで構成されるものである。
【００２０】
ＣＰＵエバチップ２４は、エミュレーション動作を行なうＣＰＵ２７と、外部エミュレーション装置２３との間で通信を行うためのインターフェイス（Ｉ／Ｆ）２８とを備えている。この場合、エミュレーション基板２２におけるシステムクロック信号は、周辺エバチップ２５のクロック発振回路１５によって出力されるクロック信号を用いている。そして、そのクロック信号は、ＣＰＵエバチップ２４と周辺エバチップ２６にも供給されている。また、周辺エバチップ２５は、セレクタ１９において外部チップ側の割り込み要求信号を選択するように設定されており、周辺エバチップ２６は、ロジック回路１３が出力した割り込み要求信号Ｅを周辺エバチップ２５に出力するように設定されている。
【００２１】
周辺エバチップ２５は、クロック分周回路１７における分周比が「２」となるように分周設定レジスタ２０に書込みを行い、フリップフロップ１８における同期化クロック信号周期がシステムクロック信号周期の２倍となるように設定している。そして、周辺エバチップ２５の割り込み制御回路１４は、割り込み要求信号ＩＮＴをＣＰＵエバチップ２４に出力し、ＣＰＵエバチップ２４は、その割り込み要求信号ＩＮＴをＣＰＵ２７に内蔵されている割り込み処理ブロック２７ａにおいて処理するようになっている。
尚、割り込み要求信号ＩＮＴは、周辺エバチップ２５のオンチップＣＰＵ１２に対しても同時に出力されるが、エミューションモードにおいて認識する必要がない割り込みは、ＣＰＵ１２においては無視されるようになっている。
【００２２】
次に、本実施例の作用について図３及び図４も参照して説明する。図３は、エミュレーション基板２２上において、周辺エバチップ２６のロジック回路１３が出力した割り込み要求信号Ｅを、ＣＰＵエバチップ２４が受け付ける場合のタイミングチャートである。尚、前記ロジック回路１３は、図５の構成における周辺回路３に相当するものである。
【００２３】
即ち、周辺エバチップ２６上では、図３（ｂ）に破線で示すように、システムクロックサイクル（１）で発生する割り込み要求Ｅが、周辺エバチップ２５のフリップフロップ１８の入力側に到達するまでに遅延してサイクル（２）にずれ込んだとする。そして、フリップフロップ（Ｆ／Ｆ）１８は、その割り込み要求Ｅをシステムクロックの倍の周期で同期化して、サイクル（３）で割り込み制御回路１４に出力する（図３（ｄ）参照）。
【００２４】
すると、割り込み制御回路１４は、サイクル（４）でその割り込み要求を受付け、次のサイクル（５）でＣＰＵエバチップ２４に割り込み要求信号ＩＮＴを出力する（図３（ｅ）参照）。その割り込み要求信号ＩＮＴもＣＰＵエバチップ２４に到達するまでに遅延するが、その遅延時間がシステムクロックの１周期内であれば、ＣＰＵ２７は、サイクル（６）から割り込み処理を開始する（図３（ｆ）参照）。
【００２５】
一方、図４は、マイコン１１が実動作モードで動作する場合のタイミングチャートである。この時、マイコン１１も、クロック分周回路１７における分周比が「２」となるように分周設定レジスタ２０に書込んで設定を行っている。即ち、ロジック回路１３がクロックサイクル（１）で割り込み要求Ｒを発生させると、その割り込み要求信号は、殆ど遅延することなくフリップフロップ１８の入力側に到達する（図４（ｂ）参照）。そして、フリップフロップ１８は、割り込み要求信号Ｒを図４（ｃ）に示すシステムクロックの倍の周期で同期化するので、エミュレーションの場合と同様にサイクル（３）で割り込み制御回路１４に出力する（図４（ｄ）参照）。従って、以降の処理タイミングもエミュレーションの場合と同様になり、ＣＰＵ１２は、サイクル（６）より割り込み処理を開始する。
【００２６】
以上のように本実施例によれば、シングルチップマイコン１１に、ロジック回路１３によって発生された割り込み要求信号を、クロック信号により同期化してＣＰＵ１２側に出力するフリップフロップ１８を配置した。従って、エミュレーション装置２１によりマイコン１１の機能をエミュレーションする場合に、周辺エバチップ２６のロジック回路１３が発生した割り込み要求信号がＣＰＵエバチップ２４により受け付けられるまでの時間が遅延し、その遅延時間が無視できない値になるとしても、マイコン１１が実動作する場合の割り込み処理タイミングがエミュレーション時と同一のタイミングとなるように、フリップフロップ１８による同期化で遅延時間分を吸収して調整することが可能となる。
【００２７】
即ち、本実施例によれば、割り込み処理のタイミングがエミュレーション時と実動作時とで実質的に一致するようになり、マイコン１１を用いた開発時において想定した処理タイミングと同一の処理タイミングをマイコン１１の実動作で再現することができるので、開発効率を向上させることが可能となる。
また、クロック分周回路１７によってフリップフロップ１８で同期化を行なうクロック信号の周波数を変化させることができるので、エミュレーション時における割り込み処理タイミングの遅延状態に合わせて、実動作上の処理タイミングを容易に調整することができる。
【００２８】
そして、エミュレーション装置２１を、ＣＰＵエバチップ２４，周辺エバチップ２５及び２６によって構成し、割り込み制御回路１４の機能をエミュレーションする周辺エバチップ２５も、割り込み要求信号をクロック信号により同期化してエミュレーション機能部としての割り込み制御回路１４に出力するので、エミュレーション装置２１側においても、割り込み処理のタイミングがエミュレーション時と実動作時とで実質的に一致するように、クロック信号により同期化を行って調整することができる。また、エミュレーション装置２１においても、同期化クロック信号の周波数を変化させて、エミュレーション時における割り込み処理タイミング調整を容易に行うことができる。
【００２９】
加えて、エミュレーション装置２１における周辺エバチップ２５及び２６をマイコン１１で構成したので、マイコン１１が備えている周辺回路を利用して夫々の機能をエミュレーションすることが容易に可能となる。従って、エミュレーション装置２１を効率的に構成することができる。
【００３０】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形または拡張が可能である。
クロック分周回路１７に対する分周比の設定は、例えばディップスイッチ（周波数変化手段）を操作して行うように構成しても良い。
設定する分周比は「２」に限ることなく、「４」，「８」などであっても良い。
また、クロック分周回路１７は、必要に応じて設ければ良い。
周波数変化手段は、例えばＤＰＬＬ（Digital Phase Locked Loop）などを用いて構成される周波数シンセサイザを用いても良い。
【００３１】
割り込み制御回路は、例えば、サイクル（２）で発生した割り込み要求を即時認識し、サイクル（３）の立上がりエッジにおいて割り込み要求信号ＩＮＴを出力する構成であっても良い。
周辺エバチップ２５及び２６は、必ずしもマイコン１１で構成する必要はなく、エミュレーション専用に構成されたチップを用いても良い。
シングルチップマイクロコンピュータ側のみでタイミング調整が可能である場合には、エミュレーション装置側では、必ずしも割り込み要求信号を同期化する必要はない。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例であり、シングルチップマイクロコンピュータの構成を示す機能ブロック図
【図２】シングルチップマイクロコンピュータの機能をエミュレーションするエミュレーション装置の構成を示す機能ブロック図
【図３】エミュレーション基板上において、周辺エバチップのロジック回路が出力した割り込み信号Ｅを、ＣＰＵエバチップが受け付ける場合のタイミングチャート
【図４】シングルチップマイクロコンピュータが実動作モードで動作する場合の図３相当図
【図５】従来技術を示す図１相当図
【図６】図４相当図
【図７】図２相当図
【図８】図３相当図
【符号の説明】
【００３３】
図面中、１１はシングルチップマイクロコンピュータ、１２はＣＰＵ、１３はロジック回路（周辺回路）、１４は割り込み制御回路（周辺回路）、１７はクロック分周回路（周波数変化手段）、１８はフリップフロップ（割り込み信号同期化手段）、２０は分周設定レジスタ（周波数変化手段）、２１はエミュレーション装置、２２はエミュレーション基板、２４はＣＰＵエバリエーションチップ（ＣＰＵ機能部）、２５及び２６は周辺エバリエーションチップ（周辺回路機能部）を示す。
【図１】
2005242439.tif 000003
【図２】
2005242439.tif 000004
【図３】
2005242439.tif 000005
【図４】
2005242439.tif 000006
【図５】
2005242439.tif 000007
【図６】
2005242439.tif 000008
【図７】
2005242439.tif 000009
【図８】
2005242439.tif 000010