JP3852437B2 - 同期・非同期インターフェース回路及び電子機器 - Google Patents

同期・非同期インターフェース回路及び電子機器 Download PDF

Info

Publication number
JP3852437B2
JP3852437B2 JP2003389190A JP2003389190A JP3852437B2 JP 3852437 B2 JP3852437 B2 JP 3852437B2 JP 2003389190 A JP2003389190 A JP 2003389190A JP 2003389190 A JP2003389190 A JP 2003389190A JP 3852437 B2 JP3852437 B2 JP 3852437B2
Authority
JP
Japan
Prior art keywords
circuit
synchronous
asynchronous
signal
bus
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
JP2003389190A
Other languages
English (en)
Other versions
JP2005151412A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003389190A priority Critical patent/JP3852437B2/ja
Priority to US10/969,000 priority patent/US7395450B2/en
Publication of JP2005151412A publication Critical patent/JP2005151412A/ja
Application granted granted Critical
Publication of JP3852437B2 publication Critical patent/JP3852437B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Description

本発明はグローバル・クロックに同期して駆動される同期回路に非同期回路を接続するための技術に関し、特に、同期回路と非同期回路を接続するインターフェース回路及び電子機器に関する。
同期回路設計においては、クロック周期以内に次の遷移状態に安定することが最低条件である。即ち、クリティカル・パスにおいて、順序回路のスイッチング・ディレイと組み合わせ回路のセットアップ・タイムの合計が定格電圧及び温度条件においてクロック周期よりも十分に小さくなければならない。これは、非同期回路ブロックを同期回路全体系の回路部品として組み込む場合も同様の最低条件が適用される。非同期回路ブロックの応答遅延がこの条件を満たせない場合は、非同期回路ブロックの設計をやり直すか、又はグローバル・クロックの周波数を低くする必要があった。尚、上述の背景については米国特許第5,063,536号公報においても言及されている。
米国特許第5,063,536号公報
しかし、非同期回路ブロックの再設計によって上述の最低条件を満たすことは困難な場合が多い。また、グローバル・クロックの周波数を低くすることにより上述の最低条件を満たすことは出来ても、同期回路全体系のスループットが低下するという新たな問題が生じる。
本発明はこのような事情に鑑みなされたものであって、同期回路全体系のスループットを低下させることなく、且つ、上述の最低条件を満たすための非同期回路ブロックの再設計を必要とせずに、非同期回路ブロックを同期回路全体系の回路部品として組み込むための同期・非同期インターフェース回路及び電子機器を提案することを課題とする。
上記の課題を解決するため、本発明の同期・非同期インターフェース回路は、同期回路と非同期回路との間のインターフェース制御を行うための同期・非同期インターフェース回路であって、同期回路と非同期回路の間で行われるアクセス・サイクルをイベントドリブン式に制御する有限ステートマシンと、アクセス・サイクルの開始を検出する検出回路を備える。有限ステートマシンは、非同期回路とのインターフェースにおいては、非同期回路とのハンドシェイクを通じて状態遷移することによりアクセス・サイクルを制御する一方で、同期回路とのインターフェースにおいては、同期回路から供給されるグローバル・クロックに同期して状態遷移を行うことによりアクセス・サイクルを制御する。かかる構成によれば、非同期回路は同期回路とのインターフェースにおいて同期回路として動作するため、同期回路全体系のスループットを低下させることなく、非同期回路を同期回路全体系の回路部品として組み込むことができる。
アクセス・サイクルの開始を検出する検出回路としては、同期回路から供給されるグローバル・クロックを微分する微分回路と、微分回路から出力されるグローバル・クロックの立ち上がりエッジ信号又は立下りエッジ信号の論理状態が変化した時点において、アクセス・サイクルを開始する制御信号をラッチするスルー・ラッチ回路を備えた構成が望ましい。アクセス・サイクルの開始タイミングはグローバル・クロックとは無関係に生じえるため、アクセス・サイクルが開始されるタイミングがグローバル・クロックの論理状態が変化するタイミングと競合した場合でも、メタ・ステーブルな状態から速やかにステーブルな状態に遷移することができる。
本発明の同期・非同期インターフェース回路は、非同期回路から同期回路へ出力されるアドレス信号をラッチするアドレス・ラッチ回路と、非同期回路から同期回路へ出力されるデータ信号をラッチするデータ・ラッチ回路を更に備え、アドレス・ラッチ回路にてラッチされたアドレス信号、及びデータ・ラッチ回路にてラッチされたデータ信号の同期回路への出力タイミングは有限ステートマシンによってグローバル・クロックに同期したタイミングに制御される構成とするのが望ましい。かかる構成により、非同期回路から同期回路へ出力されるアドレス信号及びデータ信号の出力タイミングをグローバル・クロックに同期させることが可能となる。
また、アクセス・サイクルの開始を検出する検出回路を構成するスルー・ラッチ回路としては、レーシングフリーに構成されているのが望ましい。スルー・ラッチ回路をレーシングフリーに構成することで、有限ステートマシンの状態遷移を安定化できる。
本発明の電子機器は上述した同期・非同期インターフェース回路を備えている。かかる構成により、同期・非同期インターフェース回路の特徴を活かした高品位な電子機器を提供できる。
本発明によれば、非同期回路は同期回路とのインターフェースにおいて同期回路として動作することができるため、同期回路全体系のスループットを低下させることなく、非同期回路を同期回路全体系の回路部品として組み込むことができる。
以下、各図を参照して本発明の好適な実施形態について説明する。
図1は本実施形態の同期・非同期インターフェース回路の全体構成図である。同期・非同期インターフェース回路20は非同期CPU10と同期バス30の間に在って両者を接続し、同期バス30から見た場合に、非同期CPU10を同期CPU40に見せるための回路である。同期・非同期インターフェース回路20はその挙動において二面性を有し、一方では、同期バス30との接点においてグローバル・クロック信号(CLK信号)によって駆動される同期回路部品として動作する。同期・非同期インターフェース回路20は、非同期CPU10とのハンドシェイキングによって遷移する内部ステートに関わらず、上述の最低条件を満足する。同期バス30との接続に関わる同期・非同期インターフェース回路20の内部ステートはグローバル・クロックに同期して遷移するが、この内部ステートを保持するスルー・ラッチ回路をレーシングフリーに構成することで、グローバル・クロックとは全く非同期な非同期CPU10とのハンドシェイキングのタイミングと、グローバル・クロックのタイミングが競合しても、メタ・ステーブルな状態から速やかにステーブルな状態に安定することができる。他方、非同期CPU10との接点においては、同期・非同期インターフェース回路20はグローバル・クロックから開放された非同期有限ステートマシンとして動作し、非同期CPU10とのハンドシェイキングによって状態遷移する。
尚、本明細書において「同期回路」とは、システムの中央制御用のグローバル・クロックを基準に回路動作をすることを目的として設計された回路をいう。上述した同期バス30と同期CPU40はそれぞれ同期回路に含まれる。一方、「非同期回路」とは、グローバル・クロックを用いないで各々の最小機能回路(プロセス)が自律的に又は他律的に局所的な協調をとりながら分散制御を行うことを目的として設計された回路をいう。非同期回路においては、最小機能回路はイベント駆動によって制御され、自律的に動作する必要があると判断した場合と、他律的に動作する必要があると判断した場合にのみ動作する。つまり、各々の最小機能回路は他の最小機能回路とは独立して並列動作が可能であり、他の最小機能回路の処理が完了するまで処理待ちする必要がない。最小機能回路は所望の処理を実行する準備が完了した段階で処理を進めることができる。上述した非同期CPU10は非同期回路に含まれる。
図2は同期CPU40と同期バス30の入出力信号を示し、図3は非同期CPU10と同期・非同期インターフェース20の入出力信号を示している。本明細書において「X_信号」と標記した場合、X_信号はLow Active 信号を意味する。図4は同期・非同期インターフェース回路20が演じる同期CPU40のバス・サイクルを示している。図4に示すように同期CPU40のバス・サイクルはS1→S2→S3→S4の4つのステートから成り、各々のステートはPK信号及びPL信号によってエンコードされる。例えば、PK=0,PL=0のときにS1、PK=1,PL=0のときにS2、PK=1,PL=1のときにS3、PK=0,PL=1のときにS4に遷移する。ここでは、説明の便宜上、WAIT_信号を省略したが、同期CPU40が低速デバイスにアクセスするときは、図5に示すように、ステートS3におけるCLK信号の立ち上がりでWAIT_信号をセンスし、WAIT_=0ならば、ステートS3の期間をさらに1クロック分延長する。ここでは4ステートから成るバス・サイクルを例示するが、本発明はこれに限られるものではない。また、本実施形態では非同期CPUと周辺デバイスの間で交わされるアクセス・サイクルとしてバス・サイクルを例示するが、これに限られるものではない。
図6は同期CPU40のバス・サイクルの状態遷移を示している。同期CPU40が同期バス30にアクセスせずにCPU内部で内部サイクルを実行しているときは、バス・サイクルは実行されず、ステートS1の状態を維持する(PK=PL=0)。同期CPU40が同期バス30にアクセスすることにより、バス・サイクルが開始されると、半クロック後にはステートS2に移行し(PK=1,PL=0)、さらに半クロック後にはステートS3に移行する(PK=PL=1)。ステートS3ではCLK信号の立ち上がりでWAIT_信号をチェックし、WAIT_=0である場合には、更に1クロック分、ステートS3の期間が延長される。CLK信号の立ち上がりでWAIT_=1である場合には、ステートS3からステートS4に移行し(PK=0,PL=1)、更に半クロック後にはステートS1に再帰する(PK=PL=0)。このように、同期CPU40はCLK信号の立ち上がり又は立下りに同期したタイミングでバス・サイクルを実行することで、同期バス30へのアクセスを実行する。
図7及び図8は非同期CPU10が同期・非同期インターフェース回路20を仲介しないで周辺デバイス50との間でリード・サイクルを実行するときのハンドシェイキングを示している。非同期CPU10のリード・サイクルは、アドレス・バスa15-00上に時刻t1のタイミングでアドレス信号を出力した後、時刻t2のタイミングでrd_信号をActive Lowにセットすることにより開始される。一方、周辺デバイス50のリード・サイクルはrd_信号がActiveLowとなるのを待って開始される。周辺デバイス50はアドレス指定された番地の内容(データ)を時刻t3のタイミングでデータ・バスd7-0上に出力し、更に、時刻t4のタイミングでack_信号をActive Lowとする。非同期CPU10はack_信号がActiveLowに遷移したことを受けて、所望のデータがデータ・バスd7-0上に出力されていることを検出し、これを内部レジスタに取り込む。非同期CPU10は内部レジスタへのデータの書き込みが完了した段階で時刻t5のタイミングでrd_信号をNegativeHighにセットし、リード・サイクルの終結を宣言する。周辺デバイス50はこれを受けて、時刻t6のタイミングでack_信号をNegativeHighにセットし、リード・サイクル終結宣言を確認する。非同期CPU10はack_信号がNegativeHighとなるのを待って、時刻t7のタイミングでアドレス・バスa15-00へのアドレスデータの出力を取り止めて、リード・サイクルを完結する。このように、非同期CPU10と周辺デバイス50のリード・サイクルはrd_信号とack_信号による4相ハンドシェイキングによって実現される。
図9及び図10は非同期CPU10が同期・非同期インターフェース回路20を仲介しないで周辺デバイス50との間でライト・サイクルを実行するときのハンドシェイキングを示している。非同期CPU10のライト・サイクルは、アドレス・バスa15-00上に時刻t1のタイミングでアドレス信号を出力した後、同時刻から若干遅れた時刻t2のタイミングでデータ・バスd7-0上にデータを出力した上で、時刻t3のタイミングでwr_信号をActive Lowにセットすることにより開始される。一方、周辺デバイス50は非同期CPU10からの書き込み要請を受けて指定アドレス(a15-00)に指定データ(d7-0)を書き込み、時刻t4のタイミングでack_信号をActive Lowとする。非同期CPU10はack_信号がActiveLowに遷移したことを受けて、ライト・サイクルの終結を宣言するために時刻t5のタイミングでwr_信号をNegativeHighにセットし、データ・バスd7-0上へのデータ出力を取り止める。この終結宣言を受けた周辺デバイス50は時刻t6のタイミングでack_信号をNegative Highとして終結宣言を確認する。非同期CPU10はack_信号がNegative Highとなったことを受けてライト・サイクルが完結したことを検出し、時刻t7においてアドレス・バスa15-00へのアドレスデータの出力を取り止めてライト・サイクルを完結する。このように、非同期CPU10と周辺デバイス50のライト・サイクルはrd_信号とack_信号による4相ハンドシェイキングによって実現される。
図11は同期・非同期インターフェース回路20の構成図を示している。同図に示すように、同期・非同期インターフェース回路20は、主に、CLK信号を微分してCLK信号の立ち上がりエッジ信号と立下りエッジ信号の各々を生成する微分回路21と、非同期CPU10と同期バス30の間で行われるバス・サイクルをイベントドリブン式に制御する有限ステートマシン22と、非同期CPU10から同期バス30へ出力されるアドレスデータをラッチするAラッチ回路(アドレス・ラッチ回路)23と、非同期CPU10と同期バス30相互間で入出力されるデータをラッチするDラッチ回路(データ・ラッチ回路)24を備えて構成されている。有限ステートマシン22は非同期CPU10と同期バス30の間で交わされるバス制御信号、アドレス信号、及びデータ信号の入出力タイミングをバス・サイクルに従ってイベントドリブン式に制御するイベント・ドリブン・システムである。有限ステートマシン22は非同期CPU10とのインターフェースにおいては、非同期CPU10とのハンドシェイクを通じて非同期に状態遷移することによりバス・サイクルを制御する一方で、同期バス30とのインターフェースにおいては、同期バス30から供給されるグローバル・クロックに同期して状態遷移を行うことによりバス・サイクルを制御する。
同期・非同期インターフェース回路20は非同期CPU10にとっては周辺デバイスとして動作する必要があるため、非同期CPU10から出力されるrd_信号、又はwr_信号を周辺デバイスに替わって受け付けて、これに応答するack_信号を非同期CPU10に出力する。その一方で、同期・非同期インターフェース回路20は同期バス30に対しては同期CPU40として動作する必要があるため、非同期CPU10に替わって同期バス30にRD_信号、WR_信号、PK信号、PL信号を出力するとともに、同期バス30から出力されるWAIT_信号を非同期CPU10に替わって受け付ける。有限ステートマシン22から同期バス30に出力されるバス制御信号(RD_信号、WR_信号)及びクロック信号(PK信号、PL信号)の出力タイミングは、微分回路21から出力されるグローバル・クロックの立ち上がり信号又は立下り信号に同期している。同様に、Aラッチ回路23から同期バス30へアドレス信号が出力されるタイミングと、Dラッチ回路24から同期バス30へデータ信号が出力されるタイミングはグローバル・クロックの立ち上がり信号又は立下り信号に同期するように有限ステートマシン22によって制御される。
有限ステートマシン22の内部には、バス・サイクルの開始を検出するバス・サイクル開始検出回路(図示せず)が実装されており、非同期CPU10から出力されるrd_信号又はwr_信号がActive Lowに遷移することによりバス・サイクルの開始を検出すると、上述した状態遷移図(図6)に従って半クロック毎に状態遷移し、各々のステートに予め割り当てられた通信手順に従ってバス・サイクルを制御する。バス・サイクル開始検出回路の詳細については図19を用いて後述する。
図12は非同期CPU10が同期・非同期インターフェース回路20を仲介して周辺デバイス50との間でリード・サイクルを実行するときのハンドシェイキングを示している。非同期CPU10のリード・サイクルは、アドレス・バスa15-00上に時刻t2のタイミングでアドレスを出力した後、時刻t3のタイミングでrd_信号をActive Lowにセットすることにより開始される。時刻t2よりも時間的に先行する時刻t1のタイミングではrd_信号はNegativeHighであるため、バス・サイクルは開始されない。時刻t1から1クロック経過後の時刻t4でrd_信号をセンスすると、rd_信号はActive Lowとなっているため、有限ステートマシン22はバス・サイクルの開始を検出し、時刻t4とほぼ同時刻の時刻t5から半クロック毎にS1→S2→S3→S4と状態遷移して、バス・サイクルを実行する。これは、同期CPU40によるリード・サイクルが実行されることを意味する。Aラッチ回路23はアドレス・バスa15-00上に出力されたアドレスデータをラッチし、バス・サイクルが開始される時刻t5のタイミングでこのラッチしたアドレスデータをアドレス・バスA15-00上に出力する。これにより、同期CPU40によるリード・サイクルが開始される。次いで、半クロック後にCLK信号が立ち上がる時刻t6では、有限ステートマシン22はステートS1からステートS2に移行し、RD_信号をActiveLowにセットする。RD_信号がActive Lowに遷移したことを受けて、同期バス30に接続する周辺デバイス(図示せず)は、半クロック後にCLK信号が立ち下がる時刻t7において、アドレス指定された番地の内容(データ)データ・バスD7-0上に出力する。リード・サイクルではDラッチ回路24はデータ信号をラッチせずにそのままデータ・バスD7-0上へスルーさせる。このとき有限ステートマシン22はステートS3の状態にある。
有限ステートマシン22は半クロック後にCLK信号が立ち上がる時刻t8にWAIT_信号をセンスし、Negative Highであることを確認した上で、ステートS3からステートS4に移行する。非同期CPU10から見ると、同期・非同期インターフェース回路20は周辺デバイスとして動作する必要があるので、データ・バスd7-0上に所望のデータが出力されていることを非同期CPU10に知らせるため、時刻t8ではack_信号をActive Lowにセットする。ack_信号がActiveLowであることを検知して、非同期CPU10はデータ・バスd7-0上に出力されているデータを内部レジスタに書き込むと、rd_信号をNegative Highにセットし、リード・サイクルの終結を宣言する。これを受けて、有限ステートマシン22はRD_信号をNegativeHighにセットし、周辺デバイスにリード・サイクルの終結を宣言する。rd_信号がNegative Highにセットされると、有限ステートマシン22はack_信号をNegative Highにセットし、リード・サイクル終結宣言を確認する。非同期CPU10はack_信号がNegative Highとなるのを待って、時刻t9のタイミングでアドレス・バスa15-00へのアドレスデータの出力を取り止めて、非同期CPU10のリード・サイクルを完結する。時刻t8から半クロック後にCLK信号が立ち下がる時刻t10では同期・非同期インターフェース回路20によるアドレス・バスA15-00へのアドレスデータの出力が取り止められ、同期CPU40によるリード・サイクルが完結する。
図13は非同期CPU10が同期・非同期インターフェース回路20を仲介して周辺デバイス50との間でライト・サイクルを実行するときのハンドシェイキングを示している。非同期CPU10のライト・サイクルは、アドレス・バスa15-00上に時刻t2のタイミングでアドレスを出力し、同時刻から若干遅れた時刻t3のタイミングでデータ・バスd7-0上にデータを出力した上で、時刻t4のタイミングでwr_信号をActive Lowにセットすることにより開始される。時刻t2よりも時間的に先行する時刻t1のタイミングではwr_信号はNegative Highであるため、バス・サイクルは開始されない。時刻t1から1クロック経過後の時刻t5でwr_信号をセンスすると、wr_信号はActive Lowとなっているため、有限ステートマシン22はバス・サイクルの開始を検出し、時刻t5とほぼ同時刻の時刻t6から半クロック毎にS1→S2→S3→S4と状態遷移して、バス・サイクルを実行する。これは、同期CPU40によるライト・サイクルが実行されることを意味する。Aラッチ回路23はアドレス・バスa15-00上に出力されたアドレスデータをラッチし、このラッチしたアドレスデータをバス・サイクルが開始される時刻t6のタイミングでアドレス・バスA15-00上に出力する。これにより、同期CPU40によるライト・サイクルが開始される。次いで、半クロック後にCLK信号が立ち上がる時刻t7では有限ステートマシン22はステートS1からステートS2に移行する。Dラッチ回路24はデータ・バスd7-0上に出力されたデータをラッチし、このラッチしたデータを有限ステートマシン22がステートS1からステートS2に移行する時刻t7のタイミングでデータ・バスD7-0に出力する。次いで、半クロック後にCLK信号が立ち下がる時刻t8のタイミングで有限ステートマシン22はステートS2からステートS3に移行し、WR_信号をActiveLowにセットする。
有限ステートマシン22は半クロック後にCLK信号が立ち上がる時刻t9にWAIT_信号をセンスし、Negative Highであることを確認した上で、ステートS3からステートS4に移行する。非同期CPU10から見ると、同期・非同期インターフェース回路20は周辺デバイスとして動作する必要があるので、同期バス30に接続する周辺デバイス(図示せず)によるデータの書き込みが完了した時刻t9においてack_信号をActive Lowにセットし、データの書き込みが完了したことを非同期CPU10に知らせる。すると、非同期CPU10はwr_信号をNegative Highにセットし、ライト・サイクルの終結を宣言する。これを受けて、有限ステートマシン22はWR_信号をNegativeHighにセットし、周辺デバイスにライト・サイクルの終結を宣言する。wr_信号がNegative Highにセットされると、有限ステートマシン22はack_信号をNegative Highにセットすることで、ライト・サイクルの終結宣言を確認する。非同期CPU10はack_信号がNegative Highとなるのを待って、時刻t10のタイミングでアドレス・バスa15-00へのアドレスデータの出力を取り止めて、非同期CPU10によるライト・サイクルを完結する。時刻t9から半クロック後にCLK信号が立ち下がる時刻t11では同期・非同期インターフェース回路20によるアドレス・バスA15-00へのアドレスデータの出力が取り止められ、同期CPU40によるライト・サイクルが完結する。
このように、同期・非同期インターフェース回路20はCLK信号の立下りエッジでrd_信号又はwr_信号がActive Lowであることを検出すると、内部サイクルからバス・サイクルに移行して、同期・非同期インターフェース回路20から同期バス30に出力されるバス制御信号、データ信号、及びアドレス信号が全てCLK信号に同期するように時間調整を行っているため、非同期CPU10と同期バス30の接続を可能にしている。リード・サイクル又はライト・サイクルにおける各ステート(S1,S2,S3,S4)の通信手順は予め定められており、同期・非同期インターフェース回路20はCLK信号の立ち上がり信号又は立下り信号に同期したタイミングで上述の通信手順を実行することにより、同期バス30から見た場合に、非同期CPU10を同期CPU40に見せることができる。
図14は上述した微分回路21の接続図を、図15はその回路図を示している。図16は微分回路21によるCLK信号の微分波形を示している。同図に示すように、微分回路21はCLK信号を微分することにより、立ち上がりエッジ(ライジング・エッジ)と立下りエッジ(フォーリング・エッジ)に微小のパルス幅を有するR-Edge信号と、F-Edge信号を出力する。図17はスルー・ラッチ回路60の接続図を、図18はその回路図を示している。同図において、TG1及びTG2はそれぞれN−チャンネル、P−チャンネルのトランジスタ各1個から構成されるトランスファーゲートである。TG1はsel信号がHigh、sel_信号がLowのときに導通し、インバータINV1のゲート電位は入力信号dinとほぼ同電位になる。入力信号dinの電位は、一方ではTG1−INV1−INV3を通って出力信号qに反映され、他方ではTG1−INV1を通って出力信号q_に反映される。ここで、sel信号がLow、sel_信号がHighに遷移すると、TG1は非導通となり、TG1が導通となるので、INV1−INV2−TG2−INV1と帰還ループが構成されて、その時の出力信号qの電位がラッチ(保持)される。
図19はバス・サイクル開始検出回路25の回路構成を示している。バス・サイクル開始検出回路25は、主に、微分回路21と、スルー・ラッチ回路61,62を備えて構成されている。スルー・ラッチ回路61,62の基本的な回路は上述したスルー・ラッチ回路60と同じである。スルー・ラッチ回路61,62にはsel信号として、F-Edge信号が入力される一方、sel_信号として、インバータ71を介してF-Edge信号の反転信号が入力される。さらに、入力信号dinとして、スルー・ラッチ回路61,62にはインバータ72,73を介してrd_信号、wr_信号の反転信号が入力される。スルー・ラッチ回路61の出力信号はgo(READ CYCLE),go(READCYCLE)_である。スルー・ラッチ回路62の出力信号はgo(WRITE CYCLE),go(WRITE CYCLE)_である。
上述した有限ステーマシン22が内部サイクルからバス・サイクルに移行するには、CLK信号の立下りエッジでrd_信号又はwr_信号のActive Lowを検出する必要がある。同期バス30から同期・非同期インターフェース回路20に供給されるCLK信号と、非同期CPU10から同期・非同期インターフェース回路20に供給されるrd_信号及びwr_信号は相互に非同期であるから、微妙なタイミングが存在し得る。即ち、CLK信号が立ち下がる正にその時にrd_信号又はwr_信号がActive Lowに遷移する場合がある。F-Edge信号がHighからLowに遷移する正にその時にrd_信号又はwr_信号が変化すると、スルー・ラッチ回路61,62がラッチする信号レベルはHigh,Lowの何れでもあり得る。
図20はバス・サイクル開始検出回路25がCLK信号の立下りでrd_信号のActive Lowを検出することにより、バス・サイクルを開始するタイミングを示している。同図に示すタイミングでは、最初のCLK信号の立下りでバス・サイクルの開始に失敗し、次の立下りではバス・サイクルの開始に成功している。図中、F-Edge信号がHighからLowに遷移する正にその時にrd_信号がHighからLowに遷移する微妙なタイミングにおいては、スルー・ラッチ回路61の出力go(READ CYCLE)及びgo(READCYCLE)_に後段のゲートを駆動するだけのピークを持つ単発のグリッジが発生する場合がある。このグリッジのパルス幅は十分短くてCLK信号の立ち上がりまでには消滅してしまうため、同期・非同期インターフェース回路20の状態遷移制御には何等問題を生じない。また、このスルー・ラッチ回路61,62はレーシングが発生しないように、レーシングフリーに設計・検証されている。
このように、CLK信号の立下りでF-Edge信号によりrd_信号の反転信号をラッチしてHighならばgo(READ CYCLE)信号にHighを出力してS1(内部サイクル)からS1(バス・サイクル)に遷移する。この時、非同期CPU10からのアドレス・バス(a15-00)にはアクセスすべきアドレスが出力されているので、この時点で同期バスのアドレス信号に出力する。図20はリード・サイクルのバス・サイクル開始タイミングについて記述しているが、ライト・サイクルのバス・サイクル開始タイミングについても同様である。即ち、CLK信号の立下りでF-Edge信号によりwr_信号の反転信号をラッチしてHighならばgo(WRITECYCLE)信号にHighを出力してS1(内部サイクル)からS1(バス・サイクル)に遷移する一方で、LowならばS1(内部サイクル)の状態を維持する。
次に、CLK信号の立ち上がりでR-Edge信号によりgo(READ CYCLE)信号をラッチしてHighならばPK信号にHighを出力し、S1からS2に遷移する一方で、LowならばS1の状態を維持する。次に、CLK信号の立下りでF-Edge信号によりPK信号をラッチしてHighならばPL信号にHighを出力し、S2からS3に遷移する一方で、LowならばS2の状態を維持する。次に、CLK信号の立ち上がりでR-Edge信号によりPL信号とWAIT_信号の論理積(AND)をラッチし、HighならばPK信号にLowを出力してS3からS4に遷移する一方で、LowならばS3の状態を維持する。上述したように、S3からS4への状態遷移のタイミングはWAIT_信号により異なり、WAIT_信号がLowである限りPK信号をLowにすることはなく、S3の状態を維持する。次に、CLK信号の立下りでF-Edge信号によりPL信号をラッチしてHighならばPL信号にLowを出力し、S4からS1に状態遷移する。以上、リード・サイクルの状態遷移に関わる信号の発生を簡単に説明したが、ライト・サイクルを含めて図22に非同期CPU10と同期・非同期インターフェース回路20のSTG(SignalTransition Graph)を示す。
以上、説明したように、本実施形態の同期・非同期インターフェース回路20により、同期回路全体系のスループットを低下させることなく、かつ非同期CPU10を同期回路全体系の回路部品として組み込むことが可能となる。この場合において、非同期CPU10が上述した最低条件を満たすための再設計は不要である。更には、非同期CPU10が既に設計されていてIPとして適所に再利用する必要がある場合、本実施形態による同期・非同期インターフェース回路20を適用することで極めて短期間に結合設計と検証を行うことができる。検証性の高さについては、同期・非同期インターフェース回路20が有限ステートマシンとハンドシェイキングによって構成されていることに深く関わり、ハンドシェイキングに参画する全ての回路ブロックの入出力信号が必ずアクノリッジされることに起因する。
本発明の同期・非同期インターフェース回路は、携帯電話、ビデオカメラ、携帯型パーソナルコンピュータ(PDA)、ヘッドマウントディスプレイ、リプロジェクタ等の各種の電子機器の回路部品として、又は、システム・オン・チップ製品、システム・オン・パネル製品として様々な応用分野に適用できる。
本実施形態の同期・非同期インターフェース回路の全体構成図である。 同期CPUと同期バスの入出力信号である。 非同期CPUと同期・非同期インターフェース回路の入出力信号である。 同期CPUのバス・サイクルである。 同期CPUのバス・サイクルである。 有限ステートマシンの状態遷移図である。 リード・サイクルのハンドシェイキングを示す図である。 非同期CPUのリード・サイクルを示す図である。 ライト・サイクルのハンドシェイキングを示す図である。 非同期CPUのライト・サイクルを示す図である。 同期・非同期インターフェース回路の構成図である。 非同期CPUのリード・サイクルを示す図である。 非同期CPUのライト・サイクルを示す図である。 微分回路の接続図である。 微分回路の回路構成図である。 微分回路が出力する微分波形図である。 スルー・ラッチ回路の接続図である。 スルー・ラッチ回路の回路構成図である。 バス・サイクル検出回路の回路構成図である。 バス・サイクル開始のタイミング図である。 PK出力回路の回路構成図である。 バス・サイクルのSTGである。
符号の説明
10…非同期CPU 20…同期・非同期インターフェース回路 21…微分回路 22…有限ステートマシン 23…Aラッチ回路 24…Dラッチ回路 30…同期バス 40…同期CPU

Claims (5)

  1. 同期回路と非同期回路との間のインターフェース制御を行うための同期・非同期インターフェース回路であって、
    前記同期回路と前記非同期回路の間で行われるアクセス・サイクルをイベントドリブン式に制御する有限ステートマシンと、
    前記アクセス・サイクルの開始を検出する検出回路を備え、
    前記有限ステートマシンは、前記非同期回路とのインターフェースにおいては、前記非同期回路とのハンドシェイクを通じて状態遷移することにより前記アクセス・サイクルを制御する一方で、前記同期回路とのインターフェースにおいては、前記同期回路から供給されるグローバル・クロックに同期して状態遷移を行うことにより前記アクセス・サイクルを制御する、同期・非同期インターフェース回路。
  2. 請求項1に記載の同期・非同期インターフェース回路であって、
    前記検出回路は、前記同期回路から供給されるグローバル・クロックを微分する微分回路と、前記微分回路から出力される前記グローバル・クロックの立ち上がりエッジ信号又は立下りエッジ信号の論理状態が変化した時点において前記アクセス・サイクルを開始する制御信号をラッチするスルー・ラッチ回路を備える、同期・非同期インターフェース回路。
  3. 請求項2に記載の同期・非同期インターフェース回路であって、
    前記非同期回路から前記同期回路へ出力されるアドレス信号をラッチするアドレス・ラッチ回路と、
    前記非同期回路から前記同期回路へ出力されるデータ信号をラッチするデータ・ラッチ回路を更に備え、
    前記アドレス・ラッチ回路にてラッチされたアドレス信号、及び前記データ・ラッチ回路にてラッチされたデータ信号の前記同期回路への出力タイミングは前記有限ステートマシンによって前記グローバル・クロックに同期したタイミングに制御される、同期・非同期インターフェース回路。
  4. 請求項2又は請求項3に記載の同期・非同期インターフェース回路であって、
    前記スルー・ラッチ回路はレーシングフリーに構成されている、同期・非同期インターフェース回路。
  5. 請求項1乃至請求項4のうち何れか1項に記載の同期・非同期インターフェース回路を備えた電子機器。
JP2003389190A 2003-11-19 2003-11-19 同期・非同期インターフェース回路及び電子機器 Expired - Fee Related JP3852437B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003389190A JP3852437B2 (ja) 2003-11-19 2003-11-19 同期・非同期インターフェース回路及び電子機器
US10/969,000 US7395450B2 (en) 2003-11-19 2004-10-21 Synchronous/asynchronous interface circuit and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389190A JP3852437B2 (ja) 2003-11-19 2003-11-19 同期・非同期インターフェース回路及び電子機器

Publications (2)

Publication Number Publication Date
JP2005151412A JP2005151412A (ja) 2005-06-09
JP3852437B2 true JP3852437B2 (ja) 2006-11-29

Family

ID=34674803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389190A Expired - Fee Related JP3852437B2 (ja) 2003-11-19 2003-11-19 同期・非同期インターフェース回路及び電子機器

Country Status (2)

Country Link
US (1) US7395450B2 (ja)
JP (1) JP3852437B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646954B2 (en) * 2001-02-02 2003-11-11 Broadcom Corporation Synchronous controlled, self-timed local SRAM block
WO2005106687A1 (en) * 2004-04-28 2005-11-10 Koninklijke Philips Electronics N.V. Circuit with asynchronous/synchronous interface
US8914618B2 (en) * 2005-12-29 2014-12-16 Intel Corporation Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
EP2041872B1 (en) 2006-06-28 2018-03-14 Achronix Semiconductor Corp. Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics
US7610532B2 (en) * 2006-11-01 2009-10-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Serializer/de-serializer bus controller interface
JP5030698B2 (ja) * 2007-07-24 2012-09-19 株式会社リコー 半導体装置及びノイズ低減方法
TWI407744B (zh) * 2008-02-04 2013-09-01 Realtek Semiconductor Corp 網路信號處理裝置
US7900078B1 (en) * 2009-09-14 2011-03-01 Achronix Semiconductor Corporation Asynchronous conversion circuitry apparatus, systems, and methods
US8632948B2 (en) 2009-09-30 2014-01-21 Az Electronic Materials Usa Corp. Positive-working photoimageable bottom antireflective coating
US10289186B1 (en) * 2013-10-31 2019-05-14 Maxim Integrated Products, Inc. Systems and methods to improve energy efficiency using adaptive mode switching
US9619427B2 (en) * 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO
US20150341032A1 (en) * 2014-05-23 2015-11-26 Advanced Micro Devices, Inc. Locally asynchronous logic circuit and method therefor
US10505704B1 (en) * 2015-08-02 2019-12-10 Wave Computing, Inc. Data uploading to asynchronous circuitry using circular buffer control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063536A (en) 1988-03-11 1991-11-05 Washington State University Research Foundation, Inc. Microprogrammable asynchronous controllers for digital electronic systems
US5469547A (en) * 1992-07-17 1995-11-21 Digital Equipment Corporation Asynchronous bus interface for generating individual handshake signal for each data transfer based on associated propagation delay within a transaction
US5961626A (en) * 1997-10-10 1999-10-05 Motorola, Inc. Method and processing interface for transferring data between host systems and a packetized processing system
US6029253A (en) * 1997-10-30 2000-02-22 Micron Electronics, Inc. Method for synchronizing data with a bi-directional buffer
US6000037A (en) * 1997-12-23 1999-12-07 Lsi Logic Corporation Method and apparatus for synchronizing data transfer
US6145016A (en) * 1998-09-03 2000-11-07 Advanced Micro Devices, Inc. System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer
US6418494B1 (en) * 1998-10-30 2002-07-09 Cybex Computer Products Corporation Split computer architecture to separate user and processor while retaining original user interface
JP3523181B2 (ja) * 2000-11-01 2004-04-26 Necマイクロシステム株式会社 非同期バスインタフェース回路及びマイクロコンピュータ
EP1276028A1 (en) * 2001-07-09 2003-01-15 Telefonaktiebolaget L M Ericsson (Publ) Status indication detection device and method
US6950959B2 (en) * 2002-02-12 2005-09-27 Fulcrum Microystems Inc. Techniques for facilitating conversion between asynchronous and synchronous domains
US7134035B2 (en) * 2003-05-30 2006-11-07 Sun Mircosystems, Inc. Method for generating a synchronization signal based on the clock ratio between two clock domains for data transfer between the domains

Also Published As

Publication number Publication date
JP2005151412A (ja) 2005-06-09
US20050135424A1 (en) 2005-06-23
US7395450B2 (en) 2008-07-01

Similar Documents

Publication Publication Date Title
JP3852437B2 (ja) 同期・非同期インターフェース回路及び電子機器
US7586337B2 (en) Circuit for switching between two clock signals independently of the frequency of the clock signals
US6989695B2 (en) Apparatus and method for reducing power consumption by a data synchronizer
US8493108B2 (en) Synchronizer with high reliability
KR100498473B1 (ko) 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로
JP6200503B2 (ja) 遅延ロック・ループを使用するメモリ・デバイスのための省電力の装置及び方法
JP2007048022A (ja) 非同期バスインタフェース及びその処理方法
JP5191218B2 (ja) メモリ制御回路
JP2008250841A (ja) インタフェース回路
JPWO2006087806A1 (ja) クロック生成装置、クロック生成方法、クロック生成プログラム、動作検証装置、動作検証方法及び動作検証プログラム
JP2000165208A (ja) フリップフロップ
JPH1185304A (ja) クロック入力制御回路
JP4114749B2 (ja) メモリ制御装置および電子装置
US10742216B1 (en) Clock domain crossing for an interface between logic circuits
Herlev et al. Open core protocol (OCP) clock domain crossing interfaces
JP2000112561A (ja) クロック信号生成回路
JPH04142109A (ja) 遅延回路
JP2005293482A (ja) クロック制御装置とその制御方法
JPH08249275A (ja) Lsi間における高速データ転送方法
JP2013127396A (ja) スキャンフリップフロップおよび半導体集積回路装置
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP5041402B2 (ja) インタフェース回路および電子機器
JP2010146352A (ja) メモリアクセス制御回路とメモリアクセス制御方法
KR20050037660A (ko) 에스디램 엑세스를 위한 데이터 인터페이스장치
JP2007281642A (ja) 半導体集積回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060811

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: 20060815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060828

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: 20090915

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110915

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130915

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees