JP3710308B2 - Phase adjustment method - Google Patents

Phase adjustment method Download PDF

Info

Publication number
JP3710308B2
JP3710308B2 JP36676998A JP36676998A JP3710308B2 JP 3710308 B2 JP3710308 B2 JP 3710308B2 JP 36676998 A JP36676998 A JP 36676998A JP 36676998 A JP36676998 A JP 36676998A JP 3710308 B2 JP3710308 B2 JP 3710308B2
Authority
JP
Japan
Prior art keywords
data
delay
circuit
phase adjustment
edge detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36676998A
Other languages
Japanese (ja)
Other versions
JP2000196571A (en
Inventor
篤浩 鈴木
和則 中島
政男 荻原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP36676998A priority Critical patent/JP3710308B2/en
Publication of JP2000196571A publication Critical patent/JP2000196571A/en
Application granted granted Critical
Publication of JP3710308B2 publication Critical patent/JP3710308B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、機能ブロック間でデータの同期転送を行う際のデータ転送経路の位相を調整する方式に係り、特に並列計算機やデータ交換機のような装置の機能ブロック間におけるデータの同期転送に好適な位相調整方式に関する。
【0002】
【従来の技術】
従来、装置の機能ブロック間においてデータを同期転送する場合のパスディレイは、その転送経路(パス)をモデル化した電気回路に置き換え電気回路シミュレーションを用いて求めたり、該転送経路を各部品毎に分離し、部品毎に実験し求めたディレイ結果をそれぞれの部品に当てはめ、簡略された特別な計算式を用いて転送経路全体のディレイを求めていた。そして、求めたパスディレイに対し、そのパスディレイが設計した時間を満たしているかを検証し、満たされていなければその転送経路を見直し、回路の変更を行い、再び変更した転送経路のディレイ計算を前記手法により行なっていた。更に、この転送経路のディレイ計算結果が設計した時間を満たすまで回路変更、ディレイ計算を繰り返していた。
【0003】
このような試行錯誤的な繰り返しを緩和するために、例えば、特開平7−283819号公報には、転送経路にディレイ回路を挿入し、実際に転送を行い、その結果に応じて転送エラーが起きないディレイをディレイ回路に設定することが示されている。この発明では、装置内の機能ブロック間で同期転送を行う転送経路において、当初は該転送経路にディレイ回路だけを装備し調整者がその転送経路に対するディレイを該ディレイ回路に設定する。一方、調整者が新しいシステムを接続する度に該ディレイ回路に適切なディレイを設定しなくてもいいように、システムに制御部を具備する。該制御部は、自動的に複数の転送経路に対し転送経路毎にテストパケットを送信し、送信部に具備したディレイ回路のディレイを最大値から次第に小さくする方向に変えながら正しく該テストパケットが転送できたディレイMAXと、送信部に具備したディレイ回路のディレイを最小値から次第に大きくする方向に変えながら正しく該テストパケットが転送できたディレイMINとを求め、転送経路毎の送信部に具備したディレイ回路に(MAX+MIN)/2としたディレイを設定する機能と、該転送経路毎に設定したディレイを記憶する機能と、装置が立ち上がる際にその記憶しておいたディレイを該転送経路毎の該ディレイ回路に設定する機能を有している。
【0004】
なお、2つの信号の位相を比較し、その位相差の程度を検出する回路として関連するもには、例えば特開平2−168754号公報があり、さらにスキューを補正する回路として関連するものには、例えば特開昭63−305612号公報などがある。
【0005】
【発明が解決しようとする課題】
機能ブロック間でデータ同期転送を行う装置を設計する際、その転送経路のディレイ計算結果が実際のディレイと合致していることが重要である。同期転送は、送信側にて、送信ラッチに供給する送信クロックで叩かれた送信データが転送経路を通り、受信側にて、受信ラッチに供給する受信クロックで叩かれるタイミングで該送信データが受信ラッチに取り込まれることで行われている。つまり、転送経路のディレイが受信ラッチの受信クロックとぶつかっていないことを保証しなければ、同期転送はできない。
【0006】
一般的には送信ラッチから受信ラッチまでのディレイを予め正確に計算することは非常に困難であり、また、仮に求められたとしても、その計算量は膨大であり、全ての転送経路を計算することは不可能である。そこで、各部位毎に不確定要因を含んだあらかじめ大き目のディレイを想定し、それらを簡略化した計算式を用いて計算し、実際の転送経路で転送エラーが起きないように考慮している。しかし、あらかじめ大き目のディレイを想定することは、いたずらにディレイを大きく見ることになり、最適なタイミング設計を阻害することになる。
【0007】
タイミング設計で考慮すべき点の一つは、受信ラッチにデータを正しく取り込むためには、そのラッチに規定されているセットアップタイムとホールドタイムを加えた時間帯に入力データが変化しないことを保証することである。入力データを変化させてはいけない時間帯はそのラッチに与えられるクロック信号を基準にして前後に存在するため、その時間帯に送信データのデータ不確定領域が来ないように転送経路のディレイを調節する(タイミング設計する)必要がある。そしてもう一つは、ラッチに供給するクロックのスキューやジッタそして製造過程における物のばらつき、転送経路の電気的特性、温度・電圧・湿度などの動作環境のばらつき等による転送経路のディレイの変化がある。
【0008】
タイミング設計において重要なことは、想定する動作環境の中で装置が正常に動作し続けることができるように、予め環境によるディレイのばらつきを考慮し余裕を持った設計をすること、つまり、動作マージンが大きくなるように設計することである。具体的に動作マージンを大きくするということは、データの不確定領域をラッチのセットアップタイムとホールドタイムを加えた時間帯からできるだけ離れたポイントに設計することである。動作マージンを小さく設計すると、データの不確定領域がたとえ設計した時間帯に入っていたとしても、ラッチのセットアップタイムとホールドタイムを加えた時間帯に近ければ、先に示したような動作環境の変化により発生する様々なノイズによりデータの不確定領域が広がったり、ディレイの大きい方に移動したり、小さい方に移動したりするため、小さなノイズの影響でデータの不確定領域がセットアップタイムとホールドタイムを加えた時間帯に入ってしまい誤動作を引き起こしてしまう。従って、環境におけるノイズ、および、大量生産による製造ばらつきによって転送データが簡単にエラーにならないように、できるだけセットアップタイムとホールドタイムを加えた時間帯から離れたポイントにデータの不確定領域が来るようにディレイを設計することが課題となる。
【0009】
一方、開発コストの低減および製品原価の低減を進める為に、設計の共通化および部品の共通化が図られる。また、並列計算機のような装置では、その特徴から同一部品が多く使われる。従って、同一品種の部品間で異なる複数の転送経路が存在することとなり、これらの異なる複数の転送経路に対するタイミング設計が問題になる。つまり、転送経路毎にその環境に対するばらつきやディレイが異なるが、共通設計する場合は該ばらつきの最大のばらつきを代表としてディレイ設計することになり、設計を閉じるまで多くの時間を要すること、また、最適なディレイ設計ができないことになることが問題である。したがって、転送経路毎のばらつきの最大のばらつきを用いてディレイ設計することなく部品を共通に設計できる手段を設けることがもつ一つの課題である。
【0010】
従来技術では、異なる複数の転送経路に対して一つずつ制御しなければならないため、転送経路が多い場合の制御について考慮がされておらず、調整を行う時間が非常に長くなる問題があった。また、データの不確定領域の広がりに対する考慮がされておらず、チェックするディレイが離散的であるにも係わらず、必ずいづれかのディレイにおいて転送エラーが発生することを期待しているため、データの不確定領域の広がりがディレイ回路の可変単位よりも小さい場合にはどのディレイにおいても転送エラーが発生しないといった現象が発生し、結果として、誤ったディレイを設定してしまうという問題があった。
【0011】
さらに、従来技術では、ディレイ回路に設定する値は、装置導入後の調整段階において決定し、その後は、記憶しておいた値を、装置が初期設定する際に再びディレイ回路に設定する機能であるため、装置導入後の各素子の経年変化や動作環境の変化に対応できないという問題があった。
【0012】
本発明の第一の目的は、異なる複数の同期転送経路を有する装置において、個々の転送経路に対する位相の設定(ディレイの設定)を個々の転送経路の送受信部に具備する位相調整機構に対し同時に位相調整を行う指示をすることにより、並列計算機のようなスケーラブルに装置の構成を変更できるシステム、つまり転送経路がスケーラブルに増加する装置において、位相調整をする手順を変更することなく、また、一つの転送経路の位相調整をする時間で装置内全ての位相調整を完了させることにある。
【0013】
本発明の第二の目的は、可変遅延回路が変えることができる基本遅延単位よりもデータの不確定領域の広がりが小さい場合においてもその不確定領域を正しく検出でき、常に動作マージンが最大になるディレイを誤り無く設定できるようにすることにある。
【0014】
本発明の他の目的は、可変遅延回路が変えることができる個々のディレイで受信データをチェックしたパターンにより、該転送経路に何らかの障害があることを検出可能にすることにある。
【0015】
【課題を解決するための手段】
本発明では、同期転送経路における送信部に位相調整パターン発生手段を設け、該送信部に対応する受信部に可変遅延手段、データチェック手段、エッジ検出手段、位相制御手段を設ける。送信部に具備した位相調整パターン手段は、伝送路において最大のノイズが発生するような位相調整パターンデータを繰り返し発生し続けており、該送信部内に具備するデータ切り替えセレクタにより位相調整パターン発生手段から発生している位相調整パターンデータが選択されると、該位相調整パターンデータが受信部に向けて伝送される。送信部と受信部とを接続する伝送路を伝播してきた位相調整パターンデータは、受信部の可変遅延手段でディレイした後、該受信部の受信ラッチで受け、該受信ラッチで受けたデータが正しいか否かをデータチェック手段で判定する。これとともに、受信部の可変遅延手段で遅延されたデータを、エッジ検出手段にて、該可変遅延手段が変えられるディレイの単位分の時間内にデータの切り替わりが無いか否かを判定する。位相制御手段は、可変遅延手段のディレイを順次変更し、各ディレイに対するデータチェック結果、あるいはデータチェック結果とエッジ検出結果を用いて、動作マージンが最大になるディレイを可変遅延手段に設定する。
【0016】
具体的には、位相制御手段は、可変遅延手段の各遅延量に対するデータチェック手段のデータチェック結果を記憶する第1記憶手段と、可変遅延手段の各遅延量に対する前記エッジ検出手段のエッジ検出結果を記憶する第2記憶手段と、可変遅延手段の全遅延量に対するデータチェック結果データのとりうるパターン、及び、可変遅延手段の全遅延量に対するデータチェック結果データとエッジ検出結果のデータを合わせたデータのとりうるパターンと可変遅延手段の最適遅延量との対応をあらかじめ定めたテーブルと、第1記憶手段の記憶値に基づき、テーブルから、第1記憶手段の記憶値のパターンあるいは第1記憶手段と第2記憶手段の両方の記憶値をあわせたパターンに対応する遅延量を選択して前記可変遅延手段に設定する制御論理手段とからなる。
【0017】
また、本発明では、位相制御手段は、各ディレイに対するデータチェック結果およびエッジ検出結果を用いて、通常ありえないパターンと比較するなどして、転送経路に何らしかの障害があることを検知し、外部に対し報告するなどの機能を備える。具体的には、前記テーブルに、前記データチェック結果データのとりうるパターン、及び、前記データチェック結果データと前記エッジ検出結果データを合わせたデータの取り得るパターン対応に、伝送路に障害があるか否かを表わすエラービットを付加する。制御論理手段は、テーブルを参照し、第1記憶手段の記憶値のパターンあるいは第1記憶手段と第2記憶手段の両方の記憶値をあわせたパターンに対応するエントリのエラービットにより、当該データ転送経路に障害があるかどうか判断する。
【0018】
【発明の実施の形態】
以下、本発明の一実施例について図面により説明する。
図1は本発明の一実施例を示すブロック図である。図1において、1は一方の機能ブロックの送信部を示し、2は他方の機能ブロックの受信部を示している。送信部1はセレクタ11、送信ラッチ12及び位相調整パターン発生回路13を具備する。受信部2は可変遅延回路21、受信ラッチ22、データチェック回路23、エッジ検出回路24及び位相制御回路25を具備する。101〜108はデータ線であり、一般に複数ビットで構成されるが、機能ブロック間の伝送路は1ビット構成でもよい。
【0019】
位相調整は、装置が機能ブロック間でデータを同期転送する動作の前に、その動作を完了させておく必要がある。その際、装置が伝送系を使用する際に発生する最大ノイズを、予め該伝送系に発生させる必要がある。位相調整パターン発生回路13が、この伝送系に最大ノイズを発生させるパターンデータを自動的に生成する回路である。
【0020】
伝送系のノイズには、該伝送系を駆動する為の電源から発生するノイズと信号が該伝送系を伝播する際に発生するノイズ(クロストーク等)がある。位相調整パターン発生回路13には、それらのノイズを最大に発生させるため特殊なパターンを用意する。本実施例では、図2に示すように、位相調整を行う経路の全ビットを対象として、1サイクル「1」が続き、その後1サイクル「0」が続くパターンを規定時間繰り替えすと、次に2サイクル「1」が続き、2サイクル「0」が続くパターンを規定時間繰り返し、さらに3サイクル「1」が続き、3サイクル「0」が続くパターンを規定時間繰り返えした後、次に1ビットのみ他のビットとは反対のパターンになるように1サイクルから3サイクルまで前記同様パターンを繰り返す。そして、全てのビットがそれぞれ反対になるまで繰り返された後、再び1サイクル全ビット0・1からパターンを繰り返し発生する。図2では、1ビットに対するデータのみを示したが、位相調整パターン発生回路13は、このようなパターンを各ビット(パリティビットも含む)について周期的に発生し続ける。
【0021】
位相調整動作時、送信部1において、セレクタ11はデータ線102を選択し、位相調整パターン発生回路13が生成する伝達系に最大ノイズを発生せしめる位相調整パターンデータをデータ線103に出力する。送信ラッチ12は、該データ線103上の位相調整パターンデータを送信クロック113に同期して取り込み、データ線104に送出する。セレクタ11の切り替えは、外部のシステム制御ユニットなどから指示されるが、図1では省略してある。
【0022】
受信部2では、位相調整パターンデータがデータ線105により受信され、可変遅延回路21を通過してデータ線106に出力する。後述するように、本実施例では、可変遅延回路21は8段階に遅延量を変えることができる。データ線106上の位相調整パターンデータを、受信ラッチ22が受信クロック114に同期して取り込み、データ線107に出力する。データチェック回路23は、受信クロック114に同期して、位相調整パターンデータが受信ラッチ22に正しくラッチできたか否か、云い換えれば、受信ラッチ22の出力が正しいデータであるか否か常時チェックしている。また、エッジ検出回路24は、データ線106上の受信ラッチ22直前の位相調整パターンデータのデータ不確定領域すなわち可変遅延回路21通過後のデータの切り替わりが受信クロック114を基準にして所定範囲内に存在するか否かを検出する。位相制御回路25は、可変遅延回路21の遅延量を順次変更しながら、各ディレィに対するデータチェック回路23およびエッジ検出回路24からのデータチェック結果/エッジ検出結果を基に、制御線111を通して、可変遅延回路21の遅延量をマージンが一番大きくなるように制御する。
【0023】
上記位相調整後、通常の動作に切り替わる。通常動作では、送信部1は、外部からの指示でセレクタ11がデータ線101の通常の送信データを選択し、送信ラッチ12が該送信データを送信クロック113に同期して取り込み、データ線104へ送出する。受信部2は、該送信側からの通常データをデータ線105で受信し、可変遅延回路21が該データを所定量遅延し、受信ラッチ22が受信クロック114に同期して取り込み、データ線107へ出力す。ここで、可変遅延回路21の遅延量は、位相制御回路25により常に動作マージンを最大に保っように設定されているため、データを受信ラッチ22に確実にラッチできる。
【0024】
以下、データチェック回路23、エッジ検出回路24、位相制御回路25について詳しく説明する。
【0025】
図3は、データチェック回路23の構成例を示す。データチェック回路23は、データ線107上のデータをチェックするチェック回路301、チェック回路301で検査した結果が誤りであったことを示すチェックラッチ302から構成される。チェック回路301は例えばパリティチェック回路であるが、これ以外の回路でもよい。例えば、CRC回路、コンペアチェック回路などでもよい。つまり、チェック回路301は受信ラッチ22に受信データが間違いなくラッチされたか否かが判定でき、その結果、正常あるいは異常であることを出力できる回路であればなんでも良い。チェックラッチ302は、チェック回路301のチェック結果をクロック114に同期して取り込み、その情報は制御線109により位相制御回路25へ報告される。また、チェックラッチ302は、制御線110を通して位相制御回路25によりリセットされる。
【0026】
図4はエッジ検出回路24の構成例を示す。401〜407はラッチ、408は固定遅延回路、409〜415は論理素子を示している。入力データ線108のデータがラッチ401およびラッチ403に取り込まれる際に、取り込みクロックと該入力データの切り替わりが重なると、該ラッチ401およびラッチ203の出力がメタステーブルという状態になる。このメタステーブル状態は、ラッチの特性により一定時間で解消することが知られている。本実施例では、1クロック後にもう一度ラッチ402およびラッチ404で取り直すことで、該メタステーブル状態を取り除いている。ラッチ405,406は、入力データ線108の信号がラッチ401でラッチされた値と固定遅延回路408を通過後のラッチ403でラッチされた値とを比較した結果、該値が異なっていることを示すラッチである。また、ラッチ407は、該比較結果が異なっている場合に「1」を保持するラッチである。つまり、ラッチ407が「1」ということは、入力データ線108の信号が当該エッジ検出回路24に供給しているクロック位置と該クロックから固定遅延回路408が持つディレイ分進んだ位置の間にデータの不確定領域があることを示している。該ラッチ407の情報は、制御線112により位相制御回路25へ報告される。
【0027】
図5は可変遅延回路21の構成例を示す。501〜507は遅延単位回路であり、ある一定の遅延量(ディレイ)Δβをもっている。511〜517はディレイを切り替えるためのセレクタであり、位相制御回路25より制御線111を通して与えられる制御信号により、デコーダ520を介して制御される。セレクタ511〜517は、デコーダ520からのセレクト信号が有効でない時は遅延単位回路(Δβ)からの信号を選択し、デコーダ520からのセレクト信号が有効である時はデータ線105の受信データを選択する。例えば、制御線111の制御信号の値が「2」であったとすると、セレクタ515だけがデータ線105の受信データを選択し、他のセレクタ511,512,513,514,516,517は遅延単位回路501,502,503,504,506,507からの信号を選択する。従って、データ線105の受信データは、セレクタ515を通り、遅延単位回路506、セレクタ516、遅延単位回路507、セレクタ517を通り抜けるため、該可変遅延回路21でのディレイはΔβの2個分とセレクタ3個分を加えた値になる。このように、制御線111の制御信号の値に従って、データ線105の受信データがデータ線106へ通り抜けるまでのディレイΔβの個数が決まり、該可変遅延回路21のディレイが決まる。なお、制御線111の制御信号の値によるディレイのばらつきを抑えるために、先頭の遅延単位回路501の入り口にセレクタ511と同じセレクタを付け加え、デコーダ520からあらたに7の信号を取り出し、そのセレクト信号線を該付け加えたセレクタに、セレクタ511〜517と同様に接続することでも良い。
【0028】
図6は位相制御回路25の構成例を示す。制御論理部601は該位相制御回路25の動作全体の制御を行う論理部である。該制御論理部601は、外部のシステム制御ユニットなどとシステム制御線やシステム報告線などで接続されるが、図6では省略してある。SQBSY602は該位相制御回路25が位相調整動作を行っているか否かを示すフリップフロップであり、該位相制御回路に対して二重に起動がかけられることによる誤動作を防ぐ役目をしている。PDATA603は、データチェック回路23でのデータチェック結果を各遅延単位毎に記憶するレジスタ、CDATA604はエッジ検出回路24でのエッジ検出結果を各遅延単位毎に記憶するレジスタである。本実施例では、可変遅延回路21では8段階にディレィを変えることが可能であり、これに対応してPDATA603およびCDATA604の値を各レジスタは8ビットで構成されている。OR回路605はPDATA603およびCDATA604の値を各ビット単位に論理和する回路、セレクタ606は制御論理部601からの制御信号608でPDATA603の出力あるいはOR回路605の出力のいずれかを選択する回路、RDATA607はセレクタ606の出力を記憶するレジスタである。RDATA607のレジスタは、PDATA603およびCDATA604と同様に8ビットである。
【0029】
動作マージンが最大になるデイレィの可変遅延回路21への設定値はPDATA603、CDATA604の値の組み合わせから予め計算で求める。本実施例では、その計算結果に基づいた一覧表の表(1)610、表(2)620を作成し、位相制御回路25に記憶させておく,図9は表(1)610の例であり、PDATAの値からCDATAの値を用いるか否かをエッジ検出結果の使用の有無の欄にて示している。「1」がCDATA604の値を用いることを示し、「0」がCDATA604の値を用いないことを示す。制御論理部601では、エッジ検出結果使用判定の表(1)610を参照して制御信号608によりセレクタ606の動作を制御する。図10は表(2)620の例であり、可変遅延回路21のディレィをRDATA607の値から求める変換表を示している。ただし、RDATA607の値から動作マージンが最大になるディレィを定義してあるのと同時に正常な伝送路ではありえないRDATA607値も表(2)620に定義し、伝送路に何らかの障害があることを示せるようにエラーの欄も定義する。しかし、伝送路に何らかの障害があっても正常に送信データが受信できるディレィがあれば、その中で動作マージンが最大になるような設定値を定義している。
【0030】
次に、図6に示す位相制御回路25の動作を図7乃至図10により説明する。図7は位相制御回路25における制御論理部601の全体的動作フローである。外部から位相調整を行う指示があると、まず、SQBSY602が「1」か否かを判定する(ステップ702)。SQBSY602が「1」とは、この位相制御回路25が位相調整動作をおこなっている最中であることを示し、この場合、位相調整要求は無視され、位相制御回路25に対し二重に起動がかけられることによる誤動作を防ぐ。SQBSY602が「0」である場合、つまり、位相調整動作を位相制御回路25が行っていない場合、該位相調整要求を受けつけ、位相調整動作に入ると同時にSQBSY602を「1」に設定する(ステップ703)。次に、位相制御ためのの初期化を行う(ステップ704,705,706)。まず、PDATAレジスタ603,CDATAレジスタ604の値を「0」にする(ステップ704)。なお、図7中の記号「*」はレジスタ603,604の配列番号(0〜7)を示すと共に可変遅延回路21に設定した値をも示している。次に、変数iを「0」にし、(ステップ705)、そして、可変遅延回路21にディレイを「0」に設定する(ステップ706)。これで位相制御のための初期化が終了し、以降、可変遅延回路21に設定するディレイ毎に以下の動作が繰り返される。
【0031】
まず、データチェック回路23内に具備するチェックラッチ302を制御線110を通して「0」にクリアする(ステップ707)。そして、データチェック回路23およびエッジ検出回路24にて受信データを検査し続ける判定時間を設定する(ステップ708)。該判定時間は送信部1内の位相調整パターン発生回路13が生成する種々の位相調整パターンが一周期する時間を一単位として設定する。検査は位相調整パターンデータの任意の位置から開始されることになるが、設定する判定時間は、それが大きいほど長い時間をかけて変化するようなノイズを検出できる可能性がある。ステップ708で設定した時間だけ該当ディレイにおいて、データチェック回路23での受信データのチェック結果を制御線109より取り込み、PDATA(i)603に格納すると同時に、エッジ検出回路24での受信データのエッジチェック結果を制御線112より取り込み、CDATA(i)604に格納する(ステップ709,710)。判定時間経過後、次のディレイに対するデータのチェックを行うために変数iに「1」を加え(ステップ711)、可変遅延回路21に対しiに対応するディレイを設定する(ステップ712)。変更した変数iが「8」以下であれば(ステップ713)、ステップ707に戻り、再び変数iに対応するディレイに対する受信データのチェックを行い、PDATA(i)603,CDATA(i)604に格納する。変更した変数iが「8」以上であれば、可変遅延回路21で変えることができる全てのディレイに対する受信データのチェックが完了したことになり、PDATA
(*)603及び/又はCDATA(*)604の値から動作マージンが最大になるディレイを決定し、可変遅延回路21に対し当該ディレイを設定する(ステップ714)。
【0032】
以上で、位相調整の動作が完了したので、SQBSY602を「0」に設定し、外部に対して位相調整の動作が完了したことを知らせる(ステップ715)。位相調整の動作をおこなうタイミングは、装置を立ち上げる過程において行われるのはもちろんのことであるが、常に動作マージンを最大に保つため、装置が運用している最中においても、転送経路に通常データがいない時を見計らって位相調整を行うようにする。
【0033】
図8は、図7に示したステップ714を詳細に説明するための動作フローである。可変遅延回路21で変えることができる全てのディレイに対するチェック結果がPDATA(*)603とCDATA(*)604に格納されると、まず、PDATA(*)603の値を用いて、図9の表(1)610からエッジ検出結果使用の有無を読み取る(ステップ802)。読み取った結果、エッジ検出の使用の有無が「1」である時、オア回路605にてPDATA(*)603とCDATA(*)604を各ビット毎に論理和した演算結果をセレクタ608にて選択し、RDATA(*)607に設定する。また、エッジ検出の使用の有無が
「0」である時、セレクタ608にてPDATA(*)603の値をセレクタ608にて選択し、そのままRDATA(*)607に設定する(ステップ803,804,805)。次に、RDATA(*)607の値を用いて、図10の表(2)620から遅延量とエラーとを読み取る(ステップ806)。そして、この読み取った遅延量を制御線111を通して可変遅延回路21に設定する(ステップ807)、ここで、読み取ったエラー値が「1」であれば、エラーであることを当該位相制御回路25に設定し、ステップ714が完了する(ステップ809)。読み取ったエラー値が「0」である場合、そのままステップ714が完了する。
【0034】
例えば、PDATA(*)603の値が「00000011」で、CDATA(*)604の値が「00001111」である時、図9の表(1)610の904行目とPDATA(*)603の値が一致するので、図9の表からエッジ検出の使用の有無は「1」と読み取れる。エッジ検出の使用の有無が「1」であるので、PDATA(*)603とCDATA(*)604を各ビット毎に論理和し、RDATA(*)607は「00001111」となる。このRDATA
(*)607の値は、図10の表(2)620の1005行目と一致する。そこで、位相制御回路25の制御論理部601は、図10の表の1005行目から読み取った遅延量の値「1」を可変遅延回路21に設定する。この場合、図10の表の1005行目のエラーの欄は「0」であるので、該位相制御回路25にエラーは設定しない。
【0035】
次に、図11により本実施例の位相調整動作における波形の一例を説明する。送信部1から出力される波形は、送信クロック113により同期して切り替わり、そのためデータ不確定領域がデータ線104の送信データの波形のように発生する。該送信データは転送経路を通り受信部2へ到達する間にさまざまなノイズを受け、データ線105の受信データのように、データ不確定の範囲がデータ線104の送信データよりも広がる。データ線105の受信データは可変遅延回路21を通過し106の波形となり、受信ラッチ22に受信クロック114でラッチする。ここで、データ線106の受信データの波形は、可変遅延回路21でディレイ0〜7の波形のように変化する。受信クロック114と送信クロックとの相対関係(スキュー)は、ジッタがあるものの位相は一定である。本位相調整の目的の一つは動作マージンを最大にすることである。これは、受信クロック114とデータ線106の受信データとの関係において、データ線106の受信データのデータ不確定を避けたデータ確定領域のちょうど真ん中に受信クロック114を持ってくるということと等価である。言い換えれば、データ線106の受信データのデータ不確定を避けたデータ確定領域のちょうど真ん中を、受信クロック114に合わせることである。つまり、動作マージンを最大にするということは、データ線106の受信データまたは受信クロック114のどちらか一方をディレイさせ、データ線106の受信データのデータ不確定領域と受信クロック114のラッチポイントが一致しないように、データ不確定領域を避けたデータ確定領域の真ん中に受信クロック114のラッチポイントがあるという関係にすることである。図11の波形の例においては、PDATA(*)の値が「11000001」と判定され、CDATA(*)の値が「11000011」と判定されると、遅延量「4」が最大の動作マージンを得られる値となることは容易に理解できる。
【0036】
次に、図5に示す可変遅延回路21に実装する遅延単位回路50〜507(Δβ)と総ディレイおよび図4に示すエッジ検出回路24に実装する固定遅延回路408のディレイについて説明する。可変遅延回路21に最低限必要な総ディレイは、データ線104の送信データは送信部1のラッチ12から送信クロック113に同期して生成しており、データ線106の受信データは該送信クロック113と同じ周期で切り替わることから、データ線106の受信データのデータ不確定を避けたデータ確定領域のちょうど真ん中に該受信データの位相を持ってくれば良く、従って、送信クロックの1周期分あれば良いことは容易に理解できる。遅延単位Δβのディレイについては、総ディレイをn等分した値とする。遅延単位Δβのディレイは小さければ小さいほどよりデータ不確定を避けたデータ確定領域のちょうど真ん中に、つまり、動作マージンが一番大きくとれるディレイに設定できるが、可変遅延回路21の論理規模が大きくなってしまいLSIに実装することが困難になるとともに、本来、果たすべき機能を実装する論理が入らなくなってしまうため、装置全体の動作マージンのバランスを考慮して、つまり、この転送経路だけ突出して無駄に動作マージンが大きくならないように遅延単位Δβの値を決める必要がある。
【0037】
次に、この遅延単位Δβが決まると、エッジ検出回路24にある固定遅延回路408のディレイが決まる。エッジ検出回路24はデータチェック回路23で離散的にチェックした結果を補う形で具備している手段である。つまり、データチェック回路23は可変遅延回路21で設定できる段階的なディレイに対するポイントでのみ受信データをチェックしているため、ポイント間、つまり遅延単位Δβ分、受信データをチェックしていないことになる。この受信データをチェックしていない領域をチェックすることがエッジ検出回路24の目的である。従って、固定遅延回路408は、最低、遅延単位Δβ分あればよいことが容易に分かる。しかし、図11からも読み取れるように、固定遅延回路408のディレイが大きくなると、右下がり斜め線で示されるエッジ検出回路24で検出する領域が広がるため、データ不確定領域が大きく見えることになり、結果として可変遅延回路21に設定するディレイがデータ不確定を避けたデータ確定領域の真ん中からディレイの早い側に設定され、動作マージンが小さくなってしまう。
【0038】
次に、図12に本発明の位相調整方式を適用したシステムの一例を示す。1201は全ての機能ブロックの位相調整を制御するシステム制御ユニット、1210,1211,1212は機能ブロックA,B,Cを示す。機能ブロック(A)1210と機能ブロック(B)1211との間は4つの転送経路を有しており、本例では、機能ブロック(B)1211と機能ブック(C)1212との間は2つの転送経路を有している。各転送経路にはそれぞれ送信部1および受信部2を具備している。図1は、これらの一組を示したものである。1220,1221,1222はシステム制御ユニット1201から各機能ブロック(A)1210,(B)1211,(C)1212における各送信部1、受信部2の内部回路を制御するためのシステム制御線号であり、1230,1231,1232は各機能ブロック(A)1210,(B)1211,(C)1212における受信部2の位相制御回路25から報告されるシステム報告線である。
【0039】
次に、図12のシステムにおいて、機能ブロック(A)1210と機能ブロック(B)1211の間の1240で示す転送経路について位相調整を動作させる時の手順の一例を図13を用いて説明する。システム制御ユニット1201は、システム制御線1221により、位相調整を行なおうとしている転送経路1240の受信側に受信データを判定し続ける判定時間を設定する(ステップ1302)。また、システム制御線1220により、該転送経路1240の受信側に対応する送信側のセレクタを、位相調整パターン発生回路からの位相調整パターンデータが出力される方に切り替える(ステップ1303)。そして、該転送経路1240の該位相調整受信側の位相制御回路に対し位相調整の動作を指示する(ステップ1304)。その後、システム制御ユニット1201は、位相調整動作が完了したことを知るために、報告線1131を介し、該受信側の位相制御回路から読み取れるSQBSYを監視し、該SQBSY信号が「0」になったのを確認すると、該受信側の位相制御回路からエラー信号を読み取り(ステップ1306)、該エラー信号が「1」であれば、該受信側から事前に決めておいたエラー情報を採取し、例えば外部に対して該エラー情報を報告する(ステップ1307)。該エラー信号が「0」またはエラー情報採取後、システム制御ユニット1201は、システム制御線1220により、該転送経路1240の送信側に対応するセレクタを通常使用するデータパス側に切り替える(ステップ1308)。
【0040】
図13に示す一連の手順は、伝送路別に具備する位相調整回路にて独立して行うことができる。また、これら一連の手順は、位相調整回路毎に異なる設定がないため、システム全体を制御するシステム制御ユニット12にて同時に行うことが可能である。
【0041】
以上、本発明の一実施の形態を説明したが、同一LSI内に複数の送信部がある場合には、各送信部毎に位相調整パターン発生回路を具備することはなく、LSIの実装に応じて複数の送信部で一つの位相調整パターン発生回路を共有してもよい。
【0042】
また、伝送路は1bitでも複数bitで構成されていてもよく、また、可変遅延回路はbit毎に個別にディレイが変えるようにしても、複数のbit毎のディレイを一斉に変えるようにしてもよい。複数のbit毎のディレイを一斉に変えるようにすると各bitの伝送路のばらつきにより、各bitのノイズが重畳されたように見える為、できるだけ可変遅延回路はbit毎に個別にディレイが変えることができるようにしておくことで、動作マージンがより大きくなるように木目細かなディレイの設定ができる。
【0043】
【発明の効果】
本発明によれば、転送経路毎に複雑なディレイ計算を必要せず、実際に転送した結果によりその転送経路の最適なディレイを自動的に選択するので、転送経路の全てのディレイ計算を必要とせず、LSI等を容易に共通設計でき、設計するLSIの品種が削減できることから、LSIの設計コストおよび製造コストを低減できる効果がある。
【0044】
また、装置毎の動作環境によるディレイのばらつきおよび部品毎の製造過程で発生するディレイのばらつきを組み立てた後の設置環境にて位相を自動的に調整するため、装置毎にその装置の最大の動作マージンを自動的に得ることができる効果がある。
【0045】
また、本発明は、エッジ検出回路を具備することでデータ不確定領域が可変遅延回路の遅延単位によるチェックポイント間隔よりも小さくなってもデータの不確定領域を見失うことが無いので、最大の動作マージンが得られるディレイを設定することが可能であるという効果がある。
【0046】
また、本発明は、可変遅延回路の遅延単位毎にチェックした結果から設計上ありえないパターンを見つけ出すことで、転送経路に何らしかの障害があることを外部に知らせることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】位相調整パターン発生回路で発生する位相調整パターンデータの一例である。
【図3】図1のデータチェック回路の一例である。
【図4】エッジ検出回路の一例である。
【図5】可変遅延回路の一例である。
【図6】位相制御回路の一例である。
【図7】位相制御回路の動作フロー図である。
【図8】図7のフローの遅延量を決定する処理の詳細動作フロー図である。
【図9】エッジ検出結果使用判定表の一例である。
【図10】遅延量を決定するための変換表の一例である。
【図11】本実施例の位相調整動作における波形の一例である。
【図12】本発明を適用したシステム構成の一例である。
【図13】図12のシステムによる位相調整動作のフロー図である。
【符号の説明】
1 送信部
2 受信部
11 セレクタ
12 送信ラッチ
13 位相調整パターン発生回路
21 可変遅延回路
22 受信ラッチ
23 データチェック回路
24 エッジ検出回路
25 位相制御回路
101〜108 データ線
109〜112 制御線
113,114 クロック
1201 システム制御ユニット
1210,1211,1212 機能ブロック
1220,1221,1222 システム制御線
1230,1231,1232 システム報告線
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for adjusting the phase of a data transfer path when performing synchronous transfer of data between functional blocks, and is particularly suitable for synchronous transfer of data between functional blocks of devices such as parallel computers and data exchanges. The present invention relates to a phase adjustment method.
[0002]
[Prior art]
Conventionally, the path delay in the case of synchronously transferring data between functional blocks of an apparatus is obtained by replacing the transfer path (path) with an electric circuit modeled by using an electric circuit simulation, or the transfer path is determined for each part. The delay results obtained by separating and experimenting for each part were applied to each part, and the delay of the entire transfer path was obtained using a simplified special formula. Then, verify whether the path delay meets the designed time for the obtained path delay. If not, review the transfer path, change the circuit, and calculate the delay for the changed transfer path again. This was done by the above method. Further, the circuit change and the delay calculation were repeated until the delay calculation result of the transfer path satisfied the designed time.
[0003]
In order to mitigate such trial-and-error repetition, for example, in Japanese Patent Laid-Open No. 7-283819, a delay circuit is inserted in the transfer path and the transfer is actually performed, and a transfer error occurs according to the result. It has been shown that there is no delay set in the delay circuit. According to the present invention, in a transfer path for performing synchronous transfer between functional blocks in the apparatus, only a delay circuit is initially provided in the transfer path, and an adjuster sets a delay for the transfer path in the delay circuit. On the other hand, the system includes a control unit so that an appropriate delay does not have to be set in the delay circuit each time the adjuster connects a new system. The control unit automatically transmits a test packet for each transfer path to a plurality of transfer paths, and transfers the test packet correctly while changing the delay of the delay circuit provided in the transmission unit from a maximum value to a gradually decreasing direction. The obtained delay MAX and the delay MIN that can correctly transfer the test packet while changing the delay of the delay circuit provided in the transmission unit from the minimum value to the direction of gradually increasing are obtained, and the delay provided in the transmission unit for each transfer path is obtained. A function for setting a delay of (MAX + MIN) / 2 in the circuit, a function for storing a delay set for each transfer path, and a delay stored when the apparatus is started up for the delay for each transfer path It has a function to set in the circuit.
[0004]
For example, Japanese Patent Laid-Open No. 2-168754 discloses a circuit that compares the phases of two signals and detects the degree of the phase difference, and further relates to a circuit that corrects skew. For example, there is JP-A-63-305612.
[0005]
[Problems to be solved by the invention]
When designing a device that performs synchronous data transfer between functional blocks, it is important that the delay calculation result of the transfer path matches the actual delay. In synchronous transfer, transmission data hit by the transmission clock supplied to the transmission latch on the transmission side passes through the transfer path, and the transmission data is received at the timing hit by the reception clock supplied to the reception latch on the reception side. This is done by being taken into the latch. That is, synchronous transfer cannot be performed unless it is ensured that the delay of the transfer path does not collide with the reception clock of the reception latch.
[0006]
In general, it is very difficult to accurately calculate the delay from the transmission latch to the reception latch in advance, and even if it is obtained, the amount of calculation is enormous, and all transfer paths are calculated. It is impossible. Therefore, a large delay including an uncertain factor is assumed for each part in advance, and these are calculated using a simplified calculation formula so that a transfer error does not occur in an actual transfer path. However, assuming a large delay in advance means that the delay is unnecessarily large, which hinders optimal timing design.
[0007]
One of the points to be considered in the timing design is to ensure that the input data does not change in the time zone including the setup time and hold time specified in the latch in order to correctly capture the data in the reception latch. That is. Since the time zone during which input data should not be changed exists before and after the clock signal given to the latch, the delay of the transfer path is adjusted so that the data uncertain area of the transmission data does not come during that time zone. It is necessary to do (timing design). The other is the change in the delay of the transfer path due to the skew and jitter of the clock supplied to the latch, the variation in the manufacturing process, the electrical characteristics of the transfer path, the operating environment such as temperature, voltage and humidity. is there.
[0008]
The important thing in timing design is to design with sufficient margin in advance, taking into account the variation in delay due to the environment, so that the device can continue to operate normally in the assumed operating environment, that is, the operating margin Is designed to be large. Specifically, to increase the operation margin is to design the uncertain area of data at a point as far as possible from the time zone obtained by adding the setup time and hold time of the latch. If the operating margin is designed to be small, even if the uncertain area of the data is within the designed time zone, the operating environment shown above will be used if it is close to the time zone that includes the latch setup time and hold time. The data indeterminate area expands due to various noises caused by changes, moves to the larger delay side, or moves to the smaller side. Entering the time zone with time added will cause malfunction. Therefore, in order to prevent the transfer data from easily becoming an error due to noise in the environment and manufacturing variations due to mass production, the uncertain area of the data should be located at a point as far as possible from the time zone including the setup time and hold time. Designing delays is a challenge.
[0009]
On the other hand, in order to reduce development costs and product costs, common design and parts can be shared. Also, devices such as parallel computers often use the same parts because of their characteristics. Accordingly, there are a plurality of different transfer paths between parts of the same type, and timing design for these different transfer paths becomes a problem. In other words, variations and delays vary depending on the environment for each transfer path, but in the case of common design, the delay design is representative of the maximum variation of the variation, and it takes a lot of time to close the design, The problem is that an optimal delay design cannot be achieved. Therefore, it is one problem to provide a means for designing parts in common without designing a delay using the maximum variation of variations for each transfer path.
[0010]
In the prior art, since it is necessary to control each of a plurality of different transfer paths one by one, the control when there are many transfer paths is not considered, and there is a problem that the time for performing the adjustment becomes very long. . In addition, since no consideration is given to the spread of the uncertain area of the data, and it is expected that a transfer error will occur at any delay despite the fact that the delay to be checked is discrete, When the uncertain area is smaller than the variable unit of the delay circuit, a phenomenon that a transfer error does not occur in any delay occurs, resulting in a problem that an incorrect delay is set.
[0011]
Furthermore, in the prior art, the value to be set in the delay circuit is determined at the adjustment stage after the introduction of the device, and thereafter, the stored value is set to the delay circuit again when the device is initially set. For this reason, there has been a problem that it is impossible to cope with aging of each element and change of operating environment after the introduction of the device.
[0012]
The first object of the present invention is to simultaneously adjust a phase setting (delay setting) for each transfer path in a device having a plurality of different synchronous transfer paths in a transmission / reception unit of each transfer path. In a system that can change the configuration of a device in a scalable manner, such as a parallel computer by instructing to perform phase adjustment, that is, a device in which transfer paths increase in a scalable manner, the procedure for adjusting the phase can be changed without changing it. This is to complete all phase adjustments in the apparatus in the time required to adjust the phase of one transfer path.
[0013]
The second object of the present invention is to correctly detect the uncertain area even when the undetermined area of the data is smaller than the basic delay unit that can be changed by the variable delay circuit, and the operation margin is always maximized. The purpose is to be able to set the delay without error.
[0014]
Another object of the present invention is to make it possible to detect that there is some failure in the transfer path by a pattern in which received data is checked with individual delays that can be changed by the variable delay circuit.
[0015]
[Means for Solving the Problems]
  In the present invention,A phase adjustment pattern generation means is provided in the transmission section in the synchronous transfer path, and a variable delay means, a data check means in the reception section corresponding to the transmission section,Edge detection means,Phase control means is provided. The phase adjustment pattern means included in the transmission unit continuously generates phase adjustment pattern data that generates the maximum noise in the transmission path. From the phase adjustment pattern generation means by the data switching selector included in the transmission unit. When the generated phase adjustment pattern data is selected, the phase adjustment pattern data is transmitted to the receiving unit. The phase adjustment pattern data that has propagated through the transmission path connecting the transmission unit and the reception unit is delayed by the variable delay means of the reception unit, then received by the reception latch of the reception unit, and the data received by the reception latch is correct Whether or not the data check means.At the same time, the data delayed by the variable delay means of the receiving unit is judged by the edge detection means as to whether or not the data has been switched within the time corresponding to the delay unit that can be changed by the variable delay means. The phase control means sequentially changes the delay of the variable delay means, and uses the data check result for each delay or the data check result and the edge detection result to set a delay that maximizes the operating margin in the variable delay means.
[0016]
  Specifically, the phase control means includes a first storage means for storing a data check result of the data check means for each delay amount of the variable delay means, and an edge detection result of the edge detection means for each delay amount of the variable delay means. The second storage means for storing the data, the pattern that the data check result data for the total delay amount of the variable delay means can take, and the data that combines the data check result data and the edge detection result data for the total delay amount of the variable delay means And a table of predetermined values corresponding to the optimum delay amount of the variable delay means and a stored value pattern of the first storage means or the first storage means based on the stored value of the first storage means. Control theory for selecting a delay amount corresponding to a pattern obtained by combining both stored values of the second storage means and setting the delay amount in the variable delay means And means.
[0017]
  In the present invention,The phase control means uses the data check result and edge detection result for each delay to detect that there is some failure in the transfer path by comparing it with a pattern that is not normally possible, and reports it to the outside. It has a function.Specifically, in the table, whether there is a failure in the transmission path to correspond to the pattern that the data check result data can take and the pattern that the data check result data and the edge detection result data can take. An error bit indicating whether or not is added. The control logic means refers to the table and transfers the data according to the error bit of the entry corresponding to the pattern of the storage value of the first storage means or the pattern of the storage values of both the first storage means and the second storage means. Determine if the route is faulty.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
  An embodiment of the present invention will be described below with reference to the drawings.
  FIG. 1 illustrates the present invention.ExampleFIG. In FIG. 1, 1 indicates a transmission unit of one functional block, and 2 indicates a reception unit of the other functional block. The transmission unit 1 includes a selector 11, a transmission latch 12, and a phase adjustment pattern generation circuit 13. The reception unit 2 includes a variable delay circuit 21, a reception latch 22, a data check circuit 23, an edge detection circuit 24, and a phase control circuit 25. Reference numerals 101 to 108 are data lines, which are generally composed of a plurality of bits, but the transmission path between the functional blocks may be composed of 1 bit.
[0019]
The phase adjustment needs to be completed before the device synchronously transfers data between the function blocks. At that time, it is necessary to cause the transmission system to generate in advance the maximum noise generated when the apparatus uses the transmission system. The phase adjustment pattern generation circuit 13 is a circuit that automatically generates pattern data for generating maximum noise in the transmission system.
[0020]
Transmission system noise includes noise generated from a power supply for driving the transmission system and noise (crosstalk or the like) generated when a signal propagates through the transmission system. A special pattern is prepared in the phase adjustment pattern generation circuit 13 in order to generate the noise to the maximum. In this embodiment, as shown in FIG. 2, when a pattern in which one cycle “1” continues and then one cycle “0” continues for all bits of the path for phase adjustment is repeated for a predetermined time, A pattern in which 2 cycles “1” continues, a pattern in which 2 cycles “0” continues is repeated for a specified time, a pattern in which 3 cycles “1” continues, and a cycle in which 3 cycles “0” continues is repeated for a specified time. The same pattern is repeated from 1 to 3 cycles so that only the bits have the opposite pattern to the other bits. Then, the process is repeated until all the bits are opposite to each other, and then a pattern is repeatedly generated from all the bits 0 and 1 in one cycle. Although only data for one bit is shown in FIG. 2, the phase adjustment pattern generation circuit 13 continues to periodically generate such a pattern for each bit (including parity bits).
[0021]
During the phase adjustment operation, in the transmission unit 1, the selector 11 selects the data line 102, and outputs phase adjustment pattern data that generates maximum noise in the transmission system generated by the phase adjustment pattern generation circuit 13 to the data line 103. The transmission latch 12 takes in the phase adjustment pattern data on the data line 103 in synchronization with the transmission clock 113 and sends it to the data line 104. Switching of the selector 11 is instructed from an external system control unit or the like, but is omitted in FIG.
[0022]
In the receiving unit 2, the phase adjustment pattern data is received by the data line 105, passes through the variable delay circuit 21, and is output to the data line 106. As will be described later, in this embodiment, the variable delay circuit 21 can change the delay amount in eight stages. The reception latch 22 captures the phase adjustment pattern data on the data line 106 in synchronization with the reception clock 114 and outputs it to the data line 107. In synchronization with the reception clock 114, the data check circuit 23 always checks whether or not the phase adjustment pattern data has been correctly latched in the reception latch 22, in other words, whether or not the output of the reception latch 22 is correct data. ing. Further, the edge detection circuit 24 has a data uncertain area of the phase adjustment pattern data immediately before the reception latch 22 on the data line 106, that is, the data switching after passing through the variable delay circuit 21 falls within a predetermined range with reference to the reception clock 114. Detect if it exists. The phase control circuit 25 changes the delay amount of the variable delay circuit 21 through the control line 111 based on the data check result / edge detection result from the data check circuit 23 and the edge detection circuit 24 for each delay while sequentially changing the delay amount. The delay amount of the delay circuit 21 is controlled so as to maximize the margin.
[0023]
After the phase adjustment, the operation is switched to normal operation. In the normal operation, in the transmission unit 1, the selector 11 selects normal transmission data on the data line 101 in response to an instruction from the outside, and the transmission latch 12 captures the transmission data in synchronization with the transmission clock 113 and transfers it to the data line 104. Send it out. The reception unit 2 receives normal data from the transmission side through the data line 105, the variable delay circuit 21 delays the data by a predetermined amount, and the reception latch 22 captures the data in synchronization with the reception clock 114, to the data line 107. Output. Here, since the delay amount of the variable delay circuit 21 is set by the phase control circuit 25 so as to always keep the operation margin at the maximum, the data can be reliably latched in the reception latch 22.
[0024]
Hereinafter, the data check circuit 23, the edge detection circuit 24, and the phase control circuit 25 will be described in detail.
[0025]
FIG. 3 shows a configuration example of the data check circuit 23. The data check circuit 23 includes a check circuit 301 that checks data on the data line 107 and a check latch 302 that indicates that the result of inspection by the check circuit 301 is an error. The check circuit 301 is a parity check circuit, for example, but may be a circuit other than this. For example, a CRC circuit or a compare check circuit may be used. In other words, the check circuit 301 can determine whether or not the reception data is definitely latched in the reception latch 22 and, as a result, can be any circuit that can output whether the reception data is normal or abnormal. The check latch 302 captures the check result of the check circuit 301 in synchronization with the clock 114, and the information is reported to the phase control circuit 25 through the control line 109. The check latch 302 is reset by the phase control circuit 25 through the control line 110.
[0026]
  FIG. 4 shows a configuration example of the edge detection circuit 24. Reference numerals 401 to 407 denote latches, 408 denotes a fixed delay circuit, and 409 to 415 denote logic elements. When the data of the input data line 108 is captured by the latch 401 and the latch 403, if the switching of the capture clock and the input data overlaps, the outputs of the latch 401 and the latch 203 are in a metastable state. It is known that this metastable state is eliminated in a certain time due to the characteristics of the latch. In this embodiment, the metastable state is removed by re-acquiring with the latch 402 and the latch 404 after one clock. latch405,406The signal on the input data line 108 is latched401And the value latched by the latch 403 after passing through the fixed delay circuit 408, as a result of comparing the value latched in step 408. The latch 407 is a latch that holds “1” when the comparison results are different. That is, when the latch 407 is “1”, the data between the clock position where the signal of the input data line 108 is supplied to the edge detection circuit 24 and the position advanced by the delay of the fixed delay circuit 408 from the clock. This indicates that there is an indeterminate area. Information of the latch 407 is reported to the phase control circuit 25 through the control line 112.
[0027]
FIG. 5 shows a configuration example of the variable delay circuit 21. Reference numerals 501 to 507 denote delay unit circuits having a certain delay amount (delay) Δβ. Reference numerals 511 to 517 denote selectors for switching delays, which are controlled via the decoder 520 by a control signal given from the phase control circuit 25 through the control line 111. The selectors 511 to 517 select the signal from the delay unit circuit (Δβ) when the select signal from the decoder 520 is not valid, and select the received data on the data line 105 when the select signal from the decoder 520 is valid. To do. For example, if the value of the control signal on the control line 111 is “2”, only the selector 515 selects the received data on the data line 105, and the other selectors 511, 512, 513, 514, 516, 517 are delay units. The signals from the circuits 501, 502, 503, 504, 506 and 507 are selected. Accordingly, since the received data on the data line 105 passes through the selector 515 and passes through the delay unit circuit 506, the selector 516, the delay unit circuit 507, and the selector 517, the delay in the variable delay circuit 21 is two times Δβ. It becomes the value which added 3 pieces. Thus, according to the value of the control signal on the control line 111, the number of delays Δβ until the received data on the data line 105 passes to the data line 106 is determined, and the delay of the variable delay circuit 21 is determined. In order to suppress delay variation due to the value of the control signal on the control line 111, the same selector as the selector 511 is added to the entrance of the head delay unit circuit 501, and a new 7 signal is extracted from the decoder 520, and the select signal It is also possible to connect the selector to which the line is added in the same manner as the selectors 511 to 517.
[0028]
FIG. 6 shows a configuration example of the phase control circuit 25. The control logic unit 601 is a logic unit that controls the overall operation of the phase control circuit 25. The control logic unit 601 is connected to an external system control unit or the like via a system control line or a system report line, but is omitted in FIG. SQBSY 602 is a flip-flop that indicates whether or not the phase control circuit 25 is performing a phase adjustment operation, and serves to prevent malfunction caused by double activation of the phase control circuit. PDATA 603 is a register for storing the data check result in the data check circuit 23 for each delay unit, and CDATA 604 is a register for storing the edge detection result in the edge detection circuit 24 for each delay unit. In this embodiment, the delay can be changed in 8 stages in the variable delay circuit 21, and the values of PDATA 603 and CDATA 604 are correspondingly configured with 8 bits in each register. The OR circuit 605 is a circuit that logically sums the values of PDATA 603 and CDATA 604 in units of bits, and the selector 606 is a circuit that selects either the output of the PDATA 603 or the output of the OR circuit 605 with the control signal 608 from the control logic unit 601, RDATA 607 Is a register for storing the output of the selector 606. The register of RDATA 607 is 8 bits like PDATA 603 and CDATA 604.
[0029]
The set value for the delay variable delay circuit 21 having the maximum operating margin is obtained in advance from a combination of the values of PDATA 603 and CDATA 604. In this embodiment, the table (1) 610 and the table (2) 620 of the list based on the calculation result are created and stored in the phase control circuit 25. FIG. 9 is an example of the table (1) 610. Yes, whether or not to use the CDATA value from the PDATA value is shown in the column of presence / absence of use of the edge detection result. “1” indicates that the value of CDATA 604 is used, and “0” indicates that the value of CDATA 604 is not used. The control logic unit 601 controls the operation of the selector 606 by a control signal 608 with reference to the edge detection result use determination table (1) 610. FIG. 10 is an example of Table (2) 620 and shows a conversion table for obtaining the delay of the variable delay circuit 21 from the value of RDATA 607. However, at the same time as the delay that maximizes the operation margin is defined from the RDATA 607 value, the RDATA 607 value that cannot be a normal transmission path is also defined in the table (2) 620 to indicate that there is some failure in the transmission path. Also defines an error field. However, if there is a delay in which transmission data can be normally received even if there is some failure in the transmission path, a setting value is defined so that the operation margin is maximized.
[0030]
Next, the operation of the phase control circuit 25 shown in FIG. 6 will be described with reference to FIGS. FIG. 7 is an overall operation flow of the control logic unit 601 in the phase control circuit 25. If there is an instruction to perform phase adjustment from the outside, it is first determined whether or not SQBSY 602 is “1” (step 702). SQBSY 602 of “1” indicates that the phase control circuit 25 is in the middle of phase adjustment operation. In this case, the phase adjustment request is ignored and the phase control circuit 25 is activated twice. Prevents malfunction caused by being applied. When SQBSY 602 is “0”, that is, when the phase adjustment operation is not performed by the phase control circuit 25, the phase adjustment request is accepted and SQBSY 602 is set to “1” at the same time as entering the phase adjustment operation (step 703). ). Next, initialization for phase control is performed (steps 704, 705, and 706). First, the values of the PDATA register 603 and the CDATA register 604 are set to “0” (step 704). The symbol “*” in FIG. 7 indicates the array element numbers (0 to 7) of the registers 603 and 604 and also indicates the value set in the variable delay circuit 21. Next, the variable i is set to “0” (step 705), and the delay is set to “0” in the variable delay circuit 21 (step 706). This completes the initialization for phase control, and thereafter the following operation is repeated for each delay set in the variable delay circuit 21.
[0031]
First, the check latch 302 provided in the data check circuit 23 is cleared to “0” through the control line 110 (step 707). Then, a determination time for continuously checking the received data by the data check circuit 23 and the edge detection circuit 24 is set (step 708). The determination time is set as a unit of time during which one cycle of various phase adjustment patterns generated by the phase adjustment pattern generation circuit 13 in the transmitter 1. The inspection is started from an arbitrary position of the phase adjustment pattern data. However, the determination time to be set may be able to detect noise that changes over a longer time as the determination time becomes larger. In the corresponding delay for the time set in step 708, the check result of the received data in the data check circuit 23 is fetched from the control line 109 and stored in the PDATA (i) 603, and at the same time, the edge check of the received data in the edge detection circuit 24 The result is fetched from the control line 112 and stored in CDATA (i) 604 (steps 709 and 710). After the determination time has elapsed, “1” is added to the variable i in order to check data for the next delay (step 711), and a delay corresponding to i is set in the variable delay circuit 21 (step 712). If the changed variable i is equal to or smaller than “8” (step 713), the process returns to step 707, and the received data for the delay corresponding to the variable i is checked again and stored in PDATA (i) 603 and CDATA (i) 604. To do. If the changed variable i is “8” or more, it means that the check of received data for all delays that can be changed by the variable delay circuit 21 is completed, and PDATA
The delay with the maximum operation margin is determined from the values of (*) 603 and / or CDATA (*) 604, and the delay is set for the variable delay circuit 21 (step 714).
[0032]
As described above, since the phase adjustment operation is completed, SQSY 602 is set to “0” to notify the outside that the phase adjustment operation is completed (step 715). The timing for performing the phase adjustment operation is of course performed in the process of starting up the device, but in order to always keep the operation margin at the maximum, even during operation of the device, it is usually in the transfer path. Phase adjustment is performed in anticipation of no data.
[0033]
FIG. 8 is an operation flow for explaining step 714 shown in FIG. 7 in detail. When the check results for all delays that can be changed by the variable delay circuit 21 are stored in PDATA (*) 603 and CDATA (*) 604, first, using the values of PDATA (*) 603, the table of FIG. (1) The presence / absence of use of the edge detection result is read from 610 (step 802). As a result of reading, when the presence / absence of use of edge detection is “1”, the OR circuit 605 selects the operation result obtained by logically summing PDATA (*) 603 and CDATA (*) 604 for each bit. RDATA (*) 607 is set. Whether or not edge detection is used
When it is “0”, the selector 608 selects the value of PDATA (*) 603 with the selector 608 and sets it to RDATA (*) 607 as it is (steps 803, 804, 805). Next, using the value of RDATA (*) 607, the delay amount and the error are read from the table (2) 620 in FIG. 10 (step 806). Then, the read delay amount is set in the variable delay circuit 21 through the control line 111 (step 807). If the read error value is “1”, an error is indicated to the phase control circuit 25. Then, step 714 is completed (step 809). If the read error value is “0”, step 714 is completed as it is.
[0034]
For example, when the value of PDATA (*) 603 is “00000011” and the value of CDATA (*) 604 is “00001111”, the value of the 904th row of table (1) 610 and the value of PDATA (*) 603 in FIG. Therefore, the presence / absence of use of edge detection can be read as “1” from the table of FIG. Since the presence / absence of use of edge detection is “1”, PDATA (*) 603 and CDATA (*) 604 are logically ORed for each bit, and RDATA (*) 607 is “00001111”. This RDATA
(*) The value of 607 matches the 1005th line of Table (2) 620 in FIG. Therefore, the control logic unit 601 of the phase control circuit 25 sets the delay amount value “1” read from the row 1005 in the table of FIG. In this case, since the error column in the 1005th line of the table of FIG. 10 is “0”, no error is set in the phase control circuit 25.
[0035]
Next, an example of a waveform in the phase adjustment operation of this embodiment will be described with reference to FIG. The waveform output from the transmission unit 1 is switched in synchronization with the transmission clock 113, so that the data indeterminate region is generated like the waveform of the transmission data on the data line 104. The transmission data is subjected to various noises while reaching the receiving unit 2 through the transfer path, and the range of data uncertainty is wider than the transmission data of the data line 104 like the reception data of the data line 105. The reception data on the data line 105 passes through the variable delay circuit 21 to become a waveform 106 and is latched in the reception latch 22 by the reception clock 114. Here, the waveform of the received data on the data line 106 changes like the waveforms of delays 0 to 7 in the variable delay circuit 21. As for the relative relationship (skew) between the reception clock 114 and the transmission clock, the phase is constant although there is jitter. One purpose of this phase adjustment is to maximize the operating margin. This is equivalent to bringing the reception clock 114 in the middle of the data deterministic area avoiding data indeterminacy of the reception data of the data line 106 in the relationship between the reception clock 114 and the reception data of the data line 106. is there. In other words, the center of the data fixed area where the data uncertain of the received data on the data line 106 is avoided is aligned with the reception clock 114. In other words, maximizing the operating margin delays either the reception data on the data line 106 or the reception clock 114, and the data uncertain area of the reception data on the data line 106 matches the latch point of the reception clock 114. In other words, the latch point of the reception clock 114 is in the middle of the data fixed area avoiding the data undefined area. In the example of the waveform in FIG. 11, when the value of PDATA (*) is determined as “11000001” and the value of CDATA (*) is determined as “11000011”, the delay amount “4” has the maximum operating margin. It can be easily understood that the value is obtained.
[0036]
Next, the delay unit circuits 50 to 507 (Δβ) and the total delay mounted on the variable delay circuit 21 shown in FIG. 5 and the delay of the fixed delay circuit 408 mounted on the edge detection circuit 24 shown in FIG. 4 will be described. The minimum total delay required for the variable delay circuit 21 is generated by transmitting the transmission data of the data line 104 from the latch 12 of the transmission unit 1 in synchronization with the transmission clock 113, and receiving data of the data line 106 by the transmission clock 113. Therefore, it is only necessary to bring the phase of the received data in the middle of the data deterministic area avoiding data indeterminacy of the received data on the data line 106. Good things are easy to understand. The delay of the delay unit Δβ is a value obtained by dividing the total delay into n equal parts. As the delay of the delay unit Δβ is smaller, it can be set to the middle of the data deterministic area where data uncertainties are avoided, that is, a delay with the largest operation margin, but the logic scale of the variable delay circuit 21 becomes larger. As a result, it becomes difficult to mount the LSI on the LSI and the logic for implementing the function to be performed cannot be entered. Therefore, considering the balance of the operation margin of the entire apparatus, that is, only the transfer path protrudes and is wasted. Therefore, it is necessary to determine the value of the delay unit Δβ so that the operation margin does not increase.
[0037]
Next, when the delay unit Δβ is determined, the delay of the fixed delay circuit 408 in the edge detection circuit 24 is determined. The edge detection circuit 24 is a means provided so as to compensate for the result of discrete check by the data check circuit 23. That is, since the data check circuit 23 checks the received data only at points with respect to the stepwise delay that can be set by the variable delay circuit 21, it does not check the received data between points, that is, by the delay unit Δβ. . The purpose of the edge detection circuit 24 is to check the area where the received data is not checked. Therefore, it can be easily understood that the fixed delay circuit 408 may have at least the delay unit Δβ. However, as can be seen from FIG. 11, when the delay of the fixed delay circuit 408 increases, the area detected by the edge detection circuit 24 indicated by the right-down diagonal line increases, so that the data indeterminate area looks large, As a result, the delay set in the variable delay circuit 21 is set to the earlier side of the delay from the middle of the data determination area avoiding data uncertainties, and the operation margin is reduced.
[0038]
Next, FIG. 12 shows an example of a system to which the phase adjustment method of the present invention is applied. Reference numeral 1201 denotes a system control unit that controls the phase adjustment of all functional blocks, and reference numerals 1210, 1211, and 1212 denote functional blocks A, B, and C. There are four transfer paths between the functional block (A) 1210 and the functional block (B) 1211. In this example, there are two transfer paths between the functional block (B) 1211 and the functional book (C) 1212. It has a transfer path. Each transfer path includes a transmitter 1 and a receiver 2. FIG. 1 shows a set of these. Reference numerals 1220, 1221, and 1222 denote system control lines for controlling the internal circuits of the transmission unit 1 and the reception unit 2 in the functional blocks (A) 1210, (B) 1211, and (C) 1212 from the system control unit 1201. Yes, 1230, 1231 and 1232 are system report lines reported from the phase control circuit 25 of the receiving unit 2 in each of the functional blocks (A) 1210, (B) 1211 and (C) 1212.
[0039]
Next, an example of a procedure for operating the phase adjustment for the transfer path indicated by 1240 between the functional block (A) 1210 and the functional block (B) 1211 in the system of FIG. 12 will be described with reference to FIG. The system control unit 1201 sets a determination time for continuing to determine received data to the receiving side of the transfer path 1240 that is going to perform phase adjustment by using the system control line 1221 (step 1302). Further, the system control line 1220 switches the selector on the transmission side corresponding to the reception side of the transfer path 1240 to the direction in which the phase adjustment pattern data from the phase adjustment pattern generation circuit is output (step 1303). Then, it instructs the phase control circuit on the phase adjustment reception side of the transfer path 1240 to perform a phase adjustment operation (step 1304). Thereafter, the system control unit 1201 monitors the SQBSY read from the phase control circuit on the receiving side via the report line 1131 in order to know that the phase adjustment operation is completed, and the SQBSY signal becomes “0”. When the error signal is confirmed, the error signal is read from the phase control circuit on the receiving side (step 1306), and if the error signal is “1”, error information determined in advance from the receiving side is collected. The error information is reported to the outside (step 1307). After the error signal is “0” or error information is collected, the system control unit 1201 switches the selector corresponding to the transmission side of the transfer path 1240 to the data path side normally used by the system control line 1220 (step 1308).
[0040]
The series of procedures shown in FIG. 13 can be performed independently by a phase adjustment circuit provided for each transmission path. Further, since there is no different setting for each phase adjustment circuit, these series of procedures can be performed simultaneously by the system control unit 12 that controls the entire system.
[0041]
In the above, one embodiment of the present invention has been described. However, when there are a plurality of transmission units in the same LSI, each transmission unit does not include a phase adjustment pattern generation circuit, depending on the implementation of the LSI. Thus, a plurality of transmission units may share one phase adjustment pattern generation circuit.
[0042]
Also, the transmission path may be composed of 1 bit or a plurality of bits, and the variable delay circuit may change the delay individually for each bit or may change the delay for each of the plurality of bits at the same time. Good. If the delay for each bit is changed at the same time, the noise of each bit appears to be superimposed due to variations in the transmission path of each bit, so that the variable delay circuit can change the delay individually for each bit as much as possible. By making it possible, it is possible to set a fine delay so that the operation margin becomes larger.
[0043]
【The invention's effect】
According to the present invention, no complicated delay calculation is required for each transfer path, and the optimum delay for the transfer path is automatically selected according to the actual transfer result, so that all delay calculations for the transfer path are required. In addition, LSIs can be easily designed in common and the number of LSIs to be designed can be reduced, which has the effect of reducing LSI design costs and manufacturing costs.
[0044]
In addition, since the phase is automatically adjusted in the installation environment after assembling the delay variation due to the operating environment of each device and the delay variation generated in the manufacturing process for each component, the maximum operation of the device for each device. There is an effect that a margin can be obtained automatically.
[0045]
In addition, since the present invention includes an edge detection circuit, even if the data uncertainty region becomes smaller than the checkpoint interval by the delay unit of the variable delay circuit, the data uncertainty region is not lost, so that the maximum operation is achieved. There is an effect that it is possible to set a delay for obtaining a margin.
[0046]
In addition, the present invention has an effect that it is possible to notify the outside that there is some kind of failure in the transfer path by finding a pattern that cannot be designed from the result of checking for each delay unit of the variable delay circuit.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an embodiment of the present invention.
FIG. 2 is an example of phase adjustment pattern data generated by a phase adjustment pattern generation circuit.
FIG. 3 is an example of a data check circuit in FIG. 1;
FIG. 4 is an example of an edge detection circuit.
FIG. 5 is an example of a variable delay circuit.
FIG. 6 is an example of a phase control circuit.
FIG. 7 is an operation flowchart of the phase control circuit.
FIG. 8 is a detailed operation flowchart of processing for determining the delay amount of the flow of FIG. 7;
FIG. 9 is an example of an edge detection result use determination table;
FIG. 10 is an example of a conversion table for determining a delay amount.
FIG. 11 is an example of a waveform in the phase adjustment operation of the embodiment.
FIG. 12 shows an example of a system configuration to which the present invention is applied.
13 is a flowchart of phase adjustment operation by the system of FIG.
[Explanation of symbols]
1 Transmitter
2 receiver
11 Selector
12 Transmit latch
13 Phase adjustment pattern generation circuit
21 Variable delay circuit
22 Receive latch
23 Data check circuit
24 Edge detection circuit
25 Phase control circuit
101-108 data lines
109 to 112 Control line
113, 114 clock
1201 System control unit
1210, 1211, 1212 functional blocks
1220, 1221, 1222 System control line
1230, 1231, 1232 System report line

Claims (2)

送信部と受信部がデータ転送経路を通して接続された機能ブロック間におけるデータの同期転送のための位相調整方式であって、
送信部は、位相を調整するための位相調整パターンデータを生成する位相調整パターン発生手段を有し、
受信部は、受信データを任意に遅延させる可変遅延手段と、前記可変遅延手段を通過した位相調整パターンデータが受信クロックにより正しく受信ラッチにラッチできたか否かをチェックするデータチェック手段と、前記可変遅延手段を通過して前記受信ラッチにラッチされる直前の位相調整パターンデータをもとに、前記受信ラッチに与えられる受信クロックからあらかじめ決められた範囲内にデータ不確定領域が存在するか否かのエッジ検出を行うエッジ検出手段と、前記可変遅延手段の遅延量を変化させながら、順次、前記データチェック手段のデータチェック結果及び前記エッジ検出手段のエッジ検出結果を入力して、データチェック結果あるいはデータチェック結果とエッジ検出結果の両方をもとに前記可変遅延手段の遅延量を最適に設定する位相制御手段とを有し、
前記位相制御手段は、前記可変遅延手段の各遅延量に対する前記データチェック手段のデータチェック結果を記憶する第1記憶手段と、前記可変遅延手段の各遅延量に対する前記エッジ検出手段のエッジ検出結果を記憶する第2記憶手段と、前記可変遅延手段の全遅延量に対するデータチェック結果データのとりうるパターン、及び、前記可変遅延手段の全遅延量に対するデータチェック結果データとエッジ検出結果のデータを合わせたデータのとりうるパターンと前記可変遅延手段の最適遅延量との対応をあらかじめ定めたテーブルと、前記第1記憶手段の記憶値に基づき、前記テーブルから、前記第1記憶手段の記憶値のパターンあるいは前記第1記憶手段と前記第2記憶手段の両方の記憶値をあわせたパターンに対応する遅延量を選択して前記可変遅延手段に設定する制御論理手段とからなる、
ことを特徴とする位相調整方式。
A phase adjustment method for synchronous transfer of data between functional blocks in which a transmitter and a receiver are connected through a data transfer path,
The transmitter has phase adjustment pattern generation means for generating phase adjustment pattern data for adjusting the phase,
The receiving unit arbitrarily delays received data, data check means for checking whether or not the phase adjustment pattern data that has passed through the variable delay means can be correctly latched in the reception latch by the reception clock, and the variable Whether or not there is a data uncertain area within a predetermined range from the reception clock given to the reception latch based on the phase adjustment pattern data immediately before being latched by the reception latch after passing through the delay means The edge detection means for detecting the edge of the data, and the data check result of the data check means and the edge detection result of the edge detection means are sequentially input while changing the delay amount of the variable delay means, and the data check result or Based on both the data check result and the edge detection result, the delay amount of the variable delay means is minimized. And a phase control means for setting the,
The phase control means stores a first storage means for storing a data check result of the data check means for each delay amount of the variable delay means, and an edge detection result of the edge detection means for each delay amount of the variable delay means. The second storage means to store, the data check result data for the total delay amount of the variable delay means, and the data check result data and the edge detection result data for the total delay amount of the variable delay means are combined. Based on a table that predetermines the correspondence between patterns that data can take and the optimum delay amount of the variable delay means, and a stored value pattern of the first storage means, based on a stored value of the first storage means, or Select the delay amount corresponding to the pattern that combines the stored values of both the first storage means and the second storage means Comprising a control logic means for setting the variable delay means Te,
A phase adjustment method characterized by this.
請求項1記載の位相調整方式において、
前記テーブルは、前記データチェック結果データのとりうるパターン、及び、前記データチェック結果データと前記エッジ検出結果データを合わせたデータの取り得るパターン対応に、伝送路に障害があるか否かを表わすエラービットをさらに有し、
前記制御論理手段は、前記テーブルを参照し、前記第1記憶手段の記憶値のパターンあるいは前記第1記憶手段と前記第2記憶手段の両方の記憶値をあわせたパターンに対応するエントリのエラービットにより、当該データ転送経路に障害があるかどうか判断することを特徴とする位相調整方式。
The phase adjustment method according to claim 1,
The table shows an error indicating whether or not there is a failure in a transmission path in correspondence with a pattern that the data check result data can take and a pattern that the data check result data and the edge detection result data can take. A bit further,
The control logic means refers to the table, and an error bit of an entry corresponding to a pattern of the stored value of the first storage means or a pattern obtained by combining the stored values of both the first storage means and the second storage means To determine whether there is a failure in the data transfer path .
JP36676998A 1998-12-24 1998-12-24 Phase adjustment method Expired - Fee Related JP3710308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36676998A JP3710308B2 (en) 1998-12-24 1998-12-24 Phase adjustment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36676998A JP3710308B2 (en) 1998-12-24 1998-12-24 Phase adjustment method

Publications (2)

Publication Number Publication Date
JP2000196571A JP2000196571A (en) 2000-07-14
JP3710308B2 true JP3710308B2 (en) 2005-10-26

Family

ID=18487630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36676998A Expired - Fee Related JP3710308B2 (en) 1998-12-24 1998-12-24 Phase adjustment method

Country Status (1)

Country Link
JP (1) JP3710308B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007322A (en) 2000-06-27 2002-01-11 Hitachi Ltd Phase regulation and control method, and information processor
DE10297489T5 (en) * 2001-11-20 2004-11-18 Advantest Corp. Phase adjustment device and semiconductor memory test device
JP2004127147A (en) 2002-10-07 2004-04-22 Hitachi Ltd Deskew circuit and disk array controller using same
US7477078B2 (en) * 2004-02-02 2009-01-13 Synthesys Research, Inc Variable phase bit sampling with minimized synchronization loss
WO2007066456A1 (en) * 2005-12-05 2007-06-14 Matsushita Electric Industrial Co., Ltd. Interface circuit
CN101416437A (en) * 2006-04-05 2009-04-22 松下电器产业株式会社 Removable memory device, phase synchronizing method, phase synchronizing program, medium recording the same, and host terminal
US7783954B2 (en) * 2006-09-11 2010-08-24 Globalfoundries Inc. System for controlling high-speed bidirectional communication
CN101911036A (en) * 2008-01-07 2010-12-08 株式会社尼廉制度 Data transfer device and camera
JP5304280B2 (en) 2009-01-30 2013-10-02 株式会社ニコン Phase adjusting device and camera
JP6241156B2 (en) * 2013-09-11 2017-12-06 株式会社ソシオネクスト Method for determining the phase of a clock used to receive parallel data, a receiving circuit and an electronic device

Also Published As

Publication number Publication date
JP2000196571A (en) 2000-07-14

Similar Documents

Publication Publication Date Title
US6370200B1 (en) Delay adjusting device and method for plural transmission lines
KR100894346B1 (en) Memory controller, memory circuit and memory system with a memory controller and a memory circuit
US5621774A (en) Method and apparatus for synchronizing parallel data transfer
RU2213992C2 (en) Wavefront pipeline dynamic interface and its operating process
JP4339317B2 (en) Clock transfer device and test device
JP3710308B2 (en) Phase adjustment method
JPS6015727A (en) System clock controller
JP4594896B2 (en) Testing the device under test by sampling the clock and data signals of the device under test
JP4138163B2 (en) LSI test apparatus and timing calibration method thereof
US6636999B1 (en) Clock adjusting method and circuit device
JP3919990B2 (en) Timing synchronization system, apparatus used in the system, and timing synchronization method
JP4748896B2 (en) Synchronous data transfer processing device
JP3209720B2 (en) Apparatus and method for adjusting delay time between transmission lines
JP3773203B2 (en) Data synchronization method in digital system with multiple self-adjusting interfaces
JP2002007322A (en) Phase regulation and control method, and information processor
US20040160256A1 (en) Semiconductor device
JP2000163154A (en) Method for compensating clock signal phase delay
JP3527161B2 (en) Semiconductor integrated circuit device and clock skew verification method
JP2008225956A (en) Semiconductor integrated circuit device and timing adjustment method
JP3408486B2 (en) Synchronous circuit between devices
JP3950650B2 (en) Parallel data transfer device and parallel data transfer method
JP3523778B2 (en) Delay phase control function test method
JPH08329000A (en) Information processor
KR100279714B1 (en) Clock generator device
JP2008294808A (en) Electronic equipment, clock phase adjustment device and method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080819

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees