(57)【要約】【課題】外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリードにおける遅延設定が容易で融通性も高く、遅延時間の切換えを高速に行なうことができる外部バスインタフェース機能を備えたデータプロセッサを提供する。【解決手段】外部データ端子から入力されたリードデータを遅延制御すると共に、遅延制御されたデータのラッチタイミングを制御する外部バスインタフェース制御回路を採用し、ラッチタイミングの制御には、クロック出力バッファを介して外部に出力する内部クロック信号を遅延させる複数の第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路のラッチクロックとして与える制御を行い、データ遅延制御には、データ端子から入力されるリードデータを遅延させる複数の第２遅延回路の出力をチップ選択信号に基づいて選択してラッチ回路にラッチするデータとして与える制御を行う。【選択図】図１
2011175444.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を生成するクロックパルスジェネレータと、
アクセス要求を発行するアクセス制御回路と、
アクセス要求に応答して外部バス制御を行う外部バスインタフェース制御回路と、を有するデータプロセッサであって、
前記外部バスインタフェース制御回路は、外部クロック端子から外部クロック信号を出力するクロック出力バッファと、チップ選択端子からチップ選択信号を出力するチップ選択制御回路と、外部データ端子から入力されたリードデータの遅延制御を行うデータ遅延制御回路と、前記データ遅延制御回路で遅延制御されたデータをラッチするラッチ回路と、前記ラッチ回路のラッチタイミングを生成するラッチタイミング制御回路と、を有し、
前記ラッチタイミング制御回路は、クロック出力バッファに入力される内部クロック信号を第１遅延制御レジスタの設定値にしたがって遅延させる複数の第１遅延回路と、前記第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチクロックとして与える第１選択回路とを有し、
前記データ遅延制御回路は、データ端子から入力されるリードデータを第２遅延制御レジスタの設定値にしたがって遅延させる複数の第２遅延回路と、前記第２遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチするデータとして与える第２選択回路とを有する、データプロセッサ。
【請求項２】
前記第１遅延制御レジスタ及び第２遅延制御レジスタは前記アクセス制御回路の１つである中央処理装置のアドレス空間に配置されたレジスタであ、請求項１記載のデータプロセッサ。
【請求項３】
外部からリードデータが入力されると共に当該リードデータの確定を示すデータストローブ信号が入力されるメモリ制御回路を有する、請求項１記載のデータプロセッサ。
【請求項４】
請求項１記載のデータプロセッサと、
前記データプロセッサが備える前記外部バスインタフェース制御回路に接続され、前記データプロセッサからのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴わない第１外部デバイスと、
前記データプロセッサが備える前記外部バスインタフェース制御回路に接続され、前記データプロセッサからのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴う第２外部デバイスと、を有するデータ処理システム。
【請求項５】
内部回路モジュールから外部へのアクセス要求に応答して外部バス制御を行う外部バスインタフェース制御回路を有する半導体装置であって、
前記外部バスインタフェース制御回路は、外部データ端子から入力されたリードデータの遅延制御を行うデータ遅延制御回路と、前記データ遅延制御回路で遅延制御されたデータをラッチするラッチ回路と、前記ラッチ回路のラッチタイミングを生成するラッチタイミング制御回路と、を有し、
前記ラッチタイミング制御回路は、前記クロック出力バッファを介して外部に出力する内部クロック信号を遅延させる複数の第１遅延回路と、前記第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチクロックとして与える第１選択回路とを有し、
前記データ遅延制御回路は、データ端子から入力されるリードデータを遅延させる複数の第２遅延回路と、前記第２遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチするデータとして与える第２選択回路とを有する、半導体装置。
【請求項６】
前記第１の遅延回路の遅延時間を決める遅延データが設定される第１遅延制御レジスタと、前記第２の遅延回路の遅延時間を決める遅延データが設定される第２遅延制御レジスタとを更に有する、請求項５記載の半導体装置。
【請求項７】
前記第１遅延制御レジスタ及び前記第２遅延制御レジスタに設定する遅延データを格納する不揮発性メモリと、前記不揮発性メモリから前記第１遅延制御レジスタ及び前記第２遅延制御レジスタに前記遅延データを初期設定する中央処理装置と、を更に有する請求項５記載の半導体装置。
【請求項８】
外部からリードデータが入力されると共に当該リードデータの確定を示すデータストローブ信号が入力されるメモリ制御回路を有する、請求項５記載の半導体装置。
【請求項９】
請求項５記載の半導体装置と、
前記半導体が備える前記外部バスインタフェース制御回路に接続され、前記半導体装置からのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴わない第１外部デバイスと、
前記半導体装置が備える前記外部バスインタフェース制御回路に接続され、前記半導体装置からのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴う第２外部デバイスと、を有するデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リードデータをクロック同期でラッチする外部バスインタフェースを有するデータプロセッサ及び半導体装置、更にはそれを用いたデータ処理システムに関し、例えばマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には外部デバイスにクロック信号を与え、外部デバイスから返されるリードデータをラッチするラッチ回路のラッチタイミングを前記クロック信号の遅延クロックを用いて制御するマイクロコンピュータが示される。
【０００３】
特許文献２には、半導体集積回路の試験装置において、記憶回路に格納した遅延データをアドレス発生器で発生させたアドレスで選択し、選択した遅延データに応じた遅延を持つクロック信号を出力する技術が示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３５５１６３号公報
【特許文献２】特開平９−１８１５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データ出力と共に当該データの確定タイミングをアクセス要求元に返す機能を備えていない外部デバイスをアクセスする外部バスインタフェース回路には、外部デバイスに供給したクロック信号に同期して返されるリードデータをラッチするのに、特許文献１に記載のような遅延クロックを用いることにより、所要のセットアップタイムとホールドタイムを確保してラッチ回路にリードデータを取り込むことができる。特に、特許文献２に記載のように遅延データを選択することによって遅延クロックの遅延時間を可変とすることにより、外部インタフェースのアナログ特性が異なる、即ち、クロック供給からデータ確定までの遅延時間が相違する、複数の外部デバイスに対して対応することが可能である。
【０００６】
しかしながら、外部インタフェースのアナログ特性が異なる複数の外部デバイスが外部バスに共通接続されるデータ処理システムへの適用を考えたとき、特許文献２に記載の如くアクセス対象とする外部デバイスに切換え毎に記憶回路から読み出す遅延データを選択し直す場合にはアクセス処理が遅延する虞がある。さらに、外部デバイスにおけるリードデータの遅延はクロック信号の遅延とデータ系の遅延が在り、それをクロック信号の遅延だけで対処するということは、遅延要素の異なる遅延をひとつの遅延要素で対処するということになり、遅延設定が難しくなる場合が想定され、更に遅延設定の融通性も低くなる。
【０００７】
本発明の目的は、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高く、しかも遅延時間の切換え処理を高速に行なうことができる外部バスインタフェース機能を備えたデータプロセッサ、更には半導体装置を提供することにある。
【０００８】
本発明の別の目的は、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高く、しかも遅延時間の切換え処理を高速に行なうことができるデータ処理システムを提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、外部データ端子から入力されたリードデータを遅延制御すると共に、遅延制御されたデータのラッチタイミングを制御する外部バスインタフェース制御回路を採用し、前記ラッチタイミングの制御には、クロック出力バッファを介して外部に出力する内部クロック信号を遅延させる複数の第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路のラッチクロックとして与える制御を行い、データ遅延制御には、データ端子から入力されるリードデータを遅延させる複数の第２遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチするデータとして与える制御を行う。
【００１２】
リードデータの遅延制御と共に、遅延制御されたデータのラッチタイミングの制御を行うので、クロック系とデータ系の異なる遅延要素の夫々に着目してリードデータの取り込みを制御することができ、これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高くなる。
【００１３】
更にチップ選択に連動してクロックとデータの夫々の遅延回路の出力を切換えるから、遅延時間の切換え処理を高速化することができる。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１５】
すなわち、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高く、しかも遅延時間の切換え処理を高速に行なうことができる。
【図面の簡単な説明】
【００１６】
【図１】図１は本発明に係るデータプロセッサの一例である半導体集積回路化されたマイクロコンピュータのブロック図である。
【図２】図２は本発明に係るデータ処理システムの一実施の形態として携帯電話器を示したブロック図である。
【図３】図３は図1のマイクロコンピュータが備える外部バスインタフェース回路の詳細を例示するブロック図である。
【図４】図４はデータ遅延制御回路及びクロック遅延調整回路を用いたアクセス制御例を示すブロック図である。
【図５】図５は図４における動作タイミングを示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕本発明の代表的な実施の形態に係るデータプロセッサ（１０１）は、クロック信号を生成するクロックパルスジェネレータ（２０４）と、アクセス要求を発行するアクセス制御回路（２００，２０１）と、アクセス要求に応答して外部バス制御を行う外部バスインタフェース制御回路（１００）と、を有する。前記外部バスインタフェース制御回路は、外部クロック端子（３１２）から外部クロック信号（CK）を出力するクロック出力バッファ（３０２）と、チップ選択端子（３１４）からチップ選択信号（ＣＳ１〜ＣＳ４）を出力するチップ選択制御回路（３０５）と、外部データ端子から入力されたリードデータの遅延制御を行うデータ遅延制御回路（３０４）と、遅延制御回路路で遅延制御されたデータをラッチするラッチ回路（３０６）と、前記ラッチ回路のラッチタイミングを生成するラッチタイミング制御回路（３０３）と、を有する。ラッチタイミング制御回路は、クロック出力バッファに入力される内部クロック信号（ＣＫ０）を第１遅延制御レジスタ（ＤＬＲＥＧ１〜ＤＬＲＥＧ４）の設定値にしたがって遅延させる複数の第１遅延回路（４１〜４１３）と、前記第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチクロックとして与える第１選択回路（４０１）とを有する。データ遅延制御回路は、データ端子から入力されるリードデータを第２遅延制御レジスタ（ＤＬＲＥＧ５〜ＤＬＲＥＧ８）の設定値にしたがって遅延させる複数の第２遅延回路（４２０〜４２３）と、前記第２遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチするデータとして与える第２選択回路（４０３）とを有する。
【００１９】
リードデータの遅延制御と共に、遅延制御されたデータのラッチタイミングの制御を行うので、クロック系とデータ系の異なる遅延要素の夫々に着目してリードデータの取り込みを制御することができ、これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高くなる。
【００２０】
更にチップ選択に連動してクロックとデータの夫々の遅延回路の出力を切換えるから、遅延時間の切換え処理を高速化することができる。
【００２１】
〔２〕項１のデータプロセッサにおいて、前記第１遅延制御レジスタ及び第２遅延制御レジスタは前記アクセス制御回路の１つである中央処理装置（２００）のアドレス空間に配置されたレジスタである。
【００２２】
これにより、中央処理装置の命令実行に従って遅延時間を完全プログラマブルに設定可能になる。
【００２３】
〔３〕項１のデータプロセッサにおいて、外部からリードデータが入力されると共に当該リードデータの確定を示すデータストローブ信号が入力されるメモリ制御回路（１２３）を有する。
【００２４】
〔４〕本発明の別の実施の形態に係るデータ処理システムは、項１のデータプロセッサ（１０１）と、前記データプロセッサが備える前記外部バスインタフェース制御回路に接続され、前記データプロセッサからのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴わない第１外部デバイス（１０２，１０３Ａ，１０３Ｂ）と、前記データプロセッサが備える前記外部バスインタフェース制御回路に接続され、前記データプロセッサからのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴う第２外部デバイス（１１１）と、を有する。
【００２５】
これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高く、しかも遅延時間の切換え処理を高速に行なうことができる。
【００２６】
〔５〕本発明の別の実施の形態に係る半導体装置は、内部回路モジュールから外部へのアクセス要求に応答して外部バス制御を行う外部バスインタフェース制御回路を有する。前記外部バスインタフェース制御回路は、外部データ端子から入力されたリードデータの遅延制御を行うデータ遅延制御回路と、遅延制御回路路で遅延制御されたデータをラッチするラッチ回路と、前記ラッチ回路のラッチタイミングを生成するラッチタイミング制御回路と、を有する。ラッチタイミング制御回路は、クロック出力バッファを介して外部に出力する内部クロック信号を遅延させる複数の第１遅延回路と、前記第１遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチクロックとして与える第１選択回路とを有する。データ遅延制御回路は、データ端子から入力されるリードデータを遅延させる複数の第２遅延回路と、前記第２遅延回路の出力をチップ選択信号に基づいて選択して前記ラッチ回路にラッチするデータとして与える第２選択回路とを有する。
【００２７】
リードデータの遅延制御と共に、遅延制御されたデータのラッチタイミングの制御を行うので、クロック系とデータ系の異なる遅延要素の夫々に着目してリードデータの取り込みを制御することができ、これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高くなる。
【００２８】
更にチップ選択に連動してクロックとデータの夫々の遅延回路の出力を切換えるから、遅延時間の切換え処理を高速化することができる。
【００２９】
〔６〕項５の半導体装置において、前記第１の遅延回路の遅延時間を決める遅延データが設定される第１遅延制御レジスタと、前記第２の遅延回路の遅延時間を決める遅延データが設定される第２遅延制御レジスタとを更に有する。
【００３０】
設定する遅延時間をプログラマブル化することが可能になる。
【００３１】
〔７〕項５の半導体装置において、前記第１遅延制御レジスタ及び前記第２遅延制御レジスタに設定する遅延データを格納する不揮発性メモリと、前記不揮発性メモリから前記第１遅延制御レジスタ及び前記第２遅延制御レジスタに前記遅延データを初期設定する中央処理装置と、を更に有する。
【００３２】
前記第１遅延制御レジスタ及び前記第２遅延制御レジスタに対する初期設定が容易になる。
【００３３】
これにより、クロック信号の遅延設定とデータの遅延設定が更にやり易くなる。
【００３４】
〔８〕項５の半導体装置において、外部からリードデータが入力されると共に当該リードデータの確定を示すデータストローブ信号が入力されるメモリ制御回路を有する。
【００３５】
〔９〕本発明の別の実施の形態に係るデータ処理システムは、項５の半導体装置と、前記半導体が備える前記外部バスインタフェース制御回路に接続され、前記半導体装置からのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴わない第１外部デバイスと、前記半導体装置が備える前記外部バスインタフェース制御回路に接続され、前記半導体装置からのリードアクセス要求に応答するデータの出力にデータストローブ信号の出力を伴う第２外部デバイスと、を有する。
【００３６】
これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易で遅延設定の融通性も高く、しかも遅延時間の切換え処理を高速に行なうことができる。
【００３７】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３８】
図２には本発明に係るデータ処理システムの一実施の形態として携帯電話器が例示される。
【００３９】
同図に示される携帯電話器は、携帯電話のベースバンド機能と適宜のアプリケーション機能を実現するためのデータ処理を行なうマイクロコンピュータ（ＭＣＵ）１０１を備える。マイクロコンピュータ１０１は、特に制限されないが、単結晶シリコンのような1個の半導体基板に相補型ＭＯＳ集積回路製造技術などによって構成される。
【００４０】
マイクロコンピュータ１０１には各種周辺デバイス及び回路が接続され、マイクロコンピュータ１０１がそれらを制御することによって所期の携帯電話機能及びアプリケーション機能を実現する。
【００４１】
周辺デバイスとして、表示装置構成するメイン液晶ディスプレイ（ＭＬＣＤ）１１２及びサブ液晶ディスプレイ（ＳＬＣＤ）１１３、発光ダイオードの駆動制御回路（ＬＥＤＣＮＴ）１１４、カメラモジュール（ＣＡＭ）１１５、赤外線通信モジュール（ＩＲＤＡ）１１６、メモリカードインタフェース（ＭＣＲＤ）１１７、非接触近接通信インタフェースコントローラ（ＮＣＮＴＣＴ）１１８、ディジタルテレビチューナ（ＤＶＴＵＮ）１１９、衛星利用測位システム（ＧＰＳＲＦ）１２０、ワイヤレス通信モジュール（ＢＬＴＨ）１２１、携帯電話用高周波通信ＩＣ１０５、電池パック（ＢＴＴＲＹ）１０６、電源（ＰＷＲ）及びオーディオインタフェース回路（ＡＵＤＩＯ）１１０、パーソナルコンピュータとインタフェースするためのＰＣインタフェース（ＰＣＩＦ）１０８、キー入力のためのキーマトリックス（ＫＥＹＭＴＲＸ）１０９、そして、スピーカ（ＳＰＫ）・マイクロフォン（ＭＩＣ）・レシーバ（ＲＣＶ）などの音響機器１０７を有する。
【００４２】
マイクロコンピュータ１０１は特に、データ出力と共に当該データの確定タイミングをアクセス要求元に返すデータストローブ信号の出力機能を備えていない外部デバイスをアクセスするための外部バスインタフェース回路（ＥＸＢＳＣ）１００を備え、外部バスインタフェース回路（ＥＸＢＳＣ）１００には例えば外部バス１２２を介してフラッシュメモリ（ＦＬＡＳＨ）１０２、スタティックＲＡＭ（ＳＲＡＭ）１０４、及びその他のクロック同期デバイス（ＣＫＳＹＤＥＶ）１０３が接続される。１３０で示される外部バスインタフェース回路（ＥＸＢＳＣ）１００と外部バス１２２とのインタフェースはアドレス、データ、クロック信号、及び制御信号によって行われ、制御信号にはデータストローブ信号は含まれていない。
【００４３】
一方、データ出力と共に当該データの確定タイミングをアクセス要求元に返すデータストローブ信号の出力機能を備えた外部デバイスをアクセスするための外部インタフェース回路としてシンクロナスＤＲＡＭコントローラ（ＳＤＲＡＭＣＮＴ）１２３を備え、ＳＤＲＡＭＣＮＴ１２３にはメインメモリなどに利用されるクロック同期式のメモリのＳＤＲＡＭ１１１が接続される。１３１で示されるＳＤＲＡＭＣＮＴ１２３とＳＤＲＳＡＭ１１１とのインタフェースはアドレス、データ、クロック信号、及び制御信号によって行われ、制御信号にはデータストローブ信号を含んでいる。
【００４４】
図１にはマイクロコンピュータ１０１の具体例が示される。マイクロコンピュータ１０１は特に制限されないが、フェッチした命令を解読して実行する中央処理装置（ＣＰＵ）２００、ＣＰＵ２００が設定したデータ転送制御条件に従ってデータ転送制御を行うダイレクトメモリアクセスコントローラ（ＤＭＡＣ）２０１、ＤＭＡ機能を備えてカメラモジュールにインタフェースされるカメラインタフェース（カメラＩ／Ｆ）２０２、ＤＭＡ機能を備え画像データ描画処理及び画像表示処理などを行なう画像処理ブロック２０３、及びＣＰＵ２００が実行するプログラムや制御データを電気的に書換え可能に保持する不揮発性メモリ（ＥＥＰＲＯＭ）２０５等を有し、それらは外部バスインタフェース回路１００と共に内部バス２０７に接続される。前記ＣＰＵ２０４及びＤＭＡＣ２０１、そしてカメラインタフェース２０２と画像処理ブロック２０３のＤＭＡ機能はアクセス要求を発行するアクセス制御回路の一例とされる。
【００４５】
クロックパルスジェネレータ（ＣＰＧ）２０４は例えば外部から供給されるシステムクロック信号ＣＬＫを入力して複数の内部クロック信号を生成する。生成された複数の内部クロック信号はＣＰＵ２００、ＤＭＡＣ２１０１、画像処理ブロック２０３等の同期動作の基準クロック信号として利用される。例えば内部クロック信号の一つのクロック信号ＣＫＯは外部バスインタフェース回路１００に供給され、その動作基準クロックとして利用される。特に制限されないが、クロック信号ＣＫＯは内部バス２０７のバスサイクルを規定するクロック信号と同じである。
【００４６】
外部バスインタフェース回路１００は、ＣＰＵ２００等のアクセス制御回路からのアクセス要求に応答して外部バス１２２の制御を行う。外部バス１２２はデータバスＤＢＵＳ、アドレス及びコマンドバスＡＣＢＵＳ、及びチップ選択バスＣＳＢＵＳに分けて図示してある。それらには、外部デバイスとして、フラッシュメモリ１０２、ＳＲＡＭ１０４、その他のクロック同期デバイス１０３Ａ，１０３Ｂが接続され。夫々の外部デバイス１０２、１０３Ａ、１０３Ｂ、１０４の記憶領域はＣＰＵ２００のアドレス空間で別々のアドレス領域にマッピングされ、デバイスの選択はチップ選択信号ＣＳ１〜ＣＳ４によって個別に行われる。チップ選択信号ＣＳ１〜ＣＳ４はチップ選択バスＣＳＢＵＳに伝播される。コマンドバスにはリード／ライト信号などのバスコマンドが伝播される。夫々の外部デバイス１０２、１０３Ａ、１０３Ｂ、１０４にはクロック出力端子３１２から出力される外部クロック信号ＣＫが供給される。
【００４７】
データバスＤＢＵＳはデータ入出力端子３１３を介して外部バスインタフェース回路１００に接続され、アドレス及びコマンドバスＡＣＢＵＳはアドレス出力端子３１０及びコマンド出力端子３１１を介して外部バスインタフェース回路１００に接続され、チップ選択バスＣＳＢＵＳはチップ選択信号出力端子３１４を介して外部バスインタフェース回路１００に接続される。アドレス出力端子３１０、コマンド出力端子３１１及びデータ入出力端子３１３は夫々所定の複数ビットで構成される。
【００４８】
外部バスインタフェース制御回路１００は、クロック出力バッファ３０２、チップ選択制御回路（ＣＳＧＮ）３０５、データ遅延制御回路（ＤＴＤＬＹ）３０４、ラッチ回路（ＦＦ）３０６、ラッチタイミング制御回路（ＣＫＤＬＹ）３０３、アドレス及びコマンド出力回路３００、そしてデータ出力回路３０１を有する。
【００４９】
クロック出力バッファ３０２はＣＰＧ２０４が生成するクロック信号ＣＫ０を入力してクロック端子３１２から外部クロック信号ＣＫを出力する。
【００５０】
チップ選択制御回路３０５は、外部デバイス１０２，１０３Ａ，１０３Ｂ，１０４がマッピングされたアドレス情報を有し、内部バス２０７から入力されるアドレス信号が何れかの外部デバイス１０２，１０３Ａ，１０３Ｂ，１０４のマッピングアドレスに一致するとき、それに対応するチップ選択信号をそのバスサイクルの期間に選択レベルにして出力する。
【００５１】
データ遅延制御回路３０４はデータ端子３１３から入力されたリードデータの遅延制御を行い、遅延制御にはチップ選択信号ＣＳ１〜ＣＳ４等を利用する。
【００５２】
ラッチ回路３０６はデータ遅延制御回路３０４で遅延制御されたデータをラッチする。
【００５３】
ラッチタイミング制御回路３０３はクロック信号ＣＫ０の遅延信号に基づいて前記ラッチ回路３０６のラッチタイミングを生成し、クロック信号ＣＫ０の遅延制御にはチップ選択信号ＣＳ１〜ＣＳ４等を利用する。クロック出力バッファ３０２が出力する外部クロック信号ＣＫと内部クロック信号ＣＫ０の位相は論理的に揃っているものとされる。
【００５４】
アドレス及びコマンド出力回路３０は内部バス２０７に供給されたアドレス信号及びコマンドを外部バス１２２に出力する制御を行う。
【００５５】
データ出力回路３０１は外部バス１２２への書込みアクセスに際してライトデータをデータバスＤＢＵＳに出力する制御を行う。
【００５６】
図３には外部バスインタフェース回路１００の詳細が例示される。
【００５７】
ラッチタイミング制御回路３０３は、クロック遅延調整回路４０２、セレクタ４０１及びレジスタ回路４００に含まれる制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ４によって構成される。制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ４は、ＣＰＵ２００がその動作プログラムに従って内部バス２０７経由で遅延選択データが設定される。クロック遅延調整回路４０２は夫々動作遅延の異なるクロックバッファ４１０，４１１，４１２を初段に持ち、それぞれ次段にクロックバッファ４１３が直列に３段配置され、終段にセレクタ４１４，４１５，４１６を備えた遅延経路を４列並列に備え（第２列は図示を省略してある）、セレクタ４１４，４１５，４１６の出力から一つを選択するマスタセレクタ４０１が設けられて構成される。夫々のセレクタ４１４，４１５，４１６は対応する遅延経路の直列４段のクロックバッファの各出力を並列に入力して一つを選択する。クロックバッファ４１０は外部デバイス１０２〜１０４が外部クロック信号ＣＫに対しクロック系で遅延なく応答してデータを返してきたと仮定したときの端子３１２のクロック出力から当該データを前記ラッチ回路３０６でラッチするときの内部動作遅延に相当する遅延時間を持つ。初段の４個のクロックバッファ４１０〜４１２は順次差遅延時間が漸増されている。４個のセレクタ４１４〜４１６の内の、何れのセレクタの出力を選択するかはセレクタ４０１で選択され、セレクタ４０１の選択制御はチップ選択信号ＣＳ１〜ＣＳ４で行われる。セレクタ４０１は、チップ選択信号ＣＳ１の活性化に応答してセレクタ４１４の出力を選択し、チップ選択信号ＣＳ２の活性化に応答して図示を省略する２列目のセレクタの出力を選択し、チップ選択信号ＣＳ３の活性化に応答してセレクタ４１５の出力を選択し、チップ選択信号ＣＳ４の活性化に応答してセレクタ４１６の出力を選択する。つまり、チップ選択制御回路３０５から出力されたチップ選択信号ＣＳ１〜ＣＳ４に対応して、いずれか一つの遅延経路が選択されることによって、クロック信号ＣＫ０は遅延され、そのクロック信号ＣＫ０の遅延信号に基づいてラッチ回路３０６のフィードバッククロックＣＫｆｂとして、データラッチに利用される。
【００５８】
セレクタ４１４は制御レジスタＤＬＲＥＧ１の設定値に従った選択を行い、制御レジスタＤＬＲＥＧ１はチップ選択信号ＣＳ１で選択されるアドレス領域の外部デバイス１０２におけるクロック系の特性に応じたラッチタイミングが設定されることになる。セレクタ４１６は制御レジスタＤＬＲＥＧ４の設定値に従った選択を行い、制御レジスタＤＬＲＥＧ４はチップ選択信号ＣＳ４で選択されるアドレス領域の外部デバイス１０４におけるクロック系の特性に応じたラッチタイミングが設定されることになる。残りのセレクタ４１５も同様である。
【００５９】
データ遅延制御回路３０４は、データ遅延調整回路４０４、セレクタ４０３及びレジスタ回路４００に含まれる制御レジスタＤＬＲＥＧ５〜ＤＬＲＥＧ８によって構成される。制御レジスタＤＬＲＥＧ５〜ＤＬＲＥＧ８はＣＰＵ２００がその動作プログラムに従って内部バス２０７経由で遅延選択データが設定される。データ遅延調整回路４０４は夫々動作遅延の異なるデータバッファ４２０，４２１，４２２を初段に持ち、それぞれ次段にデータバッファ４２３が直列に３段配置され、終段にセレクタ４２４，４２５，４２６を備えた遅延経路を４列並列に備え（第２列は図示を省略してある）、セレクタ４２４，４２５，４２６の出力から一つを選択するマスタセレクタ４０３が設けられて構成される。夫々のセレクタ４２４，４２５，４２６は対応する遅延経路の直列４段のデータバッファの各出力を並列に入力して一つを選択する。データバッファ４２０は外部デバイス１０２〜１０４が外部クロック信号ＣＫに対しデータ系において遅延なく応答してデータを返してきたと仮定したとき、端子３１３へのリードデータ入力から当該データが前記ラッチ回路３０６に到達するまでの内部動作遅延に相当する遅延時間を持つ。初段の４個のデータバッファ４２０〜４２２は順次差遅延時間が漸増されている。４個のセレクタ４２４〜４２６の内のどのセレクタの出力を選択するかはセレクタ４０３で選択され、セレクタ４０３の選択制御はチップ選択信号ＣＳ１〜ＣＳ４で行われる。セレクタ４０３は、チップ選択信号ＣＳ１の活性化に応答してセレクタ４２４の出力を選択し、チップ選択信号ＣＳ２の活性化に応答して図示を省略する２列目のセレクタの出力を選択し、チップ選択信号ＣＳ３の活性化に応答してセレクタ４２５の出力を選択し、チップ選択信号ＣＳ４の活性化に応答してセレクタ４２６の出力を選択する。よって、チップ選択制御回路３０５から出力されたチップ選択信号ＣＳ１〜ＣＳ４に対応して、データ遅延調整回路４０４のいずれか一つの遅延経路が選択される。それにより、端子３１３から入力されたリードデータは、任意の遅延時間を有し、クロック遅延調整回路４０２で生成されたフィードバッククロックＣＫｆｂに応じてラッチされる。  セレクタ４２４は制御レジスタＤＬＲＥＧ５の設定値に従った選択を行い、制御レジスタＤＬＲＥＧ５はチップ選択信号ＣＳ１で選択されるアドレス領域の外部デバイス１０２におけるデータ系の特性に応じた遅延量が設定されることになる。セレクタ４２６は制御レジスタＤＬＲＥＧ８の設定値に従った選択を行い、制御レジスタＤＬＲＥＧ８はチップ選択信号ＣＳ４で選択されるアドレス領域の外部デバイス１０４におけるデータ系の特性に応じた遅延量が設定されることになる。残りのセレクタ４２５も同様である。
【００６０】
図４にはラッチタイミング制御回路３０３及びデータ遅延制御回路３０４を用いたアクセス制御例が示され、図５には図４における動作タイミングを示す。
【００６１】
ここでは、図４に例示されるように、制御レジスタＤＬＲＥＧ４，ＤＬＲＥＧ８はＣＳ４の空間に配置されたデバイスアクセスに対する遅延調整にための制御データの設定に割当てられ、制御レジスタＤＬＲＥＧ３，ＤＬＲＥＧ７はＣＳ３の空間に配置されたデバイスアクセスに対する遅延調整のための制御データの設定に割当てられるものとし、クロック同期デバイス（ＣＫＳＹＤＥＶ）１０３ＡがＣＳ３のアドレス空間に配置され、クロック同期デバイス（ＣＫＳＹＤＥＶ）１０３ＢがＣＳ４のアドレス空間に配置されているものとする。
【００６２】
クロック同期デバイス１０３Ａは、外部クロックＣＫがクロック端子３１２で変化されてからその変化の伝播を受けてリードデータを出力ラッチ４００Ａがラッチするまでの動作遅延としてクロック入力遅延ａ（ＣＫＤＬａ）を有し、出力ラッチ４００Ａがリードデータをラッチしてデータ端子３１３に到達するまでのデータ遅延としてデータ出力遅延（ＤＴＤＬｄ）を有するものとする。便宜上、出力ラッチ４００ＡのラッチクロックをＣＫＯａ、出力ラッチ４００Ａの出力データをＤＡＴａと記す。
【００６３】
この場合には図５に例示されるように、ラッチタイミング制御回路３０３によるＣＫ０の遅延調整量をＣＫＤＬａと同じになるように制御レジスタＤＬＲＥＧ３に制御データを設定し、また、データ遅延制御回路３０４による入力データ遅延量を遅延量ＤＴＤＬｘとなるように制御レジスタＤＬＲＥＧ７に制御データを設定する。遅延量ＤＴＤＬｘは、例えばフィードバッククロックＣＫｆｂの立ち上がりリエッジでセットアップタイムとホールドタイムがそれぞれ５０％になるように決めればよい。
【００６４】
一方、クロック同期デバイス１０３Ｂは、外部クロックＣＫがクロック端子３１２で変化されてからその変化の伝播を受けてリードデータを出力ラッチ４００Ｂがラッチするまでの動作遅延としてクロック入力遅延ｂ（ＣＫＤＬｂ）を有し、出力ラッチ４００Ｂがリードデータをラッチしてデータ端子３１３に到達するまでのデータ遅延としてデータ出力遅延（ＤＴＤＬｂ）を有するものとする。便宜上、出力ラッチ４００ＢのラッチクロックをＣＫＯｂ、出力ラッチ４００Ｂの出力データをＤＡＴｂと記す。
【００６５】
この場合には図５に例示されるように、ラッチタイミング制御回路３０３によるＣＫ０の遅延調整量をＣＫＤＬｂと同じになるように制御レジスタＤＬＲＥＧ４に制御データを設定し、また、データ遅延制御回路３０４による入力データ遅延量を遅延量ＤＴＤＬｙとなるように制御レジスタＤＬＲＥＧ８に制御データを設定する。遅延量ＤＴＤＬｙは、例えばフィードバッククロックＣＫｆｂの立ち上がりリエッジでセットアップタイムとホールドタイムがそれぞれ５０％になるように決めればよい。
【００６６】
前記制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ８に対する制御データの設定はＣＰＵ２００が行っても良いし、ＤＭＡＣ２０１を用いて行ってもよい。例えばパワーオンリセット処理で初期設定する場合には遅延制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ８に設定する遅延データをＥＥＰＲＯＭ２０５に予め格納しておき、パワーオンリセット処理の一つとして例えばＣＰＵ２００がＥＥＰＲＯＭ２０５から遅延制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ８に遅延データを初期設定することができる。
【００６７】
上記実施の形態によれば以下の作用効果を得ることができる。
【００６８】
（１）データ遅延制御回路３０４によるリードデータの遅延制御と共に、遅延制御されたデータのラッチタイミングをラッチタイミング制御回路３０３によって制御するので、クロック系とデータ系の異なる遅延要素の夫々に着目してリードデータの取り込みを制御することができ、これにより、外部インタフェースのアナログ特性が異なる複数の外部デバイスに対するクロック同期のデータリード動作における遅延設定が容易になり、しかも遅延設定の融通性も高くなる。
【００６９】
（２）更にチップ選択に連動してクロックとデータの夫々の遅延回路の出力を切換えるから、遅延時間の切換え処理を高速化することができる。
【００７０】
（３）遅延制御レジスタＤＬＲＥＧ１〜ＤＬＲＥＧ８をＣＰＵ２００のアドレス空間に配置することにより、ＣＰＵ２００の命令実行に従って遅延時間を完全プログラマブルに設定可能になる。
【００７１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７２】
例えば、アクセス制御回路は上記実施の形態で説明したＣＰＵやＤＭＡＣに限定されない。チップ選択信号の種類、制御レジスタの数、マイクロコンピュータが内蔵する回路モジュールの種類等は適宜変更可能である。
【００７３】
データ遅延制御回路３０４及びラッチタイミング制御回路３０３の具体的な回路構成は上記実施の形態に限定されない。遅延時間の異なる初段クロックバッファに複数段のクロックバッファを直列した遅延経路を並列に複数列設けてセンタする構成に限定されず適宜変更可能である。本発明のデータプロセッサは携帯電話器以外の種々の出た処理システムに適用可能であり、また、データプロセッサはシングルチップの半導体装置に限定されず、マルチチップのシステム・イン・パッケージ若しくはパッケージ・オン・パッケージ携帯の半導体装置として実現することも可能である。
【符号の説明】
【００７４】
１０１  マイクロコンピュータ（ＭＣＵ）
１００  外部バスインタフェース回路（ＥＸＢＳＣ）
１２２  外部バス
１０２  フラッシュメモリ（ＦＬＡＳＨ）
１０４  スタティックＲＡＭ（ＳＲＡＭ）
１０３，１０３Ａ，１０３Ｂ  その他のクロック同期デバイス（ＣＫＳＹＤＥＶ）
１２３  シンクロナスＤＲＡＭコントローラ（ＳＤＲＡＭＣＮＴ）
１１１  ＳＤＲＡＭ
２００  中央処理装置（ＣＰＵ）
２０１  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
２０２  カメラインタフェース（カメラＩ／Ｆ）
２０３  画像処理ブロック
２０５  不揮発性メモリ（ＥＥＰＲＯＭ）
２０７  内部バス
２０４  クロックパルスジェネレータ（ＣＰＧ）
ＣＫ０  クロック信号
ＤＢＵＳ  データバスＤＢＵＳ
ＡＣＢＵＳ  アドレス及びコマンドバス
ＣＳＢＵＳ  チップ選択バス
３１３  データ入出力端子
３１０  アドレス出力端子
３１１  コマンド出力端子
３１４  チップ選択信号出力端子
３０２  クロック出力バッファ
３０５  チップ選択制御回路（ＣＳＧＮ）
３０４  データ遅延制御回路（ＤＴＤＬＹ）
３０６  ラッチ回路（ＦＦ）
３０３  ラッチタイミング制御回路（ＣＫＤＬＹ）
３００  アドレス及びコマンド出力回路
３０１  データ出力回路
４０２  クロック遅延調整回路
４０１  セレクタ
４００  レジスタ回路
ＤＬＲＥＧ１〜ＤＬＲＥＧ８  制御レジスタ
４１０，４１１，４１２，４１３  クロックバッファ
セレクタ４１４，４１５，４１６
４０４  データ遅延調整回路
４０３  セレクタ
４２０，４２１，４２２  クロックバッファ
４２４，４２５，４２６  セレクタ
ＣＫＤＬａ  クロック入力遅延ａ
ＤＴＤＬｄ  データ出力遅延
ＣＫＤＬｂ  クロック入力遅延ｂ
ＤＴＤＬｂ  データ出力遅延
【図１】
2011175444.tif 000003
【図２】
2011175444.tif 000004
【図３】
2011175444.tif 000005
【図４】
2011175444.tif 000006
【図５】
2011175444.tif 000007