説明

情報処理装置

【課題】 情報処理装置内における複数のユニット間の信号受け渡しに関し、周期(周波数)は同じであるが位相は必ずしも一致しない非同期のクロックで動作する回路間で信号を送受信でき、より短いクロック周期で動作する情報処理装置を提供する。
【解決手段】 送信側ユニット100のクロック信号に同期して送出されたデータを、受信側ユニット200のクロック信号に同期して正しく取り込まれるように制御可能な遅延回路203を伝送路中に設け、更に予め決めた単純なパタンをもつデータを送信側ユニットのクロック信号に同期して送出し、該データを受信側で正しく受信したか否かを判定し、その結果を用いて遅延回路203を制御する手段400を設けた。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置内における複数のユニット間の信号受け渡し方式に関し、特に各ユニットが非同期ではあるが同一の周波数で動作する場合に好適な情報処理装置に関する。
【0002】
【従来の技術】多数のプロセッサを搭載し同時に動作させる情報処理装置において、プロッセッサ間でデータを送受信する方法としては、装置内のクロックの周波数と位相を全てのプロッセッサ間で等しくしてクロックの1周期内にデータを送受信する方法が従来あった。ところが、クロック周期を短縮して性能向上を図る場合、LSIの製造ばらつきや、クロック発生器から各プロセッサまでの配線距離ばらつき等に起因するクロック位相のばらつきがクロック周期に対して大きくなる。このため、この方法ではクロック周期短縮による情報処理装置の性能向上には限界があった。
【0003】互いの周波数は等しいが位相は異なるクロックで動作するプロセッサ間でデータを送受信する方法は、例えば特公平6−025957号公報に記載されている。この方法では送信側のプロセッサはデータを送信すると同時に、クロック信号を送信する。以後このデータと同時に送られるクロック信号を併送クロックと呼ぶ。受信側のプロセッサは受信した併送クロックと受信側のクロック信号の位相を比較し、その判定結果から受信側のクロック信号またはその反転クロック信号の適当な一方を用いてデータを取り込み、さらにその取り込んだデータを受信側のクロック信号で取り込むことにより、正しくデータを取り込むことができる。従って、プロセッサ間のクロック位相差に制約を受けることなくデータ転送が可能であり、クロック周期を短縮して、より高性能な情報処理装置を実現できる。
【0004】特公平6−103881号公報には、受信側のユニット内にデータの経路の遅延時間を変化させる手段を設け、その手段を通ったデータをフリップフロップに取り込むと共にそのデータを少し遅らせた信号をテスト用の別のフリップフロップに取り込み、2つのフリップフロップが同じデータを取り込むようにデータの経路の遅延時間を制御する方式が記載されている。
【0005】特開平6−110575号公報には、送信側のユニットを構成するLSIの遅延時間を測定する手段を設け、その結果を基にデータの経路の遅延時間を制御する方式が記載されている。
【0006】また、2つの信号の変化するタイミングが近いか離れているかを判定する方法として、特開昭63−305612号公報に、その2つの信号の内の一方を少し遅らせて取り込むフリップフロップと他方を少し遅らせて取り込むフリップフロップを設けてその結果を比較する方式が述べてある。
【0007】
【発明が解決しようとする課題】上述の従来技術(特公平6−025957号公報に記載の技術)では、併送クロックを用いることにより位相の異なるクロックで動作するプロセッサ間で正しく信号を送受信することができる。ところが、データ信号は多くても1周期に1回だけ切り替わる(ローレベルからハイレベル、またはハイレベルからローレベル)のに対し併送クロックは1周期に2回切り替わる(ローレベルからハイレベルになり、さらにローレベルに戻る)ので、併送クロックの信号伝送路はデータの信号伝送路に対し2倍の周波数を伝送できなくてはならず、従って上限周波数は低くなる。
【0008】また、送信側でクロックに同期してデータを送出する回路の遅延時間だけデータ信号が併送クロックより遅れている等、併送クロックとデータは完全に同じ伝送路の遅延時間を保持することは出来ない。従って、併送クロックを使用した上記従来技術においてはデータ信号と併送クロックの遅延時間差分の余裕が必要となる。これによりクロック周期の短縮が制限される。
【0009】特公平6−103881号公報記載の技術では、データを正しく伝送できるか否かを判定するフリップフロップのうちの一方は、データの伝送に使うフリップフロップと共通であり、データの伝送に使うフリップフロップがデータを取り込むタイミングと同じタイミングで取り込まれた結果を判定に使っている。従って、ぎりぎりのタイミングで正しく伝送できる場合には、データの伝送を開始した直後には正しく伝送できると判定されても、使用の途中で正しく伝送できなくなる場合が有る。その場合には、途中でデータの伝送を中断してデータの経路を切り替えるか、または、あらかじめデータの伝送速度をクロックの複数サイクル毎に1回の割合にして、途中で取り込みのタイミングが変わっても追従できるようにしなければならない。従って、最も速いクロックの1サイクル毎に1回の割合でデータを送ることはできない。
【0010】特開平6−110575号公報記載の技術では、送信側のユニットを構成するLSIの遅延時間のみによって判定するため、受信側のユニットを構成するLSIの遅延時間のばらつきやクロックの位相ばらつきは補正できない。
【0011】特開昭63−305612号公報には2つの信号のタイミングがどの程度離れているかを判定する方法についての記述はあるが、データの伝送方法等に関する記述はない。
【0012】本発明の目的は、周期は同じであるが位相は必ずしも一致しないクロックで動作する回路間で信号を送受信することができ、より短いクロック周期で動作する情報処理装置を提供することにある。
【0013】
【課題を解決するための手段】本発明による情報処理装置では、送信側プロセッサのクロック信号に同期して送出されたデータを、受信側プロセッサのクロック信号に同期して正しく取り込まれるように制御可能な遅延回路を伝送路中に設けた。さらに、あらかじめ決めた単純なパタンをもつデータを送信側プロセッサのクロック信号に同期して送出し、該データを受信側で正しく受信したか否かを判定し、その結果を用いて自動的に該遅延回路を制御する手段を設けた。
【0014】また本発明による情報処理装置では、遅延手段を制御するのにデータ信号を用いるため、伝送路を伝搬する信号の最大周波数は併送クロックを使用したときの半分、すなわちデータを伝送するために本来必要な周波数でよい。さらに、送信側のクロックに同期して送出する回路の遅延時間や、受信側のクロックに同期して取り込む回路のセットアップ時間は、判定回路内にも同じものを持つためより精度よく調整することができる。従ってクロック周期を短縮してより高性能な情報処理装置を実現できる。
【0015】また、本発明による情報処理装置では、データ信号を所定時間βだけ遅らせた信号を受信側のクロックに同期して取り込んだ結果と、受信側のクロックを所定時間αだけ遅らせたクロックに同期してデータ信号を取り込んだ結果を比較し、データ信号が到達する時刻がクロックに近いか否かを判定する。従って、受信側でデータ信号とクロックが離れていると判定される場合には、データ信号はクロックに対して−α〜+βの範囲を超えて離れていることになる。従って、αとβの値がデータ伝送の途中で発生するノイズ等による遅延時間変動より大きな値に設定してあれば、使用の途中で正しく伝送できなくなることはない。従って、本発明による情報処理装置では、最初に疑似的なデータ信号を使って初期設定を行なうことにより、途中でデータの伝送を中断して経路を切り替えることなく最も速いクロックの1サイクル毎に1回の割合でデータを送ることができる。
【0016】また、本発明による情報処理装置では、データ信号を所定時間βだけ遅らせた信号を受信側のクロックに同期して取り込んだ結果と、受信側のクロックを所定時間αだけ遅らせたクロックに同期してデータ信号を取り込んだ結果を比較して、データ信号が到達する時刻がクロックに近いか否かを判断する。従って、送信側のユニットを構成するLSIと受信側のユニットを構成するLSIとその間を接続する信号伝送路を合わせた遅延時間のばらつきを補正できる。
【0017】
【発明の実施の形態】
(1)実施の形態例1図1は本発明による情報処理装置の一実施の形態例を示す。図1において、100は送信側ユニット、200は受信側ユニット、101および201はクロック信号、103、113、204、214、215、224および225はフリップフロップ、104および114は出力バッファ、202および212は入力バッファを表わしており、300および310は送信側ユニット100と受信側ユニット200を接続する伝送路である。
【0018】送信側ユニット100はクロック信号101に従って動作し、受信側ユニット200はクロック信号201に従って動作するものとする。ただしクロック信号101および201は同一のクロック源から供給され周波数は一致するが、その供給経路の遅延時間ばらつき等のため位相は必ずしも一致していないことを前提とする。
【0019】データ転送は、送信側ユニット100からデータ信号群102をクロック信号101に同期して送出し、伝送路300を経由して受信側ユニット200に伝搬した後、クロック信号201に同期してフリップフロップ群204に取り込むことにより行う。
【0020】可変遅延回路203は、クロック信号101に同期してフリップフロップ群103から送出されるデータ信号(以下、単にデータと呼ぶ)が全て同じ時刻のクロック信号201に同期して取り込まれるように、入力バッファ202の出力を遅延してフリップフロップ群204の入力へ送出するために設置される。
【0021】すなわち、データの位相はLSIの製造ばらつきによる能動素子の駆動力等の違いや伝送路300の遅延時間の差等により、フリップフロップ群204の入力ではある時間幅をもってばらつく。クロック信号201の位相がこのばらつきの時間幅の中に入った場合、位相の進んだデータはその周期のクロック信号に同期して取り込まれるが、位相の遅れたデータは次の周期のクロック信号に同期して取り込まれる場合が起こりうる。この場合、データを正しく転送することはできない。可変遅延回路203は、すべてのデータを一斉にある程度の時間だけ遅延させて上記ばらつきの時間幅をクロック信号201の位相から外すために設置され、その遅延時間は位相比較制御回路400により遅延制御信号401を介して制御される。その制御は、分周回路110が出力する分周信号112を疑似的なデータとみなし、その信号(以下、分周データと呼ぶ)をフリップフロップ214および224が正しく受信するように制御する事により行う。
【0022】分周回路110からフリップフロップ224に至る伝送経路は、本来のデータ信号102がフリップフロップ204に至る伝送経路と同じ構成とする。また、分周回路110からフリップフロップ214に至る伝送経路は、遅延時間βの遅延回路216が加わることを除いて上記と同じとする。さらに、フリップフロップ214が使用するクロック信号はフリップフロップ群204が使用するクロック信号201と同じとし、フリップフロップ224が使用するクロック信号は201を遅延時間αの遅延回路226で遅延させたクロック信号221とする。遅延回路216や226は偶数段のインバータ等により構成できるが、その遅延時間αやβの設計方法については動作説明と共に後述する。
【0023】従って、フリップフロップ群103からフリップフロップ群204までの遅延時間と、フリップフロップ113からフリップフロップ224までの遅延時間は概ね等しくなり、フリップフロップ214までの遅延時間はそれよりβだけ長くなる。
【0024】より具体的には、フリップフロップ103と113、出力バッファ104と114、入力バッファ202と212および可変遅延回路203と213、フリップフロップ204、214および224はなるべく同一構成の回路を使用し、各回路間の配線長や負荷数などをなるべく合わせた設計が望ましい。また伝送路300および310は配線長などの条件が同一の伝送路を使用することが望ましい。
【0025】フリップフロップ215および225はそれぞれフリップフロップ214または224がハザードを出したときに不安定な信号が位相比較制御回路400に伝わらないようにするため間に挿入したフリップフロップである。
【0026】230〜232は装置全体を制御するユニットとのインターフェース信号であり、230は受信側ユニット200を初期状態に設定するRESET信号、231は位相比較制御回路400の調整動作を停止するDISABLE信号、232は調整動作の完了を伝えるREADY信号である。
【0027】次に、この回路の動作を説明する。分周回路110はクロック信号101を8分周すると仮定する。分周信号112は、送信側ユニット100のクロック信号101に同期して送出され、伝送路310を経由して受信側ユニット200に伝搬し可変遅延回路213を通った後2分され、一方は遅延回路216で遅延されてクロック信号201に同期してフリップフロップ214に取り込まれ、もう一方はクロック信号221に同期してフリップフロップ224に取り込まれる。
【0028】フリップフロップ215は、クロック信号201に同期してフリップフロップ214の出力を取り込み、その出力の217とその反転出力の218を位相比較制御回路400へ送る。フリップフロップ225は、クロック信号221に同期してフリップフロップ224の出力を取り込み、その出力の227とその反転出力の228を位相比較制御回路400へ送る。
【0029】位相比較制御回路400は、217、218、227および228の各出力を比較し、分周データを正しく取り込むことが出来たか否かを判定し、正しく取りこめなかった場合は遅延制御信号401を変更して可変遅延回路203および213の遅延時間を1ステップだけ増加させ、正しく取りこめたときには調整完了を伝えるREADY信号を出力する。
【0030】図2〜図5のタイムチャートを用いて図1の回路の動作をさらに詳細に説明する。図2〜図5には、クロック信号201を基準とし、クロック信号221、フリップフロップ224の入出力、フリップフロップ214の入出力およびフリップフロップ群204の入力を示した。ただし、クロック信号201の周期をTで表わす。下段は上段と同じ信号の4周期後のタイムチャートを示している。また、フリップフロップ群204と214および224のセットアップタイムは同じと仮定する。
【0031】フリップフロップ群204および224の入力が立ち上がる場合において、フリップフロップ224の入力に対するフリップフロップ群204の入力の相対的なばらつきは±γ2以内に収まると仮定する。同様に、立ち下がる場合において、ばらつきは±γ1以内に収まると仮定する。さらに、送信側のクロック信号101が立ち上がってからフリップフロップ224の入力が切り替わるまでの遅延時間が、立ち上がりの場合と立ち下がりの場合でδだけ差があるとする。図2〜図5では立ち上がりの遅延時間の方が大きい場合を示し、この場合のδを正と定義する。
【0032】フリップフロップ群204の入力とクロック信号201の位相関係として、次の5つのケースを考える。
【0033】ケース1(図2):立ち上がり、立ち下がりデータの双方が全て同じクロック周期で取り込まれる場合(正常な状態)。
ケース2(図3):最も遅い立ち上がりが、クロック周期の後ろの境界よりも遅い場合。
ケース3(図4):最も早い立ち下がりが、クロック周期の前の境界より早い場合。
ケース4(図5):立ち上がり、立ち下がりデータともクロック周期の境界とは重ならないが、立ち上がりと立ち下がりが別の周期に入る場合(|δ|>γ1+γ2の時のみ起こりうる)。
ケース5(図なし):立ち上がりと立ち下がりのばらつきの範囲が重なり、その両方にクロック周期の境界が入る場合。
【0034】ケース1のみが受信側ユニット200のデータが正しく取り込まれることが保証される場合であり、他のケース2〜5はそうでない場合を説明のため分類したものである。以下、図を使用して詳細に説明する。
【0035】図2にケース1のタイムチャートの一例を示す。フリップフロップ群204の入力のうち最も遅い信号は、フリップフロップ224の入力の立ち上がりに対しγ2だけ遅れるのに対し、フリップフロップ214の入力の立ち上がりはβだけ遅れている。従ってγ2<βとなるようにβを決めておけば、フリップフロップ群204のどの入力よりもフリップフロップ214の入力の方が遅くなる。従って、フリップフロップ214の入力がクロック周期の後ろの境界242よりも遅くなければ、フリップフロップ群204の入力は全てクロック周期の後ろの境界242よりも遅くないことが保証される。なお、βが製造ばらつきにより(1±x)の範囲で変化することを考慮して、βの設計値は式1: γ2<β×(1−x)
となるように決める。xの値は、LSI製造工程の難易度や安定度によって異なるが、通常はMOSLSIの場合で20%〜50%、バイポーラLSIの場合で5%〜30%程度と考えられる。
【0036】フリップフロップ群204の入力のうち最も早い信号は、フリップフロップ224の入力の立ち下がりに対しγ1だけ早い。一方、フリップフロップ224の使用するクロック信号221はフリップフロップ群204が使用するクロック信号201に対しαだけ遅れている。従って、α>γ1となるようにαを決めてあれば、クロック周期の前の境界240からフリップフロップ群204の入力までの時間よりも、224に対する前の境界241からフリップフロップ224の入力までの時間の方が小さくなる。従って、フリップフロップ224の入力が224に対する前の境界241よりも早くなければ、フリップフロップ群204の入力は全てクロック周期の前の境界240よりも早くないことが保証される。なお、αが製造ばらつきにより(1±x)の範囲で変化することを考慮して、αの設計値は式2: γ1<α×(1−x)
となるように決める。なお、図2にはδ>0の、立ち下がりよりも立ち上がりの方が遅い場合を示したが、δ<0の、立ち下がりの方が遅い場合は式1’:γ1<β×(1−x)
式2’:γ2<α×(1−x)
となる。αとβは立ち上がり立ち下がりの両方に対し式1および式1’と式2および式2’を満足するように決める。
【0037】式1、式1’、式2、式2’を満足するα、βに対して、フリップフロップ214と224が共にデータを取り込むべきクロック周期243で分周データの立ち上がりを取り込み、さらにその4周期後に共に立ち下がりを取り込むことを確認すれば、ケース1の状態であることが保証される。なお、フリップフロップ214と224が共にデータを取り込むべきクロック周期243で分周データを取り込んだ場合、214の出力が224の出力よりもαだけ早く変化する。
【0038】図3はケース2のタイムチャートの一例を示した。フリップフロップ群204の入力のうち最も遅い信号がクロック周期の後ろの境界242よりも遅くなる場合を示している。フリップフロップ214の入力の立ち上がりの方がさらに遅いため、データを取り込むべきクロック周期243では取り込まれず、従ってフリップフロップ214の出力は本来よりも必ず1周期遅れて立ち上がる。この場合は、フリップフロップ214の出力が224の出力より遅れて立ち上がることにより検出できる。
【0039】図4はケース3のタイムチャートの一例を示した。フリップフロップ群204の入力のうち最も早い信号がクロック周期の前の境界240よりも早くなる場合を示している。境界241に対するフリップフロップ224の入力の立ち下がりのほうがさらに早いため、データを取り込むべきクロック周期243より前に取り込まれ、従ってフリップフロップ224の出力は本来よりも必ず1周期早く立ち下がる。この場合は、フリップフロップ224の出力が214の出力より早く立ち下がることにより検出できる。
【0040】図5にケース4のタイムチャートの一例を示した。|δ|>α+βの場合に、データのクロック201に対する位相によっては、図に示すようにフリップフロップ214および224の立ち上がりと立ち下がりがクロック周期の境界242の前と後ろで別れ別れになる場合が起こり得る。この場合、フリップフロップ群204およびフリップフロップ214と224にデータが取り込まれるのは、立ち上がりについては本来取り込まれるべき周期より全て1周期分後ろになるが、立ち下がりについては本来取り込まれるべき周期で全て取り込まれる。従って、立ち上がり、立ち下がり共214の出力の方が224の出力よりも先に変化するため、214と224の出力をそのまま比較しても検出できない。しかし、フリップフロップ214および224の出力がハイレベル(以後、”H”と表示する)である期間はクロック信号201の3周期分、ローレベル(以後、”L”と表示する)である期間は5周期分となるため、214の出力を4周期分だけ遅延させた信号と224の出力を比較すれば、検出できる。
【0041】ケース5は、|δ|≦γ1+γ2の場合にのみ起こり得る。ケース2(図3)は立ち上がりのばらつきの範囲の中にクロック周期の境界が入った場合、ケース3(図4)は立ち下がりのばらつきの範囲の中にクロック周期の境界が入った場合であるが、ケース5はその両方が起こった場合である。この場合は、フリップフロップ224の出力が214の出力より早く立ち上がることと、立ち下がることの両方で検出できる。
【0042】以上、ケース1〜5でδは正と仮定して説明したが、負の場合も同様である。ただし、δが負の場合はこれまでの説明における立ち上がりと立ち下がりおよび”H”である期間と”L”である期間は逆になる。
【0043】ケース2〜5の場合でも、α+β+|δ|<Tである限り、可変遅延回路を使ってデータを一斉にずらすことによりケース1の状態に位相を移動させることが出来る。位相比較制御回路400はこの移動の程度を制御するために設置される。その制御は上記説明で述べたフリップフロップ214と224の出力を比較しその結果をもとに可変遅延回路を制御する遅延制御信号401を変更することにより行う。
【0044】図6は位相比較制御回路400の部分の一実施の形態例を示す。位相比較制御回路400は位相比較部410、制御部500、カウンタ部550から成る。411、421、431および441は位相比較器、415、425、435、445、451〜454、504〜506、510〜512、516〜518および551はフリップフロップであり、460、412〜414、501〜503、508、509、513〜515、519、520および552等はNAND回路やNOR回路等のゲート回路である。このうち、412および413、508および509、514および515等はS−R型フリップフロップを構成する。217、218、227、228、237および238は位相比較器に入力するデータである。このうち、217および227はそれぞれフリップフロップ214および224の出力をフリップフロップ215および225により1周期ずつ遅らせたもの、218および228はそれぞれ217および227の反転信号、237は217をさらに4周期遅らせたもの、238はその反転信号である。
【0045】最初に、位相比較部410の構成を説明する。位相比較部410は、位相比較器411、421、431および441と、ゲート回路460と、フリップフロップ451〜454より構成される。411、421、431および441は、同じ構成の位相比較器であり、2つの信号の立ち上がりを比較しその結果を出力する。4個あるのは、分周データが受信側ユニット200に正しく取り込まれなかった場合に少なくとも1つの位相比較器がエラーを検出するためである。
【0046】より具体的には、位相比較器411および421は前述のケース2、3または5の場合に少なくとも一方がエラーを検出し、位相比較器431および441は前述のケース4の場合に少なくとも一方がエラーを検出するために設置される。位相比較器の少なくとも1個がエラーを検出すると、その信号がゲート回路460を介して制御部500へ送られる。フリップフロップ451〜454は、フリップフロップ215の出力をクロック信号201の4周期分(すなわち、分周信号112の半周期分)だけシフトするように構成される。
【0047】次に、位相比較部410の動作を説明する。位相比較器411、421、431および441はそれぞれ4つの信号を入力し、図の上側の2つの信号の立ち上がりの時刻のうち、いずれが早いかを判定してその結果を出力する。
【0048】位相比較器411を例にとりその動作をより具体的に説明する。NAND412および413はNAND412を出力とするS−R型フリップフロップを構成している。位相比較器の外からのNAND412および413への入力が共に”L”のとき、NAND412および413の出力は共に”H”に固定されている。ところが、いずれか一方の入力が”H”になると”H”を入力した方のNANDの入力は共に”H”になるためその出力は”L”になる。その後でもう一方の入力が”H”になっても、この出力は変わらない。一方、NOR414の入力はNAND412と413の2つの入力217と227の反転信号の218と228が入力されているので、NAND412と413の2つの入力が両方とも”H”になった時に、NOR414の入力は共に”L”となり、その出力は立ち上がる。フリップフロップ415はNOR414の立ち上がりに同期してNAND412の出力を取り込む。
【0049】従って、位相比較器の外から入力する信号のうち、NAND413の入力がNAND412の入力よりも早く立ち上がる場合にはフリップフロップ415は”H”を出力する。反対に、NAND412の入力がNAND413の入力よりも早く立ち上がる場合にはフリップフロップ415は”L”を出力する。従って、正常な場合にNAND413の入力の方がNAND412の入力よりも早く立ち上がるように接続されていれば、フリップフロップ415の”L”出力がエラー信号となる。他の位相比較器の動作も同様であり、正常な状態では”H”を出力するように接続されている。
【0050】次に、図7〜図13のタイムチャートを使用し、位相比較部410の動作をより詳細に説明する。図7〜図13ではクロック信号201を基準とし、4つの位相比較器へ入力するデータ217、218、227、228、237、および238と、フリップフロップ415、425、435および445の出力を示した。
【0051】まず、図2で述べたケース1の正常な状態では位相比較器はすべて”H”を出力することを説明する。
【0052】図7はケース1のタイムチャートの一例を示している。フリップフロップ415、425、435および445の初期値は前回の位相比較結果から決まるので、図に示したタイムチャート上で最初に位相比較するタイミングまでは”H”または”L”のいずれかに固定されているものとする。位相比較器に入力されるデータの位相関係が正常なので、フリップフロップ214および224はデータを取り込むべきクロック周期243で取り込み、その次の周期でフリップフロップ215と225が各々フリップフロップ214と224の出力を取り込む。
【0053】位相比較器411はNAND412にフリップフロップ225の出力227を入力し、NAND413にフリップフロップ215の出力217を入力している。217が立ち上がり、それからαだけ遅れて227が立ち上がるので、位相比較器411へ入力するデータの位相関係は正常である。フリップフロップ225の反転出力228の立ち下がりと同時に218と228の両方が”L”になるのでフリップフロップ415の出力は”H”に確定する。タイムチャートの右端にフリップフロップの確定後の出力を示す。
【0054】位相比較器421はNAND422にフリップフロップ225の反転出力228を入力し、NAND423にフリップフロップ215の反転出力218を入力している。218が立ち上がり、それからαだけ遅れて228が立ち上がるので、位相比較器421へ入力するデータの位相関係は正常である。フリップフロップ225の出力227の立ち下がりと同時に217と227の両方が”L”になるのでフリップフロップ425の出力は”H”に確定する。
【0055】位相比較器431はNAND432にフリップフロップ225の出力227を入力し、NAND433にフリップフロップ454の反転出力238を入力している。238が立ち上がり、それからαだけ遅れて227が立ち上がるので、位相比較器431へ入力するデータの位相関係は正常である。フリップフロップ225の反転出力228の立ち下がりと同時に228と237の両方が”L”になるのでフリップフロップ435の出力は”H”に確定する。
【0056】位相比較器441はNAND442にフリップフロップ225の反転出力228を入力し、NAND443にフリップフロップ454の出力237を入力している。237が立ち上がり、それからαだけ遅れて228が立ち上がるので、位相比較器441へ入力するデータの位相関係は正常である。フリップフロップ225の出力227の立ち下がりと同時に227と238の両方が”L”になるのでフリップフロップ445の出力は”H”に確定する。
【0057】次に、ケース2または3の、データの立ち上がりまたは立ち下がりのばらつきの範囲の中にクロック周期の境界が入る場合では、位相比較器411と421のフリップフロップのうち、少なくとも一方が”L”を出力して異常を検出することを説明する。
【0058】図8にケース2、δ>0の場合のタイムチャートの一例を示す。ケース1の正常な場合との主な相違は、217の立ち上がりが本来よりも1周期遅れで変化することである。従って、217と227の立ち上がりの前後関係が逆転するため、フリップフロップ415の出力は”L”に確定し、エラーとなる。
【0059】図9にケース2、δ<0の場合のタイムチャートの一例を示す。ケース1の正常な場合との主な相違は、218の立ち上がりが本来よりも1周期遅れで変化することである。従って、218と228の立ち上がりの前後関係が逆転するため、フリップフロップ425の出力は”L”に確定し、エラーとなる。
【0060】図10にケース3、δ>0の場合のタイムチャートの一例を示す。ケース1の正常な場合と異なるのは、228の立ち上がりが本来よりも1周期早く変化することである。従って、218と228の立ち上がりの前後関係が逆転するため、フリップフロップ425の出力は”L”に確定し、エラーとなる。
【0061】図11にケース3、δ<0の場合のタイムチャートの一例を示す。ケース1の正常な場合との主な相違は227の立ち上がりが本来よりも1周期早く変化することである。従って、217と227の立ち上がりの前後関係が逆転するため、フリップフロップ415の出力は”L”に確定し、エラーとなる。
【0062】次に、ケース4の、データの立ち上がりと立ち下がりが異なる周期に入る場合では、位相比較器411および421は異常を検出できないことと、その代わりに、位相比較器431または441のフリップフロップいずれか一方が”L”を出力して異常を検出することを説明する。
【0063】図12にケース4、δ>0の場合のタイムチャートの一例を示す。ケース1の正常な場合との主な相違は、217と227の立ち上がりの双方が本来よりも1周期遅れて変化することである。従って、217と227の立ち上がりの前後関係は保存されるため、位相比較器411および421への入力は正常であり、フリップフロップ415および425は”H”を出力する。しかし、フリップフロップ237の出力は217を4周期分シフトさせたものなので、本来よりも1周期遅れて立ち上がる。従って、228と237の立ち上がりの前後関係が逆転するため、フリップフロップ445の出力は”L”に確定し、エラーとなる。
【0064】図13にケース4、δ<0の場合のタイムチャートの一例を示す。ケース1の正常な場合との主な相違は、218と228の立ち上がりの双方が本来よりも1周期遅れて変化することである。δ>0の場合と同様、位相比較器411および421への入力は正常であり、フリップフロップ415および425は”H”を出力する。しかし、フリップフロップ238の出力は218を4周期分シフトさせたものなので、本来よりも1周期遅れて立ち上がる。従って、218と238の立ち上がりの前後関係が逆転するため、フリップフロップ435の出力は”L”に確定し、エラーとなる。
【0065】最後に、ケース5について述べる。ケース5における位相比較器への入力は、図8において、217と237の立ち下がりを1周期分遅らせ、218と238の立ち上がりを1周期分遅らせて考えればよい。217と227の立ち上がりの前後関係が逆転していることに加えて、218と228の立ち上がりの前後関係も逆転するので、フリップフロップ415と425の出力は共に”L”に確定し、エラーとなる。
【0066】次に、図6の回路中、制御部500およびカウンタ部550の構成を説明する。フリップフロップ504〜506はクロック信号201に同期して信号を取り込み、位相比較部410からのエラー信号を制御部500内に伝えるように構成される。フリップフロップ504〜506の前段に各々接続されたゲート回路501〜503は、DISABLE信号231を用いてフリップフロップ504〜506への入力信号を固定することにより遅延制御信号401の変更を停止するために設置される。
【0067】フリップフロップ510がエラー信号を出力するとカウンタ部550のカウント数が1カウントだけ上昇するようにフリップフロップ510はカウンタ部550に接続される。フリップフロップ551およびNOR552はフリップフロップ510が出力するエラー信号の立ち下がりに起動されて1クロック幅のパルスを発生する回路を構成している。カウンタ553は上記パルス信号に起動されて遅延制御信号401を1カウントだけ上昇させ、保持するための回路である。
【0068】NAND514および515よりなるS−R型フリップフロップは、遅延制御信号401の修正が完了した後に、READY信号232を出力する目的で設置されている。ゲート回路520は、フリップフロップ516の出力、504の反転出力および517の出力を入力とし、READY信号232を出力するための回路である。
【0069】フリップフロップ517の出力からカウンタ553への信号は、RESET信号を受けたときにカウンタ553のカウント値を”0”に初期化するためのものである。
【0070】次に、制御部500およびカウンタ部550の動作を説明する。RESET信号230とDISABLE信号231が共に”H”の状態で、何サイクルかの間クロック信号201が加えられると、フリップフロップ517の出力は”H”、518の出力は”L”となり、カウンタ553のカウント値は”0”となる。この時、NAND回路460の出力が”L”すなわちエラーがなければ、フリップフロップ504と505の出力は”L”、506の出力は”H”となる。すると、何サイクルか後には、510、511の出力は”H”となる。
【0071】すなわち、もし511の出力が”L”であれば509の出力が”H”となり508の出力は”L”となる。以後、506の出力が”L”にならない限り508の出力が”L”で509の出力が”H”の状態は保持され、その何サイクルか後には510、511の出力は”H”となる。
【0072】ところが、エラーが検出されると460の出力は”H”となり3サイクル後には506の出力は”L”となり508の出力は”H”となる。すると、511の出力が509で反転されて510に加えられる。
【0073】フリップフロップ510〜512のクロック端子には送信側ユニット100内の分周器110で8分周された分周信号112が多数のフリップフロップ等を介して454から出力されたものが加えられているため、509の出力は8周期後に510に取り込まれ、さらに8周期後には511に取り込まれる。これがまた509で反転されるため、509〜512の出力はクロック信号の32倍の周期で変化する。
【0074】510の出力が変化すると、その立ち下がりに起動されて551および552が構成する回路は1クロック幅のパルスを出力し、これがカウンタ553に加えられる。この後RESET信号230を”L”にしてリセットを解除するとカウンタ553のカウント値は32サイクルごとに1カウントずつ増加し、その結果が遅延制御信号401を介して可変遅延回路203および213に伝えられる。そしてエラーが解消するまでカウンタ値は1カウントずつ増加し、それに伴って可変遅延回路203および213の遅延時間も少しずつ増加する。
【0075】そして、図7のケース1の状態になったところで、エラーが解消され、460の出力が”L”となり、506の出力は”H”となる。すると、その後に509の出力が”H”になったときに508の出力が”L”となり、再びエラーが検出されない限り501から509の出力は変化しない。そして、510〜512の出力も順次保持される。
【0076】カウント値の変化を32サイクル毎に1カウントと定めたのは、遅延時間を変化させた結果が位相比較結果に反映されるまでの時間を十分に確保するためである。
【0077】READY信号232は、RESET信号230が解除され、エラー信号が消え、位相調整の動作が終了してから8サイクル以上経過後に”H”となる。
【0078】すなわち、RESET信号230が”H”の間は517の出力が”H”であり、この間にエラー状態であれば、504および515、516の出力はすべて”H”である。その後、RESET信号230が”L”となり、さらに十分な時間が経過して512の出力が515の出力を反転させて516に取り込まれるとREADY信号232が”H”となる。これを待って、DISABLE信号231を”L”にすると、以後はエラーが検出されても遅延制御信号401は変化しなくなる。
【0079】遅延回路226、216の遅延時間α、βが伝送路の遅延時間ばらつきγ1、γ2より十分に大きくなるように設定しておけば、調整が一度終了した後に時々エラーが検出されても、データ信号102は正常に伝送されていると見做すことができる。
【0080】可変遅延回路203および213は、例えば当社の出願にかかる特開平6−97788号公報に記載したもの等が使用可能である。そのうちの一例を図14R>4に示す。バッファ600は入力バッファ202の出力を受けるバッファである。ゲート回路611、612、613、614および615はそれぞれデータ信号を遅延するために接続されている。セレクタ601、602、603および604に入力する信号はいずれも図の上側の入力に対し下側の入力がそれぞれの回路を通過する分遅延が大きい。
【0081】例えば、遅延制御信号401A、401B、401Cおよび401Dが”L”のときセレクタ601〜604は各々遅延時間の小さい上側の入力を選択してその反転信号を出力し、”H”のときは逆にセレクタ601〜604は各々遅延時間の大きい下側の入力を選択しその反転信号を出力する。したがって、遅延制御信号401A、401B、401Cおよび401Dを変えることによりバッファ600がデータ信号を受けてからセレクタ601がその信号を出力するまでの遅延時間を変えることができる。すなわち、遅延制御信号401A、401B、401Cおよび401Dが全て”H”であり、全てのセレクタが図の下側の入力を選択しているときに遅延時間は最も大きい。遅延制御信号401D、401C、401B、401Aの順に”L”となる毎に遅延時間は小さくなり、すべて”L”のときに遅延時間は最小になる。
【0082】ここで、可変遅延回路203および213の可変幅Aおよび分解能Sの設計方法の一例を示す。まず、クロック信号201のジッタ幅および信号伝送路の温度変化による遅延時間の変化等の総和をΔTとおく。
【0083】可変幅Aの決定方法を図3を用いて説明する。可変幅Aは、フリップフロップ群204の入力のうち最も遅いものがデータを取り込むべき周期243で必ず取り込むことが保証されなくなった場合に、データを一斉にずらせて、必ず次の周期で取りこめると保証される位相まで移動できる大きさが必要である。
【0084】前者の位相は図3のフリップフロップ204、214および224の入力を一斉に少し前に移動してフリップフロップ214の入力の立ち上がりがクロック周期の後ろの境界242に一致する場合である。この時224の入力の立ち下がりは242から(β+|δ|)だけ前にある。後者の位相は、図3のフリップフロップ204、214および224の入力を一斉に後に移動して224の入力の立ち下がりが境界242のαだけ後ろに一致する場合である。
【0085】従って、この時移動させる位相の総和は(α+β+|δ|)であり、可変幅Aはこれ以上であればよい。なお、A、α、βが製造ばらつきにより(1±x)の範囲で変化することを考慮して、Aの設計値は、 式3: A×(1−x)≧(α+β)×(1+x)+|δ|となるように決める。
【0086】次に、分解能Sの設計方法を図4を用いて説明する。分解能Sは、フリップフロップ群204の入力のうち最も早いものがデータを取り込むべき周期243で必ず取り込むことが保証されなくなった場合に、データを分解能Sだけ一斉にずらせても、最も遅いデータがクロックの周期の後ろの境界242を越えないようにしなくてはならない。
【0087】前者の位相は図4のフリップフロップ204、214および224の入力を一斉に少し後に移動して、フリップフロップ224の入力の立ち下がりが224に対する前の境界241に一致する場合である。この時214の入力の立ち上がりは240から(α+β+|δ|)だけ後にある。後者の位相は、図3のフリップフロップ204、214および224の入力を一斉に後に移動して214の入力の立ち上がりが境界242に一致する場合である。
【0088】この時可変遅延回路で位相を移動させ得る限度は(T−(α+β+|δ|))であり、可変幅Sはこれ以下であればよい。なお、ジッタ等で周期が最小で(T−ΔT)になる場合があることと、さらにS、α、βが製造ばらつきにより(1±x)の範囲で変化することとを考慮して、Sの設計値は、 式4: T≧(α+β+S)×(1+x)+|δ|+ΔTとなるように決める。
【0089】また、Sの設計値の上限がAの設計値の下限よりも大きい場合は、A=Sで設計することができる。言い換えると、可変遅延回路を1段で構成できる。そのための条件は式3および式4より、 式5:(T−((α+β)×(1+x)+|δ|+ΔT))÷(1+x)≧ ((α+β)×(1+x)+|δ|)÷(1−x)
となる。
【0090】なお、本実施の形態例の説明で、データ信号群102として3つの信号を示してあるが、1つ以上任意である。遅延制御信号401のビット数も説明のため4ビットで示したが、可変遅延回路の切り替え段数により変わる。また、分周器110の分周数は8を仮定したが本発明はこれに限定されない。
【0091】(2)実施の形態例2図15は本発明の他の実施の形態例を示したものである。図15の実施の形態例は図1の実施の形態例と似た構成であるが、主な相違点は可変遅延回路203の構成と、位相比較制御回路400の構成及び動作である。本実施の形態例では切り替え段数1段の可変遅延回路203を遅延回路261およびセレクタ260で構成している。前述した通り、式5が成立する時にはこの構成の可変遅延回路が使える。この回路は遅延回路261を通過した信号と通過しない信号のいずれかを遅延制御信号401を用いて選択する。切り替え段数が1段なので遅延制御信号401は1ビットである。遅延回路262はセレクタ260が図の上側の信号を選択した時の遅延時間に等しくなるように設計する。
【0092】図16は本実施の形態例等に使用する位相比較制御回路400の構成の一実施の形態例である。実施の形態例1の機能の一部分を省略し、より単純な構成で本発明を実現した一例であり、主な相違点はDISABLEおよびREADY機能の省略と位相比較器の数である。
【0093】位相比較器の数が少ないのは、本実施の形態例において前述のケース4が起こらないことを前提としており、ケース4を検出するための位相比較器が不要であるからである。その前提条件は図5の説明より、式6:|δ|≦α+βで示される。
【0094】415および425はセット機能付き、711および712はリセット機能付きのフリップフロップである。
【0095】図16の回路の動作を説明する。RESET信号が”H”であり、クロック信号201が加えられると、フリップフロップ710の”L”出力がフリップフロップ415、425、711および712に加えられ、711および712の出力は”L”に、415と425の出力は”H”になる。
【0096】RESET信号が”L”に解除されると、位相比較器411および421はフリップフロップ712の出力が”L”である間は、実施の形態例1と同様に位相比較を行い、エラーを検出したら”L”を出力し、それはゲート回路460を介して遅延制御信号401を反転する。但し、この実施の形態例で比較される信号は、遅延制御信号の状態にかかわらず、セレクタが遅延時間の短い側を選択した場合に相当する信号であり、その比較結果を保持する。
【0097】フリップフロップ711および712はNOR424の立ち上がりに同期してデータを取り込む。比較器の入力227と217の少なくとも一方が”H”の状態から共に”L”になると、NOR424の出力は”L”から”H”となりフリップフロップ711は710の出力”H”を取り込む。さらに比較器の入力227と217が”H”となりその後再び”L”になると、NOR424の出力は一度”L”となった後再び”H”となりフリップフロップ712は711の出力”H”を取り込む。するとそれ以後は、NOR414および424の出力は”L”を保持するので、フリップフロップ415と425の出力は変化しなくなる。
【0098】この間、位相比較器421は位相比較を2回行ない、411は少なくとも1回以上行うので、実施の形態例1で説明したケース2、3および5のエラーを検出できる。そして、位相比較器411および421がそれぞれ最後に行った位相比較で、いずれもエラーが検出されなかった時には、可変遅延回路の遅延時間が短い側の状態で正常に伝送できると判断され、遅延制御信号401は短い側を選択する状態になる。逆に、少なくとも一方でエラーが検出された場合には、遅延制御信号401は可変遅延回路の遅延時間が長い側の状態で正常に伝送できると判断され、遅延制御信号401は長い側を選択する状態になる。
【0099】(3)実施の形態例3本発明のさらに他の実施の形態例を図17に示す。本実施の形態例と実施の形態例1の主な相違点は、位相比較に使用する分周信号112を伝送するための経路を、データ信号群102を伝送するための経路の1つと共用している点であり、これにより信号伝送路の削減が可能である。
【0100】可変遅延回路203の遅延時間を設定する場合、セレクタ120は分周信号112を選択しフリップフロップ103へ出力する。設定が終了し、READY信号が”H”になった後、データ切替信号130を変更してセレクタ120がデータ信号102を選択する。
【0101】(4)実施の形態例4本発明のさらに他の実施の形態例を図18に示す。本実施の形態例は実施の形態例2において、位相比較に使用する分周信号112を伝送するための経路を、データ信号群102を伝送するための経路の1つと共用した一例である。
【0102】(5)実施の形態例5本発明のさらに他の実施の形態例を図19に示す。本実施の形態例と他の実施の形態例の主な相違点は、双方向バッファを用いて送受信可能な複数のユニット間を接続し、同一の伝送路を使用して相互に信号を送受信することである。
【0103】150はクロック信号101に従い動作する送受信ユニット、150Aはクロック信号101Aに従い動作する送受信ユニットである。
【0104】送受信ユニット150および150Aの可変遅延回路の遅延時間は例えば次のように設定する。
【0105】装置全体を制御するユニットにより送受切替信号105および105Aのいずれか一方のみが送信を有効にするように決められる。以下、送受信ユニット150の可変遅延回路の遅延時間を先に決定する場合を仮定して説明する。
【0106】まず、送受切替信号105Aが送信を有効にし、分周信号112Aはバッファ114Aおよび伝送路310を介して送受信ユニット150へ送られる。送受信ユニット150はこれを使用して可変遅延回路の遅延時間を設定し、READY信号232を出力すると、装置全体を制御するユニットは送受切替信号105Aを変更し、その後105を変更する。すると、分周信号112はバッファ114および伝送路310を介して送受信ユニット150Aへ送られる。送受信ユニット150Aはこれを使用して可変遅延回路の遅延時間を設定し、READY信号232Aを出力する。以後、送受信ユニット150と150Aの間で信号の送受信が正しく行われる。
【0107】なお、本実施の形態例は実施の形態例1の構成の一部分を変更して双方向通信可能な構成を示したが、上記いずれの実施の形態例においても双方向通信可能な構成を実現できる。さらに、本実施の形態例は送受信ユニットが3個以上ある場合にも適用可能である。
【0108】(6)実施の形態例6次に、図6に示した位相比較制御回路400の他の実施の形態例について述べる。図20にその回路図を示す。図20において、2000、2001はNAND回路、2002はS−R型のフリップフロップ、その他の構成要素は図6とほぼ同じである。なお、カウンタ回路553の下位の3ビットは使用せず、上位の数ビットだけを遅延制御信号401として使用する。図20の構成と図6R>6の構成の主な違いは、DISABLE信号231およびREADY信号232を省略しRESET信号230のみで制御できるようにした点と、位相比較部410内の431および441の部分とフリップフロップ451〜454の部分を除いた点である。
【0109】図20の回路の制御部の動作を示すタイミングチャートの例を図21に示す。図21の201〜2054は、それぞれ図20の同じ符号で示す信号の電圧の変化を表わす。図20の回路のリセット信号230は、図21に示すようにある時刻にローレベルからハイレベルに立ち上がり所定時間後に立ち下がるように変化をさせる。この信号が立ち上がった時点の約2サイクル後より初期設定が開始され、立ち下がった時点の約2サイクル後に初期設定が終了する。
【0110】具体的には、リセット信号230が立ち上がった次のサイクルには、2051の信号がハイレベル、2054の信号がローレベルとなり、カウンタ回路553がリセットされる。そしてその次のサイクルでは、2054の信号がハイレベルとなってカウンタ回路553のリセットが解除されるとともに、2052の信号がハイレベルとなる。すると、その時にNAND回路460の出力2055がハイレベルであれば、カウンタ回路553のイネーブル信号2057はハイレベルとなって1サイクル毎にカウントが進行する。カウンタ回路553の下位の3ビットを除いた上位のビットだけが遅延制御信号401として使用されるため、遅延制御信号401は8サイクル毎に1ステップずつ上昇し、従って、可変遅延回路203および213の遅延時間は8サイクル毎に1ステップずつ増大する。
【0111】そしてフリップフロップ214と224が同じサイクル内に分周信号を取り込むようになって信号2055がローレベルになった時、あるいは、最初から信号2055がローレベルであった場合には、カウンタ回路553のイネーブル信号2057はローレベルとなってその時のカウント値が保持される。
【0112】その後、リセット信号230がローレベルになると、その2サイクル後には2052の信号がローレベルになり、以後はカウンタ回路553のイネーブル信号2057が立ち上がることはない。従って、リセット信号230は、電源投入後に電源電圧と温度が安定するまでの時間を待ってから立ち上げ、装置内部で発生するノイズの周期より長い時間ハイレベルを保った後に立ち下げるようにする。フリップフロップ2002を設けた理由は、初期設定終了の直前に2055の信号がハイレベルとなって遅延制御信号401が上昇を始めた場合に、その後再び2055の信号がローレベルとなるまで初期設定を継続させるためである。
【0113】また、図20の回路では図6の回路に設けた431および441の部分とフリップフロップ451〜454の部分を除いてある。この部分が不要となるのは、図16の説明にも述べた通り式6の条件が成り立つ場合である。すなわち、式6の条件が成り立つ場合には図5に示したケース4が起こり得ないため、ケース4を検出するためのこの部分が不要となる。
【0114】(7)実施の形態例7次に、図16に示した位相比較制御回路400の他の実施の形態例について述べる。図22にその回路図を示す。図22において、2200はS−R型のフリップフロップ、その他の構成要素は図20とほぼ同じである。図22の回路についても、図20の回路と同様に、リセット信号230は電源投入後に電源電圧と温度が安定するまでの時間を待ってから立ち上げ、装置内部で発生するノイズの周期より長い時間ハイレベルを保った後に立ち下げる。
【0115】すると、リセット信号230を立ち上げた次のサイクルでフリップフロップ2200がリセットされ、その後2052の信号がハイレベルの間に1回でも2055の信号がハイレベルになれば、遅延制御信号401はハイレベルになる。2052の信号がハイレベルの間に1回も2055の信号がハイレベルにならなければ、遅延制御信号401はローレベルのままである。そしてリセット信号を立ち下げた後は、その時の遅延制御信号401が保持される。
【0116】図16に示した位相比較制御回路では、分周信号112の立ち上がりおよび立ち下がりに対してそれぞれ初期設定終了の直前の1回ずつの位相比較結果のみによって遅延制御信号401が決まるのに対し、図22R>2の回路では、リセット信号230がハイレベルを保っている間に行なわれる複数回の位相比較結果によって遅延制御信号401が決まるため、その間に発生するノイズによる位相変動分も含めたより精度の高い判定が可能であり、従って図16の場合よりαとβの値を小さく設定できる。
【0117】(8)実施の形態例8図23は、図22に示した位相比較制御回路400の更に他の実施の形態例を示す回路図であり、フリップフロップ214または224がハザードを出した時にこれが後段に伝播するのを防ぐためのフリップフロップ215および225を除いた構成になっている。フリップフロップ214がハザードを出す場合はケース1とケース2のちょうど境界の状態であり、フリップフロップ224がハザードを出す場合はケース1とケース3のちょうど境界の状態である。このような場合には、図15のセレクタ260がいずれの経路を選択してもフリップフロップ204は正しくデータを取り込むはずであり、従って遅延制御信号401はいずれのレベルに固定されても構わない。特に図22のように位相比較結果を保持するフリップフロップ415および425と遅延制御信号401を保持するフリップフロップ2200を別々に設けた場合は、フリップフロップ215および225は殆どの場合不要であると考えられる。
【0118】(9)実施の形態例9本発明のさらに他の実施の形態例を図24に示す。図24R>4の実施の形態例は図18の実施の形態例をさらに変形したもので、分周信号用の伝送路310とデータ信号用の伝送路300の兼用を、データ信号用伝送路300の全てのビットに対して行なった構成である。図24において、2400はセレクタ、2450はセレクタ2400を切り替えるための信号である。
【0119】また図24には、クロック信号101および201の供給方法の一例も併せて示す。図24において、2430はクロック信号101および201の元になるクロック信号を発生する発振回路、2431はそのクロック信号を送信側ユニット100および受信側ユニット200に分配するためのバッファ回路である。発振回路2430やバッファ回路2431は、それぞれ別々のLSI内に構成することもできるし、このうちのいくつかを同一のLSI内に構成することもできる。2410および2420はバッファ回路2431から供給されるクロック信号をそれぞれ送信側ユニット100または受信側ユニット200を構成するLSI内に取り込むための入力バッファ回路、2411および2421はそのクロック信号を元に所定の周波数のクロック信号を発生するためのPLL回路、2412および2422はそのクロック信号をそれぞれ送信側ユニット100または受信側ユニット200を構成するLSI内の多数の回路に分配するためのバッファ回路である。
【0120】2450の信号は、たとえばクロック信号201を分周することによって発生し、セレクタ回路2400がデータ信号の全てのビットを順次選択するように切り替える。これにより、データ信号の経路の全てのビットに対して位相比較制御回路400による判定が行なわれるため、データ信号の経路のビット毎の遅延時間ばらつきによる誤差を除いたより精度の高い判定が可能であり、従って図15や図18の場合よりαとβの値を小さく設定できる。
【0121】(10)実施の形態例10本発明のさらに他の実施の形態例を図25に示す。図25R>5の実施の形態例は、図1または図15の実施の形態例において、1個の送信側ユニット100に対して複数の受信側ユニット200aおよび200bを設けた例である。図25では、送信側ユニット100と受信側ユニット200aおよび200bの内部の回路は一部省略して記載したが、それぞれ図1または図15の送信側ユニット100および受信側ユニット200と同じ構成である。この図に示すように複数の受信側ユニットに信号を伝送する場合、送信側ユニット100から受信側ユニット200aにデータ信号が伝わる伝播時間と送信側ユニット100から受信側ユニット200bにデータ信号が伝わる伝播時間とを一致させなくても、本発明によれば各受信側ユニット毎に位相調整が可能である。また、このように複数の受信側ユニットを設ける構成は、図17〜19および図24の実施の形態例に対しても可能である。
【0122】(11)実施の形態例11本発明のさらに他の実施の形態例を図26に示す。図26R>6の実施の形態例は、図1または図15の実施の形態例において、1個の受信側ユニット200に対して複数の送信側ユニット100aおよび100bを設けた例である。図26において、2600は複数の送信側ユニットの内のいずれがその時に信号を出力するのかを制御するための回路であり、この図に示すように各ユニットの外部に設置することもできるし、送信側ユニット100aもしくは100bもしくは受信側ユニット200の内のいずれかの中に設置することもできる。
【0123】また、この実施の形態例で送信側ユニット100aおよび100bの中に設ける出力バッファ104および114は、図19の実施の形態例と同様にイネーブル端子によって制御可能な出力バッファを使用する。この実施の形態例における初期設定は、最初に送信側ユニット100aと受信側ユニット200の間で図1または図15の実施の形態例における初期設定と同様に行ない、その時の遅延制御信号401を受信側ユニット200の内部に記憶した後、送信側ユニット100bと受信側ユニット200の間で図1または図15の実施の形態例における初期設定と同様に行なう。
【0124】そして、その時の遅延制御信号401も受信側ユニット200の内部に記憶する。実際にデータの伝送を行なう時には、その時の送信側ユニットがいずれであるかに応じて、その送信側ユニットに対応する遅延制御信号401を使用する。また、図26でも、送信側ユニット100aおよび100bと受信側ユニット200の内部の回路は一部省略して記載したが、上記に説明した部分以外はそれぞれ図1または図15の送信側ユニット100および受信側ユニット200とほぼ同じ構成である。また、この実施の形態例においても、送信側ユニット100aから受信側ユニット200に信号が伝わる伝播時間と送信側ユニット100bから受信側ユニット200に信号が伝わる伝播時間とを一致させなくても、本発明によれば各送信側ユニット毎に位相調整が可能である。また、このように複数の受信側ユニットを設ける構成は、図17〜19および図24、25の実施の形態例に対しても可能である。
【0125】
【発明の効果】以上述べたように本発明によれば、周波数は等しいが位相の異なるクロックで動作する回路間でデータを送受信する場合に、併送クロックを用いることなく正しくデータを送受信できるため、情報処理装置のクロック周期を短縮し高性能な情報処理装置を実現できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態例を示す回路図である。
【図2】図1の実施の形態例の回路の動作を示すタイミングチャートの例である。
【図3】図1の実施の形態例の回路の動作を示すタイミングチャートの例である。
【図4】図1の実施の形態例の回路の動作を示すタイミングチャートの例である。
【図5】図1の実施の形態例の回路の動作を示すタイミングチャートの例である。
【図6】図1の実施の形態例に使用する位相比較制御回路の構成を示す回路図である。
【図7】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図8】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図9】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図10】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図11】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図12】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図13】図6の位相比較器の回路の動作を示すタイミングチャートの例である。
【図14】図1の実施の形態例に使用する可変遅延回路の構成を示す回路図である。
【図15】本発明の他の実施の形態例を示す回路図である。
【図16】図15の実施の形態例に使用する位相比較制御回路の構成を示す回路図である。
【図17】本発明の他の実施の形態例を示す回路図である。
【図18】本発明の他の実施の形態例を示す回路図である。
【図19】本発明の他の実施の形態例を示す回路図である。
【図20】図1の実施の形態例に使用する位相比較制御回路の他の構成を示す回路図である。
【図21】図20の位相比較制御回路の動作を示すタイミングチャートの例である。
【図22】図15の実施の形態例に使用する位相比較制御回路の他の構成を示す回路図である。
【図23】図15の実施の形態例に使用する位相比較制御回路の他の構成を示す回路図である。
【図24】本発明の他の実施の形態例を示す回路図である。
【図25】本発明の他の実施の形態例を示す回路図である。
【図26】本発明の他の実施の形態例を示す回路図である。
【符号の説明】
100 送信側ユニット
200 受信側ユニット
150 送受信ユニット
101、201、221 クロック信号
102、217、218、227、228、237、238 データ信号
103、113、204、214、215、224、225、415、425、435、445、451〜454、504〜506、510〜512、516〜518、551、710〜712 フリップフロップ
104、114、202、212、600 バッファ
105、130、230〜232、401 制御信号
110 分周器
112 分周信号
120、260、601〜604 セレクタ
203、213 可変遅延回路
216、226、261、262 遅延回路
240〜242 時間の境界
243 クロック周期
300、310 信号伝送路
400 位相比較制御回路
410、500、550 位相比較制御回路内の部分
411、421、431、441 位相比較器
412〜414、422〜424、432〜434、442〜444、460、501〜503、508、509、513〜515、519、520、552、611〜615 ゲート回路
553 カウンタ。

【特許請求の範囲】
【請求項1】第1のクロックに同期してデジタル信号を出力する第1の回路と、上記第1のクロックと同じ周波数の第2のクロックに同期して上記デジタル信号を取り込む第2の回路と、上記第1の回路から上記第2の回路へ上記デジタル信号を伝達するための信号伝送路と、上記第2のクロック信号に応答して、かつ、上記第2の回路と異なるタイミングで上記デジタル信号を取り込む第3の回路と、上記信号伝送路の伝搬時間を変更する第4の回路と、上記第2の回路が取り込んだデジタル信号と上記第3の回路が取り込んだデジタル信号を比較し、その結果により上記第4の回路を制御する第5の回路と、および上記第2の回路が上記デジタル信号を取り込むタイミングと上記第3の回路が上記デジタル信号を取り込むタイミングの中間のタイミングで、上記デジタル信号または上記デジタル信号で伝送される第2のデジタル信号を取り込む第6の回路とを有する情報処理装置。
【請求項2】所定の変化をする上記デジタル信号を発生し、上記第1の回路へ供給する信号発生回路を有する請求項1記載の情報処理装置。
【請求項3】上記信号発生回路は、上記第1のクロックを分周して上記デジタル信号を発生することを特徴とする請求項2記載の情報処理装置。
【請求項4】上記第5の回路は、上記第2の回路と上記第3の回路が同じ信号を取り込んだ場合は上記伝搬時間を変更しないように上記第4の回路を制御し、上記第2の回路と上記第3の回路が異なる信号を取り込んだ場合は上記伝搬時間を変更するように上記第4の回路を制御することを特徴とする請求項1記載の情報処理装置。
【請求項5】上記第5の回路は、外部から入力される信号に従って上記第4の回路を制御するか制御しないかを決定することを特徴とする請求項4記載の情報処理装置。
【請求項6】上記第5の回路は、外部から入力される信号が当該情報処理装置を初期設定する信号であるとき上記第4の回路を制御することを特徴とする請求項5記載の情報処理装置。
【請求項7】第1のクロックに同期して第1のデジタル信号を出力する第1の回路と、第1のクロックに同期して第2のデジタル信号を出力する複数の第6の回路と、上記第1のクロックと同じ周波数の第2のクロックに同期して上記第1のデジタル信号を取り込む第2の回路と、上記第1のクロックと同じ周波数の第2のクロックに同期して上記第2のデジタル信号を取り込む複数の第7の回路と、上記第1の回路から上記第2の回路へ上記第1のデジタル信号を伝達するための第1の信号伝送路と、上記複数の第6の回路から上記複数の第7の回路へ上記第2のデジタル信号を伝達するための複数の第2の信号伝送路と、上記第2のクロック信号に応答して、かつ、上記第2の回路と異なるタイミングで上記第1のデジタル信号を取り込む第3の回路と、上記第1の信号伝送路の伝搬時間を変更する第4の回路と、上記複数の第2の信号伝送路の伝搬時間を変更する複数の第8の回路と、および上記第2の回路が取り込んだデジタル信号と上記第3の回路が取り込んだデジタル信号を比較し、その結果により上記第4の回路および上記複数の第8の回路を制御する第5の回路とを有する情報処理装置。
【請求項8】上記第5の回路は、上記第2の回路と上記第3の回路が同じ信号を取り込んだ場合は上記伝搬時間を変更しないように上記第4の回路および上記複数の第8の回路を制御し、上記第2の回路と上記第3の回路が異なる信号を取り込んだ場合は上記伝搬時間を変更するように上記第4の回路および上記複数の第8の回路を制御することを特徴とする請求項7記載の情報処理装置。
【請求項9】上記第5の回路は、外部から入力される信号に従って上記第4の回路および上記複数の第8の回路を制御するか制御しないかを決定することを特徴とする請求項8記載の情報処理装置。
【請求項10】上記第5の回路は、外部から入力される信号が当該情報処理装置を初期設定する信号であるとき上記第4の回路および上記複数の第8の回路を制御することを特徴とする請求項9記載の情報処理装置。
【請求項11】第1のクロックに同期して第2のデジタル信号を出力する複数の第6の回路と、上記第1のクロックと同じ周波数の第2のクロックに同期して上記第2のデジタル信号を取り込む複数の第7の回路と、上記複数の第6の回路から上記複数の第7の回路へデジタル信号を伝達するための複数の信号伝送路と、第1のデジタル信号を発生する第1の回路と、上記第1のデジタル信号を上記複数の第6の回路の内の少なくとも1つに供給する第8の回路と、上記第1のクロックと同じ周波数の第2のクロックに同期して上記第1のデジタル信号を上記複数の信号伝送路の内の少なくとも1つから取り込む第2の回路と、上記第2のクロック信号に応答して、かつ、上記第2の回路と異なるタイミングで上記第2の回路が取り込む第1のデジタル信号を取り込む第3の回路と、上記複数の信号伝送路の伝搬時間を変更する複数の第4の回路と、および、上記第2の回路が取り込んだデジタル信号と上記第3の回路が取り込んだデジタル信号を比較し、その結果により上記複数の第4の回路を制御する第5の回路とを有する情報処理装置。
【請求項12】上記第8の回路は、上記第1のデジタル信号を上記複数の第6の回路の内の1つに供給する回路であり、上記第2の回路は、上記第1のデジタル信号を上記複数の信号伝送路の内の1つから取り込む回路であることを特徴とする請求項11記載の情報処理装置。
【請求項13】上記第1のデジタル信号を上記信号伝送路に伝送する時間と、上記第2のデジタル信号を上記信号伝送路に伝送する時間とは異なることを特徴とする請求項12記載の情報処理装置。
【請求項14】上記第1のデジタル信号を上記信号伝送路に伝送する時間は当該情報処理装置の初期設定中の時間であり、上記第2のデジタル信号を上記信号伝送路に伝送する時間は上記初期設定後の時間であることを特徴とする請求項13記載の情報処理装置。
【請求項15】上記第5の回路は、上記第2の回路と上記第3の回路が同じ信号を取り込んだ場合は上記伝搬時間を変更しないように上記複数の第4の回路を制御し、上記第2の回路と上記第3の回路が異なる信号を取り込んだ場合は上記伝搬時間を変更するように上記複数の第4の回路を制御することを特徴とする請求項11記載の情報処理装置。
【請求項16】上記第5の回路は、外部から入力される信号に従って上記複数の第4の回路を制御するか制御しないかを決定することを特徴とする請求項15記載の情報処理装置。
【請求項17】上記第5の回路は、外部から入力される信号が当該情報処理装置を初期設定する信号であるとき上記複数の第4の回路を制御することを特徴とする請求項15記載の情報処理装置。
【請求項18】上記第1のデジタル信号を上記信号伝送路に伝送する時間と、上記第2のデジタル信号を上記信号伝送路に伝送する時間とは異なることを特徴とする請求項15記載の情報処理装置。
【請求項19】上記第1のデジタル信号を上記信号伝送路に伝送する時間は当該情報処理装置の初期設定中の時間であり、上記第2のデジタル信号を上記信号伝送路に伝送する時間は上記初期設定後の時間であることを特徴とする請求項15記載の情報処理装置。

【図2】
image rotate


【図1】
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


【図21】
image rotate


【図15】
image rotate


【図16】
image rotate


【図20】
image rotate


【図17】
image rotate


【図18】
image rotate


【図19】
image rotate


【図22】
image rotate


【図23】
image rotate


【図24】
image rotate


【図25】
image rotate


【図26】
image rotate


【公開番号】特開平8−329000
【公開日】平成8年(1996)12月13日
【国際特許分類】
【出願番号】特願平8−51332
【出願日】平成8年(1996)3月8日
【出願人】(000005108)株式会社日立製作所 (27,607)