JP2006011629A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2006011629A JP2006011629A JP2004185046A JP2004185046A JP2006011629A JP 2006011629 A JP2006011629 A JP 2006011629A JP 2004185046 A JP2004185046 A JP 2004185046A JP 2004185046 A JP2004185046 A JP 2004185046A JP 2006011629 A JP2006011629 A JP 2006011629A
- Authority
- JP
- Japan
- Prior art keywords
- external
- integrated circuit
- semiconductor integrated
- cpu
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Microcomputers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】 大規模システムLSIの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用な半導体集積回路を提供することを目的とする。
【解決手段】 本発明にかかる半導体集積回路は、特定の装置によるCPU外部バスの占有時間を検出する占有時間検出装置と、占有時間検出装置により検出された占有時間と内・外の装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記所定の処理を第1の外部端子を用いて行うことができるか否かの判断を行う通信可否判断装置と、通信可否判断装置の判断結果に基づき、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを備える構成とした。
【選択図】図1
【解決手段】 本発明にかかる半導体集積回路は、特定の装置によるCPU外部バスの占有時間を検出する占有時間検出装置と、占有時間検出装置により検出された占有時間と内・外の装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記所定の処理を第1の外部端子を用いて行うことができるか否かの判断を行う通信可否判断装置と、通信可否判断装置の判断結果に基づき、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを備える構成とした。
【選択図】図1
Description
本発明は、半導体集積回路に関し、特に半導体集積回路に設けられた外部端子の有効活用に関するものである。
一般に半導体集積回路は、CPUに接続されるアドレスバス、データバス、ステータスバスからなるCPU外部バスを有しており、半導体集積回路の内部装置群或いは半導体集積回路の外部装置群とCPUとの接続は、同じCPU外部バスを共有して使用することにより行っている。
図9は、従来の半導体集積回路の構成を示すブロック図である。
図9において、従来の半導体集積回路100は、CPU101と、CPU101と接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バス102と、CPU外部バス102と接続された、機能ブロック103、104や記憶装置105などで構成される内部装置群と、半導体集積回路100の外部に設けられた外部装置群とCPU外部バス102とを接続する外部端子106と、半導体集積回路100の外部に設けられた機能ブロック110と半導体集積回路100内のCPU外部バス102とを接続する外部端子109とから構成されている。なお、ここでは、外部装置群が、記憶装置であるROM107、SRAM108とからなるものとする。
図9において、従来の半導体集積回路100は、CPU101と、CPU101と接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バス102と、CPU外部バス102と接続された、機能ブロック103、104や記憶装置105などで構成される内部装置群と、半導体集積回路100の外部に設けられた外部装置群とCPU外部バス102とを接続する外部端子106と、半導体集積回路100の外部に設けられた機能ブロック110と半導体集積回路100内のCPU外部バス102とを接続する外部端子109とから構成されている。なお、ここでは、外部装置群が、記憶装置であるROM107、SRAM108とからなるものとする。
そして、このようなCPU101を搭載した半導体集積回路100において、複数の装置が半導体集積回路100の内部及び外部でCPU外部バス102を共有する時、複数の装置のうちの1つとCPU101とのアクセスは、CPU101がCPU外部バス102のステータスバスのうち、それぞれの装置に対応したチップセレクト信号を排他的にアクティブ状態にすることで、CPU外部バス102を共有した複数の装置のうちの1つがCPU外部バス102を使用して、CPU101とのアクセスを行っていた。
一方で、外部端子を有効活用する技術として、特許文献1に示すようなものも開示されている。これは、メモリ拡張時に、外部メモリに接続する外部端子のうちの、アドレスバス、データバスのみを用いて半導体集積回路100内部装置の情報をモニタをする技術を開示するものである。
特開平09−106359号公報
しかしながら、この従来の半導体集積回路100において、CPU外部バス102が、半導体集積回路100の内部装置群を構成する装置とCPU101との通信で占有されている間は、半導体集積回路100の外部端子106の数に限りがあるにもかかわらず、CPU外部バス102に接続されている半導体集積回路100の外部端子106が未使用状態であった。
また、CPU外部バス102が、半導体集積回路100の外部に設けられた機能ブロック110との通信で占有されている間は、外部端子106が未使用状態であるにもかかわらず、外部端子106を介して他の処理を全く行うことが出来なかった。
本発明は、前記問題点に鑑みてなされたものであり、CPU外部バスがCPUと特定の装置との通信処理により占有されている期間に、外部端子を有効活用し、大規模システムLSIの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用な半導体集積回路を提供することを目的とする。
前記目的を達成するために、本発明の請求項1にかかる半導体集積回路は、CPUと前記CPUに接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バスを具備する半導体集積回路であって、前記CPU外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、半導体集積回路の外部に設けられた外部装置群と半導体集積回路内の前記CPU外部バスとを接続する第1の外部端子と、前記CPUと前記内部装置群のうちの特定の装置との通信で前記CPU外部バスを使用している期間、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記特定の装置以外の前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを具備することを特徴とするものである。
また、本発明の請求項2にかかる半導体集積回路は、CPUと前記CPUに接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バスを具備する半導体集積回路であって、前記CPU外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、半導体集積回路の外部に設けられた特定の装置と半導体集積回路内の前記CPU外部バスとを接続する第2の外部端子と、半導体集積回路の外部に設けられた前記特定の装置以外の外部装置群と半導体集積回路内の前記CPU外部バスとを接続する第1の外部端子と、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記内部装置群を構成する1つの装置と前記特定の装置以外の前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを具備することを特徴とするものである。
また、本発明の請求項3にかかる半導体集積回路は、請求項1又は請求項2の何れかに記載の半導体集積回路において、前記特定の装置は、前記外部装置群及び前記内部装置群を構成する装置の内で、前記CPU外部バスの最大占有時間が最も長い装置であることを特徴とするものである。
また、本発明の請求項4にかかる半導体集積回路は、請求項3に記載の半導体集積回路において、前記特定の装置によるCPU外部バスの占有時間を検出する占有時間検出装置と、前記占有時間検出装置により検出された占有時間と、前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置間で行われる所定の処理に要する通信時間とを比較し、前記占有期間中に前記所定の処理を前記第1の外部端子を介して行うことができるか否かの判断を行う通信可否判断装置とを備え、前記端子制御装置は、前記通信可否判断装置の判断結果に基づいて、前記第1外部端子の接続切り替えを行うことを特徴とするものである。
また、本発明の請求項5にかかる半導体集積回路は、請求項4に記載の半導体集積回路において、前記CPUから前記特定の装置に対してアクセス開始の通知がなされた時に、前記占有時間検出装置、通信可否判断装置、及び端子制御装置が動作することを特徴とするものである。
また、本発明の請求項6にかかる半導体集積回路は、請求項4又は請求項5の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第1の外部端子を用いて接続することを特徴とするものである。
また、本発明の請求項7にかかる半導体集積回路は、請求項4又は請求項5の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第1の外部端子を用いて接続することを特徴とするものである。
また、本発明の請求項8にかかる半導体集積回路は、請求項7に記載の半導体集積回路において、前記端子制御装置は、CPU外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知することを特徴とするものである。
また、本発明の請求項9にかかる半導体集積回路は、請求項4又は請求項5の何れかに記載の半導体集積回路において、前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第1の外部端子を用いて接続することを特徴とするものである。
また、本発明の請求項10にかかる半導体集積回路は、請求項9に記載の半導体集積回路において、前記端子制御装置は、CPU外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知することを特徴とするものである。
また、本発明の請求項11にかかる半導体集積回路は、請求項8又は請求項10の何れかに記載の半導体集積回路において、前記端子制御装置は、各外部装置に対して、前記CPU外部バスのステータスバスのうち、前記CPUとのデータ通信の有効又は無効を通知するチップセレクト信号を全て無効にするとともに、リードイネーブル信号とライトイネーブル信号を同時に有効とすることを特徴とするものである。
本発明にかかる半導体集積回路によれば、特定の装置によるCPU外部バスの占有時間を検出する占有時間検出装置と、占有時間検出装置により検出された占有時間と内・外の装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記所定の処理を第1の外部端子を用いて行うことができるか否かの判断を行う通信可否判断装置と、通信可否判断装置の判断結果に基づき、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置を備えたことにより、特定の装置による前記CPU外部バスの占有時間が、他の処理を行うのに十分な時間である場合には、CPUと特定の装置との通信でCPU外部バスを占有している期間に、第1の外部端子を用いて他の処理を行うことができ、第1の外部端子の有効活用をすることが可能になる効果が得られる。
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第1の外部端子を用いて接続することにより、前記半導体集積回路外部の記憶装置に格納されたデータ或いは命令ののフェッチを高速化することができる効果が得られる。
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第1の外部端子を用いて接続することにより、特別にモニタ用の外部端子を設けずに、半導体集積回路の内部状態を通常動作モード時にモニタすることができる効果が得られる。
また、本発明にかかる半導体装置によれば、前記端子制御装置が、CPU外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知するようにしたことにより、CPU外部バスのステータスバス中に、モニタ可能状態を通知する信号を新たに必要としない効果が得られる。
また、本発明にかかる半導体装置によれば、前記通信可否判断装置が、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、前記端子制御装置が、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第1の外部端子を用いて接続することにより、特別にシリアル通信用の外部端子を設けずに、半導体集積回路外部のシリアル通信機器に対してシリアル通信ができる効果が得られる。
また、本発明にかかる半導体装置によれば、前記端子制御装置が、CPU外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知するようにしたことにより、CPU外部バスのステータスバス中に、シリアル通信可能状態を通知する信号を新たに必要としない効果が得られる。
(実施の形態1)
以下に、本発明の実施の形態1による半導体集積回路について図1、図2を用いて説明する。
図1は、本発明の実施の形態1による半導体集積回路の構成の一例を示すブロック図である。
以下に、本発明の実施の形態1による半導体集積回路について図1、図2を用いて説明する。
図1は、本発明の実施の形態1による半導体集積回路の構成の一例を示すブロック図である。
図1において、本発明の実施の形態1による半導体集積回路1は、CPU11と、CPU外部バス12と、占有時間検出装置14を有する機能ブロック13と、機能ブロック15と、記憶装置16と、スイッチ17と、通信可否判断装置19を有する端子制御装置18と、外部端子20(第1の外部端子)とからなる。
また、半導体集積回路1の外部には、外部端子20によりCPU外部バス12を介してROM21、SRAM22がそれぞれ接続されている。
なお、説明の簡略化のため、半導体集積回路1内部に設けられた機能ブロック13、機能ブロック15、記憶装置16からなる装置群を適宜、内部装置群と称し、また、半導体集積回路1外部に設けられたROM21、SRAM22からなる装置群を適宜、外部装置群と称することにする。
CPU外部バス12は、アドレスバス、データバス、ステータスバスで構成され、CPU11と内部装置郡又は外部装置群とを接続するものである。
CPU11と内部装置郡又は外部装置群との接続は、CPU外部バス12のステータスバスを介して、内部装置群、又は外部装置群を構成する各装置に個別に出力されるチップセレクト信号(以下、CS信号と称する。)によって、CPU11と接続する装置が特定される。
具体的には、CPU11が各モジュールに接続されたCS信号のうちの1つをHighにし、他の全てをLowにする。これにより、CS信号をHighとした装置とのアクセスが成立し、CPU外部バス12を介してデータの転送を行うことが可能になる。なお、ステータスバスは、CS信号、リードイネーブル信号(以下、RE信号と称する。)、ライトイネーブル信号(以下、WE信号と称する。)、その他バイトイネーブル信号等のCPU外部バス12の状態を示す信号で構成されるものとし、ここでは、アクティブ状態をHighとし、非アクティブ状態をLowとしている。
機能ブロック13は、内部装置群を構成する装置であり、外部装置群及び内部装置群の内で、CPU11との通信によるCPU外部バス12の最大占有時間T1が最も長い装置である。また、機能ブロック13には、機能ブロック13のCPU11との通信による、CPU外部バス12の占有開始から終了までの時間tを検出する占有時間検出装置14が設けられている。
端子制御装置18は、機能ブロック13のCPU外部バス12の占有期間t中に、他の外部装置群と内部装置群との通信を外部端子20を用いて行うことができるか否かの判断を行う通信可否判断装置19を有し、通信可否判断装置19の判断結果に基づいて、スイッチ17の切替制御を行うものである。
次に、占有時間検出装置14及び通信可否判断装置19についてさらに詳細に説明する。
占有時間検出装置14は、カウンタを有し、機能ブロック13のCPU外部バス12の占有時間tを検出するものである。
占有時間検出装置14は、カウンタを有し、機能ブロック13のCPU外部バス12の占有時間tを検出するものである。
また、通信可否判断装置19は、占有時間検出装置14から出力された機能ブロック13のCPU外部バス12の占有時間tと、外部装置と内部装置間で行う所定の処理に要する通信時間に基づいて、機能ブロック13のCPU外部バス12の占有期間t中に、外部装置と内部装置間の所定の処理を外部端子20を用いて行うことができるか否かの判断を行うものである。
図2は、本発明の実施の形態1による半導体集積回路の占有時間検出装置14及び通信可否判断装置19の動作を説明するためのタイミングチャート図である。なお、ここでは、端子制御装置18が、CPU11と機能ブロック13との通信でCPU外部バス12が占有されている期間に、記憶装置16とROM又はSRAMとの接続を外部端子20を用いて行うものについて説明する。
占有時間検出装置14は、図2に示すように一定値nから0まで1つずつ減算し、カウンタ値が0になるとnに戻るカウンタを有し、該カウンタが有する一定値nは、機能ブロック13の予め定められた最大占有時間T1に対応したカウンタ値である。
CPU11と機能ブロック13との通信は、CPU11が機能ブロック13にアクセスを開始した際に、CPU外部バス12を占有して行われ、CPU11と機能ブロック13との通信処理は、CPU外部バス12の占有開始時刻にかかわらず占有時間検出装置14のカウンタ値が0となった時にCPU外部バス12が開放されるように予めプログラミングされている。
そのため、図2に示すように、CPU11が機能ブロック13にアクセスを開始した際に、CPU外部バス12の占有状態を示すbus_stateはHighとなり、カウンタ値が0となった時にCPU外部バス12は開放され、bus_stateはLowとなる。
これにより、占有時間検出装置14は、CPU11が機能ブロック13にアクセスを開始した時のカウンタ値を取得することによって、CPU11から機能ブロック13へのアクセス開始時にCPU外部バス12の占有開始から終了までの時間tを知ることが可能になる。
次に、図2に示すrom_en、sram_enは、それぞれ通信可否判断装置19による判断結果を示したものであり、rom_enは、占有時間t内に、半導体集積回路1内の記憶装置16がROM21に格納された命令をフェッチする通信処理を行うことができるか否かを示す信号、sram_enは、占有時間t内に、半導体集積回路1内の記憶装置16がSRAM22からデータをフェッチする通信処理を行うことができるか否かを示す信号を示す。なお、各信号は、Highが通信可能状態、Lowが通信不能状態をそれぞれ示すものとする。
なお、これらの信号は、通信可否判断装置19が、占有時間検出装置14から機能ブロック13のCPU外部バス12の占有期間tが出力された際に、該占有時間tと、各通信処理を行うために必要な時間とをそれぞれ比較することにより生成され、占有時間tの方が所定の通信処理を行うために必要な時間より大きい場合には、通信可能状態を示すHighとなり、占有時間tの方が所定の通信処理を行うために必要な時間より小さい場合には、通信不能状態を示すLowとなる。また、図2に示すように占有時間検出装置14のカウンタ値が0となった場合においては、CPU外部バス12が開放されるため、通信可否判断装置19の判断結果は、通信不能状態を示すLowとされる。
そして、このように通信可否判断装置19によって生成されたrom_en、sram_enの各信号は、通信可否判断結果を示すイネーブル信号として端子制御装置19に出力される。なお、このイネーブル信号のうちいずれかがHighとなる場合には、CPU11と機能ブロック13との通信がカウンタ値n=0以前に終了したとしても、CPU11は、占有時間検出装置14のカウンタ値が0になるまでCPU外部バス12を開放しない。
次に、端子制御装置18についてさらに詳細に説明する。
端子制御装置18は、通信可否判断装置19の判断結果に基づいて、予めプログラミングされたスイッチの切り替え制御方式に従い、スイッチ17の切り替え制御を行う。ここでは、端子制御装置18がrom_en、sram_enの順で設定された切替優先順位に従って、スイッチ17の切り替え制御を行うものとする。
端子制御装置18は、通信可否判断装置19の判断結果に基づいて、予めプログラミングされたスイッチの切り替え制御方式に従い、スイッチ17の切り替え制御を行う。ここでは、端子制御装置18がrom_en、sram_enの順で設定された切替優先順位に従って、スイッチ17の切り替え制御を行うものとする。
なお、このスイッチ17の切り替え制御に関するプログラムは、初期設定時に端子制御装置18に設定をしておくものの他、ROM21に命令として格納しておき、CPU11が該命令をフェッチし解読して、端子制御装置18に対して指示するようにしてもよい。
以下、この端子制御装置18の動作について具体的に説明する。
端子制御装置18は、CPU11が機能ブロック13にアクセスを開始した際に、先ず、通信可否判断装置19から出力される判断結果のうちで、最も優先順位の高いrom_enの判断結果を参照し、rom_enがHighであれば、スイッチ17の切り替えを行い、記憶装置16とROM21とを外部端子20を用いて接続する。また、同時に、外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のステータスバスのうち、ROM21に対応したCS信号とRE信号のみをHighにし、CPU11のプログラムカウンタの値であるROM21のアドレス値を外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のアドレスバスに出力した後、ROM21に格納された命令を記憶装置16にプリフェッチする。この時、端子制御装置18からCPU11に対して記憶装置16がプリフェッチを行うことを通知する。
端子制御装置18は、CPU11が機能ブロック13にアクセスを開始した際に、先ず、通信可否判断装置19から出力される判断結果のうちで、最も優先順位の高いrom_enの判断結果を参照し、rom_enがHighであれば、スイッチ17の切り替えを行い、記憶装置16とROM21とを外部端子20を用いて接続する。また、同時に、外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のステータスバスのうち、ROM21に対応したCS信号とRE信号のみをHighにし、CPU11のプログラムカウンタの値であるROM21のアドレス値を外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のアドレスバスに出力した後、ROM21に格納された命令を記憶装置16にプリフェッチする。この時、端子制御装置18からCPU11に対して記憶装置16がプリフェッチを行うことを通知する。
これにより、機能ブロック13にCPU外部バス12が占有されている期間に、記憶装置16がROM21の命令のプリフェッチを行うことができ、CPU外部バス12が占有されている期間においても外部端子20を有効に活用することができる。
また、CPU11が機能ブロック13にアクセスを開始した際の通信可否判断装置19によるrom_enの判断結果がLowの場合には、次に、通信可否判断装置19によるsram_enの判断結果を参照し、sram_enがHighであれば、スイッチ17の切り替えを行い、記憶装置16とSRAM22とを外部端子20を用いて接続する。また、同時に、外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のステータスバスのうち、SRAM22に対応したCS信号とRE信号のみをHighにし、CPU11のプログラムカウンタの値であるSRAM22のアドレス値を外部端子20を介して半導体集積回路1外部に設けられたCPU外部バス12のアドレスバスに出力した後、SRAM22に格納されたデータを記憶装置16にプリフェッチする。この時、端子制御装置18からCPU11に対して記憶装置16がプリフェッチを行うことを通知する。
これにより、機能ブロック13にCPU外部バス12が占有されている期間に、記憶装置16がROM21の命令のプリフェッチを行うことができない場合であっても、記憶装置16がSRAM22のデータのプリフェッチを行うことができ、CPU外部バス12が占有されている期間においても外部端子20を有効に活用することができる。
また、CPU11が機能ブロック13にアクセスを開始した際の通信可否判断装置19によるrom_en 、及びsram_enの判断結果が共にLowの場合には、スイッチ17の接続切り替えを行わない。
以上のように、本発明の実施の形態1による半導体集積回路1によれば、機能ブロック13によるCPU外部バス12の占有時間を検出する占有時間検出装置14と、占有時間検出装置14により検出された占有時間と外部装置と内部装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記外部装置と内部装置間で行う所定の処理を外部端子20を用いて行うことができるか否かの判断を行う通信可否判断装置19と、通信可否判断装置19の判断結果に基づき、スイッチ17の切り替え制御を行う端子制御装置を備えたことにより、CPU11と機能ブロック13との通信でCPU外部バス12を占有している期間に、外部端子20を用いて命令またはデータのフェッチ処理を行うことが可能になり、外部端子20の有効活用をすることができる。
なお、本発明の実施の形態1による半導体集積回路では、端子制御装置32が、複数のスイッチの切り替え先候補から、予め決められた優先順位に従ってスイッチの切り替え先を決定するものについて説明したが、かかるスイッチの制御方式については特に限定はなく、例えば、予めスイッチの切り替え先候補を1つにしておいて、CPU11が機能ブロック13にアクセスを開始した際に、スイッチの切り替えを行うか否かを決定するものの他、占有時間tが十分に長い場合にはROM21の命令のフェッチ処理とSRAM22のデータのフェッチ処理のように2以上の異なる処理を行うようにスイッチ切り替えを行ってもよい。
また、本発明の実施の形態1による半導体集積回路は、CPU11と機能ブロック13との通信でCPU外部バス12を占有している期間に、外部端子20を用いて他の処理を行うものであれば良く、CPU外部バス12が占有されている期間中に外部端子20を用いて接続する装置については、特に限定はない。
(実施の形態2)
次に、本発明の実施の形態2による半導体集積回路について説明する。
本発明の実施の形態2による半導体集積回路は、機能ブロックにCPU外部バスが占有されている期間に、モニタ装置によって半導体集積回路内の機能ブロックのモニタを行うものである。
次に、本発明の実施の形態2による半導体集積回路について説明する。
本発明の実施の形態2による半導体集積回路は、機能ブロックにCPU外部バスが占有されている期間に、モニタ装置によって半導体集積回路内の機能ブロックのモニタを行うものである。
図3は、本発明の実施の形態2による半導体集積回路の構成の一例を示すブロック図である。
図3において、本発明の実施の形態2による半導体集積回路2は、CPU31と、CPU外部バス12と、占有時間検出装置14を有する機能ブロック13と、機能ブロック15と、記憶装置16と、スイッチ17と、通信可否判断装置33を有する端子制御装置32と、外部端子20(第1の外部端子)とからなる。
また、半導体集積回路2の外部には、外部端子20によりCPU外部バス12を介してROM21、SRAM22、及びモニタ装置34がそれぞれ接続されている。
なお、説明の簡略化のため、半導体集積回路1内部に設けられた機能ブロック13、機能ブロック15、記憶装置16からなる装置群を適宜、内部装置群と称し、また、半導体集積回路1外部に設けられたROM21、SRAM22、モニタ装置34からなる装置群を適宜、外部装置群と称することにする。また、前記実施の形態1で説明した半導体集積回路と同じ構成要素については、同じ符号を付し、ここでは説明を省略する。
端子制御装置32は、機能ブロック13のCPU外部バス12の占有期間t中に、半導体集積回路2外部に設けられたモニタ装置34によって半導体集積回路2内部の機能ブロック15をモニタするための通信処理を外部端子20を用いて行うことができるか否かの判断を行う通信可否判断装置33を有し、通信可否判断装置33の判断結果に基づいて、スイッチ17の切替制御を行うものである。
次に、通信可否判断装置33についてさらに詳細に説明する。
通信可否判断装置33は、占有時間検出装置14から出力された機能ブロック13のCPU外部バス12の占有時間tと、半導体集積回路2外部に設けられたモニタ装置34によって半導体集積回路2内部の機能ブロック15をモニタするための通信時間とを比較し、機能ブロック13のCPU外部バス12の占有期間t中に、外部端子20を用いてモニタ装置34による機能ブロック15のモニタ処理を行うことができるか否かの判断を行うものである。
通信可否判断装置33は、占有時間検出装置14から出力された機能ブロック13のCPU外部バス12の占有時間tと、半導体集積回路2外部に設けられたモニタ装置34によって半導体集積回路2内部の機能ブロック15をモニタするための通信時間とを比較し、機能ブロック13のCPU外部バス12の占有期間t中に、外部端子20を用いてモニタ装置34による機能ブロック15のモニタ処理を行うことができるか否かの判断を行うものである。
図4は、本発明の実施の形態2による半導体集積回路の占有時間検出装置14及び通信可否判断装置33の動作を説明するためのタイミングチャート図である。
占有時間検出装置14は、前記実施の形態1で説明したように、カウンタを有し、図4に示すようなカウンタ処理を行う。これにより、占有時間検出装置14は、CPU11が機能ブロック13にアクセスを開始した時のカウンタ値を取得することによって、CPU11から機能ブロック13へのアクセス開始時にCPU外部バス12の占有開始から終了までの時間tを知ることが可能になる。
そして、通信可否判断装置33は、占有時間検出装置14から機能ブロック13のCPU外部バス12の占有期間tが出力された際に、該占有時間tと、モニタ装置34によるモニタ処理を行うために必要な時間とを比較し、機能ブロック13のCPU外部バス12の占有期間t中に、外部端子20を用いてモニタ装置34による機能ブロック15のモニタ処理を行うことができるか否かの判断を行う。
図4のmoni_enは、通信可否判断装置33による判断結果を示したものであり、半導体集積回路1外部のモニタ装置34より機能ブロック15の状態をモニタする通信処理を行うことができるか否かを示す信号である。
次に、端子制御装置32についてさらに詳細に説明する。
端子制御装置32は、CPU31が機能ブロック13にアクセスを開始した際に、通信可否判断装置33から出力される判断結果moni_enの判断結果を参照し、moni_enがHighであれば、スイッチ17の切り替えを行い、CPU外部バス12を共有した外部端子20のうち、アドレスバス、データバス、及びCS、RE、WE以外のステータスバスのバス群を機能ブロック15のモニタしたい信号に接続する。
端子制御装置32は、CPU31が機能ブロック13にアクセスを開始した際に、通信可否判断装置33から出力される判断結果moni_enの判断結果を参照し、moni_enがHighであれば、スイッチ17の切り替えを行い、CPU外部バス12を共有した外部端子20のうち、アドレスバス、データバス、及びCS、RE、WE以外のステータスバスのバス群を機能ブロック15のモニタしたい信号に接続する。
またこの際、モニタ装置34に対してアクセス許可を通知するためのCSを外部端子20のステータスバス中に設けず、端子制御装置32は、モニタ装置34以外の外部装置群を構成するROM21及びSRAM22に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知する。
具体例としては、例えば、モニタ装置34にWE信号とRE信号の論理積が入力されるように構成しておき、図5に示すように、ROM21、及びSRAM22に対応したCS信号をともにLowにし、WE信号、及びRE信号をともにHighにする。
これにより、ROM21、及びSRAM22に対応したCS信号がともにLowであるため、ROM21、及びSRAM22が動作することは無い。また、WE信号、及びRE信号の論理積であるHighがモニタ可能状態信号としてモニタ装置34に入力されることとなり、モニタ装置34に専用のCSを設けることなく、モニタ装置34にモニタ可能状態を知らせることができる。
また、このように、機能ブロック13にCPU外部バス12が占有されている期間にモニタ可能状態信号を受けたモニタ装置34は、機能ブロック15の状態を半導体集積回路2の外部よりモニタすることができ、外部端子20を有効に活用することができる。
以上のように、本発明の実施の形態2による半導体集積回路2によれば、端子制御装置32が、CPU31が機能ブロック13にアクセスを開始した際に、通信可否判断装置33から出力される判断結果moni_enの判断結果を参照してスイッチ17の切り替えを行うことにより、機能ブロック13にCPU外部バス12が占有されている期間に、機能ブロック15の状態を半導体集積回路2の外部よりモニタすることができ、特別にモニタ用の外部端子を設けることなく、外部端子20を有効に活用することができる。
また、モニタ装置34以外の外部装置群であるROM21、及びSRAM22に対して、ステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にして外部装置群を構成するモニタ装置に対してモニタ処理可能を通知することにより、モニタ装置34に専用のCSを新たに必要とすることなく、モニタ装置34にモニタ可能状態を知らせることができる。
なお、本発明の実施の形態2による半導体集積回路では、ステータスバスの状態を、ROM21、及びSRAM22に対応したCS信号をともにLowにするとともに、WE信号、及びRE信号をともにHighにするものについて説明したが、これはあくまで一例であり、CS信号、RE信号、WE信号、その他バイトイネーブル信号等のCPU外部バス12の状態を示す信号を自由に組み合わせてステータスバスの状態をモニタ可能状態を示す信号以外ではありえない状態にすればよい。
また、本発明の実施の形態2による半導体集積回路では、機能ブロック13にCPU外部バス12が占有されている期間に、モニタ装置によって半導体集積回路内の機能ブロックのモニタを行うものについて説明したが、本実施の形態2で説明した半導体集積回路と同様に、図6、図7に示すような、半導体集積回路3内部のシリアル通信インターフェース45と半導体集積回路3外部のシリアル通信機器46との通信を、機能ブロック13にCPU外部バス12が占有されている期間に行うことも可能である。
(実施の形態3)
次に、本発明の実施の形態3による半導体集積回路について説明する。
本発明の実施の形態3による半導体集積回路では、外部装置群及び内部装置群の内で、CPU外部バスの最大占有時間が最も長い装置が半導体集積回路外部にある場合について説明する。
次に、本発明の実施の形態3による半導体集積回路について説明する。
本発明の実施の形態3による半導体集積回路では、外部装置群及び内部装置群の内で、CPU外部バスの最大占有時間が最も長い装置が半導体集積回路外部にある場合について説明する。
図8は、本発明の実施の形態3による半導体集積回路の構成の一例を示すブロック図である。
図8において、本発明の実施の形態3による半導体集積回路4は、CPU11と、CPU外部バス12と、占有時間検出装置14と、機能ブロック15と、記憶装置16と、スイッチ17と、通信可否判断装置19を有する端子制御装置18と、外部端子20(第1の外部端子)と、外部端子52(第2の外部端子)とからなる。
図8において、本発明の実施の形態3による半導体集積回路4は、CPU11と、CPU外部バス12と、占有時間検出装置14と、機能ブロック15と、記憶装置16と、スイッチ17と、通信可否判断装置19を有する端子制御装置18と、外部端子20(第1の外部端子)と、外部端子52(第2の外部端子)とからなる。
また、半導体集積回路4の外部には、外部端子20によりCPU外部バス12を介してROM21、SRAM22がそれぞれ接続されているとともに、外部端子52を介して機能ブロック51が接続されている。
なお、説明の簡略化のため、半導体集積回路1内部に設けられた機能ブロック15、記憶装置16からなる装置群を適宜、内部装置群と称し、また、半導体集積回路1外部に設けられたROM21、SRAM22、機能ブロック51からなる装置群を適宜、外部装置群と称することにする。また、前記実施の形態1で説明した半導体集積回路と同じ構成要素については、同じ符号を付し、ここでは説明を省略する。
外部端子52は、機能ブロック51と半導体集積回路4内のCPU外部バス12とを接続するものである。なお、機能ブロック51は、外部装置群及び内部装置群の内で、CPU外部バス12の最大占有時間が最も長い装置である。
そして、このように構成された本発明の実施の形態3による半導体集積回路4は、前記実施の形態1による半導体集積回路と同様に、CPU11が機能ブロック51にアクセスを開始した際に、機能ブロック51のCPU外部バス12の占有時間tが占有時間検出装置14で検出され、通信可否判断装置19による占有時間t中に所定の処理を行うことができるか否かの判断結果に基づいて、端子制御装置18によってスイッチ17の切替制御が行われる。
これにより、前述した実施の形態1による半導体集積回路と同様に、機能ブロック51にCPU外部バス12が占有されている期間に、記憶装置16がROM21の命令、又はSRAM22のデータのプリフェッチを行うことができ、CPU外部バス12が占有されている期間においても外部端子20を有効に活用することができる。
以上のように、本発明の実施の形態3による半導体集積回路4によれば、機能ブロック51によるCPU外部バス12の占有時間を検出する占有時間検出装置14と、占有時間検出装置14により検出された占有時間と、外部装置と内部装置間で行う所定の処理に要する通信時間とを比較し、前記占有期間中に、前記外部装置と内部装置間で行う所定の処理を外部端子20を用いて行うことができるか否かの判断を行う通信可否判断装置19と、通信可否判断装置19の判断結果に基づき、スイッチ17の切り替え制御を行う端子制御装置とを備えたことにより、CPU11と機能ブロック51との通信でCPU外部バス12を占有している期間に、外部端子20を用いて他の処理を行うことが可能になり、外部端子20の有効活用をすることができる。
本発明にかかる半導体集積回路は、CPU外部バスがCPUと特定の装置との通信処理により占有されている期間に、外部端子を用いて他の処理を行うことができるため、大規模システムLSIの評価・解析手段や通常動作モード時での外部接続機器との転送速度向上手段として有用である。
1、2、3、4 半導体集積回路
11、31、41、101 CPU
12、102 CPU外部バス
13、103 機能ブロック
14、42 占有時間検出装置
15、104 機能ブロック
16、105 記憶装置
17 スイッチ
18、32、43 端子制御装置
19、33、44 通信可否判断装置
20、106 第1の外部端子
21、107 ROM
22、108 SRAM
34 モニタ装置
45 シリアル通信インターフェース
46 シリアル通信機器
51 機能ブロック
52 第2の外部端子
11、31、41、101 CPU
12、102 CPU外部バス
13、103 機能ブロック
14、42 占有時間検出装置
15、104 機能ブロック
16、105 記憶装置
17 スイッチ
18、32、43 端子制御装置
19、33、44 通信可否判断装置
20、106 第1の外部端子
21、107 ROM
22、108 SRAM
34 モニタ装置
45 シリアル通信インターフェース
46 シリアル通信機器
51 機能ブロック
52 第2の外部端子
Claims (11)
- CPUと前記CPUに接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バスを具備する半導体集積回路であって、
前記CPU外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、
半導体集積回路の外部に設けられた外部装置群と半導体集積回路内の前記CPU外部バスとを接続する第1の外部端子と、
前記CPUと前記内部装置群のうちの特定の装置との通信で前記CPU外部バスを使用している期間、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記特定の装置以外の前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを具備する、
ことを特徴とする半導体集積回路。 - CPUと前記CPUに接続されるアドレスバス、データバス、ステータスバスで構成されたCPU外部バスを具備する半導体集積回路であって、
前記CPU外部バスに接続された半導体集積回路の内部に設けられた内部装置群と、
半導体集積回路の外部に設けられた特定の装置と半導体集積回路内の前記CPU外部バスとを接続する第2の外部端子と、
半導体集積回路の外部に設けられた前記特定の装置以外の外部装置群と半導体集積回路内の前記CPU外部バスとを接続する第1の外部端子と、
前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間、半導体集積回路内の前記CPU外部バスを前記第1の外部端子から切り離し、前記内部装置群を構成する1つの装置と前記特定の装置以外の前記外部装置群を構成する1つの装置とを、前記第1の外部端子を用いて接続する端子制御装置とを具備する、
ことを特徴とする半導体集積回路。 - 請求項1又は請求項2の何れかに記載の半導体集積回路において、
前記特定の装置は、前記外部装置群及び前記内部装置群を構成する装置の内で、前記CPU外部バスの最大占有時間が最も長い装置である、
ことを特徴とする半導体集積回路。 - 請求項3に記載の半導体集積回路において、
前記特定の装置によるCPU外部バスの占有時間を検出する占有時間検出装置と、
前記占有時間検出装置により検出された占有時間と、前記内部装置群を構成する1つの装置と前記外部装置群を構成する1つの装置間で行われる所定の処理に要する通信時間とを比較し、前記占有期間中に前記所定の処理を前記第1の外部端子を介して行うことができるか否かの判断を行う通信可否判断装置とを備え、
前記端子制御装置は、前記通信可否判断装置の判断結果に基づいて、前記第1外部端子の接続切り替えを行う、
ことを特徴とする半導体集積回路。 - 請求項4に記載の半導体集積回路において、
前記CPUから前記特定の装置に対してアクセス開始の通知がなされた時に、前記占有時間検出装置、通信可否判断装置、及び端子制御装置が動作する、
ことを特徴とする半導体集積回路。 - 請求項4又は請求項5の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記外部装置群を構成する記憶装置に格納されたデータ或いは命令を前記内部装置群を構成する記憶装置にフェッチする処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成する記憶装置と前記内部装置群を構成する記憶装置とをそれぞれ前記第1の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。 - 請求項4又は請求項5の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成する機能ブロックの内部情報を前記外部装置群を構成するモニタ装置によりモニタする処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するモニタ装置と前記内部装置群を構成する機能ブロックとを前記第1の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。 - 請求項7に記載の半導体集積回路において、
前記端子制御装置は、CPU外部バスの、モニタ装置を除く外部装置群に対するステータスバスの状態を、モニタ可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するモニタ装置に対してモニタ処理可能を通知する、
ことを特徴とする半導体集積回路。 - 請求項4又は請求項5の何れかに記載の半導体集積回路において、
前記通信可否判断装置は、前記CPUと前記特定の装置との通信で前記CPU外部バスを使用している期間に、前記内部装置群を構成するシリアル通信インターフェースを介して前記外部装置群を構成するシリアル通信機器とシリアル通信処理を行うことができるか否かの判断を行い、
前記端子制御装置は、前記通信可否判断装置の処理可能を示す判断結果に基づいて、前記外部装置群を構成するシリアル通信機器と前記内部装置群を構成するシリアル通信インターフェースとを前記第1の外部端子を用いて接続する、
ことを特徴とする半導体集積回路。 - 請求項9に記載の半導体集積回路において、
前記端子制御装置は、CPU外部バスの、シリアル通信機器を除く外部装置群に対するステータスバスの状態を、シリアル通信可能状態を示す信号以外ではありえない状態にすることにより、外部装置群を構成するシリアル通信機器に対してシリアル通信可能を通知する、
ことを特徴とする半導体集積回路。 - 請求項8又は請求項10の何れかに記載の半導体集積回路において、
前記端子制御装置は、各外部装置に対して、前記CPU外部バスのステータスバスのうち、前記CPUとのデータ通信の有効又は無効を通知するチップセレクト信号を全て無効にするとともに、リードイネーブル信号とライトイネーブル信号を同時に有効とする、
ことを特徴とする半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185046A JP2006011629A (ja) | 2004-06-23 | 2004-06-23 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185046A JP2006011629A (ja) | 2004-06-23 | 2004-06-23 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006011629A true JP2006011629A (ja) | 2006-01-12 |
Family
ID=35778853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004185046A Pending JP2006011629A (ja) | 2004-06-23 | 2004-06-23 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006011629A (ja) |
-
2004
- 2004-06-23 JP JP2004185046A patent/JP2006011629A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10983924B2 (en) | Information processing device and processor | |
US8117474B2 (en) | CPU clock control during cache memory stall | |
US10536306B2 (en) | Ground short circuit portion detecting apparatus, ground short circuit portion detecting method, and computer-readable recording medium | |
EP2615551B1 (en) | Abnormality inspection device, central processing unit, and abnormality inspection method | |
CN111198795A (zh) | 基板控制器获取内存温度的方法以及装置 | |
US10802742B2 (en) | Memory access control | |
JP4642531B2 (ja) | データ要求のアービトレーション | |
JP2009187314A (ja) | 二重化コントローラ・システム、cpuモジュール、そのプログラム | |
US7603489B2 (en) | Direct memory access controller including first and second transfer setting registers | |
JP2006011629A (ja) | 半導体集積回路 | |
JP2001142869A (ja) | システム集積回路 | |
JP2010128604A (ja) | メモリシステム | |
US8291193B2 (en) | Address translation apparatus which is capable of easily performing address translation and processor system | |
US10291582B2 (en) | System and method of supporting more than 256 sensors by intelligent platform management interface (IPMI) based server management controller | |
JP5239985B2 (ja) | バッファ制御システム及びバッファ制御方法 | |
JP2007026091A (ja) | 割込み制御回路およびその制御方法 | |
JP2008152665A (ja) | 半導体集積回路の動作解析方法 | |
KR100261080B1 (ko) | Pci버스와isa버스사이의통신제어회로및알고리듬 | |
JP2005010966A (ja) | Lsi装置 | |
JP6535516B2 (ja) | マルチ・プログラマブルデバイス・システムとその制御方法 | |
CN115248738A (zh) | 一种内存保护单元、电子设备以及访问监测方法 | |
JP2002312072A (ja) | 情報処理装置及びアドインボードリセット方法 | |
JPH02291031A (ja) | マイクロコンピュータ開発支援装置 | |
JP2003316717A (ja) | 情報処理装置 | |
JP2019046531A (ja) | シリアルフラッシュメモリのリセット制御装置 |