Certain embodiments of the invention relate to electronics circuits. More specifically, certain embodiments of the invention relate to a method and system for high speed, low power and small flip-flops.
In electronics, a flip-flop is a circuit that has two or more stable states and may be used to store information. For example, an output of the flip-flop may be at a state of high voltage representing logic 1 or at a state of low or zero voltage representing logic 0. The flip-flop may be made to change state by signals applied to one or more control inputs and may have one or more outputs. An output of the flip-flop may depend not only on its current input, but also on its previous inputs. For example, when a single input is provided, the flip-flop may change state every time a pulse appears on the input signal. The flip-flop may retain the state after the signal pulses are removed. Another example may be that the flip-flop may have multiple inputs that set a particular state, set an opposite state, or change states, depending on which input is pulsed.
Flip-flops are fundamental building blocks or cells of digital electronics systems used in computers, communications, and many other types of systems. Flip-flops may be implemented using CMOS technology, for example. Flip flops may be constructed from transmission gates, inverters and/or logic gates, for example. Flip-flops may be divided into common types such as the set-reset (RS) flip-flop, the data (D) flip-flop, the toggle (T) flip-flop and/or the JK flip-flop.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.
A system and/or method for high speed, low power and small flip-flops, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
Various advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
Certain embodiments of the invention can be found in a method and system for high speed, low power and small flip-flops. In various embodiments of the invention, a master-slave flip-flop, which may comprise a master circuit, a slave circuit and an input control circuit, may be operable to sense a signal, received by the slave circuit from the master circuit, at a pair of serially coupled NMOS transistors and/or at a pair of serially coupled PMOS transistors in the slave circuit. In this regard, a gate terminal of a first NMOS transistor in the pair of NMOS transistors may be coupled to a terminal at which the signal is received by the slave circuit from the master circuit. A source terminal of the first NMOS transistor may be coupled to ground. A drain terminal of a second NMOS transistor in the pair of NMOS transistors may be coupled to an output terminal of the flip-flop and a gate terminal of the second NMOS transistor may be provided with an inverted version of a clock signal. A gate terminal of a first PMOS transistor in the pair of PMOS transistors may be coupled to the terminal at which the signal is received by the slave circuit from the master circuit. A source terminal of the first PMOS transistor may be coupled to a high voltage. A drain terminal of a second PMOS transistor in the pair of PMOS transistors may be coupled to the output terminal of the flip-flop and a gate terminal of the second PMOS transistor may be provided with the clock signal. The flip-flop may be operable to generate a corresponding output signal at the output terminal of the flip-flop based on the sensing of the signal received by the slave circuit from the master circuit.
In an exemplary embodiment of the invention, the flip-flop may comprise a SET input terminal for generating a high voltage signal at the output terminal. In such an instance, the flip-flop may be operable to receive, in a feedback path of the master circuit, an inverted version of a SET signal from the SET input terminal. The flip-flop may be operable to receive, in a feedback path of the slave circuit, the SET signal from the SET input terminal. In addition, an inverted version of the SET signal from the SET input terminal may be received by the flip-flop via a gate terminal of a third PMOS transistor in the master circuit. In this regard, a drain terminal of the third PMOS transistor may be coupled to a terminal between an output of an on-path transmission gate and an input of an on-path inverter in the master circuit. A source terminal of the third PMOS transistor may be coupled to a high voltage.
The flip-flop may be operable to control, in the input control circuit, enabling and disabling of an input terminal of the flip-flop utilizing a SET signal received from the SET input terminal.
In an exemplary embodiment of the invention, the flip-flop may comprise a RESET input terminal for generating a low voltage signal at the output terminal. In such an instance, the flip-flop may be operable to receive, in a feedback path of the master circuit, a RESET signal from the RESET input terminal. The flip-flop may be operable to receive, in a feedback path of the slave circuit, an inverted version of the RESET signal from the RESET input terminal. In addition, a RESET signal from the RESET input terminal may be received by the flip-flop via a gate of a third NMOS transistor in the master circuit. In this regard, a drain terminal of the third NMOS transistor may be coupled to a terminal between an output of an on-path transmission gate and an input of an on-path inverter in the master circuit. A source terminal of the third NMOS transistor may be coupled to ground.
The flip-flop may be operable to control, in the input control circuit, enabling and disabling of an input terminal of the flip-flop utilizing a RESET signal received from the RESET input terminal.
The input control circuit 130 may comprise a transmission gate 131, a transmission gate 133 and an inverter 132. The input control circuit 130 may be operable to control receiving input signals from an input terminal D 101 or receiving test signals from a test input terminal Ti 104, based on a signal at a terminal Te 102. While a high voltage signal (logic 1) is applied at the terminal Te 102 during a test or scan operation, the transmission gate 131 is turned off and the transmission gate 133 is turned on. The flip-flop 100 may only receive test signals from the test input terminal Ti 104. While a low or zero voltage signal (logic 0) is applied at the terminal Te 102, the transmission gate 133 is turned off and the transmission gate 131 is turned on. In such an instance, the flip-flop 100 is in normal operation and may receive data input signals from the input terminal D 101.
The master circuit 110 may comprise an on-path NAND gate 112 and a feedback NAND gate 113. The timing of the on-path NAND gate 112 is controlled by a transmission gate 111 and the timing of the feedback NAND gate 113 is controlled by a transmission gate 114. Both the transmission gates 111 and 114 may be turned on or off based on a clock signal CLK 105 and an inverted version of the clock signal
Similarly, the slave circuit 120 may comprise an on-path NAND gate 122 and a feedback NAND gate 123. The timing of the on-path NAND gate 122 is controlled by a transmission gate 121 and the timing of the feedback NAND gate 123 is controlled by a transmission gate 124. Both the transmission gates 121 and 124 may be turned on or off based on the clock signal CLK 105 and the inverted version of the clock signal
In normal operation, in order for the output terminal Q 150 to change from a state of low voltage (logic 0) to a state of high voltage (logic 1), a terminal 151 between the transmission gate 121 and the NAND gate 122 may need to change to a state of low voltage. The terminal 151 may change to a state of low voltage as soon as the transmission gate 121 is turned on and a low voltage signal may pass primarily through a NMOS transistor in the transmission gate 121. The transmission gate 121 is turned on when the signal
The on-path NAND gate 112 which may receive the
The input control circuit 230 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to control receiving input signals from an input terminal D 201 or receiving test signals from a test input terminal Ti 204, based on a signal at a terminal Te 202. In an exemplary embodiment of the invention, a SET signal at a SET input terminal 203 and/or a RESET signal at a RESET input terminal 209 may be utilized by the input control circuit 230 to control enabling and disabling of the input terminal D 201 and/or the test input terminal Ti 204. Additional exemplary details of the input control circuit 230 may be described below with respect to
The master circuit 210 may comprise an on-path inverter 212, a feedback NAND gate 213, a feedback OR gate 215, a PMOS transistor 216 and a NMOS transistor 217. The timing of the on-path inverter 212 is controlled by a transmission gate 211 and the timing of the feedback NAND gate 213 and the feedback OR gate 215 is controlled by a transmission gate 214. Both the transmission gates 211 and 214 may be turned on or off based on a clock signal CLK 205 and an inverted version of the clock signal
During a set operation, an inverted version of a SET signal
During a reset operation, the RESET signal at the RESET input terminal 209 is at a high voltage (logic 1). In an exemplary embodiment of the invention, this RESET signal at the RESET input terminal 209 may be applied on an input of the OR gate 215. The high voltage RESET signal at the RESET input terminal 209 may also be applied on a gate terminal of the NMOS transistor 217 to turn on the NMOS transistor 217. A high voltage RESET signal at the RESET input terminal 209 may also be applied to the input control circuit 230 to disable the input terminal D 201. Accordingly, a low voltage signal (logic 0) may be generated at the terminal 252 and a high voltage signal (logic 1) may then be generated at the terminal 251.
The slave circuit 220 may comprise an on-path inverter 222, a feedback NAND gate 223, a feedback OR gate 225, a pair of serially coupled PMOS transistors 226, 227 and a pair of serially coupled NMOS transistors 228, 229. The timing of the on-path inverter 222 is controlled by a transmission gate 221 and the timing of the feedback NAND gate 223 and the feedback OR gate 225 is controlled by a transmission gate 224. Both the transmission gates 221 and 224 may be turned on or off based on the clock signal CLK 205 and the inverted version of the clock signal
In order for an output terminal Q 150 to change from a state of low voltage (logic 0) to a state of high voltage (logic 1), a terminal 255 between the transmission gate 221 and the inverter 222 may need to change to a state of low voltage. The terminal 155 may change to a state of low voltage as soon as the transmission gate 221 is turned on and a low voltage signal may pass primarily through a NMOS transistor in the transmission gate 221. The transmission gate 221 is turned on when the signal
In other instances, the signal
In an embodiment of the invention, a high voltage signal (logic 1) at the terminal 251 (an input of the transmission gate 221) may be sensed by a gate terminal of the NMOS transistor 229 as soon as the signal
In another embodiment of the invention, a low voltage signal (logic 0) at the terminal 251 (the input of the transmission gate 221) may be sensed by a gate of the PMOS transistor 226 as soon as the signal CLK 205 changes to a low voltage signal. Therefore, the pair of PMOS transistors 226, 227 may be turned on and a high voltage signal (logic 1) may be generated at the output terminal Q 250 as soon as the signal CLK 205 changes to a low voltage signal. In this regard, a change from a low voltage signal (logic 0) to a high voltage signal (logic 1) at the output terminal Q 250 through the pair of PMOS transistors 226, 227 may be faster than a change from a low voltage signal (logic 0) to a high voltage signal (logic 1) at the output terminal Q 250 through the transmission gate 221. The delay of the change from a low voltage signal to a high voltage signal at the output terminal Q 250 through the transmission gate 221 may be due to, for example, the inversion operation of the inverter 254.
During a set operation, the SET signal at the SET input terminal 203 is at a high voltage (logic 1). In an exemplary embodiment of the invention, this high voltage SET signal at the SET input terminal 203 may be applied on an input of the OR gate 225. Together with the set operation in the master circuit 210, a high voltage signal (logic 1) may be generated at the output terminal Q 250.
During a reset operation, an inverted version of the RESET signal
In operation, the timing of the pair of PMOS transistors 226, 227 is controlled by the signal CLK 205, which is applied on the gate terminal of the PMOS transistor 227. The timing of the pair of NMOS transistors 228, 229 is controlled by the signal
A low voltage signal (logic 0) at the terminal 251 between the master circuit 210 and the slave circuit 220 may be sensed by the gate of the PMOS transistor 226 as soon as the signal CLK 205 changes to a low voltage signal. In this regard, the pair of PMOS transistors 226, 227 may be turned on and a high voltage signal (logic 1) may be generated at the output terminal Q 250 as soon as the signal CLK 205 changes to a low voltage signal.
During a set operation, the SET signal at the SET input terminal 203 is at a high voltage (logic 1) and may be applied on the input of the OR gate 225 in the slave circuit 220. An inverted version of a SET signal
During a reset operation, an inverted version of the RESET signal
In the exemplary embodiment of the invention illustrated in
In operation, the input control circuit 230 may be operable to control receiving input signals from an input terminal D 201 or receiving test signals from a test input terminal Ti 204, based on a signal at a terminal Te 202. While a high voltage signal (logic 1) is applied on the terminal Te 202 during a test or scan operation, the transmission gate 237 is turned off and the transmission gate 240 is turned on. The master circuit 210 in the flip-flop 200 may only receive test signals from the test input terminal Ti 204. While a low or zero voltage signal (logic 0) is applied on the terminal Te 202, the transmission gate 240 is turned off and the transmission gate 237 is turned on. In such an instance, the master circuit 210 may receive data input signals from the input terminal D 201 and the flip-flop 200 is in normal operation.
During a set operation of the flip-flop 200, a SET signal at a SET input terminal 203 is at a high voltage (logic 1) and may be applied on an input of the NOR gate 233. The transmission gate 237 is turned off. In this regard, the input terminal D 201 may be disabled without passing input signals to the master circuit 210 during the set operation. Similarly, during a reset operation of the flip-flop 200, a RESET signal at a RESET input terminal 209 is at a high voltage (logic 1) and may be applied on an input of the NOR gate 233. The transmission gate 237 is turned off. In this regard, the input terminal D 201 may be disabled without passing input signals to the master circuit 210 during the reset operation.
The transmission gate 237 may be turned on or turned off based on the signals received from the terminal Te 202, the set input terminal 203 and/or the reset input terminal 209. The transmission gate 240 may be turned on or turned off only based on the signals received from the terminal Te 202.
In operation, the input control circuit 230 may be operable to control receiving input signals from an input terminal D 201 or receiving test signals from a test input terminal Ti 204, based on a signal at a terminal Te 202. While a high voltage signal (logic 1) is applied on the terminal Te 202 during, for example, a test or scan operation, the transmission gate 237 is turned off and the transmission gate 240 is turned on. The master circuit 210 in the flip-flop 200 may only receive test signals from the test input terminal Ti 204. While a low or zero voltage signal (logic 0) is applied on the terminal Te 202, the transmission gate 240 is turned off and the transmission gate 237 is turned on. In such an instance, the master circuit 210 may receive data input signals from the input terminal D 201 and the flip-flop 200 is in normal operation.
In instances when a low or zero voltage signal (logic 0) is applied on the terminal Te 202, the master circuit 210 in the flip-flop 200 may receive input signals from the input terminal D 201 through the transmission gate 237. However, during a set operation of the flip-flop 200, a SET signal at a SET input terminal 203 is at a high voltage (logic 1) and may be applied on an input of the NOR gate 233. The transmission gate 237 is turned off during the set operation. In this regard, the input terminal D 201 may be disabled without passing input signals to the master circuit 210 during the set operation. Similarly, during a reset operation of the flip-flop 200, a RESET signal at a RESET input terminal 209 is at a high voltage (logic 1) and may be applied on an input of the NOR gate 233. The transmission gate 237 is turned off during the reset operation. In this regard, the input terminal D 201 may be disabled without passing input signals to the master circuit 210 during the reset operation.
In instances when a high voltage signal (logic 1) is applied on the terminal Te 202, the master circuit 210 in the flip-flop 200 may receive test signals from the test input terminal Ti 204 through the transmission gate 240. However, during a set, operation of the flip-flop 200, a SET signal at a SET input terminal 203 is at a high voltage (logic 1). An inverted version of the SET signal
The transmission gate 237 may be turned on or turned off based on the signals received from the terminal Te 202, the set input terminal 203 and/or the reset input terminal 209. Similarly, the transmission gate 240 may be turned on or turned off based on the signals received from the terminal Te 202, the set input terminal 203 and/or the reset input terminal 209.
In various embodiments of the invention, a master-slave flip-flop 200, which may comprise a master circuit 210, a slave circuit 220 and an input control circuit 230, may be operable to sense a signal, received by the slave circuit 220 from the master circuit 210, at a pair of serially coupled NMOS transistors 228, 229 and/or at a pair of serially coupled PMOS transistors 226, 227 in the slave circuit 220. In this regard, a gate terminal of a first NMOS transistor 229 in the pair of NMOS transistors 228, 229 may be coupled to a terminal 251 at which the signal is received by the slave circuit 220 from the master circuit 210. A source terminal of the first NMOS transistor 229 may be coupled to ground. A drain terminal of a second NMOS transistor 228 in the pair of NMOS transistors 228, 229 may be coupled to an output terminal Q 250 of the flip-flop 200 and a gate terminal of the second NMOS transistor 228 may be provided with an inverted version of a clock signal
In an exemplary embodiment of the invention, the flip-flop 200 may comprise a SET input terminal 203 for generating a high voltage signal at the output terminal Q 250. In such an instance, the flip-flop 200 may be operable to receive, in a feedback path of the master circuit 210, an inverted version of a SET signal from the SET input terminal 203. The flip-flop 200 may be operable to receive, in a feedback path of the slave circuit 220, the SET signal from the SET input terminal 203. In addition, an inverted version of the SET signal from the SET input terminal 203 may be received by the flip-flop 200 via a gate terminal of a third PMOS transistor 216 in the master circuit 210. In this regard, a drain terminal of the third PMOS transistor 216 may be coupled to a terminal 252 between an output of an on-path transmission gate 211 and an input of an on-path inverter 212 in the master circuit 210. A source terminal of the third PMOS transistor 216 may be coupled to a high voltage.
The flip-flop 200 may be operable to control, in the input control circuit 230, enabling and disabling of an input terminal D 201 of the flip-flop 200 utilizing a SET signal received from the SET input terminal 203.
In an exemplary embodiment of the invention, the flip-flop 200 may comprise a RESET input terminal 209 for generating a low voltage signal at the output terminal Q 250. In such an instance, the flip-flop 200 may be operable to receive, in a feedback path of the master circuit 210, a RESET signal from the RESET input terminal 209. The flip-flop 200 may be operable to receive, in a feedback path of the slave circuit 220, an inverted version of the RESET signal from the RESET input terminal 209. In addition, a RESET signal from the RESET input terminal 209 may be received by the flip-flop 200 via a gate of a third NMOS transistor 217 in the master circuit 210. In this regard, a drain terminal of the third NMOS transistor 217 may be coupled to a terminal 252 between an output of an on-path transmission gate 211 and an input of an on-path inverter 212 in the master circuit 210. A source terminal of the third NMOS transistor 217 may be coupled to ground.
The flip-flop 200 may be operable to control, in the input control circuit 230, enabling and disabling of an input terminal D 201 of the flip-flop 200 utilizing a RESET signal received from the RESET input terminal 209.
Other embodiments of the invention may provide a non-transitory computer readable medium and/or storage medium, and/or a non-transitory machine readable medium and/or storage medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for high speed, low power and small flip-flops.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.
This patent application makes reference to, claims priority to, and claims benefit from U.S. Provisional Application Ser. No. 61/447,920, which was filed on Mar. 1, 2011. The above stated application is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61447920 | Mar 2011 | US |