JPH071901B2 - データ・シンクロナイザ - Google Patents

データ・シンクロナイザ

Info

Publication number
JPH071901B2
JPH071901B2 JP61266814A JP26681486A JPH071901B2 JP H071901 B2 JPH071901 B2 JP H071901B2 JP 61266814 A JP61266814 A JP 61266814A JP 26681486 A JP26681486 A JP 26681486A JP H071901 B2 JPH071901 B2 JP H071901B2
Authority
JP
Japan
Prior art keywords
data
source
sync
counter
synchronizer
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 - Lifetime
Application number
JP61266814A
Other languages
English (en)
Other versions
JPS62146035A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62146035A publication Critical patent/JPS62146035A/ja
Publication of JPH071901B2 publication Critical patent/JPH071901B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A. 産業上の利用分野 B. 従来技術 C. 発明が解決しようとする問題点 D. 問題点を解決するための手段 E. 実施例 E1. シンクロナイザの概略(第1図、第2図、第3
図、第4図) E2. デルタ検出回路(第5図) E3. ソース及びシンク・カウンタ(第6A図、第6B図) E4. 書込み選択回路、データ・バツフア、読取り選択
回路(第6C図) E5. 先読み付きデルタ検出回路(第6D図) E6. シンク制御シンクロナイザの主要ブロツク(第7A
乃至第7D図) E7. ソース制御シンクロナイザの主要ブロツク(第8A
乃至第8D図) E8. ソース兼シンク制御シンクロナイザ(第9A乃至第9
I図) F. 発明の効果 A. 産業上の利用分野 本発明は一般的にデータ処理に関し、具体的にはデータ
をクロツク・パルスと同期させるシンクロナイザに関す
る。
B. 従来技術 同期デイジタル装置を設計する場合には、データを2つ
の論理装置グループ間で単方向に通過させなければなら
ない時がある。しばしば2つのグループの論理装置のク
ロツクは異なる。受信論理装置がデータを使用出来る前
に、データは受信論理装置のクロツクで再同期しなけれ
ばならない。代表的なもしくは簡単な解決法は2つのグ
ループの論理装置間に1組の初期接続手段(handshakin
g)信号を与える事である。初期接続手順信号はデータ
の到着及び受諾を示すのに使用出来る、この代表的解決
法は、同期されるデータ項目当りに多くのクロツク・サ
イクル(ソース及びシンク)を必要とする。この解決法
はシンクロナイザのスループツトを低減させる。データ
項目が各クロツク・サイクルで処理されるシステムはス
ループツトの障害となる誤り状態を生じがちである。
上述の問題に対する他の従来の解決法は米国特許第4119
796号に示されている。この特許では、デイジタル位相
ローク・ループで到来クロツクと局部クロツクを同期し
ている。シフト・レジスタが到来データ・パルスを到来
クロツク・パルスと同じ量だけ遅延させて、データ・パ
ルスと局部クロツクを同期させている。カウンタの出力
を使用してシフト・レジスタの適切な出力を選択する選
択回路を駆動している。
さらに他の従来の解決法は米国特許第4065862号及び第4
320515号に開示されている。この2つの特許は同期され
るべきデータをシフトするシフト・レジスタを必要とす
る。位相ロツク・ループを使用して内部クロツクを発生
している。発生するクロツクの周波数は通常ソースもし
くはシンク・クロツクの周波数よりも高い。
C. 発明が解決しようとする問題点 本発明の目的は従来可能であつたよりも効率的なデータ
・シンクロナイザを与える事にある。
D. 問題点を解決するための手段 本発明のデータ・シンクロナイザは先入れ先出し(FIF
O)バツフアとして働く。バツフア位置に一度書込まれ
た到来データはバツフア内の他の位置にシフトしない。
これに代つて、書込み及び読取りポインタが移動してデ
ータ転送を行う。ソース書込みカウンタが書込み回路を
制御して、書込み回路が到来データを連続したバツフア
位置に書込む。同様にシンク読取りカウンタが書込みカ
ウンタに従つて、読取り回路を制御し、読取り回路がデ
ータ項目を連続したバツフア位置から読取る。読取り及
び書込みカウンタはリング・カウンタもしくはグレイ・
コード・カウンタとして具体化される事が好ましい。デ
ルタ検出回路が読取りカウンタ及び書込みカウンタの状
態を比較して、バツフア中に同期されるべきデータが存
在するかどうか及び追加のデータのために空きのバツフ
ア位置が利用可能であるかどうかを判定する。
本発明の一つの実施例ではデルタ検出回路がシンクロナ
イザの誤り状態を示すのに使用される。
E. 実施例 E1. シンクロナイザの概略 第2図は本発明の原理に従う高速データ・シンクロナイ
ザのブロツク図である。このシンクロナイザは(以下説
明する)ブロツク10及びブロツク10に接続した複数の入
力/出力制御信号線を含む。本発明の説明のために、デ
ータを発生する側の論理装置(図示されず)をソース・
システムと呼び、データを受取る側の論理装置(図示さ
れず)をシンク・システムと呼ぶ。ブロツク10の左側の
入力線及び出力線(以下詳細に説明する)はソース・シ
ステムに接続されている。各線の矢印はデータの流れの
方向を示している。これ等の線上の信号はすべてソース
・システムのクロツクと同期している。
同様に、ブロツク10の右側の入力線及び出力線はシンク
・システム(図示されず)に接続されている。これ等の
線は同様にシンク・システムのクロツクと同様してい
る。同期さるべきデータは線12上に到来する。データは
高速データ・シンクロナイザ10中で遅延され、再同期さ
れる。次にデータは線18を介してシンクロナイザ10を去
る。ソース・システムのクロツクC及びBは夫々線14及
び16を介してシンクロナイザ10に与えられる。具体的に
はソースのクロツクCは線14上に現われ、他方クロツク
Bは線16上に現われる。クロツクCはデータをシフト・
レジスタ・ラツチ(SRL)(以下説明する)のL1段に導
入する。これ等のラツチはシンクロナイザ10中に設けら
れている。同じ様に、ソースのクロツクBはデータをシ
フト・レジスタ・ラツチ(SRL)のL1段からL2段に導入
する。
位相及び周波数がソース・システムのクロツクと異なる
シンク・システム・クロツクが夫々線20及び22を介して
シンクロナイザ10に与えらえる。線20上のシンク・クロ
ツクCはSRL(以下説明する)のL1段にデータを導入す
る。線22上のシンク・クロツクBはSRLのL1段からL2段
にデータを移動する。線24、26、28及び30上の信号はデ
ータ・ストローブ信号である。これ等の信号は制御信号
であり、特定のクロツク・サイクル中のデータの転送を
示すのに使用される。以下説明する様に、どの様にシン
クロナイザが構成され、使用されるかについては或るオ
プシヨンがある。選択したオプシヨンに依存して、特定
の構造では線24、26、28及び30上の信号のすべてが必要
になるわけではない。用途もしくは構成の選択性を示す
ためにこれ等の線は破線で示してある。
説明の目的のために、クロツク(ソース及びシンク)は
自走しているものとする。この事はクロツクが規則的な
割合で状態を変化する事を意味している。しかしなが
ら、ソース・システムからシンク・システムへのデータ
転送は必ずしも規則的でない。換言すれば、データ転送
は必ずしも各クロツク・サイクル毎に生じない。従つて
データ・ストローブ信号(24、26、28及び30)がシンク
ロナイザ10へのデータ転送もしくはこれからのデータ転
送を示すために活性化される。この目的のために、線24
のソース・データ・ストローブ・イン信号はソース・デ
ータ・イン線12上のデータが良好である事を示すために
活性化される。データが良好であるから、このデータは
シンクロナイザ10によつて受諾され、ラツチされなけれ
ばならない。線26上のソース・データ・ストローブ・ア
ウト信号はシンクロナイザ10がソース・データ・イン線
12上の新らしいデータを受諾する準備状態にある事を示
す。線28上のシンク・データ・ストローブ・イン信号
は、シンク・データ・アウト線18上のデータが受諾され
た事、そして次のクロツク・サイクルに新しいデータ項
目をシンク・データ・アウト線18上に置く事が出来る事
を示すために活性化される。線30上のシンク・データ・
ストローブ・アウト信号はシンクロナイザ10によつて活
性化され、新らしいデータ項目がシンク・データ・アウ
ト線18上に置かれた事を示す。
第3図はクロツクC、クロツクB、データ・ストローブ
及び新らしい有効データ間の時間関係を示すタイミング
図である。この図は1つのクロツク・システム(ソース
もしくはシンク)内の信号間の関係を示すものであり、
クロツク・システム間の関係を示すものではない。それ
はソース・クロツク・システムとシンク・クロツク・シ
ステムの信号間には必要な関係がないからである。デー
タ・ストローブ・イン及びアウト信号の(クロツクC及
びBに関する)タイミングは同じであり、「データ・ス
トローブ」として示されている。データ・ストローブ信
号が付勢される時は、同じクロツク・サイクル中に、適
切なデータ・イン/データ・アウト線上にデータ項目が
存在しなければならない。データ項目の提示のタイミン
グは「新しい有効データ」信号によつて示されている。
高速データ・シンクロナイザの詳細を説明する前に、シ
ンクロナイザはレベル感知走査設計(LSSD)規則に従つ
て設計される事に注意されたい。これ等の規則はテスト
技術分野で知られていて標準化されているものである。
従つて本発明はLSSDテスト可能なシフト・レジスタ・ラ
ツチ(SRL)であるメモリ素子(ラツチ)で具体化され
るが、本発明はLSSDテスト可能でない論理回路でも具体
化出来る事に注意されたい。例えば本発明はD型エツジ
・トリガ・フリツプ・フロツプと単一のクロツク装置で
も具体化出来る。
本発明のLSSDテスト可能性を示すために、シンクロナイ
ザはメモリ素子としてD型シフト・レジスタ・ラツチ
(SRL)を使用したものとして示される。この例では、S
RLを使用したシンクロナイザの代表的なクロツク装置を
想定してそのクロツク信号を第3図に示している。通常
この様なクロツク装置は2つの重畳しないクロツク信号
を利用する。この型のLSSDのテスト可能な装置を含むク
ロツク装置は従来技術で知られているので、詳細な説明
は行わない。ここではD型SRLは2つの段を含み、各段
が“極性保持”(“位相保持”もしくは“トランスペア
レンド”とも呼ばれる)D型ラツチより成ると述べるだ
けで十分である。第1の段はL1段と呼ばれ、第2の段は
L2段と呼ばれている。
L1段の出力はL2段の入力へ送られる。L1段への入力はク
ロツクA、クロツクC、データ入力及び走査入力であ
る。クロツクA及び走査入力はテスト中のみに使用さ
れ、通常の動作中は使用しない。従つて、混乱を避ける
ため、クロツクA及び走査入力信号はどの図面にも示さ
れていない。SRLラツチ・ブロツクへのクロツクC入力
はCとして示されている。SRLラツチ・ブロツクへのデ
ータ入力はDで示されている。クロツクCが活性である
とクロツクCは、L1段をデータ入力に関して透明にす
る、即ちデータ入力に現われるデータはL1段の出力にも
現われる。クロツクCが不活性であると、クロツクCが
不活性にされた時にデータ入力に存在していたデータが
L1段に保持される。クロツクBはL2段のためのクロツキ
ングを与える。クロツクBはクロツクCがL1段に対して
果したのと同じ機能をL2段に対して果す。クロツクBに
よつてL2段に導入されるデータはL1段の出力である。L2
段の正の出力は+L2出力と呼ばれ、負の出力は−L2出力
と呼ばれる。この節で説明した記法は良く知られている
LSSDの記法である。従つて、本発明の以下の説明では詳
しい説明は行なわない。
基本的な高速データ・シンクロナイザ10(第2図)は種
々の変形を与えるために種々の方法で構成出来る。入力
及び出力に関しては、オプシヨンの効果はデータ・スト
ローブ信号の存在もしくは不在及びこれ等の信号の相互
接続の仕方に現われる。高速データ・シンクロナイザの
基本的な内部回路はすべてのオプシヨンについて同じで
ある。しかしながらオプシヨンの或るものでは回路の一
部は使用されず、省略される。特定のシンクロナイザを
構成するためのオプシヨンは2つの領域で実施する事が
出来る。第1のオプシヨンの領域はシンクロナイザを通
るデータの流れを制御する方法に関する。シンクロナイ
ザがデータを誤りなく同期するためには、データがシン
クロナイザに入力される速度が、データがシンクロナイ
ザから取出される速度と同じでなければならない。しか
しながら、シンクロナイザへの及びそこからのデータの
流れを制御する即ち調歩する方法には3通りある。これ
によつて3つの基本的な型あるいは変形が生ずる。これ
等の3つの型はソース制御型、シンク制御型、並びにソ
ース及びシンク制御型である。説明を簡単にするために
同じ素子もしくは信号線を同定するのに各図面を通じて
共通の参照番号を使用する。
第4A図はソース制御型高速データ・シンクロナイザのブ
ロツク図である。ソース制御型シンクロナイザ中のデー
タの流れはソース・システム(図示されず)によつて調
歩される。シンク・システム(図示されず)に転送すべ
きデータがソース・システムにある時は、ソース・シス
テムはデータ項目をソース・データ・イン線12上に置
き、線24上にソース・データ・ストローブ・イン信号を
与える。一度シンクロナイザ10がデータ項目を取込んで
これを同期化すると、データ項目はシンク・データ・ア
ウト線18上に与えられ、シンク・データ・ストローブ・
アウト線30が活性化される。この型のシンクロナイザで
は、シンク・データ・ストローブ・アウト線30はシンク
・データ・ストローブ・イン線28に接続されている事に
注意されたい。従つてシンク・データ・ストローブ・ア
ウト線30が活性化される時はシンク・データ・ストロー
ブ・イン線28も同様に活性化され、これにより、そのシ
ンク・ストローブが活性化されたクロツク・サイクルの
終りに提示データが受諾される予定である事を示す。こ
の結果シンクロナイザは単一クロツク・サイクルの間シ
ンク・データ・アウト線18上に特定のデータ項目を与え
るだけである。
シンク・システム(図示されず)はデータの提示を制御
出来ないので、シンク・システムは到着したデータをラ
ツチする事が出来なければならない。一般にこの型のシ
ンクロナイザは、内部データ・バツフアから同期したデ
ータをシンク・システムに送つてバツフアを空にしよう
と動作する。ソース制御型のシンクロナイザでは、ソー
ス・システムがクロツク制御してデータを任意のクロツ
ク・サイクルでシンクロナイザに与えることができるも
のと仮定しているので、線26上のソース・データ・スト
ローブ・アウト信号は使用しない。従つて、この信号及
びこの信号を発生するのに使用する関連内部回路(後に
説明する)は存在しない。
第4B図はシンク制御型高速データ・シンクロナイザのブ
ロツク図である。シンク制御型シンクロナイザ中のデー
タの流れはシンク・システムで調歩される。一般にこの
型のシンクロナイザは、その内部バツフアをソース・シ
ステムからのデータで満たしておくようにし、そして同
期したデータがシンク・システムの要求時に常に利用可
能になるように動作する。このシンクロナイザは又シン
ク・データ・アウト線18上に良好なデータを与える。シ
ンク・システムがデータ転送を要求する時は、シンク・
システムは線28上のシンク・データ・ストローブ・イン
信号を活性化して、そのクロツク・サイクルの終りにシ
ンク・データ・アウト線18上のデータをラツチする。こ
れに応答して、シンクロナイザは次のクロツク・サイク
ルで2つの事を行う。即ち、新らしい良好なデータ項目
をシンク・データ・アウト線18上に与え、1つの内部バ
ツフア位置をさらにデータを受入れるために空にする。
バツフア位置が空になる事によつてシンクロナイザはソ
ース・データ・ストローブ・アウト線26を活性化する。
線26上のソース・データ・ストローブ・アウト信号は線
24上のソース・データ・ストローブ・イン信号に接続し
ているので、シンクロナイザは直ちにソース・データ・
イン線12上のデータを空のバツフア位置に置く。従つて
シンク制御型シンクロナイザの場合は、シンク・システ
ムはデータを任意のクロツク・サイクルで要求する。ソ
ース・システムはソース・データ・イン線12上に良好な
データ項目を置く。シンクロナイザがソース・データ・
ストローブ・アウト信号26を活性化したという事実をソ
ース・システムが検出する度に、ソース・システムは新
らしい良好なデータ項目をソース・データ・イン線12上
に提示しなければならない。それは前の良好なデータ項
目が既にシンクロナイザ中にラツチされてしまつている
からである。この型のシンクロナイザの場合、シンク・
データ・ストローブ・アウト信号30(第1図)は使用さ
れない。それは、シンク・システムが制限なく任意のク
ロツク・サイクルにデータを要求出来ると仮定している
からである。従つてこの信号及びこの信号を発生する関
連内部回路(以下説明する)は存在しない。
要するに、ソース制御型シンクロナイザでは、データの
流れの観点からいえば、シンク・システムはスレーブ・
システムであり、シンク・システムはデータの転送の制
御しない。同様にシンク制御型シンクロナイザではソー
ス・システムがスレーブ・システムで、ソース・システ
ムはデータの転送を制御しない。
第4C図はソース及びシンク制御型シンクロナイザのブロ
ツク図である。ソース及びシンク制御型シンクロナイザ
中のデータの流れは夫々ソース・システム/シンク・シ
ステムの両方によつて調歩される。この型のシンクロナ
イザの場合には、ソース・システムはソース・データ・
ストローブ・イン線24を活性化する事によつて任意のク
ロツク・サイクルでシンクロナイザ中にデータを強制的
に導入出来る。同様に、シンク・システムはシンク・デ
ータ・ストローブ・イン線28を活性化する事によつて任
意の時刻にデータを要求出来る。さらに、内部データ・
バツフアの状態はソース及びシンク・システムの両方が
知る事が出来る。以下説明する様に、この状態の検知は
ソース・データ・ストローブ・アウト信号26を調べる事
によつて行われる。ソース・システムは空のバツフア位
置が存在するかどうかを判定する事が出来る。同様にシ
ンク・システムはシンク・データ・ストローブ・アウト
線30の状態を調べる事によつてシンクロナイザ中に利用
可能なデータが存在するかどうかを知る事が出来る。
さらに第4C図を参照するに、ソース及びシンク制御型シ
ンクロナイザは2つの方法のうちの1つで使用出来る。
第1の方法では、データが利用可能であり且つ線26上の
活性なソース・データ・ストローブ・アウト信号によつ
て示される様に、シンクロナイザ内に空のバツフア位置
が存在する時にのみ、ソース・システムがデータをシン
クロナイザ中に強制的に導入する。シンク・システム
は、データが必要になり且つ線30上の活性なシンク・デ
ータ・ストローブ・アウト信号によつて示される様に、
シンクロナイザ内に良好な同期されたデータが存在する
時にのみ、データを要求する。以下説明する様に、線26
及び線30上の信号は夫々高速データ・シンクロナイザ内
で発生される。従つて、シンクロナイザ内のデータの移
動はソース・システムにおいてデータが利用可能になつ
た事及びシンク・システムにおけるデータの要求によつ
て制御される。
ソース及びシンク制御型シンクロナイザを使用する第2
の方法は弾性バツフア(elastic buffer)としてであ
る。このシンクロナイザを弾性バツフアとして使用する
事は、長期間にわたつてデータの到達速度とデータの排
出速度が正確に等しい事がわかつているシステムで特に
有用である。ソース・システムはデータが存在する時は
線26上のソース・データ・ストローブ・アウト信号の状
態にかかわらず、データをシンクロナイザに導入する。
シンク・システムは線30上のシンク・データ・ストロー
ブ・アウト信号の状態にかかわらず、必要になつた時に
データを要求する。ソース及びシンク・データ・ストロ
ーブ・アウト信号はシンクロナイザ中に発生した誤りを
示すのに使用出来る。即ち、ソース・データ・ストロー
ブ・アウト線26が不活性の時に、ソース・システムがデ
ータをシンクロナイザ中に導入しようとすると、バツフ
アのオーバーランが生じて、データが失われる。同じ様
に、シンク・データ・ストローブ・アウト信号30が不活
性な時にシンク・システムがシンクロナイザからデータ
を要求しようと試みると、バツフアのオーバーランが生
じて、データは失われる。従つてソース及びシンク・デ
ータ・ストローブ・アウト信号は“非誤り”信号であ
る。即ち、データの転送中にこれ等の信号が不活性にな
ると、誤りが発生している。弾性バツフアとしての高速
データ・シンクロナイザの詳細な説明は第9A図乃至第9I
図と関連して後に説明する。
上述のオプシヨン領域に加えて、もう1つのオプシヨン
領域がユーザに利用可能である。このオプシヨンは第4A
図乃至第4C図に示した3つのシンクロナイザの各々に適
用出来る。説明のこの時点迄はシンクロナイザへのデー
タの入出力は各クロツク・サイクル毎に生じないものと
仮定した。従つて、特定のクロツク・サイクルでデータ
を転送する事を知らせるために、データ・ストローブ・
イン線を必要とした。しかしながら各クロツク・サイク
ル毎に常にデータが転送されるシステムが存在する。こ
の様な動作は、デイジタル・データ流にデータ速度のク
ロツクが与えられる様な通信システムで普通である。こ
の型のシステムでは、データ・ストローブ・インはすべ
ての時間にアクテイブに保持されて、シンクロナイザに
データが各クロツク・サイクル毎に転送されている事を
知らせる。しかしながら、このデータ・ストローブ・イ
ン信号は必要でなく、これ等の信号はデータ転送間でシ
ンクロナイザの動作を凍結する(シンクロナイザの内部
の)回路とともに省略することが出来る。
上述の方法はシンクロナイザの動作方法を変えたり、又
他のシンクロナイザの入力もしくは出力信号の意味を変
えるものではない。例えば、ソース制御型シンクロナイ
ザ(第4A図)では、ソース・システム(図示されず)が
各ソース・クロツク・サイクル毎にデータをシンクロナ
イザに強制するものであるならば、ソース・データ・ス
トローブ・イン信号24及び関連回路(以下説明される)
は省略出来る。同様に、シンク制御型シンクロナイザ
(第4B図)で、シンク・システムがデータを各ソース・
クロツク・サイクル毎に要求するものである時には、シ
ンク・データ・ストローブ・イン信号28及び関連回路が
省略される。最後にソース及びシンク制御型シンクロナ
イザ(第4C図)の場合に、ソースもしくはシンク・シス
テムがこの型のものである時には、対応するデータ・ス
トローブ・イン信号及び関連回路は省略出来る。
第1図は本発明の原理に従うデータ・シンクロナイザの
機能ブロツク図である。データ・シンクロナイザは番号
34で示したデータ・バツフアを含む。データ・バツフア
は同期化中にデータを静止状態に保持する多くのバツフ
ア位置を含む。バツフアの各段からの出力は適切な線を
介して読取り選択回路36に送られる。読取り選択回路36
からの出力は線18上のシンク・データ・アウト信号であ
る。同様に書込み選択回路32からの出力は適切な線によ
つてデータ・バツフア34の各位置に結合される。書込み
選択回路32への入力データ信号は線12上に与えられる。
この信号はソース・データ・イン信号であり、同期すべ
きデータを運んでいる。ソース・カウンタ38はバス44に
よつて書込み選択回路32及び先読み機構付きデルタ検出
回路42に接続されている。同様に、シンク・カウンタ40
はバス46を介して読取り選択回路36及び先読み付きデル
タ検出回路42に接続されている。ソース・クロツクC及
びソース・クロツクBはソース・カウンタ38及び検出回
路42に与えられる。ソース・データ・ストローブ・イン
信号は線24を介してソース・カウンタ38及び検出回路42
に供給される。ソース・データ・ストローブ・アウト信
号は検出回路42から線26上に出力される。同様にシンク
・クロツクC及びシンク・クロツクBは夫々線20及び22
を介してシンク・カウンタ40に供給される。シンク・デ
ータ・ストローブ・イン信号は線28を介してシンク・カ
ウンタ40及び検出回路42に供給される。シンク・データ
・ストローブ・アウト信号は線30上に出力される。
第1図の参照を続けると、ソース・カウンタ38及びシン
ク・カウンタ40はともにカウント・アツプ専用カウンタ
である。カウント状態の数は通常データ・バツフア34中
のバツフア位置の数に等しい。ソース・カウンタ38は線
24上のソース・データ・ストローブ・イン信号が活性に
なつている任意のクロツク・サイクルに前進する。同様
に、シンク・カウンタは線28上のシンク・データ・スト
ローブ・イン信号の活性化に応答して前進する。ソース
・カウンタの出力44は書込み選択回路32及び検出回路42
に接続されている。シンク・カウンタの出力46は読取り
選択回路36及び検出回路42に接続されている。書込み選
択回路32は線24上のソース・データ・ストローブ・イン
信号が活性化された時に、ソース・データ・イン線12上
のデータをソース・カウンタ38が指示するバツフア位置
に書込む様に動作する。読取り選択回路36はシンク・カ
ウンタ40によつて指示されたデータ・バツフア位置の内
容を選択してシンク・データ・アウト線18上に出力する
様に動作する。
検出回路42の機能はデータ・バツフアの状態を決定する
事である。この回路42はソース・カウンタ38の状態及び
シンク・カウンタ40の状態を比較して、バツフアが充満
しているか空であるかを調べる。データ・バツフア34が
充満していないと、検出回路42はソース・データ・スト
ローブ・アウト線26を活性化し、ソース・システム(図
示されず)に対して、データ・バツフア34中に空のバツ
フア位置が存在する事を知らせる。もしデータ・バツフ
ア34が空でない時は、検出回路がシンク・データ・スト
ローブ・アウト線30を活性化し、シンク・システムに対
して、良好な同期化されたデータがデータ・バツフア34
中に存在する事を知らせる。検出回路42が誤りなくソー
ス及びシンク・カウンタの出力を比較するためには、ソ
ース及びシンク・カウンタは出力に“グリツチ”即ちス
パイクのない組合せ論理回路で比較を行う様に実施され
る必要がある。ソース・カウンタ及びシンク・カウンタ
をリング・カウンタもしくはグレイ・コード・カウンタ
のいずれかで構成すれば、比較を適切に行なうことがで
きる。
検出回路42は比較機能に加えて、その機能の1部として
先読み(ルツクアヘツド)と呼ばれる重要な機能を有す
る。この機能はシンクロナイザの適切な動作にとつて必
要な機能である。先読みは(第1図の線30及び26上にデ
ータ・ストローブ・アウト信号を発生するために)ソー
ス及びシンク・カウンタ間で比較を行う事にある。先読
み付きデルタ検出回路は或る条件の下ではカウンタの
(現在の状態でなく)次の状態を比較する。換言すれ
ば、先読みとは比較動作を行なう時に、現在のカウンタ
の状態でなく、次のカウンタの状態を予見する事をい
う。先読みを誘起するための条件は次の通りである。
特定の(ソース)クロツク・サイクル中に線24上のソー
ス・データ・ストローブ・イン信号が活性であれば、ソ
ース・カウンタ38はソース・データ・ストローブ・アウ
ト線26だけに比較結果を発生するのに、ソース・カウン
タ38の次の状態だけを考慮する。同様に特定の(シン
ク)クロツク・サイクル中にシンク・データ・ストロー
ブ・イン信号が活性であれば、シンク・カウンタ40の次
の状態のみが考慮され、シンク・データ・ストローブ・
アウト線30のみに比較結果を発生する。現在のクロツク
・サイクルの終りに特定のカウンタが(データ・イン・
ストローブが活性である事によつて示さる様に)更新さ
れる予定があれば、そのカウンタのデルタ検出に先読み
を使用し、対応するデータ・ストローブ・アウト信号を
発生する。先読みが必要なのはデータ・ストローブ・ア
ウトがデータ・ストローブ・イン信号にフイードバツク
される構造では、デルタ検出回路がデルタ・ストローブ
・アウト信号を生ずる時間と対応するカウンタが更新さ
れる時間との間に1クロツク・サイクルの遅延が存在す
るからである。
データ・シンクロナイザの一般的動作を第1図に関連し
て説明する。ソース・データ・イン線12上に到来する入
力データはソース・カウンタ38の制御の下に書込み選択
回路32を介して相継ぐバツフア位置に置かれる。一度バ
ツフア位置に書込まれたデータは新しい良好なデータに
よつて書換えられる迄はそのまま保持される。シンク・
カウンタ40はソース・カウンタ38に追従して、前にソー
ス・カウンタ38によつて書込まれた静止データを読出
す。先読み付きデルタ検出回路42はデータ・バツフアの
充満/空状態についてフイードバツクを与え、同期化過
程中にシンクロナイザ中のデータは失われない。
シンクロナイザの動作は特定の仮想の例を考察する事に
よつてより具体的に理解出来よう。説明の目的のため
に、第1図のシンクロナイザはソース制御型シンクロナ
イザ(第4A図)として構成され、シンク・データ・スト
ローブ・アウト線30(第1図)がシンク・データ・スト
ローブ・イン線28に接続されているものとする。ソース
・データ・ストローブ・アウト線26は使用されず、ソー
ス・データ・ストローブ・イン線24がソース・システム
(図示されず)によつて制御される。さらに、データ・
バツフア34は各々単一のデータ・ビツトを記憶出来る4
つのバツフア位置を含むものと仮定する。従つてソース
及びシンク・カウンタ段の数も4である。データ・バツ
フアの位置及びカウンタの状態を夫々0、1、2及び3
で表わす。最初に、ソース及びシンク・カウンタは状態
0にあるものとする。この時点で、データ・バツフアは
空であり、デルタ検出回路42はこの事を線30上のシンク
・データ・ストローブ・アウト信号を不活性にする事に
よつて示す。ソース及びシンク・カウンタが同じ状態で
あるためにデータ・バツフアが空である事がわかる。
シンクロナイザはこの時、ソース・システムがソース・
データ・ストローブ・イン信号24を付勢する事によつて
データをシンクロナイザへ入力する迄静止状態に保持す
る。ここでソース・システムがデータ・ストローブ・イ
ン信号24を1クロツク・サイクルの間活性化し、同時
に、ソース・データ・イン線12上に新らしい良好なデー
タ項目を置くものとする。ストローブが活性化されてい
るソース・クロツク・サイクルの終りに、ソース・デー
タ・イン線12上のデータがバツフア位置0に書込まれ、
ソース・カウンタ38が前進して状態1になる。この時点
で、データ・バツフア位置0の内容(即ち新らしく書込
まれたデータ・ビツト)がシンク・データ・アウト線18
上に出力される。それはシンク・カウンタが依然データ
・バツフア位置0を指示しているからである。しかしな
がら、シンク・システムはシンク・データ・ストローブ
・アウト線30の活性化によつてデータの存在が知らされ
る迄はこのデータに対して何もしない。この時点でデル
タ検出回路内の組合せ論理回路はソース及びシンク・カ
ウンタが等しくない事を検出し、データ・バツフア34に
良好なデータが存在する事を示す。組合せ論理回路の出
力は(以下説明する様に、デルタ検出回路内の)D型SR
L中に送られ、この出力をシンク・システム・クロツク
と同期させる。このD型SRLの出力はシンク・データ・
ストローブ・アウト線30上に出力される。ソース・カウ
ンタが更新された後の次のシンク・クロツク・サイクル
で、シンク・データ・ストローブ・アウト線30が活性化
され、シンク・システムに対して良好なデータがシンク
・データ・アウト線18上に存在する事を示す。
現時点で、ソース・カウンタ38は状態1にあり、シンク
・カウンタは状態0にあり、シンク・データ・ストロー
ブ・アウト線30は活性な状態である。シンク・クロツク
・サイクルの終りには、シンク・データ・ストローブ・
アウト線30がシンク・データ・ストローブ・イン線28に
接続されているために、シンク・カウンタは1だけ進ん
で状態1になる。しかしながら、このクロツク・サイク
ル中はデルタ検出回路は他の比較を行つていて(比較は
各クロツク・サイクルで行われる)、さらにデータがデ
ータ・バツフア中に存在するかどうかを判定している。
(以下詳細に説明する)先読み機能がなければ、デルタ
検出回路はこの時状態1にあるソース・カウンタと状態
0にあるシンク・カウンタを比較して、現在のシンク・
クロツク・サイクルの終りに再びシンク・データ・スト
ローブ・アウト信号30を活性化する。換言すると、デル
タ検出回路42中に先読み機構がない場合には、単一のデ
ータ項目に対して2つのシンク・データ・ストローブが
発生する。しかしながら、現在の場合はシンク・データ
・ストローブ・イン線28が活性なために、先読み機能が
呼び出される。この結果状態1のソース・カウンタがシ
ンク・カウンタの次の状態(状態1)と比較される。こ
の比較の結果、2つのカウンタが同じ状態にあるので、
さらにデータがデータ・バツフアに存在しない事がわか
る。
もしソース・システムが相継ぐクロツク・サイクルに2
つのデータ項目をデータ・バツフア中に書込んでいる場
合には、比較は状態2のソース・カウンタと次の状態1
のシンク・カウンタ間で行われるので、データ・バツフ
ア中にはさらにデータが存在する事が示される。この先
読みの情況を他の言葉で表現すると、組合せ比較論理回
路がバツフア中にデータが存在する事を示す時間と、シ
ンク・カウンタが実際に更新される時間との間には少な
くとも2つのシンク・システム・クロツク・サイクルが
存在する。検出と実際の更新間にはこの様な遅延が存在
するので、先読みを使用してデルタ検出回路が誤つて余
分なデータの項目の存在を示さない様にする必要があ
る。第1図の機能ブロツクの各々の詳細なブロツク回路
図を以下説明する。
E2. デルタ検出回路 第5図はデルタ検出回路42(第1図)の詳細なブロツク
回路図を示す。前に説明した先読み機構は第1図には示
されていないが後に説明する。デルタ検出回路42は比較
セクシヨン51を有し、セクシヨン61が線26上にソース・
データ・ストローブ・アウト信号を発生し、セクシヨン
41が線30上にシンク・データ・ストローブ・アウト信号
を与える。デルタ検出回路42中の比較機能は3つの組合
せ論理ブロツク50、52及び54で行われる。これ等のブロ
ツクへの入力はソース・カウンタ38からのバス44上の出
力及びシンク・カウンタ40からのバス46上の出力であ
る。各ブロツクの出力はNOTブロツク56、58及び60を通
つて夫々セクシヨン61及び41に送られる。比較ブロツク
52は比較機能「ソース・カウンタ(A)=シンク・カウ
ンタ(B)」に対する論理出力信号を発生する。この出
力信号は非先読み比較に使用して、ソース及びシンク・
データ・ストローブ・アウト信号を発生する。比較ブロ
ツク50は論理機能「ソース・カウンタ(A+1)(即ち
ソース・カウンタの次の状態)=シンク・カウンタ
(B)」を果す。このブロツクはソース・データ・スト
ローブ・アウト信号26のための先読み比較として使用す
る。同様に、比較ブロツク54は論理機能「ソース・カウ
ンタ(A)=シンク・カウンタ(B+1)(即ちシンク
・カウンタの次の状態)」を果す。このブロツクはシン
ク・データ・ストローブ・アウト信号30のための先読み
比較に使用される。
論理ブロツク56、58及び60は比較ブロツクの出力を反転
する。それはデータ・バツフア中のデータの存在はカウ
ンタの状態が等しくない事によつて示されるからであ
る。即ち線80、82及び84上の結果の信号が活性である時
には、データ・バツフア中に同期されたデータが存在す
る。ソース及びシンク・カウンタ及び比較機構は線80、
82及び84上の信号にグリツチが存在しない様に構成され
ている事に注意されたい。即ち1つの状態から他の状態
に一度信号が遷移すると、少なくとも1つのクロツク・
サイクルの間は結果の状態に保持される。
さらに第5図の参照を続けると、シフト・レジスタ・ラ
ツチ62、NOTゲート66、AND/ORゲート64は特にソース・
データ・ストローブ・アウト信号26を発生するのに使用
される。AND/ORゲート64はソース・データ・ストローブ
・イン線24の状態に基づいて通常の比較結果もしくは先
読み比較結果を選択するのに使用する。NOTゲート66は
ソース・データ・ストローブ・イン線24を反転するのに
使用し、従つてこの信号が不活性な時に通常の比較(A
=B)を選択する。D型SRLラツチ62は比較結果をソー
ス・クロツク・システムに同期するのに使用する。ソー
ス・カウンタ及びシンク・カウンタの出力は両方とも比
較回路に送られるので、比較の出力はソースもしくはシ
ンク・クロツク・システムのどちらとも同期していな
い。即ち比較回路の出力はソースもしくはシンク・クロ
ツク・サイクルの中央で遷移を行う。従つて、線88上の
比較結果の信号にたとえグリツチがなくても、同期化ブ
ロツク62が依然必要である。ソース・データ・ストロー
ブ・アウト信号26は直接SRL62の正の出力から誘導され
る。
同様にして、SRL70、AND/OR回路72及びNOTゲート74はシ
ンク・データ・ストローブ・アウト信号30を発生するの
に使用される。AND/ORゲート72はシンク・データ・スト
ローブ・イン信号28の状態に依存して通常の比較もしく
は先読み比較のいずれかを選択する。D型SRL70は線90
上の結果の信号をシンク・クロツク・システムに同期化
して、シンク・データ・ストローブ・アウト信号30を発
生するのに使用される。
第5図の参照を続けるに、ソース・データ・ストローブ
・アウト信号が特にシンクロナイザの具体化に必要ない
場合は(前に説明したソース制御型シンクロナイザの様
に)、この信号を発生するのに使用する論理ブロツクは
省略される。例えば省略出来るブロツクは50、56、62、
64及び66である。同様に(シンク制御型シンクロナイザ
の様に)、特定のシンクロナイザの具体化にシンク・デ
ータ・ストローブ・アウト信号30が必要でない場合に
は、論理ブロツク54、60、70、72及び74が省略される。
E3. ソース及びシンク・カウンタ 第6A図は4ビツト・ソース・カウンタ38のブロツク図で
ある。この具体例はソース制御型シンクロナイザのため
の4ビツト・カウンタである。SRL102及び104が4状態
グレイ・コード・カウンタをなす。ANDゲート106、10
8、110及び112は適当な線によつてSRLに接続され、カウ
ンタの4つの状態を解読するのに使用される。ANDゲー
ト114はソース・クロツクCをゲートし、線24上のソー
ス・データ・ストローブ・イン信号が活性な時にソース
・カウンタがカウントする様に使用される。ソース・カ
ウンタ38の解読出力は信号信号R0、R1、R2及びR3として
出力される。同様に、ANDゲート114からの書込みゲート
出力はWGと記されている。これ等の信号は番号44で示さ
れ書込み選択回路32(第1図及び第6C図)に供給され
る。
第6B図は第6A図に従つて前に説明したグレイ・コード・
カウンタとして具体化したシンク・カウンタ40を示す。
シンク・カウンタ40の詳細はソース・カウンタ38と略同
じであるから、ソース・カウンタ38に関して行つた説明
が等しく適用出来るので繰返さない。第6A図及び第6B図
の問の差は、第6B図のカウンタがシンク・ロツク・シス
テムでクロツクされ、第6A図のカウンタがソース・クロ
ツク・システムでクロツクされる点にある。出力信号S
0、S1、S2及びS3は46と記され、読取り選択回路36(第6
C図)に送られる。
E4. 書込選択回路、データ・バツフア、読取り選択回
路 第6C図は書込み選択回路32、データ・バツフア34及び読
取り選択回路36のブロツク図である。書込み選択回路32
はANDゲート140、142、144及び146を含む。データ・バ
ツフア34はSRL150、152、154及び156を含む。読取り選
択回路36はANDゲート160、162、164及び166並びにORゲ
ート168を含む。信号44はソース・カウンタ38(第6A
図)から供給される。同様に、信号S0−S3(線46)はシ
ンク・カウンタ40(第6B図)から供給される。
E5. 先読み付きデルタ検出回路 第6D図は先読み(機能)付きデルタ検出回路42(第1
図)を示す。機能「ソース・カウンタ=シンク・カウン
タ」はANDゲート170、172、174、176及びORゲート178に
よつて発生される。機能「ソース・カウンタ=シンク・
カウンタの次の状態」はANDゲート180、182、184、186
及びORゲート188によつて発生される。NOTゲート74を介
して線28上のシンク・データ・ストローブ・イン信号の
制御を受けるAND/ORゲート72はこの2つの比較機能間を
選択する。SRL70が線90上の比較出力を夫々シンク・ク
ロツクC及びシンク・クロツクBとして示したシンク・
クロツク・システムに同期させる。
E6. シンク制御型シンクロナイザの主要ブロツクの詳
細 第7A図乃至第7D図はシンク制御型シンクロナイザの主要
ブロツクである点を除き、第6A図乃至第6D図に示したも
のと略同じ高速データ・シンクロナイザの主要ブロツク
を示す。第6図及び第7図で、対応する各図は対応する
機能を遂行する。従つて第6A図及び第7A図はソース・カ
ウンタ38(第1図)のための詳細な回路を示す。同様に
第6B図及び第7B図はブロツク形式でシンク・カウンタ40
(第1図)の回路を示す。第6C図及び第7C図、第6D図及
び第7D図についても同様である。
第7A図はソース・カウンタ38の詳細を示す。ソース・カ
ウンタ38は2つのSRL202及び204を含む。SRLからの出力
はANDゲート206乃至212に送られる。各ANDブロツク206
乃至212からの出力はR0乃至R3で示され、導入するデー
タが書込まれるべき位置を示している。信号WG(書込み
ゲート)をANDゲート214から発生する。ANDゲート214へ
の入力は線14上のソース・クロツクC及び線24上のソー
ス・データ・ストローブ・イン(SI)である。SRL202及
びSRL204は線24上のソース・データ・ストローブ・イン
によつてステツプされる。
第7B図はシンク・カウンタ40の詳細なブロツク図であ
る。第7A図の場合の様に、シンク・カウンタ40は番号22
2及び224で示した2つのSRLを含む。SRLの出力は適切な
線を介してANDゲート226乃至232へ送られる。これ等のA
NDゲートの出力はS0乃至S3と記されている。これ等の出
力は情報を引出すデータ・バツフア34の位置を示してい
る。ANDゲート234は線20及び28上の信号を組合して、夫
々SRL222及び224を駆動する制御信号を出力する。
第7C図は書込み選択回路32、データ・バツフア34及び読
取り選択回路36の詳細なブロツク図である。書込み選択
回路32は複数のANDゲート240乃至246より成る。各ANDブ
ロツクへの入力は前に説明した信号WG並びにR0乃至R3
(第7A図)を含む。データ・バツフア34はSRL250乃至25
6を含む。SRLの各々は適切な線によつてAND回路240乃至
246の1つに接続されている。線16上のソース・クロツ
クC及び線12上のソース・データ・イン信号がSRLの各
々に与えられる。SRLの出力はANDゲート260乃至266に送
られる、信号S0−S3(前に説明した)もANDゲート260乃
至266に送られる。ANDゲート260乃至266からの出力は適
切な線を介してORゲート268へ送られる。ORゲート268か
らの出力は線18上のシンク・データ・アウト信号であ
る。
第7D図は先読み付きデルタ検出回路42の詳細なブロツク
図である。比較機能「ソース・カウンタの次の状態=シ
ンク・カウンタ」はブロツク50で発生する。ブロツク50
はANDゲート270乃至276、ORゲート278及びNOTブロツク5
6を含む。同様に、機能「ソース・カウンタ=シンク・
カウンタ」はブロツク52で発生する。ブロツク52はAND
ゲート280乃至286、ORゲート288及びNOTブロツク58を含
む。AND/ORブロツク64は線80もしくは82を選択し、選択
した出力信号をSRL62中でソース・クロツクC及びソー
ス・クロツクBと同期する。SRL62の出力は線26上のソ
ース・データ・ストローブ・アウト信号である。比較機
能「ソース・カウンタ=シンク・カウンタ」は非先読み
比較の場合に発生され、比較機能「ソース・カウンタの
次の状態=シンク・カウンタ」は先読み比較の場合に発
生される事に注意されたい。
E8. ソース制御型シンクロナイザの主要ブロツク 第8A乃至第8D図はソース制御型シンクロナイザの主要ブ
ロツクの詳細を示す。これ等の図はシンクロナイザの汎
用性を理解するのに有用である。第8A乃至第8D図のシン
クロナイザは同期化を行い、同期化したデータを直並列
変換する。即ちシンクロナイザの入力での各データ転送
の幅は1であるが、シンクロナイザの出力の各データ転
送の幅は2である。
第8A図はソース・カウンタ38のブロツク図を示す。ソー
ス・カウンタ38はSRL302及び304を含む。SRLは4状態グ
レイ・コード・カウンタをなしている。ANDゲート306、
308、310及び312は4つの状態を解読する。ANDゲート31
4はデータを転送しない時(即ち、線24上のソース・デ
ータ・ストローブ・イン信号が不活性な時)にソース・
カウンタを停止する。ANDゲート306乃至312は解読出力4
4を与える。出力はR0、R1、R2、R3と記されていて、書
込みゲートの出力はWGと記されている。出力R0乃至R3及
びWGは書込み選択回路32(第8C図)に与えられる。
第8B図はシンク・カウンタ40のブロツク図である。第8A
乃至第8D図のシンクロナイザはその幅がデータ入力幅の
2倍のデータを出力するので、シンクロナイザの出力側
のデータ転送速度は入力側の半分になる。同じ理由でシ
ンク・カウンタの状態数はソース・カウンタの半分にな
る。この2つの状態を夫々S0及びS1と記す。
第8C図は書込み選択回路32、データ・バツフア34及び読
取り選択回路のブロツク図である。書込み選択回路32は
ANDゲート340乃至346を含む。これ等のANDゲートは1時
に1ビツトだけをSRL350乃至356より成るデータ・バツ
フア34に書込む。ゲート360、362、364、366、368及び3
58を含む読取り選択回路36はビツト0及びビツト1と記
された2つのビツトが同時に線18及び18′上に出力され
る様に構成されている。
第8D図は先読み付きデルタ検出回路42のブロツク図を示
する、この機能(即ち、先読み付きデルタ検出)の構成
は第6A乃至第6D図に与えられたシンクロナイザのものと
略同じである。しかしながら、シンクロナイザ中で行わ
れる直並列変換のため若干の差がある。デルタ検出の目
的はデータが転送出来る時を決定する事にある。ソース
制御型シンクロナイザの場合には、デルタ検出はシンク
・システムに転送さるべき良好な新らしいデータ項目が
バツフア中に存在する時を決定する。第8A乃至第8D図で
示したシンクロナイザでは出力側のデータ項目は2ビツ
トより成る。即ち、シンクロナイザからは1時に2ビツ
トがシンク・システムに転送される。従つてデルタ検出
はバツフア中に2つの良好なビツトが存在する時を検出
する様に設計されている。この比較を遂行するために、
ソース・カウンタの最上位のビツトだけをシンク・カウ
ンタと比較する。SRL304(第8A図)の正の出力が不活性
から活性に変る時は、第8C図の最初の2つのバツフア位
置(SRL350及び352)にデータが書込まれたことを示
す。同様に、SRL304の出力が活性から不活性に変る時
(線Q1のアクテイブが否定される)、データは第8C図の
最後の2つのバツフア位置(SRL354及び356)に書込ま
れたことを示す。従つて第8D図のデルタ検出回路は線QO
及びQ1をシンク・カウンタの出力S0及びS1と比較して、
データを転送すべき時を決定する。データを転送しても
よい時を示す信号は線30上のシンク・データ・ストロー
ブ・アウトである。
E8. ソース及びシンク制御型シンクロナイザ 第9A乃至第9I図はソース及びシンク制御型シンクロナイ
ザを示す。このシンクロナイザは弾性バツフアとして使
用されている。このシンクロナイザは入力及び出力で単
一ビツトの転送を行う。データは各ソース・システム・
クロツク・サイクルでシンクロナイザ中に転送され、シ
ンクロナイザからは各シンク・システム・クロツク・サ
イクルで転送されるので、データ・ストローブ・イン信
号は使用されない。データ・バツフアは16バツフア位置
を有し、各々は単一のビツトを保持する。ソース及びシ
ンク・カウンタは両方とも16状態を有する。
第9A図はソース・カウンタ38のブロツク図である。シン
ク・カウンタ40は第9B図に示す。両カウンタはともに同
じく構成されているので両方の動作は第9A図のソース・
カウンタのみを調べる事によつて理解出来よう。ソース
・カウンタはリング・カウンタとして具体化されてい
る。16個のラツチSRL402乃至432はリング・カウンタを
形成している。このカウンタは一時に唯一つのSRL出力
が付勢される様に構成されている。又SRLは順次活性化
される。例えば或るクロツク・サイクルにSRL402の状態
が1であると、次のクロツク・サイクルではSRL402の状
態が0になりSRL404の状態が1になる。ゲート434及び4
36の目的はリング・カウンタ中で有効な状態のみが表わ
される事を保証するためのものである。例えば、電源中
の或るグリツチで2つのSRLの状態が同時に1になる
と、ゲート434及び436が有限の時間内にリング・カウン
タを有効な状態に戻す事を保証する。リング・カウンタ
の性質上ソース及びシンク・カウンタの出力を解読する
必要はない。
書込み選択回路32は第9C図に示され、データ・バツフア
34は第9D図に示されている、各ソース・システム・クロ
ツク・サイクルにデータ・ビツトがデータ・バツフア位
置に書込まれる事に注意されたい。同様に、第9E図に示
した読取り選択回路36は各シンク・システム・クロツク
にデータ・バツフア34から単一のビツトを読出す。
先読み付きデルタ検出回路を第9F、9G、9H及び9I図に示
す。この型のシンクロナイザ中のデルタ検出の目的はデ
ータの流れの制御ではなく、データに誤りが生じた時を
示す事にある。第9F図には機能「ソース・カウンタの次
の状態=シンク・カウンタ(R+1=S)」を発生する
回路が示されている。機能「ソース・カウンタ=シンク
・カウンタ」を発生する回路は第9G図に、機能「ソース
・カウンタ=シンク・カウンタの次の状態」を発生する
回路は第9H図に示されている。これ等の3つの比較機能
の出力は第9I図の回路に送られて、ここで誤りの検出が
行われる。このシンクロナイザにはデータ・ストローブ
・イン信号はないので先読み比較は既に説明した他のシ
ンクロナイザとは若干異なつて使用される。この先読み
比較は誤り検出をさらに確実にし(どの様な誤りの状態
も見失わない)、シンクロナイザ中のオーバーランとア
ンダーラン状態を区別するのに使用する。この機能は実
際には誤りが急に生じて、その後に導入したデータが失
われる事を表示する。
第9I図の線656上の「ソース・カウンタの次の状態=シ
ンク・カウンタ(R+1=S)及び線696上の「ソース
・カウンタ=シンク・カウンタ(R=S)はORゲート74
2でORされる。ORゲート742の出力は次にSRL62に送ら
れ、この信号をソース・システムのクロツクで同期す
る。SRL62の出力はバツフアのオーバーランにより誤り
信号である。バツフア・オーバーラン誤り信号は他のシ
ンクロナイザ中のソース・データ・ストローブ・アウト
信号と若干似ているが、バツフア・オーバーラン信号は
ストローブ・アウト信号と極性が反対である。従つてソ
ース・システムのクロツク・タイムにソース・カウンタ
の次の状態がシンク・カウンタの状態に等しいと、バツ
フア・オーバーラン誤りが発生する。即ち、ソース・カ
ウンタが最後の利用可能なバツフア位置に書込みをしよ
うとしても次の書込みによつてデータが失われるので誤
りが示される。バツフアのアンダーラン誤り信号の発生
はオーバーラン信号の発生と似ている。機能「ソース・
カウンタ=シンク・カウンタ(R=S)」と「ソース・
カウンタ=シンク・カウンタの次の状態(R=S+
1)」はゲート744でORされ、ゲート744の出力がSRL70
を駆動してシンク・システム・クロツクに同期させる。
この場合は、シンク・カウンタが良好なデータを含む最
後のバツフア位置を読取る時にバツフア・アンダーラン
誤り状態が発生する。
通常、弾性バツフアにはリセット回路が与えられ、電源
がオンになつた時に、回路が適切に初期設定出来る様に
なつている。又弾性バツフアがリセツト機能を有する場
合には、第9I図の回路中で発生されるバツフア・オーバ
ーラン及びアンダーラン誤り表示は弾性バツフアにフイ
ードバツクされてこれをリセツトする。しかしながら弾
性バツフアの状態を出来るだけクリアにするために、こ
のシンクロナイザをリセツトする他の回路が必要とされ
るが、図示されていない。通常この型のシンクロナイザ
では、リセツトされると、データ・バツフアは半分充填
された状態に強制される。従つて、動作中は弾性バツフ
アはデータのバツフアに関する限り、拡張もしくは収縮
する。この型の回路のリセツトを達成するためには、リ
セツト時にソース・カウンタを状態R0に強制し、シンク
・カウンタを状態S8に強制する事だけが必要である。さ
らにもし望まれるならば、バツフア自体も既知の状態に
強制出来る。リセツト機能を与えるための追加の回路は
どの様な方法が選択されるかに依存して次の通りであ
る。図示した単一ポート型のSRLに代つて2重ポートSRL
を使用して、第2のポートをリセツト状態に強制するの
に使用する。2重ポートSRLは2つのクロツクC入力及
び2つのデータ入力を有する。各データ入力はクロツク
Cの一つと関連する。データ入力の任意の1つのデータ
は適切な関連クロツクCを付勢する事によつてSRLに強
制される。
リセツトを行う第2の実施例ではゲートを使用して、リ
セツト時にSRLを所望の状態に強制する。リセツト中に
0に強制しなければならないSRLへのデータ入力にはAND
ゲートが置かれ、リセツト中に1に強制しなければなら
ないSRLへのデータ入力にはORゲートが置かれる。リセ
ツト時にはこれ等のゲートに適切な制御信号を印加して
リセツト状態に強制する。
F. 発明の効果 本発明に従い、従来技術よりも効果的なデータ・シンク
ロナイザが与えられる。
【図面の簡単な説明】
第1図は本発明に従うデータ・シンクロナイザの機能ブ
ロツク図である。第2図はシンクロナイザの入出力信号
線を示すブロツク図である。第3図はクロツクC、クロ
ツクB、データ・ストローブ及びデータ間の関係を示す
タイミング図である。第4A図はソース制御型シンクロナ
イザのブロツク図である。第4B図はシンク制御型シンク
ロナイザのブロツク図である。第4C図はソース及びシン
ク制御型シンクロナイザのブロツク図である。第5図は
先読み付きデルタ検出回路のブロツク図である。第6A図
は4ビツト・ソース・カウンタのブロツク図である。第
6B図は4ビツト・シンク・カウンタのブロツク図であ
る。第6C図は4ビツト書込み選択回路、データ・バツフ
ア及び読取り選択回路のブロツク図である。第6D図は先
読み付きデルタ検出回路のブロツク図である。第7A図−
第7D図はシンク制御型シンクロナイザの詳細なブロツク
図である。第8A図−第8D図はソース制御型シンクロナイ
ザのブロツク図である。第9図A図−第9I図はソース及
びシンク制御型シンクロナイザのブロツク図である。 10……高速データ・シンクロナイザ、32……書込み選択
回路、34……データ・バツフア、36……読取り選択回
路、38……ソース・カウンタ、40……シンク・カウン
タ、42……先読み付きデルタ検出回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 シドニー・ブロワー・シユラム、ジユニア アメリカ合衆国ノースカロライナ州リサー チ・トリ・パーク、ピー・オー・ボツクス 13106番地 (72)発明者 チヤールズ・ランデイ・ウイツカー アメリカ合衆国ノースカロライナ州ケアリ ー、リチヤード・ドライブ616番地 (56)参考文献 特開 昭57−75046(JP,A) 特開 昭54−7816(JP,A) 特開 昭53−108207(JP,A) 特開 昭57−146332(JP,A) 特開 昭60−159956(JP,A) 特開 昭50−82946(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ソース・システムからのソース・クロック
    によって決まる速度でデータを受信し、このデータをシ
    ンク・システムからのシンク・クロックによって決まる
    速度で同期させるためのデータ・シンクロナイザにおい
    て、 (a)各記憶位置にデータの単位を受取って記憶する、
    複数の記憶位置を有する記憶装置と、 (b)上記ソース・システムからのデータ転送を示すソ
    ース・データ・ストローブ・イン信号および上記ソース
    ・クロックに応答して前進し、データが書込まれるべき
    上記記憶装置の記憶位置を示すソース・カウンタ手段
    と、 (c)上記シンク・システムからのデータ取込み完了を
    示すシンク・データ・ストローブ・イン信号および上記
    シンク・クロックに応答して前進し、データが読取られ
    るべき上記記憶装置の記憶位置を示すシンク・カウンタ
    手段と、 (d)上記ソース・カウンタ手段によって示される上記
    記憶装置の記憶位置にデータを書込む書込み選択回路
    と、 (e)上記シンク・カウンタ手段によって示される上記
    記憶装置の記憶位置からデータを取出す読取り選択回路
    と、 (f)上記ソース・カウンタ手段およびシンク・カウン
    タ手段の状態を比較し、比較の結果に基づいて、上記ソ
    ース・システムに対してデータ転送可能状態を知らせる
    ソース・データ・ストローブ・アウト信号および上記シ
    ンク・システムに対してデータ取込み可能状態を知らせ
    るシンク・データ・ストローブ・アウト信号を選択的に
    活性化する上記ソース・システムからのデータ転送およ
    び上記シンク・システムへのデータ取込みを制御する制
    御手段とを含む データ・シンクロナイザ。
JP61266814A 1985-12-18 1986-11-11 データ・シンクロナイザ Expired - Lifetime JPH071901B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US810139 1985-12-18
US06/810,139 US4748588A (en) 1985-12-18 1985-12-18 Fast data synchronizer

Publications (2)

Publication Number Publication Date
JPS62146035A JPS62146035A (ja) 1987-06-30
JPH071901B2 true JPH071901B2 (ja) 1995-01-11

Family

ID=25203112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61266814A Expired - Lifetime JPH071901B2 (ja) 1985-12-18 1986-11-11 データ・シンクロナイザ

Country Status (4)

Country Link
US (1) US4748588A (ja)
EP (1) EP0226017B1 (ja)
JP (1) JPH071901B2 (ja)
DE (1) DE3687956T2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US5155810A (en) * 1989-01-10 1992-10-13 Bull Hn Information Systems Inc. Dual FIFO peripheral with combinatorial logic circuitry
JP2570847B2 (ja) * 1989-02-08 1997-01-16 日本電気株式会社 データ転送方式
US5003558A (en) * 1989-10-30 1991-03-26 International Business Machines Corporation Data synchronizing buffers for data processing channels
EP0454605A3 (en) * 1990-04-25 1992-04-22 International Business Machines Corporation Bus request device in a direct memory access (dma) system
US5455913A (en) * 1990-05-14 1995-10-03 At&T Global Information Solutions Company System and method for transferring data between independent busses
JP2881980B2 (ja) 1990-06-29 1999-04-12 ソニー株式会社 ディスク記録装置及びディスク再生装置
US5498990A (en) * 1991-11-05 1996-03-12 Monolithic System Technology, Inc. Reduced CMOS-swing clamping circuit for bus lines
US5831467A (en) * 1991-11-05 1998-11-03 Monolithic System Technology, Inc. Termination circuit with power-down mode for use in circuit module architecture
DE69226150T2 (de) * 1991-11-05 1999-02-18 Hsu Fu Chieh Redundanzarchitektur für Schaltungsmodul
US5706299A (en) * 1992-05-21 1998-01-06 Alcatel Network Systems, Inc. Sonet tributary ambiguity resolution for elastic store control
WO1994003901A1 (en) 1992-08-10 1994-02-17 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
US5519877A (en) * 1993-01-12 1996-05-21 Matsushita Electric Industrial Co., Ltd. Apparatus for synchronizing parallel processing among a plurality of processors
US5657476A (en) * 1993-02-10 1997-08-12 Korg, Inc. Signal processor with delay line management logic
US5400340A (en) * 1993-03-04 1995-03-21 Apple Computer, Inc. End of packet detector and resynchronizer for serial data buses
US5619733A (en) * 1994-11-10 1997-04-08 International Business Machines Corporation Method and apparatus for synchronizing streaming and non-streaming multimedia devices by controlling the play speed of the non-streaming device in response to a synchronization signal
SE515563C2 (sv) * 1995-01-11 2001-08-27 Ericsson Telefon Ab L M Dataöverföringssystem
US5655138A (en) * 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression
US5737531A (en) * 1995-06-27 1998-04-07 International Business Machines Corporation System for synchronizing by transmitting control packet to omit blocks from transmission, and transmitting second control packet when the timing difference exceeds second predetermined threshold
US5850572A (en) * 1996-03-08 1998-12-15 Lsi Logic Corporation Error-tolerant video display subsystem
US5799175A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Synchronization system and method for plesiochronous signaling
US5805088A (en) * 1996-11-01 1998-09-08 International Business Machines Corporation High speed asynchronous serial to parallel data converter
US5960468A (en) 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
US6434642B1 (en) * 1999-10-07 2002-08-13 Xilinx, Inc. FIFO memory system and method with improved determination of full and empty conditions and amount of data stored
TW445722B (en) * 2000-04-07 2001-07-11 Via Tech Inc Glitch-free phase converting method of timing signal and circuit of the same
US6651122B2 (en) * 2000-12-07 2003-11-18 Micron Technology, Inc. Method of detecting a source strobe event using change detection
US7366935B1 (en) * 2003-04-01 2008-04-29 Extreme Networks, Inc. High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements
US7272672B1 (en) 2003-04-01 2007-09-18 Extreme Networks, Inc. High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available
US7673076B2 (en) * 2005-05-13 2010-03-02 Texas Instruments Incorporated Concurrent read response acknowledge enhanced direct memory access unit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3188569A (en) * 1962-12-14 1965-06-08 Bell Telephone Labor Inc Receiver input unit-synchronizing circuit
JPS537336B2 (ja) * 1973-12-29 1978-03-16
US4021784A (en) * 1976-03-12 1977-05-03 Sperry Rand Corporation Clock synchronization system
US4054747A (en) * 1976-05-20 1977-10-18 Gte Automatic Electric Laboratories Incorporated Data buffer
US4056851A (en) * 1976-09-20 1977-11-01 Rca Corporation Elastic buffer for serial data
JPS53108207A (en) * 1977-03-02 1978-09-20 Nec Corp Control system for frame synchronous circuit
JPS5816776B2 (ja) * 1977-06-20 1983-04-02 日本電信電話株式会社 位相同期方式
US4258418A (en) * 1978-12-28 1981-03-24 International Business Machines Corporation Variable capacity data buffer system
JPS5775046A (en) * 1980-10-29 1982-05-11 Fujitsu Ltd Phose absorbing circuit

Also Published As

Publication number Publication date
JPS62146035A (ja) 1987-06-30
EP0226017B1 (en) 1993-03-10
DE3687956T2 (de) 1993-09-16
US4748588A (en) 1988-05-31
EP0226017A2 (en) 1987-06-24
EP0226017A3 (en) 1987-10-21
DE3687956D1 (de) 1993-04-15

Similar Documents

Publication Publication Date Title
JPH071901B2 (ja) データ・シンクロナイザ
US5365485A (en) Fifo with fast retransmit mode
US6493818B2 (en) Technique for pipelining synchronization to maintain throughput across two asynchronous clock domain boundaries
JP4572264B2 (ja) 2つのクロック領域間でデータを伝送するインタフェース
US4423482A (en) FIFO Register with independent clocking means
US5524270A (en) System for transferring data between asynchronous data buses with a data buffer interposed in between the buses for synchronization of devices timed by different clocks
US5070443A (en) Apparatus for write handshake in high-speed asynchronous bus interface
JPS6366633A (ja) デ−タ・バッファ
JP3645584B2 (ja) データ転送同期装置
US6816955B1 (en) Logic for providing arbitration for synchronous dual-port memory
EP0592165B1 (en) Pulse generation/sensing arrangement for use in a microprocessor system
JP2695535B2 (ja) タイマ入力制御回路及びカウンタ制御回路
JP2004062630A (ja) Fifoメモリ及び半導体装置
US6085285A (en) Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot
US5033066A (en) Event tagging time delay
US6286072B1 (en) System and method for synchronizing data communication between asynchronous buses
JP3765547B2 (ja) Fifo状態インジケータ
US6487140B2 (en) Circuit for managing the transfer of data streams from a plurality of sources within a system
JPH07168786A (ja) 同期がとられていない装置間のインターフェイス
US6578118B1 (en) Method and logic for storing and extracting in-band multicast port information stored along with the data in a single memory without memory read cycle overhead
EP1211603B1 (en) Interface for multi-processor
US6055588A (en) Single stage FIFO memory with a circuit enabling memory to be read from and written to during a single cycle from a single clock
US6581144B1 (en) Method and logic for initializing the forward-pointer memory during normal operation of the device as a background process
JPH03108182A (ja) メモリー制御装置及びメモリー制御方法
US5249154A (en) Data access controller and method