JP3161420B2 - 非同期インタフェースシステム - Google Patents

非同期インタフェースシステム

Info

Publication number
JP3161420B2
JP3161420B2 JP21579698A JP21579698A JP3161420B2 JP 3161420 B2 JP3161420 B2 JP 3161420B2 JP 21579698 A JP21579698 A JP 21579698A JP 21579698 A JP21579698 A JP 21579698A JP 3161420 B2 JP3161420 B2 JP 3161420B2
Authority
JP
Japan
Prior art keywords
signal
circuit
clock
output
ready
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
JP21579698A
Other languages
English (en)
Other versions
JP2000047978A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP21579698A priority Critical patent/JP3161420B2/ja
Priority to US09/362,759 priority patent/US6295300B1/en
Priority to EP99114272A priority patent/EP0986208A3/en
Publication of JP2000047978A publication Critical patent/JP2000047978A/ja
Application granted granted Critical
Publication of JP3161420B2 publication Critical patent/JP3161420B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、クロックが可変
で互いに非同期で動作する2装置間でハンドシェイクを
行う非同期インタフェースシステムに関する。
【0002】
【従来の技術】互いに非同期で動作する2装置間に用い
られる対称型非同期インタフェース回路の従来手法1を
図30、図31に示す。図30は、従来手法1の概念図
および周波数比率とオーバヘッド時間比率との関係を表
す図であり、図31は、従来手法1の回路構成図であ
る。
【0003】従来手法1は、演算が終了した、もしくは
データが準備できたなどの基本動作が終了したことを表
すReady信号を互いにハンドシェイクする2線式で
ある。従来手法1では、装置1制御部FSM1と装置2
制御部FSM2内にそれぞれカウンタを有し、装置1制
御部FSM1と装置2制御部FSM2を駆動するクロッ
ク信号の周波数比率のWorst Caseから静的に
Ready信号のActive期間を設定している。ま
た、誤動作を防止するため、相手先のReady信号が
Inactiveになるまで自らのReady信号をA
ctiveにしないようにidle状態が必要である
(図31のST14,ST24)。
【0004】対称型非同期インタフェース回路の従来手
法2を図32〜図35に示す。図32は、従来手法2の
概念図および周波数比率とオーバヘッド時間比率との関
係を表す図であり、図33は、従来手法2の回路構成図
である。図34は、周波数比fCK1 /fCK2 =2/3、
Duty比50%の場合のタイミングチャートであり、
図35は、周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%の場合のタイミン
グチャートである。
【0005】従来手法2は、2線式ハンドシェイクを2
つ用いて4線式とし、互いのReady信号だけでな
く、Active期間を動的制御するAcknowle
dge信号のハンドシェイクを付加した多重型ハンドシ
ェイク方式である。Ready信号のActive期間
を動的に設定するように変更することで、駆動するクロ
ック信号の周波数適用範囲の制限を無くし、汎用性を高
めた回路である。図32の周波数比率とオーバヘッド時
間比率との関係を表す図から、従来手法2では、周波数
比率によらず、定常的なオーバヘッド時間を有すること
が分かる。
【0006】次に、データパスを伴う従来手法2の動作
について、図33の回路構成図、34のタイミングチャ
ート、図11の同期化回路、図12の装置1データパス
の回路構成図、図13の装置2データパスの回路構成図
を参照して説明する。装置1から装置2に制御権が譲渡
される流れを実線矢印で示し、装置2から装置1に制御
権が譲渡される流れを点線矢印で示す。
【0007】1.十分なリセット期間後(初期状態)、
装置1制御部FSM1の初期ステートはST10とな
り、データパスのレジスタRG11は0となる。
【0008】2.装置2制御部FSM2の初期ステート
はST22となり、データバスのレジスタRG21は0
となる。
【0009】3.クロック1(CK1)にて、カウント
レジスタRG11の値に対し、1をインクリメントし、
そのデータをカウントレジスタRG11に挿入する。
【0010】4.次の状態ST13に遷移する。
【0011】5.クロック2(CK1)にて、3と同様
にカウントレジスタRG11の値に対し、1をインクリ
メントし、そのデータをカウントレジスタRG11に戻
す。この時点で、装置1側の処理は終了する。
【0012】6.装置1が終了した(準備ができた)旨
を相手先の装置2に知らせるための状態ST11に遷移
することができるが、それはRD22の信号の状態によ
って決定される。この場合、RD22がInactiv
e(0)であるので、次の状態としてST11に遷移で
きる。
【0013】7.クロック3(CK1)にて、状態ST
11に遷移することによって、装置1の準備ができたこ
とを示すRD11がActive(1)になる。
【0014】8.クロック4(CK2)にて、同期化回
路SY11のDFF(DF111)によって、7のAc
tive信号を立ち下がりエッジでラッチする(出力R
D14を得る)。
【0015】9.クロック5(CK2)にて、8での信
号を再度立ち上がりエッジでラッチし直す(DF112
によって、出力RD12を得る)。RD12によりRD
11の信号を装置2の同期回路で使用することができ
る。
【0016】10.装置1が準備できたという意味のA
ctive信号が伝搬されたので、装置2側の処理が開
始できる状態となる。装置2は、ここで初めて装置1か
ら制御権が移ったことを知る。7から9までの期間を同
期化のためのオーバヘッドという。
【0017】11.クロック4(CK1)にて、同期化
回路SY12のDFF(DF121)によって、9の信
号のActive信号を立ち下がりエッジでラッチする
(出力AC14を得る)。
【0018】12.クロック5(CK1)にて、11で
の信号を再度立ち上がりエッジでラッチし直す(DF1
22によって、出力AC12を得る)。AC12により
AC11の信号を装置1の同期回路で使用することがで
きる。
【0019】13.AC12は、7で出力したRD11
のActive信号が、装置2で同期化されたことを確
認するための信号である。これを受け取り、装置1の装
置1制御部FSM1は、状態ST11から装置2の完了
を待つ状態であるST12に遷移する。
【0020】14.クロック6,7(CK1)にて、装
置2の準備完了の信号RD22がActive(1)に
なるまでST12の状態で待つ。
【0021】15.クロック5(CK2)にて、装置2
は装置1のデータD1を読み込む。データD1は、クロ
ック3(CK1)以降では、データに変化はなく、安定
した状態にある。このような静的データは、クロック系
が異なる場合においても、同期化回路等のインタフェー
スを介することなくデータの授受が可能である。
【0022】16.15のデータD1に対し、1をイン
クリメントし、それをカウントレジスタRG21にデー
タ挿入する。
【0023】17.次の状態としてST23に遷移す
る。
【0024】18.クロック6(CK2)にて、カウン
トレジスタRG21の値に対し、1をインクリメント
し、そのデータをカウントレジスタRG21に戻す。こ
の時点で、装置2側の処理は終了する。
【0025】19.装置2が終了した(準備ができた)
旨を装置1に戻すための状態ST21に遷移することが
できるが、それはRD12の信号の状態によって決定さ
れる。この場合、RD12がActive(1)である
ので、ST21に遷移できずに、ST21への遷移を待
つためのアイドル状態であるST24に遷移する。
【0026】20.クロック7,8(CK2)にて、1
9と同様に、RD12がActive(1)であるの
で、アイドル状態ST24のままRD12がInact
ive(0)になるのを待つ。このアイドル状態の時間
は、従来手法2の非同期ハンドシェイク手法において、
動作を保証するために必要なオーバヘッド時間である。
【0027】21.クロック9(CK2)にて、状態は
20と同様にST24の状態のまま待つ。
【0028】22.13に起因し、クロック6(CK
1)においてInactive(0)に変化したRD1
1の信号を、同期化回路SY11のDFF(DF11
1)によって、立ち下がりエッジでラッチする(出力R
D14を得る)。
【0029】23.クロック10(CK2)にて、22
での信号を再度立ち上がりエッジでラッチし直す。
【0030】24.RD12がInactive(0)
となったので、アイドル状態ST24から、装置2が準
備完了を通知する状態ST21に遷移する。
【0031】25.クロック11(CK2)にて、ST
21に遷移することによって、装置2が準備できたこと
を示すRD21がActive(1)になる。
【0032】26.クロック8(CK1)にて、同期化
回路SY21のDFF(DF211)によって、25の
Active信号を立ち下がりエッジでラッチする(出
力RD24を得る)。
【0033】27.クロック8(CK1)にて、26の
信号を再度立ち上がりエッジでラッチし直す(DF21
2によって、出力RD22を得る)。RD22によりR
D21の信号を装置1の同期回路で使用することができ
る。
【0034】28.装置2が準備できたという意味のA
ctive信号が伝搬されたので、装置1側の処理が開
始できる状態となる。装置1は、ここで初めて装置2か
ら制御権が移ったことを知る。
【0035】以下同様に、装置1と装置2の制御権の切
り替えを交互に行い、カウントレジスタの値をインクリ
メントする。
【0036】
【発明が解決しようとする課題】上述した従来手法1で
は、周波数比率のWorst Caseから静的にAc
tive期間を設定するため、それぞれの回路仕様(周
波数可動範囲)に応じてカウンタ値を計算および設定す
る必要があり、また、誤動作を防ぐため、相手先のRe
ady信号がInactiveになるまで自らのRea
dy信号をActiveにすることができない(アイド
ル状態が必要である)ため、汎用的ではなかった。さら
に、高速動作時には、周波数比率が1に近づくに従って
オーバヘッドが現れるという問題があった。
【0037】また、従来手法2は、Ready信号のA
ctive期間を動的に設定するように変更すること
で、従来手法1で問題となった駆動するクロック信号の
周波数適用範囲の制限を無くし、汎用性を高めた回路で
ある。しかし、従来手法2においても、次のような誤動
作を生じるために、相手先のReady信号がInac
tiveになるまで自らのReady信号をActiv
eにすることができなかった。 (1)第1の誤動作 ReadyのActive期間を規定するハンドシェイ
ク(Ready−Acknowlege)は、同期化の
ための最小マージンしか考慮していない。Readyを
受信側が受ける前に、送信側でReady−Ackno
wlegeハンドシェイクが完了し、ReadyをIn
activeにすることがある。この場合、受信側が参
照しなければいけない状態の時、すでにInactiv
eに変化してしまっていることがある(二重ハンドシェ
イクの弊害)。 (2)第2の誤動作 AcknowlegeのActive期間を配慮してい
ないので、2つのトランザクションの信号がオーバラッ
プすることがある。Ready信号を出す時点で、前回
のトランザクションのAcknowlege信号が、ま
だActiveのままの状態である場合がある。その場
合、今回に必要なReadyのActive期間を確保
できず、Ready信号が相手先で受けることができな
いことがある(同期化に必要なマージンを得られな
い)。
【0038】したがって、従来手法2では、上述した誤
動作を防ぐためにアイドルサイクル時間(Ready信
号の通信中には相手側の次のReady信号を出しては
いけない時間)を設けなければならず、高速切り替え時
にアイドル状態のオーバヘッドが現れるため、それが高
速化の限界となっていた。
【0039】この発明の目的は、処理を高速化し、オー
バヘッド時間を最小化し、設計の汎用性を拡大し、誤動
作を防止することのできる非同期インタフェースシステ
ムを提供することにある。
【0040】
【課題を解決するための手段】この発明は、互いに非同
期で動作する第1の装置および第2の装置と、第1の装
置および第2の装置間に用いられるインタフェース回路
とを備える非同期インタフェースシステムにおいて、前
記インタフェース回路は、第1の装置の制御部から出力
された、演算、またはデータの準備のいずれかの基本動
作が終了したことを表すReady信号を入力して第2
の装置側のクロックに同期化して第2の装置に出力する
第1の同期化回路と、第2の装置側から出力された、前
記Ready信号が受けられたかを回答、もしくはRe
ady信号をインアクティブにすることを要求するAc
knowledge信号を遅延させる第1の遅延回路
と、第1の遅延回路から出力されたAcknowled
ge信号を第1の装置側のクロックに同期化する第2の
同期化回路と、第2の同期化回路から出力されたAck
nowledge信号を入力して第1の装置に1クロッ
クパルスのAcknowledge信号を出力する第1
のパルス発生回路と、第2の装置の制御部から出力され
たReady信号を入力して第1の装置側のクロックに
同期化して第1の装置に出力する第3の同期化回路と、
第1の装置側から出力されたAcknowledge信
号を遅延させる第2の遅延回路と、第2の遅延回路から
出力されたAcknowledge信号を第2の装置側
のクロックに同期化する第4の同期化回路と、第4の同
期化回路から出力されたAcknowledge信号を
入力して第2の装置に1クロックパルスのAcknow
ledge信号を出力する第2のパルス発生回路とを備
え、前記第1の装置および第2の装置は、前記1クロッ
クパルスのAcknowledge信号をエッジ検出す
ることを特徴とする。
【0041】
【発明の実施の形態】この発明の対称型非同期インタフ
ェース回路は、クロックが可変で互いに非同期で動作す
る2装置間で用いられるインタフェース回路であり、デ
ータの授受に関して何も問わない、制御権の受け渡しに
関する回路である。
【0042】ここで、非同期とは、それぞれの装置が、
それぞれのクロックに同期して動作し、2つのクロック
に依存関係がなく、あるクロックに同期した信号は、別
のクロック系の回路にとって同期した信号でないことを
いう。
【0043】非同期インタフェース回路とは、クロック
系の異なる2つの同期回路を接続する回路のことをい
う。
【0044】クロックが可変とは、動作時にクロックが
変化するのではなく、リセット時などにクロック周波数
や位相を切り替えることができることをいう。
【0045】対称型とは、クロック周波数の大小関係
が、2装置間で決まっておらず、周波数(Clock
1)≦周波数(Clock2)、周波数(Clock
1)>周波数(Clock2)のどちらにも対応するこ
とを目的に、対称な回路構成となっていることを指す。
【0046】次に、この発明の実施の形態について図面
を参照して説明する。
【0047】図1は、この発明の対称型非同期インタフ
ェース回路の実施の形態を示す回路構成図である。図1
において、装置1制御部FSM1および装置2制御部F
SM2は、排他的(交互)に動作し、対等関係にある
(どちらもマスタ/スレーブになり得る)2つの装置を
制御するステートマシンである。
【0048】各ステートマシンは、処理が終了したこと
を知らせる状態(ST11,ST21)、および相手の
処理が終了するのを待つ状態(ST12,ST22)が
必ず存在し、相手の動作が終了してから自分の動作が終
了するまで(ST12→ST11,ST22→ST21
の遷移パス)には、必ず1状態以上の遷移(ST13,
ST23)が存在する。また、終了を表す状態(ST1
1,ST21)の状態コードは、ある状態レジスタ(S
R11,SR21)の値が他の状態コードと排他である
ようにし、それを終了信号(Ready信号)として出
力する。
【0049】図1に示すこの発明の対称型非同期インタ
フェース回路ASIFは、遅延回路DL11,DL21
と、パルス発生回路P11,P21と、同期化回路SY
11,SY12,SY21,SY22とにより構成され
ており、遅延回路DL21、パルス発生回路P11、同
期化回路SY12,SY21は、非同期インタフェース
回路(CK1系)ASIF1を構成し、遅延回路DL1
1、パルス発生回路P21、同期化回路SY11,22
は、非同期インタフェース回路(CK2系)ASIF2
を構成している。
【0050】同期化回路SY11の入力は、装置1制御
部FSM1内の状態レジスタSR11に接続され、出力
は装置2制御部FSM2および遅延回路DL11の入力
に接続されている。遅延回路DL11の出力は、同期化
回路SY12の入力に接続され、同期化回路SY12の
出力は、パルス発生回路P11の入力に接続され、パル
ス発生回路P11の出力は、装置1制御部FSM1に接
続されている。
【0051】同様に、同期化回路SY21の入力は、装
置2制御部FSM2内の状態レジスタSR21に接続さ
れ、出力は装置1制御部FSM1および遅延回路DL2
1の入力に接続されている。遅延回路DL21の出力
は、同期化回路SY22の入力に接続され、同期化回路
SY22の出力は、パルス発生回路P21の入力に接続
され、パルス発生回路P21出力は、装置2制御部FS
M2に接続されている。
【0052】装置1制御部FSM1、遅延回路DL2
1、パルス発生回路P11、同期化回路SY12,SY
21は、クロック生成器CG1で生成されるクロック信
号CK1で駆動されており、装置2制御部FSM2、遅
延回路DL11、パルス発生回路P21、同期化回路S
Y11,22は、クロック生成器CG2で生成されるク
ロック信号CK2で駆動されている。クロック信号CK
1,CK2は、それぞれ独立であり、クロックの周波
数、位相は可変である。
【0053】次に、この実施の形態の動作について説明
する。
【0054】装置1制御部FSM1の演算が終了した、
もしくはデータが準備できたなどの基本動作が終了した
ことを表すReady信号RD11が、装置1制御部F
SM1の状態レジスタSR11から同期化回路SY11
に出力されると、同期化回路SY11では、装置2制御
部FSM2側のクロックに同期化して装置2制御部FS
M2および遅延回路DL11にReady信号RD12
を出力する。装置2制御部FSM2は、Ready信号
RD12を受け取ることにより、処理を開始し、ST2
2からST23に遷移する。
【0055】遅延回路DL11は、同期化回路SY11
から出力されたReady信号RD12を少なくとも1
クロック遅延させ、Ready信号が装置2制御部FS
M2で受けられたかを回答、もしくはReady信号を
Inactiveにすることを要求するAcknowl
edge信号AC11を同期化回路SY12に出力す
る。同期化回路SY12では、Acknowledge
信号AC11を装置1制御部FSM1側のクロックに同
期化させてAcknowledge信号AC13をパル
ス発生回路P11に出力する。パルス発生回路P11で
は、Acknowledge信号AC13を1クロック
パルスにして装置1制御部FSM1にAcknowle
dge信号AC12を出力する。装置1制御部FSM1
では、Acknowledge信号AC12を受け取る
と、ST11からST12に遷移する。
【0056】装置2制御部FSM2の処理が終了する
と、Ready信号RD21が、装置2制御部FSM2
の状態レジスタSR21から同期化回路SY21に出力
される。同期化回路SY21では、装置1制御部FSM
1側のクロックに同期化して装置1制御部FSM1およ
び遅延回路DL21にReady信号RD22を出力す
る。装置1制御部FSM1は、Ready信号RD22
を受け取ることにより、処理を開始し、ST12からS
T13に遷移する。
【0057】遅延回路DL21は、同期化回路SY21
から出力されたReady信号RD22を少なくとも1
クロック遅延させ、Acknowledge信号AC2
1を同期化回路SY22に出力する。同期化回路SY2
2では、Acknowledge信号AC21を装置2
制御部FSM2側のクロックに同期化させてAckno
wledge信号AC23をパルス発生回路P21に出
力する。パルス発生回路P21では、Acknowle
dge信号AC23を1クロックパルスにして装置2制
御部FSM2にAcknowledge信号AC22を
出力する。装置2制御部FSM2では、Acknowl
edge信号AC22を受け取ると、ST21からST
22に遷移する。
【0058】同期化回路SY11,SY12,SY2
1,SY22は、装置1制御部FSM1および装置2制
御部FSM2間のハンドシェイクの出力信号が、受信側
にとっては同期信号ではないため、その信号を受信側の
クロックで同期化する回路である。
【0059】遅延回路DL11,DL21は、少なくと
も1クロック遅延させる回路である。4線式の制御で
は、ある一方のReady信号がインアクティブになる
前に、もう一方のReady信号をアクティブにする
と、周波数関係によっては、Ready信号が相手先の
ステートマシンで受け取られる前に、出力側が先にAc
knowledge信号を受け、Inactiveとし
てしまい、状態遷移に誤動作が起こる場合があるので、
ハンドシェイク信号を正しい状態/タイミングで受信す
るため、遅延回路DL11,DL21が存在する。
【0060】パルス発生回路P11,P21は、1クロ
ックパルスを発生する回路である。この対称型非同期イ
ンタフェース回路では、基本的にハンドシェイク信号の
Active期間の1クロック目をレベル検出して状態
が進むことを想定している。ハンドシェイク信号の立ち
下がるタイミング(Active期間の長さ)をステー
トマシンが考慮しない。レベル検出であると、高速切り
替えの場合、周波数関係によっては、2つのトランザク
ションの信号がオーバラップし、1つ前のトランザクシ
ョンのアクティブレベルを誤って検出してしまうことが
ある。各トランザクションのハンドシェイクの信号を切
り分ける意味において、Acknowledge信号を
エッジ検出し、誤動作を避ける。そのエッジ検出のため
に、1クロックパルス発生回路P11,P21が存在す
る。
【0061】この発明の対称型非同期インタフェース回
路は、以下の3つの形態で用いることができる。
【0062】第1の形態は、対称型非同期インタフェー
ス回路を外付けしたものであり、その例を図4、図5に
示す。図4は、データパスがある場合の外付け対称型非
同期インタフェース回路であり、図5は、データパスが
ない場合の外付け対称型非同期インタフェース回路であ
る。
【0063】第2の形態は、対称型非同期インタフェー
ス回路を内蔵し、4線式としたものであり、その例を図
6、図7に示す。図6は、データパスがある場合の内蔵
4線式の対称型非同期インタフェース回路であり、図7
は、データパスがない場合の内蔵4線式の対称型非同期
インタフェース回路である。
【0064】第3の形態は、対称型非同期インタフェー
ス回路を内蔵し、3線式としたものであり、その例を図
8、図9に示す。図8は、データパスがある場合の内蔵
3線式の対称型非同期インタフェース回路であり、図9
は、データパスがない場合の内蔵3線式の対称型非同期
インタフェース回路である。
【0065】図4〜図9において、装置1,2は、半導
体装置、LSI/IC、LSI内のマイクロモジュール
を指す。
【0066】次に、この発明の対称型非同期インタフェ
ース回路が、従来手法2の回路に遅延回路およびパルス
発生回路を追加した理由、および従来手法2よりもオー
バヘッド時間が小さく、また誤動作が起こらない理由を
説明する。
【0067】上述した従来手法2の問題点を考察する
と、従来手法2では、トランザクション量が多い、すな
わち切り替えが頻繁に起こる場合にオーバヘッド時間が
大きいという問題があった。
【0068】切り替えが頻繁に起こるのは、転送データ
バンド幅が大きく、データ量が多くても1クロックで多
くのデータを転送できる場合、および転送データ量が少
なく、データバンド幅が小さくても短いクロック期間で
必要なデータ転送を完了できる場合である。
【0069】オーバヘッド時間の要因の1つは、非同期
信号の同期化時間であり、同期化回路は必須なので、削
除することはできない。しかし、もう1つのオーバヘッ
ド時間の要因である、動作を保証するためのアイドルサ
イクル時間(Ready信号の通信中には相手側の次の
Ready信号を出してはいけない)を削減できるので
はないか、というのがこの発明をする動機となったもの
である。
【0070】単純にアイドルサイクルを除去すると、処
理が終了した時点でいつでも制限無くReady信号を
出力することができ(ステートマシン設計時に考慮すべ
きことが減る)、制御切り替え時のオーバヘッド時間を
削減することができるが(処理の高速化)、Ready
(装置n)−Acknowledge(装置n)、Re
ady(装置1)−Ready(装置2)の二重ハンド
シェイクのオーバラップが原因となって、誤動作を起こ
す。
【0071】以下、誤動作の要因を詳細に説明する。 (1)第1の誤動作 ReadyのActive期間を規定するハンドシェイ
ク(Ready−Acknowlege)は、同期化の
ための最小マージンしか考慮していない。Readyを
受信側が受ける前に、送信側でReady−Ackno
wlegeハンドシェイクが完了し、ReadyをIn
activeにすることがある。この場合、受信側が参
照しなければいけない状態の時、すでにInactiv
eに変化してしまっていることがある(二重ハンドシェ
イクの弊害)。 (2)第2の誤動作 AcknowlegeのActive期間を配慮してい
ないので、2つのトランザクションの信号がオーバラッ
プすることがある。Ready信号を出す時点で、前回
のトランザクションのAcknowlege信号が、ま
だActiveのままの状態である場合がある。その場
合、今回に必要なReadyのActive期間を確保
できず、Ready信号が相手先で受けることができな
いことがある(同期化に必要なマージンを得られな
い)。
【0072】次に、従来手法2の制御部FSM1,FS
M2からアイドルステートST14,ST24を除いた
場合の第1の誤動作を説明する。図10は、従来手法2
からアイドルステートST14,ST24を除いた場合
の実施例を示す回路構成図であり、図11は、DFFを
2つ使用する同期化回路を示す図である。前段は、クロ
ックの立ち下がりエッジで同期し、後段はクロックの立
ち上がりエッジで同期する。同期化回路で信号を2段の
DFFで切り直すことにより、切り直したクロック系の
回路において同期信号として使用することができる。つ
まり、非同期の信号という意識なしに、通常の同期設計
ができる。
【0073】DFFのsetup−hold時間内でデ
ータ入力信号を変化させないのが同期設計の基本的な考
え方であるが、非同期では変化する場合がある。DFF
入力信号が変化した場合、DFF出力信号は、以下の特
徴を有する。
【0074】グリッチ(ノイズ)が出ることがある。
0,1のどちらになるか保証がない(確率的である)。
グリッチ信号は、ある時間(メタステーブル時間とい
う)後に0もしくは1に収束する。値の収束は、0、1
のどちらになるか保証がない。上位設計では、収束が確
率的であると見なす。グリッチ信号は、DFFを2段使
用することで除くことができる。グリッチ信号は、同期
回路設計では考慮しないため、もしグリッチ信号が発生
した場合には、同期設計上での遅延見積もりができな
い。
【0075】以下、データパスを伴う構成を想定して第
1の誤動作を説明する。実施例の回路は、1づつインク
リメントを1回の制御権で2回行う回路である。
【0076】図12は、装置1データパスの回路構成図
であり、図13は、装置2データパスの回路構成図であ
る。図14は、装置1制御部の状態遷移および回路構成
を示す図であり、図15、装置2制御部の状態遷移およ
び回路構成を示す図である。図16は、周波数比fCK1
/fCK2 =1/3、Duty比50%の場合のタイミン
グチャートである。
【0077】装置1から装置2に制御権が譲渡される流
れを実線矢印で示し、装置2から装置1に制御権が譲渡
される流れを点線矢印で示す。
【0078】1.十分なリセット期間後(初期状態)、
装置1の装置1制御部FSM1の初期ステートはST1
0となり、データバスのレジスタRG11は0となる。
【0079】2.装置2の装置2制御部FSM2の初期
ステートはST22となり、データバスのレジスタRG
21は0となる。
【0080】3.クロック1(CK1)にて、カウント
レジスタRG11の値に対し、1をインクリメントし、
そのデータをカウントレジスタRG11に挿入する。
【0081】4.次の状態ST13に遷移する。
【0082】5.クロック2(CK1)にて、3と同様
にカウントレジスタRG11の値に対し、1をインクリ
メントし、そのデータをカウントレジスタRG11に戻
す。この時点で、装置1側の処理は終了する。
【0083】6.装置1が終了した(準備ができた)旨
を相手先の装置2に知らせるための状態ST11に遷移
する。
【0084】7.クロック3(CK1)にて、状態ST
11に遷移することによって、装置1の準備ができたこ
とを示すRD11がActive(1)になる。
【0085】8.クロック7(CK2)にて、同期化回
路SY11のDFF(DF111)によって、7のAc
tive信号を立ち下がりエッジでラッチする(出力R
D14を得る)。
【0086】9.クロック8(CK2)にて、8での信
号を再度立ち上がりエッジでラッチし直す(DF112
によって、出力RD12を得る)。
【0087】10.装置1が準備できたという意味のA
ctive信号が伝搬されたので、装置2側の処理が開
始できる状態となる。
【0088】11.クロック4(CK1)にて、同期化
回路SY12のDFF(DF121)によって、9の信
号のActive信号を立ち下がりエッジでラッチする
(出力AC14を得る)。
【0089】12.クロック5(CK1)にて、11で
の信号を再度立ち上がりエッジでラッチし直す(DF1
22によって、出力AC12を得る)。
【0090】13.AC12は、7で出力したRD11
のActive信号が、装置2で同期化されたことを確
認するための信号である。これを受け取り、装置1の装
置1制御部FSM1は、状態ST11から装置2の完了
を待つ状態であるST12遷移する。
【0091】14.クロック6(CK1)にて、装置2
の準備完了の信号RD22がActive(1)になる
までST12の状態で待つ。
【0092】15.クロック8(CK2)にて、装置2
が装置1のデータD1を読み込む。データD1は、クロ
ック3(CK1)以降では、データに変化はなく、安定
した状態にあるため、正常な値を得ることができる。
【0093】16.15のデータD1に対し、1をイン
クリメントし、それをカウントレジスタRG21にデー
タ挿入する。
【0094】17.次の状態としてST23に遷移す
る。
【0095】18.クロック9(CK2)にて、カウン
トレジスタRG21の値に対し、1をインクリメント
し、そのデータをカウントレジスタRG21に戻す。こ
の時点で、装置2側の処理は終了する。
【0096】19.装置2が終了した(準備ができた)
旨を装置1に戻すための状態ST21に遷移する。
【0097】20.クロック10(CK2)にて、ST
21に遷移することによって、装置2の準備ができたこ
とを示すRD21がActive(1)になる。
【0098】21.クロック4(CK1)にて、同期化
回路SY21のDFF(DF211)によって、20の
Active信号を立ち下がりエッジでラッチする(出
力RD24を得る)。
【0099】22.クロック5(CK1)にて、21で
の信号を再度立ち上がりエッジでラッチし直す(DF2
12によって、出力RD22を得る)。
【0100】23.装置2が準備できたという意味のA
ctive信号が伝搬されたので、装置1側の処理が開
始できる状態となる。しかし、13に示す装置1のRe
ady信号RD11のReady−Acknowleg
eハンドシェイクが完了していないため、この時点では
装置1の次の処理を開始することができない。実際に処
理が開始されるのは次のクロックに持ち越される。持ち
越されるのは最悪でも1クロックである。なぜならば、
(AC11(=RD12)のActive信号出力時
刻)<(RD21のActive信号出力時刻)である
ので、(AC11の同期化時刻)≦(RD21の同期化
時刻)、つまり(AC12のActive信号出力時
刻)≦(RD22のActive信号出力時刻)という
関係が成り立つからである。
【0101】24.クロック12(CK2)にて、22
の信号変化は、クロック12(CK2)の立ち下がりエ
ッジにおける、同期化回路SY22のDFF(DF22
1)のsetup−hold時間内で起こる。DF22
1の出力値は確率的に決まるが、この場合、信号変化を
正常に認識し、1に収束したとする。
【0102】25.24の信号は、収束するまでの時間
を伴うため、同期回路で使用できるように、再度立ち上
がりエッジでラッチし直す(DF222によって、出力
AC22を得る)。
【0103】26.AC22は、20で出力したRD2
1のActive信号が、装置1で同期化されたことを
確認するための信号である。これを受け取り、装置2の
装置2制御部FSM2は、状態ST21から装置1の完
了を再び待つ状態であるST22遷移する。
【0104】27.クロック14(CK2)にて、装置
1の準備完了の信号RD12がActive(1)にな
るまでST22の状態で待つ。
【0105】28.ST22に遷移することによって、
20でActiveにした信号をInactive
(0)にする。
【0106】29.クロック5(CK1)にて、28の
信号変化は、クロック5(CK1)の立ち下がりエッジ
における、同期化回路SY21のDFF(DF211)
のsetup−hold時間内で起こる。DF211の
出力値は確率的に決まるが、この場合、信号変化を正常
に認識し、1に収束したとする。
【0107】30.クロック6(CK1)にて、29の
信号は、収束するまでの時間を伴うため、同期回路で使
用できるように、再度立ち上がりエッジでラッチし直す
(DF212によって、出力RD22を得る)。
【0108】31.クロック6の状態は、装置1が装置
2の準備完了を待つ状態である。しかし、準備完了を通
知する信号は、クロック5でActiveになったにも
関わらず、クロック6ではInactiveになってし
まっている。しがたって、装置1および装置2ともに相
手の終了を待つ状態となり、デッドロック状態に陥る。
このようなことは、ある周波数関係によって起こり得
る。これは、23のように、非同期信号のAcknow
lege信号とReady信号を受信する際、(Ack
nowlege(=AC12)信号の到着時刻)=(R
eady(=RD22)信号の到着時刻)の場合があ
り、ステートマシンが相手側のReady信号を認識す
るために1クロック持ち越すことがあるためである。し
たがって、二重ハンドシェイクの動作保証をするために
は、従来手法2のように、それぞれのハンドシェイクに
オーバラップが起こらないようにする方法と採ることが
1つの解決方法である。
【0109】次に、従来手法2の制御部FSM1,FS
M2からアイドルステートST14,ST24を除いた
場合の第2の誤動作を説明する。図17は、周波数比f
CK1/fCK2 =1/1、位相差θCK2 −θCK1 =π、D
uty比50%の場合のタイミングチャートである。
【0110】1.十分なリセット期間後(初期状態)、
装置1の装置1制御部FSM1の初期ステートはST1
0となり、データバスのレジスタRG11は0となる。
【0111】2.装置2の装置2制御部FSM2の初期
ステートはST22となり、データバスのレジスタRG
21は0となる。
【0112】3.クロック1(CK1)にて、カウント
レジスタRG11の値に対し、1をインクリメントし、
そのデータをカウントレジスタRG11に挿入する。
【0113】4.次の状態ST13に遷移する。
【0114】5.クロック2(CK1)にて、3と同様
にカウントレジスタRG11の値に対し、1をインクリ
メントし、そのデータをカウントレジスタRG11に戻
す。この時点で、装置1側の処理は終了する。
【0115】6.装置1が終了した(準備ができた)旨
を相手先の装置2に知らせるための状態ST11に遷移
する。
【0116】7.クロック3(CK1)にて、状態ST
11に遷移することによって、装置1の準備ができたこ
とを示すRD11がActive(1)になる。
【0117】8.クロック2(CK2)にて、7の信号
変化は、クロック2(CK2)の立ち下がりエッジにお
ける同期化回路SY11のDFF(DF111)のse
tup−hold時間内で起こる。DF111の出力値
は、確率的に決まるが、この場合、信号変化を正常に認
識し、1に収束したとする。
【0118】9.クロック3(CK2)にて、8の信号
は、収束するまでの時間を伴うため、同期回路で使用で
きるように、再度立ち上がりエッジでラッチし直す(D
F112によって、出力RD12を得る)。
【0119】10.装置1が準備できたという意味のA
ctive信号が伝搬されたので、装置2側の処理が開
始できる状態となる。
【0120】11.クロック4(CK1)にて、同期化
回路SY12のDFF(DF121)によって、9の信
号のActive信号を立ち下がりエッジでラッチする
(出力AC14を得る)。
【0121】12.クロック5(CK1)にて、11で
の信号を再度立ち上がりエッジでラッチし直す(DF1
22によって、出力AC12を得る)。
【0122】13.AC12は、7で出力したRD11
のActive信号が、装置2で同期化されたことを確
認するための信号である。これを受け取り、装置1の装
置1制御部FSM1は、状態ST11から装置2の完了
を待つ状態であるST12遷移する。
【0123】14.クロック6(CK1)にて、装置2
の準備完了の信号RD22がActive(1)になる
までST12の状態で待つ。
【0124】15.クロック3(CK2)にて、装置2
が装置1のデータD1を読み込む。データD1は、クロ
ック3(CK1)以降では、データに変化はなく、安定
した状態にあるため、正常な値を得ることができる。
【0125】16.15のデータD1に対し、1をイン
クリメントし、それをカウントレジスタRG21にデー
タ挿入する。
【0126】17.次の状態としてST23に遷移す
る。
【0127】18.クロック4(CK2)にて、カウン
トレジスタRG21の値に対し、1をインクリメント
し、そのデータをカウントレジスタRG21に戻す。こ
の時点で、装置2側の処理は終了する。
【0128】19.装置2が終了した(準備ができた)
旨を装置1に戻すための状態ST21に遷移する。
【0129】20.クロック5(CK2)にて、ST2
1に遷移することによって、装置2の準備ができたこと
を示すRD21がActive(1)になる。
【0130】21.クロック5(CK1)にて、20の
信号変化は、クロック5(CK1)の立ち下がりエッジ
における同期化回路SY21のDFF(DF211)の
setup−hold時間内で起こる。DF211の出
力値は、確率的に決まるが、この場合、信号変化を正常
に認識し、1に収束したとする。
【0131】22.クロック6(CK1)にて、21の
信号は、収束するまでの時間を伴うため、同期回路で使
用できるように、再度立ち上がりエッジでラッチし直す
(DF212によって、出力RD22を得る)。
【0132】23.装置2が準備できたという意味のA
ctive信号が伝搬されたので、装置1側の処理が開
始できる状態となる。
【0133】24.クロック6(CK2)にて、同期化
回路SY22のDFF(DF221)によって、22の
Active信号を立ち下がりでラッチする(AC2
4)。
【0134】25.24の信号を再度立ち上がりエッジ
でラッチし直す(DF222によって、出力AC22を
得る)。
【0135】26.AC22は、20で出力したRD2
1のActive信号が、装置1で同期化されたことを
確認するための信号である。これを受け取り、装置2の
装置2制御部FSM2は、状態ST21から装置1の完
了を再び待つ状態であるST22遷移する。
【0136】27.クロック8(CK2)にて、装置1
の準備完了の信号RD12がActive(1)になる
までST22の状態で待つ。
【0137】28.クロック6(CK1)にて、装置1
が装置2のデータD2を読み込む。データD2は、クロ
ック5(CK2)以降では、データに変化はなく、安定
した状態にあるため、正常な値を得ることができる。
【0138】29.28のデータD2に対し、1をイン
クリメントし、それをカウントレジスタRG11にデー
タ挿入する。
【0139】30.次の状態としてST13に遷移す
る。
【0140】31.クロック7(CK1)にて、カウン
トレジスタRG11の値に対し、1をインクリメント
し、そのデータをカウントレジスタRG11に戻す。こ
の時点で、装置1側の処理は終了する。
【0141】32.装置1が再び(2回目の処理を)終
了した(準備ができた)旨を装置2に戻すための状態S
T11に遷移する。
【0142】33.クロック8(CK1)にて、ST1
1に遷移することによって、装置1の2回目の準備がで
きたことを示すRD11がActive(1)になる。
【0143】34.クロック7(CK2)にて、33の
信号変化は、クロック7(CK2)の立ち下がりエッジ
における同期化回路SY11のDFF(DF111)の
setup−hold時間内で起こる。DF111の出
力値は、確率的に決まるが、この場合、信号変化を正常
に認識できず、0に収束したとする。信号が1に変化す
ることは1クロック後に持ち越される。
【0144】35.クロック8(CK1)では、1回目
のRD11をInactive(0)にするためのAc
knowledge信号AC12が、まだActive
(1)のままである。よって、33でActiveにな
った2回目のRD11を意に反しInactiveにし
ようとしてST12に遷移し、本来のハンドシェイクが
正常に動作しない。1回目のAC12がInactiv
e(0)になるのはクロック9である。
【0145】1回目のAC12がInactiveにな
るまでの流れを破線矢印で示す。
【0146】クロック5(CK2)では、1回目のRD
11のActive信号がInactive(0)にな
る14の信号変化が、クロック5(CK2)の立ち下が
りエッジにおける、同期化回路SY11のDFF(DF
111)のsetup−hold時間内で起こる。DF
111の出力値は、確率的に決まるが、この場合、0へ
の信号変化を正常に認識できず、1に収束したとする。
信号が0に変化することは1クロック後に持ち越され
る。
【0147】クロック6(CK2)では、クロック5
(CK2)において認識できなかった14の0への信号
変化を、DF111の立ち下がりエッジでラッチする
(RD14)。
【0148】クロック7(CK2)では、上の信号を再
度立ち上がりエッジでラッチし直す(DFF112によ
って、出力RD12(=Inactive(0))を得
る)。
【0149】クロック8(CK1)では、上の信号の0
への信号変化を、同期化回路SY12のDFF(DF1
21)の立ち下がりエッジでラッチする(AC14)。
【0150】クロック9(CK1)では、上の信号を再
度立ち上がりエッジでラッチし直す(DFF122によ
って、出力AC12(=Inactive(0))を得
る)。
【0151】36.クロック9(CK1)にて、状態が
ST12に遷移することによって、RD11がInac
tive(0)となる。
【0152】37.装置1は、装置2の準備完了の信号
RD22が再びActiveになるまでST12の状態
で待つ。
【0153】38.クロック8(CK2)にて、クロッ
ク8の立ち下がりエッジにおける同期化回路SY11の
DFF(DF111)が、本来、この時点において、3
4で持ち越されたRD11の1への信号変化を同期化す
べきである。しかし、すでに36においてRD11は、
0へ信号が変化してしまっており、信号変化が同期化す
るDF111のsetup−hold時間内であるた
め、この出力として0へ収束する場合がある。したがっ
て、RD11がActive(1)に変化したことを全
く認識できない場合が起こり得る。その場合結果的に、
装置1および装置2とも相手のReady信号を待つ状
態となる、デッドロック状態に陥ってしまう。これは、
二重のハンドシェイク信号がオーバラップすることで、
同期化回路の認識によっては高速処理が可能となり、各
トランザクションごとのハンドシェイク信号までもがオ
ーバラップしてしまう現象である。これを回避する1解
法としても従来手法2ある。
【0154】上述した第1の誤動作は、Acknowl
edge信号の返信を遅延させることで解決することが
できる。図18は、従来手法2の回路からST14,S
T24を除いた回路に1クロック遅延回路DL11,D
L21を挿入した回路構成図であり、図19は、遅延回
路の回路構成図であり、図20は、周波数比fCK1 /f
CK2 =1/3、Duty比50%の場合のタイミングチ
ャートであり、図21は、周波数比fCK1 /fCK2 =1
/1、位相差θCK2 −θCK1 =π、Duty比50%の
場合のタイミングチャートであり、図22は、周波数比
CK1 /fCK2=1/1、位相差θCK2 −θCK1 =π、
Duty比50%であって、第2の誤動作が起こる場合
のタイミングチャートである。
【0155】図20、図21は、第1の誤動作が起こら
ず、装置1制御部FSM1がRD22を正常に認識する
例を示しており、上述の第1の誤動作の説明において正
常に動作する場合であるので、動作説明は省略する。
【0156】しかし、第1の誤動作と第2の誤動作は独
立な現象である。依然として第2の誤動作の要因は残っ
たままである。
【0157】第2の誤動作は、Acknowledge
信号の最初の1クロックだけを使用することで解決する
ことができる。図23は、従来手法2の回路からST1
4,ST24を除いた回路に1クロックパルス発生回路
P11,P21を挿入した回路構成図であり、図24
は、パルス発生回路の回路構成図である。図25は、周
波数比fCK1 /fCK2 =1/1、位相差θCK2 −θCK1
=π、Duty比50%の場合のタイミングチャートで
あり、図26は、周波数比fCK1 /fCK2 =2/3、D
uty比50%の場合のタイミングチャートであり、図
27は、周波数比fCK1 /fCK2 =1/3、Duty比
50%であって、第1の誤動作が起こる場合のタイミン
グチャートである。
【0158】図25、図26は、第2の誤動作が起こら
ず、2回目のReady信号が2回目のAcknowl
edge信号を認識し、正常なActive期間を確保
した例を示しており、上述の第2の誤動作の説明におい
て正常に動作する場合であるので、動作説明は省略す
る。
【0159】しかし、第1の誤動作と第2の誤動作は独
立な現象である。1クロックパルス発生回路P11,P
21を挿入しただけの回路では、依然として第1の誤動
作の要因は残ったままである。
【0160】次に、遅延回路およびパルス発生回路のみ
であって、同期化回路がない場合の動作について考察す
る。図28は、同期化回路がない場合の回路構成図であ
り、図29は、周波数比fCK1 /fCK2 =2/3、Du
ty比50%の場合のタイミングチャートである。装置
1のReady信号がActive(1)になるまで
は、これまでと同様である。
【0161】1.初期状態では、装置1の装置1制御部
FSM1の初期ステートはST10となり、データバス
のレジスタRG11は0となる。
【0162】2.装置2の装置2制御部FSM2の初期
ステートはST22となり、データバスのレジスタRG
21は0となる。
【0163】3.クロック1(CK1)にて、カウント
レジスタRG11の値に対し、1をインクリメントし、
そのデータをカウントレジスタRG11に挿入する。
【0164】4.次の状態ST13に遷移する。
【0165】5.クロック2(CK1)にて、3と同様
にカウントレジスタRG11の値に対し、1をインクリ
メントし、そのデータをカウントレジスタRG11に戻
す。この時点で、装置1側の処理は終了する。
【0166】6.装置1が終了した(準備ができた)旨
を相手先の装置2に知らせるための状態ST11に遷移
する。
【0167】7.クロック3(CK1)にて、状態ST
11に遷移することによって、装置1の準備ができたこ
とを示すRD11がActive(1)になる。
【0168】8.クロック4(CK2)にて、FSM2
は、同期化されない信号RD11を直接参照するため
に、状態レジスタSR21,SR22,SR23やカウ
ントレジスタRG21などのDFFは、setup−h
old時間内で信号変化が起こる可能性がある。この例
では、信号変化7がsetup−hold時間内で起こ
るとする。その場合、収束する値は何になるか分からな
いため、FSM2は、状態コードとして割り付けられて
いない状態へ陥ってしまうことがある(unknown
として示した。例えば”000”)。そうすると、正し
く状態遷移ができないので、装置2は、回路として機能
しない。また、収束する値として偶然にそのときの状態
コードと一致しても、同期設計上考慮しないグリッチ信
号があり、値が収束するまでの時間のため、遅延保証が
できず、次の状態に正しく遷移できるとは限らない。カ
ウントレジスタの値も同様に収束する値に保証はない
(undefinedとして示した)。
【0169】9.8と同様に、FSM1に返信するAc
knowledge信号は、遅延回路DL11のDFF
(DF131)について、setup−hold時間内
で信号変化が起こる可能性がある。この場合、グリッチ
信号が発生する場合がある。
【0170】10.クロック3(CK1)にて、9で発
生したグリッチ信号は、パルス発生回路SY11にその
まま入力される。
【0171】11.クロック5(CK2)にて、7でA
ctiveに変化した信号が、遅延回路DL11のDF
F(DF131)でラッチされる。
【0172】12.クロック3(CK1)にて、11で
変化した信号も、パルス発生回路SY11にそのまま入
力される。
【0173】13.10と12のような、グリッチ信号
および装置2のクロックに同期した信号は、装置1同期
回路では、設計上考慮できない信号である。したがっ
て、次の状態の遷移を求める論理回路の遅延次第では、
次状態に正しく遷移できる保証は全くない。この例で
は、正しく遷移できるように示したが、仮に正しく遷移
したとしても、それは回路として正しいハンドシェイク
ができたわけではない。
【0174】上述のように、同期化回路がないと、周波
数関係に依存がない大半の場合において、誤動作を引き
起こす可能性が大きい。
【0175】図1は、この発明の実施例の回路構成図で
あり、従来手法2の回路からST14,ST24を除い
た回路に1クロック遅延回路DL11,DL21と、パ
ルス発生回路P11,P21を付加した回路構成図であ
る。1クロック遅延回路DL11,DL21と、パルス
発生回路P11,P21とを付加することにより、第1
の誤動作および第2の誤動作を解決することができる。
図2は、周波数比fCK 1 /fCK2 =2/3、Duty比
50%の場合のタイミングチャートであり、図3は、周
波数比fCK1 /fCK2 =1/1、位相差θCK2 −θCK1
=π、Duty比50%の場合のタイミングチャートで
ある。以下に、図2について、データパスを伴う構成を
想定して動作を説明する。
【0176】1.十分なリセット期間後(初期状態)、
装置1制御部FSM1の初期ステートはST10とな
り、データパスのレジスタRG11は0となる。
【0177】2.装置2制御部FSM2の初期ステート
はST22となり、データバスのレジスタRG21は0
となる。
【0178】3.クロック1(CK1)にて、カウント
レジスタRG11の値に対し、1をインクリメントし、
そのデータをカウントレジスタRG11に挿入する。
【0179】4.次の状態ST13に遷移する。
【0180】5.クロック2(CK1)にて、3と同様
にカウントレジスタRG11の値に対し、1をインクリ
メントし、そのデータをカウントレジスタRG11に戻
す。この時点で、装置1側の処理は終了する。
【0181】6.装置1が終了した(準備ができた)旨
を相手先の装置2に知らせるために状態ST11に遷移
する。
【0182】7.クロック3(CK1)にて、状態ST
11に遷移することによって、装置1の準備ができたこ
とを示すRD11がActive(1)になる。
【0183】8.クロック4(CK2)にて、同期化回
路SY11のDFF(DF111)によって、7のAc
tive信号を立ち下がりエッジでラッチする(出力R
D14を得る)。
【0184】9.クロック5(CK2)にて、8での信
号を再度立ち上がりエッジでラッチし直す(DF112
によって、出力RD12を得る)。
【0185】10.装置1が準備できたという意味のA
ctive信号が伝搬されたので、装置2側の処理が開
始できる状態となる。
【0186】11.クロック6(CK2)にて、9での
信号を遅延回路DL11によって、1クロック遅延させ
てラッチする。
【0187】12.クロック4(CK1)にて、同期化
回路SY12のDFF(DF121)によって、11の
信号を立ち下がりエッジでラッチする(出力AC14を
得る)。
【0188】13.クロック5(CK1)にて、12で
の信号を再度立ち上がりエッジでラッチし直す(DF1
22によって、出力AC13を得る)。
【0189】14.13での信号により、パルス発生回
路P11により1クロックパルスであるAC12を得
る。
【0190】15.AC12は、7で出力したRD11
のActive信号が、装置2で同期化されたことを確
認するための信号である。これを受け取り、装置1の装
置1制御部FSM1は、状態ST11から装置2の完了
を待つ状態であるST12遷移する。
【0191】16.クロック6(CK1)にて、ST1
2に遷移する。
【0192】17.クロック5(CK2)にて、装置2
は装置1のデータD1を読み込む。
【0193】18.17のデータD1に対し、1をイン
クリメントし、それをカウントレジスタRG21にデー
タ挿入する。
【0194】19.次の状態としてST23に遷移す
る。
【0195】20.クロック6(CK2)にて、カウン
トレジスタRG21の値に対し、1をインクリメント
し、そのデータをカウントレジスタRG21に戻す。こ
の時点で、装置2側の処理は終了する。
【0196】21.装置2が終了した(準備ができた)
旨を装置1に戻すための状態ST21に遷移することが
できる。
【0197】22.クロック7(CK2)にて、ST2
1に遷移することによって、装置2が準備できたことを
示すRD21がActive(1)になる。
【0198】23.クロック5(CK1)にて、同期化
回路SY21のDFF(DF211)によって、22の
Active信号を立ち下がりエッジでラッチする(出
力RD24を得る)。
【0199】24.クロック5(CK1)にて、23の
信号を再度立ち上がりエッジでラッチし直す(DF21
2によって、出力RD22を得る)。RD22によりR
D21の信号を装置1の同期回路で使用することができ
る。
【0200】25.装置2が準備できたという意味のA
ctive信号が伝搬されたので、装置1側の処理が開
始できる状態となる。装置1は、ここで初めて装置2か
ら制御権が移ったことを知る。
【0201】以下同様に、装置1と装置2の制御権の切
り替えを交互に行い、カウントレジスタの値をインクリ
メントする。図3についても図2の実施例と同様の動作
をするため、説明を省略する。
【0202】なお、ST12→ST11およびST22
→ST21へ遷移するためには、必ず1つ以上の状態
(ST13,ST23)がなければならない。なぜな
ら、(AC11のActive信号出力時刻)<(RD
21のActive信号出力時刻)ならば(AC11同
期化時刻)≦(RD21の同期化時刻)、(AC21の
Active信号出力時刻)<(RD11のActiv
e信号出力時刻)ならば(AC21同期化時刻)≦(R
D11の同期化時刻)という関係を前提にした回路であ
り、ST13,ST23がなければ、(AC11のAc
tive信号出力時刻)=(RD21のActive信
号出力時刻)、(AC21のActive信号出力時
刻)=(RD11のActive信号出力時刻)となっ
てしまい、上述の前提が崩れてしまうためである。どう
してもST12→ST11およびST22→ST21の
遷移が起こる場合は、ダミーステート(アイドルステー
トのように何もしないステート)を挿入する。
【0203】上述の実施例から従来手法2とこの発明の
オーバヘッドは、以下の式から求められる。
【0204】 T_active : 装置1、装置2の実稼働する時間 T_all : 装置1、装置2のハンドシェイクを含め
たすべての時間(サンプリング時間) この式より従来手法2のタイミングチャート図34のオ
ーバヘッドを、クロックCK2のクロック周期時間を単
位時間として求めると、(23−10)/2357%で
ある。
【0205】同様に、図34のタイミングチャートと同
じ条件における、この発明のタイミングチャート図2の
オーバヘッドは、(23−15)/23 35%とな
る。
【0206】これより、57%−35%=22%のオー
バヘッドの削減が実現できたことが分かる。
【0207】別の条件下における、オーバヘッドの比較
を、図35(従来手法2)および図3(この発明)につ
いて行うと、65%−39%=29%のオーバヘッドの
削減が実現できたことが分かる。
【0208】上の結果から、この発明は、20%以上の
オーバヘッドが削減できる可能性を持つ。
【0209】
【発明の効果】以上説明したように、この発明は、動的
に制御信号のアクティブ期間を設定し、全てのクロック
周波数において一定のオーバヘッド時間で制御可能であ
る。また、2つのステートマシンに入力するクロック周
波数および位相に対する制約が緩く(理想的にはな
い)、非同期インタフェースとして汎用的に利用できる
ため再利用性が高い。さらに、2装置間のデータバンド
幅が広い(十分なFIFO(バッファ)を持つ)、もし
くは1トランザクションのデータ転送量が少ない場合、
2装置の制御切り替えが頻繁に起こるが、その際に、時
間的なオーバヘッドが非常に小さい。また、記憶素子の
構成要素にDFFのみを使用することで、既存の同期系
設計ツール(特に論理合成ツール)を利用した設計が容
易である。
【図面の簡単な説明】
【図1】この発明の対称型非同期インタフェース回路の
実施の形態を示す回路構成図である。
【図2】この発明の対称型非同期インタフェース回路の
周波数比fCK1 /fCK2 =2/3、Duty比50%の
場合のタイミングチャートである。
【図3】この発明の対称型非同期インタフェース回路の
周波数比fCK1 /fCK2 =1/1、位相差θCK2 −θ
CK1 =π、Duty比50%の場合のタイミングチャー
トである。
【図4】データパスがある場合の外付け対称型非同期イ
ンタフェース回路である。
【図5】データパスがない場合の外付け対称型非同期イ
ンタフェース回路である。
【図6】データパスがある場合の内蔵4線式の対称型非
同期インタフェース回路である。
【図7】データパスがない場合の内蔵4線式の対称型非
同期インタフェース回路である。
【図8】データパスがある場合の内蔵3線式の対称型非
同期インタフェース回路である。
【図9】データパスがない場合の内蔵3線式の対称型非
同期インタフェース回路である。
【図10】従来手法2からアイドルステートST14,
ST24を除いた場合の回路構成図である。
【図11】同期化回路の回路構成図である。
【図12】装置1データパスの回路構成図である。
【図13】装置2データパスの回路構成図である。
【図14】装置1制御部の状態遷移および回路構成を示
す図である。
【図15】装置2制御部の状態遷移および回路構成を示
す図である。
【図16】周波数比fCK1 /fCK2 =1/3、Duty
比50%であって、第1の誤動作が起こる場合のタイミ
ングチャートである。
【図17】周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%であって、第2の
誤動作が起こる場合のタイミングチャートである。
【図18】従来手法2の回路からST14,ST24を
除いた回路に1クロック遅延回路を挿入した回路構成図
である。
【図19】遅延回路の回路構成図である。
【図20】周波数比fCK1 /fCK2 =1/3、Duty
比50%の場合のタイミングチャートである。
【図21】周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%の場合のタイミン
グチャートである。
【図22】周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%であって、第2の
誤動作が起こる場合のタイミングチャートである。
【図23】従来手法2の回路からST14,ST24を
除いた回路に1クロックパルス発生回路を挿入した回路
構成図である。
【図24】パルス発生回路の回路構成図である。
【図25】周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%の場合のタイミン
グチャートである。
【図26】周波数比fCK1 /fCK2 =2/3、Duty
比50%の場合のタイミングチャートである。
【図27】周波数比fCK1 /fCK2 =1/3、Duty
比50%であって、第1の誤動作が起こる場合のタイミ
ングチャートである。
【図28】同期化回路がない場合の回路構成図である。
【図29】周波数比fCK1 /fCK2 =2/3、Duty
比50%の場合のタイミングチャートである。
【図30】従来手法1の概念図および周波数比率とオー
バヘッド時間比率との関係を表す図である。
【図31】従来手法1の回路構成図である。
【図32】従来手法2の概念図および周波数比率とオー
バヘッド時間比率との関係を表す図である。
【図33】従来手法2の回路構成図である。
【図34】周波数比fCK1 /fCK2 =2/3、Duty
比50%の場合のタイミングチャートである。
【図35】周波数比fCK1 /fCK2 =1/1、位相差θ
CK2 −θCK1 =π、Duty比50%の場合のタイミン
グチャートである。
【符号の説明】
FSM1 装置1制御部 FSM2 装置2制御部 SY11,SY12,SY21,SY22 同期化回路 DL11,DL21 遅延回路 P11,P21 パルス発生回路 SR11,SR21 状態レジスタ RD11,RD12,RD21,RD22 Ready
信号 AC11,AC12,AC21,AC22 Ackno
wledge信号 ST11,ST12,ST13,ST21,ST22,
ST23 ステート CK1,CK2 クロック信号 RG11,RG21 カウントレジスタ CG1,CG2 クロック生成器 ASIF 対称型非同期インタフェース回路 ASIF1 対称型非同期インタフェース回路(CK1
系) ASIF2 対称型非同期インタフェース回路(CK2
系)
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/38 - 13/42 350 G06F 15/16 - 15/16 645

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】互いに非同期で動作する第1の装置および
    第2の装置と、第1の装置および第2の装置間に用いら
    れるインタフェース回路とを備える非同期インタフェー
    スシステムにおいて、 前記インタフェース回路は、 第1の装置の制御部から出力された、演算、またはデー
    タの準備のいずれかの基本動作が終了したことを表すR
    eady信号を入力して第2の装置側のクロックに同期
    化して第2の装置に出力する第1の同期化回路と、 第2の装置側から出力された、前記Ready信号が受
    けられたかを回答、もしくはReady信号をインアク
    ティブにすることを要求するAcknowledge信
    号を遅延させる第1の遅延回路と、 第1の遅延回路から出力されたAcknowledge
    信号を第1の装置側のクロックに同期化する第2の同期
    化回路と、 第2の同期化回路から出力されたAcknowledg
    e信号を入力して第1の装置に1クロックパルスのAc
    knowledge信号を出力する第1のパルス発生回
    路と、 第2の装置の制御部から出力されたReady信号を入
    力して第1の装置側のクロックに同期化して第1の装置
    に出力する第3の同期化回路と、 第1の装置側から出力されたAcknowledge信
    号を遅延させる第2の遅延回路と、 第2の遅延回路から出力されたAcknowledge
    信号を第2の装置側のクロックに同期化する第4の同期
    化回路と、 第4の同期化回路から出力されたAcknowledg
    e信号を入力して第2の装置に1クロックパルスのAc
    knowledge信号を出力する第2のパルス発生回
    路とを備え、 前記第1の装置および第2の装置は、前記1クロックパ
    ルスのAcknowledge信号をエッジ検出するこ
    とを特徴とする非同期インタフェースシステム。
  2. 【請求項2】互いに非同期で動作する第1の装置および
    第2の装置と、第1の装置および第2の装置間に用いら
    れるインタフェース回路とを備える非同期インタフェー
    スシステムにおいて、 前記インタフェース回路は、 第1の装置の制御部から出力された、演算、またはデー
    タの準備のいずれかの基本動作が終了したことを表すR
    eady信号を入力して第2の装置側のクロックに同期
    化して第2の装置に出力する第1の同期化回路と、 第2の装置側から出力された、前記Ready信号が受
    けられたかを回答、もしくはReady信号をインアク
    ティブにすることを要求するAcknowledge信
    号を第1の装置側のクロックに同期化する第2の同期化
    回路と、 第2の同期化回路から出力されたAcknowledg
    e信号を入力して第1の装置に1クロックパルスのAc
    knowledge信号を出力する第1のパルス発生回
    路と、 第2の装置の制御部から出力されたReady信号を入
    力して第1の装置側のクロックに同期化して第1の装置
    に出力する第3の同期化回路と、 第1の装置側から出力されたAcknowledge信
    号を第2の装置側のクロックに同期化する第4の同期化
    回路と、 第4の同期化回路から出力されたAcknowledg
    e信号を入力して第2の装置に1クロックパルスのAc
    knowledge信号を出力する第2のパルス発生回
    路とを備え、 前記第1の装置および第2の装置は、前記1クロックパ
    ルスのAcknowledge信号をエッジ検出するこ
    とを特徴とする非同期インタフェースシステム。
  3. 【請求項3】前記第1の装置および第2の装置がデータ
    パスを備えることを特徴とする請求項1または2に記載
    の非同期インタフェースシステム。
  4. 【請求項4】前記インタフェース回路は、前記第1の装
    置および第2の装置に外付けで用いられることを特徴と
    する請求項1〜3のいずれかに記載の非同期インタフェ
    ースシステム。
  5. 【請求項5】前記インタフェース回路は、前記第1の装
    置または第2の装置に内蔵されることを特徴とする請求
    項1〜3のいずれかに記載の非同期インタフェースシス
    テム。
  6. 【請求項6】前記第1のパルス発生回路と、第2の同期
    化回路と、第3の同期化回路と、第2の遅延回路とが前
    記第1の装置に内蔵され、第2のパルス発生回路と、第
    1の同期化回路と、第4の同期化回路と、第1の遅延回
    路とが前記第2の装置に内蔵されることを特徴とする請
    求項1〜3のいずれかに記載の非同期インタフェースシ
    ステム。
  7. 【請求項7】前記第1の装置の制御部または第2の装置
    の制御部のうち少なくともいずれか一方がアイドルステ
    ート状態を有しないことを特徴とする請求項1〜6のい
    ずれかに記載の非同期インタフェースシステム。
  8. 【請求項8】前記第1および第2の遅延回路の遅延時間
    が、少なくとも1クロックであることを特徴とする請求
    項1〜7のいずれかに記載の非同期インタフェースシス
    テム。
  9. 【請求項9】前記第1の遅延回路の遅延時間が、第2の
    装置の制御部内での処理が終了したことを知らせる状態
    から相手の処理が終了するのを待つ状態までの遷移時間
    に等しく、前記第2の遅延回路の遅延時間が、第1の装
    置の制御部内での処理が終了したことを知らせる状態か
    ら相手の処理が終了するのを待つ状態までの遷移時間に
    等しいことを特徴とする請求項1〜7のいずれかに記載
    の非同期インタフェースシステム。
  10. 【請求項10】互いに非同期で動作する2装置の間をイ
    ンタフェースする非同期インタフェースシステムにおい
    て、 一方の装置から出力された、演算、またはデータの準備
    のいずれかの基本動作が終了したことを表すReady
    信号を他方の装置側のクロックに同期化させて他方の装
    置に入力させる第1の同期化回路と、 他方の装置側から出力された、前記Ready信号が受
    けられたかを回答、もしくはReady信号をインアク
    ティブにすることを要求するAcknowledge信
    号を遅延させる遅延回路と、 遅延されたAcknowledge信号を一方の装置側
    のクロックに同期化させる第2の同期化回路と、 同期化されたAcknowledge信号を1クロック
    パルスを変換して一方の装置に入力させるパルス発生回
    路とを備え、 前記2装置は、前記1クロックパルスのAcknowl
    edge信号をエッジ検出することを特徴とする非同期
    インタフェースシステム。
JP21579698A 1998-07-30 1998-07-30 非同期インタフェースシステム Expired - Fee Related JP3161420B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP21579698A JP3161420B2 (ja) 1998-07-30 1998-07-30 非同期インタフェースシステム
US09/362,759 US6295300B1 (en) 1998-07-30 1999-07-28 Circuit and method for symmetric asynchronous interface
EP99114272A EP0986208A3 (en) 1998-07-30 1999-07-29 Circuit and method for symmetric asynchronous interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21579698A JP3161420B2 (ja) 1998-07-30 1998-07-30 非同期インタフェースシステム

Publications (2)

Publication Number Publication Date
JP2000047978A JP2000047978A (ja) 2000-02-18
JP3161420B2 true JP3161420B2 (ja) 2001-04-25

Family

ID=16678396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21579698A Expired - Fee Related JP3161420B2 (ja) 1998-07-30 1998-07-30 非同期インタフェースシステム

Country Status (3)

Country Link
US (1) US6295300B1 (ja)
EP (1) EP0986208A3 (ja)
JP (1) JP3161420B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014914A (ja) 2000-06-29 2002-01-18 Toshiba Corp 機能ブロック
EP1249122A1 (en) * 2000-12-28 2002-10-16 Koninklijke Philips Electronics N.V. Method for synchronisation of two devices or apparatus connected to a telephone line
DE10303673A1 (de) * 2003-01-24 2004-08-12 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Asynchrone Hüllschaltung für eine global asynchrone, lokal synchrone (GALS) Schaltung
US7619449B2 (en) * 2007-06-07 2009-11-17 Micron Technology, Inc. Method and apparatus for synchronous clock distribution to a plurality of destinations
US9223960B1 (en) * 2014-07-31 2015-12-29 Winbond Electronics Corporation State-machine clock tampering detection

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4390969A (en) * 1980-04-21 1983-06-28 Burroughs Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
US4727370A (en) * 1985-12-17 1988-02-23 Ampex Corporation Method and system for synchronous handshake generation
US5276807A (en) * 1987-04-13 1994-01-04 Emulex Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
JPH0690228B2 (ja) 1987-09-28 1994-11-14 株式会社東芝 サージ電圧測定装置
US5070443A (en) * 1989-09-11 1991-12-03 Sun Microsystems, Inc. Apparatus for write handshake in high-speed asynchronous bus interface
EP0428770B1 (de) 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Datengesteuerter Arrayprozessor
JPH0433043A (ja) 1990-05-24 1992-02-04 Mita Ind Co Ltd アダプタ
JP3176757B2 (ja) 1993-04-28 2001-06-18 キヤノン株式会社 静電荷像現像用トナーの製造方法
US5602878A (en) * 1994-09-23 1997-02-11 Intel Corporation Method of delivering stable data across an asynchronous interface
US5694586A (en) * 1995-05-02 1997-12-02 Apple Computer, Inc. Controller using time-domain filter connected to a signal line to control a time at which signal line is sampled for receipt of information transfer signal
US5638015A (en) * 1995-06-21 1997-06-10 Unisys Corporation Avoiding instability
JPH1069458A (ja) 1996-08-29 1998-03-10 Canon Inc インタフェース装置

Also Published As

Publication number Publication date
EP0986208A3 (en) 2004-03-17
US6295300B1 (en) 2001-09-25
JP2000047978A (ja) 2000-02-18
EP0986208A2 (en) 2000-03-15

Similar Documents

Publication Publication Date Title
EP0977109A1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US5535377A (en) Method and apparatus for low latency synchronization of signals having different clock speeds
JP2863771B2 (ja) 同期直列インターフェイスの再同期化方法及び回路
JP3580242B2 (ja) シリアル/パラレル変換回路、データ転送制御装置及び電子機器
US6949955B2 (en) Synchronizing signals between clock domains
JP3457459B2 (ja) 外部クロック周波数で送られるデータを内部クロック周波数と同期させる方法及び倍数クロック変換器
WO2008001285A1 (en) Asynchronous data fifo that provides uninterrupted data flow
CN100419673C (zh) 流水线同步设备以及相应的方法
JP3161420B2 (ja) 非同期インタフェースシステム
US6087867A (en) Transaction control circuit for synchronizing transactions across asynchronous clock domains
JP3616468B2 (ja) データ同期システム
EP1995660A1 (en) Method and system for full-duplex mesochronous communications and corresponding computer program product
Mekie et al. Interface design for rationally clocked GALS systems
JP4290412B2 (ja) データ転送装置
JP3604637B2 (ja) 非同期転送装置および非同期転送方法
EP1188108B1 (en) Two clock domain pulse to pulse synchronizer
JPH11331137A (ja) 信号同期装置
EP1242897B1 (en) Method and apparatus for differential strobing in a communications bus
JP3580763B2 (ja) データ送受信装置
CN114189323B (zh) 通讯时钟复位信号处理电路及方法
JP3424777B2 (ja) 信号処理装置
JP2596336B2 (ja) 非同期ディジタル通信装置
JP3037174B2 (ja) シリアルデータ伝送装置及びシリアルデータ伝送方法
CN115296649A (zh) 一种脉冲信号捕捉电路及方法
CN118277309A (zh) Dma电路和电子设备

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees