JP2005522081A - 自走リングオシレータを使用する任意波形シンセサイザ - Google Patents

自走リングオシレータを使用する任意波形シンセサイザ Download PDF

Info

Publication number
JP2005522081A
JP2005522081A JP2003581342A JP2003581342A JP2005522081A JP 2005522081 A JP2005522081 A JP 2005522081A JP 2003581342 A JP2003581342 A JP 2003581342A JP 2003581342 A JP2003581342 A JP 2003581342A JP 2005522081 A JP2005522081 A JP 2005522081A
Authority
JP
Japan
Prior art keywords
module
signal
transition
output
input port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003581342A
Other languages
English (en)
Other versions
JP4300471B2 (ja
Inventor
カーリー,アダム,エル.
Original Assignee
タイムラブ コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by タイムラブ コーポレーション filed Critical タイムラブ コーポレーション
Publication of JP2005522081A publication Critical patent/JP2005522081A/ja
Application granted granted Critical
Publication of JP4300471B2 publication Critical patent/JP4300471B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/022Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/025Digital function generators for functions having two-valued amplitude, e.g. Walsh functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03BGENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
    • H03B5/00Generation of oscillations using amplifier with regenerative feedback from output to input
    • H03B5/08Generation of oscillations using amplifier with regenerative feedback from output to input with frequency-determining element comprising lumped inductance and capacitance
    • H03B5/14Generation of oscillations using amplifier with regenerative feedback from output to input with frequency-determining element comprising lumped inductance and capacitance frequency-determining element connected via bridge circuit to closed ring around which signal is transmitted
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/159Applications of delay lines not covered by the preceding subgroups
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Pulse Circuits (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

波形発生器は、自走リングオシレータと、代数モジュールと、スイッチモジュールと、出力モジュールとを含む。自走リングオシレータは、ループ状に接続された複数の遅延素子と、遅延素子間に配置された複数のタップとを含み、各タップは、独自に整相した振動遷移信号を提供する。代数モジュールは、入力信号に応答して、任意波形の第一の立ち上がりエッジを示す出力信号を生成する。スイッチモジュールは、代数データ出力ポートに電気的に連通するスイッチ入力ポートと、自走リングオシレータタップに電気的に連通する複数のスイッチタップ入力ポートと、スイッチ出力ポートとを含む。スイッチ出力ポートにおいて、スイッチモジュールは、スイッチ入力ポートで受領された第一の立ち上がりエッジを示す信号に応答して、複数の自走リングオシレータタップの一つから選択された第一の遷移信号を提供する。出力モジュールは、スイッチ出力ポートに電気的に連通する遷移信号入力ポートと、代数データ出力ポートに電気的に連通するウィンドウ入力ポートと、代数モジュールのクロック入力ポートに電気的に連通する波形出力ポートとを含む。出力モジュールは、出力モジュールの遷移信号入力ポートで受領した第一の遷移信号と、ウィンドウ入力ポートで受領した第一の立ち上がりエッジの信号とに応答して、波形出力ポートで任意波形を形成する。

Description

本発明は、波形生成の分野に関し、特に、自走リングオシレータを使用して任意波形を生成する方法及び装置に関する。
時間の単位又は距離の単位を、安価な形で更に小さな単位に分割するのが望ましい事例は数多く存在する。例えば、距離検出器において、発信信号と着信信号との間で経過する時間は非常に短く、数ナノ秒程度であり、標準の基準クロックを使用して経過時間をカウントすると、不正確なカウントが生じ、結果として、不正確な距離計算が発生する。
別の例において、レーザプリンタでは、高解像度のために、一定の行セル内で、様々な距離で白から黒(又はその逆)への遷移を提供するのが望ましい場合が多い。参照により本明細書に組み込む米国特許第5,109,283号を参照せよ。しかしながら、プリンタのピクセルクロックレートである10MHzでクロックされる白−黒信号又は黒−白信号は、プリンタのレーザダイオードにおいて、一定のプリントセル内でのプリント遷移を正確に制御する上で十分に微細には分解されない。より高速のクロックは、コストが高すぎ、及び/又は、高解像度のグラフィックイメージに必要な高い時間分解能(例えば、数ミクロン程度のプリントセルの距離に応答する1ナノ秒)でプリント遷移を参照することができない。
上記の問題に対する解決策の一つは、自走リングオシレータ(相互に交換可能な用語としてループオシレータとも呼ばれる)を組み込んだデバイスを使用することである。米国特許第5,793,709号及び第5,903,522号は、こうした解決策について説明しており、この参照により本明細書に組み込まれるものとする。しかしながら、CD−RW、DVD、通信、及びレーダの分野における応用での信号要件で更に高い周波数及び精度での遷移エッジが必要になるにしたがって、制限が生じる。回路の導電性パス長及び実施ハードウェアの相違が顕著になる。基準クロックの周波数に基づく代数クロックは、代数回路によって行われる計算の速度を制限する。自走ループオシレータ(「ループ」)の速度を計算する外部回路も、代数回路によって行われる計算の速度を制限する。出力を使用するデバイスは、同期信号が使用される時に、出力信号における突然の予測不可能な遷移を許容できない場合がある。
本発明は、こうした必要性に対処する。
したがって、本発明の目的は、様々な実施ハードウェア及び等しくないパス長を補正することである。本発明の別の目的は、基準クロックより大幅に高速である可能性のある、生成中の出力信号に基づいた遷移エッジ計算のための内部クロックを生成することである。本発明は、更に、遷移エッジ計算が誤ったものとなる場合に内部クロックを供給するウォチドッグを含む。本発明の別の目的は、計算の全体的な許容周波数を高めるために、平均ループ速度を内部的に計算することである。回路は、更に、精度を高めるために、平均ループ速度に基づいて、ループ内の遷移位置を計算する。本発明の別の目的は、出力位相の意図的な変更時に、更新済み出力波形を以前の出力波形にシームレスに連結する出力を生成することである。CD−RW、DVD、通信、及びレーダの分野における応用では、より高速で精度の高いエッジ遷移が求められる。
本発明は、任意波形を生成する方法及び装置に関する。一態様において、本発明は、任意波形を生成する波形発生器に関する。波形発生器は、自走リングオシレータと、代数モジュールと、スイッチモジュールと、出力モジュールとを含む。自走リングオシレータは、ループ状に接続された複数の遅延素子と、遅延素子間に配置された複数のタップとを含み、各タップは、独自に整相した振動遷移信号を提供する。代数モジュールは、代数データ入力ポートと、クロック入力ポートと、代数データ出力ポートとを含む。代数モジュールは、代数データ入力ポートで受領された信号に応答して、任意波形の第一の立ち上がりエッジを示す信号を代数データ出力ポートで生成する。スイッチモジュールは、代数データ出力ポートに電気的に連通するスイッチ入力ポートと、自走リングオシレータタップに電気的に連通する複数のスイッチタップ入力ポートと、スイッチ出力ポートとを含む。スイッチ出力ポートにおいて、スイッチモジュールは、スイッチ入力ポートで受領された第一の立ち上がりエッジを示す信号に応答して、複数の自走リングオシレータタップの一つから選択された第一の遷移信号を提供する。出力モジュールは、スイッチ出力ポートに電気的に連通する遷移信号入力ポートと、代数データ出力ポートに電気的に連通するウィンドウ入力ポートと、代数モジュールのクロック入力ポートに電気的に連通する波形出力ポートとを含む。出力モジュールは、出力モジュールの遷移信号入力ポートで受領した第一の遷移信号と、ウィンドウ入力ポートで受領した第一の立ち上がりエッジの信号とに応答して、波形出力ポートで任意波形を形成する。
一実施形態において、任意波形発生器は、ループ平均化モジュールを含み、ループ平均化モジュールは、基準クロック入力ポートと、自走リングオシレータ内の複数のタップに電気的に接続されたタップ入力ポートとを含む。基準クロック入力ポートで受領された基準クロック信号に応答して、ループ平均化モジュールは、基準クロック信号のエッジ間で発生したタップ遷移の数をカウントし、カウントに応答して、平均ループ速度を計算する。ループ平均化モジュールは、更に、計算された平均ループ速度と、捕捉された複数のループの状態とに応答して、リングオシレータの瞬間位相を計算できる。
別の実施形態において、任意波形発生器は、微小遅延モジュールを含む。微小遅延モジュールは、スイッチ出力ポートに電気的に連通する信号入力ポートと、代数モジュールの代数データ出力ポートに電気的に連通する選択入力ポートと、出力モジュールの入力ポートに電気的に連通する微小遅延出力ポートとを含む。微小遅延モジュールは、選択入力ポートで受領された第一の立ち上がりエッジの信号に応答して、スイッチモジュールのスイッチ出力ポートから出力モジュールの入力ポートへの第一の遷移信号の伝搬を遅延させる。出力モジュールの選択入力ポートは、微小遅延モジュールを通じて、スイッチモジュールのスイッチ出力ポートに電気的に連通する。
別の実施形態において、代数モジュールは、同期入力ポートを含む。代数データ入力ポートと同期入力ポートとで受領された信号に応答して、代数モジュールは、代数データ出力ポートにおいて、任意波形内で第一の立ち上がりエッジの信号を形成する。代数モジュールは、その後、第一の立ち上がりエッジの信号を生成し、結果として任意波形発生器における第一の立ち上がりエッジのシームレスな組み込みを発生させる。
別の実施形態において、遅延素子の一つは、反転遅延素子であり、各遅延素子には同一の負荷が加えられる。別の実施形態では、少なくとも一つの遅延素子は、テストスイッチモジュールを含む。テストスイッチモジュールは、テスト制御入力ポートとテストデータ入力ポートとを有する。テスト制御入力ポートで受領された信号に応答して、遅延素子は、テストデータ入力ポートで受領された信号と同一の信号を応答するタップにおいて形成する。
別の実施形態において、任意波形発生器は、補正モジュールを含む。補正モジュールは、代数モジュールに電気的に連通するデータ出力ポートと、基準クロックのソースの周波数変更パラメータを示す信号を受領するための補正入力ポートとを含む。補正モジュールは、基準クロックのソースの周波数変更パラメータに関連する基準クロックの周波数における変動を推定する。補正モジュールは、その後、この周波数の変動に応答して、補正出力ポートにおいて補正信号を形成する。別の実施形態において、周波数変更パラメータは、基準クロックのソースの温度である。別の実施形態において、周波数変更パラメータは、基準クロックのソースの年数である。
別の実施形態において、代数モジュールは、代数入力ポートで受領された信号に応答して、代数データ出力ポートにおいて、任意波形内の第一の立ち下がりエッジの第二の信号を形成するように作成される。別の実施形態において、出力モジュールは、ウィンドウ入力ポートで受領された第一の立ち上がりエッジの誤信号のキャッチアップ信号を形成するように作成される。別の実施形態において、任意波形発生器は、CMOS集積回路内で実施される。
別の実施形態において、任意波形発生器は、増幅器とループ速度補正回路とを含む。増幅器は、リングオシレータに結合された電源からの電源ノイズの少なくとも一つの成分を順方向で供給し、ループ速度補正回路は、増幅器と電気的に連通する。一実施形態において、ループ速度補正回路は、ループ平均化モジュールと電気的に連通し、増幅済みノイズに応答して、計算された平均ループ速度を調整する。別の実施形態において、ループ速度補正回路は、代数モジュールと電気的に連通し、増幅済みノイズに応答して、計算された平均ループ速度を調整する。
別の実施形態において、任意波形発生器は、複数の容量素子を含み、そのそれぞれは、複数の信号パスのそれぞれと電気的に連通する。各容量素子は、それぞれの所定の静電容量を有し、それぞれの信号パスを通じた遷移信号の伝搬において、それぞれの所定の時間遅延を形成し、第一の信号パスでの遷移のための伝搬時間が第二の信号パスでの遷移のための伝搬時間と実質的に等しくなるようにする。
別の実施形態において、複数の容量素子の各容量素子は、約50フェムトファラッドより小さな値を有する。更なる実施形態において、複数の信号パスのそれぞれは、第一の容量素子と第二の容量素子とに電気的に連通する。更なる実施形態において、第一及び第二の容量素子は、温度と、プロセスと、供給電圧とに対する異なる感度を有する。
別の態様において、本発明は、任意波形を形成する方法に関する。任意波形を形成する方法は、遅延素子のループにおける遷移の連続シーケンスを生成するステップと、ループ内の遅延素子の一つで発生する遷移をカウントするステップと、望ましい第一の立ち上がりエッジ時間及び第一の立ち下がりエッジ時間を決定するステップと、カウントされた遷移及び内部クロックに基づいて、望ましい第一の立ち上がりエッジに応答して、遷移の連続シーケンスにおける第一の遷移を選択するステップと、カウントされた遷移及び内部クロックに基づいて、望ましい第一の立ち下がりエッジ時間に応答して、遷移の連続シーケンスにおける第二の遷移を選択するステップと、第一及び第二の選択済み遷移を使用して出力信号を生成するステップと、出力信号に基づいて内部クロック信号を生成するステップとを含む。
一実施形態において、出力信号を生成する方法は、過去において発生した望ましい第一の立ち上がりエッジ時間に応答して出力信号を生成するために、遷移の連続シーケンスの遷移のそれぞれを使用するステップを含む。
別の実施形態において、方法は、入力基準クロックに関する遅延素子の一つにおける平均遷移率の計算を含む。
別の実施形態において、方法は、計算された平均遷移率と、遅延素子ループの複数の捕捉された状態とに応答した、遅延素子のループ内の瞬間位相の計算を含む。
別の実施形態において、方法は、選択された遷移に、複数の伝搬遅延の一つを追加するステップを含み、複数の伝搬遅延の二つの間の差異は、遅延素子のループにおける遅延素子を通じた遷移の平均伝搬時間よりも小さい。
別の実施形態において、方法は、外部同期信号を受領するステップと、受領された同期信号に応答して、第一及び第二の遷移の選択を修正するステップとを含む。更なる実施形態において、修正プロセスは、任意波形を形成するために出力信号における第一の立ち上がりエッジのシームレスな組み込みが存在するように、第一の遷移の選択を調整するステップを含む。
別の実施形態において、各遷移は、極性を有する。更なる実施形態において、遷移の連続シーケンスを生成するステップは、遅延素子により遷移の極性を反転するステップを含む。更なる実施形態において、遷移の連続シーケンスの生成は、遅延素子のそれぞれに同一の負荷を提供する。
別の実施形態において、方法は、基準クロックのソースの周波数変更パラメータを示す信号を受領するステップと、周波数の変更による基準クロックの任意の変動を決定するステップと、決定された変動に応答して、第一の遷移の選択を変更するステップとを含む。別の実施形態において、周波数変更パラメータは、基準クロックのソースの温度である。別の実施形態において、周波数変更パラメータは、基準クロックのソースの年数である。
別の実施形態において、方法は、信号経路を通じた遷移の伝搬時間が第二の信号経路を通じた遷移の伝搬時間と実質的に等しくなるような、それぞれの信号パスを通じた遷移の伝搬に対する所定の時間遅延の追加を含む。
その他の目的、特徴、及び利点は、以下の好適な実施形態の説明と添付図面とに基づき、当業者は想到し得よう。
図1Aは、出力信号136を形成するために使用される任意波形発生器100を高レベルで表している。任意波形発生器100は、自走ループオシレータ104と、スイッチモジュール112と、代数モジュール108と、出力モジュール114とを含む。ループ104は、スイッチモジュール112に対して遷移エッジを伝送するために、タップを介してスイッチモジュール112に電気的に接続される。代数モジュール108は、外部基準クロック信号128と代数データ入力信号132とを受領する。これらの信号128、132を使用して、代数モジュール108は、下で更に詳細に説明するように、出力信号136の次の遷移エッジを生成するためにタップからどの遷移エッジを選択するべきかを計算する。代数モジュール108は、出力信号136を生成するのに使用される計算済み遷移エッジを伝送するために、スイッチモジュール112及び出力モジュール114に電気的に接続される。スイッチングモジュール112は、代数モジュール108から遷移エッジ情報を受領し、計算済み遷移エッジに応答するループ104のタップを選択する。スイッチモジュールは、選択されたタップから出力モジュール114へ遷移エッジを伝送するために、出力モジュール114に電気的に接続される。出力モジュールは、遷移エッジを受領し、出力信号136として提供する。
自走ループオシレータ104は、外部リセット信号140のための入力と、一連の遅延素子モジュール120a、120b、120c、120o、120p(全般的に120)と、少なくとも一つの反転素子124とを含む。このリセット信号140は、二つの状態、即ち、リセット状態と実行状態とを有する。信号140がリセット状態である時、ループ104は、振動しない。信号140が実行状態に遷移する時、ループ104は、振動を開始する。遷移は、第一の遅延素子モジュール120aを通じて、次の遅延素子モジュール120bの入力へ伝搬する。信号が遅延素子モジュール120の入力に受領された直後に、信号は、応答するタップで出力される。
例えば、遷移が遅延素子モジュール120aの入力へ伝搬した後の何らかの時点で、遷移は、タップ0にも現れる。遷移が遅延素子モジュール120aの出力に伝搬し、その後、次の遅延素子モジュール120bの入力に伝搬すると、遷移は、タップ1にも現れる。このプロセスは、遷移が全てを通って最後の遅延素子モジュール120p及びタップ15まで進行するに従って繰り返される。図1Aの例示的な実施形態では、16のタップを表している。タップの数は、変化させることができる。タップの数は、設計上の考慮事項によって選択され、部分的には、望ましい周波数と、利用可能な実施ハードウェアと、代数モジュール計算の速度とに応じて変化する。
図1Bの例示的な実施形態は、図1Aの応答するタップに現れる遷移を表している。図1Bに図示したように、各タップでの各遷移間には約300ピコ秒の遅延が存在する。この遅延時間は、遷移が遅延素子モジュール120の入力から応答するタップの出力へ伝搬するのに要する時間を表している。この遅延時間は、設計を実施するのに使用されるハードウェアに依存する。図示した実施形態は、0.35ミクロンプロセスのASICにおいて実施された。0.25ミクロンプロセスのASICは、0.35ミクロンプロセスのASICの遅延時間の約半分となる遅延時間をもたらすことができる。小さな遅延時間によって、代数モジュール108は、出力信号136における遷移エッジの更に正確な配置を計算する。遅延時間は、望ましい周波数と、利用可能な実施ハードウェアと、代数モジュールの計算速度とに応じて、設計上の考慮事項によって選択される。
別の実施形態において、各遅延素子モジュール120は、反転素子を含む。反転素子は、一つおきのタップにおいて、ループでの単一のエッジの伝搬を反対方向に遷移させる。例えば、タップ1、タップ3、タップ5、タップ7、タップ9、タップ13、及びタップ15は、それぞれ、図1Bに示したロー状態からハイ状態ではなく、ハイ状態からロー状態へ遷移する。正の遷移の伝搬時間が負の遷移の伝搬時間とは異なるため、反転素子の使用により、ループでの更に一貫した伝搬時間が生じる。更に、反転素子により、電源の更に均一な負荷が生じる。
図2を参照すると、遷移は、一連の遅延素子モジュール120a乃至120pを通じて伝搬する。最後の遅延素子モジュール120pの出力に達すると、遷移は、一回のループ(ラップとも呼ばれる)を完了する。ループ108の例示的な実施形態は、最後の遅延素子モジュール120pの出力に接続された反転論理素子208を含む。この反転論理素子208は、先行する遅延素子モジュール120の出力に接続された、各遅延素子モジュール120に含まれる反転論理素子404(図3)と同様である。これにより、各タップでの遷移間の時間が同様となるように、最後の遅延素子モジュール120pの出力に他の遅延素子モジュール120a乃至120oと同様の負荷が加わる状態が確保される。ハードウェア実施の許容範囲も、遅延時間をどのくらい等しくできるかを決定できる。
「ループ」効果を形成するために、一連の遅延素子モジュール120a、120b、120c、120o、120pを通じた遷移の伝搬は、繰り返す必要がある。これを達成するために、一つの遷移が(例えば、遅延素子モジュール120oから)選択され、反転素子124を通じて、第一の遅延素子モジュール120aの入力に返送される。使用されるインバータ素子124の数は、選択された遅延素子モジュール120(例えば、遅延素子モジュール120o)が第一の遅延素子モジュール120aの反対方向で遷移を出力するかどうかに応じて決まる。
例えば、第一の遅延素子モジュール120aが、以前にローからハイに遷移しており、選択された遷移(例えば、遅延素子モジュール120o)も、ローからハイに遷移している場合、第一の遅延素子モジュール120aの入力に伝送される遷移をハイからローにするために、パスには一つのインバータ124が存在する必要がある。実施形態がインバータ素子を含んだ遅延素子モジュール120を有し、選択された遷移が第一の遅延素子モジュール120aに関して既に反転されている場合には、反対の遷移が第一の遅延素子120aに伝送された状態を確保するために、二つの反転素子124、124’(図示せず)が直列で使用される。インバータ124に接続される遅延素子モジュール120oは、選択された遅延素子モジュール120oから(複数の)インバータ要素124を介した第一の遅延素子モジュール120aへの遷移の伝搬時間と、選択された遅延素子モジュール120oから最後の遅延素子モジュール120pの出力への遷移の伝搬時間とがほぼ等しくなるように選択される。
説明のための例において、各遅延素子モジュール120は、反転要素を含む。二つの反転要素124、124’(図示せず)を通じた伝搬時間は、二つの遅延素子モジュール120の伝搬時間に等しい。タップ13に応答する遅延素子モジュール120n(図示せず)が選択される。遅延素子モジュール120nは、第一の遅延素子モジュール120aの反対の遷移であるため、正しい極性を確保するために二つの反転要素124、124’が必要となる。タイミングも正しいため、遷移がタップ13からタップ15に伝搬する時点では、遷移は、二つの反転要素124、124’を介して、第一の遅延素子モジュール120aの入力にも到着する。
図2に図示したように、ループ104は、更に、ラップカウンタモジュール200と状態捕捉モジュール204とを含む。代数モジュール108は、更に、ループ平均化モジュール212を含む。ラップカウンタモジュール200は、遷移エッジが遅延素子モジュール120aを通じて伝搬する際に遷移エッジを受領するために、第一の遅延素子モジュール120aに電気的に接続される。ラップカウンタモジュール200は、格納されたラップの数を伝送するために、状態捕捉モジュール204に電気的に接続される。状態捕捉モジュール204は、基準クロック信号128を受領する。状態捕捉モジュール204は、基準クロック信号128の遷移におけるループ104のタップとラップカウンタモジュール200との状態を受領及び格納するために、それぞれのタップと、ラップカウンタモジュール200とに電気的に接続される。状態捕捉モジュール204は、更に、格納済み状態情報220を伝送するために、代数モジュール108に電気的に接続される。ループ平均化モジュール212は、状態捕捉モジュール204から伝送された格納済み状態情報220を受領し、代数モジュール108の計算において使用される平均ループ速度を計算する。
ラップカウンタ200は、二つのカウンタを含む。正エッジカウンタ200a(図示せず)は、正のエッジ遷移(例えば、ロジックローからハイへの遷移)が第一の遅延素子モジュール120aを通じて伝搬するたびに、一つをカウントする。負エッジカウンタ200b(図示せず)は、負のエッジ遷移(例えば、ロジックハイからローへの遷移)が第一の遅延素子モジュール120aを通じて伝搬するたびに、一つをカウントする。したがって、負エッジカウンタ200bは、正エッジカウンタ200aとの180度の位相差を有する。二つのカウンタ200a、200bは、一方のカウンタが更新中であっても、任意波形発生器100の他のモジュールが安定した正確なカウンタへアクセスし、ラップ数を決定する状態を確保するために使用される。各カウンタのサイズ(即ち、ビット数)は変化させることが可能で、望ましい周波数と、利用可能な実施ハードウェアと、代数モジュールの計算の速度とに応じて、設計上の考慮事項によって選択される。各カウンタは、カウントを継続し、最大値に到達すると、ゼロに戻り、カウントを継続する。
状態捕捉モジュール204は、基準クロック信号128を自分のクロックとして使用するレジスタ204a(図示せず)を含む。基準クロック信号128の遷移時(通常は正のエッジ遷移)、レジスタ204aは、ループ104の状態を格納する(捕捉とも呼ばれる)。一実施形態において、レジスタ204aは、16ビットデータワードを格納する。この実施形態において、11ビットは、ラップカウンタ200の値として使用される。四ビットは、16のタップを表すのに使用される。これらの四ビットは、タップの状態のために使用され、捕捉の時点で遷移が伝搬し通過した最後のタップを表す。一ビットは、第一の遅延素子モジュール120aを通過する際の遷移の状態(即ち、正のエッジ又は負のエッジ)を表すのに使用される。このビットは、代数モジュール108によって選択された遷移エッジが正のエッジか、負のエッジかを決定し、スイッチモジュール112によって反転する必要があるかを決定するのに必要となる。
遅延素子モジュール120は、タップに出力されて捕捉される遷移エッジを形成する。遅延素子モジュール120の一つは、図3に更に詳細に図示されている。遅延素子モジュール120は、NAND素子404を含む。NAND素子404の二つの入力408、412は、それぞれ、前の遅延素子モジュール120出力からの信号と、ロジックハイ信号424とを受領する。ロジックハイ信号は、NAND素子404の出力が前の遅延素子モジュール120出力からの入力信号408の反転信号となる状態を確保する。
第一の遅延素子モジュール120a(図2)に関して、ロジックハイ信号は、リセット信号140に置き換えられ、入力信号408は、前の遅延素子120ではなく、反転出力素子124から受領される。リセット信号140がリセット状態であるロジックローである時、NAND素子404の出力は、入力信号408に関係なくロジックハイとなる。自走ループオシレータ104の残りの遅延素子モジュール120b乃至120p(図2)は、応答する状態に駆動され、ループ104は、リセット信号が実行状態であるロジックハイに遷移するまで、リセット状態を維持する。
NAND素子404の出力412は、次の遅延素子モジュール120へ送信される。出力412は、インバータ416への入力にもなる。選択された一つの遅延素子モジュール120(例えば、遅延素子モジュール120o、図2)のインバータ出力420からの遷移は、別のインバータ124(図2)に送信され、その後、第一の遅延素子モジュール120aに送信され、ループ104の振動が維持される。他の遅延素子モジュール120a、120b、120c、120pに対して、出力420は接続されない。一実施形態において、インバータ416は、負荷バランシングの目的から、接続の有無にかかわらず、それぞれの遅延素子モジュール120に含まれる。上記のように、遅延素子モジュール120の負荷を可能な限り同様及び均等に維持することで、各遅延素子モジュール120を通じた伝搬時間は、一貫した状態に維持される。
NAND素子404の出力412は、テストスイッチモジュール400に接続される。テストスイッチモジュール400は、テスト入力信号440を受領する。この信号440の状態は、テストスイッチモジュール400によって生成される信号を決定する。例えば、テスト入力信号440が非テスト状態(例えば、ロジックロー)である場合、NAND素子428は、NAND素子404の出力412の反対状態を有する信号を出力する。NAND素子432は、テストデータ入力信号444に関係なく、ロジックハイを出力する。そのため、NAND素子436は、NAND素子404の出力412の状態と同じである、NAND素子428の出力の反対状態を出力する。テスト入力信号440がテスト状態(例えば、ロジックハイ)である場合、NAND素子428は、NAND素子404の出力412に関係なく、ロジックハイを出力する。NAND素子432は、テストデータ入力信号444の反対状態を出力する。そのため、NAND素子436は、テストデータ入力信号444と同じ状態である、NAND素子432の出力の反対状態を出力する。
反転ドライバ448は、テストスイッチモジュール400の出力であるNAND素子436の出力を増幅する。反転ドライバ448の出力は、スイッチモジュール112(図2)へ送られるタップ信号456である。そのため、テスト入力信号440の状態に応じて、反転ドライバ448の出力は、NAND素子404の出力又はテストデータ入力信号444のいずれかの反対状態となる。
第一の遅延素子モジュールでは、NAND素子436の出力は、反転ドライバ452に対する入力でもある。反転ドライバ452の出力は、ラップカウンタモジュール200に接続される。ラップカウンタは、反転ドライバ452から出力された各遷移をカウントする。その他の遅延素子モジュール120b乃至120pに対して、反転ドライバ452の出力は接続されない。一実施形態において、反転ドライバ452は、負荷バランシングの目的から、接続の有無にかかわらず、それぞれの遅延素子モジュール120に含まれる。
図4は、任意波形発生器100’の代替実施形態を表している。任意波形発生器100’は、更に、微小遅延モジュール310と、補正モジュール320と、状態捕捉モジュール204’を含む自走ループオシレータ104’と、同期モジュール304を含む代数モジュール108’とを含む。微小遅延モジュール310は、遷移エッジを受領するために、スイッチモジュール112に電気的に接続される。微小遅延モジュール310は、遅延素子モジュール120を通じた伝搬遅延よりも小さな差動遅延を遷移エッジに追加する。微小遅延モジュール310は、更に遅延させた遷移エッジを出力モジュール114に伝送するために、出力モジュールに電気的に接続される。補正モジュール320は、補正入力信号324を受領する。補正モジュールは、調整信号を伝送するために、代数モジュール108’に電気的に接続される。
一実施形態において、補正モジュール320は、基準クロック入力信号128を形成するオシレータ(即ち、基準クロック128のソース)の温度を表す補正入力信号324を受領する。補正モジュール320は、温度と周波数との所定の関係(例えば、ルックアップテーブル)を使用して、補正入力信号324に基づいて、基準クロック128の周波数の変化を決定する。補正モジュール320は、代数モジュール108’に対して、変化情報と共に、調整信号を出力する。基準クロック128の周期デルタに関する変化は、望ましい出力周期132に代数的に追加され、オーブン又はウォームアップ遅延のない出力信号136として、超安定時間基準が生成される。
別の実施形態では、年数インジケータ信号(例えば、現行データ)を補正入力信号324として利用することで、水晶の経年変化も同様の形で補正してよい。補正モジュール320は、年数と周波数との所定の関係(例えば、ルックアップテーブル)を使用して、補正入力信号324に基づいて、基準クロック128の周波数の変化を決定する。
状態捕捉モジュール204’は、同期入力信号300を受領する。状態捕捉モジュール204’は、同期信号300の遷移におけるループ104’のタップとラップカウンタモジュール200との状態を受領及び格納するために、それぞれのタップと、ラップカウンタモジュール200とに電気的に接続される。状態捕捉モジュール204’は、同期信号をクロックとして使用する第二のレジスタ204b(図示せず)を含む。同期信号300の遷移時(通常は正のエッジ遷移)、第二のレジスタ204bは、ループ104’の状態を格納する。一実施形態において、第二のレジスタ204bは、16ビットデータワードを格納し、ビットは第一のレジスタ204aについて説明したように使用される。
状態捕捉モジュール204’は、更に、格納済み状態情報330を伝送するために、代数モジュール108’に電気的に接続される。代数モジュール108’の同期モジュール304は、状態捕捉モジュール204’から伝送された格納済み状態情報330を受領し、その後の遷移エッジの選択を計算し、出力信号136が同期信号300と同じ位相となるようにする。
図5は、代数モジュール108’を更に詳細に表している。代数モジュール108’は、ラップと、出力信号136の各遷移エッジを形成するためにループ104’から必要になるタップとを計算する。一実施形態では、四チャネル代数モジュール108’が、出力信号136の次の二つの立ち上がりエッジと、応答する立ち下がりエッジとを計算する。第一の立ち上がりエッジは、位相0信号と呼ばれ、応答する立ち下がりエッジは、位相1信号と呼ばれ、第二の立ち上がりエッジは、位相2信号と呼ばれ、応答する立ち下がりエッジは、位相3信号と呼ばれる。明確にするために、注記がない場合、図は、位相0信号を形成する回路を表している。その他の三種類の位相信号のための回路は、特に注記がない限り、同様である。四種類のエッジを並行して計算することで、代数モジュール108’は、より高速な周波数で動作し、したがって、出力信号136をより高い周波数にすることができる。別の実施形態では、求められる性能に応じて、四チャネルより多い又は少ないものが必要となる。
代数モジュール108’は、基準クロック128とRISEクロック540とを受領する。RISEクロック540は、出力モジュール114の位相結合モジュール1225(図12)から受領される。RISEクロック540は、出力信号136の半分の周波数となり、出力信号136の立ち上がりエッジに応答するエッジを有する。代数モジュール108’は、計算を実行し、レジスタ内にデータを格納するためのクロックとして、RISEクロック540を使用する。代数モジュール108’は、更に、代数データ入力信号132を受領する。代数データ入力信号132は、基準クロック入力信号128の周期の乗数を表すデータワード132aを含み、乗数の積は出力信号136の望ましい周期を定める。
一実施形態において、データワード132aは、27ビットワードであり、最初の6ビットは、乗数の整数を表し、他の21ビットは、乗数の端数を表す。27ビットを使用することで、ユーザは、1ppmより優れた精度で出力信号136の周波数を定義できる。例えば、基準クロック入力128の半分の周期(即ち、二倍の周波数)である出力信号136について、データワード132aは、000000.100000000000000000000となる。基準クロック入力128の四分の一の周期(即ち、四倍の周波数)である出力信号136について、データワード132aは、000000.010000000000000000000となる。別の例において、基準クロック入力128の2.25倍(即ち、0.444444....倍の周波数)である出力信号136では、データワード132aは、000010.010000000000000000000となる。
乗数データワード132aは、基準クロック信号128と相対的に、次の立ち上がりエッジが発生する時期を決定するために、周期積分モジュール500によって使用される。図6は、周期積分モジュール500を更に詳細に表している。乗数データワード132aは、二つの成分、即ち、n倍モジュール600と加算器632’とに入力される。乗数データワード132aは、基準クロック信号128に関して、第一の立ち上がりエッジである位相0及び第二の立ち上がりエッジである位相2として望ましい遷移を計算するために、これらの成分600、632’にそれぞれ使用される。n倍モジュール600は、一実施形態においてICに物理的に組み込まれた定数によって、乗数データワード132aを乗算する。定数は、下で説明するように、様々な条件で異なる。使用される定数は、設計の要件によって決定される。
説明のための例において、選択される定数は、2(通常の条件)、6(キャッチアップモード用)、及び11(同期モード用)である。通常の条件下では、位相0の計算で一つおきの立ち上がりエッジが計算されるため、n倍モジュール680は、乗数データワード132aを2で乗算する。下で説明するように「キャッチアップ」は、代数モジュール108’が何らかの形で計算を誤り、既に発生している必要なエッジを要求するモードである。結果として、キャッチアップモジュール1205(図12)は、代数モジュール108’が遅れを取り戻し、将来発生する必要なエッジを要求できるまで、RISEクロック540を更に高速で動作させる。したがって、通常の条件下で使用される2より大きな定数は、遅れを取り戻す時間を許容するために必要となる。同期モードでは、同期信号の後、代数モジュール108’が遷移エッジを配置する前に発生するレイテンシ期間が存在する。このレイテンシ期間は、同期モジュール304が「シームレス」な同期を発生させるために遷移エッジを配置できる時期を計算するのに必要な時間を表す。定数は、このレイテンシ期間に応答して、精密かつ正確に決定される必要がある。
通常の条件又はキャッチアップモードにおいて、n倍モジュール600の出力は、加算器628に送信される。この出力は、通常の条件又はキャッチアップモードのいずれかである適正モードのための定数によって乗算された乗数データワード132aである。適正モードは、キャッチアップモジュール1205から受領した入力信号604によって決定され、入力信号604は、任意波形発生器100’がキャッチアップモードであるかどうかを示す。同期モードでは、同期モード用定数に乗数データワード132aを乗算した結果である出力が、加算器624に送信される。
n倍モジュール600の出力は、加算器628において、レジスタ616に格納された現行値に加算される。レジスタ616に格納される現行値は、現在の位相0エッジを表す。通常の条件下において、加算器628の出力は、現在の位相0エッジに、基準クロック信号128に関して望ましい周期の二倍を追加したものとなる。これは、次の位相0エッジを表し、MUX608を通じて伝搬し、次のRISEクロック信号540で、レジスタ616にクロックされる。MUX608は、同期モジュール304から受領した切替信号596に基づいて、加算器624又は加算器628の選択を行う。通常の条件下では、加算器628の出力が選択される。このループ(例えば、レジスタ616のコンテンツをn倍モジュール600の出力に追加し、次のRISEクロック540で格納すること)は、次の奇数の立ち上がりエッジ遷移を決定するために繰り返される。
位相2信号の決定(及び応答する回路)は、僅かに異なる。レジスタ616は、現在の位相0エッジを含む。次の(例えば、第二の)立ち上がりエッジを計算するために、レジスタ616の出力(即ち、第一の立ち上がりエッジ)は、加算器632’に送信され、基準クロック128(即ち、乗数データワード132a)に関して望ましい期間が追加される。加算器632’の出力は、第二の(例えば、偶数の)立ち上がりエッジの値を表す。加算器632’の出力は、次の反転クロックパルスRISEb540’において、レジスタ620’にクロックされる。反転クロックパルスRISEb540’は、位相0と180度の位相差を有するエッジを生成する位相2チャネルにおける厳しいタイミング要件を満たすために使用される。乗数データワード132aは、(第一及び/又は第二及び/又は第三等の)各立ち上がりエッジ計算において変化させることができる。したがって、周期を各立ち上がりエッジにより変化させ、任意波形を生成することができる。
再び図5を参照すると、周期積分モジュール500の出力は、加算器572に送信される。上記のように、周期積分モジュール500の出力は、基準クロック128に関して、次の奇数遷移エッジが必要となる時期を表す。加算器572に対する別の入力は、現行クロック時間508である。クロック領域転送モジュール212から受領した現行クロック時間508は、次の奇数遷移エッジの配置前に、残存するクロックパルス128の数及び端数を決定するために、次の奇数遷移エッジから減算される。図6に示したように、次の偶数遷移エッジのための周期積分モジュール500の出力は、同一の加算器572’(図示せず)に送信される。次の奇数遷移エッジを計算するための図5に図示した回路は、次の偶数遷移エッジを計算するためのものとほぼ同一である。違いの一つは、全てのレジスタ512’、516’、520’、524’、528’、532’、536’がRISEbクロックパルス540’によってクロックされることである。
ユーザは、望ましいエッジの位相をシフトできる。これは、代数データ入力信号132の一部である第二のデータワード132bによって達成される。一実施形態において、第二のデータワード132bは、21ビット符号付きワードであり、最初の8ビットは、整数の基準クロック周期を表し、他の13ビットは、端数の基準クロック周期を表す。出力信号の位相は、128の基準クロック周期まで、順方向(正の場合等)又は逆方向(負の場合等)にシフトできる。同期モードである場合、位相シフトは、最後の同期入力300に関するものとなる。
第二のデータワード132bを使用して位相シフト入力が要求された場合、位相シフトは、レジスタ532に格納され、加算器572に追加される。加算器572の出力は、基準クロック128の周期単位での、現在のマスタクロック信号508を超えた次のエッジの位置である。加算器572の出力は、各RISEクロックパルス540においてレジスタ520にクロックされる。この値は基準クロック128に関するものであるため、乗算器576によってループ104’のラップ及びタップの単位に変換する必要がある。乗算器576は、現在の平均ループ速度(即ち、基準クロックパルス128当たりのタップ)であるレジスタ512の出力によってレジスタ520の出力(即ち、基準クロック128に関するΔエッジの配置)を乗算する。結果は、ループ104’のラップ及びタップに関する、現在のマスタクロック信号508からの次のエッジの時間となる。この結果(即ち、乗算器576の出力)は、RISEクロックパルス540において、レジスタ524にクロックされる。
一実施形態において、乗算器576は、17ビット掛ける17ビットのフラッシュ乗算器である。加算器572の出力は、一実施形態において21ビットであり、バレルシフタ(図示せず)が、加算器572とレジスタ520との間において直列で使用される。バレルシフタは、バイナリ表現を17ビットに低減するために、加算器572の出力からの四つまでの先行する(例えば、MSBの)ゼロをシフトし、シフトされたゼロの実際の数は相対的なループ速度に応じて決まる。
ラップ及びタップの数によって望ましいエッジ時間を表すレジスタ524の出力は、加算器580aに送信され、ループ104’の現在の状態に追加され、次のエッジ配置の絶対位置が決定される。一実施形態において、合計は、レジスタ536に格納された値を追加することで、更に位相シフトできる。レジスタ536に格納される値は、代数データ入力信号132の一部である第三のデータワード132cとして受領される。位相シフトは基準クロック信号128ではなくタップに関するものであるため、システム内の伝搬遅延は、第三のデータワード132c入力を使用して、正確に相殺することができる。
加算器580の出力は、定数550の追加のために、加算器584に送信される。定数550は、実施の選択によって決定される。例えば、チップのレイアウトによって決定可能であり、エッジのフリップフロップ1215、1220での最大のセットアップ/ホールドマージンが可能となるように選択される。定数550は、選択されたタップ遷移をウィンドウの中心に置くために、既知の伝搬遅延(例えば、タップ単位)に基づいたものとなる。定数550は、ラップの選択のみに影響し、タップの選択には影響しない。加算器584の出力は、RISEクロックパルス540において、レジスタ528にクロックされる。レジスタ528に格納される値560は、次のエッジ遷移を選択するために使用されるラップ及びタップの値560である。レジスタの値560は、スイッチモジュール112と、微小遅延モジュール310と、出力モジュール114とに送信され、出力信号136における次の偶数立ち上がりエッジ(位相0信号)遷移のための適正エッジ遷移が選択される。
位相2信号回路は、同様に、次の奇数立ち上がりエッジ遷移の値を格納するレジスタ528’を有する。一実施形態において、応答する偶数及び奇数の立ち下がりエッジ(位相1信号及び位相3信号)を形成する回路は、レジスタ528及び528’のコンテンツを加算する加算器(図示せず)で構成される。代数モジュール108は、二つの立ち上がりエッジ間の半分の時間に応答する値を取得するために、加算器の出力を二つに分割する。別個の加算器が、偶数及び奇数立ち下がりエッジを形成する。別の実施形態では、図5に示したものと同様の回路で第四のデータワード132d(図示せず)を使用して、第四のデータワード132dに基づいて、偶数及び奇数立ち上がりエッジ間のどこかに立ち下がりエッジを配置できる。
遷移エッジの配置の計算において、代数モジュール108’は、ループ平均化モジュール212とクロック領域転送モジュール504とを使用する。図7は、ループ平均化モジュール212を更に詳細に表している。ループ平均化モジュール212は、基準クロック信号128を受領し、情報をレジスタ700、712、734、750にクロックする。ループ平均化モジュール212は、更に、状態捕捉モジュール204’から格納済み状態情報220を受領する。上記のように、格納済み状態情報220は、ラップカウンタ200の状態と、基準クロック128遷移での捕捉時に遷移が伝搬し通過した最後のタップとを含む。ループ平均化モジュールは、ループの平均速度を基準クロック128当たりのタップの単位で計算する。ループ平均化モジュール212は、更に、最新の基準クロックパルス128におけるループの平均化された位置、或いは言い換えれば、最新の基準クロックパルス128におけるループの瞬間位相を計算する。
ループ平均化モジュール212の平均ループ速度の部分は、減算素子704の正の入力において、現在の格納済み状態情報を受領する。レジスタ700は、以前の基準クロックパルス128での格納済み状態情報220の値を格納する。減算素子704は、負の入力において、レジスタ700に格納された値を受領する。減算素子704の出力は、差異を表し、一つの基準クロック128周期中に遷移が伝搬し通過したタップの数となる。この値は、レジスタ712に格納される。一実施形態では、演算素子716、720を使用し、64のループ速度値(例えば、減衰時定数=64)により、レジスタ712に格納されたループ速度値を平均化して、平均ループ速度を取得する。64のクロックパルスによる平均化は、シンセサイザの全体的な精度に一致するループ速度の精度を提供するための設計上の選択である。別の実施形態において、平均化に使用される基準クロックパルス128の数は異なる。
平均速度は、レジスタ734に格納され、クロック領域転送モジュール504と同期モジュール304とに提供される。一実施形態では、MUX730を使用して、現行ループ速度が基準クロックパルス128当たり8タップより大きく平均ループ速度から変化した場合、最新のループ速度をレジスタ734に切り替える。これにより、平均をリセットするためのループ速度の急変が可能となり、スタートアップ中に発生する可能性がある大きな過渡状態が最小化される。8タップより大きな変動は、設計上の選択であり、設計の目的を満たすために変更できる。
図示していない別の実施形態において、平均ループ速度564は、リングオシレータ104に電力を供給する電源における変動を補正するために更に調整される。この変動は、他の回路を通じて除去されない周波数でのノイズによるものである。増幅回路(図示せず)は、変動の電圧レベルを、補正回路で使用可能なレベルまで拡大する。補正回路(図示せず)は、電源電圧の増幅済み変動(ノイズ等)を測定し、この変動をデジタル化する(例えば、A/Dコンバータを通じてノイズ信号を送信する)。補正回路は、計算された平均ループ速度564を調整するために、デジタル変動信号をループ平均化モジュール212に送信する。変動は線形従属(即ち、電圧の増加がループ速度を増加させる)であるため、計算された平均ループ速度564は、相応に調整される。デジタル変動信号は、この技術で知られた任意の手法を使用して、必要に応じて拡大縮小できる。デジタル変動信号において多くのビットを使用することで、補正の精度は増加する。別の実施形態において、補正回路は、電源の変動を補正するために、デジタル変動信号を代数モジュール108に送信する。
ループ平均化モジュール212の平均化位置(即ち、瞬間位相)部分は、タップの断片において計算されたループ位置を追跡し、経時的に位置を平均化する。計算済み平均位置は、精度を高めるために使用される。ループ平均化モジュール212の平均ループ位置の部分は、減算素子738の正の入力において、現在の格納済み状態情報220を受領する。減算素子738は、負の入力において、計算済み平均ループ位置を受領し、計算済み平均ループ位置はレジスタ7に格納されたコンテンツの出力であり、加算器758においてレジスタ734に格納された平均ループ速度に追加される、以前の計算済み平均ループ位置である。差異、即ち、減算素子738の出力は、実際のループ位置と計算済み平均ループ位置との間の差異である。一実施形態では、算術素子742及び746を使用して、32の値で差異を平均化し、過去の32の基準クロックパルス128での差異の平均を取得する。32以外の値を使用することが可能である。計算済み平均ループ位置は、レジスタ750に格納される。
一実施形態では、最新の計算済み平均ループ位置が実際のループ位置から8タップより大きく異なる場合、MUX754を更に使用して、以前のループ位置をレジスタ700に格納されたものに切り替える。これにより、平均をリセットするためのループ位相の急変が可能となり、スタートアップ中に発生する可能性がある大きな過渡状態が最小化される。8タップより大きな変動は、設計上の選択であり、設計の目的を満たすために変更できる。MUX754の状態に応じて、レジスタ750の出力又はレジスタ700の出力が、加算器758において、平均ループ速度564に追加され、計算済み平均ループ位置568が形成される。計算済み平均ループ位置568は、クロック領域転送モジュール504と同期モジュール304とに送信される。平均ループ速度信号564と、clean_cnt_at_clk信号568とは、それぞれの時定数により正しいとされるものよりも精度の高い余分なビットを運ぶ。これは、体系的な丸め誤差からのDCバイアスが蓄積するのを回避するために行われる。
クロック領域転送モジュール504は、図8に更に詳細に表示されている。クロック領域転送モジュール504は、基準クロック128領域においてクロックされるループ平均化モジュール212から平均ループ速度564と計算済み平均ループ位置568とを受領する。クロック領域転送モジュール504は、基準クロック128領域の信号を、RISEクロック540領域の信号に転送する。クロック領域転送モジュール504は、RISEクロック540領域においてクロックする代数モジュール108’のレジスタ512、516(図5)に、安定した値を提供する。クロック領域転送モジュール504は、更に、基準クロック128領域のカウンタ640として開始され、RISEクロック540領域において動作する加算器に送信される、現行クロック時間508を提供する。図示した実施形態において、カウンタ640は、8ビットカウンタであり、最大値に到達するとゼロに戻る。図示した回路は、こうしたRISEb(例えば、位相2回路)に対する信号を同時に訂正する。
基準クロック信号128から、half_clk信号643が形成される。基準クロック信号128の周波数を二つに分割することで、half_clk信号643が形成される。レジスタ644、648、676、680、690、692の第一の層は、基準クロック信号128によりクロックされる。レジスタ644、648、676、680、690、692の第一の層は、信号508、564、568が基準クロック128領域において正しく捕捉される状態を確保する。各信号508、564、568のための回路(即ち、伝搬パス)は、第一の層のレジスタ644及び648、676及び680、690及び692のペアをそれぞれ含む。各ペア644、676、690の一方のレジスタは、half_clk信号643が正の状態にある時に有効となる。ペア644、676、690の他方のレジスタは、half_clk信号643が負の状態にある時に有効となる。位相0遷移エッジの計算のためには、レジスタの第二の層のレジスタ652、682、694が使用される。第一の層のレジスタ644及び648、676及び680、690及び692のペアを使用することで、RISEクロック540領域のレジスタ652、682、694に対してクロックする時に、ペアの少なくとも一方のレジスタが安定した状態が確保される。安定性は、RISEクロック540領域のレジスタ652、682、694のクロック中に基準クロック信号128が遷移する場合にも保証される。各MUX660、686、698は、クロック領域転送モジュール504の出力として、第一の層のレジスタ644及び648、676及び680、690及び692のペアのどれが使用されるかを決定する。使用されるものは、安定状態となる。MUXのチャネルの選択は、レジスタ641に格納されるhalf_clk643の状態によって行われる。このレジスタは、RISEクロック540がRISEクロック540領域のレジスタ652、682、694にデータをクロックした後、何らかの遅延のある時点で、half_clk信号643の状態を格納する。捕捉される際にhalf_clkが遷移している時は常に、レジスタ641及び642’の出力は、予測不可能となる。しかしながら、第一の層の全てのレジスタは、この時点で安定状態となるため、master_clk信号508とclean_cnt_at_clk信号568とのために同じものが選択される限り、選択されるものは問題とならない。図示した遅延は、この特性を保証するのに必要となる。
位相2(偶数遷移エッジ等)の計算には、同様の回路が使用される(即ち、レジスタ656’、684’、696’、642’及びMUX664’、688’、699’)。違いの一つは、全てのレジスタ656’、684’、696’、642’が、RISEb信号540’を使用してクロックされることである。図示した実施形態において、ループ平均化モジュール212から受領される平均ループ速度信号564は、21ビットである。バレルシフタ668及び自動範囲素子672は、四つまでの先行ビットをシフトアウトし、信号を17ビットに変換するのに使用される。
出力信号136の位相を決定するために同期信号が使用される場合(即ち、同期モード)、同期モジュール304は、次のエッジ遷移の時間を計算することに関与する。図9Aは、同期モジュール304を更に詳細に表している。同期モジュール304は、同期入力300と、平均ループ速度564と、計算済み平均位置568とをループ平均化モジュール212から受領する。同期モジュール304は、格納済み状態情報330を状態捕捉モジュール204から受領する。格納済み状態情報330は、ラップカウンタ200の状態と、同期入力300の遷移での捕捉時の最後の遷移済みタップとを含む。同期モジュール304は、シームレスな遷移エッジを配置可能な時間を表すstart_integrate信号592を出力する。新たな位相の出力と古いものとを最低限の「不具合」で置き換えられる時に、同期モジュール304が正確なハーフサイクルを決定するため、エッジ遷移は、シームレスになる。同期モジュール304は、出力信号136を同期入力300と同じ位相のものに切り替えるポイントとして、この遷移エッジを選択する。同期モジュール304は、切替信号596を生成し、周期積分モジュール500に対して、必要なエッジ遷移が同期モジュール304によって計算されており、周期積分モジュール500において置き換えるべきであることを示す。
シームレスなエッジ遷移の配置を計算するために、同期モジュール304は、減算素子820を使用して、以前の参照クロック128パルスの時点での計算済み平均位置568を格納済み状態情報330から減算する。減算素子820の出力は、基準クロック128と同期入力信号300との間の位相シフトを、タップの単位で表す。三つのレジスタ808、812、816は、同期デバウンスモジュール800が同期信号300をデバウンスするのに要する時間である二つの追加基準クロック128パルスに渡って、以前の基準クロック128パルスの時点でのループ104’の計算済み平均位置568を保持するために使用される。
同期デバウンサモジュール800は、図9Bに更に詳細に図示されている。XOR素子904は、ユーザが同期入力信号300の極性を設定することを可能にするオプション素子である。sync_pol入力は、同期入力信号300のアクティブな遷移に対して設定される。図示した実施形態において、デバウンス回路は、アクティブな立ち上がり同期入力信号300のために設定される。XOR素子904は、使用される同期入力信号300の極性に関係なく、XOR素子904の出力がアクティブな立ち上がり信号となる状態を確保する。AND素子908により、ユーザは、同期モードを有効化及び無効化できる。sync_enableが無効である場合(例えば、ロー状態)、同期パルスは、同期デバウンサモジュール800を通じて伝搬しない。
同期デバウンサモジュール800は、sync_buff信号950を出力する。sync_buff信号950は、周期積分モジュール500の出力を捕捉するレジスタ832(図9A)をクロックするのに使用され、同期パルス300の時点での次の望ましい遷移エッジ、位相0及び位相2を表す。sync_buffは、状態捕捉モジュール204’に対する同期入力を提供する。論理素子936は、同期入力300が遷移した時点からフリップフロップ912への第一のD入力が状態を変化させるまでの間のみ、sync_buff信号を継続させる。遅延944は、モジュール204’に対する同期入力がDフリップフロップ912でのエッジに先行する状態を確保するために追加される。sync_buff信号950のための時間枠は狭く、SYNC信号がエラーなしでref_clk128のエッジに自然に近づくことを可能にする。レジスタ832が情報を格納し、第一のDフリップフロップが状態を変化させると、次のDフリップフロップ916が、後続の基準クロック128パルスにおいて状態を変化させる。AND素子924は、同期パルス(即ち、AND素子908の出力)がハイであり、第一のDフリップフロップ912がハイ状態に変更されており、第二及び第三のDフリップフロップ916、920がロー状態である場合、ハイ状態にのみ切り替わる。後続の基準クロック128パルスにおいてAND素子924の出力がハイである場合、第二のDフリップフロップ915の出力は、ハイ状態へ変化する。これにより、安定した(即ち、デバウンスした)同期信号900(「SYNCsync」)が形成される。二つの基準クロックパルスよりも継続時間が短いSYNC信号は見られないことになる。SYNCsync信号900は、基準クロック128の一周期に渡って継続する。NAND素子928、932と第三のDフリップフロップ920は、SYNCsync信号900に続く次のクロックパルスにおいて、第二のDフリップフロップ916が再度状態を変化させることを確保する。第二のDフリップフロップ916が再度状態を変化させる時、SYNCsync信号900は終了する。
図9Aを参照すると、SYNCsync信号900は、レジスタ824を有効化するために使用される。レジスタ824は、SYNCsync信号900に続く次の基準クロック128パルスで減算素子820の出力を格納する。SYNCsync信号900は、更に、SYNCsync信号900に続く次の基準クロック128パルスで平均ループ速度564を格納するレジスタ850を有効化するために使用される。リップル除算器804は、タップの単位であるレジスタ824内の格納済み位相シフト情報を、基準クロック128当たりのタップの単位である、レジスタ850内に格納された平均ループ速度によって除算する。結果は、基準クロック128と同期入力300との間の差異を表し、単位は基準クロック128となる。
結果は、アナログ加算器840の正の入力に送信される。レジスタ828に格納される現在のクロック時間508も、アナログ加算器840の正の入力に送信される。定数3が、アナログ加算器840の負の入力に送信される。この定数は、同期デバウンサモジュール800のための三つの基準クロック128のレイテンシを表し、したがって減算される。現在(即ち、切替時)の位相0エッジ配置は、アナログ加算器840の正の入力に送信される。レジスタ832に捕捉された位相0エッジ配置又は位相2エッジ配置のいずれかは、アナログ加算器840の負の入力に送信される。MUX836は、遅延854に等しい何らかの時間周期でのFALLb信号の状態に基づいて、使用されるべき信号を選択する。これは、sync_buff信号950に先行するクロック領域間でのデータの非同期転送である。選択された信号は、同期パルス300の時点での計算済み遷移エッジを表す。これは、同期モジュール304のレイテンシを補正するために、現在(即ち、切替時)の位相0エッジ遷移から減算される。アナログ加算器840の出力592は、周期積分モジュール500(図6)のレジスタ612(図6)に送信される。出力592は、基準クロック128に関して同期入力300と同じ位相である出力信号136のための第一のシームレスなエッジ遷移を表す。
Dフリップフロップ850、854、858は、切替が発生する前にリップル除算器804が解を出す状態を確保する遅延として使用される。Dフリップフロップ862、866は、切替信号を、周期積分モジュール800内のレジスタが使用するクロックであるRISEクロック540に合わせるために使用される。Dフリップフロップ866とAND素子858とは、切替信号がRISEクロック540の一周期のみで継続する状態を確保する。切替信号596は、MUX608(図6)によって使用される。アクティブである時、MUX608は、同期モジュール304からの計算済みエッジ遷移を含む加算器624の出力を選択する。次のRISEクロック540において、計算済みエッジ遷移はレジスタ616にクロックされ(図6)、切替信号は、非アクティブになる。MUX608は、次に、上で述べたように望ましい周期長を以前の遷移エッジに加算し続ける加算器628の出力からの選択を行う。
図5を参照して上で説明したように、基準クロック128に関して同期入力300と同じ位相である出力信号136のための第一のシームレスなエッジ遷移は、周期積分モジュール500からの出力である。この出力は、加算器572と乗算器576とに伝搬し、ここで、基準クロック128の周期からタップ数に変換される。エッジ遷移の計算は、その後、加算器580と加算器584とを通じて進行し、ここでRISEクロック540パルスにおいて、レジスタ528に格納される。タップ及びラップによってエッジ遷移の配置を表すレジスタ528の出力560は、スイッチモジュール112に送信される。スイッチモジュール112は、この情報を使用して、ループ104’の望ましいタップを選択し、次のエッジ遷移を形成する。
図10A及び10Bは、スイッチモジュール112を更に詳細に表している。図10Aは、位相0信号のためのエッジを選択するMUX1000、1003、1010の構成を表している。一実施形態では、16対1タップ選択モジュール1003を使用して、ループ104’の16のタップの一つから遷移エッジを選択する。ラップ選択モジュール1003は、五つの平衡MUXモジュール1000で形成される。
図10Bは、平衡MUXモジュール1000を更に詳細に表している。平衡MUXモジュール1000は、4対1MUXである。平衡MUXモジュール1000は、NAND素子1015、1020、1025、1030、1035と、容量遅延素子1040、1045、1050、1055とを含む。一実施形態において、容量遅延素子1040、1045、1050、1055は、この技術で知られているような、ICにおいてキャパシタを形成する目的で設計されたICライブラリセルを使用して実施される。容量遅延素子1040、1045、1050、1055のキャパシタンスは、信号が応答するパスに沿って伝搬する際に、信号の伝送の遅延を発生させる。平衡MUXモジュール1000は、一実施形態において四つの入力のどれが選択されるかを定義する2ビット信号であるエッジ選択入力を受領する。NAND素子1015、1020、1025、1030、1035は、要求されたエッジを選択し、出力に伝搬させるのに使用される。
NAND素子1015、1020、1025、1030、1035は、図10Aに示したそれぞれの平衡MUXモジュール1000a、1000b、1000c、1000d、1000e、1000f、1000g、1000h、1000i、1000jについて同じとなる。しかしながら、容量遅延素子1040、1045、1050、1055は、図10Aに示したそれぞれの平衡MUXモジュール1000a、1000b、1000c、1000d、1000e、1000f、1000g、1000h、1000i、1000jについて異なる。これが必要となるのは、容量遅延素子1040、1045、1050、1055の値が二つの要素に基づいており、その値がそれぞれの平衡MUXモジュール1000a、1000b、1000c、1000d、1000e、1000f、1000g、1000h、1000i、1000jについて異なるためである。
第一の要素は、伝搬している遷移が正に向かう遷移(即ち、ロー状態からハイ状態)か、或いは負に進む遷移(即ち、ハイ状態からロー状態)かである。二種類の遷移は、NAND素子1015、1020、1025、1030、1035とパス内のその他の素子とを、異なる速度で伝搬する。容量遅延素子1040、1045、1050、1055は、こうした二種類の速度を補正する。第二の要素は、タップからスイッチモジュール112及びスイッチモジュール112を通じてエッジが伝搬するパスが異なる長さを有することである。容量遅延素子1040、1045、1050、1055の値は、こうした異なるパス長を補正する。容量遅延素子1040、1045、1050、1055の値は、信号の極性或いは信号が伝搬する必要のあるパス長に関係なく、遷移がタップからスイッチモジュール112の出力に伝搬する時間が等しくなる状態を確保する。容量遅延素子1040、1045、1050、1055の値は、実施ハードウェアのレイアウトに応じて変化する。こうしたキャパシタは、更に、遅延素子104のループの任意の不規則性を補正する。
別の実施形態において、平衡MUXモジュール1000の第一の各容量遅延素子1040、1045、1050、1055は、第二の応答する容量遅延素子1040a、1045a、1050a、1055a(図示せず)を有する。第二の応答する各容量遅延素子1040a、1045a、1050a、1055aは、関連する容量遅延素子と並列になる(即ち、1040は1040aと並列)。第一の容量遅延素子1040、1045、1050、1055のセットは、温度、プロセス、及び供給電圧の変動に同様に反応する。第二の応答する容量遅延素子1040a、1045a、1050a、1055aのセットは、温度、プロセス、及び供給電圧の変動に同様に反応しない。これにより、温度、プロセス、及び供給電圧の変動に関して線形ではない遷移遅延における変動を、第二の応答する容量遅延素子1040a、1045a、1050a、1055aにより補正できる。第二のセットの応答する容量遅延素子1040a、1045a、1050a、1055aは、第一の容量遅延素子1040、1045、1050、1055のセットを実施するのに使用されたものとは異なるICプロセスにより実施される。この技術で知られるいくつかの方法のいずれかを利用できる。
図10Aを再び参照すると、第一のタップ選択モジュール1003aは、ループ104’のタップから立ち上がり(即ち、正に向かう)遷移を受領するために使用され、キャリブレーション(即ち、容量遅延素子の値の選択)が行われる。第二のタップ選択モジュール1003bは、ループ104’のタップから立ち下がり(即ち、負に向かう)遷移を受領するために使用され、キャリブレーション(即ち容量遅延素子1040、1045、1050、1055の値の選択)が行われる。選択されたタップが立ち下がりエッジであり、したがって、第二のタップ選択モジュール1003bによって選択された場合は、インバータ1005により反転される。MUX1010は、代数モジュール108’から受領した入力に基づいて、どちらのタップ選択モジュール1003a、1003bが使用されるかを選択する。位相1、位相2、及び位相3信号は、それぞれ、応答するエッジを選択するために同様のMUXの構成を有する。MUX1010からの立ち上がりエッジは、常にアクティブなエッジとなる。
図11は、微小遅延モジュールを更に詳細に表している。微小遅延モジュール310の目的は、ループ104’のタップ間の時間よりも小さな(即ち、図1Bに示した300ピコ秒より小さな)時間の差動量によって、遷移エッジを遅延させることである。微小遅延モジュール310は、出力信号136でのエッジ遷移の配置の精度を高める。微小遅延モジュール310は、NAND素子1105、1110、1115、1120、1125、1130、1135、1140と、容量遅延素子1150、1155、1160、1165、1170、1175とを含む。微小遅延モジュール310は、一実施形態において八つの可能なパスのどれが使用されるかを定義する3ビット信号であるエッジ選択入力を受領する。NAND素子1105、1110、1115、1120、1125、1130、1135、1140は、請求されたエッジを選択及び伝搬させるために使用され、八つの可能なパスの一つを通じてエッジをルート指定する。任意波形発生器100’は、代数モジュール108’が計算したそれぞれのチャネル(例えば、位相0、位相1、位相2、及び位相3)のための微小遅延モジュールを含む。対象となるエッジは、常に正に向かう状態で、微小遅延モジュール105に入り、退出する。
上記のように、容量遅延素子1150、1155、1160、1165、1170、1175は、各微小遅延モジュール310について異なるものにすることができる。しかしながら、好適な実施形態において、微小遅延素子の内部レイアウトは、全て同一であり、結果として同一の容量値が生じる。更に上記のように、各微小遅延モジュールは、応答する第二の容量遅延素子1150a、1155a、1160a、1165a、1170a、1175aを含むことができる。一実施形態において、微小遅延モジュール108を通じた最も高速のパスでも、各タップ間の遅延時間より遙かに大きくなる。しかしながら、八つの可能な経路の任意の二つの間での遅延時間の差異は、各タップ間の遅延時間より小さい。微小遅延モジュールにより追加される遅延の大きな固定成分は、代数モジュール108’によって使用される定数550(図5)の一部と、(随意的に)代数モジュール108’の位相補正入力132cの一部によって補正される。微小遅延モジュール310の出力は、出力モジュール114に送信される。
出力モジュール114は、図12において、更に詳細に表される。出力モジュールは、エッジフリップフロップ1215、1220と、ウィンドウモジュール1210とを含む。これら三つのコンポーネント1215、1220、1210は、各チャネル(例えば、位相0、位相1、位相2、及び位相3)に含まれる。出力モジュール114は、更に、位相又はチャネル結合モジュール1225を含む。各チャネル(例えば、位相0、位相1、位相2、及び位相3)のための一対のエッジフリップフロップ1215、1220の出力は、位相又はチャネル結合モジュール1225に送信される。位相又はチャネル結合モジュール1225は、全てのチャネル信号(例えば、位相0、位相1、位相2、及び位相3)を結合し、単一の出力136にする。多数の出力が必要である場合、チャネルの様々な組み合わせを、各出力のためのそれぞれのチャネル結合モジュール1225によって結合する。出力モジュール114は、更に、キャッチアップモジュールを含む。一実施形態において、キャッチアップモジュールは、立ち上がりエッジチャネル(例えば、位相0、位相2)のみを含む。
キャッチアップモジュール1205、ウィンドウモジュール1210、及び一対のエッジフリップフロップ1215、1220は、図13において、更に詳細に表される。微小遅延モジュール310から受領された位相0エッジは、エッジJKフリップフロップ1215、1220の両方のためのクロックとして使用される。一対のエッジフリップフロップ1215、1220のJK入力は、ウィンドウモジュールから受領される。一実施形態において、ウィンドウモジュール1210は、二つのコンパレータ1336、1360を有する。第一のコンパレータ1336は、代数モジュール108’によって計算されたラップを同じ位相のラップカウンタ200aと比較する。第二のコンパレータ1360は、代数モジュール108’によって計算されたラップを異なる位相のラップカウンタ200bと比較する。代数モジュール108’によって計算されたラップがラップカウンタ200と等しい時には、ウィンドウが開放される。一対のエッジフリップフロップは、AND素子1376又は1382によって微小遅延モジュール310から入力されたエッジ遷移をクロックするように設定される。ウィンドウ開放フリップフロップ1340又はフリップフロップ1372のいずれかが使用され、代数において計算された単一のビットに基づいてMUX1344によって選択される。XOR素子1348、フリップフロップ1352、及びNAND素子1356は、望ましいエッジ遷移が一対のエッジフリップフロップ1215、1220をクロックするのに成功した後、ウィンドウをリセット及び閉鎖するために使用される。フリップフロップ1368とAND素子1364とは、代数信号ph0_win_openによって命令された時に、代用ウィンドウを形成するために使用される。代用ウィンドウは、例えばフリーループ自体よりも高い周波数等、高い周波数での波形シンセサイザの動作を可能にするために使用される。こうした状況において、望ましいループは、既に進行中であり、コンパレータ1350、1336を含むメカニズムを使用するには遅すぎる。代わりに、代用ウィンドウが、遅延を除いて即座に「開放」され、関連データを有効化できる。
第一のコンパレータ1336は、更に、代数モジュール108’によって計算されるラップがラップカウンタ200aの現在の値にレイテンシのマージンを追加したものより小さいかどうかを決定する。小さい場合には、代数モジュール108’は誤った計算を伝送したことになり、第一のコンパレータは、キャッチアップモジュール1205に信号を送る。キャッチアップモジュール1205は、代数モジュール108が過去に発生したラップを要求した時(即ち、要求されたラップが現在のラップより小さい時)、アクティブとなる。コンパレータ1336の出力は、過去のラップが要求されたことを示すものであり、キャッチアップモジュール1205のフリップフロップ1308に送信される。ループ104’の次の周期において、エラー信号は、フリップフロップ1308にクロックされる。フリップフロップ1308の出力は、ph0_catchと記載されたもので、OR素子1312に送信される。位相2信号は、同様のキャッチアップモジュール1205’(図示せず)を有する。違いの一つは、フリップフロップ素子1309とOR素子1310とが位相2キャッチアップモジュール1205’と共に含まれないことである。位相1及び位相3は、キャッチアップモジュール1205を有していない。位相2キャッチアップモジュール1205’のフリップフロップ1308’(図示せず)の出力も、OR素子1312に入力され、フリップフロップ1309に入力される。フリップフロップ1308’の変化に続くRISEbクロック540’パルスにおいて、フリップフロップ1309は、アクティブなキャッチアップ信号をOR素子1310に出力する。OR素子1310は、アクティブなキャッチアップ信号604を、周期積分モジュール500のn倍モジュール600に出力する。上記のように、n倍モジュール600は、この信号を使用して、任意波形発生器がキャッチアップモードであるかを決定し、適正な乗数を適用する。キャッチアップモードである時、NAND素子1316、1320、1324、1328と、AND素子1332とは、一対のエッジフリップフロップ1215、1220のセット及びリセット入力を使用して、フリーループ104’の四分の一の速度であるRISEクロック540パルスを形成するために使用される。上記のように、キャッチアップモードは、代数モジュール108’のために代用の高速クロックを形成し、要求されたラップが将来において再度要求されるまで、プログラムされた周期を増加させる。この時点で、キャッチアップモジュール1205は、キャッチアップモードを終了させる(例えば、キャッチアップ信号604を非アクティブ状態に変更する)。復帰する時、回路は適正な位相で復帰する。
図14を参照すると、出力モジュール114の位相又はチャネル結合モジュール1225は、三つの平衡XORモジュール1500a、1500b、1500cと、四つの反転ドライバ素子1405、1410、1415、1420とを含む。第一の二つの平衡XORモジュール1500a、1500bは、出力モジュール114から代数モジュール108’に送信され、上記のように、代数モジュール108’によって、計算用のクロックとして使用される。出力は、更に、出力信号136を形成するために、第三の平衡XORモジュール1500cに送信される。第一の平衡XORモジュール1500aは、立ち上がりエッジチャネル信号(即ち、位相0、位相2)を受領する。次の平衡XORモジュール1500bは、立ち下がりエッジチャネル信号(即ち、位相1、位相3)を受領する。位相結合モジュール1225は、それぞれの信号(即ち、位相0、位相1、位相2、位相3)を結合するために使用される。位相結合モジュール1225は、信号(即ち、位相0、位相1、位相2、位相3)又は信号の極性に関係なく、一対のフリップフロップ1215、1220から出力信号136への遷移遅延時間が上手く同じになるように、平衡状態で結合を行う。
図15は、平衡XORモジュール1500を更に詳細に示している。平衡XORモジュール1500は、六つのNAND素子1505、1510、1515、1520、1525、1530と、八つのインバータ1535、1540、1545、1550、1555、1560、1565、1570とを含む。平衡XORモジュール1500は、更に、容量遅延素子1575a、1575b、1575c、1575d、1575e、1575f、1575g、1575hを含む。容量遅延素子1575a、1575b、1575c、1575d、1575e、1575f、1575g、1575hは、図14に示した平衡XORモジュール1500a、1500b、1500cのそれぞれについて異なる。上記のように、容量遅延素子1575a、1575b、1575c、1575d、1575e、1575f、1575g、1575hは、各入力のための異なるパス長と、入力が立ち上がりエッジ又は立ち下がり遷移を扱うかどうかとを補正するために異なるものとなる。同じく上記のように、各平衡XORモジュールは、一組の応答する第二の容量遅延素子1575aa、1575ab、1575ac、1575ad、1575ae、1575af、1575ag、1575ahを含むことができる。
説明のための例として、図16は、七ナノ秒の周期(即ち、約143MHz)を有する方形波である出力信号136’’を出力する任意波形発生器100’’のタイミング図を表している。タイミング図は、代数モジュール108’’が二つの交互性立ち上がりエッジ(即ち、位相0及び位相2)と二つの交互性立ち下がりエッジ(即ち、位相1、位相3)との計算のための並列回路を含む任意波形発生器100’’を表している。タイミング図は、スイッチモジュール112’’への入力から出力モジュール114’’に向かう各信号を示している。
「16:1 MUX」と記載されたブロックは、タップ選択モジュール(例えば、図10Aのタップ選択モジュール1003a)を通じた伝搬時間を表す。「サイン」と記載されたブロックは、正(即ち、立ち上がりエッジ)のタップ選択モジュール(例えば、図10Aの1003a)又は負(即ち、立ち下がりエッジ)のタップ選択モジュール(例えば、図10Aの1003b)の間で選択を行うMUXサイン選択(図10AのMUX1010)を通じた伝搬時間を表す。「バーニア」と記載されたブロックは、微小遅延モジュール(例えば、図11の微小遅延モジュール310)を通じた伝搬時間を表す。バーニアブロックの前のエッジ上の二重線は、微小遅延モジュール310を通じた可変伝搬を表す。「JKフロップ」と記載されたブロックは、一対のエッジフリップフロップ(例えば、図13のエッジフリップフロップ1215、1220)を通じた伝搬時間を表す。「JKフロップ」と記載されたブロックの直後の「XOR」と記載されたブロックは、第一の平衡XORモジュール(例えば、図14の位相0又は位相2信号のための平衡XORモジュール1500a或いは位相1又は位相3信号のための平衡XORモジュール1500b)を通じた伝搬時間を表す。「XOR」と記載されたブロックの直後の「XOR」と記載された次のブロックは、次のXORモジュール(例えば、図14の平衡XORモジュール1500c)を通じた伝搬時間を表す。「クロックツリー」と記載されたブロックは、クロックツリー(例えば、図14に図示したクロックツリー)を通じた伝搬時間を表す。「out_clk」と記載された信号は、任意波形発生器100’’によって出力される出力信号136’’を表す。
等価物
本発明は、その趣旨又は基本特性から逸脱することなく他の特定の形態で実施し得る。そのため、上記の実施形態は、あらゆる点で、本明細書で説明した本発明を限定するものではなく、例示するものとして見做されるべきである。したがって、本発明の範囲は、上記の説明ではなく、付記した請求項によって示される。そのため、請求項の等価物の意味及び範囲内に入る全ての変更は、本発明の範囲に包含されるものである。
本発明の一実施形態の高レベルブロック図 図1Aに示した自走ループオシレータのタップからの信号のタイミング図 追加モジュールを示す本発明の一実施形態の高レベルブロック図 図2に示した遅延素子モジュールの一実施形態の詳細ブロック図 本発明の別の実施形態の高レベルブロック図 本発明の代数モジュールの一実施形態の詳細ブロック図 図5に示した周期積分モジュールの一実施形態の詳細ブロック図 図5に示したループ平均化モジュールの一実施形態の詳細ブロック図 図5に示したクロック領域転送モジュールの一実施形態の詳細ブロック図 図5に示した同期モジュールの一実施形態の詳細ブロック図 図9Aに示した同期デバウンサモジュールの一実施形態の詳細ブロック図 本発明のスイッチモジュールの一実施形態の詳細ブロック図 図10Aに示した平衡MUXモジュールの一実施形態の詳細ブロック図 本発明の微小遅延モジュールの一実施形態の詳細ブロック図 本発明の出力モジュールの一実施形態の詳細ブロック図 図12に示したキャッチアップモジュールと、ウィンドウモジュールと、エッジフリップフロップとの一実施形態の詳細ブロック図 図12に示した位相結合モジュールの一実施形態の詳細ブロック図 図14に示した平衡XORモジュールの一実施形態の詳細ブロック図 本発明の一実施形態を通じた信号伝搬のタイミング図

Claims (35)

  1. 任意波形を提供する波形発生器であって、
    ループ状に接続された複数の遅延素子と、
    遅延素子間に配置され、独自に整相した振動遷移信号をそれぞれが提供する複数の
    タップと、
    を含む自走リングオシレータと、
    代数データ入力ポートとクロック入力ポートと代数データ出力ポートとを有する代数モジュールにして、代数データ入力ポートで受領された信号に応答して、任意波形の第一の立ち上がりエッジを示す信号を代数データ出力ポートで生成する代数モジュールと、
    代数データ出力ポートに電気的に連通するスイッチ入力ポートと、前記複数の自走リングオシレータタップに電気的に連通する複数のスイッチタップ入力ポートと、スイッチ出力ポートとを有するスイッチモジュールにして、スイッチ入力ポートで受領された第一の立ち上がりエッジを示す信号に応答して、複数のタップの一つから選択された第一の遷移信号をスイッチ出力ポートで提供するスイッチモジュールと、
    スイッチ出力ポートに電気的に連通する遷移信号入力ポートと、代数データ出力ポートに電気的に連通するウィンドウ入力ポートと、代数モジュールのクロック入力ポートに電気的に連通する波形出力ポートとを有する出力モジュールにして、出力モジュールの遷移信号入力ポートで受領した第一の遷移信号と、ウィンドウ入力ポートで受領した第一の立ち上がりエッジを示す信号とに応答して、波形出力ポートで任意波形を生成する出力モジュールと、
    を備える任意波形発生器。
  2. 基準クロック入力ポートと、複数のタップに電気的に接続されたタップ入力ポートとを有するループ平均化モジュールにして、基準クロック入力ポートで受領された基準クロック信号に応答して、(i)基準クロック信号のエッジ間で発生したタップ遷移の数をカウントし、(ii)カウントに応答して、平均ループ速度を計算するように構成されたループ平均化モジュールを更に備える、請求項1記載の任意波形発生器。
  3. (i)計算された平均ループ速度と(ii)捕捉された複数のループの状態とに応答して、リングオシレータの瞬間位相を計算するように更に構成された、請求項2記載のループ平均化モジュール。
  4. スイッチ出力ポートに電気的に連通する信号入力ポートと、代数モジュールの代数データ出力ポートに電気的に連通する選択入力ポートと、出力モジュールの入力ポートに電気的に連通する微小遅延出力ポートとを含む微小遅延モジュールにして、選択入力ポートで受領された第一の立ち上がりエッジを示す信号に応答して、スイッチモジュールのスイッチ出力ポートから出力モジュールの入力ポートへの第一の遷移信号の伝搬を遅延させる微小遅延モジュールを更に備え、
    出力モジュールの入力ポートは、微小遅延モジュールを通じて、スイッチモジュールのスイッチ出力ポートに電気的に連通する、請求項1記載の任意波形発生器。
  5. 代数モジュールが、同期入力ポートを更に備え、代数モジュールが、代数データ入力ポートで受領された信号と同期入力ポートとで受領された信号とに応答して、代数データ出力ポートにおいて、任意波形内で第一の立ち上がりエッジを示す信号を生成する、請求項1記載の任意波形発生器。
  6. 代数モジュールが、第一の立ち上がりエッジを示す信号を生成し、結果として任意波形における第一の立ち上がりエッジのシームレスな組み込みを発生させる、請求項5記載の任意波形発生器。
  7. 遅延素子の一つが、反転遅延素子である、請求項1記載の任意波形発生器。
  8. それぞれの遅延素子に同一の負荷が加えられる、請求項1記載の任意波形発生器。
  9. 少なくとも一つの遅延素子が、テスト制御入力ポートとテストデータ入力ポートとを有するテストスイッチモジュールを更に備え、遅延素子が、テスト制御入力ポートで受領された信号に応答して、テストデータ入力ポートで受領された信号と同一の信号を応答するタップにおいて形成する、請求項1記載の任意波形発生器。
  10. 代数モジュールに電気的に連通するデータ出力ポートと、基準クロックのソースの周波数変更パラメータを示す信号を受領するための補正入力ポートとを有する補正モジュールにして、周波数変更パラメータに関連する基準クロックの周波数における変動を推定する補正モジュールにして、変動に応答して、補正出力ポートにおいて補正信号を生成する補正モジュールを更に備える、請求項1記載の任意波形発生器。
  11. 周波数変更パラメータが、基準クロックのソースの温度である、請求項10記載の任意波形発生器。
  12. 周波数変更パラメータが、基準クロックのソースの年数である、請求項10記載の任意波形発生器。
  13. 代数モジュールが、代数入力ポートで受領された信号に応答して、代数データ出力ポートにおいて、任意波形内の第一の立ち下がりエッジを示す第二の信号を生成するように更に構成される、請求項1記載の任意波形発生器。
  14. 出力モジュールが、ウィンドウ入力ポートで受領された第一の立ち上がりエッジを示す誤信号を示すキャッチアップ信号を生成するように更に構成される、請求項1記載の任意波形発生器。
  15. 任意波形発生器が、CMOS集積回路内で実施される、請求項1記載の任意波形発生器。
  16. リングオシレータに結合された電源からの電源ノイズの少なくとも一つの成分を順方向に供給する増幅器と
    前記増幅器と電気的に連通するループ速度補正回路と、
    を更に備える、請求項1記載の任意波形発生器。
  17. それぞれが複数の信号パスのそれぞれと電気的に連通する複数の容量素子にして、それぞれの所定の静電容量を有して、それぞれの信号パスを通る遷移信号の伝搬時にそれぞれの所定の時間遅延を生成し、以って第一の信号パスでの遷移のための伝搬時間が第二の信号パスでの遷移のための伝搬時間と実質的に等しくなるようにする複数の容量素子、
    を更に備える、請求項1記載の任意波形発生器。
  18. 複数の容量素子の各容量素子が、約50フェムトファラッドより小さな値を有する、請求項17記載の任意波形発生器。
  19. 複数の信号パスのそれぞれが、第一の容量素子と第二の容量素子とに電気的に連通する、請求項17記載の任意波形発生器。
  20. 第一の容量素子及び第二の容量素子が、温度に対する異なる感度を有する、請求項19記載の任意波形発生器。
  21. 第一の容量素子及び第二の容量素子が、プロセスに対する異なる感度を有する、請求項19記載の任意波形発生器。
  22. 第一の容量素子及び第二の容量素子が、電圧に対する異なる感度を有する、請求項19記載の任意波形発生器。
  23. 任意波形を形成する方法であって、
    遅延素子のループとして遷移の連続シーケンスを生成するステップと、
    ループ内の遅延素子の一つで発生する遷移をカウントするステップと、
    任意波形を生成するために望ましい第一の立ち上がりエッジ時間及び第一の立ち下がりエッジ時間を決定するステップと、
    カウントされた遷移と内部クロックとに基づいて、望ましい第一の立ち上がりエッジ時間に応答して遷移の連続シーケンスにおける第一の遷移を選択するステップと、
    カウントされた遷移及び内部クロックに基づいて、望ましい第一の立ち下がりエッジ時間に応答して遷移の連続シーケンスにおける第二の遷移を選択するステップと、
    任意波形を形成するために、選択された第一及び第二の遷移を使用して出力信号を生成するステップと、
    出力信号に基づいて内部クロック信号を生成するステップと、
    を含む方法。
  24. 出力信号を生成するステップが、過去において発生した望ましい第一の立ち上がりエッジ時間に応答して出力信号を生成するために、遷移の連続シーケンスの遷移のそれぞれを使用するステップを更に含む、請求項23記載の方法。
  25. 入力基準クロックに関する遅延素子の一つにおける平均遷移率を計算するステップを更に含む、請求項23記載の方法。
  26. (1)計算された平均遷移率と(ii)遅延素子ループの複数の捕捉された状態とに応答して、遅延素子のループ内の瞬間位相を計算するステップを更に含む、請求項25記載の方法。
  27. 選択された遷移に、複数の伝搬遅延の一つを追加するステップを更に含み、複数の伝搬遅延の二つの間の差異が、遅延素子のループにおける遅延素子を通じた遷移の平均伝搬時間よりも小さい、請求項23記載の方法。
  28. 外部同期信号を受領するステップと、
    受領された同期信号に応答して、第一の遷移及び第二の遷移の選択を修正するステップと、
    を更に含む、請求項23記載の方法。
  29. 修正するステップが、任意波形を形成するために出力信号における第一の立ち上がりエッジのシームレスな組み込みが存在するように、第一の遷移の選択を修正するステップを更に含む、請求項28記載の方法。
  30. それぞれの遷移が、極性を有し、遷移の連続シーケンスを生成するステップが、遅延素子により遷移の極性を反転するステップを更に含む、請求項23記載の方法。
  31. 遷移の連続シーケンスを生成するステップが、遅延素子のそれぞれに同一の負荷を提供するステップを更に含む、請求項23記載の方法。
  32. 基準クロックのソースの周波数変更パラメータを示す信号を受領するステップと、
    周波数変更パラメータによる基準クロックの変動を決定するステップと、
    決定された変動に応答して、第一の遷移の選択を変更するステップと、
    を更に含む、請求項23記載の方法。
  33. 周波数変更パラメータが、基準クロックのソースの温度である、請求項32記載の方法。
  34. 周波数変更パラメータが、基準クロックのソースの年数である、請求項32記載の方法。
  35. 信号経路を通る遷移の伝搬時間が第二の信号経路を通る遷移の伝搬時間と実質的に等しくなるように、それぞれの信号パスを通る遷移の伝搬に所定の時間遅延を追加するステップを更に含む、請求項23記載の方法。
JP2003581342A 2002-03-25 2002-03-25 自走リングオシレータを使用する任意波形シンセサイザ Expired - Fee Related JP4300471B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/009155 WO2003084051A2 (en) 2002-03-25 2002-03-25 An arbitrary waveform synthesizer using a free-running ring oscillator

Publications (2)

Publication Number Publication Date
JP2005522081A true JP2005522081A (ja) 2005-07-21
JP4300471B2 JP4300471B2 (ja) 2009-07-22

Family

ID=33415151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581342A Expired - Fee Related JP4300471B2 (ja) 2002-03-25 2002-03-25 自走リングオシレータを使用する任意波形シンセサイザ

Country Status (8)

Country Link
US (4) US6377094B1 (ja)
EP (1) EP1488507B1 (ja)
JP (1) JP4300471B2 (ja)
KR (1) KR100879587B1 (ja)
CN (1) CN1327372C (ja)
AT (1) ATE526635T1 (ja)
AU (1) AU2002306864A1 (ja)
WO (1) WO2003084051A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019512941A (ja) * 2016-03-10 2019-05-16 アナログ ディヴァイスィズ インク 任意の幅を有する高解像度パルスを生成するためのタイミング発生器

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377094B1 (en) * 2002-03-25 2002-04-23 Oak Technology, Inc. Arbitrary waveform synthesizer using a free-running ring oscillator
US7106115B2 (en) * 2000-06-29 2006-09-12 Timelab Corporation Arbitrary waveform synthesizer to generate one or more arbitrary waveforms
US20030105104A1 (en) * 2001-11-27 2003-06-05 Burzynski Stanislaw R. Formulation of amino acids and riboflavin useful to reduce toxic effects of cytotoxic chemotherapy
US6807660B1 (en) * 2002-10-01 2004-10-19 Sequence Design, Inc. Vectorless instantaneous current estimation
TWI233107B (en) * 2002-11-08 2005-05-21 Mediatek Inc Full digital fine-delay signal generator
US7804982B2 (en) 2002-11-26 2010-09-28 L-1 Secure Credentialing, Inc. Systems and methods for managing and detecting fraud in image databases used with identification documents
ATE532288T1 (de) * 2003-03-04 2011-11-15 Timelab Corp Takt- und datenwiederherstellungsverfahren und - vorrichtung
DE602004030434D1 (de) 2003-04-16 2011-01-20 L 1 Secure Credentialing Inc Dreidimensionale datenspeicherung
TW200519843A (en) * 2003-07-30 2005-06-16 Timelab Corp Apparatus and methods for securing information
TWI370622B (en) * 2004-02-09 2012-08-11 Altera Corp Method, device and serializer-deserializer system for serial transfer of bits and method and deserializer for recovering bits at a destination
US7397876B2 (en) * 2004-08-11 2008-07-08 International Business Machines Corporation Methods and arrangements for link power reduction
US7424046B2 (en) * 2004-10-15 2008-09-09 Altera Corporation Spread spectrum clock signal generation system and method
US8228110B1 (en) * 2004-12-06 2012-07-24 Marvell International Ltd. Low power, low voltage phase interpolator
US7587622B2 (en) 2005-01-11 2009-09-08 Altera Corporation Power management of components having clock processing circuits
US7304521B2 (en) * 2005-01-28 2007-12-04 Altera Corporation Delay circuit for synchronizing arrival of a clock signal at different circuit board points
US7208991B2 (en) * 2005-01-28 2007-04-24 Altera Corporation Digitally programmable delay circuit with process point tracking
US7760829B2 (en) * 2005-05-04 2010-07-20 Altera Corporation Dense-tap transversal filter with elementary coefficients
US7385543B2 (en) * 2006-06-19 2008-06-10 Agilent Technologies, Inc. Systems and methods for asynchronous triggering of an arbitrary waveform generator
TWI342683B (en) * 2007-02-06 2011-05-21 Benq Corp Method and apparatus for reducing electromagnetic interference
US8102285B2 (en) * 2008-06-05 2012-01-24 Kalow Technologies, Inc. Modular debouncing device
US8395454B2 (en) * 2011-05-13 2013-03-12 Oracle International Corporation Synchronized output of multiple ring oscillators
WO2013095649A1 (en) 2011-12-23 2013-06-27 Intel Corporation Apparatus and system for generating a signal with phase angle configuration
KR101701662B1 (ko) * 2013-02-07 2017-02-01 와이덱스 에이/에스 보청기용 트랜시버 및 이러한 트랜시버를 동작시키는 방법
US9268889B2 (en) * 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
CN106253897A (zh) * 2015-06-08 2016-12-21 三垦电气株式会社 具有偶数相位延迟输出的环形振荡器
US10469059B1 (en) * 2017-12-22 2019-11-05 The Boeing Company Stabilizing the startup behavior of ring oscillators
CN114371761B (zh) * 2021-12-13 2024-06-04 中电科思仪科技股份有限公司 任意波形发生器输出信号电压摆幅的自校准电路及方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51118924A (en) * 1975-04-11 1976-10-19 Matsushita Electric Ind Co Ltd Ink jet recorder
US4196451A (en) * 1976-05-21 1980-04-01 Xerox Corporation Electronic halftone generator
US4595992A (en) 1982-06-07 1986-06-17 Eaton Corporation Encoding and decoding device for narrow bandwidth coherent signals
DE3481472D1 (de) 1984-12-21 1990-04-05 Ibm Digitale phasenregelschleife.
US5555092A (en) * 1987-12-15 1996-09-10 Mscl Method and apparatus for correcting horizontal, vertical and framing errors in motion picture film transfer
GB8717173D0 (en) 1987-07-21 1987-08-26 Logic Replacement Technology L Time measurement apparatus
US4998109A (en) 1989-12-13 1991-03-05 Lechevalier Robert E Analog to digital conversion device by charge integration using delay-line time measurement
US5109283A (en) 1990-03-02 1992-04-28 Xerographic Laser Images Corporation Raster scanning engine driver which independently locates engine drive signal transistors within each cell area
US5199008A (en) 1990-03-14 1993-03-30 Southwest Research Institute Device for digitally measuring intervals of time
US5166959A (en) 1991-12-19 1992-11-24 Hewlett-Packard Company Picosecond event timer
US5204678A (en) 1992-02-10 1993-04-20 Tektronix, Inc. Dual-ranked time-interval conversion circuit
US5552733A (en) * 1993-01-19 1996-09-03 Credence Systems Corporation Precise and agile timing signal generator based on a retriggered oscillator
FR2710800B1 (fr) * 1993-09-27 1995-12-15 Sgs Thomson Microelectronics Ligne à retard numérique.
GB2296142B (en) 1994-12-16 1998-03-18 Plessey Semiconductors Ltd Circuit arrangement for measuring a time interval
US5537069A (en) 1995-03-30 1996-07-16 Intel Corporation Apparatus and method for selecting a tap range in a digital delay line
US5550499A (en) 1995-04-18 1996-08-27 Cyrix Corporation Single delay line adjustable duty cycle clock generator
US5777500A (en) 1996-01-16 1998-07-07 Cyrix Corporation Multiple clock source generation with independently adjustable duty cycles
US5903522A (en) * 1996-04-19 1999-05-11 Oak Technology, Inc. Free loop interval timer and modulator
US5793709A (en) * 1996-04-19 1998-08-11 Xli Corporation Free loop interval timer and modulator
US5789953A (en) 1996-05-29 1998-08-04 Integrated Device Technology, Inc. Clock signal generator providing non-integer frequency multiplication
US5802356A (en) 1996-11-13 1998-09-01 Integrated Device Technology, Inc. Configurable drive clock
US6115586A (en) 1997-05-30 2000-09-05 Integrated Circuit Systems, Inc. Multiple loop radio frequency synthesizer
US6025745A (en) * 1997-06-24 2000-02-15 Digital Equipment Corporation Auto-calibrating digital delay circuit
US6046822A (en) * 1998-01-09 2000-04-04 Eastman Kodak Company Ink jet printing apparatus and method for improved accuracy of ink droplet placement
US6687319B1 (en) 1999-02-04 2004-02-03 Rambus Inc. Spread spectrum clocking of digital signals
US6697416B1 (en) 1999-10-29 2004-02-24 Texas Instruments Incorporated Digital programmable, spread spectrum clock generator
JP2001244797A (ja) 2000-03-02 2001-09-07 Asahi Kasei Microsystems Kk クロックディレイ発生回路
US6377094B1 (en) * 2002-03-25 2002-04-23 Oak Technology, Inc. Arbitrary waveform synthesizer using a free-running ring oscillator
US6664838B1 (en) 2001-08-31 2003-12-16 Integrated Device Technology, Inc. Apparatus and method for generating a compensated percent-of-clock period delay signal
US6909311B2 (en) 2002-04-03 2005-06-21 Analog Devices, Inc. Methods and apparatus for synthesizing a clock signal
US6882196B2 (en) 2002-07-18 2005-04-19 Sun Microsystems, Inc. Duty cycle corrector
JP3883063B2 (ja) 2002-10-31 2007-02-21 ローム株式会社 クロック生成装置
US7072781B1 (en) 2004-07-06 2006-07-04 Advanced Micro Devices, Inc. Architecture for generating adaptive arbitrary waveforms
US7376182B2 (en) 2004-08-23 2008-05-20 Microchip Technology Incorporated Digital processor with pulse width modulation module having dynamically adjustable phase offset capability, high speed operation and simultaneous update of multiple pulse width modulation duty cycle registers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019512941A (ja) * 2016-03-10 2019-05-16 アナログ ディヴァイスィズ インク 任意の幅を有する高解像度パルスを生成するためのタイミング発生器

Also Published As

Publication number Publication date
EP1488507A2 (en) 2004-12-22
CN1628294A (zh) 2005-06-15
JP4300471B2 (ja) 2009-07-22
WO2003084051A2 (en) 2003-10-09
EP1488507B1 (en) 2011-09-28
USRE41981E1 (en) 2010-12-07
US7425875B2 (en) 2008-09-16
EP1488507A4 (en) 2005-06-22
US20020190760A1 (en) 2002-12-19
KR100879587B1 (ko) 2009-01-21
CN1327372C (zh) 2007-07-18
WO2003084051A3 (en) 2004-01-15
AU2002306864A1 (en) 2003-10-13
US6377094B1 (en) 2002-04-23
US20050163206A1 (en) 2005-07-28
AU2002306864A8 (en) 2003-10-13
KR20050023240A (ko) 2005-03-09
ATE526635T1 (de) 2011-10-15
US6664832B2 (en) 2003-12-16

Similar Documents

Publication Publication Date Title
JP4300471B2 (ja) 自走リングオシレータを使用する任意波形シンセサイザ
US7106115B2 (en) Arbitrary waveform synthesizer to generate one or more arbitrary waveforms
US5914996A (en) Multiple clock frequency divider with fifty percent duty cycle output
JP2976206B2 (ja) 周期的な基準信号入力に応答して被制御レートでデータを処理して正確に時間制御された出力信号を作成するための装置
JP4146965B2 (ja) 遅延信号生成装置および半導体試験装置
US5793709A (en) Free loop interval timer and modulator
US7893740B2 (en) Data signal generating apparatus
US7230875B2 (en) Delay locked loop for use in synchronous dynamic random access memory
US20240030904A1 (en) Measuring pin-to-pin delays between clock routes
US5666079A (en) Binary relative delay line
US7375562B2 (en) Phase locked system for generating distributed clocks
KR100464933B1 (ko) 완전 디지털 클럭 신디사이저
US5903522A (en) Free loop interval timer and modulator
US7519087B2 (en) Frequency multiply circuit using SMD, with arbitrary multiplication factor
JP2004072680A (ja) 半導体集積回路
KR100263483B1 (ko) 고속 위상 동기 회로 및 그를 이용한 위상 동기 방법
JP4105966B2 (ja) 演算型連続周波数可変発振回路
신지원 Design of Near-Threshold Injection-Locked Clock Multiplier
KR20050115269A (ko) 디지털 pll 회로 기술
JPH07200094A (ja) 位相同期クロック分配回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080624

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees