(57)【要約】【課題】有限なメモリリソース等の割り当てに対し柔軟性をもって対応することが容易な半導体集積回路を提供する【解決手段】ＰＣＩバスに接続する半導体集積回路はコンフィグレーションレジスタを持ち、この中のベースアドレスレジスタ（３０）のリード・ライト可能領域（Ｆｖ）の大きさにより、その半導体集積回路に割当てられるアドレス空間の大きさが決定される。ベースアドレスレジスタのリード・ライト可能領域の大きさを、マスク回路（３１）を用いて可変とする。マスク信号で指定されるマスクビット数に応じてローカルアドレス空間の大きさを可変に設定する事が可能になる。例えば複数のＰＣＩデバイスを用いる場合にも各デバイスに割当てられるメモリ空間を選択的に小さくでき、有限のリソースを多数のＰＣＩデバイスに割当ててシステム構築する場合にも対応することができる。【選択図】        図１
2005018325.tif 000002
【特許請求の範囲】
【請求項１】
外部よりリソース割り当てが定義されるコンフィギュレーション回路を有する半導体集積回路であって、
前記コンフィギュレーション回路は、論理値固定の下位複数ビット領域と論理値可変の上位複数ビット領域を有しアドレス空間割り当てに利用されるベースアドレスレジスタと、前記ベースアドレスレジスタの上位側複数ビット領域に対してビット数可変で書き込み又は読み出しを前記固定論理値に制限する制限回路と、を有することを特徴とする半導体集積回路。
【請求項２】
アドレスレジスタの下位側固定論理値のビット数はアドレス空間の大きさを規定し、アドレスレジスタの値はそのアドレス空間の先頭アドレスを規定することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記制限回路は、前記ベースアドレスレジスタの上位側複数ビット領域の一部をマスク制御情報に基づいて前記固定論理値にマスクするマスク回路であることを特徴とする請求項１記載の半導体集積回路。
【請求項４】
前記コンフィギュレーション回路はマスク制御情報を保持するラッチ回路を有することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記ラッチ回路は半導体集積回路に対するリセット解除に応答して所定の外部端子の値をマスク制御情報としてラッチすることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記コンフィギュレーション回路を制御する制御回路を有し、
前記制御回路は、リセット解除後のコンフィギュレーションサイクルにおいて、外部から入力される前記固定論理値の反転データをベースアドレスレジスタの論理値可変の上位複数ビット領域領域に保持し、保持した後に前記ベースアドレスレジスタが保持する値を前記マスク回路を通して外部に出力し、外部に出力した後に外部から入力されるデータをベースアドレスレジスタに保持する動作を制御することを特徴とする請求項３記載の半導体集積回路。
【請求項７】
前記コンフィギュレーション回路及びその制御回路はＰＣＩバスインタフェース回路を構成することを特徴とする請求項６記載の半導体集積回路。
【請求項８】
前記ＰＣＩバスインタフェース回路を一つの外部入出力回路として制御可能な中央処理装置を有することを特徴とする請求項７記載の半導体集積回路。
【請求項９】
論理値固定の下位ビット数がローカルアドレス空間の容量を規定するベースアドレスレジスタを用いてローカルアドレス空間のアドレス割り当てが行なわれる半導体集積回路であって、
前記ベースアドレスレジスタは半導体集積回路の外部からリード・ライト可能であり、
前記ベースアドレスレジスタの上位側複数ビットの一部をビット数可変で前記論理値固定に制限可能な制限回路を有し、ローカルアドレス空間の容量を可変可能とすることを特徴とする半導体集積回路。
【請求項１０】
前記制限回路はベースアドレスレジスタから読み出される値に対して前記論理値固定の制限を行うことを特徴とする請求項９記載の半導体集積回路。
【請求項１１】
前記制限回路で論理値固定にするビット数を指定するための制御情報を半導体集積回路のリセット動作の解除に応答して外部から取り込んで保持するラッチ回路を有することを特徴とする請求項９記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部よりリソース割り当てが定義されるコンフィギュレーション回路を有する半導体集積回路に関し、例えばプラグアンドプレイに対応したＰＣＩ（ペリフェラル・コンポーネント・インターコネクト）デバイスに適用して有効な技術に関する。
【０００２】
【従来の技術】
ＰＣＩバスはプラグアンドプレイに対応しており、接続するデバイスに対するリソース割り当てなどの各種設定はシステム側例えばＯＳ（オペレーティングシステム）により行われる（特許文献１）。この時、そのデバイスが必要とするメモリ空間はデバイスが持つコンフィグレーションレジスタの中のベースアドレスレジスタの構成で決まる。すなわち、ベースアドレスレジスタは、論理値固定の下位複数ビットと論理値可変の上位複数ビットから成り、論理値固定のビット数がローカルなアドレス領域の大きさを規定し、論理値可変の領域にローカルなアドレス空間のベースアドレス上位を保持する。システム側がＰＣＩデバイスにベースアドレスを割当てるとき、システム側からベースアドレスレジスタに全ビット論理値“１”のデータをライトし、その後、レジスタの値を読み出し、論理値“１”を書き込みすることができないビット数（ベースアドレスレジスタにおける論理値固定の下位複数ビット数）より自動的にそのデバイスが必要なアドレス空間の大きさを算出する。その後、ベースアドレスレジスタの論理値可変の上位複数ビットにアドレスを書き込んで、当該デバイスにローカルなアドレス空間を割当てる。
【０００３】
【特許文献１】
特開平１１−３９２４９号公報
【０００４】
【発明が解決しようとする課題】
本発明者はプラグアンドプレイによるリソース割り当てについて検討した。従来、リソースとして割り当て可能なローカルなアドレス空間の大きさはベースアドレスレジスタの構成に依存して固定であった。すなわち、割り当て可能なアドレス空間の大きさはベースアドレスレジスタの論理値固定の下位複数ビットのビット数に依存する。このように、プラグアンドプレイでリソース割り当てされるデバイスのメモリ空間はデバイス固有のベースアドレスレジスタのハードウェア的な構成で決まってしまう。このため、様々なシステムを構築しようとする場合に、有限なリソースの割り当てに柔軟性を持たせることができない。例えば複数のＰＣＩデバイスを用いる場合にも各デバイスに割当てられるメモリ空間を小さくできないので、有限のリソースを多数のＰＣＩデバイスに割当ててシステムを構築しようとしても対応することができない。
【０００５】
本発明の目的は、有限なメモリリソース若しくはアドレスリソースの割り当てに対し柔軟性をもって対応することが容易な半導体集積回路を提供することにある。
【０００６】
本発明の別の目的は、プラグアンドプレイで割り当て可能にされるアドレス空間の大きさを可変にすることができ、そのためにプログラム等による複雑な処理や論理規模の大きな回路を用いる必要なく、比較的容易に可変にすることができる半導体集積回路を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
〔１〕半導体集積回路は外部よりリソース割り当てが定義されるコンフィギュレーション回路を有する。前記コンフィギュレーション回路は、論理値固定の下位複数ビット領域と論理値可変の上位複数ビット領域を有しアドレス空間割り当てに利用されるベースアドレスレジスタと、前記ベースアドレスレジスタの上位側複数ビット領域に対してビット数可変で書き込み又は読み出しを前記固定論理値に制限する制限回路とを有する。アドレスレジスタの下位側固定論理値のビット数はアドレス空間の大きさを規定し、アドレスレジスタの値はそのアドレス空間の先頭アドレスを規定する。
【００１０】
上記より、前記ベースアドレスレジスタの論理値可変の上位複数ビット領域に対する制限回路による制限ビット数が少なければベースアドレスレジスタにおける下位側の固定論理値の全体的なビット数が増え、逆に、制限ビット数が多ければ前記下位側固定論理値の全体的なビット数が少なくなる。半導体集積回路に割り当て可能なローカルアドレス空間の大きさはベースアドレスレジスタの固定論理値の下位側ビット数に比例する。従って、ビット数可変の制限ビット数に応じて半導体集積回路に割り当て可能なローカルアドレス空間の大きさを可変に設定する事が可能になる。これにより、様々なシステムを構築しようとする場合に、有限なメモリリソース若しくはアドレスリソースの割り当てに柔軟性を持たせることができる。例えば複数のＰＣＩデバイスを用いる場合にも各デバイスに割当てられるメモリ空間を選択的に小さくでき、有限のリソースを多数のＰＣＩデバイスに割当ててシステム構築する場合にも対応することができる。
【００１１】
本発明の具体的な形態では前記制限回路は、前記ベースアドレスレジスタの上位側複数ビット領域の一部をマスク制御情報に基づいて前記固定論理値にマスクするマスク回路である。マスク制御情報が前記制限ビット数を決定する。マスク回路は例えば上位複数ビット領域から読み出される情報に対して前記マスクを行う。ベースアドレスレジスタに対する書き込み時にマスクを行ってもよい。
【００１２】
〔２〕本発明の具体的な形態として、前記コンフィギュレーション回路はマスク制御情報を保持するラッチ回路を有する。ローカルアドレスの割り当てに対し外部より前記ラッチ回路に必要なマスク制御情報を保持させればよい。
【００１３】
例えば、前記ラッチ回路は半導体集積回路に対するリセット解除に応答して所定の外部端子の値をマスク選択情報としてラッチすればよい。
【００１４】
前記コンフィギュレーション回路を制御する制御回路は、リソースの割り当てが行なわれるとき、リセット解除後のコンフィギュレーションサイクルにおいて、外部から入力される前記固定論理値の反転データをベースアドレスレジスタの論理値可変の上位複数ビットに保持し（第１処理）、保持した後に前記ベースアドレスレジスタが保持する値を前記マスク回路を通して外部に出力し（第２処理）、外部に出力した後に外部から入力されるデータをベースアドレスレジスタに保持する（第３処理）動作を制御する。ホスト装置はコンフィグレーションサイクルにおいて第１処理でベースアドレスレジスタに保持させるのに書き込んだデータに対し、第２処理にてベースアドレスレジスタから読み出されたデータの固定論理値のビット数が何ビットであるかにより、半導体集積回路が必要とするローカルアドレス空間の大きさを識別する。ホスト装置は、識別した大きさのアドレス空間の割り当てを決定し、そのアドレス空間の先頭アドレスを第３処理にてベースアドレスレジスタに書き込みさせる。これによってアドレス空間の割り当てが行なわれる。
【００１５】
上記より、プラグアンドプレイで割り当て可能にされるメモリ空間の大きさを可変にすることができ、そのためにプログラム等による複雑な処理や論理規模の大きな回路を用いることを要せず、比較的容易に実現可能になる。
【００１６】
上記コンフィギュレーションサイクルにおける処理を行うコンフィギュレーション回路及びその制御回路は例えばＰＣＩバスインタフェース回路を構成する。
【００１７】
そのようなＰＣＩバスインタフェース回路を備える半導体集積回路は、例えば前記ＰＣＩバスインタフェース回路を一つの外部入出力回路として制御可能な中央処理装置を有する。
【００１８】
〔３〕上記とは一部観点を異にする発明は、論理値固定の下位ビット数がローカルアドレス空間の容量を規定するベースアドレスレジスタを用いてローカルアドレス空間のアドレス割り当てが行なわれる半導体集積回路であって、前記ベースアドレスレジスタは半導体集積回路の外部からリード・ライト可能にされ、前記ベースアドレスレジスタの上位側複数ビットの一部をビット数可変で前記論理値固定に制限可能な制限回路を有し、ローカルアドレス空間の容量を可変可能とする。
【００１９】
前記制限回路は、例えばベースアドレスレジスタから読み出される値に対して前記論理値固定の制限を行う。論理値固定の制限はベースアドレスレジスタに対する書き込みの際に行ってもよい。望ましい形態として、前記制限回路で論理値固定にするビット数を指定するための制御情報を半導体集積回路のリセット動作の解除に応答して外部から取り込んで保持するラッチ回路を有する。
【００２０】
【発明の実施の形態】
図２には本発明の一例に係るマイクロプロセッサ１が示される。同図に示されるマイクロプロセッサ１は、例えばＣＭＯＳ集積回路製造技術により単結晶シリコンなどの１個の半導体基板に形成される。マイクロプロセッサ１は、フェッチした命令を解読し解読結果にしたがって演算を行う中央処理装置（ＣＰＵ）２、命令キャッシュメモリ（Ｉ−ＣＡＣＨＥ）３、データキャッシュメモリ（Ｄ−ＣＡＣＨＥ）４、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）５、ビデオスケーラ（ＶＳ）６、外部メモリとインタフェースされるメモリインタフェース回路（ＭＥＭＩＦ）７、ＰＣＩバスインタフェース回路（ＰＣＩＩＦ）８、ＤＡＣ（ディジタル・アナログ・コンバータ）９、ＩＯポート（ＩＯＰ）１０及びＰＬＬ（フェーズ・ロックド・ループ）１１，１２を有する。ＰＬＬ１１はＣＰＵ２などの動作基準クロックを生成する。ＰＬＬ１２はメモリインタフェース回路７などの動作基準クロックを生成する。ここではマイクロプロセッサ１はＰＣＩデバイスとして位置付けられる。特に制限されないが、外部メモリには、主としてＳＤＲＡＭが用いられる。
【００２１】
図３には前記ＰＣＩバスインタフェース回路８の一例が示される。ＰＣＩバスインタフェース回路８は、マイクロプロセッサ１の内部では内部バス（ＩＢ）１５に接続され、マイクロプロセッサ１の外部ではＰＣＩバス（ＰＣＩＢ）１６に接続される。内部バス１５はアドレス、データ及び制御信号のバスによって構成され前記ＣＰＵ２等が接続されている。ＰＣＩバス１６はアドレス、データ及びインタフェース制御信号などのバスによって構成される。尚、ＰＣＩバスインタフェース仕様はＰＣＩ・ＳＩＧ  （ＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）によって規格化されている。
【００２２】
前記ＰＣＩバスインタフェース回路８は、ＰＣＩバスインターフェースのシーケンス制御及びバス調停制御を行うＰＣＩバスインタフェース制御部（ＰＣＩＢＣＮＴ）２０、内部バス１５とのやり取りを制御する内部バスインタフェース制御部（ＩＢＣＮＴ）２１、両インタフェース制御部２０，２１によるインタフェース動作速度の違いを吸収するためのＦＩＦＯバッファ回路２２、及びＰＣＩインタフェースに関する各種設定が行なわれるコンフィギュレーション回路（ＣＦＩＧ）２３から成る。ＰＣＩインタフェースに関する各種設定はコンフィギュレーションレジスタ（ＲＣＦＩＧ）２４に保持される。コンフィギュレーションレジスタ２４はＰＣＩバス１６からコンフィギュレーションサイクルにより読み出し書込みが可能にされる。
【００２３】
コンフィギュレーションサイクルは図４に例示されるように、ＰＣＩバス１６のＰＣＩホスト装置（図示せず）がＰＣＩバス１６に接続されているマイクロプロセッサ１などのＰＣＩデバイスに対する初期設定を行うサイクルである。すなわち、各ＰＣＩデバイスはコンフィギュレーションレジスタ２４を持ち、ＰＣＩバス１６のＰＣＩホスト装置はコンフィギュレーションサイクル等でＰＣＩデバイスを認識すると、そのコンフィギュレーションレジスタ２４からベンダＩＤ，デバイスＩＤ、デバイスの種類を識別するクラスコード等を読み出し、ＰＣＩデバイスの種類を識別する。ＰＣＩホスト装置はその識別結果にしたがってＰＣＩデバイスの駆動に必要なメモリアドレス、Ｉ／Ｏアドレス、ＩＲＱ（割込み）番号、ＤＭＡチャネル番号などのリソース割り当てを行う。割り当て結果はＰＣＩホスト装置からＰＣＩデバイスのコンフィギュレーションレジスタ２４に格納される。ＰＣＩデバイスはコンフィギュレーションレジスタ２４の設定で割当てられたメモリアドレスなどのリソースを利用して動作される。
【００２４】
以下、コンフィギュレーションサイクルにおけるＰＣＩデバイスに対するアドレスの割付についてその詳細を説明する。
【００２５】
図１にはコンフィギュレーション回路２３におけるアドレス割付のための詳細な回路構成が例示される。マイクロプロセッサ１に対するアドレス割付のために、ベースアドレスレジスタ（ＢＡＲ）３０、制限回路としてのマスク回路３１、及びラッチ回路を３２有する。ベースアドレスレジスタ３０は、論理値が“０”に固定された下位複数ビットのビット０（Ｂ０）乃至ビット２５（Ｂ２５）の論理値固定領域Ｆｆ、論理値可変の上位複数ビットのビット２６（Ｂ２６）乃至ビット３１（Ｂ３１）の論理値可変領域Ｆｖとを有する。論理値固定領域Ｆｆでは例えば各ビットの出力端子が回路の接地端子に接続され、常時論理値“０”を出力可能にされる。論理値可変領域ＦｖはＰＣＩバス１６を介してＰＣＩホストからデータの書き込みが可能にされる。書き込まれるデータはＢＡＲ書込みデータ（ＢＡＲＷＤ）として図示される。よって、ＰＣＩホスト装置がＰＣＩバス１６を介してベースアドレスレジスタ３０に３２ビットのデータを書き込もうとすると、実際には３２ビット中の論理値可変領域ＦｖのＢ２６乃至Ｂ３１に書き込みが行われる。
【００２６】
マスク回路３１はマスク信号出力回路３３とＢＡＲデータ制限回路（アンドゲート）３４によって構成される。マスク信号出力回路３３は２ビットのマスク選択信号（ＭＳＫＳ）３５によって選択される３ビットのマスク信号３６を出力する。マスク信号３６とマスク選択信号３５の対応は例えば図５に例示される通りである。アンドゲート３４は論理値可変領域ＦｖのＢ２６乃至Ｂ２８の３ビットとマスク信号３６の３ビットとに対しビット対応で３ビットの論理積信号を形成する。したがって、マスク信号が“１１１”の時アンドゲート３４はＢ２８、Ｂ２７、Ｂ２６を出力する。マスク信号が“１１０”の時アンドゲート３４はＢ２８、Ｂ２７、０を出力する。マスク信号が“１００”の時アンドゲート３４はＢ２８、０、０を出力する。マスク信号が“０００”の時アンドゲート３４は０、０、０を出力する。したがって、ＰＣＩホスト装置がＰＣＩバス１６を介してベースアドレスレジスタ３０から３２ビットのデータを読み出そうとすると、Ｂ０〜Ｂ２５は“０”固定、Ｂ２６〜Ｂ２８はマスク信号に応じてマスクされた３ビットとされ、Ｂ２９〜Ｂ３１はベースアドレスレジスタ３０の保持値が常にそのまま、出力される。図１においてＢＡＲ読み出しデータ（ＢＡＲＲＤ）はベースアドレスレジスタ３０から読み出されるデータを意味する。
【００２７】
上記マスク信号による論理値“０”のマスクビット数が多ければベースアドレスレジスタ３０の下位側固定論理値“０”の全体的なビット数が増え、逆に、論理値“０”のマスクビット数が少なければ前記下位側固定論理値“０”の全体的なビット数が少なくなる。マイクロプロセッサ１に割り当て可能なローカルアドレス空間の大きさはベースアドレスレジスタ３０の下位側固定論理値“０”の全体的なビット数に比例する。従って、マスク選択信号３５で指定されるマスクビット数に応じてマイクロプロセッサ１に割り当て可能なローカルアドレス空間の大きさは可変になる。
【００２８】
図５にはマスク信号の値とそれによって設定されるメモリ空間の大きさの関係が例示される。例えばマスク信号が“１１１”のとき、論理値可変領域ＦｖにおいてマスクされないビットはＢ３１〜Ｂ２６とされ、設定されるメモリ空間は６４メガバイト（ＭＢ）になる。マスク信号が“０００”のとき、マスクされないビットはＢ３１〜Ｂ２９とされ、設定されるメモリ空間は５１２ＭＢになる。
【００２９】
前記ラッチ回路３２はコンフィギュレーションサイクルでマスク選択信号３５を形成可能にする。例えば、ラッチ回路３２は２ビットのマスク選択端子ＭＳＫ、リセット端子ＲＴＳ＃、及びクロック端子ＣＫに接続する。マスク選択端子ＭＳＫとリセット端子ＲＴＳＡ＃の値はクロック端子ＣＫのクロック信号に同期して同期化回路３８，３９に入力され、入力されたマスク選択端子ＭＳＫの信号はリセット信号ＲＳＴ＃のハイレベル変化によるリセット解除に応答してクロック同期でラッチ４０に取り込まれる。前記同期化回路３８，３９及びラッチ４０は例えばＤ型ラッチによって構成される。ラッチ４０に取り込まれた信号がマスク選択信号３５になる。
【００３０】
なお、本実施例では、マスク選択信号を２ビットとしたため、選択可能なメモリ空間が４種類となっているが、マスク選択信号のビット数を変更することにより選択可能なメモリ空間の数を増やすことができるのは言うまでもない。例えば、マスク選択信号を１ビットとした場合は、選択可能なメモリ空間は、２種類となる。
【００３１】
図６にはマスク選択信号の取り込み動作のタイミングチャートが例示される。これより明らかのように、リセット端子ＲＳＴ＃によるリセット解除に際してマスク選択信号（ＭＳＫＳ）３５がラッチ回路３２にラッチされる。したがって、その後のコンフィギュレーションサイクルにおいてマスク信号３６は既に確定されている。よって、コンフィギュレーションサイクルにおいて、ＰＣＩホスト装置（ＨＯＳＴ）はベースアドレレジスタ３０に対して全ビット“１”の書き込み行ってから、当該ベースアドレレジスタ３０を読み出し、読み出し結果より、論理値“１”の書き込みが行なわれていないビット数を認識し、そのビット数より、当該ＰＣＩデバイス（ＰＣＩＤＥＶ）１が必要としているアドレス空間の大きさを把握することができる。ＰＣＩホスト装置は認識した大きさのアドレス空間に対しアドレス割り当てを行う。ＰＣＩホスト装置は割り当てたアドレス空間の先頭アドレスをコンフィギュレーションレジスタ３０に書き込んで、ＰＣＩデバイス１に対するアドレス割付を完了する。その後、ＰＣＩデバイス１は割当てられたローカルアドレス空間を用いて通常動作可能にされる。
【００３２】
リセット期間中にマスク選択信号３５によりベースアドレスレジスタ３０の書込み可能ビット数を変更できるので、そのデバイスが必要としてるアドレス空間の大きさをコンフィグレーションサイクルで変えることが可能である。
【００３３】
以上より、様々なシステムを構築しようとする場合に、有限なメモリリソース若しくはアドレスリソースの割り当てに柔軟性を持たせることができる。例えば複数のＰＣＩデバイスを用いる場合にも各デバイスに割当てられるメモリ空間を選択的に小さくでき、有限のリソースを多数のＰＣＩデバイスに割当ててシステムを構築する場合にも対応することができる。図７に例示されるように、５１２ＭＢのメモリ空間を１個のマイクロプロセッサ（ＰＣＩデバイス（ＰＣＩＤＥＶ））１で使う場合と、図８に例示されるように４個のマイクロプロセッサ（ＰＣＩＤＥＶ）１で処理を分散し、トータルで５１２ＭＢ使用する場合にも対応することができる。マイクロプロセッサ１としてはなんら変更すること無くこの２つのシステム構成に対応することができる。
【００３４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。上記具体例では読み出し側をマスクしているが書込み側をマスクするようにしてもよい。マスク選択端子は兼用端子であるがピン数に余裕があれば専用端子としても良い。また、ピン数に余裕があれば専用外部ピンを割当てるようにしてもよい。
【００３５】
また、半導体集積回路はマイクロプロセッサに限定されない。ＰＣＩバスインタフェース制御用の各種コントローラに適用可能である。本発明はコンパクトＰＣＩバス等に対しても適用可能である。
【００３６】
本発明は、ベースアドレスレジスタに対するリード／ライト可能ビットを可変にする条件、或いはリセット時にマスク制御信号を取り込んでベースアドレスレジスタの書込み可能ビット幅を変更する条件を満足するものに適用可能である。
【００３７】
以上のように、本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３８】
すなわち、ローカルアドレス空間のアドレス割り当てに用いるベースアドレスレジスタに対するアドレス割り当て用のビットに対するリード又はライト可能なビット数を可変にすることにより、半導体集積回路のローカルアドレス空間の容量を可変可能とすることができる。これにより、様々なシステムを構築しようとする場合に、有限なメモリリソース若しくはアドレスリソースの割り当てに柔軟性を持たせることができる。
【００３９】
ベースアドレスレジスタに対する書き込み可能ビット幅の指定は半導体集積回路のリセット時に指定することにより、リセット解除後のコンフィギュレーションサイクルにおける初期設定に対応することができる。
【００４０】
【発明の効果】
ローカルアドレス空間を可変にでき、柔軟性を向上させた半導体集積回路を提供できる。
【図面の簡単な説明】
【図１】コンフィギュレーション回路におけるアドレス割付のための詳細な回路構成を例示する論理回路図である。
【図２】本発明の一例に係るマイクロプロセッサのブロック図である。
【図３】ＰＣＩバスインタフェース回路を例示するブロック図である。
【図４】リセット動作に対するコンフィギュレーションサイクルを示す説明図である。
【図５】マスク信号の値とそれによって設定されるメモリ空間の大きさの関係などを例示する説明図である。
【図６】マスク選択信号の取り込み動作を例示するタイミングチャートである。
【図７】５１２ＭＢのメモリ空間を単一ＰＣＩデバイスで利用するシステム構成例を示す説明図である。
【図８】４個のＰＣＩデバイスで処理を分散してトータルで５１２ＭＢのメモリ空間を使用する場合のシステム構成例を示す説明図である。
【符号の説明】
１  マイクロプロセッサ
２  ＣＰＵ
３  命令キャッシュメモリ
４  データキャッシュメモリ
８  ＰＣＩバスインタフェース回路
１５  内部バス
１６  ＰＣＩバス
２０ＰＣＩバスインタフェース制御部
２３  コンフィギュレーション回路
２４  コンフィギュレーションレジスタ
３０  ベースアドレスレジスタ
３１  マスク回路
３２  ラッチ回路
Ｆｆ（Ｂ０〜Ｂ２５）  論理値固定領域
Ｆｖ（Ｂ２６〜Ｂ３１）  論理値可変領域
３３  マスク信号出力回路
３４  アンドゲート
３５  マスク選択信号
３６  マスク信号
【図１】
2005018325.tif 000003
【図２】
2005018325.tif 000004
【図３】
2005018325.tif 000005
【図４】
2005018325.tif 000006
【図５】
2005018325.tif 000007
【図６】
2005018325.tif 000008
【図７】
2005018325.tif 000009
【図８】
2005018325.tif 000010