ディジタルインターフェースを有する半導体装置
【課題】本発明の課題は、インターフェースのレシーバにて、データパターンに依存するジッタを低減することにある。そして、低減するための遅延量の設定を装置毎に調整できるように自動的に調整可能なLSIを提供することにある。
【解決手段】データパターン依存ジッタは、前の状態がどの様であったかで予測可能であるので、レシーバにて受け取ったデータの状態を保持しこの保持された状態と、入力されたデータとから入力データの取り込みタイミングを調整する。
また、実装形態に依存する遅延量を決定するためのレシーバ内の調整機構として、ドライバから1サイクル間隔のパルスデータ、2サイクル間隔のパルスデータをテストパターンとして送受信する。パルス幅の異なるパルスの立上りと立下がり時間差から系に最適な遅延量を求める自動調整機構を持つ。
【解決手段】データパターン依存ジッタは、前の状態がどの様であったかで予測可能であるので、レシーバにて受け取ったデータの状態を保持しこの保持された状態と、入力されたデータとから入力データの取り込みタイミングを調整する。
また、実装形態に依存する遅延量を決定するためのレシーバ内の調整機構として、ドライバから1サイクル間隔のパルスデータ、2サイクル間隔のパルスデータをテストパターンとして送受信する。パルス幅の異なるパルスの立上りと立下がり時間差から系に最適な遅延量を求める自動調整機構を持つ。
【発明の詳細な説明】
【技術分野】
【0001】
パソコンなどの情報処理機器に用いられる、プロセッサやメモリなど機能回路間を接続するためのバス接続技術、及びその構成要素に係り、特にデジタル信号インターフェースにおける低ジッタを実現する半導体装置に関する。
【背景技術】
【0002】
装置内のプロセッサやメモリなどの機能回路間でディジタルデータ転送を行う場合、データ転送に掛かる物理的部位は2つに分けられる。すなわち、機能回路を実現する半導体素子(以下LSI)とLSI間を接続する伝送線路であり、これらを纏めてインターフェースと呼んでいる。装置の高性能化にはこのインターフェースの高速化が不可欠であるが、伝搬線路の物理的制約により高速化が困難になってきている。
【0003】
例えば、図3のように2つのLSI14と16間でデータ転送を行う場合、データバス配線15の高周波での誘電損失、或いは表皮効果で波形鈍りが生じる。図4に鈍った波形の例を示す。図4は送信側のLSIからデータ信号320のようなバイナリデータをドライバ14から出力されるとする。波形321はレシーバ16の入力端子に到達した波形であり、これがレシーバ16の入力波形となる。そして、レシーバ16は波形321を受信して矩形パルスに戻す。この波形を322で示した。ここで波形322は送信パルス320に対して、波形の幅が大きく変わる。これは以下の理由による。
【0004】
今、LからHへ、HからLへと矩形波がドライブされ、データが受信レシーバ16に到達した波形321は先の効果により鈍りを示す。例えば、LからHへと立ち上がりパルスを送信する場合、配線を伝わってきた波形321では鈍りが生じて、信号は1サイクル中に完全にHの電圧に立ち上がれない、或いは別な表現で、完全に充電されない事になる。そのため、次のサイクルが始まる時間になっても完全に充電されていない電圧のままになる。
【0005】
高速化されたデータ転送では、その充電が完了するより前に次のデータが送信されることとなり、そのため、受信レシーバ16の入力波形321はデータの電圧波形が前のサイクルのデータにより異なることとなる。これをデータ・パターン依存性、或いは符号間干渉(ISI:Inter Symbol Interference)と呼ばれており、高速化の一つの課題となっていた。
【0006】
これは、受信側のLSIにとっては、データの確定に必要な時間幅であるセットアップ時間と、ホールド時間が短くなることを示している。受信の閾値電圧をVREF0とすると、これを横切る時刻がT1、T2、T3、T4...でデータパターンによりばらつくことになる。このバラツキがジッタと呼ばれる物であり、これが大きい場合データ確定に必要な時間幅(データウィンドウ)が確保できずデータ転送の失敗率が大きくなる。すなわち、波形鈍りにより、より高速なデータ転送ができないことになる。
これを回避するため特許文献1、2に示すような従来技術がある。
【0007】
図3の様なバス接続されたデータ配線で、バイナリ信号を送信する際に、実データを第1サイクルから出すのではなく、少し待って(電圧が充分下がるのを待って)データを送信することで、ジッタによるエラーを回避している。また、一つのビット列が続く場合は
データの逆符号を送信するためにジッタが低減できていた。
【0008】
特許文献2で示すように、データパターンにより低下するジッタをドライバのタイミングを調整することでジッタを低減させていた。すなわち、現在のサイクルのデータと1つ前のサイクルのデータとを比較し、異なる場合は、高周波遅延回路(HF)、同じ場合は低周波遅延回路(LF)を現在のサイクルのデータに加算してデータウィンドウを広げていた。これにより、ドライバ側のジッタは低減することができるが、レシーバ側のジッタは低減することができていない。また、高周波遅延回路の遅延量と低周波遅延回路の遅延量を決定する開示はない。
【0009】
特許文献2で開示されている技術を用いる場合、連続した2ビット間のデータパターンによる依存性を調整することはできるが、3ビット以上のデータパターン依存性の遅延量を調整することができなかった。
【0010】
また、LSI間の伝送線路の状態が予め分かっているなら該高周波遅延回路の遅延量と低周波遅延回路の遅延量をLSIの設計段階で決定することができるが、該LSIが複数の装置に用いられる場合には、該遅延量を一意に決定することはできない。なぜならば、ジッタ調整用に必要とされる遅延量は伝送線路の実装状況により、それは装置毎に異なるためである。
【図面の簡単な説明】
【0016】
【図1】第1の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図2】図1のレシーバのLHL入力時の入力波形を示す図。
【図3】従来のインターフェース回路図。
【図4】データパターン依存性を説明する波形を示す図。
【図5】第1の実施例の遅延制御回路12の説明図。
【図6】遅延制御回路内の内部状態に対応した離散化された入力電圧を示す図。
【図7】遅延可変回路13内の状態遷移図。
【図8】第2の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図9】第3の実施例である自動遅延調整回路の配線図。
【図10−a】自動遅延調整回路のフローを示す図。
【図10−b】自動遅延調整回路用パルスの説明図。
【図11】第1および第2の実施例をメモリモジュールに応用した第4の実施例を示す図。
【図12】第5の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図13】図12のレシーバのLHL入力時の入力波形を示す図。
【図14】第6の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図15】図14のレシーバのLHL入力時の入力波形を示す図。
【図16】本発明の参照電圧を制御する入力回路の図。
【図17】4サイクル型のデータ信号に対する状態遷移図。
【図18】4サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図19】従来の4サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図20】3サイクル型のデータ信号に対する状態遷移図。
【図21】3サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図22】2サイクル型のデータ信号に対する状態遷移図。
【図23】2サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【発明を実施するための最良の形態】
【0017】
以下に図面を用いて、実施の形態を詳細に説明する。
【実施例1】
【0018】
第1の実施例を図1を用いて説明する。
【0019】
100は本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0020】
デスキューレシーバ100は、差動コンパレータ10、ラッチ11、遅延制御回路12、および遅延可変回路13からなる。
【0021】
データ信号20は、差動コンパレータ10に入力され参照電圧(VREF0)と比較され、その大小に応じて"0"と"1"がレシーバ出力信号200に出力される。レシーバ出力信号200は、ラッチ11と遅延制御回路12に入力され、ラッチ11は遅延制御回路12の信号により遅延量を計算され遅延可変回路13により遅延されたクロック信号203が入力される。
【0022】
遅延クロック信号203は、遅延可変回路13によりクロック信号(φ)210に対して遅延量が加減算される。この遅延可変回路13は、遅延制御回路12の出力信号202により遅延時間を調整される。遅延制御回路12はレシーバ出力信号200と同期出力信号201を入力として、遅延制御信号202を出力する。
遅延制御回路12と遅延可変回路13の組合せで図2の様な遅延ΔTiに対応した制御を行う。
【0023】
図2は、各種データ信号20の入力波形、クロック210、ラッチ信号203等を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T6まで続いた波形である。ここで、点線で示した時刻T0〜T5はジッタ調整回路機能を有する入力回路100に入力されたデータのサイクルを示す。なお、対象としている範囲で連続したデータパターンをL*と表すと、波形301のデータパターン(...LLLLHHH...)は(L*H*)と記述できる。
波形302は、時刻T0以前がLであり、1サイクルのみHとなり、その後時刻T2以降はLとなる。このデータパターンは(L*HL*)と表せる。
【0024】
同様に波形303は2サイクルHが続く(L*HHL*)で表され、波形304は3サイクル連続Hが続く(L*HHHL*)、波形305は4サイクルHが続く(L*HHHHL*)で表されるデータパターンに対応する波形である。図2では波形301〜305のうち、データパターンが同じ部分は同じ軌線を描くので重なって表現されている。
【0025】
波形301は時刻T0以降H状態であり伝送線路の鈍りのため、おおよそ充電曲線を描く。もちろん、伝送線路上のインピーダンスミスマッチに起因する反射やクロストークも重畳されるが、良く設計された伝送線路の場合、これらの反射・クロストークノイズは小さいが、そうであっても高周波での誘電損失や表皮効果による波形鈍りは大きく受端波形は301のように鈍る。
【0026】
完全に立ち上がる前にあるいは充電される前にデータが変化すると次サイクルの波形軌線が大きく変わる。図2の波形302は、波形301の充電中途の位置からLが始まるので、参照電圧VREF0を横切る時間が波形301に比べて早くなっている。波形301のVREF0を横切る時間を基準にとると各波形302〜305にはVREF0を横切る時間に時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0027】
図2の210は、図1のクロック信号であり、200−1〜200−3はレシーバ10の出力波形であり、それぞれ入力データは(1)L*HL*,(2)L*HH*L,(3)L*HHHL*に対応している。
ここでレシーバ10の遅延時間は無視できるものとして書いてある。203−1〜203−3はクロック信号210を遅延可変回路13と遅延制御回路12で入力データパターンに従った遅延量を持つ遅延クロック信号であり、ラッチ11は該信号203−1〜203−3に従いデータをラッチする。
【0028】
図1の遅延制御回路12と遅延可変回路13は、図2において、波形302〜305に対して、ΔT1〜ΔT4の時間差を調整し、遅延クロック信号203−1〜203−3等を生成するように動作する。ここで、ΔT1〜ΔT4は、データパターン差によるタイミング取り込み時間の時間差で、予め遅延制御回路12が有している時定数である。
【0029】
次にデータ取り込みのための遅延クロック203の具体的な生成方法を説明する。
【0030】
当初のクロック210はT0〜T6に同期している。
【0031】
入力データ20が
(1)L*H*L*入力(波形302)に対して
この入力データに対するレシーバ10の出力波形は200−1である。T0サイクル(T0〜T1)におけるレシーバ出力200−1に対して、遅延制御回路12は遅延可変回路13に対してk×ΔT1早めるように機能し、ラッチ11は該可変遅延のクロック信号203−1で取り込む。ここで、kは0.5などの適切な定数である。またこの203−1には、実線と点線があるが、実線は対象データサイクルで確定された信号であり、点線は未確定の信号を意味する。この様に動作することで、T0サイクルでHのデータを取る再に安定したセットアップ、ホールド時間を確保することができる。
(2)(L*HHL*)入力(波形303)に対して
この入力データに対するレシーバ出力10の出力波形は200−2である。T1サイクル(T1〜T2)おける波形レシーバ出力200−2に対して、遅延制御回路12は遅延可変回路13に対してk×ΔT2早めるように機能し、ラッチ11は該可変遅延のクロック信号203−2で取り込む。この様に動作することで、T1サイクルで安定してHのデータを取る際に、安定したホールド時間を確保することができる。
【0032】
(3)(L*HHHL*)入力(波形304)に対して
同様に入力データがL*HHHL*のへ記304に対しては、T2サイクル(T2〜T3)でラッチ11の取り込みタイミングを遅延可変回路13を用いてk×ΔT3早める様に動作する。この様に動作することで、T2サイクルでHのデータを取る際に、安定したホールド時間を確保することができる。
【0033】
このように動作することで、L*からのいかなるデータパターンであっても、タイミングウィンドウを広げ、データを余裕を持ってラッチすることができ、結果として高速化を可能にする。
【0034】
同様に、(H*LH*)のような立下がりに於いても同様の効果を示す。ここでH*は連続するHデータ状態を言う。図には記載されていない送信LSIが良く設計されている場合、該LSIのドライバの出力インピーダンスがLとH共にほぼ同じと見なすことができ、信号振幅は立上りと立下がりで同じにできるので、遅延制御回路12と遅延可変回路13は極性を除いて同じように動作できる。
このように、遅延制御回路12と遅延可変回路13が動作すればジッタ調整回路機能を有する入力回路100は(L*H)や(H*L)の様な前サイクルのデータに関わらずデータを取り込めることになり、これらの入力データに対してジッタを低減できることになる。
【0035】
図5にこの働きをする遅延制御回路12の構成を示す。
遅延制御回路12には、レシーバ出力信号200、同期出力信号201が入力される。そして、内部処理された後、遅延制御信号202を出力する。
【0036】
今、転送が開始されてからnサイクル目の入力信号に対してジッタの低減する場合を考える。nサイクルの0か1かの状態をQnで表すことにする。同期出力信号201には、前(n−1)サイクル目のデータQn−1が保持されており、nサイクル目のデータが(n−1)サイクル目のデータと異なるQn≠Qn−1の時、すなわち立上り或いは立下がりのデータ切り替わりが生じたとき、レシーバ出力信号200と同期出力信号201の論理的排他和(XOR)回路123は、この切り替わりを検出する。このXOR回路123の出力信号125は、ラッチ124で保持され、遅延選択回路122に入力される。
【0037】
また、121は(n−1)サイクルの電圧保持回路であり、電圧保持回路121は8つの電圧状態を保持する。
【0038】
この動作を説明するために、図6の入力波形を用いる。
図6は、時刻T0、T1、T2...という、データ転送のサイクル毎のレシーバに入力される入力波形を示しており、実線310は時刻T0での立上り波形、波線311は時刻T0での立下がり波形を示している。これらの波形は1サイクル後の時刻T1でも完全にH状態になっておらず、時刻T1、T2、T3、T4の電圧を立上り波形310に対して、w1、w2、w3、w4とする。同様に立下がり波形311に対してはu1、u2、u3、u4とする。この図では切替えから4サイクル後にほぼ信号振幅に充電されることを表しているが、系によりこれより長い場合も短い場合もある。これらの場合は、ui、wiの状態数が異なることになるが、本発明の本質的な動作は同じである。
【0039】
nサイクル目で遷移が生じる場合、nサイクル目の時刻をTn-1とすると、伝送線路が接続された差動コンパレータ10の入力波形電圧v(t)は、次のように表される。
a)初期値(データ転送前の状態)
v(t) = Vol or Voh (t < 0) ・・・・・ (1)
ここで、Volは伝送線路に接続されているドライバのL状態出力電圧であり、VohはH状態出力電圧である。入力波形v(t)はv(Tn-1)に、Volからw1の、ないしは、Vohからu1の信号振幅が重畳されるので、
b)nサイクル目の入力電圧v(t)
v(t) = v(Tn-1) + Q'n-1u(t - Tn-1) v0(t - Tn-1)
(Tn-1< t ≦ Tn) ・・・・・(2)
ここで、v(Tn-1)はnサイクル目の開始時刻(Tn-1)での入力電圧であり、Q'n-1は(nー1)サイクルとnサイクルのデータQの微分である。遷移がある場合は{+1、 -1]を取り、前者が立上り後者が立下がりを意味する。また、遷移がない場合は"0"となる。そして、v0(t)は、単パルス入力L*H*に対する立上りパルスの電圧関数である。また、u(t)はユニット関数でその定義は、
c)
u(t) = 1 (t ≧ 0)
= 0 (t < 0) ・・・・・(3)
である。
【0040】
先のwi、ui(i=1、2、3、4)は、立上り(L*H*)あるいは立下がり(H*L*)の離散化されたの電圧であるが、前の状態にかかわらずデータ切替え後の振幅が同じであるため、前のデータがwi、uiの何れであっても切替えサイクル後(Tn)の電圧はwi、uiのいずれかになると近似できる。すなわち、入力電圧は、wi、uiの8つの状態を持つといえる。
【0041】
これら8つの状態とその遷移を図7のように整理できる。この図は、遅延制御回路12内の連続する2つのデータQn-1、Qnに対する遷移関係を示す図であり、これらは図6の8つの状態{wi、 ui; i=[1、2、3、4]]間の遷移に等しい。
【0042】
丸で囲ったwi、uiが遅延制御回路12の内部状態であり、矢印はQ'nの値に応じた状態遷移を示す。ここで、Q'nはQnの論理的な微分を表すこととし、遷移がある場合は"1"を、遷移がない場合は"0"を取ることとする。アナログ量の式(2)と同じ記号を用いているが、議論に混乱がないため同じ記号を用いた。
【0043】
uiは図6のように立下がりに対して、データ切替えが無い場合(Q'n=0)に、u2はu3に、u3はu4へと遷移していく。これらをui→ui+1と表す事にする。u4では次のサイクルが同じデータの場合(Q'n=0)、電圧は変わらないので同じu4に状態遷移する。同様に、wi→wi+1は立上り波形に対するデータ切替えがない(Q'n=0)状態遷移である。w4からの状態遷移は電圧がかわらないので変わらない。
【0044】
次に、これら状態wi、uiからデータ切替えがある(Q'n=1)の場合を説明する。
切替えの電圧振幅は同じであるため、u1→w4、u2→w3、u3→w2、u4→w1と状態遷移する。その逆も同じ組合せで、w4→u1、w3→u2、w2→u3、w1→u4と状態遷移する。
【0045】
図7で、括弧()内に書かれているのは、遅延可変回路13が設定すべき遅延量を示している。すなわち、u1→w4の遷移はΔT1をジッタ低減に必要とするが、これは図2でL*HL*の入力波形302に対応している。同様にw1→u4も入力波形の極性が異なるだけなので同じΔT1を必要とする。同様に、u2→w3、w2→u3は図2の波形303に対応しジッタ低減にはΔT2を必要とする。更に、u3→w2、w3→u2は図2の波形304に対応しジッタ低減にはΔT3を必要とする。
【0046】
以上のように、図6、図7を伝送線路が接続されているレシーバの入力波形の振舞が離散化された状態遷移であると考え、遷移が有限個ありそれぞれの遷移でジッタ低減のために必要な遅延量として説明したが、今後この図6、図7を図1の遅延制御回路12、遅延可変回路13の機能仕様とする。すなわち。遅延制御回路12はその内部に図7で表した8個の状態があり、それぞれの遷移をデータ切替えに応じて状態遷移し、その遷移に対して遅延可変回路13の遅延量を決定する様に動作することでジッタを低減することができる。
【0047】
図5に於いて、電圧保持回路121は図7の様に状態遷移し(n−1)サイクルの電圧を保持するように動作する。これは、例えば、アナログ的に抵抗Rと可変容量Cにより、時定数(τ=RC)の積分回路とすることで実現できる。なぜならば電圧保持回路121の入力は同期出力信号201であり、これはラッチ11がバイナリデータを出力し、これを電圧源として充放電が行われるため、差動コンパレータ10の入力波形と同じ振舞であるデータパターン依存性を示すことができる。ここで、電圧保持回路121の時定数(τ=RC)は、図6の入力波形の時定数と同じである必要はない。電圧保持回路121は図6の4サイクルでほぼ飽和するような時定数を持ち、それらの状態間が区別できればよいためである。そして、状態監視用のバッファ127で安定的に状態を検出する。これは多段のコンパレータで構成が可能である。この様に電圧保持回路121は8つの状態を出力する事ができる。
【0048】
図7で、ジッタ低減に必要な遅延時間量を時間毎に纏めると、
d)
ΔT1 = Q'n ( u1 + w1 )
ΔT2 = Q'n ( u2 + w2 )
ΔT3 = Q'n ( u3 + w3 )
ΔT4 = Q'n ( u4 + w4 )= 0 ・・・・・(4)
となる。この演算を行うのが遅延選択回路122である。ここで、Q'nはラッチ124で保持されたXOR回路123の出力信号125で実現されており、また、括弧()内のデータは電圧保持回路121の出力信号126で実現されている。これらの出力信号125と出力信号126の積を取ることで遅延制御信号202を生成できる。
【0049】
以上、図5、図7のように遅延制御回路12は動作するので、遅延制御回路12は入力波に応じたジッタ低減量ΔTiを表す遅延制御信号202を生成できる。遅延制御回路12で生成された遅延制御信号202は、図1の遅延可変回路13に入力され遅延制御信号202の値に応じた遅延量を発生させる。すなわち、遅延制御信号202がΔT1に対応した信号の場合、遅延可変回路13はΔT1時間を早める。同様に、遅延制御信号202がΔT2に対応した信号の場合、遅延可変回路13はΔT2時間を早める。以下同様である。
【0050】
ここで、時間を早めることは、一般にはできないので一定時間、例えばデータサイクルの半分の時間を予め与えておき、これに対して、ΔTiだけ早くすることで時間を早めたような効果を持つ遅延可変回路を構成することができる。この場合、遅延可変回路13の持つ遅延量はどの場合であっても正の値を持つためである。
【0051】
遅延可変回路13のインプリメントは遅延素子を直並列に接続しその段数を制御することで遅延量を可変させてもよいし、遅延制御信号202に応じた電圧可変による遅延時間の制御でも同様な働きを行わせることができる。
【実施例2】
【0052】
図8を用いて第2の実施例であるジッタ調整回路機能を有する入力回路100'を説明する。
【0053】
図1と同じ構成・機能のブロックには同じ記号を用い説明を省略する。
構成の差は、第1の実施例では、遅延される量がラッチ11のクロックであったが、本実施例ではデータ信号を遅延させることにある。構成は、差動コンパレータ10の出力信号200は、遅延可変回路13'を介して、ラッチ11に入力され同期化される。遅延可変回路13'は、遅延制御回路12で制御され、遅延制御回路12は第1の実施例である、図5のように動作する。そのため、遅延制御信号202は、データ信号20の入力データのパターンに応じて遅延調整量を遅延可変回路13'に伝える。
【0054】
遅延可変回路13'は受け取った遅延制御信号202に応じた遅延量を発生させる。第1の実施例との差は、本実施例では遅延可変回路13'は遅延制御信号202に応じて信号200を遅らせるように遅延を持たせる。例えば、遅延制御回路12で生成された遅延制御信号202は、図1の遅延可変回路13に入力され遅延制御信号202の値に応じた遅延量を発生させる。すなわち、遅延制御信号202がΔT1に対応した信号の場合、遅延可変回路13はΔT1時間を遅らせる。同様に、遅延制御信号202がΔT2に対応した信号の場合、遅延可変回路13はΔT2時間を遅らせる。以下同様である。遅らせる回路は、第1の実施例と同じく色々な方法で実現可能であり遅延素子の段数切替えでも、電圧可変による遅延調整でも構成可能である。
【0055】
この様にジッタ調整回路機能を有する入力回路100'を構成することで、第1の実施例と同じ効果のであるデータ信号20のデータ依存のあるジッタを低減することができる。また、このデータ依存のサイクルが3サイクル以上であってもそれらの効果によるジッタを低減できる。このため、データのタイミングウィンドウを広く取れ、高速化インターフェースが提供できる。
【0056】
更に、ラッチ11用のクロック210に内部クロック(φ)を用いることができるので、ラッチ11と次段のデータ転送に於いて同一のタイミング・ウィンドウを有することができ、第1の実施例に比べてより安定して動作できる。
【実施例3】
【0057】
図9を用いて第3の実施例を説明する。本実施例は、2つのLSI間のデータ転送に掛かる可変遅延時間の自動制御に関する。送信LSI500から受信LSI501にデータ信号(DQ)と、ストローブ信号(DQS)を送信している。データ信号(DQ)は送信LSI500内のドライバ14から、配線15を介して受信LSI501内のレシーバ100へと伝送される。データストローブ信号(DQS)は送信LSI500内のドライバ14aから、配線15aを介して受信LSI501内のレシーバ100aへと伝送される。データ信号(DQ)は1ビット当たり1本配線15を用いるシングルエンドの方式であり、ストローブ信号(DQS)は、1ビット当たり2本の配線15aを用いる差動信号で有るとする。このため、DQS信号のレシーバ100aでは入力波形の取り込みはVREF0ではなくて入力波形の交点で取られる。
【0058】
次に、ジッタ遅延自動調整のフローチャート等を図10a、図10bに示す。
LSI500、501に電源投入シーケンス601後.初期化シーケンス602が動作する。このシーケンスではリセット信号による回路リセットやDLL調整用のクロック入力、LSI内の各レジスタの設定などを行う。これは各LSIの仕様による。
【0059】
ステップ603でデジッタ位相調整を行う。
ジッタ位相調整ステップ603に対応した波形を図10bに示す。
【0060】
シーケンス604に於いて、自動調整用の初期化である遅延量のリセット、パラメータiの"1"のセットを行う。その後、シーケンス605に於いて、自動調整シーケンス開始のためのハンドシェークを行う。図9では記載されていない信号線により、送信LSI500に自動化シーケンスの開始のリクエストを送る。送信LSI500側で準備ができていることのアクノレッジ信号を受信した後、遅延調整シーケンス606へと進む。
【0061】
シーケンス606では、図10b−1の左図のように、送信LSI500のドライバ14は1サイクル幅を持つパルス(すなわちL*HL*)350をDQ信号線に出力する。この時ドライバ14aから繰り返し波形をDQS信号に出力する。2つのDQ信号、DQS信号は同期されておりDQ信号の切り替わりのタイミング差はどのサイクルでも同じである。
【0062】
受信LSI501は、DQ信号を入力回路100で、DQS信号を入力回路100aでそれぞれ受信するが、その入力波形351は図10b−1の右図の上のように鈍っている。
【0063】
シーケンス605に於いて、
入力されたDQ信号351のDQS信号に対応する立上りと立下がり時の位相差ΔT1r、ΔT1fを測定する。簡単のため、レシーバ100の出力信号は鈍っている入力波形351で代表させた。この測定は、図9には書いていない可変遅延素子の段数をインクリメント或いはデクリメントすることで2つの波形の位相を比較し、その比較結果が同じになるまで1サイクルパルス入力を繰り返すことで為される。
【0064】
例えば、DQ信号のレシーバ100の立上りからの可変遅延回路の遅延量を調整し、DQS信号用のレシーバ100aの立上り信号と位相比較することで、遅延時間差ΔT1rが求まる。
更に、DQ信号のレシーバ100の立下がりからの可変遅延回路の遅延量を調整し、DQS信号用のレシーバ100aの別のサイクルの立上り信号と位相比較することで、遅延時間差ΔT1fが求まる。
【0065】
位相差ΔT1r、ΔT1fが求まるとそれが補正すべき遅延量ΔT1を次式で求めることができる。
e)
ΔT1=ΔT1f−ΔT1r ・・・・・(5)
なぜならば、ΔT1rは(L*H)に対するDQ信号の入力回路100とDQS信号の入力回路100aの遅延時間差であり、これをL*HLの立下がりのΔT1fが伝送線路15のデータ依存性を持つ遅延量を含んでいるからである。
【0066】
ここで、遅延時間測定の方法は幾つかの方法が有り、例えば次のように行うことで為せる。
【0067】
最小遅延時間が同じ2つの遅延回路を用意し、DQS信号用のレシーバ100aの立上り信号とDQ信号のレシーバ100の出力時間差ΔT1rと、DQS信号用のレシーバ100aの立上り信号とDQ信号のレシーバ100の出力時間差ΔT1fを遅延時間が同じになるように調整する(シーケンス607)。
【0068】
ΔT1rと、ΔT1fの遅延回路の段数を数え、これをsとtとすると、s−tが求めるべきΔT1の遅延情報である。この情報を図1の遅延可変回路13に設定する。遅延可変回路13が同じ最小遅延時間からなる可変遅延回路であるならばこの値自体が遅延量を意味する。
【0069】
同様にiをインクリメントして、シーケンス603に戻る。
【0070】
i=2の場合、図10b−2のように、送信LSI500のドライバ14から2データサイクル幅を持つパルス(すなわちL*HHL*)360を出力する。ドライバ14aからは繰り返し波形のDQS信号を出力されている。2つのDQ信号360、DQS信号は同期されておりDQ信号の切り替わりのタイミング差は同じである。
【0071】
シーケンス606で2サイクルのパルスを受信し、シーケンス607で受信LSI501は、DQ信号のDQS信号に対応する立上りと立下がり時の位相差ΔT2r、ΔT2fを測定する。そして、その差が求まるとそれが補正すべき遅延量ΔT2であり、シーケンス607で遅延可変回路13に設定する。このループを4回繰り返す。これにより、ΔT1、ΔT2、ΔT3、ΔT4の全てが求められ、遅延可変回路13に設定された。
【0072】
ここで、ステップ603でデジッタ位相調整は立上りに対して行ったが、立下がりに対して極性が反対のパルスを用いることで遅延量を自動的に求めることができ、また、立下がりの自動調整を行わない場合であっても、ステップ603の値を用いることも可能である。これはドライバ14が立上りと立下がりで出力インピーダンスが対称な場合に有効である。
【0073】
この様に測定することで、第1の実施例で有る図1の遅延可変回路13内の遅延量ΔTiを自動的に決定することができる。同様に第2の実施例である図8の遅延可変回路13'内の遅延量ΔTiを自動的に決定することができる。
【実施例4】
【0074】
図11を用いて本実施例を説明する。本実施例はジッタ低減技術をメモリに応用したものである。
【0075】
メモリモジュール30には、複数のDRAM32と制御・アドレス信号用(C/A)のレジスタバッファ31を搭載している。制御・アドレス信号(C/A)35は、レジスタ31に入力され各DRAM32に伝送される。レジスタ31は、クロック信号37とC/A信号38を出力する。
【0076】
各DRAM36内にはデータ入力回路100が搭載されている。ここで、入力回路100は実施例1のクロックにジッタ低減用の遅延回路を持たせた構成であっても良いし、実施例2のデータ信号にジッタ低減用の遅延回路を持たせた構成であっても良い。
また、DRAM32はデータ(DQ)信号36を用いてここには記載されていないメモリコントローラとデータの読み書きを行っている。
【0077】
このように構成するために、複数ビットあるC/A信号38であってもジッタを低減できるので高速化に好適であることが分かる。
また、データ信号36に対してレシーバをC/A信号38と同じくデジッタ入力回路型にすることでデータ信号の高速化にも好適である。
【実施例5】
【0078】
第5の実施例を図12を用いて説明する。
【0079】
101は、本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0080】
デスキューレシーバ101は、差動コンパレータ10および11、可変電圧源17、ラッチ11、および制御回路12からなる。
【0081】
データ信号20は、差動コンパレータ10および11に入力され、その入力信号はそれぞれ、参照電圧(VREF0)および参照電圧(VREF1)と比較され、その大小に応じて"0"または"1"がレシーバ出力信号200および209にそれぞれ出力される。ここで、参照電圧(VREF1)は、可変電圧源により与えられ、その電圧は、制御回路12からの信号により決定される。データ信号20が、4パルス以下の連続するHからLに変化するデータサイクル領域において、切替えスイッチ18は、出力信号209を選択するように働き、5パルス以上連続のL*あるいはH*から変化するデータサイクル領域では、出力信号200が選択される。出力信号209が切替えスイッチ18を介して、信号211となり、ラッチ11に入力され、差動コンパレータ10の出力信号200がラッチされる。データ信号20の入力データのパターンに応じた参照電圧調整量は、制御回路12が決定する。
【0082】
図13は、データ信号20の入力波形を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T6まで続いた波形である。ここで、点線で示した時刻T0〜T5はジッタ調整回路機能を有する入力回路101に入力されたデータのサイクルを示す。なお、波形301のデータパターンを(L*H*)と記述するのは、実施例1で示した方式に従う。以下同様に、波形302等のデータパターンは、(L*HL*)等と表せる。
【0083】
図13において、データ信号20の5パルス以上連続するL*からの立ち上り波形が参照電圧VREF0を横切る時間にラッチ入力信号ではHとなる(1301)。そして、波形301の充電中途の位置から立ち下がる時は、参照電圧VREF1を横切る時間の時間差にラッチ入力信号211がLになる(1302)。ここで、各波形302〜305において、VREF0を横切る時間とVREF1を横切る時間の時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0084】
ここで、波形302〜305の立下がりで、切り替わり時刻からの1サイクル後までの信号振幅は、波形301のT0からT1の振幅とほぼ同じである。
【0085】
本実施例では、差動コンパレータ10において、入力されるデータ信号の電圧比較を立ち上がりの際に用いる参照電圧(VREF0)より低い参照電圧(VREF1)をデータパターンが立ち下がる際に用いることにより、波形302〜305のデータパターンの立下がり信号においてそれぞれΔT1、ΔT2・・・ΔT4だけラッチ入力信号211のデータのタイミングウィンドウを広げ、高速化を可能にする。また、以上とは逆に301が立ち下がりで302〜305が立ち上がりのときも参照電圧VREF0より高い参照電圧VREF1を用いることにより同様にラッチ11の入力信号のデータウィンドウを広げることができる。
【実施例6】
【0086】
第6の実施例を図14を用いて説明する。
【0087】
102は、本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0088】
デスキューレシーバ102は、差動コンパレータ10および11、可変電圧源17、ラッチ11、制御回路12および遅延可変回路13からなる。
【0089】
データ信号20は、差動コンパレータ10および11に入力され、その入力信号はそれぞれ、参照電圧(VREF0)および参照電圧(VREF1)と比較され、その大小に応じて"0"または"1"がレシーバ出力信号200および209にそれぞれ出力される。ここで、参照電圧(VREF1)は、可変電圧源により与えられ、その電圧は、遅延制御回路12からの信号により決定される。データ信号20が、同じパルスが4以上以下連続するHからLに変化するデータサイクル領域において、切替えスイッチ18は、出力信号209を選択するように働き、5パルス以上の連続するLからHに変化するデータサイクル領域では、出力信号200が選択される。次に、ラッチ11には、切替えスイッチ18からの出力信号209と、前記遅延可変回路13からの出力信号202がラッチ11に入力され、差動コンパレータ10あるいは11の出力信号200あるいは209がラッチされる。データ信号20の入力データのパターンに応じた参照電圧調整量は、参照電圧(VREF1)を可変電圧源の制御することにより与えられる。
【0090】
一方、遅延可変回路13は、制御回路12で制御される。遅延制御信号202は、データ信号20の入力データのパターンに応じて遅延調整量を遅延可変回路13'に伝える。
【0091】
遅延可変回路13は、受け取った遅延制御信号202に応じた遅延量を発生させる。第5の実施例との差は、さらに第1の実施例で用いた手法の様に、遅延制御信号202に応じて所定の時間遅らせたクロック信号をラッチ11に入力し、時間軸での遅延量調整を付加した点にある。
【0092】
図15は、データ信号20の入力波形を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301乃至305に関する説明は、上述の第5の実施例の場合と同じである。
【0093】
図15おいては、立ち上り波形は参照電圧VREF0を横切る時間を読み出し、波形301の充電中途の位置から立ち下がる時は、参照電圧VREF1を横切る時間を読み出し、この時間差をΔTiと表す。以下同様に、各波形302〜305において、VREF0を横切る時間とVREF1を横切る時間の時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0094】
さらに、本実施例では、第1の実施例と同様に、入力データが(L*HL*)の波形302に対して、T1サイクルに於いてラッチ11の取り込みタイミングを遅延可変回路13を用いてΔT1早める様に動作することが付加されている。残りの波形302〜305に対しても同様である。
【実施例7】
【0095】
第7の実施例を図16、図17、図18、図19を用いて説明する。
図16で101は、本発明のジッタ調整回路機能を有する入力回路であり、伝送線路に接続されたデータ信号20とクロック信号(Φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0096】
デスキューレシーバ101は、差動コンパレータ10、可変電圧源17、ラッチ11、および参照電圧回路12からなる。
【0097】
データ信号20は、差動コンパレータ10に入力され、その入力信号は参照電圧(VREF)と比較され、その大小に応じてHまたはLがレシーバ出力信号200にそれぞれ出力される。ここで参照電圧(VREF)は、可変電圧源17により与えられ、その電圧は参照電圧制御回路12からの信号により3つの電圧値VREF+、VREF0、VREF−から決定される。ここでVREF+=VDDQ×5/8、VREF0=VDDQ/2、VREF−=VDDQ×3/8である。VDDQは電源電圧値であり、信号におけるHレベルの電圧の安定値である。
【0098】
まず、図19はHもしくはLのうち同じ値が4パルス以上連続した場合に信号で電圧が安定する「4サイクル型」デ−タサイクル時間がデータ信号波形の時定数τと等しい場合のデータ信号波形に対して入力回路が参照電圧制御せずに動作した場合のデータ信号20と差動コンパレータ10の出力信号200の波形である。横軸は時間、縦軸は電圧である。データ信号20は301〜308の7本が重ね合わされて描かれている。またそれらに対応するコンパレータ10の出力信号はそれぞれ1301〜1308である。この場合は参照電圧をVREF=VREF0に固定しており、T0〜T2のデータパターン(LHL)において、データ幅1300は非常に狭くなってしまっている。またデ−タ信号20の時刻T1におけるHレベルは参照電圧に対して余裕がほとんどなく、参照電圧のノイズに対する耐性も脆弱である。
【0099】
さて、図17は前記「4サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。状態S0は4パルス以上Lが連続し、データ信号20が安定した状態である。また状態S4は4パルス以上Hが連続し、データ信号20が安定した状態である。まず状態S0を初期状態とする。ここで、参照電制御回路にLが入力された場合、状態は遷移しない。またHが入力された場合はS1Hに遷移する。状態S1HでLが入力された場合は、状態S2Lに遷移し、Hが入力された場合は、状態S2Hに遷移する。状態S2HでLが入力された場合は、状態S1Lに遷移し、Hが入力された場合はS3Hに遷移する。状態S3HでLが入力された場合は、状態S1Lに遷移し、Hが入力された場合はS4に遷移する。状態S4でHが入力された場合は遷移せず、Lが入力された場合は状態S1Lに遷移する。状態S1LでHが入力された場合は状態S2Hに遷移し、Lが入力された場合は状態S2Lに遷移する。状態S2LでHが入力された場合は状態S1Hに遷移し、Lが入力された場合は状態S3Lに遷移する。状態S3LでHが入力された場合はS1Hに遷移し、Lが入力された場合は状態S0に遷移する。そして参照電圧制御回路は各状態に応じて参照電圧を次のように制御する。即ち状態S0ではVREF=VREF−、状態S1HではVREF=VREF−、状態S2HではVREF=VREF0、状態S3HではVREF=VREF0、状態S4ではVREF=VREF+、状態S1LではVREF+、状態S2LではVREF=VREF0、状態S3LではVREF=VREF0とする。なお、各状態における参照電圧の設定に際してはデータサイクルの中心の時刻でデータ信号20が通過する電圧に近くなるように決められている。
【0100】
図18は前記「4サイクル型」のデータ信号20及びそれに対する差動コンパレータ10の出力信号200の波形を示しており、横軸は時間、縦軸は電圧である。図19と同様にデータ信号20は301〜308の7本が重ね合わされて描かれており、それらに対応するコンパレータ10の出力信号はそれぞれ1301〜1308である。波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T4まで続いた波形である。ここで時刻T0からT8はジッタ調整回路機能を有する入力回路101に入力されたデータのサイクルを示す。なお、波形301のデータパターンを(L*H*)と記述するのは、実施例1で示した方法に従う。以下同様に、波形302等データパターンは、(L*HL*)等と表せる。T0〜T2のデータパターン(LHL)において、差動コンパレータはVREF−を参照している。ここで、VREF−はT0〜T1間の中心の時刻でデータ信号20が通過するレベルに近く、またT1〜T2間の中心の時刻でデータ信号20が通過するレベルに近いので、データ幅1301としてデータサイクルに近い時間が得られている。さらに、クロック信号210をT0〜T8に同期させれば、セットアップ時間、ホールド時間のバランスの取れた安定したデータウィンドウが得られる事がわかる。またデータ信号20の時間T1におけるHレベルは参照電圧VREF−に対して余裕があり、参照電圧のノイズに対する耐性も持ち合わせている。
【実施例8】
【0101】
第8の実施例を図20、図21、図22、図23を用いて説明する。図20はHもしくはLのうち同じ値が3パルス以上連続した場合に信号電圧が安定する「3サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。図21は「3サイクル型」でデータ信号波形の時定数τでデータサイクル時間Tcycleの75%に等しい場合のデータ信号20と差動コンパレータ10の出力波形を示した図である。図22はHもしくはLのうち同じ値が2パルス以上連続した場合に信号電圧が安定する「2サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。図23は「2サイクル型」でデータ信号波形の時定数τがデータサイクル時間Tcycleの50%に等しい場合のデータ信号20と差動コンパレータ10の出力波形を示した図である。いずれも前述した「4サイクル型」と同様にセットアップ時間、ホールド時間のバランスのとれた安定したデータウィンドウが得られる事がわかる。
【0102】
このようにデータパターンの履歴を使って参照電圧を制御する事により安定したデータウィンドウを得る事即ちジッタを低減する事ができる。
【技術分野】
【0001】
パソコンなどの情報処理機器に用いられる、プロセッサやメモリなど機能回路間を接続するためのバス接続技術、及びその構成要素に係り、特にデジタル信号インターフェースにおける低ジッタを実現する半導体装置に関する。
【背景技術】
【0002】
装置内のプロセッサやメモリなどの機能回路間でディジタルデータ転送を行う場合、データ転送に掛かる物理的部位は2つに分けられる。すなわち、機能回路を実現する半導体素子(以下LSI)とLSI間を接続する伝送線路であり、これらを纏めてインターフェースと呼んでいる。装置の高性能化にはこのインターフェースの高速化が不可欠であるが、伝搬線路の物理的制約により高速化が困難になってきている。
【0003】
例えば、図3のように2つのLSI14と16間でデータ転送を行う場合、データバス配線15の高周波での誘電損失、或いは表皮効果で波形鈍りが生じる。図4に鈍った波形の例を示す。図4は送信側のLSIからデータ信号320のようなバイナリデータをドライバ14から出力されるとする。波形321はレシーバ16の入力端子に到達した波形であり、これがレシーバ16の入力波形となる。そして、レシーバ16は波形321を受信して矩形パルスに戻す。この波形を322で示した。ここで波形322は送信パルス320に対して、波形の幅が大きく変わる。これは以下の理由による。
【0004】
今、LからHへ、HからLへと矩形波がドライブされ、データが受信レシーバ16に到達した波形321は先の効果により鈍りを示す。例えば、LからHへと立ち上がりパルスを送信する場合、配線を伝わってきた波形321では鈍りが生じて、信号は1サイクル中に完全にHの電圧に立ち上がれない、或いは別な表現で、完全に充電されない事になる。そのため、次のサイクルが始まる時間になっても完全に充電されていない電圧のままになる。
【0005】
高速化されたデータ転送では、その充電が完了するより前に次のデータが送信されることとなり、そのため、受信レシーバ16の入力波形321はデータの電圧波形が前のサイクルのデータにより異なることとなる。これをデータ・パターン依存性、或いは符号間干渉(ISI:Inter Symbol Interference)と呼ばれており、高速化の一つの課題となっていた。
【0006】
これは、受信側のLSIにとっては、データの確定に必要な時間幅であるセットアップ時間と、ホールド時間が短くなることを示している。受信の閾値電圧をVREF0とすると、これを横切る時刻がT1、T2、T3、T4...でデータパターンによりばらつくことになる。このバラツキがジッタと呼ばれる物であり、これが大きい場合データ確定に必要な時間幅(データウィンドウ)が確保できずデータ転送の失敗率が大きくなる。すなわち、波形鈍りにより、より高速なデータ転送ができないことになる。
これを回避するため特許文献1、2に示すような従来技術がある。
【0007】
図3の様なバス接続されたデータ配線で、バイナリ信号を送信する際に、実データを第1サイクルから出すのではなく、少し待って(電圧が充分下がるのを待って)データを送信することで、ジッタによるエラーを回避している。また、一つのビット列が続く場合は
データの逆符号を送信するためにジッタが低減できていた。
【0008】
特許文献2で示すように、データパターンにより低下するジッタをドライバのタイミングを調整することでジッタを低減させていた。すなわち、現在のサイクルのデータと1つ前のサイクルのデータとを比較し、異なる場合は、高周波遅延回路(HF)、同じ場合は低周波遅延回路(LF)を現在のサイクルのデータに加算してデータウィンドウを広げていた。これにより、ドライバ側のジッタは低減することができるが、レシーバ側のジッタは低減することができていない。また、高周波遅延回路の遅延量と低周波遅延回路の遅延量を決定する開示はない。
【0009】
特許文献2で開示されている技術を用いる場合、連続した2ビット間のデータパターンによる依存性を調整することはできるが、3ビット以上のデータパターン依存性の遅延量を調整することができなかった。
【0010】
また、LSI間の伝送線路の状態が予め分かっているなら該高周波遅延回路の遅延量と低周波遅延回路の遅延量をLSIの設計段階で決定することができるが、該LSIが複数の装置に用いられる場合には、該遅延量を一意に決定することはできない。なぜならば、ジッタ調整用に必要とされる遅延量は伝送線路の実装状況により、それは装置毎に異なるためである。
【図面の簡単な説明】
【0016】
【図1】第1の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図2】図1のレシーバのLHL入力時の入力波形を示す図。
【図3】従来のインターフェース回路図。
【図4】データパターン依存性を説明する波形を示す図。
【図5】第1の実施例の遅延制御回路12の説明図。
【図6】遅延制御回路内の内部状態に対応した離散化された入力電圧を示す図。
【図7】遅延可変回路13内の状態遷移図。
【図8】第2の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図9】第3の実施例である自動遅延調整回路の配線図。
【図10−a】自動遅延調整回路のフローを示す図。
【図10−b】自動遅延調整回路用パルスの説明図。
【図11】第1および第2の実施例をメモリモジュールに応用した第4の実施例を示す図。
【図12】第5の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図13】図12のレシーバのLHL入力時の入力波形を示す図。
【図14】第6の実施例を説明するジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)の図。
【図15】図14のレシーバのLHL入力時の入力波形を示す図。
【図16】本発明の参照電圧を制御する入力回路の図。
【図17】4サイクル型のデータ信号に対する状態遷移図。
【図18】4サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図19】従来の4サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図20】3サイクル型のデータ信号に対する状態遷移図。
【図21】3サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【図22】2サイクル型のデータ信号に対する状態遷移図。
【図23】2サイクル型のデータ信号波形とコンパレータ出力信号を示す図。
【発明を実施するための最良の形態】
【0017】
以下に図面を用いて、実施の形態を詳細に説明する。
【実施例1】
【0018】
第1の実施例を図1を用いて説明する。
【0019】
100は本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0020】
デスキューレシーバ100は、差動コンパレータ10、ラッチ11、遅延制御回路12、および遅延可変回路13からなる。
【0021】
データ信号20は、差動コンパレータ10に入力され参照電圧(VREF0)と比較され、その大小に応じて"0"と"1"がレシーバ出力信号200に出力される。レシーバ出力信号200は、ラッチ11と遅延制御回路12に入力され、ラッチ11は遅延制御回路12の信号により遅延量を計算され遅延可変回路13により遅延されたクロック信号203が入力される。
【0022】
遅延クロック信号203は、遅延可変回路13によりクロック信号(φ)210に対して遅延量が加減算される。この遅延可変回路13は、遅延制御回路12の出力信号202により遅延時間を調整される。遅延制御回路12はレシーバ出力信号200と同期出力信号201を入力として、遅延制御信号202を出力する。
遅延制御回路12と遅延可変回路13の組合せで図2の様な遅延ΔTiに対応した制御を行う。
【0023】
図2は、各種データ信号20の入力波形、クロック210、ラッチ信号203等を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T6まで続いた波形である。ここで、点線で示した時刻T0〜T5はジッタ調整回路機能を有する入力回路100に入力されたデータのサイクルを示す。なお、対象としている範囲で連続したデータパターンをL*と表すと、波形301のデータパターン(...LLLLHHH...)は(L*H*)と記述できる。
波形302は、時刻T0以前がLであり、1サイクルのみHとなり、その後時刻T2以降はLとなる。このデータパターンは(L*HL*)と表せる。
【0024】
同様に波形303は2サイクルHが続く(L*HHL*)で表され、波形304は3サイクル連続Hが続く(L*HHHL*)、波形305は4サイクルHが続く(L*HHHHL*)で表されるデータパターンに対応する波形である。図2では波形301〜305のうち、データパターンが同じ部分は同じ軌線を描くので重なって表現されている。
【0025】
波形301は時刻T0以降H状態であり伝送線路の鈍りのため、おおよそ充電曲線を描く。もちろん、伝送線路上のインピーダンスミスマッチに起因する反射やクロストークも重畳されるが、良く設計された伝送線路の場合、これらの反射・クロストークノイズは小さいが、そうであっても高周波での誘電損失や表皮効果による波形鈍りは大きく受端波形は301のように鈍る。
【0026】
完全に立ち上がる前にあるいは充電される前にデータが変化すると次サイクルの波形軌線が大きく変わる。図2の波形302は、波形301の充電中途の位置からLが始まるので、参照電圧VREF0を横切る時間が波形301に比べて早くなっている。波形301のVREF0を横切る時間を基準にとると各波形302〜305にはVREF0を横切る時間に時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0027】
図2の210は、図1のクロック信号であり、200−1〜200−3はレシーバ10の出力波形であり、それぞれ入力データは(1)L*HL*,(2)L*HH*L,(3)L*HHHL*に対応している。
ここでレシーバ10の遅延時間は無視できるものとして書いてある。203−1〜203−3はクロック信号210を遅延可変回路13と遅延制御回路12で入力データパターンに従った遅延量を持つ遅延クロック信号であり、ラッチ11は該信号203−1〜203−3に従いデータをラッチする。
【0028】
図1の遅延制御回路12と遅延可変回路13は、図2において、波形302〜305に対して、ΔT1〜ΔT4の時間差を調整し、遅延クロック信号203−1〜203−3等を生成するように動作する。ここで、ΔT1〜ΔT4は、データパターン差によるタイミング取り込み時間の時間差で、予め遅延制御回路12が有している時定数である。
【0029】
次にデータ取り込みのための遅延クロック203の具体的な生成方法を説明する。
【0030】
当初のクロック210はT0〜T6に同期している。
【0031】
入力データ20が
(1)L*H*L*入力(波形302)に対して
この入力データに対するレシーバ10の出力波形は200−1である。T0サイクル(T0〜T1)におけるレシーバ出力200−1に対して、遅延制御回路12は遅延可変回路13に対してk×ΔT1早めるように機能し、ラッチ11は該可変遅延のクロック信号203−1で取り込む。ここで、kは0.5などの適切な定数である。またこの203−1には、実線と点線があるが、実線は対象データサイクルで確定された信号であり、点線は未確定の信号を意味する。この様に動作することで、T0サイクルでHのデータを取る再に安定したセットアップ、ホールド時間を確保することができる。
(2)(L*HHL*)入力(波形303)に対して
この入力データに対するレシーバ出力10の出力波形は200−2である。T1サイクル(T1〜T2)おける波形レシーバ出力200−2に対して、遅延制御回路12は遅延可変回路13に対してk×ΔT2早めるように機能し、ラッチ11は該可変遅延のクロック信号203−2で取り込む。この様に動作することで、T1サイクルで安定してHのデータを取る際に、安定したホールド時間を確保することができる。
【0032】
(3)(L*HHHL*)入力(波形304)に対して
同様に入力データがL*HHHL*のへ記304に対しては、T2サイクル(T2〜T3)でラッチ11の取り込みタイミングを遅延可変回路13を用いてk×ΔT3早める様に動作する。この様に動作することで、T2サイクルでHのデータを取る際に、安定したホールド時間を確保することができる。
【0033】
このように動作することで、L*からのいかなるデータパターンであっても、タイミングウィンドウを広げ、データを余裕を持ってラッチすることができ、結果として高速化を可能にする。
【0034】
同様に、(H*LH*)のような立下がりに於いても同様の効果を示す。ここでH*は連続するHデータ状態を言う。図には記載されていない送信LSIが良く設計されている場合、該LSIのドライバの出力インピーダンスがLとH共にほぼ同じと見なすことができ、信号振幅は立上りと立下がりで同じにできるので、遅延制御回路12と遅延可変回路13は極性を除いて同じように動作できる。
このように、遅延制御回路12と遅延可変回路13が動作すればジッタ調整回路機能を有する入力回路100は(L*H)や(H*L)の様な前サイクルのデータに関わらずデータを取り込めることになり、これらの入力データに対してジッタを低減できることになる。
【0035】
図5にこの働きをする遅延制御回路12の構成を示す。
遅延制御回路12には、レシーバ出力信号200、同期出力信号201が入力される。そして、内部処理された後、遅延制御信号202を出力する。
【0036】
今、転送が開始されてからnサイクル目の入力信号に対してジッタの低減する場合を考える。nサイクルの0か1かの状態をQnで表すことにする。同期出力信号201には、前(n−1)サイクル目のデータQn−1が保持されており、nサイクル目のデータが(n−1)サイクル目のデータと異なるQn≠Qn−1の時、すなわち立上り或いは立下がりのデータ切り替わりが生じたとき、レシーバ出力信号200と同期出力信号201の論理的排他和(XOR)回路123は、この切り替わりを検出する。このXOR回路123の出力信号125は、ラッチ124で保持され、遅延選択回路122に入力される。
【0037】
また、121は(n−1)サイクルの電圧保持回路であり、電圧保持回路121は8つの電圧状態を保持する。
【0038】
この動作を説明するために、図6の入力波形を用いる。
図6は、時刻T0、T1、T2...という、データ転送のサイクル毎のレシーバに入力される入力波形を示しており、実線310は時刻T0での立上り波形、波線311は時刻T0での立下がり波形を示している。これらの波形は1サイクル後の時刻T1でも完全にH状態になっておらず、時刻T1、T2、T3、T4の電圧を立上り波形310に対して、w1、w2、w3、w4とする。同様に立下がり波形311に対してはu1、u2、u3、u4とする。この図では切替えから4サイクル後にほぼ信号振幅に充電されることを表しているが、系によりこれより長い場合も短い場合もある。これらの場合は、ui、wiの状態数が異なることになるが、本発明の本質的な動作は同じである。
【0039】
nサイクル目で遷移が生じる場合、nサイクル目の時刻をTn-1とすると、伝送線路が接続された差動コンパレータ10の入力波形電圧v(t)は、次のように表される。
a)初期値(データ転送前の状態)
v(t) = Vol or Voh (t < 0) ・・・・・ (1)
ここで、Volは伝送線路に接続されているドライバのL状態出力電圧であり、VohはH状態出力電圧である。入力波形v(t)はv(Tn-1)に、Volからw1の、ないしは、Vohからu1の信号振幅が重畳されるので、
b)nサイクル目の入力電圧v(t)
v(t) = v(Tn-1) + Q'n-1u(t - Tn-1) v0(t - Tn-1)
(Tn-1< t ≦ Tn) ・・・・・(2)
ここで、v(Tn-1)はnサイクル目の開始時刻(Tn-1)での入力電圧であり、Q'n-1は(nー1)サイクルとnサイクルのデータQの微分である。遷移がある場合は{+1、 -1]を取り、前者が立上り後者が立下がりを意味する。また、遷移がない場合は"0"となる。そして、v0(t)は、単パルス入力L*H*に対する立上りパルスの電圧関数である。また、u(t)はユニット関数でその定義は、
c)
u(t) = 1 (t ≧ 0)
= 0 (t < 0) ・・・・・(3)
である。
【0040】
先のwi、ui(i=1、2、3、4)は、立上り(L*H*)あるいは立下がり(H*L*)の離散化されたの電圧であるが、前の状態にかかわらずデータ切替え後の振幅が同じであるため、前のデータがwi、uiの何れであっても切替えサイクル後(Tn)の電圧はwi、uiのいずれかになると近似できる。すなわち、入力電圧は、wi、uiの8つの状態を持つといえる。
【0041】
これら8つの状態とその遷移を図7のように整理できる。この図は、遅延制御回路12内の連続する2つのデータQn-1、Qnに対する遷移関係を示す図であり、これらは図6の8つの状態{wi、 ui; i=[1、2、3、4]]間の遷移に等しい。
【0042】
丸で囲ったwi、uiが遅延制御回路12の内部状態であり、矢印はQ'nの値に応じた状態遷移を示す。ここで、Q'nはQnの論理的な微分を表すこととし、遷移がある場合は"1"を、遷移がない場合は"0"を取ることとする。アナログ量の式(2)と同じ記号を用いているが、議論に混乱がないため同じ記号を用いた。
【0043】
uiは図6のように立下がりに対して、データ切替えが無い場合(Q'n=0)に、u2はu3に、u3はu4へと遷移していく。これらをui→ui+1と表す事にする。u4では次のサイクルが同じデータの場合(Q'n=0)、電圧は変わらないので同じu4に状態遷移する。同様に、wi→wi+1は立上り波形に対するデータ切替えがない(Q'n=0)状態遷移である。w4からの状態遷移は電圧がかわらないので変わらない。
【0044】
次に、これら状態wi、uiからデータ切替えがある(Q'n=1)の場合を説明する。
切替えの電圧振幅は同じであるため、u1→w4、u2→w3、u3→w2、u4→w1と状態遷移する。その逆も同じ組合せで、w4→u1、w3→u2、w2→u3、w1→u4と状態遷移する。
【0045】
図7で、括弧()内に書かれているのは、遅延可変回路13が設定すべき遅延量を示している。すなわち、u1→w4の遷移はΔT1をジッタ低減に必要とするが、これは図2でL*HL*の入力波形302に対応している。同様にw1→u4も入力波形の極性が異なるだけなので同じΔT1を必要とする。同様に、u2→w3、w2→u3は図2の波形303に対応しジッタ低減にはΔT2を必要とする。更に、u3→w2、w3→u2は図2の波形304に対応しジッタ低減にはΔT3を必要とする。
【0046】
以上のように、図6、図7を伝送線路が接続されているレシーバの入力波形の振舞が離散化された状態遷移であると考え、遷移が有限個ありそれぞれの遷移でジッタ低減のために必要な遅延量として説明したが、今後この図6、図7を図1の遅延制御回路12、遅延可変回路13の機能仕様とする。すなわち。遅延制御回路12はその内部に図7で表した8個の状態があり、それぞれの遷移をデータ切替えに応じて状態遷移し、その遷移に対して遅延可変回路13の遅延量を決定する様に動作することでジッタを低減することができる。
【0047】
図5に於いて、電圧保持回路121は図7の様に状態遷移し(n−1)サイクルの電圧を保持するように動作する。これは、例えば、アナログ的に抵抗Rと可変容量Cにより、時定数(τ=RC)の積分回路とすることで実現できる。なぜならば電圧保持回路121の入力は同期出力信号201であり、これはラッチ11がバイナリデータを出力し、これを電圧源として充放電が行われるため、差動コンパレータ10の入力波形と同じ振舞であるデータパターン依存性を示すことができる。ここで、電圧保持回路121の時定数(τ=RC)は、図6の入力波形の時定数と同じである必要はない。電圧保持回路121は図6の4サイクルでほぼ飽和するような時定数を持ち、それらの状態間が区別できればよいためである。そして、状態監視用のバッファ127で安定的に状態を検出する。これは多段のコンパレータで構成が可能である。この様に電圧保持回路121は8つの状態を出力する事ができる。
【0048】
図7で、ジッタ低減に必要な遅延時間量を時間毎に纏めると、
d)
ΔT1 = Q'n ( u1 + w1 )
ΔT2 = Q'n ( u2 + w2 )
ΔT3 = Q'n ( u3 + w3 )
ΔT4 = Q'n ( u4 + w4 )= 0 ・・・・・(4)
となる。この演算を行うのが遅延選択回路122である。ここで、Q'nはラッチ124で保持されたXOR回路123の出力信号125で実現されており、また、括弧()内のデータは電圧保持回路121の出力信号126で実現されている。これらの出力信号125と出力信号126の積を取ることで遅延制御信号202を生成できる。
【0049】
以上、図5、図7のように遅延制御回路12は動作するので、遅延制御回路12は入力波に応じたジッタ低減量ΔTiを表す遅延制御信号202を生成できる。遅延制御回路12で生成された遅延制御信号202は、図1の遅延可変回路13に入力され遅延制御信号202の値に応じた遅延量を発生させる。すなわち、遅延制御信号202がΔT1に対応した信号の場合、遅延可変回路13はΔT1時間を早める。同様に、遅延制御信号202がΔT2に対応した信号の場合、遅延可変回路13はΔT2時間を早める。以下同様である。
【0050】
ここで、時間を早めることは、一般にはできないので一定時間、例えばデータサイクルの半分の時間を予め与えておき、これに対して、ΔTiだけ早くすることで時間を早めたような効果を持つ遅延可変回路を構成することができる。この場合、遅延可変回路13の持つ遅延量はどの場合であっても正の値を持つためである。
【0051】
遅延可変回路13のインプリメントは遅延素子を直並列に接続しその段数を制御することで遅延量を可変させてもよいし、遅延制御信号202に応じた電圧可変による遅延時間の制御でも同様な働きを行わせることができる。
【実施例2】
【0052】
図8を用いて第2の実施例であるジッタ調整回路機能を有する入力回路100'を説明する。
【0053】
図1と同じ構成・機能のブロックには同じ記号を用い説明を省略する。
構成の差は、第1の実施例では、遅延される量がラッチ11のクロックであったが、本実施例ではデータ信号を遅延させることにある。構成は、差動コンパレータ10の出力信号200は、遅延可変回路13'を介して、ラッチ11に入力され同期化される。遅延可変回路13'は、遅延制御回路12で制御され、遅延制御回路12は第1の実施例である、図5のように動作する。そのため、遅延制御信号202は、データ信号20の入力データのパターンに応じて遅延調整量を遅延可変回路13'に伝える。
【0054】
遅延可変回路13'は受け取った遅延制御信号202に応じた遅延量を発生させる。第1の実施例との差は、本実施例では遅延可変回路13'は遅延制御信号202に応じて信号200を遅らせるように遅延を持たせる。例えば、遅延制御回路12で生成された遅延制御信号202は、図1の遅延可変回路13に入力され遅延制御信号202の値に応じた遅延量を発生させる。すなわち、遅延制御信号202がΔT1に対応した信号の場合、遅延可変回路13はΔT1時間を遅らせる。同様に、遅延制御信号202がΔT2に対応した信号の場合、遅延可変回路13はΔT2時間を遅らせる。以下同様である。遅らせる回路は、第1の実施例と同じく色々な方法で実現可能であり遅延素子の段数切替えでも、電圧可変による遅延調整でも構成可能である。
【0055】
この様にジッタ調整回路機能を有する入力回路100'を構成することで、第1の実施例と同じ効果のであるデータ信号20のデータ依存のあるジッタを低減することができる。また、このデータ依存のサイクルが3サイクル以上であってもそれらの効果によるジッタを低減できる。このため、データのタイミングウィンドウを広く取れ、高速化インターフェースが提供できる。
【0056】
更に、ラッチ11用のクロック210に内部クロック(φ)を用いることができるので、ラッチ11と次段のデータ転送に於いて同一のタイミング・ウィンドウを有することができ、第1の実施例に比べてより安定して動作できる。
【実施例3】
【0057】
図9を用いて第3の実施例を説明する。本実施例は、2つのLSI間のデータ転送に掛かる可変遅延時間の自動制御に関する。送信LSI500から受信LSI501にデータ信号(DQ)と、ストローブ信号(DQS)を送信している。データ信号(DQ)は送信LSI500内のドライバ14から、配線15を介して受信LSI501内のレシーバ100へと伝送される。データストローブ信号(DQS)は送信LSI500内のドライバ14aから、配線15aを介して受信LSI501内のレシーバ100aへと伝送される。データ信号(DQ)は1ビット当たり1本配線15を用いるシングルエンドの方式であり、ストローブ信号(DQS)は、1ビット当たり2本の配線15aを用いる差動信号で有るとする。このため、DQS信号のレシーバ100aでは入力波形の取り込みはVREF0ではなくて入力波形の交点で取られる。
【0058】
次に、ジッタ遅延自動調整のフローチャート等を図10a、図10bに示す。
LSI500、501に電源投入シーケンス601後.初期化シーケンス602が動作する。このシーケンスではリセット信号による回路リセットやDLL調整用のクロック入力、LSI内の各レジスタの設定などを行う。これは各LSIの仕様による。
【0059】
ステップ603でデジッタ位相調整を行う。
ジッタ位相調整ステップ603に対応した波形を図10bに示す。
【0060】
シーケンス604に於いて、自動調整用の初期化である遅延量のリセット、パラメータiの"1"のセットを行う。その後、シーケンス605に於いて、自動調整シーケンス開始のためのハンドシェークを行う。図9では記載されていない信号線により、送信LSI500に自動化シーケンスの開始のリクエストを送る。送信LSI500側で準備ができていることのアクノレッジ信号を受信した後、遅延調整シーケンス606へと進む。
【0061】
シーケンス606では、図10b−1の左図のように、送信LSI500のドライバ14は1サイクル幅を持つパルス(すなわちL*HL*)350をDQ信号線に出力する。この時ドライバ14aから繰り返し波形をDQS信号に出力する。2つのDQ信号、DQS信号は同期されておりDQ信号の切り替わりのタイミング差はどのサイクルでも同じである。
【0062】
受信LSI501は、DQ信号を入力回路100で、DQS信号を入力回路100aでそれぞれ受信するが、その入力波形351は図10b−1の右図の上のように鈍っている。
【0063】
シーケンス605に於いて、
入力されたDQ信号351のDQS信号に対応する立上りと立下がり時の位相差ΔT1r、ΔT1fを測定する。簡単のため、レシーバ100の出力信号は鈍っている入力波形351で代表させた。この測定は、図9には書いていない可変遅延素子の段数をインクリメント或いはデクリメントすることで2つの波形の位相を比較し、その比較結果が同じになるまで1サイクルパルス入力を繰り返すことで為される。
【0064】
例えば、DQ信号のレシーバ100の立上りからの可変遅延回路の遅延量を調整し、DQS信号用のレシーバ100aの立上り信号と位相比較することで、遅延時間差ΔT1rが求まる。
更に、DQ信号のレシーバ100の立下がりからの可変遅延回路の遅延量を調整し、DQS信号用のレシーバ100aの別のサイクルの立上り信号と位相比較することで、遅延時間差ΔT1fが求まる。
【0065】
位相差ΔT1r、ΔT1fが求まるとそれが補正すべき遅延量ΔT1を次式で求めることができる。
e)
ΔT1=ΔT1f−ΔT1r ・・・・・(5)
なぜならば、ΔT1rは(L*H)に対するDQ信号の入力回路100とDQS信号の入力回路100aの遅延時間差であり、これをL*HLの立下がりのΔT1fが伝送線路15のデータ依存性を持つ遅延量を含んでいるからである。
【0066】
ここで、遅延時間測定の方法は幾つかの方法が有り、例えば次のように行うことで為せる。
【0067】
最小遅延時間が同じ2つの遅延回路を用意し、DQS信号用のレシーバ100aの立上り信号とDQ信号のレシーバ100の出力時間差ΔT1rと、DQS信号用のレシーバ100aの立上り信号とDQ信号のレシーバ100の出力時間差ΔT1fを遅延時間が同じになるように調整する(シーケンス607)。
【0068】
ΔT1rと、ΔT1fの遅延回路の段数を数え、これをsとtとすると、s−tが求めるべきΔT1の遅延情報である。この情報を図1の遅延可変回路13に設定する。遅延可変回路13が同じ最小遅延時間からなる可変遅延回路であるならばこの値自体が遅延量を意味する。
【0069】
同様にiをインクリメントして、シーケンス603に戻る。
【0070】
i=2の場合、図10b−2のように、送信LSI500のドライバ14から2データサイクル幅を持つパルス(すなわちL*HHL*)360を出力する。ドライバ14aからは繰り返し波形のDQS信号を出力されている。2つのDQ信号360、DQS信号は同期されておりDQ信号の切り替わりのタイミング差は同じである。
【0071】
シーケンス606で2サイクルのパルスを受信し、シーケンス607で受信LSI501は、DQ信号のDQS信号に対応する立上りと立下がり時の位相差ΔT2r、ΔT2fを測定する。そして、その差が求まるとそれが補正すべき遅延量ΔT2であり、シーケンス607で遅延可変回路13に設定する。このループを4回繰り返す。これにより、ΔT1、ΔT2、ΔT3、ΔT4の全てが求められ、遅延可変回路13に設定された。
【0072】
ここで、ステップ603でデジッタ位相調整は立上りに対して行ったが、立下がりに対して極性が反対のパルスを用いることで遅延量を自動的に求めることができ、また、立下がりの自動調整を行わない場合であっても、ステップ603の値を用いることも可能である。これはドライバ14が立上りと立下がりで出力インピーダンスが対称な場合に有効である。
【0073】
この様に測定することで、第1の実施例で有る図1の遅延可変回路13内の遅延量ΔTiを自動的に決定することができる。同様に第2の実施例である図8の遅延可変回路13'内の遅延量ΔTiを自動的に決定することができる。
【実施例4】
【0074】
図11を用いて本実施例を説明する。本実施例はジッタ低減技術をメモリに応用したものである。
【0075】
メモリモジュール30には、複数のDRAM32と制御・アドレス信号用(C/A)のレジスタバッファ31を搭載している。制御・アドレス信号(C/A)35は、レジスタ31に入力され各DRAM32に伝送される。レジスタ31は、クロック信号37とC/A信号38を出力する。
【0076】
各DRAM36内にはデータ入力回路100が搭載されている。ここで、入力回路100は実施例1のクロックにジッタ低減用の遅延回路を持たせた構成であっても良いし、実施例2のデータ信号にジッタ低減用の遅延回路を持たせた構成であっても良い。
また、DRAM32はデータ(DQ)信号36を用いてここには記載されていないメモリコントローラとデータの読み書きを行っている。
【0077】
このように構成するために、複数ビットあるC/A信号38であってもジッタを低減できるので高速化に好適であることが分かる。
また、データ信号36に対してレシーバをC/A信号38と同じくデジッタ入力回路型にすることでデータ信号の高速化にも好適である。
【実施例5】
【0078】
第5の実施例を図12を用いて説明する。
【0079】
101は、本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0080】
デスキューレシーバ101は、差動コンパレータ10および11、可変電圧源17、ラッチ11、および制御回路12からなる。
【0081】
データ信号20は、差動コンパレータ10および11に入力され、その入力信号はそれぞれ、参照電圧(VREF0)および参照電圧(VREF1)と比較され、その大小に応じて"0"または"1"がレシーバ出力信号200および209にそれぞれ出力される。ここで、参照電圧(VREF1)は、可変電圧源により与えられ、その電圧は、制御回路12からの信号により決定される。データ信号20が、4パルス以下の連続するHからLに変化するデータサイクル領域において、切替えスイッチ18は、出力信号209を選択するように働き、5パルス以上連続のL*あるいはH*から変化するデータサイクル領域では、出力信号200が選択される。出力信号209が切替えスイッチ18を介して、信号211となり、ラッチ11に入力され、差動コンパレータ10の出力信号200がラッチされる。データ信号20の入力データのパターンに応じた参照電圧調整量は、制御回路12が決定する。
【0082】
図13は、データ信号20の入力波形を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T6まで続いた波形である。ここで、点線で示した時刻T0〜T5はジッタ調整回路機能を有する入力回路101に入力されたデータのサイクルを示す。なお、波形301のデータパターンを(L*H*)と記述するのは、実施例1で示した方式に従う。以下同様に、波形302等のデータパターンは、(L*HL*)等と表せる。
【0083】
図13において、データ信号20の5パルス以上連続するL*からの立ち上り波形が参照電圧VREF0を横切る時間にラッチ入力信号ではHとなる(1301)。そして、波形301の充電中途の位置から立ち下がる時は、参照電圧VREF1を横切る時間の時間差にラッチ入力信号211がLになる(1302)。ここで、各波形302〜305において、VREF0を横切る時間とVREF1を横切る時間の時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0084】
ここで、波形302〜305の立下がりで、切り替わり時刻からの1サイクル後までの信号振幅は、波形301のT0からT1の振幅とほぼ同じである。
【0085】
本実施例では、差動コンパレータ10において、入力されるデータ信号の電圧比較を立ち上がりの際に用いる参照電圧(VREF0)より低い参照電圧(VREF1)をデータパターンが立ち下がる際に用いることにより、波形302〜305のデータパターンの立下がり信号においてそれぞれΔT1、ΔT2・・・ΔT4だけラッチ入力信号211のデータのタイミングウィンドウを広げ、高速化を可能にする。また、以上とは逆に301が立ち下がりで302〜305が立ち上がりのときも参照電圧VREF0より高い参照電圧VREF1を用いることにより同様にラッチ11の入力信号のデータウィンドウを広げることができる。
【実施例6】
【0086】
第6の実施例を図14を用いて説明する。
【0087】
102は、本発明のジッタ調整回路機能を有する入力回路(デスキュー・レシーバ)であり、伝送線路に接続されたデータ信号20とクロック信号(φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0088】
デスキューレシーバ102は、差動コンパレータ10および11、可変電圧源17、ラッチ11、制御回路12および遅延可変回路13からなる。
【0089】
データ信号20は、差動コンパレータ10および11に入力され、その入力信号はそれぞれ、参照電圧(VREF0)および参照電圧(VREF1)と比較され、その大小に応じて"0"または"1"がレシーバ出力信号200および209にそれぞれ出力される。ここで、参照電圧(VREF1)は、可変電圧源により与えられ、その電圧は、遅延制御回路12からの信号により決定される。データ信号20が、同じパルスが4以上以下連続するHからLに変化するデータサイクル領域において、切替えスイッチ18は、出力信号209を選択するように働き、5パルス以上の連続するLからHに変化するデータサイクル領域では、出力信号200が選択される。次に、ラッチ11には、切替えスイッチ18からの出力信号209と、前記遅延可変回路13からの出力信号202がラッチ11に入力され、差動コンパレータ10あるいは11の出力信号200あるいは209がラッチされる。データ信号20の入力データのパターンに応じた参照電圧調整量は、参照電圧(VREF1)を可変電圧源の制御することにより与えられる。
【0090】
一方、遅延可変回路13は、制御回路12で制御される。遅延制御信号202は、データ信号20の入力データのパターンに応じて遅延調整量を遅延可変回路13'に伝える。
【0091】
遅延可変回路13は、受け取った遅延制御信号202に応じた遅延量を発生させる。第5の実施例との差は、さらに第1の実施例で用いた手法の様に、遅延制御信号202に応じて所定の時間遅らせたクロック信号をラッチ11に入力し、時間軸での遅延量調整を付加した点にある。
【0092】
図15は、データ信号20の入力波形を示しており、横軸は時間、縦軸は電圧である。データ信号20の入力信号は301〜305の5本が重ね合わされて描かれている。
波形301乃至305に関する説明は、上述の第5の実施例の場合と同じである。
【0093】
図15おいては、立ち上り波形は参照電圧VREF0を横切る時間を読み出し、波形301の充電中途の位置から立ち下がる時は、参照電圧VREF1を横切る時間を読み出し、この時間差をΔTiと表す。以下同様に、各波形302〜305において、VREF0を横切る時間とVREF1を横切る時間の時間差が有ることが分かる。この時間差を、波形302〜305に対してそれぞれΔT1〜ΔT4(或いはΔTi)と表す。
【0094】
さらに、本実施例では、第1の実施例と同様に、入力データが(L*HL*)の波形302に対して、T1サイクルに於いてラッチ11の取り込みタイミングを遅延可変回路13を用いてΔT1早める様に動作することが付加されている。残りの波形302〜305に対しても同様である。
【実施例7】
【0095】
第7の実施例を図16、図17、図18、図19を用いて説明する。
図16で101は、本発明のジッタ調整回路機能を有する入力回路であり、伝送線路に接続されたデータ信号20とクロック信号(Φ)210を入力とし、データ信号20はクロック信号210で同期を取られ出力信号201として出力される。
【0096】
デスキューレシーバ101は、差動コンパレータ10、可変電圧源17、ラッチ11、および参照電圧回路12からなる。
【0097】
データ信号20は、差動コンパレータ10に入力され、その入力信号は参照電圧(VREF)と比較され、その大小に応じてHまたはLがレシーバ出力信号200にそれぞれ出力される。ここで参照電圧(VREF)は、可変電圧源17により与えられ、その電圧は参照電圧制御回路12からの信号により3つの電圧値VREF+、VREF0、VREF−から決定される。ここでVREF+=VDDQ×5/8、VREF0=VDDQ/2、VREF−=VDDQ×3/8である。VDDQは電源電圧値であり、信号におけるHレベルの電圧の安定値である。
【0098】
まず、図19はHもしくはLのうち同じ値が4パルス以上連続した場合に信号で電圧が安定する「4サイクル型」デ−タサイクル時間がデータ信号波形の時定数τと等しい場合のデータ信号波形に対して入力回路が参照電圧制御せずに動作した場合のデータ信号20と差動コンパレータ10の出力信号200の波形である。横軸は時間、縦軸は電圧である。データ信号20は301〜308の7本が重ね合わされて描かれている。またそれらに対応するコンパレータ10の出力信号はそれぞれ1301〜1308である。この場合は参照電圧をVREF=VREF0に固定しており、T0〜T2のデータパターン(LHL)において、データ幅1300は非常に狭くなってしまっている。またデ−タ信号20の時刻T1におけるHレベルは参照電圧に対して余裕がほとんどなく、参照電圧のノイズに対する耐性も脆弱である。
【0099】
さて、図17は前記「4サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。状態S0は4パルス以上Lが連続し、データ信号20が安定した状態である。また状態S4は4パルス以上Hが連続し、データ信号20が安定した状態である。まず状態S0を初期状態とする。ここで、参照電制御回路にLが入力された場合、状態は遷移しない。またHが入力された場合はS1Hに遷移する。状態S1HでLが入力された場合は、状態S2Lに遷移し、Hが入力された場合は、状態S2Hに遷移する。状態S2HでLが入力された場合は、状態S1Lに遷移し、Hが入力された場合はS3Hに遷移する。状態S3HでLが入力された場合は、状態S1Lに遷移し、Hが入力された場合はS4に遷移する。状態S4でHが入力された場合は遷移せず、Lが入力された場合は状態S1Lに遷移する。状態S1LでHが入力された場合は状態S2Hに遷移し、Lが入力された場合は状態S2Lに遷移する。状態S2LでHが入力された場合は状態S1Hに遷移し、Lが入力された場合は状態S3Lに遷移する。状態S3LでHが入力された場合はS1Hに遷移し、Lが入力された場合は状態S0に遷移する。そして参照電圧制御回路は各状態に応じて参照電圧を次のように制御する。即ち状態S0ではVREF=VREF−、状態S1HではVREF=VREF−、状態S2HではVREF=VREF0、状態S3HではVREF=VREF0、状態S4ではVREF=VREF+、状態S1LではVREF+、状態S2LではVREF=VREF0、状態S3LではVREF=VREF0とする。なお、各状態における参照電圧の設定に際してはデータサイクルの中心の時刻でデータ信号20が通過する電圧に近くなるように決められている。
【0100】
図18は前記「4サイクル型」のデータ信号20及びそれに対する差動コンパレータ10の出力信号200の波形を示しており、横軸は時間、縦軸は電圧である。図19と同様にデータ信号20は301〜308の7本が重ね合わされて描かれており、それらに対応するコンパレータ10の出力信号はそれぞれ1301〜1308である。波形301は時刻T0以前の入力データパターンが連続したLであり、その後、Hが時刻T4まで続いた波形である。ここで時刻T0からT8はジッタ調整回路機能を有する入力回路101に入力されたデータのサイクルを示す。なお、波形301のデータパターンを(L*H*)と記述するのは、実施例1で示した方法に従う。以下同様に、波形302等データパターンは、(L*HL*)等と表せる。T0〜T2のデータパターン(LHL)において、差動コンパレータはVREF−を参照している。ここで、VREF−はT0〜T1間の中心の時刻でデータ信号20が通過するレベルに近く、またT1〜T2間の中心の時刻でデータ信号20が通過するレベルに近いので、データ幅1301としてデータサイクルに近い時間が得られている。さらに、クロック信号210をT0〜T8に同期させれば、セットアップ時間、ホールド時間のバランスの取れた安定したデータウィンドウが得られる事がわかる。またデータ信号20の時間T1におけるHレベルは参照電圧VREF−に対して余裕があり、参照電圧のノイズに対する耐性も持ち合わせている。
【実施例8】
【0101】
第8の実施例を図20、図21、図22、図23を用いて説明する。図20はHもしくはLのうち同じ値が3パルス以上連続した場合に信号電圧が安定する「3サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。図21は「3サイクル型」でデータ信号波形の時定数τでデータサイクル時間Tcycleの75%に等しい場合のデータ信号20と差動コンパレータ10の出力波形を示した図である。図22はHもしくはLのうち同じ値が2パルス以上連続した場合に信号電圧が安定する「2サイクル型」のデータ信号波形の場合において参照電圧制御回路が出力信号201のパターンに応じて参照電圧を決定するための状態遷移図である。図23は「2サイクル型」でデータ信号波形の時定数τがデータサイクル時間Tcycleの50%に等しい場合のデータ信号20と差動コンパレータ10の出力波形を示した図である。いずれも前述した「4サイクル型」と同様にセットアップ時間、ホールド時間のバランスのとれた安定したデータウィンドウが得られる事がわかる。
【0102】
このようにデータパターンの履歴を使って参照電圧を制御する事により安定したデータウィンドウを得る事即ちジッタを低減する事ができる。
【特許請求の範囲】
【請求項1】
ディジタルデータを受信するレシーバ回路を有する半導体装置であって、
前記レシーバ回路は、入力された前記ディジタルデータを基準電圧と比較しバイナリデータを出力する第1および第2の差動コンパレータと、前記第2の差動コンパレータの基準電圧を設定する可変電圧源と、前記ディジタルデータを所定の時間保持し出力するラッチと、前記第1および第2の差動コンパレータからの出力信号のどちらかを選択し前記ラッチに伝送する切替えスイッチと、前記第1の差動コンパレータからの出力信号と前記ラッチの出力信号に基き参照電圧を決定する制御回路とからなり、
前記可変電圧源は、前記制御回路から制御され前記第2の差動コンパレータに対する参照電圧を決定し、決定された前記参照電圧に応じて前記コンパレータの出力信号が遅延され、遅延された前記コンパレータの出力信号は前記切替えスイッチを介して、前記ラッチに対してデータ信号として取り込まれることを特徴とする半導体装置。
【請求項2】
ディジタルデータを受信するレシーバ回路を有する半導体装置であって、
前記レシーバ回路は、入力された前記ディジタルデータを基準となる参照電圧と比較しバイナリデータを出力する差動コンパレータと、前記差動コンパレータの参照電圧を設定する可変電圧源と、前記ディジタルデータを所定の時間保持し出力するラッチと、
前記差動コンパレータからの出力信号に基づき参照電圧を決定する参照電圧制御回路からなり、
前記可変電圧源は、前記参照電圧制御回路から制御され前記の差動コンパレータに対する参照電圧を出力し、出力された前記参照電圧に応じて前記コンパレータの出力信号タイミングが調整されることを特徴とする半導体装置。
【請求項3】
請求項2の半導体装置において、前記参照電圧制御回路は、データパターンの履歴に対応した内部状態を有し、各状態に応じて参照電圧を制御し、
各状態における参照電圧は、前記コンパレータの入力信号がデータサイクルの中心の時刻にとる電圧値に近くなるように設定されていることを特徴とする半導体装置。
【請求項1】
ディジタルデータを受信するレシーバ回路を有する半導体装置であって、
前記レシーバ回路は、入力された前記ディジタルデータを基準電圧と比較しバイナリデータを出力する第1および第2の差動コンパレータと、前記第2の差動コンパレータの基準電圧を設定する可変電圧源と、前記ディジタルデータを所定の時間保持し出力するラッチと、前記第1および第2の差動コンパレータからの出力信号のどちらかを選択し前記ラッチに伝送する切替えスイッチと、前記第1の差動コンパレータからの出力信号と前記ラッチの出力信号に基き参照電圧を決定する制御回路とからなり、
前記可変電圧源は、前記制御回路から制御され前記第2の差動コンパレータに対する参照電圧を決定し、決定された前記参照電圧に応じて前記コンパレータの出力信号が遅延され、遅延された前記コンパレータの出力信号は前記切替えスイッチを介して、前記ラッチに対してデータ信号として取り込まれることを特徴とする半導体装置。
【請求項2】
ディジタルデータを受信するレシーバ回路を有する半導体装置であって、
前記レシーバ回路は、入力された前記ディジタルデータを基準となる参照電圧と比較しバイナリデータを出力する差動コンパレータと、前記差動コンパレータの参照電圧を設定する可変電圧源と、前記ディジタルデータを所定の時間保持し出力するラッチと、
前記差動コンパレータからの出力信号に基づき参照電圧を決定する参照電圧制御回路からなり、
前記可変電圧源は、前記参照電圧制御回路から制御され前記の差動コンパレータに対する参照電圧を出力し、出力された前記参照電圧に応じて前記コンパレータの出力信号タイミングが調整されることを特徴とする半導体装置。
【請求項3】
請求項2の半導体装置において、前記参照電圧制御回路は、データパターンの履歴に対応した内部状態を有し、各状態に応じて参照電圧を制御し、
各状態における参照電圧は、前記コンパレータの入力信号がデータサイクルの中心の時刻にとる電圧値に近くなるように設定されていることを特徴とする半導体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10−a】
【図10−b】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10−a】
【図10−b】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2009−303245(P2009−303245A)
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願番号】特願2009−216805(P2009−216805)
【出願日】平成21年9月18日(2009.9.18)
【分割の表示】特願2004−217509(P2004−217509)の分割
【原出願日】平成16年7月26日(2004.7.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【出願人】(000233169)株式会社日立超エル・エス・アイ・システムズ (327)
【Fターム(参考)】
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願日】平成21年9月18日(2009.9.18)
【分割の表示】特願2004−217509(P2004−217509)の分割
【原出願日】平成16年7月26日(2004.7.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【出願人】(000233169)株式会社日立超エル・エス・アイ・システムズ (327)
【Fターム(参考)】
[ Back to top ]