JP2015149599A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2015149599A
JP2015149599A JP2014021282A JP2014021282A JP2015149599A JP 2015149599 A JP2015149599 A JP 2015149599A JP 2014021282 A JP2014021282 A JP 2014021282A JP 2014021282 A JP2014021282 A JP 2014021282A JP 2015149599 A JP2015149599 A JP 2015149599A
Authority
JP
Japan
Prior art keywords
signal
clock
data
circuit
output
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.)
Granted
Application number
JP2014021282A
Other languages
English (en)
Other versions
JP6256067B2 (ja
Inventor
齊藤 学
Manabu Saito
学 齊藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2014021282A priority Critical patent/JP6256067B2/ja
Publication of JP2015149599A publication Critical patent/JP2015149599A/ja
Application granted granted Critical
Publication of JP6256067B2 publication Critical patent/JP6256067B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるハンドシェイク型のデータ転送を行う半導体装置を提供する。【解決手段】データ転送元の第1クロックドメインに属し、クロック信号とは異なるゲート信号がアサートされているとき、入力データを転送データとして出力し、ゲート信号がネゲートされているとき、転送データを保持するラッチ回路と、データ転送先の第2クロックドメインに属し、イネーブル信号及びクロック信号に応答して、ラッチ回路から出力される転送データを保持して出力データとして出力するフリップフロップ回路と、入力データが有効であることを示す信号に基づいて、ゲート信号をパルス状にアサートし、ゲート信号に基づいて、転送データが安定していることを示すイネーブル信号を生成して出力する制御回路とを有する。【選択図】図1

Description

本発明は、異なるクロックドメイン間でのデータ転送を行う半導体装置に関する。
LSI(Large Scale Integration)等の半導体装置は、内部に異なるクロック信号で動作する回路ブロックを有する、すなわち複数のクロックドメインを有するものがある。異なるクロックドメイン間(CDC:Clock Domain Crossing)のデータ転送(非同期データ転送)は、転送元の回路のクロック信号と転送先の回路のクロック信号とが異なるためにメタステーブルが発生し得る。異なるクロックドメイン間のデータ転送において、データを同期化しメタステーブルの発生を回避するデータ同期化回路が提案されている(例えば、特許文献1、2参照)。
また、異なるクロックドメイン間の多ビットデータの転送方法の一つに、ハンドシェイク(Handshake)制御を行う方法がある。図6は、ハンドシェイク型のデータ転送装置の構成例を示す概念図である。図6において、転送元ハンドシェイク制御回路201、フリップフロップ回路205、206、SFFは、第1クロックドメインに属し、第1のクロック信号CK1で動作する。また、転送先ハンドシェイク制御回路204、フリップフロップ回路202、203、DFFは、第2クロックドメインに属し、第1のクロック信号CK1とは異なる第2のクロック信号CK2で動作する。
第1クロックドメインから第2のクロックドメインへデータを転送する、すなわち第1のクロック信号CK1に同期するデータを第2のクロック信号CK2に同期させる場合について説明する。送信側のフリップフロップ回路SFFは、転送元ハンドシェイク制御回路201からのイネーブル信号に従って、転送するデータDATAを保持し、さらにデータ信号として出力する。
また、転送元ハンドシェイク制御回路201は、イネーブル信号を出力するとともに、データが安定しているタイミングを示す信号REQを出力する。転送元ハンドシェイク制御回路201から出力された信号REQは、第2クロックドメインへ伝送され、メタステーブル対策回路としてのフリップフロップ回路202、203を介して転送先ハンドシェイク制御回路204に入力される。
転送先ハンドシェイク制御回路204は、データが安定しているタイミングを示す信号REQを受けると、イネーブル信号を出力する。この転送先ハンドシェイク制御回路204からのイネーブル信号に従って、受信側のフリップフロップ回路DFFは、送信側のフリップフロップ回路SFFが出力するデータを保持し、データ信号として出力する。
また、転送先ハンドシェイク制御回路204は、イネーブル信号を出力するとともに、データが保持されたことを示す信号ACKを出力する。転送先ハンドシェイク制御回路204から出力された信号ACKは、第1クロックドメインへ伝送され、メタステーブル対策回路としてのフリップフロップ回路205、206を介して転送元ハンドシェイク制御回路201に入力される。このように、転送元の回路と転送先の回路との間で信号REQ、ACKを用いてハンドシェイクを行うことで、第1のクロック信号CK1に同期したデータを第2のクロック信号CK2に同期させる。
特開平10−117185号公報 特開2003−143117号公報 特開平8−320845号公報
異なるクロックドメイン間のデータ転送に用いる一般的なハンドシェイク型のデータ転送装置は、データ転送にそれぞれのクロック信号で動作するフリップフロップを使用しており、クロック駆動の度にフリップフロップ回路が電力を消費し、消費電力が大きい。本発明の目的は、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるハンドシェイク型のデータ転送を行う半導体装置を提供することにある。
半導体装置の一態様は、データ転送元の第1クロックドメインに属し、第1のクロック信号とは異なる第1のゲート信号がアサートされているとき、入力データを転送データとして出力し、第1のゲート信号がネゲートされているとき、転送データを保持するラッチ回路と、データ転送先の第2クロックドメインに属し、イネーブル信号及び第2のクロック信号に応答して、ラッチ回路から出力される転送データを保持して出力データとして出力するフリップフロップ回路と、制御回路とを有する。制御回路は、入力データが有効であることを示す信号に基づいて、第1のゲート信号をパルス状にアサートし、第1のゲート信号に基づいて、転送データが安定していることを示すイネーブル信号を生成して出力する。
開示の半導体装置は、データ転送に係るフリップフロップに換えてゲート信号の変化時に電力が消費されるラッチ回路を用いることで、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。
本発明の第1の実施形態における半導体装置の構成例を示す図である。 図1に示す半導体装置の動作例を示すタイミングチャートである。 本発明の第2の実施形態における半導体装置の構成例を示す図である。 図3に示す半導体装置の動作例を示すタイミングチャートである。 本発明の他の実施形態における半導体装置の構成例を示す図である。 ハンドシェイク型のデータ転送装置の構成例を示す概念図である。 参考技術によるデータ転送装置の構成例を示す図である。 図7に示すデータ転送装置の動作例を示すタイミングチャートである。 D型フリップフロップ回路の構成及び動作を説明するための図である。 ゲーテッドDラッチ回路の構成及び動作を説明するための図である。
以下、本発明の実施形態を図面に基づいて説明する。
本実施形態に係る半導体装置は、例えば複数の機能を1つのチップ上に実装したSoC(System on a Chip)であり、異なるクロックで動作する複数のクロックドメインを有する。さらに、本実施形態に係る半導体装置は、異なるクロックドメイン間でデータ信号の送受信が行われる場合に、データ信号が正しく送受信されるように、メタステーブルの発生を防止するためのメタステーブル対策回路を有する。すなわち、本実施形態に係る半導体装置は、データ同期化制御信号をメタステーブル対策回路を使用して異なるクロックドメインに同期化し、また同期化後の制御信号を再びメタステーブル対策回路を使用して元のクロックドメインに同期化した制御信号でデータを制御する、ハンドシェイク型のデータ転送を実行する。
例えば、本実施形態に係る半導体装置においては、ある複数の回路ブロックが、第1クロックドメインに属し、クロック生成回路としての位相ロックループ(PLL:Phase Locked Loop)回路から供給される第1のクロック信号で動作する。また、別の複数の回路ブロックが、第2クロックドメインに属し、クロック生成回路としての別のPLL回路から供給される第2のクロック信号で動作する。
例えば、第1クロックドメインに同期したデータを、第2クロックドメインへ同期化するには、データ同期化制御信号をメタステーブル対策回路を使用して同期化し、同期化後の制御信号を使用してデータを第2クロックドメイン回路へ取り込む。同様に第2クロックドメインに同期したデータを第1クロックドメインへ同期化するには、データ同期化制御信号をメタステーブル対策回路を使用して同期化し、同期化した制御信号を使用してデータを第1クロックドメイン回路へ取り込む。本実施形態に係るハンドシェイク型データ転送に関しては、後で詳細に説明する。
次に、本発明に至る参考技術について説明する。なお、以下の参考技術及び実施形態における説明において、各信号はアサートされているときハイレベルであり、ネゲートされているときローレベルであるとする。図7は、参考技術による多ビットデータの転送を行うハンドシェイク型のデータ転送装置の構成例を示す図である。図7に示すハンドシェイク型のデータ転送装置は、送信側(転送元)のフリップフロップ回路SFF−i及びセレクタSSEL−iと、受信側(転送先)のフリップフロップ回路DFF−i及びセレクタDSEL−iと、制御回路としてのメタステーブル対策回路13とを有する。なお、iは添え字であり、i=1〜N(例えば、8、16、32、64等)である(以下においても同様)。メタステーブル対策回路13は、論理積演算回路(AND回路)101、103、111、インバータ102、104、112、論理和演算回路(OR回路)105、セレクタ106、及びフリップフロップ回路107〜110、113〜115を有する。
送信側のフリップフロップ回路SFF−i、メタステーブル対策回路13のフリップフロップ回路107、114、115は、第1クロックドメインに属し、第1のクロック信号CK1で動作する。また、受信側のフリップフロップ回路DFF−i、メタステーブル対策回路13のフリップフロップ回路108〜110、113は、第2クロックドメインに属し、第2のクロック信号CK2で動作する。
送信側のフリップフロップ回路SFF−iの各々は、第1のクロック信号CK1に同期して、セレクタSSEL−iの出力を保持し、転送データ信号SDATAiとして出力する。セレクタSSEL−iの各々は、メタステーブル対策回路13からのリクエスト信号Req1に応じて、入力データ信号IDATAi又は転送データ信号SDATAiを出力する。ここで、入力データ信号IDATAiは、第1のクロック信号CK1に同期したデータ信号である。図7に示した例では、セレクタSSEL−iは、リクエスト信号Req1が“1”(ハイレベル)である場合に入力データ信号IDATAiを出力し、リクエスト信号Req1が“0”(ローレベル)である場合に転送データ信号SDATAiを出力する。すなわち、送信側のフリップフロップ回路SFF−i及びセレクタSSEL−iは、信号Req1をイネーブル信号とするイネーブル信号付きのフリップフロップ回路に相当する。
受信側のフリップフロップ回路DFF−iの各々は、第2のクロック信号CK2に同期して、セレクタDSEL−iの出力を保持し、出力データ信号ODATAiとして出力する。セレクタDSEL−iの各々は、メタステーブル対策回路13からのイネーブル信号Enableに応じて、転送データ信号SDATAi又は出力データ信号ODATAiを出力する。ここで、出力データ信号ODATAiは、第2のクロック信号CK2に同期したデータ信号である。図7に示した例では、セレクタDSEL−iは、イネーブル信号Enableが“1”(ハイレベル)である場合に転送データ信号SDATAiを出力し、イネーブル信号Enableが“0”(ローレベル)である場合に出力データ信号ODATAiを出力する。すなわち、受信側のフリップフロップ回路DFF−i及びセレクタDSEL−iは、信号Enableをイネーブル信号とするイネーブル信号付きのフリップフロップ回路に相当する。
AND回路101は、セット信号SETとインバータ102により反転されたビジィ信号BUSYとが入力され、演算結果をリクエスト信号Req1として出力する。つまり、ビジィ信号BUSYがハイレベルである場合には、セット信号SETにかかわらずリクエスト信号Req1がローレベルとなり、ビジィ信号BUSYがローレベルである場合には、セット信号SETがリクエスト信号Req1として出力される。
ここで、セット信号SETは、入力データ信号IDATAiが有効であることを示す信号であり、入力データ信号IDATAiが有効である場合にハイレベルとなる。また、ビジィ信号BUSYは、図7に示したデータ転送装置において、第1クロックドメインから第2クロックドメインへデータ転送中であることを示す信号であり、データ転送中にハイレベルとなる。
AND回路103は、リクエスト信号Req1とインバータ104により反転されたアクノリッジ信号Ack2とが入力され、演算結果を出力する。OR回路105は、リクエスト信号Req1とアクノリッジ信号Ack2とが入力され、演算結果を出力する。セレクタ106は、OR回路105の出力に応じて、AND回路103の出力又はリクエスト信号Req2を出力する。
図7に示した例では、セレクタ106は、OR回路105の出力がハイレベル、すなわちリクエスト信号Req1又はアクノリッジ信号Ack2がハイレベルである場合にAND回路103の出力を出力する。また、セレクタ106は、OR回路105の出力がローレベル、すなわちリクエスト信号Req1及びアクノリッジ信号Ack2がともにローレベルである場合にリクエスト信号Req2を出力する。
フリップフロップ回路107は、第1のクロック信号CK1に同期して、セレクタ106の出力を保持し、リクエスト信号Req2として出力する。したがって、リクエスト信号Req2は、リクエスト信号Req1がハイレベルになった次の第1のクロック信号CK1の立ち上がりでハイレベルになり、アクノリッジ信号Ack2がハイレベルになった次の第1のクロック信号CK1の立ち上がりでローレベルになる。
メタステーブル対策回路のフリップフロップ回路108、109は、第1のクロック信号CK1に同期したリクエスト信号Req2を第2のクロック信号CK2に同期させる。フリップフロップ回路108は、第2のクロック信号CK2に同期して、リクエスト信号Req2を保持し、リクエスト信号Req3として出力する。また、フリップフロップ回路109は、第2のクロック信号CK2に同期して、リクエスト信号Req3を保持し、リクエスト信号Req4として出力する。
フリップフロップ回路110は、第2のクロック信号CK2に同期して、リクエスト信号Req4を保持し、リクエスト信号Req5として出力する。AND回路111は、リクエスト信号Req4とインバータ112により反転されたリクエスト信号Req5とが入力され、演算結果をイネーブル信号Enableとして出力する。したがって、イネーブル信号Enableは、リクエスト信号Req4がハイレベルになってから第2のクロック信号CK2における1周期の期間においてパルス状にハイレベルとなる。
フリップフロップ回路113は、第2のクロック信号CK2に同期して、イネーブル信号Enableを保持し、バリッド信号VALIDとして出力する。ここで、バリッド信号VALIDは、出力データ信号ODATAiが有効であることを示す信号であり、出力データ信号ODATAiが有効である場合にハイレベルとなる。なお、本例及び以下に説明する実施形態では、バリッド信号VALIDが第2のクロック信号CK2における1周期の期間においてパルス状にハイレベルとする例を示す。しかし、これに限定されず、バリッド信号VALIDをハイレベルとする期間は出力データ信号ODATAiを受ける後段の回路の仕様等に応じて変更可能であり、期間に応じてバリッド信号VALIDの出力に係る回路構成を適宜変更しても良い。
メタステーブル対策回路のフリップフロップ回路114、115は、第2のクロック信号CK2に同期したリクエスト信号Req4を第1のクロック信号CK1に同期させる。フリップフロップ回路114は、第1のクロック信号CK1に同期して、リクエスト信号Req4を保持し、アクノリッジ信号Ack1として出力する。また、フリップフロップ回路115は、第1のクロック信号CK1に同期して、アクノリッジ信号Ack1を保持し、アクノリッジ信号Ack2として出力する。
OR回路116は、リクエスト信号Req2とアクノリッジ信号Ack2とが入力され、演算結果をビジィ信号BUSYとして出力する。つまり、ビジィ信号BUSYは、リクエスト信号Req2及びアクノリッジ信号Ack2の少なくとも一方がハイレベルである場合にハイレベルとなり、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルである場合にローレベルとなる。
図8は、図7に示したデータ転送装置の動作例を示すタイミングチャートである。時刻T51において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされる。このとき、ビジィ信号BUSYがローレベルであるので、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、セレクタSSELは、入力データ信号IDATAをフリップフロップ回路SFFに出力する。
リクエスト信号Req1がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T52において、フリップフロップ回路SFFは、第1のクロック信号CK1に同期して、入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。また、リクエスト信号Req1がハイレベルであるので、リクエスト信号Req2がハイレベルになり、これによりデータ転送中であることを示すビジィ信号BUSYがハイレベルになる。なお、セット信号SETは、ビジィ信号BUSYがローレベルであったので、時刻T52においてローレベルとされ、リクエスト信号Req1がローレベルになる。
リクエスト信号Req2がハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T61において、リクエスト信号Req3がハイレベルになり、続く時刻T62、T63において、リクエスト信号Req4、Req5が順次ハイレベルになる。したがって、時刻T62〜時刻T63の期間において、イネーブル信号Enableがハイレベルになり、セレクタDSELは、転送データ信号SDATAをフリップフロップ回路DFFに出力する。
イネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T63において、フリップフロップ回路DFFは、第2のクロック信号CK2に同期して、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。また、イネーブル信号Enableがハイレベルであるので、出力データ信号ODATAが有効であることを示すバリッド信号VALIDがハイレベルになる。
リクエスト信号Req4がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T53において、アクノリッジ信号Ack1がハイレベルになり、続く時刻T54において、アクノリッジ信号Ack2がハイレベルになる。そして、時刻T55において、アクノリッジ信号Ack2がハイレベルであるので、リクエスト信号Req2がローレベルになる。
これにより、リクエスト信号Req2がローレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T65において、リクエスト信号Req3がローレベルになり、続く時刻T66、T67において、リクエスト信号Req4、Req5が順次ローレベルになる。また、リクエスト信号Req4がローレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T56において、アクノリッジ信号Ack1がローレベルになり、続く時刻T57において、アクノリッジ信号Ack2がローレベルになる。また、時刻T57において、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルになることで、ビジィ信号BUSYがローレベルになる。
ここで、時刻T55において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされるが、時刻T57まではビジィ信号BUSYがハイレベルであるので、リクエスト信号Req1はローレベルに維持される。時刻T57においてビジィ信号BUSYがローレベルになると、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、セレクタSSELは、入力データ信号IDATAをフリップフロップ回路SFFに出力する。
そして、リクエスト信号Req1がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T58において、フリップフロップ回路SFFは、第1のクロック信号CK1に同期して、入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。以降、前述した動作と同様にしてデータ転送を行う。
ここで、図7に示したようなハンドシェイク型のデータ転送装置における送信側のフリップフロップ回路SFF及び受信側のフリップフロップ回路DFFには、図9(A)に示すD型フリップフロップ回路が用いられる。D型フリップフロップ回路は、図9(A)に示すように接続された8個の否定論理積演算回路(NAND回路)301〜308及び2つのインバータ309、310を有する。図9(A)に示すD型フリップフロップ回路は、図9(B)に示すように、入力されるクロック信号CKの立ち上がりエッジにおいて、D入力の値がQ出力として保持される。D型フリップフロップ回路では、クロック駆動の度に電力が消費されるので、送信側のフリップフロップ回路SFF及び受信側のフリップフロップ回路DFFにD型フリップフロップ回路を使用するとデータ転送装置の消費電力が大きくなってしまう。
(第1の実施形態)
図1は、本発明の第1の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置の構成例を示す図である。この図1において、図7に示した構成要素と同じ構成要素には同一の符号を付し、重複する説明は省略する。第1の実施形態における半導体装置は、図7に示したデータ転送装置における送信側のフリップフロップ回路SFF−i(及びセレクタSSEL−i)に換えて、ラッチ回路SL−iを用いたものである。すなわち、第1の実施形態における半導体装置は、図1に示すように送信側のラッチ回路SL−iと、受信側のフリップフロップ回路DFF−i及びセレクタDSEL−iと、制御回路としてのメタステーブル対策回路13とを有する。
ラッチ回路SL−iの各々は、図10(A)に示すようなゲーテッドDラッチ回路である。ゲーテッドDラッチ回路は、図10(A)に示すように接続された4個のNAND回路321〜324を有する。図10(A)に示すゲーテッドDラッチ回路は、図10(B)に示すように、入力されるゲート信号GがハイレベルであるときにD入力の値がQ出力に伝わり、ゲート信号GがローレベルであるときにQ出力を保持する。ゲーテッドDラッチ回路では、ゲート信号Gが変化したときに電力が消費される。
ここで、D型フリップフロップ回路とゲーテッドDラッチ回路とは、タイミング特性が異なる。通常、D型フリップフロップ回路をゲーテッドDラッチ回路に置き換えるには、異なるタイミング特性に対応するために信号のタイミングを合わせる制御回路等を新たに追加する。
しかし、ハンドシェイク型のデータ転送を行う半導体装置では、メタステーブル対策回路13から出力される信号によってデータの取り込み等が制御されるので、D型フリップフロップ回路をゲーテッドDラッチ回路に置き換えたとしても、異なるタイミング特性を考慮する必要がない。したがって、フリップフロップ回路に換えてラッチ回路を用いても新たな制御回路を追加することなく、異なるクロックドメイン間のデータ転送が可能である。また、フリップフロップ回路に換えてラッチ回路を用いることで、半導体装置の回路面積を縮小できるとともに、消費電力を抑えることができる。
図1に示すように、ラッチ回路SL−iの各々は、ゲート信号としてメタステーブル対策回路13から出力されるリクエスト信号Req1が入力されるとともに、D入力として入力データ信号IDATAiが入力される。また、ラッチ回路SL−iの各々は、Q出力として転送データ信号SDATAiを出力する。
なお、図1に示す第1の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置において、異なるクロックドメイン間で伝送される信号は、配線遅延が信号を受ける側のクロックドメインのクロック信号の2周期以内であるとする。すなわち、送信側のラッチ回路SL−iの出力と受信側のフリップフロップ回路DFF−iの入力との間の配線遅延は、第2のクロック信号CK2の2周期以内とする。
図2は、図1に示した半導体装置の動作例を示すタイミングチャートである。時刻T11において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされる。このとき、ビジィ信号BUSYがローレベルであるので、リクエスト信号Req1がセット信号SETに応じてハイレベルになる。ゲート信号として入力されるリクエスト信号Req1がハイレベルになったことにより、ラッチ回路SLは、入力データ信号IDATAを転送データ信号SDATAとして出力する。
続く、時刻T12において、リクエスト信号Req2がハイレベルになり、これによりデータ転送中であることを示すビジィ信号BUSYがハイレベルになる。なお、セット信号SETは、ビジィ信号BUSYがローレベルであったので、時刻T12においてローレベルとされ、リクエスト信号Req1がローレベルになる。また、ゲート信号として入力されるリクエスト信号Req1がローレベルになったことにより、ラッチ回路SLは、リクエスト信号Req1がローレベルになったときの入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。
リクエスト信号Req2がハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T21において、リクエスト信号Req3がハイレベルになり、続く時刻T22、T23において、リクエスト信号Req4、Req5が順次ハイレベルになる。したがって、時刻T22〜時刻T23の期間において、イネーブル信号Enableがハイレベルになり、セレクタDSELは、転送データ信号SDATAをフリップフロップ回路DFFに出力する。
イネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T23において、フリップフロップ回路DFFは、第2のクロック信号CK2に同期して、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。また、イネーブル信号Enableがハイレベルであるので、出力データ信号ODATAが有効であることを示すバリッド信号VALIDがハイレベルになる。
リクエスト信号Req4がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T13において、アクノリッジ信号Ack1がハイレベルになり、続く時刻T14において、アクノリッジ信号Ack2がハイレベルになる。そして、時刻T15において、アクノリッジ信号Ack2がハイレベルであるので、リクエスト信号Req2がローレベルになる。
これにより、リクエスト信号Req2がローレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T25において、リクエスト信号Req3がローレベルになり、続く時刻T26、T27において、リクエスト信号Req4、Req5が順次ローレベルになる。また、リクエスト信号Req4がローレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T16において、アクノリッジ信号Ack1がローレベルになり、続く時刻T17において、アクノリッジ信号Ack2がローレベルになる。また、時刻T17において、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルになることで、ビジィ信号BUSYがローレベルになる。
ここで、時刻T15において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされるが、時刻T17まではビジィ信号BUSYがハイレベルであるので、リクエスト信号Req1はローレベルに維持される。時刻T17においてビジィ信号BUSYがローレベルになると、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、ラッチ回路SLは、新たな入力データ信号IDATAを転送データ信号SDATAとして出力する。
そして、時刻18において、リクエスト信号Req1がローレベルになり、ラッチ回路SLは、リクエスト信号Req1がローレベルになったときの入力データ信号INDATAを保持し、転送データ信号SDATAとして出力する。以降、前述した動作と同様にしてデータ転送を行う。
第1の実施形態における半導体装置では、メタステーブル対策回路13からのリクエスト信号Req1がハイレベルになったときから(例えば図2に示す時刻T11から)、ラッチ回路SLは、入力データ信号IDATAを転送データ信号SDATAとして出力する。すなわち、前述した参考技術のように送信側のフリップフロップ回路SFFを用いた場合と比較すると、第1の実施形態における半導体装置では、第1のクロック信号CK1の1周期分早く、入力データ信号IDATAが転送データ信号SDATAとして出力されることとなる。
しかし、受信側のフリップフロップ回路DFFは、メタステーブル対策回路13からのイネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりにおいて、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。つまり、第1のクロック信号CK1の1周期分早く、入力データ信号IDATAが転送データ信号SDATAとして出力されても、受信側のフリップフロップ回路DFFは、適切な転送データ信号SDATAを保持し、出力データ信号ODATAとして出力することができる。また、送信側のフリップフロップ回路SFFに換えてラッチ回路SLを用いたことで、第1のクロック信号CK1の駆動の度に電力が消費されることもない。
このように第1の実施形態における半導体装置によれば、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。
(第2の実施形態)
図3は、本発明の第2の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置の構成例を示す図である。この図3において、図1、図7に示した構成要素と同じ構成要素には同一の符号を付し、重複する説明は省略する。第2の実施形態における半導体装置は、さらに受信側のフリップフロップ回路DFF−i(及びセレクタDSEL−i)に換えて、ラッチ回路DL−iを用いたものである。すなわち、第2の実施形態における半導体装置は、図3に示すように送信側のラッチ回路SL−iと、受信側のラッチ回路DL−iと、制御回路としてのメタステーブル対策回路13とを有する。
ラッチ回路DL−iの各々は、ラッチ回路SL−iと同様に図10(A)に示したようなゲーテッドDラッチ回路である。ラッチ回路DL−iの各々は、ゲート信号としてメタステーブル対策回路13から出力されるイネーブル信号Enableが入力されるとともに、D入力として転送データ信号SDATAiが入力される。また、ラッチ回路DL−iの各々は、Q出力として出力データ信号ODATAiを出力する。
図4は、図3に示した半導体装置の動作例を示すタイミングチャートである。図4における時刻T31〜T38、T41〜T47は、図2における時刻T11〜T18、T21〜T27にそれぞれ相当する。図3に示した半導体装置の動作は、図1に示した半導体装置の動作と基本的には同様である。
ただし、第2の実施形態における半導体装置では、図4に示すように、時刻T42において、ゲート信号として入力されるイネーブル信号Enableがハイレベルになることにより、ラッチ回路DLは、転送データ信号SDATAを出力データ信号ODATAとして出力する。つまり、受信側のフリップフロップ回路DFFを用いた場合と比較すると、第2の実施形態における半導体装置では、第2のクロック信号CK2の1周期分早く、転送データ信号SDATAが出力データ信号ODATAとして出力されることとなる。
しかし、半導体装置は、メタステーブル対策回路13からのバリッド信号VALIDにより出力データ信号ODATAが有効であることを示す。言い換えれば、半導体装置において出力データ信号ODATAを受ける後段の回路は、バリッド信号VALIDに基づいて出力データ信号ODATAの有効性を判断する。したがって、第2のクロック信号CK2の1周期分早く、出力データ信号ODATAを出力しても、後段の回路は、半導体装置において受信側のフリップフロップ回路DFFを用いた場合と同様に出力データ信号ODATAを得ることができる。また、受信側のフリップフロップ回路DFFに換えてラッチ回路DLを用いたことで、第2のクロック信号CK2の駆動の度に電力が消費されることもない。
このように第2の実施形態における半導体装置によれば、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、さらに、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。
なお、送信側でラッチ回路SLを用い受信側でフリップフロップ回路DFFを用いる場合、及び送信側と受信側ともにラッチ回路SL、DLを用いる場合について示したが、送信側でフリップフロップ回路SFFを用い受信側でラッチ回路DLを用いるようにしても良い。
また、前述したハンドシェイク型のデータ転送を行う半導体装置では、リクエスト信号Req2とアクノリッジ信号Ack2とをOR回路116により論理和演算することでビジィ信号BUSYを生成している。第2のクロック信号CK2の周波数が、第1のクロック信号CK1の周波数より高い場合には、連続するデータ転送であってもリクエスト信号Req2がローレベルになったことを第2のクロック信号CK2で動作する回路で検出することが可能であるので、図5に示すようにOR回路116を設けずに、リクエスト信号Req2をビジィ信号BUSYとして出力するようにしても良い。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
11 回路ブロック(回路モジュール)
12 位相ロックループ(PLL)回路
13 メタステーブル対策回路
SL ラッチ回路(送信側)
DL ラッチ回路(受信側)
SFF フリップフロップ回路(送信側)
DFF フリップフロップ回路(受信側)
IDATA 入力データ信号
SDATA 転送データ信号
ODATA 出力データ信号

Claims (5)

  1. 第1のクロック信号が供給される第1クロックドメインと、
    前記第1のクロック信号とは異なる第2のクロック信号が供給される第2クロックドメインとを有し、
    前記第1クロックドメインから前記第2クロックドメインへのデータ転送を行う半導体装置であって、
    前記第1クロックドメインに属し、前記第1のクロック信号とは異なる第1のゲート信号がアサートされているとき、前記第1のクロック信号に同期した入力データを転送データとして出力し、前記第1のゲート信号がネゲートされているとき、前記転送データを保持するラッチ回路と、
    前記第2クロックドメインに属し、イネーブル信号及び前記第2のクロック信号に応答して、前記ラッチ回路から出力される前記転送データを保持して出力データとして出力するフリップフロップ回路と、
    前記入力データが有効であることを示す信号に基づいて、前記第1のゲート信号をパルス状にアサートして前記ラッチ回路に供給し、前記第1のゲート信号に基づいて、前記転送データが安定していることを示す前記イネーブル信号を生成して前記フリップフロップ回路に供給する制御回路とを有することを特徴とする半導体装置。
  2. 第1のクロック信号が供給される第1クロックドメインと、
    前記第1のクロック信号とは異なる第2のクロック信号が供給される第2クロックドメインとを有し、
    前記第1クロックドメインから前記第2クロックドメインへのデータ転送を行う半導体装置であって、
    前記第1クロックドメインに属し、前記第1のクロック信号とは異なる第1のゲート信号がアサートされているとき、前記第1のクロック信号に同期した入力データを転送データとして出力し、前記第1のゲート信号がネゲートされているとき、前記転送データを保持する第1のラッチ回路と、
    前記第2クロックドメインに属し、前記第2のクロック信号とは異なる第2のゲート信号がアサートされているとき、前記第1のラッチ回路から出力される前記転送データを出力データとして出力し、前記第2のゲート信号がネゲートされているとき、前記出力データを保持する第2のラッチ回路と、
    前記入力データが有効であることを示す信号に基づいて、前記第1のゲート信号をパルス状にアサートして前記第1のラッチ回路に供給し、前記第1のゲート信号に基づいて、前記転送データが安定していることを示すパルス状にアサートした前記第2のゲート信号を前記第2のラッチ回路に供給し、前記第2のゲート信号に基づいて、前記出力データが有効であることを示すバリッド信号を生成して出力する制御回路とを有することを特徴とする半導体装置。
  3. 前記制御回路は、前記第1クロックドメインから前記第2クロックドメインへのデータ転送中にアサートされる信号がネゲートされているとき、前記入力データが有効であることを示す信号に応じて、前記第1のクロック信号の1周期の期間、前記第1のゲート信号をアサートすることを特徴とする請求項1又は2記載の半導体装置。
  4. 第1のクロック信号が供給される第1クロックドメインと、
    前記第1のクロック信号とは異なる第2のクロック信号が供給される第2クロックドメインとを有し、
    前記第1クロックドメインから前記第2クロックドメインへのデータ転送を行う半導体装置であって、
    前記第1クロックドメインに属し、イネーブル信号及び前記第1のクロック信号に応答して、前記第1のクロック信号に同期した前記入力データを保持して転送データとして出力するフリップフロップ回路と、
    前記第2クロックドメインに属し、前記第2のクロック信号とは異なるゲート信号がアサートされているとき、前記フリップフロップ回路から出力される前記転送データを出力データとして出力し、前記ゲート信号がネゲートされているとき、前記出力データを保持するラッチ回路と、
    前記入力データが有効であることを示す信号に基づいて、前記イネーブル信号を生成して前記フリップフロップ回路に供給し、前記イネーブル信号に基づいて、前記転送データが安定していることを示すパルス状にアサートした前記ゲート信号を前記ラッチ回路に供給し、前記ゲート信号に基づいて、前記出力データが有効であることを示すバリッド信号を生成して出力する制御回路とを有することを特徴とする半導体装置。
  5. 第1のクロック信号及び前記第1のクロック信号とは異なる第2のクロック信号を生成するクロック生成回路を有することを特徴とする請求項1乃至4の何れか1項に記載の半導体装置。
JP2014021282A 2014-02-06 2014-02-06 半導体装置 Active JP6256067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014021282A JP6256067B2 (ja) 2014-02-06 2014-02-06 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014021282A JP6256067B2 (ja) 2014-02-06 2014-02-06 半導体装置

Publications (2)

Publication Number Publication Date
JP2015149599A true JP2015149599A (ja) 2015-08-20
JP6256067B2 JP6256067B2 (ja) 2018-01-10

Family

ID=53892660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014021282A Active JP6256067B2 (ja) 2014-02-06 2014-02-06 半導体装置

Country Status (1)

Country Link
JP (1) JP6256067B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170088768A (ko) * 2016-01-25 2017-08-02 삼성전자주식회사 반도체 장치
US11789515B2 (en) 2016-01-25 2023-10-17 Samsung Electronics Co., Ltd. Semiconductor device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02501507A (ja) * 1987-10-06 1990-05-24 フラウンホッファー ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ. デジタル適応変換符号化方法
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法
US20090271651A1 (en) * 2008-04-25 2009-10-29 International Business Machines Corporation Method and System for Reducing Latency in Data Transfer Between Asynchronous Clock Domains
JP2012199656A (ja) * 2011-03-18 2012-10-18 Fujitsu Semiconductor Ltd データ転送システム、データ転送装置及びデータ転送方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02501507A (ja) * 1987-10-06 1990-05-24 フラウンホッファー ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ. デジタル適応変換符号化方法
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法
US20090271651A1 (en) * 2008-04-25 2009-10-29 International Business Machines Corporation Method and System for Reducing Latency in Data Transfer Between Asynchronous Clock Domains
JP2012199656A (ja) * 2011-03-18 2012-10-18 Fujitsu Semiconductor Ltd データ転送システム、データ転送装置及びデータ転送方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170088768A (ko) * 2016-01-25 2017-08-02 삼성전자주식회사 반도체 장치
KR102467172B1 (ko) 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
US11747853B2 (en) 2016-01-25 2023-09-05 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method for operating semiconductor device
US11789515B2 (en) 2016-01-25 2023-10-17 Samsung Electronics Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP6256067B2 (ja) 2018-01-10

Similar Documents

Publication Publication Date Title
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
TWI648953B (zh) 正反器與半導體電路
US20090150706A1 (en) Wrapper circuit for globally asynchronous locally synchronous system and method for operating the same
US8493108B2 (en) Synchronizer with high reliability
US20100322365A1 (en) System and method for synchronizing multi-clock domains
US20150089108A1 (en) Clock signals for dynamic reconfiguration of communication link bundles
US9672008B2 (en) Pausible bisynchronous FIFO
US8901819B2 (en) Multi-supply sequential logic unit
US10924096B1 (en) Circuit and method for dynamic clock skew compensation
JP6256067B2 (ja) 半導体装置
US8832393B2 (en) Alignment for multiple FIFO pointers
US9584305B2 (en) Deskew FIFO buffer with simplified initialization
US10523411B2 (en) Programmable clock data recovery (CDR) system including multiple phase error control paths
US8176352B2 (en) Clock domain data transfer device and methods thereof
US9183898B2 (en) Multiple data rate wiring and encoding
US8649241B2 (en) Memory system, memory controller, and synchronizing apparatus
US20230136815A1 (en) Clock frequency divider circuit
EP3173895B1 (en) Clock tree implementation method, system-on-chip and computer storage medium
US8707080B1 (en) Simple circular asynchronous clock domain crossing technique for digital data
Tran et al. A low-cost high-speed source-synchronous interconnection technique for GALS chip multiprocessors
Ning et al. Design of a GALS Wrapper for Network on Chip
Chang et al. A Low-latency GALS interface implementation
JP5378765B2 (ja) データ転送システム
JP2009503640A (ja) 非同期データバッファ
KR100651888B1 (ko) 비동기 인터페이스 장치 및 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171120

R150 Certificate of patent or registration of utility model

Ref document number: 6256067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150