(57)【要約】【課題】クロックサイクルの数分の１でイベントをタイムスタンピングすること。【解決手段】タイムスタンピング回路（２００）は、２つ以上の検出回路（２０２）を備える。各検出回路（２０２）は、イベントイン信号（１１４）を受け取り、イベントイン信号が受信されるクロックの位相に基づいてイベント信号を生成する。デコーダ（２０４）は、イベント信号を受け取って、イベントアウト信号（１１８）とイベントイン信号が検出された位相を表すタイムスタンプ(１１６)とを出力する。位相分割にイベントイン信号（１１４）をタイムスタンピングすることにより、タイムスタンピング回路（２００）はクロックサイクルよりも高速で発生するイベント信号を検出する。【選択図】  図２
2007157147.tif 000002
【特許請求の範囲】
【請求項１】
イベントイン信号を受け取り、該イベントイン信号が検出されるクロックサイクルの位相に基づいてイベント信号を生成するようになっている２つ以上の検出回路と、
前記２つ以上の検出回路と電気的に接続されたデコーダと、を備え、
前記デコーダは、イベントアウト信号と、前記イベントイン信号が検出された前記クロックサイクルの前記位相を表す少なくとも１つのビットとを出力し、該少なくとも１つのビットは、前記２つ以上の検出回路から受け取られた前記イベント信号に基づくものであることを特徴とする、タイムスタンピング回路。
【請求項２】
前記２つ以上の検出回路は、１つ又は複数の検出素子を備えることを特徴とする、請求項１に記載のタイムスタンピング回路。
【請求項３】
前記検出回路の少なくとも１つの検出素子は、所定の位相を有するクロックを受け取り、前記イベントイン信号が、前記クロックの前記所定の位相で検出される場合に前記イベント信号を生成することを特徴とする、請求項２に記載のタイムスタンピング回路。
【請求項４】
１つ又は複数の他の検出素子は、前記イベントイン信号を受け取ることと、該イベント信号を前記デコーダに提供することとの間の経過時間が、各検出回路について異なるようになっていることを特徴とする、請求項３に記載のタイムスタンピング回路。
【請求項５】
少なくとも１つの検出素子は、前記イベント信号が１つのクロック領域から別のクロック領域に移動するように該イベント信号を出力することを特徴とする、請求項３に記載のタイムスタンピング回路。
【請求項６】
前記検出回路のうちの１つの検出回路から第１の入力及び第２の入力を受け取り、所定の時刻に出力される単一サイクルイベント信号を前記第１の入力及び該第２の入力に基づいて出力する２つ以上の入力回路をさらに備え、
前記デコーダは、前記２つ以上の入力回路から受け取られた前記単一サイクルイベント信号に基づいて、前記イベントイン信号が検出された前記位相を特定することを特徴とする、請求項１に記載のタイムスタンピング回路。
【請求項７】
イベント信号のタイムスタンピング方法であって、
イベントイン信号を受け取るステップと、
前記イベントイン信号がその間に受け取られたクロックサイクルの位相を検出するステップと、
イベントアウト信号と、前記イベントイン信号が検出された前記位相を表す少なくとも１つのビットとを出力するステップと、
を含むことを特徴とする、タイムスタンピング方法。
【請求項８】
検出するステップは、
１つ又は複数の検出素子において、前記イベントイン信号と、所定の位相を有するクロックとを受け取るステップと、
前記イベントイン信号が、前記クロックの前記所定の位相で検出される場合に、１つ又は複数の検出素子においてイベント信号を生成するステップと、
を含むことを特徴とする、請求項７に記載のタイムスタンピング方法。
【請求項９】
検出するステップは、
前記イベントイン信号を受け取ることと、該イベント信号をデコーダに提供することとの間の経過時間が、前記１つ又は複数の検出回路の間で異なるように、１つ又は複数の検出回路内の１つ又は複数の他の検出素子に前記イベント信号を送出するステップをさらに含むことを特徴とする、請求項８に記載のタイムスタンピング方法。
【請求項１０】
出力するステップは、
１つ又は複数の検出素子から１つ又は複数のイベント信号を受け取るステップと、
前記イベント信号に基づいて、前記イベントイン信号が検出される位相を特定するステップと、
設定された前記位相を表す少なくとも１つのビットを生成するステップと、
を含むことを特徴とする、請求項７に記載のタイムスタンピング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックサイクルの数分の１(a fraction of)までイベントをタイムスタンピングする回路及び方法に関するものである。
【背景技術】
【０００２】
多くの電子デバイスでは、特定のデバイス用に特別に設計され作られた集積回路によって、ロジック機能が実施されることが多い。一般に、２つのタイプのカスタム集積回路、すなわち特定用途向け集積回路（ＡＳＩＣ）(Application Specific Integrated Circuit）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）が存在する。ＡＳＩＣは、１ＧＨｚを超える場合があるクロック速度を有する一般に高速なプロセッサを提供する。残念ながら、ＡＳＩＣ及びＡＳＩＣを設計し、生産するのに必要とされる工業技術についての努力(engineering effort)は、けたはずれのコストである可能性がある。
【０００３】
電子デバイスのコストを軽減するために、設計者はＦＰＧＡを使用することが多い。しかしながら、ＦＰＧＡは、ＡＳＩＣよりずっと遅い５００ＭＨｚ以下で動作し、ＡＳＩＣの高いクロック速度を要求するアプリケーションではうまく働かない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に言えば、本明細書は、クロックサイクルの数分の１でイベントをタイムスタンピングする回路及び方法を対象とする。
【課題を解決するための手段】
【０００５】
一態様は、２つ以上の検出回路を備えるタイムスタンピング回路である。各検出回路は、イベントイン信号を受け取り、イベントイン信号が検出されるクロックサイクルの位相に基づいてイベント信号を生成するようになっている。デコーダは、２つ以上の検出回路と電気接続される。デコーダは、イベントアウト信号と、イベントイン信号が検出されたクロックサイクルの位相を表す少なくとも１つのビットとを出力する。１つ又は複数のビットは、２つ以上の検出回路から受け取られたイベント信号に基づく。
【０００６】
別の態様は、２つ以上の検出素子を含む検出回路を備えるタイムスタンピング回路である。各検出素子は、イベントイン信号を受け取り、イベントイン信号が受け取られるクロックサイクルの位相に基づいてイベント信号を出力するようになっている。デコーダが、各検出素子と電気接続され、それによって、イベントアウト信号と、イベントイン信号が検出される位相を表す少なくとも１つのビットとを出力する。少なくとも１つのビットは、検出素子から受け取られたイベント信号に基づく。
【０００７】
さらに別の態様は、イベント信号のタイムスタンピング方法であり、この方法は、イベントイン信号を受け取るステップ、イベントイン信号が受け取られたクロックサイクルの位相を検出するステップ、及び、イベントアウト信号と、イベントイン信号が検出された位相を表す少なくとも１つのビットとを出力するステップを含む。
【発明を実施するための最良の形態】
【０００８】
本発明の種々の実施形態は、図面を参照して、詳細に述べられることになり、図面では、同じ参照符号は、いくつかのビューを通して、同じ部品及び組み立て品を表す。種々の実施形態に対する参照は、本発明の範囲を制限せず、本発明の範囲は、添付の特許請求の範囲によってのみ制限される。さらに、本明細書に述べる任意の例は、制限することを意図せず、請求される発明について考えられる多くの実施形態の一部を述べるに過ぎない。
【０００９】
例示的な実施形態では、タイムスタンピング回路は、クロックサイクルの数分の１までイベントを検出し、特定する。タイムスタンピング回路は、イベント信号の発生を、全クロックサイクルの数分の１であるクロックの所定の位相で検出する。タイムスタンピング回路が、各クロック信号が異なる所定の位相を有する２つ以上のクロック信号を提供されるように、クロックサイクルは、２つ以上の位相に分割される。イベントは、所定の位相を有するいくつかのクロック信号のうちの１つのクロック信号を使用して検出されることができる。一実施形態では、イベントイン信号は、１つ又は複数の検出素子を含んでもよい少なくとも１つの検出回路に送出される。検出回路は、イベントイン信号が受け取られたクロックサイクルの位相に基づいてイベント信号を出力する。例示的な実施形態では、１つ又は複数の検出回路からイベント信号を受け取り、イベントアウト信号及びイベントイン信号が検出された位相を表す少なくとも１つのビットを出力する。位相を特定する１つ又は複数のビットは、１つ又は複数の検出回路からの１つ又は複数のイベント信号に基づく。
【００１０】
タイムスタンピング回路１００の１つの例示的な実施形態が図１に示される。タイムスタンピング回路１００は、検出回路１０２、及び、本明細書においてはデコーダと呼ぶ、デコーダ回路１０４を備える。検出回路１０２は、４つの検出素子１０６、１０８、１１０、及び／又は１１２を含む。検出回路は、２つ以上の検出素子を有してもよい。検出素子は、フリップフロップであるか、或いは、本明細書で述べる検出素子の機能を実施することが可能なラッチ、他の回路、又は他の電子素子であってもよい。各検出素子はイベントイン信号１１４を受け取る。例示的な実施形態では、イベントイン信号１１４は、フリップフロップのクロックピンに接続される入力である。入力信号１１４は、本明細書で述べる他の信号と同様にデジタル信号であり、デジタル信号は、２つの状態、すなわち、デジタル的にゼロとして表されるロー状態、及び、デジタル的に１として表されるハイ状態を有する。ロー状態とハイ状態は、フリップフロップ又は他のタイプの検出素子による出力を引き起こすか、又は、回路又は他の電気素子によって何らかの動作が実施されるようにするのに必要とされる任意の電圧であってもよい。
【００１１】
所定の位相を有する２つ以上のクロック信号は、タイムスタンピング回路１００に入力される。例えば、Ｘｉｌｉｎｘ（登録商標）Ｖｉｒｔｅｘ（商標）ファミリのＦＰＧＡ等の、当該技術分野で知られている最新のＦＰＧＡは、異なる位相を有する２つ以上のクロックを生成することができるクロックマネジャ回路を含む。クロック信号は、立上がりエッジが、クロック０°信号等の基準クロックと異なる時刻で発生する場合、異なる位相を有する。検出回路１０２内の各検出素子１０６、１０８、１１０、及び１１２は、クロック信号１２０、１２２、１２４、及び１２６等の所定の位相のクロックを受け取る。例えば、検出素子１０６は、位相０°クロック信号１２０を受け取り、一方、検出素子１０８は、位相９０°クロック信号１２２を受け取る。例示的な実施形態では、所定の位相を有するクロック信号が、データ入力として検出素子、例えばフリップフロップに入力される。
【００１２】
クロックについて使用される位相は、任意の位相分割を有してもよいが、例示的な実施形態では、３６０°位相空間の均一な、又は、等間隔の位相分割、例えば、０°、９０°、１８０°、及び２７０°の４つの等間隔の位相分割を有することになる。他の位相分割、例えば、０°、４５°、９０°、１３５°、１８０°、２２５°、２７０°、及び３１５°の８つの等間隔の、又は、均一な位相分割が可能である。位相分割は、３６０°の位相空間全体を通して等間隔に、例えば、位相４５°は位相０°から４５°、位相９０°は位相４５°から４５°等で配置されるため均一である。
【００１３】
他の実施形態では、位相分割は不均一であってもよい。不均一な位相分割は、位相空間の第１の部分において第１の分離量を有する少なくとも第１の位相分割のセットを含み、一方、第２の位相分割のセットは、位相空間の第２の部分において第２の分離量を有する。例えば、位相３１５°から位相４５°までの位相分割が、１５°で分離されてもよい。対照的に、位相４５°と位相３１５°との間の位相分割が、４５°で分離されてもよい。全部で３６０°の位相空間は、位相分割０°、１５°、３０°、４５°、９０°、１３５°、１８０°、２２５°、２７０°、３１５°、３３０°、３４５°を有することになる。不均一な位相分割は、或る位相の近くでイベントを検出するためのよりよい細分性又は精度を提供する。そのため、不均一な位相分割を有するタイムスタンピング回路は、イベントエッジが特定の位相（例えば、位相０°）に近づく場合にイベントを検出することができるが、均一な位相分割を有するタイムスタンピング回路では、全体の位相空間（０°〜３６０°）が、均一にカバーされる。
【００１４】
各検出素子１０６、１０８、１１０、及び１１２は、イベントイン信号が検出される位相に基づいてイベント信号を出力する。所定の位相のクロックの立上がりエッジ後に、検出素子は、イベント信号を出力する。例えば、位相０°クロックの立上がりエッジ後に、検出素子１０６はイベント信号を出力する。同様に、２７０°クロックの立上がりエッジ後に、検出素子１１２はイベント信号を出力する。こうして、それぞれ異なるクロック入力が、異なる位相で発生する立上がりエッジを有するため、各検出素子１０６、１０８、１１０、及び１１２は、異なる所定の時刻にイベント信号を出力する。検出回路１０２は、イベントを検出し、全クロックサイクルより短いサイクルでイベント信号を生成することができる。すなわち、検出回路は、クロックサイクルの数分の１でイベントの発生を検出することができる。クロックの位相に対してイベントを出力することによって、遅延素子は、クロックサイクルの数分の１でイベント信号を出力する、すなわち、イベント信号は、全クロックサイクルでだけ出力される必要がないことが留意されるべきである。さらに、或る所定の位相を有するクロック、例えば、位相０°クロックによってトリガーされた任意の信号出力は、そのクロック領域、例えば、位相０°クロック領域内になる。１つのクロック領域、例えば、位相０°クロック領域内の信号が、異なる位相を有するクロック、例えば、位相２７０°クロックよって出力されるか、又は、トリガーされる場合、イベント信号は、そのクロック領域、例えば、位相２７０°クロック領域内に配置されるか、又は、移される。
【００１５】
イベント信号は、デコーダ１０４に送出される。例示的な実施形態では、デコーダ１０４は、或るイベントアウト信号１１８、及び、イベント信号に応答してイベントイン信号１１４が検出された位相を表す少なくとも１つのビット１１６を出力することになる電子デバイスである。図１の例示的な実施形態では、４つの検出素子１０６、１０８、１１０、及び１１２からの４つのイベント信号が、デコーダ１０４で受け取られる。イベント信号が、時間的に同時にデコーダ１０４で受け取られないという可能性があり、デコーダ１０４は、イベント信号の値（ハイ又はロー）によってだけでなく、イベント信号が受け取られる時によっても、イベントイン信号１１４がどの位相で検出されたかを判定することになる。デコーダ１０４は、イベント信号から、イベントイン信号１１４がどの位相で検出されたかを判定し、イベントイン信号１１４が検出された位相を表す１つ又は複数のビット１１６を出力する。以降で、デコーダ１０４によって出力される、イベントイン信号１１４が検出された位相を表す１つ又は複数のビット１１６は、タイムスタンプと呼ばれることになる。しかしながら、本明細書で提示される例示的な実施形態は、当該技術分野で既知の任意のタイプ又はフォーマットのタイムスタンプに限定されるのではなく、イベントイン信号１１４がどの位相で検出されたかを特定する任意の信号であることができる。
【００１６】
例として、イベントイン信号１１４が、クロックの位相０°と位相９０°の間にその立上がりエッジを有する場合、検出素子１０８が、第１のイベント信号をデコーダ１０４に出力することになる。クロックサイクルの４分の１より遅い場合、検出素子１１０が、イベント信号をデコーダ１０４に出力することになる。検出素子１１０がイベント信号を出力した４分の１クロックサイクル後に、検出素子１１２が、イベント信号をデコーダ１０４に出力することになる。デコーダは、検出素子１０８から第１のイベント信号を受け取り、２つの他のイベント信号は、検出素子１１０及び１１２から引き続き発生することになる。検出素子１１２がイベント信号を出力した４分の１クロックサイクル後に、検出素子１０６用のイベント信号をトリガーすることになる位相０°クロックの次の立上がりエッジが発生するため、検出素子１０６はイベント信号を出力することになることが留意されるべきである。しかしながら、デコーダ１０４は、第１のイベント信号が検出素子１０８からであることを認識することができ、検出素子１０６からの後で到達するイベント信号を無視してもよい。デコーダ１０４は、受け取ったイベント信号が、符号０、１、１、及び１を提供する、すなわち、イベント信号が、検出素子１０８、１１０、及び１１２のそれぞれから受け取られたが、検出素子１０６からはイベント信号が受け取られていないと判定する。デコーダ１０４は、次に、イベント信号０、１、１、及び１に従って、イベントが、クロックの位相０°と位相９０°の間で起こったと判定する。イベントイン信号１１４が検出された位相、例えば、位相９０°を表す２ビット符号「０１」等のタイムスタンプ１１６は、イベントアウト信号１１８と共にデコーダ１０４から出力される。
【００１７】
タイムスタンピング回路２００の別の例示的な実施形態は、図２に示される。タイムスタンピング回路２００は、２つ以上の検出回路２０２及びデコーダ２０４を備える。例示的な実施形態では、検出回路２０２はそれぞれ、検出素子２２０等の２つ以上の検出素子を含む。例示的な実施形態では、検出素子は、フリップフロップである、或いは、本明細書で述べる検出素子の機能を実施することが可能なラッチ、他の回路、又は他の電子素子であってもよい。各検出回路２０６、２０８、２１０、及び２１２はイベントイン信号１１４を受け取ることができる。例示的な実施形態では、各検出回路内の第１の検出素子は、イベントイン信号１１４を受け取り、次に、イベント信号を２つ以上の他の検出素子に中継する。例えば、検出回路２０６内の第１の検出素子２２４は、イベントイン信号１１４を受け取ってもよい。検出素子２２４は、次に、イベント信号Ａ（０）を検出素子２２６に中継し、検出素子２２６は、イベント信号Ａ（１）を検出素子２２８に中継し、検出素子２２８は、イベント信号Ａ（２）を検出素子２２０に中継する。検出素子２２０は、イベント信号Ａ（３）をデコーダ２０４に出力する。
【００１８】
例示的な実施形態では、各検出素子は、所定の位相を有するクロックを受け取る。各検出素子に入力されるクロックによって、検出素子が、イベントイン信号１１４が所定の位相で、又は、所定の位相の前で発生するかどうかを検出する。クロック入力を所定の位相を有するように変更することによって、検出回路は、イベント信号が検出回路で検出される時を変更することができる。例えば、検出回路２０６は、位相０°クロックを第１の検出素子２２４に入力する。したがって、検出素子２２４は、イベントイン信号１１４が、位相０°クロックの立上がりエッジのところか、又は、立上がりエッジの前で発生するかどうかを検出する。同様に、位相９０°クロックは、検出素子２３０に入力され、イベントイン信号１１４が、位相０°と位相９０°の間で発生するかどうかを検出する。
【００１９】
一例として、クロック周期又はクロックサイクルが４ｎｓである場合、検出回路２０２は、イベントイン信号１１４が発生する時を１ｎｓ分解能まで検出することができる。検出回路２０６は、イベントイン信号が、クロックサイクルの位相２７０°と位相０°の間で発生するかどうかを検出する。検出回路２０８は、イベントイン信号が、位相０°と位相９０°の間で発生するかどうかを検出し、検出回路２１０は、イベントイン信号が、位相９０°と位相１８０°の間で発生するかどうかを検出し、検出回路２０１２は、イベントイン信号が、位相１８０°と位相２７０°の間で発生するかどうかを検出する。検出回路２０６は、イベントイン信号１１４が、０ｎｓか又は０ｎｓより前、或いは、４ｎか又は４ｎｓより前に発生するかどうかを検出し、検出回路２０８は、イベントイン信号１１４が、１ｎｓか又は１ｎｓより前、或いは、５ｎｓか又は５ｎｓより前に発生するかどうかを検出し、検出回路２１０は、イベントイン信号１１４が、２ｎｓか又は２ｎｓより前、或いは、６ｎｓか又は６ｎｓより前に発生するかどうかを検出し、検出回路２１２は、イベントイン信号１１４が、３ｎｓか又は３ｎｓより前、或いは、７ｎｓか又は７ｎｓより前に発生するかどうかを検出する。
【００２０】
各検出回路内の第１の検出素子の後ろの他の検出素子は、各検出回路からの各イベント信号が、デコーダに同時に到達するように、デコーダに対してイベント信号を遅延させるのに役立つ。第１の検出素子の後ろの検出素子は、所定の位相を有するクロックを使用してイベント信号をトリガーして、イベント信号が、位相０°領域でデコーダ２０４に送出されることを確実にする。例えば、検出回路２１２内の第１の検出素子２３８は、イベントイン信号１１４が、クロックサイクルの位相２７０°で又は２７０°より前に発生するかどうかを検出する。イベントイン信号１１４が、位相２７０°で又は２７０°より前で検出される場合、検出素子２３８は、イベント信号Ｄ（０）を検出素子２４０に出力する。検出素子２３８がイベント信号Ｄ（０）を出力する瞬間に、検出素子２２４は、イベント信号Ｄ（０）より３位相早く、イベント信号Ａ（０）を出力してしまっていることになる。例えば、クロックサイクルが４ｎｓである場合、検出素子２２４は、検出素子２３８が、同じイベントイン信号１１４についてイベント信号Ｄ（０）を出力することになる３ｎｓ前に、イベント信号Ａ（０）を出力してもよい。このため、検出回路２１２からのイベント信号が、検出回路２０６からのイベント信号Ａ（０）と同時にデコーダ２０４に到達することを確実にするために、イベント信号Ｄ（０）のタイミングは、３ｎｓだけ「移動」しなければならない。他の検出素子２４０、２４２、及び２４４は、検出素子２１２からのイベント信号Ｄ（０）が３ｎｓだけシフトすることを確実にする。そのため、検出素子２４０は、位相１８０°クロックの立上がりエッジ後に、又は、イベント信号Ｄ（０）を受け取った３ｎｓ後に、イベント信号Ｄ（１）を出力する。同様に、検出素子２４２は、イベント信号Ｄ（１）を受け取った３ｎｓ後に、イベント信号Ｄ（２）を出力し、検出素子２４４は、イベント信号Ｄ（２）を受け取った３ｎｓ後に、イベント信号Ｄ（３）を出力する。検出回路２１２から出力される、イベント信号Ｄ（０）についての総遅延は９ｎｓである。所定の位相を有するクロックで各フリップフロップをトリガーすることによって、検出回路２１２は、第１の検出素子２３８からの第１のイベント信号Ｄ（０）の生成と、第２の検出素子２４０からの第２のイベント信号Ｄ（１）の生成との間の遅延を提供する。検出素子２３８と２４０の間の遅延は、任意のセットアップ時間、ホールド時間、及び／又は伝播遅延について十分な時間を可能にする。全ての他の検出回路は、１つの検出素子のトリガーと別の検出素子のトリガーとの間の同様な遅延を提供する。検出回路２０６から出力される、イベント信号Ａ（０）についての総遅延は１２ｎｓである。検出回路２０６からのイベント信号及び検出回路２１２からのイベント信号は、同じ時刻に出力される。すなわち、イベント信号Ａ（０）の出力とイベント信号Ｄ（０）の出力の３ｎｓの差と検出回路２１２の残りにおける９ｎｓの遅延とを加えたものは、検出回路２０６における１２ｎｓの遅延に等しい。他の検出回路２０８及び２１０は、同様に機能する。
【００２１】
各検出回路内の第１の検出素子は、異なる所定の位相を有する入力クロックを受け取る。例えば、検出素子２２４は位相０°クロックを受け取り、検出素子２３８は位相２７０°クロックを受け取る。イベントイン信号１１４は、第１の検出素子によって検出される時、入力クロックのクロック領域で検出される。例えば、イベントイン信号１１４が、検出素子２２４によって検出される時、イベントイン信号は、位相０°クロック領域で検出され、イベントイン信号１１４は、検出素子２３８によって、位相２７０°クロック領域で検出される。各検出回路２０６、２０８、２１０、及び２１２は、イベントイン信号１１４を異なるクロック領域で検出する。しかしながら、検出回路２０６、２０８、２１０、及び２１２が、共通クロック領域で、イベント信号をデコーダ２０４に出力するように、各検出回路２０６、２０８、２１０、及び２１２が、イベント信号についてクロック領域を移動するか、又は、シフトする。例えば、検出回路２０６は、位相０°クロック領域で生成されたイベント信号Ａ（０）を、デコーダ２０４内への入力について使用される共通位相０°クロック領域に移動させる。検出回路２１２は、位相２７０°クロック領域で生成されたイベント信号Ｄ（０）を、共通位相０°クロック領域に移動させる。
【００２２】
検出回路２０２は、イベントイン信号をクロックサイクルの数分の１まで検出する手段を提供する。イベント信号が出力される時を遅延させることによって、検出回路はそれぞれ、同時か、ほぼ同時のいずれかで、デコーダ２０４に対して、イベントイン信号１１４が、クロックサイクルのどの所定の位相で起こったかを示すイベント信号を提供する。デコーダ２０４は、デコーダ１０４と同様に機能するが、検出回路２０２からのイベント信号が、同時か、又は、ほぼ同時に到達するため、イベント信号が到達する時刻の判定をやめてもよい。デコーダについての論理表の１つの例示的な実施形態が以下に示される。
【００２３】
さらに、検出回路２０２内のいくつかの検出素子を使用することによって、タイムスタンピング回路２００は、当該技術分野で理解される準安定状態を提供する。準安定状態は、フリップフロップがクロック駆動される時に、フリップフロップへの入力が、フリップフロップのハイ状態についての閾電圧とロー状態についての閾電圧との間にある時に発生する。簡単な例として、ＴＴＬロジックの場合、ロジックローは、０〜０．８ボルトで起こり、ロジックハイは、２．４〜５ボルトで発生する。準安定状態は、入力電圧が０．８〜２．４ボルトである場合に発生する場合がある。準安定フリップフロップは、ラントパルス(runt pulse)を出力するか、又は、発振する場合があり、いずれの場合も、回路は不調になる可能性がある。
【００２４】
準安定状態は、セットアップ又はホールド時間に違反することによって発生することが多い。セットアップ時間違反は、フリップフロップが、入ってくるクロックエッジを受け取る前に、フリップフロップへの入力が閾電圧に達するのに充分な時間を有さない場合に発生する。ホールド時間違反は、クロックエッジが遷移するのにかかる時間の間、入力信号が、閾電圧より大きいか、又は、小さいままでいられない場合に発生する。一般に、準安定状態は、非同期信号、すなわち、フリップフロップと同じクロック領域においてトリガーされない信号が、フリップフロップに入力される時に発生する可能性がある。非同期信号は、クロックエッジの受け取り中に遷移する場合があり、フリップフロップは、ハイ状態でもロー状態でもない電圧を受け取ることになる。
【００２５】
タイムスタンピング回路２００は、非同期信号にタイムスタンプを付与する(time stamp)ことができる。準安定状態の可能性を軽減するか、又は、解消するために、各検出回路は、２つ以上のフリップフロップを含む。検出回路内のいくつかのフリップフロップは、入力信号が評価され、且つ一連のフリップフロップからの出力が安定化する確率を増加させる。
【００２６】
図３Ａ及び図３Ｂは、図２に示すタイムスタンピング回路２００を表すタイミング図３００及び３１８を示す。タイムスタンピング回路２００（図２）は、４つのクロック入力を有する。位相０°クロック入力はクロック信号３０２として示され、位相９０°クロック入力はクロック信号３０４として示され、位相１８０°クロック入力はクロック信号３０６として示され、位相２７０°クロック入力はクロック信号３０８として示される。各クロックは、距離３１２で表される同じ周期を有する。クロック周期は、クロックが、クロックサイクル、例えば、４ナノ秒を完了するのに必要とされる時間量である。クロックサイクルは、３６０°を循環する。換言すれば、クロックは、０°で開始し、３６０°で開始点に循環して戻ってもよい。しかしながら、タイミング図では、クロックサイクルは、クロック信号が、０°で或る垂直位置において開始し、３６０°でその垂直位置に循環して戻るような波形で表される。クロックサイクルは、位相を理解することにとって重要である。
【００２７】
各クロック３０２、３０４、３０６、及び３０８は、異なる位相を有する。例えば、位相０°クロックは、ライン３１０で表される時刻０においてその立上がりエッジを有し、位相９０°クロックは、距離３１４で表される、位相０°クロックの４分の１クロックサイクル後にその立上がりエッジを有する。位相９０°クロックは、３６０°クロックサイクルの４分の１である位相９０°で開始する。タイミング図３００で示されるように、位相１８０°クロックは、位相０°クロックの立上がりエッジの３６０°クロックサイクルの２分の１クロックサイクル後、又は、１８０°後にその立上がりエッジを有し、位相２７０°クロックは、位相０°クロックの立上がりエッジの３６０°クロックサイクルの４分の３クロックサイクル後、又は、２７０°後にその立上がりエッジを有する。クロックサイクル又は周期が４ｎｓである場合、位相０°クロックは、時刻０及び時刻０後４ｎｓごとにその立上がりエッジを有し、位相９０°クロックは、時刻１ｎｓ及び時刻１ｎｓ後４ｎｓごとにその立上がりエッジを有し、位相１８０°クロックは、時刻２ｎｓ及び時刻２ｎｓ後４ｎｓごとにその立上がりエッジを有し、位相２７０°クロックは、時刻３ｎｓ及び時刻３ｎｓ後４ｎｓごとにその立上がりエッジを有することになる。異なる位相を有するクロックを使用して、タイムスタンピング回路２００は、全クロックサイクルより短いクロックサイクルでイベントを検出することができる。例えば、４つの異なる位相を有し、４ｎｓのクロックサイクルを使用するクロックを使用するタイムスタンピング回路は、１ｎｓの分解能でイベントをトリガーすることができる。したがって、例示的なタイムスタンピング回路は、機能的に、クロックサイクルより４倍速く動作する。例えば、タイムスタンピング回路は、ライン３１６で表されるほぼ時刻ｔ０でイベントを検出することができる。位相０°クロック３０２の次の立上がりエッジ（所望の検出時刻ｔ０の３ｎｓ後）を待つのではなく、タイムスタンピング回路は、位相９０°クロック３０４の立上がりエッジ後にイベント信号を出力する。
【００２８】
図３Ｂのタイミング図３１８は、タイムスタンピング回路２００（図２）等のタイムスタンピング回路が、時刻ｔ０でイベントを検出することができる方法をさらに示す。図３Ｂに示す例では、イベントは、ライン３１６によって表される時刻ｔ０で、又は、ｔ０の近くで検出される。図２に関して説明したように、イベントイン信号１１４（図２）等のイベントイン信号３２０は、検出回路２０２（図２）等の２つ以上の検出回路で受け取られる。イベントイン信号３２０は、ライン３１６によって表される時刻ｔ０で受け取られる。それぞれが所定の位相を有する４つのクロック３０２、３０４、３０６、及び３０８は、検出回路内の１つ又は複数の検出素子に入力される。信号の第１のセット３２４〜３３０は、第１の検出回路２０６内の処理を示す。検出素子２２４への位相０°クロック入力３０２の立上がりエッジ後に、イベント信号Ａ（０）（図２）等のイベント信号３２４が、検出素子２２４から出力される。位相０°クロック３０２の次の立上がりエッジで、イベント信号Ａ（１）（図２）等のイベント信号３２６が、検出素子２２６から出力される。イベント信号Ａ（２）（図２）等のイベント信号３２８は、位相０°クロック３０２の次の立上がりエッジで、検出素子２２８から出力され、イベント信号Ａ（３）（図２）等のイベント信号３３０は、位相０°クロック３０２の次の立上がりエッジで、検出素子２２０から出力される。
【００２９】
他の検出回路２０８、２１０、及び２１２（図２）は、同様に動作する。検出回路２０８の検出素子２３０への位相９０°クロック入力３０４の立上がりエッジ後に、イベント信号Ｂ（０）（図２）等のイベント信号３３２が、検出素子２３０から出力される。位相０°クロック３０２の次の立上がりエッジで、イベント信号Ｂ（１）（図２）等のイベント信号３３４が、検出素子２３２から出力される。イベント信号Ｂ（２）（図２）等のイベント信号３３６は、位相０°クロック３０２の次の立上がりエッジで、検出素子２３４から出力され、イベント信号Ｂ（３）（図２）等のイベント信号３３８は、位相０°クロック３０２の次の立上がりエッジで、検出素子２３６から出力される。検出回路２１０の場合、イベント信号Ｃ（０）（図２）等のイベント信号３４０は、位相１８０°クロック３０６の次の立上がりエッジで出力される。イベント信号Ｃ（１）（図２）等のイベント信号３４２は、位相９０°クロック３０４の次の立上がりエッジで出力され、イベント信号Ｃ（２）（図２）等のイベント信号３４４は、位相０°クロック３０２の次の立上がりエッジで出力され、イベント信号Ｃ（３）（図２）等のイベント信号３４６は、位相０°クロック３０２の次の立上がりエッジで出力される。イベント信号３３０、３３８、及び３４６は、ライン３５８によって表される同じ時刻ｔ１で、検出回路２０６、２０８、及び２１０から出力されることが留意されるべきである。
【００３０】
検出回路２１２が同様に動作する間、検出回路２１２からの出力は、異なる時刻に発生する。例えば、検出素子２３８への位相２７０°クロック入力３０８の立上がりエッジ後に、イベント信号Ｄ（０）（図２）等のイベント信号３４８が、検出素子２３８から出力される。位相１８０°クロック３０６の次の立上がりエッジで、イベント信号Ｄ（１）（図２）等のイベント信号３５０が、検出素子２４０から出力される。同様に、イベント信号Ｄ（２）（図２）等のイベント信号３５２は、位相９０°クロック３０４の次の立上がりエッジで、検出素子２４２から出力され、イベント信号Ｄ（３）（図２）等のイベント信号３５４は、位相０°クロック３０２の次の立上がりエッジで、検出素子２４４から出力される。イベントが、時刻ｔ０  ３１６で発生する場合、検出回路２１２は、時刻ｔ１で出力する他のイベント信号より完全に１クロックサイクル早い、ライン３６０によって表される時刻ｔ２でイベント信号３５４（図２の信号Ｄ（３））を出力することになる。例示的な実施形態では、デコーダ２０４等のデコーダは、イベント信号の第１のセットを待ち、イベント信号の値とイベント信号がデコーダに到達する時刻との両方によって、イベント信号が検出される位相を判定する。デコーダは、図３に提供される例示的な実施形態では、以下の値Ａ（３）＝０、Ｂ（３）＝０、Ｃ（３）＝０、及びＤ（３）＝１を有するイベント信号を受け取る。図２に関連して説明したように、デコーダは、イベントが、位相２７０°で又は２７０°の前に（位相１８０°〜位相２７０°で）起こったかどうかを判定する。デコーダは、次に、イベントが位相２７０°で起こったことを表すタイムスタンプ、例えば、「１１」と共にイベント信号３５６を出力する。
【００３１】
図２を再び参照すると、例示的なタイムスタンピング回路２００は、４つの検出回路２０２を含む。タイムスタンピング回路は、より多いか、又は、より少ない検出回路を有してもよい。例示的な実施形態では、検出回路及び検出回路内の検出素子は、サイズＮ×Ｍのアレイを形成してもよい。Ｎは、タイムスタンピング回路内の検出回路の数に等しい。Ｍは、１つ又は複数の検出回路内の検出素子の数に等しい。例示的な実施形態では、検出回路の数Ｎは、クロックについて利用可能な位相分割の数に等しい。例えば、クロックが、４つの位相分割、例えば、位相０°クロック信号、位相９０°クロック信号、位相１８０°クロック信号等を有する場合、タイムスタンピング回路は、４つの検出回路を有するが、クロックが、１６の位相分割、例えば、位相２２．５°クロック信号、位相４５°クロック信号、位相６７．５°クロック信号等を有する場合、タイムスタンピング回路は、１６の検出回路を有する。検出回路の数は、クロックについての位相分割の数に等しい場合があるが、検出素子の数Ｍは、位相分割の数に等しい必要はない。
【００３２】
８つの位相分割を有するクロックを使用したタイムスタンピング回路用の例示的な検出回路４００は、図４に示される。例示的な実施形態では、検出回路４００は、クロックの位相３１５°でイベントを検出することができる。検出回路４００内には５つの検出素子４０２、４０４、４０６、４０８、及び４１０のみが存在する。イベントイン信号１１４は、検出回路４００に入力される。第１の検出素子４０２は、図２の検出回路２０６、２０８、及び２１２についての検出素子２２４、２３０、及び２３８と同様に動作する。対照的に、検出素子４０２は、位相３１５°クロック４２０が検出素子４０２に入力されるため、位相３１５°で又は３１５°の前に発生するイベントイン信号を検出する。検出素子４０２は、位相３１５°クロックの立上がりエッジにおける、又は、立上がりエッジの前のイベント信号を出力する。クロックが、４ｎｓの周期を有する場合、位相０°の前に発生するイベント信号は、イベント信号が、位相０°クロックを受け取る検出素子において検出された３．５ｎｓ後に、検出素子４０２において検出されることになる。検出回路４００はまた、位相０°クロック領域において一定時間後にイベント信号を出力するように構成される。イベント信号が、他のイベント信号、例えば、Ａ（３）、Ｂ（３）等と同時に、且つ、位相０°クロック領域において、デコーダ２０４に到達することを確実にするために、検出素子４０４、４０６、４０８、及び４１０は、クロックサイクルの数分の１でイベント信号を出力する。検出回路４００は、５つの検出素子を含むが、他の例示的な実施形態では、検出回路は、８つの位相分割を有するクロックを使用するタイムスタンピング回路内に、より多いか、又は、より少ない検出素子を有してもよい。検出回路からの全ての信号は、クロック領域が、位相０°クロック領域であるか、別のクロック領域であるかにかかわらず、同じ時刻で、且つ、同じクロック領域内でデコーダに到達すべきである。
【００３３】
図１のタイムスタンピング回路１００を参照すると、タイムスタンピング回路１００はまた、クロック信号の任意の位相分割でイベント信号を検出するように構成されることができる。例えば、イベント信号を、８つの位相分割のうちの任意の位相分割で検出するために、検出回路１０２は、検出素子１０６又は１０８に似た８つの検出素子を必要とすることになる。各検出素子は、８つの位相分割のうちの１つの位相分割に等しい所定の位相を有するクロックを受け取ることになる。さらに、デコーダ１０４は、デコーダ１０４に入力される８つのイベント信号から位相を判定するように構成されることになる。
【００３４】
さらなる一実施形態では、回路５００は、１つ又は複数の入力回路５０２、５０４、５０６、及び５０８を含み、検出回路からの入力を受け取り、１つのクロックサイクルのみについてイベント信号を出力する。各入力回路は、同様に動作し、入力回路が電気接続される検出回路から同様の入力を受け取る。そのため、１つの入力回路５０２のみが説明されるであろう。入力回路５０２は、図５Ａに示すように電気接続された、排他的ＯＲ（ＸＯＲ）ゲート５２０、ＡＮＤゲート５２２、及びフリップフロップ５２４を含む。ＸＯＲゲート５２０は、Ａ（２）入力５１２（図２を参照されたい）及びＡ（３）入力５１４（図２を参照されたい）を受け取る。Ａ（２）入力５１２か、Ａ（３）入力５１４の一方が、ハイ状態にある時にだけ、ＸＯＲゲート５２０は、ハイ信号をＡＮＤゲート５２２に出力する。ＡＮＤゲート５２２は、Ａ（２）入力５１２及びＸＯＲゲート５２０からの出力を受け取る。Ａ（２）入力５１２とＸＯＲゲート出力の両方がハイ状態にある時に、ＡＮＤゲート５２２は、信号をフリップフロップ５２４に出力する。ＡＮＤゲート５２２の出力がハイになった後、フリップフロップ５２４は、位相０°クロック入力５２８の立上がりエッジが発生すると、位相０°イベント信号５２６を出力する。ＡＮＤゲート５２２からの出力が停止すると、フリップフロップ５２４からの出力は、位相０°クロックの次の立上がりエッジで停止することになる。任意の入力回路からの出力は、１クロックサイクル続くだけであってもよい。他の例示的な実施形態では、他の回路又は電気素子が、回路５００内で使用されてもよく、本明細書で述べる機能を実施するように動作可能な、任意の電気素子又は電気素子の構成が使用されてもよい。
【００３５】
入力回路５０２の機能をよりよく説明するために、例示的なタイミング図５２８が、図５Ｂに示される。ここで、位相０°クロック３０２が示され、検出素子２２８及び２２０（図２）に入力される。入力５１２（図５Ａ）等のＡ（２）入力３２８は、時刻ｔ０でハイになり、一方、入力５１４等のＡ（３）入力３３０は、ローのままである。ＸＯＲゲート５２０からの出力５３０は、時刻ｔ０でＡ（２）３２８のみがハイで、一方、Ａ（３）がローであるため、ほぼ同じ時刻ｔ０にハイになる。ＡＮＤゲート５２２からの出力もまた、ＸＯＲゲート５３０からの出力がハイであると同時に、入力Ａ（２）３２８がハイであるため、ほぼ同じ時刻ｔ０にハイになる。ＡＮＤゲート５２２からの出力は、フリップフロップ５２４に送出され、フリップフロップ５２４はまた、位相０°クロック３０２を受け取る。ライン５３６によって表される時刻ｔ１で始まるクロックサイクルで、位相０°出力５２６はハイになる。その間に、Ａ（３）入力５１４はハイになり、それによって、ＸＯＲゲート５３０からの出力及びＡＮＤゲート５２２からの出力５３２がローになる。しかしながら、フリップフロップ５２４からの出力は、ラッチされ、ライン５３８によって表される時刻ｔ２で始まる次のクロックサイクルまでハイのままである。時刻ｔ２で、フリップフロップは、再び、イネーブルされ、それによって、フリップフロップ５２４の出力は、ＡＮＤゲート５２２からの入力５３２に従う。入力回路５０２、５０４、５０６、及び５０８は、デコーダに送出されたイベント信号が、１クロックサイクルのみの間続くことを確実にする回路を提供する。
【００３６】
イベントイン信号１１４（図２）等のイベント信号が発生する位相を検出する例示的な方法６００は、図６に示される。受け取りオペレーション６０２は、イベントイン信号１１４（図２）等のイベントイン信号を受け取る。１つの例示的な実施形態では、イベントイン信号は、検出回路２０２（図２）等の２つ以上の検出回路で受け取られる。さらなる例示的な実施形態では、イベントイン信号は、２つ以上の検出回路の、検出素子２２４等の第１の検出素子で受け取られる。検出回路はまた、第１の検出素子又は他の検出素子に電気接続された、検出素子２２６、２２８、及び２２０（図２）等の１つ又は複数の検出素子を含んでもよい。
【００３７】
検出オペレーション６０４は、イベントイン信号がその間に受け取られたクロックサイクルの位相を検出する。例示的な実施形態では、イベントイン信号は、検出回路２１２（図２）等の２つ以上の検出回路の、検出素子２３８（図２）等の第１の検出素子で受け取られる。さらなる例示的な実施形態では、検出素子は、位相２７０°クロック３０８（図３）等の、所定の位相を有するクロックを受け取り、イベントイン信号が、クロックの所定の位相で又は所定の位相の前で検出される場合、イベント信号Ｄ（０）（図２）等のイベント信号を生成する。
【００３８】
さらなる例示的な実施形態では、検出オペレーション６０４はまた、イベントイン信号を受け取ること、及びイベント信号Ｄ（３）（図２）等のイベント信号を提供することの間の経過時間が、１つ又は複数の検出回路について異なるように、検出素子２４０、２４２、及び２４４（図２）等の１つ又は複数の他の検出素子にイベント信号を送出することを含む。換言すれば、第１の検出素子の後ろの検出素子は、検出回路から送出され、デコーダ２０４等のデコーダに送出されるイベント信号が、同じクロック領域、例えば、位相０°クロック領域にあり、且つ他の検出回路から送出される他のイベント信号とほぼ同時にデコーダに到達することを確実にする。
【００３９】
出力オペレーション６０６は、イベントアウト信号１１８（図２）等のイベントアウト信号、及び、イベントイン信号が検出された位相を表す、タイムスタンプ１１６（図２）等の少なくとも１つのビットを出力する。例示的な実施形態では、イベントアウト信号及びタイムスタンプは、デコーダによって出力される。デコーダは、１つ又は複数の検出回路から１つ又は複数のイベント信号を受け取る。デコーダは、図２に関連して説明したように、イベント信号に基づいてイベントイン信号が検出される位相を特定する。最後に、デコーダは、所定の位相を表すタイムスタンプを生成する。
【００４０】
上述した種々の実施形態は、具体的に示すためだけに提供され、本発明を制限するものと考えられるべきではない。本明細書に示し述べた、例の実施形態及び適用形態に従うことなく、また、添付の特許請求の範囲に記載される本発明の真の精神及び範囲から逸脱することなく、本発明に対して行ってもよい種々の修正及び変更を、当業者は容易に認識するであろう。
【図面の簡単な説明】
【００４１】
【図１】デジタルタイムスタンピング回路の一実施形態の略図である。
【図２】デジタルタイムスタンピング回路の別の実施形態の略図である。
【図３Ａ】図２のタイムスタンピング回路に関連するとともにイベントのタイムスタンピングを示す、サンプル波形のタイミング図である。
【図３Ｂ】図２のタイムスタンピング回路に関連するとともにイベントのタイムスタンピングを示す、サンプル波形のタイミング図である。
【図４】検出回路の１つの例示的な実施形態の略図である。
【図５Ａ】入力回路の１つの例示的な実施形態の略図である。
【図５Ｂ】図５Ａの入力回路に関連するとともに１クロックサイクルのイベント信号を説明するサンプル波形のタイミング図である。
【図６】イベントのタイムスタンピング方法の１つの例示的な実施形態を示す図である。
【符号の説明】
【００４２】
２００  タイムスタンピング回路
２０２、２０６  検出回路
２０４  デコーダ
２２０、２２４、２２６，２２８  検出素子
【図１】
2007157147.tif 000003
【図２】
2007157147.tif 000004
【図３Ａ】
2007157147.tif 000005
【図３Ｂ】
2007157147.tif 000006
【図４】
2007157147.tif 000007
【図５Ａ】
2007157147.tif 000008
【図５Ｂ】
2007157147.tif 000009
【図６】
2007157147.tif 000010