(57)【要約】【課題】  無効なアドレスがアクセスされた場合でも、ＣＰＵに対して確実に応答信号を返すことができるデフォルトスレーブを備えたシステムＬＳＩを提供する。【解決手段】  アドレス検出部３２で検出されたアクセス対象のアドレスに基づいて保留アドレステーブル３１を検索し、そのアドレスの割り当てが保留されていれば一致信号を出力する一致検出部３３に加え、アクセス検出部３５でアクセス要求信号が検出された後、一定時間内に応答検出部３６で応答信号が検出されないときにタイムアウト信号を出力するタイマ３７を設ける。一致信号またはタイムアウト信号の出力によって応答出力部３４は、該当するスレーブが実装されていない旨の代理の応答信号をシステムバス１２に出力する。【選択図】      図１
2006099527.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、システムバスを介して前記中央処理装置に接続されて該中央処理装置の指示に従って動作する複数のスレーブ装置と、未実装のスレーブ装置へのアクセスを検出したときに該スレーブ装置に代わって応答するデフォルトスレーブとを備えたシステムＬＳＩにおいて、
前記デフォルトスレーブは、前記システムバス上のアクセス要求信号と該アクセス要求信号に応じた応答信号を監視し、該アクセス要求信号の検出後、一定時間内に該応答信号が検出されないときに代理の応答信号を出力することを特徴とするシステムＬＳＩ。
【請求項２】
前記デフォルトスレーブは、
割り当てが保留されているアドレスが登録された保留アドレステーブルと、
前記システムバス上に出力されたアクセス要求の対象となるアドレスを検出するアドレス検出部と、
前記保留アドレステーブルを検索して前記アドレス検出部で検出されたアドレスに一致したものがあれば一致信号を出力する一致検出部と、
前記システムバス上に出力されたアクセス要求信号を検出するアクセス検出部と、
前記システムバス上に出力された応答信号を検出する応答検出部と、
前記アクセス検出部の検出信号によって時間監視を開始し、前記一定時間内に前記応答検出部で前記応答信号が検出されない時にタイムアウト信号を出力するタイマと、
前記一致信号または前記タイムアウト信号が与えられたときに、前記代理の応答信号を出力する応答出力部とを、
備えたことを特徴とする請求項１記載のシステムＬＳＩ。
【請求項３】
中央処理装置と、システムバスを介して前記中央処理装置に接続されて該中央処理装置の指示に従って動作する複数のスレーブ装置と、未実装のスレーブ装置へのアクセスを検出したときに該スレーブ装置に代わって応答するデフォルトスレーブとを備えたシステムＬＳＩにおいて、
前記デフォルトスレーブは、前記システムバスに接続されるべきすべてのスレーブ装置の実装状態をテストし、未実装のスレーブ装置のアドレスを予め登録するテスト回路を有することを特徴とするシステムＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ(Central Processing Unit）とシステムバス、及びこのシステムバスに接続される複数のスレーブを１つの集積回路にまとめたシステムＬＳＩ(Large Scale Integration）に関するものである。
【背景技術】
【０００２】
図２は、従来のシステムＬＳＩの一例を示す構成図である。
このシステムＬＳＩは、プラットフォーム１０と複数のスレーブを１つの集積回路としてまとめたものである。プラットフォーム１０は、ＣＰＵ１１とシステムバス１２を中心にして、マイクロプロセッサとして基本となる最小限の構成要素をまとめたハードウエアで、回路構成のみならず回路パターンも固定され、システムＬＳＩの１つの部品として扱われるものである。このプラットフォーム１０は、ＣＰＵ１１とシステムバス１２を接続するＣＰＵブリッジ１３、このシステムバス１２に接続されたメモリコントローラ１４を有している。更に、システムバス１２は、バスブリッジ１５を介して内部のローカルバス１６に接続され、このローカルバス１６にタイマ１７やＳＩＯ(Serial Input Output）１８等の入出力回路が接続されている。
【０００３】
システムバス１２は、プラットフォーム１０から外部に引き出されており、ここに複数のスレーブ２１ａ，２１ｂ，…と、デフォルトスレーブ３０が接続されている。更に、システムバス１２はバスブリッジ２２を介して外部のローカルバス２３に接続され、このローカルバス２３に複数のスレーブ２４ａ，２４ｂ，…が接続されている。
【０００４】
スレーブ２１ａ，２１ｂ，２４ａ，２４ｂ，…は、それぞれの機能は異なるが、いずれもＣＰＵ１１からシステムバス１２を介して与えられる指示に従って、所定の動作を行うものである。スレーブ２１ａ，２１ｂ，２４ａ，２４ｂ，…には、それぞれ個別のアドレスが設定されており、そのアドレスを用いてＣＰＵ１１から個別に動作指示が与えられるようになっている。
【０００５】
図３は、図２中のプラットフォームのアドレス空間割り当て例を示す図である。
このアドレス空間は、ＣＰＵ１１としてＡＲＭＣＰＵを用い、システムバス１２としてＡＭＢＡ−ＡＨＢバスを、ローカルバス１６，２３としてＡＭＢＡ−ＡＰＢバスを用いて構成されるμＰＬＡＴと呼ばれるプラットフォームのものである。３２ビット構成のアドレスは、膨大なアドレス空間を有しているが、割り当て済みのアドレスは一部であり、ほとんどのアドレスは割り当てが保留された状態となっている。
【０００６】
デフォルトスレーブ３０は、このように割り当てが保留されたアドレスに対してＣＰＵ１１からアクセスが行われたときに、該当するスレーブが存在しないことをＣＰＵ１１に通知するもので、図２に示すように、保留アドレステーブル３１とアドレス検出部３２を有している。保留アドレステーブル３１は、図３に示したようにアドレス割り当てが保留されたアドレスを予め登録したテーブルであり、アドレス検出部３２は、システムバス１２に出力されたアクセス対象のアドレスを検出するものである。保留アドレステーブル３１とアドレス検出部３２には、一致検出部３３が接続されている。
【０００７】
一致検出部３３は、アドレス検出部３２でアクセス対象のアドレスが検出されたときに、保留アドレステーブル３１を検索してそのアドレスが登録されているか否かを調べるものである。一致したアドレスがあれば、一致検出部３３から応答出力部３４に一致信号が出力されるようになっている。応答出力部３４は、一致検出部３３から一致信号が与えられたときに、システムバス１２に、そのアドレスが誤りである旨の応答信号を出力するようになっている。
【０００８】
このようなシステムＬＳＩでは、所定のプログラムに従ってＣＰＵ１１からシステムバス１２を介して、スレーブ２１，２４にアクセスが行われる。各スレーブ２１，２４では、システムバス１２に出力されるアドレスを監視し、自己のアドレスが指定された場合にのみ応答信号を出力する。自己のアドレスに一致しない場合には、スレーブ２１，２４は応答信号を出力しない。一方、デフォルトスレーブ３０では、システムバス１２に出力されるアドレスを監視し、保留アドレステーブル３１に登録されているアドレスに一致した場合に、該当するスレーブが実装されていない旨の応答信号を出力する。
【０００９】
これにより、該当するスレーブ２１，２４が実装されていなくても、そのアドレスが保留アドレステーブル３１に登録されていれば、そのスレーブ２１，２４に代わってデフォルトスレーブ３０が代理応答を行うので、ＣＰＵ１１では誤ったアドレスにアクセスしたことを直ちに検出することができる。
【００１０】
【特許文献１】特開平１０−５５３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、前記システムＬＳＩでは、保留アドレステーブル３１に登録されたアドレスがアクセスされたときに、デフォルトスレーブ３０が代理応答するようになっているので、スレーブ２１，２４が実装されておらず、かつ、そのアドレスが保留アドレステーブル３１に登録されていない場合、ＣＰＵ１１に応答信号が返らない。
【００１２】
このような例は、プログラムやハードウエアのデバッグが完了した後では、発生することは殆どないと考えられるが、プログラムやハードウエアの開発中には、アドレスの設定誤り等によって、デフォルトスレーブ３０に登録されておらず、かつ実装されていないアドレスに対するアクセスが行われるおそれがある。このような場合、デフォルトスレーブ３０での検出ができず、応答信号が全く出力されない状態となる。このため、ＣＰＵ１１では応答待ちのために次の処理を行うことができず、システムがハングアップするという問題が発生するおそれがあった。
【００１３】
本発明は、無効なアドレスがアクセスされた場合でも、確実にＣＰＵ１１に対して応答信号を返すことができるデフォルトスレーブを備えたシステムＬＳＩを提供することを目的としている。
【課題を解決するための手段】
【００１４】
本発明は、ＣＰＵと、システムバスを介して前記ＣＰＵに接続されて該ＣＰＵの指示に従って動作する複数のスレーブ装置と、未実装のスレーブ装置へのアクセスを検出したときに該スレーブ装置に代わって応答するデフォルトスレーブとを備えたシステムＬＳＩにおいて、前記デフォルトスレーブは、前記システムバス上のアクセス要求信号と該アクセス要求信号に応じた応答信号を監視し、該アクセス要求信号の検出後、一定時間内に該応答信号が検出されないときに代理の応答信号を出力することを特徴としている。
【発明の効果】
【００１５】
本発明では、デフォルトスレーブによって、システムバス上のアクセス要求信号とそのアクセス要求信号に応じた応答信号を監視し、アクセス要求信号の検出後、一定時間内に応答信号が検出されないときに代理の応答信号を出力するようにしている。これにより、無効なアドレスをアクセスしても、一定時間後には必ず応答信号が出力されるので、応答待ちのためにシステムがハングアップするという問題を回避できるという効果がある。
【発明を実施するための最良の形態】
【００１６】
デフォルトスレーブを、割り当てが保留されているアドレスが登録された保留アドレステーブルと、システムバス上に出力されたアクセス要求の対象となるアドレスを検出するアドレス検出部と、保留アドレステーブルを検索してアドレス検出部で検出されたアドレスに一致したものがあれば一致信号を出力する一致検出部と、システムバス上に出力されたアクセス要求信号を検出するアクセス検出部と、システムバス上に出力された応答信号を検出する応答検出部と、アクセス検出部の検出信号によって時間監視を開始し、一定時間内に応答検出部で応答信号が検出されない時にタイムアウト信号を出力するタイマと、一致信号またはタイムアウト信号が与えられたときに、代理の応答信号を出力する応答出力部とで構成する。
【００１７】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１８】
図１は、本発明の実施例１を示すシステムＬＳＩの構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００１９】
このシステムＬＳＩは、図２中のデフォルトスレーブ３０に代えて、機能が追加されたデフォルトスレーブ３０Ａを設けたもので、図２と同様のプラットフォーム１０を有している。即ち、プラットフォーム１０は、ＣＰＵ１１、システムバス１２、ＣＰＵブリッジ１３、及びメモリコントローラ１４を有し、更に、このシステムバス１２はバスブリッジ１５を介してローカルバス１６に接続され、このローカルバス１６にタイマ１７やＳＩＯ１８等の入出力回路が接続されている。
【００２０】
システムバス１２は、更にプラットフォーム１０から外部に引き出され、ここに複数のスレーブ２１ａ，２１ｂ，…と、デフォルトスレーブ３０Ａが接続されている。更に、システムバス１２はバスブリッジ２２を介して外部のローカルバス２３に接続され、このローカルバス２３に複数のスレーブ２４ａ，２４ｂ，…が接続されている。
【００２１】
スレーブ２１ａ，２１ｂ，２４ａ，２４ｂ，…には、それぞれ個別のアドレスが設定されており、それぞれの機能は異なるが、そのアドレスを用いてＣＰＵ１１からシステムバス１２を介して与えられる指示に従って、所定の動作を行うものである。
【００２２】
一方、デフォルトスレーブ３０Ａは、ＣＰＵ１１からの指示に従って特定の動作を行うものではなく、ＣＰＵ１１から実装されていないスレーブに対して動作指示が与えられたときに、そのスレーブが存在しないことをＣＰＵ１１に通知するためのものである。
【００２３】
デフォルトスレーブ３０Ａは、保留アドレステーブル３１とアドレス検出部３２を有している。保留アドレステーブル３１は、図３に示すように割り当てが保留されたアドレスを予め登録したテーブルであり、アドレス検出部３２は、システムバス１２を介してアクセス要求が行われたアドレスを検出するものである。保留アドレステーブル３１とアドレス検出部３２には、一致検出部３３が接続されている。一致検出部３３は、アドレス検出部３２でアクセス要求のアドレスが検出されたときに、保留アドレステーブル３１を検索してそのアドレスが登録されているか否かを調べるものである。一致したアドレスがあれば、一致検出部３３から一致信号が出力されるようになっている。
【００２４】
更に、このデフォルトスレーブ３０Ａは、アクセス検出部３５と応答検出部３６を有している。アクセス検出部３５は、システムバス１２に出力されるアクセス要求信号を検出するものであり、応答検出部３６は、このシステムバス１２に出力される応答信号を検出するものである。アクセス検出部３５の検出信号は、タイマ３７のセット端子Ｓに与えられ、応答検出部３６の検出信号は、タイマ３７のリセット端子Ｒに与えられるようになっている。
【００２５】
タイマ３７は、セット端子Ｓにセット信号が与えられたときに時間監視を開始し、リセット端子Ｒにリセット信号が与えられたときに時間監視を終了するものである。時間監視の開始後、所定時間内にリセット信号が与えられないと、その所定時間が経過した時点で、出力端子Ｏからタイムアウト信号が出力されるようになっている。
【００２６】
タイマ３７のタイムアウト信号は、一致検出部３３の一致信号と共に、２入力のＯＲ（論理和ゲート）３８に与えられるようになっている。ＯＲ３８の出力側は、応答出力部３４に接続されている。応答出力部３４は、ＯＲ３８から一致信号またはタイムアウト信号に基づく信号が与えられたときに、システムバス１２に対して、該当するスレーブが実装されていない旨の応答信号を出力するものである。
【００２７】
次に、このシステムＬＳＩの動作を、デフォルトスレーブ３０Ａを中心に説明する。
ＣＰＵ１１は、図示しないメモリに格納されたプログラムに従い、システムバス１２を介して、スレーブ２１，２４にアクセスする。
【００２８】
ここで、例えばシステムバス１２にスレーブ２１ａに対するアクセス要求信号が出力されたとする。
【００２９】
デフォルトスレーブ３０Ａでは、アクセス検出部３５でシステムバス１２上のアクセス要求信号が検出され、タイマ３７の時間監視が開始される。同時に、アドレス検出部３２でアクセス対象のアドレスが検出される。これにより、一致検出部３３によって、その検出されたアドレスが保留アドレステーブル３１に登録されているか否かの検索が開始される。この場合、検出されたアドレスはスレーブ２１ａに割り当て済みであるので、保留アドレステーブル３１には登録されていない。従って、一致検出部３３から一致信号が出力されることはない。
【００３０】
一方、スレーブ２１ａでは、自己のアドレスが指定されてアクセスが行われたので、これに対応して応答信号をシステムバス１２に出力する。システムバス１２に出力された応答信号は、ＣＰＵ１１に伝達され、このＣＰＵ１１はプログラムに従って次の処理へ移行する。システムバス１２に出力された応答信号は、同時にデフォルトスレーブ３０Ａの応答検出部３６で検出され、タイマ３７がリセットされる。これにより、タイマ３７の時間監視は終了し、タイムアウト信号が出力されることはない。
【００３１】
次に、保留アドレステーブル３１に登録されたアドレスに対するアクセス要求信号が出力されたとする。
【００３２】
該当するアドレスのスレーブは実装されていないので、いずれのスレーブ２１，２４も、応答信号を出力しない。一方、デフォルトスレーブ３０Ａでは、アクセス検出部３５でシステムバス１２上のアクセス要求信号が検出され、タイマ３７の時間監視が開始されると共に、アドレス検出部３２でアクセス対象のアドレスが検出される。一致検出部３３によって、その検出されたアドレスが保留アドレステーブル３１に登録されているか否かの検索が開始される。この場合、検出されたアドレスは保留アドレステーブル３１に登録されているので、一致検出部３３から一致信号が出力される。これにより、応答出力部３４は、システムバス１２に応答信号を出力する。システムバス１２に出力された応答信号は、ＣＰＵ１１に伝達されると共に、デフォルトスレーブ３０Ａの応答検出部３６で検出され、タイマ３７がリセットされる。これにより、タイマ３７の時間監視は終了し、タイムアウト信号が出力されることはない。
【００３３】
更に、保留アドレステーブル３１に登録されておらず、かつスレーブが実装されていないアドレスに対するアクセス要求信号が出力されたとする。
【００３４】
該当するアドレスのスレーブは実装されていないので、いずれのスレーブ２１，２４も、応答信号を出力しない。一方、デフォルトスレーブ３０Ａでは、アクセス検出部３５でシステムバス１２上のアクセス要求信号が検出され、タイマ３７の時間監視が開始されると共に、アドレス検出部３２でアクセス対象のアドレスが検出される。一致検出部３３によって、その検出されたアドレスが保留アドレステーブル３１に登録されているか否かの検索が開始される。この場合、検出されたアドレスは保留アドレステーブル３１に登録されていないので、一致検出部３３から一致信号が出力されることはない。所定時間が経過すると、タイマ３７からタイムアウト信号が出力される。これにより、応答出力部３４は、システムバス１２に応答信号を出力する。システムバス１２に出力された応答信号は、ＣＰＵ１１に伝達され、このＣＰＵ１１はプログラムに従って次の処理へ移行する。システムバス１２に出力された応答信号は、同時にデフォルトスレーブ３０Ａの応答検出部３６で検出され、タイマ３７がリセットされる。
【００３５】
以上のように、この実施例１では、デフォルトスレーブ３０Ａが、アクセス要求信号を検出してから応答信号を検出するまでの時間を監視して、所定時間内に応答信号が検出されない場合に、代理の応答信号を出力する機能を有している。これにより、無効なアドレスがアクセスされた場合でも、確実にＣＰＵ１１に対して応答信号を返すことができるので、プログラムやハードウエアの開発中に、アドレスの設定誤り等によってシステムがハングアップするという問題を回避することができるという利点がある。
【００３６】
なお、プラットフォーム１０の構成やシステムバス１２やローカルバス２３等のバス構成、及びアドレス空間等は、図１及び図３に例示したものに限定されない。
【実施例２】
【００３７】
図４は、本発明の実施例２を示すデフォルトスレーブの構成図である。
このデフォルトスレーブ３０Ｂは、図２中のデフォルトスレーブ３０に代えて用いられるもので、この図２中の要素と共通の要素には共通の符号が付されている。
【００３８】
このデフォルトスレーブ３０Ｂは、図２中のデフォルトスレーブ３０の保留アドレステーブル３１を、アドレスデータを追加して登録することができる保留アドレステーブル３１Ａに変更すると共に、テスト信号ＴＳＴが与えられたときに、システムバス１２に接続されているスレーブの状態をテストするテスト回路４０を設けたものである。
【００３９】
テスト回路４０は、テスト信号ＴＳＴが与えられる端子４１、テスト部４２、タイマ４３、応答検出部４４、及びアドレス登録部４５で構成されている。テスト部４２は、端子４１にテスト信号ＴＳＴが与えられたときに、スレーブとして割り当てられているアドレスに対して順次アクセス要求を行い、所定時間内に該当するスレーブから応答が無い場合に、そのアドレスを保留アドレスとして保留アドレステーブル３１Ａに追加登録するものである。
【００４０】
タイマ４３は、テスト部４２からセット端子Ｓに与えられる信号に従って、アクセス要求信号が出力されてからスレーブの応答信号を検出するまでの時間を監視し、所定時間内に応答信号が検出されなければ、タイムアウト信号をこのテスト部４２に出力するものである。応答検出部４４は、アクセスされたスレーブから、システムバス１２に出力される応答信号を検出するもので、この応答検出部４４の検出信号は、タイマ４３のリセット端子Ｒとテスト部４２に与えられるようになっている。また、アドレス登録部４５は、テスト部４２の指示に従って、応答の無いアドレスを保留アドレスとして保留アドレステーブル３１Ａに登録するものである。
【００４１】
次に、このデフォルトスレーブ３０Ｂの動作を説明する。
例えば、電源投入直後の一定時間、テスト信号ＴＳＴを端子４１に与えることにより、テスト部４２によるテスト動作が行われる。
【００４２】
テスト部４２では、図３に示すようにスレーブとして割り当て済みのアドレスに対して、システムバス１２にアクセス要求信号を出力する。該当するスレーブが実装されていれば、そのスレーブから直ちに応答信号が出力されるので、その応答信号は応答検出部４４によって検出される。従って、タイマ４３はリセットされてタイムアウト信号が出力されることはない。テスト部４２では、応答信号があれば、次のスレーブに対するアクセス要求信号を出力する。
【００４３】
もしも、該当するスレーブが実装されていないと、アクセス要求信号に対する応答信号が検出されず、所定時間後にタイマ４３からタイムアウト信号が出力される。テスト部４２は、そのアドレスを保留アドレスとして登録するために、アドレス登録部４５を起動する。これにより、保留アドレステーブル３１Ａに、未実装のスレーブのアドレスが追加登録される。このようにして、スレーブとして割り当て済みのすべてのアドレスに、該当するスレーブが実装されているか否かがテストされる。
【００４４】
通常動作時には、端子４１へのテスト信号ＴＳＴを停止する。これにより、未実装のスレーブのアドレスが保留アドレスとして追加登録された保留アドレステーブル３１Ａを用いて、デフォルトスレーブ３０Ｂによる代理応答が行われる。
【００４５】
以上のように、この実施例２のデフォルトスレーブ３０Ｂは、実際にスレーブが存在するか否かをテストし、もしも実装されていない場合には、そのスレーブのアドレスを保留アドレスとして、保留アドレステーブル３１Ａに追加登録するテスト回路４０を備えている。これにより、実施例１と同様の利点が得られると共に、通常動作時には、タイムアウトを待たずに直ちに代理応答をすることができるので、処理速度を向上することができるという利点がある。
【００４６】
なお、この実施例２では、保留アドレステーブル３１Ａには予め定められた保留アドレスが登録されており、これに未実装のスレーブのアドレスを追加するようにしているが、テスト部４２によって全アドレス空間を順次テストし、応答のないアドレスを保留アドレスとして保留アドレステーブル３１Ａに登録するようにしても良い。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施例１を示すシステムＬＳＩの構成図である。
【図２】従来のシステムＬＳＩの一例を示す構成図である。
【図３】図２中のプラットフォームのアドレス空間割り当て例を示す図である。
【図４】本発明の実施例２を示すデフォルトスレーブの構成図である。
【符号の説明】
【００４８】
１０    プラットフォーム
１１    ＣＰＵ
１２    システムバス
２１，２４    スレーブ
３０Ａ，３０Ｂ    デフォルトスレーブ
３１，３１Ａ    保留アドレステーブル
３２    アドレス検出部
３３    一致検出部
３４    応答出力部
３５    アクセス検出部
３６，４４    応答検出部
３７，４３    タイマ
４０    テスト回路
４２    テスト部
４５    アドレス登録部
【図１】
2006099527.tif 000003
【図２】
2006099527.tif 000004
【図３】
2006099527.tif 000005
【図４】
2006099527.tif 000006