JP4758311B2 - 非同期データ保持回路 - Google Patents

非同期データ保持回路 Download PDF

Info

Publication number
JP4758311B2
JP4758311B2 JP2006249601A JP2006249601A JP4758311B2 JP 4758311 B2 JP4758311 B2 JP 4758311B2 JP 2006249601 A JP2006249601 A JP 2006249601A JP 2006249601 A JP2006249601 A JP 2006249601A JP 4758311 B2 JP4758311 B2 JP 4758311B2
Authority
JP
Japan
Prior art keywords
enable signal
clock
output
data
flip
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.)
Active
Application number
JP2006249601A
Other languages
English (en)
Other versions
JP2008071151A (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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2006249601A priority Critical patent/JP4758311B2/ja
Priority to US11/889,860 priority patent/US7937607B2/en
Publication of JP2008071151A publication Critical patent/JP2008071151A/ja
Application granted granted Critical
Publication of JP4758311B2 publication Critical patent/JP4758311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Description

本発明は、非同期データ保持回路に係り、特に、出力側のクロックと同期したデータ信号を、入力側のクロックと同期させて保持する非同期データ保持回路に関する。
従来より、データをレジスタからレジスタに転送する場合に、クロック信号を用いて転送している。例えば、同一のクロック信号を用いてデータをレジスタからレジスタに転送する回路が知られている(特許文献1)。
また、転送元と転送先とのレジスタに、異なる周波数のクロック信号が入力されている回路においても、データ転送が行われている。この場合には、図8に示すような構成の非同期データ乗せ替え回路が一般的に用いられている。
出力側データレジスタ322は、nビットの出力側データを、出力側クロックの立ち上がりで取り込み、出力側クロックと同期させてnビットのデータを出力する。一方、Dフリップフロップ328Aは、出力側クロックの立ち上がりを使って、受け側イネーブル信号を取り込み、Dフリップフロップ328AとDフリップフロップ328Bとにより2段同期をとって、出力側クロックと同期させたイネーブル信号を、出力側データ保存レジスタ324の書き込み用のイネーブル信号として出力する。上記の出力側データレジスタ322から出力されるnビットのデータは、Dフリップフロップ328Bから出力されるイネーブル信号が1のときに、出力側データ保存レジスタ324に保存される。
そして、受け側イネーブル信号及び受け側クロックの立ち上がりを使って、Dフリップフロップ330が、受け側イネーブル信号を取り込んで、書き込み用のイネーブル信号を受け側データ保存レジスタ326に出力し、出力側データ保存レジスタ324の出力が受け側データ保存レジスタ326に保存される。
上記の回路構成において、出力側クロックの周波数が受け側クロックの周波数よりも高い場合には、図9に示すように、タイミングT1でアクティブ(=1)になった受け側イネーブル信号は、タイミングT3で出力側クロックと同期して出力側データ保存レジスタ324に出力され、nビットの出力側データは、タイミングT5、T7、T8で出力側データ保存レジスタ324に取り込まれる。その出力は、Dフリップフロップ330から出力されたイネーブル信号及び受け側クロックに応じて、タイミングT11で受け側データ保存レジスタ326に取り込まれる。このように、データ転送の際にデータを取りこぼすことがない。
一方、出力側クロックの周波数が受け側クロックの周波数よりも低い場合には、図10に示すように、タイミングT1でアクティブ(=1)になった受け側イネーブル信号は、タイミングT2で立ち下がってしまうので、出力側クロックがタイミングT3で立ち上がったときには、すでに受け側イネーブル信号はアクティブではなく、結果として出力側データ保存レジスタ324にデータが取り込まれない。
特開平11−103238号公報
上記のように、従来の非同期データ乗せ替え回路では、出力側クロックの周波数が受け側クロックの周波数よりも低速の場合には、その位相差によっては、データが受け渡されないため、データをとりこぼしてしまう、という問題がある。
本発明は、上記の問題点を解決するためになされたもので、入力側と出力側とのクロックが異なっていても、取りこぼすことなく、出力側からデータを確実に取り込んで保持することができる非同期データ保持回路を提供することを目的とする。
上記の目的を達成するために第1の発明に係る非同期データ保持回路は、入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、前記イネーブル信号を取り込み、前記入力側のクロックと周波数が異なる出力側のクロックと同期して、前記イネーブル信号の立りを取り込むと共に、前記取り込んだイネーブル信号を前記出力側のクロックと同期させて出力する出力側同期手段と、前記出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、前記出力側のクロックに応じて、出力側から出力され、かつ、前記出力側のクロックに同期したデータ信号を取り込んで保持する第1のデータ保持手段と、前記出力側同期手段から出力されたイネーブル信号を、前記入力側のクロックと同期させて出力する入力側同期手段と、前記入力側同期手段から出力されたイネーブル信号及び前記入力側のクロックに応じて、前記第1のデータ保持手段に保持されたデータ信号を取り込んで保持する第2のデータ保持手段とを含んで構成されている。
第1の発明に係る非同期データ保持回路によれば、出力側同期手段によって、入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、イネーブル信号を取り込み、出力側のクロックと同期して、イネーブル信号の立りを取り込むと共に、取り込んだイネーブル信号を出力側のクロックと同期させて出力する。そして、出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、出力側のクロックに応じて、出力側から出力されたデータ信号を第1のデータ保持手段に取り込んで保持する。
また、入力側同期手段によって、出力側同期手段から出力されたイネーブル信号を、入力側のクロックと同期させて出力し、そして、入力側同期手段から出力されたイネーブル信号及び入力側のクロックに応じて、第1のデータ保持手段に保持されたデータ信号を第2のデータ保持手段に取り込んで保持する。
このように、イネーブル信号の立ち上がりに応じて、出力側同期手段によってイネーブル信号を取り込むことにより、出力側のクロックと入力側のクロックとが異なっていても、イネーブル信号の立ち上がりを確実に取り込むことができ、また、出力側同期手段から出力されたイネーブル信号を、入力側のクロックと再び同期させて、このイネーブル信号に応じて、データ信号を取り込んで保持することにより、第1の保持手段から、安定して保持されたデータ信号を取り込むことができるため、出力側のクロックと入力側のクロックとが異なっていても、取りこぼすことなく、出力側からのデータ信号を確実に取り込んで保持することができる。
第1の発明に係る入力側同期手段を、データ端子に出力側同期手段から出力されるイネーブル信号が入力され、クロック端子に入力側のクロックが入力される第1のDフリップフロップと、データ端子に第1のDフリップフロップの出力端子が接続され、クロック端子に入力側のクロックが入力され、出力端子から入力側のクロック信号と同期させた前記イネーブル信号を出力する第2のDフリップフロップとから構成することができる。これにより、第1のDフリップフロップと第2のDフリップフロップとによって2段同期をとることにより、イネーブル信号を入力側のクロックに同期させて出力することができる。
また、第2の発明に係る非同期データ保持回路は、入力側のクロックに同期したイネーブル信号の立ち上がり及び立下りの一方に応じて、前記イネーブル信号を取り込み、出力側のクロックと同期して、前記イネーブル信号の立ち入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、前記イネーブル信号を取り込み、前記入力側のクロックと周波数が異なる出力側のクロックと同期して、前記イネーブル信号の立りを取り込むと共に、前記取り込んだイネーブル信号を前記出力側のクロックと同期させて出力する出力側同期手段と、前記出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、前記出力側のクロックに応じて、出力側から出力され、かつ、前記出力側のクロックに同期したデータ信号を取り込んで保持する第1のデータ保持手段と、前記入力側のクロックに同期したイネーブル信号を、前記入力側のクロックの所定クロック数分遅延させて出力する遅延手段と、前記遅延手段から出力されたイネーブル信号及び前記入力側のクロックに応じて、前記第1のデータ保持手段に保持されたデータ信号を取り込んで保持する第2のデータ保持手段とを含んで構成されている。
第2の発明に係る非同期データ保持回路によれば、出力側同期手段によって、入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、イネーブル信号を取り込み、出力側のクロックと同期して、イネーブル信号の立りを取り込むと共に、取り込んだイネーブル信号を出力側のクロックと同期させて出力する。そして、出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、出力側のクロックに応じて、出力側から出力されたデータ信号を第1のデータ保持手段に取り込んで保持する。
また、遅延手段によって、入力側のクロックに同期したイネーブル信号を、入力側のクロックの所定クロック数分遅延させて出力し、そして、遅延手段から出力されたイネーブル信号及び入力側のクロックに応じて、第1のデータ保持手段に保持されたデータ信号を第2のデータ保持手段に取り込んで保持する。
このように、イネーブル信号の立ち上がりに応じて、出力側同期手段によってイネーブル信号を取り込むことにより、出力側のクロックと入力側のクロックとが異なっていても、イネーブル信号の立ち上がりを確実に取り込むことができ、また、イネーブル信号を、所定クロック数分だけ遅延させて、このイネーブル信号に応じて、データ信号を取り込んで保持することにより、第1の保持手段から、安定して保持されたデータ信号を取り込むことができるため、出力側のクロックと入力側のクロックとが異なっていても、取りこぼすことなく、出力側からのデータ信号を確実に取り込んで保持することができる。
第2の発明に係る遅延手段を、所定クロック数分のDフリップフロップを接続して構成することができる。これにより、所定クロック数分のDフリップフロップで繰り返し同期をとるため、イネーブル信号を遅延させて出力することができる。
上記の発明に係る出力側同期手段を、データ端子及びセット端子にイネーブル信号が入力され、クロック端子に出力側のクロックが入力された第3のDフリップフロップと、データ端子が第3のDフリップフロップの出力端子に接続され、クロック端子に出力側のクロックが入力され、出力端子から出力側クロックと同期させたイネーブル信号を出力する第4のDフリップフロップとから構成することができる。これにより、第3のDフリップフロップのセット端子により、イネーブル信号の立ち上がり及び立下りの一方に応じて、イネーブル信号を確実に取り込み、第4のDフリップフロップにより、取り込んだイネーブル信号を出力側のクロックと同期させて出力することができる。
また、上記の発明に係る第1のデータ保持手段及び第2のデータ保持手段は、複数ビットのデータ信号を保持することができる。この構成において、第1の保持手段から、安定して保持されたデータ信号を第2の保持手段に取り込むことができるため、ビット間でデータ信号の更新タイミングがずれていても、複数ビットのデータ信号を正確に取り込むことができる。
以上説明したように、本発明の非同期データ保持回路によれば、イネーブル信号の立ち上がりに応じて、出力側同期手段によってイネーブル信号を取り込むことにより、異なるクロックであっても、イネーブル信号の立ち上がりを確実に取り込むことができ、また、第1の保持手段から、安定して保持されたデータ信号を取り込むことができるため、出力側のクロックと入力側のクロックとが異なっていても、取りこぼすことなく、出力側からのデータ信号を確実に取り込んで保持することができる、という効果が得られる。
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、半導体集積回路に設けられた非同期データ乗せ替え回路に本発明を適用した場合を例に説明する。
図1に示すように、第1の実施の形態に係る半導体集積回路10は、外部とシリアル通信を行って、外部からデータ及び通信クロック信号を受信するシリアル通信回路12と、CPU14と、CPU14の動作タイミングを規定するシステムクロック信号を生成するクロックジェネレータ16とを備えている。なお、通信クロック信号の周波数とシステムクロック信号の周波数とは異なっている。
CPU14は、シリアル通信回路12が受信したデータのうち、読み出すデータを指定するためのイネーブル信号をシリアル通信回路12に出力し、イネーブル信号に応じた受信データをシリアル通信回路12から読み出す。ここで、CPU14によって、データが読み出される場合には、通信クロック信号に同期した受信データが、シリアル通信回路12によってシステムクロック信号と同期され、CPU14によって読み出される。なお、CPU14から出力されるイネーブル信号は、システムクロックと同期している。
シリアル通信回路12は、受信データをFIFO方式で取り込む複数のバッファ17と、複数のバッファ17のうち何れかを選択するセレクタ18と、セレクタ18によって選択されたバッファの受信データを、システムクロック信号と同期させて、CPU14に乗せ替えるための非同期データ保持回路としての非同期データ乗せ替え回路20とを備えている。また、非同期データ乗せ替え回路20には、外部からの通信クロック信号、クロックジェネレータ16からのシステムクロック信号、及びCPU14からのイネーブル信号が入力されている。
次に、非同期データ乗せ替え回路20の回路構成について図2を用いて説明する。非同期データ乗せ替え回路20は、nビット幅(n>2)の受信データを記憶するためのnビット分の受信データレジスタ22と、受信データレジスタ22に記憶されたnビットの受信データを取り込んで保持するnビット分の受信データ保持レジスタ24と、受信データ保持レジスタ24に保持された受信データを取り込んで保持するnビット分のシステム側データ保持レジスタ26とを備えている。
また、非同期データ乗せ替え回路20は、入力された信号を通信クロック信号と同期させる受信側同期化部28と、入力された信号をシステムクロック信号と同期させるシステム側同期化部30とを備え、受信側同期化部28は、S端子を有する1段目のDフリップフロップ28Aと、2段目のDフリップフロップ28Bとから構成され、2段同期をとるように構成されている。また、システム側同期化部30は、1段目のDフリップフロップ30Aと、2段目のDフリップフロップ30Bとから構成され、2段同期を取るように構成されている。
受信データレジスタ22のデータ入力D端子には、受信データのデータ信号が入力され、受信データレジスタ22の出力端子であるQ端子は、受信データ保持レジスタ24のD端子に接続され、受信データ保持レジスタ24の出力端子であるQ端子は、システム側データ保持レジスタ26のD端子に接続され、また、システム側データ保持レジスタのQ端子から、リードデータが出力される。
受信側同期化部28のDフリップフロップ28AのD端子及びS端子には、イネーブル信号が入力され、Dフリップフロップ28Aの出力端子であるQ端子は、Dフリップフロップ28BのD端子に接続され、Dフリップフロップ28BのQ端子は、受信データ保持レジスタ24のE端子に接続され、また、Dフリップフロップ28BのQ端子は、システム側同期化部30のDフリップフロップ30AのD端子に接続されている。
Dフリップフロップ30Aの出力端子であるQ端子は、Dフリップフロップ30BのD端子に接続され、Dフリップフロップ30BのQ端子は、システム側データ保持レジスタ26のE端子に接続されている。
通信クロック信号は、受信データレジスタ22、受信側同期化部28のDフリップフロップ28A、28B、及び受信データ保持レジスタ24の各々のクロック端子に入力され、システムクロック信号は、システム側同期化部30のDフリップフロップ30A、30B及びシステム側データ保持レジスタ26の各々のクロック端子に入力される。
受信データレジスタ22は、通信クロック信号と同期して、受信データを取り込んで記憶し、受信データ保持レジスタ22は、受信側同期化部28から出力されるイネーブル信号及び通信クロック信号に応じて、受信データレジスタ22に記憶された受信データを取り込んで保持する。また、システム側データ保持レジスタ26は、システム側同期化部30からのイネーブル信号及びシステムクロック信号に応じて、受信データ保持レジスタ24に保持された受信データを取り込んで保持する。
また、受信側同期化部28のDフリップフロップ28Aは、S端子に入力されているイネーブル信号が立ち上がると、通信クロック信号と同期せずに、イネーブル信号をD端子から取り込んで、1にセットする。なお、イネーブル信号が立ち下がった場合には、通信クロック信号と同期して、イネーブル信号をD端子から取り込んで、0にセットする。
受信側同期化部28のDフリップフロップ28B、システム側同期化部30のDフリップフロップ30A、30Bは、一般的なDフリップフロップと同様の動作を行う。
次に、第1の実施の形態に係る半導体集積回路10の動作について説明する。
まず、半導体集積回路10が、外部からデータを受信するときに、シリアル通信回路12には、通信クロック信号と共に、受信データが入力されて、受信データがバッファ17に一時的に格納され、セレクタ18を介して非同期データ乗せ替え回路20に入力される。このとき、クロックジェネレータ16からシステムクロック信号がシリアル通信回路12の非同期データ乗せ替え回路20に入力されている。
そして、CPU14によってシリアル通信回路12の非同期データ乗せ替え回路20から受信データを読み出すときに、CPU14からイネーブル信号が非同期データ乗せ替え回路20に入力され、イネーブル信号が入力されたタイミングに応じた受信データが、CPU14によって、非同期データ乗せ替え回路20から読み出される。
このとき、非同期データ乗せ替え回路20では、以下のように動作する。まず、通信クロック信号の周波数が、システムクロック信号の周波数よりも低い場合を例に説明する。
図3に示すように、タイミングT2でイネーブル信号が立ち上がる(アクティブになる)と、Dフリップフロップ28Aは、立ち上がったイネーブル信号を非同期に取り込んで、1にセットすると共に、タイミングT4で、Dフリップフロップ28Aは、通信クロックと同期して、立ち下がったイネーブル信号を取り込む。そして、イネーブル信号は、タイミングT3で立ち下がる(ネゲートする)が、すでにDフリップフロップ28Aに立ち上がったイネーブル信号が取り込まれて、1にセットされているので、タイミングT4で、通信クロックと同期して、Dフリップフロップ28Bに立ち上がったイネーブル信号が取り込まれる。
そして、タイミングT7では、Dフリップフロップ28Bから出力されるイネーブル信号及び通信クロック信号に応じて、受信データレジスタ22から受信データ保持レジスタ24に受信データのデータ信号が取り込まれて保持される。一方、受信側同期化部28から出力されたイネーブル信号が、Dフリップフロップ30A、30Bを経由して、タイミングT7で、システム側同期化部30から出力されるイネーブル信号がアクティブ(=1)となり、タイミングT8で、システム側データ保持レジスタ26が、システム側同期化部30から出力されるイネーブル信号及びシステムクロックに応じて、受信データ保持レジスタ24から受信データのデータ信号を取り込んで保持し、リードデータとしてCPU14に受け渡される。
次に、通信クロック信号の周波数が、システムクロック信号の周波数よりも高い場合について図4を用いて説明する。
タイミングT1で、イネーブル信号が立ち上がると同時に、受信側同期化部28のDフリップフロップ28Aは、立ち上がったイネーブル信号を非同期に取り込んで、1にセットすると共に、タイミングT6で、Dフリップフロップ28Aは、通信クロックと同期して、立ち下がったイネーブル信号を取り込む。このとき、Dフリップフロップ28Aの出力は、タイミングT3、T4、T6で、順次Dフリップフロップ28Bに取り込まれ、Dフリップフロップ28Bから出力されるイネーブル信号がアクティブ(=1)になることで、受信データ保持レジスタ24は、受信データレジスタ22から順次受信データのデータ信号を取り込んで保持する。
また、受信側同期化部28のDフリップフロップ28Bから出力されるイネーブル信号が、システム側同期化部30のDフリップフロップ30A、30Bを経由して出力されるイネーブル信号が、タイミングT9でアクティブ(=1)となり、そして、タイミングT13で、システム側データ保持レジスタ26が、システム側同期化部30から出力されるイネーブル信号及びシステムクロックに応じて、受信データ保持レジスタ24から受信データのデータ信号を取り込んで保持し、CPU14にリードデータとして受け渡される。
上記のように、CPU14からのイネーブル信号の立ち上がりが受信側同期化部28によって確実に取り込まれて、受信データ保持レジスタ24に受信データが取り込まれて保持される。そして、受信側同期化部28によって通信クロック信号と同期したイネーブル信号が、システム側同期化部30によって、システムクロックと再び同期する共に、遅延してシステム側データ保持レジスタ26に取り込まれるため、受信データ保持レジスタ24に受信データが安定して保持された状態で、受信データ保持レジスタ24から受信データをシステム側データ保持レジスタ26に取り込むことができる。
そして、システム側データ保持レジスタ26に安定して取り込まれた受信データが、CPU14によって読み込まれる。
以上説明したように、第1の実施の形態に係る半導体集積回路の非同期データ乗せ替え回路によれば、イネーブル信号の立ち上がりに応じて、受信側同期化部の1段目のDフリップフロップがイネーブル信号を取り込むことにより、通信クロックとシステムクロックとが異なっていても、イネーブル信号の立ち上がりを確実に取り込むことができる。また、受信側同期化部から出力されたイネーブル信号を、システムクロックと再び同期させて、このイネーブル信号に応じて、受信データのデータ信号を受信データ保持レジスタからシステム側データ保持レジスタに取り込んで保持することにより、受信データ保持レジスタから、安定して保持された受信データのデータ信号を取り込むことができる。従って、通信クロックとシステムクロックとが異なっていても、取りこぼすことなく、受信データのデータ信号を確実に取り込んで保持することができる。
受信側同期化部の1段目のDフリップフロップのS端子により、イネーブル信号の立ち上がりに応じて、立ち上がったイネーブル信号を確実に取り込み、2段目のDフリップフロップにより、取り込んだイネーブル信号を通信クロックと同期させて出力することができる。
また、システム側同期化部では、2つのDフリップフロップと第2のDフリップフロップとによって2段同期をとることにより、受信側同期化部から出力されたイネーブル信号をシステムクロックに同期させて出力することができる。
また、各種レジスタが複数ビット分のレジスタであって、複数ビットを保持する場合であっても、受信データ保持レジスタから、安定して保持された受信データのデータ信号を取り込むことができるため、ビット間でデータ信号の更新タイミングがずれていても、複数ビットのデータ信号をシステム側データ保持レジスタに正確に取り込むことができる。
受信データの通信クロックがシステムクロックよりも低速の場合でも、CPUは受信データをシステムクロックと同期させて確実に受け取ることができる。
なお、上記の実施の形態では、非同期データ乗り換え回路を用いて、CPUが受信データを受け取る場合を例に説明したが、これに限定されるものではなく、システムクロックとは非同期に動いているカウンタから、CPUがカウンタ値を読み込む場合に、本実施の形態の非同期データ乗り換え回路を介して、システムクロックと同期したデータとしてカウンタ値を読み込むようにした構成に本発明を適用してもよい。
次に、第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成になっている部分については、同一符号を付して説明を省略する。
第2の実施の形態では、システム側データ保持レジスタに入力されるイネーブル信号が、CPUから入力されたイネーブル信号を所定クロック分遅延させたものとなっている点が第1の実施の形態と異なっている。
図5に示すように、第2の実施の形態に係る非同期データ乗り換え回路220では、受信データレジスタ22、受信データ保持レジスタ24、システム側データ保持レジスタ26、受信側同期化部28、及びCPU14からのイネーブル信号を所定クロック分遅延させて出力するためのイネーブル信号遅延部230が設けられている。
イネーブル信号遅延部230は、N段(Nは2以上の整数、例えば3段)のDフリップフロップ230A〜230Cから構成され、入力されるイネーブル信号に対して、システムクロック信号によってN段の同期をとることにより、システムクロック信号のNクロック分遅延させて、イネーブル信号を出力する。
なお、段数Nは、入力される通信クロック信号の周波数の範囲に基づいて、受信データ保持レジスタ24にデータ信号が安定して保持されるまでにかかるシステムクロックのクロック数と等しくなるようにすればよい。
Dフリップフロップ230AのD端子には、イネーブル信号が入力され、Q端子は、2段目のDフリップフロップ(図示省略)のD端子に接続されている。また、2段目のDフリップフロップのQ端子は、3段目のDフリップフロップ230CのD端子に接続され、Q端子は、システム側データ保持レジスタ26のE端子に接続されている。
なお、半導体集積回路における非同期データ乗り換え回路220以外の構成は、第1の実施の形態と同様であるため、説明を省略する。
次に、第2の実施の形態に係る非同期データ乗り換え回路220の動作について説明する。まず、通信クロック信号の周波数が、システムクロック信号の周波数よりも低い場合について図6を用いて説明する。
タイミングT2でイネーブル信号が立ち上がる(アクティブになる)と、Dフリップフロップ28Aは、非同期にイネーブル信号を取り込み、1にセットすると共に、タイミングT4で、Dフリップフロップ28Aは、通信クロックと同期して、立ち下がったイネーブル信号を取り込む。ここで、イネーブル信号は、タイミングT3で立ち下がる(ネゲートする)が、すでにDフリップフロップ28Aが、立ち上がったイネーブル信号を取り込んで、1にセットしているので、タイミングT4で、Dフリップフロップ28Bに立ち上がったイネーブル信号が取り込まれる。そして、タイミングT7では、Dフリップフロップ28Bから出力されるイネーブル信号及び通信クロックに応じて、受信データレジスタ22から受信データ保持レジスタ24に受信データのデータ信号が取り込まれて保持される。
一方、CPU14からのイネーブル信号がイネーブル信号遅延部230のDフリップフロップ230A〜230Cを経由することにより、イネーブル信号が立ち上がったタイミングT2から、システムクロック信号の3クロック分遅れたタイミングT7で、イネーブル信号遅延部230の出力であるイネーブル信号がアクティブ(=1)となり、タイミングT8で、システム側データ保持レジスタ26が、イネーブル信号遅延部230のN段目のDフリップフロップ230Cからのイネーブル信号及びシステムクロックに応じて、受信データ保持レジスタ24から受信データを取り込んで保持し、CPU14にリードデータとして受け渡される。
次に、通信クロック信号の周波数が、システムクロック信号の周波数よりも高い場合について図7を用いて説明する。
タイミングT1で、イネーブル信号が立ち上がると同時に、受信側同期化部28のDフリップフロップ28Aが、イネーブル信号を非同期に取り込み、1にセットすると共に、タイミングT6で、Dフリップフロップ28Aは、通信クロックと同期して、立ち下がったイネーブル信号を取り込む。このとき、Dフリップフロップ28Aの出力は、タイミングT3、T4、T6で、順次Dフリップフロップ28Bに取り込まれ、Dフリップフロップ28Bの出力がアクティブ(=1)になることで、受信データ保持レジスタ24は、受信側同期化部28から出力されるイネーブル信号及び通信クロックに応じて、受信データレジスタ22から順次受信データのデータ信号を取り込み、保持する。
また、CPU14からのイネーブル信号が、イネーブル信号遅延部230のDフリップフロップ230A〜230Cを経由して、イネーブル信号が立ち上がったタイミングT3から、システムクロック信号の3クロック分遅れたタイミングT13で、イネーブル信号遅延部230の出力であるイネーブル信号がアクティブ(=1)となり、タイミングT17で、システム側データ保持レジスタ26が、イネーブル信号遅延部230のN段目のDフリップフロップ230Cからのイネーブル信号及びシステムクロックに応じて、受信データ保持レジスタ24から受信データのデータ信号を取り込んで保持し、CPU14にリードデータとして受け渡される。
上記のように、CPU14からのイネーブル信号の立ち上がりが受信側同期化部28によって確実に取り込まれて、受信データ保持レジスタ24に受信データのデータ信号が保持される。そして、CPU14から入力されたイネーブル信号が、イネーブル信号遅延部230によって、所定クロック遅延してシステム側データ保持レジスタ26に入力されるため、受信データ保持レジスタ24に受信データが安定して保持された状態で、受信データのデータ信号をシステム側データ保持レジスタ26に取り込むことができる。
そして、システム側データ保持レジスタ26に安定して取り込まれた受信データが、CPU14によって読み込まれる。
以上説明したように、第2の実施の形態に係る半導体集積回路によれば、イネーブル信号の立ち上がりに応じて、受信側同期化部の1段目のDフリップフロップがイネーブル信号を取り込むことにより、通信クロックとシステムクロックとが異なっていても、イネーブル信号の立ち上がりを確実に取り込むことができる。また、イネーブル信号を、所定クロック数分だけ遅延させて、このイネーブル信号に応じて、受信データ保持レジスタからシステム側データ保持レジスタにデータ信号を取り込んで保持することにより、受信データ保持レジスタから、安定して保持された受信データのデータ信号をシステム側データ保持レジスタに取り込むことができる。従って、通信クロックとシステムクロックとが異なっていても、取りこぼすことなく、受信データのデータ信号を確実に取り込んで保持することができる。
また、所定クロック数N分のDフリップフロップでN段の同期をとるため、イネーブル信号を遅延させてシステム側データ保持レジスタに出力することができる。
本発明の第1の実施の形態に係る半導体集積回路の構成を示すブロック図である。 本発明の第1の実施の形態に係る非同期データ乗せ替え回路の構成を示す回路図である。 通信クロック信号の周波数がシステムクロック信号の周波数よりも低い場合における第1の実施の形態に係る非同期データ乗せ替え回路の動作を示すタイムチャートである。 通信クロック信号の周波数がシステムクロック信号の周波数よりも高い場合における第1の実施の形態に係る非同期データ乗せ替え回路の動作を示すタイムチャートである。 本発明の第2の実施の形態に係る非同期データ乗せ替え回路の構成を示す回路図である。 通信クロック信号の周波数がシステムクロック信号の周波数よりも低い場合における第2の実施の形態に係る非同期データ乗せ替え回路の動作を示すタイムチャートである。 通信クロック信号の周波数がシステムクロック信号の周波数よりも高い場合における第2の実施の形態に係る非同期データ乗せ替え回路の動作を示すタイムチャートである。 従来技術の非同期データ乗せ替え回路の構成を示す回路図である。 通信クロック信号の周波数がシステムクロック信号の周波数よりも低い場合における従来技術の非同期データ乗せ替え回路の動作を示すタイムチャートである。 通信クロック信号の周波数がシステムクロック信号の周波数よりも高い場合における従来技術の非同期データ乗せ替え回路の動作を示すタイムチャートである。
符号の説明
10 半導体集積回路
14 CPU
16 クロックジェネレータ
20、220 非同期データ乗せ替え回路
22 受信データレジスタ
22 受信データ保持レジスタ
24 受信データ保持レジスタ
26 システム側データ保持レジスタ
28A、28A、30A、30B、230A、230C Dフリップフロップ
28 受信側同期化部
30 システム側同期化部
230 イネーブル信号遅延部

Claims (6)

  1. 入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、前記イネーブル信号を取り込み、前記入力側のクロックと周波数が異なる出力側のクロックと同期して、前記イネーブル信号の立りを取り込むと共に、前記取り込んだイネーブル信号を前記出力側のクロックと同期させて出力する出力側同期手段と、
    前記出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、前記出力側のクロックに応じて、出力側から出力され、かつ、前記出力側のクロックに同期したデータ信号を取り込んで保持する第1のデータ保持手段と、
    前記出力側同期手段から出力されたイネーブル信号を、前記入力側のクロックと同期させて出力する入力側同期手段と、
    前記入力側同期手段から出力されたイネーブル信号及び前記入力側のクロックに応じて、前記第1のデータ保持手段に保持されたデータ信号を取り込んで保持する第2のデータ保持手段と、
    を含む非同期データ保持回路。
  2. 入力側のクロックに同期したイネーブル信号の立ち上がりに応じて、前記イネーブル信号を取り込み、前記入力側のクロックと周波数が異なる出力側のクロックと同期して、前記イネーブル信号の立りを取り込むと共に、前記取り込んだイネーブル信号を前記出力側のクロックと同期させて出力する出力側同期手段と、
    前記出力側同期手段から出力されたイネーブル信号が立ち上がっているときに、前記出力側のクロックに応じて、出力側から出力され、かつ、前記出力側のクロックに同期したデータ信号を取り込んで保持する第1のデータ保持手段と、
    前記入力側のクロックに同期したイネーブル信号を、前記入力側のクロックの所定クロック数分遅延させて出力する遅延手段と、
    前記遅延手段から出力されたイネーブル信号及び前記入力側のクロックに応じて、前記第1のデータ保持手段に保持されたデータ信号を取り込んで保持する第2のデータ保持手段と、
    を含む非同期データ保持回路。
  3. 前記入力側同期手段は、データ端子に前記出力側同期手段から出力されるイネーブル信号が入力され、クロック端子に前記入力側のクロックが入力される第1のDフリップフロップと、データ端子に前記第1のDフリップフロップの出力端子が接続され、クロック端子に前記入力側のクロックが入力され、出力端子から前記入力側のクロック信号と同期させた前記イネーブル信号を出力する第2のDフリップフロップとから構成される請求項1記載の非同期データ保持回路。
  4. 前記遅延手段は、前記所定クロック数分のDフリップフロップを接続して構成した請求項2記載の非同期データ保持回路。
  5. 前記出力側同期手段は、データ端子及びセット端子に前記イネーブル信号が入力され、クロック端子に前記出力側のクロックが入力された第3のDフリップフロップと、データ端子が前記第3のDフリップフロップの出力端子に接続され、クロック端子に前記出力側のクロックが入力され、出力端子から前記出力側クロックと同期させた前記イネーブル信号を出力する第4のDフリップフロップとから構成される請求項1〜請求項4の何れか1項記載の非同期データ保持回路。
  6. 前記第1のデータ保持手段及び前記第2のデータ保持手段は、複数ビットのデータ信号を保持する請求項1〜請求項5の何れか1項記載の非同期データ保持回路。
JP2006249601A 2006-09-14 2006-09-14 非同期データ保持回路 Active JP4758311B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006249601A JP4758311B2 (ja) 2006-09-14 2006-09-14 非同期データ保持回路
US11/889,860 US7937607B2 (en) 2006-09-14 2007-08-17 Asynchronous data holding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006249601A JP4758311B2 (ja) 2006-09-14 2006-09-14 非同期データ保持回路

Publications (2)

Publication Number Publication Date
JP2008071151A JP2008071151A (ja) 2008-03-27
JP4758311B2 true JP4758311B2 (ja) 2011-08-24

Family

ID=39190093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006249601A Active JP4758311B2 (ja) 2006-09-14 2006-09-14 非同期データ保持回路

Country Status (2)

Country Link
US (1) US7937607B2 (ja)
JP (1) JP4758311B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4998519B2 (ja) * 2009-05-29 2012-08-15 富士通株式会社 非同期インタフェース回路及び非同期データ転送方法
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9323312B2 (en) * 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
US9680459B2 (en) * 2014-12-11 2017-06-13 Intel Corporation Edge-aware synchronization of a data signal

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222407A (ja) * 2000-02-08 2001-08-17 Matsushita Electric Ind Co Ltd Fifo回路
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3222361B2 (ja) * 1995-08-15 2001-10-29 キヤノン株式会社 太陽電池モジュールの製造方法及び太陽電池モジュール
JP3825843B2 (ja) * 1996-09-12 2006-09-27 キヤノン株式会社 太陽電池モジュール
JPH11103238A (ja) 1997-09-26 1999-04-13 Sharp Corp ディジタルフィルタ回路
EP1124179B1 (en) * 2000-02-09 2007-10-17 Texas Instruments Incorporated An apparatus for signal synchronization between two clock domains
US20020199124A1 (en) * 2001-06-22 2002-12-26 Adkisson Richard W. System and method for synchronizing data transfer across a clock domain boundary
JP2003124491A (ja) * 2001-10-15 2003-04-25 Sharp Corp 薄膜太陽電池モジュール
US20060166023A1 (en) * 2002-09-06 2006-07-27 Dai Nippon Printing Co., Ltd. Backside protective sheet for solar battery module and solar battery module using the same
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222407A (ja) * 2000-02-08 2001-08-17 Matsushita Electric Ind Co Ltd Fifo回路
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法

Also Published As

Publication number Publication date
US20080072094A1 (en) 2008-03-20
US7937607B2 (en) 2011-05-03
JP2008071151A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
JP4758311B2 (ja) 非同期データ保持回路
US8301932B2 (en) Synchronising between clock domains
US8520464B2 (en) Interface circuit and semiconductor device incorporating same
US7802123B2 (en) Data processing apparatus and method using FIFO device
US6943595B2 (en) Synchronization circuit
JPWO2003010674A1 (ja) 位相補正回路
US7990295B2 (en) Data transfer apparatus
CN108471308B (zh) 半导体装置以及数据同步方法
US7692564B2 (en) Serial-to-parallel conversion circuit and method of designing the same
US7260166B2 (en) Systems for synchronizing resets in multi-clock frequency applications
CN114185397B (zh) 跨时钟域数据传输电路及方法
EP1612690A2 (en) Apparatus and method for receiving parallel data
CN114115443A (zh) 一种跨时钟域的数据信号同步方法、系统、设备以及介质
JP3039441B2 (ja) 異クロック間同期エッジ検出方法および異クロック間同期エッジ検出方式
JP2007312321A (ja) シリアル・パラレル変換用の半導体集積回路
KR101006843B1 (ko) 출력신호를 안정적으로 생성하는 동기화 회로
KR100667546B1 (ko) 직렬 데이터 링크의 테스트 장치 및 방법
JP2018201252A (ja) 受信回路及び半導体集積回路
JP6492467B2 (ja) 受信回路及び半導体集積回路
JP3544791B2 (ja) 分周回路装置
JP3388656B2 (ja) シフトレジスタ
JP5910383B2 (ja) スキュー低減回路
CN117785792A (zh) 跨同频异步时钟域的信号处理方法及装置
JP2010213204A (ja) データ送受信方法
JP2009017153A (ja) カウント値の転送方法と転送回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081210

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110602

R150 Certificate of patent or registration of utility model

Ref document number: 4758311

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350