Abstract:
An input signal preconditioning circuit receives at least first and second digital input signals. The input signals are modified to provide first and second preconditioned input signals which cannot simultaneously transition in opposite directions.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to logic gates having input and output signals and, in particular, to logic gates with glitch-free output signals. 
     2. Description of the Related Art 
     Logic gates are used in a wide variety of systems. Typical logic gates include AND, OR, NAND, and NOR logic gates. In a mixed system having both synchronous and asynchronous components, gates are considered to be asynchronous elements. Unfortunately, logic gates having two or more inputs, such as AND and OR gates, are prone to glitches. 
     Referring now to FIGS. 1A-C, there is shown an input signal timing diagram 100, and OR and AND logic gates 120, 140 and accompanying output signal timing diagrams 130, 150, respectively, illustrating the OR gate and AND gate glitch problems encountered by prior art logic gates. As shown in input signal timing diagram 100, a synchronous clock signal CLK is used in the system employing OR and AND gates 120, 140. Input signals A and B appear in the system, and ideally transition only at the moment of the positive (upward) edge transition of the clock signal CLK. However, in practical implementations, there is typically a slight skew between the two input signals undergoing simultaneous transitions. When the two input signals are simultaneously transitioning in different directions, this can lead to glitches in the output. In the present application, two signals are considered to transition simultaneously, even if there is some skew therebetween, as long as each signal transitions due to the same clock signal transition. 
     As illustrated in FIG. 1B, OR gate 120 has input signals A 1 , B 1 , and output signal C 1 . At a positive edge of the clock signal CLK A 1  transitions up and B 1  transitions down. However, there is a slight A 1  /B 1  skew therebetween, causing a momentary glitch 135 to be produced in output C 1 . 
     Similarly, as illustrated in FIG. 1C, AND gate 140 has input signals A 2 , B 2 , and output signal C 2 . At a positive edge of the clock signal CLK A 2 , transitions up and B 2  transitions down. However, there is a slight A 2  /B 2  skew therebetween, causing a momentary glitch 155 to be produced in output C 2 . If the outputs of the logic gates 120, 140 are not latched, output glitches 135, 155 can propagate throughout the system and cause potential failures. 
     SUMMARY 
     In the present invention, an input signal preconditioning circuit receives at least first and second digital input signals. The first and second input signals are modified to provide first and second preconditioned input signals which cannot simultaneously transition in opposite directions. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1A-C show an input signal timing diagram, and OR and AND logic gates and accompanying output signal timing diagrams, respectively, illustrating the OR gate and AND gate glitch problems encountered by prior art logic gates; 
     FIG. 2 is a circuit diagram of a logic circuit having exemplary OR and AND logic gates and an input signal preconditioning circuit, in accordance with an embodiment of the present invention; and 
     FIG. 3 is a signal timing diagram illustrating the operation of the logic circuit of FIG. 2. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In the present invention, the input signals applied to logic gates are preconditioned to guarantee glitch-free gate output signals, under all conditions. In particular, input signals for logic gates are preconditioned in the present invention to prevent simultaneous input signal transitions in opposite directions. 
     Referring now to FIG. 2, there is shown a circuit diagram of a logic circuit 200 having exemplary OR and AND logic gates 220, 240 and an input signal preconditioning circuit or unit 210, in accordance with an embodiment of the present invention. FIG. 3 is a signal timing diagram 300 illustrating the operation of logic circuit 200. Signal timing diagram 300 shows the clock signal CLK, input signal A, delayed input signal A 0 , and modified or preconditioned input signal AA. For purposes of the present discussion, it is assumed that all transitions in circuit 200 are synchronized with the positive clock edge of the CLK signal. 
     Referring once more to FIG. 2, signal preconditioning circuit 210 comprises two D-type flip-flops 211, 231, each having a D input, a Q output, and a clock input CLK having an inverter 213, 233 attached to the CLK input terminal. Signal preconditioning circuit 210 further comprises two OR gates 212, 232, intercoupled with flip flops 211, 231 as illustrated. As used herein, the term flip-flop refers to any clocked delay element suitable for delaying an input signal as described herein. 
     Signal preconditioning circuit 210 receives the two input signals A and B that normally would be received directly by logic gates 220, 240, and outputs pre-conditioned input signals AA and BB. Thus, OR gate 220 and AND gate 230 each receives input signals AA and BB from the output of signal preconditioning circuit 210 instead of receiving input signals A and B directly. Signal preconditioning circuit 210 modifies input signals A and B to provide modified or preconditioned input signals AA and BB which are such that a glitch at the output lines 221, 241 of logic gates 220, 240, is impossible. 
     As will be appreciated, signal preconditioning circuit 210 prevents the above-described glitch problem by providing modified or preconditioned input signals that never simultaneously transition in opposite directions. This is accomplished, in one embodiment, by signal preconditioning circuit 210 ensuring that the preconditioned input signals produced thereby have a low-to-high transition synchronized, as usual, with the rising or positive edge of the CLK signal, but where the preconditioned input signals with a high-to-low transition are synchronized with the falling or negative edge of the CLK signal. Thus, the rising edge of preconditioned input signal AA changes with the rising edge of the CLK signal, simultaneously with the rising edge of input signal A. However, the falling edge of preconditioned input signal AA changes with the falling edge of the CLK signal, one half CLK cycle after the falling edge of input signal A. As used herein, one complete CLK cycle corresponds to the time from T 0  to T 2 , and one half CLK cycle corresponds to the time interval from T 2  to T 3 . 
     As shown in signal timing diagram 300, input signal A may transition &#34;up&#34; or in the positive direction at time T 0 , which coincides with a positive edge transition of the CLK signal. When input signal A transitions in the negative direction, this occurs at time T 2 , which again coincides with a positive edge transition of the CLK signal. However, delay flip-flop 211 is triggered by the falling edge of the CLK signal, due to the presence of inverter 213. Thus, delayed input signal A 0  is delayed by a half-cycle but mirrors input signal A. Thus, input signal A transitions from high-to-low at time T 2  but delayed input signal A 0  does not transition from high-to-low until time T 3 . Because delayed input signal A 0  is OR&#39;d with input signal A by OR gate 212, the output of OR gate 212, modified signal AA, does not transition from high-to-low until time T 3 . 
     The present invention, therefore, conditions or preconditions the input signals applied to logic gates to prevent output glitches, by preventing simultaneous input signal transitions in opposite directions. This is done by ensuring that rising edges of preconditioned input signals occur only with the rising edge of a CLK signal, and that all falling edges of preconditioned input signals occur only with the falling edge of the CLK signal. 
     As will be appreciated, this prevents the output signal glitch problem described above, without the necessity of latching the outputs of logic gates. In addition, the present invention does not cause delays, since at most one type of input signal transition (e.g., falling) is delayed by at most one-half clock cycle, to the falling edge of the CLK signal, and the negative CLK edge is ignored in positive CLK edge systems. The present invention also simplifies circuit design by removing the concern for inserting the correct amount of delay on the legs of logic gates, since glitch-free operation is ensured at the functional design level by the signal preconditioning circuit of the present invention. 
     Those skilled in the art will appreciate that, in alternative embodiments, alternative configurations of signal preconditioning unit may be employed to accomplish the above-described functions. In an alternative embodiment, for example, the rising edges of preconditioned input signals change with the falling edge of the CLK signal, and vice-versa for the falling edges of the preconditioned input signal. In another alternative embodiment, logic gates having more than two inputs, such as three inputs, are used which are also prone to glitches. In this embodiment, a signal preconditioning circuit is used to precondition all three input signals instead of only two. 
     It will be understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated above in order to explain the nature of this invention may be made by those skilled in the art without departing from the principle and scope of the invention as recited in the following claims.