JP2020524332A - オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法 - Google Patents

オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法 Download PDF

Info

Publication number
JP2020524332A
JP2020524332A JP2019568220A JP2019568220A JP2020524332A JP 2020524332 A JP2020524332 A JP 2020524332A JP 2019568220 A JP2019568220 A JP 2019568220A JP 2019568220 A JP2019568220 A JP 2019568220A JP 2020524332 A JP2020524332 A JP 2020524332A
Authority
JP
Japan
Prior art keywords
circuit
delay
circuits
flip
flop
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
JP2019568220A
Other languages
English (en)
Other versions
JP7116375B2 (ja
Inventor
ベジルトジス、クリストス
オウクザークジク、パヴェル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020524332A publication Critical patent/JP2020524332A/ja
Application granted granted Critical
Publication of JP7116375B2 publication Critical patent/JP7116375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • H03K5/1508Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages using a plurality of delay lines
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1502Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs programmable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

【課題】オンチップ・タイミング不確実性測定の分解能を増大させるシステムを提供。【解決手段】システムは、チェーン構成で論理的に結合された遅延回路のセットと、遅延回路のうちのそれぞれの遅延回路の遅延出力にそれぞれ論理的に結合された複数のフリップ−フロップ回路であり、フリップ−フロップ回路の段を形成した複数のフリップ−フロップ回路と、フリップ−フロップ回路の段のうちのそれぞれの段にそれぞれ論理的に結合されたクロック回路とを含み、この複数のフリップ−フロップ回路は、遅延回路のセットの中の第1の遅延回路の遅延入力がプログラム可能遅延回路からの出力を受信したことに応答して、およびクロック回路からのスキュード・クロック信号を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかをそれぞれ示すように論理的に構成されている。【選択図】図3

Description

本開示は、コンピュータ・チップに関し、より詳細には、オンチップ・タイミング不確実性測定の分解能を増大させることに関する。
オンチップはパフォーマンス性能及び機能性能が向上するにつれて、タイミングばらつきがそれら性能に大きく影響する。
本発明は、オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法を提供する。
本発明は、オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法を提供する。例示的な実施形態において、このシステムは、(1)チェーン構成で論理的に結合された遅延回路のセットであり、(a)遅延回路のうちのそれぞれの遅延回路が遅延入力および遅延出力を含み、(b)セットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力に論理的に結合されており、(c)セットの中の第2の遅延回路の遅延入力が、第1の遅延回路の遅延出力に論理的に結合されており、(d)セットの中の残りの遅延回路のうちのそれぞれの遅延回路の遅延入力が、セットの中の直前の遅延回路の遅延出力に論理的に結合されている、遅延回路のセットと、(2)遅延回路のうちのそれぞれの遅延回路の遅延出力にそれぞれ論理的に結合された複数のフリップ−フロップ回路であり、フリップ−フロップ回路の段(tier)を形成しており、(a)フリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路が、フリップ−フロップ入力、クロック入力およびフリップ−フロップ出力を含み、(b)複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力がそれぞれ、遅延回路のうちのそれぞれの遅延回路の遅延出力に論理的に結合されている、複数のフリップ−フロップ回路と、(3)フリップ−フロップ回路の段のうちのそれぞれの段にそれぞれ論理的に結合されたクロック回路であり、(a)クロック回路のクロック出力が、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に論理的に結合されており、(b)クロック回路が、プログラム可能遅延を含むスキュード・クロック信号(skewed clock signal)を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信するように論理的に構成されており、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信される、クロック回路とを含み、(4)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すように、複数のフリップ−フロップ回路が論理的に構成されている。
例示的な実施形態において、この方法は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信することと、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信することであり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、受信することと、(3)フリップ−フロップ回路の段のうちのそれぞれの段に論理的に結合されたクロック回路によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信し、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信されることと、(4)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すこととを含む。
代替実施形態において、この方法は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信することと、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信することであり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、受信することと、(3)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したこと、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すこととを含む。
本発明の例示的な実施形態によるブロック図である。 本発明の例示的な実施形態による流れ図である。 本発明の例示的な実施形態による流れ図である。 本発明の例示的な実施形態によるブロック図である。 本発明の例示的な実施形態による流れ図である。 本発明の例示的な実施形態によるブロック図である。 本発明の例示的な実施形態による流れ図である。 本発明の例示的な実施形態によるブロック図である。 本発明の例示的な実施形態によるグラフである。 本発明の例示的な実施形態によるグラフである。
本発明は、オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法を提供する。例示的な実施形態において、このシステムは、(1)チェーン構成で論理的に結合された遅延回路のセットであり、(a)遅延回路のうちのそれぞれの遅延回路が遅延入力および遅延出力を含み、(b)セットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力に論理的に結合されており、(c)セットの中の第2の遅延回路の遅延入力が、第1の遅延回路の遅延出力に論理的に結合されており、(d)セットの中の残りの遅延回路のうちのそれぞれの遅延回路の遅延入力が、セットの中の直前の遅延回路の遅延出力に論理的に結合されている、遅延回路のセットと、(2)遅延回路のうちのそれぞれの遅延回路の遅延出力にそれぞれ論理的に結合された複数のフリップ−フロップ回路であり、フリップ−フロップ回路の段を形成しており、(a)フリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路が、フリップ−フロップ入力、クロック入力およびフリップ−フロップ出力を含み、(b)複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力がそれぞれ、遅延回路のうちのそれぞれの遅延回路の遅延出力に論理的に結合されている、複数のフリップ−フロップ回路と、(3)フリップ−フロップ回路の段のうちのそれぞれの段にそれぞれ論理的に結合されたクロック回路であり、(a)クロック回路のクロック出力が、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に論理的に結合されており、(b)クロック回路が、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信するように論理的に構成されており、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信される、クロック回路とを含み、(4)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すように、複数のフリップ−フロップ回路が論理的に構成されている。特定の実施形態において、遅延回路のうちのそれぞれの遅延回路は少なくとも2つのインバータ回路を含む。具体的な実施形態において、遅延回路のうちのそれぞれの遅延回路は少なくとも2つのインバータ回路を含む。特定の実施形態において、スキュード・クロック信号は共通の周波数を有し、スキュード・クロック信号のうちのそれぞれのスキュード・クロック信号は、対応するプログラム可能遅延によって決定される異なる到着時間(スキュー)を有する。具体的な実施形態において、フリップ−フロップ回路は、フリップ−フロップ回路がフリップ−フロップ回路のクロック入力/クロック・ポート上で立ち上がりエッジを受信したときにフリップ−フロップ回路のフリップ−フロップ入力上でデータを捕捉するマスタ−スレーブ・ディジタル論理素子である。
例示的な実施形態において、この方法は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信することと、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信することであり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、受信することと、(3)フリップ−フロップ回路の段のうちのそれぞれの段に論理的に結合されたクロック回路によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信し、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信されることと、(4)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すこととを含む。
代替実施形態において、この方法は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信することと、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信することであり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、受信することと、(3)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すこととを含む。
定義
電源電圧およびノイズ・モニタ
論理回路内における信号伝搬遅延は電力供給とともに変化し、その結果として、Tcmin(fmax)はVDDとともに変化する。VDDの局所的変動は、電力グリッド内の直列抵抗に関連したIR(電流×抵抗)の低下のために起こることがある。VDDの局所的変動は、チップが突然により多くの電流を引き込んだときのLdl/dt効果/ノイズによっても起こることがあり、電力供給ピン上のパッケージ・インダクタンス(package inductance)がそのようなドループ(droop)を引き起こす。局所VDD値の時間的変動は、回路切換え活動および引き込まれる電流が経時的に変動するときに起こる。VDDの低下はfmaxを低下させることがあり、タイミング不良の根本的原因となることがあるため、VDDのこのような変動は、オンチップ・モニタを用いて経時的に追跡される。
チップ・タイミング、Tcminおよびfmaxは、ローカル・クロック・スキュー、デューティ・サイクルの変動およびクロック・エッジにおけるジッタの影響を受ける。VDDの変化もクロック経路遅延に影響を与えることがある。これらは、ラッチおよびフリップ−フロップなどのクロッキングされた記憶素子における発射および捕捉のためのクロック信号のタイミングに影響を及ぼす。信号間結合(signal-to-signal coupling)も、波形および信号伝搬遅延に影響を及ぼすことがある。
これらの効果のそれぞれを、チップ上の位置および発生時刻によって分離および定量化することは難しい。モニタは、チップ上のクリティカルな位置(critical location)における電力供給、クロックおよびノイズの正味の効果を捕捉するように設計される。多くの集積回路では、電圧値、ディジタル・クロックのジッタなどのようなものを監視するために時間ベースのセンサが使用される。そのようなセンサには、SKITTERおよびクリティカル・パス・モニタが含まれ、これらのモニタは、ディジタル遅延ブロックのチェーンおよびラッチを使用し、クロック・サイクルごとに信号が伝搬した遅延ステージの数をカウントすることによって入力を感知する。
クロック・スキューおよびジッタ(SKITTER)モニタ
クロック・スキュー(clock skew)およびジッタ(jitter)(SKITTER)モニタは、エッジ検出器として機能するように構成されたタップ付き遅延チェーン/線(tapped delay chain/line)を含む。タップ付き遅延チェーン内の第1の遅延にクロック信号が入力されたことに応答して、連続した2つの論理「1」および連続した2つの論理「0」がそれぞれ、クロック信号の立ち上がりおよび立ち下がりエッジの位置を示す。遅延線の出力ノードはタップ付きであり、エッジ−トリガ型のラッチ(edge-triggered latch)に供給される。遅延線上の連続した2つの論理「1」または連続した2つの論理「0」が、対応するXNOR2回路からの論理「1」に帰着するような態様で、近隣のラッチの出力がXNOR2回路を駆動する。
例えば、このような遅延チェーンの10インバータ・セクションでは、出力ビット・パターン10000010が、ラッチへの別の入力クロック信号によってトリガされたラッチによってスナップショットがとられたときの遅延チェーン内の2つのエッジを示すことになる。この出力をリアルタイムで読み、レジスタ・ファイルに記憶して、後にスキャンアウトすることができる。遅延チェーンが十分に長ければ、3つのクロック・エッジを捕捉することができ、出力ビット・パターンからクロック・デューティ・サイクルを推定することができる。時間におけるクロック・エッジ位置の正確さは、1つのインバータ遅延程度である。例えば、インバータ遅延が7ピコ秒、クロック・サイクル時間が250ピコ秒(4ギガヘルツ)である場合、完全サイクルに対するワースト・ケース誤差推定値は6%となる。クロック分配ツリーのノイズ、位相ロック・ループ・ジッタおよびその他の変動が、クロック・エッジのジッタを生じさせることがあり得る。追加の回路を用いて、エッジオーバーしたクロック(clock edged over)の移動を捕捉することができる。
SKITTERの時間較正は、チップが非活動状態にある間にクロック信号を送信することによって達成される。クロック・サイクルを、SKITTERからのそのサイクル中のビット数で割ると、ステージ当たりのインバータ遅延(すなわち1ビット当たりの時間分解能)がピコ秒で与えられる。次に、公称VDDを中心とするある範囲のVDD値にわたってインバータ遅延を測定する。このデータを直線に当てはめると、ΔVDDが、ビット数を単位として与えられる。次いで、VDDドループに起因するクロック・エッジのシフトを使用して、VDDのシフトの大きさを推定することができる。
クリティカル・パス・モニタ(CPM)
クリティカル・パス・モニタ(CPM)は、シリコン・プロセス・モニタの機能を、電圧、ジッタおよびノイズ・モニタの機能と組み合わせて、単一のユニットにしたものである。チップ上の経路遅延の動的測定、および測定された遅延とチップ上に記憶された初期較正データとの比較は、温度、電圧、ノイズおよび老化の効果に起因する経時的な遅延変化に関する情報を提供する。この情報を使用して、最適性能のために電力およびクロック周波数を管理することができる。例えば、CPMは、遅延経路上にクロック・パルスを発射するための信号発生器、および経路遅延をディジタル・ビットに変換するためのエッジ検出器を含むことができる。遅延経路上での初期測定は、チップ上での最小限の切換え活動で実施することができ、後の時点で変化を追跡するために、そのデータを記憶することができる。その後に、チップが機能モードにあるときに、所定の間隔で経路遅延を測定することができる。システム動作パラメータを調整して電力および周波数を最適にする目的に重大な変化を使用することができるように、後に、この動的経路遅延測定値を初期較正と比較することができる。
異なる回路トポロジを表すように構成されたいくつかの遅延経路、または特定のチップ設計に対するfmax(Tcmin)に対して高い感度を有する回路ブロックを含むように、CPMの回路概念を拡張することができる。この遅延経路構成は、このようなさまざまな遅延経路を収容するための柔軟性を提供することができる。ハイブリッド化された組合せ回路ブロックをエミュレートすることによって固有の経路を生み出すことができる。分析能力およびフィードバック制御を有するCPMを相補的金属−酸化物−半導体(CMOS)チップ上に配置することには鍵となる3つの利点がある。すなわち、(i)カスタマイズされた経路構成は、クリティカル・パスおよびfmax挙動を模倣することができ、(ii)動的読出しは、機能動作中およびCMOS回路の寿命にわたって回路性能を追跡することを可能にすることができ、(iii)CPMからのリアルタイム・フィードバックを使用して、最適な電力/性能トレードオフのための適用条件(VDD、T)を経時的に調整することができる。
CPMは、インバータ・チェーンおよびラッチを含むセンサを用いて、ディジタル回路のタイミング・マージンまたは電圧を監視する。CPMの入力は、調整された遅延/プログラム可能遅延回路から到来する立ち上がりエッジ(クロック・サイクルの後半に到着する)である。CPMの出力は、エッジがどれくらい遅く到着したのかを示す「サーモメータ・コード(thermometer code)」(例えば11・・11100・・0)である。
インバータ/インバータ回路
インバータ/インバータ回路/NOTゲートは、論理否定を実施する論理ゲートである。インバータ回路は、その入力とは反対の論理レベルを表す電圧を出力する。その主な機能は、印加された入力がローである場合には出力がハイになり、印加された入力がハイである場合には出力がローになるように、印加された入力信号を反転させることである。低コストで製造することができるように、インバータは、抵抗器に結合された単一のN型金属−酸化物−半導体(NMOS)トランジスタまたは単一のP型金属−酸化物−半導体(PMOS)(p−MOS)トランジスタを使用して構築することができる。低コストで製造できるのは、この「抵抗ドレイン型(resistive-drain)」手法が1つのタイプのトランジスタだけを使用するためである。しかしながら、2つの状態のうちの1つの状態において抵抗器に電流が流れるため、この抵抗ドレイン型構成は、電力消費および処理速度に関して不利である。その代わりに、CMOS構成の2つの相補的トランジスタを使用してインバータを構築することもでき、この構成は、両方の論理状態において一方のトランジスタが常にオフであるため電力消費を大幅に低減させ、また、NMOSオンリー(NMOS-only)型またはPMOSオンリー(PMOS-only)型のデバイスに比べて抵抗が比較的に小さいため、処理速度も向上させることができる。インバータは、抵抗器−トランジスタ論理(RTL)またはトランジスタ−トランジスタ論理(TTL)構成のバイポーラ接合トランジスタ(BJT)を用いて構築することもできる。インバータ回路が、2つの電圧レベル間でスワップする基本的な論理ゲートとして機能するように、ディジタル電子回路は、論理0または1に対応する固定電圧レベルで動作し、実際の電圧は実施態様が決定するが、TTL回路については一般的なレベルが(0、+5V)を含む。
フリップ−フロップ/フリップ−フロップ回路
フリップ−フロップ/フリップ−フロップ回路は、2つの安定状態を有し、状態情報を記憶する目的に使用することができ、双安定マルチバイブレータである回路である。1つまたは複数の制御入力に印加された信号によって状態を変化させるようにフリップ−フロップを製作することができ、フリップ−フロップは1つまたは2つの出力を有する。フリップ−フロップは、その2つの状態のうちの一方の状態が「1」を表し、もう一方の状態が「0」を表すような態様で1ビット(2進数字)のデータを記憶する。フリップ−フロップに関して、有限状態機械の中で使用されるとき、出力および次の状態は、フリップ−フロップの現在の入力に依存するだけでなく、フリップ−フロップの現在の状態(したがって以前の入力)にも依存する。フリップ−フロップを使用して、パルスをカウントすること、および可変的にタイミングがとられた入力信号をある基準タイミング信号に同期させることができる。フリップ−フロップは、フリップ・フロップの出力が、一方のタイプのクロック・エッジ(ポジティブ・ゴーイング(positive going)またはネガティブ・ゴーイング(negative going))でのみ変化するような態様でクロッキングされる(同期またはエッジ・トリガされる(すなわちエッジ・センシティブである))。フリップ−フロップは、クロッキングされたデバイスとして、同期システム向けに、フリップ−フロップが、(クロッキング、パルシングまたはストロービング(strobing)として知られている)専用クロック信号の遷移を除いて同期システムの入力を無視するように特別に設計される。クロッキングによって、フリップ−フロップは、入力信号の値に基づいて、遷移時にその出力信号を変化させるかまたは維持する。あるフリップ−フロップは、クロックの立ち上がりエッジで出力を変化させ、別のフリップ−フロップは、立ち下がりエッジで出力を変化させる。フリップ−フロップは、フリップ−フロップがフリップ−フロップのクロック・ポート/入力において立ち上がりエッジ/立ち下がりエッジを受信したときにデータを捕捉するマスタ−スレーブ・ディジタル論理素子である。
ラッチ
ラッチは、2つのブール入力(Boolean input)(データおよびクロック)と1つのブール出力とを有するディジタル・ハードウェア記憶素子である。このようなラッチに関して、ラッチのクロック入力がある値(例えば論理1)であるときには、ラッチのデータ入力の値がラッチのデータ出力に伝搬され(すなわち透過モード)、ラッチのクロック入力がそれ以外の値(例えば論理0)であるときには、最後の伝搬された値がラッチの出力で保持される。このクロックを、時間ステップごとに0と1の間で交番する信号としてモデル化することができる。クロックが1であるときにサンプリングするラッチをL1ラッチと表示することができ、クロックが0であるときにサンプリングするラッチをL2ラッチと表示することができる。ディジタル設計様式の一型は、それぞれのL1ラッチがL2ラッチに直接にフィードすることを要求し(マスタ−スレーブ・ラッチ対と呼ばれる)、L2だけが組合せ論理を駆動することを可能にする。ラッチは、イネーブルされたときに透過的/非同期になるような態様のレベルセンシティブ(level-sensitive)な素子である。
クロック信号およびクロック回路
クロック信号は、ハイ状態とロー状態の間で振動する特定のタイプの信号であり、メトロノームのように利用されてディジタル回路の動作を調整する。クロック信号は、クロック発生器/クロック回路によって生成される。より複雑な構成も使用されるが、最も一般的なクロック信号は、デューティ・サイクル50%の方形波の形態をとり、通常は、固定された一定の周波数を有する。同期のためにクロック信号を使用する回路は、立ち上がりエッジもしくは立ち下がりエッジで、または2倍のデータ転送速度の場合にはクロック・サイクルの立ち上がりエッジと立ち下がりエッジの両方で、活動状態になることがある。十分な複雑さを有する大部分の集積回路(IC)は、ワースト・ケース内部伝搬遅延よりも遅い速度でサイクリングする回路の異なる部分を同期させるために、クロック信号を使用する。ICがより複雑になるにつれて(例えばマイクロプロセッサ)、同期した正確なクロックを全ての回路に供給する課題はますます困難になる。
クロック信号を必要としているチップのあらゆる部分に、最も低いスキューでクロック信号を送る最も効果的な手法は、金属グリッド/ツリー/蛇行(serpentine)/スパイン(spine)である。大型のマイクロプロセッサでは、クロック信号を駆動するために使用される電力が、チップ全体によって使用される全電力の30%を超え得る。エネルギーを節約するためにクロック・ゲーティングを使用してツリーの部分を一時的に遮断すべく、両端にゲートがあり全ての増幅器がゲート間にある構造全体を、サイクルごとにロードおよびアンロードしければならない。クロック分配ネットワーク(またはこのネットワークがツリーを形成しているときにはクロック・ツリー)は、共有のポイントからのクロック信号を、クロック信号を必要としている全ての素子に分配する。
クロック信号は、いくつかの非常に特殊な特性および属性を有する。クロック信号は通常、最も大きなファンアウト(fanout)でロードされ、同期システム内の信号の中で最も速い速度で動作する。データ信号は、クロック信号による時間基準で提供されるため、クロック波形は特にクリーンかつシャープでなければならない。さらに、線寸法が低減されるにつれて長い大域相互接続線の抵抗がかなり大きくなることで、このような線抵抗の増大が、同期性能に対するクロック分配の重要性を増大させる主要な理由の1つになるという点で、これらのクロック信号は、技術スケーリングの影響を特に受ける。最後に、クロック信号の到着時間の差および不確実性の制御は、システム全体の最大性能をひどく制限したり、不正確なデータ信号がレジスタ内でラッチする可能性がある破滅的な乱調状態(catastrophic race condition)を生み出したりすることがある。
クロック不確実性/タイミング不確実性
クロック不確実性は、クロック・エッジが出現する時間の不確実性であり、クロック・スキュー、クロック・ジッタおよびクロック・オーバヘッドによって決定される。クロック不確実性は、(i)影響を受けたチップを廃棄する必要性に帰着する、周波数非依存性の最小遅延(ホールド)不良、および(ii)より低い動作周波数でのチップの販売に帰着する、周波数依存性の最大遅延(セットアップ)不良など、ディジタル回路/チップ設計の実行可能性に対して有害な効果を有し得る。
クロック・スキュー
クロック・スキュー(時にタイミング・スキューと呼ばれる)は、(コンピュータ・システムなどの)同期ディジタル回路システムにおいて、同じ源からのクロック信号が異なる構成要素に異なる時刻に到着する現象である。大部分のディジタル回路の動作は、回路上のデバイスのシーケンスおよびペーシング(pacing)を指令する「クロック」として知られる周期信号によって同期が取られる。このクロックは、単一の源から回路の全ての記憶素子に分配される。この記憶素子は、例えばレジスタまたはフリップ−フロップである。エッジ−トリガ型のレジスタを使用している回路では、クロック・エッジまたはチック(tick)がレジスタに到着したときに、そのレジスタは、レジスタ入力をレジスタ出力に伝達し、これらの新たな出力値が組合せ論理を流れて、次のクロック・チックのためのレジスタ入力にそれらの値を提供する。理想的には、回路全体の振舞いを正確に予測することができるように、それぞれの記憶素子への入力が、次のクロック・チックのためにその最終的な値に適時に達する。システムがランすることができる最大速度は、物理的組成、温度および経路長の違いよって回路のさまざまな素子間に生じる変動を考慮しなければならない。同期回路では、2つのレジスタまたはフリップ−フロップを論理経路が接続している場合、それらの2つのレジスタまたはフリップ−フロップは、「連続して隣り合っている(sequentially adjacent)」と言われる。宛先レジスタ・クロック・ピンおよびソース・レジスタ・クロック・ピンにおけるクロック到着時間がそれぞれTCiおよびTCjに等しい、連続して隣り合った2つのレジスタRおよびRが与えられた場合、クロック・スキューは次のように定義することができる:Tskew i,j=TCi−TCj。クロック・スキューは、チップ上の異なる2つの位置に到着した全く同じ2つのクロック信号の遅延の差を表す(空間的分離)。クロック・スキューの結果、コア・クロックの単一の遷移は、全てのラッチまたはフリップ−フロップに同時に到着しないことがあり得る。
クロック・スキューは、回路のクロック・レートが増大するにつれてタイミングがよりクリティカルになり、回路が適正に機能する場合に許容できる変動がより小さくなるような態様で、多くの異なる事物(例えばワイヤ相互接続長、温度変動、中間デバイスの変動、容量結合、材料不完全性、クロックを使用するデバイスのクロック入力上の入力容量の差)によって引き起こされ得る。2つのタイプのクロック・スキューが存在する。一方のタイプであるポジティブ・スキューは、送信側レジスタが受信側レジスタよりも早くクロック・チックを受信したときに生じる。もう一方のタイプであるネガティブ・スキューは、受信側レジスタが送信側レジスタよりも早くクロック・チックを得たときに生じる。ゼロ・クロック・スキューは、送信側レジスタと受信側レジスタに同時にクロック・チックが到着することを指す。クロック・スキューは、意図的なものであることもまたは意図的なものではないこともある。例えば、意図的なクロック・スキューは、論理ブロック内の乱調状態を修復するためにクロック信号に導入することができ、この修復は通常、可変遅延クロック再生バッファの使用によって達成される。
クロック・ジッタ
クロック・ジッタ/ジッタは、クロック信号生成回路によって導入されるクロック・エッジの不正確さである。クロック・ジッタは、クロック周期またはデューティ・サイクルの統計的変動と見ることができる。クロック・ジッタにより、クロック・ツリー内のいずれかの点でクロック周波数が一定にならないことが起こり得る。ワースト・ケース・ジッタは、使用可能なクロック・サイクル時間を決定し得る。
ジッタは、おそらくは周期的な信号の真の周期性からの偏差であり、しばしば基準クロック信号に関係し、クロック回復(clock recovery)用途ではジッタがタイミング・ジッタと呼ばれる。ジッタは、時間変化する全ての信号と同じ用語(例えば二乗平均平方根(RMS)またはピーク間変位)で定量化することができる。時間変化する他の信号と同様に、スペクトル密度に換算してジッタを表現することもできる。ジッタ周期は、時間とともに規則正しく変化する信号特性の最大効果(または最小効果)の2つの時点間の間隔である。より一般的に引用される数値であるジッタ周波数はその逆数であり、10ヘルツよりも低いジッタ周波数はワンダ(wander)として引用され、10ヘルツ以上の周波数はジッタとして引用される。ジッタは、他の信号の搬送波との電磁干渉およびクロストークによって生じることがある。ジッタは、ディスプレイ・モニタのフリッカ現象を生じさせ、パーソナル・コンピュータ内のプロセッサの性能に影響を及ぼし、音声信号にクリック音または他の望まれていない効果を導入し、ネットワーク・デバイス間の伝送データの損失を引き起こし得る。許容できるジッタの量は影響を受ける用途に依存する。
クロック・ジッタに関しては、ジッタを測定する目的に使用されている一般的に使用される3つのメトリックが、絶対ジッタ、周期ジッタおよびサイクル間ジッタである。絶対ジッタは、理想的な位置と考えられる位置からのクロックのエッジの位置の絶対差を指す。周期ジッタ(すなわちサイクル・ジッタ)は、任意の1つのクロック周期と理想的なクロック周期との差または平均クロック周期との差を指す。周期ジッタは、ディジタル状態機械などの同期回路において重要である傾向があり、回路の誤りのない動作が、可能な最も短いクロック周期によって制限され(最大でない平均周期サイクル・ジッタ)、最短クロック周期が平均クロック周期に近づくように周期ジッタを最小化することによって同期回路が利益を得るような態様で、回路の性能が平均クロック周期によって設定される。サイクル間ジッタは、隣り合った任意の2つのクロック周期の持続時間の差を言い、マイクロプロセッサおよびランダム・アクセス・メモリ(RAM)インタフェースで使用されるいくつかのタイプのクロック生成回路に対して重要であることがある。
クロック・オーバヘッド
クロック・オーバヘッドは、逐次記憶素子(sequential storage element)が入来データをポジティブに記憶する(または分解する)必要がある時間を指す。クロック・オーバヘッドは、逐次記憶素子の準安定特性に直接に関係する。
クロック・バッファ
ある種のクロック・ネットワーク(例えばツリー、グリッドおよび蛇行クロック・ネットワーク)では、満足のいくエッジ・レートを保証し、スキューを低減させるために、クロック信号をバッファする(再生する)必要がある。チップ内の領域またはクラスタへのクロック信号を再生するために、グローバル・クロック・バッファ(GCB)が使用され、GCBは通常、スキュー調整制御を有するように設計される。ローカル・クロック・バッファ/ローカル・クロック・バッファ回路(LCB)は、それぞれのクラスタ内の機能ブロックへのクロック信号を再生する目的に使用され、LCBは通常、電力を低減させるためにクロック信号がオンまたはオフにゲート制御されることを可能にする論理を含む。
パス・トランジスタ論理/パス・ゲート回路
パス・トランジスタ論理(pass transistor logic)(PTL)/パス・ゲート回路(pass gate circuit)は、電圧を供給するために直接に接続されるスイッチとしてトランジスタが使用される代わりに、回路のノード間で論理レベルを受け渡しするためのスイッチとしてトランジスタが使用されるように冗長なトランジスタを排除することによって、異なる論理ゲートを作製するために使用されるトランジスタの数を減らし、その結果として能動デバイスの数を減らす。パス・トランジスタは、周期的なクロック信号によって駆動され、入力信号Vinに応じて寄生容量Cをチャージアップまたはチャージダウンするためのアクセス・スイッチとして機能する。したがって、クロック信号がアクティブ(CK=1)であるときの可能な2つの動作は、論理「1」トランスファ(静電容量Cを論理ハイ・レベルにチャージアップすること)、および論理「0」トランスファ(静電容量Cを論理ロー・レベルにチャージダウンすること)である。いずれにせよ、デプリーション・ロード(depletion load)nMOSインバータの出力は、電圧Vに応じて論理的ロー・レベルまたは論理的ハイ・レベルをとる。
相補的パス・トランジスタ論理(CPL)は、NMOSパス・トランジスタとPMOSパス・トランジスタの両方からなるトランスミッション・ゲートを使用することができる。例えば、CPLは、それぞれゲートがNMOSオンリー型のパス・トランジスタ・ネットワークからなり、その後にCMOS出力インバータが続くような論理ゲートを実装する。CPLはさらに、どのCPLゲートも正信号と相補信号の両方の2つの出力ワイヤを有し、インバータの必要性を排除するような、デュアル・レール・エンコーディング(dual-rail encoding)を使用する論理ゲートを実装することができる。CPLは、直列トランジスタを使用して、CPLの可能な反転出力値間の選択を実行することもでき、その出力はインバータを駆動する。このCMOSトランスミッション・ゲートは、並列に接続されたnMOSおよびpMOSトランジスタからなる。
擬似負荷/擬似負荷回路
擬似負荷(dummy load)/擬似負荷回路は、電気的な負荷をシミュレートするために使用されるデバイスであり、通常は試験目的で使用される。
SKITTERモニタおよびCPMの問題点
CPMは、CPM設計を選択する際に考慮すべき限界、およびチップ上の他のモニタとの重複を有する。例えば、今日のチップ設計に対して使用されている電子設計自動化(EDA)タイミング・ツールは、経路が正のスラック(slack)を有する場合(高速経路)に、サイクル時間を依然として満たしつつ電力を低減させるように、その経路上のゲートのトランジスタ幅が調整されるような態様で、トランジスタのサイズを適当に設定することによって、全ての経路の遅延を等しくすることを試みる。その結果として、Tcminを支配する単一の経路が存在せず、このことは、代表的な単一のクリティカル・パスを識別する際の困難につながる。
さらに、SKITTERモニタおよびCPMの分解能(すなわち異なるディジタル出力を生成することによってそれらが感知することができる信号変動の最小量)も、このようなモニタの中で使用される遅延ゲート(インバータ対)の遅延によって制限される。遅延ゲートの遅延はプロセス技術によって制限される。このような時間ベースのセンサの分解能は、センサの捕捉ラッチの状態を変化させる信号伝搬の最小時間である。このような時間ベースのセンサは、(タイミング不確実性/クロック・スキューの監視用の)CPMまたはSKITTERの限定された分解能を有する。遅延チェーンを横切る信号伝搬が、(遅延をより速くする電源電圧によって)十分な時間にわたって変化し、その結果、信号が1つの追加の遅延ブロックに沿って移動する場合には、センサのラッチにおいてそのような変化を捕捉することができる。しかしながら、信号伝搬が、少量の時間だけ変化する場合には、センサのラッチにおいて出力が観察されないような形で、追加の遅延ブロック全体に沿って信号が移動しない可能性がある。
ドループ検出において、センサ(例えばCPM)はドループの始まりを検出し、遅れ(lag)/待ち時間(latency)の後に、この問題を解決するための解決策が回路に適用される。ドループ(供給電圧の低下)は回路をより低速にする。遅れ/待ち時間が小さいほど、回路が問題ゾーン(すなわち回路の速度があまりに低速であるケース)に入る確率も小さい。回路が、現在のCPMによって決定される問題ゾーンに入る場合、チップの設計者は、(電力が増大することと引き換えに)電源電圧を高くすることによって補償を行い、このような補償の後に、回路が問題ゾーンに入る危険がもはやなくなるようにするであろう。したがって、遅れを小さくすることが、問題ゾーンに入る深さを浅くすることにつながることがあり、その結果、補償がより少なくて済むことがある。
CPMの役割は、ディジタル論理チップが問題ゾーンに入りつつあることを見出すことである。チップが問題ゾーンに入りつつあることを示す情報を考慮して、チップは、この情報を使用し、チップが問題ゾーンから出るようなある対策を適用することになる。この対策は、(限定はされないが)(i)適応クロッキング(すなわち、回路の減速を補償することができるように、クロックを減速させて、回路がより長い時間、機能することができるようにする)、および(2)命令スロットリング(instruction throttling)(すなわち、チップが機能の実行を停止して、タイミング・エラーが起こり得ないようにし、チップ電流を低減させて、チップが問題ゾーンから出るようにする)を含むことができる。
CPMを電圧センサとして使用するとき、遅れはCPM分解能に依存する。したがって、分解能が細かいほど、遅れを小さくすることができる。したがって、ディジタル回路用の時間ベースのセンサでは、分解能をより細かくする必要がある。CPMは、常に問題を感知するが、より細かい分解能が、1レベル(または2レベル以上)の差を生じるのに必要な電圧の量をより小さくし、感知の遅れをより小さくするように、VDDが、CPMの指示が所定のしきい値よりも1、2またはそれよりも大きな単位/レベルだけ小さくなるような十分に小さいものであるときに、CPMは、問題を報告する。CPMのインバータ・チェーンの「分解能」(それぞれのステージの遅延)は、CPMのインバータのインバータ遅延のために5ピコ秒程度に制限されることがある。
CPMの長いサイクル時間の問題点
分解能を増大させるために長いサイクル時間(例えば2/3/4サイクル)でCPMを動作させることも問題となる。例えば、このようなスキームは、1%未満の分解能を得るのに4サイクルを必要とするであろう。さらに、例えば、電圧センサ(CPM)が1つの新たなマージン/電圧値を提供することが3サイクルごとにしか許されていない場合、CPMの分解能はより高くなるであろう。しかしながら、このようなスキームは、CPMから新たなサンプルを出力するためのより長い時間を含むCPM待ち時間につながり得る。ドループが起こっている間の増大した待ち時間は、軽減を遅らせ得る。言い換えると、このスキームは、緊急事態を(いくつかのポイントで)検出するCPMからのサンプルが、(1サイクルごとに1つサンプルをポップアップする場合に対して)遅延していると考えることができるような態様で、マージン/電圧の測定回数の減少に帰着し得る。CPMを電圧センサとして使用するとき、遅れはCPM分解能に依存する。したがって、分解能を細かくすることは遅れを小さくすることにつながり得る。したがって、分解能をより細かくする必要がある。
さらに、このようなスキームは、(長いCPMサイクルの終わりの)読みが、正確さに劣り、ドループ状況ではより楽観的なものとなり得るために、ドループを軽減するための正しい読みではない可能性があるような態様の「平均電圧値」をCPMが提供することにつながり得る。言い換えると、CPMセンサは、3サイクルごとにCPMに1つのサンプルを取得させることがその間隔の中間の値を与えるような形で平均マージン/電圧値を測定する固有の特性を有することができる(供給電圧が急速に低下する場合、そのような測定は楽観的な測定となるであろう)。
システム
図1を参照すると、例示的な実施形態において、本発明は、オンチップ・タイミング不確実性測定の分解能を増大させるシステム100を提供する。例示的な実施形態において、このシステムは、(1)チェーン構成で論理的に結合された遅延回路110、112、114、116のセットであり、(a)遅延回路110、112、114、116のうちのそれぞれの遅延回路が遅延入力および遅延出力を含み、(b)セットの中の第1の遅延回路110の遅延入力が、プログラム可能遅延回路190のプログラム可能遅延回路出力に論理的に結合されており、(c)セットの中の第2の遅延回路112の遅延入力が、第1の遅延回路110の遅延出力に論理的に結合されており、(d)セットの中の残りの遅延回路114、116のうちのそれぞれの遅延回路の遅延入力が、セットの中の直前の遅延回路の遅延出力に論理的に結合されている、遅延回路110、112、114、116のセットと、(2)遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力にそれぞれ論理的に結合された複数のフリップ−フロップ回路120、122、124、126、128、130であり、フリップ−フロップ回路の段140、142を形成しており、(a)フリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路が、フリップ−フロップ入力、クロック入力およびフリップ−フロップ出力を含み、(b)複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力がそれぞれ、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力に論理的に結合されている、複数のフリップ−フロップ回路120、122、124、126、128、130と、(3)フリップ−フロップ回路の段140、142のうちのそれぞれの段にそれぞれ論理的に結合されたクロック回路150、152であり、(a)クロック回路150、152のクロック出力が、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力に論理的に結合されており、(b)クロック回路150、152が、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路150、152のクロック出力から、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力に送信するように論理的に構成されており、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路150、152によって、フリップ−フロップ回路の段140、142に送信される、クロック回路150、152とを含み、(4)遅延回路110、112、114、116のセットの中の第1の遅延回路110の遅延入力が、プログラム可能遅延回路190のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路150、152からのスキュード・クロック信号を、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力上で受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路120、122、124、126、128、130内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路120、122、124、126、128、130のフリップ−フロップ出力を介してそれぞれ示すように、複数のフリップ−フロップ回路120、122、124、126、128、130が論理的に構成されている。
特定の実施形態において、遅延回路110、112、114、116のうちのそれぞれの遅延回路は少なくとも2つのインバータ回路を含む。具体的な実施形態において、遅延回路110、112、114、116のうちのそれぞれの遅延回路は少なくとも2つのインバータ回路を含む。例えば、プログラム可能遅延回路190は、立ち上がりエッジ信号/クロック信号を出力することができる。別の例では、遅延回路のうちのそれぞれの遅延回路の遅延出力に少なくとも2つのフリップ−フロップ回路を論理的に結合することができる。別の例では、遅延回路のうちのそれぞれの遅延回路の遅延出力に2つから8つの間のフリップ−フロップ回路を論理的に結合することができる。具体的な実施形態において、フリップ−フロップ回路120、122、124、126、128、130は、フリップ−フロップ回路120、122、124、126、128、130がフリップ−フロップ回路のクロック入力/クロック・ポート上で立ち上がりエッジを受信したときにフリップ−フロップ回路のフリップ−フロップ入力上でデータを捕捉するマスタ−スレーブ・ディジタル論理素子である。
一実施形態において、論理的結合は、電気接続、光学接続、無線接続および電磁接続を含む。さらに、本発明は、図に示された構成要素の数に限定されない。
一実施形態において、本発明は、インバータの単一のチェーンおよび捕捉ラッチの多数のセットを使用し、ラッチのそれぞれのセットは、異なるクロック信号によってクロッキングされ、異なるクロックは、少量の時間だけスキューされている。このようなスキームを使用することによって、本発明は、時間ベースのセンサ(SKITTERモニタ/CPM)の分解能を増大させることができる。これは、信号伝搬をより正確にカウントすることができるためである。本発明は、ラッチとスキュード・クロックの適正な組合せを使用し、スキュー値を設定するシステムおよび方法を提供する。一実施形態において、本発明は、遅延ブロック(インバータ対)のチェーンおよびラッチを使用して信号の伝搬時間を測定する時間ベースのセンサを提供する。例えば、クロック・サイクルの始めに、インバータ・チェーンの入力に入力信号(通常はディジタル0からディジタル1への遷移)を印加し、入力信号は、インバータのチェーンに沿って伝わり始め、そのサイクルの終わりに、ラッチの状態が、使用されたクロックのサイクル時間および電源電圧値などのパラメータに関する情報を示すような態様で、ラッチが、遅延ブロックの出力を捕捉することができる。
一実施形態において、本発明は、入力ディジタル信号の伝搬時間を測定するための回路/システムおよび方法を提供する。この回路/システムおよび方法は、遅延ブロック(インバータ対)および捕捉ラッチまたはフリップ−フロップを含み、それらは、それぞれの遅延ブロックの出力が、多数のラッチまたはフリップ−フロップによって捕捉されるように形成されており、それらのラッチまたはフリップ−フロップはそれぞれ、異なるクロック信号によってクロッキングされる。さらなる実施形態において、本発明はさらに、異なるクロック信号を生成するためのローカル・クロック・バッファおよびインバータを含み、さらに、それぞれのインバータ入力に、ラッチまたはフリップ−フロップの捕捉クロック信号間の必要なスキューを生成するためのプログラム可能容量性負荷を含む。
一実施形態において、本発明は、それぞれのCPMタップ遅延点に多数のラッチを含み、それぞれのタップにおいて多数の並列測定を効果的に実施することにより、それぞれのタップにおける分解能を増大させ、全体の分解能を増大させることができるように、異なるラッチは、(プログラム可能遅延によって生成/制御された)同じクロックのスキューされたクロックを受信する。一実施形態において、本発明は、必要なスキュード・クロックを生成するシステムおよび方法を提供する。
一実施形態において、本発明は、時間ベースのモニタ(例えばSKITTERモニタ、CPM)のそれぞれのタップ点に多数のラッチを含み、それぞれのラッチは、周波数は同じだがわずかに異なる到着時間(スキュー)を有するクロックを受信し、その結果、1タップ当たり多数の0/1ビットを提供する。これらの多数のビットを結合することによって、本発明は、それぞれのタップ内でどれくらい遠くまでエッジ信号がそれを実施したのかを示すことができ、それによって時間ベースのモニタの分解能を効果的に増大させることができる。
方法
図2を参照すると、例示的な実施形態において、本発明は、オンチップ・タイミング不確実性測定の分解能を増大させる方法200を提供する。例示的な実施形態において、方法200は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信する動作210と、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信する動作212であり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、動作212と、(3)フリップ−フロップ回路の段のうちのそれぞれの段に論理的に結合されたクロック回路によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信する動作214であり、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信される、動作214と、(4)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示す動作216とを含む。
一実施形態において、システム100は、プログラム可能遅延回路190のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路110、112、114、116のセットの中の第1の遅延回路110の遅延入力上で受信する動作210を実行する。一実施形態において、システム100は、遅延回路110、112、114、116のセットの中の第1の遅延回路110の遅延入力が、プログラム可能遅延回路190のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信する動作212を実行し、複数のフリップ−フロップ回路120、124、128、122、126、130はフリップ−フロップ回路の段140、142を形成している。一実施形態において、システム100は、フリップ−フロップ回路の段140、142のうちのそれぞれの段に論理的に結合されたクロック回路150、152によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路150、152のクロック出力から、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力に送信する動作214を実行し、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路150、152によって、フリップ−フロップ回路の段140、142に送信される。一実施形態において、システム100は、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路150、152からのスキュード・クロック信号を、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力上で受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路120、122、124、126、128、130内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路120、122、124、126、128、130によって、複数のフリップ−フロップ回路120、122、124、126、128、130のフリップ−フロップ出力を介してそれぞれ示す動作216を実行する。
図3を参照すると、代替実施形態において、本発明は、オンチップ・タイミング不確実性測定の分解能を増大させる方法250を提供する。代替実施形態において、方法250は、(1)プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信する動作252と、(2)遅延回路のセットの中の第1の遅延回路の遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信する動作254であり、複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、動作254と、(3)遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、遅延回路のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路によって、複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示す動作256とを含む。
一実施形態において、システム100は、プログラム可能遅延回路190のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路110、112、114、116のセットの中の第1の遅延回路110の遅延入力上で受信する動作252を実行する。一実施形態において、システム100は、遅延回路110、112、114、116のセットの中の第1の遅延回路110の遅延入力が、プログラム可能遅延回路190のプログラム可能遅延回路出力からの出力を受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信する動作254を実行し、複数のフリップ−フロップ回路120、124、128、122、126、130はフリップ−フロップ回路の段140、142を形成している。一実施形態において、システム100は、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路120、122、124、126、128、130のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信したことに応答して、およびクロック回路150、152からのスキュード・クロック信号を、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力上で受信したことに応答して、遅延回路110、112、114、116のうちのそれぞれの遅延回路の遅延出力から送信されたエッジ信号が、複数のフリップ−フロップ回路120、122、124、126、128、130内でどれくらい遠くまで伝搬したのかを、複数のフリップ−フロップ回路120、122、124、126、128、130によって、複数のフリップ−フロップ回路120、122、124、126、128、130のフリップ−フロップ出力を介してそれぞれ示す動作256を実行する。
さらなる実施形態において、方法250は、フリップ−フロップ回路の段のうちのそれぞれの段に論理的に結合されたクロック回路によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路のクロック出力から、フリップ−フロップ回路の段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信する動作を含み、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の段に送信される。一実施形態において、システム100は、フリップ−フロップ回路の段140、142のうちのそれぞれの段に対するクロック回路150、152によって、プログラム可能遅延を含むスキュード・クロック信号を、クロック回路150、152のクロック出力から、フリップ−フロップ回路の段140、142のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路120、124、128、122、126、130のクロック入力に送信する動作を実行し、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路150、152によって、フリップ−フロップ回路の段140、142に送信される。
スキュード・クロック信号の生成
プログラム可能遅延によるもの
例示的な実施形態において、この方法は、(a)フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路であり、(i)ローカル・クロック・バッファ回路が、ローカル・クロック・バッファ入力およびローカル・クロック・バッファ出力を含み、(ii)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力がマスタ・クロック回路の出力に論理的に結合された、ローカル・クロック・バッファ回路と、(b)フリップ−フロップ回路の段のうちのそれぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路のセットであり、(i)インバータ回路のうちのそれぞれのインバータ回路がインバータ入力およびインバータ出力を含み、(ii)インバータ回路のセットの中の第1のインバータ回路のインバータ入力が、ローカル・クロック・バッファ回路のローカル・クロック・バッファ出力に論理的に結合されており、(iii)インバータ回路のセットの中の第2のインバータ回路のインバータ入力が、第1のインバータ回路のインバータ出力に論理的に結合されており、(iv)インバータ回路のセットの中の残りのインバータ回路のうちのそれぞれのインバータ回路のインバータ入力が、インバータ回路のセットの中の直前のインバータ回路のインバータ出力に論理的に結合されている、インバータ回路のセットと、(c)フリップ−フロップ回路の段のうちのそれぞれの段に対応するインバータ回路のセットの中のインバータ回路のうちのそれぞれのインバータ回路のインバータ出力に論理的に結合されたパス・ゲート回路および擬似負荷回路のセットであり、パス・ゲート回路および擬似負荷回路のセットが、パス・ゲート回路および擬似負荷回路のセットの制御線が制御信号を受信したことに応答してスキュード・クロック信号のプログラム可能遅延を生成するように論理的に構成された、パス・ゲート回路および擬似負荷回路のセットとを含み、(d)インバータ回路のセットの中の第1のインバータ回路のインバータ入力がローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を受信したことに応答して、およびパス・ゲート回路および擬似負荷回路のセットが、スキュード・クロック信号のプログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信するように、インバータ回路のセットの中の最後のインバータ回路のインバータ出力が論理的に構成されている。例えば、擬似負荷回路は、インバータ回路、キャパシタおよび可変容量性負荷のうちの少なくとも1つとすることができる。
図4を参照すると、例示的な実施形態において、クロック回路150、152は、(a)フリップ−フロップ回路の段140、142(例えば段1、段2)のうちのそれぞれの段に対応するローカル・クロック・バッファ回路310、312(例えばLCB1、LCB2)であり、(i)ローカル・クロック・バッファ回路310、312が、ローカル・クロック・バッファ入力およびローカル・クロック・バッファ出力を含み、(ii)ローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ入力がマスタ・クロック回路(MCC)390の出力に論理的に結合された、ローカル・クロック・バッファ回路310、312と、(b)フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路320、322、324、326のセットであり、(i)インバータ回路320、322、324、326のうちのそれぞれのインバータ回路がインバータ入力およびインバータ出力を含み、(ii)インバータ回路のセットの中の第1のインバータ回路320、324のインバータ入力が、ローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ出力に論理的に結合されており、(iii)インバータ回路のセットの中の第2のインバータ回路のインバータ入力が、第1のインバータ回路320、324のインバータ出力に論理的に結合されており、(iv)インバータ回路のセットの中の残りのインバータ回路のうちのそれぞれのインバータ回路のインバータ入力が、インバータ回路のセットの中の直前のインバータ回路のインバータ出力に論理的に結合されている、インバータ回路320、322、324、326のセットと、(c)フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するインバータ回路のセットの中のインバータ回路320、322、324、326のうちのそれぞれのインバータ回路のインバータ出力に論理的に結合されたパス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットであり、パス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットが、パス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットの制御線が制御信号を受信したことに応答してスキュード・クロック信号のプログラム可能遅延を生成するように論理的に構成された、パス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットとを含み、(d)インバータ回路のセットの中の第1のインバータ回路320、324のインバータ入力がローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ出力からの出力を受信したことに応答して、およびパス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットが、スキュード・クロック信号のプログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の段140、142のうちのそれぞれの段にスキュード・クロック信号を送信するように、インバータ回路のセットの中の最後のインバータ回路322、326のインバータ出力が論理的に構成されている。例えば、ローカル・クロック・バッファ回路310上の遅延をゼロに設定する(パス・ゲート回路330、332のセットが受信する制御信号を介してパス・ゲート回路330、332のセットおよび擬似負荷回路340、342のセットをオフに切り換える)ことにより、本発明は、ローカル・クロック・バッファ回路312上の遅延を増大させる(パス・ゲート回路334、336のセットが受信する制御信号を介してパス・ゲート回路334、336のセットおよび擬似負荷回路344、346のセットのうちの少なくとも1つをオンに切り換える)ことによって、スキューを制御することができる。
例示的な実施形態において、送信することは、(a)マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信することと、(b)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力が、マスタ・クロック回路のマスタ・クロック回路出力からの出力を受信したことに応答して、ローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路のセットの中の第1のインバータ回路のインバータ入力上で受信することと、(c)パス・ゲート回路および擬似負荷回路のセットの制御線が制御信号を受信したことに応答して、パス・ゲート回路および擬似負荷回路のセットによって、スキュード・クロック信号のプログラム可能遅延を生成することと、(d)インバータ回路のセットの中の第1のインバータ回路のインバータ入力がローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を受信したことに応答して、および生成したことに応答して、インバータ回路のセットの中の最後のインバータ回路によって、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信することとを含む。図5を参照すると、例示的な実施形態において、送信する動作214は、(a)マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信する動作360と、(b)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力が、マスタ・クロック回路のマスタ・クロック回路出力からの出力を受信したことに応答して、ローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路のセットの中の第1のインバータ回路のインバータ入力上で受信する動作362と、(c)パス・ゲート回路および擬似負荷回路のセットの制御線が制御信号を受信したことに応答して、パス・ゲート回路および擬似負荷回路のセットによって、スキュード・クロック信号のプログラム可能遅延を生成する動作364と、(d)インバータ回路のセットの中の第1のインバータ回路のインバータ入力がローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を受信したことに応答して、および生成したことに応答して、インバータ回路のセットの中の最後のインバータ回路によって、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信する動作366とを含む。
一実施形態において、クロック回路150、152は、マスタ・クロック回路390のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ入力上で受信する動作360を実行する。一実施形態において、クロック回路150、152は、ローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ入力が、マスタ・クロック回路390のマスタ・クロック回路出力からの出力を受信したことに応答して、ローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ出力からの出力を、フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路320、322、324、326のセットの中の第1のインバータ回路320、324のインバータ入力上で受信する動作362を実行する。一実施形態において、クロック回路150、152は、パス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットの制御線が制御信号を受信したことに応答して、パス・ゲート回路330、332、334、336および擬似負荷回路340、342、344、346のセットによって、スキュード・クロック信号のプログラム可能遅延を生成する動作364を実行する。一実施形態において、クロック回路150、152は、インバータ回路320、322、324、326のセットの中の第1のインバータ回路320、324のインバータ入力がローカル・クロック・バッファ回路310、312のローカル・クロック・バッファ出力からの出力を受信したことに応答して、および生成したことに応答して、インバータ回路320、322、324、326のセットの中の最後のインバータ回路322、326によって、フリップ−フロップ回路の段140、142のうちのそれぞれの段にスキュード・クロック信号を送信する動作366を実行する。
異なる電圧供給値によるもの
例示的な実施形態において、クロック回路は、(a)フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路であり、(i)ローカル・クロック・バッファ回路が、ローカル・クロック・バッファ入力、電圧供給入力およびローカル・クロック・バッファ出力を含み、(ii)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力が、マスタ・クロック回路のマスタ・クロック回路出力に論理的に結合された、ローカル・クロック・バッファ回路と、(b)フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路であり、プログラム可能ヘッダ回路が、スキュード・クロック信号のプログラム可能遅延を生成するように電気的に構成された、プログラム可能ヘッダ回路とを含み、(c)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力が、マスタ・クロック回路のマスタ・クロック回路出力からの出力を受信したことに応答して、およびプログラム可能ヘッダ回路が、スキュード・クロック信号のプログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信するように、ローカル・クロック・バッファ回路のローカル・クロック・バッファ出力が論理的に構成されている。特定の実施形態において、プログラム可能ヘッダ回路は少なくとも1つのトランジスタを含む。特定の実施形態において、この少なくとも1つのトランジスタはp−MOSトランジスタである。例えば、プログラム可能ヘッダ回路は、そのそれぞれのローカル・クロック・バッファ回路に異なる電圧供給を提供することができる。具体的な例では、プログラム可能ヘッダ回路が異なる強度(strength)を有する。さらなる例では、プログラム可能ヘッダ回路がそれぞれ、プログラム可能ヘッダ回路内のトランジスタの数に比例した異なる強度を有する。
図6を参照すると、例示的な実施形態において、クロック回路150、152は、(a)フリップ−フロップ回路の段140、142(例えば段1、段2)のうちのそれぞれの段に対応するローカル・クロック・バッファ回路410、412(例えばLCB1、LCB2)であり、(i)ローカル・クロック・バッファ回路410、412が、ローカル・クロック・バッファ入力、電圧供給入力およびローカル・クロック・バッファ出力を含み、(ii)ローカル・クロック・バッファ回路410、412のローカル・クロック・バッファ入力が、マスタ・クロック回路490のマスタ・クロック回路出力に論理的に結合された、ローカル・クロック・バッファ回路410、412と、(b)フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するローカル・クロック・バッファ回路410、412の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路420、422であり、プログラム可能ヘッダ回路420、422が、スキュード・クロック信号のプログラム可能遅延を生成するように電気的に構成された、プログラム可能ヘッダ回路420、422とを含み、(c)ローカル・クロック・バッファ回路410、412のローカル・クロック・バッファ入力が、マスタ・クロック回路490のマスタ・クロック回路出力からの出力を受信したことに応答して、およびプログラム可能ヘッダ回路420、422が、スキュード・クロック信号のプログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の段140、142のうちのそれぞれの段にスキュード・クロック信号を送信するように、ローカル・クロック・バッファ回路410、412のローカル・クロック・バッファ出力が論理的に構成されている。特定の実施形態において、プログラム可能ヘッダ回路420、422は少なくとも1つのトランジスタ430、432を含む。特定の実施形態において、少なくとも1つのトランジスタ430、432はp−MOSトランジスタである。例えば、ローカル・クロック・バッファ回路410に対するプログラム可能ヘッダ回路420内のヘッダ/トランジスタの数を設定することにより、本発明は、ローカル・クロック・バッファ回路412に対するプログラム可能ヘッダ回路422内のヘッダ/トランジスタの数を変化させることによって、スキューを制御することができる(オンにするヘッダ/トランジスタの数を少なくすると、ローカル・クロック・バッファ回路412上の供給電圧は小さくなり、遅延は大きくなる)。
例示的な実施形態において、送信することは、(a)マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信することと、(b)フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路によって、スキュード・クロック信号のプログラム可能遅延を生成することと、(c)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力がマスタ・クロック回路のマスタ・クロック回路出力からの出力を受信したことに応答して、および生成したことに応答して、ローカル・クロック・バッファ回路によって、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信することとを含む。図7を参照すると、例示的な実施形態において、送信する動作214は、(a)マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信する動作450と、(b)フリップ−フロップ回路の段のうちのそれぞれの段に対応するローカル・クロック・バッファ回路の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路によって、スキュード・クロック信号のプログラム可能遅延を生成する動作452と、(c)ローカル・クロック・バッファ回路のローカル・クロック・バッファ入力がマスタ・クロック回路のマスタ・クロック回路出力からの出力を受信したことに応答して、および生成したことに応答して、ローカル・クロック・バッファ回路によって、フリップ−フロップ回路の段のうちのそれぞれの段にスキュード・クロック信号を送信する動作454とを含む。
一実施形態において、クロック回路150、152は、マスタ・クロック回路490のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するローカル・クロック・バッファ回路410、412のローカル・クロック・バッファ入力上で受信する動作450を実行する。一実施形態において、クロック回路150、152は、フリップ−フロップ回路の段140、142のうちのそれぞれの段に対応するローカル・クロック・バッファ回路410、412の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路420、422によって、スキュード・クロック信号のプログラム可能遅延を生成する動作452を実行する。一実施形態において、クロック回路150、152は、ローカル・クロック・バッファ回路410、412のローカル・クロック・バッファ入力がマスタ・クロック回路490のマスタ・クロック回路出力からの出力を受信したことに応答して、および生成したことに応答して、ローカル・クロック・バッファ回路410、412によって、フリップ−フロップ回路の段140、142のうちのそれぞれの段にスキュード・クロック信号を送信する動作454を実行する。

一実施形態において、本発明は、それぞれの遅延ブロックblockの出力が多数のラッチによって捕捉される遅延ブロックのチェーンを使用する。例えば、「block−i」がi番目の遅延ブロックである場合、latch−i,jは、i番目の遅延ブロックの出力を捕捉するj番目のラッチであるとする。具体的には、例えば、latch i,1は、サイクルの終わりに出力を捕捉することができ、latch i,2は、それよりもわずかに後の時刻に出力を捕捉することができ、latch i,3は、それよりもわずかに後の時刻に出力を捕捉することができ、以下同様である。さらなる例では、DTが、これらのラッチの捕捉クロック間のスキューである場合、信号伝搬がDTだけ変化した場合にlatch i,2の状態が変化することができるように、latch i,2は、latch i,1が補足してから時間DTの後に、伝搬された信号を捕捉することができる。DTは、それぞれの遅延ブロックの遅延よりも小さくすることができる。一実施形態において、本発明は、その結果、時間ベースのセンサの有効分解能を増大させることができる。具体的には、例えば、本発明は、(分解能を増大させるための)多数の連続した測定を必要とすることなしに、オンチップ・タイミング不確実性の測定分解能の増大(おそらく1ピコ秒未満の分解能)を提供することができる。
一実施形態において、本発明はさらに、必要なスキューDTを生成するシステムおよび方法を提供する。さらなる例では、最初の(元の)ラッチ・セットlatch k,1に属する全てのラッチが、それらを駆動するローカル・クロック・バッファ(LCB)からいくつかのインバータ・ゲートを経て到来し、ラッチ「latch k,2」、「latch k,3」などを駆動する残りの全てのクロックが、同じLCBおよびインバータ・ゲートの異なる例から到来し、全てのインバータ・ゲートの入力にプログラム可能キャパシタ負荷を加えることができる。具体的な例では、異なるキャパシタ負荷をオンおよびオフに切り換えることより、インバータ・ゲートの遅延を少量だけ変化させることができ、全体として、全体の必要なスキューDT、2DTなどを生み出すことができる。
図8は、プログラム可能遅延回路190の出力の立ち上がりエッジが、フリップ−フロップ回路120および122を通して伝搬し(フリップ−フロップ回路120および122の論理「1」出力値によって示されている)、フリップ−フロップ回路126を通して伝搬した(フリップ−フロップ回路124の論理「0」出力値およびフリップ−フロップ回路126の論理「1」出力値によって示されている)、2倍の分解能または2X分解能を有する、本発明の一例を示す。
別の例では、図9および図10に示されている2つのタイプのセンサ出力処理によってディジタル回路の電圧を測定するために、センサ(例えばSKITTERモニタ、CPM)内の時間分解能が使用される。図9は例えば、第1のタイプのセンサ出力処理であるしきい値処理を示すグラフ600を示している。図10は、別の例として、第2のタイプのセンサ出力処理である傾き処理を示すグラフ650を示している。CPMに対する典型的な分解能(22ナノメートル設計以上および製品条件)は6〜7ピコ秒以上になることがあり、高周波数プロセッサでは1クロック・サイクルの最大3.5%に達し得る。単一サイクル測定におけるこのような分解能は、CPM値を1サイクルで1だけ変化させるのに25〜30mV超を要する非常に粗い電圧分解能につながり得る。そのような粗い分解能は、しきい値処理と傾き処理の両方で非常に遅いスロットリングにつながり、その結果、ドループに関係した電圧マージンの小部分を軽減し得る。
図9を参照すると、例えば、しきい値処理は、センサ基準電圧を、安全な最小オンチップ電圧/供給電圧に較正すること、および、センサ基準電圧がしきい電圧よりも低い値またはしきい電圧に等しい値を有するときに電圧/供給電圧をスロットリングすることを含む。さらなる例において、センサ基準が最小動作供給電圧よりも1電圧単位(unit of voltage)だけ低い値を有するときに電圧/供給電圧をスロットリングすることは、多くの偽陽性(false positive)につながり得る。本発明によって提供され得るより細かい分解能は、より早い感知、より速い反応およびより多くのドループ軽減につながり得る。具体的には、プロット610の点620において供給電圧のドループをより早く感知/検出することによって、本発明は、より小さな電圧変化630を使用してしきい電圧640を回復させることを可能にすることができる。例えば、良好な分解能は、電圧変化630が2以下の絶対値を有するときであり得る。
図10を参照すると、例えば、傾き処理は、最小動作供給電圧よりも2電圧単位大きいセンサ基準値と最小動作供給電圧(例えば12ボルトと10ボルト)との間のプロット660の傾きを算出すること、および、最小動作供給電圧よりも2電圧単位大きい電圧から最小動作供給電圧へのセンサ基準値の急変が50サイクル/クロック・サイクル未満で起こったときに、電圧/供給電圧をスロットリングすることを含む。本発明によって提供され得るより細かい分解能は、より早い感知、より速い反応およびより多くのドループ軽減につながり得る。具体的には、プロット660の点670において供給電圧のドループをより早く感知/検出することによって、本発明は、より小さな電圧変化680を使用してしきい電圧690を回復させることを可能にすることができる。例えば、良好な分解能は、電圧変化630が、短時間で起こる2以下の絶対値を有するときであり得る。
本発明のさまざまな実施形態の以上の説明は、例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態だけに限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかである。本明細書で使用した用語は、それらの実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改良点を最もよく説明するように、または本明細書に開示された実施形態を他の当業者が理解できるように選択した。

Claims (13)

  1. システムであって、
    チェーン構成で論理的に結合された遅延回路のセットであり、
    前記遅延回路のうちのそれぞれの遅延回路が遅延入力および遅延出力を備え、前記セットの中の第1の遅延回路の前記遅延入力が、プログラム可能遅延回路のプログラム可能遅延回路出力に論理的に結合されており、
    前記セットの中の第2の遅延回路の前記遅延入力が、前記第1の遅延回路の前記遅延出力に論理的に結合されており、
    前記セットの中の残りの遅延回路のうちのそれぞれの遅延回路の前記遅延入力が、前記セットの中の直前の遅延回路の前記遅延出力に論理的に結合されている、
    遅延回路の前記セットと、
    前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力にそれぞれ論理的に結合された複数のフリップ−フロップ回路であり、フリップ−フロップ回路の段を形成しており、
    前記フリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路が、フリップ−フロップ入力、クロック入力およびフリップ−フロップ出力を備え、
    前記複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路の前記フリップ−フロップ入力がそれぞれ、前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力に論理的に結合されている、
    前記複数のフリップ−フロップ回路と、
    フリップ−フロップ回路の前記段のうちのそれぞれの段にそれぞれ論理的に結合されたクロック回路であり、
    前記クロック回路のクロック出力が、フリップ−フロップ回路の前記段のうちの前記それぞれの段の中のそれぞれのフリップ−フロップ回路の前記クロック入力に論理的に結合されており、
    前記クロック回路が、プログラム可能遅延を含むスキュード・クロック信号を、前記クロック回路の前記クロック出力から、フリップ−フロップ回路の前記段のうちの前記それぞれの段の中の前記それぞれのフリップ−フロップ回路の前記クロック入力に送信するように論理的に構成されており、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、クロック回路によって、フリップ−フロップ回路の前記段に送信される、
    前記クロック回路と
    を備え、
    遅延回路の前記セットの中の前記第1の遅延回路の前記遅延入力が、前記プログラム可能遅延回路の前記プログラム可能遅延回路出力からの出力を受信したことに応答して、前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力からの出力を、前記複数のフリップ−フロップ回路のうちの前記それぞれのフリップ−フロップ回路の前記フリップ−フロップ入力上で受信したことに応答して、および前記クロック回路からの前記スキュード・クロック信号を、フリップ−フロップ回路の前記段のうちの前記それぞれの段の中の前記それぞれのフリップ−フロップ回路の前記クロック入力上で受信したことに応答して、前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力から送信されたエッジ信号が、前記複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、前記複数のフリップ−フロップ回路の前記フリップ−フロップ出力を介してそれぞれ示すように、前記複数のフリップ−フロップ回路が論理的に構成された、
    システム。
  2. 前記遅延回路のうちの前記それぞれの遅延回路が少なくとも2つのインバータ回路を備える、請求項1に記載のシステム。
  3. 前記スキュード・クロック信号が共通の周波数を有し、
    前記スキュード・クロック信号のうちのそれぞれのスキュード・クロック信号が、対応するプログラム可能遅延によって決定される異なる到着時間(スキュー)を有する、
    請求項1に記載のシステム。
  4. 前記クロック回路が、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するローカル・クロック・バッファ回路であり、
    前記ローカル・クロック・バッファ回路が、ローカル・クロック・バッファ入力およびローカル・クロック・バッファ出力を備え、
    前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ入力がマスタ・クロック回路の出力に論理的に結合された、
    前記ローカル・クロック・バッファ回路と、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路のセットであり、
    前記インバータ回路のうちのそれぞれのインバータ回路がインバータ入力およびインバータ出力を備え、
    インバータ回路の前記セットの中の第1のインバータ回路の前記インバータ入力が、前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ出力に論理的に結合されており、
    インバータ回路の前記セットの中の第2のインバータ回路の前記インバータ入力が、前記第1のインバータ回路の前記インバータ出力に論理的に結合されており、
    インバータ回路の前記セットの中の残りのインバータ回路のうちのそれぞれのインバータ回路の前記インバータ入力が、インバータ回路の前記セットの中の直前のインバータ回路の前記インバータ出力に論理的に結合されている、
    インバータ回路の前記セットと、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するインバータ回路の前記セットの中の前記インバータ回路のうちのそれぞれのインバータ回路の前記インバータ出力に論理的に結合されたパス・ゲート回路および擬似負荷回路のセットであり、パス・ゲート回路および擬似負荷回路の前記セットが、パス・ゲート回路および擬似負荷回路の前記セットの制御線が制御信号を受信したことに応答して前記スキュード・クロック信号の前記プログラム可能遅延を生成するように論理的に構成された、パス・ゲート回路および擬似負荷回路の前記セットと
    を備え、
    インバータ回路の前記セットの中の前記第1のインバータ回路の前記インバータ入力が前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ出力からの出力を受信したことに応答して、およびパス・ゲート回路および擬似負荷回路の前記セットが前記スキュード・クロック信号の前記プログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の前記段のうちの前記それぞれの段に前記スキュード・クロック信号を送信するように、インバータ回路の前記セットの中の最後のインバータ回路の前記インバータ出力が論理的に構成された、
    請求項1に記載のシステム。
  5. 前記クロック回路が、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するローカル・クロック・バッファ回路であり、
    前記ローカル・クロック・バッファ回路が、ローカル・クロック・バッファ入力、電圧供給入力およびローカル・クロック・バッファ出力を備え、
    前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ入力が、マスタ・クロック回路のマスタ・クロック回路出力に論理的に結合された、
    前記ローカル・クロック・バッファ回路と、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応する前記ローカル・クロック・バッファ回路の前記電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路であり、前記プログラム可能ヘッダ回路が、前記スキュード・クロック信号の前記プログラム可能遅延を生成するように電気的に構成された、前記プログラム可能ヘッダ回路と
    を備え、
    前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ入力が、前記マスタ・クロック回路の前記マスタ・クロック回路出力からの出力を受信したことに応答して、および前記プログラム可能ヘッダ回路が、前記スキュード・クロック信号の前記プログラム可能遅延を生成したことに応答して、フリップ−フロップ回路の前記段のうちの前記それぞれの段に前記スキュード・クロック信号を送信するように、前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ出力が論理的に構成された、
    請求項1に記載のシステム。
  6. 前記プログラム可能ヘッダ回路が少なくとも1つのトランジスタを備える、請求項5に記載のシステム。
  7. 前記少なくとも1つのトランジスタがp−MOSトランジスタである、請求項6に記載のシステム。
  8. 方法であって、
    プログラム可能遅延回路のプログラム可能遅延回路出力からの出力を、チェーン構成で論理的に結合された遅延回路のセットの中の第1の遅延回路の遅延入力上で受信することと、
    遅延回路の前記セットの中の前記第1の遅延回路の前記遅延入力が、前記プログラム可能遅延回路の前記プログラム可能遅延回路出力からの前記出力を受信したことに応答して、前記遅延回路のうちのそれぞれの遅延回路の遅延出力からの出力を、複数のフリップ−フロップ回路のうちのそれぞれのフリップ−フロップ回路のフリップ−フロップ入力上で受信することであり、前記複数のフリップ−フロップ回路がフリップ−フロップ回路の段を形成している、前記受信することと、
    前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力からの前記出力を、前記複数のフリップ−フロップ回路のうちの前記それぞれのフリップ−フロップ回路の前記フリップ−フロップ入力上で受信したことに応答して、およびクロック回路からのスキュード・クロック信号を、フリップ−フロップ回路の前記段のうちのそれぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力上で受信したことに応答して、前記遅延回路のうちの前記それぞれの遅延回路の前記遅延出力から送信されたエッジ信号が、前記複数のフリップ−フロップ回路内でどれくらい遠くまで伝搬したのかを、前記複数のフリップ−フロップ回路によって、前記複数のフリップ−フロップ回路のフリップ−フロップ出力を介してそれぞれ示すことと
    を含む方法。
  9. フリップ−フロップ回路の前記段のうちの前記それぞれの段に対するクロック回路によって、プログラム可能遅延を含むスキュード・クロック信号を、前記クロック回路のクロック出力から、フリップ−フロップ回路の前記段のうちの前記それぞれの段の中のそれぞれのフリップ−フロップ回路のクロック入力に送信することをさらに含み、その結果、対応するプログラム可能遅延を含むスキュード・クロック信号がそれぞれ、前記クロック回路によって、フリップ−フロップ回路の前記段に送信される、請求項8に記載の方法。
  10. 前記遅延回路のうちの前記それぞれの遅延回路が少なくとも2つのインバータ回路を備える、請求項8に記載の方法。
  11. 前記スキュード・クロック信号が共通の周波数を有し、
    前記スキュード・クロック信号のうちのそれぞれのスキュード・クロック信号が、対応するプログラム可能遅延によって決定される異なる到着時間(スキュー)を有する、
    請求項9に記載の方法。
  12. 前記送信することが、
    マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信することと、
    前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ入力が、前記マスタ・クロック回路の前記マスタ・クロック回路出力からの前記出力を受信したことに応答して、前記ローカル・クロック・バッファ回路のローカル・クロック・バッファ出力からの出力を、フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するチェーン構成で論理的に結合されたインバータ回路のセットの中の第1のインバータ回路のインバータ入力上で受信することと、
    パス・ゲート回路および擬似負荷回路のセットの制御線が制御信号を受信したことに応答して、パス・ゲート回路および擬似負荷回路の前記セットによって、前記スキュード・クロック信号の前記プログラム可能遅延を生成することと、
    インバータ回路の前記セットの中の前記第1のインバータ回路の前記インバータ入力が前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ出力からの前記出力を受信したことに応答して、および前記生成に応答して、インバータ回路の前記セットの中の最後のインバータ回路によって、フリップ−フロップ回路の前記段のうちの前記それぞれの段に前記スキュード・クロック信号を送信することと
    を含む、請求項9に記載の方法。
  13. 前記送信することが、
    マスタ・クロック回路のマスタ・クロック回路出力からの出力を、フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応するローカル・クロック・バッファ回路のローカル・クロック・バッファ入力上で受信することと、
    フリップ−フロップ回路の前記段のうちの前記それぞれの段に対応する前記ローカル・クロック・バッファ回路の電圧供給入力に電気的に結合されたプログラム可能ヘッダ回路によって、前記スキュード・クロック信号の前記プログラム可能遅延を生成することと、
    前記ローカル・クロック・バッファ回路の前記ローカル・クロック・バッファ入力が前記マスタ・クロック回路の前記マスタ・クロック回路出力からの前記出力を受信したことに応答して、および前記生成に応答して、前記ローカル・クロック・バッファ回路によって、フリップ−フロップ回路の前記段のうちの前記それぞれの段に前記スキュード・クロック信号を送信することと
    を含む、請求項9に記載の方法。
JP2019568220A 2017-06-16 2018-06-07 オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法 Active JP7116375B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/624,992 2017-06-16
US15/624,992 US10230360B2 (en) 2017-06-16 2017-06-16 Increasing resolution of on-chip timing uncertainty measurements
PCT/IB2018/054109 WO2018229610A1 (en) 2017-06-16 2018-06-07 Increasing resolution of on-chip timing uncertainty measurements

Publications (2)

Publication Number Publication Date
JP2020524332A true JP2020524332A (ja) 2020-08-13
JP7116375B2 JP7116375B2 (ja) 2022-08-10

Family

ID=64658376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019568220A Active JP7116375B2 (ja) 2017-06-16 2018-06-07 オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法

Country Status (6)

Country Link
US (1) US10230360B2 (ja)
JP (1) JP7116375B2 (ja)
CN (1) CN110679087A (ja)
DE (1) DE112018003053T5 (ja)
GB (1) GB2577234B (ja)
WO (1) WO2018229610A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10666242B1 (en) * 2017-10-05 2020-05-26 Cadence Design Systems, Inc. Circuits and methods for reducing asymmetric aging effects of devices
US11095272B2 (en) * 2018-09-21 2021-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Flip-flop cell
US10505553B1 (en) * 2018-11-29 2019-12-10 International Business Machines Corporation Detecting the health of a phase loop lock
KR102681969B1 (ko) * 2019-01-10 2024-07-08 삼성전자주식회사 논리 회로의 at-speed 테스트를 위한 시스템-온-칩 및 그것의 동작 방법
US10990732B1 (en) * 2020-01-30 2021-04-27 Nvidia Corporation System frequency margin recovery via distributed critical path monitors (CPM)
CN113381754B (zh) * 2020-03-10 2024-08-06 意法半导体国际有限公司 用于芯片复位架构的时钟延迟电路
US12055989B2 (en) 2020-03-10 2024-08-06 Stmicroelectronics International N.V. Clock delay circuit for chip reset architecture
US20210011649A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163034A (ja) * 2000-11-29 2002-06-07 Nec Corp クロック制御回路及びクロック制御方法
JP2004032759A (ja) * 2003-06-18 2004-01-29 Nec Corp 遅延調整回路
US20110187433A1 (en) * 2010-01-29 2011-08-04 Infineon Technologies Ag On-Chip Self Calibrating Delay Monitoring Circuitry
JP2012522466A (ja) * 2009-03-30 2012-09-20 クゥアルコム・インコーポレイテッド 改善された分解能を有する時間デジタル変換器(tdc:time−to−digitalconverter)
JP2013219771A (ja) * 2012-04-11 2013-10-24 Freescale Semiconductor Inc 測定を行う回路及び方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100546971B1 (ko) * 2001-02-24 2006-01-31 인터내셔널 비지네스 머신즈 코포레이션 고속 시그널링을 위한 데이터 캡처 방법
US7200769B1 (en) * 2001-08-29 2007-04-03 Altera Corporation Self-compensating delay chain for multiple-date-rate interfaces
US7012956B1 (en) * 2005-02-11 2006-03-14 International Business Machines Corporation Circuit for optimizing a delay line used to de-skew received data signals relative to a received clock signal
US7576569B2 (en) 2006-10-13 2009-08-18 International Business Machines Corporation Circuit for dynamic circuit timing synthesis and monitoring of critical paths and environmental conditions of an integrated circuit
US7427940B2 (en) * 2006-12-29 2008-09-23 Texas Instruments Incorporated Time-to-digital converter with non-inverting buffers, transmission gates and non-linearity corrector, SOC including such converter and method of phase detection for use in synthesizing a clock signal
US7973549B2 (en) 2007-06-12 2011-07-05 International Business Machines Corporation Method and apparatus for calibrating internal pulses in an integrated circuit
US7668037B2 (en) * 2007-11-06 2010-02-23 International Business Machines Corporation Storage array including a local clock buffer with programmable timing
US8433025B2 (en) * 2008-01-04 2013-04-30 Qualcomm Incorporated Digital phase-locked loop with gated time-to-digital converter
JP4443616B2 (ja) 2008-03-07 2010-03-31 株式会社半導体理工学研究センター 時間デジタル変換回路
EP2141797A1 (en) 2008-07-02 2010-01-06 Nxp B.V. Circuit with a time to digital converter and phase measuring method
JP5347534B2 (ja) * 2008-10-16 2013-11-20 日本電気株式会社 位相比較器、pll回路、及び位相比較器の制御方法
JP2010273118A (ja) 2009-05-21 2010-12-02 Toshiba Corp 時間デジタル変換器
US8866527B1 (en) 2010-04-02 2014-10-21 Altera Corporation Integrated circuits with hold time avoidance circuitry
US20110248757A1 (en) * 2010-04-08 2011-10-13 Saket Jalan Digital calibration device and method for high speed digital systems
US8405413B2 (en) 2010-08-23 2013-03-26 International Business Machines Corporation Critical path monitor having selectable operating modes and single edge detection
US8633722B1 (en) * 2010-09-29 2014-01-21 Xilinx, Inc. Method and circuit for testing accuracy of delay circuitry
KR101797625B1 (ko) * 2012-02-16 2017-11-15 한국전자통신연구원 저전력 고해상도 타임투디지털 컨버터
US9207705B2 (en) * 2012-11-07 2015-12-08 Apple Inc. Selectable phase or cycle jitter detector
US8570082B1 (en) * 2013-02-27 2013-10-29 Taiwan Semiconductor Manufacturing Co., Ltd. PVT-free calibration circuit for TDC resolution in ADPLL
US9063519B2 (en) * 2013-08-22 2015-06-23 Taiwan Semiconductor Manufacturing Company, Ltd. Time-to-digital converter and related method
US8941426B1 (en) 2013-12-02 2015-01-27 International Business Machines Corporation Extending a clock frequency range of a critical path monitor
CN104753524B (zh) 2013-12-25 2017-10-31 中国科学院电子学研究所 一种延时锁定环路
CN103839590B (zh) 2014-03-18 2016-09-21 龙芯中科技术有限公司 存储器时序参数的测量装置、方法及存储器芯片
KR101655877B1 (ko) 2014-04-17 2016-09-09 연세대학교 산학협력단 시간 디지털 변환기
US9223295B2 (en) 2014-04-18 2015-12-29 International Business Machines Corporation Time-to-digital converter
US9568548B1 (en) 2015-10-14 2017-02-14 International Business Machines Corporation Measurement of signal delays in microprocessor integrated circuits with sub-picosecond accuracy using frequency stepping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163034A (ja) * 2000-11-29 2002-06-07 Nec Corp クロック制御回路及びクロック制御方法
JP2004032759A (ja) * 2003-06-18 2004-01-29 Nec Corp 遅延調整回路
JP2012522466A (ja) * 2009-03-30 2012-09-20 クゥアルコム・インコーポレイテッド 改善された分解能を有する時間デジタル変換器(tdc:time−to−digitalconverter)
US20110187433A1 (en) * 2010-01-29 2011-08-04 Infineon Technologies Ag On-Chip Self Calibrating Delay Monitoring Circuitry
JP2013219771A (ja) * 2012-04-11 2013-10-24 Freescale Semiconductor Inc 測定を行う回路及び方法

Also Published As

Publication number Publication date
GB2577234B (en) 2020-08-05
GB202000045D0 (en) 2020-02-19
JP7116375B2 (ja) 2022-08-10
DE112018003053T5 (de) 2020-02-27
US20180367128A1 (en) 2018-12-20
GB2577234A (en) 2020-03-18
US10230360B2 (en) 2019-03-12
CN110679087A (zh) 2020-01-10
WO2018229610A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
JP7116375B2 (ja) オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法
US8330478B2 (en) Operating parameter monitoring circuit and method
US7772889B2 (en) Programmable sample clock for empirical setup time selection
US9222971B2 (en) Functional path failure monitor
US7236035B2 (en) Semiconductor device adapted to minimize clock skew
US7500131B2 (en) Training pattern based de-skew mechanism and frame alignment
TW201403619A (zh) 效能特徵監測電路及方法
US7197419B2 (en) System and method for thermal monitoring of IC using sampling periods of invariant duration
US10060971B2 (en) Adjusting latency in a scan cell
KR100395467B1 (ko) 동기 지연회로 및 반도체 집적회로 장치
Chattopadhyay et al. Flexible and reconfigurable mismatch-tolerant serial clock distribution networks
US7120214B2 (en) Synchronous signal transfer and processing device
US6792554B2 (en) Method and system for synchronously transferring data between clock domains sourced by the same clock
JP2014225678A (ja) 半導体集積回路装置
JP5731618B2 (ja) 性能監視用クリティカルパス回路
US10001523B2 (en) Adjusting latency in a scan cell
Metra et al. Clock calibration faults and their impact on quality of high performance microprocessors
US20030020527A1 (en) Parallel push algorithm detecting constraints to minimize clock skew
JP4721552B2 (ja) 半導体集積回路及びその駆動方法
Petre et al. On-chip tap-delay measurements for a digital delay-line used in high-speed inter-chip data communications
Jeong et al. An N/PBTI-Isolated BTI Monitor With a Configurable Switching Network and Calibration for Process Variation in Memory Periphery
Teehan Reliable high-throughput FPGA interconnect using source-synchronous surfing and wave pipelining
Vaddina et al. Self-timed thermal sensing and monitoring of multicore systems
US9178685B1 (en) Techniques to determine signal timing
bin Rosly et al. Design and Analysis of CMOS Linear Feedback Shift Registers for Low Power Application

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211213

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20211213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

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: 20220705

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220713

R150 Certificate of patent or registration of utility model

Ref document number: 7116375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150