(57)【要約】【課題】  ライトイネーブル信号等のタイミングに同期（最も近く同期）した遅延クロック信号を出力してペリファラルにセットアップエラーやホールドエラーの発生する可能性を低減するクロック生成装置を提供する。【解決手段】  ライトイネーブル信号を出力するＣＰＵ１１と、ＣＰＵ１１に供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成する遅延クロック信号生成手段としてのクロック遅延回路１３と、一または複数段の遅延クロック信号のうち、ライトイネーブル信号の立上り時点にＬｏｗからＨｉへの変化する遅延クロック信号の順位を演算する演算手段としての演算回路１５と、演算回路１５の演算結果に基づいて、実際に使用する遅延クロック信号を選択し、該遅延クロック信号をペリファラルに供給する遅延クロック信号選択手段としてのクロック選択回路１７とを備える。【選択図】        図１
2005210270.tif 000002
【特許請求の範囲】
【請求項１】
制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成する遅延クロック信号生成手段と、
前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号を選択して、クロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給する遅延クロック信号選択手段と、
を備えることを特徴とするクロック生成装置。
【請求項２】
制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成する遅延クロック信号生成手段と、
前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算する演算手段と、
前記演算手段の演算結果に基づいて、実際に使用する遅延クロック信号を選択し、該遅延クロック信号をクロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給する遅延クロック信号選択手段と、
を備えることを特徴とするクロック生成装置。
【請求項３】
前記遅延クロック信号生成手段は、複数段の遅延素子を従続接続するとともに、該各遅延素子からの出力で複数段の遅延クロック信号を生成することを特徴とする請求項１または２に記載のクロック生成装置。
【請求項４】
前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点を検出して該変化点に対応する遅延クロック信号の順位を演算し、該順位を示す情報を出力することを特徴とする請求項２に記載のクロック生成装置。
【請求項５】
前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算し出力することを特徴とする請求項２または４に記載のクロック生成装置。
【請求項６】
前記遅延クロック信号選択手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点に対応する遅延クロック信号の順位に基づき所定の遅延クロック信号を選択することを特徴とする請求項１または２に記載のクロック生成装置。
【請求項７】
前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であることを特徴とする請求項４乃至６の何れか一つに記載のクロック生成装置。
【請求項８】
前記所定信号は、イネーブル信号であることを特徴とする請求項４乃至７の何れか一つに記載のクロック生成装置。
【請求項９】
制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、
前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算し、
前記演算結果に基づいて、実際に使用する遅延クロック信号を選択し、該遅延クロック信号をクロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給する、
ことを特徴とするクロック生成方法。
【請求項１０】
前記遅延クロック信号を生成する際、複数段の遅延処理を順次に行うとともに、該各遅延処理により複数段の遅延クロック信号を生成することを特徴とする請求項９に記載のクロック生成方法。
【請求項１１】
前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点を検出して該変化点に対応する遅延クロック信号の順位を演算することを特徴とする請求項９に記載のクロック生成方法。
【請求項１２】
前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算することを特徴とする請求項９または１１に記載のクロック生成方法。
【請求項１３】
前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であることを特徴とする請求項１１または１２に記載のクロック生成方法。
【請求項１４】
前記所定信号は、イネーブル信号であることを特徴とする請求項９，１１，１２，１３の何れか一つに記載のクロック生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＣＰＵからのクロック信号、イネーブル信号（ライトイネーブル信号またはリードイネーブル信号等）に基づいて駆動する周辺装置に対して、複数段の遅延クロック信号を生成して、そのうち例えばイネーブル信号のタイミングに同期した遅延クロック信号を供給し、セットアップエラーやホールドエラーの発生を防止するクロック生成装置、及びクロック生成方法に関する。
【背景技術】
【０００２】
従来、例えば情報処理装置等の周辺装置（以下、ペリファラルと称する）には、ＣＰＵに供給されるクロック信号と同一のクロック信号が供給されるか、反転したクロック信号が供給されている。例えばＣＰＵが各ペリファラルにデータを書込む場合、ペリファラルへのクロック信号の供給は、ＣＰＵが出力するライトイネーブル信号の立上がりもしくは立下りのタイミングに同期して行われる。
【０００３】
しかし、ＣＰＵから出力されるライトイネーブル信号は、ＣＰＵに供給するクロック信号に基づいてＣＰＵ内部で生成する信号であることから、ＣＰＵへ供給するクロック信号からライトイネーブル信号が出力されるまでのタイミング（遅延時間）が所定のプロセスや、電源電圧、温度変化等の影響を受けて変化してしまうという可能性がある。ライトイネーブル信号のタイミングに変化が生じる場合、ペリファラルへ供給するクロック信号とライトイネーブル信号との関係が非同期の関係となり、このためＣＰＵを動作させるクロック信号が高速である場合に、ペリファラルがＣＰＵからの書込みデータをロードするタイミングで、ＣＰＵが書込むデータに対してセットアップエラーが発生する可能性がある。
【０００４】
図６は、ペリファラルへのデータの書込み時のクロック信号、ライトイネーブル信号、及びライトデータのタイミング例を示すタイムチャートである。図６に示すように、ＣＰＵに供給するクロック信号からライトイネーブル信号が出力されるまでの時間が速い場合、ペリファラルは、ＣＰＵから供給されるクロック信号の立上りのタイミングでＣＰＵからの書込みデータを取込むことが可能である。一方、ＣＰＵに供給するクロック信号からライトイネーブル信号が出力されるまでの時間が遅い場合、ペリファラルは、ＣＰＵから供給されるクロック信号の立上りのタイミングでＣＰＵからの書込みデータを取込むことが間に合わなくなり、セットアップエラーが発生する可能性が出てくる。
【０００５】
また、ＣＰＵから出力されるリードイネーブル信号も、ライトイネーブル信号と同様にＣＰＵへ供給するクロック信号に基づいてＣＰＵ内部で生成される信号であり、ＣＰＵへ供給するクロック信号からリードイネーブル信号が出力されるまでのタイミング（遅延時間）が所定のプロセスや、電源電圧、温度変化等の影響を受けて変化してしまうという可能性がある。リードイネーブル信号のタイミングに変化が生じる場合、ペリファラルへ供給するクロック信号とリードイネーブル信号との関係が非同期の関係となり、同じくＣＰＵを動作させるクロック信号が高速である場合に、ペリファラルからデータを読出すタイミングで、セットアップエラーまたはホールドエラーが発生する可能性が出てくる。
【０００６】
図７は、ペリファラルからのデータの読出し時のペリファラルに供給するクロック信号、タイマカウント値、ＣＰＵに供給するクロック信号、リードイネーブル信号のタイミング例を示すタイムチャートである。図７に示すように、ＣＰＵに供給するクロック信号からリードイネーブル信号が出力されるまでの時間が遅い場合は、ＣＰＵがペリファラルからデータを読出すタイミングでデータの変化がなく、正しくデータを取込むことが可能である。一方、ＣＰＵに供給するクロック信号からリードイネーブル信号が出力されるまでの時間が速い場合は、ＣＰＵがペリファラルからデータを読出すタイミングとペリファラルのデータの変化が重なって、セットアップエラーまたはホールドエラーが発生する可能性があり、その場合、ＣＰＵはペリファラルから正しくデータを取込むことができなくなる可能性が出てくる。
【０００７】
また、クロック信号を制御する従来例として、例えば、第１に、ＣＰＵからの入力される基準クロック信号とカウンタ回路から入力される補正クロック信号との位相差を検出し所定の位相差信号を出力する位相差検出回路と、位相差信号に応じた所定の直流電圧信号を出力する電圧出力回路と、直流電圧信号に応じた周波数の発振信号を出力する電圧制御発振回路と、発振信号に応じてアップダウンカウンタして位相差を補正する補正クロック信号を位相差検出回路に出力するとともに、発振信号の周波数が基準クロック信号の周波数と一致した時に基準クロック信号に同期したペリファラルの処理速度に応じた複数周波数の同期クロック信号を出力するカウンタ回路とを備えた同期タイミング生成回路が知られている（例えば特許文献１参照）。
【０００８】
また、第２に、ＣＰＵから入力される基準クロック信号とカウンタ回路から入力される補正クロック信号との位相差を検出し、所定の位相差信号を出力する位相差検出回路と、位相差信号に応じた所定の直流電圧信号を出力する電圧出力回路と、直流電圧信号に応じた周波数の発振信号を出力する電圧制御発振回路と、発振信号に応じてアップダウンカウントして位相差を補正する補正クロック信号を位相差検出回路に出力するとともに、発振信号の周波数が基準クロック信号の周波数と一致した時に基準クロック信号に同期したペリファラルの処理速度に応じた複数周波数の同期クロック信号を出力するカウンタ回路と、同期クロック信号を基準として位相の異なる複数のシフトクロック信号を出力するシフトクロック回路と、ペリファラルのリセット期間中に複数のシフトクロック信号に対応するクロック選択信号により複数のシフトクロック信号を択一的に選択して出力するゲート回路とを備えた同期タイミング生成回路が知られている（例えば特許文献２参照）。
【０００９】
【特許文献１】特許第３１２１３９７号公報
【特許文献２】特開平５−１２７７７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１，２に記載の従来例においては、ＣＰＵからの基準クロック信号とカウンタ回路からの補正クロック信号に位相差がある場合に、位相差信号と補正クロック信号の位相が一致する発振周波数を決定して、双方の周波数に同期する同期クロック信号をペリファラルに出力するというものであり、従ってＣＰＵから出力される例えばライトイネーブル信号やリードイネーブル信号に同期したクロック信号をペリファラルに出力することでセットアップエラーまたはホールドエラーの発生する可能性を低減するということはできず、ＣＰＵとペリファラルとの間の動作上の信頼性が十分に満たされるものではないという課題がある。
【００１１】
また、特許文献１，２には、ペリファラルのリセット期間中にリセット信号が各フリップフロップのリセット入力に入力された場合、シフトレジスタから位相の異なる８種類の同期クロック信号がゲート回路に入力され、リセット信号の立上がりに最も近いクロック信号が選択されて各フリップフロップのクロック入力に入力され、各フリップフロップのある出力以外の出力が全て‘０’となりＯＲ回路に入力され、選択されたクロック信号に同期したクロック信号が最終的にＯＲ回路からペリファラルに出力されるという技術内容が記載されている。しかし、この場合も、例えばライトイネーブル信号やリードイネーブル信号に同期したクロック信号をペリファラルに出力するという技術的思想は備えておらず、従ってセットアップエラーまたはホールドエラーの発生する可能性を低減することができないという課題が内在する。
【００１２】
本発明は、上記従来技術の課題に鑑みてなされたもので、イネーブル信号のタイミングに同期するか、もしくは最も近く同期したクロック信号（遅延クロック信号）をペリファラルや制御対象に出力することを可能にして、セットアップエラーやホールドエラーの発生する可能性を低減することができるクロック生成装置、及びクロック生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成すべく、請求項１に記載の発明は、制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成する遅延クロック信号生成手段と、前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号を選択して、クロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給する遅延クロック信号選択手段とを備えることを特徴とする。
【００１４】
かかる発明は、ＣＰＵがイネーブル信号を出力する場合、遅延クロック信号生成手段がＣＰＵに供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、遅延クロック信号選択手段がイネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号を選択して周辺装置もしくは所定の制御対象に供給する。このため周辺装置もしくは所定の制御対象はイネーブル信号及び最適な遅延クロック信号とともに安定した動作を行う。
【００１５】
請求項２に記載の発明は、制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵに供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成する遅延クロック信号生成手段と、前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算する演算手段と、前記演算手段の演算結果に基づいて、実際に使用する遅延クロック信号を選択し、該遅延クロック信号をクロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給する遅延クロック信号選択手段とを備えることを特徴とする。
【００１６】
かかる発明は、ＣＰＵがイネーブル信号を出力する場合、遅延クロック信号生成手段がＣＰＵに供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、演算手段がイネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算し、遅延クロック信号選択手段が該順位の演算に対応する所定の遅延クロック信号を選択して周辺装置もしくは所定の制御対象に供給する。このため周辺装置もしくは所定の制御対象はイネーブル信号及び最適な遅延クロック信号とともに安定した動作を行う。
【００１７】
請求項３に記載の発明は、前記遅延クロック信号生成手段は、複数段の遅延素子を従続接続するとともに、該各遅延素子からの出力で複数段の遅延クロック信号を生成することを特徴とする。
【００１８】
請求項４に記載の発明は、前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点を検出して該変化点に対応する遅延クロック信号の順位を演算し、該順位を示す情報を出力することを特徴とする。
【００１９】
請求項５に記載の発明は、前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算し出力することを特徴とする。
【００２０】
請求項６に記載の発明は、前記遅延クロック信号選択手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点に対応する遅延クロック信号の順位に基づき所定の遅延クロック信号を選択することを特徴とする。
【００２１】
請求項７に記載の発明は、前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であることを特徴とする。
【００２２】
請求項８に記載の発明は、前記所定信号は、イネーブル信号であることを特徴とする。
【００２３】
請求項９に記載の発明は、制御プロセッサやＣＰＵがイネーブル信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、前記一または複数段の遅延クロック信号のうち、前記イネーブル信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算し、前記演算結果に基づいて、実際に使用する遅延クロック信号を選択し、該遅延クロック信号をクロック信号を用いて動作する周辺装置もしくは所定の制御対象に供給することを特徴とする。
【００２４】
請求項１０に記載の発明は、前記遅延クロック信号を生成する際、複数段の遅延処理を順次に行うとともに、該各遅延処理により複数段の遅延クロック信号を生成することを特徴とする。
【００２５】
請求項１１に記載の発明は、前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号のうち、該所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点を検出して該変化点に対応する遅延クロック信号の順位を演算することを特徴とする。
【００２６】
請求項１２に記載の発明は、前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算することを特徴とする。
【００２７】
請求項１３に記載の発明は、前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であることを特徴とする。
【００２８】
請求項１４に記載の発明は、前記所定信号は、イネーブル信号であることを特徴とする。
【発明の効果】
【００２９】
請求項１に記載の発明によれば、ＣＰＵが所定信号を出力する場合、遅延クロック信号生成手段がＣＰＵに供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、遅延クロック信号選択手段が該所定信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号を選択し出力するため、周辺装置もしくは所定の制御対象は該所定信号及び最適な遅延クロック信号の入力を受けてＣＰＵとの間においても支障なく動作することが可能であり、かつセットアップエラー等が発生する可能性が大幅に低減されて双方の動作上の信頼性を各段に向上させることが可能である。
【００３０】
請求項２に記載の発明によれば、ＣＰＵが所定信号を出力する場合、遅延クロック信号生成手段がＣＰＵに供給するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、演算手段が該所定信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算し、遅延クロック信号選択手段が該順位の演算に対応する所定の遅延クロック信号を選択し出力するため、同じく周辺装置もしくは所定の制御対象は該所定信号及び最適な遅延クロック信号の入力を受けてＣＰＵとの間においても支障なく動作することが可能であり、同じくセットアップエラー等が発生する可能性が大幅に低減されて双方の動作上の信頼性を各段に向上させることが可能である。
【００３１】
請求項３に記載の発明によれば、前記遅延クロック信号生成手段は、複数段の遅延素子を従続接続するとともに、該各遅延素子からの出力で複数段の遅延クロック信号を生成するよう構成したため、遅延クロック信号を生成する回路構成が複雑でなく、即ち部品点数、及び製造工数が少なく、低コストでの生産性に優位であり、動作上の信頼性にも優れる。
【００３２】
請求項４に記載の発明によれば、前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期して変化する遅延クロック信号を検出することで最適な遅延クロック信号の順位を演算するため、演算に要する処理速度が非常に高速であり、ＣＰＵ及び周辺装置もしくは制御対象の双方の間で行う高速処理の安定性に対する信頼性を高めるのに有利である。
【００３３】
請求項５に記載の発明によれば、前記演算手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算するため、演算に要する処理速度がより高速であるとともに動作性能の安定性に優れ、よりＣＰＵ及び周辺装置もしくは制御対象の双方の間で行う高速処理の安定性に対する信頼性を高めるのに有利である。
【００３４】
請求項６に記載の発明によれば、前記遅延クロック信号選択手段は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点に対応する遅延クロック信号の順位に基づき所定の遅延クロック信号を選択するため、選択に要する処理速度が非常に高速であり、同じくＣＰＵ及び周辺装置もしくは制御対象の双方の間で行う高速処理の安定性に対する信頼性を高めるのに有利である。
【００３５】
請求項７に記載の発明によれば、前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であるため、変化の判別が容易であり、高速動作に際しても動作上の安定性に優れる。
【００３６】
請求項８に記載の発明によれば、前記所定信号は、イネーブル信号であるため、周辺装置や制御対象の動作をＣＰＵ側の動作と同期させることの信頼性を向上させるのに都合が良い。
【００３７】
請求項９に記載の発明によれば、制御プロセッサやＣＰＵが所定信号を出力する際に、制御プロセッサやＣＰＵで使用するクロック信号に遅延処理を行って一または複数段の遅延クロック信号を生成し、前記一または複数段の遅延クロック信号のうち、前記所定信号に同期するか、あるいは最も近く同期する所定の遅延クロック信号の順位を演算し、前記演算結果に基づいて、実際に使用する遅延クロック信号を選択し出力するため、周辺装置もしくは所定の制御対象は該所定信号及び最適な遅延クロック信号の入力を受けてＣＰＵとの間においても支障なく動作することが可能であり、セットアップエラー等が発生する可能性が大幅に低減されて双方の動作上の信頼性を各段に向上させることが可能である。
【００３８】
請求項１０に記載の発明によれば、前記遅延クロック信号を生成する際、複数段の遅延処理を順次に行うとともに、該各遅延処理により複数段の遅延クロック信号を生成するため、高速処理に好適であるとともに、遅延クロック信号を生成する回路構成としても、部品点数、及び製造工数が少なく、低コストでの生産性に優位であり動作上の信頼性にも優れる。
【００３９】
請求項１１に記載の発明によれば、前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下りに同期するか、もしくは最も近く同期する変化点を検出することで最適な遅延クロック信号の順位を演算するため、演算に要する処理速度が非常に高速であり、ＣＰＵ及び周辺装置もしくは制御対象の双方の間で行う高速処理の安定性に対する信頼性を高めるのに有利である。
【００４０】
請求項１２に記載の発明によれば、前記演算は、前記制御プロセッサやＣＰＵが前記周辺装置もしくは所定の制御対象に出力する所定信号の立上りもしくは立下り時に、前記各遅延クロック信号をラッチするとともに、各ラッチ出力の変化点を検出して該変化点に対応する遅延クロック信号の順位を示す情報を演算するため、演算に要する処理速度がより高速であるとともに動作性能の安定性に優れ、よりＣＰＵ及び周辺装置もしくは制御対象の双方の間で行う高速処理の安定性に対する信頼性を高めるのに有利である。
【００４１】
請求項１３に記載の発明によれば、前記変化点は、前記所定信号がＬｏｗまたはＨｉから始まる場合、前記各遅延クロック信号のうち、前記所定信号の立上りまたは立下りに同期するか、もしくは最も近く同期してＨｉからＬｏｗまたはＬｏｗからＨｉに変化する変化点であるため、変化の判別が容易であり、高速動作に際しても動作上の安定性に優れる。
【００４２】
請求項１４に記載の発明によれば、前記所定信号は、イネーブル信号であるため、同じく周辺装置や制御対象の動作をＣＰＵ側の動作と同期させることの信頼性を向上させるのに都合が良い。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照して、本発明の一実施の形態に係るクロック生成装置について説明する。図１は本実施の形態に係るクロック生成装置の構成を示す回路構成図である。図１に示すように、本例のクロック生成装置１０は、ＣＰＵ（中央演算処理装置：制御プロセッサ）１１、クロック遅延回路（遅延クロック信号生成手段）１３、演算回路（演算手段）１５、及びクロック選択回路（遅延クロック信号選択手段）１７を備えて構成されている。尚、クロック生成回路、及び後述するペリファラルについては作図の都合上、図示を省略している。
【００４４】
ＣＰＵ１１は、図外のクロック生成回路から入力された所定周波数のクロック信号ＭＣＬＫに基づいて命令解読や、所定の演算処理、所定の制御実行（ペリファラルの制御を含む）等を行うものであり、一例として、クロック信号ＭＣＬＫに基づいて所定のイネーブル信号（ライトイネーブル信号、リードイネーブル信号等）を生成し、図外のペリファラルに出力するとともに、ペリファラルへの書込みデータの出力やペリファラルからの読取りデータの取込み等を行う。尚、ペリファラルには、キーボードやマウス等の入力装置、ディスプレイやプリンタ等の出力装置、ハードディスクドライブやＭＯドライブ等の外部記憶装置等がある。
【００４５】
クロック遅延回路１３は、クロック生成回路（図示せず）から出力される所定周波数のクロック信号ＭＣＬＫをクロック入力ＣＫＩＮとして取込むとともに、クロック入力ＣＫＩＮに複数段の遅延処理を施して複数段の遅延クロック信号ｄｌ（ｍ），ｄｌ（ｍ＋１），ｄｌ（ｍ＋２），…，ｄｌ（ｎ）を生成し、これらを演算回路１５及びクロック選択回路１７にパラレルに出力する。即ち、クロック遅延回路１３は、図２に示すように、具体的には、複数の遅延素子（ｄｅｌａｙ）２１，２３，…４１を従続接続（直列接続）した構成であるとともに、各遅延素子（ｄｅｌａｙ）２１，２３，…４１の出力を遅延クロック信号ｄｌ（ｍ），ｄｌ（ｍ＋１），ｄｌ（ｍ＋２），…，ｄｌ（ｎ）として演算回路１５及びクロック選択回路１７に出力するように、各遅延素子（ｄｅｌａｙ）２１，２３，…４１の出力側から演算回路１５及びクロック選択回路１７の入力側に例えばメタル配線のパラレル接続がなされている。
【００４６】
演算回路１５は、ＣＰＵ１１がクロック入力ＣＫＩＮに基づいて生成しペリファラルに出力する所定信号、即ちライトイネーブル信号もしくはリードイネーブル信号（例えばＬｏｗから始まる）を入力するとともに、ライトイネーブル信号もしくはリードイネーブル信号の例えば立上り（Ｈｉ）時に、各遅延クロック信号ｄｌ（ｍ），ｄｌ（ｍ＋１），ｄｌ（ｍ＋２），…，ｄｌ（ｎ）のうち、該ライトイネーブル信号もしくはリードイネーブル信号の立上りに同期するか、もしくは最も近く同期する変化点（本例ではＨｉが続いてから初めてＬｏｗに変化した遅延クロック信号の存在）を検出して該変化点に対応する遅延クロック信号（例えば後述するｄｌ（ｋ＋１））の順位、即ちｄｌ（１）から数えて何番目の遅延クロック信号であるかを示す順位を演算し、該順位を示す情報（例えば数値情報）をクロック選択回路１７に出力する。
【００４７】
即ち、演算回路１５は、図３に示すように、具体的には、第１に、ライトイネーブル信号もしくはリードイネーブル信号を入力するＣＫＩＮ入力を有するとともに、各遅延クロック信号ｄｌ（ｍ），ｄｌ（ｍ＋１），ｄｌ（ｍ＋２），…，ｄｌ（ｎ）のうち１：１に個別に対応関係があり、対応する一つの遅延クロック信号を入力するＤ入力を有し、かつ各遅延クロック信号ｄｌ（ｍ），…ｄｌ（ｎ）の状態をラッチしたＱ出力（ラッチ出力）ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…，ｄｃ（ｎ）を出力する複数のフリップフロップ５１，５３，…，６７，６９，７１を備える。各Ｑ出力（ラッチ出力）ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…，ｄｃ（ｎ）は各遅延クロック信号ｄｌ（ｍ），ｄｌ（ｍ＋１），ｄｌ（ｍ＋２），…，ｄｌ（ｎ）に１：１に対応する。各Ｑ出力（ラッチ出力）ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…，ｄｃ（ｎ）はクロック入力ＣＫＩＮが順次に遅延されたものであり、ＨｉまたはＬｏｗの何れかの状態を維持する。そして、第２に、各フリップフロップ５１，５３，…，６７，６９，７１の各Ｑ出力ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…，ｄｃ（ｎ）をパラレルに入力するとともに、例えばライトイネーブル信号ＷＲＢが例えばＬｏｗから始まる場合、ライトイネーブル信号ＷＲＢの立上りに同期するか、もしくは最も近く同期してＨｉからＬｏｗに変化する変化点のＱ出力（例えばｄｃ（ｋ＋１））を検出するとともに、該変化点のＱ出力（例えばｄｃ（ｋ＋１））に対応する順位を演算（検出）して、該順位を示す情報（数値情報）ｓｅｌ（ｋ）をクロック選択回路１７に出力する変化点検出回路７３を備えて構成されている。
【００４８】
変化点検出回路７３は、各フリップフロップ５１，５３，…，６７，６９，７１の各Ｑ出力（ラッチ出力）ｄｃ（１），…ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…ｄｃ（ｎ）の各々に例えば昇順番号としてｄｃ（１）から順に例えば０，１，２，…ｍ，ｍ＋１，…ｋ，ｋ＋１，…ｎを関連させており、例えばｄｃ（ｋ＋１）の場合、数値情報はｋ＋１（ｋは任意の整数）になる。尚、変化点検出回路７３には、例えばＬｏｗから始まるライトイネーブル信号ＷＲＢの入力に対応し、その立上がり（Ｈｉ）時点をＱ出力ｄｃ（１），…ｄｃ（ｎ）の変化点を検出する際のタイミングとする。
【００４９】
クロック選択回路１７は、クロック遅延回路１３からの複数段の遅延クロック信号ｄｌ（１），…ｄｌ（ｎ）をパラレルに入力するとともに、各遅延クロック信号ｄｌ（１），…ｄｌ（ｎ）に対しその順位（ｄｌ（１）から数えた順番）を示す値（数値情報）を１：１に対応させており、演算回路１５から出力された順位を示す情報（数値情報）ｓｅｌ（ｋ）に一致する値（順位）の遅延クロック信号（例えばｄｌ（ｋ＋１））を選択して、これを遅延クロック信号（クロック信号）ＰＣＬＫとしてペリファラルに出力する。
【００５０】
即ち、クロック選択回路１７は、図４に示すように、具体的には、遅延クロック信号ｄｌ（１），…ｄｌ（ｎ）用の各入力ポートにｄｌ（１）から順に例えば数値番号としてＡ（０），Ａ（１），Ａ（２），…Ａ（ｎ−ｍ−２），Ａ（ｎ−ｍ−１），Ａ（ｎ−ｍ）を割当てるとともに、他のポートに演算回路１５からの順位を示す情報（数値情報）ｓｅｌ（ｋ）を入力した際に、これを選択情報として認識するための例えばレジスタ等を割当て、内部の選択を司る選択機能部の起動によりＡ（０），Ａ（１），Ａ（２），…Ａ（ｎ−ｍ）のうち、該選択情報（順位を示す情報ｓｅｌ（ｋ））に符合するものを選択することで、例えばライトイネーブル信号ＷＲＢの立上りに同期（もしくは最も近く同期）した遅延クロック信号（例えばｄｌ（ｋ＋１））を選択して、これを遅延クロック信号ＰＣＬＫとして出力するセレクタ８１を備えて構成されている。尚、クロック選択回路１７には、選択回路１５の構成をあらかじめ一体（内蔵）に備えるという構成を採用しても良い。
【００５１】
次に、図５に示すタイムチャートを参照して、本実施の形態のクロック生成装置１０の動作について説明する。まずクロック生成回路（図示せず）からＣＰＵ１１にクロック信号ＭＣＬＫが出力される場合、クロック遅延回路１３にもクロック信号ＭＣＬＫが同時に入力される。クロック遅延回路１３内の各遅延素子（ｄｅｌａｙ）２１，２３，…４１は、クロック信号ＭＣＬＫ（クロック入力ＣＫＩＮ）を順次に遅延させる。各遅延素子２１，２３，…４１は、演算回路１５の各フリップフロップ５１，５３，…７１の各Ｄ入力に対して、及びクロック選択回路１７のセレクタ８１に対して極僅かずつ位相が遅れた複数段の遅延クロック信号ｄｌ（１），…ｄｌ（ｎ）をパラレルに出力する。
【００５２】
この時、演算回路１５の各フリップフロップ５１，５３，…７１は、既にクロック入力ＣＫＩＮにより動作可能の状態にあり、各々５１，５３，…７１は遅延クロック信号ｄｌ（１），…ｄｌ（ｎ）の状態に応じてＨｉまたはＬｏｗの状態にあるＱ出力（ラッチ出力）ｄｃ（１），…ｄｃ（ｍ），ｄｃ（ｍ＋１），ｄｃ（ｍ＋２），…ｄｃ（ｎ）を変化点検出回路７３に対しパラレルに出力する。変化点検出回路７３は、各フリップフロップ５１，５３，…７１からの各Ｑ出力（ラッチ出力）ｄｃ（１），…ｄｃ（ｎ）の状態を検出するとともに、例えばＣＰＵ１１からの例えばライトイネーブル信号ＷＲＢの立上りに同期して、もしくは最も近く同期してＨｉからＬｏｗに変化する変化点のＱ出力（ラッチ出力）を検出する。このライトイネーブル信号ＷＲＢの立上りに同期、もしくは最も近く同期してＬｏｗに変化するＱ出力（ラッチ出力）は、図５の例に示すように、ｄｃ（ｋ＋１）であり、従って変化点検出回路７３は、Ｑ出力（ラッチ出力）ｄｃ（ｋ＋１）に対応する順位を示す情報（数値情報、即ちｋ＋１を表わす）ｓｅｌ（ｋ）を演算（検出）して、これをクロック選択回路１７のセレクタ８１に対して出力する。
【００５３】
この段階で、セレクタ８１は、既に遅延クロック信号ｄｌ（１），…ｄｌ（ｋ），ｄｌ（ｋ＋１），…ｄｌ（ｎ）が入力されており、変化点検出回路７３から入力された順位を示す情報（ｋ＋１）に基づいて遅延クロック信号ｄｌ（１），…ｄｌ（ｋ），ｄｌ（ｋ＋１），…ｄｌ（ｎ）が入力される各入力ポートに割当てられた数値Ａ（０），Ａ（１），…Ａ（ｋ），Ａ（ｋ＋１），…Ａ（ｎ−ｍ）のうち、Ａ（ｋ＋１）を選択し、Ａ（ｋ＋１）に入力された遅延クロック信号ｄｌ（ｋ＋１）を遅延クロック信号（クロック信号）ＰＣＬＫとしてペリファラルに出力する。
【００５４】
本実施の形態の場合、ライトイネーブル信号ＷＲＢの立上りに最も近く同期した遅延クロック信号ｄｌ（ｋ＋１）をペリファラルに出力できるように構成したため、例えＣＰＵ１１に供給するクロック信号ＭＣＬＫからライトイネーブル信号ＷＲＢが出力されるまでの時間が遅い場合でも、ペリファラルは、クロック生成装置１０のセレクタ８１から供給される遅延クロック信号ｄｌ（ｋ＋１）により正確なタイミングでＣＰＵ１１からの書込みデータを取込むことが可能となり、このためセットアップエラー等が発生する可能性を大幅に低減することが可能となる。
【産業上の利用可能性】
【００５５】
本発明は、ＣＰＵからのイネーブル信号に同期したクロック信号（遅延クロック信号）の入力に基づいて駆動するペリファラルを含む情報処理装置に利用可能である他、カスタムＩＣを用いた特定用途の制御システムやエンベデットシステム等に利用可能であり、あるいは制御対象としてアクチュエータ等の動作を電子制御する各種の産業機械等にも利用可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態に係るクロック生成装置の構成を示す回路構成図である。
【図２】実施の形態に係るクロック生成装置に適用するクロック遅延回路の構成例を示す回路構成図である。
【図３】実施の形態に係るクロック生成装置に適用する演算回路の構成例を示す回路構成図である。
【図４】実施の形態に係るクロック生成装置に適用するクロック選択回路の構成例を示す回路構成図である。
【図５】実施の形態に係るクロック生成装置の各種の出力タイミングを示すタイムチャートである。
【図６】従来の技術におけるライトイネーブル時の各種の出力タイミングを示すタイムチャートである。
【図７】従来の技術におけるリードイネーブル時の各種の出力タイミングを示すタイムチャートである。
【符号の説明】
【００５７】
１０  クロック生成装置
１１  ＣＰＵ
１３  クロック遅延回路
１５  演算回路
１７  クロック選択回路
２１，２３，２５，２７，２９，３１，３３，３５，３７，３９，４１  遅延素子
５１，５３，５５，６７，６９，７１  フリップフロップ
７３  変化点検出回路
８１  セレクタ
【図１】
2005210270.tif 000003
【図２】
2005210270.tif 000004
【図３】
2005210270.tif 000005
【図４】
2005210270.tif 000006
【図５】
2005210270.tif 000007
【図６】
2005210270.tif 000008
【図７】
2005210270.tif 000009