"外部クロック信号に同期してシリアルに伝送される複数のデータ信号を受け、受けた前記複数のデータ信号に同期した内部クロック信号を生成するクロック再生回路であって、前記複数のデータ信号を予め定められた数ずつグループ化し、各データ信号グループ毎に1つの立ち上がりまたは立ち下がりエッジを抽出するエッジ抽出回路と、制御電圧に基いて前記内部クロック信号を生成する電圧制御型発振器と、前記エッジ抽出回路によって抽出された各立ち上がりまたは立ち下がりエッジの位相と前記電圧制御型発振器によって生成された前記内部クロック信号の位相とを比較し、比較結果を示す信号を出力する位相比較器と、前記位相比較器の出力信号に応答して正電流または負電流を出力するチャージポンプ回路と、前記チャージポンプ回路の出力電流を積分して前記制御電圧を発生するループフィルタとを備える、クロック再生回路。前記予め定められた数は、前記複数のデータ信号の最大ランレングス以上の数に設定されている、請求項1に記載のクロック再生回路。前記エッジ抽出回路は、各データ信号グループ毎に最初の立ち上がりまたは立ち下がりエッジを抽出する、請求項1または請求項2に記載のクロック再生回路。前記エッジ抽出回路は、前記データ信号グループに同期した第1の信号を生成する信号発生回路と、前記第1の信号に応答して第2の信号を第1の論理レベルにし、前記最初の立ち上がりまたは立ち下がりエッジに応答して前記第2の信号を第2の論理レベルにするエッジ検出器と、前記第2の信号が第2の論理レベルにされる毎に第3の信号の論理レベルを反転させるトグル器とを含み、前記位相比較器は、前記第3の信号の位相と前記内部クロック信号の位相とを比較し、比較結果を示す信号を出力する、請求項3に記載のクロック再生回路。前記予め定められた数は変更可能になっている、請求項1から請求項4までのいずれかに記載のクロック再生回路。さらに、前記複数のデータ信号を受け、各データ信号を前記内部クロック信号に同期して保持および出力するリタイム回路を備える、請求項1から請求項5までのいずれかに記載のクロック再生回路。外部クロック信号に同期してシリアルに伝送される複数のデータ信号を受け、受けた前記複数のデータ信号に同期した内部クロック信号を生成するクロック再生回路であって、前記複数のデータ信号を予め定められた数ずつグループ化し、各データ信号グループ毎に1つの立ち上がりエッジを抽出する第1のエッジ抽出回路と、前記複数のデータ信号を前記予め定められた数ずつグループ化し、各データ信号グループ毎に1つの立ち下がりエッジを抽出する第2のエッジ抽出回路と、制御電圧に基いて前記内部クロック信号を生成する電圧制御型発振器と、前記第1のエッジ抽出回路によって抽出された各立ち上がりエッジの位相と前記電圧制御型発振器によって生成された前記内部クロック信号の位相とを比較し、比較結果を示す信号を出力する第1の位相比較器と、前記第2のエッジ抽出回路によって抽出された各立ち下がりエッジの位相と前記電圧制御型発振器によって生成された前記内部クロック信号の位相とを比較し、比較結果を示す信号を出力する第2の位相比較器と、前記第1の位相比較器の出力信号に応答して正電流または負電流を供給する第1のチャージポンプ回路と、前記第2の位相比較器の出力信号に応答して正電流または負電流を供給する第2のチャージポンプ回路と、前記第1および第2のチャージポンプ回路の出力電流を積分して前記制御電圧を発生するループフィルタとを備える、クロック再生回路。従来のクロック再生回路では、外部データ信号列の論理レベルが遷移する毎に位相を比較していたので、回路のオープンループゲインがデータ遷移密度に比例し、データパターンに依存するジッタが大きいと言う問題があった。また、データパターンに依存して動作電流および電源電圧が変動することも、ジッタが大きくなる原因となっていた。また、想定されるデータ遷移密度の変動範囲で最適なジッタ伝達特性を得るには、データ遷移密度の変動幅に応じてループフィルタのキャパシタの容量値を大きくする必要がある。このためデータ遷移密度の変動幅が大きくなるほどループフィルタの面積が増大すると言う問題があった。また、データ遷移密度の変動範囲は、高速シリアルインタフェースの規格が採用する符号化方式で決まる。SATASerialAdvancedTechnologyAttachment、PCIPeripheralComponentInterconnectExpress等で採用されている8B10B符号化では、同じ論理のデータが連続する数の最大値である最大ランレングスMaxRunLengthが5であり、データ遷移密度の変動範囲は20~100であり、データ遷移密度の最大値は最小値の5倍である。これに対して、64B66B符号化では、最大ランレングスは66であり、データ遷移密度の変動範囲は1.5~100であり、データ遷移密度の最大値は最小値の約67倍にもなる。従来のクロック再生回路では、データ遷移密度の最大値が最小値の5倍である場合はクロック信号の再生が可能であるが、それが67倍になると対応不能である。それゆえに、この発明の主たる目的は、ジッタが小さく、面積が小さく、データ遷移密度の変動幅が大きい場合でもクロック信号を再生することが可能なクロック再生回路を提供することである。この発明に係るクロック再生回路は、外部クロック信号に同期してシリアルに伝送される複数のデータ信号を受け、受けた複数のデータ信号に同期した内部クロック信号を生成するクロック再生回路であって、複数のデータ信号を予め定められた数ずつグループ化し、各データ信号グループ毎に1つの立ち上がりまたは立ち下がりエッジを抽出するエッジ抽出回路と、制御電圧に基いて内部クロック信号を生成する電圧制御型発振器と、エッジ抽出回路によって抽出された各立ち上がりまたは立ち下がりエッジの位相と電圧制御型発振器によって生成された内部クロック信号の位相とを比較し、比較結果を示す信号を出力する位相比較器と、位相比較器の出力信号に応答して正電流または負電流を出力するチャージポンプ回路と、チャージポンプ回路の出力電流を積分して制御電圧を発生するループフィルタとを備えたものである。この発明に係るクロック再生回路では、複数のデータ信号を予め定められた数ずつグループ化し、各データ信号グループ毎に1つの立ち上がりまたは立ち下がりエッジを抽出し、抽出した各立ち上がりまたは立ち下がりエッジの位相と内部クロック信号の位相とを比較する。したがって、各データ信号グループで1回だけ位相比較を行なうので、データ信号の論理レベルが遷移する毎に位相比較を行なう従来に比べ、ジッタの低減化と面積の縮小化を図ることができ、データ遷移密度の変動幅が大きい場合でもクロック信号を再生することができる。上述のとおり、従来のクロック再生回路では、外部データ信号列の論理レベルが遷移する毎に位相比較が行なわれる。しかし、外部データ信号列の論理レベルが遷移する毎に位相比較を行なう必要はなく、クロック再生回路のループ帯域の20倍以上の周波数で位相比較を行なえば足りる。そこで、本願発明では、外部データ信号列に含まれる複数のデータ信号を予め定められた数ずつグループ化し、各データ信号グループ毎に、1つの立ち上がりエッジまたは立ち下がりエッジを抽出し、抽出した立ち上がりエッジまたは立ち下がりエッジの位相と内部クロック信号の位相とを比較する。したがって、位相比較器におけるデータ遷移密度を均一化することができるので、ジッタの低減化と面積の縮小化を図ることができる。また、データ遷移密度の変動幅が大きい場合でもクロック信号を再生することができる。たとえば、SATAGen2では、外部データ信号列のデータレートは3Gbpsである。しかし、その外部データ信号列からクロック信号を再生する場合、ループ帯域10MHzの20倍である200MHzまでは位相比較周波数を下げることができる。換言すれば、位相比較器に入力されるデータ信号列のデータレートを200Mbpsまで下げることができる。3Gbps/200Mbps=15であるから、本願発明では、外部データ信号列に含まれる複数のデータ信号をたとえば15個ずつグループ化し、各データ信号グループ毎に、1つの立ち上がりエッジまたは立ち下がりエッジを抽出し、抽出した立ち上がりエッジまたは立ち下がりエッジの位相と内部クロック信号の位相とを比較する。ただし、SATAGen2では、外部データ信号列Vinの最大ランレングスは5であるので、各データ信号グループ毎に1つのエッジを抽出するためには、各データ信号グループにおけるデータ信号の数を最大ランレングスすなわち5以上にする必要がある。以下、図面を用いて本願発明を詳細に説明する。[実施の形態1]この発明の実施の形態1によるクロック再生回路は、図1に示すように、エッジ抽出回路1、位相比較器6、チャージポンプ回路CP12、ループフィルタLF13、電圧制御型発振器VCO14、およびリタイム回路15を備える。エッジ抽出回路1は、外部データ信号列Vinを受ける。外部データ信号列Vinは、図2a~gに示すように、外部クロック信号に同期してシリアルに伝送される複数のデータ信号を含む。図2a~gでは、外部クロック信号の位相と内部クロック信号VCOCLKまたはPD_Cinとの位相が一致している状態が示されている。外部クロック信号の隣接する2つの立ち下がりエッジの間の期間で1つのデータ信号が伝送される。外部データ信号列Vinの最大ランレングスは5である。ここでは、10クロック周期を1UGUnitGroupとする。1UGは、外部クロック信号の立ち上がりエッジで開始され、外部クロック信号の10個のパルスを含む。図2a~gでは、3つのUG1~UG3が示されている。データ遷移外部データ信号列Dinの論理レベルの遷移は、1UG当たり最大で10回発生する。UG1~UG3では、それぞれ7回、5回、2回のデータ遷移が発生している。UGのデータ遷移密度DT_Dinは、そのUGにおいて発生したデータ遷移の回数と、発生し得るデータ遷移の最大値10回との比である。UG1~UG3のデータ遷移密度DT_Dinは、それぞれ7/10,5/10,2/10である。なお、図面および説明の簡単化のため、図2a~gでは回路の遅延時間は0とされている。エッジ抽出回路1は、各UG毎に、外部データ信号列Dinの最初の立ち上がりエッジを抽出する。すなわち、エッジ抽出回路1は、図1に示すように、UIUnitIntervalカウンタ2、エッジ検出器3、トグル器4、および遅延回路5を含む。UIカウンタ2は、図3に示すように、フリップフロップ20,23,24,26、インバータ21,25,27、およびNANDゲート22を含む。フリップフロップ20のクロック端子は内部クロック信号VCOCLKを受ける。フリップフロップ20の出力信号φ20は、インバータ21を介してNANDゲート22の一方入力ノードに与えられる。NANDゲート22の出力信号φ22はフリップフロップ23のデータ入力端子に与えられ、フリップフロップ23の出力信号φ23はフリップフロップ24のデータ入力端子に与えられる。フリップフロップ24の出力信号φ24は、NANDゲート22の他方入力ノードに与えられるとともに、インバータ25を介してフリップフロップ20のデータ入力端子に与えられる。内部クロック信号VCOCLKがLレベルからHレベルに立ち上げられると、フリップフロップ20,23,24の各々は入力信号を保持および出力する。また、フリップフロップ20の出力信号φ20は、フリップフロップ26のクロック端子に与えられる。フリップフロップ26の出力信号は、インバータ27を介してフリップフロップ26のデータ入力端子に与えられる。信号φ20がLレベルからHレベルに立ち上げられると、フリップフロップ26は入力信号を保持および出力する。フリップフロップ23の出力信号は、UIカウンタ2の出力信号SETとなる。図4a~fは、それぞれ信号VCOCLK,φ20,φ22,φ23,φ24,SETを示すタイムチャートである。信号φ20,φ22,φ23,φ24の各々は、内部クロック信号VCOCLKの5倍の周期を有するクロック信号となる。信号SETは、内部クロック信号VCOの10倍の周期を有するクロック信号となる。各UGにおいて、内部クロック信号VCOCLKの1番目の立ち上がりエッジに応答して信号SETがHレベルに立ち上げられ、内部クロック信号VCOCLKの5番目の立ち上がりエッジに応答して信号SETがLレベルに立ち下げられる。すなわち、内部クロック信号VCOCLKを10倍に分周した信号が信号SETとなる。エッジ検出器3は、信号SETの立ち上がりエッジに応答して信号ENをLレベルからHレベルに立ち上げた後、外部データ信号列Dinの最初の立ち上がりエッジに応答して信号ENをHレベルからLレベルに立ち下げる。エッジ検出器3は、図5に示すように、フリップフロップ30,31、ゲート回路32,33、セレクタ34,35、およびインバータ36,37を含む。フリップフロップ30のデータ入力端子はHレベル電源電圧VCCの信号を受け、そのクロック端子は外部データ信号列Dinを受け、そのリセット端子はゲート回路32の出力信号を受ける。リセット端子がLレベルにされると、フリップフロップ30の出力信号Din_QはHレベルにリセットされる。外部データ信号列DinがLレベルからHレベルに立ち上げられると、フリップフロップ30の出力信号Din_QはLレベルに立ち下げられる。ゲート回路32は、信号SELとリセット信号RESETの論理和信号の反転信号を出力する。リセット信号RESETがHレベルである場合は、ゲート回路32はLレベルの信号を出力する。リセット信号RESETがLレベルである場合は、ゲート回路32はインバータとして動作し、信号SELの反転信号を出力する。フリップフロップ31のデータ入力端子はHレベルの信号を受け、そのクロック端子は信号SETを受け、そのリセット端子はゲート回路33の出力信号を受ける。リセット端子がLレベルにされると、フリップフロップ31の出力信号SET_QはLレベルにリセットされる。信号SETがLレベルからHレベルに立ち上げられると、フリップフロップ31の出力信号SET_QはHレベルに立ち上げられる。ゲート回路33は、信号SELの反転信号とリセット信号RESETとの論理和信号の反転信号を出力する。リセット信号RESETがHレベルである場合は、ゲート回路32はLレベルの信号を出力する。リセット信号RESETがLレベルである場合は、ゲート回路32はバッファとして動作し、信号SELを出力する。セレクタ34は、フリップフロップ30,31の出力信号Din_Q,SET_Qを受け、信号SELがLレベル0である場合は信号Din_Qを通過させ、信号SELがHレベル1である場合は信号SEL_Qを通過させる。セレクタ34を通過した信号は、インバータ36,37で遅延されてエッジ検出器3の出力信号ENとなる。セレクタ35は、信号ENとHレベルの信号とを受け、リセット信号RESETがLレベルである場合はリセット信号ENの反転信号を通過させ、リセット信号RESETがHレベルである場合はHレベルの信号を通過させる。セレクタ35を通過した信号が信号SELとなる。図6a~gは、それぞれ信号RESET,Din,SET,Din_Q,SET_Q,SEL,ENを示すタイムチャートである。リセット信号RESETがHレベルである場合は、ゲート回路32,33の出力信号がともにLレベルとなり、フリップフロップ30,31がリセットされる。また、信号Din_Q,SELがHレベルになり、信号SET_Q,ENがLレベルになる。リセット信号RESETがLレベルにされると、ゲート回路32がインバータとして動作し、ゲート回路33がバッファとして動作する。信号SELがHレベルであるので、フリップフロップ31のリセットが解除される。時刻t0において信号SETがLレベルからHレベルに立ち上げられると、フリップフロップ31の出力信号SET_QがLレベルからHレベルに立ち上げられる。これに応じて信号ENがHレベルに立ち上げられ、信号SELがLレベルに立ち下げられ、フリップフロップ31がリセットされるとともに、フリップフロップ30のリセットが解除される。したがって、信号SET_Qは、信号SETの立ち上がりエッジに応答してパルス的にHレベルになる。次に、外部データ信号列DinがLレベルからHレベルに立ち上げられると、フリップフロップ30の出力信号Din_QがHレベルからLレベルに立ち下げられる。これに応じて信号ENがLレベルに立ち下げられ、信号SELがHレベルに立ち上げられ、フリップフロップ30がリセットされるとともに、フリップフロップ31のリセットが解除される。したがって、信号Din_Qは、外部データ信号列Dinの最初の立ち上がりエッジに応答してパルス的にLレベルになる。また、信号ENは、各UGにおいて、信号SETの立ち上がりエッジに応答してLレベルからHレベルに立ち上げられ、外部データ信号列Dinの最初の立ち上がりエッジに応答してHレベルからLレベルに立ち下げられる。トグル器4は、図7に示すように、セレクタ40、フリップフロップ41、およびインバータ42を含む。セレクタ40は、Hレベルの信号と外部データ信号列Dinを受け、信号ENがLレベルである場合はHレベルの信号を通過させ、信号ENがHレベルである場合は外部データ信号列Dinを通過させる。セレクタ40を通過した信号は、信号INとなり、フリップフロップ41のクロック端子に与えられる。フリップフロップ41の出力信号PD_Dinは、インバータ42を介してフリップフロップ41のデータ入力端子に与えられる。図8a~dは、信号Din,EN,IN,PD_Dinを示すタイムチャートである。信号ENがHレベルである期間は、外部データ信号列Dinがセレクタ40を通過して信号INとなる。信号INがLレベルからHレベルに立ち上げられる毎にフリップフロップ41の出力信号PD_Dinの論理レベルが反転される。信号ENがLレベルである期間は、Hレベルの信号がセレクタ40を通過して信号INとなる。フリップフロップ41の出力信号PD_Dinは、信号ENがLレベルに立ち下げられる前の論理レベルに維持される。なお、図5および図6a~gで示したように、信号ENはHレベルに立ち上げられた後に、外部データ信号列Dinの最初の立ち上がりエッジに応答してLレベルに立ち下げられる。したがって、図2a~gに示すように、信号PD_Dinの論理レベルは、各UGにおいて外部データ信号列Dinの最初の立ち上がりエッジに応答して反転する。信号PD_Dinのデータ遷移信号PD_Dinの論理レベルの遷移は、1UG毎に必ず1回発生する。UGのデータ遷移密度DT_PD_Dinは、そのUGにおいて発生した信号PD_Dinのデータ遷移の回数1回と、外部データ信号列Dinのデータ遷移の最大値10回との比である。UG1~UG3のデータ遷移密度DT_PD_Dinは、ともに1/10となる。図1に戻って、遅延回路5は、内部クロック信号VCOCLKを所定の遅延時間だけ遅延させてクロック信号PD_Cinを生成する。遅延回路5の遅延時間は、トグル器4の遅延時間に等しく設定される。位相比較器6は、信号PD_Dinの位相とクロック信号VCOCLKの位相とを比較し、比較結果を示す信号UP,DNを出力する。すなわち、位相比較器6は、バッファ回路7、フリップフロップ8,9、およびEX-ORゲート10,11を含む。バッファ回路7は、クロック信号PD_Cinおよびその相補信号を出力する。フリップフロップ8のクロック端子はバッファ回路7からのクロック信号PD_Cinを受け、そのデータ入力端子は信号PD_Dinを受ける。フリップフロップ9のクロック端子はバッファ回路7からのクロック信号PD_Cinの相補信号を受け、そのデータ入力端子はフリップフロップ8の出力信号を受ける。EX-ORゲート10は、信号PD_Dinとフリップフロップ8の出力信号とを受け、信号UPを出力する。EX-ORゲート11は、フリップフロップ8,9の出力信号を受け、信号DNを出力する。図2a~gに示すように、信号PD_Dinとクロック信号PD_Cinとの位相差が信号UPのパルス幅となり、クロック信号PD_Cinの半周期が信号DNのパルス幅となる。チャージポンプ回路12は、信号UPのパルス幅に比例した正電流をループフィルタ13に供給するとともに、信号DNのパルス幅に比例した負電流をループフィルタ13に供給する。ループフィルタ13は、所定容量値のキャパシタと所定抵抗値の抵抗素子を含み、チャージポンプ回路12の出力電流を積分して制御電圧を生成する。電圧制御型発振器14は、ループフィルタ13で生成された制御電圧に応じた周波数で発振して内部クロック信号VCOCLKを出力する。リタイム回路15は、フリップフロップ16を含む。フリップフロップ16のクロック端子は内部クロック信号VCOCLKを受け、そのデータ入力端子は外部データ信号列Dinを受ける。フリップフロップ16は、内部クロック信号VCOCLKがLレベルからHレベルに立ち上げられる毎に外部クロック信号列Dinを保持および出力する。クロック再生回路は、フリップフロップ16の出力信号を内部データ信号列Doutとして出力するとともに、電圧制御型発振器14の出力信号VCOCLKを内部クロック信号Coutとして出力する。[比較例]図9は、実施の形態1の比較例となるクロック再生回路の構成を示す回路ブロック図であって、図1と対比される図である。図9において、このクロック再生回路が図1のクロック再生回路と異なる点は、エッジ抽出回路1およびリタイム回路15が除去されている点である。外部データ信号列Dinおよび内部クロック信号VCOCLKは、位相比較器6に直接入力される。バッファ回路7で生成されたクロック信号VCOCLKの相補信号が内部クロック信号Coutとして出力され、フリップフロップ9の出力信号が内部データ信号列Doutとして出力される。図10a~dは、図9に示したクロック再生回路の動作を示すタイムチャートであって、図2a~gと対比される図である。外部データ信号列Vinは、図10a~dに示すように、外部クロック信号に同期してシリアルに伝送される複数のデータ信号を含む。図10a~dでは、外部クロック信号の位相と内部クロック信号VCOCLKとの位相が一致している状態が示されている。外部クロック信号の隣接する2つの立ち下がりエッジの間の期間で1つのデータ信号が伝送される。外部データ信号列Vinの最大ランレングスは5である。ここでは、5クロック周期を1UGとする。1UGは、外部クロック信号の立ち上がりエッジで開始され、外部クロック信号の5個のパルスを含む。図10a~dでは、6つのUG1~UG6が示されている。データ遷移外部データ信号列Dinの論理レベルの遷移は、1UG当たり最大で5回発生する。UG1~UG6では、それぞれ5回、2回、4回、1回、1回、1回のデータ遷移が発生している。UGのデータ遷移密度DT_Dinは、そのUGにおいて発生したデータ遷移の回数と、発生し得るデータ遷移の最大値5回との比である。UG1~UG6のデータ遷移密度DT_Dinは、それぞれ5/5,2/5,4/5,1/5,1/5,1/5である。なお、図面および説明の簡単化のため、図2a~gでは回路の遅延時間は0とされている。このクロック再生回路では、外部データ信号列Dinの論理レベルが変化する毎に信号UP,DNの各々がパルス的に変化する。したがって、外部データ信号列Dinの論理レベルが変化する回数と信号UP,DNの各々のパルス数とは同じである。この比較例では、外部データ信号列Dinの論理レベルが遷移する毎に位相比較が行なわれ、オープンループゲインがデータ遷移密度DT_Dinに比例するため、データパターンに依存するジッタが大きいと言う問題がある。また、データパターンに依存して動作電流および電源電圧が変動することも、ジッタが大きくなる原因となる。また、想定されるデータ遷移密度DT_Dinの変動範囲で最適なジッタ伝達特性を得るには、データ遷移密度DT_Dinの変動幅に応じてループフィルタ13のキャパシタの容量値を大きくする必要がある。このためデータ遷移密度DT_Dinの変動幅が大きくなるほどループフィルタ13の面積が増大すると言う問題がある。また、データ遷移密度DT_Dinの変動範囲は、高速シリアルインタフェースの規格が採用する符号化方式で決まる。この比較例で採用されている8B10B符号化では、最大ランレングスが5であり、データ遷移密度DT_Dinの変動範囲は20~100であり、データ遷移密度DT_Dinの最大値は最小値の5倍である。しかし、64B66B符号化では、最大ランレングスは66であり、データ遷移密度の変動範囲は1.5~100であり、データ遷移密度の最大値は最小値の約67倍にもなる。図9のクロック再生回路では、データ遷移密度の最大値が最小値の5倍である場合は対応可能であるが、それが67倍になると対応不能であり、クロック信号を再生することはできない。これに対して本願発明では、各UGにおいて外部データ信号列Dinの最初の立ち上がりエッジを抽出し、抽出した立ち上がりエッジに同期した信号PD_Dinの位相と内部クロック信号PD_Cinの位相とを比較するので、位相比較器6におけるデータ遷移密度DT_PD_Dinは一定値になる。したがって、外部データ信号列Dinのデータパターンに依存するジッタを小さくすることができる。また、ループフィルタ13のキャパシタの容量値および面積を小さくすることができる。また、外部データ信号列Dinのデータ遷移密度DT_Dinの変動幅が大きい場合でも、クロック信号を再生することができる。[実施の形態2]実施の形態1では、各UGにおいて外部データ信号列Dinの最初の立ち上がりエッジを抽出し、抽出した立ち上がりエッジに同期した信号PD_Dinの位相と内部クロック信号PD_Cinの位相とを比較した。これに対して本実施の形態2では、各UGにおいて外部データ信号列Dinの最初の立ち下がりエッジを抽出し、抽出した立ち下がりエッジに同期した信号PD_Dinの位相と内部クロック信号PD_Cinの位相とを比較する。本実施の形態2のクロック再生回路は、図1のクロック再生回路のエッジ検出器3およびトグル器4をそれぞれエッジ検出器45およびトグル器47で置換したものである。図11はエッジ検出器45の構成を示す回路図であって、図5と対比される図である。このエッジ検出器45は、図5のエッジ検出器3のフリップフロップ30をフリップフロップ46で置換したものである。フリップフロップ46は、ゲート回路32の出力信号がLレベルにされると、リセットされてHレベルの信号を出力する。また、フリップフロップ46は、外部データ信号列DinがHレベルからLレベルに立ち下げられると、Hレベルの信号を保持し、その反転信号であるLレベルの信号を出力する。図12a~gはエッジ検出器45の動作を示すタイムチャートであって、図6a~gと対比される図である。図12a~gにおいて、リセット信号RESETがHレベルである場合は、ゲート回路32,33の出力信号がともにLレベルとなり、フリップフロップ31,46がリセットされる。また、信号Din_Q,SELがHレベルになり、信号SET_Q,ENがLレベルになる。リセット信号RESETがLレベルにされると、ゲート回路32がインバータとして動作し、ゲート回路33がバッファとして動作する。信号SELがHレベルであるので、フリップフロップ31のリセットが解除される。時刻t0において信号SETがLレベルからHレベルに立ち上げられると、フリップフロップ31の出力信号SET_QがLレベルからHレベルに立ち上げられる。これに応じて信号ENがHレベルに立ち上げられ、信号SELがLレベルに立ち下げられ、フリップフロップ31がリセットされるとともに、フリップフロップ46のリセットが解除される。したがって、信号SET_Qは、信号SETの立ち上がりエッジに応答してパルス的にHレベルになる。次に、外部データ信号列DinがHレベルからLレベルに立ち下げられると、フリップフロップ46の出力信号Din_QがHレベルからLレベルに立ち下げられる。これに応じて信号ENがLレベルに立ち下げられ、信号SELがHレベルに立ち上げられ、フリップフロップ46がリセットされるとともに、フリップフロップ31のリセットが解除される。したがって、信号Din_Qは、外部データ信号列Dinの最初の立ち下がりエッジに応答してパルス的にLレベルになる。また、信号ENは、各UGにおいて、信号SETの立ち上がりエッジに応答してLレベルからHレベルに立ち上げられ、外部データ信号列Dinの最初の立ち下がりエッジに応答してHレベルからLレベルに立ち下げられる。図13はトグル器47の構成を示す回路図であって、図7と対比される図である。このトグル器47は、図7のトグル器4の電源電圧VCCを接地電圧VSSで置換し、フリップフロップ41をフリップフロップ48で置換したものである。セレクタ40は、Lレベル接地電圧VSSの信号と外部データ信号列Dinを受け、信号ENがLレベルである場合はLレベルの信号を通過させ、信号ENがHレベルである場合は外部データ信号列Dinを通過させる。セレクタ40を通過した信号は、信号INとなり、フリップフロップ48のクロック端子に与えられる。フリップフロップ48の出力信号PD_Dinは、インバータ42を介してフリップフロップ48のデータ入力端子に与えられる。図14a~dは、信号Din,EN,IN,PD_Dinを示すタイムチャートであって、図8a~dと対比される図である。信号ENがHレベルである期間は、外部データ信号列Dinがセレクタ40を通過して信号INとなる。信号INがHレベルからLレベルに立ち下げられる毎にフリップフロップ48の出力信号PD_Dinの論理レベルが反転される。信号ENがLレベルである期間は、Lレベルの信号がセレクタ40を通過して信号INとなる。フリップフロップ48の出力信号PD_Dinは、信号ENがLレベルに立ち下げられる前の論理レベルに維持される。なお、図11および図12a~gで示したように、信号ENはHレベルに立ち上げられた後に、外部データ信号列Dinの最初の立ち下がりエッジに応答してLレベルに立ち下げられる。したがって、信号PD_Dinの論理レベルは、各UGにおいて外部データ信号列Dinの最初の立ち下がりエッジに応答して反転する。他の構成および動作は、実施の形態1と同じであるので、その説明は繰り返さない。この実施の形態2でも、実施の形態1と同じ効果が得られる。[実施の形態3]図15は、この発明の実施の形態3によるクロック再生回路の構成を示す回路ブロック図であって、図1と対比される図である。また図16a~iは、図15に示したクロック再生回路の動作を示すタイムチャートであって、図2a~gと対比される図である。図15において、このクロック再生回路は、エッジ抽出回路1R,1F、位相比較器6R,6F、チャージポンプ回路12R,12F、ループフィルタ13、電圧制御型発振器14、およびリタイム回路15を備える。外部データ信号列Vinは、図2a~gで説明した通りである。UG1~UG3のデータ遷移密度DT_Dinは、それぞれ7/10,5/10,2/10である。なお、図面および説明の簡単化のため、図16a~iでは回路の遅延時間は0とされている。エッジ抽出回路1Rは、図1のエッジ抽出回路1と同じ構成であり、各UGにおいて外部データ信号列Dinの最初の立ち上がりエッジに応答して論理レベルが反転する信号PD_DinRと、内部クロック信号VCOCLKを所定時間だけ遅延させたクロック信号PD_CinRとを生成する。信号PD_DinRのデータ遷移信号PD_DinRの論理レベルの遷移は、1UG毎に必ず1回発生する。UGのデータ遷移密度DT_PD_DinRは、そのUGにおいて発生した信号PD_DinRのデータ遷移の回数1回と、外部データ信号列Dinのデータ遷移の最大値10回との比である。UG1~UG3のデータ遷移密度DT_PD_DinRは、ともに1/10となる。エッジ抽出回路1Fは、実施の形態2のクロック再生回路のエッジ抽出回路と同じ構成であり、各UGにおいて外部データ信号列Dinの最初の立ち下がりエッジに応答して論理レベルが反転する信号PD_DinFと、内部クロック信号VCOCLKを所定時間だけ遅延させたクロック信号PD_CinFとを生成する。信号PD_DinFのデータ遷移信号PD_DinFの論理レベルの遷移は、1UG毎に必ず1回発生する。UGのデータ遷移密度DT_PD_DinFは、そのUGにおいて発生した信号PD_DinFのデータ遷移の回数1回と、外部データ信号列Dinのデータ遷移の最大値10回との比である。UG1~UG3のデータ遷移密度DT_PD_DinFは、ともに1/10となる。したがって、DT_PD_DinRとDT_PD_DinFの和であるDT_PDは2/10となる。位相比較器6Rは、エッジ抽出回路1Rからの信号PD_DinR,PD_CinRの位相を比較し、比較結果を示す信号UPR,DNRを生成する。信号PD_DinRとクロック信号PD_CinRとの位相差が信号UPRのパルス幅となり、クロック信号PD_CinRの半周期が信号DNRのパルス幅となる。位相比較器6Fは、エッジ抽出回路1Fからの信号PD_DinF,PD_CinFの位相を比較し、比較結果を示す信号UPF,DNFを生成する。信号PD_DinFとクロック信号PD_CinFとの位相差が信号UPFのパルス幅となり、クロック信号PD_CinFの半周期が信号DNFのパルス幅となる。チャージポンプ回路12Rは、信号UPRのパルス幅に比例した正電流をループフィルタ13に供給するとともに、信号DNRのパルス幅に比例した負電流をループフィルタ13に供給する。チャージポンプ回路12Fは、信号UPFのパルス幅に比例した正電流をループフィルタ13に供給するとともに、信号DNFのパルス幅に比例した負電流をループフィルタ13に供給する。ループフィルタ13は、チャージポンプ回路12R,12Fの出力電流を積分して制御電圧を生成する。電圧制御型発振器14は、ループフィルタ13で生成された制御電圧に応じた周波数で発振して内部クロック信号VCOCLKを出力する。リタイム回路15は、図1で示したものと同じである。この実施の形態3では、実施の形態1と同じ効果が得られる他、実施の形態1と比べてチャージポンプ回路の出力電流を時間軸方向に分散させることができ、電源電圧の変動を抑制することができる。[実施の形態4]図17は、この発明の実施の形態4によるクロック再生回路のUIカウンタ50の構成を示す回路図である。図17において、このUIカウンタ50は、フリップフロップ51,54、加算器52、セレクタ53、およびNORゲート55を含む。フリップフロップ51のデータ入力端子は信号UI_Regを受け、そのクロック端子は内部クロック信号VCOCLKを受ける。信号UI_Regは、UIカウント数Nを設定する信号であり、複数ビットのデータ信号を含む。UIカウント数Nは、たとえばレジスタに格納され、書き換え可能になっている。加算器52は、フリップフロップ54の出力信号STATEに-1を加算する。セレクタ53は、加算器52の出力信号とフリップフロップ51の出力信号とを受ける。信号SETがLレベルである場合は、加算器52の出力信号がセレクタ53を通過し、信号SETがHレベルである場合は、フリップフロップ51の出力信号がセレクタ53を通過する。フリップフロップ54のデータ入力端子はセレクタ53の出力信号を受け、そのクロック端子は内部クロック信号VCOCLKを受ける。NORゲート55は、フリップフロップ54の出力信号STATEを受け、信号SETを出力する。図18a~cは、それぞれ信号VCOCLK,STATE,SETを示すタイムチャートである。内部クロック信号VCOCLKがLレベルからHレベルに立ち上げられる毎に、フリップフロップ51は信号UI_Regを保持および出力し、フリップフロップ54はセレクタ53の出力信号を保持および出力する。信号STATEが0でない場合は、信号SETがLレベルになり、加算器52の出力信号がセレクタ53を通過してフリップフロップ54のデータ入力端子に入力される。内部クロック信号VCOCLKがLレベルからHレベルに立ち上げられる毎に、信号STATEの値がデクレメント-1される。信号STATEの値が0になると、信号SETがLレベルからHレベルに立ち上げられ、信号UI_Regがセレクタ53を通過してフリップフロップ54に与えられる。次に、内部クロック信号VCOCLKがLレベルからHレベルに立ち上げられると、信号STATEがN-1にリセットされ、信号SETがLレベルに立ち下げられる。他の構成および動作は、実施の形態1と同じであるので、その説明は繰り返さない。この実施の形態4では、実施の形態1と同じ効果が得られる他、UIカウント数Nを所望の値に変更することができる。なお、クロック再生回路のループ帯域は規格で定められており、10MHz程度である。そのため、UIカウント数Nを大きくした場合、それに応じてチャージポンプ回路12のゲインを大きくし、ループゲインを一定値に維持する必要がある。そこで、実施の形態4の変更例では、UIカウント数Nに応じてゲインが変更されるチャージポンプ回路でチャージポンプ回路12が置換される。[実施の形態5]図19は、この発明の実施の形態5による半導体装置の要部を示すブロック図である。図19において、この半導体装置は、入力端子T1,T4,T5、出力端子T2,T3、受信回路RxFE60、クロック再生回路CDR61、シリアル/パラレル変換回路DES62、ロジック回路63、PLLPhaseLockedLoop回路64、パラレル/シリアル変換回路SER65、および送信回路TxFE66を備える。受信回路60は、外部から入力端子T4,T5を介して与えられた差動信号RXP,RXTをシングルエンドのデータ信号に変換する。クロック再生回路61は、実施の形態1~4のうちのいずれかの実施の形態のクロック再生回路であり、受信回路60からの外部データ信号列Dinに基いて内部データ信号列Doutおよび内部クロック信号Coutを生成する。内部データ信号列Doutは、内部クロック信号Coutに同期してシリアルに伝送される複数のデータ信号を含む。シリアル/パラレル変換回路62は、内部クロック信号Coutに同期して動作し、内部データ信号列Doutに含まれる複数のデータ信号をNビットずつグループ化し、Nビット幅のパラレルデータ信号列に変換する。シリアル/パラレル変換回路62は、Nビット幅のパラレルデータ信号列と、それに同期したクロック信号φ62をロジック回路63に与える。ロジック回路63は、シリアル/パラレル変換回路62からのパラレルデータ信号列をクロック信号φ62に同期して取り込み、取り込んだデータ信号に基いて所定の動作を行なう。また、PLL回路64は、外部から入力端子T1を介して与えられる参照クロック信号REFCLKに応答して内部クロック信号φ64を生成し、生成した内部クロック信号φ64をロジック回路63およびパラレル/シリアル変換回路65に与える。ロジック回路63は、PLL回路64からの内部クロック信号φ64に同期して動作する。また、ロジック回路63は、所定の動作を行なってNビット幅のパラレルデータ信号列を生成し、生成したパラレルデータ信号列と、それに同期したクロック信号φ63とをパラレル/シリアル変換回路65に与える。パラレル/シリアル変換回路65は、ロジック回路63からのNビット幅のパラレルデータ信号をクロック信号φ63に同期して取り込み、取り込んだNビット幅のパラレルデータ信号列を1ビット幅のデータ信号列に変換し、そのデータ信号列を内部クロック信号φ64に同期して出力する。送信回路TxFE66は、パラレル/シリアル変換回路65からのデータ信号を差動信号TXP,TXNに変換して出力端子T2,T3に出力する。この実施の形態5では、実施の形態1~4と同じ効果が得られる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"