CMOS flip-flop circuit

Abstract: A high speed CMOS clocked D-type flip-flop circuit (200) includes a master section (210) having input terminals (201, 203) adapted to receive D and D/ inputs and having parallel output terminals (247, 249) coupled to inputs of a slave section (220) which provides Q and Q/ outputs on Q and Q/ flip-flop output terminals (205, 207). The master and slave sections (210, 220) each include four CMOS tristate inverters (212-218; 222-228). The provision of parallel data paths having a small number of gates therein enables high-speed flip-flop operation to be achieved. A clock generating circuit (230) which may be selectively enabled generates true and complementary clock signals for the flip-flop circuit (200). In a modification, provision is made for a RESET signal to reset the flip-flop circuit (200).

Description: This invention relates to CMOS flip-flop circuits. Metal Oxide Semiconductor (MOS) devices are used extensively in the design of integrated circuits due to the simplicity of their geometry, very small physical size, and extremely small power dissipation. These attributes permit large scale integration (LSI) in which thousands of MOS transistors are contained in one circuit which occupies only a very small chip area. Despite the advantages recited above, MOS logic gates are often not well suited to applications requiring high speed operation. Such applications are possibly better executed by logic devices implemented in the considerably faster TTL (Transistor-Transistor Logic) or ECL (Emitter Coupled Logic) technologies. However, although generally faster, TTL and ECL gates dissipate much more power than MOS logic gates. To simplify and accelerate the design and development of large scale integrated circuits and very large scale integrated (VLSI) circuits, NCR Corporation, as well as others in the semiconductor industry, have designed libraries of commonly used logic circuit functions. These logic circuit functions, referred to as "cells", can include simple structures such as gates and latches or more complex structures such as RAMs, ROMs and PLAs. In addition, the cells can consist of arrays of logic gates or arrays of "cell macros", logic elements performing higher level logic functions than basic gates. Thereafter in the design of a new integrated circuit the system designer can access the cell library to copy a previously designed and tested circuit which performs a function required by the new integrated circuit under design. The use of cell libraries has substantially reduced the design effort required to design complex components. One of the recurring requirements for new integrated circuit designs is the need for a high speed flip-flop. There are specific applications where the flip-flop designs currently used in the cell libraries are not fast enough to satisfy customer needs. A schematic illustration of a known CMOS (Complementary Metal Oxide Semiconductor) clocked D-type flip-flop is shown in Figure 1. This schematic diagram appears on page 2-89 of the High Speed CMOS Logic Data Book, Copyright 1987 Texas Instruments Incorporated. The flip-flop includes a master section comprised of transmission gates 10 and 12, NAND gate 14 and negative logic input OR gate 16. The output of the master section, i.e. the output of gate 14, is provided to a slave section including transmission gates 20 and 22, negative logic input OR gate 24 and NAND gate 26. Gates 16 and 24 could alternatively be represented as NAND gates. The transmission gates are controlled by a clock signal C, a LOW clock signal state causing gates 10 and 22 to be active and gates 12 and 20 to be inactive, and a HIGH clock signal state causing gates 10 and 22 to be inactive and gates 12 and 20 to be active. Operation of the circuit of Figure 1 is as follows. Consider that initially the clock is HIGH so that transmission gates 10 and 22 are inactive and transmission gates 12 and 20 are active. The flip-flop will have at its output data from the previous clock cycle. Now when the clock goes LOW, gates 10 and 22 will be actived and gates 12 and 20 will be inactived. Data received at input terminal D will appear complemented at the output of the master section. When the clock thereafter goes HIGH, gates 12 and 20 will be actived and gates 10 and 22 will be inactived. The data state present at the output of the master section will be transferred to the Q output of the flip-flop. One complete clock cycle is required to effectuate the transfer of data from input D to output Q. Preset (PRE/) and Clear (CLR/) inputs are provided to set or reset the outputs regardless of the level of the D and clock inputs. Note that there is only one data path through the flip-flop and that Q/, is produced by inverting Q. Thus, output Q/ lags output Q by the propagation delay of NAND gate 26. US4,506,167 discloses one example of a known master slave flip-flop which seeks to overcome the timing problems previously experienced. US4,506,167 however employs transmission gates in a particular circuit configuration and which unnecessarily limit the performance of the circuit disclosed therein. Also, EP0219846 discloses a master slave latch employing the functional equivalent of tristate inverters, but this document takes no account of the particular timing problems faced, and overcome, by the present invention. The present invention seeks to provide for a CMOS flip-flop circuit which has an advantageously improved performance having regard to known flip-flop circuits. According to the present invention there is provided a clocked, D-type, CMOS flip-flop circuit comprising a first input terminal adapted to receive a binary input signal and a second input terminal adapted to receive the complement of said binary input signal; a Q output terminal adapted to provide a binary output signal and a Q/ output terminal adapted to provide the complement of said binary output signal; a first data path adapted to provide the state of the binary input signal received at said first input terminal to said Q output terminal; a second data path adapted to provide the state of the complemented binary input signal received at said second input terminal to said Q/ output terminal and having a master section and a slave section; said master section being responsive to a clock signal to provide binary output signals to said slave section when said clock signal has a first binary state and to store the states of said last-recited binary output signals when said clock signal has a second binary state; and said slave section being responsive to said clock signal to provide binary output signals to said Q and Q/ output terminals when said clock signal has said second binary state and to store the states of said last-recited binary output signals when said clock signal has said first binary state, characterised in that said master section includes first, second, third and fourth tristate inverters; said first tristate inverter being connected to receive said binary input signal; said second tristate inverter being connected to receive said second binary input signal; said third tristate inverter having its input connected to the output of said second tristate inverter and its output connected to the output of said first tristate inverter, the combined outputs of said first and third tristate inverters forming one output of said master section; and said fourth tristate inverter having its input connected to the output of said first tristate inverter and its output connected to the output of said second tristate inverter the combined outputs of said second and fourth tristate inverters forming a second output of said master section; a slave section including fifth, sixth, seventh and eighth tristate inverters; said fifth tristate inverter being connected to receive the combined output of said first and third tristate inverters and having its output connected to said Q output terminal; said sixth tristate inverter being connected to receive the combined output of said second and fourth tristate inverter and having its output connected to said Q/ output terminal; said seventh tristate inverter having its input connected to the output of said sixth tristate inverter and its output connected to said Q output terminal; and said eighth tristate inverter having its input connected to the output of said fifth tristate inverter and its output connected to said Q/ output terminal; said first, second, seventh and eighth tristate inverters being responsive to said clock signal to generate output when said clock signal has said first binary state; and said third, fourth, fifth and sixth tristate inverters being responsive to said clock signal to generate output when said clock signal has said second binary state. One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which:- Figure 1 is a logic diagram of a prior art, D-type flip-flop implemented in CMOS technology; Figure 2 is a schematic of a high speed, CMOS D-type flip-flop, according to the present invention; and Figure 3 is a schematic of a high speed, CMOS D-type flip-flop including an asynchronous reset, according to the present invention. Referring now to Figure 2, there is seen a schematic of a high speed, CMOS D-type flip-flop 200, according to the present invention. The flip-flop includes two input terminals 201 and 203, a master section 210, a slave section 220, and two output terminals 205 and 207 and a clock enable circuit 230. The master section comprises four CMOS tristate inverters 212, 214, 216 and 2218, hereinafter referred to as TI 212, TI 214, TI 216 and TI 218. The input of TI 212 is connected to input terminal 201. Similarly, the input of TI 214 is connected to input terminal 203. TI 216 has its input connected to the outputs of TI 214 and TI 218 and its output coupled to the output of TI 212. Likewise, TI 218 has its input connected to the output of TI 212 and TI 216 and its output coupled to the output of TI 214. Line 247, which is connected to the outputs of TI 212 and TI 216, forms one output of master section 210, and line 249, which is connected to the outputs of TI 214 and TI 218, forms a second output of the master section. Slave section 220 is identical in construction to master section 210. The slave section includes CMOS tristate inverter 222, 224, 226 and 228 connected together as follows. TI 222 has its input connected to line 247. TI 224 has its input connected to line 249. TI 226 has its input connected to the outputs of TI 224 and TI 228 and its output connected to the output of TI 222. And TI 228 has its input connected to the outputs of TI 222 and TI 226 and its output connected to the output of TI 224. The outputs of TI 222 and TI 226 are connected to output terminal 205 and the outputs of TI 224 and TI 228 are connected to output terminal 207. Each of the tristate inverters described above includes p and n control inputs connected to receive clock and complemented clock signals. The n control inputs of TI 212, TI 214, TI 226 and TI 228 and the p control inputs of TI 216, TI 218, TI 222 and TI 224 are connected to receive clock signal C, while the p control inputs of TI 212, TI 214, TI 226 and TI 228 and the n control inputs of TI 216, TI 218, TI 222 and TI 224 are connected to receive complemented clock signal C/. Each tristate inverter generates an output signal which is the complement of the signal received at its input when a LOW signal is received at its p control input and a HIGH signal is received at its n control input. Also shown in Figure 2 is a clock enable circuit 230 which can be included with the flip-flop circuit to control the generation of signals C and C/. The enable circuit comprises NAND gates 235 and 239. Each NAND gate has an input connected to receive an external clock signal CLK and an enable signal ENBL. The output of NAND gate 235 is provided to an inverter 237 to generate signal C. The output of gate 239 is provided to inverters 241 and 243, connected in series, to generate signal C/. When the enable signal is held HIGH signals C and C/ are generated, signal C being equal to clock signal CLK and signal C/ being the complement of signal CLK. When the enable signal is LOW, signal C is held LOW and signal C/ is held HIGH. The operation of the flip-flop circuit is as follows. Consider that initially clock signal C is LOW. Tristate inverters 212 and 214 are disabled and therefore data presented to the flip-flop on input lines 201 and 203 will not be accepted by the circuit. Tristate inverters 216, 218, 222 and 224 are all enabled and operate as described below to maintain output signals Q and Q/ at the last received values of D and D/, respectively. When the state of clock signal C changes to HIGH, tristate inverters 216, 218, 222 and 224 are disabled, producing no output (high impedance state). Output signals Q and Q/ are maintained at their values prior to signal C changing state by the operation of enabled tristate inverters 226 and 228. TI 226 generates Q/ by inverting Q, while TI 228 simultaneously inverts Q/ to produce Q. The HIGH state of clock signal C enables TI 212 and TI 214, which invert input signals D and D/, respectively. The inverted D input signal, which is equivalent to signal D/, is provided on line 247 to disabled TI 222 and the inverted signal D/, which is equivalent to signal D, is provided on line 249 to disabled TI 224. New data is not placed onto the output lines 205 and 207 when clock signal C obtains a HIGH state. At the change of state of clock signal C from HIGH to LOW, TI 212 and TI 214 are disabled. TI 216 and TI 218 are enabled to maintain the signal states residing on lines 247 and 249 at their values prior to signal C changing to its LOW state. TI 222 and TI 224 are enabled to invert the latched values present on lines 247 and 249, respectively, the outputs of these two tristate inverters being the new values for output signals Q and Q/. TI 226 and TI 228 are disabled. The circuit operation continues as described above with every change of state of clock signal C. Data present at input terminals 201 and 203 during a HIGH state of clock signal C will be provided to outputs Q and Q/, respectively, at the change of state of signal C from HIGH to LOW, and latched until the next HIGH to LOW transition. In addition, incorporation of the enable circuitry into the flip-flop circuit permits additional control over the operation of the flip-flop. A LOW state for signal ENBL sets clock signal C to a LOW state, disabling tristate inverters 212, 214, 226 and 228 and enabling tristate inverters 216, 218, 222 and 224. The operational states of the tristate inverters are not permitted to change until signal ENBL goes HIGH. Figure 3 is a schematic of a high speed, CMOS D-type flip-flop including an asynchronous reset, according to the present invention. The reset feature is provided by substituting clocked NAND gates 316 and 328 for tristate inverters 216 and 228 of Figure 2. A reset signal RST/ is provided to one input of each clocked NAND gate via line 301. When signal RST/ is HIGH, the operation of the circuit of Figure 3 is the same as that previously described in connection with the circuit of Figure 2. When signal RST/ is LOW, output signals Q and Q/ are set LOW and HIGH, respectively. Inclusion of clocked NAND gates 318 and 328 into the flip-flop does, however, reduce the operating speed of the circuit. It can thus be seen that there has been provided by the present invention a high speed D-type CMOS flip-flop circuit. Through the use of tristate inverters and parallel data paths for D and D/ inputs having only two gates therein between the input and output terminals and the elimination of the need for an inverter to generate the Q/ output signal, the circuit presented herein is capable of operating at a clock speed much greater than the above-discussed known prior art CMOS flip-flop. The circuit design is intended for use in standard cell libraries or gate array libraries. The circuit of Figure 2 has been simulated and compared with other standard cell and gate array offerings and shown to be forty percent faster than prior fast flip-flop library offerings. The present circuit will operate up to a maximum clock rate of two hundred megahertz under commercial operating conditions. The circuit has been designed to minimize the effects of clock skew which come about as a result of the use of external gated clocks. This has been accomplished by the inclusion of a clock enable circuit, as shown in Figures 2 and 3, inside the flip-flop where the skew can be controlled by the cell designer.

Claims: A clocked, D-type, CMOS flip-flop circuit comprising a first input terminal (201) adapted to receive a binary input signal and a second input terminal (203) adapted to receive the complement of said binary input signal; a Q output terminal (205) adapted to provide a binary output signal and a Q/ output terminal (207) adapted to provide the complement of said binary output signal; a first data path adapted to provide the state of the binary input signal received at said first input terminal (201) to said Q output terminal (205); a second data path adapted to provide the state of the complemented binary input signal received at said second input terminal (203) to said Q/ output terminal (207) and having a master section (210) and a slave section (220); said master section (210) being responsive to a clock signal to provide binary output signals to said slave section (220) when said clock signal has a first binary state and to store the states of said last-recited binary output signals when said clock signal has a second binary state; and said slave section (220) being responsive to said clock signal to provide binary output signals to said Q and Q/ output terminals (205, 207) when said clock signal has said second binary state and to store the states of said last-recited binary output signals when said clock signal has said first binary state, characterised in that said master section (210) includes first (212), second (214), third (216) and fourth (218) tristate inverters; said first tristate inverter (212) being connected to receive said binary input signal; said second tristate inverter (214) being connected to receive said second binary input signal; said third tristate inverter (216) having its input connected to the output of said second tristate inverter (214) and its output connected to the output of said first tristate inverter (212), the combined outputs of said first and third tristate inverters (212, 216) forming one output of said master section (210); and said fourth tristate inverter (218) having its input connected to the output of said first tristate inverter (212) and its output connected to the output of said second tristate inverter (214), the combined outputs of said second and fourth tristate inverters (214, 218) forming a second output of said master section (210); a slave section including fifth (222), sixth (224), seventh (226) and eighth (228) tristate inverters; said fifth tristate inverter (222) being connected to receive the combined output of said first and third tristate inverters (212, 216) and having its output connected to said Q output terminal (205); said sixth tristate inverter (224) being connected to receive the combined output of said second and fourth tristate inverter (214, 218) and having its output connected to said Q/ output terminal (207); said seventh tristate inverter (226) having its input connected to the output of said sixth tristate inverter (224) and its output connected to said Q output terminal (205); and said eighth tristate inverter (228) having its input connected to the output of said fifth tristate inverter (222) and its output connected to said Q/ output terminal (207); said first (212), second (214), seventh (226) and eighth (228) tristate inverters being responsive to said clock signal to generate output when said clock signal has said first binary state; and said third (216), fourth (218), fifth (222) and sixth (224) tristate inverters being responsive to said clock signal to generate output when said clock signal has said second binary state. A CMOS flip-flop circuit according to Claim 1, characterised in that said flip-flop circuit includes a clock enabling circuit including first means (235, 237) responsive to an enable signal (ENBL) for passing said clock signal when said enable signal (ENBL) has a first binary state and blocking transmission of said clock signal when said enable signal (ENBL) has a second binary state; and second means (239, 241, 243) for generating the complement of the output of said first means. A CMOS flip-flop circuit according to Claim 2, characterised in that said first means includes a first NAND gate (235) adapted to receive said clock signal and said enable signal (ENBL), and a first inverter (237) adapted to receive the output of said first NAND gate (235); and said second means includes a second NAND gate (239) adapted to receive said clock signal and said enable signal (ENBL), a second inverter (241) adapted to receive the output of said second NAND gate (239), and a third inverter (243) adapted to receive the output of said second inverter (241). A CMOS flip-flop circuit according to Claim 1, 2 or 3, characterised in that said third and eighth tristate inverters are replaced by respective first and second clocked NAND gates (316, 328) adapted to receive a common reset signal for said flip-flop circuit (200).

Inventors: CRAFTS HAROLD S, WALDRON ROBERT D, CRAFTS, HAROLD S., WALDRON, ROBERT D.
Applicants: AT & T GLOBAL INF SOLUTION, HYUNDAI ELECTRONICS AMERICA, SYMBIOS LOGIC INC, AT&T GLOBAL INFORMATION SOLUTIONS INTERNATIONAL INC.
Application year: 1991
Main classification: H03K3
IPC codes: H03K3