This application is based on and claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2023-0110794, filed on Aug. 23, 2023, and Korean Patent Application No. 10-2023-0185067, filed on Dec. 18, 2023, in the Korean Intellectual Property Office, the disclosures of which are incorporated by reference herein in their entireties.
The inventive concept relates to a flip-flop, and more particularly, to a toggle flip-flop and a counter including the same.
Integrated circuits that process digital signals may include circuits such as flip-flops and latches. Flip-flops and latches have two stable states that can store state information. Flip-flops may latch an input based on a clock signal and output a latched input. Flip-flops may include transistors and have various structures according to their applications. Integrated circuits manufactured by semiconductor processes may include a plurality of flip-flops. The performance and physical areas of flip-flops may impact the performance and size of the integrated circuits.
The inventive concept provides a toggle flip-flop having high reliability and a reduced area, and a counter including the same.
According to an aspect of the inventive concept, there is provided a flip-flop configured to generate an output toggling according to an input clock. The flip-flop includes an inverter configured to generate the output by inverting a first data signal, a first circuit configured to generate a second data signal based on the input clock and a latch signal, a second circuit configured to generate the latch signal based on the input clock and the second data signal, and a third circuit configured to generate the first data signal using the input clock, the second data signal, and the latch signal, wherein the third circuit is further configured to pull down the first data signal, independently of the second data signal, using the input clock and the latch signal.
According to another aspect of the inventive concept, there is provided a flip-flop configured to generate an output toggling according to an input clock. The flip-flop includes an inverter configured to generate the output by inverting a first data signal, a first circuit configured to generate a second data signal based on the input clock and a latch signal, a second circuit configured to generate the latch signal based on the input clock and the second data signal, and a third circuit configured to generate the first data signal based on the input clock, the second data signal, and the latch signal, wherein the third circuit includes a first n-channel field effect transistor (NFET) and a second NFET connected between a first output node, at which the first data signal is generated, and a first power node, to which a negative supply voltage applied, the first NFET and the second NFET respectively receiving the input clock and the latch signal.
According to a further aspect of the inventive concept, there is provided a method of generating an output toggling according to an input clock. The method includes generating the output by inverting a first data signal, generating a second data signal by inverting the first data signal when the input clock is logic low and by inverting a latch signal when the input clock is logic high, generating the latch signal as logic high when the input clock is logic low and generating the latch signal by inverting the second data signal when the input clock is logic high, and holding the first data signal when the input clock is logic low and generating the first data signal by inverting the latch signal when the input clock is logic high.
Embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals may be used for the same components in the drawings, and redundant descriptions thereof may be omitted.
The disclosure allows for various changes and numerous embodiments, specific embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit embodiments to particular modes of practice, and it is to be appreciated that all changes, equivalents, and substitutes that do not depart from the spirit and technical scope of the inventive concept are encompassed by the disclosure. In the disclosure, certain detailed descriptions may be omitted when they serve to obscure the essence of the inventive concept.
As shown in
As shown in
The flip-flops 12 may receive the local clock LC from the local clock generator 11 and may generate the output Q. The counter 10 may include the flip-flops 12 that respectively generate bits in the output Q. The number of flip-flops 12 may correspond to the number of bits in the output Q. As described with reference to
An IC may include a plurality of counters. Each of the counters may include a plurality of flip-flops 12. For example, each of the counters may output Q having a number of bits equal to the number of flip-flops 12 in the counter. As described herein with reference to the accompanying drawings, each of the flip-flops 12 may have a structure as a toggle flip-flop and include a reduced number of transistors. Accordingly, the IC may have a reduced area or high integration. Each of the flip-flops 12 may also have high reliability, and accordingly, the performance and operational reliability of the IC may be increased.
Referring to
Four flip-flops 12 may respectively receive four bits LC[3:0] (the first bit LC[0], the second bit LC[1], the third bit LC[2], and the fourth bit LC[3]) of the local clock LC and respectively generate four bits Q[3:0] (the first bit Q[0], the second bit Q[1], the third bit Q[2], and a fourth bit Q[3]) of the output Q. For example, a first flip-flop may receive the first bit LC[0] of the local clock LC and generate the first bit Q[0] of the output Q, which transits at a rising edge of the first bit LC[0] of the local clock LC. A second flip-flop may receive the second bit LC[1] of the local clock LC and generate the second bit Q[1] of the output Q, which transits at a rising edge of the second bit LC[1] of the local clock LC. A third flip-flop may receive the third bit LC[2] of the local clock LC and generate the third bit Q[2] of the output Q, which transits at a rising edge of the third bit LC[2] of the local clock LC. A fourth flip-flop may receive the fourth bit LC[3] of the local clock LC and generate the fourth bit Q[3] of the output Q, which transits at a rising edge of the third bit LC[3] of the local clock LC. Examples of toggle flip-flops, such as the flip-flops 12, which generate outputs toggling at a rising edge of a clock input, are described herein with reference to the accompanying drawings.
An input clock CK may be provided to the first circuit 31, the second circuit 32, and the third circuit 33. The first circuit 31 may receive the input clock CK, a first data signal QN, and a latch signal LAT. The first circuit 31 may generate a second data signal DN. The first data signal QN may be generated by the third circuit 33, which is described herein, and may correspond to an inverted signal of the output Q. The first circuit 31 may generate the second data signal DN. The first circuit 31 may generate the second data signal DN based on the input clock CK and the first data signal QN. The second data signal DN and the first data signal QN may be offset complementary signals as described herein. As described herein with reference to
The second circuit 32 may receive the input clock CK and the second data signal DN, and may generate the latch signal LAT. The latch signal LAT may be provided to the first circuit 31 and the third circuit 33. As described herein with reference to the accompanying drawings, the latch signal LAT may control a transistor included in a path (e.g., a current path) that pulls down the second data signal DN in the first circuit 31. The latch signal LAT may control a transistor that pulls up the first data signal QN in the third circuit 33 or may control a transistor included in a path (e.g., a current path) that pulls down the first data signal QN in the third circuit 33. An example of the second circuit 32 is described with reference to
The third circuit 33 may receive the input clock CK, the second data signal DN, the latch signal LAT, and the output Q. The third circuit 33 may generate the first data signal QN. The first data signal QN may correspond to an inverted signal of the output Q. As shown in
The inverter INV may receive the first data signal QN and may generate the output Q by inverting the first data signal QN. In some embodiments, the inverter INV may include a p-channel field effect transistor (p-channel FET or PFET) and an n-channel field effect transistor (n-channel FET or NFET), which may be connected in series to each other between a first power node to which the positive supply voltage VDD may be applied and a second power node to which the negative supply voltage VSS may be applied.
The first transistor M11 and the second transistor M12 may be connected in series to each other between a first power node, to which the positive supply voltage VDD is applied, and an output node N40, at which the second data signal DN is generated, and may respectively receive the input clock CK and the first data signal QN. In some embodiments, the first transistor M11 and the second transistor M12 may be connected in series to each other in an order different than that shown in
The fourth transistor M14 and the fifth transistor M15 may be connected in series to each other between the output node N40 and a second power node, to which the negative supply voltage VSS is applied, and may respectively receive the first data signal QN and the latch signal LAT. In some embodiments, the fourth transistor M14 and the fifth transistor M15 may be connected in series to each other in an order different than that shown in
Referring to
The first transistor M21 and the second transistor M22 may be connected in parallel between a first power node, to which the positive supply voltage VDD is applied, and an output node N50, at which the latch signal LAT is generated, and may respectively receive the second data signal DN and the input clock CK.
The third transistor M23 and the fourth transistor M24 may be connected in series to each other between the output node N50 and a second power node, to which the negative supply voltage VSS is applied, and may respectively receive the second data signal DN and the input clock CK. In some embodiments, the third transistor M23 and the fourth transistor M24 may be connected in series to each other in an order different than that shown in
Referring to
The first transistor M31 may be connected between a first power node, to which the positive supply voltage VDD is applied, and a first node N61, at which the first data signal QN is generated, and may receive the latch signal LAT. The second transistor M32 and the third transistor M33 may be connected in series to each other between the first power node, to which the positive supply voltage VDD is applied, and the first node N61 and may respectively receive the input clock CK and the second data signal DN. In some embodiments, the second transistor M32 and the third transistor M33 may be connected in series to each other in an order different than that shown in
The fourth transistor M34 and the fifth transistor M35 may be connected in parallel between the first node N61 and a second node N62 and may respectively receive the input clock CK and the output Q. The sixth transistor M36 may be connected between the second node N62 and a second power node, to which the negative supply voltage VSS is applied. The sixth transistor M36 may receive the latch signal LAT. In some embodiments, the sixth transistor M36 of the third circuit 60 may be shared with the first circuit 31 in
Referring to
The pull-down path (or discharge path) of the first node N61 may include the fourth transistor M34 and the sixth transistor M36, which respectively receive the input clock CK and the latch signal LAT. Accordingly, the first node N61 may be pulled down (or discharged) according to the input clock CK and the latch signal LAT, independently of the second data signal DN, and the first data signal QN may transit to 0. For example, the first data signal QN may be complementary to the second data signal DN and offset by a time (e.g., a clock cycle) relative to the second data signal DN. For example, the first data signal QN may be pulled down in advance of a transit of the second data signal DN to 1. For example, the first data signal QN and the second data signal DN may be offset complementary signals. As a result, the latency of a flip-flop may decrease and the speed and reliability of the flip-flop may increase.
Referring to
The inverter INV may include a first transistor M41 corresponding to a PFET and a second transistor M42 corresponding to an NFET. The first transistor M41 and the second transistor M42 may be connected in series to each other between a first power node, to which the positive supply voltage VDD is applied, and a second power node, to which the negative supply voltage VSS is applied. The first transistor M41 and the second transistor M42 may each receive the first data signal QN. The output Q may be generated from a node, which is connected to the first transistor M41 and the second transistor M42.
In some embodiments, the first transistor M11 and the second transistor M12 of the first circuit 71, and the node at which the second data signal DN is generated may be disposed in a configuration different than that shown in
Referring to
At the time t01, a rising edge of the input clock CK may occur. The latch signal LAT may transit to 0 due to the third transistor M23 and the fourth transistor M24 of the second circuit 72, which respectively receive the second data signal DN and the input clock CK. The first data signal QN may transit to 1 due to the first transistor M31 of the third circuit 73, which receives the latch signal LAT. The output Q may transit to 0 due to the inverter INV receiving the first data signal QN having been transited to 1. The second data signal DN may be held at 1 by the third transistor M13 of the first circuit 71, which receives the latch signal LAT.
At a time t02, a falling edge of the input clock CK may occur. The latch signal LAT may transit to 1 due to the second transistor M22 of the second circuit 72, which receives the input clock CK. The second data signal DN may transit to 0 due to the fourth transistor M14 and the fifth transistor M15 of the first circuit 71, which respectively receive the first data signal QN and the latch signal LAT. The first data signal QN may be held at 1 by the second transistor M32 and the third transistor M33 of the third circuit 73, which respectively receive the input clock CK and the second data signal DN.
At a time t03, a rising edge of the input clock CK may occur. The first data signal QN may transit to 0 due to the fourth transistor M34 and the sixth transistor M36 of the third circuit 73, which respectively receive the input clock CK and the latch signal LAT. The output Q may transit to 1 due to the inverter INV receiving the first data signal QN pulled down to 0. The second data signal DN may be held at 0 by the sixth transistor M16 and the seventh transistor M17 of the first circuit 71, which respectively receive the latch signal LAT and the input clock CK. The latch signal LAT may be held at 1 by the first transistor M21 of the second circuit 72, which receives the second data signal DN.
At a time t04, a falling edge of the input clock CK may occur. The latch signal LAT may be held at 1 by the second transistor M22 of the second circuit 72, which receives the input clock CK. The second data signal DN may transit to 1 due to the first transistor M11 and the second transistor M12 of the first circuit 71, which respectively receive the input clock CK and the first data signal QN. The first data signal QN may be held at 0 by the fifth transistor M35 and the sixth transistor M36 of the third circuit 73, which respectively receive the output Q and the latch signal LAT.
At a time t05, a rising edge of the input clock CK may occur. The latch signal LAT may transit to 0 due to the third transistor M23 and the fourth transistor M24 of the second circuit 72, which respectively receive the second data signal DN and the input clock CK. The first data signal QN may transit to 1 due to the first transistor M31 of the third circuit 73, which receives the latch signal LAT. The output Q may transit to 0 due to the inverter INV receiving the first data signal QN having been transited to 1. The second data signal DN may be held at 1 by the third transistor M13 of the first circuit 71, which receives the latch signal LAT.
At a time t06, a falling edge of the input clock CK may occur. The latch signal LAT may transit to 1 due to the second transistor M22 of the second circuit 72, which receives the input clock CK. The second data signal DN may transit to 0 due to the fourth transistor M14 and the fifth transistor M15 of the first circuit 71, which respectively receive the first data signal QN and the latch signal LAT. The first data signal QN may be held at 1 by the second transistor M32 and the third transistor M33 of the third circuit 73, which respectively receive the input clock CK and the second data signal DN.
At a time t07, a rising edge of the input clock CK may occur. The first data signal QN may transit to 0 due to the fourth transistor M34 and the sixth transistor M36 of the third circuit 73, which respectively receive the input clock CK and the latch signal LAT. The output Q may transit to 1 due to the inverter INV receiving the first data signal QN pulled down to 0. The second data signal DN may be held at 0 by the sixth transistor M16 and the seventh transistor M17 of the first circuit 71, which respectively receive the latch signal LAT and the input clock CK. The latch signal LAT may be held at 1 by the first transistor M21 of the second circuit 72, which receives the second data signal DN.
At a time t08, a falling edge of the input clock CK may occur. The latch signal LAT may be held at 1 by the second transistor M22 of the second circuit 72, which receives the input clock CK. The second data signal DN may transit to 1 due to the first transistor M11 and the second transistor M12 of the first circuit 71, which respectively receive the input clock CK and the first data signal QN. The first data signal QN may be held at 0 by the fifth transistor M35 and the sixth transistor M36 of the third circuit 73, which respectively receive the output Q and the latch signal LAT.
At a time t09, a rising edge of the input clock CK may occur. The latch signal LAT may transit to 0 due to the third transistor M23 and the fourth transistor M24 of the second circuit 72, which respectively receive the second data signal DN and the input clock CK. The first data signal QN may transit to 1 due to the first transistor M31 of the third circuit 73, which receives the latch signal LAT. The output Q may transit to 0 due to the inverter INV receiving the first data signal QN having been transited to 1. The second data signal DN may be held at 1 by the third transistor M13 of the first circuit 71, which receives the latch signal LAT.
Referring to
In some embodiments, the first circuit 71 and the second circuit 72 may share at least one transistor. For example, the fourth transistor M24 receiving the input clock CK may be shared by the first circuit 71 and the second circuit 72. As shown in
In some embodiment, the first circuit 71 and the third circuit 73 may share at least one transistor. For example, the first transistor M11 receiving the input clock CK may be shared by the first circuit 71 and the third circuit 73. As shown in
In some embodiment, the fifth transistor M15 receiving the latch signal LAT may be shared by the first circuit 71 and the third circuit 73. As shown in
Referring to
The latch signal LAT may be generated in operation S20. For example, the second circuit 32 may generate the latch signal LAT based on the input clock CK and the second data signal DN. When the input clock CK is 0, the second circuit 32 may generate the latch signal LAT that is 1. When the input clock CK is 1, the second circuit 32 may generate the latch signal LAT by inverting the second data signal DN. In some embodiments, as described herein with reference to
The first data signal QN may be generated in operation S30. For example, the third circuit 33 may generate the first data signal QN based on the input clock CK, the second data signal DN, the latch signal LAT, and the output Q. When the input clock CK is 0, the third circuit 33 may hold the first data signal QN. When the input clock CK is 1, the third circuit 33 may generate the first data signal QN by inverting the latch signal LAT. As described herein with reference to
In some embodiments, when the input clock CK and the latch signal LAT are 1, operation S30 may include pulling down a node that generates the first data signal QN. For example, as described herein with reference to
The output Q may be generated in operation S40. For example, the inverter INV may generate the output Q by inverting the first data signal QN generated in operation S30. As described herein with reference to
A cell library (or a standard cell library) D12 may include information about standard cells, e.g., information about functions, characteristics, layouts, or the like of standard cells. In some embodiments, a flip-flop, such as a toggle flip-flop described herein with reference to the accompanying drawings, may be included in the IC as a standard cell. For example, the cell library D12 may include information about cells corresponding to the flip-flop described with reference to the accompanying drawings. A counter including flip-flops described herein with reference to the accompanying drawings may be included in the IC as a standard cell. For example, the cell library D12 may include information about a counter corresponding to the flip-flops described herein with reference to the accompanying drawings. Accordingly, the IC may have increased performance and reliability and may have a reduced area or high integration.
Design rules D14 may include specifications for the layout of an IC. For example, the design rules D14 may include specifications for the spacing between patterns in a layer, a width (e.g., minimum width) of a pattern, a routing direction of a wiring layer, and the like. In some embodiments, the design rules D14 may define a spacing (e.g., minimum spacing) in a track of a wiring layer.
Logic synthesis, by which netlist data D13 may be generated from RTL data D11, may be performed in operation S51. For example, a semiconductor design tool (e.g., a logic synthesis tool) may perform logic synthesis on the RTL data D11, which may be written in hardware description language (HDL) like very high speed IC (VHSIC) HDL (VHDL) and Verilog, with reference to the cell library D12, and generate the netlist data D13. The netlist data D13 may correspond to the input of placement and routing, which is described herein.
Standard cells may be placed in operation S52. For example, a semiconductor design tool (e.g., a P&R tool) may place standard cells, which may be used in the netlist data D13, with reference to the cell library D12. In some embodiments, a semiconductor design tool may place standard cells in rows extending parallel with each other, and the standard cells may be provided with power from a power rail, which may extend along the boundary between the rows.
The pins of the standard cells may be routed in operation S53. For example, a semiconductor design tool may generate interconnections that electrically connect the output pins and input pins of placed standard cells and may generate layout data D15 that defines the placed standard cells and the interconnections. An interconnection may include a via of a via layer and/or patterns of wiring layers. In some embodiments, wiring layers may include a front side wiring layer disposed above a gate electrode and a backside wiring layer disposed below the gate electrode. For example, the layout data D15 may have a format like GDSII and may include geometrical information of cells and interconnections. A semiconductor design tool may refer to the design rules D14 using in routing the pins of cells. The layout data D15 may correspond to the output of placement and routing. Operation S53 may be solely, or operations S52 and S53 may be collectively referred to as a method of designing an IC.
A mask may be fabricated in operation S54. For example, optical proximity correction (OPC) for correcting distortion, such as refraction, caused by the characteristics of light in photolithography may be performed on the layout data D15. Patterns on a mask may be defined to form patterns arranged in a plurality of layers, based on data that has undergone OPC, and at least one mask (or photomask) for forming patterns of each layer may be fabricated. In some embodiments, the layout of an IC may be modified in operation S54. Any modification of an IC in operation S54 may be a post processing operation for improving the structure of the IC. The post processing operation may be referred to as design polishing.
An IC may be manufactured in operation S55. For example, an IC may be manufactured by patterning a plurality of layers by using at least one mask, which may be fabricated in operation S54. For example, front-end-of-line (FEOL) may include one or more of planarizing and cleaning a wafer, forming a trench, forming a well, forming a gate electrode, or forming a source and a drain. Individual devices, e.g., transistors, capacitors, resistors, etc., may be formed in a substrate via the FEOL. Back-end-of-line (BEOL) may include one or more of silicidation of a gate and source and drain regions, adding a dielectric, planarization, forming a hole, adding a metal layer, forming a via, or forming a passivation layer. The individual devices, e.g., transistors, capacitors, resistors, etc., may be interconnected with each other via the BEOL. In some embodiments, middle-of-line (MOL) may be performed between FEOL and BEOL such that contacts may be formed on individual devices. Thereafter, the IC may be packaged in a semiconductor package and used as a component of various applications.
The elements of the SoC 120 may include flip-flops described herein with reference to the accompanying drawings and/or a counter including the flip-flops. Accordingly, the elements of the SoC 120 may have increased performance and reliability, and may occupy reduced areas. As a result, the efficiency and performance of the SoC 120 may increase.
The core 121 may process instructions and control the operations of the elements of the SoC 120. For example, the core 121 may drive an operating system (OS) by processing a series of instructions and execute applications on the OS. The DSP 122 may generate useful data by processing a digital signal, for example, provided from the communication interface 125. The GPU 123 may generate data, which corresponds to an image output through a display device, from image data provided from the embedded memory 124 or the memory interface 126 or may encode the image data. The embedded memory 124 may store data necessary for the operations of the core 121, the DSP 122, and the GPU 123. The communication interface 125 may provide a communication network or an interface for one-to-one communication. The memory interface 126 may provide an interface for an external memory of the SoC 120, e.g., dynamic random access memory (DRAM) or flash memory.
While the inventive concept has been particularly shown and described with reference to embodiments thereof, it will be understood that various changes in form and details may be made therein without departing from the spirit and scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2023-0110794 | Aug 2023 | KR | national |
10-2023-0185067 | Dec 2023 | KR | national |