1. Field of the Invention
This invention relates to electronic circuits, and more particularly, to flip-flop circuits.
2. Description of the Related Art
Logic circuits are very well known in the art of electronics. Logic circuits can be divided into two main categories, combinational logic circuits and sequential logic circuits.
Combinational logic circuits include various types of common logic gates, such as AND, OR, NAND, and NOR gates. A combinational logic circuit can be a simple logic circuit having only a single gate, or can be a complex logic circuit having hundreds of gates arranged in various levels. Combinational logic circuits can be used to perform various functions such as addition, a bitwise AND or OR operation of two different operands, and so forth.
Sequential logic circuits include a wide variety of circuits whose operations depend not only on a present state of the inputs but a past state as well. One of the most common sequential circuits is the flip-flop. One type of common flip-flop edge-triggered D-type flip-flop having a master-slave configuration. Data is latched into the master portion of the flip-flop during the low portion of the clock (‘clk’) signal, with the data received on the D input propagating to the NAND gate output labeled D′. When the clock goes high, the data from D′ propagates to the output Q. Many other types of flip-flops (J-K, S R, T, etc.) are also well known in the art.
In many digital systems, the results of combinational logic operations must be propagated in a synchronous manner. This can be accomplished by coupling an output(s) of the combinational logic function to the input of a flip-flop, such as the D-type flip-flop discussed above. The result of the combinational logic function can then be conveyed by the flip-flop in a manner that is synchronous with a clock signal.
A sense amplifier based flip-flop is disclosed. In one embodiment, a flip-flop includes a first input circuit configured to provide a first logic value on a first logic node and a second input circuit configured to provide a second logic value on a second logic node. The flip-flop further includes a sense circuit configured to sense and capture the first and second logic values on first and second capture nodes, respectively, during an evaluation phase, and a precharge circuit configured to precharge the first and second logic node and the first and second capture nodes during a precharge phase. The flip-flop further includes a noise immunity circuit, wherein the noise immunity circuit is configured to, during the evaluation phase, become active subsequent to the sense circuit capturing the first and second logic values, wherein, when activated, the noise immunity circuit prevents floating voltages on the first and second logic nodes, and wherein the noise immunity circuit is configured to be inactive during the precharge phase
In one embodiment, the noise immunity circuit is configured to cause the first and second logic nodes to be pulled to ground subsequent to the sense circuit sensing and capturing the first and second logic values. During operation of the circuit, the noise immunity circuit is inactive during the precharge phase, and becomes active during the evaluation phase. The noise immunity is coupled to receive the first and second logic values subsequent to their sensing and capture by the sensing circuit, and is activated responsive to receiving these logic values.
Other aspects of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and description thereto are not intended to limit the invention to the particular form disclosed, but, on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
Turning now to
In the embodiment shown, flip-flop 100 includes logic circuits 105 and 106. Each of these logic circuits may perform a logical function on a number of inputs D0:DN. The number of inputs may be as few as one, although as many inputs as necessary or practical may be implemented. Logical functions that may be implemented by logic circuits 105 and 106 include AND, OR, NAND, NOR, Exclusive-OR, Exclusive-NOR, invert, and so forth, as well as virtually any type of complex logic function that combines a number of different logic functions. For example, in one embodiment, each of logic circuits 105 and 106 may implement an AND-OR-Invert logic function.
The logic circuits are arranged such that logic circuit 105 and logic circuit 106 produce outputs that are complements of each other. Accordingly, in the embodiment shown, logic inputs D0:DN are provided as their true values to logic circuit 105, and as their complementary values to logic circuit 106 (via inverter circuit 118, which herein represents as many inverters as necessary for the number of logic inputs). Each of logic circuits 105 and 106 perform the same logic function, however due to the inversion of logic inputs D0:DN provided to logic circuit 106, the output thereof is a complement of the output of logic circuit 105. Embodiments where an inverter is place on the output of one of logic circuits 105 or 106 to achieve true and complementary logic outputs are also possible and contemplated.
Flip-flop 100 also includes input circuits 109 and 111. Input circuit 109 is coupled to receive a first input signal from logic circuit 105, and responsive thereto, cause a first logic value to be provided to a first logic node in sense circuit 110. Similarly, input circuit 111 is coupled to receive a second input signal from logic circuit 106, and responsive there to, cause a second logic value to be provided to a second logic node in sense circuit 110. The first and second logic values are complements of each other, as are the logic values of the first and second input signals.
In the embodiment shown, sense circuit 110 is configured to sense and capture the logic values provided to first and second logic nodes therein during an evaluation phase. More particularly, sense circuit 110 senses the logic values on the logic nodes and to capture these logic values on corresponding capture nodes. After capturing the logic values, sense circuit 110 holds these values until the precharge phase of the next cycle of operation.
Prior to the evaluation phase, flip-flop 100 may undergo a precharge phase. In the embodiment shown, precharge circuit 115 is configured to perform a precharge of various circuit nodes of sense circuit 110. The precharge may be accomplished by coupling these nodes to a supply voltage node for the duration of the precharge phase.
In the embodiment shown, clock circuit 125 is configured to provide a clock signal to both sense circuit 110 and precharge circuit 115. Depending on the state of the clock signal, flip-flop 100 may be in either the precharge phase of the evaluation phase. In this particular example, when the clock signal received from clock circuit 125 is low, flip-flop 100 operates in the precharge phase, with precharge circuit 115 performing a precharge of the nodes as described above. When the clock signal is high, flip-flop 100 operated in the evaluation phase, with sense circuit 110 sensing and capturing the logic values from logic circuit 105 and 106 on nodes 1 and 2, respectively.
Output circuit 140 is coupled to sense circuit 110 via nodes 3 and 4 in this particular embodiment, and is thus coupled to receive the logic values captured on nodes 3 and 4. These logic values are then output as true (out-t) and complementary (out-c) logic values.
The embodiment of flip-flop 100 shown in
As a preliminary note, transistors discussed herein designated with a ‘P’ are PMOS transistors, while transistors designated with an ‘N’ are NMOS transistors. However, it is noted that the scope of the disclosure is not so limited, and that PMOS and NMOS transistors may be substituted for each other in alternate embodiments, and furthermore, that the signal polarities may also be different for other embodiments.
A precharge circuit such as the one discussed above includes transistors P2, P3, P6, P7 and P8. A sense circuit such as the one discussed above includes transistors P4, P5, N20, and N21. An output circuit such as the one discussed above includes NAND gates I19 and I20. A clock circuit such as the one discussed above includes NAND gate I26, inverter I27, and transistor N8. A noise immunity circuit such as the one discussed above includes NAND gate I28 and transistors N17 and N18.
In the embodiment shown, flip-flop 100 may be enabled through an input to the clock circuit. More particularly, the input labeled ‘gater,’ when high, enables propagation of the clock signal through the clock circuit and to transistors P8 and N8. It is the state of these two transistors that determine when this embodiment of flip-flop 100 is operating in the precharge phase or the evaluation phase.
In this example, the precharge phase occurs when the clock signal is low. When the clock signal is low, transistor N8 is turned off, while transistors P2, P3, P6, P7, and P8 (i.e. the transistors of the precharge circuit) are all turned on. When these transistors are active, nodes 1 through 5 are pulled up toward voltage V. Node 1 is pulled toward voltage V through transistors P3 and P6, while node 2 is pulled toward voltage V through transistors P2 and P7. Nodes 3 and 4 are pulled toward voltage V through transistors P2 and P6, respectively. Node 5 is pulled toward voltage V through transistor P8, regardless of the state of transistors NO and N13. Pulling these nodes toward voltage V precharges these nodes to a voltage that is at or near that of voltage V.
When the clock transitions high, the embodiment shown exits the precharge phase and enters the evaluation phase. When the clock signal is high, the transistors of the precharge circuit are turned off, while transistor N8 is turned on. When transistor N8 is turned on, node 5 is discharged through this transistor and thereby pulled toward ground. Furthermore, since logic circuits 105 and 106 are configured to provide true and complementary logic outputs on nodes L1_out and L2_out, respectively, one of nodes 1 or 2 will also discharge. If logic circuit 105 produces a logic high output, transistor NO will turn on, and node 1 will discharge through this transistor and transistor N8, thereby causing a logic low value on node 1. Since transistor N13 remains turned off in this scenario, it effectively causes a logic high value on node 2, as a result of it remaining off subsequent to the precharge.
If logic circuit 106 produces a logic high output in this embodiment, transistor N13 will turn on and allow node 2 to discharge through this transistor and transistor N8, thereby causing a logic low value on node 2. Since transistor N0 remains off in this scenario, it effectively causes a logic high value on node 1, since it remains off subsequent to the precharge.
When the evaluation phase begins in this particular embodiment, both transistors N20 and N21 are turned on. Thus, when one of nodes 1 or 2 fall low, one of nodes 3 or 4 will fall low as a result. If node 1 falls low, node 3 is pulled low (toward ground) through transistors N20, N0, and N8. If node 2 falls low, node 4 is pulled low (toward ground) through transistors N21, N13, and N8. Pulling one of nodes 3 or 4 toward ground will, in turn, cause one of transistors N20 or N21 to turn off, as well as causing one of transistors P4 or P5 to turn on. If node 3 falls low, transistor P4 turns on while transistor N21 turns off. Turning on transistor P4 while turning off transistor N21 in effect captures a logic high value on node 4 by pulling it up toward voltage V. Furthermore, the high on node 4 further ensures that transistor N20 will remain turned one while transistor P5 will remain turned off. Thus, a logic low is captured on node 3 and a logic high is captured on node 4 in this example.
If, in the embodiment shown, the logic values present on nodes 1 and 2 are reversed (i.e. a logic low on node 2 and a logic high on node 1), transistor P5 will be turned on while transistor N20 will be turned off. Furthermore, transistor P4 will be turned off while transistor N21 will be turned on (as a result of the logic high on node 3). Thus, a logic high value is captured on node 3, while a logic low value is captured on node 4.
As previously noted, the embodiment shown in
It is important to note the timing relationships in the embodiment of
In the embodiment shown, nodes L1_out and L2_out do not need to hold their states for the entirety of the evaluation phase. Instead, these nodes need only to hold their states until the sense circuit has evaluated and captured the correct logic values on the capture nodes, nodes 3 and 4. For example, assume that L1_out is a logic 0 and L2_out is a logic 1. After evaluation, the sense circuit will capture a logic 1 on node 3 and a logic 0 on node 4. As a result of the logic values captures on nodes 3 and 4, transistors N21 and P5 will be turned on, while transistors N2 and P4 will be turned off. It is also assumed, for the sake of this example, assume that the logic values present on L1_out and L2_out change states to a logic 1 and a logic 0, respectively, subsequent to the capture of the logic values on nodes 3 and 4. If this were to occur in an embodiment without the noise immunity circuit described herein, node 2 would be floating, and node 4 (originally holding a captured logic 0) would no longer have a path to ground. As a result, node 4 would also float, and might be unable to hold a value of logic 0 during low frequency operation. By implementing the noise immunity circuit using NAND gate I28 and transistors N17 and N18, it is guaranteed that both of these transistors will turn on and will provide a path to ground for node 4, on which a logic 0 was captured in this example (the same applies for the situation if a logic 0 was captured on node 3, i.e. the noise immunity circuit will provide a path to ground). The path to ground provided to one of the capture nodes by transistors N17 or N18 ensure that the one of capture nodes 3 or 4 evaluated at a logic 0 will be able to maintain this value even if one or both of nodes L1_out and L2_out change states.
The solution provided by the noise immunity circuit, as exemplified above, may be more effective than solutions wherein a transistor, such as a weak, permanently on NMOS transistor, is coupled between nodes 1 and 2, as such a solution typically provides a DC path that in turn allows a DC current to flow between these nodes. Furthermore, transistors N17 and N18 can be configured to have a pull capability that is as strong as transistors N0 and N13. This may in turn provide a stronger pulldown to ground on nodes 1, 2, 3, and 4 when circuit operation necessitates these nodes be pulled to ground, thereby making the overall circuit more resilient.
The output values captured by nodes 3 and 4 are conveyed to corresponding inputs of NAND gates I20 and I19, respectively, which form the output circuit for the example shown in
The operation of the circuit embodiment shown in
The operation of the embodiment shown in
Operation of the circuit of
Turning now to
Based on the data inputs and the select inputs, one of transistors N0-N3 or one of transistors N13-N16 will turn on during the evaluation phase, thereby causing the corresponding one of node 1 or 2 to fall low. The operation of the sense circuitry, precharge circuitry, output circuitry, and noise-immunity circuitry may be largely similar to that of the embodiment shown in
As noted, the example shown in
Flip-flops 100 according to this disclosure may be implemented in a wide variety of electronic devices, such as microprocessors, digital signal processors, chipsets, various types of chips for transmitting, receiving, and/or converting data between various formats, and so forth. In general, flip-flops according to this disclosure may be implemented in any environment wherein it is necessary to perform logic functions and to synchronize the outputs of these logic functions with a clock.
While the present invention has been described with reference to particular embodiments, it will be understood that the embodiments are illustrative and that the invention scope is not so limited. Any variations, modifications, additions, and improvements to the embodiments described are possible. These variations, modifications, additions, and improvements may fall within the scope of the inventions as detailed within the following claims.