(57)【要約】【課題】周辺ＬＳＩ３３が、ＣＰＵ２７とは別のメモリ空間を持つ場合、互いに他のメモリ空間を意識しないアクセス方法を提供する。【解決手段】フレキシブルＢＳＣ２２は両メモリ空間のアドレス対応情報を元にアドレス変換する。【効果】ＣＰＵ選択種の拡大、既存プログラムの再利用、新規プログラム開発の容易化が図れる。【選択図】　図１
2004087867.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリ空間上のアドレスと第２のメモリ空間上のアドレスとの対応関係を示すアドレス情報を格納する不揮発性メモリと、
上記第２のメモリ空間上にアドレスを有する複数の機能モジュールと、
上記アドレス情報を格納するバスコントロール回路とを有し、
上記バスコントロール回路は、第１のメモリ空間上のアドレスを受けて、上記アドレス情報を用いて上記第２のメモリ空間上のアドレスに変換し、上記複数の機能モジュールのうち該当する機能モジュールにアクセスする半導体集積回路装置。
【請求項２】
請求項１において、
バスと、
上記複数の機能モジュールと上記バスとの間の接続を制御するスイッチ回路とを有し、
上記不揮発性メモリは、上記バスへの上記複数の機能モジュールの接続／非接続情報を格納しており、
上記スイッチ回路は上記接続／非接続情報に基づき、上記バスに接続する機能モジュールを選択する半導体集積回路装置。
【請求項３】
請求項１において、
上記アドレス情報を上記半導体集積回路装置のプローブテスト時に上記不揮発性メモリに書き込む半導体集積回路装置。
【請求項４】
請求項２において、
上記接続／非接続情報を上記半導体集積回路装置のプローブテスト時に上記不揮発性メモリに書き込む半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話やカメラなどのシステム機器に組み込まれる周辺ＬＳＩに係る。ここで、周辺ＬＳＩとは、ＣＰＵコアの処理を補助するための半導体集積回路である。
【０００２】
【従来の技術】
近年、ＣＰＵコアと周辺ＬＳＩとを別チップとして開発し、１つの半導体装置としてまとめたマルチチップモジュールやシステム・イン・パッケージと呼ばれる製品形態が増加している。通常、このような半導体装置における周辺ＬＳＩは、ＣＰＵコアからの起動命令を受けて動作を開始する。
【０００３】
周辺ＬＳＩは、ＣＰＵコアあるいは周辺装置との間でデータ転送を行う必要がある。“ＬＯＧＩＣ　ＡＮＤ　ＣＯＭＰＵＴＥＲ　ＤＥＳＩＧＮ　ＦＵＮＤＡＭＥＮＴＡＬＳ”，Ｍ．ＭＯＲＲＩＳ　ＭＡＮＯ，２０００，ＰＲＥＮＴＩＣＥ　ＨＡＬＬのｐｐ．５８０−６０９に記載されているように、データ転送方法は以下の３つの種類がある。
【０００４】
第１のデータ転送方法は、例えば画像圧縮のように大規模データの加工を伴う処理において行われるデータ転送方法であり、周辺ＬＳＩがバスマスタとなりデータ転送を行う。第２のデータ転送方法はＣＰＵコアがバスマスタとなりデータ転送が行われる。第３のデータ転送方法は、ＣＰＵバスに接続されたＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）がバスマスタとなりデータ転送を行うものである。これらのいずれの方法も、周辺ＬＳＩを含めた半導体装置全体が一つのＣＰＵコアのメモリ空間となっている。
【０００５】
【発明が解決しようとする課題】
ところが、半導体装置に要求される機能が急速に拡大されるにつれ、周辺ＬＳＩの実行すべき処理も膨大となっている。そのため、周辺ＬＳＩのみを取り替えることにより半導体装置の実行可能な機能を切り換えることができれば有利である。すなわち、半導体装置全体を一つのＣＰＵコアのメモリ空間とするためにはＣＰＵコアと周辺ＬＳＩとをあわせて開発する必要がある。しかし、ＣＰＵコアのメモリ空間と周辺ＬＳＩのメモリ空間とを別々にしておけば、別々に開発したＣＰＵコアと周辺ＬＳＩとを任意に組み合わせて半導体装置を実現することが可能になる。
【０００６】
そのためにはＣＰＵコアのメモリ空間と周辺ＬＳＩのメモリ空間との間で、両者の透過性を実現する必要がある。
【０００７】
【課題を解決するための手段】
このために、ＣＰＵメモリ空間と周辺ＬＳＩの２つのメモリ空間で互いに透過になる必要のある領域をあらかじめ定め、そのアドレス情報を予め保有しておく。望ましくは、その情報を半導体集積回路装置上の不揮発性メモリに格納しておく。両メモリ空間をまたがるアクセスが生じた場合には、アドレス情報を用いて両メモリ空間のアドレス領域の変換を行う。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を図を用いて詳細に説明する。
【０００９】
図２は、携帯電話を例にとった半導体装置ＳＣの模式図である。送受信部４７はＣＰＵ２７を有する。ＣＰＵ２７の主要な目的は送受信データの変復調処理である。ＣＰＵ２７には、ＣＰＵバス２１を介してメモリＭＥＭ１、フラッシュメモリＦＬＳ２、周辺ＬＳＩ（ＰＬＳＩ）３３が接続されている。また、周辺ＬＳＩ３３はＩＯバスやフラッシュメモリＦＬＳ１が接続され、さらにＩＯバス１にはメモリＭＥＭ２、ディスプレイコントローラＬＣＤＣ、カメラＣＡＭが接続されている。このようにディスプレイＬＣＤやカメラＣＡＭはシステムバスであるＣＰＵバス２１には接続されず、周辺ＬＳＩ３３を介してのみ接続される。これにより圧縮前画像の膨大なデータがＣＰＵバス２１を占領してしまうことを防止している。
【００１０】
また、周辺ＬＳＩ３３はその内蔵するインタフェース回路を用いて外部の周辺装置ＥＤＥＶとも通信可能に構成されている。
【００１１】
以下に、図２のシステムにおいて生じうるデータ転送の種類を列挙する。ここでは５種類のデータ転送の形態を挙げる。
【００１２】
データ転送▲１▼は、フラッシュメモリＦＬＳ１と周辺装置ＥＤＥＶとの間でのデータ転送である。このデータ転送を制御する制御ＬＳＩは周辺ＬＳＩ３３となる。フラッシュメモリＦＬＳ１及び周辺装置ＥＤＥＶは、それぞれ周辺ＬＳＩ３３の内蔵するインタフェース回路（機能モジュール）により接続されるためである。データ転送▲１▼は周辺ＬＳＩ３３のメモリ空間において行われる。
【００１３】
データ転送▲２▼は、フラッシュメモリＦＬＳ２と周辺装置ＥＤＥＶとの間でのデータ転送である。このデータ転送を制御する制御ＬＳＩは周辺ＬＳＩとなる。フラッシュメモリＦＬＳ２はＣＰＵバス２１に接続され、周辺装置ＥＤＥＶのインタフェース回路は周辺ＬＳＩ３３に内蔵されているため、両者をみることができるのは周辺ＬＳＩ３３であるためである。データ転送▲２▼はＣＰＵ２７のメモリ空間と周辺ＬＳＩ３３のメモリ空間にまたがって行われる。例えば、フラッシュメモリＦＬＳ２のプログラム格納領域に周辺装置ＥＤＥＶを制御するプログラムが格納されている場合、システムは当該プログラムを周辺装置ＥＤＥＶに転送することにより、周辺装置ＥＤＥＶを制御することができる。
【００１４】
データ転送▲３▼は、後述するデータ加工や、既に述べた周辺装置ＥＤＥＶとのデータ転送を伴わないデータ転送である。例えば、メモリＭＥＭ１からその格納された内容をディスプレイＬＣＤに表示する場合である。データ転送▲３▼もまたＣＰＵ２７のメモリ空間と周辺ＬＳＩ３３のメモリ空間にまたがって行われる。しかし、データ転送▲２▼と異なり、このデータ転送を制御する制御ＬＳＩはＣＰＵ２７またはＣＰＵバス２１に接続された図示しないダイレクトメモリアクセスコントローラである。データ転送▲３▼においては、周辺ＬＳＩ３３はバス制御のみを行う。メモリＭＥＭ１のデータはＣＰＵバス２１に出力され、周辺ＬＳＩ３３は当該データをＣＰＵバス２１からＩＯバス１を介してディスプレイＬＣＤに転送する。例えば、携帯電話の待ち受け時にメールが着信したことを知らせるメッセージの表示において、データ転送▲３▼が行われる。
【００１５】
データ転送▲４▼及び▲５▼は、周辺ＬＳＩ３３が内蔵するデータ加工を行うＩＰ（機能モジュール）を利用するシステムレベル動作であり、制御ＬＳＩはどちらも周辺ＬＳＩ３３となる。データ転送▲４▼及び▲５▼もまたＣＰＵ２７のメモリ空間と周辺ＬＳＩ３３のメモリ空間にまたがって行われる。
【００１６】
データ転送▲４▼の動作例は、受信したデータを加工して表示する動作である。ＣＰＵ２７が受信データをメモリＭＥＭ１に格納した後、周辺ＬＳＩ３３は、メモリＭＥＭ１からＣＰＵバス２１を経由して周辺ＬＳＩ３３に転送させ、受信データを周辺ＬＳＩ３３で加工した後、加工したデータをＩＯバス１によりディスプレイＬＣＤに転送する。例えば、ビデオメールの受信のように、圧縮動画像を受信し、周辺ＬＳＩ３３で伸張してディスプレイＬＣＤに表示するような場合が挙げられる。
【００１７】
データ転送▲５▼の動作例は、データ入力装置から入力したデータを加工して送信する動作である。専用信号線４８を経由してカメラＣＡＭから周辺ＬＳＩ３３に画像データを取り込み、画像データを加工して、ＣＰＵバス２１を経由してＣＰＵ２７に転送する。例えば、ビデオメールの送信のように、カメラで取り込んだ動画像を周辺ＬＳＩ３３で圧縮して圧縮データを送信するような場合が挙げられる。
【００１８】
以下、上記のデータ転送を実現する周辺ＬＳＩの構成、動作について説明する。
（１）周辺ＬＳＩの構成
周辺ＬＳＩの主要な構成を図１に示す。周辺ＬＳＩ３３は、複数の機能モジュールを内蔵している。内蔵する機能モジュールとしては、画像の圧縮と伸張処理を行う画像圧縮伸張回路ＧＲＰ、カメラ等と大容量データ通信を行うためのビデオ入出力回路ＶＩＯと双方向シリアルバスＩＩＣ、および周辺装置ＥＤＥＶとのシリアルデータ通信を行うためのインタフェース回路群５がある。例えば、ＵＳＢインタフェース回路５−１、Ｂｌｕｅｔｏｏｔｈインタフェース回路５−２、シリアル入出力インタフェース回路５−３等を含む。画像圧縮伸張回路ＧＲＰは、例えばＭＰＥＧ４の規格に則った専用回路である。画像圧縮伸張回路ＧＲＰ、ビデオ入出力回路ＶＩＯおよび双方向シリアルバスＩＩＣは通信転送レートが高いため転送レートの高い内部バス３に接続され、インタフェース回路群５は転送レートの低い周辺バス４に接続される。後述するように、本発明の周辺ＬＳＩでは使用する半導体装置の機能に応じて内蔵する機能モジュールの使用・不使用を選択することができる。このためにバス・電源スイッチ回路ＢＰＳＷが設けられており、使用しない機能モジュールに電源供給を遮断し、バスとの接続を遮断できる。このような選択機能をもたせない場合には、スイッチ回路ＢＰＳＷを介することなくバスと各機能モジュールとを接続すればよい。
【００１９】
フレキシブルＢＳＣ（フレキシブルバスコントローラ、ＦＢＳＣ）２２は周辺ＬＳＩ３３のデータ転送を制御する。ＣＰＵ２７のメモリ空間と周辺ＬＳＩ３３のメモリ空間をまたがってデータ転送を行う場合には、フレキシブルＢＳＣ２２は、ＣＰＵ２７のメモリ空間と周辺ＬＳＩ３３のメモリ空間とのマッピングのためのアドレス変換情報を使用する。このアドレス変換情報は、内蔵フラッシュメモリＩＦＬＳに外部ピン６９から格納される。読み出し回路ＦＬＳＲは、内蔵フラッシュメモリＩＦＬＳに格納されたアドレス変換情報を読み出し、フレキシブルＢＳＣ２２に転送する。
【００２０】
また、割り込み制御回路ＩＮＴＣは各種割込みを受け付ける。その中には、各機能モジュールからのバス権要求がある。
（２）周辺ＬＳＩの内部動作
上述のデータ転送動作▲１▼〜▲５▼の各々を実現するための周辺ＬＳＩ３３の内部動作を説明する。
（ａ）データ転送▲１▼
フラッシュメモリＦＬＳ１のインタフェース回路として図示しないフラッシュインタフェース回路（以下、「フラッシュＩＦ」と表記する）を用い、周辺装置ＥＤＥＶのインタフェース回路としてＵＳＢインタフェース回路５−１と　Ｂｌｕｅｔｏｏｔｈインタフェース回路５−２を用いる。これらのインタフェース回路は、比較的低いレートの転送が許容されるため、これらのインタフェース回路がバスマスタとなるのではなく、内蔵ＣＰＵ（ＩＣＰＵ）６がバスマスタとなる。
【００２１】
フラッシュメモリＦＬＳ１から周辺装置ＥＤＥＶへのデータ転送過程は、以下のようになる。まず、フラッシュメモリＦＬＳ１からフラッシュＩＦを通してデータが周辺バス３に転送される。次に、データはフレキシブルＢＳＣ２２を介して内蔵ＣＰＵ６のレジスタに転送される。次に、内蔵ＣＰＵ６は、レジスタに転送されたデータを、フレキシブルＢＳＣ２２を介して周辺バス３に転送する。最後に、周辺バス３上のデータは、ＵＳＢインタフェース回路またはＢｌｕｅｔｏｏｔｈインタフェース回路内のレジスタを介して機器に転送される。周辺装置ＥＤＥＶからフラッシュメモリＦＬＳ１へのデータ転送過程は、上記の逆の過程となる。
（ｂ）データ転送▲２▼
データ転送▲１▼と同じ理由で、内蔵ＣＰＵ６がバスマスタとなる。フラッシュメモリＦＬＳ２から周辺装置ＥＤＥＶへのデータ転送過程は、最初にフラッシュメモリＦＬＳ２からＣＰＵバス２１を介して、フレキシブルＢＳＣ２２にデータが送られ、フレキシブルＢＳＣ２２から内蔵ＣＰＵ６内のレジスタにデータ転送される。その後のデータ転送過程はデータ転送▲１▼と同じである。
（ｃ）データ転送▲３▼
データ転送▲３▼においては周辺ＬＳＩ３３の役割はバス制御のみである。メモリＭＥＭ１からＣＰＵバス２１を介してフレキシブルＢＳＣ２２にデータが送られ、フレキシブルＢＳＣ２２からＩＯバス１を介して、メモリＭＥＭ２を経由して表示制御回路ＬＣＤＣにデータが転送される。表示制御回路ＬＣＤＣは該データをディスプレイＬＣＤに表示する。
（ｄ）データ転送▲４▼及びデータ転送▲５▼
データ転送▲４▼及び▲５▼では、ＣＰＵバス２１、ＩＯバス１、および周辺ＬＳＩ３３のいずれも関係するので、周辺ＬＳＩ３３が制御ＬＳＩとなる。バスマスタは、データ処理を実行する画像圧縮伸張回路ＧＲＰなどの機能モジュールである。高速度のデータ処理という要求を満足させるためには、内蔵ＣＰＵ６を介さないでデータ転送を行うことが有利だからである。
【００２２】
画像圧縮伸張回路ＧＲＰを用いた画像データの伸張と表示を例にとって、データ転送過程▲４▼を説明する。まず、メモリＭＥＭ１からＣＰＵバス２１を介して、フレキシブルＢＳＣ２２にデータが転送され、フレキシブルＢＳＣ２２から内部バス４を介して画像圧縮伸張回路ＧＲＰにデータ転送される。次に、画像圧縮伸張回路ＧＲＰで画像データを伸張後、内部バス４を介してフレキシブルＢＳＣ２２に伸張されたデータを送り、フレキシブルＢＳＣ２２からＩＯバス１を介してメモリＭＥＭ２にデータ転送する。その後は、▲３▼と同様である。
【００２３】
データ転送過程▲５▼もデータ転送過程▲４▼と同様である。図２に示すように、データ取り込み経路にはＩＯバス１と専用信号線４８とがあり、どちらを用いてもよい。
（３）フレキシブルＢＳＣ２２の機能
バスコントローラの主要機能は、バスステートコントロールとバスプロトコルの解読・生成である。バスステートコントロールとはＣＰＵやその他からのバスの読み書き要求から状態を決定して、バスプロトコルの解読・生成を指示するものである。フレキシブルＢＳＣ２２も公知のバスコントローラと同様にこの機能を有する。
【００２４】
また、バスコントローラはバスへのデータ転送時にはプロトコルの生成を行い、バスからのデータ取得時にはプロトコルの解読を行う。本発明のように複数のバスが存在する場合には、データを転送するバスまたはデータを取得するバスに応じた生成、解読が行われることになる。特に、データ転送▲２▼〜▲５▼ではメモリ空間をまたがるデータ転送が行われる。そのため、フレキシブルＢＳＣのプロトコルの解読・生成ではメモリ空間のマッピングを行い、マッピング対象のアドレス領域を互いにアドレス変換する必要がある。この機能により、プログラムの変更などの複雑な処理をすることなく別のメモリ空間をアクセスすることが可能となり、システム開発のコストを削減できる。
（４）フレキシブルＢＳＣの構成と動作
フレキシブルＢＳＣ２２の構成を図３に示す。フレキシブルＢＳＣ２２は、バスステートコントローラＢＳＴＣとプロトコル解読・生成回路ＰＡＧを有する。バスステートコントローラＢＳＴＣは、バスマスタとなりうる回路（例えば、内蔵ＣＰＵ６、機能モジュール（例えば画像圧縮伸張回路ＧＲＰ）、ＣＰＵ２７等）からのバス権要求とデータ転送を行うバスを受け付け、優先順位に従って要求されるバス権を開放する。このとき、バスステートを変更し、バスプロトコル解読・生成回路ＰＡＧにデータ転送を行うバス情報を転送する。対象となるバスは、フレキシブルＢＳＣ２２が関連する全てのバス、即ち、ＣＰＵバス２１、ＩＯバス１、内部バス４、および周辺バス３である。
【００２５】
バスプロトコル解読・生成回路ＰＡＧは、バスステートコントローラＢＳＴＣからバス情報を受け取ると、プロトコルの解読と生成、および必要なメモリ空間のアドレス変換を行う。
【００２６】
バスステートコントローラＢＳＴＣからバスプロトコル解読・生成回路ＰＡＧに転送されるバス情報は以下の３種類を含む。第一は周辺ＬＳＩ３３のバスアクセスか否かを示す第１バス情報２８、第二は２つのメモリ空間にまたがるバスアクセスか否かを示す第２バス情報３９、第三はＣＰＵバスアクセスか否かを示す第３バス情報２９である。これらのバス情報は、それぞれ、周辺ＬＳＩプロトコル解読／生成回路ＰＰＡＧ、アドレス変換回路ＡＣＯＮ、およびＣＰＵプロトコル解読／生成回路ＣＰＡＧの動作を制御する。また、第１バス情報２８は、周辺ＬＳＩのメモリ空間に属するバス（ＩＯバス１、内部バス４、周辺バス３）へのアクセスが生じたときにアクティブとなる。第２バス情報３９は、両空間にまたがるアクセスが生じたことにアクティブとなる。第３バス情報２９は、周辺ＬＳＩのメモリ空間に属しないバス（ＣＰＵバス２１）へのアクセスが生じたときにアクティブとなる。
【００２７】
データ転送▲１▼は周辺ＬＳＩのメモリ空間内のデータ転送である。この場合、第１バス情報２８はアクティブとなるが、第２バス情報３９と第３バス情報２８はインアクティブとなる。これにより、一つのメモリ空間に閉じたデータ転送が実行される。
【００２８】
データ転送▲２▼では、最初に内蔵ＣＰＵ６がバスステートコントローラＢＳＴＣに制御線２６によりＣＰＵバス２１のバスマスタ要求を出す。バスステートコントローラＢＳＴＣは制御線１８を介してバス権要求ＲｅｑをＣＰＵ２７に出し、許可Ａｃｋを受ける。これにより、ＩＯバス１（または内部バス４、周辺バス３）からＩＯバス１へデータ転送することが許可される。ＩＯバス１から周辺ＬＳＩプロトコル解読／生成回路ＰＰＡＧはデータ取得するため、バスステートコントローラＢＳＴＣは第１バス信号２８をアクティブとする。また転送されたデータは周辺バス３にデータ転送するため、アドレス変換が必要となる。そのため、バスステートコントローラＢＳＴＣは第２バス信号３９もアクティブとする。アドレス変換回路ＡＣＯＮはアドレスバス５０から取得した周辺ＬＳＩメモリ空間アドレスをＣＰＵメモリ空間用にアドレス変換する。ＣＰＵプロトコル解読／生成回路ＣＰＡＧはアドレス変換回路ＡＣＯＮによって変換されたＣＰＵメモリ空間アドレスをアドレスバス５１に、データをＣＰＵバス２１に出力する。
【００２９】
データ転送▲３▼では、ＣＰＵ２７はバス権要求Ｒｅｑを制御線１８によりバスステートコントローラＢＳＴＣに出し、許可Ａｃｋを受ける。これにより、ＣＰＵバス２１からＩＯバス１（または内部バス４、周辺バス３）へデータ転送することが許可される。ＣＰＵバス２１からＣＰＵプロトコル解読／生成回路ＣＰＡＧはデータ取得するため、バスステートコントローラＢＳＴＣは第３バス信号２９をアクティブとする。また転送されたデータはＩＯバス１にデータ転送するため、アドレス変換が必要となる。そのため、バスステートコントローラＢＳＴＣは第２バス信号３９もアクティブとする。アドレス変換回路ＡＣＯＮはアドレスバス５０から取得したＣＰＵメモリ空間アドレスを周辺ＬＳＩメモリ空間用にアドレス変換する。周辺ＬＳＩプロトコル解読／生成回路ＰＰＡＧはアドレス変換回路ＡＣＯＮによって変換された周辺ＬＳＩメモリ空間アドレスをアドレスバス５０に、データをＩＯバス１に出力する。
（５）アドレス変換回路の構成と動作
周辺ＬＳＩ３３のメモリ空間ＭＡＰとＣＰＵ２７のメモリ空間ＭＡＣとをマッピングするためのアドレス変換を図４に示す。周辺ＬＳＩ３３がバスマスタとなりＣＰＵ２７のメモリ空間にアクセスする場合（Ａ）と、ＣＰＵ２７がバスマスタとなり周辺ＬＳＩ３３のメモリ空間にアクセスする場合（Ｂ）とがある。
【００３０】
前者の場合には、アクセスしたいＣＰＵ２７のメモリレンジ（第１のレンジ）に対して、周辺ＬＳＩ３３のメモリ空間中に対応するメモリレンジ（第２のレンジ）を割り付ける。アドレス変換に必要な情報は、第１のレンジの開始アドレスＣＡ１、開始アドレスＣＡ１に対応する開始アドレスＰＡ１及び第１のレンジのアドレス幅ＲＧ１である。
【００３１】
後者の場合には、前者の逆となり、アドレス変換に必要な情報は、アクセスしたい周辺ＬＳＩ３３のメモリレンジ（第３のレンジ）の開始アドレスＰＡ２、開始アドレスＰＡ２に対応するＣＰＵメモリレンジ（第４のレンジ）の開始アドレスＣＡ２及び第３のレンジのアドレス幅ＲＧ２である。
【００３２】
これらのアドレス変換情報は内蔵フラッシュメモリＩＦＬＳに登録しておく。周辺ＬＳＩ３３のイニシャライズ時に内蔵フラッシュメモリＩＦＬＳからアドレス変換回路のレジスタ（図５を参照）に読み込む。開始アドレスＣＡ１はレジスタＣＡ１−Ｒｅｇに、開始アドレスＰＡ１はレジスタＰＡ１−Ｒｅｇに、アドレス幅ＲＧ１はレジスタＲＧ１−Ｒｅｇに格納する。同様に、開始アドレスＣＡ２、開始アドレスＰＡ２、アドレス幅ＲＧ２は、それぞれレジスタＣＡ２−Ｒｅｇ、レジスタＰＡ２−Ｒｅｇ、レジスタＲＧ２−Ｒｅｇに格納する。
【００３３】
アドレス変換が必要なケースは（周辺ＬＳＩのメモリ空間→ＣＰＵのメモリ空間）または（ＣＰＵのメモリ空間→周辺ＬＳＩのメモリ空間）の２種類あるが、両ケースとも同様な動作であるため、周辺ＬＳＩ３３がバスマスタとしてＣＰＵメモリ空間にアクセスする場合について述べる。
【００３４】
まず、周辺ＬＳＩプロトコル解読／生成回路ＰＰＡＧからアクセスしたいアドレス（周辺ＬＳＩメモリ空間ＭＡＰでのアドレス（本例では「第１アドレス」と称する、図４の第２のレンジに属する）がアドレス変換回路ＡＣＯＮに送られる。第１アドレスはセレクタＷ−ＳＥＬ１を介してレジスタＰＡ−Ｒｅｇに書き込まれる。このケースではレジスタＣＡ１−Ｒｅｇ、ＰＡ１−Ｒｅｇ、ＲＧ１−Ｒｅｇの値がアドレス領域選択回路ＡＳＥＬに読み込まれ、レジスタＰＡ−Ｒｅｇの第１アドレスが正しく第２のレンジに属するアドレスであるかどうかを判定する。第２のレンジに属さないアドレスであれば、エラー信号６１を割り込み回路ＩＮＴＣに送る。第２のレンジに属するアドレスであれば、アドレス演算回路ＡＣＡＬによりＣＰＵメモリ空間ＭＡＣでのアドレスに変換する。新しいアドレス（本例では「第２アドレス」と称する）はＣＡ１（レジスタＣＡ１−Ｒｅｇのアドレス）＋（レジスタＰＡ−Ｒｅｇのアドレス）−ＰＡ１（レジスタＰＡ１−Ｒｅｇのアドレス）として求められる。第２アドレスはセレクタＷ−ＳＥＬ２を介してレジスタＣＡ−Ｒｅｇに書き込まれる。レジスタＣＡ−Ｒｅｇに書き込まれた第２アドレスは、ＣＰＵプロトコル解読／生成回路ＣＰＡＧに出力される。
【００３５】
ＣＰＵ２７がバスマスタとなる場合も同様である。この場合の新しいアドレスはＰＡ２（レジスタＰＡ２−Ｒｅｇのアドレス）＋（レジスタＣＡ−Ｒｅｇのアドレス）−ＣＡ２（レジスタＣＡ２−Ｒｅｇのアドレス）として求められる。
（６）イニシャライズ動作
周辺ＬＳＩ３３のイニシャライズ時に内蔵フラッシュメモリＩＦＬＳの内容をレジスタ群６０ａ、６０ｂに読み込む。この読み込みは読み出し回路ＩＦＬＳＲを用いて行う。読み出し回路ＩＦＬＳＲは、読み出しシーケンサＳＱＳとメモリインタフェース回路ＭＩＦとを有する。
【００３６】
バスステートコントローラＢＳＴＣは、パワーオンリセット信号等の入力に応じてイニシャライズ動作の要求を信号線１７を介して読み出し回路ＩＦＬＳＲに通知する。この通知に従い、読み出しシーケンサＳＱＳは、メモリインタフェース回路ＭＩＦに指令を出し、あらかじめ定められたアドレスの順番に従い、データを順次読み出す。読み出されたデータは、アドレス変換回路ＡＣＯＮに送られ、セレクタＷ−ＳＥＬ３は格納先レジスタを決定し、レジスタ群６０ａ，６０ｂに格納する。
（７）バス・電源スイッチ回路
周辺ＬＳＩ３３に内蔵する機能モジュールは、様々な機能モジュールを搭載させておくと多様なシステムに対応するために有利である。その場合には、使用されない機能モジュールが周辺ＬＳＩ３３には内蔵されているということになり、不使用の機能モジュールに無駄な電流が流れて電力を消費したり、誤作動を防止したりすることが望ましい。図６に不使用の機能モジュールをバスに接続することを停止し、電力の供給を停止させるスイッチ回路の構成例を示す。なお、図６の例では接続バスとして周辺バス３を示しているが、内部バス４の場合も同じである。
【００３７】
スイッチ回路ＢＰＳＷは、電源線４３と機能モジュールの電源線との間に設けられたスイッチ素子２４０と、バス３と機能モジュールとの間に設けられたスイッチ素子２４０とを有する。機能モジュール５−１に対応するスイッチ素子２３０−１、スイッチ素子２４０−１は第１の制御信号により制御され、機能モジュール５−２に対応するスイッチ２３０−２、スイッチ素子２４０−２は第２の制御信号により制御される。
【００３８】
制御信号によりスイッチ素子がオン状態とされる場合には、機能モジュールと周辺バスとの間のデータ転送が有効となり、電源も供給され、この機能モジュールは有効となる。一方、制御信号によりスイッチ素子がオフ状態とされる場合には、機能モジュールと周辺バスとの間のデータ転送が無効となり、電源も供給されず、この機能モジュールは無効となる。レジスタＳｅｌ−Ｒｅｇはこの制御信号を格納しており、スイッチ素子をオン状態とするような制御信号を１、オフ状態とするような制御信号を０として格納しておく。
【００３９】
上述のように有効／無効の制御はレジスタＳｅｌ−Ｒｅｇにしたがって行われる。この有効／無効データも内蔵フラッシュメモリＩＦＬＳに格納されており、周辺ＬＳＩ３３のイニシャライズ時に読み出し回路ＩＦＬＳＲにより読み出されて、レジスタファイルＳｅｌ−Ｒｅｇに書き込まれる。イニシャライズ動作は上述した動作と同様に行われる。
【００４０】
以上、本発明を実施の形態に基づいて説明したが、種々の変形が可能である。例えば、図２の例ではＣＰＵ２７と周辺ＬＳＩ３３を１つの基板に実装したが、別々の基板に実装してもよい。例えば、ＣＰＵ２７を第１の基板に実装し、周辺ＬＳＩ３３を第２の基板に実装し、第１の基板と第２の基板とを配線層により接続し、これらを１つのパッケージに封止する形態にしてもよい。
【００４１】
また、内蔵フラッシュメモリＩＦＬＳはフラッシュメモリに限られず、不揮発性メモリや電源がバックアップされた揮発性メモリであってもよい。利用可能な不揮発性メモリとしては紫外線消去型のＥＰＲＯＭやヒューズなどが挙げられる。また、周辺ＬＳＩ３３に内蔵させることなく外付けのチップにしてもよい。
【００４２】
本発明では、制御信号（フレキシブルＢＳＣ２２用のアドレス情報、バス・電源スイッチ回路ＢＰＳＷ用の機能モジュール選択情報）を内蔵フラッシュメモリＩＦＬＳに格納することにより、同じ周辺ＬＳＩ３３を多様なシステムで使用することが可能になる。内蔵フラッシュメモリＩＦＬＳへの書き込みはウェハ状態でプローブ検査を行う段階で行うことが望ましい。このように構成することにより、内蔵フラッシュメモリＩＦＬＳに書き込みを行うための書き込み高電圧を印加するピンをパッケージに接続する必要がなくなる。これにより実装後の書き込みを防止できる。また、本発明の周辺ＬＳＩのテストにあたってはバス・電源スイッチ回路ＢＰＳＷにより選択される機能モジュールについてテストを行い、それ以外の機能モジュールに対してテストを省略するようにしてもよい。
【００４３】
【発明の効果】
本発明により、多様な機能モジュールを搭載し汎用的な周辺ＬＳＩを設計の負担を与えることなくシステムに対応させて用いることが可能になる。
【図面の簡単な説明】
【図１】周辺ＬＳＩ３３の構成図である。
【図２】本発明の周辺ＬＳＩを含む半導体装置を含む携帯電話（システム）の構成図である。
【図３】フレキシブルＢＳＣ２２の構成図である。
【図４】周辺ＬＳＩメモリ空間ＭＡＰとＣＰＵメモリ空間ＭＡＰの関係を示す図である。
【図５】アドレス変換回路ＡＣＯＮの構成図である。
【図６】バス・電源スイッチ回路ＢＰＳＷの構成図である。
【符号の説明】
１・・・ＩＯバス、３・・・周辺バス、４・・・内部バス、６・・・内蔵ＣＰＵ、２１・・・ＣＰＵバス、２２・・・フレキシブルＢＳＣ（ＦＢＳＣ）。
【図１】
2004087867.tif 000003
【図２】
2004087867.tif 000004
【図３】
2004087867.tif 000005
【図４】
2004087867.tif 000006
【図５】
2004087867.tif 000007
【図６】
2004087867.tif 000008