TWO STAGE SYNCHRONIZER

Abstract: A method, and apparatus to implement that method, for synchronizing an incoming signal to the transitions of a digital clock signal in the form of a periodic pulse train. The apparatus includes a first circuit pair of flip-flops arranged to sample and store the state of the input signal on either the positive and negative transitions of the periodic pulse train, and OR gate producing a signal indicative of the stored content of the first circuit, and a third circuit that samples and stores the first signal at each transition of the periodic pulse train to produce therefrom a rep­ resentation of the input signal synchronized to one of the transitions of the pulse train.

Description: The present invention is directed generally to digital equipment, and more particularly to apparatus for synchronizing transitions of an input signal to a transition of a digital clock signal in the form of a periodic pulse train within one period of the pulse train. In digital systems, it is not unusual to control the transfer of data between independent units, such as a device controller and a peripheral device controlled thereby, using control strobe pulses or, as they are more usually called, "handshake" signals. Generally, a handshake signal will signify, for example, that a piece of data is present on the input/output lines connecting the peripheral device and its controller. The handshake can then be applied, along with a timing or clock signal (usually in the form of a periodic pulse train) to appropriate logic to effect proper data transfer (or other operations). In such circumstances, synchronization is desired, if not necessary, between the handshake and a clock to avoid generation of spurious signals. Often, due to physical tolerances in the manufacture of the hardware used to control such systems, the relative position in time of the handshake signal and clock will vary over a range, even if the devices are driven in lock-step by a common clock. Such variations in the duration and timing of handshake signals cause problems where the handshake must be present in synchronism for the handshake to be recognized as valid. More often, however, units that communicate with one another are synchronously operated by their own independent clocks so that the handshake signals between them appear asynchronously. Digital System Design, B Wilkinson, pages 395-396, 1987, Prentice Hall, discloses a pulse synchroniser intended to account for a transition in the asynchronous input close to a transition in the clock signal, and uses a cascaded pair of edge-triggered flip-flops to avoid producing an output which persists in an indeterminate state in those circumstances. However, the synchronisation of the output takes more than one clock period to achieve. However, for certain applications synchronisation is required to be achieved in less time than one clock period. In high-speed data transfers between, for example, a peripheral device and its corresponding controller, it is often necessary that data transfers occur in a time period that is no more than a clock period in order to prevent data overrun (ie, incoming data overriding immediately preceding data). Data overrun problems can be cured by one of two methods: Adding more logic circuitry in the form of additional buffering (and multiplexing the incoming line to the separate buffers), or ensuring that the ultimate transfer of a first piece of incoming data is made before the immediately succeeding piece of data is lost (ie, slow down the transfer rate). Electronic Engineering, volume 51, number 627, September 1979, pages 33-35, S Tomek: "The synchroniser with the minimum delay" discloses apparatus according to the precharacterising part of claim 1. This prior design requires, in addition to four flip-flops, four inverters and five gates, and involves the use of feedback. The present invention seeks to provide, in a minimum of circuitry, apparatus for synchronising an incoming signal to transitions of a periodic pulse train. Broadly, the invention comprises the method of sampling and storing the input signal at each transition (ie, each change of stage) of the periodic pulse train with which the input signal is to be synchronised; producing from the sampled step a first signal that is indicative of the stored state of the input signal, sampling and storing the first signal at each transition of the periodic pulse train; and producing from the stored first signal a representation of the input signal that is synchronised with the periodic pulse train. According to the present invention, there is provided apparatus for synchronising a transition between first and second states of an input signal to positive or negative transitions occurring in a periodic pulse train, the apparatus comprising: first storage means coupled to receive the input signal for sampling and storing the state of the input signal at each positive transition of the periodic pulse train; and second storage means coupled to receive the input signal for sampling and storing the state of the input signal at each negative transition of the periodic pulse train; characterised by first circuit means operable to produce a first signal indicative of the state of the input signal stored in the first and second storage means; and second circuit means operating in response to the first signal and the pulse train to produce a representation of the input signal having first and second state transitions synchronised with the transitions of the pulse train, the second circuit means including third storage means coupled to sample and store the first signal at each positive transition of the periodic pulse train, fourth storage means coupled to sample and store the first signal and each negative transition of the periodic pulse train, and output means for receiving the first and second representations to produce therefrom an output signal that is representative of the input signal with state changes occurring only at the positive or negative transitions of the periodic pulse train. The invention also provides a method of synchronising changes of state of an input signal to positive or negative transitions of a periodic pulse train, the method comprising the steps of: sampling and storing the state of the input signal at each transition of the periodic pulse train; producing a first signal indicative of the stored state of the input signal; sampling and storing the first signal at each transition of the periodic signal, and producing therefrom first and second representations of the input signal with changes of state occurring at each of the transitions of the periodic pulse train; and output means for receiving the first and second representations to produce therefrom an output signal that is representative of the input signal, the output signal having changes of state occurring at the positive or negative transition of the periodic pulse train. The invention disclosed is implemented by providing a first pair of flip-flops each respectively configured to sample and store the input signal on the positive and negative-going transitions of the periodic pulse train in the form of a digital clock signal ("clock"). The TRUE (Q) outputs of the flip-flops are connected to an OR gate, the output of which is sampled and stored at each clock transition by a second pair of flip-flops. The outputs of the second pair of flip-flops form synchronised versions of the input signal, having state transitions occurring substantially with those of clock. These output signals may be logically ORed by an OR gate to form a signal that is synchronised with both state changes of clock. A number of advantages are achieved by the present invention. First, in a minimum number of circuit components, a two-stage synchronised is formed capable of synchronising the leading edge of an input signal to a transition of a clock signal - within one period of the clock, maximum. The invention will be further described by way of non-limitative example with reference to the accompanying drawings, in which:- Figure 1 is a circuit diagram of a two-stage synchroniser constructed in accordance with the teachings of the present invention disclosed herein; and Figure 2 is a timing diagram, illustrating operation of the two-stage synchroniser of figure 1. Referring first to figure 1, there is illustrated a two-stage synchroniser, constructed in accordance with the teachings of the present invention and designated generally with the reference numeral 10. As constructed, the two-state synchronizer 10 operates to synchronize the transitions or state changes of an input signal (IN) to the transitions of a periodic pulse train in the form of a clock (CLK) signal. As Fig. 1 shows, the two-stage synchronizer 10 includes four D-type flip-flops 12, 14, 16 and 18; a pair of OR gates 20 and 22, and an INVERTER 24. The IN signal, an aperiodic, asynchronously-appearing pulse, is coupled to the date (D) inputs of the flip-flops 12 and 14, while the CLK signal is coupled to the clock (CK) inputs of the flip-flops 12 and 16, and to the input of the INVERTER 24. The output of the INVERTER 24 is coupled to the clock (CK) inputs of the flip-flops 14 and 18. Thus, while the CK inputs of the flip-flops 12 and 14 receive the "true" version of the CLK signal, the CK inputs of the flip-flops 14 and 18 receive the inverted or phase-shifted (by 180°) version of the CLK signal. The flip-flops are of the type that sample and store the state of the signal then appearing at the D input on the rising or positive-going edge of the signal applied to the CK input. Flip-flop 12, therefore, samples the IN signal on positive-going transitions of the CLK signal while the flip-flop 14 samples the IN signal on the negative-going transitions of CLK. To put it another way, the pair of flip-flops 12, 14 operate to sample and store the state of the IN signal at each transition of the CLK signal. The outputs (Q1 and Q2, respectively) of the flip-flops 12 and 14 are coupled to an OR gate 20 that, in turn, produces a first signal that is communicated to the data (D) inputs of the flip-flops 16 and 18. Similar to the pair of flip-flops 12, 14, the flip-flops 16 and 18 also respectively operate to sample and store the state of the first signal on each positive and negative-going transition of the CLK signal. The outputs (Q) of the pair of flip-flops 16, 18 form the output signals O₁ and O₂ produced by the two-state synchronizer 10. In addition, the Q outputs of the flip-flops 16, 18 are coupled to the inputs of the OR gate 22 to produce a third signal, O₃. All three output signals O₁, O₂, O₃ each form a synchronized representation of the IN signal. Referring now to Fig. 2, a timing diagram is shown to illustrate operation of the two-stage synchronizer 10 in which the CLK signal (waveform 30) is used to periodically sample the state of the IN signal (waveform 32) to produce synchronized representations in the form of the signals O₁, O₂ and O₃ (waveforms 38, 40 and 42). The CLK signal (waveform 30), as Fig. 2 illustrates, is shown as having a 50% duty cycle, although that is not necessary to the present invention, and positive and negative-going transition between upper and lower logic states (or voltage levels) 54 and 56, respectively. In operation, assume that prior to the time period T₁ (Fig. 2) the IN signal is at a lower or first state, and that during the time period T₁, the IN signal traverses to the higher or second assumable state. The time period T₁ is intended to indicate that period of time, relative to the rising edge 50 of the CLK signal, during which the flip-flops 12, 14 are "blind" to state changes of the IN signal; that is, state changes from a lower to a higher level of the IN signal occurring in the time period T₁ will not be seen, and the flip-flop 12 will, at the rising edge 50 of the CLK signal, store a LOW. However, at the immediately succeeding, or negative, transition of the CLK signal the IN signal has has time to set up to the HIGH state and, therefore, that HIGH will be stored in the flip-flop 14 on the negative transition of CLK - at time T₂. The HIGH at the Q2 output of flip-flop 14 is communicated via the OR gate 20 to the data (D) inputs of the flip-flops 16 and 18 so that, at the next succeeding CLK transition, which in the example here will be positive-going, the flip-flop 16 will sample and store, in effect, the content of the flip-flops 12, 14, causing the output Q3 to go HIGH at time T₃. In turn, via the OR gate 22, the output signal O₃ (waveform 42) will also go HIGH. Thus, all three output signals O₁, O₂ and O₃ form a representation of the IN signal that is synchronized to the transitions of the CLK signal. A similar analysis can be made for the falling or negative-going transition of the IN signal. Continuing with reference to Fig. 2, at time period T₄ another leading (positive) transition of the IN signal occurs around or shortly after a negative transition 52 of the CLK signal. Again, the transition of the IN signal is not seen by the flip-flops 12, 14 because of its closeness to the transition of the CLK signal. However, at the immediately succeeding transition of the CLK signal (time T₅) the IN signal has settled and, since this transition will be positive, the flip-flop 12 will sample and store the now HIGH state of the IN signal. Thereafter, at time T₆ (the next succeeding negative transition 52 of the CLK signal) the output Q4 from the flip-flop 18, and therefore the output signals O₁ and O₃ go HIGH (waveforms 38 and 42). Again, the output signals O₁ and O₃ form a representation of the IN signal that is synchronized to the rising or positive transition of the CLK signal. One may ask what is the need for the second rank of flip-flops 16, 18. It will be noted that, in Fig. 2, synchronization appears to be achieved by the output of the OR gate 20. The answer is found in the metastability of flip-flops. If a transition of the IN signal occurs at exactly (or very close to exactly) the transition of the CLK signal, the output of the flipflops 12, 14 will be indeterminate. In fact, the outputs can oscillate between a "one" and a"zero" state for a limited time. This situation is unacceptable. The second rank of flip-flops 16, 18 prevents this oscillation from propagating through to the rest of the circuit. In summary, there has been disclosed a synchronizer circuit for synchronizing an input signal to a clock signal formed from a periodic pulse train.

Claims: 1. Apparatus for synchronising a transition between first and second states of an input signal to positive or negative transitions occurring in a periodic pulse train, the apparatus comprising: first storage means coupled to receive the input signal for sampling and storing the state of the input signal at each positive transition of the periodic pulse train; and second storage means coupled to receive the input signal for sampling and storing the state of the input signal at each negative transition of the periodic pulse train; characterised by first circuit means operable to produce a first signal indicative of the state of the input signal stored in the first and second storage means; and second circuit means operating in response to the first signal and the pulse train to produce a representation of the input signal having first and second state transitions synchronised with the transitions of the pulse train, the second circuit means including third storage means coupled to sample and store the first signal at each positive transition of the periodic pulse train, fourth storage means coupled to sample and store the first signal at each negative transition of the periodic pulse train and output means for receiving the first and second representations to produce therefrom an output signal that is representative of the input signal with state changes occurring only at the positive or negative transitions of the periodic pulse train. 2. The apparatus of claim 1, wherein the first, second, third and fourth storage means each include a D-type flip-flop. 3. The apparatus of claim 2, wherein each of the D-type flip-flops are each triggered. 4. The apparatus of claim 2 or 3, wherein each of the D-type flip-flops are each triggered and operable to sample and store on each positive going transition of the pulse train. 5. A method of synchronising changes of state of an input signal to positive or negative transitions of a periodic pulse train, the method comprising the steps of: sampling and storing the state of the input signal at each transition of the periodic pulse train; producing a first signal indicative of the stored state of the input signal; sampling and storing the first signal at each transition of the periodic signal, and producing therefrom first and second representations of the input signal with changes of state occurring at each of the transitions of the periodic pulse train; and output means for receiving the first and second representations to produce therefrom an output signal that is representative of the input signal, the output signal having changes of state occurring only at the positive or negative transition of the periodic pulse train.

Inventors: SANNER,MARTIN W.
Applicants: TANDEM COMPUTERS INCORPORATED
Application year: 1988
Main classification: H03K5
IPC codes: G06F1, H03K5, H04L7