(57)【要約】【課題】  周囲条件と無関係にマージンの有無を監視し、ぎりぎりの条件までクロック信号の周波数を変更せずに電子機器の動作を可能とする。【解決手段】  判定対象のデータを記憶する手段１と、そのデータを遅延させる手段２と、手段２の出力を記憶する手段３と、手段１の記憶内容と手段３の記憶内容とを比較し、両者が異なる時にマージンレス検出信号を出力する手段４とを備え、手段４が出力するマージンレス検出信号をクロック切替回路に対する切替制御信号として用いる。【選択図】図１
2006260190.tif 000002
【特許請求の範囲】
【請求項１】
データ遅延のマージンの有無を判定する判定回路であって、
データを記憶する第１のデータ記憶手段と、
該データを遅延させるデータ遅延手段と、
該データ遅延手段の出力を記憶する第２のデータ記憶手段と、
該第１のデータ記憶手段の記憶内容と、第２のデータ記憶手段の記憶内容とを比較し、両者が異なる時にマージンレス検出信号を出力する比較手段とを備えることを特徴とする判定回路。
【請求項２】
前記比較手段の出力するマージンレス検出信号が、クロック切替回路への切替制御信号として用いられることを特徴とする請求項１記載の判定回路。
【請求項３】
前記マージンレス検出信号の出力に対応して、前記クロック切替回路によって、クロックの切替が行われたとき、さらに一定時間の後に該クロック切替回路に対して切替前のクロックへの復帰を指示するカウンタ手段をさらに備えることを特徴とする請求項２記載の判定回路。
【請求項４】
前記判定回路が、コンピュータにおけるデータリード時に動作し、
前記データがバス上のリードデータであることを特徴とする請求項１記載の判定回路。
【請求項５】
前記判定回路がコンピュータにおけるデータストア時に動作し、
前記データがバス上のライトデータであることを特徴とする請求項１記載の判定回路。
【請求項６】
前記判定回路がコンピュータにおけるデータのリード時、およびデータのストア時に動作し、
前記データがバス上のリードデータ、またはライトデータであることを特徴とする請求項１記載の判定回路。
【請求項７】
前記判定回路に対して、外部からの指示に対応して判定動作の開始／停止を制御する制御回路を備えることを特徴とする請求項１記載の判定回路。
【請求項８】
前記制御回路が、マイクロコンピュータの中央処理装置に組み込まれることを特徴とする請求項７記載の判定回路。
【請求項９】
データ遅延のマージンの有無を判定する判定回路であって、
データを記憶するデータ記憶手段と、
該データをそれぞれ異なる遅延時間だけ遅延させる複数のデータ遅延手段と、
該複数のデータ遅延手段の出力をそれぞれ記憶する複数の遅延データ記憶手段と、
該複数の遅延データ記憶手段のそれぞれの記憶内容と、前記データ記憶手段の記憶内容とをそれぞれ比較し、両者が異なる時、不一致検出信号を出力する複数の比較手段と、
該複数の比較手段の出力値に応じて、周波数の異なるクロック信号の切替を行うクロック切替手段とを備えることを特徴とする判定回路。
【請求項１０】
データ遅延のマージンの有無を判定する判定回路であって、
判定対象データと、該判定対象データのリードおよび／またはライトのストローブ信号とを受け取り、マージンレスと判定した時にクロック切替を行うための制御信号を出力することを特徴とする判定回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムクロック（マシンクロック）に同期して動作する電子機器におけるデータ遅延マージンの判定方式に係り、さらに詳しくは、例えば温度変化に対応してデータ遅延のマージンが低下する場合などに対してマージンレスの判定を行うためのマージンレス判定回路に関する。
【背景技術】
【０００２】
一般に電子機器、例えばマイクロコンピュータの動作は環境条件、例えば温度の変化の影響を受け、一般に高温になるにしたがって動作マージンが小さくなり、極端な場合には誤動作や暴走などのエラーが生じるという問題点があった。
【０００３】
このため一般的に電子機器の設計時においては、その電子機器が使用される環境条件として最悪の値の想定が行われ、そのような最悪条件においても正常動作が行われるようにタイミングマージンを持たせた設計が行われる。このような場合には、マージンレスとなると予想される温度を予め設定する必要があり、製品として出荷される環境条件の中で最も厳しい条件、例えば周囲温度が設定されるため、実際に使用される温度ではマージンが残っており、結果として厳しすぎる条件が設定されるということもあった。
【０００４】
このような周囲温度の変化に対して、電子機器の性能と信頼性を両立させるための従来技術として次の文献がある。
【特許文献１】特開平３−２５１９１２号  「システムクロック切替機能を持つ電子機器」
【０００５】
この文献には、システムクロックに同期して動作する電子機器において、周囲温度の検出結果に応じて周波数の異なる複数のクロック信号のいずれかを選択して、システムクロックの周波数を切り替える技術が開示されている。
【０００６】
しかしながらこの文献においても、周囲温度が予め設定された温度になった時にクロック周波数の切替が行われるために、切替温度の設定が難しいという問題点を解決することができなかった。さらに温度センサや、検出された温度をデジタルデータに変換するためのＡ／Ｄコンバータが必要となり、回路面積の増大を招くという問題点もあった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、上述の問題点に鑑み、周囲温度と無関係にマージンがあるか否かを監視して、ぎりぎりの条件まで動作条件を変更せずに電子機器の動作を可能にするとともに、温度センサやＡ／Ｄコンバータを使うことなく、回路面積の増加を防止することである。
【課題を解決するための手段】
【０００８】
図１は、本発明のマージンレス判定回路の原理構成ブロック図である。本発明のマージンレス判定回路は、データ遅延のマージンの有無を判定するものであり、基本的には判定対象データと、その判定対象データの、例えばリードおよび／またはライトのストローブ信号とを受け取り、マージンレスと判定した時にクロック切替を行うための制御信号を出力するものである。
【０００９】
図１において第１のデータ記憶手段１は、判定対象のデータ、例えばバスデータを記憶するものであり、データ遅延手段２はそのデータをある一定時間だけ遅延させるものであり、第２のデータ記憶手段３はデータ遅延手段２の出力を記憶するものであり、比較手段４は第１のデータ記憶手段１の記憶内容と第２のデータ記憶手段３の記憶内容とを比較し、両者が異なる時にマージンレス検出信号を出力するものである。そして比較手段４の出力するマージンレス検出信号が、周波数の異なる複数のクロック信号の切替を行うクロック切替回路に対する切替制御信号として用いられる。
【００１０】
発明の実施の形態においては、比較手段４からのマージンレス検出信号の出力に対応して、クロック切替回路によってクロックの切替が行われたとき、さらに一定時間の後にクロック切替回路に対して切替前のクロックへの復帰を指示するカウンタ手段をさらに備えることもできる。
【００１１】
また実施の形態においては、マージンレス判定回路がコンピュータにおけるデータリード時に動作し、図１において第１のデータ記憶手段１、データ遅延手段２に与えられるデータがバス上のリードデータであることもできる。あるいはマージンレス判定回路がコンピュータにおけるデータストア時の両方の場合に動作し、判定対象となるデータがバス上のライトデータであることもできる。
【００１２】
また実施の形態において、マージンレス判定回路がコンピュータにおけるデータのリード時、およびデータのストア時の両方の場合に動作し、判定対象データがバス上のリードデータ、またはライトデータであることもできる。
【００１３】
さらに実施の形態においては、マージンレス判定回路に対して外部、例えばユーザからの指示に対応してマージンレス判定動作の開始／停止を制御する制御回路を備え、またこの制御回路がマイクロコンピュータの中央処理装置に組み込まれることもでき、さらにこの制御回路がマイクロコンピュータの中央処理装置に高周波信号を供給するＰＬＬ発振回路において最高逓倍率が選択されたことを示す信号の入力に応じて前記マージンレス判定動作の開始を指示することもできる。
【００１４】
さらに実施の形態においては、クロック切替回路によって切り替えられたシステムクロックが、マイクロコンピュータの中央処理装置の周辺回路に供給されることもできる。
次に本発明のマージンレス判定回路は、判定対象のデータを記憶するデータ記憶手段と、そのデータをそれぞれ異なる遅延時間だけ遅延させる複数のデータ遅延手段と、複数のデータ遅延手段の出力をそれぞれ記憶する複数の遅延データ記憶手段と、複数の遅延データ記憶手段のそれぞれの記憶内容とデータ記憶手段の記憶内容とを比較し、両者が異なる時それぞれ不一致検出信号を出力する複数の比較手段と、複数の比較手段から出力される不一致検出信号の値に対応して周波数の異なるクロック信号の切替を行うクロック切替手段とを備える。
【００１５】
発明の実施の形態においては、クロック切替手段が、複数の比較手段から出力される不一致検出信号に対応して、例えば高周波から低周波までの異なるクロック信号を段階的に切り替えることもできる。
【００１６】
以上のように本発明によれば、判定対象データと、その判定対象データのリードおよび／またはライトのストローブ信号とを受け取り、判定対象データの記憶結果と、そのデータを遅延させて記憶した記憶結果とを比較して、両者が異なるときにマージンレスと判定し、クロック切替を行うための制御信号が出力される。
【発明の効果】
【００１７】
本発明によれば、温度センサやＡ／Ｄコンバータを用いた温度検出などを行うことなく、データの遅延に対するマージンがあるか否かを常に監視することができ、マージンがあるぎりぎりの条件まで動作条件を変更せずに電子機器を動作させることが可能となる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施形態の詳細な説明の前に、まず図２から図４を用いて本発明におけるマージンレス判定とクロック切替方式について概略的に説明する。図２は、マイコン１０の内部にＣＰＵと独立したマージンレス判定回路が備えられるマージンレス判定方式の基本構成ブロック図である。同図においてマージンレス判定回路１１がマイコン１０のＣＰＵ１２と独立して備えられ、ＣＰＵ１２からはリードストローブ信号とバスデータがマージンレス判定回路１１に与えられる。
【００１９】
マージンレス判定回路１１は、さらにマシンクロック信号φを用いてバスデータに遅延マージンがあるか否かを判定し、マージンレスとなっていると判定した場合には、それを示すフラグをクロック切替回路１３に出力する。クロック切替回路１３は、このフラグの入力に応じて一般的に複数個、例えば２つのクロック信号φ１、φ２のいずれかを切り替え、切替結果をφａとしてＣＰＵ１２に供給する。なおマージンレス判定回路１１に与えられるマシンクロックφと、クロック切替回路１３からＣＰＵ１２に与えられるクロック信号φａとは例えば同一のクロックを表す。
【００２０】
図３は、図２のマージンレス判定回路１１の基本構成ブロック図である。同図においてマージンレス判定回路１１は、バスデータがそのまま入力されるレジスタ１５、バスデータの遅延セル１８による遅延結果が入力されるレジスタ１６、レジスタ１５とレジスタ１６の内容を比較する比較回路１７、レジスタ１５、１６に対してデータ取り込みのためのクロック入力を供給するＡＮＤゲート１９、ＡＮＤゲート１９の出力を遅延させて比較回路１７に対して比較タイミングとしてのクロック入力を与える遅延セル２０を備えている。なおＡＮＤゲート１９に対しては、図２においてＣＰＵ１２から与えられるリードストローブ信号と、マシンクロック信号φとが入力される。このマージンレス判定回路１１の動作については、後述の図５、および図６において更に詳細に説明する。
【００２１】
なお、本発明の特許請求の範囲、第１項における第１、第２のデータ記憶手段はそれぞれレジスタ１５、１６に、データ遅延手段は遅延セル１８に、また比較手段は比較回路１７に相当する。
【００２２】
図４は、図２におけるクロック切替回路１３の説明図である。クロック切替回路１３に対しては、マージンレス判定回路１１の内部の比較回路１７が出力するフラグと、周波数の異なる複数のクロック信号、ここでは２つのクロック信号φ１とφ２とが入力され、フラグの値に応じてφ１、またはφ２のいずれかをクロックφａとしてＣＰＵ１２に出力する。
【００２３】
続いて本発明の実施例についてさらに詳細に説明する。図５は、本発明の第１の実施例におけるマージンレス判定回路の構成ブロック図である。同図を図３の基本構成図と比較すると、比較回路１７に相当するＥＸＮＯＲゲート２３、およびフラグレジスタ２４が備えられており、またレジスタ１５、１６はそれぞれ、例えばＤ−ＦＦ、すなわちＤラッチによって構成されている。またこのＤラッチ１５、１６の出力はＥＸＮＯＲゲート２３に入力され、ＥＸＮＯＲゲート２３の出力がフラグレジスタ２４に与えられ、遅延セル２０の出力がフラグレジスタ２４に対するクロック入力として用いられる。
【００２４】
図５においてリードストローブ信号とマシンクロックφとが入力されるＡＮＤゲート１９の出力は図３におけると同様にＤラッチ１５、１６に対するクロック入力として与えられる。同様にＡＮＤゲート１９の出力は遅延セル２０によって遅延されたクロック信号φ’としてフラグレジスタ２４のクロック入力に与えられる。これらＤラッチ１５、１６、およびフラグレジスタ２４の動作はネガティブエッジトリガ型であり、クロック入力の立下りにおいて動作し、それぞれデータ入力Ｄに与えられるデータがその立下りタイミングにおいてレジスタに取り込まれる。
【００２５】
図６は、第１の実施例におけるマージンレス判定動作のタイムチャートである。同図において左側のタイムチャートはマージン有りと判定される例である。同図において２つのレジスタ１５、１６に対するデータの取り込みは、リードストローブ信号がＨであり、マシンクロックφが立ち下がる時点ｔ＝ｔ1において行われる。このとき、レジスタ１５に対してはデータ１が取り込まれる。レジスタ１６に対しては遅延セル１８による遅延動作が行われるが、この場合にはまだ取り込まれるデータはデータ１であり、同じデータがレジスタ１５、１６に取り込まれることになる。したがってＥＸＮＯＲゲート２３の出力はＬとなり、マシンクロックφの遅延セル２０による遅延結果としてのクロック信号φ’の立下りにおいてフラグレジスタ２４に取り込まれるデータはＬとなり、フラグの値もＬとなる。
【００２６】
図６の右上側のタイムチャートは、マージン無しと判定される例である。この例においては左側の図と比較して、バス２２上のデータ１のタイミングがリードストローブ信号がＨとなる時刻を基準としてさらに遅れており、このためバスデータ取込時点ｔ＝ｔ1におけるレジスタ１６への入力データ、すなわちＤＩ’はデータ０となり、レジスタ１５に取り込まれるデータ１とは異なるものとなる。したがってＥＸＮＯＲゲート２３の出力はＨとなり、クロックφ’の立下り時点ｔ＝ｔ2においてフラグの値はＨとなり、マージン無しと判定されることになる。
【００２７】
右側の下の図は、右上の図においてマージン無しと判定された後に、マシンクロックがより周波数の低い信号に切り替えられた後の動作のタイムチャートである。マシンクロックが周波数の低いクロック信号に切り替えられることによって、クロックパルスの幅は当然のこととして、対応するリードストローブパルスの幅も広くなり、その結果として時刻ｔ＝ｔ1においてレジスタ１５、１６に取り込まれるデータはともにデータ２となり、したがって時刻ｔ＝ｔ2においてマージン有りと判定され、フラグの値はＬとなる。
【００２８】
図７は、本発明の第２の実施例としてのクロック切替回路の構成ブロック図である。この第２の実施例としてのクロック切替回路は、マージンレス判定回路においてマージンレスと判定されてフラグの値がＨとなり、クロックの切り替えが行われた後に再びマージンレスの判定動作が行われ、マージン有りと判定されてフラグの値がＬとなった後にも、例えば周囲温度が再び変化してマージンレス状態になる可能性を考えて、フラグがＬとなった後にもある程度時間を置いた後に元のクロックに戻すこともできるようなクロック切替方式を提供するものである。
【００２９】
図７においてクロック切替回路は、クロック切替タイミング調整部２６、ｃｋｓ（クロック・セレクト）引き伸ばし部２７、およびセレクタ２８によって構成されている。クロック切替タイミング調整部２６はＯＲゲート３０、ＡＮＤゲート３１、およびＤラッチ３２によって構成され、またｃｋｓ引き伸ばし部２７はカウンタ３３によって構成されている。
【００３０】
ＯＲゲート３０には、セレクタ２８に与えられるｃｋｓ（クロック・セレクト）信号と、マージンレス判定回路から出力されるフラグとが入力され、その出力はＤラッチ３２のデータ入力端子に与えられる。ＡＮＤゲート３１には、リードストローブ信号とマシンクロックφとが与えられ、その出力はＤラッチ３２のクロック入力端子（ネガティブエッジ動作）に与えられる。
【００３１】
ｃｋｓ引き伸ばし部２７を構成するカウンタ３３のカウントイネーブル（ＥＮ）端子にはＤラッチ３２の出力が与えられ、クリア（ＣＬＲ）入力端子（負論理）にはカウンタ３３の出力（ＲＵＮ）としてのｃｋｓ信号が与えられ、またクロック入力端子にはマシンクロックφが与えられる。さらにセレクタ２８はｃｋｓ信号が“０”の時にφ１、“１”の時にφ２をクロック信号φａとして出力する。ここでクロックφ２はクロックφ１より低周波であるものとする。
【００３２】
図７のクロック切替回路において、エッジフラグの値がＨとなると、その後のリードストローブ信号がＨの区間におけるマシンクロックφのネガティブエッジに同期してＤラッチ３２にデータとしてＨがラッチされ、Ｄラッチ３２の出力Ｑがカウンタ３３に対するカウントイネーブル信号ＥＮとして与えられる。その時点でカウンタ３３の出力ＲＵＮはＨとなり、その結果セレクタ２８の出力としてのφａはφ２となる。カウンタ３３が一定値をカウントしてオーバーフローすると、ＲＵＮの値がＬとなり、その結果カウンタ３３はクリアされる。これは前述のようにフラグがＨとなった後にクロックがφ２に切り替えられ、さらにその後フラグの値がＬとなった場合にも、カウンタ３３のカウント値がオーバーフローするまでは、クロックφａを元のクロックφ１に戻さないようにするためである。
【００３３】
図７のクロック切替回路の動作について図８の動作例のタイムチャートを用いてさらに説明する。図８において最初フラグの値はＬであり、セレクタ２８によってクロックφａとしてφ１が出力されているものとする。時刻ｔ1においてマージンレス判定回路内部の２つのレジスタにデータが取り込まれ、時刻ｔ2においてマージンレスの判定が行われ、マージンレスと判定されてフラグの値がＨとなる。その後のリードストローブ信号のＨの区間内のマシンクロックφの立下りにおいてマシンクロックがφ２に切り替えられ、この時点ｔ3で信号ＥＮ、ＲＵＮ、およびｃｋｓはいずれもＨとなる。その後カウンタ３３はカウントを開始し、次のマシンクロックφの立ち上がり（ｔ4）においてカウンタ３３のカウント値は“０１”となる。なおデータＸは不定値を示す。
【００３４】
その後ｔ5でカウント値は“１０”となり、時刻ｔ6でバスデータの取込み、ｔ7でマージンレスの判定が行われ、ここでははマージン有りと判定されてフラグの値がＬとなる。そしてｔ8でカウント値は“１１”となり、ｔ9でカウンタがオーバーフローし、信号ＲＵＮ、およびｃｋｓが“０”となり、カウンタ３３はクリアされる。なおここではカウンタ３３は２ｂｉｔカウンタであるものとする。
【００３５】
ここでＯＲゲート３０への２つの入力、すなわちフラグとｃｋｓ信号とが共にＬとなるため、その次のクロックφの立下り時点、すなわちｔ10においてＥＮ信号がＬとなる。
図７においてカウンタ３３によって構成されるｃｋｓ引き伸ばし部２７を用いることによって、フラグの値がＬに落ちた後にも、ある程度時間がたつまで、すなわちカウンタ３３がオーバーフローするまでクロックの元の値への復帰を延期することも可能となるが、このような動作をカウンタ３３を用いることなく、例えば図８の時刻ｔ7においてマージン有りと判定されてフラグの値がＬとなった直後のマシンクロックφの立下りにおいて、クロック切替を行うことによって実現することもできる。クロックの周波数が高い場合には当然この時間は短くなるが、クロック切替の不必要な繰り返しを防止するためには有効と考えられる。また図７ではリードストローブ信号を用いてクロック切替タイミングの調整を行っているが、リードストローブ信号の代わりにアドレスラッチイネーブル信号を使用することも可能である。アドレスラッチイネーブル信号は、例えばメモリにデータをリード、またはライトする場合のアドレス取り込み用の期間を表す信号であり、後述する第８の実施例におけるようにバスデータのリード動作とライト動作の両方にあたってマージンレスの判定を行うような場合には、このアドレスラッチイネーブル信号を利用することも可能である。
【００３６】
図９は、第３の実施例におけるマージンレス判定回路の構成ブロック図である。同図を第１の実施例における図５と比較すると、遅延セル１８1から１８3、レジスタ１６1から１６3、ＥＸＮＯＲゲート２３1から２３3、およびフラグレジスタ２４1から２４3がそれぞれ３個ずつ備えられ、遅延セル１８1から１８3による遅延量ｄ１からｄ３としてそれぞれ異なる値を設定することによって、異なるマージンに対応するマージンレス判定を行うことが可能となる。なおここで遅延量としてはｄ１が最も小さく、ｄ２、ｄ３の順で大きくなるものとする。
【００３７】
図１０は第３の実施例におけるクロック切替回路の構成図である。同図においては、図９のマージンレス判定回路の構成に対応して３つのフラグ、すなわちフラグ１からフラグ３の値に対応して、４つのクロック信号φ１からφ４のうちのいずれかがクロック信号φａとして出力されるクロック切替回路の構成を示している。その構成は、基本的に図７で説明したクロック切替回路におけるクロック切替タイミング調整部とｃｋｓ引き伸ばし部とが３組備えられた構成となっており、フラグ３が一度Ｈになると、信号ｃｋｓ１がＨの間はφａとしてφ２が出力され、フラグ３とフラグ２の両方がＨとなると信号ｃｋｓ２がＨの間はφａとしてφ３が出力され、またフラグ３からフラグ１の全てがＨになると信号ｃｋｓ３がＨの間はφａとしてφ４が出力され、それ以外の場合にはφａとしてφ１が出力されることになる。なおクロックの周波数はφ４が最も低く、φ３、φ２、φ１の順序で高くなる。
【００３８】
図１１から図１３は、第３の実施例における動作例のタイムチャートである。図１１は動作例（その１）のタイムチャートであり、図９の３つのフラグレジスタ２４1から２４3までのそれぞれが出力するフラグのうちフラグ３だけがＨとなり、図１０における４つのクロック信号のうちでφ１からφ２への切替が行われる例のタイムチャートである。
【００３９】
図１１において、リードストローブ信号の最初のＨの区間におけるバスデータ取込時点ｔ＝ｔ1において３つのレジスタ１６1、１６2、１６3のそれぞれにデータが取り込まれるが、特にレジスタ１６3に対するデータの遅延量ｄ３が大きいために、レジスタ１６3に取り込まれるデータＤＩ３’だけがデータ０となり、その他のレジスタ内のデータ、すなわちデータ１とは異なるデータとなる。その結果マージンレス判定時刻ｔ＝ｔ2においてフラグレジスタ２４3の出力するフラグ３だけがＨとなる。
【００４０】
その後、次のリードストローブ信号がＨの区間において、マシンクロックφのネガティブエッジにおいて図１０のクロック選択信号ｃｋｓ１がＨとなり、ｔ＝ｔ3でクロックの切り替えが行われ、その後のマシンクロックφは、φ１からφ２になる。その後さらに次のリードストローブ信号がＨの区間においてｔ＝ｔ4で再びマージンレスの判定が行われるが、ここではこの判定においてもレジスタ１６3に取り込まれるデータだけが依然異なっているものとすると、マシンクロックとしてはφ２がそのまま継続して用いられることになる。
【００４１】
ここでレジスタ１６3に取り込まれたデータが他のレジスタに取り込まれたデータと同じになれば、システムクロックは当然再びφ１に切り替えられることになる。図１１ではシステムクロックがφ２に切り替えられてもフラグ３がＨのままであるため、さらに低い周波数のクロック信号φ３への切り替えを行うことも考えられるが、遅延セル１８3による遅延量ｄ３が十分大きく、それ以上のマージンを用いる必要がないものとして、ここではさらなるクロックの切り替えは行わないものとする。
【００４２】
図１２は、第３の実施例におけるマージンレス判定動作例（その２）のタイムチャートである。同図は、図９におけるフラグレジスタ２４1から２４3までの３つのフラグレジスタのうちで、フラグレジスタ２４2、２４3の出力するフラグ２とフラグ３とがＨとなる例のタイムチャートである。
【００４３】
同図において時刻ｔ＝ｔ1において各レジスタにデータが取り込まれるが、この時レジスタ１５と１６1に対してはデータ１が、レジスタ１６2と１６3に対してはデータ０が取り込まれる。その結果遅延クロックφ’のネガティブエッジ、すなわちｔ＝ｔ2においてフラグ２とフラグ３がＨとなる。そして次のリードストローブ信号がＨの区間におけるクロックφのネガティブエッジ、すなわちｔ＝ｔ3においてクロック選択信号ｃｋｓ１、およびｃｋｓ２がＨとなり、ｃｋｓ２がＨとなることによってクロックφはφ１からφ３に、すなわち２段階周波数の低いクロックに切り替えられることになる。そして時刻ｔ＝ｔ4においてマージンレスの判定が再び行われるが、この時点ではまだレジスタ１６2と１６3に取り込まれたデータは不定値としてのデータＸとなっており、レジスタ１５、および１６1に取り込まれたデータ２とは異なるため、フラグ２とフラグ３とは共にＨの値が継続することになる。
【００４４】
その後、次のリードストローブ信号がＨの区間内のｔ＝ｔ5において各レジスタへのデータの取り込みが行われるが、この時点でレジスタ１６3に取り込まれるデータだけが不定値のデータＸであるものとすると、その後のマージンレス判定時刻ｔ＝ｔ6においてフラグレジスタ２４2の出力するフラグ２はＨからＬとなるが、フラグレジスタ２４3の出力するフラグ３はＨのままの値が継続する。そしてフラグ２がＬとなった後、前述のようにある一定時間の後にクロック選択信号ｃｋｓ２がＬとなり、この時点以後クロックφはφ２に戻ることになる。
【００４５】
図１３は、第３の実施例におけるマージンレス判定動作例（その３）のタイムチャートである。同図は、図９の３つのフラグレジスタ２４1から２４3までの出力する３つのフラグがすべてＨとなる例のタイムチャートである。
【００４６】
図１３において時刻ｔ＝ｔ1においてデータのレジスタへの取り込みが行われるが、この時点でレジスタ１５に取り込まれるデータはデータ１、他の３つのレジスタ１６1から１６3までに取り込まれるデータはデータ０であるものとすると、マージンレス判定時刻ｔ＝ｔ2において３つのフラグレジスタの出力するフラグはすべてＨとなり、その後ｔ＝ｔ3においてクロックの切り替えが行われ、クロック信号φは最も低周波のクロックφ４に切り替えられる。時刻ｔ＝ｔ4におけるマージンレス判定においてもレジスタ１５と他の３つのレジスタ１６1から１６3までのデータが異なっており、フラグ１からフラグ３はすべてＨの値が継続する。
【００４７】
クロックがφ４に切り替えられた後、時刻ｔ＝ｔ5で各レジスタに取り込まれるデータのうち、レジスタ１６1と１６2に取り込まれたデータはレジスタ１５に取り込まれたデータと同じとなり、時刻ｔ＝ｔ6においてフラグ１とフラグ２の値はＬとなり、その後クロック選択信号ｃｋｓ２、ｃｋｓ３がＬとなることによってマシンクロックφはφ２に切り替えられる。
【００４８】
続いて本発明の第４の実施例について説明する。図１４は、第４の実施例におけるマージンレス判定回路、およびクロック切替回路の構成ブロック図であり、図１５は第４の実施例におけるマージンレス判定回路動作例のタイムチャートである。
【００４９】
図１４のマージンレス判定回路の構成を第３の実施例における図９と比較すると、各フラグレジスタ２４1から２４3までのクロック入力端子に接続される遅延セル２０の代わりに分周カウンタ５１が用いられ、分周カウンタ５１に対しては、ＡＮＤゲート１９の出力に代わってマシンクロックφが与えられる点が異なっている。
【００５０】
すなわち図１４においては、図９においてマシンクロックφを遅延させた遅延クロック信号φ’のネガティブエッジにおいてマージンレスの判定が行われるのに比較して、マシンクロックφを分周した結果としての分周クロックφ’のネガティブエッジにおいてマージンレスの判定が行われることになる。また図１４内のクロック切替回路としてのセレクタ２８には第３の実施例と異なってフラグレジスタ２４1から２４3までの出力するフラグの値が与えられ、そのフラグ出力値に応じてクロックの切り替えが行われる。
【００５１】
図１５の動作タイムチャートは、第１の実施例における図６のタイムチャートと比較して、マージンレスの判定タイミングが図６においては遅延クロックφ’のネガティブエッジにおいて行われるのに対して、図１５においては分周クロックφ’のネガティブエッジにおいて行われる点を除いてはその動作は基本的に同じであり、その詳細な説明を省略する。
【００５２】
次に本発明の第５の実施例について図１６から図１７を用いて説明する。図１６は、第５の実施例におけるマイコンの構成ブロック図である。同図を基本構成ブロック図としての図２と比較すると、ＣＰＵ１２とマージンレス判定回路１１との間に制御回路５２が備えられている点が異なっている。この制御回路５２はマージンレス判定回路１１の動作、すなわちマージンレスの判定を行うか否かとしてのマージンレス判定動作の開始／停止を制御するものであり、その制御は、例えばＣＰＵ１２から与えられるリードストローブ信号をマージンレス判定回路１１に与えるか与えないかによって行われる。本発明においては、例えば図６で説明したようにマージンレス判定動作はリードストローブ信号に対応して行われるものであり、このリードストローブ信号がマージンレス判定回路１１に与えられないことによって、マージンレス判定回路１１の動作が停止される。
【００５３】
制御回路５２の内部にはこのマージンレス判定回路１１の動作の開始／停止を制御するための制御レジスタが備えられており、ＣＰＵ１２からその制御レジスタに対するデータのリード／ライトを可能とすることによって、例えばユーザからＣＰＵ１２に対してプログラム内で与えられる指示に対応して制御レジスタの書き替えが行われて、その結果としての制御レジスタの内容を用いて制御回路５２によってマージンレス判定回路の動作の開始／停止が制御される。なおこの制御回路５２をＣＰＵ１２の内部に組み込むことも当然可能である。
【００５４】
図１７は図１６の制御回路５２の構成ブロック図である。この制御回路５２は、ＣＰＵ１２から与えられるリードストローブ信号を、マージンレス判定回路１１の動作を許可する場合にはそのままマージンレス判定回路１１に与え、判定回路の動作を許可しない場合にはマージンレス判定回路１１にリードストローブ信号を与えないように制御を行うものである。同図において、アドレスデコーダ５５はマージンレス判定回路の動作の許可／不許可を示すデータを格納する制御レジスタ５７を特定するためのものである。このアドレスデコーダ５５の出力と制御レジスタ５７にデータを書き込むためのライトストローブ信号とがＡＮＤゲート５６に与えられると、ＡＮＤゲート５６の出力は制御レジスタ５７のクロック入力端子に与えられ、バスの１ｂｉｔ分に割当てられた判定回路動作の許可／不許可のデータが制御レジスタ５７に取り込まれる。そしてこのデータが“１”である時には、ＣＰＵ１２からのリードストローブ信号がＡＮＤゲート５８を介してマージンレス判定回路１１に出力される。
【００５５】
図１８は、第５の実施例におけるＰＬＬ逓倍率選択信号の利用の説明図である。同図においてＰＬＬ発振回路６１はＣＰＵ１２に対して高周波信号などを供給するものであるが、このＰＬＬ発振回路６１において最高の逓倍率が選択された時に、その選択を示す最高逓倍率選択信号が制御回路５２に与えられ、この最高逓倍率選択信号が入力された時にのみ制御回路５２はマージンレス判定回路１１に動作を行わせるよう制御を行う。
【００５６】
図１９は、第６の実施例におけるマイコンの構成ブロック図である。図２で説明したように本実施形態においては、マージンレス判定回路１１によってマージンレスを示すフラグがクロック切替回路１３に出力された時、クロック切替回路１３に入力される複数のクロックのうちいずれかのクロックへの切り替えが行われ、クロック切替回路１３の出力φａがマシンクロックφとして用いられるが、このマシンクロックが図１９においてはＣＰＵ１２に供給されるだけでなく、マイコン１０内の一般に複数の周辺回路６２1、６２2に供給され、切り替え結果のクロックが周辺回路に対してもマシンクロックとして供給される。
【００５７】
図２０は、第７の実施例におけるマージンレス判定方式の説明図である。図２で説明したように、第６の実施例までにおいてはＣＰＵ１２からマージンレス判定回路１１に対してリードストローブ信号が与えられ、データのリード動作、例えばメモリからのデータのリードにあたってバスデータの遅延を対象としてマージンレスの判定が行われる。これに対して図２０においては、ＣＰＵ１２からマージンレス判定回路１１に対してバスデータと共にライトストローブ信号が与えられ、例えばデータのメモリへのライト動作にあたってマージンレスの判定が行われる。
【００５８】
最後に図２１から図２３を用いて第８の実施例について説明する。この第８の実施例においては、第１から第６、および第７の実施例と異なって、データのリード動作とライト動作の両方にあたってバスデータに対するマージンレスの判定が行われる。
【００５９】
図２１は、第８の実施例におけるマージンレス判定方式の説明図である。同図においてＣＰＵ１２からマージンレス判定回路１１に対してリードストローブ信号とライトストローブ信号の両方がバスデータと共に与えられ、マージンレス判定回路１１はデータのリード動作、およびライト動作の両方にあたってバスデータを対象とするマージンレスの判定を行うことになる。
【００６０】
図２２は、第８の実施例におけるマージンレス判定回路１１の構成ブロック図である。同図を第１の実施例における図５と比較すると、図５においてリードストローブ信号とマシンクロックφとが入力されるＡＮＤゲート１９の前段に、リードストローブ信号とライトストローブ信号とが入力されるＯＲゲート６５が追加され、ＯＲゲート６５の出力がマシンクロックφと共にＡＮＤゲート１９に入力される点が異なっている。
【００６１】
図２３は第８の実施例におけるクロック切替回路の構成ブロック図である。同図を例えば第２の実施例に対応する図７と比較すると、クロック切替タイミング調整部２６の内部にリードストローブ信号とライトストローブ信号とが入力され、その出力がＡＮＤゲート３１への１つの入力として与えられるＯＲゲート６６が追加されている点が異なっている。
【００６２】
（付記１）  データ遅延のマージンの有無を判定する判定回路であって、
データを記憶する第１のデータ記憶手段と、
該データを遅延させるデータ遅延手段と、
該データ遅延手段の出力を記憶する第２のデータ記憶手段と、
該第１のデータ記憶手段の記憶内容と、第２のデータ記憶手段の記憶内容とを比較し、両者が異なる時にマージンレス検出信号を出力する比較手段とを備えることを特徴とする判定回路。
（付記２）  前記比較手段の出力するマージンレス検出信号が、クロック切替回路への切替制御信号として用いられることを特徴とする付記１記載の判定回路。
（付記３）  前記マージンレス検出信号の出力に対応して、前記クロック切替回路によって、クロックの切替が行われたとき、さらに一定時間の後に該クロック切替回路に対して切替前のクロックへの復帰を指示するカウンタ手段をさらに備えることを特徴とする付記２記載の判定回路。
（付記４）  前記マージンレス検出信号の入力に対応して、前記クロック切替回路によって切り替えられたクロック信号が、マイクロコンピュータの中央処理装置に供給されることを特徴とする付記２記載の判定回路。
（付記５）  前記切り替えられたクロック信号が、前記マイクロコンピュータ内の中央処理装置の周辺回路にさらに供給されることを特徴とする付記４記載の判定回路。
（付記６）  前記判定回路が、コンピュータにおけるデータリード時に動作し、
前記データがバス上のリードデータであることを特徴とする付記１記載の判定回路。
（付記７）  前記判定回路がコンピュータにおけるデータストア時に動作し、
前記データがバス上のライトデータであることを特徴とする付記１記載の判定回路。
（付記８）  前記判定回路がコンピュータにおけるデータのリード時、およびデータのストア時に動作し、
前記データがバス上のリードデータ、またはライトデータであることを特徴とする付記１記載の判定回路。
（付記９）  前記判定回路に対して、外部からの指示に対応して判定動作の開始／停止を制御する制御回路を備えることを特徴とする付記１記載の判定回路。
（付記１０）  前記制御回路が、マイクロコンピュータの中央処理装置に組み込まれることを特徴とする付記９記載の判定回路。
（付記１１）  前記制御回路が、前記マイクロコンピュータの中央処理装置にＰＬＬ信号を供給する発振器において最高逓倍率が選択されたことを示す信号の入力に応じて、前記マージンレス判定動作の開始を指示することを特徴とする付記９記載の判定回路。
（付記１２）  データ遅延のマージンの有無を判定する判定回路であって、
データを記憶するデータ記憶手段と、
該データをそれぞれ異なる遅延時間だけ遅延させる複数のデータ遅延手段と、
該複数のデータ遅延手段の出力をそれぞれ記憶する複数の遅延データ記憶手段と、
該複数の遅延データ記憶手段のそれぞれの記憶内容と、前記データ記憶手段の記憶内容とをそれぞれ比較し、両者が異なる時、不一致検出信号を出力する複数の比較手段と、
該複数の比較手段の出力値に応じて、周波数の異なるクロック信号の切替を行うクロック切替手段とを備えることを特徴とする判定回路。
（付記１３）  前記クロック切替回路によって切り替えられたクロック信号が、マイクロコンピュータの中央処理装置に供給されることを特徴とする付記１２記載の判定回路。
（付記１４）  前記複数の比較手段の出力の値に対応して、前記クロック切替手段が高周波から低周波までの前記周波数の異なる複数のクロック信号を段階的に切り替えることを特徴とする付記１２記載の判定回路。
（付記１５）  データ遅延のマージンの有無を判定する判定回路であって、
判定対象データと、該判定対象データのリードおよび／またはライトのストローブ信号とを受け取り、マージンレスと判定した時にクロック切替を行うための制御信号を出力することを特徴とする判定回路。
【図面の簡単な説明】
【００６３】
【図１】本発明のマージンレス判定回路の原理構成ブロック図である。
【図２】本実施形態におけるマージンレス判定方式の基本構成ブロック図である。
【図３】図２におけるマージンレス判定回路の構成ブロック図である。
【図４】図２におけるクロック切替回路の動作説明図である。
【図５】第１の実施例におけるマージンレス判定回路の構成ブロック図である。
【図６】第１の実施例におけるマージンレス判定動作例のタイムチャートである。
【図７】第２の実施例におけるクロック切替回路の構成ブロック図である。
【図８】第２の実施例におけるマージンレス判定動作例のタイムチャートである。
【図９】第３の実施例におけるマージンレス判定回路の構成ブロック図である。
【図１０】第３の実施例におけるクロック切替回路の構成ブロック図である。
【図１１】第３の実施例におけるマージンレス判定動作例（その１）のタイムチャートである。
【図１２】第３の実施例におけるマージンレス判定動作例（その２）のタイムチャートである。
【図１３】第３の実施例におけるマージンレス判定動作例（その３）のタイムチャートである。
【図１４】第４の実施例におけるマージンレス判定回路、およびクロック切替回路の構成ブロック図である。
【図１５】第４の実施例におけるマージンレス判定動作例のタイムチャートである。
【図１６】第５の実施例におけるマージンレス判定方式の説明図である。
【図１７】第５の実施例における制御回路の構成を示すブロック図である。
【図１８】ＰＬＬ発振回路が用いられる場合のマージンレス判定方式の説明図である。
【図１９】第６の実施例におけるクロック切替結果の周辺回路への出力を説明する図である。
【図２０】第７の実施例におけるマージンレス判定方式の説明図である。
【図２１】第８の実施例におけるマージンレス判定方式の説明図である。
【図２２】第８の実施例におけるマージンレス判定回路の構成ブロック図である。
【図２３】第８の実施例におけるクロック切替回路の構成ブロック図である。
【符号の説明】
【００６４】
１  第１のデータ記憶手段
２  データ遅延手段
３  第２のデータ記憶手段
４  比較手段
１０  マイコン
１１  マージンレス判定回路
１２  ＣＰＵ（中央処理装置）
１３  クロック切替回路
１５、１６、３２  レジスタ
１７  比較回路
１８、２０  遅延セル
１９、３１、５６、５８  ＡＮＤゲート
２２  バス
２３  ＥＸＮＯＲゲート
２４  フラグレジスタ
２６  クロック切替タイミング調整部
２７  ｃｋｓ（クロックセレクト）引伸ばし部
２８  セレクタ
３０、６５、６６  ＯＲゲート
３３  カウンタ
５１  分周カウンタ
５２  制御回路
５５  アドレスデコーダ
５７  制御レジスタ
６１  ＰＬＬ発振回路
６２  周辺回路
【図１】
2006260190.tif 000003
【図２】
2006260190.tif 000004
【図３】
2006260190.tif 000005
【図４】
2006260190.tif 000006
【図５】
2006260190.tif 000007
【図６】
2006260190.tif 000008
【図７】
2006260190.tif 000009
【図８】
2006260190.tif 000010
【図９】
2006260190.tif 000011
【図１０】
2006260190.tif 000012
【図１１】
2006260190.tif 000013
【図１２】
2006260190.tif 000014
【図１３】
2006260190.tif 000015
【図１４】
2006260190.tif 000016
【図１５】
2006260190.tif 000017
【図１６】
2006260190.tif 000018
【図１７】
2006260190.tif 000019
【図１８】
2006260190.tif 000020
【図１９】
2006260190.tif 000021
【図２０】
2006260190.tif 000022
【図２１】
2006260190.tif 000023
【図２２】
2006260190.tif 000024
【図２３】
2006260190.tif 000025