WO2021068011A1 - Synchronization circuit with reduced latency and increased throughput - Google Patents

Synchronization circuit with reduced latency and increased throughput Download PDF

Info

Publication number
WO2021068011A1
WO2021068011A1 PCT/AT2019/060332 AT2019060332W WO2021068011A1 WO 2021068011 A1 WO2021068011 A1 WO 2021068011A1 AT 2019060332 W AT2019060332 W AT 2019060332W WO 2021068011 A1 WO2021068011 A1 WO 2021068011A1
Authority
WO
WIPO (PCT)
Prior art keywords
flip
flop
output
value
signal
Prior art date
Application number
PCT/AT2019/060332
Other languages
German (de)
French (fr)
Inventor
Markus PFAFF
Original Assignee
Pfaff Markus
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 Pfaff Markus filed Critical Pfaff Markus
Priority to PCT/AT2019/060332 priority Critical patent/WO2021068011A1/en
Publication of WO2021068011A1 publication Critical patent/WO2021068011A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Definitions

  • the present description relates to the field of digital circuit technology, in particular a circuit for synchronizing asynchronous digital signals.
  • Digital circuits are constructed according to the current state of the art on the basis of the so-called synchronous design paradigm.
  • a clock signal controls the loading of new contents into all flip-flops or registers of the system or subsystem.
  • the signals at the inputs of the memory elements must remain stable for a short time before as well as after the actual time of reading in new memory values, i.e. they must not change. These periods of time are called setup and hold times.
  • setup and hold times In order to always meet this condition, it is possible, for example, to work with a single clock signal within the entire system. However, this approach is not always possible due to constraints. For example, different tasks in the overall system often require several clock signals with different clock frequencies.
  • clock domains The areas created in this way, which work with different clock frequencies, are referred to as clock domains. These clock domains are typically asynchronous to one another, i.e. the clock signals do not have a fixed phase relation to one another. Therefore, the setup and hold times mentioned above for signals that pass from one clock domain to another may be violated. This situation can only be circumvented under certain, but often impractical, conditions.
  • the reliability of the circuit, the synchronization latency and the throughput can be used as characteristic parameters for evaluating synchronization circuits.
  • the reliability of the circuit is mostly represented by the MTBF (Me - an Time Between Failures).
  • the synchronization latency (hereinafter also referred to as latency) indicates the delay measured from the occurrence of a signal change at the input of the circuit until it arrives within the clock domain to which it is synchronized.
  • the throughput indicates the rate at which signal changes can be applied to the input of the synchronization circuit without any of these changes being lost during synchronization.
  • the inventor has set himself the task of improving existing circuits for Syn chronization of asynchronous signals in terms of latency and / or throughput with acceptable MTBF.
  • the circuit has a first series circuit comprising a first input flip-flop and a first output flip-flop and a second series circuit comprising a second input flip-flop and a second output flip-flop, the first series circuit and the second series circuit having an input signal is supplied, the level of which represents a binary value.
  • the circuit also has a combinational logic circuit which is designed to receive an output value of the first series circuit, an output value of the second series circuit and a stored old value of a synchronized output signal as input values and to generate an updated value of the synchronized output signal based thereon .
  • the first input flip-flop is clocked with a first clock signal
  • the second input flip-flop is with a second clock signal is clocked, which is delayed with respect to the first clock signal by a delay time.
  • the method comprises sampling an input signal synchronously with a first clock signal and storing the sampled value in a first input flip-flop and sampling the input signal synchronously with a second clock signal and storing the sampled value in a second An input flip-flop, the second clock signal being delayed by a delay time with respect to the first clock signal.
  • the method further comprises forwarding the value stored in the first input flip-flop to a first output flip-flop and forwarding the value stored in the second input flip-flop to a second output flip-flop and combining the value in the first output flip-flop and the second output flip-flop stored values with a stored old value of a synchronized output signal by means of a combinational Fogik circuit, the result of the combination presenting the new value of the synchronized output signal re.
  • Figure 1 illustrates a standard synchronization circuit consisting of two flip-flops connected directly one behind the other.
  • FIGS. 2-4 use timing diagrams to show examples of possible signal waveforms for the circuit from FIG. 1.
  • Figure 5 illustrates a synchronization circuit according to an exemplary embodiment.
  • FIGS. 6 and 7 use timing diagrams to show examples of possible signal profiles for the circuit from FIG. 5.
  • FIG. 8 uses timing diagrams to show the signal curves in the circuit from FIG. 5 for an input signal, as in the circuit from FIG. 1 leads to maximum latency.
  • FIG. 9 illustrates the points in time of a reliably correct sampling of the input signal in the circuit from FIG. 5 at different phase positions of the input signal.
  • Fig. 1 illustrates a very common synchronization circuit for synchronizing (with respect to a clock signal) asynchronous signals.
  • asynchronous input signal iAsync is fed to the input D of a clock edge-controlled D flip-flop LI.
  • the level of the input signal iAsync represents a binary value (i.e. 0 or 1), which can also be interpreted as a Boolean state (“true” or “false”).
  • the value / state of the input signal iAsync is transmitted to the output Q of the D flip-flop LI on every positive edge of the clock signal CLKa. Since the input signal can change almost simultaneously with the positive clock edge, metastable states can occur in the D flip-flop LI.
  • the signal MayMeta available at the output Q of the first D flip-flop LI is not used as the output signal, but the output Q of the D flip-flop LI is followed by a further D flip-flop L2, which is clocked with the same clock signal CLK is. That is, the output Q of the first D flip-flop LI is connected to the input D of the second D flip-flop L2.
  • the synchronized signal Syncd is available as an output signal.
  • the clocked circuit to whose clock the asynchronous input signal iAsync is to be synchronized, is referred to as the “clock domain”.
  • the clock domain Within a clock domain, the states of signals change synchronously with the clock signal that belongs to the respective clock domain.
  • the gray-shaded interval around the positive clock edges (times t 0 , t l etc.) of the clock signal CLK represents the sum of the setup Time ts ETUP unc l holding time t H0LD . That is, with respect to the time t0 occurring clock edge, the gray shaded interval represents the interval from t 0 - t SETUP to t 0 + t H o LD The same applies to Fig. 6 and 7.
  • the synchronization latency of the output signal Syncd with respect to the input signal iAsync is in this case somewhat smaller than the period T CLK of the clock signal CLK and is T CLK -t H0LD .
  • Fig. 3 shows the case of maximum latency, a change of state of the input signal iAsync (in the present example from low to high) occurs at the beginning of the setup time, ie at time t 0 - t SETUP .
  • the synchronization latency of the signal change of the input signal iAsync up to the arrival of the signal change synchronized to the clock in the clock domain is in this case slightly greater than twice the period duration 2 T CLK of the clock signal CLK, namely 2 T CLK + t SETUP .
  • This duration only refers to the arrival of the input signal change in the clock domain.
  • t DEL the signal propagation delay, elapses between the clock edge and the occurrence of the signal change at the output of the D flip-flop L2.
  • this time elapses after the input signal arrives in the receiving clock domain. It is therefore not added to the synchronization latency. For this reason, this time period is not shown in the example from FIG.
  • Fig. 4 illustrates several asynchronous state changes of the input signal iAsync to represent the maximum achievable throughput in the synchronization according to FIG. 1.
  • the first state change occurs at the beginning of the setup time, ie at time t 0 - t SET up
  • the D flip-flop LI temporarily assumes a metastable state and then falls back into the old state, ie the MayMeta signal remains in that Low state up to time t 1 + t DEL and the change of state only becomes “visible” in the output signal Syncd at time iq + t DEL.
  • the input signal iAsync changes back to a low state.
  • the latency is in a range from just below one clock period, ie approximately T CLK ⁇ t H0LD , to a little more than two clock periods, ie 2 T CLK + t SETUP .
  • the rising clock edge of the clock signal CLK of the receiving clock domain is regarded as the time of arrival.
  • the input signal can be viewed as synchronized, even if a small additional delay time (signal transit time t DEL ) is required until this synchronized output signal Syncd can affect the following combinational circuit.
  • the throughput is determined by the time span between two signal changes, which must be at least T CLK + t SETUP + t H0LD (see FIG. 4).
  • the clock signal CLK of the receiving clock domain must therefore always have a higher clock frequency than the (asynchronously) sending clock domain. The same clock frequency is not enough.
  • the MTBF is determined by the circuit properties of the D flip-flop LI, mainly by the time span T CLK - (t SETUP + t DEL ), which is available to it to resolve any metastability that may occur. If this time span is exceeded, the metastable state is applied as an input value at flip-flop L2, which in turn can result in its metastability. In this case the synchronization would not be successful.
  • the exemplary embodiments described below relate to a concept for improving existing circuits for synchronizing asynchronous signals with regard to latency and / or throughput with an acceptable MTBF.
  • the procedure described below can enable the improvement mentioned.
  • it is detected whether there is metastability within the synchronization circuit.
  • two examples will be explained later.
  • conclusions can be drawn as to the correct state.
  • Binary signals as used in digital circuits have only two states / values, namely 0 (low state) or 1 (high state). If there is metastability, this can only have been caused by a change in the status of the input signal either from 0 to 1 or from 1 to 0.
  • the negation of the last valid state of the synchronous output signal is the correct value for further use. This also applies in a trivial way to the presence of a signal change that has not caused metastability.
  • the proposed procedure thus determines a valid new clock-synchronous state from the old state (of the synchronized output signal) and the determination of whether metastability or a signal change is present or not.
  • metastability (or a signal change) can be recognized by comparing the values from two synchronization chains (two D flip-flops one behind the other according to FIG. 1) if the first D flip-flop of one of the chains is around the value ts ETUP + t HOLD receives delayed clock.
  • This measure guarantees that one of the two synchronization chains always carries the correct signal at the output, but it cannot be detected which of the two synchronization chains is delivering the correct signal. If these two output signals are different, there is metastability (or a signal change).
  • This procedure can be easily implemented by means of techniques known per se (integration by means of a field programmable gate array, FPGA, or as an application-specific integrated circuit, ASIC) and is explained in more detail below using the example from FIG. 5.
  • the circuit arrangement from FIG. 5 comprises two synchronization chains (D flip-flops LI and L2 and D flip-flops L3 and L4), each of which is constructed like the circuit of FIG. 1.
  • the D flip-flops LI and L2 The first synchronization chain and the D flip-flop L4 of the second synchronization chain are clocked with the clock signal CLKa to which synchronization is to take place.
  • the D flip-flop L3 of the second synchronization chain is clocked with the clock signal CLKb, which is delayed compared to CLKa.
  • Both clock signals CLKa and CLKb therefore have the same clock frequency T Ci ⁇ ⁇ -1 , the clock signal CLKb being delayed by a small fraction DT of a clock period T CLK compared to the clock signal CLKa (where DT> t SETUP + t H0LD ).
  • the Delay AT between the clock signals CLKa and CLKb is only slightly greater than the sum t SETUP + t H0LD .
  • the clock signal CLKb can be derived from the clock signal CLKa using methods known per se (for example by means of a delay-locked loop, DLL, a phase-locked loop, PLL, or a wide variety of delay circuits).
  • the (asynchronous) input signal iAsync is fed to the first D flip-flop of both synchronization chains, that is to say the flip-flops LI and L3.
  • the output signals from the flip-flops LI and L3 are designated MayMetaA and MayMetaB, and these are fed to the inputs of the subsequent flip-flops L2 and L4.
  • the output signals of the synchronization chains i.e. flip-flops L2 and L4 are labeled A and B. Due to the delay of the clock signal CLKb, which is used for the first flip-flop L3 of the second synchronization chain (flip-flops L3 and L4), unequal states of the output signals A and B (i.e. AB) necessarily mean that either of the two flip-flops LI or L3 is metastable or a simple signal change has occurred, and without further information it is not known which of the output signals, A or B, correctly represents the input signal iAsync.
  • the "reconstruction" of the correct state (logic level) of the input signal iAsync is carried out with a sequential logic (sequentie l l Logic, switching power) which is a combinational logic comprises CL1 (combinational logic, derailleur) and a further D flip-flop L5 , whose input D the output signal N of the combinational logic CL1 is supplied.
  • the D flip-flop L5 is also clocked with the clock signal CLKa.
  • the combinational logic CL1 receives the output signals A, B of the two synchronization chains and the fed-back output signal O of the further D flip-flop L5 as input signals.
  • N
  • the state of the output signal N output of the combinational logic CL1 corresponds to the following equation: Syncd - N - AB + A - 0 + B —O (1) where “+” denotes an OR, an AND link and “-” denotes a negation.
  • a procedure according to FIG. 5 for the detection of metastability and - if metastability occurs - for determining the correct state of the input signal iAsync allows a fast and circuit-efficient implementation (e.g. in an FPGA). The decision as to whether there is metastability can be made very quickly.
  • one of the two output signals, MayMetaA or MayMetaB represents the correct, new state NewVal of the input signal iAsync, whereas the other output signal in the case of metastability has an unreliable condition (ie the condition can be correct, but it can also be incorrect).
  • the D flip-flop (LI, respectively L3) which outputs the correct state of the input signal iAsync at its output Q, is referred to below as a "sure-correct flip-flop", whereas the D flip-flop (L3, or LI) in the other synchronization chain is referred to as a “dubious state flip-flop”.
  • the state of the flip-flops LI and L3 is manifested by the state / level of the associated output signals MayMetaA and MayMetaB.
  • the states output by the D flip-flops LI and L3 (ie the levels of the signals MayMetaA and MayMetaB) are transported to the downstream D flip-flops L2 and L4 and are read and stored by them on the next edge of the clock signal CLKa .
  • the amount of time available is an important factor in determining the MTBF.
  • the combinational logic circuit CL1 which is connected to the outputs Q of the D flip-flops L2 and L4, is able, as already mentioned above, to take into account the state / level O last output (stored in D flip-flop 5) to determine the new synchronized state of the output signal Syncd. If the levels of the signals MayMetaA and MayMetaB are the same, their value is the new level NewVal of the output signal Syncd, since one of the two D flip-flops LI and L3 certainly contains the correct value. In the truth table shown in FIG. 5, this case corresponds to the two upper and the two lower lines of the table.
  • one of the D flip-flops LI and L3 contains the correct value and the other contains the incorrect value. Since this case could only occur by changing the level of the input signal iAsync, the old value OldVal stored in the D flip-flop L5 must be the incorrect value, and consequently the correct new value NewVal can be determined by negating the value stored in the flip-flop L5 .
  • These cases are represented by the middle four lines of the truth table mentioned (see also Equation 1, which is equivalent to the table).
  • the exemplary embodiment according to FIG. 5 has significantly better properties compared to the circuit from FIG. 1, despite moderate implementation outlay in terms of latency and throughput.
  • the latency until arrival in the receive clock domain ranges from just under one clock period (T CLK ) to just under two clock periods (t SETUP + (T CLK - DT) + T CLK ).
  • T CLK clock period
  • T SETUP + (T CLK - DT) + T CLK clock periods
  • the maximum latency is thus better than with the circuit from FIG. 1. This has a positive effect on the response times to events occurring asynchronously. In certain circumstances, the fact that the maximum latency is a little less than two clock cycles 2 T CLK can be a key benefit.
  • the latency times will be discussed in more detail later with reference to FIGS. 6 and 7.
  • the signal propagation time t F for the combinational circuit CL1 within the receiving clock domain must also be taken into account in the present example, although this is not to be added to the synchronization latency.
  • Fig. 6 shows the case of minimal latency.
  • a change of state (from low to high, ie from 0 to 1, in the present example) of the input signal iAsync occurs at the end of the hold time, ie at time t 0 + t H0LD .
  • the latency until the arrival of the signal change on the input signal iAsync in the clock domain of CLKa is in this case somewhat smaller than the period T CLK of the clock signal CLK and is T CLK - t H0LD .
  • the signal change occurs synchronously within the clock domain of CLKa by the time period t DEL + t F after the rising edge of CLKa, but this is automatically taken into account in the system circuit design by the static timing analysis usually used there. Since this period of time passes within the receiving clock domain, it is not added to the synchronization latency.
  • Fig. 7 shows the case of maximum latency, with a change of state (from low to high, or 0 to 1, in the present example) of the input signal iAsync at the beginning of the setup time of the D flip-flop L3 occurs, ie for Time t 0 '- t SETUP .
  • the flip-flop LI can no longer change the state of the input signal iAsync detect and the flip-flop L3 could detect the change in state, but becomes metastable and falls back to the old value after the metastability has subsided.
  • Domain of CLKa in the D flip-flop L5.
  • the synchronization latency is ts ETUP + (T CLK -DG) + T CLK ⁇ 2 T CLK .
  • the signal change occurs synchronously within the clock domain of CLKa by the time period t DEL + t F after the rising edge of CLKa, which, however, is automatically taken into account in the system circuit design by the static timing analysis usually used there. Since this time passes within the receiving clock domain, it is not added to the synchronization latency.
  • FIG. 8 illustrates a situation (change of state in the input signal iAsync at time t 0 ⁇ t SETUP ) which, in the example from FIG. 1, has led to maximum latency.
  • this situation leads to a significantly shorter latency.
  • the flip-flop LI becomes metastable and then falls back to the old value. Due to the delayed clock CLKb, the flip-flop L3 can correctly detect the new state of the input signal at time t 0 '.
  • the metastability manifests itself in an inconsistency of the output signals A and B (ie A and B have different values).
  • the throughput is determined by the shortest time span between two signal changes during which all signal changes arrive in the receiving clock domain. This is a minimum of T CLK here .
  • the receiving clock domain can therefore have the same clock frequency as the (asynchronously to it) sending clock domain.
  • This time span is achieved because at most one of the two synchronization chains (flip flops LI + L2 and L3 + L4) always has an input flip-flop (flip-flop LI or L3) in a met- has astable state, while the other flip-flop is correctly scanning the signal.
  • the sampling times for different phase positions of the input signal iAsync with respect to the clock CLKa are highlighted by circles.
  • the first variant of the input signal iAsync FIG.
  • the change from 0 to 1 occurs between t Q 'and t 0 ' + t H0LD , and consequently the D flip-flop LI still scans the old value and metastability can occur in the D flip-flop L3.
  • the change from 0 to 1 in the input signal iAsync only occurs after time t Q '+ t H0LD , ie the D flip-flop LI still scans the old value at time t 0 and metastability can occur in the D flip-flop L3
  • the D flip-flop L3 can only detect the change from 0 to 1 at this point in time.
  • the time span between two changes in the input signal iAsync may fall below the time span T CLK within a certain framework, if this is adhered to at least over time.
  • D flip-flops can also be implemented by other types of edge-controlled flip-flops or level-controlled flip-flops (latches). Furthermore, it is also problem- It is possible without any problems to trigger one, several or all of the edge-controlled flip-flops with the falling edges of the clock signals.
  • the synchronization chains used in FIG. 5 according to FIG. 1 can also be formed by connecting more than two flip-flops in series for the purpose of increasing the MTBF. Furthermore - depending on the circuit technology available in a specific application - the implementation of the individual circuit components can be different. For example, the combinational logic CL1 defined by a truth table in FIG.

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

The description below relates to a method and a circuit for synchronizing asynchronous digital signals. According to an exemplary embodiment, the circuit has a first series circuit comprising a first input flip-flop and a first output flip-flop and a second series circuit comprising a second input flip-flop and a second output flip-flop, wherein the first series circuit and the second series circuit are supplied with an input signal, the level of which represents a binary value. The circuit also has a combination logic circuit designed to receive as input values an output value of the first series circuit, an output value of the second series circuit and a stored old value of a synchronized output signal and to take these as a basis for producing an updated value of the synchronized output signal. The first input flip-flop is clocked with a first clock signal, and the second input flip-flop is clocked with a second clock signal, which is delayed in relation to the first clock signal by a delay time.

Description

SYNCHRONISATIONSSCHALTUNG MIT VERRINGERTER LATENZ UND GESTEIGERTEM DURCHSATZ SYNCHRONIZATION WITH REDUCED LATENCY AND INCREASED THROUGHPUT
TECHNISCHES GEBIET TECHNICAL AREA
[0001] Die vorliegende Beschreibung betrifft das Gebiet der digitalen Schaltungstechnik, insbesondere eine Schaltung zur Synchronisation asynchroner digitaler Signale. The present description relates to the field of digital circuit technology, in particular a circuit for synchronizing asynchronous digital signals.
HINTERGRUND BACKGROUND
[0002] Digitale Schaltungen werden nach dem aktuellen Stand der Technik auf Basis des sogenannten synchronen Entwurfsparadigmas konstruiert. Hierbei steuert ein Taktsignal das Laden neuer Inhalte in alle Flipflops bzw. Register des Systems oder Subsystems. Kur ze Zeit vor sowie nach dem eigentlichen Einlesezeitpunkt neuer Speicherwerte müssen die Signale an den Eingängen der Speicherelemente stabil bleiben, dürfen sich also nicht än dern. Diese Zeitspannen werden Setup- und Hold-Zeit genannt. Um diese Bedingung stets zu erfüllen, kann beispielsweise mit einem einzigen Taktsignal innerhalb des ganzen Sys tems gearbeitet werden. Allerdings ist diese Vorgehens weise auf Grund von Nebenbedin gungen nicht immer möglich. So erfordern unterschiedliche Aufgaben im Gesamtsystem beispielsweise häufig mehrere Taktsignale mit unterschiedlichen Taktfrequenzen. Digital circuits are constructed according to the current state of the art on the basis of the so-called synchronous design paradigm. A clock signal controls the loading of new contents into all flip-flops or registers of the system or subsystem. The signals at the inputs of the memory elements must remain stable for a short time before as well as after the actual time of reading in new memory values, i.e. they must not change. These periods of time are called setup and hold times. In order to always meet this condition, it is possible, for example, to work with a single clock signal within the entire system. However, this approach is not always possible due to constraints. For example, different tasks in the overall system often require several clock signals with different clock frequencies.
[0003] Die auf diese Art entstehenden Bereiche, welche mit unterschiedlichen Taktfre quenzen arbeiten, werden als Clock-Domains bezeichnet. Diese Clock-Domains sind typi scherweise asynchron zueinander, d.h. die Taktsignale stehen nicht in einem festen Pha senbezug zueinander. Daher werden die oben angesprochenen Setup- und Hold-Zeiten von Signalen, die von einer in eine andere Clock-Domain übergehen, unter Umständen verletzt. Diese Situation kann nur unter bestimmten, häufig jedoch nicht praktikablen Bedingungen umgangen werden. The areas created in this way, which work with different clock frequencies, are referred to as clock domains. These clock domains are typically asynchronous to one another, i.e. the clock signals do not have a fixed phase relation to one another. Therefore, the setup and hold times mentioned above for signals that pass from one clock domain to another may be violated. This situation can only be circumvented under certain, but often impractical, conditions.
[0004] Die gleiche Situation liegt vor, wenn asynchrone Eingangs Signale an eine syn chron getaktete Schaltung herangeführt werden, was in der Praxis ein ebenfalls häufiger Fall ist. Die Lösung dieses prinzipiellen Problems liegt im Einsatz so genannter Synchroni sationsschaltungen. Die am meisten verbreiteten Schaltungen dieser Art sind seit Jahrzehn ten bekannt, aber neue Ansätze sind auf Grund von deren nicht immer befriedigenden Ei genschaften bereits seit langem Gegenstand der Forschung. Vorliegend wird ein Vorschlag für eine solche Schaltung gemacht, welche gegenüber den in der Literatur und Praxis ange troffenen Lösungsansätzen Vorteile bietet. The same situation occurs when asynchronous input signals are brought up to a synchronously clocked circuit, which is also a common case in practice. The solution to this fundamental problem lies in the use of so-called synchronization circuits. The most common circuits of this type have been known for decades, but new approaches have long been the subject of research because of their not always satisfactory properties. This is a proposal Made for such a circuit, which offers advantages over the approaches encountered in literature and practice.
[0005] Als charakteristische Parameter zur Bewertung von Synchronisationsschaltungen können die Zuverlässigkeit der Schaltung, die Synchronisationslatenz und der Durchsatz verwendet werden. Die Zuverlässigkeit der Schaltung wird zumeist durch die MTBF ( Me - an Time Between Failures ) repräsentiert. Die Synchronisationslatenz (im weiteren Verlauf auch als Latenz bezeichnet) gibt die Verzögerung gemessen vom Auftreten einer Signalän derung am Eingang der Schaltung bis zu deren Ankunft innerhalb der Clock-Domain an, zu welcher sie synchronisiert wird. Der Durchsatz gibt die Rate an, mit der Signaländerun gen an den Eingang der Synchronisationsschaltung angelegt können, ohne dass eine dieser Änderungen bei der Synchronisation verloren geht. The reliability of the circuit, the synchronization latency and the throughput can be used as characteristic parameters for evaluating synchronization circuits. The reliability of the circuit is mostly represented by the MTBF (Me - an Time Between Failures). The synchronization latency (hereinafter also referred to as latency) indicates the delay measured from the occurrence of a signal change at the input of the circuit until it arrives within the clock domain to which it is synchronized. The throughput indicates the rate at which signal changes can be applied to the input of the synchronization circuit without any of these changes being lost during synchronization.
[0006] Der Erfinder hat es sich zur Aufgabe gemacht, bestehende Schaltungen zur Syn chronisation asynchroner Signale im Hinblick auf Latenz und/oder Durchsatz bei akzeptab ler MTBF zu verbessern. The inventor has set himself the task of improving existing circuits for Syn chronization of asynchronous signals in terms of latency and / or throughput with acceptable MTBF.
ZUSAMMENFASSUNG SUMMARY
[0007] Die oben erwähnte Aufgabe wird durch die Schaltung gemäß Anspruch 1 sowie das Verfahren durch Anspruch 8 gelöst. Verschiedene Ausführungsbeispiele und Weiter entwicklungen sind Gegenstand der abhängigen Ansprüche. The above-mentioned object is achieved by the circuit according to claim 1 and the method by claim 8. Various exemplary embodiments and further developments are the subject of the dependent claims.
[0008] Im Folgenden wird ein Verfahren sowie eine Schaltung zur Synchronisation asyn chroner digitaler Signale beschrieben. Gemäß einem Ausführungsbeispiel weist die Schal tung eine erste Serienschaltung umfassend ein erstes Eingangs-Flipflop und ein erstes Ausgangs-Flipflop und eine zweite Serienschaltung umfassend ein zweites Eingangs- Flipflop sowie ein zweites Ausgangs-Flipflop auf, wobei der ersten Serienschaltung und der zweiten Serienschaltung ein Eingangssignal zugeführt ist, dessen Pegel einen binären Wert repräsentiert. Die Schaltung weist weiter eine kombinatorische Logikschaltung auf, welche dazu ausgebildet ist, als Eingangswerte einen Ausgangswert der ersten Serienschal tung, einen Ausgangswert der zweiten Serienschaltung und einen gespeicherten alten Wert eines synchronisierten Ausgangssignals zu empfangen und basierend darauf einen aktuali sierten Wert des synchronisierten Ausgangssignals zu erzeugen. Das erste Eingangs- Flipflop ist mit einem ersten Taktsignal getaktet, und das zweite Eingangs-Flipflop ist mit einem zweiten Taktsignal getaktet ist, welches in Bezug auf das erste Taktsignal um eine Verzögerungszeit verzögert ist. A method and a circuit for synchronizing asynchronous digital signals are described below. According to one embodiment, the circuit has a first series circuit comprising a first input flip-flop and a first output flip-flop and a second series circuit comprising a second input flip-flop and a second output flip-flop, the first series circuit and the second series circuit having an input signal is supplied, the level of which represents a binary value. The circuit also has a combinational logic circuit which is designed to receive an output value of the first series circuit, an output value of the second series circuit and a stored old value of a synchronized output signal as input values and to generate an updated value of the synchronized output signal based thereon . The first input flip-flop is clocked with a first clock signal, and the second input flip-flop is with a second clock signal is clocked, which is delayed with respect to the first clock signal by a delay time.
[0009] Das Verfahren umfasst gemäß einem Ausführungsbeispiel das Abtasten eines Eingangs signals synchron zu einem ersten Taktsignal und Speichern des abgetasteten Wer tes in einem ersten Eingangs-Flipflop sowie das Abtasten des Eingangs signals synchron zu einem zweiten Taktsignal und Speichern des abgetasteten Wertes in einem zweiten Ein gangs-Flipflop, wobei das zweite Taktsignal in Bezug auf das erste Taktsignal um eine Verzögerungszeit verzögert ist. Das Verfahren umfasst weiter das Weiterreichen des in dem ersten Eingangs-Flipflop gespeicherten Wertes an ein erstes Ausgangs-Flipflop und Weiterreichen des in dem zweiten Eingangs-Flipflop gespeicherten Wertes an ein zweites Ausgangs-Flipflop und das Verknüpfen der in dem ersten Ausgangs-Flipflop und dem zweiten Ausgangs-Flipflop gespeicherten Werte mit einem gespeicherten alten Wert eines synchronisierten Ausgangssignals mittels einer kombinatorischen Fogikschaltung, wobei das Ergebnis der Verknüpfung den neuen Wert des synchronisierten Ausgangssignals re präsentiert. According to one embodiment, the method comprises sampling an input signal synchronously with a first clock signal and storing the sampled value in a first input flip-flop and sampling the input signal synchronously with a second clock signal and storing the sampled value in a second An input flip-flop, the second clock signal being delayed by a delay time with respect to the first clock signal. The method further comprises forwarding the value stored in the first input flip-flop to a first output flip-flop and forwarding the value stored in the second input flip-flop to a second output flip-flop and combining the value in the first output flip-flop and the second output flip-flop stored values with a stored old value of a synchronized output signal by means of a combinational Fogik circuit, the result of the combination presenting the new value of the synchronized output signal re.
KURZE BESCHREIBUNG DER ZEICHNUNGEN BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Nachfolgend werden Ausführungsbeispiele anhand von Abbildungen näher erläu tert. Die Darstellungen sind nicht zwangsläufig maßstabsgetreu und die Ausführungsbei- spiele sind nicht nur auf die dargestellten Aspekte beschränkt. Vielmehr wird Wert darauf gelegt, die den Ausführungsbeispielen zugrunde liegenden Prinzipien darzustellen. In the following, exemplary embodiments are explained in more detail with reference to figures. The illustrations are not necessarily true to scale and the exemplary embodiments are not limited to the aspects shown. Rather, emphasis is placed on illustrating the principles on which the exemplary embodiments are based.
[0011] Figur 1 illustriert eine Standard-Synchronisationsschaltung aus zwei direkt hinter einander geschalteten Flipflops. Figure 1 illustrates a standard synchronization circuit consisting of two flip-flops connected directly one behind the other.
[0012] Figuren 2-4 zeigen anhand von Timing-Diagrammen Beispiele für mögliche Sig nalverläufe ( signal waveforms) für die Schaltung aus Fig. 1. FIGS. 2-4 use timing diagrams to show examples of possible signal waveforms for the circuit from FIG. 1.
[0013] Figur 5 illustriert eine Synchronisationsschaltung gemäß einem Ausführungsbei spiel. Figure 5 illustrates a synchronization circuit according to an exemplary embodiment.
[0014] Figuren 6 und 7 zeigen anhand von Timing-Diagrammen Beispiele für mögliche Signalverläufe für die Schaltung aus Fig. 5. [0015] Figur 8 zeigt anhand von Timing-Diagrammen die Signalverläufe in der Schal tung aus Fig. 5 für ein Eingangs signal, wie es bei der Schaltung aus Fig. 1 zur maximalen Latenz führt. FIGS. 6 and 7 use timing diagrams to show examples of possible signal profiles for the circuit from FIG. 5. FIG. 8 uses timing diagrams to show the signal curves in the circuit from FIG. 5 for an input signal, as in the circuit from FIG. 1 leads to maximum latency.
[0016] Figur 9 illustriert die Zeitpunkte einer sicher korrekten Abtastung des Eingangs signals in der Schaltung aus Fig. 5 bei verschiedenen Phasenlagen des Eingangs signals. FIG. 9 illustrates the points in time of a reliably correct sampling of the input signal in the circuit from FIG. 5 at different phase positions of the input signal.
DETAILLIERTE BESCHREIBUNG DETAILED DESCRIPTION
[0017] Fig. 1 illustriert eine sehr gängige Synchronisationsschaltung zur Synchronisation (in Bezug auf ein Taktsignal) asynchroner Signale. Eine derartige Schaltung ist z.B. in U. Tietze, C. Schenk, Electronic Circuits, 2nd ed. , Springer-Verlag, 2008, ISBN 978-3-540- 00429-5, S. 679-680, beschrieben. Demnach wird das asynchrone Eingangs signal iAsync dem Eingang D eines taktflankengesteuerten D-Flipflops LI zugeführt. Der Pegel des Ein gangssignals iAsync repräsentiert einen binären Wert (d.h. 0 oder 1), der auch als bool- scher Zustand („wahr“ oder „falsch“) interpretiert werden kann. Der Wert/Zustand des Eingangs signals iAsync wird bei jeder positiven Flanke des Taktsignals CLKa an den Ausgang Q des D-Flipflops LI übertragen. Da sich das Eingangs signal auch annähernd gleichzeitig zur positiven Taktflanke ändern kann, können metastabile Zustände im D- Flipflop LI auftreten. Um fehlerhafte Zustände zu vermeiden wird nicht das am Ausgang Q des ersten D-Flipflop LI zur Verfügung stehende Signal MayMeta als Ausgangssignal verwendet, sondern dem Ausgang Q des D-Flipflops LI wird ein weiteres D-Flipflop L2 nachgeschaltet, welches mit demselben Taktsignal CLK getaktet ist. Das heißt, der Aus gang Q des ersten D-Flipflops LI ist mit dem Eingang D des zweiten D-Flipflops L2 ver bunden. Am Ausgang Q des zweiten D-Flipflops L2 steht als Ausgangssignal das synchro nisierte Signal Syncd zur Verfügung. Fig. 1 illustrates a very common synchronization circuit for synchronizing (with respect to a clock signal) asynchronous signals. Such a circuit is described, for example, in U. Tietze, C. Schenk, Electronic Circuits, 2nd ed., Springer-Verlag, 2008, ISBN 978-3-540- 00429-5, pp. 679-680. Accordingly, the asynchronous input signal iAsync is fed to the input D of a clock edge-controlled D flip-flop LI. The level of the input signal iAsync represents a binary value (i.e. 0 or 1), which can also be interpreted as a Boolean state (“true” or “false”). The value / state of the input signal iAsync is transmitted to the output Q of the D flip-flop LI on every positive edge of the clock signal CLKa. Since the input signal can change almost simultaneously with the positive clock edge, metastable states can occur in the D flip-flop LI. In order to avoid incorrect states, the signal MayMeta available at the output Q of the first D flip-flop LI is not used as the output signal, but the output Q of the D flip-flop LI is followed by a further D flip-flop L2, which is clocked with the same clock signal CLK is. That is, the output Q of the first D flip-flop LI is connected to the input D of the second D flip-flop L2. At the output Q of the second D flip-flop L2, the synchronized signal Syncd is available as an output signal.
[0018] Die getaktete Schaltung, zu deren Takt das asynchrone Eingangs signal iAsync synchronisiert werden soll, wird als „Taktdomäne“ {Clock Domain) bezeichnet. Innerhalb einer Taktdomäne ändern sich Zustände von Signalen synchron zu dem Taktsignal, das zu der jeweiligen Taktdomäne gehört. The clocked circuit, to whose clock the asynchronous input signal iAsync is to be synchronized, is referred to as the “clock domain”. Within a clock domain, the states of signals change synchronously with the clock signal that belongs to the respective clock domain.
[0019] In den Fig. 2 bis 4 sind exemplarisch verschiedene Beispiele von Signalverläufen {signal waveforms) dargestellt. Generell repräsentiert das grau schattierte Intervall um die positiven Taktflanken (Zeitpunkte t0, tl etc.) des Taktsignals CLK die Summe aus Setup- Zeit tsETUP uncl Haltezeit tH0LD . Das heißt, in Bezug auf die zum Zeitpunkt t0 auftretende Taktflanke repräsentiert das grau schattierte Intervall das Intervall von t0 — tSETUP bis t0 + tHoLD Das gleiche gilt für Fig. 6 und 7. In FIGS. 2 to 4, various examples of signal waveforms are shown. In general, the gray-shaded interval around the positive clock edges (times t 0 , t l etc.) of the clock signal CLK represents the sum of the setup Time ts ETUP unc l holding time t H0LD . That is, with respect to the time t0 occurring clock edge, the gray shaded interval represents the interval from t 0 - t SETUP to t 0 + t H o LD The same applies to Fig. 6 and 7.
[0020] Fig. 2 zeigt den Fall minimaler Latenz, wobei ein Zustandswechsel (von Low auf High im vorliegenden Beispiel) des Eingangs signals iAsync am Ende der Hold-Zeit auf- tritt, d.h. zum Zeitpunkt t0 + tH0LD. In diesem Fall kann das D-Flipflop LI einen met astabilen Zustand einnehmen und, sofern das D-Flipflop LI aus der Metastabilität in den neuen Zustand fällt (was nicht notwendigerweise der Fall sein muss), steht der Wert des Eingangs signals zum Zeitpunkt
Figure imgf000007_0001
= t0 + TCLK in der Taktdomäne des D-Flipflop L2 zur Verfügung. Die Synchronisationslatenz des Ausgangssignals Syncd in Bezug auf das Ein- gangssginal iAsync ist in diesem Fall etwas kleiner als die Periodendauer TCLK des Takt signals CLK und beträgt TCLK — tH0LD .
2 shows the case of minimal latency, a change of state (from low to high in the present example) of the input signal iAsync occurring at the end of the hold time, that is to say at time t 0 + t HOLD . In this case, the D flip-flop LI can assume a met astable state and, if the D flip-flop LI falls from the metastability into the new state (which does not necessarily have to be the case), the value of the input signal is at the point in time
Figure imgf000007_0001
= t 0 + T CLK available in the clock domain of the D flip-flop L2. The synchronization latency of the output signal Syncd with respect to the input signal iAsync is in this case somewhat smaller than the period T CLK of the clock signal CLK and is T CLK -t H0LD .
[0021] Fig. 3 zeigt den Fall maximaler Latenz, wobei ein Zustandswechsel des Eingangs signals iAsync (im vorliegenden Beispiel von Low auf High) am Anfang der Setup-Zeit auftritt, d.h. zum Zeitpunkt t0 — tSETUP. In diesem Fall kann das D-Flipflop LI einen met astabilen Zustand einnehmen und, sofern das D-Flipflop LI aus der Metastabilität in den alten Zustand fällt, steht der aktuelle Zustand erst zwei Perioden später, d.h. zum Zeitpunkt ^2 = ^o + 2 TCLK, in der Takt-Domäne des D-Flipflop L2 zur Verfügung. Die Synchronisa tionslatenz des Signalwechsels des Eingangssignals iAsync bis zur Ankunft des zum Takt synchronisierten Signalwechsels in der Taktdomäne ist in diesem Fall etwas größer als die doppelte Periodendauer 2 TCLK des Taktsignals CLK, nämlich 2 TCLK + tSETUP. Diese Zeit dauer bezieht sich nur auf die Ankunft des Eingangs signalwechsels in der Takt-Domäne. Dort vergeht nach der steigenden Taktflanke noch eine Zeitdauer tDEL, die Signallaufzeit ( propagation delay ) zwischen Taktflanke und Auftreten des Signalwechsels am Ausgang des D-Flipflops L2. Diese Zeitdauer vergeht jedoch nach der Ankunft des Eingangssignals in der empfangenden Takt-Domäne. Sie wird daher nicht der Synchronisationslatenz zuge schlagen. Aus diesem Grunde wird diese Zeitdauer im Beispiel aus Fig. 2 nicht dargestellt. Fig. 3 shows the case of maximum latency, a change of state of the input signal iAsync (in the present example from low to high) occurs at the beginning of the setup time, ie at time t 0 - t SETUP . In this case, the D-flip-flop LI can assume a metastable state and, if the D-flip-flop LI falls from the metastability to the old state, the current state is only two periods later, ie at the time ^ 2 = ^ o + 2 T CLK , available in the clock domain of the D flip-flop L2. The synchronization latency of the signal change of the input signal iAsync up to the arrival of the signal change synchronized to the clock in the clock domain is in this case slightly greater than twice the period duration 2 T CLK of the clock signal CLK, namely 2 T CLK + t SETUP . This duration only refers to the arrival of the input signal change in the clock domain. There, after the rising clock edge, a further time t DEL , the signal propagation delay, elapses between the clock edge and the occurrence of the signal change at the output of the D flip-flop L2. However, this time elapses after the input signal arrives in the receiving clock domain. It is therefore not added to the synchronization latency. For this reason, this time period is not shown in the example from FIG.
[0022] Fig. 4 illustriert mehrere asynchrone Zustands wechsel des Eingangs signals iAsync zur Darstellung des maximal erzielbaren Durchsatzes bei der Synchronisation nach Fig. 1. Der erste Zustandswechsel tritt am Anfang der Setup-Zeit auf, d.h. zum Zeitpunkt t0 — t SET up In diesem Beispiel nimmt das D-Flipflop LI temporär einen metastabilen Zu stand an und fällt dann in den alten Zustand zurück, d.h. das Signal MayMeta bleibt in dem Low-Zustand bis zum Zeitpunkt t1 + tDEL und der Zustandswechsel wird erst zum Zeit punkt iq + tDEL im Ausgangssignal Syncd „sichtbar“. Kurz nach dem Zeitpunkt iq wech selt das Eingangs signal iAsync wieder auf einen Low-Zustand. Dieser kann vom D- Flipflop LI nicht mehr in derselben Taktperiode erfasst werden und folglich wird dieser Zustandswechsel in dem Signal MayMeta erst zum Zeitpunkt t2 + tDEL und im Ausgangs signal Syncd erst zum Zeitpunkt t3 + tDEL sichtbar, etc. Fig. 4 illustrates several asynchronous state changes of the input signal iAsync to represent the maximum achievable throughput in the synchronization according to FIG. 1. The first state change occurs at the beginning of the setup time, ie at time t 0 - t SET up In this example, the D flip-flop LI temporarily assumes a metastable state and then falls back into the old state, ie the MayMeta signal remains in that Low state up to time t 1 + t DEL and the change of state only becomes “visible” in the output signal Syncd at time iq + t DEL. Shortly after the time iq, the input signal iAsync changes back to a low state. This can no longer be detected by the D flip-flop LI in the same clock period and consequently this change of state is only visible in the signal MayMeta at time t 2 + t DEL and in the output signal Syncd only at time t 3 + t DEL , etc.
[0023] Von den Eigenschaften der Schaltung aus Fig. 1 werden im Folgenden die Werte für die Latenz und den Durchsatz näher beleuchtet. Die Latenz liegt in einem Bereich von knapp unterhalb einer Taktperiode, d.h. ungefähr TCLK — tH0LD, bis zu etwas mehr als zwei Taktperioden, d.h. 2 TCLK + tSETUP. Hierbei wird die steigende Taktflanke des Taktsignals CLK der empfangenden Clock-Domain als Ankunftszeitpunkt betrachtet. Zu diesem Zeit punkt (vgl. Fig. 4, Zeitpunkte iq, t2, etc. ) kann das Eingangs signal als synchronisiert be trachtet werden, wenn auch noch eine geringe zusätzliche Verzögerungszeit (Signallaufzeit tDEL ) benötigt wird, bis sich dieses synchronisierte Ausgangssignal Syncd auf die nach folgende kombinatorische Schaltung auswirken kann. Of the properties of the circuit from FIG. 1, the values for the latency and the throughput are examined in more detail below. The latency is in a range from just below one clock period, ie approximately T CLK − t H0LD , to a little more than two clock periods, ie 2 T CLK + t SETUP . The rising clock edge of the clock signal CLK of the receiving clock domain is regarded as the time of arrival. At this point in time (see. Fig. 4, times iq, t 2 , etc.) the input signal can be viewed as synchronized, even if a small additional delay time (signal transit time t DEL ) is required until this synchronized output signal Syncd can affect the following combinational circuit.
[0024] Der Durchsatz wird durch die Zeitspanne zwischen zwei Signaländerungen be stimmt, die zumindest TCLK + tSETUP + tH0LD (vgl. Fig. 4) betragen muss. Das Taktsignal CLK der empfangenden Clock-Domain muss also gegenüber der (asynchron) sendenden Clock-Domain stets eine höhere Taktfrequenz aufweisen. Die gleiche Taktfrequenz reicht nicht aus. Die MTBF wird durch die Schaltungseigenschaften des D-Flipflop LI bestimmt, maßgeblich durch die Zeitspanne TCLK — (tSETUP + tDEL), welche diesem zur Auflösung eventuell auftretender Metastabilität zur Verfügung steht. Wird diese Zeitspanne über schritten, liegt der metastabile Zustand als Eingangswert am Flipflop L2 an, was wiederum dessen Metastabilität zur Folge haben kann. In diesem Fall wäre die Synchronisation nicht erfolgreich. The throughput is determined by the time span between two signal changes, which must be at least T CLK + t SETUP + t H0LD (see FIG. 4). The clock signal CLK of the receiving clock domain must therefore always have a higher clock frequency than the (asynchronously) sending clock domain. The same clock frequency is not enough. The MTBF is determined by the circuit properties of the D flip-flop LI, mainly by the time span T CLK - (t SETUP + t DEL ), which is available to it to resolve any metastability that may occur. If this time span is exceeded, the metastable state is applied as an input value at flip-flop L2, which in turn can result in its metastability. In this case the synchronization would not be successful.
[0025] Die im Folgenden beschriebenen Ausführungsbeispiele betreffen ein Konzept, bestehende Schaltungen zur Synchronisation asynchroner Signale im Hinblick auf Latenz und/oder Durchsatz bei akzeptabler MTBF zu verbessern. Die im Folgenden beschriebene Vorgehensweise kann die erwähnte Verbesserung ermöglichen. Dabei wird zunächst de- tektiert, ob Metastabilität innerhalb der Synchronisationsschaltung vorliegt. Diesbezüglich werden später zwei Beispiele erläutert. [0026] Abhängig davon, ob ein metastabiler Zustand detektiert wurde, kann auf den kor rekten Zustand rückgeschlossen werden. Binäre Signale, wie sie in digitalen Schaltungen verwendet werden, weisen nur zwei Zustände/Werte auf, nämlich 0 (Low-Zustand) oder 1 (High-Zustand). Liegt Metastabilität vor, so kann diese nur durch eine Änderung des Zu stands des Eingangs signals entweder von 0 nach 1 oder aber von 1 nach 0 hervorgerufen worden sein. Wenn also Metastabilität detektiert wurde, dann ist die Negation des zuletzt gültigen Zustands des synchronen Ausgangssignals (in der synchronen Taktdomäne) der korrekte Wert für die weitere Verwendung. Desgleichen gilt dies in trivialer Weise für das Vorliegen eines Signalwechsels, der keine Metastabilität hervorgerufen hat. Die vorge schlagene Vorgehensweise ermittelt also aus dem alten Zustand (des synchronisierten Ausgangssignals) und der Feststellung, ob Metastabilität bzw. ein Signalwechsel vorliegen oder nicht, einen gültigen neuen taktsynchronen Zustand. The exemplary embodiments described below relate to a concept for improving existing circuits for synchronizing asynchronous signals with regard to latency and / or throughput with an acceptable MTBF. The procedure described below can enable the improvement mentioned. First of all, it is detected whether there is metastability within the synchronization circuit. In this regard, two examples will be explained later. Depending on whether a metastable state has been detected, conclusions can be drawn as to the correct state. Binary signals as used in digital circuits have only two states / values, namely 0 (low state) or 1 (high state). If there is metastability, this can only have been caused by a change in the status of the input signal either from 0 to 1 or from 1 to 0. If metastability has been detected, then the negation of the last valid state of the synchronous output signal (in the synchronous clock domain) is the correct value for further use. This also applies in a trivial way to the presence of a signal change that has not caused metastability. The proposed procedure thus determines a valid new clock-synchronous state from the old state (of the synchronized output signal) and the determination of whether metastability or a signal change is present or not.
[0027] Das Vorliegen von Metastabilität (bzw. eines Signalwechsels) kann durch Ver gleich der Werte aus zwei Synchronisationsketten (je zwei D-Flipflops hintereinander nach Fig. 1) erkannt werden, wenn das erste D-Flipflop einer der Ketten einen um den Wert tsETUP + tHOLD verzögerten Takt erhält. Diese Maßnahme garantiert, dass stets eine der beiden Synchronisationsketten das korrekte Signal am Ausgang trägt, wobei aber nicht detektierbar ist, welche der beiden Synchronisationsketten das korrekte Signal liefert. Sind diese beiden Ausgangssignale verschieden, so liegt Metastabilität (bzw. ein Signalwechsel) vor. Diese Vorgehensweise ist mittels an sich bekannter Techniken (Integration mittels Field Programmable Gate Array, FPGA, oder als Application Specific Integated Circuit, ASIC) leicht umsetzbar und wird im Folgenden anhand des Beispiels aus Fig. 5 noch ge nauer erläutert. The presence of metastability (or a signal change) can be recognized by comparing the values from two synchronization chains (two D flip-flops one behind the other according to FIG. 1) if the first D flip-flop of one of the chains is around the value ts ETUP + t HOLD receives delayed clock. This measure guarantees that one of the two synchronization chains always carries the correct signal at the output, but it cannot be detected which of the two synchronization chains is delivering the correct signal. If these two output signals are different, there is metastability (or a signal change). This procedure can be easily implemented by means of techniques known per se (integration by means of a field programmable gate array, FPGA, or as an application-specific integrated circuit, ASIC) and is explained in more detail below using the example from FIG. 5.
[0028] Die Schaltung sanordnung aus Fig. 5 umfasst zwei Synchronisationsketten (D- Flipflops LI und L2 und D-Flipflops L3 und L4), von denen jede aufgebaut ist wie die Schaltung aus Fig. 1. Die D-Flipflops LI und L2 der ersten Synchronisationskette und das D-Flipflop L4 der zweiten Synchronisationskette werden mit dem Taktsignal CLKa getak tet, zu dem synchronisiert werden soll. Das D-Flipflop L3 der zweiten Synchronisations kette wird mit dem gegenüber CLKa verzögerten Taktsignal CLKb getaktet. Beide Takt signale CLKa und CLKb haben demnach dieselbe Taktfrequenz TCiÄ· -1, wobei das Takt signal CLKb gegenüber dem Taktsignal CLKa um einen kleinen Bruchteil DT einer Takt periode TCLK verzögert ist (wobei DT > tSETUP + tH0LD). Gemäß einem Beispiel ist die Verzögerung AT zwischen den Taktsignalen CLKa und CLKb nur geringfügig größer als die Summe tSETUP + tH0LD. Das Taktsignal CLKb kann mit an sich bekannten Methoden aus dem Taktsignal CLKa abgeleitet werden (z.B. mittels einer Delay-Locked Loop , DLL, einer Phase-Locked Loop , PLL, oder verschiedensten Verzögerungsschaltungen). The circuit arrangement from FIG. 5 comprises two synchronization chains (D flip-flops LI and L2 and D flip-flops L3 and L4), each of which is constructed like the circuit of FIG. 1. The D flip-flops LI and L2 The first synchronization chain and the D flip-flop L4 of the second synchronization chain are clocked with the clock signal CLKa to which synchronization is to take place. The D flip-flop L3 of the second synchronization chain is clocked with the clock signal CLKb, which is delayed compared to CLKa. Both clock signals CLKa and CLKb therefore have the same clock frequency T CiÄ · -1 , the clock signal CLKb being delayed by a small fraction DT of a clock period T CLK compared to the clock signal CLKa (where DT> t SETUP + t H0LD ). According to one example, the Delay AT between the clock signals CLKa and CLKb is only slightly greater than the sum t SETUP + t H0LD . The clock signal CLKb can be derived from the clock signal CLKa using methods known per se (for example by means of a delay-locked loop, DLL, a phase-locked loop, PLL, or a wide variety of delay circuits).
[0029] Gemäß Fig. 5 wird das (asynchrone) Eingangs signal iAsync dem ersten D- Flipflop beider Synchronisationsketten, also den Flipflops LI und L3 zugeführt. Die Aus gangssignale der Flipflops LI und L3 werden mit MayMetaA bzw. MayMetaB bezeichnet, und diese sind den Eingängen der nachfolgenden Flipflops L2 bzw. L4 zugeführt. Die Ausgangssignale der Synchronisationsketten (d.h. der Flipflops L2 und L4) sind mit A und B bezeichnet. Aufgrund der Verzögerung des Taktsignals CLKb, das für das erste Flipflop L3 der zweiten Synchronisationskette (Flipflops L3 und L4) verwendet wird, bedeuten ungleiche Zustände der Ausganssignale A und B (d.h. A B) notwendigerweise, dass in einer der beiden Flipflops LI oder L3 entweder Metastabilität oder eine einfache Signalän derung aufgetreten ist, wobei ohne weitere Information nicht bekannt ist, welches der bei den Ausgangssignale, A oder B, das Eingangs signal iAsync korrekt repräsentiert. According to FIG. 5, the (asynchronous) input signal iAsync is fed to the first D flip-flop of both synchronization chains, that is to say the flip-flops LI and L3. The output signals from the flip-flops LI and L3 are designated MayMetaA and MayMetaB, and these are fed to the inputs of the subsequent flip-flops L2 and L4. The output signals of the synchronization chains (i.e. flip-flops L2 and L4) are labeled A and B. Due to the delay of the clock signal CLKb, which is used for the first flip-flop L3 of the second synchronization chain (flip-flops L3 and L4), unequal states of the output signals A and B (i.e. AB) necessarily mean that either of the two flip-flops LI or L3 is metastable or a simple signal change has occurred, and without further information it is not known which of the output signals, A or B, correctly represents the input signal iAsync.
[0030] Die „Rekonstruktion“ des korrekten Zustands (Logikpegels) des Eingangs signals iAsync erfolgt mit einer sequenziellen Logik (sequentiell Logic , Schaltnetz), welche eine kombinatorische Logik CL1 ( combinational Logic , Schaltwerk) und ein weiteres D- Flipflop L5 aufweist, dessen Eingang D das Ausgangssignal N der kombinatorischen Lo gik CL1 zugeführt ist. Das D-Flipflop L5 ist ebenfalls mit dem Taktsignal CLKa getaktet. Als Eingangs Signale empfängt die kombinatorische Logik CL1 die Ausgangssignale A, B der beiden Synchronisationsketten und das rückgekoppelte Ausgangssignal O des weiteren D-Flipflop L5. [0030] The "reconstruction" of the correct state (logic level) of the input signal iAsync is carried out with a sequential logic (sequentie l l Logic, switching power) which is a combinational logic comprises CL1 (combinational logic, derailleur) and a further D flip-flop L5 , whose input D the output signal N of the combinational logic CL1 is supplied. The D flip-flop L5 is also clocked with the clock signal CLKa. The combinational logic CL1 receives the output signals A, B of the two synchronization chains and the fed-back output signal O of the further D flip-flop L5 as input signals.
[0031] Die Funktionsweise der kombinatorische Logik CL1 ist in Fig. 5 anhand einer Wahrheitstabelle wiedergegeben. In Worte gefasst ist deren Aussage: Wenn die Zustände der Signale A und B gleich sind (was daraufhinweist, dass keine Metastabilität vorliegt), dann gibt die kombinatorische Logik CL1 diesen Zustand an das Flipflop L5 weiter (N =The mode of operation of the combinational logic CL1 is shown in FIG. 5 with the aid of a truth table. Their statement is put into words: If the states of the signals A and B are the same (which indicates that there is no metastability), then the combinational logic CL1 forwards this state to the flip-flop L5 (N =
A = B). Wenn die Zustände der Signale A und B ungleich sind (was auf Metastabilität oder eine Signaländerung auf dem Eingangssignal hinweist), dann gibt die kombinatori sche Logik CL1 das invertierte Ausgangssignal O an das Flipflop L5 weiter ( N = Ö). Als kombinatorische Gleichung ausgedrückt entspricht der Zustand des Ausgangssignals N Ausgang der kombinatorische Logik CL1 folgender Gleichung: Syncd — N — A B + A — 0 + B —O (1) wobei „+“ eine ODER, eine UND-Verknüpfung und ,,-“ eine Negation bezeichnet. A = B). If the states of the signals A and B are unequal (which indicates metastability or a signal change on the input signal), then the combinatorial logic CL1 passes the inverted output signal O to the flip-flop L5 (N = Ö). Expressed as a combinational equation, the state of the output signal N output of the combinational logic CL1 corresponds to the following equation: Syncd - N - AB + A - 0 + B —O (1) where “+” denotes an OR, an AND link and “-” denotes a negation.
[0032] Eine Vorgehensweise gemäß Fig. 5 zur Detektion von Metastabilität und - falls Metastabilität auftritt - zur Ermittlung des korrekten Zustands des Eingangssignals iAsync erlaubt eine schnelle und schaltungstechnisch effiziente Implementierung (z.B. in einem FPGA). Die Entscheidung, ob Metastabilität vorliegt, kann sehr schnell getroffen werden. A procedure according to FIG. 5 for the detection of metastability and - if metastability occurs - for determining the correct state of the input signal iAsync allows a fast and circuit-efficient implementation (e.g. in an FPGA). The decision as to whether there is metastability can be made very quickly.
[0033] Wie erwähnt kann aufgrund der Verzögerung DT zwischen den Taktsignalen CLKa und CLKb (Taktversatz, Clock Offset ) bei einer Änderung des Zustands des Ein gangssignals iAsync nur eines der beiden Eingangs-Flipflops der beiden Synchronisations ketten (d.h. das Flipflop LI oder das Flipflop L3) metastabil werden. Diese Zustandsände- rung kann entweder ein Übergang von 0 auf 1 oder von 1 auf 0 sein. Im Folgenden wird allgemein ein Zustandswechsel von OldVal auf NewVal betrachtet. Nach einer Taktflanke des Taktsignals CLKb und einer, nur statistisch zu beschreibenden Zeitdauer zum Abklin gen von Metastabilität repräsentiert also eines der beiden Ausgangssignale, MayMetaA oder MayMetaB, den korrekten, neuen Zustand NewVal des Einganssignals iAsync, wo hingegen das jeweils andere Ausgangsignal im Falle von Metastabilität einen unzuverläs sigen Zustand aufweist (d.h. der Zustand kann korrekt sein, kann aber auch inkorrekt sein). Jenes D-Flipflop (LI, respektive L3), welches an seinem Ausgang Q den korrekten Zu stand des Eingangssignals iAsync ausgibt wird im Folgenden als „Sicher-Korrekt-Flipflop“ bezeichnet ( Certainly Correct Flipflop), wohingegen das D-Flipflop (L3, respektive LI) in der anderen Synchronisationskette als „Zweifelhafter-Zustand-Flipflop“ ( Dubious State Flipflop) bezeichnet wird. As mentioned, due to the delay DT between the clock signals CLKa and CLKb (clock offset) when the state of the input signal iAsync changes, only one of the two input flip-flops of the two synchronization chains (ie the flip-flop LI or the flip-flop L3) become metastable. This change of state can either be a transition from 0 to 1 or from 1 to 0. In the following, a general change of state from OldVal to NewVal is considered. After a clock edge of the clock signal CLKb and a period of time, which can only be described statistically, for the decay of metastability, one of the two output signals, MayMetaA or MayMetaB, represents the correct, new state NewVal of the input signal iAsync, whereas the other output signal in the case of metastability has an unreliable condition (ie the condition can be correct, but it can also be incorrect). The D flip-flop (LI, respectively L3), which outputs the correct state of the input signal iAsync at its output Q, is referred to below as a "sure-correct flip-flop", whereas the D flip-flop (L3, or LI) in the other synchronization chain is referred to as a “dubious state flip-flop”.
[0034] Wie erwähnt ist es a priori nicht bekannt, welches der beiden Synchronisations ketten das Sicher-Korrekt-Flipflop enthält. Welches der beiden Flipflops - LI oder L3 - die Rolle des Sicher-Korrekt-Flipflop übernimmt, hängt von der zeitlichen Beziehung zwi schen dem Zeitpunkt der (asynchronen) Zustandsänderung des Eingangs signals iAsync und der steigenden Taktflanke im Taktsignal CLKa ab. Jedenfalls hat das Sicher-Korrekt- Flipflop kurz nach der steigenden Flanke des verzögerten Taktsignals CLKb (und damit auch nach der kurz davor auftretenden Flanke des Taktsignals CLKa) den korrekten Zu stand NewVal des Eingangssignals iAsync gespeichert. Für das Zweifelhafter-Zustand- Flipflop gibt es jedoch zwei Möglichkeiten. Erstens kann es den den richtigen Zustand NewVal annehmen oder metastabil werden und sich bei der Auflösung der Metastabilität für den richtigen Zustand entscheiden. In diesem Fall hat es denselben Zustand wie das Sicher- Korrekt- Flipflop (nämlich NewVal). Zweitens kann es sich (z.B. aufgrund der Ver letzung von tSETUP oder tH0LD oder der Phasenlage der Signaländerung des Eingangssig nals iAsync relativ zur Taktflanke) für den falschen Wert OldVal entscheiden oder aber metastabil werden und sich bei der Auflösung der Metastabilität für den alten (und fal schen) Wert OldVal entscheiden. In diesem Fall hat es einen anderen Wert als das Sicher- Korrekt-Flipflop (nämlich OldVal). Der Zustand der Flipflops LI und L3 manifestiert sich durch den Zustand/den Pegel der zugehörigen Ausgangssignale MayMetaA bzw. MayMe- taB. As mentioned, it is not known a priori which of the two synchronization chains contains the safe-correct flip-flop. Which of the two flip-flops - LI or L3 - takes on the role of the safe-correct flip-flop depends on the time relationship between the time of the (asynchronous) change in state of the input signal iAsync and the rising clock edge in the clock signal CLKa. In any case, shortly after the rising edge of the delayed clock signal CLKb (and thus also after the edge of the clock signal CLKa that occurs shortly before) the correct state NewVal of the input signal iAsync has been saved. For the doubtful state However, flip-flops have two options. First, it can adopt the correct state NewVal or become metastable and choose the correct state when the metastability is resolved. In this case it has the same state as the safe-correct flip-flop (namely NewVal). Second, it can decide in favor of the wrong value OldVal (e.g. due to the violation of t SETUP or t H0LD or the phase position of the signal change of the input signal iAsync relative to the clock edge) or it can become metastable and, when the metastability is resolved, the old ( and wrong) value OldVal. In this case it has a different value than the sure-correct flip-flop (namely OldVal). The state of the flip-flops LI and L3 is manifested by the state / level of the associated output signals MayMetaA and MayMetaB.
[0035] Die von den D-Flipflops LI und L3 ausgegebenen Zustände (d.h. die Pegel der Signale MayMetaA und MayMetaB) werden an die nachgeschalteten D-Flipflops L2 bzw. L4 weitertransportiert und bei der nächsten Flanke des Taktsignals CLKa von diesen ein gelesen und gespeichert. Hierbei besteht nur eine geringe Wahrscheinlichkeit für das Auf treten von Metastabilität, wenn genug Zeit zum Abklingen der möglicherweise in Flipflop LI oder L3 vorhandenen Metastabilität verfügbar war. Die verfügbare Zeitspanne ist ein wichtiger Faktor bei der Bestimmung der MTBF. The states output by the D flip-flops LI and L3 (ie the levels of the signals MayMetaA and MayMetaB) are transported to the downstream D flip-flops L2 and L4 and are read and stored by them on the next edge of the clock signal CLKa . There is only a low probability that metastability will occur if enough time was available for the metastability that may be present in flip-flop LI or L3 to subside. The amount of time available is an important factor in determining the MTBF.
[0036] Die kombinatorische Logikschaltung CL1, welche mit den Ausgängen Q der D- Flipflops L2 und L4 verbunden ist, ist wie oben schon erwähnt in der Lage, unter Berück sichtigung des zuletzt ausgegebenen Zustands/Pegels O (gespeichert in D-Flipflop 5) den neuen synchronisierten Zustand des Ausgangssignals Syncd zu ermitteln. Sind die Pegel der Signale MayMetaA und MayMetaB gleich, so ist ihr Wert der neue Pegel NewVal des Ausgangssignals Syncd, da ja eines der beiden D-Flipflops LI und L3 sicher den korrekten Wert enthält. In der in Fig. 5 gezeigten Wahrheitstabelle entspricht dieser Fall den beiden oberen und den beiden unteren Zeilen der Tabelle. Sind die Pegel der Signale MayMetaA und MayMetaB verschieden, so enthält eines der D-Flipflops LI und L3 den korrekten und das andere den inkorrekten Wert. Da dieser Fall nur durch eine Änderung des Pegels des Eingangs signals iAsync eintreten konnte, muss der im D-Flipflop L5 gespeicherte alte Wert OldVal der inkorrekte Wert sein, und folglich kann der korrekte neue Wert NewVal durch Negation des im Flipflop L5 gespeicherten Wertes ermittelt werden. Diese Fälle werden durch die mittleren vier Zeilen der erwähnten Wahrheitstabelle repräsentiert (siehe auch die zur Tabelle äquivalente Gleichung 1). [0037] Das Ausführungsbeispiel gemäß Fig. 5 hat trotz moderaten Implementationsauf wands im Hinblick auf Latenz und Durchsatz gegenüber der Schaltung aus Fig. 1 signifi kant bessere Eigenschaften. Die Latenz bis zur Ankunft in der Empfangstakt-Domäne be wegt sich im Bereich von knapp unter einer Taktperiode (TCLK) bis knapp unter zwei Takt perioden ( tSETUP + ( TCLK — DT) + TCLK). Die maximale Latenz ist damit besser als bei der Schaltung aus Fig. 1. Dies wirkt sich positiv auf die Reaktionszeiten auf asynchron auftre tende Ereignisse aus. Unter gewissen Umständen kann die Tatsache, dass die maximale Latenz etwas weniger als zwei Taktzyklen 2 TCLK beträgt, ein entscheidender Vorteil sein. Auf die Latenzzeiten wird später unter Bezugnahme auf Fig. 6 und 7 noch näher eingegan gen. The combinational logic circuit CL1, which is connected to the outputs Q of the D flip-flops L2 and L4, is able, as already mentioned above, to take into account the state / level O last output (stored in D flip-flop 5) to determine the new synchronized state of the output signal Syncd. If the levels of the signals MayMetaA and MayMetaB are the same, their value is the new level NewVal of the output signal Syncd, since one of the two D flip-flops LI and L3 certainly contains the correct value. In the truth table shown in FIG. 5, this case corresponds to the two upper and the two lower lines of the table. If the levels of the signals MayMetaA and MayMetaB are different, one of the D flip-flops LI and L3 contains the correct value and the other contains the incorrect value. Since this case could only occur by changing the level of the input signal iAsync, the old value OldVal stored in the D flip-flop L5 must be the incorrect value, and consequently the correct new value NewVal can be determined by negating the value stored in the flip-flop L5 . These cases are represented by the middle four lines of the truth table mentioned (see also Equation 1, which is equivalent to the table). The exemplary embodiment according to FIG. 5 has significantly better properties compared to the circuit from FIG. 1, despite moderate implementation outlay in terms of latency and throughput. The latency until arrival in the receive clock domain ranges from just under one clock period (T CLK ) to just under two clock periods (t SETUP + (T CLK - DT) + T CLK ). The maximum latency is thus better than with the circuit from FIG. 1. This has a positive effect on the response times to events occurring asynchronously. In certain circumstances, the fact that the maximum latency is a little less than two clock cycles 2 T CLK can be a key benefit. The latency times will be discussed in more detail later with reference to FIGS. 6 and 7.
[0038] Bezüglich der Zeitangaben zur Latenz gilt das bereits bei der Diskussion der Fig. 2-4 Gesagte. Im Anwendungsfall ist im vorliegenden Beispiel auch die Signallaufzeit tF für die kombinatorische Schaltung CL1 (siehe Fig. 5) innerhalb der empfangenden Takt- Domäne zu berücksichtigen, wobei diese aber nicht der Synchronisationslatenz zuzuschla gen ist. Fig. 6 zeigt den Fall minimaler Latenz. Ein Zustandswechsel (von Low auf High, d.h. von 0 auf 1, im vorliegenden Beispiel) des Eingangssignals iAsync tritt am Ende der Hold-Zeit auf, d.h. zum Zeitpunkt t0 + tH0LD. In diesem Fall kann das D-Flipflop LI einen metastabilen Zustand einnehmen und, sofern das D-Flipflop LI in den neuen Zustand wechselt (was nicht notwendigerweise der Fall sein muss), steht der aktuelle Zustand unge fähr eine Periode später, d.h. zum Zeitpunkt G = t0 + TCLK, am Ausgang des D-Flipflop L2 zur Verfügung (Signal A). Die Latenz bis zum Eintreffen des Signalwechsels auf dem Eingangs signal iAsync in der Takt-Domäne von CLKa ist in diesem Fall etwas kleiner als die Periodendauer TCLK des Taktsignals CLK und beträgt TCLK — tH0LD. Die Signalände rung liegt synchron innerhalb der Takt-Domäne von CLKa um die Zeitdauer tDEL + tF nach der steigenden Flanke von CLKa vor, was jedoch beim Systemschaltungsentwurf automatisch durch die dort üblicherweise verwendete statische Timinganalyse berücksich tigt wird. Da diese Zeitdauer innerhalb der empfangenden Takt-Domäne vergeht, wird sie nicht der Synchronisationslatenz zugeschlagen. With regard to the time information on the latency, what has already been said in the discussion of FIGS. 2-4 applies. In the application case, the signal propagation time t F for the combinational circuit CL1 (see FIG. 5) within the receiving clock domain must also be taken into account in the present example, although this is not to be added to the synchronization latency. Fig. 6 shows the case of minimal latency. A change of state (from low to high, ie from 0 to 1, in the present example) of the input signal iAsync occurs at the end of the hold time, ie at time t 0 + t H0LD . In this case, the D flip-flop LI can assume a metastable state and, if the D flip-flop LI changes to the new state (which does not necessarily have to be the case), the current state is approximately one period later, ie at time G = t 0 + T CLK , available at the output of the D flip-flop L2 (signal A). The latency until the arrival of the signal change on the input signal iAsync in the clock domain of CLKa is in this case somewhat smaller than the period T CLK of the clock signal CLK and is T CLK - t H0LD . The signal change occurs synchronously within the clock domain of CLKa by the time period t DEL + t F after the rising edge of CLKa, but this is automatically taken into account in the system circuit design by the static timing analysis usually used there. Since this period of time passes within the receiving clock domain, it is not added to the synchronization latency.
[0039] Fig. 7 zeigt den Fall maximaler Latenz, wobei ein Zustandswechsel (von Low auf High, bzw. 0 auf 1, im vorliegenden Beispiel) des Eingangs signals iAsync am Anfang der Setup-Zeit des D-Flipflops L3 auftritt, d.h. zum Zeitpunkt t0' — tSETUP. Im ungünstigsten Fall kann das Flipflop LI die Zustandsänderung des Eingangs signals iAsync nicht mehr erfassen und das Flipflop L3 könnte die Zustandsänderung erfassen, wird aber metastabil und fällt nach Abklingen der Metastabilität auf den alten Wert zurück. Der Zeitpunkt t0' = t0 + DT bezeichnet den Zeitpunkt der gegenüber CLKa verzögerten Taktflanke des Takt signals CLKb. In vorliegenden Beispiel nimmt das D-Flipflop L3 einen metastabilen Zu stand ein und fällt wie erwähnt in den alten Zustand, und folglich kommt der aktuelle Zu stand erst ungefähr zwei Perioden später, d.h. zum Zeitpunkt t2 = t0 + 2 in der Takt- Domäne von CLKa, im D-Flipflop L5 an. Die Synchronisationslatenz beträgt gemäß Fig. 7 tsETUP + (TCLK — DG) + TCLK < 2 TCLK. Die Signaländerung liegt synchron innerhalb der Takt-Domäne von CLKa um die Zeitdauer tDEL + tF nach der steigenden Flanke von CLKa vor, was jedoch wiederum beim Systemschaltungsentwurf automatisch durch die dort üblicherweise verwendete statische Timinganalyse berücksichtigt wird. Da diese Zeit dauer innerhalb der empfangenden Takt-Domäne vergeht, wird sie nicht der Synchronisa tionslatenz zugeschlagen. Fig. 7 shows the case of maximum latency, with a change of state (from low to high, or 0 to 1, in the present example) of the input signal iAsync at the beginning of the setup time of the D flip-flop L3 occurs, ie for Time t 0 '- t SETUP . In the worst case, the flip-flop LI can no longer change the state of the input signal iAsync detect and the flip-flop L3 could detect the change in state, but becomes metastable and falls back to the old value after the metastability has subsided. The time t 0 '= t 0 + DT denotes the time of the delayed clock edge of the clock signal CLKb with respect to CLKa. In the present example, the D flip-flop L3 assumes a metastable state and, as mentioned, falls into the old state, and consequently the current state only comes about two periods later, ie at time t 2 = t 0 + 2 in the clock cycle. Domain of CLKa, in the D flip-flop L5. According to FIG. 7, the synchronization latency is ts ETUP + (T CLK -DG) + T CLK <2 T CLK . The signal change occurs synchronously within the clock domain of CLKa by the time period t DEL + t F after the rising edge of CLKa, which, however, is automatically taken into account in the system circuit design by the static timing analysis usually used there. Since this time passes within the receiving clock domain, it is not added to the synchronization latency.
[0040] Fig. 8 illustriert eine Situation (Zustandsänderung im Eingangssignal iAsync zum Zeitpunkt t0 — tSETUP), die bei dem Beispiel aus Fig. 1 zur maximalen Latenz geführt hat. Bei der Schaltung gemäß Fig. 5 führt diese Situation zu einer signifikant kürzeren Latenz. Gemäß Fig. 8 wird in diesem Extremfall das Flipflop LI metastabil und fällt dann auf den alten Wert zurück. Aufgrund des verzögerten Takts CLKb kann das Flipflop L3 den neuen Zustand des Eingangs signals zum Zeitpunkt t0' korrekt erfassen. Bei der nächsten Takt flanke des Taktsignals CLKa manifestiert sich die Metastabilität in einer Inkonsistenz der Ausgangssignale A und B (d.h. A und B weisen verschiedene Werte auf). Diese Inkonsis tenz wird von der kombinatorischen Logik CL1 (siehe Fig. 5) erkannt und innerhalb der Signallaufzeit tF korrigiert (durch Invertierung des alten Wertes O). Das korrekte Ergebnis steht im Ausgangssignal Syncd=N bereits zum Zeitpunkt iq + tDEL + tF zur Verfügung. Einen Takt später stellt das Flipflop L5 diesen neuen Wert als dann wiederum alten Wert O an seinem Ausgang zur Verfügung. FIG. 8 illustrates a situation (change of state in the input signal iAsync at time t 0 −t SETUP ) which, in the example from FIG. 1, has led to maximum latency. In the circuit according to FIG. 5, this situation leads to a significantly shorter latency. According to FIG. 8, in this extreme case the flip-flop LI becomes metastable and then falls back to the old value. Due to the delayed clock CLKb, the flip-flop L3 can correctly detect the new state of the input signal at time t 0 '. At the next clock edge of the clock signal CLKa, the metastability manifests itself in an inconsistency of the output signals A and B (ie A and B have different values). This inconsistency is recognized by the combinational logic CL1 (see FIG. 5) and corrected within the signal propagation time t F (by inverting the old value O). The correct result is already available in the output signal Syncd = N at the time iq + t DEL + t F. One cycle later, the flip-flop L5 makes this new value available at its output as the old value O then again.
[0041] Der Durchsatz wird durch die kürzeste Zeitspanne zwischen zwei Signaländerun- gen bestimmt, bei der alle Signaländerungen in der empfangenden Takt-Domäne ankom men. Diese beträgt hier minimal TCLK. Die empfangende Clock-Domain kann also die glei che Taktfrequenz aufweisen, wie die (asynchron dazu) sendende Clock-Domain. Diese Zeitspanne wird erreicht, da stets höchstens eine der beiden Synchronisationsketten (Flip flops LI + L2 und L3 + L4) ein Eingangs-Flipflop (Flipflop LI oder L3) in einem met- astabilen Zustand aufweist, während das jeweils andere Flipflop das Signal korrekt abtas tet. In dem Beispiel aus Fig. 9 sind exemplarisch die Abtastzeitpunkte für unterschiedliche Phasenlagen des Eingangssignals iAsync gegenüber dem Takt CLKa durch Kreise hervor gehoben. Bei der ersten Variante des Eingangssignals iAsync (Fig. 9, drittes Diagramm von oben) tritt eine Änderung von 0 auf 1 vor dem Zeitpunkt t0 — tSETUP auf und das Ein gangssignal iAsync wird zum Zeitpunkt t0 vom D-Flipflop LI korrekt abgetastet. Bei der zweiten Variante des Eingangssignals iAsync (Fig. 9, viertes Diagramm von oben) tritt eine Änderung von 0 auf 1 nach dem Zeitpunkt t0 — tSETUP jedoch vor dem Zeitpunkt t0 auf, d.h. im D-Flipflop LI kann Metastabilität auftreten und das D-Flipflop L3 ist das Si- cher-Korrekt-Flipflop, welches zum Zeitpunkt t0' = t0 + DT das Eingangs signal iAsync korrekt abtastet. Das gleiche gilt für die dritte Variante des Eingangssignals iAsync (Fig. 9, fünftes Diagramm von oben), bei dem die Änderung von 0 auf 1 genau zum Zeitpunkt t0 auftritt. Bei der vierten Variante des Eingangssignals iAsync (Fig. 9, sechstes Diagramm von oben) tritt eine Änderung von 0 auf 1 zum dem Zeitpunkt t0' — tSETUP auf, und der alte Wert (also 0) des Eingangssignals iAsync wird zum Zeitpunkt t0 vom D-Flipflop LI abge tastet, wohingegen im D-Flipflop L3 Metastabilität auftreten kann. Das Gleiche gilt für die fünfte Variante des Eingangssignals iAsync (Fig. 9, siebtes Diagramm von oben), bei der die Änderung von 0 auf 1 im Eingangssignal iAsync zwischen t0' — tSETUP und t0' auftritt. Bei der sechsten Variante (Fig. 9, unterstes Diagramm) des Eingangssignals iAsync (Fig. The throughput is determined by the shortest time span between two signal changes during which all signal changes arrive in the receiving clock domain. This is a minimum of T CLK here . The receiving clock domain can therefore have the same clock frequency as the (asynchronously to it) sending clock domain. This time span is achieved because at most one of the two synchronization chains (flip flops LI + L2 and L3 + L4) always has an input flip-flop (flip-flop LI or L3) in a met- has astable state, while the other flip-flop is correctly scanning the signal. In the example from FIG. 9, the sampling times for different phase positions of the input signal iAsync with respect to the clock CLKa are highlighted by circles. In the first variant of the input signal iAsync (FIG. 9, third diagram from the top), a change from 0 to 1 occurs before time t 0 -t SETUP and the input signal iAsync is correctly sampled by D flip-flop LI at time t 0 . In the second variant of the input signal iAsync (FIG. 9, fourth diagram from the top), a change from 0 to 1 occurs after time t 0 -t SETUP but before time t 0 , ie metastability can occur in the D flip-flop LI and the D flip-flop L3 is the sure-correct flip-flop, which correctly scans the input signal iAsync at time t 0 '= t 0 + DT. The same applies to the third variant of the input signal iAsync (FIG. 9, fifth diagram from the top), in which the change from 0 to 1 occurs precisely at time t 0 . In the fourth variant of the input signal iAsync (FIG. 9, sixth diagram from the top), a change from 0 to 1 occurs at time t 0 '- t SETUP , and the old value (i.e. 0) of input signal iAsync becomes at time t 0 sampled from the D flip-flop LI, whereas metastability can occur in the D flip-flop L3. The same applies to the fifth variant of the input signal iAsync (FIG. 9, seventh diagram from the top), in which the change from 0 to 1 in the input signal iAsync occurs between t 0 '- t SETUP and t 0 '. In the sixth variant (Fig. 9, bottom diagram) of the input signal iAsync (Fig.
9, achtes Diagramm von oben) tritt die Änderung von 0 auf 1 zwischen tQ' und t0' + tH0LD auf, und folglich tastet das D-Flipflop LI noch den alten Wert ab und im D-Flipflop L3 kann Metastabilität auftreten. Bei der letzten Variante kommt die Änderung von 0 auf 1 im Eingangs signal iAsync erst nach dem Zeitpunkt tQ' + tH0LD, d.h. das D-Flipflop LI tastet zum Zeitpunkt t0 noch den alten Wert ab und im D-Flipflop L3 kann Metastabilität auftre ten. Erst zum Zeitpunkt kann das D-Flipflop L3 die Änderung von 0 auf 1 erfassen. 9, eighth diagram from above) the change from 0 to 1 occurs between t Q 'and t 0 ' + t H0LD , and consequently the D flip-flop LI still scans the old value and metastability can occur in the D flip-flop L3. In the last variant, the change from 0 to 1 in the input signal iAsync only occurs after time t Q '+ t H0LD , ie the D flip-flop LI still scans the old value at time t 0 and metastability can occur in the D flip-flop L3 The D flip-flop L3 can only detect the change from 0 to 1 at this point in time.
[0042] Die Zeitspanne zwischen zwei Änderungen des Eingangssignals iAsync darf in einem gewissen Rahmen die Zeitspanne TCLK fallweise unterschreiten, wenn diese zumin dest im zeitlichen Mittel eingehalten wird. The time span between two changes in the input signal iAsync may fall below the time span T CLK within a certain framework, if this is adhered to at least over time.
[0043] Es versteht sich, dass ein Fachmann in der Lage ist das Beispiel aus Fig. 5 zu mo difizieren, ohne seine Funktion und dessen Wirkung nennenswert zu ändern. Beispielswei se können D-Flipflops auch durch andere Arten von flankengesteuerten Flipflops oder pe gelgesteuerten Flipflops (Latches) implementiert werden. Des Weiteren ist es auch prob- lemlos möglich, eines, mehrere oder alle der flankengesteuerten Flipflops mit den fallen den Flanken der Taktsignale zu triggern. Auch können die in Fig. 5 verwendeten Synchro nisationsketten nach Fig. 1 durch Hintereinanderschaltung von mehr als zwei Flipflops zwecks Erhöhung der MTBF gebildet werden. Des Weiteren kann - abhängig von der in einer konkreten Anwendung verfügbaren Schaltung stechnologie - die Implementierung der einzelnen Schaltungskomponenten verschieden sein. Beispielsweise kann die in Fig. 5 durch eine Wahrheitstabehe definierte kombinatorische Logik CL1 auf viele verschiedene Arten durch Kombinationen verschiedener Gatter-Schaltungen implementiert werden. Des Weiteren versteht sich, dass abhängig von der Anwendung, ein binärer Wert „0“ oder ein logischer Zustand „falsch“ sowohl durch einen hohen Pegel als auch durch einen niedrigen Pegel des Eingangssignals iAsync repräsentiert werden kann. Entsprechendes gilt für den Wert „1“ bzw. den logischen Zustand „wahr“, der durch den jeweils inversen Pegel des Eingangs signals repräsentiert wird. Die Funktion der Schaltung wird auch nicht dadurch verändert, wenn sie insgesamt eine invertierende Charakteristik aufweist. Das heißt, ein Wert „1“ des Eingangssignals iAsync kann auch in einen Wert „0“ des Ausgangssignals Syncd übersetzt werden und umgekehrt. It goes without saying that a person skilled in the art is able to modify the example from FIG. 5 without significantly changing its function and its effect. For example, D flip-flops can also be implemented by other types of edge-controlled flip-flops or level-controlled flip-flops (latches). Furthermore, it is also problem- It is possible without any problems to trigger one, several or all of the edge-controlled flip-flops with the falling edges of the clock signals. The synchronization chains used in FIG. 5 according to FIG. 1 can also be formed by connecting more than two flip-flops in series for the purpose of increasing the MTBF. Furthermore - depending on the circuit technology available in a specific application - the implementation of the individual circuit components can be different. For example, the combinational logic CL1 defined by a truth table in FIG. 5 can be implemented in many different ways by combinations of different gate circuits. Furthermore, it goes without saying that, depending on the application, a binary value “0” or a logic state “false” can be represented by both a high level and a low level of the input signal iAsync. The same applies to the value “1” or the logical state “true”, which is represented by the inverse level of the input signal. The function of the circuit is also not changed if it has an inverting characteristic overall. This means that a value “1” of the input signal iAsync can also be translated into a value “0” of the output signal Syncd and vice versa.

Claims

PATENTANSPRÜCHE PATENT CLAIMS
1. Eine Schaltung, die aufweist: eine erste Serienschaltung umfassend ein erstes Eingangs-Flipflop (LI) und ein erstes Ausgangs-Flipflop (L2) und eine zweite Serienschaltung umfassend ein zweites Eingangs-Flipflop (L3) und ein zweites Ausgangs-Flipflop (L4), wobei der ersten Serien schaltung und der zweiten Serienschaltung ein Eingangssignal (iAsync) zugeführt ist, des sen Pegel einen binären Wert repräsentiert; und eine kombinatorische Logikschaltung (CL1), welche dazu ausgebildet ist, als Eingangswerte einen Ausgangswert (A) der ersten Serienschaltung, einen Ausgangs wert (B) der zweiten Serienschaltung und einen gespeicherten alten Wert (O) eines syn chronisierten Ausgangssignals (Syncd) zu empfangen und basierend darauf einen aktuali sierten Wert des synchronisierten Ausgangssignals (Syncd) zu erzeugen, wobei das erste Eingangs-Flipflop (LI) mit einem ersten Taktsignal (CLKa) getaktet ist, und das zweite Eingangs-Flipflop (L3) mit einem zweiten Taktsignal (CLKb) getaktet ist, welches in Bezug auf das erste Taktsignal (CLKa) um eine Verzögerungszeit (AT) verzögert ist. A circuit comprising: a first series circuit comprising a first input flip-flop (LI) and a first output flip-flop (L2) and a second series circuit comprising a second input flip-flop (L3) and a second output flip-flop (L4 ), wherein the first series circuit and the second series circuit an input signal (iAsync) is supplied, whose level represents a binary value; and a combinational logic circuit (CL1) which is designed to receive as input values an output value (A) of the first series circuit, an output value (B) of the second series circuit and a stored old value (O) of a synchronized output signal (Syncd) and based thereon to generate an updated value of the synchronized output signal (Syncd), wherein the first input flip-flop (LI) is clocked with a first clock signal (CLKa), and the second input flip-flop (L3) with a second clock signal (CLKb) ) is clocked, which is delayed by a delay time (AT) with respect to the first clock signal (CLKa).
2. Die Schaltung gemäß Anspruch 1, die weiter aufweist; ein weiteres Flipflop (L5), das dazu ausgebildet ist, den aktualisierten Wert (Syncd) zu speichern und in einem folgenden Taktzyklus als den alten Wert (O) der kom binatorische Logikschaltung (CL1) zuzuführen. 2. The circuit of claim 1 further comprising; a further flip-flop (L5) which is designed to store the updated value (Syncd) and to supply it to the combinational logic circuit (CL1) as the old value (O) in a subsequent clock cycle.
3. Die Schaltung gemäß Anspruch 1 oder 2, wobei das erste Ausgangs-Flipflop (L2) und das zweites Ausgangs-Flipflop (L4) mit dem ersten Taktsignal (CLKa) getaktet sind. 3. The circuit according to claim 1 or 2, wherein the first output flip-flop (L2) and the second output flip-flop (L4) are clocked with the first clock signal (CLKa).
4. Die Schaltung gemäß einem der Ansprüche 1 bis 3, wobei das erste Eingangs-Flipflop (LI) und das zweite Eingangs-Flipflop (L3) eine Setup-Zeit (tSETUP) und eine Hold-Zeit (tH0LD) aufweisen und wobei die Verzö gerungszeit (AT) größer ist als die Summe von Setup-Zeit ( ^SETUP ) und Hold-Zeit (tH0LD). 4. The circuit according to one of claims 1 to 3, wherein the first input flip-flop (LI) and the second input flip-flop (L3) have a setup time (t SETUP ) and a hold time (t H0LD ) and wherein the delay time (AT) is greater than the sum of the setup time (^ SETUP) and hold time (t H0LD) .
5. Die Schaltung gemäß einem der Ansprüche 1 bis 4, wobei die Logikschaltung (CL1) dazu ausgebildet ist, als aktualisierten Wert des synchronisierten Ausgangssignals (Syncd) einen Wert auszugeben, der dem Aus- gangswert (A) der ersten Serienschaltung entspricht, wenn die Ausgangswerte (A, B) der ersten und der zweiten Serienschaltung gleich sind, und als aktualisierten Wert des syn chronisierten Ausgangssignals (Syncd) einen Wert auszugeben, der dem negierten alten Wert (O) entspricht, wenn die Ausgangswerte (A, B) der ersten und der zweiten Serien schaltung nicht gleich sind. 5. The circuit according to one of claims 1 to 4, wherein the logic circuit (CL1) is designed to output a value as the updated value of the synchronized output signal (Syncd) which corresponds to the output output value (A) of the first series circuit if the output values (A, B) of the first and second series circuit are the same, and to output a value as the updated value of the synchronized output signal (Syncd) that corresponds to the negated old value (O) when the output values (A, B) of the first and second series circuit are not the same.
6. Die Schaltung gemäß einem der Ansprüche 1 bis 5, wobei die Logikschaltung (CL1) eine Übertragungscharakteristik aufweist, die durch die folgende Gleichung charakterisiert ist: 6. The circuit according to one of claims 1 to 5, wherein the logic circuit (CL1) has a transfer characteristic which is characterized by the following equation:
Syncd = (A B A — 0 B —O), wobei Syncd den aktuellen Wert des synchronisierten Ausgangssignals (Syncd) bezeichnet, A den Ausgangswert der ersten Serienschaltung und B den Ausgangs wert der zweiten Serienschaltung bezeichnet, und 0 den gespeicherten, alten Wert des syn chronisierten Ausgangssignals (Syncd) bezeichnet. Syncd = (ABA - 0 B - O), where Syncd denotes the current value of the synchronized output signal (Syncd), A denotes the output value of the first series circuit and B the output value of the second series circuit, and 0 denotes the stored, old value of the synchronized Output signal (Syncd).
7. Die Schaltung gemäß einem der Ansprüche 1 bis 6, wobei die Eingangs-Flipflops (LI, L3) und die Ausgangs-Flipflops (L2, L4) taktflankengesteuerte D-Flipflops sind. 7. The circuit according to one of claims 1 to 6, wherein the input flip-flops (LI, L3) and the output flip-flops (L2, L4) are edge-controlled D flip-flops.
8. Ein Verfahren, das folgendes umfasst: 8. A process that includes:
Abtasten eines Eingangs signals (iAsync) synchron zu einem ersten Taktsig nal (CLKa) und Speichern des abgetasteten Wertes in einem ersten Eingangs-Flipflop (LI); Sampling an input signal (iAsync) synchronously with a first clock signal (CLKa) and storing the sampled value in a first input flip-flop (LI);
Abtasten des Eingangs signals (iAsync) synchron zu einem zweiten Taktsig nal (CLKb) und Speichern des abgetasteten Wertes in einem zweiten Eingangs-Flipflop (L3), wobei das zweite Taktsignal (CLKb) in Bezug auf das erste Taktsignal (CLKa) um eine Verzögerungszeit (DG) verzögert ist; Sampling the input signal (iAsync) synchronously with a second clock signal (CLKb) and storing the sampled value in a second input flip-flop (L3), the second clock signal (CLKb) in relation to the first clock signal (CLKa) by a delay time (DG) is delayed;
Weiterreichen des in dem ersten Eingangs-Flipflop (LI) gespeicherten Wer tes (MayMetaA) an ein erstes Ausgangs-Flipflop (L2) und Weiterreichen des in dem zwei ten Eingangs-Flipflop (L3) gespeicherten Wertes (MayMetaB) an ein zweites Ausgangs- Flipflop (L4); Forwarding of the value (MayMetaA) stored in the first input flip-flop (LI) to a first output flip-flop (L2) and forwarding of the value (MayMetaB) stored in the second input flip-flop (L3) to a second output flip-flop (L4);
Verknüpfen der in dem ersten Ausgangs-Flipflop (L2) und dem zweiten Ausgangs-Flipflop (L4) gespeicherten Werte (A, B) mit einem gespeicherten alten Wert (O) eines synchronisierten Ausgangssignals (Syncd) mittels einer kombinatorischen Logik- Schaltung (CL1), wobei das Ergebnis der Verknüpfung den neuen Wert des synchronisier ten Ausgangssignals (Syncd) repräsentiert. Linking the values (A, B) stored in the first output flip-flop (L2) and the second output flip-flop (L4) with a stored old value (O) of a synchronized output signal (Syncd) by means of a combinational logic Circuit (CL1), the result of the combination representing the new value of the synchronized output signal (Syncd).
9. Das Verfahren gemäß Anspruch 8, 9. The method according to claim 8,
Speichern des neuen Werts des synchronisierten Ausgangssignals (Syncd) in einem weiteren Flipflop (L5), das dazu ausgebildet ist, sodass dieser in einem folgenden Taktzyklus als gespeicherter alter Wert (O) zur Verfügung steht. Storing the new value of the synchronized output signal (Syncd) in a further flip-flop (L5), which is designed so that it is available as a stored old value (O) in a subsequent clock cycle.
10. Das Verfahren gemäß Anspruch 8 oder 9, wobei die Logikschaltung (CL1) dazu ausgebildet ist, als aktualisierten Wert des synchronisierten Ausgangssignals (Syncd) einen Wert auszugeben, der dem Aus gangswert (A) der ersten Serienschaltung entspricht, wenn die Ausgangswerte (A, B) der ersten und der zweiten Serienschaltung gleich sind, und als aktualisierten Wert des syn chronisierten Ausgangssignals (Syncd) einen Wert auszugeben, der dem negierten alten Wert (O) entspricht, wenn die Ausgangswerte (A, B) der ersten und der zweiten Serien schaltung nicht gleich sind. 10. The method according to claim 8 or 9, wherein the logic circuit (CL1) is designed to output a value as the updated value of the synchronized output signal (Syncd) which corresponds to the output value (A) of the first series circuit when the output values (A , B) of the first and the second series circuit are the same, and to output a value as the updated value of the synchronized output signal (Syncd) which corresponds to the negated old value (O) if the output values (A, B) of the first and second Series connections are not the same.
PCT/AT2019/060332 2019-10-07 2019-10-07 Synchronization circuit with reduced latency and increased throughput WO2021068011A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/AT2019/060332 WO2021068011A1 (en) 2019-10-07 2019-10-07 Synchronization circuit with reduced latency and increased throughput

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/AT2019/060332 WO2021068011A1 (en) 2019-10-07 2019-10-07 Synchronization circuit with reduced latency and increased throughput

Publications (1)

Publication Number Publication Date
WO2021068011A1 true WO2021068011A1 (en) 2021-04-15

Family

ID=68295875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2019/060332 WO2021068011A1 (en) 2019-10-07 2019-10-07 Synchronization circuit with reduced latency and increased throughput

Country Status (1)

Country Link
WO (1) WO2021068011A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11532338B1 (en) 2021-04-06 2022-12-20 Habana Labs Ltd. Mediating between asynchronous clock domains while preventing false indications of FIFO occupancy

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015403A1 (en) * 2000-08-14 2002-02-21 Jose Alberto Cavazos Synchronizer with zero metastability
US20120166856A1 (en) * 2010-12-28 2012-06-28 Stmicroelectronics Pvt. Ltd. Signal synchronizing systems and methods
US9697309B1 (en) * 2009-09-18 2017-07-04 Altera Corporation Metastability-hardened synchronization circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015403A1 (en) * 2000-08-14 2002-02-21 Jose Alberto Cavazos Synchronizer with zero metastability
US9697309B1 (en) * 2009-09-18 2017-07-04 Altera Corporation Metastability-hardened synchronization circuit
US20120166856A1 (en) * 2010-12-28 2012-06-28 Stmicroelectronics Pvt. Ltd. Signal synchronizing systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
U. TIETZEC. SCHENK: "Electronic Circuits,", 2008, SPRINGER-VERLAG, pages: 679 - 680

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11532338B1 (en) 2021-04-06 2022-12-20 Habana Labs Ltd. Mediating between asynchronous clock domains while preventing false indications of FIFO occupancy

Similar Documents

Publication Publication Date Title
EP0102598B1 (en) Device for phase synchronization
DE112013003268B4 (en) Differential clock signal generator
DE60206278T2 (en) DEVICE AND METHOD FOR DETECTING STATUS INDICATORS
DE102005034610A1 (en) Edge detector and method
DE102007054383B4 (en) Digital phase locked loop
EP1565803A2 (en) Clock synchronization circuit
DE19818976C2 (en) Phase detection device and phase detection method
DE10049029A1 (en) Circuit for determining latency of buffer circuit generates latency interval and latency indication from clock signal and from test signal derived from clock signal with delay
EP0345564A2 (en) Method and device for the recuperation of a bit clock from a digital telecommunication signal
WO2021068011A1 (en) Synchronization circuit with reduced latency and increased throughput
DE102007019826B4 (en) Phase selector for data transmission device
DE19957613B4 (en) Synchronization circuit for converting an asynchronous pulse signal into a synchronous pulse signal
AT522431B1 (en) SYNCHRONIZATION WITH REDUCED LATENCY
DE102013101933A1 (en) Method and arrangement for generating a clock signal by means of a phase locked loop
DE10016724A1 (en) Circuit arrangement for reception of at least two digital signals
EP1721407A1 (en) Interface device and method for synchronizing data
DE69531810T2 (en) Method of sampling a serial digital signal
DE19811591A1 (en) Clock signal modeling circuit with negative delay
DE102008047439B4 (en) data conversion
DE19713660A1 (en) Phase adjustment of fast parallel signals
DE102005013480B3 (en) Serial bit stream transmission method for electronic transmitter in transmission system, involves adjusting clock phase so that transmission duration of certain bit in bit sequence is different from other bits for compensating interference
DE4037062C2 (en) Circuit arrangement for synchronizing an asynchronous data signal
DE3403637A1 (en) METHOD AND DELAY UNIT FOR GENERATING A DELAYED OUTPUT SIGNAL
DE10118421C1 (en) Condition detector for digital control signal uses two edge-triggered D-type flip-flops controlled by different clock signals for sampling control signal and controlling resettable flip-flop
DE10245126B3 (en) Digital counter readable without interruption and method for counting counting pulses

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19790424

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19790424

Country of ref document: EP

Kind code of ref document: A1