説明

クロックデータリカバリ回路

【課題】 データ信号とクロックとの周波数に差がある場合でも、2相の内部クロックを必要とせずに、データ信号とクロックとの同期が可能なCDR回路を提供すること。
【解決手段】 PD14は、DATAとVDL11からのVDL出力との位相差を検出する。CODE Operator13は、出力クロックの1周期と同じ遅延に相当する制御コードの値を検出する。そして、PD14による検出結果に応じて制御コードを変更しながら出力クロックをデータ信号に同期させる際、VDL11の遅延量がクロックの1周期分を超えるときに、制御コードに対して出力クロックの1周期と同じ遅延に相当する制御コードを一度に加算または減算する。したがって、データ信号とクロックとの周波数に差がある場合でも、同一のクロック位相を与えながらデータ信号とクロックとの同期をとることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信したデータ信号の遷移に同期したクロック信号を発生させる技術に関し、特に、データ信号に同期したクロック(Recovered CLOCK)信号の周波数が半導体集積回路内部で用いるクロック(CLOCK)信号の周波数と異なる場合でも、データ信号に同期したクロック信号を発生させることができるクロックデータリカバリ(以下、CDRとも呼ぶ。)回路に関する。
【背景技術】
【0002】
近年、通信機器やコンピュータにおいて、PCI(Peripheral Component Interconnect)−ExpressやSerial−ATA(AT Attachment)などのシリアルデータの伝送を行なうインタフェース回路が用いられている。このようなインタフェース回路にCDR回路を用いた従来技術として、下記の非特許文献1がある。
【0003】
この非特許文献1には、データエッジディテクタ、アップダウン決定回路、1周期のクロック位相ポインタ、8位相クロック分割器、8位相クロックから1つを選択するセレクタなどによって構成され、0度と90度の位相差を持った2相の内部クロックを用いたCDR回路が開示されている。
【非特許文献1】2003 Symposium on VLSI Circuits Digest of Technical Papers, pp.57-60.「A 50-mW/ch 2.5-Gb/s/ch Data Recovery Circuit for the SFI-5 Interface Using Novel Eye-tracking Method.」
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述した従来技術においては、8位相クロック分割器によって正確な8位相クロックを発生させるためには、CDR回路に入力される2相の内部クロックが正確に0度と90度の位相差を有することが必要とされる。このため、CDR回路の外部に2相の内部クロックを発生させる回路と、2相間の位相管理を行なうクロック分配回路とを搭載する必要があり、回路構成が複雑になるといった問題点があった。
【0005】
また、クロック信号をデータ信号の遷移に正確に同期させるためには、1周期の分割数を8よりも増やす必要があり、8位相クロック分割器の搭載数が増加することになる。8位相クロック分割器は貫通電流パスを持ったアナログ回路であるため、CDR回路の消費電流が増加するといった問題点もあった。
【0006】
また、セレクタが1周期のクロック位相ポインタからの出力を受け、8位相の入力クロックの中から1つを選択するので、伝播経路の切替え時にグリッジノイズやハザードなどの細い幅のパルス信号が出力されることがあり、システムの誤動作の原因になるといった問題点もあった。
【0007】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、データ信号とクロックとの周波数に差がある場合でも、2相の内部クロックを必要とせずに、データ信号とクロックとの同期が可能なCDR回路を提供することである。
【0008】
第2の目的は、貫通電流パスを持った8位相クロック分割器を不要としたCDR回路を提供することである。
【課題を解決するための手段】
【0009】
本発明のある局面に従えば、データ信号に同期した出力クロックを生成するクロックデータリカバリ回路であって、データ信号と前記出力クロックとの位相差を検出する第1の検出手段と、制御コードに応じてクロックの遅延を変える可変遅延手段と、制御コードの値を変更するコード変更手段とを含み、コード変更手段は、出力クロックの1周期と同じ遅延に相当する制御コードの値を検出する第2の検出手段と、第2の検出手段によって検出された制御コードの値を格納する格納手段と、第1の検出手段による検出結果に応じて制御コードを変更しながら出力クロックをデータ信号に同期させる際、可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算する演算手段とを含む。
【0010】
好ましくは、格納手段は、制御コードの上限値を格納する上限値格納手段と、制御コードの下限値を格納する下限値格納手段とを含み、演算手段は、第1の検出手段による検出結果に応じて制御コードを加減算するためのコードを生成するためのインクリメント手段と、インクリメント手段によって生成されたコードに応じて制御コードを加減算するためのコード演算手段と、コード演算手段によって計算された制御コードが上限値格納手段に格納された上限値または下限値格納手段に格納された下限値になっているか否かを判定することにより、可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定するための判定手段とを含み、コード演算手段は、判定手段によってクロックの1周期分を超えると判定された場合に、上限値格納手段に格納された上限値と下限値格納手段に格納された下限値とから算出した値を一度に加算または減算する。
【0011】
好ましくは、インクリメント手段は、可変遅延手段の遅延量を第1の初期値から順に小さくし、制御コードが最小値に達しても出力クロックの1周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第2の初期値から順に大きくして出力クロックと同じ遅延量となるときの制御コードを上限値格納手段に格納する。
【0012】
好ましくは、判定手段は、可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、上限値格納手段に格納される上限値に所定値を加算して判定する。
【0013】
好ましくは、判定手段は、可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、加減値格納手段に格納される下限値から所定値を減算して判定する。
【0014】
好ましくは、演算手段はさらに、上限値格納手段に格納される上限値に所定値を加算して判定手段に出力する加算手段と、下限値格納手段に格納される下限値から所定値を減算して判定手段に出力する減算手段とを含み、判定手段は、加算手段から出力される値および減算手段から出力される値に基づいてクロックの1周期分を超えるか否かを判定し、コード演算手段は、判定手段によってクロックの1周期分を超えると判定された場合に、加算手段から出力される値と減算手段から出力される値と所定値とから算出した値を一度に加算または減算する。
【0015】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を2つ有し、第2の検出手段は、第1の可変遅延手段を制御して出力クロックの1周期と同じ遅延に相当する制御コードを検出し、演算手段は、第1の検出手段による検出結果に応じて第2の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第2の可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算する。
【0016】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を2つ有し、クロックデータリカバリ回路は、前記第2の検出手段によって検出された第1の可変遅延手段の出力クロックの1周期と同じ遅延に相当する制御コードを格納する第1の格納手段と、第2の検出手段によって検出された第2の可変遅延手段の出力クロックの1周期と同じ遅延に相当する制御コードを格納する第2の格納手段と、第1の格納手段に格納される値と第2の格納手段に格納される値とを比較する比較手段と、比較手段による比較結果に応じて、クロックデータリカバリ回路に動作を行なわせるか否かを判定する動作判定手段とを含む。
【0017】
好ましくは、クロックデータリカバリ回路は、可変遅延手段を2つ有し、第2の検出手段は、第1の可変遅延手段を制御して出力クロックの1周期と同じ遅延に相当する制御コードを検出し、演算手段は、第1の検出手段による検出結果に応じて第1の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第1の可変遅延手段の遅延量がクロックの1周期分を超えるときに、第2の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第2の可変遅延手段に動作を切替えた後に、第1の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、出力クロックとデータ信号との同期を行なわせ、さらに、第1の検出手段による検出結果に応じて第2の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第2の可変遅延手段の遅延量がクロックの1周期分を超えるときに、第1の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第1の可変遅延手段に動作を切替えた後に、第2の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、出力クロックとデータ信号との同期を行なわせる。
【0018】
好ましくは、可変遅延手段は、複数の遅延回路と、複数の遅延回路の出力が接続される複数のセレクタと、複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数である。
【0019】
好ましくは、可変遅延手段は、複数の遅延回路と、複数の遅延回路の出力が接続される複数のセレクタと、複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、演算手段が制御コードに対して格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更する。
【発明の効果】
【0020】
本発明のある局面によれば、演算手段が、第1の検出手段による検出結果に応じて制御コードを変更しながら出力クロックをデータ信号に同期させる際、可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算するので、データ信号とクロックとの周波数に差がある場合でも、同一のクロック位相を与えながらデータ信号とクロックとの同期をとることが可能となる。
【0021】
また、コード演算手段は、判定手段によってクロックの1周期分を超えると判定された場合に、上限値格納手段に格納された上限値と下限値格納手段に格納された下限値とから算出した値を一度に加算または減算するので、同一のクロック位相を容易に与えることが可能となる。
【0022】
また、インクリメント手段が、可変遅延手段の遅延量を第1の初期値から順に小さくし、制御コードが最小値に達しても出力クロックの1周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第2の初期値から順に大きくして出力クロックと同じ遅延量となるときの制御コードを上限値格納手段に格納するので、出力クロックの1周期に相当する制御コードを容易に求めることが可能となる。
【0023】
また、判定手段が、可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、上限値格納手段に格納される上限値に所定値を加算して判定するので、上限値近辺でクロックの1周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【0024】
また、判定手段が、可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、加減値格納手段に格納される下限値から所定値を減算して判定するので、下限値近辺でクロックの1周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【0025】
また、判定手段が、加算手段から出力される値および減算手段から出力される値に基づいてクロックの1周期分を超えるか否かを判定し、コード演算手段が、判定手段によってクロックの1周期分を超えると判定された場合に、加算手段から出力される値と減算手段から出力される値と所定値とから算出した値を一度に加算または減算するので、上限値または下限値近辺でクロックの1周期分の制御コードの加減算が頻繁に発生するのを防止することが可能となる。
【0026】
また、第2の検出手段が、第1の可変遅延手段を制御して出力クロックの1周期と同じ遅延に相当する制御コードを検出し、演算手段が、第1の検出手段による検出結果に応じて第2の可変遅延手段の制御コードを変更しながら出力クロックをデータ信号に同期させる際、第2の可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して格納手段に格納された値を一度に加算または減算するので、第1の可変遅延手段による出力クロックの1周期分の制御コードの検出と、第2の可変遅延手段によるデータ信号とクロックとの同期とが同時に行なえ、クロックの1周期分に相当する制御コードが変化する場合でも、クロックの位相の連続性を保つことが可能となる。
【0027】
また、動作判定手段が、比較手段による比較結果に応じて、クロックデータリカバリ回路に動作を行なわせるか否かを判定するので、2つの可変遅延手段の特性が同じであることを保証することができ、クロックの同期をより正確に行なうことが可能となる。
【0028】
また、第1の可変遅延手段の遅延量がクロックの1周期分を超えるときに、第1の可変遅延手段および第2の可変遅延手段の制御コードに対して格納手段に格納された値を一度に加算または減算し、第2の可変遅延手段に動作を切替えて、出力クロックとデータ信号との同期を行なわせるので、クロックの1周期分の加減算に時間を要する場合でも、クロックの位相の連続性を保つことが可能となる。
【0029】
また、可変遅延手段において、複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数であるので、伝播経路上の負荷容量を容易に合わせることが可能となる。
【0030】
また、可変遅延手段において、演算手段が制御コードに対して格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更するので、グリッジノイズやハザードなどの細かい幅のパルス信号が出力されるのを防止することが可能となる。
【発明を実施するための最良の形態】
【0031】
図1は、本発明の実施の形態におけるCDR回路が適用されるシステムの一例を示す図である。このシステムは、半導体回路装置100が有損失伝送路300を介して半導体回路装置200からデータを受信するシステムである。半導体回路装置100は、CDR回路1と、有損失伝送路300を介して受信データ信号を受ける受信回路2と、CDR回路1からのRecovered CLOCK信号に同期してデータを出力するフリップフロップ回路3と、CDR回路1に与える周波数AのCLOCK信号を発生させる第1のクロック発生回路4とを含む。
【0032】
また、半導体回路装置200は、有損失伝送路300を介して送信データ信号を送る送信回路5と、CLOCK信号に同期してデータを送信回路5へ出力するフリップフロップ回路6と、フリップフロップ回路6に与える周波数BのCLOCK信号を発生させる第2のクロック発生回路7とを含む。
【0033】
このシステムにおいては、半導体回路装置100で用いられるCLOCK信号の周波数Aと、半導体回路装置200で用いられるCLOCK信号の周波数Bとが異なるため、CDR回路1は周波数AのCLOCK信号からデータ信号に同期したRecovered CLOCK信号を生成してフリップフロップ回路3に与える必要がある。
【0034】
(第1の実施の形態)
図2は、本発明の第1の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、制御コードによって遅延量を変えることができる可変遅延回路(VDL)11と、CLOCKの1周期を検出する回路(Edge Detector)12と、VDL11に与える制御コードを決定する回路(CODE Operator)13と、データとクロックとの位相を比較して補正する信号を出力する位相比較回路(PD)14とを含む。
【0035】
また、CODE Operator13は、PD14から出力される信号を受けてクロックの平均的な進み(遅れ)を判断するカウンタ回路(N回Counter)21と、N回Counter21からの出力信号を受けて加算/減算する制御コードを決定する+1/−1 Increment回路22と、制御コードを算出する加算器(ADD)23と、ADD23からの出力信号をシフトするシフトレジスタ(SFR A)24と、+1/−1 Increment回路22からの制御コードをシフトするシフトレジスタ(SFR B、SFR C)25および26と、制御コードの上限値が格納されるレジスタ(Register(H))27と、制御コードの下限値が格納されるレジスタ(Register(L))28と、制御コードがRegister(H)27に格納される制御コードの上限値またはRegister(L)28に格納される制御コードの下限値であることを検出するMIN/MAX Detector29と、SFR A24、SFR B25およびSFR C26から出力される制御コードをデコードするDecoder30とを含む。
【0036】
CDRMODEは、CDR回路1の動作状態を切替えるための入力ピンであり、CDRMODEがHレベル(以下、単に“H”と記す。)のときにCDR回路1はCLOCKの1周期分に相当する制御コードの検出と格納とを行ない、CDRMODEがLレベル(以下、単に“L”と記す。)のときにCDR回路1はDATAとCLOCKとの同期を行なう。
【0037】
DATAは、受信回路2からのデータが入力される入力ピンである。また、CLOCKは、第1のクロック発生回路4からのクロックが入力される入力ピンである。VDL11からのVDL出力(Recovered CLOCK)は、フリップフロップ回路3のクロック端子に接続される。フリップフロップ回路3は、受信回路2からのデータをRecovered CLOCKに同期させ、出力ピンであるRecovered DATAを介して出力する。
【0038】
PD14は、DATAとVDL出力との位相を比較し、位相差を補正するための信号を出力する。N回Counter21は、PD14から出力される信号を受けてカウントし、N回ごとにVDL出力の位相が平均的に進んでいるか、遅れているかを判定する。すなわち、VDL出力の位相の方が遅れている場合にはN回Counter21はカウント値をデクリメントし、VDL出力の位相の方が進んでいる場合にはN回Counter21はカウント値をインクリメントする。
【0039】
+1/−1 Increment回路22は、N回Counter21のカウント値がm(m<<N)よりも大きければ、VDL11を制御するための制御コード(VDL_TAP/VDL_PI)を1だけインクリメントする信号をADD23に出力する。また、N回Counter21のカウント値が−mよりも小さければ、VDL11を制御するための制御コードを1だけデクリメントする信号をADD23に出力する。なお、VDL_TAPおよびVLD_PIは、後述するようにVDL11内のTAP LineおよびPI Lineを制御するための制御コードである。
【0040】
また、+1/−1 Increment回路22は、VDL CODE_HのインクリメントおよびVDL CODE_Lのデクリメントを行ない、その結果をそれぞれSFR B25およびSFR C26に出力する。
【0041】
MIN/MAX Detector29は、ADD23によって算出された制御コード(VDL_TAP/VDL_PI)をSFR A24を介して受け、制御コードがRegister(H)27に格納される上限値またはRegister(L)28に格納される下限値であることを検出すると、その検出信号をADD23に出力する。なお、MIN/MAX Detector29は、N回Counter21によるN回のカウントが完了する毎に判定を行なう。
【0042】
ADD23は、SRF A24から出力される制御コードに+1/−1 Increment回路22から出力される制御コードを加算すると共に、MIN/MAX Detector29から検出信号を受けると、制御コードに対してCLOCKの1周期分のコードの加算/減算を行なう。
【0043】
Edge Detector12によってCLOCKの1周期が検出されると、Register(H)27およびRegister(L)28はそれぞれEdge Detector出力を受け、SFR B25およびSFR C26を介してVDL CODE_Hの上限値およびVDL CODE_Lの下限値を格納する。
【0044】
図3は、本発明の第1の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。このフローチャートにおいては、ステップS11〜S18がCLOCKの1周期分の制御コードの検出と格納を行なう処理(CDRMODE=“H”)であり、ステップS20〜S29がDATAとCLOCKとの同期を行なう処理(CDRMODE=“L”)である。
【0045】
まず、CDRMODEに“H”を設定し、Edge Detector12の出力を“L”にする。そして、+1/−1 Increment回路22内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S11)。
【0046】
次に、+1/−1 Increment回路22はVDL CODE_Lの値を1だけ減らし(S12)、Edge Detector12の出力が“H”になったか否かを判定する(S13)。Edge Detector12の出力が“L”のままであれば(S13,“L”のまま)、VDL CODE_Lの値が最小値であるか否かを判定する(S14)。VDL CODE_Lの値が最小値でなければ(S14,No)、ステップS12に戻って以降の処理を繰返す。
【0047】
また、VDL CODE_Lの値が最小値であれば(S14,Yes)、+1/−1 Incremet回路22はVDL CODE_Hの値を1だけ増やし(S15)、Edge Detector12の出力が“H”になったか否かを判定する(S16)。Edge Detector12の出力が“L”のままであれば(S16,“L”のまま)、VDL CODE_Hの値が最大値であるか否かを判定する(S17)。VDL CODE_Hの値が最大値でなければ(S17,No)、ステップS15に戻って以降の処理を繰返す。
【0048】
VDL CODE_Hの値が最大値であれば(S17,Yes)、CLOCKの1周期分の制御コードが見つからなかったとして、エラーを出力して処理を終了する。
【0049】
ステップS13またはS16において、Edge Detector12の出力が“H”となれば、CLOCKの1周期分の制御コードが見つかったので、そのときのVDL CODE_Hの値およびVDL CODE_Lの値をそれぞれ、Register(H)27およびRegister(L)28に格納する(S18)。
【0050】
次に、CDRMODEに“L”を設定し(S19)、PD14はDATAとVDL出力との位相を比較する(S20)。N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S21,<−m)、MIN/MAX Detector29は、ADD23によって算出されたVDL_TAP/VDL_PIの値がRegister(L)28に格納されたVDL CODE_Lの値を超えたか否かを判定する(S22)。
【0051】
VDL CODE_Lの値を超えていれば(S22,Yes)、ADD23はVDL_TAP/VDL_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理(CODE JUMP)を行ない(S23)、ステップS20に戻って以降の処理を繰返す。
【0052】
また、VDL CODE_Lの値を超えていなければ(S22,No)、VDL_TAP/VDL_PIの値を1だけ減らし(S24)、ステップS20に戻って以降の処理を繰返す。
【0053】
ステップS21において、カウント値が+mよりも大きければ(S21,>+m)、MIN/MAX Detector29は、ADD23によって算出されたVDL_TAP/VDL_PIの値がRegister(H)27に格納されたVDL CODE_Hの値を超えたか否かを判定する(S25)。
【0054】
VDL CODE_Hの値を超えていれば(S25,Yes)、ADD23はVDL_TAP/VDL_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理(CODE JUMP)を行ない(S26)、ステップS20に戻って以降の処理を繰返す。
【0055】
また、VDL CODE_Hの値を超えていなければ(S25,No)、VDL_TAP/VDL_PIの値を1だけ増やし(S27)、ステップS20に戻って以降の処理を繰返す。
【0056】
また、ステップS21において、カウント値が−m〜+mの範囲内であれば、DATAとCLOCKとの周波数には差がないと判断し、VDL_TAP/VDL_PIの値を変えずに(S28)、DATAとVDL出力との位相が一致しているとして(S29)、処理を終了する。
【0057】
図4は、図3のフローチャートに示す処理によって、VDL11がどのように可変遅延時間以上のデータに追従するかを説明するための図である。図4(a)は、DATAとVDL出力との位相を比較した結果、カウント値が連続して−mよりも小さくなる場合を示している。この状態では、やがてVDL_TAP/VDL_PIの値がVDL CODE_Lに至るので、(VDL CODE_H)−(VDL CODE_L)−1を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【0058】
図4(b)は、DATAとVDL出力との位相を比較した結果、カウント値が連続して+mよりも大きくなる場合を示している。この状態では、やがてVDL_TAP/VDL_PIの値がVDL CODE_Hに至るので、(VDL CODE_H)−(VDL CODE_L)+1を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【0059】
この動作(CODE JUMP)によって、DATAとCLOCKとの周波数に差がある場合でも、位相の連続性を保ちながらDATAとCLOCKとの同期を実現することが可能となる。
【0060】
以上説明したように、本実施の形態におけるCDR回路1によれば、MIN/MAX Detector29によって制御コードが下限値または上限値を超えたときに、ADD23が制御コードにCLOCKの1周期分の制御コードを加算/減算するようにしたので、DATAとCLOCKとの周波数に差がある場合でも、同一のクロック位相を与えながらDATAとCLOCKとの同期をとることが可能となった。
【0061】
また、2相の内部クロックを発生させる必要がないため、簡単な回路構成でCDR回路を構成することが可能となった。また、貫通電流パスを持った8位相クロック分割器が不要となった。
【0062】
(第2の実施の形態)
図5は、本発明の第2の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、図2に示す第1の実施の形態におけるCDR回路と比較して、VDL11がVDL A15およびVDL B16に置換され、+1/−1 Increment回路22が+1/−1 Increment A回路33および+1/−1 Increment B回路34に置換され、Decoder30がDecoder A31およびDecoder B32に置換されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0063】
+1/−1 Increment A回路33は、N回Counter21のカウント値がm(m<<N)よりも大きければ、VDL A15を制御するための制御コード(VDL_TAP/VDL_PI)を1だけインクリメントする信号をADD23に出力する。また、N回Counter21のカウント値が−mよりも小さければ、VDL A15を制御するための制御コードを1だけデクリメントする信号をADD23に出力する。
【0064】
+1/−1 Increment B回路34は、Edge Detector12からのEdge Detector出力を受け、VDL CODE_HのインクリメントおよびVDL CODE_Lのデクリメントを行ない、その結果をそれぞれSFR B25およびSFR C26に出力する。
【0065】
Decoder A31は、SFR A24から出力される制御コード(VDL_TAP/VDL_PI)をデコードすることによって、VDL_TAP信号およびVDL_PI信号を生成してVDL A15に出力する。
【0066】
Decoder B32は、SFR B25およびSFR C26から出力されるVDL CODE_HおよびVDL CODE_Lをデコードし、そのデコード結果をVDL B16に出力する。
【0067】
VDL A15は、VDL_TAPおよびVDL_PIを受け、VDL出力の遅延を制御する。VDL B16は、VDL CODE_HおよびVDL CODE_Lを受け、CLOCKの1周期分の制御コードの生成を制御する。
【0068】
本実施の形態においては、CDRMODEが使用されておらず、Edge Detector12は、常時CLOCKの1周期の検出を行なう。したがって、Register(H)27およびRegister(L)28に格納されるVDL CODE_Hの上限値およびVDL CODE_Lの下限値は適宜更新される。
【0069】
図6は、本発明の第2の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。このフローチャートにおいては、CLOCKの1周期分の制御コードの検出および格納を行なう処理と、DATAおよびCLOCKの同期を行なう処理とが並行して行なわれる。
【0070】
まず、Edge Detector12の出力を“L”にし(S31)、+1/−1 Increment B回路34内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S32)。そして、図3に示すフローチャートのステップS12〜S18と同様の処理を行なう。このとき、Edge Detector12の出力が“H”のままであれば(S33,“H”のまま)、ステップS18の処理を繰返す。また、Edge Detector12の出力が“L”に変われば(S33,“L”に変わる)、ステップS32に戻って以降の処理を繰返す。
【0071】
一方、これらの処理と並行して、図3に示すステップS20〜S29の処理が行なわれる。なお、ステップS23およびS26において使用されるVDL CODE_HおよびVDL CODE_Lの値は、ステップS18において適宜更新される値である。
【0072】
以上説明したように、本実施の形態におけるCDR回路1によれば、CLOCKの1周期分の制御コードの検出処理と、DATAとCLOCKとの同期をとる処理とを並行して行なうようにしたので、第1の実施の形態において説明した効果に加えて、プロセス、電源電圧、温度などの変動によって、動作中のCLOCKの1周期分に相当する制御コードが変化する場合でも、位相の連続性を保ちながらDATAとCLOCKとの同期を実現することが可能となった。
【0073】
(第3の実施の形態)
図7は、本発明の第3の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、図5に示す第2の実施の形態におけるCDR回路と比較して、Register(H)27およびRegister(L)28がRegister A(H)35およびRegister A(L)36に置換され、Register B(H)37と、Register B(L)38と、Compare(H)回路39と、Compare(L)回路40と、PASS/FAIL Detector41と、Test Circuit42と、セレクタ51〜58とが追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0074】
Register A(H)35およびRegister A(L)36は、VDL B16を使用したときの制御コードの上限値および下限値を格納する。また、Register B(H)37およびRegister B(L)38は、VDL A15を使用したときの制御コードの上限値および下限値を格納する。
【0075】
Compare(H)回路39は、Register A(H)35およびRegister B(H)37に格納される制御コードの上限値を比較する。また、Compare(L)回路40は、Register A(L)36およびRegister B(L)38に格納される制御コードの下限値を比較する。
【0076】
PASS/FAIL Detector41は、Compare(H)39の比較結果と、Compare(L)40の比較結果とが共に一致する場合に、CDR回路1の動作を続行する。また、Compare(H)39の比較結果と、Compare(L)40の比較結果とのいずれか、または両方が不一致の場合に、ERROR信号を出力してCDR回路1の動作を停止させる。
【0077】
Test Circuit42は、SEL_VDL信号によってセレクタ51〜58の出力を切替える。SEL_VDL信号が“L”の場合は、VDL A15にDATAとCLOCKとの同期を行なわせ、VDL B16にCLOCKの1周期分の制御コードの検出と格納とを行なわせる。また、SEL_VDL信号が“H”の場合は、VDL A15にCLOCKの1周期分の制御コードの検出と格納とを行なわせる。なお、PASS/FAIL Detector41によってエラーが検出された場合、+1/−1 Increment B回路34へのEdge Detector出力を停止して、CDR回路1の動作を停止させる。
【0078】
図8は、本発明の第3の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。まず、Test Circuit42はSEL_VDL信号に“L”を設定し、Edge Detector12の出力を“L”にする。そして、+1/−1 Increment B回路34内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S41)。
【0079】
次に、図3に示すフローチャートのステップS12〜S17と同様の処理を行ない、CLOCKの1周期分の制御コードを検出して、そのときのVDL CODE_Hの値およびVDL CODE_Lの値をそれぞれ、Register A(H)35およびRegister A(L)36に格納する(S42)。
【0080】
次に、Test Circuit42はSEL_VDL信号に“H”を設定し、Edge Detector12の出力を“L”にする。そして、+1/−1 Increment B回路34内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S43)。
【0081】
次に、図3に示すフローチャートのステップS12〜S17と同様の処理を行ない、CLOCKの1周期分の制御コードを検出して、そのときのVDL CODE_Hの値およびVDL CODE_Lの値をそれぞれ、Register B(H)37およびRegister B(L)38に格納する(S44)。
【0082】
次に、Register A(H)35の値とRegister B(H)37の値とを比較し、Register A(L)36の値とRegister B(L)38の値とを比較する。比較結果のいずれか、または両方が不一致であれば(S45,違う)、ERROR信号を出力して処理を終了する。
【0083】
また、比較結果がいずれも一致すれば(S45,同じ)、Test Circuit42はSEL_VDL信号を“L”にし(S46)、Edge Detector12の出力を“L”にし(S31)、+1/−1 Increment B回路34内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S32)。そして、図3に示すフローチャートのステップS12〜S17と同様の処理を行ない、CLOCKの1周期分の制御コードを検出して、そのときのVDL CODE_Hの値およびVDL CODE_Lの値をそれぞれ、Register A(H)35およびRegister A(L)36に格納する(S47)。このとき、Edge Detector12の出力が“H”のままであれば(S33,“H”のまま)、ステップS47の処理を繰返す。また、Edge Detector12の出力が“L”に変われば(S33,“L”に変わる)、ステップS32に戻って以降の処理を繰返す。
【0084】
一方、これらの処理と並行して、図3に示すステップS20〜S29の処理が行なわれる。なお、ステップS23およびS26において使用されるVDL CODE_HおよびVDL CODE_Lの値は、ステップS47において適宜更新される値である。
【0085】
以上説明したように、本実施の形態におけるCDR回路1によれば、VDL A15およぼVDL B16を使用してCLOCKの1周期分の制御コードをそれぞれ検出し、一致することを確認してからCDR回路1を動作させるようにしたので、CLOCKの1周期分の制御コードを検出するVDL B16の特性と、DATAとCLOCKとの同期をとるVDL A15の特性とが同じであることを保証することができ、位相の連続性を保ちながらDATAとCLOCKとの同期をより正確に実現することが可能となった。
【0086】
(第4の実施の形態)
図9は、本発明の第4の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、図5に示す第2の実施の形態におけるCDR回路と比較して、ADD23がADD A61およびADD B62に置換され、Decoder B32がDecoder30に置換され、セレクタ63〜66、SFR D67、AND回路68およびバッファ69が追加された点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0087】
AND回路68は、N回Counter21からN回Counter21が動作中に“H”となる信号と、Edge Detector出力とを受ける。したがって、Edge Detector出力が変化するときに、バッファ69の出力であるSEL_VDLが変化する。
【0088】
SEL_VDLが“L”のとき、VDL A15からのVDL出力がPD14に与えられ、MIN/MAX Detector29の検出結果がADD B62に与えられる。したがって、VDL A15がDATAとCLOCKとの同期を行なう。
【0089】
また、SEL_VDLが“H”のとき、VDL B16からのVDL出力がPD14に与えられ、MIN/MAX Detector29の検出結果がADD A61に与えられる。したがって、VDL B16がDATAとCLOCKとの同期を行なう。
【0090】
図10は、本発明の第4の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。まず、Edge Detector12の出力を“L”にし、+1/−1 Increment B回路34内のVDL CODE_HおよびVDL CODE_Lを初期値にする(S51)。そして、図3に示すフローチャートのステップS12〜S18と同様の処理を行なう。
【0091】
次に、Edge Detector12の出力を“L”にしてSEL_VDLを“L”にし(S52)、PD14がDATAとVDL出力との位相を比較する(S53)。N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S54,<−m)、MIN/MAX Detector29は、ADD A61によって算出されたVDL A_TAP/VDL A_PIの値がRegister(L)28に格納されたVDL CODE_Lの値を超えたか否かを判定する(S55)。
【0092】
VDL CODE_Lの値を超えていれば(S55,Yes)、ADD B62はVDL B_TAP/VDL B_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理を行ない(S56)、SEL_VDLを“H”にする(S57)。そして、ADD A61はVDL A_TAP/VDL A_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理を行ない(S58)、ステップS66に処理が進む。
【0093】
また、VDL CODE_Lの値を超えていなければ(S55,No)、VDL A_TAP/VDL A_PIの値を1だけ減らし、VDL B_TAP/VDL B_PIの値を1だけ減らし(S59)、ステップS53に戻って以降の処理を繰返す。
【0094】
ステップS54において、カウント値が+mよりも大きければ(S54,>+m)、MIN/MAX Detector29は、ADD A61によって算出されたVDL A_TAP/VDL A_PIの値がRegister(H)27に格納されたVDL CODE_Hの値を超えたか否かを判定する(S60)。
【0095】
VDL CODE_Hの値を超えていれば(S60,Yes)、ADD B62はVDL B_TAP/VDL B_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理を行ない(S61)、SEL_VDLを“H”にする(S62)。そして、ADD A61はVDL A_TAP/VDL A_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理を行ない(S63)、ステップS66に処理が進む。
【0096】
また、VDL CODE_Hの値を超えていなければ(S60,No)、VDL A_TAP/VDL A_PIの値を1だけ増やし、VDL B_TAP/VDL B_PIの値を1だけ増やし(S64)、ステップS53に戻って以降の処理を繰返す。
【0097】
また、ステップS54において、カウント値が−m〜+mの範囲内であれば、DATAとCLOCKとの周波数には差がないと判断し、VDL_TAP/VDL_PIの値を変えずに(S65)、DATAとVDL出力との位相が一致しているとして(S79)、処理を終了する。
【0098】
ステップS66において、PD14がDATAとVDL出力との位相を比較する。N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S67,<−m)、MIN/MAX Detector29は、ADD B62によって算出されたVDL B_TAP/VDL B_PIの値がRegister(L)28に格納されたVDL CODE_Lの値を超えたか否かを判定する(S68)。
【0099】
VDL CODE_Lの値を超えていれば(S68,Yes)、ADD A61はVDL A_TAP/VDL A_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理を行ない(S69)、SEL_VDLを“L”にする(S70)。そして、ADD B62はVDL B_TAP/VDL B_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理を行ない(S71)、ステップS53に戻って以降の処理を繰返す。
【0100】
また、VDL CODE_Lの値を超えていなければ(S68,No)、VDL A_TAP/VDL A_PIの値を1だけ減らし、VDL B_TAP/VDL B_PIの値を1だけ減らし(S72)、ステップS66に戻って以降の処理を繰返す。
【0101】
ステップS67において、カウント値が+mよりも大きければ(S67,>+m)、MIN/MAX Detector29は、ADD B62によって算出されたVDL B_TAP/VDL B_PIの値がRegister(H)27に格納されたVDL CODE_Hの値を超えたか否かを判定する(S73)。
【0102】
VDL CODE_Hの値を超えていれば(S73,Yes)、ADD A61はVDL A_TAP/VDL A_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理を行ない(S74)、SEL_VDLを“L”にする(S75)。そして、ADD B62はVDL B_TAP/VDL B_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理を行ない(S76)、ステップS53に戻って以降の処理を繰返す。
【0103】
また、VDL CODE_Hの値を超えていなければ(S73,No)、VDL A_TAP/VDL A_PIの値を1だけ増やし、VDL B_TAP/VDL B_PIの値を1だけ増やし(S77)、ステップS66に戻って以降の処理を繰返す。
【0104】
また、ステップS67において、カウント値が−m〜+mの範囲内であれば、DATAとCLOCKとの周波数には差がないと判断し、VDL_TAP/VDL_PIの値を変えずに(S78)、DATAとVDL出力との位相が一致しているとして(S79)、処理を終了する。
【0105】
図11は、図10のフローチャートに示す処理によって、VDL A15およびVDL B16がどのように可変遅延時間以上のデータに追従するかを説明するための図である。図11(a)は、DATAとVDL出力との位相を比較した結果、カウント値が連続して−mよりも小さくなる場合を示している。図11(a)の上図においては、VDL A15がDATAとCLOCKとの同期をとっており、やがてVDL A_TAP/VDL A_PIの値がVDL CODE_Lに至る。このとき、図11(a)の下図に示すようにVDL B_TAP/VDL B_PIの値に(VDL CODE_H)−(VDL CODE_L)−1を加算させた後にVDL B16に動作を切替えてDATAとCLOCKとの同期をとらせると共に、VDL A_TAP/VDL A_PIの値に(VDL CODE_H)−(VDL CODE_L)−1を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【0106】
また、図11(a)の下図に示すように、VDL B16がDATAとCLOCKとの同期をとっており、やがてVDL B_TAP/VDL B_PIの値がVDL CODE_Lに至った場合には、図11(a)の上図に示すようにVDL A_TAP/VDL A_PIの値に(VDL CODE_H)−(VDL CODE_L)−1を加算させた後にVDL A15に動作を切替えてDATAとCLOCKとの同期をとらせると共に、VDL B_TAP/VDL B_PIの値に(VDL CODE_H)−(VDL CODE_L)−1を加算させて、同一のクロック位相を与えながら一度に遅延を増加させる。
【0107】
図11(b)は、DATAとVDL出力との位相を比較した結果、カウント値が連続して+mよりも大きくなる場合を示している。図11(b)の上図においては、VDL A15がDATAとCLOCKとの同期をとっており、やがてVDL A_TAP/VDL A_PIの値がVDL CODE_Hに至る。このとき、図11(b)の下図に示すようにVDL B_TAP/VDL B_PIの値から(VDL CODE_H)−(VDL CODE_L)+1を減算した後にVDL B16に動作を切替えてDATAとCLOCKとの同期をとらせると共に、VDL A_TAP/VDL A_PIの値から(VDL CODE_H)−(VDL CODE_L)+1を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【0108】
また、図11(b)の下図に示すように、VDL B16がDATAとCLOCKとの同期をとっており、やがてVDL B_TAP/VDL B_PIの値がVDL CODE_Hに至った場合には、図11(b)の上図に示すようにVDL A_TAP/VDL A_PIの値から(VDL CODE_H)−(VDL CODE_L)+1を減算した後にVDL A15に動作を切替えてDATAとCLOCKとの同期をとらせると共に、VDL B_TAP/VDL B_PIの値から(VDL CODE_H)−(VDL CODE_L)+1を減算して、同一のクロック位相を与えながら一度に遅延を減少させる。
【0109】
この動作(CODE JUMP)によって、DATAとCLOCKとの周波数に差がある場合でも、位相の連続性を保ちながらDATAとCLOCKとの同期を実現することが可能となる。
【0110】
以上説明したように、本実施の形態におけるCDR回路1によれば、VDL_TAP/VDL_PIの値が下限値または上限値に至ったときに、VDLを切替えてDATAとCLOCKとの同期をとらせるようにしたので、CLOCKの1周期分の制御コードの加算または減算に時間を要する場合でも、位相の連続性を保つことが可能となった。
【0111】
(第5の実施の形態)
図12は、本発明の第5の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、図2に示す第1の実施の形態におけるCDR回路と比較して、ヒステリシス制御コードを決定するHysteresis CODE SET回路71が追加され、MIN/MAX Detector72の機能が異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0112】
MIN/MAX Detector72は、ADD23によって算出された制御コード(VDL_TAP/VDL_PI)をSFR A24を介して受け、制御コードがRegister(H)27に格納される上限値またはRegister(L)28に格納される下限値であることを検出する際、Hysteresis CODE SET回路71から出力されるHYS信号を加味する。すなわち、制御コードの下限値を(VDL CODE_L)−(HYS)とし、制御コードの上限値を(VDL CODE_H)+(HYS)として、制御コード(VDL_TAP/VDL_PI)との比較を行なう。
【0113】
図13は、本発明の第5の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。まず、図3に示すフローチャートのステップS11〜S21と同様の処理を行なう。N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S21,<−m)、MIN/MAX Detector72は、ADD23によって算出されたVDL_TAP/VDL_PIの値が(VDL CODE_L)−(HYS)の値を超えたか否かを判定する(S81)。
【0114】
(VDL CODE_L)−(HYS)の値を超えていれば(S81,Yes)、ADD23はVDL_TAP/VDL_PIの値を(VDL CODE_H)−(VDL CODE_L)−1だけ増やす処理(CODE JUMP)を行ない(S23)、ステップS20に戻って以降の処理を繰返す。
【0115】
また、(VDL CODE_L)−(HYS)の値を超えていなければ(S81,No)、VDL_TAP/VDL_PIの値を1だけ減らし(S24)、ステップS20に戻って以降の処理を繰返す。
【0116】
ステップS21において、カウント値が+mよりも大きければ(S21,>+m)、MIN/MAX Detector72は、ADD23によって算出されたVDL_TAP/VDL_PIの値が(VDL CODE_H)+(HYS)の値を超えたか否かを判定する(S82)。
【0117】
(VDL CODE_H)+(HYS)の値を超えていれば(S82,Yes)、ADD23はVDL_TAP/VDL_PIの値を(VDL CODE_H)−(VDL CODE_L)+1だけ減らす処理(CODE JUMP)を行ない(S26)、ステップS20に戻って以降の処理を繰返す。
【0118】
また、(VDL CODE_H)+(HYS)の値を超えていなければ(S82,No)、VDL_TAP/VDL_PIの値を1だけ増やし(S27)、ステップS20に戻って以降の処理を繰返す。
【0119】
また、ステップS21において、カウント値が−m〜+mの範囲内であれば、DATAとCLOCKとの周波数には差がないと判断し、VDL_TAP/VDL_PIの値を変えずに(S28)、DATAとVDL出力との位相が一致しているとして(S29)、処理を終了する。
【0120】
図14は、第1の実施の形態におけるVDL11の制御コードの遷移と、第5の実施の形態におけるVDL11の制御コードの遷移との比較を示す図である。図14(a)は、第1の実施の形態の場合を示しており、制御コードがVDL CODE_Lの近辺で位相が同期する場合には、CODE JUMPが発生して制御コードに(VDL CODE_H)−(VDL CODE_L)−1を加算した後、制御コードがインクリメントされると、再度CODE JUMPが発生して、CODE JUMPが頻繁に繰返されるようになる。
【0121】
図14(b)は、第5の実施の形態の場合を示しており、制御コードがVDL CODE_Lの近辺で位相が同期する場合でも、(VDL CODE_L)−(HYS)を下限値とすることによって、CODE JUMPが発生するのを防止することができる。
【0122】
以上説明したように、本実施の形態におけるCDR回路1によれば、MIN/MAX Detector72が制御コードと下限値または上限値とを比較する際に、ヒステリシスを考慮するようにしたので、下限値または上限値近辺で位相が同期した場合でも、CODE JUMPが頻繁に発生するのを防止することが可能となった。
【0123】
(第6の実施の形態)
図15は、本発明の第6の実施の形態におけるCDR回路の内部構成を示すブロック図である。このCDR回路は、図12に示す第5の実施の形態におけるCDR回路と比較して、ADD23がADD D81に置換され、ADD HYS82が追加され、Hysteresis CODE SET回路71からのHYS信号がADD D81およびADD HYS82に与えられる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、動作原理は、第5の実施の形態において説明したものと同様である。
【0124】
ADD HYS82は、Register(H)27に格納される上限値にHYSの値を加算し、Register(L)28に格納される下限値にHYSの値を減算してMIN/MAX Detector29に出力する。
【0125】
ADD D81は、CLOCKの1周期分の制御コードを加算または減算するときに、HYSの値を加減算する。
【0126】
図16は、本発明の第6の実施の形態におけるCDR回路の処理手順を説明するためのフローチャートである。まず、図3に示すフローチャートのステップS11〜S18と同様の処理を行なう。ADD HYS82は、VDL CODE_Hの値をHYSの値だけ増やし、VDL CODE_Lの値をHYSの値だけ減らす(S91)。
【0127】
次に、CDRMODEに“L”を設定し(S19)、PD14はDATAとVDL出力との位相を比較する(S20)。N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S21,<−m)、MIN/MAX Detector29は、ADD D81によって算出されたVDL_TAP/VDL_PIの値が(VDL CODE_L)−(HYS)の値を超えたか否かを判定する(S81)。
【0128】
(VDL CODE_L)−(HYS)の値を超えていれば(S81,Yes)、ADD23はVDL_TAP/VDL_PIの値を{(VDL CODE_H)+(HYS)}−{(VDL CODE_L)−(HYS)}−1−2×(HYS)だけ増やす処理(CODE JUMP)を行ない(S92)、ステップS20に戻って以降の処理を繰返す。
【0129】
また、(VDL CODE_L)−(HYS)の値を超えていなければ(S81,No)、VDL_TAP/VDL_PIの値を1だけ減らし(S24)、ステップS20に戻って以降の処理を繰返す。
【0130】
ステップS21において、カウント値が+mよりも大きければ(S21,>+m)、MIN/MAX Detector29は、ADD D81によって算出されたVDL_TAP/VDL_PIの値が(VDL CODE_H)+(HYS)の値を超えたか否かを判定する(S82)。
【0131】
(VDL CODE_H)+(HYS)の値を超えていれば(S82,Yes)、ADD23はVDL_TAP/VDL_PIの値を{(VDL CODE_H)+(HYS)}−{(VDL CODE_L)−(HYS)}+1−2×(HYS)だけ減らす処理(CODE JUMP)を行ない(S93)、ステップS20に戻って以降の処理を繰返す。
【0132】
また、(VDL CODE_H)+(HYS)の値を超えていなければ(S82,No)、VDL_TAP/VDL_PIの値を1だけ増やし(S27)、ステップS20に戻って以降の処理を繰返す。
【0133】
また、ステップS21において、カウント値が−m〜+mの範囲内であれば、DATAとCLOCKとの周波数には差がないと判断し、VDL_TAP/VDL_PIの値を変えずに(S28)、DATAとVDL出力との位相が一致しているとして(S29)、処理を終了する。
【0134】
以上説明したように、本実施の形態におけるCDR回路によれば、ADD HYS82が上限値にHYSの値を加算し、下限値にHYSの値を減算し、ADD D81がCLOCKの1周期分の制御コードを加算または減算するときに、HYSの値を加減算するようにしたので、第5の実施の形態において説明した効果と同様の効果を奏することが可能となった。また、第5の実施の形態と比較して、MIN/MAX Detector29の回路構成を簡単にすることが可能となった。
【0135】
(第7の実施の形態)
図17は、本発明の第7の実施の形態におけるVDLの内部構成を示すブロック図である。このVDLは、Delay Line110と、TAP Line120と、PI Line130と、バッファ140とを含む。
【0136】
Delay Line110は、Delay Unit(2N+1)個が直列に接続された構成を有している。図17においては、N=8であり、4Nがコード数に相当する。
【0137】
TAP Line120は、Delay Line110からの出力を選択するための4つのセレクタ121〜124によって構成され、各セレクタの入力の番号は何番目のDelay Unitの出力が接続されるかを示している。セレクタ121には、N番目までの偶数番のDelay Unitの出力が接続される。セレクタ122には、N番目までの奇数番のDelay Unitの出力が接続される。セレクタ123には、N+1〜2N番目までの偶数番のDelay Unitの出力が接続される。セレクタ124には、N+1〜2N番目までの奇数番のDelay Unitの出力が接続される。セレクタ121〜124による選択は、制御信号VDL_TAP(TAP<0:15>)によって行なわれる。
【0138】
PI Line130は、位相補間器PI131〜134によって構成される。制御コードが偶数のときは1つの位相補間器PIのみが導通状態(以下、100%と記す。)となる。制御コードが奇数のときは位相補間器PI131および132、または133および134のいずれか2つが導通状態となる。これによって、それぞれの入力の中間位相(以下、50%と記す。)が出力される。位相補間器PIの補間の割合は制御信号VDL_PI(PI100%/50%)によって行なわれる。
【0139】
図18は、制御コードの数値と制御信号TAP<0:15>およびPI100%/50%との関係を示す図である。図18の左半分(制御コード0〜15)は、図17に示すDelay Line110のL側コード(上半分を選択する制御コード)を示している。また、図18の右半分(制御コード16から31)は、図17に示すDelay Line110のH側コード(下半分を選択する制御コード)を示している。
【0140】
図17に示すように、Delay LineのN番目において、Delay Unit、セレクタ、位相補間器PIが同数ずつ接続されるので、各Delay UnitからVDLの出力OUTまでの伝播経路上の負荷容量を容易に合わせることができ、VDLの制御コードに対する遅延変化量を同じにすることが容易に行なえる。
【0141】
図19は、本発明の第7の実施の形態におけるCDR回路のコード切替えの処理手順を説明するためのフローチャートである。まず、N回Counter21は、PD14による位相の比較結果をN回カウントし、そのカウント値が−mよりも小さければ(S101,<−m)、MIN/MAX Detector29は、ADD23によって算出されたVDL_TAP/VDL_PIの値がVDL CODE_Lの値を超えたか否かを判定する(S102)。VDL CODE_Lの値を超えていれば(S102,Yes)、ADD23は上述したCODE JUMPを行なう。
【0142】
また、VDL CODE_Lの値を超えていなければ(S102,No)、切替え前のコードと、切替え後のコードとを判定する(S103)。切替え前のコードが4n(n=1〜7)であり、切替え後のコードが4n−1(n=1〜7)の場合、ダウン前のTAP(奇)をONからOFFに切替え、ダウン後のTAP(奇)をOFFからONに切替える(S104)。そして、PI(偶)の出力電流値を100%から50%に切替え、PI(奇)の出力電流値を0%から50%に切替え(S105)、処理を終了する。
【0143】
切替え前のコードが4n−1(n=1〜7)であり、切替え後のコードが4n−2(n=1〜7)の場合、PI(偶)の出力電流値を50%から0%に切替え、PI(奇)の出力電流値を50%から100%に切替え(S106)、処理を終了する。
【0144】
切替え前のコードが4n−2(n=1〜8)であり、切替え後のコードが4n−3(n=1〜8)の場合、ダウン前のTAP(偶)をONからOFFに切替え、ダウン後のTAP(偶)をOFFからONに切替える(S107)。そして、PI(偶)の出力電流値を0%から50%に切替え、PI(奇)の出力電流値を100%から50%に切替え(S108)、処理を終了する。
【0145】
切替え前のコードが4n−3(n=1〜8)であり、切替え後のコードが4n−4(n=1〜8)の場合、PI(偶)の出力電流値を50%から100%に切替え、PI(奇)の出力電流値を50%から0%に切替え(S109)、処理を終了する。
【0146】
カウント値が+mよりも大きければ(S101,>+m)、MIN/MAX Detector29は、ADD23によって算出されたVDL_TAP/VDL_PIの値がVDL CODE_Hの値を超えたか否かを判定する(S110)。VDL CODE_Hの値を超えていれば(S110,Yes)、ADD23は上述したCODE JUMPを行なう。
【0147】
また、VDL CODE_Hの値を超えていなければ(S110,No)、切替え前のコードと、切替え後のコードとを判定する(S111)。切替え前のコードが4n(n=0〜7)であり、切替え後のコードが4n+1(n=0〜7)の場合、PI(偶)の出力電流値を100%から50%に切替え、PI(奇)の出力電流値を0%から50%に切替え(S112)、処理を終了する。
【0148】
切替え前のコードが4n+1(n=0〜7)であり、切替え後のコードが4n+2(n=0〜7)の場合、PI(偶)の出力電流値を50%から0%に切替え、PI(奇)の出力電流値を50%から100%に切替える(S113)。そして、アップ前のTAP(偶)をONからOFFに切替え、アップ後のTAP(偶)をOFFからONに切替え(S114)、処理を終了する。
【0149】
切替え前のコードが4n+2(n=0〜6)であり、切替え後のコードが4n+3(n=0〜6)の場合、PI(偶)の出力電流値を0%から50%に切替え、PI(奇)の出力電流値を100%から50%に切替え(S115)、処理を終了する。
【0150】
切替え前のコードが4n+3(n=0〜6)であり、切替え後のコードが4n+4(n=0〜6)の場合、PI(偶)の出力電流値を50%から100%に切替え、PI(奇)の出力電流値を50%から0%に切替える(S116)。そして、アップ前のTAP(奇)をONからOFFに切替え、アップ後のTAP(奇)をOFFからONに切替え(S117)、処理を終了する。
【0151】
図20は、本発明の第7の実施の形態におけるCDR回路のCODE JUMPの処理手順を説明するためのフローチャートである。まず、ADD23は、Jump元のコードが4の倍数であるか、4の倍数でない偶数であるか、奇数であるかを判定する(S121)。Jump元のコードが4n(n=0〜7)であれば、Jump先のコードが4の倍数であるか、4の倍数でない偶数であるか、奇数であるかを判定する(S122)。
【0152】
Jump先のコードが4n(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S123)、Jump元のPI(偶)の出力電流値を100%から50%に切替え、Jump先のPI(偶)の出力電流値を0%から50%に切替え(S124)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(偶)の出力電流値を50%から100%に切替え(S125)、Jump元のTAPをONからOFFに切替えて(S126)、処理を終了する。
【0153】
Jump先のコードが4n+2(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S127)、Jump元のPI(偶)の出力電流値を100%から50%に切替え、Jump先のPI(奇)の出力電流値を0%から50%に切替え(S128)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を50%から100%に切替え(S129)、Jump元のTAPをONからOFFに切替えて(S130)、処理を終了する。
【0154】
Jump先のコードが2n+1(n=0〜14)であれば、Jump先のTAPをOFFからONに切替え(S131)、Jump元のPI(偶)の出力電流値を100%から50%に切替え、Jump先のPI(偶)の出力電流値を0%から50%に切替え(S132)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を0%から50%に切替え、Jump先のPI(偶)の出力電流値を50%のままとし(S133)、Jump元のTAPをONからOFFに切替えて(S134)、処理を終了する。
【0155】
ステップS121において、Jump元のコードが4n+2(n=0〜7)であれば、Jump先のコードが4の倍数であるか、4の倍数でない偶数であるか、奇数であるかを判定する(S135)。
【0156】
Jump先のコードが4n(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S136)、Jump元のPI(奇)の出力電流値を100%から50%に切替え、Jump先のPI(偶)の出力電流値を0%から50%に切替え(S137)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump先のPI(偶)の出力電流値を50%から100%に切替え(S138)、Jump元のTAPをONからOFFに切替えて(S139)、処理を終了する。
【0157】
Jump先のコードが4n+2(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S140)、Jump元のPI(奇)の出力電流値を100%から50%に切替え、Jump先のPI(奇)の出力電流値を0%から50%に切替え(S141)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を50%から100%に切替え(S142)、Jump元のTAPをONからOFFに切替えて(S143)、処理を終了する。
【0158】
Jump先のコードが2n+1(n=0〜14)であれば、Jump先のTAPをOFFからONに切替え(S144)、Jump元のPI(奇)の出力電流値を100%から50%に切替え、Jump先のPI(偶)を0%から50%に切替え(S145)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を0%から50%に切替え、Jump先のPI(偶)の出力電流値を50%のままとし(S146)、Jump元のTAPをONからOFFに切替えて(S147)、処理を終了する。
【0159】
ステップS121において、Jump元のコードが2n+1(n=0〜14)であれば、Jump先のコードが4の倍数であるか、4の倍数でない偶数であるか、奇数であるかを判定する(S148)。
【0160】
Jump先のコードが4n(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S149)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump元のPI(偶)の出力電流値を50%のままとし、Jump先のPI(偶)の出力電流値を0%から50%に切替え(S150)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(偶)の出力電流値を50%から100%に切替え(S151)、Jump元のTAPをONからOFFに切替えて(S152)、処理を終了する。
【0161】
Jump先のコードが4n+2(n=0〜7)であれば、Jump先のTAPをOFFからONに切替え(S153)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump元のPI(偶)の出力電流値を50%のままとし、Jump先のPI(奇)の出力電流値を0%から50%に切替え(S154)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を50%から100%に切替え(S155)、Jump元のTAPをONからOFFに切替えて(S156)、処理を終了する。
【0162】
Jump先のコードが2n+1(n=0〜14)であれば、Jump先のTAPをOFFからONに切替え(S157)、Jump元のPI(奇)の出力電流値を50%から0%に切替え、Jump元のPI(偶)の出力電流値を50%のままとし、Jump先のPI(偶)の出力電流値を0%から50%に切替え(S158)、Jump元のPI(偶)の出力電流値を50%から0%に切替え、Jump先のPI(奇)の出力電流値を0%から50%に切替え、Jump先のPI(偶)の出力電流値を50%のままとし(S159)、Jump元のTAPをONからOFFに切替えて(S160)、処理を終了する。
【0163】
以上説明したように、本実施の形態におけるCDR回路によれば、CODE JUMPの際にPIを用いて中間の位相にしてから所望の位相にするようにしたので、グリッジノイズやハザードなどの細かい幅のパルス信号が出力されるのを防止することが可能となった。
【0164】
また、Delay LineのN番目において、Delay Unit、セレクタ、位相補間器PIが同数ずつ接続されるので、各Delay UnitからVDLの出力OUTまでの伝播経路上の負荷容量を容易に合わせることができ、VDLの制御コードに対する遅延変化量を同じにすることが容易に行なえるようになった。
【0165】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0166】
【図1】本発明の実施の形態におけるCDR回路が適用されるシステムの一例を示す図である。
【図2】本発明の第1の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図3】本発明の第1の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。
【図4】図3のフローチャートに示す処理によって、VDL11がどのように可変遅延時間以上のデータに追従するかを説明するための図である。
【図5】本発明の第2の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図6】本発明の第2の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。
【図7】本発明の第3の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図8】本発明の第3の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。
【図9】本発明の第4の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図10】本発明の第4の実施の形態におけるCDR回路1の処理手順を説明するためのフローチャートである。
【図11】図10のフローチャートに示す処理によって、VDL A15およびVDL B16がどのように可変遅延時間以上のデータに追従するかを説明するための図である。
【図12】本発明の第5の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図13】本発明の第5の実施の形態におけるCDR回路の処理手順を説明するためのフローチャートである。
【図14】第1の実施の形態におけるVDL11の制御コードの遷移と、第5の実施の形態におけるVDL11の制御コードの遷移との比較を示す図である。
【図15】本発明の第6の実施の形態におけるCDR回路の内部構成を示すブロック図である。
【図16】本発明の第6の実施の形態におけるCDR回路の処理手順を説明するためのフローチャートである。
【図17】本発明の第7の実施の形態におけるVDLの内部構成を示すブロック図である。
【図18】制御コードの数値と制御信号TAP<0:15>およびPI100%/50%との関係を示す図である。
【図19】本発明の第7の実施の形態におけるCDR回路のコード切替えの処理手順を説明するためのフローチャートである。
【図20】本発明の第7の実施の形態におけるCDR回路のCODE JUMPの処理手順を説明するためのフローチャートである。
【符号の説明】
【0167】
1 CDR回路、2 受信回路、3,6 フリップフロップ回路、4 第1のクロック発生回路、5 送信回路、7 第2のクロック発生回路、11 VDL、12 Edge Detector、13 CODE Operator、14 PD、21 N回Counter、22 +1/−1 Increment回路、23 ADD、24 SFR A、25 SFR B、26 SFR C、27 Register(H)、28 Register(L)、29,72 MIN/MAX Detector、30 Decoder、31 Decoder A、32 Decoder B、33 +1/−1 Increment A回路、34 +1/−1 Increment B回路、35 Register A(H)、36 Register A(L)、37 Register B(H)、38 Register B(L)、39 Compare(H)回路、40 Compare(L)回路、41 PASS/FAIL Detector、42 Test Circuit、51〜58,63〜66 セレクタ、61 ADD A、62 ADD B、67 SFR D、68 AND回路、69,140 バッファ、71 Hysteresis CODE SET回路、81 ADD D、82 ADD HYS、100,200 半導体回路装置、110 Delay Line、120 TAP Line、121〜124 セレクタ、130 PI Line、131〜134 PI、300 有損失伝送路。

【特許請求の範囲】
【請求項1】
データ信号に同期した出力クロックを生成するクロックデータリカバリ回路であって、
前記データ信号と前記出力クロックとの位相差を検出する第1の検出手段と、
制御コードに応じてクロックの遅延を変える可変遅延手段と、
前記制御コードの値を変更するコード変更手段とを含み、
前記コード変更手段は、前記出力クロックの1周期と同じ遅延に相当する制御コードの値を検出する第2の検出手段と、
前記第2の検出手段によって検出された制御コードの値を格納する格納手段と、
前記第1の検出手段による検出結果に応じて前記制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して前記格納手段に格納された値を一度に加算または減算する演算手段とを含む、クロックデータリカバリ回路。
【請求項2】
前記格納手段は、前記制御コードの上限値を格納する上限値格納手段と、
前記制御コードの下限値を格納する下限値格納手段とを含み、
前記演算手段は、前記第1の検出手段による検出結果に応じて制御コードを加減算するためのコードを生成するためのインクリメント手段と、
前記インクリメント手段によって生成されたコードに応じて制御コードを加減算するためのコード演算手段と、
前記コード演算手段によって計算された制御コードが前記上限値格納手段に格納された上限値または前記下限値格納手段に格納された下限値になっているか否かを判定することにより、前記可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定するための判定手段とを含み、
前記コード演算手段は、前記判定手段によってクロックの1周期分を超えると判定された場合に、前記上限値格納手段に格納された上限値と前記下限値格納手段に格納された下限値とから算出した値を一度に加算または減算する、請求項1記載のクロックデータリカバリ回路。
【請求項3】
前記インクリメント手段は、前記可変遅延手段の遅延量を第1の初期値から順に小さくし、制御コードが最小値に達しても前記出力クロックの1周期と同じ遅延量に達しなかった場合は当該最小値を前記下限値格納手段に格納し、遅延量を第2の初期値から順に大きくして前記出力クロックと同じ遅延量となるときの制御コードを前記上限値格納手段に格納する、請求項2記載のクロックデータリカバリ回路。
【請求項4】
前記判定手段は、前記可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、前記上限値格納手段に格納される上限値に所定値を加算して判定する、請求項2または3記載のクロックデータリカバリ回路。
【請求項5】
前記判定手段は、前記可変遅延手段の遅延量がクロックの1周期分を超えるか否かを判定する際に、前記加減値格納手段に格納される下限値から所定値を減算して判定する、請求項2〜4のいずれかに記載のクロックデータリカバリ回路。
【請求項6】
前記演算手段はさらに、前記上限値格納手段に格納される上限値に所定値を加算して前記判定手段に出力する加算手段と、
前記下限値格納手段に格納される下限値から所定値を減算して前記判定手段に出力する減算手段とを含み、
前記判定手段は、前記加算手段から出力される値および前記減算手段から出力される値に基づいてクロックの1周期分を超えるか否かを判定し、
前記コード演算手段は、前記判定手段によってクロックの1周期分を超えると判定された場合に、前記加算手段から出力される値と前記減算手段から出力される値と前記所定値とから算出した値を一度に加算または減算する、請求項2または3記載のクロックデータリカバリ回路。
【請求項7】
前記クロックデータリカバリ回路は、前記可変遅延手段を2つ有し、
前記第2の検出手段は、第1の可変遅延手段を制御して前記出力クロックの1周期と同じ遅延に相当する制御コードを検出し、
前記演算手段は、前記第1の検出手段による検出結果に応じて第2の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第2の可変遅延手段の遅延量がクロックの1周期分を超えるときに、制御コードに対して前記格納手段に格納された値を一度に加算または減算する、請求項1〜3のいずれかに記載のクロックデータリカバリ回路。
【請求項8】
前記クロックデータリカバリ回路は、前記可変遅延手段を2つ有し、
前記クロックデータリカバリ回路は、前記第2の検出手段によって検出された第1の可変遅延手段の出力クロックの1周期と同じ遅延に相当する制御コードを格納する第1の格納手段と、
前記第2の検出手段によって検出された第2の可変遅延手段の出力クロックの1周期と同じ遅延に相当する制御コードを格納する第2の格納手段と、
前記第1の格納手段に格納される値と前記第2の格納手段に格納される値とを比較する比較手段と、
前記比較手段による比較結果に応じて、前記クロックデータリカバリ回路に動作を行なわせるか否かを判定する動作判定手段とを含む、請求項1〜3のいずれかに記載のクロックデータリカバリ回路。
【請求項9】
前記クロックデータリカバリ回路は、前記可変遅延手段を2つ有し、
前記第2の検出手段は、第1の可変遅延手段を制御して前記出力クロックの1周期と同じ遅延に相当する制御コードを検出し、
前記演算手段は、前記第1の検出手段による検出結果に応じて前記第1の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第1の可変遅延手段の遅延量がクロックの1周期分を超えるときに、前記第2の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記第2の可変遅延手段に動作を切替えた後に、前記第1の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記出力クロックと前記データ信号との同期を行なわせ、さらに、
前記第1の検出手段による検出結果に応じて前記第2の可変遅延手段の制御コードを変更しながら前記出力クロックを前記データ信号に同期させる際、前記第2の可変遅延手段の遅延量がクロックの1周期分を超えるときに、前記第1の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記第1の可変遅延手段に動作を切替えた後に、前記第2の可変遅延手段の制御コードに対して前記格納手段に格納された値を一度に加算または減算し、前記出力クロックと前記データ信号との同期を行なわせる、請求項1〜3のいずれかに記載のクロックデータリカバリ回路。
【請求項10】
前記可変遅延手段は、複数の遅延回路と、
前記複数の遅延回路の出力が接続される複数のセレクタと、
前記複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、
前記複数のセレクタのそれぞれに接続される遅延回路の数および位相補間回路の数が同数である、請求項1〜9のいずれかに記載のクロックデータリカバリ回路。
【請求項11】
前記可変遅延手段は、複数の遅延回路と、
前記複数の遅延回路の出力が接続される複数のセレクタと、
前記複数のセレクタの出力を制御してクロックの位相を補間する位相補間回路とを含み、
前記演算手段が制御コードに対して前記格納手段に格納された値を一度に加算または減算する際に、セレクタおよび位相補間回路の経路を複数回切替えて、制御コードの値を変更する、請求項1〜10のいずれかに記載のクロックデータリカバリ回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2007−19630(P2007−19630A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−196489(P2005−196489)
【出願日】平成17年7月5日(2005.7.5)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】