JP6256067B2 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP6256067B2
JP6256067B2 JP2014021282A JP2014021282A JP6256067B2 JP 6256067 B2 JP6256067 B2 JP 6256067B2 JP 2014021282 A JP2014021282 A JP 2014021282A JP 2014021282 A JP2014021282 A JP 2014021282A JP 6256067 B2 JP6256067 B2 JP 6256067B2
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.)
Active
Application number
JP2014021282A
Other languages
Japanese (ja)
Other versions
JP2015149599A (en
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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2014021282A priority Critical patent/JP6256067B2/en
Publication of JP2015149599A publication Critical patent/JP2015149599A/en
Application granted granted Critical
Publication of JP6256067B2 publication Critical patent/JP6256067B2/en
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)

Description

本発明は、異なるクロックドメイン間でのデータ転送を行う半導体装置に関する。   The present invention relates to a semiconductor device that performs data transfer between different clock domains.

LSI(Large Scale Integration)等の半導体装置は、内部に異なるクロック信号で動作する回路ブロックを有する、すなわち複数のクロックドメインを有するものがある。異なるクロックドメイン間(CDC:Clock Domain Crossing)のデータ転送(非同期データ転送)は、転送元の回路のクロック信号と転送先の回路のクロック信号とが異なるためにメタステーブルが発生し得る。異なるクロックドメイン間のデータ転送において、データを同期化しメタステーブルの発生を回避するデータ同期化回路が提案されている(例えば、特許文献1、2参照)。   Some semiconductor devices such as LSI (Large Scale Integration) have circuit blocks that operate with different clock signals inside, that is, have a plurality of clock domains. In the data transfer (asynchronous data transfer) between different clock domains (CDC: Clock Domain Crossing), the clock signal of the transfer source circuit and the clock signal of the transfer destination circuit are different, and thus a metastable can occur. There has been proposed a data synchronization circuit that synchronizes data and avoids occurrence of metastable in data transfer between different clock domains (for example, see Patent Documents 1 and 2).

また、異なるクロックドメイン間の多ビットデータの転送方法の一つに、ハンドシェイク(Handshake)制御を行う方法がある。図6は、ハンドシェイク型のデータ転送装置の構成例を示す概念図である。図6において、転送元ハンドシェイク制御回路201、フリップフロップ回路205、206、SFFは、第1クロックドメインに属し、第1のクロック信号CK1で動作する。また、転送先ハンドシェイク制御回路204、フリップフロップ回路202、203、DFFは、第2クロックドメインに属し、第1のクロック信号CK1とは異なる第2のクロック信号CK2で動作する。   In addition, as one method for transferring multi-bit data between different clock domains, there is a method of performing handshake control. FIG. 6 is a conceptual diagram illustrating a configuration example of a handshake type data transfer apparatus. In FIG. 6, a transfer source handshake control circuit 201, flip-flop circuits 205, 206, and SFF belong to the first clock domain and operate with the first clock signal CK1. The transfer destination handshake control circuit 204, the flip-flop circuits 202, 203, and DFF belong to the second clock domain and operate with a second clock signal CK2 that is different from the first clock signal CK1.

第1クロックドメインから第2のクロックドメインへデータを転送する、すなわち第1のクロック信号CK1に同期するデータを第2のクロック信号CK2に同期させる場合について説明する。送信側のフリップフロップ回路SFFは、転送元ハンドシェイク制御回路201からのイネーブル信号に従って、転送するデータDATAを保持し、さらにデータ信号として出力する。   A case where data is transferred from the first clock domain to the second clock domain, that is, data synchronized with the first clock signal CK1 is synchronized with the second clock signal CK2 will be described. The transmission-side flip-flop circuit SFF holds the data DATA to be transferred in accordance with the enable signal from the transfer source handshake control circuit 201 and further outputs it as a data signal.

また、転送元ハンドシェイク制御回路201は、イネーブル信号を出力するとともに、データが安定しているタイミングを示す信号REQを出力する。転送元ハンドシェイク制御回路201から出力された信号REQは、第2クロックドメインへ伝送され、メタステーブル対策回路としてのフリップフロップ回路202、203を介して転送先ハンドシェイク制御回路204に入力される。   In addition, the transfer source handshake control circuit 201 outputs an enable signal and a signal REQ indicating a timing at which data is stable. The signal REQ output from the transfer source handshake control circuit 201 is transmitted to the second clock domain, and input to the transfer destination handshake control circuit 204 via the flip-flop circuits 202 and 203 serving as a metastable countermeasure circuit.

転送先ハンドシェイク制御回路204は、データが安定しているタイミングを示す信号REQを受けると、イネーブル信号を出力する。この転送先ハンドシェイク制御回路204からのイネーブル信号に従って、受信側のフリップフロップ回路DFFは、送信側のフリップフロップ回路SFFが出力するデータを保持し、データ信号として出力する。   When the transfer destination handshake control circuit 204 receives the signal REQ indicating the timing when the data is stable, it outputs an enable signal. In accordance with the enable signal from the transfer destination handshake control circuit 204, the reception-side flip-flop circuit DFF holds the data output from the transmission-side flip-flop circuit SFF and outputs it as a data signal.

また、転送先ハンドシェイク制御回路204は、イネーブル信号を出力するとともに、データが保持されたことを示す信号ACKを出力する。転送先ハンドシェイク制御回路204から出力された信号ACKは、第1クロックドメインへ伝送され、メタステーブル対策回路としてのフリップフロップ回路205、206を介して転送元ハンドシェイク制御回路201に入力される。このように、転送元の回路と転送先の回路との間で信号REQ、ACKを用いてハンドシェイクを行うことで、第1のクロック信号CK1に同期したデータを第2のクロック信号CK2に同期させる。   Further, the transfer destination handshake control circuit 204 outputs an enable signal and also outputs a signal ACK indicating that the data is held. The signal ACK output from the transfer destination handshake control circuit 204 is transmitted to the first clock domain, and input to the transfer source handshake control circuit 201 via the flip-flop circuits 205 and 206 as metastable countermeasure circuits. In this way, by performing handshaking between the transfer source circuit and the transfer destination circuit using the signals REQ and ACK, the data synchronized with the first clock signal CK1 is synchronized with the second clock signal CK2. Let

特開平10−117185号公報JP-A-10-117185 特開2003−143117号公報JP 2003-143117 A 特開平8−320845号公報JP-A-8-320845

異なるクロックドメイン間のデータ転送に用いる一般的なハンドシェイク型のデータ転送装置は、データ転送にそれぞれのクロック信号で動作するフリップフロップを使用しており、クロック駆動の度にフリップフロップ回路が電力を消費し、消費電力が大きい。本発明の目的は、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるハンドシェイク型のデータ転送を行う半導体装置を提供することにある。   A general handshake type data transfer device used for data transfer between different clock domains uses flip-flops that operate with respective clock signals for data transfer, and the flip-flop circuit consumes power each time the clock is driven. Consume and consume much power. An object of the present invention is to provide a semiconductor device that performs handshake data transfer that can suppress power consumption without impairing the stability of data transfer between different clock domains.

半導体装置の一態様は、データ転送元の第1クロックドメインに属し、第1のクロック信号とは異なる第1のゲート信号がアサートされているとき、入力データを転送データとして出力し、第1のゲート信号がネゲートされているとき、転送データを保持するラッチ回路と、データ転送先の第2クロックドメインに属し、イネーブル信号及び第2のクロック信号に応答して、ラッチ回路から出力される転送データを保持して出力データとして出力するフリップフロップ回路と、制御回路とを有する。制御回路は、入力データが有効であることを示す信号に基づいて、第1のゲート信号をパルス状にアサートし、第1のゲート信号に基づいて、転送データが安定していることを示すイネーブル信号を生成して出力する。   One embodiment of a semiconductor device outputs the input data as transfer data when the first gate signal that belongs to the first clock domain of the data transfer source and is different from the first clock signal is asserted, When the gate signal is negated, the latch circuit that holds the transfer data and the transfer data that belongs to the second clock domain of the data transfer destination and is output from the latch circuit in response to the enable signal and the second clock signal And a control circuit that outputs the output data as output data. The control circuit asserts the first gate signal in a pulse form based on a signal indicating that the input data is valid, and an enable signal indicating that the transfer data is stable based on the first gate signal. Generate and output a signal.

開示の半導体装置は、データ転送に係るフリップフロップに換えてゲート信号の変化時に電力が消費されるラッチ回路を用いることで、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。   The disclosed semiconductor device uses a latch circuit that consumes power when a gate signal changes in place of a flip-flop for data transfer, thereby reducing power consumption without impairing stability of data transfer between different clock domains. The circuit area of the semiconductor device can be reduced.

本発明の第1の実施形態における半導体装置の構成例を示す図である。It is a figure which shows the structural example of the semiconductor device in the 1st Embodiment of this invention. 図1に示す半導体装置の動作例を示すタイミングチャートである。2 is a timing chart illustrating an operation example of the semiconductor device illustrated in FIG. 1. 本発明の第2の実施形態における半導体装置の構成例を示す図である。It is a figure which shows the structural example of the semiconductor device in the 2nd Embodiment of this invention. 図3に示す半導体装置の動作例を示すタイミングチャートである。4 is a timing chart illustrating an operation example of the semiconductor device illustrated in FIG. 3. 本発明の他の実施形態における半導体装置の構成例を示す図である。It is a figure which shows the structural example of the semiconductor device in other embodiment of this invention. ハンドシェイク型のデータ転送装置の構成例を示す概念図である。It is a conceptual diagram which shows the structural example of the data transfer apparatus of a handshake type. 参考技術によるデータ転送装置の構成例を示す図である。It is a figure which shows the structural example of the data transfer apparatus by reference technology. 図7に示すデータ転送装置の動作例を示すタイミングチャートである。It is a timing chart which shows the operation example of the data transfer apparatus shown in FIG. D型フリップフロップ回路の構成及び動作を説明するための図である。It is a figure for demonstrating the structure and operation | movement of a D-type flip-flop circuit. ゲーテッドDラッチ回路の構成及び動作を説明するための図である。It is a figure for demonstrating the structure and operation | movement of a gated D latch circuit.

以下、本発明の実施形態を図面に基づいて説明する。
本実施形態に係る半導体装置は、例えば複数の機能を1つのチップ上に実装したSoC(System on a Chip)であり、異なるクロックで動作する複数のクロックドメインを有する。さらに、本実施形態に係る半導体装置は、異なるクロックドメイン間でデータ信号の送受信が行われる場合に、データ信号が正しく送受信されるように、メタステーブルの発生を防止するためのメタステーブル対策回路を有する。すなわち、本実施形態に係る半導体装置は、データ同期化制御信号をメタステーブル対策回路を使用して異なるクロックドメインに同期化し、また同期化後の制御信号を再びメタステーブル対策回路を使用して元のクロックドメインに同期化した制御信号でデータを制御する、ハンドシェイク型のデータ転送を実行する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
The semiconductor device according to the present embodiment is, for example, a SoC (System on a Chip) in which a plurality of functions are mounted on one chip, and has a plurality of clock domains that operate with different clocks. Furthermore, the semiconductor device according to the present embodiment includes a metastable countermeasure circuit for preventing the occurrence of metastable so that the data signal is correctly transmitted and received when the data signal is transmitted and received between different clock domains. Have. That is, the semiconductor device according to the present embodiment uses the metastable countermeasure circuit to synchronize the data synchronization control signal to a different clock domain, and the synchronized control signal again uses the metastable countermeasure circuit. The handshake type data transfer is executed in which the data is controlled by the control signal synchronized with the clock domain.

例えば、本実施形態に係る半導体装置においては、ある複数の回路ブロックが、第1クロックドメインに属し、クロック生成回路としての位相ロックループ(PLL:Phase Locked Loop)回路から供給される第1のクロック信号で動作する。また、別の複数の回路ブロックが、第2クロックドメインに属し、クロック生成回路としての別のPLL回路から供給される第2のクロック信号で動作する。   For example, in the semiconductor device according to the present embodiment, a plurality of circuit blocks belong to a first clock domain, and a first clock supplied from a phase locked loop (PLL) circuit as a clock generation circuit. Operates with signals. Another plurality of circuit blocks belong to the second clock domain, and operate with a second clock signal supplied from another PLL circuit as a clock generation circuit.

例えば、第1クロックドメインに同期したデータを、第2クロックドメインへ同期化するには、データ同期化制御信号をメタステーブル対策回路を使用して同期化し、同期化後の制御信号を使用してデータを第2クロックドメイン回路へ取り込む。同様に第2クロックドメインに同期したデータを第1クロックドメインへ同期化するには、データ同期化制御信号をメタステーブル対策回路を使用して同期化し、同期化した制御信号を使用してデータを第1クロックドメイン回路へ取り込む。本実施形態に係るハンドシェイク型データ転送に関しては、後で詳細に説明する。   For example, in order to synchronize data synchronized with the first clock domain to the second clock domain, the data synchronization control signal is synchronized using the metastable countermeasure circuit, and the synchronized control signal is used. Data is taken into the second clock domain circuit. Similarly, in order to synchronize data synchronized with the second clock domain to the first clock domain, the data synchronization control signal is synchronized using the metastable countermeasure circuit, and the data is synchronized using the synchronized control signal. Capture to the first clock domain circuit. The handshake type data transfer according to the present embodiment will be described in detail later.

次に、本発明に至る参考技術について説明する。なお、以下の参考技術及び実施形態における説明において、各信号はアサートされているときハイレベルであり、ネゲートされているときローレベルであるとする。図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を有する。   Next, reference techniques leading to the present invention will be described. In the following description of the reference technique and the embodiment, it is assumed that each signal is at a high level when asserted and is at a low level when negated. FIG. 7 is a diagram illustrating a configuration example of a handshake type data transfer apparatus that transfers multi-bit data according to the reference technique. 7 includes a flip-flop circuit SFF-i and a selector SSEL-i on the transmission side (transfer source), and a flip-flop circuit DFF-i and a selector DSEL- on the reception side (transfer destination). i and a metastable countermeasure circuit 13 as a control circuit. Note that i is a subscript, and i = 1 to N (for example, 8, 16, 32, 64, etc.) (the same applies below). The metastable countermeasure circuit 13 includes AND operation circuits (AND circuits) 101, 103, 111, inverters 102, 104, 112, an OR operation circuit (OR circuit) 105, a selector 106, and flip-flop circuits 107-110, 113. ~ 115.

送信側のフリップフロップ回路SFF−i、メタステーブル対策回路13のフリップフロップ回路107、114、115は、第1クロックドメインに属し、第1のクロック信号CK1で動作する。また、受信側のフリップフロップ回路DFF−i、メタステーブル対策回路13のフリップフロップ回路108〜110、113は、第2クロックドメインに属し、第2のクロック信号CK2で動作する。   The flip-flop circuit SFF-i on the transmission side and the flip-flop circuits 107, 114, and 115 of the metastable countermeasure circuit 13 belong to the first clock domain and operate with the first clock signal CK1. The flip-flop circuit DFF-i on the receiving side and the flip-flop circuits 108 to 110 and 113 of the metastable countermeasure circuit 13 belong to the second clock domain and operate with the second clock signal 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をイネーブル信号とするイネーブル信号付きのフリップフロップ回路に相当する。   Each of the transmission-side flip-flop circuits SFF-i holds the output of the selector SSEL-i in synchronization with the first clock signal CK1, and outputs it as the transfer data signal SDATAi. Each of the selectors SSEL-i outputs the input data signal IDATAi or the transfer data signal SDATAi in response to the request signal Req1 from the metastable countermeasure circuit 13. Here, the input data signal IDATAi is a data signal synchronized with the first clock signal CK1. In the example shown in FIG. 7, the selector SSEL-i outputs the input data signal IDATAi when the request signal Req1 is “1” (high level), and the request signal Req1 is “0” (low level). In this case, the transfer data signal SDATAi is output. That is, the transmission-side flip-flop circuit SFF-i and the selector SSEL-i correspond to a flip-flop circuit with an enable signal that uses the signal Req1 as an enable signal.

受信側のフリップフロップ回路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をイネーブル信号とするイネーブル信号付きのフリップフロップ回路に相当する。   Each of the reception side flip-flop circuits DFF-i holds the output of the selector DSEL-i in synchronization with the second clock signal CK2, and outputs it as an output data signal ODATAi. Each of the selectors DSEL-i outputs a transfer data signal SDATAi or an output data signal ODATAi in accordance with the enable signal Enable from the metastable countermeasure circuit 13. Here, the output data signal ODATAi is a data signal synchronized with the second clock signal CK2. In the example shown in FIG. 7, the selector DSEL-i outputs the transfer data signal SDATAi when the enable signal Enable is “1” (high level), and the enable signal Enable is “0” (low level). In this case, the output data signal ODATAi is output. That is, the reception-side flip-flop circuit DFF-i and the selector DSEL-i correspond to a flip-flop circuit with an enable signal that uses the signal Enable as an enable signal.

AND回路101は、セット信号SETとインバータ102により反転されたビジィ信号BUSYとが入力され、演算結果をリクエスト信号Req1として出力する。つまり、ビジィ信号BUSYがハイレベルである場合には、セット信号SETにかかわらずリクエスト信号Req1がローレベルとなり、ビジィ信号BUSYがローレベルである場合には、セット信号SETがリクエスト信号Req1として出力される。   The AND circuit 101 receives the set signal SET and the busy signal BUSY inverted by the inverter 102, and outputs the calculation result as the request signal Req1. That is, when the busy signal BUSY is at a high level, the request signal Req1 is at a low level regardless of the set signal SET, and when the busy signal BUSY is at a low level, the set signal SET is output as the request signal Req1. The

ここで、セット信号SETは、入力データ信号IDATAiが有効であることを示す信号であり、入力データ信号IDATAiが有効である場合にハイレベルとなる。また、ビジィ信号BUSYは、図7に示したデータ転送装置において、第1クロックドメインから第2クロックドメインへデータ転送中であることを示す信号であり、データ転送中にハイレベルとなる。   Here, the set signal SET is a signal indicating that the input data signal IDATAi is valid, and becomes a high level when the input data signal IDATAi is valid. The busy signal BUSY is a signal indicating that data is being transferred from the first clock domain to the second clock domain in the data transfer apparatus shown in FIG. 7, and becomes high level during data transfer.

AND回路103は、リクエスト信号Req1とインバータ104により反転されたアクノリッジ信号Ack2とが入力され、演算結果を出力する。OR回路105は、リクエスト信号Req1とアクノリッジ信号Ack2とが入力され、演算結果を出力する。セレクタ106は、OR回路105の出力に応じて、AND回路103の出力又はリクエスト信号Req2を出力する。   The AND circuit 103 receives the request signal Req1 and the acknowledge signal Ack2 inverted by the inverter 104, and outputs a calculation result. The OR circuit 105 receives the request signal Req1 and the acknowledge signal Ack2, and outputs an operation result. The selector 106 outputs the output of the AND circuit 103 or the request signal Req2 according to the output of the OR circuit 105.

図7に示した例では、セレクタ106は、OR回路105の出力がハイレベル、すなわちリクエスト信号Req1又はアクノリッジ信号Ack2がハイレベルである場合にAND回路103の出力を出力する。また、セレクタ106は、OR回路105の出力がローレベル、すなわちリクエスト信号Req1及びアクノリッジ信号Ack2がともにローレベルである場合にリクエスト信号Req2を出力する。   In the example shown in FIG. 7, the selector 106 outputs the output of the AND circuit 103 when the output of the OR circuit 105 is at a high level, that is, when the request signal Req1 or the acknowledge signal Ack2 is at a high level. The selector 106 outputs the request signal Req2 when the output of the OR circuit 105 is at a low level, that is, when both the request signal Req1 and the acknowledge signal Ack2 are at a low level.

フリップフロップ回路107は、第1のクロック信号CK1に同期して、セレクタ106の出力を保持し、リクエスト信号Req2として出力する。したがって、リクエスト信号Req2は、リクエスト信号Req1がハイレベルになった次の第1のクロック信号CK1の立ち上がりでハイレベルになり、アクノリッジ信号Ack2がハイレベルになった次の第1のクロック信号CK1の立ち上がりでローレベルになる。   The flip-flop circuit 107 holds the output of the selector 106 in synchronization with the first clock signal CK1, and outputs it as the request signal Req2. Therefore, the request signal Req2 becomes high level at the rising edge of the next first clock signal CK1 when the request signal Req1 becomes high level, and the next first clock signal CK1 when the acknowledge signal Ack2 becomes high level. It becomes low level at the rising edge.

メタステーブル対策回路のフリップフロップ回路108、109は、第1のクロック信号CK1に同期したリクエスト信号Req2を第2のクロック信号CK2に同期させる。フリップフロップ回路108は、第2のクロック信号CK2に同期して、リクエスト信号Req2を保持し、リクエスト信号Req3として出力する。また、フリップフロップ回路109は、第2のクロック信号CK2に同期して、リクエスト信号Req3を保持し、リクエスト信号Req4として出力する。   The flip-flop circuits 108 and 109 of the metastable countermeasure circuit synchronize the request signal Req2 synchronized with the first clock signal CK1 with the second clock signal CK2. The flip-flop circuit 108 holds the request signal Req2 in synchronization with the second clock signal CK2, and outputs it as the request signal Req3. The flip-flop circuit 109 holds the request signal Req3 in synchronization with the second clock signal CK2, and outputs it as the request signal Req4.

フリップフロップ回路110は、第2のクロック信号CK2に同期して、リクエスト信号Req4を保持し、リクエスト信号Req5として出力する。AND回路111は、リクエスト信号Req4とインバータ112により反転されたリクエスト信号Req5とが入力され、演算結果をイネーブル信号Enableとして出力する。したがって、イネーブル信号Enableは、リクエスト信号Req4がハイレベルになってから第2のクロック信号CK2における1周期の期間においてパルス状にハイレベルとなる。   The flip-flop circuit 110 holds the request signal Req4 in synchronization with the second clock signal CK2, and outputs it as the request signal Req5. The AND circuit 111 receives the request signal Req4 and the request signal Req5 inverted by the inverter 112, and outputs the calculation result as an enable signal Enable. Therefore, the enable signal Enable becomes a high level in the form of a pulse in the period of one cycle in the second clock signal CK2 after the request signal Req4 becomes a high level.

フリップフロップ回路113は、第2のクロック信号CK2に同期して、イネーブル信号Enableを保持し、バリッド信号VALIDとして出力する。ここで、バリッド信号VALIDは、出力データ信号ODATAiが有効であることを示す信号であり、出力データ信号ODATAiが有効である場合にハイレベルとなる。なお、本例及び以下に説明する実施形態では、バリッド信号VALIDが第2のクロック信号CK2における1周期の期間においてパルス状にハイレベルとする例を示す。しかし、これに限定されず、バリッド信号VALIDをハイレベルとする期間は出力データ信号ODATAiを受ける後段の回路の仕様等に応じて変更可能であり、期間に応じてバリッド信号VALIDの出力に係る回路構成を適宜変更しても良い。   The flip-flop circuit 113 holds the enable signal Enable in synchronization with the second clock signal CK2, and outputs it as a valid signal VALID. Here, the valid signal VALID is a signal indicating that the output data signal ODATAi is valid, and becomes a high level when the output data signal ODATAi is valid. Note that, in this example and the embodiments described below, an example in which the valid signal VALID is set to a high level in a pulsed manner in one period of the second clock signal CK2 is shown. However, the present invention is not limited to this, and the period during which the valid signal VALID is set to the high level can be changed according to the specifications of the subsequent circuit that receives the output data signal ODATAi, and the circuit related to the output of the valid signal VALID according to the period. The configuration may be changed as appropriate.

メタステーブル対策回路のフリップフロップ回路114、115は、第2のクロック信号CK2に同期したリクエスト信号Req4を第1のクロック信号CK1に同期させる。フリップフロップ回路114は、第1のクロック信号CK1に同期して、リクエスト信号Req4を保持し、アクノリッジ信号Ack1として出力する。また、フリップフロップ回路115は、第1のクロック信号CK1に同期して、アクノリッジ信号Ack1を保持し、アクノリッジ信号Ack2として出力する。   The flip-flop circuits 114 and 115 of the metastable countermeasure circuit synchronize the request signal Req4 synchronized with the second clock signal CK2 with the first clock signal CK1. The flip-flop circuit 114 holds the request signal Req4 in synchronization with the first clock signal CK1, and outputs it as the acknowledge signal Ack1. In addition, the flip-flop circuit 115 holds the acknowledge signal Ack1 in synchronization with the first clock signal CK1, and outputs it as the acknowledge signal Ack2.

OR回路116は、リクエスト信号Req2とアクノリッジ信号Ack2とが入力され、演算結果をビジィ信号BUSYとして出力する。つまり、ビジィ信号BUSYは、リクエスト信号Req2及びアクノリッジ信号Ack2の少なくとも一方がハイレベルである場合にハイレベルとなり、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルである場合にローレベルとなる。   The OR circuit 116 receives the request signal Req2 and the acknowledge signal Ack2, and outputs the calculation result as a busy signal BUSY. That is, the busy signal BUSY becomes a high level when at least one of the request signal Req2 and the acknowledge signal Ack2 is at a high level, and becomes a low level when both the request signal Req2 and the acknowledge signal Ack2 are at a low level.

図8は、図7に示したデータ転送装置の動作例を示すタイミングチャートである。時刻T51において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされる。このとき、ビジィ信号BUSYがローレベルであるので、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、セレクタSSELは、入力データ信号IDATAをフリップフロップ回路SFFに出力する。   FIG. 8 is a timing chart showing an operation example of the data transfer apparatus shown in FIG. At time T51, the set signal SET indicating that the input data signal IDATA is valid is set to the high level. At this time, since the busy signal BUSY is at a low level, the request signal Req1 becomes a high level according to the set signal SET, and the selector SSEL outputs the input data signal IDATA to the flip-flop circuit SFF.

リクエスト信号Req1がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T52において、フリップフロップ回路SFFは、第1のクロック信号CK1に同期して、入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。また、リクエスト信号Req1がハイレベルであるので、リクエスト信号Req2がハイレベルになり、これによりデータ転送中であることを示すビジィ信号BUSYがハイレベルになる。なお、セット信号SETは、ビジィ信号BUSYがローレベルであったので、時刻T52においてローレベルとされ、リクエスト信号Req1がローレベルになる。   At time T52, which is the rise of the first clock signal CK1 after the request signal Req1 becomes high level, the flip-flop circuit SFF holds the input data signal IDATA in synchronization with the first clock signal CK1, Output as the transfer data signal SDATA. Further, since the request signal Req1 is at a high level, the request signal Req2 is at a high level, and thereby the busy signal BUSY indicating that data transfer is being performed is at a high level. Since the busy signal BUSY is at a low level, the set signal SET is set to a low level at time T52, and the request signal Req1 is set to a low level.

リクエスト信号Req2がハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T61において、リクエスト信号Req3がハイレベルになり、続く時刻T62、T63において、リクエスト信号Req4、Req5が順次ハイレベルになる。したがって、時刻T62〜時刻T63の期間において、イネーブル信号Enableがハイレベルになり、セレクタDSELは、転送データ信号SDATAをフリップフロップ回路DFFに出力する。   At time T61 when the second clock signal CK2 rises after the request signal Req2 becomes high level, the request signal Req3 becomes high level, and at subsequent times T62 and T63, the request signals Req4 and Req5 become high level sequentially. become. Therefore, in the period from time T62 to time T63, the enable signal Enable becomes high level, and the selector DSEL outputs the transfer data signal SDATA to the flip-flop circuit DFF.

イネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T63において、フリップフロップ回路DFFは、第2のクロック信号CK2に同期して、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。また、イネーブル信号Enableがハイレベルであるので、出力データ信号ODATAが有効であることを示すバリッド信号VALIDがハイレベルになる。   At time T63, which is the rise of the second clock signal CK2 after the enable signal Enable becomes high level, the flip-flop circuit DFF holds the transfer data signal SDATA in synchronization with the second clock signal CK2, Output as an output data signal ODATA. Since the enable signal Enable is at a high level, the valid signal VALID indicating that the output data signal ODATA is valid is at a high level.

リクエスト信号Req4がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T53において、アクノリッジ信号Ack1がハイレベルになり、続く時刻T54において、アクノリッジ信号Ack2がハイレベルになる。そして、時刻T55において、アクノリッジ信号Ack2がハイレベルであるので、リクエスト信号Req2がローレベルになる。   At time T53, which is the rise of the first clock signal CK1 after the request signal Req4 becomes high level, the acknowledge signal Ack1 becomes high level, and at the subsequent time T54, the acknowledge signal Ack2 becomes high level. At time T55, since the acknowledge signal Ack2 is at the high level, the request signal Req2 is at the low level.

これにより、リクエスト信号Req2がローレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T65において、リクエスト信号Req3がローレベルになり、続く時刻T66、T67において、リクエスト信号Req4、Req5が順次ローレベルになる。また、リクエスト信号Req4がローレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T56において、アクノリッジ信号Ack1がローレベルになり、続く時刻T57において、アクノリッジ信号Ack2がローレベルになる。また、時刻T57において、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルになることで、ビジィ信号BUSYがローレベルになる。   Accordingly, at time T65 when the second clock signal CK2 rises after the request signal Req2 becomes low level, the request signal Req3 becomes low level, and at the subsequent times T66 and T67, the request signals Req4 and Req5 change. Sequentially goes low. Further, at time T56 when the first clock signal CK1 rises after the request signal Req4 becomes low level, the acknowledge signal Ack1 becomes low level, and at the subsequent time T57, the acknowledge signal Ack2 becomes low level. At time T57, the request signal Req2 and the acknowledge signal Ack2 both become low level, so that the busy signal BUSY becomes low level.

ここで、時刻T55において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされるが、時刻T57まではビジィ信号BUSYがハイレベルであるので、リクエスト信号Req1はローレベルに維持される。時刻T57においてビジィ信号BUSYがローレベルになると、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、セレクタSSELは、入力データ信号IDATAをフリップフロップ回路SFFに出力する。   Here, at time T55, the set signal SET indicating that the input data signal IDATA is valid is set to the high level, but until the time T57, the busy signal BUSY is at the high level, so that the request signal Req1 is set to the low level. Maintained. When the busy signal BUSY becomes low level at time T57, the request signal Req1 becomes high level according to the set signal SET, and the selector SSEL outputs the input data signal IDATA to the flip-flop circuit SFF.

そして、リクエスト信号Req1がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T58において、フリップフロップ回路SFFは、第1のクロック信号CK1に同期して、入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。以降、前述した動作と同様にしてデータ転送を行う。   Then, at time T58, which is the rise of the first clock signal CK1 after the request signal Req1 becomes high level, the flip-flop circuit SFF holds the input data signal IDATA in synchronization with the first clock signal CK1. And output as the transfer data signal SDATA. Thereafter, data transfer is performed in the same manner as described above.

ここで、図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型フリップフロップ回路を使用するとデータ転送装置の消費電力が大きくなってしまう。   Here, the D-type flip-flop circuit shown in FIG. 9A is used for the transmission-side flip-flop circuit SFF and the reception-side flip-flop circuit DFF in the handshake type data transfer apparatus as shown in FIG. It is done. The D-type flip-flop circuit includes eight NAND operation circuits (NAND circuits) 301 to 308 and two inverters 309 and 310 connected as shown in FIG. In the D-type flip-flop circuit shown in FIG. 9A, as shown in FIG. 9B, the value of the D input is held as the Q output at the rising edge of the input clock signal CK. In the D-type flip-flop circuit, power is consumed every time the clock is driven. Therefore, if the D-type flip-flop circuit is used for the transmission-side flip-flop circuit SFF and the reception-side flip-flop circuit DFF, the power consumption of the data transfer device is reduced. It gets bigger.

(第1の実施形態)
図1は、本発明の第1の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置の構成例を示す図である。この図1において、図7に示した構成要素と同じ構成要素には同一の符号を付し、重複する説明は省略する。第1の実施形態における半導体装置は、図7に示したデータ転送装置における送信側のフリップフロップ回路SFF−i(及びセレクタSSEL−i)に換えて、ラッチ回路SL−iを用いたものである。すなわち、第1の実施形態における半導体装置は、図1に示すように送信側のラッチ回路SL−iと、受信側のフリップフロップ回路DFF−i及びセレクタDSEL−iと、制御回路としてのメタステーブル対策回路13とを有する。
(First embodiment)
FIG. 1 is a diagram illustrating a configuration example of a semiconductor device that performs handshake data transfer according to the first embodiment of the present invention. In FIG. 1, the same components as those shown in FIG. 7 are denoted by the same reference numerals, and redundant description is omitted. The semiconductor device according to the first embodiment uses a latch circuit SL-i instead of the transmission-side flip-flop circuit SFF-i (and selector SSEL-i) in the data transfer device shown in FIG. . That is, the semiconductor device according to the first embodiment includes a transmission side latch circuit SL-i, a reception side flip-flop circuit DFF-i, a selector DSEL-i, and a metastable as a control circuit, as shown in FIG. And a countermeasure circuit 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が変化したときに電力が消費される。   Each of the latch circuits SL-i is a gated D latch circuit as shown in FIG. The gated D latch circuit has four NAND circuits 321 to 324 connected as shown in FIG. In the gated D latch circuit shown in FIG. 10A, as shown in FIG. 10B, when the input gate signal G is at a high level, the value of the D input is transmitted to the Q output. Hold Q output when low level. In the gated D latch circuit, power is consumed when the gate signal G changes.

ここで、D型フリップフロップ回路とゲーテッドDラッチ回路とは、タイミング特性が異なる。通常、D型フリップフロップ回路をゲーテッドDラッチ回路に置き換えるには、異なるタイミング特性に対応するために信号のタイミングを合わせる制御回路等を新たに追加する。   Here, the D-type flip-flop circuit and the gated D latch circuit have different timing characteristics. Usually, in order to replace the D-type flip-flop circuit with a gated D-latch circuit, a control circuit or the like for adjusting the timing of signals is newly added to cope with different timing characteristics.

しかし、ハンドシェイク型のデータ転送を行う半導体装置では、メタステーブル対策回路13から出力される信号によってデータの取り込み等が制御されるので、D型フリップフロップ回路をゲーテッドDラッチ回路に置き換えたとしても、異なるタイミング特性を考慮する必要がない。したがって、フリップフロップ回路に換えてラッチ回路を用いても新たな制御回路を追加することなく、異なるクロックドメイン間のデータ転送が可能である。また、フリップフロップ回路に換えてラッチ回路を用いることで、半導体装置の回路面積を縮小できるとともに、消費電力を抑えることができる。   However, in a semiconductor device that performs a handshake type data transfer, data capture and the like are controlled by a signal output from the metastable countermeasure circuit 13, so even if the D-type flip-flop circuit is replaced with a gated D-latch circuit. There is no need to consider different timing characteristics. Therefore, even when a latch circuit is used instead of the flip-flop circuit, data transfer between different clock domains is possible without adding a new control circuit. In addition, by using a latch circuit instead of the flip-flop circuit, the circuit area of the semiconductor device can be reduced and power consumption can be suppressed.

図1に示すように、ラッチ回路SL−iの各々は、ゲート信号としてメタステーブル対策回路13から出力されるリクエスト信号Req1が入力されるとともに、D入力として入力データ信号IDATAiが入力される。また、ラッチ回路SL−iの各々は、Q出力として転送データ信号SDATAiを出力する。   As shown in FIG. 1, each of the latch circuits SL-i receives a request signal Req1 output from the metastable countermeasure circuit 13 as a gate signal and an input data signal IDATAi as a D input. Each of the latch circuits SL-i outputs a transfer data signal SDATAi as a Q output.

なお、図1に示す第1の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置において、異なるクロックドメイン間で伝送される信号は、配線遅延が信号を受ける側のクロックドメインのクロック信号の2周期以内であるとする。すなわち、送信側のラッチ回路SL−iの出力と受信側のフリップフロップ回路DFF−iの入力との間の配線遅延は、第2のクロック信号CK2の2周期以内とする。   In the semiconductor device performing the handshake type data transfer in the first embodiment shown in FIG. 1, the signal transmitted between different clock domains is 2 of the clock signal of the clock domain on the side where the wiring delay receives the signal. Suppose that it is within the cycle. That is, the wiring delay between the output of the latch circuit SL-i on the transmission side and the input of the flip-flop circuit DFF-i on the reception side is within two cycles of the second clock signal CK2.

図2は、図1に示した半導体装置の動作例を示すタイミングチャートである。時刻T11において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされる。このとき、ビジィ信号BUSYがローレベルであるので、リクエスト信号Req1がセット信号SETに応じてハイレベルになる。ゲート信号として入力されるリクエスト信号Req1がハイレベルになったことにより、ラッチ回路SLは、入力データ信号IDATAを転送データ信号SDATAとして出力する。   FIG. 2 is a timing chart showing an operation example of the semiconductor device shown in FIG. At time T11, the set signal SET indicating that the input data signal IDATA is valid is set to the high level. At this time, since the busy signal BUSY is at a low level, the request signal Req1 becomes a high level according to the set signal SET. When the request signal Req1 input as the gate signal becomes high level, the latch circuit SL outputs the input data signal IDATA as the transfer data signal SDATA.

続く、時刻T12において、リクエスト信号Req2がハイレベルになり、これによりデータ転送中であることを示すビジィ信号BUSYがハイレベルになる。なお、セット信号SETは、ビジィ信号BUSYがローレベルであったので、時刻T12においてローレベルとされ、リクエスト信号Req1がローレベルになる。また、ゲート信号として入力されるリクエスト信号Req1がローレベルになったことにより、ラッチ回路SLは、リクエスト信号Req1がローレベルになったときの入力データ信号IDATAを保持し、転送データ信号SDATAとして出力する。   At time T12, the request signal Req2 becomes high level, and thereby the busy signal BUSY indicating that data is being transferred becomes high level. Since the busy signal BUSY is at a low level, the set signal SET is set to a low level at time T12, and the request signal Req1 is set to a low level. Further, when the request signal Req1 input as the gate signal becomes low level, the latch circuit SL holds the input data signal IDATA when the request signal Req1 becomes low level, and outputs it as the transfer data signal SDATA. To do.

リクエスト信号Req2がハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T21において、リクエスト信号Req3がハイレベルになり、続く時刻T22、T23において、リクエスト信号Req4、Req5が順次ハイレベルになる。したがって、時刻T22〜時刻T23の期間において、イネーブル信号Enableがハイレベルになり、セレクタDSELは、転送データ信号SDATAをフリップフロップ回路DFFに出力する。   At time T21 when the second clock signal CK2 rises after the request signal Req2 becomes high level, the request signal Req3 becomes high level, and at subsequent times T22 and T23, the request signals Req4 and Req5 become high level sequentially. become. Therefore, in the period from time T22 to time T23, the enable signal Enable becomes high level, and the selector DSEL outputs the transfer data signal SDATA to the flip-flop circuit DFF.

イネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T23において、フリップフロップ回路DFFは、第2のクロック信号CK2に同期して、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。また、イネーブル信号Enableがハイレベルであるので、出力データ信号ODATAが有効であることを示すバリッド信号VALIDがハイレベルになる。   At time T23 which is the rising edge of the second clock signal CK2 after the enable signal Enable becomes high level, the flip-flop circuit DFF holds the transfer data signal SDATA in synchronization with the second clock signal CK2, Output as an output data signal ODATA. Since the enable signal Enable is at a high level, the valid signal VALID indicating that the output data signal ODATA is valid is at a high level.

リクエスト信号Req4がハイレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T13において、アクノリッジ信号Ack1がハイレベルになり、続く時刻T14において、アクノリッジ信号Ack2がハイレベルになる。そして、時刻T15において、アクノリッジ信号Ack2がハイレベルであるので、リクエスト信号Req2がローレベルになる。   At time T13, which is the rise of the first clock signal CK1 after the request signal Req4 becomes high level, the acknowledge signal Ack1 becomes high level, and at the subsequent time T14, the acknowledge signal Ack2 becomes high level. At time T15, since the acknowledge signal Ack2 is at a high level, the request signal Req2 is at a low level.

これにより、リクエスト信号Req2がローレベルになった後の第2のクロック信号CK2の立ち上がりである時刻T25において、リクエスト信号Req3がローレベルになり、続く時刻T26、T27において、リクエスト信号Req4、Req5が順次ローレベルになる。また、リクエスト信号Req4がローレベルになった後の第1のクロック信号CK1の立ち上がりである時刻T16において、アクノリッジ信号Ack1がローレベルになり、続く時刻T17において、アクノリッジ信号Ack2がローレベルになる。また、時刻T17において、リクエスト信号Req2及びアクノリッジ信号Ack2がともにローレベルになることで、ビジィ信号BUSYがローレベルになる。   As a result, at time T25 when the second clock signal CK2 rises after the request signal Req2 becomes low level, the request signal Req3 becomes low level, and at time T26 and T27, the request signals Req4 and Req5 become Sequentially goes low. Further, at time T16 when the first clock signal CK1 rises after the request signal Req4 becomes low level, the acknowledge signal Ack1 becomes low level, and at time T17, the acknowledge signal Ack2 becomes low level. At time T17, the request signal Req2 and the acknowledge signal Ack2 both become low level, so that the busy signal BUSY becomes low level.

ここで、時刻T15において、入力データ信号IDATAが有効であることを示すセット信号SETがハイレベルとされるが、時刻T17まではビジィ信号BUSYがハイレベルであるので、リクエスト信号Req1はローレベルに維持される。時刻T17においてビジィ信号BUSYがローレベルになると、リクエスト信号Req1がセット信号SETに応じてハイレベルになり、ラッチ回路SLは、新たな入力データ信号IDATAを転送データ信号SDATAとして出力する。   Here, at time T15, the set signal SET indicating that the input data signal IDATA is valid is set to the high level, but until the time T17, the busy signal BUSY is at the high level, so the request signal Req1 is set to the low level. Maintained. When the busy signal BUSY becomes low level at time T17, the request signal Req1 becomes high level according to the set signal SET, and the latch circuit SL outputs a new input data signal IDATA as the transfer data signal SDATA.

そして、時刻18において、リクエスト信号Req1がローレベルになり、ラッチ回路SLは、リクエスト信号Req1がローレベルになったときの入力データ信号INDATAを保持し、転送データ信号SDATAとして出力する。以降、前述した動作と同様にしてデータ転送を行う。   At time 18, the request signal Req1 becomes low level, and the latch circuit SL holds the input data signal INDATA when the request signal Req1 becomes low level, and outputs it as the transfer data signal SDATA. Thereafter, data transfer is performed in the same manner as described above.

第1の実施形態における半導体装置では、メタステーブル対策回路13からのリクエスト信号Req1がハイレベルになったときから(例えば図2に示す時刻T11から)、ラッチ回路SLは、入力データ信号IDATAを転送データ信号SDATAとして出力する。すなわち、前述した参考技術のように送信側のフリップフロップ回路SFFを用いた場合と比較すると、第1の実施形態における半導体装置では、第1のクロック信号CK1の1周期分早く、入力データ信号IDATAが転送データ信号SDATAとして出力されることとなる。   In the semiconductor device according to the first embodiment, the latch circuit SL transfers the input data signal IDATA from when the request signal Req1 from the metastable countermeasure circuit 13 becomes high level (for example, from time T11 shown in FIG. 2). Output as data signal SDATA. That is, as compared with the case where the flip-flop circuit SFF on the transmission side is used as in the reference technique described above, the input data signal IDATA is earlier in the semiconductor device in the first embodiment by one cycle of the first clock signal CK1. Is output as the transfer data signal SDATA.

しかし、受信側のフリップフロップ回路DFFは、メタステーブル対策回路13からのイネーブル信号Enableがハイレベルになった後の第2のクロック信号CK2の立ち上がりにおいて、転送データ信号SDATAを保持し、出力データ信号ODATAとして出力する。つまり、第1のクロック信号CK1の1周期分早く、入力データ信号IDATAが転送データ信号SDATAとして出力されても、受信側のフリップフロップ回路DFFは、適切な転送データ信号SDATAを保持し、出力データ信号ODATAとして出力することができる。また、送信側のフリップフロップ回路SFFに換えてラッチ回路SLを用いたことで、第1のクロック信号CK1の駆動の度に電力が消費されることもない。   However, the flip-flop circuit DFF on the receiving side holds the transfer data signal SDATA at the rising edge of the second clock signal CK2 after the enable signal Enable from the metastable countermeasure circuit 13 becomes high level, and the output data signal Output as ODATA. That is, even if the input data signal IDATA is output as the transfer data signal SDATA one cycle earlier than the first clock signal CK1, the reception-side flip-flop circuit DFF holds the appropriate transfer data signal SDATA, and the output data It can be output as the signal ODATA. In addition, since the latch circuit SL is used instead of the transmission-side flip-flop circuit SFF, power is not consumed every time the first clock signal CK1 is driven.

このように第1の実施形態における半導体装置によれば、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。   Thus, according to the semiconductor device in the first embodiment, power consumption can be suppressed and the circuit area of the semiconductor device can be reduced without impairing the stability of data transfer between different clock domains. .

(第2の実施形態)
図3は、本発明の第2の実施形態におけるハンドシェイク型のデータ転送を行う半導体装置の構成例を示す図である。この図3において、図1、図7に示した構成要素と同じ構成要素には同一の符号を付し、重複する説明は省略する。第2の実施形態における半導体装置は、さらに受信側のフリップフロップ回路DFF−i(及びセレクタDSEL−i)に換えて、ラッチ回路DL−iを用いたものである。すなわち、第2の実施形態における半導体装置は、図3に示すように送信側のラッチ回路SL−iと、受信側のラッチ回路DL−iと、制御回路としてのメタステーブル対策回路13とを有する。
(Second Embodiment)
FIG. 3 is a diagram illustrating a configuration example of a semiconductor device that performs handshake data transfer according to the second embodiment of the present invention. In FIG. 3, the same components as those shown in FIGS. 1 and 7 are denoted by the same reference numerals, and redundant description is omitted. The semiconductor device in the second embodiment uses a latch circuit DL-i instead of the flip-flop circuit DFF-i (and selector DSEL-i) on the receiving side. That is, the semiconductor device according to the second embodiment includes a transmission-side latch circuit SL-i, a reception-side latch circuit DL-i, and a metastable countermeasure circuit 13 as a control circuit, as shown in FIG. .

ラッチ回路DL−iの各々は、ラッチ回路SL−iと同様に図10(A)に示したようなゲーテッドDラッチ回路である。ラッチ回路DL−iの各々は、ゲート信号としてメタステーブル対策回路13から出力されるイネーブル信号Enableが入力されるとともに、D入力として転送データ信号SDATAiが入力される。また、ラッチ回路DL−iの各々は、Q出力として出力データ信号ODATAiを出力する。   Each of the latch circuits DL-i is a gated D latch circuit as shown in FIG. 10A, similarly to the latch circuit SL-i. Each of the latch circuits DL-i receives the enable signal Enable output from the metastable countermeasure circuit 13 as a gate signal and the transfer data signal SDATAi as a D input. Each latch circuit DL-i outputs an output data signal ODATAi as a Q output.

図4は、図3に示した半導体装置の動作例を示すタイミングチャートである。図4における時刻T31〜T38、T41〜T47は、図2における時刻T11〜T18、T21〜T27にそれぞれ相当する。図3に示した半導体装置の動作は、図1に示した半導体装置の動作と基本的には同様である。   FIG. 4 is a timing chart showing an operation example of the semiconductor device shown in FIG. Times T31 to T38 and T41 to T47 in FIG. 4 correspond to times T11 to T18 and T21 to T27 in FIG. 2, respectively. The operation of the semiconductor device shown in FIG. 3 is basically the same as that of the semiconductor device shown in FIG.

ただし、第2の実施形態における半導体装置では、図4に示すように、時刻T42において、ゲート信号として入力されるイネーブル信号Enableがハイレベルになることにより、ラッチ回路DLは、転送データ信号SDATAを出力データ信号ODATAとして出力する。つまり、受信側のフリップフロップ回路DFFを用いた場合と比較すると、第2の実施形態における半導体装置では、第2のクロック信号CK2の1周期分早く、転送データ信号SDATAが出力データ信号ODATAとして出力されることとなる。   However, in the semiconductor device according to the second embodiment, as shown in FIG. 4, when the enable signal Enable input as a gate signal becomes high level at time T42, the latch circuit DL receives the transfer data signal SDATA. Output as an output data signal ODATA. That is, as compared with the case where the reception-side flip-flop circuit DFF is used, in the semiconductor device in the second embodiment, the transfer data signal SDATA is output as the output data signal ODATA earlier by one cycle of the second clock signal CK2. Will be.

しかし、半導体装置は、メタステーブル対策回路13からのバリッド信号VALIDにより出力データ信号ODATAが有効であることを示す。言い換えれば、半導体装置において出力データ信号ODATAを受ける後段の回路は、バリッド信号VALIDに基づいて出力データ信号ODATAの有効性を判断する。したがって、第2のクロック信号CK2の1周期分早く、出力データ信号ODATAを出力しても、後段の回路は、半導体装置において受信側のフリップフロップ回路DFFを用いた場合と同様に出力データ信号ODATAを得ることができる。また、受信側のフリップフロップ回路DFFに換えてラッチ回路DLを用いたことで、第2のクロック信号CK2の駆動の度に電力が消費されることもない。   However, the semiconductor device indicates that the output data signal ODATA is valid by the valid signal VALID from the metastable countermeasure circuit 13. In other words, the subsequent circuit that receives the output data signal ODATA in the semiconductor device determines the validity of the output data signal ODATA based on the valid signal VALID. Therefore, even if the output data signal ODATA is output one cycle earlier than the second clock signal CK2, the subsequent circuit can output the output data signal ODATA as in the case where the flip-flop circuit DFF on the receiving side is used in the semiconductor device. Can be obtained. In addition, since the latch circuit DL is used in place of the reception-side flip-flop circuit DFF, power is not consumed every time the second clock signal CK2 is driven.

このように第2の実施形態における半導体装置によれば、異なるクロックドメイン間のデータ転送の安定性を損なうことなく、さらに、消費電力を抑えることができるとともに、半導体装置の回路面積を縮小することができる。   Thus, according to the semiconductor device of the second embodiment, it is possible to further reduce power consumption and reduce the circuit area of the semiconductor device without impairing the stability of data transfer between different clock domains. Can do.

なお、送信側でラッチ回路SLを用い受信側でフリップフロップ回路DFFを用いる場合、及び送信側と受信側ともにラッチ回路SL、DLを用いる場合について示したが、送信側でフリップフロップ回路SFFを用い受信側でラッチ回路DLを用いるようにしても良い。   Although the case where the latch circuit SL is used on the transmission side and the flip-flop circuit DFF is used on the reception side and the case where the latch circuits SL and DL are used on both the transmission side and the reception side are shown, the flip-flop circuit SFF is used on the transmission side. A latch circuit DL may be used on the receiving side.

また、前述したハンドシェイク型のデータ転送を行う半導体装置では、リクエスト信号Req2とアクノリッジ信号Ack2とをOR回路116により論理和演算することでビジィ信号BUSYを生成している。第2のクロック信号CK2の周波数が、第1のクロック信号CK1の周波数より高い場合には、連続するデータ転送であってもリクエスト信号Req2がローレベルになったことを第2のクロック信号CK2で動作する回路で検出することが可能であるので、図5に示すようにOR回路116を設けずに、リクエスト信号Req2をビジィ信号BUSYとして出力するようにしても良い。   In the semiconductor device that performs the above-described handshake type data transfer, the busy signal BUSY is generated by performing an OR operation on the request signal Req2 and the acknowledge signal Ack2 by the OR circuit 116. When the frequency of the second clock signal CK2 is higher than the frequency of the first clock signal CK1, the second clock signal CK2 indicates that the request signal Req2 has become a low level even during continuous data transfer. Since it can be detected by an operating circuit, the request signal Req2 may be output as the busy signal BUSY without providing the OR circuit 116 as shown in FIG.

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

11 回路ブロック(回路モジュール)
12 位相ロックループ(PLL)回路
13 メタステーブル対策回路
SL ラッチ回路(送信側)
DL ラッチ回路(受信側)
SFF フリップフロップ回路(送信側)
DFF フリップフロップ回路(受信側)
IDATA 入力データ信号
SDATA 転送データ信号
ODATA 出力データ信号
11 Circuit block (circuit module)
12 Phase Lock Loop (PLL) Circuit 13 Metastable Countermeasure Circuit SL Latch Circuit (Transmission Side)
DL latch circuit (receiving side)
SFF flip-flop circuit (transmission side)
DFF flip-flop circuit (receiving side)
IDATA input data signal SDATA transfer data signal ODATA output data signal

Claims (5)

第1のクロック信号が供給される第1クロックドメインと、
前記第1のクロック信号とは異なる第2のクロック信号が供給される第2クロックドメインとを有し、
前記第1クロックドメインから前記第2クロックドメインへのデータ転送を行う半導体装置であって、
前記第1クロックドメインに属し、前記第1のクロック信号とは異なる第1のゲート信号がアサートされているとき、前記第1のクロック信号に同期した入力データを転送データとして出力し、前記第1のゲート信号がネゲートされているとき、前記転送データを保持するラッチ回路と、
前記第2クロックドメインに属し、イネーブル信号及び前記第2のクロック信号に応答して、前記ラッチ回路から出力される前記転送データを保持して出力データとして出力するフリップフロップ回路と、
前記入力データが有効であることを示す信号に基づいて、前記第1のゲート信号をパルス状にアサートして前記ラッチ回路に供給し、前記第1のゲート信号に基づいて、前記転送データが安定していることを示す前記イネーブル信号を生成して前記フリップフロップ回路に供給する制御回路とを有することを特徴とする半導体装置。
A first clock domain to which a first clock signal is supplied;
A second clock domain to which a second clock signal different from the first clock signal is supplied,
A semiconductor device for transferring data from the first clock domain to the second clock domain,
When a first gate signal belonging to the first clock domain and different from the first clock signal is asserted, input data synchronized with the first clock signal is output as transfer data, and the first A latch circuit for holding the transfer data when the gate signal is negated,
A flip-flop circuit that belongs to the second clock domain, holds the transfer data output from the latch circuit in response to an enable signal and the second clock signal, and outputs it as output data;
Based on a signal indicating that the input data is valid, the first gate signal is asserted in a pulse form and supplied to the latch circuit, and the transfer data is stabilized based on the first gate signal. And a control circuit that generates the enable signal indicating that the flip-flop circuit is generated and supplies the enable signal to the flip-flop circuit.
第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のゲート信号に基づいて、前記出力データが有効であることを示すバリッド信号を生成して出力する制御回路とを有することを特徴とする半導体装置。
A first clock domain to which a first clock signal is supplied;
A second clock domain to which a second clock signal different from the first clock signal is supplied,
A semiconductor device for transferring data from the first clock domain to the second clock domain,
When a first gate signal belonging to the first clock domain and different from the first clock signal is asserted, input data synchronized with the first clock signal is output as transfer data, and the first A first latch circuit for holding the transfer data when the gate signal is negated,
When the second gate signal belonging to the second clock domain and different from the second clock signal is asserted, the transfer data output from the first latch circuit is output as output data, A second latch circuit for holding the output data when the second gate signal is negated;
Based on a signal indicating that the input data is valid, the first gate signal is asserted in a pulse form and supplied to the first latch circuit, and the transfer is performed based on the first gate signal. The second gate signal asserted in a pulse form indicating that the data is stable is supplied to the second latch circuit, and the output data is valid based on the second gate signal. And a control circuit that generates and outputs a valid signal.
前記制御回路は、前記第1クロックドメインから前記第2クロックドメインへのデータ転送中にアサートされる信号がネゲートされているとき、前記入力データが有効であることを示す信号に応じて、前記第1のクロック信号の1周期の期間、前記第1のゲート信号をアサートすることを特徴とする請求項1又は2記載の半導体装置。   When the signal asserted during the data transfer from the first clock domain to the second clock domain is negated, the control circuit is responsive to a signal indicating that the input data is valid. 3. The semiconductor device according to claim 1, wherein the first gate signal is asserted for a period of one cycle of one clock signal. 第1のクロック信号が供給される第1クロックドメインと、
前記第1のクロック信号とは異なる第2のクロック信号が供給される第2クロックドメインとを有し、
前記第1クロックドメインから前記第2クロックドメインへのデータ転送を行う半導体装置であって、
前記第1クロックドメインに属し、イネーブル信号及び前記第1のクロック信号に応答して、前記第1のクロック信号に同期した前記入力データを保持して転送データとして出力するフリップフロップ回路と、
前記第2クロックドメインに属し、前記第2のクロック信号とは異なるゲート信号がアサートされているとき、前記フリップフロップ回路から出力される前記転送データを出力データとして出力し、前記ゲート信号がネゲートされているとき、前記出力データを保持するラッチ回路と、
前記入力データが有効であることを示す信号に基づいて、前記イネーブル信号を生成して前記フリップフロップ回路に供給し、前記イネーブル信号に基づいて、前記転送データが安定していることを示すパルス状にアサートした前記ゲート信号を前記ラッチ回路に供給し、前記ゲート信号に基づいて、前記出力データが有効であることを示すバリッド信号を生成して出力する制御回路とを有することを特徴とする半導体装置。
A first clock domain to which a first clock signal is supplied;
A second clock domain to which a second clock signal different from the first clock signal is supplied,
A semiconductor device for transferring data from the first clock domain to the second clock domain,
A flip-flop circuit that belongs to the first clock domain, holds the input data synchronized with the first clock signal, and outputs it as transfer data in response to the enable signal and the first clock signal;
When a gate signal belonging to the second clock domain and different from the second clock signal is asserted, the transfer data output from the flip-flop circuit is output as output data, and the gate signal is negated. A latch circuit for holding the output data;
Based on a signal indicating that the input data is valid, the enable signal is generated and supplied to the flip-flop circuit, and based on the enable signal, a pulse shape indicating that the transfer data is stable A control circuit that supplies the gate signal asserted to the latch circuit to generate and output a valid signal indicating that the output data is valid based on the gate signal. apparatus.
第1のクロック信号及び前記第1のクロック信号とは異なる第2のクロック信号を生成するクロック生成回路を有することを特徴とする請求項1乃至4の何れか1項に記載の半導体装置。   5. The semiconductor device according to claim 1, further comprising a clock generation circuit that generates a first clock signal and a second clock signal different from the first clock signal. 6.
JP2014021282A 2014-02-06 2014-02-06 Semiconductor device Active JP6256067B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014021282A JP6256067B2 (en) 2014-02-06 2014-02-06 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014021282A JP6256067B2 (en) 2014-02-06 2014-02-06 Semiconductor device

Publications (2)

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

Family

ID=53892660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014021282A Active JP6256067B2 (en) 2014-02-06 2014-02-06 Semiconductor device

Country Status (1)

Country Link
JP (1) JP6256067B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102467172B1 (en) * 2016-01-25 2022-11-14 삼성전자주식회사 Semiconductor device
DE102017110823A1 (en) 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Semiconductor device, semiconductor system and method of operating the semiconductor device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3881869D1 (en) * 1987-10-06 1993-07-22 Fraunhofer Ges Forschung DIGITAL ADAPTIVE TRANSFORMATION ENCODING METHOD.
JP3604637B2 (en) * 2001-03-12 2004-12-22 シャープ株式会社 Asynchronous transfer device and asynchronous transfer method
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains
JP5742334B2 (en) * 2011-03-18 2015-07-01 富士通セミコンダクター株式会社 Data transfer system, data transfer device, and data transfer method

Also Published As

Publication number Publication date
JP2015149599A (en) 2015-08-20

Similar Documents

Publication Publication Date Title
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
US10430372B2 (en) System on chip including clock management unit and method of operating the system on chip
US9680459B2 (en) Edge-aware synchronization of a data signal
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
US20150015314A1 (en) Mesochronous synchronizer with delay-line phase detector
US20150089108A1 (en) Clock signals for dynamic reconfiguration of communication link bundles
US9672008B2 (en) Pausible bisynchronous FIFO
EP3062188A1 (en) Multi-supply sequential logic unit
JP6256067B2 (en) Semiconductor device
KR20200088499A (en) Asynchronous buffer with pointer offset
US9584305B2 (en) Deskew FIFO buffer with simplified initialization
US8832393B2 (en) Alignment for multiple FIFO pointers
US10523411B2 (en) Programmable clock data recovery (CDR) system including multiple phase error control paths
US10924096B1 (en) Circuit and method for dynamic clock skew compensation
US8176352B2 (en) Clock domain data transfer device and methods thereof
US9183898B2 (en) Multiple data rate wiring and encoding
JP7193110B2 (en) Multi-lane serializer device
US8649241B2 (en) Memory system, memory controller, and synchronizing apparatus
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

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