(57)【要約】  特に電子装置内の2つのデバイス間のデータの送信を容易にするシステム、方法、および装置が記載される。構成可能なクロックツリーは、複数のデータレーンの各々についてのクロックの各タイミングがスキューを最小化するために最適化され得るように構成され得る遅延行列を含む。ベースクロック信号の異なるバージョン間の選択、および選択されたバージョンに適用可能な異なる経路間の選択は、通信リンク上でデータを送信するために使用されるルートクロックを供給することができる。1つまたは複数のクロック信号のバージョンは、第1のクロック信号の3つのバージョンを含む場合がある。第1のクロック信号の各バージョンは、そのクロック信号に関して異なる遅延を被る場合がある。
2016529844.tif 000002
【特許請求の範囲】
【請求項１】
データ通信のための方法であって、
第1のレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンの間で選択するステップであって、前記1つまたは複数のクロック信号の前記バージョンが、第1のクロック信号の少なくとも2つのバージョンを含み、前記第1のクロック信号の各バージョンが、前記第1のクロック信号に関して異なる遅延を被る、ステップと、
前記第1のレーンの前記第1のレベルの遅延素子の前記出力を、第2および第3のレーン内の第2のレベルの遅延素子に供給するステップと、
前記第1のレーンの前記第1のレベルの遅延素子の前記出力と、前記第2および第3のレーンの第1のレベルの遅延素子の出力との間で選択することによって、通信リンク上のデータの送信を制御するために使用されるルートクロックを供給するステップと
を含む、方法。
【請求項２】
前記第1のレーンが、1つまたは複数のデータレーンのトランジスタ経路に整合するトランジスタ経路を有する、請求項1に記載の方法。
【請求項３】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第1のレーンの前記第1のレベルの遅延素子用の入力、および前記第1のレーン内の第2のレベルの遅延素子用の前記入力が、前記ルートクロックと前記第2および第3のレーンによって供給される前記クロックとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項４】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第2および第3のレーンの第1のレベルの遅延素子用の入力、ならびに前記第2および第3のレーンの第2のレベルの遅延素子用の前記入力が、前記ルートクロックと前記第2および第3のレーンによって供給される前記クロックとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項５】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第2および第3のレーンの第1のレベルの遅延素子用の入力、ならびに前記第2および第3のレーンの第2のレベルの遅延素子用の前記入力が、前記ルートクロックに関連付けられたデータレーンと前記第2および第3のレーンによって供給される前記クロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項６】
前記通信リンクが、差動符号化されたデータ信号およびクロック信号を備える、請求項1に記載の方法。
【請求項７】
前記通信リンクが、第1の集積回路(IC)デバイスを第2のICデバイスと通信可能に結合する、請求項1に記載の方法。
【請求項８】
前記1つまたは複数のクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項1に記載の方法。
【請求項９】
前記第1のレーンの前記第1のレベルの遅延素子の出力として前記1つまたは複数のクロック信号のバージョンの間で選択するステップが、
前記左クロック信号と前記右クロック信号との間で選択するステップ
を含む、請求項8に記載の方法。
【請求項１０】
前記第1のレーンの前記第1のレベルの遅延素子の出力として前記1つまたは複数のクロック信号のバージョンの間で選択するステップが、
第1のレベルの遅延素子ごとにアクティブクロッキングモードと電源断モードとの間で選択するステップ
を含む、請求項8に記載の方法。
【請求項１１】
前記ルートクロックの供給に寄与しない1つまたは複数の遅延素子の電源を切断するステップ
をさらに含む、請求項1に記載の方法。
【請求項１２】
第1の集積回路(IC)デバイスを第2のICデバイスと通信可能に結合する通信リンクに対するインターフェースと、
第1のクロックレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンの間で選択するための手段であって、前記1つまたは複数のクロック信号の前記バージョンが、第1のクロック信号の少なくとも2つのバージョンを含み、前記第1のクロック信号の各バージョンが、前記第1のクロック信号に関して異なる遅延を被る、手段と、
前記第1のクロックレーンの出力としてルートクロックを供給するための手段であって、前記ルートクロックが前記通信リンク上でデータを送信するために使用される、手段と
を備え、
前記ルートクロックを供給するための前記手段が、前記第1のクロックレーンの前記第1のレベルの遅延素子の前記出力と、複数の他のクロックレーンの第1のレベルの遅延素子の出力との間で選択するように構成される、
装置。
【請求項１３】
前記第1のクロックレーンが、1つまたは複数のデータレーン内の対応するトランジスタ経路に整合するトランジスタ経路を有する、請求項12に記載の装置。
【請求項１４】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記第1のクロックレーンの前記第1のレベルの遅延素子用の入力、および前記第1のクロックレーン内の第2のレベルの遅延素子用の前記入力が、前記ルートクロックと前記複数の他のクロックレーンによって供給される前記出力クロックとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１５】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記複数の他のクロックレーンの第1のレベルの遅延素子用の入力、および前記複数の他のクロックレーンの第2のレベルの遅延素子用の前記入力が、前記ルートクロックと前記複数の他のクロックレーンによって供給される前記出力クロックとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１６】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記複数の他のクロックレーンの第1のレベルの遅延素子用の入力、および前記複数の他のクロックレーンの第2のレベルの遅延素子用の前記入力が、前記ルートクロックに関連付けられたデータレーンと前記複数の他のクロックレーンによって供給される前記出力クロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１７】
前記1つまたは複数のクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項12に記載の装置。
【請求項１８】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、前記第1のクロック信号として前記左クロック信号または前記右クロック信号を選択するように構成された論理手段を含む、請求項17に記載の装置。
【請求項１９】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、前記ルートクロックの供給に使用されない出力を有する遅延素子の電源を切断するように構成された論理手段を含む、請求項12に記載の装置。
【請求項２０】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、第1のレベルの遅延素子ごとにアクティブクロッキングモードと電源断モードとの間で選択するように構成された論理手段を含む、請求項12に記載の装置。
【請求項２１】
集積回路(IC)デバイス上の複数のクロックレーンであって、各クロックレーンが、通信インターフェースの対応するデータレーン内のデータ送信を制御するためのクロックを供給するように構成可能であり、各クロックレーンが、
1つまたは複数の第1のレベルのクロック信号のバージョンの間で選択するように構成された第1のレベルの多重化論理手段と、
前記第1のレベルの多重化論理手段の出力と、2つの他のクロックレーンの第1のレベルの多重化論理手段の出力との間で選択することによって、ルートクロックを供給するように構成された第2のレベルの多重化論理手段と、
前記複数のクロックレーンの前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成するコントローラと
を含む、クロックレーン
を備え、
前記コントローラが、前記複数のクロックレーンの出力間のクロックスキューを制御するように構成される、
クロック遅延行列。
【請求項２２】
各クロックレーンが、対応するデータレーン内のトランジスタ経路に整合するトランジスタ経路を有する、請求項21に記載のクロック遅延行列。
【請求項２３】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、各クロックレーンおよび前記2つの他のクロックレーンの出力間のスキューを最小化するように、前記各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２４】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、前記通信インターフェース上で送信されるデータ信号間のスキューを最小化するように、各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２５】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、前記通信インターフェース上で送信されるクロック信号とデータ信号との間のスキューを最小化するように、各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２６】
前記1つまたは複数の第1のレベルのクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項21に記載のクロック遅延行列。
【請求項２７】
第1のレベルのクロック信号として前記左クロック信号または前記右クロック信号を供給するように構成可能であるベースクロック選択論理手段
をさらに備える、請求項26に記載のクロック遅延行列。
【請求項２８】
前記1つまたは複数の第1のレベルのクロック信号が、前記左クロック信号および前記右クロック信号を含む、請求項21に記載のクロック遅延行列。
【請求項２９】
前記ルートクロックを供給するために使用される出力を供給しない多重化論理手段が電源を切られる、請求項21に記載のクロック遅延行列。
【請求項３０】
前記コントローラが、前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段の部分について、アクティブクロッキングモードと電源断モードとの間で選択するように構成される、請求項21に記載のクロック遅延行列。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、本出願の譲受人に譲渡され、参照により明白に本明細書に組み込まれる、2013年8月30日に出願された「Configurable Clock Tree」と題する仮出願第61/872,547号、および2014年8月18に出願された「Configurable Clock Tree」と題する非仮出願第14/462,327号の優先権を主張する。
【０００２】
少なくとも1つの態様は、一般に、高速データ通信インターフェースに関し、より詳細には、マルチレーンデータリンクにおけるクロックスキューの管理に関する。
【背景技術】
【０００３】
データ通信リンクは、電子機器内の構成要素、デバイス、および回路を接続するために頻繁に使用される。業界規格に準拠するか、業界規格と互換性があるいくつかの通信リンクが使用され、電子機器ならびに構成要素、デバイス、および回路の製造業者は、特に、製造業者がデータ通信リンクに接続される1つまたは複数の構成要素の設計および動作をほとんどまたはまったくコントロールしない場合、クロック信号およびデータ信号の指定されたタイミングを満たさなければならない。たとえば、携帯電話などのモバイルデバイスの製造業者は、異なる製造業者を含む様々なソースから、モバイルデバイスの構成要素を取得することができる。一例では、携帯電話内のアプリケーションプロセッサが第1の製造業者から取得される場合があり、携帯電話用のディスプレイが第2の製造業者から取得される場合がある。モバイルデバイス内のアプリケーションプロセッサとディスプレイとの間の接続を含む、モバイルデバイスのいくつかの構成要素を相互接続するための規格を定義することができる。いくつかのディスプレイは、モバイル業界プロセッサインターフェースアライアンス(MIPI)によって指定されたディスプレイシステムインターフェース(DSI)規格に準拠するインターフェースを提供する。
【０００４】
伝送データと、伝送データを送受信するために使用される送受信クロックとの間の関係が特に重要である。送信機は、通常、異なるデータ信号のエッジ間、およびデータ信号とクロック信号との間のスキューを最小化するように設計される。受信機は、立上りエッジ、立下りエッジ、または連続エッジ間のデータをサンプリングする。タイミングスキューは、信頼できるデータキャプチャに利用可能なタイミングウィンドウを減少させる可能性がある。通信の速度が増加するにつれて、データ信号間、クロック信号間、およびクロック信号とデータ信号との間のスキューは、データ送信レートを制限する可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で開示されるいくつかの実装形態は、通信リンク上で送信されるクロック信号および/またはデータ信号の間のクロックスキューを構成、最小化、または場合によっては最適化することができる、構成可能なクロックツリーを採用する。構成可能なクロックツリーは、複数のクロックレーンを提供するように構成され得る遅延行列を含む場合がある。構成可能なクロックツリーは、データ通信リンクにより電子装置内の1つまたは複数の他のICデバイスに通信可能に結合された集積回路(IC)デバイス内で提供される場合がある。
【０００６】
本開示の様々な態様では、データ通信のための方法は、第1のレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンの間で選択することと、第1のレーンの第1のレベルの遅延素子の出力を第2および第3のレーン内の第2のレベルの遅延素子に供給することと、第1のレーンの第1のレベルの遅延素子の出力と、第2および第3のレーンの第1のレベルの遅延素子の出力との間で選択することによって、通信リンク上のデータの送信を制御するために使用されるルートクロックを供給することとを含む。1つまたは複数のクロック信号のバージョンは、第1のクロック信号の少なくとも2つのバージョンを含む場合がある。第1のクロック信号の各バージョンは、第1のクロック信号に関して異なる遅延を被る場合がある。
【０００７】
本開示の一態様では、第1のレーンは、通信リンクの1つまたは複数のデータレーンのトランジスタ経路に整合するトランジスタ経路を有する場合がある。
【０００８】
本開示の一態様では、第1、第2、および第3のレーンは、各々、対応するデータレーン内で使用されるべきクロックを供給することができる。第1のレーンの第1のレベルの遅延素子用の入力および第1のレーン内の第2のレベルの遅延素子用の入力は、ルートクロックと第2および第3のレーンによって供給されるクロックとの間のスキューを最小化するように選択される場合がある。第2および第3のレーンの第1のレベルの遅延素子用の入力ならびに第2および第3のレーンの第2のレベルの遅延素子用の入力は、ルートクロックと第2および第3のレーンによって供給されるクロックとの間のスキューを最小化するように選択される場合がある。第2および第3のレーンの第1のレベルの遅延素子用の入力ならびに第2および第3のレーンの第2のレベルの遅延素子用の入力は、ルートクロックに関連付けられたデータレーンと第2および第3のレーンによって供給されるクロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される場合がある。
【０００９】
本開示の一態様では、通信リンクは、差動符号化されたデータ信号およびクロック信号を含む。通信リンクは第1のICデバイスを第2のICデバイスと通信可能に結合することができる。
【００１０】
本開示の一態様では、1つまたは複数のクロック信号は、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号を含む場合がある。1つまたは複数のクロック信号は、第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号を含む場合がある。左クロック信号またはその変形形態は、第1のレベルの遅延素子の出力として選択される場合がある。右クロック信号またはその変形形態は、第1のレベルの遅延素子の出力として選択される場合がある。
【００１１】
本開示の一態様では、各遅延素子は、アクティブクロッキングモードおよび電源断モードにあり得る。ルートクロックの供給に寄与しない1つまたは複数の遅延素子は、電源を切られる場合がある。
【００１２】
本開示の様々な態様では、装置は、第1のICデバイスを第2のICデバイスと通信可能に結合する通信リンクに対するインターフェースと、第1のクロックレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンの間で選択するための手段、回路、および/またはモジュールと、第1のクロックレーンの出力としてルートクロックを供給するための手段、回路、またはモジュールとを含む。ルートクロックは、通信リンク上でデータを送信するために使用される場合がある。1つまたは複数のクロック信号のバージョンは、第1のクロック信号の少なくとも2つのバージョンを含む場合があり、第1のクロック信号の各バージョンは、第1のクロック信号に関して異なる遅延を被る。ルートクロックは、第1のクロックレーンの第1のレベルの遅延素子の出力と、複数の他のクロックレーンの第1のレベルの遅延素子の出力との間で選択するように選択論理手段を構成することによって、供給される場合がある。
【００１３】
本開示の一態様では、第1のクロックレーンは、1つまたは複数のデータレーン内の対応するトランジスタ経路に整合するトランジスタ経路を有する。
【００１４】
本開示の一態様では、ルートクロックおよび複数の他のクロックレーンによって供給される出力クロックは、対応するデータレーン内で使用される。第1のクロックレーンの第1のレベルの遅延素子用の入力および第1のクロックレーン内の第2のレベルの遅延素子用の入力は、ルートクロックと複数の他のクロックレーンによって供給される出力クロックとの間のスキューを最小化するように選択される場合がある。複数の他のクロックレーンの第1のレベルの遅延素子用の入力および複数の他のクロックレーンの第2のレベルの遅延素子用の入力は、ルートクロックと複数の他のクロックレーンによって供給される出力クロックとの間のスキューを最小化するように選択される場合がある。複数の他のクロックレーンの第1のレベルの遅延素子用の入力および複数の他のクロックレーンの第2のレベルの遅延素子用の入力は、ルートクロックに関連付けられたデータレーンと複数の他のクロックレーンによって供給される出力クロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される場合がある。
【００１５】
本開示の一態様では、1つまたは複数のクロック信号は、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含む。第1の複数の遅延素子は、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む場合がある。第2の複数の遅延素子は、第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む場合がある。ある特定の論理手段は、第1のクロック信号として左クロック信号または右クロック信号を選択するように構成される場合がある。
【００１６】
本開示の一態様では、第1および第2のレベルの遅延素子は、多重化論理手段を含む場合がある。ルートクロックを供給するために使用される出力を供給しない多重化論理手段は、電源を切られる場合がある。制御論理手段は、第1のレベルの遅延素子および/または第2のレベルの遅延素子内の多重化論理手段の部分について、アクティブクロッキングモードと電源断モードとの間で選択するように構成される場合がある。
【００１７】
本開示の一態様では、クロック遅延行列は、ICデバイス内で供給される複数のクロックレーンと、1つまたは複数の第1のレベルのクロック信号のバージョンの間で選択するように構成された第1のレベルの多重化論理手段と、第1のレベルの多重化論理手段の出力と2つの他のクロックレーンの第1のレベルの多重化論理手段の出力との間で選択することによってルートクロックを供給するように構成された第2のレベルの多重化論理手段と、複数のクロックレーンの第1のレベルの多重化論理手段および第2のレベルの多重化論理手段を構成するコントローラとを含む。各クロックレーンは、通信インターフェースの対応するデータレーン内のデータ送信を制御するためのクロックを供給するように構成可能であり得る。コントローラは、複数のクロックレーンの出力間のクロックスキューを制御するように構成される場合がある。
【００１８】
本開示の一態様では、各クロックレーンは、対応するデータレーン内のトランジスタ経路に整合するトランジスタ経路を有する。
【００１９】
本開示の一態様では、複数のクロックレーンの出力は、対応する複数のデータレーンを制御するために使用される場合がある。コントローラは、各クロックレーンおよび2つの他のクロックレーンの出力間のスキューを最小化するように、各クロックレーン内の第1のレベルの多重化論理手段および第2のレベルの多重化論理手段を構成することによって、クロックスキューを制御することができる。コントローラは、通信インターフェース上で送信されるデータ信号間のスキューを最小化するように、各クロックレーン内の第1のレベルの多重化論理手段および第2のレベルの多重化論理手段を構成することによって、クロックスキューを制御することができる。コントローラは、通信インターフェース上で送信されるクロック信号とデータ信号との間のスキューを最小化するように、各クロックレーン内の第1のレベルの多重化論理手段および第2のレベルの多重化論理手段を構成することによって、クロックスキューを制御することができる。
【００２０】
本開示の一態様では、1つまたは複数の第1のレベルのクロック信号は、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含む。第1の複数の遅延素子は、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む場合がある。第2の複数の遅延素子は、第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む場合がある。ベースクロック選択論理手段は、第1のレベルのクロック信号として左クロック信号または右クロック信号を選択するように、提供される場合があり、かつ/または構成可能であり得る。1つまたは複数の第1のレベルのクロック信号は、左クロック信号および右クロック信号を含む場合がある。1つまたは複数の第1のレベルのクロック信号は、左クロック信号および右クロック信号のバージョンを含む場合がある。
【００２１】
本開示の一態様では、ルートクロックを供給するために使用される出力を供給しない多重化論理手段は、電源を切られる場合がある。コントローラは、第1のレベルの多重化論理手段および第2のレベルの多重化論理手段の部分について、アクティブクロッキングモードと電源断モードとの間で選択するように構成される場合がある。
【図面の簡単な説明】
【００２２】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作するICデバイス間のデータリンクを採用する装置を示す図である。
【図２】ICデバイス間のデータリンクを採用する装置についてのシステムアーキテクチャを示す図である。
【図３】本明細書で開示されるいくつかの態様に従って提供されるいくつかのクロッキング技法を含むように適合され得るシステムの簡略化された例を示す図である。
【図４】典型的なMIPI準拠D-PHYシステムのアーキテクチャを示すブロック図400である。
【図５】本明細書で開示されるいくつかの態様による、MIPI準拠D-PHYレーントランシーバの一例を示すブロック図である。
【図６】本明細書で開示されるいくつかの態様による遅延セルを示すブロック図である。
【図７】本明細書で開示されるいくつかの態様による遅延セルの動作を示す図である。
【図８】本明細書で開示されるいくつかの態様による、ソフトウェア構成可能クロックツリー回路を示す図である。
【図９】複数のルートクロックが本明細書で開示されるいくつかの態様によるソフトウェア構成可能クロックツリー回路から取得される場合がある例を示す図である。
【図１０】本明細書で開示されるいくつかの態様による、45nm ICのクロックレイヤ内のソフトウェア構成可能クロックツリーの実装形態を示す図である。
【図１１】本明細書で開示されるいくつかの態様による、28nm IC内のソフトウェア構成可能クロック遅延セルの実装形態を示す図である。
【図１２】本明細書で開示されるいくつかの態様に従って適合され得る処理システムを採用する装置の一例を示すブロック図である。
【図１３】本明細書で開示されるいくつかの態様によるデータ転送用の方法のフローチャートである。
【図１４】本明細書で開示されるいくつかの態様による、クロックツリーを構成するために使用され得る装置についてのハードウェア実装形態の一例を示す図である。
【発明を実施するための形態】
【００２３】
次に、様々な態様が図面を参照して記載される。以下の説明において、説明の目的で、1つまたは複数の態様の完全な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、そのような態様は、これらの具体的な詳細なしで実践され得ることが明らかであり得る。
【００２４】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例として、コンピューティングデバイス上で実行されているアプリケーションとコンピューティングデバイスの両方は、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピューティングデバイス上に位置し、かつ/または、2つ以上のコンピューティングデバイス間に分散される場合がある。加えて、これらの構成要素は、様々なデータ構造を記憶した様々なコンピュータ可読媒体から実行することができる。構成要素は、ローカルシステム内、分散システム内、および/または、インターネットなどのネットワークにわたる別の構成要素と対話する1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号などに従うローカルプロセスおよび/またはリモートプロセスにより、信号によって他のシステムと通信することができる。
【００２５】
その上、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段の指定がない限り、または、文脈から明白でない限り、「XはAまたはBを採用する」という語句は、自然な包括的な順列のいずれかを意味するものとする。すなわち、「XはAまたはBを採用する」という語句は、以下のインスタンス、すなわち、XはAを採用する、XはBを採用する、または、XはAとBの両方を採用する、のうちのいずれかによって満たされる。加えて、本出願および添付の特許請求の範囲で使用される冠詞「a」および「an」は、別段の規定がない限り、または単数形を対象とすることが文脈から明白でない限り、一般に、「1つまたは複数」を意味するものと解釈されるべきである。
【００２６】
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、電気製品、自動車用電子機器、アビオニクスシステムなどの、デバイスの副構成要素を含む、電子構成要素間に配備される通信リンクに適用可能であり得る。図1は、ICデバイス間のデータリンクを採用する装置100の一例を描写し、データリンクは、複数の利用可能な規格のうちの1つに従って選択的に動作することができる。装置100は、無線アクセスネットワーク(RAN)、コアアクセスネットワーク、インターネット、および/または別のネットワークとワイヤレスに通信するワイヤレス通信デバイスを含む場合がある。装置100は、処理回路102に動作可能に結合された通信トランシーバ106を含む場合がある。処理回路102は、特定用途向けIC(ASIC)108などの1つまたは複数のICデバイスを含む場合がある。ASIC108は、1つまたは複数の処理デバイス、シーケンサ、論理回路などを含む場合がある。処理回路102は、処理回路102によって実行され、場合によっては使用され得る命令およびデータを保持することができるメモリデバイス112などのプロセッサ可読媒体を含み、かつ/またはそれに結合される場合がある。処理回路102は、オペレーティングシステム、およびメモリデバイス112内に存在するソフトウェアモジュールの実行をサポートし可能にするアプリケーションプログラミングインターフェース(API)110レイヤのうちの1つまたは複数によって制御される場合がある。メモリデバイス112は、読取り専用メモリ(ROM)および/もしくはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリデバイス、または処理システム内およびコンピューティングプラットフォーム内で使用され得る任意のメモリデバイスを含む場合がある。処理回路102は、装置100を構成し動作させるために使用される動作パラメータおよび他の情報を保持することができるローカルデータベース114を含み、かつ/またはそれにアクセスすることができる。ローカルデータベース114は、データベースモジュールまたはサーバ、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つまたは複数を使用して実装することができる。処理回路はまた、構成要素の中でも、アンテナ122、ディスプレイ124などの外部デバイス、ボタン128およびキーパッド126などのオペレータ制御に動作可能に結合される場合がある。
【００２７】
図2は、ワイヤレスモバイルデバイス、モバイル電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲーミングデバイスなどの、装置200のいくつかの態様を示すブロック概略図である。装置200は、通信リンク220を介してデータおよび制御情報を交換する複数のICデバイス202および230を含む場合がある。通信リンク220は、互いに極近傍に配置されるか、または装置200の異なる部分に物理的に配置される場合があるICデバイス202および230を相互接続するために使用される場合がある。一例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板、または回路板に設けられる場合がある。別の例では、第1のICデバイス202は、フリップフォンのキーパッドセクション内に配置される場合があり、第2のICデバイス230は、フリップフォンのディスプレイセクション内に配置される場合がある。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含む場合がある。
【００２８】
通信リンク220は、複数のチャネル222、224、および226を含む場合がある。1つまたは複数のチャネル226は双方向であり得、半二重モードおよび/または全二重モードで動作することができる。1つまたは複数のチャネル222および224は単方向であり得る。通信リンク220は、一方向において高い帯域幅を提供する非対称であり得る。本明細書に記載された一例では、第1の通信チャネル222は順方向リンク222と呼ばれる場合があり、第2の通信チャネル224は逆方向リンク224と呼ばれる場合がある。ICデバイス202と230の両方が通信リンク222上で送受信するように構成される場合でも、第1のICデバイス202はホストシステムまたは送信機として指定される場合があり、第2のICデバイス230はクライアントシステムまたは受信機として指定される場合がある。一例では、順方向リンク222は、第1のICデバイス202から第2のICデバイス230にデータを通信するときにより高いデータレートで動作することができ、逆方向リンク224は、第2のICデバイス230から第1のICデバイス202にデータを通信するときにより低いデータレートで動作することができる。
【００２９】
ICデバイス202および230は、各々、プロセッサ、あるいは他の処理回路もしくは処理デバイスおよび/またはコンピューティング回路もしくはコンピューティングデバイス206、236を含む場合がある。一例では、第1のICデバイス202は、ワイヤレストランシーバ204およびアンテナ214を介するワイヤレス通信を維持することを含む、装置200のコア機能を実行することができ、第2のICデバイス230は、ユーザインターフェースをサポートし、ディスプレイコントローラ232を管理するかもしくは動作させ、かつ/またはカメラコントローラ234を使用してカメラまたはビデオの入力デバイスの動作を制御することができる。ICデバイス202および230のうちの1つまたは複数によってサポートされる他の特徴には、キーボード、音声認識構成要素、および他の入力デバイスまたは出力デバイスが含まれ得る。ディスプレイコントローラ232は、液晶ディスプレイ(LCD)パネル、タッチスクリーンディスプレイ、インジケータなどの、ディスプレイをサポートする回路およびソフトウェアドライバを含む場合がある。記憶媒体208および238は、それぞれのプロセッサ206および236、ならびに/またはICデバイス202および230の他の構成要素によって使用される命令およびデータを保持するように適合された、一時的ストレージデバイスおよび/または非一時的ストレージデバイスを含む場合がある。各プロセッサ206、236およびその対応する記憶媒体208および238、ならびに他のモジュールおよび回路の間の通信は、それぞれ、1つまたは複数のバス212および242によって容易にされる場合がある。
【００３０】
逆方向リンク224は、順方向リンク222と同じ方式で動作され得、順方向リンク222および逆方向リンク224は、同等の速度または異なる速度で送信することが可能であり得、ここで、速度はデータ転送レートおよび/またはクロッキングレートとして表される場合がある。順方向および逆方向のデータレートは、アプリケーションに応じて桁数が実質的に同じであるか、または異なる場合がある。いくつかのアプリケーションでは、双方向リンク226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートすることができる。順方向リンク222および/または逆方向リンク224は、たとえば、順方向リンク222および逆方向リンク224が同じ物理接続を共有し、半二重様式で動作するとき、双方向モードで動作するように構成可能であり得る。
【００３１】
一例では、通信リンク220は、業界規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間の制御情報、コマンド情報、および他の情報を通信するように動作され得る。業界規格はアプリケーション固有であり得る。一例では、MIPI規格は、アプリケーションプロセッサICデバイス202と、モバイルデバイス内のカメラまたはディスプレイをサポートするICデバイス230との間の同期インターフェース仕様(D-PHY)を含む物理レイヤインターフェースを定義する。D-PHY仕様は、モバイルデバイス向けのMIPI仕様に準拠する製品の動作特性を支配する。D-PHYインターフェースは、モバイルデバイス内でICデバイス202、230、および/または他の構成要素を相互接続する柔軟で、低コストで、高速のシリアルインターフェースを使用するデータ転送をサポートすることができる。これらのインターフェースは、電磁干渉(EMI)問題を回避するために、スローエッジを有する比較的低いビットレートをもたらす相補型金属酸化物半導体(CMOS)互換のパラレルバスを含む場合がある。
【００３２】
図3は、本明細書で開示されるクロッキングの技法、装置、および方法のうちのいくつかを含むように適合され得るシステムの簡略化された例300、320を示す。第1の例300では、ディスプレイプロセッサ302は、ディスプレイデバイス124(図1参照)向けの表示データを生成する。ディスプレイプロセッサ302は、たとえば、処理回路206(図2参照)と一体化される場合がある。データは、通信リンク220を介して、ディスプレイコントローラ232を含むデバイス230に送信される場合がある。
【００３３】
通信リンク220は構成可能であり得、本明細書に記載されたMIPI規格DSIインターフェースに準拠するか、またはそれと互換性があり得る。ディスプレイプロセッサ302から生じる表示ピクセルデータは、MIPI DSIリンクコントローラ304に供給され、MIPI DSIリンクコントローラ304は、表示ピクセルデータを、高速シリアルインターフェースを介して、通常、ディスプレイコントローラ232を通してディスプレイに送られるべきパケットにフォーマットする。表示ピクセルデータと制御情報の両方は、このリンク220を介して送信される場合がある。
【００３４】
第2の例320では、カメラプロセッサ322は、カメラまたは撮像デバイスからカメラデータを受信する。カメラプロセッサ322は、処理回路206(図2参照)と一体化される場合がある。一例では、カメラプロセッサ322は、ワイヤレス処理または通信デバイス内のいくつかのコア機能を実行するように適合された処理回路206を使用して実装される場合がある。画像データは、通信リンク220を介して、カメラコントローラ234を含むデバイス230から受信される場合がある。
【００３５】
通信リンク220は構成可能であり得、MIPI仕様によって定義されたカメラシリアルインターフェース(CSI)に準拠するか、またはそれと互換性があり得る。画像ピクセルデータは、MIPI CSIリンクコントローラ324を使用して受信される場合がある。画像ピクセルデータとカメラ制御情報の両方は、このリンク220を介して送信される場合がある。
【００３６】
本開示のいくつかの態様は、MIPI DSIリンクを示す図3の第1の例300を参照して記載される場合がある。本明細書で開示された概念および原理は、図3の第2の例320に示されたMIPI CSIリンクを含む、他のタイプの通信リンクに適用可能であることが諒解されよう。
【００３７】
第1の例300では、集積回路(IC)デバイスのデジタルコアロジック回路310内のMIPI DSIリンクコントローラ304によって生成されるデータパケットが、ICデバイスの入力/出力セクション(パッドリング)312内で実現され得るMIPI D-PHYプリドライバ306に供給される場合がある。データパケットは、たとえば、差動ラインドライバなどの1組の出力ドライバに供給される場合がある。ICデバイスは、デジタルコアロジック回路310のまわりに配置されたパッドリング312内に設けられる場合があるボンディングパッドを介して、外部デバイスと通信することができる。電源もボンディングパッドを介して供給される場合がある。場合によっては、コアロジックセクション310内、および出力パッドを介して信号を送信し、入力パッドを介して信号を受信するために使用される回路内に設けられたデバイスは、異なる最大スイッチング周波数ならびに/または異なる最大電圧レベルおよび最大電流レベルを含む、異なる動作特性を有する場合がある。
【００３８】
図4は、MIPI準拠D-PHYシステム400の一例のアーキテクチャを示す図である。図示されたD-PHYシステム400は、送信機、サーバ、またはマスタデバイスとして働くことができる第1のデバイス410と、受信機、クライアント、またはスレーブデバイスとして働くことができる第2のデバイス430とを含む。アプリケーションレイヤソフトウェア402および422は、データおよび制御情報が下位レベルのソフトウェアおよびハードウェアの構成要素406、408、426、および428を介して送信されることを可能にする、プロトコル404および424を使用して通信することができる。一例では、データは、レーン管理モジュール406および426の監視および制御下で、通信リンクの複数のレーン412を介して転送される。デバイス410と430との間のデータ送信は、物理接続412を駆動する回路およびモジュール408および428を使用して、物理レイヤ(PHY)において行われる。場合によっては、物理接続412を介するデータ転送を制御するために、デバイス410と430との間に、1つまたは複数の高速単方向クロック414が設けられる場合がある。物理接続412は、単方向レーンおよび/または双方向レーンを含む場合がある複数のデータレーンをサポートすることができる。マスタデバイス410は、通常、受信機430が物理接続412のデータレーンからのデータを復号することを可能にする高速単方向クロック信号414を供給する。クロック信号414および他のタイミング信号またはクロックは、物理レイヤ408および/もしくは428によって発生するか、または専用もしくは特製のクロッキングロジックにより物理レイヤ408および/もしくは428に供給される場合がある。
【００３９】
図5は、MIPI準拠D-PHYレーントランシーバ500の一例を示すブロック図である。レーントランシーバ500は、D-PHYインターフェースの1つのデータレーン508のコネクタを介する通信に使用される場合がある。レーントランシーバ500は、上位レベルのモジュールの制御下で動作し、内部で発生するか、外部で発生したクロック信号から導出されるか、またはそれらの何らかの組合せであり得る、1つまたは複数のクロックを使用することができる、送信機の回路および/またはモジュール514、524と、受信機の回路および/またはモジュール516、526とを含む場合がある。
【００４０】
処理回路502は、データレーン508を介して情報を通信するために使用されるプロトコルの様々な態様を処理するように構成される場合がある。処理回路502は、DSIプロトコル、CSIプロトコル、および/またはMIPI統合プロトコル(UniPro)などの1つまたは複数のプロトコルを実装するように、適合または構成される場合がある。データ信号および制御信号は、処理回路502と、トランシーバ504またはデータレーン508上で送信され得る信号を発生させるように構成された他のデバイスとの間で通信される場合がある。一例では、データ信号および制御信号は、PHYプロトコルインターフェース(PPI)を使用して通信される場合がある。この説明の目的で、データ信号および制御信号は、1つまたは複数のバスなどを含む場合がある接続のネットワーク512を使用して、トランシーバ504内で配信されると想定することができる。
【００４１】
トランシーバは、処理回路502と交換された信号を符号化、送信、受信、および復号する、データインターフェース520および制御インターフェース522を含む場合がある。場合によっては、データインターフェース520と制御インターフェース522との間で、ある特定の共通ロジックが共有される場合がある。トランシーバ504は、1つまたは複数のデータ送信プロトコル、あらかじめ定義されたビットのシーケンス、および他の制御情報に従って、処理回路によって供給されたデータを含む場合があるデータストリーム間で選択することができる送信ロジックを含む場合がある。一例では、処理回路から受信されたデータのパケットは、データレーン508上の送信用に直列化される場合がある。次いで、直列化されたデータは、データレーン508に対応する物理コネクタ上の送信用の差動ラインドライバに供給される場合がある。
【００４２】
差動受信機526は、データレーン508に対応する物理コネクタから情報を受信するように構成される場合がある。差動受信機526は、処理回路502に送信され得る復号されたデータおよび制御情報を供給する、復号回路506に結合される場合がある。場合によっては、ライン監視回路528は、データレーン508を介する信頼できる通信を保証するために使用され得るエラー検出ロジック516をサポートすることができる。データレーン508に関連する通信動作を制御するために、状態機械または他のプロセッサ516が設けられる場合がある。
【００４３】
MIPI D-PHYレイヤにより、モバイルディスプレイおよびカメラなどのより高度なアプリケーション用のインターフェース帯域幅の著しい拡張が可能になる。高速、低電力、ソース同期型の複数のデータレーンモジュールのインターフェースプロトコルは、データレーン当たり最高1.5ギガビット毎秒を実現する。90度位相シフトクロックレーンとともに非常に密なレーンスキュー仕様に起因して、データレーン経路およびクロックレーン経路は、通常、同じデータ経路の遅延を保証するために同一でなければならない。D-PHYによって使用されるクロックツリーは、サービス中のデータレーンの数に依存し、クロックツリールートは、固定されたクロックツリーの位置を有することが必要とされる場合がある。
【００４４】
本明細書に記載されたように、それにより、いくつかのデータレーンが複数のD-PHYリンクとして構成され得、任意のデータレーンが固定サイクリックデータパターンを有するクロックレーンとして構成され得る、構成可能なクロックツリーが記載される。クロックレーンおよびクロックツリールートになるように任意のレーンを構成するために、構成可能なクロック遅延セルは、マルチレーンソース同期型プロトコルインターフェースに使用される場合がある。
【００４５】
図6は、たとえば、データ送信を制御するクロックを供給、構成、および/または適合するために、D-PHYレイヤ408および/または428において採用され得る、モジュラクロックツリーの遅延セル600を示すブロック図である。遅延セル600は、遅延セル600によって出力されるべきクロック610のソースの選択を可能にするように構成される場合がある。潜在的なソースは、それぞれ、左側入力612および右側入力614において供給されるベース入力クロック602の先進バージョンおよび遅延バージョンを含む、ベース入力クロック602の様々なバージョンを含む場合がある。一例では、レーンは、その遅延セル600が素子であり得るルートレーンの物理的な位置の左および右に配備される場合がある。図示された遅延セル600に関して、レーン構造および信号に関して「右」および「左」という用語の使用は、比喩的であり、いかなる物理的な属性または特性も、遅延セル600の設計、構造、または構成に帰するものではない。
【００４６】
遅延セル600は、出力610が3つの入力602、612、および614から選択され得るという点で構成可能である。一例では、制御信号is_clk616およびis_r618は、マルチプレクサ604a、604b、および606を制御する。第1のレベルの多重化は、is_clk信号616によって制御される2つの第1のレベルのマルチプレクサ604a、604bによって実現され、マルチプレクサ606は、第2のレベルの多重化を実現し、is_r信号618によって制御される。一例では、遅延セル600は、太線608によって示されたように、クロックルート(すなわち、入力クロック信号602)を出力610に通す。この例では、is_clk信号616は、第2のレベルのマルチプレクサ606の入力にルートクロックを通すことを第1のレベルのマルチプレクサ604aと604bの両方に行わせるロジック1に設定される。is_r信号618は、第2のレベルのマルチプレクサ606の(0と標示された)右入力620と(1と標示された)左入力622との間で選択する。第2のレイヤのマルチプレクサ606への両方の入力がクロックルートを受信すると、すなわち、is_clk信号616がロジック1に設定されると、is_r信号618の値は重要ではない場合がある。いくつかの例では、is_clk信号616がロジック1に設定されると、is_r信号618は、電源断モードにおいて遅延セル600の出力を抑制するために使用される場合がある。is_clk信号616がロジック0に設定されると、第2のレベルのマルチプレクサ606は、左(i_l)入力612および右(i_r)入力614において供給される信号の間で選択する。
【００４７】
図7は、is_clk信号710および730が0に設定されたときの2つの遅延セル702および722の動作を示す図700である。2つの遅延セル702、722は、本明細書に記載された構成可能なクロックツリー回路内の左リーフおよび右リーフであり得る。一方の遅延セル702では、is_clk信号710がロジック0に設定され、is_r信号712がロジック1に設定されると、右(i_r)入力708は遅延セル702の出力706において供給される場合がある。他方の遅延セル722では、is_clk信号730がロジック0に設定され、is_r信号732がロジック0に設定されると、左(i_l)入力728は遅延セル722の出力726において供給される場合がある。
【００４８】
その例では、左リーフ遅延セル702用のis_r信号712は0に設定され、それにより、第2のレベルのマルチプレクサ714の右側入力を選択し、左リーフ遅延セル702の出力706は、それに応じて、太線704によって示されたように右側入力708に従う。右リーフ遅延セル722用のis_r信号732は1に設定され、それにより、第2のレベルのマルチプレクサ734の左側入力を選択し、右リーフ遅延セル722の出力726は、それに応じて、太線724によって示されたように左側入力728に従う。
【００４９】
本明細書で開示されたいくつかの態様によれば、複数の構成可能なクロック遅延セル600、702、722は、クロックルート、または左側もしくは右側のデータレーンのいずれかから遅延経路を決定し、かつ/あるいは遅延経路の電源を切断することができる、4対1マルチプレクサのスタックを作成するために使用される場合がある。2つ以上のレベルに配置された遅延セル600の行列内にスタックが形成される場合があり、それにより、行列内の各遅延セル600は、1次入力、ならびに1次入力に関して先進または遅延するタイミングを通常含む、左入力および右入力から選択することができる。遅延セル600は、第4の経路(すなわち、出力610として選択された第4の「ダミー」入力または重複入力)が選択されると、電源断モードまたは低電力モードに入るように構成される場合もある。レーンごとおよびレーン間のクロックツリー遅延経路交差レーン(すなわち、左から右または右から左)は、トランジスタデバイス経路の同じ構成に基づき、遅延変動は、小さいプロセス、電圧、および温度(PVT)の変動を被る金属(抵抗キャパシタンス)RC値内の変動に制限される場合がある。したがって、計測されたRC遅延の適合を得るために、物理設計を容易に操作することができる。適合するトランジスタ経路は、レーンを交差するクロックツリーの平衡に対する必要性を除去することができる。
【００５０】
図8は、ソフトウェア構成可能クロックツリー回路800から複数のクロックが取得される場合がある、第1の例を示すブロック概略図である。クロック804、806、810、および812は、ルートクロック808とともに、2つの右レーンおよび2つの左レーン向けに発生する。ルートクロック808は、ソースビットクロック802の複数の遅延バージョンを供給する遅延線816内の様々な点から選択される場合がある。遅延線816は、バッファデバイス814a〜814eを含む場合がある、直列接続された遅延素子を用いて実装される場合がある。ルートクロック808は、クロックソースと出力ピン808との間の論理素子の数を増加させずに、所望のクロックソースを出力ピン808に向けるように、様々なis_r信号およびis_clk信号を構成することによって、選択される場合がある。複数のクロック出力804、806、810、および/または812の各々は、同様に構成される場合がある。図8に示された構成では、構成可能なクロック遅延セルのうちの2つ818a、818bは、クロック804、806、808、810、および812を供給するツリー内に含まれず、これらの構成可能なクロック遅延セル818a、818bは、電源を切られる場合がある。
【００５１】
図9は、ソフトウェア構成可能クロックツリー回路900から複数のクロックが取得される場合がある、第2の例を示すブロック概略図である。ここで、左ビットクロックソース902および右ビットクロックソース914は、それぞれの左遅延線916および右遅延線918に供給される場合がある。左ビットクロックソース902および右ビットクロックソース914は、2つの異なるルートクロックソースから導出される場合があり、同じかまたは異なる周波数を有する場合がある。ルートクロック908、ならびに2つの左レーンおよび2つの右レーン用のレーンクロック904、906、910、および912は、図8に示されたように、左ビットクロックソース902および/または右ビットクロックソース914からの構成可能な相対的タイミングを用いて発生する場合がある。左ビットクロックソース902および右ビットクロックソース914から導出されたクロックの間で選択するために、追加レベルの多重化920が実現される場合がある。レーンおよび対応するクロックを認定する際の「左および右」の使用は、文字通りまたは比喩的であり得るが、場合によってはルートクロックレーンのまわりのデータレーンの物理的な位置に関係する場合がある。図9の例は、左ビットクロックソース902を選ぶようにソフトウェア構成される場合がある第1のルートクロック908、および、左ビットクロックソース902と同じかまたは異なるクロック周波数を有する場合がある、右ビットクロックソース914を選ぶようにソフトウェア構成される場合がある第2のルートクロック910を示す。クロックツリー回路は、2つの左レーン904および906が第1のルートクロック908に基づく場合があり、右レーン912が第2のルートクロック910に基づく場合があるように、構成される場合がある。図9に示された構成では、構成可能なクロック遅延セルのうちの2つ922a、922bは、クロック904、906、908、910、および912を供給するツリー内に含まれず、これらの構成可能なクロック遅延セル922a、922bは、電源を切られる場合がある。
【００５２】
図10は、45nm ICデバイス上に設けられたDSI PHY回路1002の一例を示す図1000である。PHY回路1002は、本明細書で開示されたいくつかの態様に従って適合されたクロックレイヤ1012を含む場合がある。たとえば、クロックレイヤは、ソフトウェア構成可能クロックツリーであり得る。ソフトウェア構成可能クロックツリーは、たとえば、DSIリンクコントローラ1008によって構成される場合がある。ソフトウェア構成可能クロックツリーの構成は、ビルトインセルフテスト(BIST)パターンなどを使用して較正情報を生成することができる、較正ロジック1008から取得された情報に基づく場合がある。ソフトウェア構成可能クロックツリーは、たとえば、位相ロックループ1006を含むクロック発生回路から取得されたベースクロックを使用することができる。
【００５３】
図11は、28nm集積回路内のソフトウェア構成可能クロック遅延セル1102の実装形態の一例を示す図1100である。計測されたRC遅延が適合する1組のクロックを取得するために、左流動ソースクロック1104および右流動ソースクロック1106が、1つまたは複数のソフトウェア構成可能クロックツリーに供給される場合がある。
【００５４】
図12は、本明細書で開示された1つまたは複数の機能を実行するように構成され得る処理回路1202を採用する装置についてのハードウェア実装形態の簡略化された例を示す概念図1200である。たとえば、処理回路は、図1の処理回路102、図2のデバイス202またはデバイス230の少なくとも一部分、図5の処理回路502、図10のDSIリンクコントローラ1008などとして、配備される場合がある。本開示の様々な態様によれば、本明細書で開示された要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1202を使用して実装することができる。処理回路1202は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ1204を含む場合がある。プロセッサ1204の例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって記載された様々な機能を実行するように構成された他の適切なハードウェアが含まれる。1つまたは複数のプロセッサ1204は、特定の機能を実行し、ソフトウェアモジュール1216のうちの1つによって構成されるか、増強されるか、または制御され得る専用プロセッサを含む場合がある。1つまたは複数のプロセッサ1204は、初期化中にロードされたソフトウェアモジュール1216の組合せを介して構成され、動作中に1つまたは複数のソフトウェアモジュール1216のローディングまたはアンローディングによってさらに構成される場合がある。
【００５５】
図示された例では、処理回路1202は、バス1210によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス1210は、処理回路1202の具体的な適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス1210は、1つまたは複数のプロセッサ1204およびストレージ1206を含む様々な回路を互いにリンクさせる。ストレージ1206は、メモリデバイスおよび大容量ストレージデバイスを含む場合があり、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれる場合がある。バス1210は、タイミングソース、タイマ、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1208は、バス1210と1つまたは複数のトランシーバ1212との間のインターフェースを提供することができる。トランシーバ1212は、処理回路によってサポートされるネットワーキング技法ごとに提供される場合がある。場合によっては、複数のネットワーキング技法は、トランシーバ1212内で見出される回路または処理モジュールの一部または全部を共有することができる。各トランシーバ1212は、送信媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース1218(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もあり、直接またはバスインターフェース1208を介して、バス1210に通信可能に結合される場合がある。
【００５６】
プロセッサ1204は、バス1210の管理、およびストレージ1206を含む場合があるコンピュータ可読媒体に記憶されたソフトウェアの実行を含む場合がある全体的な処理に関与することができる。この点において、プロセッサ1204を含む処理回路1202は、本明細書で開示された方法、機能、および技法のいずれも実施するために使用される場合がある。ストレージ1206は、ソフトウェアを実行するとき、プロセッサ1204によって操作されるデータを記憶するために使用される場合があり、ソフトウェアは、本明細書で開示された方法のうちの任意の1つを実施するように構成される場合がある。
【００５７】
処理回路1202内の1つまたは複数のプロセッサ1204は、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読形態で、ストレージ1206または外部コンピュータ可読媒体に存在する場合がある。外部コンピュータ可読媒体および/またはストレージ1206は、非一時的コンピュータ可読媒体を含む場合がある。非一時的コンピュータ可読媒体には、例として、磁気ストレージデバイス(たとえば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、およびコンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体が含まれる。コンピュータ可読媒体および/またはストレージ1206には、例として、搬送波、伝送路、および、コンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を送信するための任意の他の適切な媒体も含まれ得る。コンピュータ可読媒体および/またはストレージ1206は、処理回路1202の中に、プロセッサ1204の中に、処理回路1202の外部に存在するか、または処理回路1202を含む複数のエンティティにわたって分散される場合がある。コンピュータ可読媒体および/またはストレージ1206は、コンピュータプログラム製品内で具現化される場合がある。例として、コンピュータプログラム製品には、パッケージング材料内のコンピュータ可読媒体が含まれ得る。当業者は、具体的な適用例およびシステム全体に課された全体的な設計制約に応じて、本開示全体にわたって提示された記載機能を最も良く実装する方法を認識されよう。
【００５８】
ストレージ1206は、本明細書ではソフトウェアモジュール1216と呼ばれる場合がある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどの中で保持および/または編成されるソフトウェアを保持することができる。ソフトウェアモジュール1216の各々は、処理回路1202にインストールまたはロードされ、1つまたは複数のプロセッサ1204によって実行されると1つまたは複数のプロセッサ1204の動作を制御する、実行時イメージ1214に寄与する命令およびデータを含む場合がある。実行されたとき、いくつかの命令は、本明細書に記載されたいくつかの方法、アルゴリズム、およびプロセスに従って機能を実行することを、処理回路1202に行わせることができる。
【００５９】
ソフトウェアモジュール1216のうちのいくつかは、処理回路1202の初期化中にロードされる場合があり、これらのソフトウェアモジュール1216は、本明細書で開示された様々な機能の実行を可能にするように、処理回路1202を構成することができる。たとえば、いくつかのソフトウェアモジュール1216は、プロセッサ1204の内部デバイスおよび/またはロジック回路1222を構成することができ、トランシーバ1212、バスインターフェース1208、ユーザインターフェース1218、タイマ、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール1216は、割込みハンドラおよびデバイスドライバと対話し、処理回路1202によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含む場合がある。リソースには、メモリ、処理時間、トランシーバ1212へのアクセス、ユーザインターフェース1218などが含まれ得る。
【００６０】
処理回路1202の1つまたは複数のプロセッサ1204は多機能であり得、それにより、ソフトウェアモジュール1216のうちのいくつかは、ロードされ、異なる機能、または同じ機能の異なるインスタンスを実行するように構成される。1つまたは複数のプロセッサ1204は、さらに、たとえば、ユーザインターフェース1218、トランシーバ1212、およびデバイスドライバからの入力に応答して開始されるバックグラウンドタスクを管理するように適合される場合がある。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ1204は、マルチタスク環境を実現するように構成される場合があり、それにより、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ1204によってサービスされる1組のタスクとして実施される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1204の制御を渡す時分割プログラム1220を使用して実装される場合があり、それにより、各タスクは、任意の未処理動作の完了後、および/または割込みなどの入力に応答して、時分割プログラム1220に1つまたは複数のプロセッサ1204の制御を戻す。タスクが1つまたは複数のプロセッサ1204の制御を有するとき、処理回路は、事実上、制御するタスクに関連付けられた機能によって対処される目的に特化される。時分割プログラム1220は、オペレーティングシステム、ラウンドロビンベースで制御を伝達するメインループ、機能の優先順位に従って1つまたは複数のプロセッサ1204の制御を割り振る機能、および/または、1つまたは複数のプロセッサ1204の制御を処理機能に提供することによって外部イベントに応答する割込み駆動のメインループを含む場合がある。
【００６１】
図13は、構成可能なクロックツリークロック回路の動作を示すフローチャート1300である。構成可能なクロックツリークロック回路は、半導体ICデバイスなどに設けられる場合がある。構成可能なクロックツリークロック回路は、本明細書で開示されたいくつかの態様に従って適合された、または/または構成可能な遅延行列を含む場合がある。フローチャート1300は、データ通信リンクに対するインターフェースを含むICデバイスに関係する場合がある。
【００６２】
ステップ1302において、第1のレーンの第1のレベルの遅延素子の出力が選択される。第1のレベルの遅延素子の出力は、1つまたは複数のクロック信号のバージョンから選択される場合がある。1つまたは複数のクロック信号のバージョンは、第1のクロック信号の少なくとも2つのバージョンを含む場合があり、第1のクロック信号の各バージョンは、第1のクロック信号に関して異なる遅延を被る場合がある。
【００６３】
ステップ1304において、第1のレーンの第1のレベルの遅延素子の出力が、第2および第3のレーン内の第2のレベルの遅延素子に供給される場合がある。
【００６４】
ステップ1306において、ルートクロックが供給される場合がある。ルートクロックは、第1のレーンの第1のレベルの遅延素子の出力と、第2および第3のレーンの第1のレベルの遅延素子の出力との間で選択することによって、通信リンク上のデータの送信を制御するために使用される場合がある。
【００６５】
本開示の一態様では、第1のレーンは、1つまたは複数のデータレーンのトランジスタ経路に整合するトランジスタ経路を有する場合がある。
【００６６】
本開示の一態様では、第1、第2、および第3のレーンは、通信リンクの対応するデータレーンにおいて使用されるべきクロックを供給することができる。第1のレーンの第1のレベルの遅延素子用の入力および第1のレーン内の第2のレベルの遅延素子用の入力は、ルートクロックと第2および第3のレーンによって供給されるクロックとの間のスキューを最小化するように選択される場合がある。第2および第3のレーンの第1のレベルの遅延素子用の入力ならびに第2および第3のレーンの第2のレベルの遅延素子用の入力は、ルートクロックと第2および第3のレーンによって供給されるクロックとの間のスキューを最小化するように選択される場合がある。第2および第3のレーンの第1のレベルの遅延素子用の入力ならびに第2および第3のレーンの第2のレベルの遅延素子用の入力は、ルートクロックに関連付けられたデータレーンと第2および第3のレーンによって供給されるクロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される。
【００６７】
本開示の一態様では、差動符号化されたデータ信号およびクロック信号は、通信リンク上で送信される。通信リンクは第1のICデバイスを第2のICデバイスと通信可能に結合することができる。通信リンクは、ICデバイス内、チップキャリア上、および/または他の回路板上の相互接続を含む場合がある。一例では、相互接続は、半導体ICデバイスの金属被覆層内に形成されたトレースとして提供される場合がある。第1および第2のICデバイスは、半導体デバイスであり得る。第1および第2のICデバイスは、図10および図11に示されたICデバイスなどの半導体ICデバイスを含む場合がある。
【００６８】
本開示の一態様では、1つまたは複数のクロック信号は、第1の複数の遅延セルのうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延セルのうちの1つまたは複数によって遅延する右クロック信号とを含む。一例では、第1の複数の遅延セルは、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかのバッファデバイスを含む場合がある。第2の複数の遅延セルは、第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延セルを含む場合がある。一例では、第1のレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンの間で選択することは、左クロック信号と右クロック信号との間で選択することを含む。
【００６９】
本開示の一態様では、第1のレベルの遅延素子および第2のレベルの遅延素子は、多重化ロジックへの入力として供給された1つまたは複数のクロック信号のバージョンの間で選択するように構成された多重化ロジックを含む場合がある。ルートクロックを供給するために使用される出力を供給しない多重化ロジックは、電源を切られる場合がある。コントローラは、第1のレベルの遅延素子および第2のレベルの遅延素子内の多重化ロジックの部分について、アクティブクロッキングモードと電源断モードとの間で選択するように構成される場合がある。
【００７０】
本開示の一態様では、第1のレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンを選択するための手段は、2つの多重化レベルに配列された複数のマルチプレクサ604a、604b、および606(図6参照)を含む場合がある。第1のレーンの第1のレベルの遅延素子の出力として1つまたは複数のクロック信号のバージョンを選択するための手段は、遅延素子600のアレイ、行列、またはスタックを構成するために、コントローラまたはプロセッサによって発生する場合がある、制御信号612、614、616、および618をさらに含む場合がある。
【００７１】
本開示の一態様では、第1、第2、および第3のレーンの第1のレベルの遅延素子は、2つの多重化レベルに配列された複数のマルチプレクサ604a、604b、および606を含む場合がある。1つまたは複数のクロック信号602、612、614のバージョンは、遅延素子または遅延セル600のアレイ、行列、またはスタックを構成するために使用されるコントローラまたはプロセッサによって発生する場合がある、1つまたは複数の制御信号616および618を使用して、第1のレーンの第1のレベルの遅延素子の出力として選択される場合がある。1つまたは複数のクロックレーン内の遅延セル600は、通信リンクを介する送信用の信号を供給するために使用されるデータレーンの構成に整合するように構成される場合がある。クロックレーンおよびデータレーンは、遅延セルの同じ行列内に形成された部分を含む場合がある。
【００７２】
本開示の一態様では、クロック遅延行列は、ICデバイス上の複数のクロックレーンを含む。各クロックレーンは、対応するデータレーン内のデータ送信を制御するためのクロックを供給するように構成された遅延セルを含む場合がある。各クロックレーンは、1つまたは複数のベースクロックの3つの遅延バージョンの間で選択するように構成された第1のレベルのマルチプレクサと、第1のレベルのマルチプレクサの出力と2つの異なるクロックレーン用の第1のレベルのマルチプレクサの出力との間で選択するように構成された第2のレベルのマルチプレクサと、複数のクロックレーンおよび対応するデータレーンの出力間のクロックスキューを最小化するように、複数のクロックレーンの第1のレベルのマルチプレクサおよび第2のレベルのマルチプレクサを構成するコントローラとを含む場合がある。
【００７３】
図14は、処理回路1402を採用する装置1400についてのハードウェア実装形態の一例を示す概念図である。この例では、処理回路1402は、バス1416によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス1416は、処理回路1402の具体的な適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス1416は、プロセッサ1412によって概略的に表される1つまたは複数のプロセッサと、プロセッサ可読記憶媒体1414によって概略的に表されるコンピュータ可読媒体とを含む様々な回路を互いにリンクさせる。バス1416は、タイミングソース、タイマ、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1418は、バス1416とトランシーバ1420との間のインターフェースを提供する。トランシーバ1420は、伝送媒体を介して様々な他の装置と通信するための手段を提供するバスインターフェースを含む場合がある。装置の性質に応じて、ユーザインターフェース1422(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もある。1つまたは複数のクロック発生回路またはモジュール1424は、処理回路1402内に設けられるか、あるいは処理回路1402および/または1つもしくは複数のプロセッサ1412によって制御される場合がある。一例では、クロック発生回路またはモジュール1424は、1つもしくは複数の水晶発振器、1つもしくは複数の位相ロックループデバイス、および/または、1つもしくは複数の構成可能なクロックツリーを含む場合がある。
【００７４】
プロセッサ1412は、バス1416の管理、およびプロセッサ可読記憶媒体1414に記憶されたソフトウェアの実行を含む全体的な処理に関与する。ソフトウェアは、プロセッサ1412によって実行されたとき、任意の特定の装置について上記に記載された様々な機能を処理回路1402に実行させる。プロセッサ可読記憶媒体1414は、ソフトウェアを実行するときにプロセッサ1412によって操作されるデータを記憶するために使用される場合がある。
【００７５】
一構成では、処理回路は、PLL、構成可能なクロックツリー、ならびに他のロジックおよび回路を含む場合がある、クロック発生用のモジュールおよび/または回路1404、1424を含む場合がある。処理回路は、BISTパターン生成、伝送線監視、エラー検出などのためのモジュールおよび/または回路を含む場合がある、1つまたは複数の較正モジュールおよび/または回路1406を含む場合がある。処理回路は、クロックツリーを構成するためのモジュールおよび/または回路1408を含む場合がある。一例では、モジュールおよび/または回路1408は、第1のレーンの第1のレベルの遅延素子の出力として少なくとも1つのクロック信号の1つまたは複数のバージョンを選択することと、第1のレーンの第1のレベルの遅延素子の出力を第2および第3のレーン内の第2のレベルの遅延素子に供給することと、通信リンク上のデータの送信をするために使用されるルートクロックを供給するために、第1のレーンの第1のレベルの遅延素子の出力と、第2および第3のレーンの第1のレベルの遅延素子の出力との間で選択することとを行うように協働することができる。
【００７６】
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の説明であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層が並べ替えられ得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることを意味するものではない。
【００７７】
前の説明は、いかなる当業者も本明細書に記載された様々な態様を実践することが可能になるように提供される。これらの態様への様々な修正形態は当業者には容易に明らかであり、本明細書で定義された一般的な原理は他の態様に適用される場合がある。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という用語は1つまたは複数を指す。当業者に知られているか、または後で知られることになる、本開示全体にわたって記載された様々な態様の要素に対するすべての構造的および機能的な均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものである。その上、本明細書で開示された内容は、そのような開示が特許請求の範囲において明確に列挙されているかどうかにかかわらず、公に供されるものではない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【００７８】
100  装置
102  処理回路
106  通信トランシーバ
108  特定用途向けIC(ASIC)
110  アプリケーションプログラミングインターフェース(API)
112  メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  装置
202  第1のICデバイス
204  ワイヤレストランシーバ
206  プロセッサ
208  記憶媒体
210  物理レイヤドライバ
212  バス
214  アンテナ
220  通信リンク
222  順方向リンク
224  逆方向リンク
226  双方向リンク
230  第2のICデバイス
232  ディスプレイコントローラ
234  カメラコントローラ
236  プロセッサ
238  記憶媒体
240  物理レイヤドライバ
242  バス
300  第1の例
302  ディスプレイプロセッサ
304  MIPI DSIリンクコントローラ
306  MIPI D-PHYプリドライバ
310  デジタルコアロジック回路
312  入力/出力セクション(パッドリング)
320  第2の例
322  カメラプロセッサ
324  MIPI CSIリンクコントローラ
400  MIPI準拠D-PHYシステム
402  アプリケーションレイヤソフトウェア
404  プロトコル
406  レーン管理モジュール
408  物理レイヤ
410  第1のデバイス
412  物理接続
414  高速単方向クロック
422  アプリケーションレイヤソフトウェア
424  プロトコル
426  レーン管理モジュール
428  物理レイヤ
430  第2のデバイス
500  MIPI準拠D-PHYレーントランシーバ
502  処理回路
504  トランシーバ
506  復号回路
508  データレーン
512  接続のネットワーク
514  送信機の回路および/またはモジュール
516  受信機の回路および/またはモジュール
520  データインターフェース
522  制御インターフェース
524  送信機の回路および/またはモジュール
526  受信機の回路および/またはモジュール
528  ライン監視回路
600  遅延セル
602  ベース入力クロック
604a  第1のレベルのマルチプレクサ
604b  第1のレベルのマルチプレクサ
606  第2のレベルのマルチプレクサ
608  太線
610  出力
612  左側入力
614  右側入力
616  制御信号is_clk
618  制御信号is_r
620  右入力
622  左入力
700  図
702  左リーフ遅延セル
704  太線
706  出力
708  右(i_r)入力
710  is_clk信号
712  is_r信号
714  第2のレベルのマルチプレクサ
722  右リーフ遅延セル
724  太線
726  出力
728  左(i_l)入力
730  is_clk信号
732  is_r信号
734  第2のレベルのマルチプレクサ
800  ソフトウェア構成可能クロックツリー回路
802  ソースビットクロック
804  クロック出力
806  クロック出力
808  ルートクロック
810  クロック出力
812  クロック出力
814a  バッファデバイス
814b  バッファデバイス
814c  バッファデバイス
814d  バッファデバイス
814e  バッファデバイス
816  遅延線
818a  構成可能なクロック遅延セル
818b  構成可能なクロック遅延セル
900  ソフトウェア構成可能クロックツリー回路
902  左ビットクロックソース
904  レーンクロック
906  レーンクロック
908  第1のルートクロック
910  第2のルートクロック
912  レーンクロック
914  右ビットクロックソース
916  左遅延線
918  右遅延線
920  追加レベルの多重化
922a  構成可能なクロック遅延セル
922b  構成可能なクロック遅延セル
1000  図
1002  DSI PHY回路
1006  位相ロックループ
1008  DSIリンクコントローラ
1008  較正ロジック
1012  クロックレイヤ
1100  図
1102  ソフトウェア構成可能クロック遅延セル
1104  左流動ソースクロック
1106  右流動ソースクロック
1200  概念図
1202  処理回路
1204  プロセッサ
1206  ストレージ
1208  バスインターフェース
1210  バス
1212  トランシーバ
1214  実行時イメージ
1216  ソフトウェアモジュール
1218  ユーザインターフェース
1220  時分割プログラム
1222  内部デバイスおよび/またはロジック回路
1300  フローチャート
1302  ステップ
1304  ステップ
1306  ステップ
1400  装置
1402  処理回路
1404  クロック発生用のモジュールおよび/または回路
1406  較正モジュールおよび/または回路
1408  クロックツリーを構成するためのモジュールおよび/または回路
1412  プロセッサ
1414  プロセッサ可読記憶媒体
1416  バス
1418  バスインターフェース
1420  トランシーバ
1422  ユーザインターフェース
1424  クロック発生用のモジュールおよび/または回路
【図１】
2016529844.tif 000003
【図２】
2016529844.tif 000004
【図３】
2016529844.tif 000005
【図４】
2016529844.tif 000006
【図５】
2016529844.tif 000007
【図１０】
2016529844.tif 000008
【図１１】
2016529844.tif 000009
【図１２】
2016529844.tif 000010
【図１３】
2016529844.tif 000011
【図１４】
2016529844.tif 000012
【図６】
2016529844.tif 000013
【図７】
2016529844.tif 000014
【図８】
2016529844.tif 000015
【図９】
2016529844.tif 000016
【手続補正書】
【提出日】平成28年3月1日(2016.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信のための方法であって、
第1のレーンの第1のレベルの遅延セルの出力として1つまたは複数のクロック信号のバージョンの間で選択するステップであって、前記1つまたは複数のクロック信号の前記バージョンが、第1のクロック信号の少なくとも2つのバージョンを含み、前記第1のクロック信号の各バージョンが、前記第1のクロック信号に関して異なる遅延を被る、ステップと、
前記第1のレーンの前記第1のレベルの遅延セルの前記出力を、第2および第3のレーン内の第2のレベルの遅延セルに供給するステップと、
前記第2のレベルの遅延セルの出力を少なくとも1つのレーンに供給するために、前記第1のレーンの前記第1のレベルの遅延セルの前記出力と、前記第2および第3のレーンの第1のレベルの遅延セルの出力との間で選択することによって、通信リンク上のデータの送信を制御するために使用されるルートクロックを供給するステップと
を含む、方法。
【請求項２】
前記第1のレーンが、1つまたは複数のデータレーンのトランジスタ経路に整合するトランジスタ経路を有する、請求項1に記載の方法。
【請求項３】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第1のレーンの前記第1のレベルの遅延セル用の入力、および前記第1のレーン内の第2のレベルの遅延セル用の前記入力が、前記ルートクロックと前記第2および第3のレーンによって供給される前記クロックとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項４】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第2および第3のレーンの第1のレベルの遅延セル用の入力、ならびに前記第2および第3のレーンの第2のレベルの遅延セル用の前記入力が、前記ルートクロックと前記第2および第3のレーンによって供給される前記クロックとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項５】
前記第1のレーンならびに前記第2および第3のレーンが、対応するデータレーン内で使用されるべきクロックを供給し、前記第2および第3のレーンの第1のレベルの遅延セル用の入力、ならびに前記第2および第3のレーンの第2のレベルの遅延セル用の前記入力が、前記ルートクロックに関連付けられたデータレーンと前記第2および第3のレーンによって供給される前記クロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される、請求項1に記載の方法。
【請求項６】
前記通信リンクが、差動符号化されたデータ信号およびクロック信号を備える、請求項1に記載の方法。
【請求項７】
前記通信リンクが、第1の集積回路(IC)デバイスを第2のICデバイスと通信可能に結合する、請求項1に記載の方法。
【請求項８】
前記1つまたは複数のクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項1に記載の方法。
【請求項９】
前記第1のレーンの前記第1のレベルの遅延セルの出力として前記1つまたは複数のクロック信号のバージョンの間で選択するステップが、
前記左クロック信号と前記右クロック信号との間で選択するステップ
を含む、請求項8に記載の方法。
【請求項１０】
前記第1のレーンの前記第1のレベルの遅延セルの出力として前記1つまたは複数のクロック信号のバージョンの間で選択するステップが、
第1のレベルの遅延セルごとにアクティブクロッキングモードと電源断モードとの間で選択するステップ
を含む、請求項8に記載の方法。
【請求項１１】
前記ルートクロックの供給に寄与しない1つまたは複数の遅延セルの電源を切断するステップ
をさらに含む、請求項1に記載の方法。
【請求項１２】
第1の集積回路(IC)デバイスを第2のICデバイスと通信可能に結合する通信リンクに対するインターフェースと、
第1のクロックレーンの第1のレベルの遅延セルの出力として1つまたは複数のクロック信号のバージョンの間で選択するための手段であって、前記1つまたは複数のクロック信号の前記バージョンが、第1のクロック信号の少なくとも2つのバージョンを含み、前記第1のクロック信号の各バージョンが、前記第1のクロック信号に関して異なる遅延を被る、手段と、
前記第1のクロックレーンの出力としてルートクロックを供給するための手段であって、前記ルートクロックが前記通信リンク上でデータを送信するために使用される、手段と
を備え、
前記ルートクロックを供給するための前記手段が、第2のレベルの遅延セルの出力を少なくとも1つのレーンに供給するために、前記第1のクロックレーンの前記第1のレベルの遅延セルの前記出力と、複数の他のクロックレーンの第1のレベルの遅延セルの出力との間で選択するように構成される、
装置。
【請求項１３】
前記第1のクロックレーンが、1つまたは複数のデータレーン内の対応するトランジスタ経路に整合するトランジスタ経路を有する、請求項12に記載の装置。
【請求項１４】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記第1のクロックレーンの前記第1のレベルの遅延セル用の入力、および前記第1のクロックレーン内の第2のレベルの遅延セル用の前記入力が、前記ルートクロックと前記複数の他のクロックレーンによって供給される前記出力クロックとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１５】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記複数の他のクロックレーンの第1のレベルの遅延セル用の入力、および前記複数の他のクロックレーンの第2のレベルの遅延セル用の前記入力が、前記ルートクロックと前記複数の他のクロックレーンによって供給される前記出力クロックとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１６】
前記ルートクロックおよび前記複数の他のクロックレーンによって供給される出力クロックが、対応するデータレーン内で使用され、前記複数の他のクロックレーンの第1のレベルの遅延セル用の入力、および前記複数の他のクロックレーンの第2のレベルの遅延セル用の前記入力が、前記ルートクロックに関連付けられたデータレーンと前記複数の他のクロックレーンによって供給される前記出力クロックに関連付けられたデータレーンとの間のスキューを最小化するように選択される、請求項12に記載の装置。
【請求項１７】
前記1つまたは複数のクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項12に記載の装置。
【請求項１８】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、前記第1のクロック信号として前記左クロック信号または前記右クロック信号を選択するように構成された論理手段を含む、請求項17に記載の装置。
【請求項１９】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、前記ルートクロックの供給に使用されない出力を有する遅延セルの電源を切断するように構成された論理手段を含む、請求項12に記載の装置。
【請求項２０】
前記1つまたは複数のクロック信号のバージョンの間で選択するための前記手段が、第1のレベルの遅延セルごとにアクティブクロッキングモードと電源断モードとの間で選択するように構成された論理手段を含む、請求項12に記載の装置。
【請求項２１】
集積回路(IC)デバイス上の複数のクロックレーンであって、各クロックレーンが、通信インターフェースの対応するデータレーン内のデータ送信を制御するためのクロックを供給するように構成可能であり、各クロックレーンが、
1つまたは複数の第1のレベルのクロック信号のバージョンの間で選択するように構成された第1のレベルの多重化論理手段と、
前記第1のレベルの多重化論理手段の出力と、2つの他のクロックレーンの第1のレベルの多重化論理手段の出力との間で選択することによって、ルートクロックを供給するように構成された第2のレベルの多重化論理手段と、
前記複数のクロックレーンの前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成するコントローラと
を含む、クロックレーン
を備え、
前記コントローラが、前記複数のクロックレーンの出力間のクロックスキューを制御するように構成される、
クロック遅延行列。
【請求項２２】
各クロックレーンが、対応するデータレーン内のトランジスタ経路に整合するトランジスタ経路を有する、請求項21に記載のクロック遅延行列。
【請求項２３】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、各クロックレーンおよび前記2つの他のクロックレーンの出力間のスキューを最小化するように、前記各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２４】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、前記通信インターフェース上で送信されるデータ信号間のスキューを最小化するように、各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２５】
前記複数のクロックレーンの前記出力が、対応する複数のデータレーンを制御するために使用され、前記コントローラが、前記通信インターフェース上で送信されるクロック信号とデータ信号との間のスキューを最小化するように、各クロックレーン内の前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段を構成することによってクロックスキューを制御する、請求項21に記載のクロック遅延行列。
【請求項２６】
前記1つまたは複数の第1のレベルのクロック信号が、第1の複数の遅延素子のうちの1つまたは複数によって遅延する左クロック信号と、第2の複数の遅延素子のうちの1つまたは複数によって遅延する右クロック信号とを含み、前記第1の複数の遅延素子が、IC上の第1のデータレーンの左側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含み、前記第2の複数の遅延素子が、前記第1のデータレーンの右側に配置されたいくつかのデータレーンに対応するいくつかの遅延素子を含む、請求項21に記載のクロック遅延行列。
【請求項２７】
第1のレベルのクロック信号として前記左クロック信号または前記右クロック信号を供給するように構成可能であるベースクロック選択論理手段
をさらに備える、請求項26に記載のクロック遅延行列。
【請求項２８】
前記1つまたは複数の第1のレベルのクロック信号が、左クロック信号および右クロック信号を含む、請求項21に記載のクロック遅延行列。
【請求項２９】
前記ルートクロックを供給するために使用される出力を供給しない多重化論理手段が電源を切られる、請求項21に記載のクロック遅延行列。
【請求項３０】
前記コントローラが、前記第1のレベルの多重化論理手段および前記第2のレベルの多重化論理手段の部分について、アクティブクロッキングモードと電源断モードとの間で選択するように構成される、請求項21に記載のクロック遅延行列。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2016529844.tif 000017
【国際調査報告】
2016529844.tif 000018
2016529844.tif 000019