(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123294
(43)【公開日】2024-09-11
(54)【発明の名称】遅延回路の遅延を決定するための回路および方法
(51)【国際特許分類】
H03K 5/131 20140101AFI20240904BHJP
H03K 5/19 20060101ALI20240904BHJP
【FI】
H03K5/131
H03K5/19 Z
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024024910
(22)【出願日】2024-02-21
(31)【優先権主張番号】18/174,823
(32)【優先日】2023-02-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】518364964
【氏名又は名称】ルネサス エレクトロニクス アメリカ インコーポレイテッド
【氏名又は名称原語表記】RENESAS ELECTRONICS AMERICA INC.
【住所又は居所原語表記】1001 Murphy Ranch Road, Milpitas, California 95035, U.S.A.
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】リチャード・アーネスト・ガイス
(57)【要約】 (修正有)
【課題】遅延を決定するための回路および対応する方法を提供する。
【解決手段】回路は、遅延回路と、フィードバック回路と、センサ回路および調整回路で形成するコントローラまたはドライバ回路と呼ばれる回路と、を含む。遅延回路は、入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供する。入力エッジと出力エッジは、遅延によって分離される。フィードバック回路は、遅延回路に一連の連続した出力パルスを生成させる。コントローラは、遅延を第1の遅延値に設定し、出力パルスの第1の期間を測定し、遅延を第2の遅延値に設定し、出力パルスの第2の期間を測定する。次に、コントローラは、第1の期間と第2の期間との間の差に基づいて遅延を計算する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
遅延回路の遅延を決定する方法であって、前記方法は、
入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供するように構成された遅延回路を提供することであって、前記入力エッジと前記出力エッジとが遅延によって分離されていること、
遅延回路をフィードバック回路に結合して、前記遅延回路に一連の連続した出力パルスを生成させること、
前記遅延を第1の遅延値に設定し、出力パルスの第1の期間を測定すること、
前記遅延を第2の遅延値に設定し、出力パルスの第2の期間を測定すること、
前記第1の期間と前記第2の期間との間の差に基づいて遅延を計算すること、
を含む方法。
【請求項2】
前記フィードバック回路は、前記フィードバック回路への入力としてフィードバック信号を生成するように構成され、前記フィードバック信号は、前記一連の連続した出力パルスを生じさせる第1のエッジおよび第2のエッジを有するフィードバックパルスを有し、前記フィードバックパルスの前記第1のエッジは、前記入力エッジと比較して逆の極性を有する、請求項1に記載の方法。
【請求項3】
出力パルスの前記第1および第2の期間を測定することは、
目標出力パルス数を設定すること、
前記第1の遅延値における目標出力パルス数に対する第1の基準カウント数をカウントすること、
前記第2の遅延値における目標出力パルス数に対する第2の基準カウント数をカウントすること、
を含む、請求項1に記載の方法。
【請求項4】
前記第1の遅延値は、最小遅延値であり、前記第2の遅延値は、前記最小遅延値と最大遅延値との間で選ばれた遅延値または前記最大遅延値に等しい遅延値である、請求項1に記載の方法。
【請求項5】
前記計算された遅延を目標値と比較して、差分測定値を得ることを含む、請求項4に記載の方法。
【請求項6】
前記差分測定値を低減するために前記遅延を反復的に調整すること、または、補正された遅延値を得るために補正係数を計算しかつ前記遅延を前記補正された遅延値に設定すること、を含む、請求項4に記載の方法。
【請求項7】
入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供するように構成された遅延回路であって、前記入力エッジと前記出力エッジとが遅延によって分離されている、遅延回路、
前記遅延回路に一連の連続した出力パルスを生成させるように適合されたフィードバック回路、
および、前記遅延を第1の遅延値に設定し、前記出力パルスの第1の期間を測定し、前記遅延を第2の遅延値に設定し、前記出力パルスの第2の期間を測定し、前記第1の期間と前記第2の期間との差に基づいて前記遅延を計算するように構成されたコントローラ、
を含む回路。
【請求項8】
前記コントローラは、目標出力パルス数を設定するように構成され、前記第1の遅延値における前記目標出力パルス数のための第1の基準カウント数をカウントし、前記第2の遅延値における前記目標出力パルス数のための第2の基準カウント数をカウントする、請求項7に記載の回路。
【請求項9】
前記コントローラは、調整回路およびセンサ回路を備え、前記調整回路は、前記遅延を前記第1または前記第2の遅延値に設定し、前記第1の遅延のための第1の基準カウント数または前記第2の遅延のための第2の基準カウント数をカウントするように前記センサ回路を起動するように構成される、請求項8に記載の回路。
【請求項10】
前記センサ回路は、基準カウンタと、カウンタコントローラに結合された遅延カウンタと、を備え、前記遅延カウンタは、前記目標出力パルス数をカウントするように構成され、前記基準カウンタは、前記第1および第2の基準カウント数を提供するように構成される、請求項9に記載の回路。
【請求項11】
前記遅延カウンタは、前記目標出力パルス数をカウントし、前記カウンタコントローラに終了信号を送信するように構成され、前記終了信号を受信すると、前記カウンタコントローラは、前記基準カウンタを停止し、前記基準カウンタから前記調整回路に前記基準カウント数を送信する停止信号を生成するように構成される、請求項10に記載の回路。
【請求項12】
前記調整回路は、前記第1の基準カウント数を用いて前記出力信号の前記第1の期間を計算し、前記第2の基準カウント数を用いて前記出力信号の前記第2の期間を計算し、前記第1の期間と前記第2の期間との差を計算するように構成された計算器を備える、請求項9に記載の回路。
【請求項13】
前記第1の遅延値は、最小遅延値であり、前記第2の遅延値は、前記最小遅延値と最大遅延値との間で選ばれた遅延値または前記最大遅延値に等しい遅延値である、請求項7に記載の回路。
【請求項14】
前記計算器は、差分測定値を得るために、前記計算された遅延を目標値と比較するように構成される、請求項13に記載の回路。
【請求項15】
前記調整回路は、前記遅延を調整するための調整信号を生成し、前記差分測定値を低減するために前記遅延を反復的に調整するように構成される、請求項14に記載の回路。
【請求項16】
前記調整回路は、補正された遅延値を得るために補正係数を計算し、前記遅延を前記補正された遅延値に設定するように構成される、請求項14に記載の回路。
【請求項17】
前記フィードバック回路は、前記出力信号に基づいてフィードバック信号を提供するように構成され、前記回路は、外部信号と前記フィードバック信号との間で前記入力信号を選択するように構成されたセレクタを備える、請求項7に記載の回路。
【請求項18】
前記フィードバック回路は、フィードバックループにおいて前記遅延回路に結合されたメモリデバイスを備える、請求項17に記載の回路。
【請求項19】
前記フィードバック回路は、第1の遅延を介して前記セレクタに結合されたリセット入力と、第2の遅延を介して前記遅延回路の前記出力に結合されたクロック入力と、前記セレクタに結合された出力とを有するフリップフロップを備える、請求項18に記載の回路。
【請求項20】
前記外部信号を前記セレクタに提供するように構成された分数ディバイダを備える、請求項17に記載の回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、遅延回路の遅延を決定するための回路および対応する方法に関する。
【背景技術】
【0002】
従来の遅延測定は、遅延要素のトリガ入力イベントと遅延要素の出力イベントとの間の時間を直接的または間接的に測定する何らかの方法を伴う。
【0003】
直接時間測定は、測定される回路の遅延よりも小さい時間ステップを有する時間測定機構を必要とする。これは、その精度および分解能を制限する非常に高速なクロックを必要とする。直接時間測定は、測定される回路の入力トリガイベントまたは出力イベントにおける任意の時間誤差を被る。また、整数周期のみがカウントされるので、被試験回路を測定している既知のクロック周期の分解能に起因する測定誤差が存在する。これは、既知のクロックの+/-1周期の誤差を与える。
【0004】
間接時間測定は、測定される回路の入力、ならびに測定される回路の出力によってトリガされる回路を実装することによって行うことができる。この例は、コンデンサへの固定電流を使用して、入力イベントで電圧ランプを開始し、出力イベントで電圧ランプを停止し、次いで、生じた電圧変化を測定する回路であり得る。これにより、電圧測定を遅延自体よりも遅い速度で行うことができる。間接時間測定は、電圧ランプおよび電圧測定要素の誤差によって制限される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的は、上述の制限の1つまたは複数に対処することである。
【課題を解決するための手段】
【0006】
本開示の第1の態様によれば、遅延回路の遅延を決定する方法が提供され、本方法は、
入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供するように構成された遅延回路を提供することであって、入力エッジおよび出力エッジは、遅延によって分離されること、
遅延回路をフィードバック回路に結合して、遅延回路に一連の連続した出力パルスを生成させること、
遅延を第1の遅延値に設定し、出力パルスの第1の期間を測定すること、
遅延を第2の遅延値に設定し、出力パルスの第2の期間を測定すること、
第1の期間と第2の期間との間の差に基づいて遅延を計算すること、
を含む。
【0007】
例えば、遅延は、入力パルスの終了と出力パルスの開始との間の持続時間であってもよい。
【0008】
任意選択的に、フィードバック回路は、そのフィードバック回路への入力としてフィードバック信号を生成するように構成され、フィードバック信号は、一連の連続出力パルスを生じさせる第1のエッジおよび第2のエッジを有するフィードバックパルスを有し、フィードバックパルスの第1のエッジは、入力エッジと比較して逆の極性を有する。
【0009】
任意選択的に、出力パルスの第1および第2の期間を測定することは、目標出力パルス数を設定することと、第1の遅延値において目標出力パルス数のための第1の基準カウント数をカウントすることと、第2の遅延値において目標出力パルス数のための第2の基準カウント数をカウントすることとを含む。
【0010】
任意選択的に、第1の遅延値は、最小遅延値であり、第2の遅延値は、最小遅延値と最大遅延値との間で選択された遅延値または最大遅延値に等しい遅延値である。
【0011】
例えば、第2の遅延値が最大遅延値である場合、遅延は、遅延回路のフルスケール遅延である。
【0012】
任意選択的に、本方法は、計算された遅延を目標値と比較して差分測定値を得ることを含む。
【0013】
任意選択的に、本方法は、遅延を反復的に調整して差分測定値を低減することを含む。例えば、遅延を調整し、フルスケール遅延の更新された値を得るために測定のセットを実行し、更新された値を目標値と比較するステップは、差分測定を低減するために反復的に繰り返されてもよい。
【0014】
任意選択的に、方法は、補正された遅延値を得るために補正係数を計算することと、補正された遅延値に遅延を設定することとを含む。
【0015】
本開示の第2の態様によれば、以下を含む回路が提供される:
入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供するように構成され、入力エッジおよび出力エッジは、遅延によって分離される遅延回路、
遅延回路に一連の連続した出力パルスを生成させるように適合されたフィードバック回路、
および、前記遅延を第1の遅延値に設定し、出力パルスの第1の期間を測定し、前記遅延を第2の遅延値に設定し、出力パルスの第2の期間を測定し、前記第1の期間と前記第2の期間との差に基づいて前記遅延を計算するように構成されたコントローラ。
【0016】
任意選択的に、コントローラは、目標出力パルス数を設定するように構成され、第1の遅延値における目標出力パルス数のための第1の基準カウント数をカウントし、第2の遅延値における目標出力パルス数のための第2の基準カウント数をカウントする。
【0017】
任意選択的に、コントローラは、調整回路およびセンサ回路を備え、調整回路は、遅延を第1または第2の遅延値に設定し、センサ回路を開始して、第1の遅延についての第1の基準カウント数または第2の遅延についての第2の基準カウント数をカウントするように構成される。
【0018】
任意選択的に、センサ回路は、基準カウンタと、カウンタコントローラに結合された遅延カウンタとを備え、遅延カウンタは、目標出力パルス数をカウントするように構成され、基準カウンタは、第1および第2の基準カウント数を提供するように構成される。
【0019】
任意選択的に、遅延カウンタは、目標出力パルス数をカウントし、かつ終了信号をカウンタコントローラに送信するように構成され、終了信号を受信すると、カウンタコントローラは、停止信号を生成して、基準カウンタを停止し、基準カウンタからの基準カウント数を調整回路に送信するように構成される。
【0020】
任意選択的に、調整回路は、第1の基準カウント数を使用して出力信号の第1の期間を計算し、第2の基準カウント数を使用して出力信号の第2の期間を計算し、第1の期間と第2の期間との間の差を計算するように構成された計算器を備える。
【0021】
任意選択的に、第1の遅延値は、最小遅延値であり、第2の遅延値は、最小遅延値と最大遅延値との間、または最大遅延値に等しい遅延値である。
【0022】
任意選択的に、計算器は、計算された遅延を目標値と比較して差分測定値を得るように構成される。
【0023】
任意選択的に、調整回路は、遅延を調整するための調整信号を生成し、差分測定値を低減するために遅延を反復的に調整するように構成される。
【0024】
任意選択的に、調整回路は、補正された遅延値を得るために補正係数を計算し、遅延を補正された遅延値に設定するように構成される。
【0025】
任意選択的に、フィードバック回路は、出力信号に基づいてフィードバック信号を提供するように構成され、回路は、外部信号とフィードバック信号との間で入力信号を選択するように構成されたセレクタを備える。例えば、セレクタは、マルチプレクサまたはスイッチを含んでいてもよい。
【0026】
任意選択的に、フィードバック回路は、フィードバックループにおいて遅延回路に結合されたメモリデバイスを備える。
【0027】
任意選択的に、フィードバック回路は、第1の遅延を介してセレクタに結合されたリセット入力と、第2の遅延を介して遅延回路の出力に結合されたクロック入力と、セレクタに結合された出力とを有するフリップフロップを備える。
【0028】
任意選択的に、回路は、外部信号をセレクタに提供するように構成された分数ディバイダを備える。
【0029】
本開示の第1の態様に関して説明したオプションは、本開示の第2の態様にも共通する。
【図面の簡単な説明】
【0030】
本開示は、例として、添付の図面を参照して、以下でさらに詳細に説明される。
【
図1】
図1は、遅延回路の遅延を決定する方法のフローチャートである。
【
図3】
図3は、例示的なフィードバック回路の図である。
【
図4】
図4は、
図3のフィードバック回路の動作を示すタイミング図である。
【
図6】
図6は、
図2の回路に結合された分数ディバイダの図である。
【発明を実施するための形態】
【0031】
図1は、遅延回路の遅延を決定する方法のフローチャートである。
【0032】
ステップ110において、遅延回路が提供される。遅延回路は、入力エッジを有する入力信号を受信し、出力エッジを有する出力信号を提供するように構成される。入力エッジと出力エッジは、遅延によって分離される。エッジは、信号がローからハイへ(論理0から論理1へ)またはハイからローへ(論理1から論理0へ)状態が変化するときに生じ得る。例えば、遅延は、入力パルスの終了と出力パルスの開始との間の持続時間であってもよい。遅延は、プログラム可能な遅延であってもよい。
【0033】
ステップ120において、遅延回路は、フィードバック回路に結合され、遅延回路に一連の連続した出力パルスを生成させる。フィードバック回路は、フィードバック回路への入力としてフィードバック信号を生成するように構成され得る。フィードバック信号は、一連の連続した出力パルスを生じさせる第1のエッジおよび第2のエッジを有するフィードバックパルスを有する。フィードバックパルスの第1のエッジは、入力エッジと比較して逆の極性を有する。例えば、入力エッジが立ち下がりエッジである場合、フィードバック信号の第1のエッジは、立ち上がりエッジであり、逆もまた同様である。
【0034】
ステップ130において、遅延は、第1の遅延値に設定され、出力パルスの第1の期間が測定される。ステップ140において、遅延が第2の遅延値に設定され、出力パルスの第2の期間が測定される。ステップ150において、第1の期間と第2の期間との間の差に基づいて遅延が計算される。
【0035】
例えば、出力パルスの第1および第2の期間を測定するステップは、目標出力パルス数を設定するステップと、第1の遅延値において目標出力パルス数のための第1の基準カウント数をカウントするステップと、第2の遅延値において目標出力パルス数のための第2の基準カウント数をカウントするステップと、を含み得る。したがって、期間および遅延は、基準カウンタからの基準カウントの単位で提供され得る。
【0036】
図2は、
図1の方法を実施するための回路の図である。回路200は、マルチプレクサ220に結合された入力およびセンサ回路230に結合された出力を有する遅延回路210を含む。マルチプレクサ220は、入力信号選択機能を実行するためのスイッチまたはスイッチ回路に置き換えられてもよいことが理解されよう。遅延回路210は、プログラム可能な遅延回路であってもよい。フィードバック回路240は、遅延回路の出力とマルチプレクサ220との間のフィードバックループにおいて遅延回路210に結合される。フィードバック回路240は、遅延回路210によって受信されると、遅延回路210に一連の連続出力パルスを生成させるフィードバック信号を生成するように適合される。較正回路250とも呼ばれる調整回路は、マルチプレクサ220、遅延回路210、およびセンサ回路230に結合される。センサ回路230および調整回路250は共に、コントローラまたはドライバ回路と呼ばれることがある回路を形成する。
【0037】
遅延回路210は、最小遅延値と最大遅延値との間に設定され得るプログラム可能な遅延を提供するように適合された回路であり得る。遅延回路210は、異なる方法で実装されてもよく、例えば、遅延を生成するためのランプ発生器を含んでもよい。この例では、遅延は、ランプ信号の傾きを変更することによって変更することができる。
【0038】
フィードバック回路240は、遅延回路210が対応する期間Tに関連する所与の周波数で繰り返しの一連のパルスを生成することを可能にする。次に、複数の連続した遅延をセンサ回路230によって測定することができ、したがって、遅延測定の精度を向上させる。
【0039】
動作において、マルチプレクサ220は、外部信号(Normal_delay_in)、フィードバック回路240からのフィードバック信号(FB_out)、および調整回路250からの選択信号(FB_select)を受信して、外部信号またはフィードバック信号のいずれかを通過させる。したがって、遅延回路210によって受信される入力信号は、外部信号またはフィードバック信号のいずれかである。フィードバック信号が選択されると、遅延回路210は、一連の連続した出力パルスを生成する。シリーズ内のパルス数は、センサ回路230によってカウントされる。
【0040】
調整回路250は、遅延回路210の遅延を目標値に設定する信号(Delay_value)と、遅延を調整する信号(Delay_tune)とを生成する。遅延回路210の実装に応じて、信号Delay_valueおよびDelay_tuneは、遅延を設定および調整するためにランプ発生器によって受信され得る。
【0041】
例えば、調整回路250を使用して、遅延を第1の遅延値に設定し、センサ回路230を開始して一連の測定を実行することができる。目標出力パルス数Nが設定され、センサ回路は、目標出力パルス数Nに対する第1の基準カウント数を第1の遅延値でカウントするために使用される。次に、センサ回路を使用して、第2の遅延値における目標出力パルス数Nに対する第2の基準カウント数をカウントする。
【0042】
調整回路250は、センサ回路230から基準カウント数を受け取り、各種演算を行う。例えば、調整回路は、第1の基準カウント数を使用して出力信号の第1の期間T1を計算し、第2の基準カウント数を使用して出力信号の第2の期間T2を計算し得る。次いで、調整回路を使用して、第1のプログラム可能な遅延と第2のプログラム可能な遅延との間の差を得るために、差T1-T2を計算することができる。
【0043】
第1のプログラム可能な遅延が最小遅延に設定され、第2のプログラム可能な遅延が最大遅延に設定される場合、差T1-T2は、遅延回路のフルスケール遅延を定義する。フルスケール遅延は、目標のフルスケール遅延と比較することができる。調整回路はまた、遅延を調整するための信号(Delay_tune)を生成するように構成される。遅延回路を較正するために、いくつかの測定セットを反復的に実行することができる。
【0044】
例えば、第1の測定セットは、第1の値、例えば「1/2」に設定されたDelay_tune信号を用いて実行され、T1-T2の第1の値を取得する。第1の値T1-T2が目標フルスケール遅延よりも小さい場合、遅延同調信号は、例えば「1/2」から「2」に増加され、第2の測定セットがT1-T2の第2の値を得るために実行される。第2の値T1-T2が目標フルスケール遅延よりも小さい場合、遅延同調信号は、さらに増加する。同様に、第2の値T1-T2が目標フルスケール遅延よりも大きい場合、遅延同調信号は、減少する。
【0045】
遅延同調信号を反復的に調整することによって、フルスケール遅延は、その目標値に向かって収束する。あるいは、補正された遅延値を得るために補正係数が計算されてもよい。その後、遅延は、補正された遅延値に設定される。
【0046】
図3は、
図2の回路で使用するための例示的なフィードバック回路の図である。フィードバック回路300は、第1の遅延(FB遅延)320および第2の遅延(FBリセット遅延)330に結合されたDフリップフロップ310などのメモリデバイスを含む。第1の遅延320は、遅延回路210からの出力(Delay_out)を受け取るための入力と、クロック信号(FB_clock)を供給するための出力とを有する。Dフリップフロップ310は、論理信号を受信するためのデータ入力Dと、第1の遅延320からクロック信号(FB_clk)を受信するためのクロック入力と、第2の遅延330からリセット信号(FB_reset)を受信するためのリセット入力と、フィードバックループにおいて第2の遅延330に結合された出力Qとを有する。出力Qは、フィードバック信号(FB_out)をマルチプレクサ220および第2の遅延330に提供する。
【0047】
遅延回路の出力は、320によって受信される。立ち上がりエッジは、最初に第1の遅延320だけ遅延される。第1の遅延320は、発振の最小期間・周期を設定する。ダイナミックフリップフロップ(DFF)310のデータ入力は、論理「1」であるので、DFFのクロック入力の立ち上がりエッジは、DFFのQ出力を論理「1」にする。第2の遅延330は、DFFを論理「0」にクリアして戻すDFFのリセット経路における遅延であり、DFF310がクロックされるたびに、第2の遅延330の幅のワンショットアクティブハイパルスを効果的に生成する。シーケンスを開始するために単純なロジックを追加することができる。例えば、ORゲートは、第1の遅延320の出力において加算されてもよい。この場合、ORゲートは、信号FB_clkを受信するための第1の入力と、初期化信号を受信するための第2の入力と、310のクロック入力に結合された出力と、を有する。
【0048】
図4は、
図2の遅延回路に結合された
図3のフィードバック回路の動作を示すタイミング図である。
図4は、マルチプレクサ220によって提供される入力遅延信号(Delay_in)410、遅延回路210によって提供される出力遅延信号(Delay_out)420、第1の遅延320によって提供されるクロック信号(FB_clock)430、Dフリップフロップ310によって提供される出力信号(FB_out)440、および第2の遅延330によって提供されるリセット信号(FB_reset)450を示す。矢印は、論理信号の立ち上がりエッジまたは立ち下がりエッジによってトリガされる因果関係を表す。
【0049】
動作において、遅延回路210は、時間t1に示される入力エッジを有する入力信号410を受信する。回路が動作されると、複数の入力パルスが期間Tで形成される。それから、回路210は、同じ期間Tを有する複数の出力パルスを有する信号420を出力する。信号がハイであるとき(論理1)、パルスは、信号のオン時間によって定義される。期間Tは、信号410、420、430、440、および450について同じである。
【0050】
フィードバック回路240は、同じ期間Tを有する複数のフィードバックパルスを有するフィードバック信号440を生成する。これにより、遅延回路210は、複数の連続する出力パルスを生成する。
【0051】
時間t1において、入力信号410は、ローになり、時間t2において、出力信号420は、ローからハイになる。時間t1とt2との間の持続時間Δは、遅延回路の遅延を表す。したがって、遅延回路210は、その入力が論理「0」になるときに遅延を開始し、その出力は、前記遅延の後に論理「1」に遷移する。
【0052】
時間t3において、クロック信号430は、ハイになる。これは、時間t4において、フィードバック出力パルス(440がローからハイになる)の生成をトリガする。次に、時間t5において、新たな入力パルスが生成され(410がローからハイになる)、時間t6において、リセットパルスが生成される(450がローからハイになる)。したがって、時間t4において、出力信号(FB_out)440の立ち上がりエッジは、時間t5において信号410の立ち上がりエッジを生じさせる。
【0053】
時間t7において、フィードバック信号440は、ローになる。これは、時間t8においてローになるように410をトリガする。したがって、時間t7において、出力信号(FB_out)440の立ち下がりエッジは、時間t8において信号410の立ち下がりエッジを生じさせる。その後、パルスの新しいサイクルが再び開始される。
【0054】
遅延回路210が論理「0」から論理「1」に遷移すると(時間t2参照)、フィードバック回路240は、遅延回路210にアクティブハイパルスを送り(時間t4参照)、これにより遅延回路がリセットされ、入力(Delay_in)が「0」から論理「1」になった直後(時間t5)にその出力は、論理「0」に遷移して戻る(時間t6参照)。
【0055】
フィードバック回路240からのアクティブハイパルスが論理「0」に戻ると(時間t7参照)、遅延回路210は、その遅延を開始し(時間t8)、最終的にその出力は、論理「1」になり、プロセスを再開する。
【0056】
したがって、フィードバック信号440は、連続するフィードバックパルス上に形成される。フィードバックパルスは、一連の連続した出力パルスを生じさせる第1のエッジ(時間t4を参照)および第2のエッジ(時間t7を参照)を有する。フィードバックパルスの第1のエッジは、入力信号410の入力エッジと比較して逆の極性を有する(時間t1参照)。
【0057】
図4に示す信号の極性(立ち上がりエッジでは、ローからハイへ、立ち下がりエッジでは、ハイからローへ)を逆にしてもよいことが理解されよう。
【0058】
繰り返しパルスの期間Tは、発振期間とも呼ばれ、被試験回路の遅延、および追加の遅延を含む。時間t1とt2との間の遅延Δを除いて、全ての遅延は、一定である。遅延Δを変化させることにより、期間Tも変化する。発振期間Tは、マルチプレクサ220を通る遅延、遅延回路210の遅延、第1の遅延320の入力遅延、および第2の遅延330の遅延(フィードバック回路の出力がハイである時間に対応する)を含む、いくつかの遅延の合計に等しい。期間Tを測定し、固定遅延を減算することにより、被試験回路210の遅延を得ることができる。
【0059】
周波数測定は、既知のクロックのクロック周期の数を、被試験回路の固定された周期数だけカウントすることによって実行することができる。繰り返しパルスの多くの期間を測定することによって、測定の精度が改善される。
【0060】
内部期間のいずれかのエッジの時間誤差は、測定に影響を与えず、最初と最後のエッジの時間誤差のみが測定誤差に影響を与える。例えば、1000周期を測定することによって、最初のエッジおよび最後のエッジの誤差は、それぞれ1000のうち1つだけであり、したがって、それぞれ1000倍だけ低減される。
【0061】
直接測定アプローチと同様に、既知のクロックの既知の+/-1クロック周期の整数カウントに起因する誤差が依然として存在するが、その誤差は、被試験回路の複数の周期を測定することに起因して、今や低減される。1000周期を測定することによって、既知のクロック周期整数カウント誤差は、被試験回路の1000周期全体に対してちょうど+/-1であり、したがって、係数1000だけ低減される。
【0062】
2パス試験を使用し、次いで、これらの2つの測定値間の差を取ることは、他の遅延が2つのパスについて同じである限り、被試験回路の遅延を分離するために使用され得る。プログラミング値の影響を受ける回路における唯一の遅延は、被試験回路の遅延である。プログラム可能な遅延の場合、2パス試験は、2つの異なるプログラム可能な遅延値を用いて反復パルス周期を測定することによって達成される。
【0063】
プログラム可能な遅延の計算例を以下に示す。
【0064】
T(X)と称されるプログラム可能な遅延値Xについての測定期間、およびT(Y)と称されるプログラム可能な遅延値Yについての測定期間は、以下のように表される:
T(X)=
fixed_delay_multiplexer +
fixed_delay_circuit_under_test +
programmable_delay_circuit_under_test(X) +
fixed_delay_feedback_circuit
T(Y)=
fixed_delay_multiplexer +
fixed_delay_circuit_under_test +
programmable_delay_circuit_under_test(Y) +
fixed_delay_feedback_circuit
その結果、2つの測定された期間の差は:
T(X)-T(Y)=
programmable_delay_circuit_under_test(Y) -
programmable_delay_circuit_under_test(X)
Y = MAXおよびX = MINに設定することにより、2パス測定の差は、被試験回路のフルスケール遅延になる。
T(MIN)-T(MAX)= Δ(MIN)Δ(MAX)であり、その結果、Δ(MIN)=0の場合、
T(MAX)-T(MIN)= Δ(MAX)
例えば、MIN=0およびMAX=100である。
【0065】
平均単位Delayは、T(MAX)-T(MIN)/遅延値単位の数として表されてもよい。
【0066】
より一般的には、T(MIN)-T(Z)= Δ(MIN)Δ(Z)であり、Δ(MIN)=0の場合、T(Z)-T(MIN)= Δ(Z)であり、ここで、Zは、MIN≦Z≦MAXとなるように、最小遅延MINと最大遅延MAXとの間の(およびそれに等しい)任意の値をとるように選択され得る。したがって、各ユニット遅延を個別に計算することが可能である。
【0067】
図5は、
図2の回路の例示的な実装である。回路500は、マルチプレクサ520に結合された入力と、センサ回路530に結合された出力とを有する遅延回路510を含む。フィードバック回路540は、遅延回路の出力とマルチプレクサ520との間のフィードバックループにおいて遅延回路510に結合される。調整回路540は、遅延回路510を調整するために設けられる。
【0068】
この例では、フィードバック回路540が
図3のように実装される。センサ回路530は、遅延カウンタ532とも呼ばれる第1のカウンタと、基準カウンタ534とも呼ばれる第2のカウンタと、を含む。第1および第2のカウンタを制御するために、カウンタ制御ロジック536とも呼ばれるコントローラが設けられる。基準カウンタ534は、基準クロック信号Ref_clkを提供する基準クロック発生器538に結合される。
【0069】
較正制御ロジック550とも呼ばれる調整回路は、第1および第2のカウンタ532、534、コントローラ536、遅延回路510、およびマルチプレクサ520に結合される。
【0070】
調整回路550は、いくつかの信号を生成するように構成される。調整回路550は、選択信号FB_selectを生成し、マルチプレクサ520に送信する。FB_selectが状態を例えばローからハイに変化させるとき、フィードバック回路540によって生成された出力信号FB_outは、マルチプレクサ520によって選択される。
【0071】
調整回路550はまた、遅延回路510の遅延を目標値に設定するための信号Delay_valueを生成するように構成される。例えば、Delay_value信号は、遅延を最小遅延値または最大遅延値に設定するために使用され得る。
【0072】
調整回路550はまた、信号Initiate_countを生成し、コントローラ536に送信するように構成される。コントローラ536がInitiate_count信号を受信すると、コントローラ536は、第1および第2のカウンタ532および534をリセットして、遅延回路510の出力の測定を実行する。
【0073】
回路550は、様々な異なる方法で実装され得る。例えば、回路550は、ソフトウェアコードを実行するように構成された論理回路またはプロセッサであり得る。制御論理回路550は、入力に基づいて論理が1つの状態から別の状態に移動するデジタル状態機械であってもよい。デジタル状態機械は、論理ゲート、またはプロセッサおよびソフトウェア状態機械を使用して実装することができる。
【0074】
動作において、調整回路550は、遅延回路510の遅延を、Delay_value信号を使用して目標値に設定する。遅延は、固定遅延およびプログラム可能な遅延を含むことができる。遅延は、第1の値に設定される。この例では、第1の値は、最小値であり、調整回路550は、選択信号(FB_select)をマルチプレクサ520に送り、フィードバック回路540からの信号(FB_out)を選択する。次に、遅延回路510は、第1の期間T1を有する一連の連続する出力パルスを提供する。また、調整回路550は、コントローラ536に指令信号(Initate_count)を送信して測定を開始する。コントローラ536は、遅延カウンタ532および基準カウンタ534の両方に開始信号(Start_counters)を送信して、それらの古いカウントをクリアし、新しいカウントを開始する。
【0075】
遅延カウンタ532は、出力信号Delay_outから一定数の出力パルスをカウントし、終了信号(Delay_count_done)を生成してカウントを停止する。例えば、遅延カウンタ532によってカウントされる出力パルスの数は、予め定義されたまたは目標の数Nであってもよい。例えば、Nは、1000に設定されてもよい。
【0076】
コントローラ536は、遅延カウンタ532から終了信号(Delay_count_done)を受け取り、停止信号(Stop_ref_counter)を生成して基準カウンタ534を停止させ、カウントを停止させる。
【0077】
調整回路550は、Delay_count_done信号を受信すると、カウント値Ref_countおよびDelay_countの数を、それぞれ、基準カウンタ534および遅延カウンタ532からロードする。
【0078】
そして、調整回路550は、遅延を第2の値に設定する。この例では、第2の値は、最大値である。次に、遅延回路510は、第2の期間T2を有する一連の連続する出力パルスを提供する。
【0079】
調整回路550は、Initiate_count信号をコントローラ536に送信して、第1および第2のカウンタ532および534をリセットし、ここでは、第2の遅延値を使用して、遅延回路510の出力の別の測定を実行する。コントローラ536は、信号Start_counterを遅延カウンタ532および基準カウンタ534の両方に送信して、それらの古いカウントをクリアし、新しいカウントを開始する。
【0080】
一定数のDelay_outのカウント後、遅延カウンタ532は、Delay_count_done信号を生成し、カウントを停止する。コントローラ536は、Delay_count_done信号を感知し、Stop_ref_counterを生成し、基準カウンタ534にカウントを停止させる。調整回路550は、Delay_count_done信号を感知し、2つのカウンタからそれぞれカウント値Ref_countおよびDelay_countのカウント数をロードする。
【0081】
次に、調整回路550は、基準カウンタ534から得られた2つのカウント数Ref_count_minおよびRef_count_maxを、それぞれ最小および最大Delay_value測定値とともに使用して、出力信号の第1の期間T1および第2の期間T2を計算する。
【0082】
調整回路550は、第1のプログラム可能な遅延と第2のプログラム可能な遅延との差を得るために、第1の期間T1と第2の期間T2との間の差を計算する。
【0083】
第1のプログラム可能な遅延と第2のプログラム可能な遅延との間の差は、フルスケール範囲とも呼ばれる、遅延回路のフルスケール遅延を定義する。次いで、フルスケール遅延は、目標フルスケール遅延と比較される。次いで、フルスケール遅延と目標値との間の差が低減される。
【0084】
遅延回路510のフルスケール範囲が高すぎる場合、調整回路550は、フルスケール範囲を縮小するためにDelay_tune値を縮小する。同様に、遅延回路510のフルスケール範囲が低すぎる場合、調整回路550は、Delay_tune値を増加させてフルスケール範囲を増加させる。フルスケール範囲は、Delay_tuneがその最良の分解能に達するまで反復的に調整される。
【0085】
異なる較正手順を想定することができる。以下は、遅延回路のフルスケール範囲を、Tgoalとして定義される目標クロックの周期に等しくなるように較正するための手順である。
【0086】
以下の用語は、以下のように定義される:
Tref_clockは、538によって生成された基準クロックの周期である。
Tref_clock = M * Tgoal.
Nは、遅延カウンタ532によってカウントされるDelay_out信号の連続する周期の数である。
RCmaxは、「Delay_value」が最大に設定されたときの基準カウンタ534の最終カウント値である。
RCminは、「Delay_value」が最小に設定されたときの基準カウンタ543の最終カウント値である。
Dfixedは、時間t2とt8との間の一定の固定遅延である。これは、Delay_tune信号とDelay_value信号に依存しない。
Delay_circuitmaxは、Delay_valueが最大に設定されたときの遅延回路510の遅延である。
Delay_circuitminは、Delay_valueが最小に設定されたときの遅延回路510の遅延である。
Target_fullscale_count は、最適なキャリブレーションデルタカウントを識別するために使用されるRCmax-RCminの目標フルスケールカウントである。
【0087】
測定中、基準カウンタ532は、Delay_counter 532と同じ時間の間カウントする。これは、同じカウント数ではなく、同じ時間である。
【0088】
以下の関係が適用される:
N *(Delay_circuitmax + Dfixed)= RCmax * Tref_clock
N *(Delay_circuitmin + Dfixed)= RCmin * Tref_clock。
【0089】
目標フルスケールに達すると、Delay_circuitmax-Delay_circuitmin = Tgoalになる。
【0090】
Target_fullscale_countの計算は、以下の通りである:
N * [(Delay_circuitmax + Dfixed)-N * (Delay_circuitmin + Dfixed) = RCmin * Tref_clock-RCmin * Tref_clock
N * [(Delay_circuitmax + Dfixed) - (Delay_circuitmin + Dfixed)] = Tref_clock * [RCmax - RCmin]
N *[Delay_circuitmax - Delay_circuitmin] = M * Tgoal * [RCmax - RCmin]
Delay_circuitmax-Delay_circuitmin = Tgoalを設定し、方程式を以下のように低減する:
N = M *[RCmax - RCmin]
N = M * Target_fullscale_count
Target_fullscale_count = N / M。
【0091】
フルスケール較正手順については、以下のステップを実施することができる:
1. 「FB_select」を設定して「FB_out」パスを選択する
2. 「Delay_tune」を最大値の1/2 に設定する
3. 「Delay_value」を最小値に設定する
4. 「Initiate_count」を生成してカウンタをクリアし、新しいカウントを開始する
5. 「Delay_count_done」を待つ
6. 「Ref_count」値をRCmin として格納する
7. 「Delay_value」を最大値に設定する
8. 「Initiate_count」を生成してカウンタをクリアし、新しいカウントを開始する
9. 「Delay_count_done」を待つ
10. 「Ref_count」の値をRCax として格納する
11. 「基準カウンタ」のフルスケールカウントをRCmax-RCminとして計算する
12. RCmax-RCminをTarget_fullscale_count と比較し、「Delay_tune」 を増減する必要があるかどうかを判断し、現在の値と上位または下位レンジの中間の「Delay_tune」 を3/4または1/4に設定する。これは、バイナリ検索アルゴリズムである
13. 「Delay_tune」が最小分解能設定(バイナリサーチの最下位ビット)にない場合、ステップ3に戻る
14 「Delay_tune」が最小分解能設定(バイナリサーチの最下位ビット)にある場合、較正は終了するので、「FB_select」を設定して「Normal_delay_in」パスを選択する。「遅延回路」(Delay_circuitmax - Delay_circuitmin)のフルスケール遅延は、目標クロック(Tgoal)の周期にできるだけ近くなった。
【0092】
あるいは、以下のステップを実施することによって、フルスケール補正係数を計算することができる:
1. 「FB_select」を設定して「FB_out」パスを選択する
2. 「Delay_tune」を公称値に設定する
3. 「Delay_value」を最小値に設定する
4. 「Initiate_count」を生成してカウンタをクリアし、新しいカウントを開始する
5. 「Delay_count_done」を待つ
6. 「Ref_count」値をRCmin として格納する
7. 「Delay_value」を最大値に設定する
8. 「Initiate_count」を生成してカウンタをクリアし、新しいカウントを開始する
9. 「Delay_count_done」を待つ
10. 「Ref_count」の値をRCax として格納する
11. 「基準カウンタ」のフルスケールカウントをRCmax-RCminとして計算する
12. 目標期間の「fullscale_correction_coeficient」 を実際の「Delay Circuit」 フルスケールに計算する。(Target_fullscale_count / RCmax - RCmin)
13. 「FB_select」で「Normal_delay_in」パスを選択する
14. 通常モードの「Delay_value」に「fullscale_correction_coeficient」を掛け算して、Tgoalの理想的なフルスケール遅延に関する「Delay Circuit」 の実際の遅延を補正する。
【0093】
提案された回路および方法は、様々な用途に使用することができる。例えば、
図2~
図5に関して説明した回路は、分数クロックディバイダとともに使用して、そのジッタを補正または低減することができる。これは、プログラム可能な遅延のフルスケールが分数ディバイダの入力クロックの1周期に等しいことを保証することによって達成され得る。
【0094】
図6は、
図2の回路に結合された分数ディバイダの図である。分数ディバイダ660は、
図2に記載されているように回路200に結合されている。動作中、分数ディバイダ660は、マルチプレクサ220のための信号(Normal_delay_in)を生成する。
【0095】
例えば、フルスケール測定は、正確になるまでフルスケール遅延を調整し、したがってプログラム可能な遅延を較正する回路への入力として使用することができる。
【0096】
分数ディバイダは、最小で、X+1だけでなく、数Xによって除算することができる整数ディバイダを含む。X + a分数の除算値を生成するために、ディバイダは、Xでの除算とX + 1での除算を交互に行い、平均してX + 分数で除算する。
【0097】
例えば、10.25の除算の場合、ディバイダは、10、10、10、11の除算値パターンを有し、その後、繰り返す。合計4 サイクルの場合、ディバイダは、41で除算を行い、平均除算値は、10.25になる。ディバイダの個々の期間は、等間隔ではなく、これは望ましくない。
【0098】
累算器に分数を加算し、その累算分数を使用してプログラム可能な遅延を制御することによって、ディバイダの後、ディバイダ出力は、平均だけでなく、等しい間隔ごとに時間的に補正することができる。
【0099】
1回目の除算では、ディバイダは、10で除算し、遅延は、0.25だけ遅延させ、2回目の除算では、ディバイダは、10で除算し、遅延は、0.50だけ遅延させ、3回目の除算では、10で除算し、遅延は、0.75だけ遅延させ、4回目の除算では、11で除算し、遅延は、0.00だけ遅延させる(ロールオーバー)。結果として得られる期間、周期は、以下の通りである:
10 + 0.25,(10 + 10)+ 0.50,(10 + 10 + 10)+ 0.75,(10 + 10 + 10 + 11)+ 0.00.
ここで、期間10.25、20.50、30.75、41は、各出力間で10.25だけ等間隔に配置される。したがって、ジッタは、補正される。
【0100】
図6の例では、Normal_delay_in信号は、値{10,10,10,11}を提供し、Normal_delay_out信号は、値{10.25,20.50,30.75,41}を提供する。
【0101】
したがって、当業者は、本開示から逸脱することなく、開示された構成の変形が可能であることを理解されるであろう。したがって、特定の実施形態の上記の説明は、例としてのみなされ、限定を目的とするものではない。当業者には明らかなように、記載された動作に大きな変更を加えることなく、多少の変更を加えることができる。
【外国語明細書】