JP3604637B2 - 非同期転送装置および非同期転送方法 - Google Patents
非同期転送装置および非同期転送方法 Download PDFInfo
- Publication number
- JP3604637B2 JP3604637B2 JP2001068430A JP2001068430A JP3604637B2 JP 3604637 B2 JP3604637 B2 JP 3604637B2 JP 2001068430 A JP2001068430 A JP 2001068430A JP 2001068430 A JP2001068430 A JP 2001068430A JP 3604637 B2 JP3604637 B2 JP 3604637B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- transfer
- circuit
- data
- clock signal
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
半導体集積回路において、異なる周波数で動作している複数の転送装置間において、ハンドシェイク方式を用いてデータ転送を行なう非同期転送装置および非同期転送方法に関する。
【0002】
【従来の技術】
一般に、非同期転送を実現する手法として以下の(1),(2)の方式がある。
【0003】
(1) ハンドシェイクを用いた転送方式
(2) 高速クロックで仲介する方式
上記(1)のハンドシェイクを用いた転送方式は、広く知られた方法であり、図7に示す回路などで広く実現されている。図7に示す回路のタイミングチャートを図8に示す。
【0004】
図7では、データ信号の記載を省略しており、回路A11と回路B11との間で、送信データが有効であることを示す有効データ送信信号Treqと、受信完了を示す受信完了信号Tackとが確実に相手に送信されることを示している。
【0005】
この回路A11は、DタイプフリップフロップF101とF102からなり、クロック信号clkAで動作している。また、回路B11は、DタイプフリップフロップF103とF105からなり、クロック信号clkBで動作している。したがって、回路A11と回路B11とは非同期である。
【0006】
まず、回路A11は、有効データ送信信号Treqを“1”に立ち上げ、送信データが有効(Valid)であるとして、データ信号TDATAを回路B11に送信する。一方、回路B11は、クロック信号clkBの立ち上がりに同期を取り、上記データを取り込んでラッチする。
【0007】
この回路B11において、たとえ、1段目のフリップフロップF103での取り込みが不安定でも、2段目のフリップフロップF105での取り込みが行われるまで、つまり、有効データ送信信号Treq2が“1”に立ち上がり、回路B11が備える例えばレジスタ(図示せず)に、上記データ信号TDATAが取り込まれるまで、回路A11はデータ信号TDATAを出力し続ける。
【0008】
そして、回路B11の上記レジスタが、データ信号TDATAを取り込んで、データ信号RDATA(回路B11内部のデータ)となると、回路B11は、信号Treq2のタイミングで、受信の完了を示す受信完了信号Tackを回路A11に送信する。
【0009】
一方、回路A11側も、この受信の完了を示す受信完了信号Tackを2段構成のフリップフロップF101とF102で受け取る。この回路A11は、上記受信完了信号Tackを信号Tack2として受け取るまで、回路A11はデータ信号TDATAをさらに出力し続けることになる。したがって、たとえ、両回路A11,B11に不安定な期間があっても、確実な送受信がなされることになる。この不安定な期間は、特に、回路A11のクロック信号clkAと回路B11のクロック信号clkBが同時に立ち上がった場合等に発生する。
【0010】
図7に示す回路では、メタステーブル状態(クロック信号とデータ信号の同時変化によりレジスタの出力が発振している状態)を回避するために、回路A11と回路B11の双方の遅延回路を2段にしている。したがって、1回のデータ転送に要する時間は、遅い方のクロックで4サイクル以上必要であり、データ転送のオーバーヘッド(制御や管理に費やされる時間)が大きい。
【0011】
このオーバーヘッドが大きい問題に対しては、上記(2)の高速クロックで仲介する方式による解決策があり、特開平05−257566号公報や、特開平11−161599号公報に記載の内容が知られている。
【0012】
しかし、この高速クロックで仲介する方法では、転送を仲介する回路が転送元と転送先の両方の回路よりも高速で動作する必要があるから、消費電力が増大する。
【0013】
また、上記オーバーヘッドが大きい問題に対して、データ転送パス上の遅延回路を削減することで解決する方法が広く知られている。図9に示す回路は、データ転送パス上の遅延回路を削減する方法を実現した一例である。このデータ転送パス上の遅延回路を削減する方法では、メタステーブル状態による回路の誤動作を防ぐ必要がある。このことを以下に説明する。
【0014】
すなわち、図9では、有効データ送信信号Treqおよび受信完了信号Tackは、各回路A12,回路B12内で、1段のフリップフロップF111,F112で取り込んでいる。この場合、回路B12は、追加回路H12を有している。この追加回路H12がないと、回路A12と回路B12との間での有効データ送信信号Treq,受信完了信号Tackおよびデータ信号TDataのやり取りにおける配線遅延やスキューによるタイミングのズレによって、図10(A)に矢印Pで示すようなデータ受信の誤動作が発生する。
【0015】
すなわち、この図10(A)では、回路B12内のフリップフロップF112が、有効データ送信信号Treqを、クロック信号clkBの立ち上がりに同期を取って取り込み、有効データ送信信号Treq1のタイミングで受信完了信号Tackを回路A12側に送信する。このとき、同時に、回路A12側のクロック信号clkAが立ち上がった場合、回路A12は、信号Tack1を取り込み、データ信号Tdataの送信を止める。ここで、回路B12において、クロック信号clkBの立ち上がりで同期を取り、上記データ信号Tdataを取り込むレジスタ(図示せず)は、配線遅延やスキューによって、クロック信号clkBの立ち上がりのタイミングがずれると、この回路B12内の上記レジスタが取り込むデータ信号Rdataは、上記データ信号Tdataが、無効(Unvalid)になった後のデータになってしまうから、無効(Unvalid)となる。
【0016】
このことを避けるため、追加回路H12は、信号Treq1から充分に遅延をかけた信号を信号Tackとして、先の配線遅延やスキューによるタイミングのズレを吸収し、確実な送受信を行う。
【0017】
この追加回路Cの具体的実現方法は、メタステーブル状態による回路の誤動作を防ぐ方法として、例えば、特開平05−152904号公報,特開平07−084946号公報,特開平08−179926号公報に記載の方法などが知られている。
【0018】
しかし、これらの方法は、オーバーヘッドが増加するとか、クロック信号clkA,clkB間の周波数比や位相差に制限があるとか、メタステーブル検出回路を必要とするなどの問題がある。
【0019】
【発明が解決しようとする課題】
そこで、この発明の目的は、ハードウェアの大幅な増加を招くこと無しに、1つのデータ転送にかかるオーバーヘッド(制御や管理に費やされる時間)を低減すると共に低消費電力化も計ることができる非同期転送装置および非同期転送方法を提供することにある。
【0020】
【課題を解決するための手段】
上記目的を達成するため、この発明の非同期転送装置は、異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送システムにおける非同期転送装置であって、
送信回路を有し、この送信回路は、
上記データ信号を転送先に転送する転送手段と、
有効データ送信信号を検出したときに、上記転送手段を、データ信号を保持する動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を、データ信号を取り込む動作状態にさせる送信制御手段とを備えていることを特徴としている。
【0021】
この発明の非同期転送装置では、送信制御手段が、有効データ送信信号を検出したときに、転送手段を動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を動作状態にさせる。したがって、この発明によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッド(制御時間)でメタステーブル状態を回避できる。したがって、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【0022】
また、一実施形態の非同期転送装置は、上記非同期転送装置において、上記送信制御手段は、少なくとも上記有効データ送信信号と受信完了信号とに基いて、上記転送手段に供給するクロック信号を制御する送信用クロック信号制御手段である。
【0023】
この一実施形態では、上記送信制御手段は、送信用クロック信号制御手段であり、ハンドシェイクで用いる有効データ送信信号と受信完了信号を利用し、転送手段に供給するクロック信号を制御することで、転送手段を動作状態または停止状態に制御する。したがって、ハードウェアの大幅な増加を招くこと無しに、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【0024】
また、他の実施形態は、上記非同期転送装置において、上記送信用クロック信号制御手段は、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする送信用クロック信号停止手段を備えている。
【0025】
この実施形態では、上記送信用クロック信号制御手段は、送信用クロック信号停止手段を備え、この送信用クロック信号停止手段で、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする。
【0026】
また、一実施形態は、上記非同期転送装置において、上記送信用クロック信号停止手段は、上記転送手段に供給するクロック信号にマスクをかけるマスク手段を備えている。
【0027】
この実施形態では、上記送信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記転送手段に供給するクロック信号にマスクをかける。これにより、転送手段に供給するクロック信号を停止させて、転送手段を停止状態にする。
【0028】
また、他の実施形態は、上記非同期転送装置において、受信回路を有し、この受信回路は、
転送元からのデータ信号を受信する受信手段と、
上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する一方、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする受信制御手段を備えている。
【0029】
この実施形態では、受信制御手段を備え、この受信制御手段が、上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する。一方、この受信制御手段が、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする。したがって、この実施形態によれば、転送元からの有効データ送信信号の検出と非検出に応じて、受信手段を動作状態と停止状態に制御して、転送元からのデータ信号を確実に受信し、かつ、上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【0030】
また、一実施形態は、上記非同期転送装置において、上記受信制御手段は、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御する受信用クロック信号制御手段である。
【0031】
この実施形態では、上記受信制御手段は、受信用クロック信号制御手段であり、この受信用クロック信号制御手段が、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御することによって、受信手段の動作状態または停止状態に制御する。
【0032】
また、他の実施形態は、上記非同期転送装置において、上記受信用クロック信号制御手段は、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする受信用クロック信号停止手段を備えている。
【0033】
この実施形態では、上記受信用クロック信号制御手段は、受信用クロック信号停止手段を備え、この受信用クロック信号停止手段で、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする。
【0034】
また、一実施形態は、上記非同期転送装置において、上記受信用クロック信号停止手段は、上記受信手段に供給するクロック信号にマスクをかけるマスク手段を備えている。
【0035】
この実施形態では、上記受信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記受信手段に供給するクロック信号にマスクをかける。これにより、受信手段に供給するクロック信号を停止させて、受信手段を停止状態にする。
【0036】
また、他の実施形態の非同期転送方法は、異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送方法であって、
転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。
【0037】
この実施形態の非同期転送方法では、転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。したがって、この発明の非同期転送方法によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッドでメタステーブル状態を回避できる。したがって、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【0038】
また、一実施形態の非同期転送方法は、上記非同期転送方法において、すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にする。
【0039】
また、他の実施形態は、上記非同期転送方法において、上記クロック信号を停止させることによって、上記データ転送動作を停止状態にする。
【0040】
また、一実施形態は、上記非同期転送方法において、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【0041】
また、他の実施形態は、上記非同期転送方法において、
転送元からの有効データ送信信号を受信すると、データ受信動作を開始し、
上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する一方、上記転送元から有効データ送信信号を検出しないときに、データ受信動作を停止する。
【0042】
この実施形態では、転送元からの有効データ送信信号の検出と非検出に応じて、受信動作の開始と停止を制御して、転送元からのデータ信号を確実に受信し、かつ、上記転送元からの有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【0043】
また、一実施形態は、上記非同期転送方法において、
少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始する。
【0044】
また、他の実施形態は、上記非同期転送方法において、上記クロック信号を停止させることによって、上記受信動作を停止させる。
【0045】
また、一実施形態は、上記非同期転送方法において、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【0046】
【発明の実施の形態】
以下、この発明を図示の実施の形態に基いて詳細に説明する。
【0047】
(第1の実施の形態)
図1に、この発明の非同期転送装置の第1実施形態を示し、図2に、この第1実施形態のタイミングチャートを示す。
【0048】
なお、図1では、転送元の転送装置の送信回路として転送回路A5を示し、転送先の転送装置の受信回路として転送回路B5を示している。
【0049】
この転送回路A5は、3つのフリップフロップF1,F2,F3とORゲート51およびANDゲート52で構成され、図1に示す信号clkA’,信号clkA,有効データ送信信号Treq,信号Tack1について、次の論理式(1)を実現する組み合わせ論理回路である。
【0050】
clkA’=clkA OR (Treq AND (not Tack1)) … (1)
この転送回路A5の制御回路5Aは、2つのフリップフロップF1,F2とORゲート51およびANDゲート52から構成されている。なお、このフリップフロップF1,F2は、クロックの立ち上がりでデータを取り込み、ラッチする回路であればよく、レジスタ等であってもよい。
【0051】
図1の転送回路A5において、クロック信号clkAは、フリップフロップF1のクロック入力端子とORゲート51の一方の入力端子に入力されている。
【0052】
このフリップフロップF1のデータ入力端子には、転送回路B5からの受信完了信号Tackが入力される。フリップフロップF1の/Q端子(データ出力の反転出力。)から、ANDゲート52の一方の入力端子に、信号/Tack1が出力される。このANDゲート52の他方の入力端子には、フリップフロップF2のQ端子(データ出力の非反転出力)からの出力が入力される。このQ端子の出力は、有効データ送信信号Treqになっている。
【0053】
上記ANDゲート52の出力は、ORゲート51の他方の入力端子に入力される。このORゲート51の出力は、信号clkA’として、フリップフロップF2のクロック入力端子に入力されている。
【0054】
また、この信号clkA’は、別途、フリップフロップF3のクロック入力端子にも入力され、この信号clkA’の立ち上がりに同期を取り、データ信号TDataが回路B5に出力される。
【0055】
データ信号TDataは、回路A5から回路B5に送信するデータ信号であり、基本となる同期信号は信号clkAである。データ信号Tdataに有効なデータが存在している期間を、図2に、実線で囲んだ“DATA Valid”で示し、最初のデータ転送が終了し、次のデータを送信できる期間を、破線で囲んだ“Next Data”で示す。
【0056】
有効データ送信信号Treqは、送信データ信号TDataが有効であるときに値‘1’を取り、信号TDataが無効であるときに値‘0’を取る有効データ送信信号であり、基本となる同期信号は、信号clkAである。
【0057】
また、信号Tack1は、受信完了信号Tackを同期信号clkAでサンプリングした信号である。この信号Tack1を反転した信号/Tack1と受信完了信号Tackとの関係を、図2に二重線で示す。
【0058】
上記信号clk’Aの立ち上がりに同期を取り、回路A5内のデータがデータ信号Tdataとして回路A5から出力され、同時に、このデータ信号Tdataのデータが有効(Valid)であることを表す有効データ送信信号Treqも“1”として回路A5から出力される。
【0059】
一方、このときは、回路B5からの受信完了信号Tackは、未だ“0”であるので、信号clkAの立ち上がりでデータを取り込むフリップフロップF1の端子/Qが出力する信号/TACK1は、“1”になっている。したがって、ANDゲート52は、“1”を出力するから、ORゲート51は信号clkAに関わらず、信号clkA’として“1”を出力することになる。これにより、信号clkA’は、クロック信号clkAがマスクされた信号となる。したがって、フリップフロップF2とフリップフロップF3には、クロック信号clkAが入力されないから、フリップフロップF2,F3はラッチ状態となり、出力状態を維持する。
【0060】
そして、回路B5内でのデータ信号TDataの取り込みが完了し、受信完了信号Tackの値が“0”から“1”に変化した後、フリップフロップF1で、クロック信号clkAの立ち上がりで、この“1”を取り込み、反転信号/Tack1は、“0”に変化する。これにより、ANDゲート52の出力は、“0”に変化するので、ORゲート51は、入力されたクロック信号clkAを、そのまま、信号clkA’として出力する。
【0061】
そして、この信号clkA’のマスクが解除された後の最初の立ち上がりで、フリップフロップF2とフリップフロップF3は、この回路A5内のデータ信号TDataと有効データ送信信号Treqを取り込み、回路B5に出力する。
【0062】
したがって、回路A5は、回路B5からの受信完了信号Tackを受け取った時点で、フリップフロップF3に入力するデータ信号TDataを無効データに変え、有効データ送信信号Treqを別のデータに変えても、フリップフロップF2およびフリップフロップF3は、先の最初の信号clkA’の立ち上がりが入力されるまでラッチ状態であるから、フリップフロップF3が出力する有効(Valid)なデータ信号TDataは変化しない。
【0063】
一方、転送回路B5は、2つのフリップフロップF4,F5とORゲート53とインバータ55と任意回路C5からなり、信号clkB’と信号clkBと有効データ送信信号Treqに関し、次の論理式(2)を実現する組み合わせ論理回路と、図2に示すタイミングで信号Treq1を生成する順序回路からなる。
【0064】
clkB’=clkB or(not Treq) … (2)
転送回路B5が備える制御回路5Bは、1つのフリップフロップF4とインバータ55とORゲート53から構成されている。なお、上記フリップフロップF4は、クロックの立ち上がりでデータを取り込み、ラッチする回路であればよく、レジスタ等でもよい。
【0065】
この転送回路B5では、クロック信号clkBは、ORゲート53の一方の入力端子に入力されている。また、フリップフロップF4のデータ入力端子には、転送回路A5からの有効データ送信信号Treqが入力される。フリップフロップF4のQ端子(データ出力の非反転出力)は、受信完了信号Tackとなる信号Treq1を出力する。この信号Treq1は、この回路B5内の内部回路(例えば任意回路C5)で使用してもよい。回路A5からの有効データ送信信号Treqは、フリップフロップF4のデータ入力端子と、インバータ55の入力端子とフリップフロップF4のリセット入力端子にも入力されている。このリセット入力端子に、信号値“0”が入力されることで、フリップフロップF4がリセットされる。
【0066】
そして、インバータ55の出力は、ORゲート53の他方の入力端子に入力されている。このORゲート53の出力は、信号clkB’として、フリップフロップF4とF5のクロック入力端子に入力される。この信号clkB’の立ち上がりに同期を取り、回路A5からのデータ信号TDataが、回路B5に取り込まれ、データ信号RDataとして、回路B5内の内部回路に入力される。
【0067】
一方、フリップフロップF4のQ端子が出力する信号Treq1は、有効データ送信信号Treqが‘0’のときに値‘0’を取る。一方、上記信号Treq1は、有効データ送信信号Treqが‘1’のときに、信号clkB’に同期して、有効データ送信信号Treqの値をサンプリングした値を取る受信完了信号である。有効データ送信信号Treqが‘0’のときの有効データ送信信号Treqと信号Treq1との関係を、図2に太線で示す。また、有効データ送信信号Treqが‘1’のときの有効データ送信信号Treqと信号Treq1との関係を、図2に二重線で示す。
【0068】
回路A5からの信号Treqが“0”のときは、インバータ55を介して、信号値“1”がORゲート53に入力される。このため、ORゲート53はクロック信号clkBに関わらず、信号値“1”を出力することになり、クロック信号clkB’はクロック信号clkBがマスクされた信号となる。
【0069】
さらに、回路A5からの有効データ送信信号Treqは、フリップフロップF4のリセット端子にも入力されているので、有効データ送信信号Treqが“0”のときは、フリップフロップF4はリセット状態である。したがって、有効データ送信信号Treqが“0”のときは、信号Treq1は“0”となり、すなわち、受信完了信号Tackは“0”となっている。
【0070】
そして、図2の破断線より右側に示すように、転送元の回路A5から有効(Valid)なデータ信号TDataが、回路B5に送信されると共に、有効データ送信信号Treqが“1”に立ち上がると、まず、フリップフロップF4のリセット状態が解除され、信号clkB’のマスク状態が解除される。
【0071】
次いで、マスクが解除された後の最初の信号clkB’の立ち上がりで、フリップフロップF4およびフリップフロップF5は、それぞれ、データ信号TDataおよび有効データ送信信号Treqを取り込み、データ信号RDataおよび信号Treq1として内部回路(例えば、任意回路C5)に出力する。さらに、上記信号Treq1は、受信完了信号Tackとして、回路A5に入力される。
【0072】
そして、有効データ送信信号Treqが、“0”に立ち下がり、データ信号TDataが非有効(Unvalid)となると、先に説明したように、信号clkB’にはマスクがかかると共に、フリップフロップF4はリセット状態となる。したがって、フリップフロップF5は、直前の有効(Valid)なデータ信号TDataをデータ信号RDataとしてラッチした状態を維持する。
【0073】
このデータ信号Rdataは、回路B5で受信したデータ信号であり、基本となる同期信号は、クロック信号clkBである。このデータ信号Rdataに有効なデータが存在している期間を、図2に実線で囲んだ“DATA Valid”で示している。
【0074】
回路B5が回路A5に出力する受信完了信号Tackは、回路A5からの送信データ信号TDataが回路B5によって、データ信号Rdataとして正しく受信できたときに、値‘1’を示す受信完了信号であり、信号Treq1と同値である。
【0075】
図1に示す回路A5において、信号clkA’が動作している非マスク状態の間、回路B5の信号clkB’は、マスク状態で停止している。したがって、回路B5に取り込まれるデータ信号TDataの値が変化しているとき、同期クロック信号clkB’が変化しないことを保証でき、メタステーブル状態が発生しないことを保証できる。
また、図1に示す回路B5において、信号clkB’が動作している間、回路A5において、信号clkA’は停止している。このため、回路B5でデータを取り込む時刻Tbに、取り込まれるデータ信号TDataの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
図2のタイミングチャートにおいて、有効データ送信信号Treqの立上り時刻Tsaから受信完了信号Tackの立上り時刻Tsbまでの期間は、クロック信号clkBの周期TB以下である。また、上記立上り時刻Tsbから有効データ送信信号Treqの立下り時刻Teaまでの期間は、クロック信号clkAの周期TAの2倍以下である。この立下り時刻Tea以後は、直ちに、次のデータ転送が可能になるので、1回の転送に要する期間は最大で、(TB+TA×2)である。
【0076】
従来の一例である図7の回路の場合、1回の転送に要する期間として、遅い方のクロック信号clkBを基準に、その周期TBの4倍の時間が必要であることから、この第1実施形態による図1の回路構成によれば、(TB×3−TA×2)の時間以上の期間短縮が可能となる。
【0077】
したがって、この第1実施形態によれば、異なる周波数で動作している非同期の2回路間のデータ転送において、ハードウェアの大幅な増加を招くことなしに、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【0078】
(第2の実施の形態)
次に、図3に、この発明の第2実施形態の回路を示す。この第2実施形態は、転送回路7Aの構成が第1実施形態と異なり、転送回路7Bは前述の第1実施形態の転送回路B5と同じ構成である。したがって、転送回路7Aについて重点的に説明する。
【0079】
この転送回路A7は、第1実施形態の制御回路5Aと異なる制御回路7Aを備えた点が、転送回路A5と異なる。より詳しくは、この転送回路A7の制御回路7Aは、ANDゲート52に入力する受信完了信号Tack1を生成するための回路構成が前述の制御回路5Aと異なる。すなわち、この制御回路7Aでは、フリップフロップF71とそのクロック入力端子に接続したORゲート72とインバータ73とで信号Tack1を生成する。
【0080】
制御回路7Aにおいて、受信完了信号Tack1は、回路B5から入力された受信完了信号Tackが信号値‘0’のときに値‘0’を取る。一方、受信完了信号Tack1は、信号Tackが‘1’のときに、クロック信号clkAに同期して、受信完了信号Tackの値をサンプリングした値を取る。
【0081】
この第2実施形態では、フリップフロップF71の/Q出力をANDゲート52に入力することと、回路B7からの受信完了信号TackがフリップフロップF71のデータ入力端子に入力される点は先の第1実施形態と同じである。
【0082】
これに対し、この第2実施形態の制御回路7Aでは、信号Tack1の反転信号/Tack1の生成手法が、第1実施形態の制御回路5Aと異なり、追加のORゲート72とインバータ73を有し、受信完了信号TackはフリップフロップF1のリセット端子とインバータ73の入力端子に入力される。上記フリップフロップF71は、上記リセット端子に信号値“0”が入力されることでリセットする。
【0083】
インバータ73の出力は、ORゲート72の一方の入力端子に入力され、他方の入力端子にはクロック信号clkAが入力される。そして、ORゲート72の出力は、フリップフロップF71のクロック入力端子に入力される。
【0084】
この第2実施形態では、回路B7からの受信完了信号Tackが、“1”のときは、信号clkAがフリップフロップF71のクロック入力端子にそのまま入力されるため、先の第1実施形態と同じ動作を行う。
【0085】
次に、受信完了信号Tackが、“0”のときは、フリップフロップF71はリセット状態となる。特に、受信完了信号Tackが“0”になったと同時に、フリップフロップF71はリセットされ、信号/Tack1が“1”になる。この点が、先の第1実施形態と異なる。
【0086】
したがって、先の第1実施形態では、クロック信号clkAの立ち上がりを待って、受信完了信号Tackを制御回路5Aに取り込んでいたのに対して、この第2実施形態では、より早く、受信完了信号Tackを取り込むことができる。したがって、この第2実施形態では、信号Treqが、信号値“1”へ早く立ち上がり応答でき、次のデータ信号“Next Data(Valid)”を出力するタイミングを早くすることができる。
【0087】
(第3の実施の形態)
次に、図4に、この発明の第3実施形態の回路構成を示す。この第3実施形態は、第1実施形態の制御回路5Aと制御回路5Bに替えて、制御回路8Aと制御回路8Bを備えた点が、第1実施形態と異なる点である。
【0088】
この第3の実施形態は、先述の第1,第2の実施形態における制御回路をより一般的な形で表している。
【0089】
この第3実施形態では、制御回路8Aは、その出力信号MA,有効データ送信信号Treq,信号Tack1,クロック信号clkAに関して、次の論理式(3)もしくは(4)を実現する論理回路である。なお、制御回路8Aが、論理式(4)を実現する論理回路である場合には、クロック信号clkAに同期した順序回路を含んでもよい。
【0090】
MA=func{Treq,Tack1} … (3)
MA=func{clkA,Treq,Tack1} … (4)
上記論理式(3),(4)において、関数func{}は、以下に説明する動作を満足する任意の論理式である。
【0091】
データ信号TDataは、転送回路A8から転送回路B8に送信するデータ信号であり、基本となる同期信号は、クロック信号clkAである。
【0092】
有効データ送信信号Treqは、送信データ信号TDataが有効であるときに、値‘1’を取り、送信データ信号TDataが無効であるときに、値‘0’を取るデータ有効信号であり、基本となる同期信号は、クロック信号(同期信号)clkAである。また、フリップフロップF1から制御回路8Aに入力する信号Tack1は、受信完了信号Tackを同期信号clkAでサンプリングした信号である。
【0093】
次に、制御回路8Bは、その出力信号MB,信号Treq,信号Tack1,クロック信号clkBに関して、次の論理式(5)または(6)または(7)を実現する論理回路であり、クロック信号clkBに同期した順序回路を含んでもよい。
【0094】
MB=func’{Treq} …(5)
MB=func’{clkB,Treq} …(6)
MB=func’{clkB,Treq,Treq1} …(7)
上記論理式(5),(6),(7)において、関数func’{}は、以下に説明する動作を満足する任意の論理式である。
【0095】
上記信号Treq1は、有効データ送信信号Treqの値を、クロック信号clkBをクロックマスク信号MBでマスクして生成したクロック信号clkB’に同期してサンプリングした値を取る受信完了信号である。
【0096】
また、データ信号RDataは、回路B8で受信したデータ信号であり、基本となる同期信号はクロック信号clkBである。
【0097】
また、受信完了信号Tackは、回路A8からの送信データ信号TDataが回路B8で信号Rdataとして正しく受信できたときに値‘1’を示す受信完了信号であり、受信完了信号Treq1と同じ値である。
【0098】
この第3実施形態では、まず、最初に、転送先の回路B8から回路A8に出力する受信完了信号Tackは“0”になっている。
【0099】
回路A8が備える制御回路8Aは、制御信号MAをORゲート51に入力し、回路A8内の基準クロック信号clkAを、ORゲート51からフリップフロップF2とF3を含む出力手段に出力する。すると、この出力手段では、上記基準クロック信号clkAに同期を取り、転送先の回路B8に送信する有効データ送信信号Treqを“1”に立ち上げると共に、データ信号TDataを回路B8に出力する。上記有効データ送信信号Treqは、データ信号TDataが有効であることを表す識別信号である。
【0100】
そして、制御回路8Aは、有効データ送信信号Treqが“1”であること(すなわち、転送先回路B8にデータ信号TDataが出力されたこと)を検出すると、制御信号MAを‘1’にすることによって、上記出力手段への基準クロック信号clkAにマスクをして、上記出力手段への基準クロック信号clkAの入力を止める。
【0101】
次に、回路A8から出力されたデータ信号TDataと有効データ送信信号Treqは、回路B8が備えるフリップフロップF4とF5を含む入力手段に入力される。すると、この入力手段は、回路B8内の基準クロック信号clkBに同期して、このデータ信号TDataと有効データ送信信号Treqを回路B8内に取り込む。そして、この取り込んだ信号は、任意の回路C5でさらに処理される。
【0102】
制御回路8Bは、有効データ送信信号Treqを取り込むと、ORゲート83に出力する制御信号MBを“0”にして、クロック信号clkBのマスクを解除し、このORゲート83からフリップフロップF4のクロック信号入力端子に入力されたクロック信号clkB’の立ち上がりで受信完了信号Treq1を“1”に立ち上げる。これにより、受信完了信号Tackを“1”に立ち上げて、回路A8に送信する。
【0103】
制御回路8Aは、この受信完了信号Tackを、回路A8内の基準クロック信号clkAに同期させて、信号Tack1として取り込み、制御信号MAを“0”にして、ORゲート51に入力することで、上記出力手段に対する基準クロック信号clkAのマスクを解除する。これにより、受信完了信号Treqは“0”となる。
【0104】
制御回路8Bは、この値“0”の信号Treqを受けると、制御信号MBを“1”にして、ORゲート83に入力することで、上記入力手段への基準クロック信号clkBにマスクをかけ、フリップフロップF4が出力する受信完了信号Treq1を“0”にし、受信完了信号Tackを“0”にする。これにより、次のデータの転送の待機状態となる。
【0105】
次のデータの転送は、先と同じように基準クロック信号clkAに同期を取り、転送先の回路B8にデータが有効である識別信号Treqを“1”に立ち上げると共に、データ信号TDataを、回路A8から出力する。
【0106】
この図4の回路A8において、クロック信号clkA’が非マスク状態で動作している間、回路B8のクロック信号clkB’はマスク状態で停止している。このため、回路B8で取り込まれるデータ信号TDataの値が変化しているとき、同期クロック信号clkB’が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【0107】
また、図4の回路B8において、クロック信号clkB’が動作している間、回路A8のクロック信号clkA’は停止している。このため、回路B8でデータを取り込む時刻Tbに、取り込まれるデータ信号TDataの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【0108】
(第4の実施の形態)
次に、図5に、この発明の第4実施形態の回路構成を示す。また、図6に、転送回路A9,B9のタイミングチャートを示す。
【0109】
図5に示す第4実施形態の転送回路A9は、図1に示す第1実施形態の転送回路A5と同じであり、この第4実施形態は、転送回路B9における制御回路9Bの構成が、先述の第1実施形態と異なる。
【0110】
図5に示す転送回路A9の制御回路9Aは、有効データ送信信号Treq,受信完了信号Tack1,制御信号MAに関して、次の論理式(8)を実現する組み合わせ論理回路である。
【0111】
MA=Treq AND (not Tack1) …(8)
この論理式(8)は、先述した論理式(1)の下記のアンダーライン部を、制御信号MAに置換える式である。
clkA’=clkA OR(T req AND (not T ack 1 )) …(1)
信号TDataは、転送回路A9から転送回路B9に送信するデータ信号である。この信号TDataは、クロック信号clkAを、マスクして生成したクロック信号clkA’に同期して動作する。このクロック信号clkAのマスクは、ANDゲート92からORゲート91にクロックマスク信号MAを入力することで、行われる。
【0112】
データ信号TDataに有効なデータが存在している期間を、図6に、“DATA Valid”で示し、最初のデータ転送が終了し、次のデータを送信できる期間を、“Next”で示す。
【0113】
有効データ送信信号Treqは、送信データ信号TDataが有効であるときに、値‘1’を取り、送信データ信号TDataが無効であるときに、値‘0’を取る。この有効データ送信信号Treqは、クロック信号clkAをクロックマスク信号MAでマスクして生成したクロック信号clkA’に同期して動作する。
【0114】
また、信号Tack1は、受信完了信号Tackを同期信号clkAでサンプリングした信号である。信号Tack1の反転信号/Tack1と制御信号MAおよび有効データ送信信号Treqとの関係を、図6に2重線で示す。
【0115】
一方、回路B9の制御回路9Bは、制御信号MB,信号Treq,信号Treq3に関し、次の論理式(9)を実現する組み合わせ論理回路である。
【0116】
MB=Treq or Treq3 …(9)
回路B9が備える制御回路9Bは、先述の第1実施形態の制御回路5Bと異り、フリップフロップF4のリセット信号入力端子にリセット信号として信号Treqを入力する信号線が無い。また、制御回路9Bは、上記制御回路5Bに比べて、フリップフロップF6とORゲート93が新たに追加されている。
【0117】
このフリップフロップF6のデータ入力端子とORゲート93の一方の入力端子に、回路A9からの有効データ送信信号Treqが入力され、フリップフロップF6のクロック入力端子にはクロック信号clkBが入力される。また、フリップフロップF6の出力端子Q(非反転出力端子)の信号は、ORゲート93の他方の入力端子に入力され、ORゲート93の出力信号MBは、インバータ95の入力端子に入力される回路構成となっている。
【0118】
これにより、転送回路A9から転送回路B9に出力される有効データ送信信号Treqが“1”となり、転送回路A9から転送回路B9にデータ信号TData(Valid)が転送されてきたとき、制御回路9Bでは、ORゲート93の出力信号MB(制御信号MB)が“1”となる。したがって、インバータ95の出力が“0”となるので、ORゲート96は、クロック信号clkBをそのままクロック信号clkB’として、フリップフロップF4,F5のクロック入力端子に出力する。この点は、先述の第1実施形態での動作と同じである。
【0119】
そして、有効データ送信信号Treqの信号値“1”が、フリップフロップF4に取り込まれると、フリップフロップF4は、値“1”の信号Treq1を受信完了信号Tackとして、回路A9に送信する。
【0120】
回路A9では、フリップフロップF1で、クロック信号clkAの立ち上がりに同期して、上記受信完了信号Tackを回路A9内に取り込む。このフリップフロップF1は、その/Q端子から、上記信号Tackを反転した信号値“0”の信号/Tack1を、ANDゲート92に出力する。すると、クロックマスク信号MAが“0”となり、クロック信号clkA’のマスクが解除される。このマスクが解除されたクロック信号clkA’の最初の立ち上がりに同期を取り、有効データ送信信号Treqは、“0”となり、データ信号TDataは、非有効(Unvalid)となる。ここまでの動作は、先述の第1実施形態での動作と同じである。
【0121】
ここで、上記信号値“0”になった有効データ送信信号Treqは、回路B9に入力される。この回路B9では、フリップフロップF6がクロック信号clkBの立ち上がりに同期を取り、フリップフロップF6のQ出力端子が出力する信号Treq3が“0”となることで、ORゲート93の出力信号MBが“0”に変化する。これにより、インバータ95の出力が“1”となり、ORゲート96の出力信号であるクロック信号clkB’がクロック信号clkBに関わらず、“1”となる。このことで、クロック信号clkB’にマスクがかかる。
【0122】
一方、有効データ送信信号Treqを取り込んだフリップフロップF4により、信号Treq1は、“0”に変化し、受信完了信号Tackは“0”に変化する。以後は、また、先述の第1実施形態と同じ動作を行う。
【0123】
この第4実施形態では、回路B9の制御回路9BにフリップフロップF6を設け、クロック信号clkBの立ち上がりに同期を取り、有効データ送信信号Treqの“0”への変化を取り込むので、受信完了信号Tackが信号値“1”である期間を充分に取ることができ、信号の波形鈍り等に対して強くすることができる。
【0124】
フリップフロップF6の出力信号である信号Treq3は、遅延データ有効信号であり、有効データ送信信号Treqをクロック信号clkBでサンプリングした値をとる。また、信号Treq1は、受信完了信号であり、クロック信号clkBをクロックマスク信号MBでマスクして生成したクロック信号clkB’に同期して、有効データ送信信号Treqをサンプリングした値を取る。この信号Treq1と有効データ送信信号Treqとの関係を、図6に2重線で示す。
【0125】
また、信号Rdataは、回路B9で受信したデータ信号であり、クロック信号clkB’に同期して動作する。このデータ信号Rdataに有効なデータが存在している期間を、図6に、“DATA Valid”で示す。
【0126】
また、受信完了信号Tackは、回路A9からの送信データ信号TDataが回路B9で信号Rdataとして正しく受信できたときに、値‘1’を示す受信完了信号であり、信号Treq1と同じ値である。図6に、受信完了信号Tackと信号Treq1との関係を2重線で示す。
【0127】
図5に示す回路A9において、クロック信号clkA’が動作している間、回路B9のクロック信号clkB’は停止している。このため、回路B9で取り込まれるデータ信号TDataの値が変化しているとき、同期クロック信号clkB’が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【0128】
また、図5に示す回路B9において、クロック信号clkB’が動作している間、回路A9のクロック信号clkA’は停止している。このため、回路B9でデータ信号TDataを取り込む時刻Tbに、取り込まれるデータ信号TDataの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【0129】
図6のタイミングチャートにおいて、有効データ送信信号Treqの立上り時刻Tsaから、受信完了信号Tackの立上り時刻Tsbまでの期間は、クロック信号clkBの周期TB以下である。
【0130】
また、受信完了信号Tackの立下がり時刻Tebから信号Tack1の立下り時刻Teaまでの期間は、クロック信号clkAの周期TA以下である。
【0131】
クロック信号clkAの周期TAが、クロック信号clkBの周期TBよりも短いと仮定すると、受信完了信号Tackが‘1’の期間は、クロック信号clkBの1周期分の期間TBとなり、また、信号Tack1の立下り時刻Tea以後は、ただちに、次のデータ転送が可能になる。したがって、1回の転送に要する期間は、最大で、(TB×2+TA)となる。
【0132】
従来の一例である図7の回路の場合、1回の転送に要する期間は、遅い方のクロック信号clkBを基準に、その周期TBの4倍が必要であるから、この第4実施形態の回路によれば、(TB×2−TA)時間以上の転送期間短縮が可能である。
【0133】
尚、上記第1〜第4実施形態では、送信回路としての回路A5,A7,A8,A9を有する転送装置を送信側(転送元)の転送装置とし、受信回路としての回路B5,B7,B8,B9を有する転送装置を受信側(転送先)の転送装置としたが、両転送装置は、送信回路A5(あるいはA7,A8,A9)と受信回路B5(あるいはB7,B8,B9)の両方を備えている。
【0134】
【発明の効果】
以上より明らかなように、この発明の非同期転送装置は、送信制御手段が、有効データ送信信号を検出したときに、転送手段を動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を動作状態にさせる。したがって、この発明によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッド(制御時間)でメタステーブル状態を回避できる。したがって、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【0135】
また、一実施形態の非同期転送装置は、上記送信制御手段が、送信用クロック信号制御手段であり、ハンドシェイクで用いる有効データ送信信号と受信完了信号を利用し、転送手段に供給するクロック信号を制御することで、転送手段を動作状態または停止状態に制御する。したがって、ハードウェアの大幅な増加を招くこと無しに、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【0136】
また、他の実施形態は、上記送信用クロック信号制御手段が、送信用クロック信号停止手段を備え、この送信用クロック信号停止手段で、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする。したがって、クロック停止による消費電力の低減が期待できる。
【0137】
また、一実施形態は、上記送信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記転送手段に供給するクロック信号にマスクをかける。これにより、転送手段に供給するクロック信号を停止させて、転送手段を停止状態にする。したがって、クロック停止による消費電力の低減が期待できる。
【0138】
また、他の実施形態は、上記非同期転送装置において、受信制御手段を備え、この受信制御手段が、上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する。一方、この受信制御手段が、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする。したがって、この実施形態によれば、転送元からの有効データ送信信号の検出と非検出に応じて、受信手段を動作状態と停止状態に制御して、転送元からのデータ信号を確実に受信し、かつ、上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【0139】
また、一実施形態は、上記非同期転送装置において、上記受信制御手段は、受信用クロック信号制御手段であり、この受信用クロック信号制御手段が、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御することによって、受信手段を動作状態または停止状態に制御する。したがって、簡単なハードウェアで受信手段を制御できる。
【0140】
また、他の実施形態は、上記非同期転送装置において、上記受信用クロック信号制御手段は、受信用クロック信号停止手段を備え、この受信用クロック信号停止手段で、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする。したがって、クロック停止による消費電力の低減を図れる。
【0141】
また、一実施形態は、上記非同期転送装置において、上記受信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記受信手段に供給するクロック信号にマスクをかける。これにより、受信手段に供給するクロック信号を停止させて、受信手段を停止状態にする。
【0142】
また、他の実施形態の非同期転送方法は、転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。したがって、この発明の非同期転送方法によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッドでメタステーブル状態を回避できる。したがって、1つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【0143】
また、一実施形態の非同期転送方法は、上記非同期転送方法において、すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にする。
【0144】
また、他の実施形態の非同期転送方法は、上記クロック信号を停止させることによって、上記データ転送動作を停止状態にする。
【0145】
また、一実施形態の非同期転送方法は、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【0146】
また、他の実施形態の非同期転送方法は、転送元からの有効データ送信信号の検出と非検出に応じて、受信動作の開始と停止を制御して、転送元からのデータ信号を確実に受信し、かつ、上記転送元からの有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【0147】
また、一実施形態の非同期転送方法は、少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始する。
【0148】
また、他の実施形態の非同期転送方法は、上記クロック信号を停止させることによって、上記受信動作を停止させる。
【0149】
また、一実施形態の非同期転送方法は、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【図面の簡単な説明】
【図1】この発明の非同期転送装置の第1実施形態の回路図である。
【図2】上記第1実施形態のタイミングチャートである。
【図3】この発明の第2実施形態の回路図である。
【図4】この発明の第3実施形態の回路図である。
【図5】この発明の第4実施形態の回路図である。
【図6】上記第4実施形態のタイミングチャートである。
【図7】第1従来例の非同期転送回路の回路図である。
【図8】第1従来例のタイミングチャートである。
【図9】第2従来例の非同期転送回路の回路図である。
【図10】第2従来例のタイミングチャートである。
【符号の説明】
A5,B5,A7,B7,A8,B8,A9,B9…転送回路、
F1〜F6,F71,…フリップフロップ、
5A,5B,7A,7B,8A,8B,9A,9B…制御回路、
51,53,72,83,91,93,96…ORゲート、
52,92…ANDゲート、55,95…インバータ、
C5,C9…任意回路、
Tdata,Rdata…データ信号、
clkA,clkA’,clkB,clkB’…クロック信号、
Treq…有効データ送信信号、Tack…受信完了信号。
Claims (12)
- 異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送システムにおける非同期転送装置であって、
送信回路を有し、この送信回路は、
上記データ信号を転送先に転送する転送手段と、
有効データ送信信号を検出したときに、上記転送手段を、データ信号を保持する動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を、データ信号を取り込む動作状態にさせる送信制御手段とを備えていることを特徴とする非同期転送装置。 - 請求項1に記載の非同期転送装置において、
上記送信制御手段は、
少なくとも上記有効データ送信信号と受信完了信号とに基いて、上記転送手段に供給するクロック信号を制御する送信用クロック信号制御手段であることを特徴とする非同期転送装置。 - 請求項2に記載の非同期転送装置において、
上記送信用クロック信号制御手段は、
上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする送信用クロック信号停止手段を備えていることを特徴とする非同期転送装置。 - 請求項1に記載の非同期転送装置において、
受信回路を有し、この受信回路は、
転送元からのデータ信号を受信する受信手段と、
上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する一方、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする受信制御手段を備えていることを特徴とする非同期転送装置。 - 請求項4に記載の非同期転送装置において、
上記受信制御手段は、
少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御する受信用クロック信号制御手段であることを特徴とする非同期転送装置。 - 請求項5に記載の非同期転送装置において、
上記受信用クロック信号制御手段は、
上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする受信用クロック信号停止手段を備えていることを特徴とする非同期転送装置。 - 異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送方法であって、
転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始すること特徴とする非同期転送方法。 - 請求項7に記載の非同期転送方法において、
すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にすることを特徴とする非同期転送方法。 - 請求項8に記載の非同期転送方法において、
上記クロック信号を停止させることによって、上記データ転送動作を停止状態にすることを特徴とする非同期転送方法。 - 請求項7に記載の非同期転送方法において、
転送元からの有効データ送信信号を受信すると、データ受信動作を開始し、
上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する一方、
上記転送元から有効データ送信信号を検出しないときに、データ受信動作を停止することを特徴とする非同期転送方法。 - 請求項10に記載の非同期転送方法において、
少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始することを特徴とする非同期転送方法。 - 請求項11に記載の非同期転送方法において、
上記クロック信号を停止させることによって、上記受信動作を停止させることを特徴とする非同期転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001068430A JP3604637B2 (ja) | 2001-03-12 | 2001-03-12 | 非同期転送装置および非同期転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001068430A JP3604637B2 (ja) | 2001-03-12 | 2001-03-12 | 非同期転送装置および非同期転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002269036A JP2002269036A (ja) | 2002-09-20 |
JP3604637B2 true JP3604637B2 (ja) | 2004-12-22 |
Family
ID=18926623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001068430A Expired - Fee Related JP3604637B2 (ja) | 2001-03-12 | 2001-03-12 | 非同期転送装置および非同期転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3604637B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4758311B2 (ja) * | 2006-09-14 | 2011-08-24 | Okiセミコンダクタ株式会社 | 非同期データ保持回路 |
JP5742334B2 (ja) * | 2011-03-18 | 2015-07-01 | 富士通セミコンダクター株式会社 | データ転送システム、データ転送装置及びデータ転送方法 |
JP5915105B2 (ja) | 2011-11-14 | 2016-05-11 | 株式会社ソシオネクスト | データ転送システム、受信回路、及び受信方法 |
JP2014045423A (ja) * | 2012-08-28 | 2014-03-13 | Nec Engineering Ltd | データ転送装置、データ転送方法およびプログラム |
JP6256067B2 (ja) * | 2014-02-06 | 2018-01-10 | 株式会社ソシオネクスト | 半導体装置 |
-
2001
- 2001-03-12 JP JP2001068430A patent/JP3604637B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002269036A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3565600B2 (ja) | データ通信装置およびデータ通信方法 | |
US6940306B2 (en) | Methods and circuitry for implementing first-in first-out structure | |
US5834956A (en) | Core clock correction in a 2/N mode clocking scheme | |
US5987081A (en) | Method and apparatus for a testable high frequency synchronizer | |
JP5459807B2 (ja) | マルチプロセッサデータ処理システムにおけるデバッグシグナリング | |
KR101089153B1 (ko) | 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 | |
US5802132A (en) | Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme | |
US5862373A (en) | Pad cells for a 2/N mode clocking scheme | |
US6172540B1 (en) | Apparatus for fast logic transfer of data across asynchronous clock domains | |
US5291529A (en) | Handshake synchronization system | |
JPH08298503A (ja) | 非整数倍クロック変換器およびその方法 | |
JP3604637B2 (ja) | 非同期転送装置および非同期転送方法 | |
JP3560793B2 (ja) | データ転送方法 | |
JPH0198313A (ja) | 同期化回路 | |
US8832393B2 (en) | Alignment for multiple FIFO pointers | |
JPH09167134A (ja) | データ同期システム | |
WO2006056904A2 (en) | Globally asynchronous locally synchronous systems | |
WO2022037638A1 (zh) | 集成电路复位的方法和集成电路 | |
US7123674B2 (en) | Reducing latency and power in asynchronous data transfers | |
KR20150037898A (ko) | 클록 도메인 간의 데이터 전송 | |
US6295300B1 (en) | Circuit and method for symmetric asynchronous interface | |
US6104219A (en) | Method and apparatus for generating 2/N mode bus clock signals | |
EP1436685A2 (en) | Data synchronization on a peripheral bus | |
JP3039441B2 (ja) | 異クロック間同期エッジ検出方法および異クロック間同期エッジ検出方式 | |
JPH1185304A (ja) | クロック入力制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040916 |
|
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: 20040921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040929 |
|
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: 20071008 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111008 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121008 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |