JP2008079041A - Clock adjusting apparatus and clock adjusting method of high-speed serial bus - Google Patents
Clock adjusting apparatus and clock adjusting method of high-speed serial bus Download PDFInfo
- Publication number
- JP2008079041A JP2008079041A JP2006256297A JP2006256297A JP2008079041A JP 2008079041 A JP2008079041 A JP 2008079041A JP 2006256297 A JP2006256297 A JP 2006256297A JP 2006256297 A JP2006256297 A JP 2006256297A JP 2008079041 A JP2008079041 A JP 2008079041A
- Authority
- JP
- Japan
- Prior art keywords
- point
- clock
- input data
- effective range
- register
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、高速データ通信を行える高速シリアルバスのクロック調整装置およびクロック調整方法に関する。 The present invention relates to a clock adjustment device and a clock adjustment method for a high-speed serial bus capable of performing high-speed data communication.
従来、データ通信には複数のデータ線を用いるパラレル通信方式と、1本のデータ線を用いるシリアル通信方式とがあった。このうち、シリアル通信方式では、半導体製造技術の微細化が進み動作周波数が向上したことから、高速伝送が実現できるようになっている。 Conventionally, data communication includes a parallel communication method using a plurality of data lines and a serial communication method using a single data line. Among these, in the serial communication system, since the semiconductor manufacturing technology has been miniaturized and the operating frequency has been improved, high-speed transmission can be realized.
シリアル通信方式で1Gbps(Bits per second)以上の伝送速度が実現できる規格としては、PCI Express、シリアルATAなどがある。 PCI Express, serial ATA, and the like are standards that can realize a transmission rate of 1 Gbps (Bits per second) or more in the serial communication system.
ところで、データをシリアル通信方式により高速伝送する高速シリアルバスの中には、データの受信側にクロックポイントを決めるクロック調整装置が備えられているものもある。クロック調整装置は、決まったデータパターンを出力することにより、入力(送信)側のクロックポイントの中で最良のポイントを決定する機能(キャリブレーション)を備えている。 Incidentally, some high-speed serial buses that transmit data at high speed by a serial communication method include a clock adjusting device that determines a clock point on the data receiving side. The clock adjusting device has a function (calibration) for determining the best point among clock points on the input (transmission) side by outputting a predetermined data pattern.
また、クロック調整装置は、実際の動作中は決められた1つのクロックポイントだけで作動するが、デバッグやマージン評価のためにクロックポイントを常時固定する機能や、レジスタ設定でクロックポイントを移動させる機能を有していることがあった。
しかし、従来のクロック調整装置は、高速シリアルデータにおいて、キャリブレーションを行ってクロックポイントを決めてしまうと、それ以後の実動作中にクロックポイントの見直しを行わなかった。 However, the conventional clock adjusting device does not review the clock point during the subsequent actual operation when the clock point is determined by performing calibration in the high-speed serial data.
そのため、従来のクロック調整装置では、動作中における温度や電圧の変動、また、シリコンの経年変化やデータパターンの組み合わせといった変動要因のため、最良のクロックポイントが決められたクロックポイントからずれることがあった。最良のクロックポイントがずれると、データの通信エラーをおこす頻度が上がるため、再度キャリブレーションを行いクロックポイントを決める必要があるが、そのためには、クロック調整装置の動作を停止しなければならなかった。 For this reason, in conventional clock adjustment devices, the best clock point may deviate from the determined clock point due to fluctuation factors such as temperature and voltage fluctuations during operation, silicon aging and data pattern combinations. It was. If the best clock point is deviated, the frequency of data communication errors increases, so it is necessary to perform calibration again to determine the clock point, but for that purpose, the operation of the clock adjustment device had to be stopped. .
また、従来のクロック調整装置では、変動の許されるクロックマージンがどれだけあるかを把握することもできなかった。 Further, the conventional clock adjusting device cannot grasp how much the clock margin is allowed to fluctuate.
この点、クロックの調整技術については例えば特許文献1にも開示されているが、この技術はクロック信号の遅延量を決められたタイミングでチューニングするものであり、この技術では本発明の課題を解決することはできなかった。
In this regard, for example,
そこで、本発明は上記課題を解決するためになされたもので、動作中における最良のクロックポイントを動作を停止させずに決めることができ、しかもクロックマージンを把握可能な高速シリアルバスのクロック調整装置およびクロック調整方法を提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems, and can determine the best clock point during operation without stopping the operation, and can also determine the clock margin and can adjust the clock margin of the high-speed serial bus. An object of the present invention is to provide a clock adjustment method.
上記課題を解決するため、本発明は、高速シリアルバスにおける入力データのクロックを調整するクロック調整装置であって、入力データにおけるクロックポイントのうちの最良ポイントを決定する最良ポイント決定手段と、クロックポイントのうちの1または2以上を、入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定する決定用ポイント設定手段と、最良ポイント決定手段により決定された最良ポイントの入力データと決定用ポイント設定手段により設定された決定用ポイントの入力データとを比較する比較手段と、その比較手段による比較結果に基づき決定用ポイントを更新するポイント更新手段と、そのポイント更新手段により更新された決定用ポイントに基づいて、有効範囲を保持する保持手段とを有するクロック調整装置を特徴とする。 In order to solve the above-mentioned problems, the present invention provides a clock adjusting device for adjusting a clock of input data in a high-speed serial bus, comprising: a best point determining means for determining a best point among clock points in input data; 1 or 2 or more of them is set as a decision point for determining an effective range in which input data can be correctly received during operation, and a best point input determined by the best point determination unit Comparing means for comparing the data with the input data of the decision point set by the decision point setting means, point updating means for updating the decision point based on the comparison result by the comparison means, and updating by the point update means Retain effective range based on determined decision points Wherein the clock adjustment apparatus and a stage.
また、本発明は、高速シリアルバスにおける入力データのクロックを調整するクロック調整方法であって、入力データにおけるクロックポイントのうちの最良ポイントを決定し、クロックポイントのうちの1または2以上を、入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定し、決定された最良ポイントの入力データと設定された決定用ポイントの前記入力データとを比較し、その比較結果に基づき前記決定用ポイントを更新し、その更新された決定用ポイントに基づいて、有効範囲を保持するクロック調整方法を提供する。 The present invention is also a clock adjustment method for adjusting a clock of input data in a high-speed serial bus, wherein the best point of clock points in input data is determined, and one or more of the clock points are input. It is set as a decision point for determining an effective range in which data can be correctly received during operation, the input data of the determined best point is compared with the input data of the set decision point, and the comparison result is A clock adjustment method is provided that updates the determination point based on the updated determination point and maintains an effective range based on the updated determination point.
以上詳述したように、本発明によれば、動作中における最良のクロックポイントを動作を停止させずに決めることができ、しかもクロックマージンを把握可能な高速シリアルバスのクロック調整装置およびクロック調整方法が得られる。 As described above in detail, according to the present invention, the best clock point during operation can be determined without stopping the operation, and the clock adjustment device and clock adjustment method for a high-speed serial bus capable of grasping the clock margin. Is obtained.
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。 Embodiments of the present invention will be described below. In addition, the same code | symbol is used for the same element and the overlapping description is abbreviate | omitted.
図1は、本発明の実施の形態に係るクロック調整装置が組み込まれた送受信処理モジュール300の主な構成を示すブロック図である。送受信処理モジュール300は、コーディングモジュール250と、メディアアタッチメントモジュール260とを有している。この送受信処理モジュール300は、LSI(チップ)とメモリとにおける高速データ通信に適用される。 FIG. 1 is a block diagram showing a main configuration of a transmission / reception processing module 300 in which a clock adjustment device according to an embodiment of the present invention is incorporated. The transmission / reception processing module 300 includes a coding module 250 and a media attachment module 260. The transmission / reception processing module 300 is applied to high-speed data communication between an LSI (chip) and a memory.
コーディングモジュール250は、デコーダ160と、ELASTICバッファ190と、CRC部200と、コード処理部210とを有している。
The coding module 250 includes a
デコーダ160は、メディアアタッチメントモジュール260に組み込まれているクロック調整部100から出力されるデータを受けとってデコード処理を行い、復号化データをELASTICバッファ190に出力する。ELASTICバッファ190はデコーダ160から出力される復号化データを送信側デバイスの処理速度に応じて出力する。CRC200はELASTICバッファ190に記憶されている復号化データにCRCコードを付加する。コード処理部210は送信側デバイスから出力される送信データ(TXDATA)にエラーコードを付加して符号化処理(エンコード処理)を行い、メディアアタッチメントモジュール260に出力する。
The
メディアアタッチメントモジュール260は、クロック調整部100と、受信バッファ110と、送信部270とを有している。
The media attachment module 260 includes a
クロック調整部100は、受信バッファ110から入力される高速シリアルデータについて、動作中における後述のクロックポイント調整を行って動作中における最良のクロックポイント(最良クロックポイント)を決定し、決定した最良クロックポイントに応じて受信バッファ110から入力される高速シリアルデータをパラレルデータに変換して出力する。
The
受信バッファ110は受信側デバイスから出力される高速シリアルデータ(RX+、RX−)を記憶し、記憶した高速シリアルデータをクロック調整部100の処理速度に応じて出力する。送信部270は、コーディングモジュール250から出力されるデータ(TX+、TX−)を順次出力する。
The
次に、クロック調整部100について、図2を参照して説明する。図2は、クロック調整部100の内部構成の一例を示すブロック図である。クロック調整部100は、クロック生成部120と、フリップフロップ131、132、133と、変換器141,142,143と、比較器151,152とを有している。クロック調整部100の動作は図2に示したコントローラ90により制御されている。
Next, the
このクロック調整部100は、受信バッファ110から入力される高速シリアルデータをフリップフロップ132で受け取ってクロックCLK2に応じて出力し、フリップフロップ132から出力される高速シリアルデータを変換器142によりパラレルデータに変換し、デコーダ160に出力するようになっている。
The
クロック調整部100は、フリップフロップ132および変換器142からなるデータ処理ラインに対し、フリップフロップ131、133と、変換器141,143とが追加され、さらに、比較器151,152が追加された構成を有している。これらの追加された構成によって、動作中におけるクロックポイントを調整し得るようになっている。
The
そして、クロック生成部120はPLL回路121と、レジスタ122とを有している。PLL回路121はフリップフロップ132、変換器142に出力されるクロックCLK2と、これと周波数の異なるクロックCLK1、CLK3を生成して、それぞれをフリップフロップ131、133、変換器141,143に出力する。レジスタ122は、最初のキャリブレーションで検出した後述するFP(fail−pass)ポイント、PF(pass−fail)ポイントなどのデータが記憶される(詳しくは後述する)各種の記憶手段としての機能を有している。
The
フリップフロップ131、133は、それぞれクロックCLK1、CLK3を保持し、そのクロックCLK1、CLK3に応じて受信バッファ110から入力される高速シリアルデータを出力する。変換器141,143は、それぞれフリップフロップ131、133から出力される高速シリアルデータをパラレルデータに変換して出力する。
The flip-
比較器151は、変換器141,142で変換され、それぞれから出力されるパラレルデータを比較してその比較結果をレジスタ122に出力する。比較器152は、変換器142,143で変換され、それぞれから出力されるパラレルデータを比較してその比較結果をレジスタ122に出力する。
The
図3は、レジスタ122の内部の構成を模式的に示した図である。レジスタ122には、レジスタユニット1220がパラレルデータのbit幅に応じて複数個(図では0からnまでのn+1個)設けられている。また、レジスタ122は、自動設定レジスタ1230と、オールシフト用レジスタ1231と、最狭ポイントレジスタ1232とを有している。
FIG. 3 is a diagram schematically showing the internal configuration of the
各レジスタユニット1220は、図3に示すように、初回FPレジスタ12200と、初回PFレジスタ12201と、初回CCPレジスタ12202とを有している。さらに、各レジスタユニット1220は、自動検出FPレジスタ12203と、自動検出PFレジスタ12204と、CCP設定レジスタ12205とを有している。
Each
初回FPレジスタ12200は、初回キャリブレーションで検出したFPポイントを読み出すレジスタである。初回PFレジスタ12201は、初回キャリブレーションで検出したPFポイントを読み出すレジスタである。
The
初回CCPレジスタ12202は、初回キャリブレーションで設定したセンタークロックポイント(CCPといい、詳しくは後述する)を読み出すレジスタである。初回CCPレジスタ12202は読み出し専用であり、CCPをずらす場合にはCCP設定レジスタ12205に書き込むことによって安全なタイミングで初回CCPレジスタ12202の値が変更されるようになっている。
The
自動検出FPレジスタ12203には、動作中に検出されるFPポイントが格納され、決定用ポイント記憶手段としての機能を有している。自動検出FPレジスタ12203の値は、動作中にFPポイントを移動させた場合における現在のFPポイントを示している。また、自動検出FPレジスタ12203は、FPポイントが後述する有効範囲の縮小方向に移動したときにだけ値が変更されるように設定することができる。このようにすることにより、自動検出FPレジスタ12203から、動作中における有効範囲が最も狭くなるFPポイントの実績が読み出せるようにすることができる。
The automatic
自動検出PFレジスタ12204には、動作中に検出されるPFポイントが格納され、決定用ポイント記憶手段としての機能を有している。自動検出PFレジスタ12204の値は、動作中にPFポイントを移動させた場合における現在のPFポイントを示している。また、自動検出PFレジスタ12204は、PFポイントが有効範囲の縮小方向に移動したときにだけ値が変更されるように設定することができる。このようにすることにより、自動検出PFレジスタ12204から、動作中における有効範囲が最も狭くなるPFポイントの実績が読み出せるようにすることができる。 The automatic detection PF register 12204 stores PF points detected during operation, and has a function as a determination point storage unit. The value of the automatic detection PF register 12204 indicates the current PF point when the PF point is moved during operation. The automatic detection PF register 12204 can be set so that the value is changed only when the PF point moves in the reduction direction of the effective range. By doing in this way, it is possible to read from the automatic detection PF register 12204 the record of the PF point with the narrowest effective range during operation.
CCP設定レジスタ12205には、動作中にCCPを変更する場合のCCPが読み書きされる。CCP設定レジスタ12205は高速シリアルデータが途切れたタイミングで更新される。
The
自動設定レジスタ1230には、最良ポイントを動作中に変更するか否かを示すデータ(自動変更可否データ)が設定手段としてのコントローラ90によって設定される。コントローラ90はユーザの指示にしたがって自動変更可否データを設定している。自動設定レジスタ1230に自動変更可を示すデータが設定されていると、コントローラ90が決定用ポイント更新処理を行い、最良ポイントを動作中に変更する。
In the
オールシフト用レジスタ1231は、シフト値記憶手段であって、(n+1)bitのパラレルデータにおいて、各CCPを一斉にプラスまたはマイナス方向にシフトするためのデータ(シフト用データ)が設定される。ここにシフト用データが設定されていると、その設定されているシフト用データに基づき、シフト手段としてのコントローラ90がパラレルデータの各bitをシフトさせる。最狭ポイントレジスタ1232には、動作中おける有効範囲が最も狭かったときのFPポイントおよびPFポイントがセットされる。
The all
ここで、図4は、高速シリアルデータのアイパタン(高速シリアルデータを動作中に正しく受信できるクロックポイントの範囲、有効範囲ともいう)の一例をFPポイント、PFポイントとともに示す図である。本実施の形態では、高速シリアルデータの1周期に複数のクロックポイントを任意に設定できることを前提としている。なお、図4では1周期に1〜15まで15個のクロックポイントを設定しているが、15個とは別の個数のクロックポイントを設定してもよい。 Here, FIG. 4 is a diagram showing an example of an eye pattern of high-speed serial data (also referred to as a clock point range in which high-speed serial data can be correctly received during operation, also referred to as an effective range) together with the FP point and the PF point. In the present embodiment, it is assumed that a plurality of clock points can be arbitrarily set in one cycle of high-speed serial data. In FIG. 4, 15 clock points are set from 1 to 15 in one cycle, but a number of clock points different from 15 may be set.
そして、図4では、“4”で示すクロックポイントがFail(エラーの可能性がある領域)からPass(エラーの可能性がない領域)へ切り替わる点を示しており、これがFPポイントである。また、“12”で示すクロックポイントがPassからFailへの切り替わる点を示しており、これがPFポイントである。FPポイントとPFポイントは、実動作中に変動する有効範囲を決めるための決定ポイントとなっている。 FIG. 4 shows a point where the clock point indicated by “4” is switched from Fail (an area with a possibility of error) to Pass (an area with no possibility of an error), which is an FP point. In addition, the clock point indicated by “12” indicates a point at which the clock is switched from Pass to Fail, and this is the PF point. The FP point and the PF point are decision points for determining an effective range that varies during actual operation.
FPポイントとPFポイントの中間点がFPポイントおよびPFポイントまでのマージンが等しく、高速シリアルデータを正しく受信するために最良のクロックポイントとなるので、これを本実施の形態ではセンタークロックポイント(CCPともいう)としている。 Since the intermediate point between the FP point and the PF point has the same margin to the FP point and the PF point and is the best clock point for correctly receiving high-speed serial data, this is the center clock point (also called CCP) in this embodiment. Say).
次に、図5は、自動検出FPレジスタ12203および自動検出PFレジスタ12204を動作中に自動更新する決定用ポイント更新処理の動作手順を示すフローチャートである。
Next, FIG. 5 is a flowchart showing an operation procedure of a decision point update process for automatically updating the automatic
このフローチャートは、コントローラ90の制御にしたがって実行されるが、図示の都合上、後述するFPコードが“1”の場合の動作手順と“0”の場合の動作手順とがひとつの図として示されている。
This flowchart is executed in accordance with the control of the
図5では、以下に述べるステップ1において、FPコードが“1”に設定され、FPポイントを検索する場合を示しているが、PFポイントを検索する場合はステップ2からステップ9に進むようになっている。FPポイントの検索と、PFポイントの検索は、コントローラ90の制御で切り替えている。
FIG. 5 shows the case where the FP code is set to “1” in
そして、決定用ポイント更新処理は、最初のキャリブレーションが終了すると開始される。処理開始後ステップ1に処理が進み、n+1個のレジスタユニットのうちの処理対象のレジスタユニットを示す指標データiを“0”にしてレジスタユニット1220について、自動検出FPレジスタ12203に初回FPレジスタ12200をセットし、自動検出PFレジスタ12204に初回PFレジスタ12201をセットする。また、2つの探索モード(比較器151によるパラレルデータの比較結果に基づいてFPポイントを探す探索モードと、比較器152によるパラレルデータの比較結果に基づいてPFポイントを探す探索モード)のどちらでデータの比較を行うかを示すFPコードに“1”をセットする。
Then, the determination point update process is started when the first calibration is completed. After the start of processing, the process proceeds to step 1 where the index data i indicating the processing target register unit among the n + 1 register units is set to “0”, and the initial
次に、ステップ2に処理が進み、FPポイント検索が行われるのかどうかを判定し、その場合はステップ3、そうでなければ(PFポイント検索が行われるとき)はステップ9に処理が進む。 Next, the process proceeds to step 2, and it is determined whether or not the FP point search is performed. In that case, the process proceeds to step 3, and otherwise (when the PF point search is performed), the process proceeds to step 9.
処理がステップ3に進むと、パラレルデータの準備が完了するまで待機し、続くステップ4では、第1の比較用データ(data1)に対し、FPコードが“1”のときは(探索モード1のときは)変換器141のパラレルデータがセットされ、それ以外(探索モード2)では変換器143のパラレルデータがセットされる。また、第2の比較用データ(data2)には変換器142のパラレルデータがセットされる。
When the process proceeds to step 3, the process waits until the parallel data preparation is completed, and in
続くステップ5では、data1とdata2が一致するか否かを判定し、一致するときは処理がステップ6に進むが、そうでなければステップ10を実行してステップ3に戻る。
In the
ステップ6では、指標データiが閾値(bit幅に応じた値が設定されている)を超えているか否かが判定され、超えているときはステップ8、そうでなければステップ7に処理が進む。ステップ7では、指標データiに“1”を加算する。その後、処理がステップ3に戻り、上記処理が繰り返される。
In
ステップ8では、FPコードが“1”のときは(探索モード1のときは)、読出手段としてのコントローラ90が自動検出PFレジスタ12204にセットされているPFポイントを読み出し、そのPFポイントをひとつ後にずらしたクロックポイントを自動検出PFレジスタ12204にセットする。
In
それ以外(探索モード2)では自動検出FPレジスタ12203にセットされているFPポイントが読み出され、そのFPポイントをひとつ前にずらしたクロックポイントが自動検出FPレジスタ12203にセットされる。また、指標データiに“0”をセットする。その後、処理がステップ3に戻る。
In other cases (search mode 2), the FP point set in the automatic
こうして、クロック調整部100はdata1とdata2が全bitについて一致して高速シリアルデータを正しく受信できることが確認できたときにステップ8を実行している。クロック調整部100はステップ8を実行することによって、ポイント更新手段としてのコントローラ90がFPポイントおよびPFポイントを更新し、高速シリアルデータを正しく受信できる範囲(有効範囲)を拡張するようにしている。
In this way, the
そして、ステップ2からステップ9に処理が進むと、FPコードに“0”をセットして探索モードを探索モード2に変更する。
Then, when the processing proceeds from
ステップ10では、FPコードが“1”のときは(探索モード1のときは)自動検出PFレジスタ12204にセットされているPFポイントが読み出され、そのPFポイントをひとつ前にずらしたクロックポイントが自動検出PFレジスタ12204にセットされる。
In
それ以外(探索モード2)では自動検出FPレジスタ12203にセットされているFPポイントが読み出され、そのFPポイントをひとつ後にずらしたクロックポイントが自動検出FPレジスタ12203にセットされる。
In other cases (search mode 2), the FP point set in the automatic
こうして、data1とdata2に不一致のbitが含まれ、高速シリアルデータを正しく受信できないことが確認できたときはステップ10が実行され、ポイント更新手段としてのコントローラ90によってFPポイントおよびPFポイントが更新され、有効範囲が縮小されている。その後、処理がステップ3に戻る。
Thus, when data1 and data2 contain mismatched bits and it is confirmed that high-speed serial data cannot be received correctly,
以上のように、この決定用ポイント更新処理では、ステップ3〜7を繰り返し行い指標データiが閾値を超える前にdata1がdata2からずれる不一致点を探している。 As described above, in this determination point update process, steps 3 to 7 are repeated to search for a mismatch point where data1 deviates from data2 before the index data i exceeds the threshold value.
そして、不一致点が見つからないまま指標データiが閾値を超えるとステップ8を実行して、自動検出FPレジスタ12203と自動検出FPレジスタ12204を有効範囲が拡張される方向に更新している。
Then, when the index data i exceeds the threshold without finding a mismatch point,
また、data1とdata2が不一致になったときは、ステップ10を実行して自動検出FPレジスタ12203と自動検出FPレジスタ12204を有効範囲が縮小される方向に更新している。
When data1 and data2 do not match,
このように、クロック調整部100は、コントローラ90が更新手段として作動して比較器151,152の比較結果に基づき、自動検出FPレジスタ12203、自動検出PFレジスタ12204を更新し(ステップ8,10)、この更新を行うことによって保持手段としてのコントローラ90が有効範囲を保持するようにしている。
As described above, in the
ここで、図6は、高速シリアルデータ受信時のアイパタンの範囲の変化を模式的に示した図である。例えば、初回キャリブレーションによりクロックポイントを決定した時点で、“A”で示したラインのように、クロックポイント“4”から“12”の範囲が有効範囲であったとする。 Here, FIG. 6 is a diagram schematically showing changes in the range of eye patterns when high-speed serial data is received. For example, when the clock point is determined by the initial calibration, it is assumed that the range from the clock point “4” to “12” is an effective range as indicated by the line indicated by “A”.
しかしながら、実際の動作中は、温度や電圧の変動、シリコンの経年変化やデータパターンの組み合わせに応じ、“B1”、“B2”、“B3”で示したラインのように、有効範囲(アイパタン)がずれることがよくある。ここで、“B1”で示したラインは時間軸に対し後ろ方向へずれた場合を示し、“B2”で示したラインは時間軸に対し前方向へずれた場合を示し、“B3”で示したラインは時間軸に対し前方向へずれ、しかも有効範囲が若干狭まった場合を示している。 However, during actual operation, the effective range (eye pattern) as shown by the lines indicated by “B1”, “B2”, and “B3” according to changes in temperature and voltage, aging of silicon, and combinations of data patterns. Often shifts. Here, the line indicated by “B1” indicates a case where the time axis is shifted backward, the line indicated by “B2” indicates the case where the time axis is shifted forward, and is indicated by “B3”. These lines show a case where the time range is shifted forward and the effective range is slightly narrowed.
“B1”、“B2”、“B3”で示した各ラインのようになると、いずれも初回に設定したCCPでは高速シリアルデータを有効に受信できるものの、変動の許されるクロックの範囲(クロックマージン)が非常に少なくなるため、図示した以上に有効範囲がずれると受信エラーになりかねない。 When each of the lines indicated by “B1”, “B2”, and “B3” is used, the CCP set for the first time can effectively receive high-speed serial data, but the range of clocks allowed to fluctuate (clock margin) Therefore, if the effective range deviates more than shown, a reception error may occur.
その一方で、“B1”、“B2”、“B3”で示した各ラインのいずれの場合も、有効範囲は時間軸に対し前方または後方へずれただけである。そのため、実際の動作中に上述の更新処理を行い、FPポイントとPFポイントを常時更新すると、算出手段としてのコントローラ90がその更新したFPポイントとPFポイントに基づき、中間値を算出して新たなCCP(新CCP)を求めることができる。
On the other hand, in any case of each line indicated by “B1”, “B2”, and “B3”, the effective range is only shifted forward or backward with respect to the time axis. Therefore, when the above update process is performed during actual operation and the FP point and the PF point are constantly updated, the
すると、その新CCPは実際の動作中の変動を反映した最良ポイントとなるから、最良ポイント変更手段としてのコントローラ90がCCPを新CCPに変更することによって、常時クロックマージンを確保することができ、高速シリアルデータを誤りなく安定して受信することが可能になる。また、FPポイント、PFポイントおよびCCPによって、クロックマージンがどれだけあるかを把握することもできる。
Then, since the new CCP becomes the best point reflecting the fluctuation during the actual operation, the
(変形例)
図7は、別のクロック調整部101の内部構成の一例を示すブロック図である。このクロック調整部101は、クロック生成部120からのクロックの出力系統を1系統とし、この出力系統を複数設ける代わりに、遅延素子170を複数設けて構成されている。
(Modification)
FIG. 7 is a block diagram illustrating an example of the internal configuration of another clock adjustment unit 101. The clock adjustment unit 101 is configured by providing a single clock output system from the
そして、クロック調整部101では、受信バッファ110から入力された高速シリアルデータが複数の遅延素子170によってデータ遅延が挿入され、任意の遅延データが挿入されたデータをCLK1に応じてフリップフロップ131,132,133から出力するように構成されている。レジスタ122はクロック生成部120とは独立し(ただし、構造上クロック生成部120の中に設けられていてもよいが)、遅延データが挿入された高速シリアルデータのうちどのデータを選択するかを定める。
In the clock adjustment unit 101, the high-speed serial data input from the
このクロック調整部101では、クロックが1系統に限定され、クロック調整部100のようにクロックを複数系統設けることを要しない。そのため、クロック調整部100よりも製造が容易である。
In this clock adjustment unit 101, the clock is limited to one system, and it is not necessary to provide a plurality of clocks unlike the
なお、クロック調整部100では、FPポイント,PFポイントのいずれか一方を更新しないでおき、他方だけを更新するようにして有効範囲を保持するようにしてもよい。
Note that the
また、コントローラ90がレジスタ122をリセットするリセット手段として作動するようにすることもできる。こうすると、レジスタ122にセットされるFPポイントなどを取り直すことができる。
Further, the
以上の説明は、本発明の実施の形態についての説明であって、この発明の装置及び方法を限定するものではなく、様々な変形例を容易に実施することができる。又、各実施形態における構成要素、機能、特徴あるいは方法ステップを適宜組み合わせて構成される装置又は方法も本発明に含まれるものである。 The above description is the description of the embodiment of the present invention, and does not limit the apparatus and method of the present invention, and various modifications can be easily implemented. In addition, an apparatus or method configured by appropriately combining components, functions, features, or method steps in each embodiment is also included in the present invention.
90…コントローラ、100,101…クロック調整部
120…クロック生成部、122…レジスタ
151,152…比較器、1220…レジスタユニット
1230…自動設定レジスタ、1231…オールシフト用レジスタ
1232…最狭ポイントレジスタ、12200…初回FPレジスタ
12201…初回PFレジスタ、12202…初回CCPレジスタ
12203…自動検出FPレジスタ、12204…自動検出PFレジスタ
12205…CCP設定レジスタ
DESCRIPTION OF
Claims (8)
前記入力データにおけるクロックポイントのうちの最良ポイントを決定する最良ポイント決定手段と、
前記クロックポイントのうちの1または2以上を、前記入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定する決定用ポイント設定手段と、
前記最良ポイント決定手段により決定された前記最良ポイントの前記入力データと前記決定用ポイント設定手段により設定された前記決定用ポイントの前記入力データとを比較する比較手段と、
該比較手段による比較結果に基づき前記決定用ポイントを更新するポイント更新手段と、
該ポイント更新手段により更新された前記決定用ポイントに基づいて、前記有効範囲を保持する保持手段とを有することを特徴とするクロック調整装置。 A clock adjustment device for adjusting a clock of input data in a high-speed serial bus,
A best point determining means for determining a best point among clock points in the input data;
Decision point setting means for setting one or more of the clock points to a decision point for determining an effective range in which the input data can be correctly received during operation;
A comparison means for comparing the input data of the best point determined by the best point determination means with the input data of the determination point set by the determination point setting means;
Point update means for updating the determination point based on the comparison result by the comparison means;
A clock adjusting apparatus comprising: holding means for holding the effective range based on the determination point updated by the point update means.
該算出手段の算出結果に基づいて、前記最良ポイント決定手段により決定された前記最良ポイントを動作中に変更する最良ポイント変更手段とを更に有することを特徴とする請求項1記載のクロック調整装置。 Calculating means for calculating a center value of the effective range;
2. The clock adjusting apparatus according to claim 1, further comprising: best point changing means for changing the best point determined by the best point determining means during operation based on a calculation result of the calculating means.
該記憶手段に記憶されている前記決定用ポイントを読み出す読出手段とを更に有することを特徴とする請求項1または2記載のクロック調整装置。 Storage means for storing the determination points set by the determination point setting means;
3. The clock adjusting apparatus according to claim 1, further comprising reading means for reading out the determination point stored in the storage means.
前記入力データの各bitをシフトさせるシフト値を記憶するシフト値記憶手段を更に有し、
該シフト値記憶手段に記憶されている前記シフト値に応じて、前記最良ポイントがシフトするように構成されている請求項1〜4のいずれか一項記載のクロック調整装置。 The input data is composed of multiple bits,
A shift value storing means for storing a shift value for shifting each bit of the input data;
The clock adjustment device according to any one of claims 1 to 4, wherein the best point is shifted in accordance with the shift value stored in the shift value storage means.
前記有効範囲が最も狭かったときの前記決定用ポイントが最狭ポイントとして記憶される最狭ポイント記憶手段を更に有することを特徴とする請求項1〜5のいずれか一項記載のクロック調整装置。 The update means is configured to update the determination point in a direction to narrow the effective range, and not to update the determination point in a direction to widen the effective range,
6. The clock adjustment apparatus according to claim 1, further comprising a narrowest point storage unit that stores the determination point when the effective range is the narrowest as the narrowest point.
前記入力データにおけるクロックポイントのうちの最良ポイントを決定し、
前記クロックポイントのうちの1または2以上を、前記入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定し、
決定された前記最良ポイントの前記入力データと設定された前記決定用ポイントの前記入力データとを比較し、
該比較結果に基づき前記決定用ポイントを更新し、
該更新された前記決定用ポイントに基づいて、前記有効範囲を保持することを特徴とするクロック調整方法。 A clock adjustment method for adjusting a clock of input data in a high-speed serial bus,
Determining the best of the clock points in the input data;
One or more of the clock points are set as decision points for determining an effective range in which the input data can be correctly received during operation,
Comparing the input data of the determined best point with the input data of the set decision point;
Updating the decision point based on the comparison result;
A clock adjustment method, wherein the effective range is held based on the updated determination point.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006256297A JP2008079041A (en) | 2006-09-21 | 2006-09-21 | Clock adjusting apparatus and clock adjusting method of high-speed serial bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006256297A JP2008079041A (en) | 2006-09-21 | 2006-09-21 | Clock adjusting apparatus and clock adjusting method of high-speed serial bus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008079041A true JP2008079041A (en) | 2008-04-03 |
Family
ID=39350627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006256297A Withdrawn JP2008079041A (en) | 2006-09-21 | 2006-09-21 | Clock adjusting apparatus and clock adjusting method of high-speed serial bus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008079041A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010226189A (en) * | 2009-03-19 | 2010-10-07 | Nec Corp | Control circuit and inter-circuit communication method |
-
2006
- 2006-09-21 JP JP2006256297A patent/JP2008079041A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010226189A (en) * | 2009-03-19 | 2010-10-07 | Nec Corp | Control circuit and inter-circuit communication method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101098611B1 (en) | Memory device, host device, and sampling clock adjusting method | |
US6978403B2 (en) | Deskew circuit and disk array control device using the deskew circuit, and deskew method | |
KR101617374B1 (en) | Adjustment of memory write timing based on error detection techniques | |
KR100543646B1 (en) | Method and system of automatic delay detection and receiver adjustment for synchronous bus interface | |
KR100894346B1 (en) | Memory controller, memory circuit and memory system with a memory controller and a memory circuit | |
JP3892847B2 (en) | Semiconductor integrated circuit and test method for semiconductor integrated circuit | |
US7937607B2 (en) | Asynchronous data holding circuit | |
US11561923B2 (en) | Method for training multichannel data receiver timing | |
EP1271284A2 (en) | Timing signal generating system | |
JPWO2006030904A1 (en) | Semiconductor device and communication control method | |
JP2011061350A (en) | Receiving apparatus and receiving method thereof | |
US9054691B2 (en) | Information processing apparatus or information processing method | |
US7054402B2 (en) | Data regenerator with adjustable decision threshold and adjustable sampling instant | |
CN115021725A (en) | Timing sequence conversion device, method, write equalization system and computer readable medium | |
US8751842B2 (en) | Microcontroller and method of controlling the same | |
US8671304B2 (en) | Adjustment of write timing based on a training signal | |
JP2008079041A (en) | Clock adjusting apparatus and clock adjusting method of high-speed serial bus | |
US9124416B2 (en) | Method for determining phase of clock used for reception of parallel data, receiving circuit, and electronic apparatus | |
US20180077269A1 (en) | Data transmitting/receiving apparatus and data transmitting/receiving method | |
JPWO2008152755A1 (en) | Timing recovery circuit, communication node, network system, and electronic device | |
US7366207B1 (en) | High speed elastic buffer with clock jitter tolerant design | |
CN115699668A (en) | Wide elastic buffer | |
US11018677B1 (en) | Transmission enable signal generation circuit and integrated circuit | |
KR101453176B1 (en) | Information processing apparatus or information processing method | |
US20050062525A1 (en) | Clock resynchronizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080806 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080718 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081006 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20101027 |