(57)【特許請求の範囲】
【請求項１】
入力信号の電圧レベルが２クロック期間以上同一の電圧レベルであるか否かによって前記入力信号の変化にかかる時間が異なることに少なくとも起因する、入力信号のスキューを補正する入力バッファであって、
前記入力信号にそれぞれ異なる位相調整を施した出力信号を出力する複数のレシーバ回路と、
前記入力信号の電圧レベルが、（１）２クロック期間以上連続していないか、（２）Ｈレベルで２クロック期間以上連続しているか、および（３）Ｌレベルで２クロック期間以上連続しているかのいずれであるかを少なくとも示す入力信号のパターンを検知するパターン検知回路と、
前記パターン検知回路が検知した前記入力信号のパターンに応じて前記複数のレシーバ回路が出力する複数の前記出力信号のうちの１つを選択する信号選択回路と、
備えた、入力バッファ。
【請求項２】
前記信号選択回路は、前記パターン検知回路が検知した前記入力信号のパターンが、（１）２クロック期間以上連続していないことを示す場合、複数の前記出力信号のうちの第１の出力信号を選択し、（２）Ｈレベルで２クロック期間以上連続していることを示す場合、複数の前記出力信号のうちの第２の出力信号を選択し、（３）Ｌレベルで２クロック期間以上連続していることを示す場合、複数の前記出力信号のうちの第３の出力信号を選択し、
前記第１の出力信号より、前記第２の出力信号の方が位相が進んでおり、
前記第１の出力信号より、前記第３の出力信号の方が位相が進んでいる、請求項１に記載の入力バッファ。
【請求項３】
前記複数のレシーバ回路における前記それぞれ異なる位相調整は、前記入力信号の電圧を前記複数のレシーバ回路毎に異なる参照電位と比較することにより行われる、請求項１または２に記載の入力バッファ。
【請求項４】
前記複数のレシーバ回路における前記それぞれ異なる位相調整は、前記入力信号を前記複数のレシーバ回路毎に異なる時間だけ遅延させることである、請求項１または２に記載の入力バッファ。
【請求項５】
前記パターン検出回路は、
前記入力信号を増幅して出力するバッファ回路と、
前記バッファ回路の出力の電圧レベルを検知し、検知結果として前記入力信号のパターンを出力するレベル検知回路と、
を備えている、請求項１に記載の入力バッファ。
【請求項６】
前記入力信号の電圧は、Ｈレベルの電圧と、Ｈレベルより低いＬレベルの電圧との間において変化し、
前記信号選択回路は、前記入力信号の電圧が連続してＨレベルであった期間が所定の第１期間より長い場合には、ＨレベルからＬレベルへの変化が早く起こるように位相調整された、前記複数のレシーバ回路が出力する複数の前記出力信号のうち１つを選択し、前記入力信号の電圧が連続してＬレベルであった期間が所定の第２期間より長い場合には、ＬレベルからＨレベルへの変化が早く起こるように位相調整された、前記複数のレシーバ回路が出力する複数の前記出力信号のうち１つを選択する、請求項１に記載の入力バッファ。
【請求項７】
前記第１期間と前記第２期間とのそれぞれは、前記入力信号の論理値の最小遷移期間に基づいて定められる、請求項６に記載の入力バッファ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路、特に入力バッファ回路とその制御回路に関するものである。
【０００２】
【従来の技術】
半導体チップ間のデータ転送レートの増大にともない、クロック信号とデータ信号の間のスキューが問題となっている。ここで、スキューとは、並列に読み取られるべきビットの間の非同期をいう。クロック・データ間のスキューが存在すると、通常はデータ・データ間のスキューも存在することとなる。したがって、スキューが存在すると正確なデータ転送をすることができない。
【０００３】
一般に、高速なデータ転送が要求される場合には、複数の信号間の位相差によるスキューを抑制するために、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）等を用いて、信号の出力タイミング調整が行われている。この出力タイミング調整により、複数のデータ信号およびクロック信号の位相が一致し、複数の信号間の位相差によるスキューが抑制される。
【０００４】
【発明が解決しようとする課題】
しかし、データ転送速度がさらに高速になると、信号が連続して同一の電圧（論理）レベルである期間の長さによって信号の変化にかかる時間（遷移時間）が異なることによるスキューが問題となる。信号が同一の電圧レベルである期間が長いほど、信号を出力するドライバが信号を駆動するためにかかる時間等が長くなり、信号の遷移時間が長くなる。
【０００５】
そのため、１つのデータ信号において、同じデータが連続した後にデータが変化した場合にはデータの遷移時間は長くなる。一方、１つのデータ信号において、連続してデータが変化した場合にはデータの遷移時間は短くなる。このように、同じデータが連続した場合と、連続してデータが変化した場合とでは、データの遷移時間に違いが生じる。複数のデータ信号間において、同一データの連続期間の長さによってデータの遷移時間に違いが生じると、データ信号間のスキューが発生する。
【０００６】
図６は、チップ間のデータ転送をする場合に、同一データの連続期間の長さによってデータの遷移時間が異なることによるスキューが発生する様子を示す。図６を参照して、同一データの連続期間の長さが異なる２つの信号がＬレベルからＨレベルに立ち上がる場合を考える。本明細書において、Ｈレベルとは、信号電圧の高い状態であって、２値レベルにおける高い論理値と低い論理値との内、高い論理値に対応する。Ｌレベルとは、信号電圧の低い状態であって、低い論理値に対応する。
【０００７】
図６において、データ信号Ｄ１は同じＬレベルのデータが連続した後に、ＬレベルからＨレベルに立ち上がった信号である。データ信号Ｄ２は、連続してデータが変化した後に、ＬレベルからＨレベルに立ち上がった信号である。ドライバのオン、オフのタイミング調整のような出力タイミング調整により、データ信号Ｄ１とデータ信号Ｄ２との立ち上がりが同時（時刻Ｔ１）に開始されても、信号電圧が参照電位Ｖｒｅｆに到達するまでの時間には時間差ＴＳＫが発生している。
【０００８】
クロックＣＬＫの立ち上がり時に対応する時刻Ｔ０でデータ信号Ｄ２が変化し、さらにクロックＣＬＫの立ち下がり時に対応する時刻Ｔ１でデータ信号Ｄ２が変化した場合には、クロックＣＬＫの周波数が例えば１００ＭＨｚ程度に高くなると、データ信号Ｄ２は、Ｌレベルに対応する電圧値ＶＬに到達する前に、次のデータ（Ｈレベルに対応する電圧値ＶＨ）へ移行する。データ信号Ｄ２とＬレベルに対応する電圧値ＶＬとの間に差ｄＶが生じる。このため、データ信号Ｄ１がデータの受信側でＨレベルあるいはＬレベルを検知するための参照レベルＶｒｅｆに到達するまでの時間とデータ信号Ｄ２が参照レベルＶｒｅｆに到達するまでの時間との間に時間差ＴＳＫが生じる。
【０００９】
このデータ信号Ｄ１とデータ信号Ｄ２との立ち上がり時間の時間差ＴＳＫに起因して、データ信号Ｄ１とデータ信号Ｄ２との間にスキューが発生するという課題が生じる。クロックＣＬＫの周波数が高くなればなるほど（例えば１００ＭＨｚ程度）、時間差ＴＳＫに起因してデータ信号Ｄ１とデータ信号Ｄ２との間に発生するスキューの問題は顕在化する。
【００１０】
上述の出力タイミング調整によって、複数の信号（例えば８ビット）間の位相差によるスキューを抑制できるが、信号電圧が変化しない期間の長さにより信号の遷移時間が異なることによるスキューを抑制することはできない。
【００１１】
本発明は、信号電圧が変化しない期間の長さによりデータの遷移時間が異なることによるスキューを抑制することを目的とする。
【００１２】
【課題を解決するための手段】
本発明に係る入力バッファは、入力信号の電圧レベルが２クロック期間以上同一の電圧レベルであるか否かによって前記入力信号の変化にかかる時間が異なることに少なくとも起因する、入力信号のスキューを補正する入力バッファであって、前記入力信号にそれぞれ異なる位相調整を施した出力信号を出力する複数のレシーバ回路と、前記入力信号の電圧レベルが、（１）２クロック期間以上連続していないか、（２）Ｈレベルで２クロック期間以上連続しているか、および（３）Ｌレベルで２クロック期間以上連続しているかのいずれであるかを少なくとも示す入力信号のパターンを検知するパターン検知回路と、前記パターン検知回路が検知した前記入力信号のパターンに応じて前記複数のレシーバ回路が出力する複数の前記出力信号のうちの１つを選択する信号選択回路と、備え、そのことにより上記目的が達成される。
前記信号選択回路は、前記パターン検知回路が検知した前記入力信号のパターンが、（１）２クロック期間以上連続していないことを示す場合、複数の前記出力信号のうちの第１の出力信号を選択し、（２）Ｈレベルで２クロック期間以上連続していることを示す場合、複数の前記出力信号のうちの第２の出力信号を選択し、（３）Ｌレベルで２クロック期間以上連続していることを示す場合、複数の前記出力信号のうちの第３の出力信号を選択し、前記第１の出力信号より、前記第２の出力信号の方が位相が進んでおり、前記第１の出力信号より、前記第３の出力信号の方が位相が進んでいてもよい。
【００１３】
前記複数のレシーバ回路における前記それぞれ異なる位相調整は、前記入力信号の電圧を前記複数のレシーバ回路毎に異なる参照電位と比較することにより行われてもよい。
【００１４】
前記複数のレシーバ回路における前記それぞれ異なる位相調整は、前記入力信号を前記複数のレシーバ回路毎に異なる時間だけ遅延させることであってもよい。
【００１５】
前記パターン検出回路は、前記入力信号を増幅して出力するバッファ回路と、前記バッファ回路の出力の電圧レベルを検知し、検知結果として前記入力信号のパターンを出力するレベル検知回路と、を備えていてもよい。
【００１６】
前記入力信号の電圧は、Ｈレベルの電圧と、Ｈレベルより低いＬレベルの電圧との間において変化し、前記信号選択回路は、前記入力信号の電圧が連続してＨレベルであった期間が所定の第１期間より長い場合には、ＨレベルからＬレベルへの変化が早く起こるように位相調整された、前記複数のレシーバ回路が出力する複数の前記出力信号のうち１つを選択し、前記入力信号の電圧が連続してＬレベルであった期間が所定の第２期間より長い場合には、ＬレベルからＨレベルへの変化が早く起こるように位相調整された、前記複数のレシーバ回路が出力する複数の前記出力信号のうち１つを選択してもよい。
【００１７】
前記第１期間と前記第２期間とのそれぞれは、前記入力信号の論理値の最小遷移期間に基づいて定められてもよい。
【００１８】
【発明の実施の形態】
はじめに、本発明の原理を説明する。
【００１９】
本発明による入力バッファは、パターン検知回路と、複数のレシーバ回路と、信号選択回路とを備えている。入力バッファへの入力信号は、複数のレシーバ回路と、パターン検知回路とに入力される。各レシーバ回路は、入力信号にそれぞれ異なる位相調整を施した信号を信号選択回路に出力する。パターン検知回路は、入力信号の電圧が変化しない期間の長さを検知し、検知結果を信号選択回路に出力する。信号選択回路は、入力された各レシーバ回路の出力信号のうちの１つを、パターン検知回路による検知結果に応じて選択し、入力バッファの出力信号として出力する。
【００２０】
その結果、入力信号の電圧が変化しない期間の長さによって入力バッファが入力信号に施す位相調整内容が変化する。
【００２１】
以下、図面を参照して本発明の実施の形態を説明する。
【００２２】
（実施形態１）
図１Ａは、本発明の実施形態１のスキュー抑制機能を備えた入力バッファ１０のブロック図である。入力バッファ１０は、パターン検知回路１と、レシーバ回路２、３、４と、セレクタ回路５とラッチ回路６とを備える。
【００２３】
入力バッファ１０は、入力信号ＩＮをレシーバ回路２、３、４により受信する。レシーバ回路２には参照電位Ｖｒｅｆ１、レシーバ回路３には参照電位Ｖｒｅｆ２、レシーバ回路４には参照電位Ｖｒｅｆ３がそれぞれ入力されている。レシーバ回路２、３、４は、入力信号がそれぞれに入力された参照電位を超えるか否かに従って、Ｌレベルの信号又はＨレベルの信号を出力信号ＩＮ１、ＩＮ２、ＩＮ３として出力する。すなわち、レシーバ回路２、３、４は、入力信号が参照電位を超える場合にはＨレベルの信号を出力し、入力信号が参照電位を超えない場合にはＬレベルの信号を出力する。
【００２４】
入力バッファ１０は、パターン検知回路１により入力信号が連続してＨレベルである期間の長さ、及び入力信号が連続してＬレベルである期間の長さ（以下、「入力信号の連続性」という。）を検知する。パターン検知回路１は、前記の検知結果をセレクト信号ＳＥＬ１、ＳＥＬ２としてセレクタ５に出力する。
【００２５】
セレクタ５は、パターン検知回路１から入力されたセレクト信号ＳＥＬ１、ＳＥＬ２の内容に応じて、レシーバ回路２、３、４からの出力信号ＩＮ１、ＩＮ２、ＩＮ３のうちの１つを選択する。セレクタ５により選択された信号が、入力バッファ１０の出力信号ＩＮＳＥＬとして出力される。
【００２６】
図１Ａでは、１ビットの信号を受信する例を示しているが、本発明は、図１Ｂに示すように複数ビットの信号を受信する場合にも適用することができる。
【００２７】
図１Ｂは、複数の入力バッファ１０を用いて複数ビットの信号ＩＮＡ、ＩＮＢ，ＩＮＣを送受信するＩＣチップの構成を示す。図１Ａに示す入力バッファ１０は、チップ７０に内蔵される。入力バッファ１０は、図１Ｂに示すように他のチップ６０に内蔵される複数の出力バッファ５０から並列に送信される複数ビット（例えば８ビット、又は図示したように３ビット）の信号ＩＮＡ、ＩＮＢ，ＩＮＣをケーブルやプリント基板上の配線を介して受信する。出力バッファ５０のそれぞれから出力される複数ビットの信号ＩＮＡ、ＩＮＢ，ＩＮＣのパターンは異なっているため、各出力バッファ５０から複数ビットの信号ＩＮＡ、ＩＮＢ，ＩＮＣが同時に送信される場合であっても、入力バッファ１０のそれぞれで受信されるデータの間で前述したパターンに依存したスキューが発生する。
【００２８】
単一のクロック信号によりデータを受信する際に、クロック周波数が高くなると（例えば１００ＭＨｚ程度）、スキューが発生するため誤った信号を受信しやすくなる。なお、図１Ｂに示す複数ビットの信号を送受信する例を説明しているが、単一ビット信号を送受信する場合にも同様である。即ち図１Ａに示すように単一ビットの信号ＩＮを送受信する場合にもクロック周波数が高くなると（例えば１００ＭＨｚ程度）スキューが発生するため誤った信号を受信しやすくなる。
【００２９】
図２は、入力バッファ１０における参照電位を変更したときの信号検知期間の変化を示す。ここで、通常の参照電位をＶｒｅｆ１とし、Ｖｒｅｆ１より高い参照電位をＶｒｅｆ２とし、Ｖｒｅｆ１より低い参照電位をＶｒｅｆ３とする。図２を参照して、入力バッファ１０への入力信号ＩＮ（データ信号Ｄ１またはＤ２）がＨレベルからＬレベルに立ち下がる場合を考える。
【００３０】
データ信号Ｄ１は、入力信号ＩＮがＨレベルである期間が所定の第１期間以上連続した後に、Ｌレベルに立ち下がった場合の波形である。一方、データ信号Ｄ２は、入力信号ＩＮがＬレベルからＨレベルに立ち上がった直後に、ＨレベルからＬレベルに立ち下がった場合の波形である。
【００３１】
入力バッファ１０が参照電位として通常の参照電位Ｖｒｅｆ１を用いて入力信号ＩＮを受信した場合、データ信号Ｄ１の立ち下がりとデータ信号Ｄ２の立ち下がりとの間には、遅延時間差ＴｐｄＨＬが存在する。しかし、入力バッファ１０がデータ信号Ｄ１の場合にＶｒｅｆ２を用いて入力信号ＩＮを受信し、データ信号Ｄ２の場合にＶｒｅｆ１を用いて入力信号ＩＮを受信することにより、同じタイミングＴａで入力信号ＩＮの立ち下がりを検知することができる。
【００３２】
次に、図２を参照して、入力バッファ１０への入力信号ＩＮがＬレベルからＨレベルに立ち上がる場合を考える。
【００３３】
データ信号Ｄ３は、入力信号ＩＮがＨレベルからＬレベルに立ち下がった直後に、ＬレベルからＨレベルに立ち上がった場合である。一方、データ信号Ｄ４は、入力信号ＩＮがＬレベルである期間が所定の第２期間以上連続した後に、Ｈレベルに立ち上がった場合の波形である。
【００３４】
入力バッファ１０が参照電位として通常の参照電位Ｖｒｅｆ１を用いて入力信号ＩＮを受信した場合、データ信号Ｄ３の立ち上がりとデータ信号Ｄ４の立ち上がりとの間には、遅延時間差ＴｐｄＬＨが存在する。しかし、入力バッファ１０がデータ信号Ｄ３の場合にＶｒｅｆ１を用いて入力信号ＩＮを受信し、データ信号Ｄ４の場合にＶｒｅｆ３を用いて入力信号ＩＮを受信することにより、同じタイミングＴｂで入力信号ＩＮの立ち上がりを検知することができる。
【００３５】
そのため、入力バッファ１０がパターン検知回路１により入力信号の連続性を検知し、検知結果に応じて参照電位を変化させることにより、遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬを補正することができる。これにより、遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬによるスキューを抑制することが可能となる。
【００３６】
前述した所定の第１期間と所定の第２期間とのそれぞれは、例えば、図４Ａを参照して後述するクロック信号ＲＣＬＫにおける隣接する立ち上がりエッジと立ち下がりエッジとの間の期間Ｔｍｉｎに対応する入力信号ＩＮの論理値の最小遷移期間に基づいて定められる。所定の第１期間と所定の第２期間とは、同一の期間であるように定めても良く、異なる期間であるように定めても良い。
【００３７】
図３は、入力バッファ１０が備えるパターン検知回路１の構成を示す。パターン検知回路１は、バッファ回路２１と、ノードＮと、差動増幅器２２、２３と、遅延回路２４、２５とを備える。
【００３８】
パターン検知回路１は、入力信号ＩＮを受信する。バッファ回路２１は、入力信号ＩＮを増幅して出力する。バッファ回路２１とノードＮとの間には寄生容量が存在する。
【００３９】
差動増幅器２２、２３は、ノードＮの電位ＣＩＮに応じて信号を遅延回路２４、２５へ出力する。差動増幅器２２はノードＮの電位ＣＩＮと参照電位ＶｒｅｆＨとを比較し、比較結果を遅延回路２４へ出力する。差動増幅器２３はノードＮの電位ＣＩＮと参照電位ＶｒｅｆＬとを比較し、比較結果をラッチ回路２５へ出力する。なお、参照電位ＶｒｅｆＨは、参照電位ＶｒｅｆＬより高い電位である。
【００４０】
具体的には、差動増幅器２２は、ノードＮの電位ＣＩＮが参照電位ＶｒｅｆＨより高ければ、比較結果を表す信号をＨレベルとし、ノードＮの電位が参照電位ＶｒｅｆＨより高くなければ、比較結果を表す信号をＬレベルとする。差動増幅器２３は、ノードＮの電位ＣＩＮが参照電位ＶｒｅｆＬより低ければ、比較結果を表す信号をＨレベルとし、ノードＮの電位ＣＩＮが参照電位ＶｒｅｆＬより低くなければ、比較結果を表す信号をＬレベルとする。
【００４１】
図４Ａは、本発明の実施形態１におけるスキュー抑制機能を設けた入力バッファ１０の各ノードの動作タイミングを示す。図４Ａを参照して、パターン検知回路１の各ノードにおける動作を説明する。
【００４２】
図４Ａは、入力バッファ１０の入力信号ＩＮ、レシーバ２、３、４の出力信号ＩＮ１、ＩＮ２、ＩＮ３、図３に示すパターン検知回路１のノードＮでの電圧波形ＣＩＮ、パターン検知回路１の遅延回路２４の出力信号ＳＥＬ１、遅延回路２５の出力信号ＳＥＬ２、セレクタ５の出力信号ＩＮＳＥＬおよびデータ受信用のクロック信号ＲＣＬＫの動作タイミングを示している。入力信号ＩＮが、図４Ａに示されるように変化したと仮定して、パターン検知回路１の動作を考える。
【００４３】
入力バッファ１０は、入力信号ＩＮをレシーバ回路２〜４で受け取り、参照電位Ｖｒｅｆ１〜Ｖｒｅｆ３のそれぞれに基づいて出力信号ＩＮ１〜ＩＮ３を出力する。レシーバ回路２〜４のそれぞれは、入力信号ＩＮが参照電位Ｖｒｅｆ１〜Ｖｒｅｆ３を超えれば、”Ｈ”に対応する論理値を出力する。レシーバ回路２〜４のそれぞれは、入力信号ＩＮがレシーバ回路２〜４のそれぞれに入力される参照電位Ｖｒｅｆ１〜Ｖｒｅｆ３を下回れば”Ｌ”に対応する論理値を出力する。
【００４４】
一方パターン検知回路１は、入力信号ＩＮを差動増幅器２２、２３で受け取る。差動増幅器２２は、入力信号ＩＮが参照電位ＶｒｅｆＨを超えるとＨレベルの信号に対応する高い論理値を出力する。差動増幅器２３は、入力信号ＩＮが参照電位ＶｒｅｆＬを下回るとＨレベルの信号に対応する高い論理値を出力する。
【００４５】
遅延回路２４、２５のそれぞれは、差動増幅器２２、２３のそれぞれの出力信号をクロック信号ＲＣＬＫの半周期程度遅延させ、遅延させた出力信号ＳＥＬ１、ＳＥＬ２をセレクタ５に送信する。
【００４６】
セレクタ５は、出力信号ＳＥＬ１、ＳＥＬ２に対応する論理値に基づいてレシーバ２〜４からの出力信号ＩＮ１〜ＩＮ３のうちの１つを選択し、選択結果に基づいて出力信号ＩＮＳＥＬを出力する。ラッチ回路６は、データ受信用のクロック信号ＲＣＬＫに基づいて出力信号ＩＮＳＥＬをラッチする。
【００４７】
上記の手法を採用することにより、単一の参照電位に基づいてデータを受信する従来の場合と比較して、受信データが確定してからデータ受信用のクロック信号ＲＣＬＫに同期して受信データをラッチするまでの期間を多く取る事が可能となる。受信データが確定してからデータ受信用のクロック信号ＲＣＬＫに同期して受信データをラッチするまでの期間は、図４Ａに示すように、従来では期間ＴＭ１、期間ＴＭ３であるが、本実施の形態では期間ＴＭ２、期間ＴＭ４となる。このように本実施の形態によれば、受信データが確定してからデータ受信用のクロック信号ＲＣＬＫに同期して受信データをラッチするまでの期間に関するマージンを大きく取ることができる。
【００４８】
そのため、周波数が高くなったり、ノイズによるスキューが発生した場合に、従来に比べデータのミスラッチが起こりにくくなる。
【００４９】
なお、クロック信号ＲＣＬＫの立ち上がりエッジに同期して受信データをラッチする例を示しているが、本発明はこれに限定されない。受信データは、クロック信号ＲＣＬＫの立ち下がりエッジに同期してラッチしても良い。また、受信データはクロック信号ＲＣＬＫの立ち上がりエッジと立ち下がりエッジとの双方に同期してラッチしても良い。
【００５０】
上述のように、セレクタ５はセレクト信号ＳＥＬ１、ＳＥＬ２の内容に応じて、出力信号ＩＮ１、ＩＮ２、ＩＮ３のうちの１つを出力信号ＩＮＳＥＬとして選択出力する。
【００５１】
図４Ｂは、セレクト信号ＳＥＬ１、ＳＥＬ２の状態と、セレクタ５が選択する信号との関係を示す。図４Ｂにおいて、セレクタ５が選択する信号を選択信号とする。図４Ｂに示すように、セレクト信号ＳＥＬ１がＬレベルであり、かつ、セレクト信号ＳＥＬ２がＬレベルであるとき、セレクタ５は信号ＩＮ１を選択する。セレクト信号ＳＥＬ１がＨレベルであり、かつ、セレクト信号ＳＥＬ２がＬレベルであるとき、セレクタ５は信号ＩＮ２を選択する。セレクト信号ＳＥＬ１がＬレベルであり、かつ、セレクト信号ＳＥＬ２がＨレベルであるとき、セレクタ５は信号ＩＮ３を選択する。なお、セレクト信号ＳＥＬ１がＨレベルであり、かつ、セレクト信号ＳＥＬ２がＨレベルであることはあり得ない。
【００５２】
このように、入力バッファ１０がパターン検知回路１により入力信号の連続性を検知し、検知結果に応じて出力信号ＩＮＳＥＬを選択することにより、実質的に参照電位を変化させることができる。これにより、同一データの連続期間の長さの違いにより生じる遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬを補正することが可能となり、遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬによるスキューを抑制することできる。
【００５３】
なお、本実施の形態においては、入力バッファが備えるレシーバ回路の数を３であるとして説明したが、本発明による入力バッファが備えるレシーバ回路の数は３には限られない。入力バッファが備えるレシーバ回路の数が３以外の場合は、パターン検知回路の検知する入力信号の連続性を、レシーバ回路の数と同一の数のパターンにすれば足りる。
【００５４】
また、上記のパターン検知回路１におけるノードＣＩＮの電位の変化時間は、バッファ回路２１の電流駆動能力を変化させることにより調整することが可能である。バッファ回路２１の電流駆動能力を外部からの信号によって変化させることができるように構成することにより、入力バッファ１０の電源電圧の変化や製造プロセスのバラツキにも対応できる。
【００５５】
また、参照電位Ｖｒｅｆ１、Ｖｒｅｆ２、Ｖｒｅｆ３の値は、入力バッファ１０にテスト信号を送ることにより決定することもできる。これにより、入力バッファ１０の製造プロセスのバラツキおよび使用条件の違いによるスキューも抑制することができる。
【００５６】
（実施形態２）
図５Ａは、本発明の実施形態２のスキュー抑制のための位相調整機能を備えた入力バッファ５０のブロック図である。入力バッファ５０は、パターン検知回路１と、レシーバ５１と、遅延回路５２ａ、５２ｂ、５２ｃと、セレクタ５３とラッチ回路６とを備える。
【００５７】
入力バッファ５０は、入力信号ＩＮをレシーバ５１により受信する。レシーバ５１には参照電位Ｖｒｅｆが入力されている。レシーバ５１は、入力信号が参照電位Ｖｒｅｆを超える場合にはＨレベルの信号を出力し、入力信号が参照電位Ｖｒｅｆを超えない場合にはＬレベルの信号を出力する。レシーバ５１が出力する信号は、パターン検知回路１と、遅延回路５２ａ、５２ｂ、５２ｃとに入力される。
【００５８】
遅延回路５２ａとレシーバ５１とは、第１のレシーバ回路を構成する。遅延回路５２ｂとレシーバ５１とは、第２のレシーバ回路を構成する。遅延回路５２ｃとレシーバ５１とは、第３のレシーバ回路を構成する。このようにレシーバ５１は複数のレシーバ回路で共有される。図５Ａでは、レシーバ５１が複数のレシーバ回路で共有される例を示しているが、本発明はこれに限定されない。レシーバ５１は、複数のレシーバ回路のそれぞれに設けられても良い。
【００５９】
入力バッファ５０は、パターン検知回路１により入力信号の連続性を検知する。パターン検知回路１は、前記の検知結果をセレクト信号ＳＥＬ１、ＳＥＬ２としてセレクタ５３に出力する。パターン検知回路１の動作は、実施形態１において説明した動作と同様である。
【００６０】
遅延回路５２ａ、５２ｂ、５２ｃは、レシーバ５１から出力された信号を、それぞれ所定の時間だけ遅延させて出力信号ＤＬ１、ＤＬ２、ＤＬ３として出力する。遅延回路５２ａは、レシーバ５１から入力された信号を遅延時間ＤＴ１だけ遅延させて出力信号ＤＬ１として出力する。遅延回路５２ｂは、レシーバ５１から入力された信号を遅延時間ＤＴ２だけ遅延させて出力信号ＤＬ２として出力する。遅延回路５２ｃは、レシーバ５１から入力された信号を遅延時間ＤＴ３だけ遅延させて出力信号ＤＬ３として出力する。遅延回路５２ａ、５２ｂ、５２ｃが信号を遅延させる時間はそれぞれ異なる。各遅延時間の間には、ＤＴ１＞ＤＴ２、ＤＴ１＞ＤＴ３の関係が成立する。
【００６１】
セレクタ５３は、パターン検知回路１から入力されたセレクト信号ＳＥＬ１、ＳＥＬ２の内容に応じて、遅延回路５２ａ、５２ｂ、５２ｃからの出力信号ＤＬ１、ＤＬ２、ＤＬ３のうちの１つを選択する。セレクタ５３により選択された信号が、入力バッファ５０の出力信号ＩＮＳＥＬとして出力される。
【００６２】
図５Ｂは、セレクト信号ＳＥＬ１、ＳＥＬ２の状態と、セレクタ５３が選択する信号との関係を示す。図５Ｂにおいて、セレクタ５３が選択する信号を選択信号とする。図５Ｂに示すように、セレクト信号ＳＥＬ１がＬレベルであり、かつ、セレクト信号ＳＥＬ２がＬレベルであるとき、セレクタ５３は信号ＤＬ１を選択する。セレクト信号ＳＥＬ１がＨレベルであり、かつ、セレクト信号ＳＥＬ２がＬレベルであるとき、セレクタ５３は信号ＤＬ２を選択する。セレクト信号ＳＥＬ１がＬレベルであり、かつ、セレクト信号ＳＥＬ２がＨレベルであるとき、セレクタ５３は信号ＤＬ３を選択する。なお、セレクト信号ＳＥＬ１がＨレベルであり、かつ、セレクト信号ＳＥＬ２がＨレベルであることはあり得ない。
【００６３】
このように、入力バッファ５０がパターン検知回路１により入力信号ＩＮの連続性を検知し、検知結果に応じて出力信号ＩＮＳＥＬを選択することにより、入力信号ＩＮに付加する遅延時間を実質的に変化させることができる。これにより、実施形態１において説明した遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬを補正することが可能となり、遅延時間差ＴｐｄＬＨ、ＴｐｄＨＬによるスキューを抑制することできる。
【００６４】
なお、本実施の形態においては、入力バッファが備える遅延回路の数を３であるとして説明したが、本発明による入力バッファが備える遅延回路の数は３には限られない。入力バッファが備える遅延回路の数が３以外の場合は、パターン検知回路の検知する入力信号の連続性を、遅延回路の数と同一の数のパターンにすれば足りる。より細かい入力信号の連続性を検知し、それを遅延時間に反映させる場合には、多数の遅延回路を用意する必要がある。また、遅延時間差ＴｐｄＬＨとＴｐｄＨＬがほぼ等しい場合には、遅延回路の数は２つで足りる。
【００６５】
また、上記のパターン検知回路１におけるノードＣＩＮの電位の変化時間が、バッファ回路２１の電流駆動能力を変化させることにより調整することが可能である点は、実施形態１と同様である。
【００６６】
また、遅延時間ＤＬ１、ＤＬ２、ＤＬ３の値は、入力バッファ５０にテスト信号を送ることにより決定することもできる。これにより、製造プロセスのバラツキおよび使用条件の違いによるスキューも抑制することができる。
【００６７】
【発明の効果】
本発明による入力バッファは、入力信号にそれぞれ異なる位相調整を施した出力信号を出力する複数のレシーバ回路と、入力信号の電圧が変化しない期間の長さを検知するパターン検知回路と、パターン検知回路の検知結果に応じて、複数のレシーバ回路が出力する複数の出力信号のうち１つを選択する信号選択回路を備えることにより、入力信号の電圧が変化しない期間の長さに応じて入力信号に異なる位相調整を施すことができる。その結果、複数の入力信号の電圧が変化しない期間の長さの違いによって発生する入力信号間の立ち上がり又は立ち下がりの遅延時間差を補正することにより、入力信号間のスキューを抑制することが可能となる。
【図面の簡単な説明】
【図１Ａ】本発明の実施形態１のスキュー抑制のための調整機能を備えた入力バッファのブロック図である。
【図１Ｂ】本発明の実施形態１の複数の入力バッファを含むＩＣチップの構成図である。
【図２】本発明の実施形態１における参照電位を変更したときの信号検知期間の変化を示す図である。
【図３】本発明による入力バッファが備えるパターン検知回路の構成を示す図である。
【図４Ａ】本発明の実施形態１におけるパターン検知回路の動作タイミングを示す図である。
【図４Ｂ】本発明の実施形態１におけるセレクト信号の状態とセレクタが選択する信号との関係を示す図である。
【図５Ａ】本発明の実施形態２のスキュー抑制のための調整機能を備えた入力バッファのブロック図である。
【図５Ｂ】本発明の実施形態２におけるセレクト信号の状態とセレクタが選択する信号との関係を示す図である。
【図６】チップ間のデータ転送をする場合に、信号の確定期間に依存してデータの遷移時間が異なることによるスキューが発生する様子を示す図である。
【符号の説明】
１  パターン検知回路
２、３、４  レシーバ回路
５、５３  セレクタ
１０、５０  入力バッファ
２１  バッファ回路
２２、２３  差動増幅器
５１  レシーバ
５２ａ、５２ｂ、５２ｃ  遅延回路
Ｄ１、Ｄ２、Ｄ３、Ｄ４  データ信号
ＤＴ１、ＤＴ２、ＤＴ３  遅延時間
ＴｐｄＨＬ、ＴｐｄＬＨ、Ｔ１  遅延時間差
Ｖｒｅｆ、Ｖｒｅｆ１、Ｖｒｅｆ２、Ｖｒｅｆ３、ＶｒｅｆＨ、ＶｒｅｆＬ  参照電位
【図１Ａ】
0004313469.tif 000002
【図１Ｂ】
0004313469.tif 000003
【図２】
0004313469.tif 000004
【図３】
0004313469.tif 000005
【図４Ａ】
0004313469.tif 000006
【図４Ｂ】
0004313469.tif 000007
【図５Ａ】
0004313469.tif 000008
【図５Ｂ】
0004313469.tif 000009
【図６】
0004313469.tif 000010