(57)【要約】【課題】プロセッサ部の負荷を低減する。【解決手段】半導体集積回路１０は、プロセッサ部１１と回路部１２と回路状態監視回路１３を有する。回路部１２は、自身の回路状態を示す状態情報を記憶する記憶部１２ａを有しており、回路状態監視回路１３は、その状態情報を監視し、状態情報の所定の変化を検出すると、プロセッサ部１１に対する割り込みを発生することで、プロセッサ部１１が回路部１２に対するポーリングを行わなくて済むようになる。これによって、プロセッサ部１１の負荷を低減できる。【選択図】図１
2013041402.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ部と、
回路状態を示す状態情報を記憶する記憶部を有する回路部と、
前記状態情報を監視し、前記状態情報の所定の変化を検出すると、前記プロセッサ部に対する割り込みを発生する回路状態監視回路と、
を有する半導体集積回路。
【請求項２】
前記回路状態監視回路は、前記回路部とバスとの間に接続されていることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記回路状態監視回路は、前記バスを経由した前記回路部に対するアクセスがあるときに、前記状態情報の監視を中断させ、前記バスと前記回路部との間の信号経路を確立する選択部を有していることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記回路状態監視回路は、
前記状態情報を読み出す読み出し部と、
前記状態情報を監視する監視部と、
前記状態情報の所定の変化が前記監視部にて検出されると、前記プロセッサ部に対する割り込みを発生する割り込み発生部と、
を有することを特徴とする請求項１乃至３の何れか一項に記載の半導体集積回路。
【請求項５】
外部の回路部から回路状態を示す状態情報を読み出す読み出し部と、
前記状態情報を監視する監視部と、
前記状態情報の所定の変化が前記監視部にて検出されると、プロセッサ部に対する割り込みを発生する割り込み発生部と、
を有することを特徴とする回路状態監視回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及び回路状態監視回路に関する。
【背景技術】
【０００２】
半導体集積回路において、ＩＰ（Intellectual Property）マクロなどの回路部は、ステータスビットと呼ばれる自身の回路状態を示す状態情報を格納するレジスタを有している。プロセッサ側でステータスビットの変更を検出する手段としては、たとえば、以下の２通りの方法がある。
【０００３】
１つ目は、ステータスビットが変更されると、ＩＰマクロ自身がプロセッサに対して割り込みを発生する方法である。
２つ目は、プロセッサが、ステータスビットの変更を検出するために、ＩＰマクロに対してポーリングを行うものである。すなわち、２つ目の方法では、ＩＰマクロのステータスビットが変更されていないか調べるために、プロセッサが、ＩＰマクロのレジスタの内容を繰り返し読み出すことが行われる。
【０００４】
ステータスビットが変更されると割り込みを発生する機能がないＩＰマクロの場合には、２つ目の方法が用いられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２０２４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、プロセッサによるポーリングを行う際、プロセッサがＩＰマクロのレジスタの内容を繰り返し読み出すので、プロセッサの負荷が増加するという問題があった。
【課題を解決するための手段】
【０００７】
発明の一観点によれば、プロセッサ部と、回路状態を示す状態情報を記憶する記憶部を有する回路部と、前記状態情報を監視し、前記状態情報の所定の変化を検出すると、前記プロセッサ部に対する割り込みを発生する回路状態監視回路と、を備えた半導体集積回路が提供される。
【０００８】
また、発明の一観点によれば、外部の回路部から回路状態を示す状態情報を読み出す読み出し部と、前記状態情報を監視する監視部と、前記状態情報の所定の変化が前記監視部にて検出されると、プロセッサ部に対する割り込みを発生する割り込み発生部と、を備えた回路状態監視回路が提供される。
【発明の効果】
【０００９】
開示の半導体集積回路及び回路状態監視回路によれば、プロセッサ部の負荷を低減できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の半導体集積回路の一例を示す図である。
【図２】第２の実施の形態の半導体集積回路の一例を示す図である。
【図３】回路状態監視回路の一例を示す図である。
【図４】監視部の一例を示す図である。
【図５】半導体集積回路の動作の一例を示すフローチャートである。
【図６】半導体集積回路の各部の信号の動きの一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の半導体集積回路の一例を示す図である。
【００１２】
半導体集積回路１０は、プロセッサ部１１、回路部１２、回路状態監視回路１３を有しており、これらはバス１４に接続されている。
プロセッサ部１１は、たとえば、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）であり、半導体集積回路１０の動作を制御する。
【００１３】
回路部１２は、たとえば、ある機能（インターフェース機能、Ａ／Ｄ（Analogue/Digital）コンバータ機能など）を有するＩＰマクロである。回路部１２は、自身の回路状態を示す状態情報であるステータスビットなどを格納する記憶部１２ａを有している。回路状態とは、たとえば、他の回路との通信状態、エラー状態などがある。
【００１４】
回路状態監視回路１３は、回路部１２の記憶部１２ａに記憶されている状態情報を監視する。そして、回路状態監視回路１３は、状態情報の所定の変化（たとえば、０から１への変化またはその反対の変化）を検出すると、プロセッサ部１１に対する割り込みを発生し、割り込み信号線１５を介して、プロセッサ部１１に通知する。
【００１５】
このような半導体集積回路１０では、プロセッサ部１１ではなく、回路状態監視回路１３が、回路部１２の状態情報を監視する。そして、回路状態監視回路１３は、状態情報の所定の変化を検出すると、プロセッサ部１１に対する割り込みを発生する。プロセッサ部１１は、回路状態監視回路１３による割り込みを検出すると、回路部１２の記憶部１２ａ内の状態情報を確認し、状態情報で示される回路部１２の回路状態に応じた制御を行う。
【００１６】
以上のような半導体集積回路１０によれば、回路状態監視回路１３が、回路部１２の状態情報を監視し、所定の変化を検出したときに、割り込みにより、プロセッサ部１１に通知するようにしたので、プロセッサ部１１がポーリングを行わなくて済むようになる。これにより、プロセッサ部１１の負荷を軽減できる。
【００１７】
（第２の実施の形態）
図２は、第２の実施の形態の半導体集積回路の一例を示す図である。
半導体集積回路２０は、ＣＰＵ２１、ＩＰマクロ２２、回路状態監視回路２３を有しており、ＣＰＵ２１と回路状態監視回路２３は、バス２４に接続されている。ＩＰマクロ２２は回路状態監視回路２３に接続されている。すなわち、本実施の形態では、第１の実施の形態の半導体集積回路１０と異なり、回路状態監視回路２３が、ＩＰマクロ２２とバス２４の間に接続されている。なお、バス２４には、ＣＰＵ２１や回路状態監視回路２３の他に、種々の回路（たとえば、入出力回路や記憶回路など）が接続されていてもよい。
【００１８】
ＣＰＵ２１は、半導体集積回路２０の各部の動作を制御する。
ＩＰマクロ２２は、自身の回路状態を示すステータスビットや、制御ビットなどを格納するレジスタ２２ａを有している。
【００１９】
回路状態監視回路２３は、ＩＰマクロ２２のレジスタ２２ａに記憶されているステータスビットを監視する。そして、回路状態監視回路２３は、ステータスビットの所定の変化を検出すると、ＣＰＵ２１に対する割り込みを発生し、割り込み信号線２５を介して、ＣＰＵ２１に通知する。
【００２０】
図３は、回路状態監視回路の一例を示す図である。
回路状態監視回路２３は、アドレス情報保持部３０、位置情報保持部３１、読み出し部３２、監視部３３、割り込み発生部３４、スタートビット設定部３５、選択部３６を有している。
【００２１】
アドレス情報保持部３０は、ＩＰマクロ２２のステータスビットを格納しているレジスタ２２ａのアドレス情報を保持している。
位置情報保持部３１は、アドレス情報で指定されたデータのどの位置（ビット）にステータスビットがあるかを示す位置情報を保持する。
【００２２】
読み出し部３２は、アドレス情報保持部３０に格納されているアドレス情報をもとに、ＩＰマクロ２２のレジスタ２２ａからステータスビットを含むデータを読み出す。
監視部３３は、位置情報をもとに、読み出されたデータからステータスビットを特定して、所定の変化が発生したか否かを監視する。
【００２３】
割り込み発生部３４は、監視部３３から所定の変化を検出した旨の通知を受けると、割り込み信号をアサートする。
スタートビット設定部３５には、読み出し部３２と監視部３３の動作を開始するためのスタートビットが設定される。スタートビット設定部３５は、たとえば、レジスタであり、ＣＰＵ２１からバス２４を介して、スタートビットがセット（たとえば、“１”が設定）された場合に、読み出し部３２と監視部３３の動作を開始させる。
【００２４】
選択部３６は、信号線３７を介して読み出し部３２に接続し、信号線３８，３９を介してバス２４に接続している。また、選択部３６は、信号線４０を介してＩＰマクロ２２に接続されている。
【００２５】
そして、選択部３６は、バス２４から信号線３９を介して入力される信号（以下マクロアクセス信号と呼ぶ）に応じて、ＩＰマクロ２２と読み出し部３２との間の信号経路を確立するか、ＩＰマクロ２２とバス２４との間の信号経路を確立するか選択する。
【００２６】
マクロアクセス信号は、バス２４に接続された回路（たとえば、ＣＰＵ２１）からＩＰマクロ２２へのアクセスが発生する際、アサートされ、バス２４からＩＰマクロ２２側に出力される信号である。
【００２７】
たとえば、選択部３６は、マクロアクセス信号がデアサートのときは、読み出し部３２とＩＰマクロ２２との間の信号経路を確立し、バス２４とＩＰマクロ２２との間の信号経路を切断する。
【００２８】
選択部３６は、マクロアクセス信号がアサートのときは、バス２４とＩＰマクロ２２との間の信号経路を確立し、読み出し部３２とＩＰマクロ２２との間の信号経路を切断することによって、ステータスビットの監視を中断させる。これにより、バス２４に接続された回路（ＣＰＵ２１など）とＩＰマクロ２２との間の通信が、回路状態監視回路２３による監視動作によって妨げられることを抑制できる。
【００２９】
図４は、監視部の一例を示す図である。
図４では、ステータスビットが“１”に変化したときに“１”が出力され、割り込み発生部３４に割り込みを発生させる監視部３３の例が示されている。
【００３０】
監視部３３は、ＡＮＤ回路３３ａと、比較器３３ｂを有している。
ＡＮＤ回路３３ａは、位置情報保持部３１に保持された位置情報と、読み出し部３２で読み出されたレジスタ２２ａのデータ（ステータスビットを含む）とのＡＮＤ論理を出力する。
【００３１】
たとえば、位置情報として、“８’ｂ０００１００００”が位置情報保持部３１に格納されているとする。ここで、位置情報の“８”は位置情報が８ビットであることを示し、“ｂ”は位置情報が２進数で表されていることを示している。また、位置情報において、“１”の位置がステータスビットの位置であることを示している。上記の例では、下から５ビット目がステータスビットの位置であることが示されている。
【００３２】
読み出し部３２で読み出されるデータが、たとえば、“８’ｂ０１０１０１０１”の場合、ＡＮＤ回路３３ａの出力は、“８’ｂ０００１００００”となる。
比較器３３ｂは、位置情報保持部３１に保持された位置情報と、ＡＮＤ回路３３ａの出力とを比較し、両者が一致している場合には“１”を出力し、割り込み発生部３４に割り込み信号をアサートさせる。両者が一致していない場合には、比較器３３ｂは“０”を出力する。
【００３３】
上記の例では、位置情報が“８’ｂ０００１００００”であり、ＡＮＤ回路３３ａの出力も“８’ｂ０００１００００”となるので、比較器３３ｂからは“１”が出力され、割り込み発生部３４は、割り込み信号をアサートする。すなわち、監視部３３は、読み出し部３２で読み出されるデータの下から５ビット目であるステータスビットが“１”であると、割り込み発生部３４にＣＰＵ２１に対する割り込みを発生させる。
【００３４】
なお、図１に示した半導体集積回路１０の回路状態監視回路１３も、回路状態監視回路２３とほぼ同様の回路で実現できるが、選択部３６は用いず、読み出し部３２がバス２４（図１では、バス１４）に接続される。
【００３５】
以下、第２の実施の形態の半導体集積回路２０の動作をフローチャート及びタイミングチャートを用いて説明する。
なお、以下の例では、選択部３６は、マクロアクセス信号が“０”のときは、読み出し部３２とＩＰマクロ２２を接続して、両者の間の信号経路を確立する。そして、マクロアクセス信号が“１”のときは、選択部３６は、バス２４とＩＰマクロ２２を接続して、両者の間の信号経路を確立するものとする。
【００３６】
図５は、半導体集積回路の動作の一例を示すフローチャートである。
また、図６は、半導体集積回路の各部の信号の動きの一例を示すタイミングチャートである。図６では、上から、スタートビット、アドレス情報、位置情報、マクロアクセス信号、信号線３８，３７，４０の信号、監視部３３の出力、割り込み信号の様子が示されている。
【００３７】
ステップＳ１：ＣＰＵ２１は、バス２４を介して、アドレス情報保持部３０にステータスビットを格納しているレジスタ２２ａのアドレス情報を設定する。また、ＣＰＵ２１は、バス２４を介して、位置情報保持部３１に、ステータスビットの位置情報を設定する。これにより、図６の時刻ｔ１のように、ステータスビットがあるアドレスと、そのアドレスで指定されるデータ中におけるステータスビットの位置（ビット位置）が確定する。
【００３８】
ステップＳ２：ＣＰＵ２１は、スタートビット設定部３５にスタートビットを設定する（“１”を設定する）。これにより、読み出し部３２と監視部３３は動作を開始する。
ステップＳ３：選択部３６は、マクロアクセス信号がデアサート（“０”）か否かを判定する。マクロアクセス信号がデアサートである場合、読み出し部３２とＩＰマクロ２２を接続し、ステップＳ４の処理が行われる。マクロアクセス信号がアサートの場合には、選択部３６は、バス２４とＩＰマクロ２２を接続させる。そして、マクロアクセス信号がデアサートになるまで、ステップＳ３の処理が繰り返される。
【００３９】
図６に示す例では、スタートビットが“１”になる時刻ｔ２では、マクロアクセス信号が“０”であるため、選択部３６は、読み出し部３２とＩＰマクロ２２を接続する。
また、時刻ｔ３では、マクロアクセス信号が“１”であるため、選択部３６は、バス２４とＩＰマクロ２２を接続する。これにより、信号線３８と信号線４０の信号が同じもの（データＤ１）となる。
【００４０】
また、時刻ｔ４では、再びマクロアクセス信号が“０”となるため、選択部３６は、読み出し部３２とＩＰマクロ２２を接続する。
ステップＳ４：読み出し部３２は、アドレス情報で指定されたＩＰマクロ２２のレジスタ２２ａのステータスビットを含むデータを読み出す。
【００４１】
図６に示す時刻ｔ２や時刻ｔ４では、読み出し部３２とＩＰマクロ２２が選択部３６により接続されている。そのため、アドレス情報で指定されたＩＰマクロ２２のレジスタ２２ａのデータＤ２が信号線４０を介して信号線３７に伝達され、読み出し部３２に供給される。
【００４２】
ステップＳ５：監視部３３は、ステータスビットが所定の変化をするか判定する。監視部３３は、図６に示したようなデータＤ２中のステータスビットを位置情報により特定し、その変化を検出する。ステータスビットの所定の変化が検出されない場合には、ステップＳ３からの処理が繰り返される。ステータスビットの所定の変化が検出された場合には、ステップＳ６の処理が行われる。
【００４３】
ステップＳ６：監視部３３で、ステータスビットの所定の変化が検出された場合、割り込み発生部３４は、ＣＰＵ２１に対する割り込みを発生する。
図６に示す例では、時刻ｔ５において、ステータスビットの所定の変化を検出して、監視部３３の出力が“１”となり、割り込み発生部３４から出力される割り込み信号が“１”となりアサートされている。
【００４４】
これにより、ＣＰＵ２１は、ＩＰマクロ２２のステータスビットに所定の変化が発生したことを認識でき、ＩＰマクロ２２の回路状態が変化したことを認識できる。ＣＰＵ２１は、割り込みが発生すると、ＩＰマクロ２２にアクセスして、レジスタ２２ａの内容を読み、ステータスビットが変化したことを確認する。これは、検出した割り込みが、他の要因によるものではなく、ステータスビットの変化によるものであると確認するためである。
【００４５】
以上のような、半導体集積回路２０では、回路状態監視回路２３が、ＩＰマクロ２２のステータスビットを監視し、所定の変化を検出したときに、ＣＰＵ２１に通知するようにしたので、ＣＰＵ２１がポーリングを行わなくて済むようになる。これにより、ＣＰＵ２１の負荷を軽減できる。また、ステータスビットの変化が割り込み対象となっていないＩＰマクロ２２でも機能の追加などの修正をせずに使用できる。
【００４６】
また、半導体集積回路２０では、回路状態監視回路２３がバス２４とＩＰマクロ２２との間に接続されているので、回路状態監視回路２３は、バス２４を介さずにＩＰマクロ２２のステータスビットの変化を検出する。これにより、バス効率が向上する。
【００４７】
以上、実施の形態に基づき、本発明の半導体集積回路及び回路状態監視回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
たとえば、上記の説明では、ステータスビットが１つの場合について説明したが、これに限定されず、複数の回路状態を示す複数のステータスビットの変化を回路状態監視回路２３が監視するようにしてもよい。たとえば、同じアドレスで指定されるデータ中に、監視したい複数のステータスビットがある場合には、位置情報保持部３１には、各ステータスビットのビット位置を示す位置情報が格納される。
【００４８】
たとえば、アドレスで指定される８ビットデータ中の下から４ビット目と５ビット目がステータスビットである場合には、位置情報は“８’ｂ０００１００００”と、“８’ｂ００００１０００”となる。そして、監視部３３は、４ビット目と５ビット目のステータスビットの何れかが“１”になったときに、割り込み発生部３４にＣＰＵ２１に対する割り込みを発生させる。
【００４９】
なお、複数のステータスビットが、異なるアドレスで指定されるデータ中にある場合は、それぞれのアドレスに対して読み出されたデータ中におけるステータスビットの位置が、位置情報として位置情報保持部３１に格納され、同様の監視処理が行われる。
【００５０】
また、上記の説明では、ＩＰマクロ２２が１つの場合について説明したが、これに限定されない。ステータスビットの変化が割り込み対象とならないＩＰマクロが複数ある場合には、そのようなＩＰマクロに対して、上述した回路状態監視回路２３を接続すればよい。
【符号の説明】
【００５１】
１０  半導体集積回路
１１  プロセッサ部
１２  回路部
１２ａ  記憶部
１３  回路状態監視回路
１４  バス
１５  割り込み信号線
【図１】
2013041402.tif 000003
【図２】
2013041402.tif 000004
【図３】
2013041402.tif 000005
【図４】
2013041402.tif 000006
【図５】
2013041402.tif 000007
【図６】
2013041402.tif 000008