JP2016508312A - 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御 - Google Patents

同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御 Download PDF

Info

Publication number
JP2016508312A
JP2016508312A JP2015548013A JP2015548013A JP2016508312A JP 2016508312 A JP2016508312 A JP 2016508312A JP 2015548013 A JP2015548013 A JP 2015548013A JP 2015548013 A JP2015548013 A JP 2015548013A JP 2016508312 A JP2016508312 A JP 2016508312A
Authority
JP
Japan
Prior art keywords
clock signal
clock
chip
signal
frequency
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
JP2015548013A
Other languages
English (en)
Other versions
JP6389188B2 (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 JP2016508312A publication Critical patent/JP2016508312A/ja
Application granted granted Critical
Publication of JP6389188B2 publication Critical patent/JP6389188B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/03Astable circuits
    • H03K3/0315Ring oscillators
    • 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
    • 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
    • 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/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

構成部品であるチップ間の多重レート同期通信を実施できる多重チップ装置の実施形態を開示する。各チップは共通のクロック基準信号を受信してよく、上記クロック基準信号に応じて内部クロック信号を生成してよい。クロック分配ツリー及び位相ロックループを用いて、チップ外周縁のI/O回路構成における内部クロックスキューを生成できる。各チップはまた、受信したクロック基準信号に対して位相整列された内部同期信号を生成してよい。各チップはそれぞれの同期信号を用いて、ソフトウェア選択可能な周波数が低下したクロック信号をチップのI/Oセルに提供する複数のクロック分割器を同期させることができる。このようにして、複数のチップの上記周波数が低下したクロック信号は、低スキュー内部クロック信号に対してエッジ整列され、また共通のクロック基準信号に対して位相整列され、これによって、上記複数のチップのI/Oセルに、多重レートにおける低クロックスキューの同期通信を実施させることができる。【選択図】図7

Description

本出願は電子システムに関し、より詳細には、デジタル電子システム内クロック信号分配ネットワーク、特に多数の処理ユニットを含む集積回路(IC)チップ内におけるクロック分配に関する。
大型で高価なコンピュータシステムに関して、経済的事情からこれらコンピュータシステムは常にビジー状態になってしまう。性能は従来、1秒あたりの計算量として測定されていた。小型で安価なコンピュータに関して、連続的な高速動作は不要であり、これはバッテリ駆動式デバイスにとっては障害でさえある。コンピュータ及びデジタル信号プロセッサ(DSP)の性能は、1ワットあたりの1秒あたりの計算量、又は1ジュールの使用エネルギあたりの計算量として測定されるようになってきている。
1回に数時間も高性能動作が必要とされる、エンターテインメント分野での応用が存在する一方で、小型コンピュータのほとんどの使用は、1分未満の突発的な高性能の発揮を必要とするものである。実際には、小型組み込み型コンピュータ又はデジタル信号プロセッサ(DSP)が低速で良好に動作できる場合、多数の時間間隔が存在する。マイクロコンピュータのための回路技術は、計算速度に比例して電力を消費するため、低速で動作する機会は、電力消費を低下させてバッテリ残量を温存する機会となる。このような機会は個人用電子デバイス(personal electronic devices:PED)に関して最も多くなり得、ここで世間の関心及び注目は、マイクロコンピュータ及びマイクロコンピュータに埋め込まれたDSPに対する要求が大幅に変動する点に置かれる。
単一のプロセッサシステム
1つの処理ユニットのみを備えるコンピュータでは、プロセッサは、システムクロック信号を生成する特別な回路に書き込むことによって、プロセッサ自体の速度を調整できる。これを用いて、平均的な仕事量にシステムクロック周波数を適合させることができる。しかしながら、システムクロック周波数(又はレート)を低下させると、オペレーティングシステムソフトウェアのレジデントカーネル及びその応答時間も遅くなる。実装形態によっては、ユーザは、機械が、1秒あたりの計算量としての性能を上昇させるためにより高速なクロックレートへとアップシフトする必要がある場合に、ポーズを知覚することがある。
単一プロセッサコンピュータ及びその制御ソフトウェアは、また、ユーザ調整可能なタイムアウトを有することが多い。ハードウェアが電力低下モードになればなるほど、システムはその電力使用を、コンピュータの実際の需要に更に精密に適合させることができる。例えばプロセッサは、初期タイムアウトの後に低速かつ低供給電圧状態への切り替えを実施し、比較的長いタイムアウトの後にクロック停止状態への切り替えを実施し、更に長いタイムアウトの後に定電圧スリープ状態への切り替えを実施してよい。これら定電圧状態は、揮発性メモリ内にデータを保持し、これは迅速な再起動のために有利である。プロセッサの電力を完全にオフにしてしまうと、プロセッサの揮発性メモリ内のデータは失われてしまい、プロセッサを再起動するとすぐに、データを不揮発性メモリから再ロードする必要がある。
多重プロセッサシステム
大型の多重プロセッサシステムは、1秒あたりの計算量を改善するための多くの技術を開拓したが、電力管理には比較的積極的でなかった。多数の処理ユニットを含む安価なICチップを用いたPEDの出現により、エネルギ効率に関する要求は大幅に高まっている。
多重処理の利点としては、並列実行のために変換されたアルゴリズムのための計算スループットがはるかに高速となること、異なるプロセッサ及びメモリに処理を分割することによって信頼性及び安全性が向上することが挙げられる。多重プロセッサシステムでは、上記システム自体のプロセッサ上で実行される監視プロセスが、他のプロセッサ上で実行されるアプリケーションプロセスによって遅延することになる可能性が大幅に低下する。
アプリケーション内において、外部イベントに応じていくつかのプロセッサが低速化し、その他のプロセッサが加速し得る。例えばビデオデータを表示するためのビデオプロセッサの性能は、データの種類及びユーザアクティビティに左右され得る。(この例ではビデオプロセッサはビデオ専用の単一のユニットであってよく、又はビデオを並列処理するようプログラムされた複数の処理素子の群であってよい。)ユーザがビデオを編集する際、運動の表示に頻繁なポーズが発生し得る。ポーズ中、ビデオプロセッサを休止速度まで低下させることができ、ここでビデオプロセッサは応答準備状態ではあるが最高速度時より電力の放散が少ない。その一方で、ユーザインタラクションに最適化された異なるプロセッサによってユーザインタフェースを操作できる。
多重プロセッサシステムにおいて電力を温存するための別の方法は、多重プロセッサを、計算の限界経路のための高速クロック、及びその他の部分のためのより低速のクロックという様々なクロック周波数で動作するよう構成することである。電力を節約する機会はアプリケーションソフトウェアに大きく左右されるため、クロック分配ハードウェアを設定可能とする、好ましくはアプリケーションソフトウェアから迅速に設定可能とするべきである。
コンピュータやデジタル信号プロセッサ(DSP)等のデジタル電子システムは、1つ又は複数の多重プロセッサアレイ(multi−processor array:MPA)をますます利用するようになっている。MPAは、複数の処理素子(processing element:PE)、補助メモリ(supporting memory:SM)、高帯域相互接続ネットワーク(interconnect network:IN)としておおまかに定義できる。本明細書で使用される用語「処理素子(processing element)」は、プロセッサ若しくはCPU(中央演算処理装置)、マイクロプロセッサ又はプロセッサコアを指す。MPAの中の単語「アレイ(array)」は、円形次元(ループ又はリング)を含む1、2、3又はそれ以上の次元で利用可能な接続を備えるネットワークによって相互接続された、複数の計算ユニット(これらはそれぞれ処理及び/又はメモリリソースを含んでよい)を意味するものとして、最も広い意味で使用される。なお、製造用媒体が高い配線密度をサポートしていれば、次元が高いMPAをより低い次元の製造用媒体上にマッピングできる。例えば4次元(4D)超立方体の形状を有するMPAは、シリコン集積回路(ICを)チップの積層体上に、又は単一の2Dチップ上に、又は計算ユニットの1Dの線上にさえ、マッピングできる。次元が低いMPAをより高い次元の媒体にマッピングすることもできる。例えば計算ユニットの1Dの線を、ICチップの2D平面上に曲がりくねった形状で展開でき、又はチップの3D積層体へと巻くことができる。MPAは複数の種類の計算ユニットと、プロセッサ及びメモリが散在する構成とを含んでよい。広い意味でのMPAは、MPAの階層又は入れ子構成、特に相互接続されたICチップからなるMPAも含まれ、この場合ICがチップが1つ又は複数のMPAを含み、これらMPAもまた更に深い階層構造を有する。
MPA内又は異なる種類のMPA間に、1つ又は複数の相互接続ネットワーク(IN)が存在してよい。MPA内の相互接続ネットワークの目的は、データ、命令、状態、構成又は制御情報をPE、SM、I/O間で移動させることである。一次相互接続ネットワーク(primary interconnection network:PIN)は、レイテンシ(ソースと移動先との間のデータ送達に関わる時間遅延)が良好ではあるが極めて低いわけではない、高帯域データ移動のために設計されている。データ移動先に、データを他の種類の情報にトランスレートできるハードウェア又はソフトウェアがある場合、PINによって移動されたデータは、上記他の種類の情報にカプセル化される。MPAは他の、二次INを有してもよく、これらはより低い又はより高いレイテンシを示してよいが、一般にはるかに低い帯域を有する。
1つのINは、複数のリンク及び複数のノードからなる。リンクは典型的には、回路基板又はIC上の導電性経路(トラック又はトレース)として実装される、複数の平行な「ワイヤ」のセットからなる。ノードは、これらリンクへの連結のためのポートを含み、これはリンク上で信号を送受信するためのトランスミッタ回路及びレシーバ回路を含む。ノードは、PE又はSMとの通信のための他のポートを有してよい。ノードは、ポートを互いに対して接続するためのデータ経路及びスイッチを含むルータと、1つ又は複数のプロトコルに従ってポートを選択的に接続するためのルータ制御機構とを有する。
高帯域を達成するために、PINの各リンクは多数の平行なワイヤを含んでよい。ノード間の距離が小さければ、リンクは短く、標準CMOSバイナリ信号伝達スキームを使用できる。これは、電源のハイ側の付近の定常信号電圧を、論理1を表す信号状態(H)とし、電源のロー(又はグランド)側の付近の定常信号電圧を他のバイナリ状態(L)とし、論理0を表すものとするものである。この信号伝達スキームでは、1つのワイヤは1ビットの情報を符号化する。例えばICチップ間又は回路基板間等、リンクの長さが長い場合、高速を維持してノイズを除去するには、異なる信号伝達スキームがより適している場合がある。
リンク内の平行なワイヤは、データ又はクロック信号を搬送できる。クロック信号の目的は、伝送回路がデータ信号を変更できる時点、及び受信回路がデータ信号をサンプリングできる時点をマークすることである。適切に設計された回路では、サンプリング時間は、変化したデータ信号が定常値に落ち着いた後で発生する。トランスミッタはクロック信号を用いて、信号状態H又はLへのラインを駆動する際にトリガを行うことができ、レシーバ回路はクロック信号を用いて、データ信号をレジスタにラッチできる。レシーバはクロック信号の立ち上がり(0から1への)遷移においてデータをラッチし、トランスミッタはクロック信号の立ち下がり(1から0への)遷移においてその出力をアップデートするのが従来の一般的な様式である。このような信号状態の遷移の完了までには有限量の時間がかかるが、立ち上がり及び立ち下がり期間が、1ビットを表すために使用される期間と比べて短い場合、遷移は「エッジ(edge)」とも呼ばれ得る。
クロック信号を多数のトランスミッタ及びレシーバ間で共有する場合、これらトランスミッタ及びレシーバは同期されていると言い表され、データ伝送は一般に「同期型(synchronous)」データ伝送と呼ばれる。「非同期型(asynchronous)」データ伝送は単に、共通のクロック信号を用いずにデータ信号を伝送及び受信できるいずれのスキームである。非同期型レシーバは、データ信号のサンプリングに関して同期型レシーバよりも柔軟である。特に、非同期型レシーバは、そのローカルクロック信号とは全く異なる時点においてデータをサンプリング及びラッチできる。いくつかの非同期型レシーバは、入力をオーバサンプリングすることによってデータ信号を得るよう動作する。より単純な非同期型レシーバは、トランスミッタに由来しデータと共に搬送されるクロック(又はストローブ)入力信号を受信し、ストローブ入力は、レシーバの前端部においてデータをラッチし、その後バッファリングされ、同期型出力のためにリタイミングされる。
リンク上でのデータフローを、トランスミッタ又はレシーバによって妨害する必要がある場合がある。トランスミッタが送信するべき新規のデータを一時的に有していない場合、レシーバは、トランスミッタから非準備信号を受信しない限り、データの最後のビットを誤って読み続けることがある。同様に、レシーバがデータを配置するべき場所を一時的に有していない場合、レシーバは、トランスミッタに送信の停止を指示できない限り、到着するデータを誤って無視してしまうことがある。相互接続ネットワークは、これら信号が状態を変化させた場合にノードが何を行うと想定されるかに関するフロー制御及びプロトコル専用の特別な信号を有してよい。これら特別な信号は、リンク自体のワイヤであってよく、又はワイヤのセットのコードパターンであってよい。プロトコルは単純な状態機械を用いて実装される。
典型的なマイクロプロセッサICチップでは、データ伝送は同期型である。しかしながら、より高い性能(1秒あたりの計算)を追求することにより、クロック周波数は更に高く押し上げられてきた(現在約2GHz)。このような高いクロック周波数は、ワイヤが物理的に短いICの内部では妥当であるが、チップI/O及びチップ間リンクに関しては管理が困難である。
信号は極めて高速(1ナノ秒あたり4〜6インチ程度)で回路基板上を伝播するが、回路基板上の微細なワイヤ「トレース」により、トランスミッタは、立ち上がり及び立ち下がり時間を1ナノ秒より短い時間にまで進化させることができる。十分に短い立ち上がり及び立ち下がり時間により、複数のクロック/データ遷移(又はエッジ)は、いずれの所定の瞬間にICチップ間の信号ワイヤ上において遷移中となり得る。
略全てのマイクロプロセッサICチップにおいて、チップI/O回路と共に用いられるクロック信号は、コアで使用されるクロック信号ほど高くない。回路基板上の近接したチップ間の、1秒あたり4ギガワード(各ワード16ビット)程度の高帯域は、平行なワイヤ、低電圧差動信号(low−voltage differential signaling:LVDS)、及び同期型データ伝送によって得られる。回路基板間では、高帯域は平行なワイヤ又は光ファイバと同期型又は非同期型データ伝送を用いて得られる。一般的なダブルデータレート(double data rate:DDR)の一連のインタフェースといった、外部メモリチップを備えた特殊化された回路及びコントローラを使用する。また、シリアライザ/デシリアライザ(serializer & deserializer:SERDES)回路等の高速ビットシリアル通信のために特殊化された回路を使用する。
複数のVLSIチップ及び同期型並列チップ間通信からなる大型システムを構築するために、IOクロックは好ましくは、複数のICチップに亘って同期されるように生成される。これは典型的には、各チップ内の位相ロックループ(phase−locked loop:PLL)によって達成される。PLLは、外部で生成されたクロック基準信号とチップ内部のクロック信号との間の一定の平均位相関係を維持する。基準クロック周波数は典型的には、帯域を制限して基準クロック信号に導入されるノイズを制限するため、及び/又は石英制御型発振器の出力を使用するために、内部クロック周波数より大幅に小さい。
多重周波数クロック
MPAのためのPE、SM、IN、クロック分配ネットワークは、従来のマイクロプロセッサよりも、1つのプロセッサあたりの電力効率が高くなければならない。というのは単に、各MPA ICチップ内には10〜100倍のプロセッサが存在し、合理的なチップサイズ及びそのためのパッケージは、熱を放散させるための性能が制限されているためである。
プロセッサの数が増えると、これらプロセッサの動作に関する瞬間的な要求の変動がより大きくなるため、MPAクロック分配及びその制御機構はまた、より柔軟なものである必要もある。
多重プロセッサシステムでは、プロセッサは、全体としての電力放散を温存することを目的として、供給電圧と、他のプロセッサのクロック周波数とを制御するよう構成できる。単純なアプローチは、一時的に不要となったプロセッサへのクロックをオフにし、更に長い時間間隔に関してはこれらプロセッサの電源をオフにすることである。より洗練されたアプローチは、低速時のプロセッサを高速時に使用するために準備することである。
プロセッサ及びメモリに関して、電力を再びオンにして処理を再開することは、電力をオフにするよりもはるかに複雑である。電力がオンになると、プロセッサはランダム状態となり、回路のリセットとそれに続くクロックのオンが必要となる。そして、プロセッサを既知の準備状態とするため、補助メモリの再ロードのため、及びアプリケーションソフトウェアの実行のために、初期化シーケンスが必要となる。
これら全てに必要な時間がアプリケーションにとって長すぎる場合、僅か数マイクロ秒の事前通知によって最高速度動作を再開できるように、低いクロック周波数で(電力を温存しながら)プロセッサを準備すると有益となり得る。
電力消費
並列計算によってどのようにしてエネルギを温存できるかを理解するために、デジタルCMOS回路が電力を使用する方法について概観する。平均電力使用は基本的に、供給電圧及びクロック周波数に左右される。
CMOSデジタル回路では、論理1及び0は、信号ライン上の高電圧レベル及び低電圧レベルによって表される。信号ラインの状態はハイ又はローである。電力は各信号の状態を変化させる(又は切り替える)ために使用され、そうでない場合回路は、放散電力が漏れ電流のみに由来しており極めて少ない静止状態となる。信号ラインをハイからロー又はローからハイに切り替えるために必要なエネルギは、ライン及びラインに接続されたトランジスタの総静電容量Cに略比例する。トランジスタが信号ラインを切り替えるために必要な電力供給電流は、キャパシタを充電するためのスイッチを通る電流とほとんど同様に、初めは上昇しその後減衰する。切り替えイベントのためにトランジスタを通る、統合された電流(アンペア×秒)は、総静電容量Cにおける電荷Qの変化に等しい。キャパシタの物理的性質から、Q=C×Vであり、ここでCはファラッド、Vはボルトである。充電と放電とをある程度の周波数fで反復することにより、平均切り替え電力:
Pavg=I×V=f×C×V×V=f×C×V2
が得られる。
周波数に対する電力消費のこのような線形の関係は、様々な大きさで広範囲に亘って保持される。極めて低い周波数では電力の底が存在し、ここではDC漏れ電流が全体の電力消費の主な原因となる。極めて高い周波数では、トランジスタは信号ラインを完全に切り替えられる十分な速度を有さず、これによりビットエラーや過剰供給電流が引き起こされる。ビットエラーは、供給されるVを上昇させることによって抑制できる場合もあるが、これによって、回路が過熱によって損傷するまで電力が二次関数的に上昇してしまう。
CMOS回路を迅速に動作させる必要がない場合、比較的低い周波数での動作によりPavgを低下させることができ、供給電圧を低下させることによってPavgを更に低下させることができる。しかしながら、比較的低い電圧での動作により、トランジスタ1つあたりの充電/放電電流が少なくなる。閾値電圧Vthを下回ると、トランジスタは(微小な閾下電流を除いて)オフになる。
並列計算に関するエネルギ節約の機会
並列計算に関する上記機会は、統一型プロセッサを用いる場合よりも単位エネルギあたりの計算が小さくなることである。なぜそうなるかを理解するために、109回の操作を必要とする計算について考える。これには、1GHzの単一プロセッサでは、例えば100W(2Vにおいて平均500mA)の電力供給又は約100ジュールのエネルギにおいて、約1秒かかり得る。同じタイプの100個のプロセッサを同一の電力供給で使用すると、計算時間は、理想的にはプロセッサの数だけ短縮できるが、通信オーバヘッドにより、20msへの50倍の短縮が現実的である。100倍ものプロセッサが1/50の時間間隔で動作するため、必要なエネルギは倍増している。しかしながら、プロセッサの速度を20MHzへと50倍遅くして、元の1秒間隔での固定計算を完了することもできる。これにより、プロセッサ1つあたりの電力放散は2Wまで低下する。
しかしながらここでは、トランジスタは静電容量をそれほど迅速に充放電する必要がないため、供給電圧を低下させることができる。
実際のICチップは、最大供給電圧仕様の1/2に比較的近い最小供給電圧仕様を有してよく、これは内部回路が高速用に設計されていることによるものである場合が多い。
一般化:N倍ものプロセッサを大きな計算において動作させ、これを同一時間で完了することにより、クロック周波数Fを、控えめに見積もって〜2/Nだけ低下させることができ、またVsupplyを約2倍に低下させることができ、ここで10<N<100である。プロセッサ1つあたりの平均動的電力は、(Fp/Fs)×(Vp/Vs)^2だけ低下し、ここで下付き文字pは並列計算(parallel computation)を表し、下付き文字sは単一プロセッサによる計算(single processor computation)を表す。従ってN個のプロセッサに関して、単一の迅速なプロセッサと比較した典型的な動的電力低下は:
Pp/Ps=N×2/N×(1/2)^2=1/2
である。
また、漏れ電流による静止電力消費もまた、供給電圧をより低くすることによって低下させることができる。
当然のことながら、この戦略には物理的限界がある。トランジスタ−ターンオン電圧(Vth)より数十分の1ボルト大きいVddにより、Vthの統計的ばらつきは制限因子となる。製造技術の更なる改良により、Vthのばらつきを低減できる。
MPAにおいて、アレイの離間した部分間のクロックスキューに関する要件を緩和できれば、クロック分配ネットワーク自体において更なる電力の節約が可能となる。これは、ほとんどの信号経路が短く、近接した回路ブロックにのみ接続されているMPAにおいて可能である。例えばHyperXアーキテクチャ(特許文献1参照)は、信号経路が極めて高い割合で短いという上記特性を有する。
例示的な多重プロセッサIC
図1は、本出願のある実施形態が対処するクロック分配ネットワークの設計に関する論点/問題を明示する目的で、多重プロセッサICのある実施形態を図示する。図1に示すように、例示的なhx3100A多重プロセッサICはMPAを備え、これは入力としてクロック信号CLK1及び同期信号SYNCを受信する。CLK1信号、SYNC信号は、CLK1+SYNC生成器によって生成される。CLK1+SYNC生成器は入力として、クロック基準信号CLKREF、クロックバイパス信号Bypass、システム同期信号SYNCINを受信する。hx3100A多重プロセッサICにおいて存在する他の入力及び他の構成部品は図示されていない。クロック基準信号CLKREFは、異なるチップ間の動作を同期させるために使用できるシステム基準クロックであり、図1では発振器OSC1によって生成されるものとして示されている。この図及びその他の図において、構成部品の縮尺は正確ではない。
hx3100A多重プロセッサICのMPAは、相互接続ネットワーク(IN)のノードの11×11メッシュ内に散在するPEの10×10アレイを有する。各INノードは、隣接する4つのPEをサポートするための共有データメモリ(data memory:DM)を含み、各PEは、該PEを取り囲む4つの隣接するノードの共有DMにアクセスできる。各PEはプライベート命令メモリ(instruction memory:IM)を有する。
チップは、内部DC電源分配のために4つの象限に分割され、電力分配ネットワークの正極側は、外部電源に別個に連結できる4つの「ボルテージアイランド(voltage island)」に分割される。分配ネットワークの負極側は、システムゼロ基準「グランド(ground)」に連結される。
象限間の境界を横断する回路は、同一電圧の隣接するボルテージアイランドによって動作するよう、かつ1つのボルテージアイランドがオフに切り替えられた場合に自己保護を行うよう、単純に設計できる。上記境界を横断する回路は更に、レベルシフト回路を追加することによって、異なる非ゼロ電圧の隣接するボルテージアイランドによって動作できるようにすることもできる。レベルシフト回路は当該技術分野では公知であり、容易に追加されるが、これらは追加の電力放散及び信号遅延をもたらし得る。
hx3100Aチップのためのクロック分配ネットワークは、全体として同期されたアレイを維持しながら、プロセッサ及びその補助メモリ(SM)素子と相互接続ネットワーク(IN)との間の適度に大きい(16×)周波数差をサポートする。全てのプロセッサメモリアクセス及びコアアレイにおけるデータ伝送は、グローバルクロック信号に合わせて発生する。
hx3100は、分散型再生成器アーキテクチャを有するクロックツリーを有する。これは、PEとローカルノードとの間のクロックスキューを制限しつつ、比較的低い電力放散でクロック信号をチップの至る所に分配する。Hツリーも考えられたが、これは選択されたツリーよりも多くの再生成器を有することになり、従ってより多くの電力を放散させることになる。Hツリーと比較してこのツリーの欠点は、中央領域が、複数のステップにおいてチップの外周に対してスキューが発生した(位相が前進した)クロック信号を有する点である。しかしながら、そのために上記ツリーが設計される多重プロセッサアーキテクチャは、最も近接したチップへのリンク及び接続の大部分が短く、従ってステップ間のスキューに対する耐性が良好である。
図2は、マクロセルの碁盤目状にチップが分割されている様子を示し、各マクロセルは、再生成器の出力によって供給を受け、均一なクロック信号位相及び内部同期動作を有する。
同心円状のウィンドウフレーム型タイムゾーンの概念において、中央に位置するゾーンは、その根により近接したクロックネットワークをタップオフする。全体の効果は、Hツリーに対して必要な再生成器が少ないことである。図中の円は再生成器を表す。各再生成器は、他の再生成器及び/又はマクロセル(碁盤目の正方形)を駆動するための1つ又は複数の出力を有する。マクロセルへの各出力は、設定可能な分割及び遅延セル(図示せず)を有する。グローバルクロック信号CLK1及び同期信号SYNCは、CLK1+SYNC生成器によってチップのエッジにおいて生成され、中央クロック再生成器へと通信される。
中央クロック再生成器は、チップの4つの象限それぞれ及び各象限内の追加の再生成器へとクロック及びSYNCを4方向に分配する。チップの外周に向かうツリーの延伸部として、更なる分岐を追加する。中央クロック再生成器を除いて、再生成器セルはローカルマクロセルのための出力を有する。ツリーは、同心円状のウィンドウフレームと略同様の形状の一連のタイムゾーンを構成するが、各フレームは正確に長方形の境界を有している必要はなく、又は完全なループを形成する必要はない。
hx3100Aチップ上では、マクロセルは1つのPE及び1つのINノードで構成でき、INノードはDM及びルータを含み、データメモリルータ(data−memory router:DMR)とも呼ばれる。その他のタイプのチップ上では、マクロセルはこれらの要素を上記とは異なる数だけ含んでよい。
hx3100Aクロック分配ネットワークは、DMRのための均一な高周波数を維持しながら、各PEのためのクロック周波数の選択を提供する。個々のPEは、再生成器内に配置されたクロック分割器を用いて、低減されたクロック周波数で動作するよう構成できる。
2の冪乗の分数である周波数(1/(2^N))は、図3に示すようにNビットの長さのバイナリカウンタを用いて容易に生成される。hx3100Aチップ再生成器は4ビットカウンタ及び出力セレクタを用いて、1/2、1/4、1/8、1/16の分数をサポートする。カウンタが(更に幅広い周波数範囲をカバーするために)過剰に長い場合、これは過剰なシリコンのリアルエステートを吸収し始め、これを漏れ電流放散に追加する。
SYNC信号はクロックではなく、CLK1のサイクル16回毎にCLK1と共に一斉通信される、1つのCLK1区間の幅のパルスであり、図4の波形において示すように、再生成器内のPEクロック分割器を同期させるために使用される。図3に示すように、SYNCは16サイクル毎にカウンタをリセットするために使用される。SYNC信号を用いなければ、各分割器が異なる時点において計数を開始する場合があり、従ってCLK1サイクルの増大によって、異なるカウンタの位相が互いに対してずれる場合がある。RegPは再生成器のための構成レジスタであり、これはアプリケーションソフトウェアによってアクセス可能である。RegPの出力のアップデートはSYNC信号に対して整列される。
データ及びアドレスバッファはPEとDMRとの間及びDMR間に位置し、これにより機能停止期間中にデータを保持できる。同一の機構は元々データフローを制御するために使用されているが、低速のPEを最高速度のDMRにインタフェース接続する補助となる。
相互接続ネットワークの帯域幅を維持するために、DMRは低速では動作しないが、これらは一時停止する(クロック入力を休止する)ことができる。DMRの電力放散は通常、要求レートによっても変動し、隣接した低速のPEがより低速のレートの要求を行うと、DMRの電力放散も低下することになる。
図5は、hx3100A上で使用されるグローバルCLK1及びSYNC信号を生成する方法を示す。PLLはチップ入力で構成される。PLLを起動すると、PLLは多数のサイクルの後に平均周波数及び矩形波であるチップ入力CLKREFの位相への位相ロックを実施する。PLLの出力は最高周波数クロック(highest frequency clock:HFC)として示されており、これもまた矩形波であり、これは構成に応じて、典型的にはCLKREFの8〜128倍高い周波数を有してよい。
Logic1を通してソフトウェアアクセス可能なReg0によって構成された多重化装置M1は、HFC又はCLKREF入力を選択し、クロック分割器DIV1に連結されるCLK0信号を出力する。クロック分割器DIV1は、Logic1を通して、同一の又は低下した周波数CLK1を生成するよう構成され、上記CLK1はコアアレイに送信される最高周波数のクロック信号である。カウンタ、CNT0、論理ゲート、NOR1を使用してSYNC信号を生成してよい。
カウンタCNT0は、チップ入力信号SYNCINによって周期的にリセットできる。多重チップシステムでは、1つのhx3100Aを選択してマスターCNT0としてよく、マスターCNTを0によって生成されたSYNCOUT信号からSYNCIN信号を受信することによって、他のhx3100Aチップをそのスレーブとしてよい。しかしながら、高いクロックレートにおいて、チップ間SYNC信号の位相を整列させ、CLKRFEに位相ロックされたクロック上を走るCNT0を適切にリセットするのは困難である。また1以外のいずれのDIV1 I/O周波数比により、HFCサイクルの倍数のチップの内部SYNC信号間に可能な位相のオフセットが発生する。
大半の多重チップシステムでは、チップ間の相互接続は、オンチップ相互接続が動作するよりも低いレートでのデータ伝送のために動作する。これは信号の整合性及び電力放散の両方のために実施される。両チップ上のCLK1が、チップ間接続が歪みなしにサポートできるレートまで下方調整された場合、チップ間の信頼性の高い同期通信を開始できる。しかしながらこれはチップのコアにおけるPE及びDMRの速度を制限し、従って応用範囲を制限する。よってCLK1に比べてI/Oセルのクロックを低速化する必要がある。低速のI/Oセルの利点は、約1000未満の低速化レートに関して、その電力放散が上記低速化レートに略比例して低下し、データパルス幅が増大するにつれてタイミングのマージンが向上することである。
hx3100Aチップでは、I/Oセルは、クロック分配分岐内の最後の再生成器から、及びI/Oセルの位置に配置されていたPEへと向かう出力からクロック信号を受信する。再生成器はCLK1及びSYNC入力を受けるクロック分割器を含む。従ってI/OセルクロックレートはPEクロックレートと同一の様式で構成でき、またチップ間接続にとって望ましいように、CLK1より低速のクロックレートに構成できる。チップの内側では、上述のようにクロック信号を受信するI/Oセルは、最も近接したDMRとの、そしてオンチップネットワーク(IN)を通したチップ内の残りのDMRとの及びPEへの同期通信を維持する。I/OセルとDMRとの間のフローの制御により、データの損失又は二重化を防止するが、低速のI/Oセルに、このセルが処理できるよりも高いレートでデータが送信されると、データのジャムが発生し得る。
2つのチップのPLLへの共有クロック基準信号(CLKREF)の入力によって、CLK1位相安定性及び2つのチップのSYNC信号間の位相安定性がもたらされている間、両方のチップのCNT0カウンタのSYNC生成器は、2つのチップのSYNC信号を正確に整列させるために、CLK1と正確に同一のサイクルでリセットされなければならない。1つのリセット信号が他に対して、CLK1のサイクルのわずか半分程度でも遅延する(即ち「スキューが発生する」)と、2つのCNT0カウンタはスキューが発生したCLK1のサイクル全体をSYNC信号間にロックでき、これはチップ間の信号に関するタイミングのマージンを損なう。一般にリセット信号の間隔tのスキューは、SYNC信号においてnサイクルのCLK1のスキューにつながり、ここでnは、t/tperを最も近い整数値nに丸めたものであり、tperはCLK1の周期である。従って新規のアプローチが望まれている。
米国特許第7415594号
クロック及び選択信号を同期型デジタルシステム全体に分配できる方法及び回路の様々な実施形態を開示する。
一実施形態では、同期型デジタルシステムのクロック分配ネットワーク内のクロック生成回路構成を再構成するための方法が開示される。第1のクロック信号を一次クロックとして生成及び選択してよい。次に第2のクロック信号を、同期型デジタルシステム内でクロック誘発性のエラーを発生させることなく、一次クロックとしての第1のクロックと置換してよい。そして、第2のクロック信号が一次クロックとして作用している間に、クロック生成回路構成を再構成してよい。その後クロック生成回路構成が安定化した後で、同期型デジタルシステム内でクロック誘発性のエラーを発生させることなく、第1のクロック信号を再び一次クロックとして選択してよい。
いくつかの実施形態では、第2のクロック信号は外部クロック信号であってよい。同期型デジタルシステムがチップ上に設けられている他の実施形態では、第2のクロック信号は、外部クロック信号とは独立したオンチップ発振器によって生成してよい。このような実施形態では、オンチップで生成されたクロック信号を一次クロックとして選択することを必要とする条件を検出できる。そしてこの検出に応答して、第2のクロック信号を選択してよい。いくつかの実施形態では、オンチップで生成されたクロック信号の選択を必要とする条件は、同期型デジタルシステムに起こり得る改ざんを示す信号を含んでよい。
いくつかの実施形態では、クロック生成回路構成の再構成は、クロック生成回路構成が異なるレートで電力を放散するように、クロック生成回路構成の少なくとも1つの設定を変更することを含んでよい。いくつかの実施形態では、上記再構成は、クロック生成回路構成の電力を低下させて、クロック生成回路構成をオフ状態とし、その後クロック生成回路構成の電力を上昇させて、クロック生成回路構成をオン状態に戻すことを含んでよい。他の実施形態では、上記再構成は、クロック生成回路構成からクロック入力を除去し、その後クロック生成回路構成へのクロック入力を再開することを含んでよい。更に他の実施形態では、上記再構成は、クロック生成回路構成の標的周波数を変更することを含んでよい。
いくつかの実施形態では、クロック生成回路構成を再構成した後、クロック生成回路構成が安定化されたかどうかを決定してよい。クロック生成回路構成が安定化した後で第1のクロック信号を一次クロックとして選択することは、少なくとも部分的に上記決定に応じて実施してよい。
いくつかの実施形態では、クロック生成回路構成は位相ロックループ(PLL)を備えてよい。クロック生成回路構成が安定化されたかどうかの決定は、PLLが位相ロックを達成したかどうかの決定を含んでよい。
いくつかの実施形態では、クロック生成回路構成の再構成後、所定の時間を経過させることができる。クロック生成回路構成が安定化した後で第1のクロック信号を一次クロックとして選択することは、上記所定の時間だけ待機した後で実施してよい。
一実施形態では、同期型デジタルシステムが開示される。同期型デジタルシステムのクロック生成回路構成は、受信した外部クロック信号に少なくとも部分的に基づいて第1のクロック信号を生成するよう、かつ構成設定をプログラムに従って受信するよう、構成してよい。同期型デジタルシステムのクロック信号セレクタ回路構成は、同期型デジタルシステム内でクロック誘発性のエラーを発生させることなく、一次クロック信号として使用するために複数のクロック信号の中からの選択をプログラムに従って行うよう構成してよい。上記複数のクロック信号は、第1のクロック信号及び外部クロック信号を含んでよい。一次クロック信号を使用して動作するよう構成される同期型デジタルシステムの同期型デジタル論理は、クロック信号セレクタ回路構成に第1のクロック信号を選択させるよう構成してよい。そして同期型デジタル論理は、第1のクロック信号を選択した後、クロック信号セレクタ回路構成に、複数のクロック信号のうち第1のクロック信号以外の1つを選択させてよい。続いて同期型デジタル論理はクロック生成回路構成を再構成してよい。その後同期型デジタル論理は、クロック生成回路構成の再構成に続いてクロック生成回路構成が安定した後、クロック信号セレクタ回路構成に第1のクロック信号を選択させてよい。
いくつかの実施形態では、クロック生成回路構成を再構成するにあたって、同期型デジタル論理は、クロック生成回路構成が異なるレートで電力を放散するように、クロック生成回路構成の少なくとも1つの設定を変更するよう構成してよい。いくつかの実施形態では、同期型デジタル論理は、クロック生成回路構成の電力を低下させて、クロック生成回路構成をオフ状態とし、その後クロック生成回路構成の電力を上昇させて、クロック生成回路構成をオン状態に戻すことができる。他の実施形態では、同期型デジタル論理は、クロック生成回路構成から外部クロック信号を除去し、その後クロック生成回路構成へのクロック入力を再開できる。更に他の実施形態では、同期型デジタル論理は、クロック生成回路構成の標的周波数を変更できる。
いくつかの実施形態では、同期型デジタル論理は、クロック生成回路構成が再構成された後、クロック生成回路構成が安定化されたかどうかを決定する。クロック生成回路構成が安定化した後でクロック信号セレクタ回路構成に第1のクロック信号を選択させることは、少なくとも部分的に上記決定に応じて実施してよい。いくつかの実施形態では、クロック生成回路構成は位相ロックループ(PLL)を備えてよい。クロック生成回路構成が安定化されたかどうかの決定において、同期型デジタル論理は、PLLが位相ロックを達成したかどうかを決定するよう構成してよい。他の実施形態では、同期型デジタル論理は、クロック生成回路構成の再構成後、所定の時間だけ待機するよう構成される。クロック生成回路構成が安定化した後でクロック信号セレクタ回路構成に第1のクロック信号を選択させることは、上記所定の時間だけ待機した後で実施してよい。
同期型デジタルシステムがチップ上に設けられているいくつかの実施形態では、オンチップクロック信号生成器は、第2のクロック信号を外部クロック信号とは独立して生成するよう構成してよい。上記複数のクロック信号は更に、この第2のクロック信号を含んでよい。いくつかの実施形態では、オンチップクロック信号生成器はリング発振器を備える。いくつかの実施形態では、クロック信号セレクタ回路構成は、オンチップで生成されたクロック信号を一次クロックとして選択する必要がある条件に応じて、第2のクロック信号を選択するよう構成してよい。いくつかの実施形態では、上記条件は同期型デジタルシステムに起こり得る改ざんを示す信号を含んでよい。
一実施形態では、チップ上に設けられた同期型デジタルシステムが開示される。同期型デジタルシステムの同期型デジタル論理は、一次クロック信号を用いて動作するよう構成してよい。同期型デジタルシステムのオンチップクロック信号生成器は、同期型デジタルシステムが受信した外部クロック信号とは独立して第1のクロック信号を生成するよう構成してよい。同期型デジタルシステムのクロック信号セレクタ回路構成は、一次クロック信号として使用するために複数のクロック信号の中からの選択を行うよう構成してよい。上記複数のクロック信号は、第1のクロック信号と、外部クロック信号に左右される信号とを含んでよい。クロック信号セレクタ回路構成は更に、クロック選択オーバライド信号が通常動作を示している場合に、ソフトウェア設定可能レジスタの内容に少なくとも部分的に基づいて、複数のクロック信号の中からの選択を行うよう構成してよい。クロック選択オーバライド信号が、一次クロック信号として使用するためのオンチップで生成されたクロック信号の選択を必要とする条件を示している場合、クロック信号セレクタ回路構成は第1のクロック信号を選択してよい。
いくつかの実施形態では、クロック選択オーバライド信号は、改ざん検出信号を含んでよい。一次クロック信号として使用するためのオンチップで生成されたクロック信号の選択を必要とする条件を示すクロック選択オーバライド信号は、同期型デジタルシステムに起こり得る改ざんを示す改ざん検出信号を含んでよい。いくつかの実施形態では、同期型デジタル論理は、改ざん検出信号に応じて、連続クロック信号を必要とする安全対策を実施するよう構成してよい。第1のクロック信号を選択することにより、外部クロック信号が停止されているかどうかに関わらず、安全対策を実施できるようにすることができる。いくつかの実施形態では、安全対策は、同期型デジタル論理の状態情報をクリアすることを含んでよい。
いくつかの実施形態では、クロック選択オーバライド信号はクロック損失信号を含む。一次クロック信号として使用するためのオンチップで生成されたクロック信号の選択を必要とする条件を示すクロック選択オーバライド信号は、外部クロック信号の損失が予想されることを示すクロック損失信号を含む。
いくつかの実施形態では、オンチップクロック信号生成器はリング発振器を備えてよい。
いくつかの実施形態では、クロック信号セレクタ回路構成は、同期型デジタルシステム内でクロック誘発性のエラーを発生させることなく、複数のクロック信号の中からの選択をプログラムに従って行うよう構成してもよい。
一実施形態では、チップ上に設けられた同期型デジタルシステム内でクロック信号エラーを回避する方法が開示される。第1のクロック信号は、同期型デジタルシステムのための一次クロックとして提供してよい。第1のクロック信号は、同期型デジタルシステムが受信した外部クロック信号に左右されるものであってよい。クロック選択オーバライド信号を受信してよく、これは、一次クロック信号として使用するためのオンチップで生成されたクロック信号の選択を必要とする条件を示す。上記受信に応じて、第2のクロック信号を一次クロックとして選択してよい。第2のクロック信号は、外部クロック信号と独立してオンチップクロック信号生成器によって生成してよい。
いくつかの実施形態では、クロック選択オーバライド信号の受信は、同期型デジタルシステムに起こり得る改ざんを示す改ざん検出信号の受信を含んでよい。いくつかの実施形態では、改ざん検出信号に応じて、連続クロック信号を必要とする安全対策を実施してよい。従って第1のクロック信号を選択することにより、外部クロック信号が停止されているかどうかに関わらず、安全対策を実施できるようにすることができる。いくつかの実施形態では、安全対策の実施は、同期型デジタルシステムの状態情報をクリアするためのステップの実行を含んでよい。上記ステップの実行中、第2のクロック信号を一次クロックとして使用してよい。他の実施形態では、クロック選択オーバライド信号の受信は、外部クロック信号の損失が予想されることを示すクロック損失信号の受信を含んでよい。
いくつかの実施形態では、オンチップクロック信号生成器はリング発振器を備えてよい。
いくつかの実施形態では、同期型デジタルシステム内でクロック誘発性のエラーを発生させることなく、第2のクロック信号が一次クロックとして選択される。
一実施形態では、ある装置が開示される。この装置の基準クロック生成器は、基準クロック信号を生成するよう構成してよい。本装置の複数の集積回路チップはそれぞれ、基準クロック生成器に連結される入力ポートを備えてよい。入力ポートは基準クロック信号を受信するよう構成してよい。各チップはまた、基準クロック信号に応じて一次クロック信号を生成するよう構成されたクロック生成回路構成を備えてよい。各チップはまた、一次クロック信号に対してエッジ整列され、かつ基準クロック信号に対して位相整列された同期信号を生成するよう構成された、同期信号生成回路構成を備えてよい。複数のチップの各同期信号は、これらを共通して基準クロック信号に位相整列した結果として位相整列される。各チップはまた、一次クロック信号及び同期信号を受信するよう構成されたクロック分割器回路構成を備えてよい。各チップのクロック分割器回路構成は、一次クロック信号の周波数より低い周波数を有する周波数分割クロック信号を生成してよい。周波数分割クロック信号は同期信号に位相整列してよい。各チップはまた、周波数分割クロック信号をクロック入力として受信するよう構成された入力/出力(I/O)回路構成を備えてよい。各チップのI/Oは、複数のチップのうちの別のチップの各I/O回路構成と通信できる。あるチップの周波数分割クロック信号の周波数は、他のチップの周波数分割クロック信号の各周波数と同一であり、あるチップの周波数分割クロック信号は、他のチップの各周波数分割クロック信号と位相整列される。
いくつかの実施形態では、各チップに関して、クロック生成回路構成は、基準クロック信号を受信して、基準クロック信号の周波数よりはるかに高い周波数を有する高周波数クロック信号を生成するよう構成された位相ロックループ(PLL)を備えてよい。
いくつかの実施形態では、各チップのI/O回路構成は複数のI/Oセルを備えてよい。各チップは更に、クロック及び同期信号分配ネットワークを備えてよい。各チップの分配ネットワークは、一次クロック信号を受信するよう構成された供給点を備えてよい。各チップの分配ネットワークはまた、供給点に接続されたファンアウト回路構成を備えてよい。ファンアウト回路構成は、供給点と複数のI/Oセルのうちの各I/Oセルとの間に均一な遅延が得られるように、供給点からI/O回路構成へと一次クロック信号を伝播させるよう構成してよい。各チップの分配ネットワークはまた、ファンアウト回路構成全体に亘って位置決めされた複数の再生成器を備えてよい。
いくつかのこのような実施形態では、各チップのクロック生成回路構成はPLLを備える。各PLLは、基準クロック信号を受信し、高周波数クロック信号出力を生成し、上記高周波数クロック信号の遅延したコピーであるフィードバック信号を受信するよう構成してよい。フィードバック信号は基準クロック信号に位相ロックされる。各チップのクロック生成回路構成はまた、PLLのためのフィードバック経路を備えてもよい。このフィードバック経路は、クロック及び同期信号分配ネットワークを通して、高周波数クロック出力から、PLLの近傍に位置するI/Oセルのうちの1つに対して供給を行う再生成器への一次クロックと平行であってよい。フィードバック経路はPLLのフィードバック入力まで設けられる。
いくつかの実施形態では、各チップの同期信号生成回路構成は、基準クロック信号のクロックエッジを検出するよう構成されたエッジ検出器と、カウンタとを備えてよい。各カウンタは、一次クロック信号に基づいて計数値をアップデートし、エッジ検出器の出力に基づいて計数値をリセットし、計数値が特定の値に一致した場合に1パルスの同期信号を出力するよう構成してよい。
いくつかの実施形態では、基準クロック生成器と、複数のチップのうち第1のチップとの間の基準クロック信号の伝播遅延は、基準クロック生成器と、複数のチップのうち第2のチップとの間の基準クロック信号の伝播遅延と略等しい。従って、第1のチップが受信する基準クロック信号と第2のチップが受信する基準クロック信号との間のクロックスキューは最小化される。
いくつかの実施形態では、複数のチップのうち第1のチップのクロック生成回路構成と、この第1のチップのクロック分割器回路構成との間の各一次クロック信号の伝播遅延は、複数のチップのうち第2のチップのクロック生成回路構成と、この第2のチップのクロック分割器回路構成との間の各一次クロック信号の伝播遅延と略等しい。
一実施形態では、第1のチップと第2のチップとの間のデジタル通信を同期するための方法が開示される。各チップにおいて外部基準クロック信号を受信してよい。次に各チップは、基準クロックの周波数の設定可能な倍数である周波数を有する高周波数クロック信号をそれぞれ生成してよい。続いて各チップは、外部基準クロック信号に応じて同期信号をそれぞれ生成してよい。第1のチップ及び第2のチップそれぞれの同期信号は、これらが共に外部基準クロック信号に左右される結果として位相整列されている。各チップは、チップ上に設けられた各同期型デジタルシステムに対して、各高周波数クロック信号に応じた一次クロック信号をそれぞれ分配してよい。チップの複数のI/Oセルそれぞれにおける一次クロック信号は、各高周波数クロック信号に対して均一に遅延してよい。各チップは各一次クロック信号を周波数分割して、各一次クロック信号よりも低い周波数を有する周波数分割クロック信号をそれぞれ生成してよい。上記周波数分割は、第1のチップの周波数分割クロック信号と第2のチップの周波数分割クロック信号とがエッジ整列されるよう、各同期信号を用いてよい。第1のチップの第1のI/Oセルと第2のチップの第2のI/Oセルとの間でデジタル通信を実施してよく、第1のI/Oセルは、第1のチップの周波数分割クロック信号をクロック入力として使用し、第2のI/Oセルは、第2のチップの周波数分割クロック信号をクロック入力として使用する。
いくつかの実施形態では、各同期信号の生成は、外部基準クロック信号のエッジの決定と、外部基準クロック信号のエッジの決定に応じた同期信号のパルスの生成とを含む。いくつかの実施形態では、同期信号のパルスの生成は、特定のカウンタ値に達したらすぐにパルスを出力するよう構成されたカウンタをリセットすることを含んでよい。カウンタはクロック入力として一次クロック信号を使用してよい。
いくつかの実施形態では、各高周波数クロック信号の生成は、位相ロックループ(PLL)からの高周波数クロック信号の出力を含んでよい。いくつかの実施形態では、各高周波数クロック信号の生成は更に、PLLへのフィードバック信号の提供を含んでよい。フィードバック信号の経路は、供給点からチップのI/Oセルへの一次クロック信号の経路と平行であってよい。
図1は、従来技術によるシステムのある実施形態を示すブロック図である。 図2は、従来技術によるシステムのクロック分配ネットワークのある実施形態を示すブロック図である。 図3は、従来技術によるシステムのクロック分割器のある実施形態のブロック図である。 図4は、従来技術によるシステムの例示的なクロック分割器波形を示す。 図5は、従来技術によるシステムのクロック及びSYNC信号生成器のある実施形態のブロック図である。 図6は、同期型デジタルシステムのある実施形態を示すブロック図である。 図7は、クロック及びSYNC信号生成器のある実施形態を示すブロック図である。 図8は、従来技術による単純な2入力多重化装置のある実施形態のブロック図である。 図9は、従来技術による多重化装置の動作から得られる例示的な波形を示す。 図10は、デグリッチ強化を有する単純な2入力多重化装置のある実施形態のブロック図である。 図11は、図10の多重化装置が含む状態機械の動作を示す状態図である。 図12は、図10の多重化装置が含む別の状態機械の動作を示す状態図である。 図13は、図10の多重化装置の動作から得られる例示的な波形を示す。 図14は、下流の回路構成においてクロック誘発性のエラーを発生させることなくクロック生成回路構成を再構成するための方法のある実施形態を示すフローチャートである。 図15は、チップ上に設けられた同期型デジタルシステム内でのクロック信号のエラーを回避するための方法のある実施形態を示すフローチャートである。 図16は、2つの集積回路(IC)チップ間の入力/出力(I/O)通信を示すブロック図である。 図17は、図7のPLLのためのフィードバック経路のある実施形態を示すブロック図である。 図18は、第1のICチップと第2のICチップとの間のデジタル通信を同期させるための方法のある実施形態を示すフローチャートである。
本発明は様々な修正及び代替形態を許容するものであるが、その具体的な実施形態を例として図面に示し、また本明細書で詳細に説明する。しかしながら、上記具体的実施形態の図及び詳細な説明は、図示されている特定の形態に開示を限定することを意図したものではなく、反対に、添付の請求項によって定義されるような本開示の精神及び範囲内にある全ての修正例、均等物及び代替例を包含することを意図したものであることを理解されたい。本明細書において使用されている見出しは、単に組織化を目的としたものであり、これらの使用は本説明の範囲の限定を意味しない。本出願全体を通して使用される単語「してよい/し得る/できる(may)」は、許容の意味で(即ち「可能性がある」ことを意味して)使用されており、強制の意味で(即ち「しなければならない」ことを意味して)使用されるものではない。同様に、単語「含む(include/including/includes)」は、ある対象を含むもののそれに限定されないことを意味する。
フローチャートは、例示的実施形態を例示するために提供されるものであり、図示されている特定のステップに本開示を限定することを意図したものではない。様々な実施形態において、図示されている方法の要素のうちのいくつかを同時に実施してよく、図示したものと異なる順序で実施してよく、又は省略してよい。必要に応じて追加の方法要素を実施してもよい。
様々なユニット、回路又はその他の構成部品は、1つ又は複数のタスクを実施する「よう構成される(configured to)」として記載され得る。このような文脈において「よう構成される」は、動作中に上記1つ又は複数のタスクを実施する「回路構成を有する」ことを一般に意味する、構造の広範な説明である。従ってユニット/回路/構成部品は、ユニット/回路/構成部品が現在オンでなくても上記タスクを実施するよう構成できる。一般に「よう構成される」に対応する構造を形成する回路構成は、ハードウェア回路を含んでよい。同様に、記載を簡略化するために、様々なユニット/回路/構成部品は、1つ又は複数のタスクを実施するとして記載され得る。このような記載は「よう構成される」という語句を含むものとして解釈されるものとする。1つ又は複数のタスクを実施するよう構成されるユニット/回路/構成部品の列挙は、これらユニット/回路/構成部品に関して米国特許法第112条第6段落の解釈を援用しないことを明示的に意図したものである。より一般には、いずれの要素の列挙は、「…のための手段(means for)」又は「…のためのステップ(step for)」という語句が具体的に使用されていない限り、上記要素に関して米国特許法第112条第6段落の解釈を援用しないことを明示的に意図したものである。
参照による援用
Michael B.Doerr、William H.Hallidy、David A.Gibson、Craig M.Chaseを発明者とする、発明の名称「Processing System With Interspersed Stall Propagating Processors And Communication Elements」の米国特許第7415594号は、その全体を参照することにより、本明細書においてその全体が完全に論述されているかのように、本明細書に援用されるものとする。
Michael B.Doerr、Carl S.Dobbs、Michael B.Solka、Michael R Trocino、David A.Gibsonを発明者とする、2011年10月14日出願の、発明の名称「Disabling Communication in a Multiprocessor System」の米国特許出願第13/274138号は、その全体を参照することにより、本明細書においてその全体が完全に論述されているかのように、本明細書に援用されるものとする。
用語
ハードウェア構成プログラム:例えば集積回路等のハードウェアをプログラム又は構成するために使用できる、バイナリイメージにコンパイルできるソーステキストからなるプログラム。
コンピュータシステム:パーソナルコンピュータシステム(PC)、メインフレームコンピュータシステム、ワークステーション、ネットワーク家電、インターネット家電、パーソナルデジタルアシスタント(PDA)、テレビジョンシステム、グリッドコンピューティングシステム若しくはその他のデバイス又はデバイスの組み合わせを含む、様々なタイプの計算又は処理システムのいずれか。一般に、用語「コンピュータシステム」は、メモリ媒体からの命令を実行する少なくとも1つのプロセッサを有するいずれのデバイス(又は複数のデバイスの組み合わせ)を包含するものとして広く定義できる。
自動的に(automatically):その動作又は操作を直接指定又は実施するユーザ入力を必要とせずに、コンピュータシステムが実施する動作又は操作(例えばコンピュータシステムが実行するソフトウェア)について用いる。従って用語「自動的に」は、ユーザが手動で実施又は指定する操作(ここでユーザが操作を直接実施するために入力を提供する)と対照的なものである。自動処理は、ユーザが提供する入力によって開始される場合があるが、これに続く「自動的に」実施される動作は、ユーザが指定するものではなく、即ち「手動で」実施される(ユーザが各動作の実施を指定する)ものではない。例えばユーザが、各フィールドを選択し、(例えば情報をタイピングすることによって、チェックボックスを選択することによって、無線選択によって等で)情報を指定する入力を提供することによって、電子フォームを埋める場合、仮にコンピュータシステムがユーザの動作に応答して上記フォームを更新しなければならないとしても、これは上記フォームを手動で埋めたことになる。このようなフォームはコンピュータシステムによって自動で埋めることができ、この場合コンピュータシステム(例えばコンピュータシステム上で実行されるソフトウェア)は、フォームのフィールドを分析して、フィールドへの回答を指定するいずれのユーザ入力を必要とせずにフォームを埋める。上述のように、ユーザはフォームを自動で埋める動作を発動する場合はあるが、実際にフォームを埋める動作には関わらない(例えばユーザはフィールドへの回答を手動で指定せず、回答は自動的に完了する)。本明細書は、ユーザが行う動作に応答して自動的に実施される操作の様々な例を提供する。
例示的な同期型デジタルシステム
図6は、クロック分配ネットワークを備える同期型デジタルシステムのある実施形態を示す。この図の実施形態は1つのチップ上に設けられているものとして図示されているが、他の実施形態は複数のチップ及び追加の構成部品を備えてよい。あるいは複数の同期型デジタルシステムを単一のチップ上に設けてよい。本開示のシステムは同期型デジタルシステムと呼ばれるが、このシステムの特定の構成部品は非同期的に動作し得る。例えば同期型デジタルシステムは、システムのその他の部分とは非同期的に動作するリング発振器を備えてよい。同様にこのシステムはアナログ構成部品を備えてよい。このシステムを「同期型デジタルシステム(synchronous digital system)」と呼ぶ意味は、システムの少なくとも大部分が、共通のクロック又は複数の関連するクロックに基づいて動作するデジタル論理を含むことを示唆することのみである。
図6に示すように、同期型デジタルシステムはデジタル論理のセクションを備える。いくつかの実施形態では、デジタル論理は多重プロセッサアレイ(MPA)を備えてよい。デジタル論理は入力として、クロック信号CLK1及び同期信号SYNCを受信する。CLK1及びSYNC信号は、CLK1+SYNC生成器によって生成される。CLK1+SYNC生成器は入力として、クロック基準信号CLKREF、クロックバイパス信号Bypass、信号ClockOverrideを受信する。他の実施形態では、他の多数の入力が可能である。図6に示すように、入力は、チップの入力ピンからCLK1+SYNC生成器に供給されるものとして示されている。しかしながら他の実施形態では、これら信号はオンチップで生成してよい。クロック基準信号CLKREFは、異なるチップ間の動作を同期させるために使用できるシステム基準クロックであり、従って図6の実施形態では、同期型デジタルシステムの外部で発振器OSC1によって生成されるものとして示されている。
図7は、CLK1+SYNC生成器のある実施形態を更に詳細に示す。図示したように、CLK1+SYNC生成器は入力としてCLKREF信号、BYPASS信号、ClockOverride信号を得て、出力としてCLK1信号、SYNC信号を供給する。CLK1+SYNC生成器はまた、ソフトウェアからデータを受信できるレジスタConfigurationReg0と、ソフトウェアから取得できる状態情報を保存できるレジスタStatusReg1とを備える。上記状態情報は例えば、PLLロック状態、クロック入力信号の損失を含んでよい。
図7では、CLK1生成器部分は位相ロックループ(PLL)、リング発振器、3つの多重化装置、何らかの論理、構成レジスタ、状態レジスタからなる。
入力信号CLKREFはPLLに提供され、PLLは出力としてシステムの最高周波数クロック信号(highest frequency clock signal:HFC)を提供する。図7のPLLは、様々な設定可能なクロック分割器、選択論理、クロック信号を構成するための当該技術分野で公知のその他の構成部品を備えてよい。他の実施形態では、PLLは、デジタル位相ロックループ(digital phase−locked loop:DPLL)、遅延ロックループ(delay−locked loop)又はその他のクロック生成回路構成で置換してよい。
入力信号CLKREF、クロック信号HFCは共に入力として多重化装置M1に提供され、これは入力信号BYPASSによって、及び論理ブロックLogic1からの信号によって制御でき、論理ブロックLogic1はConfigurationReg0及びPLLからの入力を受信する。多重化装置M1はクロック信号CLK0を出力する。
リング発振器RingOsc.は出力としてクロック信号CLKROを提供し、これはCLKREFに、又は同期型デジタルシステムが受信する他のいずれのクロック信号に左右されない。クロック信号CLK0、CLKROは入力として多重化装置M2に提供され、これは論理ブロックLogic1からの信号によって制御できる。
クロック信号CLKRO及び多重化装置M2の出力クロック信号は入力として多重化装置M3に提供され、これは入力信号ClockOverrideによって制御できる。多重化装置M3は出力信号CLK1を出力し、これはCLK1+SYNC生成器を出る前にバッファリングできる。
いくつかの実施形態では、追加のクロック分割器又は他の回路構成を多重化装置M1〜M3間及び/又は多重化装置M1〜M3の後に点在させてよい。
図7では、SYNC生成器部分はデータフリップフロップ(DF1、DF2)、カウンタ(CNT0)、いくつかの論理ゲートからなる。クロック信号CLK1はインバータに提供され、反転されたクロック信号はClock入力としてカウンタCNT0に提供される。カウンタCNT0の複数の出力は論理「nor」ゲートに供給され、これは出力として同期信号SYNCを提供する。よって図示したように、SYNCは、CNT0の全ての出力が低い場合、即ちCNT0の計数がゼロの場合にのみ高くなる。しかしながら他の実施形態では、CNT0の出力は更に、NOR1に提供される前に、当該技術分野で公知であるように、CNT0の出力が他の値に対応する場合にSYNCが高くなるように構成してよい。CNT0は4ビットカウンタとして示されているが、他の実施形態はその他のサイズのカウンタ又は可変サイズのカウンタを利用してよい。出力信号SYNCは、CLK1+SYNC生成器を出る前にバッファリングできる。
入力信号CLKREFはエッジ検出器に提供され、これはDF1、DF2を備える立ち上がりエッジ検出器として図示されており、DF1、DF2はCLK1及び論理「and」ゲートAND1によってクロック供給される。他の実施形態では、低下したレートで同期的に通信する必要がある全てのチップが同一のエッジを使用する限りにおいて、立ち下がりエッジ検出器を含む他のエッジ検出器を使用してよい。エッジ検出器の出力は信号CLKREFrisingであり、これはカウンタCNT0のReset入力に提供される。
CLK1+SYNC生成器の機能について、図8〜18を参照して更に完全に説明する。
デグリッチされたクロック信号の選択
図7に示すように、多重化装置M1〜M3により、クロック信号CLK1として使用するために様々なクロック信号を選択できる。多重化装置M1〜M2は、基準クロック信号CLKREFからクロック信号源を、PLLからクロック信号HFCを、又はオンチップリング発振器RingOsc.からクロック信号CLKROを選択するよう設定できるソフトウェアである。多重化装置をあるクロック信号源から別のクロック信号源へと切り替えると、多重化装置は歪み及びノイズをその出力信号に導入してしまう場合があり、これは下流の回路の障害を引き起こし得る。クロック分配の前端におけるグリッチはチップ全体に亘って伝播でき、その経路に沿ったいずれの場所において機能的エラーを引き起こし得る。グリッチはまた、タイミングマージンを減少させるため望ましくない。従来技術では典型的には、新規のクロック信号源の選択の後に下流の回路のリセットが続き、これは下流の回路を再開始のための既知の状態として、グリッチのいずれの悪影響を除去する。
「オンザフライ(on the fly)」クロック信号源を、第1のクロック源から第1のクロック源と同期していない第2のクロック源に切り替えると、多重化装置が入力クロックパルスを遮断し、短いパルスを放出するか又は比較的長いパルスにノッチを発生させる。これら短いパルスはまとめてグリッチと呼ばれる。
多重化装置M1〜M3からの出力にグリッチが発生する可能性を削減するために、多重化装置M1〜M3のうちの1つ又は複数はデグリッチ回路によって強化できる。
従来の多重化装置は、複数の信号入力からの選択を行うために使用される複数のゲートの単なる組み合わせである。基本的な2入力多重化装置(2−in mux)の概略図を図8に示す。選択入力信号SELが変化する4つのケースに関して、典型的な波形を図9に示す。クロック信号CLK0、CLK1の波形は単なる例であり、多数のその他の周波数又は位相ミスマッチが可能である。図示した各ケースに関して、OUT信号においてグリッチが観察され、円で囲んで示されている。図示したように、ハイ方向又はロー方向に小さなグリッチ及び大きなグリッチが発生し得る。
図10は、デグリッチ強化を有する単純な2入力多重化装置のある実施形態のブロック図である。この実施形態の強化は状態機械のペアを備え、これらはそれぞれ、SEL、CLK0、CLK1入力からの入力、及び互いからの入力を受け取ることができる。しかしながら他の実施形態では、ここで図示した2つの状態機械の機能と同様の機能を有する1つ又は複数の状態機械を利用してよいことは、当業者であれば理解できるだろう。
図11の状態図は、状態機械SM0の動作を説明している。リセット時、SM0は状態SM0_OFFに設定される。状態SM0_OFFでは、選択信号SEL0は論理0に設定される。選択信号SELが論理0に設定されていることを検出すると、SM0は状態SM0_WAITに遷移する。状態SM0_WAITでは、SEL0は0に設定されたままである。SM0が状態SM0_WAITである間にSELが論理1に変化すると、SM0は状態SM0_OFFに戻るように遷移する。あるいはSM0が状態SM0_WAITである間に、SELが0のままでありSM1が状態SM1_OFFであることをSM0が検出すると、SM0は状態SM0_ONに遷移する。状態SM0_ONでは、SEL0は1に設定される。SELが1であることが検出されると、SM0は状態SM0_OFFに戻るように遷移する。
図12の状態図は、状態機械SM1の動作を説明している。リセット時、SM1は状態SM1_OFFに設定される。状態SM1_OFFでは、選択信号SEL1は論理0に設定される。選択信号SELが論理1に設定されていることを検出すると、SM1は状態SM1_WAITに遷移する。状態SM1_WAITでは、SEL1は0に設定されたままである。SM1が状態SM1_WAITである間にSELが論理0に変化すると、SM1は状態SM1_OFFに戻るように遷移する。あるいはSM1が状態SM1_WAITである間に、SELが1のままでありSM0が状態SM0_OFFであることをSM1が検出すると、SM1は状態SM1_ONに遷移する。状態SM1_ONでは、SEL1は1に設定される。SELが0であることが検出されると、SM1は状態SM1_OFFに戻るように遷移する。
図13は、図9に示すもの同じ4つのケースに関する波形を示し、図10のデグリッチされた多重化装置の出力信号DGOUTが追加されている。図13の波形は、状態機械SM0がその入力をクロック信号CLK0の立ち下がりエッジにおいてサンプリングし、SM1がその入力をクロック信号CLK1の立ち下がりエッジにおいてサンプリングするものと仮定している。図13に示すように、デグリッチ強化を、CLK0入力とCLK1入力との間の位相差及び周波数差の様々な組み合わせにおいて、短いパルスを防止する。
図7の多重化装置M1〜M3のうちの1つ又は複数として、デグリッチ強化を有する多重化装置を利用することにより、CLK1として使用するために選択されたクロック信号を、同期型デジタルシステムの下流においてクロック誘発性エラーを発生させることなく、「オンザフライ」状態へと切り替えることができる。
クロック生成回路構成の再構成
図7の例示的実施形態等のシステムでは、ソフトウェア制御を介する等して、PLL又は同様のクロック生成回路構成を動的に再構成すると有利であり得る。例えば、同期型デジタルシステム全体が利用されていない場合に電力を節約するためのソフトウェア命令によって、PLL出力HFCの周波数を一時的に低下させてよい。あるいは入力基準信号CLKREFの信号源が切り替えられ、PLL内の位相ロックの損失が引き起こされ得る。このような場合、PLLはグリッチを生成し得、安定化にある程度の時間がかかることになる。
この期間中、適切な代替クロック信号を、同期型デジタルシステムに提供される一次クロック信号として使用するために選択してよく、これによって下流の回路の連続的な動作が可能となる。しかしながら、クロック信号間の切り替えによって一次クロック信号に追加のグリッチが発生しないことを保証するために注意を払う必要がある。
図14は、下流の回路構成においてクロック誘発性のエラーを発生させることなく、クロック生成回路構成を再構成するための方法のある実施形態を示すフローチャートである。図14に示す方法は、とりわけ図6〜7の例示的なシステムと組み合わせて使用してよい。
ステップ1402では、クロック生成回路構成を用いて第1のクロック信号を生成してよい。図7の例示的実施形態に示すように、クロック生成回路構成はPLLを備えてよく、第1のクロック信号はクロック信号HFCであってよい。クロック生成回路構成の他の非限定的な例は、DPLL又はDLLを含んでよい。あるいはクロック生成回路構成は、図7のRingOsc.等のリング発振器を備えてよい。
ステップ1404では、同期型デジタルシステムのための一次クロックとして第1のクロック信号を選択してよい。図6〜7の例示的実施形態では、同期型デジタルシステムのための一次クロックはCLK1として標識されている。いくつかの実施形態では、第1のクロック信号は、通常動作中の同期型デジタルシステムのための一次クロックとして使用してよい。
図7の例示的実施形態では、一次クロック信号としての第1のクロック信号の選択は、多重化装置M1〜M3によって実施してよい。多重化装置M1、M2は、レジスタConfigurationReg0、論理ブロックLogic1を介して、ソフトウェア構成に基づいて制御してよい。これにより、一次クロックの選択に対するソフトウェア制御が可能となる。従っていくつかの実施形態では、ステップ1404は、ソフトウェアコマンドに応答して実施されてよい。あるいは、一次クロックとしての第1のクロック信号の選択は自動であってよい。多重化装置M1はまた、入力信号BYPASSに基づいて制御してよい。多重化装置M3は入力信号ClockOverrideに基づいて制御してよく、これについては以下に更に詳細に説明する。
この文脈において、同期型デジタルシステムのための一次クロック「としての(as)」クロック信号の選択は、システムの回路構成によって特定のクロック信号が同期型デジタルシステムの少なくとも大部分へと伝播することを示している。これは、選択されたクロック信号が選択回路構成、バッファ、その他の回路構成を通過できる実施形態を包含することを意図している。例えば図7の実施形態では、多重化装置M1がHFCを選択するよう構成され、多重化装置M2がCLK0を選択するよう構成され、多重化装置M3が多重化装置M2の出力を選択するよう構成されている同期型デジタルシステムのための一次クロックとして、クロック信号HFCが選択される。これはまた、一次クロックがローカルクロック再生成器回路構成に提供される実施形態を包含することを意図しており、各ローカルクロック再生成器回路構成は、一次クロックの周波数及び/又はスキューが調整されたバージョンであるローカルクロック信号をローカル論理要素に送達できる。
ステップ1406では、一次クロックとして第2のクロック信号を選択してよい。従って第2のクロックは、一次クロックとしての第1のクロックを置換する。一次クロック信号にグリッチが発生するのを防止するために、図10〜12の多重化装置等の、デグリッチ強化を含む1つ又は複数の多重化装置を用いて選択を実施してよい。あるいは当該技術分野で公知のその他のデグリッチ多重化装置を使用してよい。
図7の例示的実施形態では、一次クロック信号としての第2のクロック信号の選択は、多重化装置M1〜M3によって実施してよい。例えば第2のクロック信号は、クロック基準信号CLKREF又はクロック信号CLKROであってよい。いくつかの実施形態では、ステップ1406はソフトウェアコマンドに応答して実施されてよい。あるいは、一次クロックとしての第2のクロック信号の選択は自動であってよい。例えば一実施形態では、論理ブロックLogic1は、レジスタReg0がPLLを再構成するためのコマンドを受信するのに応答して、HFCの選択からCLKREFの選択への切り替えを実施するように多重化装置M1を自動的に構成してよい。
ステップ1408では、第2のクロック信号が一次クロックとして作用している間に、クロック生成回路構成を再構成してよい。第1のクロック信号が一次クロックとして作用していないため、クロック生成回路構成の再構成の結果として第1のクロック信号に発生するいずれのグリッジは、同期型デジタルシステムの下流の回路構成に影響しない。
一実施形態では、クロック生成回路構成の再構成は、クロック生成回路構成が様々なレートで電力を放散するようにクロック生成回路構成の少なくとも1つの設定を変更することを含んでよい。例えばクロック生成回路構成は、同期型デジタルシステム全体が利用されていない場合に、比較的少ない電力しか放散されないようにするために、比較的低い周波数で動作するよう再構成してよい。クロック生成回路構成はその後、図14の方法の別の実行時に、同期型デジタルシステムの利用が増加した場合に比較的高い周波数で動作するよう再構成してよい。一実施形態では、クロック生成回路構成の再構成は、クロック生成回路構成の電力を低下させて動作を防止すること、その後クロック生成回路構成の電力を上昇させることを含んでよい。同様に別の実施形態では、クロック生成回路構成の再構成は、クロック生成回路構成へのクロック信号入力を除去して動作を防止すること、その後クロック生成回路構成へのクロック入力を再アサートすることを含んでよい。これらの実施形態では、これらの方法のいずれかでクロック生成回路構成の動作を防止することによって電力を節約してよい。いくつかの実施形態では、上述の再構成はプログラムによって、即ちソフトウェア制御によって実施してよい。
ステップ1410では、一次クロックとして再び第1のクロックを選択してよい。一次クロック信号にグリッチが発生するのを防止するために、図10〜12の多重化装置等の、デグリッチ強化を含む1つ又は複数の多重化装置を用いて選択を実施してよい。あるいは当該技術分野で公知であるその他のデグリッチ多重化装置を使用してよい。クロック生成回路構成を再構成した後、安定化にある程度の時間が必要となり得る。従って、一次クロックとしての第1のクロックの再選択は、クロック生成回路構成が安定化した後で実施してよい。この文脈において用語「安定化した(stabilized)」は、クロック生成回路構成の出力の異常が、下流の回路構成におけるクロック誘発性のエラーを回避できる程度に十分に小さいことを示す。
一実施形態では、クロック生成回路構成が安定化した後の第1のクロックの選択は、クロック生成回路構成の再構成が完了した後、第1のクロックを選択する前に所定の時間が経過するのを待つことを含んでよい。この所定の時間は、クロック生成回路構成を安定化できるよう十分に長い必要がある。
別の実施形態では、クロック生成回路構成が安定化した後の第1のクロックの選択は、クロック生成回路構成が安定化されたかどうかを決定すること、上記決定に少なくとも部分的に応じて一次クロックとして第1のクロックを選択することを含んでよい。例えば図7の実施形態では、PLLは、PLLが再構成後に位相ロックを達成したかどうかを示す状態信号を提供してよい。一実施形態では、論理ブロックLogic1は、PLLが位相ロックを達成したことを示すPLLからの状態信号の受信に応じてHFCを選択するよう、多重化装置M1を自動的に再構成してよい。別の実施形態では、レジスタStatusReg1は、PLLが位相ロックを達成したことを示す状態信号を、ソフトウェアによって読み取るために保存してよい。そしてソフトウェアは、レジスタConfigurationReg0、論理ブロックLogic1を介して、レジスタStatusReg1の読み取りに少なくとも部分的に応じてHFCを選択するための命令を多重化装置M1に提供してよい。
オンチップ発振器の自動的な選択
いくつかの状況において、いずれの外部クロック信号と独立して、同期型デジタルシステムを備えるチップ上で生成された信号を一次クロックとして自動的に選択すると有利であり得る。具体的には、クロック信号エラーをこのようにして回避できる様々な状況が存在する。
図15は、チップ上に設けられた同期型デジタルシステムにおいてクロック信号エラーを回避するための方法のある実施形態を示すフローチャートである。図15に示す方法は、とりわけ図6〜7の例示的なシステムと組み合わせて使用してよい。
ステップ1502では、同期型デジタルシステムのための一次クロックとして第1のクロック信号を提供してよい。第1のクロック信号は、同期型デジタルシステムが受信した外部クロック信号に左右される。図7の例示的実施形態において示したように、第1のクロック信号をPLLによって生成してよく、第1のクロック信号はクロック信号HFCであってよく、クロック信号HFCは入力クロック基準信号CLKREFに左右される。図6〜7の例示的実施形態では、同期型デジタルシステムのための一次クロックはCLK1として標識される。
同期型デジタルシステムの通常動作中、一次クロックを、第1のクロック信号を含む複数の利用可能なクロック信号から選択してよい。例えば図7の実施形態では、多重化装置M1、M2を用いて、CLK1を利用可能なクロック信号HFC、CLKREF、CLKROから選択してよい。上述のように、多重化装置M1、M2の制御は自動であってよく、又はソフトウェアによって制御してよい。
ステップ1504では、クロック選択オーバライド信号を受信してよい。クロック選択オーバライド信号は、オンチップで生成されたクロック信号を一次クロックとして選択することを必要とする条件を示してよい。図7の例示的実施形態では、クロック選択オーバライド信号は、入力信号ClockOverrideとして図示されている。
クロック選択オーバライド信号は、様々な実施形態において多様な状況を示し得る。例えば一実施形態では、クロック選択オーバライド信号は、同期型デジタルシステムに起こり得る又は実際に起こった改ざんを示す改ざん検出信号を含んでよい。このような改ざんは、同期型デジタルシステムのハードウェア又はソフトウェアの非認証アクセスを含んでよい。改ざん検出信号は、1つ若しくは複数のセンサ又は改ざんを検出するよう構成されたその他の設備からの信号を含んでよい。このようなセンサ又はその他の設備は、同期型デジタルシステムに備えられていてもいなくてもよく、チップ上に存在してもしなくてもよい。改ざんを検出するための方法及び設備の例は、米国特許出願第13/274138号において確認でき、上記文献は上述のように参照により本出願に援用される。
別の実施形態では、クロック選択オーバライド信号は、外部クロック信号の損失又は不安定化が予想されることを示すクロック損失信号を含んでよい。例えばクロック損失信号は、入力クロック基準信号CLKREFの信号源が変更されたかリセットされたか若しくは中断されたこと、又は上記信号源が変更されるかリセットされるか若しくは中断されようとしていることを示してよい。
ステップ1506では、選択オーバライド信号に応じて第2のクロック信号を一次クロックとして選択してよい。従って第2のクロックは、一次クロックとしての第1のクロックを置換する。第2のクロック信号はオンチップ信号生成器によって、外部クロック信号とは独立して生成される。第2のクロック信号はいずれの外部クロック信号とは独立して生成されるが、いくつかの実施形態は、外部構成信号によってオンチップ信号生成器を構成できる場合がある。
図7の例示的実施形態では、一次クロック信号としての第2のクロック信号の選択は、多重化装置M3によって実施してよい。例えば第2のクロック信号は、入力クロック基準信号CLKREFとは独立してリング発振器RingOsc.によって生成されるクロック信号CLKROであってよい。従って入力信号ClockOverrideに応じたCLKROの選択は、多重化装置M1〜M2を通して定義できるその他の自動的な又はソフトウェアによって定義されたクロック選択に優先する。
一次クロックにおけるグリッチの発生を防止するために、図10〜12の多重化装置等の、デグリッチ強化を含む1つ又は複数の多重化装置を用いて選択を実施してよい。あるいは当該技術分野で公知のその他のデグリッチ多重化装置を使用してよい。他の実施形態では、デグリッチ強化は不要であり得る。
ステップ1508では、連続クロック信号を必要とする安全対策を実施してよい。このような安全対策は、クロック選択オーバライド信号が改ざん検出信号を含む実施形態において適切であり得る。例えばチップを改ざんしようとするハッカー又はその他の人物は、同期型デジタルシステムの内部レジスタの状態情報を読み出そうとする場合がある。外部からの改ざんを検出するとすぐにレジスタをクリアする等、レジスタが読み出されるのを防止する様々な方法が提案されている。従って内部レジスタの状態を保存するために、ハッカーはシステム基準クロック(CLKREF)を停止させて、同期型デジタルシステムの内部レジスタ内の動作をフリーズさせ得る。よって一実施形態では、同期型デジタルシステムの状態情報のクリア等の安全対策は、改ざん検出信号に応じて実施してよい。一次クロックとして第2クロック信号が選択されているため、状態情報のクリア等の安全対策は、CLKREFが停止したかどうかに関わらず進めることができる。可能な安全対策の更なる例は米国特許出願第13/274138号において確認でき、上記文献は上述のように参照により本出願に援用される。
チップ間通信
図16は、2つの集積回路(IC)チップ間の入力/出力(I/O)を示すブロック図である。図16に示すように、第1のチップ及び第2のチップはそれぞれ、図6に示すような同期型デジタルシステムを備える。各チップに関して、一次クロック信号CLK1はそれぞれのCLK1+SYNC生成器によってデジタル論理ブロックの中央クロック再生成器に提供される。よって一次クロック信号CLK1は、クロック分配ネットワークを通して伝播するにつれて更なるクロック再生成器を通過できる。I/Oセルは、クロック分配分岐内の最後の再生成器からクロック信号を受信できる。
多重チップシステムでは、チップ間の同期通信は、共通の基準クロック信号を共有して、各チップ上のPLLによってI/O回路間の位相関係を安定化できるようにすることによって達成してよい。これは、SYNC信号が必要ない、図17に図示されているような非分割クロックの場合に良好に機能する。
図17は、図7のPLLのためのフィードバック経路のある実施形態を示すブロック図である。リング発振器及びPLL、並びに信号CLKREF、CLKRO、HFCは、図7中の同一の名称の構成部品及び信号に相当し得る。図17の選択及び構成回路構成は、図7の多重化装置M1〜M3に相当し得る。他の実施形態では、選択及び構成回路構成は他の回路構成を含んでよい。
図17のフィードバック経路はPLLのHFC出力から始まり、分配ネットワークを通る一次クロックを、PLLの近傍のI/Oセルに供給を行う再生成器に対して平行にする。図16は、I/Oセル1への一次クロックの例示的な経路を示し、上記I/Oセル1はCLK1+SYNC生成器の近傍にあり、上記CLK1+SYNC生成器はPLLを含んでよい。図17のフィードバック経路は、分配ネットワークを通る一次クロックの経路において再生成器によって引き起こされるバッファ遅延に適合するバッファ遅延を含む。伝播遅延もまた適合される。結果として得られた、フィードバック経路の端部において発生する高周波数クロック出力の遅延したバージョンである信号FEEDBACK_INPUTは、PLLフィードバック入力に提供される。このフィードバックは、I/Oセルにおける一次クロック信号CLK1の位相をPLLにおける入力クロック基準信号CLKREFに対して整列させる効果を有する。これにより、I/Oセルにおける一次クロック信号の位相に対する、再生成器の遅延及び製造、供給電圧、動作温度によるその変動の影響が最小化される。従って、第1のチップのPLLにおいて受信されたクロック基準信号CLKREFが、第2のチップのPLLにおいて受信されたクロック基準信号CLKREFに対してエッジ整列されている場合、第1のチップのI/Oセルにおける各一次クロック信号CLK1は、第2のチップのI/Oセルにおける各一次クロック信号CLK1に対してエッジ整列されることになる。
チップ間のデータ信号は多くの様式で遅延して歪んでよく、このような問題を解決するための最も簡単な解決法の1つは、データレートを低下させることであり、これは各I/O回路の電力放散も低下させる。一実施形態では、I/O回路は図3に示すもののような関連するクロック分割器を有してよい。データレートは、I/O回路のためのクロック分割器に関する構成レジスタRegPをアップデートすることにより、I/O回路のプログラム制御下で低下させることができる。しかしながら、2つのチップの分割されたクロックそれぞれの位相をCLK1の最も近いサイクルに整列させるには2つのチップのSYNC信号それぞれを、CLK1によってI/O回路のためのクロック分割器に分配すること、そして更に各SYNC信号をチップ間で同期させることが必要である。
図5に示す従来技術では、CNT0のReset入力にはチップピン(SYNC−IN)から入力してよく、これにより、あるチップがSYNC−OUT信号を提供する別のチップのスレーブとなることが望まれる。しかしながら、チップ間のSYNC信号遅延及び歪みにより、これは困難である。よって、I/O回路のクロック分割器によって提供される比較的低いクロックレートでのチップ間通信のために、分割器のリセットをチップ間で更に効果的に同期させる必要がある。
クロック分割器は無制限の範囲(これは無制限の電力放散を必要とし得る)を有するものではない。低電力の応用例には、2^4=16の範囲が有用である。クロック分割器の範囲の制限により、図7の例示的実施形態に関して言及する以下の分析に見られるようにPLLクロック多重化係数も制限される。
CLK1の周波数をfclk1、CLKREFの周波数をfclkrefとする。
fclk1=M*fclkrefであり、ここでMはPLL多重化係数であり、典型的には2^i(iは整数)である。
CLKREFを、CLK1によってクロック供給されるCNT0のリセット入力に導入することにより、SYNCの最小周波数はfsync=fclkrefとなる。
fclk1がfclkref/2以下である場合、CNT0はリセットされるより早く計数されず、従って0000状態を超えて効果的に計数されない。
M=2^iである場合、これはi=0において最小となり、最小のMは1である。
D0=2^j0をCNT0のロールオーバカウントとすると、i=0〜j0に関してfsync=fclkrefであり、i>j0に関してfsync=fclkrefM/D0である。
例えばCNT0を4ビットで固定すると、これはCLK1の16パルス毎にロールオーバを発生させ、SYNCパルスが放出される。例えばMが32である場合、SYNC周波数はfclkrefの2倍となるが、周期的なリセット入力によりこれはCLKREFに対して位相整列されたままとなる。
一実施形態では、j0の値を4に固定してよく、PLL多重化装置をi=4(M=16)に固定してよく、これによってCNT0にクロック供給する。更に下流では、別の分割器(図示せず)が信号CLK1を、チップの残りの部分への経路において2^k(0<k<4)によって分割してよい。これによりCNT0のクロック供給に影響を及ぼすことなく、(例えばチップ電力放散を低下させるために)チップの残りの部分に対するCLK1を低下させることができる。
上述のように、各I/O回路はクロック分割器を備えるクロック再生成器によって供給を受け、これにより、図3に示すようにI/O回路への入力クロックを、周波数fioを有する分割されたクロック信号とすることができる。即ちfio=fclk1/Dioであり、ここでDioは分割器の比であり、典型的には2^j(0<j<jmax)である。
fclk1=Mio*fclkrefに代入すると、fioの従属性を理解できる。即ちfio=fclkref*Mio/Dioであり、ここでMioはI/O回路構成に供給を行う再生成器における比fclk1/fclkrefである。
それぞれ1、2の番号を付された2つのチップのI/O回路間の確実なデータ転送のために、伝送クロックレートと受信クロックレートとは同一でなければならない。即ちfio1=fio2である。
代入及びfclkrefでの等号の両側の除算により、規則1:Mio1/Dio1=Mio2/Dio2が得られる。
クロック分割器がSYNC入力を適切に使用するために、各fioはfsync以上でなければならない。
対称性の設定の例は以下のとおりである:Mio1=16、Dio1=2、Mio2=16、Dio2=2。
非対称性の設定の例は以下のとおりである:Mio1=16、Dio1=4、Mio2=8、Dio2=2。
これは、異なるコアCLK1レートで動作する2つのチップが、規則1と、Mio、Dio、fioの最大値及び最小値に関する上述の制限とに、これらチップの通信I/Oクロック分割器を適合させることによって通信できることを意味している。
図18は、第1のICチップと第2のICチップとの間のデジタル通信を同期するための方法のある実施形態を示すフローチャートである。図18に示す方法は、とりわけ図6〜7、16〜17の例示的なシステムと組み合わせて使用してよい。いくつかの実施形態では、更に多数のチップ間のデジタル通信を同期するために、同様の方法を適用してよい。
ステップ1802では、第1のICチップ、第2のICチップのそれぞれが外部基準クロック信号を受信してよい。例えば図16の実施形態では、発振器OSC1が生成した外部基準クロック信号は、各チップのCLKREF入力ピンによって受信される。いくつかの実施形態では、OSC1と、2つのチップのCLKREF入力ピンそれぞれとの間の伝播遅延は近接するように適合され、これにより2つのチップのCLKREF信号間のクロックスキューは最小化される。
ステップ1804では、各チップは、外部基準クロック信号に左右される高周波数クロック信号をそれぞれ生成してよい。例えばいくつかの実施形態では、高周波数クロック信号は、基準クロックの周波数の設定可能な倍数である周波数を有してよい。図7の例示的実施形態では、高周波数クロック信号HFCはPLLによって生成され、PLLは入力として外部基準クロック信号CLKREFを受信する。PLLは、当該技術分野において公知であるように、CLKREFの周波数の設定可能な倍数である周波数を有する信号HFCを出力してよい。
ステップ1806では、各チップは、外部基準クロック信号に左右される同期信号をそれぞれ生成してよく、第1のチップ及び第2のチップそれぞれの同期信号が、外部基準クロック信号に対する共通の従属性を有するために位相整列される。例えば図7の実施形態では、チップは同期信号SYNCを生成し、これは外部基準クロック信号CLKREFに左右される。具体的には図7に示すように、SYNCは、カウンタCNT0がゼロのカウントを出力する際の、一次クロック信号CLK1の1回のクロックサイクルに対して高くなる。CNT0は一次クロック信号CLK1によってクロック供給されているため、SYNCはCLK1とエッジ整列される。この文脈において、2つの信号の遷移区間が時間的に重複している場合、これらは「エッジ整列」されている。CLKREFの立ち上がりエッジに応じて、CNT0は信号CLKREFrisingによってゼロのカウントにリセットされるため、2つのチップそれぞれのSYNC信号は、2つのチップのCLKREF信号間のスキューが最小化される場合に、これらが共通してCLKREFと位相整列されていることにより、互いに対して位相整列されることになる。この文脈において、2つの信号の遷移が一次クロック信号の同一のクロックサイクル内で発生する場合、これらは「位相整列」されている。
ステップ1808では、各チップは、チップの各高周波数クロック信号に左右される各一次クロック信号を、チップ上に設けられた各同期型デジタルシステムに分配してよい。一次クロック信号は、図2に示すクロック分配ネットワークのような同期型デジタルシステムのクロック分配ネットワークを介して分配される。
図16の例示的実施形態において図示したように、チップは複数のI/Oセルを含んでよい。一次クロック信号がクロック分配ネットワークを通してI/Oセルへと分配される際、一次クロック信号は、伝播遅延、及びバッファ又は他の回路構成によって発生する遅延を被ることになる。いくつかの実施形態では、クロック分配ネットワークは、各I/Oセルが受信した一次クロックの遅延したバージョン間のクロックスキューを最小化するために、高周波クロック信号と各I/Oセルとの間に均一な遅延をもたらすよう構成してよい。各I/Oセルが受信した一次クロックの遅延したバージョンは、最適には互いに対してエッジ整列される。均一な遅延は同様に同期信号にも与えてよい。
ステップ1810では、各チップは、チップの各同期信号を用いて、各一次クロック信号を周波数分割してよい。周波数分割クロック信号は、チップの一次クロック信号の周波数よりも低い周波数を有してよい。図3は、ステップ1810で使用できるクロック分割器の例示的実施形態のブロック図を示す。図3に示すように、カウンタの出力ビットのいずれかを用いてクロックパルスを生成してよい。カウンタは信号SYNCを同期させることによってリセットされる。2つのチップの各SYNC信号が互いに対して位相整列されているため、2つのチップの周波数分割クロック信号は互いに対して位相整列されることになる。
ステップ1812では、第1のチップの第1のI/Oセルと第2のチップの第2のI/Oセルとの間のデジタル通信を実施してよい。図16の例示的実施形態に示すように、第1のI/Oセルはクロックとして第1のチップの周波数分割クロック信号を使用してよく、第2のI/Oセルはクロックとして第2のチップの周波数分割クロック信号を使用してよい。2つのチップの周波数分割クロック信号は少なくとも位相整列されているため、2つのチップの周波数分割クロック信号が同一の周波数を共有している場合、2つのI/Oセル間のデジタル通信は同期通信であると見做すことができる。
いくつかの実施形態では、図17に示したもののようなフィードバック経路を有するPLLを使用して、2つのチップの周波数分割クロック信号を更に整列させてよい。例えば各チップ上のフィードバック経路は、PLLのHFC出力からの各一次クロック信号を、各一次クロック信号を周波数分割するクロック分割器に対して平行にすることができる。このクロック分割器は、チップのI/Oセルの近傍に配置してよい。上述のようにこれにより、第1のチップのI/Oセルにおける各一次クロック信号CLK1を、第2のチップのI/Oセルにおける各一次クロック信号CLK1に対してエッジ整列できる。2つのチップの各一次クロック信号は互いに対してエッジ整列されることになるため、最適には、2つのチップの周波数分割クロック信号も互いに対してエッジ整列されることになる。
SYNCはクロックではなく、クロック分割器のためのリセット信号であるため、これは、HFCの1回のサイクル内に全てのI/O回路それぞれのためのクロック分割器を同期状態に維持する以外は、I/O回路構成のクロックスキューに影響しない。
好ましい実施形態との関連で以上の実施形態について説明したが、本明細書に記載した具体的形態に上記好ましい実施形態を限定することは意図されておらず、反対に、添付の請求項によって定義されるような本発明の実施形態の精神及び範囲内に合理的に含まれ得るような代替例、修正例、均等物を上記好ましい実施形態が包含することが意図されている。

Claims (14)

  1. 基準クロック信号を生成するよう構成された、基準クロック生成器;及び
    複数の集積回路チップを備える装置であって、
    前記各チップは:
    前記基準クロック信号を受信するよう構成され、前記基準クロック生成器に連結された入力ポート;
    前記基準クロック信号に応じて一次クロック信号を生成するよう構成された、クロック生成回路構成;
    前記基準クロック信号に応じて前記一次クロック信号に対してエッジ整列された同期信号を生成するよう構成された、同期信号生成回路構成;
    前記一次クロック信号の遅延したバージョン及び前記同期信号の遅延したバージョンを受信するよう構成され、かつ前記一次クロック信号の前記遅延したバージョンの周波数より低い周波数を有する周波数分割クロック信号を生成するよう構成された、クロック分割器回路構成;並びに
    前記周波数分割クロック信号をクロック入力として受信するよう構成された、入力/出力(I/O)回路構成
    を備え、
    前記複数のチップの前記同期信号はそれぞれ、共に前記基準クロック信号に左右されることにより位相整列され、
    前記周波数分割クロック信号は、前記一次クロック信号に対してエッジ整列され、前記同期信号の前記遅延したバージョンに対して位相整列され、
    前記I/O回路構成は、前記複数のチップのうちの別の前記チップの各前記I/O回路構成と通信するよう構成され、
    前記周波数分割クロック信号の周波数は、他の前記チップの前記周波数分割クロック信号の各周波数と同一であり、前記周波数分割クロック信号は、他の前記チップの各前記周波数分割クロック信号と位相整列される、装置。
  2. 前記複数のチップの各前記チップに関して、前記クロック生成回路構成は、前記基準クロック信号を受信して、前記基準クロック信号の周波数よりはるかに高い周波数を有する高周波数クロック信号を生成するよう構成された、位相ロックループ(PLL)を備える、請求項1に記載の装置。
  3. 前記複数のチップの各前記チップの前記I/O回路構成は、複数のI/Oセルを備え、
    前記複数のチップの各前記チップは更に、クロック及び同期信号分配ネットワークを備え、前記クロック及び同期信号分配ネットワークは:
    前記一次クロック信号及び前記同期信号を受信するよう構成された、供給点;
    前記一次クロック信号及び前記同期信号がそれぞれ、前記供給点と複数の前記I/Oセルのうちの各前記I/Oセルとの間で均一な遅延を有するように、前記供給点から前記I/O回路構成へと前記一次クロック信号を伝播させるよう構成された、前記供給点に接続されたファンアウト回路構成;及び
    前記ファンアウト回路構成全体に亘って位置決めされた、複数の再生成器
    を備える、請求項1に記載の装置。
  4. 前記複数のチップの各前記チップに関して、前記クロック生成回路は:
    位相ロックループ(PLL);及び
    前記位相ロックループ(PLL)のためのフィードバック経路
    を備え、
    前記各位相ロックループ(PLL)は:
    前記基準クロック信号を受信し;
    高周波数クロック信号出力を生成し;
    前記高周波数クロック信号の遅延したコピーであるフィードバック信号を受信する
    よう構成され、
    前記フィードバック信号は前記基準クロック信号に対して位相ロックされ、
    前記フィードバック経路は、前記クロック及び同期信号分配ネットワークを通して、前記高周波数クロック出力から、前記複数のI/Oセルのうちの第1のI/Oセルに対して供給を行う再生成器への一次クロックと平行であり、
    前記第1のI/Oセルは前記PLLの近傍に位置し、
    前記フィードバック経路は前記PLLのフィードバック入力まで設けられる、請求項3に記載の装置。
  5. 前記複数のチップの各前記チップに関して、前記同期信号生成回路は:
    前記基準クロック信号のクロックエッジを検出するよう構成されたエッジ検出器;及び
    カウンタ
    を備え、
    前記カウンタは:
    前記一次クロック信号に基づいて計数値をアップデートし;
    前記エッジ検出器の出力に基づいて前記計数値をリセットし;
    前記計数値が特定の値に一致した場合に前記同期信号のパルスを出力する
    よう構成される、請求項1に記載の装置。
  6. 前記基準クロック生成器と、前記複数のチップのうちの第1のチップとの間の前記基準クロック信号の第1の伝播遅延は、前記基準クロック生成器と、前記複数のチップのうち第2のチップとの間の前記基準クロック信号の第2の伝播遅延と略等しく、
    前記第1のチップが受信する前記基準クロック信号と前記第2のチップが受信する前記基準クロック信号との間のクロックスキューは最小化される、請求項1に記載の装置。
  7. 前記複数のチップのうち第1のチップの前記クロック生成回路構成と、前記第1のチップの前記クロック分割器回路構成との間の各前記一次クロック信号の第1の伝播遅延は、前記複数のチップのうち第2のチップの前記クロック生成回路構成と、前記第2のチップの前記クロック分割器回路構成との間の各前記一次クロック信号の第2の伝播遅延と略等しい、請求項1に記載の装置。
  8. 第1のチップと第2のチップとの間のデジタル通信を同期するための方法であって、
    前記方法は、前記第1のチップ及び前記第2のチップそれぞれにおいて:
    外部基準クロック信号を受信すること;
    前記基準クロックの周波数の設定可能な倍数である周波数を有する高周波数クロック信号をそれぞれ生成すること;
    前記外部基準クロック信号に応じて同期信号をそれぞれ生成すること;
    各前記チップは、前記チップ上に設けられた各同期型デジタルシステムに対して、各前記高周波数クロック信号に応じた一次クロック信号をそれぞれ分配すること;
    各前記一次クロック信号を周波数分割して、各前記一次クロック信号よりも低い周波数を有する第1の周波数分割クロック信号をそれぞれ生成すること;
    を含み、
    前記第1のチップ及び前記第2のチップそれぞれの前記同期信号は、共に前記外部基準クロック信号に左右される結果として位相整列され、
    前記チップの前記複数のI/Oセルそれぞれにおける前記一次クロック信号は、各前記高周波数クロック信号に対して均一に遅延し、
    前記周波数分割は、各前記同期信号を用いて、前記第1のチップの第1の前記周波数分割クロック信号と前記第2のチップの第1の前記周波数分割クロック信号とを位相整列し、
    前記方法はまた、前記第1のチップの前記複数のI/Oセルのうちの第1の前記I/Oセルと前記第2のチップの前記複数のI/Oセルのうちの第2の前記I/Oセルとの間でデジタル通信を実施することを含み、
    前記第1のI/Oセルは、前記第1のチップの前記第1の周波数分割クロック信号をクロック入力として使用し、前記第2のI/Oセルは、前記第2のチップの前記第1の周波数分割クロック信号をクロック入力として使用する、方法。
  9. 各前記同期信号の生成は:
    前記外部基準クロック信号のエッジを決定すること;及び
    前記外部基準クロック信号の前記エッジの決定に応じた前記同期信号のパルスの生成
    を含む、請求項8に記載の方法。
  10. 前記同期信号の前記パルスの生成は、特定のカウンタ値に達したらすぐにパルスを出力するよう構成されたカウンタをリセットすることを含み、
    前記カウンタはクロック入力として前記一次クロック信号を使用する、請求項9に記載の方法。
  11. 各前記高周波数クロック信号の生成は、位相ロックループ(PLL)から高周波数クロック信号を出力することを含む、請求項8に記載の方法。
  12. 各前記高周波数クロック信号の生成は更に、前記PLLにフィードバック信号を提供することを含み、
    前記フィードバック信号の経路は、前記供給点から前記チップ前記複数のI/Oセルのうちの1つの前記I/Oセルへの前記一次クロック信号の経路と平行である、請求項11に記載の方法。
  13. 各前記一次クロック信号を周波数分割して、前記第1のチップの前記第1の周波数分割クロック信号を生成することは、前記第1のI/Oセルの近傍で実施され、
    各前記一次クロック信号を周波数分割して、前記第2のチップの前記第1の周波数分割クロック信号を生成することは、前記第2のI/Oセルの近傍で実施される、請求項8に記載の方法。
  14. 前記第1のチップの前記一次クロック信号を周波数分割して、前記第1のチップの第2の周波数分割クロック信号を生成すること;
    前記第1のチップの前記複数のI/Oセルのうちの第3の前記I/Oセルを用いてデジタル通信を実施すること
    を更に含み、
    前記第2の周波数分割クロック信号は、前記第1のチップの前記一次クロック信号の周波数よりも低く、かつ前記第1のチップの前記第1の周波数分割クロック信号の周波数とは異なる周波数を有し、
    前記周波数分割は各前記同期信号を用い、
    前記第3のI/Oセルは、前記第1のチップの前記第2の周波数分割クロック信号をクロック入力として使用する、請求項8に記載の方法。
JP2015548013A 2012-12-13 2013-12-13 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御 Active JP6389188B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261736763P 2012-12-13 2012-12-13
US61/736,763 2012-12-13
PCT/US2013/075132 WO2014093890A1 (en) 2012-12-13 2013-12-13 Multi-frequency clock skew control for inter-chip communication in synchronous digital systems

Publications (2)

Publication Number Publication Date
JP2016508312A true JP2016508312A (ja) 2016-03-17
JP6389188B2 JP6389188B2 (ja) 2018-09-12

Family

ID=49917736

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015548010A Active JP6801959B2 (ja) 2012-12-13 2013-12-13 同期型デジタルシステムにおけるオンチップクロックの自動的な選択
JP2015548001A Pending JP2016508258A (ja) 2012-12-13 2013-12-13 多重周波数多重プロセッサシステムのためのクロック分配ネットワーク
JP2015548013A Active JP6389188B2 (ja) 2012-12-13 2013-12-13 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2015548010A Active JP6801959B2 (ja) 2012-12-13 2013-12-13 同期型デジタルシステムにおけるオンチップクロックの自動的な選択
JP2015548001A Pending JP2016508258A (ja) 2012-12-13 2013-12-13 多重周波数多重プロセッサシステムのためのクロック分配ネットワーク

Country Status (5)

Country Link
US (5) US9450590B2 (ja)
EP (5) EP2932600B1 (ja)
JP (3) JP6801959B2 (ja)
CN (4) CN105009455B (ja)
WO (3) WO2014093862A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014088698A2 (en) 2012-12-06 2014-06-12 Coherent Logix, Incorporated Processing system with synchronization instruction
CN105009455B (zh) * 2012-12-13 2018-03-27 相干逻辑公司 同步数字系统中对芯片间通信的多频率时钟漂移控制
CN104699531B (zh) 2013-12-09 2019-12-13 超威半导体公司 3d芯片系统中的电压下降缓解
US9513388B2 (en) * 2014-03-12 2016-12-06 Sercel Method for providing synchronization in a data acquisition system
JP6401533B2 (ja) * 2014-07-28 2018-10-10 株式会社メガチップス クロック位相調整回路
US9223960B1 (en) * 2014-07-31 2015-12-29 Winbond Electronics Corporation State-machine clock tampering detection
CN104242906A (zh) * 2014-09-30 2014-12-24 成都市晶林科技有限公司 非制冷红外探测器接口时序控制电路
US9306574B1 (en) 2015-03-04 2016-04-05 Apple Inc. Clock divider circuit with synchronized switching
DE102016109387A1 (de) 2015-05-26 2016-12-01 Samsung Electronics Co., Ltd. Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
KR102384347B1 (ko) * 2015-05-26 2022-04-07 삼성전자주식회사 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
PL3107218T3 (pl) * 2015-06-19 2023-10-09 Gwf Ag Sposób i urządzenie do transmisji danych oraz jednostka licznikowa
US9720439B2 (en) 2015-09-26 2017-08-01 Intel Corporation Methods, apparatuses, and systems for deskewing link splits
US9960771B2 (en) * 2016-03-31 2018-05-01 Wave Computing, Inc. Hum generation using representative circuitry
US10901936B2 (en) 2016-07-21 2021-01-26 International Business Machines Corporation Staged power on/off sequence at the I/O phy level in an interchip interface
CN108073806B (zh) * 2016-11-15 2021-08-20 华为技术有限公司 一种检测时钟频率的方法及装置
US10050632B2 (en) * 2016-12-30 2018-08-14 Texas Instruments Incorporated Counter-based SYSREF implementation
US10181001B2 (en) * 2017-02-02 2019-01-15 Intel Corporation Methods and apparatus for automatically implementing a compensating reset for retimed circuitry
US10401941B2 (en) 2017-02-06 2019-09-03 Qualcomm Incorporated Clock glitch prevention for retention operational mode
JP7007809B2 (ja) * 2017-03-24 2022-02-10 シナプティクス・ジャパン合同会社 デジタル信号伝送装置、クロック信号伝送装置、及び、受信回路
CN108809569B (zh) * 2017-05-04 2020-12-08 电信科学技术研究院 一种终端确定保持锁相环开启的方法及装置
CN107606798B (zh) * 2017-08-28 2020-03-06 合肥美的暖通设备有限公司 联网计时校对方法、系统、计算机、存储介质及电器设备
US10694467B2 (en) * 2017-09-28 2020-06-23 Qualcomm Incorporated Dynamic clock switching within a transmission time interval
US10698440B2 (en) 2018-01-10 2020-06-30 International Business Machines Corporation Reducing latency of memory read operations returning data on a read data path across multiple clock boundaries, to a host implementing a high speed serial interface
US10305673B1 (en) * 2018-01-16 2019-05-28 Cisco Technology, Inc. Automatic clock phase synchronization in OTN multi-chassis system with fail over mechanism
US10705557B2 (en) 2018-03-30 2020-07-07 Qualcomm Incorporated On-chip clock generator calibration
US10606305B2 (en) 2018-04-30 2020-03-31 Qualcomm Incorporated Processor load step balancing
CN108712226B (zh) * 2018-05-28 2020-03-27 中国电子科技集团公司第二十九研究所 一种芯片半自动同步方法及系统
US20210214187A1 (en) * 2018-06-14 2021-07-15 Mitsubishi Electric Corporation Maintenance device and elevator device
TWI660587B (zh) * 2018-07-30 2019-05-21 瑞昱半導體股份有限公司 具有分時及分頻啟動機制的時脈產生系統及方法
US11144087B2 (en) * 2018-08-10 2021-10-12 Nvidia Corporation Efficient performance monitoring of integrated circuit(s) having distributed clocks
CN109669507A (zh) * 2018-11-09 2019-04-23 中电科仪器仪表有限公司 一种数字示波器参考时钟的发生电路及控制方法
GB2580134B (en) * 2018-12-21 2021-04-21 Graphcore Ltd Controlling a processor clock
CN109547024B (zh) * 2019-01-09 2024-04-16 上海艾为电子技术股份有限公司 多信号的检测方法和检测控制装置
US11442492B2 (en) * 2019-03-04 2022-09-13 Intel Corporation Clock glitch mitigation apparatus and method
WO2020223844A1 (en) * 2019-05-05 2020-11-12 Yangtze Memory Technologies Co., Ltd. Double data rate circuit and data generation method implementing precise duty cycle control
CN110161916B (zh) * 2019-05-27 2022-05-17 西安电子工程研究所 一种多板卡采样同步方法
US11256287B2 (en) * 2019-06-13 2022-02-22 Intel Corporation Apparatus and method to maintain stable clocking
CN110350914B (zh) * 2019-06-18 2023-07-07 芯翼信息科技(上海)有限公司 一种片上系统
TWI712984B (zh) * 2019-12-06 2020-12-11 瑞昱半導體股份有限公司 藉助於額外導線來進行電網優化之方法與設備
CN112989742B (zh) * 2019-12-13 2024-01-02 瑞昱半导体股份有限公司 借助于额外导线来进行电网优化的方法与设备
US11196424B2 (en) * 2020-01-02 2021-12-07 Texas Instruments Incorporated Integrated circuit with high-speed clock bypass before reset
US11216022B1 (en) * 2020-09-16 2022-01-04 Gowin Semiconductor Corporation Methods and apparatus for providing a clock fabric for an FPGA organized in multiple clock regions
CN114647598B (zh) * 2020-12-18 2024-08-30 马来西亚瑞天芯私人有限公司 一种时钟系统和时钟同步的方法
US20220222386A1 (en) * 2021-01-13 2022-07-14 University Of Florida Research Foundation, Inc. Decommissioning and erasing entropy in microelectronic systems
US20230031295A1 (en) * 2021-07-30 2023-02-02 Advanced Micro Devices, Inc. Reduced power clock generator for low power devices
US11662763B1 (en) * 2021-11-29 2023-05-30 Texas Instruments Incorporated Technique for clock alignment supporting reset isolation
CN116521613B (zh) * 2023-07-04 2023-08-25 南京启见半导体科技有限公司 超低延迟的时钟域切换数据传输系统
CN117437953B (zh) * 2023-12-15 2024-03-12 浙江力积存储科技有限公司 读取等待时间反馈电路、反馈方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347764A (ja) * 1999-06-08 2000-12-15 Hitachi Ltd Pllを用いた回路ブロック接続方法および半導体集積回路接続方法
JP2002049438A (ja) * 2000-08-03 2002-02-15 Hitachi Ltd 半導体装置
JP2005050030A (ja) * 2003-07-31 2005-02-24 Fujitsu Ltd 半導体集積回路装置、クロック制御方法及びデータ転送制御方法
JP2006195602A (ja) * 2005-01-12 2006-07-27 Fujitsu Ltd システムクロック分配装置、システムクロック分配方法
US20060182212A1 (en) * 2005-02-11 2006-08-17 International Business Machines Corporation Method and apparatus for generating synchronization signals for synchronizing multiple chips in a system

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667328A (en) * 1985-04-29 1987-05-19 Mieczyslaw Mirowski Clocking circuit with back-up clock source
JPH0628015B2 (ja) * 1987-02-09 1994-04-13 日本電気株式会社 クロツク切換回路
US5184027A (en) * 1987-03-20 1993-02-02 Hitachi, Ltd. Clock signal supply system
JPH01180024A (ja) * 1988-01-11 1989-07-18 Fujitsu Ten Ltd 同期式論理回路の制御方式
JPH0210417A (ja) * 1988-06-28 1990-01-16 Fujitsu Ltd カウンタ回路
JP2629028B2 (ja) * 1988-08-10 1997-07-09 株式会社日立製作所 クロック信号供給方法および装置
US5043596A (en) * 1988-09-14 1991-08-27 Hitachi, Ltd. Clock signal supplying device having a phase compensation circuit
US5357146A (en) * 1992-12-31 1994-10-18 At&T Bell Laboratories Glitch-free clock multiplexer
JPH0830351A (ja) * 1994-07-11 1996-02-02 Hitachi Ltd マイクロプロセッサ
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system
US5811987A (en) 1995-06-02 1998-09-22 Advanced Micro Devices, Inc. Block clock and initialization circuit for a complex high density PLD
US5619158A (en) * 1995-08-18 1997-04-08 International Business Machines Corp. Hierarchical clocking system using adaptive feedback
JP3337906B2 (ja) 1996-04-02 2002-10-28 キヤノン株式会社 空圧式振動絶縁除去装置、投影露光装置及びこれを用いたデバイス製造方法
US5764965A (en) 1996-09-23 1998-06-09 Silicon Graphics, Inc. Synchronization infrastructure for use in a computer system
US5790609A (en) * 1996-11-04 1998-08-04 Texas Instruments Incorporated Apparatus for cleanly switching between various clock sources in a data processing system
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
JP2000122749A (ja) * 1998-10-20 2000-04-28 Mitsubishi Electric Corp 発振停止検出装置
JP2000137699A (ja) * 1998-10-30 2000-05-16 Nec Kyushu Ltd マイクロコンピュータ
US6188286B1 (en) * 1999-03-30 2001-02-13 Infineon Technologies North America Corp. Method and system for synchronizing multiple subsystems using one voltage-controlled oscillator
US6434706B1 (en) * 1999-05-24 2002-08-13 Koninklijke Philips Electronics N.V. Clock system for multiple component system including module clocks for safety margin of data transfers among processing modules
JP2001051747A (ja) * 1999-08-12 2001-02-23 Fujitsu Ltd クロック制御回路
US6392462B2 (en) * 2000-04-04 2002-05-21 Matsushita Electric Industrial Co., Ltd. Multiphase clock generator and selector circuit
AU2001259201A1 (en) * 2000-04-28 2001-11-12 Broadcom Corporation High-speed serial data transceiver systems and related methods
KR100420116B1 (ko) * 2000-08-31 2004-03-02 삼성전자주식회사 저전력 소모 씨디엠에이 모뎀 칩 설계를 위한 프로세서클럭 발생 회로 및 클럭 발생 방법
US6967511B1 (en) * 2000-10-26 2005-11-22 Cypress Semiconductor Corporation Method for synchronizing and resetting clock signals supplied to multiple programmable analog blocks
US6735706B2 (en) * 2000-12-06 2004-05-11 Lattice Semiconductor Corporation Programmable power management system and method
US6654899B2 (en) * 2001-03-28 2003-11-25 Intel Corporation Tracking bin split technique
CN1281005C (zh) * 2001-06-29 2006-10-18 中兴通讯股份有限公司 光同步数字传送网时钟源选择控制方法
JP2003108381A (ja) * 2001-09-27 2003-04-11 Toshiba Corp 計算機システム
US20030115503A1 (en) * 2001-12-14 2003-06-19 Koninklijke Philips Electronics N.V. System for enhancing fault tolerance and security of a computing system
US6759881B2 (en) * 2002-03-22 2004-07-06 Rambus Inc. System with phase jumping locked loop circuit
US7415594B2 (en) 2002-06-26 2008-08-19 Coherent Logix, Incorporated Processing system with interspersed stall propagating processors and communication elements
JP4152795B2 (ja) * 2003-04-03 2008-09-17 株式会社ルネサステクノロジ マイクロコントローラ
CN1612516A (zh) * 2003-10-31 2005-05-04 上海贝尔阿尔卡特股份有限公司 一种同步数字系列系统时钟源自动选择器
CN100369441C (zh) * 2003-12-24 2008-02-13 烽火通信科技股份有限公司 一种主备同步数字系列设备定时源的无损切换方法
US7296170B1 (en) * 2004-01-23 2007-11-13 Zilog, Inc. Clock controller with clock source fail-safe logic
FR2874766A1 (fr) * 2004-09-02 2006-03-03 St Microelectronics Sa Procede de configuration du systeme d'horloge d'un microcontroleur
US7385491B2 (en) * 2005-09-28 2008-06-10 Itt Manufacturing Enterprises, Inc. Tamper monitor circuit
EP1772794A1 (en) * 2005-10-10 2007-04-11 Axalto S.A. Method and circuit for local clock generation and smartcard including it thereon
JP2007129306A (ja) * 2005-11-01 2007-05-24 Nec Corp Pll制御回路
US7657773B1 (en) 2006-06-22 2010-02-02 Lattice Semiconductor Corporation Clock distribution chip for generating both zero-delay and non-zero-delay clock signals
US7652516B2 (en) * 2006-10-20 2010-01-26 Marvell Israel (M.I.S.L.) Ltd. Apparatus and method for generating a clock signal
US8316414B2 (en) * 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system
US7849339B2 (en) * 2007-03-23 2010-12-07 Silicon Image, Inc. Power-saving clocking technique
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
JP5166927B2 (ja) * 2007-06-12 2013-03-21 ルネサスエレクトロニクス株式会社 処理装置
US8015428B2 (en) * 2007-06-12 2011-09-06 Renesas Electronics Corporation Processing device and clock control method
US8775839B2 (en) * 2008-02-08 2014-07-08 Texas Instruments Incorporated Global hardware supervised power transition management circuits, processes and systems
JP2010021706A (ja) * 2008-07-09 2010-01-28 Panasonic Corp 半導体集積回路
CN101651456B (zh) * 2008-08-12 2012-03-21 博通集成电路(上海)有限公司 时钟信号恢复的电路
US8205110B2 (en) 2008-11-03 2012-06-19 Oracle America, Inc. Synchronous operation of a system with asynchronous clock domains
JP2010141519A (ja) * 2008-12-10 2010-06-24 Sony Corp 位相同期回路、および通信装置
US8190944B2 (en) * 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8880866B2 (en) 2010-10-15 2014-11-04 Coherent Logix, Incorporated Method and system for disabling communication paths in a multiprocessor fabric by setting register values to disable the communication paths specified by a configuration
EP2668723B1 (en) 2011-01-28 2014-11-26 Coherent Logix Incorporated Frequency divider with synchronous range extension across octave boundaries
JP5402964B2 (ja) * 2011-03-11 2014-01-29 オムロン株式会社 相互監視システム、管理装置およびシステム
US9081517B2 (en) * 2011-08-31 2015-07-14 Apple Inc. Hardware-based automatic clock gating
US8644782B2 (en) * 2011-11-14 2014-02-04 Apple Inc. Agile clocking with receiver PLL management
CN105009455B (zh) * 2012-12-13 2018-03-27 相干逻辑公司 同步数字系统中对芯片间通信的多频率时钟漂移控制

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347764A (ja) * 1999-06-08 2000-12-15 Hitachi Ltd Pllを用いた回路ブロック接続方法および半導体集積回路接続方法
JP2002049438A (ja) * 2000-08-03 2002-02-15 Hitachi Ltd 半導体装置
JP2005050030A (ja) * 2003-07-31 2005-02-24 Fujitsu Ltd 半導体集積回路装置、クロック制御方法及びデータ転送制御方法
JP2006195602A (ja) * 2005-01-12 2006-07-27 Fujitsu Ltd システムクロック分配装置、システムクロック分配方法
US20060182212A1 (en) * 2005-02-11 2006-08-17 International Business Machines Corporation Method and apparatus for generating synchronization signals for synchronizing multiple chips in a system

Also Published As

Publication number Publication date
US20140167825A1 (en) 2014-06-19
US9154142B2 (en) 2015-10-06
WO2014093890A1 (en) 2014-06-19
EP3200042B1 (en) 2019-02-06
EP3493017B1 (en) 2020-08-05
US20140173324A1 (en) 2014-06-19
EP2932345A1 (en) 2015-10-21
CN105122172B (zh) 2017-10-27
JP2016506660A (ja) 2016-03-03
US8963599B2 (en) 2015-02-24
EP2932345B1 (en) 2017-03-01
EP3493017A2 (en) 2019-06-05
US9450590B2 (en) 2016-09-20
EP2932600B1 (en) 2017-08-02
JP6389188B2 (ja) 2018-09-12
WO2014093878A1 (en) 2014-06-19
US20140173321A1 (en) 2014-06-19
CN105122172A (zh) 2015-12-02
US20150162920A1 (en) 2015-06-11
CN104854531B (zh) 2018-05-18
US9325329B2 (en) 2016-04-26
EP3200042A2 (en) 2017-08-02
EP2932346A1 (en) 2015-10-21
US10007293B2 (en) 2018-06-26
JP6801959B2 (ja) 2020-12-16
CN108519792A (zh) 2018-09-11
JP2016508258A (ja) 2016-03-17
CN105009455A (zh) 2015-10-28
EP2932346B1 (en) 2017-03-15
CN108519792B (zh) 2021-11-26
WO2014093862A1 (en) 2014-06-19
CN104854531A (zh) 2015-08-19
EP3493017A3 (en) 2019-06-12
EP2932600A1 (en) 2015-10-21
EP3200042A3 (en) 2017-08-16
US20160370823A1 (en) 2016-12-22
CN105009455B (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
JP6389188B2 (ja) 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御
US11899615B2 (en) Multiple dies hardware processors and methods
JP2017528838A (ja) トランスミッターのレーン間スキュー調整
US11581881B1 (en) Clock and phase alignment between physical layers and controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180816

R150 Certificate of patent or registration of utility model

Ref document number: 6389188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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