(57)【要約】【課題】  大規模システムＬＳＩの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用な半導体集積回路を提供することを目的とする。【解決手段】  本発明にかかる半導体集積回路は、特定の装置によるＣＰＵ外部バスの占有時間を検出する占有時間検出装置と、占有時間検出装置により検出された占有時間と内・外の装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記所定の処理を第１の外部端子を用いて行うことができるか否かの判断を行う通信可否判断装置と、通信可否判断装置の判断結果に基づき、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置とを備える構成とした。【選択図】図１
2006011629.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと前記ＣＰＵに接続されるアドレスバス、データバス、ステータスバスで構成されたＣＰＵ外部バスを具備する半導体集積回路であって、
前記ＣＰＵ外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、
半導体集積回路の外部に設けられた外部装置群と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第１の外部端子と、
前記ＣＰＵと前記内部装置群のうちの特定の装置との通信で前記ＣＰＵ外部バスを使用している期間、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記特定の装置以外の前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置とを具備する、
ことを特徴とする半導体集積回路。
【請求項２】
ＣＰＵと前記ＣＰＵに接続されるアドレスバス、データバス、ステータスバスで構成されたＣＰＵ外部バスを具備する半導体集積回路であって、
前記ＣＰＵ外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、
半導体集積回路の外部に設けられた特定の装置と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第２の外部端子と、
半導体集積回路の外部に設けられた前記特定の装置以外の外部装置群と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第１の外部端子と、
前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記内部装置群を構成する１つの装置と前記特定の装置以外の前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置とを具備する、
ことを特徴とする半導体集積回路。
【請求項３】
請求項１又は請求項２の何れかに記載の半導体集積回路において、
前記特定の装置は、前記外部装置群及び前記内部装置群を構成する装置の内で、前記ＣＰＵ外部バスの最大占有時間が最も長い装置である、
ことを特徴とする半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
前記特定の装置によるＣＰＵ外部バスの占有時間を検出する占有時間検出装置と、
前記占有時間検出装置により検出された占有時間と、前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置間で行われる所定の処理に要する通信時間とを比較し、前記占有期間中に前記所定の処理を前記第１の外部端子を介して行うことができるか否かの判断を行う通信可否判断装置とを備え、
前記端子制御装置は、前記通信可否判断装置の判断結果に基づいて、前記第１外部端子の接続切り替えを行う、
ことを特徴とする半導体集積回路。
【請求項５】
請求項４に記載の半導体集積回路において、
前記ＣＰＵから前記特定の装置に対してアクセス開始の通知がなされた時に、前記占有時間検出装置、通信可否判断装置、及び端子制御装置が動作する、
ことを特徴とする半導体集積回路。
【請求項６】
請求項４又は請求項５の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第１の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。
【請求項７】
請求項４又は請求項５の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第１の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。
【請求項８】
請求項７に記載の半導体集積回路において、
前記端子制御装置は、ＣＰＵ外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知する、
ことを特徴とする半導体集積回路。
【請求項９】
請求項４又は請求項５の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第１の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。
【請求項１０】
請求項９に記載の半導体集積回路において、
前記端子制御装置は、ＣＰＵ外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知する、
ことを特徴とする半導体集積回路。
【請求項１１】
請求項８又は請求項１０の何れかに記載の半導体集積回路において、
前記端子制御装置は、各外部装置に対して、前記ＣＰＵ外部バスのステータスバスのうち、前記ＣＰＵとのデータ通信の有効又は無効を通知するチップセレクト信号を全て無効にするとともに、リードイネーブル信号とライトイネーブル信号を同時に有効とする、
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に半導体集積回路に設けられた外部端子の有効活用に関するものである。
【背景技術】
【０００２】
一般に半導体集積回路は、ＣＰＵに接続されるアドレスバス、データバス、ステータスバスからなるＣＰＵ外部バスを有しており、半導体集積回路の内部装置群或いは半導体集積回路の外部装置群とＣＰＵとの接続は、同じＣＰＵ外部バスを共有して使用することにより行っている。
【０００３】
図９は、従来の半導体集積回路の構成を示すブロック図である。
図９において、従来の半導体集積回路１００は、ＣＰＵ１０１と、ＣＰＵ１０１と接続されるアドレスバス、データバス、ステータスバスで構成されたＣＰＵ外部バス１０２と、ＣＰＵ外部バス１０２と接続された、機能ブロック１０３、１０４や記憶装置１０５などで構成される内部装置群と、半導体集積回路１００の外部に設けられた外部装置群とＣＰＵ外部バス１０２とを接続する外部端子１０６と、半導体集積回路１００の外部に設けられた機能ブロック１１０と半導体集積回路１００内のＣＰＵ外部バス１０２とを接続する外部端子１０９とから構成されている。なお、ここでは、外部装置群が、記憶装置であるＲＯＭ１０７、ＳＲＡＭ１０８とからなるものとする。
【０００４】
そして、このようなＣＰＵ１０１を搭載した半導体集積回路１００において、複数の装置が半導体集積回路１００の内部及び外部でＣＰＵ外部バス１０２を共有する時、複数の装置のうちの１つとＣＰＵ１０１とのアクセスは、ＣＰＵ１０１がＣＰＵ外部バス１０２のステータスバスのうち、それぞれの装置に対応したチップセレクト信号を排他的にアクティブ状態にすることで、ＣＰＵ外部バス１０２を共有した複数の装置のうちの１つがＣＰＵ外部バス１０２を使用して、ＣＰＵ１０１とのアクセスを行っていた。
【０００５】
一方で、外部端子を有効活用する技術として、特許文献１に示すようなものも開示されている。これは、メモリ拡張時に、外部メモリに接続する外部端子のうちの、アドレスバス、データバスのみを用いて半導体集積回路１００内部装置の情報をモニタをする技術を開示するものである。
【特許文献１】特開平０９−１０６３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この従来の半導体集積回路１００において、ＣＰＵ外部バス１０２が、半導体集積回路１００の内部装置群を構成する装置とＣＰＵ１０１との通信で占有されている間は、半導体集積回路１００の外部端子１０６の数に限りがあるにもかかわらず、ＣＰＵ外部バス１０２に接続されている半導体集積回路１００の外部端子１０６が未使用状態であった。
【０００７】
また、ＣＰＵ外部バス１０２が、半導体集積回路１００の外部に設けられた機能ブロック１１０との通信で占有されている間は、外部端子１０６が未使用状態であるにもかかわらず、外部端子１０６を介して他の処理を全く行うことが出来なかった。
【０００８】
本発明は、前記問題点に鑑みてなされたものであり、ＣＰＵ外部バスがＣＰＵと特定の装置との通信処理により占有されている期間に、外部端子を有効活用し、大規模システムＬＳＩの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用な半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明の請求項１にかかる半導体集積回路は、ＣＰＵと前記ＣＰＵに接続されるアドレスバス、データバス、ステータスバスで構成されたＣＰＵ外部バスを具備する半導体集積回路であって、前記ＣＰＵ外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、半導体集積回路の外部に設けられた外部装置群と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第１の外部端子と、前記ＣＰＵと前記内部装置群のうちの特定の装置との通信で前記ＣＰＵ外部バスを使用している期間、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記特定の装置以外の前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置とを具備することを特徴とするものである。
【００１０】
また、本発明の請求項２にかかる半導体集積回路は、ＣＰＵと前記ＣＰＵに接続されるアドレスバス、データバス、ステータスバスで構成されたＣＰＵ外部バスを具備する半導体集積回路であって、前記ＣＰＵ外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、半導体集積回路の外部に設けられた特定の装置と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第２の外部端子と、半導体集積回路の外部に設けられた前記特定の装置以外の外部装置群と半導体集積回路内の前記ＣＰＵ外部バスとを接続する第１の外部端子と、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記内部装置群を構成する１つの装置と前記特定の装置以外の前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置とを具備することを特徴とするものである。
【００１１】
また、本発明の請求項３にかかる半導体集積回路は、請求項１又は請求項２の何れかに記載の半導体集積回路において、前記特定の装置は、前記外部装置群及び前記内部装置群を構成する装置の内で、前記ＣＰＵ外部バスの最大占有時間が最も長い装置であることを特徴とするものである。
【００１２】
また、本発明の請求項４にかかる半導体集積回路は、請求項３に記載の半導体集積回路において、前記特定の装置によるＣＰＵ外部バスの占有時間を検出する占有時間検出装置と、前記占有時間検出装置により検出された占有時間と、前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置間で行われる所定の処理に要する通信時間とを比較し、前記占有期間中に前記所定の処理を前記第１の外部端子を介して行うことができるか否かの判断を行う通信可否判断装置とを備え、前記端子制御装置は、前記通信可否判断装置の判断結果に基づいて、前記第１外部端子の接続切り替えを行うことを特徴とするものである。
【００１３】
また、本発明の請求項５にかかる半導体集積回路は、請求項４に記載の半導体集積回路において、前記ＣＰＵから前記特定の装置に対してアクセス開始の通知がなされた時に、前記占有時間検出装置、通信可否判断装置、及び端子制御装置が動作することを特徴とするものである。
【００１４】
また、本発明の請求項６にかかる半導体集積回路は、請求項４又は請求項５の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第１の外部端子を用いて接続することを特徴とするものである。
【００１５】
また、本発明の請求項７にかかる半導体集積回路は、請求項４又は請求項５の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第１の外部端子を用いて接続することを特徴とするものである。
【００１６】
また、本発明の請求項８にかかる半導体集積回路は、請求項７に記載の半導体集積回路において、前記端子制御装置は、ＣＰＵ外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知することを特徴とするものである。
【００１７】
また、本発明の請求項９にかかる半導体集積回路は、請求項４又は請求項５の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第１の外部端子を用いて接続することを特徴とするものである。
【００１８】
また、本発明の請求項１０にかかる半導体集積回路は、請求項９に記載の半導体集積回路において、前記端子制御装置は、ＣＰＵ外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知することを特徴とするものである。
【００１９】
また、本発明の請求項１１にかかる半導体集積回路は、請求項８又は請求項１０の何れかに記載の半導体集積回路において、前記端子制御装置は、各外部装置に対して、前記ＣＰＵ外部バスのステータスバスのうち、前記ＣＰＵとのデータ通信の有効又は無効を通知するチップセレクト信号を全て無効にするとともに、リードイネーブル信号とライトイネーブル信号を同時に有効とすることを特徴とするものである。
【発明の効果】
【００２０】
本発明にかかる半導体集積回路によれば、特定の装置によるＣＰＵ外部バスの占有時間を検出する占有時間検出装置と、占有時間検出装置により検出された占有時間と内・外の装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記所定の処理を第１の外部端子を用いて行うことができるか否かの判断を行う通信可否判断装置と、通信可否判断装置の判断結果に基づき、半導体集積回路内の前記ＣＰＵ外部バスを前記第１の外部端子から切り離し、前記内部装置群を構成する１つの装置と前記外部装置群を構成する１つの装置とを、前記第１の外部端子を用いて接続する端子制御装置を備えたことにより、特定の装置による前記ＣＰＵ外部バスの占有時間が、他の処理を行うのに十分な時間である場合には、ＣＰＵと特定の装置との通信でＣＰＵ外部バスを占有している期間に、第１の外部端子を用いて他の処理を行うことができ、第１の外部端子の有効活用をすることが可能になる効果が得られる。
【００２１】
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第１の外部端子を用いて接続することにより、前記半導体集積回路外部の記憶装置に格納されたデータ或いは命令ののフェッチを高速化することができる効果が得られる。
【００２２】
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第１の外部端子を用いて接続することにより、特別にモニタ用の外部端子を設けずに、半導体集積回路の内部状態を通常動作モード時にモニタすることができる効果が得られる。
【００２３】
また、本発明にかかる半導体装置によれば、前記端子制御装置が、ＣＰＵ外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知するようにしたことにより、ＣＰＵ外部バスのステータスバス中に、モニタ可能状態を通知する信号を新たに必要としない効果が得られる。
【００２４】
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記ＣＰＵと前記特定の装置との通信で前記ＣＰＵ外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第１の外部端子を用いて接続することにより、特別にシリアル通信用の外部端子を設けずに、半導体集積回路外部のシリアル通信機器に対してシリアル通信ができる効果が得られる。
【００２５】
また、本発明にかかる半導体装置によれば、前記端子制御装置が、ＣＰＵ外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知するようにしたことにより、ＣＰＵ外部バスのステータスバス中に、シリアル通信可能状態を通知する信号を新たに必要としない効果が得られる。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
以下に、本発明の実施の形態１による半導体集積回路について図１、図２を用いて説明する。
図１は、本発明の実施の形態１による半導体集積回路の構成の一例を示すブロック図である。
【００２７】
図１において、本発明の実施の形態１による半導体集積回路１は、ＣＰＵ１１と、ＣＰＵ外部バス１２と、占有時間検出装置１４を有する機能ブロック１３と、機能ブロック１５と、記憶装置１６と、スイッチ１７と、通信可否判断装置１９を有する端子制御装置１８と、外部端子２０（第１の外部端子）とからなる。
【００２８】
また、半導体集積回路１の外部には、外部端子２０によりＣＰＵ外部バス１２を介してＲＯＭ２１、ＳＲＡＭ２２がそれぞれ接続されている。
【００２９】
なお、説明の簡略化のため、半導体集積回路１内部に設けられた機能ブロック１３、機能ブロック１５、記憶装置１６からなる装置群を適宜、内部装置群と称し、また、半導体集積回路１外部に設けられたＲＯＭ２１、ＳＲＡＭ２２からなる装置群を適宜、外部装置群と称することにする。
【００３０】
ＣＰＵ外部バス１２は、アドレスバス、データバス、ステータスバスで構成され、ＣＰＵ１１と内部装置郡又は外部装置群とを接続するものである。
【００３１】
ＣＰＵ１１と内部装置郡又は外部装置群との接続は、ＣＰＵ外部バス１２のステータスバスを介して、内部装置群、又は外部装置群を構成する各装置に個別に出力されるチップセレクト信号（以下、ＣＳ信号と称する。）によって、ＣＰＵ１１と接続する装置が特定される。
【００３２】
具体的には、ＣＰＵ１１が各モジュールに接続されたＣＳ信号のうちの１つをＨｉｇｈにし、他の全てをＬｏｗにする。これにより、ＣＳ信号をＨｉｇｈとした装置とのアクセスが成立し、ＣＰＵ外部バス１２を介してデータの転送を行うことが可能になる。なお、ステータスバスは、ＣＳ信号、リードイネーブル信号（以下、ＲＥ信号と称する。）、ライトイネーブル信号（以下、ＷＥ信号と称する。）、その他バイトイネーブル信号等のＣＰＵ外部バス１２の状態を示す信号で構成されるものとし、ここでは、アクティブ状態をＨｉｇｈとし、非アクティブ状態をＬｏｗとしている。
【００３３】
機能ブロック１３は、内部装置群を構成する装置であり、外部装置群及び内部装置群の内で、ＣＰＵ１１との通信によるＣＰＵ外部バス１２の最大占有時間Ｔ１が最も長い装置である。また、機能ブロック１３には、機能ブロック１３のＣＰＵ１１との通信による、ＣＰＵ外部バス１２の占有開始から終了までの時間ｔを検出する占有時間検出装置１４が設けられている。
【００３４】
端子制御装置１８は、機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔ中に、他の外部装置群と内部装置群との通信を外部端子２０を用いて行うことができるか否かの判断を行う通信可否判断装置１９を有し、通信可否判断装置１９の判断結果に基づいて、スイッチ１７の切替制御を行うものである。
【００３５】
次に、占有時間検出装置１４及び通信可否判断装置１９についてさらに詳細に説明する。
占有時間検出装置１４は、カウンタを有し、機能ブロック１３のＣＰＵ外部バス１２の占有時間ｔを検出するものである。
【００３６】
また、通信可否判断装置１９は、占有時間検出装置１４から出力された機能ブロック１３のＣＰＵ外部バス１２の占有時間ｔと、外部装置と内部装置間で行う所定の処理に要する通信時間に基づいて、機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔ中に、外部装置と内部装置間の所定の処理を外部端子２０を用いて行うことができるか否かの判断を行うものである。
【００３７】
図２は、本発明の実施の形態１による半導体集積回路の占有時間検出装置１４及び通信可否判断装置１９の動作を説明するためのタイミングチャート図である。なお、ここでは、端子制御装置１８が、ＣＰＵ１１と機能ブロック１３との通信でＣＰＵ外部バス１２が占有されている期間に、記憶装置１６とＲＯＭ又はＳＲＡＭとの接続を外部端子２０を用いて行うものについて説明する。
【００３８】
占有時間検出装置１４は、図２に示すように一定値ｎから0まで１つずつ減算し、カウンタ値が0になるとｎに戻るカウンタを有し、該カウンタが有する一定値nは、機能ブロック１３の予め定められた最大占有時間Ｔ１に対応したカウンタ値である。
【００３９】
ＣＰＵ１１と機能ブロック１３との通信は、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際に、ＣＰＵ外部バス１２を占有して行われ、ＣＰＵ１１と機能ブロック１３との通信処理は、ＣＰＵ外部バス１２の占有開始時刻にかかわらず占有時間検出装置１４のカウンタ値が０となった時にＣＰＵ外部バス１２が開放されるように予めプログラミングされている。
【００４０】
そのため、図２に示すように、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際に、ＣＰＵ外部バス１２の占有状態を示すbus_stateはＨｉｇｈとなり、カウンタ値が０となった時にＣＰＵ外部バス１２は開放され、bus_stateはＬｏｗとなる。
【００４１】
これにより、占有時間検出装置１４は、ＣＰＵ１１が機能ブロック１３にアクセスを開始した時のカウンタ値を取得することによって、ＣＰＵ１１から機能ブロック１３へのアクセス開始時にＣＰＵ外部バス１２の占有開始から終了までの時間tを知ることが可能になる。
【００４２】
次に、図２に示すrom_en、sram_enは、それぞれ通信可否判断装置１９による判断結果を示したものであり、rom_enは、占有時間ｔ内に、半導体集積回路１内の記憶装置１６がＲＯＭ２１に格納された命令をフェッチする通信処理を行うことができるか否かを示す信号、sram_enは、占有時間ｔ内に、半導体集積回路１内の記憶装置１６がＳＲＡＭ２２からデータをフェッチする通信処理を行うことができるか否かを示す信号を示す。なお、各信号は、Ｈｉｇｈが通信可能状態、Ｌｏｗが通信不能状態をそれぞれ示すものとする。
【００４３】
なお、これらの信号は、通信可否判断装置１９が、占有時間検出装置１４から機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔが出力された際に、該占有時間ｔと、各通信処理を行うために必要な時間とをそれぞれ比較することにより生成され、占有時間ｔの方が所定の通信処理を行うために必要な時間より大きい場合には、通信可能状態を示すＨｉｇｈとなり、占有時間ｔの方が所定の通信処理を行うために必要な時間より小さい場合には、通信不能状態を示すＬｏｗとなる。また、図２に示すように占有時間検出装置１４のカウンタ値が０となった場合においては、ＣＰＵ外部バス１２が開放されるため、通信可否判断装置１９の判断結果は、通信不能状態を示すＬｏｗとされる。
【００４４】
そして、このように通信可否判断装置１９によって生成されたrom_en、sram_enの各信号は、通信可否判断結果を示すイネーブル信号として端子制御装置１９に出力される。なお、このイネーブル信号のうちいずれかがＨｉｇｈとなる場合には、ＣＰＵ１１と機能ブロック１３との通信がカウンタ値ｎ＝０以前に終了したとしても、ＣＰＵ１１は、占有時間検出装置１４のカウンタ値が０になるまでＣＰＵ外部バス１２を開放しない。
【００４５】
次に、端子制御装置１８についてさらに詳細に説明する。
端子制御装置１８は、通信可否判断装置１９の判断結果に基づいて、予めプログラミングされたスイッチの切り替え制御方式に従い、スイッチ１７の切り替え制御を行う。ここでは、端子制御装置１８がrom_en、sram_enの順で設定された切替優先順位に従って、スイッチ１７の切り替え制御を行うものとする。
【００４６】
なお、このスイッチ１７の切り替え制御に関するプログラムは、初期設定時に端子制御装置１８に設定をしておくものの他、ＲＯＭ２１に命令として格納しておき、ＣＰＵ１１が該命令をフェッチし解読して、端子制御装置１８に対して指示するようにしてもよい。
【００４７】
以下、この端子制御装置１８の動作について具体的に説明する。
端子制御装置１８は、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際に、先ず、通信可否判断装置１９から出力される判断結果のうちで、最も優先順位の高いrom_enの判断結果を参照し、rom_enがＨｉｇｈであれば、スイッチ１７の切り替えを行い、記憶装置１６とＲＯＭ２１とを外部端子２０を用いて接続する。また、同時に、外部端子２０を介して半導体集積回路１外部に設けられたＣＰＵ外部バス１２のステータスバスのうち、ＲＯＭ２１に対応したＣＳ信号とＲＥ信号のみをＨｉｇｈにし、ＣＰＵ１１のプログラムカウンタの値であるＲＯＭ２１のアドレス値を外部端子２０を介して半導体集積回路１外部に設けられたＣＰＵ外部バス１２のアドレスバスに出力した後、ＲＯＭ２１に格納された命令を記憶装置１６にプリフェッチする。この時、端子制御装置１８からＣＰＵ１１に対して記憶装置１６がプリフェッチを行うことを通知する。
【００４８】
これにより、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間に、記憶装置１６がＲＯＭ２１の命令のプリフェッチを行うことができ、ＣＰＵ外部バス１２が占有されている期間においても外部端子２０を有効に活用することができる。
【００４９】
また、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際の通信可否判断装置１９によるrom_enの判断結果がＬｏｗの場合には、次に、通信可否判断装置１９によるsram_enの判断結果を参照し、sram_enがＨｉｇｈであれば、スイッチ１７の切り替えを行い、記憶装置１６とＳＲＡＭ２２とを外部端子２０を用いて接続する。また、同時に、外部端子２０を介して半導体集積回路１外部に設けられたＣＰＵ外部バス１２のステータスバスのうち、ＳＲＡＭ２２に対応したＣＳ信号とＲＥ信号のみをＨｉｇｈにし、ＣＰＵ１１のプログラムカウンタの値であるＳＲＡＭ２２のアドレス値を外部端子２０を介して半導体集積回路１外部に設けられたＣＰＵ外部バス１２のアドレスバスに出力した後、ＳＲＡＭ２２に格納されたデータを記憶装置１６にプリフェッチする。この時、端子制御装置１８からＣＰＵ１１に対して記憶装置１６がプリフェッチを行うことを通知する。
【００５０】
これにより、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間に、記憶装置１６がＲＯＭ２１の命令のプリフェッチを行うことができない場合であっても、記憶装置１６がＳＲＡＭ２２のデータのプリフェッチを行うことができ、ＣＰＵ外部バス１２が占有されている期間においても外部端子２０を有効に活用することができる。
【００５１】
また、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際の通信可否判断装置１９によるrom_en 、及びsram_enの判断結果が共にＬｏｗの場合には、スイッチ１７の接続切り替えを行わない。
【００５２】
以上のように、本発明の実施の形態１による半導体集積回路１によれば、機能ブロック１３によるＣＰＵ外部バス１２の占有時間を検出する占有時間検出装置１４と、占有時間検出装置１４により検出された占有時間と外部装置と内部装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記外部装置と内部装置間で行う所定の処理を外部端子２０を用いて行うことができるか否かの判断を行う通信可否判断装置１９と、通信可否判断装置１９の判断結果に基づき、スイッチ１７の切り替え制御を行う端子制御装置を備えたことにより、ＣＰＵ１１と機能ブロック１３との通信でＣＰＵ外部バス１２を占有している期間に、外部端子２０を用いて命令またはデータのフェッチ処理を行うことが可能になり、外部端子２０の有効活用をすることができる。
【００５３】
なお、本発明の実施の形態１による半導体集積回路では、端子制御装置３２が、複数のスイッチの切り替え先候補から、予め決められた優先順位に従ってスイッチの切り替え先を決定するものについて説明したが、かかるスイッチの制御方式については特に限定はなく、例えば、予めスイッチの切り替え先候補を１つにしておいて、ＣＰＵ１１が機能ブロック１３にアクセスを開始した際に、スイッチの切り替えを行うか否かを決定するものの他、占有時間ｔが十分に長い場合にはＲＯＭ２１の命令のフェッチ処理とＳＲＡＭ２２のデータのフェッチ処理のように２以上の異なる処理を行うようにスイッチ切り替えを行ってもよい。
【００５４】
また、本発明の実施の形態１による半導体集積回路は、ＣＰＵ１１と機能ブロック１３との通信でＣＰＵ外部バス１２を占有している期間に、外部端子２０を用いて他の処理を行うものであれば良く、ＣＰＵ外部バス１２が占有されている期間中に外部端子２０を用いて接続する装置については、特に限定はない。
【００５５】
（実施の形態２）
次に、本発明の実施の形態２による半導体集積回路について説明する。
本発明の実施の形態２による半導体集積回路は、機能ブロックにＣＰＵ外部バスが占有されている期間に、モニタ装置によって半導体集積回路内の機能ブロックのモニタを行うものである。
【００５６】
図３は、本発明の実施の形態２による半導体集積回路の構成の一例を示すブロック図である。
【００５７】
図３において、本発明の実施の形態２による半導体集積回路２は、ＣＰＵ３１と、ＣＰＵ外部バス１２と、占有時間検出装置１４を有する機能ブロック１３と、機能ブロック１５と、記憶装置１６と、スイッチ１７と、通信可否判断装置３３を有する端子制御装置３２と、外部端子２０（第１の外部端子）とからなる。
【００５８】
また、半導体集積回路２の外部には、外部端子２０によりＣＰＵ外部バス１２を介してＲＯＭ２１、ＳＲＡＭ２２、及びモニタ装置３４がそれぞれ接続されている。
【００５９】
なお、説明の簡略化のため、半導体集積回路１内部に設けられた機能ブロック１３、機能ブロック１５、記憶装置１６からなる装置群を適宜、内部装置群と称し、また、半導体集積回路１外部に設けられたＲＯＭ２１、ＳＲＡＭ２２、モニタ装置３４からなる装置群を適宜、外部装置群と称することにする。また、前記実施の形態１で説明した半導体集積回路と同じ構成要素については、同じ符号を付し、ここでは説明を省略する。
【００６０】
端子制御装置３２は、機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔ中に、半導体集積回路２外部に設けられたモニタ装置３４によって半導体集積回路２内部の機能ブロック１５をモニタするための通信処理を外部端子２０を用いて行うことができるか否かの判断を行う通信可否判断装置３３を有し、通信可否判断装置３３の判断結果に基づいて、スイッチ１７の切替制御を行うものである。
【００６１】
次に、通信可否判断装置３３についてさらに詳細に説明する。
通信可否判断装置３３は、占有時間検出装置１４から出力された機能ブロック１３のＣＰＵ外部バス１２の占有時間ｔと、半導体集積回路２外部に設けられたモニタ装置３４によって半導体集積回路２内部の機能ブロック１５をモニタするための通信時間とを比較し、機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔ中に、外部端子２０を用いてモニタ装置３４による機能ブロック１５のモニタ処理を行うことができるか否かの判断を行うものである。
【００６２】
図４は、本発明の実施の形態２による半導体集積回路の占有時間検出装置１４及び通信可否判断装置３３の動作を説明するためのタイミングチャート図である。
【００６３】
占有時間検出装置１４は、前記実施の形態１で説明したように、カウンタを有し、図４に示すようなカウンタ処理を行う。これにより、占有時間検出装置１４は、ＣＰＵ１１が機能ブロック１３にアクセスを開始した時のカウンタ値を取得することによって、ＣＰＵ１１から機能ブロック１３へのアクセス開始時にＣＰＵ外部バス１２の占有開始から終了までの時間ｔを知ることが可能になる。
【００６４】
そして、通信可否判断装置３３は、占有時間検出装置１４から機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔが出力された際に、該占有時間ｔと、モニタ装置３４によるモニタ処理を行うために必要な時間とを比較し、機能ブロック１３のＣＰＵ外部バス１２の占有期間ｔ中に、外部端子２０を用いてモニタ装置３４による機能ブロック１５のモニタ処理を行うことができるか否かの判断を行う。
【００６５】
図４のmoni_enは、通信可否判断装置３３による判断結果を示したものであり、半導体集積回路１外部のモニタ装置３４より機能ブロック１５の状態をモニタする通信処理を行うことができるか否かを示す信号である。
【００６６】
次に、端子制御装置３２についてさらに詳細に説明する。
端子制御装置３２は、ＣＰＵ３１が機能ブロック１３にアクセスを開始した際に、通信可否判断装置３３から出力される判断結果moni_enの判断結果を参照し、moni_enがＨｉｇｈであれば、スイッチ１７の切り替えを行い、ＣＰＵ外部バス１２を共有した外部端子２０のうち、アドレスバス、データバス、及びＣＳ、ＲＥ、ＷＥ以外のステータスバスのバス群を機能ブロック１５のモニタしたい信号に接続する。
【００６７】
またこの際、モニタ装置３４に対してアクセス許可を通知するためのＣＳを外部端子２０のステータスバス中に設けず、端子制御装置３２は、モニタ装置３４以外の外部装置群を構成するＲＯＭ２１及びＳＲＡＭ２２に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知する。
【００６８】
具体例としては、例えば、モニタ装置３４にＷＥ信号とＲＥ信号の論理積が入力されるように構成しておき、図５に示すように、ＲＯＭ２１、及びＳＲＡＭ２２に対応したＣＳ信号をともにＬｏｗにし、ＷＥ信号、及びＲＥ信号をともにＨｉｇｈにする。
【００６９】
これにより、ＲＯＭ２１、及びＳＲＡＭ２２に対応したＣＳ信号がともにＬｏｗであるため、ＲＯＭ２１、及びＳＲＡＭ２２が動作することは無い。また、ＷＥ信号、及びＲＥ信号の論理積であるＨｉｇｈがモニタ可能状態信号としてモニタ装置３４に入力されることとなり、モニタ装置３４に専用のＣＳを設けることなく、モニタ装置３４にモニタ可能状態を知らせることができる。
【００７０】
また、このように、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間にモニタ可能状態信号を受けたモニタ装置３４は、機能ブロック１５の状態を半導体集積回路２の外部よりモニタすることができ、外部端子２０を有効に活用することができる。
【００７１】
以上のように、本発明の実施の形態２による半導体集積回路2によれば、端子制御装置３２が、ＣＰＵ３１が機能ブロック１３にアクセスを開始した際に、通信可否判断装置３３から出力される判断結果moni_enの判断結果を参照してスイッチ１７の切り替えを行うことにより、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間に、機能ブロック１５の状態を半導体集積回路２の外部よりモニタすることができ、特別にモニタ用の外部端子を設けることなく、外部端子２０を有効に活用することができる。
【００７２】
また、モニタ装置３４以外の外部装置群であるＲＯＭ２１、及びＳＲＡＭ２２に対して、ステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にして外部装置群を構成するモニタ装置に対してモニタ処理可能を通知することにより、モニタ装置３４に専用のＣＳを新たに必要とすることなく、モニタ装置３４にモニタ可能状態を知らせることができる。
【００７３】
なお、本発明の実施の形態２による半導体集積回路では、ステータスバスの状態を、ＲＯＭ２１、及びＳＲＡＭ２２に対応したＣＳ信号をともにＬｏｗにするとともに、ＷＥ信号、及びＲＥ信号をともにＨｉｇｈにするものについて説明したが、これはあくまで一例であり、ＣＳ信号、ＲＥ信号、ＷＥ信号、その他バイトイネーブル信号等のＣＰＵ外部バス１２の状態を示す信号を自由に組み合わせてステータスバスの状態をモニタ可能状態を示す信号以外ではありえない状態にすればよい。
【００７４】
また、本発明の実施の形態２による半導体集積回路では、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間に、モニタ装置によって半導体集積回路内の機能ブロックのモニタを行うものについて説明したが、本実施の形態２で説明した半導体集積回路と同様に、図６、図７に示すような、半導体集積回路３内部のシリアル通信インターフェース４５と半導体集積回路３外部のシリアル通信機器４６との通信を、機能ブロック１３にＣＰＵ外部バス１２が占有されている期間に行うことも可能である。
【００７５】
（実施の形態３）
次に、本発明の実施の形態３による半導体集積回路について説明する。
本発明の実施の形態３による半導体集積回路では、外部装置群及び内部装置群の内で、ＣＰＵ外部バスの最大占有時間が最も長い装置が半導体集積回路外部にある場合について説明する。
【００７６】
図８は、本発明の実施の形態３による半導体集積回路の構成の一例を示すブロック図である。
図８において、本発明の実施の形態３による半導体集積回路４は、ＣＰＵ１１と、ＣＰＵ外部バス１２と、占有時間検出装置１４と、機能ブロック１５と、記憶装置１６と、スイッチ１７と、通信可否判断装置１９を有する端子制御装置１８と、外部端子２０（第１の外部端子）と、外部端子５２（第２の外部端子）とからなる。
【００７７】
また、半導体集積回路４の外部には、外部端子２０によりＣＰＵ外部バス１２を介してＲＯＭ２１、ＳＲＡＭ２２がそれぞれ接続されているとともに、外部端子５２を介して機能ブロック５１が接続されている。
【００７８】
なお、説明の簡略化のため、半導体集積回路１内部に設けられた機能ブロック１５、記憶装置１６からなる装置群を適宜、内部装置群と称し、また、半導体集積回路１外部に設けられたＲＯＭ２１、ＳＲＡＭ２２、機能ブロック５１からなる装置群を適宜、外部装置群と称することにする。また、前記実施の形態１で説明した半導体集積回路と同じ構成要素については、同じ符号を付し、ここでは説明を省略する。
【００７９】
外部端子５２は、機能ブロック５１と半導体集積回路４内のＣＰＵ外部バス１２とを接続するものである。なお、機能ブロック５１は、外部装置群及び内部装置群の内で、ＣＰＵ外部バス１２の最大占有時間が最も長い装置である。
【００８０】
そして、このように構成された本発明の実施の形態３による半導体集積回路４は、前記実施の形態１による半導体集積回路と同様に、ＣＰＵ１１が機能ブロック５１にアクセスを開始した際に、機能ブロック５１のＣＰＵ外部バス１２の占有時間ｔが占有時間検出装置１４で検出され、通信可否判断装置１９による占有時間ｔ中に所定の処理を行うことができるか否かの判断結果に基づいて、端子制御装置１８によってスイッチ１７の切替制御が行われる。
【００８１】
これにより、前述した実施の形態１による半導体集積回路と同様に、機能ブロック５１にＣＰＵ外部バス１２が占有されている期間に、記憶装置１６がＲＯＭ２１の命令、又はＳＲＡＭ２２のデータのプリフェッチを行うことができ、ＣＰＵ外部バス１２が占有されている期間においても外部端子２０を有効に活用することができる。
【００８２】
以上のように、本発明の実施の形態３による半導体集積回路４によれば、機能ブロック５１によるＣＰＵ外部バス１２の占有時間を検出する占有時間検出装置１４と、占有時間検出装置１４により検出された占有時間と、外部装置と内部装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記外部装置と内部装置間で行う所定の処理を外部端子２０を用いて行うことができるか否かの判断を行う通信可否判断装置１９と、通信可否判断装置１９の判断結果に基づき、スイッチ１７の切り替え制御を行う端子制御装置とを備えたことにより、ＣＰＵ１１と機能ブロック５１との通信でＣＰＵ外部バス１２を占有している期間に、外部端子２０を用いて他の処理を行うことが可能になり、外部端子２０の有効活用をすることができる。
【産業上の利用可能性】
【００８３】
本発明にかかる半導体集積回路は、ＣＰＵ外部バスがＣＰＵと特定の装置との通信処理により占有されている期間に、外部端子を用いて他の処理を行うことができるため、大規模システムＬＳＩの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用である。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の形態１による半導体集積回路の構成の一例を示すブロック図である。
【図２】本発明の実施の形態１による半導体集積回路の占有時間検出装置及び通信可否判断装置の動作を説明するためのタイミングチャート図である。
【図３】本発明の実施の形態２による半導体集積回路の構成の一例を示すブロック図である。
【図４】本発明の実施の形態２による半導体集積回路の占有時間検出装置及び通信可否判断装置の動作を説明するためのタイミングチャート図である。
【図５】外部装置群を構成するＲＯＭ及びＳＲＡＭに対するステータスバスの状態を示す図である。
【図６】本発明の実施の形態２による半導体集積回路の他の構成を示すブロック図である。
【図７】本発明の実施の形態２による半導体集積回路の占有時間検出装置及び通信可否判断装置の動作を説明する他のタイミングチャート図である。
【図８】本発明の実施の形態３による半導体集積回路の構成の一例を示すブロック図である。
【図９】従来の半導体集積回路の構成を示すブロック図である。
【符号の説明】
【００８５】
１、２、３、４  半導体集積回路
１１、３１、４１、１０１  ＣＰＵ
１２、１０２  ＣＰＵ外部バス
１３、１０３  機能ブロック
１４、４２  占有時間検出装置
１５、１０４  機能ブロック
１６、１０５  記憶装置
１７  スイッチ
１８、３２、４３  端子制御装置
１９、３３、４４  通信可否判断装置
２０、１０６  第１の外部端子
２１、１０７  ＲＯＭ
２２、１０８  ＳＲＡＭ
３４  モニタ装置
４５  シリアル通信インターフェース
４６  シリアル通信機器
５１  機能ブロック
５２  第２の外部端子
【図１】
2006011629.tif 000003
【図２】
2006011629.tif 000004
【図３】
2006011629.tif 000005
【図４】
2006011629.tif 000006
【図５】
2006011629.tif 000007
【図６】
2006011629.tif 000008
【図７】
2006011629.tif 000009
【図８】
2006011629.tif 000010
【図９】
2006011629.tif 000011