JP3560793B2 - データ転送方法 - Google Patents

データ転送方法 Download PDF

Info

Publication number
JP3560793B2
JP3560793B2 JP32640797A JP32640797A JP3560793B2 JP 3560793 B2 JP3560793 B2 JP 3560793B2 JP 32640797 A JP32640797 A JP 32640797A JP 32640797 A JP32640797 A JP 32640797A JP 3560793 B2 JP3560793 B2 JP 3560793B2
Authority
JP
Japan
Prior art keywords
circuit
data
data transfer
clock
clock frequency
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
JP32640797A
Other languages
English (en)
Other versions
JPH11161599A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP32640797A priority Critical patent/JP3560793B2/ja
Priority to US09/199,282 priority patent/US6425088B1/en
Publication of JPH11161599A publication Critical patent/JPH11161599A/ja
Application granted granted Critical
Publication of JP3560793B2 publication Critical patent/JP3560793B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0045Correction by a latch cascade

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、LSチップ内部あるいはそれぞれ異なるチップに存在する回路間でデータ転送を行う技術に関し、とくに互いにクロック周波数が異なる場合のデータ転送方法に関する。
【0002】
【従来の技術】
図11に示すように、異なるクロック周波数(回路AはClock_A、回路BはClock_B)で互いに独立して動作している2つの回路間でデータ転送を行う場合の手法としては、(1)ハンドシェークを用いた転送方式、(2)非同期RAMを用いた転送方式などがある。以下、各転送方式について説明する。
【0003】
(1)ハンドシェークを用いた転送方式
図12はハンドシェークを用いた転送方式の概略構成図、図13はそのタイミングチャートである。図12において、破線で囲んだ部分はメタステーブルを回避するために挿入された2段のフリップフロップ回路である。このフリップフロップによりデータ転送のタイミングは2パルス分遅れるため、各回路では信号を受け取ってからそれぞれ2パルス目で次の動作を開始することになる。
【0004】
回路Aから回路Bへデータ転送する場合について見てみると、回路Aから回路Bへデータの転送開始を知らせるTransferStart信号を送ると、回路BではTransferStart_To_Bでこれを認識し、応答としてTransferAckを回路Aに返す。このTransferAckを受けた回路Aでは、TransferAck_To_Aでこれを認識し、TransferStart信号を下げてデータ転送終了を知らせる。これに対し回路Bが、TransferAckを下げると、回路AではTransferAck_To_Aが下がったことを認識して、TransferStartを下げる。この一連の動作によりデータ転送の制御が終了する。
【0005】
(2)非同期RAMを用いた転送方式
図14は、非同期RAMを用いた転送方式の概略構成図である。この方式は、データ/アドレスの書き込み用ポートと読み出し用ポートの2つのポートをもつ非同期RAM1を2つの回路の境界にし、各回路のクロック周波数で書き込み(Write)と読み出し(Read)を行うことでクロック周波数の違いを吸収している。
【0006】
【発明が解決しようとする課題】
上記(1)のハンドシェークを用いた転送方式では、TransferStartやTransferAckのような制御信号のやりとりを行いながらデータの送受信を行うため、1つのデータ転送にかかるオーバーヘッドtohは大きくなる。とくに、この方式で用いているTransferStartとTransferAck信号はレベル信号なので、n個のデータ転送を行う場合のオーバーヘッドはn倍となるため、大量のデータ転送には適さないという問題点があった。
【0007】
一方、(2)の非同期RAMを用いた転送方式の場合、図14に示すような単方向のデータ転送では2ポートの非同期RAMが1つで済むが、双方向のデータ転送を実現する場合は、2ポートの非同期RAMが2つ必要となるため、ハードウェアの大幅な増加が避けられないという問題点があった。
【0008】
この発明は、上記課題を解決するためになされたもので、異なるクロック周波数で動作している回路間でのデータ転送において、ハードウェアの大幅な増加を招くことなしに、1つのデータ転送にかかるオーバーヘッドを少なくすることができるデータ転送方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1の発明は、異なるクロック周波数で互いに独立動作している回路間でデータ転送を行うデータ転送方法において、第1のクロック周波数の1サイクル中に、第2のクロック周波数のクロックに同期したパルスが1つ存在する信号(以下、データ転送基準信号)を発生し、前記第2のクロック周波数で動作する回路から第1のクロック周波数で動作する回路へデータ転送した際に、転送先でのデータ取り込み完了を前記データ転送基準信号により認識することを特徴とする。
【0010】
請求項2の発明は、請求項1において、前記データ転送基準信号は、前記第1のクロック周波数のクロックを2分周した信号を入力とし、前記第1のクロック周波数で動作する1つのフリップフロップ回路と、前記第2のクロック周波数のクロックで動作する3つのフリップフロップ回路とを直列に接続し、かつ前記3つのフリップフロップ回路から出力された位相の異なる2つの出力の排他的論理和をとるEXOR回路を接続した回路により生成されることを特徴とする。
【0011】
請求項3の発明は、請求項1において、前記データ転送基準信号は、自身の回路で生成される信号の否定論理積をループバックさせた信号を入力とし、前記第1のクロック周波数で動作する1つのフリップフロップ回路と、前記第2のクロック周波数のクロックで動作する3つのフリップフロップ回路とを直列に接続し、かつ前記3つのフリップフロップ回路から出力された位相の異なる2つの出力の排他的論理和をとるEXOR回路を接続した回路により生成されることを特徴とする。
【0012】
請求項4の発明は、請求項1において、前記2つの回路のクロック周波数よりも、さらに高いクロック周波数で動作する第3の回路を前記2つの回路間に挿入し、前記第3の回路を介してデータ転送することを特徴とする。
【0013】
請求項5の発明は、請求項1において、前記2つの回路のうち第2のクロック周波数で動作する回路側にリードバッファ回路を設け、前記第1のクロック周波数で動作する回路から第2のクロック周波数で動作する回路へ転送されたデータを前記リードバッファ回路に取り込むことを特徴とする。
【0014】
【発明の実施の形態】
以下、この発明に係わるデータ転送方法を適用したデータ転送システムについて説明する。
【0015】
1. 順方向(回路A→回路B)へのデータ転送
図1は、この実施形態に係わるデータ転送システムの概略構成図である。このシステムは、異なるクロック周波数で互いに独立動作している回路A、回路Bで構成され、これら2つの回路間は回線10で接続されている。ここで、回路Aは高いクロック周波数(Clock_A)で動作し、回路Bは低いクロック周波数(Clock_B)で動作するものとする。
【0016】
回路Aは、データ転送を行う転送回路11と、この転送回路11にデータ転送の要求を発行する内部回路12とを備えている。転送回路11は、後述するTEジェネレータ13、フリップフロップ(以下、F.F)14、15及びマルチプレクサ16、17により構成されている。
【0017】
内部回路12からはデータ転送要求であるValidとValidDataが、Clock_Aに同期して出力され、転送回路11のマルチプレクサ16、17へ入力される。マルチプレクサ16、17は、TEジェネレータ13から後述するデータ転送基準信号(以下、TE信号)が入ってくると、ホールドしていたValid、ValidDataを後段のF.F14、15へ送り、新たにデータを取り込む。このデータは、次にTE信号が入ってくるまでホールドされる。このように、マルチプレクサ16、17でホールドされたデータはTE信号のタイミングでサンプリングされ、Valid(Clock_Aに同期したパルス信号)からValid_From_A、ValidData_From_A、(回路BのClock_Bでサンプリングできるようなパルス信号)に変換されて回路Bへ転送される。
【0018】
回路Bでは、Valid_From_A、ValidData_From_Aを、Clock_Bで動作するF.F回路18、19でValid_To_B、ValidData_To_Bに変換して内部回路20へ送る。なお、回路Bに到達したValid_From_Aは、セットアップ時間を満たしていることが前提条件となる。
【0019】
図2は、TE信号を生成するTEジェネレータ13の構成例を示す回路構成図である。このTEジェネレータ13は、リセット信号(Reset)によりHレベルのデータを選択するマルチプレクサ21と、Clock_Bを2分周した信号を入力とし、Clock_Bで動作するF.F22と、Clock_Aで動作する3つのF.F23、24、25と、これらF.F24と25から出力された位相のずれた2つの出力の排他的論理和をとるEXOR回路26とから構成されている。このうち、F.F23、24は、メタステーブルを回避するために挿入されたF.Fである。
【0020】
図3は、TEジェネレータ13の動作を示すタイミングチャートである。図中、Inner−sig−a.〜Inner−sig−d.は、直列に接続された各F.Fの出力側の信号電位を示している。F.F22からClock_Bの1サイクルに対応したInner−sig−a.が出力されると、この信号はF.F23、24、25を通過するごとに1パルスづつ位相がずれ、EXOR回路26へ出力される。ここで、EXOR回路26には、3段目のF.F24から出力されたInner−sig−c.と4段目のF.F25から出力されたInner−sig−d.が入力され、その排他的論理和としてTransferEnable(TE)信号が出力される。このTE信号は、低いクロック周波数(この場合はClock_B)のクロック1サイクル中に、必ず高いクロック周波数(この場合はClock_A)に同期したパルスが1つ存在するような信号となる。図1の内部回路12では、データ転送要求であるValid、ValidDataが転送回路11で受け入れられたかどうかを、このTE信号で認識している。
【0021】
図3からも明らかなように、TE信号を生成するためには、互いの回路を使用しているクロック周波数の比が4程度以上(ただし、適用する回路の転送距離・ゲートのセットアップ時間/ホールド時間によって変動する)が望ましい。これは、クロック周波数の比が小さくなると、転送されたデータに対し十分なセットアップ時間が確保できなくなるからである。この例では、クロック周波数の比が4.5の場合を例として説明する。
【0022】
図4は、TE信号を生成するTEジェネレータ13の他の構成例を示す回路構成図であり、図2と同等部分を同一符号で示している。図3の回路との相違点は、3段目のF.Fで生成される信号をNAND回路27に入れ、リセット(Reset)信号との否定論理積をループバックさせた信号を入力としている部分にある。この図4の回路においても、図3に示すような低いクロック周波数のクロック1サイクル中に、必ず高いクロック周波数に同期したパルスが1つ存在するようなTE信号を生成することができる。
【0023】
次に、図1に示すデータ転送システムにおいて、回路Aから回路Bへデータ転送を行う場合の動作を図5のタイミングチャートを参照しながら説明する。
【0024】
まず、回路Aの内部回路12からClock_Aに同期してValid、ValidDataが出力されると、転送回路11はTE信号のレベルがHになったタイミングでデータを取り込む。前記内部回路12では、TE信号のレベルを監視しており、TE信号のレベルがHになったときに転送回路11でデータ転送の要求が受け入れられたものと認識して、Valid、ValidDataを終了する。一方、転送回路11では、TE信号のレベルがHになったタイミングでデータを取り込み、Valid_From_A、ValidData_From_Aを出力する。そして、次にTE信号のレベルがHになったときに、Valid_From_A、ValidData_From_Aを終了する。これは、TE信号のレベルが次にHになるまでの間に、必ず回路BのClock_Bのパルスエッジが立つからである。すなわち、図5において、TE信号のレベルが2回目にHになるまでの間に必ずClock_Bのパルスエッジが立ち、このタイミング(図中、DataRecieve)でデータが回路B側に取り込まれることが保証されているからである。
【0025】
こうして回路Bへ転送されたValid_From_A、ValidData_From_Aは、回路BのF.F18、19でClock_Bに同期したValid_To_B、ValidData_To_Bに変換される。
【0026】
上述したデータ転送システムにおいては、転送先である回路Bでのデータの取り込みをTE信号により認識するようにしたので、転送先のクロック周波数に合わせてデータ転送する場合に比べて、1つのデータ転送にかかるオーバーヘッドtohを大幅に少なくすることができる。例えば、従来のハンドシェークを用いた転送方式である図13の例と比較すると、オーバーヘッドtohは約1/4程度に少なくすることができる。また、ここで用いられるValid信号はパルス信号なので、大量のデータ転送にも向いており、n個のデータを(n+1)Clock_Bサイクル時間で転送することができる。
【0027】
なお、図1の回路Aでは、TEジェネレータ、F.F及びマルチプレクサなどが付加されているが、非同期RAMを用いる方式に比べた場合、これらハードウェアの増加は比較し得ないほど小さいものである。
【0028】
2. 逆方向(回路B→回路A)へのデータ転送
次に、逆方向へデータ転送する場合、すなわち回路Bから回路Aへデータ転送する場合について説明する。
【0029】
図6は、逆方向へデータ転送する場合のデータ転送システムの構成を示す概略構成図である。この場合も回路Aは高いクロック周波数(Clock_A)で動作し、回路Bは低いクロック周波数(Clock_B)で動作するものとする。
【0030】
回路Bは、データ転送の要求を発行する内部回路32と、Clock_Bで動作するF.F回路33、34を備えている。内部回路32で発行されたデータ転送要求であるValid、ValidDataは、F.F33、34でValid_From_B、ValidData_From_Bに変換されて回路Aへ転送される。
【0031】
回路Aは、転送されたデータを受信する受信回路35と、この受信回路35からデータを受け取る内部回路36とを備えている。受信回路35は、TE信号を生成するTEジェネレータ13、Clock_Aで動作するF.F37及び38、AND回路39により構成されている。TEジェネレータ13の構成は図2(又は図4)と同じである。
【0032】
回路Aでは、回路BのF.F34、35から出力されたValid_From_B、ValidData_From_Bを、TEジェネレータ13の生成するTE信号のタイミングで取り込み、AND回路39で論理積をとる。ここで取り出されたValid_From_B、ValidData_From_BをF.F回路37、38で取り込み、Valid_To_A、ValidData_To_Aに変換して内部回路36へ送る。
【0033】
次に、図6に示すデータ転送システムにおいて、回路Bから回路Aへデータ転送を行う場合の動作を図7のタイミングチャートを参照しながら説明する。
【0034】
まず、回路BからClock_Bに同期したValid_From_B、ValidData_From_Bが転送されると、これらのデータは回路Aの受信回路35に取り込まれ、ホールドされる。そして、TEジェネレータ13からTE信号が出力されると、AND回路39で論理積がとられ、TE信号に対応したValid_From_Bが出力される。なお、ValidData_From_BはValid_From_Bのタイミングで取り込まれるため、図6ではValidData_From_BのAND回路は必要ない(AND回路が入っていても同様にデータをとることはできる)。
【0035】
一方、回路Bでは、Valid_From_B、ValidData_From_Bを転送した後、次のClock_Bの立ち上がりでValid、ValidDataを終了する。これは、Clock_Bの1サイクル中に必ずTE信号のレベルがHになり、このタイミング(図中、DataRecieve)でValid_From_B、ValidData_From_Bが回路Aに取り込まれることが保証されているからである。
【0036】
こうして回路Aへ転送されたValid_From_B、ValidData_From_Bは、F.F37、38でClock_Aに同期したValid_To_A、ValidData_To_Aに変換される。
【0037】
このように、回路Bから回路Aへのデータ転送においては、回路Bから転送されてきたValid_From_B、ValidData_From_Bと、TE信号との論理積をとることによって、簡単にデータを検出を行うことができる。また、1つのデータ転送にかかるオーバーヘッドtohも、図5と同様に少なくすることができる。
【0038】
2.1 リードバッファを用いたデータ転送
ところで、図6のような逆方向へのデータ転送において、回路Bから回路Aへの転送要求が回路Aの側で発生した場合は、回路Aから回路Bに転送要求を出し、これに応じて回路Bから回路Aへデータを転送することになる。したがって、回路Aで転送要求が頻繁に発生するような場合には、その都度、前記一連の手順を踏むことになり、転送に時間がかかってしまう。
【0039】
そこで、図8に示すように、回路A側にリードキューとして、バリッドキュー(ValidQueue)41、データキュー(DataQueue)42を挿入し、回路Aから回路Bへ転送要求が発生する前に、回路B側で回路Aに転送できると判断したデータをあらかじめ送るようにすることもできる。なお、図8では、図6と同等部分を同一符号で示している。この場合、リードキューにデータが溜まっている間はClock_Aの1サイクル時間でデータを取り込むことができるので、転送の際のオーバーヘッドを大幅に少なくすることができる。なお、回路Bから回路Aへデータを転送する時は先に説明した図7のタイミングチャートに従って動作する。
【0040】
このように、リードバッファを用いると、非同期RAMを用いた転送方法に比べてハードウェア量を削減することができる。また、適用する回路の仕様により、設計時に最適なキューの深さを選択することができる。
【0041】
3. クロック周波数が近接している場合のデータ転送
ここまでは、回路A、Bのクロック周波数の比が4.5の場合について説明してきたが、2つの回路のクロック周波数が近接しているような場合には、転送されたデータのセットアップ時間/ホールド時間を確保することができないため、先に説明したデータ転送方法を適用することはできない。しかし、このような場合であっても、2つの回路のクロック周波数よりも、さらに高いクロック周波数で動作する回路を間に挿入することにより、この発明に係わるデータ転送方法を適用することができる。
【0042】
図9は、回路Aと回路Bのクロック周波数が近接している場合のデータ転送システムの構成を示す概略構成図である。このシステムでは、クロック周波数の近接している回路A、回路Bの間に、回路A、Bよりもさらに高いクロック周波数で動作する回路Cが挿入されている。ここで、例えばClock_Aが100MHz、Clock_Bが80MHzというように、回路Aのクロック周波数が回路Bのそれよりも少しだけ高い場合は、回路Cのクロック周波数をClock_Aの約4倍以上のクロック周波数Clock_C(例えば500MHz)に設定する。ただし、クロック周波数については、この実施形態の数値例に限定されるものではない。
【0043】
図9に示す回路A、回路B及び回路Cの関係を図1と図6に対比させてみると、図1の回路Aは図9の回路Cに、図1の回路Bは図9の回路Aにそれぞれ相当し、図6の回路Aは図9の回路Cに、図6の回路Bは図9の回路Aにそれぞれ相当している。すなわち、図9の回路Cは回路A、回路Bのどちらに対しても高いクロック周波数で動作する回路となるため、回路Cは図1の転送回路11と図6の受信回路35の両方を備えている。また、回路Cでは回路Aと回路Bのそれぞれについてデータの転送/受信を行うため(A⇔C、C⇔B)、前記転送回路11と受信回路35を2セット備えている。ただし、回路Aと回路Bのクロック周波数が異なるため、TE信号を2種類(TE_AC、TE_BC)生成し、セットごとに異なるTE信号で動作させている。
【0044】
なお、TE信号を生成するTEジェネレータの構成は図2(又は図4)と同じである。また、前述した回路A〜Cの転送回路や受信回路の構成はすでに説明しているので、ここでは説明を省略する。
【0045】
図9に示すデータ転送システムにおいて、回路Aから回路Bへデータ転送を行う場合は、まず回路Aから回路Cへデータを転送し、次に回路Cから回路Bへデータを転送する。なお、回路Aから回路Cへのデータ転送、及び回路Cから回路Bへのデータ転送は、先に説明した順び逆方向へのデータ転送と基本的に同じであるため、詳細な説明は省略する。
【0046】
回路Aから回路Cへデータ転送する場合、図10(a)のタイミングチャートに示すように、回路Aから転送されたValid_From_AとValidData_From_Aは、TE_AC信号のタイミングで回路Cに取り込まれる。
【0047】
回路Aから回路Cへデータ転送する場合の動作は、図7の逆方向へデータ転送する場合と同じである。図10(a)は、図7とはTE(_AC)信号のタイミングが異なる以外はほぼ同じタイミングで動作している。
【0048】
回路Cから回路Bへデータ転送する場合、図10(b)のタイミングチャートに示すように、回路Cから転送されたValid_From_CとValidData_From_Cは、TE_BC信号のレベルが次にHになるまでの間に回路Bへ取り込まれる。回路Cから回路Bへデータ転送する場合の動作は、図5の順方向へデータ転送する場合と同じである。図10(b)は、図5とはTE(_BC)信号のタイミングが異なる以外はほぼ同じタイミングで動作している。
【0049】
このように、クロック周波数が近接している2つの回路の間に、さらに高いクロック周波数で動作する回路を間に挿入することにより、先に説明した順方向及び逆方向へのデータ転送方法を適用することができる。この場合も、1つのデータ転送にかかるオーバーヘッドtoh(toha+tohb)を少なくすることができる。
【0050】
なお、図9の構成においては、回路A→回路Cの転送能力と回路C→回路Bの転送能力には差が生じている。すなわち、回路C→回路Bに比べて回路A→回路Cの方が転送速度が速いため、データ量が多い場合には、回路Aから送られたデータが回路Cへ溜まってしまい、回路Cのバッファ(メモリ)に格納できなくなるおそれがある。これに対しては、回路Cから回路Aへ転送許可信号を送るなどの手法により、回路Aから転送されるデータ量をコントロールする。
【0051】
また、この実施形態では、回路Cを回路A、B間に配置しているが、回路Cは回路A又はBのいずれか一方の側に配置されていてもよい。
【0052】
【発明の効果】
以上説明したように、この発明に係わるデータ転送方法においては、転送先でのデータ取り込みの有無をデータ転送基準信号により認識するようにしたので、転送先のクロック周波数に合わせてデータ転送する場合に比べて、1つのデータ転送にかかるオーバーヘッドを少なくすることができる。また、非同期RAMを用いた転送方式と比べた場合、ハードウェア増加を大幅に少なくすることができる。
【図面の簡単な説明】
【図1】順方向へデータ転送する場合のデータ転送システムの概略構成図。
【図2】TE信号を生成するTEジェネレータの回路構成図。
【図3】TEジェネレータの動作を示すタイミングチャート。
【図4】TE信号を生成するTEジェネレータの他の回路構成図。
【図5】回路Aから回路Bへデータ転送する場合の動作を示すタイミングチャート。
【図6】逆方向へデータ転送する場合のデータ転送システムの概略構成図。
【図7】回路Bから回路Aへデータ転送する場合の動作を示すタイミングチャート。
【図8】回路Aにリードキューを挿入したデータ転送システムの概略構成図。
【図9】回路Aと回路Bのクロック周波数が近接している場合のデータ転送システムの概略構成図。
【図10】(a)は回路Aから回路Cへデータ転送する場合の動作を示すタイミングチャート、(b)は回路Cから回路Bへデータ転送する場合の動作を示すタイミングチャート。
【図11】異なるクロック周波数で動作する2回路間でデータ転送を行う場合の概略構成図。
【図12】ハンドシェークを用いた転送方式の概略構成図。
【図13】ハンドシェークを用いた転送方式の動作を示すタイミングチャート。
【図14】非同期RAMを用いた転送方式の概略構成図。
【符号の説明】
11 転送回路
12、20 内部回路
13 TEジェネレータ
14、15 F.F(フリップフロップ)
16、17 マルチプレクサ

Claims (4)

  1. 相互に異なるクロック周波数で独立して動作する転送元回路および転送先回路の間でデータ転送を行うデータ転送方法において、
    前記転送元回路は、第1のクロック周波数の1サイクル中に、前記第1のクロック周波数より高い第2のクロック周波数のクロックに同期したパルスが1つ存在する信号(以下、データ転送基準信号)を周期的に発生し、このデータ転送基準信号のタイミングでデータ転送するとともに、前記データ転送基準信号の次に発生したデータ転送基準信号により前記転送先回路でのデータ取り込み完了を認識することを特徴とするデータ転送方法。
  2. 前記データ転送基準信号は、
    前記第1のクロック周波数のクロックを2分周した信号を入力とし、前記第1のクロック周波数で動作する1つのフリップフロップ回路と、前記第2のクロック周波数のクロックで動作する3つのフリップフロップ回路とを直列に接続し、かつ前記3つのフリップフロップ回路から出力された位相の異なる2つの出力の排他的論理和をとるEXOR回路を接続した回路により生成されることを特徴とする請求項1記載のデータ転送方法。
  3. 前記データ転送基準信号は、
    自身の回路で生成される信号の否定論理積をループバックさせた信号を入力とし、前記第1のクロック周波数で動作する1つのフリップフロップ回路と、前記第2のクロック周波数のクロックで動作する3つのフリップフロップ回路とを直列に接続し、かつ前記3つのフリップフロップ回路から出力された位相の異なる2つの出力の排他的論理和をとるEXOR回路を接続した回路により生成されることを特徴とする請求項1記載のデータ転送方法。
  4. 前記2つの回路のうち第2のクロック周波数で動作する回路側にリードバッファ回路を設け、前記第1のクロック周波数で動作する回路から第2のクロック周波数で動作する回路へ転送されたデータを前記リードバッファ回路に取り込むことを特徴とする請求項1記載のデータ転送方法。
JP32640797A 1997-11-27 1997-11-27 データ転送方法 Expired - Fee Related JP3560793B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32640797A JP3560793B2 (ja) 1997-11-27 1997-11-27 データ転送方法
US09/199,282 US6425088B1 (en) 1997-11-27 1998-11-25 Method of the apparatus for transferring data between circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32640797A JP3560793B2 (ja) 1997-11-27 1997-11-27 データ転送方法

Publications (2)

Publication Number Publication Date
JPH11161599A JPH11161599A (ja) 1999-06-18
JP3560793B2 true JP3560793B2 (ja) 2004-09-02

Family

ID=18187456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32640797A Expired - Fee Related JP3560793B2 (ja) 1997-11-27 1997-11-27 データ転送方法

Country Status (2)

Country Link
US (1) US6425088B1 (ja)
JP (1) JP3560793B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318879A (ja) * 2000-05-11 2001-11-16 Fuji Photo Film Co Ltd 集積回路およびその制御方法
US7027542B1 (en) * 2001-06-04 2006-04-11 Advanced Micro Devices, Inc. Apparatus and method for providing data transfer between two digital circuits with different clock domains and for solving metastability problems
JP2003157228A (ja) * 2001-11-20 2003-05-30 Fujitsu Ltd データ転送回路
DE60217408T2 (de) * 2002-01-02 2007-10-04 Koninklijke Philips Electronics N.V. Informationsaustausch zwischen lokal synchronen schaltungen
DE10255685B3 (de) * 2002-11-28 2004-07-29 Infineon Technologies Ag Taktsynchronisationsschaltung
US7061286B2 (en) 2004-06-24 2006-06-13 Teradyne, Inc. Synchronization between low frequency and high frequency digital signals
US7436917B2 (en) * 2004-07-29 2008-10-14 Hewlett-Packard Development Company, L.P. Controller for clock synchronizer
US7515667B2 (en) * 2005-11-09 2009-04-07 Hewlett-Packard Development Company, L.P. Method and apparatus for reducing synchronizer shadow
US8024597B2 (en) * 2008-02-21 2011-09-20 International Business Machines Corporation Signal phase verification for systems incorporating two synchronous clock domains
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains
US9265953B2 (en) * 2012-04-25 2016-02-23 Medtronic, Inc. Handling race conditions during data transfer between multiple modules of an electronic device
GB2503474B (en) 2012-06-27 2016-06-29 Nordic Semiconductor Asa Data transfer between clock domains

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448715A (en) * 1992-07-29 1995-09-05 Hewlett-Packard Company Dual clock domain interface between CPU and memory bus
US5471587A (en) * 1992-09-30 1995-11-28 Intel Corporation Fractional speed bus coupling
US5535377A (en) * 1994-01-31 1996-07-09 Dell Usa, L.P. Method and apparatus for low latency synchronization of signals having different clock speeds
US5600824A (en) * 1994-02-04 1997-02-04 Hewlett-Packard Company Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer
US5987081A (en) * 1997-06-27 1999-11-16 Sun Microsystems, Inc. Method and apparatus for a testable high frequency synchronizer

Also Published As

Publication number Publication date
US6425088B1 (en) 2002-07-23
JPH11161599A (ja) 1999-06-18

Similar Documents

Publication Publication Date Title
JP3565600B2 (ja) データ通信装置およびデータ通信方法
US5274678A (en) Clock switching apparatus and method for computer systems
TWI410791B (zh) 用以傳送及接收複數個資料位元的裝置與方法
US5535377A (en) Method and apparatus for low latency synchronization of signals having different clock speeds
JP3560793B2 (ja) データ転送方法
JP2000099193A (ja) 同期装置および同期方法ならびにインタフェ―ス回路
US7134035B2 (en) Method for generating a synchronization signal based on the clock ratio between two clock domains for data transfer between the domains
US20090150706A1 (en) Wrapper circuit for globally asynchronous locally synchronous system and method for operating the same
JP2004506974A (ja) 複数クロックシステムにおいてスキップパターンを同期させ、クロック送りインターフェイスを初期設定するためのシステムおよび方法
US5923193A (en) Method and apparatus for transferring signals between multiple clock timing domains
US6172540B1 (en) Apparatus for fast logic transfer of data across asynchronous clock domains
US6943595B2 (en) Synchronization circuit
US6097775A (en) Method and apparatus for synchronously transferring signals between clock domains
US6715095B1 (en) Method and circuitry for switching from a synchronous mode of operation to an asynchronous mode of operation without any loss of data
WO2007077497A1 (en) Method for synchronizing a transmission of information and a device having synchronizing capabilities
US6640277B1 (en) Input staging logic for latching source synchronous data
US6920578B1 (en) Method and apparatus for transferring data between a slower clock domain and a faster clock domain in which one of the clock domains is bandwidth limited
JP3475857B2 (ja) ソースシンクロナス転送方式
JP3604637B2 (ja) 非同期転送装置および非同期転送方法
JP2526785B2 (ja) デ―タ伝送装置
US20020078328A1 (en) Pulse-controlled micropipeline architecture
JP4290412B2 (ja) データ転送装置
CN113626355B (zh) 实现串行接口全双工通信的从机芯片的电路结构
JPH10187275A (ja) バス回路のクロック供給方式
KR0175605B1 (ko) 에이.티.엠.에서 유토피아 동기소자와 논-유토피아 비동기소자의 접속 제어 로직

Legal Events

Date Code Title Description
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: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040526

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

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees